diff --git a/assets/Scene/GameScene.fire b/assets/Scene/GameScene.fire index 203369a..b6f2545 100644 --- a/assets/Scene/GameScene.fire +++ b/assets/Scene/GameScene.fire @@ -78,10 +78,10 @@ "_active": true, "_components": [ { - "__id__": 90 + "__id__": 107 }, { - "__id__": 91 + "__id__": 108 } ], "_prefab": null, @@ -242,37 +242,31 @@ "__id__": 6 }, { - "__id__": 9 + "__id__": 8 }, { - "__id__": 11 + "__id__": 10 }, { - "__id__": 13 + "__id__": 72 }, { - "__id__": 68 + "__id__": 92 }, { - "__id__": 69 + "__id__": 93 }, { - "__id__": 73 - }, - { - "__id__": 78 - }, - { - "__id__": 83 + "__id__": 101 } ], "_active": true, "_components": [ { - "__id__": 88 + "__id__": 105 }, { - "__id__": 89 + "__id__": 106 } ], "_prefab": null, @@ -335,9 +329,6 @@ "_components": [ { "__id__": 7 - }, - { - "__id__": 8 } ], "_prefab": null, @@ -364,7 +355,7 @@ "ctor": "Float64Array", "array": [ 0, - -163, + 0, 0, 0, 0, @@ -404,7 +395,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "57395957-a96b-4a27-8e2a-696e24d876a2" + "__uuid__": "75ac69d4-fee8-4af1-b32c-4c8fab0b6f7b" }, "_type": 0, "_sizeMode": 1, @@ -420,122 +411,6 @@ "_atlas": null, "_id": "a7G3fclnNGYZw1JYGBEqqT" }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 6 - }, - "_enabled": true, - "alignMode": 1, - "_target": null, - "_alignFlags": 1, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_verticalCenter": 0, - "_horizontalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 0, - "_originalHeight": 0, - "_id": "09dO2/INxCTpBHqQOmB0wt" - }, - { - "__type__": "cc.Node", - "_name": "Top", - "_objFlags": 0, - "_parent": { - "__id__": 5 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 10 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 0, - "height": 0 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 667, - 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": "cfD+6eekJE44Ilk2xG5ORu" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 9 - }, - "_enabled": true, - "alignMode": 1, - "_target": null, - "_alignFlags": 1, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_verticalCenter": 0, - "_horizontalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 0, - "_originalHeight": 0, - "_id": "5cAl+uVM5GTKUsLlsyFnpY" - }, { "__type__": "cc.Node", "_name": "Map", @@ -547,7 +422,7 @@ "_active": true, "_components": [ { - "__id__": 12 + "__id__": 9 } ], "_prefab": null, @@ -574,14 +449,14 @@ "ctor": "Float64Array", "array": [ 0, - 195.736, + 128, 0, 0, 0, 0, 1, - 1, - 1, + 1.2, + 1.2, 1 ] }, @@ -603,7 +478,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 11 + "__id__": 8 }, "_enabled": true, "_id": "50KCMOG4tFJYPBI6jue4rZ" @@ -617,43 +492,67 @@ }, "_children": [ { - "__id__": 14 + "__id__": 11 }, { - "__id__": 16 + "__id__": 13 }, { - "__id__": 20 + "__id__": 15 }, { - "__id__": 24 + "__id__": 19 }, { - "__id__": 28 + "__id__": 23 }, { - "__id__": 32 + "__id__": 27 }, { - "__id__": 34 + "__id__": 31 }, { - "__id__": 42 + "__id__": 33 + }, + { + "__id__": 35 + }, + { + "__id__": 40 + }, + { + "__id__": 45 }, { "__id__": 50 }, { - "__id__": 58 + "__id__": 55 + }, + { + "__id__": 60 + }, + { + "__id__": 62 + }, + { + "__id__": 64 + }, + { + "__id__": 66 + }, + { + "__id__": 68 } ], "_active": true, "_components": [ { - "__id__": 66 + "__id__": 70 }, { - "__id__": 67 + "__id__": 71 } ], "_prefab": null, @@ -680,7 +579,7 @@ "ctor": "Float64Array", "array": [ 0, - -448.797, + -492, 0, 0, 0, @@ -709,22 +608,22 @@ "_name": "bg", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [], "_active": true, "_components": [ { - "__id__": 15 + "__id__": 12 } ], "_prefab": null, "_opacity": 255, "_color": { "__type__": "cc.Color", - "r": 104, - "g": 100, - "b": 100, + "r": 255, + "g": 255, + "b": 255, "a": 255 }, "_contentSize": { @@ -771,7 +670,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 14 + "__id__": 11 }, "_enabled": true, "_materials": [ @@ -782,7 +681,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "a23235d1-15db-4b95-8439-a2e005bfff91" + "__uuid__": "bc10af6c-0a42-48e2-9e8a-95188e5eea79" }, "_type": 0, "_sizeMode": 0, @@ -795,24 +694,23 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "9fTltB0hVA9YZf97WA7rLt" }, { "__type__": "cc.Node", - "_name": "btn_Down", + "_name": "New Sprite", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [], "_active": true, "_components": [ { - "__id__": 17 - }, - { - "__id__": 18 + "__id__": 14 } ], "_prefab": null, @@ -826,8 +724,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 106, - "height": 98 + "width": 258, + "height": 258 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -838,8 +736,107 @@ "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - -198.914, - -118.68, + -216.426, + 75.521, + 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": "5agJBLqERGUIaYF4f7kXHR" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 13 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "72c340fd-ebeb-42ce-a81c-c493482efe7b" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "50HcqT4IJD8oiQr1ptibKm" + }, + { + "__type__": "cc.Node", + "_name": "btn_Down", + "_objFlags": 0, + "_parent": { + "__id__": 10 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 16 + }, + { + "__id__": 17 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 84, + "height": 84 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -217.617, + -4.266, 0, 0, 0, @@ -868,7 +865,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 16 + "__id__": 15 }, "_enabled": true, "_materials": [ @@ -879,7 +876,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "6b009d51-7e95-45c5-b483-f2948213f8b6" + "__uuid__": "fc9f379e-ab15-4792-adce-65600c4793c7" }, "_type": 0, "_sizeMode": 1, @@ -892,7 +889,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "71enP3yzVA5pKa6T8QBaK5" }, { @@ -900,7 +899,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 16 + "__id__": 15 }, "_enabled": true, "_normalMaterial": null, @@ -909,7 +908,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 19 + "__id__": 18 } ], "_N$interactable": true, @@ -965,14 +964,14 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 16 + "__id__": 15 }, "_id": "0491WV+UFBZrjsP6WrhGAi" }, { "__type__": "cc.ClickEvent", "target": { - "__id__": 13 + "__id__": 10 }, "component": "", "_componentId": "e35abcX5VRAoItO6mgFcYyX", @@ -984,16 +983,16 @@ "_name": "btn_Up", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [], "_active": true, "_components": [ { - "__id__": 21 + "__id__": 20 }, { - "__id__": 22 + "__id__": 21 } ], "_prefab": null, @@ -1007,8 +1006,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 106, - "height": 98 + "width": 84, + "height": 84 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1019,13 +1018,13 @@ "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - -200.586, - 115.337, + -219.289, + 155.813, + 0, 0, 0, 0, 1, - 6.123233995736766e-17, 1, 1, 0 @@ -1035,7 +1034,7 @@ "__type__": "cc.Vec3", "x": 0, "y": 0, - "z": 180 + "z": 0 }, "_skewX": 0, "_skewY": 0, @@ -1049,7 +1048,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 20 + "__id__": 19 }, "_enabled": true, "_materials": [ @@ -1060,7 +1059,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "6b009d51-7e95-45c5-b483-f2948213f8b6" + "__uuid__": "1337f623-c519-41bc-9b89-40e37366041f" }, "_type": 0, "_sizeMode": 1, @@ -1073,7 +1072,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "19nbeUc3lLyJ3PZmToqjqz" }, { @@ -1081,7 +1082,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 20 + "__id__": 19 }, "_enabled": true, "_normalMaterial": null, @@ -1090,7 +1091,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 23 + "__id__": 22 } ], "_N$interactable": true, @@ -1146,14 +1147,14 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 20 + "__id__": 19 }, "_id": "90O8q82QpGSI9IHuYe63gi" }, { "__type__": "cc.ClickEvent", "target": { - "__id__": 13 + "__id__": 10 }, "component": "", "_componentId": "e35abcX5VRAoItO6mgFcYyX", @@ -1165,16 +1166,16 @@ "_name": "btn_Left", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [], "_active": true, "_components": [ { - "__id__": 25 + "__id__": 24 }, { - "__id__": 26 + "__id__": 25 } ], "_prefab": null, @@ -1188,8 +1189,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 106, - "height": 98 + "width": 84, + "height": 84 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1200,13 +1201,13 @@ "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - -319.266, - 3.344, + -297.337, + 77.284, 0, 0, 0, - -0.7071067811865475, - 0.7071067811865476, + 0, + 1, 1, 1, 0 @@ -1216,7 +1217,7 @@ "__type__": "cc.Vec3", "x": 0, "y": 0, - "z": -90 + "z": 0 }, "_skewX": 0, "_skewY": 0, @@ -1230,7 +1231,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 24 + "__id__": 23 }, "_enabled": true, "_materials": [ @@ -1241,7 +1242,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "6b009d51-7e95-45c5-b483-f2948213f8b6" + "__uuid__": "dda83961-0246-4b58-82f5-cbc6af047e6e" }, "_type": 0, "_sizeMode": 1, @@ -1254,7 +1255,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "5ahwm15lBGP7DzFpADhLcv" }, { @@ -1262,7 +1265,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 24 + "__id__": 23 }, "_enabled": true, "_normalMaterial": null, @@ -1271,7 +1274,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 27 + "__id__": 26 } ], "_N$interactable": true, @@ -1327,14 +1330,14 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 24 + "__id__": 23 }, "_id": "dba6g/8+ZAYY/HXsqaok88" }, { "__type__": "cc.ClickEvent", "target": { - "__id__": 13 + "__id__": 10 }, "component": "", "_componentId": "e35abcX5VRAoItO6mgFcYyX", @@ -1346,16 +1349,16 @@ "_name": "btn_Right", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [], "_active": true, "_components": [ { - "__id__": 29 + "__id__": 28 }, { - "__id__": 30 + "__id__": 29 } ], "_prefab": null, @@ -1369,8 +1372,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 106, - "height": 98 + "width": 84, + "height": 84 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1381,13 +1384,13 @@ "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - -81.906, - 6.686, + -136.072, + 80.626, 0, 0, 0, - 0.7071067811865475, - 0.7071067811865476, + 0, + 1, 1, 1, 0 @@ -1397,7 +1400,7 @@ "__type__": "cc.Vec3", "x": 0, "y": 0, - "z": 90 + "z": 0 }, "_skewX": 0, "_skewY": 0, @@ -1411,7 +1414,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 28 + "__id__": 27 }, "_enabled": true, "_materials": [ @@ -1422,7 +1425,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "6b009d51-7e95-45c5-b483-f2948213f8b6" + "__uuid__": "cfa9cb38-5f6a-444a-b048-f064baeef016" }, "_type": 0, "_sizeMode": 1, @@ -1435,7 +1438,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "55hwNIC0FAtoOM+xjlIJxi" }, { @@ -1443,7 +1448,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 28 + "__id__": 27 }, "_enabled": true, "_normalMaterial": null, @@ -1452,7 +1457,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 31 + "__id__": 30 } ], "_N$interactable": true, @@ -1508,14 +1513,14 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 28 + "__id__": 27 }, "_id": "77GSic1LJClYWlIjUI5gy3" }, { "__type__": "cc.ClickEvent", "target": { - "__id__": 13 + "__id__": 10 }, "component": "", "_componentId": "e35abcX5VRAoItO6mgFcYyX", @@ -1524,31 +1529,127 @@ }, { "__type__": "cc.Node", - "_name": "show_Map", + "_name": "Line", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [], "_active": true, "_components": [ { - "__id__": 33 + "__id__": 32 } ], "_prefab": null, "_opacity": 255, "_color": { "__type__": "cc.Color", - "r": 248, - "g": 167, - "b": 167, + "r": 255, + "g": 255, + "b": 255, "a": 255 }, "_contentSize": { "__type__": "cc.Size", - "width": 350, - "height": 250 + "width": 412, + "height": 6 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 150.379, + 70.591, + 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": "608VUuiOlIeLwg48xKTJiR" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 31 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "d53a3565-f833-4261-9076-d48232a513c5" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "d0S48nlopCa7BPxsIqvgT8" + }, + { + "__type__": "cc.Node", + "_name": "show_Map", + "_objFlags": 0, + "_parent": { + "__id__": 10 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 34 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 400, + "height": 230 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1559,8 +1660,8 @@ "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - -3.656, - 152.863, + -49.859, + 67.992, 0, 0, 0, @@ -1589,9 +1690,9 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 32 + "__id__": 33 }, - "_enabled": true, + "_enabled": false, "_materials": [ { "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" @@ -1621,17 +1722,17 @@ "_name": "xiRang", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [ { - "__id__": 35 + "__id__": 36 } ], "_active": true, "_components": [ { - "__id__": 40 + "__id__": 38 } ], "_prefab": null, @@ -1645,8 +1746,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 72, + "height": 72 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1657,8 +1758,8 @@ "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - 287.732, - -124.179, + -147.124, + -107.225, 0, 0, 0, @@ -1687,20 +1788,13 @@ "_name": "Background", "_objFlags": 512, "_parent": { - "__id__": 34 + "__id__": 35 }, - "_children": [ - { - "__id__": 36 - } - ], + "_children": [], "_active": true, "_components": [ { - "__id__": 38 - }, - { - "__id__": 39 + "__id__": 37 } ], "_prefab": null, @@ -1714,8 +1808,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 72, + "height": 72 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1735,7 +1829,7 @@ 1, 1, 1, - 1 + 0 ] }, "_eulerAngles": { @@ -1752,69 +1846,7 @@ "_id": "f11sGusTdAMZ+KmsuhE8S1" }, { - "__type__": "cc.Node", - "_name": "Label", - "_objFlags": 512, - "_parent": { - "__id__": 35 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 37 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 100, - "height": 40 - }, - "_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": "78iiF4BT5Oq5c9zolTkdTU" - }, - { - "__type__": "cc.Label", + "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { @@ -1828,44 +1860,11 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_string": "息壤", - "_N$string": "息壤", - "_fontSize": 20, - "_lineHeight": 40, - "_enableWrapText": false, - "_N$file": null, - "_isSystemFontUsed": true, - "_spacingX": 0, - "_batchAsBitmap": false, - "_styleFlags": 0, - "_underlineHeight": 0, - "_N$horizontalAlign": 1, - "_N$verticalAlign": 1, - "_N$fontFamily": "Arial", - "_N$overflow": 1, - "_N$cacheMode": 1, - "_id": "c888u3aVhE1YCTsdA75rmP" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 35 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" + "__uuid__": "7337c117-f67d-4c71-a6d2-a63c2c014165" }, "_type": 1, - "_sizeMode": 0, + "_sizeMode": 1, "_fillType": 0, "_fillCenter": { "__type__": "cc.Vec2", @@ -1875,42 +1874,17 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, - "_id": "68+YH0SDtDD6pQ+3FAsIN+" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 35 + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" }, - "_enabled": true, - "alignMode": 0, - "_target": null, - "_alignFlags": 45, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_verticalCenter": 0, - "_horizontalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 100, - "_originalHeight": 40, - "_id": "20Krt6CstOYoCOIvVfbK8e" + "_id": "68+YH0SDtDD6pQ+3FAsIN+" }, { "__type__": "cc.Button", "_name": "", "_objFlags": 0, "node": { - "__id__": 34 + "__id__": 35 }, "_enabled": true, "_normalMaterial": null, @@ -1919,13 +1893,13 @@ "zoomScale": 1.2, "clickEvents": [ { - "__id__": 41 + "__id__": 39 } ], "_N$interactable": true, "_N$enableAutoGrayEffect": false, - "_N$transition": 2, - "transition": 2, + "_N$transition": 3, + "transition": 3, "_N$normalColor": { "__type__": "cc.Color", "r": 230, @@ -1987,14 +1961,14 @@ "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e" }, "_N$target": { - "__id__": 35 + "__id__": 36 }, "_id": "49qtGADz9KWKL1Ob8ITwNL" }, { "__type__": "cc.ClickEvent", "target": { - "__id__": 13 + "__id__": 10 }, "component": "", "_componentId": "e35abcX5VRAoItO6mgFcYyX", @@ -2003,20 +1977,20 @@ }, { "__type__": "cc.Node", - "_name": "StartBtn", + "_name": "JiaGu", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [ { - "__id__": 43 + "__id__": 41 } ], "_active": true, "_components": [ { - "__id__": 48 + "__id__": 43 } ], "_prefab": null, @@ -2030,8 +2004,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 72, + "height": 72 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -2042,8 +2016,8 @@ "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - 47.45, - -124.179, + -270.035, + -107.225, 0, 0, 0, @@ -2072,20 +2046,13 @@ "_name": "Background", "_objFlags": 512, "_parent": { - "__id__": 42 + "__id__": 40 }, - "_children": [ - { - "__id__": 44 - } - ], + "_children": [], "_active": true, "_components": [ { - "__id__": 46 - }, - { - "__id__": 47 + "__id__": 42 } ], "_prefab": null, @@ -2099,8 +2066,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 72, + "height": 72 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -2120,7 +2087,7 @@ 1, 1, 1, - 1 + 0 ] }, "_eulerAngles": { @@ -2136,107 +2103,12 @@ "groupIndex": 0, "_id": "86Pr1WAT1KnoCQdY62VTqo" }, - { - "__type__": "cc.Node", - "_name": "Label", - "_objFlags": 512, - "_parent": { - "__id__": 43 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 45 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 100, - "height": 40 - }, - "_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": "9dETIL5Y9MGrNv1Nz24TtR" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 44 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_string": "加固", - "_N$string": "加固", - "_fontSize": 20, - "_lineHeight": 40, - "_enableWrapText": false, - "_N$file": null, - "_isSystemFontUsed": true, - "_spacingX": 0, - "_batchAsBitmap": false, - "_styleFlags": 0, - "_underlineHeight": 0, - "_N$horizontalAlign": 1, - "_N$verticalAlign": 1, - "_N$fontFamily": "Arial", - "_N$overflow": 1, - "_N$cacheMode": 1, - "_id": "faO/Urc1NGsZE3d442+UR3" - }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 43 + "__id__": 41 }, "_enabled": true, "_materials": [ @@ -2247,10 +2119,10 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" + "__uuid__": "c24c6cab-d079-4534-8f94-e441d509cf46" }, "_type": 1, - "_sizeMode": 0, + "_sizeMode": 1, "_fillType": 0, "_fillCenter": { "__type__": "cc.Vec2", @@ -2260,42 +2132,17 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, - "_id": "9eD5fEKDlD2oLj6drfWgGX" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 43 + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" }, - "_enabled": true, - "alignMode": 0, - "_target": null, - "_alignFlags": 45, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_verticalCenter": 0, - "_horizontalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 100, - "_originalHeight": 40, - "_id": "f46ineF9dDBpuMbCht9zD7" + "_id": "9eD5fEKDlD2oLj6drfWgGX" }, { "__type__": "cc.Button", "_name": "", "_objFlags": 0, "node": { - "__id__": 42 + "__id__": 40 }, "_enabled": true, "_normalMaterial": null, @@ -2304,13 +2151,13 @@ "zoomScale": 1.2, "clickEvents": [ { - "__id__": 49 + "__id__": 44 } ], "_N$interactable": true, "_N$enableAutoGrayEffect": false, - "_N$transition": 2, - "transition": 2, + "_N$transition": 3, + "transition": 3, "_N$normalColor": { "__type__": "cc.Color", "r": 230, @@ -2354,7 +2201,7 @@ "a": 200 }, "_N$normalSprite": { - "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" + "__uuid__": "c24c6cab-d079-4534-8f94-e441d509cf46" }, "_N$pressedSprite": { "__uuid__": "e9ec654c-97a2-4787-9325-e6a10375219a" @@ -2372,14 +2219,14 @@ "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e" }, "_N$target": { - "__id__": 43 + "__id__": 41 }, "_id": "2feh7EcxpHIp3ellIB1WkS" }, { "__type__": "cc.ClickEvent", "target": { - "__id__": 13 + "__id__": 10 }, "component": "", "_componentId": "e35abcX5VRAoItO6mgFcYyX", @@ -2388,20 +2235,20 @@ }, { "__type__": "cc.Node", - "_name": "jiaGu", + "_name": "StartBtn", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [ { - "__id__": 51 + "__id__": 46 } ], "_active": true, "_components": [ { - "__id__": 56 + "__id__": 48 } ], "_prefab": null, @@ -2415,8 +2262,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 218, + "height": 60 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -2427,8 +2274,8 @@ "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - 168.601, - -124.179, + 242.147, + -123.76, 0, 0, 0, @@ -2457,20 +2304,13 @@ "_name": "Background", "_objFlags": 512, "_parent": { - "__id__": 50 + "__id__": 45 }, - "_children": [ - { - "__id__": 52 - } - ], + "_children": [], "_active": true, "_components": [ { - "__id__": 54 - }, - { - "__id__": 55 + "__id__": 47 } ], "_prefab": null, @@ -2484,8 +2324,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 218, + "height": 60 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -2505,7 +2345,7 @@ 1, 1, 1, - 1 + 0 ] }, "_eulerAngles": { @@ -2521,107 +2361,12 @@ "groupIndex": 0, "_id": "379F8n2QtOq7jn4i8kpcqk" }, - { - "__type__": "cc.Node", - "_name": "Label", - "_objFlags": 512, - "_parent": { - "__id__": 51 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 53 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 100, - "height": 40 - }, - "_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": "c50XWeES9PyrxoBHV0HyuR" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 52 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_string": "开始修建", - "_N$string": "开始修建", - "_fontSize": 20, - "_lineHeight": 40, - "_enableWrapText": false, - "_N$file": null, - "_isSystemFontUsed": true, - "_spacingX": 0, - "_batchAsBitmap": false, - "_styleFlags": 0, - "_underlineHeight": 0, - "_N$horizontalAlign": 1, - "_N$verticalAlign": 1, - "_N$fontFamily": "Arial", - "_N$overflow": 1, - "_N$cacheMode": 1, - "_id": "b3HKpno01LrqpRVu7bqx6B" - }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 51 + "__id__": 46 }, "_enabled": true, "_materials": [ @@ -2632,10 +2377,10 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" + "__uuid__": "3dd7e558-3aa4-4532-bbba-dab95a545c39" }, "_type": 1, - "_sizeMode": 0, + "_sizeMode": 1, "_fillType": 0, "_fillCenter": { "__type__": "cc.Vec2", @@ -2645,42 +2390,17 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, - "_id": "238Ff58HFEcaB7AkQTBRqM" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 51 + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" }, - "_enabled": true, - "alignMode": 0, - "_target": null, - "_alignFlags": 45, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_verticalCenter": 0, - "_horizontalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 100, - "_originalHeight": 40, - "_id": "41qbhCu7FOSJxWOltFRloZ" + "_id": "238Ff58HFEcaB7AkQTBRqM" }, { "__type__": "cc.Button", "_name": "", "_objFlags": 0, "node": { - "__id__": 50 + "__id__": 45 }, "_enabled": true, "_normalMaterial": null, @@ -2689,13 +2409,13 @@ "zoomScale": 1.2, "clickEvents": [ { - "__id__": 57 + "__id__": 49 } ], "_N$interactable": true, "_N$enableAutoGrayEffect": false, - "_N$transition": 2, - "transition": 2, + "_N$transition": 3, + "transition": 3, "_N$normalColor": { "__type__": "cc.Color", "r": 230, @@ -2757,14 +2477,14 @@ "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e" }, "_N$target": { - "__id__": 51 + "__id__": 46 }, "_id": "dcv/3yP7lAoY2ju9UwYsa0" }, { "__type__": "cc.ClickEvent", "target": { - "__id__": 13 + "__id__": 10 }, "component": "", "_componentId": "e35abcX5VRAoItO6mgFcYyX", @@ -2776,17 +2496,17 @@ "_name": "backBtn", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [ { - "__id__": 59 + "__id__": 51 } ], "_active": true, "_components": [ { - "__id__": 64 + "__id__": 53 } ], "_prefab": null, @@ -2800,8 +2520,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 72, + "height": 72 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -2812,8 +2532,8 @@ "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - -198.738, - -1.085, + 286.642, + 122.944, 0, 0, 0, @@ -2842,20 +2562,13 @@ "_name": "Background", "_objFlags": 512, "_parent": { - "__id__": 58 + "__id__": 50 }, - "_children": [ - { - "__id__": 60 - } - ], + "_children": [], "_active": true, "_components": [ { - "__id__": 62 - }, - { - "__id__": 63 + "__id__": 52 } ], "_prefab": null, @@ -2869,8 +2582,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 72, + "height": 72 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -2890,7 +2603,7 @@ 1, 1, 1, - 1 + 0 ] }, "_eulerAngles": { @@ -2906,107 +2619,12 @@ "groupIndex": 0, "_id": "1fbTpWLYlNZLS1K2qX7DMT" }, - { - "__type__": "cc.Node", - "_name": "Label", - "_objFlags": 512, - "_parent": { - "__id__": 59 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 61 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 100, - "height": 40 - }, - "_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": "76xvWGzTRGEbwdCrWQibVQ" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 60 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_string": "后退一格", - "_N$string": "后退一格", - "_fontSize": 20, - "_lineHeight": 40, - "_enableWrapText": false, - "_N$file": null, - "_isSystemFontUsed": true, - "_spacingX": 0, - "_batchAsBitmap": false, - "_styleFlags": 0, - "_underlineHeight": 0, - "_N$horizontalAlign": 1, - "_N$verticalAlign": 1, - "_N$fontFamily": "Arial", - "_N$overflow": 1, - "_N$cacheMode": 1, - "_id": "dcGobj+mtNgYdLwYFZB8gH" - }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 59 + "__id__": 51 }, "_enabled": true, "_materials": [ @@ -3017,10 +2635,10 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" + "__uuid__": "089e5dee-caa2-4903-bba8-1371afcc55d7" }, "_type": 1, - "_sizeMode": 0, + "_sizeMode": 1, "_fillType": 0, "_fillCenter": { "__type__": "cc.Vec2", @@ -3030,42 +2648,17 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, - "_id": "46hahi9WJAOYZq8bEpQLBT" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 59 + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" }, - "_enabled": true, - "alignMode": 0, - "_target": null, - "_alignFlags": 45, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_verticalCenter": 0, - "_horizontalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 100, - "_originalHeight": 40, - "_id": "6d2uyB3wVEtaMNLUr+Jfxt" + "_id": "46hahi9WJAOYZq8bEpQLBT" }, { "__type__": "cc.Button", "_name": "", "_objFlags": 0, "node": { - "__id__": 58 + "__id__": 50 }, "_enabled": true, "_normalMaterial": null, @@ -3074,13 +2667,13 @@ "zoomScale": 1.2, "clickEvents": [ { - "__id__": 65 + "__id__": 54 } ], "_N$interactable": true, "_N$enableAutoGrayEffect": false, - "_N$transition": 2, - "transition": 2, + "_N$transition": 3, + "transition": 3, "_N$normalColor": { "__type__": "cc.Color", "r": 230, @@ -3124,7 +2717,7 @@ "a": 200 }, "_N$normalSprite": { - "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" + "__uuid__": "089e5dee-caa2-4903-bba8-1371afcc55d7" }, "_N$pressedSprite": { "__uuid__": "e9ec654c-97a2-4787-9325-e6a10375219a" @@ -3142,26 +2735,759 @@ "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e" }, "_N$target": { - "__id__": 59 + "__id__": 51 }, "_id": "c4jzD+ddhGi79MTZ1fvokt" }, { "__type__": "cc.ClickEvent", "target": { - "__id__": 13 + "__id__": 10 }, "component": "", "_componentId": "e35abcX5VRAoItO6mgFcYyX", "handler": "back_Click", "customEventData": "" }, + { + "__type__": "cc.Node", + "_name": "deleteBtn", + "_objFlags": 0, + "_parent": { + "__id__": 10 + }, + "_children": [ + { + "__id__": 56 + } + ], + "_active": true, + "_components": [ + { + "__id__": 58 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 72, + "height": 72 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 199.433, + 122.944, + 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": "56HeEM3HJGFoGxg490yjaB" + }, + { + "__type__": "cc.Node", + "_name": "Background", + "_objFlags": 512, + "_parent": { + "__id__": 55 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 57 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 72, + "height": 72 + }, + "_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, + 0 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "f87gmVgaJGnJ6/0E2ejwlG" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 56 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "b2268e61-7cd7-4fdc-8c43-6836c1069443" + }, + "_type": 1, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "67kCsWgMdE8pQ4zb6HWnQw" + }, + { + "__type__": "cc.Button", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 55 + }, + "_enabled": true, + "_normalMaterial": null, + "_grayMaterial": null, + "duration": 0.1, + "zoomScale": 1.2, + "clickEvents": [ + { + "__id__": 59 + } + ], + "_N$interactable": true, + "_N$enableAutoGrayEffect": false, + "_N$transition": 3, + "transition": 3, + "_N$normalColor": { + "__type__": "cc.Color", + "r": 230, + "g": 230, + "b": 230, + "a": 255 + }, + "_N$pressedColor": { + "__type__": "cc.Color", + "r": 200, + "g": 200, + "b": 200, + "a": 255 + }, + "pressedColor": { + "__type__": "cc.Color", + "r": 200, + "g": 200, + "b": 200, + "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": 120, + "g": 120, + "b": 120, + "a": 200 + }, + "_N$normalSprite": { + "__uuid__": "089e5dee-caa2-4903-bba8-1371afcc55d7" + }, + "_N$pressedSprite": { + "__uuid__": "e9ec654c-97a2-4787-9325-e6a10375219a" + }, + "pressedSprite": { + "__uuid__": "e9ec654c-97a2-4787-9325-e6a10375219a" + }, + "_N$hoverSprite": { + "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" + }, + "hoverSprite": { + "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" + }, + "_N$disabledSprite": { + "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e" + }, + "_N$target": { + "__id__": 56 + }, + "_id": "98iJY7KsxFroRwmcvT4Qa7" + }, + { + "__type__": "cc.ClickEvent", + "target": { + "__id__": 10 + }, + "component": "", + "_componentId": "e35abcX5VRAoItO6mgFcYyX", + "handler": "removeAllTip", + "customEventData": "" + }, + { + "__type__": "cc.Node", + "_name": "New Label", + "_objFlags": 0, + "_parent": { + "__id__": 10 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 61 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 175, + "g": 136, + "b": 70, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 60, + "height": 37.8 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0.779, + 106.058, + 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": "1dqQnAKctCcIgWRitQUjvO" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 60 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "图纸", + "_N$string": "图纸", + "_fontSize": 30, + "_lineHeight": 30, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "bdOrnVI1VIjb6Cwma3vsIl" + }, + { + "__type__": "cc.Node", + "_name": "New Label", + "_objFlags": 0, + "_parent": { + "__id__": 10 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 63 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 136, + "g": 98, + "b": 62, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 44, + "height": 27.72 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 286.411, + 88.102, + 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": "b3gg/qVW1Jb7PNgdrpXxtT" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 62 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "撤回", + "_N$string": "撤回", + "_fontSize": 22, + "_lineHeight": 22, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "f7PK7X5LVLv5XcpP67aGav" + }, + { + "__type__": "cc.Node", + "_name": "New Label", + "_objFlags": 0, + "_parent": { + "__id__": 10 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 65 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 136, + "g": 98, + "b": 62, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 44, + "height": 27.72 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 198.681, + 88.102, + 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": "80ghuAR/xMwqIQDwLNEYi/" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 64 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "清空", + "_N$string": "清空", + "_fontSize": 22, + "_lineHeight": 22, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "0cBFmuzBJCJaB6DKiajaMh" + }, + { + "__type__": "cc.Node", + "_name": "New Label", + "_objFlags": 0, + "_parent": { + "__id__": 10 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 67 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 136, + "g": 98, + "b": 62, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 44, + "height": 27.72 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -148.207, + -152.181, + 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": "bdM10sfAdFZ7kHjd9KjyKC" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 66 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "息壤", + "_N$string": "息壤", + "_fontSize": 22, + "_lineHeight": 22, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "3aDzp3rERGgY4vC++QIwBw" + }, + { + "__type__": "cc.Node", + "_name": "New Label", + "_objFlags": 0, + "_parent": { + "__id__": 10 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 69 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 136, + "g": 98, + "b": 62, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 44, + "height": 27.72 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -269.775, + -152.181, + 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": "9cpz0rd9xK9o0LYQlGVT+O" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 68 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "加固", + "_N$string": "加固", + "_fontSize": 22, + "_lineHeight": 22, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "3fMBbLKURJAJahydocK2oS" + }, { "__type__": "cc.Widget", "_name": "", "_objFlags": 0, "node": { - "__id__": 13 + "__id__": 10 }, "_enabled": true, "alignMode": 1, @@ -3170,7 +3496,7 @@ "_left": 0, "_right": 0, "_top": 0, - "_bottom": 43.202999999999975, + "_bottom": 0, "_verticalCenter": 0, "_horizontalCenter": 0, "_isAbsLeft": true, @@ -3188,23 +3514,999 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 13 + "__id__": 10 }, "_enabled": true, "Map": { - "__id__": 32 + "__id__": 33 }, "tip": { "__uuid__": "47657f05-243e-4f2a-a32d-200631f1c252" }, "reinforce": { - "__uuid__": "9e91c351-bd17-446b-b773-3b715fe6ba48" - }, - "soil": { "__uuid__": "7a90e76c-37f8-4f8c-84e9-f05b34afe481" }, + "soil": { + "__uuid__": "9e91c351-bd17-446b-b773-3b715fe6ba48" + }, "_id": "f2gFV7xixGDY1vTvB3roWu" }, + { + "__type__": "cc.Node", + "_name": "Top", + "_objFlags": 0, + "_parent": { + "__id__": 5 + }, + "_children": [ + { + "__id__": 73 + }, + { + "__id__": 75 + }, + { + "__id__": 77 + }, + { + "__id__": 79 + }, + { + "__id__": 81 + }, + { + "__id__": 83 + }, + { + "__id__": 85 + }, + { + "__id__": 87 + }, + { + "__id__": 89 + } + ], + "_active": true, + "_components": [ + { + "__id__": 91 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 750, + "height": 0 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 647, + 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": "2dvFGf0U9OKKhKCqEvtwLT" + }, + { + "__type__": "cc.Node", + "_name": "bg", + "_objFlags": 0, + "_parent": { + "__id__": 72 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 74 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 744, + "height": 80 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + -39.556, + 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": "0cgkoDi75MFoNDhg0sKlVt" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 73 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "ffab2d63-1700-4821-8d95-9f4d4717aa1b" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "76zs/ZzYhGSbMF44sdOYN0" + }, + { + "__type__": "cc.Node", + "_name": "progressBg", + "_objFlags": 0, + "_parent": { + "__id__": 72 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 76 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 500, + "height": 18 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 84.706, + -63.438, + 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": "3eHhCQQr9JjqLa317XpqmV" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 75 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "12878a32-a063-42b4-b233-9e419054c084" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "22ocvrBY9Av4vC1hf3IcUk" + }, + { + "__type__": "cc.Node", + "_name": "progress", + "_objFlags": 0, + "_parent": { + "__id__": 72 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 78 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 500, + "height": 18 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 84.706, + -63.438, + 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": "b22dJDPkBAfJol7uoPPFtl" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 77 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "fb15d143-fb48-4fae-8921-e5f005493fac" + }, + "_type": 3, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "2a1apdfFVAK41hrqNYtxU/" + }, + { + "__type__": "cc.Node", + "_name": "head", + "_objFlags": 0, + "_parent": { + "__id__": 72 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 80 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 49, + "height": 32 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -180, + -54.557, + 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": "b2w0C6lFBAmYIz4jBWs2EU" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 79 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "db06b8d5-6735-4ce0-8748-edfe06e9fd30" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "131Qlt/A5HYYr0Pqh/EHB7" + }, + { + "__type__": "cc.Node", + "_name": "New Label", + "_objFlags": 0, + "_parent": { + "__id__": 72 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 82 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 237, + "g": 210, + "b": 187, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 75, + "height": 31.5 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -308.155, + -19.072, + 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": "9bQAVktN5NcayLBgcUorra" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 81 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "总时间", + "_N$string": "总时间", + "_fontSize": 25, + "_lineHeight": 25, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "b7H2iuvT1BZqlTnq0x2nrz" + }, + { + "__type__": "cc.Node", + "_name": "totalTime", + "_objFlags": 0, + "_parent": { + "__id__": 72 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 84 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 238, + "b": 215, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.1, + "height": 50.4 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -307.209, + -54.662, + 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": "912cRy4xJLtbvhvFUq6seP" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 83 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "00:00", + "_N$string": "00:00", + "_fontSize": 40, + "_lineHeight": 40, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "afokpW04JB+bljDOFqQuwR" + }, + { + "__type__": "cc.Node", + "_name": "Label", + "_objFlags": 0, + "_parent": { + "__id__": 72 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 86 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 238, + "b": 215, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 150, + "height": 31.5 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 41.191, + -23.201, + 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": "a8mxYVspNDFpwiKzHccVnS" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 85 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "距离洪峰到来", + "_N$string": "距离洪峰到来", + "_fontSize": 25, + "_lineHeight": 25, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "31H77LE79JJrJsvBZ9lVOA" + }, + { + "__type__": "cc.Node", + "_name": "time", + "_objFlags": 0, + "_parent": { + "__id__": 72 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 88 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 238, + "b": 215, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 62.56, + "height": 31.5 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 161.092, + -23.29, + 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": "9d/ESsYDhFzJtyELMoBT+j" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 87 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "00:00", + "_N$string": "00:00", + "_fontSize": 25, + "_lineHeight": 25, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "a9ug3uxiZHCbYiwI56hTGB" + }, + { + "__type__": "cc.Node", + "_name": "id", + "_objFlags": 0, + "_parent": { + "__id__": 72 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 90 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 0, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 88.98, + "height": 50.4 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -109.883, + -23.96, + 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": "67LQQ0hGxPYIEncm0tzIS7" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 89 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "1001", + "_N$string": "1001", + "_fontSize": 40, + "_lineHeight": 40, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "e9wR6XRE9Ax46QgiFiUqyn" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 72 + }, + "_enabled": true, + "alignMode": 1, + "_target": null, + "_alignFlags": 41, + "_left": 0, + "_right": 0, + "_top": 20, + "_bottom": 0, + "_verticalCenter": 0, + "_horizontalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 0, + "_id": "4fxdhQLFVDKqcWdiooyi6X" + }, { "__type__": "cc.Node", "_name": "Win", @@ -3263,6 +4565,350 @@ "groupIndex": 0, "_id": "beOm6xY9JGcpUIgHepr4za" }, + { + "__type__": "cc.Node", + "_name": "Over", + "_objFlags": 0, + "_parent": { + "__id__": 5 + }, + "_children": [ + { + "__id__": 94 + }, + { + "__id__": 97 + } + ], + "_active": true, + "_components": [ + { + "__id__": 100 + } + ], + "_prefab": null, + "_opacity": 0, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 591.5, + "height": 1334 + }, + "_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": "9fvo6KA6hNX726OUEDSZKo" + }, + { + "__type__": "cc.Node", + "_name": "New Sprite", + "_objFlags": 0, + "_parent": { + "__id__": 93 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 95 + }, + { + "__id__": 96 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 116, + "height": 1334 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -318.378, + 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": "f0jehgg/VA0qdKS8Yhgng5" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 94 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "b926007a-3c3e-4981-b1c0-638864dfc892" + }, + "_type": 0, + "_sizeMode": 0, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": null, + "_id": "30Ev/OhOVDZp/ee9LDa9mQ" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 94 + }, + "_enabled": true, + "alignMode": 1, + "_target": null, + "_alignFlags": 13, + "_left": -80.62799999999999, + "_right": 0, + "_top": 0, + "_bottom": 0, + "_verticalCenter": 0, + "_horizontalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 640, + "_id": "b3kLLSA8pLlKt7++xnsR6E" + }, + { + "__type__": "cc.Node", + "_name": "New Sprite", + "_objFlags": 0, + "_parent": { + "__id__": 93 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 98 + }, + { + "__id__": 99 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 116, + "height": 1334 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 318.38, + 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": "b8qhhugVJCZYKUwmP5nMwI" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 97 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "b926007a-3c3e-4981-b1c0-638864dfc892" + }, + "_type": 0, + "_sizeMode": 0, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": null, + "_id": "34YBCabrBNxrK0DaHt3Zp7" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 97 + }, + "_enabled": true, + "alignMode": 1, + "_target": null, + "_alignFlags": 37, + "_left": -80.62799999999996, + "_right": -80.62999999999997, + "_top": 0, + "_bottom": 0, + "_verticalCenter": 0, + "_horizontalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 116, + "_originalHeight": 640, + "_id": "86CbemTlZBM5maUTrhaQgl" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 93 + }, + "_enabled": true, + "alignMode": 1, + "_target": null, + "_alignFlags": 45, + "_left": 79.25, + "_right": 79.25, + "_top": 0, + "_bottom": 0, + "_verticalCenter": 0, + "_horizontalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 116, + "_originalHeight": 640, + "_id": "06NN86oflA0pcH/dhzPRjn" + }, { "__type__": "cc.Node", "_name": "GameOver", @@ -3272,7 +4918,7 @@ }, "_children": [ { - "__id__": 70 + "__id__": 102 } ], "_active": false, @@ -3330,16 +4976,16 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 69 + "__id__": 101 }, "_children": [], "_active": true, "_components": [ { - "__id__": 71 + "__id__": 103 }, { - "__id__": 72 + "__id__": 104 } ], "_prefab": null, @@ -3395,7 +5041,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 70 + "__id__": 102 }, "_enabled": true, "_materials": [ @@ -3427,770 +5073,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 70 + "__id__": 102 }, "_enabled": true, "_id": "22S5GnmVhCz7EY4orhQpJT" }, - { - "__type__": "cc.Node", - "_name": "Block1", - "_objFlags": 0, - "_parent": { - "__id__": 5 - }, - "_children": [ - { - "__id__": 74 - }, - { - "__id__": 76 - } - ], - "_active": false, - "_components": [], - "_prefab": null, - "_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.543, - 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": "afuV9kjShONqq0jz6gTIhq" - }, - { - "__type__": "cc.Node", - "_name": "New Sprite(Splash)", - "_objFlags": 0, - "_parent": { - "__id__": 73 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 75 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 105, - "g": 105, - "b": 105, - "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": "193FPqop1OdK2UAQxLoFDR" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 74 - }, - "_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": "67VIljhyxNRoVQN5zDh3Rk" - }, - { - "__type__": "cc.Node", - "_name": "icon", - "_objFlags": 0, - "_parent": { - "__id__": 73 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 77 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 36, - "g": 0, - "b": 254, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 60, - "height": 96 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - -30, - 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": "4cqvFus1VKxpCEvxEsLNBt" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 76 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "af8457b5-c84c-4585-9402-aee73193f450" - }, - "_type": 3, - "_sizeMode": 1, - "_fillType": 1, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 1, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "34v9bEEMhFA6wuOY7fDwQc" - }, - { - "__type__": "cc.Node", - "_name": "Block2", - "_objFlags": 0, - "_parent": { - "__id__": 5 - }, - "_children": [ - { - "__id__": 79 - }, - { - "__id__": 81 - } - ], - "_active": false, - "_components": [], - "_prefab": null, - "_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, - 96.498, - 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": "18kkByH6hCGYGlkcLdXww4" - }, - { - "__type__": "cc.Node", - "_name": "New Sprite(Splash)", - "_objFlags": 0, - "_parent": { - "__id__": 78 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 80 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 105, - "g": 105, - "b": 105, - "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": "caluQB/YVLSIt4MvHLPAkM" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 79 - }, - "_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": "c2qwM1OOdAuLBsqX2RnEJJ" - }, - { - "__type__": "cc.Node", - "_name": "icon", - "_objFlags": 0, - "_parent": { - "__id__": 78 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 82 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 36, - "g": 0, - "b": 254, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 78, - "height": 78 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - -9, - -9, - 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": "6byOn5h1xOdKTVBy8dSgsa" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 81 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "e3acc841-072e-46c4-b892-be3da3cb608b" - }, - "_type": 3, - "_sizeMode": 1, - "_fillType": 1, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 1, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "1an8OFWf5HN5CxCTpNlnhc" - }, - { - "__type__": "cc.Node", - "_name": "Block1", - "_objFlags": 0, - "_parent": { - "__id__": 5 - }, - "_children": [ - { - "__id__": 84 - }, - { - "__id__": 86 - } - ], - "_active": false, - "_components": [], - "_prefab": null, - "_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": [ - -95.879, - 96.616, - 0, - 0, - 0, - 0.7071067811865475, - 0.7071067811865476, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 90 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "9fuGW0Qm1Mi7w6MEPzI7c1" - }, - { - "__type__": "cc.Node", - "_name": "New Sprite(Splash)", - "_objFlags": 0, - "_parent": { - "__id__": 83 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 85 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 105, - "g": 105, - "b": 105, - "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": "20wVFRlmBCGbkpyk75LrVF" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 84 - }, - "_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": "78awOjiwFGPL8i2z1wtwCk" - }, - { - "__type__": "cc.Node", - "_name": "icon", - "_objFlags": 0, - "_parent": { - "__id__": 83 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 87 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 36, - "g": 0, - "b": 254, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 60, - "height": 96 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - -30, - 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": "9bYQQR0pNMM5Mazzp+u08C" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 86 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "af8457b5-c84c-4585-9402-aee73193f450" - }, - "_type": 3, - "_sizeMode": 1, - "_fillType": 1, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 1, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "11x2PsQ+VJGYl4e/tgayeu" - }, { "__type__": "b0432BA295DjIOcuitdGKO1", "_name": "", @@ -4200,11 +5087,17 @@ }, "_enabled": true, "Map": { - "__id__": 11 + "__id__": 8 }, "Block": { "__uuid__": "c930d64e-2707-474f-b691-6220e2932ddd" }, + "Time": { + "__id__": 84 + }, + "Countdown": { + "__id__": 88 + }, "_id": "7dXON6+8BHRrnLvjmlXv+P" }, { diff --git a/assets/Scene/LoadScene.fire b/assets/Scene/LoadScene.fire index a3d61cc..82315cf 100644 --- a/assets/Scene/LoadScene.fire +++ b/assets/Scene/LoadScene.fire @@ -78,13 +78,13 @@ "__id__": 10 }, { - "__id__": 16 + "__id__": 18 }, { - "__id__": 19 + "__id__": 21 }, { - "__id__": 22 + "__id__": 24 } ], "_active": true, @@ -286,8 +286,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 376, - "height": 84 + "width": 750, + "height": 1660 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -299,7 +299,7 @@ "ctor": "Float64Array", "array": [ 0, - -313.22, + 0, 0, 0, 0, @@ -338,7 +338,9 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_spriteFrame": null, + "_spriteFrame": { + "__uuid__": "cdd137bb-0948-45d8-83d9-72ef549a9dbc" + }, "_type": 0, "_sizeMode": 1, "_fillType": 0, @@ -447,12 +449,15 @@ "_children": [ { "__id__": 11 + }, + { + "__id__": 14 } ], "_active": true, "_components": [ { - "__id__": 14 + "__id__": 16 } ], "_prefab": null, @@ -531,8 +536,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 126, - "height": 140 + "width": 102, + "height": 102 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -583,7 +588,9 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_spriteFrame": null, + "_spriteFrame": { + "__uuid__": "359e8c8b-2bf5-4e8e-b90e-a7654f81f2f9" + }, "_type": 1, "_sizeMode": 1, "_fillType": 0, @@ -595,7 +602,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "e3tnncQgtFn49iTBzwCpMN" }, { @@ -609,10 +618,10 @@ "alignMode": 0, "_target": null, "_alignFlags": 45, - "_left": -13, - "_right": -13, - "_top": -50, - "_bottom": -50, + "_left": -1, + "_right": -1, + "_top": -31, + "_bottom": -31, "_verticalCenter": 0, "_horizontalCenter": 0, "_isAbsLeft": true, @@ -625,6 +634,101 @@ "_originalHeight": 40, "_id": "3b6aA5QpdJN5tCMv9rwDLJ" }, + { + "__type__": "cc.Node", + "_name": "New Label", + "_objFlags": 0, + "_parent": { + "__id__": 10 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 15 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 52.39, + "height": 28.98 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0.402, + -49.341, + 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": "dc+p3yYYdKzLQ5TIo+4Fs9" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 14 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "排 行", + "_N$string": "排 行", + "_fontSize": 23, + "_lineHeight": 23, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "1cN62hedRCao1kwdunTZIT" + }, { "__type__": "cc.Button", "_name": "", @@ -639,7 +743,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 15 + "__id__": 17 } ], "_N$interactable": true, @@ -730,10 +834,10 @@ "_active": true, "_components": [ { - "__id__": 17 + "__id__": 19 }, { - "__id__": 18 + "__id__": 20 } ], "_prefab": null, @@ -789,7 +893,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 16 + "__id__": 18 }, "_enabled": true, "_materials": [ @@ -822,7 +926,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 16 + "__id__": 18 }, "_enabled": true, "alignMode": 1, @@ -855,10 +959,10 @@ "_active": true, "_components": [ { - "__id__": 20 + "__id__": 22 }, { - "__id__": 21 + "__id__": 23 } ], "_prefab": null, @@ -914,7 +1018,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 19 + "__id__": 21 }, "_enabled": true, "_materials": [ @@ -947,7 +1051,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 19 + "__id__": 21 }, "_enabled": true, "alignMode": 1, @@ -978,7 +1082,7 @@ }, "_children": [ { - "__id__": 23 + "__id__": 25 } ], "_active": true, @@ -998,8 +1102,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 513, + "height": 137 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1011,7 +1115,7 @@ "ctor": "Float64Array", "array": [ 0, - 0, + -313.512, 0, 0, 0, @@ -1040,13 +1144,9 @@ "_name": "Background", "_objFlags": 512, "_parent": { - "__id__": 22 + "__id__": 24 }, - "_children": [ - { - "__id__": 24 - } - ], + "_children": [], "_active": true, "_components": [ { @@ -1067,8 +1167,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 513, + "height": 137 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1088,7 +1188,7 @@ 1, 1, 1, - 1 + 0 ] }, "_eulerAngles": { @@ -1104,107 +1204,12 @@ "groupIndex": 0, "_id": "94ty86DIJF0avZl6O1I7GB" }, - { - "__type__": "cc.Node", - "_name": "Label", - "_objFlags": 512, - "_parent": { - "__id__": 23 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 25 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 100, - "height": 40 - }, - "_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": "4fWr7e41ZPpYJvI6vP+AD0" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 24 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_string": "button", - "_N$string": "button", - "_fontSize": 20, - "_lineHeight": 40, - "_enableWrapText": false, - "_N$file": null, - "_isSystemFontUsed": true, - "_spacingX": 0, - "_batchAsBitmap": false, - "_styleFlags": 0, - "_underlineHeight": 0, - "_N$horizontalAlign": 1, - "_N$verticalAlign": 1, - "_N$fontFamily": "Arial", - "_N$overflow": 1, - "_N$cacheMode": 1, - "_id": "dduVKBa/tP9J5SOHdfymKE" - }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 23 + "__id__": 25 }, "_enabled": true, "_materials": [ @@ -1215,10 +1220,10 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" + "__uuid__": "b6ede43c-af51-4c1f-849c-e0d3d7f4f9bd" }, "_type": 1, - "_sizeMode": 0, + "_sizeMode": 1, "_fillType": 0, "_fillCenter": { "__type__": "cc.Vec2", @@ -1228,7 +1233,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "01g+tMB7RF4bxts75/150X" }, { @@ -1236,7 +1243,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 23 + "__id__": 25 }, "_enabled": true, "alignMode": 0, @@ -1263,7 +1270,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 22 + "__id__": 24 }, "_enabled": true, "_normalMaterial": null, @@ -1277,8 +1284,8 @@ ], "_N$interactable": true, "_N$enableAutoGrayEffect": false, - "_N$transition": 2, - "transition": 2, + "_N$transition": 3, + "transition": 3, "_N$normalColor": { "__type__": "cc.Color", "r": 230, @@ -1340,7 +1347,7 @@ "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e" }, "_N$target": { - "__id__": 23 + "__id__": 25 }, "_id": "2esgMwAepCjYmphoCmbewk" }, @@ -1409,7 +1416,7 @@ "localTest": true, "clientTestVersion": "1.0.2", "testVersion": { - "__id__": 17 + "__id__": 19 }, "_id": "50zCP3Mq9MKIKjMbohPY8j" } diff --git a/assets/Script/Block.ts b/assets/Script/Block.ts index c71976c..4c313f1 100644 --- a/assets/Script/Block.ts +++ b/assets/Script/Block.ts @@ -50,76 +50,251 @@ export default class NewClass extends cc.Component { pos_Shifting:number; block_Type:number; path_Type:string; - finishi:boolean + finishi:boolean; + pos: any; onLoad () { this.finishi = false; this.pos_Shifting = 0; + this.pos = cc.v2(0,0); } start () { } - initData(type){ + initData(type,pos,max){ this.block_Type = type; + this.pos = cc.v2(pos.x,pos.y); if(type == cc.Enum(BlockType).Start){ - this.node.color = cc.color(245,70,70); + var bg = this.node.getChildByName("sp"); + // this.node.getComponent(cc.Sprite).spriteFrame = null; + bg.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["start"]; + this.rotateTarget(bg,"start",pos,max); } else if(type == cc.Enum(BlockType).End){ - this.node.color = cc.color(20,255,0); + var bg = this.node.getChildByName("sp"); + // this.node.getComponent(cc.Sprite).spriteFrame = null; + bg.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["end"]; + this.rotateTarget(bg,"end",pos,max); } else if(type == cc.Enum(BlockType).Nunja){ - this.node.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e5"]; + let random = Math.floor(Math.random()*4); + let rotationArr = [0,90,180,270]; + let 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){ let random = Math.floor(Math.random()*4+1); let name = "shan" + random; - this.node.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; + this.node.getChildByName("bg").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; + this.node.getComponent(cc.Sprite).spriteFrame = null; + } + } + //旋转入海口和出海口的 图片以及文字角度 + rotateTarget(bg,name,pos,max){ + let 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; } } setPath(type){ this.path_Type = type; } + //设置息壤在起点 + set_Xi_Soil(direction,type){ + let sp = this.node.getChildByName("sp"); + let turn = this.node.getChildByName("turnStart"); + let 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"){ + let sp = this.node.getChildByName("sp"); + if(sp.angle == -90){ + turn.active =true; + water.active = true; + water.opacity = 0; + if(type){ + turn.angle = direction=="up"?-90:0; + water.angle = direction=="up"?-90:0; + } + else{ + turn.angle = direction=="up"?-90:0; + water.angle = direction=="up"?-90:0; + } + + } + else if(sp.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.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.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; + } + } + } + } + + + set_Xi_SoilType(direction,end,name){ + console.log("息壤",direction,name,this.block_Type); + if(this.block_Type == cc.Enum(BlockType).Start){ + this.set_Xi_Soil(direction,false); + return; + } - set_Xi_SoilType(direction,end){ - console.log("息壤",direction); if(this.block_Type == cc.Enum(BlockType).Nunja){ this.block_Type = cc.Enum(BlockType).Nomal; - this.node.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["block_Bg"]; + 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.set_Xi_Soil(direction,true); + } setTimeout(() => { - cc.fx.Notifications.emit(cc.fx.Message.next,(end+1)); - }, 1000); - + 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); } - this.block_Type = cc.Enum(BlockType).Xi_Soil; + if(this.block_Type != cc.Enum(BlockType).End && this.block_Type != cc.Enum(BlockType).Start){ + this.block_Type = cc.Enum(BlockType).Xi_Soil; + } + else{ + } let target = this.node.getChildByName("Xi_Soil"); this.path_Type = direction; target.active = true; target.opacity = 0; cc.tween(target) - .to(0.5,{opacity:255}) - .to(0.5,{opacity:0}) + .to(0.1,{opacity:255}) + .to(0.1,{opacity:0}) .call(() =>{ if(direction != null && end == null){ let data = { order:0, - time:0.2, + time:cc.fx.GameConfig.TIME_INFO.waterSpeed[0], type:0, circulate:false }; - this.runWater(data); + if(name == "water"){ + this.runWater(data); + } + else this.runRoad(data); } }) .start(); } - //洪峰执行 - runWater(data){ + //修筑路线执行 + runRoad(data){ if(this.path_Type == "err"){ setTimeout(() => { if(data.circulate) @@ -128,13 +303,15 @@ export default class NewClass extends cc.Component { return; } //如果双向都占用了还进来就算死了- - if(this.node.getChildByName("vertical").active == true && this.node.getChildByName("horizontal").active == true){ + if(this.node.getChildByName("vertical2").active == true && this.node.getChildByName("horizontal2").active == true){ alert("河道已经交叉,不能再通过"); + cc.director.loadScene("GameScene"); return; } - else if(this.node.getChildByName("turn").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil){ + else if(this.node.getChildByName("turn2").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil){ alert("河道过弯处,不能再交叉河道"); + cc.director.loadScene("GameScene"); return; } var target = null; @@ -142,30 +319,33 @@ export default class NewClass extends cc.Component { var time = data.time; var order = data.order + 1; var random = Math.floor(Math.random()*4 + 1); - target = this.node.getChildByName("vertical"); - let water1 = target.getChildByName("wave").getChildByName("water1"); - let water2 = target.getChildByName("wave").getChildByName("water2"); - let water3 = target.getChildByName("wave").getChildByName("water3"); - let timeDelay = 0.15; - water1.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water1.x,120)),cc.delayTime(timeDelay), - cc.callFunc(()=>{ - water1.y = -120 - })).repeatForever()); - water2.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water2.x,120)),cc.delayTime(timeDelay), - cc.callFunc(()=>{ - water2.y = -120 - })).repeatForever()); - water3.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water3.x,120)),cc.delayTime(timeDelay), - cc.callFunc(()=>{ - water3.y = -120 - })).repeatForever()); + target = this.node.getChildByName("vertical2"); + if(target.name == "vertical"){ + let water1 = target.getChildByName("wave").getChildByName("water1"); + let water2 = target.getChildByName("wave").getChildByName("water2"); + let water3 = target.getChildByName("wave").getChildByName("water3"); + let timeDelay = 0.15; + water1.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water1.x,120)),cc.delayTime(timeDelay), + cc.callFunc(()=>{ + water1.y = -120 + })).repeatForever()); + water2.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water2.x,120)),cc.delayTime(timeDelay), + cc.callFunc(()=>{ + water2.y = -120 + })).repeatForever()); + water3.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water3.x,120)),cc.delayTime(timeDelay), + cc.callFunc(()=>{ + water3.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(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"); + 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]; + 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){ @@ -176,24 +356,27 @@ export default class NewClass extends cc.Component { 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]; + 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]; + if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; } else{ - target = this.node.getChildByName("turn"); - let water = target.getChildByName("wave").getChildByName("water"); - water.opacity = 0 - water.runAction(cc.sequence(cc.rotateTo(7.2,-1080),cc.delayTime(0)).repeatForever()); - setTimeout(() => { - water.opacity = 255; - }, 200); + target = this.node.getChildByName("turn2"); + if(target.name == "turn"){ + let water = target.getChildByName("wave").getChildByName("water"); + water.opacity = 0 + water.runAction(cc.sequence(cc.rotateTo(7.2,-1080),cc.delayTime(0)).repeatForever()); + setTimeout(() => { + water.opacity = 255; + }, 200); + } + name = "c" + random; - //if(this.block_Type != cc.Enum(BlockType).Reinforce)target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; + 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); @@ -232,17 +415,16 @@ export default class NewClass extends cc.Component { } } if(this.path_Type == "Reinforce"){ - console.log(data.order); target = this.node.getChildByName("Reinforce"); - this.block_Type = cc.Enum(BlockType).Reinforce; - this.node.getChildByName("vertical").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e1"]; - this.node.getChildByName("turn").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e3"]; - this.node.getChildByName("horizontal").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e2"]; + 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(time,{opacity:255}) + .to(cc.fx.GameConfig.TIME_INFO.ReinforceSpeed,{opacity:255}) .call(() =>{ if(data.circulate) cc.fx.Notifications.emit(cc.fx.Message.changeMap,order); @@ -252,33 +434,53 @@ export default class NewClass extends cc.Component { } else if(this.path_Type == "Xi_Soil"){ target.active = false; - this.block_Type = cc.Enum(BlockType).Xi_Soil; + 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.5,{opacity:255}) - .to(0.5,{opacity:0}) + .to(0.01,{opacity:1}) + .to(0.01,{opacity:0}) .call(() =>{ - if(data.circulate) + if(data.circulate){ cc.fx.Notifications.emit(cc.fx.Message.next,order); + } + }) .start(); } else if(this.path_Type == "End"){ target.active = false; - this.block_Type = cc.Enum(BlockType).Xi_Soil; - target = this.node.getChildByName("End"); - target.active = true; - target.opacity = 0; - cc.tween(target) - .to(0.5,{opacity:255}) - .call(() =>{ - console.log("游戏结束"); - // if(data.circulate) - // cc.fx.Notifications.emit(cc.fx.Message.next,order); - }) - .start(); + if(this.block_Type != cc.Enum(BlockType).End && this.block_Type != cc.Enum(BlockType).Start) + this.block_Type = cc.Enum(BlockType).Xi_Soil; + let 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.x - posTemp.x == -1){ + direction = "down"; + } + + // console.log("方向:",direction); + this.set_Xi_Soil(direction,true); + + // alert("治水成功"); + // target = this.node.getChildByName("End"); + // target.active = true; + // target.opacity = 0; + // cc.tween(target) + // .to(0.5,{opacity:255}) + // .call(() =>{ + // console.log("游戏结束"); + // // if(data.circulate) + // // cc.fx.Notifications.emit(cc.fx.Message.next,order); + // }) + // .start(); } else{ target.active = true; @@ -307,5 +509,229 @@ export default class NewClass extends cc.Component { } + + //洪峰执行 + runWater(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(() => { + 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.director.loadScene("GameScene"); + return; + } + + else if(this.node.getChildByName("turn").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil){ + alert("河道过弯处,不能再交叉河道"); + 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"){ + let water1 = target.getChildByName("wave").getChildByName("water1"); + let water2 = target.getChildByName("wave").getChildByName("water2"); + let water3 = target.getChildByName("wave").getChildByName("water3"); + let timeDelay = 0.15; + water1.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water1.x,120)),cc.delayTime(timeDelay), + cc.callFunc(()=>{ + water1.y = -120 + })).repeatForever()); + water2.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water2.x,120)),cc.delayTime(timeDelay), + cc.callFunc(()=>{ + water2.y = -120 + })).repeatForever()); + water3.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water3.x,120)),cc.delayTime(timeDelay), + cc.callFunc(()=>{ + water3.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"); + let water1 = target.getChildByName("wave").getChildByName("water1"); + let water2 = target.getChildByName("wave").getChildByName("water2"); + let water3 = target.getChildByName("wave").getChildByName("water3"); + let timeDelay = 0.15; + water1.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water1.x,120)),cc.delayTime(timeDelay), + cc.callFunc(()=>{ + water1.y = -120 + })).repeatForever()); + water2.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water2.x,120)),cc.delayTime(timeDelay), + cc.callFunc(()=>{ + water2.y = -120 + })).repeatForever()); + water3.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water3.x,120)),cc.delayTime(timeDelay), + cc.callFunc(()=>{ + water3.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"){ + let water = target.getChildByName("wave").getChildByName("water"); + water.opacity = 0 + water.runAction(cc.sequence(cc.rotateTo(7.2,-1080),cc.delayTime(0)).repeatForever()); + setTimeout(() => { + water.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"); + // this.block_Type = cc.Enum(BlockType).Reinforce; + // // this.node.getChildByName("vertical").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e1"]; + // // this.node.getChildByName("turn").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e3"]; + // // this.node.getChildByName("horizontal").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(() =>{ + // if(data.circulate) + // cc.fx.Notifications.emit(cc.fx.Message.changeMap,order); + // cc.fx.Notifications.emit(cc.fx.Message.nextWater,order); + // }) + // .start(); + // } + // else if(this.path_Type == "Xi_Soil"){ + // target.active = false; + // 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(() =>{ + // if(data.circulate){ + // cc.fx.Notifications.emit(cc.fx.Message.nextWater,order); + // } + + // }) + // .start(); + // } + 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(()=>{ + alert("治水成功"); + if(cc.fx.GameConfig.GM_INFO.level < 7){ + cc.fx.GameConfig.GM_INFO.level += 1; + } + cc.director.loadScene("GameScene"); + }) + .start(); + } + } + else{ + target = this.node.getChildByName("End"); + target.active = true; + target.opacity = 0; + cc.tween(target) + .to(0.5,{opacity:255}) + .call(() =>{ + alert("治水失败") + 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(() =>{ + if(data.circulate) + cc.fx.Notifications.emit(cc.fx.Message.nextWater,order); + }) + .start(); + } + + } + // update (dt) {} } diff --git a/assets/Script/ControlManager.ts b/assets/Script/ControlManager.ts index 4ec5cc7..99c2fef 100644 --- a/assets/Script/ControlManager.ts +++ b/assets/Script/ControlManager.ts @@ -34,17 +34,23 @@ export default class NewClass extends cc.Component { } setPosition(tip){ - tip.setPosition(45,-35); + tip.setPosition(30,-35); if(this.tipArray.length > 0){ let length = this.tipArray.length+1; - let posY = Math.ceil(length/5) - 1; - let posX = length - Math.floor(posY)*5 - 1; - tip.setPosition(45 + 65*posX,-35 -60*posY); + let posY = Math.ceil(length/8) - 1; + let posX = length - Math.floor(posY)*8 - 1; + tip.setPosition(30 + 48*posX,-35 -48*posY); } } removeAllTip(){ if(!this.canTouch) return; + for(let i=0; i { @@ -47,16 +79,23 @@ export default class GameManager extends cc.Component { 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(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) + this.changeWater(cc.v3(this.path_Array[order-1].x,this.path_Array[order-1].y,0)); + // console.log(this.water_Array); + // debugger; + 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) + // console.log(this.water_Array); + } + } + 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){ let i = this.path_Array[order].x*this.map_Array[0].length+this.path_Array[order].y; let direction = ""; let circulate = true; + //最后一步结束 if(order == this.path_Array.length-1){ circulate = false; direction = "End"; - // 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"; - // } + setTimeout(() => { + if(!this.plan_over){ + console.log("准备出水"); + 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); + this.waterTween.stop(); + progress.fillRange = 1; + this.runWater(0); + } + }, 500); } 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; @@ -120,39 +178,55 @@ export default class GameManager extends cc.Component { if(this.path_Array[order+1].z == 5){ direction = "Xi_Soil"; } + else if(this.path_Array[order+1].z == 6 && order == 0){ + direction = "Reinforce"; + } else{ - direction = this.getDirection(order); + direction = this.getDirection(order,this.path_Array); } } else{ - direction = this.getDirection(order); + direction = this.getDirection(order,this.path_Array); } } // console.log(order,this.path_Array[order].x,this.path_Array[order].y,i); - let jg = this.getBoundary(order,this.path_Array[order].x,this.path_Array[order].y,direction); + + // console.log("步骤:",order,"方向",direction); + let jg = this.getBoundary(order,this.path_Array[order].x,this.path_Array[order].y,direction,this.path_Array); if(direction == "" || jg == false) return; let target = this.block_Array[i].getComponent("Block"); - // console.log("步骤:",order,"方向",direction); + 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.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; } } + let pos = cc.v2(); + if(direction == "End" && this.path_Array[order-1].z == 0){ + pos = cc.v2(this.path_Array[order-1].x, this.path_Array[order-1].y); + } let data = { order:order, - time:0.2, + time:cc.fx.GameConfig.TIME_INFO.waterSpeed[cc.fx.GameConfig.GM_INFO.level], type:this.path_Array[order].z, - circulate:circulate + circulate:circulate, + last:pos }; - target.runWater(data); + target.runRoad(data); } } //判断边界。或者撞山,或者湿地没有加固 - getBoundary(order,x,y,direction){ + getBoundary(order,x,y,direction,road){ let jg = true; if(x < 0 || x >= this.map_Width || y < 0 || y >= this.map_Hight){ jg = false; @@ -160,7 +234,7 @@ export default class GameManager extends cc.Component { alert("超过边界,游戏结束"); } else { - let i = this.path_Array[order].x*this.map_Array[0].length+this.path_Array[order].y; + let i = road[order].x*this.map_Array[0].length+road[order].y; let target = this.block_Array[i].getComponent("Block"); if(target.block_Type == 3){ jg = false; @@ -176,12 +250,76 @@ export default class GameManager extends cc.Component { return jg; } + //开始执行洪峰来了的动画 + runWater(order){ + order = parseInt(order); + if(order <= this.water_Array.length-1){ + let i = this.water_Array[order].x*this.map_Array[0].length+this.water_Array[order].y; + let direction = ""; + let 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) { + 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); + } + } + // console.log(order,this.path_Array[order].x,this.path_Array[order].y,i); + let jg = this.getBoundary(order,this.water_Array[order].x,this.water_Array[order].y,direction,this.water_Array); + console.log("步骤:",order,"方向",direction); + if(direction == "" || jg == false){ + return; + } + let 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; + } + } + let data = { + order:order, + time:cc.fx.GameConfig.TIME_INFO.waterSpeed[cc.fx.GameConfig.GM_INFO.level], + type:this.water_Array[order].z, + circulate:circulate + }; + target.runWater(data); + } + } + //获取息壤的格子的方向 - getXi_Soil(order){ + getXi_Soil(order,road){ var direction = null; //如果息壤后面还有下一步的话 - if(order + 1 < this.path_Array.length){ - direction = this.getDirection(order); + if(order + 1 < road.length){ + direction = this.getDirection(order,road); if(direction == "up" || direction == "right_up" || direction == "left_up"){ direction = "up"; } @@ -198,28 +336,34 @@ export default class GameManager extends cc.Component { return direction; } //设置息壤 - set_Soil(order){ - var direction = this.getXi_Soil(order); + set_Soil(order,road,name){ + var direction = this.getXi_Soil(order,road); var length = 0; if(direction == "right"){ length = this.map_Width - 1; - for(let i=this.path_Array[order].x;i<=length;i++){ - let n = i*this.map_Array[0].length+this.path_Array[order].y; + 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){ + 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(let i=this.path_Array[order].x;i>=length;i--){ - let n = i*this.map_Array[0].length+this.path_Array[order].y; + 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){ - length = i+1; + if(target.block_Type == 3 || target.block_Type == 4){ + length = i + 1; + if(target.block_Type == 4){ + length -= 1; + } i = -1; break; } @@ -227,11 +371,15 @@ export default class GameManager extends cc.Component { } else if(direction == "up"){ length = 0; - for(let i=this.path_Array[order].y;i>=length;i--){ - let n = this.path_Array[order].x*this.map_Array[0].length+i; + 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){ - length = i+1; + + if(target.block_Type == 3 || target.block_Type == 4){ + length = i + 1; + if(target.block_Type == 4){ + length -= 1; + } i = -1; break; } @@ -239,102 +387,175 @@ export default class GameManager extends cc.Component { } else if(direction == "down"){ length = this.map_Hight - 1; - for(let i=this.path_Array[order].y;i<=length;i++){ - let n = this.path_Array[order].x*this.map_Array[0].length+i; + 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){ - length = i-1; + + 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); + this.soil_Find(direction,order,length,road,name); } //查找息壤蛮遗憾路径 - soil_Find(direction,order,length){ - let start = this.path_Array[order].x; + 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+this.path_Array[order].y; + let n = i*this.map_Array[0].length+road[order].y; let target = this.block_Array[n].getComponent("Block"); - if(i == start) target.set_Xi_SoilType(this.getDirection(order),null); + if(i == start){ + 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); + this.changeWater(value); + } + } else { let jg = null; if(i == length){ let number = i - start -1; - this.changePath(order,number,false); + this.changePath(order,number,false,road); jg = order; } - target.set_Xi_SoilType(direction,jg); + target.set_Xi_SoilType(direction,jg,name); } } } else if(direction == "left"){ for(let i = start; i>=length; i--){ - let n = i*this.map_Array[0].length+this.path_Array[order].y; + let n = i*this.map_Array[0].length+road[order].y; let target = this.block_Array[n].getComponent("Block"); - if(i == start) target.set_Xi_SoilType(this.getDirection(order),null); + if(i == start){ + 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); + this.changeWater(value); + } + } else { let jg = null; if(i == length){ let number = i - start + 1; - this.changePath(order,number,false); + this.changePath(order,number,false,road); jg = order; } - target.set_Xi_SoilType(direction,jg); + target.set_Xi_SoilType(direction,jg,name); } } } else if(direction == "up"){ - start = this.path_Array[order].y; + start = road[order].y; + for(let i = start; i>=length; i--){ - let n = this.path_Array[order].x*this.map_Array[0].length+i; + let n = road[order].x*this.map_Array[0].length+i; let target = this.block_Array[n].getComponent("Block"); - if(i == start) target.set_Xi_SoilType(this.getDirection(order),null); + if(i == start){ + 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); + this.changeWater(value); + } + } else { let jg = null; if(i == length){ let number = i - start + 1; - this.changePath(order,number,true); + this.changePath(order,number,true,road); jg = order; } - target.set_Xi_SoilType(direction,jg); + console.log("想上息壤插入:",this.path_Array[order].x,i); + target.set_Xi_SoilType(direction,jg,name); } } } else if(direction == "down"){ - start = this.path_Array[order].y; + start = road[order].y; for(let i = start; i<=length; i++){ - let n = this.path_Array[order].x*this.map_Array[0].length+i; + let n = road[order].x*this.map_Array[0].length+i; let target = this.block_Array[n].getComponent("Block"); - if(i == start) target.set_Xi_SoilType(this.getDirection(order),null); + if(i == start){ + 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); + this.changeWater(value); + } + } else { let jg = null; if(i == length){ let number = i - start - 1; - this.changePath(order,number,true); + this.changePath(order,number,true,road); jg = order; } - target.set_Xi_SoilType(direction,jg); + target.set_Xi_SoilType(direction,jg,name); } } } } - //息壤过后改变修筑路径 - changePath(order,number,direction){ - for(let i = (order+1); i 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; + } } - // // this.path_Array[data-1].x = 5; - // this.path_Array[data].x = 5; + if(jg) this.water_Array.push(value); + } + //息壤过后改变修筑路径 + changePath(order,number,direction,road){ + + for(let i = (order+1); i0; 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(let 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(let 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(let 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) + } + } + } } changeMap(data){ @@ -342,14 +563,14 @@ export default class GameManager extends cc.Component { } //获取洪峰方向 - getDirection(order){ + getDirection(order,road){ var name = ""; //入海口比较复杂单独判断 if(order == 0){ - let nextX = this.path_Array[order+1].x - this.path_Array[order].x; - let nextY = this.path_Array[order].y - this.path_Array[order+1].y; + let nextX = road[order+1].x - road[order].x; + let nextY = road[order].y - road[order+1].y; //在底边 - if(this.path_Array[order].y == this.map_Array[0].length-1){ + if(road[order].y == this.map_Array[0].length-1){ if(nextX == 0){ if(nextY == 1)name = "up"; else if(nextY == -1) name = "err"; @@ -358,7 +579,7 @@ export default class GameManager extends cc.Component { else if(nextX == -1) name = "up_left"; } //在顶边 - else if(this.path_Array[order].y == 0){ + else if(road[order].y == 0){ if(nextX == 0){ if(nextY == 1)name = "err"; else if(nextY == -1) name = "down"; @@ -367,7 +588,7 @@ export default class GameManager extends cc.Component { else if(nextX == -1) name = "down_left"; } //在左边 - else if(this.path_Array[order].x == 0){ + else if(road[order].x == 0){ if(nextX == 0){ if(nextY == 1)name = "right_up"; else if(nextY == -1) name = "right_down"; @@ -376,7 +597,7 @@ export default class GameManager extends cc.Component { else if(nextX == -1) name = "err"; } //在右边 - else if(this.path_Array[order].x == this.map_Array.length-1){ + 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"; @@ -388,18 +609,25 @@ export default class GameManager extends cc.Component { //不是第一步,已经走过一步 else if(order > 0){ var next = 1; - if(order+2 < this.path_Array.length){ - if(this.path_Array[order+1].z == 6) next = 2; + if(order+2 < road.length){ + if(road[order+1].z == 6) next = 2; } //用于判断此点的上一个点,是为了判断当前方块洪水七点,以及下一个移动方向,判断洪终点方向 - let nextX = this.path_Array[order+next].x - this.path_Array[order].x; - let nextY = this.path_Array[order].y - this.path_Array[order+next].y - let previousX = this.path_Array[order].x - this.path_Array[order-1].x; - let previousY = this.path_Array[order-1].y - this.path_Array[order].y; + let nextX = road[order+next].x - road[order].x; + let nextY = road[order].y - road[order+next].y + let previousX = road[order].x - road[order-1].x; + let previousY = road[order-1].y - road[order].y; if(previousX == 0 && previousY == 0){ - previousX = this.path_Array[order].x - this.path_Array[order-2].x; - previousY = this.path_Array[order-2].y - this.path_Array[order].y; + 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){ @@ -442,7 +670,9 @@ export default class GameManager extends cc.Component { fit(){ var jg = this.setFit(); if(!jg){ - + this.Map.scale = 1.2; + }else{ + this.Map.scale = 1; } } //判断全面屏 @@ -492,12 +722,28 @@ export default class GameManager extends cc.Component { this.setMap(data); } + updateWaterTime(){ + 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.plan_over = true; + setTimeout(() => { + this.runWater(0); + }, 500); + + } + } + } + } //如果是倒计时 调用此方法 updateCountDownTime () { if (this.countTime > 0) { this.countTime -= 1; - // this.time.string = cc.fx.GameTool.getTimeMargin(this.countTime); + this.Time.string = cc.fx.GameTool.getTimeMargin(this.countTime); if(this.countTime < 5){ let over = this.node.getChildByName("Over"); cc.tween(over) @@ -538,24 +784,35 @@ export default class GameManager extends cc.Component { } + addEnd(data){ + + } + nextWater(){ } onEnable () { cc.fx.Notifications.on(cc.fx.Message.control, this.clickSun, this); - cc.fx.Notifications.on(cc.fx.Message.next, this.runWater, 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.changeMap, this.changeMap, this); + cc.fx.Notifications.on(cc.fx.Message.addEnd, this.addEnd, this); + } onDisable () { cc.fx.Notifications.off(cc.fx.Message.control, this.clickSun); - cc.fx.Notifications.off(cc.fx.Message.next, this.runWater); + 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.changeMap, this.changeMap); + cc.fx.Notifications.off(cc.fx.Message.addEnd, this.addEnd); } update (dt) { + + } } diff --git a/assets/Script/module/Config/GameConfig.ts b/assets/Script/module/Config/GameConfig.ts index 8012913..6676fe2 100644 --- a/assets/Script/module/Config/GameConfig.ts +++ b/assets/Script/module/Config/GameConfig.ts @@ -43,12 +43,21 @@ export class GameConfig { igniteCount: number; //玩家总计成功点火数 }; - static LEVEL_INFO: { id: number; map: number[][]; }[][]; + static LEVEL_INFO: { id: string; map: number[][]; min_steps: number}[][]; static CUSTOM_INFO: { moveSpeed: number; //洪峰移动速度 waitTime: number; //洪峰冲击倒计时 fastPath: number; //最短路径 }[]; + static TIME_INFO: { + waterSpeed: number[]; //洪峰速度 + totalTime: number; //游戏总时长 + waterTime: number[]; //洪峰来的倒计时 + roadSpeed: number; //河道修筑速度 + ReinforceSpeed: number; //加固时间速度 + Xi_SoilSpeed: number; + }; + //游戏内信息 @@ -210,114 +219,55 @@ export class GameConfig { } static LEVEL_INFO_init() { + 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,4], - [0,0,0,0,0,0], - [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], - [0,1,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] - ] - }, - { - "id": 1003, - "map": [ - [1,0,1,1], - [1,1,1,1], - [1,1,1,1], - [1,1,1,6] - ] - }, - { - "id": 1004, - "map": [ - [1,0,1,1], - [1,1,1,1], - [1,1,1,1], - [1,1,1,6] - ] - }, - { - "id": 1005, - "map": [ - [1,0,1,1], - [1,1,1,1], - [1,1,1,1], - [1,1,1,6] - ] - }, - { - "id": 1006, - "map": [ - [1,0,1,1], - [1,1,1,1], - [1,1,1,1], - [1,1,1,6] - ] - }, - { - "id": 1007, - "map": [ - [1,0,1,1], - [1,1,1,1], - [1,1,1,1], - [1,1,1,6] - ] - }, - { - "id": 1008, - "map": [ - [1,0,1,1], - [1,1,1,1], - [1,1,1,1], - [1,1,1,6] - ] - }, - { - "id": 1009, - "map": [ - [1,0,1,1], - [1,1,1,1], - [1,1,1,1], - [1,1,1,6] - ] - }, - { - "id": 1010, - "map": [ - [1,0,1,1], - [1,1,1,1], - [1,1,1,1], - [1,1,1,6] - ] - } - ], + // 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":4},{"id":"1002","map":[[1,0,0,0],[0,0,0,4],[0,0,0,0],[0,0,0,0]],"min_steps":4},{"id":"1003","map":[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,4]],"min_steps":6},{"id":"1004","map":[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,4,0,0]],"min_steps":4},{"id":"1005","map":[[1,0,0,0],[0,0,0,0],[0,0,0,4],[0,0,0,0]],"min_steps":5},{"id":"1006","map":[[4,0,0,0],[0,0,0,0],[0,0,0,0],[0,1,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":5},{"id":"1008","map":[[0,0,0,4],[0,0,0,0],[0,0,0,0],[1,0,0,0]],"min_steps":6}],[{"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":8},{"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":8},{"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":7},{"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,3,4]],"min_steps":8},{"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":7},{"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":8},{"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":7}],[{"id":"3001","map":[[0,0,2,0,2,4],[0,2,0,0,0,0],[0,0,2,0,0,0],[1,2,2,0,0,0],[0,0,0,0,2,0],[0,2,2,0,0,2]],"min_steps":4},{"id":"3002","map":[[0,2,0,0,2,0],[0,0,0,0,0,0],[0,2,0,0,2,1],[0,2,0,0,0,0],[0,0,0,0,0,2],[2,0,2,4,2,2]],"min_steps":4}],[{"id":"4001","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":"4002","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":"4003","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":"4004","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":"4005","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":"4006","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":"4007","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":"4008","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":"4009","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":"4010","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":"5001","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":"5002","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":"5003","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":"5004","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":"5005","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":"5006","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":"5007","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":"5008","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":"5009","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":"5010","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":"5011","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":"5012","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":"5013","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":"5014","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":"5015","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":"5016","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":"5017","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":"5018","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":"6001","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":"6002","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":"6003","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":"6004","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":"6005","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":"6006","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":"6007","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":"6008","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":"6009","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":"6010","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":"6011","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":"6012","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":"6013","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":"6014","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":"6015","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":"6016","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":"6017","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":"6018","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":"6019","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":"6020","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":"7001","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":"7002","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":"7003","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":"7004","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":"7005","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":"7006","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":"7007","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":"7008","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":"7009","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":"7010","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":"7011","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":"7012","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":"7013","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":"7014","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":"7015","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":"7016","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":"7017","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":"7018","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":"7019","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":"7020","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":"7021","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":"8001","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":"8002","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":"8003","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":"8004","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":"8005","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":"8006","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":"8007","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":"8008","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":"8009","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":"8010","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":"8011","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":"8012","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":"8013","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":"8014","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":"8015","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":"8016","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":"8017","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":"8018","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":"8019","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":"8020","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":"8021","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":"8022","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":"8023","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":"8024","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":"8025","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":"8026","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":"8027","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":"8028","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":"8029","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":"8030","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":"8031","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":"8032","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":"8033","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":"8034","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":"8035","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":"8036","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":"8037","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":"8038","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":"8039","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":"8040","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":"8041","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}]] + + + } diff --git a/assets/Script/module/Crypto/HttpUtil.ts b/assets/Script/module/Crypto/HttpUtil.ts index 7316097..4bdc444 100644 --- a/assets/Script/module/Crypto/HttpUtil.ts +++ b/assets/Script/module/Crypto/HttpUtil.ts @@ -91,8 +91,8 @@ function responseHandler(response: { data: any }) { // 响应拦截器 // Rq.interceptors.response.use(responseHandler) const config = { - gameId: "100010", - secretKey: "wozrGKsL", + gameId: "100012", + secretKey: "onnfPKJW", EK:"hui231%1" }; diff --git a/assets/Script/module/GameStart/GameAppStart.ts b/assets/Script/module/GameStart/GameAppStart.ts index 939aca3..f2f3bd4 100644 --- a/assets/Script/module/GameStart/GameAppStart.ts +++ b/assets/Script/module/GameStart/GameAppStart.ts @@ -41,7 +41,9 @@ window.initMgr = function() { startGame:"10002", //传递开始建筑 next: "10003" , //传递执行下一个格子洪水流过 changePath: "10004", //传递操作控制 - changeMap: "10005" //改变那地图 + changeMap: "10005", //改变那地图 + nextWater: "10006" , //传递执行下一个格子洪水流过 + addEnd: "10007" , //添加结束点 } /* diff --git a/assets/prefab/Block.prefab b/assets/prefab/Block.prefab index 63f93ef..2270041 100644 --- a/assets/prefab/Block.prefab +++ b/assets/prefab/Block.prefab @@ -26,27 +26,48 @@ { "__id__": 8 }, + { + "__id__": 11 + }, + { + "__id__": 14 + }, + { + "__id__": 17 + }, + { + "__id__": 20 + }, { "__id__": 23 }, { - "__id__": 32 + "__id__": 26 }, { - "__id__": 35 + "__id__": 41 + }, + { + "__id__": 50 + }, + { + "__id__": 65 + }, + { + "__id__": 77 } ], "_active": true, "_components": [ { - "__id__": 38 + "__id__": 80 }, { - "__id__": 39 + "__id__": 81 } ], "_prefab": { - "__id__": 40 + "__id__": 82 }, "_opacity": 255, "_color": { @@ -97,7 +118,7 @@ }, { "__type__": "cc.Node", - "_name": "Reinforce", + "_name": "turnStart", "_objFlags": 0, "_parent": { "__id__": 1 @@ -112,7 +133,7 @@ "_prefab": { "__id__": 4 }, - "_opacity": 0, + "_opacity": 255, "_color": { "__type__": "cc.Color", "r": 255, @@ -174,6 +195,329 @@ ], "_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": "91pygXpylIc6WIV3bc0sSU", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "waterStart", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": false, + "_components": [ + { + "__id__": 6 + } + ], + "_prefab": { + "__id__": 7 + }, + "_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__": 5 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "e06f7c0f-f9f3-43ac-93f0-fee5ed6cf026" + }, + "_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": "561W77CSNGgo1dunNDNXCV", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "bg", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 9 + } + ], + "_prefab": { + "__id__": 10 + }, + "_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__": 8 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": null, + "_type": 0, + "_sizeMode": 1, + "_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": "f0HOqitqhA5L0HdoWHNWLD", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "Reinforce", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": false, + "_components": [ + { + "__id__": 12 + } + ], + "_prefab": { + "__id__": 13 + }, + "_opacity": 0, + "_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__": 11 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, "_spriteFrame": { "__uuid__": "02faa74f-fcb3-4c62-9ad7-c5bdabcd2a0a" }, @@ -215,11 +559,11 @@ "_active": false, "_components": [ { - "__id__": 6 + "__id__": 15 } ], "_prefab": { - "__id__": 7 + "__id__": 16 }, "_opacity": 0, "_color": { @@ -273,7 +617,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 5 + "__id__": 14 }, "_enabled": true, "_materials": [ @@ -313,16 +657,121 @@ }, { "__type__": "cc.Node", - "_name": "vertical", + "_name": "vertical2", "_objFlags": 0, "_parent": { "__id__": 1 }, - "_children": [ + "_children": [], + "_active": false, + "_components": [ { - "__id__": 9 + "__id__": 18 } ], + "_prefab": { + "__id__": 19 + }, + "_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__": 17 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "b76603e2-c166-4ce9-af37-417cdedde12e" + }, + "_type": 3, + "_sizeMode": 1, + "_fillType": 1, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "59m0Fk9O9EjJ2NMsw4izxI", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "turn2", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], "_active": false, "_components": [ { @@ -379,32 +828,254 @@ "groupIndex": 0, "_id": "" }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 20 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_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" + }, + "_type": 3, + "_sizeMode": 1, + "_fillType": 1, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "01QtN2Wm5KnJ0u3PlL426T", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "vertical", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 27 + } + ], + "_active": false, + "_components": [ + { + "__id__": 39 + } + ], + "_prefab": { + "__id__": 40 + }, + "_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.Node", "_name": "wave", "_objFlags": 0, "_parent": { - "__id__": 8 + "__id__": 26 }, "_children": [ { - "__id__": 10 + "__id__": 28 }, { - "__id__": 13 + "__id__": 31 }, { - "__id__": 16 + "__id__": 34 } ], "_active": true, "_components": [ { - "__id__": 19 + "__id__": 37 } ], "_prefab": { - "__id__": 20 + "__id__": 38 }, "_opacity": 255, "_color": { @@ -458,17 +1129,17 @@ "_name": "water1", "_objFlags": 0, "_parent": { - "__id__": 9 + "__id__": 27 }, "_children": [], "_active": true, "_components": [ { - "__id__": 11 + "__id__": 29 } ], "_prefab": { - "__id__": 12 + "__id__": 30 }, "_opacity": 255, "_color": { @@ -480,7 +1151,7 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 7, + "width": 8, "height": 128 }, "_anchorPoint": { @@ -493,7 +1164,7 @@ "ctor": "Float64Array", "array": [ -10.489, - -97.313, + -120, 0, 0, 0, @@ -522,7 +1193,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 10 + "__id__": 28 }, "_enabled": true, "_materials": [ @@ -533,7 +1204,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "5ae8f70d-1d21-404e-bb05-5d4ddddda803" + "__uuid__": "e498e92c-6f59-4675-8a5f-dea0cf949d66" }, "_type": 0, "_sizeMode": 1, @@ -546,7 +1217,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "" }, { @@ -565,17 +1238,17 @@ "_name": "water2", "_objFlags": 0, "_parent": { - "__id__": 9 + "__id__": 27 }, "_children": [], "_active": true, "_components": [ { - "__id__": 14 + "__id__": 32 } ], "_prefab": { - "__id__": 15 + "__id__": 33 }, "_opacity": 255, "_color": { @@ -600,7 +1273,7 @@ "ctor": "Float64Array", "array": [ 3.012, - -97.313, + -120, 0, 0, 0, @@ -629,7 +1302,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 13 + "__id__": 31 }, "_enabled": true, "_materials": [ @@ -640,7 +1313,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "e8ddc240-81ef-4d7f-a7c4-8c3ee4b94b4f" + "__uuid__": "61be84a2-2f2b-4274-a6ef-41d52c9555af" }, "_type": 0, "_sizeMode": 1, @@ -653,7 +1326,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "" }, { @@ -672,17 +1347,17 @@ "_name": "water3", "_objFlags": 0, "_parent": { - "__id__": 9 + "__id__": 27 }, "_children": [], "_active": true, "_components": [ { - "__id__": 17 + "__id__": 35 } ], "_prefab": { - "__id__": 18 + "__id__": 36 }, "_opacity": 255, "_color": { @@ -707,7 +1382,7 @@ "ctor": "Float64Array", "array": [ 12.416, - -97.313, + -120, 0, 0, 0, @@ -736,7 +1411,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 16 + "__id__": 34 }, "_enabled": true, "_materials": [ @@ -747,7 +1422,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "a6bbf444-2576-4c4c-a579-8d6fdcd5f724" + "__uuid__": "153f1f33-91bf-4f36-a33f-f042a187c02e" }, "_type": 0, "_sizeMode": 1, @@ -760,7 +1435,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "" }, { @@ -779,7 +1456,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 9 + "__id__": 27 }, "_enabled": true, "_materials": [ @@ -810,7 +1487,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 8 + "__id__": 26 }, "_enabled": true, "_materials": [ @@ -859,17 +1536,17 @@ }, "_children": [ { - "__id__": 24 + "__id__": 42 } ], "_active": false, "_components": [ { - "__id__": 30 + "__id__": 48 } ], "_prefab": { - "__id__": 31 + "__id__": 49 }, "_opacity": 255, "_color": { @@ -923,21 +1600,21 @@ "_name": "wave", "_objFlags": 0, "_parent": { - "__id__": 23 + "__id__": 41 }, "_children": [ { - "__id__": 25 + "__id__": 43 } ], "_active": true, "_components": [ { - "__id__": 28 + "__id__": 46 } ], "_prefab": { - "__id__": 29 + "__id__": 47 }, "_opacity": 255, "_color": { @@ -991,17 +1668,17 @@ "_name": "water", "_objFlags": 0, "_parent": { - "__id__": 24 + "__id__": 42 }, "_children": [], "_active": true, "_components": [ { - "__id__": 26 + "__id__": 44 } ], "_prefab": { - "__id__": 27 + "__id__": 45 }, "_opacity": 255, "_color": { @@ -1013,8 +1690,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 131, - "height": 128 + "width": 179, + "height": 179 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1055,7 +1732,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 25 + "__id__": 43 }, "_enabled": true, "_materials": [ @@ -1066,7 +1743,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "d9b04dd4-b22c-4268-bf73-ac34fda14bc5" + "__uuid__": "5f0d6504-1636-4144-8d9e-32364b96f8d1" }, "_type": 0, "_sizeMode": 1, @@ -1079,7 +1756,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "" }, { @@ -1098,7 +1777,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 24 + "__id__": 42 }, "_enabled": true, "_materials": [ @@ -1129,7 +1808,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 23 + "__id__": 41 }, "_enabled": true, "_materials": [ @@ -1176,15 +1855,19 @@ "_parent": { "__id__": 1 }, - "_children": [], + "_children": [ + { + "__id__": 51 + } + ], "_active": false, "_components": [ { - "__id__": 33 + "__id__": 63 } ], "_prefab": { - "__id__": 34 + "__id__": 64 }, "_opacity": 255, "_color": { @@ -1196,7 +1879,7 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 60, + "width": 96, "height": 96 }, "_anchorPoint": { @@ -1233,12 +1916,150 @@ "groupIndex": 0, "_id": "" }, + { + "__type__": "cc.Node", + "_name": "wave", + "_objFlags": 0, + "_parent": { + "__id__": 50 + }, + "_children": [ + { + "__id__": 52 + }, + { + "__id__": 55 + }, + { + "__id__": 58 + } + ], + "_active": true, + "_components": [ + { + "__id__": 61 + } + ], + "_prefab": { + "__id__": 62 + }, + "_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.Node", + "_name": "water1", + "_objFlags": 0, + "_parent": { + "__id__": 51 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 53 + } + ], + "_prefab": { + "__id__": 54 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 8, + "height": 128 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -10.489, + -120, + 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__": 32 + "__id__": 52 }, "_enabled": true, "_materials": [ @@ -1249,7 +2070,301 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "af8457b5-c84c-4585-9402-aee73193f450" + "__uuid__": "e498e92c-6f59-4675-8a5f-dea0cf949d66" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "4fbsAmb2xL9Z5ru7uF0kbu", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "water2", + "_objFlags": 0, + "_parent": { + "__id__": 51 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 56 + } + ], + "_prefab": { + "__id__": 57 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 8, + "height": 118 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 3.012, + -120, + 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__": 55 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "61be84a2-2f2b-4274-a6ef-41d52c9555af" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "a1XbxIz/pDM5yEnPY4GVrB", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "water3", + "_objFlags": 0, + "_parent": { + "__id__": 51 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 59 + } + ], + "_prefab": { + "__id__": 60 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 24, + "height": 138 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 12.416, + -120, + 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__": 58 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "153f1f33-91bf-4f36-a33f-f042a187c02e" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "3aiOLofOhI6LU6NH1etq12", + "sync": false + }, + { + "__type__": "cc.Mask", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 51 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_spriteFrame": null, + "_type": 0, + "_segments": 64, + "_N$alphaThreshold": 0.1, + "_N$inverted": false, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "88lwocuPBOz4+Ox3FYCDNN", + "sync": false + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 50 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "a867e23c-0cb2-4e4c-8b56-6d767ba3e3a7" }, "_type": 3, "_sizeMode": 1, @@ -1262,6 +2377,405 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "35xKcSVUZLopFFdXxCEm5O", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "sp", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 66 + }, + { + "__id__": 69 + }, + { + "__id__": 72 + } + ], + "_active": true, + "_components": [ + { + "__id__": 75 + } + ], + "_prefab": { + "__id__": 76 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 0, + "height": 0 + }, + "_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.Node", + "_name": "start", + "_objFlags": 0, + "_parent": { + "__id__": 65 + }, + "_children": [], + "_active": false, + "_components": [ + { + "__id__": 67 + } + ], + "_prefab": { + "__id__": 68 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 96, + "height": 36 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 28, + 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__": 66 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "76a60b7f-4c56-43e3-bd0c-2068fe3e6114" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "b9arqz+uVOoLBKt3S+yI2K", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "end", + "_objFlags": 0, + "_parent": { + "__id__": 65 + }, + "_children": [], + "_active": false, + "_components": [ + { + "__id__": 70 + } + ], + "_prefab": { + "__id__": 71 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 96, + "height": 36 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 30, + 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__": 69 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "d506451a-fe7c-41c7-9f9b-d2ad917c686c" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "7e0oRK9FRIQo7GCUOlzQGX", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "bg", + "_objFlags": 0, + "_parent": { + "__id__": 65 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 73 + } + ], + "_prefab": { + "__id__": 74 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 0, + "height": 0 + }, + "_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__": 72 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": null, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, "_atlas": null, "_id": "" }, @@ -1273,7 +2787,48 @@ "asset": { "__id__": 0 }, - "fileId": "35xKcSVUZLopFFdXxCEm5O", + "fileId": "84LEMr+CxNAYuAy0aJ2ERx", + "sync": false + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 65 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": null, + "_type": 0, + "_sizeMode": 1, + "_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": "96hwYYVvZIeJFUaZYzJVKS", "sync": false }, { @@ -1284,20 +2839,20 @@ "__id__": 1 }, "_children": [], - "_active": false, + "_active": true, "_components": [ { - "__id__": 36 + "__id__": 78 } ], "_prefab": { - "__id__": 37 + "__id__": 79 }, "_opacity": 0, "_color": { "__type__": "cc.Color", - "r": 0, - "g": 231, + "r": 255, + "g": 255, "b": 255, "a": 255 }, @@ -1345,7 +2900,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 35 + "__id__": 77 }, "_enabled": true, "_materials": [ @@ -1356,7 +2911,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "a23235d1-15db-4b95-8439-a2e005bfff91" + "__uuid__": "abd4feee-c0b1-4fd0-bc07-927f4c13eafe" }, "_type": 0, "_sizeMode": 0, @@ -1369,7 +2924,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "" }, { diff --git a/assets/prefab/mapTip.prefab b/assets/prefab/mapTip.prefab index 2ec95e0..3b648ed 100644 --- a/assets/prefab/mapTip.prefab +++ b/assets/prefab/mapTip.prefab @@ -36,8 +36,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 106, - "height": 98 + "width": 46, + "height": 46 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -55,8 +55,8 @@ 0, 0, 1, - 0.5, - 0.5, + 1, + 1, 0 ] }, @@ -89,7 +89,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "6b009d51-7e95-45c5-b483-f2948213f8b6" + "__uuid__": "86453b08-c95d-4dd7-be39-d7d97e3f93db" }, "_type": 0, "_sizeMode": 1, @@ -102,7 +102,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "" }, { diff --git a/assets/prefab/reinforce.prefab b/assets/prefab/reinforce.prefab index 97ca557..64e7a0f 100644 --- a/assets/prefab/reinforce.prefab +++ b/assets/prefab/reinforce.prefab @@ -29,15 +29,15 @@ "_opacity": 255, "_color": { "__type__": "cc.Color", - "r": 0, + "r": 255, "g": 255, - "b": 235, + "b": 255, "a": 255 }, "_contentSize": { "__type__": "cc.Size", - "width": 96, - "height": 96 + "width": 46, + "height": 46 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -55,8 +55,8 @@ 0, 0, 1, - 0.5, - 0.5, + 1, + 1, 0 ] }, @@ -89,7 +89,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "a3ef42a4-ab25-492d-b6c8-36d166c99a15" + "__uuid__": "b80f2487-005a-4928-bde5-04fa41aeda71" }, "_type": 0, "_sizeMode": 1, @@ -102,7 +102,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "" }, { diff --git a/assets/prefab/soil.prefab b/assets/prefab/soil.prefab index 168a9e8..e7aa293 100644 --- a/assets/prefab/soil.prefab +++ b/assets/prefab/soil.prefab @@ -29,15 +29,15 @@ "_opacity": 255, "_color": { "__type__": "cc.Color", - "r": 219, - "g": 80, - "b": 14, + "r": 255, + "g": 255, + "b": 255, "a": 255 }, "_contentSize": { "__type__": "cc.Size", - "width": 96, - "height": 96 + "width": 46, + "height": 46 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -55,8 +55,8 @@ 0, 0, 1, - 0.5, - 0.5, + 1, + 1, 0 ] }, @@ -89,7 +89,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "a3ef42a4-ab25-492d-b6c8-36d166c99a15" + "__uuid__": "c56d3750-ea9e-4a25-8ee4-ca2306c86f7e" }, "_type": 0, "_sizeMode": 1, @@ -102,7 +102,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "" }, { diff --git a/assets/resources/Bg/bg1.jpg b/assets/resources/Bg/bg1.jpg new file mode 100644 index 0000000..37c26bb Binary files /dev/null and b/assets/resources/Bg/bg1.jpg differ diff --git a/assets/resources/UI/block2.png.meta b/assets/resources/Bg/bg1.jpg.meta similarity index 64% rename from assets/resources/UI/block2.png.meta rename to assets/resources/Bg/bg1.jpg.meta index 0c69e5a..3358ff2 100644 --- a/assets/resources/UI/block2.png.meta +++ b/assets/resources/Bg/bg1.jpg.meta @@ -1,6 +1,6 @@ { "ver": "2.3.7", - "uuid": "bc1d04bb-c176-4882-be2b-e8697f8064a9", + "uuid": "7a27612e-e898-4a59-afb2-1afd54664469", "importer": "texture", "type": "sprite", "wrapMode": "clamp", @@ -8,15 +8,15 @@ "premultiplyAlpha": false, "genMipmaps": false, "packable": true, - "width": 78, - "height": 78, + "width": 750, + "height": 1660, "platformSettings": {}, "subMetas": { - "block2": { + "bg1": { "ver": "1.0.6", - "uuid": "e3acc841-072e-46c4-b892-be3da3cb608b", + "uuid": "cdd137bb-0948-45d8-83d9-72ef549a9dbc", "importer": "sprite-frame", - "rawTextureUuid": "bc1d04bb-c176-4882-be2b-e8697f8064a9", + "rawTextureUuid": "7a27612e-e898-4a59-afb2-1afd54664469", "trimType": "auto", "trimThreshold": 1, "rotated": false, @@ -24,10 +24,10 @@ "offsetY": 0, "trimX": 0, "trimY": 0, - "width": 78, - "height": 78, - "rawWidth": 78, - "rawHeight": 78, + "width": 750, + "height": 1660, + "rawWidth": 750, + "rawHeight": 1660, "borderTop": 0, "borderBottom": 0, "borderLeft": 0, diff --git a/assets/resources/Bg/bg2.jpg b/assets/resources/Bg/bg2.jpg new file mode 100644 index 0000000..c77349b Binary files /dev/null and b/assets/resources/Bg/bg2.jpg differ diff --git a/assets/resources/Bg/bg2.png.meta b/assets/resources/Bg/bg2.jpg.meta similarity index 80% rename from assets/resources/Bg/bg2.png.meta rename to assets/resources/Bg/bg2.jpg.meta index b9d093b..f5a1965 100644 --- a/assets/resources/Bg/bg2.png.meta +++ b/assets/resources/Bg/bg2.jpg.meta @@ -1,6 +1,6 @@ { "ver": "2.3.7", - "uuid": "c71bf634-8b0b-4e7a-9c82-7ec6173bc5bb", + "uuid": "e006af8e-5c21-4124-b29b-4d429f0900b3", "importer": "texture", "type": "sprite", "wrapMode": "clamp", @@ -14,9 +14,9 @@ "subMetas": { "bg2": { "ver": "1.0.6", - "uuid": "57395957-a96b-4a27-8e2a-696e24d876a2", + "uuid": "75ac69d4-fee8-4af1-b32c-4c8fab0b6f7b", "importer": "sprite-frame", - "rawTextureUuid": "c71bf634-8b0b-4e7a-9c82-7ec6173bc5bb", + "rawTextureUuid": "e006af8e-5c21-4124-b29b-4d429f0900b3", "trimType": "auto", "trimThreshold": 1, "rotated": false, diff --git a/assets/resources/Bg/bg2.png b/assets/resources/Bg/bg2.png deleted file mode 100644 index 3d6f08f..0000000 Binary files a/assets/resources/Bg/bg2.png and /dev/null differ diff --git a/assets/resources/UI/block1.png b/assets/resources/UI/block1.png deleted file mode 100644 index f172d1d..0000000 Binary files a/assets/resources/UI/block1.png and /dev/null differ diff --git a/assets/resources/UI/block1.png.meta b/assets/resources/UI/block1.png.meta deleted file mode 100644 index 2dcf7e7..0000000 --- a/assets/resources/UI/block1.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "d38677eb-455f-4373-ad16-121fc24ccd59", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 60, - "height": 96, - "platformSettings": {}, - "subMetas": { - "block1": { - "ver": "1.0.6", - "uuid": "af8457b5-c84c-4585-9402-aee73193f450", - "importer": "sprite-frame", - "rawTextureUuid": "d38677eb-455f-4373-ad16-121fc24ccd59", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 60, - "height": 96, - "rawWidth": 60, - "rawHeight": 96, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/resources/UI/block2.png b/assets/resources/UI/block2.png deleted file mode 100644 index dd0a2b8..0000000 Binary files a/assets/resources/UI/block2.png and /dev/null differ diff --git a/assets/resources/UI/boss_warn_bg.png b/assets/resources/UI/boss_warn_bg.png new file mode 100644 index 0000000..be3bee6 Binary files /dev/null and b/assets/resources/UI/boss_warn_bg.png differ diff --git a/assets/resources/UI/turn_wawe.png.meta b/assets/resources/UI/boss_warn_bg.png.meta similarity index 59% rename from assets/resources/UI/turn_wawe.png.meta rename to assets/resources/UI/boss_warn_bg.png.meta index 1d760df..9f63512 100644 --- a/assets/resources/UI/turn_wawe.png.meta +++ b/assets/resources/UI/boss_warn_bg.png.meta @@ -1,6 +1,6 @@ { "ver": "2.3.7", - "uuid": "d7c204b8-0179-40c7-b370-12c199c53dcb", + "uuid": "b5f1d74c-bd02-4f27-8104-659f5c0ec112", "importer": "texture", "type": "sprite", "wrapMode": "clamp", @@ -8,26 +8,26 @@ "premultiplyAlpha": false, "genMipmaps": false, "packable": true, - "width": 146, - "height": 146, + "width": 125, + "height": 640, "platformSettings": {}, "subMetas": { - "turn_wawe": { + "boss_warn_bg": { "ver": "1.0.6", - "uuid": "e0dbc420-4ecd-4fc3-b83d-0aad6bbc1759", + "uuid": "b926007a-3c3e-4981-b1c0-638864dfc892", "importer": "sprite-frame", - "rawTextureUuid": "d7c204b8-0179-40c7-b370-12c199c53dcb", + "rawTextureUuid": "b5f1d74c-bd02-4f27-8104-659f5c0ec112", "trimType": "auto", "trimThreshold": 1, "rotated": false, - "offsetX": 0, + "offsetX": 4.5, "offsetY": 0, "trimX": 9, - "trimY": 9, - "width": 128, - "height": 128, - "rawWidth": 146, - "rawHeight": 146, + "trimY": 0, + "width": 116, + "height": 640, + "rawWidth": 125, + "rawHeight": 640, "borderTop": 0, "borderBottom": 0, "borderLeft": 0, diff --git a/assets/resources/UI/publicUI.plist b/assets/resources/UI/publicUI.plist index 4759de1..c66c33e 100644 --- a/assets/resources/UI/publicUI.plist +++ b/assets/resources/UI/publicUI.plist @@ -15,7 +15,7 @@ spriteSourceSize {96,96} textureRect - {{1,149},{96,96}} + {{1592,9},{96,96}} textureRotated @@ -30,7 +30,7 @@ spriteSourceSize {96,96} textureRect - {{149,1},{96,96}} + {{1690,1},{96,96}} textureRotated @@ -45,7 +45,7 @@ spriteSourceSize {96,96} textureRect - {{1,247},{96,96}} + {{1788,1},{96,96}} textureRotated @@ -60,7 +60,7 @@ spriteSourceSize {96,96} textureRect - {{247,1},{96,96}} + {{1886,1},{96,96}} textureRotated @@ -75,7 +75,7 @@ spriteSourceSize {96,96} textureRect - {{1,345},{96,96}} + {{1220,160},{96,96}} textureRotated @@ -90,7 +90,7 @@ spriteSourceSize {96,96} textureRect - {{345,1},{96,96}} + {{1318,133},{96,96}} textureRotated @@ -105,7 +105,7 @@ spriteSourceSize {96,96} textureRect - {{443,1},{96,96}} + {{1416,133},{96,96}} textureRotated @@ -120,7 +120,7 @@ spriteSourceSize {96,96} textureRect - {{541,1},{96,96}} + {{1514,113},{96,96}} textureRotated @@ -135,7 +135,22 @@ spriteSourceSize {96,96} textureRect - {{149,99},{96,96}} + {{1612,107},{96,96}} + textureRotated + + + begin.png + + aliases + + spriteOffset + {0,0} + spriteSize + {218,60} + spriteSourceSize + {218,60} + textureRect + {{1268,9},{218,60}} textureRotated @@ -150,7 +165,7 @@ spriteSourceSize {96,96} textureRect - {{247,99},{96,96}} + {{1710,99},{96,96}} textureRotated @@ -165,7 +180,7 @@ spriteSourceSize {96,96} textureRect - {{345,99},{96,96}} + {{1808,99},{96,96}} textureRotated @@ -180,7 +195,22 @@ spriteSourceSize {96,96} textureRect - {{443,99},{96,96}} + {{1906,99},{96,96}} + textureRotated + + + build.png + + aliases + + spriteOffset + {0,0} + spriteSize + {218,60} + spriteSourceSize + {218,60} + textureRect + {{1268,71},{218,60}} textureRotated @@ -195,7 +225,7 @@ spriteSourceSize {96,96} textureRect - {{541,99},{96,96}} + {{1220,258},{96,96}} textureRotated @@ -210,7 +240,7 @@ spriteSourceSize {96,96} textureRect - {{125,197},{96,96}} + {{1318,231},{96,96}} textureRotated @@ -225,7 +255,7 @@ spriteSourceSize {96,96} textureRect - {{223,197},{96,96}} + {{1416,231},{96,96}} textureRotated @@ -240,7 +270,22 @@ spriteSourceSize {96,96} textureRect - {{321,197},{96,96}} + {{1514,211},{96,96}} + textureRotated + + + chehui.png + + aliases + + spriteOffset + {0,0} + spriteSize + {72,72} + spriteSourceSize + {72,72} + textureRect + {{1013,341},{72,72}} textureRotated @@ -255,7 +300,7 @@ spriteSourceSize {96,96} textureRect - {{419,197},{96,96}} + {{1612,205},{96,96}} textureRotated @@ -270,7 +315,7 @@ spriteSourceSize {96,96} textureRect - {{517,197},{96,96}} + {{1710,197},{96,96}} textureRotated @@ -285,7 +330,37 @@ spriteSourceSize {96,96} textureRect - {{99,295},{96,96}} + {{1808,197},{96,96}} + textureRotated + + + down.png + + aliases + + spriteOffset + {0,0} + spriteSize + {84,84} + spriteSourceSize + {84,84} + textureRect + {{747,420},{84,84}} + textureRotated + + + downBg.png + + aliases + + spriteOffset + {0,0} + spriteSize + {750,354} + spriteSourceSize + {750,354} + textureRect + {{1,1},{750,354}} textureRotated @@ -300,7 +375,7 @@ spriteSourceSize {96,96} textureRect - {{99,393},{96,96}} + {{1906,197},{96,96}} textureRotated @@ -315,7 +390,7 @@ spriteSourceSize {96,96} textureRect - {{197,295},{96,96}} + {{1318,329},{96,96}} textureRotated @@ -330,7 +405,7 @@ spriteSourceSize {96,96} textureRect - {{197,393},{96,96}} + {{1416,329},{96,96}} textureRotated @@ -345,7 +420,7 @@ spriteSourceSize {96,96} textureRect - {{295,295},{96,96}} + {{1514,309},{96,96}} textureRotated @@ -360,7 +435,22 @@ spriteSourceSize {96,96} textureRect - {{295,393},{96,96}} + {{1612,303},{96,96}} + textureRotated + + + e6.png + + aliases + + spriteOffset + {0,0} + spriteSize + {96,96} + spriteSourceSize + {96,96} + textureRect + {{1710,295},{96,96}} textureRotated @@ -375,7 +465,7 @@ spriteSourceSize {96,96} textureRect - {{393,295},{96,96}} + {{1808,295},{96,96}} textureRotated @@ -390,7 +480,7 @@ spriteSourceSize {96,36} textureRect - {{1,443},{96,36}} + {{503,439},{96,36}} textureRotated @@ -405,7 +495,247 @@ spriteSourceSize {35,96} textureRect - {{639,99},{35,96}} + {{1,469},{35,96}} + textureRotated + + + fangxiangBg.png + + aliases + + spriteOffset + {0,0} + spriteSize + {258,258} + spriteSourceSize + {258,258} + textureRect + {{753,160},{258,258}} + textureRotated + + + headBg.png + + aliases + + spriteOffset + {0,0} + spriteSize + {744,80} + spriteSourceSize + {744,80} + textureRect + {{1,357},{744,80}} + textureRotated + + + jiagu.png + + aliases + + spriteOffset + {0,0} + spriteSize + {72,72} + spriteSourceSize + {72,72} + textureRect + {{1087,341},{72,72}} + textureRotated + + + lang.png + + aliases + + spriteOffset + {0,0} + spriteSize + {49,32} + spriteSourceSize + {49,32} + textureRect + {{197,469},{49,32}} + textureRotated + + + left.png + + aliases + + spriteOffset + {0,0} + spriteSize + {84,84} + spriteSourceSize + {84,84} + textureRect + {{833,420},{84,84}} + textureRotated + + + line.png + + aliases + + spriteOffset + {0,0} + spriteSize + {412,6} + spriteSourceSize + {412,6} + textureRect + {{1268,1},{412,6}} + textureRotated + + + little_down.png + + aliases + + spriteOffset + {0,0} + spriteSize + {46,46} + spriteSourceSize + {46,46} + textureRect + {{699,439},{46,46}} + textureRotated + + + little_jiagu.png + + aliases + + spriteOffset + {0,0} + spriteSize + {46,46} + spriteSourceSize + {46,46} + textureRect + {{1165,409},{46,46}} + textureRotated + + + little_left.png + + aliases + + spriteOffset + {0,0} + spriteSize + {46,46} + spriteSourceSize + {46,46} + textureRect + {{1213,356},{46,46}} + textureRotated + + + little_right.png + + aliases + + spriteOffset + {0,0} + spriteSize + {46,46} + spriteSourceSize + {46,46} + textureRect + {{1213,404},{46,46}} + textureRotated + + + little_up.png + + aliases + + spriteOffset + {0,0} + spriteSize + {46,46} + spriteSourceSize + {46,46} + textureRect + {{1261,356},{46,46}} + textureRotated + + + little_xirang.png + + aliases + + spriteOffset + {0,0} + spriteSize + {46,46} + spriteSourceSize + {46,46} + textureRect + {{1261,404},{46,46}} + textureRotated + + + progress.png + + aliases + + spriteOffset + {0,0} + spriteSize + {500,18} + spriteSourceSize + {500,18} + textureRect + {{1,439},{500,18}} + textureRotated + + + progressBg.png + + aliases + + spriteOffset + {0,0} + spriteSize + {500,18} + spriteSourceSize + {500,18} + textureRect + {{753,140},{500,18}} + textureRotated + + + rankBtn.png + + aliases + + spriteOffset + {0,0} + spriteSize + {102,102} + spriteSourceSize + {102,102} + textureRect + {{1488,9},{102,102}} + textureRotated + + + right.png + + aliases + + spriteOffset + {0,0} + spriteSize + {84,84} + spriteSourceSize + {84,84} + textureRect + {{919,420},{84,84}} textureRotated @@ -420,7 +750,7 @@ spriteSourceSize {96,96} textureRect - {{393,393},{96,96}} + {{1906,295},{96,96}} textureRotated @@ -435,7 +765,7 @@ spriteSourceSize {96,96} textureRect - {{491,295},{96,96}} + {{1514,407},{96,96}} textureRotated @@ -450,7 +780,7 @@ spriteSourceSize {96,96} textureRect - {{491,393},{96,96}} + {{1612,401},{96,96}} textureRotated @@ -465,7 +795,22 @@ spriteSourceSize {96,96} textureRect - {{589,295},{96,96}} + {{1710,393},{96,96}} + textureRotated + + + shanchu.png + + aliases + + spriteOffset + {0,0} + spriteSize + {72,72} + spriteSourceSize + {72,72} + textureRect + {{1091,415},{72,72}} textureRotated @@ -480,7 +825,22 @@ spriteSourceSize {96,96} textureRect - {{589,393},{96,96}} + {{1808,393},{96,96}} + textureRotated + + + startBtn.png + + aliases + + spriteOffset + {0,0} + spriteSize + {513,137} + spriteSourceSize + {513,137} + textureRect + {{753,1},{513,137}} textureRotated @@ -495,9 +855,9 @@ spriteSourceSize {96,36} textureRect - {{639,1},{96,36}} + {{601,439},{96,36}} textureRotated - + start_y.png @@ -510,22 +870,52 @@ spriteSourceSize {35,96} textureRect - {{615,197},{35,96}} + {{99,469},{35,96}} textureRotated - + - turn_wawe.png + tou.png aliases spriteOffset {0,0} spriteSize - {146,146} + {66,50} spriteSourceSize - {146,146} + {66,50} textureRect - {{1,1},{146,146}} + {{1161,341},{66,50}} + textureRotated + + + turn_wawe2.png + + aliases + + spriteOffset + {0,0} + spriteSize + {179,179} + spriteSourceSize + {179,179} + textureRect + {{1013,160},{179,179}} + textureRotated + + + up.png + + aliases + + spriteOffset + {0,0} + spriteSize + {84,84} + spriteSourceSize + {84,84} + textureRect + {{1005,420},{84,84}} textureRotated @@ -540,7 +930,52 @@ spriteSourceSize {24,138} textureRect - {{99,149},{24,138}} + {{1194,160},{24,138}} + textureRotated + + + vertical_wave2.png + + aliases + + spriteOffset + {0,0} + spriteSize + {8,118} + spriteSourceSize + {8,118} + textureRect + {{131,459},{8,118}} + textureRotated + + + vertical_wave3.png + + aliases + + spriteOffset + {0,0} + spriteSize + {8,128} + spriteSourceSize + {8,128} + textureRect + {{1,459},{8,128}} + textureRotated + + + xirang.png + + aliases + + spriteOffset + {0,0} + spriteSize + {72,72} + spriteSourceSize + {72,72} + textureRect + {{1906,393},{72,72}} textureRotated @@ -556,9 +991,9 @@ realTextureFileName publicUI.png size - {686,490} + {2003,505} smartupdate - $TexturePacker:SmartUpdate:383325b4703b9ab6a27358556429ce29:3aba2d162a7e3606ce2dfc19cc9a2323:1c7d81f68058ada321959f2296017bb5$ + $TexturePacker:SmartUpdate:20005818a3c3c6bcf80ac34eb2d2c852:4809596494a6c29c635551c021810865:1c7d81f68058ada321959f2296017bb5$ textureFileName publicUI.png diff --git a/assets/resources/UI/publicUI.plist.meta b/assets/resources/UI/publicUI.plist.meta index 136bcd3..4eecf82 100644 --- a/assets/resources/UI/publicUI.plist.meta +++ b/assets/resources/UI/publicUI.plist.meta @@ -4,8 +4,8 @@ "importer": "asset", "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "size": { - "width": 686, - "height": 490 + "width": 2003, + "height": 505 }, "type": "Texture Packer", "subMetas": { @@ -19,8 +19,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 1, - "trimY": 149, + "trimX": 1592, + "trimY": 9, "width": 96, "height": 96, "rawWidth": 96, @@ -42,7 +42,7 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 149, + "trimX": 1690, "trimY": 1, "width": 96, "height": 96, @@ -65,8 +65,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 1, - "trimY": 247, + "trimX": 1788, + "trimY": 1, "width": 96, "height": 96, "rawWidth": 96, @@ -88,7 +88,7 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 247, + "trimX": 1886, "trimY": 1, "width": 96, "height": 96, @@ -111,8 +111,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 1, - "trimY": 345, + "trimX": 1220, + "trimY": 160, "width": 96, "height": 96, "rawWidth": 96, @@ -134,8 +134,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 345, - "trimY": 1, + "trimX": 1318, + "trimY": 133, "width": 96, "height": 96, "rawWidth": 96, @@ -157,8 +157,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 443, - "trimY": 1, + "trimX": 1416, + "trimY": 133, "width": 96, "height": 96, "rawWidth": 96, @@ -180,8 +180,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 541, - "trimY": 1, + "trimX": 1514, + "trimY": 113, "width": 96, "height": 96, "rawWidth": 96, @@ -203,8 +203,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 149, - "trimY": 99, + "trimX": 1612, + "trimY": 107, "width": 96, "height": 96, "rawWidth": 96, @@ -216,6 +216,29 @@ "spriteType": "normal", "subMetas": {} }, + "begin.png": { + "ver": "1.0.6", + "uuid": "3dd7e558-3aa4-4532-bbba-dab95a545c39", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 1268, + "trimY": 9, + "width": 218, + "height": 60, + "rawWidth": 218, + "rawHeight": 60, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, "block1.png": { "ver": "1.0.6", "uuid": "a867e23c-0cb2-4e4c-8b56-6d767ba3e3a7", @@ -226,7 +249,7 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 247, + "trimX": 1710, "trimY": 99, "width": 96, "height": 96, @@ -249,7 +272,7 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 345, + "trimX": 1808, "trimY": 99, "width": 96, "height": 96, @@ -272,7 +295,7 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 443, + "trimX": 1906, "trimY": 99, "width": 96, "height": 96, @@ -285,6 +308,29 @@ "spriteType": "normal", "subMetas": {} }, + "build.png": { + "ver": "1.0.6", + "uuid": "362b68b6-68cd-4d41-a7f3-9ccf65481660", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 1268, + "trimY": 71, + "width": 218, + "height": 60, + "rawWidth": 218, + "rawHeight": 60, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, "c1.png": { "ver": "1.0.6", "uuid": "c01c7783-54ca-426a-b44e-173f4dba8a8a", @@ -295,8 +341,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 541, - "trimY": 99, + "trimX": 1220, + "trimY": 258, "width": 96, "height": 96, "rawWidth": 96, @@ -318,8 +364,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 125, - "trimY": 197, + "trimX": 1318, + "trimY": 231, "width": 96, "height": 96, "rawWidth": 96, @@ -341,8 +387,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 223, - "trimY": 197, + "trimX": 1416, + "trimY": 231, "width": 96, "height": 96, "rawWidth": 96, @@ -364,8 +410,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 321, - "trimY": 197, + "trimX": 1514, + "trimY": 211, "width": 96, "height": 96, "rawWidth": 96, @@ -377,6 +423,29 @@ "spriteType": "normal", "subMetas": {} }, + "chehui.png": { + "ver": "1.0.6", + "uuid": "089e5dee-caa2-4903-bba8-1371afcc55d7", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 1013, + "trimY": 341, + "width": 72, + "height": 72, + "rawWidth": 72, + "rawHeight": 72, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, "d1.png": { "ver": "1.0.6", "uuid": "98c1725e-902b-4645-a3ea-6bc3bf4233a3", @@ -387,8 +456,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 419, - "trimY": 197, + "trimX": 1612, + "trimY": 205, "width": 96, "height": 96, "rawWidth": 96, @@ -410,7 +479,7 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 517, + "trimX": 1710, "trimY": 197, "width": 96, "height": 96, @@ -433,8 +502,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 99, - "trimY": 295, + "trimX": 1808, + "trimY": 197, "width": 96, "height": 96, "rawWidth": 96, @@ -446,6 +515,52 @@ "spriteType": "normal", "subMetas": {} }, + "down.png": { + "ver": "1.0.6", + "uuid": "fc9f379e-ab15-4792-adce-65600c4793c7", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 747, + "trimY": 420, + "width": 84, + "height": 84, + "rawWidth": 84, + "rawHeight": 84, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "downBg.png": { + "ver": "1.0.6", + "uuid": "bc10af6c-0a42-48e2-9e8a-95188e5eea79", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 1, + "trimY": 1, + "width": 750, + "height": 354, + "rawWidth": 750, + "rawHeight": 354, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, "e1.png": { "ver": "1.0.6", "uuid": "ba05db30-6e52-451e-bb43-8761b4a1352f", @@ -456,8 +571,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 99, - "trimY": 393, + "trimX": 1906, + "trimY": 197, "width": 96, "height": 96, "rawWidth": 96, @@ -479,8 +594,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 197, - "trimY": 295, + "trimX": 1318, + "trimY": 329, "width": 96, "height": 96, "rawWidth": 96, @@ -502,8 +617,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 197, - "trimY": 393, + "trimX": 1416, + "trimY": 329, "width": 96, "height": 96, "rawWidth": 96, @@ -525,8 +640,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 295, - "trimY": 295, + "trimX": 1514, + "trimY": 309, "width": 96, "height": 96, "rawWidth": 96, @@ -548,8 +663,31 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 295, - "trimY": 393, + "trimX": 1612, + "trimY": 303, + "width": 96, + "height": 96, + "rawWidth": 96, + "rawHeight": 96, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "e6.png": { + "ver": "1.0.6", + "uuid": "abd4feee-c0b1-4fd0-bc07-927f4c13eafe", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 1710, + "trimY": 295, "width": 96, "height": 96, "rawWidth": 96, @@ -571,7 +709,7 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 393, + "trimX": 1808, "trimY": 295, "width": 96, "height": 96, @@ -594,8 +732,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 1, - "trimY": 443, + "trimX": 503, + "trimY": 439, "width": 96, "height": 36, "rawWidth": 96, @@ -614,11 +752,11 @@ "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "trimType": "auto", "trimThreshold": 1, - "rotated": false, + "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 639, - "trimY": 99, + "trimX": 1, + "trimY": 469, "width": 35, "height": 96, "rawWidth": 35, @@ -630,6 +768,374 @@ "spriteType": "normal", "subMetas": {} }, + "fangxiangBg.png": { + "ver": "1.0.6", + "uuid": "72c340fd-ebeb-42ce-a81c-c493482efe7b", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 753, + "trimY": 160, + "width": 258, + "height": 258, + "rawWidth": 258, + "rawHeight": 258, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "headBg.png": { + "ver": "1.0.6", + "uuid": "ffab2d63-1700-4821-8d95-9f4d4717aa1b", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 1, + "trimY": 357, + "width": 744, + "height": 80, + "rawWidth": 744, + "rawHeight": 80, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "jiagu.png": { + "ver": "1.0.6", + "uuid": "c24c6cab-d079-4534-8f94-e441d509cf46", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 1087, + "trimY": 341, + "width": 72, + "height": 72, + "rawWidth": 72, + "rawHeight": 72, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "lang.png": { + "ver": "1.0.6", + "uuid": "db06b8d5-6735-4ce0-8748-edfe06e9fd30", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 197, + "trimY": 469, + "width": 49, + "height": 32, + "rawWidth": 49, + "rawHeight": 32, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "left.png": { + "ver": "1.0.6", + "uuid": "dda83961-0246-4b58-82f5-cbc6af047e6e", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 833, + "trimY": 420, + "width": 84, + "height": 84, + "rawWidth": 84, + "rawHeight": 84, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "line.png": { + "ver": "1.0.6", + "uuid": "d53a3565-f833-4261-9076-d48232a513c5", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 1268, + "trimY": 1, + "width": 412, + "height": 6, + "rawWidth": 412, + "rawHeight": 6, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "little_down.png": { + "ver": "1.0.6", + "uuid": "86453b08-c95d-4dd7-be39-d7d97e3f93db", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 699, + "trimY": 439, + "width": 46, + "height": 46, + "rawWidth": 46, + "rawHeight": 46, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "little_jiagu.png": { + "ver": "1.0.6", + "uuid": "b80f2487-005a-4928-bde5-04fa41aeda71", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 1165, + "trimY": 409, + "width": 46, + "height": 46, + "rawWidth": 46, + "rawHeight": 46, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "little_left.png": { + "ver": "1.0.6", + "uuid": "8b515dd2-1203-45e6-a436-e6ee9ed13628", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 1213, + "trimY": 356, + "width": 46, + "height": 46, + "rawWidth": 46, + "rawHeight": 46, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "little_right.png": { + "ver": "1.0.6", + "uuid": "f4f7f0ee-4505-4085-a0fe-081d7cc724cb", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 1213, + "trimY": 404, + "width": 46, + "height": 46, + "rawWidth": 46, + "rawHeight": 46, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "little_up.png": { + "ver": "1.0.6", + "uuid": "b142e246-09b9-4c84-bdba-3a87fa48722b", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 1261, + "trimY": 356, + "width": 46, + "height": 46, + "rawWidth": 46, + "rawHeight": 46, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "little_xirang.png": { + "ver": "1.0.6", + "uuid": "c56d3750-ea9e-4a25-8ee4-ca2306c86f7e", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 1261, + "trimY": 404, + "width": 46, + "height": 46, + "rawWidth": 46, + "rawHeight": 46, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "progress.png": { + "ver": "1.0.6", + "uuid": "fb15d143-fb48-4fae-8921-e5f005493fac", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 1, + "trimY": 439, + "width": 500, + "height": 18, + "rawWidth": 500, + "rawHeight": 18, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "progressBg.png": { + "ver": "1.0.6", + "uuid": "12878a32-a063-42b4-b233-9e419054c084", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 753, + "trimY": 140, + "width": 500, + "height": 18, + "rawWidth": 500, + "rawHeight": 18, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "rankBtn.png": { + "ver": "1.0.6", + "uuid": "359e8c8b-2bf5-4e8e-b90e-a7654f81f2f9", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 1488, + "trimY": 9, + "width": 102, + "height": 102, + "rawWidth": 102, + "rawHeight": 102, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "right.png": { + "ver": "1.0.6", + "uuid": "cfa9cb38-5f6a-444a-b048-f064baeef016", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 919, + "trimY": 420, + "width": 84, + "height": 84, + "rawWidth": 84, + "rawHeight": 84, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, "shan1.png": { "ver": "1.0.6", "uuid": "7e7eda60-8ffb-448c-8335-db3202b032ae", @@ -640,8 +1146,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 393, - "trimY": 393, + "trimX": 1906, + "trimY": 295, "width": 96, "height": 96, "rawWidth": 96, @@ -663,8 +1169,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 491, - "trimY": 295, + "trimX": 1514, + "trimY": 407, "width": 96, "height": 96, "rawWidth": 96, @@ -686,8 +1192,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 491, - "trimY": 393, + "trimX": 1612, + "trimY": 401, "width": 96, "height": 96, "rawWidth": 96, @@ -709,8 +1215,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 589, - "trimY": 295, + "trimX": 1710, + "trimY": 393, "width": 96, "height": 96, "rawWidth": 96, @@ -722,6 +1228,29 @@ "spriteType": "normal", "subMetas": {} }, + "shanchu.png": { + "ver": "1.0.6", + "uuid": "b2268e61-7cd7-4fdc-8c43-6836c1069443", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 1091, + "trimY": 415, + "width": 72, + "height": 72, + "rawWidth": 72, + "rawHeight": 72, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, "start.png": { "ver": "1.0.6", "uuid": "bcddfc22-50b3-4d39-ab5f-ed3fbec0f9a7", @@ -732,7 +1261,7 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 589, + "trimX": 1808, "trimY": 393, "width": 96, "height": 96, @@ -745,6 +1274,29 @@ "spriteType": "normal", "subMetas": {} }, + "startBtn.png": { + "ver": "1.0.6", + "uuid": "b6ede43c-af51-4c1f-849c-e0d3d7f4f9bd", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 753, + "trimY": 1, + "width": 513, + "height": 137, + "rawWidth": 513, + "rawHeight": 137, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, "start_x.png": { "ver": "1.0.6", "uuid": "76a60b7f-4c56-43e3-bd0c-2068fe3e6114", @@ -752,11 +1304,11 @@ "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "trimType": "auto", "trimThreshold": 1, - "rotated": true, + "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 639, - "trimY": 1, + "trimX": 601, + "trimY": 439, "width": 96, "height": 36, "rawWidth": 96, @@ -775,11 +1327,11 @@ "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "trimType": "auto", "trimThreshold": 1, - "rotated": false, + "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 615, - "trimY": 197, + "trimX": 99, + "trimY": 469, "width": 35, "height": 96, "rawWidth": 35, @@ -791,9 +1343,32 @@ "spriteType": "normal", "subMetas": {} }, - "turn_wawe.png": { + "tou.png": { "ver": "1.0.6", - "uuid": "9409beb3-6467-4b06-be3e-1b74f13ca499", + "uuid": "6aa798c7-0aa2-473b-a12b-07a9b66f8212", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 1161, + "trimY": 341, + "width": 66, + "height": 50, + "rawWidth": 66, + "rawHeight": 50, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "turn_wawe2.png": { + "ver": "1.0.6", + "uuid": "5f0d6504-1636-4144-8d9e-32364b96f8d1", "importer": "sprite-frame", "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "trimType": "auto", @@ -801,12 +1376,35 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 1, - "trimY": 1, - "width": 146, - "height": 146, - "rawWidth": 146, - "rawHeight": 146, + "trimX": 1013, + "trimY": 160, + "width": 179, + "height": 179, + "rawWidth": 179, + "rawHeight": 179, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "up.png": { + "ver": "1.0.6", + "uuid": "1337f623-c519-41bc-9b89-40e37366041f", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 1005, + "trimY": 420, + "width": 84, + "height": 84, + "rawWidth": 84, + "rawHeight": 84, "borderTop": 0, "borderBottom": 0, "borderLeft": 0, @@ -824,8 +1422,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 99, - "trimY": 149, + "trimX": 1194, + "trimY": 160, "width": 24, "height": 138, "rawWidth": 24, @@ -836,6 +1434,75 @@ "borderRight": 0, "spriteType": "normal", "subMetas": {} + }, + "vertical_wave2.png": { + "ver": "1.0.6", + "uuid": "61be84a2-2f2b-4274-a6ef-41d52c9555af", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 131, + "trimY": 459, + "width": 8, + "height": 118, + "rawWidth": 8, + "rawHeight": 118, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "vertical_wave3.png": { + "ver": "1.0.6", + "uuid": "e498e92c-6f59-4675-8a5f-dea0cf949d66", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 1, + "trimY": 459, + "width": 8, + "height": 128, + "rawWidth": 8, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "xirang.png": { + "ver": "1.0.6", + "uuid": "7337c117-f67d-4c71-a6d2-a63c2c014165", + "importer": "sprite-frame", + "rawTextureUuid": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 1906, + "trimY": 393, + "width": 72, + "height": 72, + "rawWidth": 72, + "rawHeight": 72, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} } } } \ No newline at end of file diff --git a/assets/resources/UI/publicUI.png b/assets/resources/UI/publicUI.png index f553c26..cb0ec53 100644 Binary files a/assets/resources/UI/publicUI.png and b/assets/resources/UI/publicUI.png differ diff --git a/assets/resources/UI/publicUI.png.meta b/assets/resources/UI/publicUI.png.meta index 6ab106f..df642ef 100644 --- a/assets/resources/UI/publicUI.png.meta +++ b/assets/resources/UI/publicUI.png.meta @@ -8,8 +8,8 @@ "premultiplyAlpha": false, "genMipmaps": false, "packable": true, - "width": 1353, - "height": 196, + "width": 2003, + "height": 505, "platformSettings": {}, "subMetas": { "publicUI": { @@ -20,14 +20,14 @@ "trimType": "auto", "trimThreshold": 1, "rotated": false, - "offsetX": 0, + "offsetX": -1, "offsetY": 0, "trimX": 0, "trimY": 0, - "width": 686, - "height": 490, - "rawWidth": 686, - "rawHeight": 490, + "width": 2001, + "height": 505, + "rawWidth": 2003, + "rawHeight": 505, "borderTop": 0, "borderBottom": 0, "borderLeft": 0, diff --git a/assets/resources/UI/turn_wawe.png b/assets/resources/UI/turn_wawe.png deleted file mode 100644 index 5b5cf91..0000000 Binary files a/assets/resources/UI/turn_wawe.png and /dev/null differ diff --git a/assets/resources/UI/turn_wawe2.png.meta b/assets/resources/UI/turn_wawe2.png.meta deleted file mode 100644 index f91db93..0000000 --- a/assets/resources/UI/turn_wawe2.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "bc65aeab-56af-4990-b2b9-de2b91bb9e6f", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 179, - "height": 179, - "platformSettings": {}, - "subMetas": { - "turn_wawe2": { - "ver": "1.0.6", - "uuid": "d9b04dd4-b22c-4268-bf73-ac34fda14bc5", - "importer": "sprite-frame", - "rawTextureUuid": "bc65aeab-56af-4990-b2b9-de2b91bb9e6f", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0.5, - "trimX": 24, - "trimY": 25, - "width": 131, - "height": 128, - "rawWidth": 179, - "rawHeight": 179, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/resources/UI/vertical_wave.png b/assets/resources/UI/vertical_wave.png deleted file mode 100644 index c286025..0000000 Binary files a/assets/resources/UI/vertical_wave.png and /dev/null differ diff --git a/assets/resources/UI/vertical_wave.png.meta b/assets/resources/UI/vertical_wave.png.meta deleted file mode 100644 index 01d9819..0000000 --- a/assets/resources/UI/vertical_wave.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "c2027677-6969-4f9d-a273-2828f1d3048c", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 24, - "height": 138, - "platformSettings": {}, - "subMetas": { - "vertical_wave": { - "ver": "1.0.6", - "uuid": "a6bbf444-2576-4c4c-a579-8d6fdcd5f724", - "importer": "sprite-frame", - "rawTextureUuid": "c2027677-6969-4f9d-a273-2828f1d3048c", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 24, - "height": 138, - "rawWidth": 24, - "rawHeight": 138, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/resources/UI/vertical_wave2.png b/assets/resources/UI/vertical_wave2.png deleted file mode 100644 index 72f1a4a..0000000 Binary files a/assets/resources/UI/vertical_wave2.png and /dev/null differ diff --git a/assets/resources/UI/vertical_wave2.png.meta b/assets/resources/UI/vertical_wave2.png.meta deleted file mode 100644 index 18b1527..0000000 --- a/assets/resources/UI/vertical_wave2.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "c3041d36-0084-4c37-b905-f7367bdd37cb", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 8, - "height": 118, - "platformSettings": {}, - "subMetas": { - "vertical_wave2": { - "ver": "1.0.6", - "uuid": "e8ddc240-81ef-4d7f-a7c4-8c3ee4b94b4f", - "importer": "sprite-frame", - "rawTextureUuid": "c3041d36-0084-4c37-b905-f7367bdd37cb", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 8, - "height": 118, - "rawWidth": 8, - "rawHeight": 118, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/resources/UI/vertical_wave3.png b/assets/resources/UI/vertical_wave3.png deleted file mode 100644 index 64483e2..0000000 Binary files a/assets/resources/UI/vertical_wave3.png and /dev/null differ diff --git a/assets/resources/UI/vertical_wave3.png.meta b/assets/resources/UI/vertical_wave3.png.meta deleted file mode 100644 index f240ceb..0000000 --- a/assets/resources/UI/vertical_wave3.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "ac13d46e-7c59-4656-a2e3-c47daa6d69ad", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 8, - "height": 128, - "platformSettings": {}, - "subMetas": { - "vertical_wave3": { - "ver": "1.0.6", - "uuid": "5ae8f70d-1d21-404e-bb05-5d4ddddda803", - "importer": "sprite-frame", - "rawTextureUuid": "ac13d46e-7c59-4656-a2e3-c47daa6d69ad", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": -0.5, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 7, - "height": 128, - "rawWidth": 8, - "rawHeight": 128, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/resources/dayu_config.json b/assets/resources/dayu_config.json new file mode 100644 index 0000000..8d55960 --- /dev/null +++ b/assets/resources/dayu_config.json @@ -0,0 +1 @@ +{"config":[[{"id":"1001","map":[[0,4,0,0],[0,0,0,0],[0,0,0,0],[0,0,1,0]],"min_steps":4},{"id":"1002","map":[[1,0,0,0],[0,0,0,4],[0,0,0,0],[0,0,0,0]],"min_steps":4},{"id":"1003","map":[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,4]],"min_steps":6},{"id":"1004","map":[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,4,0,0]],"min_steps":4},{"id":"1005","map":[[1,0,0,0],[0,0,0,0],[0,0,0,4],[0,0,0,0]],"min_steps":5},{"id":"1006","map":[[4,0,0,0],[0,0,0,0],[0,0,0,0],[0,1,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":5},{"id":"1008","map":[[0,0,0,4],[0,0,0,0],[0,0,0,0],[1,0,0,0]],"min_steps":6}],[{"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":8},{"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":8},{"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":7},{"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,3,4]],"min_steps":8},{"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":7},{"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":8},{"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":7}],[{"id":"3001","map":[[0,0,2,0,2,4],[0,2,0,0,0,0],[0,0,2,0,0,0],[1,2,2,0,0,0],[0,0,0,0,2,0],[0,2,2,0,0,2]],"min_steps":4},{"id":"3002","map":[[0,2,0,0,2,0],[0,0,0,0,0,0],[0,2,0,0,2,1],[0,2,0,0,0,0],[0,0,0,0,0,2],[2,0,2,4,2,2]],"min_steps":4}],[{"id":"4001","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":"4002","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":"4003","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":"4004","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":"4005","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":"4006","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":"4007","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":"4008","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":"4009","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":"4010","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":"5001","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":"5002","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":"5003","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":"5004","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":"5005","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":"5006","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":"5007","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":"5008","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":"5009","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":"5010","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":"5011","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":"5012","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":"5013","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":"5014","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":"5015","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":"5016","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":"5017","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":"5018","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":"6001","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":"6002","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":"6003","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":"6004","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":"6005","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":"6006","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":"6007","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":"6008","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":"6009","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":"6010","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":"6011","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":"6012","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":"6013","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":"6014","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":"6015","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":"6016","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":"6017","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":"6018","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":"6019","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":"6020","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":"7001","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":"7002","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":"7003","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":"7004","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":"7005","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":"7006","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":"7007","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":"7008","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":"7009","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":"7010","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":"7011","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":"7012","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":"7013","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":"7014","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":"7015","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":"7016","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":"7017","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":"7018","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":"7019","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":"7020","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":"7021","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":"8001","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":"8002","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":"8003","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":"8004","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":"8005","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":"8006","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":"8007","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":"8008","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":"8009","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":"8010","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":"8011","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":"8012","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":"8013","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":"8014","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":"8015","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":"8016","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":"8017","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":"8018","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":"8019","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":"8020","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":"8021","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":"8022","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":"8023","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":"8024","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":"8025","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":"8026","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":"8027","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":"8028","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":"8029","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":"8030","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":"8031","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":"8032","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":"8033","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":"8034","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":"8035","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":"8036","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":"8037","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":"8038","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":"8039","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":"8040","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":"8041","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}]]} \ No newline at end of file diff --git a/assets/resources/dayu_config.json.meta b/assets/resources/dayu_config.json.meta new file mode 100644 index 0000000..d49c67a --- /dev/null +++ b/assets/resources/dayu_config.json.meta @@ -0,0 +1,6 @@ +{ + "ver": "1.0.2", + "uuid": "5ce0674d-c903-4a25-8824-0a9698d27e40", + "importer": "json", + "subMetas": {} +} \ No newline at end of file diff --git a/build/WaterControl.zip b/build/WaterControl.zip new file mode 100644 index 0000000..0dcbc3b Binary files /dev/null and b/build/WaterControl.zip differ diff --git a/build/WaterControl/assets/internal/config.d17e2.json b/build/WaterControl/assets/internal/config.d17e2.json new file mode 100644 index 0000000..f326ea3 --- /dev/null +++ b/build/WaterControl/assets/internal/config.d17e2.json @@ -0,0 +1 @@ +{"paths":{"1":["effects/builtin-2d-spine",0],"2":["effects/builtin-2d-gray-sprite",0],"3":["effects/builtin-2d-sprite",0],"4":["materials/builtin-unlit",1],"5":["effects/builtin-3d-trail",0],"6":["effects/builtin-2d-graphics",0],"7":["materials/builtin-2d-gray-sprite",1],"8":["materials/builtin-3d-particle",1],"9":["materials/builtin-3d-trail",1],"11":["effects/builtin-unlit",0],"12":["materials/builtin-2d-base",1],"13":["materials/builtin-2d-spine",1],"14":["effects/builtin-3d-particle",0],"15":["materials/builtin-2d-graphics",1],"16":["effects/builtin-clear-stencil",0],"17":["materials/builtin-clear-stencil",1],"18":["materials/builtin-2d-label",1],"19":["materials/builtin-2d-sprite",1],"20":["effects/builtin-2d-label",0]},"types":["cc.EffectAsset","cc.Material"],"uuids":["02delMVqdBD70a/HSD99FK","0ek66qC1NOQLjgYmi04HvX","14TDKXr2NJ6LjvHPops74o","28dPjdQWxEQIG3VVl1Qm6T","2aKWBXJHxKHLvrBUi2yYZQ","2afAA24LNP4YmYiaVLiivs","30aC+Hnw1PF4pEcoY3kUYb","3ae7efMv1CLq2ilvUY/tQi","43L6CczwNM/6GGmCYEQIoH","46bU+b5fROqIXVPG6aZWWK","60AwGqM1dKELCGhPAR+jK6","6dkeWRTOBGXICfYQ7JUBnG","6fgBCSDDdPMInvyNlggls2","7a/QZLET9IDreTiBfRn2PD","82migssElAGb04Ws6NimQX","a1U5RdJRFMFL57BdJC9H1X","c0BAyVxX9JzZy8EjFrc9DU","cffgu4qBxEqa150o1DmRAy","e0LYfU5ZlNFoAB4UiRrGUG","ecpdLyjvZBwrvm+cedCcQy","f1h0LXVtJOta5JLZ1xCzfI"],"scenes":{},"redirect":[],"deps":[],"packs":{"0b6c4470e":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]},"name":"internal","importBase":"import","nativeBase":"native","debug":false,"isZip":false,"encrypted":false,"versions":{"import":["0b6c4470e","9537f"],"native":[0,"cea68",10,"c3a3a"]}} \ No newline at end of file diff --git a/build/WaterControl/assets/internal/import/0b/0b6c4470e.9537f.json b/build/WaterControl/assets/internal/import/0b/0b6c4470e.9537f.json new file mode 100644 index 0000000..00f3fb7 --- /dev/null +++ b/build/WaterControl/assets/internal/import/0b/0b6c4470e.9537f.json @@ -0,0 +1 @@ +[1,["02delMVqdBD70a/HSD99FK","28dPjdQWxEQIG3VVl1Qm6T","6dkeWRTOBGXICfYQ7JUBnG","14TDKXr2NJ6LjvHPops74o","60AwGqM1dKELCGhPAR+jK6","82migssElAGb04Ws6NimQX","2afAA24LNP4YmYiaVLiivs","0ek66qC1NOQLjgYmi04HvX","30aC+Hnw1PF4pEcoY3kUYb","c0BAyVxX9JzZy8EjFrc9DU","f1h0LXVtJOta5JLZ1xCzfI"],["_effectAsset","mainTexture","diffuseTexture"],["cc.Texture2D",["cc.EffectAsset",["_name","shaders","techniques"],0],["cc.Material",["_name","_techniqueData"],2,11],["cc.Material",["_name","_techniqueData"],1]],[[1,0,1,2,4],[3,0,1,3],[2,0,1,2]],[[["0,9729,9729,33071,33071,0,0,1",-1],[0],0,[],[],[]],[[[0,"builtin-2d-spine",[{"hash":3550530479,"record":null,"name":"builtin-2d-spine|vs|fs","glsl3":{"vert":"\nprecision highp float;\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nin vec3 a_position;\nin vec4 a_color;\n#if USE_TINT\n in vec4 a_color0;\n#endif\nin vec2 a_uv0;\nout vec2 v_uv0;\nout vec4 v_light;\n#if USE_TINT\n out vec4 v_dark;\n#endif\nvoid main () {\n mat4 mvp;\n #if CC_USE_MODEL\n mvp = cc_matViewProj * cc_matWorld;\n #else\n mvp = cc_matViewProj;\n #endif\n v_uv0 = a_uv0;\n v_light = a_color;\n #if USE_TINT\n v_dark = a_color0;\n #endif\n gl_Position = mvp * vec4(a_position, 1);\n}","frag":"\nprecision highp float;\nuniform sampler2D texture;\nin vec2 v_uv0;\nin vec4 v_light;\n#if USE_TINT\n in vec4 v_dark;\n#endif\n#if USE_ALPHA_TEST\n uniform ALPHA_TEST {\n float alphaThreshold;\n };\n#endif\nvoid ALPHA_TEST (in vec4 color) {\n #if USE_ALPHA_TEST\n if (color.a < alphaThreshold) discard;\n #endif\n}\nvoid ALPHA_TEST (in float alpha) {\n #if USE_ALPHA_TEST\n if (alpha < alphaThreshold) discard;\n #endif\n}\nvoid main () {\n vec4 texColor = vec4(1.0);\n vec4 texture_tmp = texture(texture, v_uv0);\n #if CC_USE_ALPHA_ATLAS_texture\n texture_tmp.a *= texture(texture, v_uv0 + vec2(0, 0.5)).r;\n #endif\n #if INPUT_IS_GAMMA\n texColor.rgb *= (texture_tmp.rgb * texture_tmp.rgb);\n texColor.a *= texture_tmp.a;\n #else\n texColor *= texture_tmp;\n #endif\n vec4 finalColor;\n #if USE_TINT\n finalColor.a = v_light.a * texColor.a;\n finalColor.rgb = ((texColor.a - 1.0) * v_dark.a + 1.0 - texColor.rgb) * v_dark.rgb + texColor.rgb * v_light.rgb;\n #else\n finalColor = texColor * v_light;\n #endif\n ALPHA_TEST(finalColor);\n gl_FragColor = finalColor;\n}"},"glsl1":{"vert":"\nprecision highp float;\nuniform mat4 cc_matViewProj;\nuniform mat4 cc_matWorld;\nattribute vec3 a_position;\nattribute vec4 a_color;\n#if USE_TINT\n attribute vec4 a_color0;\n#endif\nattribute vec2 a_uv0;\nvarying vec2 v_uv0;\nvarying vec4 v_light;\n#if USE_TINT\n varying vec4 v_dark;\n#endif\nvoid main () {\n mat4 mvp;\n #if CC_USE_MODEL\n mvp = cc_matViewProj * cc_matWorld;\n #else\n mvp = cc_matViewProj;\n #endif\n v_uv0 = a_uv0;\n v_light = a_color;\n #if USE_TINT\n v_dark = a_color0;\n #endif\n gl_Position = mvp * vec4(a_position, 1);\n}","frag":"\nprecision highp float;\nuniform sampler2D texture;\nvarying vec2 v_uv0;\nvarying vec4 v_light;\n#if USE_TINT\n varying vec4 v_dark;\n#endif\n#if USE_ALPHA_TEST\n uniform float alphaThreshold;\n#endif\nvoid ALPHA_TEST (in vec4 color) {\n #if USE_ALPHA_TEST\n if (color.a < alphaThreshold) discard;\n #endif\n}\nvoid ALPHA_TEST (in float alpha) {\n #if USE_ALPHA_TEST\n if (alpha < alphaThreshold) discard;\n #endif\n}\nvoid main () {\n vec4 texColor = vec4(1.0);\n vec4 texture_tmp = texture2D(texture, v_uv0);\n #if CC_USE_ALPHA_ATLAS_texture\n texture_tmp.a *= texture2D(texture, v_uv0 + vec2(0, 0.5)).r;\n #endif\n #if INPUT_IS_GAMMA\n texColor.rgb *= (texture_tmp.rgb * texture_tmp.rgb);\n texColor.a *= texture_tmp.a;\n #else\n texColor *= texture_tmp;\n #endif\n vec4 finalColor;\n #if USE_TINT\n finalColor.a = v_light.a * texColor.a;\n finalColor.rgb = ((texColor.a - 1.0) * v_dark.a + 1.0 - texColor.rgb) * v_dark.rgb + texColor.rgb * v_light.rgb;\n #else\n finalColor = texColor * v_light;\n #endif\n ALPHA_TEST(finalColor);\n gl_FragColor = finalColor;\n}"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]}],"samplers":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplers":[]}},"defines":[{"name":"USE_TINT","type":"boolean","defines":[]},{"name":"CC_USE_MODEL","type":"boolean","defines":[]},{"name":"USE_ALPHA_TEST","type":"boolean","defines":[]},{"name":"CC_USE_ALPHA_ATLAS_texture","type":"boolean","defines":[]},{"name":"INPUT_IS_GAMMA","type":"boolean","defines":[]}],"blocks":[{"name":"ALPHA_TEST","binding":0,"members":[{"name":"alphaThreshold","type":13,"count":1}],"defines":["USE_ALPHA_TEST"]}],"samplers":[{"name":"texture","type":29,"count":1,"binding":30,"defines":[]}]}],[{"passes":[{"program":"builtin-2d-spine|vs|fs","blendState":{"targets":[{"blend":true}]},"rasterizerState":{"cullMode":0},"properties":{"texture":{"value":"white","type":29},"alphaThreshold":{"type":13,"value":[0.5]}}}]}]]],0,0,[],[],[]],[[[0,"builtin-2d-gray-sprite",[{"hash":4278481454,"record":null,"name":"builtin-2d-gray-sprite|vs|fs","glsl3":{"vert":"\nprecision highp float;\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nin vec3 a_position;\nin mediump vec2 a_uv0;\nout mediump vec2 v_uv0;\nin vec4 a_color;\nout vec4 v_color;\nvoid main () {\n gl_Position = cc_matViewProj * vec4(a_position, 1);\n v_uv0 = a_uv0;\n v_color = a_color;\n}","frag":"\nprecision highp float;\nuniform sampler2D texture;\nin mediump vec2 v_uv0;\nin vec4 v_color;\nvoid main () {\n vec4 color = v_color;\n vec4 texture_tmp = texture(texture, v_uv0);\n #if CC_USE_ALPHA_ATLAS_texture\n texture_tmp.a *= texture(texture, v_uv0 + vec2(0, 0.5)).r;\n #endif\n #if INPUT_IS_GAMMA\n color.rgb *= (texture_tmp.rgb * texture_tmp.rgb);\n color.a *= texture_tmp.a;\n #else\n color *= texture_tmp;\n #endif\n float gray = 0.2126*color.r + 0.7152*color.g + 0.0722*color.b;\n gl_FragColor = vec4(gray, gray, gray, color.a);\n}"},"glsl1":{"vert":"\nprecision highp float;\nuniform mat4 cc_matViewProj;\nattribute vec3 a_position;\nattribute mediump vec2 a_uv0;\nvarying mediump vec2 v_uv0;\nattribute vec4 a_color;\nvarying vec4 v_color;\nvoid main () {\n gl_Position = cc_matViewProj * vec4(a_position, 1);\n v_uv0 = a_uv0;\n v_color = a_color;\n}","frag":"\nprecision highp float;\nuniform sampler2D texture;\nvarying mediump vec2 v_uv0;\nvarying vec4 v_color;\nvoid main () {\n vec4 color = v_color;\n vec4 texture_tmp = texture2D(texture, v_uv0);\n #if CC_USE_ALPHA_ATLAS_texture\n texture_tmp.a *= texture2D(texture, v_uv0 + vec2(0, 0.5)).r;\n #endif\n #if INPUT_IS_GAMMA\n color.rgb *= (texture_tmp.rgb * texture_tmp.rgb);\n color.a *= texture_tmp.a;\n #else\n color *= texture_tmp;\n #endif\n float gray = 0.2126*color.r + 0.7152*color.g + 0.0722*color.b;\n gl_FragColor = vec4(gray, gray, gray, color.a);\n}"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]}],"samplers":[]},"locals":{"blocks":[],"samplers":[]}},"defines":[{"name":"CC_USE_ALPHA_ATLAS_texture","type":"boolean","defines":[]},{"name":"INPUT_IS_GAMMA","type":"boolean","defines":[]}],"blocks":[],"samplers":[{"name":"texture","type":29,"count":1,"binding":30,"defines":[]}]}],[{"passes":[{"program":"builtin-2d-gray-sprite|vs|fs","blendState":{"targets":[{"blend":true}]},"rasterizerState":{"cullMode":0},"properties":{"texture":{"value":"white","type":29}}}]}]]],0,0,[],[],[]],[[[0,"builtin-2d-sprite",[{"hash":2440430725,"record":null,"name":"builtin-2d-sprite|vs|fs","glsl3":{"vert":"\nprecision highp float;\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nin vec3 a_position;\nin vec4 a_color;\nout vec4 v_color;\n#if USE_TEXTURE\nin vec2 a_uv0;\nout vec2 v_uv0;\n#endif\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n #if CC_USE_MODEL\n pos = cc_matViewProj * cc_matWorld * pos;\n #else\n pos = cc_matViewProj * pos;\n #endif\n #if USE_TEXTURE\n v_uv0 = a_uv0;\n #endif\n v_color = a_color;\n gl_Position = pos;\n}","frag":"\nprecision highp float;\n#if USE_ALPHA_TEST\n uniform ALPHA_TEST {\n float alphaThreshold;\n };\n#endif\nvoid ALPHA_TEST (in vec4 color) {\n #if USE_ALPHA_TEST\n if (color.a < alphaThreshold) discard;\n #endif\n}\nvoid ALPHA_TEST (in float alpha) {\n #if USE_ALPHA_TEST\n if (alpha < alphaThreshold) discard;\n #endif\n}\nin vec4 v_color;\n#if USE_TEXTURE\nin vec2 v_uv0;\nuniform sampler2D texture;\n#endif\nvoid main () {\n vec4 o = vec4(1, 1, 1, 1);\n #if USE_TEXTURE\n vec4 texture_tmp = texture(texture, v_uv0);\n #if CC_USE_ALPHA_ATLAS_texture\n texture_tmp.a *= texture(texture, v_uv0 + vec2(0, 0.5)).r;\n #endif\n #if INPUT_IS_GAMMA\n o.rgb *= (texture_tmp.rgb * texture_tmp.rgb);\n o.a *= texture_tmp.a;\n #else\n o *= texture_tmp;\n #endif\n #endif\n o *= v_color;\n ALPHA_TEST(o);\n #if USE_BGRA\n gl_FragColor = o.bgra;\n #else\n gl_FragColor = o.rgba;\n #endif\n}"},"glsl1":{"vert":"\nprecision highp float;\nuniform mat4 cc_matViewProj;\nuniform mat4 cc_matWorld;\nattribute vec3 a_position;\nattribute vec4 a_color;\nvarying vec4 v_color;\n#if USE_TEXTURE\nattribute vec2 a_uv0;\nvarying vec2 v_uv0;\n#endif\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n #if CC_USE_MODEL\n pos = cc_matViewProj * cc_matWorld * pos;\n #else\n pos = cc_matViewProj * pos;\n #endif\n #if USE_TEXTURE\n v_uv0 = a_uv0;\n #endif\n v_color = a_color;\n gl_Position = pos;\n}","frag":"\nprecision highp float;\n#if USE_ALPHA_TEST\n uniform float alphaThreshold;\n#endif\nvoid ALPHA_TEST (in vec4 color) {\n #if USE_ALPHA_TEST\n if (color.a < alphaThreshold) discard;\n #endif\n}\nvoid ALPHA_TEST (in float alpha) {\n #if USE_ALPHA_TEST\n if (alpha < alphaThreshold) discard;\n #endif\n}\nvarying vec4 v_color;\n#if USE_TEXTURE\nvarying vec2 v_uv0;\nuniform sampler2D texture;\n#endif\nvoid main () {\n vec4 o = vec4(1, 1, 1, 1);\n #if USE_TEXTURE\n vec4 texture_tmp = texture2D(texture, v_uv0);\n #if CC_USE_ALPHA_ATLAS_texture\n texture_tmp.a *= texture2D(texture, v_uv0 + vec2(0, 0.5)).r;\n #endif\n #if INPUT_IS_GAMMA\n o.rgb *= (texture_tmp.rgb * texture_tmp.rgb);\n o.a *= texture_tmp.a;\n #else\n o *= texture_tmp;\n #endif\n #endif\n o *= v_color;\n ALPHA_TEST(o);\n #if USE_BGRA\n gl_FragColor = o.bgra;\n #else\n gl_FragColor = o.rgba;\n #endif\n}"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]}],"samplers":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplers":[]}},"defines":[{"name":"USE_TEXTURE","type":"boolean","defines":[]},{"name":"CC_USE_MODEL","type":"boolean","defines":[]},{"name":"USE_ALPHA_TEST","type":"boolean","defines":[]},{"name":"CC_USE_ALPHA_ATLAS_texture","type":"boolean","defines":["USE_TEXTURE"]},{"name":"INPUT_IS_GAMMA","type":"boolean","defines":["USE_TEXTURE"]},{"name":"USE_BGRA","type":"boolean","defines":[]}],"blocks":[{"name":"ALPHA_TEST","binding":0,"members":[{"name":"alphaThreshold","type":13,"count":1}],"defines":["USE_ALPHA_TEST"]}],"samplers":[{"name":"texture","type":29,"count":1,"binding":30,"defines":["USE_TEXTURE"]}]}],[{"passes":[{"program":"builtin-2d-sprite|vs|fs","blendState":{"targets":[{"blend":true}]},"rasterizerState":{"cullMode":0},"properties":{"texture":{"value":"white","type":29},"alphaThreshold":{"type":13,"value":[0.5]}}}]}]]],0,0,[],[],[]],[[[2,"builtin-unlit",[{},"0",11,[{"defines":{"USE_DIFFUSE_TEXTURE":true}},"props",11,[{},"diffuseTexture",6,0]]]]],0,0,[0,0],[2,0],[0,2]],[[[0,"builtin-3d-trail",[{"hash":2929688198,"record":null,"name":"builtin-3d-trail|particle-trail:vs_main|tinted-fs:add","glsl3":{"vert":"\nprecision mediump float;\nuniform Constants{\n vec4 mainTiling_Offset;\n vec4 frameTile_velLenScale;\n vec4 scale;\n};\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nout vec2 uv;\nout vec4 color;\nin vec3 a_position;\nin vec4 a_texCoord;\nin vec3 a_texCoord1;\nin vec3 a_texCoord2;\nin vec4 a_color;\n#if CC_DRAW_WIRE_FRAME\n out vec3 vBarycentric;\n#endif\nvec4 vs_main() {\n highp vec4 pos = vec4(a_position, 1);\n vec4 velocity = vec4(a_texCoord1.xyz, 0);\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n velocity = cc_matWorld * velocity;\n#endif\n float vertOffset = (a_texCoord.x - 0.5) * a_texCoord.y;\n vec3 camUp = normalize(cross(pos.xyz - cc_cameraPos.xyz, velocity.xyz));\n pos.xyz += camUp * vertOffset;\n pos = cc_matViewProj * pos;\n uv = a_texCoord.zw * mainTiling_Offset.xy + mainTiling_Offset.zw;;\n color = a_color;\n#if CC_DRAW_WIRE_FRAME\n vBarycentric = a_texCoord2;\n#endif\n return pos;\n}\nvoid main() { gl_Position = vs_main(); }","frag":"\nprecision mediump float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nin vec2 uv;\nin vec4 color;\n#if CC_DRAW_WIRE_FRAME\n in vec3 vBarycentric;\n#endif\nuniform sampler2D mainTexture;\nuniform FragConstants {\n vec4 tintColor;\n};\nvec4 add () {\n vec4 col = 2.0 * color * tintColor * texture(mainTexture, uv);\n #if CC_DRAW_WIRE_FRAME\n if (any(lessThan(vBarycentric, vec3(0.02)))) {\n col = vec4(0., 1., 1., 1.);\n }\n #endif\n return CCFragOutput(col);\n}\nout vec4 cc_FragColor;\nvoid main() { cc_FragColor = add(); }"},"glsl1":{"vert":"\nprecision mediump float;\nuniform vec4 mainTiling_Offset;\nuniform mat4 cc_matViewProj;\nuniform vec4 cc_cameraPos;\nuniform mat4 cc_matWorld;\nvarying vec2 uv;\nvarying vec4 color;\nattribute vec3 a_position;\nattribute vec4 a_texCoord;\nattribute vec3 a_texCoord1;\nattribute vec3 a_texCoord2;\nattribute vec4 a_color;\n#if CC_DRAW_WIRE_FRAME\n varying vec3 vBarycentric;\n#endif\nvec4 vs_main() {\n highp vec4 pos = vec4(a_position, 1);\n vec4 velocity = vec4(a_texCoord1.xyz, 0);\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n velocity = cc_matWorld * velocity;\n#endif\n float vertOffset = (a_texCoord.x - 0.5) * a_texCoord.y;\n vec3 camUp = normalize(cross(pos.xyz - cc_cameraPos.xyz, velocity.xyz));\n pos.xyz += camUp * vertOffset;\n pos = cc_matViewProj * pos;\n uv = a_texCoord.zw * mainTiling_Offset.xy + mainTiling_Offset.zw;;\n color = a_color;\n#if CC_DRAW_WIRE_FRAME\n vBarycentric = a_texCoord2;\n#endif\n return pos;\n}\nvoid main() { gl_Position = vs_main(); }","frag":"\nprecision mediump float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nvarying vec2 uv;\nvarying vec4 color;\n#if CC_DRAW_WIRE_FRAME\n varying vec3 vBarycentric;\n#endif\nuniform sampler2D mainTexture;\nuniform vec4 tintColor;\nvec4 add () {\n vec4 col = 2.0 * color * tintColor * texture2D(mainTexture, uv);\n #if CC_DRAW_WIRE_FRAME\n if (any(lessThan(vBarycentric, vec3(0.02)))) {\n col = vec4(0., 1., 1., 1.);\n }\n #endif\n return CCFragOutput(col);\n}\nvoid main() { gl_FragColor = add(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]}],"samplers":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplers":[]}},"defines":[{"name":"CC_DRAW_WIRE_FRAME","type":"boolean","defines":[]},{"name":"CC_USE_WORLD_SPACE","type":"boolean","defines":[]},{"name":"OUTPUT_TO_GAMMA","type":"boolean","defines":[]}],"blocks":[{"name":"Constants","binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1}],"defines":[]},{"name":"FragConstants","binding":1,"members":[{"name":"tintColor","type":16,"count":1}],"defines":[]}],"samplers":[{"name":"mainTexture","type":29,"count":1,"binding":30,"defines":[]}]},{"hash":4224037318,"record":null,"name":"builtin-3d-trail|particle-trail:vs_main|tinted-fs:multiply","glsl3":{"vert":"\nprecision mediump float;\nuniform Constants{\n vec4 mainTiling_Offset;\n vec4 frameTile_velLenScale;\n vec4 scale;\n};\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nout vec2 uv;\nout vec4 color;\nin vec3 a_position;\nin vec4 a_texCoord;\nin vec3 a_texCoord1;\nin vec3 a_texCoord2;\nin vec4 a_color;\n#if CC_DRAW_WIRE_FRAME\n out vec3 vBarycentric;\n#endif\nvec4 vs_main() {\n highp vec4 pos = vec4(a_position, 1);\n vec4 velocity = vec4(a_texCoord1.xyz, 0);\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n velocity = cc_matWorld * velocity;\n#endif\n float vertOffset = (a_texCoord.x - 0.5) * a_texCoord.y;\n vec3 camUp = normalize(cross(pos.xyz - cc_cameraPos.xyz, velocity.xyz));\n pos.xyz += camUp * vertOffset;\n pos = cc_matViewProj * pos;\n uv = a_texCoord.zw * mainTiling_Offset.xy + mainTiling_Offset.zw;;\n color = a_color;\n#if CC_DRAW_WIRE_FRAME\n vBarycentric = a_texCoord2;\n#endif\n return pos;\n}\nvoid main() { gl_Position = vs_main(); }","frag":"\nprecision mediump float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nin vec2 uv;\nin vec4 color;\n#if CC_DRAW_WIRE_FRAME\n in vec3 vBarycentric;\n#endif\nuniform sampler2D mainTexture;\nuniform FragConstants {\n vec4 tintColor;\n};\nvec4 multiply () {\n vec4 col;\n vec4 texColor = texture(mainTexture, uv);\n col.rgb = tintColor.rgb * texColor.rgb * color.rgb * vec3(2.0);\n col.a = (1.0 - texColor.a) * (tintColor.a * color.a * 2.0);\n #if CC_DRAW_WIRE_FRAME\n if (any(lessThan(vBarycentric, vec3(0.02)))) {\n col = vec4(0., 1., 1., col.a);\n }\n #endif\n return CCFragOutput(col);\n}\nout vec4 cc_FragColor;\nvoid main() { cc_FragColor = multiply(); }"},"glsl1":{"vert":"\nprecision mediump float;\nuniform vec4 mainTiling_Offset;\nuniform mat4 cc_matViewProj;\nuniform vec4 cc_cameraPos;\nuniform mat4 cc_matWorld;\nvarying vec2 uv;\nvarying vec4 color;\nattribute vec3 a_position;\nattribute vec4 a_texCoord;\nattribute vec3 a_texCoord1;\nattribute vec3 a_texCoord2;\nattribute vec4 a_color;\n#if CC_DRAW_WIRE_FRAME\n varying vec3 vBarycentric;\n#endif\nvec4 vs_main() {\n highp vec4 pos = vec4(a_position, 1);\n vec4 velocity = vec4(a_texCoord1.xyz, 0);\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n velocity = cc_matWorld * velocity;\n#endif\n float vertOffset = (a_texCoord.x - 0.5) * a_texCoord.y;\n vec3 camUp = normalize(cross(pos.xyz - cc_cameraPos.xyz, velocity.xyz));\n pos.xyz += camUp * vertOffset;\n pos = cc_matViewProj * pos;\n uv = a_texCoord.zw * mainTiling_Offset.xy + mainTiling_Offset.zw;;\n color = a_color;\n#if CC_DRAW_WIRE_FRAME\n vBarycentric = a_texCoord2;\n#endif\n return pos;\n}\nvoid main() { gl_Position = vs_main(); }","frag":"\nprecision mediump float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nvarying vec2 uv;\nvarying vec4 color;\n#if CC_DRAW_WIRE_FRAME\n varying vec3 vBarycentric;\n#endif\nuniform sampler2D mainTexture;\nuniform vec4 tintColor;\nvec4 multiply () {\n vec4 col;\n vec4 texColor = texture2D(mainTexture, uv);\n col.rgb = tintColor.rgb * texColor.rgb * color.rgb * vec3(2.0);\n col.a = (1.0 - texColor.a) * (tintColor.a * color.a * 2.0);\n #if CC_DRAW_WIRE_FRAME\n if (any(lessThan(vBarycentric, vec3(0.02)))) {\n col = vec4(0., 1., 1., col.a);\n }\n #endif\n return CCFragOutput(col);\n}\nvoid main() { gl_FragColor = multiply(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]}],"samplers":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplers":[]}},"defines":[{"name":"CC_DRAW_WIRE_FRAME","type":"boolean","defines":[]},{"name":"CC_USE_WORLD_SPACE","type":"boolean","defines":[]},{"name":"OUTPUT_TO_GAMMA","type":"boolean","defines":[]}],"blocks":[{"name":"Constants","binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1}],"defines":[]},{"name":"FragConstants","binding":1,"members":[{"name":"tintColor","type":16,"count":1}],"defines":[]}],"samplers":[{"name":"mainTexture","type":29,"count":1,"binding":30,"defines":[]}]},{"hash":1704877102,"record":null,"name":"builtin-3d-trail|particle-trail:vs_main|no-tint-fs:addSmooth","glsl3":{"vert":"\nprecision mediump float;\nuniform Constants{\n vec4 mainTiling_Offset;\n vec4 frameTile_velLenScale;\n vec4 scale;\n};\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nout vec2 uv;\nout vec4 color;\nin vec3 a_position;\nin vec4 a_texCoord;\nin vec3 a_texCoord1;\nin vec3 a_texCoord2;\nin vec4 a_color;\n#if CC_DRAW_WIRE_FRAME\n out vec3 vBarycentric;\n#endif\nvec4 vs_main() {\n highp vec4 pos = vec4(a_position, 1);\n vec4 velocity = vec4(a_texCoord1.xyz, 0);\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n velocity = cc_matWorld * velocity;\n#endif\n float vertOffset = (a_texCoord.x - 0.5) * a_texCoord.y;\n vec3 camUp = normalize(cross(pos.xyz - cc_cameraPos.xyz, velocity.xyz));\n pos.xyz += camUp * vertOffset;\n pos = cc_matViewProj * pos;\n uv = a_texCoord.zw * mainTiling_Offset.xy + mainTiling_Offset.zw;;\n color = a_color;\n#if CC_DRAW_WIRE_FRAME\n vBarycentric = a_texCoord2;\n#endif\n return pos;\n}\nvoid main() { gl_Position = vs_main(); }","frag":"\nprecision mediump float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nin vec2 uv;\nin vec4 color;\nuniform sampler2D mainTexture;\nvec4 addSmooth () {\n vec4 col = color * texture(mainTexture, uv);\n col.rgb *= col.a;\n return CCFragOutput(col);\n}\nout vec4 cc_FragColor;\nvoid main() { cc_FragColor = addSmooth(); }"},"glsl1":{"vert":"\nprecision mediump float;\nuniform vec4 mainTiling_Offset;\nuniform mat4 cc_matViewProj;\nuniform vec4 cc_cameraPos;\nuniform mat4 cc_matWorld;\nvarying vec2 uv;\nvarying vec4 color;\nattribute vec3 a_position;\nattribute vec4 a_texCoord;\nattribute vec3 a_texCoord1;\nattribute vec3 a_texCoord2;\nattribute vec4 a_color;\n#if CC_DRAW_WIRE_FRAME\n varying vec3 vBarycentric;\n#endif\nvec4 vs_main() {\n highp vec4 pos = vec4(a_position, 1);\n vec4 velocity = vec4(a_texCoord1.xyz, 0);\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n velocity = cc_matWorld * velocity;\n#endif\n float vertOffset = (a_texCoord.x - 0.5) * a_texCoord.y;\n vec3 camUp = normalize(cross(pos.xyz - cc_cameraPos.xyz, velocity.xyz));\n pos.xyz += camUp * vertOffset;\n pos = cc_matViewProj * pos;\n uv = a_texCoord.zw * mainTiling_Offset.xy + mainTiling_Offset.zw;;\n color = a_color;\n#if CC_DRAW_WIRE_FRAME\n vBarycentric = a_texCoord2;\n#endif\n return pos;\n}\nvoid main() { gl_Position = vs_main(); }","frag":"\nprecision mediump float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nvarying vec2 uv;\nvarying vec4 color;\nuniform sampler2D mainTexture;\nvec4 addSmooth () {\n vec4 col = color * texture2D(mainTexture, uv);\n col.rgb *= col.a;\n return CCFragOutput(col);\n}\nvoid main() { gl_FragColor = addSmooth(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]}],"samplers":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplers":[]}},"defines":[{"name":"CC_DRAW_WIRE_FRAME","type":"boolean","defines":[]},{"name":"CC_USE_WORLD_SPACE","type":"boolean","defines":[]},{"name":"OUTPUT_TO_GAMMA","type":"boolean","defines":[]}],"blocks":[{"name":"Constants","binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1}],"defines":[]}],"samplers":[{"name":"mainTexture","type":29,"count":1,"binding":30,"defines":[]}]},{"hash":2717357054,"record":null,"name":"builtin-3d-trail|particle-trail:vs_main|no-tint-fs:premultiplied","glsl3":{"vert":"\nprecision mediump float;\nuniform Constants{\n vec4 mainTiling_Offset;\n vec4 frameTile_velLenScale;\n vec4 scale;\n};\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nout vec2 uv;\nout vec4 color;\nin vec3 a_position;\nin vec4 a_texCoord;\nin vec3 a_texCoord1;\nin vec3 a_texCoord2;\nin vec4 a_color;\n#if CC_DRAW_WIRE_FRAME\n out vec3 vBarycentric;\n#endif\nvec4 vs_main() {\n highp vec4 pos = vec4(a_position, 1);\n vec4 velocity = vec4(a_texCoord1.xyz, 0);\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n velocity = cc_matWorld * velocity;\n#endif\n float vertOffset = (a_texCoord.x - 0.5) * a_texCoord.y;\n vec3 camUp = normalize(cross(pos.xyz - cc_cameraPos.xyz, velocity.xyz));\n pos.xyz += camUp * vertOffset;\n pos = cc_matViewProj * pos;\n uv = a_texCoord.zw * mainTiling_Offset.xy + mainTiling_Offset.zw;;\n color = a_color;\n#if CC_DRAW_WIRE_FRAME\n vBarycentric = a_texCoord2;\n#endif\n return pos;\n}\nvoid main() { gl_Position = vs_main(); }","frag":"\nprecision mediump float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nin vec2 uv;\nin vec4 color;\nuniform sampler2D mainTexture;\nvec4 premultiplied () {\n vec4 col = color * texture(mainTexture, uv) * color.a;\n return CCFragOutput(col);\n}\nout vec4 cc_FragColor;\nvoid main() { cc_FragColor = premultiplied(); }"},"glsl1":{"vert":"\nprecision mediump float;\nuniform vec4 mainTiling_Offset;\nuniform mat4 cc_matViewProj;\nuniform vec4 cc_cameraPos;\nuniform mat4 cc_matWorld;\nvarying vec2 uv;\nvarying vec4 color;\nattribute vec3 a_position;\nattribute vec4 a_texCoord;\nattribute vec3 a_texCoord1;\nattribute vec3 a_texCoord2;\nattribute vec4 a_color;\n#if CC_DRAW_WIRE_FRAME\n varying vec3 vBarycentric;\n#endif\nvec4 vs_main() {\n highp vec4 pos = vec4(a_position, 1);\n vec4 velocity = vec4(a_texCoord1.xyz, 0);\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n velocity = cc_matWorld * velocity;\n#endif\n float vertOffset = (a_texCoord.x - 0.5) * a_texCoord.y;\n vec3 camUp = normalize(cross(pos.xyz - cc_cameraPos.xyz, velocity.xyz));\n pos.xyz += camUp * vertOffset;\n pos = cc_matViewProj * pos;\n uv = a_texCoord.zw * mainTiling_Offset.xy + mainTiling_Offset.zw;;\n color = a_color;\n#if CC_DRAW_WIRE_FRAME\n vBarycentric = a_texCoord2;\n#endif\n return pos;\n}\nvoid main() { gl_Position = vs_main(); }","frag":"\nprecision mediump float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nvarying vec2 uv;\nvarying vec4 color;\nuniform sampler2D mainTexture;\nvec4 premultiplied () {\n vec4 col = color * texture2D(mainTexture, uv) * color.a;\n return CCFragOutput(col);\n}\nvoid main() { gl_FragColor = premultiplied(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]}],"samplers":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplers":[]}},"defines":[{"name":"CC_DRAW_WIRE_FRAME","type":"boolean","defines":[]},{"name":"CC_USE_WORLD_SPACE","type":"boolean","defines":[]},{"name":"OUTPUT_TO_GAMMA","type":"boolean","defines":[]}],"blocks":[{"name":"Constants","binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1}],"defines":[]}],"samplers":[{"name":"mainTexture","type":29,"count":1,"binding":30,"defines":[]}]}],[{"name":"add","passes":[{"program":"builtin-3d-trail|particle-trail:vs_main|tinted-fs:add","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":770,"blendDst":1,"blendSrcAlpha":770,"blendDstAlpha":1}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":29},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]},"frameTile_velLenScale":{"type":16,"value":[1,1,0,0]},"tintColor":{"type":16,"value":[0.5,0.5,0.5,0.5],"inspector":{"type":"color"}}}}]},{"name":"alpha-blend","passes":[{"program":"builtin-3d-trail|particle-trail:vs_main|tinted-fs:add","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":1,"blendDst":771,"blendSrcAlpha":1,"blendDstAlpha":771}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":29},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]},"frameTile_velLenScale":{"type":16,"value":[1,1,0,0]},"tintColor":{"type":16,"value":[0.5,0.5,0.5,0.5],"inspector":{"type":"color"}}}}]},{"name":"add-multiply","passes":[{"program":"builtin-3d-trail|particle-trail:vs_main|tinted-fs:multiply","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":1,"blendDst":771,"blendSrcAlpha":1,"blendDstAlpha":771}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":29},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]},"frameTile_velLenScale":{"type":16,"value":[1,1,0,0]},"tintColor":{"type":16,"value":[0.5,0.5,0.5,0.5],"inspector":{"type":"color"}}}}]},{"name":"add-smooth","passes":[{"program":"builtin-3d-trail|particle-trail:vs_main|no-tint-fs:addSmooth","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":1,"blendDst":771,"blendSrcAlpha":1,"blendDstAlpha":771}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":29},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]},"frameTile_velLenScale":{"type":16,"value":[1,1,0,0]}}}]},{"name":"premultiply-blend","passes":[{"program":"builtin-3d-trail|particle-trail:vs_main|no-tint-fs:premultiplied","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":1,"blendDst":771,"blendSrcAlpha":1,"blendDstAlpha":771}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":29},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]},"frameTile_velLenScale":{"type":16,"value":[1,1,0,0]}}}]}]]],0,0,[],[],[]],[[[0,"builtin-2d-graphics",[{"hash":550349795,"record":null,"name":"builtin-2d-graphics|vs|fs","glsl3":{"vert":"\nprecision highp float;\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nin vec3 a_position;\nin vec4 a_color;\nout vec4 v_color;\nin float a_dist;\nout float v_dist;\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n pos = cc_matViewProj * cc_matWorld * pos;\n v_color = a_color;\n v_dist = a_dist;\n gl_Position = pos;\n}","frag":"\n#if CC_SUPPORT_standard_derivatives\n #extension GL_OES_standard_derivatives : enable\n#endif\nprecision highp float;\n#if USE_ALPHA_TEST\n uniform ALPHA_TEST {\n float alphaThreshold;\n };\n#endif\nvoid ALPHA_TEST (in vec4 color) {\n #if USE_ALPHA_TEST\n if (color.a < alphaThreshold) discard;\n #endif\n}\nvoid ALPHA_TEST (in float alpha) {\n #if USE_ALPHA_TEST\n if (alpha < alphaThreshold) discard;\n #endif\n}\nin vec4 v_color;\nin float v_dist;\nvoid main () {\n vec4 o = v_color;\n ALPHA_TEST(o);\n #if CC_SUPPORT_standard_derivatives\n float aa = fwidth(v_dist);\n #else\n float aa = 0.05;\n #endif\n float alpha = 1. - smoothstep(-aa, 0., abs(v_dist) - 1.0);\n o.rgb *= o.a;\n o *= alpha;\n gl_FragColor = o;\n}"},"glsl1":{"vert":"\nprecision highp float;\nuniform mat4 cc_matViewProj;\nuniform mat4 cc_matWorld;\nattribute vec3 a_position;\nattribute vec4 a_color;\nvarying vec4 v_color;\nattribute float a_dist;\nvarying float v_dist;\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n pos = cc_matViewProj * cc_matWorld * pos;\n v_color = a_color;\n v_dist = a_dist;\n gl_Position = pos;\n}","frag":"\n#if CC_SUPPORT_standard_derivatives\n #extension GL_OES_standard_derivatives : enable\n#endif\nprecision highp float;\n#if USE_ALPHA_TEST\n uniform float alphaThreshold;\n#endif\nvoid ALPHA_TEST (in vec4 color) {\n #if USE_ALPHA_TEST\n if (color.a < alphaThreshold) discard;\n #endif\n}\nvoid ALPHA_TEST (in float alpha) {\n #if USE_ALPHA_TEST\n if (alpha < alphaThreshold) discard;\n #endif\n}\nvarying vec4 v_color;\nvarying float v_dist;\nvoid main () {\n vec4 o = v_color;\n ALPHA_TEST(o);\n #if CC_SUPPORT_standard_derivatives\n float aa = fwidth(v_dist);\n #else\n float aa = 0.05;\n #endif\n float alpha = 1. - smoothstep(-aa, 0., abs(v_dist) - 1.0);\n o.rgb *= o.a;\n o *= alpha;\n gl_FragColor = o;\n}"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]}],"samplers":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplers":[]}},"defines":[{"name":"CC_SUPPORT_standard_derivatives","type":"boolean","defines":[]},{"name":"USE_ALPHA_TEST","type":"boolean","defines":[]}],"blocks":[{"name":"ALPHA_TEST","binding":0,"members":[{"name":"alphaThreshold","type":13,"count":1}],"defines":["USE_ALPHA_TEST"]}],"samplers":[]}],[{"passes":[{"program":"builtin-2d-graphics|vs|fs","blendState":{"targets":[{"blend":true,"blendSrc":1,"blendDst":771,"blendSrcAlpha":1,"blendDstAlpha":771}]},"rasterizerState":{"cullMode":0},"properties":{"alphaThreshold":{"type":13,"value":[0.5]}}}]}]]],0,0,[],[],[]],[[[1,"builtin-2d-gray-sprite",{}]],0,0,[0],[0],[3]],[[[2,"builtin-3d-particle",[{},"0",11,[{"defines":{"CC_USE_BILLBOARD":true,"CC_USE_STRETCHED_BILLBOARD":false,"CC_USE_HORIZONTAL_BILLBOARD":false,"CC_USE_VERTICAL_BILLBOARD":false,"CC_USE_MESH":false}},"props",11,[{},"mainTiling_Offset",8,[2,1,1,0,0],"tintColor",8,[4,2141562284],"mainTexture",6,0]]]]],0,0,[0,0],[1,0],[4,5]],[[[2,"builtin-3d-trail",[{},"0",11,[{},"props",11,[{},"mainTexture",6,0]]]]],0,0,[0,0],[1,0],[0,6]],[["0,9729,9729,33071,33071,1,0,0",-1],[0],0,[],[],[]],[[[0,"builtin-unlit",[{"hash":922858114,"record":null,"name":"builtin-unlit|unlit-vs|unlit-fs","glsl3":{"vert":"\nprecision highp float;\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\n#if CC_USE_SKINNING\n in vec4 a_weights;\n in vec4 a_joints;\n #if CC_USE_JOINTS_TEXTRUE\n uniform SKINNING {\n vec2 jointsTextureSize;\n };\n uniform sampler2D jointsTexture;\n #if CC_JOINTS_TEXTURE_FLOAT32\n mat4 getBoneMatrix(const in float i) {\n float width = jointsTextureSize.x;\n float height = jointsTextureSize.y;\n float j = i * 4.0;\n float x = mod(j, width);\n float y = floor(j / width);\n float dx = 1.0 / width;\n float dy = 1.0 / height;\n y = dy * (y + 0.5);\n vec4 v1 = texture(jointsTexture, vec2(dx * (x + 0.5), y));\n vec4 v2 = texture(jointsTexture, vec2(dx * (x + 1.5), y));\n vec4 v3 = texture(jointsTexture, vec2(dx * (x + 2.5), y));\n vec4 v4 = texture(jointsTexture, vec2(dx * (x + 3.5), y));\n return mat4(v1, v2, v3, v4);\n }\n #else\n float decode32(vec4 rgba) {\n float Sign = 1.0 - step(128.0, rgba[0]) * 2.0;\n float Exponent = 2.0 * mod(rgba[0], 128.0) + step(128.0, rgba[1]) - 127.0;\n float Mantissa = mod(rgba[1], 128.0) * 65536.0 + rgba[2] * 256.0 + rgba[3] + 8388608.0;\n return Sign * exp2(Exponent - 23.0) * Mantissa;\n }\n vec4 decodevec4 (vec4 x, vec4 y, vec4 z, vec4 w) {\n return vec4(\n decode32(x.wzyx * 255.0),\n decode32(y.wzyx * 255.0),\n decode32(z.wzyx * 255.0),\n decode32(w.wzyx * 255.0)\n );\n }\n vec4 decodevec4 (float dx, float x, float y) {\n return decodevec4(\n texture(jointsTexture, vec2(dx * (x + 0.5), y)),\n texture(jointsTexture, vec2(dx * (x + 1.5), y)),\n texture(jointsTexture, vec2(dx * (x + 2.5), y)),\n texture(jointsTexture, vec2(dx * (x + 3.5), y))\n );\n }\n mat4 getBoneMatrix(const in float i) {\n float width = jointsTextureSize.x;\n float height = jointsTextureSize.y;\n float j = i * 16.0;\n float x = mod(j, width);\n float y = floor(j / width);\n float dx = 1.0 / width;\n float dy = 1.0 / height;\n y = dy * (y + 0.5);\n vec4 v1 = decodevec4(dx, x, y);\n vec4 v2 = decodevec4(dx, x+4.0, y);\n vec4 v3 = decodevec4(dx, x+8.0, y);\n vec4 v4 = decodevec4(dx, x+12.0, y);\n return mat4(v1, v2, v3, v4);\n }\n #endif\n #else\n uniform JOINT_MATRIX {\n mat4 jointMatrices[50];\n };\n mat4 getBoneMatrix(const in float i) {\n return jointMatrices[int(i)];\n }\n #endif\n mat4 skinMatrix() {\n return\n getBoneMatrix(a_joints.x) * a_weights.x +\n getBoneMatrix(a_joints.y) * a_weights.y +\n getBoneMatrix(a_joints.z) * a_weights.z +\n getBoneMatrix(a_joints.w) * a_weights.w\n ;\n }\n#endif\nstruct StandardVertInput {\n vec2 uv;\n vec4 position;\n vec3 normal;\n vec4 tangent;\n vec4 color;\n};\nin vec3 a_position;\n#if CC_USE_ATTRIBUTE_UV0\nin vec2 a_uv0;\n#endif\n#if CC_USE_ATTRIBUTE_COLOR\nin vec4 a_color;\n#endif\n#if CC_USE_ATTRIBUTE_NORMAL\nin vec3 a_normal;\n#endif\n#if CC_USE_ATTRIBUTE_TANGENT\nin vec4 a_tangent;\n#endif\nvoid CCAttribute (out StandardVertInput In) {\n In.position = vec4(a_position, 1.0);\n #if CC_USE_ATTRIBUTE_UV0\n In.uv = a_uv0;\n #else\n In.uv = vec2(0.0);\n #endif\n #if CC_USE_ATTRIBUTE_COLOR\n In.color = a_color;\n #else\n In.color = vec4(1.0);\n #endif\n #if CC_USE_ATTRIBUTE_NORMAL\n In.normal = a_normal;\n #else\n In.normal = vec3(0.0, 1.0, 0.0);\n #endif\n #if CC_USE_ATTRIBUTE_TANGENT\n In.tangent = a_tangent;\n #else\n In.tangent = vec4(1.0, 0.0, 0.0, 0.0);\n #endif\n}\nvoid CCVertInput(out StandardVertInput In) {\n CCAttribute(In);\n #if CC_USE_SKINNING\n mat4 m = skinMatrix();\n In.position = m * In.position;\n #if CC_USE_ATTRIBUTE_NORMAL\n In.normal = (m * vec4(In.normal, 0)).xyz;\n #endif\n #if CC_USE_ATTRIBUTE_TANGENT\n In.tangent = m * In.tangent;\n #endif\n #endif\n}\nuniform MAIN_TILING {\n vec2 mainTiling;\n vec2 mainOffset;\n};\n#if CC_USE_ATTRIBUTE_UV0 && USE_DIFFUSE_TEXTURE\n out mediump vec2 v_uv0;\n#endif\n#if CC_USE_ATTRIBUTE_COLOR\n out lowp vec4 v_color;\n#endif\nvoid main () {\n StandardVertInput In;\n CCVertInput(In);\n #if CC_USE_ATTRIBUTE_COLOR\n v_color = In.color;\n #endif\n #if CC_USE_ATTRIBUTE_UV0 && USE_DIFFUSE_TEXTURE\n v_uv0 = In.uv * mainTiling + mainOffset;\n #endif\n gl_Position = cc_matViewProj * cc_matWorld * In.position;\n}","frag":"\nprecision highp float;\n#if USE_ALPHA_TEST\n uniform ALPHA_TEST {\n float alphaThreshold;\n };\n#endif\nvoid ALPHA_TEST (in vec4 color) {\n #if USE_ALPHA_TEST\n if (color.a < alphaThreshold) discard;\n #endif\n}\nvoid ALPHA_TEST (in float alpha) {\n #if USE_ALPHA_TEST\n if (alpha < alphaThreshold) discard;\n #endif\n}\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nuniform UNLIT {\n lowp vec4 diffuseColor;\n};\n#if USE_DIFFUSE_TEXTURE\n uniform sampler2D diffuseTexture;\n#endif\n#if CC_USE_ATTRIBUTE_COLOR\n in lowp vec4 v_color;\n#endif\n#if CC_USE_ATTRIBUTE_UV0 && USE_DIFFUSE_TEXTURE\n in mediump vec2 v_uv0;\n#endif\nvoid main () {\n vec4 color = diffuseColor;\n #if CC_USE_ATTRIBUTE_UV0 && USE_DIFFUSE_TEXTURE\n vec4 diffuseTexture_tmp = texture(diffuseTexture, v_uv0);\n #if CC_USE_ALPHA_ATLAS_diffuseTexture\n diffuseTexture_tmp.a *= texture(diffuseTexture, v_uv0 + vec2(0, 0.5)).r;\n #endif\n #if INPUT_IS_GAMMA\n color.rgb *= (diffuseTexture_tmp.rgb * diffuseTexture_tmp.rgb);\n color.a *= diffuseTexture_tmp.a;\n #else\n color *= diffuseTexture_tmp;\n #endif\n #endif\n #if CC_USE_ATTRIBUTE_COLOR\n color *= v_color;\n #endif\n ALPHA_TEST(color);\n gl_FragColor = CCFragOutput(color);\n}"},"glsl1":{"vert":"\nprecision highp float;\nuniform mat4 cc_matWorld;\nuniform mat4 cc_matViewProj;\n#if CC_USE_SKINNING\n attribute vec4 a_weights;\n attribute vec4 a_joints;\n #if CC_USE_JOINTS_TEXTRUE\n uniform vec2 jointsTextureSize;\n uniform sampler2D jointsTexture;\n #if CC_JOINTS_TEXTURE_FLOAT32\n mat4 getBoneMatrix(const in float i) {\n float width = jointsTextureSize.x;\n float height = jointsTextureSize.y;\n float j = i * 4.0;\n float x = mod(j, width);\n float y = floor(j / width);\n float dx = 1.0 / width;\n float dy = 1.0 / height;\n y = dy * (y + 0.5);\n vec4 v1 = texture2D(jointsTexture, vec2(dx * (x + 0.5), y));\n vec4 v2 = texture2D(jointsTexture, vec2(dx * (x + 1.5), y));\n vec4 v3 = texture2D(jointsTexture, vec2(dx * (x + 2.5), y));\n vec4 v4 = texture2D(jointsTexture, vec2(dx * (x + 3.5), y));\n return mat4(v1, v2, v3, v4);\n }\n #else\n float decode32(vec4 rgba) {\n float Sign = 1.0 - step(128.0, rgba[0]) * 2.0;\n float Exponent = 2.0 * mod(rgba[0], 128.0) + step(128.0, rgba[1]) - 127.0;\n float Mantissa = mod(rgba[1], 128.0) * 65536.0 + rgba[2] * 256.0 + rgba[3] + 8388608.0;\n return Sign * exp2(Exponent - 23.0) * Mantissa;\n }\n vec4 decodevec4 (vec4 x, vec4 y, vec4 z, vec4 w) {\n return vec4(\n decode32(x.wzyx * 255.0),\n decode32(y.wzyx * 255.0),\n decode32(z.wzyx * 255.0),\n decode32(w.wzyx * 255.0)\n );\n }\n vec4 decodevec4 (float dx, float x, float y) {\n return decodevec4(\n texture2D(jointsTexture, vec2(dx * (x + 0.5), y)),\n texture2D(jointsTexture, vec2(dx * (x + 1.5), y)),\n texture2D(jointsTexture, vec2(dx * (x + 2.5), y)),\n texture2D(jointsTexture, vec2(dx * (x + 3.5), y))\n );\n }\n mat4 getBoneMatrix(const in float i) {\n float width = jointsTextureSize.x;\n float height = jointsTextureSize.y;\n float j = i * 16.0;\n float x = mod(j, width);\n float y = floor(j / width);\n float dx = 1.0 / width;\n float dy = 1.0 / height;\n y = dy * (y + 0.5);\n vec4 v1 = decodevec4(dx, x, y);\n vec4 v2 = decodevec4(dx, x+4.0, y);\n vec4 v3 = decodevec4(dx, x+8.0, y);\n vec4 v4 = decodevec4(dx, x+12.0, y);\n return mat4(v1, v2, v3, v4);\n }\n #endif\n #else\n uniform mat4 jointMatrices[50];\n mat4 getBoneMatrix(const in float i) {\n return jointMatrices[int(i)];\n }\n #endif\n mat4 skinMatrix() {\n return\n getBoneMatrix(a_joints.x) * a_weights.x +\n getBoneMatrix(a_joints.y) * a_weights.y +\n getBoneMatrix(a_joints.z) * a_weights.z +\n getBoneMatrix(a_joints.w) * a_weights.w\n ;\n }\n#endif\nstruct StandardVertInput {\n vec2 uv;\n vec4 position;\n vec3 normal;\n vec4 tangent;\n vec4 color;\n};\nattribute vec3 a_position;\n#if CC_USE_ATTRIBUTE_UV0\nattribute vec2 a_uv0;\n#endif\n#if CC_USE_ATTRIBUTE_COLOR\nattribute vec4 a_color;\n#endif\n#if CC_USE_ATTRIBUTE_NORMAL\nattribute vec3 a_normal;\n#endif\n#if CC_USE_ATTRIBUTE_TANGENT\nattribute vec4 a_tangent;\n#endif\nvoid CCAttribute (out StandardVertInput In) {\n In.position = vec4(a_position, 1.0);\n #if CC_USE_ATTRIBUTE_UV0\n In.uv = a_uv0;\n #else\n In.uv = vec2(0.0);\n #endif\n #if CC_USE_ATTRIBUTE_COLOR\n In.color = a_color;\n #else\n In.color = vec4(1.0);\n #endif\n #if CC_USE_ATTRIBUTE_NORMAL\n In.normal = a_normal;\n #else\n In.normal = vec3(0.0, 1.0, 0.0);\n #endif\n #if CC_USE_ATTRIBUTE_TANGENT\n In.tangent = a_tangent;\n #else\n In.tangent = vec4(1.0, 0.0, 0.0, 0.0);\n #endif\n}\nvoid CCVertInput(out StandardVertInput In) {\n CCAttribute(In);\n #if CC_USE_SKINNING\n mat4 m = skinMatrix();\n In.position = m * In.position;\n #if CC_USE_ATTRIBUTE_NORMAL\n In.normal = (m * vec4(In.normal, 0)).xyz;\n #endif\n #if CC_USE_ATTRIBUTE_TANGENT\n In.tangent = m * In.tangent;\n #endif\n #endif\n}\nuniform vec2 mainTiling;\nuniform vec2 mainOffset;\n#if CC_USE_ATTRIBUTE_UV0 && USE_DIFFUSE_TEXTURE\n varying mediump vec2 v_uv0;\n#endif\n#if CC_USE_ATTRIBUTE_COLOR\n varying lowp vec4 v_color;\n#endif\nvoid main () {\n StandardVertInput In;\n CCVertInput(In);\n #if CC_USE_ATTRIBUTE_COLOR\n v_color = In.color;\n #endif\n #if CC_USE_ATTRIBUTE_UV0 && USE_DIFFUSE_TEXTURE\n v_uv0 = In.uv * mainTiling + mainOffset;\n #endif\n gl_Position = cc_matViewProj * cc_matWorld * In.position;\n}","frag":"\nprecision highp float;\n#if USE_ALPHA_TEST\n uniform float alphaThreshold;\n#endif\nvoid ALPHA_TEST (in vec4 color) {\n #if USE_ALPHA_TEST\n if (color.a < alphaThreshold) discard;\n #endif\n}\nvoid ALPHA_TEST (in float alpha) {\n #if USE_ALPHA_TEST\n if (alpha < alphaThreshold) discard;\n #endif\n}\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nuniform lowp vec4 diffuseColor;\n#if USE_DIFFUSE_TEXTURE\n uniform sampler2D diffuseTexture;\n#endif\n#if CC_USE_ATTRIBUTE_COLOR\n varying lowp vec4 v_color;\n#endif\n#if CC_USE_ATTRIBUTE_UV0 && USE_DIFFUSE_TEXTURE\n varying mediump vec2 v_uv0;\n#endif\nvoid main () {\n vec4 color = diffuseColor;\n #if CC_USE_ATTRIBUTE_UV0 && USE_DIFFUSE_TEXTURE\n vec4 diffuseTexture_tmp = texture2D(diffuseTexture, v_uv0);\n #if CC_USE_ALPHA_ATLAS_diffuseTexture\n diffuseTexture_tmp.a *= texture2D(diffuseTexture, v_uv0 + vec2(0, 0.5)).r;\n #endif\n #if INPUT_IS_GAMMA\n color.rgb *= (diffuseTexture_tmp.rgb * diffuseTexture_tmp.rgb);\n color.a *= diffuseTexture_tmp.a;\n #else\n color *= diffuseTexture_tmp;\n #endif\n #endif\n #if CC_USE_ATTRIBUTE_COLOR\n color *= v_color;\n #endif\n ALPHA_TEST(color);\n gl_FragColor = CCFragOutput(color);\n}"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]}],"samplers":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplers":[]}},"defines":[{"name":"CC_USE_SKINNING","type":"boolean","defines":[]},{"name":"CC_USE_JOINTS_TEXTRUE","type":"boolean","defines":["CC_USE_SKINNING"]},{"name":"CC_JOINTS_TEXTURE_FLOAT32","type":"boolean","defines":["CC_USE_SKINNING","CC_USE_JOINTS_TEXTRUE"]},{"name":"CC_USE_ATTRIBUTE_UV0","type":"boolean","defines":[]},{"name":"CC_USE_ATTRIBUTE_COLOR","type":"boolean","defines":[]},{"name":"CC_USE_ATTRIBUTE_NORMAL","type":"boolean","defines":[]},{"name":"CC_USE_ATTRIBUTE_TANGENT","type":"boolean","defines":[]},{"name":"USE_DIFFUSE_TEXTURE","type":"boolean","defines":[]},{"name":"USE_ALPHA_TEST","type":"boolean","defines":[]},{"name":"OUTPUT_TO_GAMMA","type":"boolean","defines":[]},{"name":"CC_USE_ALPHA_ATLAS_diffuseTexture","type":"boolean","defines":["CC_USE_ATTRIBUTE_UV0","USE_DIFFUSE_TEXTURE"]},{"name":"INPUT_IS_GAMMA","type":"boolean","defines":["CC_USE_ATTRIBUTE_UV0","USE_DIFFUSE_TEXTURE"]}],"blocks":[{"name":"SKINNING","binding":0,"members":[{"name":"jointsTextureSize","type":14,"count":1}],"defines":["CC_USE_SKINNING","CC_USE_JOINTS_TEXTRUE"]},{"name":"JOINT_MATRIX","binding":1,"members":[{"name":"jointMatrices","type":26,"count":50}],"defines":["CC_USE_SKINNING"]},{"name":"MAIN_TILING","binding":2,"members":[{"name":"mainTiling","type":14,"count":1},{"name":"mainOffset","type":14,"count":1}],"defines":[]},{"name":"ALPHA_TEST","binding":3,"members":[{"name":"alphaThreshold","type":13,"count":1}],"defines":["USE_ALPHA_TEST"]},{"name":"UNLIT","binding":4,"members":[{"name":"diffuseColor","type":16,"count":1}],"defines":[]}],"samplers":[{"name":"jointsTexture","type":29,"count":1,"binding":30,"defines":["CC_USE_SKINNING","CC_USE_JOINTS_TEXTRUE"]},{"name":"diffuseTexture","type":29,"count":1,"binding":31,"defines":["USE_DIFFUSE_TEXTURE"]}]}],[{"name":"opaque","passes":[{"program":"builtin-unlit|unlit-vs|unlit-fs","blendState":{"targets":[{"blend":true}]},"rasterizerState":{"cullMode":0},"depthStencilState":{"depthTest":true,"depthWrite":true},"properties":{"diffuseTexture":{"value":"white","type":29},"diffuseColor":{"type":16,"value":[1,1,1,1],"editor":{"type":"color"}},"alphaThreshold":{"type":13,"value":[0.5]},"mainTiling":{"type":14,"value":[1,1]},"mainOffset":{"type":14,"value":[0,0]}}}]},{"name":"transparent","passes":[{"stage":"transparent","program":"builtin-unlit|unlit-vs|unlit-fs","blendState":{"targets":[{"blend":true}]},"rasterizerState":{"cullMode":0},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"diffuseTexture":{"value":"white","type":29},"diffuseColor":{"type":16,"value":[1,1,1,1],"editor":{"type":"color"}},"alphaThreshold":{"type":13,"value":[0.5]},"mainTiling":{"type":14,"value":[1,1]},"mainOffset":{"type":14,"value":[0,0]}}}]}]]],0,0,[],[],[]],[[[1,"builtin-2d-base",{}]],0,0,[0],[0],[1]],[[[1,"builtin-2d-spine",{}]],0,0,[0],[0],[7]],[[[0,"builtin-3d-particle",[{"hash":1682193167,"record":null,"name":"builtin-3d-particle|particle-vs-legacy:lpvs_main|tinted-fs:add","glsl3":{"vert":"\nprecision highp float;\nvec4 quaternionFromAxis(vec3 xAxis,vec3 yAxis,vec3 zAxis){\n mat3 m = mat3(xAxis,yAxis,zAxis);\n float trace = m[0][0] + m[1][1] + m[2][2];\n vec4 quat;\n if (trace > 0.) {\n float s = 0.5 / sqrt(trace + 1.0);\n quat.w = 0.25 / s;\n quat.x = (m[2][1] - m[1][2]) * s;\n quat.y = (m[0][2] - m[2][0]) * s;\n quat.z = (m[1][0] - m[0][1]) * s;\n } else if ((m[0][0] > m[1][1]) && (m[0][0] > m[2][2])) {\n float s = 2.0 * sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]);\n quat.w = (m[2][1] - m[1][2]) / s;\n quat.x = 0.25 * s;\n quat.y = (m[0][1] + m[1][0]) / s;\n quat.z = (m[0][2] + m[2][0]) / s;\n } else if (m[1][1] > m[2][2]) {\n float s = 2.0 * sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]);\n quat.w = (m[0][2] - m[2][0]) / s;\n quat.x = (m[0][1] + m[1][0]) / s;\n quat.y = 0.25 * s;\n quat.z = (m[1][2] + m[2][1]) / s;\n } else {\n float s = 2.0 * sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]);\n quat.w = (m[1][0] - m[0][1]) / s;\n quat.x = (m[0][2] + m[2][0]) / s;\n quat.y = (m[1][2] + m[2][1]) / s;\n quat.z = 0.25 * s;\n }\n float len = quat.x * quat.x + quat.y * quat.y + quat.z * quat.z + quat.w * quat.w;\n if (len > 0.) {\n len = 1. / sqrt(len);\n quat.x = quat.x * len;\n quat.y = quat.y * len;\n quat.z = quat.z * len;\n quat.w = quat.w * len;\n }\n return quat;\n}\nvec4 quaternionFromEuler(vec3 angle){\n float x = angle.x / 2.;\n float y = angle.y / 2.;\n float z = angle.z / 2.;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat = vec4(0);\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\nmat4 matrixFromRT(vec4 q, vec3 p){\n float x2 = q.x + q.x;\n float y2 = q.y + q.y;\n float z2 = q.z + q.z;\n float xx = q.x * x2;\n float xy = q.x * y2;\n float xz = q.x * z2;\n float yy = q.y * y2;\n float yz = q.y * z2;\n float zz = q.z * z2;\n float wx = q.w * x2;\n float wy = q.w * y2;\n float wz = q.w * z2;\n return mat4(\n 1. - (yy + zz), xy + wz, xz - wy, 0,\n xy - wz, 1. - (xx + zz), yz + wx, 0,\n xz + wy, yz - wx, 1. - (xx + yy), 0,\n p.x, p.y, p.z, 1\n );\n}\nmat4 matFromRTS(vec4 q, vec3 t, vec3 s){\n float x = q.x, y = q.y, z = q.z, w = q.w;\n float x2 = x + x;\n float y2 = y + y;\n float z2 = z + z;\n float xx = x * x2;\n float xy = x * y2;\n float xz = x * z2;\n float yy = y * y2;\n float yz = y * z2;\n float zz = z * z2;\n float wx = w * x2;\n float wy = w * y2;\n float wz = w * z2;\n float sx = s.x;\n float sy = s.y;\n float sz = s.z;\n return mat4((1. - (yy + zz)) * sx, (xy + wz) * sx, (xz - wy) * sx, 0,\n (xy - wz) * sy, (1. - (xx + zz)) * sy, (yz + wx) * sy, 0,\n (xz + wy) * sz, (yz - wx) * sz, (1. - (xx + yy)) * sz, 0,\n t.x, t.y, t.z, 1);\n}\nvec4 quatMultiply(vec4 a, vec4 b){\n vec4 quat;\n quat.x = a.x * b.w + a.w * b.x + a.y * b.z - a.z * b.y;\n quat.y = a.y * b.w + a.w * b.y + a.z * b.x - a.x * b.z;\n quat.z = a.z * b.w + a.w * b.z + a.x * b.y - a.y * b.x;\n quat.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z;\n return quat;\n}\nvoid rotateVecFromQuat(inout vec3 v, vec4 q){\n float ix = q.w * v.x + q.y * v.z - q.z * v.y;\n float iy = q.w * v.y + q.z * v.x - q.x * v.z;\n float iz = q.w * v.z + q.x * v.y - q.y * v.x;\n float iw = -q.x * v.x - q.y * v.y - q.z * v.z;\n v.x = ix * q.w + iw * -q.x + iy * -q.z - iz * -q.y;\n v.y = iy * q.w + iw * -q.y + iz * -q.x - ix * -q.z;\n v.z = iz * q.w + iw * -q.z + ix * -q.y - iy * -q.x;\n}\nvec3 rotateInLocalSpace(vec3 pos, vec3 xAxis, vec3 yAxis, vec3 zAxis, vec4 q){\n float z = pos.z;\n float x = pos.x;\n float y = pos.y;\n vec4 viewQuat = quaternionFromAxis(xAxis, yAxis, zAxis);\n vec4 rotQuat = quatMultiply(viewQuat, q);\n rotateVecFromQuat(pos, rotQuat);\n return pos;\n}\nvoid rotateCorner(inout vec2 corner, float angle){\n float xOS = cos(angle) * corner.x - sin(angle) * corner.y;\n float yOS = sin(angle) * corner.x + cos(angle) * corner.y;\n corner.x = xOS;\n corner.y = yOS;\n}\nuniform Constants{\n vec4 mainTiling_Offset;\n vec4 frameTile_velLenScale;\n vec4 scale;\n};\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nout vec2 uv;\nout vec4 color;\nvoid computeVertPos(inout vec4 pos, vec2 vertOffset, vec4 q, vec3 s\n#if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , mat4 viewInv\n#endif\n#if CC_USE_STRETCHED_BILLBOARD\n , vec3 eye\n , vec4 velocity\n , float velocityScale\n , float lengthScale\n , float xIndex\n#endif\n) {\n#if CC_USE_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = normalize(vec3(viewInv[0][0], viewInv[1][0], viewInv[2][0]));\n vec3 camY = normalize(vec3(viewInv[0][1], viewInv[1][1], viewInv[2][1]));\n vec3 camZ = normalize(vec3(viewInv[0][2], viewInv[1][2], viewInv[2][2]));\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, camZ, q);\n#elif CC_USE_STRETCHED_BILLBOARD\n vec3 camRight = normalize(cross(pos.xyz - eye, velocity.xyz)) * s.x;\n vec3 camUp = velocity.xyz * velocityScale + normalize(velocity.xyz) * lengthScale * s.y;\n pos.xyz += (camRight * abs(vertOffset.x) * sign(vertOffset.y)) - camUp * xIndex;\n#elif CC_USE_HORIZONTAL_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = vec3(1, 0, 0);\n vec3 camY = vec3(0, 0, -1);\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, cross(camX, camY), q);\n#elif CC_USE_VERTICAL_BILLBOARD\n vec2 viewSpaceVert = vec2(vertOffset.x * s.x, vertOffset.y * s.y);\n rotateCorner(viewSpaceVert, q.z);\n vec3 camX = normalize(vec3(cc_matView[0][0], cc_matView[1][0], cc_matView[2][0]));\n vec3 camY = vec3(0, 1, 0);\n vec3 offset = camX * viewSpaceVert.x + camY * viewSpaceVert.y;\n pos.xyz += offset;\n#else\n pos.x += vertOffset.x;\n pos.y += vertOffset.y;\n#endif\n}\nvec2 computeUV(float frameIndex, vec2 vertIndex, vec2 frameTile){\n vec2 aniUV = vec2(0, floor(frameIndex * frameTile.y));\n aniUV.x = floor(frameIndex * frameTile.x * frameTile.y - aniUV.y * frameTile.x);\n#if !CC_USE_MESH\n vertIndex.y = 1. - vertIndex.y;\n#endif\n return (aniUV.xy + vertIndex) / vec2(frameTile.x, frameTile.y);\n}\nin vec3 a_position;\nin vec3 a_texCoord;\nin vec3 a_texCoord1;\nin vec3 a_texCoord2;\nin vec4 a_color;\n#if CC_USE_STRETCHED_BILLBOARD\n in vec3 a_color1;\n#endif\n#if CC_USE_MESH\n in vec3 a_texCoord3;\n in vec3 a_normal;\n in vec4 a_color1;\n#endif\nvec4 lpvs_main() {\n vec3 compScale = scale.xyz * a_texCoord1;\n vec4 pos = vec4(a_position, 1);\n#if CC_USE_STRETCHED_BILLBOARD\n vec4 velocity = vec4(a_color1.xyz, 0);\n#endif\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n #if CC_USE_STRETCHED_BILLBOARD\n velocity = cc_matWorld * velocity;\n #endif\n#endif\n#if !CC_USE_MESH\n vec2 cornerOffset = vec2((a_texCoord.xy - 0.5));\n #if CC_USE_BILLBOARD\n vec3 rotEuler = a_texCoord2;\n #elif CC_USE_STRETCHED_BILLBOARD\n vec3 rotEuler = vec3(0.);\n #else\n vec3 rotEuler = vec3(0., 0., a_texCoord2.z);\n #endif\n computeVertPos(pos, cornerOffset, quaternionFromEuler(rotEuler), compScale\n #if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , cc_matViewInv\n #endif\n #if CC_USE_STRETCHED_BILLBOARD\n , cc_cameraPos.xyz\n , velocity\n , frameTile_velLenScale.z\n , frameTile_velLenScale.w\n , a_texCoord.x\n #endif\n );\n color = a_color;\n#else\n mat4 xformNoScale = matrixFromRT(quaternionFromEuler(a_texCoord2), pos.xyz);\n mat4 xform = matFromRTS(quaternionFromEuler(a_texCoord2), pos.xyz, compScale);\n pos = xform * vec4(a_texCoord3, 1);\n vec4 normal = xformNoScale * vec4(a_normal, 0);\n color = a_color * a_color1;\n#endif\n uv = computeUV(a_texCoord.z, a_texCoord.xy, frameTile_velLenScale.xy) * mainTiling_Offset.xy + mainTiling_Offset.zw;\n pos = cc_matViewProj * pos;\n return pos;\n}\nvoid main() { gl_Position = lpvs_main(); }","frag":"\nprecision highp float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nin vec2 uv;\nin vec4 color;\nuniform sampler2D mainTexture;\nuniform FragConstants {\n vec4 tintColor;\n};\nvec4 add () {\n vec4 col = 2.0 * color * tintColor * texture(mainTexture, uv);\n return CCFragOutput(col);\n}\nout vec4 cc_FragColor;\nvoid main() { cc_FragColor = add(); }"},"glsl1":{"vert":"\nprecision highp float;\nvec4 quaternionFromAxis(vec3 xAxis,vec3 yAxis,vec3 zAxis){\n mat3 m = mat3(xAxis,yAxis,zAxis);\n float trace = m[0][0] + m[1][1] + m[2][2];\n vec4 quat;\n if (trace > 0.) {\n float s = 0.5 / sqrt(trace + 1.0);\n quat.w = 0.25 / s;\n quat.x = (m[2][1] - m[1][2]) * s;\n quat.y = (m[0][2] - m[2][0]) * s;\n quat.z = (m[1][0] - m[0][1]) * s;\n } else if ((m[0][0] > m[1][1]) && (m[0][0] > m[2][2])) {\n float s = 2.0 * sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]);\n quat.w = (m[2][1] - m[1][2]) / s;\n quat.x = 0.25 * s;\n quat.y = (m[0][1] + m[1][0]) / s;\n quat.z = (m[0][2] + m[2][0]) / s;\n } else if (m[1][1] > m[2][2]) {\n float s = 2.0 * sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]);\n quat.w = (m[0][2] - m[2][0]) / s;\n quat.x = (m[0][1] + m[1][0]) / s;\n quat.y = 0.25 * s;\n quat.z = (m[1][2] + m[2][1]) / s;\n } else {\n float s = 2.0 * sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]);\n quat.w = (m[1][0] - m[0][1]) / s;\n quat.x = (m[0][2] + m[2][0]) / s;\n quat.y = (m[1][2] + m[2][1]) / s;\n quat.z = 0.25 * s;\n }\n float len = quat.x * quat.x + quat.y * quat.y + quat.z * quat.z + quat.w * quat.w;\n if (len > 0.) {\n len = 1. / sqrt(len);\n quat.x = quat.x * len;\n quat.y = quat.y * len;\n quat.z = quat.z * len;\n quat.w = quat.w * len;\n }\n return quat;\n}\nvec4 quaternionFromEuler(vec3 angle){\n float x = angle.x / 2.;\n float y = angle.y / 2.;\n float z = angle.z / 2.;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat = vec4(0);\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\nmat4 matrixFromRT(vec4 q, vec3 p){\n float x2 = q.x + q.x;\n float y2 = q.y + q.y;\n float z2 = q.z + q.z;\n float xx = q.x * x2;\n float xy = q.x * y2;\n float xz = q.x * z2;\n float yy = q.y * y2;\n float yz = q.y * z2;\n float zz = q.z * z2;\n float wx = q.w * x2;\n float wy = q.w * y2;\n float wz = q.w * z2;\n return mat4(\n 1. - (yy + zz), xy + wz, xz - wy, 0,\n xy - wz, 1. - (xx + zz), yz + wx, 0,\n xz + wy, yz - wx, 1. - (xx + yy), 0,\n p.x, p.y, p.z, 1\n );\n}\nmat4 matFromRTS(vec4 q, vec3 t, vec3 s){\n float x = q.x, y = q.y, z = q.z, w = q.w;\n float x2 = x + x;\n float y2 = y + y;\n float z2 = z + z;\n float xx = x * x2;\n float xy = x * y2;\n float xz = x * z2;\n float yy = y * y2;\n float yz = y * z2;\n float zz = z * z2;\n float wx = w * x2;\n float wy = w * y2;\n float wz = w * z2;\n float sx = s.x;\n float sy = s.y;\n float sz = s.z;\n return mat4((1. - (yy + zz)) * sx, (xy + wz) * sx, (xz - wy) * sx, 0,\n (xy - wz) * sy, (1. - (xx + zz)) * sy, (yz + wx) * sy, 0,\n (xz + wy) * sz, (yz - wx) * sz, (1. - (xx + yy)) * sz, 0,\n t.x, t.y, t.z, 1);\n}\nvec4 quatMultiply(vec4 a, vec4 b){\n vec4 quat;\n quat.x = a.x * b.w + a.w * b.x + a.y * b.z - a.z * b.y;\n quat.y = a.y * b.w + a.w * b.y + a.z * b.x - a.x * b.z;\n quat.z = a.z * b.w + a.w * b.z + a.x * b.y - a.y * b.x;\n quat.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z;\n return quat;\n}\nvoid rotateVecFromQuat(inout vec3 v, vec4 q){\n float ix = q.w * v.x + q.y * v.z - q.z * v.y;\n float iy = q.w * v.y + q.z * v.x - q.x * v.z;\n float iz = q.w * v.z + q.x * v.y - q.y * v.x;\n float iw = -q.x * v.x - q.y * v.y - q.z * v.z;\n v.x = ix * q.w + iw * -q.x + iy * -q.z - iz * -q.y;\n v.y = iy * q.w + iw * -q.y + iz * -q.x - ix * -q.z;\n v.z = iz * q.w + iw * -q.z + ix * -q.y - iy * -q.x;\n}\nvec3 rotateInLocalSpace(vec3 pos, vec3 xAxis, vec3 yAxis, vec3 zAxis, vec4 q){\n float z = pos.z;\n float x = pos.x;\n float y = pos.y;\n vec4 viewQuat = quaternionFromAxis(xAxis, yAxis, zAxis);\n vec4 rotQuat = quatMultiply(viewQuat, q);\n rotateVecFromQuat(pos, rotQuat);\n return pos;\n}\nvoid rotateCorner(inout vec2 corner, float angle){\n float xOS = cos(angle) * corner.x - sin(angle) * corner.y;\n float yOS = sin(angle) * corner.x + cos(angle) * corner.y;\n corner.x = xOS;\n corner.y = yOS;\n}\nuniform vec4 mainTiling_Offset;\nuniform vec4 frameTile_velLenScale;\nuniform vec4 scale;\nuniform mat4 cc_matView;\nuniform mat4 cc_matViewInv;\nuniform mat4 cc_matViewProj;\nuniform vec4 cc_cameraPos;\nuniform mat4 cc_matWorld;\nvarying vec2 uv;\nvarying vec4 color;\nvoid computeVertPos(inout vec4 pos, vec2 vertOffset, vec4 q, vec3 s\n#if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , mat4 viewInv\n#endif\n#if CC_USE_STRETCHED_BILLBOARD\n , vec3 eye\n , vec4 velocity\n , float velocityScale\n , float lengthScale\n , float xIndex\n#endif\n) {\n#if CC_USE_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = normalize(vec3(viewInv[0][0], viewInv[1][0], viewInv[2][0]));\n vec3 camY = normalize(vec3(viewInv[0][1], viewInv[1][1], viewInv[2][1]));\n vec3 camZ = normalize(vec3(viewInv[0][2], viewInv[1][2], viewInv[2][2]));\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, camZ, q);\n#elif CC_USE_STRETCHED_BILLBOARD\n vec3 camRight = normalize(cross(pos.xyz - eye, velocity.xyz)) * s.x;\n vec3 camUp = velocity.xyz * velocityScale + normalize(velocity.xyz) * lengthScale * s.y;\n pos.xyz += (camRight * abs(vertOffset.x) * sign(vertOffset.y)) - camUp * xIndex;\n#elif CC_USE_HORIZONTAL_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = vec3(1, 0, 0);\n vec3 camY = vec3(0, 0, -1);\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, cross(camX, camY), q);\n#elif CC_USE_VERTICAL_BILLBOARD\n vec2 viewSpaceVert = vec2(vertOffset.x * s.x, vertOffset.y * s.y);\n rotateCorner(viewSpaceVert, q.z);\n vec3 camX = normalize(vec3(cc_matView[0][0], cc_matView[1][0], cc_matView[2][0]));\n vec3 camY = vec3(0, 1, 0);\n vec3 offset = camX * viewSpaceVert.x + camY * viewSpaceVert.y;\n pos.xyz += offset;\n#else\n pos.x += vertOffset.x;\n pos.y += vertOffset.y;\n#endif\n}\nvec2 computeUV(float frameIndex, vec2 vertIndex, vec2 frameTile){\n vec2 aniUV = vec2(0, floor(frameIndex * frameTile.y));\n aniUV.x = floor(frameIndex * frameTile.x * frameTile.y - aniUV.y * frameTile.x);\n#if !CC_USE_MESH\n vertIndex.y = 1. - vertIndex.y;\n#endif\n return (aniUV.xy + vertIndex) / vec2(frameTile.x, frameTile.y);\n}\nattribute vec3 a_position;\nattribute vec3 a_texCoord;\nattribute vec3 a_texCoord1;\nattribute vec3 a_texCoord2;\nattribute vec4 a_color;\n#if CC_USE_STRETCHED_BILLBOARD\n attribute vec3 a_color1;\n#endif\n#if CC_USE_MESH\n attribute vec3 a_texCoord3;\n attribute vec3 a_normal;\n attribute vec4 a_color1;\n#endif\nvec4 lpvs_main() {\n vec3 compScale = scale.xyz * a_texCoord1;\n vec4 pos = vec4(a_position, 1);\n#if CC_USE_STRETCHED_BILLBOARD\n vec4 velocity = vec4(a_color1.xyz, 0);\n#endif\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n #if CC_USE_STRETCHED_BILLBOARD\n velocity = cc_matWorld * velocity;\n #endif\n#endif\n#if !CC_USE_MESH\n vec2 cornerOffset = vec2((a_texCoord.xy - 0.5));\n #if CC_USE_BILLBOARD\n vec3 rotEuler = a_texCoord2;\n #elif CC_USE_STRETCHED_BILLBOARD\n vec3 rotEuler = vec3(0.);\n #else\n vec3 rotEuler = vec3(0., 0., a_texCoord2.z);\n #endif\n computeVertPos(pos, cornerOffset, quaternionFromEuler(rotEuler), compScale\n #if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , cc_matViewInv\n #endif\n #if CC_USE_STRETCHED_BILLBOARD\n , cc_cameraPos.xyz\n , velocity\n , frameTile_velLenScale.z\n , frameTile_velLenScale.w\n , a_texCoord.x\n #endif\n );\n color = a_color;\n#else\n mat4 xformNoScale = matrixFromRT(quaternionFromEuler(a_texCoord2), pos.xyz);\n mat4 xform = matFromRTS(quaternionFromEuler(a_texCoord2), pos.xyz, compScale);\n pos = xform * vec4(a_texCoord3, 1);\n vec4 normal = xformNoScale * vec4(a_normal, 0);\n color = a_color * a_color1;\n#endif\n uv = computeUV(a_texCoord.z, a_texCoord.xy, frameTile_velLenScale.xy) * mainTiling_Offset.xy + mainTiling_Offset.zw;\n pos = cc_matViewProj * pos;\n return pos;\n}\nvoid main() { gl_Position = lpvs_main(); }","frag":"\nprecision highp float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nvarying vec2 uv;\nvarying vec4 color;\nuniform sampler2D mainTexture;\nuniform vec4 tintColor;\nvec4 add () {\n vec4 col = 2.0 * color * tintColor * texture2D(mainTexture, uv);\n return CCFragOutput(col);\n}\nvoid main() { gl_FragColor = add(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]}],"samplers":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplers":[]}},"defines":[{"name":"CC_USE_BILLBOARD","type":"boolean","defines":[]},{"name":"CC_USE_STRETCHED_BILLBOARD","type":"boolean","defines":[]},{"name":"CC_USE_HORIZONTAL_BILLBOARD","type":"boolean","defines":[]},{"name":"CC_USE_VERTICAL_BILLBOARD","type":"boolean","defines":[]},{"name":"CC_USE_MESH","type":"boolean","defines":[]},{"name":"CC_USE_WORLD_SPACE","type":"boolean","defines":[]},{"name":"OUTPUT_TO_GAMMA","type":"boolean","defines":[]}],"blocks":[{"name":"Constants","binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1}],"defines":[]},{"name":"FragConstants","binding":1,"members":[{"name":"tintColor","type":16,"count":1}],"defines":[]}],"samplers":[{"name":"mainTexture","type":29,"count":1,"binding":30,"defines":[]}]},{"hash":1933642753,"record":null,"name":"builtin-3d-particle|particle-vs-legacy:lpvs_main|tinted-fs:multiply","glsl3":{"vert":"\nprecision highp float;\nvec4 quaternionFromAxis(vec3 xAxis,vec3 yAxis,vec3 zAxis){\n mat3 m = mat3(xAxis,yAxis,zAxis);\n float trace = m[0][0] + m[1][1] + m[2][2];\n vec4 quat;\n if (trace > 0.) {\n float s = 0.5 / sqrt(trace + 1.0);\n quat.w = 0.25 / s;\n quat.x = (m[2][1] - m[1][2]) * s;\n quat.y = (m[0][2] - m[2][0]) * s;\n quat.z = (m[1][0] - m[0][1]) * s;\n } else if ((m[0][0] > m[1][1]) && (m[0][0] > m[2][2])) {\n float s = 2.0 * sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]);\n quat.w = (m[2][1] - m[1][2]) / s;\n quat.x = 0.25 * s;\n quat.y = (m[0][1] + m[1][0]) / s;\n quat.z = (m[0][2] + m[2][0]) / s;\n } else if (m[1][1] > m[2][2]) {\n float s = 2.0 * sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]);\n quat.w = (m[0][2] - m[2][0]) / s;\n quat.x = (m[0][1] + m[1][0]) / s;\n quat.y = 0.25 * s;\n quat.z = (m[1][2] + m[2][1]) / s;\n } else {\n float s = 2.0 * sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]);\n quat.w = (m[1][0] - m[0][1]) / s;\n quat.x = (m[0][2] + m[2][0]) / s;\n quat.y = (m[1][2] + m[2][1]) / s;\n quat.z = 0.25 * s;\n }\n float len = quat.x * quat.x + quat.y * quat.y + quat.z * quat.z + quat.w * quat.w;\n if (len > 0.) {\n len = 1. / sqrt(len);\n quat.x = quat.x * len;\n quat.y = quat.y * len;\n quat.z = quat.z * len;\n quat.w = quat.w * len;\n }\n return quat;\n}\nvec4 quaternionFromEuler(vec3 angle){\n float x = angle.x / 2.;\n float y = angle.y / 2.;\n float z = angle.z / 2.;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat = vec4(0);\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\nmat4 matrixFromRT(vec4 q, vec3 p){\n float x2 = q.x + q.x;\n float y2 = q.y + q.y;\n float z2 = q.z + q.z;\n float xx = q.x * x2;\n float xy = q.x * y2;\n float xz = q.x * z2;\n float yy = q.y * y2;\n float yz = q.y * z2;\n float zz = q.z * z2;\n float wx = q.w * x2;\n float wy = q.w * y2;\n float wz = q.w * z2;\n return mat4(\n 1. - (yy + zz), xy + wz, xz - wy, 0,\n xy - wz, 1. - (xx + zz), yz + wx, 0,\n xz + wy, yz - wx, 1. - (xx + yy), 0,\n p.x, p.y, p.z, 1\n );\n}\nmat4 matFromRTS(vec4 q, vec3 t, vec3 s){\n float x = q.x, y = q.y, z = q.z, w = q.w;\n float x2 = x + x;\n float y2 = y + y;\n float z2 = z + z;\n float xx = x * x2;\n float xy = x * y2;\n float xz = x * z2;\n float yy = y * y2;\n float yz = y * z2;\n float zz = z * z2;\n float wx = w * x2;\n float wy = w * y2;\n float wz = w * z2;\n float sx = s.x;\n float sy = s.y;\n float sz = s.z;\n return mat4((1. - (yy + zz)) * sx, (xy + wz) * sx, (xz - wy) * sx, 0,\n (xy - wz) * sy, (1. - (xx + zz)) * sy, (yz + wx) * sy, 0,\n (xz + wy) * sz, (yz - wx) * sz, (1. - (xx + yy)) * sz, 0,\n t.x, t.y, t.z, 1);\n}\nvec4 quatMultiply(vec4 a, vec4 b){\n vec4 quat;\n quat.x = a.x * b.w + a.w * b.x + a.y * b.z - a.z * b.y;\n quat.y = a.y * b.w + a.w * b.y + a.z * b.x - a.x * b.z;\n quat.z = a.z * b.w + a.w * b.z + a.x * b.y - a.y * b.x;\n quat.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z;\n return quat;\n}\nvoid rotateVecFromQuat(inout vec3 v, vec4 q){\n float ix = q.w * v.x + q.y * v.z - q.z * v.y;\n float iy = q.w * v.y + q.z * v.x - q.x * v.z;\n float iz = q.w * v.z + q.x * v.y - q.y * v.x;\n float iw = -q.x * v.x - q.y * v.y - q.z * v.z;\n v.x = ix * q.w + iw * -q.x + iy * -q.z - iz * -q.y;\n v.y = iy * q.w + iw * -q.y + iz * -q.x - ix * -q.z;\n v.z = iz * q.w + iw * -q.z + ix * -q.y - iy * -q.x;\n}\nvec3 rotateInLocalSpace(vec3 pos, vec3 xAxis, vec3 yAxis, vec3 zAxis, vec4 q){\n float z = pos.z;\n float x = pos.x;\n float y = pos.y;\n vec4 viewQuat = quaternionFromAxis(xAxis, yAxis, zAxis);\n vec4 rotQuat = quatMultiply(viewQuat, q);\n rotateVecFromQuat(pos, rotQuat);\n return pos;\n}\nvoid rotateCorner(inout vec2 corner, float angle){\n float xOS = cos(angle) * corner.x - sin(angle) * corner.y;\n float yOS = sin(angle) * corner.x + cos(angle) * corner.y;\n corner.x = xOS;\n corner.y = yOS;\n}\nuniform Constants{\n vec4 mainTiling_Offset;\n vec4 frameTile_velLenScale;\n vec4 scale;\n};\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nout vec2 uv;\nout vec4 color;\nvoid computeVertPos(inout vec4 pos, vec2 vertOffset, vec4 q, vec3 s\n#if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , mat4 viewInv\n#endif\n#if CC_USE_STRETCHED_BILLBOARD\n , vec3 eye\n , vec4 velocity\n , float velocityScale\n , float lengthScale\n , float xIndex\n#endif\n) {\n#if CC_USE_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = normalize(vec3(viewInv[0][0], viewInv[1][0], viewInv[2][0]));\n vec3 camY = normalize(vec3(viewInv[0][1], viewInv[1][1], viewInv[2][1]));\n vec3 camZ = normalize(vec3(viewInv[0][2], viewInv[1][2], viewInv[2][2]));\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, camZ, q);\n#elif CC_USE_STRETCHED_BILLBOARD\n vec3 camRight = normalize(cross(pos.xyz - eye, velocity.xyz)) * s.x;\n vec3 camUp = velocity.xyz * velocityScale + normalize(velocity.xyz) * lengthScale * s.y;\n pos.xyz += (camRight * abs(vertOffset.x) * sign(vertOffset.y)) - camUp * xIndex;\n#elif CC_USE_HORIZONTAL_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = vec3(1, 0, 0);\n vec3 camY = vec3(0, 0, -1);\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, cross(camX, camY), q);\n#elif CC_USE_VERTICAL_BILLBOARD\n vec2 viewSpaceVert = vec2(vertOffset.x * s.x, vertOffset.y * s.y);\n rotateCorner(viewSpaceVert, q.z);\n vec3 camX = normalize(vec3(cc_matView[0][0], cc_matView[1][0], cc_matView[2][0]));\n vec3 camY = vec3(0, 1, 0);\n vec3 offset = camX * viewSpaceVert.x + camY * viewSpaceVert.y;\n pos.xyz += offset;\n#else\n pos.x += vertOffset.x;\n pos.y += vertOffset.y;\n#endif\n}\nvec2 computeUV(float frameIndex, vec2 vertIndex, vec2 frameTile){\n vec2 aniUV = vec2(0, floor(frameIndex * frameTile.y));\n aniUV.x = floor(frameIndex * frameTile.x * frameTile.y - aniUV.y * frameTile.x);\n#if !CC_USE_MESH\n vertIndex.y = 1. - vertIndex.y;\n#endif\n return (aniUV.xy + vertIndex) / vec2(frameTile.x, frameTile.y);\n}\nin vec3 a_position;\nin vec3 a_texCoord;\nin vec3 a_texCoord1;\nin vec3 a_texCoord2;\nin vec4 a_color;\n#if CC_USE_STRETCHED_BILLBOARD\n in vec3 a_color1;\n#endif\n#if CC_USE_MESH\n in vec3 a_texCoord3;\n in vec3 a_normal;\n in vec4 a_color1;\n#endif\nvec4 lpvs_main() {\n vec3 compScale = scale.xyz * a_texCoord1;\n vec4 pos = vec4(a_position, 1);\n#if CC_USE_STRETCHED_BILLBOARD\n vec4 velocity = vec4(a_color1.xyz, 0);\n#endif\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n #if CC_USE_STRETCHED_BILLBOARD\n velocity = cc_matWorld * velocity;\n #endif\n#endif\n#if !CC_USE_MESH\n vec2 cornerOffset = vec2((a_texCoord.xy - 0.5));\n #if CC_USE_BILLBOARD\n vec3 rotEuler = a_texCoord2;\n #elif CC_USE_STRETCHED_BILLBOARD\n vec3 rotEuler = vec3(0.);\n #else\n vec3 rotEuler = vec3(0., 0., a_texCoord2.z);\n #endif\n computeVertPos(pos, cornerOffset, quaternionFromEuler(rotEuler), compScale\n #if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , cc_matViewInv\n #endif\n #if CC_USE_STRETCHED_BILLBOARD\n , cc_cameraPos.xyz\n , velocity\n , frameTile_velLenScale.z\n , frameTile_velLenScale.w\n , a_texCoord.x\n #endif\n );\n color = a_color;\n#else\n mat4 xformNoScale = matrixFromRT(quaternionFromEuler(a_texCoord2), pos.xyz);\n mat4 xform = matFromRTS(quaternionFromEuler(a_texCoord2), pos.xyz, compScale);\n pos = xform * vec4(a_texCoord3, 1);\n vec4 normal = xformNoScale * vec4(a_normal, 0);\n color = a_color * a_color1;\n#endif\n uv = computeUV(a_texCoord.z, a_texCoord.xy, frameTile_velLenScale.xy) * mainTiling_Offset.xy + mainTiling_Offset.zw;\n pos = cc_matViewProj * pos;\n return pos;\n}\nvoid main() { gl_Position = lpvs_main(); }","frag":"\nprecision highp float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nin vec2 uv;\nin vec4 color;\nuniform sampler2D mainTexture;\nuniform FragConstants {\n vec4 tintColor;\n};\nvec4 multiply () {\n vec4 col;\n vec4 texColor = texture(mainTexture, uv);\n col.rgb = tintColor.rgb * texColor.rgb * color.rgb * vec3(2.0);\n col.a = (1.0 - texColor.a) * (tintColor.a * color.a * 2.0);\n return CCFragOutput(col);\n}\nout vec4 cc_FragColor;\nvoid main() { cc_FragColor = multiply(); }"},"glsl1":{"vert":"\nprecision highp float;\nvec4 quaternionFromAxis(vec3 xAxis,vec3 yAxis,vec3 zAxis){\n mat3 m = mat3(xAxis,yAxis,zAxis);\n float trace = m[0][0] + m[1][1] + m[2][2];\n vec4 quat;\n if (trace > 0.) {\n float s = 0.5 / sqrt(trace + 1.0);\n quat.w = 0.25 / s;\n quat.x = (m[2][1] - m[1][2]) * s;\n quat.y = (m[0][2] - m[2][0]) * s;\n quat.z = (m[1][0] - m[0][1]) * s;\n } else if ((m[0][0] > m[1][1]) && (m[0][0] > m[2][2])) {\n float s = 2.0 * sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]);\n quat.w = (m[2][1] - m[1][2]) / s;\n quat.x = 0.25 * s;\n quat.y = (m[0][1] + m[1][0]) / s;\n quat.z = (m[0][2] + m[2][0]) / s;\n } else if (m[1][1] > m[2][2]) {\n float s = 2.0 * sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]);\n quat.w = (m[0][2] - m[2][0]) / s;\n quat.x = (m[0][1] + m[1][0]) / s;\n quat.y = 0.25 * s;\n quat.z = (m[1][2] + m[2][1]) / s;\n } else {\n float s = 2.0 * sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]);\n quat.w = (m[1][0] - m[0][1]) / s;\n quat.x = (m[0][2] + m[2][0]) / s;\n quat.y = (m[1][2] + m[2][1]) / s;\n quat.z = 0.25 * s;\n }\n float len = quat.x * quat.x + quat.y * quat.y + quat.z * quat.z + quat.w * quat.w;\n if (len > 0.) {\n len = 1. / sqrt(len);\n quat.x = quat.x * len;\n quat.y = quat.y * len;\n quat.z = quat.z * len;\n quat.w = quat.w * len;\n }\n return quat;\n}\nvec4 quaternionFromEuler(vec3 angle){\n float x = angle.x / 2.;\n float y = angle.y / 2.;\n float z = angle.z / 2.;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat = vec4(0);\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\nmat4 matrixFromRT(vec4 q, vec3 p){\n float x2 = q.x + q.x;\n float y2 = q.y + q.y;\n float z2 = q.z + q.z;\n float xx = q.x * x2;\n float xy = q.x * y2;\n float xz = q.x * z2;\n float yy = q.y * y2;\n float yz = q.y * z2;\n float zz = q.z * z2;\n float wx = q.w * x2;\n float wy = q.w * y2;\n float wz = q.w * z2;\n return mat4(\n 1. - (yy + zz), xy + wz, xz - wy, 0,\n xy - wz, 1. - (xx + zz), yz + wx, 0,\n xz + wy, yz - wx, 1. - (xx + yy), 0,\n p.x, p.y, p.z, 1\n );\n}\nmat4 matFromRTS(vec4 q, vec3 t, vec3 s){\n float x = q.x, y = q.y, z = q.z, w = q.w;\n float x2 = x + x;\n float y2 = y + y;\n float z2 = z + z;\n float xx = x * x2;\n float xy = x * y2;\n float xz = x * z2;\n float yy = y * y2;\n float yz = y * z2;\n float zz = z * z2;\n float wx = w * x2;\n float wy = w * y2;\n float wz = w * z2;\n float sx = s.x;\n float sy = s.y;\n float sz = s.z;\n return mat4((1. - (yy + zz)) * sx, (xy + wz) * sx, (xz - wy) * sx, 0,\n (xy - wz) * sy, (1. - (xx + zz)) * sy, (yz + wx) * sy, 0,\n (xz + wy) * sz, (yz - wx) * sz, (1. - (xx + yy)) * sz, 0,\n t.x, t.y, t.z, 1);\n}\nvec4 quatMultiply(vec4 a, vec4 b){\n vec4 quat;\n quat.x = a.x * b.w + a.w * b.x + a.y * b.z - a.z * b.y;\n quat.y = a.y * b.w + a.w * b.y + a.z * b.x - a.x * b.z;\n quat.z = a.z * b.w + a.w * b.z + a.x * b.y - a.y * b.x;\n quat.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z;\n return quat;\n}\nvoid rotateVecFromQuat(inout vec3 v, vec4 q){\n float ix = q.w * v.x + q.y * v.z - q.z * v.y;\n float iy = q.w * v.y + q.z * v.x - q.x * v.z;\n float iz = q.w * v.z + q.x * v.y - q.y * v.x;\n float iw = -q.x * v.x - q.y * v.y - q.z * v.z;\n v.x = ix * q.w + iw * -q.x + iy * -q.z - iz * -q.y;\n v.y = iy * q.w + iw * -q.y + iz * -q.x - ix * -q.z;\n v.z = iz * q.w + iw * -q.z + ix * -q.y - iy * -q.x;\n}\nvec3 rotateInLocalSpace(vec3 pos, vec3 xAxis, vec3 yAxis, vec3 zAxis, vec4 q){\n float z = pos.z;\n float x = pos.x;\n float y = pos.y;\n vec4 viewQuat = quaternionFromAxis(xAxis, yAxis, zAxis);\n vec4 rotQuat = quatMultiply(viewQuat, q);\n rotateVecFromQuat(pos, rotQuat);\n return pos;\n}\nvoid rotateCorner(inout vec2 corner, float angle){\n float xOS = cos(angle) * corner.x - sin(angle) * corner.y;\n float yOS = sin(angle) * corner.x + cos(angle) * corner.y;\n corner.x = xOS;\n corner.y = yOS;\n}\nuniform vec4 mainTiling_Offset;\nuniform vec4 frameTile_velLenScale;\nuniform vec4 scale;\nuniform mat4 cc_matView;\nuniform mat4 cc_matViewInv;\nuniform mat4 cc_matViewProj;\nuniform vec4 cc_cameraPos;\nuniform mat4 cc_matWorld;\nvarying vec2 uv;\nvarying vec4 color;\nvoid computeVertPos(inout vec4 pos, vec2 vertOffset, vec4 q, vec3 s\n#if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , mat4 viewInv\n#endif\n#if CC_USE_STRETCHED_BILLBOARD\n , vec3 eye\n , vec4 velocity\n , float velocityScale\n , float lengthScale\n , float xIndex\n#endif\n) {\n#if CC_USE_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = normalize(vec3(viewInv[0][0], viewInv[1][0], viewInv[2][0]));\n vec3 camY = normalize(vec3(viewInv[0][1], viewInv[1][1], viewInv[2][1]));\n vec3 camZ = normalize(vec3(viewInv[0][2], viewInv[1][2], viewInv[2][2]));\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, camZ, q);\n#elif CC_USE_STRETCHED_BILLBOARD\n vec3 camRight = normalize(cross(pos.xyz - eye, velocity.xyz)) * s.x;\n vec3 camUp = velocity.xyz * velocityScale + normalize(velocity.xyz) * lengthScale * s.y;\n pos.xyz += (camRight * abs(vertOffset.x) * sign(vertOffset.y)) - camUp * xIndex;\n#elif CC_USE_HORIZONTAL_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = vec3(1, 0, 0);\n vec3 camY = vec3(0, 0, -1);\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, cross(camX, camY), q);\n#elif CC_USE_VERTICAL_BILLBOARD\n vec2 viewSpaceVert = vec2(vertOffset.x * s.x, vertOffset.y * s.y);\n rotateCorner(viewSpaceVert, q.z);\n vec3 camX = normalize(vec3(cc_matView[0][0], cc_matView[1][0], cc_matView[2][0]));\n vec3 camY = vec3(0, 1, 0);\n vec3 offset = camX * viewSpaceVert.x + camY * viewSpaceVert.y;\n pos.xyz += offset;\n#else\n pos.x += vertOffset.x;\n pos.y += vertOffset.y;\n#endif\n}\nvec2 computeUV(float frameIndex, vec2 vertIndex, vec2 frameTile){\n vec2 aniUV = vec2(0, floor(frameIndex * frameTile.y));\n aniUV.x = floor(frameIndex * frameTile.x * frameTile.y - aniUV.y * frameTile.x);\n#if !CC_USE_MESH\n vertIndex.y = 1. - vertIndex.y;\n#endif\n return (aniUV.xy + vertIndex) / vec2(frameTile.x, frameTile.y);\n}\nattribute vec3 a_position;\nattribute vec3 a_texCoord;\nattribute vec3 a_texCoord1;\nattribute vec3 a_texCoord2;\nattribute vec4 a_color;\n#if CC_USE_STRETCHED_BILLBOARD\n attribute vec3 a_color1;\n#endif\n#if CC_USE_MESH\n attribute vec3 a_texCoord3;\n attribute vec3 a_normal;\n attribute vec4 a_color1;\n#endif\nvec4 lpvs_main() {\n vec3 compScale = scale.xyz * a_texCoord1;\n vec4 pos = vec4(a_position, 1);\n#if CC_USE_STRETCHED_BILLBOARD\n vec4 velocity = vec4(a_color1.xyz, 0);\n#endif\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n #if CC_USE_STRETCHED_BILLBOARD\n velocity = cc_matWorld * velocity;\n #endif\n#endif\n#if !CC_USE_MESH\n vec2 cornerOffset = vec2((a_texCoord.xy - 0.5));\n #if CC_USE_BILLBOARD\n vec3 rotEuler = a_texCoord2;\n #elif CC_USE_STRETCHED_BILLBOARD\n vec3 rotEuler = vec3(0.);\n #else\n vec3 rotEuler = vec3(0., 0., a_texCoord2.z);\n #endif\n computeVertPos(pos, cornerOffset, quaternionFromEuler(rotEuler), compScale\n #if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , cc_matViewInv\n #endif\n #if CC_USE_STRETCHED_BILLBOARD\n , cc_cameraPos.xyz\n , velocity\n , frameTile_velLenScale.z\n , frameTile_velLenScale.w\n , a_texCoord.x\n #endif\n );\n color = a_color;\n#else\n mat4 xformNoScale = matrixFromRT(quaternionFromEuler(a_texCoord2), pos.xyz);\n mat4 xform = matFromRTS(quaternionFromEuler(a_texCoord2), pos.xyz, compScale);\n pos = xform * vec4(a_texCoord3, 1);\n vec4 normal = xformNoScale * vec4(a_normal, 0);\n color = a_color * a_color1;\n#endif\n uv = computeUV(a_texCoord.z, a_texCoord.xy, frameTile_velLenScale.xy) * mainTiling_Offset.xy + mainTiling_Offset.zw;\n pos = cc_matViewProj * pos;\n return pos;\n}\nvoid main() { gl_Position = lpvs_main(); }","frag":"\nprecision highp float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nvarying vec2 uv;\nvarying vec4 color;\nuniform sampler2D mainTexture;\nuniform vec4 tintColor;\nvec4 multiply () {\n vec4 col;\n vec4 texColor = texture2D(mainTexture, uv);\n col.rgb = tintColor.rgb * texColor.rgb * color.rgb * vec3(2.0);\n col.a = (1.0 - texColor.a) * (tintColor.a * color.a * 2.0);\n return CCFragOutput(col);\n}\nvoid main() { gl_FragColor = multiply(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]}],"samplers":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplers":[]}},"defines":[{"name":"CC_USE_BILLBOARD","type":"boolean","defines":[]},{"name":"CC_USE_STRETCHED_BILLBOARD","type":"boolean","defines":[]},{"name":"CC_USE_HORIZONTAL_BILLBOARD","type":"boolean","defines":[]},{"name":"CC_USE_VERTICAL_BILLBOARD","type":"boolean","defines":[]},{"name":"CC_USE_MESH","type":"boolean","defines":[]},{"name":"CC_USE_WORLD_SPACE","type":"boolean","defines":[]},{"name":"OUTPUT_TO_GAMMA","type":"boolean","defines":[]}],"blocks":[{"name":"Constants","binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1}],"defines":[]},{"name":"FragConstants","binding":1,"members":[{"name":"tintColor","type":16,"count":1}],"defines":[]}],"samplers":[{"name":"mainTexture","type":29,"count":1,"binding":30,"defines":[]}]},{"hash":1851787849,"record":null,"name":"builtin-3d-particle|particle-vs-legacy:lpvs_main|no-tint-fs:addSmooth","glsl3":{"vert":"\nprecision highp float;\nvec4 quaternionFromAxis(vec3 xAxis,vec3 yAxis,vec3 zAxis){\n mat3 m = mat3(xAxis,yAxis,zAxis);\n float trace = m[0][0] + m[1][1] + m[2][2];\n vec4 quat;\n if (trace > 0.) {\n float s = 0.5 / sqrt(trace + 1.0);\n quat.w = 0.25 / s;\n quat.x = (m[2][1] - m[1][2]) * s;\n quat.y = (m[0][2] - m[2][0]) * s;\n quat.z = (m[1][0] - m[0][1]) * s;\n } else if ((m[0][0] > m[1][1]) && (m[0][0] > m[2][2])) {\n float s = 2.0 * sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]);\n quat.w = (m[2][1] - m[1][2]) / s;\n quat.x = 0.25 * s;\n quat.y = (m[0][1] + m[1][0]) / s;\n quat.z = (m[0][2] + m[2][0]) / s;\n } else if (m[1][1] > m[2][2]) {\n float s = 2.0 * sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]);\n quat.w = (m[0][2] - m[2][0]) / s;\n quat.x = (m[0][1] + m[1][0]) / s;\n quat.y = 0.25 * s;\n quat.z = (m[1][2] + m[2][1]) / s;\n } else {\n float s = 2.0 * sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]);\n quat.w = (m[1][0] - m[0][1]) / s;\n quat.x = (m[0][2] + m[2][0]) / s;\n quat.y = (m[1][2] + m[2][1]) / s;\n quat.z = 0.25 * s;\n }\n float len = quat.x * quat.x + quat.y * quat.y + quat.z * quat.z + quat.w * quat.w;\n if (len > 0.) {\n len = 1. / sqrt(len);\n quat.x = quat.x * len;\n quat.y = quat.y * len;\n quat.z = quat.z * len;\n quat.w = quat.w * len;\n }\n return quat;\n}\nvec4 quaternionFromEuler(vec3 angle){\n float x = angle.x / 2.;\n float y = angle.y / 2.;\n float z = angle.z / 2.;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat = vec4(0);\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\nmat4 matrixFromRT(vec4 q, vec3 p){\n float x2 = q.x + q.x;\n float y2 = q.y + q.y;\n float z2 = q.z + q.z;\n float xx = q.x * x2;\n float xy = q.x * y2;\n float xz = q.x * z2;\n float yy = q.y * y2;\n float yz = q.y * z2;\n float zz = q.z * z2;\n float wx = q.w * x2;\n float wy = q.w * y2;\n float wz = q.w * z2;\n return mat4(\n 1. - (yy + zz), xy + wz, xz - wy, 0,\n xy - wz, 1. - (xx + zz), yz + wx, 0,\n xz + wy, yz - wx, 1. - (xx + yy), 0,\n p.x, p.y, p.z, 1\n );\n}\nmat4 matFromRTS(vec4 q, vec3 t, vec3 s){\n float x = q.x, y = q.y, z = q.z, w = q.w;\n float x2 = x + x;\n float y2 = y + y;\n float z2 = z + z;\n float xx = x * x2;\n float xy = x * y2;\n float xz = x * z2;\n float yy = y * y2;\n float yz = y * z2;\n float zz = z * z2;\n float wx = w * x2;\n float wy = w * y2;\n float wz = w * z2;\n float sx = s.x;\n float sy = s.y;\n float sz = s.z;\n return mat4((1. - (yy + zz)) * sx, (xy + wz) * sx, (xz - wy) * sx, 0,\n (xy - wz) * sy, (1. - (xx + zz)) * sy, (yz + wx) * sy, 0,\n (xz + wy) * sz, (yz - wx) * sz, (1. - (xx + yy)) * sz, 0,\n t.x, t.y, t.z, 1);\n}\nvec4 quatMultiply(vec4 a, vec4 b){\n vec4 quat;\n quat.x = a.x * b.w + a.w * b.x + a.y * b.z - a.z * b.y;\n quat.y = a.y * b.w + a.w * b.y + a.z * b.x - a.x * b.z;\n quat.z = a.z * b.w + a.w * b.z + a.x * b.y - a.y * b.x;\n quat.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z;\n return quat;\n}\nvoid rotateVecFromQuat(inout vec3 v, vec4 q){\n float ix = q.w * v.x + q.y * v.z - q.z * v.y;\n float iy = q.w * v.y + q.z * v.x - q.x * v.z;\n float iz = q.w * v.z + q.x * v.y - q.y * v.x;\n float iw = -q.x * v.x - q.y * v.y - q.z * v.z;\n v.x = ix * q.w + iw * -q.x + iy * -q.z - iz * -q.y;\n v.y = iy * q.w + iw * -q.y + iz * -q.x - ix * -q.z;\n v.z = iz * q.w + iw * -q.z + ix * -q.y - iy * -q.x;\n}\nvec3 rotateInLocalSpace(vec3 pos, vec3 xAxis, vec3 yAxis, vec3 zAxis, vec4 q){\n float z = pos.z;\n float x = pos.x;\n float y = pos.y;\n vec4 viewQuat = quaternionFromAxis(xAxis, yAxis, zAxis);\n vec4 rotQuat = quatMultiply(viewQuat, q);\n rotateVecFromQuat(pos, rotQuat);\n return pos;\n}\nvoid rotateCorner(inout vec2 corner, float angle){\n float xOS = cos(angle) * corner.x - sin(angle) * corner.y;\n float yOS = sin(angle) * corner.x + cos(angle) * corner.y;\n corner.x = xOS;\n corner.y = yOS;\n}\nuniform Constants{\n vec4 mainTiling_Offset;\n vec4 frameTile_velLenScale;\n vec4 scale;\n};\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nout vec2 uv;\nout vec4 color;\nvoid computeVertPos(inout vec4 pos, vec2 vertOffset, vec4 q, vec3 s\n#if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , mat4 viewInv\n#endif\n#if CC_USE_STRETCHED_BILLBOARD\n , vec3 eye\n , vec4 velocity\n , float velocityScale\n , float lengthScale\n , float xIndex\n#endif\n) {\n#if CC_USE_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = normalize(vec3(viewInv[0][0], viewInv[1][0], viewInv[2][0]));\n vec3 camY = normalize(vec3(viewInv[0][1], viewInv[1][1], viewInv[2][1]));\n vec3 camZ = normalize(vec3(viewInv[0][2], viewInv[1][2], viewInv[2][2]));\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, camZ, q);\n#elif CC_USE_STRETCHED_BILLBOARD\n vec3 camRight = normalize(cross(pos.xyz - eye, velocity.xyz)) * s.x;\n vec3 camUp = velocity.xyz * velocityScale + normalize(velocity.xyz) * lengthScale * s.y;\n pos.xyz += (camRight * abs(vertOffset.x) * sign(vertOffset.y)) - camUp * xIndex;\n#elif CC_USE_HORIZONTAL_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = vec3(1, 0, 0);\n vec3 camY = vec3(0, 0, -1);\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, cross(camX, camY), q);\n#elif CC_USE_VERTICAL_BILLBOARD\n vec2 viewSpaceVert = vec2(vertOffset.x * s.x, vertOffset.y * s.y);\n rotateCorner(viewSpaceVert, q.z);\n vec3 camX = normalize(vec3(cc_matView[0][0], cc_matView[1][0], cc_matView[2][0]));\n vec3 camY = vec3(0, 1, 0);\n vec3 offset = camX * viewSpaceVert.x + camY * viewSpaceVert.y;\n pos.xyz += offset;\n#else\n pos.x += vertOffset.x;\n pos.y += vertOffset.y;\n#endif\n}\nvec2 computeUV(float frameIndex, vec2 vertIndex, vec2 frameTile){\n vec2 aniUV = vec2(0, floor(frameIndex * frameTile.y));\n aniUV.x = floor(frameIndex * frameTile.x * frameTile.y - aniUV.y * frameTile.x);\n#if !CC_USE_MESH\n vertIndex.y = 1. - vertIndex.y;\n#endif\n return (aniUV.xy + vertIndex) / vec2(frameTile.x, frameTile.y);\n}\nin vec3 a_position;\nin vec3 a_texCoord;\nin vec3 a_texCoord1;\nin vec3 a_texCoord2;\nin vec4 a_color;\n#if CC_USE_STRETCHED_BILLBOARD\n in vec3 a_color1;\n#endif\n#if CC_USE_MESH\n in vec3 a_texCoord3;\n in vec3 a_normal;\n in vec4 a_color1;\n#endif\nvec4 lpvs_main() {\n vec3 compScale = scale.xyz * a_texCoord1;\n vec4 pos = vec4(a_position, 1);\n#if CC_USE_STRETCHED_BILLBOARD\n vec4 velocity = vec4(a_color1.xyz, 0);\n#endif\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n #if CC_USE_STRETCHED_BILLBOARD\n velocity = cc_matWorld * velocity;\n #endif\n#endif\n#if !CC_USE_MESH\n vec2 cornerOffset = vec2((a_texCoord.xy - 0.5));\n #if CC_USE_BILLBOARD\n vec3 rotEuler = a_texCoord2;\n #elif CC_USE_STRETCHED_BILLBOARD\n vec3 rotEuler = vec3(0.);\n #else\n vec3 rotEuler = vec3(0., 0., a_texCoord2.z);\n #endif\n computeVertPos(pos, cornerOffset, quaternionFromEuler(rotEuler), compScale\n #if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , cc_matViewInv\n #endif\n #if CC_USE_STRETCHED_BILLBOARD\n , cc_cameraPos.xyz\n , velocity\n , frameTile_velLenScale.z\n , frameTile_velLenScale.w\n , a_texCoord.x\n #endif\n );\n color = a_color;\n#else\n mat4 xformNoScale = matrixFromRT(quaternionFromEuler(a_texCoord2), pos.xyz);\n mat4 xform = matFromRTS(quaternionFromEuler(a_texCoord2), pos.xyz, compScale);\n pos = xform * vec4(a_texCoord3, 1);\n vec4 normal = xformNoScale * vec4(a_normal, 0);\n color = a_color * a_color1;\n#endif\n uv = computeUV(a_texCoord.z, a_texCoord.xy, frameTile_velLenScale.xy) * mainTiling_Offset.xy + mainTiling_Offset.zw;\n pos = cc_matViewProj * pos;\n return pos;\n}\nvoid main() { gl_Position = lpvs_main(); }","frag":"\nprecision highp float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nin vec2 uv;\nin vec4 color;\nuniform sampler2D mainTexture;\nvec4 addSmooth () {\n vec4 col = color * texture(mainTexture, uv);\n col.rgb *= col.a;\n return CCFragOutput(col);\n}\nout vec4 cc_FragColor;\nvoid main() { cc_FragColor = addSmooth(); }"},"glsl1":{"vert":"\nprecision highp float;\nvec4 quaternionFromAxis(vec3 xAxis,vec3 yAxis,vec3 zAxis){\n mat3 m = mat3(xAxis,yAxis,zAxis);\n float trace = m[0][0] + m[1][1] + m[2][2];\n vec4 quat;\n if (trace > 0.) {\n float s = 0.5 / sqrt(trace + 1.0);\n quat.w = 0.25 / s;\n quat.x = (m[2][1] - m[1][2]) * s;\n quat.y = (m[0][2] - m[2][0]) * s;\n quat.z = (m[1][0] - m[0][1]) * s;\n } else if ((m[0][0] > m[1][1]) && (m[0][0] > m[2][2])) {\n float s = 2.0 * sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]);\n quat.w = (m[2][1] - m[1][2]) / s;\n quat.x = 0.25 * s;\n quat.y = (m[0][1] + m[1][0]) / s;\n quat.z = (m[0][2] + m[2][0]) / s;\n } else if (m[1][1] > m[2][2]) {\n float s = 2.0 * sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]);\n quat.w = (m[0][2] - m[2][0]) / s;\n quat.x = (m[0][1] + m[1][0]) / s;\n quat.y = 0.25 * s;\n quat.z = (m[1][2] + m[2][1]) / s;\n } else {\n float s = 2.0 * sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]);\n quat.w = (m[1][0] - m[0][1]) / s;\n quat.x = (m[0][2] + m[2][0]) / s;\n quat.y = (m[1][2] + m[2][1]) / s;\n quat.z = 0.25 * s;\n }\n float len = quat.x * quat.x + quat.y * quat.y + quat.z * quat.z + quat.w * quat.w;\n if (len > 0.) {\n len = 1. / sqrt(len);\n quat.x = quat.x * len;\n quat.y = quat.y * len;\n quat.z = quat.z * len;\n quat.w = quat.w * len;\n }\n return quat;\n}\nvec4 quaternionFromEuler(vec3 angle){\n float x = angle.x / 2.;\n float y = angle.y / 2.;\n float z = angle.z / 2.;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat = vec4(0);\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\nmat4 matrixFromRT(vec4 q, vec3 p){\n float x2 = q.x + q.x;\n float y2 = q.y + q.y;\n float z2 = q.z + q.z;\n float xx = q.x * x2;\n float xy = q.x * y2;\n float xz = q.x * z2;\n float yy = q.y * y2;\n float yz = q.y * z2;\n float zz = q.z * z2;\n float wx = q.w * x2;\n float wy = q.w * y2;\n float wz = q.w * z2;\n return mat4(\n 1. - (yy + zz), xy + wz, xz - wy, 0,\n xy - wz, 1. - (xx + zz), yz + wx, 0,\n xz + wy, yz - wx, 1. - (xx + yy), 0,\n p.x, p.y, p.z, 1\n );\n}\nmat4 matFromRTS(vec4 q, vec3 t, vec3 s){\n float x = q.x, y = q.y, z = q.z, w = q.w;\n float x2 = x + x;\n float y2 = y + y;\n float z2 = z + z;\n float xx = x * x2;\n float xy = x * y2;\n float xz = x * z2;\n float yy = y * y2;\n float yz = y * z2;\n float zz = z * z2;\n float wx = w * x2;\n float wy = w * y2;\n float wz = w * z2;\n float sx = s.x;\n float sy = s.y;\n float sz = s.z;\n return mat4((1. - (yy + zz)) * sx, (xy + wz) * sx, (xz - wy) * sx, 0,\n (xy - wz) * sy, (1. - (xx + zz)) * sy, (yz + wx) * sy, 0,\n (xz + wy) * sz, (yz - wx) * sz, (1. - (xx + yy)) * sz, 0,\n t.x, t.y, t.z, 1);\n}\nvec4 quatMultiply(vec4 a, vec4 b){\n vec4 quat;\n quat.x = a.x * b.w + a.w * b.x + a.y * b.z - a.z * b.y;\n quat.y = a.y * b.w + a.w * b.y + a.z * b.x - a.x * b.z;\n quat.z = a.z * b.w + a.w * b.z + a.x * b.y - a.y * b.x;\n quat.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z;\n return quat;\n}\nvoid rotateVecFromQuat(inout vec3 v, vec4 q){\n float ix = q.w * v.x + q.y * v.z - q.z * v.y;\n float iy = q.w * v.y + q.z * v.x - q.x * v.z;\n float iz = q.w * v.z + q.x * v.y - q.y * v.x;\n float iw = -q.x * v.x - q.y * v.y - q.z * v.z;\n v.x = ix * q.w + iw * -q.x + iy * -q.z - iz * -q.y;\n v.y = iy * q.w + iw * -q.y + iz * -q.x - ix * -q.z;\n v.z = iz * q.w + iw * -q.z + ix * -q.y - iy * -q.x;\n}\nvec3 rotateInLocalSpace(vec3 pos, vec3 xAxis, vec3 yAxis, vec3 zAxis, vec4 q){\n float z = pos.z;\n float x = pos.x;\n float y = pos.y;\n vec4 viewQuat = quaternionFromAxis(xAxis, yAxis, zAxis);\n vec4 rotQuat = quatMultiply(viewQuat, q);\n rotateVecFromQuat(pos, rotQuat);\n return pos;\n}\nvoid rotateCorner(inout vec2 corner, float angle){\n float xOS = cos(angle) * corner.x - sin(angle) * corner.y;\n float yOS = sin(angle) * corner.x + cos(angle) * corner.y;\n corner.x = xOS;\n corner.y = yOS;\n}\nuniform vec4 mainTiling_Offset;\nuniform vec4 frameTile_velLenScale;\nuniform vec4 scale;\nuniform mat4 cc_matView;\nuniform mat4 cc_matViewInv;\nuniform mat4 cc_matViewProj;\nuniform vec4 cc_cameraPos;\nuniform mat4 cc_matWorld;\nvarying vec2 uv;\nvarying vec4 color;\nvoid computeVertPos(inout vec4 pos, vec2 vertOffset, vec4 q, vec3 s\n#if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , mat4 viewInv\n#endif\n#if CC_USE_STRETCHED_BILLBOARD\n , vec3 eye\n , vec4 velocity\n , float velocityScale\n , float lengthScale\n , float xIndex\n#endif\n) {\n#if CC_USE_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = normalize(vec3(viewInv[0][0], viewInv[1][0], viewInv[2][0]));\n vec3 camY = normalize(vec3(viewInv[0][1], viewInv[1][1], viewInv[2][1]));\n vec3 camZ = normalize(vec3(viewInv[0][2], viewInv[1][2], viewInv[2][2]));\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, camZ, q);\n#elif CC_USE_STRETCHED_BILLBOARD\n vec3 camRight = normalize(cross(pos.xyz - eye, velocity.xyz)) * s.x;\n vec3 camUp = velocity.xyz * velocityScale + normalize(velocity.xyz) * lengthScale * s.y;\n pos.xyz += (camRight * abs(vertOffset.x) * sign(vertOffset.y)) - camUp * xIndex;\n#elif CC_USE_HORIZONTAL_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = vec3(1, 0, 0);\n vec3 camY = vec3(0, 0, -1);\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, cross(camX, camY), q);\n#elif CC_USE_VERTICAL_BILLBOARD\n vec2 viewSpaceVert = vec2(vertOffset.x * s.x, vertOffset.y * s.y);\n rotateCorner(viewSpaceVert, q.z);\n vec3 camX = normalize(vec3(cc_matView[0][0], cc_matView[1][0], cc_matView[2][0]));\n vec3 camY = vec3(0, 1, 0);\n vec3 offset = camX * viewSpaceVert.x + camY * viewSpaceVert.y;\n pos.xyz += offset;\n#else\n pos.x += vertOffset.x;\n pos.y += vertOffset.y;\n#endif\n}\nvec2 computeUV(float frameIndex, vec2 vertIndex, vec2 frameTile){\n vec2 aniUV = vec2(0, floor(frameIndex * frameTile.y));\n aniUV.x = floor(frameIndex * frameTile.x * frameTile.y - aniUV.y * frameTile.x);\n#if !CC_USE_MESH\n vertIndex.y = 1. - vertIndex.y;\n#endif\n return (aniUV.xy + vertIndex) / vec2(frameTile.x, frameTile.y);\n}\nattribute vec3 a_position;\nattribute vec3 a_texCoord;\nattribute vec3 a_texCoord1;\nattribute vec3 a_texCoord2;\nattribute vec4 a_color;\n#if CC_USE_STRETCHED_BILLBOARD\n attribute vec3 a_color1;\n#endif\n#if CC_USE_MESH\n attribute vec3 a_texCoord3;\n attribute vec3 a_normal;\n attribute vec4 a_color1;\n#endif\nvec4 lpvs_main() {\n vec3 compScale = scale.xyz * a_texCoord1;\n vec4 pos = vec4(a_position, 1);\n#if CC_USE_STRETCHED_BILLBOARD\n vec4 velocity = vec4(a_color1.xyz, 0);\n#endif\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n #if CC_USE_STRETCHED_BILLBOARD\n velocity = cc_matWorld * velocity;\n #endif\n#endif\n#if !CC_USE_MESH\n vec2 cornerOffset = vec2((a_texCoord.xy - 0.5));\n #if CC_USE_BILLBOARD\n vec3 rotEuler = a_texCoord2;\n #elif CC_USE_STRETCHED_BILLBOARD\n vec3 rotEuler = vec3(0.);\n #else\n vec3 rotEuler = vec3(0., 0., a_texCoord2.z);\n #endif\n computeVertPos(pos, cornerOffset, quaternionFromEuler(rotEuler), compScale\n #if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , cc_matViewInv\n #endif\n #if CC_USE_STRETCHED_BILLBOARD\n , cc_cameraPos.xyz\n , velocity\n , frameTile_velLenScale.z\n , frameTile_velLenScale.w\n , a_texCoord.x\n #endif\n );\n color = a_color;\n#else\n mat4 xformNoScale = matrixFromRT(quaternionFromEuler(a_texCoord2), pos.xyz);\n mat4 xform = matFromRTS(quaternionFromEuler(a_texCoord2), pos.xyz, compScale);\n pos = xform * vec4(a_texCoord3, 1);\n vec4 normal = xformNoScale * vec4(a_normal, 0);\n color = a_color * a_color1;\n#endif\n uv = computeUV(a_texCoord.z, a_texCoord.xy, frameTile_velLenScale.xy) * mainTiling_Offset.xy + mainTiling_Offset.zw;\n pos = cc_matViewProj * pos;\n return pos;\n}\nvoid main() { gl_Position = lpvs_main(); }","frag":"\nprecision highp float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nvarying vec2 uv;\nvarying vec4 color;\nuniform sampler2D mainTexture;\nvec4 addSmooth () {\n vec4 col = color * texture2D(mainTexture, uv);\n col.rgb *= col.a;\n return CCFragOutput(col);\n}\nvoid main() { gl_FragColor = addSmooth(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]}],"samplers":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplers":[]}},"defines":[{"name":"CC_USE_BILLBOARD","type":"boolean","defines":[]},{"name":"CC_USE_STRETCHED_BILLBOARD","type":"boolean","defines":[]},{"name":"CC_USE_HORIZONTAL_BILLBOARD","type":"boolean","defines":[]},{"name":"CC_USE_VERTICAL_BILLBOARD","type":"boolean","defines":[]},{"name":"CC_USE_MESH","type":"boolean","defines":[]},{"name":"CC_USE_WORLD_SPACE","type":"boolean","defines":[]},{"name":"OUTPUT_TO_GAMMA","type":"boolean","defines":[]}],"blocks":[{"name":"Constants","binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1}],"defines":[]}],"samplers":[{"name":"mainTexture","type":29,"count":1,"binding":30,"defines":[]}]},{"hash":145387972,"record":null,"name":"builtin-3d-particle|particle-vs-legacy:lpvs_main|no-tint-fs:premultiplied","glsl3":{"vert":"\nprecision highp float;\nvec4 quaternionFromAxis(vec3 xAxis,vec3 yAxis,vec3 zAxis){\n mat3 m = mat3(xAxis,yAxis,zAxis);\n float trace = m[0][0] + m[1][1] + m[2][2];\n vec4 quat;\n if (trace > 0.) {\n float s = 0.5 / sqrt(trace + 1.0);\n quat.w = 0.25 / s;\n quat.x = (m[2][1] - m[1][2]) * s;\n quat.y = (m[0][2] - m[2][0]) * s;\n quat.z = (m[1][0] - m[0][1]) * s;\n } else if ((m[0][0] > m[1][1]) && (m[0][0] > m[2][2])) {\n float s = 2.0 * sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]);\n quat.w = (m[2][1] - m[1][2]) / s;\n quat.x = 0.25 * s;\n quat.y = (m[0][1] + m[1][0]) / s;\n quat.z = (m[0][2] + m[2][0]) / s;\n } else if (m[1][1] > m[2][2]) {\n float s = 2.0 * sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]);\n quat.w = (m[0][2] - m[2][0]) / s;\n quat.x = (m[0][1] + m[1][0]) / s;\n quat.y = 0.25 * s;\n quat.z = (m[1][2] + m[2][1]) / s;\n } else {\n float s = 2.0 * sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]);\n quat.w = (m[1][0] - m[0][1]) / s;\n quat.x = (m[0][2] + m[2][0]) / s;\n quat.y = (m[1][2] + m[2][1]) / s;\n quat.z = 0.25 * s;\n }\n float len = quat.x * quat.x + quat.y * quat.y + quat.z * quat.z + quat.w * quat.w;\n if (len > 0.) {\n len = 1. / sqrt(len);\n quat.x = quat.x * len;\n quat.y = quat.y * len;\n quat.z = quat.z * len;\n quat.w = quat.w * len;\n }\n return quat;\n}\nvec4 quaternionFromEuler(vec3 angle){\n float x = angle.x / 2.;\n float y = angle.y / 2.;\n float z = angle.z / 2.;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat = vec4(0);\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\nmat4 matrixFromRT(vec4 q, vec3 p){\n float x2 = q.x + q.x;\n float y2 = q.y + q.y;\n float z2 = q.z + q.z;\n float xx = q.x * x2;\n float xy = q.x * y2;\n float xz = q.x * z2;\n float yy = q.y * y2;\n float yz = q.y * z2;\n float zz = q.z * z2;\n float wx = q.w * x2;\n float wy = q.w * y2;\n float wz = q.w * z2;\n return mat4(\n 1. - (yy + zz), xy + wz, xz - wy, 0,\n xy - wz, 1. - (xx + zz), yz + wx, 0,\n xz + wy, yz - wx, 1. - (xx + yy), 0,\n p.x, p.y, p.z, 1\n );\n}\nmat4 matFromRTS(vec4 q, vec3 t, vec3 s){\n float x = q.x, y = q.y, z = q.z, w = q.w;\n float x2 = x + x;\n float y2 = y + y;\n float z2 = z + z;\n float xx = x * x2;\n float xy = x * y2;\n float xz = x * z2;\n float yy = y * y2;\n float yz = y * z2;\n float zz = z * z2;\n float wx = w * x2;\n float wy = w * y2;\n float wz = w * z2;\n float sx = s.x;\n float sy = s.y;\n float sz = s.z;\n return mat4((1. - (yy + zz)) * sx, (xy + wz) * sx, (xz - wy) * sx, 0,\n (xy - wz) * sy, (1. - (xx + zz)) * sy, (yz + wx) * sy, 0,\n (xz + wy) * sz, (yz - wx) * sz, (1. - (xx + yy)) * sz, 0,\n t.x, t.y, t.z, 1);\n}\nvec4 quatMultiply(vec4 a, vec4 b){\n vec4 quat;\n quat.x = a.x * b.w + a.w * b.x + a.y * b.z - a.z * b.y;\n quat.y = a.y * b.w + a.w * b.y + a.z * b.x - a.x * b.z;\n quat.z = a.z * b.w + a.w * b.z + a.x * b.y - a.y * b.x;\n quat.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z;\n return quat;\n}\nvoid rotateVecFromQuat(inout vec3 v, vec4 q){\n float ix = q.w * v.x + q.y * v.z - q.z * v.y;\n float iy = q.w * v.y + q.z * v.x - q.x * v.z;\n float iz = q.w * v.z + q.x * v.y - q.y * v.x;\n float iw = -q.x * v.x - q.y * v.y - q.z * v.z;\n v.x = ix * q.w + iw * -q.x + iy * -q.z - iz * -q.y;\n v.y = iy * q.w + iw * -q.y + iz * -q.x - ix * -q.z;\n v.z = iz * q.w + iw * -q.z + ix * -q.y - iy * -q.x;\n}\nvec3 rotateInLocalSpace(vec3 pos, vec3 xAxis, vec3 yAxis, vec3 zAxis, vec4 q){\n float z = pos.z;\n float x = pos.x;\n float y = pos.y;\n vec4 viewQuat = quaternionFromAxis(xAxis, yAxis, zAxis);\n vec4 rotQuat = quatMultiply(viewQuat, q);\n rotateVecFromQuat(pos, rotQuat);\n return pos;\n}\nvoid rotateCorner(inout vec2 corner, float angle){\n float xOS = cos(angle) * corner.x - sin(angle) * corner.y;\n float yOS = sin(angle) * corner.x + cos(angle) * corner.y;\n corner.x = xOS;\n corner.y = yOS;\n}\nuniform Constants{\n vec4 mainTiling_Offset;\n vec4 frameTile_velLenScale;\n vec4 scale;\n};\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nout vec2 uv;\nout vec4 color;\nvoid computeVertPos(inout vec4 pos, vec2 vertOffset, vec4 q, vec3 s\n#if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , mat4 viewInv\n#endif\n#if CC_USE_STRETCHED_BILLBOARD\n , vec3 eye\n , vec4 velocity\n , float velocityScale\n , float lengthScale\n , float xIndex\n#endif\n) {\n#if CC_USE_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = normalize(vec3(viewInv[0][0], viewInv[1][0], viewInv[2][0]));\n vec3 camY = normalize(vec3(viewInv[0][1], viewInv[1][1], viewInv[2][1]));\n vec3 camZ = normalize(vec3(viewInv[0][2], viewInv[1][2], viewInv[2][2]));\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, camZ, q);\n#elif CC_USE_STRETCHED_BILLBOARD\n vec3 camRight = normalize(cross(pos.xyz - eye, velocity.xyz)) * s.x;\n vec3 camUp = velocity.xyz * velocityScale + normalize(velocity.xyz) * lengthScale * s.y;\n pos.xyz += (camRight * abs(vertOffset.x) * sign(vertOffset.y)) - camUp * xIndex;\n#elif CC_USE_HORIZONTAL_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = vec3(1, 0, 0);\n vec3 camY = vec3(0, 0, -1);\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, cross(camX, camY), q);\n#elif CC_USE_VERTICAL_BILLBOARD\n vec2 viewSpaceVert = vec2(vertOffset.x * s.x, vertOffset.y * s.y);\n rotateCorner(viewSpaceVert, q.z);\n vec3 camX = normalize(vec3(cc_matView[0][0], cc_matView[1][0], cc_matView[2][0]));\n vec3 camY = vec3(0, 1, 0);\n vec3 offset = camX * viewSpaceVert.x + camY * viewSpaceVert.y;\n pos.xyz += offset;\n#else\n pos.x += vertOffset.x;\n pos.y += vertOffset.y;\n#endif\n}\nvec2 computeUV(float frameIndex, vec2 vertIndex, vec2 frameTile){\n vec2 aniUV = vec2(0, floor(frameIndex * frameTile.y));\n aniUV.x = floor(frameIndex * frameTile.x * frameTile.y - aniUV.y * frameTile.x);\n#if !CC_USE_MESH\n vertIndex.y = 1. - vertIndex.y;\n#endif\n return (aniUV.xy + vertIndex) / vec2(frameTile.x, frameTile.y);\n}\nin vec3 a_position;\nin vec3 a_texCoord;\nin vec3 a_texCoord1;\nin vec3 a_texCoord2;\nin vec4 a_color;\n#if CC_USE_STRETCHED_BILLBOARD\n in vec3 a_color1;\n#endif\n#if CC_USE_MESH\n in vec3 a_texCoord3;\n in vec3 a_normal;\n in vec4 a_color1;\n#endif\nvec4 lpvs_main() {\n vec3 compScale = scale.xyz * a_texCoord1;\n vec4 pos = vec4(a_position, 1);\n#if CC_USE_STRETCHED_BILLBOARD\n vec4 velocity = vec4(a_color1.xyz, 0);\n#endif\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n #if CC_USE_STRETCHED_BILLBOARD\n velocity = cc_matWorld * velocity;\n #endif\n#endif\n#if !CC_USE_MESH\n vec2 cornerOffset = vec2((a_texCoord.xy - 0.5));\n #if CC_USE_BILLBOARD\n vec3 rotEuler = a_texCoord2;\n #elif CC_USE_STRETCHED_BILLBOARD\n vec3 rotEuler = vec3(0.);\n #else\n vec3 rotEuler = vec3(0., 0., a_texCoord2.z);\n #endif\n computeVertPos(pos, cornerOffset, quaternionFromEuler(rotEuler), compScale\n #if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , cc_matViewInv\n #endif\n #if CC_USE_STRETCHED_BILLBOARD\n , cc_cameraPos.xyz\n , velocity\n , frameTile_velLenScale.z\n , frameTile_velLenScale.w\n , a_texCoord.x\n #endif\n );\n color = a_color;\n#else\n mat4 xformNoScale = matrixFromRT(quaternionFromEuler(a_texCoord2), pos.xyz);\n mat4 xform = matFromRTS(quaternionFromEuler(a_texCoord2), pos.xyz, compScale);\n pos = xform * vec4(a_texCoord3, 1);\n vec4 normal = xformNoScale * vec4(a_normal, 0);\n color = a_color * a_color1;\n#endif\n uv = computeUV(a_texCoord.z, a_texCoord.xy, frameTile_velLenScale.xy) * mainTiling_Offset.xy + mainTiling_Offset.zw;\n pos = cc_matViewProj * pos;\n return pos;\n}\nvoid main() { gl_Position = lpvs_main(); }","frag":"\nprecision highp float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nin vec2 uv;\nin vec4 color;\nuniform sampler2D mainTexture;\nvec4 premultiplied () {\n vec4 col = color * texture(mainTexture, uv) * color.a;\n return CCFragOutput(col);\n}\nout vec4 cc_FragColor;\nvoid main() { cc_FragColor = premultiplied(); }"},"glsl1":{"vert":"\nprecision highp float;\nvec4 quaternionFromAxis(vec3 xAxis,vec3 yAxis,vec3 zAxis){\n mat3 m = mat3(xAxis,yAxis,zAxis);\n float trace = m[0][0] + m[1][1] + m[2][2];\n vec4 quat;\n if (trace > 0.) {\n float s = 0.5 / sqrt(trace + 1.0);\n quat.w = 0.25 / s;\n quat.x = (m[2][1] - m[1][2]) * s;\n quat.y = (m[0][2] - m[2][0]) * s;\n quat.z = (m[1][0] - m[0][1]) * s;\n } else if ((m[0][0] > m[1][1]) && (m[0][0] > m[2][2])) {\n float s = 2.0 * sqrt(1.0 + m[0][0] - m[1][1] - m[2][2]);\n quat.w = (m[2][1] - m[1][2]) / s;\n quat.x = 0.25 * s;\n quat.y = (m[0][1] + m[1][0]) / s;\n quat.z = (m[0][2] + m[2][0]) / s;\n } else if (m[1][1] > m[2][2]) {\n float s = 2.0 * sqrt(1.0 + m[1][1] - m[0][0] - m[2][2]);\n quat.w = (m[0][2] - m[2][0]) / s;\n quat.x = (m[0][1] + m[1][0]) / s;\n quat.y = 0.25 * s;\n quat.z = (m[1][2] + m[2][1]) / s;\n } else {\n float s = 2.0 * sqrt(1.0 + m[2][2] - m[0][0] - m[1][1]);\n quat.w = (m[1][0] - m[0][1]) / s;\n quat.x = (m[0][2] + m[2][0]) / s;\n quat.y = (m[1][2] + m[2][1]) / s;\n quat.z = 0.25 * s;\n }\n float len = quat.x * quat.x + quat.y * quat.y + quat.z * quat.z + quat.w * quat.w;\n if (len > 0.) {\n len = 1. / sqrt(len);\n quat.x = quat.x * len;\n quat.y = quat.y * len;\n quat.z = quat.z * len;\n quat.w = quat.w * len;\n }\n return quat;\n}\nvec4 quaternionFromEuler(vec3 angle){\n float x = angle.x / 2.;\n float y = angle.y / 2.;\n float z = angle.z / 2.;\n float sx = sin(x);\n float cx = cos(x);\n float sy = sin(y);\n float cy = cos(y);\n float sz = sin(z);\n float cz = cos(z);\n vec4 quat = vec4(0);\n quat.x = sx * cy * cz + cx * sy * sz;\n quat.y = cx * sy * cz + sx * cy * sz;\n quat.z = cx * cy * sz - sx * sy * cz;\n quat.w = cx * cy * cz - sx * sy * sz;\n return quat;\n}\nmat4 matrixFromRT(vec4 q, vec3 p){\n float x2 = q.x + q.x;\n float y2 = q.y + q.y;\n float z2 = q.z + q.z;\n float xx = q.x * x2;\n float xy = q.x * y2;\n float xz = q.x * z2;\n float yy = q.y * y2;\n float yz = q.y * z2;\n float zz = q.z * z2;\n float wx = q.w * x2;\n float wy = q.w * y2;\n float wz = q.w * z2;\n return mat4(\n 1. - (yy + zz), xy + wz, xz - wy, 0,\n xy - wz, 1. - (xx + zz), yz + wx, 0,\n xz + wy, yz - wx, 1. - (xx + yy), 0,\n p.x, p.y, p.z, 1\n );\n}\nmat4 matFromRTS(vec4 q, vec3 t, vec3 s){\n float x = q.x, y = q.y, z = q.z, w = q.w;\n float x2 = x + x;\n float y2 = y + y;\n float z2 = z + z;\n float xx = x * x2;\n float xy = x * y2;\n float xz = x * z2;\n float yy = y * y2;\n float yz = y * z2;\n float zz = z * z2;\n float wx = w * x2;\n float wy = w * y2;\n float wz = w * z2;\n float sx = s.x;\n float sy = s.y;\n float sz = s.z;\n return mat4((1. - (yy + zz)) * sx, (xy + wz) * sx, (xz - wy) * sx, 0,\n (xy - wz) * sy, (1. - (xx + zz)) * sy, (yz + wx) * sy, 0,\n (xz + wy) * sz, (yz - wx) * sz, (1. - (xx + yy)) * sz, 0,\n t.x, t.y, t.z, 1);\n}\nvec4 quatMultiply(vec4 a, vec4 b){\n vec4 quat;\n quat.x = a.x * b.w + a.w * b.x + a.y * b.z - a.z * b.y;\n quat.y = a.y * b.w + a.w * b.y + a.z * b.x - a.x * b.z;\n quat.z = a.z * b.w + a.w * b.z + a.x * b.y - a.y * b.x;\n quat.w = a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z;\n return quat;\n}\nvoid rotateVecFromQuat(inout vec3 v, vec4 q){\n float ix = q.w * v.x + q.y * v.z - q.z * v.y;\n float iy = q.w * v.y + q.z * v.x - q.x * v.z;\n float iz = q.w * v.z + q.x * v.y - q.y * v.x;\n float iw = -q.x * v.x - q.y * v.y - q.z * v.z;\n v.x = ix * q.w + iw * -q.x + iy * -q.z - iz * -q.y;\n v.y = iy * q.w + iw * -q.y + iz * -q.x - ix * -q.z;\n v.z = iz * q.w + iw * -q.z + ix * -q.y - iy * -q.x;\n}\nvec3 rotateInLocalSpace(vec3 pos, vec3 xAxis, vec3 yAxis, vec3 zAxis, vec4 q){\n float z = pos.z;\n float x = pos.x;\n float y = pos.y;\n vec4 viewQuat = quaternionFromAxis(xAxis, yAxis, zAxis);\n vec4 rotQuat = quatMultiply(viewQuat, q);\n rotateVecFromQuat(pos, rotQuat);\n return pos;\n}\nvoid rotateCorner(inout vec2 corner, float angle){\n float xOS = cos(angle) * corner.x - sin(angle) * corner.y;\n float yOS = sin(angle) * corner.x + cos(angle) * corner.y;\n corner.x = xOS;\n corner.y = yOS;\n}\nuniform vec4 mainTiling_Offset;\nuniform vec4 frameTile_velLenScale;\nuniform vec4 scale;\nuniform mat4 cc_matView;\nuniform mat4 cc_matViewInv;\nuniform mat4 cc_matViewProj;\nuniform vec4 cc_cameraPos;\nuniform mat4 cc_matWorld;\nvarying vec2 uv;\nvarying vec4 color;\nvoid computeVertPos(inout vec4 pos, vec2 vertOffset, vec4 q, vec3 s\n#if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , mat4 viewInv\n#endif\n#if CC_USE_STRETCHED_BILLBOARD\n , vec3 eye\n , vec4 velocity\n , float velocityScale\n , float lengthScale\n , float xIndex\n#endif\n) {\n#if CC_USE_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = normalize(vec3(viewInv[0][0], viewInv[1][0], viewInv[2][0]));\n vec3 camY = normalize(vec3(viewInv[0][1], viewInv[1][1], viewInv[2][1]));\n vec3 camZ = normalize(vec3(viewInv[0][2], viewInv[1][2], viewInv[2][2]));\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, camZ, q);\n#elif CC_USE_STRETCHED_BILLBOARD\n vec3 camRight = normalize(cross(pos.xyz - eye, velocity.xyz)) * s.x;\n vec3 camUp = velocity.xyz * velocityScale + normalize(velocity.xyz) * lengthScale * s.y;\n pos.xyz += (camRight * abs(vertOffset.x) * sign(vertOffset.y)) - camUp * xIndex;\n#elif CC_USE_HORIZONTAL_BILLBOARD\n vec3 viewSpaceVert = vec3(vertOffset.x * s.x, vertOffset.y * s.y, 0.);\n vec3 camX = vec3(1, 0, 0);\n vec3 camY = vec3(0, 0, -1);\n pos.xyz += rotateInLocalSpace(viewSpaceVert, camX, camY, cross(camX, camY), q);\n#elif CC_USE_VERTICAL_BILLBOARD\n vec2 viewSpaceVert = vec2(vertOffset.x * s.x, vertOffset.y * s.y);\n rotateCorner(viewSpaceVert, q.z);\n vec3 camX = normalize(vec3(cc_matView[0][0], cc_matView[1][0], cc_matView[2][0]));\n vec3 camY = vec3(0, 1, 0);\n vec3 offset = camX * viewSpaceVert.x + camY * viewSpaceVert.y;\n pos.xyz += offset;\n#else\n pos.x += vertOffset.x;\n pos.y += vertOffset.y;\n#endif\n}\nvec2 computeUV(float frameIndex, vec2 vertIndex, vec2 frameTile){\n vec2 aniUV = vec2(0, floor(frameIndex * frameTile.y));\n aniUV.x = floor(frameIndex * frameTile.x * frameTile.y - aniUV.y * frameTile.x);\n#if !CC_USE_MESH\n vertIndex.y = 1. - vertIndex.y;\n#endif\n return (aniUV.xy + vertIndex) / vec2(frameTile.x, frameTile.y);\n}\nattribute vec3 a_position;\nattribute vec3 a_texCoord;\nattribute vec3 a_texCoord1;\nattribute vec3 a_texCoord2;\nattribute vec4 a_color;\n#if CC_USE_STRETCHED_BILLBOARD\n attribute vec3 a_color1;\n#endif\n#if CC_USE_MESH\n attribute vec3 a_texCoord3;\n attribute vec3 a_normal;\n attribute vec4 a_color1;\n#endif\nvec4 lpvs_main() {\n vec3 compScale = scale.xyz * a_texCoord1;\n vec4 pos = vec4(a_position, 1);\n#if CC_USE_STRETCHED_BILLBOARD\n vec4 velocity = vec4(a_color1.xyz, 0);\n#endif\n#if !CC_USE_WORLD_SPACE\n pos = cc_matWorld * pos;\n #if CC_USE_STRETCHED_BILLBOARD\n velocity = cc_matWorld * velocity;\n #endif\n#endif\n#if !CC_USE_MESH\n vec2 cornerOffset = vec2((a_texCoord.xy - 0.5));\n #if CC_USE_BILLBOARD\n vec3 rotEuler = a_texCoord2;\n #elif CC_USE_STRETCHED_BILLBOARD\n vec3 rotEuler = vec3(0.);\n #else\n vec3 rotEuler = vec3(0., 0., a_texCoord2.z);\n #endif\n computeVertPos(pos, cornerOffset, quaternionFromEuler(rotEuler), compScale\n #if CC_USE_BILLBOARD || CC_USE_VERTICAL_BILLBOARD\n , cc_matViewInv\n #endif\n #if CC_USE_STRETCHED_BILLBOARD\n , cc_cameraPos.xyz\n , velocity\n , frameTile_velLenScale.z\n , frameTile_velLenScale.w\n , a_texCoord.x\n #endif\n );\n color = a_color;\n#else\n mat4 xformNoScale = matrixFromRT(quaternionFromEuler(a_texCoord2), pos.xyz);\n mat4 xform = matFromRTS(quaternionFromEuler(a_texCoord2), pos.xyz, compScale);\n pos = xform * vec4(a_texCoord3, 1);\n vec4 normal = xformNoScale * vec4(a_normal, 0);\n color = a_color * a_color1;\n#endif\n uv = computeUV(a_texCoord.z, a_texCoord.xy, frameTile_velLenScale.xy) * mainTiling_Offset.xy + mainTiling_Offset.zw;\n pos = cc_matViewProj * pos;\n return pos;\n}\nvoid main() { gl_Position = lpvs_main(); }","frag":"\nprecision highp float;\nvec4 CCFragOutput (vec4 color) {\n #if OUTPUT_TO_GAMMA\n color.rgb = sqrt(color.rgb);\n #endif\n\treturn color;\n}\nvarying vec2 uv;\nvarying vec4 color;\nuniform sampler2D mainTexture;\nvec4 premultiplied () {\n vec4 col = color * texture2D(mainTexture, uv) * color.a;\n return CCFragOutput(col);\n}\nvoid main() { gl_FragColor = premultiplied(); }"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]}],"samplers":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplers":[]}},"defines":[{"name":"CC_USE_BILLBOARD","type":"boolean","defines":[]},{"name":"CC_USE_STRETCHED_BILLBOARD","type":"boolean","defines":[]},{"name":"CC_USE_HORIZONTAL_BILLBOARD","type":"boolean","defines":[]},{"name":"CC_USE_VERTICAL_BILLBOARD","type":"boolean","defines":[]},{"name":"CC_USE_MESH","type":"boolean","defines":[]},{"name":"CC_USE_WORLD_SPACE","type":"boolean","defines":[]},{"name":"OUTPUT_TO_GAMMA","type":"boolean","defines":[]}],"blocks":[{"name":"Constants","binding":0,"members":[{"name":"mainTiling_Offset","type":16,"count":1},{"name":"frameTile_velLenScale","type":16,"count":1},{"name":"scale","type":16,"count":1}],"defines":[]}],"samplers":[{"name":"mainTexture","type":29,"count":1,"binding":30,"defines":[]}]}],[{"name":"opaque-add","passes":[{"stage":"opaque","program":"builtin-3d-particle|particle-vs-legacy:lpvs_main|tinted-fs:add","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":770,"blendDst":1,"blendSrcAlpha":770,"blendDstAlpha":1}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":29},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]},"tintColor":{"type":16,"value":[0.5,0.5,0.5,0.5],"inspector":{"type":"color"}}}}]},{"name":"opaque-alpha-blend","passes":[{"stage":"opaque","program":"builtin-3d-particle|particle-vs-legacy:lpvs_main|tinted-fs:add","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":770,"blendDst":771,"blendSrcAlpha":770,"blendDstAlpha":771}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":29},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]},"tintColor":{"type":16,"value":[0.5,0.5,0.5,0.5],"inspector":{"type":"color"}}}}]},{"name":"opaque-add-multiply","passes":[{"stage":"opaque","program":"builtin-3d-particle|particle-vs-legacy:lpvs_main|tinted-fs:multiply","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":770,"blendDst":771,"blendSrcAlpha":770,"blendDstAlpha":771}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":29},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]},"tintColor":{"type":16,"value":[0.5,0.5,0.5,0.5],"inspector":{"type":"color"}}}}]},{"name":"opaque-add-smooth","passes":[{"stage":"opaque","program":"builtin-3d-particle|particle-vs-legacy:lpvs_main|no-tint-fs:addSmooth","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":770,"blendDst":771,"blendSrcAlpha":770,"blendDstAlpha":771}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":29},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]}}}]},{"name":"opaque-premultiply-blend","passes":[{"stage":"opaque","program":"builtin-3d-particle|particle-vs-legacy:lpvs_main|no-tint-fs:premultiplied","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":770,"blendDst":771,"blendSrcAlpha":770,"blendDstAlpha":771}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":29},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]}}}]},{"name":"transparent-add","passes":[{"stage":"transparent","program":"builtin-3d-particle|particle-vs-legacy:lpvs_main|tinted-fs:add","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":770,"blendDst":1,"blendSrcAlpha":770,"blendDstAlpha":1}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":29},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]},"tintColor":{"type":16,"value":[0.5,0.5,0.5,0.5],"inspector":{"type":"color"}}}}]},{"name":"transparent-alpha-blend","passes":[{"stage":"transparent","program":"builtin-3d-particle|particle-vs-legacy:lpvs_main|tinted-fs:add","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":770,"blendDst":771,"blendSrcAlpha":770,"blendDstAlpha":771}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":29},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]},"tintColor":{"type":16,"value":[0.5,0.5,0.5,0.5],"inspector":{"type":"color"}}}}]},{"name":"transparent-add-multiply","passes":[{"stage":"transparent","program":"builtin-3d-particle|particle-vs-legacy:lpvs_main|tinted-fs:multiply","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":770,"blendDst":771,"blendSrcAlpha":770,"blendDstAlpha":771}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":29},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]},"tintColor":{"type":16,"value":[0.5,0.5,0.5,0.5],"inspector":{"type":"color"}}}}]},{"name":"transparent-add-smooth","passes":[{"stage":"transparent","program":"builtin-3d-particle|particle-vs-legacy:lpvs_main|no-tint-fs:addSmooth","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":770,"blendDst":771,"blendSrcAlpha":770,"blendDstAlpha":771}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":29},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]}}}]},{"name":"transparent-premultiply-blend","passes":[{"stage":"transparent","program":"builtin-3d-particle|particle-vs-legacy:lpvs_main|no-tint-fs:premultiplied","rasterizerState":{"cullMode":0},"blendState":{"targets":[{"blend":true,"blendSrc":770,"blendDst":771,"blendSrcAlpha":770,"blendDstAlpha":771}]},"depthStencilState":{"depthTest":true,"depthWrite":false},"properties":{"mainTexture":{"value":"grey","type":29},"mainTiling_Offset":{"type":16,"value":[1,1,0,0]}}}]}]]],0,0,[],[],[]],[[[1,"builtin-2d-graphics",{"0":{"defines":{}}}]],0,0,[0],[0],[8]],[[[0,"builtin-clear-stencil",[{"hash":2075641479,"record":null,"name":"builtin-clear-stencil|vs|fs","glsl3":{"vert":"\nprecision highp float;\nin vec3 a_position;\nvoid main () {\n gl_Position = vec4(a_position, 1);\n}","frag":"\nprecision highp float;\nvoid main () {\n gl_FragColor = vec4(1.0);\n}"},"glsl1":{"vert":"\nprecision highp float;\nattribute vec3 a_position;\nvoid main () {\n gl_Position = vec4(a_position, 1);\n}","frag":"\nprecision highp float;\nvoid main () {\n gl_FragColor = vec4(1.0);\n}"},"builtins":{"globals":{"blocks":[],"samplers":[]},"locals":{"blocks":[],"samplers":[]}},"defines":[],"blocks":[],"samplers":[]}],[{"passes":[{"program":"builtin-clear-stencil|vs|fs","blendState":{"targets":[{"blend":true}]},"rasterizerState":{"cullMode":0}}]}]]],0,0,[],[],[]],[[[1,"builtin-clear-stencil",{}]],0,0,[0],[0],[9]],[[[1,"builtin-2d-label",{"0":{"defines":{"USE_TEXTURE":true}}}]],0,0,[0],[0],[10]],[[[1,"builtin-2d-sprite",{"0":{"defines":{"USE_TEXTURE":true}}}]],0,0,[0],[0],[1]],[[[0,"builtin-2d-label",[{"hash":1105459032,"record":null,"name":"builtin-2d-label|vs|fs","glsl3":{"vert":"\nprecision highp float;\nuniform CCGlobal {\n mat4 cc_matView;\n mat4 cc_matViewInv;\n mat4 cc_matProj;\n mat4 cc_matProjInv;\n mat4 cc_matViewProj;\n mat4 cc_matViewProjInv;\n vec4 cc_cameraPos;\n vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nin vec3 a_position;\nin vec4 a_color;\nout vec4 v_color;\n#if USE_TEXTURE\nin vec2 a_uv0;\nout vec2 v_uv0;\n#endif\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n #if CC_USE_MODEL\n pos = cc_matViewProj * cc_matWorld * pos;\n #else\n pos = cc_matViewProj * pos;\n #endif\n #if USE_TEXTURE\n v_uv0 = a_uv0;\n #endif\n v_color = a_color;\n gl_Position = pos;\n}","frag":"\n#if CC_SUPPORT_standard_derivatives\n #extension GL_OES_standard_derivatives : enable\n#endif\nprecision highp float;\n#if USE_ALPHA_TEST\n uniform ALPHA_TEST {\n float alphaThreshold;\n };\n#endif\nvoid ALPHA_TEST (in vec4 color) {\n #if USE_ALPHA_TEST\n if (color.a < alphaThreshold) discard;\n #endif\n}\nvoid ALPHA_TEST (in float alpha) {\n #if USE_ALPHA_TEST\n if (alpha < alphaThreshold) discard;\n #endif\n}\nin vec4 v_color;\n#if USE_TEXTURE\nin vec2 v_uv0;\nuniform sampler2D texture;\n#endif\n#if USE_SDF\nuniform Outline {\n vec4 outlineColor;\n float outlineSize;\n};\n#endif\nvoid main () {\n#if USE_SDF\n #if USE_TEXTURE_ALPHAONLY\n float dist = texture(texture, v_uv0).a;\n #else\n float dist = texture(texture, v_uv0).r;\n #endif\n #if USE_SDF_EXTEND\n const float EDGE_VALUE = 0.45;\n #else\n const float EDGE_VALUE = 0.5;\n #endif\n #if CC_SUPPORT_standard_derivatives\n float smoothing = fwidth(dist);\n #else\n float smoothing = 0.05;\n #endif\n float outEdge = EDGE_VALUE - outlineSize;\n float bg = smoothstep(outEdge - smoothing, outEdge, dist);\n float fg = smoothstep(EDGE_VALUE - smoothing, EDGE_VALUE, dist);\n vec4 fgColor = outlineColor * (1.0 - fg) + v_color * fg;\n gl_FragColor = vec4(fgColor.rgb, fgColor.a * bg);\n#else\n vec4 o = vec4(1, 1, 1, 1);\n #if USE_TEXTURE\n #if USE_TEXTURE_ALPHAONLY\n o.a *= texture(texture, v_uv0).a;\n #else\n o *= texture(texture, v_uv0);\n #endif\n #if CC_USE_ALPHA_ATLAS_TEXTURE\n o.a *= texture2D(texture, v_uv0 + vec2(0, 0.5)).r;\n #endif\n #endif\n o *= v_color;\n ALPHA_TEST(o);\n gl_FragColor = o;\n#endif\n}"},"glsl1":{"vert":"\nprecision highp float;\nuniform mat4 cc_matViewProj;\nuniform mat4 cc_matWorld;\nattribute vec3 a_position;\nattribute vec4 a_color;\nvarying vec4 v_color;\n#if USE_TEXTURE\nattribute vec2 a_uv0;\nvarying vec2 v_uv0;\n#endif\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n #if CC_USE_MODEL\n pos = cc_matViewProj * cc_matWorld * pos;\n #else\n pos = cc_matViewProj * pos;\n #endif\n #if USE_TEXTURE\n v_uv0 = a_uv0;\n #endif\n v_color = a_color;\n gl_Position = pos;\n}","frag":"\n#if CC_SUPPORT_standard_derivatives\n #extension GL_OES_standard_derivatives : enable\n#endif\nprecision highp float;\n#if USE_ALPHA_TEST\n uniform float alphaThreshold;\n#endif\nvoid ALPHA_TEST (in vec4 color) {\n #if USE_ALPHA_TEST\n if (color.a < alphaThreshold) discard;\n #endif\n}\nvoid ALPHA_TEST (in float alpha) {\n #if USE_ALPHA_TEST\n if (alpha < alphaThreshold) discard;\n #endif\n}\nvarying vec4 v_color;\n#if USE_TEXTURE\nvarying vec2 v_uv0;\nuniform sampler2D texture;\n#endif\n#if USE_SDF\nuniform vec4 outlineColor;\nuniform float outlineSize;\n#endif\nvoid main () {\n#if USE_SDF\n #if USE_TEXTURE_ALPHAONLY\n float dist = texture2D(texture, v_uv0).a;\n #else\n float dist = texture2D(texture, v_uv0).r;\n #endif\n #if USE_SDF_EXTEND\n const float EDGE_VALUE = 0.45;\n #else\n const float EDGE_VALUE = 0.5;\n #endif\n #if CC_SUPPORT_standard_derivatives\n float smoothing = fwidth(dist);\n #else\n float smoothing = 0.05;\n #endif\n float outEdge = EDGE_VALUE - outlineSize;\n float bg = smoothstep(outEdge - smoothing, outEdge, dist);\n float fg = smoothstep(EDGE_VALUE - smoothing, EDGE_VALUE, dist);\n vec4 fgColor = outlineColor * (1.0 - fg) + v_color * fg;\n gl_FragColor = vec4(fgColor.rgb, fgColor.a * bg);\n#else\n vec4 o = vec4(1, 1, 1, 1);\n #if USE_TEXTURE\n #if USE_TEXTURE_ALPHAONLY\n o.a *= texture2D(texture, v_uv0).a;\n #else\n o *= texture2D(texture, v_uv0);\n #endif\n #if CC_USE_ALPHA_ATLAS_TEXTURE\n o.a *= texture2D(texture, v_uv0 + vec2(0, 0.5)).r;\n #endif\n #endif\n o *= v_color;\n ALPHA_TEST(o);\n gl_FragColor = o;\n#endif\n}"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]}],"samplers":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplers":[]}},"defines":[{"name":"USE_TEXTURE","type":"boolean","defines":[]},{"name":"CC_USE_MODEL","type":"boolean","defines":[]},{"name":"CC_SUPPORT_standard_derivatives","type":"boolean","defines":[]},{"name":"USE_ALPHA_TEST","type":"boolean","defines":[]},{"name":"USE_SDF","type":"boolean","defines":[]},{"name":"USE_TEXTURE_ALPHAONLY","type":"boolean","defines":["USE_SDF"]},{"name":"USE_SDF_EXTEND","type":"boolean","defines":["USE_SDF"]},{"name":"CC_USE_ALPHA_ATLAS_TEXTURE","type":"boolean","defines":["USE_TEXTURE"]}],"blocks":[{"name":"ALPHA_TEST","binding":0,"members":[{"name":"alphaThreshold","type":13,"count":1}],"defines":["USE_ALPHA_TEST"]},{"name":"Outline","binding":1,"members":[{"name":"outlineColor","type":16,"count":1},{"name":"outlineSize","type":13,"count":1}],"defines":["USE_SDF"]}],"samplers":[{"name":"texture","type":29,"count":1,"binding":30,"defines":["USE_TEXTURE"]}]}],[{"passes":[{"program":"builtin-2d-label|vs|fs","blendState":{"targets":[{"blend":true}]},"rasterizerState":{"cullMode":0},"properties":{"texture":{"value":"white","type":29},"alphaThreshold":{"type":13,"value":[0.5]},"outlineSize":{"type":13,"value":[0]},"outlineColor":{"type":16,"value":[1,1,1,1]}}}]}]]],0,0,[],[],[]]]] \ No newline at end of file diff --git a/build/WaterControl/assets/internal/index.d17e2.js b/build/WaterControl/assets/internal/index.d17e2.js new file mode 100644 index 0000000..3c6e1e1 --- /dev/null +++ b/build/WaterControl/assets/internal/index.d17e2.js @@ -0,0 +1 @@ +(function r(e,n,t){function i(u,f){if(!n[u]){if(!e[u]){var _=u.split("/");if(_=_[_.length-1],!e[_]){var p="function"==typeof __require&&__require;if(!f&&p)return p(_,!0);if(o)return o(_,!0);throw new Error("Cannot find module '"+u+"'")}u=_}var a=n[u]={exports:{}};e[u][0].call(a.exports,function(r){return i(e[u][1][r]||r)},a,a.exports,r,e,n,t)}return n[u].exports}for(var o="function"==typeof __require&&__require,u=0;u\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n eJzt1UEOREAURdEasQ6t2ZRm/9G9iDYRYoCR+uEMzvwnt16qLVNqAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCGIuUvgd+Rf47n6KevA80Ae68u3kXnR4hnNmFHno81V6PatKvDAHuvbu9HvZwvU+5vP+XHqFst6JHXuut+C8AAAAAAICc/lsX6ZU=\r\n \r\n \r\n \r\n \r\n eJzt1csJwlAQQNG3TNKIvzrEPtQ61LK0KX8VGDEPYkAUDTrIOTCLgIswl4kpAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPDIsUjp1My5+PXbMCpTGjczKZ//fl2ltGkN/ch3MW71GJTPb6TbQ5PP5A7D8r7FqzeiR79GDzrkWejxVfNm54fOt2pfPy/f+P/Qox+5S55XWlzpEYsesegRix6x6BGLHrHoEYsecczq3a+a/evxe7t691P3Ecq2unVpDwAAAAAAAMC/uwDKKz+V\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n eJzt2kGL00AUwPEibDdpC34E9RMIvWgV/AIqtn4GkYWuqKvoRRevelfxQ+wKKoIXr4oH9aN42pOiMzRD377MTCZJi0vz/8HQJE3a5b198yZtez0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ8HF/H//Bd01DsT+vuf4RBx7lq3n79kkOrahWEvzyDlT89xMPL8XyMd56slLxzYWay91/nOz/yLwGjIfO+QjKKUmtC/mmq/FdbomQseYr9LImhgHtmNkTXzOysc+ZYvxlHzUJnNTd+6Sa6zb2+XndX0ckZ8SWwO6JuSxWI2k9mR3ns0HfTzO1oCuCXksViOpPXlH5IM+Xp+umVWJ9fOXZn57ZcZrzzzXJb7+rWumiYee610+TuXleeu7ycMPM352PB9z0Sfkdqx/9BvmKnb/sW2ey8zIO9zjx6pvyO1Q/9gq9mVOHo/S3o/7j7i5Z20lH1fhzLDXOxgstslHtdB85eObp2y8U5GPdL68pPL1btmvXR5j+ZiaGro5qPe+m0jf/+lcyDhNzOOlYvty8ejLheW7z3D50LG/YPrPdbN/g3wcu//z9ZLUOF0pzn8U6e02H1dzYp9K1sZ+tvwc8E2L/i4/09Lz1bcavafr2vTeLZW/3/3la94blceDxPVyl6Xk48D8fx+a8bb4P5c93OVE1tlHsR0a8HP50DGXZoPlsGI9PGQdn5NtIhdHGfNDlZtpcTy2Tq3KR9vPybpCrk3vDhcxPztajHPFfG/XSdfEWsn33Qb3gKsh8zFTQ9aDPe9v0a/tfDXJ/a/j/DLXno4M+Lk47g4XNWDHneHxepDnuXXtXkU+0IyL4zvz+L4YH7JyfKvWsNRHe/uRtak+rvefqP1b9OvW2swxVddSH/WtMx9Nfp/adTamf/rNr3VC381LVd+5YHX1Uee3ddwXhq1zvkJ95ONkIR+bg3w09w9Ov5Jh\r\n \r\n \r\n \r\n \r\n eJzt2b9Kw1AUB+A7iG1JB3drndVJXVxcXF0VF93Exd238N9jKOiqD6G7swqu6hN4goKltinV1BT6fXAhbQj38jttTi5JCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgG5LtZTep1Par1W9EnIz9ZQeohab9apXAr831ah6BXRaVw9gwt1kKd1mVa9i/F1ERpcl59Sd/VUcv8Z4U4+BdpopPZWcU579QfP783wcL8RYbPa/hk+zkVGr5Jx6Zb8b+8A9e8FC55HPXYx7OY2lNXuPsZb3+usR9Hv6K8r8Mb57yQb3+y3/q9IUZZ73+udscL8/Vo/SDMp8dchevx21mVOfkdno8f7oqCDvkzh32nH+VG2Gtux599+sDPn7bPzxfWo75jv7mrPl3vXDoTwmWlv9AQAAKvcBCEAkdA==\r\n \r\n \r\n\r\n",["roguelikeSheet_transparent2.png","roguelikeSheet_transparent.png"],[0,1],[[[5,968,526],[5,968,526]],8,8]]],0,0,[0,0],[-1,-2],[2,3]],[[[13,"TmoScene",null],[4,"Object Layer 1",[-2,-3,-4,-5,-6,-7,-8,-9,-10,-11,-12,-13,-14,-15,-16,-17,-18,-19,-20,-21,-22,-23,-24,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-49,-50,-51,-52,-53,-54,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-65,-66,-67,-68,-69,-70,-71,-72,-73,-74,-75,-76,-77,-78,-79,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-97,-98,-99,-100,-101,-102,-103,-104,-105,-106,-107,-108,-109,-110,-111,-112,-113,-114,-115,-116,-117,-118,-119],[[8,-1]],[5,1600,1600]],[4,"Object Layer 1",[-121,-122,-123,-124,-125,-126,-127,-128,-129,-130,-131,-132,-133,-134,-135,-136,-137,-138,-139,-140,-141,-142,-143,-144,-145,-146,-147,-148,-149,-150,-151,-152,-153,-154,-155,-156,-157,-158,-159,-160,-161,-162,-163,-164,-165,-166,-167,-168,-169,-170,-171,-172,-173,-174,-175,-176,-177,-178,-179,-180,-181,-182,-183,-184,-185,-186,-187,-188,-189,-190,-191,-192,-193,-194,-195,-196,-197,-198,-199,-200,-201,-202,-203,-204,-205,-206,-207,-208,-209,-210,-211,-212,-213,-214,-215,-216,-217,-218,-219,-220,-221,-222,-223,-224,-225,-226,-227,-228,-229,-230,-231,-232,-233,-234,-235,-236,-237,-238],[[9,-120]],[5,1600,1600]],[4,"Object Layer 2",[-240,-241,-242,-243,-244,-245,-246,-247,-248,-249,-250,-251,-252,-253,-254,-255,-256,-257,-258,-259,-260,-261,-262,-263,-264,-265,-266,-267,-268,-269,-270,-271,-272,-273,-274,-275,-276,-277,-278,-279,-280,-281,-282,-283,-284,-285,-286,-287,-288,-289,-290,-291,-292,-293,-294,-295,-296,-297,-298,-299,-300,-301],[[8,-239]],[5,1600,1600]],[4,"Object Layer 2",[-303,-304,-305,-306,-307,-308,-309,-310,-311,-312,-313,-314,-315,-316,-317,-318,-319,-320,-321,-322,-323,-324,-325,-326,-327,-328,-329,-330,-331,-332,-333,-334,-335,-336,-337,-338,-339,-340,-341,-342,-343,-344,-345,-346,-347,-348,-349,-350,-351,-352,-353,-354,-355,-356,-357,-358,-359,-360,-361,-362,-363,-364],[[9,-302]],[5,1600,1600]],[16,"TmoTiledMap","2eliz0lAdIb78d1cxrHvmc",[-367,-368,1,3,-369,-370],[[-365,[7,12,-366]],1,4],[5,1600,1600],[800,800,0,0,0,0,1,1,1,1]],[17,"CocosTiledMap",false,"314lr8nmlBx4NOmUj8m0um",[-373,-374,2,4,-375,-376],[[-371,[7,12,-372]],1,4],[5,1600,1600],[800,800,0,0,0,0,1,1,1,1]],[14,"Canvas","c5sqVW7l5PRLSVCj/K4HvF",[-382],[[18,-377],[7,45,-378],[19,-381,-380,-379]],[5,960,640],[480,320,0,0,0,0,1,1,1,1]],[20,"New Node",[7,6,5],[0,0,0],[0,0,0,0,0,0,1,1,1,1]],[15,"Main Camera",7,[[21,7,-1,-383]],[0,0,523.079343885801,0,0,0,1,1,1,1]],[22,5,[184,185]],[3,"Ground terrain",5,[[5,-384,[0]]],[5,1600,1600]],[3,"Ground overlay",5,[[5,-385,[1]]],[5,1600,1600]],[0,"img29",1,[[1,0,-386,[2]]],[5,16,16],[0,0,0],[-783.5,-257.5,0,0,0,0,1,1,1,1]],[0,"img125",1,[[1,0,-387,[3]]],[5,16,16],[0,0,0],[-380,-268.5,0,0,0,0,1,1,1,1]],[0,"img58",1,[[1,0,-388,[4]]],[5,16,16],[0,0,0],[-752.5,-270.5,0,0,0,0,1,1,1,1]],[0,"img30",1,[[1,0,-389,[5]]],[5,16,16],[0,0,0],[-805,-271,0,0,0,0,1,1,1,1]],[0,"img112",1,[[1,0,-390,[6]]],[5,16,16],[0,0,0],[-786,-271.5,0,0,0,0,1,1,1,1]],[0,"img126",1,[[1,0,-391,[7]]],[5,16,16],[0,0,0],[-498.5,-273.5,0,0,0,0,1,1,1,1]],[0,"img28",1,[[1,0,-392,[8]]],[5,16,16],[0,0,0],[-737.5,-274.5,0,0,0,0,1,1,1,1]],[0,"img111",1,[[1,0,-393,[9]]],[5,16,16],[0,0,0],[-687,-277,0,0,0,0,1,1,1,1]],[0,"img80",1,[[1,0,-394,[10]]],[5,16,16],[0,0,0],[-687.5,-278.5,0,0,0,0,1,1,1,1]],[0,"img59",1,[[1,0,-395,[11]]],[5,16,16],[0,0,0],[-720.5,-279,0,0,0,0,1,1,1,1]],[0,"img51",1,[[1,0,-396,[12]]],[5,16,16],[0,0,0],[-708.5,-281.5,0,0,0,0,1,1,1,1]],[0,"img50",1,[[1,0,-397,[13]]],[5,16,16],[0,0,0],[-705,-284,0,0,0,0,1,1,1,1]],[0,"img75",1,[[1,0,-398,[14]]],[5,16,16],[0,0,0],[-627,-284,0,0,0,0,1,1,1,1]],[0,"img22",1,[[1,0,-399,[15]]],[5,16,16],[0,0,0],[-685.5,-284.5,0,0,0,0,1,1,1,1]],[0,"img124",1,[[1,0,-400,[16]]],[5,16,16],[0,0,0],[-385,-286.5,0,0,0,0,1,1,1,1]],[0,"img127",1,[[1,0,-401,[17]]],[5,16,16],[0,0,0],[-528,-288.5,0,0,0,0,1,1,1,1]],[0,"img31",1,[[1,0,-402,[18]]],[5,16,16],[0,0,0],[-788.5,-292.5,0,0,0,0,1,1,1,1]],[0,"img16",1,[[1,0,-403,[19]]],[5,16,16],[0,0,0],[-662.5,-293,0,0,0,0,1,1,1,1]],[0,"img23",1,[[1,0,-404,[20]]],[5,16,16],[0,0,0],[-751,-294.5,0,0,0,0,1,1,1,1]],[0,"img24",1,[[1,0,-405,[21]]],[5,16,16],[0,0,0],[-781.5,-298,0,0,0,0,1,1,1,1]],[0,"img32",1,[[1,0,-406,[22]]],[5,16,16],[0,0,0],[-737,-298.5,0,0,0,0,1,1,1,1]],[0,"img97",1,[[1,0,-407,[23]]],[5,16,16],[0,0,0],[-613,-298.5,0,0,0,0,1,1,1,1]],[0,"img81",1,[[1,0,-408,[24]]],[5,16,16],[0,0,0],[-722,-302,0,0,0,0,1,1,1,1]],[0,"img98",1,[[1,0,-409,[25]]],[5,16,16],[0,0,0],[-682,-304,0,0,0,0,1,1,1,1]],[0,"img33",1,[[1,0,-410,[26]]],[5,16,16],[0,0,0],[-694.5,-306,0,0,0,0,1,1,1,1]],[0,"img99",1,[[1,0,-411,[27]]],[5,16,16],[0,0,0],[-748,-306,0,0,0,0,1,1,1,1]],[0,"img104",1,[[1,0,-412,[28]]],[5,16,16],[0,0,0],[-780,-308.5,0,0,0,0,1,1,1,1]],[0,"img57",1,[[1,0,-413,[29]]],[5,16,16],[0,0,0],[-725,-309,0,0,0,0,1,1,1,1]],[0,"img120",1,[[1,0,-414,[30]]],[5,16,16],[0,0,0],[-665.5,-310,0,0,0,0,1,1,1,1]],[0,"img76",1,[[1,0,-415,[31]]],[5,16,16],[0,0,0],[-708,-313.5,0,0,0,0,1,1,1,1]],[0,"img110",1,[[1,0,-416,[32]]],[5,16,16],[0,0,0],[-694,-314,0,0,0,0,1,1,1,1]],[0,"img27",1,[[1,0,-417,[33]]],[5,16,16],[0,0,0],[-721.5,-317,0,0,0,0,1,1,1,1]],[0,"img79",1,[[1,0,-418,[34]]],[5,16,16],[0,0,0],[-643.5,-318.5,0,0,0,0,1,1,1,1]],[0,"img74",1,[[1,0,-419,[35]]],[5,16,16],[0,0,0],[-563.5,-319,0,0,0,0,1,1,1,1]],[0,"img56",1,[[1,0,-420,[36]]],[5,16,16],[0,0,0],[-723.5,-319.5,0,0,0,0,1,1,1,1]],[0,"img60",1,[[1,0,-421,[37]]],[5,16,16],[0,0,0],[-723.5,-322.5,0,0,0,0,1,1,1,1]],[0,"img113",1,[[1,0,-422,[38]]],[5,16,16],[0,0,0],[-786,-323,0,0,0,0,1,1,1,1]],[0,"img49",1,[[1,0,-423,[39]]],[5,16,16],[0,0,0],[-765,-326,0,0,0,0,1,1,1,1]],[0,"img52",1,[[1,0,-424,[40]]],[5,16,16],[0,0,0],[-767.5,-329.5,0,0,0,0,1,1,1,1]],[0,"img48",1,[[1,0,-425,[41]]],[5,16,16],[0,0,0],[-730.5,-330,0,0,0,0,1,1,1,1]],[0,"img109",1,[[1,0,-426,[42]]],[5,16,16],[0,0,0],[-717,-330.5,0,0,0,0,1,1,1,1]],[0,"img100",1,[[1,0,-427,[43]]],[5,16,16],[0,0,0],[-753.5,-334.5,0,0,0,0,1,1,1,1]],[0,"img123",1,[[1,0,-428,[44]]],[5,16,16],[0,0,0],[-288,-335.5,0,0,0,0,1,1,1,1]],[0,"img17",1,[[1,0,-429,[45]]],[5,16,16],[0,0,0],[-703.5,-337.5,0,0,0,0,1,1,1,1]],[0,"img96",1,[[1,0,-430,[46]]],[5,16,16],[0,0,0],[-635,-343,0,0,0,0,1,1,1,1]],[0,"img108",1,[[1,0,-431,[47]]],[5,16,16],[0,0,0],[-742.5,-345.5,0,0,0,0,1,1,1,1]],[0,"img78",1,[[1,0,-432,[48]]],[5,16,16],[0,0,0],[-619,-346.5,0,0,0,0,1,1,1,1]],[0,"img88",1,[[1,0,-433,[49]]],[5,16,16],[0,0,0],[-642,-348,0,0,0,0,1,1,1,1]],[0,"img119",1,[[1,0,-434,[50]]],[5,16,16],[0,0,0],[-672.5,-348,0,0,0,0,1,1,1,1]],[0,"img101",1,[[1,0,-435,[51]]],[5,16,16],[0,0,0],[-762.5,-348.5,0,0,0,0,1,1,1,1]],[0,"img105",1,[[1,0,-436,[52]]],[5,16,16],[0,0,0],[-779.5,-350.5,0,0,0,0,1,1,1,1]],[0,"img35",1,[[1,0,-437,[53]]],[5,16,16],[0,0,0],[-790,-354,0,0,0,0,1,1,1,1]],[0,"img34",1,[[1,0,-438,[54]]],[5,16,16],[0,0,0],[-760,-355,0,0,0,0,1,1,1,1]],[0,"img107",1,[[1,0,-439,[55]]],[5,16,16],[0,0,0],[-750,-356.5,0,0,0,0,1,1,1,1]],[0,"img77",1,[[1,0,-440,[56]]],[5,16,16],[0,0,0],[-714.5,-357,0,0,0,0,1,1,1,1]],[0,"img47",1,[[1,0,-441,[57]]],[5,16,16],[0,0,0],[-681.5,-358,0,0,0,0,1,1,1,1]],[0,"img61",1,[[1,0,-442,[58]]],[5,16,16],[0,0,0],[-721.5,-358,0,0,0,0,1,1,1,1]],[0,"img73",1,[[1,0,-443,[59]]],[5,16,16],[0,0,0],[-595,-361,0,0,0,0,1,1,1,1]],[0,"img21",1,[[1,0,-444,[60]]],[5,16,16],[0,0,0],[-559.5,-365,0,0,0,0,1,1,1,1]],[0,"img118",1,[[1,0,-445,[61]]],[5,16,16],[0,0,0],[-670.5,-367,0,0,0,0,1,1,1,1]],[0,"img64",1,[[1,0,-446,[62]]],[5,16,16],[0,0,0],[-795.5,-367.5,0,0,0,0,1,1,1,1]],[0,"img114",1,[[1,0,-447,[63]]],[5,16,16],[0,0,0],[-800,-367.5,0,0,0,0,1,1,1,1]],[0,"img25",1,[[1,0,-448,[64]]],[5,16,16],[0,0,0],[-787.5,-377,0,0,0,0,1,1,1,1]],[0,"img53",1,[[1,0,-449,[65]]],[5,16,16],[0,0,0],[-746,-379,0,0,0,0,1,1,1,1]],[0,"img106",1,[[1,0,-450,[66]]],[5,16,16],[0,0,0],[-778.5,-380.5,0,0,0,0,1,1,1,1]],[0,"img65",1,[[1,0,-451,[67]]],[5,16,16],[0,0,0],[-790,-382,0,0,0,0,1,1,1,1]],[0,"img54",1,[[1,0,-452,[68]]],[5,16,16],[0,0,0],[-724.5,-386,0,0,0,0,1,1,1,1]],[0,"img36",1,[[1,0,-453,[69]]],[5,16,16],[0,0,0],[-797.5,-387,0,0,0,0,1,1,1,1]],[0,"img102",1,[[1,0,-454,[70]]],[5,16,16],[0,0,0],[-779,-389.5,0,0,0,0,1,1,1,1]],[0,"img18",1,[[1,0,-455,[71]]],[5,16,16],[0,0,0],[-720,-392,0,0,0,0,1,1,1,1]],[0,"img103",1,[[1,0,-456,[72]]],[5,16,16],[0,0,0],[-778.5,-393,0,0,0,0,1,1,1,1]],[0,"img72",1,[[1,0,-457,[73]]],[5,16,16],[0,0,0],[-660.5,-394.5,0,0,0,0,1,1,1,1]],[0,"img55",1,[[1,0,-458,[74]]],[5,16,16],[0,0,0],[-753.5,-401.5,0,0,0,0,1,1,1,1]],[0,"img26",1,[[1,0,-459,[75]]],[5,16,16],[0,0,0],[-766,-405.5,0,0,0,0,1,1,1,1]],[0,"img89",1,[[1,0,-460,[76]]],[5,16,16],[0,0,0],[-666.5,-406.5,0,0,0,0,1,1,1,1]],[0,"img46",1,[[1,0,-461,[77]]],[5,16,16],[0,0,0],[-739.5,-414,0,0,0,0,1,1,1,1]],[0,"img82",1,[[1,0,-462,[78]]],[5,16,16],[0,0,0],[-729,-422.5,0,0,0,0,1,1,1,1]],[0,"img45",1,[[1,0,-463,[79]]],[5,16,16],[0,0,0],[-768.5,-425,0,0,0,0,1,1,1,1]],[0,"img117",1,[[1,0,-464,[80]]],[5,16,16],[0,0,0],[-713.5,-428,0,0,0,0,1,1,1,1]],[0,"img122",1,[[1,0,-465,[81]]],[5,16,16],[0,0,0],[-338,-431,0,0,0,0,1,1,1,1]],[0,"img71",1,[[1,0,-466,[82]]],[5,16,16],[0,0,0],[-686,-435,0,0,0,0,1,1,1,1]],[0,"img116",1,[[1,0,-467,[83]]],[5,16,16],[0,0,0],[-720.5,-435,0,0,0,0,1,1,1,1]],[0,"img62",1,[[1,0,-468,[84]]],[5,16,16],[0,0,0],[-788,-440,0,0,0,0,1,1,1,1]],[0,"img37",1,[[1,0,-469,[85]]],[5,16,16],[0,0,0],[-789,-445,0,0,0,0,1,1,1,1]],[0,"img121",1,[[1,0,-470,[86]]],[5,16,16],[0,0,0],[-319,-446.5,0,0,0,0,1,1,1,1]],[0,"img91",1,[[1,0,-471,[87]]],[5,16,16],[0,0,0],[-574.5,-449,0,0,0,0,1,1,1,1]],[0,"img42",1,[[1,0,-472,[88]]],[5,16,16],[0,0,0],[-762,-451,0,0,0,0,1,1,1,1]],[0,"img44",1,[[1,0,-473,[89]]],[5,16,16],[0,0,0],[-705.5,-459,0,0,0,0,1,1,1,1]],[0,"img90",1,[[1,0,-474,[90]]],[5,16,16],[0,0,0],[-697.5,-459,0,0,0,0,1,1,1,1]],[0,"img115",1,[[1,0,-475,[91]]],[5,16,16],[0,0,0],[-766.5,-462,0,0,0,0,1,1,1,1]],[0,"img41",1,[[1,0,-476,[92]]],[5,16,16],[0,0,0],[-729,-469.5,0,0,0,0,1,1,1,1]],[0,"img19",1,[[1,0,-477,[93]]],[5,16,16],[0,0,0],[-725,-470.5,0,0,0,0,1,1,1,1]],[0,"img63",1,[[1,0,-478,[94]]],[5,16,16],[0,0,0],[-808,-471.5,0,0,0,0,1,1,1,1]],[0,"img38",1,[[1,0,-479,[95]]],[5,16,16],[0,0,0],[-789,-478,0,0,0,0,1,1,1,1]],[0,"img20",1,[[1,0,-480,[96]]],[5,16,16],[0,0,0],[-641.5,-479.5,0,0,0,0,1,1,1,1]],[0,"img43",1,[[1,0,-481,[97]]],[5,16,16],[0,0,0],[-730,-484.5,0,0,0,0,1,1,1,1]],[0,"img92",1,[[1,0,-482,[98]]],[5,16,16],[0,0,0],[-701.5,-504,0,0,0,0,1,1,1,1]],[0,"img66",1,[[1,0,-483,[99]]],[5,16,16],[0,0,0],[-775.5,-506,0,0,0,0,1,1,1,1]],[0,"img39",1,[[1,0,-484,[100]]],[5,16,16],[0,0,0],[-779,-507.5,0,0,0,0,1,1,1,1]],[0,"img95",1,[[1,0,-485,[101]]],[5,16,16],[0,0,0],[-774,-520,0,0,0,0,1,1,1,1]],[0,"img40",1,[[1,0,-486,[102]]],[5,16,16],[0,0,0],[-720,-521.5,0,0,0,0,1,1,1,1]],[0,"img83",1,[[1,0,-487,[103]]],[5,16,16],[0,0,0],[-792,-524,0,0,0,0,1,1,1,1]],[0,"img69",1,[[1,0,-488,[104]]],[5,16,16],[0,0,0],[-720,-530.5,0,0,0,0,1,1,1,1]],[0,"img165",1,[[1,0,-489,[105]]],[5,16,16],[0,0,0],[-607,-531.3299999999999,0,0,0,0,1,1,1,1]],[0,"img70",1,[[1,0,-490,[106]]],[5,16,16],[0,0,0],[-737.5,-538,0,0,0,0,1,1,1,1]],[0,"img93",1,[[1,0,-491,[107]]],[5,16,16],[0,0,0],[-756.5,-546.5,0,0,0,0,1,1,1,1]],[0,"img84",1,[[1,0,-492,[108]]],[5,16,16],[0,0,0],[-788,-554,0,0,0,0,1,1,1,1]],[0,"img68",1,[[1,0,-493,[109]]],[5,16,16],[0,0,0],[-719,-554.5,0,0,0,0,1,1,1,1]],[0,"img67",1,[[1,0,-494,[110]]],[5,16,16],[0,0,0],[-781.5,-555,0,0,0,0,1,1,1,1]],[0,"img164",1,[[1,0,-495,[111]]],[5,16,16],[0,0,0],[-594,-560.3299999999999,0,0,0,0,1,1,1,1]],[0,"img94",1,[[1,0,-496,[112]]],[5,16,16],[0,0,0],[-762.5,-571,0,0,0,0,1,1,1,1]],[0,"img161",1,[[1,0,-497,[113]]],[5,16,16],[0,0,0],[-367.667,-589.3299999999999,0,0,0,0,1,1,1,1]],[0,"img162",1,[[1,0,-498,[114]]],[5,16,16],[0,0,0],[-494.667,-641,0,0,0,0,1,1,1,1]],[0,"img160",1,[[1,0,-499,[115]]],[5,16,16],[0,0,0],[-351.667,-644.3299999999999,0,0,0,0,1,1,1,1]],[0,"img163",1,[[1,0,-500,[116]]],[5,16,16],[0,0,0],[-446.667,-644.3299999999999,0,0,0,0,1,1,1,1]],[0,"img159",1,[[1,0,-501,[117]]],[5,16,16],[0,0,0],[-368.667,-670,0,0,0,0,1,1,1,1]],[0,"img158",1,[[1,0,-502,[118]]],[5,16,16],[0,0,0],[-645.333,-687.3299999999999,0,0,0,0,1,1,1,1]],[0,"img157",1,[[1,0,-503,[119]]],[5,16,16],[0,0,0],[-495.667,-700.6700000000001,0,0,0,0,1,1,1,1]],[0,"img153",3,[[1,0,-504,[120]]],[5,16,16],[0,0,0],[-548,-249.32999999999993,0,0,0,0,1,1,1,1]],[0,"img134",3,[[1,0,-505,[121]]],[5,16,16],[0,0,0],[-736.5,-287,0,0,0,0,1,1,1,1]],[0,"img151",3,[[1,0,-506,[122]]],[5,16,16],[0,0,0],[-582.667,-303.3299999999999,0,0,0,0,1,1,1,1]],[0,"img133",3,[[1,0,-507,[123]]],[5,16,16],[0,0,0],[-658,-309,0,0,0,0,1,1,1,1]],[0,"img140",3,[[1,0,-508,[124]]],[5,16,16],[0,0,0],[-645.5,-311,0,0,0,0,1,1,1,1]],[0,"img150",3,[[1,0,-509,[125]]],[5,16,16],[0,0,0],[-601.333,-317.3299999999999,0,0,0,0,1,1,1,1]],[0,"img135",3,[[1,0,-510,[126]]],[5,16,16],[0,0,0],[-798,-322,0,0,0,0,1,1,1,1]],[0,"img147",3,[[1,0,-511,[127]]],[5,16,16],[0,0,0],[-568.5,-327,0,0,0,0,1,1,1,1]],[0,"img148",3,[[1,0,-512,[128]]],[5,16,16],[0,0,0],[-655,-331.5,0,0,0,0,1,1,1,1]],[0,"img139",3,[[1,0,-513,[129]]],[5,16,16],[0,0,0],[-694,-347.5,0,0,0,0,1,1,1,1]],[0,"img128",3,[[1,0,-514,[130]]],[5,16,16],[0,0,0],[-707,-352,0,0,0,0,1,1,1,1]],[0,"img141",3,[[1,0,-515,[131]]],[5,16,16],[0,0,0],[-653.5,-361.5,0,0,0,0,1,1,1,1]],[0,"img233",3,[[1,0,-516,[132]]],[5,16,16],[0,0,0],[-485,-376.3299999999999,0,0,0,0,1,1,1,1]],[0,"img236",3,[[1,0,-517,[133]]],[5,16,16],[0,0,0],[-485,-376.3299999999999,0,0,0,0,1,1,1,1]],[0,"img253",3,[[1,0,-518,[134]]],[5,16,16],[0,0,0],[-485.062,-376.6300000000001,0,0,0,0,1,1,1,1]],[0,"img254",3,[[1,0,-519,[135]]],[5,16,16],[0,0,0],[-485.062,-376.6300000000001,0,0,0,0,1,1,1,1]],[0,"img247",3,[[1,0,-520,[136]]],[5,16,16],[0,0,0],[-485.083,-376.93000000000006,0,0,0,0,1,1,1,1]],[0,"img248",3,[[1,0,-521,[137]]],[5,16,16],[0,0,0],[-485.083,-376.93000000000006,0,0,0,0,1,1,1,1]],[0,"img234",3,[[1,0,-522,[138]]],[5,16,16],[0,0,0],[-468.667,-377,0,0,0,0,1,1,1,1]],[0,"img235",3,[[1,0,-523,[139]]],[5,16,16],[0,0,0],[-468.667,-377,0,0,0,0,1,1,1,1]],[0,"img237",3,[[1,0,-524,[140]]],[5,16,16],[0,0,0],[-485.667,-377.03999999999996,0,0,0,0,1,1,1,1]],[0,"img241",3,[[1,0,-525,[141]]],[5,16,16],[0,0,0],[-484.208,-377.18000000000006,0,0,0,0,1,1,1,1]],[0,"img242",3,[[1,0,-526,[142]]],[5,16,16],[0,0,0],[-484.208,-377.18000000000006,0,0,0,0,1,1,1,1]],[0,"img265",3,[[1,0,-527,[143]]],[5,16,16],[0,0,0],[-485.146,-377.23,0,0,0,0,1,1,1,1]],[0,"img266",3,[[1,0,-528,[144]]],[5,16,16],[0,0,0],[-485.146,-377.23,0,0,0,0,1,1,1,1]],[0,"img255",3,[[1,0,-529,[145]]],[5,16,16],[0,0,0],[-468.729,-377.29999999999995,0,0,0,0,1,1,1,1]],[0,"img256",3,[[1,0,-530,[146]]],[5,16,16],[0,0,0],[-468.729,-377.29999999999995,0,0,0,0,1,1,1,1]],[0,"img257",3,[[1,0,-531,[147]]],[5,16,16],[0,0,0],[-485.729,-377.3399999999999,0,0,0,0,1,1,1,1]],[0,"img259",3,[[1,0,-532,[148]]],[5,16,16],[0,0,0],[-484.271,-377.48,0,0,0,0,1,1,1,1]],[0,"img260",3,[[1,0,-533,[149]]],[5,16,16],[0,0,0],[-484.271,-377.48,0,0,0,0,1,1,1,1]],[0,"img249",3,[[1,0,-534,[150]]],[5,16,16],[0,0,0],[-468.75,-377.6099999999999,0,0,0,0,1,1,1,1]],[0,"img250",3,[[1,0,-535,[151]]],[5,16,16],[0,0,0],[-468.75,-377.6099999999999,0,0,0,0,1,1,1,1]],[0,"img251",3,[[1,0,-536,[152]]],[5,16,16],[0,0,0],[-485.75,-377.6400000000001,0,0,0,0,1,1,1,1]],[0,"img238",3,[[1,0,-537,[153]]],[5,16,16],[0,0,0],[-469.334,-377.71000000000004,0,0,0,0,1,1,1,1]],[0,"img243",3,[[1,0,-538,[154]]],[5,16,16],[0,0,0],[-467.875,-377.8599999999999,0,0,0,0,1,1,1,1]],[0,"img244",3,[[1,0,-539,[155]]],[5,16,16],[0,0,0],[-467.875,-377.8599999999999,0,0,0,0,1,1,1,1]],[0,"img245",3,[[1,0,-540,[156]]],[5,16,16],[0,0,0],[-484.875,-377.8900000000001,0,0,0,0,1,1,1,1]],[0,"img267",3,[[1,0,-541,[157]]],[5,16,16],[0,0,0],[-468.812,-377.9100000000001,0,0,0,0,1,1,1,1]],[0,"img268",3,[[1,0,-542,[158]]],[5,16,16],[0,0,0],[-468.812,-377.9100000000001,0,0,0,0,1,1,1,1]],[0,"img269",3,[[1,0,-543,[159]]],[5,16,16],[0,0,0],[-485.812,-377.94000000000005,0,0,0,0,1,1,1,1]],[0,"img258",3,[[1,0,-544,[160]]],[5,16,16],[0,0,0],[-469.397,-378.01,0,0,0,0,1,1,1,1]],[0,"img261",3,[[1,0,-545,[161]]],[5,16,16],[0,0,0],[-467.937,-378.1600000000001,0,0,0,0,1,1,1,1]],[0,"img262",3,[[1,0,-546,[162]]],[5,16,16],[0,0,0],[-467.937,-378.1600000000001,0,0,0,0,1,1,1,1]],[0,"img263",3,[[1,0,-547,[163]]],[5,16,16],[0,0,0],[-484.937,-378.19000000000005,0,0,0,0,1,1,1,1]],[0,"img252",3,[[1,0,-548,[164]]],[5,16,16],[0,0,0],[-469.417,-378.31999999999994,0,0,0,0,1,1,1,1]],[0,"img246",3,[[1,0,-549,[165]]],[5,16,16],[0,0,0],[-468.542,-378.56999999999994,0,0,0,0,1,1,1,1]],[0,"img270",3,[[1,0,-550,[166]]],[5,16,16],[0,0,0],[-469.479,-378.6199999999999,0,0,0,0,1,1,1,1]],[0,"img264",3,[[1,0,-551,[167]]],[5,16,16],[0,0,0],[-468.604,-378.8699999999999,0,0,0,0,1,1,1,1]],[0,"img129",3,[[1,0,-552,[168]]],[5,16,16],[0,0,0],[-754.5,-389,0,0,0,0,1,1,1,1]],[0,"img132",3,[[1,0,-553,[169]]],[5,16,16],[0,0,0],[-676,-390.5,0,0,0,0,1,1,1,1]],[0,"img146",3,[[1,0,-554,[170]]],[5,16,16],[0,0,0],[-618,-401,0,0,0,0,1,1,1,1]],[0,"img154",3,[[1,0,-555,[171]]],[5,16,16],[0,0,0],[-538.6669999999999,-402,0,0,0,0,1,1,1,1]],[0,"img142",3,[[1,0,-556,[172]]],[5,16,16],[0,0,0],[-692,-406,0,0,0,0,1,1,1,1]],[0,"img130",3,[[1,0,-557,[173]]],[5,16,16],[0,0,0],[-753,-449.5,0,0,0,0,1,1,1,1]],[0,"img136",3,[[1,0,-558,[174]]],[5,16,16],[0,0,0],[-806.5,-453.5,0,0,0,0,1,1,1,1]],[0,"img131",3,[[1,0,-559,[175]]],[5,16,16],[0,0,0],[-740,-464.5,0,0,0,0,1,1,1,1]],[0,"img143",3,[[1,0,-560,[176]]],[5,16,16],[0,0,0],[-750,-471,0,0,0,0,1,1,1,1]],[0,"img138",3,[[1,0,-561,[177]]],[5,16,16],[0,0,0],[-774.5,-478.5,0,0,0,0,1,1,1,1]],[0,"img137",3,[[1,0,-562,[178]]],[5,16,16],[0,0,0],[-789.5,-482,0,0,0,0,1,1,1,1]],[0,"img145",3,[[1,0,-563,[179]]],[5,16,16],[0,0,0],[-680.5,-498,0,0,0,0,1,1,1,1]],[0,"img144",3,[[1,0,-564,[180]]],[5,16,16],[0,0,0],[-754,-509.5,0,0,0,0,1,1,1,1]],[0,"img149",3,[[1,0,-565,[181]]],[5,16,16],[0,0,0],[-722.5,-737.5,0,0,0,0,1,1,1,1]],[3,"Tile Layer 3",5,[[5,-566,[182]]],[5,1600,1600]],[3,"Tile Layer 4",5,[[5,-567,[183]]],[5,1600,1600]],[23,6],[3,"Ground terrain",6,[[6,-568,[186]]],[5,1600,1600]],[3,"Ground overlay",6,[[6,-569,[187]]],[5,1600,1600]],[0,"img29",2,[[2,-570,[188]]],[5,16,16],[0,0,0],[-783.5,-257.5,0,0,0,0,1,1,1,1]],[0,"img125",2,[[2,-571,[189]]],[5,16,16],[0,0,0],[-380,-268.5,0,0,0,0,1,1,1,1]],[0,"img58",2,[[2,-572,[190]]],[5,16,16],[0,0,0],[-752.5,-270.5,0,0,0,0,1,1,1,1]],[0,"img30",2,[[2,-573,[191]]],[5,16,16],[0,0,0],[-805,-271,0,0,0,0,1,1,1,1]],[0,"img112",2,[[2,-574,[192]]],[5,16,16],[0,0,0],[-786,-271.5,0,0,0,0,1,1,1,1]],[0,"img126",2,[[2,-575,[193]]],[5,16,16],[0,0,0],[-498.5,-273.5,0,0,0,0,1,1,1,1]],[0,"img28",2,[[2,-576,[194]]],[5,16,16],[0,0,0],[-737.5,-274.5,0,0,0,0,1,1,1,1]],[0,"img111",2,[[2,-577,[195]]],[5,16,16],[0,0,0],[-687,-277,0,0,0,0,1,1,1,1]],[0,"img80",2,[[2,-578,[196]]],[5,16,16],[0,0,0],[-687.5,-278.5,0,0,0,0,1,1,1,1]],[0,"img59",2,[[2,-579,[197]]],[5,16,16],[0,0,0],[-720.5,-279,0,0,0,0,1,1,1,1]],[0,"img51",2,[[2,-580,[198]]],[5,16,16],[0,0,0],[-708.5,-281.5,0,0,0,0,1,1,1,1]],[0,"img50",2,[[2,-581,[199]]],[5,16,16],[0,0,0],[-705,-284,0,0,0,0,1,1,1,1]],[0,"img75",2,[[2,-582,[200]]],[5,16,16],[0,0,0],[-627,-284,0,0,0,0,1,1,1,1]],[0,"img22",2,[[2,-583,[201]]],[5,16,16],[0,0,0],[-685.5,-284.5,0,0,0,0,1,1,1,1]],[0,"img124",2,[[2,-584,[202]]],[5,16,16],[0,0,0],[-385,-286.5,0,0,0,0,1,1,1,1]],[0,"img127",2,[[2,-585,[203]]],[5,16,16],[0,0,0],[-528,-288.5,0,0,0,0,1,1,1,1]],[0,"img31",2,[[2,-586,[204]]],[5,16,16],[0,0,0],[-788.5,-292.5,0,0,0,0,1,1,1,1]],[0,"img16",2,[[2,-587,[205]]],[5,16,16],[0,0,0],[-662.5,-293,0,0,0,0,1,1,1,1]],[0,"img23",2,[[2,-588,[206]]],[5,16,16],[0,0,0],[-751,-294.5,0,0,0,0,1,1,1,1]],[0,"img24",2,[[2,-589,[207]]],[5,16,16],[0,0,0],[-781.5,-298,0,0,0,0,1,1,1,1]],[0,"img32",2,[[2,-590,[208]]],[5,16,16],[0,0,0],[-737,-298.5,0,0,0,0,1,1,1,1]],[0,"img97",2,[[2,-591,[209]]],[5,16,16],[0,0,0],[-613,-298.5,0,0,0,0,1,1,1,1]],[0,"img81",2,[[2,-592,[210]]],[5,16,16],[0,0,0],[-722,-302,0,0,0,0,1,1,1,1]],[0,"img98",2,[[2,-593,[211]]],[5,16,16],[0,0,0],[-682,-304,0,0,0,0,1,1,1,1]],[0,"img33",2,[[2,-594,[212]]],[5,16,16],[0,0,0],[-694.5,-306,0,0,0,0,1,1,1,1]],[0,"img99",2,[[2,-595,[213]]],[5,16,16],[0,0,0],[-748,-306,0,0,0,0,1,1,1,1]],[0,"img104",2,[[2,-596,[214]]],[5,16,16],[0,0,0],[-780,-308.5,0,0,0,0,1,1,1,1]],[0,"img57",2,[[2,-597,[215]]],[5,16,16],[0,0,0],[-725,-309,0,0,0,0,1,1,1,1]],[0,"img120",2,[[2,-598,[216]]],[5,16,16],[0,0,0],[-665.5,-310,0,0,0,0,1,1,1,1]],[0,"img76",2,[[2,-599,[217]]],[5,16,16],[0,0,0],[-708,-313.5,0,0,0,0,1,1,1,1]],[0,"img110",2,[[2,-600,[218]]],[5,16,16],[0,0,0],[-694,-314,0,0,0,0,1,1,1,1]],[0,"img27",2,[[2,-601,[219]]],[5,16,16],[0,0,0],[-721.5,-317,0,0,0,0,1,1,1,1]],[0,"img79",2,[[2,-602,[220]]],[5,16,16],[0,0,0],[-643.5,-318.5,0,0,0,0,1,1,1,1]],[0,"img74",2,[[2,-603,[221]]],[5,16,16],[0,0,0],[-563.5,-319,0,0,0,0,1,1,1,1]],[0,"img56",2,[[2,-604,[222]]],[5,16,16],[0,0,0],[-723.5,-319.5,0,0,0,0,1,1,1,1]],[0,"img60",2,[[2,-605,[223]]],[5,16,16],[0,0,0],[-723.5,-322.5,0,0,0,0,1,1,1,1]],[0,"img113",2,[[2,-606,[224]]],[5,16,16],[0,0,0],[-786,-323,0,0,0,0,1,1,1,1]],[0,"img49",2,[[2,-607,[225]]],[5,16,16],[0,0,0],[-765,-326,0,0,0,0,1,1,1,1]],[0,"img52",2,[[2,-608,[226]]],[5,16,16],[0,0,0],[-767.5,-329.5,0,0,0,0,1,1,1,1]],[0,"img48",2,[[2,-609,[227]]],[5,16,16],[0,0,0],[-730.5,-330,0,0,0,0,1,1,1,1]],[0,"img109",2,[[2,-610,[228]]],[5,16,16],[0,0,0],[-717,-330.5,0,0,0,0,1,1,1,1]],[0,"img100",2,[[2,-611,[229]]],[5,16,16],[0,0,0],[-753.5,-334.5,0,0,0,0,1,1,1,1]],[0,"img123",2,[[2,-612,[230]]],[5,16,16],[0,0,0],[-288,-335.5,0,0,0,0,1,1,1,1]],[0,"img17",2,[[2,-613,[231]]],[5,16,16],[0,0,0],[-703.5,-337.5,0,0,0,0,1,1,1,1]],[0,"img96",2,[[2,-614,[232]]],[5,16,16],[0,0,0],[-635,-343,0,0,0,0,1,1,1,1]],[0,"img108",2,[[2,-615,[233]]],[5,16,16],[0,0,0],[-742.5,-345.5,0,0,0,0,1,1,1,1]],[0,"img78",2,[[2,-616,[234]]],[5,16,16],[0,0,0],[-619,-346.5,0,0,0,0,1,1,1,1]],[0,"img88",2,[[2,-617,[235]]],[5,16,16],[0,0,0],[-642,-348,0,0,0,0,1,1,1,1]],[0,"img119",2,[[2,-618,[236]]],[5,16,16],[0,0,0],[-672.5,-348,0,0,0,0,1,1,1,1]],[0,"img101",2,[[2,-619,[237]]],[5,16,16],[0,0,0],[-762.5,-348.5,0,0,0,0,1,1,1,1]],[0,"img105",2,[[2,-620,[238]]],[5,16,16],[0,0,0],[-779.5,-350.5,0,0,0,0,1,1,1,1]],[0,"img35",2,[[2,-621,[239]]],[5,16,16],[0,0,0],[-790,-354,0,0,0,0,1,1,1,1]],[0,"img34",2,[[2,-622,[240]]],[5,16,16],[0,0,0],[-760,-355,0,0,0,0,1,1,1,1]],[0,"img107",2,[[2,-623,[241]]],[5,16,16],[0,0,0],[-750,-356.5,0,0,0,0,1,1,1,1]],[0,"img77",2,[[2,-624,[242]]],[5,16,16],[0,0,0],[-714.5,-357,0,0,0,0,1,1,1,1]],[0,"img47",2,[[2,-625,[243]]],[5,16,16],[0,0,0],[-681.5,-358,0,0,0,0,1,1,1,1]],[0,"img61",2,[[2,-626,[244]]],[5,16,16],[0,0,0],[-721.5,-358,0,0,0,0,1,1,1,1]],[0,"img73",2,[[2,-627,[245]]],[5,16,16],[0,0,0],[-595,-361,0,0,0,0,1,1,1,1]],[0,"img21",2,[[2,-628,[246]]],[5,16,16],[0,0,0],[-559.5,-365,0,0,0,0,1,1,1,1]],[0,"img118",2,[[2,-629,[247]]],[5,16,16],[0,0,0],[-670.5,-367,0,0,0,0,1,1,1,1]],[0,"img64",2,[[2,-630,[248]]],[5,16,16],[0,0,0],[-795.5,-367.5,0,0,0,0,1,1,1,1]],[0,"img114",2,[[2,-631,[249]]],[5,16,16],[0,0,0],[-800,-367.5,0,0,0,0,1,1,1,1]],[0,"img25",2,[[2,-632,[250]]],[5,16,16],[0,0,0],[-787.5,-377,0,0,0,0,1,1,1,1]],[0,"img53",2,[[2,-633,[251]]],[5,16,16],[0,0,0],[-746,-379,0,0,0,0,1,1,1,1]],[0,"img106",2,[[2,-634,[252]]],[5,16,16],[0,0,0],[-778.5,-380.5,0,0,0,0,1,1,1,1]],[0,"img65",2,[[2,-635,[253]]],[5,16,16],[0,0,0],[-790,-382,0,0,0,0,1,1,1,1]],[0,"img54",2,[[2,-636,[254]]],[5,16,16],[0,0,0],[-724.5,-386,0,0,0,0,1,1,1,1]],[0,"img36",2,[[2,-637,[255]]],[5,16,16],[0,0,0],[-797.5,-387,0,0,0,0,1,1,1,1]],[0,"img102",2,[[2,-638,[256]]],[5,16,16],[0,0,0],[-779,-389.5,0,0,0,0,1,1,1,1]],[0,"img18",2,[[2,-639,[257]]],[5,16,16],[0,0,0],[-720,-392,0,0,0,0,1,1,1,1]],[0,"img103",2,[[2,-640,[258]]],[5,16,16],[0,0,0],[-778.5,-393,0,0,0,0,1,1,1,1]],[0,"img72",2,[[2,-641,[259]]],[5,16,16],[0,0,0],[-660.5,-394.5,0,0,0,0,1,1,1,1]],[0,"img55",2,[[2,-642,[260]]],[5,16,16],[0,0,0],[-753.5,-401.5,0,0,0,0,1,1,1,1]],[0,"img26",2,[[2,-643,[261]]],[5,16,16],[0,0,0],[-766,-405.5,0,0,0,0,1,1,1,1]],[0,"img89",2,[[2,-644,[262]]],[5,16,16],[0,0,0],[-666.5,-406.5,0,0,0,0,1,1,1,1]],[0,"img46",2,[[2,-645,[263]]],[5,16,16],[0,0,0],[-739.5,-414,0,0,0,0,1,1,1,1]],[0,"img82",2,[[2,-646,[264]]],[5,16,16],[0,0,0],[-729,-422.5,0,0,0,0,1,1,1,1]],[0,"img45",2,[[2,-647,[265]]],[5,16,16],[0,0,0],[-768.5,-425,0,0,0,0,1,1,1,1]],[0,"img117",2,[[2,-648,[266]]],[5,16,16],[0,0,0],[-713.5,-428,0,0,0,0,1,1,1,1]],[0,"img122",2,[[2,-649,[267]]],[5,16,16],[0,0,0],[-338,-431,0,0,0,0,1,1,1,1]],[0,"img71",2,[[2,-650,[268]]],[5,16,16],[0,0,0],[-686,-435,0,0,0,0,1,1,1,1]],[0,"img116",2,[[2,-651,[269]]],[5,16,16],[0,0,0],[-720.5,-435,0,0,0,0,1,1,1,1]],[0,"img62",2,[[2,-652,[270]]],[5,16,16],[0,0,0],[-788,-440,0,0,0,0,1,1,1,1]],[0,"img37",2,[[2,-653,[271]]],[5,16,16],[0,0,0],[-789,-445,0,0,0,0,1,1,1,1]],[0,"img121",2,[[2,-654,[272]]],[5,16,16],[0,0,0],[-319,-446.5,0,0,0,0,1,1,1,1]],[0,"img91",2,[[2,-655,[273]]],[5,16,16],[0,0,0],[-574.5,-449,0,0,0,0,1,1,1,1]],[0,"img42",2,[[2,-656,[274]]],[5,16,16],[0,0,0],[-762,-451,0,0,0,0,1,1,1,1]],[0,"img44",2,[[2,-657,[275]]],[5,16,16],[0,0,0],[-705.5,-459,0,0,0,0,1,1,1,1]],[0,"img90",2,[[2,-658,[276]]],[5,16,16],[0,0,0],[-697.5,-459,0,0,0,0,1,1,1,1]],[0,"img115",2,[[2,-659,[277]]],[5,16,16],[0,0,0],[-766.5,-462,0,0,0,0,1,1,1,1]],[0,"img41",2,[[2,-660,[278]]],[5,16,16],[0,0,0],[-729,-469.5,0,0,0,0,1,1,1,1]],[0,"img19",2,[[2,-661,[279]]],[5,16,16],[0,0,0],[-725,-470.5,0,0,0,0,1,1,1,1]],[0,"img63",2,[[2,-662,[280]]],[5,16,16],[0,0,0],[-808,-471.5,0,0,0,0,1,1,1,1]],[0,"img38",2,[[2,-663,[281]]],[5,16,16],[0,0,0],[-789,-478,0,0,0,0,1,1,1,1]],[0,"img20",2,[[2,-664,[282]]],[5,16,16],[0,0,0],[-641.5,-479.5,0,0,0,0,1,1,1,1]],[0,"img43",2,[[2,-665,[283]]],[5,16,16],[0,0,0],[-730,-484.5,0,0,0,0,1,1,1,1]],[0,"img92",2,[[2,-666,[284]]],[5,16,16],[0,0,0],[-701.5,-504,0,0,0,0,1,1,1,1]],[0,"img66",2,[[2,-667,[285]]],[5,16,16],[0,0,0],[-775.5,-506,0,0,0,0,1,1,1,1]],[0,"img39",2,[[2,-668,[286]]],[5,16,16],[0,0,0],[-779,-507.5,0,0,0,0,1,1,1,1]],[0,"img95",2,[[2,-669,[287]]],[5,16,16],[0,0,0],[-774,-520,0,0,0,0,1,1,1,1]],[0,"img40",2,[[2,-670,[288]]],[5,16,16],[0,0,0],[-720,-521.5,0,0,0,0,1,1,1,1]],[0,"img83",2,[[2,-671,[289]]],[5,16,16],[0,0,0],[-792,-524,0,0,0,0,1,1,1,1]],[0,"img69",2,[[2,-672,[290]]],[5,16,16],[0,0,0],[-720,-530.5,0,0,0,0,1,1,1,1]],[0,"img165",2,[[2,-673,[291]]],[5,16,16],[0,0,0],[-607,-531.3299999999999,0,0,0,0,1,1,1,1]],[0,"img70",2,[[2,-674,[292]]],[5,16,16],[0,0,0],[-737.5,-538,0,0,0,0,1,1,1,1]],[0,"img93",2,[[2,-675,[293]]],[5,16,16],[0,0,0],[-756.5,-546.5,0,0,0,0,1,1,1,1]],[0,"img84",2,[[2,-676,[294]]],[5,16,16],[0,0,0],[-788,-554,0,0,0,0,1,1,1,1]],[0,"img68",2,[[2,-677,[295]]],[5,16,16],[0,0,0],[-719,-554.5,0,0,0,0,1,1,1,1]],[0,"img67",2,[[2,-678,[296]]],[5,16,16],[0,0,0],[-781.5,-555,0,0,0,0,1,1,1,1]],[0,"img164",2,[[2,-679,[297]]],[5,16,16],[0,0,0],[-594,-560.3299999999999,0,0,0,0,1,1,1,1]],[0,"img94",2,[[2,-680,[298]]],[5,16,16],[0,0,0],[-762.5,-571,0,0,0,0,1,1,1,1]],[0,"img161",2,[[2,-681,[299]]],[5,16,16],[0,0,0],[-367.667,-589.3299999999999,0,0,0,0,1,1,1,1]],[0,"img162",2,[[2,-682,[300]]],[5,16,16],[0,0,0],[-494.667,-641,0,0,0,0,1,1,1,1]],[0,"img160",2,[[2,-683,[301]]],[5,16,16],[0,0,0],[-351.667,-644.3299999999999,0,0,0,0,1,1,1,1]],[0,"img163",2,[[2,-684,[302]]],[5,16,16],[0,0,0],[-446.667,-644.3299999999999,0,0,0,0,1,1,1,1]],[0,"img159",2,[[2,-685,[303]]],[5,16,16],[0,0,0],[-368.667,-670,0,0,0,0,1,1,1,1]],[0,"img158",2,[[2,-686,[304]]],[5,16,16],[0,0,0],[-645.333,-687.3299999999999,0,0,0,0,1,1,1,1]],[0,"img157",2,[[2,-687,[305]]],[5,16,16],[0,0,0],[-495.667,-700.6700000000001,0,0,0,0,1,1,1,1]],[0,"img153",4,[[2,-688,[306]]],[5,16,16],[0,0,0],[-548,-249.32999999999993,0,0,0,0,1,1,1,1]],[0,"img134",4,[[2,-689,[307]]],[5,16,16],[0,0,0],[-736.5,-287,0,0,0,0,1,1,1,1]],[0,"img151",4,[[2,-690,[308]]],[5,16,16],[0,0,0],[-582.667,-303.3299999999999,0,0,0,0,1,1,1,1]],[0,"img133",4,[[2,-691,[309]]],[5,16,16],[0,0,0],[-658,-309,0,0,0,0,1,1,1,1]],[0,"img140",4,[[2,-692,[310]]],[5,16,16],[0,0,0],[-645.5,-311,0,0,0,0,1,1,1,1]],[0,"img150",4,[[2,-693,[311]]],[5,16,16],[0,0,0],[-601.333,-317.3299999999999,0,0,0,0,1,1,1,1]],[0,"img135",4,[[2,-694,[312]]],[5,16,16],[0,0,0],[-798,-322,0,0,0,0,1,1,1,1]],[0,"img147",4,[[2,-695,[313]]],[5,16,16],[0,0,0],[-568.5,-327,0,0,0,0,1,1,1,1]],[0,"img148",4,[[2,-696,[314]]],[5,16,16],[0,0,0],[-655,-331.5,0,0,0,0,1,1,1,1]],[0,"img139",4,[[2,-697,[315]]],[5,16,16],[0,0,0],[-694,-347.5,0,0,0,0,1,1,1,1]],[0,"img128",4,[[2,-698,[316]]],[5,16,16],[0,0,0],[-707,-352,0,0,0,0,1,1,1,1]],[0,"img141",4,[[2,-699,[317]]],[5,16,16],[0,0,0],[-653.5,-361.5,0,0,0,0,1,1,1,1]],[0,"img233",4,[[2,-700,[318]]],[5,16,16],[0,0,0],[-485,-376.3299999999999,0,0,0,0,1,1,1,1]],[0,"img236",4,[[2,-701,[319]]],[5,16,16],[0,0,0],[-485,-376.3299999999999,0,0,0,0,1,1,1,1]],[0,"img253",4,[[2,-702,[320]]],[5,16,16],[0,0,0],[-485.062,-376.6300000000001,0,0,0,0,1,1,1,1]],[0,"img254",4,[[2,-703,[321]]],[5,16,16],[0,0,0],[-485.062,-376.6300000000001,0,0,0,0,1,1,1,1]],[0,"img247",4,[[2,-704,[322]]],[5,16,16],[0,0,0],[-485.083,-376.93000000000006,0,0,0,0,1,1,1,1]],[0,"img248",4,[[2,-705,[323]]],[5,16,16],[0,0,0],[-485.083,-376.93000000000006,0,0,0,0,1,1,1,1]],[0,"img234",4,[[2,-706,[324]]],[5,16,16],[0,0,0],[-468.667,-377,0,0,0,0,1,1,1,1]],[0,"img235",4,[[2,-707,[325]]],[5,16,16],[0,0,0],[-468.667,-377,0,0,0,0,1,1,1,1]],[0,"img237",4,[[2,-708,[326]]],[5,16,16],[0,0,0],[-485.667,-377.03999999999996,0,0,0,0,1,1,1,1]],[0,"img241",4,[[2,-709,[327]]],[5,16,16],[0,0,0],[-484.208,-377.18000000000006,0,0,0,0,1,1,1,1]],[0,"img242",4,[[2,-710,[328]]],[5,16,16],[0,0,0],[-484.208,-377.18000000000006,0,0,0,0,1,1,1,1]],[0,"img265",4,[[2,-711,[329]]],[5,16,16],[0,0,0],[-485.146,-377.23,0,0,0,0,1,1,1,1]],[0,"img266",4,[[2,-712,[330]]],[5,16,16],[0,0,0],[-485.146,-377.23,0,0,0,0,1,1,1,1]],[0,"img255",4,[[2,-713,[331]]],[5,16,16],[0,0,0],[-468.729,-377.29999999999995,0,0,0,0,1,1,1,1]],[0,"img256",4,[[2,-714,[332]]],[5,16,16],[0,0,0],[-468.729,-377.29999999999995,0,0,0,0,1,1,1,1]],[0,"img257",4,[[2,-715,[333]]],[5,16,16],[0,0,0],[-485.729,-377.3399999999999,0,0,0,0,1,1,1,1]],[0,"img259",4,[[2,-716,[334]]],[5,16,16],[0,0,0],[-484.271,-377.48,0,0,0,0,1,1,1,1]],[0,"img260",4,[[2,-717,[335]]],[5,16,16],[0,0,0],[-484.271,-377.48,0,0,0,0,1,1,1,1]],[0,"img249",4,[[2,-718,[336]]],[5,16,16],[0,0,0],[-468.75,-377.6099999999999,0,0,0,0,1,1,1,1]],[0,"img250",4,[[2,-719,[337]]],[5,16,16],[0,0,0],[-468.75,-377.6099999999999,0,0,0,0,1,1,1,1]],[0,"img251",4,[[2,-720,[338]]],[5,16,16],[0,0,0],[-485.75,-377.6400000000001,0,0,0,0,1,1,1,1]],[0,"img238",4,[[2,-721,[339]]],[5,16,16],[0,0,0],[-469.334,-377.71000000000004,0,0,0,0,1,1,1,1]],[0,"img243",4,[[2,-722,[340]]],[5,16,16],[0,0,0],[-467.875,-377.8599999999999,0,0,0,0,1,1,1,1]],[0,"img244",4,[[2,-723,[341]]],[5,16,16],[0,0,0],[-467.875,-377.8599999999999,0,0,0,0,1,1,1,1]],[0,"img245",4,[[2,-724,[342]]],[5,16,16],[0,0,0],[-484.875,-377.8900000000001,0,0,0,0,1,1,1,1]],[0,"img267",4,[[2,-725,[343]]],[5,16,16],[0,0,0],[-468.812,-377.9100000000001,0,0,0,0,1,1,1,1]],[0,"img268",4,[[2,-726,[344]]],[5,16,16],[0,0,0],[-468.812,-377.9100000000001,0,0,0,0,1,1,1,1]],[0,"img269",4,[[2,-727,[345]]],[5,16,16],[0,0,0],[-485.812,-377.94000000000005,0,0,0,0,1,1,1,1]],[0,"img258",4,[[2,-728,[346]]],[5,16,16],[0,0,0],[-469.397,-378.01,0,0,0,0,1,1,1,1]],[0,"img261",4,[[2,-729,[347]]],[5,16,16],[0,0,0],[-467.937,-378.1600000000001,0,0,0,0,1,1,1,1]],[0,"img262",4,[[2,-730,[348]]],[5,16,16],[0,0,0],[-467.937,-378.1600000000001,0,0,0,0,1,1,1,1]],[0,"img263",4,[[2,-731,[349]]],[5,16,16],[0,0,0],[-484.937,-378.19000000000005,0,0,0,0,1,1,1,1]],[0,"img252",4,[[2,-732,[350]]],[5,16,16],[0,0,0],[-469.417,-378.31999999999994,0,0,0,0,1,1,1,1]],[0,"img246",4,[[2,-733,[351]]],[5,16,16],[0,0,0],[-468.542,-378.56999999999994,0,0,0,0,1,1,1,1]],[0,"img270",4,[[2,-734,[352]]],[5,16,16],[0,0,0],[-469.479,-378.6199999999999,0,0,0,0,1,1,1,1]],[0,"img264",4,[[2,-735,[353]]],[5,16,16],[0,0,0],[-468.604,-378.8699999999999,0,0,0,0,1,1,1,1]],[0,"img129",4,[[2,-736,[354]]],[5,16,16],[0,0,0],[-754.5,-389,0,0,0,0,1,1,1,1]],[0,"img132",4,[[2,-737,[355]]],[5,16,16],[0,0,0],[-676,-390.5,0,0,0,0,1,1,1,1]],[0,"img146",4,[[2,-738,[356]]],[5,16,16],[0,0,0],[-618,-401,0,0,0,0,1,1,1,1]],[0,"img154",4,[[2,-739,[357]]],[5,16,16],[0,0,0],[-538.6669999999999,-402,0,0,0,0,1,1,1,1]],[0,"img142",4,[[2,-740,[358]]],[5,16,16],[0,0,0],[-692,-406,0,0,0,0,1,1,1,1]],[0,"img130",4,[[2,-741,[359]]],[5,16,16],[0,0,0],[-753,-449.5,0,0,0,0,1,1,1,1]],[0,"img136",4,[[2,-742,[360]]],[5,16,16],[0,0,0],[-806.5,-453.5,0,0,0,0,1,1,1,1]],[0,"img131",4,[[2,-743,[361]]],[5,16,16],[0,0,0],[-740,-464.5,0,0,0,0,1,1,1,1]],[0,"img143",4,[[2,-744,[362]]],[5,16,16],[0,0,0],[-750,-471,0,0,0,0,1,1,1,1]],[0,"img138",4,[[2,-745,[363]]],[5,16,16],[0,0,0],[-774.5,-478.5,0,0,0,0,1,1,1,1]],[0,"img137",4,[[2,-746,[364]]],[5,16,16],[0,0,0],[-789.5,-482,0,0,0,0,1,1,1,1]],[0,"img145",4,[[2,-747,[365]]],[5,16,16],[0,0,0],[-680.5,-498,0,0,0,0,1,1,1,1]],[0,"img144",4,[[2,-748,[366]]],[5,16,16],[0,0,0],[-754,-509.5,0,0,0,0,1,1,1,1]],[0,"img149",4,[[2,-749,[367]]],[5,16,16],[0,0,0],[-722.5,-737.5,0,0,0,0,1,1,1,1]],[3,"Tile Layer 3",6,[[6,-750,[368]]],[5,1600,1600]],[3,"Tile Layer 4",6,[[6,-751,[369]]],[5,1600,1600]]],0,[0,0,1,0,-1,13,0,-2,14,0,-3,15,0,-4,16,0,-5,17,0,-6,18,0,-7,19,0,-8,20,0,-9,21,0,-10,22,0,-11,23,0,-12,24,0,-13,25,0,-14,26,0,-15,27,0,-16,28,0,-17,29,0,-18,30,0,-19,31,0,-20,32,0,-21,33,0,-22,34,0,-23,35,0,-24,36,0,-25,37,0,-26,38,0,-27,39,0,-28,40,0,-29,41,0,-30,42,0,-31,43,0,-32,44,0,-33,45,0,-34,46,0,-35,47,0,-36,48,0,-37,49,0,-38,50,0,-39,51,0,-40,52,0,-41,53,0,-42,54,0,-43,55,0,-44,56,0,-45,57,0,-46,58,0,-47,59,0,-48,60,0,-49,61,0,-50,62,0,-51,63,0,-52,64,0,-53,65,0,-54,66,0,-55,67,0,-56,68,0,-57,69,0,-58,70,0,-59,71,0,-60,72,0,-61,73,0,-62,74,0,-63,75,0,-64,76,0,-65,77,0,-66,78,0,-67,79,0,-68,80,0,-69,81,0,-70,82,0,-71,83,0,-72,84,0,-73,85,0,-74,86,0,-75,87,0,-76,88,0,-77,89,0,-78,90,0,-79,91,0,-80,92,0,-81,93,0,-82,94,0,-83,95,0,-84,96,0,-85,97,0,-86,98,0,-87,99,0,-88,100,0,-89,101,0,-90,102,0,-91,103,0,-92,104,0,-93,105,0,-94,106,0,-95,107,0,-96,108,0,-97,109,0,-98,110,0,-99,111,0,-100,112,0,-101,113,0,-102,114,0,-103,115,0,-104,116,0,-105,117,0,-106,118,0,-107,119,0,-108,120,0,-109,121,0,-110,122,0,-111,123,0,-112,124,0,-113,125,0,-114,126,0,-115,127,0,-116,128,0,-117,129,0,-118,130,0,0,2,0,-1,198,0,-2,199,0,-3,200,0,-4,201,0,-5,202,0,-6,203,0,-7,204,0,-8,205,0,-9,206,0,-10,207,0,-11,208,0,-12,209,0,-13,210,0,-14,211,0,-15,212,0,-16,213,0,-17,214,0,-18,215,0,-19,216,0,-20,217,0,-21,218,0,-22,219,0,-23,220,0,-24,221,0,-25,222,0,-26,223,0,-27,224,0,-28,225,0,-29,226,0,-30,227,0,-31,228,0,-32,229,0,-33,230,0,-34,231,0,-35,232,0,-36,233,0,-37,234,0,-38,235,0,-39,236,0,-40,237,0,-41,238,0,-42,239,0,-43,240,0,-44,241,0,-45,242,0,-46,243,0,-47,244,0,-48,245,0,-49,246,0,-50,247,0,-51,248,0,-52,249,0,-53,250,0,-54,251,0,-55,252,0,-56,253,0,-57,254,0,-58,255,0,-59,256,0,-60,257,0,-61,258,0,-62,259,0,-63,260,0,-64,261,0,-65,262,0,-66,263,0,-67,264,0,-68,265,0,-69,266,0,-70,267,0,-71,268,0,-72,269,0,-73,270,0,-74,271,0,-75,272,0,-76,273,0,-77,274,0,-78,275,0,-79,276,0,-80,277,0,-81,278,0,-82,279,0,-83,280,0,-84,281,0,-85,282,0,-86,283,0,-87,284,0,-88,285,0,-89,286,0,-90,287,0,-91,288,0,-92,289,0,-93,290,0,-94,291,0,-95,292,0,-96,293,0,-97,294,0,-98,295,0,-99,296,0,-100,297,0,-101,298,0,-102,299,0,-103,300,0,-104,301,0,-105,302,0,-106,303,0,-107,304,0,-108,305,0,-109,306,0,-110,307,0,-111,308,0,-112,309,0,-113,310,0,-114,311,0,-115,312,0,-116,313,0,-117,314,0,-118,315,0,0,3,0,-1,131,0,-2,132,0,-3,133,0,-4,134,0,-5,135,0,-6,136,0,-7,137,0,-8,138,0,-9,139,0,-10,140,0,-11,141,0,-12,142,0,-13,143,0,-14,144,0,-15,145,0,-16,146,0,-17,147,0,-18,148,0,-19,149,0,-20,150,0,-21,151,0,-22,152,0,-23,153,0,-24,154,0,-25,155,0,-26,156,0,-27,157,0,-28,158,0,-29,159,0,-30,160,0,-31,161,0,-32,162,0,-33,163,0,-34,164,0,-35,165,0,-36,166,0,-37,167,0,-38,168,0,-39,169,0,-40,170,0,-41,171,0,-42,172,0,-43,173,0,-44,174,0,-45,175,0,-46,176,0,-47,177,0,-48,178,0,-49,179,0,-50,180,0,-51,181,0,-52,182,0,-53,183,0,-54,184,0,-55,185,0,-56,186,0,-57,187,0,-58,188,0,-59,189,0,-60,190,0,-61,191,0,-62,192,0,0,4,0,-1,316,0,-2,317,0,-3,318,0,-4,319,0,-5,320,0,-6,321,0,-7,322,0,-8,323,0,-9,324,0,-10,325,0,-11,326,0,-12,327,0,-13,328,0,-14,329,0,-15,330,0,-16,331,0,-17,332,0,-18,333,0,-19,334,0,-20,335,0,-21,336,0,-22,337,0,-23,338,0,-24,339,0,-25,340,0,-26,341,0,-27,342,0,-28,343,0,-29,344,0,-30,345,0,-31,346,0,-32,347,0,-33,348,0,-34,349,0,-35,350,0,-36,351,0,-37,352,0,-38,353,0,-39,354,0,-40,355,0,-41,356,0,-42,357,0,-43,358,0,-44,359,0,-45,360,0,-46,361,0,-47,362,0,-48,363,0,-49,364,0,-50,365,0,-51,366,0,-52,367,0,-53,368,0,-54,369,0,-55,370,0,-56,371,0,-57,372,0,-58,373,0,-59,374,0,-60,375,0,-61,376,0,-62,377,0,-1,10,0,0,5,0,-1,11,0,-2,12,0,-5,193,0,-6,194,0,-1,195,0,0,6,0,-1,196,0,-2,197,0,-5,378,0,-6,379,0,0,7,0,0,7,0,4,195,0,5,10,0,0,7,0,-1,9,0,0,9,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,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,0,62,0,0,63,0,0,64,0,0,65,0,0,66,0,0,67,0,0,68,0,0,69,0,0,70,0,0,71,0,0,72,0,0,73,0,0,74,0,0,75,0,0,76,0,0,77,0,0,78,0,0,79,0,0,80,0,0,81,0,0,82,0,0,83,0,0,84,0,0,85,0,0,86,0,0,87,0,0,88,0,0,89,0,0,90,0,0,91,0,0,92,0,0,93,0,0,94,0,0,95,0,0,96,0,0,97,0,0,98,0,0,99,0,0,100,0,0,101,0,0,102,0,0,103,0,0,104,0,0,105,0,0,106,0,0,107,0,0,108,0,0,109,0,0,110,0,0,111,0,0,112,0,0,113,0,0,114,0,0,115,0,0,116,0,0,117,0,0,118,0,0,119,0,0,120,0,0,121,0,0,122,0,0,123,0,0,124,0,0,125,0,0,126,0,0,127,0,0,128,0,0,129,0,0,130,0,0,131,0,0,132,0,0,133,0,0,134,0,0,135,0,0,136,0,0,137,0,0,138,0,0,139,0,0,140,0,0,141,0,0,142,0,0,143,0,0,144,0,0,145,0,0,146,0,0,147,0,0,148,0,0,149,0,0,150,0,0,151,0,0,152,0,0,153,0,0,154,0,0,155,0,0,156,0,0,157,0,0,158,0,0,159,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,0,175,0,0,176,0,0,177,0,0,178,0,0,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,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,0,237,0,0,238,0,0,239,0,0,240,0,0,241,0,0,242,0,0,243,0,0,244,0,0,245,0,0,246,0,0,247,0,0,248,0,0,249,0,0,250,0,0,251,0,0,252,0,0,253,0,0,254,0,0,255,0,0,256,0,0,257,0,0,258,0,0,259,0,0,260,0,0,261,0,0,262,0,0,263,0,0,264,0,0,265,0,0,266,0,0,267,0,0,268,0,0,269,0,0,270,0,0,271,0,0,272,0,0,273,0,0,274,0,0,275,0,0,276,0,0,277,0,0,278,0,0,279,0,0,280,0,0,281,0,0,282,0,0,283,0,0,284,0,0,285,0,0,286,0,0,287,0,0,288,0,0,289,0,0,290,0,0,291,0,0,292,0,0,293,0,0,294,0,0,295,0,0,296,0,0,297,0,0,298,0,0,299,0,0,300,0,0,301,0,0,302,0,0,303,0,0,304,0,0,305,0,0,306,0,0,307,0,0,308,0,0,309,0,0,310,0,0,311,0,0,312,0,0,313,0,0,314,0,0,315,0,0,316,0,0,317,0,0,318,0,0,319,0,0,320,0,0,321,0,0,322,0,0,323,0,0,324,0,0,325,0,0,326,0,0,327,0,0,328,0,0,329,0,0,330,0,0,331,0,0,332,0,0,333,0,0,334,0,0,335,0,0,336,0,0,337,0,0,338,0,0,339,0,0,340,0,0,341,0,0,342,0,0,343,0,0,344,0,0,345,0,0,346,0,0,347,0,0,348,0,0,349,0,0,350,0,0,351,0,0,352,0,0,353,0,0,354,0,0,355,0,0,356,0,0,357,0,0,358,0,0,359,0,0,360,0,0,361,0,0,362,0,0,363,0,0,364,0,0,365,0,0,366,0,0,367,0,0,368,0,0,369,0,0,370,0,0,371,0,0,372,0,0,373,0,0,374,0,0,375,0,0,376,0,0,377,0,0,378,0,0,379,0,6,8,1,1,5,2,1,6,3,1,5,4,1,6,5,1,8,6,1,8,7,1,8,751],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,195],[-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,-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,-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,-1,-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,-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,-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,-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,-1,-1,-1,2,7,2],[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,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,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,4]]]] \ No newline at end of file diff --git a/build/WaterControl/assets/main/import/0c/0c8cb01a1.b2179.json b/build/WaterControl/assets/main/import/0c/0c8cb01a1.b2179.json new file mode 100644 index 0000000..75f684d --- /dev/null +++ b/build/WaterControl/assets/main/import/0c/0c8cb01a1.b2179.json @@ -0,0 +1 @@ +[1,["ecpdLyjvZBwrvm+cedCcQy","5f5dyqtRNNxaFmVzYns6FZ","9bvaMerUlDyary99mJa6xp","5cO7kybDxGj4ipyMYdRYZB","d608qFRoFHwbXd0Dap056i","61cyPdEfRN047sDK9rO0W5","d8HsitJHxOYqo801xBk8ev"],["node","_parent","_spriteFrame","_textureSetter","root","phone","selfNode","Player","_N$handle","_scrollView","scene"],[["cc.Node",["_name","_objFlags","_active","_id","_prefab","_parent","_components","_contentSize","_children","_trs","_anchorPoint","_color"],-1,4,1,9,5,2,7,5,5],["cc.Sprite",["_type","_sizeMode","_enabled","node","_materials","_spriteFrame"],0,1,3,6],["cc.Label",["_string","_fontSize","_lineHeight","_N$verticalAlign","_N$horizontalAlign","_N$cacheMode","_N$overflow","_styleFlags","node","_materials"],-5,1,3],"cc.SpriteFrame",["cc.Widget",["_alignFlags","_left","alignMode","_originalHeight","_top","node"],-2,1],["cc.Mask",["_N$alphaThreshold","_type","_segments","node","_materials"],0,1,3],["cc.Node",["_name","_objFlags","_parent","_components","_prefab","_contentSize","_anchorPoint","_trs"],1,1,2,4,5,5,7],["cc.PrefabInfo",["fileId","root"],2,1],["cc.SceneAsset",["_name","asyncLoadAssets"],1],["cc.Node",["_name","_parent","_children","_components","_prefab","_color","_contentSize","_anchorPoint","_trs"],2,1,2,12,4,5,5,5,7],["cc.Canvas",["node","_designResolution"],3,1,5],["e74a999IDFOabyymZgXQIiy",["node","Player","selfNode","phone"],3,1,1,1,1],["ca0f9k0oBVDbpQC+OMNTF3m",["node"],3,1],["d5421HgLShFKIjj5f18m1mi",["startAxis","spaceX","spaceY","padding_top","padding_buttom","padding_left","padding_right","node","itemRender"],-4,1,1],["cc.Scrollbar",["_N$direction","node","_scrollView","_N$handle"],2,1,1,1],["cc.Button",["zoomScale","_N$transition","node","clickEvents"],1,1,9],["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],["cc.ScrollView",["horizontal","brake","bounceDuration","_N$horizontalScrollBar","_N$verticalScrollBar","node","_N$content"],-2,1,1]],[[7,0,1,2],[0,0,5,6,4,11,7,9,2],[1,3,4,1],[0,0,2,5,6,4,7,3],[1,1,3,4,2],[2,0,1,2,4,3,5,8,9,7],[0,0,5,8,6,4,7,9,2],[0,0,5,6,4,7,2],[0,0,5,6,4,11,7,10,9,2],[2,0,1,2,4,3,8,9,6],[2,0,1,2,7,4,3,8,9,7],[0,0,5,8,4,7,9,2],[0,0,5,6,4,7,9,2],[4,0,5,2],[5,1,2,0,3,4,4],[8,0,1,3],[0,0,3,8,6,4,11,7,9,3],[0,0,8,6,4,7,9,2],[0,0,5,8,6,4,9,2],[0,0,1,2,5,8,6,4,7,10,9,4],[0,0,5,8,4,2],[0,0,2,5,8,4,3],[0,0,1,8,4,7,10,3],[0,0,1,5,8,6,4,7,10,3],[0,0,5,6,4,9,2],[9,0,1,2,3,4,5,6,7,8,2],[6,0,1,2,3,4,5,6,7,3],[6,0,2,3,4,5,2],[10,0,1,1],[4,2,0,1,3,5,5],[4,0,1,4,5,4],[11,0,1,2,3,1],[7,1,1],[12,0,1],[1,2,0,1,3,4,5,4],[1,0,1,3,4,5,3],[1,0,3,4,2],[1,0,1,3,4,3],[13,0,1,2,3,4,5,6,7,8,8],[14,0,1,2,3,2],[5,1,0,3,4,3],[5,0,3,4,2],[15,0,1,2,3,3],[16,0,1,2,3],[17,0,1,2,3,4,5,4],[18,0,1,2,3],[19,0,1,2,3,4,5,6,6],[2,0,1,2,3,6,5,8,9,7],[2,0,1,2,3,5,8,9,6]],[[[[15,"RankScene",null],[16,"Canvas","a286bbGknJLZpRpxROV6M94",[-8,-9,-10,-11,-12,-13,-14,-15],[[28,-2,[5,750,1334]],[13,45,-3],[31,-7,-6,-5,-4]],[32,-1],[4,4294769916],[5,750,1334],[375,667,0,0,0,0,1,1,1,1]],[17,"RankListItem",[-18,-19,-20,-21,-22,-23,-24],[[33,-17]],[0,"55FH2q1HJAyK0hrjxGH/+q",-16],[5,650,94],[0,-100,0,0,0,0,1,1,1,1]],[18,"Self",1,[-26,-27,-28,-29,-30,-31],[[13,4,-25]],[0,"02TaTwJ1tM844wDACOg8Uk",1],[0,-667,0,0,0,0,1,1,1,1]],[25,"ScrollView",1,[-35,-36],[[[34,false,1,0,-32,[16],17],-33,[38,2,10,10,10,10,10,10,-34,2]],4,1,4],[0,"bdWGhni0BLgaAOrQnsfTP4",1],[4,4286151086],[5,680,1400],[0,0.5,1],[0,150,0,0,0,0,1,1,1,1]],[19,"scrollBar",512,false,4,[-42],[[39,1,-39,-38,-37],[29,0,37,350.07654921020657,237,-40],[35,1,0,-41,[14],15]],[0,"7by3ovAnJLYoQqKmlhCACY",1],[5,12,820],[0,1,0.5],[340,-410,0,0,0,0,1,1,1,1]],[6,"player",1,[-44,-45],[[2,-43,[27]]],[0,"777yycF4RPu7K18m/uyO1m",1],[5,98,106],[-254,377,0,0,0,0,1,1,1,1]],[6,"pic",2,[-47,-48],[[14,1,60,0,-46,[6]]],[0,"38W68aamJOhbnBDiSboSCF",2],[5,60,60],[-171.687,0,0,0,0,0,1,1,1,1]],[11,"rank",2,[-49,-50,-51],[0,"d03AAa5MpCZY7eWAmnGlia",2],[5,40,36],[-261.233,0,0,0,0,0,1,1,1,1]],[20,"New Node",1,[-52,-53,-54],[0,"9963O/IP5CCLrawiVnAqdg",1]],[21,"rank",false,6,[-55,-56,-57],[0,"01Wu1da3hD9qLoiu2u15Dh",1]],[6,"mask",6,[-59,-60],[[40,1,0,-58,[26]]],[0,"15yWGxXfFKHYDj+6AKZ+hO",1],[5,65,65],[-0.079,4.153,0,0,0,0,1,1,1,1]],[6,"pic",3,[-62,-63],[[14,1,60,0,-61,[31]]],[0,"47dNJgs3hCIZESImEUA8wi",1],[5,60,60],[-171.687,62,0,0,0,0,1,1,1,1]],[11,"rank",3,[-64,-65,-66],[0,"1dS3urBJ1F55mw2t/Q3F7w",1],[5,40,36],[-261.233,62,0,0,0,0,1,1,1,1]],[12,"backBtn",1,[[2,-67,[39]],[30,9,42.410000000000025,29,-68],[42,1.1,3,-69,[[43,"e74a999IDFOabyymZgXQIiy","backClick",1]]]],[0,"34+hXrhBBJUqEHHRNeqJSa",1],[5,25,40],[-320.09,618,0,0,0,0,1,1,1,0]],[22,"content",512,[2],[0,"b21uNyrqhLbqirpS1MD+7t",1],[5,680,600],[0,0.5,1]],[23,"view",512,4,[15],[[41,0,-70,[2]]],[0,"01e0xqlUVFcY0MMajauQHo",1],[5,680,700],[0,0.5,1]],[44,"New Node",false,true,[1],[0,0,0],[0,0,0,0,0,0,1,1,1,1]],[24,"Main Camera",1,[[45,7,-1,-71]],[0,"97fLKw9fpLKIc0dJLpbPlR",1],[0,0,252.87547223450972,0,0,0,1,1,1,1]],[7,"background",1,[[36,1,-72,[0]]],[0,"8dEBgqFXxELpmAzyYl1ZRR",1],[5,750,1600]],[26,"bar",512,5,[-73],[0,"d7LA6B6L9KYrPYs9FOPGKR",1],[5,10,30],[0,1,0],[-1,0,0,0,0,0,1,1,1,1]],[37,1,0,20,[1]],[46,false,0.75,0.23,null,null,4,15],[7,"bg",2,[[4,0,-74,[3]]],[0,"6eyN1+nK5HT7svNqUsa2/+",2],[5,650,94]],[7,"pic",7,[[4,0,-75,[4]]],[0,"08Vcf5jRBOhLOtnEzMUku6",2],[5,60,60]],[3,"icon",false,7,[[2,-76,[5]]],[0,"f0DfDJ4PNDbb7lvykwzyBm",2],[5,64,64]],[3,"one",false,8,[[2,-77,[7]]],[0,"07jJ4rjvBM3K8UmWuJPTSW",2],[5,66,66]],[3,"two",false,8,[[2,-78,[8]]],[0,"cf00JqB1FL4J82EdUA2X13",2],[5,66,66]],[3,"three",false,8,[[2,-79,[9]]],[0,"1beDtXl+VD86kzCArCfEPs",2],[5,66,66]],[1,"rankLab",2,[[5,"5",30,30,1,1,1,-80,[10]]],[0,"de4HHWkIhExrJq1+nHHMA6",2],[4,4282467672],[5,16.68,37.8],[-259.131,-2.054,0,0,0,0,1,1,1,1]],[8,"totalLab",2,[[5,"4",30,30,2,1,1,-81,[11]]],[0,"05c46heZhJV4sYMqYyxlB5",2],[4,4282467672],[5,16.68,37.8],[0,1,0.5],[224.356,-2.205,0,0,0,0,1,1,1,1]],[8,"nameLab",2,[[47,"测试",25,25,1,1,1,-82,[12]]],[0,"2an+mxcU5ApJz+ZlYlaw5G",2],[4,4282467672],[5,240,27.72],[0,0,0.5],[-99.704,-2.205,0,0,0,0,1,1,1,1]],[1,"label",2,[[5,"个",28,28,1,1,1,-83,[13]]],[0,"78MlwwIH1CYrPsut4N5MBU",2],[4,4282467672],[5,28,35.28],[246.176,-2.205,0,0,0,0,1,1,1,1]],[1,"New Label",9,[[9,"排名",27,27,1,1,-84,[18]]],[0,"7bzdCzsURJc4G7MwOL0Blj",1],[4,4279261059],[5,54,34.02],[-258.909,177.468,0,0,0,0,1,1,1,1]],[1,"New Label",9,[[9,"用户昵称",27,27,1,1,-85,[19]]],[0,"517a9VdPBNUK5P35X44CpK",1],[4,4279261059],[5,108,34.02],[-48.622,177.468,0,0,0,0,1,1,1,1]],[1,"New Label",9,[[9,"驱逐太阳",27,27,1,1,-86,[20]]],[0,"12KoCg1NRLpJU9aRF1iPkq",1],[4,4279261059],[5,108,34.02],[223.658,177.468,0,0,0,0,1,1,1,1]],[1,"New Label",10,[[10,"超过了",24,24,1,1,1,-87,[21]]],[0,"b0QUZ3hixHY4BCC7p7EwaX",1],[4,4279261059],[5,72,30.24],[-42.835,60.883,0,0,0,0,1,1,1,1]],[1,"New Label",10,[[10,"的人",24,24,1,1,1,-88,[22]]],[0,"d3ySguqntO5bgnP95er4PW",1],[4,4279261059],[5,48,30.24],[74.991,60.883,0,0,0,0,1,1,1,1]],[1,"number",10,[[10,"30%",29,29,1,1,1,-89,[23]]],[0,"d6vzzOaCBH2JMQzL1q75Qk",1],[4,4281545727],[5,58.04,36.54],[21.936,61.459,0,0,0,0,1,1,1,1]],[3,"phone",false,11,[[4,0,-90,[24]]],[0,"a9FdZ8QGNM77omYBmm7jeP",1],[5,65,65]],[3,"icon",false,11,[[4,0,-91,[25]]],[0,"082qUxbaNDrIu5wftUXuxE",1],[5,66,66]],[12,"bg",1,[[2,-92,[28]]],[0,"adJ7tHdodDiYvg71t3toeY",1],[5,750,118],[0,-609,0,0,0,0,1,1,1,1]],[27,"pic",12,[-93],[0,"f513pLQ/9KMbKpOTC4nuyz",1],[5,60,60]],[4,0,42,[29]],[7,"icon",12,[[4,0,-94,[30]]],[0,"c8vhbkrhtGw72GydJ4enTg",1],[5,60,60]],[1,"rankLab",3,[[5,"5",25,25,1,1,1,-95,[32]]],[0,"25WXxoGV5I/KgHBE8D1rsK",1],[4,4293458428],[5,13.9,31.5],[-259.131,59.946,0,0,0,0,1,1,1,1]],[3,"one",false,13,[[2,-96,[33]]],[0,"09Kg3hfzBBu6HptPpAFSW9",1],[5,66,66]],[3,"two",false,13,[[2,-97,[34]]],[0,"0dKJ2TWjFCOJ/iqhRFSLjk",1],[5,66,66]],[3,"three",false,13,[[2,-98,[35]]],[0,"1aJ6eRDI5HH7V7ePpX8123",1],[5,66,66]],[8,"totalLab",3,[[5,"4",30,30,2,1,1,-99,[36]]],[0,"31xa76G7lPaao3sNmpqjSI",1],[4,4293458428],[5,16.68,37.8],[0,1,0.5],[224.356,59.795,0,0,0,0,1,1,1,1]],[8,"nameLab",3,[[48,"我",25,25,1,1,-100,[37]]],[0,"42BvS5Yl5GfY/GLeE5YQOh",1],[4,4293458428],[5,25,31.5],[0,0,0.5],[-99.704,59.795,0,0,0,0,1,1,1,1]],[1,"label",3,[[5,"个",28,28,1,1,1,-101,[38]]],[0,"7bFLMTAaRJZbZdCmLU7NlT",1],[4,4293458428],[5,28,35.28],[246.176,59.795,0,0,0,0,1,1,1,1]]],0,[0,4,1,0,0,1,0,0,1,0,5,43,0,6,3,0,7,6,0,0,1,0,-1,18,0,-2,19,0,-3,4,0,-4,9,0,-5,6,0,-6,41,0,-7,3,0,-8,14,0,4,2,0,0,2,0,-1,23,0,-2,7,0,-3,8,0,-4,29,0,-5,30,0,-6,31,0,-7,32,0,0,3,0,-1,12,0,-2,45,0,-3,13,0,-4,49,0,-5,50,0,-6,51,0,0,4,0,-2,22,0,0,4,0,-1,5,0,-2,16,0,8,21,0,9,22,0,0,5,0,0,5,0,0,5,0,-1,20,0,0,6,0,-1,10,0,-2,11,0,0,7,0,-1,24,0,-2,25,0,-1,26,0,-2,27,0,-3,28,0,-1,33,0,-2,34,0,-3,35,0,-1,36,0,-2,37,0,-3,38,0,0,11,0,-1,39,0,-2,40,0,0,12,0,-1,42,0,-2,44,0,-1,46,0,-2,47,0,-3,48,0,0,14,0,0,14,0,0,14,0,0,16,0,0,18,0,0,19,0,-1,21,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,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,-1,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,10,17,1,1,17,2,1,15,15,1,16,101],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21],[-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,-1,-1,-1,2],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3]],[[{"name":"default_scrollbar_vertical","rect":[0,0,15,30],"offset":[0,0],"originalSize":[15,30],"capInsets":[4,10,4,10]}],[3],0,[0],[3],[4]],[[{"name":"default_scrollbar_vertical_bg","rect":[0,0,15,30],"offset":[0,0],"originalSize":[15,30],"capInsets":[4,10,4,10]}],[3],0,[0],[3],[5]],[[{"name":"default_panel","rect":[0,0,20,20],"offset":[0,0],"originalSize":[20,20],"capInsets":[6,6,6,6]}],[3],0,[0],[3],[6]]]] \ No newline at end of file diff --git a/build/WaterControl/assets/main/import/4b/4b9c5a7e-c645-48a4-9aca-5df381ce4ef5.996a3.json b/build/WaterControl/assets/main/import/4b/4b9c5a7e-c645-48a4-9aca-5df381ce4ef5.996a3.json new file mode 100644 index 0000000..707a828 --- /dev/null +++ b/build/WaterControl/assets/main/import/4b/4b9c5a7e-c645-48a4-9aca-5df381ce4ef5.996a3.json @@ -0,0 +1 @@ +[1,["ecpdLyjvZBwrvm+cedCcQy"],["node","_N$target","five","four","three","two","one","selfNode","time","count","scene","_parent"],[["cc.Node",["_name","_id","_opacity","_active","_contentSize","_parent","_components","_trs","_children","_color"],-1,5,1,9,7,2,5],["cc.Label",["_string","_fontSize","_lineHeight","_N$horizontalAlign","_N$verticalAlign","_N$overflow","_styleFlags","node","_materials"],-4,1,3],["cc.Node",["_name","_parent","_components","_contentSize","_trs","_color"],2,1,2,5,7,5],["cc.Sprite",["_sizeMode","node","_materials"],2,1,3],["cc.SceneAsset",["_name","asyncLoadAssets"],1],["cc.Scene",["_name","_active","autoReleaseAssets","_children","_anchorPoint","_trs"],0,2,5,7],["cc.Camera",["_clearFlags","_depth","node"],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.Canvas",["_fitWidth","_fitHeight","node","_designResolution"],1,1,5],["cc.Widget",["_alignFlags","node"],2,1],["805c6nf399HWZeuWnNB9CTH",["node","count","time","selfNode","one","two","three","four","five"],3,1,1,1,1,1,1,1,1,1]],[[0,0,5,6,4,7,2],[3,0,1,2,2],[1,0,1,2,3,4,7,8,6],[0,0,5,6,9,4,7,2],[0,0,5,6,4,2],[0,0,5,8,7,2],[0,0,5,8,6,4,7,2],[3,1,2,1],[9,0,1,2,3,4,4],[0,0,3,5,6,4,3],[7,0,1,2,3,4,3],[8,0,1,2,3],[1,0,1,2,7,8,4],[4,0,1,3],[5,0,1,2,3,4,5,4],[0,0,1,8,6,4,7,3],[0,0,2,5,8,4,7,3],[2,0,1,2,3,4,2],[2,0,1,2,5,3,4,2],[6,0,1,2,3],[1,0,1,2,6,3,4,5,7,8,8],[1,0,3,4,7,8,4],[1,0,1,2,3,4,5,7,8,7],[10,0,1,2,3,3],[11,0,1,2],[12,0,1,2,3,4,5,6,7,8,1]],[[13,"OverScene",null],[15,"Canvas","a5esZu+45LA5mBpvttspPD",[-12,-13,-14,-15,-16,-17,-18,-19,-20,-21,-22,-23],[[23,true,false,-1,[5,750,1334]],[24,45,-2],[25,-11,-10,-9,-8,-7,-6,-5,-4,-3]],[5,750,1334],[375,667,0,0,0,0,1,1,1,1]],[5,"self",1,[-24,-25,-26,-27,-28,-29],[-284.416,-149.727,0,0,0,0,1,1,1,1]],[5,"four",1,[-30,-31,-32,-33,-34],[210,-149.727,0,0,0,0,1,1,1,1]],[5,"five",1,[-35,-36,-37,-38,-39],[320,-149.727,0,0,0,0,1,1,1,1]],[5,"one",1,[-40,-41,-42,-43],[-120,-149.727,0,0,0,0,1,1,1,1]],[5,"two",1,[-44,-45,-46,-47],[-10,-149.727,0,0,0,0,1,1,1,1]],[5,"three",1,[-48,-49,-50,-51],[100,-149.727,0,0,0,0,1,1,1,1]],[0,"again",1,[[7,-52,[0]],[10,1.1,3,-54,[[11,"805c6nf399HWZeuWnNB9CTH","again",1]],-53]],[5,277,76],[170,-402.162,0,0,0,0,1,1,1,0]],[0,"back",1,[[7,-55,[1]],[10,1.1,3,-57,[[11,"805c6nf399HWZeuWnNB9CTH","openRank",1]],-56]],[5,278,76],[-170,-402.162,0,0,0,0,1,1,1,0]],[16,"rank",0,2,[-58,-59,-60],[5,40,36],[-261.233,62,0,0,0,0,1,1,1,1]],[6,"pic",2,[-62],[[8,1,60,0,-61,[6]]],[5,64,64],[-15.492,0,0,0,0,0,1,1,1,1]],[6,"pic",5,[-64],[[8,1,60,0,-63,[15]]],[5,64,64],[-15.492,0,0,0,0,0,1,1,1,1]],[6,"pic",6,[-66],[[8,1,60,0,-65,[20]]],[5,64,64],[-15.492,0,0,0,0,0,1,1,1,1]],[6,"pic",7,[-68],[[8,1,60,0,-67,[25]]],[5,64,64],[-15.492,0,0,0,0,0,1,1,1,1]],[6,"pic",3,[-70],[[8,1,60,0,-69,[30]]],[5,64,64],[-15.492,0,0,0,0,0,1,1,1,1]],[6,"pic",4,[-72],[[8,1,60,0,-71,[36]]],[5,64,64],[-15.492,0,0,0,0,0,1,1,1,1]],[14,"New Node",false,true,[1],[0,0,0],[0,0,0,0,0,0,1,1,1,1]],[4,"Main Camera",1,[[19,7,-1,-73]],[5,960,640]],[17,"count",1,[-74],[5,83.42,94.5],[0,215.733,0,0,0,0,1,1,1,1]],[20,"50",75,75,1,1,1,2,19,[2]],[18,"time",1,[-75],[4,4282797175],[5,75.61,50.4],[0,7.86,0,0,0,0,1,1,1,1]],[21,"0.0s",1,1,21,[3]],[0,"New Node",1,[[7,-76,[4]]],[5,6,155],[-227.685,-154.877,0,0,0,0,1,1,1,1]],[4,"icon",11,[[1,0,-77,[5]]],[5,64,64]],[0,"rankBg",2,[[1,0,-78,[7]]],[5,48,48],[-50,22.554,0,0,0,0,1,1,1,1]],[0,"totalLab",2,[[2,"3个",25,25,1,1,-79,[8]]],[5,38.9,31.5],[-15.492,57.175,0,0,0,0,1,1,1,1]],[3,"nameLab",2,[[2,"我",21,21,1,1,-80,[9]]],[4,4289713906],[5,21,26.46],[-15.492,-59.683,0,0,0,0,1,1,1,1]],[3,"rankLab",2,[[22,"99+",20,20,1,1,2,-81,[10]]],[4,4278190080],[5,25,25.2],[-49.908,22.457,0,0,0,0,1,1,1,1]],[9,"one",false,10,[[7,-82,[11]]],[5,66,66]],[9,"two",false,10,[[7,-83,[12]]],[5,66,66]],[9,"three",false,10,[[7,-84,[13]]],[5,66,66]],[4,"icon",12,[[1,0,-85,[14]]],[5,64,64]],[0,"rankBg",5,[[1,0,-86,[16]]],[5,48,48],[-50,22.554,0,0,0,0,1,1,1,1]],[0,"total",5,[[2,"3个",25,25,1,1,-87,[17]]],[5,38.9,31.5],[-15.492,57.175,0,0,0,0,1,1,1,1]],[3,"name",5,[[2,"我有五个...",21,21,1,1,-88,[18]]],[4,4289713906],[5,101.5,26.46],[-15.492,-59.683,0,0,0,0,1,1,1,1]],[4,"icon",13,[[1,0,-89,[19]]],[5,64,64]],[0,"rankBg",6,[[1,0,-90,[21]]],[5,48,48],[-50,22.554,0,0,0,0,1,1,1,1]],[0,"total",6,[[2,"3个",25,25,1,1,-91,[22]]],[5,38.9,31.5],[-15.492,57.175,0,0,0,0,1,1,1,1]],[3,"name",6,[[2,"我有五个...",21,21,1,1,-92,[23]]],[4,4289713906],[5,101.5,26.46],[-15.492,-59.683,0,0,0,0,1,1,1,1]],[4,"icon",14,[[1,0,-93,[24]]],[5,64,64]],[0,"rankBg",7,[[1,0,-94,[26]]],[5,48,48],[-50,22.554,0,0,0,0,1,1,1,1]],[0,"total",7,[[2,"3个",25,25,1,1,-95,[27]]],[5,38.9,31.5],[-15.492,57.175,0,0,0,0,1,1,1,1]],[3,"name",7,[[2,"我有五个...",21,21,1,1,-96,[28]]],[4,4289713906],[5,101.5,26.46],[-15.492,-59.683,0,0,0,0,1,1,1,1]],[4,"icon",15,[[1,0,-97,[29]]],[5,64,64]],[0,"rankBg",3,[[1,0,-98,[31]]],[5,48,48],[-50,22.554,0,0,0,0,1,1,1,1]],[0,"total",3,[[2,"3个",25,25,1,1,-99,[32]]],[5,38.9,31.5],[-15.492,57.175,0,0,0,0,1,1,1,1]],[3,"name",3,[[2,"我有五个...",21,21,1,1,-100,[33]]],[4,4289713906],[5,101.5,26.46],[-15.492,-59.683,0,0,0,0,1,1,1,1]],[3,"rank",3,[[12,"4",20,20,-101,[34]]],[4,4278190080],[5,11.12,25.2],[-49.996,19.305,0,0,0,0,1,1,1,1]],[4,"icon",16,[[1,0,-102,[35]]],[5,64,64]],[0,"rankBg",4,[[1,0,-103,[37]]],[5,48,48],[-50,22.554,0,0,0,0,1,1,1,1]],[0,"total",4,[[2,"3个",25,25,1,1,-104,[38]]],[5,38.9,31.5],[-15.492,57.175,0,0,0,0,1,1,1,1]],[3,"name",4,[[2,"我有五个...",21,21,1,1,-105,[39]]],[4,4289713906],[5,101.5,26.46],[-15.492,-59.683,0,0,0,0,1,1,1,1]],[3,"rank",4,[[12,"5",20,20,-106,[40]]],[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,2,4,0,3,3,0,4,7,0,5,6,0,6,5,0,7,2,0,8,22,0,9,20,0,0,1,0,-1,18,0,-2,8,0,-3,9,0,-4,19,0,-5,21,0,-6,23,0,-7,2,0,-8,5,0,-9,6,0,-10,7,0,-11,3,0,-12,4,0,-1,11,0,-2,25,0,-3,26,0,-4,27,0,-5,28,0,-6,10,0,-1,15,0,-2,45,0,-3,46,0,-4,47,0,-5,48,0,-1,16,0,-2,50,0,-3,51,0,-4,52,0,-5,53,0,-1,12,0,-2,33,0,-3,34,0,-4,35,0,-1,13,0,-2,37,0,-3,38,0,-4,39,0,-1,14,0,-2,41,0,-3,42,0,-4,43,0,0,8,0,1,8,0,0,8,0,0,9,0,1,9,0,0,9,0,-1,29,0,-2,30,0,-3,31,0,0,11,0,-1,24,0,0,12,0,-1,32,0,0,13,0,-1,36,0,0,14,0,-1,40,0,0,15,0,-1,44,0,0,16,0,-1,49,0,0,18,0,-1,20,0,-1,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,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,10,17,1,11,17,106],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]] \ No newline at end of file diff --git a/build/WaterControl/assets/main/index.3d892.js b/build/WaterControl/assets/main/index.3d892.js new file mode 100644 index 0000000..c65b9eb --- /dev/null +++ b/build/WaterControl/assets/main/index.3d892.js @@ -0,0 +1 @@ +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 l=i[a]={exports:{}};e[a][0].call(l.exports,function(t){return o(e[a][1][t]||t)},l,l.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.baishao_audio=null,e.cha_audio=null,e.chixiaodou_audio=null,e.danggui_audio=null,e.danshen_audio=null,e.dazao_audio=null,e.gancao_audio=null,e.ganjiang_audio=null,e.gouqi_audio=null,e.jingjie_audio=null,e.jinju_audio=null,e.lizhi_audio=null,e.lizi_audio=null,e.longyan_audio=null,e.moli_audio=null,e.muchai_audio=null,e.mudan_audio=null,e.mulan_audio=null,e.pugongying_audio=null,e.putao_audio=null,e.renshen_audio=null,e.taozi_audio=null,e.zhuye_audio=null,e.err=null,e.yes=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);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,"baishao_audio",void 0),r([c(cc.AudioClip)],e.prototype,"cha_audio",void 0),r([c(cc.AudioClip)],e.prototype,"chixiaodou_audio",void 0),r([c(cc.AudioClip)],e.prototype,"danggui_audio",void 0),r([c(cc.AudioClip)],e.prototype,"danshen_audio",void 0),r([c(cc.AudioClip)],e.prototype,"dazao_audio",void 0),r([c(cc.AudioClip)],e.prototype,"gancao_audio",void 0),r([c(cc.AudioClip)],e.prototype,"ganjiang_audio",void 0),r([c(cc.AudioClip)],e.prototype,"gouqi_audio",void 0),r([c(cc.AudioClip)],e.prototype,"jingjie_audio",void 0),r([c(cc.AudioClip)],e.prototype,"jinju_audio",void 0),r([c(cc.AudioClip)],e.prototype,"lizhi_audio",void 0),r([c(cc.AudioClip)],e.prototype,"lizi_audio",void 0),r([c(cc.AudioClip)],e.prototype,"longyan_audio",void 0),r([c(cc.AudioClip)],e.prototype,"moli_audio",void 0),r([c(cc.AudioClip)],e.prototype,"muchai_audio",void 0),r([c(cc.AudioClip)],e.prototype,"mudan_audio",void 0),r([c(cc.AudioClip)],e.prototype,"mulan_audio",void 0),r([c(cc.AudioClip)],e.prototype,"pugongying_audio",void 0),r([c(cc.AudioClip)],e.prototype,"putao_audio",void 0),r([c(cc.AudioClip)],e.prototype,"renshen_audio",void 0),r([c(cc.AudioClip)],e.prototype,"taozi_audio",void 0),r([c(cc.AudioClip)],e.prototype,"zhuye_audio",void 0),r([c(cc.AudioClip)],e.prototype,"err",void 0),r([c(cc.AudioClip)],e.prototype,"yes",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)(n=this.node.getChildByName("sp")).getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.start,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,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}},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,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;if(console.log("\u606f\u58e4",t,i,this.block_Type),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.set_Xi_Soil(t,!0),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 o=this.node.getChildByName("Xi_Soil");this.path_Type=t,o.active=!0,o.opacity=0,cc.tween(o).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.runRoad=function(t){if("err"!=this.path_Type){if(1==this.node.getChildByName("vertical2").active&&1==this.node.getChildByName("horizontal2").active)return alert("\u6cb3\u9053\u5df2\u7ecf\u4ea4\u53c9\uff0c\u4e0d\u80fd\u518d\u901a\u8fc7"),void cc.director.loadScene("GameScene");if(1==this.node.getChildByName("turn2").active&&this.block_Type!=cc.Enum(a).Xi_Soil)return alert("\u6cb3\u9053\u8fc7\u5f2f\u5904\uff0c\u4e0d\u80fd\u518d\u4ea4\u53c9\u6cb3\u9053"),void cc.director.loadScene("GameScene");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 u=e.getChildByName("wave").getChildByName("water");u.opacity=0,u.runAction(cc.sequence(cc.rotateTo(7.2,-1080),cc.delayTime(0)).repeatForever()),setTimeout(function(){u.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)e=this.node.getChildByName("Reinforce"),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 d=t.last,f="up";this.pos.x-d.x==1?f="right":this.pos.x-d.x==-1?f="left":this.pos.x-d.x==-1&&(f="down"),this.set_Xi_Soil(f,!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 alert("\u6cb3\u9053\u5df2\u7ecf\u4ea4\u53c9\uff0c\u4e0d\u80fd\u518d\u901a\u8fc7"),void cc.director.loadScene("GameScene");if(1==this.node.getChildByName("turn").active&&this.block_Type!=cc.Enum(a).Xi_Soil)return alert("\u6cb3\u9053\u8fc7\u5f2f\u5904\uff0c\u4e0d\u80fd\u518d\u4ea4\u53c9\u6cb3\u9053"),void cc.director.loadScene("GameScene");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"),u=e.getChildByName("wave").getChildByName("water2"),d=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()),u.runAction(cc.sequence(cc.moveTo(.6,cc.v2(u.x,120)),cc.delayTime(l),cc.callFunc(function(){u.y=-120})).repeatForever()),d.runAction(cc.sequence(cc.moveTo(.6,cc.v2(d.x,120)),cc.delayTime(l),cc.callFunc(function(){d.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 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)}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))}"End"==this.path_Type?(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(){alert("\u6cbb\u6c34\u6210\u529f"),cc.fx.GameConfig.GM_INFO.level<7&&(cc.fx.GameConfig.GM_INFO.level+=1),cc.director.loadScene("GameScene")}).start():((e=this.node.getChildByName("End")).active=!0,e.opacity=0,cc.tween(e).to(.5,{opacity:255}).call(function(){alert("\u6cbb\u6c34\u5931\u8d25"),cc.director.loadScene("GameScene")}).start())):(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([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},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){for(var t=0;t0){var t=this.tipArray[this.tipArray.length-1];t.active=!1,t.removeFromParent(this.Map),t=null,this.tipArray.pop(),this.controlArray.pop()}},e.prototype.btn_Click=function(t,e){if(this.canTouch){var i=this.tip;"reinforce"!=e&&"soil"!=e||(i=this[e]);var n=cc.instantiate(i);"up"==e&&(n.angle=180),"left"==e&&(n.angle=-90),"right"==e&&(n.angle=90),n.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(n),this.tipArray.push(n),this.controlArray.push(e),cc.fx.Notifications.emit(cc.fx.Message.control,e)}},e.prototype.start_Click=function(){this.canTouch&&(this.canTouch=!1,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"},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=cc._decorator,r=o.ccclass,a=(o.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(){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}]},t.GM_INFO_init=function(){this.GM_INFO={mean_Time:0,total:0,currSeed:2e5,gameId:"100010",userId:200139,guide:!0,url:"https://api.sparkus.cn",success:!1,matchId:null,custom:0,level:0,stepTimeList:0,successList:[],gameTime:5,igniteCount: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,choice:0,rightChoice:0,item:"",roundType:0,stepTime:0,levelConfig:0,ignite:!1,igniteCount: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:4},{id:"1002",map:[[1,0,0,0],[0,0,0,4],[0,0,0,0],[0,0,0,0]],min_steps:4},{id:"1003",map:[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,4]],min_steps:6},{id:"1004",map:[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,4,0,0]],min_steps:4},{id:"1005",map:[[1,0,0,0],[0,0,0,0],[0,0,0,4],[0,0,0,0]],min_steps:5},{id:"1006",map:[[4,0,0,0],[0,0,0,0],[0,0,0,0],[0,1,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:5},{id:"1008",map:[[0,0,0,4],[0,0,0,0],[0,0,0,0],[1,0,0,0]],min_steps:6}],[{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:8},{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:8},{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:7},{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,3,4]],min_steps:8},{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:7},{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:8},{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:7}],[{id:"3001",map:[[0,0,2,0,2,4],[0,2,0,0,0,0],[0,0,2,0,0,0],[1,2,2,0,0,0],[0,0,0,0,2,0],[0,2,2,0,0,2]],min_steps:4},{id:"3002",map:[[0,2,0,0,2,0],[0,0,0,0,0,0],[0,2,0,0,2,1],[0,2,0,0,0,0],[0,0,0,0,0,2],[2,0,2,4,2,2]],min_steps:4}],[{id:"4001",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:"4002",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:"4003",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:"4004",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:"4005",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:"4006",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:"4007",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:"4008",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:"4009",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:"4010",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:"5001",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:"5002",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:"5003",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:"5004",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:"5005",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:"5006",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:"5007",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:"5008",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:"5009",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:"5010",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:"5011",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:"5012",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:"5013",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:"5014",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:"5015",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:"5016",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:"5017",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:"5018",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:"6001",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:"6002",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:"6003",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:"6004",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:"6005",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:"6006",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:"6007",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:"6008",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:"6009",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:"6010",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:"6011",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:"6012",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:"6013",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:"6014",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:"6015",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:"6016",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:"6017",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:"6018",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:"6019",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:"6020",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:"7001",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:"7002",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:"7003",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:"7004",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:"7005",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:"7006",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:"7007",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:"7008",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:"7009",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:"7010",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:"7011",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:"7012",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:"7013",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:"7014",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:"7015",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:"7016",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:"7017",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:"7018",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:"7019",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:"7020",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:"7021",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:"8001",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:"8002",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:"8003",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:"8004",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:"8005",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:"8006",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:"8007",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:"8008",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:"8009",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:"8010",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:"8011",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:"8012",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:"8013",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:"8014",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:"8015",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:"8016",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:"8017",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:"8018",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:"8019",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:"8020",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:"8021",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:"8022",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:"8023",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:"8024",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:"8025",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:"8026",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:"8027",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:"8028",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:"8029",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:"8030",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:"8031",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:"8032",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:"8033",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:"8034",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:"8035",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:"8036",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:"8037",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:"8038",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:"8039",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:"8040",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:"8041",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}]]},t.Authentication=function(){cc.fx.GameTool.Authentication()},t._instance=null,e=n([r("GameConfig")],t)}());i.GameConfig=a,cc._RF.pop()},{}],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}return o(e,t),e.prototype.onLoad=function(){},e.prototype.start=function(){this.fit(),this.init()},e.prototype.init=function(){this.initMap(),this.countTime=cc.fx.GameConfig.TIME_INFO.totalTime,this.waterTime=cc.fx.GameConfig.TIME_INFO.waterTime[cc.fx.GameConfig.GM_INFO.level];var t=this.node.getChildByName("Top").getChildByName("head"),e=this.node.getChildByName("Top").getChildByName("progress").getComponent(cc.Sprite);t.runAction(cc.moveTo(this.waterTime,cc.v2(310,t.y))),this.waterTween=cc.tween(e).to(this.waterTime,{fillRange:1}).start(),this.schedule(this.updateWaterTime,1),this.schedule(this.updateCountDownTime,1)},e.prototype.initMap=function(){var t;this.block_Array=[],this.path_Array=[],this.water_Array=[],this.map_Array=[],this.plan_over=!1,this.map_Hight=0,this.map_Width=0,t=Math.floor(Math.random()*cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level].length);var e=cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][t].map;this.node.getChildByName("Top").getChildByName("id").getComponent(cc.Label).string=cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][t].id,this.map_Array=e[0].map(function(t,i){return e.map(function(t){return t[i]})}),this.map_Width=this.map_Array.length,this.map_Hight=this.map_Array[0].length,this.Map.x=48*(6-this.map_Array.length),this.Map.y=48*(this.map_Array[0].length-6.5);for(var i=0;i0&&(0==this.path_Array[t-1].z?(console.log("1\u6b63\u5e38\u653e\u5165",this.path_Array[t-1].x,this.path_Array[t-1].y,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)),console.log("\u6700\u540e\u653e\u5165",this.path_Array[t].x,this.path_Array[t].y))):(console.log("2\u63d2\u5165",this.path_Array[t].x,this.path_Array[t].y,this.path_Array[t].z),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",setTimeout(function(){if(!e.plan_over){console.log("\u51c6\u5907\u51fa\u6c34"),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.stop(),i.fillRange=1,e.runWater(0)}},500)):6==this.path_Array[t].z&&t+10&&t=this.map_Width||i<0||i>=this.map_Hight)r=!1,console.log("\u8d85\u8fc7\u8fb9\u754c\uff0c\u6e38\u620f\u7ed3\u675f"),alert("\u8d85\u8fc7\u8fb9\u754c\uff0c\u6e38\u620f\u7ed3\u675f");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,console.log("\u4fee\u7b51\u5c71\u5cf0\uff0c\u6e38\u620f\u7ed3\u675f"),alert("\u4fee\u7b51\u5c71\u5cf0\uff0c\u6e38\u620f\u7ed3\u675f")):2==s.block_Type&&"Reinforce"!=n&&(r=!1,console.log("\u4fee\u7b51\u672a\u52a0\u56fa\u6e7f\u5730,\u6e38\u620f\u7ed3\u675f"),alert("\u4fee\u7b51\u672a\u52a0\u56fa\u6e7f\u5730,\u6e38\u620f\u7ed3\u675f"))}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&&t=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){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&&(console.log("\u7279\u522b\u63d2\u5165:",this.path_Array[e].x,this.path_Array[e].y),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?(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&&(console.log("\u7279\u522b\u63d2\u5165:",this.path_Array[e].x,this.path_Array[e].y),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?(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&&(console.log("\u7279\u522b\u63d2\u5165:",this.path_Array[e].x,this.path_Array[e].y),this.changeWater(h))):(l=null,a==i&&(p=a-r+1,this.changePath(e,p,!0,n),l=e),console.log("\u60f3\u4e0a\u606f\u58e4\u63d2\u5165:",this.path_Array[e].x,a),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?(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&&(console.log("\u7279\u522b\u63d2\u5165:",this.path_Array[e].x,this.path_Array[e].y),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)),console.log("1\u7279\u6b8a\u653e\u5165:",this.path_Array[t+1].x,this.path_Array[t+1].y+r);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)),console.log("2\u7279\u6b8a\u653e\u5165:",this.path_Array[t+1].x,this.path_Array[t+1].y-r);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)),console.log("3\u7279\u6b8a\u653e\u5165:",this.path_Array[t+1].x+a,this.path_Array[t+1].y);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)),console.log("4\u7279\u6b8a\u653e\u5165:",this.path_Array[t+1].x-a,this.path_Array[t+1].y)},e.prototype.changeMap=function(){},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.reStart=function(){},e.prototype.getTime=function(){return(new Date).getTime()},e.prototype.passLevel=function(){},e.prototype.loseLevel=function(){},e.prototype.startGame=function(t){this.setMap(t)},e.prototype.updateWaterTime=function(){var t=this;this.waterTime>0&&(this.waterTime-=1,this.Countdown.string=cc.fx.GameTool.getTimeMargin(this.waterTime),this.waterTime<=0&&(this.unschedule(this.updateWaterTime),this.plan_over||(this.plan_over=!0,setTimeout(function(){t.runWater(0)},500))))},e.prototype.updateCountDownTime=function(){if(this.countTime>0){if(this.countTime-=1,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.unschedule(this.updateCountDownTime),this.gameOver(0))}},e.prototype.setData=function(){cc.fx.GameTool.setGameData()},e.prototype.gameOver=function(t){cc.fx.GameTool.setRank(t),this.node.getChildByName("GameOver").active=!0,this.node.getChildByName("GameOver").opacity=0,cc.tween(this.node.getChildByName("GameOver")).to(.4,{opacity:255}).delay(2).to(.4,{opacity:50}).call(function(){cc.director.loadScene("OverScene")}).start()},e.prototype.clickSun=function(){},e.prototype.addEnd=function(){},e.prototype.nextWater=function(){},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.changeMap,this.changeMap,this),cc.fx.Notifications.on(cc.fx.Message.addEnd,this.addEnd,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.changeMap,this.changeMap),cc.fx.Notifications.off(cc.fx.Message.addEnd,this.addEnd)},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([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.total+"",cc.fx.GameConfig.GM_INFO.mean_Time>10&&(cc.fx.GameConfig.GM_INFO.mean_Time=(parseInt(10*Math.random()+"")+5)/10),this.time.string=cc.fx.GameConfig.GM_INFO.mean_Time+"s",this.init()},e.prototype.init=function(){this.listData=[],this.selfData=null,this.one.active=!1,this.two.active=!1,this.three.active=!1,this.four.active=!1,this.five.active=!1,this.getRank()},e.prototype.openRank=function(){cc.director.loadScene("RankScene")},e.prototype.again=function(){cc.director.loadScene("GameScene")},e.prototype.getRank=function(){var t=this;cc.fx.GameTool.getRank({length:5},function(e){return t.getRankData(e)})},e.prototype.getRankData=function(t){if(t){cc.fx.GameTool.getRankData(t,this,4),cc.fx.GameTool.setPic(this.selfNode.getChildByName("pic").getChildByName("icon"),this.selfData.pic);for(var e=0;e<=4;e++)this.setRank(e,this.listData[e])}},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,cc.fx.GameTool.subName(e.nickName,4),i.getChildByName("name").getComponent(cc.Label).string=e.nickName,i.getChildByName("total").getComponent(cc.Label).string=e.totalSunCount,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:"),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,totleTimes:t.totleTimes,accuracy:t.accuracy,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(t){console.error("Error fetching X-Info:",t)})},100),cc.assetManager.loadRemote(i,{ext:".jpg"},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].accuracy,time:e.listData[r].totleTimes,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+");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.accuracy+"%";var a=cc.fx.GameTool.getTimeShenNong(e.selfData.totleTimes);switch(e.selfNode.getChildByName("timeLab").getComponent(cc.Label).string=a+"",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+"%";var t=cc.fx.GameTool.getTimeShenNong(this.data.time);this.node.getChildByName("timeLab").getComponent(cc.Label).string=t+"",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(t){console.error("Error fetching X-Info:",t)}),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 u=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(){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()},{}],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(210,453,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(t){console.error("Error fetching X-Info:",t)});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,u=0,d=o.length;u>>0];if(!E)continue;var D=E.tileset,G="img"+A.id;C[G]=!0;var L=this.node.getChildByName(G),j=A.width||E.width,z=A.height||E.height,H=D.tileOffset.x,V=D.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=G,L.parent=this.node,L.opacity=this._opacity,L.setSiblingIndex(T),L._tiledMap=o;var X=L.getComponent(n);X||(X=L.addComponent(n));var W=X.spriteFrame;W||(W=new cc.SpriteFrame),(P&p)>>>0?W.setFlipX(!0):W.setFlipX(!1),(P&u)>>>0?W.setFlipY(!0):W.setFlipY(!1);var U=E.tileset.sourceImage;W.setTexture(U,cc.rect(E)),X.spriteFrame=W,X.setVertsDirty(),L.width=j,L.height=z,x.has(U)||(x.set(U,S.length),S.push(U));var Y=x.get(U);X.setTextureIdx(Y+1)}}this._objects=w;for(var K=this.node.children,q=/^(?:img|text)\d+$/,Z=0,J=K.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=w.length;b>>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 u=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],u=t[r+1],d=t[r+2],f=t[r+3],m=t[r+4],g=t[r+5],_=t[r+6],y=t[r+7],v=t[r+8],w=t[r+9],C=t[r+10],x=t[r+11],S=t[r+12],T=t[r+13],b=t[r+14],A=t[r+15],k=h[0],B=h[1],M=h[2],N=h[3];k=e(k,B,M,N,l,7,p[0]),N=e(N,k,B,M,u,12,p[1]),M=e(M,N,k,B,d,17,p[2]),B=e(B,M,N,k,f,22,p[3]),k=e(k,B,M,N,m,7,p[4]),N=e(N,k,B,M,g,12,p[5]),M=e(M,N,k,B,_,17,p[6]),B=e(B,M,N,k,y,22,p[7]),k=e(k,B,M,N,v,7,p[8]),N=e(N,k,B,M,w,12,p[9]),M=e(M,N,k,B,C,17,p[10]),B=e(B,M,N,k,x,22,p[11]),k=e(k,B,M,N,S,7,p[12]),N=e(N,k,B,M,T,12,p[13]),M=e(M,N,k,B,b,17,p[14]),k=i(k,B=e(B,M,N,k,A,22,p[15]),M,N,u,5,p[16]),N=i(N,k,B,M,_,9,p[17]),M=i(M,N,k,B,x,14,p[18]),B=i(B,M,N,k,l,20,p[19]),k=i(k,B,M,N,g,5,p[20]),N=i(N,k,B,M,C,9,p[21]),M=i(M,N,k,B,A,14,p[22]),B=i(B,M,N,k,m,20,p[23]),k=i(k,B,M,N,w,5,p[24]),N=i(N,k,B,M,b,9,p[25]),M=i(M,N,k,B,f,14,p[26]),B=i(B,M,N,k,v,20,p[27]),k=i(k,B,M,N,T,5,p[28]),N=i(N,k,B,M,d,9,p[29]),M=i(M,N,k,B,y,14,p[30]),k=n(k,B=i(B,M,N,k,S,20,p[31]),M,N,g,4,p[32]),N=n(N,k,B,M,v,11,p[33]),M=n(M,N,k,B,x,16,p[34]),B=n(B,M,N,k,b,23,p[35]),k=n(k,B,M,N,u,4,p[36]),N=n(N,k,B,M,m,11,p[37]),M=n(M,N,k,B,y,16,p[38]),B=n(B,M,N,k,C,23,p[39]),k=n(k,B,M,N,T,4,p[40]),N=n(N,k,B,M,l,11,p[41]),M=n(M,N,k,B,f,16,p[42]),B=n(B,M,N,k,_,23,p[43]),k=n(k,B,M,N,w,4,p[44]),N=n(N,k,B,M,S,11,p[45]),M=n(M,N,k,B,A,16,p[46]),k=o(k,B=n(B,M,N,k,d,23,p[47]),M,N,l,6,p[48]),N=o(N,k,B,M,y,10,p[49]),M=o(M,N,k,B,b,15,p[50]),B=o(B,M,N,k,g,21,p[51]),k=o(k,B,M,N,S,6,p[52]),N=o(N,k,B,M,f,10,p[53]),M=o(M,N,k,B,C,15,p[54]),B=o(B,M,N,k,u,21,p[55]),k=o(k,B,M,N,v,6,p[56]),N=o(N,k,B,M,A,10,p[57]),M=o(M,N,k,B,_,15,p[58]),B=o(B,M,N,k,T,21,p[59]),k=o(k,B,M,N,m,6,p[60]),N=o(N,k,B,M,x,10,p[61]),M=o(M,N,k,B,d,15,p[62]),B=o(B,M,N,k,w,21,p[63]),h[0]=h[0]+k|0,h[1]=h[1]+B|0,h[2]=h[2]+M|0,h[3]=h[3]+N|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(u),r.HmacMD5=h._createHmacHelper(u)}(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],u=i[7],d=0;d<64;d++){if(d<16)h[d]=0|t[e+d];else{var f=h[d-15],m=(f<<25|f>>>7)^(f<<14|f>>>18)^f>>>3,g=h[d-2],_=(g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10;h[d]=m+h[d-7]+_+h[d-16]}var y=n&o^n&r^o&r,v=(n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22),w=u+((s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25))+(s&l^~s&p)+c[d]+h[d];u=p,p=l,l=s,s=a+w|0,a=r,r=o,o=n,n=w+(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]+u|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,u=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]),d=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]),f=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,w,C,x,S,T,b,A,k,B=this._hash.words,M=g.words,N=_.words,I=u.words,R=d.words,F=f.words,O=m.words;for(x=p=B[0],S=y=B[1],T=v=B[2],b=w=B[3],A=C=B[4],c=0;c<80;c+=1)k=p+a[s+I[c]]|0,k+=c<16?t(y,v,w)+M[0]:c<32?e(y,v,w)+M[1]:c<48?i(y,v,w)+M[2]:c<64?n(y,v,w)+M[3]:o(y,v,w)+M[4],k=(k=r(k|=0,F[c]))+C|0,p=C,C=w,w=r(v,10),v=y,y=k,k=x+a[s+R[c]]|0,k+=c<16?o(S,T,b)+N[0]:c<32?n(S,T,b)+N[1]:c<48?i(S,T,b)+N[2]:c<64?e(S,T,b)+N[3]:t(S,T,b)+N[4],k=(k=r(k|=0,O[c]))+A|0,x=A,A=b,b=r(T,10),T=S,S=k;k=B[1]+v+b|0,B[1]=B[2]+w+A|0,B[2]=B[3]+C+x|0,B[3]=B[4]+p+S|0,B[4]=B[0]+y+T|0,B[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),(B=i[o]).high^=a,B.low^=r}for(var s=0;s<24;s++){for(var u=0;u<5;u++){for(var d=0,f=0,m=0;m<5;m++)d^=(B=i[u+5*m]).high,f^=B.low;var g=p[u];g.high=d,g.low=f}for(u=0;u<5;u++){var _=p[(u+4)%5],y=p[(u+1)%5],v=y.high,w=y.low;for(d=_.high^(v<<1|w>>>31),f=_.low^(w<<1|v>>>31),m=0;m<5;m++)(B=i[u+5*m]).high^=d,B.low^=f}for(var C=1;C<25;C++){var x=(B=i[C]).high,S=B.low,T=c[C];T<32?(d=x<>>32-T,f=S<>>32-T):(d=S<>>64-T,f=x<>>64-T);var b=p[h[C]];b.high=d,b.low=f}var A=p[0],k=i[0];for(A.high=k.high,A.low=k.low,u=0;u<5;u++)for(m=0;m<5;m++){var B=i[C=u+5*m],M=p[C],N=p[(u+1)%5+5*m],I=p[(u+2)%5+5*m];B.high=M.high^~N.high&I.high,B.low=M.low^~N.low&I.low}B=i[0];var R=l[s];B.high^=R.high,B.low^=R.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&(u<<24|u>>>8),d=16711935&(d<<8|d>>>24)|4278255360&(d<<24|d>>>8),h.push(d),h.push(u)}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(u),e.HmacSHA3=o._createHmacHelper(u)}(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],u=i[7],d=n.high,f=n.low,m=o.high,g=o.low,_=r.high,y=r.low,v=a.high,w=a.low,C=s.high,x=s.low,S=l.high,T=l.low,b=p.high,A=p.low,k=u.high,B=u.low,M=d,N=f,I=m,R=g,F=_,O=y,P=v,E=w,D=C,G=x,L=S,j=T,z=b,H=A,V=k,X=B,W=0;W<80;W++){var U=h[W];if(W<16)var Y=U.high=0|t[e+2*W],K=U.low=0|t[e+2*W+1];else{var q=h[W-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[W-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[W-7],at=rt.high,st=rt.low,ct=h[W-16],ht=ct.high,lt=ct.low;Y=(Y=(Y=Q+at+((K=$+st)>>>0<$>>>0?1:0))+nt+((K+=ot)>>>0>>0?1:0))+ht+((K+=lt)>>>0>>0?1:0),U.high=Y,U.low=K}var pt,ut=D&L^~D&z,dt=G&j^~G&H,ft=M&I^M&F^I&F,mt=N&R^N&O^R&O,gt=(M>>>28|N<<4)^(M<<30|N>>>2)^(M<<25|N>>>7),_t=(N>>>28|M<<4)^(N<<30|M>>>2)^(N<<25|M>>>7),yt=(D>>>14|G<<18)^(D>>>18|G<<14)^(D<<23|G>>>9),vt=(G>>>14|D<<18)^(G>>>18|D<<14)^(G<<23|D>>>9),wt=c[W],Ct=wt.high,xt=wt.low,St=V+yt+((pt=X+vt)>>>0>>0?1:0),Tt=_t+mt;V=z,X=H,z=L,H=j,L=D,j=G,D=P+(St=(St=(St=St+ut+((pt+=dt)>>>0
>>0?1:0))+Ct+((pt+=xt)>>>0>>0?1:0))+Y+((pt+=K)>>>0>>0?1:0))+((G=E+pt|0)>>>0>>0?1:0)|0,P=F,E=O,F=I,O=R,I=M,R=N,M=St+(gt+ft+(Tt>>>0<_t>>>0?1:0))+((N=pt+Tt|0)>>>0>>0?1:0)|0}f=n.low=f+N,n.high=d+M+(f>>>0>>0?1:0),g=o.low=g+R,o.high=m+I+(g>>>0>>0?1:0),y=r.low=y+O,r.high=_+F+(y>>>0>>0?1:0),w=a.low=w+E,a.high=v+P+(w>>>0>>0?1:0),x=s.low=x+G,s.high=C+D+(x>>>0>>0?1:0),T=l.low=T+j,l.high=S+L+(T>>>0>>0?1:0),A=p.low=A+H,p.high=b+z+(A>>>0>>0?1:0),B=u.low=B+X,u.high=k+V+(B>>>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={}),u=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}}),d=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:d,padding:f}),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&f^99,n[i]=f,o[f]=i;var m=t[i],g=t[m],_=t[g],y=257*t[f]^16843008*f;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[f]=y<<24|y>>>8,p[f]=y<<16|y>>>16,u[f]=y<<8|y>>>24,d[f]=y,i?(i=m^t[t[t[_^m]]],s^=t[t[s]]):i=s=1}}();var f=[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^=f[a/i|0]<<24),r[a]=r[a-i]^s}for(var c=this._invKeySchedule=[],h=0;h>>24]]^p[n[s>>>16&255]]^u[n[s>>>8&255]]^d[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,u,d,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],u=t[e+3]^i[3],d=4,f=1;f>>24]^o[l>>>16&255]^r[p>>>8&255]^a[255&u]^i[d++],g=n[l>>>24]^o[p>>>16&255]^r[u>>>8&255]^a[255&h]^i[d++],_=n[p>>>24]^o[u>>>16&255]^r[h>>>8&255]^a[255&l]^i[d++],y=n[u>>>24]^o[h>>>16&255]^r[l>>>8&255]^a[255&p]^i[d++];h=m,l=g,p=_,u=y}m=(s[h>>>24]<<24|s[l>>>16&255]<<16|s[p>>>8&255]<<8|s[255&u])^i[d++],g=(s[l>>>24]<<24|s[p>>>16&255]<<16|s[u>>>8&255]<<8|s[255&h])^i[d++],_=(s[p>>>24]<<24|s[u>>>16&255]<<16|s[h>>>8&255]<<8|s[255&l])^i[d++],y=(s[u>>>24]<<24|s[h>>>16&255]<<16|s[l>>>8&255]<<8|s[255&p])^i[d++],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])&u[l])>>>0];this._lBlock=c,this._rBlock=s^h}var d=this._lBlock;this._lBlock=this._rBlock,this._rBlock=d,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(d);var f=a.TripleDES=r.extend({_doReset:function(){var t=this._key.words;this._des1=d.createEncryptor(o.create(t.slice(0,2))),this._des2=d.createEncryptor(o.create(t.slice(2,4))),this._des3=d.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(f)}(),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,u=l<<16|65535&h;for(r[0]^=h,r[1]^=p,r[2]^=l,r[3]^=u,r[4]^=h,r[5]^=p,r[6]^=l,r[7]^=u,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,u=l<<16|65535&h;for(o[0]^=h,o[1]^=p,o[2]^=l,o[3]^=u,o[4]^=h,o[5]^=p,o[6]^=l,o[7]^=u,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;i--)e.push(cc.v2(t[i].x,t[i].y));return e}function n(t){for(var e=[],i=0;i=this._duration},_cloneDecoration:function(t){t._repeatForever=this._repeatForever,t._speed=this._speed,t._timesForRepeat=this._timesForRepeat,t._easeList=this._easeList,t._speedMethod=this._speedMethod,t._repeatMethod=this._repeatMethod},_reverseEaseList:function(t){if(this._easeList){t._easeList=[];for(var e=0;e1.192092896e-7?this._duration:1.192092896e-7);e=1>e?e:1,this.update(e>0?e:0),this._repeatMethod&&this._timesForRepeat>1&&this.isDone()&&(this._repeatForever||this._timesForRepeat--,this.startWithTarget(this.target),this.step(this._elapsed-this._duration))},startWithTarget:function(t){cc.Action.prototype.startWithTarget.call(this,t),this._elapsed=0,this._firstTick=!0},reverse:function(){return cc.logID(1010),null},setAmplitudeRate:function(){cc.logID(1011)},getAmplitudeRate:function(){return cc.logID(1012),0},speed:function(t){return t<=0?(cc.logID(1013),this):(this._speedMethod=!0,this._speed*=t,this)},getSpeed:function(){return this._speed},setSpeed:function(t){return this._speed=t,this},repeat:function(t){return t=Math.round(t),isNaN(t)||t<1?(cc.logID(1014),this):(this._repeatMethod=!0,this._timesForRepeat*=t,this)},repeatForever:function(){return this._repeatMethod=!0,this._timesForRepeat=this.MAX_VALUE,this._repeatForever=!0,this}}),cc.actionInterval=function(t){return new cc.ActionInterval(t)},cc.Sequence=cc.Class({name:"cc.Sequence",extends:cc.ActionInterval,ctor:function(t){this._actions=[],this._split=null,this._last=0,this._reversed=!1;var e=t instanceof Array?t:arguments;if(1!==e.length){var i=e.length-1;if(i>=0&&null==e[i]&&cc.logID(1015),i>=0){for(var n,r=e[0],s=1;s1?e%1:e),this._last=n)},reverse:function(){var t=cc.Sequence._actionOneTwo(this._actions[1].reverse(),this._actions[0].reverse());return this._cloneDecoration(t),this._reverseEaseList(t),t._reversed=!0,t}}),cc.sequence=function(t){var e=t instanceof Array?t:arguments;if(1===e.length)return cc.errorID(1019),null;var i=e.length-1;i>=0&&null==e[i]&&cc.logID(1015);var n=null;if(i>=0){n=e[0];for(var r=1;r<=i;r++)e[r]&&(n=cc.Sequence._actionOneTwo(n,e[r]))}return n},cc.Sequence._actionOneTwo=function(t,e){var i=new cc.Sequence;return i.initWithTwoActions(t,e),i},cc.Repeat=cc.Class({name:"cc.Repeat",extends:cc.ActionInterval,ctor:function(t,e){this._times=0,this._total=0,this._nextDt=0,this._actionInstant=!1,this._innerAction=null,void 0!==e&&this.initWithAction(t,e)},initWithAction:function(t,e){var i=t._duration*e;return!!this.initWithDuration(i)&&(this._times=e,this._innerAction=t,t instanceof cc.ActionInstant&&(this._actionInstant=!0,this._times-=1),this._total=0,!0)},clone:function(){var t=new cc.Repeat;return this._cloneDecoration(t),t.initWithAction(this._innerAction.clone(),this._times),t},startWithTarget:function(t){this._total=0,this._nextDt=this._innerAction._duration/this._duration,cc.ActionInterval.prototype.startWithTarget.call(this,t),this._innerAction.startWithTarget(t)},stop:function(){this._innerAction.stop(),cc.Action.prototype.stop.call(this)},update:function(t){t=this._computeEaseTime(t);var e=this._innerAction,i=this._duration,n=this._times,r=this._nextDt;if(t>=r){for(;t>r&&this._total1?1:r;t>=1&&this._total=0&&null==e[i]&&cc.logID(1015),i>=0){for(var n,r=e[0],s=1;sr?this._two=cc.Sequence._actionOneTwo(e,cc.delayTime(n-r)):n0&&null==e[e.length-1]&&cc.logID(1015);for(var i=e[0],n=1;n180&&(i-=360),i<-180&&(i+=360),this._startAngle=e,this._angle=cc.RotateTo._reverse?i:-i},reverse:function(){cc.logID(1016)},update:function(t){t=this._computeEaseTime(t),this.target&&(this.target.angle=this._startAngle+this._angle*t)}}),cc.rotateTo=function(t,e){return new cc.RotateTo(t,e)},cc.RotateBy=cc.Class({name:"cc.RotateBy",extends:cc.ActionInterval,statics:{_reverse:!1},ctor:function(t,e){e*=cc.RotateBy._reverse?1:-1,this._deltaAngle=0,this._startAngle=0,void 0!==e&&this.initWithDuration(t,e)},initWithDuration:function(t,e){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._deltaAngle=e,!0)},clone:function(){var t=new cc.RotateBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._deltaAngle),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._startAngle=t.angle},update:function(t){t=this._computeEaseTime(t),this.target&&(this.target.angle=this._startAngle+this._deltaAngle*t)},reverse:function(){var t=new cc.RotateBy;return t.initWithDuration(this._duration,-this._deltaAngle),this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.rotateBy=function(t,e){return new cc.RotateBy(t,e)},cc.MoveBy=cc.Class({name:"cc.MoveBy",extends:cc.ActionInterval,ctor:function(t,e,i){this._positionDelta=cc.v2(0,0),this._startPosition=cc.v2(0,0),this._previousPosition=cc.v2(0,0),void 0!==e&&cc.MoveBy.prototype.initWithDuration.call(this,t,e,i)},initWithDuration:function(t,e,i){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(void 0!==e.x&&(i=e.y,e=e.x),this._positionDelta.x=e,this._positionDelta.y=i,!0)},clone:function(){var t=new cc.MoveBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._positionDelta),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t);var e=t.x,i=t.y;this._previousPosition.x=e,this._previousPosition.y=i,this._startPosition.x=e,this._startPosition.y=i},update:function(t){if(t=this._computeEaseTime(t),this.target){var e=this._positionDelta.x*t,i=this._positionDelta.y*t,n=this._startPosition;if(cc.macro.ENABLE_STACKABLE_ACTIONS){var r=this.target.x,s=this.target.y,a=this._previousPosition;n.x=n.x+r-a.x,n.y=n.y+s-a.y,e+=n.x,i+=n.y,a.x=e,a.y=i,this.target.setPosition(e,i)}else this.target.setPosition(n.x+e,n.y+i)}},reverse:function(){var t=new cc.MoveBy(this._duration,cc.v2(-this._positionDelta.x,-this._positionDelta.y));return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.moveBy=function(t,e,i){return new cc.MoveBy(t,e,i)},cc.MoveTo=cc.Class({name:"cc.MoveTo",extends:cc.MoveBy,ctor:function(t,e,i){this._endPosition=cc.v2(0,0),void 0!==e&&this.initWithDuration(t,e,i)},initWithDuration:function(t,e,i){return!!cc.MoveBy.prototype.initWithDuration.call(this,t,e,i)&&(void 0!==e.x&&(i=e.y,e=e.x),this._endPosition.x=e,this._endPosition.y=i,!0)},clone:function(){var t=new cc.MoveTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._endPosition),t},startWithTarget:function(t){cc.MoveBy.prototype.startWithTarget.call(this,t),this._positionDelta.x=this._endPosition.x-t.x,this._positionDelta.y=this._endPosition.y-t.y}}),cc.moveTo=function(t,e,i){return new cc.MoveTo(t,e,i)},cc.SkewTo=cc.Class({name:"cc.SkewTo",extends:cc.ActionInterval,ctor:function(t,e,i){this._skewX=0,this._skewY=0,this._startSkewX=0,this._startSkewY=0,this._endSkewX=0,this._endSkewY=0,this._deltaX=0,this._deltaY=0,void 0!==i&&cc.SkewTo.prototype.initWithDuration.call(this,t,e,i)},initWithDuration:function(t,e,i){var n=!1;return cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._endSkewX=e,this._endSkewY=i,n=!0),n},clone:function(){var t=new cc.SkewTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._endSkewX,this._endSkewY),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._startSkewX=t.skewX%180,this._deltaX=this._endSkewX-this._startSkewX,this._deltaX>180&&(this._deltaX-=360),this._deltaX<-180&&(this._deltaX+=360),this._startSkewY=t.skewY%360,this._deltaY=this._endSkewY-this._startSkewY,this._deltaY>180&&(this._deltaY-=360),this._deltaY<-180&&(this._deltaY+=360)},update:function(t){t=this._computeEaseTime(t),this.target.skewX=this._startSkewX+this._deltaX*t,this.target.skewY=this._startSkewY+this._deltaY*t}}),cc.skewTo=function(t,e,i){return new cc.SkewTo(t,e,i)},cc.SkewBy=cc.Class({name:"cc.SkewBy",extends:cc.SkewTo,ctor:function(t,e,i){void 0!==i&&this.initWithDuration(t,e,i)},initWithDuration:function(t,e,i){var n=!1;return cc.SkewTo.prototype.initWithDuration.call(this,t,e,i)&&(this._skewX=e,this._skewY=i,n=!0),n},clone:function(){var t=new cc.SkewBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._skewX,this._skewY),t},startWithTarget:function(t){cc.SkewTo.prototype.startWithTarget.call(this,t),this._deltaX=this._skewX,this._deltaY=this._skewY,this._endSkewX=this._startSkewX+this._deltaX,this._endSkewY=this._startSkewY+this._deltaY},reverse:function(){var t=new cc.SkewBy(this._duration,-this._skewX,-this._skewY);return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.skewBy=function(t,e,i){return new cc.SkewBy(t,e,i)},cc.JumpBy=cc.Class({name:"cc.JumpBy",extends:cc.ActionInterval,ctor:function(t,e,i,n,r){this._startPosition=cc.v2(0,0),this._previousPosition=cc.v2(0,0),this._delta=cc.v2(0,0),this._height=0,this._jumps=0,void 0!==n&&cc.JumpBy.prototype.initWithDuration.call(this,t,e,i,n,r)},initWithDuration:function(t,e,i,n,r){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(void 0===r&&(r=n,n=i,i=e.y,e=e.x),this._delta.x=e,this._delta.y=i,this._height=n,this._jumps=r,!0)},clone:function(){var t=new cc.JumpBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._delta,this._height,this._jumps),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t);var e=t.x,i=t.y;this._previousPosition.x=e,this._previousPosition.y=i,this._startPosition.x=e,this._startPosition.y=i},update:function(t){if(t=this._computeEaseTime(t),this.target){var e=t*this._jumps%1,i=4*this._height*e*(1-e);i+=this._delta.y*t;var n=this._delta.x*t,r=this._startPosition;if(cc.macro.ENABLE_STACKABLE_ACTIONS){var s=this.target.x,a=this.target.y,o=this._previousPosition;r.x=r.x+s-o.x,r.y=r.y+a-o.y,n+=r.x,i+=r.y,o.x=n,o.y=i,this.target.setPosition(n,i)}else this.target.setPosition(r.x+n,r.y+i)}},reverse:function(){var t=new cc.JumpBy(this._duration,cc.v2(-this._delta.x,-this._delta.y),this._height,this._jumps);return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.jumpBy=function(t,e,i,n,r){return new cc.JumpBy(t,e,i,n,r)},cc.JumpTo=cc.Class({name:"cc.JumpTo",extends:cc.JumpBy,ctor:function(t,e,i,n,r){this._endPosition=cc.v2(0,0),void 0!==n&&this.initWithDuration(t,e,i,n,r)},initWithDuration:function(t,e,i,n,r){return!!cc.JumpBy.prototype.initWithDuration.call(this,t,e,i,n,r)&&(void 0===r&&(i=e.y,e=e.x),this._endPosition.x=e,this._endPosition.y=i,!0)},startWithTarget:function(t){cc.JumpBy.prototype.startWithTarget.call(this,t),this._delta.x=this._endPosition.x-this._startPosition.x,this._delta.y=this._endPosition.y-this._startPosition.y},clone:function(){var t=new cc.JumpTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._endPosition,this._height,this._jumps),t}}),cc.jumpTo=function(t,e,i,n,r){return new cc.JumpTo(t,e,i,n,r)},cc.BezierBy=cc.Class({name:"cc.BezierBy",extends:cc.ActionInterval,ctor:function(t,e){this._config=[],this._startPosition=cc.v2(0,0),this._previousPosition=cc.v2(0,0),e&&cc.BezierBy.prototype.initWithDuration.call(this,t,e)},initWithDuration:function(t,e){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._config=e,!0)},clone:function(){var t=new cc.BezierBy;this._cloneDecoration(t);for(var e=[],i=0;ie/2?255:0}},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._originalState=t.opacity},stop:function(){this.target.opacity=this._originalState,cc.ActionInterval.prototype.stop.call(this)},reverse:function(){var t=new cc.Blink(this._duration,this._times);return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.blink=function(t,e){return new cc.Blink(t,e)},cc.FadeTo=cc.Class({name:"cc.FadeTo",extends:cc.ActionInterval,ctor:function(t,e){this._toOpacity=0,this._fromOpacity=0,void 0!==e&&cc.FadeTo.prototype.initWithDuration.call(this,t,e)},initWithDuration:function(t,e){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._toOpacity=e,!0)},clone:function(){var t=new cc.FadeTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._toOpacity),t},update:function(t){t=this._computeEaseTime(t);var e=void 0!==this._fromOpacity?this._fromOpacity:255;this.target.opacity=e+(this._toOpacity-e)*t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._fromOpacity=t.opacity}}),cc.fadeTo=function(t,e){return new cc.FadeTo(t,e)},cc.FadeIn=cc.Class({name:"cc.FadeIn",extends:cc.FadeTo,ctor:function(t){null==t&&(t=0),this._reverseAction=null,this.initWithDuration(t,255)},reverse:function(){var t=new cc.FadeOut;return t.initWithDuration(this._duration,0),this._cloneDecoration(t),this._reverseEaseList(t),t},clone:function(){var t=new cc.FadeIn;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._toOpacity),t},startWithTarget:function(t){this._reverseAction&&(this._toOpacity=this._reverseAction._fromOpacity),cc.FadeTo.prototype.startWithTarget.call(this,t)}}),cc.fadeIn=function(t){return new cc.FadeIn(t)},cc.FadeOut=cc.Class({name:"cc.FadeOut",extends:cc.FadeTo,ctor:function(t){null==t&&(t=0),this._reverseAction=null,this.initWithDuration(t,0)},reverse:function(){var t=new cc.FadeIn;return t._reverseAction=this,t.initWithDuration(this._duration,255),this._cloneDecoration(t),this._reverseEaseList(t),t},clone:function(){var t=new cc.FadeOut;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._toOpacity),t}}),cc.fadeOut=function(t){return new cc.FadeOut(t)},cc.TintTo=cc.Class({name:"cc.TintTo",extends:cc.ActionInterval,ctor:function(t,e,i,n){this._to=cc.color(0,0,0),this._from=cc.color(0,0,0),e instanceof cc.Color&&(n=e.b,i=e.g,e=e.r),void 0!==n&&this.initWithDuration(t,e,i,n)},initWithDuration:function(t,e,i,n){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._to=cc.color(e,i,n),!0)},clone:function(){var t=new cc.TintTo;this._cloneDecoration(t);var e=this._to;return t.initWithDuration(this._duration,e.r,e.g,e.b),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._from=this.target.color},update:function(t){t=this._computeEaseTime(t);var e=this._from,i=this._to;e&&(this.target.color=cc.color(e.r+(i.r-e.r)*t,e.g+(i.g-e.g)*t,e.b+(i.b-e.b)*t))}}),cc.tintTo=function(t,e,i,n){return new cc.TintTo(t,e,i,n)},cc.TintBy=cc.Class({name:"cc.TintBy",extends:cc.ActionInterval,ctor:function(t,e,i,n){this._deltaR=0,this._deltaG=0,this._deltaB=0,this._fromR=0,this._fromG=0,this._fromB=0,void 0!==n&&this.initWithDuration(t,e,i,n)},initWithDuration:function(t,e,i,n){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._deltaR=e,this._deltaG=i,this._deltaB=n,!0)},clone:function(){var t=new cc.TintBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._deltaR,this._deltaG,this._deltaB),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t);var e=t.color;this._fromR=e.r,this._fromG=e.g,this._fromB=e.b},update:function(t){t=this._computeEaseTime(t),this.target.color=cc.color(this._fromR+this._deltaR*t,this._fromG+this._deltaG*t,this._fromB+this._deltaB*t)},reverse:function(){var t=new cc.TintBy(this._duration,-this._deltaR,-this._deltaG,-this._deltaB);return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.tintBy=function(t,e,i,n){return new cc.TintBy(t,e,i,n)},cc.DelayTime=cc.Class({name:"cc.DelayTime",extends:cc.ActionInterval,update:function(){},reverse:function(){var t=new cc.DelayTime(this._duration);return this._cloneDecoration(t),this._reverseEaseList(t),t},clone:function(){var t=new cc.DelayTime;return this._cloneDecoration(t),t.initWithDuration(this._duration),t}}),cc.delayTime=function(t){return new cc.DelayTime(t)},cc.ReverseTime=cc.Class({name:"cc.ReverseTime",extends:cc.ActionInterval,ctor:function(t){this._other=null,t&&this.initWithAction(t)},initWithAction:function(t){return t?t===this._other?(cc.errorID(1029),!1):!!cc.ActionInterval.prototype.initWithDuration.call(this,t._duration)&&(this._other=t,!0):(cc.errorID(1028),!1)},clone:function(){var t=new cc.ReverseTime;return this._cloneDecoration(t),t.initWithAction(this._other.clone()),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._other.startWithTarget(t)},update:function(t){t=this._computeEaseTime(t),this._other&&this._other.update(1-t)},reverse:function(){return this._other.clone()},stop:function(){this._other.stop(),cc.Action.prototype.stop.call(this)}}),cc.reverseTime=function(t){return new cc.ReverseTime(t)},cc.TargetedAction=cc.Class({name:"cc.TargetedAction",extends:cc.ActionInterval,ctor:function(t,e){this._action=null,this._forcedTarget=null,e&&this.initWithTarget(t,e)},initWithTarget:function(t,e){return!!this.initWithDuration(e._duration)&&(this._forcedTarget=t,this._action=e,!0)},clone:function(){var t=new cc.TargetedAction;return this._cloneDecoration(t),t.initWithTarget(this._forcedTarget,this._action.clone()),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._action.startWithTarget(this._forcedTarget)},stop:function(){this._action.stop()},update:function(t){t=this._computeEaseTime(t),this._action.update(t)},getForcedTarget:function(){return this._forcedTarget},setForcedTarget:function(t){this._forcedTarget!==t&&(this._forcedTarget=t)}}),cc.targetedAction=function(t,e){return new cc.TargetedAction(t,e)}}),{}],6:[(function(t){"use strict";t("../core/platform/CCClass");var e=t("../core/platform/js"),i=function(){this.actions=[],this.target=null,this.actionIndex=0,this.currentAction=null,this.paused=!1,this.lock=!1};cc.ActionManager=function(){this._hashTargets=e.createMap(!0),this._arrayTargets=[],this._currentTarget=null,cc.director._scheduler&&cc.director._scheduler.enableForTarget(this)},cc.ActionManager.prototype={constructor:cc.ActionManager,_elementPool:[],_searchElementByTarget:function(t,e){for(var i=0;i=n&&i.actionIndex--;break}}},_removeActionByTag:function(t,e,i){for(var n=0,r=e.actions.length;n=0;--n){var r=e.actions[n];if(r&&r.getTag()===t){if(i&&r.getOriginalTarget()!==i)continue;this._removeActionAtIndex(n,e)}}},removeActionByTag:function(t,e){t===cc.Action.TAG_INVALID&&cc.logID(1002);var i=this._hashTargets;if(e){var n=i[e._id];n&&this._removeActionByTag(t,n,e)}else for(var r in i){var s=i[r];this._removeActionByTag(t,s)}},removeAllActionsByTag:function(t,e){t===cc.Action.TAG_INVALID&&cc.logID(1002);var i=this._hashTargets;if(e){var n=i[e._id];n&&this._removeAllActionsByTag(t,n,e)}else for(var r in i){var s=i[r];this._removeAllActionsByTag(t,s)}},getActionByTag:function(t,e){t===cc.Action.TAG_INVALID&&cc.logID(1004);var i=this._hashTargets[e._id];if(i){if(null!=i.actions)for(var n=0;n=t&&e.actionIndex--,0===e.actions.length&&this._deleteHashElement(e)},_deleteHashElement:function(t){var e=!1;if(t&&!t.lock&&this._hashTargets[t.target._id]){delete this._hashTargets[t.target._id];for(var i=this._arrayTargets,n=0,r=i.length;n=1?t:r%n>n/2?255:0},this.to(t,{opacity:1},i)}});var a=[];function o(t){return function(){a.length=0;for(var e=arguments.length,i=0;i=0?d=c.events[p]:(d=new a,c.ratios.push(f),c.events.push(d)),d.add(_.func,_.params)}}h.playState=function(t,e){t.clip&&(t.curveLoaded||u(this.target,t),t.animator=this,t.play(),"number"==typeof e&&t.setTime(e),this.play())},h.stopStatesExcept=function(t){var e=this._anims,i=e.array;for(e.i=0;e.i=0?(this._anims.fastRemoveAt(e),0===this._anims.array.length&&this.stop()):cc.errorID(3907),t.animator=null},h.sample=function(){var t=this._anims,e=t.array;for(t.i=0;t.i1e-6){g=!1;break}c._findFrameIndex=g?s:o;var x=c.values[0];return null==x||c._lerp||("number"==typeof x?c._lerp=r.prototype._lerpNumber:x instanceof cc.Quat?c._lerp=r.prototype._lerpQuat:x instanceof cc.Vec2?c._lerp=r.prototype._lerpVector2:x instanceof cc.Vec3?c._lerp=r.prototype._lerpVector3:x.lerp&&(c._lerp=r.prototype._lerpObject)),c},createTargetCurves:function(t,e,i){var n=e.props,r=e.comps;if(n)for(var s in n){var a=n[s],o=this.createPropCurve(t,s,a);i.push(o)}if(r)for(var l in r){var c=t.getComponent(l);if(c){var h=r[l];for(var u in h){var _=h[u],f=this.createPropCurve(c,u,_);i.push(f)}}}},createCurves:function(t,e){var i=this.curveData,n=i.paths,r=[];for(var s in this.createTargetCurves(e,i,r),n){var a=cc.find(s,e);if(a){var o=n[s];this.createTargetCurves(a,o,r)}}return r}});cc.AnimationClip=e.exports=l}),{"../core/utils/binary-search":317,"./animation-curves":11,"./motion-path-helper":17,"./types":19}],11:[(function(t,e){"use strict";var i=t("./bezier").bezierByTime,n=t("../core/utils/binary-search").binarySearchEpsilon,r=t("./types").WrapModeMask,s=t("./types").WrappedInfo;function a(t,e){if("string"==typeof e){var n=cc.easing[e];n?t=n(t):cc.errorID(3906,e)}else Array.isArray(e)&&(t=i(e,t));return t}var o=cc.Class({name:"cc.AnimCurve",sample:function(){},onTimeChangedManually:void 0});var l,c=cc.Class({name:"cc.DynamicAnimCurve",extends:o,ctor:function(){this._cachedIndex=0},properties:{target:null,prop:"",values:[],ratios:[],types:[]},_findFrameIndex:n,_lerp:void 0,_lerpNumber:function(t,e,i){return t+(e-t)*i},_lerpObject:function(t,e,i){return t.lerp(e,i)},_lerpQuat:(l=cc.quat(),function(t,e,i){return t.lerp(e,i,l)}),_lerpVector2:(function(){var t=cc.v2();return function(e,i,n){return e.lerp(i,n,t)}})(),_lerpVector3:(function(){var t=cc.v3();return function(e,i,n){return e.lerp(i,n,t)}})(),sample:function(t,e){var i=this.values,n=this.ratios,r=n.length;if(0!==r){var s,o=!0,l=this._cachedIndex;if(l<0&&(l=~l)>0&&lc&&e=r)s=i[r-1];else{var _=i[u-1];if(this._lerp){var f=n[u-1],d=n[u],p=this.types[u-1],m=(e-f)/(d-f);p&&(m=a(m,p));var y=i[u];s=this._lerp(_,y,m)}else s=_}else s=i[u];this.target[this.prop]=s}}});c.Linear=null,c.Bezier=function(t){return t};var h=function(){this.events=[]};h.prototype.add=function(t,e){this.events.push({func:t||"",params:e||[]})};var u=cc.Class({name:"cc.EventAnimCurve",extends:o,properties:{target:null,ratios:[],events:[],_wrappedInfo:{default:function(){return new s}},_lastWrappedInfo:null,_ignoreIndex:NaN},_wrapIterations:function(t){return t-(0|t)==0&&(t-=1),0|t},sample:function(t,e,i){var a=this.ratios.length,o=i.getWrappedInfo(i.time,this._wrappedInfo),l=o.direction,c=n(this.ratios,o.ratio);if(c<0&&(c=~c-1,l<0&&(c+=1)),this._ignoreIndex!==c&&(this._ignoreIndex=NaN),o.frameIndex=c,!this._lastWrappedInfo)return this._fireEvent(c),void(this._lastWrappedInfo=new s(o));var h=i.wrapMode,u=this._wrapIterations(o.iterations),_=this._lastWrappedInfo,f=this._wrapIterations(_.iterations),d=_.frameIndex,p=_.direction,m=-1!==f&&u!==f;if(d===c&&m&&1===a)this._fireEvent(0);else if(d!==c||m){l=p;do{if(d!==c){if(-1===l&&0===d&&c>0?((h&r.PingPong)===r.PingPong?l*=-1:d=a,f++):1===l&&d===a-1&&cu)break}d+=l,cc.director.getAnimationManager().pushDelayEvent(this,"_fireEvent",[d])}while(d!==c&&d>-1&&d=this.events.length||this._ignoreIndex===t)){var e=this.events[t].events;if(this.target.isValid)for(var i=this.target._components,n=0;nr)return~t.length;var s=(e=(e-n)/(r-n))/(1/i),a=0|s;return s-a<1e-6?a:a+1-s<1e-6?a+1:~(a+1)}}}),{"../core/utils/binary-search":317,"./bezier":14,"./types":19}],12:[(function(t,e){"use strict";var i=cc.js,n=cc.Class({ctor:function(){this._anims=new i.array.MutableForwardIterator([]),this._delayEvents=[],cc.director._scheduler&&cc.director._scheduler.enableForTarget(this)},update:function(t){var e=this._anims,i=e.array;for(e.i=0;e.i=0?this._anims.fastRemoveAt(e):cc.errorID(3907)},pushDelayEvent:function(t,e,i){this._delayEvents.push({target:t,func:e,args:i})}});cc.AnimationManager=e.exports=n}),{}],13:[(function(t,e){"use strict";var i=cc.js,n=t("./playable"),r=t("./types"),s=r.WrappedInfo,a=r.WrapMode,o=r.WrapModeMask;function l(t,e){n.call(this),this._currentFramePlayed=!1,this._delay=0,this._delayTime=0,this._wrappedInfo=new s,this._lastWrappedInfo=null,this._process=h,this._clip=t,this._name=e||t&&t.name,this.animator=null,this.curves=[],this.delay=0,this.repeatCount=1,this.duration=1,this.speed=1,this.wrapMode=a.Normal,this.time=0,this._target=null,this._lastframeEventOn=!1,this.emit=function(){for(var t=new Array(arguments.length),e=0,i=t.length;e1&&(0|e.iterations)>(0|t.iterations)&&this.emit("lastframe",this),t.set(e)),e.stopped&&(this.stop(),this.emit("finished",this))}function u(){var t=this.time,e=this.duration;t>e?0==(t%=e)&&(t=e):t<0&&0!=(t%=e)&&(t+=e);for(var i=t/e,n=this.curves,r=0,s=n.length;r0&&this._lastIterations>i||this.time<0&&this._lastIterations0&&(this._delayTime-=t,this._delayTime>0)||(this._currentFramePlayed?this.time+=t*this.speed:this._currentFramePlayed=!0,this._process())},c._needRevers=function(t){var e=this.wrapMode,i=!1;return(e&o.PingPong)===o.PingPong&&(t-(0|t)==0&&t>0&&(t-=1),1&t&&(i=!i)),(e&o.Reverse)===o.Reverse&&(i=!i),i},c.getWrappedInfo=function(t,e){e=e||new s;var i=!1,n=this.duration,r=this.repeatCount,a=t>0?t/n:-t/n;if(a>=r){a=r,i=!0;var l=r-(0|r);0===l&&(l=1),t=l*n*(t>0?1:-1)}if(t>n){var c=t%n;t=0===c?n:c}else t<0&&0!=(t%=n)&&(t+=n);var h=!1,u=this._wrapMode&o.ShouldWrap;u&&(h=this._needRevers(a));var _=h?-1:1;return this.speed<0&&(_*=-1),u&&h&&(t=n-t),e.ratio=t/n,e.time=t,e.direction=_,e.stopped=i,e.iterations=a,e},c.sample=function(){for(var t=this.getWrappedInfo(this.time,this._wrappedInfo),e=this.curves,i=0,n=e.length;i0}),(function(){this.curves.length=0})),i.getset(c,"wrapMode",(function(){return this._wrapMode}),(function(t){this._wrapMode=t,this.time=0,t&o.Loop?this.repeatCount=1/0:this.repeatCount=1})),i.getset(c,"repeatCount",(function(){return this._repeatCount}),(function(t){this._repeatCount=t;var e=this._wrapMode&o.ShouldWrap,i=(this.wrapMode&o.Reverse)===o.Reverse;this._process=t!==1/0||e||i?h:u})),i.getset(c,"delay",(function(){return this._delay}),(function(t){this._delayTime=this._delay=t})),cc.AnimationState=e.exports=l}),{"./playable":18,"./types":19}],14:[(function(t,e){"use strict";var i=Math.cos,n=Math.acos,r=Math.max,s=2*Math.PI,a=Math.sqrt;function o(t){return t<0?-Math.pow(-t,1/3):Math.pow(t,1/3)}function l(t,e){var l,c,h,u,_=e-0,f=e-t[0],d=3*_,p=3*f,m=3*(e-t[2]),y=1/(-_+p-m+(e-1)),v=(d-6*f+m)*y,g=v*(1/3),b=(-d+p)*y,A=1/3*(3*b-v*v),x=A*(1/3),C=(2*v*v*v-9*v*b+_*y*27)/27,T=C/2,S=T*T+x*x*x;if(S<0){var w=1/3*-A,E=a(w*w*w),M=-C/(2*E),D=n(M<-1?-1:M>1?1:M),B=2*o(E);return c=B*i(D*(1/3))-g,h=B*i((D+s)*(1/3))-g,u=B*i((D+2*s)*(1/3))-g,0<=c&&c<=1?0<=h&&h<=1?0<=u&&u<=1?r(c,h,u):r(c,h):0<=u&&u<=1?r(c,u):c:0<=h&&h<=1?0<=u&&u<=1?r(h,u):h:u}if(0===S)return h=-(l=T<0?o(-T):-o(T))-g,0<=(c=2*l-g)&&c<=1?0<=h&&h<=1?r(c,h):c:h;var P=a(S);return(l=o(-T+P))-o(T+P)-g}e.exports={bezier:function(t,e,i,n,r){var s=1-r;return s*(s*(t+(3*e-t)*r)+3*i*r*r)+n*r*r*r},bezierByTime:function(t,e){var i=l(t,e),n=t[1];return((1-i)*(n+(t[3]-n)*i)*3+i*i)*i}}}),{}],15:[(function(t,e){"use strict";var i={constant:function(){return 0},linear:function(t){return t},quadIn:function(t){return t*t},quadOut:function(t){return t*(2-t)},quadInOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)},cubicIn:function(t){return t*t*t},cubicOut:function(t){return--t*t*t+1},cubicInOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},quartIn:function(t){return t*t*t*t},quartOut:function(t){return 1- --t*t*t*t},quartInOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},quintIn:function(t){return t*t*t*t*t},quintOut:function(t){return--t*t*t*t*t+1},quintInOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},sineIn:function(t){return 1-Math.cos(t*Math.PI/2)},sineOut:function(t){return Math.sin(t*Math.PI/2)},sineInOut:function(t){return.5*(1-Math.cos(Math.PI*t))},expoIn:function(t){return 0===t?0:Math.pow(1024,t-1)},expoOut:function(t){return 1===t?1:1-Math.pow(2,-10*t)},expoInOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))},circIn:function(t){return 1-Math.sqrt(1-t*t)},circOut:function(t){return Math.sqrt(1- --t*t)},circInOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},elasticIn:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin(2*(t-e)*Math.PI/.4))},elasticOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin(2*(t-e)*Math.PI/.4)+1)},elasticInOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin(2*(t-e)*Math.PI/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin(2*(t-e)*Math.PI/.4)*.5+1)},backIn:function(t){var e=1.70158;return t*t*((e+1)*t-e)},backOut:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},backInOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)},bounceIn:function(t){return 1-i.bounceOut(1-t)},bounceOut:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},bounceInOut:function(t){return t<.5?.5*i.bounceIn(2*t):.5*i.bounceOut(2*t-1)+.5},smooth:function(t){return t<=0?0:t>=1?1:t*t*(3-2*t)},fade:function(t){return t<=0?0:t>=1?1:t*t*t*(t*(6*t-15)+10)}};function n(t,e){return function(i){return i<.5?e(2*i)/2:t(2*i-1)/2+.5}}i.quadOutIn=n(i.quadIn,i.quadOut),i.cubicOutIn=n(i.cubicIn,i.cubicOut),i.quartOutIn=n(i.quartIn,i.quartOut),i.quintOutIn=n(i.quintIn,i.quintOut),i.sineOutIn=n(i.sineIn,i.sineOut),i.expoOutIn=n(i.expoIn,i.expoOut),i.circOutIn=n(i.circIn,i.circOut),i.backOutIn=n(i.backIn,i.backOut),i.bounceIn=function(t){return 1-i.bounceOut(1-t)},i.bounceInOut=function(t){return t<.5?.5*i.bounceIn(2*t):.5*i.bounceOut(2*t-1)+.5},i.bounceOutIn=n(i.bounceIn,i.bounceOut),cc.easing=e.exports=i}),{}],16:[(function(t){"use strict";t("./bezier"),t("./easing"),t("./types"),t("./motion-path-helper"),t("./animation-curves"),t("./animation-clip"),t("./animation-manager"),t("./animation-state"),t("./animation-animator")}),{"./animation-animator":9,"./animation-clip":10,"./animation-curves":11,"./animation-manager":12,"./animation-state":13,"./bezier":14,"./easing":15,"./motion-path-helper":17,"./types":19}],17:[(function(t,e){"use strict";var i=t("./animation-curves").DynamicAnimCurve,n=t("./animation-curves").computeRatioByType,r=t("./bezier").bezier,s=t("../core/utils/binary-search").binarySearchEpsilon,a=cc.v2;function o(t){this.points=t||[],this.beziers=[],this.ratios=[],this.progresses=[],this.length=0,this.computeBeziers()}function l(){this.start=a(),this.end=a(),this.startCtrlPoint=a(),this.endCtrlPoint=a()}function c(t){if(!Array.isArray(t))return!1;for(var e=0,i=t.length;e0)){l=r;break}l=r-1}if(n[r=l]===i)return r/(s-1);var c=n[r];return(r+(i-c)/(n[r+1]-c))/(s-1)},e.exports={sampleMotionPaths:function(t,e,r,l,h){function u(t){return t instanceof cc.Vec2?{in:t,pos:t,out:t}:Array.isArray(t)&&6===t.length?{in:a(t[2],t[3]),pos:a(t[0],t[1]),out:a(t[4],t[5])}:{in:cc.Vec2.ZERO,pos:cc.Vec2.ZERO,out:cc.Vec2.ZERO}}var _=e.values=e.values.map((function(t){return Array.isArray(t)&&(t=2===t.length?cc.v2(t[0],t[1]):cc.v3(t[0],t[1],t[2])),t}));if(0!==t.length&&0!==_.length){for(var f=!1,d=0;d0){f=!0;break}}if(f&&1!==_.length){for(var m=e.types,y=e.ratios,v=e.values=[],g=e.types=[],b=e.ratios=[],A=0,x=i.Linear,C=0,T=t.length;C0){var L=[];L.push(u(D));for(var F=0,V=w.length;F1e-6;){var G,U,j,H;if((S=n(S=R,P))<0)H=(0-S)*(U=k.beziers[0]).getLength(),j=U.start.sub(U.endCtrlPoint).normalize(),G=U.start.add(j.mul(H));else if(S>1)H=(S-1)*(U=k.beziers[k.beziers.length-1]).getLength(),j=U.end.sub(U.startCtrlPoint).normalize(),G=U.end.add(j.mul(H));else{var W=s(z,S);W<0&&(W=~W),S-=W>0?z[W-1]:0,S/=k.ratios[W],G=k.beziers[W].getPointAt(S)}I.push(G),R+=O}}else for(;1-R>1e-6;)S=n(S=R,P),I.push(D.lerp(B,S)),R+=O;for(x="constant"===P?P:i.Linear,F=0,V=I.length;F1e-6?(R-1)*M:0}y[y.length-1]!==b[b.length-1]&&Y(_[_.length-1],x,y[y.length-1])}}function Y(t,e,i){v.push(t),g.push(e),b.push(i)}},Curve:o,Bezier:l}}),{"../core/utils/binary-search":317,"./animation-curves":11,"./bezier":14}],18:[(function(t,e){"use strict";var i=cc.js,n=t("../core/CCDebug");function r(){this._isPlaying=!1,this._isPaused=!1,this._stepOnce=!1}var s=r.prototype;i.get(s,"isPlaying",(function(){return this._isPlaying}),!0),i.get(s,"isPaused",(function(){return this._isPaused}),!0);var a=function(){};s.onPlay=a,s.onPause=a,s.onResume=a,s.onStop=a,s.onError=a,s.play=function(){this._isPlaying?this._isPaused?(this._isPaused=!1,this.onResume()):this.onError(n.getError(3912)):(this._isPlaying=!0,this.onPlay())},s.stop=function(){this._isPlaying&&(this._isPlaying=!1,this.onStop(),this._isPaused=!1)},s.pause=function(){this._isPlaying&&!this._isPaused&&(this._isPaused=!0,this.onPause())},s.resume=function(){this._isPlaying&&this._isPaused&&(this._isPaused=!1,this.onResume())},s.step=function(){this.pause(),this._stepOnce=!0,this._isPlaying||this.play()},e.exports=r}),{"../core/CCDebug":69}],19:[(function(t,e){"use strict";var i={Loop:2,ShouldWrap:4,PingPong:22,Reverse:36},n=cc.Enum({Default:0,Normal:1,Reverse:i.Reverse,Loop:i.Loop,LoopReverse:i.Loop|i.Reverse,PingPong:i.PingPong,PingPongReverse:i.PingPong|i.Reverse});function r(t){t?this.set(t):(this.ratio=0,this.time=0,this.direction=1,this.stopped=!0,this.iterations=0,this.frameIndex=void 0)}cc.WrapMode=n,r.prototype.set=function(t){this.ratio=t.ratio,this.time=t.time,this.direction=t.direction,this.stopped=t.stopped,this.iterations=t.iterations,this.frameIndex=t.frameIndex},e.exports={WrapModeMask:i,WrapMode:n,WrappedInfo:r}}),{}],20:[(function(t,e){"use strict";var i,n,r=t("../core/event/event-target"),s=t("../core/platform/CCSys"),a=t("../core/assets/CCAudioClip").LoadMode,o=!1,l=[],c=function t(e){r.call(this),this._shouldRecycleOnEnded=!1,this._src=e,this._element=null,this.id=0,this._state=t.State.INITIALZING;var i=this;this._onended=function(){i._state=t.State.STOPPED,i.emit("ended")},this._onendedSecond=function(){i._unbindEnded(i._onendedSecond),i._bindEnded()}};cc.js.extend(c,r),c.State={ERROR:-1,INITIALZING:0,PLAYING:1,PAUSED:2,STOPPED:3},(i=c.prototype)._bindEnded=function(t){if(!(t=t||this._onended)._binded){t._binded=!0;var e=this._element;this._src&&e instanceof HTMLAudioElement?e.addEventListener("ended",t):e.onended=t}},i._unbindEnded=function(t){if((t=t||this._onended)._binded){t._binded=!1;var e=this._element;e instanceof HTMLAudioElement?e.removeEventListener("ended",t):e&&(e.onended=null)}},i._onLoaded=function(){this._createElement(),this._state=c.State.INITIALZING,this.setVolume(1),this.setLoop(!1)},i._createElement=function(){var t=this._src._nativeAsset;t instanceof HTMLAudioElement?(this._element||(this._element=document.createElement("audio")),this._element.src=t.src):this._element=new h(t,this)},i.play=function(){var t=this;this._src&&this._src._ensureLoaded((function(){t._state=c.State.PLAYING,t._bindEnded();var e=t._element.play();window.Promise&&e instanceof Promise&&e.catch((function(){})),t._touchToPlay()}))},i._touchToPlay=function(){if(this._src&&this._src.loadMode===a.DOM_AUDIO&&this._element.paused&&l.push({instance:this,offset:0,audio:this._element}),!o){o=!0;var t="ontouchend"in window?"touchend":"mousedown";cc.game.canvas.addEventListener(t,(function(){for(var t;t=l.pop();)t.audio.play(t.offset)}))}},i.destroy=function(){this._element=null},i.pause=function(){if(this.getState()===c.State.PLAYING){var t=this;this._src&&this._src._ensureLoaded((function(){t._unbindEnded(),t._element.pause(),t._state=c.State.PAUSED}))}},i.resume=function(){if(this.getState()===c.State.PAUSED){var t=this;this._src&&this._src._ensureLoaded((function(){t._bindEnded(),t._element.play(),t._state=c.State.PLAYING}))}},i.stop=function(){var t=this;this._src&&this._src._ensureLoaded((function(){t._element.pause(),t._element.currentTime=0;for(var e=0;ethis._buffer.duration)},enumerable:!0,configurable:!0}),Object.defineProperty(t,"loop",{get:function(){return this._loop},set:function(t){return this._currentSource&&(this._currentSource.loop=t),this._loop=t},enumerable:!0,configurable:!0}),Object.defineProperty(t,"volume",{get:function(){return this._volume},set:function(t){if(this._volume=t,this._gainObj.gain.setTargetAtTime)try{this._gainObj.gain.setTargetAtTime(t,this._context.currentTime,n)}catch(e){this._gainObj.gain.setTargetAtTime(t,this._context.currentTime,.01)}else this._gainObj.gain.value=t;s.os===s.OS_IOS&&!this.paused&&this._currentSource&&(this._currentSource.onended=null,this.pause(),this.play())},enumerable:!0,configurable:!0}),Object.defineProperty(t,"currentTime",{get:function(){return this.paused?this.playedLength:(this.playedLength=this._context.currentTime-this._startTime,this.playedLength%=this._buffer.duration,this.playedLength)},set:function(t){return this.paused?this.playedLength=t:(this.pause(),this.playedLength=t,this.play()),t},enumerable:!0,configurable:!0}),Object.defineProperty(t,"duration",{get:function(){return this._buffer.duration},enumerable:!0,configurable:!0})})(h.prototype),e.exports=cc._Audio=c}),{"../core/assets/CCAudioClip":106,"../core/event/event-target":186,"../core/platform/CCSys":248}],21:[(function(t,e){"use strict";var i=t("./CCAudio"),n=t("../core/assets/CCAudioClip"),r=cc.js,s=0,a=r.createMap(!0),o={},l=[],c=function(t){t._shouldRecycleOnEnded&&(t._finishCallback=null,t.off("ended"),t.off("stop"),t.src=null,l.includes(t)||(l.length<32?l.push(t):t.destroy()),t._shouldRecycleOnEnded=!1)},h=function(t){var e=s++,n=o[t];if(n||(n=o[t]=[]),f._maxAudioInstance<=n.length){var r=n.shift();u(r).stop()}var h=l.pop()||new i,_=function(){if(u(this.id)){delete a[this.id];var t=n.indexOf(this.id);cc.js.array.fastRemoveAt(n,t)}c(this)};return h.on("ended",(function(){this._finishCallback&&this._finishCallback(),this.getLoop()||_.call(this)}),h),h.on("stop",_,h),h.id=e,a[e]=h,n.push(e),h},u=function(t){return a[t]},_=function(t){return void 0===t?t=1:"string"==typeof t&&(t=Number.parseFloat(t)),t},f={AudioState:i.State,_maxAudioInstance:24,_id2audio:a,play:function(t,e,i){if(!(t instanceof n))return cc.error("Wrong type of AudioClip.");var r=t.nativeUrl,s=h(r);return s.src=t,t._ensureLoaded(),s._shouldRecycleOnEnded=!0,s.setLoop(e||!1),i=_(i),s.setVolume(i),s.play(),s.id},setLoop:function(t,e){var i=u(t);i&&i.setLoop&&i.setLoop(e)},isLoop:function(t){var e=u(t);return!(!e||!e.getLoop)&&e.getLoop()},setVolume:function(t,e){var i=u(t);i&&i.setVolume(e)},getVolume:function(t){var e=u(t);return e?e.getVolume():1},setCurrentTime:function(t,e){var i=u(t);return!!i&&(i.setCurrentTime(e),!0)},getCurrentTime:function(t){var e=u(t);return e?e.getCurrentTime():0},getDuration:function(t){var e=u(t);return e?e.getDuration():0},getState:function(t){var e=u(t);return e?e.getState():this.AudioState.ERROR},setFinishCallback:function(t,e){var i=u(t);i&&(i._finishCallback=e)},pause:function(t){var e=u(t);return!!e&&(e.pause(),!0)},_pauseIDCache:[],pauseAll:function(){for(var t in a){var e=a[t];e.getState()===i.State.PLAYING&&(this._pauseIDCache.push(t),e.pause())}},resume:function(t){var e=u(t);e&&e.resume()},resumeAll:function(){for(var t=0;t0;){var n=i.pop(),r=a[n];r&&(r.stop(),delete a[n])}},uncacheAll:function(){var t;for(var e in this.stopAll(),a)(t=a[e])&&t.destroy();for(;t=l.pop();)t.destroy();a=r.createMap(!0),o={}},_breakCache:null,_break:function(){for(var t in this._breakCache=[],a){var e=a[t];e.getState()===i.State.PLAYING&&(this._breakCache.push(t),e.pause())}},_restore:function(){if(this._breakCache){for(;this._breakCache.length>0;){var t=this._breakCache.pop(),e=u(t);e&&e.resume&&e.resume()}this._breakCache=null}},_music:{id:-1,loop:!1,volume:1},_effect:{volume:1,pauseCache:[]},playMusic:function(t,e){var i=this._music;return this.stop(i.id),i.id=this.play(t,e,i.volume),i.loop=e,i.id},stopMusic:function(){this.stop(this._music.id)},pauseMusic:function(){return this.pause(this._music.id),this._music.id},resumeMusic:function(){return this.resume(this._music.id),this._music.id},getMusicVolume:function(){return this._music.volume},setMusicVolume:function(t){t=_(t);var e=this._music;return e.volume=t,this.setVolume(e.id,e.volume),e.volume},isMusicPlaying:function(){return this.getState(this._music.id)===this.AudioState.PLAYING},playEffect:function(t,e){return this.play(t,e||!1,this._effect.volume)},setEffectsVolume:function(t){t=_(t);var e=this._music.id;for(var i in this._effect.volume=t,a){var n=a[i];n&&n.id!==e&&f.setVolume(i,t)}},getEffectsVolume:function(){return this._effect.volume},pauseEffect:function(t){return this.pause(t)},pauseAllEffects:function(){var t=this._music.id,e=this._effect;for(var i in e.pauseCache.length=0,a){var n=a[i];n&&n.id!==t&&n.getState()===this.AudioState.PLAYING&&(e.pauseCache.push(i),n.pause())}},resumeEffect:function(t){this.resume(t)},resumeAllEffects:function(){for(var t=this._effect.pauseCache,e=0;e=0;--n)a[i]+=s.charCodeAt(i*e+n)<<8*n;return a},i.unzipAsArray=function(t,e){e=e||1;var i,n,r,s=this.unzip(t),a=[];for(i=0,r=s.length/e;i=0;--n)a[i]+=s.charCodeAt(i*e+n)<<8*n;return a},cc.codec=e.exports=i}),{"./base64":23,"./gzip":24}],23:[(function(t,e){"use strict";var i=t("../core/utils/misc").BASE64_VALUES,n={name:"Jacob__Codec__Base64",decode:function(t){var e,n,r,s,a,o,l=[],c=0;for(t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");c>4,n=(15&s)<<4|(a=i[t.charCodeAt(c++)])>>2,r=(3&a)<<6|(o=i[t.charCodeAt(c++)]),l.push(String.fromCharCode(e)),64!==a&&l.push(String.fromCharCode(n)),64!==o&&l.push(String.fromCharCode(r));return l.join("")},decodeAsArray:function(t,e){var i,n,r,s=this.decode(t),a=[];for(i=0,r=s.length/e;i=0;--n)a[i]+=s.charCodeAt(i*e+n)<<8*n;return a}};e.exports=n}),{"../core/utils/misc":324}],24:[(function(t,e){"use strict";var i=function(t){this.data=t,this.debug=!1,this.gpflags=void 0,this.files=0,this.unzipped=[],this.buf32k=new Array(32768),this.bIdx=0,this.modeZIP=!1,this.bytepos=0,this.bb=1,this.bits=0,this.nameBuf=[],this.fileout=void 0,this.literalTree=new Array(i.LITERALS),this.distanceTree=new Array(32),this.treepos=0,this.Places=null,this.len=0,this.fpos=new Array(17),this.fpos[0]=0,this.flens=void 0,this.fmax=void 0};i.gunzip=function(t){return t.constructor===Array||(t.constructor,String),new i(t).gunzip()[0][0]},i.HufNode=function(){this.b0=0,this.b1=0,this.jump=null,this.jumppos=-1},i.LITERALS=288,i.NAMEMAX=256,i.bitReverse=[0,128,64,192,32,160,96,224,16,144,80,208,48,176,112,240,8,136,72,200,40,168,104,232,24,152,88,216,56,184,120,248,4,132,68,196,36,164,100,228,20,148,84,212,52,180,116,244,12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,3,131,67,195,35,163,99,227,19,147,83,211,51,179,115,243,11,139,75,203,43,171,107,235,27,155,91,219,59,187,123,251,7,135,71,199,39,167,103,231,23,151,87,215,55,183,119,247,15,143,79,207,47,175,111,239,31,159,95,223,63,191,127,255],i.cplens=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],i.cplext=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,99,99],i.cpdist=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],i.cpdext=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],i.border=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],i.prototype.gunzip=function(){return this.outputArr=[],this.nextFile(),this.unzipped},i.prototype.readByte=function(){return this.bits+=8,this.bytepos>=1,0===this.bb&&(this.bb=this.readByte(),t=1&this.bb,this.bb=this.bb>>1|128),t},i.prototype.readBits=function(t){for(var e=0,n=t;n--;)e=e<<1|this.readBit();return t&&(e=i.bitReverse[e]>>8-t),e},i.prototype.flushBuffer=function(){this.bIdx=0},i.prototype.addBuffer=function(t){this.buf32k[this.bIdx++]=t,this.outputArr.push(String.fromCharCode(t)),32768===this.bIdx&&(this.bIdx=0)},i.prototype.IsPat=function(){for(;;){if(this.fpos[this.len]>=this.fmax)return-1;if(this.flens[this.fpos[this.len]]===this.len)return this.fpos[this.len]++;this.fpos[this.len]++}},i.prototype.Rec=function(){var t,e=this.Places[this.treepos];if(17===this.len)return-1;if(this.treepos++,this.len++,(t=this.IsPat())>=0)e.b0=t;else if(e.b0=32768,this.Rec())return-1;if((t=this.IsPat())>=0)e.b1=t,e.jump=null;else if(e.b1=32768,e.jump=this.Places[this.treepos],e.jumppos=this.treepos,this.Rec())return-1;return this.len--,0},i.prototype.CreateTree=function(t,e,i){var n;for(this.Places=t,this.treepos=0,this.flens=i,this.fmax=e,n=0;n<17;n++)this.fpos[n]=0;return this.len=0,this.Rec()?-1:0},i.prototype.DecodeValue=function(t){for(var e,i,n=0,r=t[n];;)if(this.readBit()){if(!(32768&r.b1))return r.b1;for(r=r.jump,e=t.length,i=0;i>1)>23?(o=o<<1|this.readBit())>199?o=(o-=128)<<1|this.readBit():(o-=48)>143&&(o+=136):o+=256,o<256)this.addBuffer(o);else{if(256===o)break;for(o-=257,p=this.readBits(i.cplext[o])+i.cplens[o],o=i.bitReverse[this.readBits(5)]>>3,i.cpdext[o]>8?(m=this.readBits(8),m|=this.readBits(i.cpdext[o]-8)<<8):m=this.readBits(i.cpdext[o]),m+=i.cpdist[o],o=0;ol)return this.flushBuffer(),1;for(f=n?_[n-1]:0;o--;)_[n++]=f}else{if(n+(o=17===o?3+this.readBits(3):11+this.readBits(7))>l)return this.flushBuffer(),1;for(;o--;)_[n++]=0}for(p=this.literalTree.length,n=0;n=256){var p,m;if(0==(o-=256))break;for(o--,p=this.readBits(i.cplext[o])+i.cplens[o],o=this.DecodeValue(this.distanceTree),i.cpdext[o]>8?(m=this.readBits(8),m|=this.readBits(i.cpdext[o]-8)<<8):m=this.readBits(i.cpdext[o]),m+=i.cpdist[o];p--;)a=this.buf32k[this.bIdx-m&32767],this.addBuffer(a)}else this.addBuffer(o)}}while(!t);return this.flushBuffer(),this.byteAlign(),0},i.prototype.unzipFile=function(t){var e;for(this.gunzip(),e=0;e>>0;t=n}for(var r,s=1,a=0,o=t.length,l=0;0>>0}function o(e,i){this.index="number"==typeof i?i:0,this.i=0,this.buffer=e instanceof(s?Uint8Array:Array)?e:new(s?Uint8Array:Array)(32768),2*this.buffer.length<=this.index&&t(Error("invalid index")),this.buffer.length<=this.index&&this.f()}o.prototype.f=function(){var t,e=this.buffer,i=e.length,n=new(s?Uint8Array:Array)(i<<1);if(s)n.set(e);else for(t=0;t>>8&255]<<16|f[t>>>16&255]<<8|f[t>>>24&255])>>32-e:f[t]>>8-e),8>e+a)o=o<>e-n-1&1,8==++a&&(a=0,r[s++]=f[o],o=0,s===r.length&&(r=this.f()));r[s]=o,this.buffer=r,this.i=a,this.index=s},o.prototype.finish=function(){var t,e=this.buffer,i=this.index;return 0l;++l){for(var h=_=l,u=7,_=_>>>1;_;_>>>=1)h<<=1,h|=1&_,--u;c[l]=(h<>>0}var f=c;function d(t){this.buffer=new(s?Uint16Array:Array)(2*t),this.length=0}function p(t){var e,i,n,r,a,o,l,c,h,u=t.length,_=0,f=Number.POSITIVE_INFINITY;for(c=0;c_&&(_=t[c]),t[c]>=1;for(h=o;hs[n]);)r=s[i],s[i]=s[n],s[n]=r,r=s[i+1],s[i+1]=s[n+1],s[n+1]=r,i=n;return this.length},d.prototype.pop=function(){var t,e,i,n,r,s=this.buffer;for(e=s[0],t=s[1],this.length-=2,s[0]=s[this.length],s[1]=s[this.length+1],r=0;!((n=2*r+2)>=this.length)&&(n+2s[n]&&(n+=2),s[n]>s[r]);)i=s[r],s[r]=s[n],s[n]=i,i=s[r+1],s[r+1]=s[n+1],s[n+1]=i,r=n;return{index:t,value:e,length:this.length}};var y,v=2,g={NONE:0,r:1,j:v,N:3},b=[];for(y=0;288>y;y++)switch(i){case 143>=y:b.push([y+48,8]);break;case 255>=y:b.push([y-144+400,9]);break;case 279>=y:b.push([y-256+0,7]);break;case 287>=y:b.push([y-280+192,8]);break;default:t("invalid literal: "+y)}function A(t,e){this.length=t,this.G=e}function x(){var e=C;switch(i){case 3===e:return[257,e-3,0];case 4===e:return[258,e-4,0];case 5===e:return[259,e-5,0];case 6===e:return[260,e-6,0];case 7===e:return[261,e-7,0];case 8===e:return[262,e-8,0];case 9===e:return[263,e-9,0];case 10===e:return[264,e-10,0];case 12>=e:return[265,e-11,1];case 14>=e:return[266,e-13,1];case 16>=e:return[267,e-15,1];case 18>=e:return[268,e-17,1];case 22>=e:return[269,e-19,2];case 26>=e:return[270,e-23,2];case 30>=e:return[271,e-27,2];case 34>=e:return[272,e-31,2];case 42>=e:return[273,e-35,3];case 50>=e:return[274,e-43,3];case 58>=e:return[275,e-51,3];case 66>=e:return[276,e-59,3];case 82>=e:return[277,e-67,4];case 98>=e:return[278,e-83,4];case 114>=e:return[279,e-99,4];case 130>=e:return[280,e-115,4];case 162>=e:return[281,e-131,5];case 194>=e:return[282,e-163,5];case 226>=e:return[283,e-195,5];case 257>=e:return[284,e-227,5];case 258===e:return[285,e-258,0];default:t("invalid length: "+e)}}m.prototype.n=function(){var n,r,a,l,c=this.input;switch(this.h){case 0:for(a=0,l=c.length;a>>8&255,y[g++]=255&_,y[g++]=_>>>8&255,s)y.set(f,g),g+=f.length,y=y.subarray(0,g);else{for(p=0,m=f.length;pJ)for(;0J?J:138)>J-3&&Q=Q?(it[K++]=17,it[K++]=Q-3,nt[17]++):(it[K++]=18,it[K++]=Q-11,nt[18]++),J-=Q;else if(it[K++]=et[Y],nt[et[Y]]++,3>--J)for(;0J?J:6)>J-3&&QU;U++)X[U]=N[W[U]];for(R=19;4=C;C++)T=x(),S[C]=T[2]<<24|T[1]<<16|T[0];var w=s?new Uint32Array(S):S;function E(n,r){function a(e,n){var r,s,a,o,l=e.G,c=[],h=0;switch(r=w[e.length],c[h++]=65535&r,c[h++]=r>>16&255,c[h++]=r>>24,i){case 1===l:s=[0,l-1,0];break;case 2===l:s=[1,l-2,0];break;case 3===l:s=[2,l-3,0];break;case 4===l:s=[3,l-4,0];break;case 6>=l:s=[4,l-5,1];break;case 8>=l:s=[5,l-7,1];break;case 12>=l:s=[6,l-9,2];break;case 16>=l:s=[7,l-13,2];break;case 24>=l:s=[8,l-17,3];break;case 32>=l:s=[9,l-25,3];break;case 48>=l:s=[10,l-33,4];break;case 64>=l:s=[11,l-49,4];break;case 96>=l:s=[12,l-65,5];break;case 128>=l:s=[13,l-97,5];break;case 192>=l:s=[14,l-129,6];break;case 256>=l:s=[15,l-193,6];break;case 384>=l:s=[16,l-257,7];break;case 512>=l:s=[17,l-385,7];break;case 768>=l:s=[18,l-513,8];break;case 1024>=l:s=[19,l-769,8];break;case 1536>=l:s=[20,l-1025,9];break;case 2048>=l:s=[21,l-1537,9];break;case 3072>=l:s=[22,l-2049,10];break;case 4096>=l:s=[23,l-3073,10];break;case 6144>=l:s=[24,l-4097,11];break;case 8192>=l:s=[25,l-6145,11];break;case 12288>=l:s=[26,l-8193,12];break;case 16384>=l:s=[27,l-12289,12];break;case 24576>=l:s=[28,l-16385,13];break;case 32768>=l:s=[29,l-24577,13];break;default:t("invalid distance")}for(r=s,c[h++]=r[0],c[h++]=r[1],c[h++]=r[2],a=0,o=c.length;a=c;)b[c++]=0;for(c=0;29>=c;)x[c++]=0}for(b[256]=1,o=0,l=r.length;o=l){for(d&&a(d,-1),c=0,h=l-o;cM&&o+ME&&(S=T,E=M),258===M)break}f=new A(E,o-S),d?d.length2*g[f-1]+b[f]&&(g[f]=2*g[f-1]+b[f]),x[f]=Array(g[f]),C[f]=Array(g[f]);for(_=0;_r[_]?(x[f][p]=m,C[f][p]=v,y+=2):(x[f][p]=r[_],C[f][p]=_,++_);T[f]=0,1===b[f]&&i(f)}for(a=A,o=0,l=n.length;o1<h&&t("undercommitted"),i=0,n=e.length;i>>=1;return o}function B(t,e){this.input=t,this.a=new(s?Uint8Array:Array)(32768),this.h=P.j;var i,n={};for(i in!e&&(e={})||"number"!=typeof e.compressionType||(this.h=e.compressionType),e)n[i]=e[i];n.outputBuffer=this.a,this.z=new m(this.input,n)}var P=g;function I(e,i){switch(this.k=[],this.l=32768,this.e=this.g=this.c=this.q=0,this.input=s?new Uint8Array(e):e,this.s=!1,this.m=O,this.B=!1,!i&&(i={})||(i.index&&(this.c=i.index),i.bufferSize&&(this.l=i.bufferSize),i.bufferType&&(this.m=i.bufferType),i.resize&&(this.B=i.resize)),this.m){case R:this.b=32768,this.a=new(s?Uint8Array:Array)(32768+this.l+258);break;case O:this.b=0,this.a=new(s?Uint8Array:Array)(this.l),this.f=this.J,this.t=this.H,this.o=this.I;break;default:t(Error("invalid inflate mode"))}}B.prototype.n=function(){var e,i,n,r,o,l,c,h=0;switch(c=this.a,e=ht){case ht:i=Math.LOG2E*Math.log(32768)-8;break;default:t(Error("invalid compression method"))}switch(n=i<<4|e,c[h++]=n,e){case ht:switch(this.h){case P.NONE:o=0;break;case P.r:o=1;break;case P.j:o=2;break;default:t(Error("unsupported compression type"))}break;default:t(Error("invalid compression method"))}return r=o<<6|0,c[h++]=r|31-(256*n+r)%31,l=a(this.input),this.z.b=h,h=(c=this.z.n()).length,s&&((c=new Uint8Array(c.buffer)).length<=h+4&&(this.a=new Uint8Array(c.length+4),this.a.set(c),c=this.a),c=c.subarray(0,h+4)),c[h++]=l>>24&255,c[h++]=l>>16&255,c[h++]=l>>8&255,c[h++]=255&l,c},r("Zlib.Deflate",B),r("Zlib.Deflate.compress",(function(t,e){return new B(t,e).n()})),r("Zlib.Deflate.CompressionType",P),r("Zlib.Deflate.CompressionType.NONE",P.NONE),r("Zlib.Deflate.CompressionType.FIXED",P.r),r("Zlib.Deflate.CompressionType.DYNAMIC",P.j);var R=0,O=1,L={D:R,C:O};I.prototype.p=function(){for(;!this.s;){var n=tt(this,3);switch(1&n&&(this.s=i),n>>>=1){case 0:var r=this.input,a=this.c,o=this.a,l=this.b,c=e,h=e,u=e,_=o.length,f=e;switch(this.e=this.g=0,(c=r[a++])===e&&t(Error("invalid uncompressed block header: LEN (first byte)")),h=c,(c=r[a++])===e&&t(Error("invalid uncompressed block header: LEN (second byte)")),h|=c<<8,(c=r[a++])===e&&t(Error("invalid uncompressed block header: NLEN (first byte)")),u=c,(c=r[a++])===e&&t(Error("invalid uncompressed block header: NLEN (second byte)")),h===~(u|=c<<8)&&t(Error("invalid uncompressed block header: length verify")),a+h>r.length&&t(Error("input buffer is broken")),this.m){case R:for(;l+h>o.length;){if(h-=f=_-l,s)o.set(r.subarray(a,a+f),l),l+=f,a+=f;else for(;f--;)o[l++]=r[a++];this.b=l,o=this.f(),l=this.b}break;case O:for(;l+h>o.length;)o=this.f({v:2});break;default:t(Error("invalid inflate mode"))}if(s)o.set(r.subarray(a,a+h),l),l+=h,a+=h;else for(;h--;)o[l++]=r[a++];this.c=a,this.b=l,this.a=o;break;case 1:this.o(K,$);break;case 2:it(this);break;default:t(Error("unknown BTYPE: "+n))}}return this.t()};var F,V,N=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],k=s?new Uint16Array(N):N,z=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,258,258],G=s?new Uint16Array(z):z,U=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0],j=s?new Uint8Array(U):U,H=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],W=s?new Uint16Array(H):H,X=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Y=s?new Uint8Array(X):X,q=new(s?Uint8Array:Array)(288);for(F=0,V=q.length;F=F?8:255>=F?9:279>=F?7:8;var J,Z,K=p(q),Q=new(s?Uint8Array:Array)(30);for(J=0,Z=Q.length;J>>n,i.e=a-n,i.c=l,r}function et(i,n){for(var r,s,a,o=i.g,l=i.e,c=i.input,h=i.c,u=n[0],_=n[1];l<_;)(r=c[h++])===e&&t(Error("input buffer is broken")),o|=r<>>16,i.g=o>>a,i.e=l-a,i.c=h,65535&s}function it(t){function e(t,e,i){var n,r,s,a;for(a=0;ar)n>=l&&(this.b=n,i=this.f(),n=this.b),i[n++]=r;else for(o=G[s=r-257],0=l&&(this.b=n,i=this.f(),n=this.b);o--;)i[n]=i[n++-a];for(;8<=this.e;)this.e-=8,this.c--;this.b=n},I.prototype.I=function(t,e){var i=this.a,n=this.b;this.u=t;for(var r,s,a,o,l=i.length;256!==(r=et(this,t));)if(256>r)n>=l&&(l=(i=this.f()).length),i[n++]=r;else for(o=G[s=r-257],0l&&(l=(i=this.f()).length);o--;)i[n]=i[n++-a];for(;8<=this.e;)this.e-=8,this.c--;this.b=n},I.prototype.f=function(){var t,e,i=new(s?Uint8Array:Array)(this.b-32768),n=this.b-32768,r=this.a;if(s)i.set(r.subarray(32768,i.length));else for(t=0,e=i.length;tt;++t)r[t]=r[n+t];return this.b=32768,r},I.prototype.J=function(t){var e,i,n,r=this.input.length/this.c+1|0,a=this.input,o=this.a;return t&&("number"==typeof t.v&&(r=t.v),"number"==typeof t.F&&(r+=t.F)),i=2>r?(n=(a.length-this.c)/this.u[2]/2*258|0)e&&(this.a.length=e),t=this.a),this.buffer=t},nt.prototype.p=function(){var e,i=this.input;return e=this.A.p(),this.c=this.A.c,this.M&&(i[this.c++]<<24|i[this.c++]<<16|i[this.c++]<<8|i[this.c++])>>>0!==a(e)&&t(Error("invalid adler-32 checksum")),e},r("Zlib.Inflate",nt),r("Zlib.Inflate.BufferType",L),L.ADAPTIVE=L.C,L.BLOCK=L.D,r("Zlib.Inflate.prototype.decompress",nt.prototype.p),s&&new Uint16Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),s&&new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,258,258]),s&&new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0]),s&&new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577]),s&&new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]);var rt,st,at=new(s?Uint8Array:Array)(288);for(rt=0,st=at.length;rt=rt?8:255>=rt?9:279>=rt?7:8;p(at);var ot,lt,ct=new(s?Uint8Array:Array)(30);for(ot=0,lt=ct.length;ot1&&this.colorKeys.sort((function(t,e){return t.time-e.time})),this.alphaKeys.length>1&&this.alphaKeys.sort((function(t,e){return t.time-e.time}))},e.evaluate=function(t){return this.getRGB(t),this._color._fastSetA(this.getAlpha(t)),this._color},e.randomColor=function(){var t=this.colorKeys[Math.trunc(Math.random()*this.colorKeys.length)],e=this.alphaKeys[Math.trunc(Math.random()*this.alphaKeys.length)];return this._color.set(t.color),this._color._fastSetA(e.alpha),this._color},e.getRGB=function(t){if(!(this.colorKeys.length>1))return 1===this.colorKeys.length?(this._color.set(this.colorKeys[0].color),this._color):(this._color.set(cc.Color.WHITE),this._color);t=(0,S.repeat)(t,1);for(var e=1;e=i&&tthis.colorKeys[s].time&&this.colorKeys[s].color.lerp(cc.Color.BLACK,(t-this.colorKeys[s].time)/(1-this.colorKeys[s].time),this._color)},e.getAlpha=function(t){if(!(this.alphaKeys.length>1))return 1===this.alphaKeys.length?this.alphaKeys[0].alpha:255;t=(0,S.repeat)(t,1);for(var e=1;e=i&&tthis.alphaKeys[s].time?(0,S.lerp)(this.alphaKeys[s].alpha,255,(t-this.alphaKeys[s].time)/(1-this.alphaKeys[s].time)):void 0},t})(),A.Mode=M,v=E((y=x).prototype,"colorKeys",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Array}}),g=E(y.prototype,"alphaKeys",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Array}}),b=E(y.prototype,"mode",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return M.Blend}}),m=y))||m);i.Gradient=P,cc.ColorKey=D,cc.AlphaKey=B,cc.Gradient=P}),{"../../../platform/CCClassDecorator":240,"../../../platform/CCEnum":241,"../../../value-types":339}],35:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r,s,a,o,l,c,h,u,_,f,d,p,m,y,v,g,b=t("../../../platform/CCClassDecorator"),A=t("../../../value-types"),x=t("../enum"),C=(n=t("./curve-range"))&&n.__esModule?n:{default:n};function T(t,e,i,n){i&&Object.defineProperty(t,e,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function S(t,e,i,n,r){var s={};return Object.keys(n).forEach((function(t){s[t]=n[t]})),s.enumerable=!!s.enumerable,s.configurable=!!s.configurable,("value"in s||s.initializer)&&(s.writable=!0),s=i.slice().reverse().reduce((function(i,n){return n(t,e,i)||i}),s),r&&void 0!==s.initializer&&(s.value=s.initializer?s.initializer.call(r):void 0,s.initializer=void 0),void 0===s.initializer&&(Object.defineProperty(t,e,s),s=null),s}var w=cc.v3(),E=cc.v3();function M(t,e,i){var n=Math.sign(t),r=Math.abs(t);return r>e&&(r=(0,A.lerp)(r,e,i)),r*n}var D=(r=(0,b.ccclass)("cc.LimitVelocityOvertimeModule"),s=(0,b.property)({type:x.Space}),a=(0,b.property)({type:C.default,range:[-1,1],visible:function(){return!this.separateAxes}}),o=(0,b.property)({type:C.default,range:[-1,1],visible:function(){return this.separateAxes}}),l=(0,b.property)({type:C.default,range:[-1,1],visible:function(){return this.separateAxes}}),c=(0,b.property)({type:C.default,range:[-1,1],visible:function(){return this.separateAxes}}),r((_=S((u=(function(){function t(){T(this,"enable",_,this),T(this,"space",f,this),T(this,"separateAxes",d,this),T(this,"limit",p,this),T(this,"limitX",m,this),T(this,"limitY",y,this),T(this,"limitZ",v,this),T(this,"dampen",g,this),this.drag=null,this.multiplyDragByParticleSize=!1,this.multiplyDragByParticleVelocity=!1,this.rotation=null,this.needTransform=!1,this.rotation=new A.Quat,this.needTransform=!1}var e=t.prototype;return e.update=function(t,e){this.needTransform=calculateTransform(t,this.space,e,this.rotation)},e.animate=function(t){var e=1-t.remainingLifetime/t.startLifetime,i=w;this.separateAxes?(A.Vec3.set(E,this.limitX.evaluate(e,(0,A.pseudoRandom)(t.randomSeed+23541)),this.limitY.evaluate(e,(0,A.pseudoRandom)(t.randomSeed+23541)),this.limitZ.evaluate(e,(0,A.pseudoRandom)(t.randomSeed+23541))),this.needTransform&&A.Vec3.transformQuat(E,E,this.rotation),A.Vec3.set(i,M(t.ultimateVelocity.x,E.x,this.dampen),M(t.ultimateVelocity.y,E.y,this.dampen),M(t.ultimateVelocity.z,E.z,this.dampen))):(A.Vec3.normalize(i,t.ultimateVelocity),A.Vec3.scale(i,i,M(t.ultimateVelocity.len(),this.limit.evaluate(e,(0,A.pseudoRandom)(t.randomSeed+23541)),this.dampen))),A.Vec3.copy(t.ultimateVelocity,i)},t})()).prototype,"enable",[b.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),f=S(u.prototype,"space",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return x.Space.Local}}),d=S(u.prototype,"separateAxes",[b.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),p=S(u.prototype,"limit",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new C.default}}),m=S(u.prototype,"limitX",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new C.default}}),y=S(u.prototype,"limitY",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new C.default}}),v=S(u.prototype,"limitZ",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new C.default}}),g=S(u.prototype,"dampen",[b.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 3}}),h=u))||h);i.default=D,e.exports=i.default}),{"../../../platform/CCClassDecorator":240,"../../../value-types":339,"../enum":43,"./curve-range":31}],36:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r,s,a,o,l,c,h,u,_,f,d,p=t("../../../platform/CCClassDecorator"),m=t("../../../value-types"),y=(n=t("./curve-range"))&&n.__esModule?n:{default:n};function v(t,e,i,n){i&&Object.defineProperty(t,e,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function g(t,e){for(var i=0;i0){var i=(0,p.repeat)(t._time-t.startDelay.evaluate(0,1),t.duration)-e;i=i>0?i:0;var n=(0,p.repeat)(t.time-t.startDelay.evaluate(0,1),t.duration);this._curTime>=i&&this._curTimethis.keyFrames[0].time)if(e>=this.keyFrames[this.keyFrames.length-1].time)s=this.keyFrames.length-2;else for(var a=0;a=this.keyFrames[0].time&&e<=this.keyFrames[a+1].time){s=a;break}var o=this.keyFrames[s],l=this.keyFrames[s+1],c=(0,b.inverseLerp)(o.time,l.time,e),h=l.time-o.time,u=o.outTangent*h,_=l.inTangent*h,f=c*c,d=f*c,p=d-2*f+c,m=d-f,y=-2*d+3*f;return(2*d-3*f+1)*o.value+p*u+m*_+y*l.value},e.evaluate=function(t){var e=t,i=t<0?this.preWrapMode:this.postWrapMode,n=this.keyFrames[0].time,r=this.keyFrames[this.keyFrames.length-1].time;switch(i){case T.Loop:e=(0,b.repeat)(t-n,r-n)+n;break;case T.PingPong:e=(0,b.pingPong)(t-n,r-n)+n;break;case T.ClampForever:e=(0,b.clamp)(t,n,r)}if(e>=this.cachedKey.time&&ethis.keyFrames[i].time)for(var n=0;n<3;n++){var r=i+n;if(r+1e)return r}else for(var s=0;s<3;s++){var a=i-s;if(a-1>=0&&this.keyFrames[a-1].time<=e)return a-1}for(var o,l=0,c=this.keyFrames.length;c-l>1;)o=Math.floor((l+c)/2),this.keyFrames[o].time>=e?c=o:l=o;return l},t})()).prototype,"keyFrames",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Array}}),y=C(p.prototype,"preWrapMode",[_],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return T.ClampForever}}),v=C(p.prototype,"postWrapMode",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return T.ClampForever}}),d=p))||d);i.AnimationCurve=B,cc.Keyframe=S,cc.AnimationCurve=B}),{"../../platform/CCClassDecorator":240,"../../platform/CCEnum":241,"../../value-types":339}],42:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r,s,a,o,l,c,h,u,_,f,d,p,m,y,v,g,b,A,x,C,T,S,w,E,M,D,B=t("../../../platform/CCClassDecorator"),P=t("../../../value-types"),I=(n=t("../animator/curve-range"))&&n.__esModule?n:{default:n},R=t("../particle-general-function"),O=t("../enum");function L(t,e,i,n){i&&Object.defineProperty(t,e,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(n):void 0})}function F(t,e){for(var i=0;i0&&(t.position.x+=(0,P.randomRange)(-this.randomPositionAmount,this.randomPositionAmount),t.position.y+=(0,P.randomRange)(-this.randomPositionAmount,this.randomPositionAmount),t.position.z+=(0,P.randomRange)(-this.randomPositionAmount,this.randomPositionAmount)),P.Vec3.transformQuat(t.velocity,t.velocity,this.quat),P.Vec3.transformMat4(t.position,t.position,this.mat),this.sphericalDirectionAmount>0){var a=P.Vec3.normalize(N,t.position);P.Vec3.lerp(t.velocity,t.velocity,a,this.sphericalDirectionAmount)}this.lastTime=this.particleSystem._time},n.generateArcAngle=function(){if(this.arcMode===O.ArcMode.Random)return(0,P.randomRange)(0,this._arc);var t=this.totalAngle+2*Math.PI*this.arcSpeed.evaluate(this.particleSystem._time,1)*(this.particleSystem._time-this.lastTime);switch(this.totalAngle=t,0!==this.arcSpread&&(t=Math.floor(t/(this._arc*this.arcSpread))*this._arc*this.arcSpread),this.arcMode){case O.ArcMode.Loop:return(0,P.repeat)(t,this._arc);case O.ArcMode.PingPong:return(0,P.pingPong)(t,this._arc)}},e=t,(i=[{key:"shapeType",get:function(){return this._shapeType},set:function(t){switch(this._shapeType=t,this._shapeType){case O.ShapeType.Box:this.emitFrom===O.EmitLocation.Base&&(this.emitFrom=O.EmitLocation.Volume);break;case O.ShapeType.Cone:this.emitFrom===O.EmitLocation.Edge&&(this.emitFrom=O.EmitLocation.Base);break;case O.ShapeType.Sphere:case O.ShapeType.Hemisphere:this.emitFrom!==O.EmitLocation.Base&&this.emitFrom!==O.EmitLocation.Edge||(this.emitFrom=O.EmitLocation.Volume)}}},{key:"angle",get:function(){return Math.round(100*(0,P.toDegree)(this._angle))/100},set:function(t){this._angle=(0,P.toRadian)(t)}},{key:"arc",get:function(){return(0,P.toDegree)(this._arc)},set:function(t){this._arc=(0,P.toRadian)(t)}},{key:"position",get:function(){return this._position},set:function(t){this._position=t,this.constructMat()}},{key:"rotation",get:function(){return this._rotation},set:function(t){this._rotation=t,this.constructMat()}},{key:"scale",get:function(){return this._scale},set:function(t){this._scale=t,this.constructMat()}}])&&F(e.prototype,i),t})()).prototype,"enable",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),_=V(h.prototype,"_shapeType",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return O.ShapeType.Cone}}),V(h.prototype,"shapeType",[s],Object.getOwnPropertyDescriptor(h.prototype,"shapeType"),h.prototype),f=V(h.prototype,"emitFrom",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return O.EmitLocation.Volume}}),d=V(h.prototype,"radius",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),p=V(h.prototype,"radiusThickness",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),m=V(h.prototype,"_angle",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(0,P.toRadian)(25)}}),V(h.prototype,"angle",[B.property],Object.getOwnPropertyDescriptor(h.prototype,"angle"),h.prototype),y=V(h.prototype,"_arc",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(0,P.toRadian)(360)}}),V(h.prototype,"arc",[B.property],Object.getOwnPropertyDescriptor(h.prototype,"arc"),h.prototype),v=V(h.prototype,"arcMode",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return O.ArcMode.Random}}),g=V(h.prototype,"arcSpread",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),b=V(h.prototype,"arcSpeed",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new I.default}}),A=V(h.prototype,"length",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 5}}),x=V(h.prototype,"boxThickness",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new P.Vec3(0,0,0)}}),C=V(h.prototype,"_position",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new P.Vec3(0,0,0)}}),V(h.prototype,"position",[B.property],Object.getOwnPropertyDescriptor(h.prototype,"position"),h.prototype),T=V(h.prototype,"_rotation",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new P.Vec3(0,0,0)}}),V(h.prototype,"rotation",[B.property],Object.getOwnPropertyDescriptor(h.prototype,"rotation"),h.prototype),S=V(h.prototype,"_scale",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new P.Vec3(1,1,1)}}),V(h.prototype,"scale",[B.property],Object.getOwnPropertyDescriptor(h.prototype,"scale"),h.prototype),w=V(h.prototype,"alignToDirection",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),E=V(h.prototype,"randomDirectionAmount",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),M=V(h.prototype,"sphericalDirectionAmount",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),D=V(h.prototype,"randomPositionAmount",[B.property],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),c=h))||c);function U(t,e,i,n,r){switch(t){case O.EmitLocation.Volume:(0,R.randomPointBetweenSphere)(n,e*(1-i),e),P.Vec3.copy(r,n),P.Vec3.normalize(r,r);break;case O.EmitLocation.Shell:(0,R.randomUnitVector)(n),P.Vec3.scale(n,n,e),P.Vec3.copy(r,n);break;default:console.warn(t+" is not supported for sphere emitter.")}}function j(t,e,i,n,r){switch(t){case O.EmitLocation.Volume:(0,R.randomPointBetweenSphere)(n,e*(1-i),e),n.z>0&&(n.z*=-1),P.Vec3.copy(r,n),P.Vec3.normalize(r,r);break;case O.EmitLocation.Shell:(0,R.randomUnitVector)(n),P.Vec3.scale(n,n,e),n.z<0&&(n.z*=-1),P.Vec3.copy(r,n);break;default:console.warn(t+" is not supported for hemisphere emitter.")}}function H(t,e,i,n,r,s,a,o){switch(t){case O.EmitLocation.Base:(0,R.randomPointBetweenCircleAtFixedAngle)(a,e*(1-i),e,n),P.Vec2.scale(o,a,Math.sin(r)),o.z=-Math.cos(r)*e,P.Vec3.normalize(o,o),a.z=0;break;case O.EmitLocation.Shell:(0,R.fixedAngleUnitVector2)(a,n),P.Vec2.scale(o,a,Math.sin(r)),o.z=-Math.cos(r),P.Vec3.normalize(o,o),P.Vec2.scale(a,a,e),a.z=0;break;case O.EmitLocation.Volume:(0,R.randomPointBetweenCircleAtFixedAngle)(a,e*(1-i),e,n),P.Vec2.scale(o,a,Math.sin(r)),o.z=-Math.cos(r)*e,P.Vec3.normalize(o,o),a.z=0,P.Vec3.add(a,a,P.Vec3.scale(N,o,s*(0,P.random)()/-o.z));break;default:console.warn(t+" is not supported for cone emitter.")}}function W(t,e,i,n){switch(t){case O.EmitLocation.Volume:(0,R.randomPointInCube)(i,z);break;case O.EmitLocation.Shell:k.splice(0,k.length),k.push((0,P.randomRange)(-.5,.5)),k.push((0,P.randomRange)(-.5,.5)),k.push(.5*(0,R.randomSign)()),(0,R.randomSortArray)(k),X(k,e),P.Vec3.set(i,k[0],k[1],k[2]);break;case O.EmitLocation.Edge:k.splice(0,k.length),k.push((0,P.randomRange)(-.5,.5)),k.push(.5*(0,R.randomSign)()),k.push(.5*(0,R.randomSign)()),(0,R.randomSortArray)(k),X(k,e),P.Vec3.set(i,k[0],k[1],k[2]);break;default:console.warn(t+" is not supported for box emitter.")}P.Vec3.copy(n,R.particleEmitZAxis)}function X(t,e){e.x>0&&(t[0]+=.5*(0,P.randomRange)(-e.x,e.x),t[0]=(0,P.clamp)(t[0],-.5,.5)),e.y>0&&(t[1]+=.5*(0,P.randomRange)(-e.y,e.y),t[1]=(0,P.clamp)(t[1],-.5,.5)),e.z>0&&(t[2]+=.5*(0,P.randomRange)(-e.z,e.z),t[2]=(0,P.clamp)(t[2],-.5,.5))}i.default=G,e.exports=i.default}),{"../../../platform/CCClassDecorator":240,"../../../value-types":339,"../animator/curve-range":31,"../enum":43,"../particle-general-function":44}],43:[(function(t,e,i){"use strict";i.__esModule=!0,i.TrailMode=i.TextureMode=i.Space=i.ShapeType=i.RenderMode=i.EmitLocation=i.ArcMode=void 0;var n,r=(n=t("../../platform/CCEnum"))&&n.__esModule?n:{default:n},s=(0,r.default)({World:0,Local:1,Custom:2});i.Space=s;var a=(0,r.default)({Billboard:0,StrecthedBillboard:1,HorizontalBillboard:2,VerticalBillboard:3,Mesh:4});i.RenderMode=a;var o=(0,r.default)({Box:0,Circle:1,Cone:2,Sphere:3,Hemisphere:4});i.ShapeType=o;var l=(0,r.default)({Base:0,Edge:1,Shell:2,Volume:3});i.EmitLocation=l;var c=(0,r.default)({Random:0,Loop:1,PingPong:2});i.ArcMode=c;var h=(0,r.default)({Particles:0,Ribbon:1});i.TrailMode=h;var u=(0,r.default)({Stretch:0,Repeat:1});i.TextureMode=u}),{"../../platform/CCEnum":241}],44:[(function(t,e,i){"use strict";i.__esModule=!0,i.calculateTransform=function(t,e,i,r){return e!==t?(t===s.Space.World?n.Mat4.getRotation(r,i):(n.Mat4.invert(i,i),n.Mat4.getRotation(r,i)),!0):(n.Quat.set(r,0,0,0,1),!1)},i.fixedAngleUnitVector2=o,i.particleEmitZAxis=void 0,i.randomPointBetweenCircle=function(t,e,i){l(t),t.z=0,n.Vec3.scale(t,t,e+(i-e)*(0,n.random)())},i.randomPointBetweenCircleAtFixedAngle=function(t,e,i,r){o(t,r),t.z=0,n.Vec3.scale(t,t,e+(i-e)*(0,n.random)())},i.randomPointBetweenCube=function(t,e,i){for(var r=["x","y","z"],s=(0,n.randomRangeInt)(0,3),a=0;a<3;a++)if(a!==s){var o=2*(0,n.random)()-1;t[r[a]]=o<0?-e[r[a]]+o*(i[r[a]]-e[r[a]]):e[r[a]]+o*(i[r[a]]-e[r[a]])}else t[r[a]]=(0,n.randomRange)(-i[r[a]],i[r[a]])},i.randomPointBetweenSphere=function(t,e,i){c(t),n.Vec3.scale(t,t,e+(i-e)*(0,n.random)())},i.randomPointInCube=function(t,e){n.Vec3.set(t,(0,n.randomRange)(-e.x,e.x),(0,n.randomRange)(-e.y,e.y),(0,n.randomRange)(-e.z,e.z))},i.randomPointInUnitCircle=function(t){l(t),t.z=0,n.Vec3.scale(t,t,(0,n.random)())},i.randomPointInUnitSphere=function(t){c(t),n.Vec3.scale(t,t,(0,n.random)())},i.randomSign=function(){var t=(0,n.randomRange)(-1,1);return 0===t&&t++,(0,r.sign)(t)},i.randomSortArray=function(t){for(var e=0;e=t.length?{done:!0}:{done:!1,value:t[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function Ft(t,e){if(t){if("string"==typeof t)return Vt(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?Vt(t,e):void 0}}function Vt(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);ie){if(this._time>this.duration+e&&!this.loop)return void(this._isEmitting=!1);if(this._emitRateTimeCounter+=this.rateOverTime.evaluate(this._time/this.duration,1)*t,this._emitRateTimeCounter>1&&this._isEmitting){var i=Math.floor(this._emitRateTimeCounter);this._emitRateTimeCounter-=i,this.emit(i,t)}this.node.getWorldPosition(this._curWPos);var n=pt.Vec3.distance(this._curWPos,this._oldWPos);if(pt.Vec3.copy(this._oldWPos,this._curWPos),this._emitRateDistanceCounter+=n*this.rateOverDistance.evaluate(this._time/this.duration,1),this._emitRateDistanceCounter>1&&this._isEmitting){var r=Math.floor(this._emitRateDistanceCounter);this._emitRateDistanceCounter-=r,this.emit(r,t)}for(var s,a=Lt(this.bursts);!(s=a()).done;)s.value.update(this,t)}},a._activateMaterial=function(){},a._resetPosition=function(){this.node.getWorldPosition(this._oldWPos),pt.Vec3.copy(this._curWPos,this._oldWPos)},a.addSubEmitter=function(t){this._subEmitters.push(t)},a.removeSubEmitter=function(t){this._subEmitters.splice(this._subEmitters.indexOf(t),1)},a.addBurst=function(t){this.bursts.push(t)},a.removeBurst=function(t){this.bursts.splice(this.bursts.indexOf(t),1)},a._checkBacth=function(){},r=n,(s=[{key:"capacity",get:function(){return this._capacity},set:function(t){this._capacity=t,this._assembler&&this._assembler.setCapacity(this._capacity)}},{key:"prewarm",get:function(){return this._prewarm},set:function(t){!0===t&&this.loop,this._prewarm=t}},{key:"simulationSpace",get:function(){return this._simulationSpace},set:function(t){t!==this._simulationSpace&&(this._simulationSpace=t,this._assembler._updateMaterialParams(),this._assembler._updateTrailMaterial())}},{key:"materials",get:function(){return this._materials},set:function(t){this._materials=t,this._activateMaterial()}},{key:"shapeModule",get:function(){return this._shapeModule},set:function(t){this._shapeModule=t,this._shapeModule.onInit(this)}},{key:"colorOverLifetimeModule",get:function(){return this._colorOverLifetimeModule},set:function(t){this._colorOverLifetimeModule=t}},{key:"sizeOvertimeModule",get:function(){return this._sizeOvertimeModule},set:function(t){this._sizeOvertimeModule=t}},{key:"velocityOvertimeModule",get:function(){return this._velocityOvertimeModule},set:function(t){this._velocityOvertimeModule=t}},{key:"forceOvertimeModule",get:function(){return this._forceOvertimeModule},set:function(t){this._forceOvertimeModule=t}},{key:"limitVelocityOvertimeModule",get:function(){return this._limitVelocityOvertimeModule},set:function(t){this._limitVelocityOvertimeModule=t}},{key:"rotationOvertimeModule",get:function(){return this._rotationOvertimeModule},set:function(t){this._rotationOvertimeModule=t}},{key:"textureAnimationModule",get:function(){return this._textureAnimationModule},set:function(t){this._textureAnimationModule=t,this._textureAnimationModule.onInit(this)}},{key:"trailModule",get:function(){return this._trailModule},set:function(t){this._trailModule=t,this._trailModule.onInit(this)}},{key:"renderMode",get:function(){return this._renderMode},set:function(t){this._renderMode!==t&&(this._renderMode=t,this._assembler._setVertexAttrib(),this._assembler._updateModel(),this._assembler._updateMaterialParams())}},{key:"velocityScale",get:function(){return this._velocityScale},set:function(t){this._velocityScale=t,this._assembler._updateMaterialParams()}},{key:"lengthScale",get:function(){return this._lengthScale},set:function(t){this._lengthScale=t,this._assembler._updateMaterialParams()}},{key:"mesh",get:function(){return this._mesh},set:function(t){this._mesh=t,this._assembler._updateModel()}},{key:"particleMaterial",get:function(){return this.getMaterial(0)},set:function(t){this.setMaterial(0,t),this._onMaterialModified(0,t)}},{key:"trailMaterial",get:function(){return this.getMaterial(1)},set:function(t){this.setMaterial(1,t),this._onMaterialModified(1,t)}},{key:"isPlaying",get:function(){return this._isPlaying}},{key:"isPaused",get:function(){return this._isPaused}},{key:"isStopped",get:function(){return this._isStopped}},{key:"isEmitting",get:function(){return this._isEmitting}},{key:"time",get:function(){return this._time}}])&&kt(r.prototype,s),n})(Jt)).prototype,"duration",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 5}}),k=Ut(V.prototype,"_capacity",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 100}}),Ut(V.prototype,"capacity",[Xt],Object.getOwnPropertyDescriptor(V.prototype,"capacity"),V.prototype),z=Ut(V.prototype,"loop",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),G=Ut(V.prototype,"playOnAwake",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),U=Ut(V.prototype,"_prewarm",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Ut(V.prototype,"prewarm",[o],Object.getOwnPropertyDescriptor(V.prototype,"prewarm"),V.prototype),j=Ut(V.prototype,"_simulationSpace",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Dt.Space.Local}}),Ut(V.prototype,"simulationSpace",[l],Object.getOwnPropertyDescriptor(V.prototype,"simulationSpace"),V.prototype),H=Ut(V.prototype,"simulationSpeed",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),W=Ut(V.prototype,"startDelay",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new gt.default}}),X=Ut(V.prototype,"startLifetime",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new gt.default}}),Y=Ut(V.prototype,"startColor",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new At.default}}),q=Ut(V.prototype,"scaleSpace",[_],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Dt.Space.Local}}),J=Ut(V.prototype,"startSize",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new gt.default}}),Z=Ut(V.prototype,"startSpeed",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new gt.default}}),K=Ut(V.prototype,"startRotation",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new gt.default}}),Q=Ut(V.prototype,"gravityModifier",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new gt.default}}),$=Ut(V.prototype,"rateOverTime",[y],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new gt.default}}),tt=Ut(V.prototype,"rateOverDistance",[v],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new gt.default}}),et=Ut(V.prototype,"bursts",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Array}}),Ut(V.prototype,"materials",[b],Object.getOwnPropertyDescriptor(V.prototype,"materials"),V.prototype),it=Ut(V.prototype,"_shapeModule",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Mt.default}}),Ut(V.prototype,"shapeModule",[A],Object.getOwnPropertyDescriptor(V.prototype,"shapeModule"),V.prototype),nt=Ut(V.prototype,"_colorOverLifetimeModule",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new vt.default}}),Ut(V.prototype,"colorOverLifetimeModule",[x],Object.getOwnPropertyDescriptor(V.prototype,"colorOverLifetimeModule"),V.prototype),rt=Ut(V.prototype,"_sizeOvertimeModule",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Tt.default}}),Ut(V.prototype,"sizeOvertimeModule",[C],Object.getOwnPropertyDescriptor(V.prototype,"sizeOvertimeModule"),V.prototype),st=Ut(V.prototype,"_velocityOvertimeModule",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new wt.default}}),Ut(V.prototype,"velocityOvertimeModule",[T],Object.getOwnPropertyDescriptor(V.prototype,"velocityOvertimeModule"),V.prototype),at=Ut(V.prototype,"_forceOvertimeModule",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new bt.default}}),Ut(V.prototype,"forceOvertimeModule",[S],Object.getOwnPropertyDescriptor(V.prototype,"forceOvertimeModule"),V.prototype),ot=Ut(V.prototype,"_limitVelocityOvertimeModule",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new xt.default}}),Ut(V.prototype,"limitVelocityOvertimeModule",[w],Object.getOwnPropertyDescriptor(V.prototype,"limitVelocityOvertimeModule"),V.prototype),lt=Ut(V.prototype,"_rotationOvertimeModule",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Ct.default}}),Ut(V.prototype,"rotationOvertimeModule",[E],Object.getOwnPropertyDescriptor(V.prototype,"rotationOvertimeModule"),V.prototype),ct=Ut(V.prototype,"_textureAnimationModule",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new St.default}}),Ut(V.prototype,"textureAnimationModule",[M],Object.getOwnPropertyDescriptor(V.prototype,"textureAnimationModule"),V.prototype),ht=Ut(V.prototype,"_trailModule",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Pt.default}}),Ut(V.prototype,"trailModule",[D],Object.getOwnPropertyDescriptor(V.prototype,"trailModule"),V.prototype),ut=Ut(V.prototype,"_renderMode",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Dt.RenderMode.Billboard}}),Ut(V.prototype,"renderMode",[B],Object.getOwnPropertyDescriptor(V.prototype,"renderMode"),V.prototype),_t=Ut(V.prototype,"_velocityScale",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),Ut(V.prototype,"velocityScale",[P],Object.getOwnPropertyDescriptor(V.prototype,"velocityScale"),V.prototype),ft=Ut(V.prototype,"_lengthScale",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),Ut(V.prototype,"lengthScale",[I],Object.getOwnPropertyDescriptor(V.prototype,"lengthScale"),V.prototype),dt=Ut(V.prototype,"_mesh",[Xt],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),Ut(V.prototype,"mesh",[R],Object.getOwnPropertyDescriptor(V.prototype,"mesh"),V.prototype),Ut(V.prototype,"particleMaterial",[O],Object.getOwnPropertyDescriptor(V.prototype,"particleMaterial"),V.prototype),Ut(V.prototype,"trailMaterial",[L],Object.getOwnPropertyDescriptor(V.prototype,"trailMaterial"),V.prototype),F=V))||F)||F)||F)||F);i.default=Kt,cc.ParticleSystem3D=Kt,e.exports=i.default}),{"../../assets/material/CCMaterial":124,"../../components/CCRenderComponent":160,"../../mesh/CCMesh":207,"../../platform/CCClassDecorator":240,"../../value-types":339,"../../value-types/utils":346,"./animator/color-overtime":30,"./animator/curve-range":31,"./animator/force-overtime":32,"./animator/gradient-range":33,"./animator/limit-velocity-overtime":35,"./animator/rotation-overtime":36,"./animator/size-overtime":37,"./animator/texture-animation":38,"./animator/velocity-overtime":39,"./burst":40,"./emitter/shape-module":42,"./enum":43,"./particle-general-function":44,"./renderer/trail":49}],46:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("../../value-types");i.default=function(t){this.particleSystem=null,this.position=null,this.velocity=null,this.animatedVelocity=null,this.ultimateVelocity=null,this.angularVelocity=null,this.axisOfRotation=null,this.rotation=null,this.startSize=null,this.size=null,this.startColor=null,this.color=cc.Color.WHITE,this.randomSeed=null,this.remainingLifetime=null,this.startLifetime=null,this.emitAccumulator0=null,this.emitAccumulator1=null,this.frameIndex=null,this.particleSystem=t,this.position=new n.Vec3(0,0,0),this.velocity=new n.Vec3(0,0,0),this.animatedVelocity=new n.Vec3(0,0,0),this.ultimateVelocity=new n.Vec3(0,0,0),this.angularVelocity=new n.Vec3(0,0,0),this.axisOfRotation=new n.Vec3(0,0,0),this.rotation=new n.Vec3(0,0,0),this.startSize=new n.Vec3(0,0,0),this.size=new n.Vec3(0,0,0),this.startColor=cc.Color.WHITE.clone(),this.color=cc.Color.WHITE.clone(),this.randomSeed=0,this.remainingLifetime=0,this.startLifetime=0,this.emitAccumulator0=0,this.emitAccumulator1=0,this.frameIndex=0},e.exports=i.default}),{"../../value-types":339}],47:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=a(t("../../../../renderer/gfx")),r=a(t("../../../../renderer/core/input-assembler")),s=t("../../../mesh/mesh-data");function a(t){return t&&t.__esModule?t:{default:t}}var o=t("../../../renderer"),l=(function(){function t(){this._capacity=0,this._vertFormat=null,this._vertAttrsFloatCount=0,this._mesh=null,this._vertCount=0,this._indexCount=0,this._material=null,this._capacity=0,this._vertFormat=null,this._vertAttrsFloatCount=0,this._mesh=null,this._subDatas=[],this._subMeshes=[]}var e=t.prototype;return e.setCapacity=function(t){var e=this._capacity!==t;this._capacity=t,this._inited&&e&&this._recreateBuffer()},e.setVertexAttributes=function(t,e){this._mesh===t&&this._vertFormat===e||(this._mesh=t,this._vertFormat=e,this._vertAttrsFloatCount=this._vertFormat._bytes/4,this._createParticleData(),this._inited=!0)},e._recreateBuffer=function(){this._createParticleData()},e._createParticleData=function(){this.destroyIAData(),this._vertCount=4,this._indexCount=6;var t=null,e=null,i=this._vertFormat._bytes;if(this._mesh){var a=this._mesh._subDatas[0];this._vertCount=a.vData.byteLength/a.vfm._bytes,this._indexCount=a.iData.byteLength/2,t=new Float32Array(i*this._capacity*this._vertCount/4),e=new Uint16Array(this._capacity*this._indexCount);var l=this._vertFormat.element(n.default.ATTR_TEX_COORD3),c=this._vertFormat.element(n.default.ATTR_NORMAL),h=this._vertFormat.element(n.default.ATTR_TEX_COORD),u=this._vertFormat.element(n.default.ATTR_COLOR1);if(this._mesh.copyAttribute(0,n.default.ATTR_POSITION,t.buffer,i,l.offset),this._mesh.copyAttribute(0,n.default.ATTR_NORMAL,t.buffer,i,c.offset),this._mesh.copyAttribute(0,n.default.ATTR_UV0,t.buffer,i,h.offset),!this._mesh.copyAttribute(0,n.default.ATTR_COLOR,t.buffer,i,u.offset))for(var _=new Uint32Array(t.buffer),f=0;f=this._particleSystem.capacity?null:this._particles.add()},s._setNewParticle=function(){},s._updateParticles=function(t){switch(this._particleSystem.node.getWorldMatrix(v),this._particleSystem.scaleSpace){case c.Space.Local:this._particleSystem.node.getScale(this._node_scale);break;case c.Space.World:this._particleSystem.node.getWorldScale(this._node_scale)}(this._particleSystem.materials[0]?this._particleSystem.particleMaterial:this._defaultMat).setProperty("scale",this._node_scale),this._particleSystem.velocityOvertimeModule.enable&&this._particleSystem.velocityOvertimeModule.update(this._particleSystem._simulationSpace,v),this._particleSystem.forceOvertimeModule.enable&&this._particleSystem.forceOvertimeModule.update(this._particleSystem._simulationSpace,v),this._particleSystem.trailModule.enable&&this._particleSystem.trailModule.update();for(var e=0;e=t.length?{done:!0}:{done:!1,value:t[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function L(t,e){if(t){if("string"==typeof t)return F(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?F(t,e):void 0}}function F(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i=this.trailElements.length&&(t%=this.trailElements.length),this.trailElements[t])},e.addElement=function(){if(0===this.trailElements.length)return null;if(-1===this.start)return this.start=0,this.end=1,this.trailElements[0];this.start===this.end&&(this.trailElements.splice(this.end,0,{position:cc.v3(),lifetime:0,width:0,velocity:cc.v3(),direction:0,color:cc.color()}),this.start++,this.start%=this.trailElements.length);var t=this.end++;return this.end%=this.trailElements.length,this.trailElements[t]},e.iterateElement=function(t,e,i,n){for(var r=this.start>=this.end?this.end+this.trailElements.length:this.end,s=this.start;s2){var a=i.getElement(i.end-2),o=i.getElement(i.end-3);w.Vec3.subtract(H,o.position,a.position),w.Vec3.subtract(W,n.position,a.position),w.Vec3.subtract(a.velocity,W,H),w.Vec3.equals(cc.Vec3.ZERO,a.velocity)&&w.Vec3.copy(a.velocity,H)}this.colorFromParticle?n.color.set(t.color):n.color.set(this.colorOvertime.evaluate(0,1))}}},n._updateTrailElement=function(t,e,i,n){return e.lifetime+=n,t.colorFromParticle?(e.color.set(i.color),e.color.multiply(t.colorOvertime.evaluate(1-i.remainingLifetime/i.startLifetime,1))):e.color.set(t.colorOvertime.evaluate(1-i.remainingLifetime/i.startLifetime,1)),t.widthFromParticle?e.width=i.size.x*t.widthRatio.evaluate(e.lifetime/t._trailLifetime,1):e.width=t.widthRatio.evaluate(e.lifetime/t._trailLifetime,1),e.lifetime>t._trailLifetime},n.removeParticle=function(t){var e=this._particleTrail.get(t);e&&this._trailSegments&&(e.clear(),this._trailSegments.free(e),this._particleTrail.delete(t))},n.updateTrailBuffer=function(){this.vbOffset=0,this.ibOffset=0;for(var t,e=O(this._particleTrail.keys());!(t=e()).done;){var i=t.value,n=this._particleTrail.get(i);if(-1!==n.start){var r=4*this.vbOffset/this._vertSize,s=n.start>=n.end?n.end+n.trailElements.length:n.end,a=s-n.start,o=1/a,l=n.trailElements[n.start];this._fillVertexBuffer(l,this.colorOverTrail.evaluate(1,1),r,1,0,4);for(var c=n.start+1;c2){var f=n.getElement(n.end-1),d=n.getElement(n.end-2);w.Vec3.subtract(H,d.position,f.position),w.Vec3.subtract(W,G.position,f.position),w.Vec3.normalize(H,H),w.Vec3.normalize(W,W),w.Vec3.subtract(f.velocity,W,H),w.Vec3.normalize(f.velocity,f.velocity),this._checkDirectionReverse(f,d),this.vbOffset-=this._vertSize/4*2,this.ibOffset-=6,this._fillVertexBuffer(f,this.colorOverTrail.evaluate(o,1),r,o,a-1,5),w.Vec3.subtract(G.velocity,G.position,f.position),w.Vec3.normalize(G.velocity,G.velocity),this._checkDirectionReverse(G,f)}this.widthFromParticle?G.width=i.size.x*this.widthRatio.evaluate(0,1):G.width=this.widthRatio.evaluate(0,1),G.color=i.color,w.Vec3.equals(G.velocity,cc.Vec3.ZERO)?this.ibOffset-=3:this._fillVertexBuffer(G,this.colorOverTrail.evaluate(0,1),r,0,a,1)}}this._updateIA(this.ibOffset)},n._fillVertexBuffer=function(t,e,i,n,r,s){this._vbF32[this.vbOffset++]=t.position.x,this._vbF32[this.vbOffset++]=t.position.y,this._vbF32[this.vbOffset++]=t.position.z,this._vbF32[this.vbOffset++]=0,this._vbF32[this.vbOffset++]=t.width,this._vbF32[this.vbOffset++]=n,this._vbF32[this.vbOffset++]=0,this._vbF32[this.vbOffset++]=t.velocity.x,this._vbF32[this.vbOffset++]=t.velocity.y,this._vbF32[this.vbOffset++]=t.velocity.z,X.set(t.color),X.multiply(e),this._vbUint32[this.vbOffset++]=X._val,this._vbF32[this.vbOffset++]=t.position.x,this._vbF32[this.vbOffset++]=t.position.y,this._vbF32[this.vbOffset++]=t.position.z,this._vbF32[this.vbOffset++]=1,this._vbF32[this.vbOffset++]=t.width,this._vbF32[this.vbOffset++]=n,this._vbF32[this.vbOffset++]=1,this._vbF32[this.vbOffset++]=t.velocity.x,this._vbF32[this.vbOffset++]=t.velocity.y,this._vbF32[this.vbOffset++]=t.velocity.z,this._vbUint32[this.vbOffset++]=X._val,1&s&&(this._iBuffer[this.ibOffset++]=i+2*r,this._iBuffer[this.ibOffset++]=i+2*r-1,this._iBuffer[this.ibOffset++]=i+2*r+1),4&s&&(this._iBuffer[this.ibOffset++]=i+2*r,this._iBuffer[this.ibOffset++]=i+2*r+1,this._iBuffer[this.ibOffset++]=i+2*r+2)},n._updateIA=function(t){this._particleSystem&&this._particleSystem._assembler&&this._particleSystem._assembler.updateIA(1,t,!0,!0)},n._checkDirectionReverse=function(t,e){w.Vec3.dot(t.velocity,e.velocity)0&&f++,e>0&&f++);var d=(c+1)*(h+1);u&&(d+=(c+1)*f+c*f);var p=c*h*6;u&&(p+=c*f*3);var m=new Array(p),y=new Array(3*d),v=new Array(3*d),g=new Array(2*d),b=Math.max(t,e),A=new n.default(-b,-l,-b),x=new n.default(b,l,b),C=Math.sqrt(b*b+l*l),T=0,S=0;return (function(){for(var r=[],s=t-e,u=s*s/i*Math.sign(s),f=0;f<=h;f++){for(var d=[],p=f/h,b=p*s+e,A=0;A<=c;++A){var x=A/c,C=x*_,w=Math.sin(C),E=Math.cos(C);y[3*T]=b*w,y[3*T+1]=p*i-l,y[3*T+2]=b*E,n.default.normalize(a,n.default.set(o,w,-u,E)),v[3*T]=a.x,v[3*T+1]=a.y,v[3*T+2]=a.z,g[2*T]=2*(1-x)%1,g[2*T+1]=p,d.push(T),++T}r.push(d)}for(var M=0;M0&&w(!1),t>0&&w(!0)),new r.default(y,v,g,m,A,x,C);function w(i){var n,r,s=i?t:e,a=i?1:-1;n=T;for(var o=1;o<=c;++o)y[3*T]=0,y[3*T+1]=l*a,y[3*T+2]=0,v[3*T]=0,v[3*T+1]=a,v[3*T+2]=0,g[2*T]=.5,g[2*T+1]=.5,++T;r=T;for(var h=0;h<=c;++h){var u=h/c*_,f=Math.cos(u),d=Math.sin(u);y[3*T]=s*d,y[3*T+1]=l*a,y[3*T+2]=s*f,v[3*T]=0,v[3*T+1]=a,v[3*T+2]=0,g[2*T]=.5-.5*d*a,g[2*T+1]=.5+.5*f,++T}for(var p=0;p=l.length)?0:t||0;for(var n=i.sizeX||e,o=i.sizeY||e,c=i.sizeZ||e,h=l[t],u=h.face.length,_=[],f=[],d=[],p=[],m=new a.Vec3(1/0,1/0,1/0),y=new a.Vec3(-1/0,-1/0,-1/0),v=0;vo?o<<16|a:a<<16|o;void 0===n[l]&&(n[l]=0,i.push(a,o))}return i};var n,r=(n=t("../../value-types/vec3"))&&n.__esModule?n:{default:n};function s(t,e,i){t.x=e[i],t.y=e[i+1],t.z=e[i+2]}}),{"../../value-types/vec3":349}],62:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0,i.default=function(t,e,i,n,r,s,a){this.positions=void 0,this.normals=void 0,this.uvs=void 0,this.indices=void 0,this.minPos=void 0,this.maxPos=void 0,this.boundingRadius=void 0,this.positions=t,this.normals=e,this.uvs=i,this.indices=n,this.minPos=r,this.maxPos=s,this.boundingRadius=a},e.exports=i.default}),{}],63:[(function(t,e){"use strict";var i=t("../../../animation/animation-curves"),n=i.DynamicAnimCurve,r=i.quickFindIndex,s=cc.Class({name:"cc.JointMatrixCurve",extends:n,_findFrameIndex:r,sample:function(t,e){var i=this.ratios,n=this._findFrameIndex(i,e);n<-1&&(n=~n-1);for(var r=this.pairs,s=0;so){var y=d[p-1],v=(o-y.frame)/(m.frame-y.frame);y.value.lerp(m.value,v,i[f]);break}}c=cc.mat4(),n.default.fromRTS(c,i.quat,i.position,i.scale),l&&n.default.mul(c,l,c),_._jointMatrix||(_._jointMatrix=[]),i.uniqueBindPose&&(u=cc.mat4(),n.default.mul(u,c,i.uniqueBindPose)),r[i.path]||(r[i.path]=[]),u?r[i.path].push(a(u)):r[i.path].push(c)}var g=i.children;for(var b in g)s(g[b],o,c)}for(var o=0,l=this.duration,c=1/this.sample;o256?64:t>64?32:t>16?16:8,this._jointsData=this._jointsFloat32Data=new Float32Array(i*i*4);var r=cc.Texture2D.PixelFormat.RGBA32F,s=i,a=i;n||(this._jointsData=new Uint8Array(this._jointsFloat32Data.buffer),r=cc.Texture2D.PixelFormat.RGBA8888,s*=4,this._usingRGBA8Texture=!0,cc.warn("SkinnedMeshRenderer ["+this.node.name+"] has too many joints ["+t+"] and device do not support float32 texture, fallback to use RGBA8888 texture, which is much slower."));var o=this._jointsTexture||new cc.Texture2D,l=cc.Texture2D.Filter.NEAREST;o.setFilters(l,l),o.initWithData(this._jointsData,r,s,a),this._jointsTexture=o,this._jointsTextureOptions={format:r,width:o.width,height:o.height,images:[]}}this._updateMaterial()}},_updateMaterial:function(){s.prototype._updateMaterial.call(this);for(var t=this.getMaterials(),e=0;eh.ERROR){var e=function(t){if(cc.game.canvas){if(!i){var e=document.createElement("Div");e.setAttribute("id","logInfoDiv"),e.setAttribute("width","200"),e.setAttribute("height",cc.game.canvas.height);var n=e.style;n.zIndex="99999",n.position="absolute",n.top=n.left="0",(i=document.createElement("textarea")).setAttribute("rows","20"),i.setAttribute("cols","30"),i.setAttribute("disabled","true");var r=i.style;r.backgroundColor="transparent",r.borderBottom="1px solid #cccccc",r.borderTopWidth=r.borderLeftWidth=r.borderRightWidth="0px",r.borderTopStyle=r.borderLeftStyle=r.borderRightStyle="none",r.padding="0px",r.margin=0,e.appendChild(i),cc.game.canvas.parentNode.appendChild(e)}i.value=i.value+t+"\r\n",i.scrollTop=i.scrollHeight}};cc.error=function(){e("ERROR : "+cc.js.formatStr.apply(null,arguments))},cc.assert=function(t,i){!t&&i&&(i=cc.js.formatStr.apply(null,cc.js.shiftArguments.apply(null,arguments)),e("ASSERT: "+i))},t!==h.ERROR_FOR_WEB_PAGE&&(cc.warn=function(){e("WARN : "+cc.js.formatStr.apply(null,arguments))}),t===h.INFO_FOR_WEB_PAGE&&(cc.log=function(){e(cc.js.formatStr.apply(null,arguments))})}else console&&console.log.apply&&(console.error||(console.error=console.log),console.warn||(console.warn=console.log),console.error.bind?cc.error=console.error.bind(console):cc.error=function(){return console.error.apply(console,arguments)},cc.assert=function(t,e){if(!t)throw e&&(e=cc.js.formatStr.apply(null,cc.js.shiftArguments.apply(null,arguments))),new Error(e)});t!==h.ERROR&&(console.warn.bind?cc.warn=console.warn.bind(console):cc.warn=function(){return console.warn.apply(console,arguments)}),t===h.INFO&&(console.log.bind?cc.log=console.log.bind(console):cc.log=function(){return console.log.apply(console,arguments)})}},getError:s("ERROR"),isDisplayStats:function(){return!!cc.profiler&&cc.profiler.isShowingStats()},setDisplayStats:function(t){cc.profiler&&cc.game.renderType!==cc.game.RENDER_TYPE_CANVAS&&(t?cc.profiler.showStats():cc.profiler.hideStats(),cc.game.config.showFPS=!!t)}}}),{"../../DebugInfos":void 0,"./platform/utils":263}],70:[(function(t,e){"use strict";var i=t("./event/event-target"),n=t("./component-scheduler"),r=t("./node-activator"),s=t("./platform/CCObject"),a=t("./CCGame"),o=t("./renderer"),l=t("./event-manager"),c=t("./CCScheduler");cc.Director=function(){i.call(this),this._paused=!1,this._purgeDirectorInNextLoop=!1,this._winSizeInPoints=null,this._scene=null,this._loadingScene="",this._totalFrames=0,this._lastUpdate=0,this._deltaTime=0,this._startTime=0,this._maxParticleDeltaTime=0,this._scheduler=null,this._compScheduler=null,this._nodeActivator=null,this._actionManager=null;var t=this;a.on(a.EVENT_SHOW,(function(){t._lastUpdate=performance.now()})),a.once(a.EVENT_ENGINE_INITED,this.init,this)},cc.Director.prototype={constructor:cc.Director,init:function(){return this._totalFrames=0,this._lastUpdate=performance.now(),this._startTime=this._lastUpdate,this._paused=!1,this._purgeDirectorInNextLoop=!1,this._winSizeInPoints=cc.size(0,0),this._scheduler=new c,cc.ActionManager?(this._actionManager=new cc.ActionManager,this._scheduler.scheduleUpdate(this._actionManager,c.PRIORITY_SYSTEM,!1)):this._actionManager=null,this.sharedInit(),!0},sharedInit:function(){this._compScheduler=new n,this._nodeActivator=new r,l&&l.setEnabled(!0),cc.AnimationManager?(this._animationManager=new cc.AnimationManager,this._scheduler.scheduleUpdate(this._animationManager,c.PRIORITY_SYSTEM,!1)):this._animationManager=null,cc.CollisionManager?(this._collisionManager=new cc.CollisionManager,this._scheduler.scheduleUpdate(this._collisionManager,c.PRIORITY_SYSTEM,!1)):this._collisionManager=null,cc.PhysicsManager?(this._physicsManager=new cc.PhysicsManager,this._scheduler.scheduleUpdate(this._physicsManager,c.PRIORITY_SYSTEM,!1)):this._physicsManager=null,cc.Physics3DManager?(this._physics3DManager=new cc.Physics3DManager,this._scheduler.scheduleUpdate(this._physics3DManager,c.PRIORITY_SYSTEM,!1)):this._physics3DManager=null,cc._widgetManager&&cc._widgetManager.init(this)},calculateDeltaTime:function(t){t||(t=performance.now()),this._deltaTime=t>this._lastUpdate?(t-this._lastUpdate)/1e3:0,this._lastUpdate=t},convertToGL:function(t){var e=a.container,i=cc.view,n=e.getBoundingClientRect(),r=n.left+window.pageXOffset-e.clientLeft,s=n.top+window.pageYOffset-e.clientTop,o=i._devicePixelRatio*(t.x-r),l=i._devicePixelRatio*(s+n.height-t.y);return i._isRotated?cc.v2(i._viewportRect.width-l,o):cc.v2(o,l)},convertToUI:function(t){var e=a.container,i=cc.view,n=e.getBoundingClientRect(),r=n.left+window.pageXOffset-e.clientLeft,s=n.top+window.pageYOffset-e.clientTop,o=cc.v2(0,0);return i._isRotated?(o.x=r+t.y/i._devicePixelRatio,o.y=s+n.height-(i._viewportRect.width-t.x)/i._devicePixelRatio):(o.x=r+t.x*i._devicePixelRatio,o.y=s+n.height-t.y*i._devicePixelRatio),o},end:function(){this._purgeDirectorInNextLoop=!0},getWinSize:function(){return cc.size(cc.winSize)},getWinSizeInPixels:function(){return cc.size(cc.winSize)},pause:function(){this._paused||(this._paused=!0)},purgeCachedData:function(){cc.assetManager.releaseAll()},purgeDirector:function(){this._scheduler.unscheduleAll(),this._compScheduler.unscheduleAll(),this._nodeActivator.reset(),l&&l.setEnabled(!1),cc.isValid(this._scene)&&this._scene.destroy(),this._scene=null,cc.renderer.clear(),cc.assetManager.builtins.clear(),cc.game.pause(),cc.assetManager.releaseAll()},reset:function(){this.purgeDirector(),l&&l.setEnabled(!0),this._actionManager&&this._scheduler.scheduleUpdate(this._actionManager,cc.Scheduler.PRIORITY_SYSTEM,!1),this._animationManager&&this._scheduler.scheduleUpdate(this._animationManager,cc.Scheduler.PRIORITY_SYSTEM,!1),this._collisionManager&&this._scheduler.scheduleUpdate(this._collisionManager,cc.Scheduler.PRIORITY_SYSTEM,!1),this._physicsManager&&this._scheduler.scheduleUpdate(this._physicsManager,cc.Scheduler.PRIORITY_SYSTEM,!1),cc.game.resume()},runSceneImmediate:function(t,e,i){cc.assertID(t instanceof cc.Scene||t instanceof cc.SceneAsset,1216),t instanceof cc.SceneAsset&&(t=t.scene),t._load();for(var n=Object.keys(a._persistRootNodes).map((function(t){return a._persistRootNodes[t]})),r=0;r2||e<0)&&(t.renderMode=0),"boolean"!=typeof t.registerSystemEvent&&(t.registerSystemEvent=!0),t.showFPS=1!==e&&!!t.showFPS,this.collisionMatrix=t.collisionMatrix||[],this.groupList=t.groupList||[],n._resetDebugSetting(t.debugMode),this.config=t,this._configLoaded=!0},_determineRenderType:function(){var t=this.config,e=parseInt(t.renderMode)||0;this.renderType=this.RENDER_TYPE_CANVAS;var i=!1;if(0===e?cc.sys.capabilities.opengl?(this.renderType=this.RENDER_TYPE_WEBGL,i=!0):cc.sys.capabilities.canvas&&(this.renderType=this.RENDER_TYPE_CANVAS,i=!0):1===e&&cc.sys.capabilities.canvas?(this.renderType=this.RENDER_TYPE_CANVAS,i=!0):2===e&&cc.sys.capabilities.opengl&&(this.renderType=this.RENDER_TYPE_WEBGL,i=!0),!i)throw new Error(n.getError(3820,e))},_initRenderer:function(){if(!this._rendererInitialized){var t,e,i,n,a=this.config.id,o=a instanceof HTMLElement?a:document.querySelector(a)||document.querySelector("#"+a);if("CANVAS"===o.tagName?(t=o.width,e=o.height,this.canvas=i=o,this.container=n=document.createElement("DIV"),i.parentNode&&i.parentNode.insertBefore(n,i)):("DIV"!==o.tagName&&cc.warnID(3819),t=o.clientWidth,e=o.clientHeight,this.canvas=i=document.createElement("CANVAS"),this.container=n=document.createElement("DIV"),o.appendChild(n)),n.setAttribute("id","Cocos2dGameContainer"),n.appendChild(i),this.frame=n.parentNode===document.body?document.documentElement:n.parentNode,(function(t){(" "+t.className+" ").indexOf(" gameCanvas ")>-1||(t.className&&(t.className+=" "),t.className+="gameCanvas")})(i),i.setAttribute("width",t||480),i.setAttribute("height",e||320),i.setAttribute("tabindex",99),this._determineRenderType(),this.renderType===this.RENDER_TYPE_WEBGL){var l={stencil:!0,antialias:cc.macro.ENABLE_WEBGL_ANTIALIAS,alpha:cc.macro.ENABLE_TRANSPARENT_CANVAS};r.initWebGL(i,l),this._renderContext=r.device._gl,!cc.macro.CLEANUP_IMAGE_CACHE&&s&&(s.enabled=!0)}this._renderContext||(this.renderType=this.RENDER_TYPE_CANVAS,r.initCanvas(i),this._renderContext=r.device._ctx),this.canvas.oncontextmenu=function(){if(!cc._isContextMenuEnable)return!1},this._rendererInitialized=!0}},_initEvents:function(){var t,e=window;this.config.registerSystemEvent&&cc.internal.inputManager.registerSystemEvent(this.canvas),void 0!==document.hidden?t="hidden":void 0!==document.mozHidden?t="mozHidden":void 0!==document.msHidden?t="msHidden":void 0!==document.webkitHidden&&(t="webkitHidden");var i=!1;function n(){i||(i=!0,a.emit(a.EVENT_HIDE))}function r(t,e,n,r,s){i&&(i=!1,a.emit(a.EVENT_SHOW,t,e,n,r,s))}if(t)for(var s=["visibilitychange","mozvisibilitychange","msvisibilitychange","webkitvisibilitychange","qbrowserVisibilityChange"],o=0;o-1&&(e.onfocus=r),"onpageshow"in window&&"onpagehide"in window&&(e.addEventListener("pagehide",n),e.addEventListener("pageshow",r),document.addEventListener("pagehide",n),document.addEventListener("pageshow",r)),this.on(a.EVENT_HIDE,(function(){a.pause()})),this.on(a.EVENT_SHOW,(function(){a.resume()}))}};i.call(a),cc.js.addon(a,i.prototype),cc.game=e.exports=a}),{"../audio/CCAudioEngine":21,"../core/renderer/utils/dynamic-atlas/manager":274,"./CCDebug":69,"./event/event-target":186,"./renderer/index.js":271}],72:[(function(t,e){"use strict";var i=t("./value-types"),n=t("./value-types/utils"),r=t("./utils/base-node"),s=t("./utils/prefab-helper"),a=t("./utils/trans-pool").NodeMemPool,o=t("./utils/affine-transform"),l=t("./event-manager"),c=t("./platform/CCMacro"),h=t("./platform/js"),u=(t("./event/event"),t("./event/event-target")),_=t("./renderer/render-flow"),f=cc.Object.Flags.Destroying,d=Math.PI/180,p=!!cc.ActionManager,m=function(){},y=new i.Vec3,v=new i.Quat,g=new i.Vec3,b=new i.Vec3,A=new i.Quat,x=new i.Quat,C=new i.Vec3,T=new i.Vec3,S=new i.Vec3,w=new i.Vec3,E=new i.Vec3,M=new i.Quat,D=new i.Quat,B=new i.Vec3,P=new i.Quat,I=new i.Vec3,R=new i.Quat,O=new i.Vec3,L=new i.Vec3,F=new i.Quat,V=new i.Quat,N=(new i.Quat,cc.mat4()),k=new i.Vec3,z=new h.Pool;z.get=function(){return this._get()||[]};var G=cc.Enum({DEBUG:31}),U=cc.Enum({POSITION:1,SCALE:2,ROTATION:4,SKEW:8,TRS:7,RS:6,TRSS:15,PHYSICS_POSITION:16,PHYSICS_SCALE:32,PHYSICS_ROTATION:64,PHYSICS_TRS:112,PHYSICS_RS:96,ALL_POSITION:17,ALL_SCALE:34,ALL_ROTATION:68,ALL_TRS:119,ALL:65535}),j=cc.Enum({TOUCH_START:"touchstart",TOUCH_MOVE:"touchmove",TOUCH_END:"touchend",TOUCH_CANCEL:"touchcancel",MOUSE_DOWN:"mousedown",MOUSE_MOVE:"mousemove",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_UP:"mouseup",MOUSE_WHEEL:"mousewheel",POSITION_CHANGED:"position-changed",ROTATION_CHANGED:"rotation-changed",SCALE_CHANGED:"scale-changed",SIZE_CHANGED:"size-changed",ANCHOR_CHANGED:"anchor-changed",COLOR_CHANGED:"color-changed",CHILD_ADDED:"child-added",CHILD_REMOVED:"child-removed",CHILD_REORDER:"child-reorder",GROUP_CHANGED:"group-changed",SIBLING_ORDER_CHANGED:"sibling-order-changed"}),H=[j.TOUCH_START,j.TOUCH_MOVE,j.TOUCH_END,j.TOUCH_CANCEL],W=[j.MOUSE_DOWN,j.MOUSE_ENTER,j.MOUSE_MOVE,j.MOUSE_LEAVE,j.MOUSE_UP,j.MOUSE_WHEEL],X=!0,Y=function(t){if(0!==t){X&&cc.warn("`cc.Node.skewX/Y` is deprecated since v2.2.1, please use 3D node instead.",""),X=!1}},q=null,J=function(t,e){var i=t.getLocation(),n=this.owner;return!!n._hitTest(i,this)&&(e.type=j.TOUCH_START,e.touch=t,e.bubbles=!0,n.dispatchEvent(e),!0)},Z=function(t,e){var i=this.owner;e.type=j.TOUCH_MOVE,e.touch=t,e.bubbles=!0,i.dispatchEvent(e)},K=function(t,e){var i=t.getLocation(),n=this.owner;n._hitTest(i,this)?e.type=j.TOUCH_END:e.type=j.TOUCH_CANCEL,e.touch=t,e.bubbles=!0,n.dispatchEvent(e)},Q=function(t,e){t.getLocation();var i=this.owner;e.type=j.TOUCH_CANCEL,e.touch=t,e.bubbles=!0,i.dispatchEvent(e)},$=function(t){var e=t.getLocation(),i=this.owner;i._hitTest(e,this)&&(t.type=j.MOUSE_DOWN,t.bubbles=!0,i.dispatchEvent(t))},tt=function(t){var e=t.getLocation(),i=this.owner;if(i._hitTest(e,this))this._previousIn||(q&&q._mouseListener&&(t.type=j.MOUSE_LEAVE,q.dispatchEvent(t),q._mouseListener._previousIn=!1),q=this.owner,t.type=j.MOUSE_ENTER,i.dispatchEvent(t),this._previousIn=!0),t.type=j.MOUSE_MOVE,t.bubbles=!0,i.dispatchEvent(t);else{if(!this._previousIn)return;t.type=j.MOUSE_LEAVE,i.dispatchEvent(t),this._previousIn=!1,q=null}t.stopPropagation()},et=function(t){var e=t.getLocation(),i=this.owner;i._hitTest(e,this)&&(t.type=j.MOUSE_UP,t.bubbles=!0,i.dispatchEvent(t),t.stopPropagation())},it=function(t){var e=t.getLocation(),i=this.owner;i._hitTest(e,this)&&(t.type=j.MOUSE_WHEEL,t.bubbles=!0,i.dispatchEvent(t),t.stopPropagation())};function nt(t,e){if(e){for(var i=0,n=null,r=t;r&&cc.Node.isNode(r);r=r._parent,++i)if(r.getComponent(e)){var s={index:i,node:r};n?n.push(s):n=[s]}return n}return null}function rt(t,e){if(!(t._objFlags&f)){if(t._bubblingListeners)for(var i=0,n=e.length;i=0;--r)if((n=i[r])._capturingListeners&&(e.currentTarget=n,n._capturingListeners.emit(e.type,e,i),e._propagationStopped))return void(i.length=0);if(i.length=0,e.eventPhase=2,e.currentTarget=t,t._capturingListeners&&t._capturingListeners.emit(e.type,e),!e._propagationImmediateStopped&&t._bubblingListeners&&t._bubblingListeners.emit(e.type,e),!e._propagationStopped&&e.bubbles)for(t._getBubblingTargets(e.type,i),e.eventPhase=3,r=0;r>16},set:function(t){t>c.MAX_ZINDEX?(cc.warnID(1636),t=c.MAX_ZINDEX):t0&&(this._renderFlag|=_.FLAG_CHILDREN)},_checkListenerMask:function(){if(this._touchListener){var t=this._touchListener.mask=nt(this,cc.Mask);this._mouseListener&&(this._mouseListener.mask=t)}else this._mouseListener&&(this._mouseListener.mask=nt(this,cc.Mask))},_checknSetupSysEvent:function(t){var e=!1,i=!1;return-1!==H.indexOf(t)?(this._touchListener||(this._touchListener=cc.EventListener.create({event:cc.EventListener.TOUCH_ONE_BY_ONE,swallowTouches:!0,owner:this,mask:nt(this,cc.Mask),onTouchBegan:J,onTouchMoved:Z,onTouchEnded:K,onTouchCancelled:Q}),l.addListener(this._touchListener,this),e=!0),i=!0):-1!==W.indexOf(t)&&(this._mouseListener||(this._mouseListener=cc.EventListener.create({event:cc.EventListener.MOUSE,_previousIn:!1,owner:this,mask:nt(this,cc.Mask),onMouseDown:$,onMouseMove:tt,onMouseUp:et,onMouseScroll:it}),l.addListener(this._mouseListener,this),e=!0),i=!0),e&&!this._activeInHierarchy&&cc.director.getScheduler().schedule((function(){this._activeInHierarchy||l.pauseTarget(this)}),this,0,0,0,!1),i},on:function(t,e,i,n){if(this._checknSetupSysEvent(t))return this._onDispatch(t,e,i,n);switch(t){case j.POSITION_CHANGED:this._eventMask|=1;break;case j.SCALE_CHANGED:this._eventMask|=2;break;case j.ROTATION_CHANGED:this._eventMask|=4;break;case j.SIZE_CHANGED:this._eventMask|=8;break;case j.ANCHOR_CHANGED:this._eventMask|=16;break;case j.COLOR_CHANGED:this._eventMask|=32}return this._bubblingListeners||(this._bubblingListeners=new u),this._bubblingListeners.on(t,e,i)},once:function(t,e,i,n){var r=this,s=null;(s=this._checknSetupSysEvent(t)&&n?this._capturingListeners=this._capturingListeners||new u:this._bubblingListeners=this._bubblingListeners||new u).once(t,e,i),s.once(t,(function(){r.off(t,e,i)}),void 0)},_onDispatch:function(t,e,i,n){if("boolean"==typeof i?(n=i,i=void 0):n=!!n,e){var r=null;return(r=n?this._capturingListeners=this._capturingListeners||new u:this._bubblingListeners=this._bubblingListeners||new u).hasEventListener(t,e,i)||(r.on(t,e,i),i&&i.__eventTargets&&i.__eventTargets.push(this)),e}cc.errorID(6800)},off:function(t,e,i,n){var r=-1!==H.indexOf(t),s=!r&&-1!==W.indexOf(t);if(r||s)this._offDispatch(t,e,i,n),r?this._touchListener&&!rt(this,H)&&(l.removeListener(this._touchListener),this._touchListener=null):s&&this._mouseListener&&!rt(this,W)&&(l.removeListener(this._mouseListener),this._mouseListener=null);else if(this._bubblingListeners&&(this._bubblingListeners.off(t,e,i),!this._bubblingListeners.hasEventListener(t)))switch(t){case j.POSITION_CHANGED:this._eventMask&=-2;break;case j.SCALE_CHANGED:this._eventMask&=-3;break;case j.ROTATION_CHANGED:this._eventMask&=-5;break;case j.SIZE_CHANGED:this._eventMask&=-9;break;case j.ANCHOR_CHANGED:this._eventMask&=-17;break;case j.COLOR_CHANGED:this._eventMask&=-33}},_offDispatch:function(t,e,i,n){if("boolean"==typeof i?(n=i,i=void 0):n=!!n,e){var r=n?this._capturingListeners:this._bubblingListeners;r&&(r.off(t,e,i),i&&i.__eventTargets&&h.array.fastRemove(i.__eventTargets,this))}else this._capturingListeners&&this._capturingListeners.removeAll(t),this._bubblingListeners&&this._bubblingListeners.removeAll(t)},targetOff:function(t){var e=this._bubblingListeners;e&&(e.targetOff(t),1&this._eventMask&&!e.hasEventListener(j.POSITION_CHANGED)&&(this._eventMask&=-2),2&this._eventMask&&!e.hasEventListener(j.SCALE_CHANGED)&&(this._eventMask&=-3),4&this._eventMask&&!e.hasEventListener(j.ROTATION_CHANGED)&&(this._eventMask&=-5),8&this._eventMask&&!e.hasEventListener(j.SIZE_CHANGED)&&(this._eventMask&=-9),16&this._eventMask&&!e.hasEventListener(j.ANCHOR_CHANGED)&&(this._eventMask&=-17),32&this._eventMask&&!e.hasEventListener(j.COLOR_CHANGED)&&(this._eventMask&=-33)),this._capturingListeners&&this._capturingListeners.targetOff(t),t&&t.__eventTargets&&h.array.fastRemove(t.__eventTargets,this),this._touchListener&&!rt(this,H)&&(l.removeListener(this._touchListener),this._touchListener=null),this._mouseListener&&!rt(this,W)&&(l.removeListener(this._mouseListener),this._mouseListener=null)},hasEventListener:function(t){var e=!1;return this._bubblingListeners&&(e=this._bubblingListeners.hasEventListener(t)),!e&&this._capturingListeners&&(e=this._capturingListeners.hasEventListener(t)),e},emit:function(t,e,i,n,r,s){this._bubblingListeners&&this._bubblingListeners.emit(t,e,i,n,r,s)},dispatchEvent:function(t){var e=z.get();st(this,t,e),z.put(e)},pauseSystemEvents:function(t){l.pauseTarget(this,t)},resumeSystemEvents:function(t){l.resumeTarget(this,t)},_hitTest:function(t,e){var n=this._contentSize.width,r=this._contentSize.height,s=O,a=L,o=cc.Camera.findCamera(this);if(o?o.getScreenToWorldPoint(t,s):s.set(t),this._updateWorldMatrix(),!i.Mat4.invert(N,this._worldMatrix))return!1;i.Vec2.transformMat4(a,s,N),a.x+=this._anchorPoint.x*n,a.y+=this._anchorPoint.y*r;var l=!1;if(a.x>=0&&a.y>=0&&a.x<=n&&a.y<=r&&(l=!0,e&&e.mask))for(var c=e.mask,h=this,u=c?c.length:0,_=0,f=0;h&&fd.index){c.length=f;break}}return l},_getCapturingTargets:function(t,e){for(var i=this.parent;i;)i._capturingListeners&&i._capturingListeners.hasEventListener(t)&&e.push(i),i=i.parent},_getBubblingTargets:function(t,e){for(var i=this.parent;i;)i._bubblingListeners&&i._bubblingListeners.hasEventListener(t)&&e.push(i),i=i.parent},runAction:p?function(t){if(this.active){cc.assertID(t,1618);var e=cc.director.getActionManager();return e._suppressDeprecation||(e._suppressDeprecation=!0,cc.warnID(1639)),e.addAction(t,this,!1),t}}:m,pauseAllActions:p?function(){cc.director.getActionManager().pauseTarget(this)}:m,resumeAllActions:p?function(){cc.director.getActionManager().resumeTarget(this)}:m,stopAllActions:p?function(){cc.director.getActionManager().removeAllActionsFromTarget(this)}:m,stopAction:p?function(t){cc.director.getActionManager().removeAction(t)}:m,stopActionByTag:p?function(t){t!==cc.Action.TAG_INVALID?cc.director.getActionManager().removeActionByTag(t,this):cc.logID(1612)}:m,getActionByTag:p?function(t){return t===cc.Action.TAG_INVALID?(cc.logID(1613),null):cc.director.getActionManager().getActionByTag(t,this)}:function(){return null},getNumberOfRunningActions:p?function(){return cc.director.getActionManager().getNumberOfRunningActionsInTarget(this)}:function(){return 0},getPosition:function(t){return t=t||new i.Vec3,i.Trs.toPosition(t,this._trs)},setPosition:function(t,e,i){var n;void 0===e?(n=t.x,e=t.y,i=t.z):n=t;var r=this._trs;void 0===i&&(i=r[2]),(r[0]!==n||r[1]!==e||r[2]!==i)&&(r[0]=n,r[1]=e,r[2]=i,this.setLocalDirty(U.ALL_POSITION),this._renderFlag|=_.FLAG_WORLD_TRANSFORM,1&this._eventMask&&this.emit(j.POSITION_CHANGED))},getScale:function(t){return void 0!==t?i.Trs.toScale(t,this._trs):(cc.errorID(1400,"cc.Node.getScale","cc.Node.scale or cc.Node.getScale(cc.Vec3)"),this._trs[7])},setScale:function(t,e,i){var n;t&&"number"!=typeof t?(n=t.x,e=t.y,i=t.z):void 0!==t&&void 0===e?(n=t,e=t,i=t):n=t;var r=this._trs;void 0===i&&(i=r[9]),r[7]===n&&r[8]===e&&r[9]===i||(r[7]=n,r[8]=e,r[9]=i,this.setLocalDirty(U.ALL_SCALE),this._renderFlag|=_.FLAG_TRANSFORM,2&this._eventMask&&this.emit(j.SCALE_CHANGED))},getRotation:function(t){return t instanceof i.Quat?i.Trs.toRotation(t,this._trs):-this.angle},setRotation:function(t,e,i,n){if("number"==typeof t&&void 0===e)this.angle=-t;else{var r=t;void 0===e&&(r=t.x,e=t.y,i=t.z,n=t.w);var s=this._trs;s[3]===r&&s[4]===e&&s[5]===i&&s[6]===n||(s[3]=r,s[4]=e,s[5]=i,s[6]=n,this.setLocalDirty(U.ALL_ROTATION),4&this._eventMask&&this.emit(j.ROTATION_CHANGED))}},getContentSize:function(){return cc.size(this._contentSize.width,this._contentSize.height)},setContentSize:function(t,e){var i=this._contentSize;if(void 0===e){if((0,n.approx)(t.width,i.width)&&(0,n.approx)(t.height,i.height))return;i.width=t.width,i.height=t.height}else{if((0,n.approx)(t,i.width)&&(0,n.approx)(e,i.height))return;i.width=t,i.height=e}8&this._eventMask&&this.emit(j.SIZE_CHANGED)},getAnchorPoint:function(){return cc.v2(this._anchorPoint)},setAnchorPoint:function(t,e){var i=this._anchorPoint;if(void 0===e){if(t.x===i.x&&t.y===i.y)return;i.x=t.x,i.y=t.y}else{if(t===i.x&&e===i.y)return;i.x=t,i.y=e}this.setLocalDirty(U.ALL_POSITION),16&this._eventMask&&this.emit(j.ANCHOR_CHANGED)},_invTransformPoint:function(t,e){this._parent?this._parent._invTransformPoint(t,e):i.Vec3.copy(t,e);var n=this._trs;return i.Trs.toPosition(g,n),i.Vec3.sub(t,t,g),i.Trs.toRotation(A,n),i.Quat.conjugate(x,A),i.Vec3.transformQuat(t,t,x),i.Trs.toScale(g,n),i.Vec3.inverseSafe(b,g),i.Vec3.mul(t,t,b),t},getWorldPosition:function(t){i.Trs.toPosition(t,this._trs);for(var e,n=this._parent;n;)e=n._trs,i.Trs.toScale(y,e),i.Vec3.mul(t,t,y),i.Trs.toRotation(v,e),i.Vec3.transformQuat(t,t,v),i.Trs.toPosition(y,e),i.Vec3.add(t,t,y),n=n._parent;return t},setWorldPosition:function(t){var e=this._trs;this._parent?this._parent._invTransformPoint(C,t):i.Vec3.copy(C,t),i.Trs.fromPosition(e,C),this.setLocalDirty(U.ALL_POSITION),1&this._eventMask&&this.emit(j.POSITION_CHANGED)},getWorldRotation:function(t){i.Trs.toRotation(F,this._trs),i.Quat.copy(t,F);for(var e=this._parent;e;)i.Trs.toRotation(F,e._trs),i.Quat.mul(t,F,t),e=e._parent;return t},setWorldRotation:function(t){this._parent?(this._parent.getWorldRotation(V),i.Quat.conjugate(V,V),i.Quat.mul(V,V,t)):i.Quat.copy(V,t),i.Trs.fromRotation(this._trs,V),this.setLocalDirty(U.ALL_ROTATION)},getWorldScale:function(t){i.Trs.toScale(T,this._trs),i.Vec3.copy(t,T);for(var e=this._parent;e;)i.Trs.toScale(T,e._trs),i.Vec3.mul(t,t,T),e=e._parent;return t},setWorldScale:function(t){this._parent?(this._parent.getWorldScale(S),i.Vec3.div(S,t,S)):i.Vec3.copy(S,t),i.Trs.fromScale(this._trs,S),this.setLocalDirty(U.ALL_SCALE)},getWorldRT:function(t){var e=w,n=M,r=this._trs;i.Trs.toPosition(e,r),i.Trs.toRotation(n,r);for(var s=this._parent;s;)r=s._trs,i.Trs.toScale(E,r),i.Vec3.mul(e,e,E),i.Trs.toRotation(D,r),i.Vec3.transformQuat(e,e,D),i.Trs.toPosition(E,r),i.Vec3.add(e,e,E),i.Quat.mul(n,D,n),s=s._parent;return i.Mat4.fromRT(t,n,e),t},lookAt:function(t,e){this.getWorldPosition(B),i.Vec3.sub(B,B,t),i.Vec3.normalize(B,B),i.Quat.fromViewUp(P,B,e),this.setWorldRotation(P)},_updateLocalMatrix:ct,_calculWorldMatrix:function(){this._localMatDirty&U.TRSS&&this._updateLocalMatrix();var t=this._parent;t?this._mulMat(this._worldMatrix,t._worldMatrix,this._matrix):i.Mat4.copy(this._worldMatrix,this._matrix),this._worldMatDirty=!1},_mulMat:_t,_updateWorldMatrix:function(){if(this._parent&&this._parent._updateWorldMatrix(),this._worldMatDirty){this._calculWorldMatrix();for(var t=this._children,e=0,i=t.length;e1){for(var n,r,s=1,a=t.length;s0&&(r=t[o-1])._localZOrder>n._localZOrder;o--)t[o]=r;t[o]=n}this.emit(j.CHILD_REORDER,this)}cc.director.__fastOff(cc.Director.EVENT_AFTER_UPDATE,this.sortAllChildren,this)}},_delaySort:function(){this._reorderChildDirty||(this._reorderChildDirty=!0,cc.director.__fastOn(cc.Director.EVENT_AFTER_UPDATE,this.sortAllChildren,this))},_restoreProperties:!1,onRestore:!1},pt=cc.Class(dt),mt=pt.prototype;h.getset(mt,"position",mt.getPosition,mt.setPosition,!1,!0),cc.Node=e.exports=pt}),{"./event-manager":184,"./event/event":187,"./event/event-target":186,"./platform/CCMacro":244,"./platform/js":260,"./renderer/render-flow":272,"./utils/affine-transform":315,"./utils/base-node":316,"./utils/prefab-helper":327,"./utils/trans-pool":333,"./value-types":339,"./value-types/utils":346}],73:[(function(t,e){"use strict";var i=t("./CCNode"),n=t("./renderer/render-flow"),r=(cc.Object.Flags.HideInHierarchy,i._LocalDirtyFlag),s=cc.Class({name:"cc.PrivateNode",extends:i,properties:{x:{get:function(){return this._originPos.x},set:function(t){var e=this._originPos;t!==e.x&&(e.x=t,this._posDirty(!0))},override:!0},y:{get:function(){return this._originPos.y},set:function(t){var e=this._originPos;t!==e.y&&(e.y=t,this._posDirty(!0))},override:!0},zIndex:{get:function(){return cc.macro.MIN_ZINDEX},set:function(){},override:!0},showInEditor:{default:!1,editorOnly:!0,override:!0}},ctor:function(){this._localZOrder=cc.macro.MIN_ZINDEX<<16,this._originPos=cc.v2()},_posDirty:function(t){this.setLocalDirty(r.POSITION),this._renderFlag|=n.FLAG_TRANSFORM,!0===t&&1&this._eventMask&&this.emit(i.EventType.POSITION_CHANGED)},_updateLocalMatrix:function(){if(this._localMatDirty){var t=this.parent;t&&(this._trs[0]=this._originPos.x-(t._anchorPoint.x-.5)*t._contentSize.width,this._trs[1]=this._originPos.y-(t._anchorPoint.y-.5)*t._contentSize.height),this._super()}},getPosition:function(){return new cc.Vec2(this._originPos)},setPosition:function(t,e){void 0===e&&(e=(t=t.x).y);var i=this._originPos;i.x===t&&i.y===e||(i.x=t,i.y=e,this._posDirty(!0))},setParent:function(t){var e=this._parent;this._super(t),e!==t&&(e&&e.off(i.EventType.ANCHOR_CHANGED,this._posDirty,this),t&&t.on(i.EventType.ANCHOR_CHANGED,this._posDirty,this))},_updateOrderOfArrival:function(){}}),a=s.prototype;cc.js.getset(a,"parent",a.getParent,a.setParent),cc.js.getset(a,"position",a.getPosition,a.setPosition),cc.PrivateNode=e.exports=s}),{"./CCNode":72,"./renderer/render-flow":272}],74:[(function(t,e){"use strict";cc.Scene=cc.Class({name:"cc.Scene",extends:t("./CCNode"),properties:{_is3DNode:{default:!0,override:!0},autoReleaseAssets:!1},ctor:function(){this._anchorPoint.x=0,this._anchorPoint.y=0,this._activeInHierarchy=!1,this._inited=!cc.game._isCloning,this.dependAssets=null},destroy:function(){if(cc.Object.prototype.destroy.call(this))for(var t=this._children,e=0;e0,this._repeat=r,this._runForever=this._repeat===cc.macro.REPEAT_FOREVER,!0},u.getInterval=function(){return this._interval},u.setInterval=function(t){this._interval=t},u.update=function(t){-1===this._elapsed?(this._elapsed=0,this._timesExecuted=0):(this._elapsed+=t,this._runForever&&!this._useDelay?this._elapsed>=this._interval&&(this.trigger(),this._elapsed=0):(this._useDelay?this._elapsed>=this._delay&&(this.trigger(),this._elapsed-=this._delay,this._timesExecuted+=1,this._useDelay=!1):this._elapsed>=this._interval&&(this.trigger(),this._elapsed=0,this._timesExecuted+=1),this._callback&&!this._runForever&&this._timesExecuted>this._repeat&&this.cancel()))},u.getCallback=function(){return this._callback},u.trigger=function(){this._target&&this._callback&&(this._lock=!0,this._callback.call(this._target,this._elapsed),this._lock=!1)},u.cancel=function(){this._scheduler.unschedule(this._callback,this._target)};var _=[];h.get=function(){return _.pop()||new h},h.put=function(t){_.length<20&&!t._lock&&(t._scheduler=t._target=t._callback=null,_.push(t))},cc.Scheduler=function(){this._timeScale=1,this._updatesNegList=[],this._updates0List=[],this._updatesPosList=[],this._hashForUpdates=i.createMap(!0),this._hashForTimers=i.createMap(!0),this._currentTarget=null,this._currentTargetSalvaged=!1,this._updateHashLocked=!1,this._arrayForTimers=[]},cc.Scheduler.prototype={constructor:cc.Scheduler,_removeHashElement:function(t){delete this._hashForTimers[t.target._id];for(var e=this._arrayForTimers,i=0,n=e.length;i=s&&n.timerIndex--,void(0===r.length&&(this._currentTarget===n?this._currentTargetSalvaged=!0:this._removeHashElement(n)))}}},unscheduleUpdate:function(t){if(t){var e=t._id;e||(t.__instanceId?(cc.warnID(1513),e=t._id=t.__instanceId):cc.errorID(1510));var i=this._hashForUpdates[e];i&&(this._updateHashLocked?i.entry.markedForDeletion=!0:this._removeUpdateFromHash(i.entry))}},unscheduleAllForTarget:function(t){if(t){var e=t._id;e||(t.__instanceId?(cc.warnID(1513),e=t._id=t.__instanceId):cc.errorID(1510));var i=this._hashForTimers[e];if(i){var n=i.timers;n.indexOf(i.currentTimer)>-1&&!i.currentTimerSalvaged&&(i.currentTimerSalvaged=!0);for(var r=0,s=n.length;r=0;e--)i=r[e],this.unscheduleAllForTarget(i.target);var s=0;if(t<0)for(e=0;e=t&&this.unscheduleUpdate(n.target),s==this._updatesNegList.length&&e++;if(t<=0)for(e=0;e=t&&this.unscheduleUpdate(n.target),s==this._updatesPosList.length&&e++},isScheduled:function(t,e){cc.assertID(t,1508),cc.assertID(e,1509);var i=e._id;i||(e.__instanceId?(cc.warnID(1513),i=e._id=e.__instanceId):cc.errorID(1510));var n=this._hashForTimers[i];if(!n)return!1;if(null==n.timers)return!1;for(var r=n.timers,s=0;s=t&&(r.paused=!0,s.push(r.target));if(t<=0)for(i=0;i=t&&(r.paused=!0,s.push(r.target));return s},resumeTargets:function(t){if(t)for(var e=0;e1?n:n[0]}},cc.AssetManager=O,cc.assetManager=new O,Object.defineProperty(cc,"resources",{get:function(){return I.get(R.RESOURCES)}}),e.exports=cc.assetManager}),{"./builtins":77,"./bundle":78,"./cache":79,"./depend-util":81,"./downloader":88,"./factory":89,"./fetch":90,"./helper":92,"./load":94,"./pack-manager":95,"./parser":96,"./pipeline":97,"./preprocess":98,"./releaseManager":99,"./request-item":100,"./shared":101,"./task":102,"./urlTransformer":103,"./utilities":104}],77:[(function(t,e){"use strict";var i=t("./cache"),n=t("./releaseManager"),r=t("./shared").BuiltinBundleName,s={_assets:new i({material:new i,effect:new i}),_loadBuiltins:function(t,e){var i=t+"s",n=this._assets.get(t);return cc.assetManager.internal.loadDir(i,null,null,(function(t,i){if(t)cc.error(t.message,t.stack);else for(var r=0;re.length)||47===t.charCodeAt(e.length)}return this.paths.forEach((function(n,r){if(r.startsWith(t)&&a(r,t)||!t)for(var o=0,l=n.length;o1){var f=Object.create(null);n.forEach((function(t){f[t._uuid]=t})),r={isCompleted:h,_map:f}}else r=n[0]}i&&i(e,r)}))},getXMLHttpRequest:function(){return new XMLHttpRequest},_parseLoadResArgs:i.parseLoadResArgs,getItem:function(t){return cc.assetManager.assets.has(t)?{content:cc.assetManager.assets.get(t)}:null},loadRes:function(t,e,i,n){var r=this._parseLoadResArgs(e,i,n),s=(e=r.type,r.onProgress),a=r.onComplete,o=cc.path.extname(t);o&&(t=t.slice(0,-o.length)),cc.resources.load(t,e,s,a)},loadResArray:function(t,e,i,n){var r=this._parseLoadResArgs(e,i,n),s=(e=r.type,r.onProgress),a=r.onComplete;t.forEach((function(e,i){var n=cc.path.extname(e);n&&(t[i]=e.slice(0,-n.length))})),cc.resources.load(t,e,s,a)},loadResDir:function(t,e,i,n){var r=this._parseLoadResArgs(e,i,n),s=(e=r.type,r.onProgress),a=r.onComplete;cc.resources.loadDir(t,e,s,(function(i,n){var r=[];i||(r=cc.resources.getDirWithPath(t,e).map((function(t){return t.path}))),a&&a(i,n,r)}))},getRes:function(t,e){return cc.assetManager.assets.has(t)?cc.assetManager.assets.get(t):cc.resources.get(t,e)},getResCount:function(){return cc.assetManager.assets.count},getDependsRecursively:function(t){return t?n.getDepsRecursively("string"==typeof t?t:t._uuid).concat([t._uuid]):[]},get assetLoader(){},get md5Pipe(){return u},get downloader(){return cc.assetManager.downloader},get loader(){return cc.assetManager.parser},addDownloadHandlers:function(t){var e=Object.create(null);for(var i in t){var n=t[i];e["."+i]=function(t,e,i){n({url:t},i)}}cc.assetManager.downloader.register(e)},addLoadHandlers:function(t){var e=Object.create(null);for(var i in t){var n=t[i];e["."+i]=function(t,e,i){n({content:t},i)}}cc.assetManager.parser.register(e)},flowInDeps:function(){},release:function(t){if(Array.isArray(t))for(var e=0;eL._maxInterval?L._maxInterval:cc.director._deltaTime;t-P>1e3*e&&(B=0,P=t)},O=function t(e,i){for(I=!1,R();E.length>0&&D0&&D0&&(s(O,v,g),I=!0),a.apply(this,arguments)}))}R(),D0){var i=n.create({name:t.name+" dependencies",input:l,progress:f,options:s,onProgress:t.onProgress,onError:n.prototype.recycle,onComplete:function(n){n||(t.output.push.apply(t.output,this.output),i.recycle()),r&&u(t),e(n)}});h.async(i)}else r&&u(t),e()}))}}),{"./pack-manager":95,"./shared":101,"./task":102,"./utilities":104}],91:[(function(t,e){"use strict";var i,n=t("../utils/text-utils"),r=null,s="BES bswy:->@123\u4e01\u3041\u1101",a=Object.create(null),o=-1,l=[],c=3e3,h=(i=void 0,function(){if(void 0===i)if(window.FontFace){var t=/Gecko.*Firefox\/(\d+)/.exec(window.navigator.userAgent),e=/OS X.*Version\/10\..*Safari/.exec(window.navigator.userAgent)&&/Apple/.exec(window.navigator.vendor);i=t?parseInt(t[1],10)>42:!e}else i=!1;return i});function u(){for(var t=!0,e=Date.now(),i=l.length-1;i>=0;i--){var a=l[i],h=a.fontFamilyName;if(e-a.startTime>c)cc.warnID(4933,h),a.onComplete(null,h),l.splice(i,1);else{var u=a.refWidth,_="40px "+h;r.font=_,u!==n.safeMeasureText(r,s,_)?(l.splice(i,1),a.onComplete(null,h)):t=!1}}t&&(clearInterval(o),o=-1)}var _={loadFont:function(t,e,i){var f=_._getFontFamily(t);if(a[f])return i(null,f);if(!r){var d=document.createElement("canvas");d.width=100,d.height=100,r=d.getContext("2d")}var p="40px "+f;r.font=p;var m=n.safeMeasureText(r,s,p),y=document.createElement("style");y.type="text/css";var v="";isNaN(f-0)?v+="@font-face { font-family:"+f+"; src:":v+="@font-face { font-family:'"+f+"'; src:",v+="url('"+t+"');",y.textContent=v+"}",document.body.appendChild(y);var g,b,A,x,C,T,S=document.createElement("div"),w=S.style;if(w.fontFamily=f,S.innerHTML=".",w.position="absolute",w.left="-100px",w.top="-100px",document.body.appendChild(S),h())g=Date.now(),b=f,A=i,x=new Promise(function(t,e){(function i(){Date.now()-g>=c?e():document.fonts.load("40px "+b).then((function(e){e.length>=1?t():setTimeout(i,100)}),(function(){e()}))})()}),C=null,T=new Promise(function(t,e){C=setTimeout(e,c)}),Promise.race([T,x]).then((function(){C&&(clearTimeout(C),C=null),A(null,b)}),(function(){cc.warnID(4933,b),A(null,b)}));else{var E={fontFamilyName:f,refWidth:m,onComplete:i,startTime:Date.now()};l.push(E),-1===o&&(o=setInterval(u,100))}a[f]=y},_getFontFamily:function(t){var e=t.lastIndexOf(".ttf");if(-1===e)return t;var i,n=t.lastIndexOf("/");return-1!==(i=-1===n?t.substring(0,e)+"_LABEL":t.substring(n+1,e)+"_LABEL").indexOf(" ")&&(i='"'+i+'"'),i}};e.exports=_}),{"../utils/text-utils":331}],92:[(function(t,e){"use strict";var i,n=t("./shared").bundles,r={decodeUuid:t("../utils/decode-uuid"),getUuidFromURL:(i=/.*[/\\][0-9a-fA-F]{2}[/\\]([0-9a-fA-F-]{8,})/,function(t){var e=t.match(i);return e?e[1]:""}),getUrlWithUuid:function(t,e){(e=e||Object.create(null)).__isNative__=e.isNative,e.ext=e.nativeExt;var i=n.find((function(e){return e.getAssetInfo(t)}));return i&&(e.bundle=i.name),cc.assetManager._transform(t,e)},isScene:function(t){return t&&(t.constructor===cc.SceneAsset||t instanceof cc.Scene)},normalize:function(t){return t&&(46===t.charCodeAt(0)&&47===t.charCodeAt(1)?t=t.slice(2):47===t.charCodeAt(0)&&(t=t.slice(1))),t}};e.exports=r}),{"../utils/decode-uuid":319,"./shared":101}],93:[(function(t){"use strict";t("./deprecated"),t("./CCAssetManager")}),{"./CCAssetManager":76,"./deprecated":82}],94:[(function(t,e){"use strict";var i=t("./pack-manager"),n=t("./pipeline"),r=t("./parser"),s=t("./utilities"),a=s.getDepends,o=s.cache,l=s.gatherAsset,c=s.setProperties,h=s.forEach,u=s.clear,_=s.checkCircleReference,f=t("./shared"),d=f.assets,p=f.files,m=f.parsed,y=f.pipeline,v=t("./task"),g=new n("loadOneAsset",[function(t,e){var n=t.output=t.input,r=n.options,s=n.isNative,a=n.uuid,o=n.file,l=r.reload;if(o||!l&&!s&&d.has(a))return e();i.load(n,t.options,(function(t,i){n.file=i,e(t)}))},function(t,e){var i=t.output=t.input,n=t.progress,s=t.options.__exclude__,a=i.id,o=i.file,l=i.options;if(i.isNative)r.parse(a,o,i.ext,l,(function(r,s){if(r)return e(r);i.content=s,n.canInvoke&&t.dispatch("progress",++n.finish,n.total,i),p.remove(a),m.remove(a),e()}));else{var c=i.uuid;if(c in s){var h=s[c],u=h.finish,f=h.content,y=h.err,v=h.callbacks;n.canInvoke&&t.dispatch("progress",++n.finish,n.total,i),u||_(c,c,s)?(f&&f.addRef&&f.addRef(),i.content=f,e(y)):v.push({done:e,item:i})}else if(!l.reload&&d.has(c)){var g=d.get(c);l.__asyncLoadAssets__||!g.__asyncLoadAssets__?(i.content=g.addRef(),n.canInvoke&&t.dispatch("progress",++n.finish,n.total,i),e()):b(t,g,e,!1)}else r.parse(a,o,"import",l,(function(i,n){if(i)return e(i);n._uuid=c,b(t,n,e,!0)}))}}]);function b(t,e,i,n){var r=t.input,s=t.progress,l=r.uuid,h=r.id,u=r.options,_=r.config,f=u.__asyncLoadAssets__,d=u.cacheAsset,g=[];e.addRef&&e.addRef(),a(l,e,Object.create(null),g,!1,f,_),s.canInvoke&&t.dispatch("progress",++s.finish,s.total+=g.length,r);var b=t.options.__exclude__[l]={content:e,finish:!1,callbacks:[{done:i,item:r}]},A=v.create({input:g,options:t.options,onProgress:t.onProgress,onError:v.prototype.recycle,progress:s,onComplete:function(t){if(e.decRef&&e.decRef(!1),e.__asyncLoadAssets__=f,b.finish=!0,b.err=t,!t){for(var i=Array.isArray(A.output)?A.output:[A.output],r=Object.create(null),s=0,a=i.length;sthis.pipes.length))return this.pipes.splice(e,0,t),this;cc.warnID(4921)},append:function(t){if("function"==typeof t)return this.pipes.push(t),this},remove:function(t){if("number"==typeof t)return this.pipes.splice(t,1),this},sync:function(t){var e=this.pipes;if(t instanceof i&&0!==e.length){null!=t.output&&(t.input=t.output,t.output=null),t._isFinish=!1;for(var n=0,r=e.length;n0&&u(t)>0)){r.remove(t._uuid);for(var n=i.getDeps(t._uuid),s=0,a=n.length;s0&&this._ref--,!1!==t&&cc.assetManager._releaseManager.tryRelease(this),this},destroy:function(){return this.loaded=!1,this._super()}}),e.exports=cc.Asset}),{"../platform/CCObject":245}],106:[(function(t,e){"use strict";var i=t("./CCAsset"),n=t("../event/event-target"),r=cc.Enum({WEB_AUDIO:0,DOM_AUDIO:1}),s=cc.Class({name:"cc.AudioClip",extends:i,mixins:[n],ctor:function(){this._loading=!1,this.loaded=!1,this._audio=null},properties:{duration:0,loadMode:{default:r.WEB_AUDIO,type:r},_nativeAsset:{get:function(){return this._audio},set:function(t){t instanceof cc.AudioClip?this._audio=t._nativeAsset:this._audio=t,this._audio&&(this.loaded=!0,this.emit("load"))},override:!0},_nativeDep:{get:function(){return{uuid:this._uuid,audioLoadMode:this.loadMode,ext:cc.path.extname(this._native),__isNative__:!0}},override:!0}},statics:{LoadMode:r,_loadByUrl:function(t,e){var i=cc.assetManager.assets.get(t);i?e(null,i):cc.assetManager.loadRemote(t,(function(t,i){if(t)return e(t);e(null,i)}))}},_ensureLoaded:function(t){if(this.isValid){if(this.loaded)return t&&t();if(t&&this.once("load",t),!this._loading){this._loading=!0;var e=this;cc.assetManager.postLoadNative(this,(function(){e._loading=!1}))}}},destroy:function(){cc.audioEngine.uncache(this),this._super()}});cc.AudioClip=s,e.exports=s}),{"../event/event-target":186,"./CCAsset":105}],107:[(function(t,e){"use strict";var i=function(){this.u=0,this.v=0,this.w=0,this.h=0,this.offsetX=0,this.offsetY=0,this.textureID=0,this.valid=!1,this.xAdvance=0},n=function(t){this._letterDefinitions={},this._texture=t};n.prototype={constructor:n,addLetterDefinitions:function(t,e){this._letterDefinitions[t]=e},cloneLetterDefinition:function(){var t={};for(var e in this._letterDefinitions){var n=new i;cc.js.mixin(n,this._letterDefinitions[e]),t[e]=n}return t},getTexture:function(){return this._texture},getLetter:function(t){return this._letterDefinitions[t]},getLetterDefinitionForChar:function(t){var e=t.charCodeAt(0);return this._letterDefinitions.hasOwnProperty(e)?this._letterDefinitions[e]:null},clear:function(){this._letterDefinitions={}}};var r=cc.Class({name:"cc.BitmapFont",extends:cc.Font,properties:{fntDataStr:{default:""},spriteFrame:{default:null,type:cc.SpriteFrame},fontSize:{default:-1},_fntConfig:null,_fontDefDictionary:null},onLoad:function(){var t=this.spriteFrame;this._fontDefDictionary||(this._fontDefDictionary=new n,t&&(this._fontDefDictionary._texture=t._texture));var e=this._fntConfig;if(e){var r=e.fontDefDictionary;for(var s in r){var a=new i,o=r[s].rect;a.offsetX=r[s].xOffset,a.offsetY=r[s].yOffset,a.w=o.width,a.h=o.height,a.u=o.x,a.v=o.y,a.textureID=0,a.valid=!0,a.xAdvance=r[s].xAdvance,this._fontDefDictionary.addLetterDefinitions(s,a)}}}});cc.BitmapFont=r,cc.BitmapFont.FontLetterDefinition=i,cc.BitmapFont.FontAtlas=n,e.exports=r}),{}],108:[(function(t,e){"use strict";var i=cc.Class({name:"cc.BufferAsset",extends:cc.Asset,ctor:function(){this._buffer=null},properties:{_nativeAsset:{get:function(){return this._buffer},set:function(t){this._buffer=t.buffer||t},override:!0},buffer:function(){return this._buffer}}});cc.BufferAsset=e.exports=i}),{}],109:[(function(t,e){"use strict";var i=cc.Class({name:"cc.Font",extends:cc.Asset});cc.Font=e.exports=i}),{}],110:[(function(t,e){"use strict";var i=cc.Class({name:"cc.JsonAsset",extends:cc.Asset,properties:{json:null}});e.exports=cc.JsonAsset=i}),{}],111:[(function(t,e){"use strict";var i=cc.Class({name:"cc.LabelAtlas",extends:cc.BitmapFont,onLoad:function(){this.spriteFrame?this._fntConfig?this._super():cc.warnID(9101,this.name):cc.warnID(9100,this.name)}});cc.LabelAtlas=i,e.exports=i}),{}],112:[(function(t,e){"use strict";var i=cc.Enum({AUTO:0,SINGLE_INSTANCE:1,MULTI_INSTANCE:2}),n=cc.Class({name:"cc.Prefab",extends:cc.Asset,ctor:function(){this._createFunction=null,this._instantiatedTimes=0},properties:{data:null,optimizationPolicy:i.AUTO,asyncLoadAssets:!1,readonly:{default:!1,editorOnly:!0}},statics:{OptimizationPolicy:i,OptimizationPolicyThreshold:3},createNode:!1,compileCreateFunction:function(){var e=t("../platform/instantiate-jit");this._createFunction=e.compile(this.data)},_doInstantiate:function(t){return this.data._prefab||cc.warnID(3700),this._createFunction||this.compileCreateFunction(),this._createFunction(t)},_instantiate:function(){var t;return this.optimizationPolicy!==i.SINGLE_INSTANCE&&(this.optimizationPolicy===i.MULTI_INSTANCE||this._instantiatedTimes+1>=n.OptimizationPolicyThreshold)?(t=this._doInstantiate(),this.data._instantiate(t)):t=this.data._instantiate(),++this._instantiatedTimes,t},destroy:function(){this.data&&this.data.destroy(),this._super()}});cc.Prefab=e.exports=n,cc.js.obsolete(cc,"cc._Prefab","Prefab")}),{"../platform/instantiate-jit":258}],113:[(function(t,e){"use strict";var i,n=(i=t("../../renderer/gfx"))&&i.__esModule?i:{default:i},r=t("../renderer"),s=t("./CCTexture2D"),a=cc.Enum({RB_FMT_D24S8:n.default.RB_FMT_D24S8,RB_FMT_S8:n.default.RB_FMT_S8,RB_FMT_D16:n.default.RB_FMT_D16}),o=cc.Class({name:"cc.RenderTexture",extends:s,statics:{DepthStencilFormat:a},ctor:function(){this._framebuffer=null},initWithSize:function(t,e,i){this.width=Math.floor(t||cc.visibleRect.width),this.height=Math.floor(e||cc.visibleRect.height),this._resetUnderlyingMipmaps();var s,a={colors:[this._texture]};this._depthStencilBuffer&&this._depthStencilBuffer.destroy(),i&&(s=new n.default.RenderBuffer(r.device,i,t,e),i===n.default.RB_FMT_D24S8?a.depthStencil=s:i===n.default.RB_FMT_S8?a.stencil=s:i===n.default.RB_FMT_D16&&(a.depth=s)),this._depthStencilBuffer=s,this._framebuffer&&this._framebuffer.destroy(),this._framebuffer=new n.default.FrameBuffer(r.device,t,e,a),this._packable=!1,this.loaded=!0,this.emit("load")},updateSize:function(t,e){this.width=Math.floor(t||cc.visibleRect.width),this.height=Math.floor(e||cc.visibleRect.height),this._resetUnderlyingMipmaps();var i=this._depthStencilBuffer;i&&i.update(this.width,this.height),this._framebuffer._width=t,this._framebuffer._height=e},drawTextureAt:function(t,e,i){t._image&&0!==t._image.width&&this._texture.updateSubImage({x:e,y:i,image:t._image,width:t.width,height:t.height,level:0,flipY:!1,premultiplyAlpha:t._premultiplyAlpha})},readPixels:function(t,e,i,n,r){if(!this._framebuffer||!this._texture)return t;e=e||0,i=i||0;var s=n||this.width,a=r||this.height;t=t||new Uint8Array(s*a*4);var o=cc.game._renderContext,l=o.getParameter(o.FRAMEBUFFER_BINDING);return o.bindFramebuffer(o.FRAMEBUFFER,this._framebuffer.getHandle()),o.readPixels(e,i,s,a,o.RGBA,o.UNSIGNED_BYTE,t),o.bindFramebuffer(o.FRAMEBUFFER,l),t},destroy:function(){this._super(),this._framebuffer&&(this._framebuffer.destroy(),this._framebuffer=null)}});cc.RenderTexture=e.exports=o}),{"../../renderer/gfx":372,"../renderer":271,"./CCTexture2D":120}],114:[(function(t,e){"use strict";var i=cc.Class({name:"cc.SceneAsset",extends:cc.Asset,properties:{scene:null,asyncLoadAssets:void 0}});cc.SceneAsset=i,e.exports=i}),{}],115:[(function(){"use strict";var t=cc.Class({name:"cc.Script",extends:cc.Asset});cc._Script=t;var e=cc.Class({name:"cc.JavaScript",extends:t});cc._JavaScript=e;var i=cc.Class({name:"cc.TypeScript",extends:t});cc._TypeScript=i}),{}],116:[(function(t,e){"use strict";var i=cc.Class({name:"cc.SpriteAtlas",extends:cc.Asset,properties:{_spriteFrames:{default:{}}},getTexture:function(){var t=Object.keys(this._spriteFrames);if(t.length>0){var e=this._spriteFrames[t[0]];return e?e.getTexture():null}return null},getSpriteFrame:function(t){var e=this._spriteFrames[t];return e?(e.name||(e.name=t),e):null},getSpriteFrames:function(){var t=[],e=this._spriteFrames;for(var i in e)t.push(this.getSpriteFrame(i));return t}});cc.SpriteAtlas=i,e.exports=i}),{}],117:[(function(t,e){"use strict";var i=t("../event/event-target"),n=[{u:0,v:0},{u:0,v:0},{u:0,v:0},{u:0,v:0}],r=cc.Class({name:"cc.SpriteFrame",extends:t("../assets/CCAsset"),mixins:[i],properties:{_textureSetter:{set:function(t){t&&this._texture!==t&&this._refreshTexture(t)}},insetTop:{get:function(){return this._capInsets[1]},set:function(t){this._capInsets[1]=t,this._texture&&this._calculateSlicedUV()}},insetBottom:{get:function(){return this._capInsets[3]},set:function(t){this._capInsets[3]=t,this._texture&&this._calculateSlicedUV()}},insetLeft:{get:function(){return this._capInsets[0]},set:function(t){this._capInsets[0]=t,this._texture&&this._calculateSlicedUV()}},insetRight:{get:function(){return this._capInsets[2]},set:function(t){this._capInsets[2]=t,this._texture&&this._calculateSlicedUV()}}},ctor:function(){i.call(this);var t=arguments[0],e=arguments[1],n=arguments[2],r=arguments[3],s=arguments[4];this._rect=null,this.uv=[],this._texture=null,this._original=null,this._offset=null,this._originalSize=null,this._rotated=!1,this._flipX=!1,this._flipY=!1,this.vertices=null,this._capInsets=[0,0,0,0],this.uvSliced=[],void 0!==t&&this.setTexture(t,e,n,r,s)},textureLoaded:function(){return this._texture&&this._texture.loaded},onTextureLoaded:function(t,e){return this.textureLoaded()?(t.call(e),!0):(this.once("load",t,e),this.ensureLoadTexture(),!1)},isRotated:function(){return this._rotated},setRotated:function(t){this._rotated=t,this._texture&&this._calculateUV()},isFlipX:function(){return this._flipX},isFlipY:function(){return this._flipY},setFlipX:function(t){this._flipX=t,this._texture&&this._calculateUV()},setFlipY:function(t){this._flipY=t,this._texture&&this._calculateUV()},getRect:function(){return cc.rect(this._rect)},setRect:function(t){this._rect=t,this._texture&&this._calculateUV()},getOriginalSize:function(){return cc.size(this._originalSize)},setOriginalSize:function(t){this._originalSize?(this._originalSize.width=t.width,this._originalSize.height=t.height):this._originalSize=cc.size(t)},getTexture:function(){return this._texture},_textureLoadedCallback:function(){var t=this._texture;if(t){var e=t.width,i=t.height;this._rect?this._checkRect(this._texture):this._rect=cc.rect(0,0,e,i),this._originalSize||this.setOriginalSize(cc.size(e,i)),this._offset||this.setOffset(cc.v2(0,0)),this._calculateUV(),this.emit("load")}},_refreshTexture:function(t){this._texture=t,t.loaded?this._textureLoadedCallback():t.once("load",this._textureLoadedCallback,this)},getOffset:function(){return cc.v2(this._offset)},setOffset:function(t){this._offset=cc.v2(t)},clone:function(){return new r(this._texture,this.getRect(),this._rotated,this.getOffset(),this.getOriginalSize())},setTexture:function(t,e,i,n,r){if(1!==arguments.length||t!==this._texture){if(this._rect=e||null,n?this.setOffset(n):this._offset=null,r?this.setOriginalSize(r):this._originalSize=null,this._rotated=i||!1,"string"!=typeof t)return t instanceof cc.Texture2D&&this._refreshTexture(t),!0;cc.errorID(3401)}},ensureLoadTexture:function(){this._texture&&(this._texture.loaded||(this._refreshTexture(this._texture),cc.assetManager.postLoadNative(this._texture)))},_checkRect:function(t){var e=this._rect,i=e.x,n=e.y;this._rotated?(i+=e.height,n+=e.width):(i+=e.width,n+=e.height),i>t.width&&cc.errorID(3300,t.nativeUrl+"/"+this.name,i,t.width),n>t.height&&cc.errorID(3400,t.nativeUrl+"/"+this.name,n,t.height)},_flipXY:function(t){if(this._flipX){var e=t[0];t[0]=t[1],t[1]=e,e=t[2],t[2]=t[3],t[3]=e}if(this._flipY){var i=t[0];t[0]=t[2],t[2]=i,i=t[1],t[1]=t[3],t[3]=i}},_calculateSlicedUV:function(){var t=this._rect,e=this._texture.width,i=this._texture.height,r=this._capInsets[0],s=this._capInsets[2],a=t.width-r-s,o=this._capInsets[1],l=this._capInsets[3],c=t.height-o-l,h=this.uvSliced;if(h.length=0,this._rotated){n[0].u=t.x/e,n[1].u=(t.x+l)/e,n[2].u=(t.x+l+c)/e,n[3].u=(t.x+t.height)/e,n[3].v=t.y/i,n[2].v=(t.y+r)/i,n[1].v=(t.y+r+a)/i,n[0].v=(t.y+t.width)/i,this._flipXY(n);for(var u=0;u<4;++u)for(var _=n[u],f=0;f<4;++f){var d=n[3-f];h.push({u:_.u,v:d.v})}}else{n[0].u=t.x/e,n[1].u=(t.x+r)/e,n[2].u=(t.x+r+a)/e,n[3].u=(t.x+t.width)/e,n[3].v=t.y/i,n[2].v=(t.y+o)/i,n[1].v=(t.y+o+c)/i,n[0].v=(t.y+t.height)/i,this._flipXY(n);for(var p=0;p<4;++p)for(var m=n[p],y=0;y<4;++y){var v=n[y];h.push({u:v.u,v:m.v})}}},_setDynamicAtlasFrame:function(t){t&&(this._original={_texture:this._texture,_x:this._rect.x,_y:this._rect.y},this._texture=t.texture,this._rect.x=t.x,this._rect.y=t.y,this._calculateUV())},_resetDynamicAtlasFrame:function(){this._original&&(this._rect.x=this._original._x,this._rect.y=this._original._y,this._texture=this._original._texture,this._original=null,this._texture.loaded?this._calculateUV():this.ensureLoadTexture())},_calculateUV:function(){var t=this._rect,e=this._texture,i=this.uv,n=e.width,r=e.height;if(this._rotated){var s=0===n?0:t.x/n,a=0===n?0:(t.x+t.height)/n,o=0===r?0:(t.y+t.width)/r,l=0===r?0:t.y/r;i[0]=s,i[1]=l,i[2]=s,i[3]=o,i[4]=a,i[5]=l,i[6]=a,i[7]=o}else{var c=0===n?0:t.x/n,h=0===n?0:(t.x+t.width)/n,u=0===r?0:(t.y+t.height)/r,_=0===r?0:t.y/r;i[0]=c,i[1]=u,i[2]=h,i[3]=u,i[4]=c,i[5]=_,i[6]=h,i[7]=_}if(this._flipX){var f=i[0];i[0]=i[2],i[2]=f,f=i[1],i[1]=i[3],i[3]=f,f=i[4],i[4]=i[6],i[6]=f,f=i[5],i[5]=i[7],i[7]=f}if(this._flipY){var d=i[0];i[0]=i[4],i[4]=d,d=i[1],i[1]=i[5],i[5]=d,d=i[2],i[2]=i[6],i[6]=d,d=i[3],i[3]=i[7],i[7]=d}var p=this.vertices;if(p){p.nu.length=0,p.nv.length=0;for(var m=0;m0?this._image=t.images[0]:void 0!==t.image&&(this._image=t.image,t.images||(_.length=0,t.images=_),t.images.push(t.image)),this._texture&&this._texture.update(t),this._hashDirty=!0},initWithElement:function(t){if(t)if(this._image=t,t.complete||t instanceof HTMLCanvasElement)this.handleLoadedTexture();else if(cc.sys.capabilities.imageBitmap&&t instanceof ImageBitmap)this._checkImageBitmap(this.handleLoadedTexture.bind(this));else{var e=this;t.addEventListener("load",(function(){e.handleLoadedTexture()})),t.addEventListener("error",(function(t){cc.warnID(3119,t.message)}))}},initWithData:function(t,e,i,n){var r=d();return r.image=t,r.images=[r.image],r.genMipmaps=this._genMipmaps,r.premultiplyAlpha=this._premultiplyAlpha,r.flipY=this._flipY,r.minFilter=u[this._minFilter],r.magFilter=u[this._magFilter],r.wrapS=this._wrapS,r.wrapT=this._wrapT,r.format=this._getGFXPixelFormat(e),r.width=i,r.height=n,this._texture?this._texture.update(r):this._texture=new s.Texture2D(s.device,r),this.width=i,this.height=n,this._updateFormat(),this._checkPackable(),this.loaded=!0,this.emit("load"),!0},getHtmlElementObj:function(){return this._image},destroy:function(){cc.sys.capabilities.imageBitmap&&this._image instanceof ImageBitmap&&this._image.close&&this._image.close(),this._packable&&cc.dynamicAtlasManager&&cc.dynamicAtlasManager.deleteAtlasTexture(this),this._image=null,this._texture&&this._texture.destroy(),this._super()},getPixelFormat:function(){return this._format},hasPremultipliedAlpha:function(){return this._premultiplyAlpha||!1},isAlphaAtlas:function(){return this._isAlphaAtlas},handleLoadedTexture:function(){if(this._image&&this._image.width&&this._image.height){this.width=this._image.width,this.height=this._image.height;var t=d();t.image=this._image,t.images=[t.image],t.width=this.width,t.height=this.height,t.genMipmaps=this._genMipmaps,t.format=this._getGFXPixelFormat(this._format),t.premultiplyAlpha=this._premultiplyAlpha,t.flipY=this._flipY,t.minFilter=u[this._minFilter],t.magFilter=u[this._magFilter],t.wrapS=this._wrapS,t.wrapT=this._wrapT,this._texture?this._texture.update(t):this._texture=new s.Texture2D(s.device,t),this._updateFormat(),this._checkPackable(),this.loaded=!0,this.emit("load"),cc.macro.CLEANUP_IMAGE_CACHE&&this._cleanupImageCache()}},_cleanupImageCache:function(){this._image instanceof HTMLImageElement?this._clearImage():cc.sys.capabilities.imageBitmap&&this._image instanceof ImageBitmap&&this._image.close&&this._image.close()},description:function(){return""},releaseTexture:function(){this._image=null,this._texture&&this._texture.destroy()},setWrapMode:function(t,e){if(this._wrapS!==t||this._wrapT!==e){var i=d();i.wrapS=t,i.wrapT=e,this.update(i)}},setFilters:function(t,e){if(this._minFilter!==t||this._magFilter!==e){var i=d();i.minFilter=t,i.magFilter=e,this.update(i)}},setFlipY:function(t){if(this._flipY!==t){var e=d();e.flipY=t,e.premultiplyAlpha=this._premultiplyAlpha,this.update(e)}},setPremultiplyAlpha:function(t){if(this._premultiplyAlpha!==t){var e=d();e.flipY=this._flipY,e.premultiplyAlpha=t,this.update(e)}},_updateFormat:function(){this._isAlphaAtlas=this._format===l.RGBA_ETC1||this._format===l.RGB_A_PVRTC_4BPPV1||this._format===l.RGB_A_PVRTC_2BPPV1},_checkPackable:function(){var t=cc.dynamicAtlasManager;if(t)if(this._isCompressed())this._packable=!1;else{var e=this.width,i=this.height;!this._image||e>t.maxFrameSize||i>t.maxFrameSize||this._getHash()!==t.Atlas.DEFAULT_HASH?this._packable=!1:this._image&&this._image instanceof HTMLCanvasElement&&(this._packable=!0)}},_getOpts:function(){var t=d();return t.width=this.width,t.height=this.height,t.genMipmaps=this._genMipmaps,t.format=this._format,t.premultiplyAlpha=this._premultiplyAlpha,t.anisotropy=this._anisotropy,t.flipY=this._flipY,t.minFilter=u[this._minFilter],t.magFilter=u[this._magFilter],t.mipFilter=u[this._mipFilter],t.wrapS=this._wrapS,t.wrapT=this._wrapT,t},_getGFXPixelFormat:function(t){return t===l.RGBA_ETC1?t=l.RGB_ETC1:t===l.RGB_A_PVRTC_4BPPV1?t=l.RGB_PVRTC_4BPPV1:t===l.RGB_A_PVRTC_2BPPV1&&(t=l.RGB_PVRTC_2BPPV1),t},_resetUnderlyingMipmaps:function(t){var e=this._getOpts();e.images=t||[null],this._texture?this._texture.update(e):this._texture=new s.Texture2D(s.device,e)},_serialize:!1,_deserialize:function(t){var e=t.split(","),i=e[0];if(i){var n=p._parseExt(i,this._format);if(n.bestExt)this._setRawAsset(n.bestExt),this._format=n.bestFormat;else{if(!n.defaultExt)throw new Error(cc.debug.getError(3121));this._setRawAsset(n.defaultExt),cc.warnID(3120,n.defaultExt,n.defaultExt)}}8===e.length&&(this._minFilter=parseInt(e[1]),this._magFilter=parseInt(e[2]),this._wrapS=parseInt(e[3]),this._wrapT=parseInt(e[4]),this._premultiplyAlpha=49===e[5].charCodeAt(0),this._genMipmaps=49===e[6].charCodeAt(0),this._packable=49===e[7].charCodeAt(0))},_getHash:function(){if(!this._hashDirty)return this._hash;var t=this._genMipmaps?1:0,e=this._premultiplyAlpha?1:0,i=this._flipY?1:0,n=this._minFilter===h.LINEAR?1:2,r=this._magFilter===h.LINEAR?1:2,s=this._wrapS===c.REPEAT?1:this._wrapS===c.CLAMP_TO_EDGE?2:3,a=this._wrapT===c.REPEAT?1:this._wrapT===c.CLAMP_TO_EDGE?2:3,o=this._format;return this._image,this._hash=Number(""+n+r+o+s+a+t+e+i),this._hashDirty=!1,this._hash},_isCompressed:function(){return this._formatl.RGBA32F},_clearImage:function(){this._image.src=""},_checkImageBitmap:function(t){var e=this,i=this._image,n=this._flipY,r=this._premultiplyAlpha;this._flipY!==i.flipY||this._premultiplyAlpha!==i.premultiplyAlpha?createImageBitmap(i,{imageOrientation:n!==i.flipY?"flipY":"none",premultiplyAlpha:r?"premultiply":"none"}).then((function(s){i.close&&i.close(),s.flipY=n,s.premultiplyAlpha=r,e._image=s,t()}),(function(t){cc.error(t.message)})):t()}});cc.Texture2D=e.exports=p}),{"../../renderer/gfx":372,"../assets/CCAsset":105,"../event/event-target":186,"../platform/CCClass":239,"../platform/id-generater":256,"../renderer":271}],121:[(function(t,e){"use strict";var i=t("./CCAsset"),n=t("../event/event-target"),r=cc.Class({name:"cc.VideoClip",extends:i,mixins:[n]});cc.VideoClip=r,e.exports=r}),{"../event/event-target":186,"./CCAsset":105}],122:[(function(t){"use strict";t("./CCAsset"),t("./CCFont"),t("./CCPrefab"),t("./CCAudioClip"),t("./CCVideoClip"),t("./CCScripts"),t("./CCSceneAsset"),t("./CCSpriteFrame"),t("./CCTexture2D"),t("./CCRenderTexture"),t("./CCTTFFont"),t("./CCSpriteAtlas"),t("./CCBitmapFont"),t("./CCLabelAtlas"),t("./CCTextAsset"),t("./CCJsonAsset"),t("./CCBufferAsset"),t("./material")}),{"./CCAsset":105,"./CCAudioClip":106,"./CCBitmapFont":107,"./CCBufferAsset":108,"./CCFont":109,"./CCJsonAsset":110,"./CCLabelAtlas":111,"./CCPrefab":112,"./CCRenderTexture":113,"./CCSceneAsset":114,"./CCScripts":115,"./CCSpriteAtlas":116,"./CCSpriteFrame":117,"./CCTTFFont":118,"./CCTextAsset":119,"./CCTexture2D":120,"./CCVideoClip":121,"./material":129}],123:[(function(t,e){"use strict";var i,n=(i=t("../CCAsset"))&&i.__esModule?i:{default:i},r=t("./effect-parser"),s=cc.Class({name:"cc.EffectAsset",extends:n.default,ctor:function(){this._effect=null},properties:{properties:Object,techniques:[],shaders:[]},onLoad:function(){if(cc.game.renderType!==cc.game.RENDER_TYPE_CANVAS){for(var t=cc.renderer._forward._programLib,e=0;e=i.length)){var n=0,r=i.length;void 0!==e&&(n=e,r=e+1);for(var s=n;s=i.length)){var n=0,r=i.length;void 0!==e&&(n=e,r=e+1);for(var s=n;s=this._techniques.length?cc.warn("Can not switch to technique with index ["+t+"]"):this._technique=this._techniques[t]},l.clear=function(){this._techniques=[]},l.clone=function(){for(var t=[],e=0;ethis.maxSize||(this._clean(t),e[i][r].push(t),this.count++)}},s.clear=function(){this._pool={},this.count=0},s._clean=function(t){t._owner=null},r}(r.default));r.default.register("material",o);var l=o;i.default=l,e.exports=i.default}),{"../../utils/pool":326,"./utils":132}],131:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=o(t("./CCMaterial")),s=o(t("./effect-variant")),a=o(t("./material-pool"));function o(t){return t&&t.__esModule?t:{default:t}}function l(t,e){for(var i=0;i0},render:function(t){if(!(t=t||cc.director.getScene()))return null;this.node.getWorldMatrix(c),this.beforeDraw(),a.renderCamera(this._camera,t)},_onAlignWithScreen:function(){var t=cc.game.canvas.height/cc.view._scaleY;this._targetTexture&&(t=cc.visibleRect.height);var e=this._fov*cc.macro.RAD;this.node.z=t/(2*Math.tan(e/2)),e=2*Math.atan(Math.tan(e/2)/this.zoomRatio),this._camera.setFov(e),this._camera.setOrthoHeight(t/2/this.zoomRatio),this.node.setRotation(0,0,0,1)},beforeDraw:function(){if(this._camera){if(this._alignWithScreen)this._onAlignWithScreen();else{var t=this._fov*cc.macro.RAD;t=2*Math.atan(Math.tan(t/2)/this.zoomRatio),this._camera.setFov(t),this._camera.setOrthoHeight(this._orthoSize/this.zoomRatio)}this._camera.dirty=!0}}});cc.js.mixin(b.prototype,{getNodeToCameraTransform:function(t){var e=r.identity();return t.getWorldMatrix(h),this.containsNode(t)&&(this.getWorldToCameraMatrix(c),i.Mat4.mul(h,h,c)),r.fromMat4(e,h),e},getCameraToWorldPoint:function(t,e){return this.getScreenToWorldPoint(t,e)},getWorldToCameraPoint:function(t,e){return this.getWorldToScreenPoint(t,e)},getCameraToWorldMatrix:function(t){return this.getScreenToWorldMatrix2D(t)},getWorldToCameraMatrix:function(t){return this.getWorldToScreenMatrix2D(t)}}),e.exports=cc.Camera=b}),{"../../renderer/scene/camera":392,"../CCGame":71,"../geom-utils":194,"../renderer/index":271,"../renderer/render-flow":272,"../utils/affine-transform":315,"../value-types":339}],135:[(function(t,e){"use strict";cc.Collider.Box=cc.Class({properties:{_offset:cc.v2(0,0),_size:cc.size(100,100),offset:{tooltip:!1,get:function(){return this._offset},set:function(t){this._offset=t},type:cc.Vec2},size:{tooltip:!1,get:function(){return this._size},set:function(t){this._size.width=t.width<0?0:t.width,this._size.height=t.height<0?0:t.height},type:cc.Size}},resetInEditor:!1});var i=cc.Class({name:"cc.BoxCollider",extends:cc.Collider,mixins:[cc.Collider.Box],editor:!1});cc.BoxCollider=e.exports=i}),{}],136:[(function(t,e){"use strict";cc.Collider.Circle=cc.Class({properties:{_offset:cc.v2(0,0),_radius:50,offset:{tooltip:!1,get:function(){return this._offset},set:function(t){this._offset=t},type:cc.Vec2},radius:{tooltip:!1,get:function(){return this._radius},set:function(t){this._radius=t<0?0:t}}},resetInEditor:!1});var i=cc.Class({name:"cc.CircleCollider",extends:cc.Collider,mixins:[cc.Collider.Circle],editor:!1});cc.CircleCollider=e.exports=i}),{}],137:[(function(t,e){"use strict";var i=cc.Class({name:"cc.Collider",extends:cc.Component,properties:{editing:{default:!1,serializable:!1,tooltip:!1},tag:{tooltip:!1,default:0,range:[0,1e7],type:cc.Integer}},onDisable:function(){cc.director.getCollisionManager().removeCollider(this)},onEnable:function(){cc.director.getCollisionManager().addCollider(this)}});cc.Collider=e.exports=i}),{}],138:[(function(t,e){"use strict";var i,n=(i=t("../value-types/vec2"))&&i.__esModule?i:{default:i},r=t("./CCContact"),s=r.CollisionType,a=t("../CCNode").EventType,o=new n.default;function l(t,e,i,n,r,s){var a=t.x,o=t.y,l=t.width,c=t.height,h=e.m,u=h[0],_=h[1],f=h[4],d=h[5],p=u*a+f*o+h[12],m=_*a+d*o+h[13],y=u*l,v=_*l,g=f*c,b=d*c;n.x=p,n.y=m,r.x=y+p,r.y=v+m,i.x=g+p,i.y=b+m,s.x=y+g+p,s.y=v+b+m}var c=cc.Class({mixins:[cc.EventTarget],properties:{enabled:!1,enabledDrawBoundingBox:!1},ctor:function(){this._contacts=[],this._colliders=[],this._debugDrawer=null,this._enabledDebugDraw=!1,cc.director._scheduler&&cc.director._scheduler.enableForTarget(this)},update:function(){if(this.enabled){var t,e,i=this._colliders;for(t=0,e=i.length;tE&&(E=P),PM&&(M=I),I=0){e.splice(i,1);for(var n=this._contacts,r=n.length-1;r>=0;r--){var o=n[r];o.collider1!==t&&o.collider2!==t||(o.touching&&this._doCollide(s.CollisionExit,o),n.splice(r,1))}t.node.off(a.GROUP_CHANGED,this.onNodeGroupChanged,this)}else cc.errorID(6600)},onNodeGroupChanged:function(t){for(var e=t.getComponents(cc.Collider),i=0,n=e.length;i0){t.moveTo(s[0].x,s[0].y);for(var a=1;ar!=u>r&&n<(h-l)*(r-c)/(u-c)+l&&(i=!i)}return i}function a(t,e,i,n){var r,s=i.x-e.x,a=i.y-e.y,o=s*s+a*a,l=((t.x-e.x)*s+(t.y-e.y)*a)/o;return r=n?o?l<0?e:l>1?i:cc.v2(e.x+l*s,e.y+l*a):e:cc.v2(e.x+l*s,e.y+l*a),s=t.x-r.x,a=t.y-r.y,Math.sqrt(s*s+a*a)}i.lineLine=n,i.lineRect=function(t,e,i){var r=new cc.Vec2(i.x,i.y),s=new cc.Vec2(i.x,i.yMax),a=new cc.Vec2(i.xMax,i.yMax),o=new cc.Vec2(i.xMax,i.y);return!!(n(t,e,r,s)||n(t,e,s,a)||n(t,e,a,o)||n(t,e,o,r))},i.linePolygon=r,i.rectRect=function(t,e){var i=t.x,n=t.y,r=t.x+t.width,s=t.y+t.height,a=e.x,o=e.y,l=e.x+e.width,c=e.y+e.height;return i<=l&&r>=a&&n<=c&&s>=o},i.rectPolygon=function(t,e){var i,n,a=new cc.Vec2(t.x,t.y),o=new cc.Vec2(t.x,t.yMax),l=new cc.Vec2(t.xMax,t.yMax),c=new cc.Vec2(t.xMax,t.y);if(r(a,o,e))return!0;if(r(o,l,e))return!0;if(r(l,c,e))return!0;if(r(c,a,e))return!0;for(i=0,n=e.length;i>>1;r<=s;a=r+s>>>1){var o=t[a],l=o.constructor._executionOrder;if(l>i)s=a-1;else if(ln)s=a-1;else{if(!(c0&&(t.array.sort(c),this._invoke(t),t.array.length=0),this._invoke(this._zero),this._zero.array.length=0;var e=this._pos;e.array.length>0&&(e.array.sort(c),this._invoke(e),e.array.length=0)}}),u=cc.Class({extends:l,add:function(t){var e=t.constructor._executionOrder;if(0===e)this._zero.array.push(t);else{var i=e<0?this._neg.array:this._pos.array,n=a(i,t);n<0&&i.splice(~n,0,t)}},remove:function(t){var e=t.constructor._executionOrder;if(0===e)this._zero.fastRemove(t);else{var i=e<0?this._neg:this._pos,n=a(i.array,t);n>=0&&i.removeAt(n)}},invoke:function(t){this._neg.array.length>0&&this._invoke(this._neg,t),this._invoke(this._zero,t),this._pos.array.length>0&&this._invoke(this._pos,t)}});function _(t,e,i,n){var r="var a=it.array;for(it.i=0;it.i=0?n.fastRemoveAt(this._deferredComps,e):(!t.start||t._objFlags&r||this.startInvoker.remove(t),t.update&&this.updateInvoker.remove(t),t.lateUpdate&&this.lateUpdateInvoker.remove(t))},enableComp:function(t,e){if(!(t._objFlags&s)){if(t.onEnable){if(e)return void e.add(t);if(t.onEnable(),!t.node._activeInHierarchy)return}this._onEnabled(t)}},disableComp:function(t){t._objFlags&s&&(t.onDisable&&t.onDisable(),this._onDisabled(t))},_scheduleImmediate:function(t){"function"!=typeof t.start||t._objFlags&r||this.startInvoker.add(t),"function"==typeof t.update&&this.updateInvoker.add(t),"function"==typeof t.lateUpdate&&this.lateUpdateInvoker.add(t)},_deferredSchedule:function(){for(var t=this._deferredComps,e=0,i=t.length;e0&&(this._deferredSchedule(),this.startInvoker.invoke())},startPhase:function(){this._updating=!0,this.startInvoker.invoke(),this._startForNewComps()},updatePhase:function(t){this.updateInvoker.invoke(t)},lateUpdatePhase:function(t){this.lateUpdateInvoker.invoke(t),this._updating=!1,this._startForNewComps()}});e.exports=y}),{"./platform/CCClass":239,"./platform/CCObject":245,"./platform/js":260,"./utils/misc":324}],144:[(function(t,e){"use strict";var i=t("../../animation/animation-animator"),n=t("../../animation/animation-clip"),r=t("../event/event-target"),s=t("../platform/js"),a=function(t,e){return t===e},o=cc.Enum({PLAY:"play",STOP:"stop",PAUSE:"pause",RESUME:"resume",LASTFRAME:"lastframe",FINISHED:"finished"}),l=cc.Class({name:"cc.Animation",extends:t("./CCComponent"),mixins:[r],editor:!1,statics:{EventType:o},ctor:function(){cc.EventTarget.call(this),this._animator=null,this._nameToState=s.createMap(!0),this._didInit=!1,this._currentClip=null},properties:{_defaultClip:{default:null,type:n},defaultClip:{type:n,get:function(){return this._defaultClip},set:function(){},tooltip:!1},currentClip:{get:function(){return this._currentClip},set:function(t){this._currentClip=t},type:n,visible:!1},_writableClips:{get:function(){return this._clips},set:function(t){this._didInit=!1,this._clips=t,this._init()},type:[n]},_clips:{default:[],type:[n],tooltip:!1,visible:!0},playOnLoad:{default:!1,tooltip:!1}},start:function(){if(this.playOnLoad&&this._defaultClip&&(!this._animator||!this._animator.isPlaying)){var t=this.getAnimationState(this._defaultClip.name);this._animator.playState(t)}},onEnable:function(){this._animator&&this._animator.resume()},onDisable:function(){this._animator&&this._animator.pause()},onDestroy:function(){this.stop()},getClips:function(){return this._clips},play:function(t,e){var i=this.playAdditive(t,e);return this._animator.stopStatesExcept(i),i},playAdditive:function(t,e){this._init();var i=this.getAnimationState(t||this._defaultClip&&this._defaultClip.name);if(i){this.enabled=!0;var n=this._animator;n.isPlaying&&i.isPlaying?i.isPaused?n.resumeState(i):(n.stopState(i),n.playState(i,e)):n.playState(i,e),this.enabledInHierarchy||n.pause(),this.currentClip=i.clip}return i},stop:function(t){if(this._didInit)if(t){var e=this._nameToState[t];e&&this._animator.stopState(e)}else this._animator.stop()},pause:function(t){if(this._didInit)if(t){var e=this._nameToState[t];e&&this._animator.pauseState(e)}else this.enabled=!1},resume:function(t){if(this._didInit)if(t){var e=this.getAnimationState(t);e&&this._animator.resumeState(e)}else this.enabled=!0},setCurrentTime:function(t,e){if(this._init(),e){var i=this.getAnimationState(e);i&&this._animator.setStateTime(i,t)}else this._animator.setStateTime(t)},getAnimationState:function(t){this._init();var e=this._nameToState[t];return e&&!e.curveLoaded&&this._animator._reloadClip(e),e||null},hasAnimationState:function(t){return this._init(),!!this._nameToState[t]},addClip:function(t,e){if(t){this._init(),cc.js.array.contains(this._clips,t)||this._clips.push(t),e=e||t.name;var i=this._nameToState[e];if(i){if(i.clip===t)return i;var n=this._clips.indexOf(i.clip);-1!==n&&this._clips.splice(n,1)}var r=new cc.AnimationState(t,e);return this._nameToState[e]=r,r}cc.warnID(3900)},removeClip:function(t,e){if(t){var i;for(var n in this._init(),this._nameToState)if(i=this._nameToState[n],a(i.clip,t))break;if(t===this._defaultClip){if(!e)return void cc.warnID(3902);this._defaultClip=null}if(i&&i.isPlaying){if(!e)return void cc.warnID(3903);this.stop(i.name)}this._clips=this._clips.filter((function(e){return!a(e,t)})),i&&delete this._nameToState[i.name]}else cc.warnID(3901)},sample:function(t){if(this._init(),t){var e=this.getAnimationState(t);e&&e.sample()}else this._animator.sample()},on:function(t,e,i,n){this._init();var r=this._EventTargetOn(t,e,i,n);if("lastframe"===t){var s=this._nameToState;for(var a in s)s[a]._lastframeEventOn=!0}return r},off:function(t,e,i,n){if(this._init(),"lastframe"===t){var r=this._nameToState;for(var s in r)r[s]._lastframeEventOn=!1}this._EventTargetOff(t,e,i,n)},_init:function(){this._didInit||(this._didInit=!0,this._animator=new i(this.node,this),this._createStates())},_createStates:function(){this._nameToState=s.createMap(!0);for(var t=null,e=!1,i=0;i0&&(i=this.time/this.duration),i>=1&&(i=1),this.transition===r.COLOR){var n=this._fromColor.lerp(this._toColor,i);this._setTargetColor(n)}else this.transition===r.SCALE&&this._originalScale&&(e.scale=this._fromScale.lerp(this._toScale,i));1===i&&(this._transitionFinished=!0)}},_registerNodeEvent:function(){this.node.on(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this),this.node.on(cc.Node.EventType.TOUCH_MOVE,this._onTouchMove,this),this.node.on(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this),this.node.on(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancel,this),this.node.on(cc.Node.EventType.MOUSE_ENTER,this._onMouseMoveIn,this),this.node.on(cc.Node.EventType.MOUSE_LEAVE,this._onMouseMoveOut,this)},_unregisterNodeEvent:function(){this.node.off(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this),this.node.off(cc.Node.EventType.TOUCH_MOVE,this._onTouchMove,this),this.node.off(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this),this.node.off(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancel,this),this.node.off(cc.Node.EventType.MOUSE_ENTER,this._onMouseMoveIn,this),this.node.off(cc.Node.EventType.MOUSE_LEAVE,this._onMouseMoveOut,this)},_registerTargetEvent:function(t){t.on(cc.Node.EventType.SCALE_CHANGED,this._onTargetScaleChanged,this)},_unregisterTargetEvent:function(t){t.off(cc.Node.EventType.SCALE_CHANGED,this._onTargetScaleChanged,this)},_getTargetSprite:function(t){var e=null;return t&&(e=t.getComponent(cc.Sprite)),e},_applyTarget:function(){var t=this._getTarget();this._sprite=this._getTargetSprite(t),this._originalScale||(this._originalScale=cc.Vec2.ZERO),this._originalScale.x=t.scaleX,this._originalScale.y=t.scaleY,this._registerTargetEvent(t)},_onTouchBegan:function(t){this.interactable&&this.enabledInHierarchy&&(this._pressed=!0,this._updateState(),t.stopPropagation())},_onTouchMove:function(t){if(this.interactable&&this.enabledInHierarchy&&this._pressed){var e,i=t.touch,n=this.node._hitTest(i.getLocation()),a=this._getTarget(),o=this._originalScale;this.transition===r.SCALE&&o?n?(this._fromScale.x=o.x,this._fromScale.y=o.y,this._toScale.x=o.x*this.zoomScale,this._toScale.y=o.y*this.zoomScale,this._transitionFinished=!1):(this.time=0,this._transitionFinished=!0,a.setScale(o.x,o.y)):(e=n?s.PRESSED:s.NORMAL,this._applyTransition(e)),t.stopPropagation()}},_onTouchEnded:function(t){this.interactable&&this.enabledInHierarchy&&(this._pressed&&(cc.Component.EventHandler.emitEvents(this.clickEvents,t),this.node.emit("click",this)),this._pressed=!1,this._updateState(),t.stopPropagation())},_onTouchCancel:function(){this.interactable&&this.enabledInHierarchy&&(this._pressed=!1,this._updateState())},_onMouseMoveIn:function(){!this._pressed&&this.interactable&&this.enabledInHierarchy&&(this.transition!==r.SPRITE||this.hoverSprite)&&(this._hovered||(this._hovered=!0,this._updateState()))},_onMouseMoveOut:function(){this._hovered&&(this._hovered=!1,this._updateState())},_updateState:function(){var t=this._getButtonState();this._applyTransition(t),this._updateDisabledState()},_getButtonState:function(){return this.interactable?this._pressed?s.PRESSED:this._hovered?s.HOVER:s.NORMAL:s.DISABLED},_updateColorTransitionImmediately:function(t){var e=this._getStateColor(t);this._setTargetColor(e),this._fromColor=e.clone(),this._toColor=e},_updateColorTransition:function(t){if(t===s.DISABLED)this._updateColorTransitionImmediately(t);else{var e=this._getTarget(),i=this._getStateColor(t);this._fromColor=e.color.clone(),this._toColor=i,this.time=0,this._transitionFinished=!1}},_updateSpriteTransition:function(t){var e=this._getStateSprite(t);this._sprite&&e&&(this._sprite.spriteFrame=e)},_updateScaleTransition:function(t){t===s.PRESSED?this._zoomUp():this._zoomBack()},_zoomUp:function(){this._originalScale&&(this._fromScale.x=this._originalScale.x,this._fromScale.y=this._originalScale.y,this._toScale.x=this._originalScale.x*this.zoomScale,this._toScale.y=this._originalScale.y*this.zoomScale,this.time=0,this._transitionFinished=!1)},_zoomBack:function(){if(this._originalScale){var t=this._getTarget();this._fromScale.x=t.scaleX,this._fromScale.y=t.scaleY,this._toScale.x=this._originalScale.x,this._toScale.y=this._originalScale.y,this.time=0,this._transitionFinished=!1}},_updateTransition:function(t){t===r.COLOR?this._updateColorTransitionImmediately(s.NORMAL):t===r.SPRITE&&this._updateSpriteTransition(s.NORMAL),this._updateState()},_applyTransition:function(t){var e=this.transition;e===r.COLOR?this._updateColorTransition(t):e===r.SPRITE?this._updateSpriteTransition(t):e===r.SCALE&&this._updateScaleTransition(t)},_resizeNodeToTargetNode:!1,_updateDisabledState:function(t){if(this._sprite&&(this.enableAutoGrayEffect||t)){var e=!1;this.transition===r.SPRITE&&this.disabledSprite||(e=this.enableAutoGrayEffect&&!this.interactable),this._switchGrayMaterial(e,this._sprite)}}});cc.Button=e.exports=a}),{"../utils/gray-sprite-state":321,"./CCComponent":149}],148:[(function(t,e){"use strict";var i=t("../camera/CCCamera"),n=t("./CCComponent"),r=cc.Class({name:"cc.Canvas",extends:n,editor:!1,resetInEditor:!1,statics:{instance:null},properties:{_designResolution:cc.size(960,640),designResolution:{get:function(){return cc.size(this._designResolution)},set:function(t){this._designResolution.width=t.width,this._designResolution.height=t.height,this.applySettings()},tooltip:!1},_fitWidth:!1,_fitHeight:!0,fitHeight:{get:function(){return this._fitHeight},set:function(t){this._fitHeight!==t&&(this._fitHeight=t,this.applySettings())},tooltip:!1},fitWidth:{get:function(){return this._fitWidth},set:function(t){this._fitWidth!==t&&(this._fitWidth=t,this.applySettings())},tooltip:!1}},_fitDesignResolution:!1,__preload:function(){if(r.instance)return cc.warnID(6700,this.node.name,r.instance.node.name);r.instance=this,this.applySettings();var t=this.getComponent(cc.Widget);t&&t.updateAlignment()},start:function(){if(!i.main&&cc.game.renderType!==cc.game.RENDER_TYPE_CANVAS){var t=new cc.Node("Main Camera");t.parent=this.node,t.setSiblingIndex(0);var e=t.addComponent(i),n=i.ClearFlags;e.clearFlags=n.COLOR|n.DEPTH|n.STENCIL,e.depth=-1}},onDestroy:function(){r.instance===this&&(r.instance=null)},applySettings:function(){var t,e=cc.ResolutionPolicy;t=this.fitHeight&&this.fitWidth?e.SHOW_ALL:this.fitHeight||this.fitWidth?this.fitWidth?e.FIXED_WIDTH:e.FIXED_HEIGHT:e.NO_BORDER;var i=this._designResolution;cc.view.setDesignResolutionSize(i.width,i.height,t)}});cc.Canvas=e.exports=r}),{"../camera/CCCamera":134,"./CCComponent":149}],149:[(function(t,e){"use strict";var i=t("../platform/CCObject"),n=t("../platform/js"),r=new(t("../platform/id-generater"))("Comp"),s=(i.Flags.IsOnEnableCalled,i.Flags.IsOnLoadCalled),a=!!cc.ActionManager,o=cc.Class({name:"cc.Component",extends:i,ctor:function(){this._id=r.getNewId(),this.__eventTargets=[]},properties:{node:{default:null,visible:!1},name:{get:function(){if(this._name)return this._name;var t=cc.js.getClassName(this),e=t.lastIndexOf(".");return e>=0&&(t=t.slice(e+1)),this.node.name+"<"+t+">"},set:function(t){this._name=t},visible:!1},uuid:{get:function(){return this._id},visible:!1},__scriptAsset:!1,_enabled:!0,enabled:{get:function(){return this._enabled},set:function(t){if(this._enabled!==t&&(this._enabled=t,this.node._activeInHierarchy)){var e=cc.director._compScheduler;t?e.enableComp(this):e.disableComp(this)}},visible:!1,animatable:!0},enabledInHierarchy:{get:function(){return this._enabled&&this.node&&this.node._activeInHierarchy},visible:!1},_isOnLoadCalled:{get:function(){return this._objFlags&s}}},update:null,lateUpdate:null,__preload:null,onLoad:null,start:null,onEnable:null,onDisable:null,onDestroy:null,onFocusInEditor:null,onLostFocusInEditor:null,resetInEditor:null,addComponent:function(t){return this.node.addComponent(t)},getComponent:function(t){return this.node.getComponent(t)},getComponents:function(t){return this.node.getComponents(t)},getComponentInChildren:function(t){return this.node.getComponentInChildren(t)},getComponentsInChildren:function(t){return this.node.getComponentsInChildren(t)},_getLocalBounds:null,onRestore:null,destroy:function(){this._super()&&this._enabled&&this.node._activeInHierarchy&&cc.director._compScheduler.disableComp(this)},_onPreDestroy:function(){a&&cc.director.getActionManager().removeAllActionsFromTarget(this),this.unscheduleAllCallbacks();for(var t=this.__eventTargets,e=t.length-1;e>=0;--e){var i=t[e];i&&i.targetOff(this)}t.length=0,cc.director._nodeActivator.destroyComp(this),this.node._removeComponent(this)},_instantiate:function(t){return t||(t=cc.instantiate._clone(this,this)),t.node=null,t},schedule:function(t,e,i,n){cc.assertID(t,1619),e=e||0,cc.assertID(e>=0,1620),i=isNaN(i)?cc.macro.REPEAT_FOREVER:i,n=n||0;var r=cc.director.getScheduler(),s=r.isTargetPaused(this);r.schedule(t,this,e,i,n,s)},scheduleOnce:function(t,e){this.schedule(t,0,0,e)},unschedule:function(t){t&&cc.director.getScheduler().unschedule(t,this)},unscheduleAllCallbacks:function(){cc.director.getScheduler().unscheduleAllForTarget(this)}});o._requireComponent=null,o._executionOrder=0,n.value(o,"_registerEditorProps",(function(t,e){var i=e.requireComponent;i&&(t._requireComponent=i);var n=e.executionOrder;n&&"number"==typeof n&&(t._executionOrder=n)})),o.prototype.__scriptUuid="",cc.Component=e.exports=o}),{"../platform/CCObject":245,"../platform/id-generater":256,"../platform/js":260}],150:[(function(){"use strict";cc.Component.EventHandler=cc.Class({name:"cc.ClickEvent",properties:{target:{default:null,type:cc.Node},component:"",_componentId:"",_componentName:{get:function(){return this._genCompIdIfNeeded(),this._compId2Name(this._componentId)},set:function(t){this._componentId=this._compName2Id(t)}},handler:{default:""},customEventData:{default:""}},statics:{emitEvents:function(t){var e;if(arguments.length>0)for(var i=0,n=(e=new Array(arguments.length-1)).length;ip&&(p=m),M>=p&&(m=p,p=M,g=C.getAnchorPoint().y),this.horizontalDirection===o.RIGHT_TO_LEFT&&(w=1-C.anchorX),f=f+h*w*E+h*this.spacingX;var D=h*(1-w)*E;if(e){var B=f+D+h*(h>0?this.paddingRight:this.paddingLeft),P=this.horizontalDirection===o.LEFT_TO_RIGHT&&B>(1-l.x)*t,I=this.horizontalDirection===o.RIGHT_TO_LEFT&&B<-l.x*t;(P||I)&&(M>=p?(0===m&&(m=p),d+=m,m=p):(d+=p,m=M,p=0),f=_+h*(u+w*E),y++)}var R=i(C,d,y);t>=E+this.paddingLeft+this.paddingRight&&s&&C.setPosition(cc.v2(f,R));var O,L=1,F=0===p?M:p;this.verticalDirection===a.TOP_TO_BOTTOM?(v=v||this.node._contentSize.height,(O=R+(L=-1)*(F*g+this.paddingBottom))v&&(v=O)),f+=D}}return v},_getVerticalBaseHeight:function(t){var e=0,i=0;if(this.resizeMode===r.CONTAINER){for(var n=0;np&&(p=m),E>=p&&(m=p,p=E,g=C.getAnchorPoint().x),this.verticalDirection===a.TOP_TO_BOTTOM&&(w=1-C.anchorY),f=f+h*w*M+h*this.spacingY;var D=h*(1-w)*M;if(e){var B=f+D+h*(h>0?this.paddingTop:this.paddingBottom),P=this.verticalDirection===a.BOTTOM_TO_TOP&&B>(1-l.y)*t,I=this.verticalDirection===a.TOP_TO_BOTTOM&&B<-l.y*t;(P||I)&&(E>=p?(0===m&&(m=p),d+=m,m=p):(d+=p,m=E,p=0),f=_+h*(u+w*M),y++)}var R=i(C,d,y);t>=M+(this.paddingTop+this.paddingBottom)&&s&&C.setPosition(cc.v2(R,f));var O,L=1,F=0===p?E:p;this.horizontalDirection===o.RIGHT_TO_LEFT?(L=-1,v=v||this.node._contentSize.width,(O=R+L*(F*g+this.paddingLeft))v&&(v=O)),f+=D}}return v},_doLayoutBasic:function(){for(var t=this.node.children,e=null,i=0;i0&&this.node.children.find((function(t){return t.activeInHierarchy}))&&(this._doLayout(),this._layoutDirty=!1)}});cc.Layout=e.exports=l}),{"../CCNode":72,"./CCComponent":149}],155:[(function(t,e){"use strict";var i=a(t("../../renderer/gfx")),n=a(t("../value-types/mat4")),r=a(t("../value-types/vec2")),s=a(t("../assets/material/material-variant"));function a(t){return t&&t.__esModule?t:{default:t}}var o=t("../utils/misc"),l=t("./CCRenderComponent"),c=t("../renderer/render-flow"),h=t("../graphics/graphics"),u=new r.default,_=new n.default,f=[];function d(t,e,i){f.length=0;for(var n=2*Math.PI/i,r=0;r=0&&o.y>=0&&o.x<=s&&o.y<=a;else if(this.type===p.ELLIPSE){var c=s/2,h=a/2,f=o.x-.5*s,d=o.y-.5*a;l=f*f/(c*c)+d*d/(h*h)<1}return this.inverted&&(l=!l),l},markForRender:function(t){var e=c.FLAG_RENDER|c.FLAG_UPDATE_RENDER_DATA|c.FLAG_POST_RENDER;t?(this.node._renderFlag|=e,this.markForValidate()):t||(this.node._renderFlag&=~e)},disableRender:function(){this.node._renderFlag&=~(c.FLAG_RENDER|c.FLAG_UPDATE_RENDER_DATA|c.FLAG_POST_RENDER)}});cc.Mask=e.exports=m}),{"../../renderer/gfx":372,"../assets/material/material-variant":131,"../graphics/graphics":202,"../renderer/render-flow":272,"../utils/misc":324,"../value-types/mat4":341,"../value-types/vec2":348,"./CCRenderComponent":160}],156:[(function(t,e){"use strict";var i=t("../components/CCRenderComponent"),n=t("../../core/utils/blend-func"),r=cc.Class({name:"cc.MotionStreak",extends:i,mixins:[n],editor:!1,ctor:function(){this._points=[]},properties:{preview:{default:!1,editorOnly:!0,notify:!1,animatable:!1},_fadeTime:1,fadeTime:{get:function(){return this._fadeTime},set:function(t){this._fadeTime=t,this.reset()},animatable:!1,tooltip:!1},_minSeg:1,minSeg:{get:function(){return this._minSeg},set:function(t){this._minSeg=t},animatable:!1,tooltip:!1},_stroke:64,stroke:{get:function(){return this._stroke},set:function(t){this._stroke=t},animatable:!1,tooltip:!1},_texture:{default:null,type:cc.Texture2D},texture:{get:function(){return this._texture},set:function(t){this._texture!==t&&(this._texture=t,this._updateMaterial())},type:cc.Texture2D,animatable:!1,tooltip:!1},_color:cc.Color.WHITE,color:{get:function(){return this._color.clone()},set:function(t){this._color.equals(t)||this._color.set(t)},type:cc.Color,tooltip:!1},_fastMode:!1,fastMode:{get:function(){return this._fastMode},set:function(t){this._fastMode=t},animatable:!1,tooltip:!1}},onEnable:function(){this._super(),this.reset()},_updateMaterial:function(){var t=this.getMaterial(0);t&&t.setProperty("texture",this._texture),n.prototype._updateMaterial.call(this)},onFocusInEditor:!1,onLostFocusInEditor:!1,reset:function(){this._points.length=0,this._assembler&&this._assembler._renderData.clear()},lateUpdate:function(t){this._assembler&&this._assembler.update(this,t)}});cc.MotionStreak=e.exports=r}),{"../../core/utils/blend-func":318,"../components/CCRenderComponent":160}],157:[(function(t,e){"use strict";var i=cc.Enum({Unified:0,Free:1}),n=cc.Enum({Horizontal:0,Vertical:1}),r=cc.Enum({PAGE_TURNING:0}),s=cc.Class({name:"cc.PageView",extends:cc.ScrollView,editor:!1,ctor:function(){this._curPageIdx=0,this._lastPageIdx=0,this._pages=[],this._initContentPos=cc.v2(),this._scrollCenterOffsetX=[],this._scrollCenterOffsetY=[]},properties:{sizeMode:{default:i.Unified,type:i,tooltip:!1,notify:function(){this._syncSizeMode()}},direction:{default:n.Horizontal,type:n,tooltip:!1,notify:function(){this._syncScrollDirection()}},scrollThreshold:{default:.5,type:cc.Float,slide:!0,range:[0,1,.01],tooltip:!1},autoPageTurningThreshold:{default:100,type:cc.Float,tooltip:!1},pageTurningEventTiming:{default:.1,type:cc.Float,range:[0,1,.01],tooltip:!1},indicator:{default:null,type:cc.PageViewIndicator,tooltip:!1,notify:function(){this.indicator&&this.indicator.setPageView(this)}},pageTurningSpeed:{default:.3,type:cc.Float,tooltip:!1},pageEvents:{default:[],type:cc.Component.EventHandler,tooltip:!1}},statics:{SizeMode:i,Direction:n,EventType:r},onEnable:function(){this._super(),this.node.on(cc.Node.EventType.SIZE_CHANGED,this._updateAllPagesSize,this),this.node.on("scroll-ended-with-threshold",this._dispatchPageTurningEvent,this)},onDisable:function(){this._super(),this.node.off(cc.Node.EventType.SIZE_CHANGED,this._updateAllPagesSize,this),this.node.off("scroll-ended-with-threshold",this._dispatchPageTurningEvent,this)},onLoad:function(){this._initPages(),this.indicator&&this.indicator.setPageView(this)},getCurrentPageIndex:function(){return this._curPageIdx},setCurrentPageIndex:function(t){this.scrollToPage(t,!0)},getPages:function(){return this._pages},addPage:function(t){t&&-1===this._pages.indexOf(t)&&this.content&&(this.content.addChild(t),this._pages.push(t),this._updatePageView())},insertPage:function(t,e){e<0||!t||-1!==this._pages.indexOf(t)||!this.content||(e>=this._pages.length?this.addPage(t):(this._pages.splice(e,0,t),this.content.addChild(t),this._updatePageView()))},removePage:function(t){if(t&&this.content){var e=this._pages.indexOf(t);-1!==e?this.removePageAtIndex(e):cc.warnID(4300,t.name)}},removePageAtIndex:function(t){var e=this._pages;if(!(t<0||t>=e.length)){var i=e[t];i&&(this.content.removeChild(i),e.splice(t,1),this._updatePageView())}},removeAllPages:function(){if(this.content){for(var t=this._pages,e=0,i=t.length;e=this._pages.length||(e=void 0!==e?e:.3,this._curPageIdx=t,this.scrollToOffset(this._moveOffsetValue(t),e,!0),this.indicator&&this.indicator._changedState())},getScrollEndedEventTiming:function(){return this.pageTurningEventTiming},_syncScrollDirection:function(){this.horizontal=this.direction===n.Horizontal,this.vertical=this.direction===n.Vertical},_syncSizeMode:function(){if(this.content){var t=this.content.getComponent(cc.Layout);if(t){if(this.sizeMode===i.Free&&this._pages.length>0){var e=this._pages[this._pages.length-1];this.direction===n.Horizontal?(t.paddingLeft=(this._view.width-this._pages[0].width)/2,t.paddingRight=(this._view.width-e.width)/2):this.direction===n.Vertical&&(t.paddingTop=(this._view.height-this._pages[0].height)/2,t.paddingBottom=(this._view.height-e.height)/2)}t.updateLayout()}}},_updatePageView:function(){var t=this.content.getComponent(cc.Layout);t&&t.enabled&&t.updateLayout();var e=this._pages.length;this._curPageIdx>=e&&(this._curPageIdx=0===e?0:e-1,this._lastPageIdx=this._curPageIdx);for(var i=this._initContentPos,r=0;r=0||this._pages.push(i)}this._syncScrollDirection(),this._syncSizeMode(),this._updatePageView()}},_dispatchPageTurningEvent:function(){this._lastPageIdx!==this._curPageIdx&&(this._lastPageIdx=this._curPageIdx,cc.Component.EventHandler.emitEvents(this.pageEvents,this,r.PAGE_TURNING),this.node.emit("page-turning",this))},_isScrollable:function(t,e,r){if(this.sizeMode===i.Free){var s,a;if(this.direction===n.Horizontal)return s=this._scrollCenterOffsetX[e],a=this._scrollCenterOffsetX[r],Math.abs(t.x)>=Math.abs(s-a)*this.scrollThreshold;if(this.direction===n.Vertical)return s=this._scrollCenterOffsetY[e],a=this._scrollCenterOffsetY[r],Math.abs(t.y)>=Math.abs(s-a)*this.scrollThreshold}else{if(this.direction===n.Horizontal)return Math.abs(t.x)>=this._view.width*this.scrollThreshold;if(this.direction===n.Vertical)return Math.abs(t.y)>=this._view.height*this.scrollThreshold}},_isQuicklyScrollable:function(t){if(this.direction===n.Horizontal){if(Math.abs(t.x)>this.autoPageTurningThreshold)return!0}else if(this.direction===n.Vertical&&Math.abs(t.y)>this.autoPageTurningThreshold)return!0;return!1},_moveOffsetValue:function(t){var e=cc.v2(0,0);return this.sizeMode===i.Free?this.direction===n.Horizontal?e.x=this._scrollCenterOffsetX[t]:this.direction===n.Vertical&&(e.y=this._scrollCenterOffsetY[t]):this.direction===n.Horizontal?e.x=t*this._view.width:this.direction===n.Vertical&&(e.y=t*this._view.height),e},_getDragDirection:function(t){return this.direction===n.Horizontal?0===t.x?0:t.x>0?1:-1:this.direction===n.Vertical?0===t.y?0:t.y<0?1:-1:void 0},_handleReleaseLogic:function(){this._autoScrollToPage(),this._scrolling&&(this._scrolling=!1,this._autoScrolling||this._dispatchEvent("scroll-ended"))},_autoScrollToPage:function(){if(this._startBounceBackIfNeeded()){var t=this._getHowMuchOutOfBoundary();((t=this._clampDelta(t)).x>0||t.y<0)&&(this._curPageIdx=0===this._pages.length?0:this._pages.length-1),(t.x<0||t.y>0)&&(this._curPageIdx=0),this.indicator&&this.indicator._changedState()}else{var e=this._touchBeganPosition.sub(this._touchEndPosition),i=this._curPageIdx,n=i+this._getDragDirection(e),r=this.pageTurningSpeed*Math.abs(i-n);if(n=t.length)){for(var i=0;it.length)for(i=0;i0;--i){var n=t[i-1];this.node.removeChild(n),t.splice(i-1,1)}this._layout&&this._layout.enabledInHierarchy&&this._layout.updateLayout(),this._changedState()}}}});cc.PageViewIndicator=e.exports=n}),{"./CCComponent":149}],159:[(function(t,e){"use strict";var i=t("../utils/misc"),n=t("./CCComponent"),r=cc.Enum({HORIZONTAL:0,VERTICAL:1,FILLED:2}),s=cc.Class({name:"cc.ProgressBar",extends:n,editor:!1,_initBarSprite:function(){if(this.barSprite){var t=this.barSprite.node;if(!t)return;var e=this.node.getContentSize(),i=this.node.getAnchorPoint(),n=t.getContentSize();t.parent===this.node&&this.node.setContentSize(n),this.barSprite.fillType===cc.Sprite.FillType.RADIAL&&(this.mode=r.FILLED);var s=t.getContentSize();if(this.mode===r.HORIZONTAL?this.totalLength=s.width:this.mode===r.VERTICAL?this.totalLength=s.height:this.totalLength=this.barSprite.fillRange,t.parent===this.node){var a=-e.width*i.x;t.setPosition(cc.v2(a,0))}}},_updateBarStatus:function(){if(this.barSprite){var t=this.barSprite.node;if(!t)return;var e,n,s,a=t.getAnchorPoint(),o=t.getContentSize(),l=t.getPosition(),c=cc.v2(0,.5),h=i.clamp01(this.progress),u=this.totalLength*h;switch(this.mode){case r.HORIZONTAL:this.reverse&&(c=cc.v2(1,.5)),e=cc.size(u,o.height),n=this.totalLength,s=o.height;break;case r.VERTICAL:c=this.reverse?cc.v2(.5,1):cc.v2(.5,0),e=cc.size(o.width,u),n=o.width,s=this.totalLength}if(this.mode===r.FILLED)this.barSprite.type!==cc.Sprite.Type.FILLED?cc.warn("ProgressBar FILLED mode only works when barSprite's Type is FILLED!"):(this.reverse&&(u*=-1),this.barSprite.fillRange=u);else if(this.barSprite.type!==cc.Sprite.Type.FILLED){var _=c.x-a.x,f=c.y-a.y,d=cc.v2(n*_,s*f);t.setPosition(l.x+d.x,l.y+d.y),t.setAnchorPoint(c),t.setContentSize(e)}else cc.warn("ProgressBar non-FILLED mode only works when barSprite's Type is non-FILLED!")}},properties:{barSprite:{default:null,type:cc.Sprite,tooltip:!1,notify:function(){this._initBarSprite()},animatable:!1},mode:{default:r.HORIZONTAL,type:r,tooltip:!1,notify:function(){if(this.barSprite){var t=this.barSprite.node;if(!t)return;var e=t.getContentSize();this.mode===r.HORIZONTAL?this.totalLength=e.width:this.mode===r.VERTICAL?this.totalLength=e.height:this.mode===r.FILLED&&(this.totalLength=this.barSprite.fillRange)}},animatable:!1},_N$totalLength:1,totalLength:{range:[0,Number.MAX_VALUE],tooltip:!1,get:function(){return this._N$totalLength},set:function(t){this.mode===r.FILLED&&(t=i.clamp01(t)),this._N$totalLength=t,this._updateBarStatus()}},progress:{default:1,type:cc.Float,range:[0,1,.1],slide:!0,tooltip:!1,notify:function(){this._updateBarStatus()}},reverse:{default:!1,tooltip:!1,notify:function(){this.barSprite&&(this.barSprite.fillStart=1-this.barSprite.fillStart),this._updateBarStatus()},animatable:!1}},statics:{Mode:r}});cc.ProgressBar=e.exports=s}),{"../utils/misc":324,"./CCComponent":149}],160:[(function(t,e){"use strict";var i=s(t("../renderer/assembler")),n=s(t("../assets/material/material-variant")),r=t("../value-types");function s(t){return t&&t.__esModule?t:{default:t}}var a=t("./CCComponent"),o=t("../renderer/render-flow"),l=t("../assets/material/CCMaterial"),c=new r.Color,h=cc.Class({name:"RenderComponent",extends:a,editor:!1,properties:{_materials:{default:[],type:l},materials:{get:function(){return this._materials},set:function(t){this._materials=t,this._activateMaterial()},type:[l],displayName:"Materials",animatable:!1}},ctor:function(){this._vertsDirty=!0,this._assembler=null},_resetAssembler:function(){i.default.init(this),this._updateColor(),this.setVertsDirty()},__preload:function(){this._resetAssembler(),this._activateMaterial()},onEnable:function(){this.node._renderComponent&&(this.node._renderComponent.enabled=!1),this.node._renderComponent=this,this.node._renderFlag|=o.FLAG_OPACITY_COLOR,this.setVertsDirty()},onDisable:function(){this.node._renderComponent=null,this.disableRender()},onDestroy:function(){for(var t=this._materials,e=0;e=this._materials.length)return null;var e=this._materials[t];if(!e)return null;var i=n.default.create(e,this);return i!==e&&this.setMaterial(t,i),i},getMaterials:function(){for(var t=this._materials,e=0;eRichText",multiline:!0,tooltip:!1,notify:function(){this._updateRichTextStatus()}},horizontalAlign:{default:a.LEFT,type:a,tooltip:!1,animatable:!1,notify:function(t){this.horizontalAlign!==t&&(this._layoutDirty=!0,this._updateRichTextStatus())}},fontSize:{default:40,tooltip:!1,notify:function(t){this.fontSize!==t&&(this._layoutDirty=!0,this._updateRichTextStatus())}},_fontFamily:"Arial",fontFamily:{tooltip:!1,get:function(){return this._fontFamily},set:function(t){this._fontFamily!==t&&(this._fontFamily=t,this._layoutDirty=!0,this._updateRichTextStatus())},animatable:!1},font:{default:null,type:cc.TTFFont,tooltip:!1,notify:function(t){this.font!==t&&(this._layoutDirty=!0,this.font?(this.useSystemFont=!1,this._onTTFLoaded()):this.useSystemFont=!0,this._updateRichTextStatus())}},_isSystemFontUsed:!0,useSystemFont:{get:function(){return this._isSystemFontUsed},set:function(t){this._isSystemFontUsed!==t&&(this._isSystemFontUsed=t,this._layoutDirty=!0,this._updateRichTextStatus())},animatable:!1,tooltip:!1},cacheMode:{default:l.NONE,type:l,tooltip:!1,notify:function(t){this.cacheMode!==t&&this._updateRichTextStatus()},animatable:!1},maxWidth:{default:0,tooltip:!1,notify:function(t){this.maxWidth!==t&&(this._layoutDirty=!0,this._updateRichTextStatus())}},lineHeight:{default:40,tooltip:!1,notify:function(t){this.lineHeight!==t&&(this._layoutDirty=!0,this._updateRichTextStatus())}},imageAtlas:{default:null,type:cc.SpriteAtlas,tooltip:!1,notify:function(t){this.imageAtlas!==t&&(this._layoutDirty=!0,this._updateRichTextStatus())}},handleTouchEvent:{default:!0,tooltip:!1,notify:function(t){this.handleTouchEvent!==t&&this.enabledInHierarchy&&(this.handleTouchEvent?this._addEventListeners():this._removeEventListeners())}}},statics:{HorizontalAlign:a,VerticalAlign:o},onEnable:function(){this.handleTouchEvent&&this._addEventListeners(),this._onTTFLoaded(),this._activateChildren(!0)},onDisable:function(){this.handleTouchEvent&&this._removeEventListeners(),this._activateChildren(!1)},_onColorChanged:function(t){this.node.children.forEach((function(e){e.color=t}))},_addEventListeners:function(){this.node.on(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this),this.node.on(cc.Node.EventType.COLOR_CHANGED,this._onColorChanged,this)},_removeEventListeners:function(){this.node.off(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this),this.node.off(cc.Node.EventType.COLOR_CHANGED,this._onColorChanged,this)},_updateLabelSegmentTextAttributes:function(){this._labelSegments.forEach(function(t){this._applyTextAttribute(t,null,!0)}.bind(this))},_createFontLabel:function(t){return c.get(t,this)},_onTTFLoaded:function(){if(this.font instanceof cc.TTFFont)if(this.font._nativeAsset)this._layoutDirty=!0,this._updateRichTextStatus();else{var t=this;cc.assetManager.postLoadNative(this.font,(function(){t._layoutDirty=!0,t._updateRichTextStatus()}))}else this._layoutDirty=!0,this._updateRichTextStatus()},_measureText:function(t,e){var i=this,n=function(e){var n;return 0===i._labelSegmentsCache.length?(n=i._createFontLabel(e),i._labelSegmentsCache.push(n)):n=i._labelSegmentsCache[0],n._styleIndex=t,i._applyTextAttribute(n,e,!0),n.getContentSize().width};return e?n(e):n},_onTouchEnded:function(t){for(var e=this,i=this.node.getComponents(cc.Component),n=function(n){var r=e._labelSegments[n],s=r._clickHandler,a=r._clickParam;s&&e._containsTouchLocation(r,t.touch.getLocation())&&(i.forEach((function(e){e.enabledInHierarchy&&e[s]&&e[s](t,a)})),t.stopPropagation())},r=0;r=0;e--){var i=t[e];"RICHTEXT_CHILD"!==i.name&&"RICHTEXT_Image_CHILD"!==i.name||(i.parent===this.node?i.parent=null:t.splice(e,1),"RICHTEXT_CHILD"===i.name&&c.put(i))}this._labelSegments.length=0,this._labelSegmentsCache.length=0,this._linesWidth.length=0,this._lineOffsetX=0,this._lineCount=1,this._labelWidth=0,this._labelHeight=0,this._layoutDirty=!0},onRestore:!1,_activateChildren:function(t){for(var e=this.node.children.length-1;e>=0;e--){var i=this.node.children[e];"RICHTEXT_CHILD"!==i.name&&"RICHTEXT_Image_CHILD"!==i.name||(i.active=t)}},_addLabelSegment:function(t,e){var i;return(i=0===this._labelSegmentsCache.length?this._createFontLabel(t):this._labelSegmentsCache.pop())._styleIndex=e,i._lineCount=this._lineCount,i.active=this.node.active,i.setAnchorPoint(0,0),this._applyTextAttribute(i,t,!1),this.node.addChild(i),this._labelSegments.push(i),i},_updateRichTextWithMaxWidth:function(t,e,i){var n=e;if(this._lineOffsetX>0&&n+this._lineOffsetX>this.maxWidth)for(var s=0;this._lineOffsetX<=this.maxWidth;){var a=this._getFirstWordLen(t,s,t.length),o=t.substr(s,a),l=this._measureText(i,o);if(!(this._lineOffsetX+l<=this.maxWidth)){if(s>0){var c=t.substr(0,s);this._addLabelSegment(c,i),t=t.substr(s,t.length),n=this._measureText(i,t)}this._updateLineInfo();break}this._lineOffsetX+=l,s+=a}if(n>this.maxWidth)for(var h=r.fragmentText(t,n,this.maxWidth,this._measureText(i)),u=0;u1&&u0?(o*=a=h/l,l*=a):(o*=a=this.lineHeight/l,l*=a),c>0&&(o=c),this.maxWidth>0?(this._lineOffsetX+o>this.maxWidth&&this._updateLineInfo(),this._lineOffsetX+=o):(this._lineOffsetX+=o,this._lineOffsetX>this._labelWidth&&(this._labelWidth=this._lineOffsetX)),r.spriteFrame=i,n.setContentSize(o,l),n._lineCount=this._lineCount,t.style.event?(t.style.event.click&&(n._clickHandler=t.style.event.click),t.style.event.param?n._clickParam=t.style.event.param:n._clickParam=""):n._clickHandler=null}else cc.warnID(4400)},_updateRichText:function(){if(this.enabledInHierarchy){var t=s.parse(this.string);if(!this._needsUpdateTextLayout(t))return this._textArray=t,void this._updateLabelSegmentTextAttributes();this._textArray=t,this._resetState();for(var e,i=!1,n=0;n0){var u=this._measureText(n,h);this._updateRichTextWithMaxWidth(h,u,n),l.length>1&&cthis._labelWidth&&(this._labelWidth=this._lineOffsetX),l.length>1&&c0&&(this._labelWidth=this.maxWidth),this._labelHeight=(this._lineCount+r.BASELINE_RATIO)*this.lineHeight,this.node.setContentSize(this._labelWidth,this._labelHeight),this._updateRichTextPosition(),this._layoutDirty=!1}},_getFirstWordLen:function(t,e,i){var n=t.charAt(e);if(r.isUnicodeCJK(n)||r.isUnicodeSpace(n))return 1;for(var s=1,a=e+1;ae&&(t=0,e=o);var l=0;switch(this.horizontalAlign){case a.LEFT:l=-this._labelWidth/2;break;case a.CENTER:l=-this._linesWidth[o-1]/2;break;case a.RIGHT:l=this._labelWidth/2-this._linesWidth[o-1]}s.x=t+l;var c=s.getContentSize();if(s.y=this.lineHeight*(i-o)-this._labelHeight/2,o===e&&(t+=c.width),s.getComponent(cc.Sprite)){var h=this.lineHeight,u=this.lineHeight*(1+r.BASELINE_RATIO);switch(s.anchorY){case 1:s.y+=h+(u-h)/2;break;case.5:s.y+=u/2;break;default:s.y+=(u-h)/2}if(s._imageOffset){var _=s._imageOffset.split(",");if(1===_.length&&_[0]){var f=parseFloat(_[0]);Number.isInteger(f)&&(s.y+=f)}else if(2===_.length){var d=parseFloat(_[0]),p=parseFloat(_[1]);Number.isInteger(d)&&(s.x+=d),Number.isInteger(p)&&(s.y+=p)}}}var m=s.getComponent(cc.LabelOutline);m&&m.width&&(s.y=s.y-m.width)}},_convertLiteralColorValue:function(t){var e=t.toUpperCase();return cc.Color[e]?cc.Color[e]:cc.color().fromHEX(t)},_applyTextAttribute:function(t,e,i){var n=t.getComponent(cc.Label);if(n){var r=t._styleIndex,s=null;if(this._textArray[r]&&(s=this._textArray[r].style),s&&s.color?t.color=this._convertLiteralColorValue(s.color):t.color=this.node.color,n.cacheMode=this.cacheMode,this.font instanceof cc.Font&&!this._isSystemFontUsed?n.font=this.font:n.fontFamily=this.fontFamily,n.useSystemFont=this._isSystemFontUsed,n.lineHeight=this.lineHeight,n.enableBold=s&&s.bold,n.enableItalics=s&&s.italic,s&&s.italic&&(t.skewX=12),n.enableUnderline=s&&s.underline,s&&s.outline){var a=t.getComponent(cc.LabelOutline);a||(a=t.addComponent(cc.LabelOutline)),a.color=this._convertLiteralColorValue(s.outline.color),a.width=s.outline.width}s&&s.size?n.fontSize=s.size:n.fontSize=this.fontSize,null!==e&&("string"!=typeof e&&(e=""+e),n.string=e),i&&n._forceUpdateRenderData(),s&&s.event?(s.event.click&&(t._clickHandler=s.event.click),s.event.param?t._clickParam=s.event.param:t._clickParam=""):t._clickHandler=null}},onDestroy:function(){for(var t=0;t0?n:-n)),i*(e/r)},_calculatePosition:function(t,e,r,s,a,o){var l=t-e;a&&(l+=Math.abs(a));var c=0;l&&(c=s/l,c=i.clamp01(c));var h=(r-o)*c;return this.direction===n.VERTICAL?cc.v2(0,h):cc.v2(h,0)},_updateLength:function(t){if(this.handle){var e=this.handle.node,i=e.getContentSize();e.setAnchorPoint(cc.v2(0,0)),this.direction===n.HORIZONTAL?e.setContentSize(t,i.height):e.setContentSize(i.width,t)}},_processAutoHide:function(t){if(this.enableAutoHide&&!(this._autoHideRemainingTime<=0)&&!this._touching&&(this._autoHideRemainingTime-=t,this._autoHideRemainingTime<=this.autoHideTime)){this._autoHideRemainingTime=Math.max(0,this._autoHideRemainingTime);var e=this._opacity*(this._autoHideRemainingTime/this.autoHideTime);this._setOpacity(e)}},start:function(){this.enableAutoHide&&this._setOpacity(0)},hide:function(){this._autoHideRemainingTime=0,this._setOpacity(0)},show:function(){this._autoHideRemainingTime=this.autoHideTime,this._setOpacity(this._opacity)},update:function(t){this._processAutoHide(t)}});cc.Scrollbar=e.exports=r}),{"../utils/misc":324,"./CCComponent":149}],164:[(function(t,e){"use strict";var i=t("../CCNode").EventType,n=cc.v2(),r=cc.v2(),s=function(){return(new Date).getMilliseconds()},a=cc.Enum({SCROLL_TO_TOP:0,SCROLL_TO_BOTTOM:1,SCROLL_TO_LEFT:2,SCROLL_TO_RIGHT:3,SCROLLING:4,BOUNCE_TOP:5,BOUNCE_BOTTOM:6,BOUNCE_LEFT:7,BOUNCE_RIGHT:8,SCROLL_ENDED:9,TOUCH_UP:10,AUTOSCROLL_ENDED_WITH_THRESHOLD:11,SCROLL_BEGAN:12}),o={"scroll-to-top":a.SCROLL_TO_TOP,"scroll-to-bottom":a.SCROLL_TO_BOTTOM,"scroll-to-left":a.SCROLL_TO_LEFT,"scroll-to-right":a.SCROLL_TO_RIGHT,scrolling:a.SCROLLING,"bounce-bottom":a.BOUNCE_BOTTOM,"bounce-left":a.BOUNCE_LEFT,"bounce-right":a.BOUNCE_RIGHT,"bounce-top":a.BOUNCE_TOP,"scroll-ended":a.SCROLL_ENDED,"touch-up":a.TOUCH_UP,"scroll-ended-with-threshold":a.AUTOSCROLL_ENDED_WITH_THRESHOLD,"scroll-began":a.SCROLL_BEGAN},l=cc.Class({name:"cc.ScrollView",extends:t("./CCViewGroup"),editor:!1,ctor:function(){this._topBoundary=0,this._bottomBoundary=0,this._leftBoundary=0,this._rightBoundary=0,this._touchMoveDisplacements=[],this._touchMoveTimeDeltas=[],this._touchMovePreviousTimestamp=0,this._touchMoved=!1,this._autoScrolling=!1,this._autoScrollAttenuate=!1,this._autoScrollStartPosition=cc.v2(0,0),this._autoScrollTargetDelta=cc.v2(0,0),this._autoScrollTotalTime=0,this._autoScrollAccumulatedTime=0,this._autoScrollCurrentlyOutOfBoundary=!1,this._autoScrollBraking=!1,this._autoScrollBrakingStartPosition=cc.v2(0,0),this._outOfBoundaryAmount=cc.v2(0,0),this._outOfBoundaryAmountDirty=!0,this._stopMouseWheel=!1,this._mouseWheelEventElapsedTime=0,this._isScrollEndedWithThresholdEventFired=!1,this._scrollEventEmitMask=0,this._isBouncing=!1,this._scrolling=!1},properties:{content:{default:void 0,type:cc.Node,tooltip:!1,formerlySerializedAs:"content",notify:function(){this._calculateBoundary()}},horizontal:{default:!0,animatable:!1,tooltip:!1},vertical:{default:!0,animatable:!1,tooltip:!1},inertia:{default:!0,tooltip:!1},brake:{default:.5,type:cc.Float,range:[0,1,.1],tooltip:!1},elastic:{default:!0,animatable:!1,tooltip:!1},bounceDuration:{default:1,range:[0,10],tooltip:!1},horizontalScrollBar:{default:void 0,type:cc.Scrollbar,tooltip:!1,notify:function(){this.horizontalScrollBar&&(this.horizontalScrollBar.setTargetScrollView(this),this._updateScrollBar(0))},animatable:!1},verticalScrollBar:{default:void 0,type:cc.Scrollbar,tooltip:!1,notify:function(){this.verticalScrollBar&&(this.verticalScrollBar.setTargetScrollView(this),this._updateScrollBar(0))},animatable:!1},scrollEvents:{default:[],type:cc.Component.EventHandler,tooltip:!1},cancelInnerEvents:{default:!0,animatable:!1,tooltip:!1},_view:{get:function(){if(this.content)return this.content.parent}}},statics:{EventType:a},scrollToBottom:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,0),applyToHorizontal:!1,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i,!0)},scrollToTop:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,1),applyToHorizontal:!1,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToLeft:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,0),applyToHorizontal:!0,applyToVertical:!1});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToRight:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(1,0),applyToHorizontal:!0,applyToVertical:!1});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToTopLeft:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,1),applyToHorizontal:!0,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToTopRight:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(1,1),applyToHorizontal:!0,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToBottomLeft:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,0),applyToHorizontal:!0,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToBottomRight:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(1,0),applyToHorizontal:!0,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToOffset:function(t,e,i){var n=this.getMaxScrollOffset(),r=cc.v2(0,0);0===n.x?r.x=0:r.x=t.x/n.x,0===n.y?r.y=1:r.y=(n.y-t.y)/n.y,this.scrollTo(r,e,i)},getScrollOffset:function(){var t=this._getContentTopBoundary()-this._topBoundary,e=this._getContentLeftBoundary()-this._leftBoundary;return cc.v2(e,t)},getMaxScrollOffset:function(){var t=this._view.getContentSize(),e=this.content.getContentSize(),i=e.width-t.width,n=e.height-t.height;return i=i>=0?i:0,n=n>=0?n:0,cc.v2(i,n)},scrollToPercentHorizontal:function(t,e,i){var n=this._calculateMovePercentDelta({anchor:cc.v2(t,0),applyToHorizontal:!0,applyToVertical:!1});e?this._startAutoScroll(n,e,!1!==i):this._moveContent(n)},scrollTo:function(t,e,i){var n=this._calculateMovePercentDelta({anchor:cc.v2(t),applyToHorizontal:!0,applyToVertical:!0});e?this._startAutoScroll(n,e,!1!==i):this._moveContent(n)},scrollToPercentVertical:function(t,e,i){var n=this._calculateMovePercentDelta({anchor:cc.v2(0,t),applyToHorizontal:!1,applyToVertical:!0});e?this._startAutoScroll(n,e,!1!==i):this._moveContent(n)},stopAutoScroll:function(){this._autoScrolling=!1,this._autoScrollAccumulatedTime=this._autoScrollTotalTime},setContentPosition:function(t){t.fuzzyEquals(this.getContentPosition(),1e-4)||(this.content.setPosition(t),this._outOfBoundaryAmountDirty=!0)},getContentPosition:function(){return this.content.getPosition()},isScrolling:function(){return this._scrolling},isAutoScrolling:function(){return this._autoScrolling},_registerEvent:function(){this.node.on(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this,!0),this.node.on(cc.Node.EventType.TOUCH_MOVE,this._onTouchMoved,this,!0),this.node.on(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this,!0),this.node.on(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancelled,this,!0),this.node.on(cc.Node.EventType.MOUSE_WHEEL,this._onMouseWheel,this,!0)},_unregisterEvent:function(){this.node.off(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this,!0),this.node.off(cc.Node.EventType.TOUCH_MOVE,this._onTouchMoved,this,!0),this.node.off(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this,!0),this.node.off(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancelled,this,!0),this.node.off(cc.Node.EventType.MOUSE_WHEEL,this._onMouseWheel,this,!0)},_onMouseWheel:function(t,e){if(this.enabledInHierarchy&&!this.hasNestedViewGroup(t,e)){var i=cc.v2(0,0),n=-.1;cc.sys.os===cc.sys.OS_WINDOWS&&cc.sys.browserType===cc.sys.BROWSER_TYPE_FIREFOX&&(n=-.1/3),this.vertical?i=cc.v2(0,t.getScrollY()*n):this.horizontal&&(i=cc.v2(t.getScrollY()*n,0)),this._mouseWheelEventElapsedTime=0,this._processDeltaMove(i),this._stopMouseWheel||(this._handlePressLogic(),this.schedule(this._checkMouseWheel,1/60),this._stopMouseWheel=!0),this._stopPropagationIfTargetIsMe(t)}},_checkMouseWheel:function(t){if(!this._getHowMuchOutOfBoundary().fuzzyEquals(cc.v2(0,0),1e-4))return this._processInertiaScroll(),this.unschedule(this._checkMouseWheel),this._dispatchEvent("scroll-ended"),void(this._stopMouseWheel=!1);this._mouseWheelEventElapsedTime+=t,this._mouseWheelEventElapsedTime>.1&&(this._onScrollBarTouchEnded(),this.unschedule(this._checkMouseWheel),this._dispatchEvent("scroll-ended"),this._stopMouseWheel=!1)},_calculateMovePercentDelta:function(t){var e=t.anchor,i=t.applyToHorizontal,n=t.applyToVertical;this._calculateBoundary(),e=e.clampf(cc.v2(0,0),cc.v2(1,1));var r=this._view.getContentSize(),s=this.content.getContentSize(),a=this._getContentBottomBoundary()-this._bottomBoundary;a=-a;var o=this._getContentLeftBoundary()-this._leftBoundary;o=-o;var l=cc.v2(0,0),c=0;return i&&(c=s.width-r.width,l.x=o-c*e.x),n&&(c=s.height-r.height,l.y=a-c*e.y),l},_moveContentToTopLeft:function(t){var e=this.content.getContentSize(),i=this._getContentBottomBoundary()-this._bottomBoundary;i=-i;var n=cc.v2(0,0),r=0,s=this._getContentLeftBoundary()-this._leftBoundary;s=-s,e.height7&&!this._touchMoved&&t.target!==this.node){var n=new cc.Event.EventTouch(t.getTouches(),t.bubbles);n.type=cc.Node.EventType.TOUCH_CANCEL,n.touch=t.touch,n.simulate=!0,t.target.dispatchEvent(n),this._touchMoved=!0}this._stopPropagationIfTargetIsMe(t)}}},_onTouchEnded:function(t,e){if(this.enabledInHierarchy&&!this.hasNestedViewGroup(t,e)){this._dispatchEvent("touch-up");var i=t.touch;this.content&&this._handleReleaseLogic(i),this._touchMoved?t.stopPropagation():this._stopPropagationIfTargetIsMe(t)}},_onTouchCancelled:function(t,e){if(this.enabledInHierarchy&&!this.hasNestedViewGroup(t,e)){if(!t.simulate){var i=t.touch;this.content&&this._handleReleaseLogic(i)}this._stopPropagationIfTargetIsMe(t)}},_processDeltaMove:function(t){this._scrollChildren(t),this._gatherTouchMove(t)},_getLocalAxisAlignDelta:function(t){return this.node.convertToNodeSpaceAR(t.getLocation(),n),this.node.convertToNodeSpaceAR(t.getPreviousLocation(),r),n.sub(r)},_handleMoveLogic:function(t){var e=this._getLocalAxisAlignDelta(t);this._processDeltaMove(e)},_scrollChildren:function(t){var e,i=t=this._clampDelta(t);this.elastic&&(e=this._getHowMuchOutOfBoundary(),i.x*=0===e.x?1:.5,i.y*=0===e.y?1:.5),this.elastic||(e=this._getHowMuchOutOfBoundary(i),i=i.add(e));var n="",r="";this.vertical&&(i.y>0?this.content.y-this.content.anchorY*this.content.height+i.y>=this._bottomBoundary&&(n="scroll-to-bottom"):i.y<0&&this.content.y-this.content.anchorY*this.content.height+this.content.height+i.y<=this._topBoundary&&(n="scroll-to-top")),this.horizontal&&(i.x<0?this.content.x-this.content.anchorX*this.content.width+this.content.width+i.x<=this._rightBoundary&&(r="scroll-to-right"):i.x>0&&this.content.x-this.content.anchorX*this.content.width+i.x>=this._leftBoundary&&(r="scroll-to-left")),this._moveContent(i,!1),(this.horizontal&&0!==i.x||this.vertical&&0!==i.y)&&(this._scrolling||(this._scrolling=!0,this._dispatchEvent("scroll-began")),this._dispatchEvent("scrolling")),""!==n&&this._dispatchEvent(n),""!==r&&this._dispatchEvent(r)},_handlePressLogic:function(){this._autoScrolling&&this._dispatchEvent("scroll-ended"),this._autoScrolling=!1,this._isBouncing=!1,this._touchMovePreviousTimestamp=s(),this._touchMoveDisplacements.length=0,this._touchMoveTimeDeltas.length=0,this._onScrollBarTouchBegan()},_clampDelta:function(t){var e=this.content.getContentSize(),i=this._view.getContentSize();return e.width=5;)this._touchMoveDisplacements.shift(),this._touchMoveTimeDeltas.shift();this._touchMoveDisplacements.push(t);var e=s();this._touchMoveTimeDeltas.push((e-this._touchMovePreviousTimestamp)/1e3),this._touchMovePreviousTimestamp=e},_startBounceBackIfNeeded:function(){if(!this.elastic)return!1;var t=this._getHowMuchOutOfBoundary();if((t=this._clampDelta(t)).fuzzyEquals(cc.v2(0,0),1e-4))return!1;var e=Math.max(this.bounceDuration,0);return this._startAutoScroll(t,e,!0),this._isBouncing||(t.y>0&&this._dispatchEvent("bounce-top"),t.y<0&&this._dispatchEvent("bounce-bottom"),t.x>0&&this._dispatchEvent("bounce-right"),t.x<0&&this._dispatchEvent("bounce-left"),this._isBouncing=!0),!0},_processInertiaScroll:function(){if(!this._startBounceBackIfNeeded()&&this.inertia){var t=this._calculateTouchMoveVelocity();!t.fuzzyEquals(cc.v2(0,0),1e-4)&&this.brake<1&&this._startInertiaScroll(t)}this._onScrollBarTouchEnded()},_handleReleaseLogic:function(t){var e=this._getLocalAxisAlignDelta(t);this._gatherTouchMove(e),this._processInertiaScroll(),this._scrolling&&(this._scrolling=!1,this._autoScrolling||this._dispatchEvent("scroll-ended"))},_isOutOfBoundary:function(){return!this._getHowMuchOutOfBoundary().fuzzyEquals(cc.v2(0,0),1e-4)},_isNecessaryAutoScrollBrake:function(){if(this._autoScrollBraking)return!0;if(this._isOutOfBoundary()){if(!this._autoScrollCurrentlyOutOfBoundary)return this._autoScrollCurrentlyOutOfBoundary=!0,this._autoScrollBraking=!0,this._autoScrollBrakingStartPosition=this.getContentPosition(),!0}else this._autoScrollCurrentlyOutOfBoundary=!1;return!1},getScrollEndedEventTiming:function(){return 1e-4},_processAutoScrolling:function(t){var e=this._isNecessaryAutoScrollBrake(),i=e?.05:1;this._autoScrollAccumulatedTime+=t*(1/i);var n,r=Math.min(1,this._autoScrollAccumulatedTime/this._autoScrollTotalTime);this._autoScrollAttenuate&&(n=r,r=(n-=1)*n*n*n*n+1);var s=this._autoScrollStartPosition.add(this._autoScrollTargetDelta.mul(r)),a=Math.abs(r-1)<=1e-4;if(Math.abs(r-1)<=this.getScrollEndedEventTiming()&&!this._isScrollEndedWithThresholdEventFired&&(this._dispatchEvent("scroll-ended-with-threshold"),this._isScrollEndedWithThresholdEventFired=!0),this.elastic){var o=s.sub(this._autoScrollBrakingStartPosition);e&&(o=o.mul(i)),s=this._autoScrollBrakingStartPosition.add(o)}else{var l=s.sub(this.getContentPosition()),c=this._getHowMuchOutOfBoundary(l);c.fuzzyEquals(cc.v2(0,0),1e-4)||(s=s.add(c),a=!0)}a&&(this._autoScrolling=!1);var h=s.sub(this.getContentPosition());this._moveContent(this._clampDelta(h),a),this._dispatchEvent("scrolling"),this._autoScrolling||(this._isBouncing=!1,this._scrolling=!1,this._dispatchEvent("scroll-ended"))},_startInertiaScroll:function(t){var e=t.mul(.7);this._startAttenuatingAutoScroll(e,t)},_calculateAttenuatedFactor:function(t){return this.brake<=0?1-this.brake:(1-this.brake)*(1/(1+14e-6*t+t*t*8e-9))},_startAttenuatingAutoScroll:function(t,e){var i=this._calculateAutoScrollTimeByInitalSpeed(e.mag()),n=t.normalize(),r=this.content.getContentSize(),s=this._view.getContentSize(),a=r.width-s.width,o=r.height-s.height,l=this._calculateAttenuatedFactor(a),c=this._calculateAttenuatedFactor(o);n=cc.v2(n.x*a*(1-this.brake)*l,n.y*o*c*(1-this.brake));var h=t.mag(),u=n.mag()/h;n=n.add(t),this.brake>0&&u>7&&(u=Math.sqrt(u),n=t.mul(u).add(t)),this.brake>0&&u>3&&(i*=u=3),0===this.brake&&u>1&&(i*=u),this._startAutoScroll(n,i,!0)},_calculateAutoScrollTimeByInitalSpeed:function(t){return Math.sqrt(Math.sqrt(t/5))},_startAutoScroll:function(t,e,i){var n=this._flattenVectorByDirection(t);this._autoScrolling=!0,this._autoScrollTargetDelta=n,this._autoScrollAttenuate=i,this._autoScrollStartPosition=this.getContentPosition(),this._autoScrollTotalTime=e,this._autoScrollAccumulatedTime=0,this._autoScrollBraking=!1,this._isScrollEndedWithThresholdEventFired=!1,this._autoScrollBrakingStartPosition=cc.v2(0,0),this._getHowMuchOutOfBoundary().fuzzyEquals(cc.v2(0,0),1e-4)||(this._autoScrollCurrentlyOutOfBoundary=!0)},_calculateTouchMoveVelocity:function(){var t=0;if((t=this._touchMoveTimeDeltas.reduce((function(t,e){return t+e}),t))<=0||t>=.5)return cc.v2(0,0);var e=cc.v2(0,0);return e=this._touchMoveDisplacements.reduce((function(t,e){return t.add(e)}),e),cc.v2(e.x*(1-this.brake)/t,e.y*(1-this.brake)/t)},_flattenVectorByDirection:function(t){var e=t;return e.x=this.horizontal?e.x:0,e.y=this.vertical?e.y:0,e},_moveContent:function(t,e){var i=this._flattenVectorByDirection(t),n=this.getContentPosition().add(i);this.setContentPosition(n);var r=this._getHowMuchOutOfBoundary();this._updateScrollBar(r),this.elastic&&e&&this._startBounceBackIfNeeded()},_getContentLeftBoundary:function(){return this.getContentPosition().x-this.content.getAnchorPoint().x*this.content.getContentSize().width},_getContentRightBoundary:function(){var t=this.content.getContentSize();return this._getContentLeftBoundary()+t.width},_getContentTopBoundary:function(){var t=this.content.getContentSize();return this._getContentBottomBoundary()+t.height},_getContentBottomBoundary:function(){return this.getContentPosition().y-this.content.getAnchorPoint().y*this.content.getContentSize().height},_getHowMuchOutOfBoundary:function(t){if((t=t||cc.v2(0,0)).fuzzyEquals(cc.v2(0,0),1e-4)&&!this._outOfBoundaryAmountDirty)return this._outOfBoundaryAmount;var e=cc.v2(0,0);return this._getContentLeftBoundary()+t.x>this._leftBoundary?e.x=this._leftBoundary-(this._getContentLeftBoundary()+t.x):this._getContentRightBoundary()+t.xthis._bottomBoundary&&(e.y=this._bottomBoundary-(this._getContentBottomBoundary()+t.y)),t.fuzzyEquals(cc.v2(0,0),1e-4)&&(this._outOfBoundaryAmount=e,this._outOfBoundaryAmountDirty=!1),this._clampDelta(e)},_updateScrollBarState:function(){if(this.content){var t=this.content.getContentSize(),e=this._view.getContentSize();this.verticalScrollBar&&(t.height0&&t[0].check()}},onEnable:function(){this._makeAtLeastOneToggleChecked(),this.node.on("child-added",this._allowOnlyOneToggleChecked,this),this.node.on("child-removed",this._makeAtLeastOneToggleChecked,this)},onDisable:function(){this.node.off("child-added",this._allowOnlyOneToggleChecked,this),this.node.off("child-removed",this._makeAtLeastOneToggleChecked,this)}});t("../platform/js").get(i.prototype,"toggleItems",(function(){return this.node._children.map((function(t){return t.getComponent(cc.Toggle)})).filter(Boolean)})),cc.ToggleContainer=e.exports=i}),{"../platform/js":260}],170:[(function(t,e){"use strict";var i=cc.Class({name:"cc.ToggleGroup",extends:cc.Component,ctor:function(){this._toggleItems=[]},editor:!1,properties:{allowSwitchOff:{tooltip:!1,default:!1},toggleItems:{get:function(){return this._toggleItems}}},updateToggles:function(t){this.enabledInHierarchy&&this._toggleItems.forEach((function(e){t.isChecked&&e!==t&&e.isChecked&&e.enabled&&e._hideCheckMark()}))},addToggle:function(t){-1===this._toggleItems.indexOf(t)&&this._toggleItems.push(t),this._allowOnlyOneToggleChecked()},removeToggle:function(t){var e=this._toggleItems.indexOf(t);e>-1&&this._toggleItems.splice(e,1),this._makeAtLeastOneToggleChecked()},_allowOnlyOneToggleChecked:function(){var t=!1;return this._toggleItems.forEach((function(e){t&&e.enabled&&e._hideCheckMark(),e.isChecked&&e.enabled&&(t=!0)})),t},_makeAtLeastOneToggleChecked:function(){this._allowOnlyOneToggleChecked()||this.allowSwitchOff||this._toggleItems.length>0&&(this._toggleItems[0].isChecked=!0)},start:function(){this._makeAtLeastOneToggleChecked()}}),n=t("../platform/js"),r=!1;n.get(cc,"ToggleGroup",(function(){return r||(cc.errorID(1405,"cc.ToggleGroup","cc.ToggleContainer"),r=!0),i})),e.exports=i}),{"../platform/js":260}],171:[(function(t,e){"use strict";var i=cc.Class({name:"cc.ViewGroup",extends:t("./CCComponent")});cc.ViewGroup=e.exports=i}),{"./CCComponent":149}],172:[(function(t,e){"use strict";var i=t("../base-ui/CCWidgetManager"),n=i.AlignMode,r=i._AlignFlags,s=r.TOP,a=r.MID,o=r.BOT,l=r.LEFT,c=r.CENTER,h=r.RIGHT,u=s|o,_=l|h,f=cc.Class({name:"cc.Widget",extends:t("./CCComponent"),editor:!1,properties:{target:{get:function(){return this._target},set:function(t){this._target=t},type:cc.Node,tooltip:!1},isAlignTop:{get:function(){return(this._alignFlags&s)>0},set:function(t){this._setAlign(s,t)},animatable:!1,tooltip:!1},isAlignVerticalCenter:{get:function(){return(this._alignFlags&a)>0},set:function(t){t?(this.isAlignTop=!1,this.isAlignBottom=!1,this._alignFlags|=a):this._alignFlags&=~a},animatable:!1,tooltip:!1},isAlignBottom:{get:function(){return(this._alignFlags&o)>0},set:function(t){this._setAlign(o,t)},animatable:!1,tooltip:!1},isAlignLeft:{get:function(){return(this._alignFlags&l)>0},set:function(t){this._setAlign(l,t)},animatable:!1,tooltip:!1},isAlignHorizontalCenter:{get:function(){return(this._alignFlags&c)>0},set:function(t){t?(this.isAlignLeft=!1,this.isAlignRight=!1,this._alignFlags|=c):this._alignFlags&=~c},animatable:!1,tooltip:!1},isAlignRight:{get:function(){return(this._alignFlags&h)>0},set:function(t){this._setAlign(h,t)},animatable:!1,tooltip:!1},isStretchWidth:{get:function(){return(this._alignFlags&_)===_},visible:!1},isStretchHeight:{get:function(){return(this._alignFlags&u)===u},visible:!1},top:{get:function(){return this._top},set:function(t){this._top=t},tooltip:!1},bottom:{get:function(){return this._bottom},set:function(t){this._bottom=t},tooltip:!1},left:{get:function(){return this._left},set:function(t){this._left=t},tooltip:!1},right:{get:function(){return this._right},set:function(t){this._right=t},tooltip:!1},horizontalCenter:{get:function(){return this._horizontalCenter},set:function(t){this._horizontalCenter=t},tooltip:!1},verticalCenter:{get:function(){return this._verticalCenter},set:function(t){this._verticalCenter=t},tooltip:!1},isAbsoluteHorizontalCenter:{get:function(){return this._isAbsHorizontalCenter},set:function(t){this._isAbsHorizontalCenter=t},animatable:!1},isAbsoluteVerticalCenter:{get:function(){return this._isAbsVerticalCenter},set:function(t){this._isAbsVerticalCenter=t},animatable:!1},isAbsoluteTop:{get:function(){return this._isAbsTop},set:function(t){this._isAbsTop=t},animatable:!1},isAbsoluteBottom:{get:function(){return this._isAbsBottom},set:function(t){this._isAbsBottom=t},animatable:!1},isAbsoluteLeft:{get:function(){return this._isAbsLeft},set:function(t){this._isAbsLeft=t},animatable:!1},isAbsoluteRight:{get:function(){return this._isAbsRight},set:function(t){this._isAbsRight=t},animatable:!1},alignMode:{default:n.ON_WINDOW_RESIZE,type:n,tooltip:!1},_wasAlignOnce:{default:void 0,formerlySerializedAs:"isAlignOnce"},_target:null,_alignFlags:0,_left:0,_right:0,_top:0,_bottom:0,_verticalCenter:0,_horizontalCenter:0,_isAbsLeft:!0,_isAbsRight:!0,_isAbsTop:!0,_isAbsBottom:!0,_isAbsHorizontalCenter:!0,_isAbsVerticalCenter:!0,_originalWidth:0,_originalHeight:0},statics:{AlignMode:n},onLoad:function(){void 0!==this._wasAlignOnce&&(this.alignMode=this._wasAlignOnce?n.ONCE:n.ALWAYS,this._wasAlignOnce=void 0)},onEnable:function(){i.add(this)},onDisable:function(){i.remove(this)},_validateTargetInDEV:!1,_setAlign:function(t,e){if(e!==(this._alignFlags&t)>0){var i=(t&_)>0;e?(this._alignFlags|=t,i?(this.isAlignHorizontalCenter=!1,this.isStretchWidth&&(this._originalWidth=this.node.width)):(this.isAlignVerticalCenter=!1,this.isStretchHeight&&(this._originalHeight=this.node.height))):(i?this.isStretchWidth&&(this.node.width=this._originalWidth):this.isStretchHeight&&(this.node.height=this._originalHeight),this._alignFlags&=~t)}},updateAlignment:function(){i.updateAlignment(this.node)}});Object.defineProperty(f.prototype,"isAlignOnce",{get:function(){return this.alignMode===n.ONCE},set:function(t){this.alignMode=t?n.ONCE:n.ALWAYS}}),cc.Widget=e.exports=f}),{"../base-ui/CCWidgetManager":133,"./CCComponent":149}],173:[(function(t,e){"use strict";var i=t("../../platform/CCMacro"),n=t("../editbox/EditBoxImplBase"),r=t("../CCLabel"),s=t("./types"),a=s.InputMode,o=s.InputFlag,l=s.KeyboardReturnType;function c(t){return t.charAt(0).toUpperCase()+t.slice(1)}var h=cc.Class({name:"cc.EditBox",extends:cc.Component,editor:!1,properties:{_string:"",string:{tooltip:!1,get:function(){return this._string},set:function(t){t=""+t,this.maxLength>=0&&t.length>=this.maxLength&&(t=t.slice(0,this.maxLength)),this._string=t,this._updateString(t)}},textLabel:{tooltip:!1,default:null,type:r,notify:function(t){this.textLabel&&this.textLabel!==t&&(this._updateTextLabel(),this._updateLabels())}},placeholderLabel:{tooltip:!1,default:null,type:r,notify:function(t){this.placeholderLabel&&this.placeholderLabel!==t&&(this._updatePlaceholderLabel(),this._updateLabels())}},background:{tooltip:!1,default:null,type:cc.Sprite,notify:function(t){this.background&&this.background!==t&&this._updateBackgroundSprite()}},_N$backgroundImage:{default:void 0,type:cc.SpriteFrame},backgroundImage:{get:function(){return this.background?this.background.spriteFrame:null},set:function(t){this.background&&(this.background.spriteFrame=t)}},returnType:{default:l.DEFAULT,tooltip:!1,displayName:"KeyboardReturnType",type:l},_N$returnType:{default:void 0,type:cc.Float},inputFlag:{tooltip:!1,default:o.DEFAULT,type:o,notify:function(){this._updateString(this._string)}},inputMode:{tooltip:!1,default:a.ANY,type:a,notify:function(t){this.inputMode!==t&&(this._updateTextLabel(),this._updatePlaceholderLabel())}},fontSize:{get:function(){return this.textLabel?this.textLabel.fontSize:0},set:function(t){this.textLabel&&(this.textLabel.fontSize=t)}},_N$fontSize:{default:void 0,type:cc.Float},lineHeight:{get:function(){return this.textLabel?this.textLabel.lineHeight:0},set:function(t){this.textLabel&&(this.textLabel.lineHeight=t)}},_N$lineHeight:{default:void 0,type:cc.Float},fontColor:{get:function(){return this.textLabel?this.textLabel.node.color:cc.Color.BLACK},set:function(t){this.textLabel&&(this.textLabel.node.color=t,this.textLabel.node.opacity=t.a)}},_N$fontColor:void 0,placeholder:{tooltip:!1,get:function(){return this.placeholderLabel?this.placeholderLabel.string:""},set:function(t){this.placeholderLabel&&(this.placeholderLabel.string=t)}},_N$placeholder:{default:void 0,type:cc.String},placeholderFontSize:{get:function(){return this.placeholderLabel?this.placeholderLabel.fontSize:0},set:function(t){this.placeholderLabel&&(this.placeholderLabel.fontSize=t)}},_N$placeholderFontSize:{default:void 0,type:cc.Float},placeholderFontColor:{get:function(){return this.placeholderLabel?this.placeholderLabel.node.color:cc.Color.BLACK},set:function(t){this.placeholderLabel&&(this.placeholderLabel.node.color=t,this.placeholderLabel.node.opacity=t.a)}},_N$placeholderFontColor:void 0,maxLength:{tooltip:!1,default:20},_N$maxLength:{default:void 0,type:cc.Float},stayOnTop:{default:!1,notify:function(){cc.warn("editBox.stayOnTop is removed since v2.1.")}},_tabIndex:0,tabIndex:{tooltip:!1,get:function(){return this._tabIndex},set:function(t){this._tabIndex!==t&&(this._tabIndex=t,this._impl&&this._impl.setTabIndex(t))}},editingDidBegan:{default:[],type:cc.Component.EventHandler},textChanged:{default:[],type:cc.Component.EventHandler},editingDidEnded:{default:[],type:cc.Component.EventHandler},editingReturn:{default:[],type:cc.Component.EventHandler}},statics:{_ImplClass:n,KeyboardReturnType:l,InputFlag:o,InputMode:a},_init:function(){this._upgradeComp(),this._isLabelVisible=!0,this.node.on(cc.Node.EventType.SIZE_CHANGED,this._syncSize,this),(this._impl=new h._ImplClass).init(this),this._updateString(this._string),this._syncSize()},_updateBackgroundSprite:function(){var t=this.background;if(!t){var e=this.node.getChildByName("BACKGROUND_SPRITE");e||(e=new cc.Node("BACKGROUND_SPRITE")),(t=e.getComponent(cc.Sprite))||(t=e.addComponent(cc.Sprite)),e.parent=this.node,this.background=t}t.type=cc.Sprite.Type.SLICED,void 0!==this._N$backgroundImage&&(t.spriteFrame=this._N$backgroundImage,this._N$backgroundImage=void 0)},_updateTextLabel:function(){var t=this.textLabel;if(!t){var e=this.node.getChildByName("TEXT_LABEL");e||(e=new cc.Node("TEXT_LABEL")),(t=e.getComponent(r))||(t=e.addComponent(r)),e.parent=this.node,this.textLabel=t}t.node.setAnchorPoint(0,1),t.overflow=r.Overflow.CLAMP,this.inputMode===a.ANY?(t.verticalAlign=i.VerticalTextAlignment.TOP,t.enableWrapText=!0):(t.verticalAlign=i.VerticalTextAlignment.CENTER,t.enableWrapText=!1),t.string=this._updateLabelStringStyle(this._string),void 0!==this._N$fontColor&&(t.node.color=this._N$fontColor,t.node.opacity=this._N$fontColor.a,this._N$fontColor=void 0),void 0!==this._N$fontSize&&(t.fontSize=this._N$fontSize,this._N$fontSize=void 0),void 0!==this._N$lineHeight&&(t.lineHeight=this._N$lineHeight,this._N$lineHeight=void 0)},_updatePlaceholderLabel:function(){var t=this.placeholderLabel;if(!t){var e=this.node.getChildByName("PLACEHOLDER_LABEL");e||(e=new cc.Node("PLACEHOLDER_LABEL")),(t=e.getComponent(r))||(t=e.addComponent(r)),e.parent=this.node,this.placeholderLabel=t}t.node.setAnchorPoint(0,1),t.overflow=r.Overflow.CLAMP,this.inputMode===a.ANY?(t.verticalAlign=i.VerticalTextAlignment.TOP,t.enableWrapText=!0):(t.verticalAlign=i.VerticalTextAlignment.CENTER,t.enableWrapText=!1),t.string=this.placeholder,void 0!==this._N$placeholderFontColor&&(t.node.color=this._N$placeholderFontColor,t.node.opacity=this._N$placeholderFontColor.a,this._N$placeholderFontColor=void 0),void 0!==this._N$placeholderFontSize&&(t.fontSize=this._N$placeholderFontSize,this._N$placeholderFontSize=void 0)},_upgradeComp:function(){void 0!==this._N$returnType&&(this.returnType=this._N$returnType,this._N$returnType=void 0),void 0!==this._N$maxLength&&(this.maxLength=this._N$maxLength,this._N$maxLength=void 0),void 0!==this._N$backgroundImage&&this._updateBackgroundSprite(),void 0===this._N$fontColor&&void 0===this._N$fontSize&&void 0===this._N$lineHeight||this._updateTextLabel(),void 0===this._N$placeholderFontColor&&void 0===this._N$placeholderFontSize||this._updatePlaceholderLabel(),void 0!==this._N$placeholder&&(this.placeholder=this._N$placeholder,this._N$placeholder=void 0)},_syncSize:function(){if(this._impl){var t=this.node.getContentSize();this._impl.setSize(t.width,t.height)}},_showLabels:function(){this._isLabelVisible=!0,this._updateLabels()},_hideLabels:function(){this._isLabelVisible=!1,this.textLabel&&(this.textLabel.node.active=!1),this.placeholderLabel&&(this.placeholderLabel.node.active=!1)},_updateLabels:function(){if(this._isLabelVisible){var t=this._string;this.textLabel&&(this.textLabel.node.active=""!==t),this.placeholderLabel&&(this.placeholderLabel.node.active=""===t)}},_updateString:function(t){var e=this.textLabel;if(e){var i=t;i&&(i=this._updateLabelStringStyle(i)),e.string=i,this._updateLabels()}},_updateLabelStringStyle:function(t,e){var i=this.inputFlag;if(e||i!==o.PASSWORD)i===o.INITIAL_CAPS_ALL_CHARACTERS?t=t.toUpperCase():i===o.INITIAL_CAPS_WORD?t=t.replace(/(?:^|\s)\S/g,(function(t){return t.toUpperCase()})):i===o.INITIAL_CAPS_SENTENCE&&(t=c(t));else{for(var n="",r=t.length,s=0;s=0&&(e.value=e.value.slice(0,n)),t._delegate.editBoxTextChanged(e.value)}},n.onClick=function(){t._editing&&cc.sys.isMobile&&t._adjustWindowScroll()},n.onKeydown=function(i){i.keyCode===r.KEY.enter?(i.stopPropagation(),t._delegate.editBoxEditingReturn(),t._isTextArea||e.blur()):i.keyCode===r.KEY.tab&&(i.stopPropagation(),i.preventDefault(),o.next(t))},n.onBlur=function(){cc.sys.isMobile&&i&&n.compositionEnd(),t._editing=!1,m=null,t._hideDom(),t._delegate.editBoxEditingDidEnded()},e.addEventListener("compositionstart",n.compositionStart),e.addEventListener("compositionend",n.compositionEnd),e.addEventListener("input",n.onInput),e.addEventListener("keydown",n.onKeydown),e.addEventListener("blur",n.onBlur),e.addEventListener("touchstart",n.onClick)},_removeEventListeners:function(){var t=this._elem,e=this._eventListeners;t.removeEventListener("compositionstart",e.compositionStart),t.removeEventListener("compositionend",e.compositionEnd),t.removeEventListener("input",e.onInput),t.removeEventListener("keydown",e.onKeydown),t.removeEventListener("blur",e.onBlur),t.removeEventListener("touchstart",e.onClick),e.compositionStart=null,e.compositionEnd=null,e.onInput=null,e.onKeydown=null,e.onBlur=null,e.onClick=null}})}),{"../../platform/CCMacro":244,"../../platform/utils":263,"../../value-types/mat4":341,"../CCLabel":151,"./tabIndexUtil":176,"./types":177}],176:[(function(t,e){"use strict";e.exports={_tabIndexList:[],add:function(t){var e=this._tabIndexList;-1===e.indexOf(t)&&e.push(t)},remove:function(t){var e=this._tabIndexList,i=e.indexOf(t);-1!==i&&e.splice(i,1)},resort:function(){this._tabIndexList.sort((function(t,e){return t._delegate._tabIndex-e._delegate._tabIndex}))},next:function(t){var e=this._tabIndexList,i=e.indexOf(t);if(t.setFocus(!1),-1!==i){var n=e[i+1];n&&n._delegate._tabIndex>=0&&n.setFocus(!0)}}}}),{}],177:[(function(t,e){"use strict";var i=cc.Enum({DEFAULT:0,DONE:1,SEND:2,SEARCH:3,GO:4,NEXT:5}),n=cc.Enum({ANY:0,EMAIL_ADDR:1,NUMERIC:2,PHONE_NUMBER:3,URL:4,DECIMAL:5,SINGLE_LINE:6}),r=cc.Enum({PASSWORD:0,SENSITIVE:1,INITIAL_CAPS_WORD:2,INITIAL_CAPS_SENTENCE:3,INITIAL_CAPS_ALL_CHARACTERS:4,DEFAULT:5});e.exports={KeyboardReturnType:i,InputMode:n,InputFlag:r}}),{}],178:[(function(t,e){"use strict";t("./CCComponent"),t("./CCComponentEventHandler"),t("./missing-script");var i=t("./SubContextView");i||(i=cc.Class({name:"cc.SubContextView",extends:cc.Component}),cc.SubContextView=cc.WXSubContextView=cc.SwanSubContextView=i);var n=[t("./CCSprite"),t("./CCWidget"),t("./CCCanvas"),t("./CCAudioSource"),t("./CCAnimation"),t("./CCButton"),t("./CCLabel"),t("./CCProgressBar"),t("./CCMask"),t("./CCScrollBar"),t("./CCScrollView"),t("./CCPageViewIndicator"),t("./CCPageView"),t("./CCSlider"),t("./CCLayout"),t("./editbox/CCEditBox"),t("./CCLabelOutline"),t("./CCLabelShadow"),t("./CCRichText"),t("./CCToggleContainer"),t("./CCToggleGroup"),t("./CCToggle"),t("./CCBlockInputEvents"),t("./CCMotionStreak"),t("./CCSafeArea"),i];e.exports=n}),{"./CCAnimation":144,"./CCAudioSource":145,"./CCBlockInputEvents":146,"./CCButton":147,"./CCCanvas":148,"./CCComponent":149,"./CCComponentEventHandler":150,"./CCLabel":151,"./CCLabelOutline":152,"./CCLabelShadow":153,"./CCLayout":154,"./CCMask":155,"./CCMotionStreak":156,"./CCPageView":157,"./CCPageViewIndicator":158,"./CCProgressBar":159,"./CCRichText":161,"./CCSafeArea":162,"./CCScrollBar":163,"./CCScrollView":164,"./CCSlider":165,"./CCSprite":166,"./CCToggle":168,"./CCToggleContainer":169,"./CCToggleGroup":170,"./CCWidget":172,"./SubContextView":void 0,"./editbox/CCEditBox":173,"./missing-script":179}],179:[(function(t,e){"use strict";var i=cc.js,n=cc.Class({name:"cc.MissingScript",extends:cc.Component,editor:{inspector:"packages://inspector/inspectors/comps/missing-script.js"},properties:{compiled:{default:!1,serializable:!1},_$erialized:{default:null,visible:!1,editorOnly:!0}},ctor:!1,statics:{safeFindClass:function(t){return i._getClassById(t)||(cc.deserialize.reportMissingClass(t),n)}},onLoad:function(){cc.warnID(4600,this.node.name)}});cc._MissingScript=e.exports=n}),{}],180:[(function(t,e){"use strict";var i=cc.js;t("../event/event");var n=function(t,e){cc.Event.call(this,cc.Event.MOUSE,e),this._eventType=t,this._button=0,this._x=0,this._y=0,this._prevX=0,this._prevY=0,this._scrollX=0,this._scrollY=0};i.extend(n,cc.Event);var r=n.prototype;r.setScrollData=function(t,e){this._scrollX=t,this._scrollY=e},r.getScrollX=function(){return this._scrollX},r.getScrollY=function(){return this._scrollY},r.setLocation=function(t,e){this._x=t,this._y=e},r.getLocation=function(){return cc.v2(this._x,this._y)},r.getLocationInView=function(){return cc.v2(this._x,cc.view._designResolutionSize.height-this._y)},r._setPrevCursor=function(t,e){this._prevX=t,this._prevY=e},r.getPreviousLocation=function(){return cc.v2(this._prevX,this._prevY)},r.getDelta=function(){return cc.v2(this._x-this._prevX,this._y-this._prevY)},r.getDeltaX=function(){return this._x-this._prevX},r.getDeltaY=function(){return this._y-this._prevY},r.setButton=function(t){this._button=t},r.getButton=function(){return this._button},r.getLocationX=function(){return this._x},r.getLocationY=function(){return this._y},n.NONE=0,n.DOWN=1,n.UP=2,n.MOVE=3,n.SCROLL=4,n.BUTTON_LEFT=0,n.BUTTON_RIGHT=2,n.BUTTON_MIDDLE=1,n.BUTTON_4=3,n.BUTTON_5=4,n.BUTTON_6=5,n.BUTTON_7=6,n.BUTTON_8=7;var s=function(t,e){cc.Event.call(this,cc.Event.TOUCH,e),this._eventCode=0,this._touches=t||[],this.touch=null,this.currentTouch=null};i.extend(s,cc.Event),(r=s.prototype).getEventCode=function(){return this._eventCode},r.getTouches=function(){return this._touches},r._setEventCode=function(t){this._eventCode=t},r._setTouches=function(t){this._touches=t},r.setLocation=function(t,e){this.touch&&this.touch.setTouchInfo(this.touch.getID(),t,e)},r.getLocation=function(){return this.touch?this.touch.getLocation():cc.v2()},r.getLocationInView=function(){return this.touch?this.touch.getLocationInView():cc.v2()},r.getPreviousLocation=function(){return this.touch?this.touch.getPreviousLocation():cc.v2()},r.getStartLocation=function(){return this.touch?this.touch.getStartLocation():cc.v2()},r.getID=function(){return this.touch?this.touch.getID():null},r.getDelta=function(){return this.touch?this.touch.getDelta():cc.v2()},r.getDeltaX=function(){return this.touch?this.touch.getDelta().x:0},r.getDeltaY=function(){return this.touch?this.touch.getDelta().y:0},r.getLocationX=function(){return this.touch?this.touch.getLocationX():0},r.getLocationY=function(){return this.touch?this.touch.getLocationY():0},s.MAX_TOUCHES=5,s.BEGAN=0,s.MOVED=1,s.ENDED=2,s.CANCELED=3;var a=function(t,e){cc.Event.call(this,cc.Event.ACCELERATION,e),this.acc=t};i.extend(a,cc.Event);var o=function(t,e,i){cc.Event.call(this,cc.Event.KEYBOARD,i),this.keyCode=t,this.isPressed=e};i.extend(o,cc.Event),cc.Event.EventMouse=n,cc.Event.EventTouch=s,cc.Event.EventAcceleration=a,cc.Event.EventKeyboard=o,e.exports=cc.Event}),{"../event/event":187}],181:[(function(t,e){"use strict";var i=t("../platform/js");cc.EventListener=function(t,e,i){this._onEvent=i,this._type=t||0,this._listenerID=e||"",this._registered=!1,this._fixedPriority=0,this._node=null,this._target=null,this._paused=!0,this._isEnabled=!0},cc.EventListener.prototype={constructor:cc.EventListener,_setPaused:function(t){this._paused=t},_isPaused:function(){return this._paused},_setRegistered:function(t){this._registered=t},_isRegistered:function(){return this._registered},_getType:function(){return this._type},_getListenerID:function(){return this._listenerID},_setFixedPriority:function(t){this._fixedPriority=t},_getFixedPriority:function(){return this._fixedPriority},_setSceneGraphPriority:function(t){this._target=t,this._node=t},_getSceneGraphPriority:function(){return this._node},checkAvailable:function(){return null!==this._onEvent},clone:function(){return null},setEnabled:function(t){this._isEnabled=t},isEnabled:function(){return this._isEnabled},retain:function(){},release:function(){}},cc.EventListener.UNKNOWN=0,cc.EventListener.TOUCH_ONE_BY_ONE=1,cc.EventListener.TOUCH_ALL_AT_ONCE=2,cc.EventListener.KEYBOARD=3,cc.EventListener.MOUSE=4,cc.EventListener.ACCELERATION=6,cc.EventListener.CUSTOM=8;var n=cc.EventListener.ListenerID={MOUSE:"__cc_mouse",TOUCH_ONE_BY_ONE:"__cc_touch_one_by_one",TOUCH_ALL_AT_ONCE:"__cc_touch_all_at_once",KEYBOARD:"__cc_keyboard",ACCELERATION:"__cc_acceleration"},r=function(t,e){this._onCustomEvent=e,cc.EventListener.call(this,cc.EventListener.CUSTOM,t,this._callback)};i.extend(r,cc.EventListener),i.mixin(r.prototype,{_onCustomEvent:null,_callback:function(t){null!==this._onCustomEvent&&this._onCustomEvent(t)},checkAvailable:function(){return cc.EventListener.prototype.checkAvailable.call(this)&&null!==this._onCustomEvent},clone:function(){return new r(this._listenerID,this._onCustomEvent)}});var s=function(){cc.EventListener.call(this,cc.EventListener.MOUSE,n.MOUSE,this._callback)};i.extend(s,cc.EventListener),i.mixin(s.prototype,{onMouseDown:null,onMouseUp:null,onMouseMove:null,onMouseScroll:null,_callback:function(t){var e=cc.Event.EventMouse;switch(t._eventType){case e.DOWN:this.onMouseDown&&this.onMouseDown(t);break;case e.UP:this.onMouseUp&&this.onMouseUp(t);break;case e.MOVE:this.onMouseMove&&this.onMouseMove(t);break;case e.SCROLL:this.onMouseScroll&&this.onMouseScroll(t)}},clone:function(){var t=new s;return t.onMouseDown=this.onMouseDown,t.onMouseUp=this.onMouseUp,t.onMouseMove=this.onMouseMove,t.onMouseScroll=this.onMouseScroll,t},checkAvailable:function(){return!0}});var a=function(){cc.EventListener.call(this,cc.EventListener.TOUCH_ONE_BY_ONE,n.TOUCH_ONE_BY_ONE,null),this._claimedTouches=[]};i.extend(a,cc.EventListener),i.mixin(a.prototype,{constructor:a,_claimedTouches:null,swallowTouches:!1,onTouchBegan:null,onTouchMoved:null,onTouchEnded:null,onTouchCancelled:null,setSwallowTouches:function(t){this.swallowTouches=t},isSwallowTouches:function(){return this.swallowTouches},clone:function(){var t=new a;return t.onTouchBegan=this.onTouchBegan,t.onTouchMoved=this.onTouchMoved,t.onTouchEnded=this.onTouchEnded,t.onTouchCancelled=this.onTouchCancelled,t.swallowTouches=this.swallowTouches,t},checkAvailable:function(){return!!this.onTouchBegan||(cc.logID(1801),!1)}});var o=function(){cc.EventListener.call(this,cc.EventListener.TOUCH_ALL_AT_ONCE,n.TOUCH_ALL_AT_ONCE,null)};i.extend(o,cc.EventListener),i.mixin(o.prototype,{constructor:o,onTouchesBegan:null,onTouchesMoved:null,onTouchesEnded:null,onTouchesCancelled:null,clone:function(){var t=new o;return t.onTouchesBegan=this.onTouchesBegan,t.onTouchesMoved=this.onTouchesMoved,t.onTouchesEnded=this.onTouchesEnded,t.onTouchesCancelled=this.onTouchesCancelled,t},checkAvailable:function(){return null!==this.onTouchesBegan||null!==this.onTouchesMoved||null!==this.onTouchesEnded||null!==this.onTouchesCancelled||(cc.logID(1802),!1)}});var l=function(t){this._onAccelerationEvent=t,cc.EventListener.call(this,cc.EventListener.ACCELERATION,n.ACCELERATION,this._callback)};i.extend(l,cc.EventListener),i.mixin(l.prototype,{constructor:l,_onAccelerationEvent:null,_callback:function(t){this._onAccelerationEvent(t.acc,t)},checkAvailable:function(){return cc.assertID(this._onAccelerationEvent,1803),!0},clone:function(){return new l(this._onAccelerationEvent)}});var c=function(){cc.EventListener.call(this,cc.EventListener.KEYBOARD,n.KEYBOARD,this._callback)};i.extend(c,cc.EventListener),i.mixin(c.prototype,{constructor:c,onKeyPressed:null,onKeyReleased:null,_callback:function(t){t.isPressed?this.onKeyPressed&&this.onKeyPressed(t.keyCode,t):this.onKeyReleased&&this.onKeyReleased(t.keyCode,t)},clone:function(){var t=new c;return t.onKeyPressed=this.onKeyPressed,t.onKeyReleased=this.onKeyReleased,t},checkAvailable:function(){return null!==this.onKeyPressed||null!==this.onKeyReleased||(cc.logID(1800),!1)}}),cc.EventListener.create=function(t){cc.assertID(t&&t.event,1900);var e=t.event;delete t.event;var i=null;for(var n in e===cc.EventListener.TOUCH_ONE_BY_ONE?i=new a:e===cc.EventListener.TOUCH_ALL_AT_ONCE?i=new o:e===cc.EventListener.MOUSE?i=new s:e===cc.EventListener.CUSTOM?(i=new r(t.eventName,t.callback),delete t.eventName,delete t.callback):e===cc.EventListener.KEYBOARD?i=new c:e===cc.EventListener.ACCELERATION&&(i=new l(t.callback),delete t.callback),t)i[n]=t[n];return i},e.exports=cc.EventListener}),{"../platform/js":260}],182:[(function(t,e){"use strict";var i=t("../platform/js");t("./CCEventListener");var n=cc.EventListener.ListenerID,r=function(){this._fixedListeners=[],this._sceneGraphListeners=[],this.gt0Index=0};r.prototype={constructor:r,size:function(){return this._fixedListeners.length+this._sceneGraphListeners.length},empty:function(){return 0===this._fixedListeners.length&&0===this._sceneGraphListeners.length},push:function(t){0===t._getFixedPriority()?this._sceneGraphListeners.push(t):this._fixedListeners.push(t)},clearSceneGraphListeners:function(){this._sceneGraphListeners.length=0},clearFixedListeners:function(){this._fixedListeners.length=0},clear:function(){this._sceneGraphListeners.length=0,this._fixedListeners.length=0},getFixedPriorityListeners:function(){return this._fixedListeners},getSceneGraphPriorityListeners:function(){return this._sceneGraphListeners}};var s=function(t){var e=cc.Event,i=t.type;return i===e.ACCELERATION?n.ACCELERATION:i===e.KEYBOARD?n.KEYBOARD:i.startsWith(e.MOUSE)?n.MOUSE:(i.startsWith(e.TOUCH)&&cc.logID(2e3),"")},a={DIRTY_NONE:0,DIRTY_FIXED_PRIORITY:1,DIRTY_SCENE_GRAPH_PRIORITY:2,DIRTY_ALL:3,_listenersMap:{},_priorityDirtyFlagMap:{},_nodeListenersMap:{},_toAddedListeners:[],_toRemovedListeners:[],_dirtyListeners:{},_inDispatch:0,_isEnabled:!1,_currentTouch:null,_currentTouchListener:null,_internalCustomListenerIDs:[],_setDirtyForNode:function(t){var e=this._nodeListenersMap[t._id];if(e)for(var i=0,n=e.length;i0)for(var s=t._children,a=0,o=s.length;a=0;i--)(e=t[i])._setRegistered(!1),null!=e._getSceneGraphPriority()&&(this._dissociateNodeAndEventListener(e._getSceneGraphPriority(),e),e._setSceneGraphPriority(null)),0===this._inDispatch&&cc.js.array.removeAt(t,i)},_removeListenersForListenerID:function(t){var e,i=this._listenersMap[t];if(i){var n=i.getFixedPriorityListeners(),r=i.getSceneGraphPriorityListeners();this._removeAllListenersInVector(r),this._removeAllListenersInVector(n),delete this._priorityDirtyFlagMap[t],this._inDispatch||(i.clear(),delete this._listenersMap[t])}var s,a=this._toAddedListeners;for(e=a.length-1;e>=0;e--)(s=a[e])&&s._getListenerID()===t&&cc.js.array.removeAt(a,e)},_sortEventListeners:function(t){var e=this.DIRTY_NONE,i=this._priorityDirtyFlagMap;i[t]&&(e=i[t]),e!==this.DIRTY_NONE&&(i[t]=this.DIRTY_NONE,e&this.DIRTY_FIXED_PRIORITY&&this._sortListenersOfFixedPriority(t),e&this.DIRTY_SCENE_GRAPH_PRIORITY&&cc.director.getScene()&&this._sortListenersOfSceneGraphPriority(t))},_sortListenersOfSceneGraphPriority:function(t){var e=this._getListeners(t);if(e){var i=e.getSceneGraphPriorityListeners();i&&0!==i.length&&e.getSceneGraphPriorityListeners().sort(this._sortEventListenersOfSceneGraphPriorityDes)}},_sortEventListenersOfSceneGraphPriorityDes:function(t,e){var i=t._getSceneGraphPriority(),n=e._getSceneGraphPriority();if(!(e&&n&&n._activeInHierarchy&&null!==n._parent))return-1;if(!t||!i||!i._activeInHierarchy||null===i._parent)return 1;for(var r=i,s=n,a=!1;r._parent._id!==s._parent._id;)r=null===r._parent._parent?(a=!0)&&n:r._parent,s=null===s._parent._parent?(a=!0)&&i:s._parent;if(r._id===s._id){if(r._id===n._id)return-1;if(r._id===i._id)return 1}return a?r._localZOrder-s._localZOrder:s._localZOrder-r._localZOrder},_sortListenersOfFixedPriority:function(t){var e=this._listenersMap[t];if(e){var i=e.getFixedPriorityListeners();if(i&&0!==i.length){i.sort(this._sortListenersOfFixedPriorityAsc);for(var n=0,r=i.length;n=0);)++n;e.gt0Index=n}}},_sortListenersOfFixedPriorityAsc:function(t,e){return t._getFixedPriority()-e._getFixedPriority()},_onUpdateListeners:function(t){var e,i,n,r=t.getFixedPriorityListeners(),s=t.getSceneGraphPriorityListeners(),a=this._toRemovedListeners;if(s)for(e=s.length-1;e>=0;e--)(i=s[e])._isRegistered()||(cc.js.array.removeAt(s,e),-1!==(n=a.indexOf(i))&&a.splice(n,1));if(r)for(e=r.length-1;e>=0;e--)(i=r[e])._isRegistered()||(cc.js.array.removeAt(r,e),-1!==(n=a.indexOf(i))&&a.splice(n,1));s&&0===s.length&&t.clearSceneGraphListeners(),r&&0===r.length&&t.clearFixedListeners()},frameUpdateListeners:function(){var t=this._listenersMap,e=this._priorityDirtyFlagMap;for(var i in t)t[i].empty()&&(delete e[i],delete t[i]);var n=this._toAddedListeners;if(0!==n.length){for(var r=0,s=n.length;r0,3508),!(t>1)){var e;(e=this._listenersMap[n.TOUCH_ONE_BY_ONE])&&this._onUpdateListeners(e),(e=this._listenersMap[n.TOUCH_ALL_AT_ONCE])&&this._onUpdateListeners(e),cc.assertID(1===t,3509);var i=this._toAddedListeners;if(0!==i.length){for(var r=0,s=i.length;r0&&-1!==(r=t._claimedTouches.indexOf(n))){if(s=!0,!cc.macro.ENABLE_MULTI_TOUCH&&a._currentTouch&&a._currentTouch!==n)return!1;o===l.MOVED&&t.onTouchMoved?t.onTouchMoved(n,i):o===l.ENDED?(t.onTouchEnded&&t.onTouchEnded(n,i),t._registered&&t._claimedTouches.splice(r,1),a._clearCurTouch()):o===l.CANCELED&&(t.onTouchCancelled&&t.onTouchCancelled(n,i),t._registered&&t._claimedTouches.splice(r,1),a._clearCurTouch())}return i.isStopped()?(a._updateTouchListeners(i),!0):!(!s||!t.swallowTouches||(e.needsMutableSet&&e.touches.splice(n,1),0))},_dispatchTouchEvent:function(t){this._sortEventListeners(n.TOUCH_ONE_BY_ONE),this._sortEventListeners(n.TOUCH_ALL_AT_ONCE);var e=this._getListeners(n.TOUCH_ONE_BY_ONE),i=this._getListeners(n.TOUCH_ALL_AT_ONCE);if(null!==e||null!==i){var r=t.getTouches(),s=cc.js.array.copy(r),a={event:t,needsMutableSet:e&&i,touches:s,selTouch:null};if(e)for(var o=0;o0&&(this._dispatchEventToListeners(i,this._onTouchesEventCallback,{event:t,touches:s}),t.isStopped())||this._updateTouchListeners(t)}},_onTouchesEventCallback:function(t,e){if(!t._registered)return!1;var i=cc.Event.EventTouch,n=e.event,r=e.touches,s=n.getEventCode();return n.currentTarget=t._node,s===i.BEGAN&&t.onTouchesBegan?t.onTouchesBegan(r,n):s===i.MOVED&&t.onTouchesMoved?t.onTouchesMoved(r,n):s===i.ENDED&&t.onTouchesEnded?t.onTouchesEnded(r,n):s===i.CANCELED&&t.onTouchesCancelled&&t.onTouchesCancelled(r,n),!!n.isStopped()&&(a._updateTouchListeners(n),!0)},_associateNodeAndEventListener:function(t,e){var i=this._nodeListenersMap[t._id];i||(i=[],this._nodeListenersMap[t._id]=i),i.push(e)},_dissociateNodeAndEventListener:function(t,e){var i=this._nodeListenersMap[t._id];i&&(cc.js.array.remove(i,e),0===i.length&&delete this._nodeListenersMap[t._id])},_dispatchEventToListeners:function(t,e,i){var n,r,s=!1,a=t.getFixedPriorityListeners(),o=t.getSceneGraphPriorityListeners(),l=0;if(a&&0!==a.length)for(;l=0;l--){var c=o[l];if(c===t){cc.js.array.removeAt(o,l),c._setRegistered(!1);break}}this._currentTouchListener===t&&this._clearCurTouch()}},_clearCurTouch:function(){this._currentTouchListener=null,this._currentTouch=null},_removeListenerInCallback:function(t,e){if(null==t)return!1;for(var i=t.length-1;i>=0;i--){var n=t[i];if(n._onCustomEvent===e||n._onEvent===e)return n._setRegistered(!1),null!=n._getSceneGraphPriority()&&(this._dissociateNodeAndEventListener(n._getSceneGraphPriority(),n),n._setSceneGraphPriority(null)),0===this._inDispatch?cc.js.array.removeAt(t,i):this._toRemovedListeners.push(n),!0}return!1},_removeListenerInVector:function(t,e){if(null==t)return!1;for(var i=t.length-1;i>=0;i--){var n=t[i];if(n===e)return n._setRegistered(!1),null!=n._getSceneGraphPriority()&&(this._dissociateNodeAndEventListener(n._getSceneGraphPriority(),n),n._setSceneGraphPriority(null)),0===this._inDispatch?cc.js.array.removeAt(t,i):this._toRemovedListeners.push(n),!0}return!1},removeListeners:function(t,e){var i=this;if(cc.js.isNumber(t)||t instanceof cc._BaseNode)if(void 0!==t._id){var r,s=i._nodeListenersMap[t._id];if(s){var a=cc.js.array.copy(s);for(r=0;r=0;i--){var n=e[i];n&&this.off(t,n.callback,n.target)}},cc.EventTarget=e.exports=s}),{"../platform/callbacks-invoker":252,"../platform/js":260}],187:[(function(t,e){"use strict";var i=t("../platform/js");cc.Event=function(t,e){this.type=t,this.bubbles=!!e,this.target=null,this.currentTarget=null,this.eventPhase=0,this._propagationStopped=!1,this._propagationImmediateStopped=!1},cc.Event.prototype={constructor:cc.Event,unuse:function(){this.type=cc.Event.NO_TYPE,this.target=null,this.currentTarget=null,this.eventPhase=cc.Event.NONE,this._propagationStopped=!1,this._propagationImmediateStopped=!1},reuse:function(t,e){this.type=t,this.bubbles=e||!1},stopPropagation:function(){this._propagationStopped=!0},stopPropagationImmediate:function(){this._propagationImmediateStopped=!0},isStopped:function(){return this._propagationStopped||this._propagationImmediateStopped},getCurrentTarget:function(){return this.currentTarget},getType:function(){return this.type}},cc.Event.NO_TYPE="no_type",cc.Event.TOUCH="touch",cc.Event.MOUSE="mouse",cc.Event.KEYBOARD="keyboard",cc.Event.ACCELERATION="acceleration",cc.Event.NONE=0,cc.Event.CAPTURING_PHASE=1,cc.Event.AT_TARGET=2,cc.Event.BUBBLING_PHASE=3;var n=function(t,e){cc.Event.call(this,t,e),this.detail=null};i.extend(n,cc.Event),n.prototype.reset=n,n.prototype.setUserData=function(t){this.detail=t},n.prototype.getUserData=function(){return this.detail},n.prototype.getEventName=cc.Event.prototype.getType;var r=new i.Pool(10);n.put=function(t){r.put(t)},n.get=function(t,e){var i=r._get();return i?i.reset(t,e):i=new n(t,e),i},cc.Event.EventCustom=n,e.exports=cc.Event}),{"../platform/js":260}],188:[(function(t){"use strict";t("./event"),t("./event-listeners"),t("./event-target"),t("./system-event")}),{"./event":187,"./event-listeners":185,"./event-target":186,"./system-event":189}],189:[(function(t,e){"use strict";var i=t("../event/event-target"),n=t("../event-manager"),r=t("../platform/CCInputManager"),s=cc.Enum({KEY_DOWN:"keydown",KEY_UP:"keyup",DEVICEMOTION:"devicemotion"}),a=null,o=null,l=cc.Class({name:"SystemEvent",extends:i,statics:{EventType:s},setAccelerometerEnabled:function(t){t&&window.DeviceMotionEvent&&"function"==typeof DeviceMotionEvent.requestPermission?DeviceMotionEvent.requestPermission().then((function(t){console.log("Device Motion Event request permission: "+t),r.setAccelerometerEnabled("granted"===t)})):r.setAccelerometerEnabled(t)},setAccelerometerInterval:function(t){r.setAccelerometerInterval(t)},on:function(t,e,i,r){this._super(t,e,i,r),t!==s.KEY_DOWN&&t!==s.KEY_UP||(a||(a=cc.EventListener.create({event:cc.EventListener.KEYBOARD,onKeyPressed:function(t,e){e.type=s.KEY_DOWN,cc.systemEvent.dispatchEvent(e)},onKeyReleased:function(t,e){e.type=s.KEY_UP,cc.systemEvent.dispatchEvent(e)}})),n.hasEventListener(cc.EventListener.ListenerID.KEYBOARD)||n.addListener(a,1)),t===s.DEVICEMOTION&&(o||(o=cc.EventListener.create({event:cc.EventListener.ACCELERATION,callback:function(t,e){e.type=s.DEVICEMOTION,cc.systemEvent.dispatchEvent(e)}})),n.hasEventListener(cc.EventListener.ListenerID.ACCELERATION)||n.addListener(o,1))},off:function(t,e,i){if(this._super(t,e,i),a&&(t===s.KEY_DOWN||t===s.KEY_UP)){var r=this.hasEventListener(s.KEY_DOWN),l=this.hasEventListener(s.KEY_UP);r||l||n.removeListener(a)}o&&t===s.DEVICEMOTION&&n.removeListener(o)}});cc.SystemEvent=e.exports=l,cc.systemEvent=new cc.SystemEvent}),{"../event-manager":184,"../event/event-target":186,"../platform/CCInputManager":243}],190:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=a(t("../value-types/vec3")),r=a(t("../value-types/mat3")),s=a(t("./enums"));function a(t){return t&&t.__esModule?t:{default:t}}var o=new n.default,l=new n.default,c=new r.default,h=function(t,e,i){var r=c.m,s=i.m;r[0]=Math.abs(s[0]),r[1]=Math.abs(s[1]),r[2]=Math.abs(s[2]),r[3]=Math.abs(s[4]),r[4]=Math.abs(s[5]),r[5]=Math.abs(s[6]),r[6]=Math.abs(s[8]),r[7]=Math.abs(s[9]),r[8]=Math.abs(s[10]),n.default.transformMat3(t,e,c)},u=(function(){function t(t,e,i,r,a,o){this.center=void 0,this.halfExtents=void 0,this._type=void 0,this._type=s.default.SHAPE_AABB,this.center=new n.default(t,e,i),this.halfExtents=new n.default(r,a,o)}t.create=function(e,i,n,r,s,a){return new t(e,i,n,r,s,a)},t.clone=function(e){return new t(e.center.x,e.center.y,e.center.z,e.halfExtents.x,e.halfExtents.y,e.halfExtents.z)},t.copy=function(t,e){return n.default.copy(t.center,e.center),n.default.copy(t.halfExtents,e.halfExtents),t},t.fromPoints=function(t,e,i){return n.default.scale(t.center,n.default.add(o,e,i),.5),n.default.scale(t.halfExtents,n.default.sub(l,i,e),.5),t},t.set=function(t,e,i,r,s,a,o){return n.default.set(t.center,e,i,r),n.default.set(t.halfExtents,s,a,o),t};var e=t.prototype;return e.getBoundary=function(t,e){n.default.sub(t,this.center,this.halfExtents),n.default.add(e,this.center,this.halfExtents)},e.transform=function(t,e,i,r,s){s||(s=this),n.default.transformMat4(s.center,this.center,t),h(s.halfExtents,this.halfExtents,t)},t})();i.default=u,e.exports=i.default}),{"../value-types/mat3":340,"../value-types/vec3":349,"./enums":192}],191:[(function(t,e,i){"use strict";i.__esModule=!0,i.point_plane=_,i.pt_point_aabb=function(t,e,i){return n.Vec3.copy(t,e),n.Vec3.subtract(l,i.center,i.halfExtents),n.Vec3.add(c,i.center,i.halfExtents),t.x=t.xc.x?c.x:t.x,t.y=t.y>c.x?c.y:t.y,t.z=t.z>c.x?c.z:t.z,t},i.pt_point_obb=function(t,e,i){var l=i.orientation.m;n.Vec3.set(r,l[0],l[1],l[2]),n.Vec3.set(s,l[3],l[4],l[5]),n.Vec3.set(a,l[6],l[7],l[8]),h[0]=r,h[1]=s,h[2]=a,u[0]=i.halfExtents.x,u[1]=i.halfExtents.y,u[2]=i.halfExtents.z,n.Vec3.subtract(o,e,i.center),n.Vec3.set(t,i.center.x,i.center.y,i.center.z);for(var c=0;c<3;c++){var _=n.Vec3.dot(o,h[c]);_>u[c]&&(_=u[c]),_<-u[c]&&(_=-u[c]),t.x+=_*h[c].x,t.y+=_*h[c].y,t.z+=_*h[c].z}return t},i.pt_point_plane=function(t,e,i){var r=_(e,i);return n.Vec3.subtract(t,e,n.Vec3.multiplyScalar(t,i.n,r))};var n=t("../value-types"),r=new n.Vec3,s=new n.Vec3,a=new n.Vec3,o=new n.Vec3,l=new n.Vec3,c=new n.Vec3,h=new Array(3),u=new Array(3);function _(t,e){return n.Vec3.dot(e.n,t)-e.d}}),{"../value-types":339}],192:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0,i.default={SHAPE_RAY:1,SHAPE_LINE:2,SHAPE_SPHERE:4,SHAPE_AABB:8,SHAPE_OBB:16,SHAPE_PLANE:32,SHAPE_TRIANGLE:64,SHAPE_FRUSTUM:128,SHAPE_FRUSTUM_ACCURATE:256},e.exports=i.default}),{}],193:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("../value-types"),r=a(t("./enums")),s=a(t("./plane"));function a(t){return t&&t.__esModule?t:{default:t}}function o(t,e){for(var i=0;i0&&f=0;r--)t(n[r],i);i(e)}function e(t,e){return t.distance-e.distance}function i(t,e,i){var n=i.m,r=e.x,s=e.y,a=e.z,o=n[3]*r+n[7]*s+n[11]*a;return o=o?1/o:1,t.x=(n[0]*r+n[4]*s+n[8]*a)*o,t.y=(n[1]*r+n[5]*s+n[9]*a)*o,t.z=(n[2]*r+n[6]*s+n[10]*a)*o,t}var n=new r.default(function(){return{distance:0,node:null}},1),o=[],l=a.default.create(),h=new s.Vec3,u=new s.Vec3,_=new c.default,f=cc.mat4(),d=cc.mat4(),p=new s.Vec3;function m(t){return t>0&&t<1/0}return function(r,c,y,v){return n.reset(),o.length=0,t(r=r||cc.director.getScene(),(function(t){if(!v||v(t)){s.Mat4.invert(d,t.getWorldMatrix(f)),s.Vec3.transformMat4(_.o,c.o,d),s.Vec3.normalize(_.d,i(_.d,c.d,d));var e=1/0,r=t._renderComponent;if(r instanceof cc.MeshRenderer?e=V(_,r._boundingBox):t.width&&t.height&&(s.Vec3.set(h,-t.width*t.anchorX,-t.height*t.anchorY,t.z),s.Vec3.set(u,t.width*(1-t.anchorX),t.height*(1-t.anchorY),t.z),a.default.fromPoints(l,h,u),e=V(_,l)),m(e)&&(y&&(e=y(_,t,e)),m(e))){s.Vec3.scale(p,_.d,e),i(p,p,f);var g=n.add();g.node=t,g.distance=s.Vec3.mag(p),o.push(g)}}})),o.sort(e),o}})(),B=(f=new s.Vec3(0,0,0),function(t,e){var i=s.Vec3.dot(t.d,e.n);if(Math.abs(i)1?0:i}),I=(function(){var t=new s.Vec3(0,0,0),e=new s.Vec3(0,0,0),i=new s.Vec3(0,0,0),n=new s.Vec3(0,0,0),r=new s.Vec3(0,0,0);return function(a,o,l){s.Vec3.subtract(t,o.b,o.a),s.Vec3.subtract(e,o.c,o.a),s.Vec3.cross(i,a.d,e);var c=s.Vec3.dot(t,i);if(c-Number.EPSILON))return 0;var h=1/c;s.Vec3.subtract(n,a.o,o.a);var u=s.Vec3.dot(n,i)*h;if(u<0||u>1)return 0;s.Vec3.cross(r,n,t);var _=s.Vec3.dot(a.d,r)*h;if(_<0||u+_>1)return 0;var f=s.Vec3.dot(e,r)*h;return f<0?0:f}})(),R=I,O=(function(){var t=new s.Vec3(0,0,0),e=new s.Vec3(0,0,0),i=new s.Vec3(0,0,0),n=new s.Vec3(0,0,0),r=new s.Vec3(0,0,0),a=new s.Vec3(0,0,0);return function(o,l,c){s.Vec3.subtract(t,l.b,l.a),s.Vec3.subtract(e,l.c,l.a),s.Vec3.subtract(i,o.s,o.e),s.Vec3.cross(r,t,e);var h=s.Vec3.dot(i,r);if(h<=0)return 0;s.Vec3.subtract(n,o.s,l.a);var u=s.Vec3.dot(n,r);if(u<0||u>h)return 0;s.Vec3.cross(a,i,n);var _=s.Vec3.dot(e,a);if(_<0||_>h)return 0;var f=-s.Vec3.dot(t,a);if(f<0||_+f>h)return 0;if(c){var d=1/h,p=1-(_*=d)-(f*=d);s.Vec3.set(c,l.a.x*p+l.b.x*_+l.c.x*f,l.a.y*p+l.b.y*_+l.c.y*f,l.a.z*p+l.b.z*_+l.c.z*f)}return 1}})(),L=(p=new s.Vec3(0,0,0),m=new s.Vec3(0,0,0),y=new s.Vec3(0,0,0),v=new s.Vec3(0,0,0),g=new s.Vec3(0,0,0),b=new s.Vec3(0,0,0),A=new s.Vec3(0,0,0),function(t,e,i,n,r,a,o){s.Vec3.subtract(p,e,t),s.Vec3.subtract(m,i,t),s.Vec3.subtract(y,n,t),s.Vec3.subtract(v,r,t),s.Vec3.cross(b,v,p);var l=s.Vec3.dot(m,b);if(l>=0){var c=-s.Vec3.dot(y,b);if(c<0)return 0;var h=s.Vec3.dot(s.Vec3.cross(A,p,y),m);if(h<0)return 0;if(o){var u=1/(c+l+h);c*=u,l*=u,h*=u,s.Vec3.set(o,i.x*c+n.x*l+r.x*h,i.y*c+n.y*l+r.y*h,i.z*c+n.z*l+r.z*h)}}else{s.Vec3.subtract(g,a,t);var _=s.Vec3.dot(g,b);if(_<0)return 0;var f=s.Vec3.dot(s.Vec3.cross(A,p,m),g);if(f<0)return 0;if(o){var d=1/(_+(l=-l)+f);_*=d,l*=d,f*=d,s.Vec3.set(o,i.x*_+a.x*l+r.x*f,i.y*_+a.y*l+r.y*f,i.z*_+a.z*l+r.z*f)}}return 1}),F=(function(){var t=new s.Vec3(0,0,0);return function(e,i){var n=i.radius,r=i.center,a=e.o,o=e.d,l=n*n;s.Vec3.subtract(t,r,a);var c=t.lengthSqr(),h=s.Vec3.dot(t,o),u=l-(c-h*h);if(u<0)return 0;var _=Math.sqrt(u),f=cp?0:d}),N=V,k=(function(){var t=new s.Vec3,e=new s.Vec3,i=new s.Vec3,n=new s.Vec3,r=new s.Vec3,a=new s.Vec3,o=new s.Vec3,l=new Array(3),c=new Array(3),h=new Array(3),u=new Array(6);return function(_,f){l[0]=f.halfExtents.x,l[1]=f.halfExtents.y,l[2]=f.halfExtents.z,t=f.center,e=_.o,i=_.d;var d=f.orientation.m;s.Vec3.set(n,d[0],d[1],d[2]),s.Vec3.set(r,d[3],d[4],d[5]),s.Vec3.set(a,d[6],d[7],d[8]),s.Vec3.subtract(o,t,e),c[0]=s.Vec3.dot(n,i),c[1]=s.Vec3.dot(r,i),c[2]=s.Vec3.dot(a,i),h[0]=s.Vec3.dot(n,o),h[1]=s.Vec3.dot(r,o),h[2]=s.Vec3.dot(a,o);for(var p=0;p<3;++p){if(0===c[p]){if(-h[p]-l[p]>0||-h[p]+l[p]<0)return 0;c[p]=1e-7}u[2*p+0]=(h[p]+l[p])/c[p],u[2*p+1]=(h[p]-l[p])/c[p]}var m=Math.max(Math.max(Math.min(u[0],u[1]),Math.min(u[2],u[3])),Math.min(u[4],u[5])),y=Math.min(Math.min(Math.max(u[0],u[1]),Math.max(u[2],u[3])),Math.max(u[4],u[5]));return y<0||m>y||m<0?0:m}})(),z=(T=new s.Vec3,S=new s.Vec3,w=new s.Vec3,E=new s.Vec3,function(t,e){return s.Vec3.subtract(T,t.center,t.halfExtents),s.Vec3.add(S,t.center,t.halfExtents),s.Vec3.subtract(w,e.center,e.halfExtents),s.Vec3.add(E,e.center,e.halfExtents),T.x<=E.x&&S.x>=w.x&&T.y<=E.y&&S.y>=w.y&&T.z<=E.z&&S.z>=w.z});function G(t,e,i){s.Vec3.set(i[0],t.x,e.y,e.z),s.Vec3.set(i[1],t.x,e.y,t.z),s.Vec3.set(i[2],t.x,t.y,e.z),s.Vec3.set(i[3],t.x,t.y,t.z),s.Vec3.set(i[4],e.x,e.y,e.z),s.Vec3.set(i[5],e.x,e.y,t.z),s.Vec3.set(i[6],e.x,t.y,e.z),s.Vec3.set(i[7],e.x,t.y,t.z)}function U(t,e,i,n,r,a){s.Vec3.set(a[0],t.x+i.x*e.x+n.x*e.y+r.x*e.z,t.y+i.y*e.x+n.y*e.y+r.y*e.z,t.z+i.z*e.x+n.z*e.y+r.z*e.z),s.Vec3.set(a[1],t.x-i.x*e.x+n.x*e.y+r.x*e.z,t.y-i.y*e.x+n.y*e.y+r.y*e.z,t.z-i.z*e.x+n.z*e.y+r.z*e.z),s.Vec3.set(a[2],t.x+i.x*e.x-n.x*e.y+r.x*e.z,t.y+i.y*e.x-n.y*e.y+r.y*e.z,t.z+i.z*e.x-n.z*e.y+r.z*e.z),s.Vec3.set(a[3],t.x+i.x*e.x+n.x*e.y-r.x*e.z,t.y+i.y*e.x+n.y*e.y-r.y*e.z,t.z+i.z*e.x+n.z*e.y-r.z*e.z),s.Vec3.set(a[4],t.x-i.x*e.x-n.x*e.y-r.x*e.z,t.y-i.y*e.x-n.y*e.y-r.y*e.z,t.z-i.z*e.x-n.z*e.y-r.z*e.z),s.Vec3.set(a[5],t.x+i.x*e.x-n.x*e.y-r.x*e.z,t.y+i.y*e.x-n.y*e.y-r.y*e.z,t.z+i.z*e.x-n.z*e.y-r.z*e.z),s.Vec3.set(a[6],t.x-i.x*e.x+n.x*e.y-r.x*e.z,t.y-i.y*e.x+n.y*e.y-r.y*e.z,t.z-i.z*e.x+n.z*e.y-r.z*e.z),s.Vec3.set(a[7],t.x-i.x*e.x-n.x*e.y+r.x*e.z,t.y-i.y*e.x-n.y*e.y+r.y*e.z,t.z-i.z*e.x-n.z*e.y+r.z*e.z)}function j(t,e){for(var i=s.Vec3.dot(e,t[0]),n=i,r=1;r<8;++r){var a=s.Vec3.dot(e,t[r]);i=an?a:n}return[i,n]}var H,W=(function(){for(var t=new Array(15),e=0;e<15;e++)t[e]=new s.Vec3(0,0,0);for(var i=new Array(8),n=new Array(8),r=0;r<8;r++)i[r]=new s.Vec3(0,0,0),n[r]=new s.Vec3(0,0,0);var a=new s.Vec3,o=new s.Vec3;return function(e,r){var l=r.orientation.m;s.Vec3.set(t[0],1,0,0),s.Vec3.set(t[1],0,1,0),s.Vec3.set(t[2],0,0,1),s.Vec3.set(t[3],l[0],l[1],l[2]),s.Vec3.set(t[4],l[3],l[4],l[5]),s.Vec3.set(t[5],l[6],l[7],l[8]);for(var c=0;c<3;++c)s.Vec3.cross(t[6+3*c],t[c],t[0]),s.Vec3.cross(t[7+3*c],t[c],t[1]),s.Vec3.cross(t[7+3*c],t[c],t[2]);s.Vec3.subtract(a,e.center,e.halfExtents),s.Vec3.add(o,e.center,e.halfExtents),G(a,o,i),U(r.center,r.halfExtents,t[3],t[4],t[5],n);for(var h=0;h<15;++h){var u=j(i,t[h]),_=j(n,t[h]);if(_[0]>u[1]||u[0]>_[1])return 0}return 1}})(),X=function(t,e){var i=t.halfExtents.x*Math.abs(e.n.x)+t.halfExtents.y*Math.abs(e.n.y)+t.halfExtents.z*Math.abs(e.n.z),n=s.Vec3.dot(e.n,t.center);return n+ie.d?0:1},Y=function(t,e){for(var i=0;in.halfExtents.x?e++:t[h].x<-n.halfExtents.x&&i++;if(e===r.vertices.length||i===r.vertices.length)return 0;e=0,i=0;for(var u=0;un.halfExtents.y?e++:t[u].y<-n.halfExtents.y&&i++;if(e===r.vertices.length||i===r.vertices.length)return 0;e=0,i=0;for(var _=0;_n.halfExtents.z?e++:t[_].z<-n.halfExtents.z&&i++;return e===r.vertices.length||i===r.vertices.length?0:1}})(),J=(function(){var t=new s.Vec3(0,0,0),e=new s.Mat3;return function(i,n){return s.Vec3.subtract(t,n,i.center),s.Vec3.transformMat3(t,t,s.Mat3.transpose(e,i.orientation)),r=t,a=i.halfExtents,Math.abs(r.x)e.d?0:1}),K=function(t,e){for(var i=0;ir.halfExtents.x?i++:e<-r.halfExtents.x&&n++;if(i===o.vertices.length||n===o.vertices.length)return 0;i=0,n=0;for(var d=0;dr.halfExtents.y?i++:e<-r.halfExtents.y&&n++;if(i===o.vertices.length||n===o.vertices.length)return 0;i=0,n=0;for(var p=0;pr.halfExtents.z?i++:e<-r.halfExtents.z&&n++;return i===o.vertices.length||n===o.vertices.length?0:1}})(),$=(function(){for(var t=new Array(15),e=0;e<15;e++)t[e]=new s.Vec3(0,0,0);for(var i=new Array(8),n=new Array(8),r=0;r<8;r++)i[r]=new s.Vec3(0,0,0),n[r]=new s.Vec3(0,0,0);return function(e,r){var a=e.orientation.m,o=r.orientation.m;s.Vec3.set(t[0],a[0],a[1],a[2]),s.Vec3.set(t[1],a[3],a[4],a[5]),s.Vec3.set(t[2],a[6],a[7],a[8]),s.Vec3.set(t[3],o[0],o[1],o[2]),s.Vec3.set(t[4],o[3],o[4],o[5]),s.Vec3.set(t[5],o[6],o[7],o[8]);for(var l=0;l<3;++l)s.Vec3.cross(t[6+3*l],t[l],t[0]),s.Vec3.cross(t[7+3*l],t[l],t[1]),s.Vec3.cross(t[7+3*l],t[l],t[2]);U(e.center,e.halfExtents,t[0],t[1],t[2],i),U(r.center,r.halfExtents,t[3],t[4],t[5],n);for(var c=0;c<15;++c){var h=j(i,t[c]),u=j(n,t[c]);if(u[0]>h[1]||h[0]>u[1])return 0}return 1}})(),tt=function(t,e){var i=s.Vec3.dot(e.n,t.center),n=t.radius*e.n.length();return i+ne.d?0:1},et=function(t,e){for(var i=0;ih)){s.Vec3.add(t,l,s.Vec3.multiplyScalar(t,c,o));for(var _=0;_<6;_++)if(_!==r&&_!==r+e[r]){var f=n.planes[_];if(s.Vec3.dot(f.n,t)0&&(t.d=e.d/i),t},t.prototype.transform=function(t){r.Mat4.invert(l,t),r.Mat4.transpose(l,l),r.Vec4.set(c,this.n.x,this.n.y,this.n.z,this.d),r.Vec4.transformMat4(c,c,l),r.Vec3.set(this.n,c.x,c.y,c.z),this.d=c.w},t})();i.default=h,e.exports=i.default}),{"../value-types":339,"./enums":192}],199:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=t("../value-types"),s=(n=t("./enums"))&&n.__esModule?n:{default:n},a=(function(){function t(t,e,i,n,a,o){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===a&&(a=0),void 0===o&&(o=-1),this.o=void 0,this.d=void 0,this._type=void 0,this._type=s.default.SHAPE_RAY,this.o=new r.Vec3(t,e,i),this.d=new r.Vec3(n,a,o)}return t.create=function(e,i,n,r,s,a){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===r&&(r=0),void 0===s&&(s=0),void 0===a&&(a=1),new t(e,i,n,r,s,a)},t.clone=function(e){return new t(e.o.x,e.o.y,e.o.z,e.d.x,e.d.y,e.d.z)},t.copy=function(t,e){return r.Vec3.copy(t.o,e.o),r.Vec3.copy(t.d,e.d),t},t.fromPoints=function(t,e,i){return r.Vec3.copy(t.o,e),r.Vec3.normalize(t.d,r.Vec3.subtract(t.d,i,e)),t},t.set=function(t,e,i,n,r,s,a){return t.o.x=e,t.o.y=i,t.o.z=n,t.d.x=r,t.d.y=s,t.d.z=a,t},t.prototype.computeHit=function(t,e){r.Vec3.normalize(t,this.d),r.Vec3.scaleAndAdd(t,this.o,t,e)},t})();i.default=a,e.exports=i.default}),{"../value-types":339,"./enums":192}],200:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=t("../value-types"),s=(n=t("./enums"))&&n.__esModule?n:{default:n},a=new r.Vec3,o=(function(){function t(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=1),this.center=void 0,this.radius=void 0,this._type=void 0,this._type=s.default.SHAPE_SPHERE,this.center=new r.Vec3(t,e,i),this.radius=n}t.create=function(e,i,n,r){return new t(e,i,n,r)},t.clone=function(e){return new t(e.center.x,e.center.y,e.center.z,e.radius)},t.copy=function(t,e){return r.Vec3.copy(t.center,e.center),t.radius=e.radius,t},t.fromPoints=function(t,e,i){return r.Vec3.multiplyScalar(t.center,r.Vec3.add(a,e,i),.5),t.radius=.5*r.Vec3.subtract(a,i,e).len(),t},t.set=function(t,e,i,n,r){return t.center.x=e,t.center.y=i,t.center.z=n,t.radius=r,t};var e=t.prototype;return e.clone=function(){return t.clone(this)},e.copy=function(e){return t.copy(this,e)},e.getBoundary=function(t,e){r.Vec3.set(t,this.center.x-this.radius,this.center.y-this.radius,this.center.z-this.radius),r.Vec3.set(e,this.center.x+this.radius,this.center.y+this.radius,this.center.z+this.radius)},e.transform=function(t,e,i,n,s){r.Vec3.transformMat4(s.center,this.center,t),s.radius=this.radius*n.maxAxis()},e.translateAndRotate=function(t,e,i){r.Vec3.transformMat4(i.center,this.center,t)},e.setScale=function(t,e){e.radius=this.radius*t.maxAxis()},t})();i.default=o,e.exports=i.default}),{"../value-types":339,"./enums":192}],201:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=s(t("../value-types/vec3")),r=s(t("./enums"));function s(t){return t&&t.__esModule?t:{default:t}}var a=(function(){function t(t,e,i,s,a,o,l,c,h){this.a=void 0,this.b=void 0,this.c=void 0,this._type=void 0,this.a=new n.default(t,e,i),this.b=new n.default(s,a,o),this.c=new n.default(l,c,h),this._type=r.default.SHAPE_TRIANGLE}return t.create=function(e,i,n,r,s,a,o,l,c){return new t(e,i,n,r,s,a,o,l,c)},t.clone=function(e){return new t(e.a.x,e.a.y,e.a.z,e.b.x,e.b.y,e.b.z,e.c.x,e.c.y,e.c.z)},t.copy=function(t,e){return n.default.copy(t.a,e.a),n.default.copy(t.b,e.b),n.default.copy(t.c,e.c),t},t.fromPoints=function(t,e,i,r){return n.default.copy(t.a,e),n.default.copy(t.b,i),n.default.copy(t.c,r),t},t.set=function(t,e,i,n,r,s,a,o,l,c){return t.a.x=e,t.a.y=i,t.a.z=n,t.b.x=r,t.b.y=s,t.b.z=a,t.c.x=o,t.c.y=l,t.c.z=c,t},t})();i.default=a,e.exports=i.default}),{"../value-types/vec3":349,"./enums":192}],202:[(function(t,e){"use strict";var i=t("../components/CCRenderComponent"),n=t("../assets/material/CCMaterial"),r=t("./types"),s=r.LineCap,a=r.LineJoin,o=cc.Class({name:"cc.Graphics",extends:i,editor:!1,ctor:function(){this._impl=new o._Impl(this)},properties:{_lineWidth:2,_strokeColor:cc.Color.BLACK,_lineJoin:a.MITER,_lineCap:s.BUTT,_fillColor:cc.Color.WHITE,_miterLimit:10,lineWidth:{get:function(){return this._lineWidth},set:function(t){this._lineWidth=t,this._impl.lineWidth=t}},lineJoin:{get:function(){return this._lineJoin},set:function(t){this._lineJoin=t,this._impl.lineJoin=t},type:a},lineCap:{get:function(){return this._lineCap},set:function(t){this._lineCap=t,this._impl.lineCap=t},type:s},strokeColor:{get:function(){return this._strokeColor},set:function(t){this._impl.strokeColor=this._strokeColor=cc.color(t)}},fillColor:{get:function(){return this._fillColor},set:function(t){this._impl.fillColor=this._fillColor=cc.color(t)}},miterLimit:{get:function(){return this._miterLimit},set:function(t){this._miterLimit=t,this._impl.miterLimit=t}}},statics:{LineJoin:a,LineCap:s},onRestore:function(){this._impl||(this._impl=new o._Impl(this))},onDestroy:function(){this.clear(!0),this._super(),this._impl=null},_getDefaultMaterial:function(){return n.getBuiltinMaterial("2d-graphics")},_updateMaterial:function(){var t=this._materials[0];t&&(void 0!==t.getDefine("CC_USE_MODEL")&&t.define("CC_USE_MODEL",!0),void 0!==t.getDefine("CC_SUPPORT_standard_derivatives")&&cc.sys.glExtension("OES_standard_derivatives")&&t.define("CC_SUPPORT_standard_derivatives",!0))},moveTo:function(t,e){this._impl.moveTo(t,e)},lineTo:function(t,e){this._impl.lineTo(t,e)},bezierCurveTo:function(t,e,i,n,r,s){this._impl.bezierCurveTo(t,e,i,n,r,s)},quadraticCurveTo:function(t,e,i,n){this._impl.quadraticCurveTo(t,e,i,n)},arc:function(t,e,i,n,r,s){this._impl.arc(t,e,i,n,r,s)},ellipse:function(t,e,i,n){this._impl.ellipse(t,e,i,n)},circle:function(t,e,i){this._impl.circle(t,e,i)},rect:function(t,e,i,n){this._impl.rect(t,e,i,n)},roundRect:function(t,e,i,n,r){this._impl.roundRect(t,e,i,n,r)},fillRect:function(t,e,i,n){this.rect(t,e,i,n),this.fill()},clear:function(t){this._impl.clear(t),this._assembler&&this._assembler.clear(t)},close:function(){this._impl.close()},stroke:function(){this._assembler||this._resetAssembler(),this._assembler.stroke(this)},fill:function(){this._assembler||this._resetAssembler(),this._assembler.fill(this)}});cc.Graphics=e.exports=o,cc.Graphics.Types=r,cc.Graphics.Helper=t("./helper")}),{"../assets/material/CCMaterial":124,"../components/CCRenderComponent":160,"./helper":203,"./types":205}],203:[(function(t,e){"use strict";var i=t("./types").PointFlags,n=Math.PI,r=Math.min,s=Math.max,a=Math.cos,o=Math.sin,l=Math.abs,c=Math.sign,h=.5522847493;e.exports={arc:function(t,e,i,c,h,u,_){var f,d,p,m=0,y=0,v=0,g=0,b=0,A=0,x=0,C=0,T=0,S=0,w=0,E=0,M=0;if(y=u-h,_=_||!1)if(l(y)>=2*n)y=2*n;else for(;y<0;)y+=2*n;else if(l(y)>=2*n)y=2*-n;else for(;y>0;)y-=2*n;for(p=0|s(1,r(l(y)/(.5*n)+.5,5)),v=l(4/3*(1-a(f=y/p/2))/o(f)),_||(v=-v),d=0;d<=p;d++)A=e+(g=a(m=h+y*(d/p)))*c,x=i+(b=o(m))*c,C=-b*c*v,T=g*c*v,0===d?t.moveTo(A,x):t.bezierCurveTo(S+E,w+M,A-C,x-T,A,x),S=A,w=x,E=C,M=T},ellipse:function(t,e,i,n,r){t.moveTo(e-n,i),t.bezierCurveTo(e-n,i+r*h,e-n*h,i+r,e,i+r),t.bezierCurveTo(e+n*h,i+r,e+n,i+r*h,e+n,i),t.bezierCurveTo(e+n,i-r*h,e+n*h,i-r,e,i-r),t.bezierCurveTo(e-n*h,i-r,e-n,i-r*h,e-n,i),t.close()},roundRect:function(t,e,i,n,s,a){if(a<.1)t.rect(e,i,n,s);else{var o=r(a,.5*l(n))*c(n),u=r(a,.5*l(s))*c(s);t.moveTo(e,i+u),t.lineTo(e,i+s-u),t.bezierCurveTo(e,i+s-u*(1-h),e+o*(1-h),i+s,e+o,i+s),t.lineTo(e+n-o,i+s),t.bezierCurveTo(e+n-o*(1-h),i+s,e+n,i+s-u*(1-h),e+n,i+s-u),t.lineTo(e+n,i+u),t.bezierCurveTo(e+n,i+u*(1-h),e+n-o*(1-h),i,e+n-o,i),t.lineTo(e+o,i),t.bezierCurveTo(e+o*(1-h),i,e,i+u*(1-h),e,i+u),t.close()}},tesselateBezier:function t(e,n,r,s,a,o,c,h,u,_,f){var d,p,m,y,v,g,b,A,x,C,T,S,w,E,M,D;_>10||(v=.5*(o+h),g=.5*(c+u),b=.5*((d=.5*(n+s))+(m=.5*(s+o))),A=.5*((p=.5*(r+a))+(y=.5*(a+c))),((M=l((s-h)*(E=u-r)-(a-u)*(w=h-n)))+(D=l((o-h)*E-(c-u)*w)))*(M+D)0){for(var p=new DataView(i,r),m=n,y=l.num,v=0;v0||this.disableRender()},_updateMaterial:function(){var t=this.textures;if(t&&t.length>0)for(var e=this._getDefaultMaterial(),i=0;i>2,f=h.vertexOffset,d=c._vData,p=c._iData;!i.worldMatDirty&&this._worldDatas[n]||this._updateWorldVertices(n,a,r,s,t.node._worldMatrix),d.set(this._worldDatas[n],_);for(var m=0;ms&&(this._accumulator=s);this._accumulator>r;)e.Step(r,i,n),this._accumulator-=r}else{var a=1/cc.game.config.frameRate;e.Step(a,i,n)}this.debugDrawFlags&&(this._checkDebugDrawValid(),this._debugDrawer.clear(),e.DrawDebugData()),this._steping=!1;for(var o=this._delayEvents,l=0,c=o.length;l0){for(var a=n.getPoints(),l=n.getNormals(),c=n.getFractions(),h=[],u=0,d=r.length;u0}function l(t,e,i){return m(t,e,i)>=0}function c(t,e,i){return m(t,e,i)<=0}function h(t,e){var i=e.x-t.x,n=e.y-t.y;return i*i+n*n}function u(t){_(t)||t.reverse()}function _(t){return t.length<3||f(t)>0}function f(t){var e,i=0;for(e=0;eE&&(M=S,E=D)}y=n(T,M,e),v=n(M,T,e)}return(g=g.concat(t(y))).concat(t(v))}for(g.push(e),T=g.length-1;T>=0;T--)0==g[T].length&&g.splice(T,0);return g},ForceCounterClockWise:u,IsCounterClockWise:_}}),{}],217:[(function(t,e){"use strict";var i=t("../CCNode").EventType,n=t("./CCPhysicsTypes").PTM_RATIO,r=t("./CCPhysicsTypes").ANGLE_TO_PHYSICS_ANGLE,s=t("./CCPhysicsTypes").PHYSICS_ANGLE_TO_ANGLE,a=t("./utils").getWorldRotation,o=t("./CCPhysicsTypes").BodyType,l=new b2.Vec2,c=new b2.Vec2,h=cc.Vec2.ZERO,u=cc.Class({name:"cc.RigidBody",extends:cc.Component,editor:!1,properties:{_type:o.Dynamic,_allowSleep:!0,_gravityScale:1,_linearDamping:0,_angularDamping:0,_linearVelocity:cc.v2(0,0),_angularVelocity:0,_fixedRotation:!1,enabled:{get:function(){return this._enabled},set:function(){cc.warnID(8200)},visible:!1,override:!0},enabledContactListener:{default:!1,tooltip:!1},bullet:{default:!1,tooltip:!1},type:{type:o,tooltip:!1,get:function(){return this._type},set:function(t){this._type=t,this._b2Body&&(t===o.Animated?this._b2Body.SetType(o.Kinematic):this._b2Body.SetType(t))}},allowSleep:{tooltip:!1,get:function(){return this._b2Body?this._b2Body.IsSleepingAllowed():this._allowSleep},set:function(t){this._allowSleep=t,this._b2Body&&this._b2Body.SetSleepingAllowed(t)}},gravityScale:{tooltip:!1,get:function(){return this._gravityScale},set:function(t){this._gravityScale=t,this._b2Body&&this._b2Body.SetGravityScale(t)}},linearDamping:{tooltip:!1,get:function(){return this._linearDamping},set:function(t){this._linearDamping=t,this._b2Body&&this._b2Body.SetLinearDamping(this._linearDamping)}},angularDamping:{tooltip:!1,get:function(){return this._angularDamping},set:function(t){this._angularDamping=t,this._b2Body&&this._b2Body.SetAngularDamping(t)}},linearVelocity:{tooltip:!1,type:cc.Vec2,get:function(){var t=this._linearVelocity;if(this._b2Body){var e=this._b2Body.GetLinearVelocity();t.x=e.x*n,t.y=e.y*n}return t},set:function(t){this._linearVelocity=t;var e=this._b2Body;if(e){var i=e.m_linearVelocity;i.Set(t.x/n,t.y/n),e.SetLinearVelocity(i)}}},angularVelocity:{tooltip:!1,get:function(){return this._b2Body?this._b2Body.GetAngularVelocity()*s:this._angularVelocity},set:function(t){this._angularVelocity=t,this._b2Body&&this._b2Body.SetAngularVelocity(t*r)}},fixedRotation:{tooltip:!1,get:function(){return this._fixedRotation},set:function(t){this._fixedRotation=t,this._b2Body&&this._b2Body.SetFixedRotation(t)}},awake:{visible:!1,tooltip:!1,get:function(){return!!this._b2Body&&this._b2Body.IsAwake()},set:function(t){this._b2Body&&this._b2Body.SetAwake(t)}},awakeOnLoad:{default:!0,tooltip:!1,animatable:!1},active:{visible:!1,get:function(){return!!this._b2Body&&this._b2Body.IsActive()},set:function(t){this._b2Body&&this._b2Body.SetActive(t)}}},getLocalPoint:function(t,e){if(e=e||cc.v2(),this._b2Body){l.Set(t.x/n,t.y/n);var i=this._b2Body.GetLocalPoint(l,e);e.x=i.x*n,e.y=i.y*n}return e},getWorldPoint:function(t,e){if(e=e||cc.v2(),this._b2Body){l.Set(t.x/n,t.y/n);var i=this._b2Body.GetWorldPoint(l,e);e.x=i.x*n,e.y=i.y*n}return e},getWorldVector:function(t,e){if(e=e||cc.v2(),this._b2Body){l.Set(t.x/n,t.y/n);var i=this._b2Body.GetWorldVector(l,e);e.x=i.x*n,e.y=i.y*n}return e},getLocalVector:function(t,e){if(e=e||cc.v2(),this._b2Body){l.Set(t.x/n,t.y/n);var i=this._b2Body.GetLocalVector(l,e);e.x=i.x*n,e.y=i.y*n}return e},getWorldPosition:function(t){if(t=t||cc.v2(),this._b2Body){var e=this._b2Body.GetPosition();t.x=e.x*n,t.y=e.y*n}return t},getWorldRotation:function(){return this._b2Body?this._b2Body.GetAngle()*s:0},getLocalCenter:function(t){if(t=t||cc.v2(),this._b2Body){var e=this._b2Body.GetLocalCenter();t.x=e.x*n,t.y=e.y*n}return t},getWorldCenter:function(t){if(t=t||cc.v2(),this._b2Body){var e=this._b2Body.GetWorldCenter();t.x=e.x*n,t.y=e.y*n}return t},getLinearVelocityFromWorldPoint:function(t,e){if(e=e||cc.v2(),this._b2Body){l.Set(t.x/n,t.y/n);var i=this._b2Body.GetLinearVelocityFromWorldPoint(l,e);e.x=i.x*n,e.y=i.y*n}return e},getMass:function(){return this._b2Body?this._b2Body.GetMass():0},getInertia:function(){return this._b2Body?this._b2Body.GetInertia()*n*n:0},getJointList:function(){if(!this._b2Body)return[];var t=[],e=this._b2Body.GetJointList();if(!e)return[];t.push(e.joint._joint);for(var i=e.prev;i;)t.push(i.joint._joint),i=i.prev;for(var n=e.next;n;)t.push(n.joint._joint),n=n.next;return t},applyForce:function(t,e,i){this._b2Body&&(l.Set(t.x/n,t.y/n),c.Set(e.x/n,e.y/n),this._b2Body.ApplyForce(l,c,i))},applyForceToCenter:function(t,e){this._b2Body&&(l.Set(t.x/n,t.y/n),this._b2Body.ApplyForceToCenter(l,e))},applyTorque:function(t,e){this._b2Body&&this._b2Body.ApplyTorque(t/n,e)},applyLinearImpulse:function(t,e,i){this._b2Body&&(l.Set(t.x/n,t.y/n),c.Set(e.x/n,e.y/n),this._b2Body.ApplyLinearImpulse(l,c,i))},applyAngularImpulse:function(t,e){this._b2Body&&this._b2Body.ApplyAngularImpulse(t/n/n,e)},syncPosition:function(t){var e=this._b2Body;if(e){var i,r=this.node.convertToWorldSpaceAR(h);if((i=this.type===o.Animated?e.GetLinearVelocity():e.GetPosition()).x=r.x/n,i.y=r.y/n,this.type===o.Animated&&t){var s=e.GetPosition(),a=cc.game.config.frameRate;i.x=(i.x-s.x)*a,i.y=(i.y-s.y)*a,e.SetAwake(!0),e.SetLinearVelocity(i)}else e.SetTransformVec(i,e.GetAngle())}},syncRotation:function(t){var e=this._b2Body;if(e){var i=r*a(this.node);if(this.type===o.Animated&&t){var n=e.GetAngle(),s=cc.game.config.frameRate;e.SetAwake(!0),e.SetAngularVelocity((i-n)*s)}else e.SetTransformVec(e.GetPosition(),i)}},resetVelocity:function(){var t=this._b2Body;if(t){var e=t.m_linearVelocity;e.Set(0,0),t.SetLinearVelocity(e),t.SetAngularVelocity(0)}},onEnable:function(){this._init()},onDisable:function(){this._destroy()},_registerNodeEvents:function(){var t=this.node;t.on(i.POSITION_CHANGED,this._onNodePositionChanged,this),t.on(i.ROTATION_CHANGED,this._onNodeRotationChanged,this),t.on(i.SCALE_CHANGED,this._onNodeScaleChanged,this)},_unregisterNodeEvents:function(){var t=this.node;t.off(i.POSITION_CHANGED,this._onNodePositionChanged,this),t.off(i.ROTATION_CHANGED,this._onNodeRotationChanged,this),t.off(i.SCALE_CHANGED,this._onNodeScaleChanged,this)},_onNodePositionChanged:function(){this.syncPosition(!0)},_onNodeRotationChanged:function(){this.syncRotation(!0)},_onNodeScaleChanged:function(){if(this._b2Body)for(var t=this.getComponents(cc.PhysicsCollider),e=0;e=0;n--){var r=t[n];r.collider=null,i._unregisterContactFixture(r),e&&e.DestroyFixture(r)}this.body=null,this._fixtures.length=0,this._shapes.length=0,this._inited=!1}},_createShape:function(){},apply:function(){this._destroy(),this._init()},getAABB:function(){for(var t=1e7,e=1e7,n=-1e7,s=-1e7,a=this.body._getBody().GetTransform(),o=this._fixtures,l=0;ln&&(n=r.upperBound.x),r.upperBound.y>s&&(s=r.upperBound.y);t*=i,e*=i,n*=i,s*=i;var _=this._rect;return _.x=t,_.y=e,_.width=n-t,_.height=s-e,_}});cc.PhysicsCollider=e.exports=s}),{"../CCPhysicsTypes":215,"../utils":238}],223:[(function(t,e){"use strict";var i=t("../CCPhysicsTypes").PTM_RATIO,n=t("../CCPolygonSeparator"),r=cc.Class({name:"cc.PhysicsPolygonCollider",extends:cc.PhysicsCollider,mixins:[cc.Collider.Polygon],editor:{menu:!1,inspector:!1,requireComponent:cc.RigidBody},_createShape:function(t){var e=[],r=this.points;r.length>0&&r[0].equals(r[r.length-1])&&(r.length-=1);for(var s=n.ConvexPartition(r),a=this.offset,o=0;o=2?1:n)},i.prototype.getFixtures=function(){return this._fixtures},i.prototype.getPoints=function(){return this._points},i.prototype.getNormals=function(){return this._normals},i.prototype.getFractions=function(){return this._fractions},cc.PhysicsRayCastCallback=e.exports=i}),{}],238:[(function(t,e){"use strict";e.exports={getWorldRotation:function(t){for(var e=t.angle,i=t.parent;i.parent;)e+=i.angle,i=i.parent;return-e},getWorldScale:function(t){for(var e=t.scaleX,i=t.scaleY,n=t.parent;n.parent;)e*=n.scaleX,i*=n.scaleY,n=n.parent;return cc.v2(e,i)},convertToNodeRotation:function(t,e){e-=-t.angle;for(var i=t.parent;i.parent;)e-=-i.angle,i=i.parent;return e}}}),{}],239:[(function(t,e){"use strict";var i=t("./js"),n=t("./CCEnum"),r=t("./utils"),s=(r.isPlainEmptyObj_DEV,r.cloneable_DEV,t("./attribute")),a=s.DELIMETER,o=t("./preprocess-class");t("./requiring-frame");var l=["name","extends","mixins","ctor","__ctor__","properties","statics","editor","__ES6__"];function c(t,e){t.indexOf(e)<0&&t.push(e)}var h={datas:null,push:function(t){if(this.datas)this.datas.push(t);else{this.datas=[t];var e=this;setTimeout((function(){e.init()}),0)}},init:function(){var t=this.datas;if(t){for(var e=0;e0?a:null,!0);var u=o.prototype;if(e&&(h||(i.extend(o,e),u=o.prototype),o.$super=e),n){for(var _=n.length-1;_>=0;_--){var f=n[_];p(u,f.prototype),p(o,f,(function(t){return f.hasOwnProperty(t)&&!0})),M._isCCClass(f)&&p(s.getClassAttrs(o),s.getClassAttrs(f))}u.constructor=o}return h||(u.__initProps__=x),i.setClassName(t,o),o}function y(t,e,n,r){var s=cc.Component,a=cc._RF.peek();if(a&&i.isChildClassOf(e,s)){if(i.isChildClassOf(a.cls,s))return cc.errorID(3615),null;t=t||a.script}var o=m(t,e,n,r);if(a)if(i.isChildClassOf(e,s)){var l=a.uuid;l&&i._setClassId(l,o),a.cls=o}else i.isChildClassOf(a.cls,s)||(a.cls=o);return o}function v(t){for(var e=i.getClassName(t),n=t.constructor,r="new "+e+"(",s=0;s0){var a="].apply(this,arguments);\n";if(1===s)r+="CCClass.__ctors__[0"+a;else{r+="var cs=CCClass.__ctors__;\n";for(var o=0;o=0)){var s=e[r];if("function"==typeof s){var a=i.getPropertyDescriptor(t.prototype,r);if(a){var o=a.value;if("function"==typeof o){S.test(s)&&(n=!0,e[r]=(function(t,e){return function(){var i=this._super;this._super=t;var n=e.apply(this,arguments);return this._super=i,n}})(o,s));continue}}}}return n}function E(t,e,i,n,r,l){if(t.__props__=[],n&&n.__props__&&(t.__props__=n.__props__.slice()),r)for(var c=0;c=0)){var f=t[_];o.validateMethodWithProps(f,_,e,s,n)&&i.value(s.prototype,_,f,!0,!0)}var d=t.editor;return d&&cc.Component._registerEditorProps(s,d),s}/xyz/.test((function(){xyz})),M._isCCClass=function(t){return t&&t.hasOwnProperty("__ctors__")},M._fastDefine=function(t,e,n){i.setClassName(t,e);for(var r=e.__props__=e.__values__=Object.keys(n),o=s.getClassAttrs(e),l=0;l=2&&((o||c())[l+"min"]=_[0],o[l+"max"]=_[1],_.length>2&&(o[l+"step"]=_[2])),u("min","number"),u("max","number"),u("step","number"),u("userData","object")}cc.Class=M,e.exports={isArray:function(t){return t=d(t),Array.isArray(t)},fastDefine:M._fastDefine,getNewValueTypeCode:v,IDENTIFIER_RE:A,escapeForJS:g,getDefault:d}}),{"./CCEnum":241,"./attribute":251,"./js":260,"./preprocess-class":261,"./requiring-frame":262,"./utils":263}],240:[(function(t,e){"use strict";t("./CCClass");var i=t("./preprocess-class"),n=t("./js"),r="__ccclassCache__";function s(t){return t}function a(t,e){return t[e]||(t[e]={})}function o(t){return function(e){return"function"==typeof e?t(e):function(i){return t(i,e)}}}function l(t,e){return function(t){return function(i){return e(i,t)}}}var c=l.bind(null,!1);function h(){return l.bind(null,!1)}var u=h(),_=h();function f(t){return a(t,r)}function d(t){var e;try{e=t()}catch(i){return t}return"object"!=typeof e||null===e?e:t}function p(t){var e;try{e=new t}catch(i){return{}}return e}function m(t,e,r,s,a,o){var l,c=a&&(a.get||a.set);s&&(l=i.getFullFormOfProperty(s,c));var h=e[r],u=n.mixin(h||{},l||s||{});if(c)a.get&&(u.get=a.get),a.set&&(u.set=a.set);else{var _=void 0;if(a)a.initializer&&(_=d(a.initializer));else{var f=o.default||(o.default=p(t));f.hasOwnProperty(r)&&(_=f[r])}u.default=_}e[r]=u}var y=o((function(t,e){var i=n.getSuper(t);i===Object&&(i=null);var s={name:e,extends:i,ctor:t,__ES6__:!0},a=t[r];if(a){var o=a.proto;o&&n.mixin(s,o),t[r]=void 0}return cc.Class(s)}));function v(t,e,i){return t((function(t,n){var r=f(t);if(r){var s=void 0!==i?i:n,o=a(r,"proto");a(o,"editor")[e]=s}}),e)}function g(t){return t(s)}var b=g(o),A=v(c,"requireComponent"),x=g(u),C=v(_,"executionOrder"),T=g(o),S=g(o),w=g(u),E=g(u),M=g(u);cc._decorator=e.exports={ccclass:y,property:function(t,e,i){var n=null;function r(t,e,i){var r=f(t.constructor);if(r){var s=a(r,"proto"),o=a(s,"properties");m(t.constructor,o,e,n,i,r)}}if(void 0===e)return n=t,r;r(t,e,i)},executeInEditMode:b,requireComponent:A,menu:x,executionOrder:C,disallowMultiple:T,playOnFocus:S,inspector:w,icon:E,help:M,mixins:function(){for(var t=[],e=0;ee){var h=c.getID();delete a[h],delete o[h],this._touchCount--,-1===r?(r=l,this._indexBitsUsed|=1<>=1}return r},_glView:null,_updateCanvasBoundingRect:function(){var t=cc.game.canvas,e=this._canvasBoundingRect,i=document.documentElement,n=window.pageXOffset-i.clientLeft,r=window.pageYOffset-i.clientTop;if(t.getBoundingClientRect){var s=t.getBoundingClientRect();e.left=s.left+n,e.top=s.top+r,e.width=s.width,e.height=s.height}else t instanceof HTMLCanvasElement?(e.left=n,e.top=r,e.width=t.width,e.height=t.height):(e.left=n,e.top=r,e.width=parseInt(t.style.width),e.height=parseInt(t.style.height))},handleTouchesBegin:function(t){for(var e,i,s=n.now(),a=[],o=this._touches,l=this._touchesIntegerDict,c=this._touchesCache,h=0,u=t.length;h0){this._glView._convertTouchesWithScale(a);var d=new cc.Event.EventTouch(a);d._eventCode=cc.Event.EventTouch.BEGAN,r.dispatchEvent(d)}},handleTouchesMove:function(t){for(var e,i,s=n.now(),a=[],o=this._touches,l=this._touchesIntegerDict,c=0,h=t.length;c0){this._glView._convertTouchesWithScale(a);var _=new cc.Event.EventTouch(a);_._eventCode=cc.Event.EventTouch.MOVED,r.dispatchEvent(_)}},handleTouchesEnd:function(t){var e=this.getSetOfTouchesEndOrCancel(t);if(e.length>0){this._glView._convertTouchesWithScale(e);var i=new cc.Event.EventTouch(e);i._eventCode=cc.Event.EventTouch.ENDED,r.dispatchEvent(i)}this._preTouchPool.length=0},handleTouchesCancel:function(t){var e=this.getSetOfTouchesEndOrCancel(t);if(e.length>0){this._glView._convertTouchesWithScale(e);var i=new cc.Event.EventTouch(e);i._eventCode=cc.Event.EventTouch.CANCELED,r.dispatchEvent(i)}this._preTouchPool.length=0},getSetOfTouchesEndOrCancel:function(t){for(var e,i,n,r=[],s=this._touches,a=this._touchesIntegerDict,o=this._touchesCache,l=0,c=t.length;l=0;r--)if(i[r].getID()===n){e=i[r];break}return e||(e=t),e},setPreTouch:function(t){for(var e=!1,i=this._preTouchPool,n=t.getID(),r=i.length-1;r>=0;r--)if(i[r].getID()===n){i[r]=t,e=!0;break}e||(i.length<=50?i.push(t):(i[this._preTouchPoolPointer]=t,this._preTouchPoolPointer=(this._preTouchPoolPointer+1)%50))},getTouchByXY:function(t,e,i){var n=this._preTouchPoint,r=this._glView.convertToLocationInView(t,e,i),s=new cc.Touch(r.x,r.y,0);return s._setPrevPoint(n.x,n.y),n.x=r.x,n.y=r.y,s},getMouseEvent:function(t,e,i){var n=this._prevMousePoint,r=new cc.Event.EventMouse(i);return r._setPrevCursor(n.x,n.y),n.x=t.x,n.y=t.y,this._glView._convertMouseToLocationInView(n,e),r.setLocation(n.x,n.y),r},getPointByEvent:function(t,e){return cc.sys.browserType!==cc.sys.BROWSER_TYPE_QQ&&cc.sys.browserType!==cc.sys.BROWSER_TYPE_UC&&cc.sys.browserType!==cc.sys.BROWSER_TYPE_SAFARI||this._updateCanvasBoundingRect(),null!=t.pageX?{x:t.pageX,y:t.pageY}:(e.left-=document.body.scrollLeft,e.top-=document.body.scrollTop,{x:t.clientX,y:t.clientY})},getTouchesByEvent:function(t,e){for(var i,r,a,o=[],l=this._glView,c=this._preTouchPoint,h=t.changedTouches.length,u=0;uthis._accelInterval&&(this._accelCurTime-=this._accelInterval,r.dispatchEvent(new cc.Event.EventAcceleration(this._acceleration))),this._accelCurTime+=t}};e.exports=cc.internal.inputManager=a}),{"../event-manager":184,"./CCMacro":244,"./CCSys":248}],244:[(function(t,e){"use strict";cc.macro={RAD:Math.PI/180,DEG:180/Math.PI,REPEAT_FOREVER:Number.MAX_VALUE-1,FLT_EPSILON:1.192092896e-7,MIN_ZINDEX:-Math.pow(2,15),MAX_ZINDEX:Math.pow(2,15)-1,ONE:1,ZERO:0,SRC_ALPHA:770,SRC_ALPHA_SATURATE:776,SRC_COLOR:768,DST_ALPHA:772,DST_COLOR:774,ONE_MINUS_SRC_ALPHA:771,ONE_MINUS_SRC_COLOR:769,ONE_MINUS_DST_ALPHA:773,ONE_MINUS_DST_COLOR:775,ONE_MINUS_CONSTANT_ALPHA:32772,ONE_MINUS_CONSTANT_COLOR:32770,ORIENTATION_PORTRAIT:1,ORIENTATION_LANDSCAPE:2,ORIENTATION_AUTO:3,DENSITYDPI_DEVICE:"device-dpi",DENSITYDPI_HIGH:"high-dpi",DENSITYDPI_MEDIUM:"medium-dpi",DENSITYDPI_LOW:"low-dpi",FIX_ARTIFACTS_BY_STRECHING_TEXEL_TMX:!0,DIRECTOR_STATS_POSITION:cc.v2(0,0),ENABLE_STACKABLE_ACTIONS:!0,TOUCH_TIMEOUT:5e3,BATCH_VERTEX_COUNT:2e4,ENABLE_TILEDMAP_CULLING:!0,ENABLE_TRANSPARENT_CANVAS:!1,ENABLE_WEBGL_ANTIALIAS:!1,ENABLE_CULLING:!1,CLEANUP_IMAGE_CACHE:!1,SHOW_MESH_WIREFRAME:!1,SHOW_MESH_NORMAL:!1,ENABLE_MULTI_TOUCH:!0,ALLOW_IMAGE_BITMAP:!cc.sys.isMobile,ENABLE_NATIVE_TTF_RENDERER:!0},Object.defineProperty(cc.macro,"ROTATE_ACTION_CCW",{set:function(t){cc.RotateTo&&cc.RotateBy&&(cc.RotateTo._reverse=cc.RotateBy._reverse=t)}}),cc.macro.SUPPORT_TEXTURE_FORMATS=[".pkm",".pvr",".webp",".jpg",".jpeg",".bmp",".png"],cc.macro.KEY={none:0,back:6,menu:18,backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,pause:19,capslock:20,escape:27,space:32,pageup:33,pagedown:34,end:35,home:36,left:37,up:38,right:39,down:40,select:41,insert:45,Delete:46,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,a:65,b:66,c:67,d:68,e:69,f:70,g:71,h:72,i:73,j:74,k:75,l:76,m:77,n:78,o:79,p:80,q:81,r:82,s:83,t:84,u:85,v:86,w:87,x:88,y:89,z:90,num0:96,num1:97,num2:98,num3:99,num4:100,num5:101,num6:102,num7:103,num8:104,num9:105,"*":106,"+":107,"-":109,numdel:110,"/":111,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123,numlock:144,scrolllock:145,";":186,semicolon:186,equal:187,"=":187,",":188,comma:188,dash:189,".":190,period:190,forwardslash:191,grave:192,"[":219,openbracket:219,backslash:220,"]":221,closebracket:221,quote:222,dpadLeft:1e3,dpadRight:1001,dpadUp:1003,dpadDown:1004,dpadCenter:1005},cc.macro.ImageFormat=cc.Enum({JPG:0,PNG:1,TIFF:2,WEBP:3,PVR:4,ETC:5,S3TC:6,ATITC:7,TGA:8,RAWDATA:9,UNKNOWN:10}),cc.macro.BlendFactor=cc.Enum({ONE:1,ZERO:0,SRC_ALPHA:770,SRC_COLOR:768,DST_ALPHA:772,DST_COLOR:774,ONE_MINUS_SRC_ALPHA:771,ONE_MINUS_SRC_COLOR:769,ONE_MINUS_DST_ALPHA:773,ONE_MINUS_DST_COLOR:775}),cc.macro.TextAlignment=cc.Enum({LEFT:0,CENTER:1,RIGHT:2}),cc.macro.VerticalTextAlignment=cc.Enum({TOP:0,CENTER:1,BOTTOM:2}),e.exports=cc.macro}),{}],245:[(function(t,e){"use strict";var i=t("./js"),n=t("./CCClass"),r=1;function s(){this._name="",this._objFlags=0}n.fastDefine("cc.Object",s,{_name:"",_objFlags:0}),i.value(s,"Flags",{Destroyed:r,DontSave:8,EditorOnly:16,Dirty:32,DontDestroy:64,PersistentMask:-4192741,Destroying:128,Deactivating:256,LockedInEditor:512,HideInHierarchy:1024,IsPreloadStarted:8192,IsOnLoadStarted:32768,IsOnLoadCalled:16384,IsOnEnableCalled:2048,IsStartCalled:65536,IsEditorOnEnableCalled:4096,IsPositionLocked:1<<21,IsRotationLocked:1<<17,IsScaleLocked:1<<18,IsAnchorLocked:1<<19,IsSizeLocked:1<<20});var a=[];i.value(s,"_deferredDestroy",(function(){for(var t=a.length,e=0;e0)return void(t.webkitEnterFullscreen&&t.webkitEnterFullscreen());t.setAttribute("x5-video-player-fullscreen","true")}if(this._supportsFullScreen){if(t=t||document.documentElement,e){var n=this._fn.fullscreenchange;this._onfullscreenchange&&document.removeEventListener(n,this._onfullscreenchange),this._onfullscreenchange=e,document.addEventListener(n,e,!1)}if(i){var r=this._fn.fullscreenerror;this._onfullscreenerror&&document.removeEventListener(r,this._onfullscreenerror),this._onfullscreenerror=i,document.addEventListener(r,i,{once:!0})}var s=t[this._fn.requestFullscreen]();void 0===document[this._fn.fullscreenerror]&&window.Promise&&s instanceof Promise&&s.catch((function(){}))}},exitFullScreen:function(t){if(t&&"video"===t.tagName.toLowerCase()){if(cc.sys.os===cc.sys.OS_IOS&&cc.sys.isBrowser)return void(t.webkitExitFullscreen&&t.webkitExitFullscreen());t.setAttribute("x5-video-player-fullscreen","false")}return!this._supportsFullScreen||document[this._fn.exitFullscreen]()},autoFullScreen:function(t,e){t=t||document.body,this._ensureFullScreen(t,e),this.requestFullScreen(t,e)},disableAutoFullScreen:function(t){var e=cc.game.canvas||t,i=this._touchEvent;this._preOnTouch&&(e.removeEventListener(i,this._preOnTouch),this._preOnTouch=null)},_ensureFullScreen:function(t,e){var i=this,n=cc.game.canvas||t,r=this._fn.fullscreenerror,s=this._touchEvent;function a(){i._preOnFullScreenError=null,i._preOnTouch&&n.removeEventListener(s,i._preOnTouch),i._preOnTouch=function(){i._preOnTouch=null,i.requestFullScreen(t,e)},n.addEventListener(s,i._preOnTouch,{once:!0})}this._preOnFullScreenError&&t.removeEventListener(r,this._preOnFullScreenError),this._preOnFullScreenError=a,t.addEventListener(r,a,{once:!0})}},cc.screen.init()}),{}],248:[(function(t,e){"use strict";window._CCSettings&&_CCSettings.platform;var i="undefined"==typeof window?global:window,n=cc&&cc.sys?cc.sys:(function(){cc.sys={};var t,e,n=cc.sys;if(n.LANGUAGE_ENGLISH="en",n.LANGUAGE_CHINESE="zh",n.LANGUAGE_FRENCH="fr",n.LANGUAGE_ITALIAN="it",n.LANGUAGE_GERMAN="de",n.LANGUAGE_SPANISH="es",n.LANGUAGE_DUTCH="du",n.LANGUAGE_RUSSIAN="ru",n.LANGUAGE_KOREAN="ko",n.LANGUAGE_JAPANESE="ja",n.LANGUAGE_HUNGARIAN="hu",n.LANGUAGE_PORTUGUESE="pt",n.LANGUAGE_ARABIC="ar",n.LANGUAGE_NORWEGIAN="no",n.LANGUAGE_POLISH="pl",n.LANGUAGE_TURKISH="tr",n.LANGUAGE_UKRAINIAN="uk",n.LANGUAGE_ROMANIAN="ro",n.LANGUAGE_BULGARIAN="bg",n.LANGUAGE_UNKNOWN="unknown",n.OS_IOS="iOS",n.OS_ANDROID="Android",n.OS_WINDOWS="Windows",n.OS_MARMALADE="Marmalade",n.OS_LINUX="Linux",n.OS_BADA="Bada",n.OS_BLACKBERRY="Blackberry",n.OS_OSX="OS X",n.OS_WP8="WP8",n.OS_WINRT="WINRT",n.OS_UNKNOWN="Unknown",n.UNKNOWN=-1,n.WIN32=0,n.LINUX=1,n.MACOS=2,n.ANDROID=3,n.IPHONE=4,n.IPAD=5,n.BLACKBERRY=6,n.NACL=7,n.EMSCRIPTEN=8,n.TIZEN=9,n.WINRT=10,n.WP8=11,n.MOBILE_BROWSER=100,n.DESKTOP_BROWSER=101,n.EDITOR_PAGE=102,n.EDITOR_CORE=103,n.WECHAT_GAME=104,n.QQ_PLAY=105,n.FB_PLAYABLE_ADS=106,n.BAIDU_GAME=107,n.VIVO_GAME=108,n.OPPO_GAME=109,n.HUAWEI_GAME=110,n.XIAOMI_GAME=111,n.JKW_GAME=112,n.ALIPAY_GAME=113,n.WECHAT_GAME_SUB=114,n.BAIDU_GAME_SUB=115,n.QTT_GAME=116,n.BYTEDANCE_GAME=117,n.BYTEDANCE_GAME_SUB=118,n.LINKSURE=119,n.TAOBAO=120,n.BROWSER_TYPE_WECHAT="wechat",n.BROWSER_TYPE_ANDROID="androidbrowser",n.BROWSER_TYPE_IE="ie",n.BROWSER_TYPE_EDGE="edge",n.BROWSER_TYPE_QQ="qqbrowser",n.BROWSER_TYPE_MOBILE_QQ="mqqbrowser",n.BROWSER_TYPE_UC="ucbrowser",n.BROWSER_TYPE_UCBS="ucbs",n.BROWSER_TYPE_360="360browser",n.BROWSER_TYPE_BAIDU_APP="baiduboxapp",n.BROWSER_TYPE_BAIDU="baidubrowser",n.BROWSER_TYPE_MAXTHON="maxthon",n.BROWSER_TYPE_OPERA="opera",n.BROWSER_TYPE_OUPENG="oupeng",n.BROWSER_TYPE_MIUI="miuibrowser",n.BROWSER_TYPE_FIREFOX="firefox",n.BROWSER_TYPE_SAFARI="safari",n.BROWSER_TYPE_CHROME="chrome",n.BROWSER_TYPE_LIEBAO="liebao",n.BROWSER_TYPE_QZONE="qzone",n.BROWSER_TYPE_SOUGOU="sogou",n.BROWSER_TYPE_HUAWEI="huawei",n.BROWSER_TYPE_UNKNOWN="unknown",n.isNative=!1,n.isBrowser="object"==typeof window&&"object"==typeof document&&!0,n.glExtension=function(t){return!!cc.renderer.device.ext(t)},n.getMaxJointMatrixSize=function(){if(!n._maxJointMatrixSize){var t=cc.game._renderContext,e=Math.floor(t.getParameter(t.MAX_VERTEX_UNIFORM_VECTORS)/4)-10;n._maxJointMatrixSize=e<50?0:50}return n._maxJointMatrixSize},n.getSafeAreaRect=function(){var t=cc.view.getVisibleSize();return cc.rect(0,0,t.width,t.height)},i.__globalAdapter&&i.__globalAdapter.adaptSys)i.__globalAdapter.adaptSys(n);else{var r=window,s=r.navigator,a=document,o=a.documentElement,l=s.userAgent.toLowerCase();n.isMobile=/mobile|android|iphone|ipad/.test(l),"undefined"!=typeof FbPlayableAd?n.platform=n.FB_PLAYABLE_ADS:n.platform=n.isMobile?n.MOBILE_BROWSER:n.DESKTOP_BROWSER;var c=s.language;c=c||s.browserLanguage,n.languageCode=c.toLowerCase(),c=c?c.split("-")[0]:n.LANGUAGE_ENGLISH,n.language=c;var h=!1,u=!1,_="",f=0,d=/android\s*(\d+(?:\.\d+)*)/i.exec(l)||/android\s*(\d+(?:\.\d+)*)/i.exec(s.platform);d&&(h=!0,_=d[1]||"",f=parseInt(_)||0),(d=/(iPad|iPhone|iPod).*OS ((\d+_?){2,3})/i.exec(l))?(u=!0,_=d[2]||"",f=parseInt(_)||0):(/(iPhone|iPad|iPod)/.exec(s.platform)||"MacIntel"===s.platform&&s.maxTouchPoints&&s.maxTouchPoints>1)&&(u=!0,_="",f=0);var p=n.OS_UNKNOWN;-1!==s.appVersion.indexOf("Win")?p=n.OS_WINDOWS:u?p=n.OS_IOS:-1!==s.appVersion.indexOf("Mac")?p=n.OS_OSX:-1!==s.appVersion.indexOf("X11")&&-1===s.appVersion.indexOf("Linux")?p=n.OS_UNIX:h?p=n.OS_ANDROID:-1===s.appVersion.indexOf("Linux")&&-1===l.indexOf("ubuntu")||(p=n.OS_LINUX),n.os=p,n.osVersion=_,n.osMainVersion=f,n.browserType=n.BROWSER_TYPE_UNKNOWN,(function(){var t=/mqqbrowser|micromessenger|qqbrowser|sogou|qzone|liebao|maxthon|ucbs|360 aphone|360browser|baiduboxapp|baidubrowser|maxthon|mxbrowser|miuibrowser/i.exec(l)||/qq|ucbrowser|ubrowser|edge|HuaweiBrowser/i.exec(l)||/chrome|safari|firefox|trident|opera|opr\/|oupeng/i.exec(l),e=t?t[0].toLowerCase():n.BROWSER_TYPE_UNKNOWN;"safari"===e&&h?e=n.BROWSER_TYPE_ANDROID:"qq"===e&&l.match(/android.*applewebkit/i)&&(e=n.BROWSER_TYPE_ANDROID);var i={micromessenger:n.BROWSER_TYPE_WECHAT,trident:n.BROWSER_TYPE_IE,edge:n.BROWSER_TYPE_EDGE,"360 aphone":n.BROWSER_TYPE_360,mxbrowser:n.BROWSER_TYPE_MAXTHON,"opr/":n.BROWSER_TYPE_OPERA,ubrowser:n.BROWSER_TYPE_UC,huaweibrowser:n.BROWSER_TYPE_HUAWEI};"qqbrowser"!==e&&"mqqbrowser"!==e||l.match(/wechat|micromessenger/i)&&(e=n.BROWSER_TYPE_WECHAT),n.browserType=i[e]||e})(),n.browserVersion="",(e=l.match(/(mqqbrowser|micromessenger|qqbrowser|sogou|qzone|liebao|maxthon|uc|ucbs|360 aphone|360|baiduboxapp|baidu|maxthon|mxbrowser|miui(?:.hybrid)?)(mobile)?(browser)?\/?([\d.]+)/i))||(e=l.match(/(qq|chrome|safari|firefox|trident|opera|opr\/|oupeng)(mobile)?(browser)?\/?([\d.]+)/i)),n.browserVersion=e?e[4]:"";var m=window.innerWidth||document.documentElement.clientWidth,y=window.innerHeight||document.documentElement.clientHeight,v=window.devicePixelRatio||1;n.windowPixelResolution={width:v*m,height:v*y},n._checkWebGLRenderMode=function(){if(cc.game.renderType!==cc.game.RENDER_TYPE_WEBGL)throw new Error("This feature supports WebGL render mode only.")};var g=document.createElement("canvas");try{var b=n.localStorage=r.localStorage;b.setItem("storage",""),b.removeItem("storage"),b=null}catch(M){var A=function(){cc.warnID(5200)};n.localStorage={getItem:A,setItem:A,removeItem:A,clear:A}}var x=g.toDataURL("image/webp").startsWith("data:image/webp"),C=!!g.getContext("2d"),T=!1;r.WebGLRenderingContext&&(T=!0);var S,w=n.capabilities={canvas:C,opengl:T,webp:x,imageBitmap:!1};"undefined"!=typeof createImageBitmap&&"undefined"!=typeof Blob&&(g.width=g.height=2,createImageBitmap(g,{}).then((function(t){w.imageBitmap=!0,t.close&&t.close()})).catch((function(){}))),(void 0!==o.ontouchstart||void 0!==a.ontouchstart||s.msPointerEnabled)&&(w.touches=!0),void 0!==o.onmouseup&&(w.mouse=!0),void 0!==o.onkeyup&&(w.keyboard=!0),(r.DeviceMotionEvent||r.DeviceOrientationEvent)&&(w.accelerometer=!0),(function(){n.browserVersion;var t=!!(window.AudioContext||window.webkitAudioContext||window.mozAudioContext);S={ONLY_ONE:!1,WEB_AUDIO:t,DELAY_CREATE_CTX:!1},n.os===n.OS_IOS&&(S.USE_LOADER_EVENT="loadedmetadata"),n.browserType===n.BROWSER_TYPE_FIREFOX&&(S.DELAY_CREATE_CTX=!0,S.USE_LOADER_EVENT="canplay"),n.os===n.OS_ANDROID&&n.browserType===n.BROWSER_TYPE_UC&&(S.ONE_SOURCE=!0)})();try{S.WEB_AUDIO&&(S.context=new(window.AudioContext||window.webkitAudioContext||window.mozAudioContext),S.DELAY_CREATE_CTX&&setTimeout((function(){S.context=new(window.AudioContext||window.webkitAudioContext||window.mozAudioContext)}),0))}catch(D){S.WEB_AUDIO=!1,cc.logID(5201)}var E=[];(t=document.createElement("audio")).canPlayType&&(t.canPlayType('audio/ogg; codecs="vorbis"')&&E.push(".ogg"),t.canPlayType("audio/mpeg")&&E.push(".mp3"),t.canPlayType('audio/wav; codecs="1"')&&E.push(".wav"),t.canPlayType("audio/mp4")&&E.push(".mp4"),t.canPlayType("audio/x-m4a")&&E.push(".m4a")),S.format=E,n.__audioSupport=S}return n.NetworkType={NONE:0,LAN:1,WWAN:2},n.getNetworkType=function(){return n.NetworkType.LAN},n.getBatteryLevel=function(){return 1},n.garbageCollect=function(){},n.restartVM=function(){},n.isObjectValid=function(t){return!!t},n.dump=function(){var t="";t+="isMobile : "+this.isMobile+"\r\n",t+="language : "+this.language+"\r\n",t+="browserType : "+this.browserType+"\r\n",t+="browserVersion : "+this.browserVersion+"\r\n",t+="capabilities : "+JSON.stringify(this.capabilities)+"\r\n",t+="os : "+this.os+"\r\n",t+="osVersion : "+this.osVersion+"\r\n",t+="platform : "+this.platform+"\r\n",t+="Using "+(cc.game.renderType===cc.game.RENDER_TYPE_WEBGL?"WEBGL":"CANVAS")+" renderer.\r\n",cc.log(t)},n.openURL=function(t){window.open(t)},n.now=function(){return Date.now?Date.now():+new Date},n})();e.exports=n}),{}],249:[(function(t,e){"use strict";var i=t("../event/event-target"),n=t("../platform/js"),r=t("../renderer");t("../platform/CCClass");var s={init:function(){this.html=document.getElementsByTagName("html")[0]},availWidth:function(t){return t&&t!==this.html?t.clientWidth:window.innerWidth},availHeight:function(t){return t&&t!==this.html?t.clientHeight:window.innerHeight},meta:{width:"device-width"},adaptationType:cc.sys.browserType};switch(cc.sys.os===cc.sys.OS_IOS&&(s.adaptationType=cc.sys.BROWSER_TYPE_SAFARI),s.adaptationType){case cc.sys.BROWSER_TYPE_SAFARI:case cc.sys.BROWSER_TYPE_SOUGOU:case cc.sys.BROWSER_TYPE_UC:s.meta["minimal-ui"]="true",s.availWidth=function(t){return t.clientWidth},s.availHeight=function(t){return t.clientHeight}}var a=null,o=function(){i.call(this);var t=this,e=cc.ContainerStrategy,n=cc.ContentStrategy;s.init(this),t._frameSize=cc.size(0,0),t._designResolutionSize=cc.size(0,0),t._originalDesignResolutionSize=cc.size(0,0),t._scaleX=1,t._scaleY=1,t._viewportRect=cc.rect(0,0,0,0),t._visibleRect=cc.rect(0,0,0,0),t._autoFullScreen=!1,t._devicePixelRatio=1,t._maxPixelRatio=2,t._retinaEnabled=!1,t._resizeCallback=null,t._resizing=!1,t._resizeWithBrowserSize=!1,t._orientationChanging=!0,t._isRotated=!1,t._orientation=cc.macro.ORIENTATION_AUTO,t._isAdjustViewport=!0,t._antiAliasEnabled=!1,t._resolutionPolicy=null,t._rpExactFit=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,n.EXACT_FIT),t._rpShowAll=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,n.SHOW_ALL),t._rpNoBorder=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,n.NO_BORDER),t._rpFixedHeight=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,n.FIXED_HEIGHT),t._rpFixedWidth=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,n.FIXED_WIDTH),cc.game.once(cc.game.EVENT_ENGINE_INITED,this.init,this)};cc.js.extend(o,i),cc.js.mixin(o.prototype,{init:function(){this._initFrameSize();var t=cc.game.canvas.width,e=cc.game.canvas.height;this._designResolutionSize.width=t,this._designResolutionSize.height=e,this._originalDesignResolutionSize.width=t,this._originalDesignResolutionSize.height=e,this._viewportRect.width=t,this._viewportRect.height=e,this._visibleRect.width=t,this._visibleRect.height=e,cc.winSize.width=this._visibleRect.width,cc.winSize.height=this._visibleRect.height,cc.visibleRect&&cc.visibleRect.init(this._visibleRect)},_resizeEvent:function(t){var e;e=this.setDesignResolutionSize?this:cc.view;var i=cc.sys;if(i.browserType!==i.BROWSER_TYPE_UC||i.os!==i.OS_IOS){var n=e._frameSize.width,r=e._frameSize.height,s=e._isRotated;if(cc.sys.isMobile){var a=cc.game.container.style,o=a.margin;a.margin="0",a.display="none",e._initFrameSize(),a.margin=o,a.display="block"}else e._initFrameSize();if(!0===t||e._isRotated!==s||e._frameSize.width!==n||e._frameSize.height!==r){var l=e._originalDesignResolutionSize.width,c=e._originalDesignResolutionSize.height;e._resizing=!0,l>0&&e.setDesignResolutionSize(l,c,e._resolutionPolicy),e._resizing=!1,e.emit("canvas-resize"),e._resizeCallback&&e._resizeCallback.call()}}else setTimeout((function(){e._resizeEvent(t)}),0)},_orientationChange:function(){cc.view._orientationChanging=!0,cc.view._resizeEvent(),cc.sys.browserType===cc.sys.BROWSER_TYPE_SAFARI&&cc.sys.isMobile&&setTimeout((function(){window.innerHeight>window.innerWidth&&window.scrollTo(0,1)}),500)},_resize:function(){cc.view._resizeEvent(!1)},resizeWithBrowserSize:function(t){t?this._resizeWithBrowserSize||(this._resizeWithBrowserSize=!0,window.addEventListener("resize",this._resize),window.addEventListener("orientationchange",this._orientationChange)):this._resizeWithBrowserSize&&(this._resizeWithBrowserSize=!1,window.removeEventListener("resize",this._resize),window.removeEventListener("orientationchange",this._orientationChange))},setResizeCallback:function(t){"function"!=typeof t&&null!=t||(this._resizeCallback=t)},setOrientation:function(t){if((t&=cc.macro.ORIENTATION_AUTO)&&this._orientation!==t){this._orientation=t;var e=this._originalDesignResolutionSize.width,i=this._originalDesignResolutionSize.height;this.setDesignResolutionSize(e,i,this._resolutionPolicy)}},_initFrameSize:function(){var t=this._frameSize,e=s.availWidth(cc.game.frame),i=s.availHeight(cc.game.frame),n=e>=i;!cc.sys.isMobile||n&&this._orientation&cc.macro.ORIENTATION_LANDSCAPE||!n&&this._orientation&cc.macro.ORIENTATION_PORTRAIT?(t.width=e,t.height=i,cc.game.container.style["-webkit-transform"]="rotate(0deg)",cc.game.container.style.transform="rotate(0deg)",this._isRotated=!1):(t.width=i,t.height=e,cc.game.container.style["-webkit-transform"]="rotate(90deg)",cc.game.container.style.transform="rotate(90deg)",cc.game.container.style["-webkit-transform-origin"]="0px 0px 0px",cc.game.container.style.transformOrigin="0px 0px 0px",this._isRotated=!0),this._orientationChanging&&setTimeout((function(){cc.view._orientationChanging=!1}),1e3)},_setViewportMeta:function(t,e){var i=document.getElementById("cocosMetaElement");i&&e&&document.head.removeChild(i);var n,r,s,a=document.getElementsByName("viewport"),o=a?a[0]:null;for(r in n=o?o.content:"",(i=i||document.createElement("meta")).id="cocosMetaElement",i.name="viewport",i.content="",t)-1==n.indexOf(r)?n+=","+r+"="+t[r]:e&&(s=new RegExp(r+"s*=s*[^,]+"),n=n.replace(s,r+"="+t[r]));/^,/.test(n)&&(n=n.substr(1)),i.content=n,o&&(o.content=n),document.head.appendChild(i)},_adjustViewportMeta:function(){this._isAdjustViewport&&(this._setViewportMeta(s.meta,!1),this._isAdjustViewport=!1)},adjustViewportMeta:function(t){this._isAdjustViewport=t},enableRetina:function(t){this._retinaEnabled=!!t},isRetinaEnabled:function(){return this._retinaEnabled},enableAntiAlias:function(t){if(cc.warnID(9200),this._antiAliasEnabled!==t)if(this._antiAliasEnabled=t,cc.game.renderType===cc.game.RENDER_TYPE_WEBGL)cc.assetManager.assets.forEach((function(e){if(e instanceof cc.Texture2D){var i=cc.Texture2D.Filter;t?e.setFilters(i.LINEAR,i.LINEAR):e.setFilters(i.NEAREST,i.NEAREST)}}));else if(cc.game.renderType===cc.game.RENDER_TYPE_CANVAS){var e=cc.game.canvas.getContext("2d");e.imageSmoothingEnabled=t,e.mozImageSmoothingEnabled=t}},isAntiAliasEnabled:function(){return this._antiAliasEnabled},enableAutoFullScreen:function(t){t&&t!==this._autoFullScreen&&cc.sys.isMobile?(this._autoFullScreen=!0,cc.screen.autoFullScreen(cc.game.frame)):(this._autoFullScreen=!1,cc.screen.disableAutoFullScreen(cc.game.frame))},isAutoFullScreenEnabled:function(){return this._autoFullScreen},setCanvasSize:function(t,e){var i=cc.game.canvas,n=cc.game.container;i.width=t*this._devicePixelRatio,i.height=e*this._devicePixelRatio,i.style.width=t+"px",i.style.height=e+"px",n.style.width=t+"px",n.style.height=e+"px",this._resizeEvent()},getCanvasSize:function(){return cc.size(cc.game.canvas.width,cc.game.canvas.height)},getFrameSize:function(){return cc.size(this._frameSize.width,this._frameSize.height)},setFrameSize:function(t,e){this._frameSize.width=t,this._frameSize.height=e,cc.game.frame.style.width=t+"px",cc.game.frame.style.height=e+"px",this._resizeEvent(!0)},getVisibleSize:function(){return cc.size(this._visibleRect.width,this._visibleRect.height)},getVisibleSizeInPixel:function(){return cc.size(this._visibleRect.width*this._scaleX,this._visibleRect.height*this._scaleY)},getVisibleOrigin:function(){return cc.v2(this._visibleRect.x,this._visibleRect.y)},getVisibleOriginInPixel:function(){return cc.v2(this._visibleRect.x*this._scaleX,this._visibleRect.y*this._scaleY)},getResolutionPolicy:function(){return this._resolutionPolicy},setResolutionPolicy:function(t){var e=this;if(t instanceof cc.ResolutionPolicy)e._resolutionPolicy=t;else{var i=cc.ResolutionPolicy;t===i.EXACT_FIT&&(e._resolutionPolicy=e._rpExactFit),t===i.SHOW_ALL&&(e._resolutionPolicy=e._rpShowAll),t===i.NO_BORDER&&(e._resolutionPolicy=e._rpNoBorder),t===i.FIXED_HEIGHT&&(e._resolutionPolicy=e._rpFixedHeight),t===i.FIXED_WIDTH&&(e._resolutionPolicy=e._rpFixedWidth)}},setDesignResolutionSize:function(t,e,i){if(t>0&&e>0){this.setResolutionPolicy(i);var n=this._resolutionPolicy;if(n&&n.preApply(this),cc.sys.isMobile&&this._adjustViewportMeta(),this._orientationChanging=!0,this._resizing||this._initFrameSize(),n){this._originalDesignResolutionSize.width=this._designResolutionSize.width=t,this._originalDesignResolutionSize.height=this._designResolutionSize.height=e;var s=n.apply(this,this._designResolutionSize);if(s.scale&&2===s.scale.length&&(this._scaleX=s.scale[0],this._scaleY=s.scale[1]),s.viewport){var a=this._viewportRect,o=this._visibleRect,l=s.viewport;a.x=l.x,a.y=l.y,a.width=l.width,a.height=l.height,o.x=0,o.y=0,o.width=l.width/this._scaleX,o.height=l.height/this._scaleY}n.postApply(this),cc.winSize.width=this._visibleRect.width,cc.winSize.height=this._visibleRect.height,cc.visibleRect&&cc.visibleRect.init(this._visibleRect),r.updateCameraViewport(),cc.internal.inputManager._updateCanvasBoundingRect(),this.emit("design-resolution-changed")}else cc.logID(2201)}else cc.errorID(2200)},getDesignResolutionSize:function(){return cc.size(this._designResolutionSize.width,this._designResolutionSize.height)},setRealPixelResolution:function(t,e,i){this._setViewportMeta({width:t},!0),document.documentElement.style.width=t+"px",document.body.style.width=t+"px",document.body.style.left="0px",document.body.style.top="0px",this.setDesignResolutionSize(t,e,i)},setViewportInPoints:function(t,e,i,n){var r=this._scaleX,s=this._scaleY;cc.game._renderContext.viewport(t*r+this._viewportRect.x,e*s+this._viewportRect.y,i*r,n*s)},setScissorInPoints:function(t,e,i,n){var r=this._scaleX,s=this._scaleY,o=Math.ceil(t*r+this._viewportRect.x),l=Math.ceil(e*s+this._viewportRect.y),c=Math.ceil(i*r),h=Math.ceil(n*s),u=cc.game._renderContext;if(!a){var _=u.getParameter(u.SCISSOR_BOX);a=cc.rect(_[0],_[1],_[2],_[3])}a.x===o&&a.y===l&&a.width===c&&a.height===h||(a.x=o,a.y=l,a.width=c,a.height=h,u.scissor(o,l,c,h))},isScissorEnabled:function(){return cc.game._renderContext.isEnabled(gl.SCISSOR_TEST)},getScissorRect:function(){if(!a){var t=gl.getParameter(gl.SCISSOR_BOX);a=cc.rect(t[0],t[1],t[2],t[3])}var e=1/this._scaleX,i=1/this._scaleY;return cc.rect((a.x-this._viewportRect.x)*e,(a.y-this._viewportRect.y)*i,a.width*e,a.height*i)},getViewportRect:function(){return this._viewportRect},getScaleX:function(){return this._scaleX},getScaleY:function(){return this._scaleY},getDevicePixelRatio:function(){return this._devicePixelRatio},convertToLocationInView:function(t,e,i,n){var r=n||cc.v2(),s=i.adjustedLeft?i.adjustedLeft:i.left,a=i.adjustedTop?i.adjustedTop:i.top,o=this._devicePixelRatio*(t-s),l=this._devicePixelRatio*(a+i.height-e);return this._isRotated?(r.x=cc.game.canvas.width-l,r.y=o):(r.x=o,r.y=l),r},_convertMouseToLocationInView:function(t,e){var i=this._viewportRect;t.x=(this._devicePixelRatio*(t.x-e.left)-i.x)/this._scaleX,t.y=(this._devicePixelRatio*(e.top+e.height-t.y)-i.y)/this._scaleY},_convertPointWithScale:function(t){var e=this._viewportRect;t.x=(t.x-e.x)/this._scaleX,t.y=(t.y-e.y)/this._scaleY},_convertTouchesWithScale:function(t){for(var e,i,n,r=this._viewportRect,s=this._scaleX,a=this._scaleY,o=0;o=0;n--){var s=i[n];s.hasOwnProperty("__attrs__")&&s.__attrs__||r(s,(e=i[n+1])&&e.__attrs__)}return r(t,(e=i[0])&&e.__attrs__),t.__attrs__}function a(t){return t.hasOwnProperty("__attrs__")&&t.__attrs__||s(t)}function o(t,e){this.name=t,this.default=e}o.prototype.toString=function(){return this.name},cc.Integer=new o("Integer",0),cc.Float=new o("Float",0),cc.Boolean=new o("Boolean",!1),cc.String=new o("String",""),e.exports={PrimitiveType:o,attr:function(t,e){var i=a(t),r=e+n,s={};for(var o in i)o.startsWith(r)&&(s[o.slice(r.length)]=i[o]);return s},getClassAttrs:a,setClassAttr:function(t,e,i,r){a(t)[e+n+i]=r},DELIMETER:n,getTypeChecker_ET:!1,getObjTypeChecker_ET:!1,ScriptUuid:{}}}),{"./CCClass":239,"./js":260,"./utils":263}],252:[(function(t,e){"use strict";var i=t("./js"),n=i.array.fastRemoveAt;function r(){}function s(){this.callback=r,this.target=void 0,this.once=!1}s.prototype.set=function(t,e,i){this.callback=t,this.target=e,this.once=!!i};var a=new i.Pool(function(t){return t.callback=r,t.target=void 0,t.once=!1,!0},32);function o(){this.callbackInfos=[],this.isInvoking=!1,this.containCanceled=!1}a.get=function(){return this._get()||new s};var l=o.prototype;l.removeByCallback=function(t){for(var e=0;e=0;--t)this.callbackInfos[t]||n(this.callbackInfos,t);this.containCanceled=!1},l.clear=function(){this.cancelAll(),this.callbackInfos.length=0,this.isInvoking=!1,this.containCanceled=!1};var c=new i.Pool(function(t){return t.callbackInfos=[],t.isInvoking=!1,t.containCanceled=!1,!0},16);function h(){this._callbackTable=i.createMap(!0)}c.get=function(){return this._get()||new o},(l=h.prototype).on=function(t,e,i,n){var r=this._callbackTable[t];r||(r=this._callbackTable[t]=c.get());var s=a.get();s.set(e,i,n),r.callbackInfos.push(s)},l.hasEventListener=function(t,e,i){var n=this._callbackTable[t];if(!n)return!1;var r=n.callbackInfos;if(!e){if(n.isInvoking){for(var s=0;s0}for(var a=0;a=0?a[i[l]]=o:a[~l]=o}for(;r=0?c[i[u]]=h:c[~u]=h}}function w(t,e){for(var i=t[4][e[x]],n=i[A],r=new(0,n[v]),s=n[g],a=n[b],o=i[i.length-1],l=A+1;l=0?e[i]=t[5][n]:t[7][3*~n]=e}function D(t){return function(e,i,n,r){i[n]=r;for(var s=0;s=0){var u=o[c];e[a]=E(t,u,h)}else(0,I[c=~c])(t,e,a,h)}return r}function O(t,e){return t||k.reportMissingClass(e),Object}function L(t,e,i,n,r,s){var a=t(e);if(!a){if(r)return void(i[n]=(function(e,i,n){return function(){var r=t(n)||O(s,n);return e[i]=r,new r}})(i,n,e));a=O(s,e)}i[n]=a}function F(t,e,i){for(var r=i||n.default._getClassById,s=t[3],a=0;a=0?i[c]:~c,s[o]=c);var h=a[o];"number"==typeof h&&(a[o]=n[h])}}function k(t,e,i){"string"==typeof t&&(t=JSON.parse(t));var n=!e;(e=e||T.pool.get()).init(t),i=i||{};var r=t[0],s=!1;if("object"==typeof r&&(s=r.preprocessed,r=r.version),r0&&(i=_+this.globalVariables.join(",")+";");var n=l.flattenCodeArray(["return (function(R){",i||[],this.codeArray,"return o;","})"]);this.result=Function("O","F",n)(this.objs,this.funcs);for(var r=0,s=this.objsToClear_iN$t.length;r1)t.push(d+"="+this._targetExp+";"),e=d;else{if(1!==this._exps.length)return;e=this._targetExp}for(var i=0;i=0&&(_(t,i),!0)}function d(t,e){void 0===e&&(e=t,t=null),this.get=null,this.count=0,this._pool=new Array(e),this._cleanup=t}s.formatStr=function(){var t=arguments.length;if(0===t)return"";var e=arguments[0];if(1===t)return""+e;var i="string"==typeof e&&h.test(e);if(i)for(var n=1;n=0&&(t[i]=t[t.length-1],--t.length)},removeAt:_,fastRemoveAt:function(t,e){var i=t.length;e<0||e>=i||(t[e]=t[i-1],t.length=i-1)},contains:function(t,e){return t.indexOf(e)>=0},verifyType:function(t,e){if(t&&t.length>0)for(var i=0;i0){--this.count;var t=this._pool[this.count];return this._pool[this.count]=null,t}return null},d.prototype.put=function(t){var e=this._pool;if(this.count=0&&(this._pool.length=t,this.count>t&&(this.count=t))},s.Pool=d,cc.js=s,e.exports=s}),{"../utils/mutable-forward-iterator":325,"./id-generater":256}],261:[(function(t,e,i){"use strict";var n=t("./js"),r=t("./attribute"),s={default:{},serializable:{},editorOnly:{},formerlySerializedAs:{}};function a(t,e,i,n){if(!t.get&&!t.set&&t.hasOwnProperty("default")){var r="_N$"+e;t.get=function(){return this[r]},t.set=function(t){var e=this[r];this[r]=t,i.call(this,e)};var a={};for(var o in n[r]=a,s){var l=s[o];t.hasOwnProperty(o)&&(a[o]=t[o],l.canUsedInGet||delete t[o])}}}function o(t,e,i,n){if(Array.isArray(e)){if(!(e.length>0))return cc.errorID(5508,i,n);t.type=e=e[0]}"function"==typeof e&&(e===String?t.type=cc.String:e===Boolean?t.type=cc.Boolean:e===Number&&(t.type=cc.Float))}function l(t,e,i){var n=t?{_short:!0}:{_short:!0,default:e};return i&&(n.type=i),n}i.getFullFormOfProperty=function(t,e){return t&&t.constructor===Object?null:Array.isArray(t)&&t.length>0?l(e,[],t):"function"==typeof t?l(e,n.isChildClassOf(t,cc.ValueType)?new t:null,t):t instanceof r.PrimitiveType?l(e,t.default):l(e,t)},i.preprocessAttrs=function(t,e){for(var n in t){var r=t[n],s=i.getFullFormOfProperty(r,!1);if(s&&(r=t[n]=s),r){var l=r.notify;l&&a(r,n,l,t),"type"in r&&o(r,r.type,e,n)}}},i.validateMethodWithProps=function(t){return"function"==typeof t||null===t}}),{"./CCClass":239,"./attribute":251,"./js":260}],262:[(function(){"use strict";var t=[];cc._RF={push:function(e,i,n){void 0===n&&(n=i,i=""),t.push({uuid:i,script:n,module:e,exports:e.exports,beh:null})},pop:function(){var e=t.pop(),i=e.module,n=i.exports;if(n===e.exports){for(var r in n)return;i.exports=n=e.cls}},peek:function(){return t[t.length-1]}}}),{}],263:[(function(t,e){"use strict";t("./js"),e.exports={contains:function(t,e){if("function"==typeof t.contains)return t.contains(e);if("function"==typeof t.compareDocumentPosition)return!!(16&t.compareDocumentPosition(e));var i=e.parentNode;if(i)do{if(i===t)return!0;i=i.parentNode}while(null!==i);return!1},isDomNode:"object"==typeof window&&("function"==typeof Node?function(t){return t instanceof Node}:function(t){return t&&"object"==typeof t&&"number"==typeof t.nodeType&&"string"==typeof t.nodeName}),callInNextTick:function(t,e,i){t&&setTimeout((function(){t(e,i)}),0)}}}),{"./js":260}],264:[(function(t){"use strict";t("./platform/js"),t("./value-types"),t("./utils"),t("./platform/CCInputManager"),t("./platform/CCInputExtension"),t("./event"),t("./platform/CCSys"),t("./platform/CCMacro"),t("./asset-manager"),t("./CCDirector"),t("./renderer"),t("./platform/CCView"),t("./platform/CCScreen"),t("./CCScheduler"),t("./event-manager")}),{"./CCDirector":70,"./CCScheduler":75,"./asset-manager":93,"./event":188,"./event-manager":184,"./platform/CCInputExtension":242,"./platform/CCInputManager":243,"./platform/CCMacro":244,"./platform/CCScreen":247,"./platform/CCSys":248,"./platform/CCView":249,"./platform/js":260,"./renderer":271,"./utils":323,"./value-types":339}],265:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=a(t("./assembler")),r=a(t("./utils/dynamic-atlas/manager")),s=a(t("./webgl/render-data"));function a(t){return t&&t.__esModule?t:{default:t}}function o(t,e){for(var i=0;i>2,l=s._vData;n.length+o>l.length?l.set(n.subarray(0,l.length-o),o):l.set(n,o);for(var c=s._iData,h=a.indiceOffset,u=a.vertexOffset,_=0,f=r.length;_this.maxSize||(this._clean(t),i[e].push(t),this.count++)}},r.get=function(t){var e;if(this.enabled){var i=this._pool,n=o(t);e=i[n]&&i[n].pop()}return e?this.count--:e=new t,e},r.clear=function(){this._pool={},this.count=0},r._clean=function(t){t._renderComp=null},n}(r.default));r.default.register("assembler",l);var c=l;i.default=c,e.exports=i.default}),{"../utils/pool":326}],268:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=t("./webgl/vertex-format"),s=(n=t("./assembler-pool"))&&n.__esModule?n:{default:n},a=(function(){function t(){this._extendNative&&this._extendNative()}var e=t.prototype;return e.init=function(t){this._renderComp=t},e.updateRenderData=function(){},e.fillBuffers=function(){},e.getVfmt=function(){return r.vfmtPosUvColor},t})();i.default=a,a.register=function(t,e){t.__assembler__=e},a.init=function(t){for(var e=t.constructor,i=e.__assembler__;!i;){if(!(e=e.$super))return void cc.warn("Can not find assembler for render component : ["+cc.js.getClassName(t)+"]");i=e.__assembler__}if(i.getConstructor&&(i=i.getConstructor(t)),!t._assembler||t._assembler.constructor!==i){var n=s.default.get(i);n.init(t),t._assembler=n}},cc.Assembler=a,e.exports=i.default}),{"./assembler-pool":267,"./webgl/vertex-format":313}],269:[(function(t,e){"use strict";var i=function(t){var e;try{e=t.getContext("2d")}catch(i){return void console.error(i)}this._canvas=t,this._ctx=e,this._caps={},this._stats={drawcalls:0},this._vx=this._vy=this._vw=this._vh=0,this._sx=this._sy=this._sw=this._sh=0};i.prototype._restoreTexture=function(){},i.prototype.setViewport=function(t,e,i,n){this._vx===t&&this._vy===e&&this._vw===i&&this._vh===n||(this._vx=t,this._vy=e,this._vw=i,this._vh=n)},i.prototype.setScissor=function(t,e,i,n){this._sx===t&&this._sy===e&&this._sw===i&&this._sh===n||(this._sx=t,this._sy=e,this._sw=i,this._sh=n)},i.prototype.clear=function(t){var e=this._ctx;e.clearRect(this._vx,this._vy,this._vw,this._vh),!t||0===t[0]&&0===t[1]&&0===t[2]||(e.fillStyle="rgb("+t[0]+","+t[1]+","+t[2]+")",e.globalAlpha=t[3],e.fillRect(this._vx,this._vy,this._vw,this._vh))},i.prototype.resetDrawCalls=function(){this._stats.drawcalls=0},i.prototype.getDrawCalls=function(){return this._stats.drawcalls},e.exports=i}),{}],270:[(function(t,e){"use strict";var i=function(t,e){this._device=t,this._width=4,this._height=4,this._image=null,e&&(void 0!==e.width&&(this._width=e.width),void 0!==e.height&&(this._height=e.height),this.updateImage(e))};i.prototype.update=function(t){this.updateImage(t)},i.prototype.updateImage=function(t){if(t.images&&t.images[0]){var e=t.images[0];e&&e!==this._image&&(this._image=e)}},i.prototype.destroy=function(){this._image=null},e.exports=i}),{}],271:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=a(t("../../renderer/gfx")),r=a(t("../../renderer/core/input-assembler")),s=a(t("../../renderer/core/pass"));function a(t){return t&&t.__esModule?t:{default:t}}var o=cc.renderer={Texture2D:null,InputAssembler:r.default,Pass:s.default,renderEngine:null,canvas:null,device:null,scene:null,drawCalls:0,_handle:null,_cameraNode:null,_camera:null,_forward:null,_flow:null,initWebGL:function(e,i){t("./webgl/assemblers");var r=t("./webgl/model-batcher");this.Texture2D=n.default.Texture2D,this.canvas=e,this._flow=cc.RenderFlow;var s=t("../../renderer/scene/scene"),a=t("../../renderer/renderers/forward-renderer");this.device=new n.default.Device(e,i),this.scene=new s;var o,l=(o=this.device,{defaultTexture:new n.default.Texture2D(o,{images:[],width:128,height:128,wrapS:n.default.WRAP_REPEAT,wrapT:n.default.WRAP_REPEAT,format:n.default.TEXTURE_FMT_RGB8,genMipmaps:!1}),programTemplates:[],programChunks:{}});this._forward=new a(this.device,l),this._handle=new r(this.device,this.scene),this._flow.init(this._handle,this._forward)},initCanvas:function(e){var i=t("./canvas"),n=t("./canvas/Texture2D"),r=t("./canvas/Device");this.Device=r,this.Texture2D=n,this.canvas=e,this.device=new r(e),this._camera={a:1,b:0,c:0,d:1,tx:0,ty:0},this._handle=new i.RenderComponentHandle(this.device,this._camera),this._forward=new i.ForwardRenderer,this._flow=cc.RenderFlow,this._flow.init(this._handle,this._forward)},updateCameraViewport:function(){if(cc.director){var t=cc.director.getScene();t&&t.setScale(1,1,1)}if(cc.game.renderType===cc.game.RENDER_TYPE_CANVAS){var e=cc.view.getViewportRect();this.device.setViewport(e.x,e.y,e.width,e.height),this._camera.a=cc.view.getScaleX(),this._camera.d=cc.view.getScaleY(),this._camera.tx=e.x,this._camera.ty=e.y+e.height}},render:function(t,e){this.device.resetDrawCalls(),t&&(this._flow.render(t,e),this.drawCalls=this.device.getDrawCalls())},clear:function(){this._handle.reset(),this._forward.clear()}};i.default=o,e.exports=i.default}),{"../../renderer/core/input-assembler":362,"../../renderer/core/pass":363,"../../renderer/gfx":372,"../../renderer/renderers/forward-renderer":391,"../../renderer/scene/scene":395,"./canvas":void 0,"./canvas/Device":269,"./canvas/Texture2D":270,"./webgl/assemblers":283,"./webgl/model-batcher":309}],272:[(function(t,e){"use strict";var i,n,r=0,s=1<0;)i&t&&(e=C(i,e)),i>>=1;return e}function S(t){var e=t._renderFlag;(x[e]=T(e))._func(t)}g.flows=x,g.createFlow=C;var w=[];g.registerValidate=function(t){t._inValidateList||(w.push(t),t._inValidateList=!0)},g.validateRenderers=function(){for(var t=0,e=w.length;tthis._width&&(this._x=n,this._y=this._nexty),this._y+l+n>this._nexty&&(this._nexty=this._y+l+n),this._nexty>this._height)return null;cc.dynamicAtlasManager.textureBleeding&&((o<=8||l<=8)&&(this._texture.drawTextureAt(i,this._x-1,this._y-1),this._texture.drawTextureAt(i,this._x-1,this._y+1),this._texture.drawTextureAt(i,this._x+1,this._y-1),this._texture.drawTextureAt(i,this._x+1,this._y+1)),this._texture.drawTextureAt(i,this._x-1,this._y),this._texture.drawTextureAt(i,this._x+1,this._y),this._texture.drawTextureAt(i,this._x,this._y-1),this._texture.drawTextureAt(i,this._x,this._y+1)),this._texture.drawTextureAt(i,this._x,this._y),this._innerTextureInfos[i._id]={x:this._x,y:this._y,texture:i},this._count++,s+=this._x,a+=this._y,this._x+=o+n,this._dirty=!0}var c={x:s,y:a,texture:this._texture};return this._innerSpriteFrames.push(t),c},update:function(){this._dirty&&(this._texture.update(),this._dirty=!1)},deleteInnerTexture:function(t){t&&this._innerTextureInfos[t._id]&&(delete this._innerTextureInfos[t._id],this._count--)},isEmpty:function(){return this._count<=0},reset:function(){this._x=n,this._y=n,this._nexty=n;for(var t=this._innerSpriteFrames,e=0,i=t.length;e=0;e--)n[e].deleteInnerTexture(t),n[e].isEmpty()&&(n[e].destroy(),n.splice(e,1),r--)},showDebug:function(t){if(t){if(!c||!c.isValid){var e=cc.visibleRect.width,i=cc.visibleRect.height;(c=new cc.Node("DYNAMIC_ATLAS_DEBUG_NODE")).width=e,c.height=i,c.x=e/2,c.y=i/2,c.zIndex=cc.macro.MAX_ZINDEX,c.parent=cc.director.getScene(),c.groupIndex=cc.Node.BuiltinGroupIndex.DEBUG,cc.Camera._setupDebugCamera();var s=c.addComponent(cc.ScrollView),o=new cc.Node("CONTENT"),l=o.addComponent(cc.Layout);l.type=cc.Layout.Type.VERTICAL,l.resizeMode=cc.Layout.ResizeMode.CONTAINER,o.parent=c,o.width=a,o.anchorY=1,o.x=a,s.content=o;for(var h=0;h<=r;h++){var u=new cc.Node("ATLAS"),_=(n[h]._texture,new cc.SpriteFrame);_.setTexture(n[h]._texture),u.addComponent(cc.Sprite).spriteFrame=_,u.parent=o}}return c}c&&(c.parent=null,c=null)},update:function(){if(this.enabled)for(var t=0;t<=r;t++)n[t].update()}};e.exports=cc.dynamicAtlasManager=f}),{"./atlas":273}],275:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../../assembler-2d"))&&n.__esModule?n:{default:n};function s(t,e){return(s=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var a=t("../../../utils/text-utils"),o=t("../../../platform/CCMacro"),l=t("../../../components/CCLabel").Overflow,c=t("../utils").shareLabelInfo,h=function(){this.char="",this.valid=!0,this.x=0,this.y=0,this.line=0,this.hash=""},u=cc.rect(),_=null,f=[],d=[],p=[],m=[],y=null,v=0,g=0,b=0,A=0,x=0,C=1,T=null,S=cc.size(),w="",E=0,M=0,D=0,B=0,P=0,I=0,R=0,O=!1,L=0,F=0,V=0,N=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,s(e,i);var r=n.prototype;return r.updateRenderData=function(t){t._vertsDirty&&_!==t&&(_=t,this._reserveQuads(t,t.string.toString().length),this._updateFontFamily(t),this._updateProperties(t),this._updateLabelInfo(t),this._updateContent(),this.updateWorldVerts(t),_._actualFontSize=E,_.node.setContentSize(S),_._vertsDirty=!1,_=null,this._resetProperties())},r._updateFontScale=function(){C=E/M},r._updateFontFamily=function(t){var e=t.font;T=e.spriteFrame,y=e._fntConfig,c.fontAtlas=e._fontDefDictionary,this.packToDynamicAtlas(t,T)},r._updateLabelInfo=function(){c.hash="",c.margin=0},r._updateProperties=function(t){w=t.string.toString(),E=t.fontSize,M=y?y.fontSize:t.fontSize,D=t.horizontalAlign,B=t.verticalAlign,P=t.spacingX,R=t.overflow,I=t._lineHeight,S.width=t.node.width,S.height=t.node.height,R===l.NONE?(O=!1,S.width+=2*c.margin,S.height+=2*c.margin):R===l.RESIZE_HEIGHT?(O=!0,S.height+=2*c.margin):O=t.enableWrapText,c.lineHeight=I,c.fontSize=E,this._setupBMFontOverflowMetrics()},r._resetProperties=function(){y=null,T=null,c.hash="",c.margin=0},r._updateContent=function(){this._updateFontScale(),this._computeHorizontalKerningForText(),this._alignText()},r._computeHorizontalKerningForText=function(){var t,e=w,i=e.length,n=f;if(y&&(t=y.kerningDict),t&&!cc.js.isEmptyObject(t))for(var r=-1,s=0;s0&&n>0&&G+_.w*C>V&&!a.isUnicodeSpace(b)){p.push(o),o=0,i++,n=0,r-=I*this._getFontScale()+0,N=!0;break}d.x=G,d.y=r-_.offsetY*C+c.margin,this._recordLetterInfo(d,b,z,i),z+1d.y-_.h*C&&(M=d.y-_.h*C)}else{this._recordPlaceholderInfo(z,b);var U="";y&&(U=y.atlasName),console.log("Can't find letter definition in texture atlas "+U+" for letter:"+b)}else this._recordPlaceholderInfo(z,b)}N||(n=B,hM&&(u=M),s<(o=D)&&(s=o),m+=T)}else p.push(o),o=0,i++,n=0,r-=I*this._getFontScale()+0,this._recordPlaceholderInfo(m,b),m++}return p.push(o),g=(v=i+1)*I*this._getFontScale(),v>1&&(g+=0*(v-1)),S.width=L,S.height=F,L<=0&&(S.width=parseFloat(s.toFixed(2))+2*c.margin),F<=0&&(S.height=parseFloat(g.toFixed(2))+2*c.margin),A=S.height,x=0,R!==l.CLAMP&&(h>0&&(A=S.height+h),u<-g&&(x=g+u)),!0},r._getFirstCharLen=function(){return 1},r._getFontScale=function(){return R===l.SHRINK?C:1},r._getFirstWordLen=function(t,e,i){var n=t.charAt(e);if(a.isUnicodeCJK(n)||"\n"===n||a.isUnicodeSpace(n))return 1;var r=1,s=c.fontAtlas.getLetterDefinitionForChar(n,c);if(!s)return r;for(var o=s.xAdvance*C+P,l=e+1;lV&&!a.isUnicodeSpace(n)&&V>0)return r;if(o+=s.xAdvance*C+P,"\n"===n||a.isUnicodeSpace(n)||a.isUnicodeCJK(n))break;r++}return r},r._multilineTextWrapByWord=function(){return this._multilineTextWrap(this._getFirstWordLen)},r._multilineTextWrapByChar=function(){return this._multilineTextWrap(this._getFirstCharLen)},r._recordPlaceholderInfo=function(t,e){if(t>=d.length){var i=new h;d.push(i)}d[t].char=e,d[t].hash=e.charCodeAt(0)+c.hash,d[t].valid=!1},r._recordLetterInfo=function(t,e,i,n){if(i>=d.length){var r=new h;d.push(r)}var s=e.charCodeAt(0)+c.hash;d[i].line=n,d[i].char=e,d[i].hash=s,d[i].valid=c.fontAtlas.getLetter(s).valid,d[i].x=t.x,d[i].y=t.y},r._alignText=function(){g=0,p.length=0,this._multilineTextWrapByWord(),this._computeAlignmentOffset(),R===l.SHRINK&&E>0&&this._isVerticalClamp()&&this._shrinkLabelToContentSize(this._isVerticalClamp),this._updateQuads()||R===l.SHRINK&&this._shrinkLabelToContentSize(this._isHorizontalClamp)},r._scaleFontSizeDown=function(t){var e=!0;t||(t=.1,e=!1),E=t,e&&this._updateContent()},r._shrinkLabelToContentSize=function(t){for(var e=0,i=0|E,n=0;e>1;if(r<=0)break;C=r/M,this._multilineTextWrapByWord(),this._computeAlignmentOffset(),t()?i=n-1:e=n}var s=e;s>=0&&this._scaleFontSizeDown(s)},r._isVerticalClamp=function(){return g>S.height},r._isHorizontalClamp=function(){for(var t=!1,e=0,i=w.length;e0)if(O){if(p[a]>S.width&&(s>S.width||s<0)){t=!0;break}}else if(s>S.width){t=!0;break}}}return t},r._isHorizontalClamped=function(t,e){var i=p[e],n=t>S.width||t<0;return O?i>S.width&&n:n},r._updateQuads=function(){var t=T?T._texture:c.fontAtlas.getTexture(),e=_.node;this.verticesCount=this.indicesCount=0,this._renderData&&(this._renderData.dataLength=0);for(var i=S,n=e._anchorPoint.x*i.width,r=e._anchorPoint.y*i.height,s=!0,a=0,o=w.length;a0){if(p>A){var y=p-A;u.y+=y,u.height-=y,p-=y}p-f.h*C0&&this._isHorizontalClamped(g,v))if(R===l.CLAMP)u.width=0;else if(R===l.SHRINK){if(S.width>f.w){s=!1;break}u.width=0}if(u.height>0&&u.width>0){var E=this._determineRect(u),M=h.x+m[h.line];this.appendQuad(_,t,u,E,M-n,p-r,C)}}}return this._quadsUpdated(_),s},r._determineRect=function(t){var e=T.isRotated(),i=T._originalSize,n=T._rect,r=T._offset,s=r.x+(i.width-n.width)/2,a=r.y-(i.height-n.height)/2;if(e){var o=t.x;t.x=n.x+n.height-t.y-t.height-a,t.y=o+n.y-s,t.y<0&&(t.height=t.height+a)}else t.x+=n.x-s,t.y+=n.y+a;return e},r._computeAlignmentOffset=function(){switch(m.length=0,D){case o.TextAlignment.LEFT:for(var t=0;t0){var c=e.out||m;t.strokeStyle="rgba("+c.r+", "+c.g+", "+c.b+", "+c.a/255+")",t.lineWidth=2*e.margin,t.strokeText(this._char,s,a)}t.fillText(this._char,s,a),this._texture.handleLoadedTexture()},destroy:function(){this._texture.destroy(),this._texture=null,a._canvasPool.put(this._data)}},cc.js.mixin(b.prototype,{insertLetterTexture:function(t){var e=t._texture,i=e.width,n=e.height;if(this._x+i+y>this._width&&(this._x=y,this._y=this._nexty),this._y+n>this._nexty&&(this._nexty=this._y+n+y),this._nexty>this._height)return null;this._fontDefDictionary._texture.drawTextureAt(e,this._x,this._y),this._dirty=!0;var r=new d;return r.u=this._x+1,r.v=this._y+1,r.texture=this._fontDefDictionary._texture,r.valid=!0,r.w=t._width-2,r.h=t._height-2,r.xAdvance=r.w,r.offsetY=t._offsetY,this._x+=i+y,this._fontDefDictionary.addLetterDefinitions(t._hash,r),r},update:function(){this._dirty&&(this._fontDefDictionary._texture.update(),this._dirty=!1)},reset:function(){this._x=y,this._y=y,this._nexty=y;for(var t=this._fontDefDictionary._letterDefinitions,e=0,i=t.length;e0&&(n=n+e.margin+e.out.toHEX()),""+e.fontSize+e.fontFamily+i+n)},r._getFontDesc=function(){return f.fontSize.toString()+"px "+f.fontFamily},r._computeHorizontalKerningForText=function(){},r._determineRect=function(){return!1},n})(r.default);i.default=x,e.exports=i.default}),{"../../../assets/CCRenderTexture":113,"../../../components/CCComponent":149,"../../../components/CCLabel":151,"../../../components/CCLabelOutline":152,"../../../utils/text-utils":331,"../../webgl/assemblers/label/2d/bmfont":284,"../utils":279}],278:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../../assembler-2d"))&&n.__esModule?n:{default:n};function s(t,e){return(s=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var a,o=t("../../../utils/text-utils"),l=t("../../../platform/CCMacro"),c=t("../../../components/CCLabel"),h=t("../../../components/CCLabelOutline"),u=t("../../../components/CCLabelShadow"),_=c.Overflow,f=t("../utils").deleteFromDynamicAtlas,d=t("../utils").getFontFamily,p=(1/255).toFixed(3),m=null,y=null,v=null,g="",b="",A=0,x=0,C=[],T=cc.Size.ZERO,S=0,w=0,E=0,M=null,D="",B=_.NONE,P=!1,I=!1,R=null,O=cc.Color.WHITE,L=null,F=cc.Color.BLACK,V=cc.rect(),N=cc.Size.ZERO,k=cc.Size.ZERO,z=!1,G=!1,U=!1,j=0,H=cc.Vec2.ZERO,W=0,X=["left","center","right"],Y=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,s(e,i);var r=n.prototype;return r._getAssemblerData=function(){return(a=c._canvasPool.get()).canvas.width=a.canvas.height=1,a},r._resetAssemblerData=function(t){t&&c._canvasPool.put(t)},r.updateRenderData=function(e){t.prototype.updateRenderData.call(this,e),e._vertsDirty&&(this._updateProperties(e),this._calculateLabelFont(),this._updateLabelDimensions(),this._updateTexture(e),this._calDynamicAtlas(e),e._actualFontSize=A,e.node.setContentSize(k),this.updateVerts(e),e._vertsDirty=!1,m=null,y=null,v=null)},r.updateVerts=function(){},r._updatePaddingRect=function(){var t=0,e=0,i=0,n=0,r=0;if(N.width=N.height=0,R&&(t=e=i=n=r=R.width,N.width=N.height=2*r),L){var s=L.blur+r;i=Math.max(i,-L._offset.x+s),n=Math.max(n,L._offset.x+s),t=Math.max(t,L._offset.y+s),e=Math.max(e,-L._offset.y+s)}if(G){var a=x*Math.tan(.20943951);n+=a,N.width+=a}V.x=i,V.y=t,V.width=i+n,V.height=t+e},r._updateProperties=function(t){var e=t._assemblerData;m=e.context,y=e.canvas,v=t._frame._original?t._frame._original._texture:t._frame._texture,b=t.string.toString(),A=t._fontSize,x=A,j=t.underlineHeight||x/8,B=t.overflow,T.width=t.node.width,T.height=t.node.height,k=t.node.getContentSize(),S=t._lineHeight,w=t.horizontalAlign,E=t.verticalAlign,M=t.node.color,z=t.enableBold,G=t.enableItalic,U=t.enableUnderline,D=d(t),I=t.srcBlendFactor===cc.macro.BlendFactor.ONE,P=B!==_.NONE&&(B===_.RESIZE_HEIGHT||t.enableWrapText),(R=(R=h&&t.getComponent(h))&&R.enabled&&R.width>0?R:null)&&O.set(R.color),(L=(L=u&&t.getComponent(u))&&L.enabled?L:null)&&(F.set(L.color),F.a=F.a*t.node.color.a/255),this._updatePaddingRect()},r._calculateFillTextStartPosition=function(){var t=0;w===l.TextAlignment.RIGHT?t=T.width-V.width:w===l.TextAlignment.CENTER&&(t=(T.width-V.width)/2);var e=this._getLineHeight()*(C.length-1),i=A*(1-o.BASELINE_RATIO/2);if(E!==l.VerticalTextAlignment.TOP){var n=e+V.height+A-T.height;E===l.VerticalTextAlignment.BOTTOM?i-=n+=o.BASELINE_RATIO/2*A:i-=n/2}return i+=o.BASELINE_OFFSET*A,cc.v2(t+V.x,i+V.y)},r._setupOutline=function(){m.strokeStyle="rgba("+O.r+", "+O.g+", "+O.b+", "+O.a/255+")",m.lineWidth=2*R.width},r._setupShadow=function(){m.shadowColor="rgba("+F.r+", "+F.g+", "+F.b+", "+F.a/255+")",m.shadowBlur=L.blur,m.shadowOffsetX=L.offset.x,m.shadowOffsetY=-L.offset.y},r._drawTextEffect=function(t,e){if(L||R||U){var i=C.length>1&&L,n=this._measureText(m,g),r=0,s=0;L&&this._setupShadow(),R&&this._setupOutline();for(var a=0;at||T.height>t)&&cc.warn("The maximum texture size supported by the device is "+t),T.width=Math.min(T.width,t),T.height=Math.min(T.height,t);var e=!1;y.width!==T.width&&(y.width=T.width,e=!0),y.height!==T.height&&(y.height=T.height,e=!0),e&&(m.font=g),m.textAlign=X[w]},r._getFontDesc=function(){var t=A.toString()+"px ";return t+=D,z&&(t="bold "+t),G&&(t="italic "+t),t},r._getLineHeight=function(){return 0|(0===S?A:S*A/x)},r._calculateParagraphLength=function(t,e){for(var i=[],n=0;n>1)<=0){cc.logID(4003);break}A=h,g=this._getFontDesc(),m.font=g;var u=this._getLineHeight();for(n=0,i=0;ia?c=h-1:l=h}0===l?cc.logID(4003):(A=l,g=this._getFontDesc(),m.font=g)}else{for(n=t.length*this._getLineHeight(),i=0;ir?e:r}i=(C.length+o.BASELINE_RATIO)*this._getLineHeight();var s=parseFloat(e.toFixed(2)),a=parseFloat(i.toFixed(2));T.width=s+V.width,T.height=a+V.height,k.width=s+N.width,k.height=a+N.height;break;case _.SHRINK:this._calculateShrinkFont(t),this._calculateWrapText(t);break;case _.CLAMP:this._calculateWrapText(t);break;case _.RESIZE_HEIGHT:this._calculateWrapText(t);var l=(C.length+o.BASELINE_RATIO)*this._getLineHeight();T.height=l+V.height,k.height=l+N.height}},n})(r.default);i.default=Y,e.exports=i.default}),{"../../../components/CCLabel":151,"../../../components/CCLabelOutline":152,"../../../components/CCLabelShadow":153,"../../../platform/CCMacro":244,"../../../utils/text-utils":331,"../../assembler-2d":265,"../utils":279}],279:[(function(t,e){"use strict";var i=t("./dynamic-atlas/manager"),n=cc.Color.WHITE,r={fontAtlas:null,fontSize:0,lineHeight:0,hAlign:0,vAlign:0,hash:"",fontFamily:"",fontDesc:"Arial",color:n,isOutlined:!1,out:n,margin:0};e.exports={deleteFromDynamicAtlas:function(t,e){e&&e._original&&i&&(i.deleteAtlasSpriteFrame(e),e._resetDynamicAtlasFrame())},getFontFamily:function(t){return t.useSystemFont?t.fontFamily||"Arial":t.font?t.font._nativeAsset?t.font._nativeAsset:(cc.assetManager.postLoadNative(t.font,(function(){t.isValid&&t.setVertsDirty()})),"Arial"):"Arial"},shareLabelInfo:r}}),{"./dynamic-atlas/manager":274}],280:[(function(t,e){"use strict";function i(t,e,i){i=i||2;var r,a,o,l,c,u,_,f=e&&e.length,d=f?e[0]*i:t.length,p=n(t,0,d,i,!0),m=[];if(!p)return m;if(f&&(p=h(t,e,p,i)),t.length>80*i){r=o=t[0],a=l=t[1];for(var y=i;yo&&(o=c),u>l&&(l=u);_=Math.max(o-r,l-a)}return s(p,m,i,r,a,_),m}function n(t,e,i,n,r){var s,a;if(r===B(t,e,i,n)>0)for(s=e;s=e;s-=n)a=E(s,t[s],t[s+1],a);return a&&A(a,a.next)&&(M(a),a=a.next),a}function r(t,e){if(!t)return t;e||(e=t);var i,n=t;do{if(i=!1,n.steiner||!A(n,n.next)&&0!==b(n.prev,n,n.next))n=n.next;else{if(M(n),(n=e=n.prev)===n.next)return null;i=!0}}while(i||n!==e);return e}function s(t,e,i,n,h,u,_){if(t){!_&&u&&d(t,n,h,u);for(var f,p,m=t;t.prev!==t.next;)if(f=t.prev,p=t.next,u?o(t,n,h,u):a(t))e.push(f.i/i),e.push(t.i/i),e.push(p.i/i),M(t),t=p.next,m=p.next;else if((t=p)===m){_?1===_?s(t=l(t,e,i),e,i,n,h,u,2):2===_&&c(t,e,i,n,h,u):s(r(t),e,i,n,h,u,1);break}}}function a(t){var e=t.prev,i=t,n=t.next;if(b(e,i,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(v(e.x,e.y,i.x,i.y,n.x,n.y,r.x,r.y)&&b(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function o(t,e,i,n){var r=t.prev,s=t,a=t.next;if(b(r,s,a)>=0)return!1;for(var o=r.xs.x?r.x>a.x?r.x:a.x:s.x>a.x?s.x:a.x,h=r.y>s.y?r.y>a.y?r.y:a.y:s.y>a.y?s.y:a.y,u=m(o,l,e,i,n),_=m(c,h,e,i,n),f=t.nextZ;f&&f.z<=_;){if(f!==t.prev&&f!==t.next&&v(r.x,r.y,s.x,s.y,a.x,a.y,f.x,f.y)&&b(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=u;){if(f!==t.prev&&f!==t.next&&v(r.x,r.y,s.x,s.y,a.x,a.y,f.x,f.y)&&b(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0}function l(t,e,i){var n=t;do{var r=n.prev,s=n.next.next;!A(r,s)&&x(r,n,n.next,s)&&T(r,s)&&T(s,r)&&(e.push(r.i/i),e.push(n.i/i),e.push(s.i/i),M(n),M(n.next),n=t=s),n=n.next}while(n!==t);return n}function c(t,e,i,n,a,o){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&g(l,c)){var h=w(l,c);return l=r(l,l.next),h=r(h,h.next),s(l,e,i,n,a,o),void s(h,e,i,n,a,o)}c=c.next}l=l.next}while(l!==t)}function h(t,e,i,s){var a,o,l,c=[];for(a=0,o=e.length;a=n.next.y){var o=n.x+(s-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(o<=r&&o>a){if(a=o,o===r){if(s===n.y)return n;if(s===n.next.y)return n.next}i=n.x=n.x&&n.x>=h&&v(si.x)&&T(n,t)&&(i=n,_=l),n=n.next;return i}function d(t,e,i,n){var r=t;do{null===r.z&&(r.z=m(r.x,r.y,e,i,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,p(r)}function p(t){var e,i,n,r,s,a,o,l,c=1;do{for(i=t,t=null,s=null,a=0;i;){for(a++,n=i,o=0,e=0;e0||l>0&&n;)0===o?(r=n,n=n.nextZ,l--):0!==l&&n?i.z<=n.z?(r=i,i=i.nextZ,o--):(r=n,n=n.nextZ,l--):(r=i,i=i.nextZ,o--),s?s.nextZ=r:t=r,r.prevZ=s,s=r;i=n}s.nextZ=null,c*=2}while(a>1);return t}function m(t,e,i,n,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-i)/r)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)/r)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function y(t){var e=t,i=t;do{e.x=0&&(t-a)*(n-o)-(i-a)*(e-o)>=0&&(i-a)*(s-o)-(r-a)*(n-o)>=0}function g(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!C(t,e)&&T(t,e)&&T(e,t)&&S(t,e)}function b(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)}function A(t,e){return t.x===e.x&&t.y===e.y}function x(t,e,i,n){return!!(A(t,e)&&A(i,n)||A(t,n)&&A(i,e))||b(t,e,i)>0!=b(t,e,n)>0&&b(i,n,t)>0!=b(i,n,e)>0}function C(t,e){var i=t;do{if(i.i!==t.i&&i.next.i!==t.i&&i.i!==e.i&&i.next.i!==e.i&&x(i,i.next,t,e))return!0;i=i.next}while(i!==t);return!1}function T(t,e){return b(t.prev,t,t.next)<0?b(t,e,t.next)>=0&&b(t,t.prev,e)>=0:b(t,e,t.prev)<0||b(t,t.next,e)<0}function S(t,e){var i=t,n=!1,r=(t.x+e.x)/2,s=(t.y+e.y)/2;do{i.y>s!=i.next.y>s&&r<(i.next.x-i.x)*(s-i.y)/(i.next.y-i.y)+i.x&&(n=!n),i=i.next}while(i!==t);return n}function w(t,e){var i=new D(t.i,t.x,t.y),n=new D(e.i,e.x,e.y),r=t.next,s=e.prev;return t.next=e,e.prev=t,i.next=r,r.prev=i,n.next=i,i.prev=n,s.next=n,n.prev=s,n}function E(t,e,i,n){var r=new D(t,e,i);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r}function M(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function D(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function B(t,e,i,n){for(var r=0,s=e,a=i-n;s0&&(n+=t[r-1].length,i.holes.push(n))}return i}}),{}],281:[(function(t,e){"use strict";var i=t("../../../../graphics/helper"),n=t("../../../../graphics/types").PointFlags,r=cc.Graphics.Point=cc.Class({name:"cc.GraphicsPoint",extends:cc.Vec2,ctor:function(){this.reset()},reset:function(){this.dx=0,this.dy=0,this.dmx=0,this.dmy=0,this.flags=0,this.len=0}});function s(){this.reset()}function a(){this._tessTol=.25,this._distTol=.01,this._updatePathOffset=!1,this._paths=null,this._pathLength=0,this._pathOffset=0,this._points=null,this._pointsOffset=0,this._commandx=0,this._commandy=0,this._paths=[],this._points=[]}cc.js.mixin(s.prototype,{reset:function(){this.closed=!1,this.nbevel=0,this.complex=!0,this.points?this.points.length=0:this.points=[]}}),cc.js.mixin(a.prototype,{moveTo:function(t,e){this._updatePathOffset&&(this._pathOffset=this._pathLength,this._updatePathOffset=!1),this._addPath(),this._addPoint(t,e,n.PT_CORNER),this._commandx=t,this._commandy=e},lineTo:function(t,e){this._addPoint(t,e,n.PT_CORNER),this._commandx=t,this._commandy=e},bezierCurveTo:function(t,e,r,s,a,o){var l=this._curPath,c=l.points[l.points.length-1];c.x!==t||c.y!==e||r!==a||s!==o?(i.tesselateBezier(this,c.x,c.y,t,e,r,s,a,o,0,n.PT_CORNER),this._commandx=a,this._commandy=o):this.lineTo(a,o)},quadraticCurveTo:function(t,e,i,n){var r=this._commandx,s=this._commandy;this.bezierCurveTo(r+2/3*(t-r),s+2/3*(e-s),i+2/3*(t-i),n+2/3*(e-n),i,n)},arc:function(t,e,n,r,s,a){i.arc(this,t,e,n,r,s,a)},ellipse:function(t,e,n,r){i.ellipse(this,t,e,n,r),this._curPath.complex=!1},circle:function(t,e,n){i.ellipse(this,t,e,n,n),this._curPath.complex=!1},rect:function(t,e,i,n){this.moveTo(t,e),this.lineTo(t,e+n),this.lineTo(t+i,e+n),this.lineTo(t+i,e),this.close(),this._curPath.complex=!1},roundRect:function(t,e,n,r,s){i.roundRect(this,t,e,n,r,s),this._curPath.complex=!1},clear:function(t){this._pathLength=0,this._pathOffset=0,this._pointsOffset=0,this._curPath=null,t&&(this._paths.length=0,this._points.length=0)},close:function(){this._curPath.closed=!0},_addPath:function(){var t=this._pathLength,e=this._paths[t];return e?e.reset():(e=new s,this._paths.push(e)),this._pathLength++,this._curPath=e,e},_addPoint:function(t,e,i){var n=this._curPath;if(n){var s,a=this._points,o=n.points;(s=a[this._pointsOffset++])?(s.x=t,s.y=e):(s=new r(t,e),a.push(s)),s.flags=i,o.push(s)}}}),cc.Graphics._Impl=a,e.exports=a}),{"../../../../graphics/helper":203,"../../../../graphics/types":205}],282:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=s(t("../../../assembler")),r=s(t("../../../../../renderer/core/input-assembler"));function s(t){return t&&t.__esModule?t:{default:t}}function a(t,e){return(a=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var o=t("../../mesh-buffer"),l=t("../../../index"),c=t("../../../../graphics/graphics"),h=t("../../../../graphics/types").PointFlags,u=c.LineJoin,_=c.LineCap,f=t("./earcut");t("./impl");var d=Math.PI,p=Math.min,m=Math.max,y=Math.ceil,v=Math.acos,g=Math.cos,b=Math.sin,A=Math.atan2;function x(t,e,i){return ti?i:t}var C=cc.gfx,T=new C.VertexFormat([{name:C.ATTR_POSITION,type:C.ATTR_TYPE_FLOAT32,num:2},{name:C.ATTR_COLOR,type:C.ATTR_TYPE_UINT8,num:4,normalize:!0},{name:"a_dist",type:C.ATTR_TYPE_FLOAT32,num:1}]);T.name="vfmtPosColorSdf";var S=(function(t){var e,i;function n(e){var i;return(i=t.call(this,e)||this)._buffer=null,i._buffers=[],i._bufferOffset=0,i}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,a(e,i);var s=n.prototype;return s.getVfmt=function(){return T},s.getVfmtFloatCount=function(){return 4},s.requestBuffer=function(){var t={indiceStart:0,vertexStart:0},e=new o(l._handle,this.getVfmt());t.meshbuffer=e;var i=new r.default(e._vb,e._ib);return t.ia=i,this._buffers.push(t),t},s.getBuffers=function(){return 0===this._buffers.length&&this.requestBuffer(),this._buffers},s.clear=function(t){this._bufferOffset=0;var e=this._buffers;if(t){for(var i=0,n=e.length;i65535||3*s>131070)&&(++this._bufferOffset,s=e,this._bufferOffsetr.vertexOffset&&r.requestStatic(e,3*e),this._buffer=n,n},s.stroke=function(t){this._curColor=t._strokeColor._val,this._flattenPaths(t._impl),this._expandStroke(t),t._impl._updatePathOffset=!0},s.fill=function(t){this._curColor=t._fillColor._val,this._expandFill(t),t._impl._updatePathOffset=!0},s._expandStroke=function(t){var e,i,n,r,s=.5*t.lineWidth,a=t.lineCap,o=t.lineJoin,l=t.miterLimit,c=t._impl,f=(e=s,i=d,n=c._tessTol,r=2*v(e/(e+n)),m(2,y(i/r)));this._calculateJoins(c,s,o,l);for(var p=c._paths,g=0,b=c._pathOffset,A=c._pathLength;b0&&(r=1/e);for(var a=t._paths,o=t._pathOffset,l=t._pathLength;o1e-6){var S=1/g;S>600&&(S=600),y.dmx*=S,y.dmy*=S}y.dx*d.dy-d.dx*y.dy>0&&(y.flags|=h.PT_LEFT),g*(b=m(11,p(d.len,y.len)*r))*b<1&&(y.flags|=h.PT_INNERBEVEL);var w=y.dmx*e,E=y.dmy*e,M=w*w+E*E;M>y.len*y.len+s&&M>d.len*d.len+s&&(y.flags|=h.PT_INNERBEVEL),y.flags&h.PT_CORNER&&(g*n*n<1||i===u.BEVEL||i===u.ROUND)&&(y.flags|=h.PT_BEVEL),0!=(y.flags&(h.PT_BEVEL|h.PT_INNERBEVEL))&&c.nbevel++,d=y,y=_[v+1]}}},s._flattenPaths=function(t){for(var e=t._paths,i=t._pathOffset,n=t._pathLength;i2&&a.equals(o)&&(r.closed=!0,s.pop(),a=s[s.length-1]);for(var l=0,c=s.length;lC&&(T-=2*d),this._vset(f,p,1),this._vset(c-s*n,e.y-a*n,-1);for(var S=x(y((C-T)/d)*r,2,r),w=0;w "+n+"/"+i+".")},e._updateCfgFlag=function(t){var e=this._cfgFields.updateFlags;this._setBufferFlag(this._cfg,e.offset,e.size,e.type,t)},e._setBufferValue=function(t,e,i,n,r){"float"==n&&4==i?t.setFloat32(e,r,jsb.__isLittleEndian__):"int32"==n&&4==i?t.setInt32(e,r,jsb.__isLittleEndian__):"bool"==n&&1==i?t.setInt8(e,r?1:0,jsb.__isLittleEndian__):"Color4B"==n&&4==i?(t.setUint8(e,r.r),t.setUint8(e+1,r.g),t.setUint8(e+2,r.b),t.setUint8(e+3,r.a)):"int8"==n&&1==i?t.setUint8(e,r):cc.warn("dont know how to set value to buffer, type/size -> "+n+"/"+i+".")},e._setFieldValue=function(t,e,i,n){var r=e[i];this._setBufferValue(t,r.offset,r.size,r.type,n)},e._getBufferValue=function(t,e,i,n){return"float"==n&&4==i?t.getFloat32(e,jsb.__isLittleEndian__):"int32"==n&&4==i?t.getInt32(e,jsb.__isLittleEndian__):"bool"==n&&1==i?0!=t.getInt8(e,jsb.__isLittleEndian__):"Color4B"==n&&4==i?{r:t.getUint8(e),g:t.getUint8(e+1),b:t.getUint8(e+2),a:t.getUint8(e+3)}:"int8"==n&&1==i?t.getUint8(e):void cc.warn("dont know how to get value from buffer, type/size -> "+n+"/"+i+".")},e._getFieldValue=function(t,e,i){var n=e[i];return this._getBufferValue(t,n.offset,n.size,n.type)},e._getLayoutValue=function(t){return this._getFieldValue(this._layoutInfo,this._layoutFields,t)},e._setLayoutValue=function(t,e){return this._setFieldValue(this._layoutInfo,this._layoutFields,t,e)},e._updateCfgFlag_Content=function(){this._updateCfgFlag(1)},e._updateCfgFlag_Font=function(){this._updateCfgFlag(2)},e._colorEqual=function(t,e){return t.r==e.r&&t.g==e.g&&t.b==e.b&&t.a==e.a},e._colorToObj=function(t,e,i,n){return{r:t,g:e,b:i,a:n}},e.setString=function(t){t!=this._layout.string&&(this._layout.string=t,this._updateCfgFlag_Content())},e.setFontPath=function(t){t!=this._layout.fontPath&&(this._layout.fontPath=t,this._updateCfgFlag_Font())},e.setFontSize=function(t,e){this._getFieldValue(this._cfg,this._cfgFields,"fontSize")!=t&&(this._setFieldValue(this._cfg,this._cfgFields,"fontSize",t),this._setFieldValue(this._cfg,this._cfgFields,"fontSizeRetina",e),this._updateCfgFlag_Font())},e.setOutline=function(t){var e=this._getLayoutValue("outlineSize");e>0!=t>0&&this._updateCfgFlag_Font(),e!=t&&(this._updateCfgFlag_Content(),this._setLayoutValue("outlineSize",t))},e.setOutlineColor=function(t){var e=this._getLayoutValue("outlineColor");this._colorEqual(e,t)||(this._setLayoutValue("outlineColor",t),this._updateCfgFlag_Content())},e.setLineHeight=function(t){this._getLayoutValue("lineHeight")!=t&&(this._setLayoutValue("lineHeight",t),this._updateCfgFlag_Content())},e.setOverFlow=function(t){this._getLayoutValue("overflow")!=t&&(this._setLayoutValue("overflow",t),this._updateCfgFlag_Content())},e.setEnableWrap=function(t){this._getLayoutValue("wrap")!=t&&(this._setLayoutValue("wrap",t),this._updateCfgFlag_Content())},e.setVerticalAlign=function(t){this._getLayoutValue("valign")!=t&&(this._setLayoutValue("valign",t),this._updateCfgFlag_Content())},e.setHorizontalAlign=function(t){this._getLayoutValue("halign")!=t&&(this._setLayoutValue("halign",t),this._updateCfgFlag_Content())},e.setContentSize=function(t,e){var i=this._getLayoutValue("width"),n=this._getLayoutValue("height");i==t&&n==e||(this._setLayoutValue("height",e),this._setLayoutValue("width",t),this._updateCfgFlag_Content())},e.setAnchorPoint=function(t,e){var i=this._getLayoutValue("anchorX"),n=this._getLayoutValue("anchorY");i==t&&n==e||(this._setLayoutValue("anchorX",t),this._setLayoutValue("anchorY",e),this._updateCfgFlag_Content())},e.setColor=function(t){var e=this._getLayoutValue("color");this._colorEqual(e,t)||(this._setLayoutValue("color",t),this._updateCfgFlag_Content())},e.setShadow=function(t,e,i){var n=this._getLayoutValue("shadowBlur"),r=this._getLayoutValue("shadowX"),s=this._getLayoutValue("shadowY");n>0!=i>0&&this._updateCfgFlag_Font();var a=!1;n!=i&&(this._setLayoutValue("shadowBlur",i),a=!0),r!=t&&(this._setLayoutValue("shadowX",t),a=!0),s!=e&&(this._setLayoutValue("shadowY",e),a=!0),a&&this._updateCfgFlag_Content()},e.setShadowColor=function(t){var e=this._getLayoutValue("shadowColor");this._colorEqual(e,t)||(this._setLayoutValue("shadowColor",t),this._updateCfgFlag_Content())},e.setItalic=function(t){this._getLayoutValue("italic")!=t&&(this._setLayoutValue("italic",t),this._updateCfgFlag_Content())},e.setBold=function(t){this._getLayoutValue("bold")!=t&&(this._setLayoutValue("bold",t),this._updateCfgFlag_Content(),this._updateCfgFlag_Font())},e.setUnderline=function(t){this._getLayoutValue("underline")!=t&&(this._setLayoutValue("underline",t),this._updateCfgFlag_Content())},e.setSpacingX=function(t){this._getLayoutValue("spaceX")==t||"number"!=typeof t||isNaN(t)||(this._setLayoutValue("spaceX",t),this._updateCfgFlag_Content())},e.updateRenderData=function(t){if(t._vertsDirty){t.font&&t.font.nativeUrl&&this.setFontPath(cc.assetManager.cacheManager.getCache(t.font.nativeUrl)||t.font.nativeUrl);var e=this._layout,i=t.node.color,n=t.node,r=t.fontSize;this.setString(t.string),this.setFontSize(t.fontSize,r/72*t.fontSize),this.setLineHeight(t.lineHeight),this.setEnableWrap(t.enableWrapText),this.setItalic(t.enableItalic),this.setUnderline(t.enableUnderline),this.setBold(t.enableBold),this.setOverFlow(t.overflow),this.setVerticalAlign(t.verticalAlign),this.setHorizontalAlign(t.horizontalAlign),this.setSpacingX(t.spacingX),this.setContentSize(n.getContentSize().width,n.getContentSize().height),this.setAnchorPoint(n.anchorX,n.anchorY),this.setColor(this._colorToObj(i.getR(),i.getG(),i.getB(),Math.ceil(i.getA()*n.opacity/255)));var s=n.getComponent(cc.LabelShadow);if(s&&s.enabled){var a=s.color;this.setShadow(s.offset.x,s.offset.y,s.blur),this.setShadowColor(this._colorToObj(a.getR(),a.getG(),a.getB(),Math.ceil(a.getA()*n.opacity/255)))}else this.setShadow(0,0,-1);this._updateTTFMaterial(t),e.render()}},e._bindMaterial=function(t){var e=this.labelMaterial;return e||(e=r.default.createWithBuiltin("2d-label",t),this.labelMaterial=e),e},e._updateTTFMaterial=function(t){var e=this._bindMaterial(t),i=this._label.node,n=this._layout,r=i.getComponent(cc.LabelOutline),s=0;if(r&&r.enabled&&r.width>0){s=Math.max(Math.min(r.width/10,.4),.1);var a=r.color;this.setOutlineColor(this._colorToObj(a.getR(),a.getG(),a.getB(),Math.ceil(a.getA()*i.opacity/255)))}this.setOutline(s),e.define("CC_USE_MODEL",!0),e.define("USE_TEXTURE_ALPHAONLY",!0),e.define("USE_SDF",s>0||t.enableBold),e.define("USE_SDF_EXTEND",t.enableBold?1:0),void 0!==e.getDefine("CC_SUPPORT_standard_derivatives")&&cc.sys.glExtension("OES_standard_derivatives")&&e.define("CC_SUPPORT_standard_derivatives",!0),n.setEffect(e.effect._nativeObj)},e.fillBuffers=function(){this._layout.render()},e.getVfmt=function(){},t})();i.default=s,e.exports=i.default}),{"../../../../../assets/material/CCMaterial":124,"../../../../../assets/material/material-variant":131,"../../../../../components/CCLabel":151,"../../../../../components/CCLabelOutline":152,"../../../../../components/CCLabelShadow":153}],287:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../../../../utils/label/ttf"))&&n.__esModule?n:{default:n};function s(t,e){return(s=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var a=t("../../../../../components/CCLabelShadow"),o=cc.color(255,255,255,255),l=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,s(e,i);var r=n.prototype;return r.updateUVs=function(t){for(var e=this._renderData.vDatas[0],i=t._frame.uv,n=this.uvOffset,r=this.floatsPerVert,s=0;s<4;s++){var a=2*s,o=r*s+n;e[o]=i[a],e[o+1]=i[a+1]}},r.updateColor=function(e){o._fastSetA(e.node._color.a);var i=o._val;t.prototype.updateColor.call(this,e,i)},r.updateVerts=function(t){var e=t.node,i=t._ttfTexture.width,n=t._ttfTexture.height,r=e.anchorX*e.width,s=e.anchorY*e.height,o=a&&t.getComponent(a);if(o&&o._enabled){var l=(i-e.width)/2,c=(n-e.height)/2,h=o.offset;-h.x>l?r+=i-e.width:l>h.x&&(r+=l-h.x),-h.y>c?s+=n-e.height:c>h.y&&(s+=c-h.y)}var u=this._local;u[0]=-r,u[1]=-s,u[2]=i-r,u[3]=n-s,this.updateUVs(t),this.updateWorldVerts(t)},n})(r.default);i.default=l,e.exports=i.default}),{"../../../../../components/CCLabelShadow":153,"../../../../utils/label/ttf":278}],288:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../../../../../value-types/vec3"))&&n.__esModule?n:{default:n};function s(t,e){return(s=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var a=t("../../../../assembler-3d"),o=t("../2d/bmfont"),l=new r.default,c=new r.default,h=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}return i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,s(e,i),n})(o);i.default=h,cc.js.mixin(h.prototype,a,{updateWorldVerts:function(t){for(var e=t.node._worldMatrix,i=this._local,n=this._renderData.vDatas[0],s=this.floatsPerVert,a=0;a=32||this.pool.push(t)}},e.default.register(cc.Label,{getConstructor:function(t){var e=t.node.is3DNode,c=e?a.default:n.default;return t.font instanceof cc.BitmapFont?c=e?o.default:r.default:t.cacheMode===i.default.CacheMode.CHAR&&(cc.sys.platform===cc.sys.WECHAT_GAME_SUB?cc.warn("sorry, subdomain does not support CHAR mode currently!"):c=e?l.default:s.default),c},TTF:n.default,Bmfont:r.default,Letter:s.default,TTF3D:a.default,Bmfont3D:o.default,Letter3D:l.default,NativeTTF:void 0})}),{"../../../../components/CCLabel":151,"../../../assembler":268,"./2d/bmfont":284,"./2d/letter":285,"./2d/nativeTTF":286,"./2d/ttf":287,"./3d/bmfont":288,"./3d/letter":289,"./3d/ttf":290}],292:[(function(t,e,i){"use strict";i.__esModule=!0,i.MaskAssembler=void 0;var n,r=(n=t("../../assembler"))&&n.__esModule?n:{default:n};function s(t,e){return(s=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var a=t("../../../components/CCMask"),o=t("../../render-flow"),l=t("./sprite/2d/simple"),c=t("./graphics"),h=t("../../../../renderer/gfx"),u=t("../vertex-format").vfmtPos,_=8,f=[];function d(){return 1<_&&cc.errorID(9e3,_),f.push(t)}function v(t,e){0===f.length&&cc.errorID(9001),f.pop(),0===f.length?e._flushMaterial(t._exitMaterial):A(e)}function g(t,e){var i=h.DS_FUNC_NEVER,n=d(),r=n,s=n,a=t.inverted?h.STENCIL_OP_REPLACE:h.STENCIL_OP_ZERO;m(t._clearMaterial,i,a,n,r,s);var o=e.getBuffer("mesh",u),l=o.request(4,6),c=l.indiceOffset,_=l.byteOffset>>2,f=l.vertexOffset,p=o._vData,y=o._iData;p[_++]=-1,p[_++]=-1,p[_++]=-1,p[_++]=1,p[_++]=1,p[_++]=1,p[_++]=1,p[_++]=-1,y[c++]=f,y[c++]=f+3,y[c++]=f+1,y[c++]=f+1,y[c++]=f+3,y[c++]=f+2,e.node=e._dummyNode,e.material=t._clearMaterial,e._flush()}function b(t,e){var i=h.DS_FUNC_NEVER,n=d(),r=n,s=n,o=t.inverted?h.STENCIL_OP_ZERO:h.STENCIL_OP_REPLACE;m(t._materials[0],i,o,n,r,s),e.material=t._materials[0],t._type===a.Type.IMAGE_STENCIL?(e.node=e._dummyNode,l.prototype.fillBuffers.call(t._assembler,t,e),e._flush()):(e.node=t.node,c.prototype.fillBuffers.call(t._graphics._assembler,t._graphics,e))}function A(t){var e=h.DS_FUNC_EQUAL,i=h.STENCIL_OP_KEEP,n=p(),r=n,s=d(),a=f[f.length-1];m(a._enableMaterial,e,i,n,r,s),t._flushMaterial(a._enableMaterial)}var x=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,s(e,i);var r=n.prototype;return r.updateRenderData=function(t){t._type===a.Type.IMAGE_STENCIL?t.spriteFrame?l.prototype.updateRenderData.call(this,t):t.setMaterial(0,null):(t._graphics.setMaterial(0,t._materials[0]),c.prototype.updateRenderData.call(t._graphics._assembler,t._graphics,t._graphics))},r.fillBuffers=function(t,e){(t._type!==a.Type.IMAGE_STENCIL||t.spriteFrame)&&(y(t),g(t,e),b(t,e),A(e)),t.node._renderFlag|=o.FLAG_UPDATE_RENDER_DATA},r.postFillBuffers=function(t,e){(t._type!==a.Type.IMAGE_STENCIL||t.spriteFrame)&&v(t,e),t.node._renderFlag|=o.FLAG_UPDATE_RENDER_DATA},n})(l);i.MaskAssembler=x,r.default.register(a,x)}),{"../../../../renderer/gfx":372,"../../../components/CCMask":155,"../../assembler":268,"../../render-flow":272,"../vertex-format":313,"./graphics":282,"./sprite/2d/simple":297}],293:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../../assembler-2d"))&&n.__esModule?n:{default:n};function s(t,e){return(s=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var a=t("../../../components/CCMotionStreak"),o=t("../../render-flow");function l(t,e){this.point=t||cc.v2(),this.dir=e||cc.v2(),this.distance=0,this.time=0}l.prototype.setPoint=function(t,e){this.point.x=t,this.point.y=e},l.prototype.setDir=function(t,e){this.dir.x=t,this.dir.y=e},cc.v2(),cc.v2();var c=cc.v2(),h=cc.v2();function u(t,e){return t.x=-e.y,t.y=e.x,t}var _=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,s(e,i);var r=n.prototype;return r.initData=function(){this._renderData.createFlexData(0,16,42)},r.update=function(t,e){var i,n=t._stroke/2,r=t.node._worldMatrix.m,s=r[12],a=r[13],o=t._points;if(o.length>1){var _=o[0].point.x-s,f=o[0].point.y-a;_*_+f*f=0;E--){var M=o[E],D=M.point,B=M.dir;if(M.time-=e,M.time<0)o.splice(E,1);else{var P=M.time/S,I=o[E-1];if(!w){if(!I){o.splice(E,1);continue}D.x=I.point.x-B.x*P,D.y=I.point.y-B.y*P}w=!0,u(c,B);var R=(P*b<<24>>>0)+(g<<16)+(v<<8)+y,O=5*p;C[O]=D.x+c.x*n,C[O+1]=D.y+c.y*n,C[O+2]=1,C[O+3]=P,T[O+4]=R,C[O+=5]=D.x-c.x*n,C[O+1]=D.y-c.y*n,C[O+2]=0,C[O+3]=P,T[O+4]=R,p+=2}}d=p<=2?0:3*(p-2),x.used(p,d)}},r.fillBuffers=function(t,e){var i=this._renderData._flexBuffer,n=i.vData,r=i.usedVertices,s=i.usedIndices,a=i.usedVerticesFloats,l=e._meshBuffer,c=l.request(r,s),h=c.byteOffset>>2,u=l._vData;n.length+h>u.length?u.set(n.subarray(0,a),h):u.set(n,h);for(var _=l._iData,f=c.indiceOffset,d=c.vertexOffset,p=0,m=r;p1?1:n)<0?0:n;var r=(i=(i=i>1?1:i)<0?0:i)+(n=(n-=i)<0?0:n);r=r>1?1:r,this.updateUVs(t,i,r),this.updateVerts(t,i,r),t._vertsDirty=!1}},r.updateUVs=function(t,e,i){var n,r,s,o,l,c,h,u,_,f,d=t._spriteFrame,p=d._texture.width,m=d._texture.height,y=d._rect;d._rotated?(n=y.x/p,r=(y.y+y.width)/m,s=l=n,h=_=(y.x+y.height)/p,c=f=r,o=u=y.y/m):(n=y.x/p,r=(y.y+y.height)/m,s=h=n,l=_=(y.x+y.width)/p,o=c=r,u=f=y.y/m);var v=this._renderData.vDatas[0],g=this.uvOffset,b=this.floatsPerVert;switch(t._fillType){case a.HORIZONTAL:v[g]=s+(l-s)*e,v[g+1]=o+(c-o)*e,v[g+b]=s+(l-s)*i,v[g+b+1]=o+(c-o)*i,v[g+2*b]=h+(_-h)*e,v[g+2*b+1]=u+(f-u)*e,v[g+3*b]=h+(_-h)*i,v[g+3*b+1]=u+(f-u)*i;break;case a.VERTICAL:v[g]=s+(h-s)*e,v[g+1]=o+(u-o)*e,v[g+b]=l+(_-l)*e,v[g+b+1]=c+(f-c)*e,v[g+2*b]=s+(h-s)*i,v[g+2*b+1]=o+(u-o)*i,v[g+3*b]=l+(_-l)*i,v[g+3*b+1]=c+(f-c)*i;break;default:cc.errorID(2626)}},r.updateVerts=function(t,e,i){var n,r=t.node,s=r.width,o=r.height,l=r.anchorX*s,c=r.anchorY*o,h=-l,u=-c,_=s-l,f=o-c;switch(t._fillType){case a.HORIZONTAL:n=h+(_-h)*i,h+=(_-h)*e,_=n;break;case a.VERTICAL:n=u+(f-u)*i,u+=(f-u)*e,f=n;break;default:cc.errorID(2626)}var d=this._local;d[0]=h,d[1]=u,d[2]=_,d[3]=f,this.updateWorldVerts(t)},n})(r.default);i.default=o,e.exports=i.default}),{"../../../../../components/CCSprite":166,"../../../../assembler-2d":265}],295:[(function(t,e,i){"use strict";var n;function r(t,e){return(r=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}i.__esModule=!0,i.default=void 0;var s=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,r(e,i);var s=n.prototype;return s.initData=function(){this._renderData.createFlexData(0,4,6,this.getVfmt())},s.updateRenderData=function(t){this.packToDynamicAtlas(t,t._spriteFrame);var e=t.spriteFrame;if(e){var i=e.vertices;if(i){this.verticesCount=i.x.length,this.indicesCount=i.triangles.length;var n=this._renderData._flexBuffer;n.reserve(this.verticesCount,this.indicesCount)&&(this.updateColor(t),t._vertsDirty=!0),n.used(this.verticesCount,this.indicesCount),this.updateIndices(i.triangles),t._vertsDirty&&(this.updateUVs(t),this.updateVerts(t),this.updateWorldVerts(t),t._vertsDirty=!1)}}},s.updateIndices=function(t){this._renderData.iDatas[0].set(t)},s.updateUVs=function(t){for(var e=t.spriteFrame.vertices,i=e.nu,n=e.nv,r=this.uvOffset,s=this.floatsPerVert,a=this._renderData.vDatas[0],o=0;o0){var u=r.y+o*(t-r.x);a[0].x=t,a[0].y=u}if((e-r.x)*h>0){var _=r.y+o*(e-r.x);a[2].x=e,a[2].y=_}}if(0!==Math.sin(s)){if(l=h/c,(n-r.y)*c>0){var f=r.x+l*(n-r.y);a[3].x=f,a[3].y=n}if((i-r.y)*c>0){var d=r.x+l*(i-r.y);a[1].x=d,a[1].y=i}}}function p(t){var e=t.node,i=e.width,n=e.height,r=e.anchorX*i,s=e.anchorY*n,a=-r,c=-s,h=i-r,u=n-s,d=l;d[0]=a,d[1]=c,d[2]=h,d[3]=u;var p=t._fillCenter,m=_.x=Math.min(Math.max(0,p.x),1)*(h-a)+a,y=_.y=Math.min(Math.max(0,p.y),1)*(u-c)+c;o[0].x=o[3].x=a,o[1].x=o[2].x=h,o[0].y=o[1].y=c,o[2].y=o[3].y=u,f.length=0,m!==d[0]&&(f[0]=[3,0]),m!==d[2]&&(f[2]=[1,2]),y!==d[1]&&(f[1]=[0,1]),y!==d[3]&&(f[3]=[2,3])}function m(t,e){var i,n;if(i=e.x-t.x,n=e.y-t.y,0!==i||0!==n){if(0===i)return n>0?.5*Math.PI:1.5*Math.PI;var r=Math.atan(n/i);return i<0&&(r+=Math.PI),r}}var y=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,s(e,i);var r=n.prototype;return r.initData=function(){this._renderData.createFlexData(0,4,6,this.getVfmt()),this.updateIndices()},r.updateRenderData=function(e){t.prototype.updateRenderData.call(this,e);var i,n,r,s,o,f,m,y,v,g=e.spriteFrame;if(this.packToDynamicAtlas(e,g),e._vertsDirty){var b=e._fillStart,A=e._fillRange;for(A<0&&(b+=A,A=-A);b>=1;)b-=1;for(;b<0;)b+=1;b*=a,A*=a,p(e),f=(i=g)._texture.width,m=i._texture.height,y=i._rect,v=c,i._rotated?(n=y.x/f,r=(y.x+y.height)/f,s=y.y/m,o=(y.y+y.width)/m,v[0]=v[2]=n,v[4]=v[6]=r,v[3]=v[7]=o,v[1]=v[5]=s):(n=y.x/f,r=(y.x+y.width)/f,s=y.y/m,o=(y.y+y.height)/m,v[0]=v[4]=n,v[2]=v[6]=r,v[1]=v[3]=o,v[5]=v[7]=s),d(l[0],l[2],l[1],l[3],_,b,h),d(l[0],l[2],l[1],l[3],_,b+A,u),this.updateVerts(e,b,A),e._vertsDirty=!1}},r.updateVerts=function(t,e,i){var n=e+i,r=this._local;r.length=0;for(var s=0,l=3*this.floatsPerVert,c=0;c<4;++c){var d=f[c];if(d)if(i>=a)r.length=s+l,this._generateTriangle(r,s,_,o[d[0]],o[d[1]]),s+=l;else{var p=m(_,o[d[0]]),y=m(_,o[d[1]]);y=n||(p>=e?(r.length=s+l,y>=n?this._generateTriangle(r,s,_,o[d[0]],u[c]):this._generateTriangle(r,s,_,o[d[0]],o[d[1]]),s+=l):y<=e||(y<=n?(r.length=s+l,this._generateTriangle(r,s,_,h[c],o[d[1]]),s+=l):(r.length=s+l,this._generateTriangle(r,s,_,h[c],u[c]),s+=l))),p+=a,y+=a}}this.allocWorldVerts(t),this.updateWorldVerts(t)},r.allocWorldVerts=function(t){var e=t.node._color._val,i=this._renderData,n=this.floatsPerVert,r=this._local,s=r.length/n;this.verticesCount=this.indicesCount=s;var a=i._flexBuffer;a.reserve(s,s)&&this.updateIndices(),a.used(this.verticesCount,this.indicesCount);for(var o=i.vDatas[0],l=i.uintVDatas[0],c=this.uvOffset,h=0;h0)){this._renderData.createData(0,this.verticesFloats,this.indicesCount);for(var t=this._renderData.iDatas[0],e=0,i=0;i<3;++i)for(var n=0;n<3;++n){var r=4*i+n;t[e++]=r,t[e++]=r+1,t[e++]=r+4,t[e++]=r+1,t[e++]=r+5,t[e++]=r+4}}},s.initLocal=function(){this._local=[],this._local.length=8},s.updateRenderData=function(t){var e=t._spriteFrame;this.packToDynamicAtlas(t,e),t._vertsDirty&&(this.updateUVs(t),this.updateVerts(t),t._vertsDirty=!1)},s.updateVerts=function(t){var e=t.node,i=e.width,n=e.height,r=e.anchorX*i,s=e.anchorY*n,a=t.spriteFrame,o=a.insetLeft,l=a.insetRight,c=a.insetTop,h=a.insetBottom,u=i-o-l,_=n-c-h,f=i/(o+l),d=n/(c+h);f=isNaN(f)||f>1?1:f,d=isNaN(d)||d>1?1:d,u=u<0?0:u,_=_<0?0:_;var p=this._local;p[0]=-r,p[1]=-s,p[2]=o*f-r,p[3]=h*d-s,p[4]=p[2]+u,p[5]=p[3]+_,p[6]=i-r,p[7]=n-s,this.updateWorldVerts(t)},s.updateUVs=function(t){for(var e=this._renderData.vDatas[0],i=t.spriteFrame.uvSliced,n=this.uvOffset,r=this.floatsPerVert,s=0;s<4;++s)for(var a=0;a<4;++a){var o=4*s+a,l=i[o],c=o*r;e[c+n]=l.u,e[c+n+1]=l.v}},s.updateWorldVerts=function(t){for(var e=t.node._worldMatrix.m,i=e[0],n=e[1],r=e[4],s=e[5],a=e[12],o=e[13],l=this._local,c=this._renderData.vDatas[0],h=this.floatsPerVert,u=0;u<4;++u)for(var _=l[2*u+1],f=0;f<4;++f){var d=l[2*f],p=(4*u+f)*h;c[p]=d*i+_*r+a,c[p+1]=d*n+_*s+o}},n})(((n=t("../../../../assembler-2d"))&&n.__esModule?n:{default:n}).default);i.default=s,Object.assign(s.prototype,{verticesCount:16,indicesCount:54}),e.exports=i.default}),{"../../../../assembler-2d":265}],299:[(function(t,e,i){"use strict";var n;function r(t,e){return(r=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}i.__esModule=!0,i.default=void 0;var s=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,r(e,i);var s=n.prototype;return s.initData=function(){this.verticesCount=0,this.contentWidth=0,this.contentHeight=0,this.rectWidth=0,this.rectHeight=0,this.hRepeat=0,this.vRepeat=0,this.row=0,this.col=0,this._renderData.createFlexData(0,4,6,this.getVfmt()),this._updateIndices()},s.initLocal=function(){this._local={x:[],y:[]}},s._updateIndices=function(){for(var t=this._renderData.iDatas[0],e=0,i=0,n=t.length;e0?this.sizableWidth:0,this.sizableHeight=this.sizableHeight>0?this.sizableHeight:0;var _=this.hRepeat=0===l?this.sizableWidth:this.sizableWidth/l,f=this.vRepeat=0===u?this.sizableHeight:this.sizableHeight/u,d=(this.row=Math.ceil(f+2))*(this.col=Math.ceil(_+2));this.verticesCount=4*d,this.indicesCount=6*d;var p=this._renderData._flexBuffer;p.reserve(this.verticesCount,this.indicesCount)&&(this._updateIndices(),this.updateColor(t)),p.used(this.verticesCount,this.indicesCount),t._vertsDirty&&(this.updateUVs(t),this.updateVerts(t),t._vertsDirty=!1)},s.updateVerts=function(t){var e=t._spriteFrame,i=e._rect,n=t.node,r=n.anchorX*n.width,s=n.anchorY*n.height,a=this.row,o=this.col,l=this.contentWidth,c=this.contentHeight,h=this._local,u=h.x,_=h.y;u.length=_.length=0;var f,d,p=e.insetLeft,m=e.insetRight,y=i.width-p-m,v=e.insetTop,g=e.insetBottom,b=i.height-v-g,A=n.width/(p+m)>1?1:n.width/(p+m),x=n.height/(v+g)>1?1:n.height/(v+g);f=y>0?Math.floor(1e3*this.sizableWidth)/1e3%y==0?y:this.sizableWidth%y:this.sizableWidth,d=b>0?Math.floor(1e3*this.sizableHeight)/1e3%b==0?b:this.sizableHeight%b:this.sizableHeight;for(var C=0;C<=o;C++)0===C?u[C]=-r:C>0&&C0?C===o-1?p+f+y*(C-2)-r:p+Math.min(y,this.sizableWidth)+y*(C-2)-r:p+this.sizableWidth-r:C===o&&(u[C]=Math.min(p+this.sizableWidth+m,l)-r);for(var T=0;T<=a;T++)0===T?_[T]=-s:T>0&&T0?T===a-1?g+d+(T-2)*b-s:g+Math.min(b,this.sizableHeight)+(T-2)*b-s:g+this.sizableHeight-s:T===a&&(_[T]=Math.min(g+this.sizableHeight+v,c)-s);this.updateWorldVerts(t)},s.updateWorldVerts=function(t){for(var e,i,n,r,s=this._renderData,a=this._local,o=a.x,l=a.y,c=s.vDatas[0],h=this.row,u=this.col,_=t.node._worldMatrix.m,f=_[0],d=_[1],p=_[4],m=_[5],y=_[12],v=_[13],g=this.floatsPerVert,b=0,A=0,x=h;Ac?this.sizableHeight>=C*c?1:f%1:f;for(var S=0,w=u;Sa?this.sizableWidth>=S*a?1:_%1:_,v?(0===C?(A[0]=y[0].u,A[1]=y[0].u,A[2]=y[4].u+(y[8].u-y[4].u)*p):C>2,n=this.vData.length,r=!1;if(i>n){for(;ns){for(;s>2,this._handler.updateMeshRange(t,e)},e.reset=function(){var t=this._initVerticesCount*this._verticesBytes>>2;this._reallocVData(t),this._reallocIData(this._initIndicesCount),this.usedVertices=0,this.usedVerticesFloats=0,this.usedIndices=0},t})();i.default=n,cc.FlexBuffer=n,e.exports=i.default}),{}],308:[(function(t,e){"use strict";var i,n=(i=t("../../../renderer/gfx"))&&i.__esModule?i:{default:i},r=(cc.sys.os===cc.sys.OS_IOS||cc.sys.os===cc.sys.OS_OSX)&&cc.sys.isBrowser&&/(OS 1[4-9])|(Version\/1[4-9])/.test(window.navigator.userAgent),s=cc.Class({name:"cc.MeshBuffer",ctor:function(t,e){this.init(t,e)},init:function(t,e){this.byteOffset=0,this.indiceOffset=0,this.vertexOffset=0,this.indiceStart=0,this._dirty=!1,this._vertexFormat=e,this._vertexBytes=this._vertexFormat._bytes,this._arrOffset=0,this._vbArr=[],this._vb=new n.default.VertexBuffer(t._device,e,n.default.USAGE_DYNAMIC,new ArrayBuffer,0),this._vbArr[0]=this._vb,this._ibArr=[],this._ib=new n.default.IndexBuffer(t._device,n.default.INDEX_FMT_UINT16,n.default.USAGE_STATIC,new ArrayBuffer,0),this._ibArr[0]=this._ib,this._vData=null,this._uintVData=null,this._iData=null,this._batcher=t,this._initVDataCount=256*e._bytes,this._initIDataCount=1536,this._offsetInfo={byteOffset:0,vertexOffset:0,indiceOffset:0},this._reallocBuffer()},uploadData:function(){if(0!==this.byteOffset&&this._dirty){var t=new Float32Array(this._vData.buffer,0,this.byteOffset>>2),e=new Uint16Array(this._iData.buffer,0,this.indiceOffset);this._vb.update(0,t),this._ib.update(0,e),this._dirty=!1}},switchBuffer:function(){var t=++this._arrOffset;this.byteOffset=0,this.vertexOffset=0,this.indiceOffset=0,this.indiceStart=0,t65535&&(this.uploadData(),this._batcher._flush(),this.switchBuffer())},requestStatic:function(t,e){this.checkAndSwitchBuffer(t);var i=this.byteOffset+t*this._vertexBytes,n=this.indiceOffset+e,r=this._vData.byteLength,s=this._iData.length;if(i>r||n>s){for(;r65535&&(this.uploadData(),this._batcher._flush())},s.prototype.forwardIndiceStartToOffset=function(){this.uploadData(),this.switchBuffer()}),cc.MeshBuffer=e.exports=s}),{"../../../renderer/gfx":372}],309:[(function(t,e){"use strict";var i=s(t("../../../renderer/core/input-assembler")),n=s(t("../../../renderer/memop/recycle-pool")),r=s(t("../../../renderer/scene/model"));function s(t){return t&&t.__esModule?t:{default:t}}var a=t("./vertex-format"),o=a.vfmtPosUvColor,l=a.vfmt3D,c=t("./quad-buffer"),h=t("./mesh-buffer"),u=t("./spine-buffer"),_=t("../../assets/material/CCMaterial"),f=(new(t("../../platform/id-generater"))("VertextFormat"),{}),d=new _,p=new i.default;p._count=0;var m=function(t,e){this._renderScene=e,this._device=t,this.walking=!1,this.material=d,this.cullingMask=1,this._iaPool=new n.default(function(){return new i.default},16),this._modelPool=new n.default(function(){return new r.default},16),this._quadBuffer=this.getBuffer("quad",o),this._meshBuffer=this.getBuffer("mesh",o),this._quadBuffer3D=this.getBuffer("quad",l),this._meshBuffer3D=this.getBuffer("mesh",l),this._buffer=this._meshBuffer,this._batchedModels=[],this._dummyNode=new cc.Node,this._sortKey=0,this.node=this._dummyNode,this.parentOpacity=1,this.parentOpacityDirty=0,this.worldMatDirty=0};m.prototype={constructor:m,reset:function(){this._iaPool.reset();for(var t=this._renderScene,e=this._batchedModels,i=0;i>2);this._vb.update(0,t),this._dirty=!1}},switchBuffer:function(){this._super();var t=new Uint16Array(this._iData.buffer,0,this._initIDataCount);this._ib.update(0,t)},_reallocBuffer:function(){this._reallocVData(!0),this._reallocIData(),this._fillQuadBuffer()}});cc.QuadBuffer=e.exports=n}),{"./mesh-buffer":308}],311:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=a;var n,r=(n=t("./flex-buffer"))&&n.__esModule?n:{default:n},s=t("./vertex-format");function a(){this.vDatas=[],this.uintVDatas=[],this.iDatas=[],this.meshCount=0,this._infos=null,this._flexBuffer=null}cc.js.mixin(a.prototype,{init:function(){},clear:function(){this.vDatas.length=0,this.iDatas.length=0,this.uintVDatas.length=0,this.meshCount=0,this._infos=null,this._flexBuffer&&this._flexBuffer.reset()},updateMesh:function(t,e,i){this.vDatas[t]=e,this.uintVDatas[t]=new Uint32Array(e.buffer,0,e.length),this.iDatas[t]=i,this.meshCount=this.vDatas.length},updateMeshRange:function(){},createData:function(t,e,i){var n=new Float32Array(e),r=new Uint16Array(i);this.updateMesh(t,n,r)},createQuadData:function(t,e,i){this.createData(t,e,i),this.initQuadIndices(this.iDatas[t])},createFlexData:function(t,e,i,n){n=n||s.vfmtPosUvColor,this._flexBuffer=new r.default(this,t,e,i,n)},initQuadIndices:function(t){for(var e=t.length/6,i=0,n=0;ir||n>s){for(;r0&&(t=t.substring(0,i));var n=/(\/|\\)([^\/\\]+)$/g.exec(t.replace(/(\/|\\)$/,""));if(!n)return t;var r=n[2];return e&&t.substring(t.length-e.length).toLowerCase()===e.toLowerCase()?r.substring(0,r.length-e.length):r},dirname:function(t){var e=n.exec(t);return e?e[2]:""},changeExtname:function(t,e){e=e||"";var i=t.indexOf("?"),n="";return i>0&&(n=t.substring(i),t=t.substring(0,i)),(i=t.lastIndexOf("."))<0?t+e+n:t.substring(0,i)+e+n},changeBasename:function(t,e,i){if(0===e.indexOf("."))return this.changeExtname(t,e);var n=t.indexOf("?"),r="",s=i?this.extname(t):"";return n>0&&(r=t.substring(n),t=t.substring(0,n)),n=(n=t.lastIndexOf("/"))<=0?0:n+1,t.substring(0,n)+e+s+r},_normalize:function(t){var e=t=String(t);do{e=t,t=t.replace(r,"")}while(e.length!==t.length);return t},sep:cc.sys.os===cc.sys.OS_WINDOWS?"\\":"/",stripSep:function(t){return t.replace(/[\/\\]$/,"")}},e.exports=cc.path}),{"../platform/CCSys":248}],315:[(function(t,e){"use strict";var i=function(t,e,i,n,r,s){this.a=t,this.b=e,this.c=i,this.d=n,this.tx=r,this.ty=s};i.create=function(t,e,i,n,r,s){return{a:t,b:e,c:i,d:n,tx:r,ty:s}},i.identity=function(){return{a:1,b:0,c:0,d:1,tx:0,ty:0}},i.clone=function(t){return{a:t.a,b:t.b,c:t.c,d:t.d,tx:t.tx,ty:t.ty}},i.concat=function(t,e,i){var n=e.a,r=e.b,s=e.c,a=e.d,o=e.tx,l=e.ty;return t.a=n*i.a+r*i.c,t.b=n*i.b+r*i.d,t.c=s*i.a+a*i.c,t.d=s*i.b+a*i.d,t.tx=o*i.a+l*i.c+i.tx,t.ty=o*i.b+l*i.d+i.ty,t},i.invert=function(t,e){var i=e.a,n=e.b,r=e.c,s=e.d,a=1/(i*s-n*r),o=e.tx,l=e.ty;return t.a=a*s,t.b=-a*n,t.c=-a*r,t.d=a*i,t.tx=a*(r*l-s*o),t.ty=a*(n*o-i*l),t},i.fromMat4=function(t,e){var i=e.m;return t.a=i[0],t.b=i[1],t.c=i[4],t.d=i[5],t.tx=i[12],t.ty=i[13],t},i.transformVec2=function(t,e,i,n){var r,s;return void 0===n?(n=i,r=e.x,s=e.y):(r=e,s=i),t.x=n.a*r+n.c*s+n.tx,t.y=n.b*r+n.d*s+n.ty,t},i.transformSize=function(t,e,i){return t.width=i.a*e.width+i.c*e.height,t.height=i.b*e.width+i.d*e.height,t},i.transformRect=function(t,e,i){var n=e.x,r=e.y,s=n+e.width,a=r+e.height,o=i.a*n+i.c*r+i.tx,l=i.b*n+i.d*r+i.ty,c=i.a*s+i.c*r+i.tx,h=i.b*s+i.d*r+i.ty,u=i.a*n+i.c*a+i.tx,_=i.b*n+i.d*a+i.ty,f=i.a*s+i.c*a+i.tx,d=i.b*s+i.d*a+i.ty,p=Math.min(o,c,u,f),m=Math.max(o,c,u,f),y=Math.min(l,h,_,d),v=Math.max(l,h,_,d);return t.x=p,t.y=y,t.width=m-p,t.height=v-y,t},i.transformObb=function(t,e,i,n,r,s){var a=r.x,o=r.y,l=r.width,c=r.height,h=s.a*a+s.c*o+s.tx,u=s.b*a+s.d*o+s.ty,_=s.a*l,f=s.b*l,d=s.c*c,p=s.d*c;e.x=h,e.y=u,i.x=_+h,i.y=f+u,t.x=d+h,t.y=p+u,n.x=_+d+h,n.y=f+p+u},cc.AffineTransform=e.exports=i}),{}],316:[(function(t,e){"use strict";var i=t("../platform/CCObject").Flags,n=t("./misc"),r=t("../platform/js"),s=t("../platform/id-generater"),a=t("../event-manager"),o=t("../renderer/render-flow"),l=i.Destroying,c=i.DontDestroy,h=i.Deactivating,u=new s("Node");function _(t){return t?"string"==typeof t?r.getClassByName(t):t:(cc.errorID(3804),null)}function f(t,e){if(e._sealed)for(var i=0;i0&&(r=p(n._children,e)))return r}return null}function m(t,e,i){for(var n=0;n0&&m(r._children,e,i)}}var y=cc.Class({name:"cc._BaseNode",extends:cc.Object,properties:{_parent:null,_children:[],_active:!0,_components:[],_prefab:null,_persistNode:{get:function(){return(this._objFlags&c)>0},set:function(t){t?this._objFlags|=c:this._objFlags&=~c}},name:{get:function(){return this._name},set:function(t){this._name=t}},uuid:{get:function(){return this._id}},children:{get:function(){return this._children}},childrenCount:{get:function(){return this._children.length}},active:{get:function(){return this._active},set:function(t){if(t=!!t,this._active!==t){this._active=t;var e=this._parent;e&&e._activeInHierarchy&&cc.director._nodeActivator.activateNode(this,t)}}},activeInHierarchy:{get:function(){return this._activeInHierarchy}}},ctor:function(t){this._name=void 0!==t?t:"New Node",this._activeInHierarchy=!1,this._id=u.getNewId(),cc.director._scheduler&&cc.director._scheduler.enableForTarget(this),this.__eventTargets=[]},getParent:function(){return this._parent},setParent:function(t){if(this._parent!==t){var e=this._parent;if(this._parent=t||null,this._onSetParent(t),t&&(a._setDirtyForNode(this),t._children.push(this),t.emit&&t.emit("child-added",this),t._renderFlag|=o.FLAG_CHILDREN),e){if(!(e._objFlags&l)){var i=e._children.indexOf(this);e._children.splice(i,1),e.emit&&e.emit("child-removed",this),this._onHierarchyChanged(e),0===e._children.length&&(e._renderFlag&=~o.FLAG_CHILDREN)}}else t&&this._onHierarchyChanged(null)}},attr:function(t){r.mixin(this,t)},getChildByUuid:function(t){if(!t)return cc.log("Invalid uuid"),null;for(var e=this._children,i=0,n=e.length;i0?(c=n,i=n._children,r=0,l[o]=i[r],o++):(l[o]=n,o++,s=!0);l.length=0,a._stackId--},cleanup:function(){},removeFromParent:function(t){this._parent&&(void 0===t&&(t=!0),this._parent.removeChild(this,t))},removeChild:function(t,e){this._children.indexOf(t)>-1&&((e||void 0===e)&&t.cleanup(),t.parent=null)},removeAllChildren:function(t){var e=this._children;void 0===t&&(t=!0);for(var i=e.length-1;i>=0;i--){var n=e[i];n&&(t&&n.cleanup(),n.parent=null)}this._children.length=0},isChildOf:function(t){var e=this;do{if(e===t)return!0;e=e._parent}while(e);return!1},getComponent:function(t){var e=_(t);return e?f(this,e):null},getComponents:function(t){var e=_(t),i=[];return e&&d(this,e,i),i},getComponentInChildren:function(t){var e=_(t);return e?p(this._children,e):null},getComponentsInChildren:function(t){var e=_(t),i=[];return e&&(d(this,e,i),m(this._children,e,i)),i},_checkMultipleComp:!1,addComponent:function(t){var e;if("string"==typeof t){if(!(e=r.getClassByName(t)))return cc.errorID(3807,t),cc._RFpeek()&&cc.errorID(3808,t),null}else{if(!t)return cc.errorID(3804),null;e=t}if("function"!=typeof e)return cc.errorID(3809),null;if(!r.isChildClassOf(e,cc.Component))return cc.errorID(3810),null;var i=e._requireComponent;if(i&&!this.getComponent(i)&&!this.addComponent(i))return null;var n=new e;return n.node=this,this._components.push(n),this._activeInHierarchy&&cc.director._nodeActivator.activateComp(n),n},_addComponentAt:!1,removeComponent:function(t){t?(t instanceof cc.Component||(t=this.getComponent(t)),t&&t.destroy()):cc.errorID(3813)},_getDependComponent:!1,_removeComponent:function(t){if(t){if(!(this._objFlags&l)){var e=this._components.indexOf(t);-1!==e?this._components.splice(e,1):t.node!==this&&cc.errorID(3815)}}else cc.errorID(3814)},destroy:function(){cc.Object.prototype.destroy.call(this)&&(this.active=!1)},destroyAllChildren:function(){for(var t=this._children,e=0;e>>1;i<=n;r=i+n>>>1){var s=t[r];if(s>e+1e-6)n=r-1;else{if(!(s>2],s[a[r++]]=n[(3&o)<<2|l>>4],s[a[r++]]=n[15&l]}return s.join("")}}),{"./misc":324}],320:[(function(t,e){"use strict";cc.find=e.exports=function(t,e){if(null==t)return cc.errorID(3814),null;if(e);else{var i=cc.director.getScene();if(!i)return null;e=i}for(var n=e,r="/"!==t[0]?0:1,s=t.split("/"),a=r;a"]),this._specialSymbolArray.push([/&/g,"&"]),this._specialSymbolArray.push([/"/g,'"']),this._specialSymbolArray.push([/'/g,"'"]),this._specialSymbolArray.push([/ /g," "])};r.prototype={constructor:r,parse:function(t){if(this._resultObjectArray=[],!t)return this._resultObjectArray;this._stack=[];for(var e=0,i=t.length;e",e),r=-1;if(n>=0&&(r=t.lastIndexOf("<",n))",r+1)),r<0)this._stack.pop(),this._processResult(t.substring(e)),e=i;else{var s=t.substring(e,r),a=t.substring(r+1,n);""===a&&(s=t.substring(e,n+1)),this._processResult(s),-1===n?n=r:"/"===t.charAt(r+1)?this._stack.pop():this._addToStack(a),e=n+1}}return this._resultObjectArray},_attributeToObject:function(t){var e,i,r,s,a={},o=(t=t.trim()).match(/^(color|size)(\s)*=/);if(o){if(e=o[0],""===(t=t.substring(e.length).trim()))return a;switch(i=t.indexOf(" "),e[0]){case"c":a.color=i>-1?t.substring(0,i).trim():t;break;case"s":a.size=parseInt(t)}return i>-1&&(s=t.substring(i+1).trim(),r=this._processEventHandler(s),a.event=r),a}if((o=t.match(/^(br(\s)*\/)/))&&o[0].length>0&&(e=o[0].trim()).startsWith("br")&&"/"===e[e.length-1])return a.isNewLine=!0,this._resultObjectArray.push({text:"",style:{newline:!0}}),a;if((o=t.match(/^(img(\s)*src(\s)*=[^>]+\/)/))&&o[0].length>0&&(e=o[0].trim()).startsWith("img")&&"/"===e[e.length-1]){var l;o=t.match(n);for(var c=!1;o;){if(e=(t=t.substring(t.indexOf(o[0]))).substr(0,o[0].length),u=(i=(l=t.substring(e.length).trim()).indexOf(" "))>-1?l.substr(0,i):l,e=(e=e.replace(/[^a-zA-Z]/g,"").trim()).toLocaleLowerCase(),t=l.substring(i).trim(),u.endsWith("/")&&(u=u.slice(0,-1)),"src"===e){switch(u.charCodeAt(0)){case 34:case 39:c=!0,u=u.slice(1,-1)}a.isImage=!0,a.src=u}else if("height"===e)a.imageHeight=parseInt(u);else if("width"===e)a.imageWidth=parseInt(u);else if("align"===e){switch(u.charCodeAt(0)){case 34:case 39:u=u.slice(1,-1)}a.imageAlign=u.toLocaleLowerCase()}else"offset"===e?a.imageOffset=u:"click"===e&&(a.event=this._processEventHandler(e+"="+u));a.event&&"param"===e&&(a.event.param=u.replace(/^\"|\"$/g,"")),o=t.match(n)}return c&&a.isImage&&this._resultObjectArray.push({text:"",style:a}),{}}if(o=t.match(/^(outline(\s)*[^>]*)/)){var h={color:"#ffffff",width:1};if(t=o[0].substring("outline".length).trim()){var u,_=/(\s)*color(\s)*=|(\s)*width(\s)*=|(\s)*click(\s)*=|(\s)*param(\s)*=/;for(o=t.match(_);o;)e=(t=t.substring(t.indexOf(o[0]))).substr(0,o[0].length),u=(i=(l=t.substring(e.length).trim()).indexOf(" "))>-1?l.substr(0,i):l,e=(e=e.replace(/[^a-zA-Z]/g,"").trim()).toLocaleLowerCase(),t=l.substring(i).trim(),"click"===e?a.event=this._processEventHandler(e+"="+u):"color"===e?h.color=u:"width"===e&&(h.width=parseInt(u)),a.event&&"param"===e&&(a.event.param=u.replace(/^\"|\"$/g,"")),o=t.match(_)}a.outline=h}if((o=t.match(/^(on|u|b|i)(\s)*/))&&o[0].length>0){switch(e=o[0],t=t.substring(e.length).trim(),e[0]){case"u":a.underline=!0;break;case"i":a.italic=!0;break;case"b":a.bold=!0}if(""===t)return a;r=this._processEventHandler(t),a.event=r}return a},_processEventHandler:function(t){for(var e=0,n={},r=t.match(i),s=!1;r;){var a=r[0],o="";if(s=!1,'"'===(t=t.substring(a.length).trim()).charAt(0))(e=t.indexOf('"',1))>-1&&(o=t.substring(1,e).trim(),s=!0),e++;else if("'"===t.charAt(0))(e=t.indexOf("'",1))>-1&&(o=t.substring(1,e).trim(),s=!0),e++;else{var l=t.match(/(\S)+/);e=(o=l?l[0]:"").length}s&&(n[a=a.substring(0,a.length-1).trim()]=o),r=(t=t.substring(e).trim()).match(i)}return n},_addToStack:function(t){var e=this._attributeToObject(t);if(0===this._stack.length)this._stack.push(e);else{if(e.isNewLine||e.isImage)return;var i=this._stack[this._stack.length-1];for(var n in i)e[n]||(e[n]=i[n]);this._stack.push(e)}},_processResult:function(t){""!==t&&(t=this._escapeSpecialSymbol(t),this._stack.length>0?this._resultObjectArray.push({text:t,style:this._stack[this._stack.length-1]}):this._resultObjectArray.push({text:t}))},_escapeSpecialSymbol:function(t){for(var e=0;e>1,t|=t>>2,t|=t>>4,t|=t>>8,1+(t|=t>>16)},BUILTIN_CLASSID_RE:/^(?:cc|dragonBones|sp|ccsg)\..+/},r=new Array(123),s=0;s<123;++s)r[s]=64;for(var a=0;a<64;++a)r["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charCodeAt(a)]=a;n.BASE64_VALUES=r,n.pushToMap=function(t,e,i,n){var r=t[e];r?Array.isArray(r)?n?(r.push(r[0]),r[0]=i):r.push(i):t[e]=n?[i,r]:[r,i]:t[e]=i},n.clampf=function(t,e,i){if(e>i){var n=e;e=i,i=n}return t=0&&this.removeAt(e)},n.removeAt=function(t){this.array.splice(t,1),t<=this.i&&--this.i},n.fastRemove=function(t){var e=this.array.indexOf(t);e>=0&&this.fastRemoveAt(e)},n.fastRemoveAt=function(t){var e=this.array;e[t]=e[e.length-1],--e.length,t<=this.i&&--this.i},n.push=function(t){this.array.push(t)},e.exports=i}),{}],326:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(){function t(){this.enabled=!1,this.count=0,this.maxSize=1024}var e=t.prototype;return e.get=function(){},e.put=function(){},e.clear=function(){},t})();i.default=n,cc.pool={},n.register=function(t,e){cc.pool[t]=e},e.exports=i.default}),{}],327:[(function(t,e){"use strict";cc._PrefabInfo=cc.Class({name:"cc.PrefabInfo",properties:{root:null,asset:null,fileId:"",sync:!1}}),e.exports={syncWithPrefab:function(t){var e=t._prefab;if(!e.asset)return cc.errorID(3701,t.name),void(t._prefab=null);var i=t._objFlags,n=t._parent,r=t._id,s=t._name,a=t._active,o=t._eulerAngles.x,l=t._eulerAngles.y,c=t._eulerAngles.z,h=t._localZOrder,u=t._trs,_=u[0],f=u[1],d=u[2];cc.game._isCloning=!0,e.asset._doInstantiate(t),cc.game._isCloning=!1,t._objFlags=i,t._parent=n,t._id=r,t._prefab=e,t._name=s,t._active=a,t._localZOrder=h,(u=t._trs)[0]=_,u[1]=f,u[2]=d,t._eulerAngles.x=o,t._eulerAngles.y=l,t._eulerAngles.z=c}}}),{}],328:[(function(t,e){"use strict";var i=t("../../platform/CCMacro"),n=t("./perf-counter"),r=!1,s=15,a=null,o=null,l=null;function c(){if(!a){a={fps:{desc:"Framerate (FPS)",below:30,average:500},draws:{desc:"Draw Call"},frame:{desc:"Frame time (ms)",min:0,max:50,average:500},logic:{desc:"Game Logic (ms)",min:0,max:50,average:500,color:"#080"},render:{desc:"Renderer (ms)",min:0,max:50,average:500,color:"#f90"},mode:{desc:cc.game.renderType===cc.game.RENDER_TYPE_WEBGL?"WebGL":"Canvas",min:1}};var t=performance.now();for(var e in a)a[e]._counter=new n(e,a[e],t)}}function h(){if(!o||!o.isValid){(o=new cc.Node("PROFILER-NODE")).x=o.y=10,o.groupIndex=cc.Node.BuiltinGroupIndex.DEBUG,cc.Camera._setupDebugCamera(),o.zIndex=i.MAX_ZINDEX,cc.game.addPersistRootNode(o);var t=new cc.Node("LEFT-PANEL");t.anchorX=t.anchorY=0;var e=t.addComponent(cc.Label);e.fontSize=s,e.lineHeight=s,t.parent=o;var n=new cc.Node("RIGHT-PANEL");n.anchorX=1,n.anchorY=0,n.x=200;var r=n.addComponent(cc.Label);r.horizontalAlign=cc.Label.HorizontalAlign.RIGHT,r.fontSize=s,r.lineHeight=s,n.parent=o,cc.sys.platform!==cc.sys.BAIDU_GAME_SUB&&cc.sys.platform!==cc.sys.WECHAT_GAME_SUB&&(e.cacheMode=cc.Label.CacheMode.CHAR,r.cacheMode=cc.Label.CacheMode.CHAR),l={left:e,right:r}}}function u(){h();var t=cc.director._lastUpdate;a.frame._counter.start(t),a.logic._counter.start(t)}function _(){var t=performance.now();cc.director.isPaused()?a.frame._counter.start(t):a.logic._counter.end(t),a.render._counter.start(t)}function f(){var t=performance.now();a.render._counter.end(t),a.draws._counter.value=cc.renderer.drawCalls,a.frame._counter.end(t),a.fps._counter.frame(t);var e="",i="";for(var n in a){var r=a[n];r._counter.sample(t),e+=r.desc+"\n",i+=r._counter.human()+"\n"}l&&(l.left.string=e,l.right.string=i)}cc.profiler=e.exports={isShowingStats:function(){return r},hideStats:function(){r&&(o&&(o.active=!1),cc.director.off(cc.Director.EVENT_BEFORE_UPDATE,u),cc.director.off(cc.Director.EVENT_AFTER_UPDATE,_),cc.director.off(cc.Director.EVENT_AFTER_DRAW,f),r=!1)},showStats:function(){r||(c(),o&&(o.active=!0),cc.director.on(cc.Director.EVENT_BEFORE_UPDATE,u),cc.director.on(cc.Director.EVENT_AFTER_UPDATE,_),cc.director.on(cc.Director.EVENT_AFTER_DRAW,f),r=!0)}}}),{"../../platform/CCMacro":244,"./perf-counter":330}],329:[(function(t,e){"use strict";var i=cc.Class({name:"cc.Counter",ctor:function(t,e,i){this._id=t,this._opts=e||{},this._value=0,this._total=0,this._averageValue=0,this._accumValue=0,this._accumSamples=0,this._accumStart=i},properties:{value:{get:function(){return this._value},set:function(t){this._value=t}}},_average:function(t,e){if(this._opts.average){this._accumValue+=t,++this._accumSamples;var i=e;i-this._accumStart>=this._opts.average&&(this._averageValue=this._accumValue/this._accumSamples,this._accumValue=0,this._accumStart=i,this._accumSamples=0)}},sample:function(t){this._average(this._value,t)},human:function(){var t=this._opts.average?this._averageValue:this._value;return Math.round(100*t)/100},alarm:function(){return this._opts.below&&this._valuethis._opts.over}});e.exports=i}),{}],330:[(function(t,e){"use strict";var i=t("./counter"),n=cc.Class({name:"cc.PerfCounter",extends:i,ctor:function(t,e,i){this._time=i},start:function(t){this._time=t},end:function(t){this._value=t-this._time,this._average(this._value)},tick:function(){this.end(),this.start()},frame:function(t){var e=t,i=e-this._time;this._total++,i>(this._opts.average||1e3)&&(this._value=1e3*this._total/i,this._total=0,this._time=e,this._average(this._value))}});e.exports=n}),{"./counter":329}],331:[(function(t,e){"use strict";var i,n=new(((i=t("../platform/js"))&&i.__esModule?i:{default:i}).default.Pool)(2);function r(t){this.count=0,this.limit=t,this.datas={},this.head=null,this.tail=null}n.get=function(){return this._get()||{key:null,value:null,prev:null,next:null}},r.prototype.moveToHead=function(t){t.next=this.head,t.prev=null,null!==this.head&&(this.head.prev=t),this.head=t,null===this.tail&&(this.tail=t),this.count++,this.datas[t.key]=t},r.prototype.put=function(t,e){var i=n.get();if(i.key=t,i.value=e,this.count>=this.limit){var r=this.tail;delete this.datas[r.key],this.count--,this.tail=r.prev,this.tail.next=null,r.prev=null,r.next=null,n.put(r)}this.moveToHead(i)},r.prototype.remove=function(t){null!==t.prev?t.prev.next=t.next:this.head=t.next,null!==t.next?t.next.prev=t.prev:this.tail=t.prev,delete this.datas[t.key],this.count--},r.prototype.get=function(t){var e=this.datas[t];return e?(this.remove(e),this.moveToHead(e),e.value):null},r.prototype.clear=function(){this.count=0,this.datas={},this.head=null,this.tail=null},r.prototype.has=function(t){return!!this.datas[t]},r.prototype.delete=function(t){var e=this.datas[t];this.remove(e)};var s=new r(100),a={BASELINE_RATIO:.26,MIDDLE_RATIO:.37,BASELINE_OFFSET:0,label_wordRex:/([a-zA-Z0-9\xc4\xd6\xdc\xe4\xf6\xfc\xdf\xe9\xe8\xe7\xe0\xf9\xea\xe2\xee\xf4\xfb\u0430-\u044f\u0410-\u042f\u0401\u0451]+|\S)/,label_symbolRex:/^[!,.:;'}\]%\?>\u3001\u2018\u201c\u300b\uff1f\u3002\uff0c\uff01]/,label_lastWordRex:/([a-zA-Z0-9\xc4\xd6\xdc\xe4\xf6\xfc\xdf\xe9\xe8\xe7\xe0\xf9\xea\xe2\xee\xf4\xfb\u0430\xed\xec\xcd\xcc\xef\xc1\xc0\xe1\xe0\xc9\xc8\xd2\xd3\xf2\xf3\u0150\u0151\xd9\xda\u0170\xfa\u0171\xf1\xd1\xe6\xc6\u0153\u0152\xc3\xc2\xe3\xd4\xf5\u011b\u0161\u010d\u0159\u017e\xfd\xe1\xed\xe9\xf3\xfa\u016f\u0165\u010f\u0148\u011a\u0160\u010c\u0158\u017d\xc1\xcd\xc9\xd3\xda\u0164\u017c\u017a\u015b\xf3\u0144\u0142\u0119\u0107\u0105\u017b\u0179\u015a\xd3\u0143\u0141\u0118\u0106\u0104-\u044f\u0410-\u042f\u0401\u0451]+|\S)$/,label_lastEnglish:/[a-zA-Z0-9\xc4\xd6\xdc\xe4\xf6\xfc\xdf\xe9\xe8\xe7\xe0\xf9\xea\xe2\xee\xf4\xfb\u0430\xed\xec\xcd\xcc\xef\xc1\xc0\xe1\xe0\xc9\xc8\xd2\xd3\xf2\xf3\u0150\u0151\xd9\xda\u0170\xfa\u0171\xf1\xd1\xe6\xc6\u0153\u0152\xc3\xc2\xe3\xd4\xf5\u011b\u0161\u010d\u0159\u017e\xfd\xe1\xed\xe9\xf3\xfa\u016f\u0165\u010f\u0148\u011a\u0160\u010c\u0158\u017d\xc1\xcd\xc9\xd3\xda\u0164\u017c\u017a\u015b\xf3\u0144\u0142\u0119\u0107\u0105\u017b\u0179\u015a\xd3\u0143\u0141\u0118\u0106\u0104-\u044f\u0410-\u042f\u0401\u0451]+$/,label_firstEnglish:/^[a-zA-Z0-9\xc4\xd6\xdc\xe4\xf6\xfc\xdf\xe9\xe8\xe7\xe0\xf9\xea\xe2\xee\xf4\xfb\u0430\xed\xec\xcd\xcc\xef\xc1\xc0\xe1\xe0\xc9\xc8\xd2\xd3\xf2\xf3\u0150\u0151\xd9\xda\u0170\xfa\u0171\xf1\xd1\xe6\xc6\u0153\u0152\xc3\xc2\xe3\xd4\xf5\u011b\u0161\u010d\u0159\u017e\xfd\xe1\xed\xe9\xf3\xfa\u016f\u0165\u010f\u0148\u011a\u0160\u010c\u0158\u017d\xc1\xcd\xc9\xd3\xda\u0164\u017c\u017a\u015b\xf3\u0144\u0142\u0119\u0107\u0105\u017b\u0179\u015a\xd3\u0143\u0141\u0118\u0106\u0104-\u044f\u0410-\u042f\u0401\u0451]/,highSurrogateRex:/[\uD800-\uDBFF]/,lowSurrogateRex:/[\uDC00-\uDFFF]/,label_wrapinspection:!0,__CHINESE_REG:/^[\u4E00-\u9FFF\u3400-\u4DFF]+$/,__JAPANESE_REG:/[\u3000-\u303F]|[\u3040-\u309F]|[\u30A0-\u30FF]|[\uFF00-\uFFEF]|[\u4E00-\u9FAF]|[\u2605-\u2606]|[\u2190-\u2195]|\u203B/g,__KOREAN_REG:/^[\u1100-\u11FF]|[\u3130-\u318F]|[\uA960-\uA97F]|[\uAC00-\uD7AF]|[\uD7B0-\uD7FF]+$/,isUnicodeCJK:function(t){return this.__CHINESE_REG.test(t)||this.__JAPANESE_REG.test(t)||this.__KOREAN_REG.test(t)},isUnicodeSpace:function(t){return(t=t.charCodeAt(0))>=9&&t<=13||32===t||133===t||160===t||5760===t||t>=8192&&t<=8202||8232===t||8233===t||8239===t||8287===t||12288===t},safeMeasureText:function(t,e,i){var n=(i||t.font)+"\ud83c\udfae"+e,r=s.get(n);if(null!==r)return r;var a=t.measureText(e),o=a&&a.width||0;return s.put(n,o),o},_safeSubstring:function(t,e,i){var n=e,r=i,s=t[e];if(this.lowSurrogateRex.test(s)&&n--,void 0!==i)if(i-1!==e){var a=t[i-1];this.highSurrogateRex.test(a)&&r--}else this.highSurrogateRex.test(s)&&r++;return t.substring(n,r)},fragmentText:function(t,e,i,n){var r=[];if(0===t.length||i<0)return r.push(""),r;for(var s=t;e>i&&s.length>1;){for(var a=s.length*(i/e)|0,o=this._safeSubstring(s,a),l=e-n(o),c=o,h=0,u=0;l>i&&u++<10;)a*=i/l,a|=0,l=e-n(o=this._safeSubstring(s,a));for(u=0;l<=i&&u++<10;){if(o){var _=this.label_wordRex.exec(o);h=_?_[0].length:1,c=o}a+=h,l=e-n(o=this._safeSubstring(s,a))}0==(a-=h)?(a=1,c=this._safeSubstring(s,1)):1===a&&this.highSurrogateRex.test(s[0])&&(a=2,c=this._safeSubstring(s,2));var f,d=this._safeSubstring(s,0,a);this.label_wrapinspection&&this.label_symbolRex.test(c||o)&&(0==(a-=(f=this.label_lastWordRex.exec(d))?f[0].length:0)&&(a=1),c=this._safeSubstring(s,a),d=this._safeSubstring(s,0,a)),this.label_firstEnglish.test(c)&&(f=this.label_lastEnglish.exec(d))&&d!==f[0]&&(a-=f[0].length,c=this._safeSubstring(s,a),d=this._safeSubstring(s,0,a)),0===r.length?r.push(d):(d=d.trimLeft()).length>0&&r.push(d),e=n(s=c||o)}return 0===r.length?r.push(s):(s=s.trimLeft()).length>0&&r.push(s),r}};cc.textUtils=e.exports=a}),{"../platform/js":260}],332:[(function(t,e){"use strict";var i=t("../assets/CCTexture2D"),n={loadImage:function(t,e,i){cc.assertID(t,3103);var n=cc.assetManager.assets.get(t);if(n)return n.loaded?(e&&e.call(i,null,n),n):(n.once("load",(function(){e&&e.call(i,null,n)}),i),n);cc.assetManager.loadRemote(t,(function(t,n){e&&e.call(i,t,n)}))},cacheImage:function(t,e){if(t&&e){var n=new i;return n.initWithElement(e),cc.assetManager.assets.add(t,n),n}},postLoadTexture:function(t,e){t.loaded?e&&e():t.nativeUrl?cc.assetManager.postLoadNative(t,e):e&&e()}};e.exports=n}),{"../assets/CCTexture2D":120}],333:[(function(t,e){"use strict";var i=t("./node-unit"),n=t("./node-mem-pool");e.exports={NodeMemPool:new n(i)}}),{"./node-mem-pool":335,"./node-unit":336}],334:[(function(t,e){"use strict";var i=function(t){this._unitClass=t,this._pool=[],this._findOrder=[]},n=i.prototype;n._initNative=function(){this._nativeMemPool=new renderer.MemPool},n._buildUnit=function(t){return new this._unitClass(t,this)},n._destroyUnit=function(t){this._pool[t]=null;for(var e=0,i=this._findOrder.length;e1&&e.isAllFree()&&this._destroyUnit(t.unitID),e},e.exports=i}),{}],335:[(function(t,e){"use strict";var i,n=t("./mem-pool"),r=function(t){n.call(this,t)};(i=function(){}).prototype=n.prototype;var s=r.prototype=new i;s._initNative=function(){this._nativeMemPool=new renderer.NodeMemPool},s._destroyUnit=function(t){n.prototype._destroyUnit.call(this,t)},e.exports=r}),{"./mem-pool":334}],336:[(function(t,e){"use strict";var i,n=t("../../value-types/utils"),r=(Uint32Array,10*n.FLOAT_BYTES),s=16*n.FLOAT_BYTES,a=16*n.FLOAT_BYTES,o=(Uint32Array,Uint32Array,Int32Array,Uint8Array,Uint8Array,Uint32Array,n.FLOAT_BYTES,t("./unit-base")),l=function(t,e){o.call(this,t,e);var i=this._contentNum;this.trsList=new n.FLOAT_ARRAY_TYPE(10*i),this.localMatList=new n.FLOAT_ARRAY_TYPE(16*i),this.worldMatList=new n.FLOAT_ARRAY_TYPE(16*i);for(var l=0;l",e=this._signData[2*e+0];for(var n=0,r="",s=this._contentNum,a=0;a");var o=t+n;console.log("unitID:",this.unitID,"spaceNum:",t,"calc using num:",n,"store using num:",this._data[1],"calc total num:",o,"actually total num:",this._contentNum),console.log("free info:",i),console.log("using info:",r),n!=this._data[1]&&cc.error("using num error","calc using num:",n,"store using num:",this._data[1]),t+n!=this._contentNum&&cc.error("total num error","calc total num:",o,"actually total num:",this._contentNum)},e.exports=i}),{}],338:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=a(t("./value-type")),r=a(t("../platform/CCClass")),s=a(t("../utils/misc"));function a(t){return t&&t.__esModule?t:{default:t}}function o(t,e){for(var i=0;i>>0)+(n<<16)+(i<<8)+(0|e),s}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,l(e,i),n.copy=function(t,e){return t.r=e.r,t.g=e.g,t.b=e.b,t.a=e.a,t},n.clone=function(t){return new n(t.r,t.g,t.b,t.a)},n.set=function(t,e,i,n,r){return void 0===e&&(e=255),void 0===i&&(i=255),void 0===n&&(n=255),void 0===r&&(r=255),t.r=e,t.g=i,t.b=n,t.a=r,t},n.fromHex=function(t,e){var i=e>>24&255,n=e>>16&255,r=e>>8&255,s=255&e;return t.r=i,t.g=n,t.b=r,t.a=s,t},n.fromHEX=function(t,e){return e=0===e.indexOf("#")?e.substring(1):e,t.r=parseInt(e.substr(0,2),16)||0,t.g=parseInt(e.substr(2,2),16)||0,t.b=parseInt(e.substr(4,2),16)||0,t.a=parseInt(e.substr(6,2),16)||255,t._val=(t.a<<24>>>0)+(t.b<<16)+(t.g<<8)+t.r,t},n.add=function(t,e,i){return t.r=e.r+i.r,t.g=e.g+i.g,t.b=e.b+i.b,t.a=e.a+i.a,t},n.subtract=function(t,e,i){return t.r=e.r-i.r,t.g=e.g-i.g,t.b=e.b-i.b,t.a=e.a-i.a,t},n.multiply=function(t,e,i){return t.r=e.r*i.r,t.g=e.g*i.g,t.b=e.b*i.b,t.a=e.a*i.a,t},n.divide=function(t,e,i){return t.r=e.r/i.r,t.g=e.g/i.g,t.b=e.b/i.b,t.a=e.a/i.a,t},n.scale=function(t,e,i){return t.r=e.r*i,t.g=e.g*i,t.b=e.b*i,t.a=e.a*i,t},n.lerp=function(t,e,i,n){var r=e.r,s=e.g,a=e.b,o=e.a;return t.r=r+n*(i.r-r),t.g=s+n*(i.g-s),t.b=a+n*(i.b-a),t.a=o+n*(i.a-o),t},n.toArray=function(t,e,i){void 0===i&&(i=0);var r=e instanceof n||e.a>1?1/255:1;return t[i+0]=e.r*r,t[i+1]=e.g*r,t[i+2]=e.b*r,t[i+3]=e.a*r,t},n.fromArray=function(t,e,i){return void 0===i&&(i=0),e.r=255*t[i+0],e.g=255*t[i+1],e.b=255*t[i+2],e.a=255*t[i+3],e},n.premultiplyAlpha=function(t,e){var i=e.a/255;return t.r=e.r*i,t.g=e.g*i,t.b=e.b*i,t._fastSetA(e.a),t};var r,a,c,h=n.prototype;return h.clone=function(){var t=new n;return t._val=this._val,t},h.equals=function(t){return t&&this._val===t._val},h.lerp=function(t,e,i){i=i||new n;var r=this.r,s=this.g,a=this.b,o=this.a;return i.r=r+(t.r-r)*e,i.g=s+(t.g-s)*e,i.b=a+(t.b-a)*e,i.a=o+(t.a-o)*e,i},h.toString=function(){return"rgba("+this.r.toFixed()+", "+this.g.toFixed()+", "+this.b.toFixed()+", "+this.a.toFixed()+")"},h.getR=function(){return 255&this._val},h.setR=function(t){return t=~~s.default.clampf(t,0,255),this._val=(4294967040&this._val|t)>>>0,this},h.getG=function(){return(65280&this._val)>>8},h.setG=function(t){return t=~~s.default.clampf(t,0,255),this._val=(4294902015&this._val|t<<8)>>>0,this},h.getB=function(){return(16711680&this._val)>>16},h.setB=function(t){return t=~~s.default.clampf(t,0,255),this._val=(4278255615&this._val|t<<16)>>>0,this},h.getA=function(){return(4278190080&this._val)>>>24},h.setA=function(t){return t=~~s.default.clampf(t,0,255),this._val=(16777215&this._val|t<<24)>>>0,this},h.toCSS=function(t){return t&&"rgba"!==t?"rgb"===t?"rgb("+this.r+","+this.g+","+this.b+")":"#"+this.toHEX(t):"rgba("+this.r+","+this.g+","+this.b+","+(this.a/255).toFixed(2)+")"},h.fromHEX=function(t){t=0===t.indexOf("#")?t.substring(1):t;var e=parseInt(t.substr(0,2),16)||0,i=parseInt(t.substr(2,2),16)||0,n=parseInt(t.substr(4,2),16)||0,r=parseInt(t.substr(6,2),16)||255;return this._val=(r<<24>>>0)+(n<<16)+(i<<8)+e,this},h.toHEX=function(t){var e=[(this.r<16?"0":"")+this.r.toString(16),(this.g<16?"0":"")+this.g.toString(16),(this.b<16?"0":"")+this.b.toString(16)];return"#rgb"===t?(e[0]=e[0][0],e[1]=e[1][0],e[2]=e[2][0]):"#rrggbbaa"===t&&e.push((this.a<16?"0":"")+this.a.toString(16)),e.join("")},h.toRGBValue=function(){return 16777215&this._val},h.fromHSV=function(t,e,i){var n,r,s;if(0===e)n=r=s=i;else if(0===i)n=r=s=0;else{1===t&&(t=0),t*=6;var a=Math.floor(t),o=t-a,l=i*(1-e),c=i*(1-e*o),h=i*(1-e*(1-o));switch(a){case 0:n=i,r=h,s=l;break;case 1:n=c,r=i,s=l;break;case 2:n=l,r=i,s=h;break;case 3:n=l,r=c,s=i;break;case 4:n=h,r=l,s=i;break;case 5:n=i,r=l,s=c}}return n*=255,r*=255,s*=255,this._val=(this.a<<24>>>0)+(s<<16)+(r<<8)+(0|n),this},h.toHSV=function(){var t=this.r/255,e=this.g/255,i=this.b/255,n={h:0,s:0,v:0},r=Math.max(t,e,i),s=Math.min(t,e,i),a=0;return n.v=r,n.s=r?(r-s)/r:0,n.s?(a=r-s,n.h=t===r?(e-i)/a:e===r?2+(i-t)/a:4+(t-e)/a,n.h/=6,n.h<0&&(n.h+=1)):n.h=0,n},h.set=function(t){return t._val?this._val=t._val:(this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a),this},h._fastSetA=function(t){this._val=(16777215&this._val|t<<24)>>>0},h.multiply=function(t){var e=(255&this._val)*t.r>>8,i=(65280&this._val)*t.g>>8,n=(16711680&this._val)*t.b>>8,r=((4278190080&this._val)>>>8)*t.a;return this._val=4278190080&r|16711680&n|65280&i|255&e,this},r=n,c=[{key:"WHITE",get:function(){return new n(255,255,255,255)}},{key:"BLACK",get:function(){return new n(0,0,0,255)}},{key:"TRANSPARENT",get:function(){return new n(0,0,0,0)}},{key:"GRAY",get:function(){return new n(127.5,127.5,127.5)}},{key:"RED",get:function(){return new n(255,0,0)}},{key:"GREEN",get:function(){return new n(0,255,0)}},{key:"BLUE",get:function(){return new n(0,0,255)}},{key:"YELLOW",get:function(){return new n(255,235,4)}},{key:"ORANGE",get:function(){return new n(255,127,0)}},{key:"CYAN",get:function(){return new n(0,255,255)}},{key:"MAGENTA",get:function(){return new n(255,0,255)}}],(a=[{key:"r",get:function(){return this.getR()},set:function(t){this.setR(t)}},{key:"g",get:function(){return this.getG()},set:function(t){this.setG(t)}},{key:"b",get:function(){return this.getB()},set:function(t){this.setB(t)}},{key:"a",get:function(){return this.getA()},set:function(t){this.setA(t)}}])&&o(r.prototype,a),c&&o(r,c),n})(n.default);i.default=c,c.div=c.divide,c.sub=c.subtract,c.mul=c.multiply,c.WHITE_R=c.WHITE,c.BLACK_R=c.BLACK,c.TRANSPARENT_R=c.TRANSPARENT,c.GRAY_R=c.GRAY,c.RED_R=c.RED,c.GREEN_R=c.GREEN,c.BLUE_R=c.BLUE,c.YELLOW_R=c.YELLOW,c.ORANGE_R=c.ORANGE,c.CYAN_R=c.CYAN,c.MAGENTA_R=c.MAGENTA,r.default.fastDefine("cc.Color",c,{r:0,g:0,b:0,a:255}),cc.Color=c,cc.color=function(t,e,i,n){return"string"==typeof t?(new c).fromHEX(t):"object"==typeof t?new c(t.r,t.g,t.b,t.a):new c(t,e,i,n)},e.exports=i.default}),{"../platform/CCClass":239,"../utils/misc":324,"./value-type":347}],339:[(function(t,e,i){"use strict";i.__esModule=!0;var n={Vec2:!0,Vec3:!0,Vec4:!0,Mat4:!0,Mat3:!0,Rect:!0,Size:!0,Color:!0,Quat:!0,Trs:!0};i.Vec4=i.Vec3=i.Vec2=i.Trs=i.Size=i.Rect=i.Quat=i.Mat4=i.Mat3=i.Color=void 0;var r=p(t("./vec2"));i.Vec2=r.default;var s=p(t("./vec3"));i.Vec3=s.default;var a=p(t("./vec4"));i.Vec4=a.default;var o=p(t("./mat4"));i.Mat4=o.default;var l=p(t("./mat3"));i.Mat3=l.default;var c=p(t("./rect"));i.Rect=c.default;var h=p(t("./size"));i.Size=h.default;var u=p(t("./color"));i.Color=u.default;var _=p(t("./quat"));i.Quat=_.default;var f=p(t("./trs"));i.Trs=f.default;var d=t("./utils");function p(t){return t&&t.__esModule?t:{default:t}}Object.keys(d).forEach((function(t){"default"!==t&&"__esModule"!==t&&(Object.prototype.hasOwnProperty.call(n,t)||t in i&&i[t]===d[t]||(i[t]=d[t]))})),cc.math=e.exports}),{"./color":338,"./mat3":340,"./mat4":341,"./quat":342,"./rect":343,"./size":344,"./trs":345,"./utils":346,"./vec2":348,"./vec3":349,"./vec4":350}],340:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=t("../value-types/utils"),s=(n=t("./vec3"))&&n.__esModule?n:{default:n},a=(function(){function t(t,e,i,n,s,a,o,l,c){if(void 0===t&&(t=1),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===s&&(s=1),void 0===a&&(a=0),void 0===o&&(o=0),void 0===l&&(l=0),void 0===c&&(c=1),this.m=void 0,t instanceof r.FLOAT_ARRAY_TYPE)this.m=t;else{this.m=new r.FLOAT_ARRAY_TYPE(9);var h=this.m;h[0]=t,h[1]=e,h[2]=i,h[3]=n,h[4]=s,h[5]=a,h[6]=o,h[7]=l,h[8]=c}}return t.create=function(e,i,n,r,s,a,o,l,c){return void 0===e&&(e=1),void 0===i&&(i=0),void 0===n&&(n=0),void 0===r&&(r=0),void 0===s&&(s=1),void 0===a&&(a=0),void 0===o&&(o=0),void 0===l&&(l=0),void 0===c&&(c=1),new t(e,i,n,r,s,a,o,l,c)},t.clone=function(e){var i=e.m;return new t(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8])},t.copy=function(t,e){return t.m.set(e.m),t},t.set=function(t,e,i,n,r,s,a,o,l,c){var h=t.m;return h[0]=e,h[1]=i,h[2]=n,h[3]=r,h[4]=s,h[5]=a,h[6]=o,h[7]=l,h[8]=c,t},t.identity=function(t){var e=t.m;return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,t},t.transpose=function(t,e){var i=e.m,n=t.m;if(t===e){var r=i[1],s=i[2],a=i[5];n[1]=i[3],n[2]=i[6],n[3]=r,n[5]=i[7],n[6]=s,n[7]=a}else n[0]=i[0],n[1]=i[3],n[2]=i[6],n[3]=i[1],n[4]=i[4],n[5]=i[7],n[6]=i[2],n[7]=i[5],n[8]=i[8];return t},t.invert=function(t,e){var i=e.m,n=t.m,r=i[0],s=i[1],a=i[2],o=i[3],l=i[4],c=i[5],h=i[6],u=i[7],_=i[8],f=_*l-c*u,d=-_*o+c*h,p=u*o-l*h,m=r*f+s*d+a*p;return m?(m=1/m,n[0]=f*m,n[1]=(-_*s+a*u)*m,n[2]=(c*s-a*l)*m,n[3]=d*m,n[4]=(_*r-a*h)*m,n[5]=(-c*r+a*o)*m,n[6]=p*m,n[7]=(-u*r+s*h)*m,n[8]=(l*r-s*o)*m,t):t},t.adjoint=function(t,e){var i=e.m,n=t.m,r=i[0],s=i[1],a=i[2],o=i[3],l=i[4],c=i[5],h=i[6],u=i[7],_=i[8];return n[0]=l*_-c*u,n[1]=a*u-s*_,n[2]=s*c-a*l,n[3]=c*h-o*_,n[4]=r*_-a*h,n[5]=a*o-r*c,n[6]=o*u-l*h,n[7]=s*h-r*u,n[8]=r*l-s*o,t},t.determinant=function(t){var e=t.m,i=e[0],n=e[1],r=e[2],s=e[3],a=e[4],o=e[5],l=e[6],c=e[7],h=e[8];return i*(h*a-o*c)+n*(-h*s+o*l)+r*(c*s-a*l)},t.multiply=function(t,e,i){var n=e.m,r=i.m,s=t.m,a=n[0],o=n[1],l=n[2],c=n[3],h=n[4],u=n[5],_=n[6],f=n[7],d=n[8],p=r[0],m=r[1],y=r[2],v=r[3],g=r[4],b=r[5],A=r[6],x=r[7],C=r[8];return s[0]=p*a+m*c+y*_,s[1]=p*o+m*h+y*f,s[2]=p*l+m*u+y*d,s[3]=v*a+g*c+b*_,s[4]=v*o+g*h+b*f,s[5]=v*l+g*u+b*d,s[6]=A*a+x*c+C*_,s[7]=A*o+x*h+C*f,s[8]=A*l+x*u+C*d,t},t.multiplyMat4=function(t,e,i){var n=e.m,r=i.m,s=t.m,a=n[0],o=n[1],l=n[2],c=n[3],h=n[4],u=n[5],_=n[6],f=n[7],d=n[8],p=r[0],m=r[1],y=r[2],v=r[4],g=r[5],b=r[6],A=r[8],x=r[9],C=r[10];return s[0]=p*a+m*c+y*_,s[1]=p*o+m*h+y*f,s[2]=p*l+m*u+y*d,s[3]=v*a+g*c+b*_,s[4]=v*o+g*h+b*f,s[5]=v*l+g*u+b*d,s[6]=A*a+x*c+C*_,s[7]=A*o+x*h+C*f,s[8]=A*l+x*u+C*d,t},t.translate=function(t,e,i){var n=e.m,r=t.m,s=n[0],a=n[1],o=n[2],l=n[3],c=n[4],h=n[5],u=n[6],_=n[7],f=n[8],d=i.x,p=i.y;return r[0]=s,r[1]=a,r[2]=o,r[3]=l,r[4]=c,r[5]=h,r[6]=d*s+p*l+u,r[7]=d*a+p*c+_,r[8]=d*o+p*h+f,t},t.rotate=function(t,e,i){var n=e.m,r=t.m,s=n[0],a=n[1],o=n[2],l=n[3],c=n[4],h=n[5],u=n[6],_=n[7],f=n[8],d=Math.sin(i),p=Math.cos(i);return r[0]=p*s+d*l,r[1]=p*a+d*c,r[2]=p*o+d*h,r[3]=p*l-d*s,r[4]=p*c-d*a,r[5]=p*h-d*o,r[6]=u,r[7]=_,r[8]=f,t},t.scale=function(t,e,i){var n=i.x,r=i.y,s=e.m,a=t.m;return a[0]=n*s[0],a[1]=n*s[1],a[2]=n*s[2],a[3]=r*s[3],a[4]=r*s[4],a[5]=r*s[5],a[6]=s[6],a[7]=s[7],a[8]=s[8],t},t.fromMat4=function(t,e){var i=e.m,n=t.m;return n[0]=i[0],n[1]=i[1],n[2]=i[2],n[3]=i[4],n[4]=i[5],n[5]=i[6],n[6]=i[8],n[7]=i[9],n[8]=i[10],t},t.fromTranslation=function(t,e){var i=t.m;return i[0]=1,i[1]=0,i[2]=0,i[3]=0,i[4]=1,i[5]=0,i[6]=e.x,i[7]=e.y,i[8]=1,t},t.fromRotation=function(t,e){var i=Math.sin(e),n=Math.cos(e),r=t.m;return r[0]=n,r[1]=i,r[2]=0,r[3]=-i,r[4]=n,r[5]=0,r[6]=0,r[7]=0,r[8]=1,t},t.fromScaling=function(t,e){var i=t.m;return i[0]=e.x,i[1]=0,i[2]=0,i[3]=0,i[4]=e.y,i[5]=0,i[6]=0,i[7]=0,i[8]=1,t},t.fromQuat=function(t,e){var i=t.m,n=e.x,r=e.y,s=e.z,a=e.w,o=n+n,l=r+r,c=s+s,h=n*o,u=r*o,_=r*l,f=s*o,d=s*l,p=s*c,m=a*o,y=a*l,v=a*c;return i[0]=1-_-p,i[3]=u-v,i[6]=f+y,i[1]=u+v,i[4]=1-h-p,i[7]=d-m,i[2]=f-y,i[5]=d+m,i[8]=1-h-_,t},t.fromViewUp=function(e,i,n){var a,o,l;return(a=new s.default(0,1,0),o=new s.default,l=new s.default,function(e,i,n){return s.default.lengthSqr(i)0?(r=2*Math.sqrt(n+1),t.w=.25*r,t.x=(i[6]-i[9])/r,t.y=(i[8]-i[2])/r,t.z=(i[1]-i[4])/r):i[0]>i[5]&&i[0]>i[10]?(r=2*Math.sqrt(1+i[0]-i[5]-i[10]),t.w=(i[6]-i[9])/r,t.x=.25*r,t.y=(i[1]+i[4])/r,t.z=(i[8]+i[2])/r):i[5]>i[10]?(r=2*Math.sqrt(1+i[5]-i[0]-i[10]),t.w=(i[8]-i[2])/r,t.x=(i[1]+i[4])/r,t.y=.25*r,t.z=(i[6]+i[9])/r):(r=2*Math.sqrt(1+i[10]-i[0]-i[5]),t.w=(i[1]-i[4])/r,t.x=(i[8]+i[2])/r,t.y=(i[6]+i[9])/r,t.z=.25*r),t},r.toRTS=function(t,e,i,n){var r=t.m,o=D.m;n.x=s.default.set(M,r[0],r[1],r[2]).mag(),o[0]=r[0]/n.x,o[1]=r[1]/n.x,o[2]=r[2]/n.x,n.y=s.default.set(M,r[4],r[5],r[6]).mag(),o[3]=r[4]/n.y,o[4]=r[5]/n.y,o[5]=r[6]/n.y,n.z=s.default.set(M,r[8],r[9],r[10]).mag(),o[6]=r[8]/n.z,o[7]=r[9]/n.z,o[8]=r[10]/n.z,l.default.determinant(D)<0&&(n.x*=-1,o[0]*=-1,o[1]*=-1,o[2]*=-1),a.default.fromMat3(e,D),s.default.set(i,r[12],r[13],r[14])},r.fromRTS=function(t,e,i,n){var r=e.x,s=e.y,a=e.z,o=e.w,l=r+r,c=s+s,h=a+a,u=r*l,_=r*c,f=r*h,d=s*c,p=s*h,m=a*h,y=o*l,v=o*c,g=o*h,b=n.x,A=n.y,x=n.z,C=t.m;return C[0]=(1-(d+m))*b,C[1]=(_+g)*b,C[2]=(f-v)*b,C[3]=0,C[4]=(_-g)*A,C[5]=(1-(u+m))*A,C[6]=(p+y)*A,C[7]=0,C[8]=(f+v)*x,C[9]=(p-y)*x,C[10]=(1-(u+d))*x,C[11]=0,C[12]=i.x,C[13]=i.y,C[14]=i.z,C[15]=1,t},r.fromRTSOrigin=function(t,e,i,n,r){var s=e.x,a=e.y,o=e.z,l=e.w,c=s+s,h=a+a,u=o+o,_=s*c,f=s*h,d=s*u,p=a*h,m=a*u,y=o*u,v=l*c,g=l*h,b=l*u,A=n.x,x=n.y,C=n.z,T=r.x,S=r.y,w=r.z,E=t.m;return E[0]=(1-(p+y))*A,E[1]=(f+b)*A,E[2]=(d-g)*A,E[3]=0,E[4]=(f-b)*x,E[5]=(1-(_+y))*x,E[6]=(m+v)*x,E[7]=0,E[8]=(d+g)*C,E[9]=(m-v)*C,E[10]=(1-(_+p))*C,E[11]=0,E[12]=i.x+T-(E[0]*T+E[4]*S+E[8]*w),E[13]=i.y+S-(E[1]*T+E[5]*S+E[9]*w),E[14]=i.z+w-(E[2]*T+E[6]*S+E[10]*w),E[15]=1,t},r.fromQuat=function(t,e){var i=e.x,n=e.y,r=e.z,s=e.w,a=i+i,o=n+n,l=r+r,c=i*a,h=n*a,u=n*o,_=r*a,f=r*o,d=r*l,p=s*a,m=s*o,y=s*l,v=t.m;return v[0]=1-u-d,v[1]=h+y,v[2]=_-m,v[3]=0,v[4]=h-y,v[5]=1-c-d,v[6]=f+p,v[7]=0,v[8]=_+m,v[9]=f-p,v[10]=1-c-u,v[11]=0,v[12]=0,v[13]=0,v[14]=0,v[15]=1,t},r.frustum=function(t,e,i,n,r,s,a){var o=1/(i-e),l=1/(r-n),c=1/(s-a),h=t.m;return h[0]=2*s*o,h[1]=0,h[2]=0,h[3]=0,h[4]=0,h[5]=2*s*l,h[6]=0,h[7]=0,h[8]=(i+e)*o,h[9]=(r+n)*l,h[10]=(a+s)*c,h[11]=-1,h[12]=0,h[13]=0,h[14]=a*s*2*c,h[15]=0,t},r.perspective=function(t,e,i,n,r){var s=1/Math.tan(e/2),a=1/(n-r),o=t.m;return o[0]=s/i,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=s,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=(r+n)*a,o[11]=-1,o[12]=0,o[13]=0,o[14]=2*r*n*a,o[15]=0,t},r.ortho=function(t,e,i,n,r,s,a){var o=1/(e-i),l=1/(n-r),c=1/(s-a),h=t.m;return h[0]=-2*o,h[1]=0,h[2]=0,h[3]=0,h[4]=0,h[5]=-2*l,h[6]=0,h[7]=0,h[8]=0,h[9]=0,h[10]=2*c,h[11]=0,h[12]=(e+i)*o,h[13]=(r+n)*l,h[14]=(a+s)*c,h[15]=1,t},r.lookAt=function(t,e,i,n){var r=e.x,s=e.y,a=e.z,o=n.x,l=n.y,c=n.z,h=r-i.x,u=s-i.y,_=a-i.z,f=1/Math.sqrt(h*h+u*u+_*_),d=l*(_*=f)-c*(u*=f),p=c*(h*=f)-o*_,m=o*u-l*h,y=u*(m*=f=1/Math.sqrt(d*d+p*p+m*m))-_*(p*=f),v=_*(d*=f)-h*m,g=h*p-u*d,b=t.m;return b[0]=d,b[1]=y,b[2]=h,b[3]=0,b[4]=p,b[5]=v,b[6]=u,b[7]=0,b[8]=m,b[9]=g,b[10]=_,b[11]=0,b[12]=-(d*r+p*s+m*a),b[13]=-(y*r+v*s+g*a),b[14]=-(h*r+u*s+_*a),b[15]=1,t},r.inverseTranspose=function(t,e){var i=e.m;u=i[0],_=i[1],f=i[2],d=i[3],p=i[4],m=i[5],y=i[6],v=i[7],g=i[8],b=i[9],A=i[10],x=i[11],C=i[12],T=i[13],S=i[14],w=i[15];var n=u*m-_*p,r=u*y-f*p,s=u*v-d*p,a=_*y-f*m,o=_*v-d*m,l=f*v-d*y,c=g*T-b*C,h=g*S-A*C,E=g*w-x*C,M=b*S-A*T,D=b*w-x*T,B=A*w-x*S,P=n*B-r*D+s*M+a*E-o*h+l*c;return P?(P=1/P,(i=t.m)[0]=(m*B-y*D+v*M)*P,i[1]=(y*E-p*B-v*h)*P,i[2]=(p*D-m*E+v*c)*P,i[3]=0,i[4]=(f*D-_*B-d*M)*P,i[5]=(u*B-f*E+d*h)*P,i[6]=(_*E-u*D-d*c)*P,i[7]=0,i[8]=(T*l-S*o+w*a)*P,i[9]=(S*s-C*l-w*r)*P,i[10]=(C*o-T*s+w*n)*P,i[11]=0,i[12]=0,i[13]=0,i[14]=0,i[15]=1,t):null},r.add=function(t,e,i){var n=t.m,r=e.m,s=i.m;return n[0]=r[0]+s[0],n[1]=r[1]+s[1],n[2]=r[2]+s[2],n[3]=r[3]+s[3],n[4]=r[4]+s[4],n[5]=r[5]+s[5],n[6]=r[6]+s[6],n[7]=r[7]+s[7],n[8]=r[8]+s[8],n[9]=r[9]+s[9],n[10]=r[10]+s[10],n[11]=r[11]+s[11],n[12]=r[12]+s[12],n[13]=r[13]+s[13],n[14]=r[14]+s[14],n[15]=r[15]+s[15],t},r.subtract=function(t,e,i){var n=t.m,r=e.m,s=i.m;return n[0]=r[0]-s[0],n[1]=r[1]-s[1],n[2]=r[2]-s[2],n[3]=r[3]-s[3],n[4]=r[4]-s[4],n[5]=r[5]-s[5],n[6]=r[6]-s[6],n[7]=r[7]-s[7],n[8]=r[8]-s[8],n[9]=r[9]-s[9],n[10]=r[10]-s[10],n[11]=r[11]-s[11],n[12]=r[12]-s[12],n[13]=r[13]-s[13],n[14]=r[14]-s[14],n[15]=r[15]-s[15],t},r.multiplyScalar=function(t,e,i){var n=t.m,r=e.m;return n[0]=r[0]*i,n[1]=r[1]*i,n[2]=r[2]*i,n[3]=r[3]*i,n[4]=r[4]*i,n[5]=r[5]*i,n[6]=r[6]*i,n[7]=r[7]*i,n[8]=r[8]*i,n[9]=r[9]*i,n[10]=r[10]*i,n[11]=r[11]*i,n[12]=r[12]*i,n[13]=r[13]*i,n[14]=r[14]*i,n[15]=r[15]*i,t},r.multiplyScalarAndAdd=function(t,e,i,n){var r=t.m,s=e.m,a=i.m;return r[0]=s[0]+a[0]*n,r[1]=s[1]+a[1]*n,r[2]=s[2]+a[2]*n,r[3]=s[3]+a[3]*n,r[4]=s[4]+a[4]*n,r[5]=s[5]+a[5]*n,r[6]=s[6]+a[6]*n,r[7]=s[7]+a[7]*n,r[8]=s[8]+a[8]*n,r[9]=s[9]+a[9]*n,r[10]=s[10]+a[10]*n,r[11]=s[11]+a[11]*n,r[12]=s[12]+a[12]*n,r[13]=s[13]+a[13]*n,r[14]=s[14]+a[14]*n,r[15]=s[15]+a[15]*n,t},r.strictEquals=function(t,e){var i=t.m,n=e.m;return i[0]===n[0]&&i[1]===n[1]&&i[2]===n[2]&&i[3]===n[3]&&i[4]===n[4]&&i[5]===n[5]&&i[6]===n[6]&&i[7]===n[7]&&i[8]===n[8]&&i[9]===n[9]&&i[10]===n[10]&&i[11]===n[11]&&i[12]===n[12]&&i[13]===n[13]&&i[14]===n[14]&&i[15]===n[15]},r.equals=function(t,e,i){void 0===i&&(i=o.EPSILON);var n=t.m,r=e.m;return Math.abs(n[0]-r[0])<=i*Math.max(1,Math.abs(n[0]),Math.abs(r[0]))&&Math.abs(n[1]-r[1])<=i*Math.max(1,Math.abs(n[1]),Math.abs(r[1]))&&Math.abs(n[2]-r[2])<=i*Math.max(1,Math.abs(n[2]),Math.abs(r[2]))&&Math.abs(n[3]-r[3])<=i*Math.max(1,Math.abs(n[3]),Math.abs(r[3]))&&Math.abs(n[4]-r[4])<=i*Math.max(1,Math.abs(n[4]),Math.abs(r[4]))&&Math.abs(n[5]-r[5])<=i*Math.max(1,Math.abs(n[5]),Math.abs(r[5]))&&Math.abs(n[6]-r[6])<=i*Math.max(1,Math.abs(n[6]),Math.abs(r[6]))&&Math.abs(n[7]-r[7])<=i*Math.max(1,Math.abs(n[7]),Math.abs(r[7]))&&Math.abs(n[8]-r[8])<=i*Math.max(1,Math.abs(n[8]),Math.abs(r[8]))&&Math.abs(n[9]-r[9])<=i*Math.max(1,Math.abs(n[9]),Math.abs(r[9]))&&Math.abs(n[10]-r[10])<=i*Math.max(1,Math.abs(n[10]),Math.abs(r[10]))&&Math.abs(n[11]-r[11])<=i*Math.max(1,Math.abs(n[11]),Math.abs(r[11]))&&Math.abs(n[12]-r[12])<=i*Math.max(1,Math.abs(n[12]),Math.abs(r[12]))&&Math.abs(n[13]-r[13])<=i*Math.max(1,Math.abs(n[13]),Math.abs(r[13]))&&Math.abs(n[14]-r[14])<=i*Math.max(1,Math.abs(n[14]),Math.abs(r[14]))&&Math.abs(n[15]-r[15])<=i*Math.max(1,Math.abs(n[15]),Math.abs(r[15]))},r.adjoint=function(t,e){var i=e.m,n=t.m,r=i[0],s=i[1],a=i[2],o=i[3],l=i[4],c=i[5],h=i[6],u=i[7],_=i[8],f=i[9],d=i[10],p=i[11],m=i[12],y=i[13],v=i[14],g=i[15];return n[0]=c*(d*g-p*v)-f*(h*g-u*v)+y*(h*p-u*d),n[1]=-(s*(d*g-p*v)-f*(a*g-o*v)+y*(a*p-o*d)),n[2]=s*(h*g-u*v)-c*(a*g-o*v)+y*(a*u-o*h),n[3]=-(s*(h*p-u*d)-c*(a*p-o*d)+f*(a*u-o*h)),n[4]=-(l*(d*g-p*v)-_*(h*g-u*v)+m*(h*p-u*d)),n[5]=r*(d*g-p*v)-_*(a*g-o*v)+m*(a*p-o*d),n[6]=-(r*(h*g-u*v)-l*(a*g-o*v)+m*(a*u-o*h)),n[7]=r*(h*p-u*d)-l*(a*p-o*d)+_*(a*u-o*h),n[8]=l*(f*g-p*y)-_*(c*g-u*y)+m*(c*p-u*f),n[9]=-(r*(f*g-p*y)-_*(s*g-o*y)+m*(s*p-o*f)),n[10]=r*(c*g-u*y)-l*(s*g-o*y)+m*(s*u-o*c),n[11]=-(r*(c*p-u*f)-l*(s*p-o*f)+_*(s*u-o*c)),n[12]=-(l*(f*v-d*y)-_*(c*v-h*y)+m*(c*d-h*f)),n[13]=r*(f*v-d*y)-_*(s*v-a*y)+m*(s*d-a*f),n[14]=-(r*(c*v-h*y)-l*(s*v-a*y)+m*(s*h-a*c)),n[15]=r*(c*d-h*f)-l*(s*d-a*f)+_*(s*h-a*c),t},r.toArray=function(t,e,i){void 0===i&&(i=0);for(var n=e.m,r=0;r<16;r++)t[i+r]=n[r];return t},r.fromArray=function(t,e,i){void 0===i&&(i=0);for(var n=t.m,r=0;r<16;r++)n[r]=e[i+r];return t},n.clone=function(){var t=this.m;return new r(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},n.set=function(t){var e=this.m,i=t.m;return e[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],e[9]=i[9],e[10]=i[10],e[11]=i[11],e[12]=i[12],e[13]=i[13],e[14]=i[14],e[15]=i[15],this},n.equals=function(t){return r.strictEquals(this,t)},n.fuzzyEquals=function(t){return r.equals(this,t)},n.toString=function(){var t=this.m;return t?"[\n"+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+",\n"+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+",\n"+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+",\n"+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+"\n]":"[\n1, 0, 0, 0\n0, 1, 0, 0\n0, 0, 1, 0\n0, 0, 0, 1\n]"},n.identity=function(){return r.identity(this)},n.transpose=function(t){return t=t||new r,r.transpose(t,this)},n.invert=function(t){return t=t||new r,r.invert(t,this)},n.adjoint=function(t){return t=t||new r,r.adjoint(t,this)},n.determinant=function(){return r.determinant(this)},n.add=function(t,e){return e=e||new r,r.add(e,this,t)},n.subtract=function(t){return r.subtract(this,this,t)},n.multiply=function(t){return r.multiply(this,this,t)},n.multiplyScalar=function(t){return r.multiplyScalar(this,this,t)},n.translate=function(t,e){return e=e||new r,r.translate(e,this,t)},n.scale=function(t,e){return e=e||new r,r.scale(e,this,t)},n.rotate=function(t,e,i){return i=i||new r,r.rotate(i,this,t,e)},n.getTranslation=function(t){return t=t||new s.default,r.getTranslation(t,this)},n.getScale=function(t){return t=t||new s.default,r.getScaling(t,this)},n.getRotation=function(t){return t=t||new a.default,r.getRotation(t,this)},n.fromRTS=function(t,e,i){return r.fromRTS(this,t,e,i)},n.fromQuat=function(t){return r.fromQuat(this,t)},r})(n.default);i.default=E,E.mul=E.multiply,E.sub=E.subtract,E.IDENTITY=Object.freeze(new E);var M=new s.default,D=new l.default;r.default.fastDefine("cc.Mat4",E,{m00:1,m01:0,m02:0,m03:0,m04:0,m05:1,m06:0,m07:0,m08:0,m09:0,m10:1,m11:0,m12:0,m13:0,m14:0,m15:1});for(var B=function(t){Object.defineProperty(E.prototype,"m"+t,{get:function(){return this.m[t]},set:function(e){this.m[t]=e}})},P=0;P<16;P++)B(P);cc.mat4=function(t,e,i,n,r,s,a,o,l,c,h,u,_,f,d,p){var m=new E(t,e,i,n,r,s,a,o,l,c,h,u,_,f,d,p);return void 0===t&&E.identity(m),m},cc.Mat4=E,e.exports=i.default}),{"../platform/CCClass":239,"./mat3":340,"./quat":342,"./utils":346,"./value-type":347,"./vec3":349}],342:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=l(t("./value-type")),r=l(t("../platform/CCClass")),s=l(t("./vec3")),a=l(t("./mat3")),o=t("./utils");function l(t){return t&&t.__esModule?t:{default:t}}function c(t,e){return(c=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var h=0,u=0,_=0,f=0,d=(function(t){var e,i;i=t,(e=r).prototype=Object.create(i.prototype),e.prototype.constructor=e,c(e,i);var n=r.prototype;function r(e,i,n,r){var s;return void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===r&&(r=1),(s=t.call(this)||this).x=void 0,s.y=void 0,s.z=void 0,s.w=void 0,e&&"object"==typeof e?(s.x=e.x,s.y=e.y,s.z=e.z,s.w=e.w):(s.x=e,s.y=i,s.z=n,s.w=r),s}return n.mul=function(t,e){return r.multiply(e||new r,this,t)},r.clone=function(t){return new r(t.x,t.y,t.z,t.w)},r.copy=function(t,e){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t},r.set=function(t,e,i,n,r){return t.x=e,t.y=i,t.z=n,t.w=r,t},r.identity=function(t){return t.x=0,t.y=0,t.z=0,t.w=1,t},r.rotationTo=function(t,e,i){var n=s.default.dot(e,i);return n<-.999999?(s.default.cross(y,s.default.RIGHT,e),y.mag()<1e-6&&s.default.cross(y,s.default.UP,e),s.default.normalize(y,y),r.fromAxisAngle(t,y,Math.PI),t):n>.999999?(t.x=0,t.y=0,t.z=0,t.w=1,t):(s.default.cross(y,e,i),t.x=y.x,t.y=y.y,t.z=y.z,t.w=1+n,r.normalize(t,t))},r.getAxisAngle=function(t,e){var i=2*Math.acos(e.w),n=Math.sin(i/2);return 0!==n?(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n):(t.x=1,t.y=0,t.z=0),i},r.multiply=function(t,e,i){return h=e.x*i.w+e.w*i.x+e.y*i.z-e.z*i.y,u=e.y*i.w+e.w*i.y+e.z*i.x-e.x*i.z,_=e.z*i.w+e.w*i.z+e.x*i.y-e.y*i.x,f=e.w*i.w-e.x*i.x-e.y*i.y-e.z*i.z,t.x=h,t.y=u,t.z=_,t.w=f,t},r.multiplyScalar=function(t,e,i){return t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t.w=e.w*i,t},r.scaleAndAdd=function(t,e,i,n){return t.x=e.x+i.x*n,t.y=e.y+i.y*n,t.z=e.z+i.z*n,t.w=e.w+i.w*n,t},r.rotateX=function(t,e,i){i*=.5;var n=Math.sin(i),r=Math.cos(i);return h=e.x*r+e.w*n,u=e.y*r+e.z*n,_=e.z*r-e.y*n,f=e.w*r-e.x*n,t.x=h,t.y=u,t.z=_,t.w=f,t},r.rotateY=function(t,e,i){i*=.5;var n=Math.sin(i),r=Math.cos(i);return h=e.x*r-e.z*n,u=e.y*r+e.w*n,_=e.z*r+e.x*n,f=e.w*r-e.y*n,t.x=h,t.y=u,t.z=_,t.w=f,t},r.rotateZ=function(t,e,i){i*=.5;var n=Math.sin(i),r=Math.cos(i);return h=e.x*r+e.y*n,u=e.y*r-e.x*n,_=e.z*r+e.w*n,f=e.w*r-e.z*n,t.x=h,t.y=u,t.z=_,t.w=f,t},r.rotateAround=function(t,e,i,n){return r.invert(p,e),s.default.transformQuat(y,i,p),r.fromAxisAngle(p,y,n),r.multiply(t,e,p),t},r.rotateAroundLocal=function(t,e,i,n){return r.fromAxisAngle(p,i,n),r.multiply(t,e,p),t},r.calculateW=function(t,e){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=Math.sqrt(Math.abs(1-e.x*e.x-e.y*e.y-e.z*e.z)),t},r.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z+t.w*e.w},r.lerp=function(t,e,i,n){return t.x=e.x+n*(i.x-e.x),t.y=e.y+n*(i.y-e.y),t.z=e.z+n*(i.z-e.z),t.w=e.w+n*(i.w-e.w),t},r.slerp=function(t,e,i,n){var r=0,s=0,a=e.x*i.x+e.y*i.y+e.z*i.z+e.w*i.w;if(a<0&&(a=-a,i.x=-i.x,i.y=-i.y,i.z=-i.z,i.w=-i.w),1-a>1e-6){var o=Math.acos(a),l=Math.sin(o);r=Math.sin((1-n)*o)/l,s=Math.sin(n*o)/l}else r=1-n,s=n;return t.x=r*e.x+s*i.x,t.y=r*e.y+s*i.y,t.z=r*e.z+s*i.z,t.w=r*e.w+s*i.w,t},r.sqlerp=function(t,e,i,n,s,a){return r.slerp(p,e,s,a),r.slerp(m,i,n,a),r.slerp(t,p,m,2*a*(1-a)),t},r.invert=function(t,e){var i=e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w,n=i?1/i:0;return t.x=-e.x*n,t.y=-e.y*n,t.z=-e.z*n,t.w=e.w*n,t},r.conjugate=function(t,e){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=e.w,t},r.len=function(t){return Math.sqrt(t.x*t.x+t.y*t.y+t.z*t.z+t.w*t.w)},r.lengthSqr=function(t){return t.x*t.x+t.y*t.y+t.z*t.z+t.w*t.w},r.normalize=function(t,e){var i=e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w;return i>0&&(i=1/Math.sqrt(i),t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t.w=e.w*i),t},r.fromAxes=function(t,e,i,n){return a.default.set(v,e.x,e.y,e.z,i.x,i.y,i.z,n.x,n.y,n.z),r.normalize(t,r.fromMat3(t,v))},r.fromViewUp=function(t,e,i){return a.default.fromViewUp(v,e,i),r.normalize(t,r.fromMat3(t,v))},r.fromAxisAngle=function(t,e,i){i*=.5;var n=Math.sin(i);return t.x=n*e.x,t.y=n*e.y,t.z=n*e.z,t.w=Math.cos(i),t},r.fromAngleZ=function(t,e){return e*=g,t.x=t.y=0,t.z=Math.sin(e),t.w=Math.cos(e),t},r.fromMat3=function(t,e){var i=e.m,n=i[0],r=i[1],s=i[2],a=i[3],o=i[4],l=i[5],c=i[6],h=i[7],u=i[8],_=n+o+u;if(_>0){var f=.5/Math.sqrt(_+1);t.w=.25/f,t.x=(l-h)*f,t.y=(c-s)*f,t.z=(r-a)*f}else if(n>o&&n>u){var d=2*Math.sqrt(1+n-o-u);t.w=(l-h)/d,t.x=.25*d,t.y=(a+r)/d,t.z=(c+s)/d}else if(o>u){var p=2*Math.sqrt(1+o-n-u);t.w=(c-s)/p,t.x=(a+r)/p,t.y=.25*p,t.z=(h+l)/p}else{var m=2*Math.sqrt(1+u-n-o);t.w=(r-a)/m,t.x=(c+s)/m,t.y=(h+l)/m,t.z=.25*m}return t},r.fromEuler=function(t,e,i,n){e*=g,i*=g,n*=g;var r=Math.sin(e),s=Math.cos(e),a=Math.sin(i),o=Math.cos(i),l=Math.sin(n),c=Math.cos(n);return t.x=r*o*c+s*a*l,t.y=s*a*c+r*o*l,t.z=s*o*l-r*a*c,t.w=s*o*c-r*a*l,t},r.toAxisX=function(t,e){var i=2*e.y,n=2*e.z;return t.x=1-i*e.y-n*e.z,t.y=i*e.x+n*e.w,t.z=n*e.x+i*e.w,t},r.toAxisY=function(t,e){var i=2*e.x,n=2*e.y,r=2*e.z;return t.x=n*e.x-r*e.w,t.y=1-i*e.x-r*e.z,t.z=r*e.y+i*e.w,t},r.toAxisZ=function(t,e){var i=2*e.x,n=2*e.y,r=2*e.z;return t.x=r*e.x-n*e.w,t.y=r*e.y-i*e.w,t.z=1-i*e.x-n*e.y,t},r.toEuler=function(t,e,i){var n=e.x,r=e.y,s=e.z,a=e.w,l=0,c=0,h=0,u=n*r+s*a;if(u>.499999)l=0,c=(0,o.toDegree)(2*Math.atan2(n,a)),h=90;else if(u<-.499999)l=0,c=-(0,o.toDegree)(2*Math.atan2(n,a)),h=-90;else{var _=n*n,f=r*r,d=s*s;l=(0,o.toDegree)(Math.atan2(2*n*a-2*r*s,1-2*_-2*d)),c=(0,o.toDegree)(Math.atan2(2*r*a-2*n*s,1-2*f-2*d)),h=(0,o.toDegree)(Math.asin(2*u)),i&&(l=-180*Math.sign(l+1e-6)+l,c=-180*Math.sign(c+1e-6)+c,h=180*Math.sign(h+1e-6)-h)}return t.x=l,t.y=c,t.z=h,t},r.strictEquals=function(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z&&t.w===e.w},r.equals=function(t,e,i){return void 0===i&&(i=o.EPSILON),Math.abs(t.x-e.x)<=i*Math.max(1,Math.abs(t.x),Math.abs(e.x))&&Math.abs(t.y-e.y)<=i*Math.max(1,Math.abs(t.y),Math.abs(e.y))&&Math.abs(t.z-e.z)<=i*Math.max(1,Math.abs(t.z),Math.abs(e.z))&&Math.abs(t.w-e.w)<=i*Math.max(1,Math.abs(t.w),Math.abs(e.w))},r.toArray=function(t,e,i){return void 0===i&&(i=0),t[i+0]=e.x,t[i+1]=e.y,t[i+2]=e.z,t[i+3]=e.w,t},r.fromArray=function(t,e,i){return void 0===i&&(i=0),t.x=e[i+0],t.y=e[i+1],t.z=e[i+2],t.w=e[i+3],t},n.clone=function(){return new r(this.x,this.y,this.z,this.w)},n.set=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},n.equals=function(t){return t&&this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w},n.toEuler=function(t){return r.toEuler(t,this)},n.fromEuler=function(t){return r.fromEuler(this,t.x,t.y,t.z)},n.lerp=function(t,e,i){return i=i||new r,r.slerp(i,this,t,e),i},n.multiply=function(t){return r.multiply(this,this,t)},n.rotateAround=function(t,e,i,n){return n=n||new r,r.rotateAround(n,t,e,i)},r})(n.default);i.default=d,d.mul=d.multiply,d.scale=d.multiplyScalar,d.mag=d.len,d.IDENTITY=Object.freeze(new d);var p=new d,m=new d,y=new s.default,v=new a.default,g=.5*Math.PI/180;r.default.fastDefine("cc.Quat",d,{x:0,y:0,z:0,w:1}),cc.quat=function(t,e,i,n){return new d(t,e,i,n)},cc.Quat=d,e.exports=i.default}),{"../platform/CCClass":239,"./mat3":340,"./utils":346,"./value-type":347,"./vec3":349}],343:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=o(t("./value-type")),r=o(t("../platform/CCClass")),s=o(t("./vec2")),a=o(t("./size"));function o(t){return t&&t.__esModule?t:{default:t}}function l(t,e){for(var i=0;i=t.x&&this.y<=t.y&&this.y+this.height>=t.y},h.containsRect=function(t){return this.x<=t.x&&this.x+this.width>=t.x+t.width&&this.y<=t.y&&this.y+this.height>=t.y+t.height},h.union=function(t,e){var i=this.x,n=this.y,r=this.width,s=this.height,a=e.x,o=e.y,l=e.width,c=e.height;return t.x=Math.min(i,a),t.y=Math.min(n,o),t.width=Math.max(i+r,a+l)-t.x,t.height=Math.max(n+s,o+c)-t.y,t},h.transformMat4=function(t,e){var i=this.x,n=this.y,r=i+this.width,s=n+this.height,a=e.m,o=a[0]*i+a[4]*n+a[12],l=a[1]*i+a[5]*n+a[13],c=a[0]*r+a[4]*n+a[12],h=a[1]*r+a[5]*n+a[13],u=a[0]*i+a[4]*s+a[12],_=a[1]*i+a[5]*s+a[13],f=a[0]*r+a[4]*s+a[12],d=a[1]*r+a[5]*s+a[13],p=Math.min(o,c,u,f),m=Math.max(o,c,u,f),y=Math.min(l,h,_,d),v=Math.max(l,h,_,d);return t.x=p,t.y=y,t.width=m-p,t.height=v-y,t},h.toString=function(){return"("+this.x.toFixed(2)+", "+this.y.toFixed(2)+", "+this.width.toFixed(2)+", "+this.height.toFixed(2)+")"},r=n,(o=[{key:"xMin",get:function(){return this.x},set:function(t){this.width+=this.x-t,this.x=t}},{key:"yMin",get:function(){return this.y},set:function(t){this.height+=this.y-t,this.y=t}},{key:"xMax",get:function(){return this.x+this.width},set:function(t){this.width=t-this.x}},{key:"yMax",get:function(){return this.y+this.height},set:function(t){this.height=t-this.y}},{key:"center",get:function(){return new s.default(this.x+.5*this.width,this.y+.5*this.height)},set:function(t){this.x=t.x-.5*this.width,this.y=t.y-.5*this.height}},{key:"origin",get:function(){return new s.default(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}},{key:"size",get:function(){return new a.default(this.width,this.height)},set:function(t){this.width=t.width,this.height=t.height}}])&&l(r.prototype,o),n})(n.default);i.default=h,r.default.fastDefine("cc.Rect",h,{x:0,y:0,width:0,height:0}),cc.Rect=h,cc.rect=function(t,e,i,n){return new h(t,e,i,n)},e.exports=i.default}),{"../platform/CCClass":239,"./size":344,"./value-type":347,"./vec2":348}],344:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=s(t("./value-type")),r=s(t("../platform/CCClass"));function s(t){return t&&t.__esModule?t:{default:t}}function a(t,e){for(var i=0;ii?i:t},i.clamp01=function(t){return t<0?0:t>1?1:t},i.equals=function(t,e){return Math.abs(t-e)<=s*Math.max(1,Math.abs(t),Math.abs(e))},i.inverseLerp=function(t,e,i){return(i-t)/(e-t)},i.lerp=function(t,e,i){return t+(e-t)*i},i.nextPow2=function(t){return--t,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i.pingPong=function(t,e){return t=u(t,2*e),e-Math.abs(t-e)},i.pseudoRandom=c,i.pseudoRandomRange=h,i.pseudoRandomRangeInt=function(t,e,i){return Math.floor(h(t,e,i))},i.random=void 0,i.randomRange=l,i.randomRangeInt=function(t,e){return Math.floor(l(t,e))},i.repeat=u,i.sign=function(t){return(t>0)-(t<0)},i.toDegree=function(t){return t*r},i.toRadian=function(t){return t*n};var n=Math.PI/180,r=180/Math.PI,s=1e-6;i.EPSILON=s,i.INT_BITS=32,i.INT_MAX=2147483647,i.INT_MIN=-1<<31;var a=Float64Array;i.FLOAT_ARRAY_TYPE=a,i.FLOAT_BYTES=8;var o=Math.random;function l(t,e){return Math.random()*(e-t)+t}function c(t){return(t=(9301*t+49297)%233280)/233280}function h(t,e,i){return c(t)*(i-e)+e}function u(t,e){return t-Math.floor(t/e)*e}i.random=o}),{}],347:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("../platform/js"))&&n.__esModule?n:{default:n},s=(function(){function t(){}var e=t.prototype;return e.clone=function(){return cc.errorID("0100",r.default.getClassName(this)+".clone"),null},e.equals=function(){return cc.errorID("0100",r.default.getClassName(this)+".equals"),!1},e.lerp=function(){return cc.errorID("0100",r.default.getClassName(this)+".lerp"),this.clone()},e.set=function(){cc.errorID("0100",r.default.getClassName(this)+".set")},e.toString=function(){return""+{}},t})();i.default=s,r.default.setClassName("cc.ValueType",s),cc.ValueType=s,e.exports=i.default}),{"../platform/js":260}],348:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=o(t("./value-type")),r=o(t("../platform/CCClass")),s=o(t("../utils/misc")),a=t("./utils");function o(t){return t&&t.__esModule?t:{default:t}}function l(t,e){for(var i=0;i0&&(i=1/Math.sqrt(i),t.x=h*i,t.y=u*i),t},_.dot=function(t,e){return t.x*e.x+t.y*e.y},_.cross=function(t,e,i){return t.x=t.y=0,t.z=e.x*i.y-e.y*i.x,t},_.lerp=function(t,e,i,n){return h=e.x,u=e.y,t.x=h+n*(i.x-h),t.y=u+n*(i.y-u),t},_.random=function(t,e){e=e||1;var i=2*(0,a.random)()*Math.PI;return t.x=Math.cos(i)*e,t.y=Math.sin(i)*e,t},_.transformMat3=function(t,e,i){h=e.x,u=e.y;var n=i.m;return t.x=n[0]*h+n[3]*u+n[6],t.y=n[1]*h+n[4]*u+n[7],t},_.transformMat4=function(t,e,i){h=e.x,u=e.y;var n=i.m;return t.x=n[0]*h+n[4]*u+n[12],t.y=n[1]*h+n[5]*u+n[13],t},_.strictEquals=function(t,e){return t.x===e.x&&t.y===e.y},_.equals=function(t,e,i){return void 0===i&&(i=a.EPSILON),Math.abs(t.x-e.x)<=i*Math.max(1,Math.abs(t.x),Math.abs(e.x))&&Math.abs(t.y-e.y)<=i*Math.max(1,Math.abs(t.y),Math.abs(e.y))},_.angle=function(t,e){_.normalize(f,t),_.normalize(d,e);var i=_.dot(f,d);return i>1?0:i<-1?Math.PI:Math.acos(i)},_.toArray=function(t,e,i){return void 0===i&&(i=0),t[i+0]=e.x,t[i+1]=e.y,t},_.fromArray=function(t,e,i){return void 0===i&&(i=0),t.x=e[i+0],t.y=e[i+1],t},o.clone=function(){return new _(this.x,this.y)},o.set=function(t){return this.x=t.x,this.y=t.y,this},o.equals=function(t){return t&&this.x===t.x&&this.y===t.y},o.fuzzyEquals=function(t,e){return this.x-e<=t.x&&t.x<=this.x+e&&this.y-e<=t.y&&t.y<=this.y+e},o.toString=function(){return"("+this.x.toFixed(2)+", "+this.y.toFixed(2)+")"},o.lerp=function(t,e,i){i=i||new _;var n=this.x,r=this.y;return i.x=n+(t.x-n)*e,i.y=r+(t.y-r)*e,i},o.clampf=function(t,e){return this.x=s.default.clampf(this.x,t.x,e.x),this.y=s.default.clampf(this.y,t.y,e.y),this},o.add=function(t,e){return(e=e||new _).x=this.x+t.x,e.y=this.y+t.y,e},o.addSelf=function(t){return this.x+=t.x,this.y+=t.y,this},o.subtract=function(t){return this.x-=t.x,this.y-=t.y,this},o.multiplyScalar=function(t){return this.x*=t,this.y*=t,this},o.multiply=function(t){return this.x*=t.x,this.y*=t.y,this},o.divide=function(t){return this.x/=t,this.y/=t,this},o.negate=function(){return this.x=-this.x,this.y=-this.y,this},o.dot=function(t){return this.x*t.x+this.y*t.y},o.cross=function(t){return this.x*t.y-this.y*t.x},o.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},o.lengthSqr=function(){return this.x*this.x+this.y*this.y},o.normalizeSelf=function(){var t=this.x*this.x+this.y*this.y;if(1===t)return this;if(0===t)return this;var e=1/Math.sqrt(t);return this.x*=e,this.y*=e,this},o.normalize=function(t){return(t=t||new _).x=this.x,t.y=this.y,t.normalizeSelf(),t},o.angle=function(t){var e=this.magSqr(),i=t.magSqr();if(0===e||0===i)return console.warn("Can't get angle between zero vector"),0;var n=this.dot(t)/Math.sqrt(e*i);return n=s.default.clampf(n,-1,1),Math.acos(n)},o.signAngle=function(t){var e=this.angle(t);return this.cross(t)<0?-e:e},o.rotate=function(t,e){return(e=e||new _).x=this.x,e.y=this.y,e.rotateSelf(t)},o.rotateSelf=function(t){var e=Math.sin(t),i=Math.cos(t),n=this.x;return this.x=i*n-e*this.y,this.y=e*n+i*this.y,this},o.project=function(t){return t.multiplyScalar(this.dot(t)/t.dot(t))},o.transformMat4=function(t,e){return e=e||new _,_.transformMat4(e,this,t),e},o.maxAxis=function(){return Math.max(this.x,this.y)},n=_,r=[{key:"ONE",get:function(){return new _(1,1)}},{key:"ZERO",get:function(){return new _(0,0)}},{key:"UP",get:function(){return new _(0,1)}},{key:"RIGHT",get:function(){return new _(1,0)}}],null&&l(n.prototype,null),r&&l(n,r),_})(n.default);i.default=_,_.sub=_.subtract,_.mul=_.multiply,_.scale=_.multiplyScalar,_.mag=_.len,_.squaredMagnitude=_.lengthSqr,_.div=_.divide,_.ONE_R=_.ONE,_.ZERO_R=_.ZERO,_.UP_R=_.UP,_.RIGHT_R=_.RIGHT;var f=new _,d=new _;r.default.fastDefine("cc.Vec2",_,{x:0,y:0}),cc.v2=function(t,e){return new _(t,e)},cc.Vec2=_,e.exports=i.default}),{"../platform/CCClass":239,"../utils/misc":324,"./utils":346,"./value-type":347}],349:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=l(t("./value-type")),r=l(t("../platform/CCClass")),s=l(t("../utils/misc")),a=l(t("./vec2")),o=t("./utils");function l(t){return t&&t.__esModule?t:{default:t}}function c(t,e){for(var i=0;i0&&(i=1/Math.sqrt(i),t.x=u*i,t.y=_*i,t.z=f*i),t},d.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z},d.cross=function(t,e,i){var n=e.x,r=e.y,s=e.z,a=i.x,o=i.y,l=i.z;return t.x=r*l-s*o,t.y=s*a-n*l,t.z=n*o-r*a,t},d.lerp=function(t,e,i,n){return t.x=e.x+n*(i.x-e.x),t.y=e.y+n*(i.y-e.y),t.z=e.z+n*(i.z-e.z),t},d.random=function(t,e){e=e||1;var i=2*(0,o.random)()*Math.PI,n=2*(0,o.random)()-1,r=Math.sqrt(1-n*n);return t.x=r*Math.cos(i)*e,t.y=r*Math.sin(i)*e,t.z=n*e,t},d.transformMat4=function(t,e,i){u=e.x,_=e.y,f=e.z;var n=i.m,r=n[3]*u+n[7]*_+n[11]*f+n[15];return r=r?1/r:1,t.x=(n[0]*u+n[4]*_+n[8]*f+n[12])*r,t.y=(n[1]*u+n[5]*_+n[9]*f+n[13])*r,t.z=(n[2]*u+n[6]*_+n[10]*f+n[14])*r,t},d.transformMat4Normal=function(t,e,i){u=e.x,_=e.y,f=e.z;var n=i.m,r=n[3]*u+n[7]*_+n[11]*f;return r=r?1/r:1,t.x=(n[0]*u+n[4]*_+n[8]*f)*r,t.y=(n[1]*u+n[5]*_+n[9]*f)*r,t.z=(n[2]*u+n[6]*_+n[10]*f)*r,t},d.transformMat3=function(t,e,i){u=e.x,_=e.y,f=e.z;var n=i.m;return t.x=u*n[0]+_*n[3]+f*n[6],t.y=u*n[1]+_*n[4]+f*n[7],t.z=u*n[2]+_*n[5]+f*n[8],t},d.transformAffine=function(t,e,i){u=e.x,_=e.y,f=e.z;var n=i.m;return t.x=n[0]*u+n[1]*_+n[2]*f+n[3],t.y=n[4]*u+n[5]*_+n[6]*f+n[7],t.x=n[8]*u+n[9]*_+n[10]*f+n[11],t},d.transformQuat=function(t,e,i){var n=i.w*e.x+i.y*e.z-i.z*e.y,r=i.w*e.y+i.z*e.x-i.x*e.z,s=i.w*e.z+i.x*e.y-i.y*e.x,a=-i.x*e.x-i.y*e.y-i.z*e.z;return t.x=n*i.w+a*-i.x+r*-i.z-s*-i.y,t.y=r*i.w+a*-i.y+s*-i.x-n*-i.z,t.z=s*i.w+a*-i.z+n*-i.y-r*-i.x,t},d.transformRTS=function(t,e,i,n,r){var s=e.x*r.x,a=e.y*r.y,o=e.z*r.z,l=i.w*s+i.y*o-i.z*a,c=i.w*a+i.z*s-i.x*o,h=i.w*o+i.x*a-i.y*s,u=-i.x*s-i.y*a-i.z*o;return t.x=l*i.w+u*-i.x+c*-i.z-h*-i.y+n.x,t.y=c*i.w+u*-i.y+h*-i.x-l*-i.z+n.y,t.z=h*i.w+u*-i.z+l*-i.y-c*-i.x+n.z,t},d.transformInverseRTS=function(t,e,i,n,r){var s=e.x-n.x,a=e.y-n.y,o=e.z-n.z,l=i.w*s-i.y*o+i.z*a,c=i.w*a-i.z*s+i.x*o,h=i.w*o-i.x*a+i.y*s,u=i.x*s+i.y*a+i.z*o;return t.x=(l*i.w+u*i.x+c*i.z-h*i.y)/r.x,t.y=(c*i.w+u*i.y+h*i.x-l*i.z)/r.y,t.z=(h*i.w+u*i.z+l*i.y-c*i.x)/r.z,t},d.rotateX=function(t,e,i,n){u=e.x-i.x,_=e.y-i.y,f=e.z-i.z;var r=Math.cos(n),s=Math.sin(n),a=u,o=_*r-f*s,l=_*s+f*r;return t.x=a+i.x,t.y=o+i.y,t.z=l+i.z,t},d.rotateY=function(t,e,i,n){u=e.x-i.x,_=e.y-i.y,f=e.z-i.z;var r=Math.cos(n),s=Math.sin(n),a=f*s+u*r,o=_,l=f*r-u*s;return t.x=a+i.x,t.y=o+i.y,t.z=l+i.z,t},d.rotateZ=function(t,e,i,n){u=e.x-i.x,_=e.y-i.y,f=e.z-i.z;var r=Math.cos(n),s=Math.sin(n),a=u*r-_*s,o=u*s+_*r,l=f;return t.x=a+i.x,t.y=o+i.y,t.z=l+i.z,t},d.strictEquals=function(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z},d.equals=function(t,e,i){void 0===i&&(i=o.EPSILON);var n=t.x,r=t.y,s=t.z,a=e.x,l=e.y,c=e.z;return Math.abs(n-a)<=i*Math.max(1,Math.abs(n),Math.abs(a))&&Math.abs(r-l)<=i*Math.max(1,Math.abs(r),Math.abs(l))&&Math.abs(s-c)<=i*Math.max(1,Math.abs(s),Math.abs(c))},d.angle=function(t,e){d.normalize(p,t),d.normalize(m,e);var i=d.dot(p,m);return i>1?0:i<-1?Math.PI:Math.acos(i)},d.projectOnPlane=function(t,e,i){return d.subtract(t,e,d.project(t,e,i))},d.project=function(t,e,i){var n=d.lengthSqr(i);return n<1e-6?d.set(t,0,0,0):d.multiplyScalar(t,i,d.dot(e,i)/n)},d.toArray=function(t,e,i){return void 0===i&&(i=0),t[i+0]=e.x,t[i+1]=e.y,t[i+2]=e.z,t},d.fromArray=function(t,e,i){return void 0===i&&(i=0),t.x=e[i+0],t.y=e[i+1],t.z=e[i+2],t},l.clone=function(){return new d(this.x,this.y,this.z)},l.set=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},l.equals=function(t){return t&&this.x===t.x&&this.y===t.y&&this.z===t.z},l.fuzzyEquals=function(t,e){return this.x-e<=t.x&&t.x<=this.x+e&&this.y-e<=t.y&&t.y<=this.y+e&&this.z-e<=t.z&&t.z<=this.z+e},l.toString=function(){return"("+this.x.toFixed(2)+", "+this.y.toFixed(2)+", "+this.z.toFixed(2)+")"},l.lerp=function(t,e,i){return i=i||new d,d.lerp(i,this,t,e),i},l.clampf=function(t,e){return this.x=s.default.clampf(this.x,t.x,e.x),this.y=s.default.clampf(this.y,t.y,e.y),this.z=s.default.clampf(this.z,t.z,e.z),this},l.addSelf=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this},l.add=function(t,e){return(e=e||new d).x=this.x+t.x,e.y=this.y+t.y,e.z=this.z+t.z,e},l.subtract=function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this},l.multiplyScalar=function(t){return this.x*=t,this.y*=t,this.z*=t,this},l.multiply=function(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this},l.divide=function(t){return this.x/=t,this.y/=t,this.z/=t,this},l.negate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},l.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z},l.cross=function(t,e){return e=e||new d,d.cross(e,this,t),e},l.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},l.lengthSqr=function(){return this.x*this.x+this.y*this.y+this.z*this.z},l.normalizeSelf=function(){return d.normalize(this,this),this},l.normalize=function(t){return t=t||new d,d.normalize(t,this),t},l.transformMat4=function(t,e){return e=e||new d,d.transformMat4(e,this,t),e},l.maxAxis=function(){return Math.max(this.x,this.y,this.z)},l.signAngle=function(t){cc.warnID(1408,"vec3.signAngle","v2.1","cc.v2(selfVector).signAngle(vector)");var e=new a.default(this.x,this.y),i=new a.default(t.x,t.y);return e.signAngle(i)},l.rotate=function(t,e){return cc.warnID(1408,"vec3.rotate","v2.1","cc.v2(selfVector).rotate(radians, out)"),a.default.prototype.rotate.call(this,t,e)},l.rotateSelf=function(t){return cc.warnID(1408,"vec3.rotateSelf","v2.1","cc.v2(selfVector).rotateSelf(radians)"),a.default.prototype.rotateSelf.call(this,t)},n=d,r=[{key:"ONE",get:function(){return new d(1,1,1)}},{key:"ZERO",get:function(){return new d}},{key:"UP",get:function(){return new d(0,1,0)}},{key:"RIGHT",get:function(){return new d(1,0,0)}},{key:"FORWARD",get:function(){return new d(0,0,1)}}],null&&c(n.prototype,null),r&&c(n,r),d})(n.default);i.default=d,d.sub=d.subtract,d.mul=d.multiply,d.scale=d.multiplyScalar,d.mag=d.len,d.squaredMagnitude=d.lengthSqr,d.div=d.divide,d.ONE_R=d.ONE,d.ZERO_R=d.ZERO,d.UP_R=d.UP,d.RIGHT_R=d.RIGHT,d.FRONT_R=d.FORWARD;var p=new d,m=new d;r.default.fastDefine("cc.Vec3",d,{x:0,y:0,z:0}),cc.v3=function(t,e,i){return new d(t,e,i)},cc.Vec3=d,e.exports=i.default}),{"../platform/CCClass":239,"../utils/misc":324,"./utils":346,"./value-type":347,"./vec2":348}],350:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0,i.v4=d;var n=a(t("../platform/CCClass")),r=a(t("./value-type")),s=t("./utils");function a(t){return t&&t.__esModule?t:{default:t}}function o(t,e){for(var i=0;i0&&(i=1/Math.sqrt(i),t.x=c*i,t.y=h*i,t.z=u*i,t.w=_*i),t},f.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z+t.w*e.w},f.lerp=function(t,e,i,n){return t.x=e.x+n*(i.x-e.x),t.y=e.y+n*(i.y-e.y),t.z=e.z+n*(i.z-e.z),t.w=e.w+n*(i.w-e.w),t},f.random=function(t,e){e=e||1;var i=2*(0,s.random)()*Math.PI,n=2*(0,s.random)()-1,r=Math.sqrt(1-n*n);return t.x=r*Math.cos(i)*e,t.y=r*Math.sin(i)*e,t.z=n*e,t.w=0,t},f.transformMat4=function(t,e,i){c=e.x,h=e.y,u=e.z,_=e.w;var n=i.m;return t.x=n[0]*c+n[4]*h+n[8]*u+n[12]*_,t.y=n[1]*c+n[5]*h+n[9]*u+n[13]*_,t.z=n[2]*c+n[6]*h+n[10]*u+n[14]*_,t.w=n[3]*c+n[7]*h+n[11]*u+n[15]*_,t},f.transformAffine=function(t,e,i){c=e.x,h=e.y,u=e.z,_=e.w;var n=i.m;return t.x=n[0]*c+n[1]*h+n[2]*u+n[3]*_,t.y=n[4]*c+n[5]*h+n[6]*u+n[7]*_,t.x=n[8]*c+n[9]*h+n[10]*u+n[11]*_,t.w=e.w,t},f.transformQuat=function(t,e,i){var n=e.x,r=e.y,s=e.z;c=i.x,h=i.y,u=i.z;var a=(_=i.w)*n+h*s-u*r,o=_*r+u*n-c*s,l=_*s+c*r-h*n,f=-c*n-h*r-u*s;return t.x=a*_+f*-c+o*-u-l*-h,t.y=o*_+f*-h+l*-c-a*-u,t.z=l*_+f*-u+a*-h-o*-c,t.w=e.w,t},f.strictEquals=function(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z&&t.w===e.w},f.equals=function(t,e,i){return void 0===i&&(i=s.EPSILON),Math.abs(t.x-e.x)<=i*Math.max(1,Math.abs(t.x),Math.abs(e.x))&&Math.abs(t.y-e.y)<=i*Math.max(1,Math.abs(t.y),Math.abs(e.y))&&Math.abs(t.z-e.z)<=i*Math.max(1,Math.abs(t.z),Math.abs(e.z))&&Math.abs(t.w-e.w)<=i*Math.max(1,Math.abs(t.w),Math.abs(e.w))},f.toArray=function(t,e,i){return void 0===i&&(i=0),t[i+0]=e.x,t[i+1]=e.y,t[i+2]=e.z,t[i+3]=e.w,t},f.fromArray=function(t,e,i){return void 0===i&&(i=0),t.x=e[i+0],t.y=e[i+1],t.z=e[i+2],t.w=e[i+3],t},a.clone=function(){return new f(this.x,this.y,this.z,this.w)},a.set=function(t,e,i,n){return t&&"object"==typeof t?(this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w):(this.x=t||0,this.y=e||0,this.z=i||0,this.w=n||0),this},a.equals=function(t,e){return void 0===e&&(e=s.EPSILON),Math.abs(this.x-t.x)<=e*Math.max(1,Math.abs(this.x),Math.abs(t.x))&&Math.abs(this.y-t.y)<=e*Math.max(1,Math.abs(this.y),Math.abs(t.y))&&Math.abs(this.z-t.z)<=e*Math.max(1,Math.abs(this.z),Math.abs(t.z))&&Math.abs(this.w-t.w)<=e*Math.max(1,Math.abs(this.w),Math.abs(t.w))},a.equals4f=function(t,e,i,n,r){return void 0===r&&(r=s.EPSILON),Math.abs(this.x-t)<=r*Math.max(1,Math.abs(this.x),Math.abs(t))&&Math.abs(this.y-e)<=r*Math.max(1,Math.abs(this.y),Math.abs(e))&&Math.abs(this.z-i)<=r*Math.max(1,Math.abs(this.z),Math.abs(i))&&Math.abs(this.w-n)<=r*Math.max(1,Math.abs(this.w),Math.abs(n))},a.strictEquals=function(t){return this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w},a.strictEquals4f=function(t,e,i,n){return this.x===t&&this.y===e&&this.z===i&&this.w===n},a.lerp=function(t,e){return c=this.x,h=this.y,u=this.z,_=this.w,this.x=c+e*(t.x-c),this.y=h+e*(t.y-h),this.z=u+e*(t.z-u),this.w=_+e*(t.w-_),this},a.toString=function(){return"("+this.x.toFixed(2)+", "+this.y.toFixed(2)+", "+this.z.toFixed(2)+", "+this.w.toFixed(2)+")"},a.clampf=function(t,e){return this.x=(0,s.clamp)(this.x,t.x,e.x),this.y=(0,s.clamp)(this.y,t.y,e.y),this.z=(0,s.clamp)(this.z,t.z,e.z),this.w=(0,s.clamp)(this.w,t.w,e.w),this},a.addSelf=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this},a.add=function(t,e){return(e=e||new f).x=this.x+t.x,e.y=this.y+t.y,e.z=this.z+t.z,e.w=this.w+t.w,e},a.subtract=function(t,e){return(e=e||new f).x=this.x-t.x,e.y=this.y-t.y,e.z=this.z-t.z,e.w=this.w-t.w,e},a.multiplyScalar=function(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this},a.multiply=function(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w,this},a.divide=function(t){return this.x/=t,this.y/=t,this.z/=t,this.w/=t,this},a.negate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},a.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},a.cross=function(t,e){e=e||new f;var i=this.x,n=this.y,r=this.z,s=t.x,a=t.y,o=t.z;return e.x=n*o-r*a,e.y=r*s-i*o,e.z=i*a-n*s,e},a.len=function(){var t=this.x,e=this.y,i=this.z,n=this.w;return Math.sqrt(t*t+e*e+i*i+n*n)},a.lengthSqr=function(){var t=this.x,e=this.y,i=this.z,n=this.w;return t*t+e*e+i*i+n*n},a.normalizeSelf=function(){return this.normalize(this),this},a.normalize=function(t){t=t||new f,c=this.x,h=this.y,u=this.z,_=this.w;var e=c*c+h*h+u*u+_*_;return e>0&&(e=1/Math.sqrt(e),t.x=c*e,t.y=h*e,t.z=u*e,t.w=_*e),t},a.transformMat4=function(t,e){e=e||new f,c=this.x,h=this.y,u=this.z,_=this.w;var i=t.m;return e.x=i[0]*c+i[4]*h+i[8]*u+i[12]*_,e.y=i[1]*c+i[5]*h+i[9]*u+i[13]*_,e.z=i[2]*c+i[6]*h+i[10]*u+i[14]*_,e.w=i[3]*c+i[7]*h+i[11]*u+i[15]*_,e},a.maxAxis=function(){return Math.max(this.x,this.y,this.z,this.w)},n=f,r=[{key:"ZERO",get:function(){return new f(0,0,0,0)}},{key:"ONE",get:function(){return new f(1,1,1,1)}},{key:"NEG_ONE",get:function(){return new f(-1,-1,-1,-1)}}],null&&o(n.prototype,null),r&&o(n,r),f})(r.default);function d(t,e,i,n){return new f(t,e,i,n)}i.default=f,f.sub=f.subtract,f.mul=f.multiply,f.div=f.divide,f.scale=f.multiplyScalar,f.mag=f.len,f.squaredMagnitude=f.lengthSqr,f.ZERO_R=f.ZERO,f.ONE_R=f.ONE,f.NEG_ONE_R=f.NEG_ONE,n.default.fastDefine("cc.Vec4",f,{x:0,y:0,z:0,w:0}),cc.v4=d,cc.Vec4=f}),{"../platform/CCClass":239,"./utils":346,"./value-type":347}],351:[(function(){"use strict";cc.js}),{}],352:[(function(t){"use strict";t("./core/CCGame"),t("./actions")}),{"./actions":7,"./core/CCGame":71}],353:[(function(t,e){"use strict";var i=t("../compression/zlib.min"),n=t("../core/CCDebug"),r=function(t){var e,i,r,s,a,o,l,c,h,u,_,f,d;for(this.data=t,this.pos=8,this.palette=[],this.imgData=[],this.transparency={},this.animation=null,this.text={},a=null;;){switch(e=this.readUInt32(),c=function(){var t,e;for(e=[],t=0;t<4;++t)e.push(String.fromCharCode(this.data[this.pos++]));return e}.call(this).join("")){case"IHDR":this.width=this.readUInt32(),this.height=this.readUInt32(),this.bits=this.data[this.pos++],this.colorType=this.data[this.pos++],this.compressionMethod=this.data[this.pos++],this.filterMethod=this.data[this.pos++],this.interlaceMethod=this.data[this.pos++];break;case"acTL":this.animation={numFrames:this.readUInt32(),numPlays:this.readUInt32()||1/0,frames:[]};break;case"PLTE":this.palette=this.read(e);break;case"fcTL":a&&this.animation.frames.push(a),this.pos+=4,a={width:this.readUInt32(),height:this.readUInt32(),xOffset:this.readUInt32(),yOffset:this.readUInt32()},s=this.readUInt16(),r=this.readUInt16()||100,a.delay=1e3*s/r,a.disposeOp=this.data[this.pos++],a.blendOp=this.data[this.pos++],a.data=[];break;case"IDAT":case"fdAT":for("fdAT"===c&&(this.pos+=4,e-=4),t=(null!=a?a.data:void 0)||this.imgData,_=0;0<=e?_e;0<=e?++_:--_)t.push(this.data[this.pos++]);break;case"tRNS":switch(this.transparency={},this.colorType){case 3:if(this.transparency.indexed=this.read(e),(h=255-this.transparency.indexed.length)>0)for(f=0;0<=h?fh;0<=h?++f:--f)this.transparency.indexed.push(255);break;case 0:this.transparency.grayscale=this.read(e)[0];break;case 2:this.transparency.rgb=this.read(e)}break;case"tEXt":o=(u=this.read(e)).indexOf(0),l=String.fromCharCode.apply(String,u.slice(0,o)),this.text[l]=String.fromCharCode.apply(String,u.slice(o+1));break;case"IEND":return a&&this.animation.frames.push(a),this.colors=function(){switch(this.colorType){case 0:case 3:case 4:return 1;case 2:case 6:return 3}}.call(this),this.hasAlphaChannel=4===(d=this.colorType)||6===d,i=this.colors+(this.hasAlphaChannel?1:0),this.pixelBitlength=this.bits*i,this.colorSpace=function(){switch(this.colors){case 1:return"DeviceGray";case 3:return"DeviceRGB"}}.call(this),void(Uint8Array!=Array&&(this.imgData=new Uint8Array(this.imgData)));default:this.pos+=e}if(this.pos+=4,this.pos>this.data.length)throw new Error(n.getError(6017))}};r.prototype={constructor:r,read:function(t){var e,i;for(i=[],e=0;0<=t?et;0<=t?++e:--e)i.push(this.data[this.pos++]);return i},readUInt32:function(){return this.data[this.pos++]<<24|this.data[this.pos++]<<16|this.data[this.pos++]<<8|this.data[this.pos++]},readUInt16:function(){return this.data[this.pos++]<<8|this.data[this.pos++]},decodePixels:function(t){var e,r,s,a,o,l,c,h,u,_,f,d,p,m,y,v,g,b,A,x,C,T,S;if(null==t&&(t=this.imgData),0===t.length)return new Uint8Array(0);for(t=new i.Inflate(t,{index:0,verify:!1}).decompress(),v=(d=this.pixelBitlength/8)*this.width,p=new Uint8Array(v*this.height),l=t.length,y=0,m=0,r=0;m=this.totalParticles},setTextureWithRect:function(t,e){t instanceof cc.Texture2D&&(this.spriteFrame=new cc.SpriteFrame(t,e))},_applyFile:function(){var t=this._file;if(t){var e=this;cc.assetManager.postLoadNative(t,(function(i){!i&&t._nativeAsset?e.isValid&&(e._plistFile=t.nativeUrl,e._custom||(e._spriteFrame!==t.spriteFrame&&(e.spriteFrame=t.spriteFrame),e._initWithDictionary(t._nativeAsset)),e._spriteFrame?!e._renderSpriteFrame&&e._spriteFrame&&e._applySpriteFrame(e.spriteFrame):t.spriteFrame?e.spriteFrame=t.spriteFrame:e._custom&&e._initTextureWithDictionary(t._nativeAsset)):cc.errorID(6029)}))}},_initTextureWithDictionary:function(t){var e,n=cc.path.changeBasename(this._plistFile,t.textureFileName||"");if(t.textureFileName)l.loadImage(n,(function(e,i){e?(t.textureFileName=void 0,this._initTextureWithDictionary(t)):(cc.assetManager.assets.add(n,i),this.spriteFrame=new cc.SpriteFrame(i))}),this);else if(t.textureImageData){var r=t.textureImageData;if(!(r&&r.length>0))return!1;var c=cc.assetManager.assets.get(n);if(!c){var h=s.unzipBase64AsArray(r,1);if(!h)return cc.warnID(6030,this._file.name),!1;var u=(e=h).length>8&&137===e[0]&&80===e[1]&&78===e[2]&&71===e[3]&&13===e[4]&&10===e[5]&&26===e[6]&&10===e[7]?i.ImageFormat.PNG:e.length>2&&(73===e[0]&&73===e[1]||77===e[0]&&77===e[1]||255===e[0]&&216===e[1])?i.ImageFormat.TIFF:i.ImageFormat.UNKNOWN;if(u!==i.ImageFormat.TIFF&&u!==i.ImageFormat.PNG)return cc.warnID(6031,this._file.name),!1;var _=document.createElement("canvas");u===i.ImageFormat.PNG?new a(h).render(_):o.parseTIFF(h,_),c=l.cacheImage(n,_)}c||cc.warnID(6032,this._file.name),this.spriteFrame=new cc.SpriteFrame(c)}return!0},_initWithDictionary:function(t){this.totalParticles=parseInt(t.maxParticles||0),this.life=parseFloat(t.particleLifespan||0),this.lifeVar=parseFloat(t.particleLifespanVariance||0);var e=t.emissionRate;this.emissionRate=e||Math.min(this.totalParticles/this.life,Number.MAX_VALUE),this.duration=parseFloat(t.duration||0),this.srcBlendFactor=parseInt(t.blendFuncSource||i.SRC_ALPHA),this.dstBlendFactor=parseInt(t.blendFuncDestination||i.ONE_MINUS_SRC_ALPHA);var n=this._startColor;n.r=255*parseFloat(t.startColorRed||0),n.g=255*parseFloat(t.startColorGreen||0),n.b=255*parseFloat(t.startColorBlue||0),n.a=255*parseFloat(t.startColorAlpha||0);var r=this._startColorVar;r.r=255*parseFloat(t.startColorVarianceRed||0),r.g=255*parseFloat(t.startColorVarianceGreen||0),r.b=255*parseFloat(t.startColorVarianceBlue||0),r.a=255*parseFloat(t.startColorVarianceAlpha||0);var s=this._endColor;s.r=255*parseFloat(t.finishColorRed||0),s.g=255*parseFloat(t.finishColorGreen||0),s.b=255*parseFloat(t.finishColorBlue||0),s.a=255*parseFloat(t.finishColorAlpha||0);var a=this._endColorVar;if(a.r=255*parseFloat(t.finishColorVarianceRed||0),a.g=255*parseFloat(t.finishColorVarianceGreen||0),a.b=255*parseFloat(t.finishColorVarianceBlue||0),a.a=255*parseFloat(t.finishColorVarianceAlpha||0),this.startSize=parseFloat(t.startParticleSize||0),this.startSizeVar=parseFloat(t.startParticleSizeVariance||0),this.endSize=parseFloat(t.finishParticleSize||0),this.endSizeVar=parseFloat(t.finishParticleSizeVariance||0),this.positionType=parseFloat(void 0!==t.positionType?t.positionType:_.RELATIVE),this.sourcePos.x=0,this.sourcePos.y=0,this.posVar.x=parseFloat(t.sourcePositionVariancex||0),this.posVar.y=parseFloat(t.sourcePositionVariancey||0),this.angle=parseFloat(t.angle||0),this.angleVar=parseFloat(t.angleVariance||0),this.startSpin=parseFloat(t.rotationStart||0),this.startSpinVar=parseFloat(t.rotationStartVariance||0),this.endSpin=parseFloat(t.rotationEnd||0),this.endSpinVar=parseFloat(t.rotationEndVariance||0),this.emitterMode=parseInt(t.emitterType||u.GRAVITY),this.emitterMode===u.GRAVITY){this.gravity.x=parseFloat(t.gravityx||0),this.gravity.y=parseFloat(t.gravityy||0),this.speed=parseFloat(t.speed||0),this.speedVar=parseFloat(t.speedVariance||0),this.radialAccel=parseFloat(t.radialAcceleration||0),this.radialAccelVar=parseFloat(t.radialAccelVariance||0),this.tangentialAccel=parseFloat(t.tangentialAcceleration||0),this.tangentialAccelVar=parseFloat(t.tangentialAccelVariance||0);var o=t.rotationIsDir||"";null!==o?(o=o.toString().toLowerCase(),this.rotationIsDir="true"===o||"1"===o):this.rotationIsDir=!1}else{if(this.emitterMode!==u.RADIUS)return cc.warnID(6009),!1;this.startRadius=parseFloat(t.maxRadius||0),this.startRadiusVar=parseFloat(t.maxRadiusVariance||0),this.endRadius=parseFloat(t.minRadius||0),this.endRadiusVar=parseFloat(t.minRadiusVariance||0),this.rotatePerS=parseFloat(t.rotatePerSecond||0),this.rotatePerSVar=parseFloat(t.rotatePerSecondVariance||0)}return this._initTextureWithDictionary(t),!0},_validateRender:function(){var t=this._getTexture();t&&t.loaded?this._super():this.disableRender()},_onTextureLoaded:function(){this._simulator.updateUVs(!0),this._syncAspect(),this._updateMaterial(),this.markForRender(!0)},_syncAspect:function(){var t=this._renderSpriteFrame._rect;this._aspectRatio=t.width/t.height},_applySpriteFrame:function(){this._renderSpriteFrame=this._renderSpriteFrame||this._spriteFrame,this._renderSpriteFrame&&(this._renderSpriteFrame.textureLoaded()?this._onTextureLoaded():this._renderSpriteFrame.onTextureLoaded(this._onTextureLoaded,this))},_getTexture:function(){return this._renderSpriteFrame&&this._renderSpriteFrame.getTexture()||this._texture},_updateMaterial:function(){var t=this.getMaterial(0);t&&(t.define("CC_USE_MODEL",this._positionType!==_.FREE),t.setProperty("texture",this._getTexture()),h.prototype._updateMaterial.call(this))},_finishedSimulation:function(){this.resetSystem(),this.stopSystem(),this.disableRender(),this.autoRemoveOnFinish&&this._stopped&&this.node.destroy()}});cc.ParticleSystem=e.exports=d}),{"../compression/ZipUtils":22,"../core/assets/material/CCMaterial":124,"../core/components/CCRenderComponent":160,"../core/platform/CCMacro":244,"../core/renderer/render-flow":272,"../core/utils/blend-func":318,"../core/utils/texture-util":332,"./CCPNGReader":353,"./CCParticleAsset":354,"./CCTIFFReader":356,"./particle-simulator":358,"fire-url":void 0}],356:[(function(t,e){"use strict";var i=t("../core/CCDebug"),n={_littleEndian:!1,_tiffData:null,_fileDirectories:[],getUint8:function(t){return this._tiffData[t]},getUint16:function(t){return this._littleEndian?this._tiffData[t+1]<<8|this._tiffData[t]:this._tiffData[t]<<8|this._tiffData[t+1]},getUint32:function(t){var e=this._tiffData;return this._littleEndian?e[t+3]<<24|e[t+2]<<16|e[t+1]<<8|e[t]:e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]},checkLittleEndian:function(){var t=this.getUint16(0);if(18761===t)this.littleEndian=!0;else{if(19789!==t)throw console.log(t),TypeError(i.getError(6019));this.littleEndian=!1}return this.littleEndian},hasTowel:function(){if(42!==this.getUint16(2))throw RangeError(i.getError(6020));return!0},getFieldTypeName:function(t){var e=this.fieldTypeNames;return t in e?e[t]:null},getFieldTagName:function(t){var e=this.fieldTagNames;return t in e?e[t]:(cc.logID(6021,t),"Tag"+t)},getFieldTypeLength:function(t){return-1!==["BYTE","ASCII","SBYTE","UNDEFINED"].indexOf(t)?1:-1!==["SHORT","SSHORT"].indexOf(t)?2:-1!==["LONG","SLONG","FLOAT"].indexOf(t)?4:-1!==["RATIONAL","SRATIONAL","DOUBLE"].indexOf(t)?8:null},getFieldValues:function(t,e,i,n){var r=[],s=this.getFieldTypeLength(e);if(s*i<=4)!1===this.littleEndian?r.push(n>>>8*(4-s)):r.push(n);else for(var a=0;a=8?-1!==["RATIONAL","SRATIONAL"].indexOf(e)?(r.push(this.getUint32(n+o)),r.push(this.getUint32(n+o+4))):cc.logID(8e3):r.push(this.getBytes(s,n+o))}return"ASCII"===e&&r.forEach((function(t,e,i){i[e]=String.fromCharCode(t)})),r},getBytes:function(t,e){if(t<=0)cc.logID(8001);else{if(t<=1)return this.getUint8(e);if(t<=2)return this.getUint16(e);if(t<=3)return this.getUint32(e)>>>8;if(t<=4)return this.getUint32(e);cc.logID(8002)}},getBits:function(t,e,i){i=i||0;var n,r,s=e+Math.floor(i/8),a=i+t,o=32-t;return a<=0?cc.logID(6023):a<=8?(n=24+i,r=this.getUint8(s)):a<=16?(n=16+i,r=this.getUint16(s)):a<=32?(n=i,r=this.getUint32(s)):cc.logID(6022),{bits:r<>>o,byteOffset:s+Math.floor(a/8),bitOffset:a%8}},parseFileDirectory:function(t){for(var e=this.getUint16(t),i=[],n=t+2,r=0;r=0&&R<=127?P=R+1:R>=-127&&R<=-1?I=1-R:C=!0}else{var O=this.getUint8(v+b);for(M=0;M0)for(var nt=0;nt1?h=c/u:c=h*u;var _=c/2,f=h/2;if(t.rotation){var d=-_,p=-f,m=_,y=f,v=-n.degreesToRadians(t.rotation),g=Math.cos(v),b=Math.sin(v);s[r]=d*g-p*b+o,s[r+1]=d*b+p*g+l,s[r+5]=m*g-p*b+o,s[r+6]=m*b+p*g+l,s[r+10]=d*g-y*b+o,s[r+11]=d*b+y*g+l,s[r+15]=m*g-y*b+o,s[r+16]=m*b+y*g+l}else s[r]=o-_,s[r+1]=l-f,s[r+5]=o+_,s[r+6]=l-f,s[r+10]=o-_,s[r+11]=l+f,s[r+15]=o+_,s[r+16]=l+f;a[r+4]=t.color._val,a[r+9]=t.color._val,a[r+14]=t.color._val,a[r+19]=t.color._val},u.prototype.step=function(t){t=t>cc.director._maxParticleDeltaTime?cc.director._maxParticleDeltaTime:t;var e=this.sys,i=e.node,n=this.particles,r=4*this.sys._assembler._vfmt._bytes/4,c=cc.ParticleSystem.PositionType;if(i._updateWorldMatrix(),e.positionType===c.FREE){this._worldRotation=_(i);var u=i._worldMatrix.m;s.x=u[12],s.y=u[13]}else e.positionType===c.RELATIVE?(this._worldRotation=i.angle,s.x=i.x,s.y=i.y):this._worldRotation=0;if(this.active&&e.emissionRate){var f=1/e.emissionRate;for(n.lengthf;)this.emitParticle(s),this.emitCounter-=f;this.elapsed+=t,-1!==e.duration&&e.durationthis._uvFilled&&this.updateUVs();for(var m=0;m0){if(e.emitterMode===cc.ParticleSystem.EmitterMode.GRAVITY){var v=l,g=a,b=o;(y.pos.x||y.pos.y)&&(g.set(y.pos),g.normalizeSelf()),b.set(g),g.mulSelf(y.radialAccel);var A=b.x;b.x=-b.y,b.y=A,b.mulSelf(y.tangentialAccel),v.set(g),v.addSelf(b),v.addSelf(e.gravity),v.mulSelf(t),y.dir.addSelf(v),v.set(y.dir),v.mulSelf(t),y.pos.addSelf(v)}else y.angle+=y.degreesPerSecond*t,y.radius+=y.deltaRadius*t,y.pos.x=-Math.cos(y.angle)*y.radius,y.pos.y=-Math.sin(y.angle)*y.radius;var x=y.preciseColor,C=y.deltaColor;x.r+=C.r*t,x.g+=C.g*t,x.b+=C.b*t,x.a+=C.a*t;var T=y.color;T.r=x.r,T.g=x.g,T.b=x.b,T.a=x.a,y.size+=y.deltaSize*t,y.size<0&&(y.size=0),y.rotation+=y.deltaRotation*t;var S=a;S.set(y.pos),e.positionType!==c.GROUPED&&S.addSelf(y.startPos);var w=r*m;this.updateParticleBuffer(y,S,d,w),++m}else{var E=n[m];m!==n.length-1&&(n[m]=n[n.length-1]),h.put(E),n.length--}}e._assembler._ia._count=6*n.length,n.length>0?d.uploadData():this.active||this.readyToPlay||(this.finished=!0,e._finishedSimulation())},e.exports=u}),{"../core/platform/js":260,"../core/utils/misc":324}],359:[(function(t,e){"use strict";var i=r(t("../core/renderer/assembler")),n=r(t("../renderer/core/input-assembler"));function r(t){return t&&t.__esModule?t:{default:t}}function s(t,e){return(s=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var a=t("./CCParticleSystem"),o=t("../core/renderer/"),l=t("../core/renderer/webgl/quad-buffer"),c=t("../core/renderer/webgl/vertex-format").vfmtPosUvColor,h=(function(t){var e,i;function r(e){var i;return(i=t.call(this,e)||this)._buffer=null,i._ia=null,i._vfmt=c,i}i=t,(e=r).prototype=Object.create(i.prototype),e.prototype.constructor=e,s(e,i);var a=r.prototype;return a.getBuffer=function(){return this._buffer||(this._buffer=new l(o._handle,c),this._ia=new n.default,this._ia._vertexBuffer=this._buffer._vb,this._ia._indexBuffer=this._buffer._ib,this._ia._start=0,this._ia._count=0),this._buffer},a.fillBuffers=function(t,e){if(this._ia){var i=cc.ParticleSystem.PositionType;t.positionType===i.RELATIVE?e.node=t.node.parent:e.node=t.node,e.material=t._materials[0],e._flushIA(this._ia)}},r})(i.default);i.default.register(a,h),e.exports=h}),{"../core/renderer/":271,"../core/renderer/assembler":268,"../core/renderer/webgl/quad-buffer":310,"../core/renderer/webgl/vertex-format":313,"../renderer/core/input-assembler":362,"./CCParticleSystem":355}],360:[(function(t,e){"use strict";var i,n,r,s,a,o,l,c,h,u,_,f,d,p,m,y,v,g,b,A,x,C,T,S,w,E,M,D,B,P,I,R,O,L,F,V,N,k,z,G,U,j;(function(t){t[t.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]="COMPRESSED_RGB_S3TC_DXT1_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777]="COMPRESSED_RGBA_S3TC_DXT1_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778]="COMPRESSED_RGBA_S3TC_DXT3_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]="COMPRESSED_RGBA_S3TC_DXT5_EXT",t[t.COMPRESSED_SRGB_S3TC_DXT1_EXT=35916]="COMPRESSED_SRGB_S3TC_DXT1_EXT",t[t.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT=35917]="COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT",t[t.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT=35918]="COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT",t[t.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT=35919]="COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT",t[t.COMPRESSED_RGB_PVRTC_4BPPV1_IMG=35840]="COMPRESSED_RGB_PVRTC_4BPPV1_IMG",t[t.COMPRESSED_RGB_PVRTC_2BPPV1_IMG=35841]="COMPRESSED_RGB_PVRTC_2BPPV1_IMG",t[t.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG=35842]="COMPRESSED_RGBA_PVRTC_4BPPV1_IMG",t[t.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG=35843]="COMPRESSED_RGBA_PVRTC_2BPPV1_IMG",t[t.COMPRESSED_RGB_ETC1_WEBGL=36196]="COMPRESSED_RGB_ETC1_WEBGL"})(i||(i={})),(function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.BUFFER=1]="BUFFER",t[t.TEXTURE=2]="TEXTURE",t[t.TEXTURE_VIEW=3]="TEXTURE_VIEW",t[t.RENDER_PASS=4]="RENDER_PASS",t[t.FRAMEBUFFER=5]="FRAMEBUFFER",t[t.SAMPLER=6]="SAMPLER",t[t.SHADER=7]="SHADER",t[t.PIPELINE_LAYOUT=8]="PIPELINE_LAYOUT",t[t.PIPELINE_STATE=9]="PIPELINE_STATE",t[t.BINDING_LAYOUT=10]="BINDING_LAYOUT",t[t.INPUT_ASSEMBLER=11]="INPUT_ASSEMBLER",t[t.COMMAND_ALLOCATOR=12]="COMMAND_ALLOCATOR",t[t.COMMAND_BUFFER=13]="COMMAND_BUFFER",t[t.QUEUE=14]="QUEUE",t[t.WINDOW=15]="WINDOW"})(n||(n={})),(function(t){t[t.UNREADY=0]="UNREADY",t[t.FAILED=1]="FAILED",t[t.SUCCESS=2]="SUCCESS"})(r||(r={})),(function(){function t(t){this._gfxType=n.UNKNOWN,this._status=r.UNREADY,this._gfxType=t}Object.defineProperty(t.prototype,"gfxType",{get:function(){return this._gfxType},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"status",{get:function(){return this._status},enumerable:!0,configurable:!0})})(),(function(t){t.ATTR_POSITION="a_position",t.ATTR_NORMAL="a_normal",t.ATTR_TANGENT="a_tangent",t.ATTR_BITANGENT="a_bitangent",t.ATTR_WEIGHTS="a_weights",t.ATTR_JOINTS="a_joints",t.ATTR_COLOR="a_color",t.ATTR_COLOR1="a_color1",t.ATTR_COLOR2="a_color2",t.ATTR_TEX_COORD="a_texCoord",t.ATTR_TEX_COORD1="a_texCoord1",t.ATTR_TEX_COORD2="a_texCoord2",t.ATTR_TEX_COORD3="a_texCoord3",t.ATTR_TEX_COORD4="a_texCoord4",t.ATTR_TEX_COORD5="a_texCoord5",t.ATTR_TEX_COORD6="a_texCoord6",t.ATTR_TEX_COORD7="a_texCoord7",t.ATTR_TEX_COORD8="a_texCoord8"})(s||(s={})),(function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.BOOL=1]="BOOL",t[t.BOOL2=2]="BOOL2",t[t.BOOL3=3]="BOOL3",t[t.BOOL4=4]="BOOL4",t[t.INT=5]="INT",t[t.INT2=6]="INT2",t[t.INT3=7]="INT3",t[t.INT4=8]="INT4",t[t.UINT=9]="UINT",t[t.UINT2=10]="UINT2",t[t.UINT3=11]="UINT3",t[t.UINT4=12]="UINT4",t[t.FLOAT=13]="FLOAT",t[t.FLOAT2=14]="FLOAT2",t[t.FLOAT3=15]="FLOAT3",t[t.FLOAT4=16]="FLOAT4",t[t.COLOR4=17]="COLOR4",t[t.MAT2=18]="MAT2",t[t.MAT2X3=19]="MAT2X3",t[t.MAT2X4=20]="MAT2X4",t[t.MAT3X2=21]="MAT3X2",t[t.MAT3=22]="MAT3",t[t.MAT3X4=23]="MAT3X4",t[t.MAT4X2=24]="MAT4X2",t[t.MAT4X3=25]="MAT4X3",t[t.MAT4=26]="MAT4",t[t.SAMPLER1D=27]="SAMPLER1D",t[t.SAMPLER1D_ARRAY=28]="SAMPLER1D_ARRAY",t[t.SAMPLER2D=29]="SAMPLER2D",t[t.SAMPLER2D_ARRAY=30]="SAMPLER2D_ARRAY",t[t.SAMPLER3D=31]="SAMPLER3D",t[t.SAMPLER_CUBE=32]="SAMPLER_CUBE",t[t.COUNT=33]="COUNT"})(a||(a={})),(function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.A8=1]="A8",t[t.L8=2]="L8",t[t.LA8=3]="LA8",t[t.R8=4]="R8",t[t.R8SN=5]="R8SN",t[t.R8UI=6]="R8UI",t[t.R8I=7]="R8I",t[t.R16F=8]="R16F",t[t.R16UI=9]="R16UI",t[t.R16I=10]="R16I",t[t.R32F=11]="R32F",t[t.R32UI=12]="R32UI",t[t.R32I=13]="R32I",t[t.RG8=14]="RG8",t[t.RG8SN=15]="RG8SN",t[t.RG8UI=16]="RG8UI",t[t.RG8I=17]="RG8I",t[t.RG16F=18]="RG16F",t[t.RG16UI=19]="RG16UI",t[t.RG16I=20]="RG16I",t[t.RG32F=21]="RG32F",t[t.RG32UI=22]="RG32UI",t[t.RG32I=23]="RG32I",t[t.RGB8=24]="RGB8",t[t.SRGB8=25]="SRGB8",t[t.RGB8SN=26]="RGB8SN",t[t.RGB8UI=27]="RGB8UI",t[t.RGB8I=28]="RGB8I",t[t.RGB16F=29]="RGB16F",t[t.RGB16UI=30]="RGB16UI",t[t.RGB16I=31]="RGB16I",t[t.RGB32F=32]="RGB32F",t[t.RGB32UI=33]="RGB32UI",t[t.RGB32I=34]="RGB32I",t[t.RGBA8=35]="RGBA8",t[t.SRGB8_A8=36]="SRGB8_A8",t[t.RGBA8SN=37]="RGBA8SN",t[t.RGBA8UI=38]="RGBA8UI",t[t.RGBA8I=39]="RGBA8I",t[t.RGBA16F=40]="RGBA16F",t[t.RGBA16UI=41]="RGBA16UI",t[t.RGBA16I=42]="RGBA16I",t[t.RGBA32F=43]="RGBA32F",t[t.RGBA32UI=44]="RGBA32UI",t[t.RGBA32I=45]="RGBA32I",t[t.R5G6B5=46]="R5G6B5",t[t.R11G11B10F=47]="R11G11B10F",t[t.RGB5A1=48]="RGB5A1",t[t.RGBA4=49]="RGBA4",t[t.RGB10A2=50]="RGB10A2",t[t.RGB10A2UI=51]="RGB10A2UI",t[t.RGB9E5=52]="RGB9E5",t[t.D16=53]="D16",t[t.D16S8=54]="D16S8",t[t.D24=55]="D24",t[t.D24S8=56]="D24S8",t[t.D32F=57]="D32F",t[t.D32F_S8=58]="D32F_S8",t[t.BC1=59]="BC1",t[t.BC1_ALPHA=60]="BC1_ALPHA",t[t.BC1_SRGB=61]="BC1_SRGB",t[t.BC1_SRGB_ALPHA=62]="BC1_SRGB_ALPHA",t[t.BC2=63]="BC2",t[t.BC2_SRGB=64]="BC2_SRGB",t[t.BC3=65]="BC3",t[t.BC3_SRGB=66]="BC3_SRGB",t[t.BC4=67]="BC4",t[t.BC4_SNORM=68]="BC4_SNORM",t[t.BC5=69]="BC5",t[t.BC5_SNORM=70]="BC5_SNORM",t[t.BC6H_UF16=71]="BC6H_UF16",t[t.BC6H_SF16=72]="BC6H_SF16",t[t.BC7=73]="BC7",t[t.BC7_SRGB=74]="BC7_SRGB",t[t.ETC_RGB8=75]="ETC_RGB8",t[t.ETC2_RGB8=76]="ETC2_RGB8",t[t.ETC2_SRGB8=77]="ETC2_SRGB8",t[t.ETC2_RGB8_A1=78]="ETC2_RGB8_A1",t[t.ETC2_SRGB8_A1=79]="ETC2_SRGB8_A1",t[t.ETC2_RGBA8=80]="ETC2_RGBA8",t[t.ETC2_SRGB8_A8=81]="ETC2_SRGB8_A8",t[t.EAC_R11=82]="EAC_R11",t[t.EAC_R11SN=83]="EAC_R11SN",t[t.EAC_RG11=84]="EAC_RG11",t[t.EAC_RG11SN=85]="EAC_RG11SN",t[t.PVRTC_RGB2=86]="PVRTC_RGB2",t[t.PVRTC_RGBA2=87]="PVRTC_RGBA2",t[t.PVRTC_RGB4=88]="PVRTC_RGB4",t[t.PVRTC_RGBA4=89]="PVRTC_RGBA4",t[t.PVRTC2_2BPP=90]="PVRTC2_2BPP",t[t.PVRTC2_4BPP=91]="PVRTC2_4BPP"})(o||(o={})),(function(t){t[t.NONE=0]="NONE",t[t.TRANSFER_SRC=1]="TRANSFER_SRC",t[t.TRANSFER_DST=2]="TRANSFER_DST",t[t.INDEX=4]="INDEX",t[t.VERTEX=8]="VERTEX",t[t.UNIFORM=16]="UNIFORM",t[t.STORAGE=32]="STORAGE",t[t.INDIRECT=64]="INDIRECT"})(l||(l={})),(function(t){t[t.NONE=0]="NONE",t[t.DEVICE=1]="DEVICE",t[t.HOST=2]="HOST"})(c||(c={})),(function(t){t[t.NONE=0]="NONE",t[t.READ=1]="READ",t[t.WRITE=2]="WRITE"})(h||(h={})),(function(t){t[t.POINT_LIST=0]="POINT_LIST",t[t.LINE_LIST=1]="LINE_LIST",t[t.LINE_STRIP=2]="LINE_STRIP",t[t.LINE_LOOP=3]="LINE_LOOP",t[t.LINE_LIST_ADJACENCY=4]="LINE_LIST_ADJACENCY",t[t.LINE_STRIP_ADJACENCY=5]="LINE_STRIP_ADJACENCY",t[t.ISO_LINE_LIST=6]="ISO_LINE_LIST",t[t.TRIANGLE_LIST=7]="TRIANGLE_LIST",t[t.TRIANGLE_STRIP=8]="TRIANGLE_STRIP",t[t.TRIANGLE_FAN=9]="TRIANGLE_FAN",t[t.TRIANGLE_LIST_ADJACENCY=10]="TRIANGLE_LIST_ADJACENCY",t[t.TRIANGLE_STRIP_ADJACENCY=11]="TRIANGLE_STRIP_ADJACENCY",t[t.TRIANGLE_PATCH_ADJACENCY=12]="TRIANGLE_PATCH_ADJACENCY",t[t.QUAD_PATCH_LIST=13]="QUAD_PATCH_LIST"})(u||(u={})),(function(t){t[t.FILL=0]="FILL",t[t.POINT=1]="POINT",t[t.LINE=2]="LINE"})(_||(_={})),(function(t){t[t.GOURAND=0]="GOURAND",t[t.FLAT=1]="FLAT"})(f||(f={})),(function(t){t[t.NONE=0]="NONE",t[t.FRONT=1]="FRONT",t[t.BACK=2]="BACK"})(d||(d={})),(function(t){t[t.NEVER=0]="NEVER",t[t.LESS=1]="LESS",t[t.EQUAL=2]="EQUAL",t[t.LESS_EQUAL=3]="LESS_EQUAL",t[t.GREATER=4]="GREATER",t[t.NOT_EQUAL=5]="NOT_EQUAL",t[t.GREATER_EQUAL=6]="GREATER_EQUAL",t[t.ALWAYS=7]="ALWAYS"})(p||(p={})),(function(t){t[t.ZERO=0]="ZERO",t[t.KEEP=1]="KEEP",t[t.REPLACE=2]="REPLACE",t[t.INCR=3]="INCR",t[t.DECR=4]="DECR",t[t.INVERT=5]="INVERT",t[t.INCR_WRAP=6]="INCR_WRAP",t[t.DECR_WRAP=7]="DECR_WRAP"})(m||(m={})),(function(t){t[t.ADD=0]="ADD",t[t.SUB=1]="SUB",t[t.REV_SUB=2]="REV_SUB",t[t.MIN=3]="MIN",t[t.MAX=4]="MAX"})(y||(y={})),(function(t){t[t.ZERO=0]="ZERO",t[t.ONE=1]="ONE",t[t.SRC_ALPHA=2]="SRC_ALPHA",t[t.DST_ALPHA=3]="DST_ALPHA",t[t.ONE_MINUS_SRC_ALPHA=4]="ONE_MINUS_SRC_ALPHA",t[t.ONE_MINUS_DST_ALPHA=5]="ONE_MINUS_DST_ALPHA",t[t.SRC_COLOR=6]="SRC_COLOR",t[t.DST_COLOR=7]="DST_COLOR",t[t.ONE_MINUS_SRC_COLOR=8]="ONE_MINUS_SRC_COLOR",t[t.ONE_MINUS_DST_COLOR=9]="ONE_MINUS_DST_COLOR",t[t.SRC_ALPHA_SATURATE=10]="SRC_ALPHA_SATURATE",t[t.CONSTANT_COLOR=11]="CONSTANT_COLOR",t[t.ONE_MINUS_CONSTANT_COLOR=12]="ONE_MINUS_CONSTANT_COLOR",t[t.CONSTANT_ALPHA=13]="CONSTANT_ALPHA",t[t.ONE_MINUS_CONSTANT_ALPHA=14]="ONE_MINUS_CONSTANT_ALPHA"})(v||(v={})),(function(t){t[t.NONE=0]="NONE",t[t.R=1]="R",t[t.G=2]="G",t[t.B=4]="B",t[t.A=8]="A",t[t.ALL=15]="ALL"})(g||(g={})),(function(t){t[t.NONE=0]="NONE",t[t.POINT=1]="POINT",t[t.LINEAR=2]="LINEAR",t[t.ANISOTROPIC=3]="ANISOTROPIC"})(b||(b={})),(function(t){t[t.WRAP=0]="WRAP",t[t.MIRROR=1]="MIRROR",t[t.CLAMP=2]="CLAMP",t[t.BORDER=3]="BORDER"})(A||(A={})),(function(t){t[t.TEX1D=0]="TEX1D",t[t.TEX2D=1]="TEX2D",t[t.TEX3D=2]="TEX3D"})(x||(x={})),(function(t){t[t.NONE=0]="NONE",t[t.TRANSFER_SRC=1]="TRANSFER_SRC",t[t.TRANSFER_DST=2]="TRANSFER_DST",t[t.SAMPLED=4]="SAMPLED",t[t.STORAGE=8]="STORAGE",t[t.COLOR_ATTACHMENT=16]="COLOR_ATTACHMENT",t[t.DEPTH_STENCIL_ATTACHMENT=32]="DEPTH_STENCIL_ATTACHMENT",t[t.TRANSIENT_ATTACHMENT=64]="TRANSIENT_ATTACHMENT",t[t.INPUT_ATTACHMENT=128]="INPUT_ATTACHMENT"})(C||(C={})),(function(t){t[t.X1=0]="X1",t[t.X2=1]="X2",t[t.X4=2]="X4",t[t.X8=3]="X8",t[t.X16=4]="X16",t[t.X32=5]="X32",t[t.X64=6]="X64"})(T||(T={})),(function(t){t[t.NONE=0]="NONE",t[t.GEN_MIPMAP=1]="GEN_MIPMAP",t[t.CUBEMAP=2]="CUBEMAP",t[t.BAKUP_BUFFER=4]="BAKUP_BUFFER"})(S||(S={})),(function(t){t[t.TV1D=0]="TV1D",t[t.TV2D=1]="TV2D",t[t.TV3D=2]="TV3D",t[t.CUBE=3]="CUBE",t[t.TV1D_ARRAY=4]="TV1D_ARRAY",t[t.TV2D_ARRAY=5]="TV2D_ARRAY"})(w||(w={})),(function(t){t[t.VERTEX=0]="VERTEX",t[t.HULL=1]="HULL",t[t.DOMAIN=2]="DOMAIN",t[t.GEOMETRY=3]="GEOMETRY",t[t.FRAGMENT=4]="FRAGMENT",t[t.COMPUTE=5]="COMPUTE",t[t.COUNT=6]="COUNT"})(E||(E={})),(function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.UNIFORM_BUFFER=1]="UNIFORM_BUFFER",t[t.SAMPLER=2]="SAMPLER",t[t.STORAGE_BUFFER=3]="STORAGE_BUFFER"})(M||(M={})),(function(t){t[t.PRIMARY=0]="PRIMARY",t[t.SECONDARY=1]="SECONDARY"})(D||(D={})),(function(t){t[t.LOAD=0]="LOAD",t[t.CLEAR=1]="CLEAR",t[t.DISCARD=2]="DISCARD"})(B||(B={})),(function(t){t[t.STORE=0]="STORE",t[t.DISCARD=1]="DISCARD"})(P||(P={})),(function(t){t[t.UNDEFINED=0]="UNDEFINED",t[t.GENERAL=1]="GENERAL",t[t.COLOR_ATTACHMENT_OPTIMAL=2]="COLOR_ATTACHMENT_OPTIMAL",t[t.DEPTH_STENCIL_ATTACHMENT_OPTIMAL=3]="DEPTH_STENCIL_ATTACHMENT_OPTIMAL",t[t.DEPTH_STENCIL_READONLY_OPTIMAL=4]="DEPTH_STENCIL_READONLY_OPTIMAL",t[t.SHADER_READONLY_OPTIMAL=5]="SHADER_READONLY_OPTIMAL",t[t.TRANSFER_SRC_OPTIMAL=6]="TRANSFER_SRC_OPTIMAL",t[t.TRANSFER_DST_OPTIMAL=7]="TRANSFER_DST_OPTIMAL",t[t.PREINITIALIZED=8]="PREINITIALIZED",t[t.PRESENT_SRC=9]="PRESENT_SRC"})(I||(I={})),(function(t){t[t.GRAPHICS=0]="GRAPHICS",t[t.COMPUTE=1]="COMPUTE",t[t.RAY_TRACING=2]="RAY_TRACING"})(R||(R={})),(function(t){t[t.VIEWPORT=0]="VIEWPORT",t[t.SCISSOR=1]="SCISSOR",t[t.LINE_WIDTH=2]="LINE_WIDTH",t[t.DEPTH_BIAS=3]="DEPTH_BIAS",t[t.BLEND_CONSTANTS=4]="BLEND_CONSTANTS",t[t.DEPTH_BOUNDS=5]="DEPTH_BOUNDS",t[t.STENCIL_WRITE_MASK=6]="STENCIL_WRITE_MASK",t[t.STENCIL_COMPARE_MASK=7]="STENCIL_COMPARE_MASK"})(O||(O={})),(function(t){t[t.FRONT=0]="FRONT",t[t.BACK=1]="BACK",t[t.ALL=2]="ALL"})(L||(L={})),(function(t){t[t.GRAPHICS=0]="GRAPHICS",t[t.COMPUTE=1]="COMPUTE",t[t.TRANSFER=2]="TRANSFER"})(F||(F={})),(function(t){t[t.NONE=0]="NONE",t[t.COLOR=1]="COLOR",t[t.DEPTH=2]="DEPTH",t[t.STENCIL=4]="STENCIL",t[t.DEPTH_STENCIL=6]="DEPTH_STENCIL",t[t.ALL=7]="ALL"})(V||(V={})),(function(t){t[t.DEFAULT=100]="DEFAULT"})(N||(N={})),(function(t){t[t.MIN=0]="MIN",t[t.MAX=255]="MAX",t[t.DEFAULT=128]="DEFAULT"})(k||(k={})),(function(t){t[t.UBO_GLOBAL=23]="UBO_GLOBAL",t[t.UBO_SHADOW=22]="UBO_SHADOW",t[t.UBO_LOCAL=21]="UBO_LOCAL",t[t.UBO_FORWARD_LIGHTS=20]="UBO_FORWARD_LIGHTS",t[t.UBO_SKINNING=19]="UBO_SKINNING",t[t.UBO_SKINNING_TEXTURE=18]="UBO_SKINNING_TEXTURE",t[t.UBO_UI=17]="UBO_UI",t[t.SAMPLER_JOINTS=25]="SAMPLER_JOINTS",t[t.SAMPLER_ENVIRONMENT=26]="SAMPLER_ENVIRONMENT",t[t.CUSTUM_UBO_BINDING_END_POINT=17]="CUSTUM_UBO_BINDING_END_POINT",t[t.CUSTOM_SAMPLER_BINDING_START_POINT=30]="CUSTOM_SAMPLER_BINDING_START_POINT"})(z||(z={})),(function(t){t[t.minFilter=0]="minFilter",t[t.magFilter=1]="magFilter",t[t.mipFilter=2]="mipFilter",t[t.addressU=3]="addressU",t[t.addressV=4]="addressV",t[t.addressW=5]="addressW",t[t.maxAnisotropy=6]="maxAnisotropy",t[t.cmpFunc=7]="cmpFunc",t[t.minLOD=8]="minLOD",t[t.maxLOD=9]="maxLOD",t[t.mipLODBias=10]="mipLODBias",t[t.borderColor=11]="borderColor",t[t.total=15]="total"})(j||(j={}));var H={};H[H.bool=a.BOOL]="bool",H[H.int=a.INT]="int",H[H.ivec2=a.INT2]="ivec2invTypeParams",H[H.ivec3=a.INT3]="ivec3",H[H.ivec4=a.INT4]="ivec4",H[H.float=a.FLOAT]="float",H[H.vec2=a.FLOAT2]="vec2",H[H.vec3=a.FLOAT3]="vec3",H[H.vec4=a.FLOAT4]="vec4",H[H.mat2=a.MAT2]="mat2",H[H.mat3=a.MAT3]="mat3",H[H.mat4=a.MAT4]="mat4",H[H.sampler2D=a.SAMPLER2D]="sampler2D",H[H.samplerCube=a.SAMPLER_CUBE]="samplerCube";var W=((G={})[a.BOOL]=4,G[a.INT]=4,G[a.INT2]=8,G[a.INT3]=12,G[a.INT4]=16,G[a.FLOAT]=4,G[a.FLOAT2]=8,G[a.FLOAT3]=12,G[a.FLOAT4]=16,G[a.MAT2]=16,G[a.MAT3]=36,G[a.MAT4]=64,G[a.SAMPLER2D]=4,G[a.SAMPLER_CUBE]=4,G),X=((U={})[a.BOOL]=o.R32I,U[a.INT]=o.R32I,U[a.INT2]=o.RG32I,U[a.INT3]=o.RGB32I,U[a.INT4]=o.RGBA32I,U[a.FLOAT]=o.R32F,U[a.FLOAT2]=o.RG32F,U[a.FLOAT3]=o.RGB32F,U[a.FLOAT4]=o.RGBA32F,U),Y={BACK:1029,FRONT:1028,NONE:0,ADD:32774,SUB:32778,REV_SUB:32779,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,SRC_ALPHA_SATURATE:776,NEVER:512,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,NOTEQUAL:517,GEQUAL:518,ALWAYS:519,KEEP:7680,REPLACE:7681,INCR:7682,INCR_WRAP:34055,DECR:7683,DECR_WRAP:34056,INVERT:5386};Object.assign(Y,N);var q={murmurhash2_32_gc:function(t,e){for(var i,n=t.length,r=e^n,s=0;n>=4;)i=1540483477*(65535&(i=255&t.charCodeAt(s)|(255&t.charCodeAt(++s))<<8|(255&t.charCodeAt(++s))<<16|(255&t.charCodeAt(++s))<<24))+((1540483477*(i>>>16)&65535)<<16),r=1540483477*(65535&r)+((1540483477*(r>>>16)&65535)<<16)^(i=1540483477*(65535&(i^=i>>>24))+((1540483477*(i>>>16)&65535)<<16)),n-=4,++s;switch(n){case 3:r^=(255&t.charCodeAt(s+2))<<16;case 2:r^=(255&t.charCodeAt(s+1))<<8;case 1:r=1540483477*(65535&(r^=255&t.charCodeAt(s)))+((1540483477*(r>>>16)&65535)<<16)}return r=1540483477*(65535&(r^=r>>>13))+((1540483477*(r>>>16)&65535)<<16),(r^=r>>>15)>>>0},SamplerInfoIndex:j,effectStructure:{$techniques:[{$passes:[{depthStencilState:{},rasterizerState:{},blendState:{targets:[{}]},properties:{any:{sampler:{},inspector:{}}}}]}]},typeMap:H,sizeMap:W,formatMap:X,passParams:Y,RenderQueue:{OPAQUE:0,TRANSPARENT:1,OVERLAY:2},RenderPriority:k,GFXGetTypeSize:function(t){switch(t){case a.BOOL:case a.INT:case a.UINT:case a.FLOAT:return 4;case a.BOOL2:case a.INT2:case a.UINT2:case a.FLOAT2:return 8;case a.BOOL3:case a.INT3:case a.UINT3:case a.FLOAT3:return 12;case a.BOOL4:case a.INT4:case a.UINT4:case a.FLOAT4:case a.MAT2:return 16;case a.MAT2X3:return 24;case a.MAT2X4:return 32;case a.MAT3X2:return 24;case a.MAT3:return 36;case a.MAT3X4:return 48;case a.MAT4X2:case a.MAT4X2:return 32;case a.MAT4:return 64;case a.SAMPLER1D:case a.SAMPLER1D_ARRAY:case a.SAMPLER2D:case a.SAMPLER2D_ARRAY:case a.SAMPLER3D:case a.SAMPLER_CUBE:return 4;default:return 0}},UniformBinding:z};e.exports=q}),{}],361:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("../memop"),r=c(t("../enums")),s=t("../../core/value-types"),a=c(t("./program-lib")),o=c(t("./view")),l=c(t("../gfx"));function c(t){return t&&t.__esModule?t:{default:t}}var h=new s.Mat4,u=new n.RecyclePool(function(){return{stage:null,items:null}},8),_=new n.RecyclePool(function(){return new Float32Array(2)},8),f=new n.RecyclePool(function(){return new Float32Array(3)},8),d=new n.RecyclePool(function(){return new Float32Array(4)},8),p=new n.RecyclePool(function(){return new Float32Array(9)},8),m=new n.RecyclePool(function(){return new Float32Array(16)},8),y=new n.RecyclePool(function(){return new Float32Array(64)},8),v=new n.RecyclePool(function(){return new Int32Array(2)},8),g=new n.RecyclePool(function(){return new Int32Array(3)},8),b=new n.RecyclePool(function(){return new Int32Array(4)},8),A=new n.RecyclePool(function(){return new Int32Array(64)},8),x=(function(){function t(t,e){var i;this._device=t,this._programLib=new a.default(t),this._opts=e,this._type2defaultValue=((i={})[r.default.PARAM_INT]=0,i[r.default.PARAM_INT2]=new s.Vec2(0,0),i[r.default.PARAM_INT3]=new s.Vec3(0,0,0),i[r.default.PARAM_INT4]=new s.Vec4(0,0,0,0),i[r.default.PARAM_FLOAT]=0,i[r.default.PARAM_FLOAT2]=new s.Vec2(0,0),i[r.default.PARAM_FLOAT3]=new s.Vec3(0,0,0),i[r.default.PARAM_FLOAT4]=new s.Vec4(0,0,0,0),i[r.default.PARAM_COLOR4]=new s.Color(0,0,0,1),i[r.default.PARAM_MAT3]=new s.Mat3,i[r.default.PARAM_MAT4]=new s.Mat4,i[r.default.PARAM_TEXTURE_2D]=e.defaultTexture,i[r.default.PARAM_TEXTURE_CUBE]=e.defaultTextureCube,i),this._stage2fn={},this._usedTextureUnits=0,this._viewPools=new n.RecyclePool(function(){return new o.default},8),this._drawItemsPools=new n.RecyclePool(function(){return{model:null,node:null,ia:null,effect:null,defines:null,uniforms:null}},100),this._stageItemsPools=new n.RecyclePool(function(){return new n.RecyclePool(function(){return{model:null,node:null,ia:null,effect:null,defines:null,passes:[],sortKey:-1,uniforms:null}},100)},16),this._definesChanged=!1}var e=t.prototype;return e._resetTextuerUnit=function(){this._usedTextureUnits=0},e._allocTextureUnit=function(){var t=this._device,e=this._usedTextureUnits;return e>=t._caps.maxTextureUnits&&console.warn("Trying to use "+e+" texture units while this GPU supports only "+t._caps.maxTextureUnits),this._usedTextureUnits+=1,e},e._registerStage=function(t,e){this._stage2fn[t]=e},e.clear=function(){this._programLib.clear(),this.reset()},e.reset=function(){this._viewPools.reset(),this._stageItemsPools.reset(),this._definesChanged=!1},e._requestView=function(){return this._viewPools.add()},e._render=function(t,e){var i=this._device;i.setFrameBuffer(t._framebuffer),i.setViewport(t._rect.x,t._rect.y,t._rect.w,t._rect.h);var n={};t._clearFlags&r.default.CLEAR_COLOR&&(n.color=s.Vec4.toArray([],t._color)),t._clearFlags&r.default.CLEAR_DEPTH&&(n.depth=t._depth),t._clearFlags&r.default.CLEAR_STENCIL&&(n.stencil=t._stencil),i.clear(n),this._drawItemsPools.reset();for(var a=0;at.count)return void console.error("Failed to set property ["+t.name+"] : The length of texture array ["+i.length+"] is bigger than ["+t.count+"].");for(var n=A.add(),s=0;s0&&n&&n.precision>0}e||cc.warnID(9102),this._highpSupported=e},t})();i.default=h,e.exports=i.default}),{"../gfx":372}],365:[(function(t,e,i){"use strict";function n(t,e){for(var i=0;i>24)/255,(i.blendColor>>16&255)/255,(i.blendColor>>8&255)/255,(255&i.blendColor)/255),void(i.blendSep?(t.blendFuncSeparate(i.blendSrc,i.blendDst,i.blendSrcAlpha,i.blendDstAlpha),t.blendEquationSeparate(i.blendEq,i.blendAlphaEq)):(t.blendFunc(i.blendSrc,i.blendDst),t.blendEquation(i.blendEq)))):void t.disable(t.BLEND);!1!==i.blend&&(e.blendColor!==i.blendColor&&t.blendColor((i.blendColor>>24)/255,(i.blendColor>>16&255)/255,(i.blendColor>>8&255)/255,(255&i.blendColor)/255),e.blendSep===i.blendSep?i.blendSep?(e.blendSrc===i.blendSrc&&e.blendDst===i.blendDst&&e.blendSrcAlpha===i.blendSrcAlpha&&e.blendDstAlpha===i.blendDstAlpha||t.blendFuncSeparate(i.blendSrc,i.blendDst,i.blendSrcAlpha,i.blendDstAlpha),e.blendEq===i.blendEq&&e.blendAlphaEq===i.blendAlphaEq||t.blendEquationSeparate(i.blendEq,i.blendAlphaEq)):(e.blendSrc===i.blendSrc&&e.blendDst===i.blendDst||t.blendFunc(i.blendSrc,i.blendDst),e.blendEq!==i.blendEq&&t.blendEquation(i.blendEq)):i.blendSep?(t.blendFuncSeparate(i.blendSrc,i.blendDst,i.blendSrcAlpha,i.blendDstAlpha),t.blendEquationSeparate(i.blendEq,i.blendAlphaEq)):(t.blendFunc(i.blendSrc,i.blendDst),t.blendEquation(i.blendEq)))}function d(t,e,i){if(e.depthTest!==i.depthTest)return i.depthTest?(t.enable(t.DEPTH_TEST),t.depthFunc(i.depthFunc),void t.depthMask(i.depthWrite)):void t.disable(t.DEPTH_TEST);e.depthWrite!==i.depthWrite&&t.depthMask(i.depthWrite),!1!==i.depthTest?e.depthFunc!==i.depthFunc&&t.depthFunc(i.depthFunc):i.depthWrite&&(i.depthTest=!0,i.depthFunc=a.enums.DS_FUNC_ALWAYS,t.enable(t.DEPTH_TEST),t.depthFunc(i.depthFunc))}function p(t,e,i){if(i.stencilTest!==a.enums.STENCIL_INHERIT)return i.stencilTest!==e.stencilTest?i.stencilTest===a.enums.STENCIL_DISABLE?void t.disable(t.STENCIL_TEST):(t.enable(t.STENCIL_TEST),void(i.stencilSep?(t.stencilFuncSeparate(t.FRONT,i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),t.stencilMaskSeparate(t.FRONT,i.stencilWriteMaskFront),t.stencilOpSeparate(t.FRONT,i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront),t.stencilFuncSeparate(t.BACK,i.stencilFuncBack,i.stencilRefBack,i.stencilMaskBack),t.stencilMaskSeparate(t.BACK,i.stencilWriteMaskBack),t.stencilOpSeparate(t.BACK,i.stencilFailOpBack,i.stencilZFailOpBack,i.stencilZPassOpBack)):(t.stencilFunc(i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),t.stencilMask(i.stencilWriteMaskFront),t.stencilOp(i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront)))):void(i.stencilTest!==a.enums.STENCIL_DISABLE&&(e.stencilSep===i.stencilSep?i.stencilSep?(e.stencilFuncFront===i.stencilFuncFront&&e.stencilRefFront===i.stencilRefFront&&e.stencilMaskFront===i.stencilMaskFront||t.stencilFuncSeparate(t.FRONT,i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),e.stencilWriteMaskFront!==i.stencilWriteMaskFront&&t.stencilMaskSeparate(t.FRONT,i.stencilWriteMaskFront),e.stencilFailOpFront===i.stencilFailOpFront&&e.stencilZFailOpFront===i.stencilZFailOpFront&&e.stencilZPassOpFront===i.stencilZPassOpFront||t.stencilOpSeparate(t.FRONT,i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront),e.stencilFuncBack===i.stencilFuncBack&&e.stencilRefBack===i.stencilRefBack&&e.stencilMaskBack===i.stencilMaskBack||t.stencilFuncSeparate(t.BACK,i.stencilFuncBack,i.stencilRefBack,i.stencilMaskBack),e.stencilWriteMaskBack!==i.stencilWriteMaskBack&&t.stencilMaskSeparate(t.BACK,i.stencilWriteMaskBack),e.stencilFailOpBack===i.stencilFailOpBack&&e.stencilZFailOpBack===i.stencilZFailOpBack&&e.stencilZPassOpBack===i.stencilZPassOpBack||t.stencilOpSeparate(t.BACK,i.stencilFailOpBack,i.stencilZFailOpBack,i.stencilZPassOpBack)):(e.stencilFuncFront===i.stencilFuncFront&&e.stencilRefFront===i.stencilRefFront&&e.stencilMaskFront===i.stencilMaskFront||t.stencilFunc(i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),e.stencilWriteMaskFront!==i.stencilWriteMaskFront&&t.stencilMask(i.stencilWriteMaskFront),e.stencilFailOpFront===i.stencilFailOpFront&&e.stencilZFailOpFront===i.stencilZFailOpFront&&e.stencilZPassOpFront===i.stencilZPassOpFront||t.stencilOp(i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront)):i.stencilSep?(t.stencilFuncSeparate(t.FRONT,i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),t.stencilMaskSeparate(t.FRONT,i.stencilWriteMaskFront),t.stencilOpSeparate(t.FRONT,i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront),t.stencilFuncSeparate(t.BACK,i.stencilFuncBack,i.stencilRefBack,i.stencilMaskBack),t.stencilMaskSeparate(t.BACK,i.stencilWriteMaskBack),t.stencilOpSeparate(t.BACK,i.stencilFailOpBack,i.stencilZFailOpBack,i.stencilZPassOpBack)):(t.stencilFunc(i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),t.stencilMask(i.stencilWriteMaskFront),t.stencilOp(i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront))))}function m(t,e,i){e.cullMode!==i.cullMode&&(i.cullMode!==a.enums.CULL_NONE?(t.enable(t.CULL_FACE),t.cullFace(i.cullMode)):t.disable(t.CULL_FACE))}function y(t,e,i,n){var r=!1;if(-1!==n.maxStream){if(i.maxStream!==n.maxStream)r=!0;else if(i.program!==n.program)r=!0;else for(var s=0;s>>0},n.setBlendFunc=function(t,e){this._next.blendSep=!1,this._next.blendSrc=t,this._next.blendDst=e},n.setBlendFuncSep=function(t,e,i,n){this._next.blendSep=!0,this._next.blendSrc=t,this._next.blendDst=e,this._next.blendSrcAlpha=i,this._next.blendDstAlpha=n},n.setBlendEq=function(t){this._next.blendSep=!1,this._next.blendEq=t},n.setBlendEqSep=function(t,e){this._next.blendSep=!0,this._next.blendEq=t,this._next.blendAlphaEq=e},n.setCullMode=function(t){this._next.cullMode=t},n.setVertexBuffer=function(t,e,i){void 0===i&&(i=0),this._next.vertexBuffers[t]=e,this._next.vertexBufferOffsets[t]=i,this._next.maxStream=this._caps.maxTextureUnits?console.warn("Can not set texture "+t+" at stage "+i+", max texture exceed: "+this._caps.maxTextureUnits):(this._next.textureUnits[i]=e,this.setUniform(t,i),this._next.maxTextureSlot=this._caps.maxTextureUnits)console.warn("Can not set "+n+" textures for "+t+", max texture exceed: "+this._caps.maxTextureUnits);else{for(var r=0;rthis._bytes){if(t)return void console.error("Failed to update data, bytes exceed.");this._needExpandDataStore=!0,this._bytes=t+e.byteLength,this._numIndices=this._bytes/this._bytesPerIndex}var i=this._device._gl,n=this._usage;i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,this._glID),this._needExpandDataStore?(i.bufferData(i.ELEMENT_ARRAY_BUFFER,e,n),this._needExpandDataStore=!1):i.bufferSubData(i.ELEMENT_ARRAY_BUFFER,t,e),this._device._restoreIndexBuffer()}}else console.error("The buffer is destroyed")},n.setUsage=function(t){this._usage=t},e=t,(i=[{key:"count",get:function(){return this._numIndices}}])&&s(e.prototype,i),t})();o.BYTES_PER_INDEX=a;var l=o;i.default=l,e.exports=i.default}),{"./enums":369}],372:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=t("./enums");n={VertexFormat:t("./vertex-format"),IndexBuffer:t("./index-buffer"),VertexBuffer:t("./vertex-buffer"),Program:t("./program"),Texture:t("./texture"),Texture2D:t("./texture-2d"),TextureCube:t("./texture-cube"),RenderBuffer:t("./render-buffer"),FrameBuffer:t("./frame-buffer"),Device:t("./device"),attrTypeBytes:r.attrTypeBytes,glFilter:r.glFilter,glTextureFmt:r.glTextureFmt},Object.assign(n,r.enums);var s=n;i.default=s,cc.gfx=n,e.exports=i.default}),{"./device":368,"./enums":369,"./frame-buffer":370,"./index-buffer":371,"./program":374,"./render-buffer":375,"./texture":379,"./texture-2d":377,"./texture-cube":378,"./vertex-buffer":380,"./vertex-format":381}],373:[(function(t,e,i){"use strict";i.__esModule=!0,i.isPow2=function(t){return!(t&t-1||!t)}}),{}],374:[(function(t,e,i){"use strict";function n(t,e){for(var i=0;i0&&t.push({type:e,fileID:-1,line:0,message:i})}}))}var a=(function(){function t(t,e){this._device=t,this._attributes=[],this._uniforms=[],this._samplers=[],this._errors=[],this._linked=!1,this._vertSource=e.vert,this._fragSource=e.frag,this._glID=null,this._id=r++}var e,i,a=t.prototype;return a.link=function(){if(!this._linked){var t=this._device._gl,e=o(t,t.VERTEX_SHADER,this._vertSource),i=o(t,t.FRAGMENT_SHADER,this._fragSource),n=t.createProgram();t.attachShader(n,e),t.attachShader(n,i),t.linkProgram(n);var r=!1,a=this._errors;if(t.getShaderParameter(e,t.COMPILE_STATUS)||(s(a,"vs",t.getShaderInfoLog(e)),r=!0),t.getShaderParameter(i,t.COMPILE_STATUS)||(s(a,"fs",t.getShaderInfoLog(i)),r=!0),t.deleteShader(e),t.deleteShader(i),r)return a;if(!t.getProgramParameter(n,t.LINK_STATUS))return a.push({info:"Failed to link shader program: "+t.getProgramInfoLog(n)}),a;this._glID=n;for(var l=t.getProgramParameter(n,t.ACTIVE_ATTRIBUTES),c=0;c=s.enums.TEXTURE_FMT_RGB_DXT1&&this._format<=s.enums.TEXTURE_FMT_RGBA_PVRTC_4BPPV1||this._format>=s.enums.TEXTURE_FMT_RGB_ETC2&&this._format<=s.enums.TEXTURE_FMT_RGBA_ETC2),void 0!==t.genMipmaps&&(this._genMipmap=t.genMipmaps,i=t.genMipmaps);var n=this._device.caps.maxTextureSize||Number.MAX_VALUE,r=Math.max(t.width||0,t.height||0);n1&&(i=!1,(t.width>t.height?t.width:t.height)>>t.images.length-1!=1&&console.error("texture-2d mipmap is invalid, should have a 1x1 mipmap."))}(0,a.isPow2)(this._width)&&(0,a.isPow2)(this._height)||(i=!1),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,this._glID),void 0!==t.images&&t.images.length>0&&(this._setMipmap(t.images,t.flipY,t.premultiplyAlpha),t.images.length>1&&(this._genMipmap=!0)),i&&(e.hint(e.GENERATE_MIPMAP_HINT,e.NICEST),e.generateMipmap(e.TEXTURE_2D),this._genMipmap=!0),this._setTexInfo(),this._device._restoreTexture(0)},r.updateSubImage=function(t){var e=this._device._gl,i=(0,s.glTextureFmt)(this._format);e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,this._glID),this._setSubImage(i,t),this._device._restoreTexture(0)},r.updateImage=function(t){var e=this._device._gl,i=(0,s.glTextureFmt)(this._format);e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,this._glID),this._setImage(i,t),this._device._restoreTexture(0)},r._setSubImage=function(t,e){var i=this._device._gl,n=e.flipY,r=e.premultiplyAlpha,s=e.image;!s||ArrayBuffer.isView(s)||s instanceof ArrayBuffer?(void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),this._compressed?i.compressedTexSubImage2D(i.TEXTURE_2D,e.level,e.x,e.y,e.width,e.height,t.format,s):i.texSubImage2D(i.TEXTURE_2D,e.level,e.x,e.y,e.width,e.height,t.format,t.pixelType,s)):(void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!0):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),i.texSubImage2D(i.TEXTURE_2D,e.level,e.x,e.y,t.format,t.pixelType,s))},r._setImage=function(t,e){var i=this._device._gl,n=e.flipY,r=e.premultiplyAlpha,s=e.image;!s||ArrayBuffer.isView(s)||s instanceof ArrayBuffer?(void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),this._compressed?i.compressedTexImage2D(i.TEXTURE_2D,e.level,t.internalFormat,e.width,e.height,0,s):i.texImage2D(i.TEXTURE_2D,e.level,t.internalFormat,e.width,e.height,0,t.format,t.pixelType,s)):(void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!0):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),i.texImage2D(i.TEXTURE_2D,e.level,t.internalFormat,t.format,t.pixelType,s))},r._setMipmap=function(t,e,i){for(var n=(0,s.glTextureFmt)(this._format),r={width:this._width,height:this._height,flipY:e,premultiplyAlpha:i,level:0,image:null},a=0;a>a,r.height=this._height>>a,r.image=t[a],this._setImage(n,r)},r._setTexInfo=function(){var t=this._device._gl,e=(0,a.isPow2)(this._width)&&(0,a.isPow2)(this._height);e||this._wrapS===s.enums.WRAP_CLAMP&&this._wrapT===s.enums.WRAP_CLAMP||(console.warn("WebGL1 doesn't support all wrap modes with NPOT textures"),this._wrapS=s.enums.WRAP_CLAMP,this._wrapT=s.enums.WRAP_CLAMP);var i=this._genMipmap?this._mipFilter:-1;e||-1===i||(console.warn("NPOT textures do not support mipmap filter"),i=-1),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,(0,s.glFilter)(t,this._minFilter,i)),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,(0,s.glFilter)(t,this._magFilter,-1)),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,this._wrapS),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,this._wrapT);var n=this._device.ext("EXT_texture_filter_anisotropic");n&&t.texParameteri(t.TEXTURE_2D,n.TEXTURE_MAX_ANISOTROPY_EXT,this._anisotropy)},n})(r.default);i.default=l,e.exports=i.default}),{"./enums":369,"./misc":373,"./texture":379}],378:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("./texture"))&&n.__esModule?n:{default:n},s=t("./enums"),a=t("./misc");function o(t,e){return(o=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var l=(function(t){var e,i;function n(e,i){var n,r=(n=t.call(this,e)||this)._device._gl;return n._target=r.TEXTURE_CUBE_MAP,n._glID=r.createTexture(),n.update(i),n}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,o(e,i);var r=n.prototype;return r.update=function(t){var e=this._device._gl,i=this._genMipmaps;t&&(void 0!==t.width&&(this._width=t.width),void 0!==t.height&&(this._height=t.height),void 0!==t.anisotropy&&(this._anisotropy=t.anisotropy),void 0!==t.minFilter&&(this._minFilter=t.minFilter),void 0!==t.magFilter&&(this._magFilter=t.magFilter),void 0!==t.mipFilter&&(this._mipFilter=t.mipFilter),void 0!==t.wrapS&&(this._wrapS=t.wrapS),void 0!==t.wrapT&&(this._wrapT=t.wrapT),void 0!==t.format&&(this._format=t.format,this._compressed=this._format>=s.enums.TEXTURE_FMT_RGB_DXT1&&this._format<=s.enums.TEXTURE_FMT_RGBA_PVRTC_4BPPV1||this._format>=s.enums.TEXTURE_FMT_RGB_ETC2&&this._format<=s.enums.TEXTURE_FMT_RGBA_ETC2),void 0!==t.genMipmaps&&(this._genMipmaps=t.genMipmaps,i=t.genMipmaps),void 0!==t.images&&t.images.length>1&&(i=!1,t.width!==t.height&&console.warn("texture-cube width and height should be identical."),t.width>>t.images.length-1!=1&&console.error("texture-cube mipmap is invalid. please set mipmap as 1x1, 2x2, 4x4 ... nxn"))),(0,a.isPow2)(this._width)&&(0,a.isPow2)(this._height)||(i=!1),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_CUBE_MAP,this._glID),void 0!==t.images&&t.images.length>0&&(this._setMipmap(t.images,t.flipY,t.premultiplyAlpha),t.images.length>1&&(this._genMipmaps=!0)),i&&(e.hint(e.GENERATE_MIPMAP_HINT,e.NICEST),e.generateMipmap(e.TEXTURE_CUBE_MAP),this._genMipmaps=!0),this._setTexInfo(),this._device._restoreTexture(0)},r.updateSubImage=function(t){var e=this._device._gl,i=(0,s.glTextureFmt)(this._format);e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_CUBE_MAP,this._glID),this._setSubImage(i,t),this._device._restoreTexture(0)},r.updateImage=function(t){var e=this._device._gl,i=(0,s.glTextureFmt)(this._format);e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_CUBE_MAP,this._glID),this._setImage(i,t),this._device._restoreTexture(0)},r._setSubImage=function(t,e){var i=this._device._gl,n=e.flipY,r=e.premultiplyAlpha,s=e.faceIndex,a=e.image;void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),!a||ArrayBuffer.isView(a)||a instanceof ArrayBuffer?this._compressed?i.compressedTexSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,e.x,e.y,e.width,e.height,t.format,a):i.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,e.x,e.y,e.width,e.height,t.format,t.pixelType,a):i.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,e.x,e.y,t.format,t.pixelType,a)},r._setImage=function(t,e){var i=this._device._gl,n=e.flipY,r=e.premultiplyAlpha,s=e.faceIndex,a=e.image;void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),!a||ArrayBuffer.isView(a)||a instanceof ArrayBuffer?this._compressed?i.compressedTexImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,t.internalFormat,e.width,e.height,0,a):i.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,t.internalFormat,e.width,e.height,0,t.format,t.pixelType,a):i.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,t.internalFormat,t.format,t.pixelType,a)},r._setMipmap=function(t,e,i){for(var n=(0,s.glTextureFmt)(this._format),r={width:this._width,height:this._height,faceIndex:0,flipY:e,premultiplyAlpha:i,level:0,image:null},a=0;a>a,r.height=this._height>>a;for(var l=0;l<6;++l)r.faceIndex=l,r.image=o[l],this._setImage(n,r)}},r._setTexInfo=function(){var t=this._device._gl,e=(0,a.isPow2)(this._width)&&(0,a.isPow2)(this._height);e||this._wrapS===s.enums.WRAP_CLAMP&&this._wrapT===s.enums.WRAP_CLAMP||(console.warn("WebGL1 doesn't support all wrap modes with NPOT textures"),this._wrapS=s.enums.WRAP_CLAMP,this._wrapT=s.enums.WRAP_CLAMP);var i=this._genMipmaps?this._mipFilter:-1;e||-1===i||(console.warn("NPOT textures do not support mipmap filter"),i=-1),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_MIN_FILTER,(0,s.glFilter)(t,this._minFilter,i)),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_MAG_FILTER,(0,s.glFilter)(t,this._magFilter,-1)),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_WRAP_S,this._wrapS),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_WRAP_T,this._wrapT);var n=this._device.ext("EXT_texture_filter_anisotropic");n&&t.texParameteri(t.TEXTURE_CUBE_MAP,n.TEXTURE_MAX_ANISOTROPY_EXT,this._anisotropy)},n})(r.default);i.default=l,e.exports=i.default}),{"./enums":369,"./misc":373,"./texture":379}],379:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("./enums"),r=0,s=(function(){function t(t){this._device=t,this._width=4,this._height=4,this._genMipmaps=!1,this._compressed=!1,this._anisotropy=1,this._minFilter=n.enums.FILTER_LINEAR,this._magFilter=n.enums.FILTER_LINEAR,this._mipFilter=n.enums.FILTER_LINEAR,this._wrapS=n.enums.WRAP_REPEAT,this._wrapT=n.enums.WRAP_REPEAT,this._format=n.enums.TEXTURE_FMT_RGBA8,this._target=-1,this._id=r++}return t.prototype.destroy=function(){null!==this._glID?(this._device._gl.deleteTexture(this._glID),this._device._stats.tex-=this.bytes,this._glID=null):console.error("The texture already destroyed")},t})();i.default=s,e.exports=i.default}),{"./enums":369}],380:[(function(t,e,i){"use strict";function n(t,e){for(var i=0;ithis._bytes){if(t)return void console.error("Failed to update data, bytes exceed.");this._needExpandDataStore=!0,this._bytes=t+e.byteLength,this._numVertices=this._bytes/this._bytesPerVertex}var i=this._device._gl,n=this._usage;i.bindBuffer(i.ARRAY_BUFFER,this._glID),this._needExpandDataStore?(i.bufferData(i.ARRAY_BUFFER,e,n),this._needExpandDataStore=!1):i.bufferSubData(i.ARRAY_BUFFER,t,e),i.bindBuffer(i.ARRAY_BUFFER,null)}}else console.error("The buffer is destroyed")},r.getFormat=function(t){return this._format.element(t)},r.setUsage=function(t){this._usage=t},e=t,(i=[{key:"count",get:function(){return this._numVertices}}])&&n(e.prototype,i),t})();i.default=r,e.exports=i.default}),{"./enums":369}],381:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=t("./enums"),s=(n=t("../murmurhash2_gc"))&&n.__esModule?n:{default:n},a=(function(){function t(t){this._attr2el={},this._elements=[],this._bytes=0;for(var e="",i=0,n=t.length;ithis._data.length)for(var e=this._data.length;e=this._data.length&&this._resize(2*this._data.length),this._data[this._count]=t,++this._count},n.pop=function(){--this._count,this._count<0&&(this._count=0);var t=this._data[this._count];return this._data[this._count]=void 0,t},n.fastRemove=function(t){if(!(t>=this._count||t<0)){var e=this._count-1;this._data[t]=this._data[e],this._data[e]=void 0,this._count-=1}},n.indexOf=function(t){return this._data.indexOf(t)},n.sort=function(t){return(0,r.default)(this._data,0,this._count,t)},e=t,(i=[{key:"length",get:function(){return this._count}},{key:"data",get:function(){return this._data}}])&&s(e.prototype,i),t})();i.default=a,e.exports=i.default}),{"./timsort":388}],384:[(function(t,e,i){"use strict";i.__esModule=!0,i.TypedArrayPool=i.RecyclePool=i.Pool=i.LinkedArray=i.FixedArray=i.CircularPool=void 0;var n=c(t("./circular-pool"));i.CircularPool=n.default;var r=c(t("./fixed-array"));i.FixedArray=r.default;var s=c(t("./linked-array"));i.LinkedArray=s.default;var a=c(t("./pool"));i.Pool=a.default;var o=c(t("./recycle-pool"));i.RecyclePool=o.default;var l=c(t("./typed-array-pool"));function c(t){return t&&t.__esModule?t:{default:t}}i.TypedArrayPool=l.default}),{"./circular-pool":382,"./fixed-array":383,"./linked-array":385,"./pool":386,"./recycle-pool":387,"./typed-array-pool":389}],385:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r=(n=t("./pool"))&&n.__esModule?n:{default:n};function s(t,e){for(var i=0;ithis._data.length)for(var e=this._data.length;e=this._data.length&&this.resize(2*this._data.length),this._data[this._count++]},n.remove=function(t){if(!(t>=this._count)){var e=this._count-1,i=this._data[t];this._data[t]=this._data[e],this._data[e]=i,this._count-=1}},n.sort=function(t){return(0,r.default)(this._data,0,this._count,t)},e=t,(i=[{key:"length",get:function(){return this._count}},{key:"data",get:function(){return this._data}}])&&s(e.prototype,i),t})();i.default=a,cc.RecyclePool=a,e.exports=i.default}),{"./timsort":388}],388:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=function(t,e,i,r){if(!Array.isArray(t))throw new TypeError("Can only sort arrays");void 0===e&&(e=0),void 0===i&&(i=t.length),void 0===r&&(r=l);var s=i-e;if(!(s<2)){var a=0;if(su&&(f=u),_(t,e,e+f,e+a,r),a=f}o.pushRun(e,a),o.mergeRuns(),s-=a,e+=a}while(0!==s);o.forceMergeRuns()}};var n=32,r=7,s=256,a=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9];function o(t){return t<1e5?t<100?t<10?0:1:t<1e4?t<1e3?2:3:4:t<1e7?t<1e6?5:6:t<1e9?t<1e8?7:8:9}function l(t,e){if(t===e)return 0;if(~~t===t&&~~e===e){if(0===t||0===e)return t=0)return-1;if(t>=0)return 1;t=-t,e=-e}var i=o(t),n=o(e),r=0;return in&&(e*=a[i-n-1],t/=10,r=1),t===e?r:t=n;)e|=1&t,t>>=1;return t+e}function h(t,e,i,n){var r=e+1;if(r===i)return 1;if(n(t[r++],t[e])<0){for(;r=0;)r++;return r-e}function u(t,e,i){for(i--;e>>1;r(s,t[l])<0?o=l:a=l+1}var c=n-a;switch(c){case 3:t[a+3]=t[a+2];case 2:t[a+2]=t[a+1];case 1:t[a+1]=t[a];break;default:for(;c>0;)t[a+c]=t[a+c-1],c--}t[a]=s}}function f(t,e,i,n,r,s){var a=0,o=0,l=1;if(s(t,e[i+r])>0){for(o=n-r;l0;)a=l,(l=1+(l<<1))<=0&&(l=o);l>o&&(l=o),a+=r,l+=r}else{for(o=r+1;lo&&(l=o);var c=a;a=r-l,l=r-c}for(a++;a>>1);s(t,e[i+h])>0?a=h+1:l=h}return l}function d(t,e,i,n,r,s){var a=0,o=0,l=1;if(s(t,e[i+r])<0){for(o=r+1;lo&&(l=o);var c=a;a=r-l,l=r-c}else{for(o=n-r;l=0;)a=l,(l=1+(l<<1))<=0&&(l=o);l>o&&(l=o),a+=r,l+=r}for(a++;a>>1);s(t,e[i+h])<0?l=h:a=h+1}return l}var p=(function(){function t(t,e){this.array=t,this.compare=e,this.minGallop=r,this.length=t.length,this.tmpStorageLength=s,this.length<2*s&&(this.tmpStorageLength=this.length>>>1),this.tmp=new Array(this.tmpStorageLength),this.stackLength=this.length<120?5:this.length<1542?10:this.length<119151?19:40,this.runStart=new Array(this.stackLength),this.runLength=new Array(this.stackLength),this.stackSize=0}var e=t.prototype;return e.pushRun=function(t,e){this.runStart[this.stackSize]=t,this.runLength[this.stackSize]=e,this.stackSize+=1},e.mergeRuns=function(){for(;this.stackSize>1;){var t=this.stackSize-2;if(t>=1&&this.runLength[t-1]<=this.runLength[t]+this.runLength[t+1]||t>=2&&this.runLength[t-2]<=this.runLength[t]+this.runLength[t-1])this.runLength[t-1]this.runLength[t+1])break;this.mergeAt(t)}},e.forceMergeRuns=function(){for(;this.stackSize>1;){var t=this.stackSize-2;t>0&&this.runLength[t-1]=r||m>=r);if(y)break;_<0&&(_=0),_+=2}if(this.minGallop=_,_<1&&(this.minGallop=1),1===e){for(l=0;l=0;l--)a[p+l]=a[_+l];if(0===e){g=!0;break}}if(a[u--]=o[h--],1==--n){g=!0;break}if(0!=(v=n-f(a[c],o,0,n,n-1,s))){for(n-=v,p=1+(u-=v),_=1+(h-=v),l=0;l=r||v>=r);if(g)break;m<0&&(m=0),m+=2}if(this.minGallop=m,m<1&&(this.minGallop=1),1===n){for(p=1+(u-=e),_=1+(c-=e),l=e-1;l>=0;l--)a[p+l]=a[_+l];a[u]=o[h]}else{if(0===n)throw new Error("mergeHigh preconditions were not respected");for(_=u-(n-1),l=0;l=0;l--)a[p+l]=a[_+l];a[u]=o[h]}else for(_=u-(n-1),l=0;l65535)<<4,e|=i=((t>>>=e)>255)<<3,e|=i=((t>>>=i)>15)<<2,(e|=i=((t>>>=i)>3)<<1)|(t>>>=i)>>1}function o(t){var e=s(t),i=n[a(e)>>2];return i.length>0?i.pop():new ArrayBuffer(e)}var l={alloc_int8:function(t){var e=new Int8Array(o(t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_uint8:function(t){var e=new Uint8Array(o(t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_int16:function(t){var e=new Int16Array(o(2*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_uint16:function(t){var e=new Uint16Array(o(2*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_int32:function(t){var e=new Int32Array(o(4*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_uint32:function(t){var e=new Uint32Array(o(4*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_float32:function(t){var e=new Float32Array(o(4*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_float64:function(t){var e=new Float64Array(o(8*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_dataview:function(t){var e=new DataView(o(t),0,t);return e.length!==t?e.subarray(0,t):e},free:function(t){var e;e=t.buffer,n[a(e.byteLength)>>2].push(e)},reset:function(){for(var t=Array(8),e=0;e<8;++e)t[e]=[]}};i.default=l,e.exports=i.default}),{}],390:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=function(t,e){for(var i,n=t.length,r=e^n,s=0;n>=4;)i=1540483477*(65535&(i=255&t.charCodeAt(s)|(255&t.charCodeAt(++s))<<8|(255&t.charCodeAt(++s))<<16|(255&t.charCodeAt(++s))<<24))+((1540483477*(i>>>16)&65535)<<16),r=1540483477*(65535&r)+((1540483477*(r>>>16)&65535)<<16)^(i=1540483477*(65535&(i^=i>>>24))+((1540483477*(i>>>16)&65535)<<16)),n-=4,++s;switch(n){case 3:r^=(255&t.charCodeAt(s+2))<<16;case 2:r^=(255&t.charCodeAt(s+1))<<8;case 1:r=1540483477*(65535&(r^=255&t.charCodeAt(s)))+((1540483477*(r>>>16)&65535)<<16)}return r=1540483477*(65535&(r^=r>>>13))+((1540483477*(r>>>16)&65535)<<16),(r^=r>>>15)>>>0},e.exports=i.default}),{}],391:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("../../core/value-types"),r=o(t("../core/base-renderer")),s=o(t("../enums")),a=t("../memop");function o(t){return t&&t.__esModule?t:{default:t}}function l(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function c(t,e){return(c=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var h=new Float32Array(16),u=new Float32Array(16),_=new Float32Array(16),f=new Float32Array(16),d=new Float32Array(4),p=new Float32Array(64),m=[],y=new Float32Array(4),v=new n.Vec4(0,0,0,0),g=new n.Vec3(0,0,0),b=new n.Vec3(0,0,0),A=new a.RecyclePool(function(){return new Float32Array(16)},8);function x(t,e){return t._priority-e._priority}var C=(function(t){var e,i;function r(e,i){var n;return(n=t.call(this,e,i)||this)._time=new Float32Array(4),n._lights=[],n._shadowLights=[],n._numLights=0,n._defines={},n._registerStage("shadowcast",n._shadowStage.bind(l(n))),n._registerStage("opaque",n._opaqueStage.bind(l(n))),n._registerStage("transparent",n._transparentStage.bind(l(n))),n}i=t,(e=r).prototype=Object.create(i.prototype),e.prototype.constructor=e,c(e,i);var a=r.prototype;return a.reset=function(){A.reset(),t.prototype.reset.call(this)},a.render=function(t,e){this.reset(),e&&(this._time[0]+=e,this._time[1]=e,this._time[2]++),this._device.setUniform("cc_time",this._time),this._updateLights(t);for(var i=this._device._gl.canvas,n=0;n0){for(var e=A.add(),i=A.add(),n=A.add(),r=Math.min(4,this._lights.length),a=0;a1,C=A[0],T=C.getAttribute("source");T=T.replace(/\\/g,"/");var S=y.getElementsByTagName("tile"),w=S&&S.length||1,E=null,M=y.getAttribute("name")||"",D=parseInt(y.getAttribute("spacing"))||0,B=parseInt(y.getAttribute("margin"))||0,P=parseInt(e);P||(P=parseInt(y.getAttribute("firstgid"))||0);var I=cc.size(0,0);I.width=parseFloat(y.getAttribute("tilewidth")),I.height=parseFloat(y.getAttribute("tileheight"));var R=y.getElementsByTagName("tileoffset")[0],O=cc.v2(0,0);R&&(O.x=parseFloat(R.getAttribute("x")),O.y=parseFloat(R.getAttribute("y")));for(var L=null,F=0;F0){var N=(C=V[0]).getAttribute("source");N=N.replace(/\\/g,"/"),L.sourceImage=this._textures[N],L.sourceImage||cc.errorID(7221,N);var k=cc.size(0,0);k.width=parseFloat(C.getAttribute("width")),k.height=parseFloat(C.getAttribute("height")),L._tileSize=k,L.firstGid=this.parentGID}this._tileProperties[this.parentGID]=l(E);var z=E.getElementsByTagName("animation");if(z&&z.length>0){var G=z[0].getElementsByTagName("frame"),U={frames:[],dt:0,frameIdx:0};this._tileAnimations[this.parentGID]=U;for(var j=U.frames,H=0;H0){var m=p[0];f.type=cc.TiledMap.TMXObjectType.TEXT,f.wrap="1"==m.getAttribute("wrap"),f.color=o(m.getAttribute("color")),f.halign=s(m.getAttribute("halign")),f.valign=a(m.getAttribute("valign")),f.pixelsize=parseInt(m.getAttribute("pixelsize"))||16,f.text=m.childNodes[0].nodeValue}var y=_.getAttribute("gid");y&&(f.gid=parseInt(y),f.type=cc.TiledMap.TMXObjectType.IMAGE);var v=_.getElementsByTagName("ellipse");v&&v.length>0&&(f.type=cc.TiledMap.TMXObjectType.ELLIPSE);var g=_.getElementsByTagName("polygon");if(g&&g.length>0){f.type=cc.TiledMap.TMXObjectType.POLYGON;var b=g[0].getAttribute("points");b&&(f.points=this._parsePointsString(b))}var A=_.getElementsByTagName("polyline");if(A&&A.length>0){f.type=cc.TiledMap.TMXObjectType.POLYLINE;var x=A[0].getAttribute("points");x&&(f.polylinePoints=this._parsePointsString(x))}f.type||(f.type=cc.TiledMap.TMXObjectType.RECT),e._objects.push(f)}"index"!==c&&e._objects.sort((function(t,e){return t.y-e.y}))}return e},_parsePointsString:function(t){if(!t)return null;for(var e=[],i=t.split(" "),n=0;nthis._rightTop.row&&(t.row=this._rightTop.row),i<0&&(t.col=0),i>this._rightTop.col&&(t.col=this._rightTop.col)},_addUserNodeToGrid:function(t,e){var i=e.row,n=e.col,r=this._userNodeGrid[i]=this._userNodeGrid[i]||{count:0},s=r[n]=r[n]||{count:0,list:[]};t._row=i,t._col=n,t._index=s.list.length,r.count++,s.count++,s.list.push(t),this._userNodeDirty=!0},_isUserNodeDirty:function(){return this._userNodeDirty},_setUserNodeDirty:function(t){this._userNodeDirty=t},onEnable:function(){this._super(),this.node.on(cc.Node.EventType.ANCHOR_CHANGED,this._syncAnchorPoint,this),this._activateMaterial()},onDisable:function(){this._super(),this.node.off(cc.Node.EventType.ANCHOR_CHANGED,this._syncAnchorPoint,this)},_syncAnchorPoint:function(){var t=this.node;this._leftDownToCenterX=t.width*t.anchorX*t.scaleX,this._leftDownToCenterY=t.height*t.anchorY*t.scaleY,this._cullingDirty=!0},onDestroy:function(){this._super(),this._buffer&&(this._buffer.destroy(),this._buffer=null),this._renderDataList=null},getLayerName:function(){return this._layerName},setLayerName:function(t){this._layerName=t},getProperty:function(t){return this._properties[t]},getPositionAt:function(t,e){var i,n;switch(void 0!==e?(i=Math.floor(t),e=Math.floor(e)):(i=Math.floor(t.x),e=Math.floor(t.y)),this._layerOrientation){case cc.TiledMap.Orientation.ORTHO:n=this._positionForOrthoAt(i,e);break;case cc.TiledMap.Orientation.ISO:n=this._positionForIsoAt(i,e);break;case cc.TiledMap.Orientation.HEX:n=this._positionForHexAt(i,e)}return n},_isInvalidPosition:function(t,e){if(t&&"object"==typeof t){var i=t;e=i.y,t=i.x}return t>=this._layerSize.width||e>=this._layerSize.height||t<0||e<0},_positionForIsoAt:function(t,e){var i=0,n=0,r=Math.floor(t)+Math.floor(e)*this._layerSize.width,s=this._tiles[r];if(s){var a=(s&cc.TiledMap.TileFlag.FLIPPED_MASK)>>>0,o=this._texGrids[a].tileset.tileOffset;i=o.x,n=o.y}return cc.v2(.5*this._mapTileSize.width*(this._layerSize.height+t-e-1)+i,.5*this._mapTileSize.height*(this._layerSize.width-t+this._layerSize.height-e-2)-n)},_positionForOrthoAt:function(t,e){var i=0,n=0,r=Math.floor(t)+Math.floor(e)*this._layerSize.width,s=this._tiles[r];if(s){var a=(s&cc.TiledMap.TileFlag.FLIPPED_MASK)>>>0,o=this._texGrids[a].tileset.tileOffset;i=o.x,n=o.y}return cc.v2(t*this._mapTileSize.width+i,(this._layerSize.height-e-1)*this._mapTileSize.height-n)},_positionForHexAt:function(t,e){var i,n=this._mapTileSize.width,r=this._mapTileSize.height,s=this._layerSize.height,a=Math.floor(t)+Math.floor(e)*this._layerSize.width,o=this._tiles[a];i=this._texGrids[o]?this._texGrids[o].tileset.tileOffset:{x:0,y:0};var l=this._staggerIndex===cc.TiledMap.StaggerIndex.STAGGERINDEX_ODD?1:-1,c=0,h=0,u=0,_=0;switch(this._staggerAxis){case cc.TiledMap.StaggerAxis.STAGGERAXIS_Y:u=0,e%2==1&&(u=n/2*l),c=t*n+u+i.x,h=(s-e-1)*(r-(r-this._hexSideLength)/2)-i.y;break;case cc.TiledMap.StaggerAxis.STAGGERAXIS_X:_=0,t%2==1&&(_=r/2*-l),c=t*(n-(n-this._hexSideLength)/2)+i.x,h=(s-e-1)*r+_-i.y}return cc.v2(c,h)},setTilesGIDAt:function(t,e,i,n){if(t&&0!==t.length&&!(n<=0)){i<0&&(i=0),e<0&&(e=0);for(var r=0,s=e+n,a=i;;a++)for(var o=e;o=t.length)return;this._updateTileForGID(t[r],o,a),r++}}},setTileGIDAt:function(t,e,i,n){if(void 0===e)throw new Error("cc.TiledLayer.setTileGIDAt(): pos should be non-null");var r;void 0===n&&e instanceof cc.Vec2?(r=e,n=i):(u.x=e,u.y=i,r=u);var s=t&cc.TiledMap.TileFlag.FLIPPED_MASK;if(r.x=Math.floor(r.x),r.y=Math.floor(r.y),this._isInvalidPosition(r))throw new Error("cc.TiledLayer.setTileGIDAt(): invalid position");this._tiles&&this._tilesets&&0!=this._tilesets.length?0!==s&&s>>0,r.x,r.y)):cc.logID(7238)},_updateTileForGID:function(t,e,i){var n=0|e+i*this._layerSize.width;if(!(n>=this._tiles.length)&&t!==this._tiles[n]){var r=(t&cc.TiledMap.TileFlag.FLIPPED_MASK)>>>0,s=this._texGrids[r],a=s&&s.texId;s?(this._tiles[n]=t,this._updateVertex(e,i),this._buildMaterial(a)):this._tiles[n]=0,this._cullingDirty=!0}},getTiles:function(){return this._tiles},getTileGIDAt:function(t,e){if(void 0===t)throw new Error("cc.TiledLayer.getTileGIDAt(): pos should be non-null");var i=t;if(void 0===e&&(i=t.x,e=t.y),this._isInvalidPosition(i,e))throw new Error("cc.TiledLayer.getTileGIDAt(): invalid position");if(!this._tiles)return cc.logID(7237),null;var n=Math.floor(i)+Math.floor(e)*this._layerSize.width;return(this._tiles[n]&cc.TiledMap.TileFlag.FLIPPED_MASK)>>>0},getTileFlagsAt:function(t,e){if(!t)throw new Error("TiledLayer.getTileFlagsAt: pos should be non-null");if(void 0!==e&&(t=cc.v2(t,e)),this._isInvalidPosition(t))throw new Error("TiledLayer.getTileFlagsAt: invalid position");if(!this._tiles)return cc.logID(7240),null;var i=Math.floor(t.x)+Math.floor(t.y)*this._layerSize.width;return(this._tiles[i]&cc.TiledMap.TileFlag.FLIPPED_ALL)>>>0},_setCullingDirty:function(t){this._cullingDirty=t},_isCullingDirty:function(){return this._cullingDirty},_updateViewPort:function(t,e,i,n){if(this._viewPort.width!==i||this._viewPort.height!==n||this._viewPort.x!==t||this._viewPort.y!==e){this._viewPort.x=t,this._viewPort.y=e,this._viewPort.width=i,this._viewPort.height=n;var r=1;this._layerOrientation===cc.TiledMap.Orientation.ISO&&(r=2);var s=this._viewPort.x-this._offset.x+this._leftDownToCenterX,a=this._viewPort.y-this._offset.y+this._leftDownToCenterY,o=s-this._leftOffset,l=a-this._downOffset,c=s+i+this._rightOffset,h=a+n+this._topOffset,u=this._cullingRect.leftDown,f=this._cullingRect.rightTop;o<0&&(o=0),l<0&&(l=0),this._positionToRowCol(o,l,_),_.row-=r,_.col-=r,_.row=_.row>0?_.row:0,_.col=_.col>0?_.col:0,_.row===u.row&&_.col===u.col||(u.row=_.row,u.col=_.col,this._cullingDirty=!0),c<0||h<0?(_.row=-1,_.col=-1):(this._positionToRowCol(c,h,_),_.row++,_.col++),_.row>this._rightTop.row&&(_.row=this._rightTop.row),_.col>this._rightTop.col&&(_.col=this._rightTop.col),_.row===f.row&&_.col===f.col||(f.row=_.row,f.col=_.col,this._cullingDirty=!0)}},_positionToRowCol:function(t,e,i){var n=cc.TiledMap,r=n.Orientation,s=n.StaggerAxis,a=this._mapTileSize.width,o=this._mapTileSize.height,l=.5*a,c=.5*o,h=0,u=0,_=0,f=0,d=this._staggerAxis;switch(this._layerSize.width,this._layerOrientation){case r.ORTHO:u=Math.floor(t/a),h=Math.floor(e/o);break;case r.ISO:u=Math.floor(t/l),h=Math.floor(e/c);break;case r.HEX:d===s.STAGGERAXIS_Y?(_=(h=Math.floor(e/(o-this._diffY1)))%2==1?l*this._odd_even:0,u=Math.floor((t-_)/a)):(f=(u=Math.floor(t/(a-this._diffX1)))%2==1?c*-this._odd_even:0,h=Math.floor((e-f)/o))}return i.row=h,i.col=u,i},_updateCulling:function(){if(this._enableCulling){this.node._updateWorldMatrix(),n.Mat4.invert(l,this.node._worldMatrix);var t=cc.visibleRect,e=cc.Camera.findCamera(this.node);e&&(c.x=0,c.y=0,h.x=c.x+t.width,h.y=c.y+t.height,e.getScreenToWorldPoint(c,c),e.getScreenToWorldPoint(h,h),n.Vec2.transformMat4(c,c,l),n.Vec2.transformMat4(h,h,l),this._updateViewPort(c.x,c.y,h.x-c.x,h.y-c.y))}},getLayerOrientation:function(){return this._layerOrientation},getProperties:function(){return this._properties},_updateVertex:function(t,e){var i=cc.TiledMap,n=i.TileFlag.FLIPPED_MASK,r=i.StaggerAxis,s=i.Orientation,a=this._vertices,o=this._layerOrientation,l=this._tiles;if(l){var c,h,u,_,f,d,p,m=this._rightTop,y=this._mapTileSize.width,v=this._mapTileSize.height,g=.5*y,b=.5*v,A=this._layerSize.height,x=this._layerSize.width,C=this._texGrids;o===s.HEX&&(_=this._staggerAxis,f=this._diffX1,d=this._diffY1,p=this._odd_even);var T,S,w,E,M=0,D=0,B=0,P=0,I=e*x+t;if(c=C[S=(l[I]&n)>>>0]){switch(this._animations[S]&&(this._hasAniGrid=this._hasAniGrid||!0),o){case s.ORTHO:h=(M=t)*y,u=(D=A-e-1)*v;break;case s.ISO:h=g*(M=A+t-e-1),u=b*(D=A+x-t-e-2);break;case s.HEX:h=t*(y-f)+(_===r.STAGGERAXIS_Y&&e%2==1?g*p:0),u=(A-e-1)*(v-d)+(_===r.STAGGERAXIS_X&&t%2==1?b*-p:0),M=t,D=A-e-1}var R=a[D]=a[D]||{minCol:0,maxCol:0},O=R[M]=R[M]||{};R.minCol>M&&(R.minCol=M),R.maxCol=0&&this._textures.length>t?this._textures[t]:null},getTextures:function(){return this._textures},setTexture:function(t){this.setTextures([t])},setTextures:function(t){this._textures=t,this._activateMaterial()},getLayerSize:function(){return this._layerSize},getMapTileSize:function(){return this._mapTileSize},getTileSet:function(t){return t=t||0,this._tilesets&&t>=0&&this._tilesets.length>t?this._tilesets[t]:null},getTileSets:function(){return this._tilesets},setTileSet:function(t){this.setTileSets([t])},setTileSets:function(t){this._tilesets=t;for(var e=this._textures=[],i=this._texGrids=[],n=0;n>>0];if(o){var l=o.texId;void 0===n[l]&&(n[l]=i.length,i.push(l))}else cc.error("CCTiledLayer:_traverseAllGrid grid is null, gid is:",a)}}},_init:function(t,e,i,n,r){this._cullingDirty=!0,this._layerInfo=t,this._mapInfo=e;var s=t._layerSize;this._layerName=t.name,this._tiles=t._tiles,this._properties=t.properties,this._layerSize=s,this._minGID=t._minGID,this._maxGID=t._maxGID,this._opacity=t._opacity,this._renderOrder=e.renderOrder,this._staggerAxis=e.getStaggerAxis(),this._staggerIndex=e.getStaggerIndex(),this._hexSideLength=e.getHexSideLength(),this._animations=e.getTileAnimations(),this._tilesets=i,this._textures=n,this._texGrids=r,this._layerOrientation=e.orientation,this._mapTileSize=e.getTileSize();var a=this._mapTileSize.width,o=this._mapTileSize.height,l=this._layerSize.width,c=this._layerSize.height;if(this._layerOrientation===cc.TiledMap.Orientation.HEX){var h=cc.TiledMap,u=h.StaggerAxis,_=h.StaggerIndex,f=0,d=0;this._odd_even=this._staggerIndex===_.STAGGERINDEX_ODD?1:-1,this._staggerAxis===u.STAGGERAXIS_X?(this._diffX1=(a-this._hexSideLength)/2,this._diffY1=0,d=o*(c+.5),f=(a+this._hexSideLength)*Math.floor(l/2)+a*(l%2)):(this._diffX1=0,this._diffY1=(o-this._hexSideLength)/2,f=a*(l+.5),d=(o+this._hexSideLength)*Math.floor(c/2)+o*(c%2)),this.node.setContentSize(f,d)}else if(this._layerOrientation===cc.TiledMap.Orientation.ISO){var p=l+c;this.node.setContentSize(.5*a*p,.5*o*p)}else this.node.setContentSize(l*a,c*o);this._offset=cc.v2(t.offset.x,-t.offset.y),this._useAutomaticVertexZ=!1,this._vertexZvalue=0,this._syncAnchorPoint(),this._prepareToRender()},_prepareToRender:function(){this._updateVertices(),this._traverseAllGrid(),this._updateAllUserNode(),this._activateMaterial()},_buildMaterial:function(t){var e=this._texIdToMatIndex;if(void 0!==e[t])return null;var i=this._tilesetIndexArr,n=this._tilesetIndexToArrIndex,s=n[t];void 0===s&&(n[t]=s=i.length,i.push(t));var o=this._textures[t],l=this._materials[s];return l||(l=a.getBuiltinMaterial("2d-sprite")),(l=r.default.create(l,this)).define("CC_USE_MODEL",!0),l.setProperty("texture",o),this._materials[s]=l,e[t]=s,l},_activateMaterial:function(){var t=this._tilesetIndexArr;if(0!==t.length){for(var e=t.length,i=0;i0&&(_[h[f]]=u[f].text);var d=new cc.TMXMapInfo(t.tmxXmlStr,_,r,s,l),p=d.getTilesets();p&&0!==p.length||cc.logID(7241),this._buildWithMapInfo(d)}else this._releaseMapInfo()},_releaseMapInfo:function(){for(var t=this._layers,e=0,i=t.length;e0)for(var x=0,C=v.length;x=s.length&&(r.frameIdx=0),a=s[r.frameIdx]),i[n]=a.grid}}});cc.TiledMap=e.exports=c,cc.TiledMap.loadAllTextures=function(t,e){var i=t.length;if(0!==i)for(var n=0,r=function(){++n>=i&&e()},s=0;s=this._dataList.length&&this._pushRenderData();var e=this._dataList[this._offset];e.nodesRenderList.length=0;var i=e.ia;return i._vertexBuffer=t._vb,i._indexBuffer=t._ib,i._start=t.indiceOffset,i._count=0,this._offset++,e},pushNodesList:function(t,e){t.nodesRenderList.push(e)},reset:function(){this._offset=0}});cc.TiledMapRenderDataList=e.exports=r}),{"../renderer/core/input-assembler":362}],402:[(function(t,e){"use strict";var i=cc.Class({name:"cc.TiledObjectGroup",extends:cc.Component,getPositionOffset:function(){return this._positionOffset},getProperties:function(){return this._properties},getGroupName:function(){return this._groupName},getProperty:function(t){return this._properties[t.toString()]},getObject:function(t){for(var e=0,i=this._objects.length;e>>0];if(!I)continue;var R=I.tileset,O="img"+x.id;g[O]=!0;var L=this.node.getChildByName(O),F=x.width||I.width,V=x.height||I.height,N=R.tileOffset.x,k=R.tileOffset.y;L instanceof cc.PrivateNode&&(L.removeFromParent(),L.destroy(),L=null),L||(L=new cc.Node),s.ISO==e.orientation?(L.anchorX=.5+N/F,L.anchorY=k/V):(L.anchorX=N/F,L.anchorY=k/V),L.active=x.visible,L.angle=-x.rotation,L.x=x.x-m,L.y=x.y-y,L.name=O,L.parent=this.node,L.opacity=this._opacity,L.setSiblingIndex(b);var z=L.getComponent(cc.Sprite);z||(z=L.addComponent(cc.Sprite));var G=z.spriteFrame;G||(G=new cc.SpriteFrame),(P&c)>>>0?G.setFlipX(!0):G.setFlipX(!1),(P&h)>>>0?G.setFlipY(!0):G.setFlipY(!1),G.setTexture(I.tileset.sourceImage,cc.rect(I)),z.spriteFrame=G,z.setVertsDirty(),L.width=F,L.height=V}}this._objects=v;for(var U=this.node.children,j=/^(?:img|text)\d+$/,H=0,W=U.length;H=f?(I.uploadData(),I.switchBuffer(),L=I._vData,F=I._uintVData,C=P.popRenderData(I),T=C.ia,w=0,S=0):(C=P.popRenderData(I),T=C.ia),C.material=R)}function k(t,e){var i=O._getNodesByRowCol(t,e);if(i&&0!=i.count){var n=i.list,r=0,s=0;for(N(),B.worldMatDirty++;r>>0&&(i=b,b=A,A=i),(e&c.HORIZONTAL)>>>0&&(i=g,g=b,b=i,i=A,A=x,x=i),(e&c.VERTICAL)>>>0&&(i=g,g=A,A=i,i=b,b=x,x=i)}var G=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,a(e,i);var r=n.prototype;return r.updateRenderData=function(t){t._renderDataList||(t._buffer=new cc.TiledMapBuffer(u._handle,_),t._renderDataList=new cc.TiledMapRenderDataList)},r.fillBuffers=function(t,e){if(0!==t._vertices.length){t._updateCulling();var i=t.node;if(E=t._leftDownToCenterX,M=t._leftDownToCenterY,D=i._worldMatrix,B=e,O=t,P=t._renderDataList,I=t._buffer,t._isCullingDirty()||t._isUserNodeDirty()||t._hasAnimation()||t._hasTiledNode()){var n,r;if(I.reset(),t._enableCulling){var s=t._cullingRect;n=s.leftDown,r=s.rightTop}else n=v,r=t._rightTop;var a=(r.row-n.row+1)*(r.col-n.col+1);switch(a>f&&(a=f),I.request(4*a,6*a),t._renderOrder){case d.RightDown:this.traverseGrids(n,r,-1,1);break;case d.LeftDown:this.traverseGrids(n,r,-1,-1);break;case d.RightUp:this.traverseGrids(n,r,1,1);break;case d.LeftUp:this.traverseGrids(n,r,1,-1)}t._setCullingDirty(!1),t._setUserNodeDirty(!1)}else for(var o=null,l=null,c=null,h=0;h0){e.worldMatDirty++;for(var u=0;u0&&(e.material=o.material,e.node=i,e._flushIA(o.ia))}C=null,T=null,D=null,B=null,P=null,I=null,R=null,O=null,L=null,F=null}},r.traverseGrids=function(t,e,i,n){if(P.reset(),!(e.row<0||e.col<0)){C=P.popRenderData(I),T=C.ia,L=I._vData,F=I._uintVData,S=0,w=0,R=null;var r=O.node,s=(r.parent?r.parent._opacity/255:1)*r._opacity;r._color._fastSetA(s);var a,o,l,c,u,_,d,p,m=r._color._val,y=O._tiledTiles,v=O._texGrids,D=O._tiles,V=O._texIdToMatIndex,G=O._materials,U=O._vertices,j=null,H=0,W=0,X=0,Y=0,q=0,J=null,Z=-1,K=0,Q=!0;for(-1==i?(c=e.row,u=t.row):(c=t.row,u=e.row);(u-c)*i>=0;c+=i)for(a=U[c],Q=0==(K=O._getNodesCountByRow(c))&&null!=a,1==n?(o=Q&&t.cola.maxCol?a.maxCol:e.col):(o=Q&&e.col>a.maxCol?a.maxCol:e.col,l=Q&&t.col=0;o+=n)(_=a&&a[o])?(j=v[((H=D[_.index])&h)>>>0])&&(Z!==j.texId&&(-1!==Z&&N(),p=V[Z=j.texId],R=G[p],C.material=R),R&&(W=_.left-E,X=_.bottom-M,Y=W+(d=j.tileset._tileSize).width,q=X+d.height,(J=y[_.index])?J.node.active&&(J.node._color._fastSetA(J.node._opacity*s/255),this.fillByTiledNode(J.node,L,F,W,Y,q,X)):(L[w]=W,L[w+1]=q,F[w+4]=m,L[w+5]=W,L[w+6]=X,F[w+9]=m,L[w+10]=Y,L[w+11]=q,F[w+14]=m,L[w+15]=Y,L[w+16]=X,F[w+19]=m),z(j,H),L[w+2]=g.x,L[w+3]=g.y,L[w+7]=A.x,L[w+8]=A.y,L[w+12]=b.x,L[w+13]=b.y,L[w+17]=x.x,L[w+18]=x.y,w+=20,I.adjust(4,6),T._count+=6,S++,K>0&&k(c,o),S>=f&&N())):K>0&&k(c,o);I.uploadData(),T._count>0&&(B.material=C.material,B.node=O.node,B._flushIA(C.ia))}},r.fillByTiledNode=function(t,e,i,n,r,a,o){t._updateLocalMatrix(),s.Mat4.copy(m,t._matrix),s.Vec3.set(y,-(n+E),-(o+M),0),s.Mat4.transform(m,m,y);var l=m.m,c=l[0],h=l[1],u=l[4],_=l[5],f=l[12],d=l[13],p=t._color._val;e[w]=n*c+a*u+f,e[w+1]=n*h+a*_+d,i[w+4]=p,e[w+5]=n*c+o*u+f,e[w+6]=n*h+o*_+d,i[w+9]=p,e[w+10]=r*c+a*u+f,e[w+11]=r*h+a*_+d,i[w+14]=p,e[w+15]=r*c+o*u+f,e[w+16]=r*h+o*_+d,i[w+19]=p},n})(r.default);i.default=G,r.default.register(o,G),e.exports=i.default}),{"../core/renderer/":271,"../core/renderer/assembler":268,"../core/renderer/render-flow":272,"../core/renderer/webgl/vertex-format":313,"../core/value-types":339,"./CCTiledLayer":398,"./CCTiledMap":399}],407:[(function(t,e){"use strict";var i=t("./video-player-impl"),n=i.EventType,r=cc.Enum({REMOTE:0,LOCAL:1}),s=cc.Class({name:"cc.VideoPlayer",extends:cc.Component,editor:!1,properties:{_resourceType:r.REMOTE,resourceType:{tooltip:!1,type:r,set:function(t){this._resourceType=t,this._updateVideoSource()},get:function(){return this._resourceType}},_remoteURL:"",remoteURL:{tooltip:!1,type:cc.String,set:function(t){this._remoteURL=t,this._updateVideoSource()},get:function(){return this._remoteURL}},_clip:{default:null,type:cc.VideoClip},clip:{tooltip:!1,get:function(){return this._clip},set:function(t){this._clip=t,this._updateVideoSource()},type:cc.VideoClip},currentTime:{tooltip:!1,type:cc.Float,set:function(t){this._impl&&this._impl.seekTo(t)},get:function(){return this._impl?this._currentStatus===n.NONE||this._currentStatus===n.STOPPED||this._currentStatus===n.META_LOADED||this._currentStatus===n.READY_TO_PLAY?0:this._currentStatus===n.COMPLETED?this._impl.duration():this._impl.currentTime():-1}},_volume:1,volume:{get:function(){return this._volume},set:function(t){this._volume=t,this.isPlaying()&&!this._mute&&this._syncVolume()},range:[0,1],type:cc.Float,tooltip:!1},_mute:!1,mute:{get:function(){return this._mute},set:function(t){this._mute=t,this._syncVolume()},tooltip:!1},keepAspectRatio:{tooltip:!1,default:!0,type:cc.Boolean,notify:function(){this._impl&&this._impl.setKeepAspectRatioEnabled(this.keepAspectRatio)}},_isFullscreen:{default:!1,formerlySerializedAs:"_N$isFullscreen"},isFullscreen:{get:function(){return this._isFullscreen=this._impl&&this._impl.isFullScreenEnabled(),this._isFullscreen},set:function(t){this._isFullscreen=t,this._impl&&this._impl.setFullScreenEnabled(t)},animatable:!1,tooltip:!1},_stayOnBottom:!1,stayOnBottom:{get:function(){return this._stayOnBottom},set:function(t){this._stayOnBottom=t,this._impl&&this._impl.setStayOnBottom(t)},animatable:!1,tooltip:!1},videoPlayerEvent:{default:[],type:cc.Component.EventHandler}},statics:{EventType:n,ResourceType:r,Impl:i},ctor:function(){this._impl=new i,this._currentStatus=n.NONE},_syncVolume:function(){var t=this._impl;if(t){var e=this._mute?0:this._volume;t.setVolume(e)}},_updateVideoSource:function(){var t="";this.resourceType===r.REMOTE?t=this.remoteURL:this._clip&&(t=this._clip.nativeUrl),this._impl.setURL(t,this._mute||0===this._volume),this._impl.setKeepAspectRatioEnabled(this.keepAspectRatio)},onLoad:function(){var t=this._impl;t&&(t.createDomElementIfNeeded(this._mute||0===this._volume),t.setStayOnBottom(this._stayOnBottom),this._updateVideoSource(),t.seekTo(this.currentTime),t.setFullScreenEnabled(this._isFullscreen),this.pause(),t.setEventListener(n.PLAYING,this.onPlaying.bind(this)),t.setEventListener(n.PAUSED,this.onPasued.bind(this)),t.setEventListener(n.STOPPED,this.onStopped.bind(this)),t.setEventListener(n.COMPLETED,this.onCompleted.bind(this)),t.setEventListener(n.META_LOADED,this.onMetaLoaded.bind(this)),t.setEventListener(n.CLICKED,this.onClicked.bind(this)),t.setEventListener(n.READY_TO_PLAY,this.onReadyToPlay.bind(this)))},onRestore:function(){this._impl||(this._impl=new i)},onEnable:function(){this._impl&&this._impl.enable()},onDisable:function(){this._impl&&this._impl.disable()},onDestroy:function(){this._impl&&(this._impl.destroy(),this._impl=null)},update:function(){this._impl&&this._impl.updateMatrix(this.node)},onReadyToPlay:function(){this._currentStatus=n.READY_TO_PLAY,cc.Component.EventHandler.emitEvents(this.videoPlayerEvent,this,n.READY_TO_PLAY),this.node.emit("ready-to-play",this)},onMetaLoaded:function(){this._currentStatus=n.META_LOADED,cc.Component.EventHandler.emitEvents(this.videoPlayerEvent,this,n.META_LOADED),this.node.emit("meta-loaded",this)},onClicked:function(){this._currentStatus=n.CLICKED,cc.Component.EventHandler.emitEvents(this.videoPlayerEvent,this,n.CLICKED),this.node.emit("clicked",this)},onPlaying:function(){this._currentStatus=n.PLAYING,cc.Component.EventHandler.emitEvents(this.videoPlayerEvent,this,n.PLAYING),this.node.emit("playing",this)},onPasued:function(){this._currentStatus=n.PAUSED,cc.Component.EventHandler.emitEvents(this.videoPlayerEvent,this,n.PAUSED),this.node.emit("paused",this)},onStopped:function(){this._currentStatus=n.STOPPED,cc.Component.EventHandler.emitEvents(this.videoPlayerEvent,this,n.STOPPED),this.node.emit("stopped",this)},onCompleted:function(){this._currentStatus=n.COMPLETED,cc.Component.EventHandler.emitEvents(this.videoPlayerEvent,this,n.COMPLETED),this.node.emit("completed",this)},play:function(){this._impl&&(this._syncVolume(),this._impl.play())},resume:function(){this._impl&&(this._syncVolume(),this._impl.resume())},pause:function(){this._impl&&this._impl.pause()},stop:function(){this._impl&&this._impl.stop()},getDuration:function(){return this._impl?this._impl.duration():-1},isPlaying:function(){return!!this._impl&&this._impl.isPlaying()}});cc.VideoPlayer=e.exports=s}),{"./video-player-impl":408}],408:[(function(t,e){"use strict";var i=t("../core/platform/utils"),n=t("../core/platform/CCSys"),r=t("../core/platform/CCMacro"),s=1,a=4,o=cc.mat4(),l=cc.Class({name:"VideoPlayerImpl",ctor:function(){this._EventList={},this._video=null,this._url="",this._waitingFullscreen=!1,this._fullScreenEnabled=!1,this._stayOnBottom=!1,this._loadedmeta=!1,this._loaded=!1,this._visible=!1,this._playing=!1,this._ignorePause=!1,this._forceUpdate=!1,this._m00=0,this._m01=0,this._m04=0,this._m05=0,this._m12=0,this._m13=0,this._w=0,this._h=0,this.__eventListeners={}},_bindEvent:function(){var t=this._video,e=this,i=this.__eventListeners;i.loadedmetadata=function(){e._loadedmeta=!0,e._forceUpdate=!0,e._waitingFullscreen&&(e._waitingFullscreen=!1,e._toggleFullscreen(!0)),e._dispatchEvent(l.EventType.META_LOADED)},i.ended=function(){e._video===t&&(e._playing=!1,e._dispatchEvent(l.EventType.COMPLETED))},i.play=function(){e._video===t&&(e._playing=!0,e._updateVisibility(),e._dispatchEvent(l.EventType.PLAYING))},i.pause=function(){e._video===t&&(e._playing=!1,e._ignorePause||e._dispatchEvent(l.EventType.PAUSED))},i.click=function(){e._dispatchEvent(l.EventType.CLICKED)},t.addEventListener("loadedmetadata",i.loadedmetadata),t.addEventListener("ended",i.ended),t.addEventListener("play",i.play),t.addEventListener("pause",i.pause),t.addEventListener("click",i.click),i.onCanPlay=function(){if(!e._loaded&&!e._playing){var t=e._video;t.readyState!==a&&t.readyState!==s||(t.currentTime=0,e._loaded=!0,e._forceUpdate=!0,e._dispatchEvent(l.EventType.READY_TO_PLAY),e._updateVisibility())}},t.addEventListener("canplay",i.onCanPlay),t.addEventListener("canplaythrough",i.onCanPlay),t.addEventListener("suspend",i.onCanPlay)},_updateVisibility:function(){var t=this._video;t&&(this._visible?t.style.visibility="visible":(t.style.visibility="hidden",t.pause(),this._playing=!1))},_updateSize:function(t,e){var i=this._video;i&&(i.style.width=t+"px",i.style.height=e+"px")},_createDom:function(t){var e=document.createElement("video");e.style.position="absolute",e.style.bottom="0px",e.style.left="0px",e.style["z-index"]=this._stayOnBottom?r.MIN_ZINDEX:0,e.className="cocosVideo",e.setAttribute("preload","auto"),e.setAttribute("webkit-playsinline",""),e.setAttribute("x5-playsinline",""),e.setAttribute("playsinline",""),t&&e.setAttribute("muted",""),this._video=e,cc.game.container.appendChild(e)},createDomElementIfNeeded:function(t){this._video||this._createDom(t)},removeDom:function(){var t=this._video;if(t){i.contains(cc.game.container,t)&&cc.game.container.removeChild(t);var e=this.__eventListeners;t.removeEventListener("loadedmetadata",e.loadedmetadata),t.removeEventListener("ended",e.ended),t.removeEventListener("play",e.play),t.removeEventListener("pause",e.pause),t.removeEventListener("click",e.click),t.removeEventListener("canplay",e.onCanPlay),t.removeEventListener("canplaythrough",e.onCanPlay),t.removeEventListener("suspend",e.onCanPlay),e.loadedmetadata=null,e.ended=null,e.play=null,e.pause=null,e.click=null,e.onCanPlay=null}this._video=null,this._url=""},setURL:function(t,e){var i,n;if(this._url!==t){this.removeDom(),this._url=t,this.createDomElementIfNeeded(e),this._bindEvent();var r=this._video;r.style.visibility="hidden",this._loaded=!1,this._playing=!1,this._loadedmeta=!1,(i=document.createElement("source")).src=t,r.appendChild(i),n=cc.path.extname(t);for(var s=l._polyfill,a=0;a0&&(m[d-1].vfOffset=l),m.length=d,y.length=a;var v=f-1;if(v>=0)if(_>0){var g=n[v];g.indexCount=_,g.vfCount=5*u,g.vertexCount=u,n.length=f}else n.length=f-1;if(0!==n.length){var b=i.vertices,A=i.uintVert;(!b||b.length=0&&(_>0?((T=w[C]).indexCount=_,T.vertexCount=u,T.vfCount=5*u):f--),w[f]={tex:x,blendMode:v._blendMode,indexCount:0,vertexCount:0,vfCount:0},f++,_=0,u=0),A=(b.a*e<<24>>>0)+(b.b<<16)+(b.g<<8)+b.r,p!==A&&(p=A,d>0&&(S[d-1].vfOffset=l),S[d++]={r:b.r,g:b.g,b:b.b,a:b.a*e,vfOffset:0}),m=v._localVertices,y=v._indices,g=v._worldMatrix.m;for(var k=0,z=m.length;k":0}),h=(cc.Enum({REALTIME:0}),cc.Enum({REALTIME:0,SHARED_CACHE:1,PRIVATE_CACHE:2})),u=cc.Class({name:"dragonBones.ArmatureDisplay",extends:i,editor:!1,statics:{AnimationCacheMode:h},properties:{_factory:{default:null,type:dragonBones.CCFactory,serializable:!1},dragonAsset:{default:null,type:dragonBones.DragonBonesAsset,notify:function(){this._refresh()},tooltip:!1},dragonAtlasAsset:{default:null,type:dragonBones.DragonBonesAtlasAsset,notify:function(){this._parseDragonAtlasAsset(),this._refresh()},tooltip:!1},_armatureName:"",armatureName:{get:function(){return this._armatureName},set:function(t){this._armatureName=t;var e=this.getAnimationNames(this._armatureName);(!this.animationName||e.indexOf(this.animationName)<0)&&(this.animationName=""),this._armature&&!this.isAnimationCached()&&this._factory._dragonBones.clock.remove(this._armature),this._refresh(),this._armature&&!this.isAnimationCached()&&this._factory._dragonBones.clock.add(this._armature)},visible:!1},_animationName:"",animationName:{get:function(){return this._animationName},set:function(t){this._animationName=t},visible:!1},_defaultArmatureIndex:{default:0,notify:function(){var t="";if(this.dragonAsset){var e;if(this.dragonAsset&&(e=this.dragonAsset.getArmatureEnum()),!e)return cc.errorID(7400,this.name);t=e[this._defaultArmatureIndex]}void 0!==t?this.armatureName=t:cc.errorID(7401,this.name)},type:l,visible:!0,editorOnly:!0,animatable:!1,displayName:"Armature",tooltip:!1},_animationIndex:{default:0,notify:function(){var t;if(0!==this._animationIndex){if(this.dragonAsset&&(t=this.dragonAsset.getAnimsEnum(this.armatureName)),t){var e=t[this._animationIndex];void 0!==e?this.playAnimation(e,this.playTimes):cc.errorID(7402,this.name)}}else this.animationName=""},type:c,visible:!0,editorOnly:!0,animatable:!1,displayName:"Animation",tooltip:!1},_preCacheMode:-1,_cacheMode:h.REALTIME,_defaultCacheMode:{default:0,type:h,notify:function(){if(this._defaultCacheMode!==h.REALTIME&&this._armature&&!a.canCache(this._armature))return this._defaultCacheMode=h.REALTIME,void cc.warn("Animation cache mode doesn't support skeletal nesting");this.setAnimationCacheMode(this._defaultCacheMode)},editorOnly:!0,visible:!0,animatable:!1,displayName:"Animation Cache Mode",tooltip:!1},timeScale:{default:1,notify:function(){this._armature&&!this.isAnimationCached()&&(this._armature.animation.timeScale=this.timeScale)},tooltip:!1},playTimes:{default:-1,tooltip:!1},premultipliedAlpha:{default:!1,tooltip:!1},debugBones:{default:!1,notify:function(){this._updateDebugDraw()},tooltip:!1},enableBatch:{default:!1,notify:function(){this._updateBatch()},tooltip:!1},_armatureKey:"",_accTime:0,_playCount:0,_frameCache:null,_curFrame:null,_playing:!1,_armatureCache:null},ctor:function(){this._eventTarget=new n,this._materialCache={},this._inited=!1,this.attachUtil=new o,this._factory=dragonBones.CCFactory.getInstance()},onLoad:function(){for(var t=this.node.children,e=0,i=t.length;e=i.length){if(this._playCount++,this.playTimes>0&&this._playCount>=this.playTimes)return this._curFrame=i[i.length-1],this._accTime=0,this._playing=!1,this._playCount=0,void this._emitCacheCompleteEvent();this._accTime=0,s=0,this._emitCacheCompleteEvent()}this._curFrame=i[s]}else e.isInvalid()&&(e.updateToFrame(),this._curFrame=i[i.length-1])}}},onDestroy:function(){this._super(),this._inited=!1,this._cacheMode===h.PRIVATE_CACHE?(this._armatureCache.dispose(),this._armatureCache=null,this._armature=null):this._cacheMode===h.SHARED_CACHE?(this._armatureCache=null,this._armature=null):this._armature&&(this._armature.dispose(),this._armature=null)},_updateDebugDraw:function(){if(this.debugBones){if(!this._debugDraw){var t=new cc.PrivateNode;t.name="DEBUG_DRAW_NODE";var e=t.addComponent(r);e.lineWidth=1,e.strokeColor=cc.color(255,0,0,255),this._debugDraw=e}this._debugDraw.node.parent=this.node}else this._debugDraw&&(this._debugDraw.node.parent=null)},_buildArmature:function(){if(this.dragonAsset&&this.dragonAtlasAsset&&this.armatureName){this._armature&&(this._preCacheMode===h.PRIVATE_CACHE?this._armatureCache.dispose():this._preCacheMode===h.REALTIME&&this._armature.dispose(),this._armatureCache=null,this._armature=null,this._displayProxy=null,this._frameCache=null,this._curFrame=null,this._playing=!1,this._preCacheMode=null),this._cacheMode===h.SHARED_CACHE?this._armatureCache=a.sharedCache:this._cacheMode===h.PRIVATE_CACHE&&(this._armatureCache=new a,this._armatureCache.enablePrivateMode());var t=this.dragonAtlasAsset._uuid;if(this._armatureKey=this.dragonAsset.init(this._factory,t),this.isAnimationCached()&&(this._armature=this._armatureCache.getArmatureCache(this.armatureName,this._armatureKey,t),this._armature||(this._cacheMode=h.REALTIME)),this._preCacheMode=this._cacheMode,this._cacheMode===h.REALTIME){if(this._displayProxy=this._factory.buildArmatureDisplay(this.armatureName,this._armatureKey,"",t),!this._displayProxy)return;this._displayProxy._ccNode=this.node,this._displayProxy.setEventTarget(this._eventTarget),this._armature=this._displayProxy._armature,this._armature.animation.timeScale=this.timeScale}if(this._cacheMode!==h.REALTIME&&this.debugBones&&cc.warn("Debug bones is invalid in cached mode"),this._armature){var e=this._armature.armatureData.aabb;this.node.setContentSize(e.width,e.height)}this._updateBatch(),this.attachUtil.init(this),this.attachUtil._associateAttachedNode(),this.animationName&&this.playAnimation(this.animationName,this.playTimes),this.markForRender(!0)}},_parseDragonAtlasAsset:function(){this.dragonAtlasAsset&&this.dragonAtlasAsset.init(this._factory)},_refresh:function(){this._buildArmature()},_updateCacheModeEnum:!1,_updateAnimEnum:!1,_updateArmatureEnum:!1,playAnimation:function(t,e){if(this.playTimes=void 0===e?-1:e,this.animationName=t,this.isAnimationCached()){var i=this._armatureCache.getAnimationCache(this._armatureKey,t);i||(i=this._armatureCache.initAnimationCache(this._armatureKey,t)),i&&(this._accTime=0,this._playCount=0,this._frameCache=i,this.attachUtil._hasAttachedNode()&&this._frameCache.enableCacheAttachedInfo(),this._frameCache.updateToFrame(0),this._playing=!0,this._curFrame=this._frameCache.frames[0])}else if(this._armature)return this._armature.animation.play(t,this.playTimes)},updateAnimationCache:function(t){this.isAnimationCached()&&this._armatureCache.updateAnimationCache(this._armatureKey,t)},invalidAnimationCache:function(){this.isAnimationCached()&&this._armatureCache.invalidAnimationCache(this._armatureKey)},getArmatureNames:function(){var t=this._factory.getDragonBonesData(this._armatureKey);return t&&t.armatureNames||[]},getAnimationNames:function(t){var e=[],i=this._factory.getDragonBonesData(this._armatureKey);if(i){var n=i.getArmature(t);if(n)for(var r in n.animations)n.animations.hasOwnProperty(r)&&e.push(r)}return e},on:function(t,e,i){this.addEventListener(t,e,i)},off:function(t,e,i){this.removeEventListener(t,e,i)},once:function(t,e,i){this._eventTarget.once(t,e,i)},addEventListener:function(t,e,i){this._eventTarget.on(t,e,i)},removeEventListener:function(t,e,i){this._eventTarget.off(t,e,i)},buildArmature:function(t,e){return this._factory.createArmatureNode(this,t,e)},armature:function(){return this._armature}});e.exports=dragonBones.ArmatureDisplay=u}),{"../../cocos2d/core/components/CCRenderComponent":160,"../../cocos2d/core/event/event-target":186,"../../cocos2d/core/graphics/graphics":202,"../../cocos2d/core/renderer/render-flow":272,"./ArmatureCache":413,"./AttachUtil":415}],415:[(function(t,e){"use strict";var i,n=(i=t("../../cocos2d/core/value-types/mat4"))&&i.__esModule?i:{default:i},r=t("../../cocos2d/core/renderer/render-flow").FLAG_TRANSFORM,s=function(){},a=function(t){Object.defineProperty(t,"_worldMatDirty",{get:function(){return!0},set:function(){}}),t._calculWorldMatrix=s,t._mulMat=s},o=new n.default,l=cc.Class({name:"dragonBones.AttachUtil",ctor:function(){this._inited=!1,this._armature=null,this._armatureNode=null,this._armatureDisplay=null,this._attachedRootNode=null,this._attachedNodeArray=[],this._boneIndexToNode={}},init:function(t){this._inited=!0,this._armature=t._armature,this._armatureNode=t.node,this._armatureDisplay=t},reset:function(){this._inited=!1,this._armature=null,this._armatureNode=null,this._armatureDisplay=null},_prepareAttachNode:function(){if(this._armature){var t=this._armatureNode.getChildByName("ATTACHED_NODE_TREE");return t&&t.isValid||(t=new cc.Node("ATTACHED_NODE_TREE"),a(t),this._armatureNode.addChild(t)),this._armatureDisplay.isAnimationCached()&&this._armatureDisplay._frameCache&&this._armatureDisplay._frameCache.enableCacheAttachedInfo(),this._attachedRootNode=t,t}},_buildBoneAttachedNode:function(t,e){var i="ATTACHED_NODE:"+t.name,n=new cc.Node(i);return this._buildBoneRelation(n,t,e),n},_buildBoneRelation:function(t,e,i){a(t),t._bone=e,t._boneIndex=i,this._attachedNodeArray.push(t),this._boneIndexToNode[i]=t},getAttachedRootNode:function(){return this._attachedRootNode},getAttachedNodes:function(t){var e=this._attachedNodeArray,i=[];if(!this._inited)return i;for(var n=0,r=e.length;n=0;o--)if(s>=e[o]._zOrder){e.splice(o+1,0,r),a=!0;break}a||e.unshift(r)}this._slots=e},_buildArmature:function(e){var i=t.borrowObject(dragonBones.Armature);i._skinData=e.skin,i._animation=t.borrowObject(dragonBones.Animation),i._animation._armature=i,i._animation.animations=e.armature.animations,i._isChildArmature=!1;var n=new dragonBones.CCArmatureDisplay;return i.init(e.armature,n,n,this._dragonBones),i},_buildSlot:function(e,i,n){var r=t.borrowObject(dragonBones.CCSlot),s=r;return r.init(i,n,s,s),r},getDragonBonesDataByUUID:function(t){for(var e in this._dragonBonesDataMap)if(-1!=e.indexOf(t))return this._dragonBonesDataMap[e];return null},removeDragonBonesDataByUUID:function(t,e){for(var i in void 0===e&&(e=!0),this._dragonBonesDataMap)-1!==i.indexOf(t)&&(e&&this._dragonBones.bufferObject(this._dragonBonesDataMap[i]),delete this._dragonBonesDataMap[i])}})}),{}],418:[(function(t){"use strict";var e,i=(e=t("../../cocos2d/core/value-types/mat4"))&&e.__esModule?e:{default:e},n=dragonBones.BinaryOffset,r=dragonBones.BoneType;dragonBones.CCSlot=cc.Class({name:"dragonBones.CCSlot",extends:dragonBones.Slot,ctor:function(){this._localVertices=[],this._indices=[],this._matrix=cc.mat4(),this._worldMatrix=cc.mat4(),this._worldMatrixDirty=!0,this._visible=!1,this._color=cc.color()},_onClear:function(){this._super(),this._localVertices.length=0,this._indices.length=0,i.default.identity(this._matrix),i.default.identity(this._worldMatrix),this._worldMatrixDirty=!0,this._color=cc.color(),this._visible=!1},statics:{toString:function(){return"[class dragonBones.CCSlot]"}},_onUpdateDisplay:function(){},_initDisplay:function(){},_addDisplay:function(){this._visible=!0},_replaceDisplay:function(){},_removeDisplay:function(){this._visible=!1},_disposeDisplay:function(){},_updateVisible:function(){this._visible=this.parent._visible},_updateZOrder:function(){},_updateBlendMode:function(){if(this._childArmature)for(var t=this._childArmature.getSlots(),e=0,i=t.length;e0&&s.inheritDeform,l=this._localVertices;if(a){var c=s.data,h=c.intArray,u=c.floatArray,_=h[s.offset+n.MeshVertexCount],f=h[a.offset+n.WeigthFloatOffset];f<0&&(f+=65536);for(var d=0,p=a.offset+n.WeigthBoneIndices+i.length,m=f,y=0,v=0;d<_;d++,v+=4){for(var g=h[p++],b=0,A=0,x=0;x0){for(var i=0,n=this._objects;i0){for(var r=0;ri&&(r.length=i),t._maxCountMap[n]=i;else for(var n in t._defaultMaxCount=i,t._poolsMap){var r;(r=t._poolsMap[n]).length>i&&(r.length=i),n in t._maxCountMap&&(t._maxCountMap[n]=i)}},t.clearPool=function(e){if(void 0===e&&(e=null),null!==e){var i=String(e);null!==(r=i in t._poolsMap?t._poolsMap[i]:null)&&r.length>0&&(r.length=0)}else for(var n in t._poolsMap){var r;(r=t._poolsMap[n]).length=0}},t.borrowObject=function(e){var i=String(e),n=i in t._poolsMap?t._poolsMap[i]:null;if(null!==n&&n.length>0){var r=n.pop();return r._isInPool=!1,r}var s=new e;return s._onClear(),s},t.prototype.returnToPool=function(){this._onClear(),t._returnObject(this)},t._hashCode=0,t._defaultMaxCount=3e3,t._maxCountMap={},t._poolsMap={},t})();t.BaseObject=e})(r||(r={})),(function(t){var e=(function(){function t(t,e,i,n,r,s){void 0===t&&(t=1),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=1),void 0===r&&(r=0),void 0===s&&(s=0),this.a=t,this.b=e,this.c=i,this.d=n,this.tx=r,this.ty=s}return t.prototype.toString=function(){return"[object dragonBones.Matrix] a:"+this.a+" b:"+this.b+" c:"+this.c+" d:"+this.d+" tx:"+this.tx+" ty:"+this.ty},t.prototype.copyFrom=function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},t.prototype.copyFromArray=function(t,e){return void 0===e&&(e=0),this.a=t[e],this.b=t[e+1],this.c=t[e+2],this.d=t[e+3],this.tx=t[e+4],this.ty=t[e+5],this},t.prototype.identity=function(){return this.a=this.d=1,this.b=this.c=0,this.tx=this.ty=0,this},t.prototype.concat=function(t){var e=this.a*t.a,i=0,n=0,r=this.d*t.d,s=this.tx*t.a+t.tx,a=this.ty*t.d+t.ty;return 0===this.b&&0===this.c||(e+=this.b*t.c,i+=this.b*t.d,n+=this.c*t.a,r+=this.c*t.b),0===t.b&&0===t.c||(i+=this.a*t.b,n+=this.d*t.c,s+=this.ty*t.c,a+=this.tx*t.b),this.a=e,this.b=i,this.c=n,this.d=r,this.tx=s,this.ty=a,this},t.prototype.invert=function(){var t=this.a,e=this.b,i=this.c,n=this.d,r=this.tx,s=this.ty;if(0===e&&0===i)return this.b=this.c=0,0===t||0===n?this.a=this.b=this.tx=this.ty=0:(t=this.a=1/t,n=this.d=1/n,this.tx=-t*r,this.ty=-n*s),this;var a=t*n-e*i;if(0===a)return this.a=this.d=1,this.b=this.c=0,this.tx=this.ty=0,this;a=1/a;var o=this.a=n*a;return e=this.b=-e*a,i=this.c=-i*a,n=this.d=t*a,this.tx=-(o*r+i*s),this.ty=-(e*r+n*s),this},t.prototype.transformPoint=function(t,e,i,n){void 0===n&&(n=!1),i.x=this.a*t+this.c*e,i.y=this.b*t+this.d*e,n||(i.x+=this.tx,i.y+=this.ty)},t.prototype.transformRectangle=function(t,e){void 0===e&&(e=!1);var i=this.a,n=this.b,r=this.c,s=this.d,a=e?0:this.tx,o=e?0:this.ty,l=t.x,c=t.y,h=l+t.width,u=c+t.height,_=i*l+r*c+a,f=n*l+s*c+o,d=i*h+r*c+a,p=n*h+s*c+o,m=i*h+r*u+a,y=n*h+s*u+o,v=i*l+r*u+a,g=n*l+s*u+o,b=0;_>d&&(b=_,_=d,d=b),m>v&&(b=m,m=v,v=b),t.x=Math.floor(_v?d:v)-t.x),f>p&&(b=f,f=p,p=b),y>g&&(b=y,y=g,g=b),t.y=Math.floor(fg?p:g)-t.y)},t})();t.Matrix=e})(r||(r={})),(function(t){var e=(function(){function t(t,e,i,n,r,s){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===r&&(r=1),void 0===s&&(s=1),this.x=t,this.y=e,this.skew=i,this.rotation=n,this.scaleX=r,this.scaleY=s}return t.normalizeRadian=function(t){return(t=(t+Math.PI)%(2*Math.PI))+(t>0?-Math.PI:Math.PI)},t.prototype.toString=function(){return"[object dragonBones.Transform] x:"+this.x+" y:"+this.y+" skewX:"+180*this.skew/Math.PI+" skewY:"+180*this.rotation/Math.PI+" scaleX:"+this.scaleX+" scaleY:"+this.scaleY},t.prototype.copyFrom=function(t){return this.x=t.x,this.y=t.y,this.skew=t.skew,this.rotation=t.rotation,this.scaleX=t.scaleX,this.scaleY=t.scaleY,this},t.prototype.identity=function(){return this.x=this.y=0,this.skew=this.rotation=0,this.scaleX=this.scaleY=1,this},t.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this.skew+=t.skew,this.rotation+=t.rotation,this.scaleX*=t.scaleX,this.scaleY*=t.scaleY,this},t.prototype.minus=function(t){return this.x-=t.x,this.y-=t.y,this.skew-=t.skew,this.rotation-=t.rotation,this.scaleX/=t.scaleX,this.scaleY/=t.scaleY,this},t.prototype.fromMatrix=function(e){var i=this.scaleX,n=this.scaleY,r=t.PI_Q;this.x=e.tx,this.y=e.ty,this.rotation=Math.atan(e.b/e.a);var s=Math.atan(-e.c/e.d);return this.scaleX=this.rotation>-r&&this.rotation-r&&s=0&&this.scaleX<0&&(this.scaleX=-this.scaleX,this.rotation=this.rotation-Math.PI),n>=0&&this.scaleY<0&&(this.scaleY=-this.scaleY,s-=Math.PI),this.skew=s-this.rotation,this},t.prototype.toMatrix=function(t){return 0===this.rotation?(t.a=1,t.b=0):(t.a=Math.cos(this.rotation),t.b=Math.sin(this.rotation)),0===this.skew?(t.c=-t.b,t.d=t.a):(t.c=-Math.sin(this.skew+this.rotation),t.d=Math.cos(this.skew+this.rotation)),1!==this.scaleX&&(t.a*=this.scaleX,t.b*=this.scaleX),1!==this.scaleY&&(t.c*=this.scaleY,t.d*=this.scaleY),t.tx=this.x,t.ty=this.y,this},t.PI=Math.PI,t.PI_D=2*Math.PI,t.PI_H=Math.PI/2,t.PI_Q=Math.PI/4,t.RAD_DEG=180/Math.PI,t.DEG_RAD=Math.PI/180,t})();t.Transform=e})(r||(r={})),(function(t){var e=(function(){function t(t,e,i,n,r,s,a,o){void 0===t&&(t=1),void 0===e&&(e=1),void 0===i&&(i=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===s&&(s=0),void 0===a&&(a=0),void 0===o&&(o=0),this.alphaMultiplier=t,this.redMultiplier=e,this.greenMultiplier=i,this.blueMultiplier=n,this.alphaOffset=r,this.redOffset=s,this.greenOffset=a,this.blueOffset=o}return t.prototype.copyFrom=function(t){this.alphaMultiplier=t.alphaMultiplier,this.redMultiplier=t.redMultiplier,this.greenMultiplier=t.greenMultiplier,this.blueMultiplier=t.blueMultiplier,this.alphaOffset=t.alphaOffset,this.redOffset=t.redOffset,this.greenOffset=t.greenOffset,this.blueOffset=t.blueOffset},t.prototype.identity=function(){this.alphaMultiplier=this.redMultiplier=this.greenMultiplier=this.blueMultiplier=1,this.alphaOffset=this.redOffset=this.greenOffset=this.blueOffset=0},t})();t.ColorTransform=e})(r||(r={})),(function(t){var e=(function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.x=t,this.y=e}return t.prototype.copyFrom=function(t){this.x=t.x,this.y=t.y},t.prototype.clear=function(){this.x=this.y=0},t})();t.Point=e})(r||(r={})),(function(t){var e=(function(){function t(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),this.x=t,this.y=e,this.width=i,this.height=n}return t.prototype.copyFrom=function(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height},t.prototype.clear=function(){this.x=this.y=0,this.width=this.height=0},t})();t.Rectangle=e})(r||(r={})),(function(t){var e=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.ints=[],e.floats=[],e.strings=[],e}return s(e,t),e.toString=function(){return"[class dragonBones.UserData]"},e.prototype._onClear=function(){this.ints.length=0,this.floats.length=0,this.strings.length=0},e.prototype.addInt=function(t){this.ints.push(t)},e.prototype.addFloat=function(t){this.floats.push(t)},e.prototype.addString=function(t){this.strings.push(t)},e.prototype.getInt=function(t){return void 0===t&&(t=0),t>=0&&t=0&&t=0&&t=t&&(i=0),!(this.sortedBones.indexOf(r)>=0)){var s=!1;for(var a in this.constraints){var o=this.constraints[a];if(o.root===r&&this.sortedBones.indexOf(o.target)<0){s=!0;break}}s||null!==r.parent&&this.sortedBones.indexOf(r.parent)<0||(this.sortedBones.push(r),n++)}}}},i.prototype.cacheFrames=function(t){if(!(this.cacheFrameRate>0))for(var e in this.cacheFrameRate=t,this.animations)this.animations[e].cacheFrames(this.cacheFrameRate)},i.prototype.setCacheFrame=function(t,e){var i=this.parent.cachedFrames,n=i.length;return i.length+=10,i[n]=t.a,i[n+1]=t.b,i[n+2]=t.c,i[n+3]=t.d,i[n+4]=t.tx,i[n+5]=t.ty,i[n+6]=e.rotation,i[n+7]=e.skew,i[n+8]=e.scaleX,i[n+9]=e.scaleY,n},i.prototype.getCacheFrame=function(t,e,i){var n=this.parent.cachedFrames;t.a=n[i],t.b=n[i+1],t.c=n[i+2],t.d=n[i+3],t.tx=n[i+4],t.ty=n[i+5],e.rotation=n[i+6],e.skew=n[i+7],e.scaleX=n[i+8],e.scaleY=n[i+9],e.x=t.tx,e.y=t.ty},i.prototype.addBone=function(t){t.name in this.bones?console.warn("Same bone: "+t.name):(this.bones[t.name]=t,this.sortedBones.push(t))},i.prototype.addSlot=function(t){t.name in this.slots?console.warn("Same slot: "+t.name):(this.slots[t.name]=t,this.sortedSlots.push(t))},i.prototype.addConstraint=function(t){t.name in this.constraints?console.warn("Same constraint: "+t.name):this.constraints[t.name]=t},i.prototype.addSkin=function(t){t.name in this.skins?console.warn("Same skin: "+t.name):(t.parent=this,this.skins[t.name]=t,null===this.defaultSkin&&(this.defaultSkin=t),"default"===t.name&&(this.defaultSkin=t))},i.prototype.addAnimation=function(t){t.name in this.animations?console.warn("Same animation: "+t.name):(t.parent=this,this.animations[t.name]=t,this.animationNames.push(t.name),null===this.defaultAnimation&&(this.defaultAnimation=t))},i.prototype.addAction=function(t,e){e?this.defaultActions.push(t):this.actions.push(t)},i.prototype.getBone=function(t){return t in this.bones?this.bones[t]:null},i.prototype.getSlot=function(t){return t in this.slots?this.slots[t]:null},i.prototype.getConstraint=function(t){return t in this.constraints?this.constraints[t]:null},i.prototype.getSkin=function(t){return t in this.skins?this.skins[t]:null},i.prototype.getMesh=function(t,e,i){var n=this.getSkin(t);return null===n?null:n.getDisplay(e,i)},i.prototype.getAnimation=function(t){return t in this.animations?this.animations[t]:null},i})(t.BaseObject);t.ArmatureData=e;var i=(function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.transform=new t.Transform,i.userData=null,i}return s(i,e),i.toString=function(){return"[class dragonBones.BoneData]"},i.prototype._onClear=function(){null!==this.userData&&this.userData.returnToPool(),this.inheritTranslation=!1,this.inheritRotation=!1,this.inheritScale=!1,this.inheritReflection=!1,this.type=0,this.length=0,this.name="",this.transform.identity(),this.userData=null,this.parent=null},i})(t.BaseObject);t.BoneData=i;var n=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.vertices=[],e}return s(e,t),e.toString=function(){return"[class dragonBones.SurfaceData]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.type=1,this.segmentX=0,this.segmentY=0,this.vertices.length=0},e})(i);t.SurfaceData=n;var r=(function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t.color=null,t.userData=null,t}return s(i,e),i.createColor=function(){return new t.ColorTransform},i.toString=function(){return"[class dragonBones.SlotData]"},i.prototype._onClear=function(){null!==this.userData&&this.userData.returnToPool(),this.blendMode=0,this.displayIndex=0,this.zOrder=0,this.name="",this.color=null,this.userData=null,this.parent=null},i.DEFAULT_COLOR=new t.ColorTransform,i})(t.BaseObject);t.SlotData=r})(r||(r={})),(function(t){var e=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.prototype._onClear=function(){this.order=0,this.name="",this.type=0,this.target=null,this.root=null,this.bone=null},e})(t.BaseObject);t.ConstraintData=e;var i=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.toString=function(){return"[class dragonBones.IKConstraintData]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.scaleEnabled=!1,this.bendPositive=!1,this.weight=1},e})(e);t.IKConstraintData=i;var n=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.bones=[],e}return s(e,t),e.toString=function(){return"[class dragonBones.PathConstraintData]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.pathSlot=null,this.pathDisplayData=null,this.bones.length=0,this.positionMode=0,this.spacingMode=1,this.rotateMode=1,this.position=0,this.spacing=0,this.rotateOffset=0,this.rotateMix=0,this.translateMix=0},e.prototype.AddBone=function(t){this.bones.push(t)},e})(e);t.PathConstraintData=n})(r||(r={})),(function(t){var e=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.toString=function(){return"[class dragonBones.CanvasData]"},e.prototype._onClear=function(){this.hasBackground=!1,this.color=0,this.x=0,this.y=0,this.width=0,this.height=0},e})(t.BaseObject);t.CanvasData=e})(r||(r={})),(function(t){var e=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.displays={},e}return s(e,t),e.toString=function(){return"[class dragonBones.SkinData]"},e.prototype._onClear=function(){for(var t in this.displays){for(var e=0,i=this.displays[t];er&&(a|=2),es&&(a|=8),a},e.rectangleIntersectsSegment=function(t,i,n,r,s,a,o,l,c,h,u){void 0===c&&(c=null),void 0===h&&(h=null),void 0===u&&(u=null);var _=t>s&&ta&&is&&na&&r=-i&&t<=i){var n=.5*this.height;if(e>=-n&&e<=n)return!0}return!1},e.prototype.intersectsSegment=function(t,i,n,r,s,a,o){void 0===s&&(s=null),void 0===a&&(a=null),void 0===o&&(o=null);var l=.5*this.width,c=.5*this.height;return e.rectangleIntersectsSegment(t,i,n,r,-l,-c,l,c,s,a,o)},e})(e);t.RectangleBoundingBoxData=i;var n=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.toString=function(){return"[class dragonBones.EllipseData]"},e.ellipseIntersectsSegment=function(t,e,i,n,r,s,a,o,l,c,h){void 0===l&&(l=null),void 0===c&&(c=null),void 0===h&&(h=null);var u=a/o,_=u*u,f=i-t,d=(n*=u)-(e*=u),p=Math.sqrt(f*f+d*d),m=f/p,y=d/p,v=(r-t)*m+(s-e)*y,g=a*a,b=g-(t*t+e*e)+v*v,A=0;if(b>=0){var x=Math.sqrt(b),C=v-x,T=v+x,S=C<0?-1:C<=p?0:1,w=T<0?-1:T<=p?0:1,E=S*w;if(E<0)return-1;0===E&&(-1===S?(A=2,i=t+T*m,n=(e+T*y)/u,null!==l&&(l.x=i,l.y=n),null!==c&&(c.x=i,c.y=n),null!==h&&(h.x=Math.atan2(n/g*_,i/g),h.y=h.x+Math.PI)):1===w?(A=1,t+=C*m,e=(e+C*y)/u,null!==l&&(l.x=t,l.y=e),null!==c&&(c.x=t,c.y=e),null!==h&&(h.x=Math.atan2(e/g*_,t/g),h.y=h.x+Math.PI)):(A=3,null!==l&&(l.x=t+C*m,l.y=(e+C*y)/u,null!==h&&(h.x=Math.atan2(l.y/g*_,l.x/g))),null!==c&&(c.x=t+T*m,c.y=(e+T*y)/u,null!==h&&(h.y=Math.atan2(c.y/g*_,c.x/g)))))}return A},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.type=1},e.prototype.containsPoint=function(t,e){var i=.5*this.width;if(t>=-i&&t<=i){var n=.5*this.height;if(e>=-n&&e<=n)return e*=i/n,Math.sqrt(t*t+e*e)<=i}return!1},e.prototype.intersectsSegment=function(t,i,n,r,s,a,o){return void 0===s&&(s=null),void 0===a&&(a=null),void 0===o&&(o=null),e.ellipseIntersectsSegment(t,i,n,r,0,0,.5*this.width,.5*this.height,s,a,o)},e})(e);t.EllipseBoundingBoxData=n;var r=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.vertices=[],e}return s(e,t),e.toString=function(){return"[class dragonBones.PolygonBoundingBoxData]"},e.polygonIntersectsSegment=function(t,e,i,n,r,s,a,o){void 0===s&&(s=null),void 0===a&&(a=null),void 0===o&&(o=null),t===i&&(t=i+1e-6),e===n&&(e=n+1e-6);for(var l=r.length,c=t-i,h=e-n,u=t*n-e*i,_=0,f=r[l-2],d=r[l-1],p=0,m=0,y=0,v=0,g=0,b=0,A=0;A=f&&M<=x||M>=x&&M<=f)&&(0===c||M>=t&&M<=i||M>=i&&M<=t)){var D=(u*S-h*w)/E;if((D>=d&&D<=C||D>=C&&D<=d)&&(0===h||D>=e&&D<=n||D>=n&&D<=e)){if(null===a){y=M,v=D,g=M,b=D,_++,null!==o&&(o.x=Math.atan2(C-d,x-f)-.5*Math.PI,o.y=o.x);break}var B=M-t;B<0&&(B=-B),0===_?(p=B,m=B,y=M,v=D,g=M,b=D,null!==o&&(o.x=Math.atan2(C-d,x-f)-.5*Math.PI,o.y=o.x)):(Bm&&(m=B,g=M,b=D,null!==o&&(o.y=Math.atan2(C-d,x-f)-.5*Math.PI))),_++}}f=x,d=C}return 1===_?(null!==s&&(s.x=y,s.y=v),null!==a&&(a.x=y,a.y=v),null!==o&&(o.y=o.x+Math.PI)):_>1&&(_++,null!==s&&(s.x=y,s.y=v),null!==a&&(a.x=g,a.y=b)),_},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.type=2,this.x=0,this.y=0,this.vertices.length=0},e.prototype.containsPoint=function(t,e){var i=!1;if(t>=this.x&&t<=this.width&&e>=this.y&&e<=this.height)for(var n=0,r=this.vertices.length,s=r-2;n=e||a=e){var l=this.vertices[s],c=this.vertices[n];(e-o)*(l-c)/(a-o)+c0)){this.cacheFrameRate=Math.max(Math.ceil(t*this.scale),1);var e=Math.ceil(this.cacheFrameRate*this.duration)+1;this.cachedFrames.length=e;for(var i=0,n=this.cacheFrames.length;i=0},e.prototype.addBoneMask=function(t,e,i){void 0===i&&(i=!0);var n=t.getBone(e);if(null!==n&&(this.boneMask.indexOf(e)<0&&this.boneMask.push(e),i))for(var r=0,s=t.getBones();r=0&&this.boneMask.splice(n,1),i){var r=t.getBone(e);if(null!==r)if(this.boneMask.length>0)for(var s=0,a=t.getBones();s=0&&r.contains(o)&&this.boneMask.splice(l,1)}else for(var c=0,h=t.getBones();ce._zOrder?1:-1},e.prototype._onClear=function(){null!==this._clock&&this._clock.remove(this);for(var t=0,e=this._bones;t=s)){var o=i[a],l=this.getSlot(o.name);null!==l&&l._setZorder(r)}}this._slotsDirty=!0,this._zOrderDirty=!n}},e.prototype._addBone=function(t){this._bones.indexOf(t)<0&&this._bones.push(t)},e.prototype._addSlot=function(t){this._slots.indexOf(t)<0&&this._slots.push(t)},e.prototype._addConstraint=function(t){this._constraints.indexOf(t)<0&&this._constraints.push(t)},e.prototype._bufferAction=function(t,e){this._actions.indexOf(t)<0&&(e?this._actions.push(t):this._actions.unshift(t))},e.prototype.dispose=function(){null!==this._armatureData&&(this._lockUpdate=!0,this._dragonBones.bufferObject(this))},e.prototype.init=function(t,e,n,r){null===this._armatureData&&(this._armatureData=t,this._animation=i.BaseObject.borrowObject(i.Animation),this._proxy=e,this._display=n,this._dragonBones=r,this._proxy.dbInit(this),this._animation.init(this),this._animation.animations=this._armatureData.animations)},e.prototype.advanceTime=function(t){if(!this._lockUpdate)if(null!==this._armatureData)if(null!==this._armatureData.parent){var i=this._cacheFrameIndex;if(this._animation.advanceTime(t),this._slotsDirty&&(this._slotsDirty=!1,this._slots.sort(e._onSortSlots)),this._cacheFrameIndex<0||this._cacheFrameIndex!==i){var n=0,r=0;for(n=0,r=this._bones.length;n0){this._lockUpdate=!0;for(var s=0,a=this._actions;s0){if(null!==(a=this.getBone(t))&&(a.invalidUpdate(),e))for(var i=0,n=this._slots;i0){if(null===r&&null===s){m=b;break}var A;null!==r&&((A=o?r.y-e:r.x-t)<0&&(A=-A),(null===m||Ac)&&(c=A,_=s.x,f=s.y,y=b,null!==a&&(p=a.y)))}}return null!==m&&null!==r&&(r.x=h,r.y=u,null!==a&&(a.x=d)),null!==y&&null!==s&&(s.x=_,s.y=f,null!==a&&(a.y=p)),m},e.prototype.getBone=function(t){for(var e=0,i=this._bones;e=0&&null!==this._cachedFrameIndices){var e=this._cachedFrameIndices[t];if(e>=0&&this._cachedFrameIndex===e)this._transformDirty=!1;else if(e>=0)this._transformDirty=!0,this._cachedFrameIndex=e;else{if(this._hasConstraint)for(var i=0,n=this._armature._constraints;i=0?(this._transformDirty=!1,this._cachedFrameIndices[t]=this._cachedFrameIndex):(this._transformDirty=!0,this._cachedFrameIndex=-1)}}else{if(this._hasConstraint)for(var r=0,s=this._armature._constraints;r=0;this._localDirty&&this._updateGlobalTransformMatrix(o),o&&null!==this._cachedFrameIndices&&(this._cachedFrameIndex=this._cachedFrameIndices[t]=this._armature._armatureData.setCacheFrame(this.globalTransformMatrix,this.global))}else this._armature._armatureData.getCacheFrame(this.globalTransformMatrix,this.global,this._cachedFrameIndex);else this._childrenTransformDirty&&(this._childrenTransformDirty=!1);this._localDirty=!0},i.prototype.updateByConstraint=function(){this._localDirty&&(this._localDirty=!1,(this._transformDirty||null!==this._parent&&this._parent._childrenTransformDirty)&&this._updateGlobalTransformMatrix(!0),this._transformDirty=!0)},i.prototype.invalidUpdate=function(){this._transformDirty=!0},i.prototype.contains=function(t){if(t===this)return!1;for(var e=t;e!==this&&null!==e;)e=e.parent;return e===this},Object.defineProperty(i.prototype,"boneData",{get:function(){return this._boneData},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"visible",{get:function(){return this._visible},set:function(t){if(this._visible!==t){this._visible=t;for(var e=0,i=this._armature.getSlots();e=s)return this.globalTransformMatrix;if(d=7*(2*(o*(l+1)+2*o+l+f)+((r=i>this._kX*(t+s)+m)?1:0)),this._matrixCahce[d]>0)v.copyFromArray(y,d+1);else{var g=f*(c+2),b=this._hullCache[4],A=this._hullCache[5],x=this._hullCache[2]-(l-f)*b,C=this._hullCache[3]-(l-f)*A,T=this._vertices;r?this._getAffineTransform(-s,m+u,800,u,T[g+c+2],T[g+c+3],x+b,C+A,T[g],T[g+1],e._helpTransform,v,!0):this._getAffineTransform(-n,m,800,u,x,C,T[g],T[g+1],x+b,C+A,e._helpTransform,v,!1),y[d]=1,y[d+1]=v.a,y[d+2]=v.b,y[d+3]=v.c,y[d+4]=v.d,y[d+5]=v.tx,y[d+6]=v.ty}}else if(t>=s){if(i<-s||i>=s)return this.globalTransformMatrix;d=7*(2*(o*(l+1)+o+f)+((r=i>this._kX*(t-n)+m)?1:0)),this._matrixCahce[d]>0?v.copyFromArray(y,d+1):(g=(f+1)*(c+2)-2,b=this._hullCache[4],A=this._hullCache[5],x=this._hullCache[0]+f*b,C=this._hullCache[1]+f*A,T=this._vertices,r?this._getAffineTransform(n,m+u,800,u,x+b,C+A,T[g+c+2],T[g+c+3],x,C,e._helpTransform,v,!0):this._getAffineTransform(s,m,800,u,T[g],T[g+1],x,C,T[g+c+2],T[g+c+3],e._helpTransform,v,!1),y[d]=1,y[d+1]=v.a,y[d+2]=v.b,y[d+3]=v.c,y[d+4]=v.d,y[d+5]=v.tx,y[d+6]=v.ty)}else if(i<-s){if(t<-s||t>=s)return this.globalTransformMatrix;d=7*(o*(l+1)+2*_+((r=i>this._kY*(t-p-h)-n)?1:0)),this._matrixCahce[d]>0?v.copyFromArray(y,d+1):(g=2*_,b=this._hullCache[10],A=this._hullCache[11],x=this._hullCache[8]+_*b,C=this._hullCache[9]+_*A,T=this._vertices,r?this._getAffineTransform(p+h,-s,h,800,T[g+2],T[g+3],T[g],T[g+1],x+b,C+A,e._helpTransform,v,!0):this._getAffineTransform(p,-n,h,800,x,C,x+b,C+A,T[g],T[g+1],e._helpTransform,v,!1),y[d]=1,y[d+1]=v.a,y[d+2]=v.b,y[d+3]=v.c,y[d+4]=v.d,y[d+5]=v.tx,y[d+6]=v.ty)}else if(i>=s){if(t<-s||t>=s)return this.globalTransformMatrix;d=7*(2*(o*(l+1)+o+l+f)+((r=i>this._kY*(t-p-h)+s)?1:0)),this._matrixCahce[d]>0?v.copyFromArray(y,d+1):(g=l*(c+2)+2*_,b=this._hullCache[10],A=this._hullCache[11],x=this._hullCache[6]-(o-_)*b,C=this._hullCache[7]-(o-_)*A,T=this._vertices,r?this._getAffineTransform(p+h,n,h,800,x+b,C+A,x,C,T[g+2],T[g+3],e._helpTransform,v,!0):this._getAffineTransform(p,s,h,800,T[g],T[g+1],T[g+2],T[g+3],x,C,e._helpTransform,v,!1),y[d]=1,y[d+1]=v.a,y[d+2]=v.b,y[d+3]=v.c,y[d+4]=v.d,y[d+5]=v.tx,y[d+6]=v.ty)}else d=7*(2*(o*f+_)+((r=i>this._k*(t-p-h)+m)?1:0)),this._matrixCahce[d]>0?v.copyFromArray(y,d+1):(g=2*_+f*(c+2),T=this._vertices,r?this._getAffineTransform(p+h,m+u,h,u,T[g+c+4],T[g+c+5],T[g+c+2],T[g+c+3],T[g+2],T[g+3],e._helpTransform,v,!0):this._getAffineTransform(p,m,h,u,T[g],T[g+1],T[g+2],T[g+3],T[g+c+2],T[g+c+3],e._helpTransform,v,!1),y[d]=1,y[d+1]=v.a,y[d+2]=v.b,y[d+3]=v.c,y[d+4]=v.d,y[d+5]=v.tx,y[d+6]=v.ty);return v},e.prototype.init=function(e,i){if(null===this._boneData){t.prototype.init.call(this,e,i);var n=e.segmentX,r=e.segmentY,s=e.vertices.length;this._dX=400/n,this._dY=400/r,this._k=-this._dY/this._dX,this._kX=-this._dY/800,this._kY=-800/this._dX,this._vertices.length=s,this._deformVertices.length=s,this._matrixCahce.length=14*(n*r+2*n+2*r),this._hullCache.length=10;for(var a=0;a=0&&null!==this._cachedFrameIndices){var i=this._cachedFrameIndices[t];if(i>=0&&this._cachedFrameIndex===i)this._transformDirty=!1;else if(i>=0)this._transformDirty=!0,this._cachedFrameIndex=i;else{if(this._hasConstraint)for(var n=0,r=this._armature._constraints;n=0?(this._transformDirty=!1,this._cachedFrameIndices[t]=this._cachedFrameIndex):(this._transformDirty=!0,this._cachedFrameIndex=-1)}}else{if(this._hasConstraint)for(var s=0,a=this._armature._constraints;s=0;this._localDirty&&this._updateGlobalTransformMatrix(h),h&&null!==this._cachedFrameIndices&&(this._cachedFrameIndex=this._cachedFrameIndices[t]=this._armature._armatureData.setCacheFrame(this.globalTransformMatrix,this.global))}else this._armature._armatureData.getCacheFrame(this.globalTransformMatrix,this.global,this._cachedFrameIndex);var u=2*this.global.x,_=2*this.global.y,f=e._helpPoint;this.globalTransformMatrix.transformPoint(1e3,-200,f),this._hullCache[0]=f.x,this._hullCache[1]=f.y,this._hullCache[2]=u-f.x,this._hullCache[3]=_-f.y,this.globalTransformMatrix.transformPoint(0,this._dY,f,!0),this._hullCache[4]=f.x,this._hullCache[5]=f.y,this.globalTransformMatrix.transformPoint(200,1e3,f),this._hullCache[6]=f.x,this._hullCache[7]=f.y,this._hullCache[8]=u-f.x,this._hullCache[9]=_-f.y,this.globalTransformMatrix.transformPoint(this._dX,0,f,!0),this._hullCache[10]=f.x,this._hullCache[11]=f.y}else this._childrenTransformDirty&&(this._childrenTransformDirty=!1);this._localDirty=!0},e})(t.Bone);t.Surface=e})(r||(r={})),(function(t){var e=(function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i._localMatrix=new t.Matrix,i._colorTransform=new t.ColorTransform,i._displayDatas=[],i._displayList=[],i._deformVertices=null,i._rawDisplay=null,i._meshDisplay=null,i}return s(i,e),i.prototype._onClear=function(){e.prototype._onClear.call(this);for(var i=[],n=0,r=this._displayList;n=0&&(null!==this._rawDisplayDatas&&(s=this._displayIndex=0&&this._displayIndex=0&&null!==this._rawDisplayDatas){var a=this._displayIndex0)for(var o=0,l=s;o0){this._displayList.length!==e.length&&(this._displayList.length=e.length);for(var i=0,n=e.length;i0&&(this._displayList.length=0);return this._displayIndex>=0&&this._displayIndex=0&&null!==this._cachedFrameIndices){var e=this._cachedFrameIndices[t];e>=0&&this._cachedFrameIndex===e?this._transformDirty=!1:e>=0?(this._transformDirty=!0,this._cachedFrameIndex=e):this._transformDirty||this._parent._childrenTransformDirty?(this._transformDirty=!0,this._cachedFrameIndex=-1):this._cachedFrameIndex>=0?(this._transformDirty=!1,this._cachedFrameIndices[t]=this._cachedFrameIndex):(this._transformDirty=!0,this._cachedFrameIndex=-1)}else(this._transformDirty||this._parent._childrenTransformDirty)&&(t=-1,this._transformDirty=!0,this._cachedFrameIndex=-1);if(null!==this._display){if(this._visibleDirty&&(this._visibleDirty=!1,this._updateVisible()),this._blendModeDirty&&(this._blendModeDirty=!1,this._updateBlendMode()),this._colorDirty&&(this._colorDirty=!1,this._updateColor()),null!==this._deformVertices&&null!==this._deformVertices.verticesData&&this._display===this._meshDisplay){var i=null!==this._deformVertices.verticesData.weight,n=0!==this._parent._boneData.type;if((this._deformVertices.verticesDirty||i&&this._deformVertices.isBonesUpdate()||n&&this._parent._childrenTransformDirty)&&(this._deformVertices.verticesDirty=!1,this._updateMesh()),i||n)return}if(this._transformDirty){if(this._transformDirty=!1,this._cachedFrameIndex<0){var r=t>=0;this._updateGlobalTransformMatrix(r),r&&null!==this._cachedFrameIndices&&(this._cachedFrameIndex=this._cachedFrameIndices[t]=this._armature._armatureData.setCacheFrame(this.globalTransformMatrix,this.global))}else this._isFromCache=!0,this._armature._armatureData.getCacheFrame(this.globalTransformMatrix,this.global,this._cachedFrameIndex);this._updateTransform()}}},i.prototype.updateTransformAndMatrix=function(){this._transformDirty&&(this._transformDirty=!1,this._updateGlobalTransformMatrix(!1))},i.prototype.replaceDisplayData=function(t,e){if(void 0===e&&(e=-1),e<0&&(e=this._displayIndex<0?0:this._displayIndex),this._displayDatas.length<=e){this._displayDatas.length=e+1;for(var i=0,n=this._displayDatas.length;i0&&(1===l||2===l?null!==s?(this.globalTransformMatrix.transformPoint(s.x,s.y,s),null!==a&&(a.x=s.x,a.y=s.y)):null!==a&&this.globalTransformMatrix.transformPoint(a.x,a.y,a):(null!==s&&this.globalTransformMatrix.transformPoint(s.x,s.y,s),null!==a&&this.globalTransformMatrix.transformPoint(a.x,a.y,a)),null!==o&&(this.globalTransformMatrix.transformPoint(Math.cos(o.x),Math.sin(o.x),i._helpPoint,!0),o.x=Math.atan2(i._helpPoint.y,i._helpPoint.x),this.globalTransformMatrix.transformPoint(Math.cos(o.y),Math.sin(o.y),i._helpPoint,!0),o.y=Math.atan2(i._helpPoint.y,i._helpPoint.x))),l},i.prototype.invalidUpdate=function(){this._displayDirty=!0,this._transformDirty=!0},Object.defineProperty(i.prototype,"visible",{get:function(){return this._visible},set:function(t){this._visible!==t&&(this._visible=t,this._updateVisible())},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"displayIndex",{get:function(){return this._displayIndex},set:function(t){this._setDisplayIndex(t)&&this.update(-1)},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"name",{get:function(){return this._slotData.name},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"displayList",{get:function(){return this._displayList.concat()},set:function(e){var i=this._displayList.concat(),n=new Array;this._setDisplayList(e)&&this.update(-1);for(var r=0,s=i;rd)continue}for(;;H++){var V=p[H];if(!(F>V)){0===H?F/=V:F=(F-(z=p[H-1]))/(V-z);break}}if(H!==_){_=H;var N=6*H;for(T=c[N],S=c[N+1],w=c[N+2],E=c[N+3],M=c[N+4],D=c[N+5],b=2*(m=.03*(T-2*w+M))+(v=.006*(3*(w-M)-T+(B=c[N+6]))),A=2*(y=.03*(S-2*E+D))+(g=.006*(3*(E-D)-S+(P=c[N+7]))),x=.3*(w-T)+m+.16666667*v,C=.3*(E-S)+y+.16666667*g,O=Math.sqrt(x*x+C*C),R[0]=O,N=1;N<8;N++)x+=b,C+=A,b+=v,A+=g,O+=Math.sqrt(x*x+C*C),R[N]=O;x+=b,C+=A,O+=Math.sqrt(x*x+C*C),R[8]=O,x+=b+v,C+=A+g,O+=Math.sqrt(x*x+C*C),R[9]=O,L=0}for(F*=O;;L++){var k=R[L];if(!(F>k)){var z;0===L?F/=k:F=L+(F-(z=R[L-1]))/(k-z);break}}this.addCurvePosition(.1*F,T,S,w,E,M,D,B,P,a,j,i)}}else{var G=t.curveLengths;if(d=G[u-=l?1:2],n&&(f*=d),r)for(var U=0;Ud)continue}for(var W=0;;H++){var X=G[H];if(!(f>X)){if(0===H)W=f/X;else{var Y=G[H-1];W=(f-Y)/(X-Y)}break}}H!==_&&(_=H,l&&H===u?(this._computeVertices(h-4,4,0,c),this._computeVertices(0,4,4,c)):this._computeVertices(6*H+2,8,0,c)),this.addCurvePosition(W,c[0],c[1],c[2],c[3],c[4],c[5],c[6],c[7],a,j,i)}}},i.prototype.addCurvePosition=function(t,e,i,n,r,s,a,o,l,c,h,u){if(0===t)return c[h]=e,c[h+1]=i,void(c[h+2]=0);if(1===t)return c[h]=o,c[h+1]=l,void(c[h+2]=0);var _=1-t,f=_*_,d=t*t,p=f*_,m=f*t*3,y=_*d*3,v=t*d,g=p*e+m*n+y*s+v*o,b=p*i+m*r+y*a+v*l;c[h]=g,c[h+1]=b,c[h+2]=u?Math.atan2(b-(p*i+m*r+y*a),g-(p*e+m*n+y*s)):0},i.prototype.init=function(t,e){this._constraintData=t,this._armature=e;var i=t;this.pathOffset=i.pathDisplayData.vertices.offset,this.position=i.position,this.spacing=i.spacing,this.rotateOffset=i.rotateOffset,this.rotateMix=i.rotateMix,this.translateMix=i.translateMix,this._root=this._armature.getBone(i.root.name),this._target=this._armature.getBone(i.target.name),this._pathSlot=this._armature.getSlot(i.pathSlot.name);for(var n=0,r=i.bones.length;n0?t.Transform.DEG_RAD:-t.Transform.DEG_RAD));for(var M=this.rotateMix,D=this.translateMix,B=(y=0,3);y0){var V=I.a,N=I.b,k=I.c,z=I.d,G=void 0,U=void 0,j=void 0;if(G=_?T[B-1]:Math.atan2(O,R),G-=Math.atan2(N,V),C){U=Math.cos(G),j=Math.sin(G);var H=P._boneData.length;w+=(H*(U*V-j*N)-R)*M,E+=(H*(j*V+U*N)-O)*M}else G+=S;G>t.Transform.PI?G-=t.Transform.PI_D:G<-t.Transform.PI&&(G+=t.Transform.PI_D),G*=M,U=Math.cos(G),j=Math.sin(G),I.a=U*V-j*N,I.b=j*V+U*N,I.c=U*k-j*z,I.d=j*k+U*z}P.global.fromMatrix(I)}this.dirty=!1}}},i.prototype.invalidUpdate=function(){},i})(e);t.PathConstraint=n})(r||(r={})),(function(t){var e=(function(){function t(t){void 0===t&&(t=0),this.time=0,this.timeScale=1,this._systemTime=0,this._animatebles=[],this._clock=null,this.time=t,this._systemTime=.001*(new Date).getTime()}return t.prototype.advanceTime=function(t){t!=t&&(t=0);var e=.001*Date.now();if(t<0&&(t=e-this._systemTime),this._systemTime=e,1!==this.timeScale&&(t*=this.timeScale),0!==t){t<0?this.time-=t:this.time+=t;for(var i=0,n=0,r=this._animatebles.length;i0&&(this._animatebles[i-n]=s,this._animatebles[i]=null),s.advanceTime(t)):n++}if(n>0){for(r=this._animatebles.length;i=0&&(this._animatebles[e]=null,t.clock=null)},t.prototype.clear=function(){for(var t=0,e=this._animatebles;t0&&d._subFadeState>0)this._armature._dragonBones.bufferObject(d),this._animationStates.length=0,this._lastAnimationState=null;else{var i=d._animationData,n=i.cacheFrameRate;if(this._animationDirty&&n>0){this._animationDirty=!1;for(var r=0,s=this._armature.getBones();r0){var u=h[0];if(null!==u&&u.parent===this._armature.armatureData.defaultSkin){c._cachedFrameIndices=i.getSlotCachedFrameIndices(c.name);continue}}c._cachedFrameIndices=null}}d.advanceTime(t,n)}else if(e>1){for(var _=0,f=0;_0&&d._subFadeState>0?(f++,this._armature._dragonBones.bufferObject(d),this._animationDirty=!0,this._lastAnimationState===d&&(this._lastAnimationState=null)):(f>0&&(this._animationStates[_-f]=d),d.advanceTime(t,0)),_===e-1&&f>0&&(this._animationStates.length-=f,null===this._lastAnimationState&&this._animationStates.length>0&&(this._lastAnimationState=this._animationStates[this._animationStates.length-1]))}this._armature._cacheFrameIndex=-1}else this._armature._cacheFrameIndex=-1},i.prototype.reset=function(){for(var t=0,e=this._animationStates;t1?(e.position<0?(e.position%=n.duration,e.position=n.duration-e.position):e.position===n.duration?e.position-=1e-6:e.position>n.duration&&(e.position%=n.duration),e.duration>0&&e.position+e.duration>n.duration&&(e.duration=n.duration-e.position),e.playTimes<0&&(e.playTimes=n.playTimes)):(e.playTimes=1,e.position=0,e.duration>0&&(e.duration=0)),0===e.duration&&(e.duration=-1),this._fadeOut(e);var o=t.BaseObject.borrowObject(t.AnimationState);if(o.init(this._armature,n,e),this._animationDirty=!0,this._armature._cacheFrameIndex=-1,this._animationStates.length>0){for(var l=!1,c=0,h=this._animationStates.length;cthis._animationStates[c].layer){l=!0,this._animationStates.splice(c,0,o);break}if(c!==h-1&&o.layer>this._animationStates[c+1].layer){l=!0,this._animationStates.splice(c+1,0,o);break}}l||this._animationStates.push(o)}else this._animationStates.push(o);for(var u=0,_=this._armature.getSlots();u<_.length;u++){var f=_[u].childArmature;null!==f&&f.inheritAnimation&&f.animation.hasAnimation(i)&&null===f.animation.getState(i)&&f.animation.fadeIn(i)}var d=!1;for(var p in n.animationTimelines){this._lockUpdate||(d=!0,this._lockUpdate=!0);var m=this.fadeIn(p,e.fadeInTime,1,o.layer,null,0);null!==m&&(m.resetToPose=!1,m._parent=o,m.stop())}return d&&(this._lockUpdate=!1),this._lockUpdate||(e.fadeInTime<=0&&this._armature.advanceTime(0),this._lastAnimationState=o),o},i.prototype.play=function(t,e){if(void 0===t&&(t=null),void 0===e&&(e=-1),this._animationConfig.clear(),this._animationConfig.resetToPose=!0,this._animationConfig.playTimes=e,this._animationConfig.fadeInTime=0,this._animationConfig.animation=null!==t?t:"",null!==t&&t.length>0)this.playConfig(this._animationConfig);else if(null===this._lastAnimationState){var i=this._armature.armatureData.defaultAnimation;null!==i&&(this._animationConfig.animation=i.name,this.playConfig(this._animationConfig))}else this._lastAnimationState.isPlaying||this._lastAnimationState.isCompleted?(this._animationConfig.animation=this._lastAnimationState.name,this.playConfig(this._animationConfig)):this._lastAnimationState.play();return this._lastAnimationState},i.prototype.fadeIn=function(t,e,i,n,r,s){return void 0===e&&(e=-1),void 0===i&&(i=-1),void 0===n&&(n=0),void 0===r&&(r=null),void 0===s&&(s=3),this._animationConfig.clear(),this._animationConfig.fadeOutMode=s,this._animationConfig.playTimes=i,this._animationConfig.layer=n,this._animationConfig.fadeInTime=e,this._animationConfig.animation=t,this._animationConfig.group=null!==r?r:"",this.playConfig(this._animationConfig)},i.prototype.gotoAndPlayByTime=function(t,e,i){return void 0===e&&(e=0),void 0===i&&(i=-1),this._animationConfig.clear(),this._animationConfig.resetToPose=!0,this._animationConfig.playTimes=i,this._animationConfig.position=e,this._animationConfig.fadeInTime=0,this._animationConfig.animation=t,this.playConfig(this._animationConfig)},i.prototype.gotoAndPlayByFrame=function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=-1),this._animationConfig.clear(),this._animationConfig.resetToPose=!0,this._animationConfig.playTimes=i,this._animationConfig.fadeInTime=0,this._animationConfig.animation=t;var n=t in this._animations?this._animations[t]:null;return null!==n&&(this._animationConfig.position=n.duration*e/n.frameCount),this.playConfig(this._animationConfig)},i.prototype.gotoAndPlayByProgress=function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=-1),this._animationConfig.clear(),this._animationConfig.resetToPose=!0,this._animationConfig.playTimes=i,this._animationConfig.fadeInTime=0,this._animationConfig.animation=t;var n=t in this._animations?this._animations[t]:null;return null!==n&&(this._animationConfig.position=n.duration*(e>0?e:0)),this.playConfig(this._animationConfig)},i.prototype.gotoAndStopByTime=function(t,e){void 0===e&&(e=0);var i=this.gotoAndPlayByTime(t,e,1);return null!==i&&i.stop(),i},i.prototype.gotoAndStopByFrame=function(t,e){void 0===e&&(e=0);var i=this.gotoAndPlayByFrame(t,e,1);return null!==i&&i.stop(),i},i.prototype.gotoAndStopByProgress=function(t,e){void 0===e&&(e=0);var i=this.gotoAndPlayByProgress(t,e,1);return null!==i&&i.stop(),i},i.prototype.getState=function(t){for(var e=this._animationStates.length;e--;){var i=this._animationStates[e];if(i.name===t)return i}return null},i.prototype.hasAnimation=function(t){return t in this._animations},i.prototype.getStates=function(){return this._animationStates},Object.defineProperty(i.prototype,"isPlaying",{get:function(){for(var t=0,e=this._animationStates;t0},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"lastAnimationName",{get:function(){return null!==this._lastAnimationState?this._lastAnimationState.name:""},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"animationNames",{get:function(){return this._animationNames},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"animations",{get:function(){return this._animations},set:function(t){if(this._animations!==t){for(var e in this._animationNames.length=0,this._animations)delete this._animations[e];for(var e in t)this._animationNames.push(e),this._animations[e]=t[e]}},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"animationConfig",{get:function(){return this._animationConfig.clear(),this._animationConfig},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"lastAnimationState",{get:function(){return this._lastAnimationState},enumerable:!0,configurable:!0}),i.prototype.gotoAndPlay=function(t,e,i,n,r,s,a,o,l){void 0===e&&(e=-1),void 0===i&&(i=-1),void 0===n&&(n=-1),void 0===r&&(r=0),void 0===s&&(s=null),void 0===a&&(a=3),void 0===o&&(o=!0),void 0===l&&(l=!0),console.warn("Deprecated."),this._animationConfig.clear(),this._animationConfig.resetToPose=!0,this._animationConfig.fadeOutMode=a,this._animationConfig.playTimes=n,this._animationConfig.layer=r,this._animationConfig.fadeInTime=e,this._animationConfig.animation=t,this._animationConfig.group=null!==s?s:"";var c=this._animations[t];return c&&i>0&&(this._animationConfig.timeScale=c.duration/i),this.playConfig(this._animationConfig)},i.prototype.gotoAndStop=function(t,e){return void 0===e&&(e=0),console.warn("Deprecated."),this.gotoAndStopByTime(t,e)},Object.defineProperty(i.prototype,"animationList",{get:function(){return console.warn("Deprecated."),this._animationNames},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"animationDataList",{get:function(){console.warn("Deprecated.");for(var t=[],e=0,i=this._animationNames.length;e0;if(this._subFadeState<0){this._subFadeState=0;var r=n?t.EventObject.FADE_OUT:t.EventObject.FADE_IN;this._armature.eventDispatcher.hasDBEventListener(r)&&((i=t.BaseObject.borrowObject(t.EventObject)).type=r,i.armature=this._armature,i.animationState=this,this._armature._dragonBones.bufferEvent(i))}(e<0&&(e=-e),this._fadeTime+=e,this._fadeTime>=this.fadeTotalTime?(this._subFadeState=1,this._fadeProgress=n?0:1):this._fadeTime>0?this._fadeProgress=n?1-this._fadeTime/this.fadeTotalTime:this._fadeTime/this.fadeTotalTime:this._fadeProgress=n?1:0,this._subFadeState>0)&&(n||(this._playheadState|=1,this._fadeState=0),r=n?t.EventObject.FADE_OUT_COMPLETE:t.EventObject.FADE_IN_COMPLETE,this._armature.eventDispatcher.hasDBEventListener(r)&&((i=t.BaseObject.borrowObject(t.EventObject)).type=r,i.armature=this._armature,i.animationState=this,this._armature._dragonBones.bufferEvent(i)))},r.prototype.init=function(e,i,n){if(null===this._armature){if(this._armature=e,this._animationData=i,this.resetToPose=n.resetToPose,this.additiveBlending=n.additiveBlending,this.displayControl=n.displayControl,this.actionEnabled=n.actionEnabled,this.layer=n.layer,this.playTimes=n.playTimes,this.timeScale=n.timeScale,this.fadeTotalTime=n.fadeInTime,this.autoFadeOutTime=n.autoFadeOutTime,this.weight=n.weight,this.name=n.name.length>0?n.name:n.animation,this.group=n.group,n.pauseFadeIn?this._playheadState=2:this._playheadState=3,n.duration<0?(this._position=0,this._duration=this._animationData.duration,0!==n.position?this.timeScale>=0?this._time=n.position:this._time=n.position-this._duration:this._time=0):(this._position=n.position,this._duration=n.duration,this._time=0),this.timeScale<0&&0===this._time&&(this._time=-1e-6),this.fadeTotalTime<=0&&(this._fadeProgress=.999999),n.boneMask.length>0){this._boneMask.length=n.boneMask.length;for(var r=0,s=this._boneMask.length;r0,r=!0,s=!0,a=this._time;if(this._weightResult=this.weight*this._fadeProgress,null!==this._parent&&(this._weightResult*=this._parent._weightResult/this._parent._fadeProgress),this._actionTimeline.playState<=0&&this._actionTimeline.update(a),n){var o=2*i;this._actionTimeline.currentTime=Math.floor(this._actionTimeline.currentTime*o)/o}if(null!==this._zOrderTimeline&&this._zOrderTimeline.playState<=0&&this._zOrderTimeline.update(a),n){var l=Math.floor(this._actionTimeline.currentTime*i);this._armature._cacheFrameIndex===l?(r=!1,s=!1):(this._armature._cacheFrameIndex=l,this._animationData.cachedFrames[l]?s=!1:this._animationData.cachedFrames[l]=!0)}if(r){if(s)for(var c=0,h=this._boneTimelines.length;c0&&(this._subFadeState=0,this._poseTimelines.length>0)){for(var f=0,d=this._poseTimelines;f0&&this.autoFadeOutTime>=0&&this.fadeOut(this.autoFadeOutTime)}}},r.prototype.play=function(){this._playheadState=3},r.prototype.stop=function(){this._playheadState&=1},r.prototype.fadeOut=function(t,e){if(void 0===e&&(e=!0),t<0&&(t=0),e&&(this._playheadState&=2),this._fadeState>0){if(t>this.fadeTotalTime-this._fadeTime)return}else{this._fadeState=1,this._subFadeState=-1,(t<=0||this._fadeProgress<=0)&&(this._fadeProgress=1e-6);for(var i=0,n=this._boneTimelines;i1e-6?t/this._fadeProgress:0,this._fadeTime=this.fadeTotalTime*(1-this._fadeProgress)},r.prototype.containsBoneMask=function(t){return 0===this._boneMask.length||this._boneMask.indexOf(t)>=0},r.prototype.addBoneMask=function(t,e){void 0===e&&(e=!0);var i=this._armature.getBone(t);if(null!==i){if(this._boneMask.indexOf(t)<0&&this._boneMask.push(t),e)for(var n=0,r=this._armature.getBones();n=0&&this._boneMask.splice(i,1),e){var n=this._armature.getBone(t);if(null!==n){var r=this._armature.getBones();if(this._boneMask.length>0)for(var s=0,a=r;s=0&&n.contains(o)&&this._boneMask.splice(l,1)}else for(var c=0,h=r;c0},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"isFadeComplete",{get:function(){return 0===this._fadeState},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"isPlaying",{get:function(){return 0!=(2&this._playheadState)&&this._actionTimeline.playState<=0},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"isCompleted",{get:function(){return this._actionTimeline.playState>0},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"currentPlayTimes",{get:function(){return this._actionTimeline.currentPlayTimes},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"totalTime",{get:function(){return this._duration},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"currentTime",{get:function(){return this._actionTimeline.currentTime},set:function(t){var e=this._actionTimeline.currentPlayTimes-(this._actionTimeline.playState>0?1:0);if((t<0||this._duration0&&e===this.playTimes-1&&t===this._duration&&(t=this._duration-1e-6),this._time!==t){this._time=t,this._actionTimeline.setCurrentTime(this._time),null!==this._zOrderTimeline&&(this._zOrderTimeline.playState=-1);for(var i=0,n=this._boneTimelines;i0))return 0;if(this.layer!==e){if(this.layerWeight>=this.leftWeight)return this.leftWeight=0,0;this.layer=e,this.leftWeight-=this.layerWeight,this.layerWeight=0}return t*=this.leftWeight,this.layerWeight+=t,this.blendWeight=t,2}return this.dirty=!0,this.layer=e,this.layerWeight=t,this.leftWeight=1,this.blendWeight=t,1},t.prototype.clear=function(){this.dirty=!1,this.layer=0,this.leftWeight=0,this.layerWeight=0,this.blendWeight=0},t})();t.BlendState=n})(r||(r={})),(function(t){var e=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.prototype._onClear=function(){this.playState=-1,this.currentPlayTimes=-1,this.currentTime=-1,this._tweenState=0,this._frameRate=0,this._frameValueOffset=0,this._frameCount=0,this._frameOffset=0,this._frameIndex=-1,this._frameRateR=0,this._position=0,this._duration=0,this._timeScale=1,this._timeOffset=0,this._dragonBonesData=null,this._animationData=null,this._timelineData=null,this._armature=null,this._animationState=null,this._actionTimeline=null,this._frameArray=null,this._frameIntArray=null,this._frameFloatArray=null,this._timelineArray=null,this._frameIndices=null},e.prototype._setCurrentTime=function(t){var e=this.playState,i=this.currentPlayTimes,n=this.currentTime;if(null!==this._actionTimeline&&this._frameCount<=1)this.playState=this._actionTimeline.playState>=0?1:-1,this.currentPlayTimes=1,this.currentTime=this._actionTimeline.currentTime;else if(null===this._actionTimeline||1!==this._timeScale||0!==this._timeOffset){var r=this._animationState.playTimes,s=r*this._duration;t*=this._timeScale,0!==this._timeOffset&&(t+=this._timeOffset*this._animationData.duration),r>0&&(t>=s||t<=-s)?(this.playState<=0&&3===this._animationState._playheadState&&(this.playState=1),this.currentPlayTimes=r,this.currentTime=t<0?0:this._duration+1e-6):(0!==this.playState&&3===this._animationState._playheadState&&(this.playState=0),t<0?(t=-t,this.currentPlayTimes=Math.floor(t/this._duration),this.currentTime=this._duration-t%this._duration):(this.currentPlayTimes=Math.floor(t/this._duration),this.currentTime=t%this._duration)),this.currentTime+=this._position}else this.playState=this._actionTimeline.playState,this.currentPlayTimes=this._actionTimeline.currentPlayTimes,this.currentTime=this._actionTimeline.currentTime;return(this.currentPlayTimes!==i||this.currentTime!==n)&&((e<0&&this.playState!==e||this.playState<=0&&this.currentPlayTimes!==i)&&(this._frameIndex=-1),!0)},e.prototype.init=function(t,e,i){this._armature=t,this._animationState=e,this._timelineData=i,this._actionTimeline=this._animationState._actionTimeline,this===this._actionTimeline&&(this._actionTimeline=null),this._animationData=this._animationState._animationData,this._frameRate=this._animationData.parent.frameRate,this._frameRateR=1/this._frameRate,this._position=this._animationState._position,this._duration=this._animationState._duration,this._dragonBonesData=this._animationData.parent.parent,null!==this._timelineData&&(this._frameIntArray=this._dragonBonesData.frameIntArray,this._frameFloatArray=this._dragonBonesData.frameFloatArray,this._frameArray=this._dragonBonesData.frameArray,this._timelineArray=this._dragonBonesData.timelineArray,this._frameIndices=this._dragonBonesData.frameIndices,this._frameCount=this._timelineArray[this._timelineData.offset+2],this._frameValueOffset=this._timelineArray[this._timelineData.offset+4],this._timeScale=100/this._timelineArray[this._timelineData.offset+0],this._timeOffset=.01*this._timelineArray[this._timelineData.offset+1])},e.prototype.fadeOut=function(){},e.prototype.update=function(t){if(this._setCurrentTime(t)){if(this._frameCount>1){var e=Math.floor(this.currentTime*this._frameRate),i=this._frameIndices[this._timelineData.frameIndicesOffset+e];this._frameIndex!==i&&(this._frameIndex=i,this._frameOffset=this._animationData.frameOffset+this._timelineArray[this._timelineData.offset+5+this._frameIndex],this._onArriveAtFrame())}else this._frameIndex<0&&(this._frameIndex=0,null!==this._timelineData&&(this._frameOffset=this._animationData.frameOffset+this._timelineArray[this._timelineData.offset+5]),this._onArriveAtFrame());0!==this._tweenState&&this._onUpdateFrame()}},e})(t.BaseObject);t.TimelineState=e;var i=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e._getEasingValue=function(t,e,i){var n=e;switch(t){case 3:n=Math.pow(e,2);break;case 4:n=1-Math.pow(1-e,2);break;case 5:n=.5*(1-Math.cos(e*Math.PI))}return(n-e)*i+e},e._getEasingCurveValue=function(t,e,i,n){if(t<=0)return 0;if(t>=1)return 1;var r=i+1,s=Math.floor(t*r),a=0===s?0:e[n+s-1];return 1e-4*(a+((s===r-1?1e4:e[n+s])-a)*(t*r-s))},e.prototype._onClear=function(){t.prototype._onClear.call(this),this._tweenType=0,this._curveCount=0,this._framePosition=0,this._frameDurationR=0,this._tweenProgress=0,this._tweenEasing=0},e.prototype._onArriveAtFrame=function(){if(this._frameCount>1&&(this._frameIndex!==this._frameCount-1||0===this._animationState.playTimes||this._animationState.currentPlayTimes0?1/e:0}else this._tweenState=1},e.prototype._onUpdateFrame=function(){2===this._tweenState?(this._tweenProgress=(this.currentTime-this._framePosition)*this._frameDurationR,2===this._tweenType?this._tweenProgress=e._getEasingCurveValue(this._tweenProgress,this._frameArray,this._curveCount,this._frameOffset+3):1!==this._tweenType&&(this._tweenProgress=e._getEasingValue(this._tweenType,this._tweenProgress,this._tweenEasing))):this._tweenProgress=0},e})(e);t.TweenTimelineState=i;var n=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.prototype._onClear=function(){t.prototype._onClear.call(this),this.bone=null,this.bonePose=null},e.prototype.blend=function(t){var e=this.bone._blendState.blendWeight,i=this.bone.animationPose,n=this.bonePose.result;2===t?(i.x+=n.x*e,i.y+=n.y*e,i.rotation+=n.rotation*e,i.skew+=n.skew*e,i.scaleX+=(n.scaleX-1)*e,i.scaleY+=(n.scaleY-1)*e):1!==e?(i.x=n.x*e,i.y=n.y*e,i.rotation=n.rotation*e,i.skew=n.skew*e,i.scaleX=(n.scaleX-1)*e+1,i.scaleY=(n.scaleY-1)*e+1):(i.x=n.x,i.y=n.y,i.rotation=n.rotation,i.skew=n.skew,i.scaleX=n.scaleX,i.scaleY=n.scaleY),0===this._animationState._fadeState&&0===this._animationState._subFadeState||(this.bone._transformDirty=!0)},e})(i);t.BoneTimelineState=n;var r=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.prototype._onClear=function(){t.prototype._onClear.call(this),this.slot=null},e})(i);t.SlotTimelineState=r;var a=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.prototype._onClear=function(){t.prototype._onClear.call(this),this.constraint=null},e})(i);t.ConstraintTimelineState=a})(r||(r={})),(function(t){var e=(function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return s(i,e),i.toString=function(){return"[class dragonBones.ActionTimelineState]"},i.prototype._onCrossFrame=function(e){var i=this._armature.eventDispatcher;if(this._animationState.actionEnabled)for(var n=this._animationData.frameOffset+this._timelineArray[this._timelineData.offset+5+e],r=this._frameArray[n+1],s=this._animationData.parent.actions,a=0;a0&&s.hasDBEventListener(t.EventObject.COMPLETE)&&((c=t.BaseObject.borrowObject(t.EventObject)).type=t.EventObject.COMPLETE,c.armature=this._armature,c.animationState=this._animationState)),this._frameCount>1){var h=this._timelineData,u=Math.floor(this.currentTime*this._frameRate),_=this._frameIndices[h.frameIndicesOffset+u];if(this._frameIndex!==_){var f=this._frameIndex;if(this._frameIndex=_,null!==this._timelineArray)if(this._frameOffset=this._animationData.frameOffset+this._timelineArray[h.offset+5+this._frameIndex],o){if(f<0){var d=Math.floor(r*this._frameRate);f=this._frameIndices[h.frameIndicesOffset+d],this.currentPlayTimes===n&&f===_&&(f=-1)}for(;f>=0;){var p=this._animationData.frameOffset+this._timelineArray[h.offset+5+f],m=this._frameArray[p]/this._frameRate;if(this._position<=m&&m<=this._position+this._duration&&this._onCrossFrame(f),null!==l&&0===f&&(this._armature._dragonBones.bufferEvent(l),l=null),f>0?f--:f=this._frameCount-1,f===_)break}}else for(f<0&&(d=Math.floor(r*this._frameRate),f=this._frameIndices[h.frameIndicesOffset+d],p=this._animationData.frameOffset+this._timelineArray[h.offset+5+f],m=this._frameArray[p]/this._frameRate,this.currentPlayTimes===n&&(r<=m?f>0?f--:f=this._frameCount-1:f===_&&(f=-1)));f>=0&&(f=0&&(this._frameArray[this._frameOffset+1]>0?this._armature._sortZOrder(this._frameArray,this._frameOffset+2):this._armature._sortZOrder(null,0))},e.prototype._onUpdateFrame=function(){},e})(t.TimelineState);t.ZOrderTimelineState=i;var n=(function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return s(i,e),i.toString=function(){return"[class dragonBones.BoneAllTimelineState]"},i.prototype._onArriveAtFrame=function(){if(e.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var t=this._animationData.frameFloatOffset+this._frameValueOffset+6*this._frameIndex,i=this._armature._armatureData.scale,n=this._frameFloatArray,r=this.bonePose.current,s=this.bonePose.delta;r.x=n[t++]*i,r.y=n[t++]*i,r.rotation=n[t++],r.skew=n[t++],r.scaleX=n[t++],r.scaleY=n[t++],2===this._tweenState?(this._frameIndex===this._frameCount-1&&(t=this._animationData.frameFloatOffset+this._frameValueOffset),s.x=n[t++]*i-r.x,s.y=n[t++]*i-r.y,s.rotation=n[t++]-r.rotation,s.skew=n[t++]-r.skew,s.scaleX=n[t++]-r.scaleX,s.scaleY=n[t++]-r.scaleY):(s.x=0,s.y=0,s.rotation=0,s.skew=0,s.scaleX=0,s.scaleY=0)}else r=this.bonePose.current,s=this.bonePose.delta,r.x=0,r.y=0,r.rotation=0,r.skew=0,r.scaleX=1,r.scaleY=1,s.x=0,s.y=0,s.rotation=0,s.skew=0,s.scaleX=0,s.scaleY=0},i.prototype._onUpdateFrame=function(){e.prototype._onUpdateFrame.call(this);var t=this.bonePose.current,i=this.bonePose.delta,n=this.bonePose.result;this.bone._transformDirty=!0,2!==this._tweenState&&(this._tweenState=0),n.x=t.x+i.x*this._tweenProgress,n.y=t.y+i.y*this._tweenProgress,n.rotation=t.rotation+i.rotation*this._tweenProgress,n.skew=t.skew+i.skew*this._tweenProgress,n.scaleX=t.scaleX+i.scaleX*this._tweenProgress,n.scaleY=t.scaleY+i.scaleY*this._tweenProgress},i.prototype.fadeOut=function(){var e=this.bonePose.result;e.rotation=t.Transform.normalizeRadian(e.rotation),e.skew=t.Transform.normalizeRadian(e.skew)},i})(t.BoneTimelineState);t.BoneAllTimelineState=n;var r=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.toString=function(){return"[class dragonBones.BoneTranslateTimelineState]"},e.prototype._onArriveAtFrame=function(){if(t.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var e=this._animationData.frameFloatOffset+this._frameValueOffset+2*this._frameIndex,i=this._armature._armatureData.scale,n=this._frameFloatArray,r=this.bonePose.current,s=this.bonePose.delta;r.x=n[e++]*i,r.y=n[e++]*i,2===this._tweenState?(this._frameIndex===this._frameCount-1&&(e=this._animationData.frameFloatOffset+this._frameValueOffset),s.x=n[e++]*i-r.x,s.y=n[e++]*i-r.y):(s.x=0,s.y=0)}else r=this.bonePose.current,s=this.bonePose.delta,r.x=0,r.y=0,s.x=0,s.y=0},e.prototype._onUpdateFrame=function(){t.prototype._onUpdateFrame.call(this);var e=this.bonePose.current,i=this.bonePose.delta,n=this.bonePose.result;this.bone._transformDirty=!0,2!==this._tweenState&&(this._tweenState=0),n.x=e.x+i.x*this._tweenProgress,n.y=e.y+i.y*this._tweenProgress},e})(t.BoneTimelineState);t.BoneTranslateTimelineState=r;var a=(function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return s(i,e),i.toString=function(){return"[class dragonBones.BoneRotateTimelineState]"},i.prototype._onArriveAtFrame=function(){if(e.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var i=this._animationData.frameFloatOffset+this._frameValueOffset+2*this._frameIndex,n=this._frameFloatArray,r=this.bonePose.current,s=this.bonePose.delta;r.rotation=n[i++],r.skew=n[i++],2===this._tweenState?(this._frameIndex===this._frameCount-1?(i=this._animationData.frameFloatOffset+this._frameValueOffset,s.rotation=t.Transform.normalizeRadian(n[i++]-r.rotation)):s.rotation=n[i++]-r.rotation,s.skew=n[i++]-r.skew):(s.rotation=0,s.skew=0)}else r=this.bonePose.current,s=this.bonePose.delta,r.rotation=0,r.skew=0,s.rotation=0,s.skew=0},i.prototype._onUpdateFrame=function(){e.prototype._onUpdateFrame.call(this);var t=this.bonePose.current,i=this.bonePose.delta,n=this.bonePose.result;this.bone._transformDirty=!0,2!==this._tweenState&&(this._tweenState=0),n.rotation=t.rotation+i.rotation*this._tweenProgress,n.skew=t.skew+i.skew*this._tweenProgress},i.prototype.fadeOut=function(){var e=this.bonePose.result;e.rotation=t.Transform.normalizeRadian(e.rotation),e.skew=t.Transform.normalizeRadian(e.skew)},i})(t.BoneTimelineState);t.BoneRotateTimelineState=a;var o=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.toString=function(){return"[class dragonBones.BoneScaleTimelineState]"},e.prototype._onArriveAtFrame=function(){if(t.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var e=this._animationData.frameFloatOffset+this._frameValueOffset+2*this._frameIndex,i=this._frameFloatArray,n=this.bonePose.current,r=this.bonePose.delta;n.scaleX=i[e++],n.scaleY=i[e++],2===this._tweenState?(this._frameIndex===this._frameCount-1&&(e=this._animationData.frameFloatOffset+this._frameValueOffset),r.scaleX=i[e++]-n.scaleX,r.scaleY=i[e++]-n.scaleY):(r.scaleX=0,r.scaleY=0)}else n=this.bonePose.current,r=this.bonePose.delta,n.scaleX=1,n.scaleY=1,r.scaleX=0,r.scaleY=0},e.prototype._onUpdateFrame=function(){t.prototype._onUpdateFrame.call(this);var e=this.bonePose.current,i=this.bonePose.delta,n=this.bonePose.result;this.bone._transformDirty=!0,2!==this._tweenState&&(this._tweenState=0),n.scaleX=e.scaleX+i.scaleX*this._tweenProgress,n.scaleY=e.scaleY+i.scaleY*this._tweenProgress},e})(t.BoneTimelineState);t.BoneScaleTimelineState=o;var l=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._current=[],e._delta=[],e._result=[],e}return s(e,t),e.toString=function(){return"[class dragonBones.SurfaceTimelineState]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.surface=null,this._frameFloatOffset=0,this._valueCount=0,this._deformCount=0,this._valueOffset=0,this._current.length=0,this._delta.length=0,this._result.length=0},e.prototype._onArriveAtFrame=function(){if(t.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var e=this._animationData.frameFloatOffset+this._frameValueOffset+this._frameIndex*this._valueCount,i=this._armature._armatureData.scale,n=this._frameFloatArray;if(2===this._tweenState){var r=e+this._valueCount;this._frameIndex===this._frameCount-1&&(r=this._animationData.frameFloatOffset+this._frameValueOffset);for(var s=0;s=0){var t=null!==this._timelineData?this._frameArray[this._frameOffset+1]:this.slot._slotData.displayIndex;this.slot.displayIndex!==t&&this.slot._setDisplayIndex(t,!0)}},e})(t.SlotTimelineState);t.SlotDislayTimelineState=c;var h=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._current=[0,0,0,0,0,0,0,0],e._delta=[0,0,0,0,0,0,0,0],e._result=[0,0,0,0,0,0,0,0],e}return s(e,t),e.toString=function(){return"[class dragonBones.SlotColorTimelineState]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this._dirty=!1},e.prototype._onArriveAtFrame=function(){if(t.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var e=this._dragonBonesData.intArray,i=this._frameIntArray,n=this._animationData.frameIntOffset+this._frameValueOffset+1*this._frameIndex,r=i[n];r<0&&(r+=65536),this._current[0]=e[r++],this._current[1]=e[r++],this._current[2]=e[r++],this._current[3]=e[r++],this._current[4]=e[r++],this._current[5]=e[r++],this._current[6]=e[r++],this._current[7]=e[r++],2===this._tweenState&&((r=this._frameIndex===this._frameCount-1?i[this._animationData.frameIntOffset+this._frameValueOffset]:i[n+1])<0&&(r+=65536),this._delta[0]=e[r++]-this._current[0],this._delta[1]=e[r++]-this._current[1],this._delta[2]=e[r++]-this._current[2],this._delta[3]=e[r++]-this._current[3],this._delta[4]=e[r++]-this._current[4],this._delta[5]=e[r++]-this._current[5],this._delta[6]=e[r++]-this._current[6],this._delta[7]=e[r++]-this._current[7])}else{var s=this.slot._slotData.color;this._current[0]=100*s.alphaMultiplier,this._current[1]=100*s.redMultiplier,this._current[2]=100*s.greenMultiplier,this._current[3]=100*s.blueMultiplier,this._current[4]=s.alphaOffset,this._current[5]=s.redOffset,this._current[6]=s.greenOffset,this._current[7]=s.blueOffset}},e.prototype._onUpdateFrame=function(){t.prototype._onUpdateFrame.call(this),this._dirty=!0,2!==this._tweenState&&(this._tweenState=0),this._result[0]=.01*(this._current[0]+this._delta[0]*this._tweenProgress),this._result[1]=.01*(this._current[1]+this._delta[1]*this._tweenProgress),this._result[2]=.01*(this._current[2]+this._delta[2]*this._tweenProgress),this._result[3]=.01*(this._current[3]+this._delta[3]*this._tweenProgress),this._result[4]=this._current[4]+this._delta[4]*this._tweenProgress,this._result[5]=this._current[5]+this._delta[5]*this._tweenProgress,this._result[6]=this._current[6]+this._delta[6]*this._tweenProgress,this._result[7]=this._current[7]+this._delta[7]*this._tweenProgress},e.prototype.fadeOut=function(){this._tweenState=0,this._dirty=!1},e.prototype.update=function(e){if(t.prototype.update.call(this,e),0!==this._tweenState||this._dirty){var i=this.slot._colorTransform;if(0!==this._animationState._fadeState||0!==this._animationState._subFadeState){if(i.alphaMultiplier!==this._result[0]||i.redMultiplier!==this._result[1]||i.greenMultiplier!==this._result[2]||i.blueMultiplier!==this._result[3]||i.alphaOffset!==this._result[4]||i.redOffset!==this._result[5]||i.greenOffset!==this._result[6]||i.blueOffset!==this._result[7]){var n=Math.pow(this._animationState._fadeProgress,4);i.alphaMultiplier+=(this._result[0]-i.alphaMultiplier)*n,i.redMultiplier+=(this._result[1]-i.redMultiplier)*n,i.greenMultiplier+=(this._result[2]-i.greenMultiplier)*n,i.blueMultiplier+=(this._result[3]-i.blueMultiplier)*n,i.alphaOffset+=(this._result[4]-i.alphaOffset)*n,i.redOffset+=(this._result[5]-i.redOffset)*n,i.greenOffset+=(this._result[6]-i.greenOffset)*n,i.blueOffset+=(this._result[7]-i.blueOffset)*n,this.slot._colorDirty=!0}}else this._dirty&&(this._dirty=!1,i.alphaMultiplier===this._result[0]&&i.redMultiplier===this._result[1]&&i.greenMultiplier===this._result[2]&&i.blueMultiplier===this._result[3]&&i.alphaOffset===this._result[4]&&i.redOffset===this._result[5]&&i.greenOffset===this._result[6]&&i.blueOffset===this._result[7]||(i.alphaMultiplier=this._result[0],i.redMultiplier=this._result[1],i.greenMultiplier=this._result[2],i.blueMultiplier=this._result[3],i.alphaOffset=this._result[4],i.redOffset=this._result[5],i.greenOffset=this._result[6],i.blueOffset=this._result[7],this.slot._colorDirty=!0))}},e})(t.SlotTimelineState);t.SlotColorTimelineState=h;var u=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._current=[],e._delta=[],e._result=[],e}return s(e,t),e.toString=function(){return"[class dragonBones.DeformTimelineState]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.vertexOffset=0,this._dirty=!1,this._frameFloatOffset=0,this._valueCount=0,this._deformCount=0,this._valueOffset=0,this._current.length=0,this._delta.length=0,this._result.length=0},e.prototype._onArriveAtFrame=function(){if(t.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var e=this._animationData.frameFloatOffset+this._frameValueOffset+this._frameIndex*this._valueCount,i=this._armature._armatureData.scale,n=this._frameFloatArray;if(2===this._tweenState){var r=e+this._valueCount;this._frameIndex===this._frameCount-1&&(r=this._animationData.frameFloatOffset+this._frameValueOffset);for(var s=0;s=0&&(this._floats[2]=this._floats[0]+this._floats[1]*this._tweenProgress),this._floats[5]=this._floats[3]+this._floats[4]*this._tweenProgress},e.prototype.blend=function(t){var e=this.animationState,i=e._blendState.blendWeight;2===t?(e.weight+=this._floats[5]*i,e.currentTime+=this._floats[2]*i):(e.weight=this._floats[5]*i,e.currentTime=this._floats[2]*i)},e})(t.TweenTimelineState);t.AnimationTimelineState=f})(r||(r={})),(function(t){var e=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.actionDataToInstance=function(t,i,n){0===t.type?i.type=e.FRAME_EVENT:i.type=10===t.type?e.FRAME_EVENT:e.SOUND_EVENT,i.name=t.name,i.armature=n,i.actionData=t,i.data=t.data,null!==t.bone&&(i.bone=n.getBone(t.bone.name)),null!==t.slot&&(i.slot=n.getSlot(t.slot.name))},e.toString=function(){return"[class dragonBones.EventObject]"},e.prototype._onClear=function(){this.time=0,this.type="",this.name="",this.armature=null,this.bone=null,this.slot=null,this.animationState=null,this.actionData=null,this.data=null},e.START="start",e.LOOP_COMPLETE="loopComplete",e.COMPLETE="complete",e.FADE_IN="fadeIn",e.FADE_IN_COMPLETE="fadeInComplete",e.FADE_OUT="fadeOut",e.FADE_OUT_COMPLETE="fadeOutComplete",e.FRAME_EVENT="frameEvent",e.SOUND_EVENT="soundEvent",e})(t.BaseObject);t.EventObject=e})(r||(r={})),(function(t){var e=(function(){function e(){}return e._getArmatureType=function(t){switch(t.toLowerCase()){case"stage":return 2;case"armature":return 0;case"movieclip":return 1;default:return 0}},e._getBoneType=function(t){switch(t.toLowerCase()){case"bone":return 0;case"surface":return 1;default:return 0}},e._getDisplayType=function(t){switch(t.toLowerCase()){case"image":return 0;case"mesh":return 2;case"armature":return 1;case"boundingbox":return 3;case"path":return 4;default:return 0}},e._getBoundingBoxType=function(t){switch(t.toLowerCase()){case"rectangle":return 0;case"ellipse":return 1;case"polygon":return 2;default:return 0}},e._getActionType=function(t){switch(t.toLowerCase()){case"play":return 0;case"frame":return 10;case"sound":return 11;default:return 0}},e._getBlendMode=function(t){switch(t.toLowerCase()){case"normal":return 0;case"add":return 1;case"alpha":return 2;case"darken":return 3;case"difference":return 4;case"erase":return 5;case"hardlight":return 6;case"invert":return 7;case"layer":return 8;case"lighten":return 9;case"multiply":return 10;case"overlay":return 11;case"screen":return 12;case"subtract":return 13;default:return 0}},e._getPositionMode=function(t){switch(t.toLocaleLowerCase()){case"percent":return 1;case"fixed":return 0;default:return 1}},e._getSpacingMode=function(t){switch(t.toLocaleLowerCase()){case"length":return 0;case"percent":return 2;case"fixed":return 1;default:return 0}},e._getRotateMode=function(t){switch(t.toLocaleLowerCase()){case"tangent":return 0;case"chain":return 1;case"chainscale":return 2;default:return 0}},e.parseDragonBonesData=function(e){return console.warn("Deprecated."),e instanceof ArrayBuffer?t.BinaryDataParser.getInstance().parseDragonBonesData(e):t.ObjectDataParser.getInstance().parseDragonBonesData(e)},e.parseTextureAtlasData=function(i,n){void 0===n&&(n=1),console.warn("\u5df2\u5e9f\u5f03");for(var r={},s=i[e.SUB_TEXTURE],a=0,o=s.length;a255)return encodeURI(r);return r}return String(r)}return n},n.prototype._getCurvePoint=function(t,e,i,n,r,s,a,o,l,c){var h=1-l,u=h*h,_=l*l,f=h*u,d=3*l*u,p=3*h*_,m=l*_;c.x=f*t+d*i+p*r+m*a,c.y=f*e+d*n+p*s+m*o},n.prototype._samplingEasingCurve=function(t,e){for(var i=t.length,n=-2,r=0,s=e.length;r=0&&n+61e-4;){var v=.5*(y+m);this._getCurvePoint(l,c,h,u,_,f,d,p,v,this._helpPoint),a-this._helpPoint.x>0?m=v:y=v}e[r]=this._helpPoint.y}},n.prototype._parseActionDataInFrame=function(e,i,n,r){t.DataParser.EVENT in e&&this._mergeActionFrame(e[t.DataParser.EVENT],i,10,n,r),t.DataParser.SOUND in e&&this._mergeActionFrame(e[t.DataParser.SOUND],i,11,n,r),t.DataParser.ACTION in e&&this._mergeActionFrame(e[t.DataParser.ACTION],i,0,n,r),t.DataParser.EVENTS in e&&this._mergeActionFrame(e[t.DataParser.EVENTS],i,10,n,r),t.DataParser.ACTIONS in e&&this._mergeActionFrame(e[t.DataParser.ACTIONS],i,0,n,r)},n.prototype._mergeActionFrame=function(e,n,r,s,a){for(var o=t.DragonBones.webAssembly?this._armature.actions.size():this._armature.actions.length,l=this._parseActionData(e,r,s,a),c=0,h=null,u=0,_=l;u<_.length;u++){var f=_[u];this._armature.addAction(f,!1)}0===this._actionFrames.length&&((h=new i).frameStart=0,this._actionFrames.push(h),h=null);for(var d=0,p=this._actionFrames;dn)break;c++}null===h&&((h=new i).frameStart=n,this._actionFrames.splice(c+1,0,h));for(var y=0;y0){var f=r.getBone(u);null!==f?_.parent=f:(u in this._cacheBones||(this._cacheBones[u]=[]),this._cacheBones[u].push(_))}if(_.name in this._cacheBones){for(var d=0,p=this._cacheBones[_.name];d0&&null!==i.parent?(s.root=i.parent,s.bone=i):(s.root=i,s.bone=null),s},n.prototype._parsePathConstraint=function(e){var i=this._armature.getSlot(n._getString(e,t.DataParser.TARGET,""));if(null===i)return null;var r=this._armature.defaultSkin;if(null===r)return null;var s=r.getDisplay(i.name,n._getString(e,t.DataParser.TARGET_DISPLAY,i.name));if(null===s||!(s instanceof t.PathDisplayData))return null;var a=e[t.DataParser.BONES];if(null===a||0===a.length)return null;var o=t.BaseObject.borrowObject(t.PathConstraintData);o.name=n._getString(e,t.DataParser.NAME,""),o.type=1,o.pathSlot=i,o.pathDisplayData=s,o.target=i.parent,o.positionMode=t.DataParser._getPositionMode(n._getString(e,t.DataParser.POSITION_MODE,"")),o.spacingMode=t.DataParser._getSpacingMode(n._getString(e,t.DataParser.SPACING_MODE,"")),o.rotateMode=t.DataParser._getRotateMode(n._getString(e,t.DataParser.ROTATE_MODE,"")),o.position=n._getNumber(e,t.DataParser.POSITION,0),o.spacing=n._getNumber(e,t.DataParser.SPACING,0),o.rotateOffset=n._getNumber(e,t.DataParser.ROTATE_OFFSET,0),o.rotateMix=n._getNumber(e,t.DataParser.ROTATE_MIX,1),o.translateMix=n._getNumber(e,t.DataParser.TRANSLATE_MIX,1);for(var l=0,c=a;l0?r:i,this._parsePivot(e,o);break;case 1:var l=a=t.BaseObject.borrowObject(t.ArmatureDisplayData);if(l.name=i,l.path=r.length>0?r:i,l.inheritAnimation=!0,t.DataParser.ACTIONS in e)for(var c=0,h=this._parseActionData(e[t.DataParser.ACTIONS],0,null,null);c0?r:i,p.vertices.data=this._data,t.DataParser.SHARE in e?(this._cacheRawMeshes.push(e),this._cacheMeshes.push(p)):this._parseMesh(e,p),t.DataParser.GLUE_WEIGHTS in e&&t.DataParser.GLUE_MESHES in e&&(this._cacheRawMeshes.push(e),this._cacheMeshes.push(p));break;case 3:var m=this._parseBoundingBox(e);if(null!==m){var y=a=t.BaseObject.borrowObject(t.BoundingBoxDisplayData);y.name=i,y.path=r.length>0?r:i,y.boundingBox=m}break;case 4:var v=e[t.DataParser.LENGTHS],g=a=t.BaseObject.borrowObject(t.PathDisplayData);g.closed=n._getBoolean(e,t.DataParser.CLOSED,!1),g.constantSpeed=n._getBoolean(e,t.DataParser.CONSTANT_SPEED,!1),g.name=i,g.path=r.length>0?r:i,g.vertices.data=this._data,g.curveLengths.length=v.length;for(var b=0,A=v.length;bi.width&&(i.width=l),ci.height&&(i.height=c))}i.width-=i.x,i.height-=i.y}else console.warn("Data error.\n Please reexport DragonBones Data to fixed the bug.");return i},n.prototype._parseAnimation=function(e){var i=t.BaseObject.borrowObject(t.AnimationData);if(i.frameCount=Math.max(n._getNumber(e,t.DataParser.DURATION,1),1),i.playTimes=n._getNumber(e,t.DataParser.PLAY_TIMES,1),i.duration=i.frameCount/this._armature.frameRate,i.fadeInTime=n._getNumber(e,t.DataParser.FADE_IN_TIME,0),i.scale=n._getNumber(e,t.DataParser.SCALE,1),i.name=n._getString(e,t.DataParser.NAME,t.DataParser.DEFAULT_NAME),0===i.name.length&&(i.name=t.DataParser.DEFAULT_NAME),i.frameIntOffset=this._frameIntArray.length,i.frameFloatOffset=this._frameFloatArray.length,i.frameOffset=this._frameArray.length,this._animation=i,t.DataParser.FRAME in e){var r=e[t.DataParser.FRAME],s=r.length;if(s>0)for(var a=0,o=0;a0&&(this._animation.actionTimeline=this._parseTimeline(null,this._actionFrames,"",0,!1,!1,0,this._parseActionFrame),this._actionFrames.length=0),this._animation=null,i},n.prototype._parseTimeline=function(e,r,s,a,o,l,c,h){if(null!==e&&s.length>0&&s in e&&(r=e[s]),null===r)return null;var u=r.length;if(0===u)return null;var _=this._frameIntArray.length,f=this._frameFloatArray.length,d=t.BaseObject.borrowObject(t.TimelineData),p=this._timelineArray.length;if(this._timelineArray.length+=5+u,null!==e?(this._timelineArray[p+0]=Math.round(100*n._getNumber(e,t.DataParser.SCALE,1)),this._timelineArray[p+1]=Math.round(100*n._getNumber(e,t.DataParser.OFFSET,0))):(this._timelineArray[p+0]=100,this._timelineArray[p+1]=0),this._timelineArray[p+2]=u,this._timelineArray[p+3]=c,this._timelineArray[p+4]=o?_-this._animation.frameIntOffset:l?f-this._animation.frameFloatOffset:0,this._timeline=d,d.type=a,d.offset=p,1===u)d.frameIndicesOffset=-1,this._timelineArray[p+5+0]=h.call(this,r[0],0,0)-this._animation.frameOffset;else{var m=this._animation.frameCount+1,y=this._data.frameIndices,v=0;t.DragonBones.webAssembly?(v=y.size(),y.resize(v+m,0)):(v=y.length,y.length+=m),d.frameIndicesOffset=v;for(var g=0,b=0,A=0,x=0;g0)if(t.DataParser.CURVE in e){var a=r+1;this._helpArray.length=a,this._samplingEasingCurve(e[t.DataParser.CURVE],this._helpArray),this._frameArray.length+=2+this._helpArray.length,this._frameArray[s+1]=2,this._frameArray[s+2]=a;for(var o=0;o0){for(var a=this._armature.sortedSlots.length,o=new Array(a-s.length/2),l=new Array(a),c=0;c0?s>=this._prevRotation:s<=this._prevRotation)&&(this._prevClockwise=this._prevClockwise>0?this._prevClockwise-1:this._prevClockwise+1),s=this._prevRotation+s-this._prevRotation+t.Transform.PI_D*this._prevClockwise)),this._prevClockwise=n._getNumber(e,t.DataParser.TWEEN_ROTATE,0),this._prevRotation=s;var a=this._parseTweenFrame(e,i,r),o=this._frameFloatArray.length;return this._frameFloatArray.length+=6,this._frameFloatArray[o++]=this._helpTransform.x,this._frameFloatArray[o++]=this._helpTransform.y,this._frameFloatArray[o++]=s,this._frameFloatArray[o++]=this._helpTransform.skew,this._frameFloatArray[o++]=this._helpTransform.scaleX,this._frameFloatArray[o++]=this._helpTransform.scaleY,this._parseActionDataInFrame(e,i,this._bone,this._slot),a},n.prototype._parseBoneTranslateFrame=function(e,i,r){var s=this._parseTweenFrame(e,i,r),a=this._frameFloatArray.length;return this._frameFloatArray.length+=2,this._frameFloatArray[a++]=n._getNumber(e,t.DataParser.X,0),this._frameFloatArray[a++]=n._getNumber(e,t.DataParser.Y,0),s},n.prototype._parseBoneRotateFrame=function(e,i,r){var s=n._getNumber(e,t.DataParser.ROTATE,0)*t.Transform.DEG_RAD;0!==i&&(0===this._prevClockwise?s=this._prevRotation+t.Transform.normalizeRadian(s-this._prevRotation):((this._prevClockwise>0?s>=this._prevRotation:s<=this._prevRotation)&&(this._prevClockwise=this._prevClockwise>0?this._prevClockwise-1:this._prevClockwise+1),s=this._prevRotation+s-this._prevRotation+t.Transform.PI_D*this._prevClockwise)),this._prevClockwise=n._getNumber(e,t.DataParser.CLOCK_WISE,0),this._prevRotation=s;var a=this._parseTweenFrame(e,i,r),o=this._frameFloatArray.length;return this._frameFloatArray.length+=2,this._frameFloatArray[o++]=s,this._frameFloatArray[o++]=n._getNumber(e,t.DataParser.SKEW,0)*t.Transform.DEG_RAD,a},n.prototype._parseBoneScaleFrame=function(e,i,r){var s=this._parseTweenFrame(e,i,r),a=this._frameFloatArray.length;return this._frameFloatArray.length+=2,this._frameFloatArray[a++]=n._getNumber(e,t.DataParser.X,1),this._frameFloatArray[a++]=n._getNumber(e,t.DataParser.Y,1),s},n.prototype._parseSurfaceFrame=function(e,i,r){var s=this._frameFloatArray.length,a=this._parseTweenFrame(e,i,r),o=e[t.DataParser.VERTICES],l=n._getNumber(e,t.DataParser.OFFSET,0),c=this._surface.vertices.length/2,h=0,u=0;this._frameFloatArray.length+=2*c;for(var _=0;_<2*c;_+=2)h=_=o.length?0:o[_-l],u=_+1=o.length?0:o[_+1-l],this._frameFloatArray[s+_]=h,this._frameFloatArray[s+_+1]=u;if(0===i){var f=this._frameIntArray.length;this._frameIntArray.length+=5,this._frameIntArray[f+0]=0,this._frameIntArray[f+1]=this._frameFloatArray.length-s,this._frameIntArray[f+2]=this._frameFloatArray.length-s,this._frameIntArray[f+3]=0,this._frameIntArray[f+4]=s-this._animation.frameFloatOffset,this._timelineArray[this._timeline.offset+3]=f-this._animation.frameIntOffset}return a},n.prototype._parseSlotDisplayFrame=function(e,i,r){var s=this._parseFrame(e,i,r);return this._frameArray.length+=1,t.DataParser.VALUE in e?this._frameArray[s+1]=n._getNumber(e,t.DataParser.VALUE,0):this._frameArray[s+1]=n._getNumber(e,t.DataParser.DISPLAY_INDEX,0),this._parseActionDataInFrame(e,i,this._slot.parent,this._slot),s},n.prototype._parseSlotColorFrame=function(e,i,n){var r=this._parseTweenFrame(e,i,n),s=-1;if(t.DataParser.VALUE in e||t.DataParser.COLOR in e){var a=t.DataParser.VALUE in e?e[t.DataParser.VALUE]:e[t.DataParser.COLOR];for(var o in a){this._parseColorTransform(a,this._helpColorTransform),s=this._intArray.length,this._intArray.length+=8,this._intArray[s++]=Math.round(100*this._helpColorTransform.alphaMultiplier),this._intArray[s++]=Math.round(100*this._helpColorTransform.redMultiplier),this._intArray[s++]=Math.round(100*this._helpColorTransform.greenMultiplier),this._intArray[s++]=Math.round(100*this._helpColorTransform.blueMultiplier),this._intArray[s++]=Math.round(this._helpColorTransform.alphaOffset),this._intArray[s++]=Math.round(this._helpColorTransform.redOffset),this._intArray[s++]=Math.round(this._helpColorTransform.greenOffset),this._intArray[s++]=Math.round(this._helpColorTransform.blueOffset),s-=8;break}}s<0&&(this._defaultColorOffset<0&&(this._defaultColorOffset=s=this._intArray.length,this._intArray.length+=8,this._intArray[s++]=100,this._intArray[s++]=100,this._intArray[s++]=100,this._intArray[s++]=100,this._intArray[s++]=0,this._intArray[s++]=0,this._intArray[s++]=0,this._intArray[s++]=0),s=this._defaultColorOffset);var l=this._frameIntArray.length;return this._frameIntArray.length+=1,this._frameIntArray[l]=s,r},n.prototype._parseSlotFFDFrame=function(e,i,r){var s=this._frameFloatArray.length,a=this._parseTweenFrame(e,i,r),o=t.DataParser.VERTICES in e?e[t.DataParser.VERTICES]:null,l=n._getNumber(e,t.DataParser.OFFSET,0),c=this._intArray[this._mesh.vertices.offset+0],h=this._mesh.parent.name+"_"+this._slot.name+"_"+this._mesh.name,u=this._mesh.vertices.weight,_=0,f=0,d=0,p=0;if(null!==u){var m=this._weightSlotPose[h];this._helpMatrixA.copyFromArray(m,0),this._frameFloatArray.length+=2*u.count,d=u.offset+2+u.bones.length}else this._frameFloatArray.length+=2*c;for(var y=0;y<2*c;y+=2)if(null===o?(_=0,f=0):(_=y=o.length?0:o[y-l],f=y+1=o.length?0:o[y+1-l]),null!==u){var v=this._weightBonePoses[h],g=this._intArray[d++];this._helpMatrixA.transformPoint(_,f,this._helpPoint,!0),_=this._helpPoint.x,f=this._helpPoint.y;for(var b=0;b=0||t.DataParser.DATA_VERSIONS.indexOf(s)>=0){var a=t.BaseObject.borrowObject(t.DragonBonesData);if(a.version=r,a.name=n._getString(e,t.DataParser.NAME,""),a.frameRate=n._getNumber(e,t.DataParser.FRAME_RATE,24),0===a.frameRate&&(a.frameRate=24),t.DataParser.ARMATURE in e){this._data=a,this._parseArray(e);for(var o=0,l=e[t.DataParser.ARMATURE];o0&&(a.stage=a.getArmature(a.armatureNames[0])),this._data=null}return t.DataParser.TEXTURE_ATLAS in e&&(this._rawTextureAtlases=e[t.DataParser.TEXTURE_ATLAS]),a}return console.assert(!1,"Nonsupport data version: "+r+"\nPlease convert DragonBones data to support version.\nRead more: https://github.com/DragonBones/Tools/"),null},n.prototype.parseTextureAtlasData=function(e,i,r){if(void 0===r&&(r=1),console.assert(void 0!==e),null===e){if(null===this._rawTextureAtlases||0===this._rawTextureAtlases.length)return!1;var s=this._rawTextureAtlases[this._rawTextureAtlasIndex++];return this.parseTextureAtlasData(s,i,r),this._rawTextureAtlasIndex>=this._rawTextureAtlases.length&&(this._rawTextureAtlasIndex=0,this._rawTextureAtlases=null),!0}if(i.width=n._getNumber(e,t.DataParser.WIDTH,0),i.height=n._getNumber(e,t.DataParser.HEIGHT,0),i.scale=1===r?1/n._getNumber(e,t.DataParser.SCALE,1):r,i.name=n._getString(e,t.DataParser.NAME,""),i.imagePath=n._getString(e,t.DataParser.IMAGE_PATH,""),t.DataParser.SUB_TEXTURE in e)for(var a=e[t.DataParser.SUB_TEXTURE],o=0,l=a.length;o0&&_>0&&(h.frame=t.TextureData.createRectangle(),h.frame.x=n._getNumber(c,t.DataParser.FRAME_X,0),h.frame.y=n._getNumber(c,t.DataParser.FRAME_Y,0),h.frame.width=u,h.frame.height=_),i.addTexture(h)}return!0},n.getInstance=function(){return null===n._objectDataParserInstance&&(n._objectDataParserInstance=new n),n._objectDataParserInstance},n._objectDataParserInstance=null,n})(t.DataParser);t.ObjectDataParser=e;var i=function(){this.frameStart=0,this.actions=[]};t.ActionFrame=i})(r||(r={})),(function(t){var e=(function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return s(i,e),i.prototype._inRange=function(t,e,i){return e<=t&&t<=i},i.prototype._decodeUTF8=function(t){for(var e,i=0,n="",r=0,s=0,a=0,o=0;t.length>i;){var l=t[i++];if(-1===l)e=0!==s?65533:-1;else if(0===s)this._inRange(l,0,127)?e=l:(this._inRange(l,194,223)?(s=1,o=128,r=l-192):this._inRange(l,224,239)?(s=2,o=2048,r=l-224):this._inRange(l,240,244)&&(s=3,o=65536,r=l-240),r*=Math.pow(64,s),e=null);else if(this._inRange(l,128,191))if(a+=1,r+=(l-128)*Math.pow(64,s-a),a!==s)e=null;else{var c=r,h=o;r=0,s=0,a=0,o=0,e=this._inRange(c,h,1114111)&&!this._inRange(c,55296,57343)?c:l}else r=0,s=0,a=0,o=0,i--,e=l;null!==e&&-1!==e&&(e<=65535?e>0&&(n+=String.fromCharCode(e)):(e-=65536,n+=String.fromCharCode(55296+(e>>10&1023)),n+=String.fromCharCode(56320+(1023&e))))}return n},i.prototype._getUTF16Key=function(t){for(var e=0,i=t.length;e255)return encodeURI(t);return t},i.prototype._parseBinaryTimeline=function(e,i,n){void 0===n&&(n=null);var r=null!==n?n:t.BaseObject.borrowObject(t.TimelineData);r.type=e,r.offset=i,this._timeline=r;var s=this._timelineArrayBuffer[r.offset+2];if(1===s)r.frameIndicesOffset=-1;else{var a=0,o=this._animation.frameCount+1,l=this._data.frameIndices;t.DragonBones.webAssembly?(a=l.size(),l.resize(a+o,0)):(a=l.length,l.length+=o),r.frameIndicesOffset=a;for(var c=0,h=0,u=0,_=0;c=0){var r=t.BaseObject.borrowObject(t.WeightData),s=this._intArrayBuffer[i.offset+0],a=this._intArrayBuffer[n+0];r.offset=n;for(var o=0;o0&&e in this._dragonBonesDataMap&&(a=(s=this._dragonBonesDataMap[e]).getArmature(i)),null===a&&(0===e.length||this.autoSearch))for(var o in this._dragonBonesDataMap)if(s=this._dragonBonesDataMap[o],(0===e.length||s.autoSearch)&&null!==(a=s.getArmature(i))){e=o;break}if(null!==a){if(t.dataName=e,t.textureAtlasName=r,t.data=s,t.armature=a,t.skin=null,n.length>0&&(t.skin=a.getSkin(n),null===t.skin&&this.autoSearch))for(var o in this._dragonBonesDataMap){var l=this._dragonBonesDataMap[o].getArmature(n);if(null!==l){t.skin=l.defaultSkin;break}}return null===t.skin&&(t.skin=a.defaultSkin),!0}return!1},e.prototype._buildBones=function(e,i){for(var n=0,r=e.armature.sortedBones;n0&&(o.texture=this._getTextureData(e.textureAtlasName,i.path)),null===o.texture&&(o.texture=this._getTextureData(s,i.path)),a=null!==n&&2===n.type&&this._isSupportMesh()?r.meshDisplay:r.rawDisplay;break;case 2:var l=i;null!==e&&e.textureAtlasName.length>0&&(l.texture=this._getTextureData(e.textureAtlasName,l.path)),null===l.texture&&(l.texture=this._getTextureData(s,l.path)),a=this._isSupportMesh()?r.meshDisplay:r.rawDisplay;break;case 1:var c=i,h=this._buildChildArmature(e,r,i);if(null!==h){if(h.inheritAnimation=c.inheritAnimation,!h.inheritAnimation){var u=c.actions.length>0?c.actions:h.armatureData.defaultActions;if(u.length>0)for(var _=0,f=u;_=0)){var h=i.getDisplays(c.name);if(h||(null!==a&&i!==a&&(h=a.getDisplays(c.name)),h)){var u=t.DragonBones.webAssembly?h.size():h.length,_=c.displayList;_.length=u;for(var f=0,d=u;f>>0)+(M<<16)+(E<<8)+w}var W=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,a(e,i);var s=n.prototype;return s.updateRenderData=function(){},s.realTimeTraverse=function(t,e,i){for(var n,s,a,o,l,c,h,u,_,y,w=t._slots,E=0,M=w.length;E>2,c=u._indices,x=c.length,y=d.request(A,x),g=y.indiceOffset,v=y.byteOffset>>2,b=y.vertexOffset,n=d._vData,s=d._iData,a=d._uintVData,P=_[0],I=_[4],R=_[12],O=_[1],L=_[5],F=_[13];for(var D=0,B=l.length;D>2,n=d._vData,r=d._iData,s=d._uintVData;for(var U=g,W=g+x;U=N&&(H(V=D[M++],1),N=V.vfOffset),s[K]=S}}}},s.fillBuffers=function(t,e){t.node._renderFlag|=N.FLAG_UPDATE_RENDER_DATA;var i=t._armature;if(i){f=!0,u=t.premultipliedAlpha,p=t.node,d=e._meshBuffer,m=e,y=t,B=0;var n=p._color;o=n.r/255,l=n.g/255,c=n.b/255,h=n.a/255,4294967295!==n._val&&(B|=1);var r=void 0;if(y.enableBatch&&(r=p._worldMatrix,f=!1,B|=16),t.isAnimationCached())this.cacheTraverse(t._curFrame,r);else{this.realTimeTraverse(i,r,1);var s=t._debugDraw;if(t.debugBones&&s){s.clear(),s.lineWidth=5,s.strokeColor=z,s.fillColor=G;for(var a=i.getBones(),_=0,v=a.length;_":0}),u=cc.Enum({REALTIME:0,SHARED_CACHE:1,PRIVATE_CACHE:2});sp.Skeleton=cc.Class({name:"sp.Skeleton",extends:n,editor:!1,statics:{AnimationCacheMode:u},properties:{paused:{default:!1,visible:!1},skeletonData:{default:null,type:sp.SkeletonData,notify:function(){this.defaultSkin="",this.defaultAnimation="",this._updateSkeletonData()},tooltip:!1},defaultSkin:{default:"",visible:!1},defaultAnimation:{default:"",visible:!1},animation:{get:function(){if(this.isAnimationCached())return this._animationName;var t=this.getCurrent(0);return t&&t.animation.name||""},set:function(t){this.defaultAnimation=t,t?this.setAnimation(0,t,this.loop):this.isAnimationCached()||(this.clearTrack(0),this.setToSetupPose())},visible:!1},_defaultSkinIndex:{get:function(){if(this.skeletonData){var t=this.skeletonData.getSkinsEnum();if(t)if(""===this.defaultSkin){if(t.hasOwnProperty(0))return this._defaultSkinIndex=0,0}else{var e=t[this.defaultSkin];if(void 0!==e)return e}}return 0},set:function(t){var e;if(this.skeletonData&&(e=this.skeletonData.getSkinsEnum()),!e)return cc.errorID("",this.name);var i=e[t];void 0!==i?(this.defaultSkin=i,this.setSkin(this.defaultSkin)):cc.errorID(7501,this.name)},type:c,visible:!0,animatable:!1,displayName:"Default Skin",tooltip:!1},_animationIndex:{get:function(){var t=this.animation;if(this.skeletonData&&t){var e=this.skeletonData.getAnimsEnum();if(e){var i=e[t];if(void 0!==i)return i}}return 0},set:function(t){if(0!==t){var e;if(this.skeletonData&&(e=this.skeletonData.getAnimsEnum()),!e)return cc.errorID(7502,this.name);var i=e[t];void 0!==i?this.animation=i:cc.errorID(7503,this.name)}else this.animation=""},type:h,visible:!0,animatable:!1,displayName:"Animation",tooltip:!1},_preCacheMode:-1,_cacheMode:u.REALTIME,_defaultCacheMode:{default:0,type:u,notify:function(){this.setAnimationCacheMode(this._defaultCacheMode)},editorOnly:!0,visible:!0,animatable:!1,displayName:"Animation Cache Mode",tooltip:!1},loop:{default:!0,tooltip:!1},premultipliedAlpha:{default:!0,tooltip:!1},timeScale:{default:1,tooltip:!1},debugSlots:{default:!1,editorOnly:!0,tooltip:!1,notify:function(){this._updateDebugDraw()}},debugBones:{default:!1,editorOnly:!0,tooltip:!1,notify:function(){this._updateDebugDraw()}},debugMesh:{default:!1,editorOnly:!0,tooltip:!1,notify:function(){this._updateDebugDraw()}},useTint:{default:!1,tooltip:!1,notify:function(){this._updateUseTint()}},enableBatch:{default:!1,notify:function(){this._updateBatch()},tooltip:!1},_accTime:0,_playCount:0,_frameCache:null,_curFrame:null,_skeletonCache:null,_animationName:"",_animationQueue:[],_headAniInfo:null,_playTimes:0,_isAniComplete:!0},ctor:function(){this._effectDelegate=null,this._skeleton=null,this._rootBone=null,this._listener=null,this._materialCache={},this._debugRenderer=null,this._startSlotIndex=-1,this._endSlotIndex=-1,this._startEntry={animation:{name:""},trackIndex:0},this._endEntry={animation:{name:""},trackIndex:0},this.attachUtil=new l},_getDefaultMaterial:function(){return cc.Material.getBuiltinMaterial("2d-spine")},_updateMaterial:function(){var t=this.useTint||this.isAnimationCached()&&!0,e=this.getMaterial(0);if(e){e.define("USE_TINT",t),e.define("CC_USE_MODEL",!this.enableBatch);var i=this.premultipliedAlpha?cc.gfx.BLEND_ONE:cc.gfx.BLEND_SRC_ALPHA,n=cc.gfx.BLEND_ONE_MINUS_SRC_ALPHA;e.setBlend(!0,cc.gfx.BLEND_FUNC_ADD,i,i,cc.gfx.BLEND_FUNC_ADD,n,n)}this._materialCache={}},disableRender:function(){this._super(),this.node._renderFlag&=~a},markForRender:function(t){this._super(t),t?this.node._renderFlag|=a:this.node._renderFlag&=~a},_updateUseTint:function(){var t=this.getMaterial(0);if(t){var e=this.useTint||this.isAnimationCached()&&!0;t.define("USE_TINT",e)}this._materialCache={}},_updateBatch:function(){var t=this.getMaterial(0);t&&t.define("CC_USE_MODEL",!this.enableBatch),this._materialCache={}},_validateRender:function(){var t=this.skeletonData;t&&t.isTexturesLoaded()?this._super():this.disableRender()},setSkeletonData:function(t){if(null!=t.width&&null!=t.height&&this.node.setContentSize(t.width,t.height),this._cacheMode===u.SHARED_CACHE?this._skeletonCache=o.sharedCache:this._cacheMode===u.PRIVATE_CACHE&&(this._skeletonCache=new o,this._skeletonCache.enablePrivateMode()),this.isAnimationCached()){(this.debugBones||this.debugSlots)&&cc.warn("Debug bones or slots is invalid in cached mode");var e=this._skeletonCache.getSkeletonCache(this.skeletonData._uuid,t);this._skeleton=e.skeleton,this._clipper=e.clipper,this._rootBone=this._skeleton.getRootBone()}else this._skeleton=new r.Skeleton(t),this._clipper=new r.SkeletonClipping,this._rootBone=this._skeleton.getRootBone();this.markForRender(!0)},setSlotsRange:function(t,e){this.isAnimationCached()?cc.warn("Slots visible range can not be modified in cached mode."):(this._startSlotIndex=t,this._endSlotIndex=e)},setAnimationStateData:function(t){if(this.isAnimationCached())cc.warn("'setAnimationStateData' interface can not be invoked in cached mode.");else{var e=new r.AnimationState(t);this._listener&&(this._state&&this._state.removeListener(this._listener),e.addListener(this._listener)),this._state=e}},__preload:function(){this._super();for(var t=this.node.children,e=0,i=t.length;ethis._headAniInfo.delay){var n=this._headAniInfo;this._headAniInfo=null,this.setAnimation(0,n.animationName,n.loop)}return}this._updateCache(t)}else this._updateRealtime(t)},_emitCacheCompleteEvent:function(){this._listener&&(this._endEntry.animation.name=this._animationName,this._listener.complete&&this._listener.complete(this._endEntry),this._listener.end&&this._listener.end(this._endEntry))},_updateCache:function(t){var e=this._frameCache;if(e.isInited()){var i=e.frames,n=o.FrameTime;0==this._accTime&&0==this._playCount&&(this._startEntry.animation.name=this._animationName,this._listener&&this._listener.start&&this._listener.start(this._startEntry)),this._accTime+=t;var r=Math.floor(this._accTime/n);if(e.isCompleted||e.updateToFrame(r),e.isCompleted&&r>=i.length){if(this._playCount++,this._playTimes>0&&this._playCount>=this._playTimes)return this._curFrame=i[i.length-1],this._accTime=0,this._playCount=0,this._isAniComplete=!0,void this._emitCacheCompleteEvent();this._accTime=0,r=0,this._emitCacheCompleteEvent()}this._curFrame=i[r]}},_updateRealtime:function(t){var e=this._skeleton,i=this._state;e&&(e.update(t),i&&(i.update(t),i.apply(e)))},setVertexEffectDelegate:function(t){this._effectDelegate=t},updateWorldTransform:function(){this.isAnimationCached()&&this._skeleton&&this._skeleton.updateWorldTransform()},setToSetupPose:function(){this._skeleton&&this._skeleton.setToSetupPose()},setBonesToSetupPose:function(){this._skeleton&&this._skeleton.setBonesToSetupPose()},setSlotsToSetupPose:function(){this._skeleton&&this._skeleton.setSlotsToSetupPose()},updateAnimationCache:function(t){if(this.isAnimationCached()){var e=this.skeletonData._uuid;this._skeletonCache&&this._skeletonCache.updateAnimationCache(e,t)}},invalidAnimationCache:function(){this.isAnimationCached()&&this._skeletonCache&&this._skeletonCache.invalidAnimationCache(this.skeletonData._uuid)},findBone:function(t){return this._skeleton?this._skeleton.findBone(t):null},findSlot:function(t){return this._skeleton?this._skeleton.findSlot(t):null},setSkin:function(t){this._skeleton&&(this._skeleton.setSkinByName(t),this._skeleton.setSlotsToSetupPose()),this.invalidAnimationCache()},getAttachment:function(t,e){return this._skeleton?this._skeleton.getAttachmentByName(t,e):null},setAttachment:function(t,e){this._skeleton&&this._skeleton.setAttachment(t,e),this.invalidAnimationCache()},getTextureAtlas:function(t){return t.region},setMix:function(t,e,i){this._state&&this._state.data.setMix(t,e,i)},setAnimation:function(t,e,i){if(this._playTimes=i?0:1,this._animationName=e,this.isAnimationCached()){if(0!==t&&cc.warn("Track index can not greater than 0 in cached mode."),!this._skeletonCache)return null;var n=this._skeletonCache.getAnimationCache(this.skeletonData._uuid,e);n||(n=this._skeletonCache.initAnimationCache(this.skeletonData._uuid,e)),n&&(this._isAniComplete=!1,this._accTime=0,this._playCount=0,this._frameCache=n,this.attachUtil._hasAttachedNode()&&this._frameCache.enableCacheAttachedInfo(),this._frameCache.updateToFrame(0),this._curFrame=this._frameCache.frames[0])}else if(this._skeleton){var r=this._skeleton.data.findAnimation(e);if(!r)return cc.logID(7509,e),null;var s=this._state.setAnimationWith(t,r,i);return this._state.apply(this._skeleton),s}return null},addAnimation:function(t,e,i,n){if(n=n||0,this.isAnimationCached())0!==t&&cc.warn("Track index can not greater than 0 in cached mode."),this._animationQueue.push({animationName:e,loop:i,delay:n});else if(this._skeleton){var r=this._skeleton.data.findAnimation(e);return r?this._state.addAnimationWith(t,r,i,n):(cc.logID(7510,e),null)}return null},findAnimation:function(t){return this._skeleton?this._skeleton.data.findAnimation(t):null},getCurrent:function(t){if(this.isAnimationCached())cc.warn("'getCurrent' interface can not be invoked in cached mode.");else if(this._state)return this._state.getCurrent(t);return null},clearTracks:function(){this.isAnimationCached()?cc.warn("'clearTracks' interface can not be invoked in cached mode."):this._state&&this._state.clearTracks()},clearTrack:function(t){this.isAnimationCached()?cc.warn("'clearTrack' interface can not be invoked in cached mode."):this._state&&this._state.clearTrack(t)},setStartListener:function(t){this._ensureListener(),this._listener.start=t},setInterruptListener:function(t){this._ensureListener(),this._listener.interrupt=t},setEndListener:function(t){this._ensureListener(),this._listener.end=t},setDisposeListener:function(t){this._ensureListener(),this._listener.dispose=t},setCompleteListener:function(t){this._ensureListener(),this._listener.complete=t},setEventListener:function(t){this._ensureListener(),this._listener.event=t},setTrackStartListener:function(t,e){i.getListeners(t).start=e},setTrackInterruptListener:function(t,e){i.getListeners(t).interrupt=e},setTrackEndListener:function(t,e){i.getListeners(t).end=e},setTrackDisposeListener:function(t,e){i.getListeners(t).dispose=e},setTrackCompleteListener:function(t,e){i.getListeners(t).complete=function(t){var i=Math.floor(t.trackTime/t.animationEnd);e(t,i)}},setTrackEventListener:function(t,e){i.getListeners(t).event=e},getState:function(){return this._state},_updateAnimEnum:!1,_updateSkinEnum:!1,_ensureListener:function(){this._listener||(this._listener=new i,this._state&&this._state.addListener(this._listener))},_updateSkeletonData:function(){if(this.skeletonData){var t=this.skeletonData.getRuntimeData();if(t){try{this.setSkeletonData(t),this.isAnimationCached()||this.setAnimationStateData(new r.AnimationStateData(this._skeleton.data)),this.defaultSkin&&this.setSkin(this.defaultSkin)}catch(e){cc.warn(e)}this.attachUtil.init(this),this.attachUtil._associateAttachedNode(),this._preCacheMode=this._cacheMode,this.animation=this.defaultAnimation}else this.disableRender()}else this.disableRender()},_refreshInspector:function(){this._updateAnimEnum(),this._updateSkinEnum(),Editor.Utils.refreshSelectedInspector("node",this.node.uuid)},_updateDebugDraw:function(){if(this.debugBones||this.debugSlots){if(!this._debugRenderer){var t=new cc.PrivateNode;t.name="DEBUG_DRAW_NODE";var e=t.addComponent(s);e.lineWidth=1,e.strokeColor=cc.color(255,0,0,255),this._debugRenderer=e}this._debugRenderer.node.parent=this.node,this.isAnimationCached()&&cc.warn("Debug bones or slots is invalid in cached mode")}else this._debugRenderer&&(this._debugRenderer.node.parent=null)}}),e.exports=sp.Skeleton}),{"../../cocos2d/core/components/CCRenderComponent":160,"../../cocos2d/core/graphics/graphics":202,"../../cocos2d/core/renderer/render-flow":272,"./AttachUtil":425,"./lib/spine":428,"./skeleton-cache":429,"./track-entry-listeners":433}],427:[(function(t){"use strict";var e="undefined"==typeof window?global:window;e.spine=t("./lib/spine"),e.sp=e.sp||{},sp._timeScale=1,Object.defineProperty(sp,"timeScale",{get:function(){return this._timeScale},set:function(t){this._timeScale=t},configurable:!0}),sp.ATTACHMENT_TYPE={REGION:0,BOUNDING_BOX:1,MESH:2,SKINNED_MESH:3},sp.AnimationEventType=cc.Enum({START:0,INTERRUPT:1,END:2,DISPOSE:3,COMPLETE:4,EVENT:5}),sp.spine=e.spine,t("./skeleton-texture"),t("./skeleton-data"),t("./vertex-effect-delegate"),t("./Skeleton"),t("./spine-assembler")}),{"./Skeleton":426,"./lib/spine":428,"./skeleton-data":430,"./skeleton-texture":431,"./spine-assembler":432,"./vertex-effect-delegate":434}],428:[(function(t,e){"use strict";var i,n,r,s=(i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(t,e)},function(t,e){function n(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});(function(t){var e,i,n,r=(function(){function t(t,e,i){if(null==t)throw new Error("name cannot be null.");if(null==e)throw new Error("timelines cannot be null.");this.name=t,this.timelines=e,this.timelineIds=[];for(var n=0;n0&&(e%=this.duration));for(var l=this.timelines,c=0,h=l.length;c>>1;;){if(t[(s+1)*i]<=e?n=s+1:r=s,n==r)return(n+1)*i;s=n+r>>>1}},t.linearSearch=function(t,e,i){for(var n=0,r=t.length-i;n<=r;n+=i)if(t[n]>e)return n;return-1},t})();t.Animation=r,(function(t){t[t.setup=0]="setup",t[t.first=1]="first",t[t.replace=2]="replace",t[t.add=3]="add"})(e=t.MixBlend||(t.MixBlend={})),(function(t){t[t.mixIn=0]="mixIn",t[t.mixOut=1]="mixOut"})(i=t.MixDirection||(t.MixDirection={})),(function(t){t[t.rotate=0]="rotate",t[t.translate=1]="translate",t[t.scale=2]="scale",t[t.shear=3]="shear",t[t.attachment=4]="attachment",t[t.color=5]="color",t[t.deform=6]="deform",t[t.event=7]="event",t[t.drawOrder=8]="drawOrder",t[t.ikConstraint=9]="ikConstraint",t[t.transformConstraint=10]="transformConstraint",t[t.pathConstraintPosition=11]="pathConstraintPosition",t[t.pathConstraintSpacing=12]="pathConstraintSpacing",t[t.pathConstraintMix=13]="pathConstraintMix",t[t.twoColor=14]="twoColor"})(n=t.TimelineType||(t.TimelineType={}));var a=(function(){function e(i){if(i<=0)throw new Error("frameCount must be > 0: "+i);this.curves=t.Utils.newFloatArray((i-1)*e.BEZIER_SIZE)}return e.prototype.getFrameCount=function(){return this.curves.length/e.BEZIER_SIZE+1},e.prototype.setLinear=function(t){this.curves[t*e.BEZIER_SIZE]=e.LINEAR},e.prototype.setStepped=function(t){this.curves[t*e.BEZIER_SIZE]=e.STEPPED},e.prototype.getCurveType=function(t){var i=t*e.BEZIER_SIZE;if(i==this.curves.length)return e.LINEAR;var n=this.curves[i];return n==e.LINEAR?e.LINEAR:n==e.STEPPED?e.STEPPED:e.BEZIER},e.prototype.setCurve=function(t,i,n,r,s){var a=.03*(2*-i+r),o=.03*(2*-n+s),l=.006*(3*(i-r)+1),c=.006*(3*(n-s)+1),h=2*a+l,u=2*o+c,_=.3*i+a+.16666667*l,f=.3*n+o+.16666667*c,d=t*e.BEZIER_SIZE,p=this.curves;p[d++]=e.BEZIER;for(var m=_,y=f,v=d+e.BEZIER_SIZE-1;d=n){var h=void 0,u=void 0;return s==l?(h=0,u=0):(h=r[s-2],u=r[s-1]),u+(r[s+1]-u)*(n-h)/(o-h)}var _=r[s-1];return _+(1-_)*(n-o)/(1-o)},e.LINEAR=0,e.STEPPED=1,e.BEZIER=2,e.BEZIER_SIZE=19,e})();t.CurveTimeline=a;var o=(function(i){function a(e){var n=i.call(this,e)||this;return n.frames=t.Utils.newFloatArray(e<<1),n}return s(a,i),a.prototype.getPropertyId=function(){return(n.rotate<<24)+this.boneIndex},a.prototype.setFrame=function(t,e,i){t<<=1,this.frames[t]=e,this.frames[t+a.ROTATION]=i},a.prototype.apply=function(t,i,n,s,o,l){var c=this.frames,h=t.bones[this.boneIndex];if(h.active)if(n=c[c.length-a.ENTRIES]){var _=c[c.length+a.PREV_ROTATION];switch(l){case e.setup:h.rotation=h.data.rotation+_*o;break;case e.first:case e.replace:_+=h.data.rotation-h.rotation,_-=360*(16384-(16384.499999999996-_/360|0));case e.add:h.rotation+=_*o}}else{var f=r.binarySearch(c,n,a.ENTRIES),d=c[f+a.PREV_ROTATION],p=c[f],m=this.getCurvePercent((f>>1)-1,1-(n-p)/(c[f+a.PREV_TIME]-p)),y=c[f+a.ROTATION]-d;switch(y=d+(y-360*(16384-(16384.499999999996-y/360|0)))*m,l){case e.setup:h.rotation=h.data.rotation+(y-360*(16384-(16384.499999999996-y/360|0)))*o;break;case e.first:case e.replace:y+=h.data.rotation-h.rotation;case e.add:h.rotation+=(y-360*(16384-(16384.499999999996-y/360|0)))*o}}},a.ENTRIES=2,a.PREV_TIME=-2,a.PREV_ROTATION=-1,a.ROTATION=1,a})(a);t.RotateTimeline=o;var l=(function(i){function a(e){var n=i.call(this,e)||this;return n.frames=t.Utils.newFloatArray(e*a.ENTRIES),n}return s(a,i),a.prototype.getPropertyId=function(){return(n.translate<<24)+this.boneIndex},a.prototype.setFrame=function(t,e,i,n){t*=a.ENTRIES,this.frames[t]=e,this.frames[t+a.X]=i,this.frames[t+a.Y]=n},a.prototype.apply=function(t,i,n,s,o,l){var c=this.frames,h=t.bones[this.boneIndex];if(h.active)if(n=c[c.length-a.ENTRIES])u=c[c.length+a.PREV_X],_=c[c.length+a.PREV_Y];else{var f=r.binarySearch(c,n,a.ENTRIES);u=c[f+a.PREV_X],_=c[f+a.PREV_Y];var d=c[f],p=this.getCurvePercent(f/a.ENTRIES-1,1-(n-d)/(c[f+a.PREV_TIME]-d));u+=(c[f+a.X]-u)*p,_+=(c[f+a.Y]-_)*p}switch(l){case e.setup:h.x=h.data.x+u*o,h.y=h.data.y+_*o;break;case e.first:case e.replace:h.x+=(h.data.x+u-h.x)*o,h.y+=(h.data.y+_-h.y)*o;break;case e.add:h.x+=u*o,h.y+=_*o}}},a.ENTRIES=3,a.PREV_TIME=-3,a.PREV_X=-2,a.PREV_Y=-1,a.X=1,a.Y=2,a})(a);t.TranslateTimeline=l;var c=(function(a){function o(t){return a.call(this,t)||this}return s(o,a),o.prototype.getPropertyId=function(){return(n.scale<<24)+this.boneIndex},o.prototype.apply=function(n,s,a,l,c,h,u){var _=this.frames,f=n.bones[this.boneIndex];if(f.active)if(a<_[0])switch(h){case e.setup:return f.scaleX=f.data.scaleX,void(f.scaleY=f.data.scaleY);case e.first:f.scaleX+=(f.data.scaleX-f.scaleX)*c,f.scaleY+=(f.data.scaleY-f.scaleY)*c}else{var d=0,p=0;if(a>=_[_.length-o.ENTRIES])d=_[_.length+o.PREV_X]*f.data.scaleX,p=_[_.length+o.PREV_Y]*f.data.scaleY;else{var m=r.binarySearch(_,a,o.ENTRIES);d=_[m+o.PREV_X],p=_[m+o.PREV_Y];var y=_[m],v=this.getCurvePercent(m/o.ENTRIES-1,1-(a-y)/(_[m+o.PREV_TIME]-y));d=(d+(_[m+o.X]-d)*v)*f.data.scaleX,p=(p+(_[m+o.Y]-p)*v)*f.data.scaleY}if(1==c)h==e.add?(f.scaleX+=d-f.data.scaleX,f.scaleY+=p-f.data.scaleY):(f.scaleX=d,f.scaleY=p);else{var g=0,b=0;if(u==i.mixOut)switch(h){case e.setup:g=f.data.scaleX,b=f.data.scaleY,f.scaleX=g+(Math.abs(d)*t.MathUtils.signum(g)-g)*c,f.scaleY=b+(Math.abs(p)*t.MathUtils.signum(b)-b)*c;break;case e.first:case e.replace:g=f.scaleX,b=f.scaleY,f.scaleX=g+(Math.abs(d)*t.MathUtils.signum(g)-g)*c,f.scaleY=b+(Math.abs(p)*t.MathUtils.signum(b)-b)*c;break;case e.add:g=f.scaleX,b=f.scaleY,f.scaleX=g+(Math.abs(d)*t.MathUtils.signum(g)-f.data.scaleX)*c,f.scaleY=b+(Math.abs(p)*t.MathUtils.signum(b)-f.data.scaleY)*c}else switch(h){case e.setup:g=Math.abs(f.data.scaleX)*t.MathUtils.signum(d),b=Math.abs(f.data.scaleY)*t.MathUtils.signum(p),f.scaleX=g+(d-g)*c,f.scaleY=b+(p-b)*c;break;case e.first:case e.replace:g=Math.abs(f.scaleX)*t.MathUtils.signum(d),b=Math.abs(f.scaleY)*t.MathUtils.signum(p),f.scaleX=g+(d-g)*c,f.scaleY=b+(p-b)*c;break;case e.add:g=t.MathUtils.signum(d),b=t.MathUtils.signum(p),f.scaleX=Math.abs(f.scaleX)*g+(d-Math.abs(f.data.scaleX)*g)*c,f.scaleY=Math.abs(f.scaleY)*b+(p-Math.abs(f.data.scaleY)*b)*c}}}},o})(l);t.ScaleTimeline=c;var h=(function(t){function i(e){return t.call(this,e)||this}return s(i,t),i.prototype.getPropertyId=function(){return(n.shear<<24)+this.boneIndex},i.prototype.apply=function(t,n,s,a,o,l){var c=this.frames,h=t.bones[this.boneIndex];if(h.active)if(s=c[c.length-i.ENTRIES])u=c[c.length+i.PREV_X],_=c[c.length+i.PREV_Y];else{var f=r.binarySearch(c,s,i.ENTRIES);u=c[f+i.PREV_X],_=c[f+i.PREV_Y];var d=c[f],p=this.getCurvePercent(f/i.ENTRIES-1,1-(s-d)/(c[f+i.PREV_TIME]-d));u+=(c[f+i.X]-u)*p,_+=(c[f+i.Y]-_)*p}switch(l){case e.setup:h.shearX=h.data.shearX+u*o,h.shearY=h.data.shearY+_*o;break;case e.first:case e.replace:h.shearX+=(h.data.shearX+u-h.shearX)*o,h.shearY+=(h.data.shearY+_-h.shearY)*o;break;case e.add:h.shearX+=u*o,h.shearY+=_*o}}},i})(l);t.ShearTimeline=h;var u=(function(i){function a(e){var n=i.call(this,e)||this;return n.frames=t.Utils.newFloatArray(e*a.ENTRIES),n}return s(a,i),a.prototype.getPropertyId=function(){return(n.color<<24)+this.slotIndex},a.prototype.setFrame=function(t,e,i,n,r,s){t*=a.ENTRIES,this.frames[t]=e,this.frames[t+a.R]=i,this.frames[t+a.G]=n,this.frames[t+a.B]=r,this.frames[t+a.A]=s},a.prototype.apply=function(t,i,n,s,o,l){var c=t.slots[this.slotIndex];if(c.bone.active){var h=this.frames;if(n=h[h.length-a.ENTRIES]){var y=h.length;f=h[y+a.PREV_R],d=h[y+a.PREV_G],p=h[y+a.PREV_B],m=h[y+a.PREV_A]}else{var v=r.binarySearch(h,n,a.ENTRIES);f=h[v+a.PREV_R],d=h[v+a.PREV_G],p=h[v+a.PREV_B],m=h[v+a.PREV_A];var g=h[v],b=this.getCurvePercent(v/a.ENTRIES-1,1-(n-g)/(h[v+a.PREV_TIME]-g));f+=(h[v+a.R]-f)*b,d+=(h[v+a.G]-d)*b,p+=(h[v+a.B]-p)*b,m+=(h[v+a.A]-m)*b}1==o?c.color.set(f,d,p,m):(u=c.color,l==e.setup&&u.setFromColor(c.data.color),u.add((f-u.r)*o,(d-u.g)*o,(p-u.b)*o,(m-u.a)*o))}}},a.ENTRIES=5,a.PREV_TIME=-5,a.PREV_R=-4,a.PREV_G=-3,a.PREV_B=-2,a.PREV_A=-1,a.R=1,a.G=2,a.B=3,a.A=4,a})(a);t.ColorTimeline=u;var _=(function(i){function a(e){var n=i.call(this,e)||this;return n.frames=t.Utils.newFloatArray(e*a.ENTRIES),n}return s(a,i),a.prototype.getPropertyId=function(){return(n.twoColor<<24)+this.slotIndex},a.prototype.setFrame=function(t,e,i,n,r,s,o,l,c){t*=a.ENTRIES,this.frames[t]=e,this.frames[t+a.R]=i,this.frames[t+a.G]=n,this.frames[t+a.B]=r,this.frames[t+a.A]=s,this.frames[t+a.R2]=o,this.frames[t+a.G2]=l,this.frames[t+a.B2]=c},a.prototype.apply=function(t,i,n,s,o,l){var c=t.slots[this.slotIndex];if(c.bone.active){var h=this.frames;if(n=h[h.length-a.ENTRIES]){var x=h.length;p=h[x+a.PREV_R],m=h[x+a.PREV_G],y=h[x+a.PREV_B],v=h[x+a.PREV_A],g=h[x+a.PREV_R2],b=h[x+a.PREV_G2],A=h[x+a.PREV_B2]}else{var C=r.binarySearch(h,n,a.ENTRIES);p=h[C+a.PREV_R],m=h[C+a.PREV_G],y=h[C+a.PREV_B],v=h[C+a.PREV_A],g=h[C+a.PREV_R2],b=h[C+a.PREV_G2],A=h[C+a.PREV_B2];var T=h[C],S=this.getCurvePercent(C/a.ENTRIES-1,1-(n-T)/(h[C+a.PREV_TIME]-T));p+=(h[C+a.R]-p)*S,m+=(h[C+a.G]-m)*S,y+=(h[C+a.B]-y)*S,v+=(h[C+a.A]-v)*S,g+=(h[C+a.R2]-g)*S,b+=(h[C+a.G2]-b)*S,A+=(h[C+a.B2]-A)*S}1==o?(c.color.set(p,m,y,v),c.darkColor.set(g,b,A,1)):(u=c.color,_=c.darkColor,l==e.setup&&(u.setFromColor(c.data.color),_.setFromColor(c.data.darkColor)),u.add((p-u.r)*o,(m-u.g)*o,(y-u.b)*o,(v-u.a)*o),_.add((g-_.r)*o,(b-_.g)*o,(A-_.b)*o,0))}}},a.ENTRIES=8,a.PREV_TIME=-8,a.PREV_R=-7,a.PREV_G=-6,a.PREV_B=-5,a.PREV_A=-4,a.PREV_R2=-3,a.PREV_G2=-2,a.PREV_B2=-1,a.R=1,a.G=2,a.B=3,a.A=4,a.R2=5,a.G2=6,a.B2=7,a})(a);t.TwoColorTimeline=_;var f=(function(){function s(e){this.frames=t.Utils.newFloatArray(e),this.attachmentNames=new Array(e)}return s.prototype.getPropertyId=function(){return(n.attachment<<24)+this.slotIndex},s.prototype.getFrameCount=function(){return this.frames.length},s.prototype.setFrame=function(t,e,i){this.frames[t]=e,this.attachmentNames[t]=i},s.prototype.apply=function(t,n,s,a,o,l,c){var h=t.slots[this.slotIndex];if(h.bone.active)if(c!=i.mixOut||l!=e.setup){var u=this.frames;if(s=u[u.length-1]?u.length-1:r.binarySearch(u,s,1)-1;var d=this.attachmentNames[f];t.slots[this.slotIndex].setAttachment(null==d?null:t.getAttachment(this.slotIndex,d))}}else{var p=h.data.attachmentName;h.setAttachment(null==p?null:t.getAttachment(this.slotIndex,p))}},s})();t.AttachmentTimeline=f;var d=null,p=(function(i){function a(e){var n=i.call(this,e)||this;return n.frames=t.Utils.newFloatArray(e),n.frameVertices=new Array(e),null==d&&(d=t.Utils.newFloatArray(64)),n}return s(a,i),a.prototype.getPropertyId=function(){return(n.deform<<27)+ +this.attachment.id+this.slotIndex},a.prototype.setFrame=function(t,e,i){this.frames[t]=e,this.frameVertices[t]=i},a.prototype.apply=function(i,n,s,a,o,l){var c=i.slots[this.slotIndex];if(c.bone.active){var h=c.getAttachment();if(h instanceof t.VertexAttachment&&h.deformAttachment==this.attachment){var u=c.deform;0==u.length&&(l=e.setup);var _=this.frameVertices,f=_[0].length,d=this.frames;if(s=d[d.length-1]){var b=_[d.length-1];if(1==o)if(l==e.add)if(null==(p=h).bones){y=p.vertices;for(var A=0;Ai)this.apply(t,e,Number.MAX_VALUE,n,s,a,o),e=-1;else if(e>=l[c-1])return;if(!(i0&&l[h-1]==u;)h--;for(;h=l[h];h++)n.push(this.events[h])}}},e})();t.EventTimeline=m;var y=(function(){function s(e){this.frames=t.Utils.newFloatArray(e),this.drawOrders=new Array(e)}return s.prototype.getPropertyId=function(){return n.drawOrder<<24},s.prototype.getFrameCount=function(){return this.frames.length},s.prototype.setFrame=function(t,e,i){this.frames[t]=e,this.drawOrders[t]=i},s.prototype.apply=function(n,s,a,o,l,c,h){var u=n.drawOrder,_=n.slots;if(h!=i.mixOut||c!=e.setup){var f=this.frames;if(a=f[f.length-1]?f.length-1:r.binarySearch(f,a)-1;var p=this.drawOrders[d];if(null==p)t.Utils.arrayCopy(_,0,u,0,_.length);else for(var m=0,y=p.length;m=u[u.length-o.ENTRIES])c==e.setup?(_.mix=_.data.mix+(u[u.length+o.PREV_MIX]-_.data.mix)*l,_.softness=_.data.softness+(u[u.length+o.PREV_SOFTNESS]-_.data.softness)*l,h==i.mixOut?(_.bendDirection=_.data.bendDirection,_.compress=_.data.compress,_.stretch=_.data.stretch):(_.bendDirection=u[u.length+o.PREV_BEND_DIRECTION],_.compress=0!=u[u.length+o.PREV_COMPRESS],_.stretch=0!=u[u.length+o.PREV_STRETCH])):(_.mix+=(u[u.length+o.PREV_MIX]-_.mix)*l,_.softness+=(u[u.length+o.PREV_SOFTNESS]-_.softness)*l,h==i.mixIn&&(_.bendDirection=u[u.length+o.PREV_BEND_DIRECTION],_.compress=0!=u[u.length+o.PREV_COMPRESS],_.stretch=0!=u[u.length+o.PREV_STRETCH]));else{var f=r.binarySearch(u,s,o.ENTRIES),d=u[f+o.PREV_MIX],p=u[f+o.PREV_SOFTNESS],m=u[f],y=this.getCurvePercent(f/o.ENTRIES-1,1-(s-m)/(u[f+o.PREV_TIME]-m));c==e.setup?(_.mix=_.data.mix+(d+(u[f+o.MIX]-d)*y-_.data.mix)*l,_.softness=_.data.softness+(p+(u[f+o.SOFTNESS]-p)*y-_.data.softness)*l,h==i.mixOut?(_.bendDirection=_.data.bendDirection,_.compress=_.data.compress,_.stretch=_.data.stretch):(_.bendDirection=u[f+o.PREV_BEND_DIRECTION],_.compress=0!=u[f+o.PREV_COMPRESS],_.stretch=0!=u[f+o.PREV_STRETCH])):(_.mix+=(d+(u[f+o.MIX]-d)*y-_.mix)*l,_.softness+=(p+(u[f+o.SOFTNESS]-p)*y-_.softness)*l,h==i.mixIn&&(_.bendDirection=u[f+o.PREV_BEND_DIRECTION],_.compress=0!=u[f+o.PREV_COMPRESS],_.stretch=0!=u[f+o.PREV_STRETCH]))}},o.ENTRIES=6,o.PREV_TIME=-6,o.PREV_MIX=-5,o.PREV_SOFTNESS=-4,o.PREV_BEND_DIRECTION=-3,o.PREV_COMPRESS=-2,o.PREV_STRETCH=-1,o.MIX=1,o.SOFTNESS=2,o.BEND_DIRECTION=3,o.COMPRESS=4,o.STRETCH=5,o})(a);t.IkConstraintTimeline=v;var g=(function(i){function a(e){var n=i.call(this,e)||this;return n.frames=t.Utils.newFloatArray(e*a.ENTRIES),n}return s(a,i),a.prototype.getPropertyId=function(){return(n.transformConstraint<<24)+this.transformConstraintIndex},a.prototype.setFrame=function(t,e,i,n,r,s){t*=a.ENTRIES,this.frames[t]=e,this.frames[t+a.ROTATE]=i,this.frames[t+a.TRANSLATE]=n,this.frames[t+a.SCALE]=r,this.frames[t+a.SHEAR]=s},a.prototype.apply=function(t,i,n,s,o,l){var c=this.frames,h=t.transformConstraints[this.transformConstraintIndex];if(h.active)if(n=c[c.length-a.ENTRIES]){var m=c.length;_=c[m+a.PREV_ROTATE],f=c[m+a.PREV_TRANSLATE],d=c[m+a.PREV_SCALE],p=c[m+a.PREV_SHEAR]}else{var y=r.binarySearch(c,n,a.ENTRIES);_=c[y+a.PREV_ROTATE],f=c[y+a.PREV_TRANSLATE],d=c[y+a.PREV_SCALE],p=c[y+a.PREV_SHEAR];var v=c[y],g=this.getCurvePercent(y/a.ENTRIES-1,1-(n-v)/(c[y+a.PREV_TIME]-v));_+=(c[y+a.ROTATE]-_)*g,f+=(c[y+a.TRANSLATE]-f)*g,d+=(c[y+a.SCALE]-d)*g,p+=(c[y+a.SHEAR]-p)*g}l==e.setup?(u=h.data,h.rotateMix=u.rotateMix+(_-u.rotateMix)*o,h.translateMix=u.translateMix+(f-u.translateMix)*o,h.scaleMix=u.scaleMix+(d-u.scaleMix)*o,h.shearMix=u.shearMix+(p-u.shearMix)*o):(h.rotateMix+=(_-h.rotateMix)*o,h.translateMix+=(f-h.translateMix)*o,h.scaleMix+=(d-h.scaleMix)*o,h.shearMix+=(p-h.shearMix)*o)}},a.ENTRIES=5,a.PREV_TIME=-5,a.PREV_ROTATE=-4,a.PREV_TRANSLATE=-3,a.PREV_SCALE=-2,a.PREV_SHEAR=-1,a.ROTATE=1,a.TRANSLATE=2,a.SCALE=3,a.SHEAR=4,a})(a);t.TransformConstraintTimeline=g;var b=(function(i){function a(e){var n=i.call(this,e)||this;return n.frames=t.Utils.newFloatArray(e*a.ENTRIES),n}return s(a,i),a.prototype.getPropertyId=function(){return(n.pathConstraintPosition<<24)+this.pathConstraintIndex},a.prototype.setFrame=function(t,e,i){t*=a.ENTRIES,this.frames[t]=e,this.frames[t+a.VALUE]=i},a.prototype.apply=function(t,i,n,s,o,l){var c=this.frames,h=t.pathConstraints[this.pathConstraintIndex];if(h.active)if(n=c[c.length-a.ENTRIES])u=c[c.length+a.PREV_VALUE];else{var _=r.binarySearch(c,n,a.ENTRIES);u=c[_+a.PREV_VALUE];var f=c[_],d=this.getCurvePercent(_/a.ENTRIES-1,1-(n-f)/(c[_+a.PREV_TIME]-f));u+=(c[_+a.VALUE]-u)*d}l==e.setup?h.position=h.data.position+(u-h.data.position)*o:h.position+=(u-h.position)*o}},a.ENTRIES=2,a.PREV_TIME=-2,a.PREV_VALUE=-1,a.VALUE=1,a})(a);t.PathConstraintPositionTimeline=b;var A=(function(t){function i(e){return t.call(this,e)||this}return s(i,t),i.prototype.getPropertyId=function(){return(n.pathConstraintSpacing<<24)+this.pathConstraintIndex},i.prototype.apply=function(t,n,s,a,o,l){var c=this.frames,h=t.pathConstraints[this.pathConstraintIndex];if(h.active)if(s=c[c.length-i.ENTRIES])u=c[c.length+i.PREV_VALUE];else{var _=r.binarySearch(c,s,i.ENTRIES);u=c[_+i.PREV_VALUE];var f=c[_],d=this.getCurvePercent(_/i.ENTRIES-1,1-(s-f)/(c[_+i.PREV_TIME]-f));u+=(c[_+i.VALUE]-u)*d}l==e.setup?h.spacing=h.data.spacing+(u-h.data.spacing)*o:h.spacing+=(u-h.spacing)*o}},i})(b);t.PathConstraintSpacingTimeline=A;var x=(function(i){function a(e){var n=i.call(this,e)||this;return n.frames=t.Utils.newFloatArray(e*a.ENTRIES),n}return s(a,i),a.prototype.getPropertyId=function(){return(n.pathConstraintMix<<24)+this.pathConstraintIndex},a.prototype.setFrame=function(t,e,i,n){t*=a.ENTRIES,this.frames[t]=e,this.frames[t+a.ROTATE]=i,this.frames[t+a.TRANSLATE]=n},a.prototype.apply=function(t,i,n,s,o,l){var c=this.frames,h=t.pathConstraints[this.pathConstraintIndex];if(h.active)if(n=c[c.length-a.ENTRIES])u=c[c.length+a.PREV_ROTATE],_=c[c.length+a.PREV_TRANSLATE];else{var f=r.binarySearch(c,n,a.ENTRIES);u=c[f+a.PREV_ROTATE],_=c[f+a.PREV_TRANSLATE];var d=c[f],p=this.getCurvePercent(f/a.ENTRIES-1,1-(n-d)/(c[f+a.PREV_TIME]-d));u+=(c[f+a.ROTATE]-u)*p,_+=(c[f+a.TRANSLATE]-_)*p}l==e.setup?(h.rotateMix=h.data.rotateMix+(u-h.data.rotateMix)*o,h.translateMix=h.data.translateMix+(_-h.data.translateMix)*o):(h.rotateMix+=(u-h.rotateMix)*o,h.translateMix+=(_-h.translateMix)*o)}},a.ENTRIES=3,a.PREV_TIME=-3,a.PREV_ROTATE=-2,a.PREV_TRANSLATE=-1,a.ROTATE=1,a.TRANSLATE=2,a})(a);t.PathConstraintMixTimeline=x})(r||(r={})),(function(t){var e=(function(){function e(e){this.tracks=new Array,this.timeScale=1,this.events=new Array,this.listeners=new Array,this.queue=new r(this),this.propertyIDs=new t.IntSet,this.animationsChanged=!1,this.trackEntryPool=new t.Pool(function(){return new i}),this.data=e}return e.prototype.update=function(t){t*=this.timeScale;for(var e=this.tracks,i=0,n=e.length;i0){if(r.delay-=s,r.delay>0)continue;s=-r.delay,r.delay=0}var a=r.next;if(null!=a){var o=r.trackLast-a.delay;if(o>=0){for(a.delay=0,a.trackTime+=0==r.timeScale?0:(o/r.timeScale+t)*a.timeScale,r.trackTime+=s,this.setCurrent(i,a,!0);null!=a.mixingFrom;)a.mixTime+=t,a=a.mixingFrom;continue}}else if(r.trackLast>=r.trackEnd&&null==r.mixingFrom){e[i]=null,this.queue.end(r),this.disposeNext(r);continue}if(null!=r.mixingFrom&&this.updateMixingFrom(r,t)){var l=r.mixingFrom;for(r.mixingFrom=null,null!=l&&(l.mixingTo=null);null!=l;)this.queue.end(l),l=l.mixingFrom}r.trackTime+=s}}this.queue.drain()},e.prototype.updateMixingFrom=function(t,e){var i=t.mixingFrom;if(null==i)return!0;var n=this.updateMixingFrom(i,e);return i.animationLast=i.nextAnimationLast,i.trackLast=i.nextTrackLast,t.mixTime>0&&t.mixTime>=t.mixDuration?(0!=i.totalAlpha&&0!=t.mixDuration||(t.mixingFrom=i.mixingFrom,null!=i.mixingFrom&&(i.mixingFrom.mixingTo=t),t.interruptAlpha=i.interruptAlpha,this.queue.end(i)),n):(i.trackTime+=e*i.timeScale,t.mixTime+=e,!1)},e.prototype.apply=function(i){if(null==i)throw new Error("skeleton cannot be null.");this.animationsChanged&&this._animationsChanged();for(var n=this.events,r=this.tracks,s=!1,a=0,o=r.length;a0)){s=!0;var c=0==a?t.MixBlend.first:l.mixBlend,h=l.alpha;null!=l.mixingFrom?h*=this.applyMixingFrom(l,i,c):l.trackTime>=l.trackEnd&&null==l.next&&(h=0);var u=l.animationLast,_=l.getAnimationTime(),f=l.animation.timelines.length,d=l.animation.timelines;if(0==a&&1==h||c==t.MixBlend.add)for(var p=0;p1&&(a=1),r!=t.MixBlend.first&&(r=s.mixBlend));var o=a0&&this.queueEvents(s,u),this.events.length=0,s.nextAnimationLast=u,s.nextTrackLast=s.trackTime,a},e.prototype.applyRotateTimeline=function(e,i,n,r,s,a,o,l){if(l&&(a[o]=0),1!=r){var c=e,h=c.frames,u=i.bones[c.boneIndex];if(u.active){var _=0,f=0;if(n=h[h.length-t.RotateTimeline.ENTRIES])f=u.data.rotation+h[h.length+t.RotateTimeline.PREV_ROTATION];else{var d=t.Animation.binarySearch(h,n,t.RotateTimeline.ENTRIES),p=h[d+t.RotateTimeline.PREV_ROTATION],m=h[d],y=c.getCurvePercent((d>>1)-1,1-(n-m)/(h[d+t.RotateTimeline.PREV_TIME]-m));f=h[d+t.RotateTimeline.ROTATION]-p,f=p+(f-=360*(16384-(16384.499999999996-f/360|0)))*y+u.data.rotation,f-=360*(16384-(16384.499999999996-f/360|0))}var v=0,g=f-_;if(0==(g-=360*(16384-(16384.499999999996-g/360|0))))v=a[o];else{var b=0,A=0;l?(b=0,A=g):(b=a[o],A=a[o+1]);var x=g>0,C=b>=0;t.MathUtils.signum(A)!=t.MathUtils.signum(g)&&Math.abs(A)<=90&&(Math.abs(b)>180&&(b+=360*t.MathUtils.signum(b)),C=x),v=g+b-b%360,C!=x&&(v+=360*t.MathUtils.signum(b)),a[o]=v}a[o+1]=g,_+=v*r,u.rotation=_-360*(16384-(16384.499999999996-_/360|0))}}else e.apply(i,0,n,null,1,s,t.MixDirection.mixIn)},e.prototype.queueEvents=function(t,e){for(var i=t.animationStart,n=t.animationEnd,r=n-i,s=t.trackLast%r,a=this.events,o=0,l=a.length;on||this.queue.event(t,c)}for((t.loop?0==r||s>t.trackTime%r:e>=n&&t.animationLast=this.tracks.length)){var e=this.tracks[t];if(null!=e){this.queue.end(e),this.disposeNext(e);for(var i=e;;){var n=i.mixingFrom;if(null==n)break;this.queue.end(n),i.mixingFrom=null,i.mixingTo=null,i=n}this.tracks[e.trackIndex]=null,this.queue.drain()}}},e.prototype.setCurrent=function(t,e,i){var n=this.expandToIndex(t);this.tracks[t]=e,null!=n&&(i&&this.queue.interrupt(n),e.mixingFrom=n,n.mixingTo=e,e.mixTime=0,null!=n.mixingFrom&&n.mixDuration>0&&(e.interruptAlpha*=Math.min(1,n.mixTime/n.mixDuration)),n.timelinesRotation.length=0),this.queue.start(e)},e.prototype.setAnimation=function(t,e,i){var n=this.data.skeletonData.findAnimation(e);if(null==n)throw new Error("Animation not found: "+e);return this.setAnimationWith(t,n,i)},e.prototype.setAnimationWith=function(t,e,i){if(null==e)throw new Error("animation cannot be null.");var n=!0,r=this.expandToIndex(t);null!=r&&(-1==r.nextTrackLast?(this.tracks[t]=r.mixingFrom,this.queue.interrupt(r),this.queue.end(r),this.disposeNext(r),r=r.mixingFrom,n=!1):this.disposeNext(r));var s=this.trackEntry(t,e,i,r);return this.setCurrent(t,s,n),this.queue.drain(),s},e.prototype.addAnimation=function(t,e,i,n){var r=this.data.skeletonData.findAnimation(e);if(null==r)throw new Error("Animation not found: "+e);return this.addAnimationWith(t,r,i,n)},e.prototype.addAnimationWith=function(t,e,i,n){if(null==e)throw new Error("animation cannot be null.");var r=this.expandToIndex(t);if(null!=r)for(;null!=r.next;)r=r.next;var s=this.trackEntry(t,e,i,r);if(null==r)this.setCurrent(t,s,!0),this.queue.drain();else if(r.next=s,n<=0){var a=r.animationEnd-r.animationStart;0!=a?(r.loop?n+=a*(1+(r.trackTime/a|0)):n+=Math.max(a,r.trackTime),n-=this.data.getMix(r.animation,e)):n=r.trackTime}return s.delay=n,s},e.prototype.setEmptyAnimation=function(t,i){var n=this.setAnimationWith(t,e.emptyAnimation,!1);return n.mixDuration=i,n.trackEnd=i,n},e.prototype.addEmptyAnimation=function(t,i,n){n<=0&&(n-=i);var r=this.addAnimationWith(t,e.emptyAnimation,!1,n);return r.mixDuration=i,r.trackEnd=i,r},e.prototype.setEmptyAnimations=function(t){var e=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(var i=0,n=this.tracks.length;i=0;e--)for(var n=this.tracks[e];null!=n;)this.computeNotLast(n),n=n.mixingFrom},e.prototype.computeHold=function(i){var n=i.mixingTo,r=i.animation.timelines,s=i.animation.timelines.length,a=t.Utils.setArraySize(i.timelineMode,s);i.timelineHoldMix.length=0;var o=t.Utils.setArraySize(i.timelineHoldMix,s),l=this.propertyIDs;if(null!=n&&n.holdPrevious)for(var c=0;c0){a[c]=e.HOLD_MIX,o[c]=_;continue t}break}a[c]=e.HOLD}else a[c]=e.SUBSEQUENT}},e.prototype.computeNotLast=function(i){for(var n=i.animation.timelines,r=i.animation.timelines.length,s=i.timelineMode,a=this.propertyIDs,o=0;o=this.tracks.length?null:this.tracks[t]},e.prototype.addListener=function(t){if(null==t)throw new Error("listener cannot be null.");this.listeners.push(t)},e.prototype.removeListener=function(t){var e=this.listeners.indexOf(t);e>=0&&this.listeners.splice(e,1)},e.prototype.clearListeners=function(){this.listeners.length=0},e.prototype.clearListenerNotifications=function(){this.queue.clear()},e.emptyAnimation=new t.Animation("",[],0),e.SUBSEQUENT=0,e.FIRST=1,e.HOLD=2,e.HOLD_MIX=3,e.NOT_LAST=4,e})();t.AnimationState=e;var i=(function(){function e(){this.mixBlend=t.MixBlend.replace,this.timelineMode=new Array,this.timelineHoldMix=new Array,this.timelinesRotation=new Array}return e.prototype.reset=function(){this.next=null,this.mixingFrom=null,this.mixingTo=null,this.animation=null,this.listener=null,this.timelineMode.length=0,this.timelineHoldMix.length=0,this.timelinesRotation.length=0},e.prototype.getAnimationTime=function(){if(this.loop){var t=this.animationEnd-this.animationStart;return 0==t?this.animationStart:this.trackTime%t+this.animationStart}return Math.min(this.trackTime+this.animationStart,this.animationEnd)},e.prototype.setAnimationLast=function(t){this.animationLast=t,this.nextAnimationLast=t},e.prototype.isComplete=function(){return this.trackTime>=this.animationEnd-this.animationStart},e.prototype.resetRotationDirections=function(){this.timelinesRotation.length=0},e})();t.TrackEntry=i;var n,r=(function(){function t(t){this.objects=[],this.drainDisabled=!1,this.animState=t}return t.prototype.start=function(t){this.objects.push(n.start),this.objects.push(t),this.animState.animationsChanged=!0},t.prototype.interrupt=function(t){this.objects.push(n.interrupt),this.objects.push(t)},t.prototype.end=function(t){this.objects.push(n.end),this.objects.push(t),this.animState.animationsChanged=!0},t.prototype.dispose=function(t){this.objects.push(n.dispose),this.objects.push(t)},t.prototype.complete=function(t){this.objects.push(n.complete),this.objects.push(t)},t.prototype.event=function(t,e){this.objects.push(n.event),this.objects.push(t),this.objects.push(e)},t.prototype.drain=function(){if(!this.drainDisabled){this.drainDisabled=!0;for(var t=this.objects,e=this.animState.listeners,i=0;i=0?i.substring(0,i.lastIndexOf("/")):"";i=this.pathPrefix+i,this.toLoad++,e.downloadText(i,(function(e){var o={count:0},l=new Array;try{new t.TextureAtlas(e,function(e){l.push(a+"/"+e);var i=document.createElement("img");return i.width=16,i.height=16,new t.FakeTexture(i)})}catch(f){var c=f;return s.errors[i]="Couldn't load texture atlas "+i+": "+c.message,r&&r(i,"Couldn't load texture atlas "+i+": "+c.message),s.toLoad--,void s.loaded++}for(var h=function(c){var h=!1;s.loadTexture(c,(function(c){if(o.count++,o.count==l.length)if(h)s.errors[i]="Couldn't load texture atlas page "+c+"} of atlas "+i,r&&r(i,"Couldn't load texture atlas page "+c+" of atlas "+i),s.toLoad--,s.loaded++;else try{var u=new t.TextureAtlas(e,function(t){return s.get(a+"/"+t)});s.assets[i]=u,n&&n(i,u),s.toLoad--,s.loaded++}catch(f){var _=f;s.errors[i]="Couldn't load texture atlas "+i+": "+_.message,r&&r(i,"Couldn't load texture atlas "+i+": "+_.message),s.toLoad--,s.loaded++}}),(function(t){h=!0,o.count++,o.count==l.length&&(s.errors[i]="Couldn't load texture atlas page "+t+"} of atlas "+i,r&&r(i,"Couldn't load texture atlas page "+t+" of atlas "+i),s.toLoad--,s.loaded++)}))},u=0,_=l;u<_.length;u++)h(_[u])}),(function(t,e){s.errors[i]="Couldn't load texture atlas "+i+": status "+status+", "+e,r&&r(i,"Couldn't load texture atlas "+i+": status "+status+", "+e),s.toLoad--,s.loaded++}))},e.prototype.get=function(t){return t=this.pathPrefix+t,this.assets[t]},e.prototype.remove=function(t){t=this.pathPrefix+t;var e=this.assets[t];e.dispose&&e.dispose(),this.assets[t]=null},e.prototype.removeAll=function(){for(var t in this.assets){var e=this.assets[t];e.dispose&&e.dispose()}this.assets={}},e.prototype.isLoadingComplete=function(){return 0==this.toLoad},e.prototype.getToLoad=function(){return this.toLoad},e.prototype.getLoaded=function(){return this.loaded},e.prototype.dispose=function(){this.removeAll()},e.prototype.hasErrors=function(){return Object.keys(this.errors).length>0},e.prototype.getErrors=function(){return this.errors},e})();t.AssetManager=e})(r||(r={})),(function(t){var e=(function(){function e(t){this.atlas=t}return e.prototype.newRegionAttachment=function(e,i,n){var r=this.atlas.findRegion(n);if(null==r)return null;r.renderObject=r;var s=new t.RegionAttachment(i);return s.setRegion(r),s},e.prototype.newMeshAttachment=function(e,i,n){var r=this.atlas.findRegion(n);if(null==r)return null;r.renderObject=r;var s=new t.MeshAttachment(i);return s.region=r,s},e.prototype.newBoundingBoxAttachment=function(e,i){return new t.BoundingBoxAttachment(i)},e.prototype.newPathAttachment=function(e,i){return new t.PathAttachment(i)},e.prototype.newPointAttachment=function(e,i){return new t.PointAttachment(i)},e.prototype.newClippingAttachment=function(e,i){return new t.ClippingAttachment(i)},e})();t.AtlasAttachmentLoader=e})(r||(r={})),(function(t){(function(t){t[t.Normal=0]="Normal",t[t.Additive=1]="Additive",t[t.Multiply=2]="Multiply",t[t.Screen=3]="Screen"})(t.BlendMode||(t.BlendMode={}))})(r||(r={})),(function(t){var e=(function(){function e(t,e,i){if(this.children=new Array,this.x=0,this.y=0,this.rotation=0,this.scaleX=0,this.scaleY=0,this.shearX=0,this.shearY=0,this.ax=0,this.ay=0,this.arotation=0,this.ascaleX=0,this.ascaleY=0,this.ashearX=0,this.ashearY=0,this.appliedValid=!1,this.a=0,this.b=0,this.c=0,this.d=0,this.worldY=0,this.worldX=0,this.sorted=!1,this.active=!1,null==t)throw new Error("data cannot be null.");if(null==e)throw new Error("skeleton cannot be null.");this.data=t,this.skeleton=e,this.parent=i,this.setToSetupPose()}return e.prototype.isActive=function(){return this.active},e.prototype.update=function(){this.updateWorldTransformWith(this.x,this.y,this.rotation,this.scaleX,this.scaleY,this.shearX,this.shearY)},e.prototype.updateWorldTransform=function(){this.updateWorldTransformWith(this.x,this.y,this.rotation,this.scaleX,this.scaleY,this.shearX,this.shearY)},e.prototype.updateWorldTransformWith=function(e,i,n,r,s,a,o){this.ax=e,this.ay=i,this.arotation=n,this.ascaleX=r,this.ascaleY=s,this.ashearX=a,this.ashearY=o,this.appliedValid=!0;var l=this.parent;if(null==l){var c=this.skeleton,h=n+90+o,u=c.scaleX,_=c.scaleY;return this.a=t.MathUtils.cosDeg(n+a)*r*u,this.b=t.MathUtils.cosDeg(h)*s*u,this.c=t.MathUtils.sinDeg(n+a)*r*_,this.d=t.MathUtils.sinDeg(h)*s*_,this.worldX=e*u+c.x,void(this.worldY=i*_+c.y)}var f=l.a,d=l.b,p=l.c,m=l.d;switch(this.worldX=f*e+d*i+l.worldX,this.worldY=p*e+m*i+l.worldY,this.data.transformMode){case t.TransformMode.Normal:h=n+90+o;var y=t.MathUtils.cosDeg(n+a)*r,v=t.MathUtils.cosDeg(h)*s,g=t.MathUtils.sinDeg(n+a)*r,b=t.MathUtils.sinDeg(h)*s;return this.a=f*y+d*g,this.b=f*v+d*b,this.c=p*y+m*g,void(this.d=p*v+m*b);case t.TransformMode.OnlyTranslation:h=n+90+o,this.a=t.MathUtils.cosDeg(n+a)*r,this.b=t.MathUtils.cosDeg(h)*s,this.c=t.MathUtils.sinDeg(n+a)*r,this.d=t.MathUtils.sinDeg(h)*s;break;case t.TransformMode.NoRotationOrReflection:var A=0;(T=f*f+p*p)>1e-4?(d=p*(T=Math.abs(f*m-d*p)/T),m=f*T,A=Math.atan2(p,f)*t.MathUtils.radDeg):(f=0,p=0,A=90-Math.atan2(m,d)*t.MathUtils.radDeg);var x=n+a-A,C=n+o-A+90;y=t.MathUtils.cosDeg(x)*r,v=t.MathUtils.cosDeg(C)*s,g=t.MathUtils.sinDeg(x)*r,b=t.MathUtils.sinDeg(C)*s,this.a=f*y-d*g,this.b=f*v-d*b,this.c=p*y+m*g,this.d=p*v+m*b;break;case t.TransformMode.NoScale:case t.TransformMode.NoScaleOrReflection:var T,S=t.MathUtils.cosDeg(n),w=t.MathUtils.sinDeg(n),E=(f*S+d*w)/this.skeleton.scaleX,M=(p*S+m*w)/this.skeleton.scaleY;(T=Math.sqrt(E*E+M*M))>1e-5&&(T=1/T),E*=T,M*=T,T=Math.sqrt(E*E+M*M),this.data.transformMode==t.TransformMode.NoScale&&f*m-d*p<0!=(this.skeleton.scaleX<0!=this.skeleton.scaleY<0)&&(T=-T);var D=Math.PI/2+Math.atan2(M,E),B=Math.cos(D)*T,P=Math.sin(D)*T;y=t.MathUtils.cosDeg(a)*r,v=t.MathUtils.cosDeg(90+o)*s,g=t.MathUtils.sinDeg(a)*r,b=t.MathUtils.sinDeg(90+o)*s,this.a=E*y+B*g,this.b=E*v+B*b,this.c=M*y+P*g,this.d=M*v+P*b}this.a*=this.skeleton.scaleX,this.b*=this.skeleton.scaleX,this.c*=this.skeleton.scaleY,this.d*=this.skeleton.scaleY},e.prototype.setToSetupPose=function(){var t=this.data;this.x=t.x,this.y=t.y,this.rotation=t.rotation,this.scaleX=t.scaleX,this.scaleY=t.scaleY,this.shearX=t.shearX,this.shearY=t.shearY},e.prototype.getWorldRotationX=function(){return Math.atan2(this.c,this.a)*t.MathUtils.radDeg},e.prototype.getWorldRotationY=function(){return Math.atan2(this.d,this.b)*t.MathUtils.radDeg},e.prototype.getWorldScaleX=function(){return Math.sqrt(this.a*this.a+this.c*this.c)},e.prototype.getWorldScaleY=function(){return Math.sqrt(this.b*this.b+this.d*this.d)},e.prototype.updateAppliedTransform=function(){this.appliedValid=!0;var e=this.parent;if(null==e)return this.ax=this.worldX,this.ay=this.worldY,this.arotation=Math.atan2(this.c,this.a)*t.MathUtils.radDeg,this.ascaleX=Math.sqrt(this.a*this.a+this.c*this.c),this.ascaleY=Math.sqrt(this.b*this.b+this.d*this.d),this.ashearX=0,void(this.ashearY=Math.atan2(this.a*this.b+this.c*this.d,this.a*this.d-this.b*this.c)*t.MathUtils.radDeg);var i=e.a,n=e.b,r=e.c,s=e.d,a=1/(i*s-n*r),o=this.worldX-e.worldX,l=this.worldY-e.worldY;this.ax=o*s*a-l*n*a,this.ay=l*i*a-o*r*a;var c=a*s,h=a*i,u=a*n,_=a*r,f=c*this.a-u*this.c,d=c*this.b-u*this.d,p=h*this.c-_*this.a,m=h*this.d-_*this.b;if(this.ashearX=0,this.ascaleX=Math.sqrt(f*f+p*p),this.ascaleX>1e-4){var y=f*m-d*p;this.ascaleY=y/this.ascaleX,this.ashearY=Math.atan2(f*d+p*m,y)*t.MathUtils.radDeg,this.arotation=Math.atan2(p,f)*t.MathUtils.radDeg}else this.ascaleX=0,this.ascaleY=Math.sqrt(d*d+m*m),this.ashearY=0,this.arotation=90-Math.atan2(m,d)*t.MathUtils.radDeg},e.prototype.worldToLocal=function(t){var e=this.a,i=this.b,n=this.c,r=this.d,s=1/(e*r-i*n),a=t.x-this.worldX,o=t.y-this.worldY;return t.x=a*r*s-o*i*s,t.y=o*e*s-a*n*s,t},e.prototype.localToWorld=function(t){var e=t.x,i=t.y;return t.x=e*this.a+i*this.b+this.worldX,t.y=e*this.c+i*this.d+this.worldY,t},e.prototype.worldToLocalRotation=function(e){var i=t.MathUtils.sinDeg(e),n=t.MathUtils.cosDeg(e);return Math.atan2(this.a*i-this.c*n,this.d*n-this.b*i)*t.MathUtils.radDeg+this.rotation-this.shearX},e.prototype.localToWorldRotation=function(e){e-=this.rotation-this.shearX;var i=t.MathUtils.sinDeg(e),n=t.MathUtils.cosDeg(e);return Math.atan2(n*this.c+i*this.d,n*this.a+i*this.b)*t.MathUtils.radDeg},e.prototype.rotateWorld=function(e){var i=this.a,n=this.b,r=this.c,s=this.d,a=t.MathUtils.cosDeg(e),o=t.MathUtils.sinDeg(e);this.a=a*i-o*r,this.b=a*n-o*s,this.c=o*i+a*r,this.d=o*n+a*s,this.appliedValid=!1},e})();t.Bone=e})(r||(r={})),(function(t){var e;t.BoneData=function(i,n,r){if(this.x=0,this.y=0,this.rotation=0,this.scaleX=1,this.scaleY=1,this.shearX=0,this.shearY=0,this.transformMode=e.Normal,this.skinRequired=!1,this.color=new t.Color,i<0)throw new Error("index must be >= 0.");if(null==n)throw new Error("name cannot be null.");this.index=i,this.name=n,this.parent=r},(function(t){t[t.Normal=0]="Normal",t[t.OnlyTranslation=1]="OnlyTranslation",t[t.NoRotationOrReflection=2]="NoRotationOrReflection",t[t.NoScale=3]="NoScale",t[t.NoScaleOrReflection=4]="NoScaleOrReflection"})(e=t.TransformMode||(t.TransformMode={}))})(r||(r={})),(function(t){t.ConstraintData=function(t,e,i){this.name=t,this.order=e,this.skinRequired=i}})(r||(r={})),(function(t){t.Event=function(t,e){if(null==e)throw new Error("data cannot be null.");this.time=t,this.data=e}})(r||(r={})),(function(t){t.EventData=function(t){this.name=t}})(r||(r={})),(function(t){var e=(function(){function e(t,e){if(this.bendDirection=0,this.compress=!1,this.stretch=!1,this.mix=1,this.softness=0,this.active=!1,null==t)throw new Error("data cannot be null.");if(null==e)throw new Error("skeleton cannot be null.");this.data=t,this.mix=t.mix,this.softness=t.softness,this.bendDirection=t.bendDirection,this.compress=t.compress,this.stretch=t.stretch,this.bones=new Array;for(var i=0;i180?d-=360:d<-180&&(d+=360);var p=e.ascaleX,m=e.ascaleY;if(r||s){var y=e.data.length*p,v=Math.sqrt(_*_+f*f);if(r&&vy&&y>1e-4){var g=(v/y-1)*o+1;p*=g,a&&(m*=g)}}e.updateWorldTransformWith(e.ax,e.ay,e.arotation+d*o,p,m,e.ashearX,e.ashearY)},e.prototype.apply2=function(e,i,n,r,s,a,o,l){if(0!=l){e.appliedValid||e.updateAppliedTransform(),i.appliedValid||i.updateAppliedTransform();var c=e.ax,h=e.ay,u=e.ascaleX,_=u,f=e.ascaleY,d=i.ascaleX,p=0,m=0,y=0;u<0?(u=-u,p=180,y=-1):(p=0,y=1),f<0&&(f=-f,y=-y),d<0?(d=-d,m=180):m=0;var v=i.ax,g=0,b=0,A=0,x=e.a,C=e.b,T=e.c,S=e.d,w=Math.abs(u-f)<=1e-4;w?(b=x*v+C*(g=i.ay)+e.worldX,A=T*v+S*g+e.worldY):(g=0,b=x*v+e.worldX,A=T*v+e.worldY);var E=e.parent;x=E.a,C=E.b,T=E.c;var M,D,B=1/(x*(S=E.d)-C*T),P=b-E.worldX,I=A-E.worldY,R=(P*S-I*C)*B-c,O=(I*x-P*T)*B-h,L=Math.sqrt(R*R+O*O),F=i.data.length*d;if(L<1e-4)return this.apply1(e,n,r,!1,a,!1,l),void i.updateWorldTransformWith(v,g,0,i.ascaleX,i.ascaleY,i.ashearX,i.ashearY);var V=((P=n-E.worldX)*S-(I=r-E.worldY)*C)*B-c,N=(I*x-P*T)*B-h,k=V*V+N*N;if(0!=o){o*=u*(d+1)/2;var z=Math.sqrt(k),G=z-L-F*u+o;if(G>0){var U=Math.min(1,G/(2*o))-1;k=(V-=(U=(G-o*(1-U*U))/z)*V)*V+(N-=U*N)*N}}t:if(w){var j=(k-L*L-(F*=u)*F)/(2*L*F);j<-1?j=-1:j>1&&(j=1,a&&(_*=(Math.sqrt(k)/(L+F)-1)*l+1)),D=Math.acos(j)*s,x=L+F*j,C=F*Math.sin(D),M=Math.atan2(N*x-V*C,V*x+N*C)}else{var H=(x=u*F)*x,W=(C=f*F)*C,X=Math.atan2(N,V),Y=-2*W*L,q=W-H;if((S=Y*Y-4*q*(T=W*L*L+H*k-H*W))>=0){var J=Math.sqrt(S);Y<0&&(J=-J);var Z=(J=-(Y+J)/2)/q,K=T/J,Q=Math.abs(Z)=-1&&T<=1&&(T=Math.acos(T),(S=(P=x*Math.cos(T)+L)*P+(I=C*Math.sin(T))*I)st&&(nt=T,st=S,rt=P,at=I)),k<=(et+st)/2?(M=X-Math.atan2(it*s,tt),D=$*s):(M=X-Math.atan2(at*s,rt),D=nt*s)}var ot=Math.atan2(g,v)*y,lt=e.arotation;(M=(M-ot)*t.MathUtils.radDeg+p-lt)>180?M-=360:M<-180&&(M+=360),e.updateWorldTransformWith(c,h,lt+M*l,_,e.ascaleY,0,0),lt=i.arotation,(D=((D+ot)*t.MathUtils.radDeg-i.ashearX)*y+m-lt)>180?D-=360:D<-180&&(D+=360),i.updateWorldTransformWith(v,g,lt+D*l,i.ascaleX,i.ascaleY,i.ashearX,i.ashearY)}else i.updateWorldTransform()},e})();t.IkConstraint=e})(r||(r={})),(function(t){var e=(function(t){function e(e){var i=t.call(this,e,0,!1)||this;return i.bones=new Array,i.bendDirection=1,i.compress=!1,i.stretch=!1,i.uniform=!1,i.mix=1,i.softness=0,i}return s(e,t),e})(t.ConstraintData);t.IkConstraintData=e})(r||(r={})),(function(t){var e=(function(){function e(t,e){if(this.position=0,this.spacing=0,this.rotateMix=0,this.translateMix=0,this.spaces=new Array,this.positions=new Array,this.world=new Array,this.curves=new Array,this.lengths=new Array,this.segments=new Array,this.active=!1,null==t)throw new Error("data cannot be null.");if(null==e)throw new Error("skeleton cannot be null.");this.data=t,this.bones=new Array;for(var i=0,n=t.bones.length;i0;if(r>0||s){var a=this.data,o=a.spacingMode==t.SpacingMode.Percent,l=a.rotateMode,c=l==t.RotateMode.Tangent,h=l==t.RotateMode.ChainScale,u=this.bones.length,_=c?u:u+1,f=this.bones,d=t.Utils.setArraySize(this.spaces,_),p=null,m=this.spacing;if(h||!o){h&&(p=t.Utils.setArraySize(this.lengths,u));for(var y=a.spacingMode==t.SpacingMode.Length,v=0,g=_-1;v0?t.MathUtils.degRad:-t.MathUtils.degRad),v=0;for(var B=3;vt.MathUtils.PI?z-=t.MathUtils.PI2:z<-t.MathUtils.PI&&(z+=t.MathUtils.PI2),z*=n,G=Math.cos(z),U=Math.sin(z),P.a=G*F-U*N,P.b=G*V-U*k,P.c=U*F+G*N,P.d=U*V+G*k}P.appliedValid=!1}}}},e.prototype.computeWorldPositions=function(i,n,r,s,a){var o=this.target,l=this.position,c=this.spaces,h=t.Utils.setArraySize(this.positions,3*n+2),u=null,_=i.closed,f=i.worldVerticesLength,d=f/6,p=e.NONE;if(!i.constantSpeed){var m=i.lengths,y=m[d-=_?1:2];if(s&&(l*=y),a)for(var v=1;vy){p!=e.AFTER&&(p=e.AFTER,i.computeWorldVertices(o,f-6,4,u,0,2)),this.addAfterPosition(A-y,u,0,h,g);continue}}for(;;b++){var x=m[b];if(!(A>x)){0==b?A/=x:A=(A-(J=m[b-1]))/(x-J);break}}b!=p&&(p=b,_&&b==d?(i.computeWorldVertices(o,f-4,4,u,0,2),i.computeWorldVertices(o,0,4,u,4,2)):i.computeWorldVertices(o,6*b+2,8,u,0,2)),this.addCurvePosition(A,u[0],u[1],u[2],u[3],u[4],u[5],u[6],u[7],h,g,r||v>0&&0==W)}return h}_?(f+=2,u=t.Utils.setArraySize(this.world,f),i.computeWorldVertices(o,2,f-4,u,0,2),i.computeWorldVertices(o,0,2,u,f-4,2),u[f-2]=u[0],u[f-1]=u[1]):(d--,f-=4,u=t.Utils.setArraySize(this.world,f),i.computeWorldVertices(o,2,f,u,0,2));for(var C=t.Utils.setArraySize(this.curves,d),T=0,S=u[0],w=u[1],E=0,M=0,D=0,B=0,P=0,I=0,R=0,O=0,L=0,F=0,V=0,N=0,k=0,z=0,G=(v=0,2);vT){this.addAfterPosition(A-T,u,f-4,h,g);continue}}for(;;b++){var X=C[b];if(!(A>X)){0==b?A/=X:A=(A-(J=C[b-1]))/(X-J);break}}if(b!=p){p=b;var Y=6*b;for(S=u[Y],w=u[Y+1],E=u[Y+2],M=u[Y+3],D=u[Y+4],B=u[Y+5],V=2*(R=.03*(S-2*E+D))+(L=.006*(3*(E-D)-S+(P=u[Y+6]))),N=2*(O=.03*(w-2*M+B))+(F=.006*(3*(M-B)-w+(I=u[Y+7]))),k=.3*(E-S)+R+.16666667*L,z=.3*(M-w)+O+.16666667*F,j=Math.sqrt(k*k+z*z),U[0]=j,Y=1;Y<8;Y++)k+=V,z+=N,V+=L,N+=F,j+=Math.sqrt(k*k+z*z),U[Y]=j;k+=V,z+=N,j+=Math.sqrt(k*k+z*z),U[8]=j,k+=V+L,z+=N+F,j+=Math.sqrt(k*k+z*z),U[9]=j,H=0}for(A*=j;;H++){var q=U[H];if(!(A>q)){var J;0==H?A/=q:A=H+(A-(J=U[H-1]))/(q-J);break}}this.addCurvePosition(.1*A,S,w,E,M,D,B,P,I,h,g,r||v>0&&0==W)}return h},e.prototype.addBeforePosition=function(t,e,i,n,r){var s=e[i],a=e[i+1],o=e[i+2]-s,l=e[i+3]-a,c=Math.atan2(l,o);n[r]=s+t*Math.cos(c),n[r+1]=a+t*Math.sin(c),n[r+2]=c},e.prototype.addAfterPosition=function(t,e,i,n,r){var s=e[i+2],a=e[i+3],o=s-e[i],l=a-e[i+1],c=Math.atan2(l,o);n[r]=s+t*Math.cos(c),n[r+1]=a+t*Math.sin(c),n[r+2]=c},e.prototype.addCurvePosition=function(t,e,i,n,r,s,a,o,l,c,h,u){if(0==t||isNaN(t))return c[h]=e,c[h+1]=i,void(c[h+2]=Math.atan2(r-i,n-e));var _=t*t,f=_*t,d=1-t,p=d*d,m=p*d,y=d*t,v=3*y,g=d*v,b=v*t,A=e*m+n*g+s*b+o*f,x=i*m+r*g+a*b+l*f;c[h]=A,c[h+1]=x,u&&(c[h+2]=t<.001?Math.atan2(r-i,n-e):Math.atan2(x-(i*p+r*y*2+a*_),A-(e*p+n*y*2+s*_)))},e.NONE=-1,e.BEFORE=-2,e.AFTER=-3,e.epsilon=1e-5,e})();t.PathConstraint=e})(r||(r={})),(function(t){var e=(function(t){function e(e){var i=t.call(this,e,0,!1)||this;return i.bones=new Array,i}return s(e,t),e})(t.ConstraintData);t.PathConstraintData=e,(function(t){t[t.Fixed=0]="Fixed",t[t.Percent=1]="Percent"})(t.PositionMode||(t.PositionMode={})),(function(t){t[t.Length=0]="Length",t[t.Fixed=1]="Fixed",t[t.Percent=2]="Percent"})(t.SpacingMode||(t.SpacingMode={})),(function(t){t[t.Tangent=0]="Tangent",t[t.Chain=1]="Chain",t[t.ChainScale=2]="ChainScale"})(t.RotateMode||(t.RotateMode={}))})(r||(r={})),(function(t){var e=(function(){function t(t){this.toLoad=new Array,this.assets={},this.clientId=t}return t.prototype.loaded=function(){var t=0;for(var e in this.assets)t++;return t},t})(),i=(function(){function t(t){void 0===t&&(t=""),this.clientAssets={},this.queuedAssets={},this.rawAssets={},this.errors={},this.pathPrefix=t}return t.prototype.queueAsset=function(t,i,n){var r=this.clientAssets[t];return null==r&&(r=new e(t),this.clientAssets[t]=r),null!==i&&(r.textureLoader=i),r.toLoad.push(n),this.queuedAssets[n]!==n&&(this.queuedAssets[n]=n,!0)},t.prototype.loadText=function(t,e){var i=this;if(e=this.pathPrefix+e,this.queueAsset(t,null,e)){var n=new XMLHttpRequest;n.onreadystatechange=function(){n.readyState==XMLHttpRequest.DONE&&(n.status>=200&&n.status<300?i.rawAssets[e]=n.responseText:i.errors[e]="Couldn't load text "+e+": status "+n.status+", "+n.responseText)},n.open("GET",e,!0),n.send()}},t.prototype.loadJson=function(t,e){var i=this;if(e=this.pathPrefix+e,this.queueAsset(t,null,e)){var n=new XMLHttpRequest;n.onreadystatechange=function(){n.readyState==XMLHttpRequest.DONE&&(n.status>=200&&n.status<300?i.rawAssets[e]=JSON.parse(n.responseText):i.errors[e]="Couldn't load text "+e+": status "+n.status+", "+n.responseText)},n.open("GET",e,!0),n.send()}},t.prototype.loadTexture=function(t,e,i){var n=this;if(i=this.pathPrefix+i,this.queueAsset(t,e,i)){var r=new Image;r.src=i,r.crossOrigin="anonymous",r.onload=function(){n.rawAssets[i]=r},r.onerror=function(){n.errors[i]="Couldn't load image "+i}}},t.prototype.get=function(t,e){e=this.pathPrefix+e;var i=this.clientAssets[t];return null==i||i.assets[e]},t.prototype.updateClientAssets=function(t){for(var e=0;e0},t.prototype.getErrors=function(){return this.errors},t})();t.SharedAssetManager=i})(r||(r={})),(function(t){var e=(function(){function e(e){if(this._updateCache=new Array,this.updateCacheReset=new Array,this.time=0,this.scaleX=1,this.scaleY=1,this.x=0,this.y=0,null==e)throw new Error("data cannot be null.");this.data=e,this.bones=new Array;for(var i=0;i1){var s=n[n.length-1];this._updateCache.indexOf(s)>-1||this.updateCacheReset.push(s)}this._updateCache.push(e),this.sortReset(r.children),n[n.length-1].sorted=!0}},e.prototype.sortPathConstraint=function(e){if(e.active=e.target.bone.isActive()&&(!e.data.skinRequired||null!=this.skin&&t.Utils.contains(this.skin.constraints,e.data,!0)),e.active){var i=e.target,n=i.data.index,r=i.bone;null!=this.skin&&this.sortPathConstraintAttachment(this.skin,n,r),null!=this.data.defaultSkin&&this.data.defaultSkin!=this.skin&&this.sortPathConstraintAttachment(this.data.defaultSkin,n,r);for(var s=0,a=this.data.skins.length;s-1||this.updateCacheReset.push(s)}else for(r=0;r0){b=new t.DrawOrderTimeline(F);var V=r.slots.length;for(h=0;h=0;f--)k[f]=-1;var z=t.Utils.newArray(V-N,0),G=0,U=0;for(f=0;f=0;f--)-1==k[f]&&(k[f]=z[--U]);b.setFrame(h,v,k)}s.push(b),o=Math.max(o,b.frames[F-1])}var j=i.readInt(!0);if(j>0){for(b=new t.EventTimeline(j),h=0;h>>1^-(1&i)},t.prototype.readStringRef=function(){var t=this.readInt(!0);return 0==t?null:this.strings[t-1]},t.prototype.readString=function(){var t=this.readInt(!0);switch(t){case 0:return null;case 1:return""}t--;for(var e="",i=0;i>4){case 12:case 13:e+=String.fromCharCode((31&n)<<6|63&this.readByte()),i+=2;break;case 14:e+=String.fromCharCode((15&n)<<12|(63&this.readByte())<<6|63&this.readByte()),i+=3;break;default:e+=String.fromCharCode(n),i++}}return e},t.prototype.readFloat=function(){var t=this.buffer.getFloat32(this.index);return this.index+=4,t},t.prototype.readBoolean=function(){return 0!=this.readByte()},t})(),n=function(t,e,i,n,r){this.mesh=t,this.skin=e,this.slotIndex=i,this.parent=n,this.inheritDeform=r},r=function(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this.bones=t,this.vertices=e}})(r||(r={})),(function(t){var e=(function(){function e(){this.minX=0,this.minY=0,this.maxX=0,this.maxY=0,this.boundingBoxes=new Array,this.polygons=new Array,this.polygonPool=new t.Pool(function(){return t.Utils.newFloatArray(16)})}return e.prototype.update=function(e,i){if(null==e)throw new Error("skeleton cannot be null.");var n=this.boundingBoxes,r=this.polygons,s=this.polygonPool,a=e.slots,o=a.length;n.length=0,s.freeAll(r),r.length=0;for(var l=0;l=this.minX&&t<=this.maxX&&e>=this.minY&&e<=this.maxY},e.prototype.aabbIntersectsSegment=function(t,e,i,n){var r=this.minX,s=this.minY,a=this.maxX,o=this.maxY;if(t<=r&&i<=r||e<=s&&n<=s||t>=a&&i>=a||e>=o&&n>=o)return!1;var l=(n-e)/(i-t),c=l*(r-t)+e;if(c>s&&cs&&cr&&hr&&ht.minX&&this.minYt.minY},e.prototype.containsPoint=function(t,e){for(var i=this.polygons,n=0,r=i.length;n=i||c=i){var h=n[o];h+(i-l)/(c-l)*(n[s]-h)=h&&g<=f||g>=f&&g<=h)&&(g>=e&&g<=n||g>=n&&g<=e)){var b=(c*y-l*p)/v;if((b>=u&&b<=d||b>=d&&b<=u)&&(b>=i&&b<=r||b>=r&&b<=i))return!0}h=f,u=d}return!1},e.prototype.getPolygon=function(t){if(null==t)throw new Error("boundingBox cannot be null.");var e=this.boundingBoxes.indexOf(t);return-1==e?null:this.polygons[e]},e.prototype.getWidth=function(){return this.maxX-this.minX},e.prototype.getHeight=function(){return this.maxY-this.minY},e})();t.SkeletonBounds=e})(r||(r={})),(function(t){var e=(function(){function e(){this.triangulator=new t.Triangulator,this.clippingPolygon=new Array,this.clipOutput=new Array,this.clippedVertices=new Array,this.clippedTriangles=new Array,this.scratch=new Array}return e.prototype.clipStart=function(i,n){if(null!=this.clipAttachment)return 0;this.clipAttachment=n;var r=n.worldVerticesLength,s=t.Utils.setArraySize(this.clippingPolygon,r);n.computeWorldVertices(i,0,r,s,0,2);var a=this.clippingPolygon;e.makeClockwise(a);for(var o=this.clippingPolygons=this.triangulator.decompose(a,this.triangulator.triangulate(a)),l=0,c=o.length;l>1,X=this.clipOutput,Y=t.Utils.setArraySize(d,N+W*v),q=0;q=2?(h=o,o=this.scratch):h=this.scratch,h.length=0,h.push(t),h.push(e),h.push(i),h.push(n),h.push(r),h.push(s),h.push(t),h.push(e),o.length=0;for(var u=a,_=a.length-4,f=0;;f+=2){for(var d=u[f],p=u[f+1],m=u[f+2],y=u[f+3],v=d-m,g=p-y,b=h,A=h.length-2,x=o.length,C=0;C0;if(v*(S-y)-g*(T-m)>0){if(M){o.push(w),o.push(E);continue}var D=(P=E-S)*(m-d)-(I=w-T)*(y-p);if(Math.abs(D)>1e-6){var B=(I*(p-S)-P*(d-T))/D;o.push(d+(m-d)*B),o.push(p+(y-p)*B)}else o.push(d),o.push(p)}else if(M){var P,I;D=(P=E-S)*(m-d)-(I=w-T)*(y-p),Math.abs(D)>1e-6?(B=(I*(p-S)-P*(d-T))/D,o.push(d+(m-d)*B),o.push(p+(y-p)*B)):(o.push(d),o.push(p)),o.push(w),o.push(E)}c=!0}if(x==o.length)return l.length=0,!0;if(o.push(o[0]),o.push(o[1]),f==_)break;var R=o;(o=h).length=0,h=R}if(l!=o){l.length=0,f=0;for(var O=o.length-2;f>1;o=0;_--)-1==X[_]&&(X[_]=q[--Z])}b.setFrame(u++,this.getValue(W,"time",0),X)}s.push(b),a=Math.max(a,b.frames[b.getFrameCount()-1])}if(e.events){for(b=new t.EventTimeline(e.events.length),u=0,_=0;_=n.length&&(n.length=t+1),n[t]||(n[t]={}),n[t][e]=i},i.prototype.addSkin=function(t){for(var e=0;e= 0.");if(null==i)throw new Error("name cannot be null.");if(null==n)throw new Error("boneData cannot be null.");this.index=e,this.name=i,this.boneData=n}})(r||(r={})),(function(t){var e,i,n=(function(){function t(t){this._image=t}return t.prototype.getImage=function(){return this._image},t.filterFromString=function(t){switch(t.toLowerCase()){case"nearest":return e.Nearest;case"linear":return e.Linear;case"mipmap":return e.MipMap;case"mipmapnearestnearest":return e.MipMapNearestNearest;case"mipmaplinearnearest":return e.MipMapLinearNearest;case"mipmapnearestlinear":return e.MipMapNearestLinear;case"mipmaplinearlinear":return e.MipMapLinearLinear;default:throw new Error("Unknown texture filter "+t)}},t.wrapFromString=function(t){switch(t.toLowerCase()){case"mirroredtepeat":return i.MirroredRepeat;case"clamptoedge":return i.ClampToEdge;case"repeat":return i.Repeat;default:throw new Error("Unknown texture wrap "+t)}},t})();t.Texture=n,(function(t){t[t.Nearest=9728]="Nearest",t[t.Linear=9729]="Linear",t[t.MipMap=9987]="MipMap",t[t.MipMapNearestNearest=9984]="MipMapNearestNearest",t[t.MipMapLinearNearest=9985]="MipMapLinearNearest",t[t.MipMapNearestLinear=9986]="MipMapNearestLinear",t[t.MipMapLinearLinear=9987]="MipMapLinearLinear"})(e=t.TextureFilter||(t.TextureFilter={})),(function(t){t[t.MirroredRepeat=33648]="MirroredRepeat",t[t.ClampToEdge=33071]="ClampToEdge",t[t.Repeat=10497]="Repeat"})(i=t.TextureWrap||(t.TextureWrap={}));t.TextureRegion=function(){this.u=0,this.v=0,this.u2=0,this.v2=0,this.width=0,this.height=0,this.rotate=!1,this.offsetX=0,this.offsetY=0,this.originalWidth=0,this.originalHeight=0};var r=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.prototype.setFilters=function(){},e.prototype.setWraps=function(){},e.prototype.dispose=function(){},e})(n);t.FakeTexture=r})(r||(r={})),(function(t){var e=(function(){function e(t,e){this.pages=new Array,this.regions=new Array,this.load(t,e)}return e.prototype.load=function(e,s){if(null==s)throw new Error("textureLoader cannot be null.");for(var a=new i(e),o=new Array(4),l=null;;){var c=a.readLine();if(null==c)break;if(0==(c=c.trim()).length)l=null;else if(l){var h=new r;h.name=c,h.page=l;var u=a.readValue();"true"==u.toLocaleLowerCase()?h.degrees=90:"false"==u.toLocaleLowerCase()?h.degrees=0:h.degrees=parseFloat(u),h.rotate=90==h.degrees,a.readTuple(o);var _=parseInt(o[0]),f=parseInt(o[1]);a.readTuple(o);var d=parseInt(o[0]),p=parseInt(o[1]);h.u=_/l.width,h.v=f/l.height,h.rotate?(h.u2=(_+p)/l.width,h.v2=(f+d)/l.height):(h.u2=(_+d)/l.width,h.v2=(f+p)/l.height),h.x=_,h.y=f,h.width=Math.abs(d),h.height=Math.abs(p),4==a.readTuple(o)&&4==a.readTuple(o)&&a.readTuple(o),h.originalWidth=parseInt(o[0]),h.originalHeight=parseInt(o[1]),a.readTuple(o),h.offsetX=parseInt(o[0]),h.offsetY=parseInt(o[1]),h.index=parseInt(a.readValue()),h.texture=l.texture,this.regions.push(h)}else{(l=new n).name=c,2==a.readTuple(o)&&(l.width=parseInt(o[0]),l.height=parseInt(o[1]),a.readTuple(o)),a.readTuple(o),l.minFilter=t.Texture.filterFromString(o[0]),l.magFilter=t.Texture.filterFromString(o[1]);var m=a.readValue();l.uWrap=t.TextureWrap.ClampToEdge,l.vWrap=t.TextureWrap.ClampToEdge,"x"==m?l.uWrap=t.TextureWrap.Repeat:"y"==m?l.vWrap=t.TextureWrap.Repeat:"xy"==m&&(l.uWrap=l.vWrap=t.TextureWrap.Repeat),l.texture=s(c),l.texture.setFilters(l.minFilter,l.magFilter),l.texture.setWraps(l.uWrap,l.vWrap),l.width=l.texture.getImage().width,l.height=l.texture.getImage().height,this.pages.push(l)}}},e.prototype.findRegion=function(t){for(var e=0;e=this.lines.length?null:this.lines[this.index++]},t.prototype.readValue=function(){var t=this.readLine(),e=t.indexOf(":");if(-1==e)throw new Error("Invalid line: "+t);return t.substring(e+1).trim()},t.prototype.readTuple=function(t){var e=this.readLine(),i=e.indexOf(":");if(-1==i)throw new Error("Invalid line: "+e);for(var n=0,r=i+1;n<3;n++){var s=e.indexOf(",",r);if(-1==s)break;t[n]=e.substr(r,s-r).trim(),r=s+1}return t[n]=e.substring(r).trim(),n+1},t})(),n=function(){};t.TextureAtlasPage=n;var r=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e})(t.TextureRegion);t.TextureAtlasRegion=r})(r||(r={})),(function(t){var e=(function(){function e(e,i){if(this.rotateMix=0,this.translateMix=0,this.scaleMix=0,this.shearMix=0,this.temp=new t.Vector2,this.active=!1,null==e)throw new Error("data cannot be null.");if(null==i)throw new Error("skeleton cannot be null.");this.data=e,this.rotateMix=e.rotateMix,this.translateMix=e.translateMix,this.scaleMix=e.scaleMix,this.shearMix=e.shearMix,this.bones=new Array;for(var n=0;n0?t.MathUtils.degRad:-t.MathUtils.degRad,u=this.data.offsetRotation*h,_=this.data.offsetShearY*h,f=this.bones,d=0,p=f.length;dt.MathUtils.PI?E-=t.MathUtils.PI2:E<-t.MathUtils.PI&&(E+=t.MathUtils.PI2),E*=e;var x=Math.cos(E),C=Math.sin(E);m.a=x*v-C*b,m.b=x*g-C*A,m.c=C*v+x*b,m.d=C*g+x*A,y=!0}if(0!=i){var T=this.temp;s.localToWorld(T.set(this.data.offsetX,this.data.offsetY)),m.worldX+=(T.x-m.worldX)*i,m.worldY+=(T.y-m.worldY)*i,y=!0}if(n>0){var S=Math.sqrt(m.a*m.a+m.c*m.c),w=Math.sqrt(a*a+l*l);S>1e-5&&(S=(S+(w-S+this.data.offsetScaleX)*n)/S),m.a*=S,m.c*=S,S=Math.sqrt(m.b*m.b+m.d*m.d),w=Math.sqrt(o*o+c*c),S>1e-5&&(S=(S+(w-S+this.data.offsetScaleY)*n)/S),m.b*=S,m.d*=S,y=!0}if(r>0){g=m.b,A=m.d;var E,M=Math.atan2(A,g);(E=Math.atan2(c,o)-Math.atan2(l,a)-(M-Math.atan2(m.c,m.a)))>t.MathUtils.PI?E-=t.MathUtils.PI2:E<-t.MathUtils.PI&&(E+=t.MathUtils.PI2),E=M+(E+_)*r,S=Math.sqrt(g*g+A*A),m.b=Math.cos(E)*S,m.d=Math.sin(E)*S,y=!0}y&&(m.appliedValid=!1)}},e.prototype.applyRelativeWorld=function(){for(var e=this.rotateMix,i=this.translateMix,n=this.scaleMix,r=this.shearMix,s=this.target,a=s.a,o=s.b,l=s.c,c=s.d,h=a*c-o*l>0?t.MathUtils.degRad:-t.MathUtils.degRad,u=this.data.offsetRotation*h,_=this.data.offsetShearY*h,f=this.bones,d=0,p=f.length;dt.MathUtils.PI?m-=t.MathUtils.PI2:m<-t.MathUtils.PI&&(m+=t.MathUtils.PI2),m*=e;var C=Math.cos(m),T=Math.sin(m);y.a=C*g-T*A,y.b=C*b-T*x,y.c=T*g+C*A,y.d=T*b+C*x,v=!0}if(0!=i){var S=this.temp;s.localToWorld(S.set(this.data.offsetX,this.data.offsetY)),y.worldX+=S.x*i,y.worldY+=S.y*i,v=!0}if(n>0){var w=(Math.sqrt(a*a+l*l)-1+this.data.offsetScaleX)*n+1;y.a*=w,y.c*=w,w=(Math.sqrt(o*o+c*c)-1+this.data.offsetScaleY)*n+1,y.b*=w,y.d*=w,v=!0}if(r>0)(m=Math.atan2(c,o)-Math.atan2(l,a))>t.MathUtils.PI?m-=t.MathUtils.PI2:m<-t.MathUtils.PI&&(m+=t.MathUtils.PI2),b=y.b,x=y.d,m=Math.atan2(x,b)+(m-t.MathUtils.PI/2+_)*r,w=Math.sqrt(b*b+x*x),y.b=Math.cos(m)*w,y.d=Math.sin(m)*w,v=!0;v&&(y.appliedValid=!1)}},e.prototype.applyAbsoluteLocal=function(){var t=this.rotateMix,e=this.translateMix,i=this.scaleMix,n=this.shearMix,r=this.target;r.appliedValid||r.updateAppliedTransform();for(var s=this.bones,a=0,o=s.length;a1e-5&&(f=(f+(r.ascaleX-f+this.data.offsetScaleX)*i)/f),d>1e-5&&(d=(d+(r.ascaleY-d+this.data.offsetScaleY)*i)/d));var p=l.ashearY;0!=n&&(h=r.ashearY-p+this.data.offsetShearY,h-=360*(16384-(16384.499999999996-h/360|0)),l.shearY+=h*n),l.updateWorldTransformWith(u,_,c,f,d,l.ashearX,p)}},e.prototype.applyRelativeLocal=function(){var t=this.rotateMix,e=this.translateMix,i=this.scaleMix,n=this.shearMix,r=this.target;r.appliedValid||r.updateAppliedTransform();for(var s=this.bones,a=0,o=s.length;a1e-5&&(_*=(r.ascaleX-1+this.data.offsetScaleX)*i+1),f>1e-5&&(f*=(r.ascaleY-1+this.data.offsetScaleY)*i+1));var d=l.ashearY;0!=n&&(d+=(r.ashearY+this.data.offsetShearY)*n),l.updateWorldTransformWith(h,u,c,_,f,l.ashearX,d)}},e})();t.TransformConstraint=e})(r||(r={})),(function(t){var e=(function(t){function e(e){var i=t.call(this,e,0,!1)||this;return i.bones=new Array,i.rotateMix=0,i.translateMix=0,i.scaleMix=0,i.shearMix=0,i.offsetRotation=0,i.offsetX=0,i.offsetY=0,i.offsetScaleX=0,i.offsetScaleY=0,i.offsetShearY=0,i.relative=!1,i.local=!1,i}return s(e,t),e})(t.ConstraintData);t.TransformConstraintData=e})(r||(r={})),(function(t){var e=(function(){function e(){this.convexPolygons=new Array,this.convexPolygonsIndices=new Array,this.indicesArray=new Array,this.isConcaveArray=new Array,this.triangles=new Array,this.polygonPool=new t.Pool(function(){return new Array}),this.polygonIndicesPool=new t.Pool(function(){return new Array})}return e.prototype.triangulate=function(t){var i=t,n=t.length>>1,r=this.indicesArray;r.length=0;for(var s=0;s3;){for(var c=n-1,h=(s=0,1);;){t:if(!a[s]){for(var u=r[c]<<1,_=r[s]<<1,f=r[h]<<1,d=i[u],p=i[u+1],m=i[_],y=i[_+1],v=i[f],g=i[f+1],b=(h+1)%n;b!=c;b=(b+1)%n)if(a[b]){var A=r[b]<<1,x=i[A],C=i[A+1];if(e.positiveArea(v,g,d,p,x,C)&&e.positiveArea(d,p,m,y,x,C)&&e.positiveArea(m,y,v,g,x,C))break t}break}if(0==h){do{if(!a[s])break;s--}while(s>0);break}c=s,s=h,h=(h+1)%n}l.push(r[(n+s-1)%n]),l.push(r[s]),l.push(r[(s+1)%n]),r.splice(s,1),a.splice(s,1);var T=(--n+s-1)%n,S=s==n?0:s;a[T]=e.isConcave(T,n,i,r),a[S]=e.isConcave(S,n,i,r)}return 3==n&&(l.push(r[2]),l.push(r[0]),l.push(r[1])),l},e.prototype.decompose=function(t,i){var n=t,r=this.convexPolygons;this.polygonPool.freeAll(r),r.length=0;var s=this.convexPolygonsIndices;this.polygonIndicesPool.freeAll(s),s.length=0;var a=this.polygonIndicesPool.obtain();a.length=0;var o=this.polygonPool.obtain();o.length=0;for(var l=-1,c=0,h=0,u=i.length;h0?(r.push(o),s.push(a)):(this.polygonPool.free(o),this.polygonIndicesPool.free(a)),(o=this.polygonPool.obtain()).length=0,o.push(p),o.push(m),o.push(y),o.push(v),o.push(g),o.push(b),(a=this.polygonIndicesPool.obtain()).length=0,a.push(_),a.push(f),a.push(d),c=e.winding(p,m,y,v,g,b),l=_)}for(o.length>0&&(r.push(o),s.push(a)),h=0,u=r.length;h=0;h--)0==(o=r[h]).length&&(r.splice(h,1),this.polygonPool.free(o),a=s[h],s.splice(h,1),this.polygonIndicesPool.free(a));return r},e.isConcave=function(t,e,i,n){var r=n[(e+t-1)%e]<<1,s=n[t]<<1,a=n[(t+1)%e]<<1;return!this.positiveArea(i[r],i[r+1],i[s],i[s+1],i[a],i[a+1])},e.positiveArea=function(t,e,i,n,r,s){return t*(s-n)+i*(e-s)+r*(n-e)>=0},e.winding=function(t,e,i,n,r,s){var a=i-t,o=n-e;return r*o-s*a+a*e-t*o>=0?1:-1},e})();t.Triangulator=e})(r||(r={})),(function(t){var e=(function(){function t(){this.array=new Array}return t.prototype.add=function(t){var e=this.contains(t);return this.array[0|t]=0|t,!e},t.prototype.contains=function(t){return null!=this.array[0|t]},t.prototype.remove=function(t){this.array[0|t]=void 0},t.prototype.clear=function(){this.array.length=0},t})();t.IntSet=e;var i=(function(){function t(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),this.r=t,this.g=e,this.b=i,this.a=n}return t.prototype.set=function(t,e,i,n){return this.r=t,this.g=e,this.b=i,this.a=n,this.clamp(),this},t.prototype.setFromColor=function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this},t.prototype.setFromString=function(t){return t="#"==t.charAt(0)?t.substr(1):t,this.r=parseInt(t.substr(0,2),16)/255,this.g=parseInt(t.substr(2,2),16)/255,this.b=parseInt(t.substr(4,2),16)/255,this.a=(8!=t.length?255:parseInt(t.substr(6,2),16))/255,this},t.prototype.add=function(t,e,i,n){return this.r+=t,this.g+=e,this.b+=i,this.a+=n,this.clamp(),this},t.prototype.clamp=function(){return this.r<0?this.r=0:this.r>1&&(this.r=1),this.g<0?this.g=0:this.g>1&&(this.g=1),this.b<0?this.b=0:this.b>1&&(this.b=1),this.a<0?this.a=0:this.a>1&&(this.a=1),this},t.rgba8888ToColor=function(t,e){t.r=((4278190080&e)>>>24)/255,t.g=((16711680&e)>>>16)/255,t.b=((65280&e)>>>8)/255,t.a=(255&e)/255},t.rgb888ToColor=function(t,e){t.r=((16711680&e)>>>16)/255,t.g=((65280&e)>>>8)/255,t.b=(255&e)/255},t.WHITE=new t(1,1,1,1),t.RED=new t(1,0,0,1),t.GREEN=new t(0,1,0,1),t.BLUE=new t(0,0,1,1),t.MAGENTA=new t(1,0,1,1),t})();t.Color=i;var n=(function(){function t(){}return t.clamp=function(t,e,i){return ti?i:t},t.cosDeg=function(e){return Math.cos(e*t.degRad)},t.sinDeg=function(e){return Math.sin(e*t.degRad)},t.signum=function(t){return t>0?1:t<0?-1:0},t.toInt=function(t){return t>0?Math.floor(t):Math.ceil(t)},t.cbrt=function(t){var e=Math.pow(Math.abs(t),1/3);return t<0?-e:e},t.randomTriangular=function(e,i){return t.randomTriangularWith(e,i,.5*(e+i))},t.randomTriangularWith=function(t,e,i){var n=Math.random(),r=e-t;return n<=(i-t)/r?t+Math.sqrt(n*r*(i-t)):e-Math.sqrt((1-n)*r*(e-i))},t.PI=3.1415927,t.PI2=2*t.PI,t.radiansToDegrees=180/t.PI,t.radDeg=t.radiansToDegrees,t.degreesToRadians=t.PI/180,t.degRad=t.degreesToRadians,t})();t.MathUtils=n;var r=(function(){function t(){}return t.prototype.apply=function(t,e,i){return t+(e-t)*this.applyInternal(i)},t})();t.Interpolation=r;var a=(function(t){function e(e){var i=t.call(this)||this;return i.power=2,i.power=e,i}return s(e,t),e.prototype.applyInternal=function(t){return t<=.5?Math.pow(2*t,this.power)/2:Math.pow(2*(t-1),this.power)/(this.power%2==0?-2:2)+1},e})(r);t.Pow=a;var o=(function(t){function e(e){return t.call(this,e)||this}return s(e,t),e.prototype.applyInternal=function(t){return Math.pow(t-1,this.power)*(this.power%2==0?-1:1)+1},e})(a);t.PowOut=o;var l=(function(){function t(){}return t.arrayCopy=function(t,e,i,n,r){for(var s=e,a=n;s=i?e:t.setArraySize(e,i,n)},t.newArray=function(t,e){for(var i=new Array(t),n=0;n0?this.items.pop():this.instantiator()},t.prototype.free=function(t){t.reset&&t.reset(),this.items.push(t)},t.prototype.freeAll=function(t){for(var e=0;ethis.maxDelta&&(this.delta=this.maxDelta),this.lastTime=t,this.frameCount++,this.frameTime>1&&(this.framesPerSecond=this.frameCount/this.frameTime,this.frameTime=0,this.frameCount=0)},t})();t.TimeKeeper=_;var f=(function(){function t(t){void 0===t&&(t=32),this.addedValues=0,this.lastValue=0,this.mean=0,this.dirty=!0,this.values=new Array(t)}return t.prototype.hasEnoughData=function(){return this.addedValues>=this.values.length},t.prototype.addValue=function(t){this.addedValuesthis.values.length-1&&(this.lastValue=0),this.dirty=!0},t.prototype.getMean=function(){if(this.hasEnoughData()){if(this.dirty){for(var t=0,e=0;e>1)*s;var a=t.bone.skeleton,o=t.deform,l=this.vertices,c=this.bones;if(null!=c){for(var h=0,u=0,_=0;_0&&(l=o);for(var b,A=(b=t.bone).worldX,x=b.worldY,C=b.a,T=b.b,S=b.c,w=b.d,E=e,M=r;M0&&(s[b-1].vfOffset=d),s.length=b,a.length=_;var o=g-1;if(o>=0)if(v>0){var l=r[o];l.indexCount=v,l.vfCount=6*y,l.vertexCount=y,r.length=g}else r.length=g-1;if(0!=r.length){var c=n.vertices,C=n.uintVert;(!c||c.length>>0)+(S.b<<16)+(S.g<<8)+S.r,o=(w.a<<24>>>0)+(w.b<<16)+(w.g<<8)+w.r,A!==a||x!==o){var p=this._tempColors;A=a,x=o,b>0&&(p[b-1].vfOffset=d),p[b++]={fr:S.r,fg:S.g,fb:S.b,fa:S.a,dr:w.r,dg:w.g,db:w.b,da:w.a,vfOffset:0}}if(c.isClipping()){c.clipTriangles(h,C,u,T,h,S,w,!0,6,f,d,d+2);var m=c.clippedVertices,y=c.clippedTriangles;T=y.length,C=m.length/12*6;for(var v=0,g=f,E=y.length;v=0&&(v>0?((x=M[A]).indexCount=v,x.vertexCount=y,x.vfCount=6*y):g--),M[g]={tex:b,blendMode:S,indexCount:0,vertexCount:0,vfCount:0},g++,v=0,y=0),o?(a=E,C=24,T=6,i.computeWorldVertices(w.bone,h,d,6)):l&&(a=i.triangles,C=6*(i.worldVerticesLength>>1),T=a.length,i.computeWorldVertices(w,0,i.worldVerticesLength,h,d,6)),0!=C&&0!=T){for(var N=0,k=f,z=a.length;N0){for(var H=f,W=f+T;H=n&&(t&&t.call(e,!0),t=null)},a=0;a0)&&this.textureNames&&this.textureNames.length>0)return t||cc.errorID(7507,this.name),null;var e=this._getAtlas(t);if(!e)return null;var i=new sp.spine.AtlasAttachmentLoader(e),n=null,r=null;return this.skeletonJson?(r=new sp.spine.SkeletonJson(i),n=this.skeletonJson):(r=new sp.spine.SkeletonBinary(i),n=new Uint8Array(this._nativeAsset)),r.scale=this.scale,this._skeletonCache=r.readSkeletonData(n),e.dispose(),this._skeletonCache},getSkinsEnum:!1,getAnimsEnum:!1,_getTexture:function(t){for(var e=this.textureNames,i=0;i>>0)+(rt<<16)+(nt<<8)+it,at=t.dr*$,ot=t.dg*tt,lt=t.db*et,g=((a?255:0)<<24>>>0)+(lt<<16)+(ot<<8)+at}function Tt(t){return(t.a<<24>>>0)+(t.b<<16)+(t.g<<8)+t.r}var St=(function(t){var e,i;function n(){return t.apply(this,arguments)||this}i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,s(e,i);var r=n.prototype;return r.updateRenderData=function(t){if(!t.isAnimationCached()){var e=t._skeleton;e&&e.updateWorldTransform()}},r.fillVertices=function(t,e,i,n,r){var s,l=ht._vData,c=ht._iData,u=ht._uintVData;if(F.a=i.a*e.a*t.a*y*255,o=a?F.a:255,z=d*e.r*t.r*o,G=p*e.g*t.g*o,U=m*e.b*t.b*o,F.r=z*i.r,F.g=G*i.g,F.b=U*i.b,null==r.darkColor?V.set(0,0,0,1):(V.r=r.darkColor.r*z,V.g=r.darkColor.g*G,V.b=r.darkColor.b*U),V.a=a?255:0,n.isClipping()){var _=l.subarray(yt+2);n.clipTriangles(l.subarray(yt),pt,c.subarray(bt),gt,_,F,V,h,A);var f=new Float32Array(n.clippedVertices),b=n.clippedTriangles;if(gt=b.length,pt=f.length/x*A,s=ht.request(pt/A,gt),bt=s.indiceOffset,vt=s.vertexOffset,yt=s.byteOffset>>2,l=ht._vData,c=ht._iData,u=ht._uintVData,c.set(b,bt),dt)for(var C=0,T=f.length,S=yt;C>>0)+(f[w+4]<<16)+(f[w+3]<<8)+f[w+2],u[M+4]=v,h&&(g=(f[w+11]<<24>>>0)+(f[w+10]<<16)+(f[w+9]<<8)+f[w+8],u[M+5]=g)}else if(dt)for(var D=yt,B=yt+pt;D=0&&l==y.data.index&&(j=!0),j)if(c>=0&&c==y.data.index&&(j=!1),pt=0,gt=0,n=y.getAttachment())if(d=n instanceof T.RegionAttachment,p=n instanceof T.MeshAttachment,n instanceof T.ClippingAttachment)S.clipStart(y,n);else if(d||p)if(w=xt(n.region.texture._texture,y.data.blendMode)){if((H||w.getHash()!==ut.material.getHash())&&(H=!1,ut._flush(),ut.node=_t,ut.material=w),d){if(o=P,pt=4*A,gt=6,m=ht.request(4,6),bt=m.indiceOffset,vt=m.vertexOffset,yt=m.byteOffset>>2,e=ht._vData,i=ht._iData,n.computeWorldVertices(y.bone,e,yt,A),C&&u){C.strokeColor=I,C.moveTo(e[yt],e[yt+1]);for(var D=yt+A,B=yt+pt;D>1)*A,gt=o.length,m=ht.request(pt/A,gt),bt=m.indiceOffset,vt=m.vertexOffset,yt=m.byteOffset>>2,e=ht._vData,i=ht._iData,n.computeWorldVertices(y,0,n.worldVerticesLength,e,yt,A),C&&f)){C.strokeColor=L;for(var F=0,V=o.length;F0){for(var tt=bt,et=bt+gt;tt>2,n=ht._vData,r=ht._iData,s=ht._uintVData;for(var S=bt,w=bt+gt;S=A&&(Ct(b=y[m++]),A=b.vfOffset),s[R]=v,s[R+1]=g}}}}},r.fillBuffers=function(t,e){var i=t.node;if(i._renderFlag|=S.FLAG_UPDATE_RENDER_DATA,t._skeleton){var n=i._color;d=n.r/255,p=n.g/255,m=n.b/255,y=n.a/255,h=t.useTint||t.isAnimationCached(),b=h?M:E,A=h?6:5,_t=t.node,ht=e.getBuffer("spine",b),ut=e,ct=t,H=!0,a=t.premultipliedAlpha,o=1,B=0,ft=!1,dt=t._effectDelegate&&t._effectDelegate._vertexEffect,(4294967295!==n._val||a)&&(ft=!0),h&&(B|=1);var r=void 0;ct.enableBatch&&(r=_t._worldMatrix,H=!1,B|=16),t.isAnimationCached()?this.cacheTraverse(r):(dt&&dt.begin(t._skeleton),this.realTimeTraverse(r),dt&&dt.end()),e.worldMatDirty++,t.attachUtil._syncAttachedNode(),_t=void 0,ht=void 0,ut=void 0,ct=void 0,dt=null}},r.postFillBuffers=function(t,e){e.worldMatDirty--},n})(r.default);i.default=St,r.default.register(C,St),e.exports=i.default}),{"../../cocos2d/core/renderer/assembler":268,"../../cocos2d/core/renderer/render-flow":272,"../../cocos2d/core/renderer/webgl/vertex-format":313,"./Skeleton":426,"./lib/spine":428}],433:[(function(t,e){"use strict";var i=function(){this.start=null,this.end=null,this.complete=null,this.event=null,this.interrupt=null,this.dispose=null};i.getListeners=function(t){return t.listener||(t.listener=new i),t.listener},e.exports=i}),{}],434:[(function(t,e){"use strict";var i=t("./lib/spine");sp.VertexEffectDelegate=cc.Class({name:"sp.VertexEffectDelegate",ctor:function(){this._vertexEffect=null,this._interpolation=null,this._effectType="none"},clear:function(){this._vertexEffect=null,this._interpolation=null,this._effectType="none"},initJitter:function(t,e){return this._effectType="jitter",this._vertexEffect=new i.JitterEffect(t,e),this._vertexEffect},initSwirlWithPow:function(t,e){return this._interpolation=new i.Pow(e),this._vertexEffect=new i.SwirlEffect(t,this._interpolation),this._vertexEffect},initSwirlWithPowOut:function(t,e){return this._interpolation=new i.PowOut(e),this._vertexEffect=new i.SwirlEffect(t,this._interpolation),this._vertexEffect},getJitterVertexEffect:function(){return this._vertexEffect},getSwirlVertexEffect:function(){return this._vertexEffect},getVertexEffect:function(){return this._vertexEffect},getEffectType:function(){return this._effectType}}),e.exports=sp.VertexEffectDelegate}),{"./lib/spine":428}],435:[(function(t,e,i){"use strict";var n;n=function(t){function e(t,e){return void 0!==t?t:e}var i=1e37,n=1e-5,r=n*n,s=3.14159265359,a=2,o=8,l=.008,c=2/180*s,h=2*l,u=-1,_=(function(){function t(t,e,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),this.major=0,this.minor=0,this.revision=0,this.major=t,this.minor=e,this.revision=i}return t.prototype.toString=function(){return this.major+"."+this.minor+"."+this.revision},t})(),f=new _(2,3,2);function d(t,e){for(var i=[],n=0;ni?i:t}var b=isFinite;function A(t){return t*t}function x(t){return 1/Math.sqrt(t)}var C,T=Math.sqrt,S=Math.pow,w=Math.cos,E=Math.sin,M=Math.acos,D=Math.asin,B=Math.atan2,P=(function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.x=t,this.y=e}return t.prototype.Clone=function(){return new t(this.x,this.y)},t.prototype.SetZero=function(){return this.x=0,this.y=0,this},t.prototype.Set=function(t,e){return this.x=t,this.y=e,this},t.prototype.Copy=function(t){return this.x=t.x,this.y=t.y,this},t.prototype.SelfAdd=function(t){return this.x+=t.x,this.y+=t.y,this},t.prototype.SelfAddXY=function(t,e){return this.x+=t,this.y+=e,this},t.prototype.SelfSub=function(t){return this.x-=t.x,this.y-=t.y,this},t.prototype.SelfSubXY=function(t,e){return this.x-=t,this.y-=e,this},t.prototype.SelfMul=function(t){return this.x*=t,this.y*=t,this},t.prototype.SelfMulAdd=function(t,e){return this.x+=t*e.x,this.y+=t*e.y,this},t.prototype.SelfMulSub=function(t,e){return this.x-=t*e.x,this.y-=t*e.y,this},t.prototype.Dot=function(t){return this.x*t.x+this.y*t.y},t.prototype.Cross=function(t){return this.x*t.y-this.y*t.x},t.prototype.Length=function(){var t=this.x,e=this.y;return Math.sqrt(t*t+e*e)},t.prototype.LengthSquared=function(){var t=this.x,e=this.y;return t*t+e*e},t.prototype.Normalize=function(){var t=this.Length();if(t>=n){var e=1/t;this.x*=e,this.y*=e}return t},t.prototype.SelfNormalize=function(){var t=this.Length();if(t>=n){var e=1/t;this.x*=e,this.y*=e}return this},t.prototype.SelfRotate=function(t){var e=Math.cos(t),i=Math.sin(t),n=this.x;return this.x=e*n-i*this.y,this.y=i*n+e*this.y,this},t.prototype.IsValid=function(){return isFinite(this.x)&&isFinite(this.y)},t.prototype.SelfCrossVS=function(t){var e=this.x;return this.x=t*this.y,this.y=-t*e,this},t.prototype.SelfCrossSV=function(t){var e=this.x;return this.x=-t*this.y,this.y=t*e,this},t.prototype.SelfMinV=function(t){return this.x=y(this.x,t.x),this.y=y(this.y,t.y),this},t.prototype.SelfMaxV=function(t){return this.x=v(this.x,t.x),this.y=v(this.y,t.y),this},t.prototype.SelfAbs=function(){return this.x=m(this.x),this.y=m(this.y),this},t.prototype.SelfNeg=function(){return this.x=-this.x,this.y=-this.y,this},t.prototype.SelfSkew=function(){var t=this.x;return this.x=-this.y,this.y=t,this},t.MakeArray=function(e){return d(e,(function(){return new t}))},t.AbsV=function(t,e){return e.x=m(t.x),e.y=m(t.y),e},t.MinV=function(t,e,i){return i.x=y(t.x,e.x),i.y=y(t.y,e.y),i},t.MaxV=function(t,e,i){return i.x=v(t.x,e.x),i.y=v(t.y,e.y),i},t.ClampV=function(t,e,i,n){return n.x=g(t.x,e.x,i.x),n.y=g(t.y,e.y,i.y),n},t.RotateV=function(t,e,i){var n=t.x,r=t.y,s=Math.cos(e),a=Math.sin(e);return i.x=s*n-a*r,i.y=a*n+s*r,i},t.DotVV=function(t,e){return t.x*e.x+t.y*e.y},t.CrossVV=function(t,e){return t.x*e.y-t.y*e.x},t.CrossVS=function(t,e,i){var n=t.x;return i.x=e*t.y,i.y=-e*n,i},t.CrossVOne=function(t,e){var i=t.x;return e.x=t.y,e.y=-i,e},t.CrossSV=function(t,e,i){var n=e.x;return i.x=-t*e.y,i.y=t*n,i},t.CrossOneV=function(t,e){var i=t.x;return e.x=-t.y,e.y=i,e},t.AddVV=function(t,e,i){return i.x=t.x+e.x,i.y=t.y+e.y,i},t.SubVV=function(t,e,i){return i.x=t.x-e.x,i.y=t.y-e.y,i},t.MulSV=function(t,e,i){return i.x=e.x*t,i.y=e.y*t,i},t.MulVS=function(t,e,i){return i.x=t.x*e,i.y=t.y*e,i},t.AddVMulSV=function(t,e,i,n){return n.x=t.x+e*i.x,n.y=t.y+e*i.y,n},t.SubVMulSV=function(t,e,i,n){return n.x=t.x-e*i.x,n.y=t.y-e*i.y,n},t.AddVCrossSV=function(t,e,i,n){var r=i.x;return n.x=t.x-e*i.y,n.y=t.y+e*r,n},t.MidVV=function(t,e,i){return i.x=.5*(t.x+e.x),i.y=.5*(t.y+e.y),i},t.ExtVV=function(t,e,i){return i.x=.5*(e.x-t.x),i.y=.5*(e.y-t.y),i},t.IsEqualToV=function(t,e){return t.x===e.x&&t.y===e.y},t.DistanceVV=function(t,e){var i=t.x-e.x,n=t.y-e.y;return Math.sqrt(i*i+n*n)},t.DistanceSquaredVV=function(t,e){var i=t.x-e.x,n=t.y-e.y;return i*i+n*n},t.NegV=function(t,e){return e.x=-t.x,e.y=-t.y,e},t.ZERO=new t(0,0),t.UNITX=new t(1,0),t.UNITY=new t(0,1),t.s_t0=new t,t.s_t1=new t,t.s_t2=new t,t.s_t3=new t,t})(),I=new P(0,0),R=(function(){function t(t,e,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),this.x=t,this.y=e,this.z=i}return t.prototype.Clone=function(){return new t(this.x,this.y,this.z)},t.prototype.SetZero=function(){return this.x=0,this.y=0,this.z=0,this},t.prototype.SetXYZ=function(t,e,i){return this.x=t,this.y=e,this.z=i,this},t.prototype.Copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},t.prototype.SelfNeg=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},t.prototype.SelfAdd=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this},t.prototype.SelfAddXYZ=function(t,e,i){return this.x+=t,this.y+=e,this.z+=i,this},t.prototype.SelfSub=function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this},t.prototype.SelfSubXYZ=function(t,e,i){return this.x-=t,this.y-=e,this.z-=i,this},t.prototype.SelfMul=function(t){return this.x*=t,this.y*=t,this.z*=t,this},t.DotV3V3=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z},t.CrossV3V3=function(t,e,i){var n=t.x,r=t.y,s=t.z,a=e.x,o=e.y,l=e.z;return i.x=r*l-s*o,i.y=s*a-n*l,i.z=n*o-r*a,i},t.ZERO=new t(0,0,0),t.s_t0=new t,t})(),O=(function(){function t(){this.ex=new P(1,0),this.ey=new P(0,1)}return t.prototype.Clone=function(){return(new t).Copy(this)},t.FromVV=function(e,i){return(new t).SetVV(e,i)},t.FromSSSS=function(e,i,n,r){return(new t).SetSSSS(e,i,n,r)},t.FromAngle=function(e){return(new t).SetAngle(e)},t.prototype.SetSSSS=function(t,e,i,n){return this.ex.Set(t,i),this.ey.Set(e,n),this},t.prototype.SetVV=function(t,e){return this.ex.Copy(t),this.ey.Copy(e),this},t.prototype.SetAngle=function(t){var e=Math.cos(t),i=Math.sin(t);return this.ex.Set(e,i),this.ey.Set(-i,e),this},t.prototype.Copy=function(t){return this.ex.Copy(t.ex),this.ey.Copy(t.ey),this},t.prototype.SetIdentity=function(){return this.ex.Set(1,0),this.ey.Set(0,1),this},t.prototype.SetZero=function(){return this.ex.SetZero(),this.ey.SetZero(),this},t.prototype.GetAngle=function(){return Math.atan2(this.ex.y,this.ex.x)},t.prototype.GetInverse=function(t){var e=this.ex.x,i=this.ey.x,n=this.ex.y,r=this.ey.y,s=e*r-i*n;return 0!==s&&(s=1/s),t.ex.x=s*r,t.ey.x=-s*i,t.ex.y=-s*n,t.ey.y=s*e,t},t.prototype.Solve=function(t,e,i){var n=this.ex.x,r=this.ey.x,s=this.ex.y,a=this.ey.y,o=n*a-r*s;return 0!==o&&(o=1/o),i.x=o*(a*t-r*e),i.y=o*(n*e-s*t),i},t.prototype.SelfAbs=function(){return this.ex.SelfAbs(),this.ey.SelfAbs(),this},t.prototype.SelfInv=function(){return this.GetInverse(this),this},t.prototype.SelfAddM=function(t){return this.ex.SelfAdd(t.ex),this.ey.SelfAdd(t.ey),this},t.prototype.SelfSubM=function(t){return this.ex.SelfSub(t.ex),this.ey.SelfSub(t.ey),this},t.AbsM=function(t,e){var i=t.ex,n=t.ey;return e.ex.x=m(i.x),e.ex.y=m(i.y),e.ey.x=m(n.x),e.ey.y=m(n.y),e},t.MulMV=function(t,e,i){var n=t.ex,r=t.ey,s=e.x,a=e.y;return i.x=n.x*s+r.x*a,i.y=n.y*s+r.y*a,i},t.MulTMV=function(t,e,i){var n=t.ex,r=t.ey,s=e.x,a=e.y;return i.x=n.x*s+n.y*a,i.y=r.x*s+r.y*a,i},t.AddMM=function(t,e,i){var n=t.ex,r=t.ey,s=e.ex,a=e.ey;return i.ex.x=n.x+s.x,i.ex.y=n.y+s.y,i.ey.x=r.x+a.x,i.ey.y=r.y+a.y,i},t.MulMM=function(t,e,i){var n=t.ex.x,r=t.ex.y,s=t.ey.x,a=t.ey.y,o=e.ex.x,l=e.ex.y,c=e.ey.x,h=e.ey.y;return i.ex.x=n*o+s*l,i.ex.y=r*o+a*l,i.ey.x=n*c+s*h,i.ey.y=r*c+a*h,i},t.MulTMM=function(t,e,i){var n=t.ex.x,r=t.ex.y,s=t.ey.x,a=t.ey.y,o=e.ex.x,l=e.ex.y,c=e.ey.x,h=e.ey.y;return i.ex.x=n*o+r*l,i.ex.y=s*o+a*l,i.ey.x=n*c+r*h,i.ey.y=s*c+a*h,i},t.IDENTITY=new t,t})(),L=(function(){function t(){this.ex=new R(1,0,0),this.ey=new R(0,1,0),this.ez=new R(0,0,1)}return t.prototype.Clone=function(){return(new t).Copy(this)},t.prototype.SetVVV=function(t,e,i){return this.ex.Copy(t),this.ey.Copy(e),this.ez.Copy(i),this},t.prototype.Copy=function(t){return this.ex.Copy(t.ex),this.ey.Copy(t.ey),this.ez.Copy(t.ez),this},t.prototype.SetIdentity=function(){return this.ex.SetXYZ(1,0,0),this.ey.SetXYZ(0,1,0),this.ez.SetXYZ(0,0,1),this},t.prototype.SetZero=function(){return this.ex.SetZero(),this.ey.SetZero(),this.ez.SetZero(),this},t.prototype.SelfAddM=function(t){return this.ex.SelfAdd(t.ex),this.ey.SelfAdd(t.ey),this.ez.SelfAdd(t.ez),this},t.prototype.Solve33=function(t,e,i,n){var r=this.ex.x,s=this.ex.y,a=this.ex.z,o=this.ey.x,l=this.ey.y,c=this.ey.z,h=this.ez.x,u=this.ez.y,_=this.ez.z,f=r*(l*_-c*u)+s*(c*h-o*_)+a*(o*u-l*h);return 0!==f&&(f=1/f),n.x=f*(t*(l*_-c*u)+e*(c*h-o*_)+i*(o*u-l*h)),n.y=f*(r*(e*_-i*u)+s*(i*h-t*_)+a*(t*u-e*h)),n.z=f*(r*(l*i-c*e)+s*(c*t-o*i)+a*(o*e-l*t)),n},t.prototype.Solve22=function(t,e,i){var n=this.ex.x,r=this.ey.x,s=this.ex.y,a=this.ey.y,o=n*a-r*s;return 0!==o&&(o=1/o),i.x=o*(a*t-r*e),i.y=o*(n*e-s*t),i},t.prototype.GetInverse22=function(t){var e=this.ex.x,i=this.ey.x,n=this.ex.y,r=this.ey.y,s=e*r-i*n;0!==s&&(s=1/s),t.ex.x=s*r,t.ey.x=-s*i,t.ex.z=0,t.ex.y=-s*n,t.ey.y=s*e,t.ey.z=0,t.ez.x=0,t.ez.y=0,t.ez.z=0},t.prototype.GetSymInverse33=function(t){var e=R.DotV3V3(this.ex,R.CrossV3V3(this.ey,this.ez,R.s_t0));0!==e&&(e=1/e);var i=this.ex.x,n=this.ey.x,r=this.ez.x,s=this.ey.y,a=this.ez.y,o=this.ez.z;t.ex.x=e*(s*o-a*a),t.ex.y=e*(r*a-n*o),t.ex.z=e*(n*a-r*s),t.ey.x=t.ex.y,t.ey.y=e*(i*o-r*r),t.ey.z=e*(r*n-i*a),t.ez.x=t.ex.z,t.ez.y=t.ey.z,t.ez.z=e*(i*s-n*n)},t.MulM33V3=function(t,e,i){var n=e.x,r=e.y,s=e.z;return i.x=t.ex.x*n+t.ey.x*r+t.ez.x*s,i.y=t.ex.y*n+t.ey.y*r+t.ez.y*s,i.z=t.ex.z*n+t.ey.z*r+t.ez.z*s,i},t.MulM33XYZ=function(t,e,i,n,r){return r.x=t.ex.x*e+t.ey.x*i+t.ez.x*n,r.y=t.ex.y*e+t.ey.y*i+t.ez.y*n,r.z=t.ex.z*e+t.ey.z*i+t.ez.z*n,r},t.MulM33V2=function(t,e,i){var n=e.x,r=e.y;return i.x=t.ex.x*n+t.ey.x*r,i.y=t.ex.y*n+t.ey.y*r,i},t.MulM33XY=function(t,e,i,n){return n.x=t.ex.x*e+t.ey.x*i,n.y=t.ex.y*e+t.ey.y*i,n},t.IDENTITY=new t,t})(),F=(function(){function t(t){void 0===t&&(t=0),this.s=0,this.c=1,t&&(this.s=Math.sin(t),this.c=Math.cos(t))}return t.prototype.Clone=function(){return(new t).Copy(this)},t.prototype.Copy=function(t){return this.s=t.s,this.c=t.c,this},t.prototype.SetAngle=function(t){return this.s=Math.sin(t),this.c=Math.cos(t),this},t.prototype.SetIdentity=function(){return this.s=0,this.c=1,this},t.prototype.GetAngle=function(){return Math.atan2(this.s,this.c)},t.prototype.GetXAxis=function(t){return t.x=this.c,t.y=this.s,t},t.prototype.GetYAxis=function(t){return t.x=-this.s,t.y=this.c,t},t.MulRR=function(t,e,i){var n=t.c,r=t.s,s=e.c,a=e.s;return i.s=r*s+n*a,i.c=n*s-r*a,i},t.MulTRR=function(t,e,i){var n=t.c,r=t.s,s=e.c,a=e.s;return i.s=n*a-r*s,i.c=n*s+r*a,i},t.MulRV=function(t,e,i){var n=t.c,r=t.s,s=e.x,a=e.y;return i.x=n*s-r*a,i.y=r*s+n*a,i},t.MulTRV=function(t,e,i){var n=t.c,r=t.s,s=e.x,a=e.y;return i.x=n*s+r*a,i.y=-r*s+n*a,i},t.IDENTITY=new t,t})(),V=(function(){function t(){this.p=new P,this.q=new F}return t.prototype.Clone=function(){return(new t).Copy(this)},t.prototype.Copy=function(t){return this.p.Copy(t.p),this.q.Copy(t.q),this},t.prototype.SetIdentity=function(){return this.p.SetZero(),this.q.SetIdentity(),this},t.prototype.SetPositionRotation=function(t,e){return this.p.Copy(t),this.q.Copy(e),this},t.prototype.SetPositionAngle=function(t,e){return this.p.Copy(t),this.q.SetAngle(e),this},t.prototype.SetPosition=function(t){return this.p.Copy(t),this},t.prototype.SetPositionXY=function(t,e){return this.p.Set(t,e),this},t.prototype.SetRotation=function(t){return this.q.Copy(t),this},t.prototype.SetRotationAngle=function(t){return this.q.SetAngle(t),this},t.prototype.GetPosition=function(){return this.p},t.prototype.GetRotation=function(){return this.q},t.prototype.GetRotationAngle=function(){return this.q.GetAngle()},t.prototype.GetAngle=function(){return this.q.GetAngle()},t.MulXV=function(t,e,i){var n=t.q.c,r=t.q.s,s=e.x,a=e.y;return i.x=n*s-r*a+t.p.x,i.y=r*s+n*a+t.p.y,i},t.MulTXV=function(t,e,i){var n=t.q.c,r=t.q.s,s=e.x-t.p.x,a=e.y-t.p.y;return i.x=n*s+r*a,i.y=-r*s+n*a,i},t.MulXX=function(t,e,i){return F.MulRR(t.q,e.q,i.q),P.AddVV(F.MulRV(t.q,e.p,i.p),t.p,i.p),i},t.MulTXX=function(t,e,i){return F.MulTRR(t.q,e.q,i.q),F.MulTRV(t.q,P.SubVV(e.p,t.p,i.p),i.p),i},t.IDENTITY=new t,t})(),N=(function(){function t(){this.localCenter=new P,this.c0=new P,this.c=new P,this.a0=0,this.a=0,this.alpha0=0}return t.prototype.Clone=function(){return(new t).Copy(this)},t.prototype.Copy=function(t){return this.localCenter.Copy(t.localCenter),this.c0.Copy(t.c0),this.c.Copy(t.c),this.a0=t.a0,this.a=t.a,this.alpha0=t.alpha0,this},t.prototype.GetTransform=function(t,e){var i=1-e;t.p.x=i*this.c0.x+e*this.c.x,t.p.y=i*this.c0.y+e*this.c.y;var n=i*this.a0+e*this.a;return t.q.SetAngle(n),t.p.SelfSub(F.MulRV(t.q,this.localCenter,P.s_t0)),t},t.prototype.Advance=function(t){var e=(t-this.alpha0)/(1-this.alpha0),i=1-e;this.c0.x=i*this.c0.x+e*this.c.x,this.c0.y=i*this.c0.y+e*this.c.y,this.a0=i*this.a0+e*this.a,this.alpha0=t},t.prototype.Normalize=function(){var t=6.28318530718*Math.floor(this.a0/6.28318530718);this.a0-=t,this.a-=t},t})(),k=(function(){function t(t,e,i,n){void 0===t&&(t=.5),void 0===e&&(e=.5),void 0===i&&(i=.5),void 0===n&&(n=1),this.r=t,this.g=e,this.b=i,this.a=n}return t.prototype.Clone=function(){return(new t).Copy(this)},t.prototype.Copy=function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this},t.prototype.IsEqual=function(t){return this.r===t.r&&this.g===t.g&&this.b===t.b&&this.a===t.a},t.prototype.IsZero=function(){return 0===this.r&&0===this.g&&0===this.b&&0===this.a},t.prototype.Set=function(t,e,i,n){void 0===n&&(n=this.a),this.SetRGBA(t,e,i,n)},t.prototype.SetByteRGB=function(t,e,i){return this.r=t/255,this.g=e/255,this.b=i/255,this},t.prototype.SetByteRGBA=function(t,e,i,n){return this.r=t/255,this.g=e/255,this.b=i/255,this.a=n/255,this},t.prototype.SetRGB=function(t,e,i){return this.r=t,this.g=e,this.b=i,this},t.prototype.SetRGBA=function(t,e,i,n){return this.r=t,this.g=e,this.b=i,this.a=n,this},t.prototype.SelfAdd=function(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this.a+=t.a,this},t.prototype.Add=function(t,e){return e.r=this.r+t.r,e.g=this.g+t.g,e.b=this.b+t.b,e.a=this.a+t.a,e},t.prototype.SelfSub=function(t){return this.r-=t.r,this.g-=t.g,this.b-=t.b,this.a-=t.a,this},t.prototype.Sub=function(t,e){return e.r=this.r-t.r,e.g=this.g-t.g,e.b=this.b-t.b,e.a=this.a-t.a,e},t.prototype.SelfMul=function(t){return this.r*=t,this.g*=t,this.b*=t,this.a*=t,this},t.prototype.Mul=function(t,e){return e.r=this.r*t,e.g=this.g*t,e.b=this.b*t,e.a=this.a*t,e},t.prototype.Mix=function(e,i){t.MixColors(this,e,i)},t.MixColors=function(t,e,i){var n=i*(e.r-t.r),r=i*(e.g-t.g),s=i*(e.b-t.b),a=i*(e.a-t.a);t.r+=n,t.g+=r,t.b+=s,t.a+=a,e.r-=n,e.g-=r,e.b-=s,e.a-=a},t.prototype.MakeStyleString=function(e){return void 0===e&&(e=this.a),t.MakeStyleString(this.r,this.g,this.b,e)},t.MakeStyleString=function(t,e,i,n){return void 0===n&&(n=1),t*=255,e*=255,i*=255,n<1?"rgba("+t+","+e+","+i+","+n+")":"rgb("+t+","+e+","+i+")"},t.ZERO=new t(0,0,0,0),t.RED=new t(1,0,0),t.GREEN=new t(0,1,0),t.BLUE=new t(0,0,1),t})();(C=t.b2DrawFlags||(t.b2DrawFlags={}))[C.e_none=0]="e_none",C[C.e_shapeBit=1]="e_shapeBit",C[C.e_jointBit=2]="e_jointBit",C[C.e_aabbBit=4]="e_aabbBit",C[C.e_pairBit=8]="e_pairBit",C[C.e_centerOfMassBit=16]="e_centerOfMassBit",C[C.e_particleBit=32]="e_particleBit",C[C.e_controllerBit=64]="e_controllerBit",C[C.e_all=63]="e_all";var z=(function(){function t(){this.m_drawFlags=0}return t.prototype.SetFlags=function(t){this.m_drawFlags=t},t.prototype.GetFlags=function(){return this.m_drawFlags},t.prototype.AppendFlags=function(t){this.m_drawFlags|=t},t.prototype.ClearFlags=function(t){this.m_drawFlags&=~t},t})(),G=(function(){function t(){this.m_start=Date.now()}return t.prototype.Reset=function(){return this.m_start=Date.now(),this},t.prototype.GetMilliseconds=function(){return Date.now()-this.m_start},t})(),U=(function(){function t(){this.m_count=0,this.m_min_count=0,this.m_max_count=0}return t.prototype.GetCount=function(){return this.m_count},t.prototype.GetMinCount=function(){return this.m_min_count},t.prototype.GetMaxCount=function(){return this.m_max_count},t.prototype.ResetCount=function(){var t=this.m_count;return this.m_count=0,t},t.prototype.ResetMinCount=function(){this.m_min_count=0},t.prototype.ResetMaxCount=function(){this.m_max_count=0},t.prototype.Increment=function(){this.m_count++,this.m_max_countthis.m_count&&(this.m_min_count=this.m_count)},t})(),j=(function(){function t(t){this.m_stack=[],this.m_count=0,this.m_stack=d(t,(function(){return null})),this.m_count=0}return t.prototype.Reset=function(){return this.m_count=0,this},t.prototype.Push=function(t){this.m_stack[this.m_count]=t,this.m_count++},t.prototype.Pop=function(){this.m_count--;var t=this.m_stack[this.m_count];if(this.m_stack[this.m_count]=null,null===t)throw new Error;return t},t.prototype.GetCount=function(){return this.m_count},t})(),H=(function(){function t(){this.m_buffer=P.MakeArray(2),this.m_vertices=this.m_buffer,this.m_count=0,this.m_radius=0}return t.prototype.Copy=function(t){return t.m_vertices===t.m_buffer?(this.m_vertices=this.m_buffer,this.m_buffer[0].Copy(t.m_buffer[0]),this.m_buffer[1].Copy(t.m_buffer[1])):this.m_vertices=t.m_vertices,this.m_count=t.m_count,this.m_radius=t.m_radius,this},t.prototype.Reset=function(){return this.m_vertices=this.m_buffer,this.m_count=0,this.m_radius=0,this},t.prototype.SetShape=function(t,e){t.SetupDistanceProxy(this,e)},t.prototype.SetVerticesRadius=function(t,e,i){this.m_vertices=t,this.m_count=e,this.m_radius=i},t.prototype.GetSupport=function(t){for(var e=0,i=P.DotVV(this.m_vertices[0],t),n=1;ni&&(e=n,i=r)}return e},t.prototype.GetSupportVertex=function(t){for(var e=0,i=P.DotVV(this.m_vertices[0],t),n=1;ni&&(e=n,i=r)}return this.m_vertices[e]},t.prototype.GetVertexCount=function(){return this.m_count},t.prototype.GetVertex=function(t){return this.m_vertices[t]},t})(),W=(function(){function t(){this.metric=0,this.count=0,this.indexA=[0,0,0],this.indexB=[0,0,0]}return t.prototype.Reset=function(){return this.metric=0,this.count=0,this},t})(),X=(function(){function t(){this.proxyA=new H,this.proxyB=new H,this.transformA=new V,this.transformB=new V,this.useRadii=!1}return t.prototype.Reset=function(){return this.proxyA.Reset(),this.proxyB.Reset(),this.transformA.SetIdentity(),this.transformB.SetIdentity(),this.useRadii=!1,this},t})(),Y=(function(){function t(){this.pointA=new P,this.pointB=new P,this.distance=0,this.iterations=0}return t.prototype.Reset=function(){return this.pointA.SetZero(),this.pointB.SetZero(),this.distance=0,this.iterations=0,this},t})();t.b2_gjkCalls=0,t.b2_gjkIters=0,t.b2_gjkMaxIters=0;var q=(function(){function t(){this.wA=new P,this.wB=new P,this.w=new P,this.a=0,this.indexA=0,this.indexB=0}return t.prototype.Copy=function(t){return this.wA.Copy(t.wA),this.wB.Copy(t.wB),this.w.Copy(t.w),this.a=t.a,this.indexA=t.indexA,this.indexB=t.indexB,this},t})(),J=(function(){function t(){this.m_v1=new q,this.m_v2=new q,this.m_v3=new q,this.m_vertices=[],this.m_count=0,this.m_vertices[0]=this.m_v1,this.m_vertices[1]=this.m_v2,this.m_vertices[2]=this.m_v3}return t.prototype.ReadCache=function(t,e,i,r,s){this.m_count=t.count;for(var a=this.m_vertices,o=0;o1){var h=t.metric,u=this.GetMetric();(u<.5*h||2*h0?P.CrossOneV(e,t):P.CrossVOne(e,t);default:return t.SetZero()}},t.prototype.GetClosestPoint=function(t){switch(this.m_count){case 0:return t.SetZero();case 1:return t.Copy(this.m_v1.w);case 2:return t.Set(this.m_v1.a*this.m_v1.w.x+this.m_v2.a*this.m_v2.w.x,this.m_v1.a*this.m_v1.w.y+this.m_v2.a*this.m_v2.w.y);case 3:default:return t.SetZero()}},t.prototype.GetWitnessPoints=function(t,e){switch(this.m_count){case 0:break;case 1:t.Copy(this.m_v1.wA),e.Copy(this.m_v1.wB);break;case 2:t.x=this.m_v1.a*this.m_v1.wA.x+this.m_v2.a*this.m_v2.wA.x,t.y=this.m_v1.a*this.m_v1.wA.y+this.m_v2.a*this.m_v2.wA.y,e.x=this.m_v1.a*this.m_v1.wB.x+this.m_v2.a*this.m_v2.wB.x,e.y=this.m_v1.a*this.m_v1.wB.y+this.m_v2.a*this.m_v2.wB.y;break;case 3:e.x=t.x=this.m_v1.a*this.m_v1.wA.x+this.m_v2.a*this.m_v2.wA.x+this.m_v3.a*this.m_v3.wA.x,e.y=t.y=this.m_v1.a*this.m_v1.wA.y+this.m_v2.a*this.m_v2.wA.y+this.m_v3.a*this.m_v3.wA.y}},t.prototype.GetMetric=function(){switch(this.m_count){case 0:case 1:return 0;case 2:return P.DistanceVV(this.m_v1.w,this.m_v2.w);case 3:return P.CrossVV(P.SubVV(this.m_v2.w,this.m_v1.w,P.s_t0),P.SubVV(this.m_v3.w,this.m_v1.w,P.s_t1));default:return 0}},t.prototype.Solve2=function(){var e=this.m_v1.w,i=this.m_v2.w,n=P.SubVV(i,e,t.s_e12),r=-P.DotVV(e,n);if(r<=0)return this.m_v1.a=1,void(this.m_count=1);var s=P.DotVV(i,n);if(s<=0)return this.m_v2.a=1,this.m_count=1,void this.m_v1.Copy(this.m_v2);var a=1/(s+r);this.m_v1.a=s*a,this.m_v2.a=r*a,this.m_count=2},t.prototype.Solve3=function(){var e=this.m_v1.w,i=this.m_v2.w,n=this.m_v3.w,r=P.SubVV(i,e,t.s_e12),s=P.DotVV(e,r),a=P.DotVV(i,r),o=-s,l=P.SubVV(n,e,t.s_e13),c=P.DotVV(e,l),h=P.DotVV(n,l),u=-c,_=P.SubVV(n,i,t.s_e23),f=P.DotVV(i,_),d=P.DotVV(n,_),p=-f,m=P.CrossVV(r,l),y=m*P.CrossVV(i,n),v=m*P.CrossVV(n,e),g=m*P.CrossVV(e,i);if(o<=0&&u<=0)return this.m_v1.a=1,void(this.m_count=1);if(a>0&&o>0&&g<=0){var b=1/(a+o);return this.m_v1.a=a*b,this.m_v2.a=o*b,void(this.m_count=2)}if(h>0&&u>0&&v<=0){var A=1/(h+u);return this.m_v1.a=h*A,this.m_v3.a=u*A,this.m_count=2,void this.m_v2.Copy(this.m_v3)}if(a<=0&&p<=0)return this.m_v2.a=1,this.m_count=1,void this.m_v1.Copy(this.m_v2);if(h<=0&&d<=0)return this.m_v3.a=1,this.m_count=1,void this.m_v1.Copy(this.m_v3);if(d>0&&p>0&&y<=0){var x=1/(d+p);return this.m_v2.a=d*x,this.m_v3.a=p*x,this.m_count=2,void this.m_v1.Copy(this.m_v3)}var C=1/(y+v+g);this.m_v1.a=y*C,this.m_v2.a=v*C,this.m_v3.a=g*C,this.m_count=3},t.s_e12=new P,t.s_e13=new P,t.s_e23=new P,t})(),Z=new J,K=[0,0,0],Q=[0,0,0],$=new P,tt=new P,et=new P,it=new P,nt=new P;function rt(e,i,s){++t.b2_gjkCalls;var a=s.proxyA,o=s.proxyB,l=s.transformA,c=s.transformB,h=Z;h.ReadCache(i,a,l,o,c);for(var u=h.m_vertices,_=K,f=Q,d=0,p=0;p<20;){d=h.m_count;for(var m=0;mA+x&&e.distance>n){e.distance-=A+x;var C=P.SubVV(e.pointB,e.pointA,et);C.Normalize(),e.pointA.SelfMulAdd(A,C),e.pointB.SelfMulSub(x,C)}else{var T=P.MidVV(e.pointA,e.pointB,$);e.pointA.Copy(T),e.pointB.Copy(T),e.distance=0}}}var st,at=new P,ot=new J,lt=new P,ct=new P,ht=new P,ut=new P,_t=new P,ft=new P;(st=t.b2ContactFeatureType||(t.b2ContactFeatureType={}))[st.e_vertex=0]="e_vertex",st[st.e_face=1]="e_face";var dt,pt=(function(){function t(){this._key=0,this._key_invalid=!1,this._indexA=0,this._indexB=0,this._typeA=0,this._typeB=0}return Object.defineProperty(t.prototype,"key",{get:function(){return this._key_invalid&&(this._key_invalid=!1,this._key=this._indexA|this._indexB<<8|this._typeA<<16|this._typeB<<24),this._key},set:function(t){this._key=t,this._key_invalid=!1,this._indexA=255&this._key,this._indexB=this._key>>8&255,this._typeA=this._key>>16&255,this._typeB=this._key>>24&255},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"indexA",{get:function(){return this._indexA},set:function(t){this._indexA=t,this._key_invalid=!0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"indexB",{get:function(){return this._indexB},set:function(t){this._indexB=t,this._key_invalid=!0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"typeA",{get:function(){return this._typeA},set:function(t){this._typeA=t,this._key_invalid=!0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"typeB",{get:function(){return this._typeB},set:function(t){this._typeB=t,this._key_invalid=!0},enumerable:!0,configurable:!0}),t})(),mt=(function(){function t(){this.cf=new pt}return t.prototype.Copy=function(t){return this.key=t.key,this},t.prototype.Clone=function(){return(new t).Copy(this)},Object.defineProperty(t.prototype,"key",{get:function(){return this.cf.key},set:function(t){this.cf.key=t},enumerable:!0,configurable:!0}),t})(),yt=(function(){function t(){this.localPoint=new P,this.normalImpulse=0,this.tangentImpulse=0,this.id=new mt}return t.MakeArray=function(e){return d(e,(function(){return new t}))},t.prototype.Reset=function(){this.localPoint.SetZero(),this.normalImpulse=0,this.tangentImpulse=0,this.id.key=0},t.prototype.Copy=function(t){return this.localPoint.Copy(t.localPoint),this.normalImpulse=t.normalImpulse,this.tangentImpulse=t.tangentImpulse,this.id.Copy(t.id),this},t})();(dt=t.b2ManifoldType||(t.b2ManifoldType={}))[dt.e_unknown=-1]="e_unknown",dt[dt.e_circles=0]="e_circles",dt[dt.e_faceA=1]="e_faceA",dt[dt.e_faceB=2]="e_faceB";var vt,gt=(function(){function e(){this.points=yt.MakeArray(a),this.localNormal=new P,this.localPoint=new P,this.type=t.b2ManifoldType.e_unknown,this.pointCount=0}return e.prototype.Reset=function(){for(var e=0;er&&P.SubVV(c,l,this.normal).SelfNormalize();var h=P.AddVMulSV(l,s,this.normal,e.Initialize_s_cA),u=P.SubVMulSV(c,o,this.normal,e.Initialize_s_cB);P.MidVV(h,u,this.points[0]),this.separations[0]=P.DotVV(P.SubVV(u,h,P.s_t0),this.normal);break;case t.b2ManifoldType.e_faceA:F.MulRV(n.q,i.localNormal,this.normal);for(var _=V.MulXV(n,i.localPoint,e.Initialize_s_planePoint),f=0;f=0&&e>=0;return i&&this.lowerBound.IsValid()&&this.upperBound.IsValid()},t.prototype.GetCenter=function(){return P.MidVV(this.lowerBound,this.upperBound,this.m_cache_center)},t.prototype.GetExtents=function(){return P.ExtVV(this.lowerBound,this.upperBound,this.m_cache_extent)},t.prototype.GetPerimeter=function(){return 2*(this.upperBound.x-this.lowerBound.x+(this.upperBound.y-this.lowerBound.y))},t.prototype.Combine1=function(t){return this.lowerBound.x=y(this.lowerBound.x,t.lowerBound.x),this.lowerBound.y=y(this.lowerBound.y,t.lowerBound.y),this.upperBound.x=v(this.upperBound.x,t.upperBound.x),this.upperBound.y=v(this.upperBound.y,t.upperBound.y),this},t.prototype.Combine2=function(t,e){return this.lowerBound.x=y(t.lowerBound.x,e.lowerBound.x),this.lowerBound.y=y(t.lowerBound.y,e.lowerBound.y),this.upperBound.x=v(t.upperBound.x,e.upperBound.x),this.upperBound.y=v(t.upperBound.y,e.upperBound.y),this},t.Combine=function(t,e,i){return i.Combine2(t,e),i},t.prototype.Contains=function(t){var e=!0;return(e=(e=(e=e&&this.lowerBound.x<=t.lowerBound.x)&&this.lowerBound.y<=t.lowerBound.y)&&t.upperBound.x<=this.upperBound.x)&&t.upperBound.y<=this.upperBound.y},t.prototype.RayCast=function(t,e){var r,s,a=-i,o=i,l=e.p1.x,c=e.p1.y,h=e.p2.x-e.p1.x,u=e.p2.y-e.p1.y,_=m(h),f=m(u),d=t.normal;if(_(s=(this.upperBound.x-l)*p)){var g=r;r=s,s=g,v=1}if(r>a&&(d.x=v,d.y=0,a=r),a>(o=y(o,s)))return!1}if(f(s=(this.upperBound.y-c)*p)&&(g=r,r=s,s=g,v=1),r>a&&(d.x=0,d.y=v,a=r),a>(o=y(o,s)))return!1;return!(a<0||e.maxFraction0||i>0||n>0||r>0)},t})();function St(t,e){var i=e.lowerBound.x-t.upperBound.x,n=e.lowerBound.y-t.upperBound.y,r=t.lowerBound.x-e.upperBound.x,s=t.lowerBound.y-e.upperBound.y;return!(i>0||n>0||r>0||s>0)}function wt(e,i,n,r,s){var a=0,o=i[0],l=i[1],c=P.DotVV(n,o.v)-r,h=P.DotVV(n,l.v)-r;if(c<=0&&e[a++].Copy(o),h<=0&&e[a++].Copy(l),c*h<0){var u=c/(c-h),_=e[a].v;_.x=o.v.x+u*(l.v.x-o.v.x),_.y=o.v.y+u*(l.v.y-o.v.y);var f=e[a].id;f.cf.indexA=s,f.cf.indexB=o.id.cf.indexB,f.cf.typeA=t.b2ContactFeatureType.e_vertex,f.cf.typeB=t.b2ContactFeatureType.e_face,++a}return a}var Et=new X,Mt=new W,Dt=new Y;function Bt(t,e,i,r,s,a){var o=Et.Reset();o.proxyA.SetShape(t,e),o.proxyB.SetShape(i,r),o.transformA.Copy(s),o.transformB.Copy(a),o.useRadii=!0;var l=Mt.Reset();l.count=0;var c=Dt.Reset();return rt(c,l,o),c.distance<10*n}function Pt(t){if(null===t)throw new Error;return t}var It=(function(){function t(t){void 0===t&&(t=0),this.m_id=0,this.aabb=new Tt,this.parent=null,this.child1=null,this.child2=null,this.height=0,this.m_id=t}return t.prototype.IsLeaf=function(){return null===this.child1},t})(),Rt=(function(){function t(){this.m_root=null,this.m_freeList=null,this.m_path=0,this.m_insertionCount=0,this.m_stack=new j(256)}return t.prototype.Query=function(t,e){if(null!==this.m_root){var i=this.m_stack.Reset();for(i.Push(this.m_root);i.GetCount()>0;){var n=i.Pop();if(n.aabb.TestOverlap(t))if(n.IsLeaf()){if(!e(n))return}else i.Push(Pt(n.child1)),i.Push(Pt(n.child2))}}},t.prototype.QueryPoint=function(t,e){if(null!==this.m_root){var i=this.m_stack.Reset();for(i.Push(this.m_root);i.GetCount()>0;){var n=i.Pop();if(n.aabb.TestContain(t))if(n.IsLeaf()){if(!e(n))return}else i.Push(Pt(n.child1)),i.Push(Pt(n.child2))}}},t.prototype.RayCast=function(e,i){if(null!==this.m_root){var n=e.p1,r=e.p2,s=P.SubVV(r,n,t.s_r);s.Normalize();var a=P.CrossOneV(s,t.s_v),o=P.AbsV(a,t.s_abs_v),l=e.maxFraction,c=t.s_segmentAABB,h=n.x+l*(r.x-n.x),u=n.y+l*(r.y-n.y);c.lowerBound.x=y(n.x,h),c.lowerBound.y=y(n.y,u),c.upperBound.x=v(n.x,h),c.upperBound.y=v(n.y,u);var _=this.m_stack.Reset();for(_.Push(this.m_root);_.GetCount()>0;){var f=_.Pop();if(St(f.aabb,c)){var d=f.aabb.GetCenter(),p=f.aabb.GetExtents();if(!(m(P.DotVV(a,P.SubVV(n,d,P.s_t0)))-P.DotVV(o,p)>0))if(f.IsLeaf()){var g=t.s_subInput;g.p1.Copy(e.p1),g.p2.Copy(e.p2),g.maxFraction=l;var b=i(g,f);if(0===b)return;b>0&&(l=b,h=n.x+l*(r.x-n.x),u=n.y+l*(r.y-n.y),c.lowerBound.x=y(n.x,h),c.lowerBound.y=y(n.y,u),c.upperBound.x=v(n.x,h),c.upperBound.y=v(n.y,u))}else _.Push(Pt(f.child1)),_.Push(Pt(f.child2))}}}},t.prototype.AllocateNode=function(){if(this.m_freeList){var e=this.m_freeList;return this.m_freeList=e.parent,e.parent=null,e.child1=null,e.child2=null,e.height=0,delete e.userData,e}return new It(t.s_node_id++)},t.prototype.FreeNode=function(t){t.parent=this.m_freeList,t.child1=null,t.child2=null,t.height=-1,delete t.userData,this.m_freeList=t},t.prototype.CreateProxy=function(t,e){var i=this.AllocateNode();return i.aabb.lowerBound.x=t.lowerBound.x-.1,i.aabb.lowerBound.y=t.lowerBound.y-.1,i.aabb.upperBound.x=t.upperBound.x+.1,i.aabb.upperBound.y=t.upperBound.y+.1,i.userData=e,i.height=0,this.InsertLeaf(i),i},t.prototype.DestroyProxy=function(t){this.RemoveLeaf(t),this.FreeNode(t)},t.prototype.MoveProxy=function(t,e,i){if(t.aabb.Contains(e))return!1;this.RemoveLeaf(t);var n=.1+2*(i.x>0?i.x:-i.x),r=.1+2*(i.y>0?i.y:-i.y);return t.aabb.lowerBound.x=e.lowerBound.x-n,t.aabb.lowerBound.y=e.lowerBound.y-r,t.aabb.upperBound.x=e.upperBound.x+n,t.aabb.upperBound.y=e.upperBound.y+r,this.InsertLeaf(t),!0},t.prototype.InsertLeaf=function(e){if(++this.m_insertionCount,null===this.m_root)return this.m_root=e,void(this.m_root.parent=null);for(var i=e.aabb,n=this.m_root;!n.IsLeaf();){var r=Pt(n.child1),s=Pt(n.child2),a=n.aabb.GetPerimeter(),o=t.s_combinedAABB;o.Combine2(n.aabb,i);var l=o.GetPerimeter(),c=2*l,h=2*(l-a),u=void 0,_=t.s_aabb,f=void 0;r.IsLeaf()?(_.Combine2(i,r.aabb),u=_.GetPerimeter()+h):(_.Combine2(i,r.aabb),f=r.aabb.GetPerimeter(),u=_.GetPerimeter()-f+h);var d=void 0;if(s.IsLeaf()?(_.Combine2(i,s.aabb),d=_.GetPerimeter()+h):(_.Combine2(i,s.aabb),f=s.aabb.GetPerimeter(),d=_.GetPerimeter()-f+h),c1){var r=Pt(i.child1),s=Pt(i.child2);return i.child1=t,i.parent=t.parent,t.parent=i,null!==i.parent?i.parent.child1===t?i.parent.child1=i:i.parent.child2=i:this.m_root=i,r.height>s.height?(i.child2=r,t.child2=s,s.parent=t,t.aabb.Combine2(e.aabb,s.aabb),i.aabb.Combine2(t.aabb,r.aabb),t.height=1+v(e.height,s.height),i.height=1+v(t.height,r.height)):(i.child2=s,t.child2=r,r.parent=t,t.aabb.Combine2(e.aabb,r.aabb),i.aabb.Combine2(t.aabb,s.aabb),t.height=1+v(e.height,r.height),i.height=1+v(t.height,s.height)),i}if(n<-1){var a=Pt(e.child1),o=Pt(e.child2);return e.child1=t,e.parent=t.parent,t.parent=e,null!==e.parent?e.parent.child1===t?e.parent.child1=e:e.parent.child2=e:this.m_root=e,a.height>o.height?(e.child2=a,t.child1=o,o.parent=t,t.aabb.Combine2(i.aabb,o.aabb),e.aabb.Combine2(t.aabb,a.aabb),t.height=1+v(i.height,o.height),e.height=1+v(t.height,a.height)):(e.child2=o,t.child1=a,a.parent=t,t.aabb.Combine2(i.aabb,a.aabb),e.aabb.Combine2(t.aabb,o.aabb),t.height=1+v(i.height,a.height),e.height=1+v(t.height,o.height)),e}return t},t.prototype.GetHeight=function(){return null===this.m_root?0:this.m_root.height},t.GetAreaNode=function(e){if(null===e)return 0;if(e.IsLeaf())return 0;var i=e.aabb.GetPerimeter();return(i+=t.GetAreaNode(e.child1))+t.GetAreaNode(e.child2)},t.prototype.GetAreaRatio=function(){if(null===this.m_root)return 0;var e=this.m_root.aabb.GetPerimeter();return t.GetAreaNode(this.m_root)/e},t.prototype.ComputeHeightNode=function(t){if(!t||t.IsLeaf())return 0;var e=this.ComputeHeightNode(t.child1),i=this.ComputeHeightNode(t.child2);return 1+v(e,i)},t.prototype.ComputeHeight=function(){return this.ComputeHeightNode(this.m_root)},t.prototype.ValidateStructure=function(t){if(null!==t){this.m_root;var e=t;if(!e.IsLeaf()){var i=Pt(e.child1),n=Pt(e.child2);this.ValidateStructure(i),this.ValidateStructure(n)}}},t.prototype.ValidateMetrics=function(e){if(null!==e){var i=e;if(!i.IsLeaf()){var n=Pt(i.child1),r=Pt(i.child2);t.s_aabb.Combine2(n.aabb,r.aabb),this.ValidateMetrics(n),this.ValidateMetrics(r)}}},t.prototype.Validate=function(){},t.GetMaxBalanceNode=function(t,e){if(null===t)return e;if(t.height<=1)return e;var i=Pt(t.child1),n=Pt(t.child2),r=m(n.height-i.height);return v(e,r)},t.prototype.GetMaxBalance=function(){return t.GetMaxBalanceNode(this.m_root,0)},t.prototype.RebuildBottomUp=function(){this.Validate()},t.ShiftOriginNode=function(e,i){if(null!==e&&!(e.height<=1)){var n=e.child1,r=e.child2;t.ShiftOriginNode(n,i),t.ShiftOriginNode(r,i),e.aabb.lowerBound.SelfSub(i),e.aabb.upperBound.SelfSub(i)}},t.prototype.ShiftOrigin=function(e){t.ShiftOriginNode(this.m_root,e)},t.s_r=new P,t.s_v=new P,t.s_abs_v=new P,t.s_segmentAABB=new Tt,t.s_subInput=new xt,t.s_combinedAABB=new Tt,t.s_aabb=new Tt,t.s_node_id=0,t})(),Ot=function(t,e){this.proxyA=t,this.proxyB=e},Lt=(function(){function t(){this.m_tree=new Rt,this.m_proxyCount=0,this.m_moveCount=0,this.m_moveBuffer=[],this.m_pairCount=0,this.m_pairBuffer=[]}return t.prototype.CreateProxy=function(t,e){var i=this.m_tree.CreateProxy(t,e);return++this.m_proxyCount,this.BufferMove(i),i},t.prototype.DestroyProxy=function(t){this.UnBufferMove(t),--this.m_proxyCount,this.m_tree.DestroyProxy(t)},t.prototype.MoveProxy=function(t,e,i){this.m_tree.MoveProxy(t,e,i)&&this.BufferMove(t)},t.prototype.TouchProxy=function(t){this.BufferMove(t)},t.prototype.GetProxyCount=function(){return this.m_proxyCount},t.prototype.UpdatePairs=function(t){var e=this;this.m_pairCount=0;for(var i=function(t){var i=n.m_moveBuffer[t];if(null===i)return"continue";var r=i.aabb;n.m_tree.Query(r,(function(t){if(t.m_id===i.m_id)return!0;var n,r;if(t.m_id_+f){e.state=t.b2TOIOutputState.e_separated,e.t=h,T=!0;break}if(D>_-f){d=S;break}var B=C.Evaluate(E[0],M[0],d);if(B<_-f){e.state=t.b2TOIOutputState.e_failed,e.t=d,T=!0;break}if(B<=_+f){e.state=t.b2TOIOutputState.e_touching,e.t=d,T=!0;break}for(var P=0,I=d,R=S;;){var O;O=1&P?I+(_-B)*(R-I)/(D-B):.5*(I+R),++P,++t.b2_toiRootIters;var L=C.Evaluate(E[0],M[0],O);if(m(L-_)_?(I=O,B=L):(R=O,D=L),50===P)break}if(t.b2_toiMaxRootIters=v(t.b2_toiMaxRootIters,P),++w===o)break}if(++p,++t.b2_toiIters,T)break;if(20===p){e.state=t.b2TOIOutputState.e_failed,e.t=d;break}}t.b2_toiMaxIters=v(t.b2_toiMaxIters,p);var F=n.GetMilliseconds();t.b2_toiMaxTime=v(t.b2_toiMaxTime,F),t.b2_toiTime+=F}var se=new P,ae=new P;function oe(e,i,n,r,s){e.pointCount=0;var a=V.MulXV(n,i.m_p,se),o=V.MulXV(s,r.m_p,ae),l=P.DistanceSquaredVV(a,o),c=i.m_radius+r.m_radius;l>c*c||(e.type=t.b2ManifoldType.e_circles,e.localPoint.Copy(i.m_p),e.localNormal.SetZero(),e.pointCount=1,e.points[0].localPoint.Copy(r.m_p),e.points[0].id.key=0)}var le=new P,ce=new P,he=new P;function ue(e,r,s,a,o){e.pointCount=0;for(var l=V.MulXV(o,a.m_p,le),c=V.MulTXV(s,l,ce),h=0,u=-i,_=r.m_radius+a.m_radius,f=r.m_count,d=r.m_vertices,p=r.m_normals,m=0;m_)return;y>u&&(u=y,h=m)}var v=h,g=(v+1)%f,b=d[v],A=d[g];if(u_*_)return;e.pointCount=1,e.type=t.b2ManifoldType.e_faceA,P.SubVV(c,b,e.localNormal).SelfNormalize(),e.localPoint.Copy(b),e.points[0].localPoint.Copy(a.m_p),e.points[0].id.key=0}else if(C<=0){if(P.DistanceSquaredVV(c,A)>_*_)return;e.pointCount=1,e.type=t.b2ManifoldType.e_faceA,P.SubVV(c,A,e.localNormal).SelfNormalize(),e.localPoint.Copy(A),e.points[0].localPoint.Copy(a.m_p),e.points[0].id.key=0}else{var T=P.MidVV(b,A,he);if(P.DotVV(P.SubVV(c,T,P.s_t1),p[v])>_)return;e.pointCount=1,e.type=t.b2ManifoldType.e_faceA,e.localNormal.Copy(p[v]).SelfNormalize(),e.localPoint.Copy(T),e.points[0].localPoint.Copy(a.m_p),e.points[0].id.key=0}}var _e=new P,fe=new P,de=new P,pe=new P;function me(t,e,n,r,s){for(var a=t.m_vertices,o=t.m_normals,l=r.m_count,c=r.m_vertices,h=F.MulRV(e.q,o[n],_e),u=F.MulTRV(s.q,h,fe),_=0,f=i,d=0;du&&(u=f,h=_)}var d=me(e,n,h,r,s),p=(h+a-1)%a,m=me(e,n,p,r,s),y=(h+1)%a,v=me(e,n,y,r,s),g=0,b=0,A=0;if(m>d&&m>v)A=-1,g=p,b=m;else{if(!(v>d))return t[0]=h,d;A=1,g=y,b=v}for(;(d=me(e,n,h=-1===A?(g+a-1)%a:(g+1)%a,r,s))>b;)g=h,b=d;return t[0]=g,b}var be=new P;function Ae(e,n,r,s,a,o){for(var l=n.m_normals,c=a.m_count,h=a.m_vertices,u=a.m_normals,_=F.MulTRV(o.q,F.MulRV(r.q,l[s],P.s_t0),be),f=0,d=i,p=0;po)){var h=we;h[0]=0;var u=ge(h,r,s,i,n);if(!(u>o)){var _,f,d,p,m=0,y=0;u>.98*c+.001?(_=r,f=i,d=s,p=n,m=h[0],e.type=t.b2ManifoldType.e_faceB,y=1):(_=i,f=r,d=n,p=s,m=l[0],e.type=t.b2ManifoldType.e_faceA,y=0);var v=xe;Ae(v,_,d,m,f,p);var g=_.m_count,b=_.m_vertices,A=m,x=(m+1)%g,C=b[A],T=b[x],S=P.SubVV(T,C,Ee);S.Normalize();var w=P.CrossVOne(S,Me),E=P.MidVV(C,T,De),M=F.MulRV(d.q,S,Pe),D=P.CrossVOne(M,Be),B=V.MulXV(d,C,Re),I=V.MulXV(d,T,Oe),R=P.DotVV(D,B),O=-P.DotVV(M,B)+o,L=P.DotVV(M,I)+o,N=Ce,k=Te;if(!(wt(N,v,P.NegV(M,Ie),O,A)<2||wt(k,N,M,L,x)<2)){e.localNormal.Copy(w),e.localPoint.Copy(E);for(var z=0,G=0;G_*_)return;if(i.m_hasVertex0){var m=i.m_vertex0,y=o,v=P.SubVV(y,m,ke);if(P.DotVV(v,P.SubVV(y,a,P.s_t0))>0)return}return f.cf.indexA=0,f.cf.typeA=t.b2ContactFeatureType.e_vertex,e.pointCount=1,e.type=t.b2ManifoldType.e_circles,e.localNormal.SetZero(),e.localPoint.Copy(d),e.points[0].id.Copy(f),void e.points[0].localPoint.Copy(r.m_p)}if(h<=0){var g=l,b=P.SubVV(a,g,Ne);if(P.DotVV(b,b)>_*_)return;if(i.m_hasVertex3){var A=i.m_vertex3,x=l,C=P.SubVV(A,x,ze);if(P.DotVV(C,P.SubVV(a,x,P.s_t0))>0)return}return f.cf.indexA=1,f.cf.typeA=t.b2ContactFeatureType.e_vertex,e.pointCount=1,e.type=t.b2ManifoldType.e_circles,e.localNormal.SetZero(),e.localPoint.Copy(g),e.points[0].id.Copy(f),void e.points[0].localPoint.Copy(r.m_p)}var T=P.DotVV(c,c),S=Ge;S.x=1/T*(h*o.x+u*l.x),S.y=1/T*(h*o.y+u*l.y);var w=P.SubVV(a,S,Ne);if(!(P.DotVV(w,w)>_*_)){var E=Ue.Set(-c.y,c.x);P.DotVV(E,P.SubVV(a,o,P.s_t0))<0&&E.Set(-E.x,-E.y),E.Normalize(),f.cf.indexA=0,f.cf.typeA=t.b2ContactFeatureType.e_face,e.pointCount=1,e.type=t.b2ManifoldType.e_faceA,e.localNormal.Copy(E),e.localPoint.Copy(o),e.points[0].id.Copy(f),e.points[0].localPoint.Copy(r.m_p)}}var We=function(){this.type=0,this.index=0,this.separation=0},Xe=function(){this.vertices=P.MakeArray(o),this.normals=P.MakeArray(o),this.count=0},Ye=function(){this.i1=0,this.i2=0,this.v1=new P,this.v2=new P,this.normal=new P,this.sideNormal1=new P,this.sideOffset1=0,this.sideNormal2=new P,this.sideOffset2=0},qe=new(function(){function e(){this.m_polygonB=new Xe,this.m_xf=new V,this.m_centroidB=new P,this.m_v0=new P,this.m_v1=new P,this.m_v2=new P,this.m_v3=new P,this.m_normal0=new P,this.m_normal1=new P,this.m_normal2=new P,this.m_normal=new P,this.m_type1=0,this.m_type2=0,this.m_lowerLimit=new P,this.m_upperLimit=new P,this.m_radius=0,this.m_front=!1}return e.prototype.Collide=function(i,n,r,s,o){V.MulTXX(r,o,this.m_xf),V.MulXV(this.m_xf,s.m_centroid,this.m_centroidB),this.m_v0.Copy(n.m_vertex0),this.m_v1.Copy(n.m_vertex1),this.m_v2.Copy(n.m_vertex2),this.m_v3.Copy(n.m_vertex3);var l=n.m_hasVertex0,c=n.m_hasVertex3,h=P.SubVV(this.m_v2,this.m_v1,e.s_edge1);h.Normalize(),this.m_normal1.Set(h.y,-h.x);var u=P.DotVV(this.m_normal1,P.SubVV(this.m_centroidB,this.m_v1,P.s_t0)),_=0,f=0,d=!1,p=!1;if(l){var m=P.SubVV(this.m_v1,this.m_v0,e.s_edge0);m.Normalize(),this.m_normal0.Set(m.y,-m.x),d=P.CrossVV(m,h)>=0,_=P.DotVV(this.m_normal0,P.SubVV(this.m_centroidB,this.m_v0,P.s_t0))}if(c){var y=P.SubVV(this.m_v3,this.m_v2,e.s_edge2);y.Normalize(),this.m_normal2.Set(y.y,-y.x),p=P.CrossVV(h,y)>0,f=P.DotVV(this.m_normal2,P.SubVV(this.m_centroidB,this.m_v2,P.s_t0))}l&&c?d&&p?(this.m_front=_>=0||u>=0||f>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal0),this.m_upperLimit.Copy(this.m_normal2)):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal1).SelfNeg(),this.m_upperLimit.Copy(this.m_normal1).SelfNeg())):d?(this.m_front=_>=0||u>=0&&f>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal0),this.m_upperLimit.Copy(this.m_normal1)):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal2).SelfNeg(),this.m_upperLimit.Copy(this.m_normal1).SelfNeg())):p?(this.m_front=f>=0||_>=0&&u>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal1),this.m_upperLimit.Copy(this.m_normal2)):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal1).SelfNeg(),this.m_upperLimit.Copy(this.m_normal0).SelfNeg())):(this.m_front=_>=0&&u>=0&&f>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal1),this.m_upperLimit.Copy(this.m_normal1)):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal2).SelfNeg(),this.m_upperLimit.Copy(this.m_normal0).SelfNeg())):l?d?(this.m_front=_>=0||u>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal0),this.m_upperLimit.Copy(this.m_normal1).SelfNeg()):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal1),this.m_upperLimit.Copy(this.m_normal1).SelfNeg())):(this.m_front=_>=0&&u>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal1),this.m_upperLimit.Copy(this.m_normal1).SelfNeg()):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal1),this.m_upperLimit.Copy(this.m_normal0).SelfNeg())):c?p?(this.m_front=u>=0||f>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal1).SelfNeg(),this.m_upperLimit.Copy(this.m_normal2)):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal1).SelfNeg(),this.m_upperLimit.Copy(this.m_normal1))):(this.m_front=u>=0&&f>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal1).SelfNeg(),this.m_upperLimit.Copy(this.m_normal1)):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal2).SelfNeg(),this.m_upperLimit.Copy(this.m_normal1))):(this.m_front=u>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal1).SelfNeg(),this.m_upperLimit.Copy(this.m_normal1).SelfNeg()):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal1),this.m_upperLimit.Copy(this.m_normal1))),this.m_polygonB.count=s.m_count;for(var v=0;vthis.m_radius)){var b=this.ComputePolygonSeparation(e.s_polygonAxis);if(!(0!==b.type&&b.separation>this.m_radius)){var A;A=0===b.type?g:b.separation>.98*g.separation+.001?b:g;var x=e.s_ie,C=e.s_rf;if(1===A.type){i.type=t.b2ManifoldType.e_faceA;var T=0,S=P.DotVV(this.m_normal,this.m_polygonB.normals[0]);for(v=1;vthis.m_radius)return n.type=2,n.index=s,n.separation=h,n;if(P.DotVV(a,r)>=0){if(P.DotVV(P.SubVV(a,this.m_upperLimit,P.s_t0),this.m_normal)<-c)continue}else if(P.DotVV(P.SubVV(a,this.m_lowerLimit,P.s_t0),this.m_normal)<-c)continue;h>n.separation&&(n.type=2,n.index=s,n.separation=h)}return n},e.s_edge1=new P,e.s_edge0=new P,e.s_edge2=new P,e.s_ie=At.MakeArray(2),e.s_rf=new Ye,e.s_clipPoints1=At.MakeArray(2),e.s_clipPoints2=At.MakeArray(2),e.s_edgeAxis=new We,e.s_polygonAxis=new We,e.s_n=new P,e.s_perp=new P,e}());function Je(t,e,i,n,r){qe.Collide(t,e,i,n,r)}var Ze,Ke=function(){this.mass=0,this.center=new P(0,0),this.I=0};(Ze=t.b2ShapeType||(t.b2ShapeType={}))[Ze.e_unknown=-1]="e_unknown",Ze[Ze.e_circleShape=0]="e_circleShape",Ze[Ze.e_edgeShape=1]="e_edgeShape",Ze[Ze.e_polygonShape=2]="e_polygonShape",Ze[Ze.e_chainShape=3]="e_chainShape",Ze[Ze.e_shapeTypeCount=4]="e_shapeTypeCount";var Qe=(function(){function e(e,i){this.m_type=t.b2ShapeType.e_unknown,this.m_radius=0,this.m_type=e,this.m_radius=i}return e.prototype.Copy=function(t){return this.m_radius=t.m_radius,this},e.prototype.GetType=function(){return this.m_type},e})(),$e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])};function ti(t,e){function i(){this.constructor=t}$e(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}var ei,ii=(function(e){function i(i){void 0===i&&(i=0);var n=e.call(this,t.b2ShapeType.e_circleShape,i)||this;return n.m_p=new P,n}return ti(i,e),i.prototype.Set=function(t,e){return void 0===e&&(e=this.m_radius),this.m_p.Copy(t),this.m_radius=e,this},i.prototype.Clone=function(){return(new i).Copy(this)},i.prototype.Copy=function(t){return e.prototype.Copy.call(this,t),this.m_p.Copy(t.m_p),this},i.prototype.GetChildCount=function(){return 1},i.prototype.TestPoint=function(t,e){var n=V.MulXV(t,this.m_p,i.TestPoint_s_center),r=P.SubVV(e,n,i.TestPoint_s_d);return P.DotVV(r,r)<=A(this.m_radius)},i.prototype.ComputeDistance=function(t,e,n){var r=V.MulXV(t,this.m_p,i.ComputeDistance_s_center);return P.SubVV(e,r,n),n.Normalize()-this.m_radius},i.prototype.RayCast=function(t,e,r){var s=V.MulXV(r,this.m_p,i.RayCast_s_position),a=P.SubVV(e.p1,s,i.RayCast_s_s),o=P.DotVV(a,a)-A(this.m_radius),l=P.SubVV(e.p2,e.p1,i.RayCast_s_r),c=P.DotVV(a,l),h=P.DotVV(l,l),u=c*c-h*o;if(u<0||hthis.m_radius)return r.Copy(a),s*this.m_radius*this.m_radius;var l=this.m_radius*this.m_radius,c=o*o,h=l*(D(o/this.m_radius)+s/2)+o*T(l-c),u=-2/3*S(l-c,1.5)/h;return r.x=a.x+t.x*u,r.y=a.y+t.y*u,h},i.prototype.Dump=function(t){t(" const shape: b2CircleShape = new b2CircleShape();\n"),t(" shape.m_radius = %.15f;\n",this.m_radius),t(" shape.m_p.Set(%.15f, %.15f);\n",this.m_p.x,this.m_p.y)},i.TestPoint_s_center=new P,i.TestPoint_s_d=new P,i.ComputeDistance_s_center=new P,i.RayCast_s_position=new P,i.RayCast_s_s=new P,i.RayCast_s_r=new P,i.ComputeAABB_s_p=new P,i})(Qe),ni=(function(e){function r(){var i=e.call(this,t.b2ShapeType.e_polygonShape,h)||this;return i.m_centroid=new P(0,0),i.m_vertices=[],i.m_normals=[],i.m_count=0,i}return ti(r,e),r.prototype.Clone=function(){return(new r).Copy(this)},r.prototype.Copy=function(t){e.prototype.Copy.call(this,t),this.m_centroid.Copy(t.m_centroid),this.m_count=t.m_count,this.m_vertices=P.MakeArray(this.m_count),this.m_normals=P.MakeArray(this.m_count);for(var i=0;id||p===d&&s[c].yA.LengthSquared()&&(b=_)}else b=_;if(++v,g=b,b===f)break}for(this.m_count=v,this.m_vertices=P.MakeArray(this.m_count),this.m_normals=P.MakeArray(this.m_count),c=0;c0)return!1;return!0},r.prototype.ComputeDistance=function(t,e,n){for(var s=V.MulTXV(t,e,r.ComputeDistance_s_pLocal),a=-i,o=r.ComputeDistance_s_normalForMaxDistance.Copy(s),l=0;la&&(a=c,o.Copy(this.m_normals[l]))}if(a>0){var h=r.ComputeDistance_s_minDistance.Copy(o),u=a*a;for(l=0;lf&&(h.Copy(_),u=f)}return F.MulRV(t.q,h,n),n.Normalize(),Math.sqrt(u)}return F.MulRV(t.q,o,n),a},r.prototype.RayCast=function(t,e,i){for(var n=V.MulTXV(i,e.p1,r.RayCast_s_p1),s=V.MulTXV(i,e.p2,r.RayCast_s_p2),a=P.SubVV(s,n,r.RayCast_s_d),o=0,l=e.maxFraction,c=-1,h=0;h0&&u=0&&(t.fraction=o,F.MulRV(i.q,this.m_normals[c],t.normal),!0)},r.prototype.ComputeAABB=function(t,e){for(var i=V.MulXV(e,this.m_vertices[0],t.lowerBound),n=t.upperBound.Copy(i),s=0;s0&&(d?_||(h=f-1,c++):_&&(u=f-1,c++)),_=d}switch(c){case 0:if(_){var p=r.ComputeSubmergedArea_s_md;return this.ComputeMass(p,1),V.MulXV(i,p.center,s),p.mass}return 0;case 1:-1===h?h=this.m_count-1:u=this.m_count-1}for(var m,y=(h+1)%this.m_count,v=(u+1)%this.m_count,g=(0-l[h])/(l[y]-l[h]),b=(0-l[u])/(l[v]-l[u]),A=r.ComputeSubmergedArea_s_intoVec.Set(this.m_vertices[h].x*(1-g)+this.m_vertices[y].x*g,this.m_vertices[h].y*(1-g)+this.m_vertices[y].y*g),x=r.ComputeSubmergedArea_s_outoVec.Set(this.m_vertices[u].x*(1-b)+this.m_vertices[v].x*b,this.m_vertices[u].y*(1-b)+this.m_vertices[v].y*b),C=0,T=r.ComputeSubmergedArea_s_center.SetZero(),S=this.m_vertices[y],w=y;w!==v;){m=(w=(w+1)%this.m_count)===v?x:this.m_vertices[w];var E=.5*((S.x-A.x)*(m.y-A.y)-(S.y-A.y)*(m.x-A.x));C+=E,T.x+=E*(A.x+S.x+m.x)/3,T.y+=E*(A.y+S.y+m.y)/3,S=m}return T.SelfMul(1/C),V.MulXV(i,T,s),C},r.prototype.Dump=function(t){t(" const shape: b2PolygonShape = new b2PolygonShape();\n"),t(" const vs: b2Vec2[] = b2Vec2.MakeArray(%d);\n",o);for(var e=0;e0){var c=P.DotVV(o,o);l>c?P.SubVV(e,s,a):a.SelfMulSub(l/c,o)}return n.Copy(a),n.Normalize()},i.prototype.RayCast=function(t,e,n){var r=V.MulTXV(n,e.p1,i.RayCast_s_p1),s=V.MulTXV(n,e.p2,i.RayCast_s_p2),a=P.SubVV(s,r,i.RayCast_s_d),o=this.m_vertex1,l=this.m_vertex2,c=P.SubVV(l,o,i.RayCast_s_e),h=t.normal.Set(c.y,-c.x).SelfNormalize(),u=P.DotVV(h,P.SubVV(o,r,P.s_t0)),_=P.DotVV(h,a);if(0===_)return!1;var f=u/_;if(f<0||e.maxFraction0&&t.normal.SelfNeg(),0))},i.prototype.ComputeAABB=function(t,e){var n=V.MulXV(e,this.m_vertex1,i.ComputeAABB_s_v1),r=V.MulXV(e,this.m_vertex2,i.ComputeAABB_s_v2);P.MinV(n,r,t.lowerBound),P.MaxV(n,r,t.upperBound);var s=this.m_radius;t.lowerBound.SelfSubXY(s,s),t.upperBound.SelfAddXY(s,s)},i.prototype.ComputeMass=function(t){t.mass=0,P.MidVV(this.m_vertex1,this.m_vertex2,t.center),t.I=0},i.prototype.SetupDistanceProxy=function(t){t.m_vertices=t.m_buffer,t.m_vertices[0].Copy(this.m_vertex1),t.m_vertices[1].Copy(this.m_vertex2),t.m_count=2,t.m_radius=this.m_radius},i.prototype.ComputeSubmergedArea=function(t,e,i,n){return n.SetZero(),0},i.prototype.Dump=function(t){t(" const shape: b2EdgeShape = new b2EdgeShape();\n"),t(" shape.m_radius = %.15f;\n",this.m_radius),t(" shape.m_vertex0.Set(%.15f, %.15f);\n",this.m_vertex0.x,this.m_vertex0.y),t(" shape.m_vertex1.Set(%.15f, %.15f);\n",this.m_vertex1.x,this.m_vertex1.y),t(" shape.m_vertex2.Set(%.15f, %.15f);\n",this.m_vertex2.x,this.m_vertex2.y),t(" shape.m_vertex3.Set(%.15f, %.15f);\n",this.m_vertex3.x,this.m_vertex3.y),t(" shape.m_hasVertex0 = %s;\n",this.m_hasVertex0),t(" shape.m_hasVertex3 = %s;\n",this.m_hasVertex3)},i.ComputeDistance_s_v1=new P,i.ComputeDistance_s_v2=new P,i.ComputeDistance_s_d=new P,i.ComputeDistance_s_s=new P,i.RayCast_s_p1=new P,i.RayCast_s_p2=new P,i.RayCast_s_d=new P,i.RayCast_s_e=new P,i.RayCast_s_q=new P,i.RayCast_s_r=new P,i.ComputeAABB_s_v1=new P,i.ComputeAABB_s_v2=new P,i})(Qe),si=(function(e){function i(){var i=e.call(this,t.b2ShapeType.e_chainShape,h)||this;return i.m_vertices=[],i.m_count=0,i.m_prevVertex=new P,i.m_nextVertex=new P,i.m_hasPrevVertex=!1,i.m_hasNextVertex=!1,i}return ti(i,e),i.prototype.CreateLoop=function(t,e,i){if(void 0===e&&(e=t.length),void 0===i&&(i=0),e<3)return this;this.m_count=e+1,this.m_vertices=P.MakeArray(this.m_count);for(var n=0;n0?(e.m_vertex0.Copy(this.m_vertices[i-1]),e.m_hasVertex0=!0):(e.m_vertex0.Copy(this.m_prevVertex),e.m_hasVertex0=this.m_hasPrevVertex),i0&&this.ResetMassData(),this.m_world.m_newFixture=!0,e},i.prototype.CreateFixtureShapeDensity=function(t,e){void 0===e&&(e=0);var n=i.CreateFixtureShapeDensity_s_def;return n.shape=t,n.density=e,this.CreateFixtureDef(n)},i.prototype.DestroyFixture=function(t){if(this.m_world.IsLocked())throw new Error;for(var e=this.m_fixtureList,i=null;null!==e;){if(e===t){i?i.m_next=t.m_next:this.m_fixtureList=t.m_next;break}i=e,e=e.m_next}for(var n=this.m_contactList;n;){var r=n.contact;n=n.next;var s=r.GetFixtureA(),a=r.GetFixtureB();t!==s&&t!==a||this.m_world.m_contactManager.Destroy(r)}this.m_activeFlag&&t.DestroyProxies(),t.m_next=null,t.Destroy(),--this.m_fixtureCount,this.ResetMassData()},i.prototype.SetTransformVec=function(t,e){this.SetTransformXY(t.x,t.y,e)},i.prototype.SetTransformXY=function(t,e,i){if(this.m_world.IsLocked())throw new Error;this.m_xf.q.SetAngle(i),this.m_xf.p.Set(t,e),this.m_xf0.Copy(this.m_xf),V.MulXV(this.m_xf,this.m_sweep.localCenter,this.m_sweep.c),this.m_sweep.a=i,this.m_sweep.c0.Copy(this.m_sweep.c),this.m_sweep.a0=i;for(var n=this.m_fixtureList;n;n=n.m_next)n.Synchronize(this.m_xf,this.m_xf);this.m_world.m_contactManager.FindNewContacts()},i.prototype.SetTransform=function(t){this.SetTransformVec(t.p,t.GetAngle())},i.prototype.GetTransform=function(){return this.m_xf},i.prototype.GetPosition=function(){return this.m_xf.p},i.prototype.SetPosition=function(t){this.SetTransformVec(t,this.GetAngle())},i.prototype.SetPositionXY=function(t,e){this.SetTransformXY(t,e,this.GetAngle())},i.prototype.GetAngle=function(){return this.m_sweep.a},i.prototype.SetAngle=function(t){this.SetTransformVec(this.GetPosition(),t)},i.prototype.GetWorldCenter=function(){return this.m_sweep.c},i.prototype.GetLocalCenter=function(){return this.m_sweep.localCenter},i.prototype.SetLinearVelocity=function(e){this.m_type!==t.b2BodyType.b2_staticBody&&(P.DotVV(e,e)>0&&this.SetAwake(!0),this.m_linearVelocity.Copy(e))},i.prototype.GetLinearVelocity=function(){return this.m_linearVelocity},i.prototype.SetAngularVelocity=function(e){this.m_type!==t.b2BodyType.b2_staticBody&&(e*e>0&&this.SetAwake(!0),this.m_angularVelocity=e)},i.prototype.GetAngularVelocity=function(){return this.m_angularVelocity},i.prototype.GetDefinition=function(t){return t.type=this.GetType(),t.allowSleep=this.m_autoSleepFlag,t.angle=this.GetAngle(),t.angularDamping=this.m_angularDamping,t.gravityScale=this.m_gravityScale,t.angularVelocity=this.m_angularVelocity,t.fixedRotation=this.m_fixedRotationFlag,t.bullet=this.m_bulletFlag,t.awake=this.m_awakeFlag,t.linearDamping=this.m_linearDamping,t.linearVelocity.Copy(this.GetLinearVelocity()),t.position.Copy(this.GetPosition()),t.userData=this.GetUserData(),t},i.prototype.ApplyForce=function(e,i,n){void 0===n&&(n=!0),this.m_type===t.b2BodyType.b2_dynamicBody&&(n&&!this.m_awakeFlag&&this.SetAwake(!0),this.m_awakeFlag&&(this.m_force.x+=e.x,this.m_force.y+=e.y,this.m_torque+=(i.x-this.m_sweep.c.x)*e.y-(i.y-this.m_sweep.c.y)*e.x))},i.prototype.ApplyForceToCenter=function(e,i){void 0===i&&(i=!0),this.m_type===t.b2BodyType.b2_dynamicBody&&(i&&!this.m_awakeFlag&&this.SetAwake(!0),this.m_awakeFlag&&(this.m_force.x+=e.x,this.m_force.y+=e.y))},i.prototype.ApplyTorque=function(e,i){void 0===i&&(i=!0),this.m_type===t.b2BodyType.b2_dynamicBody&&(i&&!this.m_awakeFlag&&this.SetAwake(!0),this.m_awakeFlag&&(this.m_torque+=e))},i.prototype.ApplyLinearImpulse=function(e,i,n){void 0===n&&(n=!0),this.m_type===t.b2BodyType.b2_dynamicBody&&(n&&!this.m_awakeFlag&&this.SetAwake(!0),this.m_awakeFlag&&(this.m_linearVelocity.x+=this.m_invMass*e.x,this.m_linearVelocity.y+=this.m_invMass*e.y,this.m_angularVelocity+=this.m_invI*((i.x-this.m_sweep.c.x)*e.y-(i.y-this.m_sweep.c.y)*e.x)))},i.prototype.ApplyLinearImpulseToCenter=function(e,i){void 0===i&&(i=!0),this.m_type===t.b2BodyType.b2_dynamicBody&&(i&&!this.m_awakeFlag&&this.SetAwake(!0),this.m_awakeFlag&&(this.m_linearVelocity.x+=this.m_invMass*e.x,this.m_linearVelocity.y+=this.m_invMass*e.y))},i.prototype.ApplyAngularImpulse=function(e,i){void 0===i&&(i=!0),this.m_type===t.b2BodyType.b2_dynamicBody&&(i&&!this.m_awakeFlag&&this.SetAwake(!0),this.m_awakeFlag&&(this.m_angularVelocity+=this.m_invI*e))},i.prototype.GetMass=function(){return this.m_mass},i.prototype.GetInertia=function(){return this.m_I+this.m_mass*P.DotVV(this.m_sweep.localCenter,this.m_sweep.localCenter)},i.prototype.GetMassData=function(t){return t.mass=this.m_mass,t.I=this.m_I+this.m_mass*P.DotVV(this.m_sweep.localCenter,this.m_sweep.localCenter),t.center.Copy(this.m_sweep.localCenter),t},i.prototype.SetMassData=function(e){if(this.m_world.IsLocked())throw new Error;if(this.m_type===t.b2BodyType.b2_dynamicBody){this.m_invMass=0,this.m_I=0,this.m_invI=0,this.m_mass=e.mass,this.m_mass<=0&&(this.m_mass=1),this.m_invMass=1/this.m_mass,e.I>0&&!this.m_fixedRotationFlag&&(this.m_I=e.I-this.m_mass*P.DotVV(e.center,e.center),this.m_invI=1/this.m_I);var n=i.SetMassData_s_oldCenter.Copy(this.m_sweep.c);this.m_sweep.localCenter.Copy(e.center),V.MulXV(this.m_xf,this.m_sweep.localCenter,this.m_sweep.c),this.m_sweep.c0.Copy(this.m_sweep.c),P.AddVCrossSV(this.m_linearVelocity,this.m_angularVelocity,P.SubVV(this.m_sweep.c,n,P.s_t0),this.m_linearVelocity)}},i.prototype.ResetMassData=function(){if(this.m_mass=0,this.m_invMass=0,this.m_I=0,this.m_invI=0,this.m_sweep.localCenter.SetZero(),this.m_type===t.b2BodyType.b2_staticBody||this.m_type===t.b2BodyType.b2_kinematicBody)return this.m_sweep.c0.Copy(this.m_xf.p),this.m_sweep.c.Copy(this.m_xf.p),void(this.m_sweep.a0=this.m_sweep.a);for(var e=i.ResetMassData_s_localCenter.SetZero(),n=this.m_fixtureList;n;n=n.m_next)if(0!==n.m_density){var r=n.GetMassData(i.ResetMassData_s_massData);this.m_mass+=r.mass,e.x+=r.center.x*r.mass,e.y+=r.center.y*r.mass,this.m_I+=r.I}this.m_mass>0?(this.m_invMass=1/this.m_mass,e.x*=this.m_invMass,e.y*=this.m_invMass):(this.m_mass=1,this.m_invMass=1),this.m_I>0&&!this.m_fixedRotationFlag?(this.m_I-=this.m_mass*P.DotVV(e,e),this.m_invI=1/this.m_I):(this.m_I=0,this.m_invI=0);var s=i.ResetMassData_s_oldCenter.Copy(this.m_sweep.c);this.m_sweep.localCenter.Copy(e),V.MulXV(this.m_xf,this.m_sweep.localCenter,this.m_sweep.c),this.m_sweep.c0.Copy(this.m_sweep.c),P.AddVCrossSV(this.m_linearVelocity,this.m_angularVelocity,P.SubVV(this.m_sweep.c,s,P.s_t0),this.m_linearVelocity)},i.prototype.GetWorldPoint=function(t,e){return V.MulXV(this.m_xf,t,e)},i.prototype.GetWorldVector=function(t,e){return F.MulRV(this.m_xf.q,t,e)},i.prototype.GetLocalPoint=function(t,e){return V.MulTXV(this.m_xf,t,e)},i.prototype.GetLocalVector=function(t,e){return F.MulTRV(this.m_xf.q,t,e)},i.prototype.GetLinearVelocityFromWorldPoint=function(t,e){return P.AddVCrossSV(this.m_linearVelocity,this.m_angularVelocity,P.SubVV(t,this.m_sweep.c,P.s_t0),e)},i.prototype.GetLinearVelocityFromLocalPoint=function(t,e){return this.GetLinearVelocityFromWorldPoint(this.GetWorldPoint(t,e),e)},i.prototype.GetLinearDamping=function(){return this.m_linearDamping},i.prototype.SetLinearDamping=function(t){this.m_linearDamping=t},i.prototype.GetAngularDamping=function(){return this.m_angularDamping},i.prototype.SetAngularDamping=function(t){this.m_angularDamping=t},i.prototype.GetGravityScale=function(){return this.m_gravityScale},i.prototype.SetGravityScale=function(t){this.m_gravityScale=t},i.prototype.SetType=function(e){if(this.m_world.IsLocked())throw new Error;if(this.m_type!==e){this.m_type=e,this.ResetMassData(),this.m_type===t.b2BodyType.b2_staticBody&&(this.m_linearVelocity.SetZero(),this.m_angularVelocity=0,this.m_sweep.a0=this.m_sweep.a,this.m_sweep.c0.Copy(this.m_sweep.c),this.SynchronizeFixtures()),this.SetAwake(!0),this.m_force.SetZero(),this.m_torque=0;for(var i=this.m_contactList;i;){var n=i;i=i.next,this.m_world.m_contactManager.Destroy(n.contact)}this.m_contactList=null;for(var r=this.m_fixtureList;r;r=r.m_next)r.TouchProxies()}},i.prototype.GetType=function(){return this.m_type},i.prototype.SetBullet=function(t){this.m_bulletFlag=t},i.prototype.IsBullet=function(){return this.m_bulletFlag},i.prototype.SetSleepingAllowed=function(t){this.m_autoSleepFlag=t,t||this.SetAwake(!0)},i.prototype.IsSleepingAllowed=function(){return this.m_autoSleepFlag},i.prototype.SetAwake=function(t){t?(this.m_awakeFlag=!0,this.m_sleepTime=0):(this.m_awakeFlag=!1,this.m_sleepTime=0,this.m_linearVelocity.SetZero(),this.m_angularVelocity=0,this.m_force.SetZero(),this.m_torque=0)},i.prototype.IsAwake=function(){return this.m_awakeFlag},i.prototype.SetActive=function(t){if(this.m_world.IsLocked())throw new Error;if(t!==this.IsActive())if(this.m_activeFlag=t,t)for(var e=this.m_fixtureList;e;e=e.m_next)e.CreateProxies(this.m_xf);else{for(e=this.m_fixtureList;e;e=e.m_next)e.DestroyProxies();for(var i=this.m_contactList;i;){var n=i;i=i.next,this.m_world.m_contactManager.Destroy(n.contact)}this.m_contactList=null}},i.prototype.IsActive=function(){return this.m_activeFlag},i.prototype.SetFixedRotation=function(t){this.m_fixedRotationFlag!==t&&(this.m_fixedRotationFlag=t,this.m_angularVelocity=0,this.ResetMassData())},i.prototype.IsFixedRotation=function(){return this.m_fixedRotationFlag},i.prototype.GetFixtureList=function(){return this.m_fixtureList},i.prototype.GetJointList=function(){return this.m_jointList},i.prototype.GetContactList=function(){return this.m_contactList},i.prototype.GetNext=function(){return this.m_next},i.prototype.GetUserData=function(){return this.m_userData},i.prototype.SetUserData=function(t){this.m_userData=t},i.prototype.GetWorld=function(){return this.m_world},i.prototype.Dump=function(e){var i=this.m_islandIndex;e("{\n"),e(" const bd: b2BodyDef = new b2BodyDef();\n");var n="";switch(this.m_type){case t.b2BodyType.b2_staticBody:n="b2BodyType.b2_staticBody";break;case t.b2BodyType.b2_kinematicBody:n="b2BodyType.b2_kinematicBody";break;case t.b2BodyType.b2_dynamicBody:n="b2BodyType.b2_dynamicBody"}e(" bd.type = %s;\n",n),e(" bd.position.Set(%.15f, %.15f);\n",this.m_xf.p.x,this.m_xf.p.y),e(" bd.angle = %.15f;\n",this.m_sweep.a),e(" bd.linearVelocity.Set(%.15f, %.15f);\n",this.m_linearVelocity.x,this.m_linearVelocity.y),e(" bd.angularVelocity = %.15f;\n",this.m_angularVelocity),e(" bd.linearDamping = %.15f;\n",this.m_linearDamping),e(" bd.angularDamping = %.15f;\n",this.m_angularDamping),e(" bd.allowSleep = %s;\n",this.m_autoSleepFlag?"true":"false"),e(" bd.awake = %s;\n",this.m_awakeFlag?"true":"false"),e(" bd.fixedRotation = %s;\n",this.m_fixedRotationFlag?"true":"false"),e(" bd.bullet = %s;\n",this.m_bulletFlag?"true":"false"),e(" bd.active = %s;\n",this.m_activeFlag?"true":"false"),e(" bd.gravityScale = %.15f;\n",this.m_gravityScale),e("\n"),e(" bodies[%d] = this.m_world.CreateBody(bd);\n",this.m_islandIndex),e("\n");for(var r=this.m_fixtureList;r;r=r.m_next)e(" {\n"),r.Dump(e,i),e(" }\n");e("}\n")},i.prototype.SynchronizeFixtures=function(){var t=i.SynchronizeFixtures_s_xf1;t.q.SetAngle(this.m_sweep.a0),F.MulRV(t.q,this.m_sweep.localCenter,t.p),P.SubVV(this.m_sweep.c0,t.p,t.p);for(var e=this.m_fixtureList;e;e=e.m_next)e.Synchronize(t,this.m_xf)},i.prototype.SynchronizeTransform=function(){this.m_xf.q.SetAngle(this.m_sweep.a),F.MulRV(this.m_xf.q,this.m_sweep.localCenter,this.m_xf.p),P.SubVV(this.m_sweep.c,this.m_xf.p,this.m_xf.p)},i.prototype.ShouldCollide=function(e){return(this.m_type!==t.b2BodyType.b2_staticBody||e.m_type!==t.b2BodyType.b2_staticBody)&&this.ShouldCollideConnected(e)},i.prototype.ShouldCollideConnected=function(t){for(var e=this.m_jointList;e;e=e.next)if(e.other===t&&!e.joint.m_collideConnected)return!1;return!0},i.prototype.Advance=function(t){this.m_sweep.Advance(t),this.m_sweep.c.Copy(this.m_sweep.c0),this.m_sweep.a=this.m_sweep.a0,this.m_xf.q.SetAngle(this.m_sweep.a),F.MulRV(this.m_xf.q,this.m_sweep.localCenter,this.m_xf.p),P.SubVV(this.m_sweep.c,this.m_xf.p,this.m_xf.p)},i.prototype.GetControllerList=function(){return this.m_controllerList},i.prototype.GetControllerCount=function(){return this.m_controllerCount},i.CreateFixtureShapeDensity_s_def=new oi,i.SetMassData_s_oldCenter=new P,i.ResetMassData_s_localCenter=new P,i.ResetMassData_s_oldCenter=new P,i.ResetMassData_s_massData=new Ke,i.SynchronizeFixtures_s_xf1=new V,i})();(hi=t.b2JointType||(t.b2JointType={}))[hi.e_unknownJoint=0]="e_unknownJoint",hi[hi.e_revoluteJoint=1]="e_revoluteJoint",hi[hi.e_prismaticJoint=2]="e_prismaticJoint",hi[hi.e_distanceJoint=3]="e_distanceJoint",hi[hi.e_pulleyJoint=4]="e_pulleyJoint",hi[hi.e_mouseJoint=5]="e_mouseJoint",hi[hi.e_gearJoint=6]="e_gearJoint",hi[hi.e_wheelJoint=7]="e_wheelJoint",hi[hi.e_weldJoint=8]="e_weldJoint",hi[hi.e_frictionJoint=9]="e_frictionJoint",hi[hi.e_ropeJoint=10]="e_ropeJoint",hi[hi.e_motorJoint=11]="e_motorJoint",hi[hi.e_areaJoint=12]="e_areaJoint",(ui=t.b2LimitState||(t.b2LimitState={}))[ui.e_inactiveLimit=0]="e_inactiveLimit",ui[ui.e_atLowerLimit=1]="e_atLowerLimit",ui[ui.e_atUpperLimit=2]="e_atUpperLimit",ui[ui.e_equalLimits=3]="e_equalLimits";var fi=(function(){function t(){this.linear=new P,this.angularA=0,this.angularB=0}return t.prototype.SetZero=function(){return this.linear.SetZero(),this.angularA=0,this.angularB=0,this},t.prototype.Set=function(t,e,i){return this.linear.Copy(t),this.angularA=e,this.angularB=i,this},t})(),di=function(t,e){this.prev=null,this.next=null,this.joint=t,this.other=e},pi=function(e){this.type=t.b2JointType.e_unknownJoint,this.userData=null,this.collideConnected=!1,this.type=e},mi=(function(){function i(i){this.m_type=t.b2JointType.e_unknownJoint,this.m_prev=null,this.m_next=null,this.m_index=0,this.m_islandFlag=!1,this.m_collideConnected=!1,this.m_userData=null,this.m_type=i.type,this.m_edgeA=new di(this,i.bodyB),this.m_edgeB=new di(this,i.bodyA),this.m_bodyA=i.bodyA,this.m_bodyB=i.bodyB,this.m_collideConnected=e(i.collideConnected,!1),this.m_userData=i.userData}return i.prototype.GetType=function(){return this.m_type},i.prototype.GetBodyA=function(){return this.m_bodyA},i.prototype.GetBodyB=function(){return this.m_bodyB},i.prototype.GetNext=function(){return this.m_next},i.prototype.GetUserData=function(){return this.m_userData},i.prototype.SetUserData=function(t){this.m_userData=t},i.prototype.IsActive=function(){return this.m_bodyA.IsActive()&&this.m_bodyB.IsActive()},i.prototype.GetCollideConnected=function(){return this.m_collideConnected},i.prototype.Dump=function(t){t("// Dump is not supported for this joint type.\n")},i.prototype.ShiftOrigin=function(){},i})(),yi=(function(e){function i(){var i=e.call(this,t.b2JointType.e_distanceJoint)||this;return i.localAnchorA=new P,i.localAnchorB=new P,i.length=1,i.frequencyHz=0,i.dampingRatio=0,i}return ti(i,e),i.prototype.Initialize=function(t,e,i,n){this.bodyA=t,this.bodyB=e,this.bodyA.GetLocalPoint(i,this.localAnchorA),this.bodyB.GetLocalPoint(n,this.localAnchorB),this.length=P.DistanceVV(i,n),this.frequencyHz=0,this.dampingRatio=0},i})(pi),vi=(function(t){function i(i){var n=t.call(this,i)||this;return n.m_frequencyHz=0,n.m_dampingRatio=0,n.m_bias=0,n.m_localAnchorA=new P,n.m_localAnchorB=new P,n.m_gamma=0,n.m_impulse=0,n.m_length=0,n.m_indexA=0,n.m_indexB=0,n.m_u=new P,n.m_rA=new P,n.m_rB=new P,n.m_localCenterA=new P,n.m_localCenterB=new P,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_mass=0,n.m_qA=new F,n.m_qB=new F,n.m_lalcA=new P,n.m_lalcB=new P,n.m_frequencyHz=e(i.frequencyHz,0),n.m_dampingRatio=e(i.dampingRatio,0),n.m_localAnchorA.Copy(i.localAnchorA),n.m_localAnchorB.Copy(i.localAnchorB),n.m_length=i.length,n}return ti(i,t),i.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},i.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},i.prototype.GetReactionForce=function(t,e){return e.x=t*this.m_impulse*this.m_u.x,e.y=t*this.m_impulse*this.m_u.y,e},i.prototype.GetReactionTorque=function(){return 0},i.prototype.GetLocalAnchorA=function(){return this.m_localAnchorA},i.prototype.GetLocalAnchorB=function(){return this.m_localAnchorB},i.prototype.SetLength=function(t){this.m_length=t},i.prototype.Length=function(){return this.m_length},i.prototype.SetFrequency=function(t){this.m_frequencyHz=t},i.prototype.GetFrequency=function(){return this.m_frequencyHz},i.prototype.SetDampingRatio=function(t){this.m_dampingRatio=t},i.prototype.GetDampingRatio=function(){return this.m_dampingRatio},i.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t(" const jd: b2DistanceJointDef = new b2DistanceJointDef();\n"),t(" jd.bodyA = bodies[%d];\n",e),t(" jd.bodyB = bodies[%d];\n",i),t(" jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t(" jd.localAnchorA.Set(%.15f, %.15f);\n",this.m_localAnchorA.x,this.m_localAnchorA.y),t(" jd.localAnchorB.Set(%.15f, %.15f);\n",this.m_localAnchorB.x,this.m_localAnchorB.y),t(" jd.length = %.15f;\n",this.m_length),t(" jd.frequencyHz = %.15f;\n",this.m_frequencyHz),t(" jd.dampingRatio = %.15f;\n",this.m_dampingRatio),t(" joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},i.prototype.InitVelocityConstraints=function(t){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var e=t.positions[this.m_indexA].c,n=t.positions[this.m_indexA].a,r=t.velocities[this.m_indexA].v,a=t.velocities[this.m_indexA].w,o=t.positions[this.m_indexB].c,c=t.positions[this.m_indexB].a,h=t.velocities[this.m_indexB].v,u=t.velocities[this.m_indexB].w,_=this.m_qA.SetAngle(n),f=this.m_qB.SetAngle(c);P.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA),F.MulRV(_,this.m_lalcA,this.m_rA),P.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),F.MulRV(f,this.m_lalcB,this.m_rB),this.m_u.x=o.x+this.m_rB.x-e.x-this.m_rA.x,this.m_u.y=o.y+this.m_rB.y-e.y-this.m_rA.y;var d=this.m_u.Length();d>l?this.m_u.SelfMul(1/d):this.m_u.SetZero();var p=P.CrossVV(this.m_rA,this.m_u),m=P.CrossVV(this.m_rB,this.m_u),y=this.m_invMassA+this.m_invIA*p*p+this.m_invMassB+this.m_invIB*m*m;if(this.m_mass=0!==y?1/y:0,this.m_frequencyHz>0){var v=d-this.m_length,g=2*s*this.m_frequencyHz,b=2*this.m_mass*this.m_dampingRatio*g,A=this.m_mass*g*g,x=t.step.dt;this.m_gamma=x*(b+x*A),this.m_gamma=0!==this.m_gamma?1/this.m_gamma:0,this.m_bias=v*x*A*this.m_gamma,y+=this.m_gamma,this.m_mass=0!==y?1/y:0}else this.m_gamma=0,this.m_bias=0;if(t.step.warmStarting){this.m_impulse*=t.step.dtRatio;var C=P.MulSV(this.m_impulse,this.m_u,i.InitVelocityConstraints_s_P);r.SelfMulSub(this.m_invMassA,C),a-=this.m_invIA*P.CrossVV(this.m_rA,C),h.SelfMulAdd(this.m_invMassB,C),u+=this.m_invIB*P.CrossVV(this.m_rB,C)}else this.m_impulse=0;t.velocities[this.m_indexA].w=a,t.velocities[this.m_indexB].w=u},i.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,n=t.velocities[this.m_indexA].w,r=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,a=P.AddVCrossSV(e,n,this.m_rA,i.SolveVelocityConstraints_s_vpA),o=P.AddVCrossSV(r,s,this.m_rB,i.SolveVelocityConstraints_s_vpB),l=P.DotVV(this.m_u,P.SubVV(o,a,P.s_t0)),c=-this.m_mass*(l+this.m_bias+this.m_gamma*this.m_impulse);this.m_impulse+=c;var h=P.MulSV(c,this.m_u,i.SolveVelocityConstraints_s_P);e.SelfMulSub(this.m_invMassA,h),n-=this.m_invIA*P.CrossVV(this.m_rA,h),r.SelfMulAdd(this.m_invMassB,h),s+=this.m_invIB*P.CrossVV(this.m_rB,h),t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=s},i.prototype.SolvePositionConstraints=function(t){if(this.m_frequencyHz>0)return!0;var e=t.positions[this.m_indexA].c,n=t.positions[this.m_indexA].a,r=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,a=this.m_qA.SetAngle(n),o=this.m_qB.SetAngle(s),c=F.MulRV(a,this.m_lalcA,this.m_rA),h=F.MulRV(o,this.m_lalcB,this.m_rB),u=this.m_u;u.x=r.x+h.x-e.x-c.x,u.y=r.y+h.y-e.y-c.y;var _=this.m_u.Normalize()-this.m_length;_=g(_,-.2,.2);var f=-this.m_mass*_,d=P.MulSV(f,u,i.SolvePositionConstraints_s_P);return e.SelfMulSub(this.m_invMassA,d),n-=this.m_invIA*P.CrossVV(c,d),r.SelfMulAdd(this.m_invMassB,d),s+=this.m_invIB*P.CrossVV(h,d),t.positions[this.m_indexA].a=n,t.positions[this.m_indexB].a=s,m(_)A(.2)&&f.SelfMul(.2/T(p)),p>A(l)&&(_=!1),o.x+=f.x,o.y+=f.y}return _},i})(mi),Ai=(function(e){function i(){var i=e.call(this,t.b2JointType.e_frictionJoint)||this;return i.localAnchorA=new P,i.localAnchorB=new P,i.maxForce=0,i.maxTorque=0,i}return ti(i,e),i.prototype.Initialize=function(t,e,i){this.bodyA=t,this.bodyB=e,this.bodyA.GetLocalPoint(i,this.localAnchorA),this.bodyB.GetLocalPoint(i,this.localAnchorB)},i})(pi),xi=(function(t){function i(i){var n=t.call(this,i)||this;return n.m_localAnchorA=new P,n.m_localAnchorB=new P,n.m_linearImpulse=new P,n.m_angularImpulse=0,n.m_maxForce=0,n.m_maxTorque=0,n.m_indexA=0,n.m_indexB=0,n.m_rA=new P,n.m_rB=new P,n.m_localCenterA=new P,n.m_localCenterB=new P,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_linearMass=new O,n.m_angularMass=0,n.m_qA=new F,n.m_qB=new F,n.m_lalcA=new P,n.m_lalcB=new P,n.m_K=new O,n.m_localAnchorA.Copy(i.localAnchorA),n.m_localAnchorB.Copy(i.localAnchorB),n.m_linearImpulse.SetZero(),n.m_maxForce=e(i.maxForce,0),n.m_maxTorque=e(i.maxTorque,0),n.m_linearMass.SetZero(),n}return ti(i,t),i.prototype.InitVelocityConstraints=function(t){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var e=t.positions[this.m_indexA].a,i=t.velocities[this.m_indexA].v,n=t.velocities[this.m_indexA].w,r=t.positions[this.m_indexB].a,s=t.velocities[this.m_indexB].v,a=t.velocities[this.m_indexB].w,o=this.m_qA.SetAngle(e),l=this.m_qB.SetAngle(r);P.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var c=F.MulRV(o,this.m_lalcA,this.m_rA);P.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var h=F.MulRV(l,this.m_lalcB,this.m_rB),u=this.m_invMassA,_=this.m_invMassB,f=this.m_invIA,d=this.m_invIB,p=this.m_K;if(p.ex.x=u+_+f*c.y*c.y+d*h.y*h.y,p.ex.y=-f*c.x*c.y-d*h.x*h.y,p.ey.x=p.ex.y,p.ey.y=u+_+f*c.x*c.x+d*h.x*h.x,p.GetInverse(this.m_linearMass),this.m_angularMass=f+d,this.m_angularMass>0&&(this.m_angularMass=1/this.m_angularMass),t.step.warmStarting){this.m_linearImpulse.SelfMul(t.step.dtRatio),this.m_angularImpulse*=t.step.dtRatio;var m=this.m_linearImpulse;i.SelfMulSub(u,m),n-=f*(P.CrossVV(this.m_rA,m)+this.m_angularImpulse),s.SelfMulAdd(_,m),a+=d*(P.CrossVV(this.m_rB,m)+this.m_angularImpulse)}else this.m_linearImpulse.SetZero(),this.m_angularImpulse=0;t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=a},i.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,n=t.velocities[this.m_indexA].w,r=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,a=this.m_invMassA,o=this.m_invMassB,l=this.m_invIA,c=this.m_invIB,h=t.step.dt,u=s-n,_=-this.m_angularMass*u,f=this.m_angularImpulse,d=h*this.m_maxTorque;this.m_angularImpulse=g(this.m_angularImpulse+_,-d,d),n-=l*(_=this.m_angularImpulse-f),s+=c*_;var p=P.SubVV(P.AddVCrossSV(r,s,this.m_rB,P.s_t0),P.AddVCrossSV(e,n,this.m_rA,P.s_t1),i.SolveVelocityConstraints_s_Cdot_v2),m=O.MulMV(this.m_linearMass,p,i.SolveVelocityConstraints_s_impulseV).SelfNeg(),y=i.SolveVelocityConstraints_s_oldImpulseV.Copy(this.m_linearImpulse);this.m_linearImpulse.SelfAdd(m),d=h*this.m_maxForce,this.m_linearImpulse.LengthSquared()>d*d&&(this.m_linearImpulse.Normalize(),this.m_linearImpulse.SelfMul(d)),P.SubVV(this.m_linearImpulse,y,m),e.SelfMulSub(a,m),n-=l*P.CrossVV(this.m_rA,m),r.SelfMulAdd(o,m),s+=c*P.CrossVV(this.m_rB,m),t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=s},i.prototype.SolvePositionConstraints=function(){return!0},i.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},i.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},i.prototype.GetReactionForce=function(t,e){return e.x=t*this.m_linearImpulse.x,e.y=t*this.m_linearImpulse.y,e},i.prototype.GetReactionTorque=function(t){return t*this.m_angularImpulse},i.prototype.GetLocalAnchorA=function(){return this.m_localAnchorA},i.prototype.GetLocalAnchorB=function(){return this.m_localAnchorB},i.prototype.SetMaxForce=function(t){this.m_maxForce=t},i.prototype.GetMaxForce=function(){return this.m_maxForce},i.prototype.SetMaxTorque=function(t){this.m_maxTorque=t},i.prototype.GetMaxTorque=function(){return this.m_maxTorque},i.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t(" const jd: b2FrictionJointDef = new b2FrictionJointDef();\n"),t(" jd.bodyA = bodies[%d];\n",e),t(" jd.bodyB = bodies[%d];\n",i),t(" jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t(" jd.localAnchorA.Set(%.15f, %.15f);\n",this.m_localAnchorA.x,this.m_localAnchorA.y),t(" jd.localAnchorB.Set(%.15f, %.15f);\n",this.m_localAnchorB.x,this.m_localAnchorB.y),t(" jd.maxForce = %.15f;\n",this.m_maxForce),t(" jd.maxTorque = %.15f;\n",this.m_maxTorque),t(" joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},i.SolveVelocityConstraints_s_Cdot_v2=new P,i.SolveVelocityConstraints_s_impulseV=new P,i.SolveVelocityConstraints_s_oldImpulseV=new P,i})(mi),Ci=(function(e){function i(){var i=e.call(this,t.b2JointType.e_gearJoint)||this;return i.ratio=1,i}return ti(i,e),i})(pi),Ti=(function(i){function n(n){var r,s,a=i.call(this,n)||this;a.m_typeA=t.b2JointType.e_unknownJoint,a.m_typeB=t.b2JointType.e_unknownJoint,a.m_localAnchorA=new P,a.m_localAnchorB=new P,a.m_localAnchorC=new P,a.m_localAnchorD=new P,a.m_localAxisC=new P,a.m_localAxisD=new P,a.m_referenceAngleA=0,a.m_referenceAngleB=0,a.m_constant=0,a.m_ratio=0,a.m_impulse=0,a.m_indexA=0,a.m_indexB=0,a.m_indexC=0,a.m_indexD=0,a.m_lcA=new P,a.m_lcB=new P,a.m_lcC=new P,a.m_lcD=new P,a.m_mA=0,a.m_mB=0,a.m_mC=0,a.m_mD=0,a.m_iA=0,a.m_iB=0,a.m_iC=0,a.m_iD=0,a.m_JvAC=new P,a.m_JvBD=new P,a.m_JwA=0,a.m_JwB=0,a.m_JwC=0,a.m_JwD=0,a.m_mass=0,a.m_qA=new F,a.m_qB=new F,a.m_qC=new F,a.m_qD=new F,a.m_lalcA=new P,a.m_lalcB=new P,a.m_lalcC=new P,a.m_lalcD=new P,a.m_joint1=n.joint1,a.m_joint2=n.joint2,a.m_typeA=a.m_joint1.GetType(),a.m_typeB=a.m_joint2.GetType(),a.m_bodyC=a.m_joint1.GetBodyA(),a.m_bodyA=a.m_joint1.GetBodyB();var o=a.m_bodyA.m_xf,l=a.m_bodyA.m_sweep.a,c=a.m_bodyC.m_xf,h=a.m_bodyC.m_sweep.a;if(a.m_typeA===t.b2JointType.e_revoluteJoint){var u=n.joint1;a.m_localAnchorC.Copy(u.m_localAnchorA),a.m_localAnchorA.Copy(u.m_localAnchorB),a.m_referenceAngleA=u.m_referenceAngle,a.m_localAxisC.SetZero(),r=l-h-a.m_referenceAngleA}else{var _=n.joint1;a.m_localAnchorC.Copy(_.m_localAnchorA),a.m_localAnchorA.Copy(_.m_localAnchorB),a.m_referenceAngleA=_.m_referenceAngle,a.m_localAxisC.Copy(_.m_localXAxisA);var f=a.m_localAnchorC,d=F.MulTRV(c.q,P.AddVV(F.MulRV(o.q,a.m_localAnchorA,P.s_t0),P.SubVV(o.p,c.p,P.s_t1),P.s_t0),P.s_t0);r=P.DotVV(P.SubVV(d,f,P.s_t0),a.m_localAxisC)}a.m_bodyD=a.m_joint2.GetBodyA(),a.m_bodyB=a.m_joint2.GetBodyB();var p=a.m_bodyB.m_xf,m=a.m_bodyB.m_sweep.a,y=a.m_bodyD.m_xf,v=a.m_bodyD.m_sweep.a;if(a.m_typeB===t.b2JointType.e_revoluteJoint)u=n.joint2,a.m_localAnchorD.Copy(u.m_localAnchorA),a.m_localAnchorB.Copy(u.m_localAnchorB),a.m_referenceAngleB=u.m_referenceAngle,a.m_localAxisD.SetZero(),s=m-v-a.m_referenceAngleB;else{_=n.joint2,a.m_localAnchorD.Copy(_.m_localAnchorA),a.m_localAnchorB.Copy(_.m_localAnchorB),a.m_referenceAngleB=_.m_referenceAngle,a.m_localAxisD.Copy(_.m_localXAxisA);var g=a.m_localAnchorD,b=F.MulTRV(y.q,P.AddVV(F.MulRV(p.q,a.m_localAnchorB,P.s_t0),P.SubVV(p.p,y.p,P.s_t1),P.s_t0),P.s_t0);s=P.DotVV(P.SubVV(b,g,P.s_t0),a.m_localAxisD)}return a.m_ratio=e(n.ratio,1),a.m_constant=r+a.m_ratio*s,a.m_impulse=0,a}return ti(n,i),n.prototype.InitVelocityConstraints=function(e){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_indexC=this.m_bodyC.m_islandIndex,this.m_indexD=this.m_bodyD.m_islandIndex,this.m_lcA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_lcB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_lcC.Copy(this.m_bodyC.m_sweep.localCenter),this.m_lcD.Copy(this.m_bodyD.m_sweep.localCenter),this.m_mA=this.m_bodyA.m_invMass,this.m_mB=this.m_bodyB.m_invMass,this.m_mC=this.m_bodyC.m_invMass,this.m_mD=this.m_bodyD.m_invMass,this.m_iA=this.m_bodyA.m_invI,this.m_iB=this.m_bodyB.m_invI,this.m_iC=this.m_bodyC.m_invI,this.m_iD=this.m_bodyD.m_invI;var i=e.positions[this.m_indexA].a,r=e.velocities[this.m_indexA].v,s=e.velocities[this.m_indexA].w,a=e.positions[this.m_indexB].a,o=e.velocities[this.m_indexB].v,l=e.velocities[this.m_indexB].w,c=e.positions[this.m_indexC].a,h=e.velocities[this.m_indexC].v,u=e.velocities[this.m_indexC].w,_=e.positions[this.m_indexD].a,f=e.velocities[this.m_indexD].v,d=e.velocities[this.m_indexD].w,p=this.m_qA.SetAngle(i),m=this.m_qB.SetAngle(a),y=this.m_qC.SetAngle(c),v=this.m_qD.SetAngle(_);if(this.m_mass=0,this.m_typeA===t.b2JointType.e_revoluteJoint)this.m_JvAC.SetZero(),this.m_JwA=1,this.m_JwC=1,this.m_mass+=this.m_iA+this.m_iC;else{var g=F.MulRV(y,this.m_localAxisC,n.InitVelocityConstraints_s_u);P.SubVV(this.m_localAnchorC,this.m_lcC,this.m_lalcC);var b=F.MulRV(y,this.m_lalcC,n.InitVelocityConstraints_s_rC);P.SubVV(this.m_localAnchorA,this.m_lcA,this.m_lalcA);var A=F.MulRV(p,this.m_lalcA,n.InitVelocityConstraints_s_rA);this.m_JvAC.Copy(g),this.m_JwC=P.CrossVV(b,g),this.m_JwA=P.CrossVV(A,g),this.m_mass+=this.m_mC+this.m_mA+this.m_iC*this.m_JwC*this.m_JwC+this.m_iA*this.m_JwA*this.m_JwA}if(this.m_typeB===t.b2JointType.e_revoluteJoint)this.m_JvBD.SetZero(),this.m_JwB=this.m_ratio,this.m_JwD=this.m_ratio,this.m_mass+=this.m_ratio*this.m_ratio*(this.m_iB+this.m_iD);else{g=F.MulRV(v,this.m_localAxisD,n.InitVelocityConstraints_s_u),P.SubVV(this.m_localAnchorD,this.m_lcD,this.m_lalcD);var x=F.MulRV(v,this.m_lalcD,n.InitVelocityConstraints_s_rD);P.SubVV(this.m_localAnchorB,this.m_lcB,this.m_lalcB);var C=F.MulRV(m,this.m_lalcB,n.InitVelocityConstraints_s_rB);P.MulSV(this.m_ratio,g,this.m_JvBD),this.m_JwD=this.m_ratio*P.CrossVV(x,g),this.m_JwB=this.m_ratio*P.CrossVV(C,g),this.m_mass+=this.m_ratio*this.m_ratio*(this.m_mD+this.m_mB)+this.m_iD*this.m_JwD*this.m_JwD+this.m_iB*this.m_JwB*this.m_JwB}this.m_mass=this.m_mass>0?1/this.m_mass:0,e.step.warmStarting?(r.SelfMulAdd(this.m_mA*this.m_impulse,this.m_JvAC),s+=this.m_iA*this.m_impulse*this.m_JwA,o.SelfMulAdd(this.m_mB*this.m_impulse,this.m_JvBD),l+=this.m_iB*this.m_impulse*this.m_JwB,h.SelfMulSub(this.m_mC*this.m_impulse,this.m_JvAC),u-=this.m_iC*this.m_impulse*this.m_JwC,f.SelfMulSub(this.m_mD*this.m_impulse,this.m_JvBD),d-=this.m_iD*this.m_impulse*this.m_JwD):this.m_impulse=0,e.velocities[this.m_indexA].w=s,e.velocities[this.m_indexB].w=l,e.velocities[this.m_indexC].w=u,e.velocities[this.m_indexD].w=d},n.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,i=t.velocities[this.m_indexA].w,n=t.velocities[this.m_indexB].v,r=t.velocities[this.m_indexB].w,s=t.velocities[this.m_indexC].v,a=t.velocities[this.m_indexC].w,o=t.velocities[this.m_indexD].v,l=t.velocities[this.m_indexD].w,c=P.DotVV(this.m_JvAC,P.SubVV(e,s,P.s_t0))+P.DotVV(this.m_JvBD,P.SubVV(n,o,P.s_t0));c+=this.m_JwA*i-this.m_JwC*a+(this.m_JwB*r-this.m_JwD*l);var h=-this.m_mass*c;this.m_impulse+=h,e.SelfMulAdd(this.m_mA*h,this.m_JvAC),i+=this.m_iA*h*this.m_JwA,n.SelfMulAdd(this.m_mB*h,this.m_JvBD),r+=this.m_iB*h*this.m_JwB,s.SelfMulSub(this.m_mC*h,this.m_JvAC),a-=this.m_iC*h*this.m_JwC,o.SelfMulSub(this.m_mD*h,this.m_JvBD),l-=this.m_iD*h*this.m_JwD,t.velocities[this.m_indexA].w=i,t.velocities[this.m_indexB].w=r,t.velocities[this.m_indexC].w=a,t.velocities[this.m_indexD].w=l},n.prototype.SolvePositionConstraints=function(e){var i,r,s,a,o,c,h=e.positions[this.m_indexA].c,u=e.positions[this.m_indexA].a,_=e.positions[this.m_indexB].c,f=e.positions[this.m_indexB].a,d=e.positions[this.m_indexC].c,p=e.positions[this.m_indexC].a,m=e.positions[this.m_indexD].c,y=e.positions[this.m_indexD].a,v=this.m_qA.SetAngle(u),g=this.m_qB.SetAngle(f),b=this.m_qC.SetAngle(p),A=this.m_qD.SetAngle(y),x=this.m_JvAC,C=this.m_JvBD,T=0;if(this.m_typeA===t.b2JointType.e_revoluteJoint)x.SetZero(),s=1,o=1,T+=this.m_iA+this.m_iC,i=u-p-this.m_referenceAngleA;else{var S=F.MulRV(b,this.m_localAxisC,n.SolvePositionConstraints_s_u),w=F.MulRV(b,this.m_lalcC,n.SolvePositionConstraints_s_rC),E=F.MulRV(v,this.m_lalcA,n.SolvePositionConstraints_s_rA);x.Copy(S),o=P.CrossVV(w,S),s=P.CrossVV(E,S),T+=this.m_mC+this.m_mA+this.m_iC*o*o+this.m_iA*s*s;var M=this.m_lalcC,D=F.MulTRV(b,P.AddVV(E,P.SubVV(h,d,P.s_t0),P.s_t0),P.s_t0);i=P.DotVV(P.SubVV(D,M,P.s_t0),this.m_localAxisC)}if(this.m_typeB===t.b2JointType.e_revoluteJoint)C.SetZero(),a=this.m_ratio,c=this.m_ratio,T+=this.m_ratio*this.m_ratio*(this.m_iB+this.m_iD),r=f-y-this.m_referenceAngleB;else{S=F.MulRV(A,this.m_localAxisD,n.SolvePositionConstraints_s_u);var B=F.MulRV(A,this.m_lalcD,n.SolvePositionConstraints_s_rD),I=F.MulRV(g,this.m_lalcB,n.SolvePositionConstraints_s_rB);P.MulSV(this.m_ratio,S,C),c=this.m_ratio*P.CrossVV(B,S),a=this.m_ratio*P.CrossVV(I,S),T+=this.m_ratio*this.m_ratio*(this.m_mD+this.m_mB)+this.m_iD*c*c+this.m_iB*a*a;var R=this.m_lalcD,O=F.MulTRV(A,P.AddVV(I,P.SubVV(_,m,P.s_t0),P.s_t0),P.s_t0);r=P.DotVV(P.SubVV(O,R,P.s_t0),this.m_localAxisD)}var L=i+this.m_ratio*r-this.m_constant,V=0;return T>0&&(V=-L/T),h.SelfMulAdd(this.m_mA*V,x),u+=this.m_iA*V*s,_.SelfMulAdd(this.m_mB*V,C),f+=this.m_iB*V*a,d.SelfMulSub(this.m_mC*V,x),p-=this.m_iC*V*o,m.SelfMulSub(this.m_mD*V,C),y-=this.m_iD*V*c,e.positions[this.m_indexA].a=u,e.positions[this.m_indexB].a=f,e.positions[this.m_indexC].a=p,e.positions[this.m_indexD].a=y,00&&(this.m_angularMass=1/this.m_angularMass),P.SubVV(P.AddVV(s,_,P.s_t0),P.AddVV(e,u,P.s_t1),this.m_linearError),this.m_angularError=a-i-this.m_angularOffset,t.step.warmStarting){this.m_linearImpulse.SelfMul(t.step.dtRatio),this.m_angularImpulse*=t.step.dtRatio;var v=this.m_linearImpulse;n.SelfMulSub(f,v),r-=p*(P.CrossVV(u,v)+this.m_angularImpulse),o.SelfMulAdd(d,v),l+=m*(P.CrossVV(_,v)+this.m_angularImpulse)}else this.m_linearImpulse.SetZero(),this.m_angularImpulse=0;t.velocities[this.m_indexA].w=r,t.velocities[this.m_indexB].w=l},i.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,n=t.velocities[this.m_indexA].w,r=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,a=this.m_invMassA,o=this.m_invMassB,l=this.m_invIA,c=this.m_invIB,h=t.step.dt,u=t.step.inv_dt,_=s-n+u*this.m_correctionFactor*this.m_angularError,f=-this.m_angularMass*_,d=this.m_angularImpulse,p=h*this.m_maxTorque;this.m_angularImpulse=g(this.m_angularImpulse+f,-p,p),n-=l*(f=this.m_angularImpulse-d),s+=c*f;var m=this.m_rA,y=this.m_rB,v=P.AddVV(P.SubVV(P.AddVV(r,P.CrossSV(s,y,P.s_t0),P.s_t0),P.AddVV(e,P.CrossSV(n,m,P.s_t1),P.s_t1),P.s_t2),P.MulSV(u*this.m_correctionFactor,this.m_linearError,P.s_t3),i.SolveVelocityConstraints_s_Cdot_v2),b=O.MulMV(this.m_linearMass,v,i.SolveVelocityConstraints_s_impulse_v2).SelfNeg(),A=i.SolveVelocityConstraints_s_oldImpulse_v2.Copy(this.m_linearImpulse);this.m_linearImpulse.SelfAdd(b),p=h*this.m_maxForce,this.m_linearImpulse.LengthSquared()>p*p&&(this.m_linearImpulse.Normalize(),this.m_linearImpulse.SelfMul(p)),P.SubVV(this.m_linearImpulse,A,b),e.SelfMulSub(a,b),n-=l*P.CrossVV(m,b),r.SelfMulAdd(o,b),s+=c*P.CrossVV(y,b),t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=s},i.prototype.SolvePositionConstraints=function(){return!0},i.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t(" const jd: b2MotorJointDef = new b2MotorJointDef();\n"),t(" jd.bodyA = bodies[%d];\n",e),t(" jd.bodyB = bodies[%d];\n",i),t(" jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t(" jd.linearOffset.Set(%.15f, %.15f);\n",this.m_linearOffset.x,this.m_linearOffset.y),t(" jd.angularOffset = %.15f;\n",this.m_angularOffset),t(" jd.maxForce = %.15f;\n",this.m_maxForce),t(" jd.maxTorque = %.15f;\n",this.m_maxTorque),t(" jd.correctionFactor = %.15f;\n",this.m_correctionFactor),t(" joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},i.SolveVelocityConstraints_s_Cdot_v2=new P,i.SolveVelocityConstraints_s_impulse_v2=new P,i.SolveVelocityConstraints_s_oldImpulse_v2=new P,i})(mi),Ei=(function(e){function i(){var i=e.call(this,t.b2JointType.e_mouseJoint)||this;return i.target=new P,i.maxForce=0,i.frequencyHz=5,i.dampingRatio=.7,i}return ti(i,e),i})(pi),Mi=(function(t){function i(i){var n=t.call(this,i)||this;return n.m_localAnchorB=new P,n.m_targetA=new P,n.m_frequencyHz=0,n.m_dampingRatio=0,n.m_beta=0,n.m_impulse=new P,n.m_maxForce=0,n.m_gamma=0,n.m_indexA=0,n.m_indexB=0,n.m_rB=new P,n.m_localCenterB=new P,n.m_invMassB=0,n.m_invIB=0,n.m_mass=new O,n.m_C=new P,n.m_qB=new F,n.m_lalcB=new P,n.m_K=new O,n.m_targetA.Copy(e(i.target,P.ZERO)),V.MulTXV(n.m_bodyB.GetTransform(),n.m_targetA,n.m_localAnchorB),n.m_maxForce=e(i.maxForce,0),n.m_impulse.SetZero(),n.m_frequencyHz=e(i.frequencyHz,0),n.m_dampingRatio=e(i.dampingRatio,0),n.m_beta=0,n.m_gamma=0,n}return ti(i,t),i.prototype.SetTarget=function(t){this.m_bodyB.IsAwake()||this.m_bodyB.SetAwake(!0),this.m_targetA.Copy(t)},i.prototype.GetTarget=function(){return this.m_targetA},i.prototype.SetMaxForce=function(t){this.m_maxForce=t},i.prototype.GetMaxForce=function(){return this.m_maxForce},i.prototype.SetFrequency=function(t){this.m_frequencyHz=t},i.prototype.GetFrequency=function(){return this.m_frequencyHz},i.prototype.SetDampingRatio=function(t){this.m_dampingRatio=t},i.prototype.GetDampingRatio=function(){return this.m_dampingRatio},i.prototype.InitVelocityConstraints=function(t){this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIB=this.m_bodyB.m_invI;var e=t.positions[this.m_indexB].c,i=t.positions[this.m_indexB].a,n=t.velocities[this.m_indexB].v,r=t.velocities[this.m_indexB].w,a=this.m_qB.SetAngle(i),o=this.m_bodyB.GetMass(),l=2*s*this.m_frequencyHz,c=2*o*this.m_dampingRatio*l,h=o*l*l,u=t.step.dt;this.m_gamma=u*(c+u*h),0!==this.m_gamma&&(this.m_gamma=1/this.m_gamma),this.m_beta=u*h*this.m_gamma,P.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),F.MulRV(a,this.m_lalcB,this.m_rB);var _=this.m_K;_.ex.x=this.m_invMassB+this.m_invIB*this.m_rB.y*this.m_rB.y+this.m_gamma,_.ex.y=-this.m_invIB*this.m_rB.x*this.m_rB.y,_.ey.x=_.ex.y,_.ey.y=this.m_invMassB+this.m_invIB*this.m_rB.x*this.m_rB.x+this.m_gamma,_.GetInverse(this.m_mass),this.m_C.x=e.x+this.m_rB.x-this.m_targetA.x,this.m_C.y=e.y+this.m_rB.y-this.m_targetA.y,this.m_C.SelfMul(this.m_beta),r*=.98,t.step.warmStarting?(this.m_impulse.SelfMul(t.step.dtRatio),n.x+=this.m_invMassB*this.m_impulse.x,n.y+=this.m_invMassB*this.m_impulse.y,r+=this.m_invIB*P.CrossVV(this.m_rB,this.m_impulse)):this.m_impulse.SetZero(),t.velocities[this.m_indexB].w=r},i.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexB].v,n=t.velocities[this.m_indexB].w,r=P.AddVCrossSV(e,n,this.m_rB,i.SolveVelocityConstraints_s_Cdot),s=O.MulMV(this.m_mass,P.AddVV(r,P.AddVV(this.m_C,P.MulSV(this.m_gamma,this.m_impulse,P.s_t0),P.s_t0),P.s_t0).SelfNeg(),i.SolveVelocityConstraints_s_impulse),a=i.SolveVelocityConstraints_s_oldImpulse.Copy(this.m_impulse);this.m_impulse.SelfAdd(s);var o=t.step.dt*this.m_maxForce;this.m_impulse.LengthSquared()>o*o&&this.m_impulse.SelfMul(o/this.m_impulse.Length()),P.SubVV(this.m_impulse,a,s),e.SelfMulAdd(this.m_invMassB,s),n+=this.m_invIB*P.CrossVV(this.m_rB,s),t.velocities[this.m_indexB].w=n},i.prototype.SolvePositionConstraints=function(){return!0},i.prototype.GetAnchorA=function(t){return t.x=this.m_targetA.x,t.y=this.m_targetA.y,t},i.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},i.prototype.GetReactionForce=function(t,e){return P.MulSV(t,this.m_impulse,e)},i.prototype.GetReactionTorque=function(){return 0},i.prototype.Dump=function(t){t("Mouse joint dumping is not supported.\n")},i.prototype.ShiftOrigin=function(t){this.m_targetA.SelfSub(t)},i.SolveVelocityConstraints_s_Cdot=new P,i.SolveVelocityConstraints_s_impulse=new P,i.SolveVelocityConstraints_s_oldImpulse=new P,i})(mi),Di=(function(e){function i(){var i=e.call(this,t.b2JointType.e_prismaticJoint)||this;return i.localAnchorA=new P,i.localAnchorB=new P,i.localAxisA=new P(1,0),i.referenceAngle=0,i.enableLimit=!1,i.lowerTranslation=0,i.upperTranslation=0,i.enableMotor=!1,i.maxMotorForce=0,i.motorSpeed=0,i}return ti(i,e),i.prototype.Initialize=function(t,e,i,n){this.bodyA=t,this.bodyB=e,this.bodyA.GetLocalPoint(i,this.localAnchorA),this.bodyB.GetLocalPoint(i,this.localAnchorB),this.bodyA.GetLocalVector(n,this.localAxisA),this.referenceAngle=this.bodyB.GetAngle()-this.bodyA.GetAngle()},i})(pi),Bi=(function(i){function n(n){var r=i.call(this,n)||this;return r.m_localAnchorA=new P,r.m_localAnchorB=new P,r.m_localXAxisA=new P,r.m_localYAxisA=new P,r.m_referenceAngle=0,r.m_impulse=new R(0,0,0),r.m_motorImpulse=0,r.m_lowerTranslation=0,r.m_upperTranslation=0,r.m_maxMotorForce=0,r.m_motorSpeed=0,r.m_enableLimit=!1,r.m_enableMotor=!1,r.m_limitState=t.b2LimitState.e_inactiveLimit,r.m_indexA=0,r.m_indexB=0,r.m_localCenterA=new P,r.m_localCenterB=new P,r.m_invMassA=0,r.m_invMassB=0,r.m_invIA=0,r.m_invIB=0,r.m_axis=new P(0,0),r.m_perp=new P(0,0),r.m_s1=0,r.m_s2=0,r.m_a1=0,r.m_a2=0,r.m_K=new L,r.m_K3=new L,r.m_K2=new O,r.m_motorMass=0,r.m_qA=new F,r.m_qB=new F,r.m_lalcA=new P,r.m_lalcB=new P,r.m_rA=new P,r.m_rB=new P,r.m_localAnchorA.Copy(e(n.localAnchorA,P.ZERO)),r.m_localAnchorB.Copy(e(n.localAnchorB,P.ZERO)),r.m_localXAxisA.Copy(e(n.localAxisA,new P(1,0))).SelfNormalize(),P.CrossOneV(r.m_localXAxisA,r.m_localYAxisA),r.m_referenceAngle=e(n.referenceAngle,0),r.m_lowerTranslation=e(n.lowerTranslation,0),r.m_upperTranslation=e(n.upperTranslation,0),r.m_maxMotorForce=e(n.maxMotorForce,0),r.m_motorSpeed=e(n.motorSpeed,0),r.m_enableLimit=e(n.enableLimit,!1),r.m_enableMotor=e(n.enableMotor,!1),r}return ti(n,i),n.prototype.InitVelocityConstraints=function(e){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var i=e.positions[this.m_indexA].c,r=e.positions[this.m_indexA].a,s=e.velocities[this.m_indexA].v,a=e.velocities[this.m_indexA].w,o=e.positions[this.m_indexB].c,c=e.positions[this.m_indexB].a,h=e.velocities[this.m_indexB].v,u=e.velocities[this.m_indexB].w,_=this.m_qA.SetAngle(r),f=this.m_qB.SetAngle(c);P.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var d=F.MulRV(_,this.m_lalcA,this.m_rA);P.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var p=F.MulRV(f,this.m_lalcB,this.m_rB),y=P.AddVV(P.SubVV(o,i,P.s_t0),P.SubVV(p,d,P.s_t1),n.InitVelocityConstraints_s_d),v=this.m_invMassA,g=this.m_invMassB,b=this.m_invIA,A=this.m_invIB;if(F.MulRV(_,this.m_localXAxisA,this.m_axis),this.m_a1=P.CrossVV(P.AddVV(y,d,P.s_t0),this.m_axis),this.m_a2=P.CrossVV(p,this.m_axis),this.m_motorMass=v+g+b*this.m_a1*this.m_a1+A*this.m_a2*this.m_a2,this.m_motorMass>0&&(this.m_motorMass=1/this.m_motorMass),F.MulRV(_,this.m_localYAxisA,this.m_perp),this.m_s1=P.CrossVV(P.AddVV(y,d,P.s_t0),this.m_perp),this.m_s2=P.CrossVV(p,this.m_perp),this.m_K.ex.x=v+g+b*this.m_s1*this.m_s1+A*this.m_s2*this.m_s2,this.m_K.ex.y=b*this.m_s1+A*this.m_s2,this.m_K.ex.z=b*this.m_s1*this.m_a1+A*this.m_s2*this.m_a2,this.m_K.ey.x=this.m_K.ex.y,this.m_K.ey.y=b+A,0===this.m_K.ey.y&&(this.m_K.ey.y=1),this.m_K.ey.z=b*this.m_a1+A*this.m_a2,this.m_K.ez.x=this.m_K.ex.z,this.m_K.ez.y=this.m_K.ey.z,this.m_K.ez.z=v+g+b*this.m_a1*this.m_a1+A*this.m_a2*this.m_a2,this.m_enableLimit){var x=P.DotVV(this.m_axis,y);m(this.m_upperTranslation-this.m_lowerTranslation)<2*l?this.m_limitState=t.b2LimitState.e_equalLimits:x<=this.m_lowerTranslation?this.m_limitState!==t.b2LimitState.e_atLowerLimit&&(this.m_limitState=t.b2LimitState.e_atLowerLimit,this.m_impulse.z=0):x>=this.m_upperTranslation?this.m_limitState!==t.b2LimitState.e_atUpperLimit&&(this.m_limitState=t.b2LimitState.e_atUpperLimit,this.m_impulse.z=0):(this.m_limitState=t.b2LimitState.e_inactiveLimit,this.m_impulse.z=0)}else this.m_limitState=t.b2LimitState.e_inactiveLimit,this.m_impulse.z=0;if(this.m_enableMotor||(this.m_motorImpulse=0),e.step.warmStarting){this.m_impulse.SelfMul(e.step.dtRatio),this.m_motorImpulse*=e.step.dtRatio;var C=P.AddVV(P.MulSV(this.m_impulse.x,this.m_perp,P.s_t0),P.MulSV(this.m_motorImpulse+this.m_impulse.z,this.m_axis,P.s_t1),n.InitVelocityConstraints_s_P),T=this.m_impulse.x*this.m_s1+this.m_impulse.y+(this.m_motorImpulse+this.m_impulse.z)*this.m_a1,S=this.m_impulse.x*this.m_s2+this.m_impulse.y+(this.m_motorImpulse+this.m_impulse.z)*this.m_a2;s.SelfMulSub(v,C),a-=b*T,h.SelfMulAdd(g,C),u+=A*S}else this.m_impulse.SetZero(),this.m_motorImpulse=0;e.velocities[this.m_indexA].w=a,e.velocities[this.m_indexB].w=u},n.prototype.SolveVelocityConstraints=function(e){var i=e.velocities[this.m_indexA].v,r=e.velocities[this.m_indexA].w,s=e.velocities[this.m_indexB].v,a=e.velocities[this.m_indexB].w,o=this.m_invMassA,l=this.m_invMassB,c=this.m_invIA,h=this.m_invIB;if(this.m_enableMotor&&this.m_limitState!==t.b2LimitState.e_equalLimits){var u=P.DotVV(this.m_axis,P.SubVV(s,i,P.s_t0))+this.m_a2*a-this.m_a1*r,_=this.m_motorMass*(this.m_motorSpeed-u),f=this.m_motorImpulse,d=e.step.dt*this.m_maxMotorForce;this.m_motorImpulse=g(this.m_motorImpulse+_,-d,d),_=this.m_motorImpulse-f;var p=P.MulSV(_,this.m_axis,n.SolveVelocityConstraints_s_P),m=_*this.m_a1,b=_*this.m_a2;i.SelfMulSub(o,p),r-=c*m,s.SelfMulAdd(l,p),a+=h*b}var A=P.DotVV(this.m_perp,P.SubVV(s,i,P.s_t0))+this.m_s2*a-this.m_s1*r,x=a-r;if(this.m_enableLimit&&this.m_limitState!==t.b2LimitState.e_inactiveLimit){var C=P.DotVV(this.m_axis,P.SubVV(s,i,P.s_t0))+this.m_a2*a-this.m_a1*r,T=n.SolveVelocityConstraints_s_f1.Copy(this.m_impulse),S=this.m_K.Solve33(-A,-x,-C,n.SolveVelocityConstraints_s_df3);this.m_impulse.SelfAdd(S),this.m_limitState===t.b2LimitState.e_atLowerLimit?this.m_impulse.z=v(this.m_impulse.z,0):this.m_limitState===t.b2LimitState.e_atUpperLimit&&(this.m_impulse.z=y(this.m_impulse.z,0));var w=-A-(this.m_impulse.z-T.z)*this.m_K.ez.x,E=-x-(this.m_impulse.z-T.z)*this.m_K.ez.y,M=this.m_K.Solve22(w,E,n.SolveVelocityConstraints_s_f2r);M.x+=T.x,M.y+=T.y,this.m_impulse.x=M.x,this.m_impulse.y=M.y,S.x=this.m_impulse.x-T.x,S.y=this.m_impulse.y-T.y,S.z=this.m_impulse.z-T.z,p=P.AddVV(P.MulSV(S.x,this.m_perp,P.s_t0),P.MulSV(S.z,this.m_axis,P.s_t1),n.SolveVelocityConstraints_s_P),m=S.x*this.m_s1+S.y+S.z*this.m_a1,b=S.x*this.m_s2+S.y+S.z*this.m_a2,i.SelfMulSub(o,p),r-=c*m,s.SelfMulAdd(l,p),a+=h*b}else{var D=this.m_K.Solve22(-A,-x,n.SolveVelocityConstraints_s_df2);this.m_impulse.x+=D.x,this.m_impulse.y+=D.y,p=P.MulSV(D.x,this.m_perp,n.SolveVelocityConstraints_s_P),m=D.x*this.m_s1+D.y,b=D.x*this.m_s2+D.y,i.SelfMulSub(o,p),r-=c*m,s.SelfMulAdd(l,p),a+=h*b}e.velocities[this.m_indexA].w=r,e.velocities[this.m_indexB].w=a},n.prototype.SolvePositionConstraints=function(t){var e=t.positions[this.m_indexA].c,i=t.positions[this.m_indexA].a,r=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,a=this.m_qA.SetAngle(i),o=this.m_qB.SetAngle(s),h=this.m_invMassA,u=this.m_invMassB,_=this.m_invIA,f=this.m_invIB,d=F.MulRV(a,this.m_lalcA,this.m_rA),p=F.MulRV(o,this.m_lalcB,this.m_rB),y=P.SubVV(P.AddVV(r,p,P.s_t0),P.AddVV(e,d,P.s_t1),n.SolvePositionConstraints_s_d),b=F.MulRV(a,this.m_localXAxisA,this.m_axis),A=P.CrossVV(P.AddVV(y,d,P.s_t0),b),x=P.CrossVV(p,b),C=F.MulRV(a,this.m_localYAxisA,this.m_perp),T=P.CrossVV(P.AddVV(y,d,P.s_t0),C),S=P.CrossVV(p,C),w=n.SolvePositionConstraints_s_impulse,E=P.DotVV(C,y),M=s-i-this.m_referenceAngle,D=m(E),B=m(M),I=!1,R=0;if(this.m_enableLimit){var O=P.DotVV(b,y);m(this.m_upperTranslation-this.m_lowerTranslation)<2*l?(R=g(O,-.2,.2),D=v(D,m(O)),I=!0):O<=this.m_lowerTranslation?(R=g(O-this.m_lowerTranslation+l,-.2,0),D=v(D,this.m_lowerTranslation-O),I=!0):O>=this.m_upperTranslation&&(R=g(O-this.m_upperTranslation-l,0,.2),D=v(D,O-this.m_upperTranslation),I=!0)}if(I){var L=h+u+_*T*T+f*S*S,V=_*T+f*S,N=_*T*A+f*S*x;0===(U=_+f)&&(U=1);var k=_*A+f*x,z=h+u+_*A*A+f*x*x,G=this.m_K3;G.ex.SetXYZ(L,V,N),G.ey.SetXYZ(V,U,k),G.ez.SetXYZ(N,k,z),w=G.Solve33(-E,-M,-R,w)}else{var U;L=h+u+_*T*T+f*S*S,V=_*T+f*S,0===(U=_+f)&&(U=1);var j=this.m_K2;j.ex.Set(L,V),j.ey.Set(V,U);var H=j.Solve(-E,-M,n.SolvePositionConstraints_s_impulse1);w.x=H.x,w.y=H.y,w.z=0}var W=P.AddVV(P.MulSV(w.x,C,P.s_t0),P.MulSV(w.z,b,P.s_t1),n.SolvePositionConstraints_s_P),X=w.x*T+w.y+w.z*A,Y=w.x*S+w.y+w.z*x;return e.SelfMulSub(h,W),i-=_*X,r.SelfMulAdd(u,W),s+=f*Y,t.positions[this.m_indexA].a=i,t.positions[this.m_indexB].a=s,D<=l&&B<=c},n.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},n.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},n.prototype.GetReactionForce=function(t,e){return e.x=t*(this.m_impulse.x*this.m_perp.x+(this.m_motorImpulse+this.m_impulse.z)*this.m_axis.x),e.y=t*(this.m_impulse.x*this.m_perp.y+(this.m_motorImpulse+this.m_impulse.z)*this.m_axis.y),e},n.prototype.GetReactionTorque=function(t){return t*this.m_impulse.y},n.prototype.GetLocalAnchorA=function(){return this.m_localAnchorA},n.prototype.GetLocalAnchorB=function(){return this.m_localAnchorB},n.prototype.GetLocalAxisA=function(){return this.m_localXAxisA},n.prototype.GetReferenceAngle=function(){return this.m_referenceAngle},n.prototype.GetJointTranslation=function(){var t=this.m_bodyA.GetWorldPoint(this.m_localAnchorA,n.GetJointTranslation_s_pA),e=this.m_bodyB.GetWorldPoint(this.m_localAnchorB,n.GetJointTranslation_s_pB),i=P.SubVV(e,t,n.GetJointTranslation_s_d),r=this.m_bodyA.GetWorldVector(this.m_localXAxisA,n.GetJointTranslation_s_axis);return P.DotVV(i,r)},n.prototype.GetJointSpeed=function(){var t=this.m_bodyA,e=this.m_bodyB;P.SubVV(this.m_localAnchorA,t.m_sweep.localCenter,this.m_lalcA);var i=F.MulRV(t.m_xf.q,this.m_lalcA,this.m_rA);P.SubVV(this.m_localAnchorB,e.m_sweep.localCenter,this.m_lalcB);var n=F.MulRV(e.m_xf.q,this.m_lalcB,this.m_rB),r=P.AddVV(t.m_sweep.c,i,P.s_t0),s=P.AddVV(e.m_sweep.c,n,P.s_t1),a=P.SubVV(s,r,P.s_t2),o=t.GetWorldVector(this.m_localXAxisA,this.m_axis),l=t.m_linearVelocity,c=e.m_linearVelocity,h=t.m_angularVelocity,u=e.m_angularVelocity;return P.DotVV(a,P.CrossSV(h,o,P.s_t0))+P.DotVV(o,P.SubVV(P.AddVCrossSV(c,u,n,P.s_t0),P.AddVCrossSV(l,h,i,P.s_t1),P.s_t0))},n.prototype.IsLimitEnabled=function(){return this.m_enableLimit},n.prototype.EnableLimit=function(t){t!==this.m_enableLimit&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_enableLimit=t,this.m_impulse.z=0)},n.prototype.GetLowerLimit=function(){return this.m_lowerTranslation},n.prototype.GetUpperLimit=function(){return this.m_upperTranslation},n.prototype.SetLimits=function(t,e){t===this.m_lowerTranslation&&e===this.m_upperTranslation||(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_lowerTranslation=t,this.m_upperTranslation=e,this.m_impulse.z=0)},n.prototype.IsMotorEnabled=function(){return this.m_enableMotor},n.prototype.EnableMotor=function(t){t!==this.m_enableMotor&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_enableMotor=t)},n.prototype.SetMotorSpeed=function(t){t!==this.m_motorSpeed&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_motorSpeed=t)},n.prototype.GetMotorSpeed=function(){return this.m_motorSpeed},n.prototype.SetMaxMotorForce=function(t){t!==this.m_maxMotorForce&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_maxMotorForce=t)},n.prototype.GetMaxMotorForce=function(){return this.m_maxMotorForce},n.prototype.GetMotorForce=function(t){return t*this.m_motorImpulse},n.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t(" const jd: b2PrismaticJointDef = new b2PrismaticJointDef();\n"),t(" jd.bodyA = bodies[%d];\n",e),t(" jd.bodyB = bodies[%d];\n",i),t(" jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t(" jd.localAnchorA.Set(%.15f, %.15f);\n",this.m_localAnchorA.x,this.m_localAnchorA.y),t(" jd.localAnchorB.Set(%.15f, %.15f);\n",this.m_localAnchorB.x,this.m_localAnchorB.y),t(" jd.localAxisA.Set(%.15f, %.15f);\n",this.m_localXAxisA.x,this.m_localXAxisA.y),t(" jd.referenceAngle = %.15f;\n",this.m_referenceAngle),t(" jd.enableLimit = %s;\n",this.m_enableLimit?"true":"false"),t(" jd.lowerTranslation = %.15f;\n",this.m_lowerTranslation),t(" jd.upperTranslation = %.15f;\n",this.m_upperTranslation),t(" jd.enableMotor = %s;\n",this.m_enableMotor?"true":"false"),t(" jd.motorSpeed = %.15f;\n",this.m_motorSpeed),t(" jd.maxMotorForce = %.15f;\n",this.m_maxMotorForce),t(" joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},n.InitVelocityConstraints_s_d=new P,n.InitVelocityConstraints_s_P=new P,n.SolveVelocityConstraints_s_P=new P,n.SolveVelocityConstraints_s_f2r=new P,n.SolveVelocityConstraints_s_f1=new R,n.SolveVelocityConstraints_s_df3=new R,n.SolveVelocityConstraints_s_df2=new P,n.SolvePositionConstraints_s_d=new P,n.SolvePositionConstraints_s_impulse=new R,n.SolvePositionConstraints_s_impulse1=new P,n.SolvePositionConstraints_s_P=new P,n.GetJointTranslation_s_pA=new P,n.GetJointTranslation_s_pB=new P,n.GetJointTranslation_s_d=new P,n.GetJointTranslation_s_axis=new P,n})(mi),Pi=(function(e){function i(){var i=e.call(this,t.b2JointType.e_pulleyJoint)||this;return i.groundAnchorA=new P(-1,1),i.groundAnchorB=new P(1,1),i.localAnchorA=new P(-1,0),i.localAnchorB=new P(1,0),i.lengthA=0,i.lengthB=0,i.ratio=1,i.collideConnected=!0,i}return ti(i,e),i.prototype.Initialize=function(t,e,i,n,r,s,a){this.bodyA=t,this.bodyB=e,this.groundAnchorA.Copy(i),this.groundAnchorB.Copy(n),this.bodyA.GetLocalPoint(r,this.localAnchorA),this.bodyB.GetLocalPoint(s,this.localAnchorB),this.lengthA=P.DistanceVV(r,i),this.lengthB=P.DistanceVV(s,n),this.ratio=a},i})(pi),Ii=(function(t){function i(i){var n=t.call(this,i)||this;return n.m_groundAnchorA=new P,n.m_groundAnchorB=new P,n.m_lengthA=0,n.m_lengthB=0,n.m_localAnchorA=new P,n.m_localAnchorB=new P,n.m_constant=0,n.m_ratio=0,n.m_impulse=0,n.m_indexA=0,n.m_indexB=0,n.m_uA=new P,n.m_uB=new P,n.m_rA=new P,n.m_rB=new P,n.m_localCenterA=new P,n.m_localCenterB=new P,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_mass=0,n.m_qA=new F,n.m_qB=new F,n.m_lalcA=new P,n.m_lalcB=new P,n.m_groundAnchorA.Copy(e(i.groundAnchorA,new P(-1,1))),n.m_groundAnchorB.Copy(e(i.groundAnchorB,new P(1,0))),n.m_localAnchorA.Copy(e(i.localAnchorA,new P(-1,0))),n.m_localAnchorB.Copy(e(i.localAnchorB,new P(1,0))),n.m_lengthA=e(i.lengthA,0),n.m_lengthB=e(i.lengthB,0),n.m_ratio=e(i.ratio,1),n.m_constant=e(i.lengthA,0)+n.m_ratio*e(i.lengthB,0),n.m_impulse=0,n}return ti(i,t),i.prototype.InitVelocityConstraints=function(t){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var e=t.positions[this.m_indexA].c,n=t.positions[this.m_indexA].a,r=t.velocities[this.m_indexA].v,s=t.velocities[this.m_indexA].w,a=t.positions[this.m_indexB].c,o=t.positions[this.m_indexB].a,c=t.velocities[this.m_indexB].v,h=t.velocities[this.m_indexB].w,u=this.m_qA.SetAngle(n),_=this.m_qB.SetAngle(o);P.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA),F.MulRV(u,this.m_lalcA,this.m_rA),P.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),F.MulRV(_,this.m_lalcB,this.m_rB),this.m_uA.Copy(e).SelfAdd(this.m_rA).SelfSub(this.m_groundAnchorA),this.m_uB.Copy(a).SelfAdd(this.m_rB).SelfSub(this.m_groundAnchorB);var f=this.m_uA.Length(),d=this.m_uB.Length();f>10*l?this.m_uA.SelfMul(1/f):this.m_uA.SetZero(),d>10*l?this.m_uB.SelfMul(1/d):this.m_uB.SetZero();var p=P.CrossVV(this.m_rA,this.m_uA),m=P.CrossVV(this.m_rB,this.m_uB),y=this.m_invMassA+this.m_invIA*p*p,v=this.m_invMassB+this.m_invIB*m*m;if(this.m_mass=y+this.m_ratio*this.m_ratio*v,this.m_mass>0&&(this.m_mass=1/this.m_mass),t.step.warmStarting){this.m_impulse*=t.step.dtRatio;var g=P.MulSV(-this.m_impulse,this.m_uA,i.InitVelocityConstraints_s_PA),b=P.MulSV(-this.m_ratio*this.m_impulse,this.m_uB,i.InitVelocityConstraints_s_PB);r.SelfMulAdd(this.m_invMassA,g),s+=this.m_invIA*P.CrossVV(this.m_rA,g),c.SelfMulAdd(this.m_invMassB,b),h+=this.m_invIB*P.CrossVV(this.m_rB,b)}else this.m_impulse=0;t.velocities[this.m_indexA].w=s,t.velocities[this.m_indexB].w=h},i.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,n=t.velocities[this.m_indexA].w,r=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,a=P.AddVCrossSV(e,n,this.m_rA,i.SolveVelocityConstraints_s_vpA),o=P.AddVCrossSV(r,s,this.m_rB,i.SolveVelocityConstraints_s_vpB),l=-P.DotVV(this.m_uA,a)-this.m_ratio*P.DotVV(this.m_uB,o),c=-this.m_mass*l;this.m_impulse+=c;var h=P.MulSV(-c,this.m_uA,i.SolveVelocityConstraints_s_PA),u=P.MulSV(-this.m_ratio*c,this.m_uB,i.SolveVelocityConstraints_s_PB);e.SelfMulAdd(this.m_invMassA,h),n+=this.m_invIA*P.CrossVV(this.m_rA,h),r.SelfMulAdd(this.m_invMassB,u),s+=this.m_invIB*P.CrossVV(this.m_rB,u),t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=s},i.prototype.SolvePositionConstraints=function(t){var e=t.positions[this.m_indexA].c,n=t.positions[this.m_indexA].a,r=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,a=this.m_qA.SetAngle(n),o=this.m_qB.SetAngle(s);P.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var c=F.MulRV(a,this.m_lalcA,this.m_rA);P.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var h=F.MulRV(o,this.m_lalcB,this.m_rB),u=this.m_uA.Copy(e).SelfAdd(c).SelfSub(this.m_groundAnchorA),_=this.m_uB.Copy(r).SelfAdd(h).SelfSub(this.m_groundAnchorB),f=u.Length(),d=_.Length();f>10*l?u.SelfMul(1/f):u.SetZero(),d>10*l?_.SelfMul(1/d):_.SetZero();var p=P.CrossVV(c,u),y=P.CrossVV(h,_),v=this.m_invMassA+this.m_invIA*p*p,g=this.m_invMassB+this.m_invIB*y*y,b=v+this.m_ratio*this.m_ratio*g;b>0&&(b=1/b);var A=this.m_constant-f-this.m_ratio*d,x=m(A),C=-b*A,T=P.MulSV(-C,u,i.SolvePositionConstraints_s_PA),S=P.MulSV(-this.m_ratio*C,_,i.SolvePositionConstraints_s_PB);return e.SelfMulAdd(this.m_invMassA,T),n+=this.m_invIA*P.CrossVV(c,T),r.SelfMulAdd(this.m_invMassB,S),s+=this.m_invIB*P.CrossVV(h,S),t.positions[this.m_indexA].a=n,t.positions[this.m_indexB].a=s,x0&&(this.m_motorMass=1/this.m_motorMass),this.m_enableMotor&&!y||(this.m_motorImpulse=0),this.m_enableLimit&&!y){var v=a-i-this.m_referenceAngle;m(this.m_upperAngle-this.m_lowerAngle)<2*c?this.m_limitState=t.b2LimitState.e_equalLimits:v<=this.m_lowerAngle?(this.m_limitState!==t.b2LimitState.e_atLowerLimit&&(this.m_impulse.z=0),this.m_limitState=t.b2LimitState.e_atLowerLimit):v>=this.m_upperAngle?(this.m_limitState!==t.b2LimitState.e_atUpperLimit&&(this.m_impulse.z=0),this.m_limitState=t.b2LimitState.e_atUpperLimit):(this.m_limitState=t.b2LimitState.e_inactiveLimit,this.m_impulse.z=0)}else this.m_limitState=t.b2LimitState.e_inactiveLimit;if(e.step.warmStarting){this.m_impulse.SelfMul(e.step.dtRatio),this.m_motorImpulse*=e.step.dtRatio;var g=n.InitVelocityConstraints_s_P.Set(this.m_impulse.x,this.m_impulse.y);r.SelfMulSub(_,g),s-=d*(P.CrossVV(this.m_rA,g)+this.m_motorImpulse+this.m_impulse.z),o.SelfMulAdd(f,g),l+=p*(P.CrossVV(this.m_rB,g)+this.m_motorImpulse+this.m_impulse.z)}else this.m_impulse.SetZero(),this.m_motorImpulse=0;e.velocities[this.m_indexA].w=s,e.velocities[this.m_indexB].w=l},n.prototype.SolveVelocityConstraints=function(e){var i=e.velocities[this.m_indexA].v,r=e.velocities[this.m_indexA].w,s=e.velocities[this.m_indexB].v,a=e.velocities[this.m_indexB].w,o=this.m_invMassA,l=this.m_invMassB,c=this.m_invIA,h=this.m_invIB,u=c+h===0;if(this.m_enableMotor&&this.m_limitState!==t.b2LimitState.e_equalLimits&&!u){var _=a-r-this.m_motorSpeed,f=-this.m_motorMass*_,d=this.m_motorImpulse,p=e.step.dt*this.m_maxMotorTorque;this.m_motorImpulse=g(this.m_motorImpulse+f,-p,p),r-=c*(f=this.m_motorImpulse-d),a+=h*f}if(this.m_enableLimit&&this.m_limitState!==t.b2LimitState.e_inactiveLimit&&!u){var m=P.SubVV(P.AddVCrossSV(s,a,this.m_rB,P.s_t0),P.AddVCrossSV(i,r,this.m_rA,P.s_t1),n.SolveVelocityConstraints_s_Cdot1),y=a-r,v=this.m_mass.Solve33(m.x,m.y,y,n.SolveVelocityConstraints_s_impulse_v3).SelfNeg();if(this.m_limitState===t.b2LimitState.e_equalLimits)this.m_impulse.SelfAdd(v);else if(this.m_limitState===t.b2LimitState.e_atLowerLimit)if(this.m_impulse.z+v.z<0){var b=-m.x+this.m_impulse.z*this.m_mass.ez.x,A=-m.y+this.m_impulse.z*this.m_mass.ez.y,x=this.m_mass.Solve22(b,A,n.SolveVelocityConstraints_s_reduced_v2);v.x=x.x,v.y=x.y,v.z=-this.m_impulse.z,this.m_impulse.x+=x.x,this.m_impulse.y+=x.y,this.m_impulse.z=0}else this.m_impulse.SelfAdd(v);else this.m_limitState===t.b2LimitState.e_atUpperLimit&&(this.m_impulse.z+v.z>0?(b=-m.x+this.m_impulse.z*this.m_mass.ez.x,A=-m.y+this.m_impulse.z*this.m_mass.ez.y,x=this.m_mass.Solve22(b,A,n.SolveVelocityConstraints_s_reduced_v2),v.x=x.x,v.y=x.y,v.z=-this.m_impulse.z,this.m_impulse.x+=x.x,this.m_impulse.y+=x.y,this.m_impulse.z=0):this.m_impulse.SelfAdd(v));var C=n.SolveVelocityConstraints_s_P.Set(v.x,v.y);i.SelfMulSub(o,C),r-=c*(P.CrossVV(this.m_rA,C)+v.z),s.SelfMulAdd(l,C),a+=h*(P.CrossVV(this.m_rB,C)+v.z)}else{var T=P.SubVV(P.AddVCrossSV(s,a,this.m_rB,P.s_t0),P.AddVCrossSV(i,r,this.m_rA,P.s_t1),n.SolveVelocityConstraints_s_Cdot_v2),S=this.m_mass.Solve22(-T.x,-T.y,n.SolveVelocityConstraints_s_impulse_v2);this.m_impulse.x+=S.x,this.m_impulse.y+=S.y,i.SelfMulSub(o,S),r-=c*P.CrossVV(this.m_rA,S),s.SelfMulAdd(l,S),a+=h*P.CrossVV(this.m_rB,S)}e.velocities[this.m_indexA].w=r,e.velocities[this.m_indexB].w=a},n.prototype.SolvePositionConstraints=function(e){var i,r=e.positions[this.m_indexA].c,s=e.positions[this.m_indexA].a,a=e.positions[this.m_indexB].c,o=e.positions[this.m_indexB].a,h=this.m_qA.SetAngle(s),u=this.m_qB.SetAngle(o),_=0,f=this.m_invIA+this.m_invIB===0;if(this.m_enableLimit&&this.m_limitState!==t.b2LimitState.e_inactiveLimit&&!f){var d=o-s-this.m_referenceAngle,p=0;if(this.m_limitState===t.b2LimitState.e_equalLimits){var y=g(d-this.m_lowerAngle,-.13962634015955555,.13962634015955555);p=-this.m_motorMass*y,_=m(y)}else this.m_limitState===t.b2LimitState.e_atLowerLimit?(_=-(y=d-this.m_lowerAngle),y=g(y+c,-.13962634015955555,0),p=-this.m_motorMass*y):this.m_limitState===t.b2LimitState.e_atUpperLimit&&(_=y=d-this.m_upperAngle,y=g(y-c,0,.13962634015955555),p=-this.m_motorMass*y);s-=this.m_invIA*p,o+=this.m_invIB*p}h.SetAngle(s),u.SetAngle(o),P.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var v=F.MulRV(h,this.m_lalcA,this.m_rA);P.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var b=F.MulRV(u,this.m_lalcB,this.m_rB),A=P.SubVV(P.AddVV(a,b,P.s_t0),P.AddVV(r,v,P.s_t1),n.SolvePositionConstraints_s_C_v2);i=A.Length();var x=this.m_invMassA,C=this.m_invMassB,T=this.m_invIA,S=this.m_invIB,w=this.m_K;w.ex.x=x+C+T*v.y*v.y+S*b.y*b.y,w.ex.y=-T*v.x*v.y-S*b.x*b.y,w.ey.x=w.ex.y,w.ey.y=x+C+T*v.x*v.x+S*b.x*b.x;var E=w.Solve(A.x,A.y,n.SolvePositionConstraints_s_impulse).SelfNeg();return r.SelfMulSub(x,E),s-=T*P.CrossVV(v,E),a.SelfMulAdd(C,E),o+=S*P.CrossVV(b,E),e.positions[this.m_indexA].a=s,e.positions[this.m_indexB].a=o,i<=l&&_<=c},n.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},n.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},n.prototype.GetReactionForce=function(t,e){return e.x=t*this.m_impulse.x,e.y=t*this.m_impulse.y,e},n.prototype.GetReactionTorque=function(t){return t*this.m_impulse.z},n.prototype.GetLocalAnchorA=function(){return this.m_localAnchorA},n.prototype.GetLocalAnchorB=function(){return this.m_localAnchorB},n.prototype.GetReferenceAngle=function(){return this.m_referenceAngle},n.prototype.GetJointAngle=function(){return this.m_bodyB.m_sweep.a-this.m_bodyA.m_sweep.a-this.m_referenceAngle},n.prototype.GetJointSpeed=function(){return this.m_bodyB.m_angularVelocity-this.m_bodyA.m_angularVelocity},n.prototype.IsMotorEnabled=function(){return this.m_enableMotor},n.prototype.EnableMotor=function(t){t!==this.m_enableMotor&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_enableMotor=t)},n.prototype.GetMotorTorque=function(t){return t*this.m_motorImpulse},n.prototype.GetMotorSpeed=function(){return this.m_motorSpeed},n.prototype.SetMaxMotorTorque=function(t){t!==this.m_maxMotorTorque&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_maxMotorTorque=t)},n.prototype.GetMaxMotorTorque=function(){return this.m_maxMotorTorque},n.prototype.IsLimitEnabled=function(){return this.m_enableLimit},n.prototype.EnableLimit=function(t){t!==this.m_enableLimit&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_enableLimit=t,this.m_impulse.z=0)},n.prototype.GetLowerLimit=function(){return this.m_lowerAngle},n.prototype.GetUpperLimit=function(){return this.m_upperAngle},n.prototype.SetLimits=function(t,e){t===this.m_lowerAngle&&e===this.m_upperAngle||(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_impulse.z=0,this.m_lowerAngle=t,this.m_upperAngle=e)},n.prototype.SetMotorSpeed=function(t){t!==this.m_motorSpeed&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_motorSpeed=t)},n.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t(" const jd: b2RevoluteJointDef = new b2RevoluteJointDef();\n"),t(" jd.bodyA = bodies[%d];\n",e),t(" jd.bodyB = bodies[%d];\n",i),t(" jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t(" jd.localAnchorA.Set(%.15f, %.15f);\n",this.m_localAnchorA.x,this.m_localAnchorA.y),t(" jd.localAnchorB.Set(%.15f, %.15f);\n",this.m_localAnchorB.x,this.m_localAnchorB.y),t(" jd.referenceAngle = %.15f;\n",this.m_referenceAngle),t(" jd.enableLimit = %s;\n",this.m_enableLimit?"true":"false"),t(" jd.lowerAngle = %.15f;\n",this.m_lowerAngle),t(" jd.upperAngle = %.15f;\n",this.m_upperAngle),t(" jd.enableMotor = %s;\n",this.m_enableMotor?"true":"false"),t(" jd.motorSpeed = %.15f;\n",this.m_motorSpeed),t(" jd.maxMotorTorque = %.15f;\n",this.m_maxMotorTorque),t(" joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},n.InitVelocityConstraints_s_P=new P,n.SolveVelocityConstraints_s_P=new P,n.SolveVelocityConstraints_s_Cdot_v2=new P,n.SolveVelocityConstraints_s_Cdot1=new P,n.SolveVelocityConstraints_s_impulse_v3=new R,n.SolveVelocityConstraints_s_reduced_v2=new P,n.SolveVelocityConstraints_s_impulse_v2=new P,n.SolvePositionConstraints_s_C_v2=new P,n.SolvePositionConstraints_s_impulse=new P,n})(mi),Li=(function(e){function i(){var i=e.call(this,t.b2JointType.e_ropeJoint)||this;return i.localAnchorA=new P(-1,0),i.localAnchorB=new P(1,0),i.maxLength=0,i}return ti(i,e),i})(pi),Fi=(function(i){function n(n){var r=i.call(this,n)||this;return r.m_localAnchorA=new P,r.m_localAnchorB=new P,r.m_maxLength=0,r.m_length=0,r.m_impulse=0,r.m_indexA=0,r.m_indexB=0,r.m_u=new P,r.m_rA=new P,r.m_rB=new P,r.m_localCenterA=new P,r.m_localCenterB=new P,r.m_invMassA=0,r.m_invMassB=0,r.m_invIA=0,r.m_invIB=0,r.m_mass=0,r.m_state=t.b2LimitState.e_inactiveLimit,r.m_qA=new F,r.m_qB=new F,r.m_lalcA=new P,r.m_lalcB=new P,r.m_localAnchorA.Copy(e(n.localAnchorA,new P(-1,0))),r.m_localAnchorB.Copy(e(n.localAnchorB,new P(1,0))),r.m_maxLength=e(n.maxLength,0),r}return ti(n,i),n.prototype.InitVelocityConstraints=function(e){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var i=e.positions[this.m_indexA].c,r=e.positions[this.m_indexA].a,s=e.velocities[this.m_indexA].v,a=e.velocities[this.m_indexA].w,o=e.positions[this.m_indexB].c,c=e.positions[this.m_indexB].a,h=e.velocities[this.m_indexB].v,u=e.velocities[this.m_indexB].w,_=this.m_qA.SetAngle(r),f=this.m_qB.SetAngle(c);P.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA),F.MulRV(_,this.m_lalcA,this.m_rA),P.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),F.MulRV(f,this.m_lalcB,this.m_rB),this.m_u.Copy(o).SelfAdd(this.m_rB).SelfSub(i).SelfSub(this.m_rA),this.m_length=this.m_u.Length();var d=this.m_length-this.m_maxLength;if(this.m_state=d>0?t.b2LimitState.e_atUpperLimit:t.b2LimitState.e_inactiveLimit,!(this.m_length>l))return this.m_u.SetZero(),this.m_mass=0,void(this.m_impulse=0);this.m_u.SelfMul(1/this.m_length);var p=P.CrossVV(this.m_rA,this.m_u),m=P.CrossVV(this.m_rB,this.m_u),y=this.m_invMassA+this.m_invIA*p*p+this.m_invMassB+this.m_invIB*m*m;if(this.m_mass=0!==y?1/y:0,e.step.warmStarting){this.m_impulse*=e.step.dtRatio;var v=P.MulSV(this.m_impulse,this.m_u,n.InitVelocityConstraints_s_P);s.SelfMulSub(this.m_invMassA,v),a-=this.m_invIA*P.CrossVV(this.m_rA,v),h.SelfMulAdd(this.m_invMassB,v),u+=this.m_invIB*P.CrossVV(this.m_rB,v)}else this.m_impulse=0;e.velocities[this.m_indexA].w=a,e.velocities[this.m_indexB].w=u},n.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,i=t.velocities[this.m_indexA].w,r=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,a=P.AddVCrossSV(e,i,this.m_rA,n.SolveVelocityConstraints_s_vpA),o=P.AddVCrossSV(r,s,this.m_rB,n.SolveVelocityConstraints_s_vpB),l=this.m_length-this.m_maxLength,c=P.DotVV(this.m_u,P.SubVV(o,a,P.s_t0));l<0&&(c+=t.step.inv_dt*l);var h=-this.m_mass*c,u=this.m_impulse;this.m_impulse=y(0,this.m_impulse+h),h=this.m_impulse-u;var _=P.MulSV(h,this.m_u,n.SolveVelocityConstraints_s_P);e.SelfMulSub(this.m_invMassA,_),i-=this.m_invIA*P.CrossVV(this.m_rA,_),r.SelfMulAdd(this.m_invMassB,_),s+=this.m_invIB*P.CrossVV(this.m_rB,_),t.velocities[this.m_indexA].w=i,t.velocities[this.m_indexB].w=s},n.prototype.SolvePositionConstraints=function(t){var e=t.positions[this.m_indexA].c,i=t.positions[this.m_indexA].a,r=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,a=this.m_qA.SetAngle(i),o=this.m_qB.SetAngle(s);P.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var c=F.MulRV(a,this.m_lalcA,this.m_rA);P.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var h=F.MulRV(o,this.m_lalcB,this.m_rB),u=this.m_u.Copy(r).SelfAdd(h).SelfSub(e).SelfSub(c),_=u.Normalize(),f=_-this.m_maxLength;f=g(f,0,.2);var d=-this.m_mass*f,p=P.MulSV(d,u,n.SolvePositionConstraints_s_P);return e.SelfMulSub(this.m_invMassA,p),i-=this.m_invIA*P.CrossVV(c,p),r.SelfMulAdd(this.m_invMassB,p),s+=this.m_invIB*P.CrossVV(h,p),t.positions[this.m_indexA].a=i,t.positions[this.m_indexB].a=s,_-this.m_maxLength0){p.GetInverse22(this.m_mass);var m=f+d,y=m>0?1/m:0,v=a-e-this.m_referenceAngle,g=2*s*this.m_frequencyHz,b=2*y*this.m_dampingRatio*g,A=y*g*g,x=t.step.dt;this.m_gamma=x*(b+x*A),this.m_gamma=0!==this.m_gamma?1/this.m_gamma:0,this.m_bias=v*x*A*this.m_gamma,m+=this.m_gamma,this.m_mass.ez.z=0!==m?1/m:0}else p.GetSymInverse33(this.m_mass),this.m_gamma=0,this.m_bias=0;if(t.step.warmStarting){this.m_impulse.SelfMul(t.step.dtRatio);var C=i.InitVelocityConstraints_s_P.Set(this.m_impulse.x,this.m_impulse.y);n.SelfMulSub(u,C),r-=f*(P.CrossVV(this.m_rA,C)+this.m_impulse.z),o.SelfMulAdd(_,C),l+=d*(P.CrossVV(this.m_rB,C)+this.m_impulse.z)}else this.m_impulse.SetZero();t.velocities[this.m_indexA].w=r,t.velocities[this.m_indexB].w=l},i.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,n=t.velocities[this.m_indexA].w,r=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,a=this.m_invMassA,o=this.m_invMassB,l=this.m_invIA,c=this.m_invIB;if(this.m_frequencyHz>0){var h=s-n,u=-this.m_mass.ez.z*(h+this.m_bias+this.m_gamma*this.m_impulse.z);this.m_impulse.z+=u,n-=l*u,s+=c*u;var _=P.SubVV(P.AddVCrossSV(r,s,this.m_rB,P.s_t0),P.AddVCrossSV(e,n,this.m_rA,P.s_t1),i.SolveVelocityConstraints_s_Cdot1),f=L.MulM33XY(this.m_mass,_.x,_.y,i.SolveVelocityConstraints_s_impulse1).SelfNeg();this.m_impulse.x+=f.x,this.m_impulse.y+=f.y;var d=f;e.SelfMulSub(a,d),n-=l*P.CrossVV(this.m_rA,d),r.SelfMulAdd(o,d),s+=c*P.CrossVV(this.m_rB,d)}else{_=P.SubVV(P.AddVCrossSV(r,s,this.m_rB,P.s_t0),P.AddVCrossSV(e,n,this.m_rA,P.s_t1),i.SolveVelocityConstraints_s_Cdot1),h=s-n;var p=L.MulM33XYZ(this.m_mass,_.x,_.y,h,i.SolveVelocityConstraints_s_impulse).SelfNeg();this.m_impulse.SelfAdd(p),d=i.SolveVelocityConstraints_s_P.Set(p.x,p.y),e.SelfMulSub(a,d),n-=l*(P.CrossVV(this.m_rA,d)+p.z),r.SelfMulAdd(o,d),s+=c*(P.CrossVV(this.m_rB,d)+p.z)}t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=s},i.prototype.SolvePositionConstraints=function(t){var e=t.positions[this.m_indexA].c,n=t.positions[this.m_indexA].a,r=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,a=this.m_qA.SetAngle(n),o=this.m_qB.SetAngle(s),h=this.m_invMassA,u=this.m_invMassB,_=this.m_invIA,f=this.m_invIB;P.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var d=F.MulRV(a,this.m_lalcA,this.m_rA);P.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var p,y,v=F.MulRV(o,this.m_lalcB,this.m_rB),g=this.m_K;if(g.ex.x=h+u+d.y*d.y*_+v.y*v.y*f,g.ey.x=-d.y*d.x*_-v.y*v.x*f,g.ez.x=-d.y*_-v.y*f,g.ex.y=g.ey.x,g.ey.y=h+u+d.x*d.x*_+v.x*v.x*f,g.ez.y=d.x*_+v.x*f,g.ex.z=g.ez.x,g.ey.z=g.ez.y,g.ez.z=_+f,this.m_frequencyHz>0){p=(A=P.SubVV(P.AddVV(r,v,P.s_t0),P.AddVV(e,d,P.s_t1),i.SolvePositionConstraints_s_C1)).Length(),y=0;var b=g.Solve22(A.x,A.y,i.SolvePositionConstraints_s_P).SelfNeg();e.SelfMulSub(h,b),n-=_*P.CrossVV(d,b),r.SelfMulAdd(u,b),s+=f*P.CrossVV(v,b)}else{var A=P.SubVV(P.AddVV(r,v,P.s_t0),P.AddVV(e,d,P.s_t1),i.SolvePositionConstraints_s_C1),x=s-n-this.m_referenceAngle;p=A.Length(),y=m(x);var C=g.Solve33(A.x,A.y,x,i.SolvePositionConstraints_s_impulse).SelfNeg();b=i.SolvePositionConstraints_s_P.Set(C.x,C.y),e.SelfMulSub(h,b),n-=_*(P.CrossVV(this.m_rA,b)+C.z),r.SelfMulAdd(u,b),s+=f*(P.CrossVV(this.m_rB,b)+C.z)}return t.positions[this.m_indexA].a=n,t.positions[this.m_indexB].a=s,p<=l&&y<=c},i.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},i.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},i.prototype.GetReactionForce=function(t,e){return e.x=t*this.m_impulse.x,e.y=t*this.m_impulse.y,e},i.prototype.GetReactionTorque=function(t){return t*this.m_impulse.z},i.prototype.GetLocalAnchorA=function(){return this.m_localAnchorA},i.prototype.GetLocalAnchorB=function(){return this.m_localAnchorB},i.prototype.GetReferenceAngle=function(){return this.m_referenceAngle},i.prototype.SetFrequency=function(t){this.m_frequencyHz=t},i.prototype.GetFrequency=function(){return this.m_frequencyHz},i.prototype.SetDampingRatio=function(t){this.m_dampingRatio=t},i.prototype.GetDampingRatio=function(){return this.m_dampingRatio},i.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t(" const jd: b2WeldJointDef = new b2WeldJointDef();\n"),t(" jd.bodyA = bodies[%d];\n",e),t(" jd.bodyB = bodies[%d];\n",i),t(" jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t(" jd.localAnchorA.Set(%.15f, %.15f);\n",this.m_localAnchorA.x,this.m_localAnchorA.y),t(" jd.localAnchorB.Set(%.15f, %.15f);\n",this.m_localAnchorB.x,this.m_localAnchorB.y),t(" jd.referenceAngle = %.15f;\n",this.m_referenceAngle),t(" jd.frequencyHz = %.15f;\n",this.m_frequencyHz),t(" jd.dampingRatio = %.15f;\n",this.m_dampingRatio),t(" joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},i.InitVelocityConstraints_s_P=new P,i.SolveVelocityConstraints_s_Cdot1=new P,i.SolveVelocityConstraints_s_impulse1=new P,i.SolveVelocityConstraints_s_impulse=new R,i.SolveVelocityConstraints_s_P=new P,i.SolvePositionConstraints_s_C1=new P,i.SolvePositionConstraints_s_P=new P,i.SolvePositionConstraints_s_impulse=new R,i})(mi),ki=(function(e){function i(){var i=e.call(this,t.b2JointType.e_wheelJoint)||this;return i.localAnchorA=new P(0,0),i.localAnchorB=new P(0,0),i.localAxisA=new P(1,0),i.enableMotor=!1,i.maxMotorTorque=0,i.motorSpeed=0,i.frequencyHz=2,i.dampingRatio=.7,i}return ti(i,e),i.prototype.Initialize=function(t,e,i,n){this.bodyA=t,this.bodyB=e,this.bodyA.GetLocalPoint(i,this.localAnchorA),this.bodyB.GetLocalPoint(i,this.localAnchorB),this.bodyA.GetLocalVector(n,this.localAxisA)},i})(pi),zi=(function(t){function i(i){var n=t.call(this,i)||this;return n.m_frequencyHz=0,n.m_dampingRatio=0,n.m_localAnchorA=new P,n.m_localAnchorB=new P,n.m_localXAxisA=new P,n.m_localYAxisA=new P,n.m_impulse=0,n.m_motorImpulse=0,n.m_springImpulse=0,n.m_maxMotorTorque=0,n.m_motorSpeed=0,n.m_enableMotor=!1,n.m_indexA=0,n.m_indexB=0,n.m_localCenterA=new P,n.m_localCenterB=new P,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_ax=new P,n.m_ay=new P,n.m_sAx=0,n.m_sBx=0,n.m_sAy=0,n.m_sBy=0,n.m_mass=0,n.m_motorMass=0,n.m_springMass=0,n.m_bias=0,n.m_gamma=0,n.m_qA=new F,n.m_qB=new F,n.m_lalcA=new P,n.m_lalcB=new P,n.m_rA=new P,n.m_rB=new P,n.m_frequencyHz=e(i.frequencyHz,2),n.m_dampingRatio=e(i.dampingRatio,.7),n.m_localAnchorA.Copy(e(i.localAnchorA,P.ZERO)),n.m_localAnchorB.Copy(e(i.localAnchorB,P.ZERO)),n.m_localXAxisA.Copy(e(i.localAxisA,P.UNITX)),P.CrossOneV(n.m_localXAxisA,n.m_localYAxisA),n.m_maxMotorTorque=e(i.maxMotorTorque,0),n.m_motorSpeed=e(i.motorSpeed,0),n.m_enableMotor=e(i.enableMotor,!1),n.m_ax.SetZero(),n.m_ay.SetZero(),n}return ti(i,t),i.prototype.GetMotorSpeed=function(){return this.m_motorSpeed},i.prototype.GetMaxMotorTorque=function(){return this.m_maxMotorTorque},i.prototype.SetSpringFrequencyHz=function(t){this.m_frequencyHz=t},i.prototype.GetSpringFrequencyHz=function(){return this.m_frequencyHz},i.prototype.SetSpringDampingRatio=function(t){this.m_dampingRatio=t},i.prototype.GetSpringDampingRatio=function(){return this.m_dampingRatio},i.prototype.InitVelocityConstraints=function(t){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var e=this.m_invMassA,n=this.m_invMassB,r=this.m_invIA,a=this.m_invIB,o=t.positions[this.m_indexA].c,l=t.positions[this.m_indexA].a,c=t.velocities[this.m_indexA].v,h=t.velocities[this.m_indexA].w,u=t.positions[this.m_indexB].c,_=t.positions[this.m_indexB].a,f=t.velocities[this.m_indexB].v,d=t.velocities[this.m_indexB].w,p=this.m_qA.SetAngle(l),m=this.m_qB.SetAngle(_);P.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var y=F.MulRV(p,this.m_lalcA,this.m_rA);P.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var v=F.MulRV(m,this.m_lalcB,this.m_rB),g=P.SubVV(P.AddVV(u,v,P.s_t0),P.AddVV(o,y,P.s_t1),i.InitVelocityConstraints_s_d);if(F.MulRV(p,this.m_localYAxisA,this.m_ay),this.m_sAy=P.CrossVV(P.AddVV(g,y,P.s_t0),this.m_ay),this.m_sBy=P.CrossVV(v,this.m_ay),this.m_mass=e+n+r*this.m_sAy*this.m_sAy+a*this.m_sBy*this.m_sBy,this.m_mass>0&&(this.m_mass=1/this.m_mass),this.m_springMass=0,this.m_bias=0,this.m_gamma=0,this.m_frequencyHz>0){F.MulRV(p,this.m_localXAxisA,this.m_ax),this.m_sAx=P.CrossVV(P.AddVV(g,y,P.s_t0),this.m_ax),this.m_sBx=P.CrossVV(v,this.m_ax);var b=e+n+r*this.m_sAx*this.m_sAx+a*this.m_sBx*this.m_sBx;if(b>0){this.m_springMass=1/b;var A=P.DotVV(g,this.m_ax),x=2*s*this.m_frequencyHz,C=2*this.m_springMass*this.m_dampingRatio*x,T=this.m_springMass*x*x,S=t.step.dt;this.m_gamma=S*(C+S*T),this.m_gamma>0&&(this.m_gamma=1/this.m_gamma),this.m_bias=A*S*T*this.m_gamma,this.m_springMass=b+this.m_gamma,this.m_springMass>0&&(this.m_springMass=1/this.m_springMass)}}else this.m_springImpulse=0;if(this.m_enableMotor?(this.m_motorMass=r+a,this.m_motorMass>0&&(this.m_motorMass=1/this.m_motorMass)):(this.m_motorMass=0,this.m_motorImpulse=0),t.step.warmStarting){this.m_impulse*=t.step.dtRatio,this.m_springImpulse*=t.step.dtRatio,this.m_motorImpulse*=t.step.dtRatio;var w=P.AddVV(P.MulSV(this.m_impulse,this.m_ay,P.s_t0),P.MulSV(this.m_springImpulse,this.m_ax,P.s_t1),i.InitVelocityConstraints_s_P),E=this.m_impulse*this.m_sAy+this.m_springImpulse*this.m_sAx+this.m_motorImpulse,M=this.m_impulse*this.m_sBy+this.m_springImpulse*this.m_sBx+this.m_motorImpulse;c.SelfMulSub(this.m_invMassA,w),h-=this.m_invIA*E,f.SelfMulAdd(this.m_invMassB,w),d+=this.m_invIB*M}else this.m_impulse=0,this.m_springImpulse=0,this.m_motorImpulse=0;t.velocities[this.m_indexA].w=h,t.velocities[this.m_indexB].w=d},i.prototype.SolveVelocityConstraints=function(t){var e=this.m_invMassA,n=this.m_invMassB,r=this.m_invIA,s=this.m_invIB,a=t.velocities[this.m_indexA].v,o=t.velocities[this.m_indexA].w,l=t.velocities[this.m_indexB].v,c=t.velocities[this.m_indexB].w,h=P.DotVV(this.m_ax,P.SubVV(l,a,P.s_t0))+this.m_sBx*c-this.m_sAx*o,u=-this.m_springMass*(h+this.m_bias+this.m_gamma*this.m_springImpulse);this.m_springImpulse+=u;var _=P.MulSV(u,this.m_ax,i.SolveVelocityConstraints_s_P),f=u*this.m_sAx,d=u*this.m_sBx;a.SelfMulSub(e,_),o-=r*f,l.SelfMulAdd(n,_),h=(c+=s*d)-o-this.m_motorSpeed,u=-this.m_motorMass*h;var p=this.m_motorImpulse,m=t.step.dt*this.m_maxMotorTorque;this.m_motorImpulse=g(this.m_motorImpulse+u,-m,m),o-=r*(u=this.m_motorImpulse-p),c+=s*u,h=P.DotVV(this.m_ay,P.SubVV(l,a,P.s_t0))+this.m_sBy*c-this.m_sAy*o,u=-this.m_mass*h,this.m_impulse+=u,_=P.MulSV(u,this.m_ay,i.SolveVelocityConstraints_s_P),f=u*this.m_sAy,d=u*this.m_sBy,a.SelfMulSub(e,_),o-=r*f,l.SelfMulAdd(n,_),c+=s*d,t.velocities[this.m_indexA].w=o,t.velocities[this.m_indexB].w=c},i.prototype.SolvePositionConstraints=function(t){var e=t.positions[this.m_indexA].c,n=t.positions[this.m_indexA].a,r=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,a=this.m_qA.SetAngle(n),o=this.m_qB.SetAngle(s);P.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var c=F.MulRV(a,this.m_lalcA,this.m_rA);P.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var h,u=F.MulRV(o,this.m_lalcB,this.m_rB),_=P.AddVV(P.SubVV(r,e,P.s_t0),P.SubVV(u,c,P.s_t1),i.SolvePositionConstraints_s_d),f=F.MulRV(a,this.m_localYAxisA,this.m_ay),d=P.CrossVV(P.AddVV(_,c,P.s_t0),f),p=P.CrossVV(u,f),y=P.DotVV(_,this.m_ay),v=this.m_invMassA+this.m_invMassB+this.m_invIA*this.m_sAy*this.m_sAy+this.m_invIB*this.m_sBy*this.m_sBy;h=0!==v?-y/v:0;var g=P.MulSV(h,f,i.SolvePositionConstraints_s_P),b=h*d,A=h*p;return e.SelfMulSub(this.m_invMassA,g),n-=this.m_invIA*b,r.SelfMulAdd(this.m_invMassB,g),s+=this.m_invIB*A,t.positions[this.m_indexA].a=n,t.positions[this.m_indexB].a=s,m(y)<=l},i.prototype.GetDefinition=function(t){return t},i.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},i.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},i.prototype.GetReactionForce=function(t,e){return e.x=t*(this.m_impulse*this.m_ay.x+this.m_springImpulse*this.m_ax.x),e.y=t*(this.m_impulse*this.m_ay.y+this.m_springImpulse*this.m_ax.y),e},i.prototype.GetReactionTorque=function(t){return t*this.m_motorImpulse},i.prototype.GetLocalAnchorA=function(){return this.m_localAnchorA},i.prototype.GetLocalAnchorB=function(){return this.m_localAnchorB},i.prototype.GetLocalAxisA=function(){return this.m_localXAxisA},i.prototype.GetJointTranslation=function(){return this.GetPrismaticJointTranslation()},i.prototype.GetJointLinearSpeed=function(){return this.GetPrismaticJointSpeed()},i.prototype.GetJointAngle=function(){return this.GetRevoluteJointAngle()},i.prototype.GetJointAngularSpeed=function(){return this.GetRevoluteJointSpeed()},i.prototype.GetPrismaticJointTranslation=function(){var t=this.m_bodyA,e=this.m_bodyB,i=t.GetWorldPoint(this.m_localAnchorA,new P),n=e.GetWorldPoint(this.m_localAnchorB,new P),r=P.SubVV(n,i,new P),s=t.GetWorldVector(this.m_localXAxisA,new P);return P.DotVV(r,s)},i.prototype.GetPrismaticJointSpeed=function(){var t=this.m_bodyA,e=this.m_bodyB;P.SubVV(this.m_localAnchorA,t.m_sweep.localCenter,this.m_lalcA);var i=F.MulRV(t.m_xf.q,this.m_lalcA,this.m_rA);P.SubVV(this.m_localAnchorB,e.m_sweep.localCenter,this.m_lalcB);var n=F.MulRV(e.m_xf.q,this.m_lalcB,this.m_rB),r=P.AddVV(t.m_sweep.c,i,P.s_t0),s=P.AddVV(e.m_sweep.c,n,P.s_t1),a=P.SubVV(s,r,P.s_t2),o=t.GetWorldVector(this.m_localXAxisA,new P),l=t.m_linearVelocity,c=e.m_linearVelocity,h=t.m_angularVelocity,u=e.m_angularVelocity;return P.DotVV(a,P.CrossSV(h,o,P.s_t0))+P.DotVV(o,P.SubVV(P.AddVCrossSV(c,u,n,P.s_t0),P.AddVCrossSV(l,h,i,P.s_t1),P.s_t0))},i.prototype.GetRevoluteJointAngle=function(){return this.m_bodyB.m_sweep.a-this.m_bodyA.m_sweep.a},i.prototype.GetRevoluteJointSpeed=function(){var t=this.m_bodyA.m_angularVelocity;return this.m_bodyB.m_angularVelocity-t},i.prototype.IsMotorEnabled=function(){return this.m_enableMotor},i.prototype.EnableMotor=function(t){t!==this.m_enableMotor&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_enableMotor=t)},i.prototype.SetMotorSpeed=function(t){t!==this.m_motorSpeed&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_motorSpeed=t)},i.prototype.SetMaxMotorTorque=function(t){t!==this.m_maxMotorTorque&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_maxMotorTorque=t)},i.prototype.GetMotorTorque=function(t){return t*this.m_motorImpulse},i.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t(" const jd: b2WheelJointDef = new b2WheelJointDef();\n"),t(" jd.bodyA = bodies[%d];\n",e),t(" jd.bodyB = bodies[%d];\n",i),t(" jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t(" jd.localAnchorA.Set(%.15f, %.15f);\n",this.m_localAnchorA.x,this.m_localAnchorA.y),t(" jd.localAnchorB.Set(%.15f, %.15f);\n",this.m_localAnchorB.x,this.m_localAnchorB.y),t(" jd.localAxisA.Set(%.15f, %.15f);\n",this.m_localXAxisA.x,this.m_localXAxisA.y),t(" jd.enableMotor = %s;\n",this.m_enableMotor?"true":"false"),t(" jd.motorSpeed = %.15f;\n",this.m_motorSpeed),t(" jd.maxMotorTorque = %.15f;\n",this.m_maxMotorTorque),t(" jd.frequencyHz = %.15f;\n",this.m_frequencyHz),t(" jd.dampingRatio = %.15f;\n",this.m_dampingRatio),t(" joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},i.InitVelocityConstraints_s_d=new P,i.InitVelocityConstraints_s_P=new P,i.SolveVelocityConstraints_s_P=new P,i.SolvePositionConstraints_s_d=new P,i.SolvePositionConstraints_s_P=new P,i})(mi);function Gi(t,e){return T(t*e)}function Ui(t,e){return t>e?t:e}var ji,Hi=function(t){this.prev=null,this.next=null,this.contact=t},Wi=(function(){function t(){this.m_islandFlag=!1,this.m_touchingFlag=!1,this.m_enabledFlag=!1,this.m_filterFlag=!1,this.m_bulletHitFlag=!1,this.m_toiFlag=!1,this.m_prev=null,this.m_next=null,this.m_indexA=0,this.m_indexB=0,this.m_manifold=new gt,this.m_toiCount=0,this.m_toi=0,this.m_friction=0,this.m_restitution=0,this.m_tangentSpeed=0,this.m_oldManifold=new gt,this.m_nodeA=new Hi(this),this.m_nodeB=new Hi(this)}return t.prototype.GetManifold=function(){return this.m_manifold},t.prototype.GetWorldManifold=function(t){var e=this.m_fixtureA.GetBody(),i=this.m_fixtureB.GetBody(),n=this.m_fixtureA.GetShape(),r=this.m_fixtureB.GetShape();t.Initialize(this.m_manifold,e.GetTransform(),n.m_radius,i.GetTransform(),r.m_radius)},t.prototype.IsTouching=function(){return this.m_touchingFlag},t.prototype.SetEnabled=function(t){this.m_enabledFlag=t},t.prototype.IsEnabled=function(){return this.m_enabledFlag},t.prototype.GetNext=function(){return this.m_next},t.prototype.GetFixtureA=function(){return this.m_fixtureA},t.prototype.GetChildIndexA=function(){return this.m_indexA},t.prototype.GetFixtureB=function(){return this.m_fixtureB},t.prototype.GetChildIndexB=function(){return this.m_indexB},t.prototype.FlagForFiltering=function(){this.m_filterFlag=!0},t.prototype.SetFriction=function(t){this.m_friction=t},t.prototype.GetFriction=function(){return this.m_friction},t.prototype.ResetFriction=function(){this.m_friction=Gi(this.m_fixtureA.m_friction,this.m_fixtureB.m_friction)},t.prototype.SetRestitution=function(t){this.m_restitution=t},t.prototype.GetRestitution=function(){return this.m_restitution},t.prototype.ResetRestitution=function(){this.m_restitution=Ui(this.m_fixtureA.m_restitution,this.m_fixtureB.m_restitution)},t.prototype.SetTangentSpeed=function(t){this.m_tangentSpeed=t},t.prototype.GetTangentSpeed=function(){return this.m_tangentSpeed},t.prototype.Reset=function(t,e,i,n){this.m_islandFlag=!1,this.m_touchingFlag=!1,this.m_enabledFlag=!0,this.m_filterFlag=!1,this.m_bulletHitFlag=!1,this.m_toiFlag=!1,this.m_fixtureA=t,this.m_fixtureB=i,this.m_indexA=e,this.m_indexB=n,this.m_manifold.pointCount=0,this.m_prev=null,this.m_next=null,delete this.m_nodeA.contact,this.m_nodeA.prev=null,this.m_nodeA.next=null,delete this.m_nodeA.other,delete this.m_nodeB.contact,this.m_nodeB.prev=null,this.m_nodeB.next=null,delete this.m_nodeB.other,this.m_toiCount=0,this.m_friction=Gi(this.m_fixtureA.m_friction,this.m_fixtureB.m_friction),this.m_restitution=Ui(this.m_fixtureA.m_restitution,this.m_fixtureB.m_restitution)},t.prototype.Update=function(t){var e=this.m_oldManifold;this.m_oldManifold=this.m_manifold,this.m_manifold=e,this.m_enabledFlag=!0;var i=!1,n=this.m_touchingFlag,r=this.m_fixtureA.IsSensor(),s=this.m_fixtureB.IsSensor(),a=r||s,o=this.m_fixtureA.GetBody(),l=this.m_fixtureB.GetBody(),c=o.GetTransform(),h=l.GetTransform();if(a){var u=this.m_fixtureA.GetShape(),_=this.m_fixtureB.GetShape();i=Bt(u,this.m_indexA,_,this.m_indexB,c,h),this.m_manifold.pointCount=0}else{this.Evaluate(this.m_manifold,c,h),i=this.m_manifold.pointCount>0;for(var f=0;f0&&!e.IsSensor()&&!i.IsSensor()&&(e.GetBody().SetAwake(!0),i.GetBody().SetAwake(!0));var n=e.GetType(),r=i.GetType(),s=this.m_registers[n][r];s.destroyFcn&&s.destroyFcn(t,this.m_allocator)},e})(),en=(function(){function t(){}return t.prototype.SayGoodbyeJoint=function(){},t.prototype.SayGoodbyeFixture=function(){},t.prototype.SayGoodbyeParticleGroup=function(){},t.prototype.SayGoodbyeParticle=function(){},t})(),nn=(function(){function e(){}return e.prototype.ShouldCollide=function(e,i){var n=e.GetBody(),r=i.GetBody();if(r.GetType()===t.b2BodyType.b2_staticBody&&n.GetType()===t.b2BodyType.b2_staticBody)return!1;if(!r.ShouldCollideConnected(n))return!1;var s=e.GetFilterData(),a=i.GetFilterData();return s.groupIndex===a.groupIndex&&0!==s.groupIndex?s.groupIndex>0:0!=(s.maskBits&a.categoryBits)&&0!=(s.categoryBits&a.maskBits)},e.prototype.ShouldCollideFixtureParticle=function(){return!0},e.prototype.ShouldCollideParticleParticle=function(){return!0},e.b2_defaultFilter=new e,e})(),rn=function(){this.normalImpulses=p(a),this.tangentImpulses=p(a),this.count=0},sn=(function(){function t(){}return t.prototype.BeginContact=function(){},t.prototype.EndContact=function(){},t.prototype.BeginContactFixtureParticle=function(){},t.prototype.EndContactFixtureParticle=function(){},t.prototype.BeginContactParticleParticle=function(){},t.prototype.EndContactParticleParticle=function(){},t.prototype.PreSolve=function(){},t.prototype.PostSolve=function(){},t.b2_defaultListener=new t,t})(),an=(function(){function t(){}return t.prototype.ReportFixture=function(){return!0},t.prototype.ReportParticle=function(){return!1},t.prototype.ShouldQueryParticleSystem=function(){return!0},t})(),on=(function(){function t(){}return t.prototype.ReportFixture=function(t,e,i,n){return n},t.prototype.ReportParticle=function(){return 0},t.prototype.ShouldQueryParticleSystem=function(){return!0},t})(),ln=(function(){function e(){this.m_broadPhase=new Lt,this.m_contactList=null,this.m_contactCount=0,this.m_contactFilter=nn.b2_defaultFilter,this.m_contactListener=sn.b2_defaultListener,this.m_allocator=null,this.m_contactFactory=new tn(this.m_allocator)}return e.prototype.AddPair=function(t,e){var i=t.fixture,n=e.fixture,r=t.childIndex,s=e.childIndex,a=i.GetBody(),o=n.GetBody();if(a!==o){for(var l=o.GetContactList();l;){if(l.other===a){var c=l.contact.GetFixtureA(),h=l.contact.GetFixtureB(),u=l.contact.GetChildIndexA(),_=l.contact.GetChildIndexB();if(c===i&&h===n&&u===r&&_===s)return;if(c===n&&h===i&&u===s&&_===r)return}l=l.next}if(!this.m_contactFilter||this.m_contactFilter.ShouldCollide(i,n)){var f=this.m_contactFactory.Create(i,r,n,s);null!==f&&(i=f.GetFixtureA(),n=f.GetFixtureB(),r=f.GetChildIndexA(),s=f.GetChildIndexB(),a=i.m_body,o=n.m_body,f.m_prev=null,f.m_next=this.m_contactList,null!==this.m_contactList&&(this.m_contactList.m_prev=f),this.m_contactList=f,f.m_nodeA.contact=f,f.m_nodeA.other=o,f.m_nodeA.prev=null,f.m_nodeA.next=a.m_contactList,null!==a.m_contactList&&(a.m_contactList.prev=f.m_nodeA),a.m_contactList=f.m_nodeA,f.m_nodeB.contact=f,f.m_nodeB.other=a,f.m_nodeB.prev=null,f.m_nodeB.next=o.m_contactList,null!==o.m_contactList&&(o.m_contactList.prev=f.m_nodeB),o.m_contactList=f.m_nodeB,i.IsSensor()||n.IsSensor()||(a.SetAwake(!0),o.SetAwake(!0)),++this.m_contactCount)}}},e.prototype.FindNewContacts=function(){var t=this;this.m_broadPhase.UpdatePairs((function(e,i){t.AddPair(e,i)}))},e.prototype.Destroy=function(t){var e=t.GetFixtureA(),i=t.GetFixtureB(),n=e.GetBody(),r=i.GetBody();this.m_contactListener&&t.IsTouching()&&this.m_contactListener.EndContact(t),t.m_prev&&(t.m_prev.m_next=t.m_next),t.m_next&&(t.m_next.m_prev=t.m_prev),t===this.m_contactList&&(this.m_contactList=t.m_next),t.m_nodeA.prev&&(t.m_nodeA.prev.next=t.m_nodeA.next),t.m_nodeA.next&&(t.m_nodeA.next.prev=t.m_nodeA.prev),t.m_nodeA===n.m_contactList&&(n.m_contactList=t.m_nodeA.next),t.m_nodeB.prev&&(t.m_nodeB.prev.next=t.m_nodeB.next),t.m_nodeB.next&&(t.m_nodeB.next.prev=t.m_nodeB.prev),t.m_nodeB===r.m_contactList&&(r.m_contactList=t.m_nodeB.next),this.m_contactFactory.Destroy(t),--this.m_contactCount},e.prototype.Collide=function(){for(var e=this.m_contactList;e;){var i=e.GetFixtureA(),n=e.GetFixtureB(),r=e.GetChildIndexA(),s=e.GetChildIndexB(),a=i.GetBody(),o=n.GetBody();if(e.m_filterFlag){if(this.m_contactFilter&&!this.m_contactFilter.ShouldCollide(i,n)){e=(h=e).m_next,this.Destroy(h);continue}e.m_filterFlag=!1}var l=a.IsAwake()&&a.m_type!==t.b2BodyType.b2_staticBody,c=o.IsAwake()&&o.m_type!==t.b2BodyType.b2_staticBody;if(l||c){var h,u=i.m_proxies[r].treeNode,_=n.m_proxies[s].treeNode;St(u.aabb,_.aabb)?(e.Update(this.m_contactListener),e=e.m_next):(e=(h=e).m_next,this.Destroy(h))}else e=e.m_next}},e})(),cn=(function(){function t(){this.step=0,this.collide=0,this.solve=0,this.solveInit=0,this.solveVelocity=0,this.solvePosition=0,this.broadphase=0,this.solveTOI=0}return t.prototype.Reset=function(){return this.step=0,this.collide=0,this.solve=0,this.solveInit=0,this.solveVelocity=0,this.solvePosition=0,this.broadphase=0,this.solveTOI=0,this},t})(),hn=(function(){function t(){this.dt=0,this.inv_dt=0,this.dtRatio=0,this.velocityIterations=0,this.positionIterations=0,this.particleIterations=0,this.warmStarting=!1}return t.prototype.Copy=function(t){return this.dt=t.dt,this.inv_dt=t.inv_dt,this.dtRatio=t.dtRatio,this.positionIterations=t.positionIterations,this.velocityIterations=t.velocityIterations,this.particleIterations=t.particleIterations,this.warmStarting=t.warmStarting,this},t})(),un=(function(){function t(){this.c=new P,this.a=0}return t.MakeArray=function(e){return d(e,(function(){return new t}))},t})(),_n=(function(){function t(){this.v=new P,this.w=0}return t.MakeArray=function(e){return d(e,(function(){return new t}))},t})(),fn=function(){this.step=new hn},dn=(function(){function t(){this.rA=new P,this.rB=new P,this.normalImpulse=0,this.tangentImpulse=0,this.normalMass=0,this.tangentMass=0,this.velocityBias=0}return t.MakeArray=function(e){return d(e,(function(){return new t}))},t})(),pn=(function(){function t(){this.points=dn.MakeArray(a),this.normal=new P,this.tangent=new P,this.normalMass=new O,this.K=new O,this.indexA=0,this.indexB=0,this.invMassA=0,this.invMassB=0,this.invIA=0,this.invIB=0,this.friction=0,this.restitution=0,this.tangentSpeed=0,this.pointCount=0,this.contactIndex=0}return t.MakeArray=function(e){return d(e,(function(){return new t}))},t})(),mn=(function(){function e(){this.localPoints=P.MakeArray(a),this.localNormal=new P,this.localPoint=new P,this.indexA=0,this.indexB=0,this.invMassA=0,this.invMassB=0,this.localCenterA=new P,this.localCenterB=new P,this.invIA=0,this.invIB=0,this.type=t.b2ManifoldType.e_unknown,this.radiusA=0,this.radiusB=0,this.pointCount=0}return e.MakeArray=function(t){return d(t,(function(){return new e}))},e})(),yn=function(){this.step=new hn,this.count=0,this.allocator=null},vn=(function(){function e(){this.normal=new P,this.point=new P,this.separation=0}return e.prototype.Initialize=function(i,n,r,s){var a=e.Initialize_s_pointA,o=e.Initialize_s_pointB,l=e.Initialize_s_planePoint,c=e.Initialize_s_clipPoint;switch(i.type){case t.b2ManifoldType.e_circles:V.MulXV(n,i.localPoint,a),V.MulXV(r,i.localPoints[0],o),P.SubVV(o,a,this.normal).SelfNormalize(),P.MidVV(a,o,this.point),this.separation=P.DotVV(P.SubVV(o,a,P.s_t0),this.normal)-i.radiusA-i.radiusB;break;case t.b2ManifoldType.e_faceA:F.MulRV(n.q,i.localNormal,this.normal),V.MulXV(n,i.localPoint,l),V.MulXV(r,i.localPoints[s],c),this.separation=P.DotVV(P.SubVV(c,l,P.s_t0),this.normal)-i.radiusA-i.radiusB,this.point.Copy(c);break;case t.b2ManifoldType.e_faceB:F.MulRV(r.q,i.localNormal,this.normal),V.MulXV(r,i.localPoint,l),V.MulXV(n,i.localPoints[s],c),this.separation=P.DotVV(P.SubVV(c,l,P.s_t0),this.normal)-i.radiusA-i.radiusB,this.point.Copy(c),this.normal.SelfNeg()}},e.Initialize_s_pointA=new P,e.Initialize_s_pointB=new P,e.Initialize_s_planePoint=new P,e.Initialize_s_clipPoint=new P,e})(),gn=(function(){function t(){this.m_step=new hn,this.m_allocator=null,this.m_positionConstraints=mn.MakeArray(1024),this.m_velocityConstraints=pn.MakeArray(1024),this.m_count=0}return t.prototype.Initialize=function(t){if(this.m_step.Copy(t.step),this.m_allocator=t.allocator,this.m_count=t.count,this.m_positionConstraints.length0?1/I:0;var R=s.tangent,O=P.CrossVV(M.rA,R),L=P.CrossVV(M.rB,R),V=_+f+d*O*O+p*L*L;M.tangentMass=V>0?1/V:0,M.velocityBias=0;var N=P.DotVV(s.normal,P.SubVV(P.AddVCrossSV(T,S,M.rB,P.s_t0),P.AddVCrossSV(b,A,M.rA,P.s_t1),P.s_t0));N<-1&&(M.velocityBias+=-s.restitution*N)}s.pointCount}},t.prototype.WarmStart=function(){for(var e=t.WarmStart_s_P,i=0;i0?-B/O:0;P.MulSV(L,E,a),x.SelfMulSub(d,a),C-=p*P.CrossVV(r,a),T.SelfMulAdd(v,a),S+=b*P.CrossVV(s,a)}this.m_positions[u].a=C,this.m_positions[_].a=S}return o>-3*l},t.prototype.SolveTOIPositionConstraints=function(e,i){for(var n=t.SolveTOIPositionConstraints_s_xfA,r=t.SolveTOIPositionConstraints_s_xfB,s=t.SolveTOIPositionConstraints_s_psm,a=t.SolveTOIPositionConstraints_s_rA,o=t.SolveTOIPositionConstraints_s_rB,c=t.SolveTOIPositionConstraints_s_P,h=0,u=0;u0?-R/V:0;P.MulSV(N,D,c),T.SelfMulSub(b,c),S-=A*P.CrossVV(a,c),w.SelfMulAdd(x,c),E+=C*P.CrossVV(o,c)}this.m_positions[f].a=S,this.m_positions[d].a=E}return h>=-1.5*l},t.InitializeVelocityConstraints_s_xfA=new V,t.InitializeVelocityConstraints_s_xfB=new V,t.InitializeVelocityConstraints_s_worldManifold=new bt,t.WarmStart_s_P=new P,t.SolveVelocityConstraints_s_dv=new P,t.SolveVelocityConstraints_s_dv1=new P,t.SolveVelocityConstraints_s_dv2=new P,t.SolveVelocityConstraints_s_P=new P,t.SolveVelocityConstraints_s_a=new P,t.SolveVelocityConstraints_s_b=new P,t.SolveVelocityConstraints_s_x=new P,t.SolveVelocityConstraints_s_d=new P,t.SolveVelocityConstraints_s_P1=new P,t.SolveVelocityConstraints_s_P2=new P,t.SolveVelocityConstraints_s_P1P2=new P,t.SolvePositionConstraints_s_xfA=new V,t.SolvePositionConstraints_s_xfB=new V,t.SolvePositionConstraints_s_psm=new vn,t.SolvePositionConstraints_s_rA=new P,t.SolvePositionConstraints_s_rB=new P,t.SolvePositionConstraints_s_P=new P,t.SolveTOIPositionConstraints_s_xfA=new V,t.SolveTOIPositionConstraints_s_xfB=new V,t.SolveTOIPositionConstraints_s_psm=new vn,t.SolveTOIPositionConstraints_s_rA=new P,t.SolveTOIPositionConstraints_s_rB=new P,t.SolveTOIPositionConstraints_s_P=new P,t})(),bn=(function(){function e(){this.m_allocator=null,this.m_bodies=[],this.m_contacts=[],this.m_joints=[],this.m_positions=un.MakeArray(1024),this.m_velocities=_n.MakeArray(1024),this.m_bodyCount=0,this.m_jointCount=0,this.m_contactCount=0,this.m_bodyCapacity=0,this.m_contactCapacity=0,this.m_jointCapacity=0}return e.prototype.Initialize=function(t,e,i,n,r){if(this.m_bodyCapacity=t,this.m_contactCapacity=e,this.m_jointCapacity=i,this.m_bodyCount=0,this.m_contactCount=0,this.m_jointCount=0,this.m_allocator=n,this.m_listener=r,this.m_positions.length4){var x=2/A.Length();_.SelfMul(x)}var C=l*f;C*C>2.4674011002726646&&(f*=x=1.570796326795/m(C)),b.x+=l*_.x,b.y+=l*_.y,u+=l*f,this.m_positions[c].a=u,this.m_velocities[c].w=f}o.Reset();var T=!1;for(c=0;c.0012184696791469947||P.DotVV(h.m_linearVelocity,h.m_linearVelocity)>1e-4?(h.m_sleepTime=0,D=0):(h.m_sleepTime+=l,D=y(D,h.m_sleepTime)));if(D>=.5&&T)for(c=0;c4){var d=2/f.Length();u.SelfMul(d)}var p=l*_;p*p>2.4674011002726646&&(_*=d=1.570796326795/m(p)),c.SelfMulAdd(l,u),h+=l*_,this.m_positions[r].a=h,this.m_velocities[r].w=_;var y=this.m_bodies[r];y.m_sweep.c.Copy(c),y.m_sweep.a=h,y.m_linearVelocity.Copy(u),y.m_angularVelocity=_,y.SynchronizeTransform()}this.Report(o.m_velocityConstraints)},e.prototype.Report=function(t){if(null!==this.m_listener)for(var i=0;i0){var r=1/this.m_mass;this.m_center.SelfMul(r),this.m_linearVelocity.SelfMul(r)}for(this.m_inertia=0,this.m_angularVelocity=0,n=this.m_firstIndex;n0&&(this.m_angularVelocity*=1/this.m_inertia),this.m_timestamp=this.m_system.m_timestamp}},e.GetLinearVelocityFromWorldPoint_s_t0=new P,e})(),En=(function(){function t(t){this.m_front=0,this.m_back=0,this.m_capacity=0,this.m_buffer=d(t,(function(){return null})),this.m_capacity=t}return t.prototype.Push=function(t){if(this.m_back>=this.m_capacity){for(var e=this.m_front;e=this.m_capacity&&(this.m_capacity>0?(this.m_buffer.concat(d(this.m_capacity,(function(){return null}))),this.m_capacity*=2):(this.m_buffer.concat(d(1,(function(){return null}))),this.m_capacity=1))}this.m_buffer[this.m_back]=t,this.m_back++},t.prototype.Pop=function(){this.m_buffer[this.m_front]=null,this.m_front++},t.prototype.Empty=function(){return this.m_front===this.m_back},t.prototype.Front=function(){var t=this.m_buffer[this.m_front];if(!t)throw new Error;return t},t})(),Mn=(function(){function t(e){this.m_generatorCapacity=0,this.m_generatorCount=0,this.m_countX=0,this.m_countY=0,this.m_diagram=[],this.m_generatorBuffer=d(e,(function(){return new t.Generator})),this.m_generatorCapacity=e}return t.prototype.AddGenerator=function(t,e,i){var n=this.m_generatorBuffer[this.m_generatorCount++];n.center.Copy(t),n.tag=e,n.necessary=i},t.prototype.Generate=function(e,n){for(var r=1/e,s=new P(+i,+i),a=new P(-i,-i),o=0,l=0;l=0&&u>=0&&h0&&c.Push(new t.Task(h-1,u,_-1,f)),u>0&&c.Push(new t.Task(h,u-1,_-this.m_countX,f)),hg*g+b*b&&(this.m_diagram[_]=m,h>0&&c.Push(new t.Task(h-1,u,_-1,m)),u>0&&c.Push(new t.Task(h,u-1,_-this.m_countX,m)),h=i)break;Dn(t,l,i)}}if(0===a)break;r=i,i=s[--a]}return t}function In(t,e,i,n){return void 0===e&&(e=0),void 0===i&&(i=t.length-e),void 0===n&&(n=Bn),Pn(t,e,i,n)}function Rn(t,e,i){void 0===i&&(i=t.length);for(var n=0,r=0;r0;){var a=Math.floor(s/2),o=e+a;r(t[o],n)?(e=++o,s-=a+1):s=a}return e}function Ln(t,e,i,n,r){void 0===r&&(r=Bn);for(var s=i-e;s>0;){var a=Math.floor(s/2),o=e+a;r(n,t[o])?s=a:(e=++o,s-=a+1)}return e}function Fn(t,e,i,n){for(var r=i;e!==r;)Dn(t,e++,r++),r===n?r=i:e===i&&(i=r)}function Vn(t,e,i,n){if(e===i)return i;for(var r=e;++e!==i;)n(t[r],t[e])||Dn(t,++r,e);return++r}(function(t){t.Generator=function(){this.center=new P,this.tag=0,this.necessary=!1};t.Task=function(t,e,i,n){this.m_x=t,this.m_y=e,this.m_i=i,this.m_generator=n}})(Mn||(Mn={}));var Nn=(function(){function t(t){this.data=[],this.count=0,this.capacity=0,this.allocator=t}return t.prototype.Append=function(){return this.count>=this.capacity&&this.Grow(),this.count++},t.prototype.Reserve=function(t){if(!(this.capacity>=t)){for(var e=this.capacity;e=0;)this.ReportFixtureAndParticle(t,i,s);return!0},e.prototype.ReportParticle=function(){return!1},e.prototype.ReportFixtureAndParticle=function(){},e})(an),zn=(function(){function t(){this.indexA=0,this.indexB=0,this.weight=0,this.normal=new P,this.flags=0}return t.prototype.SetIndices=function(t,e){this.indexA=t,this.indexB=e},t.prototype.SetWeight=function(t){this.weight=t},t.prototype.SetNormal=function(t){this.normal.Copy(t)},t.prototype.SetFlags=function(t){this.flags=t},t.prototype.GetIndexA=function(){return this.indexA},t.prototype.GetIndexB=function(){return this.indexB},t.prototype.GetWeight=function(){return this.weight},t.prototype.GetNormal=function(){return this.normal},t.prototype.GetFlags=function(){return this.flags},t.prototype.IsEqual=function(t){return this.indexA===t.indexA&&this.indexB===t.indexB&&this.flags===t.flags&&this.weight===t.weight&&this.normal.x===t.normal.x&&this.normal.y===t.normal.y},t.prototype.IsNotEqual=function(t){return!this.IsEqual(t)},t.prototype.ApproximatelyEqual=function(t){return this.indexA===t.indexA&&this.indexB===t.indexB&&this.flags===t.flags&&m(this.weight-t.weight)<.01&&P.DistanceSquaredVV(this.normal,t.normal)<1e-4},t})(),Gn=function(){this.index=0,this.weight=0,this.normal=new P,this.mass=0},Un=function(){this.indexA=0,this.indexB=0,this.flags=0,this.strength=0,this.distance=0},jn=function(){this.indexA=0,this.indexB=0,this.indexC=0,this.flags=0,this.strength=0,this.pa=new P(0,0),this.pb=new P(0,0),this.pc=new P(0,0),this.ka=0,this.kb=0,this.kc=0,this.s=0},Hn=(function(){function t(){this.strictContactCheck=!1,this.density=1,this.gravityScale=1,this.radius=1,this.maxCount=0,this.pressureStrength=.005,this.dampingStrength=1,this.elasticStrength=.25,this.springStrength=.25,this.viscousStrength=.25,this.surfaceTensionPressureStrength=.2,this.surfaceTensionNormalStrength=.2,this.repulsiveStrength=1,this.powderStrength=.5,this.ejectionStrength=.5,this.staticPressureStrength=.2,this.staticPressureRelaxation=.2,this.staticPressureIterations=8,this.colorMixingStrength=.5,this.destroyByAge=!0,this.lifetimeGranularity=1/60}return t.prototype.Copy=function(t){return this.strictContactCheck=t.strictContactCheck,this.density=t.density,this.gravityScale=t.gravityScale,this.radius=t.radius,this.maxCount=t.maxCount,this.pressureStrength=t.pressureStrength,this.dampingStrength=t.dampingStrength,this.elasticStrength=t.elasticStrength,this.springStrength=t.springStrength,this.viscousStrength=t.viscousStrength,this.surfaceTensionPressureStrength=t.surfaceTensionPressureStrength,this.surfaceTensionNormalStrength=t.surfaceTensionNormalStrength,this.repulsiveStrength=t.repulsiveStrength,this.powderStrength=t.powderStrength,this.ejectionStrength=t.ejectionStrength,this.staticPressureStrength=t.staticPressureStrength,this.staticPressureRelaxation=t.staticPressureRelaxation,this.staticPressureIterations=t.staticPressureIterations,this.colorMixingStrength=t.colorMixingStrength,this.destroyByAge=t.destroyByAge,this.lifetimeGranularity=t.lifetimeGranularity,this},t.prototype.Clone=function(){return(new t).Copy(this)},t})();t.b2ParticleSystem=(function(){function n(t,e){this.m_paused=!1,this.m_timestamp=0,this.m_allParticleFlags=0,this.m_needsUpdateAllParticleFlags=!1,this.m_allGroupFlags=0,this.m_needsUpdateAllGroupFlags=!1,this.m_hasForce=!1,this.m_iterationIndex=0,this.m_inverseDensity=0,this.m_particleDiameter=0,this.m_inverseDiameter=0,this.m_squaredDiameter=0,this.m_count=0,this.m_internalAllocatedCapacity=0,this.m_handleIndexBuffer=new n.UserOverridableBuffer,this.m_flagsBuffer=new n.UserOverridableBuffer,this.m_positionBuffer=new n.UserOverridableBuffer,this.m_velocityBuffer=new n.UserOverridableBuffer,this.m_forceBuffer=[],this.m_weightBuffer=[],this.m_staticPressureBuffer=[],this.m_accumulationBuffer=[],this.m_accumulation2Buffer=[],this.m_depthBuffer=[],this.m_colorBuffer=new n.UserOverridableBuffer,this.m_groupBuffer=[],this.m_userDataBuffer=new n.UserOverridableBuffer,this.m_stuckThreshold=0,this.m_lastBodyContactStepBuffer=new n.UserOverridableBuffer,this.m_bodyContactCountBuffer=new n.UserOverridableBuffer,this.m_consecutiveContactStepsBuffer=new n.UserOverridableBuffer,this.m_stuckParticleBuffer=new Nn(function(){return 0}),this.m_proxyBuffer=new Nn(function(){return new n.Proxy}),this.m_contactBuffer=new Nn(function(){return new zn}),this.m_bodyContactBuffer=new Nn(function(){return new Gn}),this.m_pairBuffer=new Nn(function(){return new Un}),this.m_triadBuffer=new Nn(function(){return new jn}),this.m_expirationTimeBuffer=new n.UserOverridableBuffer,this.m_indexByExpirationTimeBuffer=new n.UserOverridableBuffer,this.m_timeElapsed=0,this.m_expirationTimeBufferRequiresSorting=!1,this.m_groupCount=0,this.m_groupList=null,this.m_def=new Hn,this.m_prev=null,this.m_next=null,this.SetStrictContactCheck(t.strictContactCheck),this.SetDensity(t.density),this.SetGravityScale(t.gravityScale),this.SetRadius(t.radius),this.SetMaxParticleCount(t.maxCount),this.m_def=t.Clone(),this.m_world=e,this.SetDestructionByAge(this.m_def.destroyByAge)}return n.computeTag=function(t,e){return(e+n.yOffset>>>0<>>0)>>>0},n.computeRelativeTag=function(t,e,i){return t+(i<>>0},n.prototype.Drop=function(){for(;this.m_groupList;)this.DestroyParticleGroup(this.m_groupList);this.FreeUserOverridableBuffer(this.m_handleIndexBuffer),this.FreeUserOverridableBuffer(this.m_flagsBuffer),this.FreeUserOverridableBuffer(this.m_lastBodyContactStepBuffer),this.FreeUserOverridableBuffer(this.m_bodyContactCountBuffer),this.FreeUserOverridableBuffer(this.m_consecutiveContactStepsBuffer),this.FreeUserOverridableBuffer(this.m_positionBuffer),this.FreeUserOverridableBuffer(this.m_velocityBuffer),this.FreeUserOverridableBuffer(this.m_colorBuffer),this.FreeUserOverridableBuffer(this.m_userDataBuffer),this.FreeUserOverridableBuffer(this.m_expirationTimeBuffer),this.FreeUserOverridableBuffer(this.m_indexByExpirationTimeBuffer),this.FreeBuffer(this.m_forceBuffer,this.m_internalAllocatedCapacity),this.FreeBuffer(this.m_weightBuffer,this.m_internalAllocatedCapacity),this.FreeBuffer(this.m_staticPressureBuffer,this.m_internalAllocatedCapacity),this.FreeBuffer(this.m_accumulationBuffer,this.m_internalAllocatedCapacity),this.FreeBuffer(this.m_accumulation2Buffer,this.m_internalAllocatedCapacity),this.FreeBuffer(this.m_depthBuffer,this.m_internalAllocatedCapacity),this.FreeBuffer(this.m_groupBuffer,this.m_internalAllocatedCapacity)},n.prototype.CreateParticle=function(t){if(this.m_world.IsLocked())throw new Error;if(this.m_count>=this.m_internalAllocatedCapacity){var i=this.m_count?2*this.m_count:256;this.ReallocateInternalAllocatedBuffers(i)}if(this.m_count>=this.m_internalAllocatedCapacity){if(!this.m_def.destroyByAge)return u;this.DestroyOldestParticle(0,!1),this.SolveZombie()}var n=this.m_count++;if(!this.m_flagsBuffer.data)throw new Error;if(this.m_flagsBuffer.data[n]=0,this.m_lastBodyContactStepBuffer.data&&(this.m_lastBodyContactStepBuffer.data[n]=0),this.m_bodyContactCountBuffer.data&&(this.m_bodyContactCountBuffer.data[n]=0),this.m_consecutiveContactStepsBuffer.data&&(this.m_consecutiveContactStepsBuffer.data[n]=0),!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;this.m_positionBuffer.data[n]=(this.m_positionBuffer.data[n]||new P).Copy(e(t.position,P.ZERO)),this.m_velocityBuffer.data[n]=(this.m_velocityBuffer.data[n]||new P).Copy(e(t.velocity,P.ZERO)),this.m_weightBuffer[n]=0,this.m_forceBuffer[n]=(this.m_forceBuffer[n]||new P).SetZero(),this.m_staticPressureBuffer&&(this.m_staticPressureBuffer[n]=0),this.m_depthBuffer&&(this.m_depthBuffer[n]=0);var r=(new k).Copy(e(t.color,k.ZERO));!this.m_colorBuffer.data&&r.IsZero()||(this.m_colorBuffer.data=this.RequestBuffer(this.m_colorBuffer.data),this.m_colorBuffer.data[n]=(this.m_colorBuffer.data[n]||new k).Copy(r)),(this.m_userDataBuffer.data||t.userData)&&(this.m_userDataBuffer.data=this.RequestBuffer(this.m_userDataBuffer.data),this.m_userDataBuffer.data[n]=t.userData),this.m_handleIndexBuffer.data&&(this.m_handleIndexBuffer.data[n]=null);var s=this.m_proxyBuffer.data[this.m_proxyBuffer.Append()],a=e(t.lifetime,0),o=a>0;if(this.m_expirationTimeBuffer.data||o){if(this.SetParticleLifetime(n,o?a:this.ExpirationTimeToLifetime(-this.GetQuantizedTimeElapsed())),!this.m_indexByExpirationTimeBuffer.data)throw new Error;this.m_indexByExpirationTimeBuffer.data[n]=n}s.index=n;var l=e(t.group,null);return this.m_groupBuffer[n]=l,l&&(l.m_firstIndex0?n:r,e)},n.prototype.DestroyParticlesInShape=function(t,e,i){void 0===i&&(i=!1);var r=n.DestroyParticlesInShape_s_aabb;if(this.m_world.IsLocked())throw new Error;var s=new n.DestroyParticlesInShapeCallback(this,t,e,i),a=r;return t.ComputeAABB(a,e,0),this.m_world.QueryAABB(s,a),s.Destroyed()},n.prototype.CreateParticleGroup=function(t){var i=n.CreateParticleGroup_s_transform;if(this.m_world.IsLocked())throw new Error;var r=i;r.SetPositionAngle(e(t.position,P.ZERO),e(t.angle,0));var s=this.m_count;if(t.shape&&this.CreateParticlesWithShapeForGroup(t.shape,t,r),t.shapes&&this.CreateParticlesWithShapesForGroup(t.shapes,e(t.shapeCount,t.shapes.length),t,r),t.positionData)for(var a=e(t.particleCount,t.positionData.length),o=0;o0&&(this.m_lastBodyContactStepBuffer.data=this.RequestBuffer(this.m_lastBodyContactStepBuffer.data),this.m_bodyContactCountBuffer.data=this.RequestBuffer(this.m_bodyContactCountBuffer.data),this.m_consecutiveContactStepsBuffer.data=this.RequestBuffer(this.m_consecutiveContactStepsBuffer.data))},n.prototype.GetStuckCandidates=function(){return this.m_stuckParticleBuffer.Data()},n.prototype.GetStuckCandidateCount=function(){return this.m_stuckParticleBuffer.GetCount()},n.prototype.ComputeCollisionEnergy=function(){if(!this.m_velocityBuffer.data)throw new Error;for(var t=n.ComputeCollisionEnergy_s_v,e=this.m_velocityBuffer.data,i=0,r=0;r0?this.GetQuantizedTimeElapsed()+s:s;a!==this.m_expirationTimeBuffer.data[t]&&(this.m_expirationTimeBuffer.data[t]=a,this.m_expirationTimeBufferRequiresSorting=!0)},n.prototype.GetParticleLifetime=function(t){return this.ExpirationTimeToLifetime(this.GetExpirationTimeBuffer()[t])},n.prototype.SetDestructionByAge=function(t){t&&this.GetExpirationTimeBuffer(),this.m_def.destroyByAge=t},n.prototype.GetDestructionByAge=function(){return this.m_def.destroyByAge},n.prototype.GetExpirationTimeBuffer=function(){return this.m_expirationTimeBuffer.data=this.RequestBuffer(this.m_expirationTimeBuffer.data),this.m_expirationTimeBuffer.data},n.prototype.ExpirationTimeToLifetime=function(t){return(t>0?t-this.GetQuantizedTimeElapsed():t)*this.m_def.lifetimeGranularity},n.prototype.GetIndexByExpirationTimeBuffer=function(){if(this.GetParticleCount()?this.SetParticleLifetime(0,this.GetParticleLifetime(0)):this.m_indexByExpirationTimeBuffer.data=this.RequestBuffer(this.m_indexByExpirationTimeBuffer.data),!this.m_indexByExpirationTimeBuffer.data)throw new Error;return this.m_indexByExpirationTimeBuffer.data},n.prototype.ParticleApplyLinearImpulse=function(t,e){this.ApplyLinearImpulse(t,t+1,e)},n.prototype.ApplyLinearImpulse=function(t,e,i){if(!this.m_velocityBuffer.data)throw new Error;for(var n=this.m_velocityBuffer.data,r=(e-t)*this.GetParticleMass(),s=(new P).Copy(i).SelfMul(1/r),a=t;a=0;){var m=P.SubVV(e,c[u],s),v=P.DotVV(m,f),g=v*v-d*(P.DotVV(m,m)-this.m_squaredDiameter);if(g>=0){var b=T(g),A=(-v-b)/d;if(A>_)continue;if(A<0&&((A=(-v+b)/d)<0||A>_))continue;var x=P.AddVMulSV(m,A,f,o);x.Normalize();var C=t.ReportParticle(this,u,P.AddVMulSV(e,A,f,l),x,A);if((_=y(_,C))<=0)break}}}},n.prototype.ComputeAABB=function(t){var e=this.GetParticleCount();if(t.lowerBound.x=+i,t.lowerBound.y=+i,t.upperBound.x=-i,t.upperBound.y=-i,!this.m_positionBuffer.data)throw new Error;for(var n=this.m_positionBuffer.data,r=0;re?e:t}if(t=e(t,this.m_def.maxCount),t=e(t,this.m_flagsBuffer.userSuppliedCapacity),t=e(t,this.m_positionBuffer.userSuppliedCapacity),t=e(t,this.m_velocityBuffer.userSuppliedCapacity),t=e(t,this.m_colorBuffer.userSuppliedCapacity),t=e(t,this.m_userDataBuffer.userSuppliedCapacity),this.m_internalAllocatedCapacity0;this.m_lastBodyContactStepBuffer.data=this.ReallocateBuffer4(this.m_lastBodyContactStepBuffer,this.m_internalAllocatedCapacity,t,i),this.m_bodyContactCountBuffer.data=this.ReallocateBuffer4(this.m_bodyContactCountBuffer,this.m_internalAllocatedCapacity,t,i),this.m_consecutiveContactStepsBuffer.data=this.ReallocateBuffer4(this.m_consecutiveContactStepsBuffer,this.m_internalAllocatedCapacity,t,i),this.m_positionBuffer.data=this.ReallocateBuffer4(this.m_positionBuffer,this.m_internalAllocatedCapacity,t,!1),this.m_velocityBuffer.data=this.ReallocateBuffer4(this.m_velocityBuffer,this.m_internalAllocatedCapacity,t,!1),this.m_forceBuffer=this.ReallocateBuffer5(this.m_forceBuffer,0,this.m_internalAllocatedCapacity,t,!1),this.m_weightBuffer=this.ReallocateBuffer5(this.m_weightBuffer,0,this.m_internalAllocatedCapacity,t,!1),this.m_staticPressureBuffer=this.ReallocateBuffer5(this.m_staticPressureBuffer,0,this.m_internalAllocatedCapacity,t,!0),this.m_accumulationBuffer=this.ReallocateBuffer5(this.m_accumulationBuffer,0,this.m_internalAllocatedCapacity,t,!1),this.m_accumulation2Buffer=this.ReallocateBuffer5(this.m_accumulation2Buffer,0,this.m_internalAllocatedCapacity,t,!0),this.m_depthBuffer=this.ReallocateBuffer5(this.m_depthBuffer,0,this.m_internalAllocatedCapacity,t,!0),this.m_colorBuffer.data=this.ReallocateBuffer4(this.m_colorBuffer,this.m_internalAllocatedCapacity,t,!0),this.m_groupBuffer=this.ReallocateBuffer5(this.m_groupBuffer,0,this.m_internalAllocatedCapacity,t,!1),this.m_userDataBuffer.data=this.ReallocateBuffer4(this.m_userDataBuffer,this.m_internalAllocatedCapacity,t,!0),this.m_expirationTimeBuffer.data=this.ReallocateBuffer4(this.m_expirationTimeBuffer,this.m_internalAllocatedCapacity,t,!0),this.m_indexByExpirationTimeBuffer.data=this.ReallocateBuffer4(this.m_indexByExpirationTimeBuffer,this.m_internalAllocatedCapacity,t,!1),this.m_internalAllocatedCapacity=t}},n.prototype.CreateParticleForGroup=function(t,i,n){var r=new An;r.flags=e(t.flags,0),V.MulXV(i,n,r.position),P.AddVV(e(t.linearVelocity,P.ZERO),P.CrossSV(e(t.angularVelocity,0),P.SubVV(r.position,e(t.position,P.ZERO),P.s_t0),P.s_t0),r.velocity),r.color.Copy(e(t.color,k.ZERO)),r.lifetime=e(t.lifetime,0),r.userData=t.userData,this.CreateParticle(r)},n.prototype.CreateParticlesStrokeShapeForGroup=function(i,r,s){var a=n.CreateParticlesStrokeShapeForGroup_s_edge,o=n.CreateParticlesStrokeShapeForGroup_s_d,l=n.CreateParticlesStrokeShapeForGroup_s_p,c=e(r.stride,0);0===c&&(c=this.GetParticleStride());for(var h=0,u=i.GetChildCount(),_=0;_=e&&f=e&&dg||P.DotVV(m,m)>g||P.DotVV(v,v)>g)return;var b=S.m_groupBuffer[t],A=S.m_groupBuffer[e],x=S.m_groupBuffer[i],C=S.m_triadBuffer.data[S.m_triadBuffer.Append()];C.indexA=t,C.indexB=e,C.indexC=i,C.flags=c|h|u,C.strength=y(y(b?b.m_strength:1,A?A.m_strength:1),x?x.m_strength:1);var T=(_.x+f.x+d.x)/3,w=(_.y+f.y+d.y)/3;C.pa.x=_.x-T,C.pa.y=_.y-w,C.pb.x=f.x-T,C.pb.y=f.y-w,C.pc.x=d.x-T,C.pc.y=d.y-w,C.ka=-P.DotVV(v,p),C.kb=-P.DotVV(p,m),C.kc=-P.DotVV(m,v),C.s=P.CrossVV(_,f)+P.CrossVV(f,d)+P.CrossVV(d,_)}})),In(this.m_triadBuffer.data,0,this.m_triadBuffer.count,n.CompareTriadIndices),this.m_triadBuffer.Unique(n.MatchTriadIndices)}},n.prototype.UpdatePairsAndTriadsWithReactiveParticles=function(){var e=new n.ReactiveFilter(this.m_flagsBuffer);if(this.UpdatePairsAndTriads(0,this.m_count,e),!this.m_flagsBuffer.data)throw new Error;for(var i=0;i>0,m=0;mx&&(this.m_depthBuffer[s]=x,y=!0),A>C&&(this.m_depthBuffer[a]=C,y=!0)}if(!y)break}for(_=0;_0){if(!this.m_bodyContactCountBuffer.data)throw new Error;if(!this.m_lastBodyContactStepBuffer.data)throw new Error;if(!this.m_consecutiveContactStepsBuffer.data)throw new Error;for(var i=this.GetParticleCount(),r=0;rthis.m_lastBodyContactStepBuffer.data[r]+1&&(this.m_consecutiveContactStepsBuffer.data[r]=0)}this.m_bodyContactBuffer.SetCount(0),this.m_stuckParticleBuffer.SetCount(0);var s=t;this.ComputeAABB(s);var a=new n.UpdateBodyContactsCallback(this,this.GetFixtureContactFilter());this.m_world.QueryAABB(a,s),this.m_def.strictContactCheck&&this.RemoveSpuriousBodyContacts(),this.NotifyBodyContactListenerPostContact(e)},n.prototype.Solve=function(e){var i=n.Solve_s_subStep;if(0!==this.m_count&&(this.m_expirationTimeBuffer.data&&this.SolveLifetimes(e),this.m_allParticleFlags&t.b2ParticleFlag.b2_zombieParticle&&this.SolveZombie(),this.m_needsUpdateAllParticleFlags&&this.UpdateAllParticleFlags(),this.m_needsUpdateAllGroupFlags&&this.UpdateAllGroupFlags(),!this.m_paused))for(this.m_iterationIndex=0;this.m_iterationIndexi&&r.SelfMul(T(i/s))}},n.prototype.SolveGravity=function(t){if(!this.m_velocityBuffer.data)throw new Error;for(var e=n.SolveGravity_s_gravity,i=this.m_velocityBuffer.data,r=P.MulSV(t.dt*this.m_def.gravityScale,this.m_world.GetGravity(),e),s=0;s=0;){var V=p[F],N=this.m_groupBuffer[F];if(M!==N&&D!==N){var k=this.GetLinearVelocity(N,F,V,l),z=P.SubVV(V,S,c),G=P.SubVV(k,B,h),U=P.CrossVV(O,G),j=P.CrossVV(R,G)-P.CrossVV(z,O),H=P.CrossVV(R,z),W=void 0,X=void 0,Y=u,q=_;if(0===U){if(0===j)continue;if(!((X=-H/j)>=0&&X=0&&W<=1))continue}else{var J=j*j-4*H*U;if(J<0)continue;var Z=T(J),K=(-j-Z)/(2*U),Q=(-j+Z)/(2*U);if(K>Q){var $=K;K=Q,Q=$}if(X=K,P.AddVMulSV(R,X,O,Y),P.AddVMulSV(z,X,G,q),W=P.DotVV(Y,q)/P.DotVV(Y,Y),!(X>=0&&X=0&&W<=1)){if(!((X=Q)>=0&&X=0&&W<=1))continue}}var tt=f;tt.x=B.x+W*O.x-k.x,tt.y=B.y+W*O.y-k.y;var et=P.MulSV(g,tt,d);if(N&&this.IsRigidGroup(N)){var it=N.GetMass(),nt=N.GetInertia();it>0&&N.m_linearVelocity.SelfMulAdd(1/it,et),nt>0&&(N.m_angularVelocity+=P.CrossVV(P.SubVV(V,N.GetCenter(),P.s_t0),et)/nt)}else m[F].SelfAdd(tt);this.ParticleApplyForce(F,et.SelfMul(-e.inv_dt))}}}}},n.prototype.SolveStaticPressure=function(e){if(!this.m_flagsBuffer.data)throw new Error;this.m_staticPressureBuffer=this.RequestBuffer(this.m_staticPressureBuffer);for(var i=this.GetCriticalPressure(e),n=this.m_def.staticPressureStrength*i,r=.25*i,s=this.m_def.staticPressureRelaxation,a=0;a.25){var h=p.body,u=p.mass,_=r[c],f=p.normal,d=P.MulSV(a*u*(m-.25),f,i);s[c].SelfMulSub(o,d),h.ApplyLinearImpulse(d,_,!0)}}for(l=0;l.25&&(c=p.indexA,h=p.indexB,f=p.normal,d=P.MulSV(a*(m-.25),f,i),s[c].SelfSub(d),s[h].SelfAdd(d))}},n.prototype.SolveSolid=function(t){var e=n.SolveSolid_s_f;if(!this.m_velocityBuffer.data)throw new Error;var i=this.m_velocityBuffer.data;this.m_depthBuffer=this.RequestBuffer(this.m_depthBuffer);for(var r=t.inv_dt*this.m_def.ejectionStrength,s=0;s=0?(b=y(b,C),A=v(A,C+1)):x=!0}br:s})),this.m_expirationTimeBufferRequiresSorting=!1);for(var s=r-1;s>=0;--s){var a=n[s],o=i[a];if(ee.weight:t.index3)return!0;var o=t.Copy(n.normal);if(o.SelfMul(r.m_particleDiameter*(1-n.weight)),!r.m_positionBuffer.data)throw new Error;var c=P.AddVV(r.m_positionBuffer.data[n.index],o,e);if(!n.fixture.TestPoint(c)){for(var h=n.fixture.GetShape().GetChildCount(),u=0;uthis.m_stuckThreshold&&(this.m_stuckParticleBuffer.data[this.m_stuckParticleBuffer.Append()]=t)),this.m_lastBodyContactStepBuffer.data[t]=this.m_timestamp}},n.prototype.ValidateParticleIndex=function(t){return t>=0&&t0?1/n:0,e[0]=r>0?1/r:0,i[0]=P.CrossVV(P.SubVV(a,s,P.s_t0),o)},n.prototype.InitDampingParameterWithRigidGroupOrParticle=function(e,i,n,r,s,a,o,l){if(s&&r)this.InitDampingParameter(e,i,n,s.GetMass(),s.GetInertia(),s.GetCenter(),o,l);else{if(!this.m_flagsBuffer.data)throw new Error;var c=this.m_flagsBuffer.data[a];this.InitDampingParameter(e,i,n,c&t.b2ParticleFlag.b2_wallParticle?0:this.GetParticleMass(),0,o,o,l)}},n.prototype.ComputeDampingImpulse=function(t,e,i,n,r,s,a){var o=t+e*i*i+n+r*s*s;return o>0?a/o:0},n.prototype.ApplyDamping=function(t,e,i,n,r,s,a,o){if(r&&n)r.m_linearVelocity.SelfMulAdd(a*t,o),r.m_angularVelocity+=a*i*e;else{if(!this.m_velocityBuffer.data)throw new Error;this.m_velocityBuffer.data[s].SelfMulAdd(a*t,o)}},n.xTruncBits=12,n.yTruncBits=12,n.tagBits=32,n.yOffset=1<>>0,this.m_xUpper=(n&e.xMask)>>>0,this.m_yLower=(i&e.yMask)>>>0,this.m_yUpper=(n&e.yMask)>>>0,this.m_first=r,this.m_last=s}return t.prototype.GetNext=function(){for(;this.m_first>>0;if(t>=this.m_xLower&&t<=this.m_xUpper)return this.m_system.m_proxyBuffer.data[this.m_first++].index;this.m_first++}return u},t})();e.InsideBoundsEnumerator=r;e.ParticleListNode=function(){this.next=null,this.count=0,this.index=0};var s=(function(){function t(){}return t.prototype.Allocate=function(t,e){return e},t.prototype.Clear=function(){},t.prototype.GetCount=function(){return 0},t.prototype.Invalidate=function(){},t.prototype.GetValidBuffer=function(){return[]},t.prototype.GetBuffer=function(){return[]},t.prototype.SetCount=function(){},t})();e.FixedSetAllocator=s;e.FixtureParticle=function(t,e){this.second=u,this.first=t,this.second=e};var a=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return ti(e,t),e.prototype.Initialize=function(){},e.prototype.Find=function(){return u},e})(e.FixedSetAllocator);e.FixtureParticleSet=a;e.ParticlePair=function(t,e){this.first=u,this.second=u,this.first=t,this.second=e};var o=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return ti(e,t),e.prototype.Initialize=function(){},e.prototype.Find=function(){return u},e})(e.FixedSetAllocator);e.b2ParticlePairSet=o;var c=(function(){function t(){}return t.prototype.IsNecessary=function(){return!0},t.prototype.ShouldCreatePair=function(){return!0},t.prototype.ShouldCreateTriad=function(){return!0},t})();e.ConnectionFilter=c;var h=(function(t){function e(e,i,n,r){var s=t.call(this)||this;return s.m_callDestructionListener=!1,s.m_destroyed=0,s.m_system=e,s.m_shape=i,s.m_xf=n,s.m_callDestructionListener=r,s.m_destroyed=0,s}return ti(e,t),e.prototype.ReportFixture=function(){return!1},e.prototype.ReportParticle=function(t,e){if(t!==this.m_system)return!1;if(!this.m_system.m_positionBuffer.data)throw new Error;return this.m_shape.TestPoint(this.m_xf,this.m_system.m_positionBuffer.data[e])&&(this.m_system.DestroyParticle(e,this.m_callDestructionListener),this.m_destroyed++),!0},e.prototype.Destroyed=function(){return this.m_destroyed},e})(an);e.DestroyParticlesInShapeCallback=h;var _=(function(t){function e(e){var i=t.call(this)||this;return i.m_threshold=0,i.m_threshold=e,i}return ti(e,t),e.prototype.ShouldCreatePair=function(t,e){return t0?1/_:0,p=f>0?1/f:0,m=this.m_system.m_flagsBuffer.data[r]&t.b2ParticleFlag.b2_wallParticle?0:this.m_system.GetParticleInvMass(),y=P.SubVV(o,u,a),v=P.CrossVV(y,l),g=m+d+p*v*v,b=this.m_system.m_bodyContactBuffer.data[this.m_system.m_bodyContactBuffer.Append()];b.index=r,b.body=h,b.fixture=i,b.weight=1-c*this.m_system.m_inverseDiameter,b.normal.Copy(l.SelfNeg()),b.mass=g>0?1/g:0,this.m_system.DetectStuckParticle(r)}},n.ReportFixtureAndParticle_s_n=new P,n.ReportFixtureAndParticle_s_rp=new P,n})(kn);e.UpdateBodyContactsCallback=p;var m=(function(i){function n(t,e){var n=i.call(this,t)||this;return n.m_step=e,n}return ti(n,i),n.prototype.ReportFixtureAndParticle=function(i,n,r){var s=e.SolveCollisionCallback.ReportFixtureAndParticle_s_p1,a=e.SolveCollisionCallback.ReportFixtureAndParticle_s_output,o=e.SolveCollisionCallback.ReportFixtureAndParticle_s_input,c=e.SolveCollisionCallback.ReportFixtureAndParticle_s_p,h=e.SolveCollisionCallback.ReportFixtureAndParticle_s_v,u=e.SolveCollisionCallback.ReportFixtureAndParticle_s_f,_=i.GetBody();if(!this.m_system.m_positionBuffer.data)throw new Error;if(!this.m_system.m_velocityBuffer.data)throw new Error;var f=this.m_system.m_positionBuffer.data[r],d=this.m_system.m_velocityBuffer.data[r],p=a,m=o;if(0===this.m_system.m_iterationIndex){var y=V.MulTXV(_.m_xf0,f,s);i.GetShape().GetType()===t.b2ShapeType.e_circleShape&&(y.SelfSub(_.GetLocalCenter()),F.MulRV(_.m_xf0.q,y,y),F.MulTRV(_.m_xf.q,y,y),y.SelfAdd(_.GetLocalCenter())),V.MulXV(_.m_xf,y,m.p1)}else m.p1.Copy(f);if(P.AddVMulSV(f,this.m_step.dt,d,m.p2),m.maxFraction=1,i.RayCast(p,m,n)){var v=p.normal,g=c;g.x=(1-p.fraction)*m.p1.x+p.fraction*m.p2.x+l*v.x,g.y=(1-p.fraction)*m.p1.y+p.fraction*m.p2.y+l*v.y;var b=h;b.x=this.m_step.inv_dt*(g.x-f.x),b.y=this.m_step.inv_dt*(g.y-f.y),this.m_system.m_velocityBuffer.data[r].Copy(b);var A=u;A.x=this.m_step.inv_dt*this.m_system.GetParticleMass()*(d.x-b.x),A.y=this.m_step.inv_dt*this.m_system.GetParticleMass()*(d.y-b.y),this.m_system.ParticleApplyForce(r,A)}},n.prototype.ReportParticle=function(){return!1},n.ReportFixtureAndParticle_s_p1=new P,n.ReportFixtureAndParticle_s_output=new Ct,n.ReportFixtureAndParticle_s_input=new xt,n.ReportFixtureAndParticle_s_p=new P,n.ReportFixtureAndParticle_s_v=new P,n.ReportFixtureAndParticle_s_f=new P,n})(kn);e.SolveCollisionCallback=m})(t.b2ParticleSystem||(t.b2ParticleSystem={}));var Wn=(function(){function e(t){this.m_newFixture=!1,this.m_locked=!1,this.m_clearForces=!0,this.m_contactManager=new ln,this.m_bodyList=null,this.m_jointList=null,this.m_particleSystemList=null,this.m_bodyCount=0,this.m_jointCount=0,this.m_gravity=new P,this.m_allowSleep=!0,this.m_destructionListener=null,this.m_debugDraw=null,this.m_inv_dt0=0,this.m_warmStarting=!0,this.m_continuousPhysics=!0,this.m_subStepping=!1,this.m_stepComplete=!0,this.m_profile=new cn,this.m_island=new bn,this.s_stack=[],this.m_controllerList=null,this.m_controllerCount=0,this.m_gravity.Copy(t)}return e.prototype.SetDestructionListener=function(t){this.m_destructionListener=t},e.prototype.SetContactFilter=function(t){this.m_contactManager.m_contactFilter=t},e.prototype.SetContactListener=function(t){this.m_contactManager.m_contactListener=t},e.prototype.SetDebugDraw=function(t){this.m_debugDraw=t},e.prototype.CreateBody=function(t){if(void 0===t&&(t={}),this.IsLocked())throw new Error;var e=new _i(t,this);return e.m_prev=null,e.m_next=this.m_bodyList,this.m_bodyList&&(this.m_bodyList.m_prev=e),this.m_bodyList=e,++this.m_bodyCount,e},e.prototype.DestroyBody=function(t){if(this.IsLocked())throw new Error;for(var e=t.m_jointList;e;){var i=e;e=e.next,this.m_destructionListener&&this.m_destructionListener.SayGoodbyeJoint(i.joint),this.DestroyJoint(i.joint),t.m_jointList=e}t.m_jointList=null;for(var n=t.m_controllerList;n;){var r=n;n=n.nextController,r.controller.RemoveBody(t)}for(var s=t.m_contactList;s;){var a=s;s=s.next,this.m_contactManager.Destroy(a.contact)}t.m_contactList=null;for(var o=t.m_fixtureList;o;){var l=o;o=o.m_next,this.m_destructionListener&&this.m_destructionListener.SayGoodbyeFixture(l),l.DestroyProxies(),l.Destroy(),t.m_fixtureList=o,t.m_fixtureCount-=1}t.m_fixtureList=null,t.m_fixtureCount=0,t.m_prev&&(t.m_prev.m_next=t.m_next),t.m_next&&(t.m_next.m_prev=t.m_prev),t===this.m_bodyList&&(this.m_bodyList=t.m_next),--this.m_bodyCount},e._Joint_Create=function(e){switch(e.type){case t.b2JointType.e_distanceJoint:return new vi(e);case t.b2JointType.e_mouseJoint:return new Mi(e);case t.b2JointType.e_prismaticJoint:return new Bi(e);case t.b2JointType.e_revoluteJoint:return new Oi(e);case t.b2JointType.e_pulleyJoint:return new Ii(e);case t.b2JointType.e_gearJoint:return new Ti(e);case t.b2JointType.e_wheelJoint:return new zi(e);case t.b2JointType.e_weldJoint:return new Ni(e);case t.b2JointType.e_frictionJoint:return new xi(e);case t.b2JointType.e_ropeJoint:return new Fi(e);case t.b2JointType.e_motorJoint:return new wi(e);case t.b2JointType.e_areaJoint:return new bi(e)}throw new Error},e._Joint_Destroy=function(){},e.prototype.CreateJoint=function(t){if(this.IsLocked())throw new Error;var i=e._Joint_Create(t,null);i.m_prev=null,i.m_next=this.m_jointList,this.m_jointList&&(this.m_jointList.m_prev=i),this.m_jointList=i,++this.m_jointCount,i.m_edgeA.prev=null,i.m_edgeA.next=i.m_bodyA.m_jointList,i.m_bodyA.m_jointList&&(i.m_bodyA.m_jointList.prev=i.m_edgeA),i.m_bodyA.m_jointList=i.m_edgeA,i.m_edgeB.prev=null,i.m_edgeB.next=i.m_bodyB.m_jointList,i.m_bodyB.m_jointList&&(i.m_bodyB.m_jointList.prev=i.m_edgeB),i.m_bodyB.m_jointList=i.m_edgeB;var n=t.bodyA,r=t.bodyB;if(!t.collideConnected)for(var s=r.GetContactList();s;)s.other===n&&s.contact.FlagForFiltering(),s=s.next;return i},e.prototype.DestroyJoint=function(t){if(this.IsLocked())throw new Error;var i=t.m_collideConnected;t.m_prev&&(t.m_prev.m_next=t.m_next),t.m_next&&(t.m_next.m_prev=t.m_prev),t===this.m_jointList&&(this.m_jointList=t.m_next);var n=t.m_bodyA,r=t.m_bodyB;if(n.SetAwake(!0),r.SetAwake(!0),t.m_edgeA.prev&&(t.m_edgeA.prev.next=t.m_edgeA.next),t.m_edgeA.next&&(t.m_edgeA.next.prev=t.m_edgeA.prev),t.m_edgeA===n.m_jointList&&(n.m_jointList=t.m_edgeA.next),t.m_edgeA.prev=null,t.m_edgeA.next=null,t.m_edgeB.prev&&(t.m_edgeB.prev.next=t.m_edgeB.next),t.m_edgeB.next&&(t.m_edgeB.next.prev=t.m_edgeB.prev),t.m_edgeB===r.m_jointList&&(r.m_jointList=t.m_edgeB.next),t.m_edgeB.prev=null,t.m_edgeB.next=null,e._Joint_Destroy(t,null),--this.m_jointCount,!i)for(var s=r.GetContactList();s;)s.other===n&&s.contact.FlagForFiltering(),s=s.next},e.prototype.CreateParticleSystem=function(e){if(this.IsLocked())throw new Error;var i=new t.b2ParticleSystem(e,this);return i.m_prev=null,i.m_next=this.m_particleSystemList,this.m_particleSystemList&&(this.m_particleSystemList.m_prev=i),this.m_particleSystemList=i,i},e.prototype.DestroyParticleSystem=function(t){if(this.IsLocked())throw new Error;t.m_prev&&(t.m_prev.m_next=t.m_next),t.m_next&&(t.m_next.m_prev=t.m_prev),t===this.m_particleSystemList&&(this.m_particleSystemList=t.m_next)},e.prototype.CalculateReasonableParticleIterations=function(t){return null===this.m_particleSystemList?1:xn(this.m_gravity.Length(),(function(t){for(var e=i,n=t.GetParticleSystemList();null!==n;n=n.m_next)e=y(e,n.GetRadius());return e})(this),t)},e.prototype.Step=function(t,i,n,r){void 0===r&&(r=this.CalculateReasonableParticleIterations(t));var s=e.Step_s_stepTimer.Reset();this.m_newFixture&&(this.m_contactManager.FindNewContacts(),this.m_newFixture=!1),this.m_locked=!0;var a=e.Step_s_step;a.dt=t,a.velocityIterations=i,a.positionIterations=n,a.particleIterations=r,a.inv_dt=t>0?1/t:0,a.dtRatio=this.m_inv_dt0*t,a.warmStarting=this.m_warmStarting;var o=e.Step_s_timer.Reset();if(this.m_contactManager.Collide(),this.m_profile.collide=o.GetMilliseconds(),this.m_stepComplete&&a.dt>0){for(var l=e.Step_s_timer.Reset(),c=this.m_particleSystemList;c;c=c.m_next)c.Solve(a);this.Solve(a),this.m_profile.solve=l.GetMilliseconds()}if(this.m_continuousPhysics&&a.dt>0){var h=e.Step_s_timer.Reset();this.SolveTOI(a),this.m_profile.solveTOI=h.GetMilliseconds()}a.dt>0&&(this.m_inv_dt0=a.inv_dt),this.m_clearForces&&this.ClearForces(),this.m_locked=!1,this.m_profile.step=s.GetMilliseconds()},e.prototype.ClearForces=function(){for(var t=this.m_bodyList;t;t=t.m_next)t.m_force.SetZero(),t.m_torque=0},e.prototype.DrawParticleSystem=function(t){if(null!==this.m_debugDraw){var e=t.GetParticleCount();if(e){var i=t.GetRadius(),n=t.GetPositionBuffer();if(t.m_colorBuffer.data){var r=t.GetColorBuffer();this.m_debugDraw.DrawParticles(n,i,r,e)}else this.m_debugDraw.DrawParticles(n,i,null,e)}}},e.prototype.DrawDebugData=function(){if(null!==this.m_debugDraw){var i=this.m_debugDraw.GetFlags(),n=e.DrawDebugData_s_color.SetRGB(0,0,0);if(i&t.b2DrawFlags.e_shapeBit)for(var r=this.m_bodyList;r;r=r.m_next){var s=r.m_xf;this.m_debugDraw.PushTransform(s);for(var a=r.GetFixtureList();a;a=a.m_next)r.IsActive()?r.GetType()===t.b2BodyType.b2_staticBody?(n.SetRGB(.5,.9,.5),this.DrawShape(a,n)):r.GetType()===t.b2BodyType.b2_kinematicBody?(n.SetRGB(.5,.5,.9),this.DrawShape(a,n)):r.IsAwake()?(n.SetRGB(.9,.7,.7),this.DrawShape(a,n)):(n.SetRGB(.6,.6,.6),this.DrawShape(a,n)):(n.SetRGB(.5,.5,.3),this.DrawShape(a,n));this.m_debugDraw.PopTransform(s)}if(i&t.b2DrawFlags.e_particleBit)for(var o=this.m_particleSystemList;o;o=o.m_next)this.DrawParticleSystem(o);if(i&t.b2DrawFlags.e_jointBit)for(var l=this.m_jointList;l;l=l.m_next)this.DrawJoint(l);if(i&t.b2DrawFlags.e_aabbBit){n.SetRGB(.9,.3,.9);var c=e.DrawDebugData_s_vs;for(r=this.m_bodyList;r;r=r.m_next)if(r.IsActive())for(a=r.GetFixtureList();a;a=a.m_next)for(var h=0;h0;){if(!(i=o[--c]))throw new Error;if(r.AddBody(i),i.m_awakeFlag=!0,i.GetType()!==t.b2BodyType.b2_staticBody){for(var h=i.m_contactList;h;h=h.next){var u=h.contact;if(!u.m_islandFlag&&u.IsEnabled()&&u.IsTouching()){var _=u.m_fixtureA.m_isSensor,f=u.m_fixtureB.m_isSensor;if(!_&&!f){if(r.AddContact(u),u.m_islandFlag=!0,!(p=h.other))throw new Error;p.m_islandFlag||(o[c++]=p,p.m_islandFlag=!0)}}}for(var d=i.m_jointList;d;d=d.next){var p;d.joint.m_islandFlag||(p=d.other).IsActive()&&(r.AddJoint(d.joint),d.joint.m_islandFlag=!0,p.m_islandFlag||(o[c++]=p,p.m_islandFlag=!0))}}}var m=new cn;r.Solve(m,e,this.m_gravity,this.m_allowSleep),this.m_profile.solveInit+=m.solveInit,this.m_profile.solveVelocity+=m.solveVelocity,this.m_profile.solvePosition+=m.solvePosition;for(var y=0;y8)){var c=1;if(a.m_toiFlag)c=a.m_toi;else{var h=a.GetFixtureA(),u=a.GetFixtureB();if(h.IsSensor()||u.IsSensor())continue;var _=h.GetBody(),f=u.GetBody(),d=_.m_type,p=f.m_type,m=_.IsAwake()&&d!==t.b2BodyType.b2_staticBody,v=f.IsAwake()&&p!==t.b2BodyType.b2_staticBody;if(!m&&!v)continue;var g=_.IsBullet()||d!==t.b2BodyType.b2_dynamicBody,b=f.IsBullet()||p!==t.b2BodyType.b2_dynamicBody;if(!g&&!b)continue;var A=_.m_sweep.alpha0;_.m_sweep.alpha0this.maxTimestep&&this.maxTimestep>0&&(i=this.maxTimestep);for(var r=this.m_bodyList;r;r=r.nextBody){var s=r.body;if(s.IsAwake()){var a=s.GetWorldVector(O.MulMV(this.T,s.GetLocalVector(s.GetLinearVelocity(),P.s_t0),P.s_t1),e.Step_s_damping);s.SetLinearVelocity(P.AddVV(s.GetLinearVelocity(),P.MulSV(i,a,P.s_t0),P.s_t1))}}}},e.prototype.Draw=function(){},e.prototype.SetAxisAligned=function(t,e){this.T.ex.x=-t,this.T.ex.y=0,this.T.ey.x=0,this.T.ey.y=-e,this.maxTimestep=t>0||e>0?1/v(t,e):0},e.Step_s_damping=new P,e})(Yn),$n=(function(){function t(){this.m_count=0,this.m_ps=[],this.m_p0s=[],this.m_vs=[],this.m_ims=[],this.m_Ls=[],this.m_as=[],this.m_gravity=new P,this.m_damping=0,this.m_k2=1,this.m_k3=.1}return t.prototype.GetVertexCount=function(){return this.m_count},t.prototype.GetVertices=function(){return this.m_ps},t.prototype.Initialize=function(t){this.m_count=t.count,this.m_ps=P.MakeArray(this.m_count),this.m_p0s=P.MakeArray(this.m_count),this.m_vs=P.MakeArray(this.m_count),this.m_ims=p(this.m_count);for(var e=0;e0?1/i:0}var n=this.m_count-1,r=this.m_count-2;for(this.m_Ls=p(n),this.m_as=p(r),e=0;e0&&this.m_vs[n].SelfMulAdd(t,this.m_gravity),this.m_vs[n].SelfMul(i),this.m_ps[n].SelfMulAdd(t,this.m_vs[n]);for(n=0;ns;)C=(m-=2*s)-this.m_as[i];for(;C<-s;)C=(m+=2*s)-this.m_as[i];var T=-this.m_k3*x*C;n.SelfMulAdd(o*T,g),r.SelfMulAdd(l*T,b),a.SelfMulAdd(c*T,A)}}}},t.prototype.Draw=function(t){for(var e=new k(.4,.5,.7),i=0;i>1&2147483647,t|=t>>2&1073741823,t|=t>>4&268435455,1+((t|=t>>8&16777215)|t>>16&65535)},t.b2IsPowerOfTwo=function(t){return t>0&&0==(t&t-1)},t.b2Random=function(){return 2*Math.random()-1},t.b2RandomRange=function(t,e){return(e-t)*Math.random()+t},t.b2Vec2=P,t.b2Vec2_zero=I,t.b2Vec3=R,t.b2Mat22=O,t.b2Mat33=L,t.b2Rot=F,t.b2Transform=V,t.b2Sweep=N,t.b2Color=k,t.b2Draw=z,t.b2Timer=G,t.b2Counter=U,t.b2GrowableStack=j,t.b2BlockAllocator=function(){},t.b2StackAllocator=function(){},t.b2ContactFeature=pt,t.b2ContactID=mt,t.b2ManifoldPoint=yt,t.b2Manifold=gt,t.b2WorldManifold=bt,t.b2GetPointStates=function(e,i,n,r){var s;for(s=0;sx;){t.iterations+=1,d=i.GetSupport(F.MulTRV(s.q,P.NegV(b,P.s_t1),P.s_t0)),p=V.MulXV(s,i.GetVertex(d),lt),y=n.GetSupport(F.MulTRV(a.q,b,P.s_t0)),g=V.MulXV(a,n.GetVertex(y),ct);var T=P.SubVV(p,g,ut);b.Normalize();var S=P.DotVV(b,T),w=P.DotVV(b,o);if(S-A>u*w){if(w<=0)return!1;if((u=(S-A)/w)>1)return!1;c.Copy(b).SelfNeg(),_.m_count=0}var E=f[_.m_count];switch(E.indexA=y,E.wA.Copy(g).SelfMulAdd(u,o),E.indexB=d,E.wB.Copy(p),E.w.Copy(E.wB).SelfSub(E.wA),E.a=1,_.m_count+=1,_.m_count){case 1:break;case 2:_.Solve2();break;case 3:_.Solve3()}if(3===_.m_count)return!1;_.GetClosestPoint(b),++C}var M=_t,D=ft;return _.GetWitnessPoints(M,D),b.LengthSquared()>0&&(c.Copy(b).SelfNeg(),c.Normalize()),t.normal.Copy(c),t.lambda=u,t.iterations=C,!0},t.b2Pair=Ot,t.b2BroadPhase=Lt,t.b2PairLessThan=Ft,t.b2TreeNode=It,t.b2DynamicTree=Rt,t.b2_toi_reset=function(){t.b2_toiTime=0,t.b2_toiMaxTime=0,t.b2_toiCalls=0,t.b2_toiIters=0,t.b2_toiMaxIters=0,t.b2_toiRootIters=0,t.b2_toiMaxRootIters=0},t.b2TOIInput=Wt,t.b2TOIOutput=Yt,t.b2SeparationFunction=qt,t.b2TimeOfImpact=re,t.b2CollideCircles=oe,t.b2CollidePolygonAndCircle=ue,t.b2CollidePolygons=Le,t.b2CollideEdgeAndCircle=He,t.b2CollideEdgeAndPolygon=Je,t.b2MassData=Ke,t.b2Shape=Qe,t.b2CircleShape=ii,t.b2PolygonShape=ni,t.b2EdgeShape=ri,t.b2ChainShape=si,t.b2Filter=ai,t.b2FixtureDef=oi,t.b2FixtureProxy=li,t.b2Fixture=ci,t.b2BodyDef=function(){this.type=t.b2BodyType.b2_staticBody,this.position=new P(0,0),this.angle=0,this.linearVelocity=new P(0,0),this.angularVelocity=0,this.linearDamping=0,this.angularDamping=0,this.allowSleep=!0,this.awake=!0,this.fixedRotation=!1,this.bullet=!1,this.active=!0,this.userData=null,this.gravityScale=1},t.b2Body=_i,t.b2World=Wn,t.b2DestructionListener=en,t.b2ContactFilter=nn,t.b2ContactImpulse=rn,t.b2ContactListener=sn,t.b2QueryCallback=an,t.b2RayCastCallback=on,t.b2Island=bn,t.b2Profile=cn,t.b2TimeStep=hn,t.b2Position=un,t.b2Velocity=_n,t.b2SolverData=fn,t.b2ContactManager=ln,t.b2MixFriction=Gi,t.b2MixRestitution=Ui,t.b2ContactEdge=Hi,t.b2Contact=Wi,t.b2ContactRegister=$i,t.b2ContactFactory=tn,t.g_blockSolve=!1,t.b2VelocityConstraintPoint=dn,t.b2ContactVelocityConstraint=pn,t.b2ContactPositionConstraint=mn,t.b2ContactSolverDef=yn,t.b2PositionSolverManifold=vn,t.b2ContactSolver=gn,t.b2CircleContact=Xi,t.b2PolygonContact=Yi,t.b2PolygonAndCircleContact=qi,t.b2EdgeAndCircleContact=Ji,t.b2EdgeAndPolygonContact=Zi,t.b2ChainAndCircleContact=Ki,t.b2ChainAndPolygonContact=Qi,t.b2Jacobian=fi,t.b2JointEdge=di,t.b2JointDef=pi,t.b2Joint=mi,t.b2AreaJointDef=gi,t.b2AreaJoint=bi,t.b2DistanceJointDef=yi,t.b2DistanceJoint=vi,t.b2FrictionJointDef=Ai,t.b2FrictionJoint=xi,t.b2GearJointDef=Ci,t.b2GearJoint=Ti,t.b2MotorJointDef=Si,t.b2MotorJoint=wi,t.b2MouseJointDef=Ei,t.b2MouseJoint=Mi,t.b2PrismaticJointDef=Di,t.b2PrismaticJoint=Bi,t.b2_minPulleyLength=2,t.b2PulleyJointDef=Pi,t.b2PulleyJoint=Ii,t.b2RevoluteJointDef=Ri,t.b2RevoluteJoint=Oi,t.b2RopeJointDef=Li,t.b2RopeJoint=Fi,t.b2WeldJointDef=Vi,t.b2WeldJoint=Ni,t.b2WheelJointDef=ki,t.b2WheelJoint=zi,t.b2ControllerEdge=Xn,t.b2Controller=Yn,t.b2BuoyancyController=qn,t.b2ConstantAccelController=Jn,t.b2ConstantForceController=Zn,t.b2GravityController=Kn,t.b2TensorDampingController=Qn,t.b2ParticleDef=An,t.b2CalculateParticleIterations=xn,t.b2ParticleHandle=Tn,t.b2ParticleGroupDef=Sn,t.b2ParticleGroup=wn,t.b2GrowableBuffer=Nn,t.b2FixtureParticleQueryCallback=kn,t.b2ParticleContact=zn,t.b2ParticleBodyContact=Gn,t.b2ParticlePair=Un,t.b2ParticleTriad=jn,t.b2ParticleSystemDef=Hn,t.b2RopeDef=function(){this.vertices=[],this.count=0,this.masses=[],this.gravity=new P(0,0),this.damping=.1,this.k2=.9,this.k3=.1},t.b2Rope=$n,Object.defineProperty(t,"__esModule",{value:!0})},"object"==typeof i&&void 0!==e?n(i):"function"==typeof define&&define.amd?define(["exports"],n):n((void 0).box2d={})}),{}],436:[(function(t,e){"use strict";var i="undefined"==typeof window?global:window;i.cc=i.cc||{},cc.internal=cc.internal||{},t("./predefine"),t("./polyfill/string"),t("./polyfill/misc"),t("./polyfill/array"),t("./polyfill/object"),t("./polyfill/array-buffer"),t("./polyfill/number"),t("./polyfill/typescript"),t("./cocos2d/core/predefine"),t("./cocos2d"),t("./extends"),e.exports=i.cc}),{"./cocos2d":352,"./cocos2d/core/predefine":264,"./extends":411,"./package":void 0,"./polyfill/array":438,"./polyfill/array-buffer":437,"./polyfill/misc":439,"./polyfill/number":440,"./polyfill/object":441,"./polyfill/string":442,"./polyfill/typescript":443,"./predefine":444}],437:[(function(){"use strict";if(!ArrayBuffer.isView){var t=Object.getPrototypeOf(Int8Array);ArrayBuffer.isView="function"==typeof t?function(e){return e instanceof t}:function(t){if("object"!=typeof t)return!1;var e=t.constructor;return e===Float64Array||e===Float32Array||e===Uint8Array||e===Uint32Array||e===Int8Array}}}),{}],438:[(function(){"use strict";Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.find||(Array.prototype.find=function(t){for(var e=this.length,i=0;i0?1:-1}),Math.log2||(Math.log2=function(t){return Math.log(t)*Math.LOG2E}),Number.isInteger||(Number.isInteger=function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t}),!console.time){var t=window.performance||Date,e=Object.create(null);console.time=function(i){e[i]=t.now()},console.timeEnd=function(i){var n=e[i],r=t.now()-n;console.log(i+": "+r+"ms")}}}),{}],440:[(function(){"use strict";Number.parseFloat=Number.parseFloat||parseFloat,Number.parseInt=Number.parseInt||parseInt}),{}],441:[(function(){"use strict";Object.assign||(Object.assign=function(t,e){return cc.js.mixin(t,e)}),Object.getOwnPropertyDescriptors||(Object.getOwnPropertyDescriptors=function(t){var e={},i=Object.getOwnPropertyNames(t);Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(t)));for(var n=0;nthis.length)&&(e=this.length),e-=t.length;var i=this.indexOf(t,e);return-1!==i&&i===e}),String.prototype.trimLeft||(String.prototype.trimLeft=function(){return this.replace(/^\s+/,"")})}),{}],443:[(function(){"use strict";var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])};window.__extends=function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)},window.__assign=Object.assign||function(t){for(var e,i=1,n=arguments.length;i=0;o--)(r=t[o])&&(a=(s<3?r(a):s>3?r(e,i,a):r(e,i))||a);return s>3&&a&&Object.defineProperty(e,i,a),a},window.__param=function(t,e){return function(i,n){e(i,n,t)}},window.__metadata=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},window.__awaiter=function(t,e,i,n){return new(i||(i=Promise))(function(r,s){function a(t){try{l(n.next(t))}catch(e){s(e)}}function o(t){try{l(n.throw(t))}catch(e){s(e)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(a,o)}l((n=n.apply(t,e||[])).next())})},window.__generator=function(t,e){var i,n,r,s,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return s={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function o(t){return function(e){return l([t,e])}}function l(s){if(i)throw new TypeError("Generator is already executing.");for(;a;)try{if(i=1,n&&(r=2&s[0]?n.return:s[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,s[1])).done)return r;switch(n=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(r=(r=a.trys).length>0&&r[r.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},window.__read=function(t,e){var i="function"==typeof Symbol&&t[Symbol.iterator];if(!i)return t;var n,r,s=i.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=s.next()).done;)a.push(n.value)}catch(o){r={error:o}}finally{try{n&&!n.done&&(i=s.return)&&i.call(s)}finally{if(r)throw r.error}}return a},window.__spread=function(){for(var t=[],e=0;e1||o(t,e)})})}function o(t,e){try{(i=r[t](e)).value instanceof __await?Promise.resolve(i.value.v).then(l,c):h(s[0][2],i)}catch(n){h(s[0][3],n)}var i}function l(t){o("next",t)}function c(t){o("throw",t)}function h(t,e){t(e),s.shift(),s.length&&o(s[0][0],s[0][1])}},window.__asyncDelegator=function(t){var e,i;return e={},n("next"),n("throw",(function(t){throw t})),n("return"),e[Symbol.iterator]=function(){return this},e;function n(n,r){e[n]=t[n]?function(e){return(i=!i)?{value:__await(t[n](e)),done:"return"===n}:r?r(e):e}:r}},window.__asyncValues=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,i=t[Symbol.asyncIterator];return i?i.call(t):(t="function"==typeof __values?__values(t):t[Symbol.iterator](),e={},n("next"),n("throw"),n("return"),e[Symbol.asyncIterator]=function(){return this},e);function n(i){e[i]=t[i]&&function(e){return new Promise(function(n,s){r(n,s,(e=t[i](e)).done,e.value)})}}function r(t,e,i,n){Promise.resolve(n).then((function(e){t({value:e,done:i})}),e)}},window.__makeTemplateObject=function(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t};var e=Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e};window.__importStar=function(t){if(t&&t.__esModule)return t;var i={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&__createBinding(i,t,n);return e(i,t),i},window.__importDefault=function(t){return t&&t.__esModule?t:{default:t}},window.__classPrivateFieldGet=function(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)},window.__classPrivateFieldSet=function(t,e,i){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,i),i}}),{}],444:[(function(){"use strict";var t="undefined"==typeof window?global:window;function e(e,i){void 0===t[e]&&Object.defineProperty(t,e,{get:function(){var t;return"CC_WECHATGAMESUB"===e?t="cc.sys.platform === cc.sys.WECHAT_GAME_SUB":"CC_WECHATGAME"===e?t="cc.sys.platform === cc.sys.WECHAT_GAME":"CC_QQPLAY"===e&&(t="cc.sys.platform === cc.sys.QQ_PLAY"),cc.warnID(1400,e,t),i}})}function i(e){return"object"==typeof t[e]}(function(e,i){void 0===t[e]&&(t[e]=i)})("CC_BUILD",!1),t.CC_BUILD=!0,t.CC_DEV=!1,t.CC_DEBUG=!1,t.CC_JSB=!1,t.CC_NATIVERENDERER=!1,t.CC_SUPPORT_JIT=!0,t.CC_PHYSICS_BUILTIN=!1,t.CC_PHYSICS_CANNON=!0,t.CC_EDITOR=!1,t.CC_PREVIEW=!1,t.CC_TEST=!1,t.CC_RUNTIME=!1,t.CC_JSB=!1;var n=!(!i("wx")||!wx.getSharedCanvas),r=!(!i("wx")||!wx.getSystemInfoSync&&!wx.getSharedCanvas),s=i("bk");e("CC_WECHATGAMESUB",n),e("CC_WECHATGAME",r),e("CC_QQPLAY",s),t.CocosEngine=cc.ENGINE_VERSION="2.4.8"}),{}]},{},[436]); \ No newline at end of file diff --git a/build/WaterControl/favicon.8de18.ico b/build/WaterControl/favicon.8de18.ico new file mode 100644 index 0000000..0bd33cd Binary files /dev/null and b/build/WaterControl/favicon.8de18.ico differ diff --git a/build/WaterControl/index.html b/build/WaterControl/index.html new file mode 100644 index 0000000..e2a9527 --- /dev/null +++ b/build/WaterControl/index.html @@ -0,0 +1,90 @@ + + + + + + Cocos Creator | WaterControl + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ + + + + + + + diff --git a/build/WaterControl/main.cc8bc.js b/build/WaterControl/main.cc8bc.js new file mode 100644 index 0000000..b9369da --- /dev/null +++ b/build/WaterControl/main.cc8bc.js @@ -0,0 +1,144 @@ +window.boot = function () { + var settings = window._CCSettings; + window._CCSettings = undefined; + var onProgress = null; + + var RESOURCES = cc.AssetManager.BuiltinBundleName.RESOURCES; + var INTERNAL = cc.AssetManager.BuiltinBundleName.INTERNAL; + var MAIN = cc.AssetManager.BuiltinBundleName.MAIN; + function setLoadingDisplay () { + // Loading splash scene + var splash = document.getElementById('splash'); + var progressBar = splash.querySelector('.progress-bar span'); + onProgress = function (finish, total) { + var percent = 100 * finish / total; + if (progressBar) { + progressBar.style.width = percent.toFixed(2) + '%'; + } + }; + splash.style.display = 'block'; + progressBar.style.width = '0%'; + + cc.director.once(cc.Director.EVENT_AFTER_SCENE_LAUNCH, function () { + splash.style.display = 'none'; + }); + } + + var onStart = function () { + + cc.view.enableRetina(true); + cc.view.resizeWithBrowserSize(true); + + if (cc.sys.isBrowser) { + setLoadingDisplay(); + } + + if (cc.sys.isMobile) { + if (settings.orientation === 'landscape') { + cc.view.setOrientation(cc.macro.ORIENTATION_LANDSCAPE); + } + else if (settings.orientation === 'portrait') { + cc.view.setOrientation(cc.macro.ORIENTATION_PORTRAIT); + } + cc.view.enableAutoFullScreen([ + cc.sys.BROWSER_TYPE_BAIDU, + cc.sys.BROWSER_TYPE_BAIDU_APP, + cc.sys.BROWSER_TYPE_WECHAT, + cc.sys.BROWSER_TYPE_MOBILE_QQ, + cc.sys.BROWSER_TYPE_MIUI, + cc.sys.BROWSER_TYPE_HUAWEI, + cc.sys.BROWSER_TYPE_UC, + ].indexOf(cc.sys.browserType) < 0); + } + + // Limit downloading max concurrent task to 2, + // more tasks simultaneously may cause performance draw back on some android system / browsers. + // You can adjust the number based on your own test result, you have to set it before any loading process to take effect. + if (cc.sys.isBrowser && cc.sys.os === cc.sys.OS_ANDROID) { + cc.assetManager.downloader.maxConcurrency = 2; + cc.assetManager.downloader.maxRequestsPerFrame = 2; + } + + var launchScene = settings.launchScene; + var bundle = cc.assetManager.bundles.find(function (b) { + return b.getSceneInfo(launchScene); + }); + + bundle.loadScene(launchScene, null, onProgress, + function (err, scene) { + if (!err) { + cc.director.runSceneImmediate(scene); + if (cc.sys.isBrowser) { + // show canvas + var canvas = document.getElementById('GameCanvas'); + canvas.style.visibility = ''; + var div = document.getElementById('GameDiv'); + if (div) { + div.style.backgroundImage = ''; + } + console.log('Success to load scene: ' + launchScene); + } + } + } + ); + + }; + + var option = { + id: 'GameCanvas', + debugMode: settings.debug ? cc.debug.DebugMode.INFO : cc.debug.DebugMode.ERROR, + showFPS: settings.debug, + frameRate: 60, + groupList: settings.groupList, + collisionMatrix: settings.collisionMatrix, + }; + + cc.assetManager.init({ + bundleVers: settings.bundleVers, + remoteBundles: settings.remoteBundles, + server: settings.server + }); + + var bundleRoot = [INTERNAL]; + settings.hasResourcesBundle && bundleRoot.push(RESOURCES); + + var count = 0; + function cb (err) { + if (err) return console.error(err.message, err.stack); + count++; + if (count === bundleRoot.length + 1) { + cc.assetManager.loadBundle(MAIN, function (err) { + if (!err) cc.game.run(option, onStart); + }); + } + } + + cc.assetManager.loadScript(settings.jsList.map(function (x) { return 'src/' + x;}), cb); + + for (var i = 0; i < bundleRoot.length; i++) { + cc.assetManager.loadBundle(bundleRoot[i], cb); + } +}; + +if (window.jsb) { + var isRuntime = (typeof loadRuntime === 'function'); + if (isRuntime) { + require('src/settings.f2e4a.js'); + require('src/cocos2d-runtime.js'); + if (CC_PHYSICS_BUILTIN || CC_PHYSICS_CANNON) { + require('src/physics.js'); + } + require('jsb-adapter/engine/index.js'); + } + else { + require('src/settings.f2e4a.js'); + require('src/cocos2d-jsb.js'); + if (CC_PHYSICS_BUILTIN || CC_PHYSICS_CANNON) { + require('src/physics.js'); + } + require('jsb-adapter/jsb-engine.js'); + } + + cc.macro.CLEANUP_IMAGE_CACHE = true; + window.boot(); +} \ No newline at end of file diff --git a/build/WaterControl/physics-min.ce5ee.js b/build/WaterControl/physics-min.ce5ee.js new file mode 100644 index 0000000..fbbf794 --- /dev/null +++ b/build/WaterControl/physics-min.ce5ee.js @@ -0,0 +1 @@ +(function t(e,i,o){function n(s,a){if(!i[s]){if(!e[s]){var l="function"==typeof require&&require;if(!a&&l)return l(s,!0);if(r)return r(s,!0);var h=new Error("Cannot find module '"+s+"'");throw h.code="MODULE_NOT_FOUND",h}var c=i[s]={exports:{}};e[s][0].call(c.exports,function(t){return n(e[s][1][t]||t)},c,c.exports,t,e,i,o)}return i[s].exports}for(var r="function"==typeof require&&require,s=0;s=0&&(u(this.shapes,e),this.body.removeShape(t.shape),t.setIndex(-1))},o.syncSceneToPhysics=function(t){void 0===t&&(t=!1);var e=this.node,i=(0,s.worldDirty)(e);if(t||i){if(this.body.aabbNeedsUpdate=!0,e.getWorldPosition(d),e.getWorldRotation(y),p.copy(this.body.position,d),c.copy(this.body.quaternion,y),e._localMatDirty&h){for(var o=e.__wscale,n=0;n0){var r=f.pop();p.copy(r.contactA,n.ri),p.copy(r.contactB,n.rj),p.copy(r.normal,n.ni),v.contacts.push(r)}else{var l={contactA:p.copy(new p,n.ri),contactB:p.copy(new p,n.rj),normal:p.copy(new p,n.ni)};v.contacts.push(l)}}for(o=0;o=0&&(0==this.shapes.length&&null==this.wrappedBody||0==this.shapes.length&&null!=this.wrappedBody&&!this.wrappedBody.rigidBody.enabledInHierarchy||0==this.shapes.length&&null!=this.wrappedBody&&!this.wrappedBody.isEnabled)&&(this.body.sleep(),this.index=-1,this.wrappedWorld.removeSharedBody(this))}},{key:"reference",set:function(t){t?this.ref++:this.ref--,0==this.ref&&this.destroy()}}])&&l(e.prototype,i),t}();i.CannonSharedBody=m,m.sharedBodiesMap=new Map},{"../../../../../external/cannon/cannon":24,"../framework/physics-enum":19,"../framework/util":23,"./cannon-util":3}],3:[function(t,e,i){"use strict";i.__esModule=!0,i.commitShapeUpdates=function(t){t.aabbNeedsUpdate=!0,t.updateMassProperties(),t.updateBoundingRadius()},i.deprecatedEventMap=void 0,i.fillRaycastResult=function(t,e){t._assign(n.copy(new n,e.hitPointWorld),e.distance,(0,o.getWrap)(e.shape).collider)},i.groupIndexToBitMask=r,i.toCannonRaycastOptions=function(t,e){t.checkCollisionResponse=!e.queryTrigger,r(e.groupIndex,t),t.skipBackFaces=!1};var o=t("../framework/util"),n=cc.Vec3;function r(t,e){var i=1<=0&&(p(this.bodies,e),this._world.remove(t.body))},e=t,(i=[{key:"world",get:function(){return this._world}},{key:"defaultMaterial",set:function(t){this._world.defaultMaterial.friction=t.friction,this._world.defaultMaterial.restitution=t.restitution,null!=s.CannonShape.idToMaterial[t._uuid]&&(s.CannonShape.idToMaterial[t._uuid]=this._world.defaultMaterial)}},{key:"allowSleep",set:function(t){this._world.allowSleep=t}},{key:"gravity",set:function(t){c.copy(this._world.gravity,t)}}])&&h(e.prototype,i),t}();i.CannonWorld=u;var d=new n.default.Vec3,y=new n.default.Vec3;function f(t,e){c.copy(d,t.o),t.computeHit(y,e)}var v={checkCollisionResponse:!1,collisionFilterGroup:-1,collisionFilterMask:-1,skipBackFaces:!1}},{"../../../../../external/cannon/cannon":24,"../framework/util":23,"./cannon-shared-body":2,"./cannon-util":3,"./shapes/cannon-shape":7}],5:[function(t){"use strict";var e=t("../framework/physics-selector"),i=t("./cannon-rigid-body"),o=t("./cannon-world"),n=t("./shapes/cannon-box-shape"),r=t("./shapes/cannon-sphere-shape");(0,e.instantiate)(n.CannonBoxShape,r.CannonSphereShape,i.CannonRigidBody,o.CannonWorld)},{"../framework/physics-selector":22,"./cannon-rigid-body":1,"./cannon-world":4,"./shapes/cannon-box-shape":6,"./shapes/cannon-sphere-shape":8}],6:[function(t,e,i){"use strict";i.__esModule=!0,i.CannonBoxShape=void 0;var o,n=(o=t("../../../../../../external/cannon/cannon"))&&o.__esModule?o:{default:o},r=t("../cannon-util"),s=t("./cannon-shape");function a(t,e){for(var i=0;i=0&&this._body.updateHasTrigger()}},{key:"center",set:function(t){this._setCenter(t),this._index>=0&&(0,s.commitShapeUpdates)(this._body)}},{key:"_body",get:function(){return this._sharedBody.body}}])&&a(e.prototype,i),t}();i.CannonShape=p,p.idToMaterial={}},{"../../../../../../external/cannon/cannon":24,"../../framework/util":23,"../cannon-util":3}],8:[function(t,e,i){"use strict";i.__esModule=!0,i.CannonSphereShape=void 0;var o,n=(o=t("../../../../../../external/cannon/cannon"))&&o.__esModule?o:{default:o},r=t("../cannon-util"),s=t("./cannon-shape");function a(t,e){for(var i=0;ithis._lastTime?(e-this._lastTime)/1e3:0,this._lastTime=e}else this._deltaTime=t;if(cc.director.emit(cc.Director.EVENT_BEFORE_PHYSICS),this._useFixedTime)this.physicsWorld.step(this._fixedTime);else if(this.useAccumulator){var i=0;for(this._accumulator+=this._deltaTime;ithis._fixedTime;)this.physicsWorld.step(this._fixedTime),this._accumulator-=this._fixedTime,i++}else this.physicsWorld.step(this._fixedTime,this._deltaTime,this._maxSubStep);cc.director.emit(cc.Director.EVENT_AFTER_PHYSICS)}},o.raycast=function(t,e,i,o){if(void 0===e&&(e=0),void 0===i&&(i=1/0),void 0===o&&(o=!0),this.raycastResultPool.reset(),this.raycastResults.length=0,"string"==typeof e){var n=cc.game.groupList.indexOf(e);-1==n&&(n=0),this.raycastOptions.groupIndex=n}else this.raycastOptions.groupIndex=e;return this.raycastOptions.maxDistance=i,this.raycastOptions.queryTrigger=o,this.physicsWorld.raycast(t,this.raycastOptions,this.raycastResultPool,this.raycastResults)?this.raycastResults:null},o.raycastClosest=function(t,e,i,o){if(void 0===e&&(e=0),void 0===i&&(i=1/0),void 0===o&&(o=!0),"string"==typeof e){var n=cc.game.groupList.indexOf(e);-1==n&&(n=0),this.raycastOptions.groupIndex=n}else this.raycastOptions.groupIndex=e;return this.raycastOptions.maxDistance=i,this.raycastOptions.queryTrigger=o,this.physicsWorld.raycastClosest(t,this.raycastOptions,this.raycastClosestResult)?this.raycastClosestResult:null},o._updateMaterial=function(){this.physicsWorld.defaultMaterial=this._material},e=t,(i=[{key:"enabled",get:function(){return this._enabled},set:function(t){this._enabled=t}},{key:"allowSleep",get:function(){return this._allowSleep},set:function(t){this._allowSleep=t,this.physicsWorld.allowSleep=this._allowSleep}},{key:"maxSubStep",get:function(){return this._maxSubStep},set:function(t){this._maxSubStep=t}},{key:"deltaTime",get:function(){return this._fixedTime},set:function(t){this._fixedTime=t}},{key:"useFixedTime",get:function(){return this._useFixedTime},set:function(t){this._useFixedTime=t}},{key:"gravity",get:function(){return this._gravity},set:function(t){this._gravity.set(t),this.physicsWorld.gravity=t}},{key:"defaultMaterial",get:function(){return this._material}}])&&f(e.prototype,i),t}()).prototype,"_enabled",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),s=v(n.prototype,"_allowSleep",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),a=v(n.prototype,"_gravity",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new cc.Vec3(0,-10,0)}}),l=v(n.prototype,"_maxSubStep",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),h=v(n.prototype,"_fixedTime",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1/60}}),c=v(n.prototype,"_useFixedTime",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),o=n))||o;i.Physics3DManager=b},{"./assets/physics-material":11,"./instance":18,"./physics-ray-result":21}],21:[function(t,e,i){"use strict";function o(t,e){for(var i=0;i (http://steffe.se), JayceLai",keywords:["cannon.js","cocos","creator","physics","engine","3d"],scripts:{build:"grunt && npm run preprocess && grunt addLicense && grunt addDate",preprocess:"node node_modules/uglify-js/bin/uglifyjs build/cannon.js -o build/cannon.min.js -c -m"},main:"./build/cannon.min.js",engines:{node:"*"},repository:{type:"git",url:"https://github.com/cocos-creator/cannon.js.git"},bugs:{url:"https://github.com/cocos-creator/cannon.js/issues"},licenses:[{type:"MIT"}],devDependencies:{jshint:"latest","uglify-js":"latest",nodeunit:"^0.9.0",grunt:"~0.4.0","grunt-contrib-jshint":"~0.1.1","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-concat":"~0.1.3","grunt-contrib-uglify":"^0.5.1","grunt-browserify":"^2.1.4","grunt-contrib-yuidoc":"^0.5.2",browserify:"*"},dependencies:{}}},{}],2:[function(t,e){e.exports={version:t("../package.json").version,AABB:t("./collision/AABB"),ArrayCollisionMatrix:t("./collision/ArrayCollisionMatrix"),Body:t("./objects/Body"),Box:t("./shapes/Box"),Broadphase:t("./collision/Broadphase"),Constraint:t("./constraints/Constraint"),ContactEquation:t("./equations/ContactEquation"),Narrowphase:t("./world/Narrowphase"),ConeTwistConstraint:t("./constraints/ConeTwistConstraint"),ContactMaterial:t("./material/ContactMaterial"),ConvexPolyhedron:t("./shapes/ConvexPolyhedron"),Cylinder:t("./shapes/Cylinder"),DistanceConstraint:t("./constraints/DistanceConstraint"),Equation:t("./equations/Equation"),EventTarget:t("./utils/EventTarget"),FrictionEquation:t("./equations/FrictionEquation"),GSSolver:t("./solver/GSSolver"),GridBroadphase:t("./collision/GridBroadphase"),Heightfield:t("./shapes/Heightfield"),HingeConstraint:t("./constraints/HingeConstraint"),LockConstraint:t("./constraints/LockConstraint"),Mat3:t("./math/Mat3"),Material:t("./material/Material"),NaiveBroadphase:t("./collision/NaiveBroadphase"),ObjectCollisionMatrix:t("./collision/ObjectCollisionMatrix"),Pool:t("./utils/Pool"),Particle:t("./shapes/Particle"),Plane:t("./shapes/Plane"),PointToPointConstraint:t("./constraints/PointToPointConstraint"),Quaternion:t("./math/Quaternion"),Ray:t("./collision/Ray"),RaycastVehicle:t("./objects/RaycastVehicle"),RaycastResult:t("./collision/RaycastResult"),RigidVehicle:t("./objects/RigidVehicle"),RotationalEquation:t("./equations/RotationalEquation"),RotationalMotorEquation:t("./equations/RotationalMotorEquation"),SAPBroadphase:t("./collision/SAPBroadphase"),SPHSystem:t("./objects/SPHSystem"),Shape:t("./shapes/Shape"),Solver:t("./solver/Solver"),Sphere:t("./shapes/Sphere"),SplitSolver:t("./solver/SplitSolver"),Spring:t("./objects/Spring"),Transform:t("./math/Transform"),Trimesh:t("./shapes/Trimesh"),Vec3:t("./math/Vec3"),Vec3Pool:t("./utils/Vec3Pool"),World:t("./world/World"),Octree:t("./utils/Octree"),CMath:t("./math/CMath")}},{"../package.json":1,"./collision/AABB":3,"./collision/ArrayCollisionMatrix":4,"./collision/Broadphase":5,"./collision/GridBroadphase":6,"./collision/NaiveBroadphase":7,"./collision/ObjectCollisionMatrix":8,"./collision/Ray":10,"./collision/RaycastResult":11,"./collision/SAPBroadphase":12,"./constraints/ConeTwistConstraint":13,"./constraints/Constraint":14,"./constraints/DistanceConstraint":15,"./constraints/HingeConstraint":16,"./constraints/LockConstraint":17,"./constraints/PointToPointConstraint":18,"./equations/ContactEquation":20,"./equations/Equation":21,"./equations/FrictionEquation":22,"./equations/RotationalEquation":23,"./equations/RotationalMotorEquation":24,"./material/ContactMaterial":25,"./material/Material":26,"./math/CMath":27,"./math/Mat3":29,"./math/Quaternion":30,"./math/Transform":31,"./math/Vec3":32,"./objects/Body":33,"./objects/RaycastVehicle":34,"./objects/RigidVehicle":35,"./objects/SPHSystem":36,"./objects/Spring":37,"./shapes/Box":39,"./shapes/ConvexPolyhedron":40,"./shapes/Cylinder":41,"./shapes/Heightfield":42,"./shapes/Particle":43,"./shapes/Plane":44,"./shapes/Shape":45,"./shapes/Sphere":46,"./shapes/Trimesh":47,"./solver/GSSolver":48,"./solver/Solver":49,"./solver/SplitSolver":50,"./utils/EventTarget":51,"./utils/Octree":52,"./utils/Pool":53,"./utils/Vec3Pool":56,"./world/Narrowphase":57,"./world/World":58}],3:[function(t,e){var i=t("../math/Vec3");function o(t){t=t||{},this.lowerBound=new i,t.lowerBound&&this.lowerBound.copy(t.lowerBound),this.upperBound=new i,t.upperBound&&this.upperBound.copy(t.upperBound)}t("../utils/Utils"),e.exports=o;var n=new i;o.prototype.setFromPoints=function(t,e,i,o){var r=this.lowerBound,s=this.upperBound,a=i;r.copy(t[0]),a&&a.vmult(r,r),s.copy(r);for(var l=1;ls.x&&(s.x=h.x),h.xs.y&&(s.y=h.y),h.ys.z&&(s.z=h.z),h.z=n.x&&e.y<=o.y&&i.y>=n.y&&e.z<=o.z&&i.z>=n.z},o.prototype.getCorners=function(t,e,i,o,n,r,s,a){var l=this.lowerBound,h=this.upperBound;t.copy(l),e.set(h.x,l.y,l.z),i.set(h.x,h.y,l.z),o.set(l.x,h.y,h.z),n.set(h.x,l.y,h.z),r.set(l.x,h.y,l.z),s.set(l.x,l.y,h.z),a.copy(h)};var r=[new i,new i,new i,new i,new i,new i,new i,new i];o.prototype.toLocalFrame=function(t,e){var i=r,o=i[0],n=i[1],s=i[2],a=i[3],l=i[4],h=i[5],c=i[6],p=i[7];this.getCorners(o,n,s,a,l,h,c,p);for(var u=0;8!==u;u++){var d=i[u];t.pointToLocal(d,d)}return e.setFromPoints(i)},o.prototype.toWorldFrame=function(t,e){var i=r,o=i[0],n=i[1],s=i[2],a=i[3],l=i[4],h=i[5],c=i[6],p=i[7];this.getCorners(o,n,s,a,l,h,c,p);for(var u=0;8!==u;u++){var d=i[u];t.pointToWorld(d,d)}return e.setFromPoints(i)},o.prototype.overlapsRay=function(t){var e=1/t._direction.x,i=1/t._direction.y,o=1/t._direction.z,n=(this.lowerBound.x-t.from.x)*e,r=(this.upperBound.x-t.from.x)*e,s=(this.lowerBound.y-t.from.y)*i,a=(this.upperBound.y-t.from.y)*i,l=(this.lowerBound.z-t.from.z)*o,h=(this.upperBound.z-t.from.z)*o,c=Math.max(Math.max(Math.min(n,r),Math.min(s,a)),Math.min(l,h)),p=Math.min(Math.min(Math.max(n,r),Math.max(s,a)),Math.max(l,h));return!(p<0||c>p)}},{"../math/Vec3":32,"../utils/Utils":55}],4:[function(t,e){function i(){this.matrix=[]}e.exports=i,i.prototype.get=function(t,e){if(t=t.index,(e=e.index)>t){var i=e;e=t,t=i}return this.matrix[(t*(t+1)>>1)+e-1]},i.prototype.set=function(t,e,i){if(t=t.index,(e=e.index)>t){var o=e;e=t,t=o}this.matrix[(t*(t+1)>>1)+e-1]=i?1:0},i.prototype.reset=function(){for(var t=0,e=this.matrix.length;t!==e;t++)this.matrix[t]=0},i.prototype.setNumObjects=function(t){this.matrix.length=t*(t-1)>>1}},{}],5:[function(t,e){var i=t("../objects/Body"),o=t("../math/Vec3"),n=t("../math/Quaternion");function r(){this.world=null,this.useBoundingBoxes=!1,this.dirty=!0}t("../shapes/Shape"),t("../shapes/Plane"),e.exports=r,r.prototype.collisionPairs=function(){throw new Error("collisionPairs not implemented for this BroadPhase class!")},r.prototype.needBroadphaseCollision=function(t,e){return 0!=(t.collisionFilterGroup&e.collisionFilterMask)&&0!=(e.collisionFilterGroup&t.collisionFilterMask)&&(!(!t.hasTrigger&&!e.hasTrigger)||0==(t.type&i.STATIC)&&t.sleepState!==i.SLEEPING||0==(e.type&i.STATIC)&&e.sleepState!==i.SLEEPING)},r.prototype.intersectionTest=function(t,e,i,o){this.useBoundingBoxes?this.doBoundingBoxBroadphase(t,e,i,o):this.doBoundingSphereBroadphase(t,e,i,o)};var s=new o;new o,new n,new o,r.prototype.doBoundingSphereBroadphase=function(t,e,i,o){var n=s;e.position.vsub(t.position,n);var r=Math.pow(t.boundingRadius+e.boundingRadius,2);n.norm2()i.norm2()},r.prototype.aabbQuery=function(){return console.warn(".aabbQuery is not implemented in this Broadphase subclass."),[]}},{"../math/Quaternion":30,"../math/Vec3":32,"../objects/Body":33,"../shapes/Plane":44,"../shapes/Shape":45}],6:[function(t,e){e.exports=r;var i=t("./Broadphase"),o=t("../math/Vec3"),n=t("../shapes/Shape");function r(t,e,n,r,s){i.apply(this),this.nx=n||10,this.ny=r||10,this.nz=s||10,this.aabbMin=t||new o(100,100,100),this.aabbMax=e||new o(-100,-100,-100);var a=this.nx*this.ny*this.nz;if(a<=0)throw"GridBroadphase: Each dimension's n must be >0";this.bins=[],this.binLengths=[],this.bins.length=a,this.binLengths.length=a;for(var l=0;l=h&&(a=h-1),l<0?l=0:l>=c&&(l=c-1),f<0?f=0:f>=p&&(f=p-1),v<0?v=0:v>=h&&(v=h-1),m<0?m=0:m>=c&&(m=c-1),S<0?S=0:S>=p&&(S=p-1),l*=d,f*=y,v*=u,m*=d,S*=y;for(var E=a*=u;E<=v;E+=u)for(var M=l;M<=m;M+=d)for(var C=f;C<=S;C+=y){var A=E+M+C;R[A][T[A]++]=s}}for(l=Math.min,a=Math.max,q=0;q!==o;q++){var V=(it=r[q]).shape;switch(V.type){case z:var j=it.position.x,k=it.position.y,N=it.position.z,L=V.radius;I(j-L,k-L,N-L,j+L,k+L,N+L,it);break;case F:V.worldNormalNeedsUpdate&&V.computeWorldNormal(it.quaternion);var W=V.worldNormal,D=g+.5*S-it.position.x,U=b+.5*E-it.position.y,G=w+.5*M-it.position.z,H=s;H.set(D,U,G);for(var K=0,Q=0;K!==h;K++,Q+=u,H.y=U,H.x+=S)for(var X=0,Y=0;X!==c;X++,Y+=d,H.z=G,H.y+=E)for(var Z=0,J=0;Z!==p;Z++,J+=y,H.z+=M)if(H.dot(W)1){var et=R[q];for(K=0;K!==tt;K++){var it=et[K];for(X=0;X!==K;X++){var ot=et[X];this.needBroadphaseCollision(it,ot)&&this.intersectionTest(it,ot,e,i)}}}}this.makePairsUnique(e,i)}},{"../math/Vec3":32,"../shapes/Shape":45,"./Broadphase":5}],7:[function(t,e){e.exports=n;var i=t("./Broadphase"),o=t("./AABB");function n(){i.apply(this)}n.prototype=new i,n.prototype.constructor=n,n.prototype.collisionPairs=function(t,e,i){var o,n,r,s,a=t.bodies,l=a.length;for(o=0;o!==l;o++)for(n=0;n!==o;n++)r=a[o],s=a[n],this.needBroadphaseCollision(r,s)&&this.intersectionTest(r,s,e,i)},new o,n.prototype.aabbQuery=function(t,e,i){i=i||[];for(var o=0;ot){var i=e;e=t,t=i}return t+"-"+e in this.matrix},i.prototype.set=function(t,e,i){if(t=t.id,(e=e.id)>t){var o=e;e=t,t=o}i?this.matrix[t+"-"+e]=!0:delete this.matrix[t+"-"+e]},i.prototype.reset=function(){this.matrix={}},i.prototype.setNumObjects=function(){}},{}],9:[function(t,e){function i(){this.current=[],this.previous=[]}function o(t,e){t.push((4294901760&e)>>16,65535&e)}e.exports=i,i.prototype.getKey=function(t,e){if(eo[n];)n++;if(i!==o[n]){for(e=o.length-1;e>=n;e--)o[e+1]=o[e];o[n]=i}},i.prototype.tick=function(){var t=this.current;this.current=this.previous,this.previous=t,this.current.length=0},i.prototype.getDiff=function(t,e){for(var i=this.current,n=this.previous,r=i.length,s=n.length,a=0,l=0;ln[a];)a++;h===n[a]||o(t,h)}for(a=0,l=0;li[a];)a++;i[a]===c||o(e,c)}}},{}],10:[function(t,e){e.exports=l;var i=t("../math/Vec3"),o=t("../math/Quaternion"),n=t("../math/Transform"),r=(t("../shapes/ConvexPolyhedron"),t("../shapes/Box"),t("../collision/RaycastResult")),s=t("../shapes/Shape"),a=t("../collision/AABB");function l(t,e){this.from=t?t.clone():new i,this.to=e?e.clone():new i,this._direction=new i,this.precision=1e-4,this.checkCollisionResponse=!0,this.skipBackfaces=!1,this.collisionFilterMask=-1,this.collisionFilterGroup=-1,this.mode=l.ANY,this.result=new r,this.hasHit=!1,this.callback=function(){}}l.prototype.constructor=l,l.CLOSEST=1,l.ANY=2,l.ALL=4;var h=new a,c=[];l.prototype.intersectWorld=function(t,e){return this.mode=e.mode||l.ANY,this.result=e.result||new r,this.skipBackfaces=!!e.skipBackfaces,this.checkCollisionResponse=!!e.checkCollisionResponse,this.collisionFilterMask=void 0!==e.collisionFilterMask?e.collisionFilterMask:-1,this.collisionFilterGroup=void 0!==e.collisionFilterGroup?e.collisionFilterGroup:-1,e.from&&this.from.copy(e.from),e.to&&this.to.copy(e.to),this.callback=e.callback||function(){},this.hasHit=!1,this.result.reset(),this._updateDirection(),this.getAABB(h),c.length=0,t.broadphase.aabbQuery(t,h,c),this.intersectBodies(c),this.hasHit};var p=new i,u=new i;function d(t,e,i,o){o.vsub(e,I),i.vsub(e,p),t.vsub(e,u);var n,r,s=I.dot(I),a=I.dot(p),l=I.dot(u),h=p.dot(p),c=p.dot(u);return(n=h*l-a*c)>=0&&(r=s*c-a*l)>=0&&n+rt.boundingSphereRadius)){var n=this[t.type];n&&n.call(this,t,e,i,o,t)}},new i,new i;var v=new i,m=new i,g=new i,b=new i;new i,new r,l.prototype.intersectBox=function(t,e,i,o,n){return this.intersectConvex(t.convexPolyhedronRepresentation,e,i,o,n)},l.prototype[s.types.BOX]=l.prototype.intersectBox,l.prototype.intersectPlane=function(t,e,o,n,r){var s=this.from,a=this.to,l=this._direction,h=new i(0,0,1);e.vmult(h,h);var c=new i;s.vsub(o,c);var p=c.dot(h);if(a.vsub(o,c),!(p*c.dot(h)>0||s.distanceTo(a)=0&&y<=1&&(r.lerp(s,y,u),u.vsub(i,d),d.normalize(),this.reportIntersection(d,u,n,o,-1)),this.result._shouldStop)return;f>=0&&f<=1&&(r.lerp(s,f,u),u.vsub(i,d),d.normalize(),this.reportIntersection(d,u,n,o,-1))}},l.prototype[s.types.SPHERE]=l.prototype.intersectSphere;var M=new i,C=(new i,new i,new i);l.prototype.intersectConvex=function(t,e,i,o,n,r){for(var s=M,a=C,l=r&&r.faceList||null,h=t.faces,c=t.vertices,p=t.faceNormals,u=this._direction,y=this.from,f=this.to,w=y.distanceTo(f),x=l?l.length:h.length,_=this.result,B=0;!_._shouldStop&&Bw||this.reportIntersection(s,v,n,o,S)}}}}},l.prototype[s.types.CONVEXPOLYHEDRON]=l.prototype.intersectConvex;var A=new i,z=new i,F=new i,R=new i,T=new i,P=new i,q=(new a,[]),O=new n;l.prototype.intersectTrimesh=function(t,e,i,o,r,s){var a=A,l=q,h=O,c=C,p=z,u=F,y=R,f=P,w=T,x=(s&&s.faceList,t.indices),_=(t.vertices,t.faceNormals,this.from),B=this.to,S=this._direction;h.position.copy(i),h.quaternion.copy(e),n.vectorToLocalFrame(i,e,S,p),n.pointToLocalFrame(i,e,_,u),n.pointToLocalFrame(i,e,B,y),y.x*=t.scale.x,y.y*=t.scale.y,y.z*=t.scale.z,u.x*=t.scale.x,u.y*=t.scale.y,u.z*=t.scale.z,y.vsub(u,p),p.normalize();var E=u.distanceSquared(y);t.tree.rayQuery(this,h,l);for(var M=0,I=l.length;!this.result._shouldStop&&M!==I;M++){var V=l[M];t.getNormal(V,a),t.getVertex(x[3*V],m),m.vsub(u,c);var j=p.dot(a),k=a.dot(c)/j;if(!(k<0)){p.scale(k,v),v.vadd(u,v),t.getVertex(x[3*V+1],g),t.getVertex(x[3*V+2],b);var N=v.distanceSquared(u);!d(v,g,m,b)&&!d(v,m,g,b)||N>E||(n.vectorToWorldFrame(e,a,w),n.pointToWorldFrame(i,e,v,f),this.reportIntersection(w,f,r,o,V))}}l.length=0},l.prototype[s.types.TRIMESH]=l.prototype.intersectTrimesh,l.prototype.reportIntersection=function(t,e,i,o,n){var r=this.from,s=this.to,a=r.distanceTo(e),h=this.result;if(!(this.skipBackfaces&&t.dot(this._direction)>0))switch(h.hitFaceIndex=void 0!==n?n:-1,this.mode){case l.ALL:this.hasHit=!0,h.set(r,s,t,e,i,o,a),h.hasHit=!0,this.callback(h);break;case l.CLOSEST:(a=0&&!(t[n].aabb.lowerBound.x<=o.aabb.lowerBound.x);n--)t[n+1]=t[n];t[n+1]=o}return t},o.insertionSortY=function(t){for(var e=1,i=t.length;e=0&&!(t[n].aabb.lowerBound.y<=o.aabb.lowerBound.y);n--)t[n+1]=t[n];t[n+1]=o}return t},o.insertionSortZ=function(t){for(var e=1,i=t.length;e=0&&!(t[n].aabb.lowerBound.z<=o.aabb.lowerBound.z);n--)t[n+1]=t[n];t[n+1]=o}return t},o.prototype.collisionPairs=function(t,e,i){var n,r,s=this.axisList,a=s.length,l=this.axisIndex;for(this.dirty&&(this.sortList(),this.dirty=!1),n=0;n!==a;n++){var h=s[n];for(r=n+1;rf?y>v?0:2:f>v?1:2},o.prototype.aabbQuery=function(t,e,i){i=i||[],this.dirty&&(this.sortList(),this.dirty=!1);var o=this.axisIndex,n="x";1===o&&(n="y"),2===o&&(n="z");for(var r=this.axisList,s=(e.lowerBound[n],e.upperBound[n],0);s.499&&(i=2*o.atan2(s,h),n=Math.PI/2,r=0),c<-.499&&(i=-2*o.atan2(s,h),n=-Math.PI/2,r=0),isNaN(i)){var p=s*s,u=a*a,d=l*l;i=o.atan2(2*a*h-2*s*l,1-2*u-2*d),n=Math.asin(2*c),r=o.atan2(2*s*h-2*a*l,1-2*p-2*d)}break;default:throw new Error("Euler order "+e+" not supported yet.")}t.y=i,t.z=n,t.x=r},n.prototype.setFromEuler=function(t,e,i,n){n=n||"XYZ";var r=o.cos(t/2),s=o.cos(e/2),a=o.cos(i/2),l=o.sin(t/2),h=o.sin(e/2),c=o.sin(i/2);return"XYZ"===n?(this.x=l*s*a+r*h*c,this.y=r*h*a-l*s*c,this.z=r*s*c+l*h*a,this.w=r*s*a-l*h*c):"YXZ"===n?(this.x=l*s*a+r*h*c,this.y=r*h*a-l*s*c,this.z=r*s*c-l*h*a,this.w=r*s*a+l*h*c):"ZXY"===n?(this.x=l*s*a-r*h*c,this.y=r*h*a+l*s*c,this.z=r*s*c+l*h*a,this.w=r*s*a-l*h*c):"ZYX"===n?(this.x=l*s*a-r*h*c,this.y=r*h*a+l*s*c,this.z=r*s*c-l*h*a,this.w=r*s*a+l*h*c):"YZX"===n?(this.x=l*s*a+r*h*c,this.y=r*h*a+l*s*c,this.z=r*s*c-l*h*a,this.w=r*s*a-l*h*c):"XZY"===n&&(this.x=l*s*a-r*h*c,this.y=r*h*a-l*s*c,this.z=r*s*c+l*h*a,this.w=r*s*a+l*h*c),this},n.prototype.clone=function(){return new n(this.x,this.y,this.z,this.w)},n.prototype.slerp=function(t,e,i){i=i||new n;var r,s,a,l,h,c=this.x,p=this.y,u=this.z,d=this.w,y=t.x,f=t.y,v=t.z,m=t.w;return(s=c*y+p*f+u*v+d*m)<0&&(s=-s,y=-y,f=-f,v=-v,m=-m),1-s>1e-6?(r=Math.acos(s),a=o.sin(r),l=o.sin((1-e)*r)/a,h=o.sin(e*r)/a):(l=1-e,h=e),i.x=l*c+h*y,i.y=l*p+h*f,i.z=l*u+h*v,i.w=l*d+h*m,i},n.prototype.integrate=function(t,e,i,o){o=o||new n;var r=t.x*i.x,s=t.y*i.y,a=t.z*i.z,l=this.x,h=this.y,c=this.z,p=this.w,u=.5*e;return o.x+=u*(r*p+s*c-a*h),o.y+=u*(s*p+a*l-r*c),o.z+=u*(a*p+r*h-s*l),o.w+=u*(-r*l-s*h-a*c),o}},{"./CMath":27,"./Vec3":32}],31:[function(t,e){var i=t("./Vec3"),o=t("./Quaternion");function n(t){t=t||{},this.position=new i,t.position&&this.position.copy(t.position),this.quaternion=new o,t.quaternion&&this.quaternion.copy(t.quaternion)}e.exports=n;var r=new o;n.pointToLocalFrame=function(t,e,o,n){return n=n||new i,o.vsub(t,n),e.conjugate(r),r.vmult(n,n),n},n.prototype.pointToLocal=function(t,e){return n.pointToLocalFrame(this.position,this.quaternion,t,e)},n.pointToWorldFrame=function(t,e,o,n){return n=n||new i,e.vmult(o,n),n.vadd(t,n),n},n.prototype.pointToWorld=function(t,e){return n.pointToWorldFrame(this.position,this.quaternion,t,e)},n.prototype.vectorToWorldFrame=function(t,e){return e=e||new i,this.quaternion.vmult(t,e),e},n.vectorToWorldFrame=function(t,e,i){return t.vmult(e,i),i},n.vectorToLocalFrame=function(t,e,o,n){return n=n||new i,e.w*=-1,e.vmult(o,n),e.w*=-1,n}},{"./Quaternion":30,"./Vec3":32}],32:[function(t,e){e.exports=o;var i=t("./Mat3");function o(t,e,i){this.x=t||0,this.y=e||0,this.z=i||0}o.ZERO=new o(0,0,0),o.UNIT_X=new o(1,0,0),o.UNIT_Y=new o(0,1,0),o.UNIT_Z=new o(0,0,1),o.prototype.cross=function(t,e){var i=t.x,n=t.y,r=t.z,s=this.x,a=this.y,l=this.z;return(e=e||new o).x=a*r-l*n,e.y=l*i-s*r,e.z=s*n-a*i,e},o.prototype.set=function(t,e,i){return this.x=t,this.y=e,this.z=i,this},o.prototype.setZero=function(){this.x=this.y=this.z=0},o.prototype.vadd=function(t,e){if(!e)return new o(this.x+t.x,this.y+t.y,this.z+t.z);e.x=t.x+this.x,e.y=t.y+this.y,e.z=t.z+this.z},o.prototype.vsub=function(t,e){if(!e)return new o(this.x-t.x,this.y-t.y,this.z-t.z);e.x=this.x-t.x,e.y=this.y-t.y,e.z=this.z-t.z},o.prototype.crossmat=function(){return new i([0,-this.z,this.y,this.z,0,-this.x,-this.y,this.x,0])},o.prototype.normalize=function(){var t=this.x,e=this.y,i=this.z,o=Math.sqrt(t*t+e*e+i*i);if(o>0){var n=1/o;this.x*=n,this.y*=n,this.z*=n}else this.x=0,this.y=0,this.z=0;return o},o.prototype.unit=function(t){t=t||new o;var e=this.x,i=this.y,n=this.z,r=Math.sqrt(e*e+i*i+n*n);return r>0?(r=1/r,t.x=e*r,t.y=i*r,t.z=n*r):(t.x=1,t.y=0,t.z=0),t},o.prototype.norm=function(){var t=this.x,e=this.y,i=this.z;return Math.sqrt(t*t+e*e+i*i)},o.prototype.length=o.prototype.norm,o.prototype.norm2=function(){return this.dot(this)},o.prototype.lengthSquared=o.prototype.norm2,o.prototype.distanceTo=function(t){var e=this.x,i=this.y,o=this.z,n=t.x,r=t.y,s=t.z;return Math.sqrt((n-e)*(n-e)+(r-i)*(r-i)+(s-o)*(s-o))},o.prototype.distanceSquared=function(t){var e=this.x,i=this.y,o=this.z,n=t.x,r=t.y,s=t.z;return(n-e)*(n-e)+(r-i)*(r-i)+(s-o)*(s-o)},o.prototype.mult=function(t,e){e=e||new o;var i=this.x,n=this.y,r=this.z;return e.x=t*i,e.y=t*n,e.z=t*r,e},o.prototype.vmul=function(t,e){return(e=e||new o).x=t.x*this.x,e.y=t.y*this.y,e.z=t.z*this.z,e},o.prototype.scale=o.prototype.mult,o.prototype.addScaledVector=function(t,e,i){return(i=i||new o).x=this.x+t*e.x,i.y=this.y+t*e.y,i.z=this.z+t*e.z,i},o.prototype.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z},o.prototype.isZero=function(){return 0===this.x&&0===this.y&&0===this.z},o.prototype.negate=function(t){return(t=t||new o).x=-this.x,t.y=-this.y,t.z=-this.z,t};var n=new o,r=new o;o.prototype.tangents=function(t,e){var i=this.norm();if(i>0){var o=n,s=1/i;o.set(this.x*s,this.y*s,this.z*s);var a=r;Math.abs(o.x)<.9?(a.set(1,0,0),o.cross(a,t)):(a.set(0,1,0),o.cross(a,t)),o.cross(t,e)}else t.set(1,0,0),e.set(0,1,0)},o.prototype.toString=function(){return this.x+","+this.y+","+this.z},o.prototype.toArray=function(){return[this.x,this.y,this.z]},o.prototype.copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},o.prototype.lerp=function(t,e,i){var o=this.x,n=this.y,r=this.z;i.x=o+(t.x-o)*e,i.y=n+(t.y-n)*e,i.z=r+(t.z-r)*e},o.prototype.almostEquals=function(t,e){return void 0===e&&(e=1e-6),!(Math.abs(this.x-t.x)>e||Math.abs(this.y-t.y)>e||Math.abs(this.z-t.z)>e)},o.prototype.almostZero=function(t){return void 0===t&&(t=1e-6),!(Math.abs(this.x)>t||Math.abs(this.y)>t||Math.abs(this.z)>t)};var s=new o;o.prototype.isAntiparallelTo=function(t,e){return this.negate(s),s.almostEquals(t,e)},o.prototype.clone=function(){return new o(this.x,this.y,this.z)}},{"./Mat3":29}],33:[function(t,e){e.exports=h;var i=t("../utils/EventTarget"),o=(t("../shapes/Shape"),t("../math/Vec3")),n=t("../math/Mat3"),r=t("../math/Quaternion"),s=(t("../material/Material"),t("../collision/AABB")),a=t("../shapes/Box"),l=t("../world/World");function h(t){t=t||{},i.apply(this),this.id=h.idCounter++,this.world=null,this.preStep=null,this.postStep=null,this.vlambda=new o,this.collisionFilterGroup="number"==typeof t.collisionFilterGroup?t.collisionFilterGroup:1,this.collisionFilterMask="number"==typeof t.collisionFilterMask?t.collisionFilterMask:-1,this.collisionResponse=!0,this.position=new o,this.previousPosition=new o,this.interpolatedPosition=new o,this.initPosition=new o,t.position&&(this.position.copy(t.position),this.previousPosition.copy(t.position),this.interpolatedPosition.copy(t.position),this.initPosition.copy(t.position)),this.velocity=new o,t.velocity&&this.velocity.copy(t.velocity),this.initVelocity=new o,this.force=new o;var e="number"==typeof t.mass?t.mass:0;this.mass=e,this.invMass=e>0?1/e:0,this.material=t.material||null,this.linearDamping="number"==typeof t.linearDamping?t.linearDamping:.01,this.type=e<=0?h.STATIC:h.DYNAMIC,typeof t.type==typeof h.STATIC&&(this.type=t.type),this.allowSleep=void 0===t.allowSleep||t.allowSleep,this.sleepState=0,this.sleepSpeedLimit=void 0!==t.sleepSpeedLimit?t.sleepSpeedLimit:.1,this.sleepTimeLimit=void 0!==t.sleepTimeLimit?t.sleepTimeLimit:1,this.timeLastSleepy=0,this._wakeUpAfterNarrowphase=!1,this.torque=new o,this.quaternion=new r,this.initQuaternion=new r,this.previousQuaternion=new r,this.interpolatedQuaternion=new r,t.quaternion&&(this.quaternion.copy(t.quaternion),this.initQuaternion.copy(t.quaternion),this.previousQuaternion.copy(t.quaternion),this.interpolatedQuaternion.copy(t.quaternion)),this.angularVelocity=new o,t.angularVelocity&&this.angularVelocity.copy(t.angularVelocity),this.initAngularVelocity=new o,this.shapes=[],this.shapeOffsets=[],this.shapeOrientations=[],this.inertia=new o,this.invInertia=new o,this.invInertiaWorld=new n,this.invMassSolve=0,this.invInertiaSolve=new o,this.invInertiaWorldSolve=new n,this.fixedRotation=void 0!==t.fixedRotation&&t.fixedRotation,this.useGravity=!0,this.angularDamping=void 0!==t.angularDamping?t.angularDamping:.01,this.linearFactor=new o(1,1,1),t.linearFactor&&this.linearFactor.copy(t.linearFactor),this.angularFactor=new o(1,1,1),t.angularFactor&&this.angularFactor.copy(t.angularFactor),this.aabb=new s,this.aabbNeedsUpdate=!0,this.boundingRadius=0,this.wlambda=new o,t.shape&&this.addShape(t.shape),this.hasTrigger=!0,this.updateMassProperties()}h.prototype=new i,h.prototype.constructor=h,h.COLLIDE_EVENT_NAME="collide",h.DYNAMIC=1,h.STATIC=2,h.KINEMATIC=4,h.AWAKE=0,h.SLEEPY=1,h.SLEEPING=2,h.idCounter=0,h.wakeupEvent={type:"wakeup"},h.prototype.wakeUp=function(){l.SLEEPING=!1;var t=this.sleepState;this.sleepState=0,this._wakeUpAfterNarrowphase=!1,t===h.SLEEPING&&this.dispatchEvent(h.wakeupEvent)},h.prototype.sleep=function(){this.sleepState=h.SLEEPING,this.velocity.set(0,0,0),this.angularVelocity.set(0,0,0),this._wakeUpAfterNarrowphase=!1},h.sleepyEvent={type:"sleepy"},h.sleepEvent={type:"sleep"},h.prototype.sleepTick=function(t){if(this.allowSleep){var e=this.sleepState,i=this.velocity.norm2()+this.angularVelocity.norm2(),o=Math.pow(this.sleepSpeedLimit,2);e===h.AWAKE&&io?this.wakeUp():e===h.SLEEPY&&t-this.timeLastSleepy>this.sleepTimeLimit&&(this.sleep(),this.dispatchEvent(h.sleepEvent))}},h.prototype.updateSolveMassProperties=function(){this.sleepState===h.SLEEPING||this.type===h.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve.setZero(),this.invInertiaWorldSolve.setZero()):(this.invMassSolve=this.invMass,this.invInertiaSolve.copy(this.invInertia),this.invInertiaWorldSolve.copy(this.invInertiaWorld))},h.prototype.pointToLocalFrame=function(t,e){return e=e||new o,t.vsub(this.position,e),this.quaternion.conjugate().vmult(e,e),e},h.prototype.vectorToLocalFrame=function(t,e){return e=e||new o,this.quaternion.conjugate().vmult(t,e),e},h.prototype.pointToWorldFrame=function(t,e){return e=e||new o,this.quaternion.vmult(t,e),e.vadd(this.position,e),e},h.prototype.vectorToWorldFrame=function(t,e){return e=e||new o,this.quaternion.vmult(t,e),e};var c=new o,p=new r;h.prototype.addShape=function(t,e,i){var n=new o,s=new r;return e&&n.copy(e),i&&s.copy(i),this.shapes.push(t),this.shapeOffsets.push(n),this.shapeOrientations.push(s),this.aabbNeedsUpdate=!0,this.updateMassProperties(),this.updateBoundingRadius(),this.updateHasTrigger(),l.idToShapeMap[t.id]=t,t.body=this,this},h.prototype.removeShape=function(t){var e=this.shapes.indexOf(t);-1!==e&&(this.shapes.splice(e,1),this.shapeOffsets.splice(e,1),this.shapeOrientations.splice(e,1),this.aabbNeedsUpdate=!0,this.updateMassProperties(),this.updateBoundingRadius(),this.updateHasTrigger())},h.prototype.updateBoundingRadius=function(){for(var t=this.shapes,e=this.shapeOffsets,i=t.length,o=0,n=0;n!==i;n++){var r=t[n];r.updateBoundingSphereRadius();var s=e[n].norm(),a=r.boundingSphereRadius;s+a>o&&(o=s+a)}this.boundingRadius=o};var u=new s;h.prototype.computeAABB=function(){for(var t=this.shapes,e=this.shapeOffsets,i=this.shapeOrientations,o=t.length,n=c,r=p,s=this.quaternion,a=this.aabb,l=u,h=0;h!==o;h++){var d=t[h];s.vmult(e[h],n),n.vadd(this.position,n),i[h].mult(s,r),d.calculateWorldAABB(n,r,l.lowerBound,l.upperBound),0===h?a.copy(l):a.extend(l)}this.aabbNeedsUpdate=!1};var d=new n,y=new n;new n,h.prototype.updateInertiaWorld=function(t){var e=this.invInertia;if(e.x!==e.y||e.y!==e.z||t){var i=d,o=y;i.setRotationFromQuaternion(this.quaternion),i.transpose(o),i.scale(e,i),i.mmult(o,this.invInertiaWorld)}},new o;var f=new o;h.prototype.applyForce=function(t,e){if(this.type===h.DYNAMIC){var i=f;e.cross(t,i),this.force.vadd(t,this.force),this.torque.vadd(i,this.torque)}};var v=new o,m=new o;h.prototype.applyLocalForce=function(t,e){if(this.type===h.DYNAMIC){var i=v,o=m;this.vectorToWorldFrame(t,i),this.vectorToWorldFrame(e,o),this.applyForce(i,o)}},new o;var g=new o,b=new o;h.prototype.applyImpulse=function(t,e){if(this.type===h.DYNAMIC){var i=e,o=g;o.copy(t),o.mult(this.invMass,o),this.velocity.vadd(o,this.velocity);var n=b;i.cross(t,n),this.invInertiaWorld.vmult(n,n),this.angularVelocity.vadd(n,this.angularVelocity)}};var w=new o,x=new o;h.prototype.applyLocalImpulse=function(t,e){if(this.type===h.DYNAMIC){var i=w,o=x;this.vectorToWorldFrame(t,i),this.vectorToWorldFrame(e,o),this.applyImpulse(i,o)}};var _=new o;h.prototype.updateMassProperties=function(){var t=_;this.invMass=this.mass>0?1/this.mass:0;var e=this.inertia,i=this.fixedRotation;this.computeAABB(),t.set((this.aabb.upperBound.x-this.aabb.lowerBound.x)/2,(this.aabb.upperBound.y-this.aabb.lowerBound.y)/2,(this.aabb.upperBound.z-this.aabb.lowerBound.z)/2),a.calculateInertia(t,this.mass,e),this.invInertia.set(e.x>0&&!i?1/e.x:0,e.y>0&&!i?1/e.y:0,e.z>0&&!i?1/e.z:0),this.updateInertiaWorld(!0)},h.prototype.getVelocityAtWorldPoint=function(t,e){var i=new o;return t.vsub(this.position,i),this.angularVelocity.cross(i,e),this.velocity.vadd(e,e),e},new o,new o,new r,new r,h.prototype.integrate=function(t,e,i){if(this.previousPosition.copy(this.position),this.previousQuaternion.copy(this.quaternion),(this.type===h.DYNAMIC||this.type===h.KINEMATIC)&&this.sleepState!==h.SLEEPING){var o=this.velocity,n=this.angularVelocity,r=this.position,s=this.force,a=this.torque,l=this.quaternion,c=this.invMass,p=this.invInertiaWorld,u=this.linearFactor,d=c*t;o.x+=s.x*d*u.x,o.y+=s.y*d*u.y,o.z+=s.z*d*u.z;var y=p.elements,f=this.angularFactor,v=a.x*f.x,m=a.y*f.y,g=a.z*f.z;n.x+=t*(y[0]*v+y[1]*m+y[2]*g),n.y+=t*(y[3]*v+y[4]*m+y[5]*g),n.z+=t*(y[6]*v+y[7]*m+y[8]*g),r.x+=o.x*t,r.y+=o.y*t,r.z+=o.z*t,l.integrate(this.angularVelocity,t,this.angularFactor,l),e&&(i?l.normalizeFast():l.normalize()),this.aabbNeedsUpdate=!0,this.updateInertiaWorld()}},h.prototype.isSleeping=function(){return this.sleepState===h.SLEEPING},h.prototype.isSleepy=function(){return this.sleepState===h.SLEEPY},h.prototype.isAwake=function(){return this.sleepState===h.AWAKE},h.prototype.updateHasTrigger=function(){for(var t=this.shapes.length;t--&&(this.hasTrigger=!this.shapes[t].collisionResponse,!this.hasTrigger););}},{"../collision/AABB":3,"../material/Material":26,"../math/Mat3":29,"../math/Quaternion":30,"../math/Vec3":32,"../shapes/Box":39,"../shapes/Shape":45,"../utils/EventTarget":51,"../world/World":58}],34:[function(t,e){t("./Body");var i=t("../math/Vec3"),o=t("../math/Quaternion"),n=(t("../collision/RaycastResult"),t("../collision/Ray")),r=t("../objects/WheelInfo");function s(t){this.chassisBody=t.chassisBody,this.wheelInfos=[],this.sliding=!1,this.world=null,this.indexRightAxis=void 0!==t.indexRightAxis?t.indexRightAxis:1,this.indexForwardAxis=void 0!==t.indexForwardAxis?t.indexForwardAxis:0,this.indexUpAxis=void 0!==t.indexUpAxis?t.indexUpAxis:2}e.exports=s,new i,new i,new i;var a=new i,l=new i,h=new i;new n,s.prototype.addWheel=function(t){var e=new r(t=t||{}),i=this.wheelInfos.length;return this.wheelInfos.push(e),i},s.prototype.setSteeringValue=function(t,e){this.wheelInfos[e].steering=t},new i,s.prototype.applyEngineForce=function(t,e){this.wheelInfos[e].engineForce=t},s.prototype.setBrake=function(t,e){this.wheelInfos[e].brake=t},s.prototype.addToWorld=function(t){this.constraints,t.addBody(this.chassisBody);var e=this;this.preStepCallback=function(){e.updateVehicle(t.dt)},t.addEventListener("preStep",this.preStepCallback),this.world=t},s.prototype.getVehicleAxisWorld=function(t,e){e.set(0===t?1:0,1===t?1:0,2===t?1:0),this.chassisBody.vectorToWorldFrame(e,e)},s.prototype.updateVehicle=function(t){for(var e=this.wheelInfos,o=e.length,n=this.chassisBody,r=0;rd.maxSuspensionForce&&(h=d.maxSuspensionForce),d.raycastResult.hitNormalWorld.scale(h*t,a),d.raycastResult.hitPointWorld.vsub(n.position,l),n.applyImpulse(a,l)}this.updateFriction(t);var c=new i,p=new i,u=new i;for(r=0;r0?1:-1)*d.customSlidingRotationalSpeed*t),Math.abs(d.brake)>Math.abs(d.engineForce)&&(d.deltaRotation=0),d.rotation+=d.deltaRotation,d.deltaRotation*=.99}},s.prototype.updateSuspension=function(){for(var t=this.chassisBody.mass,e=this.wheelInfos,i=e.length,o=0;of&&(t.suspensionLength=f,t.raycastResult.reset());var v=t.raycastResult.hitNormalWorld.dot(t.directionWorld),m=new i;n.getVelocityAtWorldPoint(t.raycastResult.hitPointWorld,m);var g=t.raycastResult.hitNormalWorld.dot(m);if(v>=-.1)t.suspensionRelativeVelocity=0,t.clippedInvContactDotSuspension=10;else{var b=-1/v;t.suspensionRelativeVelocity=g*b,t.clippedInvContactDotSuspension=b}}else t.suspensionLength=t.suspensionRestLength+0*t.maxSuspensionTravel,t.suspensionRelativeVelocity=0,t.directionWorld.scale(-1,t.raycastResult.hitNormalWorld),t.clippedInvContactDotSuspension=1;return r},s.prototype.updateWheelTransformWorld=function(t){t.isInContact=!1;var e=this.chassisBody;e.pointToWorldFrame(t.chassisConnectionPointLocal,t.chassisConnectionPointWorld),e.vectorToWorldFrame(t.directionLocal,t.directionWorld),e.vectorToWorldFrame(t.axleLocal,t.axleWorld)},s.prototype.updateWheelTransform=function(t){var e=a,i=l,n=h,r=this.wheelInfos[t];this.updateWheelTransformWorld(r),r.directionLocal.scale(-1,e),i.copy(r.axleLocal),e.cross(i,n),n.normalize(),i.normalize();var s=r.steering,c=new o;c.setFromAxisAngle(e,s);var p=new o;p.setFromAxisAngle(i,r.rotation);var u=r.worldTransform.quaternion;this.chassisBody.quaternion.mult(c,u),u.mult(p,u),u.normalize();var d=r.worldTransform.position;d.copy(r.directionWorld),d.scale(r.suspensionLength,d),d.vadd(r.chassisConnectionPointWorld,d)};var u=[new i(1,0,0),new i(0,1,0),new i(0,0,1)];s.prototype.getWheelTransformWorld=function(t){return this.wheelInfos[t].worldTransform};var d=new i,y=[],f=[];s.prototype.updateFriction=function(t){for(var e=d,o=this.wheelInfos,n=o.length,r=this.chassisBody,s=f,a=y,l=0;l_&&(this.sliding=!0,M.sliding=!0,w=x/Math.sqrt(E),M.skidInfo*=w)}}if(this.sliding)for(l=0;l1.1)return 0;var r=E,s=M,a=C;return t.getVelocityAtWorldPoint(e,r),i.getVelocityAtWorldPoint(o,s),r.vsub(s,a),-.2*n.dot(a)*(1/(t.invMass+i.invMass))}},{"../collision/Ray":10,"../collision/RaycastResult":11,"../math/Quaternion":30,"../math/Vec3":32,"../objects/WheelInfo":38,"./Body":33}],35:[function(t,e){var i=t("./Body"),o=t("../shapes/Sphere"),n=t("../shapes/Box"),r=t("../math/Vec3"),s=t("../constraints/HingeConstraint"),a=t("../math/CMath");function l(t){if(this.wheelBodies=[],this.coordinateSystem=void 0===t.coordinateSystem?new r(1,2,3):t.coordinateSystem.clone(),this.chassisBody=t.chassisBody,!this.chassisBody){var e=new n(new r(5,2,.5));this.chassisBody=new i(1,e)}this.constraints=[],this.wheelAxes=[],this.wheelForces=[]}e.exports=l,l.prototype.addWheel=function(t){var e=(t=t||{}).body;e||(e=new i(1,new o(1.2))),this.wheelBodies.push(e),this.wheelForces.push(0),new r;var n=void 0!==t.position?t.position.clone():new r,a=new r;this.chassisBody.pointToWorldFrame(n,a),e.position.set(a.x,a.y,a.z);var l=void 0!==t.axis?t.axis.clone():new r(0,1,0);this.wheelAxes.push(l);var h=new s(this.chassisBody,e,{pivotA:n,axisA:l,pivotB:r.ZERO,axisB:l,collideConnected:!1});return this.constraints.push(h),this.wheelBodies.length-1},l.prototype.setSteeringValue=function(t,e){var i=this.wheelAxes[e],o=a.cos(t),n=a.sin(t),r=i.x,s=i.y;this.constraints[e].axisA.set(o*r-n*s,n*r+o*s,0)},l.prototype.setMotorSpeed=function(t,e){var i=this.constraints[e];i.enableMotor(),i.motorTargetVelocity=t},l.prototype.disableMotor=function(t){this.constraints[t].disableMotor()};var h=new r;l.prototype.setWheelForce=function(t,e){this.wheelForces[e]=t},l.prototype.applyWheelForce=function(t,e){var i=this.wheelAxes[e],o=this.wheelBodies[e],n=o.torque;i.scale(t,h),o.vectorToWorldFrame(h,h),n.vadd(h,n)},l.prototype.addToWorld=function(t){for(var e=this.constraints,i=this.wheelBodies.concat([this.chassisBody]),o=0;othis.particles.length&&this.neighbors.pop())};var n=new i;o.prototype.getNeighbors=function(t,e){for(var i=this.particles.length,o=t.id,r=this.smoothingRadius*this.smoothingRadius,s=n,a=0;a!==i;a++){var l=this.particles[a];l.position.vsub(t.position,s),o!==l.id&&s.norm2()=-.1)this.suspensionRelativeVelocity=0,this.clippedInvContactDotSuspension=10;else{var n=-1/i;this.suspensionRelativeVelocity=o*n,this.clippedInvContactDotSuspension=n}}else e.suspensionLength=this.suspensionRestLength,this.suspensionRelativeVelocity=0,e.directionWorld.scale(-1,e.hitNormalWorld),this.clippedInvContactDotSuspension=1}},{"../collision/RaycastResult":11,"../math/Transform":31,"../math/Vec3":32,"../utils/Utils":55}],39:[function(t,e){e.exports=r;var i=t("./Shape"),o=t("../math/Vec3"),n=t("./ConvexPolyhedron");function r(t){i.call(this,{type:i.types.BOX}),this.halfExtents=t,this.convexPolyhedronRepresentation=null,this.updateConvexPolyhedronRepresentation(),this.updateBoundingSphereRadius()}r.prototype=new i,r.prototype.constructor=r,r.prototype.updateConvexPolyhedronRepresentation=function(){var t=this.halfExtents.x,e=this.halfExtents.y,i=this.halfExtents.z,r=o,s=[new r(-t,-e,-i),new r(t,-e,-i),new r(t,e,-i),new r(-t,e,-i),new r(-t,-e,i),new r(t,-e,i),new r(t,e,i),new r(-t,e,i)],a=(new r(0,0,1),new r(0,1,0),new r(1,0,0),new n(s,[[3,2,1,0],[4,5,6,7],[5,4,0,1],[2,3,7,6],[0,4,7,3],[1,2,6,5]]));this.convexPolyhedronRepresentation=a,a.material=this.material},r.prototype.calculateLocalInertia=function(t,e){return e=e||new o,r.calculateInertia(this.halfExtents,t,e),e},r.calculateInertia=function(t,e,i){var o=t;o.isZero()?(i.x=2/12*e,i.y=2/12*e,i.z=2/12*e):(i.x=1/12*e*(4*o.y*o.y+4*o.z*o.z),i.y=1/12*e*(4*o.x*o.x+4*o.z*o.z),i.z=1/12*e*(4*o.y*o.y+4*o.x*o.x))},r.prototype.getSideNormals=function(t,e){var i=t,o=this.halfExtents;if(i[0].set(o.x,0,0),i[1].set(0,o.y,0),i[2].set(0,0,o.z),i[3].set(-o.x,0,0),i[4].set(0,-o.y,0),i[5].set(0,0,-o.z),void 0!==e)for(var n=0;n!==i.length;n++)e.vmult(i[n],i[n]);return i},r.prototype.volume=function(){return 8*this.halfExtents.x*this.halfExtents.y*this.halfExtents.z},r.prototype.updateBoundingSphereRadius=function(){this.boundingSphereRadius=this.halfExtents.norm()};var s=new o;new o,r.prototype.forEachWorldCorner=function(t,e,i){for(var o=this.halfExtents,n=[[o.x,o.y,o.z],[-o.x,o.y,o.z],[-o.x,-o.y,o.z],[-o.x,-o.y,-o.z],[o.x,-o.y,-o.z],[o.x,o.y,-o.z],[-o.x,o.y,-o.z],[o.x,-o.y,o.z]],r=0;ro.x&&(o.x=l),h>o.y&&(o.y=h),c>o.z&&(o.z=c),ld&&(d=f,u=y)}for(var v=[],m=i.faces[u],g=m.length,b=0;b=0&&this.clipFaceAgainstHull(s,t,e,v,a,l,c)};var c=new o,p=new o,u=new o,d=new o,y=new o,f=new o;r.prototype.findSeparatingAxis=function(t,e,i,o,n,r,s,a){var l=c,h=p,v=u,m=d,g=y,b=f,w=Number.MAX_VALUE;if(this.uniqueAxes)for(_=0;_!==this.uniqueAxes.length;_++){if(i.vmult(this.uniqueAxes[_],l),!1===(E=this.testSepAxis(l,t,e,i,o,n)))return!1;E0&&r.negate(r),!0};var v=[],m=[];r.prototype.testSepAxis=function(t,e,i,o,n,s){r.project(this,t,i,o,v),r.project(e,t,n,s,m);var a=v[0],l=v[1],h=m[0],c=m[1];if(ae.x&&(e.x=r.x),r.ye.y&&(e.y=r.y),r.ze.z&&(e.z=r.z)}},r.prototype.computeWorldFaceNormals=function(t){for(var e=this.faceNormals.length;this.worldFaceNormals.lengtht&&(t=n)}this.boundingSphereRadius=Math.sqrt(t)};var A=new o;r.prototype.calculateWorldAABB=function(t,e,i,o){for(var n,r,s,a,l,h,c=this.vertices.length,p=this.vertices,u=0;ua||void 0===a)&&(a=d.x),(d.yl||void 0===l)&&(l=d.y),(d.zh||void 0===h)&&(h=d.z)}i.set(n,r,s),o.set(a,l,h)},r.prototype.volume=function(){return 4*Math.PI*this.boundingSphereRadius/3},r.prototype.getAveragePointLocal=function(t){t=t||new o;for(var e=this.vertices.length,i=this.vertices,n=0;n0||c>0&&u<0)return!1}return-1},new o;var T=new o,P=new o;r.project=function(t,e,i,o,r){var s=t.vertices.length,a=T,l=0,h=0,c=P,p=t.vertices;c.setZero(),n.vectorToLocalFrame(i,o,e,a),n.pointToLocalFrame(i,o,c,c);var u=c.dot(a);h=l=p[0].dot(a);for(var d=1;dl&&(l=y),y(l-=u)){var f=h;h=l,l=f}r[0]=l,r[1]=h}},{"../math/Quaternion":30,"../math/Transform":31,"../math/Vec3":32,"./Shape":45}],41:[function(t,e){e.exports=r,t("./Shape");var i=t("../math/Vec3"),o=(t("../math/Quaternion"),t("./ConvexPolyhedron")),n=t("../math/CMath");function r(t,e,r,s,a){if(a){for(var l=s,h=n.cos,c=n.sin,p=r/2,u=[],d=[],y=[0],f=[1],v=[],m=2*Math.PI/l,g=0;ge&&(e=n)}this.maxValue=e},s.prototype.setHeightValueAtIndex=function(t,e,i){this.data[t][e]=i,this.clearCachedConvexTrianglePillar(t,e,!1),t>0&&(this.clearCachedConvexTrianglePillar(t-1,e,!0),this.clearCachedConvexTrianglePillar(t-1,e,!1)),e>0&&(this.clearCachedConvexTrianglePillar(t,e-1,!0),this.clearCachedConvexTrianglePillar(t,e-1,!1)),e>0&&t>0&&this.clearCachedConvexTrianglePillar(t-1,e-1,!0)},s.prototype.getRectMinMax=function(t,e,i,o,n){n=n||[];for(var r=this.data,s=this.minValue,a=t;a<=i;a++)for(var l=e;l<=o;l++){var h=r[a][l];h>s&&(s=h)}n[0]=this.minValue,n[1]=s},s.prototype.getIndexOfPosition=function(t,e,i,o){var n=this.elementSize,r=this.data,s=Math.floor(t/n),a=Math.floor(e/n);return i[0]=s,i[1]=a,o&&(s<0&&(s=0),a<0&&(a=0),s>=r.length-1&&(s=r.length-1),a>=r[0].length-1&&(a=r[0].length-1)),!(s<0||a<0||s>=r.length-1||a>=r[0].length-1)};var a=[],l=new n,h=new n,c=new n,p=new n;s.prototype.getTriangleAt=function(t,e,i,o,n,r){var s=a;this.getIndexOfPosition(t,e,s,i);var l=s[0],h=s[1],c=this.data;i&&(l=Math.min(c.length-2,Math.max(0,l)),h=Math.min(c[0].length-2,Math.max(0,h)));var p=this.elementSize,u=Math.pow(t/p-l,2)+Math.pow(e/p-h,2)>Math.pow(t/p-(l+1),2)+Math.pow(e/p-(h+1),2);return this.getTriangle(l,h,u,o,n,r),u};var u=new n,d=new n,y=new n,f=new n,v=new n;function m(t,e,i,o,n,r,s,a,l){l.x=((r-a)*(t-s)+(s-n)*(e-a))/((r-a)*(i-s)+(s-n)*(o-a)),l.y=((a-o)*(t-s)+(i-s)*(e-a))/((r-a)*(i-s)+(s-n)*(o-a)),l.z=1-l.x-l.y}s.prototype.getNormalAt=function(t,e,i,o){var n=u,r=d,s=y,a=f,l=v;this.getTriangleAt(t,e,i,n,r,s),r.vsub(n,a),s.vsub(n,l),a.cross(l,o),o.normalize()},s.prototype.getAabbAtIndex=function(t,e,i){var o=this.data,n=this.elementSize;i.lowerBound.set(t*n,e*n,o[t][e]),i.upperBound.set((t+1)*n,(e+1)*n,o[t+1][e+1])},s.prototype.getHeightAt=function(t,e,i){var o=this.data,n=h,r=c,s=p,u=a;this.getIndexOfPosition(t,e,u,i);var d=u[0],y=u[1];i&&(d=Math.min(o.length-2,Math.max(0,d)),y=Math.min(o[0].length-2,Math.max(0,y)));var f=this.getTriangleAt(t,e,i,n,r,s);m(t,e,n.x,n.y,r.x,r.y,s.x,s.y,l);var v=l;return f?o[d+1][y+1]*v.x+o[d][y+1]*v.y+o[d+1][y]*v.z:o[d][y]*v.x+o[d+1][y]*v.y+o[d][y+1]*v.z},s.prototype.getCacheConvexTrianglePillarKey=function(t,e,i){return t+"_"+e+"_"+(i?1:0)},s.prototype.getCachedConvexTrianglePillar=function(t,e,i){return this._cachedPillars[this.getCacheConvexTrianglePillarKey(t,e,i)]},s.prototype.setCachedConvexTrianglePillar=function(t,e,i,o,n){this._cachedPillars[this.getCacheConvexTrianglePillarKey(t,e,i)]={convex:o,offset:n}},s.prototype.clearCachedConvexTrianglePillar=function(t,e,i){delete this._cachedPillars[this.getCacheConvexTrianglePillarKey(t,e,i)]},s.prototype.getTriangle=function(t,e,i,o,n,r){var s=this.data,a=this.elementSize;i?(o.set((t+1)*a,(e+1)*a,s[t+1][e+1]),n.set(t*a,(e+1)*a,s[t][e+1]),r.set((t+1)*a,e*a,s[t+1][e])):(o.set(t*a,e*a,s[t][e]),n.set((t+1)*a,e*a,s[t+1][e]),r.set(t*a,(e+1)*a,s[t][e+1]))},s.prototype.getConvexTrianglePillar=function(t,e,i){var r=this.pillarConvex,s=this.pillarOffset;if(this.cacheEnabled){if(a=this.getCachedConvexTrianglePillar(t,e,i))return this.pillarConvex=a.convex,void(this.pillarOffset=a.offset);r=new o,s=new n,this.pillarConvex=r,this.pillarOffset=s}var a=this.data,l=this.elementSize,h=r.faces;r.vertices.length=6;for(var c=0;c<6;c++)r.vertices[c]||(r.vertices[c]=new n);for(h.length=5,c=0;c<5;c++)h[c]||(h[c]=[]);var p=r.vertices,u=(Math.min(a[t][e],a[t+1][e],a[t][e+1],a[t+1][e+1])-this.minValue)/2+this.minValue;i?(s.set((t+.75)*l,(e+.75)*l,u),p[0].set(.25*l,.25*l,a[t+1][e+1]-u),p[1].set(-.75*l,.25*l,a[t][e+1]-u),p[2].set(.25*l,-.75*l,a[t+1][e]-u),p[3].set(.25*l,.25*l,-u-1),p[4].set(-.75*l,.25*l,-u-1),p[5].set(.25*l,-.75*l,-u-1),h[0][0]=0,h[0][1]=1,h[0][2]=2,h[1][0]=5,h[1][1]=4,h[1][2]=3,h[2][0]=2,h[2][1]=5,h[2][2]=3,h[2][3]=0,h[3][0]=3,h[3][1]=4,h[3][2]=1,h[3][3]=0,h[4][0]=1,h[4][1]=4,h[4][2]=5,h[4][3]=2):(s.set((t+.25)*l,(e+.25)*l,u),p[0].set(-.25*l,-.25*l,a[t][e]-u),p[1].set(.75*l,-.25*l,a[t+1][e]-u),p[2].set(-.25*l,.75*l,a[t][e+1]-u),p[3].set(-.25*l,-.25*l,-u-1),p[4].set(.75*l,-.25*l,-u-1),p[5].set(-.25*l,.75*l,-u-1),h[0][0]=0,h[0][1]=1,h[0][2]=2,h[1][0]=5,h[1][1]=4,h[1][2]=3,h[2][0]=0,h[2][1]=2,h[2][2]=5,h[2][3]=3,h[3][0]=1,h[3][1]=0,h[3][2]=3,h[3][3]=4,h[4][0]=4,h[4][1]=5,h[4][2]=2,h[4][3]=1),r.computeNormals(),r.computeEdges(),r.updateBoundingSphereRadius(),this.setCachedConvexTrianglePillar(t,e,i,r,s)},s.prototype.calculateLocalInertia=function(t,e){return(e=e||new n).set(0,0,0),e},s.prototype.volume=function(){return Number.MAX_VALUE},s.prototype.calculateWorldAABB=function(t,e,i,o){i.set(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE),o.set(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE)},s.prototype.updateBoundingSphereRadius=function(){var t=this.data,e=this.elementSize;this.boundingSphereRadius=new n(t.length*e,t[0].length*e,Math.max(Math.abs(this.maxValue),Math.abs(this.minValue))).norm()},s.prototype.setHeightsFromImage=function(t,e){var i=document.createElement("canvas");i.width=t.width,i.height=t.height;var o=i.getContext("2d");o.drawImage(t,0,0);var n=o.getImageData(0,0,t.width,t.height),r=this.data;r.length=0,this.elementSize=Math.abs(e.x)/n.width;for(var s=0;si.x&&(i.x=n.x),n.yi.y&&(i.y=n.y),n.zi.z&&(i.z=n.z)},l.prototype.updateAABB=function(){this.computeLocalAABB(this.aabb)},l.prototype.updateBoundingSphereRadius=function(){for(var t=0,e=this.vertices,i=new o,n=0,r=e.length/3;n!==r;n++){this.getVertex(n,i);var s=i.norm2();s>t&&(t=s)}this.boundingSphereRadius=Math.sqrt(t)},new o;var w=new n,x=new r;l.prototype.calculateWorldAABB=function(t,e,i,o){var n=w,r=x;n.position=t,n.quaternion=e,this.aabb.toWorldFrame(n,r),i.copy(r.lowerBound),o.copy(r.upperBound)},l.prototype.volume=function(){return 4*Math.PI*this.boundingSphereRadius/3},l.createTorus=function(t,e,i,o,n){t=t||1,e=e||.5,i=i||8,o=o||6,n=n||2*Math.PI;for(var r=[],s=[],h=0;h<=i;h++)for(var c=0;c<=o;c++){var p=c/o*n,u=h/i*Math.PI*2,d=(t+e*a.cos(u))*a.cos(p),y=(t+e*a.cos(u))*a.sin(p),f=e*a.sin(u);r.push(d,y,f)}for(h=1;h<=i;h++)for(c=1;c<=o;c++){var v=(o+1)*h+c-1,m=(o+1)*(h-1)+c-1,g=(o+1)*(h-1)+c,b=(o+1)*h+c;s.push(v,m,b),s.push(m,g,b)}return new l(r,s)}},{"../collision/AABB":3,"../math/CMath":27,"../math/Quaternion":30,"../math/Transform":31,"../math/Vec3":32,"../utils/Octree":52,"./Shape":45}],48:[function(t,e){e.exports=o,t("../math/Vec3"),t("../math/Quaternion");var i=t("./Solver");function o(){i.call(this),this.iterations=10,this.tolerance=1e-7}o.prototype=new i;var n=[],r=[],s=[];o.prototype.solve=function(t,e){var i,o,a,l,h,c=0,p=this.iterations,u=this.tolerance*this.tolerance,d=this.equations,y=d.length,f=e.bodies,v=f.length,m=t;if(0!==y)for(var g=0;g!==v;g++)f[g].updateSolveMassProperties();var b=r,w=s,x=n;for(b.length=y,w.length=y,x.length=y,g=0;g!==y;g++){var _=d[g];x[g]=0,w[g]=_.computeB(m),b[g]=1/_.computeC()}if(0!==y){for(g=0;g!==v;g++){var B=(M=f[g]).vlambda,S=M.wlambda;B.set(0,0,0),S.set(0,0,0)}for(c=0;c!==p;c++){l=0;for(var E=0;E!==y;E++)_=d[E],i=w[E],o=b[E],(h=x[E])+(a=o*(i-_.computeGWlambda()-_.eps*h))<_.minForce?a=_.minForce-h:h+a>_.maxForce&&(a=_.maxForce-h),x[E]+=a,l+=a>0?a:-a,_.addToWlambda(a);if(l*l=0;t--)this.children[t].removeEmptyNodes(),this.children[t].children.length||this.children[t].data.length||this.children.splice(t,1)}},{"../collision/AABB":3,"../math/Vec3":32}],53:[function(t,e){function i(){this.objects=[],this.type=Object}e.exports=i,i.prototype.release=function(){for(var t=arguments.length,e=0;e!==t;e++)this.objects.push(arguments[e]);return this},i.prototype.get=function(){return 0===this.objects.length?this.constructObject():this.objects.pop()},i.prototype.constructObject=function(){throw new Error("constructObject() not implemented in this Pool subclass yet!")},i.prototype.resize=function(t){for(var e=this.objects;e.length>t;)e.pop();for(;e.lengthe){var i=e;e=t,t=i}return this.data[t+"-"+e]},i.prototype.set=function(t,e,i){if(t>e){var o=e;e=t,t=o}var n=t+"-"+e;return this.get(t,e)||this.data.keys.push(n),this.data[n]=i,this.data[n]},i.prototype.del=function(t,e){if(t>e){var i=e;e=t,t=i}var o=t+"-"+e,n=this.data.keys.indexOf(o);return n>=0&&(this.data.keys.splice(n,1),delete this.data[o],!0)},i.prototype.reset=function(){this.data={keys:[]}},i.prototype.getLength=function(){return this.data.keys.length},i.prototype.getKeyByIndex=function(t){return this.data.keys[t]},i.prototype.getDataByKey=function(t){return this.data[t]}},{}],55:[function(t,e){function i(){}e.exports=i,i.defaults=function(t,e){for(var i in t=t||{},e)i in t||(t[i]=e[i]);return t}},{}],56:[function(t,e){e.exports=n;var i=t("../math/Vec3"),o=t("./Pool");function n(){o.call(this),this.type=i}n.prototype=new o,n.prototype.constructObject=function(){return new i}},{"../math/Vec3":32,"./Pool":53}],57:[function(t,e){e.exports=u;var i=t("../collision/AABB"),o=t("../objects/Body"),n=t("../shapes/Shape"),r=t("../collision/Ray"),s=t("../math/Vec3"),a=t("../math/Transform"),l=(t("../shapes/ConvexPolyhedron"),t("../math/Quaternion")),h=(t("../solver/Solver"),t("../utils/Vec3Pool")),c=t("../equations/ContactEquation"),p=t("../equations/FrictionEquation");function u(t){this.contactPointPool=[],this.frictionEquationPool=[],this.result=[],this.frictionResult=[],this.v3pool=new h,this.world=t,this.currentContactMaterial=null,this.enableFrictionReduction=!1}u.prototype.createContactEquation=function(t,e,i,o,n,r){var s;this.contactPointPool.length?((s=this.contactPointPool.pop()).bi=t,s.bj=e):s=new c(t,e),s.enabled=t.collisionResponse&&e.collisionResponse&&i.collisionResponse&&o.collisionResponse;var a=this.currentContactMaterial;s.restitution=a.restitution,s.setSpookParams(a.contactEquationStiffness,a.contactEquationRelaxation,this.world.dt);var l=i.material||t.material,h=o.material||e.material;return l&&h&&l.restitution>=0&&h.restitution>=0&&(s.restitution=l.restitution*h.restitution),s.si=n||i,s.sj=r||o,s},u.prototype.createFrictionEquationsFromContact=function(t,e){var i=t.bi,o=t.bj,n=t.si,r=t.sj,s=this.world,a=this.currentContactMaterial,l=a.friction,h=n.material||i.material,c=r.material||o.material;if(h&&c&&h.friction>=0&&c.friction>=0&&(l=h.friction*c.friction),l>0){var u=l*s.gravity.length(),d=i.invMass+o.invMass;d>0&&(d=1/d);var y=this.frictionEquationPool,f=y.length?y.pop():new p(i,o,u*d),v=y.length?y.pop():new p(i,o,u*d);return f.bi=v.bi=i,f.bj=v.bj=o,f.minForce=v.minForce=-u*d,f.maxForce=v.maxForce=u*d,f.ri.copy(t.ri),f.rj.copy(t.rj),v.ri.copy(t.ri),v.rj.copy(t.rj),t.ni.tangents(f.t,v.t),f.setSpookParams(a.frictionEquationStiffness,a.frictionEquationRelaxation,s.dt),v.setSpookParams(a.frictionEquationStiffness,a.frictionEquationRelaxation,s.dt),f.enabled=v.enabled=t.enabled,e.push(f,v),!0}return!1};var d=new s,y=new s,f=new s;u.prototype.createFrictionFromAverage=function(t){var e=this.result[this.result.length-1];if(this.createFrictionEquationsFromContact(e,this.frictionResult)&&1!==t){var i=this.frictionResult[this.frictionResult.length-2],o=this.frictionResult[this.frictionResult.length-1];d.setZero(),y.setZero(),f.setZero();for(var n=e.bi,r=(e.bj,0);r!==t;r++)(e=this.result[this.result.length-1-r]).bodyA!==n?(d.vadd(e.ni,d),y.vadd(e.ri,y),f.vadd(e.rj,f)):(d.vsub(e.ni,d),y.vadd(e.rj,y),f.vadd(e.ri,f));var s=1/t;y.scale(s,i.ri),f.scale(s,i.rj),o.ri.copy(i.ri),o.rj.copy(i.rj),d.normalize(),d.tangents(i.t,o.t)}};var v=new s,m=new s,g=new l,b=new l;u.prototype.getContacts=function(t,e,i,n,r,s,a){this.contactPointPool=r,this.frictionEquationPool=a,this.result=n,this.frictionResult=s;for(var l=g,h=b,c=v,p=m,u=0,d=t.length;u!==d;u++){var y=t[u],f=e[u],w=null;y.material&&f.material&&(w=i.getContactMaterial(y.material,f.material)||null);for(var x=0==y.collisionResponse||0==f.collisionResponse||y.type&o.KINEMATIC&&f.type&o.STATIC||y.type&o.STATIC&&f.type&o.KINEMATIC||y.type&o.KINEMATIC&&f.type&o.KINEMATIC,_=0;_B.boundingSphereRadius+E.boundingSphereRadius)){x|=0==B.collisionResponse||0==E.collisionResponse;var M=null;B.material&&E.material&&(M=i.getContactMaterial(B.material,E.material)||null),this.currentContactMaterial=M||w||i.defaultContactMaterial;var C=this[B.type|E.type];if(C&&(B.type0&&D<0&&(m.vsub(d,g),v.copy(f),v.normalize(),U=g.dot(v),v.scale(U,g),g.vadd(d,g),(Z=g.distanceTo(m))0&&!0===o||c<=0&&!1===o))return!1;null===o&&(o=c>0)}return!0}var K=new s,Q=new s,X=new s,Y=new s,Z=[new s,new s,new s,new s,new s,new s],J=new s,$=new s,tt=new s,et=new s;u.prototype[n.types.SPHERE|n.types.BOX]=u.prototype.sphereBox=function(t,e,i,o,n,r,s,a,l,h,c){var p=this.v3pool,u=Z;i.vsub(o,K),e.getSideNormals(u,r);for(var d=t.radius,y=!1,f=$,v=tt,m=et,g=null,b=0,w=0,x=0,_=null,B=0,S=u.length;B!==S&&!1===y;B++){var E=Q;E.copy(u[B]);var M=E.norm();E.normalize();var C=K.dot(E);if(C0){var A=X,z=Y;A.copy(u[(B+1)%3]),z.copy(u[(B+2)%3]);var F=A.norm(),R=z.norm();A.normalize(),z.normalize();var T=K.dot(A),P=K.dot(z);if(T-F&&P-R){var q=Math.abs(C-M-d);if((null===_||q<_)&&(_=q,w=T,x=P,g=M,f.copy(E),v.copy(A),m.copy(z),b++,c))return!0}}}if(b){y=!0;var O=this.createContactEquation(s,a,t,e,l,h);f.mult(-d,O.ri),O.ni.copy(f),O.ni.negate(O.ni),f.mult(g,f),v.mult(w,v),f.vadd(v,f),m.mult(x,m),f.vadd(m,O.rj),O.ri.vadd(i,O.ri),O.ri.vsub(s.position,O.ri),O.rj.vadd(o,O.rj),O.rj.vsub(a.position,O.rj),this.result.push(O),this.createFrictionEquationsFromContact(O,this.frictionResult)}for(var I=p.get(),V=J,j=0;2!==j&&!y;j++)for(var k=0;2!==k&&!y;k++)for(var N=0;2!==N&&!y;N++)if(I.set(0,0,0),j?I.vadd(u[0],I):I.vsub(u[0],I),k?I.vadd(u[1],I):I.vsub(u[1],I),N?I.vadd(u[2],I):I.vsub(u[2],I),o.vadd(I,V),V.vsub(i,V),V.norm2()0){for(var F=[],R=0,T=B.length;R!==T;R++){var P=p.get();r.vmult(y[B[R]],P),o.vadd(P,P),F.push(P)}if(H(F,S,i)){if(c)return!0;w=!0;var q=this.createContactEquation(s,a,t,e,l,h);S.mult(-f,q.ri),S.negate(q.ni);var O=p.get();S.mult(-A,O);var I=p.get();S.mult(-f,I),i.vsub(o,q.rj),q.rj.vadd(I,q.rj),q.rj.vadd(O,q.rj),q.rj.vadd(o,q.rj),q.rj.vsub(a.position,q.rj),q.ri.vadd(i,q.ri),q.ri.vsub(s.position,q.ri),p.release(O),p.release(I),this.result.push(q),this.createFrictionEquationsFromContact(q,this.frictionResult),R=0;for(var V=F.length;R!==V;R++)p.release(F[R]);return}for(R=0;R!==B.length;R++){var j=p.get(),k=p.get();r.vmult(y[B[(R+1)%B.length]],j),r.vmult(y[B[(R+2)%B.length]],k),o.vadd(j,j),o.vadd(k,k);var N=ot;k.vsub(j,N);var L=nt;N.unit(L);var W=p.get(),D=p.get();i.vsub(j,D);var U=D.dot(L);L.mult(U,W),W.vadd(j,W);var G=p.get();if(W.vsub(i,G),U>0&&U*Ut.boundingSphereRadius+e.boundingSphereRadius)&&t.findSeparatingAxis(e,i,n,o,r,d,p,u)){var y=[],f=mt;t.clipAgainstHull(i,n,e,o,r,d,-100,100,y);for(var v=0,m=0;m!==y.length;m++){if(c)return!0;var g=this.createContactEquation(s,a,t,e,l,h),b=g.ri,w=g.rj;d.negate(g.ni),y[m].normal.negate(f),f.mult(y[m].depth,f),y[m].point.vadd(f,b),w.copy(y[m].point),b.vsub(i,b),w.vsub(o,w),b.vadd(i,b),b.vsub(s.position,b),w.vadd(o,w),w.vsub(a.position,w),this.result.push(g),v++,this.enableFrictionReduction||this.createFrictionEquationsFromContact(g,this.frictionResult)}this.enableFrictionReduction&&v&&this.createFrictionFromAverage(v)}};var gt=new s,bt=new s,wt=new s;u.prototype[n.types.PLANE|n.types.PARTICLE]=u.prototype.planeParticle=function(t,e,i,o,n,r,s,a,l,h,c){var p=gt;p.set(0,0,1),s.quaternion.vmult(p,p);var u=bt;if(o.vsub(s.position,u),p.dot(u)<=0){if(c)return!0;var d=this.createContactEquation(a,s,e,t,l,h);d.ni.copy(p),d.ni.negate(d.ni),d.ri.set(0,0,0);var y=wt;p.mult(p.dot(o),y),o.vsub(y,y),d.rj.copy(y),this.result.push(d),this.createFrictionEquationsFromContact(d,this.frictionResult)}};var xt=new s;u.prototype[n.types.PARTICLE|n.types.SPHERE]=u.prototype.sphereParticle=function(t,e,i,o,n,r,s,a,l,h,c){var p=xt;if(p.set(0,0,1),o.vsub(i,p),p.norm2()<=t.radius*t.radius){if(c)return!0;var u=this.createContactEquation(a,s,e,t,l,h);p.normalize(),u.rj.copy(p),u.rj.mult(t.radius,u.rj),u.ni.copy(p),u.ni.negate(u.ni),u.ri.set(0,0,0),this.result.push(u),this.createFrictionEquationsFromContact(u,this.frictionResult)}};var _t=new l,Bt=new s,St=(new s,new s),Et=new s,Mt=new s;u.prototype[n.types.PARTICLE|n.types.CONVEXPOLYHEDRON]=u.prototype.convexParticle=function(t,e,i,o,n,r,s,a,l,h,c){var p=-1,u=St,d=Mt,y=null,f=Bt;if(f.copy(o),f.vsub(i,f),n.conjugate(_t),_t.vmult(f,f),t.pointIsInside(f)){t.worldVerticesNeedsUpdate&&t.computeWorldVertices(i,n),t.worldFaceNormalsNeedsUpdate&&t.computeWorldFaceNormals(n);for(var v=0,m=t.faces.length;v!==m;v++){var g=[t.worldVertices[t.faces[v][0]]],b=t.worldFaceNormals[v];o.vsub(g[0],Et);var w=-b.dot(Et);if(null===y||Math.abs(w)u.length||w>u[0].length)){g<0&&(g=0),b<0&&(b=0),w<0&&(w=0),x<0&&(x=0),g>=u.length&&(g=u.length-1),b>=u.length&&(b=u.length-1),x>=u[0].length&&(x=u[0].length-1),w>=u[0].length&&(w=u[0].length-1);var _=[];e.getRectMinMax(g,w,b,x,_);var B=_[0],S=_[1];if(!(m.z-y>S||m.z+yu.length||b>u[0].length)){m<0&&(m=0),g<0&&(g=0),b<0&&(b=0),w<0&&(w=0),m>=u.length&&(m=u.length-1),g>=u.length&&(g=u.length-1),w>=u[0].length&&(w=u[0].length-1),b>=u[0].length&&(b=u[0].length-1);var x=[];e.getRectMinMax(m,b,g,w,x);var _=x[0],B=x[1];if(!(v.z-d>B||v.z+d<_))for(var S=this.result,E=m;E2)return}}}},{"../collision/AABB":3,"../collision/Ray":10,"../equations/ContactEquation":20,"../equations/FrictionEquation":22,"../math/Quaternion":30,"../math/Transform":31,"../math/Vec3":32,"../objects/Body":33,"../shapes/ConvexPolyhedron":40,"../shapes/Shape":45,"../solver/Solver":49,"../utils/Vec3Pool":56}],58:[function(t,e){e.exports=g,t("../shapes/Shape");var i=t("../math/Vec3"),o=t("../math/Quaternion"),n=t("../solver/GSSolver"),r=(t("../equations/ContactEquation"),t("../equations/FrictionEquation"),t("./Narrowphase")),s=t("../utils/EventTarget"),a=t("../collision/ArrayCollisionMatrix"),l=t("../collision/ObjectCollisionMatrix"),h=t("../collision/OverlapKeeper"),c=t("../material/Material"),p=t("../material/ContactMaterial"),u=t("../objects/Body"),d=t("../utils/TupleDictionary"),y=t("../collision/RaycastResult"),f=t("../collision/AABB"),v=t("../collision/Ray"),m=t("../collision/NaiveBroadphase");function g(t){t=t||{},s.apply(this),this.dt=-1,this.allowSleep=!!t.allowSleep,this.contacts=[],this.frictionEquations=[],this.quatNormalizeSkip=void 0!==t.quatNormalizeSkip?t.quatNormalizeSkip:0,this.quatNormalizeFast=void 0!==t.quatNormalizeFast&&t.quatNormalizeFast,this.time=0,this.timeFixed=0,this.stepnumber=0,this.default_dt=1/60,this.nextId=0,this.gravity=new i,t.gravity&&this.gravity.copy(t.gravity),this.broadphase=void 0!==t.broadphase?t.broadphase:new m,this.bodies=[],this.solver=void 0!==t.solver?t.solver:new n,this.constraints=[],this.narrowphase=new r(this),this.collisionMatrix=new a,this.collisionMatrixPrevious=new a,this.bodyOverlapKeeper=new h,this.shapeOverlapKeeper=new h,this.materials=[],this.contactmaterials=[],this.contactMaterialTable=new d,this.defaultMaterial=new c("default"),this.defaultContactMaterial=new p(this.defaultMaterial,this.defaultMaterial,{friction:.3,restitution:0}),this.doProfiling=!1,this.profile={solve:0,makeContactConstraints:0,broadphase:0,integrate:0,narrowphase:0},this.accumulator=0,this.subsystems=[],this.addBodyEvent={type:"addBody",body:null},this.removeBodyEvent={type:"removeBody",body:null},this.idToBodyMap={},this.broadphase.setWorld(this),this.substeps=0,this.cm=new l,this.tm=new l,this.triggerDic=new d,this.oldTriggerDic=new d,this.contactsDic=new d,this.oldContactsDic=new d}g.idToBodyMap={},g.idToShapeMap={},g.prototype=new s,new f;var b=new v;if(g.prototype.getContactMaterial=function(t,e){return this.contactMaterialTable.get(t.id,e.id)},g.prototype.numObjects=function(){return this.bodies.length},g.prototype.collisionMatrixTick=function(){var t=this.collisionMatrixPrevious;this.collisionMatrixPrevious=this.collisionMatrix,this.collisionMatrix=t,this.collisionMatrix.reset(),this.bodyOverlapKeeper.tick(),this.shapeOverlapKeeper.tick()},g.prototype.add=g.prototype.addBody=function(t){g.SLEEPING=!1,-1===this.bodies.indexOf(t)&&(t.index=this.bodies.length,this.bodies.push(t),t.world=this,t.initPosition.copy(t.position),t.initVelocity.copy(t.velocity),t.timeLastSleepy=this.time,t instanceof u&&(t.initAngularVelocity.copy(t.angularVelocity),t.initQuaternion.copy(t.quaternion)),this.collisionMatrix.setNumObjects(this.bodies.length),this.addBodyEvent.body=t,this.cm.setNumObjects(this.bodies.length),g.idToBodyMap[t.id]=t,this.dispatchEvent(this.addBodyEvent))},g.prototype.addConstraint=function(t){g.SLEEPING=!1,this.constraints.push(t)},g.prototype.removeConstraint=function(t){g.SLEEPING=!1;var e=this.constraints.indexOf(t);-1!==e&&this.constraints.splice(e,1)},g.prototype.rayTest=function(t,e,i){i instanceof y?this.raycastClosest(t,e,{skipBackfaces:!0},i):this.raycastAll(t,e,{skipBackfaces:!0},i)},g.prototype.raycastAll=function(t,e,i,o){return i.mode=v.ALL,i.from=t,i.to=e,i.callback=o,b.intersectWorld(this,i)},g.prototype.raycastAny=function(t,e,i,o){return i.mode=v.ANY,i.from=t,i.to=e,i.result=o,b.intersectWorld(this,i)},g.prototype.raycastClosest=function(t,e,i,o){return i.mode=v.CLOSEST,i.from=t,i.to=e,i.result=o,b.intersectWorld(this,i)},g.prototype.remove=function(t){g.SLEEPING=!1,t.world=null;var e=this.bodies.length-1,i=this.bodies,o=i.indexOf(t);if(-1!==o){i.splice(o,1);for(var n=0;n!==i.length;n++)i[n].index=n;this.collisionMatrix.setNumObjects(e),this.removeBodyEvent.body=t,delete g.idToBodyMap[t.id],this.cm.setNumObjects(e),this.dispatchEvent(this.removeBodyEvent)}},g.prototype.removeBody=g.prototype.remove,g.prototype.getBodyById=function(t){return g.idToBodyMap[t]},g.prototype.getShapeById=function(t){return g.idToShapeMap[t]},g.prototype.addMaterial=function(t){this.materials.push(t)},g.prototype.addContactMaterial=function(t){this.contactmaterials.push(t),this.contactMaterialTable.set(t.materials[0].id,t.materials[1].id,t)},"undefined"==typeof performance&&(performance={}),!performance.now){var w=Date.now();performance.timing&&performance.timing.navigationStart&&(w=performance.timing.navigationStart),performance.now=function(){return Date.now()-w}}new i,g.prototype.step=function(t,e,i){if(i=i||10,0===(e=e||0))this.internalStep(t),this.time+=t,this.substeps=1;else{for(this.accumulator+=e,this.substeps=0;this.accumulator>=t&&this.substeps=0;S-=1)(L.bodyA===o[S]&&L.bodyB===n[S]||L.bodyB===o[S]&&L.bodyA===n[S])&&(o.splice(S,1),n.splice(S,1));this.collisionMatrixTick(),h&&(e=performance.now());var E=F,M=i.length;for(b=0;b!==M;b++)E.push(i[b]);i.length=0;var q=this.frictionEquations.length;for(b=0;b!==q;b++)y.push(this.frictionEquations[b]);if(this.frictionEquations.length=0,this.narrowphase.getContacts(o,n,this,i,E,this.frictionEquations,y),0!=i.length||!g.SLEEPING){for(h&&(c.narrowphase=performance.now()-e),h&&(e=performance.now()),b=0;b=0&&N.material.restitution>=0&&(L.restitution=k.material.restitution*N.material.restitution):V.material&&j.material&&V.material.restitution>=0&&j.material.restitution>=0&&(L.restitution=V.material.restitution*j.material.restitution),a.addEquation(L),V.allowSleep&&V.type===u.DYNAMIC&&V.sleepState===u.SLEEPING&&j.sleepState===u.AWAKE&&j.type!==u.STATIC&&j.velocity.norm2()+j.angularVelocity.norm2()>=2*Math.pow(j.sleepSpeedLimit,2)&&(V._wakeUpAfterNarrowphase=!0),j.allowSleep&&j.type===u.DYNAMIC&&j.sleepState===u.SLEEPING&&V.sleepState===u.AWAKE&&V.type!==u.STATIC&&V.velocity.norm2()+V.angularVelocity.norm2()>=2*Math.pow(V.sleepSpeedLimit,2)&&(j._wakeUpAfterNarrowphase=!0),this.collisionMatrix.set(V,j,!0),this.collisionMatrixPrevious.get(V,j)||(z.body=j,z.contact=L,V.dispatchEvent(z),z.body=V,j.dispatchEvent(z)),this.bodyOverlapKeeper.set(V.id,j.id),this.shapeOverlapKeeper.set(k.id,N.id)}for(this.emitContactEvents(),h&&(c.makeContactConstraints=performance.now()-e,e=performance.now()),b=0;b!==r;b++)(V=s[b])._wakeUpAfterNarrowphase&&(V.wakeUp(),V._wakeUpAfterNarrowphase=!1);for(B=d.length,b=0;b!==B;b++){var L;(L=d[b]).update(),S=0;for(var W=L.equations.length;S!==W;S++){var D=L.equations[S];a.addEquation(D)}}a.solve(t,this),h&&(c.solve=performance.now()-e),a.removeAllEquations();var U=Math.pow;for(b=0;b!==r;b++)if((V=s[b]).type&p){var G=U(1-V.linearDamping,t),H=V.velocity;H.mult(G,H);var K=V.angularVelocity;if(K){var Q=U(1-V.angularDamping,t);K.mult(Q,K)}}for(this.dispatchEvent(A),b=0;b!==r;b++)(V=s[b]).preStep&&V.preStep.call(V);h&&(e=performance.now());var X=this.stepnumber%(this.quatNormalizeSkip+1)==0,Y=this.quatNormalizeFast;for(b=0;b!==r;b++)s[b].integrate(t,X,Y);for(this.clearForces(),this.broadphase.dirty=!0,h&&(c.integrate=performance.now()-e),this.time+=t,this.timeFixed+=t,this.stepnumber+=1,this.dispatchEvent(C),b=0;b!==r;b++){var Z=(V=s[b]).postStep;Z&&Z.call(V)}if(this.allowSleep){for(b=0;b!==r;b++)s[b].sleepTick(this.time);for(g.SLEEPING=!0,b=0;b!==r;b++)if((V=s[b]).type!=u.STATIC&&!V.isSleeping()){g.SLEEPING=!1;break}}else g.SLEEPING=!1}},g.prototype.emitContactEvents=(x=[],_=[],B={type:"beginContact",bodyA:null,bodyB:null},S={type:"endContact",bodyA:null,bodyB:null},E={type:"beginShapeContact",bodyA:null,bodyB:null,shapeA:null,shapeB:null},M={type:"endShapeContact",bodyA:null,bodyB:null,shapeA:null,shapeB:null},function(){var t=this.hasAnyEventListener("beginContact"),e=this.hasAnyEventListener("endContact");if((t||e)&&this.bodyOverlapKeeper.getDiff(x,_),t){for(var i=0,o=x.length;i0;)i--,t=this.oldTriggerDic.getKeyByIndex(i),null==this.triggerDic.getDataByKey(t)&&null!=(e=this.oldTriggerDic.getDataByKey(t))&&(o=e.si,n=e.sj,this.tm.set(o,n,!1),this.oldTriggerDic.del(o.id,n.id)&&i--,q.event="onTriggerExit",q.selfShape=o,q.otherShape=n,q.selfBody=o.body,q.otherBody=n.body,o.dispatchEvent(q),q.selfShape=n,q.otherShape=o,q.selfBody=n.body,q.otherBody=o.body,n.dispatchEvent(q));this.triggerDic.reset()}},g.prototype.emitCollisionEvents=function(){if(0!=this.substeps){for(var t,e,i=this.contacts,o=this.contacts.length;o--;){var n=(c=i[o]).si,r=c.sj,s=this.contactsDic.get(n.id,r.id);null==s&&(s=this.contactsDic.set(n.id,r.id,[])),s.push(c)}for(o=this.contactsDic.getLength();o--;)if(t=this.contactsDic.getKeyByIndex(o),null!=(e=this.contactsDic.getDataByKey(t))){n=e[0].si,r=e[0].sj;var a=n.body,l=r.body;this.cm.get(a,l)?O.event="onCollisionStay":(this.cm.set(a,l,!0),O.event="onCollisionEnter"),O.bi=a,O.contact=e[0],O.contacts=e,O.body=l,O.selfShape=n,O.otherShape=r,a.dispatchEvent(O),O.body=a,O.selfShape=r,O.otherShape=n,l.dispatchEvent(O)}var h=I;for(o=h.length;o--;){var c;n=(c=h[o]).si,r=c.sj,null==this.oldContactsDic.get(n.id,r.id)&&this.oldContactsDic.set(n.id,r.id,c)}for(o=this.oldContactsDic.getLength();o--;)t=this.oldContactsDic.getKeyByIndex(o),null==this.contactsDic.getDataByKey(t)&&(n=(e=this.oldContactsDic.getDataByKey(t)).si,r=e.sj,a=n.body,l=r.body,this.cm.get(a,l)&&(a.isSleeping()&&l.isSleeping()||(this.cm.set(a,l,!1),O.bi=a,O.contact=e,O.event="onCollisionExit",O.body=l,O.selfShape=n,O.otherShape=r,O.contacts.length=0,O.contacts.push(e),a.dispatchEvent(O),O.body=a,O.selfShape=r,O.otherShape=n,l.dispatchEvent(O))));this.contactsDic.reset(),this.oldContactsDic.reset(),F=I,I=this.contacts.slice(),this.contacts.length=0}}},{"../collision/AABB":3,"../collision/ArrayCollisionMatrix":4,"../collision/NaiveBroadphase":7,"../collision/ObjectCollisionMatrix":8,"../collision/OverlapKeeper":9,"../collision/Ray":10,"../collision/RaycastResult":11,"../equations/ContactEquation":20,"../equations/FrictionEquation":22,"../material/ContactMaterial":25,"../material/Material":26,"../math/Quaternion":30,"../math/Vec3":32,"../objects/Body":33,"../shapes/Shape":45,"../solver/GSSolver":48,"../utils/EventTarget":51,"../utils/TupleDictionary":54,"./Narrowphase":57}]},{},[2])(2)})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[10,9]); \ No newline at end of file diff --git a/build/WaterControl/splash.85cfd.png b/build/WaterControl/splash.85cfd.png new file mode 100644 index 0000000..708c9eb Binary files /dev/null and b/build/WaterControl/splash.85cfd.png differ diff --git a/build/WaterControl/src/settings.f2e4a.js b/build/WaterControl/src/settings.f2e4a.js new file mode 100644 index 0000000..a997843 --- /dev/null +++ b/build/WaterControl/src/settings.f2e4a.js @@ -0,0 +1 @@ +window._CCSettings={platform:"web-mobile",groupList:["default"],collisionMatrix:[[true]],hasResourcesBundle:true,hasStartSceneBundle:false,remoteBundles:[],subpackages:[],launchScene:"db://assets/Scene/LoadScene.fire",orientation:"portrait",jsList:[],bundleVers:{resources:"8426e",internal:"d17e2",main:"3d892"}}; \ No newline at end of file diff --git a/build/WaterControl/style-desktop.dfd76.css b/build/WaterControl/style-desktop.dfd76.css new file mode 100644 index 0000000..7187649 --- /dev/null +++ b/build/WaterControl/style-desktop.dfd76.css @@ -0,0 +1,116 @@ +body { + cursor: default; + padding: 0; + border: 0; + margin: 0; + + text-align: center; + background-color: white; + font-family: Helvetica, Verdana, Arial, sans-serif; +} + +body, canvas, div { + outline: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + -khtml-user-select: none; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +/* Remove spin of input type number */ +input::-webkit-outer-spin-button, +input::-webkit-inner-spin-button { + /* display: none; <- Crashes Chrome on hover */ + -webkit-appearance: none; + margin: 0; /* <-- Apparently some margin are still there even though it's hidden */ +} + +#Cocos2dGameContainer { + position: absolute; + margin: 0; + overflow: hidden; + left: 0px; + top: 0px; +} + +canvas { + background-color: rgba(0, 0, 0, 0); +} + +a:link, a:visited { + color: #000; +} + +a:active, a:hover { + color: #666; +} + +p.header { + font-size: small; +} + +p.footer { + font-size: x-small; +} + +#splash { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + + background: #171717 url(./splash.85cfd.png) no-repeat center; + background-size: 350px; +} + +.progress-bar { + background-color: #1a1a1a; + position: absolute; + left: 50%; + top: 80%; + height: 5px; + width: 300px; + margin: 0 -150px; + border-radius: 5px; + box-shadow: 0 1px 5px #000 inset, 0 1px 0 #444; +} + +.progress-bar span { + display: block; + height: 100%; + border-radius: 5px; + box-shadow: 0 1px 0 rgba(255, 255, 255, .5) inset; + transition: width .4s ease-in-out; + background-color: #3dc5de; +} + +.stripes span { + background-size: 30px 30px; + background-image: linear-gradient(135deg, rgba(255, 255, 255, .15) 25%, transparent 25%, + transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, + transparent 75%, transparent); + + animation: animate-stripes 1s linear infinite; +} + +@keyframes animate-stripes { + 0% {background-position: 0 0;} 100% {background-position: 60px 0;} +} + +h1 { + color: #444; + text-shadow: 3px 3px 15px; +} + +#GameDiv { + width: 800px; + height: 450px; + margin: 0 auto; + background: black; + position: relative; + border: 3px solid black; + border-radius: 6px; + box-shadow: 0 5px 40px #333 +} diff --git a/build/WaterControl/style-mobile.6e9cd.css b/build/WaterControl/style-mobile.6e9cd.css new file mode 100644 index 0000000..8e0fe7f --- /dev/null +++ b/build/WaterControl/style-mobile.6e9cd.css @@ -0,0 +1,124 @@ +html { + -ms-touch-action: none; +} + +body, canvas, div { + display: block; + outline: none; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + + user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + -khtml-user-select: none; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +/* Remove spin of input type number */ +input::-webkit-outer-spin-button, +input::-webkit-inner-spin-button { + /* display: none; <- Crashes Chrome on hover */ + -webkit-appearance: none; + margin: 0; /* <-- Apparently some margin are still there even though it's hidden */ +} + +body { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + padding: 0; + border: 0; + margin: 0; + + cursor: default; + color: #888; + background-color: #333; + + text-align: center; + font-family: Helvetica, Verdana, Arial, sans-serif; + + display: flex; + flex-direction: column; + + /* fix bug: https://github.com/cocos-creator/2d-tasks/issues/791 */ + /* overflow cannot be applied in Cocos2dGameContainer, + otherwise child elements will be hidden when Cocos2dGameContainer rotated 90 deg */ + overflow: hidden; +} + +#Cocos2dGameContainer { + position: absolute; + margin: 0; + left: 0px; + top: 0px; + + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: center; + -webkit-box-pack: center; +} + +canvas { + background-color: rgba(0, 0, 0, 0); +} + +a:link, a:visited { + color: #666; +} + +a:active, a:hover { + color: #666; +} + +p.header { + font-size: small; +} + +p.footer { + font-size: x-small; +} + +#splash { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #171717 url(./splash.85cfd.png) no-repeat center; + background-size: 45%; +} + +.progress-bar { + position: absolute; + left: 27.5%; + top: 80%; + height: 3px; + padding: 2px; + width: 45%; + border-radius: 7px; + box-shadow: 0 1px 5px #000 inset, 0 1px 0 #444; +} + +.progress-bar span { + display: block; + height: 100%; + border-radius: 3px; + transition: width .4s ease-in-out; + background-color: #3dc5de; +} + +.stripes span { + background-size: 30px 30px; + background-image: linear-gradient(135deg, rgba(255, 255, 255, .15) 25%, transparent 25%, + transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, + transparent 75%, transparent); + + animation: animate-stripes 1s linear infinite; +} + +@keyframes animate-stripes { + 0% {background-position: 0 0;} 100% {background-position: 60px 0;} +} diff --git a/library/imports/02/02faa74f-fcb3-4c62-9ad7-c5bdabcd2a0a.json b/library/imports/02/02faa74f-fcb3-4c62-9ad7-c5bdabcd2a0a.json index 55bdbed..fe8d3dc 100644 --- a/library/imports/02/02faa74f-fcb3-4c62-9ad7-c5bdabcd2a0a.json +++ b/library/imports/02/02faa74f-fcb3-4c62-9ad7-c5bdabcd2a0a.json @@ -5,8 +5,8 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 295, - 295, + 1514, + 309, 96, 96 ], diff --git a/library/imports/07/07fa5951-49b1-4fa4-8667-27999003939a.json b/library/imports/07/07fa5951-49b1-4fa4-8667-27999003939a.json index 3f4bd51..cf75589 100644 --- a/library/imports/07/07fa5951-49b1-4fa4-8667-27999003939a.json +++ b/library/imports/07/07fa5951-49b1-4fa4-8667-27999003939a.json @@ -5,8 +5,8 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 321, - 197, + 1514, + 211, 96, 96 ], diff --git a/library/imports/08/089e5dee-caa2-4903-bba8-1371afcc55d7.json b/library/imports/08/089e5dee-caa2-4903-bba8-1371afcc55d7.json new file mode 100644 index 0000000..83415b4 --- /dev/null +++ b/library/imports/08/089e5dee-caa2-4903-bba8-1371afcc55d7.json @@ -0,0 +1,28 @@ +{ + "__type__": "cc.SpriteFrame", + "content": { + "name": "chehui", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", + "rect": [ + 1013, + 341, + 72, + 72 + ], + "offset": [ + 0, + 0 + ], + "originalSize": [ + 72, + 72 + ], + "capInsets": [ + 0, + 0, + 0, + 0 + ] + } +} \ No newline at end of file diff --git a/library/imports/12/12878a32-a063-42b4-b233-9e419054c084.json b/library/imports/12/12878a32-a063-42b4-b233-9e419054c084.json new file mode 100644 index 0000000..b192975 --- /dev/null +++ b/library/imports/12/12878a32-a063-42b4-b233-9e419054c084.json @@ -0,0 +1,28 @@ +{ + "__type__": "cc.SpriteFrame", + "content": { + "name": "progressBg", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", + "rect": [ + 753, + 140, + 500, + 18 + ], + "offset": [ + 0, + 0 + ], + "originalSize": [ + 500, + 18 + ], + "capInsets": [ + 0, + 0, + 0, + 0 + ] + } +} \ No newline at end of file diff --git a/library/imports/a6/a6bbf444-2576-4c4c-a579-8d6fdcd5f724.json b/library/imports/13/1337f623-c519-41bc-9b89-40e37366041f.json similarity index 51% rename from library/imports/a6/a6bbf444-2576-4c4c-a579-8d6fdcd5f724.json rename to library/imports/13/1337f623-c519-41bc-9b89-40e37366041f.json index 990b959..a590908 100644 --- a/library/imports/a6/a6bbf444-2576-4c4c-a579-8d6fdcd5f724.json +++ b/library/imports/13/1337f623-c519-41bc-9b89-40e37366041f.json @@ -1,22 +1,22 @@ { "__type__": "cc.SpriteFrame", "content": { - "name": "vertical_wave", - "texture": "c2027677-6969-4f9d-a273-2828f1d3048c", - "atlas": "", + "name": "up", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 0, - 0, - 24, - 138 + 1005, + 420, + 84, + 84 ], "offset": [ 0, 0 ], "originalSize": [ - 24, - 138 + 84, + 84 ], "capInsets": [ 0, diff --git a/library/imports/15/153f1f33-91bf-4f36-a33f-f042a187c02e.json b/library/imports/15/153f1f33-91bf-4f36-a33f-f042a187c02e.json index 7f6d1cd..3307dde 100644 --- a/library/imports/15/153f1f33-91bf-4f36-a33f-f042a187c02e.json +++ b/library/imports/15/153f1f33-91bf-4f36-a33f-f042a187c02e.json @@ -5,8 +5,8 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 99, - 149, + 1194, + 160, 24, 138 ], diff --git a/library/imports/16/161fc949-beff-4d21-bc00-3f6d4b5bf8cf.json b/library/imports/16/161fc949-beff-4d21-bc00-3f6d4b5bf8cf.json index c15a559..bf3cbb0 100644 --- a/library/imports/16/161fc949-beff-4d21-bc00-3f6d4b5bf8cf.json +++ b/library/imports/16/161fc949-beff-4d21-bc00-3f6d4b5bf8cf.json @@ -5,7 +5,7 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 517, + 1710, 197, 96, 96 diff --git a/library/imports/1b/1b0a613a-1291-468a-9bae-538cd32610e5.json b/library/imports/1b/1b0a613a-1291-468a-9bae-538cd32610e5.json index 931adc6..a62873c 100644 --- a/library/imports/1b/1b0a613a-1291-468a-9bae-538cd32610e5.json +++ b/library/imports/1b/1b0a613a-1291-468a-9bae-538cd32610e5.json @@ -5,8 +5,8 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 615, - 197, + 99, + 469, 35, 96 ], @@ -18,6 +18,7 @@ 35, 96 ], + "rotated": 1, "capInsets": [ 0, 0, diff --git a/library/imports/24/24a982e4-dd9b-402a-b7e3-99604269ab75.json b/library/imports/24/24a982e4-dd9b-402a-b7e3-99604269ab75.json index 78f5861..c5beb3f 100644 --- a/library/imports/24/24a982e4-dd9b-402a-b7e3-99604269ab75.json +++ b/library/imports/24/24a982e4-dd9b-402a-b7e3-99604269ab75.json @@ -5,8 +5,8 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 491, - 393, + 1612, + 401, 96, 96 ], diff --git a/library/imports/29/29f62c24-67af-4b1b-b3cc-584a5c91ff2c.json b/library/imports/29/29f62c24-67af-4b1b-b3cc-584a5c91ff2c.json index 7cbd5f8..bdbed76 100644 --- a/library/imports/29/29f62c24-67af-4b1b-b3cc-584a5c91ff2c.json +++ b/library/imports/29/29f62c24-67af-4b1b-b3cc-584a5c91ff2c.json @@ -5,8 +5,8 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 345, - 1, + 1318, + 133, 96, 96 ], diff --git a/library/imports/2b/2baf15e3-231e-4851-9681-6d910da26990.json b/library/imports/2b/2baf15e3-231e-4851-9681-6d910da26990.json index d05feb2..5fd7e86 100644 --- a/library/imports/2b/2baf15e3-231e-4851-9681-6d910da26990.json +++ b/library/imports/2b/2baf15e3-231e-4851-9681-6d910da26990.json @@ -5,8 +5,8 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 223, - 197, + 1416, + 231, 96, 96 ], diff --git a/library/imports/2e/2e46ecc1-2d69-4152-8e31-4b41cbfc7c58.json b/library/imports/2e/2e46ecc1-2d69-4152-8e31-4b41cbfc7c58.json index dc891c9..0b33a77 100644 --- a/library/imports/2e/2e46ecc1-2d69-4152-8e31-4b41cbfc7c58.json +++ b/library/imports/2e/2e46ecc1-2d69-4152-8e31-4b41cbfc7c58.json @@ -5,7 +5,7 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 393, + 1808, 295, 96, 96 diff --git a/library/imports/2e/2ea9f5b0-2ba0-4c1c-a891-76ee23e107dc.json b/library/imports/2e/2ea9f5b0-2ba0-4c1c-a891-76ee23e107dc.json index 01baa31..3a169ba 100644 --- a/library/imports/2e/2ea9f5b0-2ba0-4c1c-a891-76ee23e107dc.json +++ b/library/imports/2e/2ea9f5b0-2ba0-4c1c-a891-76ee23e107dc.json @@ -5,8 +5,8 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 589, - 295, + 1710, + 393, 96, 96 ], diff --git a/library/imports/2f/2f298196-7f29-49e9-b4ad-5eff919e844b.json b/library/imports/2f/2f298196-7f29-49e9-b4ad-5eff919e844b.json index 1ac2d0e..f38d28a 100644 --- a/library/imports/2f/2f298196-7f29-49e9-b4ad-5eff919e844b.json +++ b/library/imports/2f/2f298196-7f29-49e9-b4ad-5eff919e844b.json @@ -5,7 +5,7 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 247, + 1886, 1, 96, 96 diff --git a/library/imports/35/359e8c8b-2bf5-4e8e-b90e-a7654f81f2f9.json b/library/imports/35/359e8c8b-2bf5-4e8e-b90e-a7654f81f2f9.json new file mode 100644 index 0000000..93fa4a2 --- /dev/null +++ b/library/imports/35/359e8c8b-2bf5-4e8e-b90e-a7654f81f2f9.json @@ -0,0 +1,28 @@ +{ + "__type__": "cc.SpriteFrame", + "content": { + "name": "rankBtn", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", + "rect": [ + 1488, + 9, + 102, + 102 + ], + "offset": [ + 0, + 0 + ], + "originalSize": [ + 102, + 102 + ], + "capInsets": [ + 0, + 0, + 0, + 0 + ] + } +} \ No newline at end of file diff --git a/library/imports/36/362b68b6-68cd-4d41-a7f3-9ccf65481660.json b/library/imports/36/362b68b6-68cd-4d41-a7f3-9ccf65481660.json new file mode 100644 index 0000000..4716355 --- /dev/null +++ b/library/imports/36/362b68b6-68cd-4d41-a7f3-9ccf65481660.json @@ -0,0 +1,28 @@ +{ + "__type__": "cc.SpriteFrame", + "content": { + "name": "build", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", + "rect": [ + 1268, + 71, + 218, + 60 + ], + "offset": [ + 0, + 0 + ], + "originalSize": [ + 218, + 60 + ], + "capInsets": [ + 0, + 0, + 0, + 0 + ] + } +} \ No newline at end of file diff --git a/library/imports/3d/3dd7e558-3aa4-4532-bbba-dab95a545c39.json b/library/imports/3d/3dd7e558-3aa4-4532-bbba-dab95a545c39.json new file mode 100644 index 0000000..5bc6d4f --- /dev/null +++ b/library/imports/3d/3dd7e558-3aa4-4532-bbba-dab95a545c39.json @@ -0,0 +1,28 @@ +{ + "__type__": "cc.SpriteFrame", + "content": { + "name": "begin", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", + "rect": [ + 1268, + 9, + 218, + 60 + ], + "offset": [ + 0, + 0 + ], + "originalSize": [ + 218, + 60 + ], + "capInsets": [ + 0, + 0, + 0, + 0 + ] + } +} \ No newline at end of file diff --git a/library/imports/44/44b01cef-9743-4335-ba0a-e94013b44962.json b/library/imports/44/44b01cef-9743-4335-ba0a-e94013b44962.json index cf0ba97..ec23ef5 100644 --- a/library/imports/44/44b01cef-9743-4335-ba0a-e94013b44962.json +++ b/library/imports/44/44b01cef-9743-4335-ba0a-e94013b44962.json @@ -5,8 +5,8 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 125, - 197, + 1318, + 231, 96, 96 ], diff --git a/library/imports/47/47657f05-243e-4f2a-a32d-200631f1c252.json b/library/imports/47/47657f05-243e-4f2a-a32d-200631f1c252.json index 1d28eb5..22b6b0c 100644 --- a/library/imports/47/47657f05-243e-4f2a-a32d-200631f1c252.json +++ b/library/imports/47/47657f05-243e-4f2a-a32d-200631f1c252.json @@ -36,8 +36,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 106, - "height": 98 + "width": 46, + "height": 46 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -55,8 +55,8 @@ 0, 0, 1, - 0.5, - 0.5, + 1, + 1, 0 ] }, @@ -89,7 +89,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "6b009d51-7e95-45c5-b483-f2948213f8b6" + "__uuid__": "86453b08-c95d-4dd7-be39-d7d97e3f93db" }, "_type": 0, "_sizeMode": 1, @@ -102,7 +102,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "" }, { diff --git a/library/imports/4c/4cb4f3da-0231-462a-893e-a90b00089fdb.json b/library/imports/4c/4cb4f3da-0231-462a-893e-a90b00089fdb.json index 00784a1..67aa26d 100644 --- a/library/imports/4c/4cb4f3da-0231-462a-893e-a90b00089fdb.json +++ b/library/imports/4c/4cb4f3da-0231-462a-893e-a90b00089fdb.json @@ -5,8 +5,8 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 295, - 393, + 1612, + 303, 96, 96 ], diff --git a/library/imports/4e/4eaf518b-35ec-4262-928d-4d497c3f2830.json b/library/imports/4e/4eaf518b-35ec-4262-928d-4d497c3f2830.json index 1bb192d..de0b7e7 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__": 90 + "__id__": 107 }, { - "__id__": 91 + "__id__": 108 } ], "_prefab": null, @@ -243,37 +243,31 @@ "__id__": 6 }, { - "__id__": 9 + "__id__": 8 }, { - "__id__": 11 + "__id__": 10 }, { - "__id__": 13 + "__id__": 72 }, { - "__id__": 68 + "__id__": 92 }, { - "__id__": 69 + "__id__": 93 }, { - "__id__": 73 - }, - { - "__id__": 78 - }, - { - "__id__": 83 + "__id__": 101 } ], "_active": true, "_components": [ { - "__id__": 88 + "__id__": 105 }, { - "__id__": 89 + "__id__": 106 } ], "_prefab": null, @@ -336,9 +330,6 @@ "_components": [ { "__id__": 7 - }, - { - "__id__": 8 } ], "_prefab": null, @@ -365,7 +356,7 @@ "ctor": "Float64Array", "array": [ 0, - -163, + 0, 0, 0, 0, @@ -405,7 +396,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "57395957-a96b-4a27-8e2a-696e24d876a2" + "__uuid__": "75ac69d4-fee8-4af1-b32c-4c8fab0b6f7b" }, "_type": 0, "_sizeMode": 1, @@ -421,122 +412,6 @@ "_atlas": null, "_id": "a7G3fclnNGYZw1JYGBEqqT" }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 6 - }, - "_enabled": true, - "alignMode": 1, - "_target": null, - "_alignFlags": 1, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_verticalCenter": 0, - "_horizontalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 0, - "_originalHeight": 0, - "_id": "09dO2/INxCTpBHqQOmB0wt" - }, - { - "__type__": "cc.Node", - "_name": "Top", - "_objFlags": 0, - "_parent": { - "__id__": 5 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 10 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 0, - "height": 0 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 667, - 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": "cfD+6eekJE44Ilk2xG5ORu" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 9 - }, - "_enabled": true, - "alignMode": 1, - "_target": null, - "_alignFlags": 1, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_verticalCenter": 0, - "_horizontalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 0, - "_originalHeight": 0, - "_id": "5cAl+uVM5GTKUsLlsyFnpY" - }, { "__type__": "cc.Node", "_name": "Map", @@ -548,7 +423,7 @@ "_active": true, "_components": [ { - "__id__": 12 + "__id__": 9 } ], "_prefab": null, @@ -575,14 +450,14 @@ "ctor": "Float64Array", "array": [ 0, - 195.736, + 128, 0, 0, 0, 0, 1, - 1, - 1, + 1.2, + 1.2, 1 ] }, @@ -604,7 +479,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 11 + "__id__": 8 }, "_enabled": true, "_id": "50KCMOG4tFJYPBI6jue4rZ" @@ -618,43 +493,67 @@ }, "_children": [ { - "__id__": 14 + "__id__": 11 }, { - "__id__": 16 + "__id__": 13 }, { - "__id__": 20 + "__id__": 15 }, { - "__id__": 24 + "__id__": 19 }, { - "__id__": 28 + "__id__": 23 }, { - "__id__": 32 + "__id__": 27 }, { - "__id__": 34 + "__id__": 31 }, { - "__id__": 42 + "__id__": 33 + }, + { + "__id__": 35 + }, + { + "__id__": 40 + }, + { + "__id__": 45 }, { "__id__": 50 }, { - "__id__": 58 + "__id__": 55 + }, + { + "__id__": 60 + }, + { + "__id__": 62 + }, + { + "__id__": 64 + }, + { + "__id__": 66 + }, + { + "__id__": 68 } ], "_active": true, "_components": [ { - "__id__": 66 + "__id__": 70 }, { - "__id__": 67 + "__id__": 71 } ], "_prefab": null, @@ -681,7 +580,7 @@ "ctor": "Float64Array", "array": [ 0, - -448.797, + -492, 0, 0, 0, @@ -710,22 +609,22 @@ "_name": "bg", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [], "_active": true, "_components": [ { - "__id__": 15 + "__id__": 12 } ], "_prefab": null, "_opacity": 255, "_color": { "__type__": "cc.Color", - "r": 104, - "g": 100, - "b": 100, + "r": 255, + "g": 255, + "b": 255, "a": 255 }, "_contentSize": { @@ -772,7 +671,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 14 + "__id__": 11 }, "_enabled": true, "_materials": [ @@ -783,7 +682,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "a23235d1-15db-4b95-8439-a2e005bfff91" + "__uuid__": "bc10af6c-0a42-48e2-9e8a-95188e5eea79" }, "_type": 0, "_sizeMode": 0, @@ -796,24 +695,23 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "9fTltB0hVA9YZf97WA7rLt" }, { "__type__": "cc.Node", - "_name": "btn_Down", + "_name": "New Sprite", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [], "_active": true, "_components": [ { - "__id__": 17 - }, - { - "__id__": 18 + "__id__": 14 } ], "_prefab": null, @@ -827,8 +725,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 106, - "height": 98 + "width": 258, + "height": 258 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -839,8 +737,107 @@ "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - -198.914, - -118.68, + -216.426, + 75.521, + 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": "5agJBLqERGUIaYF4f7kXHR" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 13 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "72c340fd-ebeb-42ce-a81c-c493482efe7b" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "50HcqT4IJD8oiQr1ptibKm" + }, + { + "__type__": "cc.Node", + "_name": "btn_Down", + "_objFlags": 0, + "_parent": { + "__id__": 10 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 16 + }, + { + "__id__": 17 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 84, + "height": 84 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -217.617, + -4.266, 0, 0, 0, @@ -869,7 +866,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 16 + "__id__": 15 }, "_enabled": true, "_materials": [ @@ -880,7 +877,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "6b009d51-7e95-45c5-b483-f2948213f8b6" + "__uuid__": "fc9f379e-ab15-4792-adce-65600c4793c7" }, "_type": 0, "_sizeMode": 1, @@ -893,7 +890,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "71enP3yzVA5pKa6T8QBaK5" }, { @@ -901,7 +900,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 16 + "__id__": 15 }, "_enabled": true, "_normalMaterial": null, @@ -910,7 +909,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 19 + "__id__": 18 } ], "_N$interactable": true, @@ -966,14 +965,14 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 16 + "__id__": 15 }, "_id": "0491WV+UFBZrjsP6WrhGAi" }, { "__type__": "cc.ClickEvent", "target": { - "__id__": 13 + "__id__": 10 }, "component": "", "_componentId": "e35abcX5VRAoItO6mgFcYyX", @@ -985,16 +984,16 @@ "_name": "btn_Up", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [], "_active": true, "_components": [ { - "__id__": 21 + "__id__": 20 }, { - "__id__": 22 + "__id__": 21 } ], "_prefab": null, @@ -1008,8 +1007,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 106, - "height": 98 + "width": 84, + "height": 84 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1020,13 +1019,13 @@ "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - -200.586, - 115.337, + -219.289, + 155.813, + 0, 0, 0, 0, 1, - 6.123233995736766e-17, 1, 1, 0 @@ -1036,7 +1035,7 @@ "__type__": "cc.Vec3", "x": 0, "y": 0, - "z": 180 + "z": 0 }, "_skewX": 0, "_skewY": 0, @@ -1050,7 +1049,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 20 + "__id__": 19 }, "_enabled": true, "_materials": [ @@ -1061,7 +1060,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "6b009d51-7e95-45c5-b483-f2948213f8b6" + "__uuid__": "1337f623-c519-41bc-9b89-40e37366041f" }, "_type": 0, "_sizeMode": 1, @@ -1074,7 +1073,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "19nbeUc3lLyJ3PZmToqjqz" }, { @@ -1082,7 +1083,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 20 + "__id__": 19 }, "_enabled": true, "_normalMaterial": null, @@ -1091,7 +1092,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 23 + "__id__": 22 } ], "_N$interactable": true, @@ -1147,14 +1148,14 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 20 + "__id__": 19 }, "_id": "90O8q82QpGSI9IHuYe63gi" }, { "__type__": "cc.ClickEvent", "target": { - "__id__": 13 + "__id__": 10 }, "component": "", "_componentId": "e35abcX5VRAoItO6mgFcYyX", @@ -1166,16 +1167,16 @@ "_name": "btn_Left", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [], "_active": true, "_components": [ { - "__id__": 25 + "__id__": 24 }, { - "__id__": 26 + "__id__": 25 } ], "_prefab": null, @@ -1189,8 +1190,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 106, - "height": 98 + "width": 84, + "height": 84 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1201,13 +1202,13 @@ "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - -319.266, - 3.344, + -297.337, + 77.284, 0, 0, 0, - -0.7071067811865475, - 0.7071067811865476, + 0, + 1, 1, 1, 0 @@ -1217,7 +1218,7 @@ "__type__": "cc.Vec3", "x": 0, "y": 0, - "z": -90 + "z": 0 }, "_skewX": 0, "_skewY": 0, @@ -1231,7 +1232,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 24 + "__id__": 23 }, "_enabled": true, "_materials": [ @@ -1242,7 +1243,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "6b009d51-7e95-45c5-b483-f2948213f8b6" + "__uuid__": "dda83961-0246-4b58-82f5-cbc6af047e6e" }, "_type": 0, "_sizeMode": 1, @@ -1255,7 +1256,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "5ahwm15lBGP7DzFpADhLcv" }, { @@ -1263,7 +1266,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 24 + "__id__": 23 }, "_enabled": true, "_normalMaterial": null, @@ -1272,7 +1275,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 27 + "__id__": 26 } ], "_N$interactable": true, @@ -1328,14 +1331,14 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 24 + "__id__": 23 }, "_id": "dba6g/8+ZAYY/HXsqaok88" }, { "__type__": "cc.ClickEvent", "target": { - "__id__": 13 + "__id__": 10 }, "component": "", "_componentId": "e35abcX5VRAoItO6mgFcYyX", @@ -1347,16 +1350,16 @@ "_name": "btn_Right", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [], "_active": true, "_components": [ { - "__id__": 29 + "__id__": 28 }, { - "__id__": 30 + "__id__": 29 } ], "_prefab": null, @@ -1370,8 +1373,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 106, - "height": 98 + "width": 84, + "height": 84 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1382,13 +1385,13 @@ "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - -81.906, - 6.686, + -136.072, + 80.626, 0, 0, 0, - 0.7071067811865475, - 0.7071067811865476, + 0, + 1, 1, 1, 0 @@ -1398,7 +1401,7 @@ "__type__": "cc.Vec3", "x": 0, "y": 0, - "z": 90 + "z": 0 }, "_skewX": 0, "_skewY": 0, @@ -1412,7 +1415,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 28 + "__id__": 27 }, "_enabled": true, "_materials": [ @@ -1423,7 +1426,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "6b009d51-7e95-45c5-b483-f2948213f8b6" + "__uuid__": "cfa9cb38-5f6a-444a-b048-f064baeef016" }, "_type": 0, "_sizeMode": 1, @@ -1436,7 +1439,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "55hwNIC0FAtoOM+xjlIJxi" }, { @@ -1444,7 +1449,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 28 + "__id__": 27 }, "_enabled": true, "_normalMaterial": null, @@ -1453,7 +1458,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 31 + "__id__": 30 } ], "_N$interactable": true, @@ -1509,14 +1514,14 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 28 + "__id__": 27 }, "_id": "77GSic1LJClYWlIjUI5gy3" }, { "__type__": "cc.ClickEvent", "target": { - "__id__": 13 + "__id__": 10 }, "component": "", "_componentId": "e35abcX5VRAoItO6mgFcYyX", @@ -1525,31 +1530,127 @@ }, { "__type__": "cc.Node", - "_name": "show_Map", + "_name": "Line", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [], "_active": true, "_components": [ { - "__id__": 33 + "__id__": 32 } ], "_prefab": null, "_opacity": 255, "_color": { "__type__": "cc.Color", - "r": 248, - "g": 167, - "b": 167, + "r": 255, + "g": 255, + "b": 255, "a": 255 }, "_contentSize": { "__type__": "cc.Size", - "width": 350, - "height": 250 + "width": 412, + "height": 6 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 150.379, + 70.591, + 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": "608VUuiOlIeLwg48xKTJiR" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 31 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "d53a3565-f833-4261-9076-d48232a513c5" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "d0S48nlopCa7BPxsIqvgT8" + }, + { + "__type__": "cc.Node", + "_name": "show_Map", + "_objFlags": 0, + "_parent": { + "__id__": 10 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 34 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 400, + "height": 230 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1560,8 +1661,8 @@ "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - -3.656, - 152.863, + -49.859, + 67.992, 0, 0, 0, @@ -1590,9 +1691,9 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 32 + "__id__": 33 }, - "_enabled": true, + "_enabled": false, "_materials": [ { "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" @@ -1622,17 +1723,17 @@ "_name": "xiRang", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [ { - "__id__": 35 + "__id__": 36 } ], "_active": true, "_components": [ { - "__id__": 40 + "__id__": 38 } ], "_prefab": null, @@ -1646,8 +1747,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 72, + "height": 72 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1658,8 +1759,8 @@ "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - 287.732, - -124.179, + -147.124, + -107.225, 0, 0, 0, @@ -1688,20 +1789,13 @@ "_name": "Background", "_objFlags": 512, "_parent": { - "__id__": 34 + "__id__": 35 }, - "_children": [ - { - "__id__": 36 - } - ], + "_children": [], "_active": true, "_components": [ { - "__id__": 38 - }, - { - "__id__": 39 + "__id__": 37 } ], "_prefab": null, @@ -1715,8 +1809,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 72, + "height": 72 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1736,7 +1830,7 @@ 1, 1, 1, - 1 + 0 ] }, "_eulerAngles": { @@ -1753,69 +1847,7 @@ "_id": "f11sGusTdAMZ+KmsuhE8S1" }, { - "__type__": "cc.Node", - "_name": "Label", - "_objFlags": 512, - "_parent": { - "__id__": 35 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 37 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 100, - "height": 40 - }, - "_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": "78iiF4BT5Oq5c9zolTkdTU" - }, - { - "__type__": "cc.Label", + "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { @@ -1829,44 +1861,11 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_string": "息壤", - "_N$string": "息壤", - "_fontSize": 20, - "_lineHeight": 40, - "_enableWrapText": false, - "_N$file": null, - "_isSystemFontUsed": true, - "_spacingX": 0, - "_batchAsBitmap": false, - "_styleFlags": 0, - "_underlineHeight": 0, - "_N$horizontalAlign": 1, - "_N$verticalAlign": 1, - "_N$fontFamily": "Arial", - "_N$overflow": 1, - "_N$cacheMode": 1, - "_id": "c888u3aVhE1YCTsdA75rmP" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 35 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" + "__uuid__": "7337c117-f67d-4c71-a6d2-a63c2c014165" }, "_type": 1, - "_sizeMode": 0, + "_sizeMode": 1, "_fillType": 0, "_fillCenter": { "__type__": "cc.Vec2", @@ -1876,42 +1875,17 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, - "_id": "68+YH0SDtDD6pQ+3FAsIN+" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 35 + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" }, - "_enabled": true, - "alignMode": 0, - "_target": null, - "_alignFlags": 45, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_verticalCenter": 0, - "_horizontalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 100, - "_originalHeight": 40, - "_id": "20Krt6CstOYoCOIvVfbK8e" + "_id": "68+YH0SDtDD6pQ+3FAsIN+" }, { "__type__": "cc.Button", "_name": "", "_objFlags": 0, "node": { - "__id__": 34 + "__id__": 35 }, "_enabled": true, "_normalMaterial": null, @@ -1920,13 +1894,13 @@ "zoomScale": 1.2, "clickEvents": [ { - "__id__": 41 + "__id__": 39 } ], "_N$interactable": true, "_N$enableAutoGrayEffect": false, - "_N$transition": 2, - "transition": 2, + "_N$transition": 3, + "transition": 3, "_N$normalColor": { "__type__": "cc.Color", "r": 230, @@ -1988,14 +1962,14 @@ "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e" }, "_N$target": { - "__id__": 35 + "__id__": 36 }, "_id": "49qtGADz9KWKL1Ob8ITwNL" }, { "__type__": "cc.ClickEvent", "target": { - "__id__": 13 + "__id__": 10 }, "component": "", "_componentId": "e35abcX5VRAoItO6mgFcYyX", @@ -2004,20 +1978,20 @@ }, { "__type__": "cc.Node", - "_name": "StartBtn", + "_name": "JiaGu", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [ { - "__id__": 43 + "__id__": 41 } ], "_active": true, "_components": [ { - "__id__": 48 + "__id__": 43 } ], "_prefab": null, @@ -2031,8 +2005,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 72, + "height": 72 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -2043,8 +2017,8 @@ "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - 47.45, - -124.179, + -270.035, + -107.225, 0, 0, 0, @@ -2073,20 +2047,13 @@ "_name": "Background", "_objFlags": 512, "_parent": { - "__id__": 42 + "__id__": 40 }, - "_children": [ - { - "__id__": 44 - } - ], + "_children": [], "_active": true, "_components": [ { - "__id__": 46 - }, - { - "__id__": 47 + "__id__": 42 } ], "_prefab": null, @@ -2100,8 +2067,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 72, + "height": 72 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -2121,7 +2088,7 @@ 1, 1, 1, - 1 + 0 ] }, "_eulerAngles": { @@ -2137,107 +2104,12 @@ "groupIndex": 0, "_id": "86Pr1WAT1KnoCQdY62VTqo" }, - { - "__type__": "cc.Node", - "_name": "Label", - "_objFlags": 512, - "_parent": { - "__id__": 43 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 45 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 100, - "height": 40 - }, - "_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": "9dETIL5Y9MGrNv1Nz24TtR" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 44 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_string": "加固", - "_N$string": "加固", - "_fontSize": 20, - "_lineHeight": 40, - "_enableWrapText": false, - "_N$file": null, - "_isSystemFontUsed": true, - "_spacingX": 0, - "_batchAsBitmap": false, - "_styleFlags": 0, - "_underlineHeight": 0, - "_N$horizontalAlign": 1, - "_N$verticalAlign": 1, - "_N$fontFamily": "Arial", - "_N$overflow": 1, - "_N$cacheMode": 1, - "_id": "faO/Urc1NGsZE3d442+UR3" - }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 43 + "__id__": 41 }, "_enabled": true, "_materials": [ @@ -2248,10 +2120,10 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" + "__uuid__": "c24c6cab-d079-4534-8f94-e441d509cf46" }, "_type": 1, - "_sizeMode": 0, + "_sizeMode": 1, "_fillType": 0, "_fillCenter": { "__type__": "cc.Vec2", @@ -2261,42 +2133,17 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, - "_id": "9eD5fEKDlD2oLj6drfWgGX" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 43 + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" }, - "_enabled": true, - "alignMode": 0, - "_target": null, - "_alignFlags": 45, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_verticalCenter": 0, - "_horizontalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 100, - "_originalHeight": 40, - "_id": "f46ineF9dDBpuMbCht9zD7" + "_id": "9eD5fEKDlD2oLj6drfWgGX" }, { "__type__": "cc.Button", "_name": "", "_objFlags": 0, "node": { - "__id__": 42 + "__id__": 40 }, "_enabled": true, "_normalMaterial": null, @@ -2305,13 +2152,13 @@ "zoomScale": 1.2, "clickEvents": [ { - "__id__": 49 + "__id__": 44 } ], "_N$interactable": true, "_N$enableAutoGrayEffect": false, - "_N$transition": 2, - "transition": 2, + "_N$transition": 3, + "transition": 3, "_N$normalColor": { "__type__": "cc.Color", "r": 230, @@ -2355,7 +2202,7 @@ "a": 200 }, "_N$normalSprite": { - "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" + "__uuid__": "c24c6cab-d079-4534-8f94-e441d509cf46" }, "_N$pressedSprite": { "__uuid__": "e9ec654c-97a2-4787-9325-e6a10375219a" @@ -2373,14 +2220,14 @@ "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e" }, "_N$target": { - "__id__": 43 + "__id__": 41 }, "_id": "2feh7EcxpHIp3ellIB1WkS" }, { "__type__": "cc.ClickEvent", "target": { - "__id__": 13 + "__id__": 10 }, "component": "", "_componentId": "e35abcX5VRAoItO6mgFcYyX", @@ -2389,20 +2236,20 @@ }, { "__type__": "cc.Node", - "_name": "jiaGu", + "_name": "StartBtn", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [ { - "__id__": 51 + "__id__": 46 } ], "_active": true, "_components": [ { - "__id__": 56 + "__id__": 48 } ], "_prefab": null, @@ -2416,8 +2263,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 218, + "height": 60 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -2428,8 +2275,8 @@ "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - 168.601, - -124.179, + 242.147, + -123.76, 0, 0, 0, @@ -2458,20 +2305,13 @@ "_name": "Background", "_objFlags": 512, "_parent": { - "__id__": 50 + "__id__": 45 }, - "_children": [ - { - "__id__": 52 - } - ], + "_children": [], "_active": true, "_components": [ { - "__id__": 54 - }, - { - "__id__": 55 + "__id__": 47 } ], "_prefab": null, @@ -2485,8 +2325,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 218, + "height": 60 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -2506,7 +2346,7 @@ 1, 1, 1, - 1 + 0 ] }, "_eulerAngles": { @@ -2522,107 +2362,12 @@ "groupIndex": 0, "_id": "379F8n2QtOq7jn4i8kpcqk" }, - { - "__type__": "cc.Node", - "_name": "Label", - "_objFlags": 512, - "_parent": { - "__id__": 51 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 53 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 100, - "height": 40 - }, - "_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": "c50XWeES9PyrxoBHV0HyuR" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 52 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_string": "开始修建", - "_N$string": "开始修建", - "_fontSize": 20, - "_lineHeight": 40, - "_enableWrapText": false, - "_N$file": null, - "_isSystemFontUsed": true, - "_spacingX": 0, - "_batchAsBitmap": false, - "_styleFlags": 0, - "_underlineHeight": 0, - "_N$horizontalAlign": 1, - "_N$verticalAlign": 1, - "_N$fontFamily": "Arial", - "_N$overflow": 1, - "_N$cacheMode": 1, - "_id": "b3HKpno01LrqpRVu7bqx6B" - }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 51 + "__id__": 46 }, "_enabled": true, "_materials": [ @@ -2633,10 +2378,10 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" + "__uuid__": "3dd7e558-3aa4-4532-bbba-dab95a545c39" }, "_type": 1, - "_sizeMode": 0, + "_sizeMode": 1, "_fillType": 0, "_fillCenter": { "__type__": "cc.Vec2", @@ -2646,42 +2391,17 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, - "_id": "238Ff58HFEcaB7AkQTBRqM" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 51 + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" }, - "_enabled": true, - "alignMode": 0, - "_target": null, - "_alignFlags": 45, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_verticalCenter": 0, - "_horizontalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 100, - "_originalHeight": 40, - "_id": "41qbhCu7FOSJxWOltFRloZ" + "_id": "238Ff58HFEcaB7AkQTBRqM" }, { "__type__": "cc.Button", "_name": "", "_objFlags": 0, "node": { - "__id__": 50 + "__id__": 45 }, "_enabled": true, "_normalMaterial": null, @@ -2690,13 +2410,13 @@ "zoomScale": 1.2, "clickEvents": [ { - "__id__": 57 + "__id__": 49 } ], "_N$interactable": true, "_N$enableAutoGrayEffect": false, - "_N$transition": 2, - "transition": 2, + "_N$transition": 3, + "transition": 3, "_N$normalColor": { "__type__": "cc.Color", "r": 230, @@ -2758,14 +2478,14 @@ "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e" }, "_N$target": { - "__id__": 51 + "__id__": 46 }, "_id": "dcv/3yP7lAoY2ju9UwYsa0" }, { "__type__": "cc.ClickEvent", "target": { - "__id__": 13 + "__id__": 10 }, "component": "", "_componentId": "e35abcX5VRAoItO6mgFcYyX", @@ -2777,17 +2497,17 @@ "_name": "backBtn", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [ { - "__id__": 59 + "__id__": 51 } ], "_active": true, "_components": [ { - "__id__": 64 + "__id__": 53 } ], "_prefab": null, @@ -2801,8 +2521,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 72, + "height": 72 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -2813,8 +2533,8 @@ "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - -198.738, - -1.085, + 286.642, + 122.944, 0, 0, 0, @@ -2843,20 +2563,13 @@ "_name": "Background", "_objFlags": 512, "_parent": { - "__id__": 58 + "__id__": 50 }, - "_children": [ - { - "__id__": 60 - } - ], + "_children": [], "_active": true, "_components": [ { - "__id__": 62 - }, - { - "__id__": 63 + "__id__": 52 } ], "_prefab": null, @@ -2870,8 +2583,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 72, + "height": 72 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -2891,7 +2604,7 @@ 1, 1, 1, - 1 + 0 ] }, "_eulerAngles": { @@ -2907,107 +2620,12 @@ "groupIndex": 0, "_id": "1fbTpWLYlNZLS1K2qX7DMT" }, - { - "__type__": "cc.Node", - "_name": "Label", - "_objFlags": 512, - "_parent": { - "__id__": 59 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 61 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 100, - "height": 40 - }, - "_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": "76xvWGzTRGEbwdCrWQibVQ" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 60 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_string": "后退一格", - "_N$string": "后退一格", - "_fontSize": 20, - "_lineHeight": 40, - "_enableWrapText": false, - "_N$file": null, - "_isSystemFontUsed": true, - "_spacingX": 0, - "_batchAsBitmap": false, - "_styleFlags": 0, - "_underlineHeight": 0, - "_N$horizontalAlign": 1, - "_N$verticalAlign": 1, - "_N$fontFamily": "Arial", - "_N$overflow": 1, - "_N$cacheMode": 1, - "_id": "dcGobj+mtNgYdLwYFZB8gH" - }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 59 + "__id__": 51 }, "_enabled": true, "_materials": [ @@ -3018,10 +2636,10 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" + "__uuid__": "089e5dee-caa2-4903-bba8-1371afcc55d7" }, "_type": 1, - "_sizeMode": 0, + "_sizeMode": 1, "_fillType": 0, "_fillCenter": { "__type__": "cc.Vec2", @@ -3031,42 +2649,17 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, - "_id": "46hahi9WJAOYZq8bEpQLBT" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 59 + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" }, - "_enabled": true, - "alignMode": 0, - "_target": null, - "_alignFlags": 45, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_verticalCenter": 0, - "_horizontalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 100, - "_originalHeight": 40, - "_id": "6d2uyB3wVEtaMNLUr+Jfxt" + "_id": "46hahi9WJAOYZq8bEpQLBT" }, { "__type__": "cc.Button", "_name": "", "_objFlags": 0, "node": { - "__id__": 58 + "__id__": 50 }, "_enabled": true, "_normalMaterial": null, @@ -3075,13 +2668,13 @@ "zoomScale": 1.2, "clickEvents": [ { - "__id__": 65 + "__id__": 54 } ], "_N$interactable": true, "_N$enableAutoGrayEffect": false, - "_N$transition": 2, - "transition": 2, + "_N$transition": 3, + "transition": 3, "_N$normalColor": { "__type__": "cc.Color", "r": 230, @@ -3125,7 +2718,7 @@ "a": 200 }, "_N$normalSprite": { - "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" + "__uuid__": "089e5dee-caa2-4903-bba8-1371afcc55d7" }, "_N$pressedSprite": { "__uuid__": "e9ec654c-97a2-4787-9325-e6a10375219a" @@ -3143,26 +2736,759 @@ "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e" }, "_N$target": { - "__id__": 59 + "__id__": 51 }, "_id": "c4jzD+ddhGi79MTZ1fvokt" }, { "__type__": "cc.ClickEvent", "target": { - "__id__": 13 + "__id__": 10 }, "component": "", "_componentId": "e35abcX5VRAoItO6mgFcYyX", "handler": "back_Click", "customEventData": "" }, + { + "__type__": "cc.Node", + "_name": "deleteBtn", + "_objFlags": 0, + "_parent": { + "__id__": 10 + }, + "_children": [ + { + "__id__": 56 + } + ], + "_active": true, + "_components": [ + { + "__id__": 58 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 72, + "height": 72 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 199.433, + 122.944, + 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": "56HeEM3HJGFoGxg490yjaB" + }, + { + "__type__": "cc.Node", + "_name": "Background", + "_objFlags": 512, + "_parent": { + "__id__": 55 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 57 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 72, + "height": 72 + }, + "_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, + 0 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "f87gmVgaJGnJ6/0E2ejwlG" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 56 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "b2268e61-7cd7-4fdc-8c43-6836c1069443" + }, + "_type": 1, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "67kCsWgMdE8pQ4zb6HWnQw" + }, + { + "__type__": "cc.Button", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 55 + }, + "_enabled": true, + "_normalMaterial": null, + "_grayMaterial": null, + "duration": 0.1, + "zoomScale": 1.2, + "clickEvents": [ + { + "__id__": 59 + } + ], + "_N$interactable": true, + "_N$enableAutoGrayEffect": false, + "_N$transition": 3, + "transition": 3, + "_N$normalColor": { + "__type__": "cc.Color", + "r": 230, + "g": 230, + "b": 230, + "a": 255 + }, + "_N$pressedColor": { + "__type__": "cc.Color", + "r": 200, + "g": 200, + "b": 200, + "a": 255 + }, + "pressedColor": { + "__type__": "cc.Color", + "r": 200, + "g": 200, + "b": 200, + "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": 120, + "g": 120, + "b": 120, + "a": 200 + }, + "_N$normalSprite": { + "__uuid__": "089e5dee-caa2-4903-bba8-1371afcc55d7" + }, + "_N$pressedSprite": { + "__uuid__": "e9ec654c-97a2-4787-9325-e6a10375219a" + }, + "pressedSprite": { + "__uuid__": "e9ec654c-97a2-4787-9325-e6a10375219a" + }, + "_N$hoverSprite": { + "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" + }, + "hoverSprite": { + "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" + }, + "_N$disabledSprite": { + "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e" + }, + "_N$target": { + "__id__": 56 + }, + "_id": "98iJY7KsxFroRwmcvT4Qa7" + }, + { + "__type__": "cc.ClickEvent", + "target": { + "__id__": 10 + }, + "component": "", + "_componentId": "e35abcX5VRAoItO6mgFcYyX", + "handler": "removeAllTip", + "customEventData": "" + }, + { + "__type__": "cc.Node", + "_name": "New Label", + "_objFlags": 0, + "_parent": { + "__id__": 10 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 61 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 175, + "g": 136, + "b": 70, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 60, + "height": 37.8 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0.779, + 106.058, + 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": "1dqQnAKctCcIgWRitQUjvO" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 60 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "图纸", + "_N$string": "图纸", + "_fontSize": 30, + "_lineHeight": 30, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "bdOrnVI1VIjb6Cwma3vsIl" + }, + { + "__type__": "cc.Node", + "_name": "New Label", + "_objFlags": 0, + "_parent": { + "__id__": 10 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 63 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 136, + "g": 98, + "b": 62, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 44, + "height": 27.72 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 286.411, + 88.102, + 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": "b3gg/qVW1Jb7PNgdrpXxtT" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 62 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "撤回", + "_N$string": "撤回", + "_fontSize": 22, + "_lineHeight": 22, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "f7PK7X5LVLv5XcpP67aGav" + }, + { + "__type__": "cc.Node", + "_name": "New Label", + "_objFlags": 0, + "_parent": { + "__id__": 10 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 65 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 136, + "g": 98, + "b": 62, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 44, + "height": 27.72 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 198.681, + 88.102, + 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": "80ghuAR/xMwqIQDwLNEYi/" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 64 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "清空", + "_N$string": "清空", + "_fontSize": 22, + "_lineHeight": 22, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "0cBFmuzBJCJaB6DKiajaMh" + }, + { + "__type__": "cc.Node", + "_name": "New Label", + "_objFlags": 0, + "_parent": { + "__id__": 10 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 67 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 136, + "g": 98, + "b": 62, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 44, + "height": 27.72 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -148.207, + -152.181, + 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": "bdM10sfAdFZ7kHjd9KjyKC" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 66 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "息壤", + "_N$string": "息壤", + "_fontSize": 22, + "_lineHeight": 22, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "3aDzp3rERGgY4vC++QIwBw" + }, + { + "__type__": "cc.Node", + "_name": "New Label", + "_objFlags": 0, + "_parent": { + "__id__": 10 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 69 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 136, + "g": 98, + "b": 62, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 44, + "height": 27.72 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -269.775, + -152.181, + 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": "9cpz0rd9xK9o0LYQlGVT+O" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 68 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "加固", + "_N$string": "加固", + "_fontSize": 22, + "_lineHeight": 22, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "3fMBbLKURJAJahydocK2oS" + }, { "__type__": "cc.Widget", "_name": "", "_objFlags": 0, "node": { - "__id__": 13 + "__id__": 10 }, "_enabled": true, "alignMode": 1, @@ -3171,7 +3497,7 @@ "_left": 0, "_right": 0, "_top": 0, - "_bottom": 43.202999999999975, + "_bottom": 0, "_verticalCenter": 0, "_horizontalCenter": 0, "_isAbsLeft": true, @@ -3189,23 +3515,999 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 13 + "__id__": 10 }, "_enabled": true, "Map": { - "__id__": 32 + "__id__": 33 }, "tip": { "__uuid__": "47657f05-243e-4f2a-a32d-200631f1c252" }, "reinforce": { - "__uuid__": "9e91c351-bd17-446b-b773-3b715fe6ba48" - }, - "soil": { "__uuid__": "7a90e76c-37f8-4f8c-84e9-f05b34afe481" }, + "soil": { + "__uuid__": "9e91c351-bd17-446b-b773-3b715fe6ba48" + }, "_id": "f2gFV7xixGDY1vTvB3roWu" }, + { + "__type__": "cc.Node", + "_name": "Top", + "_objFlags": 0, + "_parent": { + "__id__": 5 + }, + "_children": [ + { + "__id__": 73 + }, + { + "__id__": 75 + }, + { + "__id__": 77 + }, + { + "__id__": 79 + }, + { + "__id__": 81 + }, + { + "__id__": 83 + }, + { + "__id__": 85 + }, + { + "__id__": 87 + }, + { + "__id__": 89 + } + ], + "_active": true, + "_components": [ + { + "__id__": 91 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 750, + "height": 0 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 647, + 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": "2dvFGf0U9OKKhKCqEvtwLT" + }, + { + "__type__": "cc.Node", + "_name": "bg", + "_objFlags": 0, + "_parent": { + "__id__": 72 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 74 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 744, + "height": 80 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + -39.556, + 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": "0cgkoDi75MFoNDhg0sKlVt" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 73 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "ffab2d63-1700-4821-8d95-9f4d4717aa1b" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "76zs/ZzYhGSbMF44sdOYN0" + }, + { + "__type__": "cc.Node", + "_name": "progressBg", + "_objFlags": 0, + "_parent": { + "__id__": 72 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 76 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 500, + "height": 18 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 84.706, + -63.438, + 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": "3eHhCQQr9JjqLa317XpqmV" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 75 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "12878a32-a063-42b4-b233-9e419054c084" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "22ocvrBY9Av4vC1hf3IcUk" + }, + { + "__type__": "cc.Node", + "_name": "progress", + "_objFlags": 0, + "_parent": { + "__id__": 72 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 78 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 500, + "height": 18 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 84.706, + -63.438, + 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": "b22dJDPkBAfJol7uoPPFtl" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 77 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "fb15d143-fb48-4fae-8921-e5f005493fac" + }, + "_type": 3, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "2a1apdfFVAK41hrqNYtxU/" + }, + { + "__type__": "cc.Node", + "_name": "head", + "_objFlags": 0, + "_parent": { + "__id__": 72 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 80 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 49, + "height": 32 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -180, + -54.557, + 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": "b2w0C6lFBAmYIz4jBWs2EU" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 79 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "db06b8d5-6735-4ce0-8748-edfe06e9fd30" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "131Qlt/A5HYYr0Pqh/EHB7" + }, + { + "__type__": "cc.Node", + "_name": "New Label", + "_objFlags": 0, + "_parent": { + "__id__": 72 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 82 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 237, + "g": 210, + "b": 187, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 75, + "height": 31.5 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -308.155, + -19.072, + 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": "9bQAVktN5NcayLBgcUorra" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 81 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "总时间", + "_N$string": "总时间", + "_fontSize": 25, + "_lineHeight": 25, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "b7H2iuvT1BZqlTnq0x2nrz" + }, + { + "__type__": "cc.Node", + "_name": "totalTime", + "_objFlags": 0, + "_parent": { + "__id__": 72 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 84 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 238, + "b": 215, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.1, + "height": 50.4 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -307.209, + -54.662, + 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": "912cRy4xJLtbvhvFUq6seP" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 83 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "00:00", + "_N$string": "00:00", + "_fontSize": 40, + "_lineHeight": 40, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "afokpW04JB+bljDOFqQuwR" + }, + { + "__type__": "cc.Node", + "_name": "Label", + "_objFlags": 0, + "_parent": { + "__id__": 72 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 86 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 238, + "b": 215, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 150, + "height": 31.5 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 41.191, + -23.201, + 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": "a8mxYVspNDFpwiKzHccVnS" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 85 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "距离洪峰到来", + "_N$string": "距离洪峰到来", + "_fontSize": 25, + "_lineHeight": 25, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "31H77LE79JJrJsvBZ9lVOA" + }, + { + "__type__": "cc.Node", + "_name": "time", + "_objFlags": 0, + "_parent": { + "__id__": 72 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 88 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 238, + "b": 215, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 62.56, + "height": 31.5 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 161.092, + -23.29, + 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": "9d/ESsYDhFzJtyELMoBT+j" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 87 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "00:00", + "_N$string": "00:00", + "_fontSize": 25, + "_lineHeight": 25, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "a9ug3uxiZHCbYiwI56hTGB" + }, + { + "__type__": "cc.Node", + "_name": "id", + "_objFlags": 0, + "_parent": { + "__id__": 72 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 90 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 0, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 88.98, + "height": 50.4 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -109.883, + -23.96, + 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": "67LQQ0hGxPYIEncm0tzIS7" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 89 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "1001", + "_N$string": "1001", + "_fontSize": 40, + "_lineHeight": 40, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "e9wR6XRE9Ax46QgiFiUqyn" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 72 + }, + "_enabled": true, + "alignMode": 1, + "_target": null, + "_alignFlags": 41, + "_left": 0, + "_right": 0, + "_top": 20, + "_bottom": 0, + "_verticalCenter": 0, + "_horizontalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 0, + "_id": "4fxdhQLFVDKqcWdiooyi6X" + }, { "__type__": "cc.Node", "_name": "Win", @@ -3264,6 +4566,350 @@ "groupIndex": 0, "_id": "beOm6xY9JGcpUIgHepr4za" }, + { + "__type__": "cc.Node", + "_name": "Over", + "_objFlags": 0, + "_parent": { + "__id__": 5 + }, + "_children": [ + { + "__id__": 94 + }, + { + "__id__": 97 + } + ], + "_active": true, + "_components": [ + { + "__id__": 100 + } + ], + "_prefab": null, + "_opacity": 0, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 591.5, + "height": 1334 + }, + "_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": "9fvo6KA6hNX726OUEDSZKo" + }, + { + "__type__": "cc.Node", + "_name": "New Sprite", + "_objFlags": 0, + "_parent": { + "__id__": 93 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 95 + }, + { + "__id__": 96 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 116, + "height": 1334 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -318.378, + 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": "f0jehgg/VA0qdKS8Yhgng5" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 94 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "b926007a-3c3e-4981-b1c0-638864dfc892" + }, + "_type": 0, + "_sizeMode": 0, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": null, + "_id": "30Ev/OhOVDZp/ee9LDa9mQ" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 94 + }, + "_enabled": true, + "alignMode": 1, + "_target": null, + "_alignFlags": 13, + "_left": -80.62799999999999, + "_right": 0, + "_top": 0, + "_bottom": 0, + "_verticalCenter": 0, + "_horizontalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 640, + "_id": "b3kLLSA8pLlKt7++xnsR6E" + }, + { + "__type__": "cc.Node", + "_name": "New Sprite", + "_objFlags": 0, + "_parent": { + "__id__": 93 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 98 + }, + { + "__id__": 99 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 116, + "height": 1334 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 318.38, + 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": "b8qhhugVJCZYKUwmP5nMwI" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 97 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "b926007a-3c3e-4981-b1c0-638864dfc892" + }, + "_type": 0, + "_sizeMode": 0, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": null, + "_id": "34YBCabrBNxrK0DaHt3Zp7" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 97 + }, + "_enabled": true, + "alignMode": 1, + "_target": null, + "_alignFlags": 37, + "_left": -80.62799999999996, + "_right": -80.62999999999997, + "_top": 0, + "_bottom": 0, + "_verticalCenter": 0, + "_horizontalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 116, + "_originalHeight": 640, + "_id": "86CbemTlZBM5maUTrhaQgl" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 93 + }, + "_enabled": true, + "alignMode": 1, + "_target": null, + "_alignFlags": 45, + "_left": 79.25, + "_right": 79.25, + "_top": 0, + "_bottom": 0, + "_verticalCenter": 0, + "_horizontalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 116, + "_originalHeight": 640, + "_id": "06NN86oflA0pcH/dhzPRjn" + }, { "__type__": "cc.Node", "_name": "GameOver", @@ -3273,7 +4919,7 @@ }, "_children": [ { - "__id__": 70 + "__id__": 102 } ], "_active": false, @@ -3331,16 +4977,16 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 69 + "__id__": 101 }, "_children": [], "_active": true, "_components": [ { - "__id__": 71 + "__id__": 103 }, { - "__id__": 72 + "__id__": 104 } ], "_prefab": null, @@ -3396,7 +5042,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 70 + "__id__": 102 }, "_enabled": true, "_materials": [ @@ -3428,770 +5074,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 70 + "__id__": 102 }, "_enabled": true, "_id": "22S5GnmVhCz7EY4orhQpJT" }, - { - "__type__": "cc.Node", - "_name": "Block1", - "_objFlags": 0, - "_parent": { - "__id__": 5 - }, - "_children": [ - { - "__id__": 74 - }, - { - "__id__": 76 - } - ], - "_active": false, - "_components": [], - "_prefab": null, - "_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.543, - 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": "afuV9kjShONqq0jz6gTIhq" - }, - { - "__type__": "cc.Node", - "_name": "New Sprite(Splash)", - "_objFlags": 0, - "_parent": { - "__id__": 73 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 75 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 105, - "g": 105, - "b": 105, - "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": "193FPqop1OdK2UAQxLoFDR" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 74 - }, - "_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": "67VIljhyxNRoVQN5zDh3Rk" - }, - { - "__type__": "cc.Node", - "_name": "icon", - "_objFlags": 0, - "_parent": { - "__id__": 73 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 77 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 36, - "g": 0, - "b": 254, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 60, - "height": 96 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - -30, - 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": "4cqvFus1VKxpCEvxEsLNBt" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 76 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "af8457b5-c84c-4585-9402-aee73193f450" - }, - "_type": 3, - "_sizeMode": 1, - "_fillType": 1, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 1, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "34v9bEEMhFA6wuOY7fDwQc" - }, - { - "__type__": "cc.Node", - "_name": "Block2", - "_objFlags": 0, - "_parent": { - "__id__": 5 - }, - "_children": [ - { - "__id__": 79 - }, - { - "__id__": 81 - } - ], - "_active": false, - "_components": [], - "_prefab": null, - "_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, - 96.498, - 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": "18kkByH6hCGYGlkcLdXww4" - }, - { - "__type__": "cc.Node", - "_name": "New Sprite(Splash)", - "_objFlags": 0, - "_parent": { - "__id__": 78 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 80 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 105, - "g": 105, - "b": 105, - "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": "caluQB/YVLSIt4MvHLPAkM" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 79 - }, - "_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": "c2qwM1OOdAuLBsqX2RnEJJ" - }, - { - "__type__": "cc.Node", - "_name": "icon", - "_objFlags": 0, - "_parent": { - "__id__": 78 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 82 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 36, - "g": 0, - "b": 254, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 78, - "height": 78 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - -9, - -9, - 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": "6byOn5h1xOdKTVBy8dSgsa" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 81 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "e3acc841-072e-46c4-b892-be3da3cb608b" - }, - "_type": 3, - "_sizeMode": 1, - "_fillType": 1, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 1, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "1an8OFWf5HN5CxCTpNlnhc" - }, - { - "__type__": "cc.Node", - "_name": "Block1", - "_objFlags": 0, - "_parent": { - "__id__": 5 - }, - "_children": [ - { - "__id__": 84 - }, - { - "__id__": 86 - } - ], - "_active": false, - "_components": [], - "_prefab": null, - "_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": [ - -95.879, - 96.616, - 0, - 0, - 0, - 0.7071067811865475, - 0.7071067811865476, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 90 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "9fuGW0Qm1Mi7w6MEPzI7c1" - }, - { - "__type__": "cc.Node", - "_name": "New Sprite(Splash)", - "_objFlags": 0, - "_parent": { - "__id__": 83 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 85 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 105, - "g": 105, - "b": 105, - "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": "20wVFRlmBCGbkpyk75LrVF" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 84 - }, - "_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": "78awOjiwFGPL8i2z1wtwCk" - }, - { - "__type__": "cc.Node", - "_name": "icon", - "_objFlags": 0, - "_parent": { - "__id__": 83 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 87 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 36, - "g": 0, - "b": 254, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 60, - "height": 96 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - -30, - 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": "9bYQQR0pNMM5Mazzp+u08C" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 86 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "af8457b5-c84c-4585-9402-aee73193f450" - }, - "_type": 3, - "_sizeMode": 1, - "_fillType": 1, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 1, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "11x2PsQ+VJGYl4e/tgayeu" - }, { "__type__": "b0432BA295DjIOcuitdGKO1", "_name": "", @@ -4201,11 +5088,17 @@ }, "_enabled": true, "Map": { - "__id__": 11 + "__id__": 8 }, "Block": { "__uuid__": "c930d64e-2707-474f-b691-6220e2932ddd" }, + "Time": { + "__id__": 84 + }, + "Countdown": { + "__id__": 88 + }, "_id": "7dXON6+8BHRrnLvjmlXv+P" }, { diff --git a/library/imports/5c/5ce0674d-c903-4a25-8824-0a9698d27e40.json b/library/imports/5c/5ce0674d-c903-4a25-8824-0a9698d27e40.json new file mode 100644 index 0000000..1541cf4 --- /dev/null +++ b/library/imports/5c/5ce0674d-c903-4a25-8824-0a9698d27e40.json @@ -0,0 +1,7985 @@ +{ + "__type__": "cc.JsonAsset", + "_name": "dayu_config", + "_objFlags": 0, + "_native": "", + "json": { + "config": [ + [ + { + "id": "1001", + "map": [ + [ + 0, + 4, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 1, + 0 + ] + ], + "min_steps": 4 + }, + { + "id": "1002", + "map": [ + [ + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 4 + ], + [ + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0 + ] + ], + "min_steps": 4 + }, + { + "id": "1003", + "map": [ + [ + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 4 + ] + ], + "min_steps": 6 + }, + { + "id": "1004", + "map": [ + [ + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0 + ] + ], + "min_steps": 4 + }, + { + "id": "1005", + "map": [ + [ + 1, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 4 + ], + [ + 0, + 0, + 0, + 0 + ] + ], + "min_steps": 5 + }, + { + "id": "1006", + "map": [ + [ + 4, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0 + ], + [ + 0, + 1, + 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": 5 + }, + { + "id": "1008", + "map": [ + [ + 0, + 0, + 0, + 4 + ], + [ + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0 + ], + [ + 1, + 0, + 0, + 0 + ] + ], + "min_steps": 6 + } + ], + [ + { + "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": 8 + }, + { + "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": 8 + }, + { + "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": 7 + }, + { + "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, + 3, + 4 + ] + ], + "min_steps": 8 + }, + { + "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": 7 + }, + { + "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": 8 + }, + { + "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": 7 + } + ], + [ + { + "id": "3001", + "map": [ + [ + 0, + 0, + 2, + 0, + 2, + 4 + ], + [ + 0, + 2, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 2, + 0, + 0, + 0 + ], + [ + 1, + 2, + 2, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 2, + 0 + ], + [ + 0, + 2, + 2, + 0, + 0, + 2 + ] + ], + "min_steps": 4 + }, + { + "id": "3002", + "map": [ + [ + 0, + 2, + 0, + 0, + 2, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 2, + 0, + 0, + 2, + 1 + ], + [ + 0, + 2, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0, + 2 + ], + [ + 2, + 0, + 2, + 4, + 2, + 2 + ] + ], + "min_steps": 4 + } + ], + [ + { + "id": "4001", + "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": "4002", + "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": "4003", + "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": "4004", + "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": "4005", + "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": "4006", + "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": "4007", + "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": "4008", + "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": "4009", + "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": "4010", + "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": "5001", + "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": "5002", + "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": "5003", + "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": "5004", + "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": "5005", + "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": "5006", + "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": "5007", + "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": "5008", + "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": "5009", + "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": "5010", + "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": "5011", + "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": "5012", + "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": "5013", + "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": "5014", + "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": "5015", + "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": "5016", + "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": "5017", + "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": "5018", + "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": "6001", + "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": "6002", + "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": "6003", + "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": "6004", + "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": "6005", + "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": "6006", + "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": "6007", + "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": "6008", + "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": "6009", + "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": "6010", + "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": "6011", + "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": "6012", + "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": "6013", + "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": "6014", + "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": "6015", + "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": "6016", + "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": "6017", + "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": "6018", + "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": "6019", + "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": "6020", + "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": "7001", + "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": "7002", + "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": "7003", + "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": "7004", + "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": "7005", + "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": "7006", + "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": "7007", + "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": "7008", + "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": "7009", + "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": "7010", + "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": "7011", + "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": "7012", + "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": "7013", + "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": "7014", + "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": "7015", + "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": "7016", + "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": "7017", + "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": "7018", + "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": "7019", + "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": "7020", + "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": "7021", + "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": "8001", + "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": "8002", + "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": "8003", + "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": "8004", + "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": "8005", + "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": "8006", + "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": "8007", + "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": "8008", + "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": "8009", + "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": "8010", + "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": "8011", + "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": "8012", + "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": "8013", + "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": "8014", + "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": "8015", + "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": "8016", + "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": "8017", + "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": "8018", + "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": "8019", + "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": "8020", + "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": "8021", + "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": "8022", + "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": "8023", + "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": "8024", + "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": "8025", + "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": "8026", + "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": "8027", + "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": "8028", + "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": "8029", + "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": "8030", + "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": "8031", + "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": "8032", + "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": "8033", + "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": "8034", + "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": "8035", + "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": "8036", + "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": "8037", + "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": "8038", + "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": "8039", + "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": "8040", + "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": "8041", + "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 + } + ] + ] + } +} \ No newline at end of file diff --git a/library/imports/d9/d9b04dd4-b22c-4268-bf73-ac34fda14bc5.json b/library/imports/5f/5f0d6504-1636-4144-8d9e-32364b96f8d1.json similarity index 60% rename from library/imports/d9/d9b04dd4-b22c-4268-bf73-ac34fda14bc5.json rename to library/imports/5f/5f0d6504-1636-4144-8d9e-32364b96f8d1.json index 34bff05..58e3d2c 100644 --- a/library/imports/d9/d9b04dd4-b22c-4268-bf73-ac34fda14bc5.json +++ b/library/imports/5f/5f0d6504-1636-4144-8d9e-32364b96f8d1.json @@ -2,17 +2,17 @@ "__type__": "cc.SpriteFrame", "content": { "name": "turn_wawe2", - "texture": "bc65aeab-56af-4990-b2b9-de2b91bb9e6f", - "atlas": "", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 24, - 25, - 131, - 128 + 1013, + 160, + 179, + 179 ], "offset": [ 0, - 0.5 + 0 ], "originalSize": [ 179, diff --git a/library/imports/e8/e8ddc240-81ef-4d7f-a7c4-8c3ee4b94b4f.json b/library/imports/61/61be84a2-2f2b-4274-a6ef-41d52c9555af.json similarity index 64% rename from library/imports/e8/e8ddc240-81ef-4d7f-a7c4-8c3ee4b94b4f.json rename to library/imports/61/61be84a2-2f2b-4274-a6ef-41d52c9555af.json index 69d16bc..f1c102f 100644 --- a/library/imports/e8/e8ddc240-81ef-4d7f-a7c4-8c3ee4b94b4f.json +++ b/library/imports/61/61be84a2-2f2b-4274-a6ef-41d52c9555af.json @@ -2,11 +2,11 @@ "__type__": "cc.SpriteFrame", "content": { "name": "vertical_wave2", - "texture": "c3041d36-0084-4c37-b905-f7367bdd37cb", - "atlas": "", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 0, - 0, + 131, + 459, 8, 118 ], @@ -18,6 +18,7 @@ 8, 118 ], + "rotated": 1, "capInsets": [ 0, 0, diff --git a/library/imports/61/61d4c718-db3b-4b31-8221-f16bea3cf030.js b/library/imports/61/61d4c718-db3b-4b31-8221-f16bea3cf030.js index 643c681..33b1ced 100644 --- a/library/imports/61/61d4c718-db3b-4b31-8221-f16bea3cf030.js +++ b/library/imports/61/61d4c718-db3b-4b31-8221-f16bea3cf030.js @@ -39,7 +39,9 @@ window.initMgr = function () { startGame: "10002", next: "10003", changePath: "10004", - changeMap: "10005" //改变那地图 + changeMap: "10005", + nextWater: "10006", + addEnd: "10007", }; /* * 客户端埋点分享类型 diff --git a/library/imports/61/61d4c718-db3b-4b31-8221-f16bea3cf030.js.map b/library/imports/61/61d4c718-db3b-4b31-8221-f16bea3cf030.js.map index cdba386..ea68b5e 100644 --- a/library/imports/61/61d4c718-db3b-4b31-8221-f16bea3cf030.js.map +++ b/library/imports/61/61d4c718-db3b-4b31-8221-f16bea3cf030.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\module\\GameStart\\GameAppStart.ts"],"names":[],"mappings":";;;;;;AAAA,mDAAkD;AAClD,+CAA0C;AAC1C,sDAAiD;AACjD,6DAA6D;AAC7D,8CAAoD;AACpD,6CAA4C;AAG5C,MAAM,CAAC,OAAO,GAAG;IACb,IAAG,EAAE,CAAC,EAAE,EACR;QACI,OAAO;KACV;IACD,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;IACX,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEpB,QAAQ;IACR,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG;QACd,SAAS,EAAE,IAAI;QACf,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,MAAM;QACnB,cAAc,EAAE,IAAI,CAAM,UAAU;KACvC,CAAC;IAEF,QAAQ;IACR,MAAM;IAEN,EAAE,CAAC,EAAE,CAAC,UAAU,GAAG,uBAAU,CAAC;IAC9B,EAAE,CAAC,EAAE,CAAC,QAAQ,GAAG,kBAAQ,CAAC;IAC1B,EAAE,CAAC,EAAE,CAAC,QAAQ,GAAG,mBAAQ,CAAC;IAC1B,EAAE,CAAC,EAAE,CAAC,YAAY,GAAG,sBAAY,CAAC;IAClC,EAAE,CAAC,EAAE,CAAC,aAAa,GAAG,4BAAa,CAAC;IACpC,EAAE,CAAC,EAAE,CAAC,cAAc,GAAG,wBAAc,CAAC;IAEtC,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG;QACd,OAAO,EAAG,CAAC,CAAC,CAAc,MAAM;KACnC,CAAC;IAEF,EAAE,CAAC,EAAE,CAAC,OAAO,GAAG;QACZ,OAAO,EAAE,OAAO;QAChB,SAAS,EAAC,OAAO;QACjB,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,OAAO;QACnB,SAAS,EAAE,OAAO,CAAS,OAAO;KACrC,CAAA;IAED;;MAEE;IACF,EAAE,CAAC,EAAE,CAAC,eAAe,GAAG;QACpB,OAAO,EAAG,SAAS;QACnB,MAAM,EAAG,QAAQ;QAEjB,mBAAmB,EAAC,kBAAkB;QACtC,iBAAiB,EAAG,eAAe;QACnC,gBAAgB,EAAG,cAAc;QACjC,qBAAqB,EAAE,cAAc;QACrC,sBAAsB,EAAE,gBAAgB;QACxC,mBAAmB,EAAE,YAAY;QACjC,oBAAoB,EAAE,aAAa;QAEnC,WAAW,EAAG,aAAa;QAC3B,SAAS,EAAE,WAAW;QACtB,UAAU,EAAE,YAAY;QACxB,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE,aAAa;QAC1B,gBAAgB,EAAE,kBAAkB;QACpC,cAAc,EAAE,gBAAgB;QAChC,QAAQ,EAAG,UAAU;QACrB,iBAAiB,EAAE,mBAAmB;QACtC,mBAAmB,EAAE,qBAAqB;QAC1C,mBAAmB,EAAE,qBAAqB;QAC1C,mBAAmB,EAAE,qBAAqB;KAC7C,CAAC;IAEF;;OAEG;IACH,EAAE,CAAC,EAAE,CAAC,gBAAgB,GAAG;QACrB,KAAK,EAAE,OAAO;QACd,MAAM,EAAG,QAAQ;QACjB,GAAG,EAAG,KAAK;KACd,CAAC;IAEF,WAAW;IACX,EAAE,CAAC,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,IAAI,CAAC;QAC3B,iBAAiB,EAAE,OAAO;KAC7B,CAAC,CAAC;IAEA,iBAAiB;IACjB,EAAE,CAAC,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;QACpB,MAAM,EAAE,iDAAiD;QACzD,MAAM,EAAE,mDAAmD;QAC3D,SAAS,EAAE,iBAAiB;QAC5B,SAAS,EAAE,YAAY;QACvB,UAAU,EAAE,oBAAoB;QAChC,SAAS,EAAE,oBAAoB;QAC/B,UAAU,EAAE,2BAA2B;KAE1C,CAAC,CAAC;AAEP,CAAC,CAAC","file":"","sourceRoot":"/","sourcesContent":["import { GameConfig } from \"../Config/GameConfig\";\r\nimport HttpUtil from \"../Crypto/HttpUtil\";\r\nimport AudioManager from \"../Music/AudioManager\";\r\nimport { Notifications } from \"../Notification/Notification\";\r\nimport { StorageMessage } from \"../Storage/Storage\";\r\nimport { GameTool } from \"../Tool/GameTool\";\r\n\r\n\r\nwindow.initMgr = function() {\r\n if(cc.fx)\r\n {\r\n return;\r\n }\r\n cc.fx = {};\r\n console.log(\"1初始化\");\r\n\r\n //基础状态信息\r\n cc.fx.StateInfo = {\r\n debugMode: true,\r\n networkConnected: true, //网络状态\r\n networkType: 'none', //网络类型\r\n isOnForeground: true //当前是否是在前台\r\n };\r\n\r\n //应用系统信息\r\n //配置文件\r\n\r\n cc.fx.GameConfig = GameConfig;\r\n cc.fx.HttpUtil = HttpUtil;\r\n cc.fx.GameTool = GameTool;\r\n cc.fx.AudioManager = AudioManager;\r\n cc.fx.Notifications = Notifications;\r\n cc.fx.StorageMessage = StorageMessage;\r\n\r\n cc.fx.ShareInfo = {\r\n queryId : -1 //分享id\r\n };\r\n\r\n cc.fx.Message = {\r\n control: \"10001\", //传递操作控制\r\n startGame:\"10002\", //传递开始建筑\r\n next: \"10003\" , //传递执行下一个格子洪水流过\r\n changePath: \"10004\", //传递操作控制\r\n changeMap: \"10005\" //改变那地图\r\n }\r\n\r\n /*\r\n * 客户端埋点分享类型\r\n */\r\n cc.fx.BurialShareType = {\r\n Default : \"default\", //默认分享类型,分享到群\r\n Invite : \"invite\", // 邀请好友\r\n\r\n DailyInviteRoomJoin:'invite_join_room', //邀请好友加入\r\n DailyInviteFriend : 'invite_friend', // 日常邀请好友\r\n DailyInviteGroup : 'invate_group', // 日常分享群\r\n DailyInviteGroupAlive: 'invate_alive', //日常分享群复活\r\n DailyInviteGroupReward: 'invate_rewared',//分享奖励翻倍\r\n DailyInviteGroupBox: 'invate_box', //宝箱分享奖励\r\n DailyInviteGroupBall: 'invate_ball', //分享领取球球\r\n\r\n MatchResult : 'matchResult', // 比赛结算分享\r\n MatchFix5: 'MatchFix5', // 5元红包赛\r\n MatchFix20: 'MatchFix20', // 20元红包赛\r\n MatchFix100: 'MatchFix100', // 100元红包赛\r\n MatchFix500: 'MatchFix500', // 500元红包赛\r\n NewerRedEnvelope: 'newerRedEnvelope', // 新手红包\r\n CoinRoomResult: 'coinRoomResult', // 金币桌结算\r\n HighRate : \"highRate\",//高倍分享\r\n CoinRoomWinStreak: 'coinRoomWinStreak', // 连胜\r\n CoinRoomBankruptcy1: 'coinRoomBankruptcy1', // 金币桌破产\r\n CoinRoomBankruptcy2: 'coinRoomBankruptcy2', // 金币桌破产\r\n CoinRoomBankruptcy3: 'coinRoomBankruptcy3', // 金币桌破产\r\n };\r\n\r\n /*\r\n * 分享到哪儿给奖励 group frined all\r\n */\r\n cc.fx.ShareWhereReward = {\r\n Group :\"group\", //微信群\r\n Friend : \"friend\",//好友\r\n All : \"all\", //不区分\r\n };\r\n\r\n //用于存储消息的ID\r\n cc.fx.storageType = cc.Enum({\r\n\t storageTypeCustom: 1000101, //用于存储关卡等级\r\n\t});\r\n\r\n //用于存储提示语 按照步骤提示\r\n cc.fx.tipType = cc.Enum({\r\n tipOne: '神农氏回到家中,开始整理今天收集来的物品。当他第一次拿出或说出一种植物时,请告诉他这是新植物。',\r\n tipTwo: '如果他拿出或说出的植物你今天看到过,请告诉他上次是看到的;如果你听他说过,则请告诉他上次是听到的。', //用于存储关卡等级\r\n tipErrNew: '这是这局游戏第一次出现{植物}',\r\n tipErrOld: '{植物}刚才出现过呢',\r\n tipErrHear: '上次遇到{植物}时,似乎不是听到的吧',\r\n tipErrSee: '上次遇到{植物}时,似乎不是看到的吧',\r\n tipErrLast: '之前确实看到过{植物},但最近一次似乎不是看到的呢',\r\n\r\n });\r\n\r\n};"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\module\\GameStart\\GameAppStart.ts"],"names":[],"mappings":";;;;;;AAAA,mDAAkD;AAClD,+CAA0C;AAC1C,sDAAiD;AACjD,6DAA6D;AAC7D,8CAAoD;AACpD,6CAA4C;AAG5C,MAAM,CAAC,OAAO,GAAG;IACb,IAAG,EAAE,CAAC,EAAE,EACR;QACI,OAAO;KACV;IACD,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;IACX,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEpB,QAAQ;IACR,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG;QACd,SAAS,EAAE,IAAI;QACf,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,MAAM;QACnB,cAAc,EAAE,IAAI,CAAM,UAAU;KACvC,CAAC;IAEF,QAAQ;IACR,MAAM;IAEN,EAAE,CAAC,EAAE,CAAC,UAAU,GAAG,uBAAU,CAAC;IAC9B,EAAE,CAAC,EAAE,CAAC,QAAQ,GAAG,kBAAQ,CAAC;IAC1B,EAAE,CAAC,EAAE,CAAC,QAAQ,GAAG,mBAAQ,CAAC;IAC1B,EAAE,CAAC,EAAE,CAAC,YAAY,GAAG,sBAAY,CAAC;IAClC,EAAE,CAAC,EAAE,CAAC,aAAa,GAAG,4BAAa,CAAC;IACpC,EAAE,CAAC,EAAE,CAAC,cAAc,GAAG,wBAAc,CAAC;IAEtC,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG;QACd,OAAO,EAAG,CAAC,CAAC,CAAc,MAAM;KACnC,CAAC;IAEF,EAAE,CAAC,EAAE,CAAC,OAAO,GAAG;QACZ,OAAO,EAAE,OAAO;QAChB,SAAS,EAAC,OAAO;QACjB,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,OAAO;QACnB,SAAS,EAAE,OAAO;QAClB,SAAS,EAAE,OAAO;QAClB,MAAM,EAAE,OAAO;KAClB,CAAA;IAED;;MAEE;IACF,EAAE,CAAC,EAAE,CAAC,eAAe,GAAG;QACpB,OAAO,EAAG,SAAS;QACnB,MAAM,EAAG,QAAQ;QAEjB,mBAAmB,EAAC,kBAAkB;QACtC,iBAAiB,EAAG,eAAe;QACnC,gBAAgB,EAAG,cAAc;QACjC,qBAAqB,EAAE,cAAc;QACrC,sBAAsB,EAAE,gBAAgB;QACxC,mBAAmB,EAAE,YAAY;QACjC,oBAAoB,EAAE,aAAa;QAEnC,WAAW,EAAG,aAAa;QAC3B,SAAS,EAAE,WAAW;QACtB,UAAU,EAAE,YAAY;QACxB,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE,aAAa;QAC1B,gBAAgB,EAAE,kBAAkB;QACpC,cAAc,EAAE,gBAAgB;QAChC,QAAQ,EAAG,UAAU;QACrB,iBAAiB,EAAE,mBAAmB;QACtC,mBAAmB,EAAE,qBAAqB;QAC1C,mBAAmB,EAAE,qBAAqB;QAC1C,mBAAmB,EAAE,qBAAqB;KAC7C,CAAC;IAEF;;OAEG;IACH,EAAE,CAAC,EAAE,CAAC,gBAAgB,GAAG;QACrB,KAAK,EAAE,OAAO;QACd,MAAM,EAAG,QAAQ;QACjB,GAAG,EAAG,KAAK;KACd,CAAC;IAEF,WAAW;IACX,EAAE,CAAC,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,IAAI,CAAC;QAC3B,iBAAiB,EAAE,OAAO;KAC7B,CAAC,CAAC;IAEA,iBAAiB;IACjB,EAAE,CAAC,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;QACpB,MAAM,EAAE,iDAAiD;QACzD,MAAM,EAAE,mDAAmD;QAC3D,SAAS,EAAE,iBAAiB;QAC5B,SAAS,EAAE,YAAY;QACvB,UAAU,EAAE,oBAAoB;QAChC,SAAS,EAAE,oBAAoB;QAC/B,UAAU,EAAE,2BAA2B;KAE1C,CAAC,CAAC;AAEP,CAAC,CAAC","file":"","sourceRoot":"/","sourcesContent":["import { GameConfig } from \"../Config/GameConfig\";\r\nimport HttpUtil from \"../Crypto/HttpUtil\";\r\nimport AudioManager from \"../Music/AudioManager\";\r\nimport { Notifications } from \"../Notification/Notification\";\r\nimport { StorageMessage } from \"../Storage/Storage\";\r\nimport { GameTool } from \"../Tool/GameTool\";\r\n\r\n\r\nwindow.initMgr = function() {\r\n if(cc.fx)\r\n {\r\n return;\r\n }\r\n cc.fx = {};\r\n console.log(\"1初始化\");\r\n\r\n //基础状态信息\r\n cc.fx.StateInfo = {\r\n debugMode: true,\r\n networkConnected: true, //网络状态\r\n networkType: 'none', //网络类型\r\n isOnForeground: true //当前是否是在前台\r\n };\r\n\r\n //应用系统信息\r\n //配置文件\r\n\r\n cc.fx.GameConfig = GameConfig;\r\n cc.fx.HttpUtil = HttpUtil;\r\n cc.fx.GameTool = GameTool;\r\n cc.fx.AudioManager = AudioManager;\r\n cc.fx.Notifications = Notifications;\r\n cc.fx.StorageMessage = StorageMessage;\r\n\r\n cc.fx.ShareInfo = {\r\n queryId : -1 //分享id\r\n };\r\n\r\n cc.fx.Message = {\r\n control: \"10001\", //传递操作控制\r\n startGame:\"10002\", //传递开始建筑\r\n next: \"10003\" , //传递执行下一个格子洪水流过\r\n changePath: \"10004\", //传递操作控制\r\n changeMap: \"10005\", //改变那地图\r\n nextWater: \"10006\" , //传递执行下一个格子洪水流过\r\n addEnd: \"10007\" , //添加结束点\r\n }\r\n\r\n /*\r\n * 客户端埋点分享类型\r\n */\r\n cc.fx.BurialShareType = {\r\n Default : \"default\", //默认分享类型,分享到群\r\n Invite : \"invite\", // 邀请好友\r\n\r\n DailyInviteRoomJoin:'invite_join_room', //邀请好友加入\r\n DailyInviteFriend : 'invite_friend', // 日常邀请好友\r\n DailyInviteGroup : 'invate_group', // 日常分享群\r\n DailyInviteGroupAlive: 'invate_alive', //日常分享群复活\r\n DailyInviteGroupReward: 'invate_rewared',//分享奖励翻倍\r\n DailyInviteGroupBox: 'invate_box', //宝箱分享奖励\r\n DailyInviteGroupBall: 'invate_ball', //分享领取球球\r\n\r\n MatchResult : 'matchResult', // 比赛结算分享\r\n MatchFix5: 'MatchFix5', // 5元红包赛\r\n MatchFix20: 'MatchFix20', // 20元红包赛\r\n MatchFix100: 'MatchFix100', // 100元红包赛\r\n MatchFix500: 'MatchFix500', // 500元红包赛\r\n NewerRedEnvelope: 'newerRedEnvelope', // 新手红包\r\n CoinRoomResult: 'coinRoomResult', // 金币桌结算\r\n HighRate : \"highRate\",//高倍分享\r\n CoinRoomWinStreak: 'coinRoomWinStreak', // 连胜\r\n CoinRoomBankruptcy1: 'coinRoomBankruptcy1', // 金币桌破产\r\n CoinRoomBankruptcy2: 'coinRoomBankruptcy2', // 金币桌破产\r\n CoinRoomBankruptcy3: 'coinRoomBankruptcy3', // 金币桌破产\r\n };\r\n\r\n /*\r\n * 分享到哪儿给奖励 group frined all\r\n */\r\n cc.fx.ShareWhereReward = {\r\n Group :\"group\", //微信群\r\n Friend : \"friend\",//好友\r\n All : \"all\", //不区分\r\n };\r\n\r\n //用于存储消息的ID\r\n cc.fx.storageType = cc.Enum({\r\n\t storageTypeCustom: 1000101, //用于存储关卡等级\r\n\t});\r\n\r\n //用于存储提示语 按照步骤提示\r\n cc.fx.tipType = cc.Enum({\r\n tipOne: '神农氏回到家中,开始整理今天收集来的物品。当他第一次拿出或说出一种植物时,请告诉他这是新植物。',\r\n tipTwo: '如果他拿出或说出的植物你今天看到过,请告诉他上次是看到的;如果你听他说过,则请告诉他上次是听到的。', //用于存储关卡等级\r\n tipErrNew: '这是这局游戏第一次出现{植物}',\r\n tipErrOld: '{植物}刚才出现过呢',\r\n tipErrHear: '上次遇到{植物}时,似乎不是听到的吧',\r\n tipErrSee: '上次遇到{植物}时,似乎不是看到的吧',\r\n tipErrLast: '之前确实看到过{植物},但最近一次似乎不是看到的呢',\r\n\r\n });\r\n\r\n};"]} \ No newline at end of file diff --git a/library/imports/6a/6aa798c7-0aa2-473b-a12b-07a9b66f8212.json b/library/imports/6a/6aa798c7-0aa2-473b-a12b-07a9b66f8212.json new file mode 100644 index 0000000..6b47aaa --- /dev/null +++ b/library/imports/6a/6aa798c7-0aa2-473b-a12b-07a9b66f8212.json @@ -0,0 +1,29 @@ +{ + "__type__": "cc.SpriteFrame", + "content": { + "name": "tou", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", + "rect": [ + 1161, + 341, + 66, + 50 + ], + "offset": [ + 0, + 0 + ], + "originalSize": [ + 66, + 50 + ], + "rotated": 1, + "capInsets": [ + 0, + 0, + 0, + 0 + ] + } +} \ No newline at end of file diff --git a/library/imports/70/709465e6-c307-4b75-9fcc-a2da8ac2344a.json b/library/imports/70/709465e6-c307-4b75-9fcc-a2da8ac2344a.json index 2c6510e..1e0907c 100644 --- a/library/imports/70/709465e6-c307-4b75-9fcc-a2da8ac2344a.json +++ b/library/imports/70/709465e6-c307-4b75-9fcc-a2da8ac2344a.json @@ -5,8 +5,8 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 639, - 99, + 1, + 469, 35, 96 ], @@ -18,6 +18,7 @@ 35, 96 ], + "rotated": 1, "capInsets": [ 0, 0, diff --git a/library/imports/72/72c340fd-ebeb-42ce-a81c-c493482efe7b.json b/library/imports/72/72c340fd-ebeb-42ce-a81c-c493482efe7b.json new file mode 100644 index 0000000..a7c9b19 --- /dev/null +++ b/library/imports/72/72c340fd-ebeb-42ce-a81c-c493482efe7b.json @@ -0,0 +1,28 @@ +{ + "__type__": "cc.SpriteFrame", + "content": { + "name": "fangxiangBg", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", + "rect": [ + 753, + 160, + 258, + 258 + ], + "offset": [ + 0, + 0 + ], + "originalSize": [ + 258, + 258 + ], + "capInsets": [ + 0, + 0, + 0, + 0 + ] + } +} \ No newline at end of file diff --git a/library/imports/73/7337c117-f67d-4c71-a6d2-a63c2c014165.json b/library/imports/73/7337c117-f67d-4c71-a6d2-a63c2c014165.json new file mode 100644 index 0000000..25fc452 --- /dev/null +++ b/library/imports/73/7337c117-f67d-4c71-a6d2-a63c2c014165.json @@ -0,0 +1,28 @@ +{ + "__type__": "cc.SpriteFrame", + "content": { + "name": "xirang", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", + "rect": [ + 1906, + 393, + 72, + 72 + ], + "offset": [ + 0, + 0 + ], + "originalSize": [ + 72, + 72 + ], + "capInsets": [ + 0, + 0, + 0, + 0 + ] + } +} \ No newline at end of file diff --git a/library/imports/57/57395957-a96b-4a27-8e2a-696e24d876a2.json b/library/imports/75/75ac69d4-fee8-4af1-b32c-4c8fab0b6f7b.json similarity index 84% rename from library/imports/57/57395957-a96b-4a27-8e2a-696e24d876a2.json rename to library/imports/75/75ac69d4-fee8-4af1-b32c-4c8fab0b6f7b.json index b72be96..c0ee2f9 100644 --- a/library/imports/57/57395957-a96b-4a27-8e2a-696e24d876a2.json +++ b/library/imports/75/75ac69d4-fee8-4af1-b32c-4c8fab0b6f7b.json @@ -2,7 +2,7 @@ "__type__": "cc.SpriteFrame", "content": { "name": "bg2", - "texture": "c71bf634-8b0b-4e7a-9c82-7ec6173bc5bb", + "texture": "e006af8e-5c21-4124-b29b-4d429f0900b3", "atlas": "", "rect": [ 0, diff --git a/library/imports/76/76a60b7f-4c56-43e3-bd0c-2068fe3e6114.json b/library/imports/76/76a60b7f-4c56-43e3-bd0c-2068fe3e6114.json index 2549a9c..76124e2 100644 --- a/library/imports/76/76a60b7f-4c56-43e3-bd0c-2068fe3e6114.json +++ b/library/imports/76/76a60b7f-4c56-43e3-bd0c-2068fe3e6114.json @@ -5,8 +5,8 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 639, - 1, + 601, + 439, 96, 36 ], @@ -18,7 +18,6 @@ 96, 36 ], - "rotated": 1, "capInsets": [ 0, 0, diff --git a/library/imports/77/771a3d9a-4013-4654-a777-fbaea0c93280.js b/library/imports/77/771a3d9a-4013-4654-a777-fbaea0c93280.js index d8487ec..f600c08 100644 --- a/library/imports/77/771a3d9a-4013-4654-a777-fbaea0c93280.js +++ b/library/imports/77/771a3d9a-4013-4654-a777-fbaea0c93280.js @@ -207,8 +207,8 @@ function responseHandler(response) { // 响应拦截器 // Rq.interceptors.response.use(responseHandler) var config = { - gameId: "100010", - secretKey: "wozrGKsL", + gameId: "100012", + secretKey: "onnfPKJW", EK: "hui231%1" }; var Crypoto = /** @class */ (function () { diff --git a/library/imports/77/771a3d9a-4013-4654-a777-fbaea0c93280.js.map b/library/imports/77/771a3d9a-4013-4654-a777-fbaea0c93280.js.map index a99e184..9d45d7e 100644 --- a/library/imports/77/771a3d9a-4013-4654-a777-fbaea0c93280.js.map +++ b/library/imports/77/771a3d9a-4013-4654-a777-fbaea0c93280.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\module\\Crypto\\HttpUtil.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\r\nconst {ccclass, property} = cc._decorator;\r\nimport CryptoJS = require('./crypto-js.min.js'); //引用AES源码js\r\n\r\nconst BASE_URL = \"https://api.sparkus.cn\";\r\n//只负责网络接口 次类只负责和后端交互,不负责处理数据 数据处理在GameTool\r\n@ccclass\r\nexport default class HttpUtil extends cc.Component {\r\n static async getShareInfo(shareUrl: string): Promise {\r\n console.log(\"设置分享链接:\",shareUrl);\r\n const time = Math.floor((new Date().getTime()) / 1000)\r\n const url = HttpUtil.apiSign(`/api/share/cfg?gameId=${config.gameId}&time=${time}&url=${shareUrl}`,{})\r\n return this.post(url,null,null);\r\n }\r\n //排行榜\r\n static async rankData(type,callback,data): Promise {\r\n const time = Math.floor((new Date().getTime()) / 1000)\r\n const url = HttpUtil.apiSign(`/api/get/rank/data?gameId=${config.gameId}&dataType=${type}&time=${time}`, data)\r\n this.post(url,data,callback);\r\n }\r\n \r\n static async uploadUserLogData(data,callback): Promise {\r\n const url = '/log/collect/data';\r\n this.post(url,data,callback);\r\n }\r\n //暂时用不到\r\n static async getUserRecord(data,callback): Promise {\r\n const time = Math.floor((new Date().getTime()) / 1000)\r\n const url = HttpUtil.apiSign(`/api/get/user/data?gameId=${config.gameId}&time=${time}`, data)\r\n this.post(url,data,callback);\r\n }\r\n static async post(url, data, callback) {\r\n const response = await this.fetchData(url, data, 'POST');\r\n callback && callback(response);\r\n }\r\n\r\n static async get(url, callback) {\r\n const response = await this.fetchData(url, null, 'GET');\r\n callback && callback(response);\r\n }\r\n\r\n static async fetchData(url, data, method) {\r\n const fullUrl = `${BASE_URL}${url}`;\r\n const headers = { 'Content-Type': 'application/json' };\r\n const options = {\r\n method,\r\n headers,\r\n body: data ? JSON.stringify(data) : null,\r\n };\r\n\r\n try {\r\n const response = await fetch(fullUrl, options);\r\n if (!response.ok) {\r\n throw new Error(`HTTP error! status: ${response.status}`);\r\n }\r\n return await response.json();\r\n } catch (error) {\r\n console.error('Fetch error:', error);\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * @param url {string} 接口地址\r\n * @param params {object} 需要加密的参数对象\r\n */\r\n static apiSign(url: string, params = {}) {\r\n\r\n let convertUrl = url.trim()\r\n if (convertUrl.indexOf('?') === -1) {\r\n convertUrl += '?'\r\n }\r\n \r\n // 传入参数转换拼接字符串\r\n let postStr = getQueryString(params)\r\n \r\n const signedStr = genSignStr(convertUrl, postStr)\r\n const encryptStr = `sign=${signedStr}`\r\n\r\n let encryptSignStr = fxCry.encryptByDES(encryptStr, config.secretKey)\r\n encryptSignStr = encodeURIComponent(encryptSignStr)\r\n\r\n return `${urlencode(convertUrl)}&_p=${encryptSignStr}`\r\n }\r\n}\r\n\r\nfunction responseHandler(response: { data: any }) {\r\n return response.data\r\n}\r\n// 响应拦截器\r\n// Rq.interceptors.response.use(responseHandler)\r\nconst config = {\r\n gameId: \"100010\",\r\n secretKey: \"wozrGKsL\",\r\n EK:\"hui231%1\"\r\n};\r\n\r\ninterface CrypotoType {\r\n encryptByDES: any\r\n decryptByDES: any\r\n hmacSha256: any\r\n}\r\n \r\nclass Crypoto implements CrypotoType {\r\n // 加密的向明值,自己根据项目实际情况定,需要跟后端开发保持一致\r\n private keyHex = this.getHetKey()\r\n private getHetKey() {\r\n return CryptoJS.enc.Utf8.parse(config.EK);\r\n }\r\n\r\n /** DES加密 */\r\n encryptByDES(message: string, secret?: string) {\r\n if(!message) {\r\n return message\r\n }\r\n const key = secret? CryptoJS.enc.Utf8.parse(secret): this.keyHex\r\n const encrypted = CryptoJS.DES.encrypt(message, key, {\r\n mode: CryptoJS.mode.ECB,\r\n padding: CryptoJS.pad.Pkcs7\r\n });\r\n return encrypted.toString()\r\n }\r\n\r\n /** DES解密 */\r\n decryptByDES(message: string, secret?: string) {\r\n const key = secret? CryptoJS.enc.Utf8.parse(secret): this.keyHex\r\n\r\n const decrypted = CryptoJS.DES.decrypt({\r\n ciphertext: CryptoJS.enc.Base64.parse(message)\r\n }, key, {\r\n mode: CryptoJS.mode.ECB,\r\n padding: CryptoJS.pad.Pkcs7\r\n })\r\n\r\n return decrypted.toString(CryptoJS.enc.Utf8)\r\n }\r\n\r\n /** hmacSHA256加密 */\r\n hmacSha256(message: string, secret?: string) {\r\n const keyHex = secret? CryptoJS.enc.Utf8.parse(secret): this.keyHex\r\n \r\n const hash = CryptoJS.HmacSHA256(message, keyHex);\r\n return hash.toString()\r\n }\r\n\r\n /** hmacSHA256验证 */\r\n verifyHmacSha256(message: string, signature: string) {\r\n const hash = CryptoJS.HmacSHA256(message, this.keyHex);\r\n return hash.toString() === signature\r\n }\r\n \r\n /** CBC加密 */\r\n encryptCBC(word: string) {\r\n if (!word) {\r\n return word;\r\n }\r\n const srcs = CryptoJS.enc.Utf8.parse(word);\r\n const encrypted = CryptoJS.AES.encrypt(srcs, this.keyHex, {\r\n iv: this.keyHex,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.ZeroPadding\r\n });\r\n return encrypted.toString(); \r\n }\r\n \r\n /** CBC解密 */\r\n decryptCBC(word: string) {\r\n if (!word) {\r\n return word;\r\n }\r\n const encryptedHexStr = CryptoJS.enc.Hex.parse(word);\r\n const srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);\r\n const decrypt = CryptoJS.AES.decrypt(srcs, this.keyHex, {\r\n iv: this.keyHex,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.ZeroPadding\r\n });\r\n const decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);\r\n return decryptedStr.toString();\r\n }\r\n}\r\nconst fxCry = new Crypoto();\r\n\r\nfunction isEmpty(data) {\r\n return data === \"\" || data === null || data === undefined || data.length === 0 || JSON.stringify(data) == \"{}\"\r\n}\r\n\r\nfunction getQueryString(obj) {\r\n // 首先对对象的键进行排序并过滤空值\r\n const sortedKeys = Object.keys(obj).sort();\r\n const sortedObj = {};\r\n for (let i = 0; i < sortedKeys.length; i++) {\r\n if (isEmpty(obj[sortedKeys[i]])) {\r\n continue;\r\n }\r\n sortedObj[sortedKeys[i]] = obj[sortedKeys[i]];\r\n }\r\n \r\n // 然后将排序后的对象转换为查询字符串\r\n const params = [];\r\n for (const key in sortedObj) {\r\n params.push(`${encodeURIComponent(key)}=${encodeURIComponent(sortedObj[key])}`);\r\n }\r\n return params.join('&');\r\n}\r\n\r\n\r\n/**\r\n * 组装签名字符串\r\n * @param string url: 请求地址 \r\n * @param string postStr: post参数的a=1&b=2 \r\n * @returns \r\n */\r\n\r\nfunction genSignStr(url: string, postStr: string): string {\r\n let lessUrl = url.replace('?', '')\r\n lessUrl = lessUrl + \"&\" + postStr\r\n return encodeURIComponent(fxCry.hmacSha256(lessUrl))\r\n}\r\n// 对参数进行统一urlencode\r\nfunction urlencode(url: string): string {\r\n const [baseUrl, queryString] = url.split(\"?\", 2);\r\n const params = new URLSearchParams(queryString);\r\n return `${baseUrl}?${params.toString()}`;\r\n}\r\n\r\n\r\n\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\module\\Crypto\\HttpUtil.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\r\nconst {ccclass, property} = cc._decorator;\r\nimport CryptoJS = require('./crypto-js.min.js'); //引用AES源码js\r\n\r\nconst BASE_URL = \"https://api.sparkus.cn\";\r\n//只负责网络接口 次类只负责和后端交互,不负责处理数据 数据处理在GameTool\r\n@ccclass\r\nexport default class HttpUtil extends cc.Component {\r\n static async getShareInfo(shareUrl: string): Promise {\r\n console.log(\"设置分享链接:\",shareUrl);\r\n const time = Math.floor((new Date().getTime()) / 1000)\r\n const url = HttpUtil.apiSign(`/api/share/cfg?gameId=${config.gameId}&time=${time}&url=${shareUrl}`,{})\r\n return this.post(url,null,null);\r\n }\r\n //排行榜\r\n static async rankData(type,callback,data): Promise {\r\n const time = Math.floor((new Date().getTime()) / 1000)\r\n const url = HttpUtil.apiSign(`/api/get/rank/data?gameId=${config.gameId}&dataType=${type}&time=${time}`, data)\r\n this.post(url,data,callback);\r\n }\r\n \r\n static async uploadUserLogData(data,callback): Promise {\r\n const url = '/log/collect/data';\r\n this.post(url,data,callback);\r\n }\r\n //暂时用不到\r\n static async getUserRecord(data,callback): Promise {\r\n const time = Math.floor((new Date().getTime()) / 1000)\r\n const url = HttpUtil.apiSign(`/api/get/user/data?gameId=${config.gameId}&time=${time}`, data)\r\n this.post(url,data,callback);\r\n }\r\n static async post(url, data, callback) {\r\n const response = await this.fetchData(url, data, 'POST');\r\n callback && callback(response);\r\n }\r\n\r\n static async get(url, callback) {\r\n const response = await this.fetchData(url, null, 'GET');\r\n callback && callback(response);\r\n }\r\n\r\n static async fetchData(url, data, method) {\r\n const fullUrl = `${BASE_URL}${url}`;\r\n const headers = { 'Content-Type': 'application/json' };\r\n const options = {\r\n method,\r\n headers,\r\n body: data ? JSON.stringify(data) : null,\r\n };\r\n\r\n try {\r\n const response = await fetch(fullUrl, options);\r\n if (!response.ok) {\r\n throw new Error(`HTTP error! status: ${response.status}`);\r\n }\r\n return await response.json();\r\n } catch (error) {\r\n console.error('Fetch error:', error);\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * @param url {string} 接口地址\r\n * @param params {object} 需要加密的参数对象\r\n */\r\n static apiSign(url: string, params = {}) {\r\n\r\n let convertUrl = url.trim()\r\n if (convertUrl.indexOf('?') === -1) {\r\n convertUrl += '?'\r\n }\r\n \r\n // 传入参数转换拼接字符串\r\n let postStr = getQueryString(params)\r\n \r\n const signedStr = genSignStr(convertUrl, postStr)\r\n const encryptStr = `sign=${signedStr}`\r\n\r\n let encryptSignStr = fxCry.encryptByDES(encryptStr, config.secretKey)\r\n encryptSignStr = encodeURIComponent(encryptSignStr)\r\n\r\n return `${urlencode(convertUrl)}&_p=${encryptSignStr}`\r\n }\r\n}\r\n\r\nfunction responseHandler(response: { data: any }) {\r\n return response.data\r\n}\r\n// 响应拦截器\r\n// Rq.interceptors.response.use(responseHandler)\r\nconst config = {\r\n gameId: \"100012\",\r\n secretKey: \"onnfPKJW\",\r\n EK:\"hui231%1\"\r\n};\r\n\r\ninterface CrypotoType {\r\n encryptByDES: any\r\n decryptByDES: any\r\n hmacSha256: any\r\n}\r\n \r\nclass Crypoto implements CrypotoType {\r\n // 加密的向明值,自己根据项目实际情况定,需要跟后端开发保持一致\r\n private keyHex = this.getHetKey()\r\n private getHetKey() {\r\n return CryptoJS.enc.Utf8.parse(config.EK);\r\n }\r\n\r\n /** DES加密 */\r\n encryptByDES(message: string, secret?: string) {\r\n if(!message) {\r\n return message\r\n }\r\n const key = secret? CryptoJS.enc.Utf8.parse(secret): this.keyHex\r\n const encrypted = CryptoJS.DES.encrypt(message, key, {\r\n mode: CryptoJS.mode.ECB,\r\n padding: CryptoJS.pad.Pkcs7\r\n });\r\n return encrypted.toString()\r\n }\r\n\r\n /** DES解密 */\r\n decryptByDES(message: string, secret?: string) {\r\n const key = secret? CryptoJS.enc.Utf8.parse(secret): this.keyHex\r\n\r\n const decrypted = CryptoJS.DES.decrypt({\r\n ciphertext: CryptoJS.enc.Base64.parse(message)\r\n }, key, {\r\n mode: CryptoJS.mode.ECB,\r\n padding: CryptoJS.pad.Pkcs7\r\n })\r\n\r\n return decrypted.toString(CryptoJS.enc.Utf8)\r\n }\r\n\r\n /** hmacSHA256加密 */\r\n hmacSha256(message: string, secret?: string) {\r\n const keyHex = secret? CryptoJS.enc.Utf8.parse(secret): this.keyHex\r\n \r\n const hash = CryptoJS.HmacSHA256(message, keyHex);\r\n return hash.toString()\r\n }\r\n\r\n /** hmacSHA256验证 */\r\n verifyHmacSha256(message: string, signature: string) {\r\n const hash = CryptoJS.HmacSHA256(message, this.keyHex);\r\n return hash.toString() === signature\r\n }\r\n \r\n /** CBC加密 */\r\n encryptCBC(word: string) {\r\n if (!word) {\r\n return word;\r\n }\r\n const srcs = CryptoJS.enc.Utf8.parse(word);\r\n const encrypted = CryptoJS.AES.encrypt(srcs, this.keyHex, {\r\n iv: this.keyHex,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.ZeroPadding\r\n });\r\n return encrypted.toString(); \r\n }\r\n \r\n /** CBC解密 */\r\n decryptCBC(word: string) {\r\n if (!word) {\r\n return word;\r\n }\r\n const encryptedHexStr = CryptoJS.enc.Hex.parse(word);\r\n const srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);\r\n const decrypt = CryptoJS.AES.decrypt(srcs, this.keyHex, {\r\n iv: this.keyHex,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.ZeroPadding\r\n });\r\n const decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);\r\n return decryptedStr.toString();\r\n }\r\n}\r\nconst fxCry = new Crypoto();\r\n\r\nfunction isEmpty(data) {\r\n return data === \"\" || data === null || data === undefined || data.length === 0 || JSON.stringify(data) == \"{}\"\r\n}\r\n\r\nfunction getQueryString(obj) {\r\n // 首先对对象的键进行排序并过滤空值\r\n const sortedKeys = Object.keys(obj).sort();\r\n const sortedObj = {};\r\n for (let i = 0; i < sortedKeys.length; i++) {\r\n if (isEmpty(obj[sortedKeys[i]])) {\r\n continue;\r\n }\r\n sortedObj[sortedKeys[i]] = obj[sortedKeys[i]];\r\n }\r\n \r\n // 然后将排序后的对象转换为查询字符串\r\n const params = [];\r\n for (const key in sortedObj) {\r\n params.push(`${encodeURIComponent(key)}=${encodeURIComponent(sortedObj[key])}`);\r\n }\r\n return params.join('&');\r\n}\r\n\r\n\r\n/**\r\n * 组装签名字符串\r\n * @param string url: 请求地址 \r\n * @param string postStr: post参数的a=1&b=2 \r\n * @returns \r\n */\r\n\r\nfunction genSignStr(url: string, postStr: string): string {\r\n let lessUrl = url.replace('?', '')\r\n lessUrl = lessUrl + \"&\" + postStr\r\n return encodeURIComponent(fxCry.hmacSha256(lessUrl))\r\n}\r\n// 对参数进行统一urlencode\r\nfunction urlencode(url: string): string {\r\n const [baseUrl, queryString] = url.split(\"?\", 2);\r\n const params = new URLSearchParams(queryString);\r\n return `${baseUrl}?${params.toString()}`;\r\n}\r\n\r\n\r\n\r\n"]} \ No newline at end of file diff --git a/library/imports/7a/7a27612e-e898-4a59-afb2-1afd54664469.jpg b/library/imports/7a/7a27612e-e898-4a59-afb2-1afd54664469.jpg new file mode 100644 index 0000000..37c26bb Binary files /dev/null and b/library/imports/7a/7a27612e-e898-4a59-afb2-1afd54664469.jpg differ diff --git a/library/imports/7a/7a27612e-e898-4a59-afb2-1afd54664469.json b/library/imports/7a/7a27612e-e898-4a59-afb2-1afd54664469.json new file mode 100644 index 0000000..9ddba82 --- /dev/null +++ b/library/imports/7a/7a27612e-e898-4a59-afb2-1afd54664469.json @@ -0,0 +1,4 @@ +{ + "__type__": "cc.Texture2D", + "content": "1,9729,9729,33071,33071,0,0,1" +} \ No newline at end of file diff --git a/library/imports/7a/7a90e76c-37f8-4f8c-84e9-f05b34afe481.json b/library/imports/7a/7a90e76c-37f8-4f8c-84e9-f05b34afe481.json index 3f06896..5a6f5c5 100644 --- a/library/imports/7a/7a90e76c-37f8-4f8c-84e9-f05b34afe481.json +++ b/library/imports/7a/7a90e76c-37f8-4f8c-84e9-f05b34afe481.json @@ -29,15 +29,15 @@ "_opacity": 255, "_color": { "__type__": "cc.Color", - "r": 0, + "r": 255, "g": 255, - "b": 235, + "b": 255, "a": 255 }, "_contentSize": { "__type__": "cc.Size", - "width": 96, - "height": 96 + "width": 46, + "height": 46 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -55,8 +55,8 @@ 0, 0, 1, - 0.5, - 0.5, + 1, + 1, 0 ] }, @@ -89,7 +89,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "a3ef42a4-ab25-492d-b6c8-36d166c99a15" + "__uuid__": "b80f2487-005a-4928-bde5-04fa41aeda71" }, "_type": 0, "_sizeMode": 1, @@ -102,7 +102,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "" }, { diff --git a/library/imports/7e/7e7eda60-8ffb-448c-8335-db3202b032ae.json b/library/imports/7e/7e7eda60-8ffb-448c-8335-db3202b032ae.json index cbdb303..878888b 100644 --- a/library/imports/7e/7e7eda60-8ffb-448c-8335-db3202b032ae.json +++ b/library/imports/7e/7e7eda60-8ffb-448c-8335-db3202b032ae.json @@ -5,8 +5,8 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 393, - 393, + 1906, + 295, 96, 96 ], diff --git a/library/imports/82/82bfa81b-1f1a-48eb-b099-e95301a18b12.json b/library/imports/82/82bfa81b-1f1a-48eb-b099-e95301a18b12.json index 47e98d4..3482041 100644 --- a/library/imports/82/82bfa81b-1f1a-48eb-b099-e95301a18b12.json +++ b/library/imports/82/82bfa81b-1f1a-48eb-b099-e95301a18b12.json @@ -5,8 +5,8 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 149, - 99, + 1612, + 107, 96, 96 ], diff --git a/library/imports/85/856884c2-0caa-4a9a-80a7-a70579d9aa0e.json b/library/imports/85/856884c2-0caa-4a9a-80a7-a70579d9aa0e.json index 728d754..1ac327f 100644 --- a/library/imports/85/856884c2-0caa-4a9a-80a7-a70579d9aa0e.json +++ b/library/imports/85/856884c2-0caa-4a9a-80a7-a70579d9aa0e.json @@ -5,8 +5,8 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 197, - 393, + 1416, + 329, 96, 96 ], diff --git a/library/imports/86/86453b08-c95d-4dd7-be39-d7d97e3f93db.json b/library/imports/86/86453b08-c95d-4dd7-be39-d7d97e3f93db.json new file mode 100644 index 0000000..3154b9a --- /dev/null +++ b/library/imports/86/86453b08-c95d-4dd7-be39-d7d97e3f93db.json @@ -0,0 +1,28 @@ +{ + "__type__": "cc.SpriteFrame", + "content": { + "name": "little_down", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", + "rect": [ + 699, + 439, + 46, + 46 + ], + "offset": [ + 0, + 0 + ], + "originalSize": [ + 46, + 46 + ], + "capInsets": [ + 0, + 0, + 0, + 0 + ] + } +} \ No newline at end of file diff --git a/library/imports/87/871cad33-3cc9-4493-8955-ff9b846eccda.json b/library/imports/87/871cad33-3cc9-4493-8955-ff9b846eccda.json index 74c8517..1fd6755 100644 --- a/library/imports/87/871cad33-3cc9-4493-8955-ff9b846eccda.json +++ b/library/imports/87/871cad33-3cc9-4493-8955-ff9b846eccda.json @@ -5,8 +5,8 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 491, - 295, + 1514, + 407, 96, 96 ], diff --git a/library/imports/8b/8b515dd2-1203-45e6-a436-e6ee9ed13628.json b/library/imports/8b/8b515dd2-1203-45e6-a436-e6ee9ed13628.json new file mode 100644 index 0000000..acfc35f --- /dev/null +++ b/library/imports/8b/8b515dd2-1203-45e6-a436-e6ee9ed13628.json @@ -0,0 +1,28 @@ +{ + "__type__": "cc.SpriteFrame", + "content": { + "name": "little_left", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", + "rect": [ + 1213, + 356, + 46, + 46 + ], + "offset": [ + 0, + 0 + ], + "originalSize": [ + 46, + 46 + ], + "capInsets": [ + 0, + 0, + 0, + 0 + ] + } +} \ No newline at end of file diff --git a/library/imports/8e/8e56f0ab-ead9-40ba-990e-1e82c9d20326.png b/library/imports/8e/8e56f0ab-ead9-40ba-990e-1e82c9d20326.png index f553c26..cb0ec53 100644 Binary files a/library/imports/8e/8e56f0ab-ead9-40ba-990e-1e82c9d20326.png and b/library/imports/8e/8e56f0ab-ead9-40ba-990e-1e82c9d20326.png differ diff --git a/library/imports/98/9830637c-e4e3-4df5-8d51-fc49b7d715b4.json b/library/imports/98/9830637c-e4e3-4df5-8d51-fc49b7d715b4.json index cd815ed..5fce6ba 100644 --- a/library/imports/98/9830637c-e4e3-4df5-8d51-fc49b7d715b4.json +++ b/library/imports/98/9830637c-e4e3-4df5-8d51-fc49b7d715b4.json @@ -31,6 +31,9 @@ "b4": { "__uuid__": "82bfa81b-1f1a-48eb-b099-e95301a18b12" }, + "begin": { + "__uuid__": "3dd7e558-3aa4-4532-bbba-dab95a545c39" + }, "block1": { "__uuid__": "a867e23c-0cb2-4e4c-8b56-6d767ba3e3a7" }, @@ -40,6 +43,9 @@ "block_Bg": { "__uuid__": "f76f3659-5f49-4743-8a58-db0adfccd455" }, + "build": { + "__uuid__": "362b68b6-68cd-4d41-a7f3-9ccf65481660" + }, "c1": { "__uuid__": "c01c7783-54ca-426a-b44e-173f4dba8a8a" }, @@ -52,6 +58,9 @@ "c4": { "__uuid__": "07fa5951-49b1-4fa4-8667-27999003939a" }, + "chehui": { + "__uuid__": "089e5dee-caa2-4903-bba8-1371afcc55d7" + }, "d1": { "__uuid__": "98c1725e-902b-4645-a3ea-6bc3bf4233a3" }, @@ -61,6 +70,12 @@ "d3": { "__uuid__": "d4cced48-f310-45c1-b6d9-9ffb0a317860" }, + "down": { + "__uuid__": "fc9f379e-ab15-4792-adce-65600c4793c7" + }, + "downBg": { + "__uuid__": "bc10af6c-0a42-48e2-9e8a-95188e5eea79" + }, "e1": { "__uuid__": "ba05db30-6e52-451e-bb43-8761b4a1352f" }, @@ -76,6 +91,9 @@ "e5": { "__uuid__": "4cb4f3da-0231-462a-893e-a90b00089fdb" }, + "e6": { + "__uuid__": "abd4feee-c0b1-4fd0-bc07-927f4c13eafe" + }, "end": { "__uuid__": "2e46ecc1-2d69-4152-8e31-4b41cbfc7c58" }, @@ -85,6 +103,54 @@ "end_y": { "__uuid__": "709465e6-c307-4b75-9fcc-a2da8ac2344a" }, + "fangxiangBg": { + "__uuid__": "72c340fd-ebeb-42ce-a81c-c493482efe7b" + }, + "headBg": { + "__uuid__": "ffab2d63-1700-4821-8d95-9f4d4717aa1b" + }, + "jiagu": { + "__uuid__": "c24c6cab-d079-4534-8f94-e441d509cf46" + }, + "lang": { + "__uuid__": "db06b8d5-6735-4ce0-8748-edfe06e9fd30" + }, + "left": { + "__uuid__": "dda83961-0246-4b58-82f5-cbc6af047e6e" + }, + "line": { + "__uuid__": "d53a3565-f833-4261-9076-d48232a513c5" + }, + "little_down": { + "__uuid__": "86453b08-c95d-4dd7-be39-d7d97e3f93db" + }, + "little_jiagu": { + "__uuid__": "b80f2487-005a-4928-bde5-04fa41aeda71" + }, + "little_left": { + "__uuid__": "8b515dd2-1203-45e6-a436-e6ee9ed13628" + }, + "little_right": { + "__uuid__": "f4f7f0ee-4505-4085-a0fe-081d7cc724cb" + }, + "little_up": { + "__uuid__": "b142e246-09b9-4c84-bdba-3a87fa48722b" + }, + "little_xirang": { + "__uuid__": "c56d3750-ea9e-4a25-8ee4-ca2306c86f7e" + }, + "progress": { + "__uuid__": "fb15d143-fb48-4fae-8921-e5f005493fac" + }, + "progressBg": { + "__uuid__": "12878a32-a063-42b4-b233-9e419054c084" + }, + "rankBtn": { + "__uuid__": "359e8c8b-2bf5-4e8e-b90e-a7654f81f2f9" + }, + "right": { + "__uuid__": "cfa9cb38-5f6a-444a-b048-f064baeef016" + }, "shan1": { "__uuid__": "7e7eda60-8ffb-448c-8335-db3202b032ae" }, @@ -97,20 +163,41 @@ "shan4": { "__uuid__": "2ea9f5b0-2ba0-4c1c-a891-76ee23e107dc" }, + "shanchu": { + "__uuid__": "b2268e61-7cd7-4fdc-8c43-6836c1069443" + }, "start": { "__uuid__": "bcddfc22-50b3-4d39-ab5f-ed3fbec0f9a7" }, + "startBtn": { + "__uuid__": "b6ede43c-af51-4c1f-849c-e0d3d7f4f9bd" + }, "start_x": { "__uuid__": "76a60b7f-4c56-43e3-bd0c-2068fe3e6114" }, "start_y": { "__uuid__": "1b0a613a-1291-468a-9bae-538cd32610e5" }, - "turn_wawe": { - "__uuid__": "9409beb3-6467-4b06-be3e-1b74f13ca499" + "tou": { + "__uuid__": "6aa798c7-0aa2-473b-a12b-07a9b66f8212" + }, + "turn_wawe2": { + "__uuid__": "5f0d6504-1636-4144-8d9e-32364b96f8d1" + }, + "up": { + "__uuid__": "1337f623-c519-41bc-9b89-40e37366041f" }, "vertical_wave": { "__uuid__": "153f1f33-91bf-4f36-a33f-f042a187c02e" + }, + "vertical_wave2": { + "__uuid__": "61be84a2-2f2b-4274-a6ef-41d52c9555af" + }, + "vertical_wave3": { + "__uuid__": "e498e92c-6f59-4675-8a5f-dea0cf949d66" + }, + "xirang": { + "__uuid__": "7337c117-f67d-4c71-a6d2-a63c2c014165" } } } \ No newline at end of file diff --git a/library/imports/98/98c1725e-902b-4645-a3ea-6bc3bf4233a3.json b/library/imports/98/98c1725e-902b-4645-a3ea-6bc3bf4233a3.json index 52f4b52..c42fbcc 100644 --- a/library/imports/98/98c1725e-902b-4645-a3ea-6bc3bf4233a3.json +++ b/library/imports/98/98c1725e-902b-4645-a3ea-6bc3bf4233a3.json @@ -5,8 +5,8 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 419, - 197, + 1612, + 205, 96, 96 ], diff --git a/library/imports/9c/9c08062d-4cf1-4b6e-a8ba-4a3881cc7e7d.json b/library/imports/9c/9c08062d-4cf1-4b6e-a8ba-4a3881cc7e7d.json index c0b942d..76b15b1 100644 --- a/library/imports/9c/9c08062d-4cf1-4b6e-a8ba-4a3881cc7e7d.json +++ b/library/imports/9c/9c08062d-4cf1-4b6e-a8ba-4a3881cc7e7d.json @@ -79,13 +79,13 @@ "__id__": 10 }, { - "__id__": 16 + "__id__": 18 }, { - "__id__": 19 + "__id__": 21 }, { - "__id__": 22 + "__id__": 24 } ], "_active": true, @@ -287,8 +287,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 376, - "height": 84 + "width": 750, + "height": 1660 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -300,7 +300,7 @@ "ctor": "Float64Array", "array": [ 0, - -313.22, + 0, 0, 0, 0, @@ -339,7 +339,9 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_spriteFrame": null, + "_spriteFrame": { + "__uuid__": "cdd137bb-0948-45d8-83d9-72ef549a9dbc" + }, "_type": 0, "_sizeMode": 1, "_fillType": 0, @@ -448,12 +450,15 @@ "_children": [ { "__id__": 11 + }, + { + "__id__": 14 } ], "_active": true, "_components": [ { - "__id__": 14 + "__id__": 16 } ], "_prefab": null, @@ -532,8 +537,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 126, - "height": 140 + "width": 102, + "height": 102 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -584,7 +589,9 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_spriteFrame": null, + "_spriteFrame": { + "__uuid__": "359e8c8b-2bf5-4e8e-b90e-a7654f81f2f9" + }, "_type": 1, "_sizeMode": 1, "_fillType": 0, @@ -596,7 +603,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "e3tnncQgtFn49iTBzwCpMN" }, { @@ -610,10 +619,10 @@ "alignMode": 0, "_target": null, "_alignFlags": 45, - "_left": -13, - "_right": -13, - "_top": -50, - "_bottom": -50, + "_left": -1, + "_right": -1, + "_top": -31, + "_bottom": -31, "_verticalCenter": 0, "_horizontalCenter": 0, "_isAbsLeft": true, @@ -626,6 +635,101 @@ "_originalHeight": 40, "_id": "3b6aA5QpdJN5tCMv9rwDLJ" }, + { + "__type__": "cc.Node", + "_name": "New Label", + "_objFlags": 0, + "_parent": { + "__id__": 10 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 15 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 52.39, + "height": 28.98 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0.402, + -49.341, + 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": "dc+p3yYYdKzLQ5TIo+4Fs9" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 14 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "排 行", + "_N$string": "排 行", + "_fontSize": 23, + "_lineHeight": 23, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "1cN62hedRCao1kwdunTZIT" + }, { "__type__": "cc.Button", "_name": "", @@ -640,7 +744,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 15 + "__id__": 17 } ], "_N$interactable": true, @@ -731,10 +835,10 @@ "_active": true, "_components": [ { - "__id__": 17 + "__id__": 19 }, { - "__id__": 18 + "__id__": 20 } ], "_prefab": null, @@ -790,7 +894,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 16 + "__id__": 18 }, "_enabled": true, "_materials": [ @@ -823,7 +927,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 16 + "__id__": 18 }, "_enabled": true, "alignMode": 1, @@ -856,10 +960,10 @@ "_active": true, "_components": [ { - "__id__": 20 + "__id__": 22 }, { - "__id__": 21 + "__id__": 23 } ], "_prefab": null, @@ -915,7 +1019,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 19 + "__id__": 21 }, "_enabled": true, "_materials": [ @@ -948,7 +1052,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 19 + "__id__": 21 }, "_enabled": true, "alignMode": 1, @@ -979,7 +1083,7 @@ }, "_children": [ { - "__id__": 23 + "__id__": 25 } ], "_active": true, @@ -999,8 +1103,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 513, + "height": 137 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1012,7 +1116,7 @@ "ctor": "Float64Array", "array": [ 0, - 0, + -313.512, 0, 0, 0, @@ -1041,13 +1145,9 @@ "_name": "Background", "_objFlags": 512, "_parent": { - "__id__": 22 + "__id__": 24 }, - "_children": [ - { - "__id__": 24 - } - ], + "_children": [], "_active": true, "_components": [ { @@ -1068,8 +1168,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 513, + "height": 137 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1089,7 +1189,7 @@ 1, 1, 1, - 1 + 0 ] }, "_eulerAngles": { @@ -1105,107 +1205,12 @@ "groupIndex": 0, "_id": "94ty86DIJF0avZl6O1I7GB" }, - { - "__type__": "cc.Node", - "_name": "Label", - "_objFlags": 512, - "_parent": { - "__id__": 23 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 25 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 100, - "height": 40 - }, - "_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": "4fWr7e41ZPpYJvI6vP+AD0" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 24 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_string": "button", - "_N$string": "button", - "_fontSize": 20, - "_lineHeight": 40, - "_enableWrapText": false, - "_N$file": null, - "_isSystemFontUsed": true, - "_spacingX": 0, - "_batchAsBitmap": false, - "_styleFlags": 0, - "_underlineHeight": 0, - "_N$horizontalAlign": 1, - "_N$verticalAlign": 1, - "_N$fontFamily": "Arial", - "_N$overflow": 1, - "_N$cacheMode": 1, - "_id": "dduVKBa/tP9J5SOHdfymKE" - }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 23 + "__id__": 25 }, "_enabled": true, "_materials": [ @@ -1216,10 +1221,10 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" + "__uuid__": "b6ede43c-af51-4c1f-849c-e0d3d7f4f9bd" }, "_type": 1, - "_sizeMode": 0, + "_sizeMode": 1, "_fillType": 0, "_fillCenter": { "__type__": "cc.Vec2", @@ -1229,7 +1234,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "01g+tMB7RF4bxts75/150X" }, { @@ -1237,7 +1244,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 23 + "__id__": 25 }, "_enabled": true, "alignMode": 0, @@ -1264,7 +1271,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 22 + "__id__": 24 }, "_enabled": true, "_normalMaterial": null, @@ -1278,8 +1285,8 @@ ], "_N$interactable": true, "_N$enableAutoGrayEffect": false, - "_N$transition": 2, - "transition": 2, + "_N$transition": 3, + "transition": 3, "_N$normalColor": { "__type__": "cc.Color", "r": 230, @@ -1341,7 +1348,7 @@ "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e" }, "_N$target": { - "__id__": 23 + "__id__": 25 }, "_id": "2esgMwAepCjYmphoCmbewk" }, @@ -1410,7 +1417,7 @@ "localTest": true, "clientTestVersion": "1.0.2", "testVersion": { - "__id__": 17 + "__id__": 19 }, "_id": "50zCP3Mq9MKIKjMbohPY8j" } diff --git a/library/imports/9c/9c52c504-63b0-4df2-9469-ef172f9f08f9.json b/library/imports/9c/9c52c504-63b0-4df2-9469-ef172f9f08f9.json index 60f39b1..df20a3e 100644 --- a/library/imports/9c/9c52c504-63b0-4df2-9469-ef172f9f08f9.json +++ b/library/imports/9c/9c52c504-63b0-4df2-9469-ef172f9f08f9.json @@ -5,8 +5,8 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ + 1788, 1, - 247, 96, 96 ], diff --git a/library/imports/9c/9c57b027-f2a1-41e8-8cff-2d0774b4ff1d.json b/library/imports/9c/9c57b027-f2a1-41e8-8cff-2d0774b4ff1d.json index c76d798..e420042 100644 --- a/library/imports/9c/9c57b027-f2a1-41e8-8cff-2d0774b4ff1d.json +++ b/library/imports/9c/9c57b027-f2a1-41e8-8cff-2d0774b4ff1d.json @@ -5,8 +5,8 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 443, - 1, + 1416, + 133, 96, 96 ], diff --git a/library/imports/9e/9e91c351-bd17-446b-b773-3b715fe6ba48.json b/library/imports/9e/9e91c351-bd17-446b-b773-3b715fe6ba48.json index 1690894..bdd1331 100644 --- a/library/imports/9e/9e91c351-bd17-446b-b773-3b715fe6ba48.json +++ b/library/imports/9e/9e91c351-bd17-446b-b773-3b715fe6ba48.json @@ -29,15 +29,15 @@ "_opacity": 255, "_color": { "__type__": "cc.Color", - "r": 219, - "g": 80, - "b": 14, + "r": 255, + "g": 255, + "b": 255, "a": 255 }, "_contentSize": { "__type__": "cc.Size", - "width": 96, - "height": 96 + "width": 46, + "height": 46 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -55,8 +55,8 @@ 0, 0, 1, - 0.5, - 0.5, + 1, + 1, 0 ] }, @@ -89,7 +89,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "a3ef42a4-ab25-492d-b6c8-36d166c99a15" + "__uuid__": "c56d3750-ea9e-4a25-8ee4-ca2306c86f7e" }, "_type": 0, "_sizeMode": 1, @@ -102,7 +102,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "" }, { diff --git a/library/imports/a8/a867e23c-0cb2-4e4c-8b56-6d767ba3e3a7.json b/library/imports/a8/a867e23c-0cb2-4e4c-8b56-6d767ba3e3a7.json index 0db5457..574d09d 100644 --- a/library/imports/a8/a867e23c-0cb2-4e4c-8b56-6d767ba3e3a7.json +++ b/library/imports/a8/a867e23c-0cb2-4e4c-8b56-6d767ba3e3a7.json @@ -5,7 +5,7 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 247, + 1710, 99, 96, 96 diff --git a/library/imports/aa/aa0a56f4-7e8b-4e9a-ba0d-cd75b5f04b33.json b/library/imports/aa/aa0a56f4-7e8b-4e9a-ba0d-cd75b5f04b33.json index 208644a..c7a6e60 100644 --- a/library/imports/aa/aa0a56f4-7e8b-4e9a-ba0d-cd75b5f04b33.json +++ b/library/imports/aa/aa0a56f4-7e8b-4e9a-ba0d-cd75b5f04b33.json @@ -5,8 +5,8 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 541, - 1, + 1514, + 113, 96, 96 ], diff --git a/library/imports/af/af8457b5-c84c-4585-9402-aee73193f450.json b/library/imports/ab/abd4feee-c0b1-4fd0-bc07-927f4c13eafe.json similarity index 56% rename from library/imports/af/af8457b5-c84c-4585-9402-aee73193f450.json rename to library/imports/ab/abd4feee-c0b1-4fd0-bc07-927f4c13eafe.json index e57c7f3..8824eef 100644 --- a/library/imports/af/af8457b5-c84c-4585-9402-aee73193f450.json +++ b/library/imports/ab/abd4feee-c0b1-4fd0-bc07-927f4c13eafe.json @@ -1,13 +1,13 @@ { "__type__": "cc.SpriteFrame", "content": { - "name": "block1", - "texture": "d38677eb-455f-4373-ad16-121fc24ccd59", - "atlas": "", + "name": "e6", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 0, - 0, - 60, + 1710, + 295, + 96, 96 ], "offset": [ @@ -15,7 +15,7 @@ 0 ], "originalSize": [ - 60, + 96, 96 ], "capInsets": [ diff --git a/library/imports/ac/ac13d46e-7c59-4656-a2e3-c47daa6d69ad.png b/library/imports/ac/ac13d46e-7c59-4656-a2e3-c47daa6d69ad.png deleted file mode 100644 index 64483e2..0000000 Binary files a/library/imports/ac/ac13d46e-7c59-4656-a2e3-c47daa6d69ad.png and /dev/null differ diff --git a/library/imports/b0/b0432040-dbde-438c-839c-ba2b5d18a3b5.js b/library/imports/b0/b0432040-dbde-438c-839c-ba2b5d18a3b5.js index cf88742..4a37402 100644 --- a/library/imports/b0/b0432040-dbde-438c-839c-ba2b5d18a3b5.js +++ b/library/imports/b0/b0432040-dbde-438c-839c-ba2b5d18a3b5.js @@ -32,6 +32,8 @@ var GameManager = /** @class */ (function (_super) { var _this = _super !== null && _super.apply(this, arguments) || this; _this.Map = null; _this.Block = null; + _this.Time = null; + _this.Countdown = null; return _this; } GameManager.prototype.onLoad = function () { @@ -43,28 +45,50 @@ var GameManager = /** @class */ (function (_super) { //初始化数据 GameManager.prototype.init = function () { this.initMap(); + this.countTime = cc.fx.GameConfig.TIME_INFO.totalTime; + this.waterTime = cc.fx.GameConfig.TIME_INFO.waterTime[cc.fx.GameConfig.GM_INFO.level]; + 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); }; - //初始化地图 + //初始化地图` GameManager.prototype.initMap = function () { this.block_Array = []; this.path_Array = []; + this.water_Array = []; this.map_Array = []; + this.plan_over = false; this.map_Hight = 0; this.map_Width = 0; - var arr = cc.fx.GameConfig.LEVEL_INFO[0][0].map; + var number = 10; //9 + number = Math.floor(Math.random() * cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level].length); + // number = 1; + var arr = cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][number].map; + debugger; + this.node.getChildByName("Top").getChildByName("id").getComponent(cc.Label).string = + cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][number].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]); - if (this.map_Array[i][j] == cc.Enum(Block_1.BlockType).Start) + 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); } @@ -95,30 +119,50 @@ var GameManager = /** @class */ (function (_super) { break; } } - this.runWater(0); + this.runRoad(0); }; //开始执行洪峰来了的动画 - GameManager.prototype.runWater = function (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)); + // console.log(this.water_Array); + // debugger; + 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); + // console.log(this.water_Array); + } + } + 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"; - // 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"; - // } + setTimeout(function () { + if (!_this.plan_over) { + console.log("准备出水"); + _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); + _this.waterTween.stop(); + progress.fillRange = 1; + _this.runWater(0); + } + }, 500); } else { if (this.path_Array[order].z == 6 && order + 1 < this.path_Array.length) { @@ -129,39 +173,52 @@ var GameManager = /** @class */ (function (_super) { if (this.path_Array[order + 1].z == 5) { direction = "Xi_Soil"; } + else if (this.path_Array[order + 1].z == 6 && order == 0) { + direction = "Reinforce"; + } else { - direction = this.getDirection(order); + direction = this.getDirection(order, this.path_Array); } } else { - direction = this.getDirection(order); + direction = this.getDirection(order, this.path_Array); } } // console.log(order,this.path_Array[order].x,this.path_Array[order].y,i); - var jg = this.getBoundary(order, this.path_Array[order].x, this.path_Array[order].y, direction); + // 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; var target = this.block_Array[i].getComponent("Block"); - // console.log("步骤:",order,"方向",direction); 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.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" && 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: 0.2, + time: cc.fx.GameConfig.TIME_INFO.waterSpeed[cc.fx.GameConfig.GM_INFO.level], type: this.path_Array[order].z, - circulate: circulate + circulate: circulate, + last: pos }; - target.runWater(data); + target.runRoad(data); } }; //判断边界。或者撞山,或者湿地没有加固 - GameManager.prototype.getBoundary = function (order, x, y, direction) { + 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; @@ -169,7 +226,7 @@ var GameManager = /** @class */ (function (_super) { alert("超过边界,游戏结束"); } else { - var i = this.path_Array[order].x * this.map_Array[0].length + this.path_Array[order].y; + 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; @@ -184,12 +241,73 @@ var GameManager = /** @class */ (function (_super) { } 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 (this.water_Array[order].z == 6 && order + 1 < this.water_Array.length) { + 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); + } + } + // console.log(order,this.path_Array[order].x,this.path_Array[order].y,i); + var jg = this.getBoundary(order, this.water_Array[order].x, this.water_Array[order].y, direction, this.water_Array); + console.log("步骤:", order, "方向", direction); + if (direction == "" || jg == 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 data = { + order: order, + time: cc.fx.GameConfig.TIME_INFO.waterSpeed[cc.fx.GameConfig.GM_INFO.level], + type: this.water_Array[order].z, + circulate: circulate + }; + target.runWater(data); + } + }; //获取息壤的格子的方向 - GameManager.prototype.getXi_Soil = function (order) { + GameManager.prototype.getXi_Soil = function (order, road) { var direction = null; //如果息壤后面还有下一步的话 - if (order + 1 < this.path_Array.length) { - direction = this.getDirection(order); + if (order + 1 < road.length) { + direction = this.getDirection(order, road); if (direction == "up" || direction == "right_up" || direction == "left_up") { direction = "up"; } @@ -206,28 +324,35 @@ var GameManager = /** @class */ (function (_super) { return direction; }; //设置息壤 - GameManager.prototype.set_Soil = function (order) { - var direction = this.getXi_Soil(order); + 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 = this.path_Array[order].x; i <= length; i++) { - var n = i * this.map_Array[0].length + this.path_Array[order].y; + 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) { + 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 = this.path_Array[order].x; i >= length; i--) { - var n = i * this.map_Array[0].length + this.path_Array[order].y; + 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) { + if (target.block_Type == 3 || target.block_Type == 4) { length = i + 1; + if (target.block_Type == 4) { + length -= 1; + } i = -1; break; } @@ -235,11 +360,14 @@ var GameManager = /** @class */ (function (_super) { } else if (direction == "up") { length = 0; - for (var i = this.path_Array[order].y; i >= length; i--) { - var n = this.path_Array[order].x * this.map_Array[0].length + i; + 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) { + if (target.block_Type == 3 || target.block_Type == 4) { length = i + 1; + if (target.block_Type == 4) { + length -= 1; + } i = -1; break; } @@ -247,114 +375,181 @@ var GameManager = /** @class */ (function (_super) { } else if (direction == "down") { length = this.map_Hight - 1; - for (var i = this.path_Array[order].y; i <= length; i++) { - var n = this.path_Array[order].x * this.map_Array[0].length + i; + 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) { + 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); + this.soil_Find(direction, order, length, road, name); }; //查找息壤蛮遗憾路径 - GameManager.prototype.soil_Find = function (direction, order, length) { - var start = this.path_Array[order].x; + 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 + this.path_Array[order].y; + var n = i * this.map_Array[0].length + road[order].y; var target = this.block_Array[n].getComponent("Block"); - if (i == start) - target.set_Xi_SoilType(this.getDirection(order), null); + if (i == start) { + 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); + this.changePath(order, number, false, road); jg = order; } - target.set_Xi_SoilType(direction, jg); + 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 + this.path_Array[order].y; + var n = i * this.map_Array[0].length + road[order].y; var target = this.block_Array[n].getComponent("Block"); - if (i == start) - target.set_Xi_SoilType(this.getDirection(order), null); + if (i == start) { + 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); + this.changePath(order, number, false, road); jg = order; } - target.set_Xi_SoilType(direction, jg); + target.set_Xi_SoilType(direction, jg, name); } } } else if (direction == "up") { - start = this.path_Array[order].y; + start = road[order].y; for (var i = start; i >= length; i--) { - var n = this.path_Array[order].x * this.map_Array[0].length + i; + var n = road[order].x * this.map_Array[0].length + i; var target = this.block_Array[n].getComponent("Block"); - if (i == start) - target.set_Xi_SoilType(this.getDirection(order), null); + if (i == start) { + 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); + this.changePath(order, number, true, road); jg = order; } - target.set_Xi_SoilType(direction, jg); + console.log("想上息壤插入:", this.path_Array[order].x, i); + target.set_Xi_SoilType(direction, jg, name); } } } else if (direction == "down") { - start = this.path_Array[order].y; + start = road[order].y; for (var i = start; i <= length; i++) { - var n = this.path_Array[order].x * this.map_Array[0].length + i; + var n = road[order].x * this.map_Array[0].length + i; var target = this.block_Array[n].getComponent("Block"); - if (i == start) - target.set_Xi_SoilType(this.getDirection(order), null); + if (i == start) { + 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); + this.changePath(order, number, true, road); jg = order; } - target.set_Xi_SoilType(direction, jg); + target.set_Xi_SoilType(direction, jg, name); } } } }; - //息壤过后改变修筑路径 - GameManager.prototype.changePath = function (order, number, direction) { - for (var i = (order + 1); i < this.path_Array.length; i++) { - if (!direction) - this.path_Array[i].x += (number); - else - this.path_Array[i].y += (number); + //改变水流地图 + 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 { + 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); + } + } } - // // this.path_Array[data-1].x = 5; - // this.path_Array[data].x = 5; }; GameManager.prototype.changeMap = function (data) { }; //获取洪峰方向 - GameManager.prototype.getDirection = function (order) { + GameManager.prototype.getDirection = function (order, road) { var name = ""; //入海口比较复杂单独判断 if (order == 0) { - var nextX = this.path_Array[order + 1].x - this.path_Array[order].x; - var nextY = this.path_Array[order].y - this.path_Array[order + 1].y; + var nextX = road[order + 1].x - road[order].x; + var nextY = road[order].y - road[order + 1].y; //在底边 - if (this.path_Array[order].y == this.map_Array[0].length - 1) { + if (road[order].y == this.map_Array[0].length - 1) { if (nextX == 0) { if (nextY == 1) name = "up"; @@ -367,7 +562,7 @@ var GameManager = /** @class */ (function (_super) { name = "up_left"; } //在顶边 - else if (this.path_Array[order].y == 0) { + else if (road[order].y == 0) { if (nextX == 0) { if (nextY == 1) name = "err"; @@ -380,7 +575,7 @@ var GameManager = /** @class */ (function (_super) { name = "down_left"; } //在左边 - else if (this.path_Array[order].x == 0) { + else if (road[order].x == 0) { if (nextX == 0) { if (nextY == 1) name = "right_up"; @@ -393,7 +588,7 @@ var GameManager = /** @class */ (function (_super) { name = "err"; } //在右边 - else if (this.path_Array[order].x == this.map_Array.length - 1) { + else if (road[order].x == this.map_Array.length - 1) { if (nextX == 0) { if (nextY == 1) name = "left_up"; @@ -409,18 +604,25 @@ var GameManager = /** @class */ (function (_super) { //不是第一步,已经走过一步 else if (order > 0) { var next = 1; - if (order + 2 < this.path_Array.length) { - if (this.path_Array[order + 1].z == 6) + if (order + 2 < road.length) { + if (road[order + 1].z == 6) next = 2; } //用于判断此点的上一个点,是为了判断当前方块洪水七点,以及下一个移动方向,判断洪终点方向 - var nextX = this.path_Array[order + next].x - this.path_Array[order].x; - var nextY = this.path_Array[order].y - this.path_Array[order + next].y; - var previousX = this.path_Array[order].x - this.path_Array[order - 1].x; - var previousY = this.path_Array[order - 1].y - this.path_Array[order].y; + 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) { - previousX = this.path_Array[order].x - this.path_Array[order - 2].x; - previousY = this.path_Array[order - 2].y - this.path_Array[order].y; + 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) { @@ -477,6 +679,10 @@ var GameManager = /** @class */ (function (_super) { GameManager.prototype.fit = function () { var jg = this.setFit(); if (!jg) { + this.Map.scale = 1.2; + } + else { + this.Map.scale = 1; } }; //判断全面屏 @@ -524,11 +730,27 @@ var GameManager = /** @class */ (function (_super) { GameManager.prototype.startGame = function (data) { this.setMap(data); }; + 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.plan_over = true; + setTimeout(function () { + _this.runWater(0); + }, 500); + } + } + } + }; //如果是倒计时 调用此方法 GameManager.prototype.updateCountDownTime = function () { if (this.countTime > 0) { this.countTime -= 1; - // this.time.string = cc.fx.GameTool.getTimeMargin(this.countTime); + this.Time.string = cc.fx.GameTool.getTimeMargin(this.countTime); if (this.countTime < 5) { var over = this.node.getChildByName("Over"); cc.tween(over) @@ -564,21 +786,27 @@ var GameManager = /** @class */ (function (_super) { }; GameManager.prototype.clickSun = function (data) { }; + GameManager.prototype.addEnd = function (data) { + }; GameManager.prototype.nextWater = function () { }; GameManager.prototype.onEnable = function () { cc.fx.Notifications.on(cc.fx.Message.control, this.clickSun, this); - cc.fx.Notifications.on(cc.fx.Message.next, this.runWater, 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.changeMap, this.changeMap, this); + cc.fx.Notifications.on(cc.fx.Message.addEnd, this.addEnd, this); }; GameManager.prototype.onDisable = function () { cc.fx.Notifications.off(cc.fx.Message.control, this.clickSun); - cc.fx.Notifications.off(cc.fx.Message.next, this.runWater); + 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.changeMap, this.changeMap); + cc.fx.Notifications.off(cc.fx.Message.addEnd, this.addEnd); }; GameManager.prototype.update = function (dt) { }; @@ -588,6 +816,12 @@ var GameManager = /** @class */ (function (_super) { __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); GameManager = __decorate([ ccclass ], GameManager); 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 5af5cc7..f823798 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 countTime: number; //总倒计时\r\n block_Array: any; //所有块数组\r\n path_Array: any; //修筑路径\r\n map_Array: any; //地图数组\r\n water_PathAray:any; //洪峰路径\r\n map_Hight:number; //地图高度\r\n map_Width:number; //地图宽度\r\n\r\n onLoad () {\r\n\r\n }\r\n start () {\r\n this.fit();\r\n this.init();\r\n }\r\n //初始化数据\r\n init(){\r\n this.initMap();\r\n\r\n }\r\n //初始化地图\r\n initMap(){\r\n this.block_Array = [];\r\n this.path_Array = [];\r\n this.map_Array = [];\r\n this.map_Hight = 0;\r\n this.map_Width = 0;\r\n let arr = cc.fx.GameConfig.LEVEL_INFO[0][0].map;\r\n //将地图x,y轴切换\r\n\r\n this.map_Array = arr[0].map((item, 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 for(let i=0;i 0 && order < this.path_Array.length-1){\r\n if(this.path_Array[order+1].z == 5){\r\n this.set_Soil(order+1);\r\n circulate = false;\r\n return;\r\n }\r\n }\r\n let data = {\r\n order:order,\r\n time:0.2,\r\n type:this.path_Array[order].z,\r\n circulate:circulate\r\n };\r\n target.runWater(data);\r\n }\r\n }\r\n //判断边界。或者撞山,或者湿地没有加固\r\n getBoundary(order,x,y,direction){\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 }\r\n else {\r\n let i = this.path_Array[order].x*this.map_Array[0].length+this.path_Array[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 }\r\n else if(target.block_Type == 2 && direction != \"Reinforce\"){\r\n jg = false;\r\n console.log(\"修筑未加固湿地,游戏结束\");\r\n alert(\"修筑未加固湿地,游戏结束\");\r\n }\r\n }\r\n return jg;\r\n }\r\n\r\n //获取息壤的格子的方向\r\n getXi_Soil(order){\r\n var direction = null;\r\n //如果息壤后面还有下一步的话\r\n if(order + 1 < this.path_Array.length){\r\n direction = this.getDirection(order);\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){\r\n var direction = this.getXi_Soil(order);\r\n var length = 0;\r\n if(direction == \"right\"){\r\n length = this.map_Width - 1;\r\n for(let i=this.path_Array[order].x;i<=length;i++){\r\n let n = i*this.map_Array[0].length+this.path_Array[order].y;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(target.block_Type == 3){\r\n length = i-1;\r\n i = 10000;\r\n break;\r\n }\r\n }\r\n } \r\n else if(direction == \"left\"){\r\n length = 0;\r\n for(let i=this.path_Array[order].x;i>=length;i--){\r\n let n = i*this.map_Array[0].length+this.path_Array[order].y;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(target.block_Type == 3){\r\n length = i+1;\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=this.path_Array[order].y;i>=length;i--){\r\n let n = this.path_Array[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){\r\n length = i+1;\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=this.path_Array[order].y;i<=length;i++){\r\n let n = this.path_Array[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){\r\n length = i-1;\r\n i = 10000;\r\n break;\r\n }\r\n }\r\n } \r\n\r\n this.soil_Find(direction,order,length);\r\n }\r\n //查找息壤蛮遗憾路径\r\n soil_Find(direction,order,length){\r\n let start = this.path_Array[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+this.path_Array[order].y;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(i == start) target.set_Xi_SoilType(this.getDirection(order),null);\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);\r\n jg = order;\r\n } \r\n\r\n target.set_Xi_SoilType(direction,jg);\r\n \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+this.path_Array[order].y;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n\r\n if(i == start) target.set_Xi_SoilType(this.getDirection(order),null);\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);\r\n jg = order;\r\n } \r\n target.set_Xi_SoilType(direction,jg);\r\n }\r\n }\r\n } \r\n else if(direction == \"up\"){\r\n start = this.path_Array[order].y;\r\n for(let i = start; i>=length; i--){\r\n let n = this.path_Array[order].x*this.map_Array[0].length+i;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(i == start) target.set_Xi_SoilType(this.getDirection(order),null);\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);\r\n jg = order;\r\n } \r\n target.set_Xi_SoilType(direction,jg);\r\n }\r\n }\r\n } \r\n else if(direction == \"down\"){\r\n start = this.path_Array[order].y;\r\n for(let i = start; i<=length; i++){\r\n let n = this.path_Array[order].x*this.map_Array[0].length+i;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(i == start) target.set_Xi_SoilType(this.getDirection(order),null);\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);\r\n jg = order;\r\n } \r\n target.set_Xi_SoilType(direction,jg);\r\n }\r\n }\r\n } \r\n }\r\n\r\n //息壤过后改变修筑路径\r\n changePath(order,number,direction){\r\n for(let i = (order+1); i 0){\r\n var next = 1;\r\n if(order+2 < this.path_Array.length){\r\n if(this.path_Array[order+1].z == 6) next = 2;\r\n }\r\n \r\n //用于判断此点的上一个点,是为了判断当前方块洪水七点,以及下一个移动方向,判断洪终点方向\r\n let nextX = this.path_Array[order+next].x - this.path_Array[order].x;\r\n let nextY = this.path_Array[order].y - this.path_Array[order+next].y\r\n let previousX = this.path_Array[order].x - this.path_Array[order-1].x;\r\n let previousY = this.path_Array[order-1].y - this.path_Array[order].y;\r\n if(previousX == 0 && previousY == 0){\r\n previousX = this.path_Array[order].x - this.path_Array[order-2].x;\r\n previousY = this.path_Array[order-2].y - this.path_Array[order].y;\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\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 //下一关,或者重新开始,或者返回上一关,根据level决定\r\n reStart(type){\r\n\r\n }\r\n //获取时间戳\r\n getTime(){\r\n const timestamp = new Date().getTime();\r\n return timestamp;\r\n }\r\n //获胜\r\n passLevel(){\r\n\r\n }\r\n //失败\r\n loseLevel(type){\r\n //1: 1649\r\n //2: 3646\r\n //3: 5546\r\n //4: 2600\r\n //5: 694\r\n }\r\n\r\n //开始游戏\r\n startGame(data){\r\n this.setMap(data);\r\n }\r\n\r\n\r\n //如果是倒计时 调用此方法\r\n updateCountDownTime () {\r\n if (this.countTime > 0) {\r\n this.countTime -= 1;\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.unschedule(this.updateCountDownTime);\r\n var time = 0;\r\n this.gameOver(time); \r\n }\r\n }\r\n }\r\n //上传每次操作数据\r\n\r\n setData(){\r\n cc.fx.GameTool.setGameData();\r\n \r\n }\r\n //上传排行榜数据\r\n gameOver(time){\r\n cc.fx.GameTool.setRank(time);\r\n this.node.getChildByName(\"GameOver\").active = true;\r\n this.node.getChildByName(\"GameOver\").opacity = 0;\r\n cc.tween(this.node.getChildByName(\"GameOver\"))\r\n .to(0.4,{opacity:255})\r\n .delay(2)\r\n .to(0.4,{opacity:50})\r\n .call(() =>{\r\n cc.director.loadScene(\"OverScene\");\r\n })\r\n .start()\r\n }\r\n\r\n clickSun(data){\r\n \r\n }\r\n\r\n nextWater(){\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.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.changeMap, this.changeMap, 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.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.changeMap, this.changeMap);\r\n }\r\n update (dt) {\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 countTime: number; //总倒计时\r\n waterTime: 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 map_Hight:number; //地图高度\r\n map_Width:number; //地图宽度\r\n plan_over:boolean; //是否修建完\r\n waterTween:cc.Tween; //河水倒计时动画\r\n\r\n onLoad () {\r\n\r\n }\r\n start () {\r\n this.fit();\r\n this.init();\r\n }\r\n //初始化数据\r\n init(){\r\n this.initMap(); \r\n this.countTime = cc.fx.GameConfig.TIME_INFO.totalTime;\r\n this.waterTime = cc.fx.GameConfig.TIME_INFO.waterTime[cc.fx.GameConfig.GM_INFO.level];\r\n \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\r\n head.runAction(cc.moveTo(this.waterTime,cc.v2(310,head.y)));\r\n this.waterTween = cc.tween(progress)\r\n .to(this.waterTime,{fillRange:1})\r\n .start();\r\n\r\n this.schedule(this.updateWaterTime,1);\r\n this.schedule(this.updateCountDownTime,1);\r\n\r\n\r\n }\r\n //初始化地图`\r\n initMap(){\r\n this.block_Array = [];\r\n this.path_Array = [];\r\n this.water_Array = [];\r\n this.map_Array = [];\r\n this.plan_over = false;\r\n this.map_Hight = 0;\r\n this.map_Width = 0;\r\n let number = 10; //9\r\n number = Math.floor(Math.random()* cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level].length);\r\n // number = 1;\r\n let arr = cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][number].map;\r\n debugger;\r\n this.node.getChildByName(\"Top\").getChildByName(\"id\").getComponent(cc.Label).string = \r\n cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][number].id;\r\n //将地图x,y轴切换\r\n\r\n this.map_Array = arr[0].map((item, 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 // console.log(this.water_Array);\r\n // debugger;\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 // console.log(this.water_Array);\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 setTimeout(() => {\r\n if(!this.plan_over){\r\n console.log(\"准备出水\");\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 this.waterTween.stop();\r\n progress.fillRange = 1;\r\n this.runWater(0); \r\n }\r\n }, 500);\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){\r\n direction = \"Reinforce\";\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 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 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\" && 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 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 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 }\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 }\r\n else if(target.block_Type == 2 && direction != \"Reinforce\"){\r\n jg = false;\r\n console.log(\"修筑未加固湿地,游戏结束\");\r\n alert(\"修筑未加固湿地,游戏结束\");\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 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) {\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 // console.log(order,this.path_Array[order].x,this.path_Array[order].y,i);\r\n let jg = this.getBoundary(order,this.water_Array[order].x,this.water_Array[order].y,direction,this.water_Array);\r\n console.log(\"步骤:\",order,\"方向\",direction);\r\n if(direction == \"\" || jg == 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.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 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 };\r\n target.runWater(data);\r\n }\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 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 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\r\n target.set_Xi_SoilType(direction,jg,name);\r\n \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\r\n if(i == start){\r\n 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 \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 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 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 changeMap(data){\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 //下一关,或者重新开始,或者返回上一关,根据level决定\r\n reStart(type){\r\n\r\n }\r\n //获取时间戳\r\n getTime(){\r\n const timestamp = new Date().getTime();\r\n return timestamp;\r\n }\r\n //获胜\r\n passLevel(){\r\n\r\n }\r\n //失败\r\n loseLevel(type){\r\n //1: 1649\r\n //2: 3646\r\n //3: 5546\r\n //4: 2600\r\n //5: 694\r\n }\r\n\r\n //开始游戏\r\n startGame(data){\r\n this.setMap(data);\r\n }\r\n\r\n updateWaterTime(){\r\n if (this.waterTime > 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.plan_over = true;\r\n setTimeout(() => {\r\n this.runWater(0); \r\n }, 500);\r\n \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 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.unschedule(this.updateCountDownTime);\r\n var time = 0;\r\n this.gameOver(time); \r\n }\r\n }\r\n }\r\n //上传每次操作数据\r\n\r\n setData(){\r\n cc.fx.GameTool.setGameData();\r\n \r\n }\r\n //上传排行榜数据\r\n gameOver(time){\r\n cc.fx.GameTool.setRank(time);\r\n this.node.getChildByName(\"GameOver\").active = true;\r\n this.node.getChildByName(\"GameOver\").opacity = 0;\r\n cc.tween(this.node.getChildByName(\"GameOver\"))\r\n .to(0.4,{opacity:255})\r\n .delay(2)\r\n .to(0.4,{opacity:50})\r\n .call(() =>{\r\n cc.director.loadScene(\"OverScene\");\r\n })\r\n .start()\r\n }\r\n\r\n clickSun(data){\r\n \r\n }\r\n\r\n addEnd(data){\r\n \r\n }\r\n\r\n nextWater(){\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.changeMap, this.changeMap, this);\r\n cc.fx.Notifications.on(cc.fx.Message.addEnd, this.addEnd, this);\r\n \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.changeMap, this.changeMap);\r\n cc.fx.Notifications.off(cc.fx.Message.addEnd, this.addEnd);\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/b1/b142e246-09b9-4c84-bdba-3a87fa48722b.json b/library/imports/b1/b142e246-09b9-4c84-bdba-3a87fa48722b.json new file mode 100644 index 0000000..88200b2 --- /dev/null +++ b/library/imports/b1/b142e246-09b9-4c84-bdba-3a87fa48722b.json @@ -0,0 +1,28 @@ +{ + "__type__": "cc.SpriteFrame", + "content": { + "name": "little_up", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", + "rect": [ + 1261, + 356, + 46, + 46 + ], + "offset": [ + 0, + 0 + ], + "originalSize": [ + 46, + 46 + ], + "capInsets": [ + 0, + 0, + 0, + 0 + ] + } +} \ No newline at end of file diff --git a/library/imports/b2/b2268e61-7cd7-4fdc-8c43-6836c1069443.json b/library/imports/b2/b2268e61-7cd7-4fdc-8c43-6836c1069443.json new file mode 100644 index 0000000..dcec1ff --- /dev/null +++ b/library/imports/b2/b2268e61-7cd7-4fdc-8c43-6836c1069443.json @@ -0,0 +1,28 @@ +{ + "__type__": "cc.SpriteFrame", + "content": { + "name": "shanchu", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", + "rect": [ + 1091, + 415, + 72, + 72 + ], + "offset": [ + 0, + 0 + ], + "originalSize": [ + 72, + 72 + ], + "capInsets": [ + 0, + 0, + 0, + 0 + ] + } +} \ No newline at end of file diff --git a/library/imports/ac/ac13d46e-7c59-4656-a2e3-c47daa6d69ad.json b/library/imports/b5/b5f1d74c-bd02-4f27-8104-659f5c0ec112.json similarity index 100% rename from library/imports/ac/ac13d46e-7c59-4656-a2e3-c47daa6d69ad.json rename to library/imports/b5/b5f1d74c-bd02-4f27-8104-659f5c0ec112.json diff --git a/library/imports/b5/b5f1d74c-bd02-4f27-8104-659f5c0ec112.png b/library/imports/b5/b5f1d74c-bd02-4f27-8104-659f5c0ec112.png new file mode 100644 index 0000000..be3bee6 Binary files /dev/null and b/library/imports/b5/b5f1d74c-bd02-4f27-8104-659f5c0ec112.png differ diff --git a/library/imports/b6/b6ede43c-af51-4c1f-849c-e0d3d7f4f9bd.json b/library/imports/b6/b6ede43c-af51-4c1f-849c-e0d3d7f4f9bd.json new file mode 100644 index 0000000..4c839b7 --- /dev/null +++ b/library/imports/b6/b6ede43c-af51-4c1f-849c-e0d3d7f4f9bd.json @@ -0,0 +1,28 @@ +{ + "__type__": "cc.SpriteFrame", + "content": { + "name": "startBtn", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", + "rect": [ + 753, + 1, + 513, + 137 + ], + "offset": [ + 0, + 0 + ], + "originalSize": [ + 513, + 137 + ], + "capInsets": [ + 0, + 0, + 0, + 0 + ] + } +} \ No newline at end of file diff --git a/library/imports/b7/b76603e2-c166-4ce9-af37-417cdedde12e.json b/library/imports/b7/b76603e2-c166-4ce9-af37-417cdedde12e.json index 9fe85b0..dac2752 100644 --- a/library/imports/b7/b76603e2-c166-4ce9-af37-417cdedde12e.json +++ b/library/imports/b7/b76603e2-c166-4ce9-af37-417cdedde12e.json @@ -5,7 +5,7 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 149, + 1690, 1, 96, 96 diff --git a/library/imports/b8/b80f2487-005a-4928-bde5-04fa41aeda71.json b/library/imports/b8/b80f2487-005a-4928-bde5-04fa41aeda71.json new file mode 100644 index 0000000..d18b552 --- /dev/null +++ b/library/imports/b8/b80f2487-005a-4928-bde5-04fa41aeda71.json @@ -0,0 +1,28 @@ +{ + "__type__": "cc.SpriteFrame", + "content": { + "name": "little_jiagu", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", + "rect": [ + 1165, + 409, + 46, + 46 + ], + "offset": [ + 0, + 0 + ], + "originalSize": [ + 46, + 46 + ], + "capInsets": [ + 0, + 0, + 0, + 0 + ] + } +} \ No newline at end of file diff --git a/library/imports/e0/e0dbc420-4ecd-4fc3-b83d-0aad6bbc1759.json b/library/imports/b9/b926007a-3c3e-4981-b1c0-638864dfc892.json similarity index 62% rename from library/imports/e0/e0dbc420-4ecd-4fc3-b83d-0aad6bbc1759.json rename to library/imports/b9/b926007a-3c3e-4981-b1c0-638864dfc892.json index ff0be51..21c43eb 100644 --- a/library/imports/e0/e0dbc420-4ecd-4fc3-b83d-0aad6bbc1759.json +++ b/library/imports/b9/b926007a-3c3e-4981-b1c0-638864dfc892.json @@ -1,22 +1,22 @@ { "__type__": "cc.SpriteFrame", "content": { - "name": "turn_wawe", - "texture": "d7c204b8-0179-40c7-b370-12c199c53dcb", + "name": "boss_warn_bg", + "texture": "b5f1d74c-bd02-4f27-8104-659f5c0ec112", "atlas": "", "rect": [ 9, - 9, - 128, - 128 + 0, + 116, + 640 ], "offset": [ - 0, + 4.5, 0 ], "originalSize": [ - 146, - 146 + 125, + 640 ], "capInsets": [ 0, diff --git a/library/imports/ba/ba05db30-6e52-451e-bb43-8761b4a1352f.json b/library/imports/ba/ba05db30-6e52-451e-bb43-8761b4a1352f.json index 59174eb..803a7e7 100644 --- a/library/imports/ba/ba05db30-6e52-451e-bb43-8761b4a1352f.json +++ b/library/imports/ba/ba05db30-6e52-451e-bb43-8761b4a1352f.json @@ -5,8 +5,8 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 99, - 393, + 1906, + 197, 96, 96 ], diff --git a/library/imports/94/9409beb3-6467-4b06-be3e-1b74f13ca499.json b/library/imports/bc/bc10af6c-0a42-48e2-9e8a-95188e5eea79.json similarity index 82% rename from library/imports/94/9409beb3-6467-4b06-be3e-1b74f13ca499.json rename to library/imports/bc/bc10af6c-0a42-48e2-9e8a-95188e5eea79.json index e9e35ce..e648b1b 100644 --- a/library/imports/94/9409beb3-6467-4b06-be3e-1b74f13ca499.json +++ b/library/imports/bc/bc10af6c-0a42-48e2-9e8a-95188e5eea79.json @@ -1,22 +1,22 @@ { "__type__": "cc.SpriteFrame", "content": { - "name": "turn_wawe", + "name": "downBg", "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ 1, 1, - 146, - 146 + 750, + 354 ], "offset": [ 0, 0 ], "originalSize": [ - 146, - 146 + 750, + 354 ], "capInsets": [ 0, diff --git a/library/imports/bc/bc1d04bb-c176-4882-be2b-e8697f8064a9.json b/library/imports/bc/bc1d04bb-c176-4882-be2b-e8697f8064a9.json deleted file mode 100644 index e7522d6..0000000 --- a/library/imports/bc/bc1d04bb-c176-4882-be2b-e8697f8064a9.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "__type__": "cc.Texture2D", - "content": "0,9729,9729,33071,33071,0,0,1" -} \ No newline at end of file diff --git a/library/imports/bc/bc1d04bb-c176-4882-be2b-e8697f8064a9.png b/library/imports/bc/bc1d04bb-c176-4882-be2b-e8697f8064a9.png deleted file mode 100644 index dd0a2b8..0000000 Binary files a/library/imports/bc/bc1d04bb-c176-4882-be2b-e8697f8064a9.png and /dev/null differ diff --git a/library/imports/bc/bc65aeab-56af-4990-b2b9-de2b91bb9e6f.json b/library/imports/bc/bc65aeab-56af-4990-b2b9-de2b91bb9e6f.json deleted file mode 100644 index e7522d6..0000000 --- a/library/imports/bc/bc65aeab-56af-4990-b2b9-de2b91bb9e6f.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "__type__": "cc.Texture2D", - "content": "0,9729,9729,33071,33071,0,0,1" -} \ No newline at end of file diff --git a/library/imports/bc/bc65aeab-56af-4990-b2b9-de2b91bb9e6f.png b/library/imports/bc/bc65aeab-56af-4990-b2b9-de2b91bb9e6f.png deleted file mode 100644 index ea8060d..0000000 Binary files a/library/imports/bc/bc65aeab-56af-4990-b2b9-de2b91bb9e6f.png and /dev/null differ diff --git a/library/imports/bc/bcddfc22-50b3-4d39-ab5f-ed3fbec0f9a7.json b/library/imports/bc/bcddfc22-50b3-4d39-ab5f-ed3fbec0f9a7.json index 425ba9d..3b608b1 100644 --- a/library/imports/bc/bcddfc22-50b3-4d39-ab5f-ed3fbec0f9a7.json +++ b/library/imports/bc/bcddfc22-50b3-4d39-ab5f-ed3fbec0f9a7.json @@ -5,7 +5,7 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 589, + 1808, 393, 96, 96 diff --git a/library/imports/c0/c01c7783-54ca-426a-b44e-173f4dba8a8a.json b/library/imports/c0/c01c7783-54ca-426a-b44e-173f4dba8a8a.json index 7bcd0f5..51d36f6 100644 --- a/library/imports/c0/c01c7783-54ca-426a-b44e-173f4dba8a8a.json +++ b/library/imports/c0/c01c7783-54ca-426a-b44e-173f4dba8a8a.json @@ -5,8 +5,8 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 541, - 99, + 1220, + 258, 96, 96 ], diff --git a/library/imports/c2/c2027677-6969-4f9d-a273-2828f1d3048c.json b/library/imports/c2/c2027677-6969-4f9d-a273-2828f1d3048c.json deleted file mode 100644 index e7522d6..0000000 --- a/library/imports/c2/c2027677-6969-4f9d-a273-2828f1d3048c.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "__type__": "cc.Texture2D", - "content": "0,9729,9729,33071,33071,0,0,1" -} \ No newline at end of file diff --git a/library/imports/c2/c2027677-6969-4f9d-a273-2828f1d3048c.png b/library/imports/c2/c2027677-6969-4f9d-a273-2828f1d3048c.png deleted file mode 100644 index c286025..0000000 Binary files a/library/imports/c2/c2027677-6969-4f9d-a273-2828f1d3048c.png and /dev/null differ diff --git a/library/imports/c2/c24c6cab-d079-4534-8f94-e441d509cf46.json b/library/imports/c2/c24c6cab-d079-4534-8f94-e441d509cf46.json new file mode 100644 index 0000000..90b0e06 --- /dev/null +++ b/library/imports/c2/c24c6cab-d079-4534-8f94-e441d509cf46.json @@ -0,0 +1,28 @@ +{ + "__type__": "cc.SpriteFrame", + "content": { + "name": "jiagu", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", + "rect": [ + 1087, + 341, + 72, + 72 + ], + "offset": [ + 0, + 0 + ], + "originalSize": [ + 72, + 72 + ], + "capInsets": [ + 0, + 0, + 0, + 0 + ] + } +} \ No newline at end of file diff --git a/library/imports/c3/c3041d36-0084-4c37-b905-f7367bdd37cb.json b/library/imports/c3/c3041d36-0084-4c37-b905-f7367bdd37cb.json deleted file mode 100644 index e7522d6..0000000 --- a/library/imports/c3/c3041d36-0084-4c37-b905-f7367bdd37cb.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "__type__": "cc.Texture2D", - "content": "0,9729,9729,33071,33071,0,0,1" -} \ No newline at end of file diff --git a/library/imports/c3/c3041d36-0084-4c37-b905-f7367bdd37cb.png b/library/imports/c3/c3041d36-0084-4c37-b905-f7367bdd37cb.png deleted file mode 100644 index 72f1a4a..0000000 Binary files a/library/imports/c3/c3041d36-0084-4c37-b905-f7367bdd37cb.png and /dev/null differ diff --git a/library/imports/c5/c5692be7-8703-45e4-9f67-23b54d290356.js b/library/imports/c5/c5692be7-8703-45e4-9f67-23b54d290356.js index 2977159..512ed7b 100644 --- a/library/imports/c5/c5692be7-8703-45e4-9f67-23b54d290356.js +++ b/library/imports/c5/c5692be7-8703-45e4-9f67-23b54d290356.js @@ -166,112 +166,49 @@ var GameConfig = /** @class */ (function () { 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, 4], - [0, 0, 0, 0, 0, 0], - [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], - [0, 1, 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] - ] - }, - { - "id": 1003, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - }, - { - "id": 1004, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - }, - { - "id": 1005, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - }, - { - "id": 1006, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - }, - { - "id": 1007, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - }, - { - "id": 1008, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - }, - { - "id": 1009, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - }, - { - "id": 1010, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - } - ], - ]; + // 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": 4 }, { "id": "1002", "map": [[1, 0, 0, 0], [0, 0, 0, 4], [0, 0, 0, 0], [0, 0, 0, 0]], "min_steps": 4 }, { "id": "1003", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 4]], "min_steps": 6 }, { "id": "1004", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 4, 0, 0]], "min_steps": 4 }, { "id": "1005", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 4], [0, 0, 0, 0]], "min_steps": 5 }, { "id": "1006", "map": [[4, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 1, 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": 5 }, { "id": "1008", "map": [[0, 0, 0, 4], [0, 0, 0, 0], [0, 0, 0, 0], [1, 0, 0, 0]], "min_steps": 6 }], [{ "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": 8 }, { "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": 8 }, { "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": 7 }, { "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, 3, 4]], "min_steps": 8 }, { "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": 7 }, { "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": 8 }, { "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": 7 }], [{ "id": "3001", "map": [[0, 0, 2, 0, 2, 4], [0, 2, 0, 0, 0, 0], [0, 0, 2, 0, 0, 0], [1, 2, 2, 0, 0, 0], [0, 0, 0, 0, 2, 0], [0, 2, 2, 0, 0, 2]], "min_steps": 4 }, { "id": "3002", "map": [[0, 2, 0, 0, 2, 0], [0, 0, 0, 0, 0, 0], [0, 2, 0, 0, 2, 1], [0, 2, 0, 0, 0, 0], [0, 0, 0, 0, 0, 2], [2, 0, 2, 4, 2, 2]], "min_steps": 4 }], [{ "id": "4001", "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": "4002", "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": "4003", "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": "4004", "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": "4005", "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": "4006", "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": "4007", "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": "4008", "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": "4009", "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": "4010", "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": "5001", "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": "5002", "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": "5003", "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": "5004", "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": "5005", "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": "5006", "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": "5007", "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": "5008", "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": "5009", "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": "5010", "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": "5011", "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": "5012", "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": "5013", "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": "5014", "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": "5015", "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": "5016", "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": "5017", "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": "5018", "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": "6001", "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": "6002", "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": "6003", "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": "6004", "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": "6005", "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": "6006", "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": "6007", "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": "6008", "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": "6009", "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": "6010", "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": "6011", "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": "6012", "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": "6013", "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": "6014", "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": "6015", "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": "6016", "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": "6017", "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": "6018", "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": "6019", "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": "6020", "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": "7001", "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": "7002", "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": "7003", "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": "7004", "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": "7005", "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": "7006", "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": "7007", "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": "7008", "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": "7009", "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": "7010", "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": "7011", "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": "7012", "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": "7013", "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": "7014", "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": "7015", "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": "7016", "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": "7017", "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": "7018", "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": "7019", "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": "7020", "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": "7021", "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": "8001", "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": "8002", "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": "8003", "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": "8004", "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": "8005", "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": "8006", "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": "8007", "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": "8008", "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": "8009", "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": "8010", "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": "8011", "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": "8012", "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": "8013", "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": "8014", "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": "8015", "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": "8016", "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": "8017", "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": "8018", "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": "8019", "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": "8020", "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": "8021", "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": "8022", "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": "8023", "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": "8024", "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": "8025", "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": "8026", "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": "8027", "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": "8028", "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": "8029", "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": "8030", "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": "8031", "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": "8032", "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": "8033", "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": "8034", "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": "8035", "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": "8036", "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": "8037", "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": "8038", "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": "8039", "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": "8040", "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": "8041", "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 }]]; }; GameConfig.Authentication = function () { cc.fx.GameTool.Authentication(); 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 78155c6..da2a9e3 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":";;;;;;;;;;;;;AAIM,IAAA,KAAwB,EAAE,CAAC,UAAU,EAAnC,OAAO,aAAA,EAAE,QAAQ,cAAkB,CAAC;AAE5C;IAAA;IAgUA,CAAC;mBAhUY,UAAU;IAkDnB,sBAAW,sBAAQ;QAJnB,OAAO;aAIP;YAEI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAC1B;gBACI,IAAI,CAAC,SAAS,GAAG,IAAI,YAAU,EAAE,CAAC;aACrC;YACD,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1B,CAAC;;;OAAA;IACD,eAAe;IACR,eAAI,GAAX,UAAY,cAAc;QACtB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,0EAA0E;QAC1E,iBAAiB;QACjB,kBAAkB;QAClB,QAAQ;QACR,wCAAwC;QACxC,0CAA0C;QAC1C,KAAK;QACL,0EAA0E;QAC1E,iBAAiB;QACjB,kBAAkB;QAClB,QAAQ;QAER,wCAAwC;QACxC,0CAA0C;QAC1C,KAAK;QACL,uEAAuE;QACvE,iBAAiB;QACjB,qDAAqD;QACrD,kBAAkB;QAClB,QAAQ;QAER,wCAAwC;QACxC,uCAAuC;QACvC,uCAAuC;QACvC,iDAAiD;QACjD,KAAK;QAEL,mCAAmC;QACnC,IAAI,CAAC,SAAS,GAAG,EAChB,CAAA;QACD,IAAI,CAAC,WAAW,GAAG;YACf,MAAM;YACN;gBACI,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC,CAAG,MAAM;aACvB;YACD,MAAM;YACN;gBACI,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC,CAAG,MAAM;aACvB;YACD,MAAM;YACN;gBACI,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC,CAAG,MAAM;aACvB;YACD,MAAM;YACN;gBACI,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC,CAAG,MAAM;aACvB;YACD,MAAM;YACN;gBACI,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC,CAAG,MAAM;aACvB;YACA,MAAM;YACP;gBACI,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC,CAAG,MAAM;aACvB;YACD,gBAAgB;YAChB;gBACI,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC,CAAG,MAAM;aACvB;YACD,MAAM;YACN;gBACI,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC,CAAG,MAAM;aACvB;YACD,MAAM;YACN;gBACI,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC,CAAG,MAAM;aACvB;YACD,MAAM;YACN;gBACI,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC,CAAG,MAAM;aACvB;SACJ,CAAA;IACL,CAAC;IAED,MAAM;IACC,uBAAY,GAAnB;QACI,IAAI,CAAC,OAAO,GAAG;YACX,gBAAgB;YAChB,SAAS,EAAE,CAAC;YACZ,KAAK,EAAE,CAAC;YACR,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,IAAI;YACX,GAAG,EAAE,wBAAwB;YAC7B,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC;YACR,YAAY,EAAC,CAAC;YACd,WAAW,EAAC,EAAE;YACd,QAAQ,EAAC,CAAC;YACV,WAAW,EAAE,CAAC;SACjB,CAAC;IAEN,CAAC;IACM,sBAAW,GAAlB,UAAmB,GAAG,EAAC,KAAK;QAExB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC9B,CAAC;IACM,qBAAU,GAAjB;QACI,IAAI,CAAC,UAAU;YACf;gBACI,IAAI,EAAE,CAAC;gBACP,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,CAAC;gBACT,WAAW,EAAE,CAAC;gBACd,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,CAAC;gBACX,WAAW,EAAE,CAAC;gBACd,MAAM,EAAE,KAAK;gBACb,WAAW,EAAE,CAAC;aACjB,CAAA;IACL,CAAC;IAEM,oBAAS,GAAhB,UAAiB,GAAG,EAAC,KAAK;QACtB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACjC,CAAC;IAEM,0BAAe,GAAtB;QACI;;;;UAIE;QACF,IAAI,CAAC,UAAU,GAAG;YACd;gBACI;oBACI,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE;wBACH,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACb,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACb,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACb,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACb,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACb,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACb,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACb,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACb,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;qBAChB;iBACJ;gBACD;oBACI,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE;wBACH,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACnB,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACnB,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACnB,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACnB,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACnB,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;qBACtB;iBACJ;gBACD;oBACI,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE;wBACH,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACT,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACT,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACT,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;qBACZ;iBACJ;gBACD;oBACI,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE;wBACH,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACT,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACT,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACT,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;qBACZ;iBACJ;gBACD;oBACI,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE;wBACH,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACT,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACT,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACT,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;qBACZ;iBACJ;gBACD;oBACI,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE;wBACH,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACT,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACT,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACT,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;qBACZ;iBACJ;gBACD;oBACI,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE;wBACH,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACT,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACT,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACT,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;qBACZ;iBACJ;gBACD;oBACI,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE;wBACH,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACT,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACT,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACT,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;qBACZ;iBACJ;gBACD;oBACI,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE;wBACH,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACT,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACT,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACT,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;qBACZ;iBACJ;gBACD;oBACI,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE;wBACH,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACT,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACT,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;wBACT,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;qBACZ;iBACJ;aACJ;SAGJ,CAAA;IACL,CAAC;IAGM,yBAAc,GAArB;QACI,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;IACpC,CAAC;;IA9TD,0BAA0B;IACX,oBAAS,GAAgB,IAAI,CAAC;IAFpC,UAAU;QADtB,OAAO,CAAC,YAAY,CAAC;OACT,UAAU,CAgUtB;IAAD,iBAAC;CAhUD,AAgUC,IAAA;AAhUY,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 CLICK_DATA: {\r\n type: number; //上传数据类型\r\n success: boolean; //此局游戏正确与否\r\n round: number; //回合数\r\n choice: number; //玩家选择,0:时间截止前未做选择,1,2,3:三个按钮从上到下依次对应\r\n rightChoice: number; //本轮的按正确答案,含义与choice相同\r\n item: string; //此关展示的物品\r\n roundType: number; //展示方式。1:图像 2:音频\r\n stepTime: number; //玩家每一关用时毫秒数 音频关卡从播放结束开始计时\r\n levelConfig: number; //使用的是哪一套关卡配置\r\n ignite: boolean; //玩家此轮有没有点火\r\n igniteCount: number; //玩家总计成功点火数\r\n };\r\n static GAME_DATA: any[];\r\n //关卡数据\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 level: number; //具体游戏内进行到第几步 \r\n stepTimeList: number; //整局游戏用时,由于涉及场景切换,数据需要保留\r\n successList: any[]; //整局胜负\r\n gameTime: number; //单次游戏倒计时时间\r\n igniteCount: number; //玩家总计成功点火数\r\n \r\n };\r\n static LEVEL_INFO: { id: number; map: number[][]; }[][];\r\n static CUSTOM_INFO: {\r\n moveSpeed: number; //洪峰移动速度\r\n waitTime: number; //洪峰冲击倒计时\r\n fastPath: number; //最短路径\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 }\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: \"100010\", //游戏ID\r\n userId: 200139, //用户ID\r\n guide: true, //是否有引导\r\n url: \"https://api.sparkus.cn\",//访问域名\r\n success: false, //用户游戏成功与否\r\n matchId: null, //用于埋点上传的ID\r\n custom: 0, //用于测试跳关卡\r\n level: 0, //具体游戏内进行到第几步 \r\n stepTimeList:0, //整局游戏用时,由于涉及场景切换,数据需要保留\r\n successList:[], //整局胜负\r\n gameTime:5,\r\n igniteCount: 0, //玩家总计成功点火数\r\n };\r\n\r\n }\r\n static GM_INFO_SET(key,value) {\r\n\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 choice: 0, //玩家选择,0:时间截止前未做选择,1,2,3:三个按钮从上到下依次对应\r\n rightChoice: 0, //本轮的按正确答案,含义与choice相同\r\n item: \"\", //此关展示的物品\r\n roundType: 0, //展示方式。1:图像 2:音频\r\n stepTime: 0, //玩家每一关用时毫秒数 音频关卡从播放结束开始计时\r\n levelConfig: 0, //使用的是哪一套关卡配置\r\n ignite: false, //玩家此轮有没有点火\r\n igniteCount: 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 /*\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,4],\r\n [0,0,0,0,0,0],\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 [0,1,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 \"id\": 1003,\r\n \"map\": [\r\n [1,0,1,1],\r\n [1,1,1,1],\r\n [1,1,1,1],\r\n [1,1,1,6]\r\n ]\r\n },\r\n {\r\n \"id\": 1004,\r\n \"map\": [\r\n [1,0,1,1],\r\n [1,1,1,1],\r\n [1,1,1,1],\r\n [1,1,1,6]\r\n ]\r\n },\r\n {\r\n \"id\": 1005,\r\n \"map\": [\r\n [1,0,1,1],\r\n [1,1,1,1],\r\n [1,1,1,1],\r\n [1,1,1,6]\r\n ]\r\n },\r\n {\r\n \"id\": 1006,\r\n \"map\": [\r\n [1,0,1,1],\r\n [1,1,1,1],\r\n [1,1,1,1],\r\n [1,1,1,6]\r\n ]\r\n },\r\n {\r\n \"id\": 1007,\r\n \"map\": [\r\n [1,0,1,1],\r\n [1,1,1,1],\r\n [1,1,1,1],\r\n [1,1,1,6]\r\n ]\r\n },\r\n {\r\n \"id\": 1008,\r\n \"map\": [\r\n [1,0,1,1],\r\n [1,1,1,1],\r\n [1,1,1,1],\r\n [1,1,1,6]\r\n ]\r\n },\r\n {\r\n \"id\": 1009,\r\n \"map\": [\r\n [1,0,1,1],\r\n [1,1,1,1],\r\n [1,1,1,1],\r\n [1,1,1,6]\r\n ]\r\n },\r\n {\r\n \"id\": 1010,\r\n \"map\": [\r\n [1,0,1,1],\r\n [1,1,1,1],\r\n [1,1,1,1],\r\n [1,1,1,6]\r\n ]\r\n } \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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C,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,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,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,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,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,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,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,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,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,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,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,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,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;IAIr2hB,CAAC;IAGM,yBAAc,GAArB;QACI,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;IACpC,CAAC;;IA5QD,0BAA0B;IACX,oBAAS,GAAgB,IAAI,CAAC;IAFpC,UAAU;QADtB,OAAO,CAAC,YAAY,CAAC;OACT,UAAU,CA8QtB;IAAD,iBAAC;CA9QD,AA8QC,IAAA;AA9QY,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 CLICK_DATA: {\r\n type: number; //上传数据类型\r\n success: boolean; //此局游戏正确与否\r\n round: number; //回合数\r\n choice: number; //玩家选择,0:时间截止前未做选择,1,2,3:三个按钮从上到下依次对应\r\n rightChoice: number; //本轮的按正确答案,含义与choice相同\r\n item: string; //此关展示的物品\r\n roundType: number; //展示方式。1:图像 2:音频\r\n stepTime: number; //玩家每一关用时毫秒数 音频关卡从播放结束开始计时\r\n levelConfig: number; //使用的是哪一套关卡配置\r\n ignite: boolean; //玩家此轮有没有点火\r\n igniteCount: number; //玩家总计成功点火数\r\n };\r\n static GAME_DATA: any[];\r\n //关卡数据\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 level: number; //具体游戏内进行到第几步 \r\n stepTimeList: number; //整局游戏用时,由于涉及场景切换,数据需要保留\r\n successList: any[]; //整局胜负\r\n gameTime: number; //单次游戏倒计时时间\r\n igniteCount: number; //玩家总计成功点火数\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\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 }\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: \"100010\", //游戏ID\r\n userId: 200139, //用户ID\r\n guide: true, //是否有引导\r\n url: \"https://api.sparkus.cn\",//访问域名\r\n success: false, //用户游戏成功与否\r\n matchId: null, //用于埋点上传的ID\r\n custom: 0, //用于测试跳关卡\r\n level: 0, //具体游戏内进行到第几步 \r\n stepTimeList:0, //整局游戏用时,由于涉及场景切换,数据需要保留\r\n successList:[], //整局胜负\r\n gameTime:5,\r\n igniteCount: 0, //玩家总计成功点火数\r\n };\r\n\r\n }\r\n static GM_INFO_SET(key,value) {\r\n\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 choice: 0, //玩家选择,0:时间截止前未做选择,1,2,3:三个按钮从上到下依次对应\r\n rightChoice: 0, //本轮的按正确答案,含义与choice相同\r\n item: \"\", //此关展示的物品\r\n roundType: 0, //展示方式。1:图像 2:音频\r\n stepTime: 0, //玩家每一关用时毫秒数 音频关卡从播放结束开始计时\r\n levelConfig: 0, //使用的是哪一套关卡配置\r\n ignite: false, //玩家此轮有没有点火\r\n igniteCount: 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\":4},{\"id\":\"1002\",\"map\":[[1,0,0,0],[0,0,0,4],[0,0,0,0],[0,0,0,0]],\"min_steps\":4},{\"id\":\"1003\",\"map\":[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,4]],\"min_steps\":6},{\"id\":\"1004\",\"map\":[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,4,0,0]],\"min_steps\":4},{\"id\":\"1005\",\"map\":[[1,0,0,0],[0,0,0,0],[0,0,0,4],[0,0,0,0]],\"min_steps\":5},{\"id\":\"1006\",\"map\":[[4,0,0,0],[0,0,0,0],[0,0,0,0],[0,1,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\":5},{\"id\":\"1008\",\"map\":[[0,0,0,4],[0,0,0,0],[0,0,0,0],[1,0,0,0]],\"min_steps\":6}],[{\"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\":8},{\"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\":8},{\"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\":7},{\"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,3,4]],\"min_steps\":8},{\"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\":7},{\"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\":8},{\"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\":7}],[{\"id\":\"3001\",\"map\":[[0,0,2,0,2,4],[0,2,0,0,0,0],[0,0,2,0,0,0],[1,2,2,0,0,0],[0,0,0,0,2,0],[0,2,2,0,0,2]],\"min_steps\":4},{\"id\":\"3002\",\"map\":[[0,2,0,0,2,0],[0,0,0,0,0,0],[0,2,0,0,2,1],[0,2,0,0,0,0],[0,0,0,0,0,2],[2,0,2,4,2,2]],\"min_steps\":4}],[{\"id\":\"4001\",\"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\":\"4002\",\"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\":\"4003\",\"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\":\"4004\",\"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\":\"4005\",\"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\":\"4006\",\"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\":\"4007\",\"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\":\"4008\",\"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\":\"4009\",\"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\":\"4010\",\"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\":\"5001\",\"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\":\"5002\",\"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\":\"5003\",\"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\":\"5004\",\"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\":\"5005\",\"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\":\"5006\",\"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\":\"5007\",\"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\":\"5008\",\"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\":\"5009\",\"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\":\"5010\",\"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\":\"5011\",\"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\":\"5012\",\"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\":\"5013\",\"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\":\"5014\",\"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\":\"5015\",\"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\":\"5016\",\"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\":\"5017\",\"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\":\"5018\",\"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\":\"6001\",\"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\":\"6002\",\"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\":\"6003\",\"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\":\"6004\",\"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\":\"6005\",\"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\":\"6006\",\"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\":\"6007\",\"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\":\"6008\",\"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\":\"6009\",\"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\":\"6010\",\"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\":\"6011\",\"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\":\"6012\",\"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\":\"6013\",\"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\":\"6014\",\"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\":\"6015\",\"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\":\"6016\",\"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\":\"6017\",\"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\":\"6018\",\"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\":\"6019\",\"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\":\"6020\",\"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\":\"7001\",\"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\":\"7002\",\"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\":\"7003\",\"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\":\"7004\",\"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\":\"7005\",\"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\":\"7006\",\"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\":\"7007\",\"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\":\"7008\",\"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\":\"7009\",\"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\":\"7010\",\"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\":\"7011\",\"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\":\"7012\",\"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\":\"7013\",\"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\":\"7014\",\"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\":\"7015\",\"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\":\"7016\",\"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\":\"7017\",\"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\":\"7018\",\"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\":\"7019\",\"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\":\"7020\",\"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\":\"7021\",\"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\":\"8001\",\"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\":\"8002\",\"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\":\"8003\",\"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\":\"8004\",\"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\":\"8005\",\"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\":\"8006\",\"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\":\"8007\",\"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\":\"8008\",\"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\":\"8009\",\"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\":\"8010\",\"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\":\"8011\",\"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\":\"8012\",\"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\":\"8013\",\"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\":\"8014\",\"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\":\"8015\",\"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\":\"8016\",\"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\":\"8017\",\"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\":\"8018\",\"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\":\"8019\",\"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\":\"8020\",\"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\":\"8021\",\"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\":\"8022\",\"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\":\"8023\",\"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\":\"8024\",\"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\":\"8025\",\"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\":\"8026\",\"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\":\"8027\",\"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\":\"8028\",\"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\":\"8029\",\"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\":\"8030\",\"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\":\"8031\",\"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\":\"8032\",\"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\":\"8033\",\"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\":\"8034\",\"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\":\"8035\",\"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\":\"8036\",\"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\":\"8037\",\"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\":\"8038\",\"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\":\"8039\",\"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\":\"8040\",\"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\":\"8041\",\"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}]]\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/c56d3750-ea9e-4a25-8ee4-ca2306c86f7e.json b/library/imports/c5/c56d3750-ea9e-4a25-8ee4-ca2306c86f7e.json new file mode 100644 index 0000000..345e933 --- /dev/null +++ b/library/imports/c5/c56d3750-ea9e-4a25-8ee4-ca2306c86f7e.json @@ -0,0 +1,28 @@ +{ + "__type__": "cc.SpriteFrame", + "content": { + "name": "little_xirang", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", + "rect": [ + 1261, + 404, + 46, + 46 + ], + "offset": [ + 0, + 0 + ], + "originalSize": [ + 46, + 46 + ], + "capInsets": [ + 0, + 0, + 0, + 0 + ] + } +} \ 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 0a0a11b..801a179 100644 --- a/library/imports/c5/c58de376-bb53-4664-bf27-270be7bb53d1.js +++ b/library/imports/c5/c58de376-bb53-4664-bf27-270be7bb53d1.js @@ -76,64 +76,240 @@ var NewClass = /** @class */ (function (_super) { 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) { + NewClass.prototype.initData = function (type, pos, max) { this.block_Type = type; + this.pos = cc.v2(pos.x, pos.y); if (type == cc.Enum(BlockType).Start) { - this.node.color = cc.color(245, 70, 70); + var bg = this.node.getChildByName("sp"); + // this.node.getComponent(cc.Sprite).spriteFrame = null; + bg.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["start"]; + this.rotateTarget(bg, "start", pos, max); } else if (type == cc.Enum(BlockType).End) { - this.node.color = cc.color(20, 255, 0); + var bg = this.node.getChildByName("sp"); + // this.node.getComponent(cc.Sprite).spriteFrame = null; + bg.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["end"]; + this.rotateTarget(bg, "end", pos, max); } else if (type == cc.Enum(BlockType).Nunja) { - this.node.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e5"]; + 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.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; + this.node.getChildByName("bg").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; + this.node.getComponent(cc.Sprite).spriteFrame = null; + } + }; + //旋转入海口和出海口的 图片以及文字角度 + 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_SoilType = function (direction, end) { + //设置息壤在起点 + 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" ? -90 : 0; + water.angle = direction == "up" ? -90 : 0; + } + 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); + console.log("息壤", direction, name, this.block_Type); + 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.set_Xi_Soil(direction, true); + } setTimeout(function () { - cc.fx.Notifications.emit(cc.fx.Message.next, (end + 1)); - }, 1000); + 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 { } - this.block_Type = cc.Enum(BlockType).Xi_Soil; var target = this.node.getChildByName("Xi_Soil"); this.path_Type = direction; target.active = true; target.opacity = 0; cc.tween(target) - .to(0.5, { opacity: 255 }) - .to(0.5, { opacity: 0 }) + .to(0.1, { opacity: 255 }) + .to(0.1, { opacity: 0 }) .call(function () { if (direction != null && end == null) { var data = { order: 0, - time: 0.2, + time: cc.fx.GameConfig.TIME_INFO.waterSpeed[0], type: 0, circulate: false }; - _this.runWater(data); + if (name == "water") { + _this.runWater(data); + } + else + _this.runRoad(data); } }) .start(); }; - //洪峰执行 - NewClass.prototype.runWater = function (data) { + //修筑路线执行 + NewClass.prototype.runRoad = function (data) { if (this.path_Type == "err") { setTimeout(function () { if (data.circulate) @@ -142,12 +318,228 @@ var NewClass = /** @class */ (function (_super) { return; } //如果双向都占用了还进来就算死了- + if (this.node.getChildByName("vertical2").active == true && this.node.getChildByName("horizontal2").active == true) { + alert("河道已经交叉,不能再通过"); + cc.director.loadScene("GameScene"); + return; + } + else if (this.node.getChildByName("turn2").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil) { + alert("河道过弯处,不能再交叉河道"); + 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("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).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.x - posTemp.x == -1) { + direction = "down"; + } + // console.log("方向:",direction); + this.set_Xi_Soil(direction, true); + // alert("治水成功"); + // target = this.node.getChildByName("End"); + // target.active = true; + // target.opacity = 0; + // cc.tween(target) + // .to(0.5,{opacity:255}) + // .call(() =>{ + // console.log("游戏结束"); + // // if(data.circulate) + // // cc.fx.Notifications.emit(cc.fx.Message.next,order); + // }) + // .start(); + } + 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.director.loadScene("GameScene"); return; } else if (this.node.getChildByName("turn").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil) { alert("河道过弯处,不能再交叉河道"); + cc.director.loadScene("GameScene"); return; } var target = null; @@ -156,23 +548,38 @@ var NewClass = /** @class */ (function (_super) { var order = data.order + 1; var random = Math.floor(Math.random() * 4 + 1); target = this.node.getChildByName("vertical"); - var water1 = target.getChildByName("wave").getChildByName("water1"); - var water2 = target.getChildByName("wave").getChildByName("water2"); - var water3 = target.getChildByName("wave").getChildByName("water3"); - var timeDelay = 0.15; - water1.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water1.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { - water1.y = -120; - })).repeatForever()); - water2.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water2.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { - water2.y = -120; - })).repeatForever()); - water3.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water3.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { - water3.y = -120; - })).repeatForever()); + 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(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]; } @@ -194,12 +601,14 @@ var NewClass = /** @class */ (function (_super) { } else { target = this.node.getChildByName("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); + 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; @@ -238,78 +647,79 @@ var NewClass = /** @class */ (function (_super) { target.setPosition(-this.pos_Shifting, -this.pos_Shifting); } } - if (this.path_Type == "Reinforce") { - console.log(data.order); - target = this.node.getChildByName("Reinforce"); - this.block_Type = cc.Enum(BlockType).Reinforce; - this.node.getChildByName("vertical").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e1"]; - this.node.getChildByName("turn").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e3"]; - this.node.getChildByName("horizontal").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e2"]; - target.active = true; - target.opacity = 0; - progress = 1; - cc.tween(target) - .to(time, { 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") { + // if(this.path_Type == "Reinforce"){ + // target = this.node.getChildByName("Reinforce"); + // this.block_Type = cc.Enum(BlockType).Reinforce; + // // this.node.getChildByName("vertical").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e1"]; + // // this.node.getChildByName("turn").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e3"]; + // // this.node.getChildByName("horizontal").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(() =>{ + // if(data.circulate) + // cc.fx.Notifications.emit(cc.fx.Message.changeMap,order); + // cc.fx.Notifications.emit(cc.fx.Message.nextWater,order); + // }) + // .start(); + // } + // else if(this.path_Type == "Xi_Soil"){ + // target.active = false; + // 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(() =>{ + // if(data.circulate){ + // cc.fx.Notifications.emit(cc.fx.Message.nextWater,order); + // } + // }) + // .start(); + // } + if (this.path_Type == "End") { target.active = false; - 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.5, { opacity: 255 }) - .to(0.5, { 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; - this.block_Type = cc.Enum(BlockType).Xi_Soil; - target = this.node.getChildByName("End"); - target.active = true; - target.opacity = 0; - cc.tween(target) - .to(0.5, { opacity: 255 }) - .call(function () { - console.log("游戏结束"); - // if(data.circulate) - // cc.fx.Notifications.emit(cc.fx.Message.next,order); - }) - .start(); + 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("治水成功"); + if (cc.fx.GameConfig.GM_INFO.level < 7) { + cc.fx.GameConfig.GM_INFO.level += 1; + } + cc.director.loadScene("GameScene"); + }) + .start(); + } + } + else { + target = this.node.getChildByName("End"); + target.active = true; + target.opacity = 0; + cc.tween(target) + .to(0.5, { opacity: 255 }) + .call(function () { + alert("治水失败"); + cc.director.loadScene("GameScene"); + }) + .start(); + } } 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(); - } + 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([ 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 3a4c582..2935bfc 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":";;;;;AAAA,oBAAoB;AACpB,wEAAwE;AACxE,mBAAmB;AACnB,kFAAkF;AAClF,8BAA8B;AAC9B,kFAAkF;;;;;;;;;;;;;;;;;;;;;;AAE5E,IAAA,KAAsB,EAAE,CAAC,UAAU,EAAlC,OAAO,aAAA,EAAE,QAAQ,cAAiB,CAAC;AAE1C,IAAY,SAgBX;AAhBD,WAAY,SAAS;IACjB,SAAS;IACT,2CAAS,CAAA;IACT,SAAS;IACT,2CAAS,CAAA;IACT,OAAO;IACP,2CAAS,CAAA;IACT,OAAO;IACP,yCAAQ,CAAA;IACR,SAAS;IACT,uCAAO,CAAA;IAEP,OAAO;IACP,+CAAW,CAAA;IACX,OAAO;IACP,mDAAa,CAAA;AACjB,CAAC,EAhBW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAgBpB;AAED,IAAY,QAcX;AAdD,WAAY,QAAQ;IAChB,uBAAW,CAAA;IACX,qBAAS,CAAA;IACT,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,2BAAe,CAAA;IACf,+BAAmB,CAAA;IACnB,iCAAqB,CAAA;IACrB,mCAAuB,CAAA;IACvB,qCAAyB,CAAA;IACzB,+BAAmB,CAAA;IACnB,mCAAuB,CAAA;IACvB,iCAAqB,CAAA;IACrB,qCAAyB,CAAA;AAC7B,CAAC,EAdW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAcnB;AAGD;IAAsC,4BAAY;IAAlD;QAAA,qEA0QC;QAzQG,wBAAwB;QAExB,QAAE,GAAmB,IAAI,CAAC;;QAsQ1B,iBAAiB;IACrB,CAAC;IAjQG,yBAAM,GAAN;QACI,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,wBAAK,GAAL;IAEA,CAAC;IAED,2BAAQ,GAAR,UAAS,IAAI;QACT,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAG,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAC;YAChC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAC,EAAE,EAAC,EAAE,CAAC,CAAC;SACzC;aACI,IAAG,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAC;YACnC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAC,GAAG,EAAC,CAAC,CAAC,CAAC;SACxC;aACI,IAAG,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAC;YACrC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC;SAClF;aACI,IAAG,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAC;YACpC,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAC,CAAC,GAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC;SAClF;IACL,CAAC;IAED,0BAAO,GAAP,UAAQ,IAAI;QACR,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,kCAAe,GAAf,UAAgB,SAAS,EAAC,GAAG;QAA7B,iBAiCC;QAhCG,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,SAAS,CAAC,CAAC;QAC5B,IAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAC;YAC3C,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC;SACxF;QACD,IAAG,GAAG,IAAI,IAAI,EAAC;YACX,UAAU,CAAC;gBACP,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAC,CAAC,GAAG,GAAC,CAAC,CAAC,CAAC,CAAC;YACzD,CAAC,EAAE,IAAI,CAAC,CAAC;SAEZ;QAED,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;QAC7C,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;QACnB,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;aACf,EAAE,CAAC,GAAG,EAAC,EAAC,OAAO,EAAC,GAAG,EAAC,CAAC;aACrB,EAAE,CAAC,GAAG,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,CAAC;aACnB,IAAI,CAAC;YACF,IAAG,SAAS,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,EAAC;gBAChC,IAAI,IAAI,GAAG;oBACP,KAAK,EAAC,CAAC;oBACP,IAAI,EAAC,GAAG;oBACR,IAAI,EAAC,CAAC;oBACN,SAAS,EAAC,KAAK;iBAClB,CAAC;gBACF,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aACvB;QACL,CAAC,CAAC;aACD,KAAK,EAAE,CAAC;IACb,CAAC;IAGD,MAAM;IACN,2BAAQ,GAAR,UAAS,IAAI;QACT,IAAG,IAAI,CAAC,SAAS,IAAI,KAAK,EAAC;YACvB,UAAU,CAAC;gBACP,IAAG,IAAI,CAAC,SAAS;oBACb,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAC,KAAK,CAAC,CAAC;YAC3D,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,OAAO;SACV;QACD,mBAAmB;QACnB,IAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,MAAM,IAAI,IAAI,EAAC;YAC5G,KAAK,CAAC,cAAc,CAAC,CAAC;YACtB,OAAO;SACV;aAEI,IAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAC;YACrG,KAAK,CAAC,eAAe,CAAC,CAAC;YACvB,OAAO;SACV;QACD,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACpE,IAAI,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACpE,IAAI,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACpE,IAAI,SAAS,GAAG,IAAI,CAAC;QACrB,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAC,GAAG,CAAC,CAAC,EAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,EACvF,EAAE,CAAC,QAAQ,CAAC;YACR,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA;QACnB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;QACrB,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAC,GAAG,CAAC,CAAC,EAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,EACvF,EAAE,CAAC,QAAQ,CAAC;YACR,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA;QACnB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;QACrB,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAC,GAAG,CAAC,CAAC,EAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,EACvF,EAAE,CAAC,QAAQ,CAAC;YACR,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA;QACnB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;QACrB,IAAI,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC;QACxB,iIAAiI;QAEjI,IAAG,MAAM,CAAC,MAAM,IAAI,IAAI,EAAC;YACrB,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAChD,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC;YACpB,kIAAkI;SACrI;QACD,0CAA0C;QAC1C,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAC;SACzC;aACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAC;YAC7C,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;SACtB;aACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAC;YAC7C,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;YAClB,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC;YACpB,kIAAkI;SACrI;aACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAC;YAC9C,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;YACnB,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC;YACpB,kIAAkI;SACrI;aACG;YACA,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,OAAK,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAClE,OAAK,CAAC,OAAO,GAAG,CAAC,CAAA;YACjB,OAAK,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAC,CAAC,IAAI,CAAC,EAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;YACrF,UAAU,CAAC;gBACP,OAAK,CAAC,OAAO,GAAG,GAAG,CAAC;YACxB,CAAC,EAAE,GAAG,CAAC,CAAC;YAER,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC;YACpB,iIAAiI;YACjI,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAC;gBAC3C,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,EAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC7D;iBACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAC;gBACjD,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC5D;iBACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAC;gBAClD,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;gBACnB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnB,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC5D;iBACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAC;gBACnD,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;gBACnB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC3D;iBACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAC;gBAChD,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC3D;iBACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAC;gBAClD,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gBAClB,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,EAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC7D;iBACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAC;gBACjD,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAE5D;iBACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAC;gBACnD,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnB,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,EAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC7D;SACJ;QACD,IAAG,IAAI,CAAC,SAAS,IAAI,WAAW,EAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YAC/C,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1G,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC;YACtG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC;YAC5G,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;YACnB,QAAQ,GAAG,CAAC,CAAC;YACb,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;iBACf,EAAE,CAAC,IAAI,EAAC,EAAC,OAAO,EAAC,GAAG,EAAC,CAAC;iBACtB,IAAI,CAAC;gBACF,IAAG,IAAI,CAAC,SAAS;oBACb,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,EAAC,KAAK,CAAC,CAAC;gBACxD,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAC,KAAK,CAAC,CAAC;YAC3D,CAAC,CAAC;iBACD,KAAK,EAAE,CAAC;SACZ;aACI,IAAG,IAAI,CAAC,SAAS,IAAI,SAAS,EAAC;YAChC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;YAC7C,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;YACnB,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;iBACf,EAAE,CAAC,GAAG,EAAC,EAAC,OAAO,EAAC,GAAG,EAAC,CAAC;iBACrB,EAAE,CAAC,GAAG,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,CAAC;iBACnB,IAAI,CAAC;gBACF,IAAG,IAAI,CAAC,SAAS;oBACb,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAC,KAAK,CAAC,CAAC;YAC3D,CAAC,CAAC;iBACD,KAAK,EAAE,CAAC;SACZ;aACI,IAAG,IAAI,CAAC,SAAS,IAAI,KAAK,EAAC;YAC5B,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;YAC7C,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;YACnB,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;iBACf,EAAE,CAAC,GAAG,EAAC,EAAC,OAAO,EAAC,GAAG,EAAC,CAAC;iBACrB,IAAI,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACpB,qBAAqB;gBACrB,0DAA0D;YAC9D,CAAC,CAAC;iBACD,KAAK,EAAE,CAAC;SACZ;aACG;YACA,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,IAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAC;gBAC7C,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;gBAC7C,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;qBACvC,EAAE,CAAC,IAAI,EAAC,EAAC,SAAS,EAAC,QAAQ,EAAC,CAAC;qBAC7B,IAAI,CAAC;oBACF,IAAG,IAAI,CAAC,SAAS;wBACb,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAC,KAAK,CAAC,CAAC;gBAC3D,CAAC,CAAC;qBACD,KAAK,EAAE,CAAC;aACZ;iBACG;gBACA,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;gBACnB,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;gBAC7C,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;qBACf,EAAE,CAAC,IAAI,EAAC,EAAC,OAAO,EAAC,GAAG,EAAC,CAAC;qBACtB,IAAI,CAAC;oBACF,IAAG,IAAI,CAAC,SAAS;wBACb,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAC,KAAK,CAAC,CAAC;gBAC3D,CAAC,CAAC;qBACD,KAAK,EAAE,CAAC;aACZ;SACJ;IAEL,CAAC;IApQD;QADC,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC;wCACC;IAHT,QAAQ;QAD5B,OAAO;OACa,QAAQ,CA0Q5B;IAAD,eAAC;CA1QD,AA0QC,CA1QqC,EAAE,CAAC,SAAS,GA0QjD;kBA1QoB,QAAQ","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\n\r\nconst {ccclass, property} = cc._decorator;\r\n\r\nexport enum BlockType{\r\n /*普通地块 */\r\n Nomal = 0, \r\n /*起点地块 */\r\n Start = 1, \r\n /*湿地 */\r\n Nunja = 2,\r\n /*山峰 */\r\n Peak = 3,\r\n /*终点地块 */\r\n End = 4,\r\n\r\n /*息壤 */\r\n Xi_Soil = 5,\r\n /*加固 */\r\n Reinforce = 6\r\n}\r\n\r\nexport enum PathType{\r\n err = \"err\",\r\n up = \"up\", \r\n down = \"down\", \r\n left = \"left\",\r\n right = \"right\",\r\n up_left = \"up_left\",\r\n up_right = \"up_right\",\r\n down_left = \"down_left\",\r\n down_right = \"down_right\",\r\n left_up = \"left_up\",\r\n left_down = \"left_down\",\r\n right_up = \"right_up\",\r\n right_down = \"right_down\",\r\n}\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n // LIFE-CYCLE CALLBACKS:\r\n @property(cc.SpriteAtlas)\r\n UI: cc.SpriteAtlas = null;\r\n\r\n pos_Shifting:number;\r\n block_Type:number;\r\n path_Type:string;\r\n finishi:boolean\r\n onLoad () {\r\n this.finishi = false;\r\n this.pos_Shifting = 0;\r\n }\r\n\r\n start () {\r\n \r\n }\r\n\r\n initData(type){\r\n this.block_Type = type;\r\n if(type == cc.Enum(BlockType).Start){ \r\n this.node.color = cc.color(245,70,70);\r\n }\r\n else if(type == cc.Enum(BlockType).End){\r\n this.node.color = cc.color(20,255,0);\r\n }\r\n else if(type == cc.Enum(BlockType).Nunja){\r\n this.node.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"e5\"];\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.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n }\r\n }\r\n\r\n setPath(type){\r\n this.path_Type = type;\r\n }\r\n\r\n set_Xi_SoilType(direction,end){\r\n console.log(\"息壤\",direction);\r\n if(this.block_Type == cc.Enum(BlockType).Nunja){\r\n this.block_Type = cc.Enum(BlockType).Nomal;\r\n this.node.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"block_Bg\"];\r\n }\r\n if(end != null){\r\n setTimeout(() => {\r\n cc.fx.Notifications.emit(cc.fx.Message.next,(end+1));\r\n }, 1000);\r\n \r\n }\r\n\r\n this.block_Type = cc.Enum(BlockType).Xi_Soil;\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.5,{opacity:255})\r\n .to(0.5,{opacity:0})\r\n .call(() =>{\r\n if(direction != null && end == null){\r\n let data = {\r\n order:0,\r\n time:0.2,\r\n type:0,\r\n circulate:false\r\n };\r\n this.runWater(data);\r\n }\r\n })\r\n .start();\r\n }\r\n\r\n\r\n //洪峰执行\r\n runWater(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 //如果双向都占用了还进来就算死了- \r\n if(this.node.getChildByName(\"vertical\").active == true && this.node.getChildByName(\"horizontal\").active == true){\r\n alert(\"河道已经交叉,不能再通过\");\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 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 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 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 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 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 console.log(data.order);\r\n target = this.node.getChildByName(\"Reinforce\");\r\n this.block_Type = cc.Enum(BlockType).Reinforce;\r\n this.node.getChildByName(\"vertical\").getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"e1\"];\r\n this.node.getChildByName(\"turn\").getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"e3\"];\r\n this.node.getChildByName(\"horizontal\").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(time,{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 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.5,{opacity:255})\r\n .to(0.5,{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 .start();\r\n }\r\n else if(this.path_Type == \"End\"){\r\n target.active = false;\r\n this.block_Type = cc.Enum(BlockType).Xi_Soil;\r\n target = this.node.getChildByName(\"End\"); \r\n target.active = true;\r\n target.opacity = 0;\r\n cc.tween(target)\r\n .to(0.5,{opacity:255})\r\n .call(() =>{\r\n console.log(\"游戏结束\");\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.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 // 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 initData(type,pos,max){\r\n this.block_Type = type;\r\n this.pos = cc.v2(pos.x,pos.y);\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 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 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 }\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 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 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\"?-90:0;\r\n water.angle = direction==\"up\"?-90:0;\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 }\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\r\n set_Xi_SoilType(direction,end,name){\r\n console.log(\"息壤\",direction,name,this.block_Type);\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.set_Xi_Soil(direction,true);\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\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 //如果双向都占用了还进来就算死了- \r\n if(this.node.getChildByName(\"vertical2\").active == true && this.node.getChildByName(\"horizontal2\").active == true){\r\n alert(\"河道已经交叉,不能再通过\");\r\n cc.director.loadScene(\"GameScene\");\r\n return;\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 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(\"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\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).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.x - posTemp.x == -1){\r\n direction = \"down\";\r\n }\r\n \r\n // console.log(\"方向:\",direction);\r\n this.set_Xi_Soil(direction,true);\r\n \r\n // alert(\"治水成功\");\r\n // target = this.node.getChildByName(\"End\"); \r\n // target.active = true;\r\n // target.opacity = 0;\r\n // cc.tween(target)\r\n // .to(0.5,{opacity:255})\r\n // .call(() =>{\r\n // console.log(\"游戏结束\");\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.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\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.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.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 // if(this.path_Type == \"Reinforce\"){\r\n // target = this.node.getChildByName(\"Reinforce\");\r\n // this.block_Type = cc.Enum(BlockType).Reinforce;\r\n // // this.node.getChildByName(\"vertical\").getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"e1\"];\r\n // // this.node.getChildByName(\"turn\").getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"e3\"];\r\n // // this.node.getChildByName(\"horizontal\").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.nextWater,order);\r\n // })\r\n // .start();\r\n // }\r\n // else if(this.path_Type == \"Xi_Soil\"){\r\n // target.active = false;\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.nextWater,order);\r\n // }\r\n \r\n // })\r\n // .start();\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 if(cc.fx.GameConfig.GM_INFO.level < 7){\r\n cc.fx.GameConfig.GM_INFO.level += 1;\r\n }\r\n cc.director.loadScene(\"GameScene\");\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 cc.tween(target)\r\n .to(0.5,{opacity:255})\r\n .call(() =>{\r\n alert(\"治水失败\")\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/c7/c71bf634-8b0b-4e7a-9c82-7ec6173bc5bb.json b/library/imports/c7/c71bf634-8b0b-4e7a-9c82-7ec6173bc5bb.json deleted file mode 100644 index e7522d6..0000000 --- a/library/imports/c7/c71bf634-8b0b-4e7a-9c82-7ec6173bc5bb.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "__type__": "cc.Texture2D", - "content": "0,9729,9729,33071,33071,0,0,1" -} \ No newline at end of file diff --git a/library/imports/c7/c71bf634-8b0b-4e7a-9c82-7ec6173bc5bb.png b/library/imports/c7/c71bf634-8b0b-4e7a-9c82-7ec6173bc5bb.png deleted file mode 100644 index 3d6f08f..0000000 Binary files a/library/imports/c7/c71bf634-8b0b-4e7a-9c82-7ec6173bc5bb.png and /dev/null differ diff --git a/library/imports/c9/c930d64e-2707-474f-b691-6220e2932ddd.json b/library/imports/c9/c930d64e-2707-474f-b691-6220e2932ddd.json index b94a384..46013a0 100644 --- a/library/imports/c9/c930d64e-2707-474f-b691-6220e2932ddd.json +++ b/library/imports/c9/c930d64e-2707-474f-b691-6220e2932ddd.json @@ -26,27 +26,48 @@ { "__id__": 8 }, + { + "__id__": 11 + }, + { + "__id__": 14 + }, + { + "__id__": 17 + }, + { + "__id__": 20 + }, { "__id__": 23 }, { - "__id__": 32 + "__id__": 26 }, { - "__id__": 35 + "__id__": 41 + }, + { + "__id__": 50 + }, + { + "__id__": 65 + }, + { + "__id__": 77 } ], "_active": true, "_components": [ { - "__id__": 38 + "__id__": 80 }, { - "__id__": 39 + "__id__": 81 } ], "_prefab": { - "__id__": 40 + "__id__": 82 }, "_opacity": 255, "_color": { @@ -97,7 +118,7 @@ }, { "__type__": "cc.Node", - "_name": "Reinforce", + "_name": "turnStart", "_objFlags": 0, "_parent": { "__id__": 1 @@ -112,7 +133,7 @@ "_prefab": { "__id__": 4 }, - "_opacity": 0, + "_opacity": 255, "_color": { "__type__": "cc.Color", "r": 255, @@ -174,6 +195,329 @@ ], "_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": "91pygXpylIc6WIV3bc0sSU", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "waterStart", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": false, + "_components": [ + { + "__id__": 6 + } + ], + "_prefab": { + "__id__": 7 + }, + "_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__": 5 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "e06f7c0f-f9f3-43ac-93f0-fee5ed6cf026" + }, + "_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": "561W77CSNGgo1dunNDNXCV", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "bg", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 9 + } + ], + "_prefab": { + "__id__": 10 + }, + "_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__": 8 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": null, + "_type": 0, + "_sizeMode": 1, + "_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": "f0HOqitqhA5L0HdoWHNWLD", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "Reinforce", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": false, + "_components": [ + { + "__id__": 12 + } + ], + "_prefab": { + "__id__": 13 + }, + "_opacity": 0, + "_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__": 11 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, "_spriteFrame": { "__uuid__": "02faa74f-fcb3-4c62-9ad7-c5bdabcd2a0a" }, @@ -215,11 +559,11 @@ "_active": false, "_components": [ { - "__id__": 6 + "__id__": 15 } ], "_prefab": { - "__id__": 7 + "__id__": 16 }, "_opacity": 0, "_color": { @@ -273,7 +617,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 5 + "__id__": 14 }, "_enabled": true, "_materials": [ @@ -313,16 +657,121 @@ }, { "__type__": "cc.Node", - "_name": "vertical", + "_name": "vertical2", "_objFlags": 0, "_parent": { "__id__": 1 }, - "_children": [ + "_children": [], + "_active": false, + "_components": [ { - "__id__": 9 + "__id__": 18 } ], + "_prefab": { + "__id__": 19 + }, + "_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__": 17 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "b76603e2-c166-4ce9-af37-417cdedde12e" + }, + "_type": 3, + "_sizeMode": 1, + "_fillType": 1, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "59m0Fk9O9EjJ2NMsw4izxI", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "turn2", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], "_active": false, "_components": [ { @@ -379,32 +828,254 @@ "groupIndex": 0, "_id": "" }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 20 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_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" + }, + "_type": 3, + "_sizeMode": 1, + "_fillType": 1, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "01QtN2Wm5KnJ0u3PlL426T", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "vertical", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 27 + } + ], + "_active": false, + "_components": [ + { + "__id__": 39 + } + ], + "_prefab": { + "__id__": 40 + }, + "_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.Node", "_name": "wave", "_objFlags": 0, "_parent": { - "__id__": 8 + "__id__": 26 }, "_children": [ { - "__id__": 10 + "__id__": 28 }, { - "__id__": 13 + "__id__": 31 }, { - "__id__": 16 + "__id__": 34 } ], "_active": true, "_components": [ { - "__id__": 19 + "__id__": 37 } ], "_prefab": { - "__id__": 20 + "__id__": 38 }, "_opacity": 255, "_color": { @@ -458,17 +1129,17 @@ "_name": "water1", "_objFlags": 0, "_parent": { - "__id__": 9 + "__id__": 27 }, "_children": [], "_active": true, "_components": [ { - "__id__": 11 + "__id__": 29 } ], "_prefab": { - "__id__": 12 + "__id__": 30 }, "_opacity": 255, "_color": { @@ -480,7 +1151,7 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 7, + "width": 8, "height": 128 }, "_anchorPoint": { @@ -493,7 +1164,7 @@ "ctor": "Float64Array", "array": [ -10.489, - -97.313, + -120, 0, 0, 0, @@ -522,7 +1193,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 10 + "__id__": 28 }, "_enabled": true, "_materials": [ @@ -533,7 +1204,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "5ae8f70d-1d21-404e-bb05-5d4ddddda803" + "__uuid__": "e498e92c-6f59-4675-8a5f-dea0cf949d66" }, "_type": 0, "_sizeMode": 1, @@ -546,7 +1217,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "" }, { @@ -565,17 +1238,17 @@ "_name": "water2", "_objFlags": 0, "_parent": { - "__id__": 9 + "__id__": 27 }, "_children": [], "_active": true, "_components": [ { - "__id__": 14 + "__id__": 32 } ], "_prefab": { - "__id__": 15 + "__id__": 33 }, "_opacity": 255, "_color": { @@ -600,7 +1273,7 @@ "ctor": "Float64Array", "array": [ 3.012, - -97.313, + -120, 0, 0, 0, @@ -629,7 +1302,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 13 + "__id__": 31 }, "_enabled": true, "_materials": [ @@ -640,7 +1313,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "e8ddc240-81ef-4d7f-a7c4-8c3ee4b94b4f" + "__uuid__": "61be84a2-2f2b-4274-a6ef-41d52c9555af" }, "_type": 0, "_sizeMode": 1, @@ -653,7 +1326,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "" }, { @@ -672,17 +1347,17 @@ "_name": "water3", "_objFlags": 0, "_parent": { - "__id__": 9 + "__id__": 27 }, "_children": [], "_active": true, "_components": [ { - "__id__": 17 + "__id__": 35 } ], "_prefab": { - "__id__": 18 + "__id__": 36 }, "_opacity": 255, "_color": { @@ -707,7 +1382,7 @@ "ctor": "Float64Array", "array": [ 12.416, - -97.313, + -120, 0, 0, 0, @@ -736,7 +1411,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 16 + "__id__": 34 }, "_enabled": true, "_materials": [ @@ -747,7 +1422,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "a6bbf444-2576-4c4c-a579-8d6fdcd5f724" + "__uuid__": "153f1f33-91bf-4f36-a33f-f042a187c02e" }, "_type": 0, "_sizeMode": 1, @@ -760,7 +1435,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "" }, { @@ -779,7 +1456,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 9 + "__id__": 27 }, "_enabled": true, "_materials": [ @@ -810,7 +1487,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 8 + "__id__": 26 }, "_enabled": true, "_materials": [ @@ -859,17 +1536,17 @@ }, "_children": [ { - "__id__": 24 + "__id__": 42 } ], "_active": false, "_components": [ { - "__id__": 30 + "__id__": 48 } ], "_prefab": { - "__id__": 31 + "__id__": 49 }, "_opacity": 255, "_color": { @@ -923,21 +1600,21 @@ "_name": "wave", "_objFlags": 0, "_parent": { - "__id__": 23 + "__id__": 41 }, "_children": [ { - "__id__": 25 + "__id__": 43 } ], "_active": true, "_components": [ { - "__id__": 28 + "__id__": 46 } ], "_prefab": { - "__id__": 29 + "__id__": 47 }, "_opacity": 255, "_color": { @@ -991,17 +1668,17 @@ "_name": "water", "_objFlags": 0, "_parent": { - "__id__": 24 + "__id__": 42 }, "_children": [], "_active": true, "_components": [ { - "__id__": 26 + "__id__": 44 } ], "_prefab": { - "__id__": 27 + "__id__": 45 }, "_opacity": 255, "_color": { @@ -1013,8 +1690,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 131, - "height": 128 + "width": 179, + "height": 179 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1055,7 +1732,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 25 + "__id__": 43 }, "_enabled": true, "_materials": [ @@ -1066,7 +1743,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "d9b04dd4-b22c-4268-bf73-ac34fda14bc5" + "__uuid__": "5f0d6504-1636-4144-8d9e-32364b96f8d1" }, "_type": 0, "_sizeMode": 1, @@ -1079,7 +1756,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "" }, { @@ -1098,7 +1777,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 24 + "__id__": 42 }, "_enabled": true, "_materials": [ @@ -1129,7 +1808,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 23 + "__id__": 41 }, "_enabled": true, "_materials": [ @@ -1176,15 +1855,19 @@ "_parent": { "__id__": 1 }, - "_children": [], + "_children": [ + { + "__id__": 51 + } + ], "_active": false, "_components": [ { - "__id__": 33 + "__id__": 63 } ], "_prefab": { - "__id__": 34 + "__id__": 64 }, "_opacity": 255, "_color": { @@ -1196,7 +1879,7 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 60, + "width": 96, "height": 96 }, "_anchorPoint": { @@ -1233,12 +1916,150 @@ "groupIndex": 0, "_id": "" }, + { + "__type__": "cc.Node", + "_name": "wave", + "_objFlags": 0, + "_parent": { + "__id__": 50 + }, + "_children": [ + { + "__id__": 52 + }, + { + "__id__": 55 + }, + { + "__id__": 58 + } + ], + "_active": true, + "_components": [ + { + "__id__": 61 + } + ], + "_prefab": { + "__id__": 62 + }, + "_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.Node", + "_name": "water1", + "_objFlags": 0, + "_parent": { + "__id__": 51 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 53 + } + ], + "_prefab": { + "__id__": 54 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 8, + "height": 128 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -10.489, + -120, + 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__": 32 + "__id__": 52 }, "_enabled": true, "_materials": [ @@ -1249,7 +2070,301 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "af8457b5-c84c-4585-9402-aee73193f450" + "__uuid__": "e498e92c-6f59-4675-8a5f-dea0cf949d66" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "4fbsAmb2xL9Z5ru7uF0kbu", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "water2", + "_objFlags": 0, + "_parent": { + "__id__": 51 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 56 + } + ], + "_prefab": { + "__id__": 57 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 8, + "height": 118 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 3.012, + -120, + 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__": 55 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "61be84a2-2f2b-4274-a6ef-41d52c9555af" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "a1XbxIz/pDM5yEnPY4GVrB", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "water3", + "_objFlags": 0, + "_parent": { + "__id__": 51 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 59 + } + ], + "_prefab": { + "__id__": 60 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 24, + "height": 138 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 12.416, + -120, + 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__": 58 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "153f1f33-91bf-4f36-a33f-f042a187c02e" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "3aiOLofOhI6LU6NH1etq12", + "sync": false + }, + { + "__type__": "cc.Mask", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 51 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_spriteFrame": null, + "_type": 0, + "_segments": 64, + "_N$alphaThreshold": 0.1, + "_N$inverted": false, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "88lwocuPBOz4+Ox3FYCDNN", + "sync": false + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 50 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "a867e23c-0cb2-4e4c-8b56-6d767ba3e3a7" }, "_type": 3, "_sizeMode": 1, @@ -1262,6 +2377,405 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "35xKcSVUZLopFFdXxCEm5O", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "sp", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 66 + }, + { + "__id__": 69 + }, + { + "__id__": 72 + } + ], + "_active": true, + "_components": [ + { + "__id__": 75 + } + ], + "_prefab": { + "__id__": 76 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 0, + "height": 0 + }, + "_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.Node", + "_name": "start", + "_objFlags": 0, + "_parent": { + "__id__": 65 + }, + "_children": [], + "_active": false, + "_components": [ + { + "__id__": 67 + } + ], + "_prefab": { + "__id__": 68 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 96, + "height": 36 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 28, + 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__": 66 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "76a60b7f-4c56-43e3-bd0c-2068fe3e6114" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "b9arqz+uVOoLBKt3S+yI2K", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "end", + "_objFlags": 0, + "_parent": { + "__id__": 65 + }, + "_children": [], + "_active": false, + "_components": [ + { + "__id__": 70 + } + ], + "_prefab": { + "__id__": 71 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 96, + "height": 36 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 30, + 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__": 69 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "d506451a-fe7c-41c7-9f9b-d2ad917c686c" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "7e0oRK9FRIQo7GCUOlzQGX", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "bg", + "_objFlags": 0, + "_parent": { + "__id__": 65 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 73 + } + ], + "_prefab": { + "__id__": 74 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 0, + "height": 0 + }, + "_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__": 72 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": null, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, "_atlas": null, "_id": "" }, @@ -1273,7 +2787,48 @@ "asset": { "__id__": 0 }, - "fileId": "35xKcSVUZLopFFdXxCEm5O", + "fileId": "84LEMr+CxNAYuAy0aJ2ERx", + "sync": false + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 65 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": null, + "_type": 0, + "_sizeMode": 1, + "_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": "96hwYYVvZIeJFUaZYzJVKS", "sync": false }, { @@ -1284,20 +2839,20 @@ "__id__": 1 }, "_children": [], - "_active": false, + "_active": true, "_components": [ { - "__id__": 36 + "__id__": 78 } ], "_prefab": { - "__id__": 37 + "__id__": 79 }, "_opacity": 0, "_color": { "__type__": "cc.Color", - "r": 0, - "g": 231, + "r": 255, + "g": 255, "b": 255, "a": 255 }, @@ -1345,7 +2900,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 35 + "__id__": 77 }, "_enabled": true, "_materials": [ @@ -1356,7 +2911,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "a23235d1-15db-4b95-8439-a2e005bfff91" + "__uuid__": "abd4feee-c0b1-4fd0-bc07-927f4c13eafe" }, "_type": 0, "_sizeMode": 0, @@ -1369,7 +2924,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "" }, { diff --git a/library/imports/cd/cd733e9d-b900-4cad-a590-13b0ffd9f2bf.json b/library/imports/cd/cd733e9d-b900-4cad-a590-13b0ffd9f2bf.json index e8e5bea..d9c2b2f 100644 --- a/library/imports/cd/cd733e9d-b900-4cad-a590-13b0ffd9f2bf.json +++ b/library/imports/cd/cd733e9d-b900-4cad-a590-13b0ffd9f2bf.json @@ -5,8 +5,8 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 1, - 345, + 1220, + 160, 96, 96 ], diff --git a/library/imports/e3/e3acc841-072e-46c4-b892-be3da3cb608b.json b/library/imports/cd/cdd137bb-0948-45d8-83d9-72ef549a9dbc.json similarity index 66% rename from library/imports/e3/e3acc841-072e-46c4-b892-be3da3cb608b.json rename to library/imports/cd/cdd137bb-0948-45d8-83d9-72ef549a9dbc.json index 66a2edc..3d7acde 100644 --- a/library/imports/e3/e3acc841-072e-46c4-b892-be3da3cb608b.json +++ b/library/imports/cd/cdd137bb-0948-45d8-83d9-72ef549a9dbc.json @@ -1,22 +1,22 @@ { "__type__": "cc.SpriteFrame", "content": { - "name": "block2", - "texture": "bc1d04bb-c176-4882-be2b-e8697f8064a9", + "name": "bg1", + "texture": "7a27612e-e898-4a59-afb2-1afd54664469", "atlas": "", "rect": [ 0, 0, - 78, - 78 + 750, + 1660 ], "offset": [ 0, 0 ], "originalSize": [ - 78, - 78 + 750, + 1660 ], "capInsets": [ 0, diff --git a/library/imports/cf/cfa9cb38-5f6a-444a-b048-f064baeef016.json b/library/imports/cf/cfa9cb38-5f6a-444a-b048-f064baeef016.json new file mode 100644 index 0000000..955cb2d --- /dev/null +++ b/library/imports/cf/cfa9cb38-5f6a-444a-b048-f064baeef016.json @@ -0,0 +1,28 @@ +{ + "__type__": "cc.SpriteFrame", + "content": { + "name": "right", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", + "rect": [ + 919, + 420, + 84, + 84 + ], + "offset": [ + 0, + 0 + ], + "originalSize": [ + 84, + 84 + ], + "capInsets": [ + 0, + 0, + 0, + 0 + ] + } +} \ No newline at end of file diff --git a/library/imports/d3/d38677eb-455f-4373-ad16-121fc24ccd59.json b/library/imports/d3/d38677eb-455f-4373-ad16-121fc24ccd59.json deleted file mode 100644 index e7522d6..0000000 --- a/library/imports/d3/d38677eb-455f-4373-ad16-121fc24ccd59.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "__type__": "cc.Texture2D", - "content": "0,9729,9729,33071,33071,0,0,1" -} \ No newline at end of file diff --git a/library/imports/d3/d38677eb-455f-4373-ad16-121fc24ccd59.png b/library/imports/d3/d38677eb-455f-4373-ad16-121fc24ccd59.png deleted file mode 100644 index f172d1d..0000000 Binary files a/library/imports/d3/d38677eb-455f-4373-ad16-121fc24ccd59.png and /dev/null differ diff --git a/library/imports/d4/d4cced48-f310-45c1-b6d9-9ffb0a317860.json b/library/imports/d4/d4cced48-f310-45c1-b6d9-9ffb0a317860.json index 4beb0d8..3f7f04e 100644 --- a/library/imports/d4/d4cced48-f310-45c1-b6d9-9ffb0a317860.json +++ b/library/imports/d4/d4cced48-f310-45c1-b6d9-9ffb0a317860.json @@ -5,8 +5,8 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 99, - 295, + 1808, + 197, 96, 96 ], diff --git a/library/imports/d5/d506451a-fe7c-41c7-9f9b-d2ad917c686c.json b/library/imports/d5/d506451a-fe7c-41c7-9f9b-d2ad917c686c.json index 3f1a68c..509f6d1 100644 --- a/library/imports/d5/d506451a-fe7c-41c7-9f9b-d2ad917c686c.json +++ b/library/imports/d5/d506451a-fe7c-41c7-9f9b-d2ad917c686c.json @@ -5,8 +5,8 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 1, - 443, + 503, + 439, 96, 36 ], diff --git a/library/imports/d5/d53a3565-f833-4261-9076-d48232a513c5.json b/library/imports/d5/d53a3565-f833-4261-9076-d48232a513c5.json new file mode 100644 index 0000000..a4db96b --- /dev/null +++ b/library/imports/d5/d53a3565-f833-4261-9076-d48232a513c5.json @@ -0,0 +1,28 @@ +{ + "__type__": "cc.SpriteFrame", + "content": { + "name": "line", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", + "rect": [ + 1268, + 1, + 412, + 6 + ], + "offset": [ + 0, + 0 + ], + "originalSize": [ + 412, + 6 + ], + "capInsets": [ + 0, + 0, + 0, + 0 + ] + } +} \ No newline at end of file diff --git a/library/imports/d7/d7c204b8-0179-40c7-b370-12c199c53dcb.json b/library/imports/d7/d7c204b8-0179-40c7-b370-12c199c53dcb.json deleted file mode 100644 index e7522d6..0000000 --- a/library/imports/d7/d7c204b8-0179-40c7-b370-12c199c53dcb.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "__type__": "cc.Texture2D", - "content": "0,9729,9729,33071,33071,0,0,1" -} \ No newline at end of file diff --git a/library/imports/d7/d7c204b8-0179-40c7-b370-12c199c53dcb.png b/library/imports/d7/d7c204b8-0179-40c7-b370-12c199c53dcb.png deleted file mode 100644 index 5b5cf91..0000000 Binary files a/library/imports/d7/d7c204b8-0179-40c7-b370-12c199c53dcb.png and /dev/null differ diff --git a/library/imports/da/da7d9bdf-9fd7-4fae-8134-8f0d1db1c899.json b/library/imports/da/da7d9bdf-9fd7-4fae-8134-8f0d1db1c899.json index 2d7567e..215c675 100644 --- a/library/imports/da/da7d9bdf-9fd7-4fae-8134-8f0d1db1c899.json +++ b/library/imports/da/da7d9bdf-9fd7-4fae-8134-8f0d1db1c899.json @@ -5,8 +5,8 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 1, - 149, + 1592, + 9, 96, 96 ], diff --git a/library/imports/db/db06b8d5-6735-4ce0-8748-edfe06e9fd30.json b/library/imports/db/db06b8d5-6735-4ce0-8748-edfe06e9fd30.json new file mode 100644 index 0000000..f076792 --- /dev/null +++ b/library/imports/db/db06b8d5-6735-4ce0-8748-edfe06e9fd30.json @@ -0,0 +1,28 @@ +{ + "__type__": "cc.SpriteFrame", + "content": { + "name": "lang", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", + "rect": [ + 197, + 469, + 49, + 32 + ], + "offset": [ + 0, + 0 + ], + "originalSize": [ + 49, + 32 + ], + "capInsets": [ + 0, + 0, + 0, + 0 + ] + } +} \ No newline at end of file diff --git a/library/imports/dd/dda83961-0246-4b58-82f5-cbc6af047e6e.json b/library/imports/dd/dda83961-0246-4b58-82f5-cbc6af047e6e.json new file mode 100644 index 0000000..010e0ca --- /dev/null +++ b/library/imports/dd/dda83961-0246-4b58-82f5-cbc6af047e6e.json @@ -0,0 +1,28 @@ +{ + "__type__": "cc.SpriteFrame", + "content": { + "name": "left", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", + "rect": [ + 833, + 420, + 84, + 84 + ], + "offset": [ + 0, + 0 + ], + "originalSize": [ + 84, + 84 + ], + "capInsets": [ + 0, + 0, + 0, + 0 + ] + } +} \ No newline at end of file diff --git a/library/imports/e0/e006af8e-5c21-4124-b29b-4d429f0900b3.jpg b/library/imports/e0/e006af8e-5c21-4124-b29b-4d429f0900b3.jpg new file mode 100644 index 0000000..c77349b Binary files /dev/null and b/library/imports/e0/e006af8e-5c21-4124-b29b-4d429f0900b3.jpg differ diff --git a/library/imports/e0/e006af8e-5c21-4124-b29b-4d429f0900b3.json b/library/imports/e0/e006af8e-5c21-4124-b29b-4d429f0900b3.json new file mode 100644 index 0000000..9ddba82 --- /dev/null +++ b/library/imports/e0/e006af8e-5c21-4124-b29b-4d429f0900b3.json @@ -0,0 +1,4 @@ +{ + "__type__": "cc.Texture2D", + "content": "1,9729,9729,33071,33071,0,0,1" +} \ No newline at end of file diff --git a/library/imports/e0/e06f7c0f-f9f3-43ac-93f0-fee5ed6cf026.json b/library/imports/e0/e06f7c0f-f9f3-43ac-93f0-fee5ed6cf026.json index 3e62d17..a7a9682 100644 --- a/library/imports/e0/e06f7c0f-f9f3-43ac-93f0-fee5ed6cf026.json +++ b/library/imports/e0/e06f7c0f-f9f3-43ac-93f0-fee5ed6cf026.json @@ -5,7 +5,7 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 345, + 1808, 99, 96, 96 diff --git a/library/imports/e3/e35ab717-e554-40a0-8b4e-ea6805718c97.js b/library/imports/e3/e35ab717-e554-40a0-8b4e-ea6805718c97.js index f563a12..14e046d 100644 --- a/library/imports/e3/e35ab717-e554-40a0-8b4e-ea6805718c97.js +++ b/library/imports/e3/e35ab717-e554-40a0-8b4e-ea6805718c97.js @@ -49,17 +49,23 @@ var NewClass = /** @class */ (function (_super) { this.canTouch = true; }; NewClass.prototype.setPosition = function (tip) { - tip.setPosition(45, -35); + tip.setPosition(30, -35); if (this.tipArray.length > 0) { var length = this.tipArray.length + 1; - var posY = Math.ceil(length / 5) - 1; - var posX = length - Math.floor(posY) * 5 - 1; - tip.setPosition(45 + 65 * posX, -35 - 60 * posY); + 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; + 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 = []; }; NewClass.prototype.back_Click = function () { @@ -78,8 +84,9 @@ var NewClass = /** @class */ (function (_super) { if (!this.canTouch) return; var prefab = this.tip; - if (data == "reinforce" || data == "soil") + if (data == "reinforce" || data == "soil") { prefab = this[data]; + } var tip = cc.instantiate(prefab); if (data == "up") tip.angle = 180; @@ -88,6 +95,15 @@ var NewClass = /** @class */ (function (_super) { 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); 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 62f6eb6..7e57c9a 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 // 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 }\r\n\r\n setPosition(tip){\r\n tip.setPosition(45,-35);\r\n if(this.tipArray.length > 0){\r\n let length = this.tipArray.length+1;\r\n let posY = Math.ceil(length/5) - 1;\r\n let posX = length - Math.floor(posY)*5 - 1;\r\n tip.setPosition(45 + 65*posX,-35 -60*posY);\r\n }\r\n }\r\n\r\n removeAllTip(){\r\n if(!this.canTouch) return;\r\n this.tipArray = [];\r\n }\r\n\r\n back_Click(){\r\n if(!this.canTouch) return;\r\n if(this.tipArray.length > 0){\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 }\r\n }\r\n\r\n\r\n btn_Click(target,data){\r\n if(!this.canTouch) return;\r\n let prefab = this.tip;\r\n if(data == \"reinforce\" || data == \"soil\") prefab = this[data];\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 this.setPosition(tip);\r\n this.tipArray.push(tip);\r\n this.controlArray.push(data);\r\n cc.fx.Notifications.emit(cc.fx.Message.control,data);\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.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 // 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 }\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 for(let i=0; i 0){\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 }\r\n }\r\n\r\n\r\n btn_Click(target,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 }\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\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 cc.fx.Notifications.emit(cc.fx.Message.control,data);\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.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 diff --git a/library/imports/5a/5ae8f70d-1d21-404e-bb05-5d4ddddda803.json b/library/imports/e4/e498e92c-6f59-4675-8a5f-dea0cf949d66.json similarity index 62% rename from library/imports/5a/5ae8f70d-1d21-404e-bb05-5d4ddddda803.json rename to library/imports/e4/e498e92c-6f59-4675-8a5f-dea0cf949d66.json index eae72a4..e10550b 100644 --- a/library/imports/5a/5ae8f70d-1d21-404e-bb05-5d4ddddda803.json +++ b/library/imports/e4/e498e92c-6f59-4675-8a5f-dea0cf949d66.json @@ -2,22 +2,23 @@ "__type__": "cc.SpriteFrame", "content": { "name": "vertical_wave3", - "texture": "ac13d46e-7c59-4656-a2e3-c47daa6d69ad", - "atlas": "", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 0, - 0, - 7, + 1, + 459, + 8, 128 ], "offset": [ - -0.5, + 0, 0 ], "originalSize": [ 8, 128 ], + "rotated": 1, "capInsets": [ 0, 0, diff --git a/library/imports/e9/e96fcc50-b08c-429f-a71d-054aa5cb5f44.json b/library/imports/e9/e96fcc50-b08c-429f-a71d-054aa5cb5f44.json index 5d1c199..9b2f6b7 100644 --- a/library/imports/e9/e96fcc50-b08c-429f-a71d-054aa5cb5f44.json +++ b/library/imports/e9/e96fcc50-b08c-429f-a71d-054aa5cb5f44.json @@ -7,16 +7,16 @@ "rect": [ 0, 0, - 686, - 490 + 2001, + 505 ], "offset": [ - 0, + -1, 0 ], "originalSize": [ - 686, - 490 + 2003, + 505 ], "capInsets": [ 0, diff --git a/library/imports/f3/f3037750-dea0-4d93-9011-f3e0e0979861.json b/library/imports/f3/f3037750-dea0-4d93-9011-f3e0e0979861.json index 205201a..537e149 100644 --- a/library/imports/f3/f3037750-dea0-4d93-9011-f3e0e0979861.json +++ b/library/imports/f3/f3037750-dea0-4d93-9011-f3e0e0979861.json @@ -5,8 +5,8 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 197, - 295, + 1318, + 329, 96, 96 ], diff --git a/library/imports/f4/f4f7f0ee-4505-4085-a0fe-081d7cc724cb.json b/library/imports/f4/f4f7f0ee-4505-4085-a0fe-081d7cc724cb.json new file mode 100644 index 0000000..2f65609 --- /dev/null +++ b/library/imports/f4/f4f7f0ee-4505-4085-a0fe-081d7cc724cb.json @@ -0,0 +1,28 @@ +{ + "__type__": "cc.SpriteFrame", + "content": { + "name": "little_right", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", + "rect": [ + 1213, + 404, + 46, + 46 + ], + "offset": [ + 0, + 0 + ], + "originalSize": [ + 46, + 46 + ], + "capInsets": [ + 0, + 0, + 0, + 0 + ] + } +} \ No newline at end of file diff --git a/library/imports/f7/f76f3659-5f49-4743-8a58-db0adfccd455.json b/library/imports/f7/f76f3659-5f49-4743-8a58-db0adfccd455.json index 0c944d8..84aaf7c 100644 --- a/library/imports/f7/f76f3659-5f49-4743-8a58-db0adfccd455.json +++ b/library/imports/f7/f76f3659-5f49-4743-8a58-db0adfccd455.json @@ -5,7 +5,7 @@ "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", "rect": [ - 443, + 1906, 99, 96, 96 diff --git a/library/imports/fb/fb15d143-fb48-4fae-8921-e5f005493fac.json b/library/imports/fb/fb15d143-fb48-4fae-8921-e5f005493fac.json new file mode 100644 index 0000000..64ad39e --- /dev/null +++ b/library/imports/fb/fb15d143-fb48-4fae-8921-e5f005493fac.json @@ -0,0 +1,28 @@ +{ + "__type__": "cc.SpriteFrame", + "content": { + "name": "progress", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", + "rect": [ + 1, + 439, + 500, + 18 + ], + "offset": [ + 0, + 0 + ], + "originalSize": [ + 500, + 18 + ], + "capInsets": [ + 0, + 0, + 0, + 0 + ] + } +} \ No newline at end of file diff --git a/library/imports/fc/fc9f379e-ab15-4792-adce-65600c4793c7.json b/library/imports/fc/fc9f379e-ab15-4792-adce-65600c4793c7.json new file mode 100644 index 0000000..16a5cb3 --- /dev/null +++ b/library/imports/fc/fc9f379e-ab15-4792-adce-65600c4793c7.json @@ -0,0 +1,28 @@ +{ + "__type__": "cc.SpriteFrame", + "content": { + "name": "down", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", + "rect": [ + 747, + 420, + 84, + 84 + ], + "offset": [ + 0, + 0 + ], + "originalSize": [ + 84, + 84 + ], + "capInsets": [ + 0, + 0, + 0, + 0 + ] + } +} \ No newline at end of file diff --git a/library/imports/ff/ffab2d63-1700-4821-8d95-9f4d4717aa1b.json b/library/imports/ff/ffab2d63-1700-4821-8d95-9f4d4717aa1b.json new file mode 100644 index 0000000..6ccfcf8 --- /dev/null +++ b/library/imports/ff/ffab2d63-1700-4821-8d95-9f4d4717aa1b.json @@ -0,0 +1,28 @@ +{ + "__type__": "cc.SpriteFrame", + "content": { + "name": "headBg", + "texture": "8e56f0ab-ead9-40ba-990e-1e82c9d20326", + "atlas": "9830637c-e4e3-4df5-8d51-fc49b7d715b4", + "rect": [ + 1, + 357, + 744, + 80 + ], + "offset": [ + 0, + 0 + ], + "originalSize": [ + 744, + 80 + ], + "capInsets": [ + 0, + 0, + 0, + 0 + ] + } +} \ No newline at end of file diff --git a/library/uuid-to-mtime.json b/library/uuid-to-mtime.json index e7479fb..577445e 100644 --- a/library/uuid-to-mtime.json +++ b/library/uuid-to-mtime.json @@ -55,8 +55,8 @@ "relativePath": "prefab" }, "52e78fe3-9095-42ad-8e4d-f9bb12dc69ce": { - "asset": 1721124169395, - "meta": 1721181440111, + "asset": 1721899877493, + "meta": 1721900604293, "relativePath": "resources" }, "4b9c5a7e-c645-48a4-9aca-5df381ce4ef5": { @@ -75,8 +75,8 @@ "relativePath": "res" }, "4eaf518b-35ec-4262-928d-4d497c3f2830": { - "asset": 1721373183115, - "meta": 1721373183126, + "asset": 1721872578789, + "meta": 1721872578797, "relativePath": "Scene\\GameScene.fire" }, "eaa8b84d-69d0-4170-9f7d-8179ea948cde": { @@ -134,11 +134,6 @@ "meta": 1718260711215, "relativePath": "Script\\module\\Notification\\Notification.ts" }, - "d54211e0-2d28-4528-88e3-e5fd7c9b59a2": { - "asset": 1716189341583, - "meta": 1718260711351, - "relativePath": "Script\\module\\RankList\\List.ts" - }, "5c9b8159-89a3-4b32-b303-b3d4f7ac1c9f": { "asset": 1626178655932, "meta": 1718265038280, @@ -149,19 +144,14 @@ "meta": 1718269102270, "relativePath": "Script\\module\\Storage\\Storage.ts" }, - "771a3d9a-4013-4654-a777-fbaea0c93280": { - "asset": 1720412209513, - "meta": 1720607873421, - "relativePath": "Script\\module\\Crypto\\HttpUtil.ts" - }, "58403fe7-d7a2-426b-9b19-84d3236731a8": { "asset": 1720174805252, "meta": 1720607873573, "relativePath": "Script\\module\\Music\\AudioManager.ts" }, "9c08062d-4cf1-4b6e-a8ba-4a3881cc7e7d": { - "asset": 1720508719986, - "meta": 1720508719991, + "asset": 1721807295750, + "meta": 1721807295755, "relativePath": "Scene\\LoadScene.fire" }, "805c69df-dfdf-4759-97ae-5a7341f424c7": { @@ -200,8 +190,8 @@ "relativePath": "resources\\Json\\LEVEL_INFO.json" }, "066e91c2-fc55-407c-b061-9e4de4a9f224": { - "asset": 1720607669176, - "meta": 1720607872704, + "asset": 1721360333854, + "meta": 1721385627707, "relativePath": "resources\\Json" }, "badb56f7-1c07-4fbb-87e6-5bfd805fe81b": { @@ -305,20 +295,10 @@ "relativePath": "TmoDemo\\TmoScene.fire" }, "e92938d8-5d93-4823-8770-fd489523a2f5": { - "asset": 1721124719283, - "meta": 1721181440111, + "asset": 1721803678041, + "meta": 1721812120447, "relativePath": "resources\\UI" }, - "bc1d04bb-c176-4882-be2b-e8697f8064a9": { - "asset": 1720083362917, - "meta": 1720083494269, - "relativePath": "resources\\UI\\block2.png" - }, - "d38677eb-455f-4373-ad16-121fc24ccd59": { - "asset": 1720081281133, - "meta": 1720083494271, - "relativePath": "resources\\UI\\block1.png" - }, "ee99002a-8c66-493b-a20d-f0210e00843b": { "asset": 1720494875544, "meta": 1720504946184, @@ -330,8 +310,8 @@ "relativePath": "res\\block.png" }, "47657f05-243e-4f2a-a32d-200631f1c252": { - "asset": 1720695545983, - "meta": 1720695545989, + "asset": 1721729037632, + "meta": 1721729037636, "relativePath": "prefab\\mapTip.prefab" }, "2234ab2c-a7b4-48be-90e0-ae7aa58e9d91": { @@ -340,13 +320,13 @@ "relativePath": "Script\\Map.ts" }, "9e91c351-bd17-446b-b773-3b715fe6ba48": { - "asset": 1720598131636, - "meta": 1720598562959, + "asset": 1721729080839, + "meta": 1721729080844, "relativePath": "prefab\\soil.prefab" }, "7a90e76c-37f8-4f8c-84e9-f05b34afe481": { - "asset": 1720598564437, - "meta": 1720598564440, + "asset": 1721729063093, + "meta": 1721729063097, "relativePath": "prefab\\reinforce.prefab" }, "bdc76845-baea-4381-911e-af437cccf839": { @@ -364,589 +344,589 @@ "meta": 1720607873884, "relativePath": "Script\\module\\Share.zip" }, - "e35ab717-e554-40a0-8b4e-ea6805718c97": { - "asset": 1720694289297, - "meta": 1720694289788, - "relativePath": "Script\\ControlManager.ts" - }, "454ad829-851a-40ea-8ab9-941e828357ca": { "asset": 1720780083500, "meta": 1720780084143, "relativePath": "Script\\Load.ts" }, "9cae7274-40c8-4671-a446-cb7746cd0bae": { - "asset": 1721124169396, - "meta": 1721124169399, + "asset": 1721807075832, + "meta": 1721812120446, "relativePath": "resources\\Bg" }, - "c71bf634-8b0b-4e7a-9c82-7ec6173bc5bb": { - "asset": 1721124094400, - "meta": 1721124169433, - "relativePath": "resources\\Bg\\bg2.png" - }, - "9836134e-b892-4283-b6b2-78b5acf3ed45": { - "asset": 1714966328642, - "meta": 1721290220398, - "relativePath": "effects" - }, - "abc2cb62-7852-4525-a90d-d474487b88f2": { - "asset": 1714966328642, - "meta": 1721290220499, - "relativePath": "effects\\builtin-phong.effect" - }, - "e2f00085-c597-422d-9759-52c360279106": { - "asset": 1714966328642, - "meta": 1721290220549, - "relativePath": "effects\\builtin-toon.effect" - }, - "430eccbf-bf2c-4e6e-8c0c-884bbb487f32": { - "asset": 1714966328642, - "meta": 1721290220561, - "relativePath": "effects\\__builtin-editor-gizmo-line.effect" - }, - "6c5cf6e1-b044-4eac-9431-835644d57381": { - "asset": 1714966328642, - "meta": 1721290220570, - "relativePath": "effects\\__builtin-editor-gizmo-unlit.effect" - }, - "115286d1-2e10-49ee-aab4-341583f607e8": { - "asset": 1714966328642, - "meta": 1721290220596, - "relativePath": "effects\\__builtin-editor-gizmo.effect" - }, - "f8e6b000-5643-4b86-9080-aa680ce1f599": { - "asset": 1714966328706, - "meta": 1721290220399, - "relativePath": "image" - }, - "5c3eedba-6c41-4c0c-9ba7-d91f813cbd1c": { - "asset": 1714966328721, - "meta": 1721290220400, - "relativePath": "materials" - }, - "fc09f9bd-2cce-4605-b630-8145ef809ed6": { - "asset": 1714966328721, - "meta": 1721290220401, - "relativePath": "misc" - }, - "e851e89b-faa2-4484-bea6-5c01dd9f06e2": { - "asset": 1714966328658, - "meta": 1721290220634, - "relativePath": "image\\default_btn_normal.png" - }, - "db019bf7-f71c-4111-98cf-918ea180cb48": { - "asset": 1714966328737, - "meta": 1721290220402, - "relativePath": "model" - }, - "4bab67cb-18e6-4099-b840-355f0473f890": { - "asset": 1714966328689, - "meta": 1721290220692, - "relativePath": "image\\default_scrollbar_bg.png" - }, - "e39e96e6-6f6e-413f-bcf1-ac7679bb648a": { - "asset": 1714966328737, - "meta": 1721290220651, - "relativePath": "model\\prefab" - }, - "b43ff3c2-02bb-4874-81f7-f2dea6970f18": { - "asset": 1714966328658, - "meta": 1721290220637, - "relativePath": "image\\default_btn_pressed.png" - }, - "d6d3ca85-4681-47c1-b5dd-d036a9d39ea2": { - "asset": 1714966328689, - "meta": 1721290220688, - "relativePath": "image\\default_scrollbar_vertical.png" - }, - "617323dd-11f4-4dd3-8eec-0caf6b3b45b9": { - "asset": 1714966328689, - "meta": 1721290220688, - "relativePath": "image\\default_scrollbar_vertical_bg.png" - }, - "71561142-4c83-4933-afca-cb7a17f67053": { - "asset": 1714966328658, - "meta": 1721290220651, - "relativePath": "image\\default_btn_disabled.png" - }, - "edd215b9-2796-4a05-aaf5-81f96c9281ce": { - "asset": 1714966328658, - "meta": 1721290220647, - "relativePath": "image\\default_editbox_bg.png" - }, - "567dcd80-8bf4-4535-8a5a-313f1caf078a": { - "asset": 1714966328673, - "meta": 1721290220684, - "relativePath": "image\\default_radio_button_off.png" - }, - "600301aa-3357-4a10-b086-84f011fa32ba": { - "asset": 1714966328642, - "meta": 1721290220642, - "relativePath": "image\\default-particle.png" - }, - "f6e6dd15-71d1-4ffe-ace7-24fd39942c05": { - "asset": 1714966328752, - "meta": 1721290220402, - "relativePath": "obsolete" - }, - "cfef78f1-c8df-49b7-8ed0-4c953ace2621": { - "asset": 1714966328673, - "meta": 1721290220647, - "relativePath": "image\\default_progressbar.png" - }, - "c4480a0a-6ac5-443f-8b40-361a14257fc8": { - "asset": 1714966328706, - "meta": 1721290221027, - "relativePath": "materials\\builtin-phong.mtl" - }, - "f743d2b6-b7ea-4c14-a55b-547ed4d0a045": { - "asset": 1714966328752, - "meta": 1721290220404, - "relativePath": "particle" - }, - "d81ec8ad-247c-4e62-aa3c-d35c4193c7af": { - "asset": 1714966328673, - "meta": 1721290220639, - "relativePath": "image\\default_panel.png" - }, - "a87cc147-01b2-43f8-8e42-a7ca90b0c757": { - "asset": 1714966328721, - "meta": 1721290220916, - "relativePath": "model\\prefab\\box.prefab" - }, - "9d60001f-b5f4-4726-a629-2659e3ded0b8": { - "asset": 1714966328673, - "meta": 1721290220680, - "relativePath": "image\\default_radio_button_on.png" - }, - "b5fc2cf2-7942-483d-be1f-bbeadc4714ad": { - "asset": 1714966328737, - "meta": 1721290220932, - "relativePath": "model\\prefab\\cone.prefab" - }, - "fe1417b6-fe6b-46a4-ae7c-9fd331f33a2a": { - "asset": 1714966328737, - "meta": 1721290220932, - "relativePath": "model\\prefab\\capsule.prefab" - }, - "0275e94c-56a7-410f-bd1a-fc7483f7d14a": { - "asset": 1714966328705, - "meta": 1721290220680, - "relativePath": "image\\default_sprite_splash.png" - }, - "ae6c6c98-11e4-452f-8758-75f5c6a56e83": { - "asset": 1714966328831, - "meta": 1721290220405, - "relativePath": "prefab" - }, - "3f376125-a699-40ca-ad05-04d662eaa1f2": { - "asset": 1714966328737, - "meta": 1721290220949, - "relativePath": "model\\prefab\\plane.prefab" - }, - "99170b0b-d210-46f1-b213-7d9e3f23098a": { - "asset": 1714966328673, - "meta": 1721290220644, - "relativePath": "image\\default_progressbar_bg.png" - }, - "1c5e4038-953a-44c2-b620-0bbfc6170477": { - "asset": 1714966328737, - "meta": 1721290220936, - "relativePath": "model\\prefab\\cylinder.prefab" - }, - "2d9a4b85-b0ab-4c46-84c5-18f393ab2058": { - "asset": 1714966328737, - "meta": 1721290220940, - "relativePath": "model\\prefab\\sphere.prefab" - }, - "6e056173-d285-473c-b206-40a7fff5386e": { - "asset": 1714966328689, - "meta": 1721290220692, - "relativePath": "image\\default_sprite.png" - }, - "6c9ef10d-b479-420b-bfe6-39cdda6a8ae0": { - "asset": 1714966328737, - "meta": 1721290220949, - "relativePath": "model\\prefab\\quad.prefab" - }, - "de510076-056b-484f-b94c-83bef217d0e1": { - "asset": 1714966328737, - "meta": 1721290220940, - "relativePath": "model\\prefab\\torus.prefab" - }, - "0291c134-b3da-4098-b7b5-e397edbe947f": { - "asset": 1714966328689, - "meta": 1721290220684, - "relativePath": "image\\default_scrollbar.png" - }, - "897ef7a1-4860-4f64-968d-f5924b18668a": { - "asset": 1714966328752, - "meta": 1721290220700, - "relativePath": "prefab\\2d-camera.prefab" - }, - "70d7cdb0-04cd-41bb-9480-c06a4785f386": { - "asset": 1714966328768, - "meta": 1721290220696, - "relativePath": "prefab\\3d-camera.prefab" - }, - "a3ee0214-b432-4865-9666-4a3211814282": { - "asset": 1714966328800, - "meta": 1721290220700, - "relativePath": "prefab\\light" - }, - "70bbeb73-6dc2-4ee4-8faf-76b3a0e34ec4": { - "asset": 1714966328768, - "meta": 1721290220700, - "relativePath": "prefab\\3d-particle.prefab" - }, - "972b9a4d-47ee-4c74-b5c3-61d8a69bc29f": { - "asset": 1714966328768, - "meta": 1721290220708, - "relativePath": "prefab\\button.prefab" - }, - "ed88f13d-fcad-4848-aa35-65a2cb973584": { - "asset": 1714966328768, - "meta": 1721290220704, - "relativePath": "prefab\\3d-stage.prefab" - }, - "61aeb05b-3b32-452b-8eed-2b76deeed554": { - "asset": 1714966328783, - "meta": 1721290220708, - "relativePath": "prefab\\editbox.prefab" - }, - "2c937608-2562-40ea-b264-7395df6f0cea": { - "asset": 1714966328768, - "meta": 1721290220708, - "relativePath": "prefab\\canvas.prefab" - }, - "27756ebb-3d33-44b0-9b96-e858fadd4dd4": { - "asset": 1714966328783, - "meta": 1721290220713, - "relativePath": "prefab\\label.prefab" - }, - "785a442c-3ceb-45be-a46e-7317f625f3b9": { - "asset": 1714966328783, - "meta": 1721290220717, - "relativePath": "prefab\\layout.prefab" - }, - "ca8401fe-ad6e-41a8-bd46-8e3e4e9945be": { - "asset": 1714966328800, - "meta": 1721290220721, - "relativePath": "prefab\\pageview.prefab" - }, - "cd33edea-55f5-46c2-958d-357a01384a36": { - "asset": 1714966328800, - "meta": 1721290220725, - "relativePath": "prefab\\particlesystem.prefab" - }, - "5965ffac-69da-4b55-bcde-9225d0613c28": { - "asset": 1714966328800, - "meta": 1721290220721, - "relativePath": "prefab\\progressBar.prefab" - }, - "4a37dd57-78cd-4cec-aad4-f11a73d12b63": { - "asset": 1714966328800, - "meta": 1721290220725, - "relativePath": "prefab\\richtext.prefab" - }, - "32044bd2-481f-4cf1-a656-e2b2fb1594eb": { - "asset": 1714966328800, - "meta": 1721290220729, - "relativePath": "prefab\\scrollview.prefab" - }, - "0004d1cf-a0ad-47d8-ab17-34d3db9d35a3": { - "asset": 1714966328800, - "meta": 1721290220729, - "relativePath": "prefab\\slider.prefab" - }, - "96083d03-c332-4a3f-9386-d03e2d19e8ee": { - "asset": 1714966328815, - "meta": 1721290220737, - "relativePath": "prefab\\sprite.prefab" - }, - "d8afc78c-4eac-4a9f-83dd-67bc70344d33": { - "asset": 1714966328862, - "meta": 1721290220405, - "relativePath": "resources" - }, - "294c1663-4adf-4a1e-a795-53808011a38a": { - "asset": 1714966328862, - "meta": 1721290220745, - "relativePath": "resources\\effects" - }, - "2be36297-9abb-4fee-8049-9ed5e271da8a": { - "asset": 1714966328721, - "meta": 1721290220745, - "relativePath": "misc\\default_video.mp4" - }, - "bbee2217-c261-49bd-a8ce-708d6bcc3500": { - "asset": 1714966328893, - "meta": 1721290220749, - "relativePath": "resources\\materials" - }, - "c25b9d50-c8fc-4d27-beeb-6e7c1f2e5c0f": { - "asset": 1714966328706, - "meta": 1721290220754, - "relativePath": "image\\default_toggle_disabled.png" - }, - "73a0903d-d80e-4e3c-aa67-f999543c08f5": { - "asset": 1714966328706, - "meta": 1721290220770, - "relativePath": "image\\default_toggle_checkmark.png" - }, - "30682f87-9f0d-4f17-8a44-72863791461b": { - "asset": 1714966328831, - "meta": 1721290220782, - "relativePath": "resources\\effects\\builtin-2d-graphics.effect" - }, - "144c3297-af63-49e8-b8ef-1cfa29b3be28": { - "asset": 1714966328831, - "meta": 1721290220794, - "relativePath": "resources\\effects\\builtin-2d-gray-sprite.effect" - }, - "b181c1e4-0a72-4a91-bfb0-ae6f36ca60bd": { - "asset": 1714966328706, - "meta": 1721290220754, - "relativePath": "image\\default_toggle_pressed.png" - }, - "f18742d7-56d2-4eb5-ae49-2d9d710b37c8": { - "asset": 1714966328831, - "meta": 1721290220802, - "relativePath": "resources\\effects\\builtin-2d-label.effect" - }, - "0e93aeaa-0b53-4e40-b8e0-6268b4e07bd7": { - "asset": 1714966328831, - "meta": 1721290220810, - "relativePath": "resources\\effects\\builtin-2d-spine.effect" - }, - "d29077ba-1627-4a72-9579-7b56a235340c": { - "asset": 1714966328706, - "meta": 1721290220774, - "relativePath": "image\\default_toggle_normal.png" - }, - "1f55e3be-b89b-4b79-88de-47fd31018044": { - "asset": 1714966328815, - "meta": 1721290220741, - "relativePath": "prefab\\sprite_splash.prefab" - }, - "2874f8dd-416c-4440-81b7-555975426e93": { - "asset": 1714966328846, - "meta": 1721290220827, - "relativePath": "resources\\effects\\builtin-2d-sprite.effect" - }, - "8a96b965-2dc0-4e03-aa90-3b79cb93b5b4": { - "asset": 1714966328752, - "meta": 1721290220786, - "relativePath": "obsolete\\atom.png" - }, - "0d784963-d024-4ea6-a7db-03be0ad63010": { - "asset": 1714966328815, - "meta": 1721290220758, - "relativePath": "prefab\\toggle.prefab" - }, - "829a282c-b049-4019-bd38-5ace8d8a6417": { - "asset": 1714966328846, - "meta": 1721290220890, - "relativePath": "resources\\effects\\builtin-3d-particle.effect" - }, - "0e42ba95-1fa1-46aa-b2cf-143cd1bcee2c": { - "asset": 1714966328815, - "meta": 1721290220766, - "relativePath": "prefab\\tiledtile.prefab" - }, - "2a7c0036-e0b3-4fe1-8998-89a54b8a2bec": { - "asset": 1714966328846, - "meta": 1721290220906, - "relativePath": "resources\\effects\\builtin-3d-trail.effect" - }, - "7de03a80-4457-438d-95a7-3e7cdffd6086": { - "asset": 1714966328815, - "meta": 1721290220758, - "relativePath": "prefab\\tiledmap.prefab" - }, - "c0040c95-c57f-49cd-9cbc-12316b73d0d4": { - "asset": 1714966328846, - "meta": 1721290220914, - "relativePath": "resources\\effects\\builtin-clear-stencil.effect" - }, - "d0a82d39-bede-46c4-b698-c81ff0dedfff": { - "asset": 1714966328752, - "meta": 1721290220750, - "relativePath": "particle\\atom.png" - }, - "6d91e591-4ce0-465c-809f-610ec95019c6": { - "asset": 1714966328862, - "meta": 1721290220932, - "relativePath": "resources\\effects\\builtin-unlit.effect" - }, - "bf0a434c-84dd-4a8e-a08a-7a36f180cc75": { - "asset": 1714966328815, - "meta": 1721290220762, - "relativePath": "prefab\\toggleContainer.prefab" - }, - "8c5001fd-07ee-4a4b-a8a0-63e15195e94d": { - "asset": 1714966328831, - "meta": 1721290220819, - "relativePath": "prefab\\webview.prefab" - }, - "232d2782-c4bd-4bb4-9e01-909f03d6d3b9": { - "asset": 1714966328815, - "meta": 1721290220766, - "relativePath": "prefab\\videoplayer.prefab" - }, - "0cf30284-9073-46bc-9eba-e62b69dbbff3": { - "asset": 1714966328800, - "meta": 1721290220949, - "relativePath": "prefab\\light\\point.prefab" - }, - "61906da3-7003-4bda-9abc-5769c76faee4": { - "asset": 1714966328783, - "meta": 1721290220945, - "relativePath": "prefab\\light\\ambient.prefab" - }, - "d1b8be49-b0a0-435c-83b7-552bed4bbe35": { - "asset": 1714966328815, - "meta": 1721290220762, - "relativePath": "prefab\\toggleGroup.prefab" - }, - "ddb99b39-7004-47cd-9705-751905c43c46": { - "asset": 1714966328800, - "meta": 1721290220945, - "relativePath": "prefab\\light\\directional.prefab" - }, - "f5331fd2-bf42-4ee3-a3fd-3e1657600eff": { - "asset": 1714966328800, - "meta": 1721290220953, - "relativePath": "prefab\\light\\spot.prefab" - }, - "3a7bb79f-32fd-422e-ada2-96f518fed422": { - "asset": 1714966328862, - "meta": 1721290221061, - "relativePath": "resources\\materials\\builtin-2d-gray-sprite.mtl" - }, - "a153945d-2511-4c14-be7b-05d242f47d57": { - "asset": 1714966328862, - "meta": 1721290221066, - "relativePath": "resources\\materials\\builtin-2d-graphics.mtl" - }, - "7afd064b-113f-480e-b793-8817d19f63c3": { - "asset": 1714966328878, - "meta": 1721290221061, - "relativePath": "resources\\materials\\builtin-2d-spine.mtl" - }, - "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432": { - "asset": 1714966328878, - "meta": 1721290221066, - "relativePath": "resources\\materials\\builtin-2d-sprite.mtl" - }, - "e02d87d4-e599-4d16-8001-e14891ac6506": { - "asset": 1714966328878, - "meta": 1721290221061, - "relativePath": "resources\\materials\\builtin-2d-label.mtl" - }, - "6f801092-0c37-4f30-89ef-c8d960825b36": { - "asset": 1714966328862, - "meta": 1721290221061, - "relativePath": "resources\\materials\\builtin-2d-base.mtl" - }, - "466d4f9b-e5f4-4ea8-85d5-3c6e9a65658a": { - "asset": 1714966328878, - "meta": 1721290221074, - "relativePath": "resources\\materials\\builtin-3d-trail.mtl" - }, - "432fa09c-cf03-4cff-a186-982604408a07": { - "asset": 1714966328878, - "meta": 1721290221074, - "relativePath": "resources\\materials\\builtin-3d-particle.mtl" - }, - "cf7e0bb8-a81c-44a9-ad79-d28d43991032": { - "asset": 1714966328878, - "meta": 1721290221078, - "relativePath": "resources\\materials\\builtin-clear-stencil.mtl" - }, - "2a296057-247c-4a1c-bbeb-0548b6c98650": { - "asset": 1714966328893, - "meta": 1721290221078, - "relativePath": "resources\\materials\\builtin-unlit.mtl" - }, - "b8223619-7e38-47c4-841f-9160c232495a": { - "asset": 1714966328752, - "meta": 1721290221095, - "relativePath": "obsolete\\atom.plist" - }, - "b2687ac4-099e-403c-a192-ff477686f4f5": { - "asset": 1714966328752, - "meta": 1721290221096, - "relativePath": "particle\\atom.plist" - }, - "954fec8b-cd16-4bb9-a3b7-7719660e7558": { - "asset": 1714966328737, - "meta": 1721290222861, - "relativePath": "model\\primitives.fbx" - }, - "61d4c718-db3b-4b31-8221-f16bea3cf030": { - "asset": 1721271559818, - "meta": 1721272730796, - "relativePath": "Script\\module\\GameStart\\GameAppStart.ts" - }, - "c5692be7-8703-45e4-9f67-23b54d290356": { - "asset": 1721301227131, - "meta": 1721301227491, - "relativePath": "Script\\module\\Config\\GameConfig.ts" - }, "4083be8e-2350-48c4-8beb-6df4c6173240": { "asset": 1721360315681, "meta": 1721360627562, "relativePath": "resources\\Json\\dayu_config.json" }, - "b0432040-dbde-438c-839c-ba2b5d18a3b5": { - "asset": 1721374151305, - "meta": 1721375522357, - "relativePath": "Script\\GameManager.ts" + "771a3d9a-4013-4654-a777-fbaea0c93280": { + "asset": 1721729129891, + "meta": 1721729136989, + "relativePath": "Script\\module\\Crypto\\HttpUtil.ts" + }, + "e006af8e-5c21-4124-b29b-4d429f0900b3": { + "asset": 1721803366232, + "meta": 1721803395445, + "relativePath": "resources\\Bg\\bg2.jpg" + }, + "b5f1d74c-bd02-4f27-8104-659f5c0ec112": { + "asset": 1714983382518, + "meta": 1721803678071, + "relativePath": "resources\\UI\\boss_warn_bg.png" + }, + "e35ab717-e554-40a0-8b4e-ea6805718c97": { + "asset": 1721805722664, + "meta": 1721805935185, + "relativePath": "Script\\ControlManager.ts" }, "9830637c-e4e3-4df5-8d51-fc49b7d715b4": { - "asset": 1721378441734, - "meta": 1721378477892, + "asset": 1721807061347, + "meta": 1721807075926, "relativePath": "resources\\UI\\publicUI.plist" }, + "7a27612e-e898-4a59-afb2-1afd54664469": { + "asset": 1721724934838, + "meta": 1721807075878, + "relativePath": "resources\\Bg\\bg1.jpg" + }, + "d54211e0-2d28-4528-88e3-e5fd7c9b59a2": { + "asset": 1721812722990, + "meta": 1721814802300, + "relativePath": "Script\\module\\RankList\\List.ts" + }, + "61d4c718-db3b-4b31-8221-f16bea3cf030": { + "asset": 1721815244826, + "meta": 1721815502976, + "relativePath": "Script\\module\\GameStart\\GameAppStart.ts" + }, "8e56f0ab-ead9-40ba-990e-1e82c9d20326": { - "asset": 1721378441732, - "meta": 1721378477866, + "asset": 1721875707217, + "meta": 1721875719741, "relativePath": "resources\\UI\\publicUI.png" }, - "d7c204b8-0179-40c7-b370-12c199c53dcb": { - "asset": 1721381306111, - "meta": 1721381375943, - "relativePath": "resources\\UI\\turn_wawe.png" + "9836134e-b892-4283-b6b2-78b5acf3ed45": { + "asset": 1714966328642, + "meta": 1721898204409, + "relativePath": "effects" }, - "c2027677-6969-4f9d-a273-2828f1d3048c": { - "asset": 1721378271456, - "meta": 1721382139783, - "relativePath": "resources\\UI\\vertical_wave.png" + "abc2cb62-7852-4525-a90d-d474487b88f2": { + "asset": 1714966328642, + "meta": 1721898204493, + "relativePath": "effects\\builtin-phong.effect" }, - "c3041d36-0084-4c37-b905-f7367bdd37cb": { - "asset": 1721382088362, - "meta": 1721382139786, - "relativePath": "resources\\UI\\vertical_wave2.png" + "e2f00085-c597-422d-9759-52c360279106": { + "asset": 1714966328642, + "meta": 1721898204539, + "relativePath": "effects\\builtin-toon.effect" }, - "ac13d46e-7c59-4656-a2e3-c47daa6d69ad": { - "asset": 1721382089291, - "meta": 1721382139787, - "relativePath": "resources\\UI\\vertical_wave3.png" + "430eccbf-bf2c-4e6e-8c0c-884bbb487f32": { + "asset": 1714966328642, + "meta": 1721898204550, + "relativePath": "effects\\__builtin-editor-gizmo-line.effect" }, - "c58de376-bb53-4664-bf27-270be7bb53d1": { - "asset": 1721383203554, - "meta": 1721383204036, - "relativePath": "Script\\Block.ts" + "6c5cf6e1-b044-4eac-9431-835644d57381": { + "asset": 1714966328642, + "meta": 1721898204559, + "relativePath": "effects\\__builtin-editor-gizmo-unlit.effect" + }, + "115286d1-2e10-49ee-aab4-341583f607e8": { + "asset": 1714966328642, + "meta": 1721898204576, + "relativePath": "effects\\__builtin-editor-gizmo.effect" + }, + "f8e6b000-5643-4b86-9080-aa680ce1f599": { + "asset": 1714966328706, + "meta": 1721898204577, + "relativePath": "image" + }, + "5c3eedba-6c41-4c0c-9ba7-d91f813cbd1c": { + "asset": 1714966328721, + "meta": 1721898204636, + "relativePath": "materials" + }, + "fc09f9bd-2cce-4605-b630-8145ef809ed6": { + "asset": 1714966328721, + "meta": 1721898204641, + "relativePath": "misc" + }, + "b43ff3c2-02bb-4874-81f7-f2dea6970f18": { + "asset": 1714966328658, + "meta": 1721898204620, + "relativePath": "image\\default_btn_pressed.png" + }, + "4bab67cb-18e6-4099-b840-355f0473f890": { + "asset": 1714966328689, + "meta": 1721898204625, + "relativePath": "image\\default_scrollbar_bg.png" + }, + "db019bf7-f71c-4111-98cf-918ea180cb48": { + "asset": 1714966328737, + "meta": 1721898204647, + "relativePath": "model" + }, + "cfef78f1-c8df-49b7-8ed0-4c953ace2621": { + "asset": 1714966328673, + "meta": 1721898204627, + "relativePath": "image\\default_progressbar.png" + }, + "e39e96e6-6f6e-413f-bcf1-ac7679bb648a": { + "asset": 1714966328737, + "meta": 1721898204650, + "relativePath": "model\\prefab" + }, + "e851e89b-faa2-4484-bea6-5c01dd9f06e2": { + "asset": 1714966328658, + "meta": 1721898204631, + "relativePath": "image\\default_btn_normal.png" + }, + "0291c134-b3da-4098-b7b5-e397edbe947f": { + "asset": 1714966328689, + "meta": 1721898204635, + "relativePath": "image\\default_scrollbar.png" + }, + "0275e94c-56a7-410f-bd1a-fc7483f7d14a": { + "asset": 1714966328705, + "meta": 1721898204639, + "relativePath": "image\\default_sprite_splash.png" + }, + "617323dd-11f4-4dd3-8eec-0caf6b3b45b9": { + "asset": 1714966328689, + "meta": 1721898204643, + "relativePath": "image\\default_scrollbar_vertical_bg.png" + }, + "d6d3ca85-4681-47c1-b5dd-d036a9d39ea2": { + "asset": 1714966328689, + "meta": 1721898204646, + "relativePath": "image\\default_scrollbar_vertical.png" + }, + "71561142-4c83-4933-afca-cb7a17f67053": { + "asset": 1714966328658, + "meta": 1721898204649, + "relativePath": "image\\default_btn_disabled.png" + }, + "f6e6dd15-71d1-4ffe-ace7-24fd39942c05": { + "asset": 1714966328752, + "meta": 1721898204693, + "relativePath": "obsolete" + }, + "edd215b9-2796-4a05-aaf5-81f96c9281ce": { + "asset": 1714966328658, + "meta": 1721898204675, + "relativePath": "image\\default_editbox_bg.png" + }, + "c4480a0a-6ac5-443f-8b40-361a14257fc8": { + "asset": 1714966328706, + "meta": 1721898205122, + "relativePath": "materials\\builtin-phong.mtl" + }, + "f743d2b6-b7ea-4c14-a55b-547ed4d0a045": { + "asset": 1714966328752, + "meta": 1721898204697, + "relativePath": "particle" + }, + "d81ec8ad-247c-4e62-aa3c-d35c4193c7af": { + "asset": 1714966328673, + "meta": 1721898204679, + "relativePath": "image\\default_panel.png" + }, + "fe1417b6-fe6b-46a4-ae7c-9fd331f33a2a": { + "asset": 1714966328737, + "meta": 1721898204701, + "relativePath": "model\\prefab\\capsule.prefab" + }, + "567dcd80-8bf4-4535-8a5a-313f1caf078a": { + "asset": 1714966328673, + "meta": 1721898204681, + "relativePath": "image\\default_radio_button_off.png" + }, + "a87cc147-01b2-43f8-8e42-a7ca90b0c757": { + "asset": 1714966328721, + "meta": 1721898204703, + "relativePath": "model\\prefab\\box.prefab" + }, + "ae6c6c98-11e4-452f-8758-75f5c6a56e83": { + "asset": 1714966328831, + "meta": 1721898204705, + "relativePath": "prefab" + }, + "600301aa-3357-4a10-b086-84f011fa32ba": { + "asset": 1714966328642, + "meta": 1721898204684, + "relativePath": "image\\default-particle.png" + }, + "b5fc2cf2-7942-483d-be1f-bbeadc4714ad": { + "asset": 1714966328737, + "meta": 1721898204709, + "relativePath": "model\\prefab\\cone.prefab" + }, + "1c5e4038-953a-44c2-b620-0bbfc6170477": { + "asset": 1714966328737, + "meta": 1721898204711, + "relativePath": "model\\prefab\\cylinder.prefab" + }, + "99170b0b-d210-46f1-b213-7d9e3f23098a": { + "asset": 1714966328673, + "meta": 1721898204686, + "relativePath": "image\\default_progressbar_bg.png" + }, + "3f376125-a699-40ca-ad05-04d662eaa1f2": { + "asset": 1714966328737, + "meta": 1721898204714, + "relativePath": "model\\prefab\\plane.prefab" + }, + "2d9a4b85-b0ab-4c46-84c5-18f393ab2058": { + "asset": 1714966328737, + "meta": 1721898204716, + "relativePath": "model\\prefab\\sphere.prefab" + }, + "9d60001f-b5f4-4726-a629-2659e3ded0b8": { + "asset": 1714966328673, + "meta": 1721898204688, + "relativePath": "image\\default_radio_button_on.png" + }, + "6c9ef10d-b479-420b-bfe6-39cdda6a8ae0": { + "asset": 1714966328737, + "meta": 1721898204718, + "relativePath": "model\\prefab\\quad.prefab" + }, + "de510076-056b-484f-b94c-83bef217d0e1": { + "asset": 1714966328737, + "meta": 1721898204720, + "relativePath": "model\\prefab\\torus.prefab" + }, + "6e056173-d285-473c-b206-40a7fff5386e": { + "asset": 1714966328689, + "meta": 1721898204691, + "relativePath": "image\\default_sprite.png" + }, + "897ef7a1-4860-4f64-968d-f5924b18668a": { + "asset": 1714966328752, + "meta": 1721898204726, + "relativePath": "prefab\\2d-camera.prefab" + }, + "70d7cdb0-04cd-41bb-9480-c06a4785f386": { + "asset": 1714966328768, + "meta": 1721898204731, + "relativePath": "prefab\\3d-camera.prefab" + }, + "a3ee0214-b432-4865-9666-4a3211814282": { + "asset": 1714966328800, + "meta": 1721898204733, + "relativePath": "prefab\\light" + }, + "ed88f13d-fcad-4848-aa35-65a2cb973584": { + "asset": 1714966328768, + "meta": 1721898204737, + "relativePath": "prefab\\3d-stage.prefab" + }, + "70bbeb73-6dc2-4ee4-8faf-76b3a0e34ec4": { + "asset": 1714966328768, + "meta": 1721898204740, + "relativePath": "prefab\\3d-particle.prefab" + }, + "972b9a4d-47ee-4c74-b5c3-61d8a69bc29f": { + "asset": 1714966328768, + "meta": 1721898204743, + "relativePath": "prefab\\button.prefab" + }, + "61aeb05b-3b32-452b-8eed-2b76deeed554": { + "asset": 1714966328783, + "meta": 1721898204745, + "relativePath": "prefab\\editbox.prefab" + }, + "2c937608-2562-40ea-b264-7395df6f0cea": { + "asset": 1714966328768, + "meta": 1721898204748, + "relativePath": "prefab\\canvas.prefab" + }, + "27756ebb-3d33-44b0-9b96-e858fadd4dd4": { + "asset": 1714966328783, + "meta": 1721898204753, + "relativePath": "prefab\\label.prefab" + }, + "2be36297-9abb-4fee-8049-9ed5e271da8a": { + "asset": 1714966328721, + "meta": 1721898204774, + "relativePath": "misc\\default_video.mp4" + }, + "785a442c-3ceb-45be-a46e-7317f625f3b9": { + "asset": 1714966328783, + "meta": 1721898204777, + "relativePath": "prefab\\layout.prefab" + }, + "cd33edea-55f5-46c2-958d-357a01384a36": { + "asset": 1714966328800, + "meta": 1721898204790, + "relativePath": "prefab\\particlesystem.prefab" + }, + "ca8401fe-ad6e-41a8-bd46-8e3e4e9945be": { + "asset": 1714966328800, + "meta": 1721898204792, + "relativePath": "prefab\\pageview.prefab" + }, + "5965ffac-69da-4b55-bcde-9225d0613c28": { + "asset": 1714966328800, + "meta": 1721898204795, + "relativePath": "prefab\\progressBar.prefab" + }, + "4a37dd57-78cd-4cec-aad4-f11a73d12b63": { + "asset": 1714966328800, + "meta": 1721898204798, + "relativePath": "prefab\\richtext.prefab" + }, + "b181c1e4-0a72-4a91-bfb0-ae6f36ca60bd": { + "asset": 1714966328706, + "meta": 1721898204771, + "relativePath": "image\\default_toggle_pressed.png" + }, + "32044bd2-481f-4cf1-a656-e2b2fb1594eb": { + "asset": 1714966328800, + "meta": 1721898204801, + "relativePath": "prefab\\scrollview.prefab" + }, + "0004d1cf-a0ad-47d8-ab17-34d3db9d35a3": { + "asset": 1714966328800, + "meta": 1721898204804, + "relativePath": "prefab\\slider.prefab" + }, + "96083d03-c332-4a3f-9386-d03e2d19e8ee": { + "asset": 1714966328815, + "meta": 1721898204807, + "relativePath": "prefab\\sprite.prefab" + }, + "d8afc78c-4eac-4a9f-83dd-67bc70344d33": { + "asset": 1714966328862, + "meta": 1721898204809, + "relativePath": "resources" + }, + "73a0903d-d80e-4e3c-aa67-f999543c08f5": { + "asset": 1714966328706, + "meta": 1721898204780, + "relativePath": "image\\default_toggle_checkmark.png" + }, + "294c1663-4adf-4a1e-a795-53808011a38a": { + "asset": 1714966328862, + "meta": 1721898204810, + "relativePath": "resources\\effects" + }, + "bbee2217-c261-49bd-a8ce-708d6bcc3500": { + "asset": 1714966328893, + "meta": 1721898204813, + "relativePath": "resources\\materials" + }, + "d29077ba-1627-4a72-9579-7b56a235340c": { + "asset": 1714966328706, + "meta": 1721898204784, + "relativePath": "image\\default_toggle_normal.png" + }, + "1f55e3be-b89b-4b79-88de-47fd31018044": { + "asset": 1714966328815, + "meta": 1721898204824, + "relativePath": "prefab\\sprite_splash.prefab" + }, + "30682f87-9f0d-4f17-8a44-72863791461b": { + "asset": 1714966328831, + "meta": 1721898204838, + "relativePath": "resources\\effects\\builtin-2d-graphics.effect" + }, + "c25b9d50-c8fc-4d27-beeb-6e7c1f2e5c0f": { + "asset": 1714966328706, + "meta": 1721898204787, + "relativePath": "image\\default_toggle_disabled.png" + }, + "144c3297-af63-49e8-b8ef-1cfa29b3be28": { + "asset": 1714966328831, + "meta": 1721898204850, + "relativePath": "resources\\effects\\builtin-2d-gray-sprite.effect" + }, + "f18742d7-56d2-4eb5-ae49-2d9d710b37c8": { + "asset": 1714966328831, + "meta": 1721898204863, + "relativePath": "resources\\effects\\builtin-2d-label.effect" + }, + "7de03a80-4457-438d-95a7-3e7cdffd6086": { + "asset": 1714966328815, + "meta": 1721898204866, + "relativePath": "prefab\\tiledmap.prefab" + }, + "0e93aeaa-0b53-4e40-b8e0-6268b4e07bd7": { + "asset": 1714966328831, + "meta": 1721898204879, + "relativePath": "resources\\effects\\builtin-2d-spine.effect" + }, + "0e42ba95-1fa1-46aa-b2cf-143cd1bcee2c": { + "asset": 1714966328815, + "meta": 1721898204880, + "relativePath": "prefab\\tiledtile.prefab" + }, + "2874f8dd-416c-4440-81b7-555975426e93": { + "asset": 1714966328846, + "meta": 1721898204891, + "relativePath": "resources\\effects\\builtin-2d-sprite.effect" + }, + "0d784963-d024-4ea6-a7db-03be0ad63010": { + "asset": 1714966328815, + "meta": 1721898204893, + "relativePath": "prefab\\toggle.prefab" + }, + "829a282c-b049-4019-bd38-5ace8d8a6417": { + "asset": 1714966328846, + "meta": 1721898204964, + "relativePath": "resources\\effects\\builtin-3d-particle.effect" + }, + "2a7c0036-e0b3-4fe1-8998-89a54b8a2bec": { + "asset": 1714966328846, + "meta": 1721898204986, + "relativePath": "resources\\effects\\builtin-3d-trail.effect" + }, + "c0040c95-c57f-49cd-9cbc-12316b73d0d4": { + "asset": 1714966328846, + "meta": 1721898204998, + "relativePath": "resources\\effects\\builtin-clear-stencil.effect" + }, + "bf0a434c-84dd-4a8e-a08a-7a36f180cc75": { + "asset": 1714966328815, + "meta": 1721898204999, + "relativePath": "prefab\\toggleContainer.prefab" + }, + "6d91e591-4ce0-465c-809f-610ec95019c6": { + "asset": 1714966328862, + "meta": 1721898205017, + "relativePath": "resources\\effects\\builtin-unlit.effect" + }, + "d1b8be49-b0a0-435c-83b7-552bed4bbe35": { + "asset": 1714966328815, + "meta": 1721898205025, + "relativePath": "prefab\\toggleGroup.prefab" + }, + "8c5001fd-07ee-4a4b-a8a0-63e15195e94d": { + "asset": 1714966328831, + "meta": 1721898205027, + "relativePath": "prefab\\webview.prefab" + }, + "61906da3-7003-4bda-9abc-5769c76faee4": { + "asset": 1714966328783, + "meta": 1721898205029, + "relativePath": "prefab\\light\\ambient.prefab" + }, + "ddb99b39-7004-47cd-9705-751905c43c46": { + "asset": 1714966328800, + "meta": 1721898205031, + "relativePath": "prefab\\light\\directional.prefab" + }, + "232d2782-c4bd-4bb4-9e01-909f03d6d3b9": { + "asset": 1714966328815, + "meta": 1721898205033, + "relativePath": "prefab\\videoplayer.prefab" + }, + "0cf30284-9073-46bc-9eba-e62b69dbbff3": { + "asset": 1714966328800, + "meta": 1721898205034, + "relativePath": "prefab\\light\\point.prefab" + }, + "d0a82d39-bede-46c4-b698-c81ff0dedfff": { + "asset": 1714966328752, + "meta": 1721898204965, + "relativePath": "particle\\atom.png" + }, + "f5331fd2-bf42-4ee3-a3fd-3e1657600eff": { + "asset": 1714966328800, + "meta": 1721898205036, + "relativePath": "prefab\\light\\spot.prefab" + }, + "6f801092-0c37-4f30-89ef-c8d960825b36": { + "asset": 1714966328862, + "meta": 1721898205156, + "relativePath": "resources\\materials\\builtin-2d-base.mtl" + }, + "a153945d-2511-4c14-be7b-05d242f47d57": { + "asset": 1714966328862, + "meta": 1721898205158, + "relativePath": "resources\\materials\\builtin-2d-graphics.mtl" + }, + "8a96b965-2dc0-4e03-aa90-3b79cb93b5b4": { + "asset": 1714966328752, + "meta": 1721898204988, + "relativePath": "obsolete\\atom.png" + }, + "7afd064b-113f-480e-b793-8817d19f63c3": { + "asset": 1714966328878, + "meta": 1721898205159, + "relativePath": "resources\\materials\\builtin-2d-spine.mtl" + }, + "e02d87d4-e599-4d16-8001-e14891ac6506": { + "asset": 1714966328878, + "meta": 1721898205160, + "relativePath": "resources\\materials\\builtin-2d-label.mtl" + }, + "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432": { + "asset": 1714966328878, + "meta": 1721898205161, + "relativePath": "resources\\materials\\builtin-2d-sprite.mtl" + }, + "432fa09c-cf03-4cff-a186-982604408a07": { + "asset": 1714966328878, + "meta": 1721898205162, + "relativePath": "resources\\materials\\builtin-3d-particle.mtl" + }, + "466d4f9b-e5f4-4ea8-85d5-3c6e9a65658a": { + "asset": 1714966328878, + "meta": 1721898205164, + "relativePath": "resources\\materials\\builtin-3d-trail.mtl" + }, + "3a7bb79f-32fd-422e-ada2-96f518fed422": { + "asset": 1714966328862, + "meta": 1721898205165, + "relativePath": "resources\\materials\\builtin-2d-gray-sprite.mtl" + }, + "cf7e0bb8-a81c-44a9-ad79-d28d43991032": { + "asset": 1714966328878, + "meta": 1721898205168, + "relativePath": "resources\\materials\\builtin-clear-stencil.mtl" + }, + "2a296057-247c-4a1c-bbeb-0548b6c98650": { + "asset": 1714966328893, + "meta": 1721898205169, + "relativePath": "resources\\materials\\builtin-unlit.mtl" + }, + "b8223619-7e38-47c4-841f-9160c232495a": { + "asset": 1714966328752, + "meta": 1721898205178, + "relativePath": "obsolete\\atom.plist" + }, + "b2687ac4-099e-403c-a192-ff477686f4f5": { + "asset": 1714966328752, + "meta": 1721898205179, + "relativePath": "particle\\atom.plist" + }, + "954fec8b-cd16-4bb9-a3b7-7719660e7558": { + "asset": 1714966328737, + "meta": 1721898205189, + "relativePath": "model\\primitives.fbx" }, "c930d64e-2707-474f-b691-6220e2932ddd": { - "asset": 1721384090603, - "meta": 1721384090608, + "asset": 1721899916138, + "meta": 1721899916146, "relativePath": "prefab\\Block.prefab" }, - "bc65aeab-56af-4990-b2b9-de2b91bb9e6f": { - "asset": 1721383664328, - "meta": 1721383668009, - "relativePath": "resources\\UI\\turn_wawe2.png" + "c58de376-bb53-4664-bf27-270be7bb53d1": { + "asset": 1721899782550, + "meta": 1721899877656, + "relativePath": "Script\\Block.ts" + }, + "5ce0674d-c903-4a25-8824-0a9698d27e40": { + "asset": 1721896556616, + "meta": 1721899877786, + "relativePath": "resources\\dayu_config.json" + }, + "b0432040-dbde-438c-839c-ba2b5d18a3b5": { + "asset": 1721900589361, + "meta": 1721900604507, + "relativePath": "Script\\GameManager.ts" + }, + "c5692be7-8703-45e4-9f67-23b54d290356": { + "asset": 1721900578740, + "meta": 1721900604685, + "relativePath": "Script\\module\\Config\\GameConfig.ts" } } \ No newline at end of file diff --git a/local/builder.json b/local/builder.json index 6164e92..54ac66e 100644 --- a/local/builder.json +++ b/local/builder.json @@ -3,9 +3,9 @@ "actualPlatform": "web-mobile", "template": "link", "buildPath": "./build", - "debug": true, - "sourceMaps": true, - "embedWebDebugger": true, + "debug": false, + "sourceMaps": false, + "embedWebDebugger": false, "previewWidth": "1280", "previewHeight": "720", "useDebugKeystore": true, diff --git a/local/layout.editor.json b/local/layout.editor.json index b0c1181..16195b3 100644 --- a/local/layout.editor.json +++ b/local/layout.editor.json @@ -13,13 +13,13 @@ "type": "dock-h", "children": [ { - "width": 204, - "height": 556.3333740234375, + "width": 206.2604217529297, + "height": 568.5, "type": "dock-v", "children": [ { - "width": 204, - "height": 276.66668701171875, + "width": 206.2604217529297, + "height": 282.75, "type": "panel", "active": 0, "children": [ @@ -27,8 +27,8 @@ ] }, { - "width": 204, - "height": 276.66668701171875, + "width": 206.2604217529297, + "height": 282.75, "type": "panel", "active": 0, "children": [ @@ -38,8 +38,8 @@ ] }, { - "width": 638.9896240234375, - "height": 556.3333740234375, + "width": 646.09375, + "height": 568.5, "type": "panel", "active": 0, "children": [ @@ -47,8 +47,8 @@ ] }, { - "width": 417, - "height": 556.3333740234375, + "width": 421.625, + "height": 568.5, "type": "panel", "active": 0, "children": [ @@ -65,15 +65,14 @@ "inspector", "cocos-services" ] - }, - "window-1721382905887": {} + } }, "panels": { "builder": { - "x": 560, - "y": 12, + "x": 374, + "y": 0, "width": 516, - "height": 674 + "height": 676 }, "project-settings": { "x": -8, diff --git a/local/local.json b/local/local.json index f214507..c7f4651 100644 --- a/local/local.json +++ b/local/local.json @@ -1,5 +1,5 @@ { - "last-edit": "4eaf518b-35ec-4262-928d-4d497c3f2830", + "last-edit": "2d2f792f-a40c-49bb-a189-ed176a246e49", "recent-items": [ "40ba7e70-1826-4aa1-92f3-aa63ae39294b", "32254f37-ac95-4912-a787-b8e0429ba0f1", @@ -10,13 +10,14 @@ "774829bb-123e-48b6-930e-6b3e02491506", "badb56f7-1c07-4fbb-87e6-5bfd805fe81b", "4b9c5a7e-c645-48a4-9aca-5df381ce4ef5", - "2d2f792f-a40c-49bb-a189-ed176a246e49", "ec5b9995-a54c-47bd-adb5-27ec0160146e", - "9c08062d-4cf1-4b6e-a8ba-4a3881cc7e7d", - "4eaf518b-35ec-4262-928d-4d497c3f2830", + "47657f05-243e-4f2a-a32d-200631f1c252", + "a264c8df-80f6-474f-9fe5-28b7ae529d95", "9e91c351-bd17-446b-b773-3b715fe6ba48", "7a90e76c-37f8-4f8c-84e9-f05b34afe481", - "47657f05-243e-4f2a-a32d-200631f1c252", - "c930d64e-2707-474f-b691-6220e2932ddd" + "9c08062d-4cf1-4b6e-a8ba-4a3881cc7e7d", + "4eaf518b-35ec-4262-928d-4d497c3f2830", + "c930d64e-2707-474f-b691-6220e2932ddd", + "2d2f792f-a40c-49bb-a189-ed176a246e49" ] } diff --git a/local/node-tree-state.json b/local/node-tree-state.json index bb7f56e..571b15b 100644 --- a/local/node-tree-state.json +++ b/local/node-tree-state.json @@ -12,7 +12,6 @@ "fftjo13iREUrHGImD1PYL7", "03tOe01gtL0LTlZbSaiGHC", "80tMs1pCpEnafofwke0o74", - "b0VHqWWqlJ4qVyuwnLGCWw", "585GM7mV5LN7ykQ3Sg2gvo", "c6KRtU6xNCpZrLAyvPDXn1", "6eiFx6kolC57s0b5SqlVUQ", @@ -232,7 +231,6 @@ "47/JXnuYFDRJFmQoH47r3F", "2eliz0lAdIb78d1cxrHvmc", "dfyX7z2FVLqLzGx3A28m5s", - "88N4woFa9IYYMMQWoiM/TH", "a26Us7Z+BKSbruLISM/Y0C", "afuV9kjShONqq0jz6gTIhq", "f11sGusTdAMZ+KmsuhE8S1", @@ -248,6 +246,63 @@ "06lLY+o7JLroayKmx/xx6g", "aaCHXmUqpPDK0miPfV73oz", "e6TQOnoadA5bFalBpcwBh6", - "95b+2SvxJC/6F3ipBBRyL3" + "95b+2SvxJC/6F3ipBBRyL3", + "44bNYmg2BKBL8ksUVrVP0l", + "50H788U9xHFambGCvx8bDH", + "cd1tyq6eBEp6QC5lrPYQxZ", + "fePo56qD1JvbdFOTP2klHl", + "05OyRbLMhMTLr8SfksbGzx", + "68yB2iWfxK25h2IU7USs1B", + "dcZjp6ofhJ/Lz48iHCI93i", + "16JwgHNQdGaIqUhfqvMN+h", + "4bQzRqvsdMGIc8SMxu9t0e", + "08YJq6YEtJBot4fQP0IwDV", + "f1kAiQ2MVE5bHTyQp3xbuI", + "c9yBI5ZOtMk4KQ3lapahEl", + "c6qJ4w3J9GCIZ/xnz5D+b/", + "62J+N0MKNC5bokCikZJ2Lj", + "566IlMqnFNBbBCbSzx/Ioa", + "f09iFrXE9J7YIyXRKAiiB9", + "331Myo/qZHBpAOy4ea8GIL", + "6eayIzO+RH44wh6Z2gKcXS", + "c79B70j9FOVpqUh5QR+nY/", + "7eHQpinVxHTa03obNZhPgD", + "b65EQX8h9COaxzyfsN7UFV", + "84hLM34sNHVoBPf2cnLZYr", + "2fCCMjS+VLp5nKcwSiRNT/", + "degB0BTMZG4Le48/aI2Tib", + "56HeEM3HJGFoGxg490yjaB", + "07QxIHMbxGP5a0bldZAerM", + "50r0o1bBxFX642RgK7cRbT", + "07Rx2ATNxMZYgD3a+Vey4g", + "6707yrB5xKSYb/xx5bwNoh", + "efJstqNORCWbWWL5csSL+O", + "59bA5LYORPkaazvgCZ4zNA", + "62ANGzDr1N2oVeCiBYsyE9", + "50GcThSKZC8YBfdCUPOfn0", + "71SSEYRSNJSbJDnKNt695X", + "bdSIUHk3BH3oVn/whhFdiJ", + "31XIT0yVBE5aIAkAiid0Ha", + "8akIYF3lxPFZm5dpbJq7DF", + "5a/Vj9LJxLarE/Ofoutw1M", + "94ty86DIJF0avZl6O1I7GB", + "b0VHqWWqlJ4qVyuwnLGCWw", + "2dvFGf0U9OKKhKCqEvtwLT", + "88N4woFa9IYYMMQWoiM/TH", + "9fvo6KA6hNX726OUEDSZKo", + "0en2pvxd9KTrx0vmZZrF24", + "28t2Kb9GhBM5ubAhUxcXun", + "d3OiFTeNdL1quIValAn6aa", + "284diy5glFnYC25xA+9mH8", + "c7zh4E+yVK+LZ+U42P3XEB", + "c3r7S4uYBGSKg9rLbDgV0T", + "1d2lMNezJAyrsrcMMVoNMw", + "1fPbwac3hKLr1G1BvPGhAu", + "6cXXCk2QpM/qQXyWxL/O2w", + "6c5tUpMgFCpIZaDcb2Cxao", + "fcYtLDrwhK7ozGfVYG88Pz", + "1d84jJubpPWaNF/XhGp7TM", + "1agKUFBnxPir9u49+XAFQL", + "1cnNc3hVpKpoxRtlM/WB2W" ] } diff --git a/settings/builder.json b/settings/builder.json index 5c594fc..8901ab6 100644 --- a/settings/builder.json +++ b/settings/builder.json @@ -15,7 +15,7 @@ "mainCompressionType": "default", "mainIsRemote": false, "optimizeHotUpdate": false, - "md5Cache": false, + "md5Cache": true, "nativeMd5Cache": true, "encryptJs": true, "xxteaKey": "07ac496c-82b0-4f", diff --git a/temp/BackupAssets/assets/Scene/GameScene.fire b/temp/BackupAssets/assets/Scene/GameScene.fire index 203369a..b6f2545 100644 --- a/temp/BackupAssets/assets/Scene/GameScene.fire +++ b/temp/BackupAssets/assets/Scene/GameScene.fire @@ -78,10 +78,10 @@ "_active": true, "_components": [ { - "__id__": 90 + "__id__": 107 }, { - "__id__": 91 + "__id__": 108 } ], "_prefab": null, @@ -242,37 +242,31 @@ "__id__": 6 }, { - "__id__": 9 + "__id__": 8 }, { - "__id__": 11 + "__id__": 10 }, { - "__id__": 13 + "__id__": 72 }, { - "__id__": 68 + "__id__": 92 }, { - "__id__": 69 + "__id__": 93 }, { - "__id__": 73 - }, - { - "__id__": 78 - }, - { - "__id__": 83 + "__id__": 101 } ], "_active": true, "_components": [ { - "__id__": 88 + "__id__": 105 }, { - "__id__": 89 + "__id__": 106 } ], "_prefab": null, @@ -335,9 +329,6 @@ "_components": [ { "__id__": 7 - }, - { - "__id__": 8 } ], "_prefab": null, @@ -364,7 +355,7 @@ "ctor": "Float64Array", "array": [ 0, - -163, + 0, 0, 0, 0, @@ -404,7 +395,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "57395957-a96b-4a27-8e2a-696e24d876a2" + "__uuid__": "75ac69d4-fee8-4af1-b32c-4c8fab0b6f7b" }, "_type": 0, "_sizeMode": 1, @@ -420,122 +411,6 @@ "_atlas": null, "_id": "a7G3fclnNGYZw1JYGBEqqT" }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 6 - }, - "_enabled": true, - "alignMode": 1, - "_target": null, - "_alignFlags": 1, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_verticalCenter": 0, - "_horizontalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 0, - "_originalHeight": 0, - "_id": "09dO2/INxCTpBHqQOmB0wt" - }, - { - "__type__": "cc.Node", - "_name": "Top", - "_objFlags": 0, - "_parent": { - "__id__": 5 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 10 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 0, - "height": 0 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 667, - 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": "cfD+6eekJE44Ilk2xG5ORu" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 9 - }, - "_enabled": true, - "alignMode": 1, - "_target": null, - "_alignFlags": 1, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_verticalCenter": 0, - "_horizontalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 0, - "_originalHeight": 0, - "_id": "5cAl+uVM5GTKUsLlsyFnpY" - }, { "__type__": "cc.Node", "_name": "Map", @@ -547,7 +422,7 @@ "_active": true, "_components": [ { - "__id__": 12 + "__id__": 9 } ], "_prefab": null, @@ -574,14 +449,14 @@ "ctor": "Float64Array", "array": [ 0, - 195.736, + 128, 0, 0, 0, 0, 1, - 1, - 1, + 1.2, + 1.2, 1 ] }, @@ -603,7 +478,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 11 + "__id__": 8 }, "_enabled": true, "_id": "50KCMOG4tFJYPBI6jue4rZ" @@ -617,43 +492,67 @@ }, "_children": [ { - "__id__": 14 + "__id__": 11 }, { - "__id__": 16 + "__id__": 13 }, { - "__id__": 20 + "__id__": 15 }, { - "__id__": 24 + "__id__": 19 }, { - "__id__": 28 + "__id__": 23 }, { - "__id__": 32 + "__id__": 27 }, { - "__id__": 34 + "__id__": 31 }, { - "__id__": 42 + "__id__": 33 + }, + { + "__id__": 35 + }, + { + "__id__": 40 + }, + { + "__id__": 45 }, { "__id__": 50 }, { - "__id__": 58 + "__id__": 55 + }, + { + "__id__": 60 + }, + { + "__id__": 62 + }, + { + "__id__": 64 + }, + { + "__id__": 66 + }, + { + "__id__": 68 } ], "_active": true, "_components": [ { - "__id__": 66 + "__id__": 70 }, { - "__id__": 67 + "__id__": 71 } ], "_prefab": null, @@ -680,7 +579,7 @@ "ctor": "Float64Array", "array": [ 0, - -448.797, + -492, 0, 0, 0, @@ -709,22 +608,22 @@ "_name": "bg", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [], "_active": true, "_components": [ { - "__id__": 15 + "__id__": 12 } ], "_prefab": null, "_opacity": 255, "_color": { "__type__": "cc.Color", - "r": 104, - "g": 100, - "b": 100, + "r": 255, + "g": 255, + "b": 255, "a": 255 }, "_contentSize": { @@ -771,7 +670,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 14 + "__id__": 11 }, "_enabled": true, "_materials": [ @@ -782,7 +681,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "a23235d1-15db-4b95-8439-a2e005bfff91" + "__uuid__": "bc10af6c-0a42-48e2-9e8a-95188e5eea79" }, "_type": 0, "_sizeMode": 0, @@ -795,24 +694,23 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "9fTltB0hVA9YZf97WA7rLt" }, { "__type__": "cc.Node", - "_name": "btn_Down", + "_name": "New Sprite", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [], "_active": true, "_components": [ { - "__id__": 17 - }, - { - "__id__": 18 + "__id__": 14 } ], "_prefab": null, @@ -826,8 +724,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 106, - "height": 98 + "width": 258, + "height": 258 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -838,8 +736,107 @@ "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - -198.914, - -118.68, + -216.426, + 75.521, + 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": "5agJBLqERGUIaYF4f7kXHR" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 13 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "72c340fd-ebeb-42ce-a81c-c493482efe7b" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "50HcqT4IJD8oiQr1ptibKm" + }, + { + "__type__": "cc.Node", + "_name": "btn_Down", + "_objFlags": 0, + "_parent": { + "__id__": 10 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 16 + }, + { + "__id__": 17 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 84, + "height": 84 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -217.617, + -4.266, 0, 0, 0, @@ -868,7 +865,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 16 + "__id__": 15 }, "_enabled": true, "_materials": [ @@ -879,7 +876,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "6b009d51-7e95-45c5-b483-f2948213f8b6" + "__uuid__": "fc9f379e-ab15-4792-adce-65600c4793c7" }, "_type": 0, "_sizeMode": 1, @@ -892,7 +889,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "71enP3yzVA5pKa6T8QBaK5" }, { @@ -900,7 +899,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 16 + "__id__": 15 }, "_enabled": true, "_normalMaterial": null, @@ -909,7 +908,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 19 + "__id__": 18 } ], "_N$interactable": true, @@ -965,14 +964,14 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 16 + "__id__": 15 }, "_id": "0491WV+UFBZrjsP6WrhGAi" }, { "__type__": "cc.ClickEvent", "target": { - "__id__": 13 + "__id__": 10 }, "component": "", "_componentId": "e35abcX5VRAoItO6mgFcYyX", @@ -984,16 +983,16 @@ "_name": "btn_Up", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [], "_active": true, "_components": [ { - "__id__": 21 + "__id__": 20 }, { - "__id__": 22 + "__id__": 21 } ], "_prefab": null, @@ -1007,8 +1006,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 106, - "height": 98 + "width": 84, + "height": 84 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1019,13 +1018,13 @@ "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - -200.586, - 115.337, + -219.289, + 155.813, + 0, 0, 0, 0, 1, - 6.123233995736766e-17, 1, 1, 0 @@ -1035,7 +1034,7 @@ "__type__": "cc.Vec3", "x": 0, "y": 0, - "z": 180 + "z": 0 }, "_skewX": 0, "_skewY": 0, @@ -1049,7 +1048,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 20 + "__id__": 19 }, "_enabled": true, "_materials": [ @@ -1060,7 +1059,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "6b009d51-7e95-45c5-b483-f2948213f8b6" + "__uuid__": "1337f623-c519-41bc-9b89-40e37366041f" }, "_type": 0, "_sizeMode": 1, @@ -1073,7 +1072,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "19nbeUc3lLyJ3PZmToqjqz" }, { @@ -1081,7 +1082,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 20 + "__id__": 19 }, "_enabled": true, "_normalMaterial": null, @@ -1090,7 +1091,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 23 + "__id__": 22 } ], "_N$interactable": true, @@ -1146,14 +1147,14 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 20 + "__id__": 19 }, "_id": "90O8q82QpGSI9IHuYe63gi" }, { "__type__": "cc.ClickEvent", "target": { - "__id__": 13 + "__id__": 10 }, "component": "", "_componentId": "e35abcX5VRAoItO6mgFcYyX", @@ -1165,16 +1166,16 @@ "_name": "btn_Left", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [], "_active": true, "_components": [ { - "__id__": 25 + "__id__": 24 }, { - "__id__": 26 + "__id__": 25 } ], "_prefab": null, @@ -1188,8 +1189,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 106, - "height": 98 + "width": 84, + "height": 84 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1200,13 +1201,13 @@ "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - -319.266, - 3.344, + -297.337, + 77.284, 0, 0, 0, - -0.7071067811865475, - 0.7071067811865476, + 0, + 1, 1, 1, 0 @@ -1216,7 +1217,7 @@ "__type__": "cc.Vec3", "x": 0, "y": 0, - "z": -90 + "z": 0 }, "_skewX": 0, "_skewY": 0, @@ -1230,7 +1231,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 24 + "__id__": 23 }, "_enabled": true, "_materials": [ @@ -1241,7 +1242,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "6b009d51-7e95-45c5-b483-f2948213f8b6" + "__uuid__": "dda83961-0246-4b58-82f5-cbc6af047e6e" }, "_type": 0, "_sizeMode": 1, @@ -1254,7 +1255,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "5ahwm15lBGP7DzFpADhLcv" }, { @@ -1262,7 +1265,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 24 + "__id__": 23 }, "_enabled": true, "_normalMaterial": null, @@ -1271,7 +1274,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 27 + "__id__": 26 } ], "_N$interactable": true, @@ -1327,14 +1330,14 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 24 + "__id__": 23 }, "_id": "dba6g/8+ZAYY/HXsqaok88" }, { "__type__": "cc.ClickEvent", "target": { - "__id__": 13 + "__id__": 10 }, "component": "", "_componentId": "e35abcX5VRAoItO6mgFcYyX", @@ -1346,16 +1349,16 @@ "_name": "btn_Right", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [], "_active": true, "_components": [ { - "__id__": 29 + "__id__": 28 }, { - "__id__": 30 + "__id__": 29 } ], "_prefab": null, @@ -1369,8 +1372,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 106, - "height": 98 + "width": 84, + "height": 84 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1381,13 +1384,13 @@ "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - -81.906, - 6.686, + -136.072, + 80.626, 0, 0, 0, - 0.7071067811865475, - 0.7071067811865476, + 0, + 1, 1, 1, 0 @@ -1397,7 +1400,7 @@ "__type__": "cc.Vec3", "x": 0, "y": 0, - "z": 90 + "z": 0 }, "_skewX": 0, "_skewY": 0, @@ -1411,7 +1414,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 28 + "__id__": 27 }, "_enabled": true, "_materials": [ @@ -1422,7 +1425,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "6b009d51-7e95-45c5-b483-f2948213f8b6" + "__uuid__": "cfa9cb38-5f6a-444a-b048-f064baeef016" }, "_type": 0, "_sizeMode": 1, @@ -1435,7 +1438,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "55hwNIC0FAtoOM+xjlIJxi" }, { @@ -1443,7 +1448,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 28 + "__id__": 27 }, "_enabled": true, "_normalMaterial": null, @@ -1452,7 +1457,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 31 + "__id__": 30 } ], "_N$interactable": true, @@ -1508,14 +1513,14 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 28 + "__id__": 27 }, "_id": "77GSic1LJClYWlIjUI5gy3" }, { "__type__": "cc.ClickEvent", "target": { - "__id__": 13 + "__id__": 10 }, "component": "", "_componentId": "e35abcX5VRAoItO6mgFcYyX", @@ -1524,31 +1529,127 @@ }, { "__type__": "cc.Node", - "_name": "show_Map", + "_name": "Line", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [], "_active": true, "_components": [ { - "__id__": 33 + "__id__": 32 } ], "_prefab": null, "_opacity": 255, "_color": { "__type__": "cc.Color", - "r": 248, - "g": 167, - "b": 167, + "r": 255, + "g": 255, + "b": 255, "a": 255 }, "_contentSize": { "__type__": "cc.Size", - "width": 350, - "height": 250 + "width": 412, + "height": 6 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 150.379, + 70.591, + 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": "608VUuiOlIeLwg48xKTJiR" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 31 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "d53a3565-f833-4261-9076-d48232a513c5" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "d0S48nlopCa7BPxsIqvgT8" + }, + { + "__type__": "cc.Node", + "_name": "show_Map", + "_objFlags": 0, + "_parent": { + "__id__": 10 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 34 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 400, + "height": 230 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1559,8 +1660,8 @@ "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - -3.656, - 152.863, + -49.859, + 67.992, 0, 0, 0, @@ -1589,9 +1690,9 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 32 + "__id__": 33 }, - "_enabled": true, + "_enabled": false, "_materials": [ { "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" @@ -1621,17 +1722,17 @@ "_name": "xiRang", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [ { - "__id__": 35 + "__id__": 36 } ], "_active": true, "_components": [ { - "__id__": 40 + "__id__": 38 } ], "_prefab": null, @@ -1645,8 +1746,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 72, + "height": 72 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1657,8 +1758,8 @@ "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - 287.732, - -124.179, + -147.124, + -107.225, 0, 0, 0, @@ -1687,20 +1788,13 @@ "_name": "Background", "_objFlags": 512, "_parent": { - "__id__": 34 + "__id__": 35 }, - "_children": [ - { - "__id__": 36 - } - ], + "_children": [], "_active": true, "_components": [ { - "__id__": 38 - }, - { - "__id__": 39 + "__id__": 37 } ], "_prefab": null, @@ -1714,8 +1808,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 72, + "height": 72 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1735,7 +1829,7 @@ 1, 1, 1, - 1 + 0 ] }, "_eulerAngles": { @@ -1752,69 +1846,7 @@ "_id": "f11sGusTdAMZ+KmsuhE8S1" }, { - "__type__": "cc.Node", - "_name": "Label", - "_objFlags": 512, - "_parent": { - "__id__": 35 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 37 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 100, - "height": 40 - }, - "_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": "78iiF4BT5Oq5c9zolTkdTU" - }, - { - "__type__": "cc.Label", + "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { @@ -1828,44 +1860,11 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_string": "息壤", - "_N$string": "息壤", - "_fontSize": 20, - "_lineHeight": 40, - "_enableWrapText": false, - "_N$file": null, - "_isSystemFontUsed": true, - "_spacingX": 0, - "_batchAsBitmap": false, - "_styleFlags": 0, - "_underlineHeight": 0, - "_N$horizontalAlign": 1, - "_N$verticalAlign": 1, - "_N$fontFamily": "Arial", - "_N$overflow": 1, - "_N$cacheMode": 1, - "_id": "c888u3aVhE1YCTsdA75rmP" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 35 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" + "__uuid__": "7337c117-f67d-4c71-a6d2-a63c2c014165" }, "_type": 1, - "_sizeMode": 0, + "_sizeMode": 1, "_fillType": 0, "_fillCenter": { "__type__": "cc.Vec2", @@ -1875,42 +1874,17 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, - "_id": "68+YH0SDtDD6pQ+3FAsIN+" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 35 + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" }, - "_enabled": true, - "alignMode": 0, - "_target": null, - "_alignFlags": 45, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_verticalCenter": 0, - "_horizontalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 100, - "_originalHeight": 40, - "_id": "20Krt6CstOYoCOIvVfbK8e" + "_id": "68+YH0SDtDD6pQ+3FAsIN+" }, { "__type__": "cc.Button", "_name": "", "_objFlags": 0, "node": { - "__id__": 34 + "__id__": 35 }, "_enabled": true, "_normalMaterial": null, @@ -1919,13 +1893,13 @@ "zoomScale": 1.2, "clickEvents": [ { - "__id__": 41 + "__id__": 39 } ], "_N$interactable": true, "_N$enableAutoGrayEffect": false, - "_N$transition": 2, - "transition": 2, + "_N$transition": 3, + "transition": 3, "_N$normalColor": { "__type__": "cc.Color", "r": 230, @@ -1987,14 +1961,14 @@ "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e" }, "_N$target": { - "__id__": 35 + "__id__": 36 }, "_id": "49qtGADz9KWKL1Ob8ITwNL" }, { "__type__": "cc.ClickEvent", "target": { - "__id__": 13 + "__id__": 10 }, "component": "", "_componentId": "e35abcX5VRAoItO6mgFcYyX", @@ -2003,20 +1977,20 @@ }, { "__type__": "cc.Node", - "_name": "StartBtn", + "_name": "JiaGu", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [ { - "__id__": 43 + "__id__": 41 } ], "_active": true, "_components": [ { - "__id__": 48 + "__id__": 43 } ], "_prefab": null, @@ -2030,8 +2004,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 72, + "height": 72 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -2042,8 +2016,8 @@ "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - 47.45, - -124.179, + -270.035, + -107.225, 0, 0, 0, @@ -2072,20 +2046,13 @@ "_name": "Background", "_objFlags": 512, "_parent": { - "__id__": 42 + "__id__": 40 }, - "_children": [ - { - "__id__": 44 - } - ], + "_children": [], "_active": true, "_components": [ { - "__id__": 46 - }, - { - "__id__": 47 + "__id__": 42 } ], "_prefab": null, @@ -2099,8 +2066,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 72, + "height": 72 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -2120,7 +2087,7 @@ 1, 1, 1, - 1 + 0 ] }, "_eulerAngles": { @@ -2136,107 +2103,12 @@ "groupIndex": 0, "_id": "86Pr1WAT1KnoCQdY62VTqo" }, - { - "__type__": "cc.Node", - "_name": "Label", - "_objFlags": 512, - "_parent": { - "__id__": 43 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 45 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 100, - "height": 40 - }, - "_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": "9dETIL5Y9MGrNv1Nz24TtR" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 44 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_string": "加固", - "_N$string": "加固", - "_fontSize": 20, - "_lineHeight": 40, - "_enableWrapText": false, - "_N$file": null, - "_isSystemFontUsed": true, - "_spacingX": 0, - "_batchAsBitmap": false, - "_styleFlags": 0, - "_underlineHeight": 0, - "_N$horizontalAlign": 1, - "_N$verticalAlign": 1, - "_N$fontFamily": "Arial", - "_N$overflow": 1, - "_N$cacheMode": 1, - "_id": "faO/Urc1NGsZE3d442+UR3" - }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 43 + "__id__": 41 }, "_enabled": true, "_materials": [ @@ -2247,10 +2119,10 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" + "__uuid__": "c24c6cab-d079-4534-8f94-e441d509cf46" }, "_type": 1, - "_sizeMode": 0, + "_sizeMode": 1, "_fillType": 0, "_fillCenter": { "__type__": "cc.Vec2", @@ -2260,42 +2132,17 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, - "_id": "9eD5fEKDlD2oLj6drfWgGX" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 43 + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" }, - "_enabled": true, - "alignMode": 0, - "_target": null, - "_alignFlags": 45, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_verticalCenter": 0, - "_horizontalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 100, - "_originalHeight": 40, - "_id": "f46ineF9dDBpuMbCht9zD7" + "_id": "9eD5fEKDlD2oLj6drfWgGX" }, { "__type__": "cc.Button", "_name": "", "_objFlags": 0, "node": { - "__id__": 42 + "__id__": 40 }, "_enabled": true, "_normalMaterial": null, @@ -2304,13 +2151,13 @@ "zoomScale": 1.2, "clickEvents": [ { - "__id__": 49 + "__id__": 44 } ], "_N$interactable": true, "_N$enableAutoGrayEffect": false, - "_N$transition": 2, - "transition": 2, + "_N$transition": 3, + "transition": 3, "_N$normalColor": { "__type__": "cc.Color", "r": 230, @@ -2354,7 +2201,7 @@ "a": 200 }, "_N$normalSprite": { - "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" + "__uuid__": "c24c6cab-d079-4534-8f94-e441d509cf46" }, "_N$pressedSprite": { "__uuid__": "e9ec654c-97a2-4787-9325-e6a10375219a" @@ -2372,14 +2219,14 @@ "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e" }, "_N$target": { - "__id__": 43 + "__id__": 41 }, "_id": "2feh7EcxpHIp3ellIB1WkS" }, { "__type__": "cc.ClickEvent", "target": { - "__id__": 13 + "__id__": 10 }, "component": "", "_componentId": "e35abcX5VRAoItO6mgFcYyX", @@ -2388,20 +2235,20 @@ }, { "__type__": "cc.Node", - "_name": "jiaGu", + "_name": "StartBtn", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [ { - "__id__": 51 + "__id__": 46 } ], "_active": true, "_components": [ { - "__id__": 56 + "__id__": 48 } ], "_prefab": null, @@ -2415,8 +2262,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 218, + "height": 60 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -2427,8 +2274,8 @@ "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - 168.601, - -124.179, + 242.147, + -123.76, 0, 0, 0, @@ -2457,20 +2304,13 @@ "_name": "Background", "_objFlags": 512, "_parent": { - "__id__": 50 + "__id__": 45 }, - "_children": [ - { - "__id__": 52 - } - ], + "_children": [], "_active": true, "_components": [ { - "__id__": 54 - }, - { - "__id__": 55 + "__id__": 47 } ], "_prefab": null, @@ -2484,8 +2324,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 218, + "height": 60 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -2505,7 +2345,7 @@ 1, 1, 1, - 1 + 0 ] }, "_eulerAngles": { @@ -2521,107 +2361,12 @@ "groupIndex": 0, "_id": "379F8n2QtOq7jn4i8kpcqk" }, - { - "__type__": "cc.Node", - "_name": "Label", - "_objFlags": 512, - "_parent": { - "__id__": 51 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 53 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 100, - "height": 40 - }, - "_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": "c50XWeES9PyrxoBHV0HyuR" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 52 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_string": "开始修建", - "_N$string": "开始修建", - "_fontSize": 20, - "_lineHeight": 40, - "_enableWrapText": false, - "_N$file": null, - "_isSystemFontUsed": true, - "_spacingX": 0, - "_batchAsBitmap": false, - "_styleFlags": 0, - "_underlineHeight": 0, - "_N$horizontalAlign": 1, - "_N$verticalAlign": 1, - "_N$fontFamily": "Arial", - "_N$overflow": 1, - "_N$cacheMode": 1, - "_id": "b3HKpno01LrqpRVu7bqx6B" - }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 51 + "__id__": 46 }, "_enabled": true, "_materials": [ @@ -2632,10 +2377,10 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" + "__uuid__": "3dd7e558-3aa4-4532-bbba-dab95a545c39" }, "_type": 1, - "_sizeMode": 0, + "_sizeMode": 1, "_fillType": 0, "_fillCenter": { "__type__": "cc.Vec2", @@ -2645,42 +2390,17 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, - "_id": "238Ff58HFEcaB7AkQTBRqM" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 51 + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" }, - "_enabled": true, - "alignMode": 0, - "_target": null, - "_alignFlags": 45, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_verticalCenter": 0, - "_horizontalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 100, - "_originalHeight": 40, - "_id": "41qbhCu7FOSJxWOltFRloZ" + "_id": "238Ff58HFEcaB7AkQTBRqM" }, { "__type__": "cc.Button", "_name": "", "_objFlags": 0, "node": { - "__id__": 50 + "__id__": 45 }, "_enabled": true, "_normalMaterial": null, @@ -2689,13 +2409,13 @@ "zoomScale": 1.2, "clickEvents": [ { - "__id__": 57 + "__id__": 49 } ], "_N$interactable": true, "_N$enableAutoGrayEffect": false, - "_N$transition": 2, - "transition": 2, + "_N$transition": 3, + "transition": 3, "_N$normalColor": { "__type__": "cc.Color", "r": 230, @@ -2757,14 +2477,14 @@ "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e" }, "_N$target": { - "__id__": 51 + "__id__": 46 }, "_id": "dcv/3yP7lAoY2ju9UwYsa0" }, { "__type__": "cc.ClickEvent", "target": { - "__id__": 13 + "__id__": 10 }, "component": "", "_componentId": "e35abcX5VRAoItO6mgFcYyX", @@ -2776,17 +2496,17 @@ "_name": "backBtn", "_objFlags": 0, "_parent": { - "__id__": 13 + "__id__": 10 }, "_children": [ { - "__id__": 59 + "__id__": 51 } ], "_active": true, "_components": [ { - "__id__": 64 + "__id__": 53 } ], "_prefab": null, @@ -2800,8 +2520,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 72, + "height": 72 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -2812,8 +2532,8 @@ "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - -198.738, - -1.085, + 286.642, + 122.944, 0, 0, 0, @@ -2842,20 +2562,13 @@ "_name": "Background", "_objFlags": 512, "_parent": { - "__id__": 58 + "__id__": 50 }, - "_children": [ - { - "__id__": 60 - } - ], + "_children": [], "_active": true, "_components": [ { - "__id__": 62 - }, - { - "__id__": 63 + "__id__": 52 } ], "_prefab": null, @@ -2869,8 +2582,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 72, + "height": 72 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -2890,7 +2603,7 @@ 1, 1, 1, - 1 + 0 ] }, "_eulerAngles": { @@ -2906,107 +2619,12 @@ "groupIndex": 0, "_id": "1fbTpWLYlNZLS1K2qX7DMT" }, - { - "__type__": "cc.Node", - "_name": "Label", - "_objFlags": 512, - "_parent": { - "__id__": 59 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 61 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 100, - "height": 40 - }, - "_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": "76xvWGzTRGEbwdCrWQibVQ" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 60 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_string": "后退一格", - "_N$string": "后退一格", - "_fontSize": 20, - "_lineHeight": 40, - "_enableWrapText": false, - "_N$file": null, - "_isSystemFontUsed": true, - "_spacingX": 0, - "_batchAsBitmap": false, - "_styleFlags": 0, - "_underlineHeight": 0, - "_N$horizontalAlign": 1, - "_N$verticalAlign": 1, - "_N$fontFamily": "Arial", - "_N$overflow": 1, - "_N$cacheMode": 1, - "_id": "dcGobj+mtNgYdLwYFZB8gH" - }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 59 + "__id__": 51 }, "_enabled": true, "_materials": [ @@ -3017,10 +2635,10 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" + "__uuid__": "089e5dee-caa2-4903-bba8-1371afcc55d7" }, "_type": 1, - "_sizeMode": 0, + "_sizeMode": 1, "_fillType": 0, "_fillCenter": { "__type__": "cc.Vec2", @@ -3030,42 +2648,17 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, - "_id": "46hahi9WJAOYZq8bEpQLBT" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 59 + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" }, - "_enabled": true, - "alignMode": 0, - "_target": null, - "_alignFlags": 45, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_verticalCenter": 0, - "_horizontalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 100, - "_originalHeight": 40, - "_id": "6d2uyB3wVEtaMNLUr+Jfxt" + "_id": "46hahi9WJAOYZq8bEpQLBT" }, { "__type__": "cc.Button", "_name": "", "_objFlags": 0, "node": { - "__id__": 58 + "__id__": 50 }, "_enabled": true, "_normalMaterial": null, @@ -3074,13 +2667,13 @@ "zoomScale": 1.2, "clickEvents": [ { - "__id__": 65 + "__id__": 54 } ], "_N$interactable": true, "_N$enableAutoGrayEffect": false, - "_N$transition": 2, - "transition": 2, + "_N$transition": 3, + "transition": 3, "_N$normalColor": { "__type__": "cc.Color", "r": 230, @@ -3124,7 +2717,7 @@ "a": 200 }, "_N$normalSprite": { - "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" + "__uuid__": "089e5dee-caa2-4903-bba8-1371afcc55d7" }, "_N$pressedSprite": { "__uuid__": "e9ec654c-97a2-4787-9325-e6a10375219a" @@ -3142,26 +2735,759 @@ "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e" }, "_N$target": { - "__id__": 59 + "__id__": 51 }, "_id": "c4jzD+ddhGi79MTZ1fvokt" }, { "__type__": "cc.ClickEvent", "target": { - "__id__": 13 + "__id__": 10 }, "component": "", "_componentId": "e35abcX5VRAoItO6mgFcYyX", "handler": "back_Click", "customEventData": "" }, + { + "__type__": "cc.Node", + "_name": "deleteBtn", + "_objFlags": 0, + "_parent": { + "__id__": 10 + }, + "_children": [ + { + "__id__": 56 + } + ], + "_active": true, + "_components": [ + { + "__id__": 58 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 72, + "height": 72 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 199.433, + 122.944, + 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": "56HeEM3HJGFoGxg490yjaB" + }, + { + "__type__": "cc.Node", + "_name": "Background", + "_objFlags": 512, + "_parent": { + "__id__": 55 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 57 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 72, + "height": 72 + }, + "_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, + 0 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "f87gmVgaJGnJ6/0E2ejwlG" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 56 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "b2268e61-7cd7-4fdc-8c43-6836c1069443" + }, + "_type": 1, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "67kCsWgMdE8pQ4zb6HWnQw" + }, + { + "__type__": "cc.Button", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 55 + }, + "_enabled": true, + "_normalMaterial": null, + "_grayMaterial": null, + "duration": 0.1, + "zoomScale": 1.2, + "clickEvents": [ + { + "__id__": 59 + } + ], + "_N$interactable": true, + "_N$enableAutoGrayEffect": false, + "_N$transition": 3, + "transition": 3, + "_N$normalColor": { + "__type__": "cc.Color", + "r": 230, + "g": 230, + "b": 230, + "a": 255 + }, + "_N$pressedColor": { + "__type__": "cc.Color", + "r": 200, + "g": 200, + "b": 200, + "a": 255 + }, + "pressedColor": { + "__type__": "cc.Color", + "r": 200, + "g": 200, + "b": 200, + "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": 120, + "g": 120, + "b": 120, + "a": 200 + }, + "_N$normalSprite": { + "__uuid__": "089e5dee-caa2-4903-bba8-1371afcc55d7" + }, + "_N$pressedSprite": { + "__uuid__": "e9ec654c-97a2-4787-9325-e6a10375219a" + }, + "pressedSprite": { + "__uuid__": "e9ec654c-97a2-4787-9325-e6a10375219a" + }, + "_N$hoverSprite": { + "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" + }, + "hoverSprite": { + "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" + }, + "_N$disabledSprite": { + "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e" + }, + "_N$target": { + "__id__": 56 + }, + "_id": "98iJY7KsxFroRwmcvT4Qa7" + }, + { + "__type__": "cc.ClickEvent", + "target": { + "__id__": 10 + }, + "component": "", + "_componentId": "e35abcX5VRAoItO6mgFcYyX", + "handler": "removeAllTip", + "customEventData": "" + }, + { + "__type__": "cc.Node", + "_name": "New Label", + "_objFlags": 0, + "_parent": { + "__id__": 10 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 61 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 175, + "g": 136, + "b": 70, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 60, + "height": 37.8 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0.779, + 106.058, + 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": "1dqQnAKctCcIgWRitQUjvO" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 60 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "图纸", + "_N$string": "图纸", + "_fontSize": 30, + "_lineHeight": 30, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "bdOrnVI1VIjb6Cwma3vsIl" + }, + { + "__type__": "cc.Node", + "_name": "New Label", + "_objFlags": 0, + "_parent": { + "__id__": 10 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 63 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 136, + "g": 98, + "b": 62, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 44, + "height": 27.72 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 286.411, + 88.102, + 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": "b3gg/qVW1Jb7PNgdrpXxtT" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 62 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "撤回", + "_N$string": "撤回", + "_fontSize": 22, + "_lineHeight": 22, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "f7PK7X5LVLv5XcpP67aGav" + }, + { + "__type__": "cc.Node", + "_name": "New Label", + "_objFlags": 0, + "_parent": { + "__id__": 10 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 65 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 136, + "g": 98, + "b": 62, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 44, + "height": 27.72 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 198.681, + 88.102, + 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": "80ghuAR/xMwqIQDwLNEYi/" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 64 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "清空", + "_N$string": "清空", + "_fontSize": 22, + "_lineHeight": 22, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "0cBFmuzBJCJaB6DKiajaMh" + }, + { + "__type__": "cc.Node", + "_name": "New Label", + "_objFlags": 0, + "_parent": { + "__id__": 10 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 67 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 136, + "g": 98, + "b": 62, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 44, + "height": 27.72 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -148.207, + -152.181, + 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": "bdM10sfAdFZ7kHjd9KjyKC" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 66 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "息壤", + "_N$string": "息壤", + "_fontSize": 22, + "_lineHeight": 22, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "3aDzp3rERGgY4vC++QIwBw" + }, + { + "__type__": "cc.Node", + "_name": "New Label", + "_objFlags": 0, + "_parent": { + "__id__": 10 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 69 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 136, + "g": 98, + "b": 62, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 44, + "height": 27.72 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -269.775, + -152.181, + 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": "9cpz0rd9xK9o0LYQlGVT+O" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 68 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "加固", + "_N$string": "加固", + "_fontSize": 22, + "_lineHeight": 22, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "3fMBbLKURJAJahydocK2oS" + }, { "__type__": "cc.Widget", "_name": "", "_objFlags": 0, "node": { - "__id__": 13 + "__id__": 10 }, "_enabled": true, "alignMode": 1, @@ -3170,7 +3496,7 @@ "_left": 0, "_right": 0, "_top": 0, - "_bottom": 43.202999999999975, + "_bottom": 0, "_verticalCenter": 0, "_horizontalCenter": 0, "_isAbsLeft": true, @@ -3188,23 +3514,999 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 13 + "__id__": 10 }, "_enabled": true, "Map": { - "__id__": 32 + "__id__": 33 }, "tip": { "__uuid__": "47657f05-243e-4f2a-a32d-200631f1c252" }, "reinforce": { - "__uuid__": "9e91c351-bd17-446b-b773-3b715fe6ba48" - }, - "soil": { "__uuid__": "7a90e76c-37f8-4f8c-84e9-f05b34afe481" }, + "soil": { + "__uuid__": "9e91c351-bd17-446b-b773-3b715fe6ba48" + }, "_id": "f2gFV7xixGDY1vTvB3roWu" }, + { + "__type__": "cc.Node", + "_name": "Top", + "_objFlags": 0, + "_parent": { + "__id__": 5 + }, + "_children": [ + { + "__id__": 73 + }, + { + "__id__": 75 + }, + { + "__id__": 77 + }, + { + "__id__": 79 + }, + { + "__id__": 81 + }, + { + "__id__": 83 + }, + { + "__id__": 85 + }, + { + "__id__": 87 + }, + { + "__id__": 89 + } + ], + "_active": true, + "_components": [ + { + "__id__": 91 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 750, + "height": 0 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 647, + 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": "2dvFGf0U9OKKhKCqEvtwLT" + }, + { + "__type__": "cc.Node", + "_name": "bg", + "_objFlags": 0, + "_parent": { + "__id__": 72 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 74 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 744, + "height": 80 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + -39.556, + 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": "0cgkoDi75MFoNDhg0sKlVt" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 73 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "ffab2d63-1700-4821-8d95-9f4d4717aa1b" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "76zs/ZzYhGSbMF44sdOYN0" + }, + { + "__type__": "cc.Node", + "_name": "progressBg", + "_objFlags": 0, + "_parent": { + "__id__": 72 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 76 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 500, + "height": 18 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 84.706, + -63.438, + 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": "3eHhCQQr9JjqLa317XpqmV" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 75 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "12878a32-a063-42b4-b233-9e419054c084" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "22ocvrBY9Av4vC1hf3IcUk" + }, + { + "__type__": "cc.Node", + "_name": "progress", + "_objFlags": 0, + "_parent": { + "__id__": 72 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 78 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 500, + "height": 18 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 84.706, + -63.438, + 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": "b22dJDPkBAfJol7uoPPFtl" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 77 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "fb15d143-fb48-4fae-8921-e5f005493fac" + }, + "_type": 3, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "2a1apdfFVAK41hrqNYtxU/" + }, + { + "__type__": "cc.Node", + "_name": "head", + "_objFlags": 0, + "_parent": { + "__id__": 72 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 80 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 49, + "height": 32 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -180, + -54.557, + 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": "b2w0C6lFBAmYIz4jBWs2EU" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 79 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "db06b8d5-6735-4ce0-8748-edfe06e9fd30" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "131Qlt/A5HYYr0Pqh/EHB7" + }, + { + "__type__": "cc.Node", + "_name": "New Label", + "_objFlags": 0, + "_parent": { + "__id__": 72 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 82 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 237, + "g": 210, + "b": 187, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 75, + "height": 31.5 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -308.155, + -19.072, + 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": "9bQAVktN5NcayLBgcUorra" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 81 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "总时间", + "_N$string": "总时间", + "_fontSize": 25, + "_lineHeight": 25, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "b7H2iuvT1BZqlTnq0x2nrz" + }, + { + "__type__": "cc.Node", + "_name": "totalTime", + "_objFlags": 0, + "_parent": { + "__id__": 72 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 84 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 238, + "b": 215, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.1, + "height": 50.4 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -307.209, + -54.662, + 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": "912cRy4xJLtbvhvFUq6seP" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 83 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "00:00", + "_N$string": "00:00", + "_fontSize": 40, + "_lineHeight": 40, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "afokpW04JB+bljDOFqQuwR" + }, + { + "__type__": "cc.Node", + "_name": "Label", + "_objFlags": 0, + "_parent": { + "__id__": 72 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 86 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 238, + "b": 215, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 150, + "height": 31.5 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 41.191, + -23.201, + 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": "a8mxYVspNDFpwiKzHccVnS" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 85 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "距离洪峰到来", + "_N$string": "距离洪峰到来", + "_fontSize": 25, + "_lineHeight": 25, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "31H77LE79JJrJsvBZ9lVOA" + }, + { + "__type__": "cc.Node", + "_name": "time", + "_objFlags": 0, + "_parent": { + "__id__": 72 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 88 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 238, + "b": 215, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 62.56, + "height": 31.5 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 161.092, + -23.29, + 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": "9d/ESsYDhFzJtyELMoBT+j" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 87 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "00:00", + "_N$string": "00:00", + "_fontSize": 25, + "_lineHeight": 25, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "a9ug3uxiZHCbYiwI56hTGB" + }, + { + "__type__": "cc.Node", + "_name": "id", + "_objFlags": 0, + "_parent": { + "__id__": 72 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 90 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 0, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 88.98, + "height": 50.4 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -109.883, + -23.96, + 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": "67LQQ0hGxPYIEncm0tzIS7" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 89 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "1001", + "_N$string": "1001", + "_fontSize": 40, + "_lineHeight": 40, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "e9wR6XRE9Ax46QgiFiUqyn" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 72 + }, + "_enabled": true, + "alignMode": 1, + "_target": null, + "_alignFlags": 41, + "_left": 0, + "_right": 0, + "_top": 20, + "_bottom": 0, + "_verticalCenter": 0, + "_horizontalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 0, + "_id": "4fxdhQLFVDKqcWdiooyi6X" + }, { "__type__": "cc.Node", "_name": "Win", @@ -3263,6 +4565,350 @@ "groupIndex": 0, "_id": "beOm6xY9JGcpUIgHepr4za" }, + { + "__type__": "cc.Node", + "_name": "Over", + "_objFlags": 0, + "_parent": { + "__id__": 5 + }, + "_children": [ + { + "__id__": 94 + }, + { + "__id__": 97 + } + ], + "_active": true, + "_components": [ + { + "__id__": 100 + } + ], + "_prefab": null, + "_opacity": 0, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 591.5, + "height": 1334 + }, + "_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": "9fvo6KA6hNX726OUEDSZKo" + }, + { + "__type__": "cc.Node", + "_name": "New Sprite", + "_objFlags": 0, + "_parent": { + "__id__": 93 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 95 + }, + { + "__id__": 96 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 116, + "height": 1334 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -318.378, + 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": "f0jehgg/VA0qdKS8Yhgng5" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 94 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "b926007a-3c3e-4981-b1c0-638864dfc892" + }, + "_type": 0, + "_sizeMode": 0, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": null, + "_id": "30Ev/OhOVDZp/ee9LDa9mQ" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 94 + }, + "_enabled": true, + "alignMode": 1, + "_target": null, + "_alignFlags": 13, + "_left": -80.62799999999999, + "_right": 0, + "_top": 0, + "_bottom": 0, + "_verticalCenter": 0, + "_horizontalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 640, + "_id": "b3kLLSA8pLlKt7++xnsR6E" + }, + { + "__type__": "cc.Node", + "_name": "New Sprite", + "_objFlags": 0, + "_parent": { + "__id__": 93 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 98 + }, + { + "__id__": 99 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 116, + "height": 1334 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 318.38, + 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": "b8qhhugVJCZYKUwmP5nMwI" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 97 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "b926007a-3c3e-4981-b1c0-638864dfc892" + }, + "_type": 0, + "_sizeMode": 0, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": null, + "_id": "34YBCabrBNxrK0DaHt3Zp7" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 97 + }, + "_enabled": true, + "alignMode": 1, + "_target": null, + "_alignFlags": 37, + "_left": -80.62799999999996, + "_right": -80.62999999999997, + "_top": 0, + "_bottom": 0, + "_verticalCenter": 0, + "_horizontalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 116, + "_originalHeight": 640, + "_id": "86CbemTlZBM5maUTrhaQgl" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 93 + }, + "_enabled": true, + "alignMode": 1, + "_target": null, + "_alignFlags": 45, + "_left": 79.25, + "_right": 79.25, + "_top": 0, + "_bottom": 0, + "_verticalCenter": 0, + "_horizontalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 116, + "_originalHeight": 640, + "_id": "06NN86oflA0pcH/dhzPRjn" + }, { "__type__": "cc.Node", "_name": "GameOver", @@ -3272,7 +4918,7 @@ }, "_children": [ { - "__id__": 70 + "__id__": 102 } ], "_active": false, @@ -3330,16 +4976,16 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 69 + "__id__": 101 }, "_children": [], "_active": true, "_components": [ { - "__id__": 71 + "__id__": 103 }, { - "__id__": 72 + "__id__": 104 } ], "_prefab": null, @@ -3395,7 +5041,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 70 + "__id__": 102 }, "_enabled": true, "_materials": [ @@ -3427,770 +5073,11 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 70 + "__id__": 102 }, "_enabled": true, "_id": "22S5GnmVhCz7EY4orhQpJT" }, - { - "__type__": "cc.Node", - "_name": "Block1", - "_objFlags": 0, - "_parent": { - "__id__": 5 - }, - "_children": [ - { - "__id__": 74 - }, - { - "__id__": 76 - } - ], - "_active": false, - "_components": [], - "_prefab": null, - "_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.543, - 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": "afuV9kjShONqq0jz6gTIhq" - }, - { - "__type__": "cc.Node", - "_name": "New Sprite(Splash)", - "_objFlags": 0, - "_parent": { - "__id__": 73 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 75 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 105, - "g": 105, - "b": 105, - "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": "193FPqop1OdK2UAQxLoFDR" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 74 - }, - "_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": "67VIljhyxNRoVQN5zDh3Rk" - }, - { - "__type__": "cc.Node", - "_name": "icon", - "_objFlags": 0, - "_parent": { - "__id__": 73 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 77 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 36, - "g": 0, - "b": 254, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 60, - "height": 96 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - -30, - 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": "4cqvFus1VKxpCEvxEsLNBt" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 76 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "af8457b5-c84c-4585-9402-aee73193f450" - }, - "_type": 3, - "_sizeMode": 1, - "_fillType": 1, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 1, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "34v9bEEMhFA6wuOY7fDwQc" - }, - { - "__type__": "cc.Node", - "_name": "Block2", - "_objFlags": 0, - "_parent": { - "__id__": 5 - }, - "_children": [ - { - "__id__": 79 - }, - { - "__id__": 81 - } - ], - "_active": false, - "_components": [], - "_prefab": null, - "_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, - 96.498, - 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": "18kkByH6hCGYGlkcLdXww4" - }, - { - "__type__": "cc.Node", - "_name": "New Sprite(Splash)", - "_objFlags": 0, - "_parent": { - "__id__": 78 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 80 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 105, - "g": 105, - "b": 105, - "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": "caluQB/YVLSIt4MvHLPAkM" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 79 - }, - "_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": "c2qwM1OOdAuLBsqX2RnEJJ" - }, - { - "__type__": "cc.Node", - "_name": "icon", - "_objFlags": 0, - "_parent": { - "__id__": 78 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 82 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 36, - "g": 0, - "b": 254, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 78, - "height": 78 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - -9, - -9, - 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": "6byOn5h1xOdKTVBy8dSgsa" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 81 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "e3acc841-072e-46c4-b892-be3da3cb608b" - }, - "_type": 3, - "_sizeMode": 1, - "_fillType": 1, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 1, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "1an8OFWf5HN5CxCTpNlnhc" - }, - { - "__type__": "cc.Node", - "_name": "Block1", - "_objFlags": 0, - "_parent": { - "__id__": 5 - }, - "_children": [ - { - "__id__": 84 - }, - { - "__id__": 86 - } - ], - "_active": false, - "_components": [], - "_prefab": null, - "_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": [ - -95.879, - 96.616, - 0, - 0, - 0, - 0.7071067811865475, - 0.7071067811865476, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 90 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "9fuGW0Qm1Mi7w6MEPzI7c1" - }, - { - "__type__": "cc.Node", - "_name": "New Sprite(Splash)", - "_objFlags": 0, - "_parent": { - "__id__": 83 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 85 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 105, - "g": 105, - "b": 105, - "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": "20wVFRlmBCGbkpyk75LrVF" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 84 - }, - "_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": "78awOjiwFGPL8i2z1wtwCk" - }, - { - "__type__": "cc.Node", - "_name": "icon", - "_objFlags": 0, - "_parent": { - "__id__": 83 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 87 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 36, - "g": 0, - "b": 254, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 60, - "height": 96 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - -30, - 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": "9bYQQR0pNMM5Mazzp+u08C" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 86 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "af8457b5-c84c-4585-9402-aee73193f450" - }, - "_type": 3, - "_sizeMode": 1, - "_fillType": 1, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 1, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "11x2PsQ+VJGYl4e/tgayeu" - }, { "__type__": "b0432BA295DjIOcuitdGKO1", "_name": "", @@ -4200,11 +5087,17 @@ }, "_enabled": true, "Map": { - "__id__": 11 + "__id__": 8 }, "Block": { "__uuid__": "c930d64e-2707-474f-b691-6220e2932ddd" }, + "Time": { + "__id__": 84 + }, + "Countdown": { + "__id__": 88 + }, "_id": "7dXON6+8BHRrnLvjmlXv+P" }, { diff --git a/temp/BackupAssets/assets/Scene/LoadScene.fire b/temp/BackupAssets/assets/Scene/LoadScene.fire index a3d61cc..82315cf 100644 --- a/temp/BackupAssets/assets/Scene/LoadScene.fire +++ b/temp/BackupAssets/assets/Scene/LoadScene.fire @@ -78,13 +78,13 @@ "__id__": 10 }, { - "__id__": 16 + "__id__": 18 }, { - "__id__": 19 + "__id__": 21 }, { - "__id__": 22 + "__id__": 24 } ], "_active": true, @@ -286,8 +286,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 376, - "height": 84 + "width": 750, + "height": 1660 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -299,7 +299,7 @@ "ctor": "Float64Array", "array": [ 0, - -313.22, + 0, 0, 0, 0, @@ -338,7 +338,9 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_spriteFrame": null, + "_spriteFrame": { + "__uuid__": "cdd137bb-0948-45d8-83d9-72ef549a9dbc" + }, "_type": 0, "_sizeMode": 1, "_fillType": 0, @@ -447,12 +449,15 @@ "_children": [ { "__id__": 11 + }, + { + "__id__": 14 } ], "_active": true, "_components": [ { - "__id__": 14 + "__id__": 16 } ], "_prefab": null, @@ -531,8 +536,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 126, - "height": 140 + "width": 102, + "height": 102 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -583,7 +588,9 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_spriteFrame": null, + "_spriteFrame": { + "__uuid__": "359e8c8b-2bf5-4e8e-b90e-a7654f81f2f9" + }, "_type": 1, "_sizeMode": 1, "_fillType": 0, @@ -595,7 +602,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "e3tnncQgtFn49iTBzwCpMN" }, { @@ -609,10 +618,10 @@ "alignMode": 0, "_target": null, "_alignFlags": 45, - "_left": -13, - "_right": -13, - "_top": -50, - "_bottom": -50, + "_left": -1, + "_right": -1, + "_top": -31, + "_bottom": -31, "_verticalCenter": 0, "_horizontalCenter": 0, "_isAbsLeft": true, @@ -625,6 +634,101 @@ "_originalHeight": 40, "_id": "3b6aA5QpdJN5tCMv9rwDLJ" }, + { + "__type__": "cc.Node", + "_name": "New Label", + "_objFlags": 0, + "_parent": { + "__id__": 10 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 15 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 52.39, + "height": 28.98 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0.402, + -49.341, + 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": "dc+p3yYYdKzLQ5TIo+4Fs9" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 14 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "排 行", + "_N$string": "排 行", + "_fontSize": 23, + "_lineHeight": 23, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "1cN62hedRCao1kwdunTZIT" + }, { "__type__": "cc.Button", "_name": "", @@ -639,7 +743,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 15 + "__id__": 17 } ], "_N$interactable": true, @@ -730,10 +834,10 @@ "_active": true, "_components": [ { - "__id__": 17 + "__id__": 19 }, { - "__id__": 18 + "__id__": 20 } ], "_prefab": null, @@ -789,7 +893,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 16 + "__id__": 18 }, "_enabled": true, "_materials": [ @@ -822,7 +926,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 16 + "__id__": 18 }, "_enabled": true, "alignMode": 1, @@ -855,10 +959,10 @@ "_active": true, "_components": [ { - "__id__": 20 + "__id__": 22 }, { - "__id__": 21 + "__id__": 23 } ], "_prefab": null, @@ -914,7 +1018,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 19 + "__id__": 21 }, "_enabled": true, "_materials": [ @@ -947,7 +1051,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 19 + "__id__": 21 }, "_enabled": true, "alignMode": 1, @@ -978,7 +1082,7 @@ }, "_children": [ { - "__id__": 23 + "__id__": 25 } ], "_active": true, @@ -998,8 +1102,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 513, + "height": 137 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1011,7 +1115,7 @@ "ctor": "Float64Array", "array": [ 0, - 0, + -313.512, 0, 0, 0, @@ -1040,13 +1144,9 @@ "_name": "Background", "_objFlags": 512, "_parent": { - "__id__": 22 + "__id__": 24 }, - "_children": [ - { - "__id__": 24 - } - ], + "_children": [], "_active": true, "_components": [ { @@ -1067,8 +1167,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 40 + "width": 513, + "height": 137 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1088,7 +1188,7 @@ 1, 1, 1, - 1 + 0 ] }, "_eulerAngles": { @@ -1104,107 +1204,12 @@ "groupIndex": 0, "_id": "94ty86DIJF0avZl6O1I7GB" }, - { - "__type__": "cc.Node", - "_name": "Label", - "_objFlags": 512, - "_parent": { - "__id__": 23 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 25 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 100, - "height": 40 - }, - "_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": "4fWr7e41ZPpYJvI6vP+AD0" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 24 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_string": "button", - "_N$string": "button", - "_fontSize": 20, - "_lineHeight": 40, - "_enableWrapText": false, - "_N$file": null, - "_isSystemFontUsed": true, - "_spacingX": 0, - "_batchAsBitmap": false, - "_styleFlags": 0, - "_underlineHeight": 0, - "_N$horizontalAlign": 1, - "_N$verticalAlign": 1, - "_N$fontFamily": "Arial", - "_N$overflow": 1, - "_N$cacheMode": 1, - "_id": "dduVKBa/tP9J5SOHdfymKE" - }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 23 + "__id__": 25 }, "_enabled": true, "_materials": [ @@ -1215,10 +1220,10 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" + "__uuid__": "b6ede43c-af51-4c1f-849c-e0d3d7f4f9bd" }, "_type": 1, - "_sizeMode": 0, + "_sizeMode": 1, "_fillType": 0, "_fillCenter": { "__type__": "cc.Vec2", @@ -1228,7 +1233,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "01g+tMB7RF4bxts75/150X" }, { @@ -1236,7 +1243,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 23 + "__id__": 25 }, "_enabled": true, "alignMode": 0, @@ -1263,7 +1270,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 22 + "__id__": 24 }, "_enabled": true, "_normalMaterial": null, @@ -1277,8 +1284,8 @@ ], "_N$interactable": true, "_N$enableAutoGrayEffect": false, - "_N$transition": 2, - "transition": 2, + "_N$transition": 3, + "transition": 3, "_N$normalColor": { "__type__": "cc.Color", "r": 230, @@ -1340,7 +1347,7 @@ "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e" }, "_N$target": { - "__id__": 23 + "__id__": 25 }, "_id": "2esgMwAepCjYmphoCmbewk" }, @@ -1409,7 +1416,7 @@ "localTest": true, "clientTestVersion": "1.0.2", "testVersion": { - "__id__": 17 + "__id__": 19 }, "_id": "50zCP3Mq9MKIKjMbohPY8j" } diff --git a/temp/BackupAssets/assets/prefab/Block.prefab b/temp/BackupAssets/assets/prefab/Block.prefab index 63f93ef..2270041 100644 --- a/temp/BackupAssets/assets/prefab/Block.prefab +++ b/temp/BackupAssets/assets/prefab/Block.prefab @@ -26,27 +26,48 @@ { "__id__": 8 }, + { + "__id__": 11 + }, + { + "__id__": 14 + }, + { + "__id__": 17 + }, + { + "__id__": 20 + }, { "__id__": 23 }, { - "__id__": 32 + "__id__": 26 }, { - "__id__": 35 + "__id__": 41 + }, + { + "__id__": 50 + }, + { + "__id__": 65 + }, + { + "__id__": 77 } ], "_active": true, "_components": [ { - "__id__": 38 + "__id__": 80 }, { - "__id__": 39 + "__id__": 81 } ], "_prefab": { - "__id__": 40 + "__id__": 82 }, "_opacity": 255, "_color": { @@ -97,7 +118,7 @@ }, { "__type__": "cc.Node", - "_name": "Reinforce", + "_name": "turnStart", "_objFlags": 0, "_parent": { "__id__": 1 @@ -112,7 +133,7 @@ "_prefab": { "__id__": 4 }, - "_opacity": 0, + "_opacity": 255, "_color": { "__type__": "cc.Color", "r": 255, @@ -174,6 +195,329 @@ ], "_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": "91pygXpylIc6WIV3bc0sSU", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "waterStart", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": false, + "_components": [ + { + "__id__": 6 + } + ], + "_prefab": { + "__id__": 7 + }, + "_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__": 5 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "e06f7c0f-f9f3-43ac-93f0-fee5ed6cf026" + }, + "_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": "561W77CSNGgo1dunNDNXCV", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "bg", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 9 + } + ], + "_prefab": { + "__id__": 10 + }, + "_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__": 8 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": null, + "_type": 0, + "_sizeMode": 1, + "_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": "f0HOqitqhA5L0HdoWHNWLD", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "Reinforce", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": false, + "_components": [ + { + "__id__": 12 + } + ], + "_prefab": { + "__id__": 13 + }, + "_opacity": 0, + "_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__": 11 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, "_spriteFrame": { "__uuid__": "02faa74f-fcb3-4c62-9ad7-c5bdabcd2a0a" }, @@ -215,11 +559,11 @@ "_active": false, "_components": [ { - "__id__": 6 + "__id__": 15 } ], "_prefab": { - "__id__": 7 + "__id__": 16 }, "_opacity": 0, "_color": { @@ -273,7 +617,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 5 + "__id__": 14 }, "_enabled": true, "_materials": [ @@ -313,16 +657,121 @@ }, { "__type__": "cc.Node", - "_name": "vertical", + "_name": "vertical2", "_objFlags": 0, "_parent": { "__id__": 1 }, - "_children": [ + "_children": [], + "_active": false, + "_components": [ { - "__id__": 9 + "__id__": 18 } ], + "_prefab": { + "__id__": 19 + }, + "_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__": 17 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "b76603e2-c166-4ce9-af37-417cdedde12e" + }, + "_type": 3, + "_sizeMode": 1, + "_fillType": 1, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "59m0Fk9O9EjJ2NMsw4izxI", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "turn2", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], "_active": false, "_components": [ { @@ -379,32 +828,254 @@ "groupIndex": 0, "_id": "" }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 20 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_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" + }, + "_type": 3, + "_sizeMode": 1, + "_fillType": 1, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "01QtN2Wm5KnJ0u3PlL426T", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "vertical", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 27 + } + ], + "_active": false, + "_components": [ + { + "__id__": 39 + } + ], + "_prefab": { + "__id__": 40 + }, + "_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.Node", "_name": "wave", "_objFlags": 0, "_parent": { - "__id__": 8 + "__id__": 26 }, "_children": [ { - "__id__": 10 + "__id__": 28 }, { - "__id__": 13 + "__id__": 31 }, { - "__id__": 16 + "__id__": 34 } ], "_active": true, "_components": [ { - "__id__": 19 + "__id__": 37 } ], "_prefab": { - "__id__": 20 + "__id__": 38 }, "_opacity": 255, "_color": { @@ -458,17 +1129,17 @@ "_name": "water1", "_objFlags": 0, "_parent": { - "__id__": 9 + "__id__": 27 }, "_children": [], "_active": true, "_components": [ { - "__id__": 11 + "__id__": 29 } ], "_prefab": { - "__id__": 12 + "__id__": 30 }, "_opacity": 255, "_color": { @@ -480,7 +1151,7 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 7, + "width": 8, "height": 128 }, "_anchorPoint": { @@ -493,7 +1164,7 @@ "ctor": "Float64Array", "array": [ -10.489, - -97.313, + -120, 0, 0, 0, @@ -522,7 +1193,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 10 + "__id__": 28 }, "_enabled": true, "_materials": [ @@ -533,7 +1204,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "5ae8f70d-1d21-404e-bb05-5d4ddddda803" + "__uuid__": "e498e92c-6f59-4675-8a5f-dea0cf949d66" }, "_type": 0, "_sizeMode": 1, @@ -546,7 +1217,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "" }, { @@ -565,17 +1238,17 @@ "_name": "water2", "_objFlags": 0, "_parent": { - "__id__": 9 + "__id__": 27 }, "_children": [], "_active": true, "_components": [ { - "__id__": 14 + "__id__": 32 } ], "_prefab": { - "__id__": 15 + "__id__": 33 }, "_opacity": 255, "_color": { @@ -600,7 +1273,7 @@ "ctor": "Float64Array", "array": [ 3.012, - -97.313, + -120, 0, 0, 0, @@ -629,7 +1302,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 13 + "__id__": 31 }, "_enabled": true, "_materials": [ @@ -640,7 +1313,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "e8ddc240-81ef-4d7f-a7c4-8c3ee4b94b4f" + "__uuid__": "61be84a2-2f2b-4274-a6ef-41d52c9555af" }, "_type": 0, "_sizeMode": 1, @@ -653,7 +1326,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "" }, { @@ -672,17 +1347,17 @@ "_name": "water3", "_objFlags": 0, "_parent": { - "__id__": 9 + "__id__": 27 }, "_children": [], "_active": true, "_components": [ { - "__id__": 17 + "__id__": 35 } ], "_prefab": { - "__id__": 18 + "__id__": 36 }, "_opacity": 255, "_color": { @@ -707,7 +1382,7 @@ "ctor": "Float64Array", "array": [ 12.416, - -97.313, + -120, 0, 0, 0, @@ -736,7 +1411,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 16 + "__id__": 34 }, "_enabled": true, "_materials": [ @@ -747,7 +1422,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "a6bbf444-2576-4c4c-a579-8d6fdcd5f724" + "__uuid__": "153f1f33-91bf-4f36-a33f-f042a187c02e" }, "_type": 0, "_sizeMode": 1, @@ -760,7 +1435,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "" }, { @@ -779,7 +1456,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 9 + "__id__": 27 }, "_enabled": true, "_materials": [ @@ -810,7 +1487,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 8 + "__id__": 26 }, "_enabled": true, "_materials": [ @@ -859,17 +1536,17 @@ }, "_children": [ { - "__id__": 24 + "__id__": 42 } ], "_active": false, "_components": [ { - "__id__": 30 + "__id__": 48 } ], "_prefab": { - "__id__": 31 + "__id__": 49 }, "_opacity": 255, "_color": { @@ -923,21 +1600,21 @@ "_name": "wave", "_objFlags": 0, "_parent": { - "__id__": 23 + "__id__": 41 }, "_children": [ { - "__id__": 25 + "__id__": 43 } ], "_active": true, "_components": [ { - "__id__": 28 + "__id__": 46 } ], "_prefab": { - "__id__": 29 + "__id__": 47 }, "_opacity": 255, "_color": { @@ -991,17 +1668,17 @@ "_name": "water", "_objFlags": 0, "_parent": { - "__id__": 24 + "__id__": 42 }, "_children": [], "_active": true, "_components": [ { - "__id__": 26 + "__id__": 44 } ], "_prefab": { - "__id__": 27 + "__id__": 45 }, "_opacity": 255, "_color": { @@ -1013,8 +1690,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 131, - "height": 128 + "width": 179, + "height": 179 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1055,7 +1732,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 25 + "__id__": 43 }, "_enabled": true, "_materials": [ @@ -1066,7 +1743,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "d9b04dd4-b22c-4268-bf73-ac34fda14bc5" + "__uuid__": "5f0d6504-1636-4144-8d9e-32364b96f8d1" }, "_type": 0, "_sizeMode": 1, @@ -1079,7 +1756,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "" }, { @@ -1098,7 +1777,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 24 + "__id__": 42 }, "_enabled": true, "_materials": [ @@ -1129,7 +1808,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 23 + "__id__": 41 }, "_enabled": true, "_materials": [ @@ -1176,15 +1855,19 @@ "_parent": { "__id__": 1 }, - "_children": [], + "_children": [ + { + "__id__": 51 + } + ], "_active": false, "_components": [ { - "__id__": 33 + "__id__": 63 } ], "_prefab": { - "__id__": 34 + "__id__": 64 }, "_opacity": 255, "_color": { @@ -1196,7 +1879,7 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 60, + "width": 96, "height": 96 }, "_anchorPoint": { @@ -1233,12 +1916,150 @@ "groupIndex": 0, "_id": "" }, + { + "__type__": "cc.Node", + "_name": "wave", + "_objFlags": 0, + "_parent": { + "__id__": 50 + }, + "_children": [ + { + "__id__": 52 + }, + { + "__id__": 55 + }, + { + "__id__": 58 + } + ], + "_active": true, + "_components": [ + { + "__id__": 61 + } + ], + "_prefab": { + "__id__": 62 + }, + "_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.Node", + "_name": "water1", + "_objFlags": 0, + "_parent": { + "__id__": 51 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 53 + } + ], + "_prefab": { + "__id__": 54 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 8, + "height": 128 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -10.489, + -120, + 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__": 32 + "__id__": 52 }, "_enabled": true, "_materials": [ @@ -1249,7 +2070,301 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "af8457b5-c84c-4585-9402-aee73193f450" + "__uuid__": "e498e92c-6f59-4675-8a5f-dea0cf949d66" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "4fbsAmb2xL9Z5ru7uF0kbu", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "water2", + "_objFlags": 0, + "_parent": { + "__id__": 51 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 56 + } + ], + "_prefab": { + "__id__": 57 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 8, + "height": 118 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 3.012, + -120, + 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__": 55 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "61be84a2-2f2b-4274-a6ef-41d52c9555af" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "a1XbxIz/pDM5yEnPY4GVrB", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "water3", + "_objFlags": 0, + "_parent": { + "__id__": 51 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 59 + } + ], + "_prefab": { + "__id__": 60 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 24, + "height": 138 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 12.416, + -120, + 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__": 58 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "153f1f33-91bf-4f36-a33f-f042a187c02e" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "3aiOLofOhI6LU6NH1etq12", + "sync": false + }, + { + "__type__": "cc.Mask", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 51 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_spriteFrame": null, + "_type": 0, + "_segments": 64, + "_N$alphaThreshold": 0.1, + "_N$inverted": false, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "88lwocuPBOz4+Ox3FYCDNN", + "sync": false + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 50 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "a867e23c-0cb2-4e4c-8b56-6d767ba3e3a7" }, "_type": 3, "_sizeMode": 1, @@ -1262,6 +2377,405 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "35xKcSVUZLopFFdXxCEm5O", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "sp", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 66 + }, + { + "__id__": 69 + }, + { + "__id__": 72 + } + ], + "_active": true, + "_components": [ + { + "__id__": 75 + } + ], + "_prefab": { + "__id__": 76 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 0, + "height": 0 + }, + "_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.Node", + "_name": "start", + "_objFlags": 0, + "_parent": { + "__id__": 65 + }, + "_children": [], + "_active": false, + "_components": [ + { + "__id__": 67 + } + ], + "_prefab": { + "__id__": 68 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 96, + "height": 36 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 28, + 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__": 66 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "76a60b7f-4c56-43e3-bd0c-2068fe3e6114" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "b9arqz+uVOoLBKt3S+yI2K", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "end", + "_objFlags": 0, + "_parent": { + "__id__": 65 + }, + "_children": [], + "_active": false, + "_components": [ + { + "__id__": 70 + } + ], + "_prefab": { + "__id__": 71 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 96, + "height": 36 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 30, + 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__": 69 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "d506451a-fe7c-41c7-9f9b-d2ad917c686c" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "7e0oRK9FRIQo7GCUOlzQGX", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "bg", + "_objFlags": 0, + "_parent": { + "__id__": 65 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 73 + } + ], + "_prefab": { + "__id__": 74 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 0, + "height": 0 + }, + "_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__": 72 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": null, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, "_atlas": null, "_id": "" }, @@ -1273,7 +2787,48 @@ "asset": { "__id__": 0 }, - "fileId": "35xKcSVUZLopFFdXxCEm5O", + "fileId": "84LEMr+CxNAYuAy0aJ2ERx", + "sync": false + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 65 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": null, + "_type": 0, + "_sizeMode": 1, + "_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": "96hwYYVvZIeJFUaZYzJVKS", "sync": false }, { @@ -1284,20 +2839,20 @@ "__id__": 1 }, "_children": [], - "_active": false, + "_active": true, "_components": [ { - "__id__": 36 + "__id__": 78 } ], "_prefab": { - "__id__": 37 + "__id__": 79 }, "_opacity": 0, "_color": { "__type__": "cc.Color", - "r": 0, - "g": 231, + "r": 255, + "g": 255, "b": 255, "a": 255 }, @@ -1345,7 +2900,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 35 + "__id__": 77 }, "_enabled": true, "_materials": [ @@ -1356,7 +2911,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "a23235d1-15db-4b95-8439-a2e005bfff91" + "__uuid__": "abd4feee-c0b1-4fd0-bc07-927f4c13eafe" }, "_type": 0, "_sizeMode": 0, @@ -1369,7 +2924,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "" }, { diff --git a/temp/BackupAssets/assets/prefab/mapTip.prefab b/temp/BackupAssets/assets/prefab/mapTip.prefab index 2ec95e0..3b648ed 100644 --- a/temp/BackupAssets/assets/prefab/mapTip.prefab +++ b/temp/BackupAssets/assets/prefab/mapTip.prefab @@ -36,8 +36,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 106, - "height": 98 + "width": 46, + "height": 46 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -55,8 +55,8 @@ 0, 0, 1, - 0.5, - 0.5, + 1, + 1, 0 ] }, @@ -89,7 +89,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "6b009d51-7e95-45c5-b483-f2948213f8b6" + "__uuid__": "86453b08-c95d-4dd7-be39-d7d97e3f93db" }, "_type": 0, "_sizeMode": 1, @@ -102,7 +102,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "" }, { diff --git a/temp/BackupAssets/assets/prefab/reinforce.prefab b/temp/BackupAssets/assets/prefab/reinforce.prefab index 97ca557..64e7a0f 100644 --- a/temp/BackupAssets/assets/prefab/reinforce.prefab +++ b/temp/BackupAssets/assets/prefab/reinforce.prefab @@ -29,15 +29,15 @@ "_opacity": 255, "_color": { "__type__": "cc.Color", - "r": 0, + "r": 255, "g": 255, - "b": 235, + "b": 255, "a": 255 }, "_contentSize": { "__type__": "cc.Size", - "width": 96, - "height": 96 + "width": 46, + "height": 46 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -55,8 +55,8 @@ 0, 0, 1, - 0.5, - 0.5, + 1, + 1, 0 ] }, @@ -89,7 +89,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "a3ef42a4-ab25-492d-b6c8-36d166c99a15" + "__uuid__": "b80f2487-005a-4928-bde5-04fa41aeda71" }, "_type": 0, "_sizeMode": 1, @@ -102,7 +102,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "" }, { diff --git a/temp/BackupAssets/assets/prefab/soil.prefab b/temp/BackupAssets/assets/prefab/soil.prefab new file mode 100644 index 0000000..e7aa293 --- /dev/null +++ b/temp/BackupAssets/assets/prefab/soil.prefab @@ -0,0 +1,121 @@ +[ + { + "__type__": "cc.Prefab", + "_name": "", + "_objFlags": 0, + "_native": "", + "data": { + "__id__": 1 + }, + "optimizationPolicy": 0, + "asyncLoadAssets": false, + "readonly": false + }, + { + "__type__": "cc.Node", + "_name": "soil", + "_objFlags": 0, + "_parent": null, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 2 + } + ], + "_prefab": { + "__id__": 3 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 46, + "height": 46 + }, + "_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, + 0 + ] + }, + "_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__": 1 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "c56d3750-ea9e-4a25-8ee4-ca2306c86f7e" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "", + "sync": false + } +] \ No newline at end of file diff --git a/temp/quick-scripts/dst/__file_stats__.json b/temp/quick-scripts/dst/__file_stats__.json index f976af9..df1f44e 100644 --- a/temp/quick-scripts/dst/__file_stats__.json +++ b/temp/quick-scripts/dst/__file_stats__.json @@ -1 +1 @@ -{"version":"1.0.8","stats":{"C:/Work/Project/WaterControl/temp/quick-scripts/src/__qc_index__.js":"2024-07-19T02:55:41.163Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/DynamicAtlasManager.js":"2024-07-19T02:55:40.961Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/tiledmap-optimize-resource/Script/TmoSprite.js":"2024-07-19T02:55:40.946Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/TmoDemo/Script/TmoGame.js":"2024-07-19T02:55:40.911Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/migration/use_v2.1-2.2.1_cc.Toggle_event.js":"2024-07-19T02:55:40.979Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/GameManager.js":"2024-07-19T02:55:40.988Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/GameOver.js":"2024-07-19T02:55:40.983Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/Map.js":"2024-07-19T02:55:40.925Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/GameScene.js":"2024-07-19T02:55:41.034Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/RankManager.js":"2024-07-19T02:55:41.031Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/Block.js":"2024-07-19T02:55:41.001Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/tiledmap-optimize-resource/Script/TmoTiledLayer.js":"2024-07-19T02:55:41.018Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/Load.js":"2024-07-19T02:55:40.940Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/ControlManager.js":"2024-07-19T02:55:41.021Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/tiledmap-optimize-resource/Script/TmoObjectGroup.js":"2024-07-19T02:55:40.930Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/tiledmap-optimize-resource/Script/TmoAssembler.js":"2024-07-19T02:55:40.921Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/tiledmap-optimize-resource/Script/TmoTiledMap.js":"2024-07-19T02:55:40.908Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/module/Crypto/HttpUtil.js":"2024-07-19T02:55:40.975Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/module/Notification/Notification.js":"2024-07-19T02:55:40.951Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/module/RankList/List.js":"2024-07-19T02:55:41.015Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/module/GameStart/GameAppStart.js":"2024-07-19T02:55:40.965Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/module/Tool/GameTool.js":"2024-07-19T02:55:40.934Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/module/Share/share.js":"2024-07-19T02:55:40.970Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/module/Music/AudioManager.js":"2024-07-19T02:55:40.957Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/module/Storage/Storage.js":"2024-07-19T02:55:40.916Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/module/Config/GameConfig.js":"2024-07-19T02:55:40.996Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/module/RankList/ItemRender.js":"2024-07-19T02:55:41.010Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/module/Crypto/crypto-js.min.js":"2024-07-19T02:55:41.026Z"}} +{"version":"1.0.8","stats":{"C:/Work/Project/WaterControl/temp/quick-scripts/src/__qc_index__.js":"2024-07-25T09:43:24.972Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/GameScene.js":"2024-07-25T09:43:24.941Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/tiledmap-optimize-resource/Script/TmoTiledLayer.js":"2024-07-25T09:43:24.934Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/TmoDemo/Script/TmoGame.js":"2024-07-25T09:43:24.898Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/migration/use_v2.1-2.2.1_cc.Toggle_event.js":"2024-07-25T09:43:24.924Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/RankManager.js":"2024-07-25T09:43:24.940Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/DynamicAtlasManager.js":"2024-07-25T09:43:24.916Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/GameOver.js":"2024-07-25T09:43:24.925Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/ControlManager.js":"2024-07-25T09:43:24.935Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/Map.js":"2024-07-25T09:43:24.906Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/Load.js":"2024-07-25T09:43:24.911Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/GameManager.js":"2024-07-25T09:43:24.927Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/tiledmap-optimize-resource/Script/TmoTiledMap.js":"2024-07-25T09:43:24.896Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/module/GameStart/GameAppStart.js":"2024-07-25T09:43:24.920Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/Block.js":"2024-07-25T09:43:24.929Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/tiledmap-optimize-resource/Script/TmoObjectGroup.js":"2024-07-25T09:43:24.907Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/tiledmap-optimize-resource/Script/TmoSprite.js":"2024-07-25T09:43:24.912Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/tiledmap-optimize-resource/Script/TmoAssembler.js":"2024-07-25T09:43:24.904Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/module/Crypto/HttpUtil.js":"2024-07-25T09:43:24.923Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/module/Storage/Storage.js":"2024-07-25T09:43:24.902Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/module/RankList/ItemRender.js":"2024-07-25T09:43:24.931Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/module/Share/share.js":"2024-07-25T09:43:24.921Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/module/Music/AudioManager.js":"2024-07-25T09:43:24.915Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/module/Notification/Notification.js":"2024-07-25T09:43:24.914Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/module/Tool/GameTool.js":"2024-07-25T09:43:24.909Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/module/Config/GameConfig.js":"2024-07-25T09:43:24.928Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/module/Crypto/crypto-js.min.js":"2024-07-25T09:43:24.938Z","C:/Work/Project/WaterControl/temp/quick-scripts/src/assets/Script/module/RankList/List.js":"2024-07-25T09:43:24.932Z"}} diff --git a/temp/quick-scripts/dst/__qc_bundle__.js b/temp/quick-scripts/dst/__qc_bundle__.js index c272b4f..977a4cb 100644 --- a/temp/quick-scripts/dst/__qc_bundle__.js +++ b/temp/quick-scripts/dst/__qc_bundle__.js @@ -50,1166 +50,6 @@ require('./tiledmap-optimize-resource/Script/TmoTiledMap'); })(); //------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/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/TmoDemo/Script/TmoGame.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, '0d96eU/lZVHW4W4yuZIhrlV', 'TmoGame'); -// TmoDemo/Script/TmoGame.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 -cc.Class({ - "extends": cc.Component, - properties: { - tiledMapAfter: cc.TiledMap, - tiledMapOrigin: cc.TiledMap - }, - start: function start() { - window.game = this; - var isAfter = true; // var isAfter = false; - - if (isAfter) { - this.tiledMapOrigin.node.active = false; - } else { - this.tiledMapAfter.node.active = false; - } - - this.addTimeLog(); - }, - addTimeLog: function addTimeLog() { - var renderCount = 1; - cc.director.on(cc.Director.EVENT_BEFORE_DRAW, function () { - if (renderCount < 200) { - console.time("render"); - } - }); - cc.director.on(cc.Director.EVENT_AFTER_DRAW, function () { - if (renderCount++ < 200) { - console.timeEnd("render"); - } - }); // cc.director.on(cc.Director.EVENT_BEFORE_UPDATE, ()=>{ - // if (renderCount < 200) { - // console.time("logic"); - // } - // }); - // cc.director.on(cc.Director.EVENT_AFTER_UPDATE, ()=>{ - // if (renderCount++ < 200) { - // console.timeEnd("logic"); - // } - // }); - } -}); - -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcVG1vRGVtb1xcU2NyaXB0XFxUbW9HYW1lLmpzIl0sIm5hbWVzIjpbImNjIiwiQ2xhc3MiLCJDb21wb25lbnQiLCJwcm9wZXJ0aWVzIiwidGlsZWRNYXBBZnRlciIsIlRpbGVkTWFwIiwidGlsZWRNYXBPcmlnaW4iLCJzdGFydCIsIndpbmRvdyIsImdhbWUiLCJpc0FmdGVyIiwibm9kZSIsImFjdGl2ZSIsImFkZFRpbWVMb2ciLCJyZW5kZXJDb3VudCIsImRpcmVjdG9yIiwib24iLCJEaXJlY3RvciIsIkVWRU5UX0JFRk9SRV9EUkFXIiwiY29uc29sZSIsInRpbWUiLCJFVkVOVF9BRlRFUl9EUkFXIiwidGltZUVuZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQUEsRUFBRSxDQUFDQyxLQUFILENBQVM7QUFDTCxhQUFTRCxFQUFFLENBQUNFLFNBRFA7QUFHTEMsRUFBQUEsVUFBVSxFQUFFO0FBQ1JDLElBQUFBLGFBQWEsRUFBRUosRUFBRSxDQUFDSyxRQURWO0FBRVJDLElBQUFBLGNBQWMsRUFBRU4sRUFBRSxDQUFDSztBQUZYLEdBSFA7QUFRTEUsRUFBQUEsS0FSSyxtQkFRSTtBQUNMQyxJQUFBQSxNQUFNLENBQUNDLElBQVAsR0FBYyxJQUFkO0FBQ0EsUUFBSUMsT0FBTyxHQUFHLElBQWQsQ0FGSyxDQUdMOztBQUVBLFFBQUlBLE9BQUosRUFBYTtBQUNULFdBQUtKLGNBQUwsQ0FBb0JLLElBQXBCLENBQXlCQyxNQUF6QixHQUFrQyxLQUFsQztBQUNILEtBRkQsTUFFTztBQUNILFdBQUtSLGFBQUwsQ0FBbUJPLElBQW5CLENBQXdCQyxNQUF4QixHQUFpQyxLQUFqQztBQUNIOztBQUVELFNBQUtDLFVBQUw7QUFDSCxHQXBCSTtBQXNCTEEsRUFBQUEsVUF0Qkssd0JBc0JTO0FBQ1YsUUFBSUMsV0FBVyxHQUFHLENBQWxCO0FBQ0FkLElBQUFBLEVBQUUsQ0FBQ2UsUUFBSCxDQUFZQyxFQUFaLENBQWVoQixFQUFFLENBQUNpQixRQUFILENBQVlDLGlCQUEzQixFQUE4QyxZQUFJO0FBQzlDLFVBQUlKLFdBQVcsR0FBRyxHQUFsQixFQUF1QjtBQUNuQkssUUFBQUEsT0FBTyxDQUFDQyxJQUFSLENBQWEsUUFBYjtBQUNIO0FBQ0osS0FKRDtBQU1BcEIsSUFBQUEsRUFBRSxDQUFDZSxRQUFILENBQVlDLEVBQVosQ0FBZWhCLEVBQUUsQ0FBQ2lCLFFBQUgsQ0FBWUksZ0JBQTNCLEVBQTZDLFlBQUk7QUFDN0MsVUFBSVAsV0FBVyxLQUFLLEdBQXBCLEVBQXlCO0FBQ3JCSyxRQUFBQSxPQUFPLENBQUNHLE9BQVIsQ0FBZ0IsUUFBaEI7QUFDSDtBQUNKLEtBSkQsRUFSVSxDQWVWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0g7QUFoREksQ0FBVCIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTGVhcm4gY2MuQ2xhc3M6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL2NsYXNzLmh0bWxcclxuLy8gTGVhcm4gQXR0cmlidXRlOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9yZWZlcmVuY2UvYXR0cmlidXRlcy5odG1sXHJcbi8vIExlYXJuIGxpZmUtY3ljbGUgY2FsbGJhY2tzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9saWZlLWN5Y2xlLWNhbGxiYWNrcy5odG1sXHJcblxyXG5jYy5DbGFzcyh7XHJcbiAgICBleHRlbmRzOiBjYy5Db21wb25lbnQsXHJcblxyXG4gICAgcHJvcGVydGllczoge1xyXG4gICAgICAgIHRpbGVkTWFwQWZ0ZXI6IGNjLlRpbGVkTWFwLFxyXG4gICAgICAgIHRpbGVkTWFwT3JpZ2luOiBjYy5UaWxlZE1hcCxcclxuICAgIH0sXHJcblxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHdpbmRvdy5nYW1lID0gdGhpcztcclxuICAgICAgICB2YXIgaXNBZnRlciA9IHRydWU7XHJcbiAgICAgICAgLy8gdmFyIGlzQWZ0ZXIgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgaWYgKGlzQWZ0ZXIpIHtcclxuICAgICAgICAgICAgdGhpcy50aWxlZE1hcE9yaWdpbi5ub2RlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudGlsZWRNYXBBZnRlci5ub2RlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5hZGRUaW1lTG9nKCk7XHJcbiAgICB9LFxyXG5cclxuICAgIGFkZFRpbWVMb2cgKCkge1xyXG4gICAgICAgIGxldCByZW5kZXJDb3VudCA9IDE7XHJcbiAgICAgICAgY2MuZGlyZWN0b3Iub24oY2MuRGlyZWN0b3IuRVZFTlRfQkVGT1JFX0RSQVcsICgpPT57XHJcbiAgICAgICAgICAgIGlmIChyZW5kZXJDb3VudCA8IDIwMCkge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS50aW1lKFwicmVuZGVyXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICBcclxuICAgICAgICBjYy5kaXJlY3Rvci5vbihjYy5EaXJlY3Rvci5FVkVOVF9BRlRFUl9EUkFXLCAoKT0+e1xyXG4gICAgICAgICAgICBpZiAocmVuZGVyQ291bnQrKyA8IDIwMCkge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS50aW1lRW5kKFwicmVuZGVyXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG5cclxuICAgICAgICAvLyBjYy5kaXJlY3Rvci5vbihjYy5EaXJlY3Rvci5FVkVOVF9CRUZPUkVfVVBEQVRFLCAoKT0+e1xyXG4gICAgICAgIC8vICAgICBpZiAocmVuZGVyQ291bnQgPCAyMDApIHtcclxuICAgICAgICAvLyAgICAgICAgIGNvbnNvbGUudGltZShcImxvZ2ljXCIpO1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfSk7XHJcbiAgICBcclxuICAgICAgICAvLyBjYy5kaXJlY3Rvci5vbihjYy5EaXJlY3Rvci5FVkVOVF9BRlRFUl9VUERBVEUsICgpPT57XHJcbiAgICAgICAgLy8gICAgIGlmIChyZW5kZXJDb3VudCsrIDwgMjAwKSB7XHJcbiAgICAgICAgLy8gICAgICAgICBjb25zb2xlLnRpbWVFbmQoXCJsb2dpY1wiKTtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH0pO1xyXG4gICAgfSxcclxuXHJcbn0pO1xyXG4iXX0= -//------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 等版本库,请将此脚本一并上传。 - */ -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/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; - return _this; - } - GameManager.prototype.onLoad = function () { - }; - GameManager.prototype.start = function () { - this.fit(); - this.init(); - }; - //初始化数据 - GameManager.prototype.init = function () { - this.initMap(); - }; - //初始化地图 - GameManager.prototype.initMap = function () { - this.block_Array = []; - this.path_Array = []; - this.map_Array = []; - this.map_Hight = 0; - this.map_Width = 0; - var arr = cc.fx.GameConfig.LEVEL_INFO[0][0].map; - //将地图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; - 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]); - 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)); - 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; - } - } - this.runWater(0); - }; - //开始执行洪峰来了的动画 - GameManager.prototype.runWater = function (order) { - order = parseInt(order); - 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"; - // 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"; - // } - } - 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 { - direction = this.getDirection(order); - } - } - else { - direction = this.getDirection(order); - } - } - // console.log(order,this.path_Array[order].x,this.path_Array[order].y,i); - var jg = this.getBoundary(order, this.path_Array[order].x, this.path_Array[order].y, direction); - if (direction == "" || jg == false) - return; - var target = this.block_Array[i].getComponent("Block"); - // console.log("步骤:",order,"方向",direction); - 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); - circulate = false; - return; - } - } - var data = { - order: order, - time: 0.2, - type: this.path_Array[order].z, - circulate: circulate - }; - target.runWater(data); - } - }; - //判断边界。或者撞山,或者湿地没有加固 - GameManager.prototype.getBoundary = function (order, x, y, direction) { - var jg = true; - if (x < 0 || x >= this.map_Width || y < 0 || y >= this.map_Hight) { - jg = false; - console.log("超过边界,游戏结束"); - alert("超过边界,游戏结束"); - } - else { - var i = this.path_Array[order].x * this.map_Array[0].length + this.path_Array[order].y; - var target = this.block_Array[i].getComponent("Block"); - if (target.block_Type == 3) { - jg = false; - console.log("修筑山峰,游戏结束"); - alert("修筑山峰,游戏结束"); - } - else if (target.block_Type == 2 && direction != "Reinforce") { - jg = false; - console.log("修筑未加固湿地,游戏结束"); - alert("修筑未加固湿地,游戏结束"); - } - } - return jg; - }; - //获取息壤的格子的方向 - GameManager.prototype.getXi_Soil = function (order) { - var direction = null; - //如果息壤后面还有下一步的话 - if (order + 1 < this.path_Array.length) { - direction = this.getDirection(order); - 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; - }; - //设置息壤 - GameManager.prototype.set_Soil = function (order) { - var direction = this.getXi_Soil(order); - var length = 0; - if (direction == "right") { - length = this.map_Width - 1; - for (var i = this.path_Array[order].x; i <= length; i++) { - var n = i * this.map_Array[0].length + this.path_Array[order].y; - var target = this.block_Array[n].getComponent("Block"); - if (target.block_Type == 3) { - length = i - 1; - i = 10000; - break; - } - } - } - else if (direction == "left") { - length = 0; - for (var i = this.path_Array[order].x; i >= length; i--) { - var n = i * this.map_Array[0].length + this.path_Array[order].y; - var target = this.block_Array[n].getComponent("Block"); - if (target.block_Type == 3) { - length = i + 1; - i = -1; - break; - } - } - } - else if (direction == "up") { - length = 0; - for (var i = this.path_Array[order].y; i >= length; i--) { - var n = this.path_Array[order].x * this.map_Array[0].length + i; - var target = this.block_Array[n].getComponent("Block"); - if (target.block_Type == 3) { - length = i + 1; - i = -1; - break; - } - } - } - else if (direction == "down") { - length = this.map_Hight - 1; - for (var i = this.path_Array[order].y; i <= length; i++) { - var n = this.path_Array[order].x * this.map_Array[0].length + i; - var target = this.block_Array[n].getComponent("Block"); - if (target.block_Type == 3) { - length = i - 1; - i = 10000; - break; - } - } - } - this.soil_Find(direction, order, length); - }; - //查找息壤蛮遗憾路径 - GameManager.prototype.soil_Find = function (direction, order, length) { - var start = this.path_Array[order].x; - if (direction == "right") { - for (var i = start; i <= length; i++) { - var n = i * this.map_Array[0].length + this.path_Array[order].y; - var target = this.block_Array[n].getComponent("Block"); - if (i == start) - target.set_Xi_SoilType(this.getDirection(order), null); - else { - var jg = null; - if (i == length) { - var number = i - start - 1; - this.changePath(order, number, false); - jg = order; - } - target.set_Xi_SoilType(direction, jg); - } - } - } - else if (direction == "left") { - for (var i = start; i >= length; i--) { - var n = i * this.map_Array[0].length + this.path_Array[order].y; - var target = this.block_Array[n].getComponent("Block"); - if (i == start) - target.set_Xi_SoilType(this.getDirection(order), null); - else { - var jg = null; - if (i == length) { - var number = i - start + 1; - this.changePath(order, number, false); - jg = order; - } - target.set_Xi_SoilType(direction, jg); - } - } - } - else if (direction == "up") { - start = this.path_Array[order].y; - for (var i = start; i >= length; i--) { - var n = this.path_Array[order].x * this.map_Array[0].length + i; - var target = this.block_Array[n].getComponent("Block"); - if (i == start) - target.set_Xi_SoilType(this.getDirection(order), null); - else { - var jg = null; - if (i == length) { - var number = i - start + 1; - this.changePath(order, number, true); - jg = order; - } - target.set_Xi_SoilType(direction, jg); - } - } - } - else if (direction == "down") { - start = this.path_Array[order].y; - for (var i = start; i <= length; i++) { - var n = this.path_Array[order].x * this.map_Array[0].length + i; - var target = this.block_Array[n].getComponent("Block"); - if (i == start) - target.set_Xi_SoilType(this.getDirection(order), null); - else { - var jg = null; - if (i == length) { - var number = i - start - 1; - this.changePath(order, number, true); - jg = order; - } - target.set_Xi_SoilType(direction, jg); - } - } - } - }; - //息壤过后改变修筑路径 - GameManager.prototype.changePath = function (order, number, direction) { - for (var i = (order + 1); i < this.path_Array.length; i++) { - if (!direction) - this.path_Array[i].x += (number); - else - this.path_Array[i].y += (number); - } - // // this.path_Array[data-1].x = 5; - // this.path_Array[data].x = 5; - }; - GameManager.prototype.changeMap = function (data) { - }; - //获取洪峰方向 - GameManager.prototype.getDirection = function (order) { - var name = ""; - //入海口比较复杂单独判断 - if (order == 0) { - var nextX = this.path_Array[order + 1].x - this.path_Array[order].x; - var nextY = this.path_Array[order].y - this.path_Array[order + 1].y; - //在底边 - if (this.path_Array[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 (this.path_Array[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 (this.path_Array[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 (this.path_Array[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 < this.path_Array.length) { - if (this.path_Array[order + 1].z == 6) - next = 2; - } - //用于判断此点的上一个点,是为了判断当前方块洪水七点,以及下一个移动方向,判断洪终点方向 - var nextX = this.path_Array[order + next].x - this.path_Array[order].x; - var nextY = this.path_Array[order].y - this.path_Array[order + next].y; - var previousX = this.path_Array[order].x - this.path_Array[order - 1].x; - var previousY = this.path_Array[order - 1].y - this.path_Array[order].y; - if (previousX == 0 && previousY == 0) { - previousX = this.path_Array[order].x - this.path_Array[order - 2].x; - previousY = this.path_Array[order - 2].y - this.path_Array[order].y; - } - 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) { - } - }; - //判断全面屏 - 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"); - }; - //下一关,或者重新开始,或者返回上一关,根据level决定 - GameManager.prototype.reStart = function (type) { - }; - //获取时间戳 - GameManager.prototype.getTime = function () { - var timestamp = new Date().getTime(); - return timestamp; - }; - //获胜 - GameManager.prototype.passLevel = function () { - }; - //失败 - GameManager.prototype.loseLevel = function (type) { - //1: 1649 - //2: 3646 - //3: 5546 - //4: 2600 - //5: 694 - }; - //开始游戏 - GameManager.prototype.startGame = function (data) { - this.setMap(data); - }; - //如果是倒计时 调用此方法 - GameManager.prototype.updateCountDownTime = function () { - if (this.countTime > 0) { - this.countTime -= 1; - // 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.unschedule(this.updateCountDownTime); - var time = 0; - this.gameOver(time); - } - } - }; - //上传每次操作数据 - GameManager.prototype.setData = function () { - cc.fx.GameTool.setGameData(); - }; - //上传排行榜数据 - GameManager.prototype.gameOver = function (time) { - cc.fx.GameTool.setRank(time); - this.node.getChildByName("GameOver").active = true; - this.node.getChildByName("GameOver").opacity = 0; - cc.tween(this.node.getChildByName("GameOver")) - .to(0.4, { opacity: 255 }) - .delay(2) - .to(0.4, { opacity: 50 }) - .call(function () { - cc.director.loadScene("OverScene"); - }) - .start(); - }; - GameManager.prototype.clickSun = function (data) { - }; - GameManager.prototype.nextWater = function () { - }; - GameManager.prototype.onEnable = function () { - cc.fx.Notifications.on(cc.fx.Message.control, this.clickSun, this); - cc.fx.Notifications.on(cc.fx.Message.next, 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.changeMap, this.changeMap, this); - }; - GameManager.prototype.onDisable = function () { - cc.fx.Notifications.off(cc.fx.Message.control, this.clickSun); - cc.fx.Notifications.off(cc.fx.Message.next, 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.changeMap, this.changeMap); - }; - GameManager.prototype.update = function (dt) { - }; - __decorate([ - property(cc.Node) - ], GameManager.prototype, "Map", void 0); - __decorate([ - property(cc.Prefab) - ], GameManager.prototype, "Block", 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpQ0FBb0M7QUFFcEMsU0FBUztBQUNILElBQUEsS0FBc0IsRUFBRSxDQUFDLFVBQVUsRUFBbEMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFpQixDQUFDO0FBRTFDO0lBQXlDLCtCQUFZO0lBQXJEO1FBQUEscUVBMmlCQztRQXhpQkcsU0FBRyxHQUFZLElBQUksQ0FBQztRQUdwQixXQUFLLEdBQWMsSUFBSSxDQUFDOztJQXFpQjVCLENBQUM7SUEzaEJHLDRCQUFNLEdBQU47SUFFQSxDQUFDO0lBQ0QsMkJBQUssR0FBTDtRQUNJLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBQ0QsT0FBTztJQUNQLDBCQUFJLEdBQUo7UUFDSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFFbkIsQ0FBQztJQUNELE9BQU87SUFDUCw2QkFBTyxHQUFQO1FBQ0ksSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNoRCxXQUFXO1FBRVgsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQUMsSUFBSSxFQUFFLENBQUM7WUFDaEMsT0FB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cnQgeyBCbG9ja1R5cGUgfSBmcm9tIFwiLi9CbG9ja1wiO1xyXG5cclxuLy8g5Li75ri45oiP5o6n5Yi257G7XHJcbmNvbnN0IHtjY2NsYXNzLCBwcm9wZXJ0eX0gPSBjYy5fZGVjb3JhdG9yO1xyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBHYW1lTWFuYWdlciBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcblxyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBNYXA6IGNjLk5vZGUgPSBudWxsO1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5QcmVmYWIpXHJcbiAgICBCbG9jazogY2MuUHJlZmFiID0gbnVsbDtcclxuXHJcbiAgICBjb3VudFRpbWU6IG51bWJlcjsgICAgICAvL+aAu+WAkuiuoeaXtlxyXG4gICAgYmxvY2tfQXJyYXk6IGFueTsgICAgICAgLy/miYDmnInlnZfmlbDnu4RcclxuICAgIHBhdGhfQXJyYXk6IGFueTsgICAgICAgIC8v5L+u562R6Lev5b6EXHJcbiAgICBtYXBfQXJyYXk6IGFueTsgICAgICAgICAvL+WcsOWbvuaVsOe7hFxyXG4gICAgd2F0ZXJfUGF0aEFyYXk6YW55OyAgICAgLy/mtKrls7Dot6/lvoRcclxuICAgIG1hcF9IaWdodDpudW1iZXI7ICAgICAgIC8v5Zyw5Zu+6auY5bqmXHJcbiAgICBtYXBfV2lkdGg6bnVtYmVyOyAgICAgICAvL+WcsOWbvuWuveW6plxyXG5cclxuICAgIG9uTG9hZCAoKSB7XHJcblxyXG4gICAgfVxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHRoaXMuZml0KCk7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcbiAgICAvL+WIneWni+WMluaVsOaNrlxyXG4gICAgaW5pdCgpe1xyXG4gICAgICAgIHRoaXMuaW5pdE1hcCgpO1xyXG5cclxuICAgIH1cclxuICAgIC8v5Yid5aeL5YyW5Zyw5Zu+XHJcbiAgICBpbml0TWFwKCl7XHJcbiAgICAgICAgdGhpcy5ibG9ja19BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMucGF0aF9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMubWFwX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5tYXBfSGlnaHQgPSAwO1xyXG4gICAgICAgIHRoaXMubWFwX1dpZHRoID0gMDtcclxuICAgICAgICBsZXQgYXJyID0gY2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPWzBdWzBdLm1hcDtcclxuICAgICAgICAvL+WwhuWcsOWbvngseei9tOWIh+aNolxyXG5cclxuICAgICAgICB0aGlzLm1hcF9BcnJheSA9IGFyclswXS5tYXAoKGl0ZW0sIGkpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIGFyci5tYXAoKHZhbCkgPT4gdmFsW2ldKVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgdGhpcy5tYXBfV2lkdGggPSB0aGlzLm1hcF9BcnJheS5sZW5ndGg7XHJcbiAgICAgICAgdGhpcy5tYXBfSGlnaHQgPSB0aGlzLm1hcF9BcnJheVswXS5sZW5ndGg7XHJcblxyXG4gICAgICAgIGZvcihsZXQgaT0wO2k8dGhpcy5tYXBfQXJyYXkubGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaj0wOyBqPHRoaXMubWFwX0FycmF5IFtpXS5sZW5ndGg7aisrKXtcclxuICAgICAgICAgICAgICAgIGxldCBibG9jayA9IGNjLmluc3RhbnRpYXRlKHRoaXMuQmxvY2spO1xyXG4gICAgICAgICAgICAgICAgYmxvY2sucGFyZW50PSB0aGlzLk1hcDtcclxuICAgICAgICAgICAgICAgIGJsb2NrLmdldENvbXBvbmVudChcIkJsb2NrXCIpLmluaXREYXRhKHRoaXMubWFwX0FycmF5IFtpXVtqXSk7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLm1hcF9BcnJheSBbaV1bal0gPT0gY2MuRW51bShCbG9ja1R5cGUpLlN0YXJ0KSB0aGlzLnBhdGhfQXJyYXkucHVzaChjYy52MyhpLGosY2MuRW51bShCbG9ja1R5cGUpLk5vbWFsKSk7XHJcbiAgICAgICAgICAgICAgICBibG9jay5zZXRQb3NpdGlvbihjYy52MigtYmxvY2sud2lkdGgqMi41ICsgaSpibG9jay53aWR0aCxibG9jay5oZWlnaHQqNCAtIGoqYmxvY2suaGVpZ2h0KSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJsb2NrX0FycmF5LnB1c2goYmxvY2spO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8v5byA5aeL5ZCO77yM5oyJ546p5a625pON5L2c77yM5bCG6Lev5b6E5Lit5Zyw5Zu+5Z2X5pS+5YWl5pWw57uE5LitXHJcbiAgICBzZXRNYXAoZGF0YSl7XHJcbiAgICAgICAgZm9yKGxldCBpPTA7IGk8ZGF0YS5sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgIGxldCBzdGFydCA9IHRoaXMucGF0aF9BcnJheVt0aGlzLnBhdGhfQXJyYXkubGVuZ3RoLTFdO1xyXG4gICAgICAgICAgICBzd2l0Y2goZGF0YVtpXSl7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwidXBcIjpcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhdGhfQXJyYXkucHVzaChjYy52MyhzdGFydC54LHN0YXJ0LnktMSxjYy5FbnVtKEJsb2NrVHlwZSkuTm9tYWwpKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJkb3duXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXRoX0FycmF5LnB1c2goY2MudjMoc3RhcnQueCxzdGFydC55KzEsY2MuRW51bShCbG9ja1R5cGUpLk5vbWFsKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwibGVmdFwiOlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGF0aF9BcnJheS5wdXNoKGNjLnYzKHN0YXJ0LngtMSxzdGFydC55LGNjLkVudW0oQmxvY2tUeXBlKS5Ob21hbCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBcInJpZ2h0XCI6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXRoX0FycmF5LnB1c2goY2MudjMoc3RhcnQueCsxLHN0YXJ0LnksY2MuRW51bShCbG9ja1R5cGUpLk5vbWFsKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwicmVpbmZvcmNlXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXRoX0FycmF5LnB1c2goY2MudjMoc3RhcnQueCxzdGFydC55LGNjLkVudW0oQmxvY2tUeXBlKS5SZWluZm9yY2UpKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJzb2lsXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXRoX0FycmF5LnB1c2goY2MudjMoc3RhcnQueCxzdGFydC55LGNjLkVudW0oQmxvY2tUeXBlKS5YaV9Tb2lsKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMucnVuV2F0ZXIoMCk7XHJcbiAgICB9XHJcbiAgICAvL+W8gOWni+aJp+ihjOa0quWzsOadpeS6hueahOWKqOeUu1xyXG4gICAgcnVuV2F0ZXIob3JkZXIpe1xyXG4gICAgICAgIG9yZGVyID0gcGFyc2VJbnQob3JkZXIpO1xyXG4gICAgICAgIGlmKG9yZGVyIDw9IHRoaXMucGF0aF9BcnJheS5sZW5ndGgtMSl7XHJcbiAgICAgICAgICAgIGxldCBpID0gdGhpcy5wYXRoX0FycmF5W29yZGVyXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCt0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnk7XHJcbiAgICAgICAgICAgIGxldCBkaXJlY3Rpb24gPSBcIlwiO1xyXG4gICAgICAgICAgICBsZXQgY2lyY3VsYXRlID0gdHJ1ZTtcclxuICAgICAgICAgICAgaWYob3JkZXIgPT0gdGhpcy5wYXRoX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgICAgIGNpcmN1bGF0ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJFbmRcIjtcclxuICAgICAgICAgICAgICAgIC8vIGlmKGRpcmVjdGlvbiA9PSBcInVwXCIgfHwgZGlyZWN0aW9uID09IFwicmlnaHRfdXBcIiB8fCBkaXJlY3Rpb24gPT0gXCJsZWZ0X3VwXCIpe1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIGRpcmVjdGlvbiA9IFwidXBcIjtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIC8vIGVsc2UgaWYoZGlyZWN0aW9uID09IFwiZG93blwiIHx8IGRpcmVjdGlvbiA9PSBcImxlZnRfZG93blwiIHx8IGRpcmVjdGlvbiA9PSBcInJpZ2h0X2Rvd25cIil7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgZGlyZWN0aW9uID0gXCJkb3duXCI7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAvLyBlbHNlIGlmKGRpcmVjdGlvbiA9PSBcImxlZnRcIiB8fCBkaXJlY3Rpb24gPT0gXCJ1cF9sZWZ0XCIgfHwgZGlyZWN0aW9uID09IFwiZG93bl9sZWZ0XCIpe1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIGRpcmVjdGlvbiA9IFwibGVmdFwiO1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgLy8gZWxzZSBpZihkaXJlY3Rpb24gPT0gXCJyaWdodFwiIHx8IGRpcmVjdGlvbiA9PSBcInVwX3JpZ2h0XCIgfHwgZGlyZWN0aW9uID09IFwiZG93bl9yaWdodFwiKXtcclxuICAgICAgICAgICAgICAgIC8vICAgICBkaXJlY3Rpb24gPSBcInJpZ2h0XCI7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuXHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnogPT0gNiAmJiBvcmRlciArIDEgPCB0aGlzLnBhdGhfQXJyYXkubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJSZWluZm9yY2VcIjtcclxuICAgICAgICAgICAgICAgICAgICBpID0gdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLngqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3RoaXMucGF0aF9BcnJheVtvcmRlcisxXS55O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihvcmRlcisxIDwgdGhpcy5wYXRoX0FycmF5Lmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLnogPT0gNSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFwiWGlfU29pbFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSB0aGlzLmdldERpcmVjdGlvbihvcmRlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSB0aGlzLmdldERpcmVjdGlvbihvcmRlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2cob3JkZXIsdGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSxpKTtcclxuICAgICAgICAgICAgbGV0IGpnID0gdGhpcy5nZXRCb3VuZGFyeShvcmRlcix0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngsdGhpcy5wYXRoX0FycmF5W29yZGVyXS55LGRpcmVjdGlvbik7XHJcblxyXG4gICAgICAgICAgICBpZihkaXJlY3Rpb24gPT0gXCJcIiB8fCBqZyA9PSBmYWxzZSkgcmV0dXJuO1xyXG4gICAgICAgICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5ibG9ja19BcnJheVtpXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLmraXpqqQ6XCIsb3JkZXIsXCLmlrnlkJFcIixkaXJlY3Rpb24pO1xyXG4gICAgICAgICAgICB0YXJnZXQuc2V0UGF0aChkaXJlY3Rpb24pO1xyXG4gICAgICAgICAgICBpZihvcmRlciA+IDAgJiYgb3JkZXIgPCB0aGlzLnBhdGhfQXJyYXkubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLnogPT0gNSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRfU29pbChvcmRlcisxKTtcclxuICAgICAgICAgICAgICAgICAgICBjaXJjdWxhdGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjpvcmRlcixcclxuICAgICAgICAgICAgICAgIHRpbWU6MC4yLFxyXG4gICAgICAgICAgICAgICAgdHlwZTp0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnosXHJcbiAgICAgICAgICAgICAgICBjaXJjdWxhdGU6Y2lyY3VsYXRlXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRhcmdldC5ydW5XYXRlcihkYXRhKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+WIpOaWrei+ueeVjOOAguaIluiAheaSnuWxse+8jOaIluiAhea5v+WcsOayoeacieWKoOWbulxyXG4gICAgZ2V0Qm91bmRhcnkob3JkZXIseCx5LGRpcmVjdGlvbil7XHJcbiAgICAgICAgbGV0IGpnID0gdHJ1ZTtcclxuICAgICAgICBpZih4IDwgMCB8fCB4ID49IHRoaXMubWFwX1dpZHRoIHx8IHkgPCAwIHx8IHkgPj0gdGhpcy5tYXBfSGlnaHQpe1xyXG4gICAgICAgICAgICBqZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIui2hei/h+i+ueeVjO+8jOa4uOaIj+e7k+adn1wiKTtcclxuICAgICAgICAgICAgYWxlcnQoXCLotoXov4fovrnnlYzvvIzmuLjmiI/nu5PmnZ9cIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBsZXQgaSA9IHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgrdGhpcy5wYXRoX0FycmF5W29yZGVyXS55O1xyXG4gICAgICAgICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5ibG9ja19BcnJheVtpXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgICAgICAgICAgaWYodGFyZ2V0LmJsb2NrX1R5cGUgPT0gMyl7XHJcbiAgICAgICAgICAgICAgICBqZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCLkv67nrZHlsbHls7DvvIzmuLjmiI/nu5PmnZ9cIik7XHJcbiAgICAgICAgICAgICAgICBhbGVydChcIuS/ruetkeWxseWzsO+8jOa4uOaIj+e7k+adn1wiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRhcmdldC5ibG9ja19UeXBlID09IDIgJiYgZGlyZWN0aW9uICE9IFwiUmVpbmZvcmNlXCIpe1xyXG4gICAgICAgICAgICAgICAgamcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5L+u562R5pyq5Yqg5Zu65rm/5ZywLOa4uOaIj+e7k+adn1wiKTtcclxuICAgICAgICAgICAgICAgIGFsZXJ0KFwi5L+u562R5pyq5Yqg5Zu65rm/5ZywLOa4uOaIj+e7k+adn1wiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gamc7XHJcbiAgICB9XHJcblxyXG4gICAgLy/ojrflj5bmga/lo6TnmoTmoLzlrZDnmoTmlrnlkJFcclxuICAgIGdldFhpX1NvaWwob3JkZXIpe1xyXG4gICAgICAgIHZhciBkaXJlY3Rpb24gPSBudWxsO1xyXG4gICAgICAgIC8v5aaC5p6c5oGv5aOk5ZCO6Z2i6L+Y5pyJ5LiL5LiA5q2l55qE6K+dXHJcbiAgICAgICAgaWYob3JkZXIgKyAxIDwgdGhpcy5wYXRoX0FycmF5Lmxlbmd0aCl7XHJcbiAgICAgICAgICAgIGRpcmVjdGlvbiA9IHRoaXMuZ2V0RGlyZWN0aW9uKG9yZGVyKTtcclxuICAgICAgICAgICAgaWYoZGlyZWN0aW9uID09IFwidXBcIiB8fCBkaXJlY3Rpb24gPT0gXCJyaWdodF91cFwiIHx8IGRpcmVjdGlvbiA9PSBcImxlZnRfdXBcIil7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcInVwXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZihkaXJlY3Rpb24gPT0gXCJkb3duXCIgfHwgZGlyZWN0aW9uID09IFwibGVmdF9kb3duXCIgfHwgZGlyZWN0aW9uID09IFwicmlnaHRfZG93blwiKXtcclxuICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFwiZG93blwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwibGVmdFwiIHx8IGRpcmVjdGlvbiA9PSBcInVwX2xlZnRcIiB8fCBkaXJlY3Rpb24gPT0gXCJkb3duX2xlZnRcIil7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcImxlZnRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKGRpcmVjdGlvbiA9PSBcInJpZ2h0XCIgfHwgZGlyZWN0aW9uID09IFwidXBfcmlnaHRcIiB8fCBkaXJlY3Rpb24gPT0gXCJkb3duX3JpZ2h0XCIpe1xyXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJyaWdodFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSAgXHJcbiAgICAgICAgcmV0dXJuIGRpcmVjdGlvbjtcclxuICAgIH1cclxuICAgIC8v6K6+572u5oGv5aOkXHJcbiAgICBzZXRfU29pbChvcmRlcil7XHJcbiAgICAgICAgdmFyIGRpcmVjdGlvbiA9IHRoaXMuZ2V0WGlfU29pbChvcmRlcik7XHJcbiAgICAgICAgdmFyIGxlbmd0aCA9IDA7XHJcbiAgICAgICAgaWYoZGlyZWN0aW9uID09IFwicmlnaHRcIil7XHJcbiAgICAgICAgICAgIGxlbmd0aCA9IHRoaXMubWFwX1dpZHRoIC0gMTtcclxuICAgICAgICAgICAgZm9yKGxldCBpPXRoaXMucGF0aF9BcnJheVtvcmRlcl0ueDtpPD1sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gaSp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgrdGhpcy5wYXRoX0FycmF5W29yZGVyXS55O1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbbl0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSAzKXtcclxuICAgICAgICAgICAgICAgICAgICBsZW5ndGggPSBpLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgaSA9IDEwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgICAgICBlbHNlIGlmKGRpcmVjdGlvbiA9PSBcImxlZnRcIil7XHJcbiAgICAgICAgICAgIGxlbmd0aCA9IDA7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT10aGlzLnBhdGhfQXJyYXlbb3JkZXJdLng7aT49bGVuZ3RoO2ktLSl7XHJcbiAgICAgICAgICAgICAgICBsZXQgbiA9IGkqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3RoaXMucGF0aF9BcnJheVtvcmRlcl0ueTtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W25dLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYodGFyZ2V0LmJsb2NrX1R5cGUgPT0gMyl7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVuZ3RoID0gaSsxO1xyXG4gICAgICAgICAgICAgICAgICAgIGkgPSAtMTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICAgICAgZWxzZSBpZihkaXJlY3Rpb24gPT0gXCJ1cFwiKXtcclxuICAgICAgICAgICAgbGVuZ3RoID0gMDtcclxuICAgICAgICAgICAgZm9yKGxldCBpPXRoaXMucGF0aF9BcnJheVtvcmRlcl0ueTtpPj1sZW5ndGg7aS0tKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gdGhpcy5wYXRoX0FycmF5W29yZGVyXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtpO1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbbl0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSAzKXtcclxuICAgICAgICAgICAgICAgICAgICBsZW5ndGggPSBpKzE7XHJcbiAgICAgICAgICAgICAgICAgICAgaSA9IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgICAgICBlbHNlIGlmKGRpcmVjdGlvbiA9PSBcImRvd25cIil7XHJcbiAgICAgICAgICAgIGxlbmd0aCA9IHRoaXMubWFwX0hpZ2h0IC0gMTtcclxuICAgICAgICAgICAgZm9yKGxldCBpPXRoaXMucGF0aF9BcnJheVtvcmRlcl0ueTtpPD1sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gdGhpcy5wYXRoX0FycmF5W29yZGVyXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtpO1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbbl0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSAzKXtcclxuICAgICAgICAgICAgICAgICAgICBsZW5ndGggPSAgaS0xO1xyXG4gICAgICAgICAgICAgICAgICAgIGkgPSAxMDAwMDtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcblxyXG4gICAgICAgIHRoaXMuc29pbF9GaW5kKGRpcmVjdGlvbixvcmRlcixsZW5ndGgpO1xyXG4gICAgfVxyXG4gICAgLy/mn6Xmib7mga/lo6Tom67pgZfmhr7ot6/lvoRcclxuICAgIHNvaWxfRmluZChkaXJlY3Rpb24sb3JkZXIsbGVuZ3RoKXtcclxuICAgICAgICBsZXQgc3RhcnQgPSB0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLng7XHJcbiAgICAgICAgaWYoZGlyZWN0aW9uID09IFwicmlnaHRcIil7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaSA9IHN0YXJ0OyBpPD1sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgICAgICBsZXQgbiA9IGkqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3RoaXMucGF0aF9BcnJheVtvcmRlcl0ueTtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W25dLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYoaSA9PSBzdGFydCkgIHRhcmdldC5zZXRfWGlfU29pbFR5cGUodGhpcy5nZXREaXJlY3Rpb24ob3JkZXIpLG51bGwpO1xyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGpnID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICBpZihpID09IGxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBudW1iZXIgPSBpIC0gc3RhcnQgLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlUGF0aChvcmRlcixudW1iZXIsZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqZyA9IG9yZGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldC5zZXRfWGlfU29pbFR5cGUoZGlyZWN0aW9uLGpnKTtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH0gICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICAgICAgZWxzZSBpZihkaXJlY3Rpb24gPT0gXCJsZWZ0XCIpe1xyXG4gICAgICAgICAgICBmb3IobGV0IGkgPSBzdGFydDsgaT49bGVuZ3RoOyBpLS0pe1xyXG4gICAgICAgICAgICAgICAgbGV0IG4gPSBpKnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCt0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnk7XHJcbiAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5ibG9ja19BcnJheVtuXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZihpID09IHN0YXJ0KSAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZSh0aGlzLmdldERpcmVjdGlvbihvcmRlciksbnVsbCk7XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgamcgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGkgPT0gbGVuZ3RoKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG51bWJlciA9IGkgLSBzdGFydCArIDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlUGF0aChvcmRlcixudW1iZXIsZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqZyA9IG9yZGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZShkaXJlY3Rpb24samcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgICAgICBlbHNlIGlmKGRpcmVjdGlvbiA9PSBcInVwXCIpe1xyXG4gICAgICAgICAgICBzdGFydCA9IHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueTtcclxuICAgICAgICAgICAgZm9yKGxldCBpID0gc3RhcnQ7IGk+PWxlbmd0aDsgaS0tKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gdGhpcy5wYXRoX0FycmF5W29yZGVyXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtpO1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbbl0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICBpZihpID09IHN0YXJ0KSAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZSh0aGlzLmdldERpcmVjdGlvbihvcmRlciksbnVsbCk7XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgamcgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGkgPT0gbGVuZ3RoKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG51bWJlciA9IGkgLSBzdGFydCArIDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlUGF0aChvcmRlcixudW1iZXIsdHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGpnID0gb3JkZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQuc2V0X1hpX1NvaWxUeXBlKGRpcmVjdGlvbixqZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwiZG93blwiKXtcclxuICAgICAgICAgICAgc3RhcnQgPSB0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnk7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaSA9IHN0YXJ0OyBpPD1sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgICAgICBsZXQgbiA9IHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgraTtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W25dLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYoaSA9PSBzdGFydCkgIHRhcmdldC5zZXRfWGlfU29pbFR5cGUodGhpcy5nZXREaXJlY3Rpb24ob3JkZXIpLG51bGwpO1xyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGpnID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICBpZihpID09IGxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBudW1iZXIgPSBpIC0gc3RhcnQgLSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVBhdGgob3JkZXIsbnVtYmVyLHRydWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqZyA9IG9yZGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZShkaXJlY3Rpb24samcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuXHJcbiAgICAvL+aBr+WjpOi/h+WQjuaUueWPmOS/ruetkei3r+W+hFxyXG4gICAgY2hhbmdlUGF0aChvcmRlcixudW1iZXIsZGlyZWN0aW9uKXtcclxuICAgICAgICBmb3IobGV0IGkgPSAob3JkZXIrMSk7IGk8dGhpcy5wYXRoX0FycmF5Lmxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgaWYoIWRpcmVjdGlvbil0aGlzLnBhdGhfQXJyYXlbaV0ueCArPSAobnVtYmVyKTtcclxuICAgICAgICAgICAgZWxzZSB0aGlzLnBhdGhfQXJyYXlbaV0ueSArPSAobnVtYmVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gLy8gdGhpcy5wYXRoX0FycmF5W2RhdGEtMV0ueCA9IDU7XHJcbiAgICAgICAgLy8gdGhpcy5wYXRoX0FycmF5W2RhdGFdLnggPSA1O1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBjaGFuZ2VNYXAoZGF0YSl7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC8v6I635Y+W5rSq5bOw5pa55ZCRXHJcbiAgICBnZXREaXJlY3Rpb24ob3JkZXIpe1xyXG4gICAgICAgIHZhciBuYW1lID0gXCJcIjtcclxuICAgICAgICAvL+WFpea1t+WPo+avlOi+g+WkjeadguWNleeLrOWIpOaWrVxyXG4gICAgICAgIGlmKG9yZGVyID09IDApe1xyXG4gICAgICAgICAgICBsZXQgbmV4dFggPSB0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueCAtIHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueDtcclxuICAgICAgICAgICAgbGV0IG5leHRZID0gdGhpcy5wYXRoX0FycmF5W29yZGVyXS55IC0gdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLnk7XHJcbiAgICAgICAgICAgIC8v5Zyo5bqV6L65XHJcbiAgICAgICAgICAgIGlmKHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSA9PSB0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgtMSl7XHJcbiAgICAgICAgICAgICAgICBpZihuZXh0WCA9PSAwKXtcclxuICAgICAgICAgICAgICAgICAgICBpZihuZXh0WSA9PSAxKW5hbWUgPSBcInVwXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WSA9PSAtMSkgbmFtZSA9IFwiZXJyXCI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IDEpIG5hbWUgPSBcInVwX3JpZ2h0XCI7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IC0xKSBuYW1lID0gXCJ1cF9sZWZ0XCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy/lnKjpobbovrlcclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnkgPT0gMCl7XHJcbiAgICAgICAgICAgICAgICBpZihuZXh0WCA9PSAwKXtcclxuICAgICAgICAgICAgICAgICAgICBpZihuZXh0WSA9PSAxKW5hbWUgPSBcImVyclwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFkgPT0gLTEpIG5hbWUgPSBcImRvd25cIjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFggPT0gMSkgbmFtZSA9IFwiZG93bl9yaWdodFwiO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAtMSkgbmFtZSA9IFwiZG93bl9sZWZ0XCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy/lnKjlt6bovrlcclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICBpZihuZXh0WCA9PSAwKXtcclxuICAgICAgICAgICAgICAgICAgICBpZihuZXh0WSA9PSAxKW5hbWUgPSBcInJpZ2h0X3VwXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WSA9PSAtMSkgbmFtZSA9IFwicmlnaHRfZG93blwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAxKSBuYW1lID0gXCJyaWdodFwiO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAtMSkgbmFtZSA9IFwiZXJyXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy/lnKjlj7PovrlcclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnggPT0gdGhpcy5tYXBfQXJyYXkubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgaWYobmV4dFggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYobmV4dFkgPT0gMSluYW1lID0gXCJsZWZ0X3VwXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WSA9PSAtMSkgbmFtZSA9IFwibGVmdF9kb3duXCI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IDEpIG5hbWUgPSBcImVyclwiO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAtMSkgbmFtZSA9IFwibGVmdFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8v5LiN5piv56ys5LiA5q2l77yM5bey57uP6LWw6L+H5LiA5q2lXHJcbiAgICAgICAgZWxzZSBpZihvcmRlciA+IDApe1xyXG4gICAgICAgICAgICB2YXIgbmV4dCA9IDE7XHJcbiAgICAgICAgICAgIGlmKG9yZGVyKzIgPCB0aGlzLnBhdGhfQXJyYXkubGVuZ3RoKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS56ID09IDYpIG5leHQgPSAyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgIFxyXG4gICAgICAgICAgICAvL+eUqOS6juWIpOaWreatpOeCueeahOS4iuS4gOS4queCue+8jOaYr+S4uuS6huWIpOaWreW9k+WJjeaWueWdl+a0quawtOS4g+eCue+8jOS7peWPiuS4i+S4gOS4quenu+WKqOaWueWQke+8jOWIpOaWrea0que7iOeCueaWueWQkVxyXG4gICAgICAgICAgICBsZXQgbmV4dFggPSB0aGlzLnBhdGhfQXJyYXlbb3JkZXIrbmV4dF0ueCAtIHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueDtcclxuICAgICAgICAgICAgbGV0IG5leHRZID0gdGhpcy5wYXRoX0FycmF5W29yZGVyXS55IC0gdGhpcy5wYXRoX0FycmF5W29yZGVyK25leHRdLnlcclxuICAgICAgICAgICAgbGV0IHByZXZpb3VzWCA9IHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCAtIHRoaXMucGF0aF9BcnJheVtvcmRlci0xXS54O1xyXG4gICAgICAgICAgICBsZXQgcHJldmlvdXNZID0gdGhpcy5wYXRoX0FycmF5W29yZGVyLTFdLnkgLSB0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnk7XHJcbiAgICAgICAgICAgIGlmKHByZXZpb3VzWCA9PSAwICYmIHByZXZpb3VzWSA9PSAwKXtcclxuICAgICAgICAgICAgICAgIHByZXZpb3VzWCA9IHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCAtIHRoaXMucGF0aF9BcnJheVtvcmRlci0yXS54O1xyXG4gICAgICAgICAgICAgICAgcHJldmlvdXNZID0gdGhpcy5wYXRoX0FycmF5W29yZGVyLTJdLnkgLSB0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYocHJldmlvdXNYID09IDAgJiYgcHJldmlvdXNZID49IDEpe1xyXG4gICAgICAgICAgICAgICAgaWYobmV4dFggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYobmV4dFkgPT0gMSluYW1lID0gXCJ1cFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFkgPT0gLTEpIG5hbWUgPSBcImVyclwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAxKSBuYW1lID0gXCJ1cF9yaWdodFwiO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAtMSkgbmFtZSA9IFwidXBfbGVmdFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYocHJldmlvdXNYID09IDAgJiYgcHJldmlvdXNZIDw9IC0xKXtcclxuICAgICAgICAgICAgICAgIGlmKG5leHRYID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKG5leHRZID09IDEpbmFtZSA9IFwiZXJyXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WSA9PSAtMSkgbmFtZSA9IFwiZG93blwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAxKSBuYW1lID0gXCJkb3duX3JpZ2h0XCI7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IC0xKSBuYW1lID0gXCJkb3duX2xlZnRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHByZXZpb3VzWCA+PSAxICYmIHByZXZpb3VzWSA9PSAwKXtcclxuICAgICAgICAgICAgICAgIGlmKG5leHRYID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKG5leHRZID09IDEpbmFtZSA9IFwicmlnaHRfdXBcIjtcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRZID09IC0xKSBuYW1lID0gXCJyaWdodF9kb3duXCI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IDEpIG5hbWUgPSBcInJpZ2h0XCI7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IC0xKSBuYW1lID0gXCJlcnJcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHByZXZpb3VzWCA8PSAtMSAmJiBwcmV2aW91c1kgPT0gMCl7XHJcbiAgICAgICAgICAgICAgICBpZihuZXh0WCA9PSAwKXtcclxuICAgICAgICAgICAgICAgICAgICBpZihuZXh0WSA9PSAxKW5hbWUgPSBcImxlZnRfdXBcIjtcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRZID09IC0xKSBuYW1lID0gXCJsZWZ0X2Rvd25cIjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFggPT0gMSkgbmFtZSA9IFwiZXJyXCI7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IC0xKSBuYW1lID0gXCJsZWZ0XCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBuYW1lIDtcclxuICAgIH1cclxuXHJcbiAgICAvL+agueaNruaYr+WQpuWFqOmdouWxj++8jOWBmueLrOeri+mAgumFjeaWuemdolxyXG4gICAgZml0KCl7XHJcbiAgICAgICAgdmFyIGpnID0gdGhpcy5zZXRGaXQoKTtcclxuICAgICAgICBpZighamcpe1xyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+WIpOaWreWFqOmdouWxj1xyXG4gICAgZ2V0U2V0U2NyZWVuUmVzb2x1dGlvbkZsYWcgKCkge1xyXG4gICAgICAgIGxldCBzaXplID0gY2Mud2luU2l6ZTtcclxuICAgICAgICBsZXQgd2lkdGggPSBzaXplLndpZHRoO1xyXG4gICAgICAgIGxldCBoZWlnaHQgPSBzaXplLmhlaWdodDtcclxuICAgICAgICBpZiAoKGhlaWdodCAvIHdpZHRoKSA+ICgxNi4yIC8gOSkpIHJldHVybiBmYWxzZTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIC8v5Yik5pat5YWo6Z2i5bGP6YCC6YWNXHJcbiAgICBzZXRGaXQgKCkge1xyXG4gICAgICAgIGxldCBmbGFnID0gdGhpcy5nZXRTZXRTY3JlZW5SZXNvbHV0aW9uRmxhZygpO1xyXG4gICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZsYWc7XHJcbiAgICB9XHJcbiAgICAvL+i/lOWbnummlumhtVxyXG4gICAgYmFja1NjZW5lKCl7XHJcbiAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiTG9hZFNjZW5lXCIpO1xyXG4gICAgfVxyXG4gICAgLy/kuIvkuIDlhbPvvIzmiJbogIXph43mlrDlvIDlp4vvvIzmiJbogIXov5Tlm57kuIrkuIDlhbPvvIzmoLnmja5sZXZlbOWGs+WumlxyXG4gICAgcmVTdGFydCh0eXBlKXtcclxuXHJcbiAgICB9XHJcbiAgICAvL+iOt+WPluaXtumXtOaIs1xyXG4gICAgZ2V0VGltZSgpe1xyXG4gICAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIHJldHVybiB0aW1lc3RhbXA7XHJcbiAgICB9XHJcbiAgICAvL+iOt+iDnFxyXG4gICAgcGFzc0xldmVsKCl7XHJcblxyXG4gICAgfVxyXG4gICAgLy/lpLHotKVcclxuICAgIGxvc2VMZXZlbCh0eXBlKXtcclxuICAgICAgICAvLzE6ICAxNjQ5XHJcbiAgICAgICAgLy8yOiAgMzY0NlxyXG4gICAgICAgIC8vMzogIDU1NDZcclxuICAgICAgICAvLzQ6ICAyNjAwXHJcbiAgICAgICAgLy81OiAgNjk0XHJcbiAgICB9XHJcblxyXG4gICAgLy/lvIDlp4vmuLjmiI9cclxuICAgIHN0YXJ0R2FtZShkYXRhKXtcclxuICAgICAgICB0aGlzLnNldE1hcChkYXRhKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLy/lpoLmnpzmmK/lgJLorqHml7Yg6LCD55So5q2k5pa55rOVXHJcbiAgICB1cGRhdGVDb3VudERvd25UaW1lICgpIHtcclxuICAgICAgICBpZiAodGhpcy5jb3VudFRpbWUgPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY291bnRUaW1lIC09IDE7XHJcbiAgICAgICAgICAgIC8vIHRoaXMudGltZS5zdHJpbmcgPSAgY2MuZnguR2FtZVRvb2wuZ2V0VGltZU1hcmdpbih0aGlzLmNvdW50VGltZSk7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuY291bnRUaW1lIDwgNSl7XHJcbiAgICAgICAgICAgICAgICBsZXQgb3ZlciA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIk92ZXJcIik7XHJcbiAgICAgICAgICAgICAgICBjYy50d2VlbihvdmVyKVxyXG4gICAgICAgICAgICAgICAgLnRvKDAuMix7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAgICAgLmRlbGF5KDAuMSlcclxuICAgICAgICAgICAgICAgIC50bygwLjIse29wYWNpdHk6MH0pXHJcbiAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZih0aGlzLmNvdW50VGltZSA8PSAwKXtcclxuICAgICAgICAgICAgICAgIHRoaXMudW5zY2hlZHVsZSh0aGlzLnVwZGF0ZUNvdW50RG93blRpbWUpO1xyXG4gICAgICAgICAgICAgICAgdmFyIHRpbWUgPSAwO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5nYW1lT3Zlcih0aW1lKTsgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+S4iuS8oOavj+asoeaTjeS9nOaVsOaNrlxyXG5cclxuICAgIHNldERhdGEoKXtcclxuICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRHYW1lRGF0YSgpO1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLy/kuIrkvKDmjpLooYzmppzmlbDmja5cclxuICAgIGdhbWVPdmVyKHRpbWUpe1xyXG4gICAgICAgIGNjLmZ4LkdhbWVUb29sLnNldFJhbmsodGltZSk7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJHYW1lT3ZlclwiKS5vcGFjaXR5ID0gMDtcclxuICAgICAgICBjYy50d2Vlbih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJHYW1lT3ZlclwiKSlcclxuICAgICAgICAudG8oMC40LHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgLmRlbGF5KDIpXHJcbiAgICAgICAgLnRvKDAuNCx7b3BhY2l0eTo1MH0pXHJcbiAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIk92ZXJTY2VuZVwiKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5zdGFydCgpXHJcbiAgICB9XHJcblxyXG4gICAgY2xpY2tTdW4oZGF0YSl7XHJcbiAgICBcclxuICAgIH1cclxuXHJcbiAgICBuZXh0V2F0ZXIoKXtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgb25FbmFibGUgKCkge1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub24oY2MuZnguTWVzc2FnZS5jb250cm9sLCB0aGlzLmNsaWNrU3VuLCB0aGlzKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9uKGNjLmZ4Lk1lc3NhZ2UubmV4dCwgdGhpcy5ydW5XYXRlciwgdGhpcyk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vbihjYy5meC5NZXNzYWdlLnN0YXJ0R2FtZSwgdGhpcy5zdGFydEdhbWUsIHRoaXMpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub24oY2MuZnguTWVzc2FnZS5jaGFuZ2VQYXRoLCB0aGlzLmNoYW5nZVBhdGgsIHRoaXMpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub24oY2MuZnguTWVzc2FnZS5jaGFuZ2VNYXAsIHRoaXMuY2hhbmdlTWFwLCB0aGlzKTtcclxuICAgIH1cclxuICAgIG9uRGlzYWJsZSAoKSB7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vZmYoY2MuZnguTWVzc2FnZS5jb250cm9sLCB0aGlzLmNsaWNrU3VuKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9mZihjYy5meC5NZXNzYWdlLm5leHQsIHRoaXMucnVuV2F0ZXIpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub2ZmKGNjLmZ4Lk1lc3NhZ2Uuc3RhcnRHYW1lLCB0aGlzLnN0YXJ0R2FtZSk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vZmYoY2MuZnguTWVzc2FnZS5jaGFuZ2VQYXRoLCB0aGlzLmNoYW5nZVBhdGgpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub2ZmKGNjLmZ4Lk1lc3NhZ2UuY2hhbmdlTWFwLCB0aGlzLmNoYW5nZU1hcCk7XHJcbiAgICB9XHJcbiAgICB1cGRhdGUgKGR0KSB7XHJcbiAgICB9XHJcbn1cclxuIl19 -//------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.total + ""; - if (cc.fx.GameConfig.GM_INFO.mean_Time > 10) { - cc.fx.GameConfig.GM_INFO.mean_Time = (parseInt(Math.random() * 10 + "") + 5) / 10; - } - this.time.string = cc.fx.GameConfig.GM_INFO.mean_Time + "s"; - 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.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); - for (var i = 0; i <= 4; 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; - cc.fx.GameTool.subName(data.nickName, 4); - hitNode.getChildByName("name").getComponent(cc.Label).string = data.nickName; - hitNode.getChildByName("total").getComponent(cc.Label).string = data.totalSunCount; - 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lT3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDTSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQTJGQztRQXpGRyxXQUFLLEdBQWEsSUFBSSxDQUFDO1FBRXZCLFVBQUksR0FBYSxJQUFJLENBQUM7UUFFdEIsY0FBUSxHQUFZLElBQUksQ0FBQztRQUV6QixTQUFHLEdBQVksSUFBSSxDQUFDO1FBRXBCLFNBQUcsR0FBWSxJQUFJLENBQUM7UUFFcEIsV0FBSyxHQUFZLElBQUksQ0FBQztRQUV0QixVQUFJLEdBQVksSUFBSSxDQUFDO1FBRXJCLFVBQUksR0FBWSxJQUFJLENBQUM7O0lBMkV6QixDQUFDO0lBeEVHLGVBQWU7SUFDZix3QkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDeEQsSUFBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLEVBQUUsRUFBQztZQUN2QyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBQyxFQUFFLEdBQUMsRUFBRSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxDQUFBO1NBQzVFO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUM7UUFDNUQsSUFBSSxDQUFDLElBQUks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Q29udGVudCI6WyJcclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcbiAgICBAcHJvcGVydHkoY2MuTGFiZWwpXHJcbiAgICBjb3VudDogY2MuTGFiZWwgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLkxhYmVsKVxyXG4gICAgdGltZTogY2MuTGFiZWwgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBzZWxmTm9kZTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIG9uZTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIHR3bzogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIHRocmVlOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgZm91cjogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIGZpdmU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgbGlzdERhdGE6IGFueTtcclxuICAgIHNlbGZEYXRhOiBhbnk7XHJcbiAgICAvLyBvbkxvYWQgKCkge31cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICB0aGlzLmNvdW50LnN0cmluZyA9IGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy50b3RhbCArIFwiXCI7XHJcbiAgICAgICAgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1lYW5fVGltZSA+IDEwKXtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1lYW5fVGltZSA9IChwYXJzZUludChNYXRoLnJhbmRvbSgpKjEwK1wiXCIpKzUpLzEwXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudGltZS5zdHJpbmcgPSBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWVhbl9UaW1lICsgXCJzXCI7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcbiAgICAvL+WIneWni+WMluaVsOaNrlxyXG4gICAgaW5pdCgpe1xyXG4gICAgICAgIHRoaXMubGlzdERhdGEgPSBbXTtcclxuICAgICAgICB0aGlzLnNlbGZEYXRhID0gbnVsbDtcclxuICAgICAgICB0aGlzLm9uZS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnR3by5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnRocmVlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZm91ci5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZpdmUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5nZXRSYW5rKCk7XHJcbiAgICB9XHJcbiAgICAvL+aJk+W8gOaOkuihjOamnFxyXG4gICAgb3BlblJhbmsoKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJSYW5rU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+mHjeaWsOW8gOWni+eOqVxyXG4gICAgYWdhaW4oKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+iOt+WPluaOkuihjOamnFxyXG4gICAgZ2V0UmFuaygpe1xyXG4gICAgICAgIC8v6I635Y+W5o6S6KGM5qac5pWw5o2uICDmiYDpnIDmlbDmja7ph49cclxuICAgICAgICBsZXQgZGF0YUZpbGUgPSB7XHJcbiAgICAgICAgICAgIGxlbmd0aDo1XHJcbiAgICAgICAgfVxyXG4gICAgICAgICBjYy5meC5HYW1lVG9vbC5nZXRSYW5rKGRhdGFGaWxlLGRhdGEgPT50aGlzLmdldFJhbmtEYXRhKGRhdGEpKTtcclxuICAgIH1cclxuICAgIC8v6K6+572u5o6S6KGM5L+h5oGvXHJcbiAgICBnZXRSYW5rRGF0YShkYXRhKXtcclxuICAgICAgICBpZihkYXRhKXtcclxuICAgICAgICAgICAgIGNjLmZ4LkdhbWVUb29sLmdldFJhbmtEYXRhKGRhdGEsdGhpcyw0KTtcclxuICAgICAgICAgICAgIGNjLmZ4LkdhbWVUb29sLnNldFBpYyh0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKSx0aGlzLnNlbGZEYXRhLnBpYyk7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT0wO2k8PTQ7aSsrKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0UmFuayhpLHRoaXMubGlzdERhdGFbaV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/moLnmja7lhoXlrrnloavlhYXmjpLooYzmppxcclxuICAgIHNldFJhbmsobnVtLGRhdGEpe1xyXG4gICAgICAgIHZhciBoaXROb2RlID0gbnVsbDtcclxuICAgICAgICBpZihudW0gPT0gMCl7XHJcbiAgICAgICAgICAgIGhpdE5vZGUgPSB0aGlzLm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW0gPT0gMSl7XHJcbiAgICAgICAgICAgIGhpdE5vZGUgPSB0aGlzLnR3bztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW0gPT0gMil7XHJcbiAgICAgICAgICAgIGhpdE5vZGUgPSB0aGlzLnRocmVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bSA9PSAzKXtcclxuICAgICAgICAgICAgaGl0Tm9kZSA9IHRoaXMuZm91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW0gPT0gNCl7XHJcbiAgICAgICAgICAgIGhpdE5vZGUgPSB0aGlzLmZpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGhpdE5vZGUpe1xyXG4gICAgICAgICAgICBoaXROb2RlLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICBjYy5meC5HYW1lVG9vbC5zdWJOYW1lKGRhdGEubmlja05hbWUsNCk7XHJcbiAgICAgICAgICAgIGhpdE5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJuYW1lXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gZGF0YS5uaWNrTmFtZTtcclxuICAgICAgICAgICAgaGl0Tm9kZS5nZXRDaGlsZEJ5TmFtZShcInRvdGFsXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gZGF0YS50b3RhbFN1bkNvdW50O1xyXG4gICAgICAgICAgICAgY2MuZnguR2FtZVRvb2wuc2V0UGljKGhpdE5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLGRhdGEucGljKTtcclxuICAgICAgICB9XHJcbiAgICB9ICAgXHJcbn1cclxuIl19 -//------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:{}}; @@ -1278,544 +118,6 @@ cc._RF.pop(); } })(); //# 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/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(210, 453, 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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QUcsSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUMzQyxVQUFVLENBQUM7b0JBQ1AsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUN4QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDWDtpQkFDRztnQkFDQSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztnQkFDeEUsVUFBVSxDQUFDO29CQUNQLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDeEIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2FBQ1g7UUFFTCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUEzSEQ7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFVLFFBQVE7K0NBQ2I7SUFFdkI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFVLFdBQVc7aURBQ2Q7SUFFekI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFRLFFBQVE7OENBQ1o7SUFOUCxXQUFXO1FBRC9CLE9BQU87T0FDYSxXQUFXLENBK0gvQjtJQUFELGtCQUFDO0NBL0hELEFBK0hDLENBL0h3QyxFQUFFLENBQUMsU0FBUyxHQStIcEQ7a0JBL0hvQixXQUFXIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCBMaXN0IGZyb20gXCIuL21vZHVsZS9SYW5rTGlzdC9MaXN0XCI7XHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcbi8v5o6S6KGM5qacXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJhbmtNYW5hZ2VyIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKSAgICAgICAgICAvL+eUqOaIt+S4iuaWueWktOWDj1xyXG4gICAgUGxheWVyOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKSAgICAgICAgICAvL+eUqOaIt+acgOS4i+aWueS4quS6uuS/oeaBr1xyXG4gICAgc2VsZk5vZGU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlNwcml0ZSkgICAgICAgIC8v55So5oi35aS05YOP5o2i5Zu+XHJcbiAgICBwaG9uZTogY2MuU3ByaXRlID0gbnVsbDtcclxuICAgIHByaXZhdGUgcmFua0xpc3Q6IExpc3Q7ICAgICAvL+aOkuihjOamnFxyXG4gICAgdHdlZW46IGNjLlR3ZWVuPGNjLk5vZGU+OyAgIC8v5pyA5LiK5pa555So5oi35aS05YOP5Yqo55S7XHJcbiAgICBsaXN0RGF0YTogYW55OyAgICAgICAgICAgICAgLy/mgLvliJfooajkv6Hmga9cclxuICAgIHNlbGZEYXRhOiBhbnk7ICAgICAgICAgICAgICAvL+iHquW3seS/oeaBr1xyXG4gICAgcmFua051bWJlcjogbnVtYmVyOyAgICAgICAgIC8v55So5oi36Ieq5bex5o6S5ZCNIOacieWPr+iDveS4jeWcqOaOkuihjOamnOWGhTk5K1xyXG4gICAgcmFua1RvdGFsOiBudW1iZXI7ICAgICAgICAgIC8v6I635Y+W5o6S6KGM5qac55So5oi35pWw6YePIOeOsOWcqOS4ujEwMFxyXG5cclxuICAgIG9uTG9hZCgpIHtcclxuICAgICAgICB0aGlzLmluaXQoKTtcclxuICAgIH1cclxuICAgIC8v5Yid5aeL5YyW5pWw5o2uXHJcbiAgICBpbml0KCl7XHJcbiAgICAgICAgdGhpcy5yYW5rTGlzdCA9IGNjLmZpbmQoXCJTY3JvbGxWaWV3XCIsIHRoaXMubm9kZSkuZ2V0Q29tcG9uZW50KExpc3QpO1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmxpc3REYXRhID0gW107XHJcbiAgICAgICAgdGhpcy5zZWxmRGF0YSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5yYW5rTnVtYmVyID0gMTAwO1xyXG4gICAgICAgIHRoaXMucmFua1RvdGFsPSAxMDA7XHJcbiAgICAgICAgdGhpcy5zZWxmTm9kZS5vcGFjaXR5ID0gMDtcclxuICAgIH1cclxuXHJcbiAgICBzdGFydCgpIHtcclxuICAgICAgICB0aGlzLlBsYXllci5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmdldFJhbmsoKTtcclxuICAgIH1cclxuICAgIC8v6LCD55So6I635Y+W5o6S6KGM5qac5o6l5Y+jXHJcbiAgICBnZXRSYW5rKCl7XHJcbiAgICAgICAgbGV0IGRhdGFGaWxlID0ge1xyXG4gICAgICAgICAgICBsZW5ndGg6MTAwXHJcbiAgICAgICAgfVxyXG4gICAgICAgICBjYy5meC5HYW1lVG9vbC5nZXRSYW5rKGRhdGFGaWxlLGRhdGEgPT50aGlzLmdldFJhbmtEYXRhKGRhdGEpKTtcclxuICAgIH1cclxuICAgIC8v5a6e6ZmF6K6+572u5o6S6KGM5pWw5o2uXHJcbiAgICBnZXRSYW5rRGF0YShkYXRhKXtcclxuICAgICAgICBpZihkYXRhKXtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coZGF0YSk7XHJcbiAgICAgICAgICAgICBjYy5meC5HYW1lVG9vbC5nZXRSYW5rRGF0YShkYXRhLHRoaXMsNik7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0UGljKHRoaXMuc2VsZkRhdGEucGljKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+i/lOWbnuaMiemSrlxyXG4gICAgYmFja0NsaWNrKCl7XHJcbiAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiTG9hZFNjZW5lXCIpO1xyXG4gICAgfVxyXG4gICAgLy/mnIDkuIrmlrnnlKjmiLfliqjnlLtcclxuICAgIHBsYXllckFjdGlvbigpe1xyXG4gICAgICAgIC8vLTI1NCAzNzcgIDIxMCA0NTNcclxuICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgbGV0IHRpbWUgPSAxO1xyXG4gICAgICAgIHRoaXMudHdlZW4gPSBjYy50d2Vlbih0aGlzLlBsYXllcilcclxuICAgICAgICAudG8oMix7cG9zaXRpb246Y2MudjMoMjEwLDQ1MywwKX0pXHJcbiAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJudW1iZXJcIilcclxuICAgICAgICAgICAgLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gIHBhcnNlSW50KHRpbWUqMTAwICsgXCJcIikgKyBcIiVcIjtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIHRpbWUgPSAodGhpcy5saXN0RGF0YS5sZW5ndGggLSB0aGlzLnJhbmtOdW1iZXIpL3RoaXMubGlzdERhdGEubGVuZ3RoO1xyXG4gICAgICAgIGlmKHRoaXMubGlzdERhdGEubGVuZ3RoID49IDk5KXtcclxuICAgICAgICAgICAgaWYodGhpcy5yYW5rTnVtYmVyID49IDk5KXtcclxuICAgICAgICAgICAgICAgIHRpbWUgPSAoTWF0aC5yYW5kb20oKSo0OSsxKS8xMDBcclxuICAgICAgICAgICAgICAgIHZhciBtYXRjaElkID0gY2Muc3lzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibWF0Y2hOdW1iZXJcIik7XHJcbiAgICAgICAgICAgICAgICBpZihtYXRjaElkID09IG51bGwgfHwgbWF0Y2hJZCA9PSB1bmRlZmluZWQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRpbWUgPSAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBpZih0aGlzLnR3ZWVuKXRoaXMudHdlZW4uc3RvcCgpO1xyXG4gICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwibnVtYmVyXCIpXHJcbiAgICAgICAgICAgIC5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9ICBwYXJzZUludCh0aW1lKjEwMCArIFwiXCIpICsgXCIlXCI7XHJcbiAgICAgICAgfSwgdGltZSoyMDAwKTtcclxuXHJcbiAgICB9XHJcbiAgICAvL+iuvue9ruWktOWDjyAg5aSE55CG55qE6YC76L6R5q+U6L6D5aSa77yM5LiN55So5YWs5YWx57G755qE5LqGXHJcbiAgICBwdWJsaWMgc2V0UGljKHBpYyl7XHJcbiAgICAgICAgdGhpcy5waG9uZS5ub2RlLnBhcmVudC5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5waG9uZS5ub2RlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5QbGF5ZXIub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaG9uZVwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICBmZXRjaChwaWMpXHJcbiAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuaGVhZGVycy5nZXQoJ0NvbnRlbnQtTGVuZ3RoJyk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAudGhlbihlcnJObyA9PiB7XHJcbiAgICAgICAgICAgIGlmKGVyck5vID09IFwiNTA5M1wiKXtcclxuICAgICAgICAgICAgICAgIHRoaXMucGhvbmUubm9kZS5wYXJlbnQuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jYXRjaChlcnJvciA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIFgtSW5mbzonLCBlcnJvcik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdmFyIHNlbGYgPSB0aGlzO1xyXG4gICAgICAgIGNjLmFzc2V0TWFuYWdlci5sb2FkUmVtb3RlKHBpYywge2V4dDonLnBuZyd9LChlcnIsIHRleHR1cmU6Y2MuVGV4dHVyZTJEKSA9PiB7XHJcbiAgICAgICAgICAgIHNlbGYuUGxheWVyLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgIGlmKHRleHR1cmUpe1xyXG4gICAgICAgICAgICAgICAgc2VsZi5waG9uZS5ub2RlLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBzZWxmLnBob25lLnNwcml0ZUZyYW1lID0gbmV3IGNjLlNwcml0ZUZyYW1lKHRleHR1cmUpO1xyXG4gICAgICAgICAgICAgICAgc2VsZi5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHNlbGYuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcInBob25lXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBzZWxmLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaG9uZVwiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKVxyXG4gICAgICAgICAgICAgICAgLnNwcml0ZUZyYW1lID0gbmV3IGNjLlNwcml0ZUZyYW1lKHRleHR1cmUpO1xyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZi5wbGF5ZXJBY3Rpb24oKTtcclxuICAgICAgICAgICAgICAgIH0sIDUwMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHNlbGYuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHNlbGYucGxheWVyQWN0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICB9LCA1MDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ== -//------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; - }; - NewClass.prototype.start = function () { - }; - NewClass.prototype.initData = function (type) { - this.block_Type = type; - if (type == cc.Enum(BlockType).Start) { - this.node.color = cc.color(245, 70, 70); - } - else if (type == cc.Enum(BlockType).End) { - this.node.color = cc.color(20, 255, 0); - } - else if (type == cc.Enum(BlockType).Nunja) { - this.node.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e5"]; - } - else if (type == cc.Enum(BlockType).Peak) { - var random = Math.floor(Math.random() * 4 + 1); - var name = "shan" + random; - this.node.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; - } - }; - NewClass.prototype.setPath = function (type) { - this.path_Type = type; - }; - NewClass.prototype.set_Xi_SoilType = function (direction, end) { - var _this = this; - console.log("息壤", direction); - if (this.block_Type == cc.Enum(BlockType).Nunja) { - this.block_Type = cc.Enum(BlockType).Nomal; - this.node.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["block_Bg"]; - } - if (end != null) { - setTimeout(function () { - cc.fx.Notifications.emit(cc.fx.Message.next, (end + 1)); - }, 1000); - } - this.block_Type = cc.Enum(BlockType).Xi_Soil; - var target = this.node.getChildByName("Xi_Soil"); - this.path_Type = direction; - target.active = true; - target.opacity = 0; - cc.tween(target) - .to(0.5, { opacity: 255 }) - .to(0.5, { opacity: 0 }) - .call(function () { - if (direction != null && end == null) { - var data = { - order: 0, - time: 0.2, - type: 0, - circulate: false - }; - _this.runWater(data); - } - }) - .start(); - }; - //洪峰执行 - NewClass.prototype.runWater = function (data) { - if (this.path_Type == "err") { - setTimeout(function () { - if (data.circulate) - cc.fx.Notifications.emit(cc.fx.Message.next, order); - }, data.time); - return; - } - //如果双向都占用了还进来就算死了- - if (this.node.getChildByName("vertical").active == true && this.node.getChildByName("horizontal").active == true) { - alert("河道已经交叉,不能再通过"); - return; - } - else if (this.node.getChildByName("turn").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil) { - alert("河道过弯处,不能再交叉河道"); - 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"); - var water1 = target.getChildByName("wave").getChildByName("water1"); - var water2 = target.getChildByName("wave").getChildByName("water2"); - var water3 = target.getChildByName("wave").getChildByName("water3"); - var timeDelay = 0.15; - water1.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water1.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { - water1.y = -120; - })).repeatForever()); - water2.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water2.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { - water2.y = -120; - })).repeatForever()); - water3.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water3.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { - water3.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"); - 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"); - 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") { - console.log(data.order); - target = this.node.getChildByName("Reinforce"); - this.block_Type = cc.Enum(BlockType).Reinforce; - this.node.getChildByName("vertical").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e1"]; - this.node.getChildByName("turn").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e3"]; - this.node.getChildByName("horizontal").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e2"]; - target.active = true; - target.opacity = 0; - progress = 1; - cc.tween(target) - .to(time, { 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; - 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.5, { opacity: 255 }) - .to(0.5, { 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; - this.block_Type = cc.Enum(BlockType).Xi_Soil; - target = this.node.getChildByName("End"); - target.active = true; - target.opacity = 0; - cc.tween(target) - .to(0.5, { opacity: 255 }) - .call(function () { - console.log("游戏结束"); - // if(data.circulate) - // cc.fx.Notifications.emit(cc.fx.Message.next,order); - }) - .start(); - } - 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(); - } - } - }; - __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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxCbG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUUsSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFFMUMsSUFBWSxTQWdCWDtBQWhCRCxXQUFZLFNBQVM7SUFDakIsU0FBUztJQUNULDJDQUFTLENBQUE7SUFDVCxTQUFTO0lBQ1QsMkNBQVMsQ0FBQTtJQUNULE9BQU87SUFDUCwyQ0FBUyxDQUFBO0lBQ1QsT0FBTztJQUNQLHlDQUFRLENBQUE7SUFDUixTQUFTO0lBQ1QsdUNBQU8sQ0FBQTtJQUVQLE9BQU87SUFDUCwrQ0FBVyxDQUFBO0lBQ1gsT0FBTztJQUNQLG1EQUFhLENBQUE7QUFDakIsQ0FBQyxFQWhCVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQWdCcEI7QUFFRCxJQUFZLFFBY1g7QUFkRCxXQUFZLFFBQVE7SUFDaEIsdUJBQVcsQ0FBQTtJQUNYLHFCQUFTLENBQUE7SUFDVCx5QkFBYSxDQUFBO0lBQ2IseUJBQWEsQ0FBQTtJQUNiLDJCQUFlLENBQUE7SUFDZiwrQkFBbUIsQ0FBQTtJQUNuQixpQ0FBcUIsQ0FBQTtJQUNyQixtQ0FBdUIsQ0FBQTtJQUN2QixxQ0FBeUIsQ0FBQTtJQUN6QiwrQkFBbUIsQ0FBQTtJQUNuQixtQ0FBdUIsQ0FBQTtJQUN2QixpQ0FBcUIsQ0FBQTtJQUNyQixxQ0FBeUIsQ0FBQTtBQUM3QixDQUFDLEVBZFcsUUFBUSxHQUFSLGdCQUFRLEtBQVIsZ0JBQVEsUUFjbkI7QUFHRDtJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQTBRQztRQXpRRyx3QkFBd0I7UUFFeEIsUUFBRSxHQUFtQixJQUFJLENB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LENBQUM7cUJBQ3ZDLEVBQUUsQ0FBQyxJQUFJLEVBQUMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLENBQUM7cUJBQzdCLElBQUksQ0FBQztvQkFDRixJQUFHLElBQUksQ0FBQyxTQUFTO3dCQUNiLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzNELENBQUMsQ0FBQztxQkFDRCxLQUFLLEVBQUUsQ0FBQzthQUNaO2lCQUNHO2dCQUNBLE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO2dCQUNuQixNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO2dCQUM3QyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztxQkFDZixFQUFFLENBQUMsSUFBSSxFQUFDLEVBQUMsT0FBTyxFQUFDLEdBQUcsRUFBQyxDQUFDO3FCQUN0QixJQUFJLENBQUM7b0JBQ0YsSUFBRyxJQUFJLENBQUMsU0FBUzt3QkFDYixFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMzRCxDQUFDLENBQUM7cUJBQ0QsS0FBSyxFQUFFLENBQUM7YUFDWjtTQUNKO0lBRUwsQ0FBQztJQXBRRDtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDO3dDQUNDO0lBSFQsUUFBUTtRQUQ1QixPQUFPO09BQ2EsUUFBUSxDQTBRNUI7SUFBRCxlQUFDO0NBMVFELEFBMFFDLENBMVFxQyxFQUFFLENBQUMsU0FBUyxHQTBRakQ7a0JBMVFvQixRQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTGVhcm4gVHlwZVNjcmlwdDpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvdHlwZXNjcmlwdC5odG1sXHJcbi8vIExlYXJuIEF0dHJpYnV0ZTpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvcmVmZXJlbmNlL2F0dHJpYnV0ZXMuaHRtbFxyXG4vLyBMZWFybiBsaWZlLWN5Y2xlIGNhbGxiYWNrczpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvbGlmZS1jeWNsZS1jYWxsYmFja3MuaHRtbFxyXG5cclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5leHBvcnQgZW51bSBCbG9ja1R5cGV7XHJcbiAgICAvKuaZrumAmuWcsOWdlyAqL1xyXG4gICAgTm9tYWwgPSAwLCAgXHJcbiAgICAvKui1t+eCueWcsOWdlyAqL1xyXG4gICAgU3RhcnQgPSAxLCAgXHJcbiAgICAvKua5v+WcsCAqL1xyXG4gICAgTnVuamEgPSAyLFxyXG4gICAgLyrlsbHls7AgKi9cclxuICAgIFBlYWsgPSAzLFxyXG4gICAgLyrnu4jngrnlnLDlnZcgKi9cclxuICAgIEVuZCA9IDQsXHJcblxyXG4gICAgLyrmga/lo6QgKi9cclxuICAgIFhpX1NvaWwgPSA1LFxyXG4gICAgLyrliqDlm7ogKi9cclxuICAgIFJlaW5mb3JjZSA9IDZcclxufVxyXG5cclxuZXhwb3J0IGVudW0gUGF0aFR5cGV7XHJcbiAgICBlcnIgPSBcImVyclwiLFxyXG4gICAgdXAgPSBcInVwXCIsICBcclxuICAgIGRvd24gPSBcImRvd25cIiwgIFxyXG4gICAgbGVmdCA9IFwibGVmdFwiLFxyXG4gICAgcmlnaHQgPSBcInJpZ2h0XCIsXHJcbiAgICB1cF9sZWZ0ID0gXCJ1cF9sZWZ0XCIsXHJcbiAgICB1cF9yaWdodCA9IFwidXBfcmlnaHRcIixcclxuICAgIGRvd25fbGVmdCA9IFwiZG93bl9sZWZ0XCIsXHJcbiAgICBkb3duX3JpZ2h0ID0gXCJkb3duX3JpZ2h0XCIsXHJcbiAgICBsZWZ0X3VwID0gXCJsZWZ0X3VwXCIsXHJcbiAgICBsZWZ0X2Rvd24gPSBcImxlZnRfZG93blwiLFxyXG4gICAgcmlnaHRfdXAgPSBcInJpZ2h0X3VwXCIsXHJcbiAgICByaWdodF9kb3duID0gXCJyaWdodF9kb3duXCIsXHJcbn1cclxuXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5ld0NsYXNzIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIC8vIExJRkUtQ1lDTEUgQ0FMTEJBQ0tTOlxyXG4gICAgQHByb3BlcnR5KGNjLlNwcml0ZUF0bGFzKVxyXG4gICAgVUk6IGNjLlNwcml0ZUF0bGFzID0gbnVsbDtcclxuXHJcbiAgICBwb3NfU2hpZnRpbmc6bnVtYmVyO1xyXG4gICAgYmxvY2tfVHlwZTpudW1iZXI7XHJcbiAgICBwYXRoX1R5cGU6c3RyaW5nO1xyXG4gICAgZmluaXNoaTpib29sZWFuXHJcbiAgICBvbkxvYWQgKCkge1xyXG4gICAgICAgIHRoaXMuZmluaXNoaSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucG9zX1NoaWZ0aW5nID0gMDtcclxuICAgIH1cclxuXHJcbiAgICBzdGFydCAoKSB7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgaW5pdERhdGEodHlwZSl7XHJcbiAgICAgICAgdGhpcy5ibG9ja19UeXBlID0gdHlwZTtcclxuICAgICAgICBpZih0eXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5TdGFydCl7IFxyXG4gICAgICAgICAgICB0aGlzLm5vZGUuY29sb3IgPSBjYy5jb2xvcigyNDUsNzAsNzApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHR5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLkVuZCl7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5jb2xvciA9IGNjLmNvbG9yKDIwLDI1NSwwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0eXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5OdW5qYSl7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiZTVcIl07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodHlwZSA9PSBjYy5FbnVtKEJsb2NrVHlwZSkuUGVhayl7XHJcbiAgICAgICAgICAgIGxldCByYW5kb20gPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqNCsxKTtcclxuICAgICAgICAgICAgbGV0IG5hbWUgPSBcInNoYW5cIiArIHJhbmRvbTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNldFBhdGgodHlwZSl7XHJcbiAgICAgICAgdGhpcy5wYXRoX1R5cGUgPSB0eXBlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldF9YaV9Tb2lsVHlwZShkaXJlY3Rpb24sZW5kKXtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIuaBr+WjpFwiLGRpcmVjdGlvbik7XHJcbiAgICAgICAgaWYodGhpcy5ibG9ja19UeXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5OdW5qYSl7XHJcbiAgICAgICAgICAgIHRoaXMuYmxvY2tfVHlwZSA9IGNjLkVudW0oQmxvY2tUeXBlKS5Ob21hbDtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJibG9ja19CZ1wiXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoZW5kICE9IG51bGwpe1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLm5leHQsKGVuZCsxKSk7XHJcbiAgICAgICAgICAgIH0sIDEwMDApO1xyXG4gICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuYmxvY2tfVHlwZSA9IGNjLkVudW0oQmxvY2tUeXBlKS5YaV9Tb2lsO1xyXG4gICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJYaV9Tb2lsXCIpOyBcclxuICAgICAgICB0aGlzLnBhdGhfVHlwZSA9IGRpcmVjdGlvbjtcclxuICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICB0YXJnZXQub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgY2MudHdlZW4odGFyZ2V0KVxyXG4gICAgICAgIC50bygwLjUse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAudG8oMC41LHtvcGFjaXR5OjB9KVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICBpZihkaXJlY3Rpb24gIT0gbnVsbCAmJiBlbmQgPT0gbnVsbCl7XHJcbiAgICAgICAgICAgICAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgICAgICAgICAgICAgICBvcmRlcjowLFxyXG4gICAgICAgICAgICAgICAgICAgIHRpbWU6MC4yLFxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6MCxcclxuICAgICAgICAgICAgICAgICAgICBjaXJjdWxhdGU6ZmFsc2VcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJ1bldhdGVyKGRhdGEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLy/mtKrls7DmiafooYxcclxuICAgIHJ1bldhdGVyKGRhdGEpe1xyXG4gICAgICAgIGlmKHRoaXMucGF0aF9UeXBlID09IFwiZXJyXCIpe1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmKGRhdGEuY2lyY3VsYXRlKVxyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLm5leHQsb3JkZXIpO1xyXG4gICAgICAgICAgICB9LCBkYXRhLnRpbWUpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8v5aaC5p6c5Y+M5ZCR6YO95Y2g55So5LqG6L+Y6L+b5p2l5bCx566X5q275LqGLSBcclxuICAgICAgICBpZih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ2ZXJ0aWNhbFwiKS5hY3RpdmUgPT0gdHJ1ZSAmJiB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJob3Jpem9udGFsXCIpLmFjdGl2ZSA9PSB0cnVlKXtcclxuICAgICAgICAgICAgYWxlcnQoXCLmsrPpgZPlt7Lnu4/kuqTlj4nvvIzkuI3og73lho3pgJrov4dcIik7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGVsc2UgaWYodGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidHVyblwiKS5hY3RpdmUgPT0gdHJ1ZSAmJiB0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlhpX1NvaWwpe1xyXG4gICAgICAgICAgICBhbGVydChcIuays+mBk+i/h+W8r+WkhO+8jOS4jeiDveWGjeS6pOWPieays+mBk1wiKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB2YXIgdGFyZ2V0ID0gbnVsbDtcclxuICAgICAgICB2YXIgcHJvZ3Jlc3MgPSAxO1xyXG4gICAgICAgIHZhciB0aW1lID0gZGF0YS50aW1lO1xyXG4gICAgICAgIHZhciBvcmRlciA9IGRhdGEub3JkZXIgKyAxO1xyXG4gICAgICAgIHZhciByYW5kb20gPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqNCArIDEpO1xyXG4gICAgICAgIHRhcmdldCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInZlcnRpY2FsXCIpO1xyXG4gICAgICAgIGxldCB3YXRlcjEgPSB0YXJnZXQuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXZlXCIpLmdldENoaWxkQnlOYW1lKFwid2F0ZXIxXCIpO1xyXG4gICAgICAgIGxldCB3YXRlcjIgPSB0YXJnZXQuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXZlXCIpLmdldENoaWxkQnlOYW1lKFwid2F0ZXIyXCIpO1xyXG4gICAgICAgIGxldCB3YXRlcjMgPSB0YXJnZXQuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXZlXCIpLmdldENoaWxkQnlOYW1lKFwid2F0ZXIzXCIpO1xyXG4gICAgICAgIGxldCB0aW1lRGVsYXkgPSAwLjE1O1xyXG4gICAgICAgIHdhdGVyMS5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2MubW92ZVRvKDAuNixjYy52Mih3YXRlcjEueCwxMjApKSxjYy5kZWxheVRpbWUodGltZURlbGF5KSxcclxuICAgICAgICBjYy5jYWxsRnVuYygoKT0+e1xyXG4gICAgICAgICAgICB3YXRlcjEueSA9IC0xMjBcclxuICAgICAgICB9KSkucmVwZWF0Rm9yZXZlcigpKTtcclxuICAgICAgICB3YXRlcjIucnVuQWN0aW9uKGNjLnNlcXVlbmNlKGNjLm1vdmVUbygwLjYsY2MudjIod2F0ZXIyLngsMTIwKSksY2MuZGVsYXlUaW1lKHRpbWVEZWxheSksXHJcbiAgICAgICAgY2MuY2FsbEZ1bmMoKCk9PntcclxuICAgICAgICAgICAgd2F0ZXIyLnkgPSAtMTIwXHJcbiAgICAgICAgfSkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgd2F0ZXIzLnJ1bkFjdGlvbihjYy5zZXF1ZW5jZShjYy5tb3ZlVG8oMC42LGNjLnYyKHdhdGVyMy54LDEyMCkpLGNjLmRlbGF5VGltZSh0aW1lRGVsYXkpLFxyXG4gICAgICAgIGNjLmNhbGxGdW5jKCgpPT57XHJcbiAgICAgICAgICAgIHdhdGVyMy55ID0gLTEyMFxyXG4gICAgICAgIH0pKS5yZXBlYXRGb3JldmVyKCkpO1xyXG4gICAgICAgIHZhciBuYW1lID0gXCJhXCIgKyByYW5kb207XHJcbiAgICAgICAgLy9pZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZSl0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtuYW1lXTtcclxuXHJcbiAgICAgICAgaWYodGFyZ2V0LmFjdGl2ZSA9PSB0cnVlKXtcclxuICAgICAgICAgICAgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiaG9yaXpvbnRhbFwiKTtcclxuICAgICAgICAgICAgbmFtZSA9IFwiYlwiICsgcmFuZG9tO1xyXG4gICAgICAgICAgICAvL2lmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKSB0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtuYW1lXTtcclxuICAgICAgICB9IFxyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMucGF0aF9UeXBlLGRhdGEub3JkZXIpO1xyXG4gICAgICAgIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnVwKXtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5kb3duKXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gMTgwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmxlZnQpe1xyXG4gICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSA5MDtcclxuICAgICAgICAgICAgbmFtZSA9IFwiYlwiICsgcmFuZG9tO1xyXG4gICAgICAgICAgICAvL2lmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKSB0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtuYW1lXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5yaWdodCl7XHJcbiAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDI3MDtcclxuICAgICAgICAgICAgbmFtZSA9IFwiYlwiICsgcmFuZG9tO1xyXG4gICAgICAgICAgICAvL2lmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKSB0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtuYW1lXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidHVyblwiKTtcclxuICAgICAgICAgICAgbGV0IHdhdGVyID0gdGFyZ2V0LmdldENoaWxkQnlOYW1lKFwid2F2ZVwiKS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyXCIpO1xyXG4gICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMFxyXG4gICAgICAgICAgICB3YXRlci5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2Mucm90YXRlVG8oNy4yLC0xMDgwKSxjYy5kZWxheVRpbWUoMCkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIub3BhY2l0eSA9IDI1NTtcclxuICAgICAgICAgICAgfSwgMjAwKTtcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgICBuYW1lID0gXCJjXCIgKyByYW5kb207XHJcbiAgICAgICAgICAgIC8vaWYodGhpcy5ibG9ja19UeXBlICE9IGNjLkVudW0oQmxvY2tUeXBlKS5SZWluZm9yY2UpdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgICAgIHByb2dyZXNzID0gMC4yNTtcclxuICAgICAgICAgICAgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkudXBfbGVmdCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLC10aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS51cF9yaWdodCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2NhbGVYID0gLTE7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24odGhpcy5wb3NfU2hpZnRpbmcsLXRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmRvd25fbGVmdCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAxODA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2NhbGVYID0gLTE7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLHRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmRvd25fcmlnaHQpe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gMTgwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKHRoaXMucG9zX1NoaWZ0aW5nLHRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmxlZnRfdXApe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gLTkwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNjYWxlWSA9IC0xO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKHRoaXMucG9zX1NoaWZ0aW5nLHRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmxlZnRfZG93bil7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSA5MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbigtdGhpcy5wb3NfU2hpZnRpbmcsLXRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnJpZ2h0X3VwKXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IC05MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbigtdGhpcy5wb3NfU2hpZnRpbmcsdGhpcy5wb3NfU2hpZnRpbmcpO1xyXG4gICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkucmlnaHRfZG93bil7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAtOTA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2NhbGVYID0gLTE7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLC10aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYodGhpcy5wYXRoX1R5cGUgPT0gXCJSZWluZm9yY2VcIil7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGRhdGEub3JkZXIpO1xyXG4gICAgICAgICAgICB0YXJnZXQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJSZWluZm9yY2VcIik7XHJcbiAgICAgICAgICAgIHRoaXMuYmxvY2tfVHlwZSA9IGNjLkVudW0oQmxvY2tUeXBlKS5SZWluZm9yY2U7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInZlcnRpY2FsXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJlMVwiXTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidHVyblwiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiZTNcIl07XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImhvcml6b250YWxcIikuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImUyXCJdO1xyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGFyZ2V0Lm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICBwcm9ncmVzcyA9IDE7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRhcmdldClcclxuICAgICAgICAgICAgLnRvKHRpbWUse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICBpZihkYXRhLmNpcmN1bGF0ZSlcclxuICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5jaGFuZ2VNYXAsb3JkZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLm5leHQsb3JkZXIpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBcIlhpX1NvaWxcIil7XHJcbiAgICAgICAgICAgIHRhcmdldC5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ibG9ja19UeXBlID0gY2MuRW51bShCbG9ja1R5cGUpLlhpX1NvaWw7XHJcbiAgICAgICAgICAgIHRhcmdldCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlhpX1NvaWxcIik7IFxyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGFyZ2V0Lm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICBjYy50d2Vlbih0YXJnZXQpXHJcbiAgICAgICAgICAgIC50bygwLjUse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAgICAgLnRvKDAuNSx7b3BhY2l0eTowfSlcclxuICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICBpZihkYXRhLmNpcmN1bGF0ZSlcclxuICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5uZXh0LG9yZGVyKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gXCJFbmRcIil7XHJcbiAgICAgICAgICAgIHRhcmdldC5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ibG9ja19UeXBlID0gY2MuRW51bShCbG9ja1R5cGUpLlhpX1NvaWw7XHJcbiAgICAgICAgICAgIHRhcmdldCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkVuZFwiKTsgXHJcbiAgICAgICAgICAgIHRhcmdldC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0YXJnZXQub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRhcmdldClcclxuICAgICAgICAgICAgLnRvKDAuNSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5ri45oiP57uT5p2fXCIpO1xyXG4gICAgICAgICAgICAgICAgLy8gaWYoZGF0YS5jaXJjdWxhdGUpXHJcbiAgICAgICAgICAgICAgICAvLyAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2UubmV4dCxvcmRlcik7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgaWYodGhpcy5ibG9ja19UeXBlICE9IGNjLkVudW0oQmxvY2tUeXBlKS5YaV9Tb2lsKXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5maWxsUmFuZ2UgPSAwO1xyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4odGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpKVxyXG4gICAgICAgICAgICAgICAgLnRvKHRpbWUse2ZpbGxSYW5nZTpwcm9ncmVzc30pXHJcbiAgICAgICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgICAgICBpZihkYXRhLmNpcmN1bGF0ZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2UubmV4dCxvcmRlcik7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5maWxsUmFuZ2UgPSAxO1xyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4odGFyZ2V0KVxyXG4gICAgICAgICAgICAgICAgLnRvKHRpbWUse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGRhdGEuY2lyY3VsYXRlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5uZXh0LG9yZGVyKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgLy8gdXBkYXRlIChkdCkge31cclxufVxyXG4iXX0= //------QC-SOURCE-SPLIT------ (function() { @@ -2021,6 +323,808 @@ cc._RF.pop(); } })(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhY2thZ2VzXFxUaWxlZE1hcE9wdGltaXplclxccmVzb3VyY2VcXFNjcmlwdFxcVG1vVGlsZWRMYXllci5qcyJdLCJuYW1lcyI6WyJfbWF0NF90ZW1wIiwiY2MiLCJtYXQ0IiwiX3ZlYzJfdGVtcCIsInYyIiwiX3ZlYzJfdGVtcDIiLCJDbGFzcyIsIlRpbGVkTGF5ZXIiLCJfaW5pdCIsImxheWVySW5mbyIsIm1hcEluZm8iLCJ0aWxlc2V0cyIsInRleHR1cmVzIiwidGV4R3JpZHMiLCJ0aWxlZE1hcCIsImZpcnN0VG14TGF5ZXIiLCJfY3VsbGluZ0RpcnR5IiwiX2xheWVySW5mbyIsIl9tYXBJbmZvIiwiX2ZpcnN0VG14TGF5ZXIiLCJfdGlsZWRNYXAiLCJzaXplIiwiX2xheWVyU2l6ZSIsIl9sYXllck5hbWUiLCJuYW1lIiwiX3RpbGVzIiwiX3Byb3BlcnRpZXMiLCJwcm9wZXJ0aWVzIiwiX21pbkdJRCIsIl9tYXhHSUQiLCJfb3BhY2l0eSIsIl9yZW5kZXJPcmRlciIsInJlbmRlck9yZGVyIiwiX3N0YWdnZXJBeGlzIiwiZ2V0U3RhZ2dlckF4aXMiLCJfc3RhZ2dlckluZGV4IiwiZ2V0U3RhZ2dlckluZGV4IiwiX2hleFNpZGVMZW5ndGgiLCJnZXRIZXhTaWRlTGVuZ3RoIiwiX2FuaW1hdGlvbnMiLCJnZXRUaWxlQW5pbWF0aW9ucyIsIl90aWxlc2V0cyIsIl90ZXh0dXJlcyIsIl90ZXhHcmlkcyIsIl9sYXllck9yaWVudGF0aW9uIiwib3JpZW50YXRpb24iLCJfbWFwVGlsZVNpemUiLCJnZXRUaWxlU2l6ZSIsIm1hcHR3Iiwid2lkdGgiLCJtYXB0aCIsImhlaWdodCIsImxheWVyVyIsImxheWVySCIsIlRpbGVkTWFwIiwiT3JpZW50YXRpb24iLCJIRVgiLCJTdGFnZ2VyQXhpcyIsIlN0YWdnZXJJbmRleCIsIl9vZGRfZXZlbiIsIlNUQUdHRVJJTkRFWF9PREQiLCJTVEFHR0VSQVhJU19YIiwiX2RpZmZYMSIsIl9kaWZmWTEiLCJNYXRoIiwiZmxvb3IiLCJub2RlIiwic2V0Q29udGVudFNpemUiLCJJU08iLCJ3aCIsIl9vZmZzZXQiLCJvZmZzZXQiLCJ4IiwieSIsIl91c2VBdXRvbWF0aWNWZXJ0ZXhaIiwiX3ZlcnRleFp2YWx1ZSIsIl9zeW5jQW5jaG9yUG9pbnQiLCJfcHJlcGFyZVRvUmVuZGVyIiwiX3VwZGF0ZUN1bGxpbmciLCJDQ19FRElUT1IiLCJlbmFibGVDdWxsaW5nIiwiX2VuYWJsZUN1bGxpbmciLCJfY3VsbGluZ1JlY3QiLCJfY2FjaGVDdWxsaW5nRGlydHkiLCJfdXBkYXRlV29ybGRNYXRyaXgiLCJNYXQ0IiwiaW52ZXJ0IiwiX3dvcmxkTWF0cml4IiwicmVjdCIsInZpc2libGVSZWN0IiwiY2FtZXJhIiwiQ2FtZXJhIiwiZmluZENhbWVyYSIsImdldFNjcmVlblRvV29ybGRQb2ludCIsIlZlYzIiLCJ0cmFuc2Zvcm1NYXQ0IiwiX3VwZGF0ZVZpZXdQb3J0IiwiX3RyYXZlcnNlQWxsR3JpZCIsInRpbGVzIiwidGlsZXNldEluZGV4QXJyIiwiX3RpbGVzZXRJbmRleEFyciIsInRpbGVzZXRJbmRleFRvQXJySW5kZXgiLCJfdGlsZXNldEluZGV4VG9BcnJJbmRleCIsIlRpbGVGbGFnIiwiRkxJUFBFRF9NQVNLIiwic2luZ2xlVGV4dHVyZSIsImlzU2luZ2xlVGV4dHVyZSIsImxlbmd0aCIsImkiLCJnaWQiLCJncmlkIiwiZXJyb3IiLCJ0aWxlc2V0SWR4IiwidGV4SWQiLCJ1bmRlZmluZWQiLCJwdXNoIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBLElBQUlBLFVBQVUsR0FBR0MsRUFBRSxDQUFDQyxJQUFILEVBQWpCOztBQUNBLElBQUlDLFVBQVUsR0FBR0YsRUFBRSxDQUFDRyxFQUFILEVBQWpCOztBQUNBLElBQUlDLFdBQVcsR0FBR0osRUFBRSxDQUFDRyxFQUFILEVBQWxCOztlQUVlSCxFQUFFLENBQUNLLEtBQUgsQ0FBUztBQUNwQixhQUFTTCxFQUFFLENB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akQsUUFBUSxDQUFDaUQsUUFBMUI7QUFDQSxRQUFNQyxZQUFZLEdBQUdELFFBQVEsQ0FBQ0MsWUFBOUI7O0FBRUEsUUFBSUMsYUFBYSxHQUFHLEtBQUtyRixTQUFMLENBQWVzRixlQUFmLEVBQXBCOztBQUVBUCxJQUFBQSxlQUFlLENBQUNRLE1BQWhCLEdBQXlCLENBQXpCOztBQUNBLFNBQUssSUFBSUMsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBR1YsS0FBSyxDQUFDUyxNQUExQixFQUFrQ0MsQ0FBQyxFQUFuQyxFQUF1QztBQUNuQyxVQUFJQyxHQUFHLEdBQUdYLEtBQUssQ0FBQ1UsQ0FBRCxDQUFmO0FBQ0EsVUFBSUMsR0FBRyxLQUFLLENBQVosRUFBZTtBQUNmQSxNQUFBQSxHQUFHLEdBQUksQ0FBQ0EsR0FBRyxHQUFHTCxZQUFQLE1BQXlCLENBQWhDO0FBQ0EsVUFBSU0sSUFBSSxHQUFHakcsUUFBUSxDQUFDZ0csR0FBRCxDQUFuQjs7QUFDQSxVQUFJLENBQUNDLElBQUwsRUFBVztBQUNQN0csUUFBQUEsRUFBRSxDQUFDOEcsS0FBSCxDQUFTLHFEQUFULEVBQWdFRixHQUFoRTtBQUNBO0FBQ0g7O0FBQ0QsVUFBSUcsVUFBVSxHQUFHRixJQUFJLENBQUNHLEtBQXRCO0FBQ0EsVUFBSVosc0JBQXNCLENBQUNXLFVBQUQsQ0FBdEIsS0FBdUNFLFNBQTNDLEVBQXNEO0FBQ3REYixNQUFBQSxzQkFBc0IsQ0FBQ1csVUFBRCxDQUF0QixHQUFxQ2IsZUFBZSxDQUFDUSxNQUFyRDtBQUNBUixNQUFBQSxlQUFlLENBQUNnQixJQUFoQixDQUFxQkgsVUFBckIsRUFabUMsQ0FjbkM7O0FBQ0EsVUFBSVAsYUFBSixFQUFtQjtBQUNmO0FBQ0gsT0FqQmtDLENBa0JuQzs7QUFDSDtBQUNKO0FBdkptQixDQUFUIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMZWFybiBjYy5DbGFzczpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvY2xhc3MuaHRtbFxyXG4vLyBMZWFybiBBdHRyaWJ1dGU6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL3JlZmVyZW5jZS9hdHRyaWJ1dGVzLmh0bWxcclxuLy8gTGVhcm4gbGlmZS1jeWNsZSBjYWxsYmFja3M6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL2xpZmUtY3ljbGUtY2FsbGJhY2tzLmh0bWxcclxuXHJcbmxldCBfbWF0NF90ZW1wID0gY2MubWF0NCgpO1xyXG5sZXQgX3ZlYzJfdGVtcCA9IGNjLnYyKCk7XHJcbmxldCBfdmVjMl90ZW1wMiA9IGNjLnYyKCk7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjYy5DbGFzcyh7XHJcbiAgICBleHRlbmRzOiBjYy5UaWxlZExheWVyLFxyXG5cclxuICAgIC8vIOatpOWkhOS/ruaUuSDlop7liqBmaXJzdFRteExheWVy5Y+C5pWwXHJcbiAgICBfaW5pdChsYXllckluZm8sIG1hcEluZm8sIHRpbGVzZXRzLCB0ZXh0dXJlcywgdGV4R3JpZHMsIHRpbGVkTWFwLCBmaXJzdFRteExheWVyKSB7XHJcbiAgICAgICAgLy8g5L+u5pS557uT5p2fXHJcbiAgICAgICAgdGhpcy5fY3VsbGluZ0RpcnR5ID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLl9sYXllckluZm8gPSBsYXllckluZm87XHJcbiAgICAgICAgdGhpcy5fbWFwSW5mbyA9IG1hcEluZm87XHJcbiAgICAgICAgLy8g5q2k5aSE5L+u5pS5IOS/neWtmGZpcnN0VG14TGF5ZXLlj4LmlbBcclxuICAgICAgICB0aGlzLl9maXJzdFRteExheWVyID0gZmlyc3RUbXhMYXllcjtcclxuICAgICAgICB0aGlzLl90aWxlZE1hcCA9IHRpbGVkTWFwO1xyXG4gICAgICAgIC8vIOS/ruaUuee7k+adn1xyXG5cclxuICAgICAgICBsZXQgc2l6ZSA9IGxheWVySW5mby5fbGF5ZXJTaXplO1xyXG5cclxuICAgICAgICAvLyBsYXllckluZm9cclxuICAgICAgICB0aGlzLl9sYXllck5hbWUgPSBsYXllckluZm8ubmFtZTtcclxuICAgICAgICB0aGlzLl90aWxlcyA9IGxheWVySW5mby5fdGlsZXM7XHJcbiAgICAgICAgdGhpcy5fcHJvcGVydGllcyA9IGxheWVySW5mby5wcm9wZXJ0aWVzO1xyXG4gICAgICAgIHRoaXMuX2xheWVyU2l6ZSA9IHNpemU7XHJcbiAgICAgICAgdGhpcy5fbWluR0lEID0gbGF5ZXJJbmZvLl9taW5HSUQ7XHJcbiAgICAgICAgdGhpcy5fbWF4R0lEID0gbGF5ZXJJbmZvLl9tYXhHSUQ7XHJcbiAgICAgICAgdGhpcy5fb3BhY2l0eSA9IGxheWVySW5mby5fb3BhY2l0eTtcclxuICAgICAgICB0aGlzLl9yZW5kZXJPcmRlciA9IG1hcEluZm8ucmVuZGVyT3JkZXI7XHJcbiAgICAgICAgdGhpcy5fc3RhZ2dlckF4aXMgPSBtYXBJbmZvLmdldFN0YWdnZXJBeGlzKCk7XHJcbiAgICAgICAgdGhpcy5fc3RhZ2dlckluZGV4ID0gbWFwSW5mby5nZXRTdGFnZ2VySW5kZXgoKTtcclxuICAgICAgICB0aGlzLl9oZXhTaWRlTGVuZ3RoID0gbWFwSW5mby5nZXRIZXhTaWRlTGVuZ3RoKCk7XHJcbiAgICAgICAgdGhpcy5fYW5pbWF0aW9ucyA9IG1hcEluZm8uZ2V0VGlsZUFuaW1hdGlvbnMoKTtcclxuXHJcbiAgICAgICAgLy8gdGlsZXNldHNcclxuICAgICAgICB0aGlzLl90aWxlc2V0cyA9IHRpbGVzZXRzO1xyXG4gICAgICAgIC8vIHRleHR1cmVzXHJcbiAgICAgICAgdGhpcy5fdGV4dHVyZXMgPSB0ZXh0dXJlcztcclxuICAgICAgICAvLyBncmlkIHRleHR1cmVcclxuICAgICAgICB0aGlzLl90ZXhHcmlkcyA9IHRleEdyaWRzO1xyXG5cclxuICAgICAgICAvLyBtYXBJbmZvXHJcbiAgICAgICAgdGhpcy5fbGF5ZXJPcmllbnRhdGlvbiA9IG1hcEluZm8ub3JpZW50YXRpb247XHJcbiAgICAgICAgdGhpcy5fbWFwVGlsZVNpemUgPSBtYXBJbmZvLmdldFRpbGVTaXplKCk7XHJcblxyXG4gICAgICAgIGxldCBtYXB0dyA9IHRoaXMuX21hcFRpbGVTaXplLndpZHRoO1xyXG4gICAgICAgIGxldCBtYXB0aCA9IHRoaXMuX21hcFRpbGVTaXplLmhlaWdodDtcclxuICAgICAgICBsZXQgbGF5ZXJXID0gdGhpcy5fbGF5ZXJTaXplLndpZHRoO1xyXG4gICAgICAgIGxldCBsYXllckggPSB0aGlzLl9sYXllclNpemUuaGVpZ2h0O1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fbGF5ZXJPcmllbnRhdGlvbiA9PT0gY2MuVGlsZWRNYXAuT3JpZW50YXRpb24uSEVYKSB7XHJcbiAgICAgICAgICAgIC8vIGhhbmRsZSBoZXggbWFwXHJcbiAgICAgICAgICAgIGNvbnN0IFRpbGVkTWFwID0gY2MuVGlsZWRNYXA7XHJcbiAgICAgICAgICAgIGNvbnN0IFN0YWdnZXJBeGlzID0gVGlsZWRNYXAuU3RhZ2dlckF4aXM7XHJcbiAgICAgICAgICAgIGNvbnN0IFN0YWdnZXJJbmRleCA9IFRpbGVkTWFwLlN0YWdnZXJJbmRleDtcclxuICAgICAgICAgICAgbGV0IHdpZHRoID0gMCwgaGVpZ2h0ID0gMDtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuX29kZF9ldmVuID0gKHRoaXMuX3N0YWdnZXJJbmRleCA9PT0gU3RhZ2dlckluZGV4LlNUQUdHRVJJTkRFWF9PREQpID8gMSA6IC0xO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fc3RhZ2dlckF4aXMgPT09IFN0YWdnZXJBeGlzLlNUQUdHRVJBWElTX1gpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2RpZmZYMSA9IChtYXB0dyAtIHRoaXMuX2hleFNpZGVMZW5ndGgpIC8gMjtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2RpZmZZMSA9IDA7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQgPSBtYXB0aCAqIChsYXllckggKyAwLjUpO1xyXG4gICAgICAgICAgICAgICAgd2lkdGggPSAobWFwdHcgKyB0aGlzLl9oZXhTaWRlTGVuZ3RoKSAqIE1hdGguZmxvb3IobGF5ZXJXIC8gMikgKyBtYXB0dyAqIChsYXllclcgJSAyKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2RpZmZYMSA9IDA7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9kaWZmWTEgPSAobWFwdGggLSB0aGlzLl9oZXhTaWRlTGVuZ3RoKSAvIDI7XHJcbiAgICAgICAgICAgICAgICB3aWR0aCA9IG1hcHR3ICogKGxheWVyVyArIDAuNSk7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQgPSAobWFwdGggKyB0aGlzLl9oZXhTaWRlTGVuZ3RoKSAqIE1hdGguZmxvb3IobGF5ZXJIIC8gMikgKyBtYXB0aCAqIChsYXllckggJSAyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLm5vZGUuc2V0Q29udGVudFNpemUod2lkdGgsIGhlaWdodCk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9sYXllck9yaWVudGF0aW9uID09PSBjYy5UaWxlZE1hcC5PcmllbnRhdGlvbi5JU08pIHtcclxuICAgICAgICAgICAgbGV0IHdoID0gbGF5ZXJXICsgbGF5ZXJIO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuc2V0Q29udGVudFNpemUobWFwdHcgKiAwLjUgKiB3aCwgbWFwdGggKiAwLjUgKiB3aCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLnNldENvbnRlbnRTaXplKGxheWVyVyAqIG1hcHR3LCBsYXllckggKiBtYXB0aCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBvZmZzZXQgKGFmdGVyIGxheWVyIG9yaWVudGF0aW9uIGlzIHNldCk7XHJcbiAgICAgICAgdGhpcy5fb2Zmc2V0ID0gY2MudjIobGF5ZXJJbmZvLm9mZnNldC54LCAtbGF5ZXJJbmZvLm9mZnNldC55KTtcclxuICAgICAgICB0aGlzLl91c2VBdXRvbWF0aWNWZXJ0ZXhaID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5fdmVydGV4WnZhbHVlID0gMDtcclxuICAgICAgICB0aGlzLl9zeW5jQW5jaG9yUG9pbnQoKTtcclxuICAgICAgICB0aGlzLl9wcmVwYXJlVG9SZW5kZXIoKTtcclxuICAgIH0sXHJcbiAgICBfdXBkYXRlQ3VsbGluZygpIHtcclxuICAgICAgICBpZiAoQ0NfRURJVE9SKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlQ3VsbGluZyhmYWxzZSk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9lbmFibGVDdWxsaW5nKSB7XHJcbiAgICAgICAgICAgIC8vIOatpOWkhOS/ruaUuSDoi6XkuI3kuLrpppbkuKpsYXllciDnm7TmjqXlpI3nlKhmaXJzdExheWVy55qE57uT5p6cXHJcbiAgICAgICAgICAgIC8vIHRoaXMuX2ZpcnN0VG14TGF5ZXLkuI3kuLrnqbrml7Yg6KGo56S65b2T5YmNbGF5ZXLkuI3mmK/pppbkuKpsYXllclxyXG4gICAgICAgICAgICBsZXQgZmlyc3RUbXhMYXllciA9IHRoaXMuX2ZpcnN0VG14TGF5ZXI7XHJcbiAgICAgICAgICAgIGlmICghIWZpcnN0VG14TGF5ZXIpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2N1bGxpbmdSZWN0ID0gZmlyc3RUbXhMYXllci5fY3VsbGluZ1JlY3Q7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9jdWxsaW5nRGlydHkgPSBmaXJzdFRteExheWVyLl9jYWNoZUN1bGxpbmdEaXJ0eTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyDkv67mlLnnu5PmnZ9cclxuXHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5fdXBkYXRlV29ybGRNYXRyaXgoKTtcclxuICAgICAgICAgICAgY2MuTWF0NC5pbnZlcnQoX21hdDRfdGVtcCwgdGhpcy5ub2RlLl93b3JsZE1hdHJpeCk7XHJcbiAgICAgICAgICAgIGxldCByZWN0ID0gY2MudmlzaWJsZVJlY3Q7XHJcbiAgICAgICAgICAgIGxldCBjYW1lcmEgPSBjYy5DYW1lcmEuZmluZENhbWVyYSh0aGlzLm5vZGUpO1xyXG4gICAgICAgICAgICBpZiAoY2FtZXJhKSB7XHJcbiAgICAgICAgICAgICAgICBfdmVjMl90ZW1wLnggPSAwO1xyXG4gICAgICAgICAgICAgICAgX3ZlYzJfdGVtcC55ID0gMDtcclxuICAgICAgICAgICAgICAgIF92ZWMyX3RlbXAyLnggPSBfdmVjMl90ZW1wLnggKyByZWN0LndpZHRoO1xyXG4gICAgICAgICAgICAgICAgX3ZlYzJfdGVtcDIueSA9IF92ZWMyX3RlbXAueSArIHJlY3QuaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgY2FtZXJhLmdldFNjcmVlblRvV29ybGRQb2ludChfdmVjMl90ZW1wLCBfdmVjMl90ZW1wKTtcclxuICAgICAgICAgICAgICAgIGNhbWVyYS5nZXRTY3JlZW5Ub1dvcmxkUG9pbnQoX3ZlYzJfdGVtcDIsIF92ZWMyX3RlbXAyKTtcclxuICAgICAgICAgICAgICAgIGNjLlZlYzIudHJhbnNmb3JtTWF0NChfdmVjMl90ZW1wLCBfdmVjMl90ZW1wLCBfbWF0NF90ZW1wKTtcclxuICAgICAgICAgICAgICAgIGNjLlZlYzIudHJhbnNmb3JtTWF0NChfdmVjMl90ZW1wMiwgX3ZlYzJfdGVtcDIsIF9tYXQ0X3RlbXApO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVZpZXdQb3J0KF92ZWMyX3RlbXAueCwgX3ZlYzJfdGVtcC55LCBfdmVjMl90ZW1wMi54IC0gX3ZlYzJfdGVtcC54LCBfdmVjMl90ZW1wMi55IC0gX3ZlYzJfdGVtcC55KTtcclxuICAgICAgICAgICAgICAgIC8vIOatpOWkhOS/ruaUuSDoi6XkuLrpppbkuKpsYXllciDnvJPlrZhfY3VsbGluZ0RpcnR544CCXHJcbiAgICAgICAgICAgICAgICAvLyBfY3VsbGluZ0RpcnR55Lya5Zyo5aGr5YWF5riy5p+T5pWw5o2u5ZCO6KKr5pS55Li6ZmFsc2Ug5omA5Lul6ZyA6KaB57yT5a2Y6L+Z6YeM55qE57uT5p6cXHJcbiAgICAgICAgICAgICAgICBpZiAoIWZpcnN0VG14TGF5ZXIpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jYWNoZUN1bGxpbmdEaXJ0eSA9IHRoaXMuX2N1bGxpbmdEaXJ0eTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIOS/ruaUuee7k+adn1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIF90cmF2ZXJzZUFsbEdyaWQgKCkge1xyXG4gICAgICAgIGxldCB0aWxlcyA9IHRoaXMuX3RpbGVzO1xyXG4gICAgICAgIGxldCB0ZXhHcmlkcyA9IHRoaXMuX3RleEdyaWRzO1xyXG4gICAgICAgIGxldCB0aWxlc2V0SW5kZXhBcnIgPSB0aGlzLl90aWxlc2V0SW5kZXhBcnI7XHJcbiAgICAgICAgbGV0IHRpbGVzZXRJbmRleFRvQXJySW5kZXggPSB0aGlzLl90aWxlc2V0SW5kZXhUb0FyckluZGV4ID0ge307XHJcblxyXG4gICAgICAgIGNvbnN0IFRpbGVkTWFwID0gY2MuVGlsZWRNYXA7XHJcbiAgICAgICAgY29uc3QgVGlsZUZsYWcgPSBUaWxlZE1hcC5UaWxlRmxhZztcclxuICAgICAgICBjb25zdCBGTElQUEVEX01BU0sgPSBUaWxlRmxhZy5GTElQUEVEX01BU0s7XHJcblxyXG4gICAgICAgIGxldCBzaW5nbGVUZXh0dXJlID0gdGhpcy5fdGlsZWRNYXAuaXNTaW5nbGVUZXh0dXJlKCk7XHJcblxyXG4gICAgICAgIHRpbGVzZXRJbmRleEFyci5sZW5ndGggPSAwO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGlsZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgbGV0IGdpZCA9IHRpbGVzW2ldO1xyXG4gICAgICAgICAgICBpZiAoZ2lkID09PSAwKSBjb250aW51ZTtcclxuICAgICAgICAgICAgZ2lkID0gKChnaWQgJiBGTElQUEVEX01BU0spID4+PiAwKTtcclxuICAgICAgICAgICAgbGV0IGdyaWQgPSB0ZXhHcmlkc1tnaWRdO1xyXG4gICAgICAgICAgICBpZiAoIWdyaWQpIHtcclxuICAgICAgICAgICAgICAgIGNjLmVycm9yKFwiQ0NUaWxlZExheWVyOl90cmF2ZXJzZUFsbEdyaWQgZ3JpZCBpcyBudWxsLCBnaWQgaXM6XCIsIGdpZCk7XHJcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQgdGlsZXNldElkeCA9IGdyaWQudGV4SWQ7XHJcbiAgICAgICAgICAgIGlmICh0aWxlc2V0SW5kZXhUb0FyckluZGV4W3RpbGVzZXRJZHhdICE9PSB1bmRlZmluZWQpIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICB0aWxlc2V0SW5kZXhUb0FyckluZGV4W3RpbGVzZXRJZHhdID0gdGlsZXNldEluZGV4QXJyLmxlbmd0aDtcclxuICAgICAgICAgICAgdGlsZXNldEluZGV4QXJyLnB1c2godGlsZXNldElkeCk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAvLyDmraTlpITkv67mlLkg5b2T5Y+q5pyJ5LiA5Liq5Zu+6ZuG5pe2IOWPr+S7peebtOaOpeWBnOatoumBjeWOhlxyXG4gICAgICAgICAgICBpZiAoc2luZ2xlVGV4dHVyZSkge1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8g5L+u5pS557uT5p2fXHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxufSk7XHJcbiJdfQ== +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/TmoDemo/Script/TmoGame.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, '0d96eU/lZVHW4W4yuZIhrlV', 'TmoGame'); +// TmoDemo/Script/TmoGame.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 +cc.Class({ + "extends": cc.Component, + properties: { + tiledMapAfter: cc.TiledMap, + tiledMapOrigin: cc.TiledMap + }, + start: function start() { + window.game = this; + var isAfter = true; // var isAfter = false; + + if (isAfter) { + this.tiledMapOrigin.node.active = false; + } else { + this.tiledMapAfter.node.active = false; + } + + this.addTimeLog(); + }, + addTimeLog: function addTimeLog() { + var renderCount = 1; + cc.director.on(cc.Director.EVENT_BEFORE_DRAW, function () { + if (renderCount < 200) { + console.time("render"); + } + }); + cc.director.on(cc.Director.EVENT_AFTER_DRAW, function () { + if (renderCount++ < 200) { + console.timeEnd("render"); + } + }); // cc.director.on(cc.Director.EVENT_BEFORE_UPDATE, ()=>{ + // if (renderCount < 200) { + // console.time("logic"); + // } + // }); + // cc.director.on(cc.Director.EVENT_AFTER_UPDATE, ()=>{ + // if (renderCount++ < 200) { + // console.timeEnd("logic"); + // } + // }); + } +}); + +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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcVG1vRGVtb1xcU2NyaXB0XFxUbW9HYW1lLmpzIl0sIm5hbWVzIjpbImNjIiwiQ2xhc3MiLCJDb21wb25lbnQiLCJwcm9wZXJ0aWVzIiwidGlsZWRNYXBBZnRlciIsIlRpbGVkTWFwIiwidGlsZWRNYXBPcmlnaW4iLCJzdGFydCIsIndpbmRvdyIsImdhbWUiLCJpc0FmdGVyIiwibm9kZSIsImFjdGl2ZSIsImFkZFRpbWVMb2ciLCJyZW5kZXJDb3VudCIsImRpcmVjdG9yIiwib24iLCJEaXJlY3RvciIsIkVWRU5UX0JFRk9SRV9EUkFXIiwiY29uc29sZSIsInRpbWUiLCJFVkVOVF9BRlRFUl9EUkFXIiwidGltZUVuZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQUEsRUFBRSxDQUFDQyxLQUFILENBQVM7QUFDTCxhQUFTRCxFQUFFLENBQUNFLFNBRFA7QUFHTEMsRUFBQUEsVUFBVSxFQUFFO0FBQ1JDLElBQUFBLGFBQWEsRUFBRUosRUFBRSxDQUFDSyxRQURWO0FBRVJDLElBQUFBLGNBQWMsRUFBRU4sRUFBRSxDQUFDSztBQUZYLEdBSFA7QUFRTEUsRUFBQUEsS0FSSyxtQkFRSTtBQUNMQyxJQUFBQSxNQUFNLENBQUNDLElBQVAsR0FBYyxJQUFkO0FBQ0EsUUFBSUMsT0FBTyxHQUFHLElBQWQsQ0FGSyxDQUdMOztBQUVBLFFBQUlBLE9BQUosRUFBYTtBQUNULFdBQUtKLGNBQUwsQ0FBb0JLLElBQXBCLENBQXlCQyxNQUF6QixHQUFrQyxLQUFsQztBQUNILEtBRkQsTUFFTztBQUNILFdBQUtSLGFBQUwsQ0FBbUJPLElBQW5CLENBQXdCQyxNQUF4QixHQUFpQyxLQUFqQztBQUNIOztBQUVELFNBQUtDLFVBQUw7QUFDSCxHQXBCSTtBQXNCTEEsRUFBQUEsVUF0Qkssd0JBc0JTO0FBQ1YsUUFBSUMsV0FBVyxHQUFHLENBQWxCO0FBQ0FkLElBQUFBLEVBQUUsQ0FBQ2UsUUFBSCxDQUFZQyxFQUFaLENBQWVoQixFQUFFLENBQUNpQixRQUFILENBQVlDLGlCQUEzQixFQUE4QyxZQUFJO0FBQzlDLFVBQUlKLFdBQVcsR0FBRyxHQUFsQixFQUF1QjtBQUNuQkssUUFBQUEsT0FBTyxDQUFDQyxJQUFSLENBQWEsUUFBYjtBQUNIO0FBQ0osS0FKRDtBQU1BcEIsSUFBQUEsRUFBRSxDQUFDZSxRQUFILENBQVlDLEVBQVosQ0FBZWhCLEVBQUUsQ0FBQ2lCLFFBQUgsQ0FBWUksZ0JBQTNCLEVBQTZDLFlBQUk7QUFDN0MsVUFBSVAsV0FBVyxLQUFLLEdBQXBCLEVBQXlCO0FBQ3JCSyxRQUFBQSxPQUFPLENBQUNHLE9BQVIsQ0FBZ0IsUUFBaEI7QUFDSDtBQUNKLEtBSkQsRUFSVSxDQWVWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0g7QUFoREksQ0FBVCIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTGVhcm4gY2MuQ2xhc3M6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL2NsYXNzLmh0bWxcclxuLy8gTGVhcm4gQXR0cmlidXRlOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9yZWZlcmVuY2UvYXR0cmlidXRlcy5odG1sXHJcbi8vIExlYXJuIGxpZmUtY3ljbGUgY2FsbGJhY2tzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9saWZlLWN5Y2xlLWNhbGxiYWNrcy5odG1sXHJcblxyXG5jYy5DbGFzcyh7XHJcbiAgICBleHRlbmRzOiBjYy5Db21wb25lbnQsXHJcblxyXG4gICAgcHJvcGVydGllczoge1xyXG4gICAgICAgIHRpbGVkTWFwQWZ0ZXI6IGNjLlRpbGVkTWFwLFxyXG4gICAgICAgIHRpbGVkTWFwT3JpZ2luOiBjYy5UaWxlZE1hcCxcclxuICAgIH0sXHJcblxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHdpbmRvdy5nYW1lID0gdGhpcztcclxuICAgICAgICB2YXIgaXNBZnRlciA9IHRydWU7XHJcbiAgICAgICAgLy8gdmFyIGlzQWZ0ZXIgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgaWYgKGlzQWZ0ZXIpIHtcclxuICAgICAgICAgICAgdGhpcy50aWxlZE1hcE9yaWdpbi5ub2RlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudGlsZWRNYXBBZnRlci5ub2RlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5hZGRUaW1lTG9nKCk7XHJcbiAgICB9LFxyXG5cclxuICAgIGFkZFRpbWVMb2cgKCkge1xyXG4gICAgICAgIGxldCByZW5kZXJDb3VudCA9IDE7XHJcbiAgICAgICAgY2MuZGlyZWN0b3Iub24oY2MuRGlyZWN0b3IuRVZFTlRfQkVGT1JFX0RSQVcsICgpPT57XHJcbiAgICAgICAgICAgIGlmIChyZW5kZXJDb3VudCA8IDIwMCkge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS50aW1lKFwicmVuZGVyXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICBcclxuICAgICAgICBjYy5kaXJlY3Rvci5vbihjYy5EaXJlY3Rvci5FVkVOVF9BRlRFUl9EUkFXLCAoKT0+e1xyXG4gICAgICAgICAgICBpZiAocmVuZGVyQ291bnQrKyA8IDIwMCkge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS50aW1lRW5kKFwicmVuZGVyXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG5cclxuICAgICAgICAvLyBjYy5kaXJlY3Rvci5vbihjYy5EaXJlY3Rvci5FVkVOVF9CRUZPUkVfVVBEQVRFLCAoKT0+e1xyXG4gICAgICAgIC8vICAgICBpZiAocmVuZGVyQ291bnQgPCAyMDApIHtcclxuICAgICAgICAvLyAgICAgICAgIGNvbnNvbGUudGltZShcImxvZ2ljXCIpO1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfSk7XHJcbiAgICBcclxuICAgICAgICAvLyBjYy5kaXJlY3Rvci5vbihjYy5EaXJlY3Rvci5FVkVOVF9BRlRFUl9VUERBVEUsICgpPT57XHJcbiAgICAgICAgLy8gICAgIGlmIChyZW5kZXJDb3VudCsrIDwgMjAwKSB7XHJcbiAgICAgICAgLy8gICAgICAgICBjb25zb2xlLnRpbWVFbmQoXCJsb2dpY1wiKTtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH0pO1xyXG4gICAgfSxcclxuXHJcbn0pO1xyXG4iXX0= +//------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 等版本库,请将此脚本一并上传。 + */ +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/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(210, 453, 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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QUcsSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUMzQyxVQUFVLENBQUM7b0JBQ1AsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUN4QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDWDtpQkFDRztnQkFDQSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztnQkFDeEUsVUFBVSxDQUFDO29CQUNQLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDeEIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2FBQ1g7UUFFTCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUEzSEQ7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFVLFFBQVE7K0NBQ2I7SUFFdkI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFVLFdBQVc7aURBQ2Q7SUFFekI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFRLFFBQVE7OENBQ1o7SUFOUCxXQUFXO1FBRC9CLE9BQU87T0FDYSxXQUFXLENBK0gvQjtJQUFELGtCQUFDO0NBL0hELEFBK0hDLENBL0h3QyxFQUFFLENBQUMsU0FBUyxHQStIcEQ7a0JBL0hvQixXQUFXIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCBMaXN0IGZyb20gXCIuL21vZHVsZS9SYW5rTGlzdC9MaXN0XCI7XHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcbi8v5o6S6KGM5qacXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJhbmtNYW5hZ2VyIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKSAgICAgICAgICAvL+eUqOaIt+S4iuaWueWktOWDj1xyXG4gICAgUGxheWVyOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKSAgICAgICAgICAvL+eUqOaIt+acgOS4i+aWueS4quS6uuS/oeaBr1xyXG4gICAgc2VsZk5vZGU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlNwcml0ZSkgICAgICAgIC8v55So5oi35aS05YOP5o2i5Zu+XHJcbiAgICBwaG9uZTogY2MuU3ByaXRlID0gbnVsbDtcclxuICAgIHByaXZhdGUgcmFua0xpc3Q6IExpc3Q7ICAgICAvL+aOkuihjOamnFxyXG4gICAgdHdlZW46IGNjLlR3ZWVuPGNjLk5vZGU+OyAgIC8v5pyA5LiK5pa555So5oi35aS05YOP5Yqo55S7XHJcbiAgICBsaXN0RGF0YTogYW55OyAgICAgICAgICAgICAgLy/mgLvliJfooajkv6Hmga9cclxuICAgIHNlbGZEYXRhOiBhbnk7ICAgICAgICAgICAgICAvL+iHquW3seS/oeaBr1xyXG4gICAgcmFua051bWJlcjogbnVtYmVyOyAgICAgICAgIC8v55So5oi36Ieq5bex5o6S5ZCNIOacieWPr+iDveS4jeWcqOaOkuihjOamnOWGhTk5K1xyXG4gICAgcmFua1RvdGFsOiBudW1iZXI7ICAgICAgICAgIC8v6I635Y+W5o6S6KGM5qac55So5oi35pWw6YePIOeOsOWcqOS4ujEwMFxyXG5cclxuICAgIG9uTG9hZCgpIHtcclxuICAgICAgICB0aGlzLmluaXQoKTtcclxuICAgIH1cclxuICAgIC8v5Yid5aeL5YyW5pWw5o2uXHJcbiAgICBpbml0KCl7XHJcbiAgICAgICAgdGhpcy5yYW5rTGlzdCA9IGNjLmZpbmQoXCJTY3JvbGxWaWV3XCIsIHRoaXMubm9kZSkuZ2V0Q29tcG9uZW50KExpc3QpO1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmxpc3REYXRhID0gW107XHJcbiAgICAgICAgdGhpcy5zZWxmRGF0YSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5yYW5rTnVtYmVyID0gMTAwO1xyXG4gICAgICAgIHRoaXMucmFua1RvdGFsPSAxMDA7XHJcbiAgICAgICAgdGhpcy5zZWxmTm9kZS5vcGFjaXR5ID0gMDtcclxuICAgIH1cclxuXHJcbiAgICBzdGFydCgpIHtcclxuICAgICAgICB0aGlzLlBsYXllci5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmdldFJhbmsoKTtcclxuICAgIH1cclxuICAgIC8v6LCD55So6I635Y+W5o6S6KGM5qac5o6l5Y+jXHJcbiAgICBnZXRSYW5rKCl7XHJcbiAgICAgICAgbGV0IGRhdGFGaWxlID0ge1xyXG4gICAgICAgICAgICBsZW5ndGg6MTAwXHJcbiAgICAgICAgfVxyXG4gICAgICAgICBjYy5meC5HYW1lVG9vbC5nZXRSYW5rKGRhdGFGaWxlLGRhdGEgPT50aGlzLmdldFJhbmtEYXRhKGRhdGEpKTtcclxuICAgIH1cclxuICAgIC8v5a6e6ZmF6K6+572u5o6S6KGM5pWw5o2uXHJcbiAgICBnZXRSYW5rRGF0YShkYXRhKXtcclxuICAgICAgICBpZihkYXRhKXtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coZGF0YSk7XHJcbiAgICAgICAgICAgICBjYy5meC5HYW1lVG9vbC5nZXRSYW5rRGF0YShkYXRhLHRoaXMsNik7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0UGljKHRoaXMuc2VsZkRhdGEucGljKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+i/lOWbnuaMiemSrlxyXG4gICAgYmFja0NsaWNrKCl7XHJcbiAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiTG9hZFNjZW5lXCIpO1xyXG4gICAgfVxyXG4gICAgLy/mnIDkuIrmlrnnlKjmiLfliqjnlLtcclxuICAgIHBsYXllckFjdGlvbigpe1xyXG4gICAgICAgIC8vLTI1NCAzNzcgIDIxMCA0NTNcclxuICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgbGV0IHRpbWUgPSAxO1xyXG4gICAgICAgIHRoaXMudHdlZW4gPSBjYy50d2Vlbih0aGlzLlBsYXllcilcclxuICAgICAgICAudG8oMix7cG9zaXRpb246Y2MudjMoMjEwLDQ1MywwKX0pXHJcbiAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJudW1iZXJcIilcclxuICAgICAgICAgICAgLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gIHBhcnNlSW50KHRpbWUqMTAwICsgXCJcIikgKyBcIiVcIjtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIHRpbWUgPSAodGhpcy5saXN0RGF0YS5sZW5ndGggLSB0aGlzLnJhbmtOdW1iZXIpL3RoaXMubGlzdERhdGEubGVuZ3RoO1xyXG4gICAgICAgIGlmKHRoaXMubGlzdERhdGEubGVuZ3RoID49IDk5KXtcclxuICAgICAgICAgICAgaWYodGhpcy5yYW5rTnVtYmVyID49IDk5KXtcclxuICAgICAgICAgICAgICAgIHRpbWUgPSAoTWF0aC5yYW5kb20oKSo0OSsxKS8xMDBcclxuICAgICAgICAgICAgICAgIHZhciBtYXRjaElkID0gY2Muc3lzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibWF0Y2hOdW1iZXJcIik7XHJcbiAgICAgICAgICAgICAgICBpZihtYXRjaElkID09IG51bGwgfHwgbWF0Y2hJZCA9PSB1bmRlZmluZWQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRpbWUgPSAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBpZih0aGlzLnR3ZWVuKXRoaXMudHdlZW4uc3RvcCgpO1xyXG4gICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwibnVtYmVyXCIpXHJcbiAgICAgICAgICAgIC5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9ICBwYXJzZUludCh0aW1lKjEwMCArIFwiXCIpICsgXCIlXCI7XHJcbiAgICAgICAgfSwgdGltZSoyMDAwKTtcclxuXHJcbiAgICB9XHJcbiAgICAvL+iuvue9ruWktOWDjyAg5aSE55CG55qE6YC76L6R5q+U6L6D5aSa77yM5LiN55So5YWs5YWx57G755qE5LqGXHJcbiAgICBwdWJsaWMgc2V0UGljKHBpYyl7XHJcbiAgICAgICAgdGhpcy5waG9uZS5ub2RlLnBhcmVudC5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5waG9uZS5ub2RlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5QbGF5ZXIub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaG9uZVwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICBmZXRjaChwaWMpXHJcbiAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuaGVhZGVycy5nZXQoJ0NvbnRlbnQtTGVuZ3RoJyk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAudGhlbihlcnJObyA9PiB7XHJcbiAgICAgICAgICAgIGlmKGVyck5vID09IFwiNTA5M1wiKXtcclxuICAgICAgICAgICAgICAgIHRoaXMucGhvbmUubm9kZS5wYXJlbnQuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jYXRjaChlcnJvciA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIFgtSW5mbzonLCBlcnJvcik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdmFyIHNlbGYgPSB0aGlzO1xyXG4gICAgICAgIGNjLmFzc2V0TWFuYWdlci5sb2FkUmVtb3RlKHBpYywge2V4dDonLnBuZyd9LChlcnIsIHRleHR1cmU6Y2MuVGV4dHVyZTJEKSA9PiB7XHJcbiAgICAgICAgICAgIHNlbGYuUGxheWVyLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgIGlmKHRleHR1cmUpe1xyXG4gICAgICAgICAgICAgICAgc2VsZi5waG9uZS5ub2RlLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBzZWxmLnBob25lLnNwcml0ZUZyYW1lID0gbmV3IGNjLlNwcml0ZUZyYW1lKHRleHR1cmUpO1xyXG4gICAgICAgICAgICAgICAgc2VsZi5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHNlbGYuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcInBob25lXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBzZWxmLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaG9uZVwiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKVxyXG4gICAgICAgICAgICAgICAgLnNwcml0ZUZyYW1lID0gbmV3IGNjLlNwcml0ZUZyYW1lKHRleHR1cmUpO1xyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZi5wbGF5ZXJBY3Rpb24oKTtcclxuICAgICAgICAgICAgICAgIH0sIDUwMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHNlbGYuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHNlbGYucGxheWVyQWN0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICB9LCA1MDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ== +//------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/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.total + ""; + if (cc.fx.GameConfig.GM_INFO.mean_Time > 10) { + cc.fx.GameConfig.GM_INFO.mean_Time = (parseInt(Math.random() * 10 + "") + 5) / 10; + } + this.time.string = cc.fx.GameConfig.GM_INFO.mean_Time + "s"; + 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.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); + for (var i = 0; i <= 4; 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; + cc.fx.GameTool.subName(data.nickName, 4); + hitNode.getChildByName("name").getComponent(cc.Label).string = data.nickName; + hitNode.getChildByName("total").getComponent(cc.Label).string = data.totalSunCount; + 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lT3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDTSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQTJGQztRQXpGRyxXQUFLLEdBQWEsSUFBSSxDQUFDO1FBRXZCLFVBQUksR0FBYSxJQUFJLENBQUM7UUFFdEIsY0FBUSxHQUFZLElBQUksQ0FBQztRQUV6QixTQUFHLEdBQVksSUFBSSxDQUFDO1FBRXBCLFNBQUcsR0FBWSxJQUFJLENBQUM7UUFFcEIsV0FBSyxHQUFZLElBQUksQ0FBQztRQUV0QixVQUFJLEdBQVksSUFBSSxDQUFDO1FBRXJCLFVBQUksR0FBWSxJQUFJLENBQUM7O0lBMkV6QixDQUFDO0lBeEVHLGVBQWU7SUFDZix3QkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDeEQsSUFBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLEVBQUUsRUFBQztZQUN2QyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBQyxFQUFFLEdBQUMsRUFBRSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxDQUFBO1NBQzVFO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUM7UUFDNUQsSUFBSSxDQUFDLElBQUks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Q29udGVudCI6WyJcclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcbiAgICBAcHJvcGVydHkoY2MuTGFiZWwpXHJcbiAgICBjb3VudDogY2MuTGFiZWwgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLkxhYmVsKVxyXG4gICAgdGltZTogY2MuTGFiZWwgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBzZWxmTm9kZTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIG9uZTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIHR3bzogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIHRocmVlOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgZm91cjogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIGZpdmU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgbGlzdERhdGE6IGFueTtcclxuICAgIHNlbGZEYXRhOiBhbnk7XHJcbiAgICAvLyBvbkxvYWQgKCkge31cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICB0aGlzLmNvdW50LnN0cmluZyA9IGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy50b3RhbCArIFwiXCI7XHJcbiAgICAgICAgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1lYW5fVGltZSA+IDEwKXtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1lYW5fVGltZSA9IChwYXJzZUludChNYXRoLnJhbmRvbSgpKjEwK1wiXCIpKzUpLzEwXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudGltZS5zdHJpbmcgPSBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWVhbl9UaW1lICsgXCJzXCI7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcbiAgICAvL+WIneWni+WMluaVsOaNrlxyXG4gICAgaW5pdCgpe1xyXG4gICAgICAgIHRoaXMubGlzdERhdGEgPSBbXTtcclxuICAgICAgICB0aGlzLnNlbGZEYXRhID0gbnVsbDtcclxuICAgICAgICB0aGlzLm9uZS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnR3by5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnRocmVlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZm91ci5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZpdmUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5nZXRSYW5rKCk7XHJcbiAgICB9XHJcbiAgICAvL+aJk+W8gOaOkuihjOamnFxyXG4gICAgb3BlblJhbmsoKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJSYW5rU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+mHjeaWsOW8gOWni+eOqVxyXG4gICAgYWdhaW4oKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+iOt+WPluaOkuihjOamnFxyXG4gICAgZ2V0UmFuaygpe1xyXG4gICAgICAgIC8v6I635Y+W5o6S6KGM5qac5pWw5o2uICDmiYDpnIDmlbDmja7ph49cclxuICAgICAgICBsZXQgZGF0YUZpbGUgPSB7XHJcbiAgICAgICAgICAgIGxlbmd0aDo1XHJcbiAgICAgICAgfVxyXG4gICAgICAgICBjYy5meC5HYW1lVG9vbC5nZXRSYW5rKGRhdGFGaWxlLGRhdGEgPT50aGlzLmdldFJhbmtEYXRhKGRhdGEpKTtcclxuICAgIH1cclxuICAgIC8v6K6+572u5o6S6KGM5L+h5oGvXHJcbiAgICBnZXRSYW5rRGF0YShkYXRhKXtcclxuICAgICAgICBpZihkYXRhKXtcclxuICAgICAgICAgICAgIGNjLmZ4LkdhbWVUb29sLmdldFJhbmtEYXRhKGRhdGEsdGhpcyw0KTtcclxuICAgICAgICAgICAgIGNjLmZ4LkdhbWVUb29sLnNldFBpYyh0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKSx0aGlzLnNlbGZEYXRhLnBpYyk7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT0wO2k8PTQ7aSsrKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0UmFuayhpLHRoaXMubGlzdERhdGFbaV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/moLnmja7lhoXlrrnloavlhYXmjpLooYzmppxcclxuICAgIHNldFJhbmsobnVtLGRhdGEpe1xyXG4gICAgICAgIHZhciBoaXROb2RlID0gbnVsbDtcclxuICAgICAgICBpZihudW0gPT0gMCl7XHJcbiAgICAgICAgICAgIGhpdE5vZGUgPSB0aGlzLm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW0gPT0gMSl7XHJcbiAgICAgICAgICAgIGhpdE5vZGUgPSB0aGlzLnR3bztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW0gPT0gMil7XHJcbiAgICAgICAgICAgIGhpdE5vZGUgPSB0aGlzLnRocmVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bSA9PSAzKXtcclxuICAgICAgICAgICAgaGl0Tm9kZSA9IHRoaXMuZm91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW0gPT0gNCl7XHJcbiAgICAgICAgICAgIGhpdE5vZGUgPSB0aGlzLmZpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGhpdE5vZGUpe1xyXG4gICAgICAgICAgICBoaXROb2RlLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICBjYy5meC5HYW1lVG9vbC5zdWJOYW1lKGRhdGEubmlja05hbWUsNCk7XHJcbiAgICAgICAgICAgIGhpdE5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJuYW1lXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gZGF0YS5uaWNrTmFtZTtcclxuICAgICAgICAgICAgaGl0Tm9kZS5nZXRDaGlsZEJ5TmFtZShcInRvdGFsXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gZGF0YS50b3RhbFN1bkNvdW50O1xyXG4gICAgICAgICAgICAgY2MuZnguR2FtZVRvb2wuc2V0UGljKGhpdE5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLGRhdGEucGljKTtcclxuICAgICAgICB9XHJcbiAgICB9ICAgXHJcbn1cclxuIl19 +//------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; + }; + 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; + 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 = []; + }; + NewClass.prototype.back_Click = function () { + if (!this.canTouch) + return; + if (this.tipArray.length > 0) { + var tip = this.tipArray[this.tipArray.length - 1]; + tip.active = false; + tip.removeFromParent(this.Map); + tip = null; + this.tipArray.pop(); + this.controlArray.pop(); + } + }; + NewClass.prototype.btn_Click = function (target, data) { + if (!this.canTouch) + return; + var prefab = this.tip; + if (data == "reinforce" || data == "soil") { + prefab = this[data]; + } + 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); + cc.fx.Notifications.emit(cc.fx.Message.control, data); + }; + NewClass.prototype.start_Click = function () { + if (!this.canTouch) + return; + this.canTouch = false; + 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxDb250cm9sTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1RSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQWdHQztRQTdGRyxTQUFHLEdBQVksSUFBSSxDQUFDO1FBRXBCLFNBQUcsR0FBYyxJQUFJLENBQUM7UUFFdEIsZUFBUyxHQUFjLElBQUksQ0FBQztRQUU1QixVQUFJLEdBQWMsSUFBSSxDQUFDOztRQXNGdkIsaUJBQWlCO0lBQ3JCLENBQUM7SUFqRkcsd0JBQXdCO0lBRXhCLGVBQWU7SUFFZix3QkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVELDhCQUFXLEdBQVgsVUFBWSxHQUFHO1FBQ1gsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QixJQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBQztZQUN4QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUM7WUFDcEMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLElBQUksSUFBSSxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUMs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LCJzb3VyY2VzQ29udGVudCI6WyIvLyBMZWFybiBUeXBlU2NyaXB0OlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy90eXBlc2NyaXB0Lmh0bWxcclxuLy8gTGVhcm4gQXR0cmlidXRlOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9yZWZlcmVuY2UvYXR0cmlidXRlcy5odG1sXHJcbi8vIExlYXJuIGxpZmUtY3ljbGUgY2FsbGJhY2tzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9saWZlLWN5Y2xlLWNhbGxiYWNrcy5odG1sXHJcblxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5ld0NsYXNzIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuXHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIE1hcDogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgdGlwOiBjYy5QcmVmYWIgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIHJlaW5mb3JjZTogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5QcmVmYWIpXHJcbiAgICBzb2lsOiBjYy5QcmVmYWIgPSBudWxsO1xyXG4gICAgXHJcblxyXG4gICAgdGlwQXJyYXk6YW55O1xyXG4gICAgY29udHJvbEFycmF5OmFueTtcclxuICAgIGNhblRvdWNoOmJvb2xlYW47XHJcbiAgICAvLyBMSUZFLUNZQ0xFIENBTExCQUNLUzpcclxuXHJcbiAgICAvLyBvbkxvYWQgKCkge31cclxuXHJcbiAgICBzdGFydCAoKSB7XHJcbiAgICAgICAgdGhpcy50aXBBcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuY29udHJvbEFycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5jYW5Ub3VjaCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0UG9zaXRpb24odGlwKXtcclxuICAgICAgICB0aXAuc2V0UG9zaXRpb24oMzAsLTM1KTtcclxuICAgICAgICBpZih0aGlzLnRpcEFycmF5Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBsZXQgbGVuZ3RoID0gdGhpcy50aXBBcnJheS5sZW5ndGgrMTtcclxuICAgICAgICAgICAgbGV0IHBvc1kgPSBNYXRoLmNlaWwobGVuZ3RoLzgpIC0gMTtcclxuICAgICAgICAgICAgbGV0IHBvc1ggPSBsZW5ndGggLSBNYXRoLmZsb29yKHBvc1kpKjggLSAxO1xyXG4gICAgICAgICAgICB0aXAuc2V0UG9zaXRpb24oMzAgKyA0OCpwb3NYLC0zNSAtNDgqcG9zWSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZUFsbFRpcCgpe1xyXG4gICAgICAgIGlmKCF0aGlzLmNhblRvdWNoKSByZXR1cm47XHJcbiAgICAgICAgZm9yKGxldCBpPTA7IGk8dGhpcy50aXBBcnJheS5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgbGV0IHRpcCA9IHRoaXMudGlwQXJyYXlbaV07XHJcbiAgICAgICAgICAgIHRpcC5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGlwLnJlbW92ZUZyb21QYXJlbnQodGhpcy5NYXApO1xyXG4gICAgICAgICAgICB0aXAgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnRpcEFycmF5ID0gW107XHJcbiAgICB9XHJcblxyXG4gICAgYmFja19DbGljaygpe1xyXG4gICAgICAgIGlmKCF0aGlzLmNhblRvdWNoKSByZXR1cm47XHJcbiAgICAgICAgaWYodGhpcy50aXBBcnJheS5sZW5ndGggPiAwKXtcclxuICAgICAgICAgICAgbGV0IHRpcCA9IHRoaXMudGlwQXJyYXlbdGhpcy50aXBBcnJheS5sZW5ndGgtMV07XHJcbiAgICAgICAgICAgIHRpcC5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGlwLnJlbW92ZUZyb21QYXJlbnQodGhpcy5NYXApO1xyXG4gICAgICAgICAgICB0aXAgPSBudWxsO1xyXG4gICAgICAgICAgICB0aGlzLnRpcEFycmF5LnBvcCgpO1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRyb2xBcnJheS5wb3AoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGJ0bl9DbGljayh0YXJnZXQsZGF0YSl7XHJcbiAgICAgICAgaWYoIXRoaXMuY2FuVG91Y2gpIHJldHVybjtcclxuICAgICAgICBsZXQgcHJlZmFiID0gdGhpcy50aXA7XHJcbiAgICAgICAgaWYoZGF0YSA9PSBcInJlaW5mb3JjZVwiIHx8IGRhdGEgPT0gXCJzb2lsXCIpe1xyXG4gICAgICAgICAgICBwcmVmYWIgPSB0aGlzW2RhdGFdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgdGlwID0gY2MuaW5zdGFudGlhdGUocHJlZmFiKTtcclxuICAgICAgICBpZihkYXRhID09IFwidXBcIikgdGlwLmFuZ2xlID0gMTgwO1xyXG4gICAgICAgIGlmKGRhdGEgPT0gXCJsZWZ0XCIpIHRpcC5hbmdsZSA9IC05MDtcclxuICAgICAgICBpZihkYXRhID09IFwicmlnaHRcIikgdGlwLmFuZ2xlID0gOTA7XHJcbiAgICAgICAgdGlwLnBhcmVudCA9IHRoaXMuTWFwO1xyXG4gICAgICBcclxuXHJcbiAgICAgICAgaWYodGhpcy5jb250cm9sQXJyYXlbdGhpcy5jb250cm9sQXJyYXkubGVuZ3RoLTFdID09IFwicmVpbmZvcmNlXCIgfHwgXHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbEFycmF5W3RoaXMuY29udHJvbEFycmF5Lmxlbmd0aC0xXSA9PSBcInNvaWxcIil7XHJcbiAgICAgICAgICAgICAgICBpZihkYXRhID09IFwicmVpbmZvcmNlXCIgfHwgZGF0YSA9PSBcInNvaWxcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aXBBcnJheVt0aGlzLnRpcEFycmF5Lmxlbmd0aC0xXS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aXBBcnJheVt0aGlzLnRpcEFycmF5Lmxlbmd0aC0xXSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aXBBcnJheS5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2xBcnJheS5wb3AoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXRQb3NpdGlvbih0aXApO1xyXG5cclxuICAgICAgICB0aGlzLnRpcEFycmF5LnB1c2godGlwKTtcclxuICAgICAgICB0aGlzLmNvbnRyb2xBcnJheS5wdXNoKGRhdGEpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLmNvbnRyb2wsZGF0YSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHN0YXJ0X0NsaWNrKCl7XHJcbiAgICAgICAgaWYoIXRoaXMuY2FuVG91Y2gpIHJldHVybjtcclxuICAgICAgICB0aGlzLmNhblRvdWNoID0gZmFsc2U7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc3RhcnRHYW1lLHRoaXMuY29udHJvbEFycmF5KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyB1cGRhdGUgKGR0KSB7fVxyXG59XHJcbiJdfQ== +//------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() { @@ -2123,7 +1227,7 @@ cc._RF.pop(); (function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/ControlManager.js'; + var __filename = 'preview-scripts/assets/Script/GameManager.js'; var __require = nodeEnv ? function (request) { return cc.require(request); } : function (request) { @@ -2131,8 +1235,1185 @@ cc._RF.pop(); }; function __define (exports, require, module) { if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, 'e35abcX5VRAoItO6mgFcYyX', 'ControlManager'); -// Script/ControlManager.ts +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; + return _this; + } + GameManager.prototype.onLoad = function () { + }; + GameManager.prototype.start = function () { + this.fit(); + this.init(); + }; + //初始化数据 + GameManager.prototype.init = function () { + this.initMap(); + this.countTime = cc.fx.GameConfig.TIME_INFO.totalTime; + this.waterTime = cc.fx.GameConfig.TIME_INFO.waterTime[cc.fx.GameConfig.GM_INFO.level]; + 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); + }; + //初始化地图` + GameManager.prototype.initMap = function () { + this.block_Array = []; + this.path_Array = []; + this.water_Array = []; + this.map_Array = []; + this.plan_over = false; + this.map_Hight = 0; + this.map_Width = 0; + var number = 10; //9 + number = Math.floor(Math.random() * cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level].length); + // number = 1; + var arr = cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][number].map; + debugger; + this.node.getChildByName("Top").getChildByName("id").getComponent(cc.Label).string = + cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][number].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; + } + } + 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)); + // console.log(this.water_Array); + // debugger; + 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); + // console.log(this.water_Array); + } + } + 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"; + setTimeout(function () { + if (!_this.plan_over) { + console.log("准备出水"); + _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); + _this.waterTween.stop(); + progress.fillRange = 1; + _this.runWater(0); + } + }, 500); + } + 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) { + direction = "Reinforce"; + } + 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; + 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" && 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); + } + }; + //判断边界。或者撞山,或者湿地没有加固 + 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("超过边界,游戏结束"); + } + 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("修筑山峰,游戏结束"); + } + else if (target.block_Type == 2 && direction != "Reinforce") { + jg = false; + console.log("修筑未加固湿地,游戏结束"); + alert("修筑未加固湿地,游戏结束"); + } + } + 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 (this.water_Array[order].z == 6 && order + 1 < this.water_Array.length) { + 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); + } + } + // console.log(order,this.path_Array[order].x,this.path_Array[order].y,i); + var jg = this.getBoundary(order, this.water_Array[order].x, this.water_Array[order].y, direction, this.water_Array); + console.log("步骤:", order, "方向", direction); + if (direction == "" || jg == 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 data = { + order: order, + time: cc.fx.GameConfig.TIME_INFO.waterSpeed[cc.fx.GameConfig.GM_INFO.level], + type: this.water_Array[order].z, + circulate: circulate + }; + 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"; + } + 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; + } + } + } + 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) { + 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) { + 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) { + 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) { + 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 { + 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); + } + } + } + }; + GameManager.prototype.changeMap = function (data) { + }; + //获取洪峰方向 + 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"); + }; + //下一关,或者重新开始,或者返回上一关,根据level决定 + GameManager.prototype.reStart = function (type) { + }; + //获取时间戳 + GameManager.prototype.getTime = function () { + var timestamp = new Date().getTime(); + return timestamp; + }; + //获胜 + GameManager.prototype.passLevel = function () { + }; + //失败 + GameManager.prototype.loseLevel = function (type) { + //1: 1649 + //2: 3646 + //3: 5546 + //4: 2600 + //5: 694 + }; + //开始游戏 + GameManager.prototype.startGame = function (data) { + this.setMap(data); + }; + 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.plan_over = true; + setTimeout(function () { + _this.runWater(0); + }, 500); + } + } + } + }; + //如果是倒计时 调用此方法 + GameManager.prototype.updateCountDownTime = function () { + if (this.countTime > 0) { + this.countTime -= 1; + 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.unschedule(this.updateCountDownTime); + var time = 0; + this.gameOver(time); + } + } + }; + //上传每次操作数据 + GameManager.prototype.setData = function () { + cc.fx.GameTool.setGameData(); + }; + //上传排行榜数据 + GameManager.prototype.gameOver = function (time) { + cc.fx.GameTool.setRank(time); + this.node.getChildByName("GameOver").active = true; + this.node.getChildByName("GameOver").opacity = 0; + cc.tween(this.node.getChildByName("GameOver")) + .to(0.4, { opacity: 255 }) + .delay(2) + .to(0.4, { opacity: 50 }) + .call(function () { + cc.director.loadScene("OverScene"); + }) + .start(); + }; + GameManager.prototype.clickSun = function (data) { + }; + GameManager.prototype.addEnd = function (data) { + }; + GameManager.prototype.nextWater = function () { + }; + 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.changeMap, this.changeMap, this); + cc.fx.Notifications.on(cc.fx.Message.addEnd, this.addEnd, 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.changeMap, this.changeMap); + cc.fx.Notifications.off(cc.fx.Message.addEnd, this.addEnd); + }; + 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); + 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpQ0FBb0M7QUFFcEMsU0FBUztBQUNILElBQUEsS0FBc0IsRUFBRSxDQUFDLFVBQVUsRUFBbEMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFpQixDQUFDO0FBRTFDO0lBQXlDLCtCQUFZO0lBQXJEO1FBQUEscUVBNHlCQztRQXp5QkcsU0FBRyxHQUFZLElBQUksQ0FBQztRQUdwQixXQUFLLEdBQWMsSUFBSSxDQUFDO1FBR3hCLFVBQUksR0FBYSxJQUFJLENBQUM7UUFHdEIsZUFBUyxHQUFhLElBQUksQ0FBQzs7SUFneUIvQixDQUFDO0lBbHhCRyw0QkFBTSxHQUFOO0lBRUEsQ0FBQztJQUNELDJCQUFLLEdBQUw7UUFDSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUNELE9BQU87SUFDUCwwQkFBSSxHQUFKO1FBQ0ksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO1FBQ3RELElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEYsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xFLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLGNB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QUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNuRSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDL0QsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3JFLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN0RSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3RFLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUVwRSxDQUFDO0lBQ0QsK0JBQVMsR0FBVDtRQUNJLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlELEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFELEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hFLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pFLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25FLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pFLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRCw0QkFBTSxHQUFOLFVBQVEsRUFBRTtJQUdWLENBQUM7SUF4eUJEO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7NENBQ0U7SUFHcEI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQzs4Q0FDSTtJQUd4QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDOzZDQUNHO0lBR3RCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7a0RBQ1E7SUFaVixXQUFXO1FBRC9CLE9BQU87T0FDYSxXQUFXLENBNHlCL0I7SUFBRCxrQkFBQztDQTV5QkQsQUE0eUJDLENBNXlCd0MsRUFBRSxDQUFDLFNBQVMsR0E0eUJwRDtrQkE1eUJvQixXQUFXIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmxvY2tUeXBlIH0gZnJvbSBcIi4vQmxvY2tcIjtcclxuXHJcbi8vIOS4u+a4uOaIj+aOp+WItuexu1xyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgR2FtZU1hbmFnZXIgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgTWFwOiBjYy5Ob2RlID0gbnVsbDtcclxuXHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgQmxvY2s6IGNjLlByZWZhYiA9IG51bGw7XHJcblxyXG4gICAgQHByb3BlcnR5KGNjLkxhYmVsKVxyXG4gICAgVGltZTogY2MuTGFiZWwgPSBudWxsO1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5MYWJlbClcclxuICAgIENvdW50ZG93bjogY2MuTGFiZWwgPSBudWxsO1xyXG5cclxuICAgIGNvdW50VGltZTogbnVtYmVyOyAgICAgIC8v5oC75YCS6K6h5pe2XHJcbiAgICB3YXRlclRpbWU6IG51bWJlciAgICAgICAvL+a0quWzsOWAkuiuoeaXtlxyXG4gICAgYmxvY2tfQXJyYXk6IGFueTsgICAgICAgLy/miYDmnInlnZfmlbDnu4RcclxuICAgIHBhdGhfQXJyYXk6IGFueTsgICAgICAgIC8v5L+u562R6Lev5b6EXHJcbiAgICB3YXRlcl9BcnJheTogYW55OyAgICAgICAvL+awtOa1gei3r+W+hFxyXG4gICAgbWFwX0FycmF5OiBhbnk7ICAgICAgICAgLy/lnLDlm77mlbDnu4RcclxuICAgIHdhdGVyX1BhdGhBcmF5OmFueTsgICAgIC8v5rSq5bOw6Lev5b6EXHJcbiAgICBtYXBfSGlnaHQ6bnVtYmVyOyAgICAgICAvL+WcsOWbvumrmOW6plxyXG4gICAgbWFwX1dpZHRoOm51bWJlcjsgICAgICAgLy/lnLDlm77lrr3luqZcclxuICAgIHBsYW5fb3Zlcjpib29sZWFuOyAgICAgIC8v5piv5ZCm5L+u5bu65a6MXHJcbiAgICB3YXRlclR3ZWVuOmNjLlR3ZWVuOyAgICAvL+ays+awtOWAkuiuoeaXtuWKqOeUu1xyXG5cclxuICAgIG9uTG9hZCAoKSB7XHJcblxyXG4gICAgfVxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHRoaXMuZml0KCk7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcbiAgICAvL+WIneWni+WMluaVsOaNrlxyXG4gICAgaW5pdCgpe1xyXG4gICAgICAgIHRoaXMuaW5pdE1hcCgpOyBcclxuICAgICAgICB0aGlzLmNvdW50VGltZSA9IGNjLmZ4LkdhbWVDb25maWcuVElNRV9JTkZPLnRvdGFsVGltZTtcclxuICAgICAgICB0aGlzLndhdGVyVGltZSA9IGNjLmZ4LkdhbWVDb25maWcuVElNRV9JTkZPLndhdGVyVGltZVtjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWxdO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHZhciBoZWFkID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiVG9wXCIpLmdldENoaWxkQnlOYW1lKFwiaGVhZFwiKTtcclxuICAgICAgICB2YXIgcHJvZ3Jlc3MgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJUb3BcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwcm9ncmVzc1wiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKTtcclxuXHJcbiAgICAgICAgaGVhZC5ydW5BY3Rpb24oY2MubW92ZVRvKHRoaXMud2F0ZXJUaW1lLGNjLnYyKDMxMCxoZWFkLnkpKSk7XHJcbiAgICAgICAgdGhpcy53YXRlclR3ZWVuID0gY2MudHdlZW4ocHJvZ3Jlc3MpXHJcbiAgICAgICAgLnRvKHRoaXMud2F0ZXJUaW1lLHtmaWxsUmFuZ2U6MX0pXHJcbiAgICAgICAgLnN0YXJ0KCk7XHJcblxyXG4gICAgICAgIHRoaXMuc2NoZWR1bGUodGhpcy51cGRhdGVXYXRlclRpbWUsMSk7XHJcbiAgICAgICAgdGhpcy5zY2hlZHVsZSh0aGlzLnVwZGF0ZUNvdW50RG93blRpbWUsMSk7XHJcblxyXG5cclxuICAgIH1cclxuICAgIC8v5Yid5aeL5YyW5Zyw5Zu+YFxyXG4gICAgaW5pdE1hcCgpe1xyXG4gICAgICAgIHRoaXMuYmxvY2tfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLnBhdGhfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLndhdGVyX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5tYXBfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLnBsYW5fb3ZlciA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubWFwX0hpZ2h0ID0gMDtcclxuICAgICAgICB0aGlzLm1hcF9XaWR0aCA9IDA7XHJcbiAgICAgICAgbGV0IG51bWJlciA9IDEwOyAvLzlcclxuICAgICAgICBudW1iZXIgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqIGNjLmZ4LkdhbWVDb25maWcuTEVWRUxfSU5GT1tjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWxdLmxlbmd0aCk7XHJcbiAgICAgICAgLy8gbnVtYmVyID0gMTtcclxuICAgICAgICBsZXQgYXJyID0gY2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPW2NjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbF1bbnVtYmVyXS5tYXA7XHJcbiAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiVG9wXCIpLmdldENoaWxkQnlOYW1lKFwiaWRcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSBcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkxFVkVMX0lORk9bY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsXVtudW1iZXJdLmlkO1xyXG4gICAgICAgIC8v5bCG5Zyw5Zu+eCx56L205YiH5o2iXHJcblxyXG4gICAgICAgIHRoaXMubWFwX0FycmF5ID0gYXJyWzBdLm1hcCgoaXRlbSwgaSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gYXJyLm1hcCgodmFsKSA9PiB2YWxbaV0pXHJcbiAgICAgICAgfSlcclxuICAgICAgICB0aGlzLm1hcF9XaWR0aCA9IHRoaXMubWFwX0FycmF5Lmxlbmd0aDtcclxuICAgICAgICB0aGlzLm1hcF9IaWdodCA9IHRoaXMubWFwX0FycmF5WzBdLmxlbmd0aDtcclxuXHJcbiAgICAgICAgdGhpcy5NYXAueCA9KDYgLSB0aGlzLm1hcF9BcnJheS5sZW5ndGgpKjQ4O1xyXG4gICAgICAgIHRoaXMuTWFwLnkgPSAodGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoIC0gNi41KSo0ODtcclxuXHJcbiAgICAgICAgZm9yKGxldCBpPTA7aTx0aGlzLm1hcF9BcnJheS5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgZm9yKGxldCBqPTA7IGo8dGhpcy5tYXBfQXJyYXkgW2ldLmxlbmd0aDtqKyspe1xyXG4gICAgICAgICAgICAgICAgbGV0IGJsb2NrID0gY2MuaW5zdGFudGlhdGUodGhpcy5CbG9jayk7XHJcbiAgICAgICAgICAgICAgICBibG9jay5wYXJlbnQ9IHRoaXMuTWFwO1xyXG4gICAgICAgICAgICAgICAgYmxvY2suZ2V0Q29tcG9uZW50KFwiQmxvY2tcIikuaW5pdERhdGEodGhpcy5tYXBfQXJyYXkgW2ldW2pdLGNjLnYyKGksaiksY2MudjIodGhpcy5tYXBfV2lkdGgsdGhpcy5tYXBfSGlnaHQpKTtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMubWFwX0FycmF5IFtpXVtqXSA9PSBjYy5FbnVtKEJsb2NrVHlwZSkuU3RhcnQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGF0aF9BcnJheS5wdXNoKGNjLnYzKGksaixjYy5FbnVtKEJsb2NrVHlwZSkuTm9tYWwpKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLndhdGVyX0FycmF5LnB1c2goY2MudjMoaSxqLGNjLkVudW0oQmxvY2tUeXBlKS5Ob21hbCkpO1xyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgIGJsb2NrLnNldFBvc2l0aW9uKGNjLnYyKC1ibG9jay53aWR0aCoyLjUgKyBpKmJsb2NrLndpZHRoLGJsb2NrLmhlaWdodCo0IC0gaipibG9jay5oZWlnaHQpKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmxvY2tfQXJyYXkucHVzaChibG9jayk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC8v5byA5aeL5ZCO77yM5oyJ546p5a625pON5L2c77yM5bCG6Lev5b6E5Lit5Zyw5Zu+5Z2X5pS+5YWl5pWw57uE5LitXHJcbiAgICBzZXRNYXAoZGF0YSl7XHJcbiAgICAgICAgZm9yKGxldCBpPTA7IGk8ZGF0YS5sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgIGxldCBzdGFydCA9IHRoaXMucGF0aF9BcnJheVt0aGlzLnBhdGhfQXJyYXkubGVuZ3RoLTFdO1xyXG4gICAgICAgICAgICBzd2l0Y2goZGF0YVtpXSl7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwidXBcIjpcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhdGhfQXJyYXkucHVzaChjYy52MyhzdGFydC54LHN0YXJ0LnktMSxjYy5FbnVtKEJsb2NrVHlwZSkuTm9tYWwpKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJkb3duXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXRoX0FycmF5LnB1c2goY2MudjMoc3RhcnQueCxzdGFydC55KzEsY2MuRW51bShCbG9ja1R5cGUpLk5vbWFsKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwibGVmdFwiOlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGF0aF9BcnJheS5wdXNoKGNjLnYzKHN0YXJ0LngtMSxzdGFydC55LGNjLkVudW0oQmxvY2tUeXBlKS5Ob21hbCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBcInJpZ2h0XCI6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXRoX0FycmF5LnB1c2goY2MudjMoc3RhcnQueCsxLHN0YXJ0LnksY2MuRW51bShCbG9ja1R5cGUpLk5vbWFsKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwicmVpbmZvcmNlXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXRoX0FycmF5LnB1c2goY2MudjMoc3RhcnQueCxzdGFydC55LGNjLkVudW0oQmxvY2tUeXBlKS5SZWluZm9yY2UpKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJzb2lsXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXRoX0FycmF5LnB1c2goY2MudjMoc3RhcnQueCxzdGFydC55LGNjLkVudW0oQmxvY2tUeXBlKS5YaV9Tb2lsKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5ydW5Sb2FkKDApO1xyXG4gICAgfVxyXG4gICAgLy/lvIDlp4vmiafooYzmtKrls7DmnaXkuobnmoTliqjnlLtcclxuICAgIHJ1blJvYWQob3JkZXIpe1xyXG4gICAgICAgIG9yZGVyID0gcGFyc2VJbnQob3JkZXIpO1xyXG5cclxuICAgICAgICBpZihvcmRlciA+IDApe1xyXG4gICAgICAgICAgICBpZih0aGlzLnBhdGhfQXJyYXlbb3JkZXItMV0ueiA9PSAwKXtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiMeato+W4uOaUvuWFpVwiLHRoaXMucGF0aF9BcnJheVtvcmRlci0xXS54LHRoaXMucGF0aF9BcnJheVtvcmRlci0xXS55LHRoaXMucGF0aF9BcnJheVtvcmRlci0xXS56KVxyXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VXYXRlcihjYy52Myh0aGlzLnBhdGhfQXJyYXlbb3JkZXItMV0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXItMV0ueSwwKSk7XHJcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLndhdGVyX0FycmF5KTtcclxuICAgICAgICAgICAgICAgIC8vIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICAgICAgaWYob3JkZXIgPT0gdGhpcy5wYXRoX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVdhdGVyKGNjLnYzKHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnksMCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5pyA5ZCO5pS+5YWlXCIsdGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSlcclxuICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLndhdGVyX0FycmF5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCIy5o+S5YWlXCIsdGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnopXHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVdhdGVyKGNjLnYzKHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnksMCkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuXHJcbiAgICAgICAgaWYob3JkZXIgPD0gdGhpcy5wYXRoX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgbGV0IGkgPSB0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3RoaXMucGF0aF9BcnJheVtvcmRlcl0ueTtcclxuICAgICAgICAgICAgbGV0IGRpcmVjdGlvbiA9IFwiXCI7XHJcbiAgICAgICAgICAgIGxldCBjaXJjdWxhdGUgPSB0cnVlO1xyXG4gICAgICAgICAgICAvL+acgOWQjuS4gOatpee7k+adn1xyXG4gICAgICAgICAgICBpZihvcmRlciA9PSB0aGlzLnBhdGhfQXJyYXkubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgY2lyY3VsYXRlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcIkVuZFwiO1xyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoIXRoaXMucGxhbl9vdmVyKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCLlh4blpIflh7rmsLRcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGxhbl9vdmVyID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGhlYWQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJUb3BcIikuZ2V0Q2hpbGRCeU5hbWUoXCJoZWFkXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgcHJvZ3Jlc3MgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJUb3BcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwcm9ncmVzc1wiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVhZC5zdG9wQWxsQWN0aW9ucygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWFkLnNldFBvc2l0aW9uKDMxMCxoZWFkLnkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLndhdGVyVHdlZW4uc3RvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmVzcy5maWxsUmFuZ2UgPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJ1bldhdGVyKDApOyBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9LCA1MDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnogPT0gNiAmJiBvcmRlciArIDEgPCB0aGlzLnBhdGhfQXJyYXkubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJSZWluZm9yY2VcIjtcclxuICAgICAgICAgICAgICAgICAgICBpID0gdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLngqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3RoaXMucGF0aF9BcnJheVtvcmRlcisxXS55O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihvcmRlcisxIDwgdGhpcy5wYXRoX0FycmF5Lmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLnogPT0gNSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFwiWGlfU29pbFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS56ID09IDYgJiYgb3JkZXIgPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFwiUmVpbmZvcmNlXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IHRoaXMuZ2V0RGlyZWN0aW9uKG9yZGVyLHRoaXMucGF0aF9BcnJheSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSB0aGlzLmdldERpcmVjdGlvbihvcmRlcix0aGlzLnBhdGhfQXJyYXkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKG9yZGVyLHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnksaSk7XHJcbiBcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLmraXpqqQ6XCIsb3JkZXIsXCLmlrnlkJFcIixkaXJlY3Rpb24pO1xyXG4gICAgICAgICAgICBsZXQgamcgPSB0aGlzLmdldEJvdW5kYXJ5KG9yZGVyLHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnksZGlyZWN0aW9uLHRoaXMucGF0aF9BcnJheSk7XHJcblxyXG4gICAgICAgICAgICBpZihkaXJlY3Rpb24gPT0gXCJcIiB8fCBqZyA9PSBmYWxzZSkgcmV0dXJuO1xyXG4gICAgICAgICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5ibG9ja19BcnJheVtpXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgIFxyXG4gICAgICAgICAgICB0YXJnZXQuc2V0UGF0aChkaXJlY3Rpb24pO1xyXG5cclxuICAgICAgICAgICAgaWYob3JkZXIgPiAwICYmIG9yZGVyIDwgdGhpcy5wYXRoX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS56ID09IDUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0X1NvaWwob3JkZXIrMSx0aGlzLnBhdGhfQXJyYXksXCJyb2FkXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNpcmN1bGF0ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYob3JkZXIgPT0gMSAmJiB0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnogPT0gNSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRfU29pbChvcmRlcix0aGlzLnBhdGhfQXJyYXksXCJyb2FkXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNpcmN1bGF0ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQgcG9zID0gY2MudjIoKTtcclxuICAgICAgICAgICAgaWYoZGlyZWN0aW9uID09IFwiRW5kXCIgJiYgdGhpcy5wYXRoX0FycmF5W29yZGVyLTFdLnogPT0gMCl7XHJcbiAgICAgICAgICAgICAgICBwb3MgPSBjYy52Mih0aGlzLnBhdGhfQXJyYXlbb3JkZXItMV0ueCwgdGhpcy5wYXRoX0FycmF5W29yZGVyLTFdLnkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6b3JkZXIsXHJcbiAgICAgICAgICAgICAgICB0aW1lOmNjLmZ4LkdhbWVDb25maWcuVElNRV9JTkZPLndhdGVyU3BlZWRbY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsXSxcclxuICAgICAgICAgICAgICAgIHR5cGU6dGhpcy5wYXRoX0FycmF5W29yZGVyXS56LFxyXG4gICAgICAgICAgICAgICAgY2lyY3VsYXRlOmNpcmN1bGF0ZSxcclxuICAgICAgICAgICAgICAgIGxhc3Q6cG9zXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRhcmdldC5ydW5Sb2FkKGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5Yik5pat6L6555WM44CC5oiW6ICF5pKe5bGx77yM5oiW6ICF5rm/5Zyw5rKh5pyJ5Yqg5Zu6XHJcbiAgICBnZXRCb3VuZGFyeShvcmRlcix4LHksZGlyZWN0aW9uLHJvYWQpe1xyXG4gICAgICAgIGxldCBqZyA9IHRydWU7XHJcbiAgICAgICAgaWYoeCA8IDAgfHwgeCA+PSB0aGlzLm1hcF9XaWR0aCB8fCB5IDwgMCB8fCB5ID49IHRoaXMubWFwX0hpZ2h0KXtcclxuICAgICAgICAgICAgamcgPSBmYWxzZTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCLotoXov4fovrnnlYzvvIzmuLjmiI/nu5PmnZ9cIik7XHJcbiAgICAgICAgICAgIGFsZXJ0KFwi6LaF6L+H6L6555WM77yM5ri45oiP57uT5p2fXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgbGV0IGkgPSByb2FkW29yZGVyXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtyb2FkW29yZGVyXS55O1xyXG4gICAgICAgICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5ibG9ja19BcnJheVtpXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgICAgICAgICAgaWYodGFyZ2V0LmJsb2NrX1R5cGUgPT0gMyl7XHJcbiAgICAgICAgICAgICAgICBqZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCLkv67nrZHlsbHls7DvvIzmuLjmiI/nu5PmnZ9cIik7XHJcbiAgICAgICAgICAgICAgICBhbGVydChcIuS/ruetkeWxseWzsO+8jOa4uOaIj+e7k+adn1wiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRhcmdldC5ibG9ja19UeXBlID09IDIgJiYgZGlyZWN0aW9uICE9IFwiUmVpbmZvcmNlXCIpe1xyXG4gICAgICAgICAgICAgICAgamcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5L+u562R5pyq5Yqg5Zu65rm/5ZywLOa4uOaIj+e7k+adn1wiKTtcclxuICAgICAgICAgICAgICAgIGFsZXJ0KFwi5L+u562R5pyq5Yqg5Zu65rm/5ZywLOa4uOaIj+e7k+adn1wiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gamc7XHJcbiAgICB9XHJcblxyXG4gICAgLy/lvIDlp4vmiafooYzmtKrls7DmnaXkuobnmoTliqjnlLtcclxuICAgIHJ1bldhdGVyKG9yZGVyKXtcclxuICAgICAgICBvcmRlciA9IHBhcnNlSW50KG9yZGVyKTtcclxuICAgICAgICBpZihvcmRlciA8PSB0aGlzLndhdGVyX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgbGV0IGkgPSB0aGlzLndhdGVyX0FycmF5W29yZGVyXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCt0aGlzLndhdGVyX0FycmF5W29yZGVyXS55O1xyXG4gICAgICAgICAgICBsZXQgZGlyZWN0aW9uID0gXCJcIjtcclxuICAgICAgICAgICAgbGV0IGNpcmN1bGF0ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIC8v5pyA5ZCO5LiA5q2l57uT5p2fXHJcbiAgICAgICAgICAgIGlmKG9yZGVyID09IHRoaXMud2F0ZXJfQXJyYXkubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgY2lyY3VsYXRlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcIkVuZFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLndhdGVyX0FycmF5W29yZGVyXS56ID09IDYgJiYgb3JkZXIgKyAxIDwgdGhpcy53YXRlcl9BcnJheS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcIlJlaW5mb3JjZVwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGkgPSB0aGlzLndhdGVyX0FycmF5W29yZGVyKzFdLngqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3RoaXMud2F0ZXJfQXJyYXlbb3JkZXIrMV0ueTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYob3JkZXIrMSA8IHRoaXMud2F0ZXJfQXJyYXkubGVuZ3RoKXtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLndhdGVyX0FycmF5W29yZGVyKzFdLnogPT0gNSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFwiWGlfU29pbFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKHRoaXMud2F0ZXJfQXJyYXlbb3JkZXIrMV0ueiA9PSA2ICYmIG9yZGVyID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcIlJlaW5mb3JjZVwiO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSB0aGlzLmdldERpcmVjdGlvbihvcmRlcix0aGlzLndhdGVyX0FycmF5KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IHRoaXMuZ2V0RGlyZWN0aW9uKG9yZGVyLHRoaXMud2F0ZXJfQXJyYXkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKG9yZGVyLHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnksaSk7XHJcbiAgICAgICAgICAgIGxldCBqZyA9IHRoaXMuZ2V0Qm91bmRhcnkob3JkZXIsdGhpcy53YXRlcl9BcnJheVtvcmRlcl0ueCx0aGlzLndhdGVyX0FycmF5W29yZGVyXS55LGRpcmVjdGlvbix0aGlzLndhdGVyX0FycmF5KTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCLmraXpqqQ6XCIsb3JkZXIsXCLmlrnlkJFcIixkaXJlY3Rpb24pO1xyXG4gICAgICAgICAgICBpZihkaXJlY3Rpb24gPT0gXCJcIiB8fCBqZyA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbaV0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgIFxyXG4gICAgICAgICAgICB0YXJnZXQuc2V0UGF0aChkaXJlY3Rpb24pO1xyXG5cclxuICAgICAgICAgICAgaWYob3JkZXIgPiAwICYmIG9yZGVyIDwgdGhpcy53YXRlcl9BcnJheS5sZW5ndGgtMSl7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLndhdGVyX0FycmF5W29yZGVyKzFdLnogPT0gNSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRfU29pbChvcmRlcisxLHRoaXMud2F0ZXJfQXJyYXksXCJ3YXRlclwiKTtcclxuICAgICAgICAgICAgICAgICAgICBjaXJjdWxhdGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG9yZGVyID09IDEgJiYgdGhpcy53YXRlcl9BcnJheVtvcmRlcl0ueiA9PSA1KXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldF9Tb2lsKG9yZGVyLHRoaXMud2F0ZXJfQXJyYXksXCJ3YXRlclwiKTtcclxuICAgICAgICAgICAgICAgICAgICBjaXJjdWxhdGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6b3JkZXIsXHJcbiAgICAgICAgICAgICAgICB0aW1lOmNjLmZ4LkdhbWVDb25maWcuVElNRV9JTkZPLndhdGVyU3BlZWRbY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsXSxcclxuICAgICAgICAgICAgICAgIHR5cGU6dGhpcy53YXRlcl9BcnJheVtvcmRlcl0ueixcclxuICAgICAgICAgICAgICAgIGNpcmN1bGF0ZTpjaXJjdWxhdGVcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgdGFyZ2V0LnJ1bldhdGVyKGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvL+iOt+WPluaBr+WjpOeahOagvOWtkOeahOaWueWQkVxyXG4gICAgZ2V0WGlfU29pbChvcmRlcixyb2FkKXtcclxuICAgICAgICB2YXIgZGlyZWN0aW9uID0gbnVsbDtcclxuICAgICAgICAvL+WmguaenOaBr+WjpOWQjumdoui/mOacieS4i+S4gOatpeeahOivnVxyXG4gICAgICAgIGlmKG9yZGVyICsgMSA8IHJvYWQubGVuZ3RoKXtcclxuICAgICAgICAgICAgZGlyZWN0aW9uID0gdGhpcy5nZXREaXJlY3Rpb24ob3JkZXIscm9hZCk7XHJcbiAgICAgICAgICAgIGlmKGRpcmVjdGlvbiA9PSBcInVwXCIgfHwgZGlyZWN0aW9uID09IFwicmlnaHRfdXBcIiB8fCBkaXJlY3Rpb24gPT0gXCJsZWZ0X3VwXCIpe1xyXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJ1cFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwiZG93blwiIHx8IGRpcmVjdGlvbiA9PSBcImxlZnRfZG93blwiIHx8IGRpcmVjdGlvbiA9PSBcInJpZ2h0X2Rvd25cIil7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcImRvd25cIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKGRpcmVjdGlvbiA9PSBcImxlZnRcIiB8fCBkaXJlY3Rpb24gPT0gXCJ1cF9sZWZ0XCIgfHwgZGlyZWN0aW9uID09IFwiZG93bl9sZWZ0XCIpe1xyXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJsZWZ0XCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZihkaXJlY3Rpb24gPT0gXCJyaWdodFwiIHx8IGRpcmVjdGlvbiA9PSBcInVwX3JpZ2h0XCIgfHwgZGlyZWN0aW9uID09IFwiZG93bl9yaWdodFwiKXtcclxuICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFwicmlnaHRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gIFxyXG4gICAgICAgIHJldHVybiBkaXJlY3Rpb247XHJcbiAgICB9XHJcbiAgICAvL+iuvue9ruaBr+WjpFxyXG4gICAgc2V0X1NvaWwob3JkZXIscm9hZCxuYW1lKXtcclxuICAgICAgICB2YXIgZGlyZWN0aW9uID0gdGhpcy5nZXRYaV9Tb2lsKG9yZGVyLHJvYWQpO1xyXG4gICAgICAgIHZhciBsZW5ndGggPSAwO1xyXG4gICAgICAgIGlmKGRpcmVjdGlvbiA9PSBcInJpZ2h0XCIpe1xyXG4gICAgICAgICAgICBsZW5ndGggPSB0aGlzLm1hcF9XaWR0aCAtIDE7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT1yb2FkW29yZGVyXS54O2k8PWxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICAgICAgbGV0IG4gPSBpKnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtyb2FkW29yZGVyXS55O1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbbl0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSAzIHx8IHRhcmdldC5ibG9ja19UeXBlID09IDQpe1xyXG4gICAgICAgICAgICAgICAgICAgIGxlbmd0aCA9IGktMTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSA0KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoICs9IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGkgPSAxMDAwMDtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfXRoaXMuc2NoZWR1bGVPbmNlXHJcbiAgICAgICAgfSBcclxuICAgICAgICBlbHNlIGlmKGRpcmVjdGlvbiA9PSBcImxlZnRcIil7XHJcbiAgICAgICAgICAgIGxlbmd0aCA9IDA7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT1yb2FkW29yZGVyXS54O2k+PWxlbmd0aDtpLS0pe1xyXG4gICAgICAgICAgICAgICAgbGV0IG4gPSBpKnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtyb2FkW29yZGVyXS55O1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbbl0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSAzIHx8IHRhcmdldC5ibG9ja19UeXBlID09IDQpe1xyXG4gICAgICAgICAgICAgICAgICAgIGxlbmd0aCA9ICBpICsgMTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSA0KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoIC09IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGkgPSAtMTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICAgICAgZWxzZSBpZihkaXJlY3Rpb24gPT0gXCJ1cFwiKXtcclxuICAgICAgICAgICAgbGVuZ3RoID0gMDtcclxuICAgICAgICAgICAgZm9yKGxldCBpPXJvYWRbb3JkZXJdLnk7aT49bGVuZ3RoO2ktLSl7XHJcbiAgICAgICAgICAgICAgICBsZXQgbiA9IHJvYWRbb3JkZXJdLngqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoICsgaTtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W25dLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICBcclxuICAgICAgICAgICAgICAgIGlmKHRhcmdldC5ibG9ja19UeXBlID09IDMgfHwgdGFyZ2V0LmJsb2NrX1R5cGUgPT0gNCl7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVuZ3RoID0gaSArIDE7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGFyZ2V0LmJsb2NrX1R5cGUgPT0gNCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aCAtPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBpID0gLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwiZG93blwiKXtcclxuICAgICAgICAgICAgbGVuZ3RoID0gdGhpcy5tYXBfSGlnaHQgLSAxO1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9cm9hZFtvcmRlcl0ueTtpPD1sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gcm9hZFtvcmRlcl0ueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGggKyBpO1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbbl0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICBcclxuICAgICAgICAgICAgICAgIGlmKHRhcmdldC5ibG9ja19UeXBlID09IDMgfHwgdGFyZ2V0LmJsb2NrX1R5cGUgPT0gNCl7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVuZ3RoID0gaS0xO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRhcmdldC5ibG9ja19UeXBlID09IDQpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGggKz0gMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaSA9IDEwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgICAgICB0aGlzLnNvaWxfRmluZChkaXJlY3Rpb24sb3JkZXIsbGVuZ3RoLHJvYWQsbmFtZSk7XHJcbiAgICB9XHJcbiAgICAvL+afpeaJvuaBr+WjpOibrumBl+aGvui3r+W+hFxyXG4gICAgc29pbF9GaW5kKGRpcmVjdGlvbixvcmRlcixsZW5ndGgscm9hZCxuYW1lKXtcclxuICAgICAgICBsZXQgc3RhcnQgPSByb2FkW29yZGVyXS54O1xyXG4gICAgICAgIGlmKGRpcmVjdGlvbiA9PSBcInJpZ2h0XCIpe1xyXG4gICAgICAgICAgICBmb3IobGV0IGkgPSBzdGFydDsgaTw9bGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICAgICAgbGV0IG4gPSBpKnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtyb2FkW29yZGVyXS55O1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbbl0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICBpZihpID09IHN0YXJ0KXtcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQuc2V0X1hpX1NvaWxUeXBlKHRoaXMuZ2V0RGlyZWN0aW9uKG9yZGVyLHJvYWQpLG51bGwsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gY2MudjModGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSwwKTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLndhdGVyX0FycmF5W3RoaXMud2F0ZXJfQXJyYXkubGVuZ3RoLTFdICE9IHZhbHVlKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCLnibnliKvmj5LlhaU6XCIsdGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlV2F0ZXIodmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gIFxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGpnID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICBpZihpID09IGxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBudW1iZXIgPSBpIC0gc3RhcnQgLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlUGF0aChvcmRlcixudW1iZXIsZmFsc2Uscm9hZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGpnID0gb3JkZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZShkaXJlY3Rpb24samcsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9ICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwibGVmdFwiKXtcclxuICAgICAgICAgICAgZm9yKGxldCBpID0gc3RhcnQ7IGk+PWxlbmd0aDsgaS0tKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gaSp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgrcm9hZFtvcmRlcl0ueTtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W25dLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmKGkgPT0gc3RhcnQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldC5zZXRfWGlfU29pbFR5cGUodGhpcy5nZXREaXJlY3Rpb24ob3JkZXIscm9hZCksbnVsbCxuYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBjYy52Myh0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngsdGhpcy5wYXRoX0FycmF5W29yZGVyXS55LDApO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMud2F0ZXJfQXJyYXlbdGhpcy53YXRlcl9BcnJheS5sZW5ndGgtMV0gIT0gdmFsdWUpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIueJueWIq+aPkuWFpTpcIix0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngsdGhpcy5wYXRoX0FycmF5W29yZGVyXS55KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VXYXRlcih2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgamcgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGkgPT0gbGVuZ3RoKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG51bWJlciA9IGkgLSBzdGFydCArIDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlUGF0aChvcmRlcixudW1iZXIsZmFsc2Uscm9hZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGpnID0gb3JkZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQuc2V0X1hpX1NvaWxUeXBlKGRpcmVjdGlvbixqZyxuYW1lKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICAgICAgZWxzZSBpZihkaXJlY3Rpb24gPT0gXCJ1cFwiKXtcclxuICAgICAgICAgICAgc3RhcnQgPSByb2FkW29yZGVyXS55O1xyXG4gICAgICBcclxuICAgICAgICAgICAgZm9yKGxldCBpID0gc3RhcnQ7IGk+PWxlbmd0aDsgaS0tKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gcm9hZFtvcmRlcl0ueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgraTtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W25dLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYoaSA9PSBzdGFydCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZSh0aGlzLmdldERpcmVjdGlvbihvcmRlcixyb2FkKSxudWxsLG5hbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGNjLnYzKHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnksMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy53YXRlcl9BcnJheVt0aGlzLndhdGVyX0FycmF5Lmxlbmd0aC0xXSAhPSB2YWx1ZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi54m55Yir5o+S5YWlOlwiLHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVdhdGVyKHZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9ICBcclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBqZyA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoaSA9PSBsZW5ndGgpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbnVtYmVyID0gaSAtIHN0YXJ0ICsgMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VQYXRoKG9yZGVyLG51bWJlcix0cnVlLHJvYWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqZyA9IG9yZGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCLmg7PkuIrmga/lo6Tmj5LlhaU6XCIsdGhpcy5wYXRoX0FycmF5W29yZGVyXS54LGkpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldC5zZXRfWGlfU29pbFR5cGUoZGlyZWN0aW9uLGpnLG5hbWUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgICAgICBlbHNlIGlmKGRpcmVjdGlvbiA9PSBcImRvd25cIil7XHJcbiAgICAgICAgICAgIHN0YXJ0ID0gcm9hZFtvcmRlcl0ueTtcclxuICAgICAgICAgICAgZm9yKGxldCBpID0gc3RhcnQ7IGk8PWxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gcm9hZFtvcmRlcl0ueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgraTtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W25dLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYoaSA9PSBzdGFydCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZSh0aGlzLmdldERpcmVjdGlvbihvcmRlcixyb2FkKSxudWxsLG5hbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGNjLnYzKHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnksMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy53YXRlcl9BcnJheVt0aGlzLndhdGVyX0FycmF5Lmxlbmd0aC0xXSAhPSB2YWx1ZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi54m55Yir5o+S5YWlOlwiLHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVdhdGVyKHZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGpnID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICBpZihpID09IGxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBudW1iZXIgPSBpIC0gc3RhcnQgLSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVBhdGgob3JkZXIsbnVtYmVyLHRydWUscm9hZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGpnID0gb3JkZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQuc2V0X1hpX1NvaWxUeXBlKGRpcmVjdGlvbixqZyxuYW1lKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcblxyXG4gICAgLy/mlLnlj5jmsLTmtYHlnLDlm75cclxuICAgIGNoYW5nZVdhdGVyKHZhbHVlKXtcclxuICAgICAgICBsZXQgamcgPSB0cnVlO1xyXG4gICAgICAgIGlmKHRoaXMud2F0ZXJfQXJyYXkubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMud2F0ZXJfQXJyYXlbdGhpcy53YXRlcl9BcnJheS5sZW5ndGgtMV0ueCA9PSB2YWx1ZS54ICYmIHRoaXMud2F0ZXJfQXJyYXlbdGhpcy53YXRlcl9BcnJheS5sZW5ndGgtMV0ueSA9PSB2YWx1ZS55KXtcclxuICAgICAgICAgICAgICAgIGpnID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoamcpIHRoaXMud2F0ZXJfQXJyYXkucHVzaCh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy/mga/lo6Tov4flkI7mlLnlj5jkv67nrZHot6/lvoRcclxuICAgIGNoYW5nZVBhdGgob3JkZXIsbnVtYmVyLGRpcmVjdGlvbixyb2FkKXtcclxuICBcclxuICAgICAgICBmb3IobGV0IGkgPSAob3JkZXIrMSk7IGk8cm9hZC5sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgIGlmKCFkaXJlY3Rpb24pe1xyXG4gICAgICAgICAgICAgICAgcm9hZFtpXS54ICs9IChudW1iZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICByb2FkW2ldLnkgKz0gKG51bWJlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoZGlyZWN0aW9uKXtcclxuICAgICAgICAgICAgaWYobnVtYmVyIDwgMCl7XHJcbiAgICAgICAgICAgICAgICBmb3IobGV0IG49IC1udW1iZXI7IG4+MDsgbi0tKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVdhdGVyKGNjLnYzKHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS55K24sMCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiMeeJueauiuaUvuWFpTpcIix0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueStuKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7IFxyXG4gICAgICAgICAgICAgICAgZm9yKGxldCBuPW51bWJlcjsgbj4wOyBuLS0pe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlV2F0ZXIoY2MudjModGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLngsdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLnktbiwwKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCIy54m55q6K5pS+5YWlOlwiLHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS55LW4pXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgaWYobnVtYmVyIDwgMCl7XHJcbiAgICAgICAgICAgICAgICBmb3IobGV0IG09IC1udW1iZXI7IG0+MDsgbS0tKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVdhdGVyKGNjLnYzKHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS54K20sdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLnksMCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiM+eJueauiuaUvuWFpTpcIix0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueCttLHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS55KVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICBmb3IobGV0IG09bnVtYmVyOyBtPjA7IG0tLSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VXYXRlcihjYy52Myh0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueC1tLHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS55LDApKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIjTnibnmrormlL7lhaU6XCIsdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLngtbSx0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjaGFuZ2VNYXAoZGF0YSl7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC8v6I635Y+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/ov5Tlm57pppbpobVcclxuICAgIGJhY2tTY2VuZSgpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkxvYWRTY2VuZVwiKTtcclxuICAgIH1cclxuICAgIC8v5LiL5LiA5YWz77yM5oiW6ICF6YeN5paw5byA5aeL77yM5oiW6ICF6L+U5Zue5LiK5LiA5YWz77yM5qC55o2ubGV2ZWzlhrPlrppcclxuICAgIHJlU3RhcnQodHlwZSl7XHJcblxyXG4gICAgfVxyXG4gICAgLy/ojrflj5bml7bpl7TmiLNcclxuICAgIGdldFRpbWUoKXtcclxuICAgICAgICBjb25zdCB0aW1lc3RhbXAgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgICAgICByZXR1cm4gdGltZXN0YW1wO1xyXG4gICAgfVxyXG4gICAgLy/ojrfog5xcclxuICAgIHBhc3NMZXZlbCgpe1xyXG5cclxuICAgIH1cclxuICAgIC8v5aSx6LSlXHJcbiAgICBsb3NlTGV2ZWwodHlwZSl7XHJcbiAgICAgICAgLy8xOiAgMTY0OVxyXG4gICAgICAgIC8vMjogIDM2NDZcclxuICAgICAgICAvLzM6ICA1NTQ2XHJcbiAgICAgICAgLy80OiAgMjYwMFxyXG4gICAgICAgIC8vNTogIDY5NFxyXG4gICAgfVxyXG5cclxuICAgIC8v5byA5aeL5ri45oiPXHJcbiAgICBzdGFydEdhbWUoZGF0YSl7XHJcbiAgICAgICAgdGhpcy5zZXRNYXAoZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlV2F0ZXJUaW1lKCl7XHJcbiAgICAgICAgaWYgKHRoaXMud2F0ZXJUaW1lID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLndhdGVyVGltZSAtPSAxO1xyXG4gICAgICAgICAgICB0aGlzLkNvdW50ZG93bi5zdHJpbmcgPSAgY2MuZnguR2FtZVRvb2wuZ2V0VGltZU1hcmdpbih0aGlzLndhdGVyVGltZSk7XHJcbiAgICAgICAgICAgIGlmKHRoaXMud2F0ZXJUaW1lIDw9IDApe1xyXG4gICAgICAgICAgICAgICAgdGhpcy51bnNjaGVkdWxlKHRoaXMudXBkYXRlV2F0ZXJUaW1lKTtcclxuICAgICAgICAgICAgICAgIGlmKCF0aGlzLnBsYW5fb3Zlcil7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wbGFuX292ZXIgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJ1bldhdGVyKDApOyBcclxuICAgICAgICAgICAgICAgICAgICB9LCA1MDApO1xyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8v5aaC5p6c5piv5YCS6K6h5pe2IOiwg+eUqOatpOaWueazlVxyXG4gICAgdXBkYXRlQ291bnREb3duVGltZSAoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY291bnRUaW1lID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmNvdW50VGltZSAtPSAxO1xyXG4gICAgICAgICAgICB0aGlzLlRpbWUuc3RyaW5nID0gIGNjLmZ4LkdhbWVUb29sLmdldFRpbWVNYXJnaW4odGhpcy5jb3VudFRpbWUpO1xyXG4gICAgICAgICAgICBpZih0aGlzLmNvdW50VGltZSA8IDUpe1xyXG4gICAgICAgICAgICAgICAgbGV0IG92ZXIgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJPdmVyXCIpO1xyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4ob3ZlcilcclxuICAgICAgICAgICAgICAgIC50bygwLjIse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAgICAgICAgIC5kZWxheSgwLjEpXHJcbiAgICAgICAgICAgICAgICAudG8oMC4yLHtvcGFjaXR5OjB9KVxyXG4gICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYodGhpcy5jb3VudFRpbWUgPD0gMCl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVuc2NoZWR1bGUodGhpcy51cGRhdGVDb3VudERvd25UaW1lKTtcclxuICAgICAgICAgICAgICAgIHZhciB0aW1lID0gMDtcclxuICAgICAgICAgICAgICAgIHRoaXMuZ2FtZU92ZXIodGltZSk7ICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/kuIrkvKDmr4/mrKHmk43kvZzmlbDmja5cclxuXHJcbiAgICBzZXREYXRhKCl7XHJcbiAgICAgICAgY2MuZnguR2FtZVRvb2wuc2V0R2FtZURhdGEoKTtcclxuICAgICAgICBcclxuICAgIH1cclxuICAgIC8v5LiK5Lyg5o6S6KGM5qac5pWw5o2uXHJcbiAgICBnYW1lT3Zlcih0aW1lKXtcclxuICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRSYW5rKHRpbWUpO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkdhbWVPdmVyXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikpXHJcbiAgICAgICAgLnRvKDAuNCx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgIC5kZWxheSgyKVxyXG4gICAgICAgIC50bygwLjQse29wYWNpdHk6NTB9KVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJPdmVyU2NlbmVcIik7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKVxyXG4gICAgfVxyXG5cclxuICAgIGNsaWNrU3VuKGRhdGEpe1xyXG4gICAgXHJcbiAgICB9XHJcblxyXG4gICAgYWRkRW5kKGRhdGEpe1xyXG4gICAgIFxyXG4gICAgfVxyXG5cclxuICAgIG5leHRXYXRlcigpe1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBvbkVuYWJsZSAoKSB7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vbihjYy5meC5NZXNzYWdlLmNvbnRyb2wsIHRoaXMuY2xpY2tTdW4sIHRoaXMpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub24oY2MuZnguTWVzc2FnZS5uZXh0LCB0aGlzLnJ1blJvYWQsIHRoaXMpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub24oY2MuZnguTWVzc2FnZS5uZXh0V2F0ZXIsIHRoaXMucnVuV2F0ZXIsIHRoaXMpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub24oY2MuZnguTWVzc2FnZS5zdGFydEdhbWUsIHRoaXMuc3RhcnRHYW1lLCB0aGlzKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9uKGNjLmZ4Lk1lc3NhZ2UuY2hhbmdlUGF0aCwgdGhpcy5jaGFuZ2VQYXRoLCB0aGlzKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9uKGNjLmZ4Lk1lc3NhZ2UuY2hhbmdlTWFwLCB0aGlzLmNoYW5nZU1hcCwgdGhpcyk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vbihjYy5meC5NZXNzYWdlLmFkZEVuZCwgdGhpcy5hZGRFbmQsIHRoaXMpO1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgb25EaXNhYmxlICgpIHtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9mZihjYy5meC5NZXNzYWdlLmNvbnRyb2wsIHRoaXMuY2xpY2tTdW4pO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub2ZmKGNjLmZ4Lk1lc3NhZ2UubmV4dCwgdGhpcy5ydW5Sb2FkKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9mZihjYy5meC5NZXNzYWdlLm5leHRXYXRlciwgdGhpcy5ydW5XYXRlcik7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vZmYoY2MuZnguTWVzc2FnZS5zdGFydEdhbWUsIHRoaXMuc3RhcnRHYW1lKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9mZihjYy5meC5NZXNzYWdlLmNoYW5nZVBhdGgsIHRoaXMuY2hhbmdlUGF0aCk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vZmYoY2MuZnguTWVzc2FnZS5jaGFuZ2VNYXAsIHRoaXMuY2hhbmdlTWFwKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9mZihjYy5meC5NZXNzYWdlLmFkZEVuZCwgdGhpcy5hZGRFbmQpO1xyXG4gICAgfVxyXG4gICAgdXBkYXRlIChkdCkge1xyXG5cclxuICAgXHJcbiAgICB9XHJcbn1cclxuIl19 +//------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", + }; + /* + * 客户端埋点分享类型 + */ + 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXEdhbWVTdGFydFxcR2FtZUFwcFN0YXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQWtEO0FBQ2xELCtDQUEwQztBQUMxQyxzREFBaUQ7QUFDakQsNkRBQTZEO0FBQzdELDhDQUFvRDtBQUNwRCw2Q0FBNEM7QUFHNUMsTUFBTSxDQUFDLE9BQU8sR0FBRztJQUNiLElBQUcsRUFBRSxDQUFDLEVBQUUsRUFDUjtRQUNJLE9BQU87S0FDVjtJQUNELEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVwQixRQUFRO0lBQ1IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUc7UUFDZCxTQUFTLEVBQUUsSUFBSTtRQUNmLGdCQUFnQixFQUFFLElBQUk7UUFDdEIsV0FBVyxFQUFFLE1BQU07UUFDbkIsY0FBYyxFQUFFLElBQUksQ0FBTSxVQUFVO0tBQ3ZDLENBQUM7SUFFRixRQUFRO0lBQ1IsTUFBTTtJQUVOLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxHQUFHLHVCQUFVLENBQUM7SUFDOUIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEdBQUcsa0JBQVEsQ0FBQztJQUMxQixFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsR0FBRyxtQkFBUSxDQUFDO0lBQzFCLEVBQUUsQ0FBQyxFQUFFLENBQUMsWUFBWSxHQUFHLHNCQUFZLENBQUM7SUFDbEMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEdBQUcsNEJBQWEsQ0FBQztJQUNwQyxFQUFFLENBQUMsRUFBRSxDQUFDLGNBQWMsR0FBRyx3QkFBYyxDQUFDO0lBRXRDLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxHQUFHO1FBQ2QsT0FBTyxFQUFHLENBQUMsQ0FBQyxDQUFjLE1BQU07S0FDbkMsQ0FBQztJQUVGLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxHQUFHO1FBQ1osT0FBTyxFQUFFLE9BQU87UUFDaEIsU0FBUyxFQUFDLE9BQU87UUFDakIsSUFBSSxFQUFFLE9BQU87UUFDYixVQUFVLEVBQUUsT0FBTztRQUNuQixTQUFTLEVBQUUsT0FBTztRQUNsQixTQUFTLEVBQUUsT0FBTztRQUNsQixNQUFNLEVBQUUsT0FBTztLQUNsQixDQUFBO0lBRUQ7O01BRUU7SUFDRixFQUFFLENBQUMsRUFBRSxDQUFDLGVBQWUsR0FBRztRQUNwQixPQUFPLEVBQUcsU0FBUztRQUNuQixNQUFNLEVBQUcsUUFBUTtRQUVqQixtQkFBbUIsRUFBQyxrQkFBa0I7UUFDdEMsaUJBQWlCLEVBQUcsZUFBZTtRQUNuQyxnQkFBZ0IsRUFBRyxjQUFjO1FBQ2pDLHFCQUFxQixFQUFFLGNBQWM7UUFDckMsc0JBQXNCLEVBQUUsZ0JBQWdCO1FBQ3hDLG1CQUFtQixFQUFFLFlBQVk7UUFDakMsb0JBQW9CLEVBQUUsYUFBYTtRQUVuQyxXQUFXLEVBQUcsYUFBYTtRQUMzQixTQUFTLEVBQUUsV0FBVztRQUN0QixVQUFVLEVBQUUsWUFBWTtRQUN4QixXQUFXLEVBQUUsYUFBYTtRQUMxQixXQUFXLEVBQUUsYUFBYTtRQUMxQixnQkFBZ0IsRUFBRSxrQkFBa0I7UUFDcEMsY0FBYyxFQUFFLGdCQUFnQjtRQUNoQyxRQUFRLEVBQUcsVUFBVTtRQUNyQixpQkFBaUIsRUFBRSxtQkFBbUI7UUFDdEMsbUJBQW1CLEVBQUUscUJBQXFCO1FBQzFDLG1CQUFtQixFQUFFLHFCQUFxQjtRQUMxQyxtQkFBbUIsRUFBRSxxQkFBcUI7S0FDN0MsQ0FBQztJQUVGOztPQUVHO0lBQ0gsRUFBRSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsR0FBRztRQUNyQixLQUFLLEVBQUUsT0FBTztRQUNkLE1BQU0sRUFBRyxRQUFRO1FBQ2pCLEdBQUcsRUFBRyxLQUFLO0tBQ2QsQ0FBQztJQUVGLFdBQVc7SUFDWCxFQUFFLENBQUMsRUFBRSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQzNCLGlCQUFpQixFQUFFLE9BQU87S0FDN0IsQ0FBQyxDQUFDO0lBRUEsaUJBQWlCO0lBQ2pCLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDcEIsTUFBTSxFQUFFLGlEQUFpRDtRQUN6RCxNQUFNLEVBQUUsbURBQW1EO1FBQzNELFNBQVMsRUFBRSxpQkFBaUI7UUFDNUIsU0FBUyxFQUFFLFlBQVk7UUFDdkIsVUFBVSxFQUFFLG9CQUFvQjtRQUNoQyxTQUFTLEVBQUUsb0JBQW9CO1FBQy9CLFVBQVUsRUFBRSwyQkFBMkI7S0FFMUMsQ0FBQyxDQUFDO0FBRVAsQ0FBQyxDQUFDIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2FtZUNvbmZpZyB9IGZyb20gXCIuLi9Db25maWcvR2FtZUNvbmZpZ1wiO1xyXG5pbXBvcnQgSHR0cFV0aWwgZnJvbSBcIi4uL0NyeXB0by9IdHRwVXRpbFwiO1xyXG5pbXBvcnQgQXVkaW9NYW5hZ2VyIGZyb20gXCIuLi9NdXNpYy9BdWRpb01hbmFnZXJcIjtcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9ucyB9IGZyb20gXCIuLi9Ob3RpZmljYXRpb24vTm90aWZpY2F0aW9uXCI7XHJcbmltcG9ydCB7IFN0b3JhZ2VNZXNzYWdlIH0gZnJvbSBcIi4uL1N0b3JhZ2UvU3RvcmFnZVwiO1xyXG5pbXBvcnQgeyBHYW1lVG9vbCB9IGZyb20gXCIuLi9Ub29sL0dhbWVUb29sXCI7XHJcblxyXG5cclxud2luZG93LmluaXRNZ3IgPSBmdW5jdGlvbigpIHtcclxuICAgIGlmKGNjLmZ4KVxyXG4gICAge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNjLmZ4ID0ge307XHJcbiAgICBjb25zb2xlLmxvZyhcIjHliJ3lp4vljJZcIik7XHJcblxyXG4gICAgLy/ln7rnoYDnirbmgIHkv6Hmga9cclxuICAgIGNjLmZ4LlN0YXRlSW5mbyA9IHtcclxuICAgICAgICBkZWJ1Z01vZGU6IHRydWUsXHJcbiAgICAgICAgbmV0d29ya0Nvbm5lY3RlZDogdHJ1ZSwgICAvL+e9kee7nOeKtuaAgVxyXG4gICAgICAgIG5ldHdvcmtUeXBlOiAnbm9uZScsICAgICAgLy/nvZHnu5znsbvlnotcclxuICAgICAgICBpc09uRm9yZWdyb3VuZDogdHJ1ZSAgICAgIC8v5b2T5YmN5piv5ZCm5piv5Zyo5YmN5Y+wXHJcbiAgICB9O1xyXG5cclxuICAgIC8v5bqU55So57O757uf5L+h5oGvXHJcbiAgICAvL+mFjee9ruaWh+S7tlxyXG5cclxuICAgIGNjLmZ4LkdhbWVDb25maWcgPSBHYW1lQ29uZmlnO1xyXG4gICAgY2MuZnguSHR0cFV0aWwgPSBIdHRwVXRpbDtcclxuICAgIGNjLmZ4LkdhbWVUb29sID0gR2FtZVRvb2w7XHJcbiAgICBjYy5meC5BdWRpb01hbmFnZXIgPSBBdWRpb01hbmFnZXI7XHJcbiAgICBjYy5meC5Ob3RpZmljYXRpb25zID0gTm90aWZpY2F0aW9ucztcclxuICAgIGNjLmZ4LlN0b3JhZ2VNZXNzYWdlID0gU3RvcmFnZU1lc3NhZ2U7XHJcblxyXG4gICAgY2MuZnguU2hhcmVJbmZvID0ge1xyXG4gICAgICAgIHF1ZXJ5SWQgOiAtMSAgICAgICAgICAgICAgLy/liIbkuqtpZFxyXG4gICAgfTtcclxuXHJcbiAgICBjYy5meC5NZXNzYWdlID0ge1xyXG4gICAgICAgIGNvbnRyb2w6IFwiMTAwMDFcIiwgICAgICAgLy/kvKDpgJLmk43kvZzmjqfliLZcclxuICAgICAgICBzdGFydEdhbWU6XCIxMDAwMlwiLCAgICAgIC8v5Lyg6YCS5byA5aeL5bu6562RXHJcbiAgICAgICAgbmV4dDogXCIxMDAwM1wiICwgICAgICAgICAgLy/kvKDpgJLmiafooYzkuIvkuIDkuKrmoLzlrZDmtKrmsLTmtYHov4dcclxuICAgICAgICBjaGFuZ2VQYXRoOiBcIjEwMDA0XCIsICAgICAgIC8v5Lyg6YCS5pON5L2c5o6n5Yi2XHJcbiAgICAgICAgY2hhbmdlTWFwOiBcIjEwMDA1XCIsICAgICAgICAgLy/mlLnlj5jpgqPlnLDlm75cclxuICAgICAgICBuZXh0V2F0ZXI6IFwiMTAwMDZcIiAsICAgICAgICAgIC8v5Lyg6YCS5omn6KGM5LiL5LiA5Liq5qC85a2Q5rSq5rC05rWB6L+HXHJcbiAgICAgICAgYWRkRW5kOiBcIjEwMDA3XCIgLCAgICAgICAgICAvL+a3u+WKoOe7k+adn+eCuVxyXG4gICAgfVxyXG5cclxuICAgIC8qXHJcbiAgICAgICAgKiDlrqLmiLfnq6/ln4vngrnliIbkuqvnsbvlnotcclxuICAgICovXHJcbiAgICBjYy5meC5CdXJpYWxTaGFyZVR5cGUgPSB7XHJcbiAgICAgICAgRGVmYXVsdCA6IFwiZGVmYXVsdFwiLCAgICAgICAgLy/pu5jorqTliIbkuqvnsbvlnoss5YiG5Lqr5Yiw576kXHJcbiAgICAgICAgSW52aXRlIDogXCJpbnZpdGVcIiwgICAgICAgICAgLy8g6YKA6K+35aW95Y+LXHJcblxyXG4gICAgICAgIERhaWx5SW52aXRlUm9vbUpvaW46J2ludml0ZV9qb2luX3Jvb20nLCAvL+mCgOivt+WlveWPi+WKoOWFpVxyXG4gICAgICAgIERhaWx5SW52aXRlRnJpZW5kIDogJ2ludml0ZV9mcmllbmQnLCAvLyDml6XluLjpgoDor7flpb3lj4tcclxuICAgICAgICBEYWlseUludml0ZUdyb3VwIDogJ2ludmF0ZV9ncm91cCcsIC8vIOaXpeW4uOWIhuS6q+e+pFxyXG4gICAgICAgIERhaWx5SW52aXRlR3JvdXBBbGl2ZTogJ2ludmF0ZV9hbGl2ZScsIC8v5pel5bi45YiG5Lqr576k5aSN5rS7XHJcbiAgICAgICAgRGFpbHlJbnZpdGVHcm91cFJld2FyZDogJ2ludmF0ZV9yZXdhcmVkJywvL+WIhuS6q+WlluWKsee/u+WAjVxyXG4gICAgICAgIERhaWx5SW52aXRlR3JvdXBCb3g6ICdpbnZhdGVfYm94JywgIC8v5a6d566x5YiG5Lqr5aWW5YqxXHJcbiAgICAgICAgRGFpbHlJbnZpdGVHcm91cEJhbGw6ICdpbnZhdGVfYmFsbCcsICAvL+WIhuS6q+mihuWPlueQg+eQg1xyXG5cclxuICAgICAgICBNYXRjaFJlc3VsdCA6ICdtYXRjaFJlc3VsdCcsICAvLyDmr5TotZvnu5PnrpfliIbkuqtcclxuICAgICAgICBNYXRjaEZpeDU6ICdNYXRjaEZpeDUnLCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gNeWFg+e6ouWMhei1m1xyXG4gICAgICAgIE1hdGNoRml4MjA6ICdNYXRjaEZpeDIwJywgICAgICAgICAgICAgICAgICAgICAgICAvLyAyMOWFg+e6ouWMhei1m1xyXG4gICAgICAgIE1hdGNoRml4MTAwOiAnTWF0Y2hGaXgxMDAnLCAgICAgICAgICAgICAgICAgICAgICAvLyAxMDDlhYPnuqLljIXotZtcclxuICAgICAgICBNYXRjaEZpeDUwMDogJ01hdGNoRml4NTAwJywgICAgICAgICAgICAgICAgICAgICAgLy8gNTAw5YWD57qi5YyF6LWbXHJcbiAgICAgICAgTmV3ZXJSZWRFbnZlbG9wZTogJ25ld2VyUmVkRW52ZWxvcGUnLCAgICAgICAgICAgIC8vIOaWsOaJi+e6ouWMhVxyXG4gICAgICAgIENvaW5Sb29tUmVzdWx0OiAnY29pblJvb21SZXN1bHQnLCAgICAgICAgICAgICAgICAvLyDph5HluIHmoYznu5PnrpdcclxuICAgICAgICBIaWdoUmF0ZSA6IFwiaGlnaFJhdGVcIiwvL+mrmOWAjeWIhuS6q1xyXG4gICAgICAgIENvaW5Sb29tV2luU3RyZWFrOiAnY29pblJvb21XaW5TdHJlYWsnLCAgICAgICAgIC8vIOi/nuiDnFxyXG4gICAgICAgIENvaW5Sb29tQmFua3J1cHRjeTE6ICdjb2luUm9vbUJhbmtydXB0Y3kxJywgICAgICAgICAvLyDph5HluIHmoYznoLTkuqdcclxuICAgICAgICBDb2luUm9vbUJhbmtydXB0Y3kyOiAnY29pblJvb21CYW5rcnVwdGN5MicsICAgICAgICAgLy8g6YeR5biB5qGM56C05LqnXHJcbiAgICAgICAgQ29pblJvb21CYW5rcnVwdGN5MzogJ2NvaW5Sb29tQmFua3J1cHRjeTMnLCAgICAgICAgIC8vIOmHkeW4geahjOegtOS6p1xyXG4gICAgfTtcclxuXHJcbiAgICAvKlxyXG4gICAgICog5YiG5Lqr5Yiw5ZOq5YS/57uZ5aWW5YqxIGdyb3VwIGZyaW5lZCBhbGxcclxuICAgICAqL1xyXG4gICAgY2MuZnguU2hhcmVXaGVyZVJld2FyZCA9IHtcclxuICAgICAgICBHcm91cCA6XCJncm91cFwiLCAvL+W+ruS/oee+pFxyXG4gICAgICAgIEZyaWVuZCA6IFwiZnJpZW5kXCIsLy/lpb3lj4tcclxuICAgICAgICBBbGwgOiBcImFsbFwiLCAvL+S4jeWMuuWIhlxyXG4gICAgfTtcclxuXHJcbiAgICAvL+eUqOS6juWtmOWCqOa2iOaBr+eahElEXHJcbiAgICBjYy5meC5zdG9yYWdlVHlwZSA9IGNjLkVudW0oe1xyXG5cdCAgICBzdG9yYWdlVHlwZUN1c3RvbTogMTAwMDEwMSwgLy/nlKjkuo7lrZjlgqjlhbPljaHnrYnnuqdcclxuXHR9KTtcclxuXHJcbiAgICAvL+eUqOS6juWtmOWCqOaPkOekuuivrSAg5oyJ54Wn5q2l6aqk5o+Q56S6XHJcbiAgICBjYy5meC50aXBUeXBlID0gY2MuRW51bSh7XHJcbiAgICAgICAgdGlwT25lOiAn56We5Yac5rCP5Zue5Yiw5a625Lit77yM5byA5aeL5pW055CG5LuK5aSp5pS26ZuG5p2l55qE54mp5ZOB44CC5b2T5LuW56ys5LiA5qyh5ou/5Ye65oiW6K+05Ye65LiA56eN5qSN54mp5pe277yM6K+35ZGK6K+J5LuW6L+Z5piv5paw5qSN54mp44CCJyxcclxuICAgICAgICB0aXBUd286ICflpoLmnpzku5bmi7/lh7rmiJbor7Tlh7rnmoTmpI3niankvaDku4rlpKnnnIvliLDov4fvvIzor7flkYror4nku5bkuIrmrKHmmK/nnIvliLDnmoTvvJvlpoLmnpzkvaDlkKzku5bor7Tov4fvvIzliJnor7flkYror4nku5bkuIrmrKHmmK/lkKzliLDnmoTjgIInLCAvL+eUqOS6juWtmOWCqOWFs+WNoeetiee6p1xyXG4gICAgICAgIHRpcEVyck5ldzogJ+i/meaYr+i/meWxgOa4uOaIj+esrOS4gOasoeWHuueOsHvmpI3nial9JyxcclxuICAgICAgICB0aXBFcnJPbGQ6ICd75qSN54mpfeWImuaJjeWHuueOsOi/h+WRoicsXHJcbiAgICAgICAgdGlwRXJySGVhcjogJ+S4iuasoemBh+WIsHvmpI3nial95pe277yM5Ly85LmO5LiN5piv5ZCs5Yiw55qE5ZCnJyxcclxuICAgICAgICB0aXBFcnJTZWU6ICfkuIrmrKHpgYfliLB75qSN54mpfeaXtu+8jOS8vOS5juS4jeaYr+eci+WIsOeahOWQpycsXHJcbiAgICAgICAgdGlwRXJyTGFzdDogJ+S5i+WJjeehruWunueci+WIsOi/h3vmpI3nial977yM5L2G5pyA6L+R5LiA5qyh5Ly85LmO5LiN5piv55yL5Yiw55qE5ZGiJyxcclxuXHJcbiAgICB9KTtcclxuXHJcbn07Il19 +//------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: @@ -2161,88 +2442,702 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, 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; - _this.Map = null; - _this.tip = null; - _this.reinforce = null; - _this.soil = null; + // LIFE-CYCLE CALLBACKS: + _this.UI = null; return _this; // update (dt) {} } - // LIFE-CYCLE CALLBACKS: - // onLoad () {} + NewClass.prototype.onLoad = function () { + this.finishi = false; + this.pos_Shifting = 0; + this.pos = cc.v2(0, 0); + }; NewClass.prototype.start = function () { - this.tipArray = []; - this.controlArray = []; - this.canTouch = true; }; - NewClass.prototype.setPosition = function (tip) { - tip.setPosition(45, -35); - if (this.tipArray.length > 0) { - var length = this.tipArray.length + 1; - var posY = Math.ceil(length / 5) - 1; - var posX = length - Math.floor(posY) * 5 - 1; - tip.setPosition(45 + 65 * posX, -35 - 60 * posY); + NewClass.prototype.initData = function (type, pos, max) { + this.block_Type = type; + this.pos = cc.v2(pos.x, pos.y); + 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"]; + 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"]; + 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; } }; - NewClass.prototype.removeAllTip = function () { - if (!this.canTouch) + //旋转入海口和出海口的 图片以及文字角度 + 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; - this.tipArray = []; - }; - NewClass.prototype.back_Click = function () { - if (!this.canTouch) + } + 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; - if (this.tipArray.length > 0) { - var tip = this.tipArray[this.tipArray.length - 1]; - tip.active = false; - tip.removeFromParent(this.Map); - tip = null; - this.tipArray.pop(); - this.controlArray.pop(); + } + 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.btn_Click = function (target, data) { - if (!this.canTouch) - return; - var prefab = this.tip; - if (data == "reinforce" || data == "soil") - prefab = this[data]; - 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; - this.setPosition(tip); - this.tipArray.push(tip); - this.controlArray.push(data); - cc.fx.Notifications.emit(cc.fx.Message.control, data); + NewClass.prototype.setPath = function (type) { + this.path_Type = type; }; - NewClass.prototype.start_Click = function () { - if (!this.canTouch) + //设置息壤在起点 + 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" ? -90 : 0; + water.angle = direction == "up" ? -90 : 0; + } + 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); + if (this.block_Type == cc.Enum(BlockType).Start) { + this.set_Xi_Soil(direction, false); return; - this.canTouch = false; - cc.fx.Notifications.emit(cc.fx.Message.startGame, this.controlArray); + } + 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.set_Xi_Soil(direction, true); + } + 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.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; + } + //如果双向都占用了还进来就算死了- + if (this.node.getChildByName("vertical2").active == true && this.node.getChildByName("horizontal2").active == true) { + alert("河道已经交叉,不能再通过"); + cc.director.loadScene("GameScene"); + return; + } + else if (this.node.getChildByName("turn2").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil) { + alert("河道过弯处,不能再交叉河道"); + 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("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).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.x - posTemp.x == -1) { + direction = "down"; + } + // console.log("方向:",direction); + this.set_Xi_Soil(direction, true); + // alert("治水成功"); + // target = this.node.getChildByName("End"); + // target.active = true; + // target.opacity = 0; + // cc.tween(target) + // .to(0.5,{opacity:255}) + // .call(() =>{ + // console.log("游戏结束"); + // // if(data.circulate) + // // cc.fx.Notifications.emit(cc.fx.Message.next,order); + // }) + // .start(); + } + 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.director.loadScene("GameScene"); + return; + } + else if (this.node.getChildByName("turn").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil) { + alert("河道过弯处,不能再交叉河道"); + 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 == "Reinforce"){ + // target = this.node.getChildByName("Reinforce"); + // this.block_Type = cc.Enum(BlockType).Reinforce; + // // this.node.getChildByName("vertical").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e1"]; + // // this.node.getChildByName("turn").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e3"]; + // // this.node.getChildByName("horizontal").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(() =>{ + // if(data.circulate) + // cc.fx.Notifications.emit(cc.fx.Message.changeMap,order); + // cc.fx.Notifications.emit(cc.fx.Message.nextWater,order); + // }) + // .start(); + // } + // else if(this.path_Type == "Xi_Soil"){ + // target.active = false; + // 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(() =>{ + // if(data.circulate){ + // cc.fx.Notifications.emit(cc.fx.Message.nextWater,order); + // } + // }) + // .start(); + // } + 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("治水成功"); + if (cc.fx.GameConfig.GM_INFO.level < 7) { + cc.fx.GameConfig.GM_INFO.level += 1; + } + cc.director.loadScene("GameScene"); + }) + .start(); + } + } + else { + target = this.node.getChildByName("End"); + target.active = true; + target.opacity = 0; + cc.tween(target) + .to(0.5, { opacity: 255 }) + .call(function () { + alert("治水失败"); + 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.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); + property(cc.SpriteAtlas) + ], NewClass.prototype, "UI", void 0); NewClass = __decorate([ ccclass ], NewClass); @@ -2261,7 +3156,7 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxDb250cm9sTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1RSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQTRFQztRQXpFRyxTQUFHLEdBQVksSUFBSSxDQUFDO1FBRXBCLFNBQUcsR0FBYyxJQUFJLENBQUM7UUFFdEIsZUFBUyxHQUFjLElBQUksQ0FBQztRQUU1QixVQUFJLEdBQWMsSUFBSSxDQUFDOztRQWtFdkIsaUJBQWlCO0lBQ3JCLENBQUM7SUE3REcsd0JBQXdCO0lBRXhCLGVBQWU7SUFFZix3QkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVELDhCQUFXLEdBQVgsVUFBWSxHQUFHO1FBQ1gsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QixJQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBQztZQUN4QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUM7WUFDcEMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLElBQUksSUFBSSxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUMs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TUFBTSxDQUFDOzBDQUNHO0lBVE4sUUFBUTtRQUQ1QixPQUFPO09BQ2EsUUFBUSxDQTRFNUI7SUFBRCxlQUFDO0NBNUVELEFBNEVDLENBNUVxQyxFQUFFLENBQUMsU0FBUyxHQTRFakQ7a0JBNUVvQixRQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTGVhcm4gVHlwZVNjcmlwdDpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvdHlwZXNjcmlwdC5odG1sXHJcbi8vIExlYXJuIEF0dHJpYnV0ZTpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvcmVmZXJlbmNlL2F0dHJpYnV0ZXMuaHRtbFxyXG4vLyBMZWFybiBsaWZlLWN5Y2xlIGNhbGxiYWNrczpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvbGlmZS1jeWNsZS1jYWxsYmFja3MuaHRtbFxyXG5cclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcblxyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBNYXA6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIHRpcDogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5QcmVmYWIpXHJcbiAgICByZWluZm9yY2U6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgc29pbDogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIFxyXG5cclxuICAgIHRpcEFycmF5OmFueTtcclxuICAgIGNvbnRyb2xBcnJheTphbnk7XHJcbiAgICBjYW5Ub3VjaDpib29sZWFuO1xyXG4gICAgLy8gTElGRS1DWUNMRSBDQUxMQkFDS1M6XHJcblxyXG4gICAgLy8gb25Mb2FkICgpIHt9XHJcblxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHRoaXMudGlwQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmNvbnRyb2xBcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuY2FuVG91Y2ggPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFBvc2l0aW9uKHRpcCl7XHJcbiAgICAgICAgdGlwLnNldFBvc2l0aW9uKDQ1LC0zNSk7XHJcbiAgICAgICAgaWYodGhpcy50aXBBcnJheS5sZW5ndGggPiAwKXtcclxuICAgICAgICAgICAgbGV0IGxlbmd0aCA9IHRoaXMudGlwQXJyYXkubGVuZ3RoKzE7XHJcbiAgICAgICAgICAgIGxldCBwb3NZID0gTWF0aC5jZWlsKGxlbmd0aC81KSAtIDE7XHJcbiAgICAgICAgICAgIGxldCBwb3NYID0gbGVuZ3RoIC0gTWF0aC5mbG9vcihwb3NZKSo1IC0gMTtcclxuICAgICAgICAgICAgdGlwLnNldFBvc2l0aW9uKDQ1ICsgNjUqcG9zWCwtMzUgLTYwKnBvc1kpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZW1vdmVBbGxUaXAoKXtcclxuICAgICAgICBpZighdGhpcy5jYW5Ub3VjaCkgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMudGlwQXJyYXkgPSBbXTtcclxuICAgIH1cclxuXHJcbiAgICBiYWNrX0NsaWNrKCl7XHJcbiAgICAgICAgaWYoIXRoaXMuY2FuVG91Y2gpIHJldHVybjtcclxuICAgICAgICBpZih0aGlzLnRpcEFycmF5Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBsZXQgdGlwID0gdGhpcy50aXBBcnJheVt0aGlzLnRpcEFycmF5Lmxlbmd0aC0xXTtcclxuICAgICAgICAgICAgdGlwLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aXAucmVtb3ZlRnJvbVBhcmVudCh0aGlzLk1hcCk7XHJcbiAgICAgICAgICAgIHRpcCA9IG51bGw7XHJcbiAgICAgICAgICAgIHRoaXMudGlwQXJyYXkucG9wKCk7XHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbEFycmF5LnBvcCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgYnRuX0NsaWNrKHRhcmdldCxkYXRhKXtcclxuICAgICAgICBpZighdGhpcy5jYW5Ub3VjaCkgcmV0dXJuO1xyXG4gICAgICAgIGxldCBwcmVmYWIgPSB0aGlzLnRpcDtcclxuICAgICAgICBpZihkYXRhID09IFwicmVpbmZvcmNlXCIgfHwgZGF0YSA9PSBcInNvaWxcIikgcHJlZmFiID0gdGhpc1tkYXRhXTtcclxuICAgICAgICBsZXQgdGlwID0gY2MuaW5zdGFudGlhdGUocHJlZmFiKTtcclxuICAgICAgICBpZihkYXRhID09IFwidXBcIikgdGlwLmFuZ2xlID0gMTgwO1xyXG4gICAgICAgIGlmKGRhdGEgPT0gXCJsZWZ0XCIpIHRpcC5hbmdsZSA9IC05MDtcclxuICAgICAgICBpZihkYXRhID09IFwicmlnaHRcIikgdGlwLmFuZ2xlID0gOTA7XHJcbiAgICAgICAgdGlwLnBhcmVudCA9IHRoaXMuTWFwO1xyXG4gICAgICAgIHRoaXMuc2V0UG9zaXRpb24odGlwKTtcclxuICAgICAgICB0aGlzLnRpcEFycmF5LnB1c2godGlwKTtcclxuICAgICAgICB0aGlzLmNvbnRyb2xBcnJheS5wdXNoKGRhdGEpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLmNvbnRyb2wsZGF0YSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHN0YXJ0X0NsaWNrKCl7XHJcbiAgICAgICAgaWYoIXRoaXMuY2FuVG91Y2gpIHJldHVybjtcclxuICAgICAgICB0aGlzLmNhblRvdWNoID0gZmFsc2U7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc3RhcnRHYW1lLHRoaXMuY29udHJvbEFycmF5KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyB1cGRhdGUgKGR0KSB7fVxyXG59XHJcbiJdfQ== +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxCbG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUUsSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFFMUMsSUFBWSxTQWdCWDtBQWhCRCxXQUFZLFNBQVM7SUFDakIsU0FBUztJQUNULDJDQUFTLENBQUE7SUFDVCxTQUFTO0lBQ1QsMkNBQVMsQ0FBQTtJQUNULE9BQU87SUFDUCwyQ0FBUyxDQUFBO0lBQ1QsT0FBTztJQUNQLHlDQUFRLENBQUE7SUFDUixTQUFTO0lBQ1QsdUNBQU8sQ0FBQTtJQUVQLE9BQU87SUFDUCwrQ0FBVyxDQUFBO0lBQ1gsT0FBTztJQUNQLG1EQUFhLENBQUE7QUFDakIsQ0FBQyxFQWhCVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQWdCcEI7QUFFRCxJQUFZLFFBY1g7QUFkRCxXQUFZLFFBQVE7SUFDaEIsdUJBQVcsQ0FBQTtJQUNYLHFCQUFTLENBQUE7SUFDVCx5QkFBYSxDQUFBO0lBQ2IseUJBQWEsQ0FBQTtJQUNiLDJCQUFlLENBQUE7SUFDZiwrQkFBbUIsQ0FBQTtJQUNuQixpQ0FBcUIsQ0FBQTtJQUNyQixtQ0FBdUIsQ0FBQTtJQUN2QixxQ0FBeUIsQ0FBQTtJQUN6QiwrQkFBbUIsQ0FBQTtJQUNuQixtQ0FBdUIsQ0FBQTtJQUN2QixpQ0FBcUIsQ0FBQTtJQUNyQixxQ0FBeUIsQ0FBQTtBQUM3QixDQUFDLEVBZFcsUUFBUSxHQUFSLGdCQUFRLEtBQVIsZ0JBQVEsUUFjbkI7QUFHRDtJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQW9yQkM7UUFuckJHLHdCQUF3QjtRQUV4QixRQUFFLEdBQW1CLElBQUksQ0FBQzs7UUFnckIxQixpQkFBaUI7SUFDckIsQ0FBQztJQTFxQkcseUJBQU0sR0FBTjtRQUNJLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELHdCQUFLLEdBQUw7SUFFQSxDQUFDO0lBRUQsMkJBQVEsR0FBUixVQUFTLElBQUksRUFBQyxHQUFHLEVBQUMsR0FBRztRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsSUFBRyxJQUFJLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUM7WUFDaEMsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEMsd0RBQXdEO1lBQ3hELEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzNFLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFDLE9BQU8sRUFBQyxHQUFHLEVBQUMsR0FBRyxDQUFDLENBQUM7U0FDekM7YUFDSSxJQUFHLElBQUksSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBQztZQUNuQyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4Qyx3REFBd0Q7WUFDeEQsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUMsS0FBSyxFQUFDLEdBQUcsRUFBQyxHQUFHLENBQUMsQ0FBQztTQUN2QzthQUNJLElBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFDO1lBQ3JDLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUMsR0FBRyxDQUFDLENBQUM7WUFDakMsSUFBSSxRQUFRLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1NBQ3hEO2FBQ0ksSUFBRyxJQUFJLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUM7WUFDcEMsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNDLElBQUksSUFBSSxHQUFHLE1BQU0sR0FBRyxNQUFNLENBQUM7WUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwRyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUN4RDtJQUNMLENBQUM7SUFDRCxxQkFBcUI7SUFDckIsK0JBQVksR0FBWixVQUFhLEVBQUUsRUFBQyxJQUFJLEVBQUMsR0FBRyxFQUFDLEdBQUc7UUFDeEIsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFHLEdBQUcsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUM7WUFDaEIsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDYixJQUFHLElBQUksSUFBSSxLQUFLO2dCQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ2pCLE9BQU87U0FDVjthQUNJLElBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUM7WUFDZixFQUFFLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxDQUFDO1lBQ2hCLElBQUcsSUFBSSxJQUFJLEtBQUs7Z0JBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDaEcsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDckIsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsQ0FBQztZQUNwQixPQUFPO1NBQ1Y7YUFDSSxJQUFHLEdBQUcsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUM7WUFDckIsRUFBRSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDZCxJQUFHLElBQUksSUFBSSxPQUFPO2dCQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDOztnQkFDL0YsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDcEYsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDckIsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztTQUN0QjthQUNJLElBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUM7WUFDZixFQUFFLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2YsSUFBRyxJQUFJLElBQUksT0FBTztnQkFBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQzs7Z0JBQy9GLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BGLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1NBQ3JCO0lBQ0wsQ0FBQztJQUVELDBCQUFPLEdBQVAsVUFBUSxJQUFJO1FBQ1IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUNELFNBQVM7SUFDVCw4QkFBVyxHQUFYLFVBQVksU0FBUyxFQUFDLElBQUk7UUFDdEIsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDakQsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbkQsSUFBRyxTQUFTLElBQUksTUFBTSxJQUFJLFNBQVMsSUFBSSxPQUFPLEVBQUM7WUFDM0MsSUFBRyxFQUFFLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBQztnQkFDYixJQUFJLENBQUMsTUFBTSxHQUFFLElBQUksQ0FBQztnQkFDbEIsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ3BCLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO2dCQUNsQixJQUFHLElBQUksRUFBQztvQkFDSixJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsSUFBRSxNQUFNLENBQUEsQ0FBQyxDQUFBLEVBQUUsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDO29CQUNwQyxLQUFLLENBQUMsS0FBSyxHQUFHLFNBQVMsSUFBRSxNQUFNLENBQUEsQ0FBQyxDQUFBLEVBQUUsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDO2lCQUN4QztxQkFDRztvQkFDQSxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsSUFBRSxNQUFNLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsRUFBRSxDQUFDO29CQUNwQyxLQUFLLENBQUMsS0FBSyxHQUFHLFNBQVMsSUFBRSxNQUFNLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsRUFBRSxDQUFDO2lCQUN4QzthQUVKO2lCQUNJLElBQUcsRUFBRSxDQUFDLEtBQUssSUFBSSxDQUFDLEdBQUcsRUFBQztnQkFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRSxJQUFJLENBQUM7Z0JBQ2xCLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixLQUFLLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztnQkFDbEIsSUFBRyxJQUFJLEVBQUM7b0JBQ0osSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLElBQUUsTUFBTSxDQUFBLENBQUMsQ0FBQSxDQUFDLEdBQUcsQ0FBQSxDQUFDLENBQUEsQ0FBQyxFQUFFLENBQUM7b0JBQ3hDLEtBQUssQ0FBQyxLQUFLLEdBQUcsU0FBUyxJQUFFLE1BQU0sQ0FBQSxDQUFDLENBQUEsQ0FBQyxHQUFHLENBQUEsQ0FBQyxDQUFBLENBQUMsRUFBRSxDQUFDO2lCQUM1QztxQkFDRztvQkFDQSxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsSUFBRSxNQUFNLENBQUEsQ0FBQyxDQUFBLEdBQUcsQ0FBQSxDQUFDLENBQUEsQ0FBQyxHQUFHLENBQUM7b0JBQ3hDLEtBQUssQ0FBQyxLQUFLLEdBQUcsU0FBUyxJQUFFLE1BQU0sQ0FBQSxDQUFDLENBQUEsR0FBRyxDQUFBLENBQUMsQ0FBQSxDQUFDLEdBQUcsQ0FBQztpQkFDNUM7YUFFSjtpQkFDSSxJQUFHLEVBQUUsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLEVBQUM7Z0JBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUUsSUFBSSxDQUFDO2dCQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDMUUsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ2hCLElBQUcsSUFBSSxFQUFDO29CQUNKLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO29CQUNwQixLQUFLLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztvQkFDakIsS0FBSyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQy9FLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO2lCQUNyQjthQUVKO2lCQUNJLElBQUcsRUFBRSxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUM7Z0JBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUUsSUFBSSxDQUFDO2dCQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDMUUsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ2hCLElBQUcsSUFBSSxFQUFDO29CQUNKLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO29CQUNwQixLQUFLLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztvQkFDakIsS0FBSyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQy9FLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO2lCQUNyQjthQUNKO1NBRUo7YUFDSSxJQUFHLFNBQVMsSUFBSSxJQUFJLElBQUksU0FBUyxJQUFJLE1BQU0sRUFBQztZQUM3QyxJQUFJLElBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4QyxJQUFHLElBQUUsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLEVBQUM7Z0JBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRSxJQUFJLENBQUM7Z0JBQ2xCLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixLQUFLLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztnQkFDbEIsSUFBRyxJQUFJLEVBQUM7b0JBQ0osSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLElBQUUsSUFBSSxDQUFBLENBQUMsQ0FBQSxDQUFDLEVBQUUsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDO29CQUNuQyxLQUFLLENBQUMsS0FBSyxHQUFHLFNBQVMsSUFBRSxJQUFJLENBQUEsQ0FBQyxDQUFBLENBQUMsRUFBRSxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUM7aUJBQ3ZDO3FCQUNHO29CQUNBLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxJQUFFLElBQUksQ0FBQSxDQUFDLENBQUEsQ0FBQyxFQUFFLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQztvQkFDbkMsS0FBSyxDQUFDLEtBQUssR0FBRyxTQUFTLElBQUUsSUFBSSxDQUFBLENBQUMsQ0FBQSxDQUFDLEVBQUUsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDO2lCQUN2QzthQUVKO2lCQUNJLElBQUcsSUFBRSxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUM7Z0JBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUUsSUFBSSxDQUFDO2dCQUNsQixLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztnQkFDcEIsS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7Z0JBQ2xCLElBQUcsSUFBSSxFQUFDO29CQUNKLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxJQUFFLElBQUksQ0FBQSxDQUFDLENBQUEsRUFBRSxDQUFBLENBQUMsQ0FBQSxHQUFHLENBQUM7b0JBQ3BDLEtBQUssQ0FBQyxLQUFLLEdBQUcsU0FBUyxJQUFFLElBQUksQ0FBQSxDQUFDLENBQUEsRUFBRSxDQUFBLENBQUMsQ0FBQSxHQUFHLENBQUM7aUJBQ3hDO3FCQUNHO29CQUNBLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxJQUFFLElBQUksQ0FBQSxDQUFDLENBQUEsR0FBRyxDQUFBLENBQUMsQ0FBQSxFQUFFLENBQUM7b0JBQ3BDLEtBQUssQ0FBQyxLQUFLLEdBQUcsU0FBUyxJQUFFLElBQUksQ0FBQSxDQUFDLENBQUEsR0FBRyxDQUFBLENBQUMsQ0FBQSxFQUFFLENBQUM7aUJBQ3hDO2FBRUo7aUJBQ0ksSUFBRyxJQUFFLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBQztnQkFDbEIsSUFBSSxDQUFDLE1BQU0sR0FBRSxJQUFJLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMxRSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFDZixJQUFHLElBQUksRUFBQztvQkFDSixLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztvQkFDcEIsS0FBSyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQy9FLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO2lCQUNyQjthQUNKO2lCQUNJLElBQUcsSUFBRSxDQUFDLEtBQUssSUFBSSxDQUFDLEdBQUcsRUFBQztnQkFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRSxJQUFJLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMxRSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFDZixJQUFHLElBQUksRUFBQztvQkFDSixLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztvQkFDcEIsS0FBSyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQy9FLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO2lCQUNyQjthQUNKO1NBQ0o7SUFDTCxDQUFDO0lBR0Qsa0NBQWUsR0FBZixVQUFnQixTQUFTLEVBQUMsR0FBRyxFQUFDLElBQUk7UUFBbEMsaUJBaURDO1FBaERHLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFDLFNBQVMsRUFBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELElBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBQztZQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBQyxLQUFLLENBQUMsQ0FBQztZQUNsQyxPQUFPO1NBQ1Y7UUFFRCxJQUFHLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUM7WUFDM0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDMUUsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsR0FBSSxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3pGO1FBQ0QsSUFBRyxHQUFHLElBQUksSUFBSSxFQUFDO1lBQ1gsSUFBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFDO2dCQUN6QyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBQyxJQUFJLENBQUMsQ0FBQzthQUNwQztZQUNELFVBQVUsQ0FBQztnQkFDUCxJQUFHLElBQUksSUFBSSxPQUFPO29CQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUMsQ0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7b0JBQ3pFLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUMsQ0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5RCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDWDtRQUVELElBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFDO1lBQ3hGLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUM7U0FDaEQ7YUFDRztTQUNIO1FBQ0QsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDckIsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDbkIsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7YUFDZixFQUFFLENBQUMsR0FBRyxFQUFDLEVBQUMsT0FBTyxFQUFDLEdBQUcsRUFBQyxDQUFDO2FBQ3JCLEVBQUUsQ0FBQyxHQUFHLEVBQUMsRUFBQyxPQUFPLEVBQUMsQ0FBQyxFQUFDLENBQUM7YUFDbkIsSUFBSSxDQUFDO1lBQ0YsSUFBRyxTQUFTLElBQUksSUFBSSxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUM7Z0JBQ2hDLElBQUksSUFBSSxHQUFHO29CQUNQLEtBQUssRUFBQyxDQUFDO29CQUNQLElBQUksRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztvQkFDN0MsSUFBSSxFQUFDLENBQUM7b0JBQ04sU0FBUyxFQUFDLEtBQUs7aUJBQ2xCLENBQUM7Z0JBQ0YsSUFBRyxJQUFJLElBQUksT0FBTyxFQUFDO29CQUNmLEtBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ3ZCOztvQkFDSSxLQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzNCO1FBQ0wsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxFQUFFLENBQUM7SUFDYixDQUFDO0lBR0QsUUFBUTtJQUNSLDBCQUFPLEdBQVAsVUFBUSxJQUFJO1FBQ1IsSUFBRyxJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUssRUFBQztZQUN2QixVQUFVLENBQUM7Z0JBQ1AsSUFBRyxJQUFJLENBQUMsU0FBUztvQkFDYixFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNELENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDZCxPQUFPO1NBQ1Y7UUFDRCxtQkFBbUI7UUFDbkIsSUFBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sSUFBSSxJQUFJLEVBQUM7WUFDOUcsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3RCLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ25DLE9BQU87U0FDVjthQUVJLElBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFDO1lBQ3RHLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUN2QixFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNuQyxPQUFPO1NBQ1Y7UUFDRCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDckIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDM0IsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMvQyxJQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksVUFBVSxFQUFDO1lBQ3pCLElBQUksUUFBTSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BFLElBQUksUUFBTSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BFLElBQUksUUFBTSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BFLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQztZQUNyQixRQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFNLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFDdkYsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFDUixRQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFBO1lBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztZQUNyQixRQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFNLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFDdkYsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFDUixRQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFBO1lBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztZQUNyQixRQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFNLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFDdkYsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFDUixRQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFBO1lBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxF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LElBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxVQUFVLEVBQUM7WUFDekIsSUFBSSxRQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEUsSUFBSSxRQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEUsSUFBSSxRQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEUsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLFFBQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQU0sQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUN2RixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUNSLFFBQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUE7WUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1lBQ3JCLFFBQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQU0sQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUN2RixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUNSLFFBQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUE7WUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1lBQ3JCLFFBQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQU0sQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUN2RixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUNSLFFBQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUE7WUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1NBQ3hCO1FBRUQsSUFBSSxJQUFJLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUN4QixrSUFBa0k7UUFFbEksSUFBRyxNQUFNLENBQUMsTUFBTSxJQUFJLElBQUksRUFBQztZQUNyQixNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDaEQsSUFBSSxRQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEUsSUFBSSxRQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEUsSUFBSSxRQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEUsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLFFBQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQU0sQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUN2RixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUNSLFFBQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUE7WUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1lBQ3JCLFFBQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQU0sQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUN2RixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUNSLFFBQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUE7WUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1lBQ3JCLFFBQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQU0sQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUN2RixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUNSLFFBQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUE7WUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1lBQ3JCLElBQUksR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDO1lBQ3BCLGtJQUFrSTtTQUNySTtRQUNELDBDQUEwQztRQUMxQyxJQUFHLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUM7U0FDekM7YUFDSSxJQUFHLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLEVBQUM7WUFDN0MsTUFBTSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7U0FDdEI7YUFDSSxJQUFHLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLEVBQUM7WUFDN0MsTUFBTSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDbEIsSUFBSSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUM7WUFDcEIsa0lBQWtJO1NBQ3JJO2FBQ0ksSUFBRyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxFQUFDO1lBQzlDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1lBQ25CLElBQUksR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDO1lBQ3BCLGtJQUFrSTtTQUNySTthQUNHO1lBQ0EsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzFDLElBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxNQUFNLEVBQUM7Z0JBQ3JCLElBQUksT0FBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNsRSxPQUFLLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQTtnQkFDakIsT0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFDLENBQUMsSUFBSSxDQUFDLEVBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7Z0JBQ3JGLFVBQVUsQ0FBQztvQkFDUCxPQUFLLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztnQkFDeEIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2FBQ1g7WUFDRCxJQUFJLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQztZQUNwQixpSUFBaUk7WUFDakksUUFBUSxHQUFHLElBQUksQ0FBQztZQUNoQixJQUFHLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLEVBQUM7Z0JBQzNDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQzdEO2lCQUNJLElBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsRUFBQztnQkFDakQsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDbkIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQzVEO2lCQUNJLElBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsRUFBQztnQkFDbEQsTUFBTSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7Z0JBQ25CLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ25CLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUM1RDtpQkFDSSxJQUFHLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLEVBQUM7Z0JBQ25ELE1BQU0sQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO2dCQUNuQixNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQzNEO2lCQUNJLElBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBQztnQkFDaEQsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDbkIsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDbkIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUMzRDtpQkFDSSxJQUFHLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLEVBQUM7Z0JBQ2xELE1BQU0sQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUNsQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUM3RDtpQkFDSSxJQUFHLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLEVBQUM7Z0JBQ2pELE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ25CLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUU1RDtpQkFDSSxJQUFHLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLEVBQUM7Z0JBQ25ELE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ25CLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ25CLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQzdEO1NBQ0o7UUFDRCxxQ0FBcUM7UUFDckMsc0RBQXNEO1FBQ3RELHNEQUFzRDtRQUN0RCxvSEFBb0g7UUFDcEgsZ0hBQWdIO1FBQ2hILHNIQUFzSDtRQUN0SCw0QkFBNEI7UUFDNUIsMEJBQTBCO1FBQzFCLG9CQUFvQjtRQUNwQix1QkFBdUI7UUFDdkIsbUVBQW1FO1FBQ25FLG1CQUFtQjtRQUNuQiw2QkFBNkI7UUFDN0IsdUVBQXVFO1FBQ3ZFLHVFQUF1RTtRQUN2RSxTQUFTO1FBQ1QsZ0JBQWdCO1FBQ2hCLElBQUk7UUFDSix3Q0FBd0M7UUFDeEMsNkJBQTZCO1FBQzdCLG9EQUFvRDtRQUNwRCxxREFBcUQ7UUFDckQsNEJBQTRCO1FBQzVCLDBCQUEwQjtRQUMxQix1QkFBdUI7UUFDdkIsNEJBQTRCO1FBQzVCLDRCQUE0QjtRQUM1QixtQkFBbUI7UUFDbkIsOEJBQThCO1FBQzlCLHVFQUF1RTtRQUN2RSxZQUFZO1FBRVosU0FBUztRQUNULGdCQUFnQjtRQUNoQixJQUFJO1FBQ0osSUFBRyxJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUssRUFBQztZQUN2QixNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUN0QixJQUFHLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUM7Z0JBQ3pDLElBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFDO29CQUNsRyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO3lCQUMvQyxFQUFFLENBQUMsR0FBRyxFQUFDLEVBQUMsT0FBTyxFQUFDLEdBQUcsRUFBQyxDQUFDO3lCQUNyQixJQUFJLENBQUM7d0JBQ0YsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUNkLElBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUM7NEJBQ2xDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO3lCQUN2Qzt3QkFDRCxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDdkMsQ0FBQyxDQUFDO3lCQUNELEtBQUssRUFBRSxDQUFDO2lCQUNaO2FBQ0o7aUJBQ0c7Z0JBQ0EsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN6QyxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztnQkFDckIsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7Z0JBQ25CLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO3FCQUNmLEVBQUUsQ0FBQyxHQUFHLEVBQUMsRUFBQyxPQUFPLEVBQUMsR0FBRyxFQUFDLENBQUM7cUJBQ3JCLElBQUksQ0FBQztvQkFDRixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUE7b0JBQ2IsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBRXZDLENBQUMsQ0FBQztxQkFDRCxLQUFLLEVBQUUsQ0FBQzthQUNaO1NBRUo7YUFDRztZQUNBLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7WUFDN0MsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDdkMsRUFBRSxDQUFDLElBQUksRUFBQyxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsQ0FBQztpQkFDN0IsSUFBSSxDQUFDO2dCQUNGLElBQUcsSUFBSSxDQUFDLFNBQVM7b0JBQ2IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBQyxLQUFLLENBQUMsQ0FBQztZQUNoRSxDQUFDLENBQUM7aUJBQ0QsS0FBSyxFQUFFLENBQUM7U0FDWjtJQUVMLENBQUM7SUE5cUJEO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUM7d0NBQ0M7SUFIVCxRQUFRO1FBRDVCLE9BQU87T0FDYSxRQUFRLENBb3JCNUI7SUFBRCxlQUFDO0NBcHJCRCxBQW9yQkMsQ0FwckJxQyxFQUFFLENBQUMsU0FBUyxHQW9yQmpEO2tCQXByQm9CLFFBQVEiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMZWFybiBUeXBlU2NyaXB0OlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy90eXBlc2NyaXB0Lmh0bWxcclxuLy8gTGVhcm4gQXR0cmlidXRlOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9yZWZlcmVuY2UvYXR0cmlidXRlcy5odG1sXHJcbi8vIExlYXJuIGxpZmUtY3ljbGUgY2FsbGJhY2tzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9saWZlLWN5Y2xlLWNhbGxiYWNrcy5odG1sXHJcblxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuXHJcbmV4cG9ydCBlbnVtIEJsb2NrVHlwZXtcclxuICAgIC8q5pmu6YCa5Zyw5Z2XICovXHJcbiAgICBOb21hbCA9IDAsICBcclxuICAgIC8q6LW354K55Zyw5Z2XICovXHJcbiAgICBTdGFydCA9IDEsICBcclxuICAgIC8q5rm/5ZywICovXHJcbiAgICBOdW5qYSA9IDIsXHJcbiAgICAvKuWxseWzsCAqL1xyXG4gICAgUGVhayA9IDMsXHJcbiAgICAvKue7iOeCueWcsOWdlyAqL1xyXG4gICAgRW5kID0gNCxcclxuXHJcbiAgICAvKuaBr+WjpCAqL1xyXG4gICAgWGlfU29pbCA9IDUsXHJcbiAgICAvKuWKoOWbuiAqL1xyXG4gICAgUmVpbmZvcmNlID0gNlxyXG59XHJcblxyXG5leHBvcnQgZW51bSBQYXRoVHlwZXtcclxuICAgIGVyciA9IFwiZXJyXCIsXHJcbiAgICB1cCA9IFwidXBcIiwgIFxyXG4gICAgZG93biA9IFwiZG93blwiLCAgXHJcbiAgICBsZWZ0ID0gXCJsZWZ0XCIsXHJcbiAgICByaWdodCA9IFwicmlnaHRcIixcclxuICAgIHVwX2xlZnQgPSBcInVwX2xlZnRcIixcclxuICAgIHVwX3JpZ2h0ID0gXCJ1cF9yaWdodFwiLFxyXG4gICAgZG93bl9sZWZ0ID0gXCJkb3duX2xlZnRcIixcclxuICAgIGRvd25fcmlnaHQgPSBcImRvd25fcmlnaHRcIixcclxuICAgIGxlZnRfdXAgPSBcImxlZnRfdXBcIixcclxuICAgIGxlZnRfZG93biA9IFwibGVmdF9kb3duXCIsXHJcbiAgICByaWdodF91cCA9IFwicmlnaHRfdXBcIixcclxuICAgIHJpZ2h0X2Rvd24gPSBcInJpZ2h0X2Rvd25cIixcclxufVxyXG5cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV3Q2xhc3MgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG4gICAgLy8gTElGRS1DWUNMRSBDQUxMQkFDS1M6XHJcbiAgICBAcHJvcGVydHkoY2MuU3ByaXRlQXRsYXMpXHJcbiAgICBVSTogY2MuU3ByaXRlQXRsYXMgPSBudWxsO1xyXG5cclxuICAgIHBvc19TaGlmdGluZzpudW1iZXI7XHJcbiAgICBibG9ja19UeXBlOm51bWJlcjtcclxuICAgIHBhdGhfVHlwZTpzdHJpbmc7XHJcbiAgICBmaW5pc2hpOmJvb2xlYW47XHJcbiAgICBwb3M6IGFueTtcclxuICAgIG9uTG9hZCAoKSB7XHJcbiAgICAgICAgdGhpcy5maW5pc2hpID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5wb3NfU2hpZnRpbmcgPSAwO1xyXG4gICAgICAgIHRoaXMucG9zID0gY2MudjIoMCwwKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGFydCAoKSB7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgaW5pdERhdGEodHlwZSxwb3MsbWF4KXtcclxuICAgICAgICB0aGlzLmJsb2NrX1R5cGUgPSB0eXBlO1xyXG4gICAgICAgIHRoaXMucG9zID0gY2MudjIocG9zLngscG9zLnkpO1xyXG4gICAgICAgIGlmKHR5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLlN0YXJ0KXsgXHJcbiAgICAgICAgICAgIHZhciBiZyA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInNwXCIpO1xyXG4gICAgICAgICAgICAvLyB0aGlzLm5vZGUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSBudWxsO1xyXG4gICAgICAgICAgICBiZy5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wic3RhcnRcIl07XHJcbiAgICAgICAgICAgIHRoaXMucm90YXRlVGFyZ2V0KGJnLFwic3RhcnRcIixwb3MsbWF4KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0eXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5FbmQpe1xyXG4gICAgICAgICAgICB2YXIgYmcgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJzcFwiKTtcclxuICAgICAgICAgICAgLy8gdGhpcy5ub2RlLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gbnVsbDtcclxuICAgICAgICAgICAgYmcuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImVuZFwiXTtcclxuICAgICAgICAgICAgdGhpcy5yb3RhdGVUYXJnZXQoYmcsXCJlbmRcIixwb3MsbWF4KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0eXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5OdW5qYSl7XHJcbiAgICAgICAgICAgIGxldCByYW5kb20gPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqNCk7XHJcbiAgICAgICAgICAgIGxldCByb3RhdGlvbkFyciA9IFswLDkwLDE4MCwyNzBdO1xyXG4gICAgICAgICAgICBsZXQgcm90YXRpb24gPSByb3RhdGlvbkFycltyYW5kb21dO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJiZ1wiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiZTVcIl07XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImJnXCIpLmFuZ2xlID0gLXJvdGF0aW9uO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHR5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLlBlYWspe1xyXG4gICAgICAgICAgICBsZXQgcmFuZG9tID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjQrMSk7XHJcbiAgICAgICAgICAgIGxldCBuYW1lID0gXCJzaGFuXCIgKyByYW5kb207XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImJnXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/ml4vovazlhaXmtbflj6Plkozlh7rmtbflj6PnmoQg5Zu+54mH5Lul5Y+K5paH5a2X6KeS5bqmXHJcbiAgICByb3RhdGVUYXJnZXQoYmcsbmFtZSxwb3MsbWF4KXtcclxuICAgICAgICBsZXQgdGFyZ2V0ID0gYmcuZ2V0Q2hpbGRCeU5hbWUobmFtZSk7XHJcbiAgICAgICAgaWYocG9zLnkgPT0gbWF4LnktMSl7XHJcbiAgICAgICAgICAgIGJnLmFuZ2xlID0gMDtcclxuICAgICAgICAgICAgaWYobmFtZSA9PSBcImVuZFwiKSB0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImVuZF94XCJdO1xyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gMDtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHBvcy55ID09IDApe1xyXG4gICAgICAgICAgICBiZy5hbmdsZSA9IC0xODA7XHJcbiAgICAgICAgICAgIGlmKG5hbWUgPT0gXCJlbmRcIil0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImVuZF94XCJdO1xyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gLTE4MDtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHBvcy54ID09IG1heC54LTEpe1xyXG4gICAgICAgICAgICBiZy5hbmdsZSA9IDkwO1xyXG4gICAgICAgICAgICBpZihuYW1lID09IFwic3RhcnRcIil0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcInN0YXJ0X3lcIl07XHJcbiAgICAgICAgICAgIGVsc2UgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJlbmRfeVwiXTtcclxuICAgICAgICAgICAgdGFyZ2V0LmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IC05MDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihwb3MueCA9PSAwKXtcclxuICAgICAgICAgICAgYmcuYW5nbGUgPSAtOTA7XHJcbiAgICAgICAgICAgIGlmKG5hbWUgPT0gXCJzdGFydFwiKXRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wic3RhcnRfeVwiXTtcclxuICAgICAgICAgICAgZWxzZSB0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImVuZF95XCJdO1xyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gOTA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNldFBhdGgodHlwZSl7XHJcbiAgICAgICAgdGhpcy5wYXRoX1R5cGUgPSB0eXBlO1xyXG4gICAgfVxyXG4gICAgLy/orr7nva7mga/lo6TlnKjotbfngrlcclxuICAgIHNldF9YaV9Tb2lsKGRpcmVjdGlvbix0eXBlKXtcclxuICAgICAgICBsZXQgc3AgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJzcFwiKTtcclxuICAgICAgICBsZXQgdHVybiA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInR1cm5TdGFydFwiKTtcclxuICAgICAgICBsZXQgd2F0ZXIgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlclN0YXJ0XCIpO1xyXG4gICAgICAgIGlmKGRpcmVjdGlvbiA9PSBcImxlZnRcIiB8fCBkaXJlY3Rpb24gPT0gXCJyaWdodFwiKXtcclxuICAgICAgICAgICAgaWYoc3AuYW5nbGUgPT0gMCl7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmFjdGl2ZSA9dHJ1ZTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSBkaXJlY3Rpb249PVwibGVmdFwiPzkwOjA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYW5nbGUgPSBkaXJlY3Rpb249PVwibGVmdFwiPzkwOjA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSBkaXJlY3Rpb249PVwibGVmdFwiPzA6OTA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYW5nbGUgPSBkaXJlY3Rpb249PVwibGVmdFwiPzA6OTA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYoc3AuYW5nbGUgPT0gLTE4MCl7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmFjdGl2ZSA9dHJ1ZTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSBkaXJlY3Rpb249PVwibGVmdFwiPy0xODA6LTkwO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmFuZ2xlID0gZGlyZWN0aW9uPT1cImxlZnRcIj8tMTgwOi05MDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgdHVybi5hbmdsZSA9IGRpcmVjdGlvbj09XCJsZWZ0XCI/MjcwOi0xODA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYW5nbGUgPSBkaXJlY3Rpb249PVwibGVmdFwiPzI3MDotMTgwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHNwLmFuZ2xlID09IC05MCl7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmFjdGl2ZSA9dHJ1ZTtcclxuICAgICAgICAgICAgICAgIHR1cm4uZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImExXCJdO1xyXG4gICAgICAgICAgICAgICAgdHVybi5hbmdsZSA9IDkwO1xyXG4gICAgICAgICAgICAgICAgaWYodHlwZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5hbmdsZSA9IDkwO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJibG9jazFcIl07XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYoc3AuYW5nbGUgPT0gOTApe1xyXG4gICAgICAgICAgICAgICAgdHVybi5hY3RpdmUgPXRydWU7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJhMVwiXTtcclxuICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSA5MDtcclxuICAgICAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYW5nbGUgPSA5MDtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiYmxvY2sxXCJdO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwidXBcIiB8fCBkaXJlY3Rpb24gPT0gXCJkb3duXCIpe1xyXG4gICAgICAgICAgICBsZXQgc3AgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJzcFwiKTtcclxuICAgICAgICAgICAgaWYoc3AuYW5nbGUgPT0gLTkwKXtcclxuICAgICAgICAgICAgICAgIHR1cm4uYWN0aXZlID10cnVlO1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgaWYodHlwZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdHVybi5hbmdsZSA9IGRpcmVjdGlvbj09XCJ1cFwiPy05MDowO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmFuZ2xlID0gZGlyZWN0aW9uPT1cInVwXCI/LTkwOjA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSBkaXJlY3Rpb249PVwidXBcIj8tOTA6MDtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5hbmdsZSA9IGRpcmVjdGlvbj09XCJ1cFwiPy05MDowO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZihzcC5hbmdsZSA9PSA5MCl7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmFjdGl2ZSA9dHJ1ZTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSBkaXJlY3Rpb249PVwidXBcIj85MDoxODA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYW5nbGUgPSBkaXJlY3Rpb249PVwidXBcIj85MDoxODA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSBkaXJlY3Rpb249PVwidXBcIj8xODA6OTA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYW5nbGUgPSBkaXJlY3Rpb249PVwidXBcIj8xODA6OTA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYoc3AuYW5nbGUgPT0gMCl7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmFjdGl2ZSA9dHJ1ZTtcclxuICAgICAgICAgICAgICAgIHR1cm4uZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImExXCJdO1xyXG4gICAgICAgICAgICAgICAgdHVybi5hbmdsZSA9IDA7XHJcbiAgICAgICAgICAgICAgICBpZih0eXBlKXtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJibG9jazFcIl07XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZihzcC5hbmdsZSA9PSAtMTgwKXtcclxuICAgICAgICAgICAgICAgIHR1cm4uYWN0aXZlID10cnVlO1xyXG4gICAgICAgICAgICAgICAgdHVybi5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiYTFcIl07XHJcbiAgICAgICAgICAgICAgICB0dXJuLmFuZ2xlID0gMDtcclxuICAgICAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImJsb2NrMVwiXTtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgc2V0X1hpX1NvaWxUeXBlKGRpcmVjdGlvbixlbmQsbmFtZSl7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCLmga/lo6RcIixkaXJlY3Rpb24sbmFtZSx0aGlzLmJsb2NrX1R5cGUpO1xyXG4gICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSA9PSBjYy5FbnVtKEJsb2NrVHlwZSkuU3RhcnQpe1xyXG4gICAgICAgICAgICB0aGlzLnNldF9YaV9Tb2lsKGRpcmVjdGlvbixmYWxzZSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSA9PSBjYy5FbnVtKEJsb2NrVHlwZSkuTnVuamEpe1xyXG4gICAgICAgICAgICB0aGlzLmJsb2NrX1R5cGUgPSBjYy5FbnVtKEJsb2NrVHlwZSkuTm9tYWw7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImJnXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gbnVsbDtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gIHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiYmxvY2tfQmdcIl07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGVuZCAhPSBudWxsKXtcclxuICAgICAgICAgICAgaWYodGhpcy5ibG9ja19UeXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5FbmQpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRfWGlfU29pbChkaXJlY3Rpb24sdHJ1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZihuYW1lID09IFwid2F0ZXJcIikgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2UubmV4dFdhdGVyLChlbmQrMSkpO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5uZXh0LChlbmQrMSkpO1xyXG4gICAgICAgICAgICB9LCA0MDApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYodGhpcy5ibG9ja19UeXBlICE9IGNjLkVudW0oQmxvY2tUeXBlKS5FbmQgJiYgdGhpcy5ibG9ja19UeXBlICE9IGNjLkVudW0oQmxvY2tUeXBlKS5TdGFydCl7XHJcbiAgICAgICAgICAgIHRoaXMuYmxvY2tfVHlwZSA9IGNjLkVudW0oQmxvY2tUeXBlKS5YaV9Tb2lsO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlhpX1NvaWxcIik7IFxyXG4gICAgICAgIHRoaXMucGF0aF9UeXBlID0gZGlyZWN0aW9uO1xyXG4gICAgICAgIHRhcmdldC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIHRhcmdldC5vcGFjaXR5ID0gMDtcclxuICAgICAgICBjYy50d2Vlbih0YXJnZXQpXHJcbiAgICAgICAgLnRvKDAuMSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgIC50bygwLjEse29wYWNpdHk6MH0pXHJcbiAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgIGlmKGRpcmVjdGlvbiAhPSBudWxsICYmIGVuZCA9PSBudWxsKXtcclxuICAgICAgICAgICAgICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOjAsXHJcbiAgICAgICAgICAgICAgICAgICAgdGltZTpjYy5meC5HYW1lQ29uZmlnLlRJTUVfSU5GTy53YXRlclNwZWVkWzBdLFxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6MCxcclxuICAgICAgICAgICAgICAgICAgICBjaXJjdWxhdGU6ZmFsc2VcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICBpZihuYW1lID09IFwid2F0ZXJcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ydW5XYXRlcihkYXRhKTtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICBlbHNlIHRoaXMucnVuUm9hZChkYXRhKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8v5L+u562R6Lev57q/5omn6KGMXHJcbiAgICBydW5Sb2FkKGRhdGEpe1xyXG4gICAgICAgIGlmKHRoaXMucGF0aF9UeXBlID09IFwiZXJyXCIpe1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmKGRhdGEuY2lyY3VsYXRlKVxyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLm5leHQsb3JkZXIpO1xyXG4gICAgICAgICAgICB9LCBkYXRhLnRpbWUpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8v5aaC5p6c5Y+M5ZCR6YO95Y2g55So5LqG6L+Y6L+b5p2l5bCx566X5q275LqGLSBcclxuICAgICAgICBpZih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ2ZXJ0aWNhbDJcIikuYWN0aXZlID09IHRydWUgJiYgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiaG9yaXpvbnRhbDJcIikuYWN0aXZlID09IHRydWUpe1xyXG4gICAgICAgICAgICBhbGVydChcIuays+mBk+W3sue7j+S6pOWPie+8jOS4jeiDveWGjemAmui/h1wiKTtcclxuICAgICAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR2FtZVNjZW5lXCIpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBlbHNlIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInR1cm4yXCIpLmFjdGl2ZSA9PSB0cnVlICYmIHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuWGlfU29pbCl7XHJcbiAgICAgICAgICAgIGFsZXJ0KFwi5rKz6YGT6L+H5byv5aSE77yM5LiN6IO95YaN5Lqk5Y+J5rKz6YGTXCIpO1xyXG4gICAgICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFyIHRhcmdldCA9IG51bGw7XHJcbiAgICAgICAgdmFyIHByb2dyZXNzID0gMTtcclxuICAgICAgICB2YXIgdGltZSA9IGRhdGEudGltZTtcclxuICAgICAgICB2YXIgb3JkZXIgPSBkYXRhLm9yZGVyICsgMTtcclxuICAgICAgICB2YXIgcmFuZG9tID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjQgKyAxKTtcclxuICAgICAgICB0YXJnZXQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ2ZXJ0aWNhbDJcIik7XHJcbiAgICAgICAgaWYodGFyZ2V0Lm5hbWUgPT0gXCJ2ZXJ0aWNhbFwiKXtcclxuICAgICAgICAgICAgbGV0IHdhdGVyMSA9IHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcIndhdmVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlcjFcIik7XHJcbiAgICAgICAgICAgIGxldCB3YXRlcjIgPSB0YXJnZXQuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXZlXCIpLmdldENoaWxkQnlOYW1lKFwid2F0ZXIyXCIpO1xyXG4gICAgICAgICAgICBsZXQgd2F0ZXIzID0gdGFyZ2V0LmdldENoaWxkQnlOYW1lKFwid2F2ZVwiKS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyM1wiKTtcclxuICAgICAgICAgICAgbGV0IHRpbWVEZWxheSA9IDAuMTU7XHJcbiAgICAgICAgICAgIHdhdGVyMS5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2MubW92ZVRvKDAuNixjYy52Mih3YXRlcjEueCwxMjApKSxjYy5kZWxheVRpbWUodGltZURlbGF5KSxcclxuICAgICAgICAgICAgY2MuY2FsbEZ1bmMoKCk9PntcclxuICAgICAgICAgICAgICAgIHdhdGVyMS55ID0gLTEyMFxyXG4gICAgICAgICAgICB9KSkucmVwZWF0Rm9yZXZlcigpKTtcclxuICAgICAgICAgICAgd2F0ZXIyLnJ1bkFjdGlvbihjYy5zZXF1ZW5jZShjYy5tb3ZlVG8oMC42LGNjLnYyKHdhdGVyMi54LDEyMCkpLGNjLmRlbGF5VGltZSh0aW1lRGVsYXkpLFxyXG4gICAgICAgICAgICBjYy5jYWxsRnVuYygoKT0+e1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIyLnkgPSAtMTIwXHJcbiAgICAgICAgICAgIH0pKS5yZXBlYXRGb3JldmVyKCkpO1xyXG4gICAgICAgICAgICB3YXRlcjMucnVuQWN0aW9uKGNjLnNlcXVlbmNlKGNjLm1vdmVUbygwLjYsY2MudjIod2F0ZXIzLngsMTIwKSksY2MuZGVsYXlUaW1lKHRpbWVEZWxheSksXHJcbiAgICAgICAgICAgIGNjLmNhbGxGdW5jKCgpPT57XHJcbiAgICAgICAgICAgICAgICB3YXRlcjMueSA9IC0xMjBcclxuICAgICAgICAgICAgfSkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB2YXIgbmFtZSA9IFwiYVwiICsgcmFuZG9tO1xyXG4gICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKXRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW25hbWVdO1xyXG5cclxuICAgICAgICBpZih0YXJnZXQuYWN0aXZlID09IHRydWUpe1xyXG4gICAgICAgICAgICB0YXJnZXQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJob3Jpem9udGFsMlwiKTtcclxuICAgICAgICAgICAgbmFtZSA9IFwiYlwiICsgcmFuZG9tO1xyXG4gICAgICAgICAgICBpZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZSkgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgfSBcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLnBhdGhfVHlwZSxkYXRhLm9yZGVyKTtcclxuICAgICAgICBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS51cCl7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkuZG93bil7XHJcbiAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDE4MDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5sZWZ0KXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gOTA7XHJcbiAgICAgICAgICAgIG5hbWUgPSBcImJcIiArIHJhbmRvbTtcclxuICAgICAgICAgICAgaWYodGhpcy5ibG9ja19UeXBlICE9IGNjLkVudW0oQmxvY2tUeXBlKS5SZWluZm9yY2UpIHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW25hbWVdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnJpZ2h0KXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gMjcwO1xyXG4gICAgICAgICAgICBuYW1lID0gXCJiXCIgKyByYW5kb207XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKSB0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtuYW1lXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidHVybjJcIik7XHJcbiAgICAgICAgICAgIGlmKHRhcmdldC5uYW1lID09IFwidHVyblwiKXtcclxuICAgICAgICAgICAgICAgIGxldCB3YXRlciA9IHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcIndhdmVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlclwiKTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAwXHJcbiAgICAgICAgICAgICAgICB3YXRlci5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2Mucm90YXRlVG8oNy4yLC0xMDgwKSxjYy5kZWxheVRpbWUoMCkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICAgICAgfSwgMjAwKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIFxyXG4gICAgICAgICAgICBuYW1lID0gXCJjXCIgKyByYW5kb207XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKXRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW25hbWVdO1xyXG4gICAgICAgICAgICBwcm9ncmVzcyA9IDAuMjU7XHJcbiAgICAgICAgICAgIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnVwX2xlZnQpe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKC10aGlzLnBvc19TaGlmdGluZywtdGhpcy5wb3NfU2hpZnRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkudXBfcmlnaHQpe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNjYWxlWCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKHRoaXMucG9zX1NoaWZ0aW5nLC10aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5kb3duX2xlZnQpe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gMTgwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNjYWxlWCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKC10aGlzLnBvc19TaGlmdGluZyx0aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5kb3duX3JpZ2h0KXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDE4MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbih0aGlzLnBvc19TaGlmdGluZyx0aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5sZWZ0X3VwKXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IC05MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zY2FsZVkgPSAtMTtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbih0aGlzLnBvc19TaGlmdGluZyx0aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5sZWZ0X2Rvd24pe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gOTA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLC10aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5yaWdodF91cCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAtOTA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLHRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnJpZ2h0X2Rvd24pe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gLTkwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNjYWxlWCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKC10aGlzLnBvc19TaGlmdGluZywtdGhpcy5wb3NfU2hpZnRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKHRoaXMucGF0aF9UeXBlID09IFwiUmVpbmZvcmNlXCIpe1xyXG4gICAgICAgICAgICB0YXJnZXQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJSZWluZm9yY2VcIik7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuRW5kKXRoaXMuYmxvY2tfVHlwZSA9IGNjLkVudW0oQmxvY2tUeXBlKS5SZWluZm9yY2U7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInZlcnRpY2FsMlwiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiZTFcIl07XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInR1cm4yXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJlM1wiXTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiaG9yaXpvbnRhbDJcIikuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImUyXCJdO1xyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGFyZ2V0Lm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICBwcm9ncmVzcyA9IDE7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRhcmdldClcclxuICAgICAgICAgICAgLnRvKGNjLmZ4LkdhbWVDb25maWcuVElNRV9JTkZPLlJlaW5mb3JjZVNwZWVkLHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgaWYoZGF0YS5jaXJjdWxhdGUpXHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2UuY2hhbmdlTWFwLG9yZGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5uZXh0LG9yZGVyKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gXCJYaV9Tb2lsXCIpe1xyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuRW5kICYmIHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuU3RhcnQpXHJcbiAgICAgICAgICAgICAgICB0aGlzLmJsb2NrX1R5cGUgPSBjYy5FbnVtKEJsb2NrVHlwZSkuWGlfU29pbDtcclxuICAgICAgICAgICAgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiWGlfU29pbFwiKTsgXHJcbiAgICAgICAgICAgIHRhcmdldC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0YXJnZXQub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRhcmdldClcclxuICAgICAgICAgICAgLnRvKDAuMDEse29wYWNpdHk6MX0pXHJcbiAgICAgICAgICAgIC50bygwLjAxLHtvcGFjaXR5OjB9KVxyXG4gICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgIGlmKGRhdGEuY2lyY3VsYXRlKXtcclxuICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5uZXh0LG9yZGVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBcIkVuZFwiKXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICBpZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLkVuZCAmJiB0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlN0YXJ0KVxyXG4gICAgICAgICAgICAgICAgdGhpcy5ibG9ja19UeXBlID0gY2MuRW51bShCbG9ja1R5cGUpLlhpX1NvaWw7XHJcbiAgICAgICAgICAgIGxldCBwb3NUZW1wID0gZGF0YS5sYXN0O1xyXG4gICAgICAgICAgICB2YXIgZGlyZWN0aW9uID0gXCJ1cFwiO1xyXG4gICAgICAgICAgICBpZih0aGlzLnBvcy54IC0gcG9zVGVtcC54ID09IDEpe1xyXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJyaWdodFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wb3MueCAtIHBvc1RlbXAueCA9PSAtMSl7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcImxlZnRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucG9zLnggLSBwb3NUZW1wLnggPT0gLTEpe1xyXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJkb3duXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICBcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLmlrnlkJE6XCIsZGlyZWN0aW9uKTtcclxuICAgICAgICAgICAgdGhpcy5zZXRfWGlfU29pbChkaXJlY3Rpb24sdHJ1ZSk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAvLyBhbGVydChcIuayu+awtOaIkOWKn1wiKTtcclxuICAgICAgICAgICAgLy8gdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiRW5kXCIpOyBcclxuICAgICAgICAgICAgLy8gdGFyZ2V0LmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIC8vIHRhcmdldC5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgLy8gY2MudHdlZW4odGFyZ2V0KVxyXG4gICAgICAgICAgICAvLyAudG8oMC41LHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgICAgIC8vIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAvLyAgICAgY29uc29sZS5sb2coXCLmuLjmiI/nu5PmnZ9cIik7XHJcbiAgICAgICAgICAgIC8vICAgICAvLyBpZihkYXRhLmNpcmN1bGF0ZSlcclxuICAgICAgICAgICAgLy8gICAgIC8vICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5uZXh0LG9yZGVyKTtcclxuICAgICAgICAgICAgLy8gfSlcclxuICAgICAgICAgICAgLy8gLnN0YXJ0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIHRhcmdldC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICBpZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlhpX1NvaWwpe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLmZpbGxSYW5nZSA9IDA7XHJcbiAgICAgICAgICAgICAgICBjYy50d2Vlbih0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkpXHJcbiAgICAgICAgICAgICAgICAudG8odGltZSx7ZmlsbFJhbmdlOnByb2dyZXNzfSlcclxuICAgICAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGRhdGEuY2lyY3VsYXRlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5uZXh0LG9yZGVyKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0Lm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLmZpbGxSYW5nZSA9IDE7XHJcbiAgICAgICAgICAgICAgICBjYy50d2Vlbih0YXJnZXQpXHJcbiAgICAgICAgICAgICAgICAudG8odGltZSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoZGF0YS5jaXJjdWxhdGUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLm5leHQsb3JkZXIpO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcblxyXG4gICAgLy/mtKrls7DmiafooYxcclxuICAgIHJ1bldhdGVyKGRhdGEpe1xyXG4gICAgICAgIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyU3RhcnRcIikuYWN0aXZlID09IHRydWUgJiYgdGhpcy5ibG9ja19UeXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5TdGFydCl7XHJcbiAgICAgICAgICAgIC8vIHNwLmdldENoaWxkQnlOYW1lKFwid2F0ZXJTdGFydFwiKS5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICBjYy50d2Vlbih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlclN0YXJ0XCIpKVxyXG4gICAgICAgICAgICAudG8oMC4yLHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIGlmKHRoaXMucGF0aF9UeXBlID09IFwiZXJyXCIpe1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmKGRhdGEuY2lyY3VsYXRlKVxyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLm5leHRXYXRlcixvcmRlcik7XHJcbiAgICAgICAgICAgIH0sIGRhdGEudGltZSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy/lpoLmnpzlj4zlkJHpg73ljaDnlKjkuobov5jov5vmnaXlsLHnrpfmrbvkuoYtIFxyXG4gICAgICAgIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInZlcnRpY2FsXCIpLmFjdGl2ZSA9PSB0cnVlICYmIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImhvcml6b250YWxcIikuYWN0aXZlID09IHRydWUpe1xyXG4gICAgICAgICAgICBhbGVydChcIuays+mBk+W3sue7j+S6pOWPie+8jOS4jeiDveWGjemAmui/h1wiKTtcclxuICAgICAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR2FtZVNjZW5lXCIpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBlbHNlIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInR1cm5cIikuYWN0aXZlID09IHRydWUgJiYgdGhpcy5ibG9ja19UeXBlICE9IGNjLkVudW0oQmxvY2tUeXBlKS5YaV9Tb2lsKXtcclxuICAgICAgICAgICAgYWxlcnQoXCLmsrPpgZPov4flvK/lpITvvIzkuI3og73lho3kuqTlj4nmsrPpgZNcIik7XHJcbiAgICAgICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkdhbWVTY2VuZVwiKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB2YXIgdGFyZ2V0ID0gbnVsbDtcclxuICAgICAgICB2YXIgcHJvZ3Jlc3MgPSAxO1xyXG4gICAgICAgIHZhciB0aW1lID0gZGF0YS50aW1lO1xyXG4gICAgICAgIHZhciBvcmRlciA9IGRhdGEub3JkZXIgKyAxO1xyXG4gICAgICAgIHZhciByYW5kb20gPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqNCArIDEpO1xyXG4gICAgICAgIHRhcmdldCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInZlcnRpY2FsXCIpO1xyXG4gICAgICAgIGlmKHRhcmdldC5uYW1lID09IFwidmVydGljYWxcIil7XHJcbiAgICAgICAgICAgIGxldCB3YXRlcjEgPSB0YXJnZXQuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXZlXCIpLmdldENoaWxkQnlOYW1lKFwid2F0ZXIxXCIpO1xyXG4gICAgICAgICAgICBsZXQgd2F0ZXIyID0gdGFyZ2V0LmdldENoaWxkQnlOYW1lKFwid2F2ZVwiKS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyMlwiKTtcclxuICAgICAgICAgICAgbGV0IHdhdGVyMyA9IHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcIndhdmVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlcjNcIik7XHJcbiAgICAgICAgICAgIGxldCB0aW1lRGVsYXkgPSAwLjE1O1xyXG4gICAgICAgICAgICB3YXRlcjEucnVuQWN0aW9uKGNjLnNlcXVlbmNlKGNjLm1vdmVUbygwLjYsY2MudjIod2F0ZXIxLngsMTIwKSksY2MuZGVsYXlUaW1lKHRpbWVEZWxheSksXHJcbiAgICAgICAgICAgIGNjLmNhbGxGdW5jKCgpPT57XHJcbiAgICAgICAgICAgICAgICB3YXRlcjEueSA9IC0xMjBcclxuICAgICAgICAgICAgfSkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgICAgIHdhdGVyMi5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2MubW92ZVRvKDAuNixjYy52Mih3YXRlcjIueCwxMjApKSxjYy5kZWxheVRpbWUodGltZURlbGF5KSxcclxuICAgICAgICAgICAgY2MuY2FsbEZ1bmMoKCk9PntcclxuICAgICAgICAgICAgICAgIHdhdGVyMi55ID0gLTEyMFxyXG4gICAgICAgICAgICB9KSkucmVwZWF0Rm9yZXZlcigpKTtcclxuICAgICAgICAgICAgd2F0ZXIzLnJ1bkFjdGlvbihjYy5zZXF1ZW5jZShjYy5tb3ZlVG8oMC42LGNjLnYyKHdhdGVyMy54LDEyMCkpLGNjLmRlbGF5VGltZSh0aW1lRGVsYXkpLFxyXG4gICAgICAgICAgICBjYy5jYWxsRnVuYygoKT0+e1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIzLnkgPSAtMTIwXHJcbiAgICAgICAgICAgIH0pKS5yZXBlYXRGb3JldmVyKCkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdmFyIG5hbWUgPSBcImFcIiArIHJhbmRvbTtcclxuICAgICAgICAvLyBpZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZSl0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtuYW1lXTtcclxuXHJcbiAgICAgICAgaWYodGFyZ2V0LmFjdGl2ZSA9PSB0cnVlKXtcclxuICAgICAgICAgICAgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiaG9yaXpvbnRhbFwiKTtcclxuICAgICAgICAgICAgbGV0IHdhdGVyMSA9IHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcIndhdmVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlcjFcIik7XHJcbiAgICAgICAgICAgIGxldCB3YXRlcjIgPSB0YXJnZXQuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXZlXCIpLmdldENoaWxkQnlOYW1lKFwid2F0ZXIyXCIpO1xyXG4gICAgICAgICAgICBsZXQgd2F0ZXIzID0gdGFyZ2V0LmdldENoaWxkQnlOYW1lKFwid2F2ZVwiKS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyM1wiKTtcclxuICAgICAgICAgICAgbGV0IHRpbWVEZWxheSA9IDAuMTU7XHJcbiAgICAgICAgICAgIHdhdGVyMS5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2MubW92ZVRvKDAuNixjYy52Mih3YXRlcjEueCwxMjApKSxjYy5kZWxheVRpbWUodGltZURlbGF5KSxcclxuICAgICAgICAgICAgY2MuY2FsbEZ1bmMoKCk9PntcclxuICAgICAgICAgICAgICAgIHdhdGVyMS55ID0gLTEyMFxyXG4gICAgICAgICAgICB9KSkucmVwZWF0Rm9yZXZlcigpKTtcclxuICAgICAgICAgICAgd2F0ZXIyLnJ1bkFjdGlvbihjYy5zZXF1ZW5jZShjYy5tb3ZlVG8oMC42LGNjLnYyKHdhdGVyMi54LDEyMCkpLGNjLmRlbGF5VGltZSh0aW1lRGVsYXkpLFxyXG4gICAgICAgICAgICBjYy5jYWxsRnVuYygoKT0+e1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIyLnkgPSAtMTIwXHJcbiAgICAgICAgICAgIH0pKS5yZXBlYXRGb3JldmVyKCkpO1xyXG4gICAgICAgICAgICB3YXRlcjMucnVuQWN0aW9uKGNjLnNlcXVlbmNlKGNjLm1vdmVUbygwLjYsY2MudjIod2F0ZXIzLngsMTIwKSksY2MuZGVsYXlUaW1lKHRpbWVEZWxheSksXHJcbiAgICAgICAgICAgIGNjLmNhbGxGdW5jKCgpPT57XHJcbiAgICAgICAgICAgICAgICB3YXRlcjMueSA9IC0xMjBcclxuICAgICAgICAgICAgfSkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgICAgIG5hbWUgPSBcImJcIiArIHJhbmRvbTtcclxuICAgICAgICAgICAgLy9pZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZSkgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgfSBcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLnBhdGhfVHlwZSxkYXRhLm9yZGVyKTtcclxuICAgICAgICBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS51cCl7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkuZG93bil7XHJcbiAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDE4MDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5sZWZ0KXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gOTA7XHJcbiAgICAgICAgICAgIG5hbWUgPSBcImJcIiArIHJhbmRvbTtcclxuICAgICAgICAgICAgLy9pZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZSkgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkucmlnaHQpe1xyXG4gICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAyNzA7XHJcbiAgICAgICAgICAgIG5hbWUgPSBcImJcIiArIHJhbmRvbTtcclxuICAgICAgICAgICAgLy9pZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZSkgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIHRhcmdldCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInR1cm5cIik7XHJcbiAgICAgICAgICAgIGlmKHRhcmdldC5uYW1lID09IFwidHVyblwiKXtcclxuICAgICAgICAgICAgICAgIGxldCB3YXRlciA9IHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcIndhdmVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlclwiKTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAwXHJcbiAgICAgICAgICAgICAgICB3YXRlci5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2Mucm90YXRlVG8oNy4yLC0xMDgwKSxjYy5kZWxheVRpbWUoMCkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICAgICAgfSwgMjAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBuYW1lID0gXCJjXCIgKyByYW5kb207XHJcbiAgICAgICAgICAgIC8vaWYodGhpcy5ibG9ja19UeXBlICE9IGNjLkVudW0oQmxvY2tUeXBlKS5SZWluZm9yY2UpdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgICAgIHByb2dyZXNzID0gMC4yNTtcclxuICAgICAgICAgICAgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkudXBfbGVmdCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLC10aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS51cF9yaWdodCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2NhbGVYID0gLTE7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24odGhpcy5wb3NfU2hpZnRpbmcsLXRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmRvd25fbGVmdCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAxODA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2NhbGVYID0gLTE7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLHRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmRvd25fcmlnaHQpe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gMTgwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKHRoaXMucG9zX1NoaWZ0aW5nLHRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmxlZnRfdXApe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gLTkwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNjYWxlWSA9IC0xO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKHRoaXMucG9zX1NoaWZ0aW5nLHRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmxlZnRfZG93bil7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSA5MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbigtdGhpcy5wb3NfU2hpZnRpbmcsLXRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnJpZ2h0X3VwKXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IC05MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbigtdGhpcy5wb3NfU2hpZnRpbmcsdGhpcy5wb3NfU2hpZnRpbmcpO1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkucmlnaHRfZG93bil7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAtOTA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2NhbGVYID0gLTE7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLC10aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gaWYodGhpcy5wYXRoX1R5cGUgPT0gXCJSZWluZm9yY2VcIil7XHJcbiAgICAgICAgLy8gICAgIHRhcmdldCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlJlaW5mb3JjZVwiKTtcclxuICAgICAgICAvLyAgICAgdGhpcy5ibG9ja19UeXBlID0gY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZTtcclxuICAgICAgICAvLyAgICAgLy8gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidmVydGljYWxcIikuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImUxXCJdO1xyXG4gICAgICAgIC8vICAgICAvLyB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0dXJuXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJlM1wiXTtcclxuICAgICAgICAvLyAgICAgLy8gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiaG9yaXpvbnRhbFwiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiZTJcIl07XHJcbiAgICAgICAgLy8gICAgIHRhcmdldC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIC8vICAgICB0YXJnZXQub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgLy8gICAgIHByb2dyZXNzID0gMTtcclxuICAgICAgICAvLyAgICAgY2MudHdlZW4odGFyZ2V0KVxyXG4gICAgICAgIC8vICAgICAudG8oY2MuZnguR2FtZUNvbmZpZy5USU1FX0lORk8uUmVpbmZvcmNlU3BlZWQse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAvLyAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgLy8gICAgICAgICBpZihkYXRhLmNpcmN1bGF0ZSlcclxuICAgICAgICAvLyAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5jaGFuZ2VNYXAsb3JkZXIpO1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLm5leHRXYXRlcixvcmRlcik7XHJcbiAgICAgICAgLy8gICAgIH0pXHJcbiAgICAgICAgLy8gICAgIC5zdGFydCgpO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAvLyBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IFwiWGlfU29pbFwiKXtcclxuICAgICAgICAvLyAgICAgdGFyZ2V0LmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIC8vICAgICB0aGlzLmJsb2NrX1R5cGUgPSBjYy5FbnVtKEJsb2NrVHlwZSkuWGlfU29pbDtcclxuICAgICAgICAvLyAgICAgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiWGlfU29pbFwiKTsgXHJcbiAgICAgICAgLy8gICAgIHRhcmdldC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIC8vICAgICB0YXJnZXQub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgLy8gICAgIGNjLnR3ZWVuKHRhcmdldClcclxuICAgICAgICAvLyAgICAgLnRvKDAuMDEse29wYWNpdHk6MX0pXHJcbiAgICAgICAgLy8gICAgIC50bygwLjAxLHtvcGFjaXR5OjB9KVxyXG4gICAgICAgIC8vICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAvLyAgICAgICAgIGlmKGRhdGEuY2lyY3VsYXRlKXtcclxuICAgICAgICAvLyAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5uZXh0V2F0ZXIsb3JkZXIpO1xyXG4gICAgICAgIC8vICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgIC8vICAgICB9KVxyXG4gICAgICAgIC8vICAgICAuc3RhcnQoKTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgaWYodGhpcy5wYXRoX1R5cGUgPT0gXCJFbmRcIil7XHJcbiAgICAgICAgICAgIHRhcmdldC5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgaWYodGhpcy5ibG9ja19UeXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5FbmQpe1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwid2F0ZXJTdGFydFwiKS5hY3RpdmUgPT0gdHJ1ZSAmJiB0aGlzLmJsb2NrX1R5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLkVuZCl7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwid2F0ZXJTdGFydFwiKSlcclxuICAgICAgICAgICAgICAgICAgICAudG8oMC4yLHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCk9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxlcnQoXCLmsrvmsLTmiJDlip9cIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbCA8IDcpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsICs9IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR2FtZVNjZW5lXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHRhcmdldCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkVuZFwiKTsgXHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRhcmdldClcclxuICAgICAgICAgICAgICAgIC50bygwLjUse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgICAgIGFsZXJ0KFwi5rK75rC05aSx6LSlXCIpXHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR2FtZVNjZW5lXCIpO1xyXG5cclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5maWxsUmFuZ2UgPSAwO1xyXG4gICAgICAgICAgICBjYy50d2Vlbih0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkpXHJcbiAgICAgICAgICAgIC50byh0aW1lLHtmaWxsUmFuZ2U6cHJvZ3Jlc3N9KVxyXG4gICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgIGlmKGRhdGEuY2lyY3VsYXRlKVxyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLm5leHRXYXRlcixvcmRlcik7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgLy8gdXBkYXRlIChkdCkge31cclxufVxyXG4iXX0= //------QC-SOURCE-SPLIT------ (function() { @@ -2512,6 +3407,93 @@ cc._RF.pop(); } })(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhY2thZ2VzXFxUaWxlZE1hcE9wdGltaXplclxccmVzb3VyY2VcXFNjcmlwdFxcVG1vT2JqZWN0R3JvdXAuanMiXSwibmFtZXMiOlsiVG1vU3ByaXRlIiwicmVxdWlyZSIsImNjIiwiQ2xhc3MiLCJUaWxlZE9iamVjdEdyb3VwIiwiX2luaXQiLCJncm91cEluZm8iLCJtYXBJbmZvIiwidGV4R3JpZHMiLCJ0aWxlZE1hcCIsIlRpbGVkTWFwIiwiVE1YT2JqZWN0VHlwZSIsIk9yaWVudGF0aW9uIiwiU3RhZ2dlckF4aXMiLCJUaWxlRmxhZyIsIkZMSVBQRURfTUFTSyIsIkZMQUdfSE9SSVpPTlRBTCIsIkhPUklaT05UQUwiLCJGTEFHX1ZFUlRJQ0FMIiwiVkVSVElDQUwiLCJfZ3JvdXBOYW1lIiwibmFtZSIsIl9wb3NpdGlvbk9mZnNldCIsIm9mZnNldCIsIl9tYXBJbmZvIiwiX3Byb3BlcnRpZXMiLCJnZXRQcm9wZXJ0aWVzIiwiX29mZnNldCIsInYyIiwieCIsInkiLCJfb3BhY2l0eSIsIm1hcFNpemUiLCJfbWFwU2l6ZSIsInRpbGVTaXplIiwiX3RpbGVTaXplIiwid2lkdGgiLCJoZWlnaHQiLCJvcmllbnRhdGlvbiIsIkhFWCIsImdldFN0YWdnZXJBeGlzIiwiU1RBR0dFUkFYSVNfWCIsImdldEhleFNpZGVMZW5ndGgiLCJNYXRoIiwiZmxvb3IiLCJJU08iLCJ3aCIsIm5vZGUiLCJzZXRDb250ZW50U2l6ZSIsImxlZnRUb3BYIiwiYW5jaG9yWCIsImxlZnRUb3BZIiwiYW5jaG9yWSIsIm9iamVjdHMiLCJfb2JqZWN0cyIsImFsaXZlTm9kZXMiLCJ0ZXh0dXJlSW5kZXhNYXAiLCJNYXAiLCJvYmplY3RUZXh0dXJlcyIsImdldE9iamVjdFRleHR1cmVzIiwiZm9yRWFjaCIsInRleHR1cmUiLCJpZHgiLCJzZXQiLCJpIiwibCIsImxlbmd0aCIsIm9iamVjdCIsIm9ialR5cGUiLCJ0eXBlIiwicG9pbnRzIiwicG9seWxpbmVQb2ludHMiLCJwaSIsInBvc0lkeFgiLCJwb3NJZHhZIiwiVEVYVCIsInRleHROYW1lIiwiaWQiLCJ0ZXh0Tm9kZSIsImdldENoaWxkQnlOYW1lIiwiTm9kZSIsImFjdGl2ZSIsInZpc2libGUiLCJhbmdsZSIsInJvdGF0aW9uIiwicGFyZW50IiwiY29sb3IiLCJvcGFjaXR5Iiwic2V0U2libGluZ0luZGV4IiwibGFiZWwiLCJnZXRDb21wb25lbnQiLCJMYWJlbCIsImFkZENvbXBvbmVudCIsIm92ZXJmbG93IiwiT3ZlcmZsb3ciLCJTSFJJTksiLCJsaW5lSGVpZ2h0Iiwic3RyaW5nIiwidGV4dCIsImhvcml6b250YWxBbGlnbiIsImhhbGlnbiIsInZlcnRpY2FsQWxpZ24iLCJ2YWxpZ24iLCJmb250U2l6ZSIsInBpeGVsc2l6ZSIsIklNQUdFIiwiZ2lkIiwiZ3JpZCIsInRpbGVzZXQiLCJpbWdOYW1lIiwiaW1nTm9kZSIsImltZ1dpZHRoIiwiaW1nSGVpZ2h0IiwidGlsZU9mZnNldFgiLCJ0aWxlT2Zmc2V0IiwidGlsZU9mZnNldFkiLCJQcml2YXRlTm9kZSIsInJlbW92ZUZyb21QYXJlbnQiLCJkZXN0cm95IiwiX3RpbGVkTWFwIiwic3AiLCJzcGYiLCJzcHJpdGVGcmFtZSIsIlNwcml0ZUZyYW1lIiwic2V0RmxpcFgiLCJzZXRGbGlwWSIsInNvdXJjZUltYWdlIiwic2V0VGV4dHVyZSIsInJlY3QiLCJzZXRWZXJ0c0RpcnR5IiwiaGFzIiwicHVzaCIsInRleHR1cmVJbmRleCIsImdldCIsInNldFRleHR1cmVJZHgiLCJjaGlsZHJlbiIsInVzZWxlc3NFeHAiLCJuIiwiYyIsImNOYW1lIiwiX25hbWUiLCJpc1VzZWxlc3MiLCJ0ZXN0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBLElBQU1BLFNBQVMsR0FBR0MsT0FBTyxDQUFDLGFBQUQsQ0FBekI7O2VBRWVDLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTO0FBQ3BCLGFBQVNELEVBQUUsQ0FBQ0UsZ0JBRFE7QUFHcEJDLEVBQUFBLEtBSG9CLGlCQUdkQyxTQUhjLEVBR0hDLE9BSEcsRUFHTUMsUUFITixFQUdnQkMsUUFIaEIsRUFHMEI7QUFDMUMsUUFBTUMsUUFBUSxHQUFHUixFQUFFLENBQUNRLFFBQXBCO0FBQ0EsUUFBTUMsYUFBYSxHQUFHRCxRQUFRLENBQUNDLGFBQS9CO0FBQ0EsUUFBTUMsV0FBVyxHQUFHRixRQUFRLENBQUNFLFdBQTdCO0FBQ0EsUUFBTUMsV0FBVyxHQUFHSCxRQUFRLENBQUNHLFdBQTdCO0FBQ0EsUUFBTUMsUUFBUSxHQUFHSixRQUFRLENBQUNJLFFBQTFCO0FBQ0EsUUFBTUMsWUFBWSxHQUFHRCxRQUFRLENBQUNDLFlBQTlCO0FBQ0EsUUFBTUMsZUFBZSxHQUFHRixRQUFRLENBQUNHLFVBQWpDO0FBQ0EsUUFBTUMsYUFBYSxHQUFHSixRQUFRLENBQUNLLFFBQS9CO0FBRUEsU0FBS0MsVUFBTCxHQUFrQmQsU0FBUyxDQUFDZSxJQUE1QjtBQUNBLFNBQUtDLGVBQUwsR0FBdUJoQixTQUFTLENBQUNpQixNQUFqQztBQUNBLFNBQUtDLFFBQUwsR0FBZ0JqQixPQUFoQjtBQUNBLFNBQUtrQixXQUFMLEdBQW1CbkIsU0FBUyxDQUFDb0IsYUFBVixFQUFuQjtBQUNBLFNBQUtDLE9BQUwsR0FBZXpCLEVBQUUsQ0FBQzBCLEVBQUgsQ0FBTXRCLFNBQVMsQ0FBQ2lCLE1BQVYsQ0FBaUJNLENBQXZCLEVBQTBCLENBQUN2QixTQUFTLENBQUNpQixNQUFWLENBQWlCTyxDQUE1QyxDQUFmO0FBQ0EsU0FBS0MsUUFBTCxHQUFnQnpCLFNBQVMsQ0FBQ3lCLFFBQTFCO0FBRUEsUUFBSUMsT0FBTyxHQUFHekIsT0FBTyxDQUFDMEIsUUFBdEI7QUFDQSxRQUFJQyxRQUFRLEdBQUczQixPQUFPLENBQUM0QixTQUF2QjtBQUNBLFFBQUlDLEtBQUssR0FBRyxDQUFaO0FBQUEsUUFBZUMsTUFBTSxHQUFHLENBQXhCOztBQUNBLFFBQUk5QixPQUFPLENBQUMrQixXQUFSLEtBQXdCMUIsV0FBVyxDQUFDMkIsR0FBeEMsRUFBNkM7QUFDekMsVUFBSWhDLE9BQU8sQ0FBQ2lDLGNBQVIsT0FBNkIzQixXQUFXLENBQUM0QixhQUE3QyxFQUE0RDtBQUN4REosUUFBQUEsTUFBTSxHQUFHSCxRQUFRLENBQUNHLE1BQVQsSUFBbUJMLE9BQU8sQ0FBQ0ssTUFBUixHQUFpQixHQUFwQyxDQUFUO0FBQ0FELFFBQUFBLEtBQUssR0FBRyxDQUFDRixRQUFRLENBQUNFLEtBQVQsR0FBaUI3QixPQUFPLENBQUNtQyxnQkFBUixFQUFsQixJQUFnREMsSUFBSSxDQUFDQyxLQUFMLENBQVdaLE9BQU8sQ0FBQ0ksS0FBUixHQUFnQixDQUEzQixDQUFoRCxHQUFnRkYsUUFBUSxDQUFDRSxLQUFULElBQWtCSixPQUFPLENBQUNJLEtBQVIsR0FBZ0IsQ0FBbEMsQ0FBeEY7QUFDSCxPQUhELE1BR087QUFDSEEsUUFBQUEsS0FBSyxHQUFHRixRQUFRLENBQUNFLEtBQVQsSUFBa0JKLE9BQU8sQ0FBQ0ksS0FBUixHQUFnQixHQUFsQyxDQUFSO0FBQ0FDLFFBQUFBLE1BQU0sR0FBRyxDQUFDSCxRQUFRLENBQUNHLE1BQVQsR0FBa0I5QixPQUFPLENBQUNtQyxnQkFBUixFQUFuQixJQUFpREMsSUFBSSxDQUFDQyxLQUFMLENBQVdaLE9BQU8sQ0FBQ0ssTUFBUixHQUFpQixDQUE1QixDQUFqRCxHQUFrRkgsUUFBUSxDQUFDRyxNQUFULElBQW1CTCxPQUFPLENBQUNLLE1BQVIsR0FBaUIsQ0FBcEMsQ0FBM0Y7QUFDSDtBQUNKLEtBUkQsTUFRTyxJQUFJOUIsT0FBTyxDQUFDK0IsV0FBUixLQUF3QjFCLFdBQVcsQ0FBQ2lDLEdBQXhDLEVBQTZDO0FBQ2hELFVBQUlDLEVBQUUsR0FBR2QsT0FBTyxDQUFDSSxLQUFSLEdBQWdCSixPQUFPLENBQUNLLE1BQWpDO0FBQ0FELE1BQUFBLEtBQUssR0FBR0YsUUFBUSxDQUFDRSxLQUFULEdBQWlCLEdBQWpCLEdBQXVCVSxFQUEvQjtBQUNBVCxNQUFBQSxNQUFNLEdBQUdILFFBQVEsQ0FBQ0csTUFBVCxHQUFrQixHQUFsQixHQUF3QlMsRUFBakM7QUFDSCxLQUpNLE1BSUE7QUFDSFYsTUFBQUEsS0FBSyxHQUFHSixPQUFPLENBQUNJLEtBQVIsR0FBZ0JGLFFBQVEsQ0FBQ0UsS0FBakM7QUFDQUMsTUFBQUEsTUFBTSxHQUFHTCxPQUFPLENBQUNLLE1BQVIsR0FBaUJILFFBQVEsQ0FBQ0csTUFBbkM7QUFDSDs7QUFDRCxTQUFLVSxJQUFMLENBQVVDLGNBQVYsQ0FBeUJaLEtBQXpCLEVBQWdDQyxNQUFoQztBQUVBLFFBQUlZLFFBQVEsR0FBR2IsS0FBSyxHQUFHLEtBQUtXLElBQUwsQ0FBVUcsT0FBakM7QUFDQSxRQUFJQyxRQUFRLEdBQUdkLE1BQU0sSUFBSSxJQUFJLEtBQUtVLElBQUwsQ0FBVUssT0FBbEIsQ0FBckI7QUFFQSxRQUFJQyxPQUFPLEdBQUcvQyxTQUFTLENBQUNnRCxRQUF4QjtBQUNBLFFBQUlDLFVBQVUsR0FBRyxFQUFqQixDQTFDMEMsQ0E0QzFDOztBQUNBLFFBQUlDLGVBQWUsR0FBRyxJQUFJQyxHQUFKLEVBQXRCO0FBQ0EsUUFBSUMsY0FBYyxHQUFHakQsUUFBUSxDQUFDa0QsaUJBQVQsRUFBckI7QUFDQUQsSUFBQUEsY0FBYyxDQUFDRSxPQUFmLENBQXVCLFVBQUNDLE9BQUQsRUFBVUMsR0FBVjtBQUFBLGFBQWtCTixlQUFlLENBQUNPLEdBQWhCLENBQW9CRixPQUFwQixFQUE2QkMsR0FBN0IsQ0FBbEI7QUFBQSxLQUF2Qjs7QUFFQSxTQUFLLElBQUlFLENBQUMsR0FBRyxDQUFSLEVBQVdDLENBQUMsR0FBR1osT0FBTyxDQUFDYSxNQUE1QixFQUFvQ0YsQ0FBQyxHQUFHQyxDQUF4QyxFQUEyQ0QsQ0FBQyxFQUE1QyxFQUFnRDtBQUM1QyxVQUFJRyxNQUFNLEdBQUdkLE9BQU8sQ0FBQ1csQ0FBRCxDQUFwQjtBQUNBLFVBQUlJLE9BQU8sR0FBR0QsTUFBTSxDQUFDRSxJQUFyQjtBQUNBRixNQUFBQSxNQUFNLENBQUM1QyxNQUFQLEdBQWdCckIsRUFBRSxDQUFDMEIsRUFBSCxDQUFNdUMsTUFBTSxDQUFDdEMsQ0FBYixFQUFnQnNDLE1BQU0sQ0FBQ3JDLENBQXZCLENBQWhCO0FBRUEsVUFBSXdDLE1BQU0sR0FBR0gsTUFBTSxDQUFDRyxNQUFQLElBQWlCSCxNQUFNLENBQUNJLGNBQXJDOztBQUNBLFVBQUlELE1BQUosRUFBWTtBQUNSLGFBQUssSUFBSUUsRUFBRSxHQUFHLENBQWQsRUFBaUJBLEVBQUUsR0FBR0YsTUFBTSxDQUFDSixNQUE3QixFQUFxQ00sRUFBRSxFQUF2QyxFQUEyQztBQUN2Q0YsVUFBQUEsTUFBTSxDQUFDRSxFQUFELENBQU4sQ0FBVzFDLENBQVgsSUFBZ0IsQ0FBQyxDQUFqQjtBQUNIO0FBQ0o7O0FBRUQsVUFBSWxCLFdBQVcsQ0FBQ2lDLEdBQVosS0FBb0J0QyxPQUFPLENBQUMrQixXQUFoQyxFQUE2QztBQUN6QzZCLFFBQUFBLE1BQU0sQ0FBQ3JDLENBQVAsR0FBV08sTUFBTSxHQUFHOEIsTUFBTSxDQUFDckMsQ0FBM0I7QUFDSCxPQUZELE1BRU87QUFDSCxZQUFJMkMsT0FBTyxHQUFHTixNQUFNLENBQUN0QyxDQUFQLEdBQVdLLFFBQVEsQ0FBQ0csTUFBbEM7QUFDQSxZQUFJcUMsT0FBTyxHQUFHUCxNQUFNLENBQUNyQyxDQUFQLEdBQVdJLFFBQVEsQ0FBQ0csTUFBbEM7QUFDQThCLFFBQUFBLE1BQU0sQ0FBQ3RDLENBQVAsR0FBV0ssUUFBUSxDQUFDRSxLQUFULEdBQWlCLEdBQWpCLElBQXdCSixPQUFPLENBQUNLLE1BQVIsR0FBaUJvQyxPQUFqQixHQUEyQkMsT0FBbkQsQ0FBWDtBQUNBUCxRQUFBQSxNQUFNLENBQUNyQyxDQUFQLEdBQVdJLFFBQVEsQ0FBQ0csTUFBVCxHQUFrQixHQUFsQixJQUF5QkwsT0FBTyxDQUFDSSxLQUFSLEdBQWdCSixPQUFPLENBQUNLLE1BQXhCLEdBQWlDb0MsT0FBakMsR0FBMkNDLE9BQXBFLENBQVg7QUFDSDs7QUFFRCxVQUFJTixPQUFPLEtBQUt6RCxhQUFhLENBQUNnRSxJQUE5QixFQUFvQztBQUNoQyxZQUFJQyxRQUFRLEdBQUcsU0FBU1QsTUFBTSxDQUFDVSxFQUEvQjtBQUNBdEIsUUFBQUEsVUFBVSxDQUFDcUIsUUFBRCxDQUFWLEdBQXVCLElBQXZCO0FBRUEsWUFBSUUsUUFBUSxHQUFHLEtBQUsvQixJQUFMLENBQVVnQyxjQUFWLENBQXlCSCxRQUF6QixDQUFmOztBQUNBLFlBQUksQ0FBQ0UsUUFBTCxFQUFlO0FBQ1hBLFVBQUFBLFFBQVEsR0FBRyxJQUFJNUUsRUFBRSxDQUFDOEUsSUFBUCxFQUFYO0FBQ0g7O0FBRURGLFFBQUFBLFFBQVEsQ0FBQ0csTUFBVCxHQUFrQmQsTUFBTSxDQUFDZSxPQUF6QjtBQUNBSixRQUFBQSxRQUFRLENBQUM1QixPQUFULEdBQW1CLENBQW5CO0FBQ0E0QixRQUFBQSxRQUFRLENBQUMxQixPQUFULEdBQW1CLENBQW5CO0FBQ0EwQixRQUFBQSxRQUFRLENBQUNLLEtBQVQsR0FBaUIsQ0FBQ2hCLE1BQU0sQ0FBQ2lCLFFBQXpCO0FBQ0FOLFFBQUFBLFFBQVEsQ0FBQ2pELENBQVQsR0FBYXNDLE1BQU0sQ0FBQ3RDLENBQVAsR0FBV29CLFFBQXhCO0FBQ0E2QixRQUFBQSxRQUFRLENBQUNoRCxDQUFULEdBQWFxQyxNQUFNLENBQUNyQyxDQUFQLEdBQVdxQixRQUF4QjtBQUNBMkIsUUFBQUEsUUFBUSxDQUFDekQsSUFBVCxHQUFnQnVELFFBQWhCO0FBQ0FFLFFBQUFBLFFBQVEsQ0FBQ08sTUFBVCxHQUFrQixLQUFLdEMsSUFBdkI7QUFDQStCLFFBQUFBLFFBQVEsQ0FBQ1EsS0FBVCxHQUFpQm5CLE1BQU0sQ0FBQ21CLEtBQXhCO0FBQ0FSLFFBQUFBLFFBQVEsQ0FBQ1MsT0FBVCxHQUFtQixLQUFLeEQsUUFBeEI7QUFDQStDLFFBQUFBLFFBQVEsQ0FBQ1UsZUFBVCxDQUF5QnhCLENBQXpCO0FBRUEsWUFBSXlCLEtBQUssR0FBR1gsUUFBUSxDQUFDWSxZQUFULENBQXNCeEYsRUFBRSxDQUFDeUYsS0FBekIsQ0FBWjs7QUFDQSxZQUFJLENBQUNGLEtBQUwsRUFBWTtBQUNSQSxVQUFBQSxLQUFLLEdBQUdYLFFBQVEsQ0FBQ2MsWUFBVCxDQUFzQjFGLEVBQUUsQ0FBQ3lGLEtBQXpCLENBQVI7QUFDSDs7QUFFREYsUUFBQUEsS0FBSyxDQUFDSSxRQUFOLEdBQWlCM0YsRUFBRSxDQUFDeUYsS0FBSCxDQUFTRyxRQUFULENBQWtCQyxNQUFuQztBQUNBTixRQUFBQSxLQUFLLENBQUNPLFVBQU4sR0FBbUI3QixNQUFNLENBQUM5QixNQUExQjtBQUNBb0QsUUFBQUEsS0FBSyxDQUFDUSxNQUFOLEdBQWU5QixNQUFNLENBQUMrQixJQUF0QjtBQUNBVCxRQUFBQSxLQUFLLENBQUNVLGVBQU4sR0FBd0JoQyxNQUFNLENBQUNpQyxNQUEvQjtBQUNBWCxRQUFBQSxLQUFLLENBQUNZLGFBQU4sR0FBc0JsQyxNQUFNLENBQUNtQyxNQUE3QjtBQUNBYixRQUFBQSxLQUFLLENBQUNjLFFBQU4sR0FBaUJwQyxNQUFNLENBQUNxQyxTQUF4QjtBQUVBMUIsUUFBQUEsUUFBUSxDQUFDMUMsS0FBVCxHQUFpQitCLE1BQU0sQ0FBQy9CLEtBQXhCO0FBQ0EwQyxRQUFBQSxRQUFRLENBQUN6QyxNQUFULEdBQWtCOEIsTUFBTSxDQUFDOUIsTUFBekI7QUFDSDs7QUFFRCxVQUFJK0IsT0FBTyxLQUFLekQsYUFBYSxDQUFDOEYsS0FBOUIsRUFBcUM7QUFDakMsWUFBSUMsR0FBRyxHQUFHdkMsTUFBTSxDQUFDdUMsR0FBakI7QUFDQSxZQUFJQyxJQUFJLEdBQUduRyxRQUFRLENBQUMsQ0FBQ2tHLEdBQUcsR0FBRzNGLFlBQVAsTUFBeUIsQ0FBMUIsQ0FBbkI7QUFDQSxZQUFJLENBQUM0RixJQUFMLEVBQVc7QUFDWCxZQUFJQyxPQUFPLEdBQUdELElBQUksQ0FBQ0MsT0FBbkI7QUFDQSxZQUFJQyxPQUFPLEdBQUcsUUFBUTFDLE1BQU0sQ0FBQ1UsRUFBN0I7QUFDQXRCLFFBQUFBLFVBQVUsQ0FBQ3NELE9BQUQsQ0FBVixHQUFzQixJQUF0QjtBQUNBLFlBQUlDLE9BQU8sR0FBRyxLQUFLL0QsSUFBTCxDQUFVZ0MsY0FBVixDQUF5QjhCLE9BQXpCLENBQWQ7QUFDQSxZQUFJRSxRQUFRLEdBQUc1QyxNQUFNLENBQUMvQixLQUFQLElBQWdCdUUsSUFBSSxDQUFDdkUsS0FBcEM7QUFDQSxZQUFJNEUsU0FBUyxHQUFHN0MsTUFBTSxDQUFDOUIsTUFBUCxJQUFpQnNFLElBQUksQ0FBQ3RFLE1BQXRDO0FBQ0EsWUFBSTRFLFdBQVcsR0FBR0wsT0FBTyxDQUFDTSxVQUFSLENBQW1CckYsQ0FBckM7QUFDQSxZQUFJc0YsV0FBVyxHQUFHUCxPQUFPLENBQUNNLFVBQVIsQ0FBbUJwRixDQUFyQyxDQVhpQyxDQWFqQztBQUNBOztBQUNBLFlBQUlnRixPQUFPLFlBQVk1RyxFQUFFLENBQUNrSCxXQUExQixFQUF1QztBQUNuQ04sVUFBQUEsT0FBTyxDQUFDTyxnQkFBUjtBQUNBUCxVQUFBQSxPQUFPLENBQUNRLE9BQVI7QUFDQVIsVUFBQUEsT0FBTyxHQUFHLElBQVY7QUFDSDs7QUFFRCxZQUFJLENBQUNBLE9BQUwsRUFBYztBQUNWQSxVQUFBQSxPQUFPLEdBQUcsSUFBSTVHLEVBQUUsQ0FBQzhFLElBQVAsRUFBVjtBQUNIOztBQUVELFlBQUlwRSxXQUFXLENBQUNpQyxHQUFaLElBQW1CdEMsT0FBTyxDQUFDK0IsV0FBL0IsRUFBNEM7QUFDeEN3RSxVQUFBQSxPQUFPLENBQUM1RCxPQUFSLEdBQWtCLE1BQU0rRCxXQUFXLEdBQUdGLFFBQXRDO0FBQ0FELFVBQUFBLE9BQU8sQ0FBQzFELE9BQVIsR0FBa0IrRCxXQUFXLEdBQUdILFNBQWhDO0FBQ0gsU0FIRCxNQUdPO0FBQ0hGLFVBQUFBLE9BQU8sQ0FBQzVELE9BQVIsR0FBa0IrRCxXQUFXLEdBQUdGLFFBQWhDO0FBQ0FELFVBQUFBLE9BQU8sQ0FBQzFELE9BQVIsR0FBa0IrRCxXQUFXLEdBQUdILFNBQWhDO0FBQ0g7O0FBQ0RGLFFBQUFBLE9BQU8sQ0FBQzdCLE1BQVIsR0FBaUJkLE1BQU0sQ0FBQ2UsT0FBeEI7QUFDQTRCLFFBQUFBLE9BQU8sQ0FBQzNCLEtBQVIsR0FBZ0IsQ0FBQ2hCLE1BQU0sQ0FBQ2lCLFFBQXhCO0FBQ0EwQixRQUFBQSxPQUFPLENBQUNqRixDQUFSLEdBQVlzQyxNQUFNLENBQUN0QyxDQUFQLEdBQVdvQixRQUF2QjtBQUNBNkQsUUFBQUEsT0FBTyxDQUFDaEYsQ0FBUixHQUFZcUMsTUFBTSxDQUFDckMsQ0FBUCxHQUFXcUIsUUFBdkI7QUFDQTJELFFBQUFBLE9BQU8sQ0FBQ3pGLElBQVIsR0FBZXdGLE9BQWY7QUFDQUMsUUFBQUEsT0FBTyxDQUFDekIsTUFBUixHQUFpQixLQUFLdEMsSUFBdEI7QUFDQStELFFBQUFBLE9BQU8sQ0FBQ3ZCLE9BQVIsR0FBa0IsS0FBS3hELFFBQXZCO0FBQ0ErRSxRQUFBQSxPQUFPLENBQUN0QixlQUFSLENBQXdCeEIsQ0FBeEI7QUFDQThDLFFBQUFBLE9BQU8sQ0FBQ1MsU0FBUixHQUFvQjlHLFFBQXBCO0FBR0EsWUFBSStHLEVBQUUsR0FBR1YsT0FBTyxDQUFDcEIsWUFBUixDQUFxQjFGLFNBQXJCLENBQVQ7O0FBQ0EsWUFBSSxDQUFDd0gsRUFBTCxFQUFTO0FBQ0xBLFVBQUFBLEVBQUUsR0FBR1YsT0FBTyxDQUFDbEIsWUFBUixDQUFxQjVGLFNBQXJCLENBQUw7QUFDSDs7QUFDRCxZQUFJeUgsR0FBRyxHQUFHRCxFQUFFLENBQUNFLFdBQWI7O0FBQ0EsWUFBSSxDQUFDRCxHQUFMLEVBQVU7QUFDTkEsVUFBQUEsR0FBRyxHQUFHLElBQUl2SCxFQUFFLENBQUN5SCxXQUFQLEVBQU47QUFDSDs7QUFFRCxZQUFJLENBQUNqQixHQUFHLEdBQUcxRixlQUFQLE1BQTRCLENBQWhDLEVBQW1DO0FBQy9CeUcsVUFBQUEsR0FBRyxDQUFDRyxRQUFKLENBQWEsSUFBYjtBQUNILFNBRkQsTUFFTztBQUNISCxVQUFBQSxHQUFHLENBQUNHLFFBQUosQ0FBYSxLQUFiO0FBQ0g7O0FBRUQsWUFBSSxDQUFDbEIsR0FBRyxHQUFHeEYsYUFBUCxNQUEwQixDQUE5QixFQUFpQztBQUM3QnVHLFVBQUFBLEdBQUcsQ0FBQ0ksUUFBSixDQUFhLElBQWI7QUFDSCxTQUZELE1BRU87QUFDSEosVUFBQUEsR0FBRyxDQUFDSSxRQUFKLENBQWEsS0FBYjtBQUNIOztBQUVELFlBQUlDLFdBQVcsR0FBR25CLElBQUksQ0FBQ0MsT0FBTCxDQUFha0IsV0FBL0I7QUFDQUwsUUFBQUEsR0FBRyxDQUFDTSxVQUFKLENBQWVELFdBQWYsRUFBNEI1SCxFQUFFLENBQUM4SCxJQUFILENBQVFyQixJQUFSLENBQTVCO0FBQ0FhLFFBQUFBLEVBQUUsQ0FBQ0UsV0FBSCxHQUFpQkQsR0FBakI7QUFDQUQsUUFBQUEsRUFBRSxDQUFDUyxhQUFILEdBbkVpQyxDQXFFakM7O0FBQ0FuQixRQUFBQSxPQUFPLENBQUMxRSxLQUFSLEdBQWdCMkUsUUFBaEI7QUFDQUQsUUFBQUEsT0FBTyxDQUFDekUsTUFBUixHQUFpQjJFLFNBQWpCLENBdkVpQyxDQXlFakM7O0FBQ0EsWUFBSSxDQUFDeEQsZUFBZSxDQUFDMEUsR0FBaEIsQ0FBb0JKLFdBQXBCLENBQUwsRUFBdUM7QUFDbkN0RSxVQUFBQSxlQUFlLENBQUNPLEdBQWhCLENBQW9CK0QsV0FBcEIsRUFBaUNwRSxjQUFjLENBQUNRLE1BQWhEO0FBQ0FSLFVBQUFBLGNBQWMsQ0FBQ3lFLElBQWYsQ0FBb0JMLFdBQXBCO0FBQ0gsU0E3RWdDLENBK0VqQzs7O0FBQ0EsWUFBSU0sWUFBWSxHQUFHNUUsZUFBZSxDQUFDNkUsR0FBaEIsQ0FBb0JQLFdBQXBCLENBQW5CO0FBQ0FOLFFBQUFBLEVBQUUsQ0FBQ2MsYUFBSCxDQUFpQkYsWUFBWSxHQUFHLENBQWhDO0FBQ0g7QUFDSjs7QUFDRCxTQUFLOUUsUUFBTCxHQUFnQkQsT0FBaEIsQ0EvTDBDLENBa00xQzs7QUFDQSxRQUFJa0YsUUFBUSxHQUFHLEtBQUt4RixJQUFMLENBQVV3RixRQUF6QjtBQUNBLFFBQUlDLFVBQVUsR0FBRyxtQkFBakI7O0FBQ0EsU0FBSyxJQUFJeEUsRUFBQyxHQUFHLENBQVIsRUFBV3lFLENBQUMsR0FBR0YsUUFBUSxDQUFDckUsTUFBN0IsRUFBcUNGLEVBQUMsR0FBR3lFLENBQXpDLEVBQTRDekUsRUFBQyxFQUE3QyxFQUFpRDtBQUM3QyxVQUFJMEUsQ0FBQyxHQUFHSCxRQUFRLENBQUN2RSxFQUFELENBQWhCO0FBQ0EsVUFBSTJFLEtBQUssR0FBR0QsQ0FBQyxDQUFDRSxLQUFkO0FBQ0EsVUFBSUMsU0FBUyxHQUFHTCxVQUFVLENBQUNNLElBQVgsQ0FBZ0JILEtBQWhCLENBQWhCO0FBQ0EsVUFBSUUsU0FBUyxJQUFJLENBQUN0RixVQUFVLENBQUNvRixLQUFELENBQTVCLEVBQXFDRCxDQUFDLENBQUNwQixPQUFGO0FBQ3hDO0FBRUo7QUEvTW1CLENBQVQiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIExlYXJuIGNjLkNsYXNzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9jbGFzcy5odG1sXHJcbi8vIExlYXJuIEF0dHJpYnV0ZTpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvcmVmZXJlbmNlL2F0dHJpYnV0ZXMuaHRtbFxyXG4vLyBMZWFybiBsaWZlLWN5Y2xlIGNhbGxiYWNrczpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvbGlmZS1jeWNsZS1jYWxsYmFja3MuaHRtbFxyXG5cclxuY29uc3QgVG1vU3ByaXRlID0gcmVxdWlyZShcIi4vVG1vU3ByaXRlXCIpO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2MuQ2xhc3Moe1xyXG4gICAgZXh0ZW5kczogY2MuVGlsZWRPYmplY3RHcm91cCxcclxuXHJcbiAgICBfaW5pdChncm91cEluZm8sIG1hcEluZm8sIHRleEdyaWRzLCB0aWxlZE1hcCkge1xyXG4gICAgICAgIGNvbnN0IFRpbGVkTWFwID0gY2MuVGlsZWRNYXA7XHJcbiAgICAgICAgY29uc3QgVE1YT2JqZWN0VHlwZSA9IFRpbGVkTWFwLlRNWE9iamVjdFR5cGU7XHJcbiAgICAgICAgY29uc3QgT3JpZW50YXRpb24gPSBUaWxlZE1hcC5PcmllbnRhdGlvbjtcclxuICAgICAgICBjb25zdCBTdGFnZ2VyQXhpcyA9IFRpbGVkTWFwLlN0YWdnZXJBeGlzO1xyXG4gICAgICAgIGNvbnN0IFRpbGVGbGFnID0gVGlsZWRNYXAuVGlsZUZsYWc7XHJcbiAgICAgICAgY29uc3QgRkxJUFBFRF9NQVNLID0gVGlsZUZsYWcuRkxJUFBFRF9NQVNLO1xyXG4gICAgICAgIGNvbnN0IEZMQUdfSE9SSVpPTlRBTCA9IFRpbGVGbGFnLkhPUklaT05UQUw7XHJcbiAgICAgICAgY29uc3QgRkxBR19WRVJUSUNBTCA9IFRpbGVGbGFnLlZFUlRJQ0FMO1xyXG5cclxuICAgICAgICB0aGlzLl9ncm91cE5hbWUgPSBncm91cEluZm8ubmFtZTtcclxuICAgICAgICB0aGlzLl9wb3NpdGlvbk9mZnNldCA9IGdyb3VwSW5mby5vZmZzZXQ7XHJcbiAgICAgICAgdGhpcy5fbWFwSW5mbyA9IG1hcEluZm87XHJcbiAgICAgICAgdGhpcy5fcHJvcGVydGllcyA9IGdyb3VwSW5mby5nZXRQcm9wZXJ0aWVzKCk7XHJcbiAgICAgICAgdGhpcy5fb2Zmc2V0ID0gY2MudjIoZ3JvdXBJbmZvLm9mZnNldC54LCAtZ3JvdXBJbmZvLm9mZnNldC55KTtcclxuICAgICAgICB0aGlzLl9vcGFjaXR5ID0gZ3JvdXBJbmZvLl9vcGFjaXR5O1xyXG5cclxuICAgICAgICBsZXQgbWFwU2l6ZSA9IG1hcEluZm8uX21hcFNpemU7XHJcbiAgICAgICAgbGV0IHRpbGVTaXplID0gbWFwSW5mby5fdGlsZVNpemU7XHJcbiAgICAgICAgbGV0IHdpZHRoID0gMCwgaGVpZ2h0ID0gMDtcclxuICAgICAgICBpZiAobWFwSW5mby5vcmllbnRhdGlvbiA9PT0gT3JpZW50YXRpb24uSEVYKSB7XHJcbiAgICAgICAgICAgIGlmIChtYXBJbmZvLmdldFN0YWdnZXJBeGlzKCkgPT09IFN0YWdnZXJBeGlzLlNUQUdHRVJBWElTX1gpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodCA9IHRpbGVTaXplLmhlaWdodCAqIChtYXBTaXplLmhlaWdodCArIDAuNSk7XHJcbiAgICAgICAgICAgICAgICB3aWR0aCA9ICh0aWxlU2l6ZS53aWR0aCArIG1hcEluZm8uZ2V0SGV4U2lkZUxlbmd0aCgpKSAqIE1hdGguZmxvb3IobWFwU2l6ZS53aWR0aCAvIDIpICsgdGlsZVNpemUud2lkdGggKiAobWFwU2l6ZS53aWR0aCAlIDIpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgd2lkdGggPSB0aWxlU2l6ZS53aWR0aCAqIChtYXBTaXplLndpZHRoICsgMC41KTtcclxuICAgICAgICAgICAgICAgIGhlaWdodCA9ICh0aWxlU2l6ZS5oZWlnaHQgKyBtYXBJbmZvLmdldEhleFNpZGVMZW5ndGgoKSkgKiBNYXRoLmZsb29yKG1hcFNpemUuaGVpZ2h0IC8gMikgKyB0aWxlU2l6ZS5oZWlnaHQgKiAobWFwU2l6ZS5oZWlnaHQgJSAyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSBpZiAobWFwSW5mby5vcmllbnRhdGlvbiA9PT0gT3JpZW50YXRpb24uSVNPKSB7XHJcbiAgICAgICAgICAgIGxldCB3aCA9IG1hcFNpemUud2lkdGggKyBtYXBTaXplLmhlaWdodDtcclxuICAgICAgICAgICAgd2lkdGggPSB0aWxlU2l6ZS53aWR0aCAqIDAuNSAqIHdoO1xyXG4gICAgICAgICAgICBoZWlnaHQgPSB0aWxlU2l6ZS5oZWlnaHQgKiAwLjUgKiB3aDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB3aWR0aCA9IG1hcFNpemUud2lkdGggKiB0aWxlU2l6ZS53aWR0aDtcclxuICAgICAgICAgICAgaGVpZ2h0ID0gbWFwU2l6ZS5oZWlnaHQgKiB0aWxlU2l6ZS5oZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubm9kZS5zZXRDb250ZW50U2l6ZSh3aWR0aCwgaGVpZ2h0KTtcclxuXHJcbiAgICAgICAgbGV0IGxlZnRUb3BYID0gd2lkdGggKiB0aGlzLm5vZGUuYW5jaG9yWDtcclxuICAgICAgICBsZXQgbGVmdFRvcFkgPSBoZWlnaHQgKiAoMSAtIHRoaXMubm9kZS5hbmNob3JZKTtcclxuXHJcbiAgICAgICAgbGV0IG9iamVjdHMgPSBncm91cEluZm8uX29iamVjdHM7XHJcbiAgICAgICAgbGV0IGFsaXZlTm9kZXMgPSB7fTtcclxuXHJcbiAgICAgICAgLy8g55Sf5oiQ5pig5bCETWFwICAgeyBUZXh0dXJlMkQ6IHRleHR1cmVJbmRleCB9XHJcbiAgICAgICAgbGV0IHRleHR1cmVJbmRleE1hcCA9IG5ldyBNYXAoKTtcclxuICAgICAgICBsZXQgb2JqZWN0VGV4dHVyZXMgPSB0aWxlZE1hcC5nZXRPYmplY3RUZXh0dXJlcygpO1xyXG4gICAgICAgIG9iamVjdFRleHR1cmVzLmZvckVhY2goKHRleHR1cmUsIGlkeCkgPT4gdGV4dHVyZUluZGV4TWFwLnNldCh0ZXh0dXJlLCBpZHgpKTtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIGwgPSBvYmplY3RzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgb2JqZWN0ID0gb2JqZWN0c1tpXTtcclxuICAgICAgICAgICAgbGV0IG9ialR5cGUgPSBvYmplY3QudHlwZTtcclxuICAgICAgICAgICAgb2JqZWN0Lm9mZnNldCA9IGNjLnYyKG9iamVjdC54LCBvYmplY3QueSk7XHJcblxyXG4gICAgICAgICAgICBsZXQgcG9pbnRzID0gb2JqZWN0LnBvaW50cyB8fCBvYmplY3QucG9seWxpbmVQb2ludHM7XHJcbiAgICAgICAgICAgIGlmIChwb2ludHMpIHtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IHBpID0gMDsgcGkgPCBwb2ludHMubGVuZ3RoOyBwaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRzW3BpXS55ICo9IC0xO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoT3JpZW50YXRpb24uSVNPICE9PSBtYXBJbmZvLm9yaWVudGF0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICBvYmplY3QueSA9IGhlaWdodCAtIG9iamVjdC55O1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbGV0IHBvc0lkeFggPSBvYmplY3QueCAvIHRpbGVTaXplLmhlaWdodDtcclxuICAgICAgICAgICAgICAgIGxldCBwb3NJZHhZID0gb2JqZWN0LnkgLyB0aWxlU2l6ZS5oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBvYmplY3QueCA9IHRpbGVTaXplLndpZHRoICogMC41ICogKG1hcFNpemUuaGVpZ2h0ICsgcG9zSWR4WCAtIHBvc0lkeFkpO1xyXG4gICAgICAgICAgICAgICAgb2JqZWN0LnkgPSB0aWxlU2l6ZS5oZWlnaHQgKiAwLjUgKiAobWFwU2l6ZS53aWR0aCArIG1hcFNpemUuaGVpZ2h0IC0gcG9zSWR4WCAtIHBvc0lkeFkpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAob2JqVHlwZSA9PT0gVE1YT2JqZWN0VHlwZS5URVhUKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgdGV4dE5hbWUgPSBcInRleHRcIiArIG9iamVjdC5pZDtcclxuICAgICAgICAgICAgICAgIGFsaXZlTm9kZXNbdGV4dE5hbWVdID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgICAgICBsZXQgdGV4dE5vZGUgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUodGV4dE5hbWUpO1xyXG4gICAgICAgICAgICAgICAgaWYgKCF0ZXh0Tm9kZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHROb2RlID0gbmV3IGNjLk5vZGUoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB0ZXh0Tm9kZS5hY3RpdmUgPSBvYmplY3QudmlzaWJsZTtcclxuICAgICAgICAgICAgICAgIHRleHROb2RlLmFuY2hvclggPSAwO1xyXG4gICAgICAgICAgICAgICAgdGV4dE5vZGUuYW5jaG9yWSA9IDE7XHJcbiAgICAgICAgICAgICAgICB0ZXh0Tm9kZS5hbmdsZSA9IC1vYmplY3Qucm90YXRpb247XHJcbiAgICAgICAgICAgICAgICB0ZXh0Tm9kZS54ID0gb2JqZWN0LnggLSBsZWZ0VG9wWDtcclxuICAgICAgICAgICAgICAgIHRleHROb2RlLnkgPSBvYmplY3QueSAtIGxlZnRUb3BZO1xyXG4gICAgICAgICAgICAgICAgdGV4dE5vZGUubmFtZSA9IHRleHROYW1lO1xyXG4gICAgICAgICAgICAgICAgdGV4dE5vZGUucGFyZW50ID0gdGhpcy5ub2RlO1xyXG4gICAgICAgICAgICAgICAgdGV4dE5vZGUuY29sb3IgPSBvYmplY3QuY29sb3I7XHJcbiAgICAgICAgICAgICAgICB0ZXh0Tm9kZS5vcGFjaXR5ID0gdGhpcy5fb3BhY2l0eTtcclxuICAgICAgICAgICAgICAgIHRleHROb2RlLnNldFNpYmxpbmdJbmRleChpKTtcclxuXHJcbiAgICAgICAgICAgICAgICBsZXQgbGFiZWwgPSB0ZXh0Tm9kZS5nZXRDb21wb25lbnQoY2MuTGFiZWwpO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFsYWJlbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsID0gdGV4dE5vZGUuYWRkQ29tcG9uZW50KGNjLkxhYmVsKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBsYWJlbC5vdmVyZmxvdyA9IGNjLkxhYmVsLk92ZXJmbG93LlNIUklOSztcclxuICAgICAgICAgICAgICAgIGxhYmVsLmxpbmVIZWlnaHQgPSBvYmplY3QuaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgbGFiZWwuc3RyaW5nID0gb2JqZWN0LnRleHQ7XHJcbiAgICAgICAgICAgICAgICBsYWJlbC5ob3Jpem9udGFsQWxpZ24gPSBvYmplY3QuaGFsaWduO1xyXG4gICAgICAgICAgICAgICAgbGFiZWwudmVydGljYWxBbGlnbiA9IG9iamVjdC52YWxpZ247XHJcbiAgICAgICAgICAgICAgICBsYWJlbC5mb250U2l6ZSA9IG9iamVjdC5waXhlbHNpemU7XHJcblxyXG4gICAgICAgICAgICAgICAgdGV4dE5vZGUud2lkdGggPSBvYmplY3Qud2lkdGg7XHJcbiAgICAgICAgICAgICAgICB0ZXh0Tm9kZS5oZWlnaHQgPSBvYmplY3QuaGVpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAob2JqVHlwZSA9PT0gVE1YT2JqZWN0VHlwZS5JTUFHRSkge1xyXG4gICAgICAgICAgICAgICAgbGV0IGdpZCA9IG9iamVjdC5naWQ7XHJcbiAgICAgICAgICAgICAgICBsZXQgZ3JpZCA9IHRleEdyaWRzWyhnaWQgJiBGTElQUEVEX01BU0spID4+PiAwXTtcclxuICAgICAgICAgICAgICAgIGlmICghZ3JpZCkgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBsZXQgdGlsZXNldCA9IGdyaWQudGlsZXNldDtcclxuICAgICAgICAgICAgICAgIGxldCBpbWdOYW1lID0gXCJpbWdcIiArIG9iamVjdC5pZDtcclxuICAgICAgICAgICAgICAgIGFsaXZlTm9kZXNbaW1nTmFtZV0gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgbGV0IGltZ05vZGUgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoaW1nTmFtZSk7XHJcbiAgICAgICAgICAgICAgICBsZXQgaW1nV2lkdGggPSBvYmplY3Qud2lkdGggfHwgZ3JpZC53aWR0aDtcclxuICAgICAgICAgICAgICAgIGxldCBpbWdIZWlnaHQgPSBvYmplY3QuaGVpZ2h0IHx8IGdyaWQuaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgbGV0IHRpbGVPZmZzZXRYID0gdGlsZXNldC50aWxlT2Zmc2V0Lng7XHJcbiAgICAgICAgICAgICAgICBsZXQgdGlsZU9mZnNldFkgPSB0aWxlc2V0LnRpbGVPZmZzZXQueTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBEZWxldGUgaW1hZ2Ugbm9kZXMgaW1wbGVtZW50ZWQgYXMgcHJpdmF0ZSBub2Rlc1xyXG4gICAgICAgICAgICAgICAgLy8gVXNlIGNjLk5vZGUgdG8gaW1wbGVtZW50IG5vZGUtbGV2ZWwgcmVxdWlyZW1lbnRzXHJcbiAgICAgICAgICAgICAgICBpZiAoaW1nTm9kZSBpbnN0YW5jZW9mIGNjLlByaXZhdGVOb2RlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nTm9kZS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nTm9kZS5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nTm9kZSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKCFpbWdOb2RlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nTm9kZSA9IG5ldyBjYy5Ob2RlKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKE9yaWVudGF0aW9uLklTTyA9PSBtYXBJbmZvLm9yaWVudGF0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nTm9kZS5hbmNob3JYID0gMC41ICsgdGlsZU9mZnNldFggLyBpbWdXaWR0aDtcclxuICAgICAgICAgICAgICAgICAgICBpbWdOb2RlLmFuY2hvclkgPSB0aWxlT2Zmc2V0WSAvIGltZ0hlaWdodDtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nTm9kZS5hbmNob3JYID0gdGlsZU9mZnNldFggLyBpbWdXaWR0aDtcclxuICAgICAgICAgICAgICAgICAgICBpbWdOb2RlLmFuY2hvclkgPSB0aWxlT2Zmc2V0WSAvIGltZ0hlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGltZ05vZGUuYWN0aXZlID0gb2JqZWN0LnZpc2libGU7XHJcbiAgICAgICAgICAgICAgICBpbWdOb2RlLmFuZ2xlID0gLW9iamVjdC5yb3RhdGlvbjtcclxuICAgICAgICAgICAgICAgIGltZ05vZGUueCA9IG9iamVjdC54IC0gbGVmdFRvcFg7XHJcbiAgICAgICAgICAgICAgICBpbWdOb2RlLnkgPSBvYmplY3QueSAtIGxlZnRUb3BZO1xyXG4gICAgICAgICAgICAgICAgaW1nTm9kZS5uYW1lID0gaW1nTmFtZTtcclxuICAgICAgICAgICAgICAgIGltZ05vZGUucGFyZW50ID0gdGhpcy5ub2RlO1xyXG4gICAgICAgICAgICAgICAgaW1nTm9kZS5vcGFjaXR5ID0gdGhpcy5fb3BhY2l0eTtcclxuICAgICAgICAgICAgICAgIGltZ05vZGUuc2V0U2libGluZ0luZGV4KGkpO1xyXG4gICAgICAgICAgICAgICAgaW1nTm9kZS5fdGlsZWRNYXAgPSB0aWxlZE1hcDtcclxuXHJcblxyXG4gICAgICAgICAgICAgICAgbGV0IHNwID0gaW1nTm9kZS5nZXRDb21wb25lbnQoVG1vU3ByaXRlKTtcclxuICAgICAgICAgICAgICAgIGlmICghc3ApIHtcclxuICAgICAgICAgICAgICAgICAgICBzcCA9IGltZ05vZGUuYWRkQ29tcG9uZW50KFRtb1Nwcml0ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsZXQgc3BmID0gc3Auc3ByaXRlRnJhbWU7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXNwZikge1xyXG4gICAgICAgICAgICAgICAgICAgIHNwZiA9IG5ldyBjYy5TcHJpdGVGcmFtZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmICgoZ2lkICYgRkxBR19IT1JJWk9OVEFMKSA+Pj4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHNwZi5zZXRGbGlwWCh0cnVlKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3BmLnNldEZsaXBYKGZhbHNlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoKGdpZCAmIEZMQUdfVkVSVElDQUwpID4+PiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3BmLnNldEZsaXBZKHRydWUpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBzcGYuc2V0RmxpcFkoZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGxldCBzb3VyY2VJbWFnZSA9IGdyaWQudGlsZXNldC5zb3VyY2VJbWFnZTtcclxuICAgICAgICAgICAgICAgIHNwZi5zZXRUZXh0dXJlKHNvdXJjZUltYWdlLCBjYy5yZWN0KGdyaWQpKTtcclxuICAgICAgICAgICAgICAgIHNwLnNwcml0ZUZyYW1lID0gc3BmO1xyXG4gICAgICAgICAgICAgICAgc3Auc2V0VmVydHNEaXJ0eSgpO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIG9iamVjdCBncm91cCBtYXkgaGFzIG5vIHdpZHRoIG9yIGhlaWdodCBpbmZvXHJcbiAgICAgICAgICAgICAgICBpbWdOb2RlLndpZHRoID0gaW1nV2lkdGg7XHJcbiAgICAgICAgICAgICAgICBpbWdOb2RlLmhlaWdodCA9IGltZ0hlaWdodDtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyDmlLbpm4blm77pm4Yg5pu05pawdGV4dHVyZUluZGV4TWFwXHJcbiAgICAgICAgICAgICAgICBpZiAoIXRleHR1cmVJbmRleE1hcC5oYXMoc291cmNlSW1hZ2UpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dHVyZUluZGV4TWFwLnNldChzb3VyY2VJbWFnZSwgb2JqZWN0VGV4dHVyZXMubGVuZ3RoKTtcclxuICAgICAgICAgICAgICAgICAgICBvYmplY3RUZXh0dXJlcy5wdXNoKHNvdXJjZUltYWdlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAvLyDorr7nva50ZXh0dXJlSW5kZXhcclxuICAgICAgICAgICAgICAgIGxldCB0ZXh0dXJlSW5kZXggPSB0ZXh0dXJlSW5kZXhNYXAuZ2V0KHNvdXJjZUltYWdlKTtcclxuICAgICAgICAgICAgICAgIHNwLnNldFRleHR1cmVJZHgodGV4dHVyZUluZGV4ICsgMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fb2JqZWN0cyA9IG9iamVjdHM7XHJcblxyXG5cclxuICAgICAgICAvLyBkZXN0cm95IHVzZWxlc3Mgbm9kZVxyXG4gICAgICAgIGxldCBjaGlsZHJlbiA9IHRoaXMubm9kZS5jaGlsZHJlbjtcclxuICAgICAgICBsZXQgdXNlbGVzc0V4cCA9IC9eKD86aW1nfHRleHQpXFxkKyQvO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBuID0gY2hpbGRyZW4ubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCBjID0gY2hpbGRyZW5baV07XHJcbiAgICAgICAgICAgIGxldCBjTmFtZSA9IGMuX25hbWU7XHJcbiAgICAgICAgICAgIGxldCBpc1VzZWxlc3MgPSB1c2VsZXNzRXhwLnRlc3QoY05hbWUpO1xyXG4gICAgICAgICAgICBpZiAoaXNVc2VsZXNzICYmICFhbGl2ZU5vZGVzW2NOYW1lXSkgYy5kZXN0cm95KCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxufSk7XHJcbiJdfQ== +//------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() { @@ -2899,209 +3881,6 @@ cc._RF.pop(); } })(); //# 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() { @@ -3323,8 +4102,8 @@ function responseHandler(response) { // 响应拦截器 // Rq.interceptors.response.use(responseHandler) var config = { - gameId: "100010", - secretKey: "wozrGKsL", + gameId: "100012", + secretKey: "onnfPKJW", EK: "hui231%1" }; var Crypoto = /** @class */ (function () { @@ -3449,13 +4228,13 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXENyeXB0b1xcSHR0cFV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ00sSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFDMUMsNkNBQWdELENBQUUsV0FBVztBQUU3RCxJQUFNLFFBQVEsR0FBRyx3QkFBd0IsQ0FBQztBQUMxQywwQ0FBMEM7QUFFMUM7SUFBc0MsNEJBQVk7SUFBbEQ7O0lBOEVBLENBQUM7aUJBOUVvQixRQUFRO0lBQ1gscUJBQVksR0FBMUIsVUFBMkIsUUFBZ0I7dUNBQUcsT0FBTzs7O2dCQUNuRCxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBQyxRQUFRLENBQUMsQ0FBQztnQkFDMUIsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUE7Z0JBQ2hELEdBQUcsR0FBRyxVQUFRLENBQUMsT0FBTyxDQUFDLDJCQUF5QixNQUFNLENBQUMsTUFBTSxjQUFTLElBQUksYUFBUSxRQUFVLEVBQUMsRUFBRSxDQUFDLENBQUE7Z0JBQ3RHLHNCQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFDLElBQUksRUFBQyxJQUFJLENBQUMsRUFBQzs7O0tBQ2pDO0lBQ0QsS0FBSztJQUNRLGlCQUFRLEdBQXJCLFVBQXNCLElBQUksRUFBQyxRQUFRLEVBQUMsSUFBSTt1Q0FBRyxPQUFPOzs7Z0JBQzFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO2dCQUNoRCxHQUFHLEdB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VyxDQUFDLENBQUM7SUFDaEQsT0FBVSxPQUFPLFNBQUksTUFBTSxDQUFDLFFBQVEsRUFBSSxDQUFDO0FBQzNDLENBQUMiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcbmltcG9ydCBDcnlwdG9KUyA9IHJlcXVpcmUoJy4vY3J5cHRvLWpzLm1pbi5qcycpOyAgLy/lvJXnlKhBRVPmupDnoIFqc1xyXG5cclxuY29uc3QgQkFTRV9VUkwgPSBcImh0dHBzOi8vYXBpLnNwYXJrdXMuY25cIjtcclxuLy/lj6rotJ/otKPnvZHnu5zmjqXlj6Mg5qyh57G75Y+q6LSf6LSj5ZKM5ZCO56uv5Lqk5LqS77yM5LiN6LSf6LSj5aSE55CG5pWw5o2uIOaVsOaNruWkhOeQhuWcqEdhbWVUb29sXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEh0dHBVdGlsIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIHN0YXRpYyBhc3luYyAgZ2V0U2hhcmVJbmZvKHNoYXJlVXJsOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICBjb25zb2xlLmxvZyhcIuiuvue9ruWIhuS6q+mTvuaOpTpcIixzaGFyZVVybCk7XHJcbiAgICAgIGNvbnN0IHRpbWUgPSBNYXRoLmZsb29yKChuZXcgRGF0ZSgpLmdldFRpbWUoKSkgLyAxMDAwKVxyXG4gICAgICBjb25zdCB1cmwgPSBIdHRwVXRpbC5hcGlTaWduKGAvYXBpL3NoYXJlL2NmZz9nYW1lSWQ9JHtjb25maWcuZ2FtZUlkfSZ0aW1lPSR7dGltZX0mdXJsPSR7c2hhcmVVcmx9YCx7fSlcclxuICAgICAgcmV0dXJuIHRoaXMucG9zdCh1cmwsbnVsbCxudWxsKTtcclxuICAgIH1cclxuICAgIC8v5o6S6KGM5qacXHJcbiAgICBzdGF0aWMgYXN5bmMgcmFua0RhdGEodHlwZSxjYWxsYmFjayxkYXRhKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgY29uc3QgdGltZSA9IE1hdGguZmxvb3IoKG5ldyBEYXRlKCkuZ2V0VGltZSgpKSAvIDEwMDApXHJcbiAgICAgIGNvbnN0IHVybCA9IEh0dHBVdGlsLmFwaVNpZ24oYC9hcGkvZ2V0L3JhbmsvZGF0YT9nYW1lSWQ9JHtjb25maWcuZ2FtZUlkfSZkYXRhVHlwZT0ke3R5cGV9JnRpbWU9JHt0aW1lfWAsIGRhdGEpXHJcbiAgICAgIHRoaXMucG9zdCh1cmwsZGF0YSxjYWxsYmFjayk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBzdGF0aWMgYXN5bmMgdXBsb2FkVXNlckxvZ0RhdGEoZGF0YSxjYWxsYmFjayk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgIGNvbnN0IHVybCA9ICcvbG9nL2NvbGxlY3QvZGF0YSc7XHJcbiAgICAgIHRoaXMucG9zdCh1cmwsZGF0YSxjYWxsYmFjayk7XHJcbiAgICB9XHJcbiAgICAvL+aaguaXtueUqOS4jeWIsFxyXG4gICAgc3RhdGljIGFzeW5jIGdldFVzZXJSZWNvcmQoZGF0YSxjYWxsYmFjayk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgIGNvbnN0IHRpbWUgPSBNYXRoLmZsb29yKChuZXcgRGF0ZSgpLmdldFRpbWUoKSkgLyAxMDAwKVxyXG4gICAgICBjb25zdCB1cmwgPSBIdHRwVXRpbC5hcGlTaWduKGAvYXBpL2dldC91c2VyL2RhdGE/Z2FtZUlkPSR7Y29uZmlnLmdhbWVJZH0mdGltZT0ke3RpbWV9YCwgZGF0YSlcclxuICAgICAgdGhpcy5wb3N0KHVybCxkYXRhLGNhbGxiYWNrKTtcclxuICAgIH1cclxuICBzdGF0aWMgYXN5bmMgcG9zdCh1cmwsIGRhdGEsIGNhbGxiYWNrKSB7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuZmV0Y2hEYXRhKHVybCwgZGF0YSwgJ1BPU1QnKTtcclxuICAgIGNhbGxiYWNrICYmIGNhbGxiYWNrKHJlc3BvbnNlKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBhc3luYyBnZXQodXJsLCBjYWxsYmFjaykge1xyXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmZldGNoRGF0YSh1cmwsIG51bGwsICdHRVQnKTtcclxuICAgIGNhbGxiYWNrICYmIGNhbGxiYWNrKHJlc3BvbnNlKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBhc3luYyBmZXRjaERhdGEodXJsLCBkYXRhLCBtZXRob2QpIHtcclxuICAgIGNvbnN0IGZ1bGxVcmwgPSBgJHtCQVNFX1VSTH0ke3VybH1gO1xyXG4gICAgY29uc3QgaGVhZGVycyA9IHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9O1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgbWV0aG9kLFxyXG4gICAgICBoZWFkZXJzLFxyXG4gICAgICBib2R5OiBkYXRhID8gSlNPTi5zdHJpbmdpZnkoZGF0YSkgOiBudWxsLFxyXG4gICAgfTtcclxuXHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGZ1bGxVcmwsIG9wdGlvbnMpO1xyXG4gICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBIVFRQIGVycm9yISBzdGF0dXM6ICR7cmVzcG9uc2Uuc3RhdHVzfWApO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBhd2FpdCByZXNwb25zZS5qc29uKCk7XHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdGZXRjaCBlcnJvcjonLCBlcnJvcik7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAqIFxyXG4gKiBAcGFyYW0gdXJsIHtzdHJpbmd9IOaOpeWPo+WcsOWdgFxyXG4gKiBAcGFyYW0gcGFyYW1zIHtvYmplY3R9IOmcgOimgeWKoOWvhueahOWPguaVsOWvueixoVxyXG4gKi9cclxuICBzdGF0aWMgYXBpU2lnbih1cmw6IHN0cmluZywgcGFyYW1zID0ge30pIHtcclxuXHJcbiAgICBsZXQgY29udmVydFVybCA9IHVybC50cmltKClcclxuICAgIGlmIChjb252ZXJ0VXJsLmluZGV4T2YoJz8nKSA9PT0gLTEpIHtcclxuICAgICAgY29udmVydFVybCArPSAnPydcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8g5Lyg5YWl5Y+C5pWw6L2s5o2i5ou85o6l5a2X56ym5LiyXHJcbiAgICBsZXQgcG9zdFN0ciA9ICBnZXRRdWVyeVN0cmluZyhwYXJhbXMpXHJcbiAgXHJcbiAgICBjb25zdCBzaWduZWRTdHIgPSBnZW5TaWduU3RyKGNvbnZlcnRVcmwsIHBvc3RTdHIpXHJcbiAgICBjb25zdCBlbmNyeXB0U3RyID0gYHNpZ249JHtzaWduZWRTdHJ9YFxyXG5cclxuICAgIGxldCBlbmNyeXB0U2lnblN0ciA9IGZ4Q3J5LmVuY3J5cHRCeURFUyhlbmNyeXB0U3RyLCBjb25maWcuc2VjcmV0S2V5KVxyXG4gICAgZW5jcnlwdFNpZ25TdHIgPSBlbmNvZGVVUklDb21wb25lbnQoZW5jcnlwdFNpZ25TdHIpXHJcblxyXG4gICAgcmV0dXJuIGAke3VybGVuY29kZShjb252ZXJ0VXJsKX0mX3A9JHtlbmNyeXB0U2lnblN0cn1gXHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiByZXNwb25zZUhhbmRsZXIocmVzcG9uc2U6IHsgZGF0YTogYW55IH0pIHtcclxuICByZXR1cm4gcmVzcG9uc2UuZGF0YVxyXG59XHJcbi8vIOWTjeW6lOaLpuaIquWZqFxyXG4vLyBScS5pbnRlcmNlcHRvcnMucmVzcG9uc2UudXNlKHJlc3BvbnNlSGFuZGxlcilcclxuY29uc3QgY29uZmlnID0ge1xyXG4gIGdhbWVJZDogXCIxMDAwMTBcIixcclxuICBzZWNyZXRLZXk6IFwid296ckdLc0xcIixcclxuICBFSzpcImh1aTIzMSUxXCJcclxufTtcclxuXHJcbmludGVyZmFjZSBDcnlwb3RvVHlwZSB7XHJcbiAgZW5jcnlwdEJ5REVTOiBhbnlcclxuICBkZWNyeXB0QnlERVM6IGFueVxyXG4gIGhtYWNTaGEyNTY6IGFueVxyXG59XHJcbiBcclxuY2xhc3MgQ3J5cG90byBpbXBsZW1lbnRzIENyeXBvdG9UeXBlIHtcclxuICAgIC8vIOWKoOWvhueahOWQkeaYjuWAvO+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= +//# 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/Notification/Notification.js'; + var __filename = 'preview-scripts/assets/Script/module/Storage/Storage.js'; var __require = nodeEnv ? function (request) { return cc.require(request); } : function (request) { @@ -3463,55 +4242,37 @@ cc._RF.pop(); }; function __define (exports, require, module) { if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '55403VjGlpPL564gsdiZBg3', 'Notification'); -// Script/module/Notification/Notification.ts +cc._RF.push(module, '1002938VFRJd70RiAno9Iys', 'Storage'); +// Script/module/Storage/Storage.ts "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.Notifications = void 0; -//全局通知 -var Notifications = { - _eventMap: [], - on: function (masgId, callback, target) { - if (this._eventMap[masgId] === undefined) { - this._eventMap[masgId] = []; +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); } - this._eventMap[masgId].push({ callback: callback, target: target }); + if (result) { + result = JSON.parse(result); + } + return result; }, - emit: function (masgId, parameter) { - var array = this._eventMap[masgId]; - if (array === undefined) - return; - for (var i = 0; i < array.length; i++) { - var element = array[i]; - if (element) - element.callback.call(element.target, parameter); + 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); } }, - off: function (masgId, callback) { - var array = this._eventMap[masgId]; - if (array === undefined) - return; - for (var i = 0; i < array.length; i++) { - var element = array[i]; - if (element && element.callback === callback) { - array[i] = undefined; - break; - } - } - }, - offMasgId: function (masgId) { - this._eventMap[masgId] = undefined; - }, - removeAllMsg: function () { - for (var k in this._eventMap) { - if (this._eventMap[k]) { - this.offMasgId(k); - } - } - } }; -exports.Notifications = Notifications; +exports.StorageMessage = StorageMessage; cc._RF.pop(); } @@ -3524,13 +4285,13 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXE5vdGlmaWNhdGlvblxcTm90aWZpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE1BQU07QUFDTixJQUFJLGFBQWEsR0FBRztJQUNoQixTQUFTLEVBQUUsRUFBRTtJQUNiLEVBQUUsRUFBRSxVQUFVLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTTtRQUNsQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssU0FBUyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQy9CO1FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxJQUFJLEVBQUUsVUFBVSxNQUFNLEVBQUUsU0FBUztRQUM3QixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLElBQUksS0FBSyxLQUFLLFNBQVM7WUFBRSxPQUFPO1FBRWhDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25DLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixJQUFJLE9BQU87Z0JBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztTQUNqRTtJQUNMLENBQUM7SUFFRCxHQUFHLEVBQUUsVUFBVSxNQUFNLEVBQUUsUUFBUTtRQUMzQixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLElBQUksS0FBSyxLQUFLLFNBQVM7WUFBRSxPQUFPO1FBQ2hDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25DLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRTtnQkFDMUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQztnQkFDckIsTUFBTTthQUNUO1NBQ0o7SUFDTCxDQUFDO0lBRUQsU0FBUyxFQUFFLFVBQVUsTUFBTTtRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsWUFBWSxFQUFFO1FBQ1YsS0FBSyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQzFCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNyQjtTQUNKO0lBQ0wsQ0FBQztDQUNKLENBQUM7QUFDTyxzQ0FBYSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8v5YWo5bGA6YCa55+lXG52YXIgTm90aWZpY2F0aW9ucyA9IHtcbiAgICBfZXZlbnRNYXA6IFtdLFxuICAgIG9uOiBmdW5jdGlvbiAobWFzZ0lkLCBjYWxsYmFjaywgdGFyZ2V0KSB7XG4gICAgICAgIGlmICh0aGlzLl9ldmVudE1hcFttYXNnSWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2V2ZW50TWFwW21hc2dJZF0gPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9ldmVudE1hcFttYXNnSWRdLnB1c2goeyBjYWxsYmFjazogY2FsbGJhY2ssIHRhcmdldDogdGFyZ2V0IH0pO1xuICAgIH0sXG5cbiAgICBlbWl0OiBmdW5jdGlvbiAobWFzZ0lkLCBwYXJhbWV0ZXIpIHtcbiAgICAgICAgbGV0IGFycmF5ID0gdGhpcy5fZXZlbnRNYXBbbWFzZ0lkXTtcbiAgICAgICAgaWYgKGFycmF5ID09PSB1bmRlZmluZWQpIHJldHVybjtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgZWxlbWVudCA9IGFycmF5W2ldO1xuICAgICAgICAgICAgaWYgKGVsZW1lbnQpIGVsZW1lbnQuY2FsbGJhY2suY2FsbChlbGVtZW50LnRhcmdldCwgcGFyYW1ldGVyKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBvZmY6IGZ1bmN0aW9uIChtYXNnSWQsIGNhbGxiYWNrKSB7XG4gICAgICAgIGxldCBhcnJheSA9IHRoaXMuX2V2ZW50TWFwW21hc2dJZF07XG4gICAgICAgIGlmIChhcnJheSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGxldCBlbGVtZW50ID0gYXJyYXlbaV07XG4gICAgICAgICAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50LmNhbGxiYWNrID09PSBjYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIGFycmF5W2ldID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcblxuICAgIG9mZk1hc2dJZDogZnVuY3Rpb24gKG1hc2dJZCkge1xuICAgICAgICB0aGlzLl9ldmVudE1hcFttYXNnSWRdID0gdW5kZWZpbmVkO1xuICAgIH0sXG5cbiAgICByZW1vdmVBbGxNc2c6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZm9yIChsZXQgayBpbiB0aGlzLl9ldmVudE1hcCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2V2ZW50TWFwW2tdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vZmZNYXNnSWQoayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuZXhwb3J0IHsgTm90aWZpY2F0aW9ucyB9OyJdfQ== +//# 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/module/RankList/List.js'; + var __filename = 'preview-scripts/assets/Script/module/RankList/ItemRender.js'; var __require = nodeEnv ? function (request) { return cc.require(request); } : function (request) { @@ -3538,16 +4299,10 @@ cc._RF.pop(); }; function __define (exports, require, module) { if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, 'd5421HgLShFKIjj5f18m1mi', 'List'); -// Script/module/RankList/List.ts +cc._RF.push(module, 'ca0f9k0oBVDbpQC+OMNTF3m', 'ItemRender'); +// Script/module/RankList/ItemRender.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 || @@ -3568,1136 +4323,84 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, return c > 3 && r && Object.defineProperty(target, key, r), r; }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.StartAxisType = exports.ListType = void 0; -var ItemRender_1 = require("./ItemRender"); var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -/**列表排列方式 */ -var ListType; -(function (ListType) { - /**水平排列 */ - ListType[ListType["Horizontal"] = 1] = "Horizontal"; - /**垂直排列 */ - ListType[ListType["Vertical"] = 2] = "Vertical"; - /**网格排列 */ - ListType[ListType["Grid"] = 3] = "Grid"; -})(ListType = exports.ListType || (exports.ListType = {})); -/**网格布局中的方向 */ -var StartAxisType; -(function (StartAxisType) { - /**水平排列 */ - StartAxisType[StartAxisType["Horizontal"] = 1] = "Horizontal"; - /**垂直排列 */ - StartAxisType[StartAxisType["Vertical"] = 2] = "Vertical"; -})(StartAxisType = exports.StartAxisType || (exports.StartAxisType = {})); -/** - * 列表 - * 根据cocos_example的listView改动而来 - * @author chenkai 2020.7.8 - * @example - * 1.创建cocos的ScrollView组件,添加List,设置List属性即可 - * - */ -var List = /** @class */ (function (_super) { - __extends(List, _super); - function List() { +var ItemRender = /** @class */ (function (_super) { + __extends(ItemRender, _super); + function ItemRender() { var _this = _super !== null && _super.apply(this, arguments) || this; - //==================== 属性面板 ========================= - /**列表选项 */ - _this.itemRender = null; - /**排列方式 */ - _this.type = ListType.Vertical; - /**网格布局中的方向 */ - _this.startAxis = StartAxisType.Horizontal; - /**列表项之间X间隔 */ - _this.spaceX = 0; - /**列表项之间Y间隔 */ - _this.spaceY = 0; - /**上间距 */ - _this.padding_top = 0; - /**下间距 */ - _this.padding_buttom = 0; - /**左间距 */ - _this.padding_left = 0; - _this._padding = 0; - /**右间距 */ - _this.padding_right = 0; - //====================== 滚动容器 =============================== - /**列表滚动容器 */ - _this.scrollView = null; - /**scrollView的内容容器 */ - _this.content = null; - //======================== 列表项 =========================== - /**列表项数据 */ - _this.itemDataList = []; - /**应创建的实例数量 */ - _this.spawnCount = 0; - /**存放列表项实例的数组 */ - _this.itemList = []; - /**item的高度 */ - _this.itemHeight = 0; - /**item的宽度 */ - _this.itemWidth = 0; - /**存放不再使用中的列表项 */ - _this.itemPool = []; - //======================= 计算参数 ========================== - /**距离scrollView中心点的距离,超过这个距离的item会被重置,一般设置为 scrollVIew.height/2 + item.heigt/2 + space,因为这个距离item正好超出scrollView显示范围 */ - _this.halfScrollView = 0; - /**上一次content的X值,用于和现在content的X值比较,得出是向左还是向右滚动 */ - _this.lastContentPosX = 0; - /**上一次content的Y值,用于和现在content的Y值比较,得出是向上还是向下滚动 */ - _this.lastContentPosY = 0; - /**网格行数 */ - _this.gridRow = 0; - /**网格列数 */ - _this.gridCol = 0; - /**刷新时间,单位s */ - _this.updateTimer = 0; - /**刷新间隔,单位s */ - _this.updateInterval = 0.1; - /**是否滚动容器 */ - _this.bScrolling = false; - /**刷新的函数 */ - _this.updateFun = function () { }; + /**数据 */ + _this.data = null; + /**索引 0表示第一项*/ + _this.itemIndex = 0; return _this; } - List.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); - }; - /** - * 列表数据 (列表数据复制使用,如果列表数据改变,则需要重新设置一遍数据) - * @param itemDataList item数据列表 - */ - List.prototype.setData = function (itemDataList) { - this.itemDataList = itemDataList.slice(); - this.updateContent(); - }; - /**计算列表的各项参数 */ - List.prototype.countListParam = function () { - var dataLen = this.itemDataList.length; - if (this.type == ListType.Vertical) { - this.scrollView.horizontal = false; - this.scrollView.vertical = true; - this.content.width = this.content.parent.width; - this.content.height = dataLen * this.itemHeight + (dataLen - 1) * this.spaceY + this.padding_top + this.padding_buttom; - this.spawnCount = Math.round(this.scrollView.node.height / (this.itemHeight + this.spaceY)) + 2; //计算创建的item实例数量,比当前scrollView容器能放下的item数量再加上2个 - this.halfScrollView = this.scrollView.node.height / 2 + this.itemHeight / 2 + this.spaceY; //计算bufferZone,item的显示范围 - this.updateFun = this.updateV; + /**数据改变时调用 */ + 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.type == ListType.Horizontal) { - this.scrollView.horizontal = true; - this.scrollView.vertical = false; - this.content.width = dataLen * this.itemWidth + (dataLen - 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; + else if (this.data.rank == 2) { + this.node.getChildByName("rank").getChildByName("two").active = true; + this.node.getChildByName("rankLab").active = false; } - else if (this.type == ListType.Grid) { - if (this.startAxis == StartAxisType.Vertical) { - this.scrollView.horizontal = false; - this.scrollView.vertical = true; - this.content.width = this.content.parent.width; - //如果left和right间隔过大,导致放不下一个item,则left和right都设置为0,相当于不生效 - if (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或padding_right过大"); - } - this.gridCol = Math.floor((this.content.width - this.padding_left - this.padding_right) / (this.itemWidth + this.spaceX)); - this.gridRow = Math.ceil(dataLen / 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 + this.gridCol * 2; - this.halfScrollView = this.scrollView.node.height / 2 + this.itemHeight / 2 + this.spaceY; - this.updateFun = this.updateGrid_V; - } - else if (this.startAxis == StartAxisType.Horizontal) { - this.scrollView.horizontal = true; - this.scrollView.vertical = false; - //计算高间隔 - this.content.height = this.content.parent.height; - //如果left和right间隔过大,导致放不下一个item,则left和right都设置为0,相当于不生效 - if (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或padding_buttom过大"); - } - this.gridRow = Math.floor((this.content.height - this.padding_top - this.padding_buttom) / (this.itemHeight + this.spaceY)); - this.gridCol = Math.ceil(dataLen / 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 + this.gridRow * 2; - this.halfScrollView = this.scrollView.node.width / 2 + this.itemWidth / 2 + this.spaceX; - this.updateFun = this.updateGrid_H; - } - } - }; - /** - * 创建列表 - * @param startIndex 起始显示的数据索引 0表示第一项 - * @param offset scrollView偏移量 - */ - List.prototype.createList = function (startIndex, offset) { - //当需要显示的数据长度 > 虚拟列表长度, 删除最末尾几个数据时,列表需要重置位置到scrollView最底端 - if (this.itemDataList.length > this.spawnCount && (startIndex + this.spawnCount - 1) >= this.itemDataList.length) { - startIndex = this.itemDataList.length - this.spawnCount; - offset = this.scrollView.getMaxScrollOffset(); - //当需要显示的数据长度 <= 虚拟列表长度, 隐藏多余的虚拟列表项 - } - else if (this.itemDataList.length <= this.spawnCount) { - startIndex = 0; - } - for (var i = 0; i < this.spawnCount; i++) { - var item = void 0; - //需要显示的数据索引在数据范围内,则item实例显示出来 - if (i + startIndex < this.itemDataList.length) { - if (this.itemList[i] == null) { - item = this.getItem(); - this.itemList.push(item); - item.parent = this.content; - } - else { - item = this.itemList[i]; - } - //需要显示的数据索引超过了数据范围,则item实例隐藏起来 - } - else { - //item实例数量 > 需要显示的数据量 - if (this.itemList.length > (this.itemDataList.length - startIndex)) { - item = this.itemList.pop(); - item.removeFromParent(); - this.itemPool.push(item); - } - continue; - } - var itemRender = item.getComponent(ItemRender_1.default); - itemRender.itemIndex = i + startIndex; - itemRender.data = this.itemDataList[i + startIndex]; - itemRender.dataChanged(); - if (this.type == ListType.Vertical) { - //因为content的锚点X是0,所以item的x值是content.with/2表示居中,锚点Y是1,所以item的y值从content顶部向下是0到负无穷。所以item.y= -item.height/2时,是在content的顶部。 - item.setPosition(this.content.width / 2, -item.height * (0.5 + i + startIndex) - this.spaceY * (i + startIndex) - this.padding_top); - } - else if (this.type == ListType.Horizontal) { - item.setPosition(item.width * (0.5 + i + startIndex) + this.spaceX * (i + startIndex) + this.padding_left, -this.content.height / 2); - } - else if (this.type == ListType.Grid) { - if (this.startAxis == StartAxisType.Vertical) { - var row = Math.floor((i + startIndex) / this.gridCol); - var col = (i + startIndex) % this.gridCol; - item.setPosition(item.width * (0.5 + col) + this.spaceX * col + this.padding_left, -item.height * (0.5 + row) - this.spaceY * row - this.padding_top); - item.opacity = 255; - } - else if (this.startAxis == StartAxisType.Horizontal) { - var row = (i + startIndex) % this.gridRow; - var col = Math.floor((i + startIndex) / this.gridRow); - item.setPosition(item.width * (0.5 + col) + this.spaceX * col + this.padding_left, -item.height * (0.5 + row) - this.spaceY * row - this.padding_top); - item.opacity = 255; - } - } - } - this.scrollView.scrollToOffset(offset); - }; - /**获取一个列表项 */ - List.prototype.getItem = function () { - if (this.itemPool.length == 0) { - return cc.instantiate(this.itemRender); + else if (this.data.rank == 3) { + this.node.getChildByName("rank").getChildByName("three").active = true; + this.node.getChildByName("rankLab").active = false; } else { - return this.itemPool.pop(); + this.node.getChildByName("rankLab").active = true; } + this.setPic(); }; - List.prototype.update = function (dt) { - if (this.bScrolling == false) { - return; - } - this.updateTimer += dt; - if (this.updateTimer < this.updateInterval) { - return; - } - this.updateTimer = 0; - this.bScrolling = false; - this.updateFun(); - }; - List.prototype.onScrolling = function () { - this.bScrolling = true; - }; - /**垂直排列 */ - List.prototype.updateV = function () { - var items = this.itemList; - var item; - var bufferZone = this.halfScrollView; - var isUp = this.scrollView.content.y > this.lastContentPosY; - var offset = (this.itemHeight + this.spaceY) * items.length; - for (var i = 0; i < items.length; i++) { - item = items[i]; - var viewPos = this.getPositionInView(item); - if (isUp) { - //item上滑时,超出了scrollView上边界,将item移动到下方复用,item移动到下方的位置必须不超过content的下边界 - if (viewPos.y > bufferZone && item.y - offset - this.padding_buttom > -this.content.height) { - var itemRender = item.getComponent(ItemRender_1.default); - var itemIndex = itemRender.itemIndex + items.length; - itemRender.itemIndex = itemIndex; - itemRender.data = this.itemDataList[itemIndex]; - itemRender.dataChanged(); - item.y = item.y - offset; - } + 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; } - else { - //item下滑时,超出了scrollView下边界,将item移动到上方复用,item移动到上方的位置必须不超过content的上边界 - if (viewPos.y < -bufferZone && item.y + offset + this.padding_top < 0) { - var itemRender = item.getComponent(ItemRender_1.default); - var itemIndex = itemRender.itemIndex - items.length; - itemRender.itemIndex = itemIndex; - itemRender.data = this.itemDataList[itemIndex]; - itemRender.dataChanged(); - item.y = item.y + offset; - } - } - } - this.lastContentPosY = this.scrollView.content.y; - }; - /**水平排列 */ - List.prototype.udpateH = function () { - var items = this.itemList; - var item; - var bufferZone = this.halfScrollView; - var isRight = this.scrollView.content.x > this.lastContentPosX; - var offset = (this.itemWidth + this.spaceX) * items.length; - for (var i = 0; i < items.length; i++) { - item = items[i]; - var viewPos = this.getPositionInView(item); - if (isRight) { - //item右滑时,超出了scrollView右边界,将item移动到左方复用,item移动到左方的位置必须不超过content的左边界 - if (viewPos.x > bufferZone && item.x - offset - this.padding_left > 0) { - var itemRender = item.getComponent(ItemRender_1.default); - var itemIndex = itemRender.itemIndex - items.length; - itemRender.itemIndex = itemIndex; - itemRender.data = this.itemDataList[itemIndex]; - itemRender.dataChanged(); - item.x = item.x - offset; - } - } - else { - //item左滑时,超出了scrollView左边界,将item移动到右方复用,item移动到右方的位置必须不超过content的右边界 - if (viewPos.x < -bufferZone && item.x + offset + this.padding_right < this.content.width) { - var itemRender = item.getComponent(ItemRender_1.default); - var itemIndex = itemRender.itemIndex + items.length; - itemRender.itemIndex = itemIndex; - itemRender.data = this.itemDataList[itemIndex]; - itemRender.dataChanged(); - item.x = item.x + offset; - } - } - } - this.lastContentPosX = this.scrollView.content.x; - }; - /**网格垂直排列 */ - List.prototype.updateGrid_V = function () { - var items = this.itemList; - var item; - var bufferZone = this.halfScrollView; - var isUp = this.scrollView.content.y > this.lastContentPosY; - var offset = (this.itemHeight + this.spaceY) * (this.spawnCount / this.gridCol); - for (var i = 0; i < items.length; i++) { - item = items[i]; - var viewPos = this.getPositionInView(item); - if (isUp) { - //item上滑时,超出了scrollView上边界,将item移动到下方复用,item移动到下方的位置必须不超过content的下边界 - if (viewPos.y > bufferZone && item.y - offset - this.padding_buttom > -this.content.height) { - var itemRender = item.getComponent(ItemRender_1.default); - var itemIndex = itemRender.itemIndex + (this.spawnCount / this.gridCol) * this.gridCol; - if (this.itemDataList[itemIndex] != null) { - item.y = item.y - offset; - itemRender.itemIndex = itemIndex; - itemRender.data = this.itemDataList[itemIndex]; - itemRender.dataChanged(); - item.opacity = 255; - } - else { - item.y = item.y - offset; - itemRender.itemIndex = itemIndex; - item.opacity = 0; - } - } - } - else { //item下滑时,超出了scrollView下边界,将item移动到上方复用,item移动到上方的位置必须不超过content的上边界 - if (viewPos.y < -bufferZone && item.y + offset + this.padding_top < 0) { - var itemRender = item.getComponent(ItemRender_1.default); - var itemIndex = itemRender.itemIndex - (this.spawnCount / this.gridCol) * this.gridCol; - if (this.itemDataList[itemIndex] != null) { - item.y = item.y + offset; - itemRender.itemIndex = itemIndex; - itemRender.data = this.itemDataList[itemIndex]; - itemRender.dataChanged(); - item.opacity = 255; - } - else { - item.y = item.y + offset; - itemRender.itemIndex = itemIndex; - item.opacity = 0; - } - } - } - } - this.lastContentPosY = this.scrollView.content.y; - }; - /**网格水平排列 */ - List.prototype.updateGrid_H = function () { - var items = this.itemList; - var item; - var bufferZone = this.halfScrollView; - var isRight = this.scrollView.content.x > this.lastContentPosX; - var offset = (this.itemWidth + this.spaceX) * (this.spawnCount / this.gridRow); - for (var i = 0; i < items.length; i++) { - item = items[i]; - var viewPos = this.getPositionInView(item); - if (isRight) { - //item右滑时,超出了scrollView右边界,将item移动到左方复用,item移动到左方的位置必须不超过content的左边界 - if (viewPos.x > bufferZone && item.x - offset - this.padding_left > 0) { - var itemRender = item.getComponent(ItemRender_1.default); - var itemIndex = itemRender.itemIndex - (this.spawnCount / this.gridRow) * this.gridRow; - if (this.itemDataList[itemIndex] != null) { - item.x = item.x - offset; - itemRender.itemIndex = itemIndex; - itemRender.data = this.itemDataList[itemIndex]; - itemRender.dataChanged(); - item.opacity = 255; - } - else { - item.x = item.x - offset; - itemRender.itemIndex = itemIndex; - item.opacity = 0; - } - } - } - else { - //item左滑时,超出了scrollView左边界,将item移动到右方复用,item移动到右方的位置必须不超过content的右边界 - if (viewPos.x < -bufferZone && item.x + offset + this.padding_right < this.content.width) { - var itemRender = item.getComponent(ItemRender_1.default); - var itemIndex = itemRender.itemIndex + (this.spawnCount / this.gridRow) * this.gridRow; - if (this.itemDataList[itemIndex] != null) { - item.x = item.x + offset; - itemRender.itemIndex = itemIndex; - itemRender.data = this.itemDataList[itemIndex]; - itemRender.dataChanged(); - item.opacity = 255; - } - else { - item.x = item.x + offset; - itemRender.itemIndex = itemIndex; - item.opacity = 0; - } - } - } - } - this.lastContentPosX = this.scrollView.content.x; - }; - /**获取item在scrollView的局部坐标 */ - List.prototype.getPositionInView = function (item) { - var worldPos = item.parent.convertToWorldSpaceAR(item.position); - var viewPos = this.scrollView.node.convertToNodeSpaceAR(worldPos); - return viewPos; - }; - /**获取列表数据 */ - List.prototype.getListData = function () { - return this.itemDataList; - }; - /** - * 增加一项数据到列表的末尾 - * @param data 数据 - */ - List.prototype.addItem = function (data) { - this.itemDataList.push(data); - this.updateContent(); - }; - /** - * 增加一项数据到列表指定位置 - * @param index 位置,0表示第1项 - * @param data 数据 - */ - List.prototype.addItemAt = function (index, data) { - if (this.itemDataList[index] != null || this.itemDataList.length == index) { - this.itemDataList.splice(index, 1, data); - this.updateContent(); - } - }; - /** - * 删除一项数据 - * @param index 删除项的位置 ,0表示第1项 - */ - List.prototype.deleteItem = function (index) { - if (this.itemDataList[index] != null) { - this.itemDataList.splice(index, 1); - this.updateContent(); - } - }; - /** - * 改变一项数据 - * @param index 位置,0表示第1项 - * @param data 替换的数据 - */ - List.prototype.changeItem = function (index, data) { - if (this.itemDataList[index] != null) { - this.itemDataList[index] = data; - this.updateContent(); - } - }; - /**获取第一个Item的位置 */ - List.prototype.updateContent = function () { - //显示列表实例为0个 - if (this.itemList.length == 0) { - this.countListParam(); - this.createList(0, new cc.Vec2(0, 0)); - //显示列表的实例不为0个,则需要重新排列item实例数组 - } - else { - if (this.type == ListType.Vertical) { - this.itemList.sort(function (a, b) { - return b.y - a.y; - }); - } - else if (this.type == ListType.Horizontal) { - this.itemList.sort(function (a, b) { - return a.x - b.x; - }); - } - else if (this.type == ListType.Grid) { - if (this.startAxis == StartAxisType.Vertical) { - this.itemList.sort(function (a, b) { - return a.x - b.x; - }); - this.itemList.sort(function (a, b) { - return b.y - a.y; - }); - } - else if (this.startAxis == StartAxisType.Horizontal) { - this.itemList.sort(function (a, b) { - return b.y - a.y; - }); - this.itemList.sort(function (a, b) { - return a.x - b.x; - }); - } - } - this.countListParam(); - //获取第一个item实例需要显示的数据索引 - var startIndex = this.itemList[0].getComponent(ItemRender_1.default).itemIndex; - if (this.type == ListType.Grid && this.startAxis == StartAxisType.Vertical) { - startIndex += (startIndex + this.spawnCount) % this.gridCol; - } - else if (this.type == ListType.Grid && this.startAxis == StartAxisType.Horizontal) { - startIndex += (startIndex + this.spawnCount) % this.gridRow; - } - //getScrollOffset()和scrollToOffset()的x值是相反的 - var offset = this.scrollView.getScrollOffset(); - offset.x = -offset.x; - this.createList(startIndex, offset); - } - }; - /**销毁 */ - List.prototype.onDestroy = function () { - //清理列表项 - var len = this.itemList.length; - for (var i = 0; i < len; i++) { - if (cc.isValid(this.itemList[i], true)) { - this.itemList[i].destroy(); - } - } - this.itemList.length = 0; - //清理对象池 - len = this.itemPool.length; - for (var i = 0; i < len; i++) { - if (cc.isValid(this.itemPool[i], true)) { - this.itemPool[i].destroy(); - } - } - this.itemPool.length = 0; - //清理列表数据 - this.itemDataList.length = 0; - }; - __decorate([ - property({ type: cc.Node, tooltip: "列表项" }) - ], List.prototype, "itemRender", void 0); - __decorate([ - property({ type: cc.Enum(ListType), tooltip: "排列方式" }) - ], List.prototype, "type", void 0); - __decorate([ - property({ type: cc.Enum(StartAxisType), tooltip: "网格布局中的方向", visible: function () { return this.type == ListType.Grid; } }) - ], List.prototype, "startAxis", void 0); - __decorate([ - property({ type: cc.Integer, tooltip: "列表项X间隔", visible: function () { return (this.type == ListType.Horizontal || this.type == ListType.Grid); } }) - ], List.prototype, "spaceX", void 0); - __decorate([ - property({ type: cc.Integer, tooltip: "列表项Y间隔", visible: function () { return this.type == ListType.Vertical || this.type == ListType.Grid; } }) - ], List.prototype, "spaceY", void 0); - __decorate([ - property({ type: cc.Integer, tooltip: "上间距", visible: function () { return (this.type == ListType.Vertical || this.type == ListType.Grid); } }) - ], List.prototype, "padding_top", void 0); - __decorate([ - property({ type: cc.Integer, tooltip: "下间距", visible: function () { return (this.type == ListType.Vertical || this.type == ListType.Grid); } }) - ], List.prototype, "padding_buttom", void 0); - __decorate([ - property({ type: cc.Integer, tooltip: "左间距", visible: function () { return (this.type == ListType.Horizontal || this.type == ListType.Grid); } }) - ], List.prototype, "padding_left", void 0); - __decorate([ - property(cc.Integer) - ], List.prototype, "_padding", void 0); - __decorate([ - property({ type: cc.Integer, tooltip: "右间距", visible: function () { return (this.type == ListType.Horizontal || this.type == ListType.Grid); } }) - ], List.prototype, "padding_right", void 0); - List = __decorate([ - ccclass - ], List); - return List; -}(cc.Component)); -exports.default = List; - -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFJhbmtMaXN0XFxMaXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvQkFBb0I7QUFDcEIsd0VBQXdFO0FBQ3hFLG1CQUFtQjtBQUNuQixrRkFBa0Y7QUFDbEYsOEJBQThCO0FBQzlCLGtGQUFrRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVsRiwyQ0FBcUM7QUFFL0IsSUFBQSxLQUF3QixFQUFFLENBQUMsVUFBVSxFQUFuQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWtCLENBQUM7QUFFNUMsWUFBWTtBQUNaLElBQVksUUFPWDtBQVBELFdBQVksUUFBUTtJQUNoQixVQUFVO0lBQ1YsbURBQWMsQ0FBQTtJQUNkLFVBQVU7SUFDViwrQ0FBWSxDQUFBO0lBQ1osVUFBVTtJQUNWLHVDQUFRLENBQUE7QUFDWixDQUFDLEVBUFcsUUFBUSxHQUFSLGdCQUFRLEtBQVIsZ0JBQVEsUUFPbkI7QUFFRCxjQUFjO0FBQ2QsSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3JCLFVBQVU7SUFDViw2REFBYyxDQUFBO0lBQ2QsVUFBVTtJQUNWLHlEQUFZLENBQUE7QUFDaEIsQ0FBQyxFQUxXLGFBQWEsR0FBYixxQkFBYSxLQUFiLHFCQUFhLFFBS3hCO0FBRUQ7Ozs7Ozs7R0FPRztBQUVIO0lBQWtDLHdCQUFZO0lBQTlDO1FBQUEscUVBeWlCQztRQXZpQkcscURBQXFEO1FBQ3JELFVBQVU7UUFFSCxnQkFBVSxHQUFZLElBQUksQ0FBQztRQUVsQyxVQUFVO1FBRUgsVUFBSSxHQUFhLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFFMUMsY0FBYztRQUVQLGVBQVMsR0FBa0IsYUFBYSxDQUFDLFVBQVUsQ0FBQztRQUUzRCxjQUFjO1FBRVAsWUFBTSxHQUFXLENBQUMsQ0FBQztRQUUxQixjQUFjO1FBRVAsWUFBTSxHQUFXLENBQUMsQ0FBQztRQUUxQixTQUFTO1FBRUYsaUJBQVcsR0FBVyxDQUFDLENB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SSxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUUsQ0FBQzs4Q0FDdEc7SUFLaEM7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQzswQ0FDTztJQUk1QjtRQURDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxnQkFBSyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsQ0FBQyxFQUFFLENBQUM7K0NBQ3JHO0lBMUNoQixJQUFJO1FBRHhCLE9BQU87T0FDYSxJQUFJLENBeWlCeEI7SUFBRCxXQUFDO0NBemlCRCxBQXlpQkMsQ0F6aUJpQyxFQUFFLENBQUMsU0FBUyxHQXlpQjdDO2tCQXppQm9CLElBQUkiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMZWFybiBUeXBlU2NyaXB0OlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy90eXBlc2NyaXB0Lmh0bWxcclxuLy8gTGVhcm4gQXR0cmlidXRlOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9yZWZlcmVuY2UvYXR0cmlidXRlcy5odG1sXHJcbi8vIExlYXJuIGxpZmUtY3ljbGUgY2FsbGJhY2tzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9saWZlLWN5Y2xlLWNhbGxiYWNrcy5odG1sXHJcblxyXG5pbXBvcnQgSXRlbVJlbmRlciBmcm9tIFwiLi9JdGVtUmVuZGVyXCJcclxuXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG4vKirliJfooajmjpLliJfmlrnlvI8gKi9cclxuZXhwb3J0IGVudW0gTGlzdFR5cGUge1xyXG4gICAgLyoq5rC05bmz5o6S5YiXICovXHJcbiAgICBIb3Jpem9udGFsID0gMSxcclxuICAgIC8qKuWeguebtOaOkuWIlyAqL1xyXG4gICAgVmVydGljYWwgPSAyLFxyXG4gICAgLyoq572R5qC85o6S5YiXICovXHJcbiAgICBHcmlkID0gM1xyXG59XHJcblxyXG4vKirnvZHmoLzluIPlsYDkuK3nmoTmlrnlkJEgKi9cclxuZXhwb3J0IGVudW0gU3RhcnRBeGlzVHlwZSB7XHJcbiAgICAvKirmsLTlubPmjpLliJcgKi9cclxuICAgIEhvcml6b250YWwgPSAxLFxyXG4gICAgLyoq5Z6C55u05o6S5YiXICovXHJcbiAgICBWZXJ0aWNhbCA9IDIsXHJcbn1cclxuXHJcbi8qKlxyXG4gKiDliJfooahcclxuICog5qC55o2uY29jb3NfZXhhbXBsZeeahGxpc3RWaWV35pS55Yqo6ICM5p2lXHJcbiAqIEBhdXRob3IgY2hlbmthaSAyMDIwLjcuOFxyXG4gKiBAZXhhbXBsZVxyXG4gKiAgMS7liJvlu7pjb2Nvc+eahFNjcm9sbFZpZXfnu4Tku7bvvIzmt7vliqBMaXN077yM6K6+572uTGlzdOWxnuaAp+WNs+WPr1xyXG4gKiAgXHJcbiAqL1xyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBMaXN0IGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuXHJcbiAgICAvLz09PT09PT09PT09PT09PT09PT09IOWxnuaAp+mdouadvyA9PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAvKirliJfooajpgInpobkgKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLk5vZGUsIHRvb2x0aXA6IFwi5YiX6KGo6aG5XCIgfSlcclxuICAgIHB1YmxpYyBpdGVtUmVuZGVyOiBjYy5Ob2RlID0gbnVsbDtcclxuXHJcbiAgICAvKirmjpLliJfmlrnlvI8gKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLkVudW0oTGlzdFR5cGUpLCB0b29sdGlwOiBcIuaOkuWIl+aWueW8j1wiIH0pXHJcbiAgICBwdWJsaWMgdHlwZTogTGlzdFR5cGUgPSBMaXN0VHlwZS5WZXJ0aWNhbDtcclxuXHJcbiAgICAvKirnvZHmoLzluIPlsYDkuK3nmoTmlrnlkJEgKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLkVudW0oU3RhcnRBeGlzVHlwZSksIHRvb2x0aXA6IFwi572R5qC85biD5bGA5Lit55qE5pa55ZCRXCIsIHZpc2libGUoKSB7IHJldHVybiB0aGlzLnR5cGUgPT0gTGlzdFR5cGUuR3JpZCB9IH0pXHJcbiAgICBwdWJsaWMgc3RhcnRBeGlzOiBTdGFydEF4aXNUeXBlID0gU3RhcnRBeGlzVHlwZS5Ib3Jpem9udGFsO1xyXG5cclxuICAgIC8qKuWIl+ihqOmhueS5i+mXtFjpl7TpmpQgKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLkludGVnZXIsIHRvb2x0aXA6IFwi5YiX6KGo6aG5WOmXtOmalFwiLCB2aXNpYmxlKCkgeyByZXR1cm4gKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5Ib3Jpem9udGFsIHx8IHRoaXMudHlwZSA9PSBMaXN0VHlwZS5HcmlkKSB9IH0pXHJcbiAgICBwdWJsaWMgc3BhY2VYOiBudW1iZXIgPSAwO1xyXG5cclxuICAgIC8qKuWIl+ihqOmhueS5i+mXtFnpl7TpmpQgKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLkludGVnZXIsIHRvb2x0aXA6IFwi5YiX6KGo6aG5WemXtOmalFwiLCB2aXNpYmxlKCkgeyByZXR1cm4gdGhpcy50eXBlID09IExpc3RUeXBlLlZlcnRpY2FsIHx8IHRoaXMudHlwZSA9PSBMaXN0VHlwZS5HcmlkIH0gfSlcclxuICAgIHB1YmxpYyBzcGFjZVk6IG51bWJlciA9IDA7XHJcblxyXG4gICAgLyoq5LiK6Ze06LedICovXHJcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBjYy5JbnRlZ2VyLCB0b29sdGlwOiBcIuS4iumXtOi3nVwiLCB2aXNpYmxlKCkgeyByZXR1cm4gKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5WZXJ0aWNhbCB8fCB0aGlzLnR5cGUgPT0gTGlzdFR5cGUuR3JpZCkgfSB9KVxyXG4gICAgcHVibGljIHBhZGRpbmdfdG9wOiBudW1iZXIgPSAwO1xyXG5cclxuICAgIC8qKuS4i+mXtOi3nSAqL1xyXG4gICAgQHByb3BlcnR5KHsgdHlwZTogY2MuSW50ZWdlciwgdG9vbHRpcDogXCLkuIvpl7Tot51cIiwgdmlzaWJsZSgpIHsgcmV0dXJuICh0aGlzLnR5cGUgPT0gTGlzdFR5cGUuVmVydGljYWwgfHwgdGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQpIH0gfSlcclxuICAgIHB1YmxpYyBwYWRkaW5nX2J1dHRvbTogbnVtYmVyID0gMDtcclxuXHJcbiAgICAvKirlt6bpl7Tot50gKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLkludGVnZXIsIHRvb2x0aXA6IFwi5bem6Ze06LedXCIsIHZpc2libGUoKSB7IHJldHVybiAodGhpcy50eXBlID09IExpc3RUeXBlLkhvcml6b250YWwgfHwgdGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQpIH0gfSlcclxuICAgIHB1YmxpYyBwYWRkaW5nX2xlZnQ6IG51bWJlciA9IDA7XHJcblxyXG5cclxuXHJcbiAgICBAcHJvcGVydHkoY2MuSW50ZWdlcilcclxuICAgIHB1YmxpYyBfcGFkZGluZzogbnVtYmVyID0gMDtcclxuXHJcbiAgICAvKirlj7Ppl7Tot50gKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLkludGVnZXIsIHRvb2x0aXA6IFwi5Y+z6Ze06LedXCIsIHZpc2libGUoKSB7IHJldHVybiAodGhpcy50eXBlID09IExpc3RUeXBlLkhvcml6b250YWwgfHwgdGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQpIH0gfSlcclxuICAgIHB1YmxpYyBwYWRkaW5nX3JpZ2h0OiBudW1iZXIgPSAwO1xyXG5cclxuICAgIC8vPT09PT09PT09PT09PT09PT09PT09PSDmu5rliqjlrrnlmaggPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgLyoq5YiX6KGo5rua5Yqo5a655ZmoICovXHJcbiAgICBwdWJsaWMgc2Nyb2xsVmlldzogY2MuU2Nyb2xsVmlldyA9IG51bGw7XHJcbiAgICAvKipzY3JvbGxWaWV355qE5YaF5a655a655ZmoICovXHJcbiAgICBwcml2YXRlIGNvbnRlbnQ6IGNjLk5vZGUgPSBudWxsO1xyXG5cclxuICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09IOWIl+ihqOmhuSA9PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgIC8qKuWIl+ihqOmhueaVsOaNriAqL1xyXG4gICAgcHJpdmF0ZSBpdGVtRGF0YUxpc3Q6IEFycmF5PGFueT4gPSBbXTtcclxuICAgIC8qKuW6lOWIm+W7uueahOWunuS+i+aVsOmHjyAqL1xyXG4gICAgcHJpdmF0ZSBzcGF3bkNvdW50OiBudW1iZXIgPSAwO1xyXG4gICAgLyoq5a2Y5pS+5YiX6KGo6aG55a6e5L6L55qE5pWw57uEICovXHJcbiAgICBwcml2YXRlIGl0ZW1MaXN0OiBBcnJheTxjYy5Ob2RlPiA9IFtdO1xyXG4gICAgLyoqaXRlbeeahOmrmOW6piAqL1xyXG4gICAgcHJpdmF0ZSBpdGVtSGVpZ2h0OiBudW1iZXIgPSAwO1xyXG4gICAgLyoqaXRlbeeahOWuveW6piAqL1xyXG4gICAgcHJpdmF0ZSBpdGVtV2lkdGg6IG51bWJlciA9IDA7XHJcbiAgICAvKirlrZjmlL7kuI3lho3kvb/nlKjkuK3nmoTliJfooajpobkgKi9cclxuICAgIHByaXZhdGUgaXRlbVBvb2w6IEFycmF5PGNjLk5vZGU+ID0gW107XHJcblxyXG4gICAgLy89PT09PT09PT09PT09PT09PT09PT09PSDorqHnrpflj4LmlbAgPT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgIC8qKui3neemu3Njcm9sbFZpZXfkuK3lv4PngrnnmoTot53nprvvvIzotoXov4fov5nkuKrot53nprvnmoRpdGVt5Lya6KKr6YeN572u77yM5LiA6Iis6K6+572u5Li6IHNjcm9sbFZJZXcuaGVpZ2h0LzIgKyBpdGVtLmhlaWd0LzIgKyBzcGFjZe+8jOWboOS4uui/meS4qui3neemu2l0ZW3mraPlpb3otoXlh7pzY3JvbGxWaWV35pi+56S66IyD5Zu0ICovXHJcbiAgICBwcml2YXRlIGhhbGZTY3JvbGxWaWV3OiBudW1iZXIgPSAwO1xyXG4gICAgLyoq5LiK5LiA5qyhY29udGVudOeahFjlgLzvvIznlKjkuo7lkoznjrDlnKhjb250ZW5055qEWOWAvOavlOi+g++8jOW+l+WHuuaYr+WQkeW3pui/mOaYr+WQkeWPs+a7muWKqCAqL1xyXG4gICAgcHJpdmF0ZSBsYXN0Q29udGVudFBvc1g6IG51bWJlciA9IDA7XHJcbiAgICAvKirkuIrkuIDmrKFjb250ZW5055qEWeWAvO+8jOeUqOS6juWSjOeOsOWcqGNvbnRlbnTnmoRZ5YC85q+U6L6D77yM5b6X5Ye65piv5ZCR5LiK6L+Y5piv5ZCR5LiL5rua5YqoICovXHJcbiAgICBwcml2YXRlIGxhc3RDb250ZW50UG9zWTogbnVtYmVyID0gMDtcclxuICAgIC8qKue9keagvOihjOaVsCAqL1xyXG4gICAgcHJpdmF0ZSBncmlkUm93OiBudW1iZXIgPSAwO1xyXG4gICAgLyoq572R5qC85YiX5pWwICovXHJcbiAgICBwcml2YXRlIGdyaWRDb2w6IG51bWJlciA9IDA7XHJcbiAgICAvKirliLfmlrDml7bpl7TvvIzljZXkvY1zICovXHJcbiAgICBwcml2YXRlIHVwZGF0ZVRpbWVyOiBudW1iZXIgPSAwO1xyXG4gICAgLyoq5Yi35paw6Ze06ZqU77yM5Y2V5L2NcyAqL1xyXG4gICAgcHJpdmF0ZSB1cGRhdGVJbnRlcnZhbDogbnVtYmVyID0gMC4xO1xyXG4gICAgLyoq5piv5ZCm5rua5Yqo5a655ZmoICovXHJcbiAgICBwcml2YXRlIGJTY3JvbGxpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIC8qKuWIt+aWsOeahOWHveaVsCAqL1xyXG4gICAgcHJpdmF0ZSB1cGRhdGVGdW46IEZ1bmN0aW9uID0gZnVuY3Rpb24gKCkgeyB9O1xyXG5cclxuICAgIG9uTG9hZCgpIHtcclxuICAgICAgICB0aGlzLml0ZW1IZWlnaHQgPSB0aGlzLml0ZW1SZW5kZXIuaGVpZ2h0O1xyXG4gICAgICAgIHRoaXMuaXRlbVdpZHRoID0gdGhpcy5pdGVtUmVuZGVyLndpZHRoO1xyXG4gICAgICAgIHRoaXMuc2Nyb2xsVmlldyA9IHRoaXMubm9kZS5nZXRDb21wb25lbnQoY2MuU2Nyb2xsVmlldyk7XHJcbiAgICAgICAgdGhpcy5jb250ZW50ID0gdGhpcy5zY3JvbGxWaWV3LmNvbnRlbnQ7XHJcbiAgICAgICAgdGhpcy5jb250ZW50LmFuY2hvclggPSAwO1xyXG4gICAgICAgIHRoaXMuY29udGVudC5hbmNob3JZID0gMTtcclxuICAgICAgICB0aGlzLmNvbnRlbnQucmVtb3ZlQWxsQ2hpbGRyZW4oKTtcclxuICAgICAgICB0aGlzLnNjcm9sbFZpZXcubm9kZS5vbihcInNjcm9sbGluZ1wiLCB0aGlzLm9uU2Nyb2xsaW5nLCB0aGlzKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOWIl+ihqOaVsOaNriAo5YiX6KGo5pWw5o2u5aSN5Yi25L2/55So77yM5aaC5p6c5YiX6KGo5pWw5o2u5pS55Y+Y77yM5YiZ6ZyA6KaB6YeN5paw6K6+572u5LiA6YGN5pWw5o2uKVxyXG4gICAgICogQHBhcmFtIGl0ZW1EYXRhTGlzdCBpdGVt5pWw5o2u5YiX6KGoXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZXREYXRhKGl0ZW1EYXRhTGlzdDogQXJyYXk8YW55Pikge1xyXG4gICAgICAgIHRoaXMuaXRlbURhdGFMaXN0ID0gaXRlbURhdGFMaXN0LnNsaWNlKCk7XHJcbiAgICAgICAgdGhpcy51cGRhdGVDb250ZW50KCk7XHJcbiAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICAvKirorqHnrpfliJfooajnmoTlkITpobnlj4LmlbAgKi9cclxuICAgIHByaXZhdGUgY291bnRMaXN0UGFyYW0oKSB7XHJcbiAgICAgICAgbGV0IGRhdGFMZW4gPSB0aGlzLml0ZW1EYXRhTGlzdC5sZW5ndGg7XHJcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5WZXJ0aWNhbCkge1xyXG4gICAgICAgICAgICB0aGlzLnNjcm9sbFZpZXcuaG9yaXpvbnRhbCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnNjcm9sbFZpZXcudmVydGljYWwgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnQud2lkdGggPSB0aGlzLmNvbnRlbnQucGFyZW50LndpZHRoO1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnQuaGVpZ2h0ID0gZGF0YUxlbiAqIHRoaXMuaXRlbUhlaWdodCArIChkYXRhTGVuIC0gMSkgKiB0aGlzLnNwYWNlWSArIHRoaXMucGFkZGluZ190b3AgKyB0aGlzLnBhZGRpbmdfYnV0dG9tO1xyXG4gICAgICAgICAgICB0aGlzLnNwYXduQ291bnQgPSBNYXRoLnJvdW5kKHRoaXMuc2Nyb2xsVmlldy5ub2RlLmhlaWdodCAvICh0aGlzLml0ZW1IZWlnaHQgKyB0aGlzLnNwYWNlWSkpICsgMjsgLy/orqHnrpfliJvlu7rnmoRpdGVt5a6e5L6L5pWw6YeP77yM5q+U5b2T5YmNc2Nyb2xsVmlld+WuueWZqOiDveaUvuS4i+eahGl0ZW3mlbDph4/lho3liqDkuIoy5LiqXHJcbiAgICAgICAgICAgIHRoaXMuaGFsZlNjcm9sbFZpZXcgPSB0aGlzLnNjcm9sbFZpZXcubm9kZS5oZWlnaHQgLyAyICsgdGhpcy5pdGVtSGVpZ2h0IC8gMiArIHRoaXMuc3BhY2VZOyAvL+iuoeeul2J1ZmZlclpvbmXvvIxpdGVt55qE5pi+56S66IyD5Zu0XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRnVuID0gdGhpcy51cGRhdGVWO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLkhvcml6b250YWwpIHtcclxuICAgICAgICAgICAgdGhpcy5zY3JvbGxWaWV3Lmhvcml6b250YWwgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnNjcm9sbFZpZXcudmVydGljYWwgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5jb250ZW50LndpZHRoID0gZGF0YUxlbiAqIHRoaXMuaXRlbVdpZHRoICsgKGRhdGFMZW4gLSAxKSAqIHRoaXMuc3BhY2VYICsgdGhpcy5wYWRkaW5nX2xlZnQgKyB0aGlzLnBhZGRpbmdfcmlnaHQ7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGVudC5oZWlnaHQgPSB0aGlzLmNvbnRlbnQucGFyZW50LmhlaWdodDtcclxuICAgICAgICAgICAgdGhpcy5zcGF3bkNvdW50ID0gTWF0aC5yb3VuZCh0aGlzLnNjcm9sbFZpZXcubm9kZS53aWR0aCAvICh0aGlzLml0ZW1XaWR0aCArIHRoaXMuc3BhY2VYKSkgKyAyO1xyXG4gICAgICAgICAgICB0aGlzLmhhbGZTY3JvbGxWaWV3ID0gdGhpcy5zY3JvbGxWaWV3Lm5vZGUud2lkdGggLyAyICsgdGhpcy5pdGVtV2lkdGggLyAyICsgdGhpcy5zcGFjZVg7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRnVuID0gdGhpcy51ZHBhdGVIO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuc3RhcnRBeGlzID09IFN0YXJ0QXhpc1R5cGUuVmVydGljYWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsVmlldy5ob3Jpem9udGFsID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbFZpZXcudmVydGljYWwgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb250ZW50LndpZHRoID0gdGhpcy5jb250ZW50LnBhcmVudC53aWR0aDtcclxuICAgICAgICAgICAgICAgIC8v5aaC5p6cbGVmdOWSjHJpZ2h06Ze06ZqU6L+H5aSn77yM5a+86Ie05pS+5LiN5LiL5LiA5LiqaXRlbe+8jOWImWxlZnTlkoxyaWdodOmDveiuvue9ruS4ujDvvIznm7jlvZPkuo7kuI3nlJ/mlYhcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnBhZGRpbmdfbGVmdCArIHRoaXMucGFkZGluZ19yaWdodCArIHRoaXMuaXRlbVdpZHRoICsgdGhpcy5zcGFjZVggPiB0aGlzLmNvbnRlbnQud2lkdGgpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhZGRpbmdfbGVmdCA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYWRkaW5nX3JpZ2h0ID0gMDtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwicGFkZGluZ19sZWZ05oiWcGFkZGluZ19yaWdodOi/h+Wkp1wiKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWRDb2wgPSBNYXRoLmZsb29yKCh0aGlzLmNvbnRlbnQud2lkdGggLSB0aGlzLnBhZGRpbmdfbGVmdCAtIHRoaXMucGFkZGluZ19yaWdodCkgLyAodGhpcy5pdGVtV2lkdGggKyB0aGlzLnNwYWNlWCkpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ncmlkUm93ID0gTWF0aC5jZWlsKGRhdGFMZW4gLyB0aGlzLmdyaWRDb2wpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb250ZW50LmhlaWdodCA9IHRoaXMuZ3JpZFJvdyAqIHRoaXMuaXRlbUhlaWdodCArICh0aGlzLmdyaWRSb3cgLSAxKSAqIHRoaXMuc3BhY2VZICsgdGhpcy5wYWRkaW5nX3RvcCArIHRoaXMucGFkZGluZ19idXR0b207XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNwYXduQ291bnQgPSBNYXRoLnJvdW5kKHRoaXMuc2Nyb2xsVmlldy5ub2RlLmhlaWdodCAvICh0aGlzLml0ZW1IZWlnaHQgKyB0aGlzLnNwYWNlWSkpICogdGhpcy5ncmlkQ29sICsgdGhpcy5ncmlkQ29sICogMjtcclxuICAgICAgICAgICAgICAgIHRoaXMuaGFsZlNjcm9sbFZpZXcgPSB0aGlzLnNjcm9sbFZpZXcubm9kZS5oZWlnaHQgLyAyICsgdGhpcy5pdGVtSGVpZ2h0IC8gMiArIHRoaXMuc3BhY2VZO1xyXG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVGdW4gPSB0aGlzLnVwZGF0ZUdyaWRfVjtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnN0YXJ0QXhpcyA9PSBTdGFydEF4aXNUeXBlLkhvcml6b250YWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsVmlldy5ob3Jpem9udGFsID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsVmlldy52ZXJ0aWNhbCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgLy/orqHnrpfpq5jpl7TpmpRcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udGVudC5oZWlnaHQgPSB0aGlzLmNvbnRlbnQucGFyZW50LmhlaWdodDtcclxuICAgICAgICAgICAgICAgIC8v5aaC5p6cbGVmdOWSjHJpZ2h06Ze06ZqU6L+H5aSn77yM5a+86Ie05pS+5LiN5LiL5LiA5LiqaXRlbe+8jOWImWxlZnTlkoxyaWdodOmDveiuvue9ruS4ujDvvIznm7jlvZPkuo7kuI3nlJ/mlYhcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnBhZGRpbmdfdG9wICsgdGhpcy5wYWRkaW5nX2J1dHRvbSArIHRoaXMuaXRlbUhlaWdodCArIHRoaXMuc3BhY2VZID4gdGhpcy5jb250ZW50LmhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFkZGluZ190b3AgPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFkZGluZ19idXR0b20gPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJwYWRkaW5nX3RvcOaIlnBhZGRpbmdfYnV0dG9t6L+H5aSnXCIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuZ3JpZFJvdyA9IE1hdGguZmxvb3IoKHRoaXMuY29udGVudC5oZWlnaHQgLSB0aGlzLnBhZGRpbmdfdG9wIC0gdGhpcy5wYWRkaW5nX2J1dHRvbSkgLyAodGhpcy5pdGVtSGVpZ2h0ICsgdGhpcy5zcGFjZVkpKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuZ3JpZENvbCA9IE1hdGguY2VpbChkYXRhTGVuIC8gdGhpcy5ncmlkUm93KTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udGVudC53aWR0aCA9IHRoaXMuZ3JpZENvbCAqIHRoaXMuaXRlbVdpZHRoICsgKHRoaXMuZ3JpZENvbCAtIDEpICogdGhpcy5zcGFjZVggKyB0aGlzLnBhZGRpbmdfbGVmdCArIHRoaXMucGFkZGluZ19yaWdodDtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3Bhd25Db3VudCA9IE1hdGgucm91bmQodGhpcy5zY3JvbGxWaWV3Lm5vZGUud2lkdGggLyAodGhpcy5pdGVtV2lkdGggKyB0aGlzLnNwYWNlWCkpICogdGhpcy5ncmlkUm93ICsgdGhpcy5ncmlkUm93ICogMjtcclxuICAgICAgICAgICAgICAgIHRoaXMuaGFsZlNjcm9sbFZpZXcgPSB0aGlzLnNjcm9sbFZpZXcubm9kZS53aWR0aCAvIDIgKyB0aGlzLml0ZW1XaWR0aCAvIDIgKyB0aGlzLnNwYWNlWDtcclxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlRnVuID0gdGhpcy51cGRhdGVHcmlkX0g7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDliJvlu7rliJfooaggXHJcbiAgICAgKiBAcGFyYW0gc3RhcnRJbmRleCDotbflp4vmmL7npLrnmoTmlbDmja7ntKLlvJUgMOihqOekuuesrOS4gOmhuVxyXG4gICAgICogQHBhcmFtIG9mZnNldCAgICAgc2Nyb2xsVmlld+WBj+enu+mHj1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGNyZWF0ZUxpc3Qoc3RhcnRJbmRleDogbnVtYmVyLCBvZmZzZXQ6IGNjLlZlYzIpIHtcclxuICAgICAgICAvL+W9k+mcgOimgeaYvuekuueahOaVsOaNrumVv+W6piA+IOiZmuaLn+WIl+ihqOmVv+W6pu+8jCDliKDpmaTmnIDmnKvlsL7lh6DkuKrmlbDmja7ml7bvvIzliJfooajpnIDopoHph43nva7kvY3nva7liLBzY3JvbGxWaWV35pyA5bqV56uvXHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbURhdGFMaXN0Lmxlbmd0aCA+IHRoaXMuc3Bhd25Db3VudCAmJiAoc3RhcnRJbmRleCArIHRoaXMuc3Bhd25Db3VudCAtIDEpID49IHRoaXMuaXRlbURhdGFMaXN0Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICBzdGFydEluZGV4ID0gdGhpcy5pdGVtRGF0YUxpc3QubGVuZ3RoIC0gdGhpcy5zcGF3bkNvdW50O1xyXG4gICAgICAgICAgICBvZmZzZXQgPSB0aGlzLnNjcm9sbFZpZXcuZ2V0TWF4U2Nyb2xsT2Zmc2V0KCk7XHJcblxyXG4gICAgICAgICAgICAvL+W9k+mcgOimgeaYvuekuueahOaVsOaNrumVv+W6piA8PSDomZrmi5/liJfooajplb/luqbvvIwg6ZqQ6JeP5aSa5L2Z55qE6Jma5ouf5YiX6KGo6aG5IFxyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pdGVtRGF0YUxpc3QubGVuZ3RoIDw9IHRoaXMuc3Bhd25Db3VudCkge1xyXG4gICAgICAgICAgICBzdGFydEluZGV4ID0gMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5zcGF3bkNvdW50OyBpKyspIHtcclxuICAgICAgICAgICAgbGV0IGl0ZW06IGNjLk5vZGU7XHJcbiAgICAgICAgICAgIC8v6ZyA6KaB5pi+56S655qE5pWw5o2u57Si5byV5Zyo5pWw5o2u6IyD5Zu05YaF77yM5YiZaXRlbeWunuS+i+aYvuekuuWHuuadpVxyXG4gICAgICAgICAgICBpZiAoaSArIHN0YXJ0SW5kZXggPCB0aGlzLml0ZW1EYXRhTGlzdC5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLml0ZW1MaXN0W2ldID09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtID0gdGhpcy5nZXRJdGVtKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtTGlzdC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0ucGFyZW50ID0gdGhpcy5jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtID0gdGhpcy5pdGVtTGlzdFtpXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8v6ZyA6KaB5pi+56S655qE5pWw5o2u57Si5byV6LaF6L+H5LqG5pWw5o2u6IyD5Zu077yM5YiZaXRlbeWunuS+i+makOiXj+i1t+adpVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy9pdGVt5a6e5L6L5pWw6YePID4g6ZyA6KaB5pi+56S655qE5pWw5o2u6YePXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pdGVtTGlzdC5sZW5ndGggPiAodGhpcy5pdGVtRGF0YUxpc3QubGVuZ3RoIC0gc3RhcnRJbmRleCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtID0gdGhpcy5pdGVtTGlzdC5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnJlbW92ZUZyb21QYXJlbnQoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLml0ZW1Qb29sLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbGV0IGl0ZW1SZW5kZXI6IEl0ZW1SZW5kZXIgPSBpdGVtLmdldENvbXBvbmVudChJdGVtUmVuZGVyKTtcclxuICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpICsgc3RhcnRJbmRleDtcclxuICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhID0gdGhpcy5pdGVtRGF0YUxpc3RbaSArIHN0YXJ0SW5kZXhdO1xyXG4gICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGFDaGFuZ2VkKCk7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLlZlcnRpY2FsKSB7XHJcbiAgICAgICAgICAgICAgICAvL+WboOS4umNvbnRlbnTnmoTplJrngrlY5pivMO+8jOaJgOS7pWl0ZW3nmoR45YC85pivY29udGVudC53aXRoLzLooajnpLrlsYXkuK3vvIzplJrngrlZ5pivMe+8jOaJgOS7pWl0ZW3nmoR55YC85LuOY29udGVudOmhtumDqOWQkeS4i+aYrzDliLDotJ/ml6DnqbfjgILmiYDku6VpdGVtLnk9IC1pdGVtLmhlaWdodC8y5pe277yM5piv5ZyoY29udGVudOeahOmhtumDqOOAglxyXG4gICAgICAgICAgICAgICAgaXRlbS5zZXRQb3NpdGlvbih0aGlzLmNvbnRlbnQud2lkdGggLyAyLCAtaXRlbS5oZWlnaHQgKiAoMC41ICsgaSArIHN0YXJ0SW5kZXgpIC0gdGhpcy5zcGFjZVkgKiAoaSArIHN0YXJ0SW5kZXgpIC0gdGhpcy5wYWRkaW5nX3RvcCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLkhvcml6b250YWwpIHtcclxuICAgICAgICAgICAgICAgIGl0ZW0uc2V0UG9zaXRpb24oaXRlbS53aWR0aCAqICgwLjUgKyBpICsgc3RhcnRJbmRleCkgKyB0aGlzLnNwYWNlWCAqIChpICsgc3RhcnRJbmRleCkgKyB0aGlzLnBhZGRpbmdfbGVmdCwgLXRoaXMuY29udGVudC5oZWlnaHQgLyAyKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT0gTGlzdFR5cGUuR3JpZCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc3RhcnRBeGlzID09IFN0YXJ0QXhpc1R5cGUuVmVydGljYWwpIHtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgcm93ID0gTWF0aC5mbG9vcigoaSArIHN0YXJ0SW5kZXgpIC8gdGhpcy5ncmlkQ29sKTtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgY29sID0gKGkgKyBzdGFydEluZGV4KSAlIHRoaXMuZ3JpZENvbDtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnNldFBvc2l0aW9uKGl0ZW0ud2lkdGggKiAoMC41ICsgY29sKSArIHRoaXMuc3BhY2VYICogY29sICsgdGhpcy5wYWRkaW5nX2xlZnQsIC1pdGVtLmhlaWdodCAqICgwLjUgKyByb3cpIC0gdGhpcy5zcGFjZVkgKiByb3cgLSB0aGlzLnBhZGRpbmdfdG9wKTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc3RhcnRBeGlzID09IFN0YXJ0QXhpc1R5cGUuSG9yaXpvbnRhbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciByb3cgPSAoaSArIHN0YXJ0SW5kZXgpICUgdGhpcy5ncmlkUm93O1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBjb2wgPSBNYXRoLmZsb29yKChpICsgc3RhcnRJbmRleCkgLyB0aGlzLmdyaWRSb3cpO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uc2V0UG9zaXRpb24oaXRlbS53aWR0aCAqICgwLjUgKyBjb2wpICsgdGhpcy5zcGFjZVggKiBjb2wgKyB0aGlzLnBhZGRpbmdfbGVmdCwgLWl0ZW0uaGVpZ2h0ICogKDAuNSArIHJvdykgLSB0aGlzLnNwYWNlWSAqIHJvdyAtIHRoaXMucGFkZGluZ190b3ApO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0ub3BhY2l0eSA9IDI1NTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zY3JvbGxWaWV3LnNjcm9sbFRvT2Zmc2V0KG9mZnNldCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoq6I635Y+W5LiA5Liq5YiX6KGo6aG5ICovXHJcbiAgICBwcml2YXRlIGdldEl0ZW0oKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbVBvb2wubGVuZ3RoID09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIGNjLmluc3RhbnRpYXRlKHRoaXMuaXRlbVJlbmRlcik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXRlbVBvb2wucG9wKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZShkdCkge1xyXG4gICAgICAgIGlmICh0aGlzLmJTY3JvbGxpbmcgPT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnVwZGF0ZVRpbWVyICs9IGR0O1xyXG4gICAgICAgIGlmICh0aGlzLnVwZGF0ZVRpbWVyIDwgdGhpcy51cGRhdGVJbnRlcnZhbCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudXBkYXRlVGltZXIgPSAwO1xyXG4gICAgICAgIHRoaXMuYlNjcm9sbGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudXBkYXRlRnVuKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25TY3JvbGxpbmcoKSB7XHJcbiAgICAgICAgdGhpcy5iU2Nyb2xsaW5nID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKirlnoLnm7TmjpLliJcgKi9cclxuICAgIHByaXZhdGUgdXBkYXRlVigpIHtcclxuICAgICAgICBsZXQgaXRlbXMgPSB0aGlzLml0ZW1MaXN0O1xyXG4gICAgICAgIGxldCBpdGVtO1xyXG4gICAgICAgIGxldCBidWZmZXJab25lID0gdGhpcy5oYWxmU2Nyb2xsVmlldztcclxuICAgICAgICBsZXQgaXNVcCA9IHRoaXMuc2Nyb2xsVmlldy5jb250ZW50LnkgPiB0aGlzLmxhc3RDb250ZW50UG9zWTtcclxuICAgICAgICBsZXQgb2Zmc2V0ID0gKHRoaXMuaXRlbUhlaWdodCArIHRoaXMuc3BhY2VZKSAqIGl0ZW1zLmxlbmd0aDtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1tpXTtcclxuICAgICAgICAgICAgbGV0IHZpZXdQb3MgPSB0aGlzLmdldFBvc2l0aW9uSW5WaWV3KGl0ZW0pO1xyXG4gICAgICAgICAgICBpZiAoaXNVcCkge1xyXG4gICAgICAgICAgICAgICAgLy9pdGVt5LiK5ruR5pe277yM6LaF5Ye65LqGc2Nyb2xsVmlld+S4iui+ueeVjO+8jOWwhml0ZW3np7vliqjliLDkuIvmlrnlpI3nlKjvvIxpdGVt56e75Yqo5Yiw5LiL5pa555qE5L2N572u5b+F6aG75LiN6LaF6L+HY29udGVudOeahOS4i+i+ueeVjFxyXG4gICAgICAgICAgICAgICAgaWYgKHZpZXdQb3MueSA+IGJ1ZmZlclpvbmUgJiYgaXRlbS55IC0gb2Zmc2V0IC0gdGhpcy5wYWRkaW5nX2J1dHRvbSA+IC10aGlzLmNvbnRlbnQuaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1SZW5kZXI6IEl0ZW1SZW5kZXIgPSBpdGVtLmdldENvbXBvbmVudChJdGVtUmVuZGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbUluZGV4ID0gaXRlbVJlbmRlci5pdGVtSW5kZXggKyBpdGVtcy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhID0gdGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGFDaGFuZ2VkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS55ID0gaXRlbS55IC0gb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy9pdGVt5LiL5ruR5pe277yM6LaF5Ye65LqGc2Nyb2xsVmlld+S4i+i+ueeVjO+8jOWwhml0ZW3np7vliqjliLDkuIrmlrnlpI3nlKjvvIxpdGVt56e75Yqo5Yiw5LiK5pa555qE5L2N572u5b+F6aG75LiN6LaF6L+HY29udGVudOeahOS4iui+ueeVjFxyXG4gICAgICAgICAgICAgICAgaWYgKHZpZXdQb3MueSA8IC1idWZmZXJab25lICYmIGl0ZW0ueSArIG9mZnNldCArIHRoaXMucGFkZGluZ190b3AgPCAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1SZW5kZXI6IEl0ZW1SZW5kZXIgPSBpdGVtLmdldENvbXBvbmVudChJdGVtUmVuZGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbUluZGV4ID0gaXRlbVJlbmRlci5pdGVtSW5kZXggLSBpdGVtcy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhID0gdGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGFDaGFuZ2VkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS55ID0gaXRlbS55ICsgb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubGFzdENvbnRlbnRQb3NZID0gdGhpcy5zY3JvbGxWaWV3LmNvbnRlbnQueTtcclxuICAgIH1cclxuXHJcbiAgICAvKirmsLTlubPmjpLliJcgKi9cclxuICAgIHByaXZhdGUgdWRwYXRlSCgpIHtcclxuICAgICAgICBsZXQgaXRlbXMgPSB0aGlzLml0ZW1MaXN0O1xyXG4gICAgICAgIGxldCBpdGVtO1xyXG4gICAgICAgIGxldCBidWZmZXJab25lID0gdGhpcy5oYWxmU2Nyb2xsVmlldztcclxuICAgICAgICBsZXQgaXNSaWdodCA9IHRoaXMuc2Nyb2xsVmlldy5jb250ZW50LnggPiB0aGlzLmxhc3RDb250ZW50UG9zWDtcclxuICAgICAgICBsZXQgb2Zmc2V0ID0gKHRoaXMuaXRlbVdpZHRoICsgdGhpcy5zcGFjZVgpICogaXRlbXMubGVuZ3RoO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaXRlbSA9IGl0ZW1zW2ldO1xyXG4gICAgICAgICAgICBsZXQgdmlld1BvcyA9IHRoaXMuZ2V0UG9zaXRpb25JblZpZXcoaXRlbSk7XHJcbiAgICAgICAgICAgIGlmIChpc1JpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAvL2l0ZW3lj7Pmu5Hml7bvvIzotoXlh7rkuoZzY3JvbGxWaWV35Y+z6L6555WM77yM5bCGaXRlbeenu+WKqOWIsOW3puaWueWkjeeUqO+8jGl0ZW3np7vliqjliLDlt6bmlrnnmoTkvY3nva7lv4XpobvkuI3otoXov4djb250ZW5055qE5bem6L6555WMXHJcbiAgICAgICAgICAgICAgICBpZiAodmlld1Bvcy54ID4gYnVmZmVyWm9uZSAmJiBpdGVtLnggLSBvZmZzZXQgLSB0aGlzLnBhZGRpbmdfbGVmdCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbVJlbmRlcjogSXRlbVJlbmRlciA9IGl0ZW0uZ2V0Q29tcG9uZW50KEl0ZW1SZW5kZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtSW5kZXggPSBpdGVtUmVuZGVyLml0ZW1JbmRleCAtIGl0ZW1zLmxlbmd0aDtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLml0ZW1JbmRleCA9IGl0ZW1JbmRleDtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGEgPSB0aGlzLml0ZW1EYXRhTGlzdFtpdGVtSW5kZXhdO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuZGF0YUNoYW5nZWQoKTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnggPSBpdGVtLnggLSBvZmZzZXQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvL2l0ZW3lt6bmu5Hml7bvvIzotoXlh7rkuoZzY3JvbGxWaWV35bem6L6555WM77yM5bCGaXRlbeenu+WKqOWIsOWPs+aWueWkjeeUqO+8jGl0ZW3np7vliqjliLDlj7PmlrnnmoTkvY3nva7lv4XpobvkuI3otoXov4djb250ZW5055qE5Y+z6L6555WMXHJcbiAgICAgICAgICAgICAgICBpZiAodmlld1Bvcy54IDwgLWJ1ZmZlclpvbmUgJiYgaXRlbS54ICsgb2Zmc2V0ICsgdGhpcy5wYWRkaW5nX3JpZ2h0IDwgdGhpcy5jb250ZW50LndpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1SZW5kZXI6IEl0ZW1SZW5kZXIgPSBpdGVtLmdldENvbXBvbmVudChJdGVtUmVuZGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbUluZGV4ID0gaXRlbVJlbmRlci5pdGVtSW5kZXggKyBpdGVtcy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhID0gdGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGFDaGFuZ2VkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS54ID0gaXRlbS54ICsgb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubGFzdENvbnRlbnRQb3NYID0gdGhpcy5zY3JvbGxWaWV3LmNvbnRlbnQueDtcclxuICAgIH1cclxuXHJcbiAgICAvKirnvZHmoLzlnoLnm7TmjpLliJcgKi9cclxuICAgIHByaXZhdGUgdXBkYXRlR3JpZF9WKCkge1xyXG4gICAgICAgIGxldCBpdGVtcyA9IHRoaXMuaXRlbUxpc3Q7XHJcbiAgICAgICAgbGV0IGl0ZW06IGNjLk5vZGU7XHJcbiAgICAgICAgbGV0IGJ1ZmZlclpvbmUgPSB0aGlzLmhhbGZTY3JvbGxWaWV3O1xyXG4gICAgICAgIGxldCBpc1VwID0gdGhpcy5zY3JvbGxWaWV3LmNvbnRlbnQueSA+IHRoaXMubGFzdENvbnRlbnRQb3NZO1xyXG4gICAgICAgIGxldCBvZmZzZXQgPSAodGhpcy5pdGVtSGVpZ2h0ICsgdGhpcy5zcGFjZVkpICogKHRoaXMuc3Bhd25Db3VudCAvIHRoaXMuZ3JpZENvbCk7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBpdGVtID0gaXRlbXNbaV07XHJcbiAgICAgICAgICAgIGxldCB2aWV3UG9zID0gdGhpcy5nZXRQb3NpdGlvbkluVmlldyhpdGVtKTtcclxuICAgICAgICAgICAgaWYgKGlzVXApIHtcclxuICAgICAgICAgICAgICAgIC8vaXRlbeS4iua7keaXtu+8jOi2heWHuuS6hnNjcm9sbFZpZXfkuIrovrnnlYzvvIzlsIZpdGVt56e75Yqo5Yiw5LiL5pa55aSN55So77yMaXRlbeenu+WKqOWIsOS4i+aWueeahOS9jee9ruW/hemhu+S4jei2hei/h2NvbnRlbnTnmoTkuIvovrnnlYxcclxuICAgICAgICAgICAgICAgIGlmICh2aWV3UG9zLnkgPiBidWZmZXJab25lICYmIGl0ZW0ueSAtIG9mZnNldCAtIHRoaXMucGFkZGluZ19idXR0b20gPiAtdGhpcy5jb250ZW50LmhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtUmVuZGVyOiBJdGVtUmVuZGVyID0gaXRlbS5nZXRDb21wb25lbnQoSXRlbVJlbmRlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1JbmRleCA9IGl0ZW1SZW5kZXIuaXRlbUluZGV4ICsgKHRoaXMuc3Bhd25Db3VudCAvIHRoaXMuZ3JpZENvbCkgKiB0aGlzLmdyaWRDb2w7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXRlbURhdGFMaXN0W2l0ZW1JbmRleF0gIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnkgPSBpdGVtLnkgLSBvZmZzZXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuaXRlbUluZGV4ID0gaXRlbUluZGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGEgPSB0aGlzLml0ZW1EYXRhTGlzdFtpdGVtSW5kZXhdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGFDaGFuZ2VkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub3BhY2l0eSA9IDI1NTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnkgPSBpdGVtLnkgLSBvZmZzZXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuaXRlbUluZGV4ID0gaXRlbUluZGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHsvL2l0ZW3kuIvmu5Hml7bvvIzotoXlh7rkuoZzY3JvbGxWaWV35LiL6L6555WM77yM5bCGaXRlbeenu+WKqOWIsOS4iuaWueWkjeeUqO+8jGl0ZW3np7vliqjliLDkuIrmlrnnmoTkvY3nva7lv4XpobvkuI3otoXov4djb250ZW5055qE5LiK6L6555WMXHJcbiAgICAgICAgICAgICAgICBpZiAodmlld1Bvcy55IDwgLWJ1ZmZlclpvbmUgJiYgaXRlbS55ICsgb2Zmc2V0ICsgdGhpcy5wYWRkaW5nX3RvcCA8IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbVJlbmRlcjogSXRlbVJlbmRlciA9IGl0ZW0uZ2V0Q29tcG9uZW50KEl0ZW1SZW5kZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtSW5kZXggPSBpdGVtUmVuZGVyLml0ZW1JbmRleCAtICh0aGlzLnNwYXduQ291bnQgLyB0aGlzLmdyaWRDb2wpICogdGhpcy5ncmlkQ29sO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLml0ZW1EYXRhTGlzdFtpdGVtSW5kZXhdICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS55ID0gaXRlbS55ICsgb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLml0ZW1JbmRleCA9IGl0ZW1JbmRleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhID0gdGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhQ2hhbmdlZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS55ID0gaXRlbS55ICsgb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLml0ZW1JbmRleCA9IGl0ZW1JbmRleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5sYXN0Q29udGVudFBvc1kgPSB0aGlzLnNjcm9sbFZpZXcuY29udGVudC55O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKue9keagvOawtOW5s+aOkuWIlyAqL1xyXG4gICAgcHJpdmF0ZSB1cGRhdGVHcmlkX0goKSB7XHJcbiAgICAgICAgbGV0IGl0ZW1zID0gdGhpcy5pdGVtTGlzdDtcclxuICAgICAgICBsZXQgaXRlbTtcclxuICAgICAgICBsZXQgYnVmZmVyWm9uZSA9IHRoaXMuaGFsZlNjcm9sbFZpZXc7XHJcbiAgICAgICAgbGV0IGlzUmlnaHQgPSB0aGlzLnNjcm9sbFZpZXcuY29udGVudC54ID4gdGhpcy5sYXN0Q29udGVudFBvc1g7XHJcbiAgICAgICAgbGV0IG9mZnNldCA9ICh0aGlzLml0ZW1XaWR0aCArIHRoaXMuc3BhY2VYKSAqICh0aGlzLnNwYXduQ291bnQgLyB0aGlzLmdyaWRSb3cpO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaXRlbSA9IGl0ZW1zW2ldO1xyXG4gICAgICAgICAgICBsZXQgdmlld1BvcyA9IHRoaXMuZ2V0UG9zaXRpb25JblZpZXcoaXRlbSk7XHJcbiAgICAgICAgICAgIGlmIChpc1JpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAvL2l0ZW3lj7Pmu5Hml7bvvIzotoXlh7rkuoZzY3JvbGxWaWV35Y+z6L6555WM77yM5bCGaXRlbeenu+WKqOWIsOW3puaWueWkjeeUqO+8jGl0ZW3np7vliqjliLDlt6bmlrnnmoTkvY3nva7lv4XpobvkuI3otoXov4djb250ZW5055qE5bem6L6555WMXHJcbiAgICAgICAgICAgICAgICBpZiAodmlld1Bvcy54ID4gYnVmZmVyWm9uZSAmJiBpdGVtLnggLSBvZmZzZXQgLSB0aGlzLnBhZGRpbmdfbGVmdCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbVJlbmRlcjogSXRlbVJlbmRlciA9IGl0ZW0uZ2V0Q29tcG9uZW50KEl0ZW1SZW5kZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtSW5kZXggPSBpdGVtUmVuZGVyLml0ZW1JbmRleCAtICh0aGlzLnNwYXduQ291bnQgLyB0aGlzLmdyaWRSb3cpICogdGhpcy5ncmlkUm93O1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLml0ZW1EYXRhTGlzdFtpdGVtSW5kZXhdICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS54ID0gaXRlbS54IC0gb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLml0ZW1JbmRleCA9IGl0ZW1JbmRleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhID0gdGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhQ2hhbmdlZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS54ID0gaXRlbS54IC0gb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLml0ZW1JbmRleCA9IGl0ZW1JbmRleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvL2l0ZW3lt6bmu5Hml7bvvIzotoXlh7rkuoZzY3JvbGxWaWV35bem6L6555WM77yM5bCGaXRlbeenu+WKqOWIsOWPs+aWueWkjeeUqO+8jGl0ZW3np7vliqjliLDlj7PmlrnnmoTkvY3nva7lv4XpobvkuI3otoXov4djb250ZW5055qE5Y+z6L6555WMXHJcbiAgICAgICAgICAgICAgICBpZiAodmlld1Bvcy54IDwgLWJ1ZmZlclpvbmUgJiYgaXRlbS54ICsgb2Zmc2V0ICsgdGhpcy5wYWRkaW5nX3JpZ2h0IDwgdGhpcy5jb250ZW50LndpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1SZW5kZXI6IEl0ZW1SZW5kZXIgPSBpdGVtLmdldENvbXBvbmVudChJdGVtUmVuZGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbUluZGV4ID0gaXRlbVJlbmRlci5pdGVtSW5kZXggKyAodGhpcy5zcGF3bkNvdW50IC8gdGhpcy5ncmlkUm93KSAqIHRoaXMuZ3JpZFJvdztcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ueCA9IGl0ZW0ueCArIG9mZnNldDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuZGF0YSA9IHRoaXMuaXRlbURhdGFMaXN0W2l0ZW1JbmRleF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuZGF0YUNoYW5nZWQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ueCA9IGl0ZW0ueCArIG9mZnNldDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubGFzdENvbnRlbnRQb3NYID0gdGhpcy5zY3JvbGxWaWV3LmNvbnRlbnQueDtcclxuICAgIH1cclxuXHJcbiAgICAvKirojrflj5ZpdGVt5Zyoc2Nyb2xsVmlld+eahOWxgOmDqOWdkOaghyAqL1xyXG4gICAgcHJpdmF0ZSBnZXRQb3NpdGlvbkluVmlldyhpdGVtKSB7XHJcbiAgICAgICAgbGV0IHdvcmxkUG9zID0gaXRlbS5wYXJlbnQuY29udmVydFRvV29ybGRTcGFjZUFSKGl0ZW0ucG9zaXRpb24pO1xyXG4gICAgICAgIGxldCB2aWV3UG9zID0gdGhpcy5zY3JvbGxWaWV3Lm5vZGUuY29udmVydFRvTm9kZVNwYWNlQVIod29ybGRQb3MpO1xyXG4gICAgICAgIHJldHVybiB2aWV3UG9zO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKuiOt+WPluWIl+ihqOaVsOaNriAqL1xyXG4gICAgcHVibGljIGdldExpc3REYXRhKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1EYXRhTGlzdDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOWinuWKoOS4gOmhueaVsOaNruWIsOWIl+ihqOeahOacq+WwvlxyXG4gICAgICogQHBhcmFtIGRhdGEg5pWw5o2uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhZGRJdGVtKGRhdGE6IGFueSkge1xyXG4gICAgICAgIHRoaXMuaXRlbURhdGFMaXN0LnB1c2goZGF0YSk7XHJcbiAgICAgICAgdGhpcy51cGRhdGVDb250ZW50KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDlop7liqDkuIDpobnmlbDmja7liLDliJfooajmjIflrprkvY3nva5cclxuICAgICAqIEBwYXJhbSBpbmRleCAgIOS9jee9ru+8jDDooajnpLrnrKwx6aG5XHJcbiAgICAgKiBAcGFyYW0gZGF0YSAg5pWw5o2uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhZGRJdGVtQXQoaW5kZXg6IG51bWJlciwgZGF0YTogYW55KSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbURhdGFMaXN0W2luZGV4XSAhPSBudWxsIHx8IHRoaXMuaXRlbURhdGFMaXN0Lmxlbmd0aCA9PSBpbmRleCkge1xyXG4gICAgICAgICAgICB0aGlzLml0ZW1EYXRhTGlzdC5zcGxpY2UoaW5kZXgsIDEsIGRhdGEpO1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNvbnRlbnQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDliKDpmaTkuIDpobnmlbDmja5cclxuICAgICAqIEBwYXJhbSBpbmRleCDliKDpmaTpobnnmoTkvY3nva4gLDDooajnpLrnrKwx6aG5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBkZWxldGVJdGVtKGluZGV4OiBudW1iZXIpIHtcclxuICAgICAgICBpZiAodGhpcy5pdGVtRGF0YUxpc3RbaW5kZXhdICE9IG51bGwpIHtcclxuICAgICAgICAgICAgdGhpcy5pdGVtRGF0YUxpc3Quc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVDb250ZW50KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5pS55Y+Y5LiA6aG55pWw5o2uXHJcbiAgICAgKiBAcGFyYW0gaW5kZXggICDkvY3nva4sMOihqOekuuesrDHpoblcclxuICAgICAqIEBwYXJhbSBkYXRhICDmm7/mjaLnmoTmlbDmja5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNoYW5nZUl0ZW0oaW5kZXg6IG51bWJlciwgZGF0YTogYW55KSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbURhdGFMaXN0W2luZGV4XSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXRlbURhdGFMaXN0W2luZGV4XSA9IGRhdGE7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29udGVudCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKirojrflj5bnrKzkuIDkuKpJdGVt55qE5L2N572uICovXHJcbiAgICBwcml2YXRlIHVwZGF0ZUNvbnRlbnQoKSB7XHJcbiAgICAgICAgLy/mmL7npLrliJfooajlrp7kvovkuLow5LiqXHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbUxpc3QubGVuZ3RoID09IDApIHtcclxuICAgICAgICAgICAgdGhpcy5jb3VudExpc3RQYXJhbSgpO1xyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUxpc3QoMCwgbmV3IGNjLlZlYzIoMCwgMCkpO1xyXG4gICAgICAgICAgICAvL+aYvuekuuWIl+ihqOeahOWunuS+i+S4jeS4ujDkuKrvvIzliJnpnIDopoHph43mlrDmjpLliJdpdGVt5a6e5L6L5pWw57uEXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5WZXJ0aWNhbCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtTGlzdC5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBiLnkgLSBhLnk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT0gTGlzdFR5cGUuSG9yaXpvbnRhbCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtTGlzdC5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhLnggLSBiLng7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT0gTGlzdFR5cGUuR3JpZCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc3RhcnRBeGlzID09IFN0YXJ0QXhpc1R5cGUuVmVydGljYWwpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLml0ZW1MaXN0LnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhLnggLSBiLng7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtTGlzdC5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYi55IC0gYS55O1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnN0YXJ0QXhpcyA9PSBTdGFydEF4aXNUeXBlLkhvcml6b250YWwpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLml0ZW1MaXN0LnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBiLnkgLSBhLnk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtTGlzdC5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYS54IC0gYi54O1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLmNvdW50TGlzdFBhcmFtKCk7XHJcblxyXG4gICAgICAgICAgICAvL+iOt+WPluesrOS4gOS4qml0ZW3lrp7kvovpnIDopoHmmL7npLrnmoTmlbDmja7ntKLlvJVcclxuICAgICAgICAgICAgdmFyIHN0YXJ0SW5kZXggPSB0aGlzLml0ZW1MaXN0WzBdLmdldENvbXBvbmVudChJdGVtUmVuZGVyKS5pdGVtSW5kZXg7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQgJiYgdGhpcy5zdGFydEF4aXMgPT0gU3RhcnRBeGlzVHlwZS5WZXJ0aWNhbCkge1xyXG4gICAgICAgICAgICAgICAgc3RhcnRJbmRleCArPSAoc3RhcnRJbmRleCArIHRoaXMuc3Bhd25Db3VudCkgJSB0aGlzLmdyaWRDb2w7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQgJiYgdGhpcy5zdGFydEF4aXMgPT0gU3RhcnRBeGlzVHlwZS5Ib3Jpem9udGFsKSB7XHJcbiAgICAgICAgICAgICAgICBzdGFydEluZGV4ICs9IChzdGFydEluZGV4ICsgdGhpcy5zcGF3bkNvdW50KSAlIHRoaXMuZ3JpZFJvdztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy9nZXRTY3JvbGxPZmZzZXQoKeWSjHNjcm9sbFRvT2Zmc2V0KCnnmoR45YC85piv55u45Y+N55qEXHJcbiAgICAgICAgICAgIHZhciBvZmZzZXQ6IGNjLlZlYzIgPSB0aGlzLnNjcm9sbFZpZXcuZ2V0U2Nyb2xsT2Zmc2V0KCk7XHJcbiAgICAgICAgICAgIG9mZnNldC54ID0gLSBvZmZzZXQueDtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlTGlzdChzdGFydEluZGV4LCBvZmZzZXQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKirplIDmr4EgKi9cclxuICAgIHB1YmxpYyBvbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgLy/muIXnkIbliJfooajpoblcclxuICAgICAgICBsZXQgbGVuID0gdGhpcy5pdGVtTGlzdC5sZW5ndGg7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoY2MuaXNWYWxpZCh0aGlzLml0ZW1MaXN0W2ldLCB0cnVlKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtTGlzdFtpXS5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5pdGVtTGlzdC5sZW5ndGggPSAwO1xyXG4gICAgICAgIC8v5riF55CG5a+56LGh5rGgXHJcbiAgICAgICAgbGVuID0gdGhpcy5pdGVtUG9vbC5sZW5ndGg7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoY2MuaXNWYWxpZCh0aGlzLml0ZW1Qb29sW2ldLCB0cnVlKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtUG9vbFtpXS5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5pdGVtUG9vbC5sZW5ndGggPSAwO1xyXG4gICAgICAgIC8v5riF55CG5YiX6KGo5pWw5o2uXHJcbiAgICAgICAgdGhpcy5pdGVtRGF0YUxpc3QubGVuZ3RoID0gMDtcclxuICAgIH1cclxufVxyXG4iXX0= -//------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" //改变那地图 - }; - /* - * 客户端埋点分享类型 - */ - 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXEdhbWVTdGFydFxcR2FtZUFwcFN0YXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQWtEO0FBQ2xELCtDQUEwQztBQUMxQyxzREFBaUQ7QUFDakQsNkRBQTZEO0FBQzdELDhDQUFvRDtBQUNwRCw2Q0FBNEM7QUFHNUMsTUFBTSxDQUFDLE9BQU8sR0FBRztJQUNiLElBQUcsRUFBRSxDQUFDLEVBQUUsRUFDUjtRQUNJLE9BQU87S0FDVjtJQUNELEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVwQixRQUFRO0lBQ1IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUc7UUFDZCxTQUFTLEVBQUUsSUFBSTtRQUNmLGdCQUFnQixFQUFFLElBQUk7UUFDdEIsV0FBVyxFQUFFLE1BQU07UUFDbkIsY0FBYyxFQUFFLElBQUksQ0FBTSxVQUFVO0tBQ3ZDLENBQUM7SUFFRixRQUFRO0lBQ1IsTUFBTTtJQUVOLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxHQUFHLHVCQUFVLENBQUM7SUFDOUIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEdBQUcsa0JBQVEsQ0FBQztJQUMxQixFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsR0FBRyxtQkFBUSxDQUFDO0lBQzFCLEVBQUUsQ0FBQyxFQUFFLENBQUMsWUFBWSxHQUFHLHNCQUFZLENBQUM7SUFDbEMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEdBQUcsNEJBQWEsQ0FBQztJQUNwQyxFQUFFLENBQUMsRUFBRSxDQUFDLGNBQWMsR0FBRyx3QkFBYyxDQUFDO0lBRXRDLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxHQUFHO1FBQ2QsT0FBTyxFQUFHLENBQUMsQ0FBQyxDQUFjLE1BQU07S0FDbkMsQ0FBQztJQUVGLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxHQUFHO1FBQ1osT0FBTyxFQUFFLE9BQU87UUFDaEIsU0FBUyxFQUFDLE9BQU87UUFDakIsSUFBSSxFQUFFLE9BQU87UUFDYixVQUFVLEVBQUUsT0FBTztRQUNuQixTQUFTLEVBQUUsT0FBTyxDQUFTLE9BQU87S0FDckMsQ0FBQTtJQUVEOztNQUVFO0lBQ0YsRUFBRSxDQUFDLEVBQUUsQ0FBQyxlQUFlLEdBQUc7UUFDcEIsT0FBTyxFQUFHLFNBQVM7UUFDbkIsTUFBTSxFQUFHLFFBQVE7UUFFakIsbUJBQW1CLEVBQUMsa0JBQWtCO1FBQ3RDLGlCQUFpQixFQUFHLGVBQWU7UUFDbkMsZ0JBQWdCLEVBQUcsY0FBYztRQUNqQyxxQkFBcUIsRUFBRSxjQUFjO1FBQ3JDLHNCQUFzQixFQUFFLGdCQUFnQjtRQUN4QyxtQkFBbUIsRUFBRSxZQUFZO1FBQ2pDLG9CQUFvQixFQUFFLGFBQWE7UUFFbkMsV0FBVyxFQUFHLGFBQWE7UUFDM0IsU0FBUyxFQUFFLFdBQVc7UUFDdEIsVUFBVSxFQUFFLFlBQVk7UUFDeEIsV0FBVyxFQUFFLGFBQWE7UUFDMUIsV0FBVyxFQUFFLGFBQWE7UUFDMUIsZ0JBQWdCLEVBQUUsa0JBQWtCO1FBQ3BDLGNBQWMsRUFBRSxnQkFBZ0I7UUFDaEMsUUFBUSxFQUFHLFVBQVU7UUFDckIsaUJBQWlCLEVBQUUsbUJBQW1CO1FBQ3RDLG1CQUFtQixFQUFFLHFCQUFxQjtRQUMxQyxtQkFBbUIsRUFBRSxxQkFBcUI7UUFDMUMsbUJBQW1CLEVBQUUscUJBQXFCO0tBQzdDLENBQUM7SUFFRjs7T0FFRztJQUNILEVBQUUsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEdBQUc7UUFDckIsS0FBSyxFQUFFLE9BQU87UUFDZCxNQUFNLEVBQUcsUUFBUTtRQUNqQixHQUFHLEVBQUcsS0FBSztLQUNkLENBQUM7SUFFRixXQUFXO0lBQ1gsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztRQUMzQixpQkFBaUIsRUFBRSxPQUFPO0tBQzdCLENBQUMsQ0FBQztJQUVBLGlCQUFpQjtJQUNqQixFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQ3BCLE1BQU0sRUFBRSxpREFBaUQ7UUFDekQsTUFBTSxFQUFFLG1EQUFtRDtRQUMzRCxTQUFTLEVBQUUsaUJBQWlCO1FBQzVCLFNBQVMsRUFBRSxZQUFZO1FBQ3ZCLFVBQVUsRUFBRSxvQkFBb0I7UUFDaEMsU0FBUyxFQUFFLG9CQUFvQjtRQUMvQixVQUFVLEVBQUUsMkJBQTJCO0tBRTFDLENBQUMsQ0FBQztBQUVQLENBQUMsQ0FBQyIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdhbWVDb25maWcgfSBmcm9tIFwiLi4vQ29uZmlnL0dhbWVDb25maWdcIjtcclxuaW1wb3J0IEh0dHBVdGlsIGZyb20gXCIuLi9DcnlwdG8vSHR0cFV0aWxcIjtcclxuaW1wb3J0IEF1ZGlvTWFuYWdlciBmcm9tIFwiLi4vTXVzaWMvQXVkaW9NYW5hZ2VyXCI7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbnMgfSBmcm9tIFwiLi4vTm90aWZpY2F0aW9uL05vdGlmaWNhdGlvblwiO1xyXG5pbXBvcnQgeyBTdG9yYWdlTWVzc2FnZSB9IGZyb20gXCIuLi9TdG9yYWdlL1N0b3JhZ2VcIjtcclxuaW1wb3J0IHsgR2FtZVRvb2wgfSBmcm9tIFwiLi4vVG9vbC9HYW1lVG9vbFwiO1xyXG5cclxuXHJcbndpbmRvdy5pbml0TWdyID0gZnVuY3Rpb24oKSB7XHJcbiAgICBpZihjYy5meClcclxuICAgIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjYy5meCA9IHt9O1xyXG4gICAgY29uc29sZS5sb2coXCIx5Yid5aeL5YyWXCIpO1xyXG5cclxuICAgIC8v5Z+656GA54q25oCB5L+h5oGvXHJcbiAgICBjYy5meC5TdGF0ZUluZm8gPSB7XHJcbiAgICAgICAgZGVidWdNb2RlOiB0cnVlLFxyXG4gICAgICAgIG5ldHdvcmtDb25uZWN0ZWQ6IHRydWUsICAgLy/nvZHnu5znirbmgIFcclxuICAgICAgICBuZXR3b3JrVHlwZTogJ25vbmUnLCAgICAgIC8v572R57uc57G75Z6LXHJcbiAgICAgICAgaXNPbkZvcmVncm91bmQ6IHRydWUgICAgICAvL+W9k+WJjeaYr+WQpuaYr+WcqOWJjeWPsFxyXG4gICAgfTtcclxuXHJcbiAgICAvL+W6lOeUqOezu+e7n+S/oeaBr1xyXG4gICAgLy/phY3nva7mlofku7ZcclxuXHJcbiAgICBjYy5meC5HYW1lQ29uZmlnID0gR2FtZUNvbmZpZztcclxuICAgIGNjLmZ4Lkh0dHBVdGlsID0gSHR0cFV0aWw7XHJcbiAgICBjYy5meC5HYW1lVG9vbCA9IEdhbWVUb29sO1xyXG4gICAgY2MuZnguQXVkaW9NYW5hZ2VyID0gQXVkaW9NYW5hZ2VyO1xyXG4gICAgY2MuZnguTm90aWZpY2F0aW9ucyA9IE5vdGlmaWNhdGlvbnM7XHJcbiAgICBjYy5meC5TdG9yYWdlTWVzc2FnZSA9IFN0b3JhZ2VNZXNzYWdlO1xyXG5cclxuICAgIGNjLmZ4LlNoYXJlSW5mbyA9IHtcclxuICAgICAgICBxdWVyeUlkIDogLTEgICAgICAgICAgICAgIC8v5YiG5LqraWRcclxuICAgIH07XHJcblxyXG4gICAgY2MuZnguTWVzc2FnZSA9IHtcclxuICAgICAgICBjb250cm9sOiBcIjEwMDAxXCIsICAgICAgIC8v5Lyg6YCS5pON5L2c5o6n5Yi2XHJcbiAgICAgICAgc3RhcnRHYW1lOlwiMTAwMDJcIiwgICAgICAvL+S8oOmAkuW8gOWni+W7uuetkVxyXG4gICAgICAgIG5leHQ6IFwiMTAwMDNcIiAsICAgICAgICAgIC8v5Lyg6YCS5omn6KGM5LiL5LiA5Liq5qC85a2Q5rSq5rC05rWB6L+HXHJcbiAgICAgICAgY2hhbmdlUGF0aDogXCIxMDAwNFwiLCAgICAgICAvL+S8oOmAkuaTjeS9nOaOp+WItlxyXG4gICAgICAgIGNoYW5nZU1hcDogXCIxMDAwNVwiICAgICAgICAgLy/mlLnlj5jpgqPlnLDlm75cclxuICAgIH1cclxuXHJcbiAgICAvKlxyXG4gICAgICAgICog5a6i5oi356uv5Z+L54K55YiG5Lqr57G75Z6LXHJcbiAgICAqL1xyXG4gICAgY2MuZnguQnVyaWFsU2hhcmVUeXBlID0ge1xyXG4gICAgICAgIERlZmF1bHQgOiBcImRlZmF1bHRcIiwgICAgICAgIC8v6buY6K6k5YiG5Lqr57G75Z6LLOWIhuS6q+WIsOe+pFxyXG4gICAgICAgIEludml0ZSA6IFwiaW52aXRlXCIsICAgICAgICAgIC8vIOmCgOivt+WlveWPi1xyXG5cclxuICAgICAgICBEYWlseUludml0ZVJvb21Kb2luOidpbnZpdGVfam9pbl9yb29tJywgLy/pgoDor7flpb3lj4vliqDlhaVcclxuICAgICAgICBEYWlseUludml0ZUZyaWVuZCA6ICdpbnZpdGVfZnJpZW5kJywgLy8g5pel5bi46YKA6K+35aW95Y+LXHJcbiAgICAgICAgRGFpbHlJbnZpdGVHcm91cCA6ICdpbnZhdGVfZ3JvdXAnLCAvLyDml6XluLjliIbkuqvnvqRcclxuICAgICAgICBEYWlseUludml0ZUdyb3VwQWxpdmU6ICdpbnZhdGVfYWxpdmUnLCAvL+aXpeW4uOWIhuS6q+e+pOWkjea0u1xyXG4gICAgICAgIERhaWx5SW52aXRlR3JvdXBSZXdhcmQ6ICdpbnZhdGVfcmV3YXJlZCcsLy/liIbkuqvlpZblirHnv7vlgI1cclxuICAgICAgICBEYWlseUludml0ZUdyb3VwQm94OiAnaW52YXRlX2JveCcsICAvL+WuneeuseWIhuS6q+WlluWKsVxyXG4gICAgICAgIERhaWx5SW52aXRlR3JvdXBCYWxsOiAnaW52YXRlX2JhbGwnLCAgLy/liIbkuqvpooblj5bnkIPnkINcclxuXHJcbiAgICAgICAgTWF0Y2hSZXN1bHQgOiAnbWF0Y2hSZXN1bHQnLCAgLy8g5q+U6LWb57uT566X5YiG5LqrXHJcbiAgICAgICAgTWF0Y2hGaXg1OiAnTWF0Y2hGaXg1JywgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDXlhYPnuqLljIXotZtcclxuICAgICAgICBNYXRjaEZpeDIwOiAnTWF0Y2hGaXgyMCcsICAgICAgICAgICAgICAgICAgICAgICAgLy8gMjDlhYPnuqLljIXotZtcclxuICAgICAgICBNYXRjaEZpeDEwMDogJ01hdGNoRml4MTAwJywgICAgICAgICAgICAgICAgICAgICAgLy8gMTAw5YWD57qi5YyF6LWbXHJcbiAgICAgICAgTWF0Y2hGaXg1MDA6ICdNYXRjaEZpeDUwMCcsICAgICAgICAgICAgICAgICAgICAgIC8vIDUwMOWFg+e6ouWMhei1m1xyXG4gICAgICAgIE5ld2VyUmVkRW52ZWxvcGU6ICduZXdlclJlZEVudmVsb3BlJywgICAgICAgICAgICAvLyDmlrDmiYvnuqLljIVcclxuICAgICAgICBDb2luUm9vbVJlc3VsdDogJ2NvaW5Sb29tUmVzdWx0JywgICAgICAgICAgICAgICAgLy8g6YeR5biB5qGM57uT566XXHJcbiAgICAgICAgSGlnaFJhdGUgOiBcImhpZ2hSYXRlXCIsLy/pq5jlgI3liIbkuqtcclxuICAgICAgICBDb2luUm9vbVdpblN0cmVhazogJ2NvaW5Sb29tV2luU3RyZWFrJywgICAgICAgICAvLyDov57og5xcclxuICAgICAgICBDb2luUm9vbUJhbmtydXB0Y3kxOiAnY29pblJvb21CYW5rcnVwdGN5MScsICAgICAgICAgLy8g6YeR5biB5qGM56C05LqnXHJcbiAgICAgICAgQ29pblJvb21CYW5rcnVwdGN5MjogJ2NvaW5Sb29tQmFua3J1cHRjeTInLCAgICAgICAgIC8vIOmHkeW4geahjOegtOS6p1xyXG4gICAgICAgIENvaW5Sb29tQmFua3J1cHRjeTM6ICdjb2luUm9vbUJhbmtydXB0Y3kzJywgICAgICAgICAvLyDph5HluIHmoYznoLTkuqdcclxuICAgIH07XHJcblxyXG4gICAgLypcclxuICAgICAqIOWIhuS6q+WIsOWTquWEv+e7meWlluWKsSBncm91cCBmcmluZWQgYWxsXHJcbiAgICAgKi9cclxuICAgIGNjLmZ4LlNoYXJlV2hlcmVSZXdhcmQgPSB7XHJcbiAgICAgICAgR3JvdXAgOlwiZ3JvdXBcIiwgLy/lvq7kv6HnvqRcclxuICAgICAgICBGcmllbmQgOiBcImZyaWVuZFwiLC8v5aW95Y+LXHJcbiAgICAgICAgQWxsIDogXCJhbGxcIiwgLy/kuI3ljLrliIZcclxuICAgIH07XHJcblxyXG4gICAgLy/nlKjkuo7lrZjlgqjmtojmga/nmoRJRFxyXG4gICAgY2MuZnguc3RvcmFnZVR5cGUgPSBjYy5FbnVtKHtcclxuXHQgICAgc3RvcmFnZVR5cGVDdXN0b206IDEwMDAxMDEsIC8v55So5LqO5a2Y5YKo5YWz5Y2h562J57qnXHJcblx0fSk7XHJcblxyXG4gICAgLy/nlKjkuo7lrZjlgqjmj5DnpLror60gIOaMieeFp+atpemqpOaPkOekulxyXG4gICAgY2MuZngudGlwVHlwZSA9IGNjLkVudW0oe1xyXG4gICAgICAgIHRpcE9uZTogJ+elnuWGnOawj+WbnuWIsOWutuS4re+8jOW8gOWni+aVtOeQhuS7iuWkqeaUtumbhuadpeeahOeJqeWTgeOAguW9k+S7luesrOS4gOasoeaLv+WHuuaIluivtOWHuuS4gOenjeakjeeJqeaXtu+8jOivt+WRiuivieS7lui/meaYr+aWsOakjeeJqeOAgicsXHJcbiAgICAgICAgdGlwVHdvOiAn5aaC5p6c5LuW5ou/5Ye65oiW6K+05Ye655qE5qSN54mp5L2g5LuK5aSp55yL5Yiw6L+H77yM6K+35ZGK6K+J5LuW5LiK5qyh5piv55yL5Yiw55qE77yb5aaC5p6c5L2g5ZCs5LuW6K+06L+H77yM5YiZ6K+35ZGK6K+J5LuW5LiK5qyh5piv5ZCs5Yiw55qE44CCJywgLy/nlKjkuo7lrZjlgqjlhbPljaHnrYnnuqdcclxuICAgICAgICB0aXBFcnJOZXc6ICfov5nmmK/ov5nlsYDmuLjmiI/nrKzkuIDmrKHlh7rnjrB75qSN54mpfScsXHJcbiAgICAgICAgdGlwRXJyT2xkOiAne+akjeeJqX3liJrmiY3lh7rnjrDov4flkaInLFxyXG4gICAgICAgIHRpcEVyckhlYXI6ICfkuIrmrKHpgYfliLB75qSN54mpfeaXtu+8jOS8vOS5juS4jeaYr+WQrOWIsOeahOWQpycsXHJcbiAgICAgICAgdGlwRXJyU2VlOiAn5LiK5qyh6YGH5Yiwe+akjeeJqX3ml7bvvIzkvLzkuY7kuI3mmK/nnIvliLDnmoTlkKcnLFxyXG4gICAgICAgIHRpcEVyckxhc3Q6ICfkuYvliY3noa7lrp7nnIvliLDov4d75qSN54mpfe+8jOS9huacgOi/keS4gOasoeS8vOS5juS4jeaYr+eci+WIsOeahOWRoicsXHJcblxyXG4gICAgfSk7XHJcblxyXG59OyJdfQ== -//------QC-SOURCE-SPLIT------ - - (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 __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, '43bfcJ6/25Fs4fHUE0PeBOX', 'GameTool'); -// Script/module/Tool/GameTool.ts - -"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; - } - else { - cc.fx.StorageMessage.setStorage(name, data); - cc.fx.GameConfig.GM_INFO.userId = parseInt(data.userId); - } - }, - //埋点上传 - 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("上传数据:"); - 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, - "totleTimes": data.totleTimes, - "accuracy": data.accuracy, - "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: '.jpg' }, function (err, texture) { + }) + .catch(function (error) { + console.error('Error fetching X-Info:', error); + }); + cc.assetManager.loadRemote(url, { ext: '.png' }, function (err, texture) { if (texture) { - node.active = true; - node.getComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(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); } }); - }, - //第一个参数把目标带进来处理,第二个参数为名字长度,不同场景不同需求 - //名字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].accuracy, time: target.listData[i].totleTimes, 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.accuracy + "%"; - 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); - }, - getFoodName: function (food) { - var name = "葡萄"; - switch (food) { - case "baishao": - name = "白芍"; - break; - case "jingjie": - name = "荆芥"; - break; - case "renshen": - name = "人参"; - break; - case "danshen": - name = "丹参"; - break; - case "danggui": - name = "当归"; - break; - case "gouqi": - name = "枸杞"; - break; - case "mudan": - name = "牡丹"; - break; - case "mulan": - name = "木兰"; - break; - case "pugongying": - name = "蒲公英"; - break; - case "moli": - name = "茉莉"; - break; - case "jinju": - name = "金桔"; - break; - case "dazao": - name = "大枣"; - break; - case "lizi": - name = "李子"; - break; - case "lizhi": - name = "荔枝"; - break; - case "taozi": - name = "桃子"; - break; - case "putao": - name = "葡萄"; - break; - case "muchai": - name = "木柴"; - break; - case "ganjiang": - name = "干姜"; - break; - case "zhuye": - name = "竹叶"; - break; - case "longyan": - name = "龙眼"; - break; - case "chixiaodou": - name = "赤小豆"; - break; - case "gancao": - name = "甘草"; - break; - case "cha": - name = "茶"; - break; - } - return name; - }, - 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; + }; + ItemRender = __decorate([ + ccclass + ], ItemRender); + return ItemRender; +}(cc.Component)); +exports.default = ItemRender; cc._RF.pop(); } @@ -4710,7 +4413,7 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFRvb2xcXEdhbWVUb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLCtCQUErQjtBQUMvQixJQUFJLFFBQVEsR0FBRztJQUNYLFVBQVUsRUFBRSxDQUFDO0lBQ2IsUUFBUSxFQUFFLENBQUM7SUFDWCxVQUFVLEVBQUUsQ0FBQztJQUNiLFVBQVU7SUFDVixjQUFjO1FBQ1YsSUFBSSxJQUFJLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDckQsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbEQsSUFBRyxJQUFJLElBQUksVUFBVSxJQUFJLElBQUksSUFBRSxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsRUFBQztZQUM5QyxJQUFJLEdBQUcsR0FBRyw4RUFBOEUsR0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ3ZHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztTQUM5QjthQUNHO1lBQ0EsRUFBRSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQztZQUMzQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDM0Q7SUFDTCxDQUFDO0lBRUQsTUFBTTtJQUNOLFdBQVc7UUFDUCxvQkFBb0I7UUFDcEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNoQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFF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LFFBQVEsR0FBRyxFQUFFO1lBQUUsSUFBSSxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUM7UUFDeEMsT0FBTyxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQTtJQUN6QixDQUFDO0lBRUQsZ0JBQWdCO0lBQ2hCLGVBQWUsRUFBQyxVQUFDLE1BQU07UUFDbkIsTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUMsSUFBSSxHQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDZixJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDWixJQUFHLEtBQUssR0FBRyxFQUFFLEVBQUM7WUFDVixHQUFHLEdBQUcsUUFBUSxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUEsT0FBTztTQUMxQztRQUNELElBQUksQ0FBQyxHQUFJLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFFbkIsSUFBSSxRQUFRLEdBQUcsS0FBSyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQSxhQUFhO1FBQzdDLElBQUksSUFBSSxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDM0IsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFBO0lBQ25CLENBQUM7SUFFRCxPQUFPO0lBQ1AsT0FBTztRQUNILElBQU0sU0FBUyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdkMsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUNELFVBQVUsRUFBQztJQUVYLENBQUM7SUFDRCxlQUFlLEVBQUM7SUFFaEIsQ0FBQztDQUVKLENBQUM7QUFDTyw0QkFBUSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4vL+acgOWkp+W3peWFt+exuyAg5ZCE56eN5YWs5YWx5pa55rOV77yM5Lul5Y+K5aSE55CG5LiK5Lyg77yM6I635Y+W5ZCO56uv5o6l5Y+j5pWw5o2uXHJcbnZhciBHYW1lVG9vbCA9IHtcclxuICAgIF9zdGFydFRpbWU6IDAsXHJcbiAgICBfZW5kVGltZTogMCxcclxuICAgIF90b3RhbFRpbWU6IDAsXHJcbiAgICAvL+iOt+WPlnVzZXJJZFxyXG4gICAgQXV0aGVudGljYXRpb24oKXtcclxuICAgICAgICBsZXQgbmFtZSA9IFwidXNlcl9cIiArIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5nYW1lSWQ7XHJcbiAgICAgICAgdmFyIGRhdGEgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKG5hbWUpKTtcclxuICAgICAgICBpZihkYXRhID09IFwidW5kaWZlbmRcIiB8fCBkYXRhPT1udWxsIHx8IGRhdGEgPT0gXCJcIil7XHJcbiAgICAgICAgICAgIGxldCB1cmwgPSBcImh0dHBzOi8vYXBpLnNwYXJrdXMuY24vYXBpL3VzZXIvYXV0aC9sb2dpbj9kb21haW49aHVpMzI1NzlXZFlQc2dZcSZjYWxsYmFjaz1cIitsb2NhdGlvbi5ocmVmO1xyXG4gICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHVybDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgY2MuZnguU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShuYW1lLGRhdGEpO1xyXG4gICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udXNlcklkID0gcGFyc2VJbnQoZGF0YS51c2VySWQpO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgLy/ln4vngrnkuIrkvKBcclxuICAgIHNldEdhbWVEYXRhKCl7XHJcbiAgICAgICAgLy9HQU1FX0RBVEEg5Yid5aeL5YyWIOavj+asoea4hembtlxyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR0FNRV9EQVRBID0gW107XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HQU1FX0RBVEEucHVzaChjYy5meC5HYW1lQ29uZmlnLkNMSUNLX0RBVEEpO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfaW5pdCgpO1xyXG4gICAgICAgIGxldCBkYXRhID0gY2MuZnguR2FtZUNvbmZpZy5HQU1FX0RBVEE7XHJcbiAgICAgICAgbGV0IG1hdGNoSWQgPSB0aGlzLmdldE1hdGNoSWQoKTtcclxuICAgICAgICBsZXQgcG9zdERhdGEgPSB7XHJcbiAgICAgICAgICAgIFwiZ2FtZUlkXCI6Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhbWVJZCxcclxuICAgICAgICAgICAgXCJ1c2VySWRcIjpjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udXNlcklkLFxyXG4gICAgICAgICAgICBcIm1hdGNoSWRcIjptYXRjaElkLFxyXG4gICAgICAgICAgICBcImRhdGFcIjogZGF0YVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGNvbnNvbGUubG9nKFwi5LiK5Lyg5pWw5o2uOlwiKTtcclxuICAgICAgICBjYy5meC5IdHRwVXRpbC51cGxvYWRVc2VyTG9nRGF0YShwb3N0RGF0YSxmdW5jdGlvbigpe30pXHJcbiAgICB9LFxyXG4gICAgLy/kuIrkvKDmjpLooYzmppwgIHR5cGXkuLoxXHJcbiAgICBzZXRSYW5rKGRhdGEpe1xyXG4gICAgICAgIC8vR0FNRV9EQVRBIOWIneWni+WMliDmr4/mrKHmuIXpm7ZcclxuICAgICAgICBsZXQgcG9zdERhdGEgPSB7XHJcbiAgICAgICAgICAgIFwiZ2FtZUlkXCI6Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhbWVJZCxcclxuICAgICAgICAgICAgXCJ1c2VySWRcIjpjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udXNlcklkLFxyXG4gICAgICAgICAgICBcInR5cGVcIjoxLFxyXG4gICAgICAgICAgICBcInRvdGxlVGltZXNcIjogZGF0YS50b3RsZVRpbWVzLFxyXG4gICAgICAgICAgICBcImFjY3VyYWN5XCI6IGRhdGEuYWNjdXJhY3ksXHJcbiAgICAgICAgICAgIFwic3VjY2Vzc1wiOiBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uc3VjY2Vzc1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgY2MuZnguSHR0cFV0aWwucmFua0RhdGEoMSxmdW5jdGlvbigpe30scG9zdERhdGEpO1xyXG4gICAgfSxcclxuICAgIC8v6I635Y+W5o6S6KGM5qacIHR5cGXkuLoyXHJcbiAgICBnZXRSYW5rKGRhdGEsY2FsbGJhY2spe1xyXG4gICAgICAgIGxldCByYW5rTGVuZ3RoID0gZGF0YS5sZW5ndGg7XHJcbiAgICAgICAgbGV0IHBvc3REYXRhID0ge1xyXG4gICAgICAgICAgICBcImdhbWVJZFwiOmNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5nYW1lSWQsXHJcbiAgICAgICAgICAgIFwidXNlcklkXCI6Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnVzZXJJZCxcclxuICAgICAgICAgICAgXCJwYWdlXCI6MSxcclxuICAgICAgICAgICAgXCJwYWdlU2l6ZVwiOnJhbmtMZW5ndGhcclxuICAgICAgICB9OyBcclxuICAgICAgICAvL+Wbnuiwg+i/m2dldFJhbmtEYXRhXHJcbiAgICAgICAgY2MuZnguSHR0cFV0aWwucmFua0RhdGEoMixkYXRhID0+e2NhbGxiYWNrKGRhdGEpfSxwb3N0RGF0YSk7XHJcbiAgICB9LFxyXG4gICAgLy/ojrflj5ZtYXRjaElkICDnlKjkuo7kuIrkvKDmr4/mrKHngrnlh7vmlbDmja7ph4zpnaLorrDlvZVpZOaWueS+v+afpeivolxyXG4gICAgZ2V0TWF0Y2hJZCAoKXtcclxuICAgICAgICBsZXQgbWF0Y2hJZCA9IGNjLnN5cy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIm1hdGNoSWRcIik7XHJcbiAgICAgICAgbGV0IHRlbXBJZCA9IG1hdGNoSWQ7XHJcbiAgICAgICAgaWYobWF0Y2hJZCA9PSBcInVuZGlmZW5kXCIgfHwgbWF0Y2hJZD09bnVsbCl7XHJcbiAgICAgICAgICAgIG1hdGNoSWQgPSAgdGhpcy5zZXRNYXRjaElkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuY29udGFpbnNOYW5hbmEobWF0Y2hJZCkgPT0gdHJ1ZSl7XHJcbiAgICAgICAgICAgICAgICBtYXRjaElkID0gIHRoaXMuc2V0TWF0Y2hJZCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICBsZXQgY2hhciA9IHBhcnNlSW50KHRlbXBJZC5zdWJzdHJpbmcoMTAsdGVtcElkLmxlbmd0aCkpO1xyXG4gICAgICAgICAgICAgICAgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsID09IDEpe1xyXG4gICAgICAgICAgICAgICAgICAgIGNoYXIgKz0gMTtcclxuICAgICAgICAgICAgICAgICAgICBtYXRjaElkICA9IHRlbXBJZC5zbGljZSgwLCAxMCkgKyBjaGFyICsgXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmNvbnRhaW5zTmFuYW5hKG1hdGNoSWQpKSBtYXRjaElkID0gdGhpcy5zZXRNYXRjaElkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1hdGNoSWQgPSBtYXRjaElkO1xyXG4gICAgICAgICAgICAgICAgICAgIGNjLnN5cy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIm1hdGNoSWRcIixtYXRjaElkKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYodGhpcy5jb250YWluc05hbmFuYShtYXRjaElkKSA9PSB0cnVlKXtcclxuICAgICAgICAgICAgbWF0Y2hJZCA9ICB0aGlzLnNldE1hdGNoSWQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG1hdGNoSWQ7XHJcbiAgICB9LFxyXG4gICAgLy/mo4DmtYttYXRjaElkIOWmguaenOaciee8k+WtmOS7peWJjeeahG5hbmFuYeaVsOaNrua4hemZpFxyXG4gICAgY29udGFpbnNOYW5hbmEoc3RyKSB7XHJcbiAgICAgICAgcmV0dXJuIC9uYS9pLnRlc3Qoc3RyKTtcclxuICAgIH0sXHJcbiAgICAvL+mHjeaWsOiuvue9rk1hdGNoSWRcclxuICAgIHNldE1hdGNoSWQgKCl7XHJcbiAgICAgICAgLy8g5a6a5LmJ5YyF5ZCr5Y+v55So5a2X56ym55qE5a2X56ym6ZuGXHJcbiAgICAgICAgY29uc3QgY2hhcmFjdGVycyA9ICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4OSc7XHJcbiAgICAgICAgLy8g5Yib5bu65LiA5Liq5pWw57uE5Lul5L+d5a2Y6ZqP5py65a2X56ymXHJcbiAgICAgICAgY29uc3QgdXVpZEFycmF5ID0gW107XHJcbiAgICAgICAgLy8g5b6q546vMTDmrKEg55Sf5oiQMTDkvY3nmoRVVUlEXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAvLyDnlJ/miJDpmo/mnLrntKLlvJXvvIzojIPlm7TmmK/lrZfnrKbpm4bnmoTplb/luqZcclxuICAgICAgICAgICAgY29uc3QgcmFuZG9tSW5kZXggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFyYWN0ZXJzLmxlbmd0aCk7XHJcbiAgICAgICAgICAgIC8vIOS7juWtl+espumbhuS4reiOt+WPlumaj+acuuWtl+esplxyXG4gICAgICAgICAgICBjb25zdCByYW5kb21DaGFyID0gY2hhcmFjdGVycy5jaGFyQXQocmFuZG9tSW5kZXgpO1xyXG4gICAgICAgICAgICAvLyDlsIblrZfnrKbmt7vliqDliLDmlbDnu4TkuK1cclxuICAgICAgICAgICAgdXVpZEFycmF5LnB1c2gocmFuZG9tQ2hhcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBkYXRhID0gIHV1aWRBcnJheS5qb2luKCcnKSArIDEgKyBcIlwiO1xyXG4gICAgICAgIGNjLnN5cy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIm1hdGNoTnVtYmVyXCIsMSk7XHJcbiAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKFwibWF0Y2hJZFwiLGRhdGEpO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5tYXRjaElkID0gZGF0YTtcclxuICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgIH0sXHJcbiAgICAvL+aIquWPluWQjeWtl1xyXG4gICAgc3ViTmFtZShuYW1lLGxlbmd0aCl7XHJcbiAgICAgICAgaWYobmFtZS5sZW5ndGggPiBsZW5ndGgpe1xyXG4gICAgICAgICAgICBuYW1lID0gbmFtZS5zdWJzdHJpbmcoMCxsZW5ndGgpICsgXCIuLi5cIlxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmFtZTtcclxuICAgIH0sXHJcbiAgICAvL+iuvue9ruWktOWDj1xyXG4gICAgc2V0UGljKG5vZGUscGljKXtcclxuICAgICAgICBub2RlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIGxldCB1cmwgPSBwaWM7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGZldGNoKHVybClcclxuICAgICAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdDb250ZW50LUxlbmd0aCcpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAudGhlbihlcnJObyA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZihlcnJObyA9PSBcIjUwOTNcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgbm9kZS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZmV0Y2hpbmcgWC1JbmZvOicsIGVycm9yKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgICAgICBjYy5hc3NldE1hbmFnZXIubG9hZFJlbW90ZSh1cmwsIHtleHQ6Jy5qcGcnfSwoZXJyLCB0ZXh0dXJlOmNjLlRleHR1cmUyRCkgPT4ge1xyXG4gICAgICAgICAgICBpZih0ZXh0dXJlKXtcclxuICAgICAgICAgICAgICAgIG5vZGUuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIG5vZGUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSBuZXcgY2MuU3ByaXRlRnJhbWUodGV4dHVyZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycix0ZXh0dXJlKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgIH0sXHJcbiAgICAvL+esrOS4gOS4quWPguaVsOaKiuebruagh+W4pui/m+adpeWkhOeQhu+8jOesrOS6jOS4quWPguaVsOS4uuWQjeWtl+mVv+W6pu+8jOS4jeWQjOWcuuaZr+S4jeWQjOmcgOaxglxyXG4gICAgLy/lkI3lrZc055+t77yM5bCP5o6S6KGM77yM5ZCN5a2XNumVv++8jOWkp+aOkuihjFxyXG4gICAgZ2V0UmFua0RhdGEoZGF0YSx0YXJnZXQsbmFtZUxlbmd0aCl7XHJcbiAgICAgICAgdGFyZ2V0Lmxpc3REYXRhID0gZGF0YS5kYXRhLmxpc3Q7XHJcbiAgICAgICAgdGFyZ2V0LnNlbGZEYXRhID0gZGF0YS5kYXRhLmluZm87XHJcbiAgICAgICAgbGV0IHJhbmtEYXRhID0gW107XHJcbiAgICAgICAgbGV0IHNlbGYgPSBmYWxzZTtcclxuICAgICAgICAgY2MuZnguR2FtZVRvb2wuc2V0UGljKHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIiksdGFyZ2V0LnNlbGZEYXRhLnBpYyk7XHJcbiAgICAgICAgZm9yKGxldCBpPTA7aTw9dGFyZ2V0Lmxpc3REYXRhLmxlbmd0aC0xO2krKyl7XHJcbiAgICAgICAgICAgIHJhbmtEYXRhLnB1c2goe3Jhbms6KGkrMSksIG5hbWU6dGFyZ2V0Lmxpc3REYXRhW2ldLm5pY2tOYW1lLCB0b3RhbDp0YXJnZXQubGlzdERhdGFbaV0uYWNjdXJhY3ksdGltZTp0YXJnZXQubGlzdERhdGFbaV0udG90bGVUaW1lcywgcGljOnRhcmdldC5saXN0RGF0YVtpXS5waWN9KTtcclxuICAgICAgICAgICAgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnVzZXJJZCA9PSB0YXJnZXQubGlzdERhdGFbaV0udXNlcklkKXtcclxuICAgICAgICAgICAgICAgIHNlbGYgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnJhbmtOdW1iZXIgPSBpO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9KGkrMSkgKyBcIlwiOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihpID09ICh0YXJnZXQubGlzdERhdGEubGVuZ3RoLTEpICYmIHNlbGYgPT0gZmFsc2Upe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnJhbmtOdW1iZXIgPSBpO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IFwiOTkrXCI7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICBjYy5meC5HYW1lVG9vbC5zdWJOYW1lKHRhcmdldC5zZWxmRGF0YS5uaWNrTmFtZSxuYW1lTGVuZ3RoKTtcclxuICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJuYW1lTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGFyZ2V0LnNlbGZEYXRhLm5pY2tOYW1lO1xyXG4gICAgICAgIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInRvdGFsTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGFyZ2V0LnNlbGZEYXRhLmFjY3VyYWN5ICsgXCIlXCI7XHJcbiAgICAgICAgbGV0IHRpbWVUZW1wID0gY2MuZnguR2FtZVRvb2wuZ2V0VGltZVNoZW5Ob25nKHRhcmdldC5zZWxmRGF0YS50b3RsZVRpbWVzKTtcclxuICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aW1lTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGltZVRlbXAgKyBcIlwiO1xyXG4gICAgICAgIHN3aXRjaCh0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nKXtcclxuICAgICAgICAgICAgY2FzZSBcIjFcIjpcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJvbmVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwiMlwiOlxyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInR3b1wiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgXCIzXCI6XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidGhyZWVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyDlpKfmjpLooYxcclxuICAgICAgICBpZihuYW1lTGVuZ3RoID09IDYpe1xyXG4gICAgICAgICAgICB0YXJnZXQucmFua0xpc3Quc2V0RGF0YShyYW5rRGF0YSk7XHJcbiAgICAgICAgICAgIHRhcmdldC5zZWxmTm9kZS5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICBpZih0YXJnZXQuc2VsZkRhdGEudG90YWxTdW5Db3VudCA9PSAwKSB0YXJnZXQuc2VsZk5vZGUub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBnZXRTZWVkUmFuZG9tOiBmdW5jdGlvbiAobWluLCBtYXgpIHsvL+WMheWQq21pbiDkuI3ljIXlkKttYXhcclxuICAgICAgICBjb25zb2xlLmxvZyhcIumaj+acuuaVsDpcIixjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uY3VyclNlZWQpO1xyXG4gICAgICAgIG1heCA9IG1heCB8fCAxO1xyXG4gICAgICAgIG1pbiA9IG1pbiB8fCAwO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5jdXJyU2VlZCA9IChjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uY3VyclNlZWQgKiA5MzAxICsgNDkyOTcpICUgMjMzMjgwO1xyXG4gICAgICAgIGxldCBybmQgPSBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uY3VyclNlZWQgIC8gMjMzMjgwLjA7XHJcbiAgICAgICAgbGV0IHRtcCA9IG1pbiArIHJuZCAqIChtYXggLSBtaW4pO1xyXG4gICAgICAgIHJldHVybiBwYXJzZUludCh0bXApO1xyXG4gICAgfSxcclxuICAgIC8v6I635Y+W5YWz5Y2h6YWN572u55qE6YKj5Liq5YWz5Y2h5pWwXHJcbiAgICBnZXRDdXN0b20odHlwZSl7XHJcbiAgICAgICAgbGV0IGN1c3RvbSA9IGNjLmZ4LlN0b3JhZ2VNZXNzYWdlLmdldFN0b3JhZ2UoY2MuZnguc3RvcmFnZVR5cGUuc3RvcmFnZVR5cGVDdXN0b20pO1xyXG4gICAgICAgIGlmKGN1c3RvbSA9PSBcInVuZGlmZW5kXCIgfHwgY3VzdG9tPT1udWxsIHx8IGN1c3RvbSA9PSBcIlwiKXtcclxuICAgICAgICAgICAgdGhpcy5zZXRDdXN0b20oKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPX1NFVChcImN1c3RvbVwiLGN1c3RvbVswXSk7XHJcbiAgICAgICAgICAgIGlmKGN1c3RvbVswXSAhPSAwIHx8IHR5cGUgPT0gIHRydWUpe1xyXG4gICAgICAgICAgICAgICAgY3VzdG9tLnNoaWZ0KCk7XHJcbiAgICAgICAgICAgICAgICBpZihjdXN0b20ubGVuZ3RoID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0Q3VzdG9tKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGNjLmZ4LlN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UoY2MuZnguc3RvcmFnZVR5cGUuc3RvcmFnZVR5cGVDdXN0b20sY3VzdG9tKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICAvL+acrOWcsOayoeacieWtmOWCqOWIsOmFjee9ru+8jOaIluiAhemFjee9rueUqOWujO+8jOmHjeaWsOWIm+W7uumFjee9rlxyXG4gICAgc2V0Q3VzdG9tKCl7XHJcbiAgICAgICAgbGV0IGFycmF5TGVuZ3RoID0gY2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPLmxlbmd0aDtcclxuICAgICAgICBsZXQgYXJyYXlMaXN0ID0gW107XHJcbiAgICAgICAgZm9yKGxldCBpPTE7IGk8YXJyYXlMZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgYXJyYXlMaXN0LnB1c2goaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGFycmF5TGlzdC5zb3J0KCgpID0+IE1hdGgucmFuZG9tKCkgLSAwLjUpO1xyXG4gICAgICAgIGFycmF5TGlzdC51bnNoaWZ0KDApXHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPX1NFVChcImN1c3RvbVwiLGFycmF5TGlzdFswXSk7XHJcbiAgICAgICAgY2MuZnguU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShjYy5meC5zdG9yYWdlVHlwZS5zdG9yYWdlVHlwZUN1c3RvbSxhcnJheUxpc3QpO1xyXG4gICAgfSxcclxuXHJcbiAgICBnZXRGb29kTmFtZShmb29kKXtcclxuICAgICAgICB2YXIgbmFtZSA9IFwi6JGh6JCEXCI7XHJcbiAgICAgICAgc3dpdGNoKGZvb2Qpe1xyXG4gICAgICAgICAgICBjYXNlIFwiYmFpc2hhb1wiOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwi55m96IqNXCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcImppbmdqaWVcIjpcclxuICAgICAgICAgICAgICAgIG5hbWUgPSBcIuiNhuiKpVwiO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgXCJyZW5zaGVuXCI6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCLkurrlj4JcIjtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwiZGFuc2hlblwiOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwi5Li55Y+CXCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcImRhbmdndWlcIjpcclxuICAgICAgICAgICAgICAgIG5hbWUgPSBcIuW9k+W9klwiO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgXCJnb3VxaVwiOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwi5p645p2eXCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcIm11ZGFuXCI6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCLniaHkuLlcIjtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwibXVsYW5cIjpcclxuICAgICAgICAgICAgICAgIG5hbWUgPSBcIuacqOWFsFwiO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgXCJwdWdvbmd5aW5nXCI6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCLokrLlhazoi7FcIjtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwibW9saVwiOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwi6IyJ6I6JXCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcImppbmp1XCI6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCLph5HmoZRcIjtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwiZGF6YW9cIjpcclxuICAgICAgICAgICAgICAgIG5hbWUgPSBcIuWkp+aeo1wiO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgXCJsaXppXCI6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCLmnY7lrZBcIjtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwibGl6aGlcIjpcclxuICAgICAgICAgICAgICAgIG5hbWUgPSBcIuiNlOaenVwiO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgXCJ0YW96aVwiOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwi5qGD5a2QXCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJwdXRhb1wiOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwi6JGh6JCEXCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcIm11Y2hhaVwiOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwi5pyo5p+0XCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcImdhbmppYW5nXCI6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCLlubLlp5xcIjtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwiemh1eWVcIjpcclxuICAgICAgICAgICAgICAgIG5hbWUgPSBcIuerueWPtlwiO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgXCJsb25neWFuXCI6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCLpvpnnnLxcIjtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwiY2hpeGlhb2RvdVwiOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwi6LWk5bCP6LGGXCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcImdhbmNhb1wiOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwi55SY6I2JXCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcImNoYVwiOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwi6Iy2XCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5hbWU7XHJcbiAgICB9LFxyXG5cclxuICAgIGdldFNldFNjcmVlblJlc29sdXRpb25GbGFnOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgbGV0IHNpemUgPSBjYy53aW5TaXplO1xyXG4gICAgICAgIGxldCB3aWR0aCA9IHNpemUud2lkdGg7XHJcbiAgICAgICAgbGV0IGhlaWdodCA9IHNpemUuaGVpZ2h0O1xyXG4gICAgICAgIGlmICgoaGVpZ2h0IC8gd2lkdGgpID4gKDE2LjIgLyA5KSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSxcclxuICAgIC8v5Yik5pat5YWo6Z2i5bGP6YCC6YWNXHJcbiAgICBzZXRGaXQ6IGZ1bmN0aW9uIChjYW52YXMpIHtcclxuICAgICAgICBsZXQgZmxhZyA9ICBjYy5meC5HYW1lVG9vbC5nZXRTZXRTY3JlZW5SZXNvbHV0aW9uRmxhZygpO1xyXG4gICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgXHQvLyBjb25zb2xlLmxvZyhcIuS4jeaYr+WFqOmdouWxj1wiKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgIFx0Ly8gY29uc29sZS5sb2coXCLmmK/lhajpnaLlsY9cIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmbGFnO1xyXG4gICAgfSxcclxuICAgIC8v6I635Y+W5ri45oiP5L+h5oGvXHJcbiAgICBnZXRHYW1lSW5mbzogZnVuY3Rpb24obm9kZSl7XHJcbiAgICAgICAgdmFyIGpnID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIGpnO1xyXG4gICAgfSxcclxuICAgIC8v6K6+572u5ri45oiP5L+h5oGvXHJcbiAgICBzZXRHYW1lSW5mbzogZnVuY3Rpb24ocGQpe1xyXG4gICBcclxuICAgIH0sXHJcblxyXG4gICAgLy/miZPlrZfmnLrmlYjmnpxcclxuICAgIHR5cGluZ0FuaShsYWJlbCx0ZXh0LGNiLHRhcmdldCl7XHJcbiAgICAgICAgdmFyIHNlbGYgPSB0YXJnZXQ7XHJcbiAgICAgICAgdmFyIGh0bWwgPSAnJztcclxuICAgICAgICB2YXIgYXJyID0gdGV4dC5zcGxpdCgnJyk7XHJcbiAgICAgICAgdmFyIGxlbiA9IGFyci5sZW5ndGg7XHJcbiAgICAgICAgdmFyIHN0ZXAgPSAwO1xyXG4gICAgICAgIHNlbGYuZnVuYyA9ICgpPT57XHJcbiAgICAgICAgICAgIGh0bWwgKz0gYXJyW3N0ZXBdO1xyXG4gICAgICAgICAgICBsYWJlbC5zdHJpbmcgPSBodG1sO1xyXG4gICAgICAgICAgICBpZiAoKytzdGVwID09IGxlbikge1xyXG4gICAgICAgICAgICAgICAgc2VsZi51bnNjaGVkdWxlKHNlbGYuZnVuYyk7XHJcbiAgICAgICAgICAgICAgICBjYiAmJiBjYigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNlbGYuc2NoZWR1bGUoc2VsZi5mdW5jLDAuMSwgY2MubWFjcm8uUkVQRUFUX0ZPUkVWRVIsIDApXHJcbiAgICB9LFxyXG5cclxuICAgIC8v6L6T5YWl56eSLOi/lOWbnumcgOimgeWxleekuuaXtumXtOagvOW8j1xyXG4gICAgZ2V0VGltZU1hcmdpbjooc2Vjb25kKSA9PiB7XHJcbiAgICAgICAgbGV0IHRvdGFsID0gMDtcclxuICAgICAgICB0b3RhbCA9IHNlY29uZDtcclxuICAgICAgICBsZXQgaG91ciA9IDA7XHJcbiAgICAgICAgaG91ciA9IHBhcnNlSW50KCh0b3RhbCAvIDM2MDApICsgXCJcIik7Ly/orqHnrpfmlbTmlbDlsI/ml7bmlbBcclxuICAgICAgICBsZXQgYWZ0ZXJIb3VyID0gdG90YWwgLSBob3VyICogNjAgKiA2MDsvL+WPluW+l+eul+WHuuWwj+aXtuaVsOWQjuWJqeS9meeahOenkuaVsFxyXG4gICAgICAgIGxldCBtaW4gPSBwYXJzZUludCgoYWZ0ZXJIb3VyIC8gNjApK1wiXCIpOy8v6K6h566X5pW05pWw5YiGXHJcbiAgICAgICAgbGV0IG0gPSBcIlwiICsgbWluOyAgXHJcbiAgICAgICAgaWYobWluIDwgMTApIG0gPSBcIjBcIittaW47XHJcbiAgICAgICAgbGV0IGFmdGVyTWluID0gdG90YWwgLSBob3VyICogNjAgKiA2MCAtIG1pbiAqIDYwOy8v5Y+W5b6X566X5Ye65YiG5ZCO5Ymp5L2Z55qE56eS5pWwXHJcbiAgICAgICAgbGV0IG1pYW8gPSBhZnRlck1pbiArIFwiXCI7XHJcbiAgICAgICAgaWYoYWZ0ZXJNaW4gPCAxMCkgbWlhbyA9IFwiMFwiICsgYWZ0ZXJNaW47XHJcbiAgICAgICAgcmV0dXJuIG0gKyAnOicgKyBtaWFvXHJcbiAgICB9LFxyXG5cclxuICAgIC8v6L6T5YWl56eSLOi/lOWbnumcgOimgeWxleekuuaXtumXtOagvOW8j1xyXG4gICAgZ2V0VGltZVNoZW5Ob25nOihzZWNvbmQpID0+IHtcclxuICAgICAgICBzZWNvbmQgPSBwYXJzZUludChzZWNvbmQvMTAwMCtcIlwiKTtcclxuICAgICAgICBsZXQgdG90YWwgPSAwO1xyXG4gICAgICAgIHRvdGFsID0gc2Vjb25kO1xyXG4gICAgICAgIGxldCBtaW4gPSAwO1xyXG4gICAgICAgIGlmKHRvdGFsID4gNjApe1xyXG4gICAgICAgICAgICBtaW4gPSBwYXJzZUludCgodG90YWwgLyA2MCkrXCJcIik7Ly/orqHnrpfmlbTmlbDliIZcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IG0gPSAgbWluICsgXCInXCI7ICBcclxuXHJcbiAgICAgICAgbGV0IGFmdGVyTWluID0gdG90YWwgLSBtaW4gKiA2MDsvL+WPluW+l+eul+WHuuWIhuWQjuWJqeS9meeahOenkuaVsFxyXG4gICAgICAgIGxldCBtaWFvID0gYWZ0ZXJNaW4gKyBcIicnXCI7XHJcbiAgICAgICAgcmV0dXJuIG0gKyBtaWFvXHJcbiAgICB9LFxyXG5cclxuICAgIC8v6I635Y+W5pe26Ze05oizXHJcbiAgICBnZXRUaW1lKCl7XHJcbiAgICAgICAgY29uc3QgdGltZXN0YW1wID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgcmV0dXJuIHRpbWVzdGFtcDtcclxuICAgIH0sXHJcbiAgICBwdXNoTGlzdGVyOmZ1bmN0aW9uICgpIHtcclxuICAgICAgICBcclxuICAgIH0sXHJcbiAgICByZW1vdmVBbGxMaXN0ZXI6ZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIFxyXG4gICAgfSxcclxuXHJcbn07XHJcbmV4cG9ydCB7IEdhbWVUb29sIH07Il19 +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFJhbmtMaXN0XFxJdGVtUmVuZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdNLElBQUEsS0FBd0IsRUFBRSxDQUFDLFVBQVUsRUFBbkMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFrQixDQUFDO0FBRzVDO0lBQXdDLDhCQUFZO0lBQXBEO1FBQUEscUVBcUVDO1FBcEVHLFFBQVE7UUFDRCxVQUFJLEdBQU8sSUFBSSxDQUFDO1FBQ3ZCLGNBQWM7UUFDUCxlQUFTLEdBQVUsQ0FBQyxDQUFDOztJQWlFaEMsQ0FBQztJQS9ERyxhQUFhO0lBQ04sZ0NBQVcsR0FBbEI7UUFDSSxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3hGLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN4RixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDM0YsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMs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Y0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7YUFDeEU7UUFDTCxDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsVUFBQSxLQUFLO1lBQ1IsT0FBTyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxFQUFDLEdBQUcsRUFBQyxNQUFNLEVBQUMsRUFBQyxVQUFDLEdBQUcsRUFBRSxPQUFvQjtZQUNuRSxJQUFHLE9BQU8sRUFBQztnQkFDUCxLQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFFLElBQUksQ0FBQztnQkFDbkUsSUFBSSxNQUFNLEdBQUcsS0FBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzNGLE1BQU0sQ0FBQyxXQUFXLEdBQUcsSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNqRCw0Q0FBNEM7YUFDL0M7aUJBQ0c7Z0JBQ0EsNkJBQTZCO2dCQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBQyxPQUFPLENBQUMsQ0FBQTthQUMzQjtRQUNMLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQWxFZ0IsVUFBVTtRQUQ5QixPQUFPO09BQ2EsVUFBVSxDQXFFOUI7SUFBRCxpQkFBQztDQXJFRCxBQXFFQyxDQXJFdUMsRUFBRSxDQUFDLFNBQVMsR0FxRW5EO2tCQXJFb0IsVUFBVSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgTGlzdCwgeyBMaXN0VHlwZSB9IGZyb20gXCIuL0xpc3RcIjtcclxuXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJdGVtUmVuZGVyIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIC8qKuaVsOaNriAqL1xyXG4gICAgcHVibGljIGRhdGE6YW55ID0gbnVsbDtcclxuICAgIC8qKue0ouW8lSAw6KGo56S656ys5LiA6aG5Ki9cclxuICAgIHB1YmxpYyBpdGVtSW5kZXg6bnVtYmVyID0gMDtcclxuXHJcbiAgICAvKirmlbDmja7mlLnlj5jml7bosIPnlKggKi9cclxuICAgIHB1YmxpYyBkYXRhQ2hhbmdlZCgpe1xyXG4gICAgICAgIGNjLmZ4LkdhbWVUb29sLnN1Yk5hbWUodGhpcy5kYXRhLm5hbWUsNik7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IHRoaXMuZGF0YS5yYW5rICsgXCJcIjtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJuYW1lTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGhpcy5kYXRhLm5hbWUgKyBcIlwiO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRvdGFsTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGhpcy5kYXRhLnRvdGFsICsgXCIlXCI7XHJcbiAgICAgICAgbGV0IHRpbWVUZW1wID0gY2MuZnguR2FtZVRvb2wuZ2V0VGltZVNoZW5Ob25nKHRoaXMuZGF0YS50aW1lKTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aW1lTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGltZVRlbXAgKyBcIlwiO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJvbmVcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInR3b1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidGhyZWVcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgaWYodGhpcy5kYXRhLnJhbmsgPT0gMSl7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJvbmVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLmRhdGEucmFuayA9PSAyKXtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInR3b1wiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHRoaXMuZGF0YS5yYW5rID09IDMpe1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidGhyZWVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNldFBpYygpO1xyXG4gICAgfSAgIFxyXG4gICAgXHJcbiAgICBwdWJsaWMgc2V0UGljKCl7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuYWN0aXZlPSBmYWxzZTtcclxuICAgICAgICB2YXIgc2VsZiA9IHRoaXM7XHJcbiAgICAgICAgbGV0IHVybCA9IHRoaXMuZGF0YS5waWM7XHJcbiAgICAgICAgZmV0Y2godXJsKVxyXG4gICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdDb250ZW50LUxlbmd0aCcpO1xyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgIC50aGVuKGVyck5vID0+IHtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5kYXRhLnJhbmssJ1gtSW5mbzonLCBlcnJObyk7IC8vIOi+k+WHulgtRXJyTm/nmoTlgLxcclxuICAgICAgICAgICAgaWYoZXJyTm8gPT0gXCI1MDkzXCIpe1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5kYXRhLnJhbmssXCLmsqHlpLTlg49cIik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jYXRjaChlcnJvciA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIFgtSW5mbzonLCBlcnJvcik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY2MuYXNzZXRNYW5hZ2VyLmxvYWRSZW1vdGUodXJsLCB7ZXh0OicucG5nJ30sKGVyciwgdGV4dHVyZTpjYy5UZXh0dXJlMkQpID0+IHtcclxuICAgICAgICAgICAgaWYodGV4dHVyZSl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuYWN0aXZlPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdmFyIHNwcml0ZSA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKTtcclxuICAgICAgICAgICAgICAgIHNwcml0ZS5zcHJpdGVGcmFtZSA9IG5ldyBjYy5TcHJpdGVGcmFtZSh0ZXh0dXJlKTtcclxuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuZGF0YS5yYW5rLFwi6K6+572u5aS05YOP5oiQ5YqfXCIsZXJyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLorr7nva7lpLTlg4/lpLHotKVcIix1cmwpO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyLHRleHR1cmUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuXHJcbn1cclxuIl19 //------QC-SOURCE-SPLIT------ (function() { @@ -5208,7 +4911,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/Script/module/Notification/Notification.js'; var __require = nodeEnv ? function (request) { return cc.require(request); } : function (request) { @@ -5216,37 +4919,55 @@ 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, '55403VjGlpPL564gsdiZBg3', 'Notification'); +// Script/module/Notification/Notification.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); +exports.Notifications = void 0; +//全局通知 +var Notifications = { + _eventMap: [], + on: function (masgId, callback, target) { + if (this._eventMap[masgId] === undefined) { + this._eventMap[masgId] = []; } - if (result) { - result = JSON.parse(result); - } - return result; + this._eventMap[masgId].push({ callback: callback, target: target }); }, - 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); + emit: function (masgId, parameter) { + var array = this._eventMap[masgId]; + if (array === undefined) + return; + for (var i = 0; i < array.length; i++) { + var element = array[i]; + if (element) + element.callback.call(element.target, parameter); } }, + off: function (masgId, callback) { + var array = this._eventMap[masgId]; + if (array === undefined) + return; + for (var i = 0; i < array.length; i++) { + var element = array[i]; + if (element && element.callback === callback) { + array[i] = undefined; + break; + } + } + }, + offMasgId: function (masgId) { + this._eventMap[masgId] = undefined; + }, + removeAllMsg: function () { + for (var k in this._eventMap) { + if (this._eventMap[k]) { + this.offMasgId(k); + } + } + } }; -exports.StorageMessage = StorageMessage; +exports.Notifications = Notifications; cc._RF.pop(); } @@ -5259,7 +4980,431 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFN0b3JhZ2VcXFN0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsU0FBUztBQUNULElBQUksY0FBYyxHQUFHO0lBQ2pCLFVBQVUsRUFBRyxVQUFTLEdBQUc7UUFDckIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFDO1lBQ2xDLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUMvQztRQUVELElBQUcsTUFBTSxFQUFDO1lBQ1IsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDN0I7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBQ0QsVUFBVSxFQUFHLFVBQVMsR0FBRyxFQUFDLEtBQUs7UUFDM0IsVUFBVTtRQUNWLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUMxQyxDQUFDO0lBQ0QsYUFBYSxFQUFHLFVBQVMsR0FBRztRQUMxQixVQUFVO1FBQ1YsSUFBRyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUM7WUFDbEMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1NBQ3BDO0lBQ0gsQ0FBQztDQUNKLENBQUM7QUFFTyx3Q0FBYyIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8v57yT5a2Y5rWP6KeI5Zmo5pWw5o2uXG52YXIgU3RvcmFnZU1lc3NhZ2UgPSB7XG4gICAgZ2V0U3RvcmFnZSA6IGZ1bmN0aW9uKGtleSl7XG4gICAgICAgIHZhciByZXN1bHQgPSBudWxsO1xuICAgICAgICBpZihjYy5zeXMubG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KSl7XG4gICAgICAgICAgdmFyIHJlc3VsdCA9IGNjLnN5cy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBpZihyZXN1bHQpe1xuICAgICAgICAgIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzdWx0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0sXG4gICAgc2V0U3RvcmFnZSA6IGZ1bmN0aW9uKGtleSx2YWx1ZSl7XG4gICAgICAgIC8v5Li75Yqo5ouJ6LW35YiG5Lqr5o6l5Y+jXG4gICAgICAgIHZhciB0ZW1wID0gSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xuICAgICAgICBjYy5zeXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCB0ZW1wKVxuICAgIH0sXG4gICAgcmVtb3ZlU3RvcmFnZSA6IGZ1bmN0aW9uKGtleSl7XG4gICAgICAvL+S4u+WKqOWIoOmZpOa2iOaBr+aOpeWPo1xuICAgICAgaWYoY2Muc3lzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSkpe1xuICAgICAgICBjYy5zeXMubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KVxuICAgICAgfVxuICAgIH0sXG59O1xuXG5leHBvcnQgeyBTdG9yYWdlTWVzc2FnZSB9OyJdfQ== +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXE5vdGlmaWNhdGlvblxcTm90aWZpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE1BQU07QUFDTixJQUFJLGFBQWEsR0FBRztJQUNoQixTQUFTLEVBQUUsRUFBRTtJQUNiLEVBQUUsRUFBRSxVQUFVLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTTtRQUNsQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssU0FBUyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQy9CO1FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxJQUFJLEVBQUUsVUFBVSxNQUFNLEVBQUUsU0FBUztRQUM3QixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLElBQUksS0FBSyxLQUFLLFNBQVM7WUFBRSxPQUFPO1FBRWhDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25DLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixJQUFJLE9BQU87Z0JBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztTQUNqRTtJQUNMLENBQUM7SUFFRCxHQUFHLEVBQUUsVUFBVSxNQUFNLEVBQUUsUUFBUTtRQUMzQixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLElBQUksS0FBSyxLQUFLLFNBQVM7WUFBRSxPQUFPO1FBQ2hDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25DLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRTtnQkFDMUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQztnQkFDckIsTUFBTTthQUNUO1NBQ0o7SUFDTCxDQUFDO0lBRUQsU0FBUyxFQUFFLFVBQVUsTUFBTTtRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsWUFBWSxFQUFFO1FBQ1YsS0FBSyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQzFCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNyQjtTQUNKO0lBQ0wsQ0FBQztDQUNKLENBQUM7QUFDTyxzQ0FBYSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8v5YWo5bGA6YCa55+lXG52YXIgTm90aWZpY2F0aW9ucyA9IHtcbiAgICBfZXZlbnRNYXA6IFtdLFxuICAgIG9uOiBmdW5jdGlvbiAobWFzZ0lkLCBjYWxsYmFjaywgdGFyZ2V0KSB7XG4gICAgICAgIGlmICh0aGlzLl9ldmVudE1hcFttYXNnSWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2V2ZW50TWFwW21hc2dJZF0gPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9ldmVudE1hcFttYXNnSWRdLnB1c2goeyBjYWxsYmFjazogY2FsbGJhY2ssIHRhcmdldDogdGFyZ2V0IH0pO1xuICAgIH0sXG5cbiAgICBlbWl0OiBmdW5jdGlvbiAobWFzZ0lkLCBwYXJhbWV0ZXIpIHtcbiAgICAgICAgbGV0IGFycmF5ID0gdGhpcy5fZXZlbnRNYXBbbWFzZ0lkXTtcbiAgICAgICAgaWYgKGFycmF5ID09PSB1bmRlZmluZWQpIHJldHVybjtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgZWxlbWVudCA9IGFycmF5W2ldO1xuICAgICAgICAgICAgaWYgKGVsZW1lbnQpIGVsZW1lbnQuY2FsbGJhY2suY2FsbChlbGVtZW50LnRhcmdldCwgcGFyYW1ldGVyKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBvZmY6IGZ1bmN0aW9uIChtYXNnSWQsIGNhbGxiYWNrKSB7XG4gICAgICAgIGxldCBhcnJheSA9IHRoaXMuX2V2ZW50TWFwW21hc2dJZF07XG4gICAgICAgIGlmIChhcnJheSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGxldCBlbGVtZW50ID0gYXJyYXlbaV07XG4gICAgICAgICAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50LmNhbGxiYWNrID09PSBjYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIGFycmF5W2ldID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcblxuICAgIG9mZk1hc2dJZDogZnVuY3Rpb24gKG1hc2dJZCkge1xuICAgICAgICB0aGlzLl9ldmVudE1hcFttYXNnSWRdID0gdW5kZWZpbmVkO1xuICAgIH0sXG5cbiAgICByZW1vdmVBbGxNc2c6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZm9yIChsZXQgayBpbiB0aGlzLl9ldmVudE1hcCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2V2ZW50TWFwW2tdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vZmZNYXNnSWQoayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuZXhwb3J0IHsgTm90aWZpY2F0aW9ucyB9OyJdfQ== +//------QC-SOURCE-SPLIT------ + + (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 __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, '43bfcJ6/25Fs4fHUE0PeBOX', 'GameTool'); +// Script/module/Tool/GameTool.ts + +"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; + } + else { + cc.fx.StorageMessage.setStorage(name, data); + cc.fx.GameConfig.GM_INFO.userId = parseInt(data.userId); + } + }, + //埋点上传 + 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("上传数据:"); + 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, + "totleTimes": data.totleTimes, + "accuracy": data.accuracy, + "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: '.jpg' }, 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].accuracy, time: target.listData[i].totleTimes, 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.accuracy + "%"; + 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); + }, + getFoodName: function (food) { + var name = "葡萄"; + switch (food) { + case "baishao": + name = "白芍"; + break; + case "jingjie": + name = "荆芥"; + break; + case "renshen": + name = "人参"; + break; + case "danshen": + name = "丹参"; + break; + case "danggui": + name = "当归"; + break; + case "gouqi": + name = "枸杞"; + break; + case "mudan": + name = "牡丹"; + break; + case "mulan": + name = "木兰"; + break; + case "pugongying": + name = "蒲公英"; + break; + case "moli": + name = "茉莉"; + break; + case "jinju": + name = "金桔"; + break; + case "dazao": + name = "大枣"; + break; + case "lizi": + name = "李子"; + break; + case "lizhi": + name = "荔枝"; + break; + case "taozi": + name = "桃子"; + break; + case "putao": + name = "葡萄"; + break; + case "muchai": + name = "木柴"; + break; + case "ganjiang": + name = "干姜"; + break; + case "zhuye": + name = "竹叶"; + break; + case "longyan": + name = "龙眼"; + break; + case "chixiaodou": + name = "赤小豆"; + break; + case "gancao": + name = "甘草"; + break; + case "cha": + name = "茶"; + break; + } + return name; + }, + 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; + +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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFRvb2xcXEdhbWVUb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLCtCQUErQjtBQUMvQixJQUFJLFFBQVEsR0FBRztJQUNYLFVBQVUsRUFBRSxDQUFDO0lBQ2IsUUFBUSxFQUFFLENBQUM7SUFDWCxVQUFVLEVBQUUsQ0FBQztJQUNiLFVBQVU7SUFDVixjQUFjO1FBQ1YsSUFBSSxJQUFJLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDckQsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbEQsSUFBRyxJQUFJLElBQUksVUFBVSxJQUFJLElBQUksSUFBRSxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsRUFBQztZQUM5QyxJQUFJLEdBQUcsR0FBRyw4RUFBOEUsR0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ3ZHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztTQUM5QjthQUNHO1lBQ0EsRUFBRSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQztZQUMzQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDM0Q7SUFDTCxDQUFDO0lBRUQsTUFBTTtJQUNOLFdBQVc7UUFDUCxvQkFBb0I7UUFDcEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNoQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFF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LFFBQVEsR0FBRyxFQUFFO1lBQUUsSUFBSSxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUM7UUFDeEMsT0FBTyxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQTtJQUN6QixDQUFDO0lBRUQsZ0JBQWdCO0lBQ2hCLGVBQWUsRUFBQyxVQUFDLE1BQU07UUFDbkIsTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUMsSUFBSSxHQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDZixJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDWixJQUFHLEtBQUssR0FBRyxFQUFFLEVBQUM7WUFDVixHQUFHLEdBQUcsUUFBUSxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUEsT0FBTztTQUMxQztRQUNELElBQUksQ0FBQyxHQUFJLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFFbkIsSUFBSSxRQUFRLEdBQUcsS0FBSyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQSxhQUFhO1FBQzdDLElBQUksSUFBSSxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDM0IsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFBO0lBQ25CLENBQUM7SUFFRCxPQUFPO0lBQ1AsT0FBTztRQUNILElBQU0sU0FBUyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdkMsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUNELFVBQVUsRUFBQztJQUVYLENBQUM7SUFDRCxlQUFlLEVBQUM7SUFFaEIsQ0FBQztDQUVKLENBQUM7QUFDTyw0QkFBUSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4vL+acgOWkp+W3peWFt+exuyAg5ZCE56eN5YWs5YWx5pa55rOV77yM5Lul5Y+K5aSE55CG5LiK5Lyg77yM6I635Y+W5ZCO56uv5o6l5Y+j5pWw5o2uXHJcbnZhciBHYW1lVG9vbCA9IHtcclxuICAgIF9zdGFydFRpbWU6IDAsXHJcbiAgICBfZW5kVGltZTogMCxcclxuICAgIF90b3RhbFRpbWU6IDAsXHJcbiAgICAvL+iOt+WPlnVzZXJJZFxyXG4gICAgQXV0aGVudGljYXRpb24oKXtcclxuICAgICAgICBsZXQgbmFtZSA9IFwidXNlcl9cIiArIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5nYW1lSWQ7XHJcbiAgICAgICAgdmFyIGRhdGEgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKG5hbWUpKTtcclxuICAgICAgICBpZihkYXRhID09IFwidW5kaWZlbmRcIiB8fCBkYXRhPT1udWxsIHx8IGRhdGEgPT0gXCJcIil7XHJcbiAgICAgICAgICAgIGxldCB1cmwgPSBcImh0dHBzOi8vYXBpLnNwYXJrdXMuY24vYXBpL3VzZXIvYXV0aC9sb2dpbj9kb21haW49aHVpMzI1NzlXZFlQc2dZcSZjYWxsYmFjaz1cIitsb2NhdGlvbi5ocmVmO1xyXG4gICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHVybDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgY2MuZnguU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShuYW1lLGRhdGEpO1xyXG4gICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udXNlcklkID0gcGFyc2VJbnQoZGF0YS51c2VySWQpO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgLy/ln4vngrnkuIrkvKBcclxuICAgIHNldEdhbWVEYXRhKCl7XHJcbiAgICAgICAgLy9HQU1FX0RBVEEg5Yid5aeL5YyWIOavj+asoea4hembtlxyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR0FNRV9EQVRBID0gW107XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HQU1FX0RBVEEucHVzaChjYy5meC5HYW1lQ29uZmlnLkNMSUNLX0RBVEEpO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfaW5pdCgpO1xyXG4gICAgICAgIGxldCBkYXRhID0gY2MuZnguR2FtZUNvbmZpZy5HQU1FX0RBVEE7XHJcbiAgICAgICAgbGV0IG1hdGNoSWQgPSB0aGlzLmdldE1hdGNoSWQoKTtcclxuICAgICAgICBsZXQgcG9zdERhdGEgPSB7XHJcbiAgICAgICAgICAgIFwiZ2FtZUlkXCI6Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhbWVJZCxcclxuICAgICAgICAgICAgXCJ1c2VySWRcIjpjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udXNlcklkLFxyXG4gICAgICAgICAgICBcIm1hdGNoSWRcIjptYXRjaElkLFxyXG4gICAgICAgICAgICBcImRhdGFcIjogZGF0YVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGNvbnNvbGUubG9nKFwi5LiK5Lyg5pWw5o2uOlwiKTtcclxuICAgICAgICBjYy5meC5IdHRwVXRpbC51cGxvYWRVc2VyTG9nRGF0YShwb3N0RGF0YSxmdW5jdGlvbigpe30pXHJcbiAgICB9LFxyXG4gICAgLy/kuIrkvKDmjpLooYzmppwgIHR5cGXkuLoxXHJcbiAgICBzZXRSYW5rKGRhdGEpe1xyXG4gICAgICAgIC8vR0FNRV9EQVRBIOWIneWni+WMliDmr4/mrKHmuIXpm7ZcclxuICAgICAgICBsZXQgcG9zdERhdGEgPSB7XHJcbiAgICAgICAgICAgIFwiZ2FtZUlkXCI6Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhbWVJZCxcclxuICAgICAgICAgICAgXCJ1c2VySWRcIjpjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udXNlcklkLFxyXG4gICAgICAgICAgICBcInR5cGVcIjoxLFxyXG4gICAgICAgICAgICBcInRvdGxlVGltZXNcIjogZGF0YS50b3RsZVRpbWVzLFxyXG4gICAgICAgICAgICBcImFjY3VyYWN5XCI6IGRhdGEuYWNjdXJhY3ksXHJcbiAgICAgICAgICAgIFwic3VjY2Vzc1wiOiBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uc3VjY2Vzc1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgY2MuZnguSHR0cFV0aWwucmFua0RhdGEoMSxmdW5jdGlvbigpe30scG9zdERhdGEpO1xyXG4gICAgfSxcclxuICAgIC8v6I635Y+W5o6S6KGM5qacIHR5cGXkuLoyXHJcbiAgICBnZXRSYW5rKGRhdGEsY2FsbGJhY2spe1xyXG4gICAgICAgIGxldCByYW5rTGVuZ3RoID0gZGF0YS5sZW5ndGg7XHJcbiAgICAgICAgbGV0IHBvc3REYXRhID0ge1xyXG4gICAgICAgICAgICBcImdhbWVJZFwiOmNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5nYW1lSWQsXHJcbiAgICAgICAgICAgIFwidXNlcklkXCI6Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnVzZXJJZCxcclxuICAgICAgICAgICAgXCJwYWdlXCI6MSxcclxuICAgICAgICAgICAgXCJwYWdlU2l6ZVwiOnJhbmtMZW5ndGhcclxuICAgICAgICB9OyBcclxuICAgICAgICAvL+Wbnuiwg+i/m2dldFJhbmtEYXRhXHJcbiAgICAgICAgY2MuZnguSHR0cFV0aWwucmFua0RhdGEoMixkYXRhID0+e2NhbGxiYWNrKGRhdGEpfSxwb3N0RGF0YSk7XHJcbiAgICB9LFxyXG4gICAgLy/ojrflj5ZtYXRjaElkICDnlKjkuo7kuIrkvKDmr4/mrKHngrnlh7vmlbDmja7ph4zpnaLorrDlvZVpZOaWueS+v+afpeivolxyXG4gICAgZ2V0TWF0Y2hJZCAoKXtcclxuICAgICAgICBsZXQgbWF0Y2hJZCA9IGNjLnN5cy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIm1hdGNoSWRcIik7XHJcbiAgICAgICAgbGV0IHRlbXBJZCA9IG1hdGNoSWQ7XHJcbiAgICAgICAgaWYobWF0Y2hJZCA9PSBcInVuZGlmZW5kXCIgfHwgbWF0Y2hJZD09bnVsbCl7XHJcbiAgICAgICAgICAgIG1hdGNoSWQgPSAgdGhpcy5zZXRNYXRjaElkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuY29udGFpbnNOYW5hbmEobWF0Y2hJZCkgPT0gdHJ1ZSl7XHJcbiAgICAgICAgICAgICAgICBtYXRjaElkID0gIHRoaXMuc2V0TWF0Y2hJZCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICBsZXQgY2hhciA9IHBhcnNlSW50KHRlbXBJZC5zdWJzdHJpbmcoMTAsdGVtcElkLmxlbmd0aCkpO1xyXG4gICAgICAgICAgICAgICAgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsID09IDEpe1xyXG4gICAgICAgICAgICAgICAgICAgIGNoYXIgKz0gMTtcclxuICAgICAgICAgICAgICAgICAgICBtYXRjaElkICA9IHRlbXBJZC5zbGljZSgwLCAxMCkgKyBjaGFyICsgXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmNvbnRhaW5zTmFuYW5hKG1hdGNoSWQpKSBtYXRjaElkID0gdGhpcy5zZXRNYXRjaElkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1hdGNoSWQgPSBtYXRjaElkO1xyXG4gICAgICAgICAgICAgICAgICAgIGNjLnN5cy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIm1hdGNoSWRcIixtYXRjaElkKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYodGhpcy5jb250YWluc05hbmFuYShtYXRjaElkKSA9PSB0cnVlKXtcclxuICAgICAgICAgICAgbWF0Y2hJZCA9ICB0aGlzLnNldE1hdGNoSWQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG1hdGNoSWQ7XHJcbiAgICB9LFxyXG4gICAgLy/mo4DmtYttYXRjaElkIOWmguaenOaciee8k+WtmOS7peWJjeeahG5hbmFuYeaVsOaNrua4hemZpFxyXG4gICAgY29udGFpbnNOYW5hbmEoc3RyKSB7XHJcbiAgICAgICAgcmV0dXJuIC9uYS9pLnRlc3Qoc3RyKTtcclxuICAgIH0sXHJcbiAgICAvL+mHjeaWsOiuvue9rk1hdGNoSWRcclxuICAgIHNldE1hdGNoSWQgKCl7XHJcbiAgICAgICAgLy8g5a6a5LmJ5YyF5ZCr5Y+v55So5a2X56ym55qE5a2X56ym6ZuGXHJcbiAgICAgICAgY29uc3QgY2hhcmFjdGVycyA9ICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4OSc7XHJcbiAgICAgICAgLy8g5Yib5bu65LiA5Liq5pWw57uE5Lul5L+d5a2Y6ZqP5py65a2X56ymXHJcbiAgICAgICAgY29uc3QgdXVpZEFycmF5ID0gW107XHJcbiAgICAgICAgLy8g5b6q546vMTDmrKEg55Sf5oiQMTDkvY3nmoRVVUlEXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAvLyDnlJ/miJDpmo/mnLrntKLlvJXvvIzojIPlm7TmmK/lrZfnrKbpm4bnmoTplb/luqZcclxuICAgICAgICAgICAgY29uc3QgcmFuZG9tSW5kZXggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFyYWN0ZXJzLmxlbmd0aCk7XHJcbiAgICAgICAgICAgIC8vIOS7juWtl+espumbhuS4reiOt+WPlumaj+acuuWtl+esplxyXG4gICAgICAgICAgICBjb25zdCByYW5kb21DaGFyID0gY2hhcmFjdGVycy5jaGFyQXQocmFuZG9tSW5kZXgpO1xyXG4gICAgICAgICAgICAvLyDlsIblrZfnrKbmt7vliqDliLDmlbDnu4TkuK1cclxuICAgICAgICAgICAgdXVpZEFycmF5LnB1c2gocmFuZG9tQ2hhcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBkYXRhID0gIHV1aWRBcnJheS5qb2luKCcnKSArIDEgKyBcIlwiO1xyXG4gICAgICAgIGNjLnN5cy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIm1hdGNoTnVtYmVyXCIsMSk7XHJcbiAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKFwibWF0Y2hJZFwiLGRhdGEpO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5tYXRjaElkID0gZGF0YTtcclxuICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgIH0sXHJcbiAgICAvL+aIquWPluWQjeWtl1xyXG4gICAgc3ViTmFtZShuYW1lLGxlbmd0aCl7XHJcbiAgICAgICAgaWYobmFtZS5sZW5ndGggPiBsZW5ndGgpe1xyXG4gICAgICAgICAgICBuYW1lID0gbmFtZS5zdWJzdHJpbmcoMCxsZW5ndGgpICsgXCIuLi5cIlxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmFtZTtcclxuICAgIH0sXHJcbiAgICAvL+iuvue9ruWktOWDj1xyXG4gICAgc2V0UGljKG5vZGUscGljKXtcclxuICAgICAgICBub2RlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIGxldCB1cmwgPSBwaWM7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGZldGNoKHVybClcclxuICAgICAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdDb250ZW50LUxlbmd0aCcpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAudGhlbihlcnJObyA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZihlcnJObyA9PSBcIjUwOTNcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgbm9kZS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZmV0Y2hpbmcgWC1JbmZvOicsIGVycm9yKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgICAgICBjYy5hc3NldE1hbmFnZXIubG9hZFJlbW90ZSh1cmwsIHtleHQ6Jy5qcGcnfSwoZXJyLCB0ZXh0dXJlOmNjLlRleHR1cmUyRCkgPT4ge1xyXG4gICAgICAgICAgICBpZih0ZXh0dXJlKXtcclxuICAgICAgICAgICAgICAgIG5vZGUuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIG5vZGUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSBuZXcgY2MuU3ByaXRlRnJhbWUodGV4dHVyZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycix0ZXh0dXJlKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgIH0sXHJcbiAgICAvL+esrOS4gOS4quWPguaVsOaKiuebruagh+W4pui/m+adpeWkhOeQhu+8jOesrOS6jOS4quWPguaVsOS4uuWQjeWtl+mVv+W6pu+8jOS4jeWQjOWcuuaZr+S4jeWQjOmcgOaxglxyXG4gICAgLy/lkI3lrZc055+t77yM5bCP5o6S6KGM77yM5ZCN5a2XNumVv++8jOWkp+aOkuihjFxyXG4gICAgZ2V0UmFua0RhdGEoZGF0YSx0YXJnZXQsbmFtZUxlbmd0aCl7XHJcbiAgICAgICAgdGFyZ2V0Lmxpc3REYXRhID0gZGF0YS5kYXRhLmxpc3Q7XHJcbiAgICAgICAgdGFyZ2V0LnNlbGZEYXRhID0gZGF0YS5kYXRhLmluZm87XHJcbiAgICAgICAgbGV0IHJhbmtEYXRhID0gW107XHJcbiAgICAgICAgbGV0IHNlbGYgPSBmYWxzZTtcclxuICAgICAgICAgY2MuZnguR2FtZVRvb2wuc2V0UGljKHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIiksdGFyZ2V0LnNlbGZEYXRhLnBpYyk7XHJcbiAgICAgICAgZm9yKGxldCBpPTA7aTw9dGFyZ2V0Lmxpc3REYXRhLmxlbmd0aC0xO2krKyl7XHJcbiAgICAgICAgICAgIHJhbmtEYXRhLnB1c2goe3Jhbms6KGkrMSksIG5hbWU6dGFyZ2V0Lmxpc3REYXRhW2ldLm5pY2tOYW1lLCB0b3RhbDp0YXJnZXQubGlzdERhdGFbaV0uYWNjdXJhY3ksdGltZTp0YXJnZXQubGlzdERhdGFbaV0udG90bGVUaW1lcywgcGljOnRhcmdldC5saXN0RGF0YVtpXS5waWN9KTtcclxuICAgICAgICAgICAgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnVzZXJJZCA9PSB0YXJnZXQubGlzdERhdGFbaV0udXNlcklkKXtcclxuICAgICAgICAgICAgICAgIHNlbGYgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnJhbmtOdW1iZXIgPSBpO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9KGkrMSkgKyBcIlwiOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihpID09ICh0YXJnZXQubGlzdERhdGEubGVuZ3RoLTEpICYmIHNlbGYgPT0gZmFsc2Upe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnJhbmtOdW1iZXIgPSBpO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IFwiOTkrXCI7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICBjYy5meC5HYW1lVG9vbC5zdWJOYW1lKHRhcmdldC5zZWxmRGF0YS5uaWNrTmFtZSxuYW1lTGVuZ3RoKTtcclxuICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJuYW1lTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGFyZ2V0LnNlbGZEYXRhLm5pY2tOYW1lO1xyXG4gICAgICAgIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInRvdGFsTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGFyZ2V0LnNlbGZEYXRhLmFjY3VyYWN5ICsgXCIlXCI7XHJcbiAgICAgICAgbGV0IHRpbWVUZW1wID0gY2MuZnguR2FtZVRvb2wuZ2V0VGltZVNoZW5Ob25nKHRhcmdldC5zZWxmRGF0YS50b3RsZVRpbWVzKTtcclxuICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aW1lTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGltZVRlbXAgKyBcIlwiO1xyXG4gICAgICAgIHN3aXRjaCh0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nKXtcclxuICAgICAgICAgICAgY2FzZSBcIjFcIjpcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJvbmVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwiMlwiOlxyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInR3b1wiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgXCIzXCI6XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidGhyZWVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyDlpKfmjpLooYxcclxuICAgICAgICBpZihuYW1lTGVuZ3RoID09IDYpe1xyXG4gICAgICAgICAgICB0YXJnZXQucmFua0xpc3Quc2V0RGF0YShyYW5rRGF0YSk7XHJcbiAgICAgICAgICAgIHRhcmdldC5zZWxmTm9kZS5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICBpZih0YXJnZXQuc2VsZkRhdGEudG90YWxTdW5Db3VudCA9PSAwKSB0YXJnZXQuc2VsZk5vZGUub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBnZXRTZWVkUmFuZG9tOiBmdW5jdGlvbiAobWluLCBtYXgpIHsvL+WMheWQq21pbiDkuI3ljIXlkKttYXhcclxuICAgICAgICBjb25zb2xlLmxvZyhcIumaj+acuuaVsDpcIixjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uY3VyclNlZWQpO1xyXG4gICAgICAgIG1heCA9IG1heCB8fCAxO1xyXG4gICAgICAgIG1pbiA9IG1pbiB8fCAwO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5jdXJyU2VlZCA9IChjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uY3VyclNlZWQgKiA5MzAxICsgNDkyOTcpICUgMjMzMjgwO1xyXG4gICAgICAgIGxldCBybmQgPSBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uY3VyclNlZWQgIC8gMjMzMjgwLjA7XHJcbiAgICAgICAgbGV0IHRtcCA9IG1pbiArIHJuZCAqIChtYXggLSBtaW4pO1xyXG4gICAgICAgIHJldHVybiBwYXJzZUludCh0bXApO1xyXG4gICAgfSxcclxuICAgIC8v6I635Y+W5YWz5Y2h6YWN572u55qE6YKj5Liq5YWz5Y2h5pWwXHJcbiAgICBnZXRDdXN0b20odHlwZSl7XHJcbiAgICAgICAgbGV0IGN1c3RvbSA9IGNjLmZ4LlN0b3JhZ2VNZXNzYWdlLmdldFN0b3JhZ2UoY2MuZnguc3RvcmFnZVR5cGUuc3RvcmFnZVR5cGVDdXN0b20pO1xyXG4gICAgICAgIGlmKGN1c3RvbSA9PSBcInVuZGlmZW5kXCIgfHwgY3VzdG9tPT1udWxsIHx8IGN1c3RvbSA9PSBcIlwiKXtcclxuICAgICAgICAgICAgdGhpcy5zZXRDdXN0b20oKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPX1NFVChcImN1c3RvbVwiLGN1c3RvbVswXSk7XHJcbiAgICAgICAgICAgIGlmKGN1c3RvbVswXSAhPSAwIHx8IHR5cGUgPT0gIHRydWUpe1xyXG4gICAgICAgICAgICAgICAgY3VzdG9tLnNoaWZ0KCk7XHJcbiAgICAgICAgICAgICAgICBpZihjdXN0b20ubGVuZ3RoID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0Q3VzdG9tKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGNjLmZ4LlN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UoY2MuZnguc3RvcmFnZVR5cGUuc3RvcmFnZVR5cGVDdXN0b20sY3VzdG9tKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICAvL+acrOWcsOayoeacieWtmOWCqOWIsOmFjee9ru+8jOaIluiAhemFjee9rueUqOWujO+8jOmHjeaWsOWIm+W7uumFjee9rlxyXG4gICAgc2V0Q3VzdG9tKCl7XHJcbiAgICAgICAgbGV0IGFycmF5TGVuZ3RoID0gY2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPLmxlbmd0aDtcclxuICAgICAgICBsZXQgYXJyYXlMaXN0ID0gW107XHJcbiAgICAgICAgZm9yKGxldCBpPTE7IGk8YXJyYXlMZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgYXJyYXlMaXN0LnB1c2goaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGFycmF5TGlzdC5zb3J0KCgpID0+IE1hdGgucmFuZG9tKCkgLSAwLjUpO1xyXG4gICAgICAgIGFycmF5TGlzdC51bnNoaWZ0KDApXHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPX1NFVChcImN1c3RvbVwiLGFycmF5TGlzdFswXSk7XHJcbiAgICAgICAgY2MuZnguU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShjYy5meC5zdG9yYWdlVHlwZS5zdG9yYWdlVHlwZUN1c3RvbSxhcnJheUxpc3QpO1xyXG4gICAgfSxcclxuXHJcbiAgICBnZXRGb29kTmFtZShmb29kKXtcclxuICAgICAgICB2YXIgbmFtZSA9IFwi6JGh6JCEXCI7XHJcbiAgICAgICAgc3dpdGNoKGZvb2Qpe1xyXG4gICAgICAgICAgICBjYXNlIFwiYmFpc2hhb1wiOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwi55m96IqNXCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcImppbmdqaWVcIjpcclxuICAgICAgICAgICAgICAgIG5hbWUgPSBcIuiNhuiKpVwiO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgXCJyZW5zaGVuXCI6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCLkurrlj4JcIjtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwiZGFuc2hlblwiOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwi5Li55Y+CXCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcImRhbmdndWlcIjpcclxuICAgICAgICAgICAgICAgIG5hbWUgPSBcIuW9k+W9klwiO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgXCJnb3VxaVwiOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwi5p645p2eXCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcIm11ZGFuXCI6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCLniaHkuLlcIjtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwibXVsYW5cIjpcclxuICAgICAgICAgICAgICAgIG5hbWUgPSBcIuacqOWFsFwiO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgXCJwdWdvbmd5aW5nXCI6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCLokrLlhazoi7FcIjtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwibW9saVwiOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwi6IyJ6I6JXCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcImppbmp1XCI6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCLph5HmoZRcIjtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwiZGF6YW9cIjpcclxuICAgICAgICAgICAgICAgIG5hbWUgPSBcIuWkp+aeo1wiO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgXCJsaXppXCI6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCLmnY7lrZBcIjtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwibGl6aGlcIjpcclxuICAgICAgICAgICAgICAgIG5hbWUgPSBcIuiNlOaenVwiO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgXCJ0YW96aVwiOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwi5qGD5a2QXCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJwdXRhb1wiOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwi6JGh6JCEXCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcIm11Y2hhaVwiOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwi5pyo5p+0XCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcImdhbmppYW5nXCI6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCLlubLlp5xcIjtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwiemh1eWVcIjpcclxuICAgICAgICAgICAgICAgIG5hbWUgPSBcIuerueWPtlwiO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgXCJsb25neWFuXCI6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCLpvpnnnLxcIjtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwiY2hpeGlhb2RvdVwiOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwi6LWk5bCP6LGGXCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcImdhbmNhb1wiOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwi55SY6I2JXCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcImNoYVwiOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwi6Iy2XCI7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5hbWU7XHJcbiAgICB9LFxyXG5cclxuICAgIGdldFNldFNjcmVlblJlc29sdXRpb25GbGFnOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgbGV0IHNpemUgPSBjYy53aW5TaXplO1xyXG4gICAgICAgIGxldCB3aWR0aCA9IHNpemUud2lkdGg7XHJcbiAgICAgICAgbGV0IGhlaWdodCA9IHNpemUuaGVpZ2h0O1xyXG4gICAgICAgIGlmICgoaGVpZ2h0IC8gd2lkdGgpID4gKDE2LjIgLyA5KSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSxcclxuICAgIC8v5Yik5pat5YWo6Z2i5bGP6YCC6YWNXHJcbiAgICBzZXRGaXQ6IGZ1bmN0aW9uIChjYW52YXMpIHtcclxuICAgICAgICBsZXQgZmxhZyA9ICBjYy5meC5HYW1lVG9vbC5nZXRTZXRTY3JlZW5SZXNvbHV0aW9uRmxhZygpO1xyXG4gICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgXHQvLyBjb25zb2xlLmxvZyhcIuS4jeaYr+WFqOmdouWxj1wiKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgIFx0Ly8gY29uc29sZS5sb2coXCLmmK/lhajpnaLlsY9cIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmbGFnO1xyXG4gICAgfSxcclxuICAgIC8v6I635Y+W5ri45oiP5L+h5oGvXHJcbiAgICBnZXRHYW1lSW5mbzogZnVuY3Rpb24obm9kZSl7XHJcbiAgICAgICAgdmFyIGpnID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIGpnO1xyXG4gICAgfSxcclxuICAgIC8v6K6+572u5ri45oiP5L+h5oGvXHJcbiAgICBzZXRHYW1lSW5mbzogZnVuY3Rpb24ocGQpe1xyXG4gICBcclxuICAgIH0sXHJcblxyXG4gICAgLy/miZPlrZfmnLrmlYjmnpxcclxuICAgIHR5cGluZ0FuaShsYWJlbCx0ZXh0LGNiLHRhcmdldCl7XHJcbiAgICAgICAgdmFyIHNlbGYgPSB0YXJnZXQ7XHJcbiAgICAgICAgdmFyIGh0bWwgPSAnJztcclxuICAgICAgICB2YXIgYXJyID0gdGV4dC5zcGxpdCgnJyk7XHJcbiAgICAgICAgdmFyIGxlbiA9IGFyci5sZW5ndGg7XHJcbiAgICAgICAgdmFyIHN0ZXAgPSAwO1xyXG4gICAgICAgIHNlbGYuZnVuYyA9ICgpPT57XHJcbiAgICAgICAgICAgIGh0bWwgKz0gYXJyW3N0ZXBdO1xyXG4gICAgICAgICAgICBsYWJlbC5zdHJpbmcgPSBodG1sO1xyXG4gICAgICAgICAgICBpZiAoKytzdGVwID09IGxlbikge1xyXG4gICAgICAgICAgICAgICAgc2VsZi51bnNjaGVkdWxlKHNlbGYuZnVuYyk7XHJcbiAgICAgICAgICAgICAgICBjYiAmJiBjYigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNlbGYuc2NoZWR1bGUoc2VsZi5mdW5jLDAuMSwgY2MubWFjcm8uUkVQRUFUX0ZPUkVWRVIsIDApXHJcbiAgICB9LFxyXG5cclxuICAgIC8v6L6T5YWl56eSLOi/lOWbnumcgOimgeWxleekuuaXtumXtOagvOW8j1xyXG4gICAgZ2V0VGltZU1hcmdpbjooc2Vjb25kKSA9PiB7XHJcbiAgICAgICAgbGV0IHRvdGFsID0gMDtcclxuICAgICAgICB0b3RhbCA9IHNlY29uZDtcclxuICAgICAgICBsZXQgaG91ciA9IDA7XHJcbiAgICAgICAgaG91ciA9IHBhcnNlSW50KCh0b3RhbCAvIDM2MDApICsgXCJcIik7Ly/orqHnrpfmlbTmlbDlsI/ml7bmlbBcclxuICAgICAgICBsZXQgYWZ0ZXJIb3VyID0gdG90YWwgLSBob3VyICogNjAgKiA2MDsvL+WPluW+l+eul+WHuuWwj+aXtuaVsOWQjuWJqeS9meeahOenkuaVsFxyXG4gICAgICAgIGxldCBtaW4gPSBwYXJzZUludCgoYWZ0ZXJIb3VyIC8gNjApK1wiXCIpOy8v6K6h566X5pW05pWw5YiGXHJcbiAgICAgICAgbGV0IG0gPSBcIlwiICsgbWluOyAgXHJcbiAgICAgICAgaWYobWluIDwgMTApIG0gPSBcIjBcIittaW47XHJcbiAgICAgICAgbGV0IGFmdGVyTWluID0gdG90YWwgLSBob3VyICogNjAgKiA2MCAtIG1pbiAqIDYwOy8v5Y+W5b6X566X5Ye65YiG5ZCO5Ymp5L2Z55qE56eS5pWwXHJcbiAgICAgICAgbGV0IG1pYW8gPSBhZnRlck1pbiArIFwiXCI7XHJcbiAgICAgICAgaWYoYWZ0ZXJNaW4gPCAxMCkgbWlhbyA9IFwiMFwiICsgYWZ0ZXJNaW47XHJcbiAgICAgICAgcmV0dXJuIG0gKyAnOicgKyBtaWFvXHJcbiAgICB9LFxyXG5cclxuICAgIC8v6L6T5YWl56eSLOi/lOWbnumcgOimgeWxleekuuaXtumXtOagvOW8j1xyXG4gICAgZ2V0VGltZVNoZW5Ob25nOihzZWNvbmQpID0+IHtcclxuICAgICAgICBzZWNvbmQgPSBwYXJzZUludChzZWNvbmQvMTAwMCtcIlwiKTtcclxuICAgICAgICBsZXQgdG90YWwgPSAwO1xyXG4gICAgICAgIHRvdGFsID0gc2Vjb25kO1xyXG4gICAgICAgIGxldCBtaW4gPSAwO1xyXG4gICAgICAgIGlmKHRvdGFsID4gNjApe1xyXG4gICAgICAgICAgICBtaW4gPSBwYXJzZUludCgodG90YWwgLyA2MCkrXCJcIik7Ly/orqHnrpfmlbTmlbDliIZcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IG0gPSAgbWluICsgXCInXCI7ICBcclxuXHJcbiAgICAgICAgbGV0IGFmdGVyTWluID0gdG90YWwgLSBtaW4gKiA2MDsvL+WPluW+l+eul+WHuuWIhuWQjuWJqeS9meeahOenkuaVsFxyXG4gICAgICAgIGxldCBtaWFvID0gYWZ0ZXJNaW4gKyBcIicnXCI7XHJcbiAgICAgICAgcmV0dXJuIG0gKyBtaWFvXHJcbiAgICB9LFxyXG5cclxuICAgIC8v6I635Y+W5pe26Ze05oizXHJcbiAgICBnZXRUaW1lKCl7XHJcbiAgICAgICAgY29uc3QgdGltZXN0YW1wID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgcmV0dXJuIHRpbWVzdGFtcDtcclxuICAgIH0sXHJcbiAgICBwdXNoTGlzdGVyOmZ1bmN0aW9uICgpIHtcclxuICAgICAgICBcclxuICAgIH0sXHJcbiAgICByZW1vdmVBbGxMaXN0ZXI6ZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIFxyXG4gICAgfSxcclxuXHJcbn07XHJcbmV4cG9ydCB7IEdhbWVUb29sIH07Il19 //------QC-SOURCE-SPLIT------ (function() { @@ -5440,112 +5585,49 @@ var GameConfig = /** @class */ (function () { 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, 4], - [0, 0, 0, 0, 0, 0], - [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], - [0, 1, 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] - ] - }, - { - "id": 1003, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - }, - { - "id": 1004, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - }, - { - "id": 1005, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - }, - { - "id": 1006, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - }, - { - "id": 1007, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - }, - { - "id": 1008, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - }, - { - "id": 1009, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - }, - { - "id": 1010, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - } - ], - ]; + // 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": 4 }, { "id": "1002", "map": [[1, 0, 0, 0], [0, 0, 0, 4], [0, 0, 0, 0], [0, 0, 0, 0]], "min_steps": 4 }, { "id": "1003", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 4]], "min_steps": 6 }, { "id": "1004", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 4, 0, 0]], "min_steps": 4 }, { "id": "1005", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 4], [0, 0, 0, 0]], "min_steps": 5 }, { "id": "1006", "map": [[4, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 1, 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": 5 }, { "id": "1008", "map": [[0, 0, 0, 4], [0, 0, 0, 0], [0, 0, 0, 0], [1, 0, 0, 0]], "min_steps": 6 }], [{ "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": 8 }, { "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": 8 }, { "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": 7 }, { "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, 3, 4]], "min_steps": 8 }, { "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": 7 }, { "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": 8 }, { "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": 7 }], [{ "id": "3001", "map": [[0, 0, 2, 0, 2, 4], [0, 2, 0, 0, 0, 0], [0, 0, 2, 0, 0, 0], [1, 2, 2, 0, 0, 0], [0, 0, 0, 0, 2, 0], [0, 2, 2, 0, 0, 2]], "min_steps": 4 }, { "id": "3002", "map": [[0, 2, 0, 0, 2, 0], [0, 0, 0, 0, 0, 0], [0, 2, 0, 0, 2, 1], [0, 2, 0, 0, 0, 0], [0, 0, 0, 0, 0, 2], [2, 0, 2, 4, 2, 2]], "min_steps": 4 }], [{ "id": "4001", "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": "4002", "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": "4003", "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": "4004", "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": "4005", "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": "4006", "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": "4007", "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": "4008", "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": "4009", "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": "4010", "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": "5001", "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": "5002", "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": "5003", "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": "5004", "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": "5005", "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": "5006", "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": "5007", "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": "5008", "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": "5009", "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": "5010", "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": "5011", "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": "5012", "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": "5013", "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": "5014", "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": "5015", "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": "5016", "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": "5017", "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": "5018", "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": "6001", "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": "6002", "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": "6003", "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": "6004", "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": "6005", "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": "6006", "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": "6007", "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": "6008", "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": "6009", "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": "6010", "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": "6011", "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": "6012", "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": "6013", "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": "6014", "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": "6015", "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": "6016", "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": "6017", "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": "6018", "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": "6019", "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": "6020", "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": "7001", "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": "7002", "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": "7003", "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": "7004", "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": "7005", "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": "7006", "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": "7007", "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": "7008", "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": "7009", "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": "7010", "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": "7011", "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": "7012", "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": "7013", "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": "7014", "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": "7015", "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": "7016", "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": "7017", "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": "7018", "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": "7019", "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": "7020", "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": "7021", "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": "8001", "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": "8002", "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": "8003", "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": "8004", "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": "8005", "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": "8006", "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": "8007", "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": "8008", "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": "8009", "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": "8010", "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": "8011", "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": "8012", "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": "8013", "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": "8014", "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": "8015", "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": "8016", "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": "8017", "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": "8018", "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": "8019", "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": "8020", "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": "8021", "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": "8022", "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": "8023", "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": "8024", "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": "8025", "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": "8026", "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": "8027", "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": "8028", "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": "8029", "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": "8030", "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": "8031", "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": "8032", "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": "8033", "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": "8034", "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": "8035", "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": "8036", "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": "8037", "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": "8038", "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": "8039", "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": "8040", "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": "8041", "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 }]]; }; GameConfig.Authentication = function () { cc.fx.GameTool.Authentication(); @@ -5571,135 +5653,7 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXENvbmZpZ1xcR2FtZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJTSxJQUFBLEtBQXdCLEVBQUUsQ0FBQyxVQUFVLEVBQW5DLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBa0IsQ0FBQztBQUU1QztJQUFBO0lBZ1VBLENBQUM7bUJBaFVZLFVBQVU7SUFrRG5CLHNCQUFXLHNCQUFRO1FBSm5CLE9BQU87YUFJUDtZQUVJLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQzFCO2dCQUNJLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxZQUFVLEVBQUUsQ0FBQzthQUNyQztZQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUMxQixDQUFDOzs7T0FBQTtJQUNELGVBQWU7SUFDUixlQUFJLEdBQVgsVUFBWSxjQUFjO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztRQUNoQiwwRUFBMEU7UUFDMUUsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixRQUFRO1FBQ1Isd0NBQXdDO1FBQ3hDLDBDQUEwQztRQUMxQyxLQUFLO1FBQ0wsMEVBQTBFO1FBQzFFLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIsUUFBUTtRQUVSLHdDQUF3QztRQUN4QywwQ0FBMEM7UUFDMUMsS0FBSztRQUNMLHVFQUF1RTtRQUN2RSxpQkFBaUI7UUFDakIscURBQXFEO1FBQ3JELGtCQUFrQjtRQUNsQixRQUFRO1FBRVIsd0NBQXdDO1FBQ3hDLHVDQUF1QztRQUN2Qyx1Q0FBdUM7UUFDdkMsaURBQWlEO1FBQ2pELEtBQUs7UUFFTCxtQ0FBbUM7UUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUNoQixDQUFB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QUFjLEdBQXJCO1FBQ0ksRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDcEMsQ0FBQzs7SUE5VEQsMEJBQTBCO0lBQ1gsb0JBQVMsR0FBZ0IsSUFBSSxDQUFDO0lBRnBDLFVBQVU7UUFEdEIsT0FBTyxDQUFDLFlBQVksQ0FBQztPQUNULFVBQVUsQ0FnVXRCO0lBQUQsaUJBQUM7Q0FoVUQsQUFnVUMsSUFBQTtBQWhVWSxnQ0FBVSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdlQ2hhdCB9IGZyb20gXCIuLi9TaGFyZS9zaGFyZVwiO1xyXG5pbXBvcnQgeyBHYW1lVG9vbCB9IGZyb20gXCIuLi9Ub29sL0dhbWVUb29sXCI7XHJcblxyXG5cclxuY29uc3QgeyBjY2NsYXNzLCBwcm9wZXJ0eSB9ID0gY2MuX2RlY29yYXRvcjtcclxuQGNjY2xhc3MoJ0dhbWVDb25maWcnKVxyXG5leHBvcnQgY2xhc3MgR2FtZUNvbmZpZyAge1xyXG4gICAgLy/miYDmnInmjqfliLbkv6Hmga/pg73pgJrov4dHYW1lQXBwU3RhcnTlhoXmjqfliLZcclxuICAgIHByaXZhdGUgc3RhdGljIF9pbnN0YW5jZSA6IEdhbWVDb25maWcgPSBudWxsO1xyXG4gICAgLy/nlKjkuo7nm5vmlL7ln4vngrnmlbDmja7kuIrkvKDvvIzmr4/mrKHkuIrkvKDlkI7muIXnqbpcclxuICAgIHN0YXRpYyBDTElDS19EQVRBOiB7XHJcbiAgICAgICAgdHlwZTogbnVtYmVyOyAvL+S4iuS8oOaVsOaNruexu+Wei1xyXG4gICAgICAgIHN1Y2Nlc3M6IGJvb2xlYW47IC8v5q2k5bGA5ri45oiP5q2j56Gu5LiO5ZCmXHJcbiAgICAgICAgcm91bmQ6IG51bWJlcjsgLy/lm57lkIjmlbBcclxuICAgICAgICBjaG9pY2U6IG51bWJlcjsgLy/njqnlrrbpgInmi6nvvIww77ya5pe26Ze05oiq5q2i5YmN5pyq5YGa6YCJ5oup77yMMe+8jDLvvIwz77ya5LiJ5Liq5oyJ6ZKu5LuO5LiK5Yiw5LiL5L6d5qyh5a+55bqUXHJcbiAgICAgICAgcmlnaHRDaG9pY2U6IG51bWJlcjsgLy/mnKzova7nmoTmjInmraPnoa7nrZTmoYjvvIzlkKvkuYnkuI5jaG9pY2Xnm7jlkIxcclxuICAgICAgICBpdGVtOiBzdHJpbmc7IC8v5q2k5YWz5bGV56S655qE54mp5ZOBXHJcbiAgICAgICAgcm91bmRUeXBlOiBudW1iZXI7IC8v5bGV56S65pa55byP44CCMe+8muWbvuWDjyAy77ya6Z+z6aKRXHJcbiAgICAgICAgc3RlcFRpbWU6IG51bWJlcjsgLy/njqnlrrbmr4/kuIDlhbPnlKjml7bmr6vnp5LmlbAgIOmfs+mikeWFs+WNoeS7juaSreaUvue7k+adn+W8gOWni+iuoeaXtlxyXG4gICAgICAgIGxldmVsQ29uZmlnOiBudW1iZXI7IC8v5L2/55So55qE5piv5ZOq5LiA5aWX5YWz5Y2h6YWN572uXHJcbiAgICAgICAgaWduaXRlOiBib29sZWFuOyAvL+eOqeWutuatpOi9ruacieayoeacieeCueeBq1xyXG4gICAgICAgIGlnbml0ZUNvdW50OiBudW1iZXI7IC8v546p5a625oC76K6h5oiQ5Yqf54K554Gr5pWwXHJcbiAgICB9O1xyXG4gICAgc3RhdGljIEdBTUVfREFUQTogYW55W107XHJcbiAgICAvL+WFs+WNoeaVsOaNrlxyXG5cclxuICAgIHN0YXRpYyBHTV9JTkZPOiB7XHJcbiAgICAgICAgLy8gaXNFbmQ6IGZhbHNlLFxyXG4gICAgICAgIG1lYW5fVGltZTogbnVtYmVyOyAvL+W5s+Wdh+aUvueuremAn+W6plxyXG4gICAgICAgIHRvdGFsOiBudW1iZXI7IC8v5oC75YWx5a+555qE5Liq5pWwXHJcbiAgICAgICAgY3VyclNlZWQ6IG51bWJlcjsgLy/nlKjkuo7pmo/mnLrmlbDnp43lrZBcclxuICAgICAgICBnYW1lSWQ6IHN0cmluZzsgLy/muLjmiI9JRFxyXG4gICAgICAgIHVzZXJJZDogbnVtYmVyOyAvL+eUqOaIt0lEXHJcbiAgICAgICAgZ3VpZGU6IGJvb2xlYW47IC8v5piv5ZCm5pyJ5byV5a+8XHJcbiAgICAgICAgdXJsOiBzdHJpbmc7IC8v6K6/6Zeu5Z+f5ZCNXHJcbiAgICAgICAgc3VjY2VzczogYm9vbGVhbjsgLy/nlKjmiLfmuLjmiI/miJDlip/kuI7lkKZcclxuICAgICAgICBtYXRjaElkOiBhbnk7IC8v55So5LqO5Z+L54K55LiK5Lyg55qESURcclxuICAgICAgICBjdXN0b206IG51bWJlcjsgLy/nlKjkuo7mtYvor5Xot7PlhbPljaFcclxuICAgICAgICBsZXZlbDogbnVtYmVyOyAvL+WFt+S9k+a4uOaIj+WGhei/m+ihjOWIsOesrOWHoOatpSBcclxuICAgICAgICBzdGVwVGltZUxpc3Q6IG51bWJlcjsgLy/mlbTlsYDmuLjmiI/nlKjml7bvvIznlLHkuo7mtonlj4rlnLrmma/liIfmjaLvvIzmlbDmja7pnIDopoHkv53nlZlcclxuICAgICAgICBzdWNjZXNzTGlzdDogYW55W107IC8v5pW05bGA6IOc6LSfXHJcbiAgICAgICAgZ2FtZVRpbWU6IG51bWJlcjsgICAvL+WNleasoea4uOaIj+WAkuiuoeaXtuaXtumXtFxyXG4gICAgICAgIGlnbml0ZUNvdW50OiBudW1iZXI7IC8v546p5a625oC76K6h5oiQ5Yqf54K554Gr5pWwXHJcbiAgICAgXHJcbiAgICB9O1xyXG4gICAgc3RhdGljIExFVkVMX0lORk86IHsgaWQ6IG51bWJlcjsgbWFwOiBudW1iZXJbXVtdOyB9W11bXTtcclxuICAgIHN0YXRpYyBDVVNUT01fSU5GTzoge1xyXG4gICAgICAgIG1vdmVTcGVlZDogbnVtYmVyOyAvL+a0quWzsOenu+WKqOmAn+W6plxyXG4gICAgICAgIHdhaXRUaW1lOiBudW1iZXI7IC8v5rSq5bOw5Yay5Ye75YCS6K6h5pe2XHJcbiAgICAgICAgZmFzdFBhdGg6IG51bWJlcjsgLy/mnIDnn63ot6/lvoRcclxuICAgIH1bXTtcclxuXHJcbiAgICAvL+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+t6Lev5b6EXHJcbiAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgXVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvL+aVsOaNruWkh+eUqFxyXG4gICAgc3RhdGljIEdNX0lORk9faW5pdCgpIHtcclxuICAgICAgICB0aGlzLkdNX0lORk8gPSB7XHJcbiAgICAgICAgICAgIC8vIGlzRW5kOiBmYWxzZSxcclxuICAgICAgICAgICAgbWVhbl9UaW1lOiAwLCAgICAgICAgICAgICAgICAvL+W5s+Wdh+aUvueuremAn+W6plxyXG4gICAgICAgICAgICB0b3RhbDogMCwgICAgICAgICAgICAgICAgICAgIC8v5oC75YWx5a+555qE5Liq5pWwXHJcbiAgICAgICAgICAgIGN1cnJTZWVkOiAyMDAwMDAsICAgICAgICAgICAvL+eUqOS6jumaj+acuuaVsOenjeWtkFxyXG4gICAgICAgICAgICBnYW1lSWQ6IFwiMTAwMDEwXCIsICAgICAgICAgICAvL+a4uOaIj0lEXHJcbiAgICAgICAgICAgIHVzZXJJZDogMjAwMTM5LCAgICAgICAgICAgICAgICAgIC8v55So5oi3SURcclxuICAgICAgICAgICAgZ3VpZGU6IHRydWUsICAgICAgICAgICAgICAgICAvL+aYr+WQpuacieW8leWvvFxyXG4gICAgICAgICAgICB1cmw6IFwiaHR0cHM6Ly9hcGkuc3Bhcmt1cy5jblwiLC8v6K6/6Zeu5Z+f5ZCNXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLCAgICAgICAgICAgICAvL+eUqOaIt+a4uOaIj+aIkOWKn+S4juWQplxyXG4gICAgICAgICAgICBtYXRjaElkOiBudWxsLCAgICAgICAgICAgICAgLy/nlKjkuo7ln4vngrnkuIrkvKDnmoRJRFxyXG4gICAgICAgICAgICBjdXN0b206IDAsICAgICAgICAgICAgICAgICAgLy/nlKjkuo7mtYvor5Xot7PlhbPljaFcclxuICAgICAgICAgICAgbGV2ZWw6IDAsICAgICAgICAgICAgICAgICAgICAvL+WFt+S9k+a4uOaIj+WGhei/m+ihjOWIsOesrOWHoOatpSBcclxuICAgICAgICAgICAgc3RlcFRpbWVMaXN0OjAsICAgICAgICAgICAgIC8v5pW05bGA5ri45oiP55So5pe277yM55Sx5LqO5raJ5Y+K5Zy65pmv5YiH5o2i77yM5pWw5o2u6ZyA6KaB5L+d55WZXHJcbiAgICAgICAgICAgIHN1Y2Nlc3NMaXN0OltdLCAgICAgICAgICAgICAgLy/mlbTlsYDog5zotJ9cclxuICAgICAgICAgICAgZ2FtZVRpbWU6NSxcclxuICAgICAgICAgICAgaWduaXRlQ291bnQ6IDAsICAgICAgICAgICAgIC8v546p5a625oC76K6h5oiQ5Yqf54K554Gr5pWwXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICB9XHJcbiAgICBzdGF0aWMgR01fSU5GT19TRVQoa2V5LHZhbHVlKSB7XHJcblxyXG4gICAgICAgIHRoaXMuR01fSU5GT1trZXldID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgQ0xJQ0tfaW5pdCgpIHtcclxuICAgICAgICB0aGlzLkNMSUNLX0RBVEEgPVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdHlwZTogMSwgICAgICAgICAgICAvL+S4iuS8oOaVsOaNruexu+Wei1xyXG4gICAgICAgICAgICBzdWNjZXNzOiBmYWxzZSwgICAgIC8v5q2k5bGA5ri45oiP5q2j56Gu5LiO5ZCmXHJcbiAgICAgICAgICAgIHJvdW5kOiAwLCAgICAgICAgICAgLy/lm57lkIjmlbBcclxuICAgICAgICAgICAgY2hvaWNlOiAwLCAgICAgICAgICAvL+eOqeWutumAieaLqe+8jDDvvJrml7bpl7TmiKrmraLliY3mnKrlgZrpgInmi6nvvIwx77yMMu+8jDPvvJrkuInkuKrmjInpkq7ku47kuIrliLDkuIvkvp3mrKHlr7nlupRcclxuICAgICAgICAgICAgcmlnaHRDaG9pY2U6IDAsICAgICAvL+acrOi9rueahOaMieato+ehruetlOahiO+8jOWQq+S5ieS4jmNob2ljZeebuOWQjFxyXG4gICAgICAgICAgICBpdGVtOiBcIlwiLCAgICAgICAgICAgLy/mraTlhbPlsZXnpLrnmoTnianlk4FcclxuICAgICAgICAgICAgcm91bmRUeXBlOiAwLCAgICAgICAvL+WxleekuuaWueW8j+OAgjHvvJrlm77lg48gMu+8mumfs+mikVxyXG4gICAgICAgICAgICBzdGVwVGltZTogMCwgICAgICAgIC8v546p5a625q+P5LiA5YWz55So5pe25q+r56eS5pWwICDpn7PpopHlhbPljaHku47mkq3mlL7nu5PmnZ/lvIDlp4vorqHml7ZcclxuICAgICAgICAgICAgbGV2ZWxDb25maWc6IDAsICAgICAvL+S9v+eUqOeahOaYr+WTquS4gOWll+WFs+WNoemFjee9rlxyXG4gICAgICAgICAgICBpZ25pdGU6IGZhbHNlLCAgICAgIC8v546p5a625q2k6L2u5pyJ5rKh5pyJ54K554GrXHJcbiAgICAgICAgICAgIGlnbml0ZUNvdW50OiAwLCAgICAgICAgICAgICAvL+eOqeWutuaAu+iuoeaIkOWKn+eCueeBq+aVsFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgQ0xJQ0tfU0VUKGtleSx2YWx1ZSkge1xyXG4gICAgICAgIHRoaXMuQ0xJQ0tfREFUQVtrZXldID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIExFVkVMX0lORk9faW5pdCgpIHtcclxuICAgICAgICAvKlxyXG4gICAgICAgIG1vdmVTcGVlZDogMCwgICAgLy/mtKrls7Dnp7vliqjpgJ/luqZcclxuICAgICAgICB3YWl0VGltZTogMjAsICAgLy/mtKrls7DlhrLlh7vlgJLorqHml7ZcclxuICAgICAgICBmYXN0UGF0aDogNSAgIC8v5pyA55+t6Lev5b6EXHJcbiAgICAgICAgKi8gXHJcbiAgICAgICAgdGhpcy5MRVZFTF9JTkZPID0gW1xyXG4gICAgICAgICAgICBbIFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIFwiaWRcIjogMTAwMSxcclxuICAgICAgICAgICAgICAgICAgICBcIm1hcFwiOiBbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsNF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDAsMywwLDMsMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDAsMCwzLDAsMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDAsMiwwLDAsMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDEsMCwwLDAsMF1cclxuICAgICAgICAgICAgICAgICAgICBdXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIFwiaWRcIjogMTAwMixcclxuICAgICAgICAgICAgICAgICAgICBcIm1hcFwiOiBbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsNF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDEsMCwwLDAsMCwwLDAsMF1cclxuICAgICAgICAgICAgICAgICAgICBdXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIFwiaWRcIjogMTAwMyxcclxuICAgICAgICAgICAgICAgICAgICBcIm1hcFwiOiBbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsxLDAsMSwxXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgWzEsMSwxLDFdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbMSwxLDEsMV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsxLDEsMSw2XVxyXG4gICAgICAgICAgICAgICAgICAgIF1cclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgXCJpZFwiOiAxMDA0LFxyXG4gICAgICAgICAgICAgICAgICAgIFwibWFwXCI6IFtcclxuICAgICAgICAgICAgICAgICAgICAgICAgWzEsMCwxLDFdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbMSwxLDEsMV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsxLDEsMSwxXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgWzEsMSwxLDZdXHJcbiAgICAgICAgICAgICAgICAgICAgXVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBcImlkXCI6IDEwMDUsXHJcbiAgICAgICAgICAgICAgICAgICAgXCJtYXBcIjogW1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBbMSwwLDEsMV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsxLDEsMSwxXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgWzEsMSwxLDFdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbMSwxLDEsNl1cclxuICAgICAgICAgICAgICAgICAgICBdXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIFwiaWRcIjogMTAwNixcclxuICAgICAgICAgICAgICAgICAgICBcIm1hcFwiOiBbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsxLDAsMSwxXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgWzEsMSwxLDFdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbMSwxLDEsMV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsxLDEsMSw2XVxyXG4gICAgICAgICAgICAgICAgICAgIF1cclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgXCJpZFwiOiAxMDA3LFxyXG4gICAgICAgICAgICAgICAgICAgIFwibWFwXCI6IFtcclxuICAgICAgICAgICAgICAgICAgICAgICAgWzEsMCwxLDFdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbMSwxLDEsMV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsxLDEsMSwxXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgWzEsMSwxLDZdXHJcbiAgICAgICAgICAgICAgICAgICAgXVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBcImlkXCI6IDEwMDgsXHJcbiAgICAgICAgICAgICAgICAgICAgXCJtYXBcIjogW1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBbMSwwLDEsMV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsxLDEsMSwxXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgWzEsMSwxLDFdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbMSwxLDEsNl1cclxuICAgICAgICAgICAgICAgICAgICBdXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIFwiaWRcIjogMTAwOSxcclxuICAgICAgICAgICAgICAgICAgICBcIm1hcFwiOiBbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsxLDAsMSwxXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgWzEsMSwxLDFdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbMSwxLDEsMV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsxLDEsMSw2XVxyXG4gICAgICAgICAgICAgICAgICAgIF1cclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgXCJpZFwiOiAxMDEwLFxyXG4gICAgICAgICAgICAgICAgICAgIFwibWFwXCI6IFtcclxuICAgICAgICAgICAgICAgICAgICAgICAgWzEsMCwxLDFdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbMSwxLDEsMV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsxLDEsMSwxXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgWzEsMSwxLDZdXHJcbiAgICAgICAgICAgICAgICAgICAgXVxyXG4gICAgICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgICAgIF0sXHJcblxyXG4gICAgICBcclxuICAgICAgICBdXHJcbiAgICB9XHJcblxyXG5cclxuICAgIHN0YXRpYyBBdXRoZW50aWNhdGlvbigpe1xyXG4gICAgICAgIGNjLmZ4LkdhbWVUb29sLkF1dGhlbnRpY2F0aW9uKCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbiJdfQ== -//------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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFJhbmtMaXN0XFxJdGVtUmVuZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdNLElBQUEsS0FBd0IsRUFBRSxDQUFDLFVBQVUsRUFBbkMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFrQixDQUFDO0FBRzVDO0lBQXdDLDhCQUFZO0lBQXBEO1FBQUEscUVBcUVDO1FBcEVHLFFBQVE7UUFDRCxVQUFJLEdBQU8sSUFBSSxDQUFDO1FBQ3ZCLGNBQWM7UUFDUCxlQUFTLEdBQVUsQ0FBQyxDQUFDOztJQWlFaEMsQ0FBQztJQS9ERyxhQUFhO0lBQ04sZ0NBQVcsR0FBbEI7UUFDSSxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3hGLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN4RixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDM0YsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMs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Y0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7YUFDeEU7UUFDTCxDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsVUFBQSxLQUFLO1lBQ1IsT0FBTyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxFQUFDLEdBQUcsRUFBQyxNQUFNLEVBQUMsRUFBQyxVQUFDLEdBQUcsRUFBRSxPQUFvQjtZQUNuRSxJQUFHLE9BQU8sRUFBQztnQkFDUCxLQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFFLElBQUksQ0FBQztnQkFDbkUsSUFBSSxNQUFNLEdBQUcsS0FBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzNGLE1BQU0sQ0FBQyxXQUFXLEdBQUcsSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNqRCw0Q0FBNEM7YUFDL0M7aUJBQ0c7Z0JBQ0EsNkJBQTZCO2dCQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBQyxPQUFPLENBQUMsQ0FBQTthQUMzQjtRQUNMLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQWxFZ0IsVUFBVTtRQUQ5QixPQUFPO09BQ2EsVUFBVSxDQXFFOUI7SUFBRCxpQkFBQztDQXJFRCxBQXFFQyxDQXJFdUMsRUFBRSxDQUFDLFNBQVMsR0FxRW5EO2tCQXJFb0IsVUFBVSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgTGlzdCwgeyBMaXN0VHlwZSB9IGZyb20gXCIuL0xpc3RcIjtcclxuXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJdGVtUmVuZGVyIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIC8qKuaVsOaNriAqL1xyXG4gICAgcHVibGljIGRhdGE6YW55ID0gbnVsbDtcclxuICAgIC8qKue0ouW8lSAw6KGo56S656ys5LiA6aG5Ki9cclxuICAgIHB1YmxpYyBpdGVtSW5kZXg6bnVtYmVyID0gMDtcclxuXHJcbiAgICAvKirmlbDmja7mlLnlj5jml7bosIPnlKggKi9cclxuICAgIHB1YmxpYyBkYXRhQ2hhbmdlZCgpe1xyXG4gICAgICAgIGNjLmZ4LkdhbWVUb29sLnN1Yk5hbWUodGhpcy5kYXRhLm5hbWUsNik7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IHRoaXMuZGF0YS5yYW5rICsgXCJcIjtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJuYW1lTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGhpcy5kYXRhLm5hbWUgKyBcIlwiO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRvdGFsTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGhpcy5kYXRhLnRvdGFsICsgXCIlXCI7XHJcbiAgICAgICAgbGV0IHRpbWVUZW1wID0gY2MuZnguR2FtZVRvb2wuZ2V0VGltZVNoZW5Ob25nKHRoaXMuZGF0YS50aW1lKTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aW1lTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGltZVRlbXAgKyBcIlwiO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJvbmVcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInR3b1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidGhyZWVcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgaWYodGhpcy5kYXRhLnJhbmsgPT0gMSl7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJvbmVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLmRhdGEucmFuayA9PSAyKXtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInR3b1wiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHRoaXMuZGF0YS5yYW5rID09IDMpe1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidGhyZWVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNldFBpYygpO1xyXG4gICAgfSAgIFxyXG4gICAgXHJcbiAgICBwdWJsaWMgc2V0UGljKCl7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuYWN0aXZlPSBmYWxzZTtcclxuICAgICAgICB2YXIgc2VsZiA9IHRoaXM7XHJcbiAgICAgICAgbGV0IHVybCA9IHRoaXMuZGF0YS5waWM7XHJcbiAgICAgICAgZmV0Y2godXJsKVxyXG4gICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdDb250ZW50LUxlbmd0aCcpO1xyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgIC50aGVuKGVyck5vID0+IHtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5kYXRhLnJhbmssJ1gtSW5mbzonLCBlcnJObyk7IC8vIOi+k+WHulgtRXJyTm/nmoTlgLxcclxuICAgICAgICAgICAgaWYoZXJyTm8gPT0gXCI1MDkzXCIpe1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5kYXRhLnJhbmssXCLmsqHlpLTlg49cIik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jYXRjaChlcnJvciA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIFgtSW5mbzonLCBlcnJvcik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY2MuYXNzZXRNYW5hZ2VyLmxvYWRSZW1vdGUodXJsLCB7ZXh0OicucG5nJ30sKGVyciwgdGV4dHVyZTpjYy5UZXh0dXJlMkQpID0+IHtcclxuICAgICAgICAgICAgaWYodGV4dHVyZSl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuYWN0aXZlPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdmFyIHNwcml0ZSA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKTtcclxuICAgICAgICAgICAgICAgIHNwcml0ZS5zcHJpdGVGcmFtZSA9IG5ldyBjYy5TcHJpdGVGcmFtZSh0ZXh0dXJlKTtcclxuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuZGF0YS5yYW5rLFwi6K6+572u5aS05YOP5oiQ5YqfXCIsZXJyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLorr7nva7lpLTlg4/lpLHotKVcIix1cmwpO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyLHRleHR1cmUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuXHJcbn1cclxuIl19 +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXENvbmZpZ1xcR2FtZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJTSxJQUFBLEtBQXdCLEVBQUUsQ0FBQyxVQUFVLEVBQW5DLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBa0IsQ0FBQztBQUU1QztJQUFBO0lBOFFBLENBQUM7bUJBOVFZLFVBQVU7SUEyRG5CLHNCQUFXLHNCQUFRO1FBSm5CLE9BQU87YUFJUDtZQUVJLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQzFCO2dCQUNJLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxZQUFVLEVBQUUsQ0FBQzthQUNyQztZQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUMxQixDQUFDOzs7T0FBQTtJQUNELGVBQWU7SUFDUixlQUFJLEdBQVgsVUFBWSxjQUFjO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztRQUNoQiwwRUFBMEU7UUFDMUUsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixRQUFRO1FBQ1Isd0NBQXdDO1FBQ3hDLDBDQUEwQztRQUMxQyxLQUFLO1FBQ0wsMEVBQTBFO1FBQzFFLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIsUUFBUTtRQUVSLHdDQUF3QztRQUN4QywwQ0FBMEM7UUFDMUMsS0FBSztRQUNMLHVFQUF1RTtRQUN2RSxpQkFBaUI7UUFDakIscURBQXFEO1FBQ3JELGtCQUFrQjtRQUNsQixRQUFRO1FBRVIsd0NBQXdDO1FBQ3hDLHVDQUF1QztRQUN2Qyx1Q0FBdUM7UUFDdkMsaURBQWlEO1FBQ2pELEtBQUs7UUFFTCxtQ0FBbUM7UUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUNoQixDQUFB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QUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQTtJQUlyMmhCLENBQUM7SUFHTSx5QkFBYyxHQUFyQjtRQUNJLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3BDLENBQUM7O0lBNVFELDBCQUEwQjtJQUNYLG9CQUFTLEdBQWdCLElBQUksQ0FBQztJQUZwQyxVQUFVO1FBRHRCLE9BQU8sQ0FBQyxZQUFZLENBQUM7T0FDVCxVQUFVLENBOFF0QjtJQUFELGlCQUFDO0NBOVFELEFBOFFDLElBQUE7QUE5UVksZ0NBQVUiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXZUNoYXQgfSBmcm9tIFwiLi4vU2hhcmUvc2hhcmVcIjtcclxuaW1wb3J0IHsgR2FtZVRvb2wgfSBmcm9tIFwiLi4vVG9vbC9HYW1lVG9vbFwiO1xyXG5cclxuXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcbkBjY2NsYXNzKCdHYW1lQ29uZmlnJylcclxuZXhwb3J0IGNsYXNzIEdhbWVDb25maWcgIHtcclxuICAgIC8v5omA5pyJ5o6n5Yi25L+h5oGv6YO96YCa6L+HR2FtZUFwcFN0YXJ05YaF5o6n5Yi2XHJcbiAgICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2UgOiBHYW1lQ29uZmlnID0gbnVsbDtcclxuICAgIC8v55So5LqO55ub5pS+5Z+L54K55pWw5o2u5LiK5Lyg77yM5q+P5qyh5LiK5Lyg5ZCO5riF56m6XHJcbiAgICBzdGF0aWMgQ0xJQ0tfREFUQToge1xyXG4gICAgICAgIHR5cGU6IG51bWJlcjsgLy/kuIrkvKDmlbDmja7nsbvlnotcclxuICAgICAgICBzdWNjZXNzOiBib29sZWFuOyAvL+atpOWxgOa4uOaIj+ato+ehruS4juWQplxyXG4gICAgICAgIHJvdW5kOiBudW1iZXI7IC8v5Zue5ZCI5pWwXHJcbiAgICAgICAgY2hvaWNlOiBudW1iZXI7IC8v546p5a626YCJ5oup77yMMO+8muaXtumXtOaIquatouWJjeacquWBmumAieaLqe+8jDHvvIwy77yMM++8muS4ieS4quaMiemSruS7juS4iuWIsOS4i+S+neasoeWvueW6lFxyXG4gICAgICAgIHJpZ2h0Q2hvaWNlOiBudW1iZXI7IC8v5pys6L2u55qE5oyJ5q2j56Gu562U5qGI77yM5ZCr5LmJ5LiOY2hvaWNl55u45ZCMXHJcbiAgICAgICAgaXRlbTogc3RyaW5nOyAvL+atpOWFs+WxleekuueahOeJqeWTgVxyXG4gICAgICAgIHJvdW5kVHlwZTogbnVtYmVyOyAvL+WxleekuuaWueW8j+OAgjHvvJrlm77lg48gMu+8mumfs+mikVxyXG4gICAgICAgIHN0ZXBUaW1lOiBudW1iZXI7IC8v546p5a625q+P5LiA5YWz55So5pe25q+r56eS5pWwICDpn7PpopHlhbPljaHku47mkq3mlL7nu5PmnZ/lvIDlp4vorqHml7ZcclxuICAgICAgICBsZXZlbENvbmZpZzogbnVtYmVyOyAvL+S9v+eUqOeahOaYr+WTquS4gOWll+WFs+WNoemFjee9rlxyXG4gICAgICAgIGlnbml0ZTogYm9vbGVhbjsgLy/njqnlrrbmraTova7mnInmsqHmnInngrnngatcclxuICAgICAgICBpZ25pdGVDb3VudDogbnVtYmVyOyAvL+eOqeWutuaAu+iuoeaIkOWKn+eCueeBq+aVsFxyXG4gICAgfTtcclxuICAgIHN0YXRpYyBHQU1FX0RBVEE6IGFueVtdO1xyXG4gICAgLy/lhbPljaHmlbDmja5cclxuXHJcbiAgICBzdGF0aWMgR01fSU5GTzoge1xyXG4gICAgICAgIC8vIGlzRW5kOiBmYWxzZSxcclxuICAgICAgICBtZWFuX1RpbWU6IG51bWJlcjsgLy/lubPlnYfmlL7nrq3pgJ/luqZcclxuICAgICAgICB0b3RhbDogbnVtYmVyOyAvL+aAu+WFseWvueeahOS4quaVsFxyXG4gICAgICAgIGN1cnJTZWVkOiBudW1iZXI7IC8v55So5LqO6ZqP5py65pWw56eN5a2QXHJcbiAgICAgICAgZ2FtZUlkOiBzdHJpbmc7IC8v5ri45oiPSURcclxuICAgICAgICB1c2VySWQ6IG51bWJlcjsgLy/nlKjmiLdJRFxyXG4gICAgICAgIGd1aWRlOiBib29sZWFuOyAvL+aYr+WQpuacieW8leWvvFxyXG4gICAgICAgIHVybDogc3RyaW5nOyAvL+iuv+mXruWfn+WQjVxyXG4gICAgICAgIHN1Y2Nlc3M6IGJvb2xlYW47IC8v55So5oi35ri45oiP5oiQ5Yqf5LiO5ZCmXHJcbiAgICAgICAgbWF0Y2hJZDogYW55OyAvL+eUqOS6juWfi+eCueS4iuS8oOeahElEXHJcbiAgICAgICAgY3VzdG9tOiBudW1iZXI7IC8v55So5LqO5rWL6K+V6Lez5YWz5Y2hXHJcbiAgICAgICAgbGV2ZWw6IG51bWJlcjsgLy/lhbfkvZPmuLjmiI/lhoXov5vooYzliLDnrKzlh6DmraUgXHJcbiAgICAgICAgc3RlcFRpbWVMaXN0OiBudW1iZXI7IC8v5pW05bGA5ri45oiP55So5pe277yM55Sx5LqO5raJ5Y+K5Zy65pmv5YiH5o2i77yM5pWw5o2u6ZyA6KaB5L+d55WZXHJcbiAgICAgICAgc3VjY2Vzc0xpc3Q6IGFueVtdOyAvL+aVtOWxgOiDnOi0n1xyXG4gICAgICAgIGdhbWVUaW1lOiBudW1iZXI7ICAgLy/ljZXmrKHmuLjmiI/lgJLorqHml7bml7bpl7RcclxuICAgICAgICBpZ25pdGVDb3VudDogbnVtYmVyOyAvL+eOqeWutuaAu+iuoeaIkOWKn+eCueeBq+aVsFxyXG4gICAgIFxyXG4gICAgfTtcclxuICAgIHN0YXRpYyBMRVZFTF9JTkZPOiB7IGlkOiBzdHJpbmc7IG1hcDogbnVtYmVyW11bXTsgbWluX3N0ZXBzOiBudW1iZXJ9W11bXTtcclxuICAgIHN0YXRpYyBDVVNUT01fSU5GTzoge1xyXG4gICAgICAgIG1vdmVTcGVlZDogbnVtYmVyOyAvL+a0quWzsOenu+WKqOmAn+W6plxyXG4gICAgICAgIHdhaXRUaW1lOiBudW1iZXI7IC8v5rSq5bOw5Yay5Ye75YCS6K6h5pe2XHJcbiAgICAgICAgZmFzdFBhdGg6IG51bWJlcjsgLy/mnIDnn63ot6/lvoRcclxuICAgIH1bXTtcclxuICAgIHN0YXRpYyBUSU1FX0lORk86IHtcclxuICAgICAgICB3YXRlclNwZWVkOiBudW1iZXJbXTsgLy/mtKrls7DpgJ/luqZcclxuICAgICAgICB0b3RhbFRpbWU6IG51bWJlcjsgLy/muLjmiI/mgLvml7bplb9cclxuICAgICAgICB3YXRlclRpbWU6IG51bWJlcltdOyAvL+a0quWzsOadpeeahOWAkuiuoeaXtlxyXG4gICAgICAgIHJvYWRTcGVlZDogbnVtYmVyOyAvL+ays+mBk+S/ruetkemAn+W6plxyXG4gICAgICAgIFJlaW5mb3JjZVNwZWVkOiBudW1iZXI7IC8v5Yqg5Zu65pe26Ze06YCf5bqmXHJcbiAgICAgICAgWGlfU29pbFNwZWVkOiBudW1iZXI7XHJcbiAgICB9O1xyXG5cclxuXHJcbiAgICAvL+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+t6Lev5b6EXHJcbiAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgXVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvL+aVsOaNruWkh+eUqFxyXG4gICAgc3RhdGljIEdNX0lORk9faW5pdCgpIHtcclxuICAgICAgICB0aGlzLkdNX0lORk8gPSB7XHJcbiAgICAgICAgICAgIC8vIGlzRW5kOiBmYWxzZSxcclxuICAgICAgICAgICAgbWVhbl9UaW1lOiAwLCAgICAgICAgICAgICAgICAvL+W5s+Wdh+aUvueuremAn+W6plxyXG4gICAgICAgICAgICB0b3RhbDogMCwgICAgICAgICAgICAgICAgICAgIC8v5oC75YWx5a+555qE5Liq5pWwXHJcbiAgICAgICAgICAgIGN1cnJTZWVkOiAyMDAwMDAsICAgICAgICAgICAvL+eUqOS6jumaj+acuuaVsOenjeWtkFxyXG4gICAgICAgICAgICBnYW1lSWQ6IFwiMTAwMDEwXCIsICAgICAgICAgICAvL+a4uOaIj0lEXHJcbiAgICAgICAgICAgIHVzZXJJZDogMjAwMTM5LCAgICAgICAgICAgICAgICAgIC8v55So5oi3SURcclxuICAgICAgICAgICAgZ3VpZGU6IHRydWUsICAgICAgICAgICAgICAgICAvL+aYr+WQpuacieW8leWvvFxyXG4gICAgICAgICAgICB1cmw6IFwiaHR0cHM6Ly9hcGkuc3Bhcmt1cy5jblwiLC8v6K6/6Zeu5Z+f5ZCNXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLCAgICAgICAgICAgICAvL+eUqOaIt+a4uOaIj+aIkOWKn+S4juWQplxyXG4gICAgICAgICAgICBtYXRjaElkOiBudWxsLCAgICAgICAgICAgICAgLy/nlKjkuo7ln4vngrnkuIrkvKDnmoRJRFxyXG4gICAgICAgICAgICBjdXN0b206IDAsICAgICAgICAgICAgICAgICAgLy/nlKjkuo7mtYvor5Xot7PlhbPljaFcclxuICAgICAgICAgICAgbGV2ZWw6IDAsICAgICAgICAgICAgICAgICAgICAvL+WFt+S9k+a4uOaIj+WGhei/m+ihjOWIsOesrOWHoOatpSBcclxuICAgICAgICAgICAgc3RlcFRpbWVMaXN0OjAsICAgICAgICAgICAgIC8v5pW05bGA5ri45oiP55So5pe277yM55Sx5LqO5raJ5Y+K5Zy65pmv5YiH5o2i77yM5pWw5o2u6ZyA6KaB5L+d55WZXHJcbiAgICAgICAgICAgIHN1Y2Nlc3NMaXN0OltdLCAgICAgICAgICAgICAgLy/mlbTlsYDog5zotJ9cclxuICAgICAgICAgICAgZ2FtZVRpbWU6NSxcclxuICAgICAgICAgICAgaWduaXRlQ291bnQ6IDAsICAgICAgICAgICAgIC8v546p5a625oC76K6h5oiQ5Yqf54K554Gr5pWwXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICB9XHJcbiAgICBzdGF0aWMgR01fSU5GT19TRVQoa2V5LHZhbHVlKSB7XHJcblxyXG4gICAgICAgIHRoaXMuR01fSU5GT1trZXldID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgQ0xJQ0tfaW5pdCgpIHtcclxuICAgICAgICB0aGlzLkNMSUNLX0RBVEEgPVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdHlwZTogMSwgICAgICAgICAgICAvL+S4iuS8oOaVsOaNruexu+Wei1xyXG4gICAgICAgICAgICBzdWNjZXNzOiBmYWxzZSwgICAgIC8v5q2k5bGA5ri45oiP5q2j56Gu5LiO5ZCmXHJcbiAgICAgICAgICAgIHJvdW5kOiAwLCAgICAgICAgICAgLy/lm57lkIjmlbBcclxuICAgICAgICAgICAgY2hvaWNlOiAwLCAgICAgICAgICAvL+eOqeWutumAieaLqe+8jDDvvJrml7bpl7TmiKrmraLliY3mnKrlgZrpgInmi6nvvIwx77yMMu+8jDPvvJrkuInkuKrmjInpkq7ku47kuIrliLDkuIvkvp3mrKHlr7nlupRcclxuICAgICAgICAgICAgcmlnaHRDaG9pY2U6IDAsICAgICAvL+acrOi9rueahOaMieato+ehruetlOahiO+8jOWQq+S5ieS4jmNob2ljZeebuOWQjFxyXG4gICAgICAgICAgICBpdGVtOiBcIlwiLCAgICAgICAgICAgLy/mraTlhbPlsZXnpLrnmoTnianlk4FcclxuICAgICAgICAgICAgcm91bmRUeXBlOiAwLCAgICAgICAvL+WxleekuuaWueW8j+OAgjHvvJrlm77lg48gMu+8mumfs+mikVxyXG4gICAgICAgICAgICBzdGVwVGltZTogMCwgICAgICAgIC8v546p5a625q+P5LiA5YWz55So5pe25q+r56eS5pWwICDpn7PpopHlhbPljaHku47mkq3mlL7nu5PmnZ/lvIDlp4vorqHml7ZcclxuICAgICAgICAgICAgbGV2ZWxDb25maWc6IDAsICAgICAvL+S9v+eUqOeahOaYr+WTquS4gOWll+WFs+WNoemFjee9rlxyXG4gICAgICAgICAgICBpZ25pdGU6IGZhbHNlLCAgICAgIC8v546p5a625q2k6L2u5pyJ5rKh5pyJ54K554GrXHJcbiAgICAgICAgICAgIGlnbml0ZUNvdW50OiAwLCAgICAgICAgICAgICAvL+eOqeWutuaAu+iuoeaIkOWKn+eCueeBq+aVsFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgQ0xJQ0tfU0VUKGtleSx2YWx1ZSkge1xyXG4gICAgICAgIHRoaXMuQ0xJQ0tfREFUQVtrZXldID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIExFVkVMX0lORk9faW5pdCgpIHtcclxuICAgICAgICB0aGlzLlRJTUVfSU5GTyA9IHtcclxuICAgICAgICAgICAgd2F0ZXJTcGVlZDpbMC4zLDAuMjUsMC4yLDAuMTgsMC4xNiwwLjE0LDAuMTIsMC4xXSwgLy/mtKrls7DpgJ/luqZcclxuICAgICAgICAgICAgdG90YWxUaW1lOjEyMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy/muLjmiI/mgLvml7bplb9cclxuICAgICAgICAgICAgd2F0ZXJUaW1lOlsxMCwxMiwxNCwxNiwxOCwyMCwyMCwyMF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL+a0quWzsOadpeeahOWAkuiuoeaXtlxyXG4gICAgICAgICAgICByb2FkU3BlZWQ6MC4yLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL+ays+mBk+S/ruetkemAn+W6plxyXG4gICAgICAgICAgICBSZWluZm9yY2VTcGVlZDowLjIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL+WKoOWbuuaXtumXtOmAn+W6plxyXG4gICAgICAgICAgICBYaV9Tb2lsU3BlZWQ6MC4yLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL+aBr+WjpOaXtumXtOmAn+W6plxyXG4gICAgICAgIH1cclxuICAgICAgICAvKlxyXG4gICAgICAgIG1vdmVTcGVlZDogMCwgICAgLy/mtKrls7Dnp7vliqjpgJ/luqZcclxuICAgICAgICB3YWl0VGltZTogMjAsICAgLy/mtKrls7DlhrLlh7vlgJLorqHml7ZcclxuICAgICAgICBmYXN0UGF0aDogNSAgIC8v5pyA55+t6Lev5b6EXHJcbiAgICAgICAgKi8gXHJcbiAgICAgICAgLy8gdGhpcy5MRVZFTF9JTkZPID0gW1xyXG4gICAgICAgIC8vICAgICBbIFxyXG4gICAgICAgIC8vICAgICAgICAge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIFwiaWRcIjogMTAwMSxcclxuICAgICAgICAvLyAgICAgICAgICAgICBcIm1hcFwiOiBbXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsNF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMywwLDMsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwzLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMiwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFsxLDAsMCwwLDAsMF1cclxuICAgICAgICAvLyAgICAgICAgICAgICBdXHJcbiAgICAgICAgLy8gICAgICAgICB9LFxyXG4gICAgICAgIC8vICAgICAgICAge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIFwiaWRcIjogMTAwMixcclxuICAgICAgICAvLyAgICAgICAgICAgICBcIm1hcFwiOiBbXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsNF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDEsMCwwLDAsMCwwLDAsMF1cclxuICAgICAgICAvLyAgICAgICAgICAgICBdXHJcbiAgICAgICAgLy8gICAgICAgICB9XHJcbiAgICAgICAgLy8gICAgIF0sXHJcblxyXG4gICAgICBcclxuICAgICAgICAvLyBdXHJcblxyXG4gICAgICAgIHRoaXMuTEVWRUxfSU5GTyA9IFtbe1wiaWRcIjpcIjEwMDFcIixcIm1hcFwiOltbMCw0LDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCwwLDEsMF1dLFwibWluX3N0ZXBzXCI6NH0se1wiaWRcIjpcIjEwMDJcIixcIm1hcFwiOltbMSwwLDAsMF0sWzAsMCwwLDRdLFswLDAsMCwwXSxbMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NH0se1wiaWRcIjpcIjEwMDNcIixcIm1hcFwiOltbMSwwLDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCwwLDAsNF1dLFwibWluX3N0ZXBzXCI6Nn0se1wiaWRcIjpcIjEwMDRcIixcIm1hcFwiOltbMSwwLDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCw0LDAsMF1dLFwibWluX3N0ZXBzXCI6NH0se1wiaWRcIjpcIjEwMDVcIixcIm1hcFwiOltbMSwwLDAsMF0sWzAsMCwwLDBdLFswLDAsMCw0XSxbMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjEwMDZcIixcIm1hcFwiOltbNCwwLDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCwxLDAsMF1dLFwibWluX3N0ZXBzXCI6NH0se1wiaWRcIjpcIjEwMDdcIixcIm1hcFwiOltbMCw0LDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCwwLDAsMV1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjEwMDhcIixcIm1hcFwiOltbMCwwLDAsNF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMSwwLDAsMF1dLFwibWluX3N0ZXBzXCI6Nn1dLFt7XCJpZFwiOlwiMjAwMVwiLFwibWFwXCI6W1swLDAsMCwwLDFdLFswLDAsMCwwLDBdLFswLDAsMywwLDNdLFswLDAsMCwwLDBdLFs0LDAsMCwwLDNdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCIyMDAyXCIsXCJtYXBcIjpbWzAsMSwwLDAsMF0sWzAsMCwwLDAsMF0sWzMsMywwLDAsNF0sWzAsMCwwLDAsMF0sWzMsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjIwMDNcIixcIm1hcFwiOltbMSwwLDAsMywwXSxbMCwwLDMsMCwwXSxbMCwwLDAsMCwwXSxbMCwwLDAsMCwwXSxbMCwzLDAsNCwwXV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiMjAwNFwiLFwibWFwXCI6W1sxLDAsMCwwLDBdLFswLDAsMCwwLDNdLFszLDAsMCwwLDBdLFswLDAsMCwwLDBdLFswLDAsMCwzLDRdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCIyMDA1XCIsXCJtYXBcIjpbWzAsMywwLDAsMF0sWzEsMCwwLDAsMF0sWzAsMCwwLDMsMF0sWzAsMCwwLDAsMF0sWzAsMywwLDQsMF1dLFwibWluX3N0ZXBzXCI6Nn0se1wiaWRcIjpcIjIwMDZcIixcIm1hcFwiOltbMCwxLDAsMCwwXSxbMCwwLDAsMCwzXSxbMCwwLDAsMCwzXSxbMCwwLDAsMCwwXSxbMCwwLDAsMyw0XV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiMjAwN1wiLFwibWFwXCI6W1szLDAsMCwwLDFdLFswLDAsMCwwLDNdLFswLDAsMCwwLDBdLFswLDAsMCwwLDBdLFs0LDMsMCwwLDBdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCIyMDA4XCIsXCJtYXBcIjpbWzMsNCwwLDAsMF0sWzAsMCwwLDAsM10sWzAsMCwwLDMsMV0sWzAsMCwwLDAsMF0sWzAsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6N31dLFt7XCJpZFwiOlwiMzAwMVwiLFwibWFwXCI6W1swLDAsMiwwLDIsNF0sWzAsMiwwLDAsMCwwXSxbMCwwLDIsMCwwLDBdLFsxLDIsMiwwLDAsMF0sWzAsMCwwLDAsMiwwXSxbMCwyLDIsMCwwLDJdXSxcIm1pbl9zdGVwc1wiOjR9LHtcImlkXCI6XCIzMDAyXCIsXCJtYXBcIjpbWzAsMiwwLDAsMiwwXSxbMCwwLDAsMCwwLDBdLFswLDIsMCwwLDIsMV0sWzAsMiwwLDAsMCwwXSxbMCwwLDAsMCwwLDJdLFsyLDAsMiw0LDIsMl1dLFwibWluX3N0ZXBzXCI6NH1dLFt7XCJpZFwiOlwiNDAwMVwiLFwibWFwXCI6W1szLDAsMiwzLDRdLFswLDAsMCwyLDJdLFsyLDMsMywzLDNdLFswLDAsMiwwLDJdLFsxLDAsMiwzLDBdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCI0MDAyXCIsXCJtYXBcIjpbWzMsMCwzLDIsMF0sWzEsMiwwLDMsMl0sWzIsMywwLDAsNF0sWzIsMCwyLDIsMF0sWzMsMywwLDMsMF1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjQwMDNcIixcIm1hcFwiOltbMCwyLDMsMyw0XSxbMiwyLDAsMCwwXSxbMSwzLDMsMywyXSxbMiwyLDMsMiwzXSxbMCwwLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiNDAwNFwiLFwibWFwXCI6W1szLDIsMiwxLDBdLFswLDAsMywyLDJdLFszLDAsMiwzLDBdLFszLDAsMCwzLDNdLFswLDIsNCwwLDJdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCI0MDA1XCIsXCJtYXBcIjpbWzMsMCwzLDAsMF0sWzIsMywwLDAsMV0sWzAsMiwyLDIsM10sWzQsMiwwLDAsMl0sWzMsMywwLDMsMl1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjQwMDZcIixcIm1hcFwiOltbMiwwLDIsMiwwXSxbMSwyLDMsMCwwXSxbMywzLDAsMywyXSxbMywwLDAsMywyXSxbMiwwLDMsMCw0XV0sXCJtaW5fc3RlcHNcIjo2fSx7XCJpZFwiOlwiNDAwN1wiLFwibWFwXCI6W1sxLDIsMCwzLDNdLFsyLDIsMCwyLDBdLFsyLDMsMiwwLDNdLFswLDMsMiwwLDRdLFswLDAsMywwLDNdXSxcIm1pbl9zdGVwc1wiOjZ9LHtcImlkXCI6XCI0MDA4XCIsXCJtYXBcIjpbWzMsMywzLDAsMV0sWzAsMCwwLDAsM10sWzIsMiwzLDIsMl0sWzAsMiwzLDAsM10sWzQsMiwyLDAsMF1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjQwMDlcIixcIm1hcFwiOltbMSwwLDMsMywyXSxbMywwLDIsMCwwXSxbMCwzLDMsMiw0XSxbMCwwLDMsMCwyXSxbMiwyLDIsMCwzXV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiNDAxMFwiLFwibWFwXCI6W1szLDAsMiwwLDRdLFsxLDIsMywwLDNdLFsyLDAsMywyLDBdLFswLDMsMCwwLDNdLFsyLDAsMiwzLDJdXSxcIm1pbl9zdGVwc1wiOjV9XSxbe1wiaWRcIjpcIjUwMDFcIixcIm1hcFwiOltbMSwzLDAsMCwyLDBdLFswLDMsMCwwLDIsMF0sWzAsMCwyLDAsMyw0XSxbMCwwLDAsMiwwLDBdLFszLDMsMCwwLDIsMCwzXSxbMCwwLDIsMiwyLDBdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCI1MDAyXCIsXCJtYXBcIjpbWzAsMiwyLDIsMiwwXSxbMSwwLDAsMCwyLDBdLFswLDAsMCwwLDAsM10sWzAsMCwwLDAsMiwwXSxbMCwzLDMsMCwyLDBdLFszLDAsMCw0LDIsMF1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjUwMDNcIixcIm1hcFwiOltbMCwwLDAsMCwwLDBdLFsyLDAsMCwwLDAsMl0sWzAsMywzLDMsMiw0XSxbMCwzLDAsMywyLDBdLFswLDAsMCwwLDAsM10sWzAsMCwyLDMsMCwxXV0sXCJtaW5fc3RlcHNcIjo2fSx7XCJpZFwiOlwiNTAwNFwiLFwibWFwXCI6W1syLDAsMywwLDAsNF0sWzAsMiwzLDMsMCwwXSxbMCwzLDAsMCwwLDBdLFszLDAsMCwwLDIsMl0sWzMsMCwwLDIsMCwwXSxbMSwwLDAsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjZ9LHtcImlkXCI6XCI1MDA1XCIsXCJtYXBcIjpbWzEsMCwwLDAsMCwyXSxbMCwwLDAsMiwwLDBdLFszLDIsMCwwLDAsMF0sWzAsMywwLDAsMiwzXSxbMCwwLDMsMywwLDBdLFszLDAsMCwyLDMsNF1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjUwMDZcIixcIm1hcFwiOltbNCwzLDAsMywwLDBdLFswLDIsMCwzLDAsMF0sWzMsMCwwLDAsMywyXSxbMCwzLDAsMCwyLDFdLFswLDAsMiwwLDAsMF0sWzAsMCwwLDAsMiwzXV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiNTAwN1wiLFwibWFwXCI6W1s0LDIsMiwwLDIsMF0sWzAsMywwLDIsMCwwXSxbMCwyLDMsMCwzLDBdLFswLDAsMywwLDAsM10sWzAsMCwzLDAsMCwwXSxbMCwwLDAsMywwLDFdXSxcIm1pbl9zdGVwc1wiOjd9LHtcImlkXCI6XCI1MDA4XCIsXCJtYXBcIjpbWzAsMCwyLDMsMCwwXSxbMCwzLDAsMiwzLDJdLFszLDAsMCwwLDAsMF0sWzAsMywwLDAsMyw0XSxbMCwwLDAsMCwwLDNdLFswLDIsMCwyLDAsMV1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjUwMDlcIixcIm1hcFwiOltbMCwzLDMsMCwwLDRdLFsyLDAsMCwzLDAsMF0sWzIsMCwwLDMsMCwwXSxbMSwwLDAsMCwzLDBdLFswLDAsMiwzLDAsMl0sWzIsMywwLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNTAxMFwiLFwibWFwXCI6W1swLDAsMSwzLDIsMF0sWzMsMCwwLDAsMywyXSxbMywwLDAsMCwwLDNdLFsyLDAsMCwwLDAsMF0sWzAsMiwwLDAsMywwXSxbMCwyLDAsMyw0LDBdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI1MDExXCIsXCJtYXBcIjpbWzEsMCwwLDAsMCwwXSxbMywzLDAsMCwwLDJdLFswLDAsMCwzLDAsMl0sWzIsMCwzLDAsMywwXSxbMiwwLDMsMCwwLDNdLFs0LDAsMCwwLDAsMl1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjUwMTJcIixcIm1hcFwiOltbMiwyLDMsMCwyLDBdLFswLDMsMCwwLDAsMF0sWzAsMCwwLDAsMyw0XSxbMCwyLDAsMywwLDNdLFswLDAsMCwwLDAsMF0sWzAsMCwyLDMsMywxXV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNTAxM1wiLFwibWFwXCI6W1swLDAsMCwwLDMsMF0sWzQsMiwwLDMsMCwwXSxbMywyLDAsMCwwLDBdLFsxLDMsMCwzLDAsMF0sWzIsMCwwLDIsMCwwXSxbMywwLDAsMywyLDBdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI1MDE0XCIsXCJtYXBcIjpbWzAsMCwzLDAsMiwyXSxbMCwyLDMsMCwwLDFdLFswLDMsMywwLDAsM10sWzAsMiwwLDAsMCwwXSxbMCwwLDAsMywzLDBdLFsyLDAsNCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6N30se1wiaWRcIjpcIjUwMTVcIixcIm1hcFwiOltbMiwwLDAsMCwwLDBdLFswLDAsMCwwLDMsMV0sWzMsMCwyLDAsMCwzXSxbMiwwLDAsMiwzLDBdLFszLDAsMywwLDAsMF0sWzIsMCwwLDMsNCwwXV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiNTAxNlwiLFwibWFwXCI6W1swLDAsMywwLDAsMV0sWzIsMywwLDAsMywwXSxbMiwwLDAsMCwwLDJdLFswLDMsMCwwLDAsMF0sWzAsMywwLDAsMiwwXSxbMCw0LDMsMCwyLDNdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI1MDE3XCIsXCJtYXBcIjpbWzEsMiwzLDAsMywyXSxbMywwLDAsMCwwLDBdLFswLDAsMCwwLDAsM10sWzMsMywwLDMsMiwwXSxbMCwyLDAsMCwwLDBdLFs0LDAsMCwyLDAsMF1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjUwMThcIixcIm1hcFwiOltbMCwwLDEsMCwyLDBdLFswLDAsMCwwLDAsMF0sWzAsMCwzLDIsMywwXSxbMywwLDAsMywwLDBdLFsyLDMsMCwyLDAsMF0sWzQsMiwwLDMsMywwXV0sXCJtaW5fc3RlcHNcIjo4fV0sW3tcImlkXCI6XCI2MDAxXCIsXCJtYXBcIjpbWzEsMCwwLDAsMCwwXSxbMCwyLDIsMywwLDJdLFszLDIsMCwwLDMsM10sWzAsMCwwLDAsMCw0XSxbMCwwLDAsMiwyLDBdLFszLDAsMiwyLDAsMF1dLFwibWluX3N0ZXBzXCI6N30se1wiaWRcIjpcIjYwMDJcIixcIm1hcFwiOltbMCwwLDAsMCw0LDNdLFszLDIsMywwLDAsMF0sWzAsMiwwLDIsMywwXSxbMiwyLDAsMCwwLDBdLFszLDIsMCwwLDAsMF0sWzMsMCwwLDIsMCwzXSxbMiwwLDAsMywwLDFdXSxcIm1pbl9zdGVwc1wiOjd9LHtcImlkXCI6XCI2MDAzXCIsXCJtYXBcIjpbWzAsMCwxLDMsMCwyXSxbMCwzLDMsMCwwLDBdLFswLDAsMywyLDAsMF0sWzAsMCwzLDAsMCwwXSxbMywwLDAsMCwyLDJdLFswLDAsMiwzLDAsMF0sWzAsMiwwLDMsMCw0XV0sXCJtaW5fc3RlcHNcIjoxMH0se1wiaWRcIjpcIjYwMDRcIixcIm1hcFwiOltbMCwzLDMsMiwzLDBdLFsyLDAsMiwwLDMsMF0sWzEsMCwzLDIsMCwwXSxbMywzLDAsMCwwLDJdLFswLDAsMCwwLDAsMF0sWzAsMiwwLDAsMCwwXSxbMCwwLDAsMyw0LDBdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI2MDA1XCIsXCJtYXBcIjpbWzAsMCwwLDAsMCwxXSxbMCwwLDIsMCwyLDBdLFszLDIsMiwwLDAsMF0sWzMsMCwwLDMsMCwwXSxbMywzLDAsMCwwLDNdLFs0LDMsMCwwLDAsMF0sWzIsMCwwLDIsMywwXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNjAwNlwiLFwibWFwXCI6W1swLDMsMCwwLDAsMF0sWzEsMCwwLDAsMywwXSxbMCwwLDMsMiwwLDBdLFszLDAsMCwyLDIsMF0sWzAsMywwLDMsMywwXSxbMCwyLDAsMCwwLDBdLFs0LDAsMywwLDIsMl1dLFwibWluX3N0ZXBzXCI6OX0se1wiaWRcIjpcIjYwMDdcIixcIm1hcFwiOltbMCwyLDAsMywwLDBdLFsxLDIsMCwyLDAsMF0sWzAsMywwLDMsMCwwXSxbMywwLDAsMCwwLDNdLFswLDAsMywyLDAsMl0sWzQsMCwwLDMsMCwzXSxbMCwyLDAsMCwwLDBdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI2MDA4XCIsXCJtYXBcIjpbWzMsMCwzLDIsMCw0XSxbMCwzLDAsMiwwLDJdLFswLDAsMywwLDAsMF0sWzIsMCwwLDIsMCwwXSxbMCwwLDMsMCwwLDBdLFswLDAsMCwzLDAsMF0sWzMsMiwxLDMsMCwwXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNjAwOVwiLFwibWFwXCI6W1swLDIsMCwwLDAsM10sWzAsMCwzLDMsMyw0XSxbMCwzLDAsMCwwLDBdLFswLDMsMiwwLDAsMF0sWzEsMiwzLDIsMCwzXSxbMiwwLDAsMCwwLDBdLFswLDAsMCwwLDIsMF1dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI2MDEwXCIsXCJtYXBcIjpbWzAsMywxLDAsMCwwXSxbMCwyLDMsMywwLDBdLFswLDIsMCwzLDAsMF0sWzAsMiwwLDIsMCwzXSxbMCwyLDAsMCwzLDBdLFswLDMsMCwwLDAsMF0sWzAsMiw0LDAsMCwzXV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNjAxMVwiLFwibWFwXCI6W1sxLDAsMywwLDMsMF0sWzAsMiwwLDAsMCwwXSxbMiwwLDIsMCwzLDBdLFswLDMsMiwwLDAsMF0sWzMsMCwwLDAsMCwyXSxbNCwwLDMsMCwwLDBdLFszLDIsMCwwLDAsM11dLFwibWluX3N0ZXBzXCI6OX0se1wiaWRcIjpcIjYwMTJcIixcIm1hcFwiOltbMiwzLDAsMiwwLDFdLFsyLDAsMCwwLDAsMF0sWzIsMCwwLDMsMCwyXSxbMywwLDMsMCwwLDNdLFswLDAsMCwwLDMsM10sWzMsMCwwLDAsMiwwXSxbMCwwLDAsMCwwLDRdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI2MDEzXCIsXCJtYXBcIjpbWzAsMCwyLDEsMiwwXSxbMCwzLDAsMCwwLDBdLFsyLDAsMCwwLDAsMF0sWzAsMCwwLDMsMCwwXSxbMywwLDAsMiwzLDBdLFszLDMsMywyLDAsMl0sWzAsMCw0LDAsMCwzXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNjAxNFwiLFwibWFwXCI6W1swLDEsMCwwLDAsMF0sWzIsMCwyLDAsMCwyXSxbMiwzLDAsMywwLDBdLFswLDMsMCwwLDAsM10sWzAsMCwwLDIsMCwzXSxbMCwwLDMsMCwzLDBdLFsyLDAsMywwLDAsNF1dLFwibWluX3N0ZXBzXCI6OX0se1wiaWRcIjpcIjYwMTVcIixcIm1hcFwiOltbMSwyLDMsMiwyLDBdLFszLDAsMCwwLDAsM10sWzAsMCwwLDAsMCwwXSxbMCwwLDAsMCwwLDJdLFswLDMsMCwzLDIsMF0sWzAsMCwwLDAsMCwwXSxbMCwyLDAsNCwwLDNdXSxcIm1pbl9zdGVwc1wiOjd9LHtcImlkXCI6XCI2MDE2XCIsXCJtYXBcIjpbWzMsMCwxLDAsMCwwXSxbMCwyLDAsMiwwLDBdLFswLDIsMCwyLDAsM10sWzAsMCwwLDAsMCwwXSxbMCwyLDAsMCwzLDNdLFswLDAsMCwwLDIsM10sWzAsMCwwLDMsMCw0XV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiNjAxN1wiLFwibWFwXCI6W1swLDAsMCwwLDAsMF0sWzEsMiwzLDAsMCwyXSxbMCwwLDIsMCwwLDJdLFszLDAsMiwzLDAsMF0sWzAsMywzLDAsMiwwXSxbMCwwLDAsMCwwLDBdLFs0LDAsMywwLDAsMF1dLFwibWluX3N0ZXBzXCI6OX0se1wiaWRcIjpcIjYwMThcIixcIm1hcFwiOltbMCwyLDAsMSwwLDBdLFsyLDAsMCwzLDAsMF0sWzAsMCwwLDAsMCwwXSxbMywwLDAsMCwwLDBdLFsyLDMsMCwyLDMsM10sWzIsMCwwLDAsMCwyXSxbNCwzLDAsMCwwLDBdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI2MDE5XCIsXCJtYXBcIjpbWzEsMywwLDIsMywwXSxbMCwwLDAsMCwwLDJdLFswLDAsMCwwLDAsMF0sWzAsMCwyLDAsMCwyXSxbMywzLDAsMywwLDJdLFs0LDAsMiwwLDAsMF0sWzAsMCwwLDMsMCwwXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNjAyMFwiLFwibWFwXCI6W1swLDAsMCwyLDAsMF0sWzAsMywwLDAsMCwzXSxbMCwyLDAsMCwzLDBdLFsyLDAsMCwyLDMsNF0sWzAsMiwzLDAsMCwwXSxbMCwwLDAsMywwLDBdLFszLDIsMCwxLDMsMF1dLFwibWluX3N0ZXBzXCI6MTF9XSxbe1wiaWRcIjpcIjcwMDFcIixcIm1hcFwiOltbMCwwLDMsMyw0LDJdLFswLDAsMCwyLDAsMF0sWzIsMywzLDIsMCwwXSxbMCwzLDAsMCwwLDJdLFswLDAsMCwzLDIsMl0sWzIsMCwwLDMsMCwyXSxbMSwzLDIsMCwwLDBdLFswLDAsMCwzLDAsMF1dLFwibWluX3N0ZXBzXCI6OX0se1wiaWRcIjpcIjcwMDJcIixcIm1hcFwiOltbMCwwLDMsMyw0LDJdLFswLDAsMCwyLDAsMF0sWzIsMywzLDIsMCwwXSxbMCwzLDAsMCwwLDJdLFswLDAsMCwzLDIsMl0sWzIsMCwwLDMsMCwyXSxbMSwzLDIsMCwwLDBdLFswLDAsMCwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDAzXCIsXCJtYXBcIjpbWzAsMiwyLDAsMCw0XSxbMCwzLDMsMCwwLDBdLFszLDIsMCwwLDAsMF0sWzAsMywwLDAsMywzXSxbMCwyLDAsMywwLDBdLFsyLDMsMCwwLDAsMF0sWzAsMiwzLDAsMCwwXSxbMSwyLDMsMCwyLDBdXSxcIm1pbl9zdGVwc1wiOjEyfSx7XCJpZFwiOlwiNzAwNFwiLFwibWFwXCI6W1swLDMsMCwyLDIsMF0sWzAsMCwwLDAsMCwyXSxbMywwLDAsMCwwLDBdLFswLDMsMCwwLDAsMF0sWzAsMywzLDAsMywwXSxbMiwwLDAsMCwzLDJdLFsyLDAsMCwwLDMsMV0sWzQsMywwLDIsMywyXV0sXCJtaW5fc3RlcHNcIjoxM30se1wiaWRcIjpcIjcwMDVcIixcIm1hcFwiOltbMiwyLDQsMiwzLDBdLFswLDMsMywyLDAsMF0sWzMsMCwwLDMsMCwyXSxbMywwLDIsMywzLDBdLFswLDAsMCwwLDAsMF0sWzAsMCwwLDAsMiwzXSxbMywyLDAsMCwwLDFdLFswLDAsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDA2XCIsXCJtYXBcIjpbWzEsMCwyLDAsMCwzXSxbMCwwLDAsMCwzLDBdLFszLDAsMCwzLDIsMF0sWzIsMywwLDAsMCwzXSxbMCwwLDMsMiwwLDNdLFswLDIsMCwzLDAsMF0sWzIsMywwLDIsMCwwXSxbMCw0LDAsMiwwLDBdXSxcIm1pbl9zdGVwc1wiOjExfSx7XCJpZFwiOlwiNzAwN1wiLFwibWFwXCI6W1szLDIsMCwwLDMsNF0sWzAsMiwwLDAsMywwXSxbMCwwLDIsMCwyLDBdLFsyLDAsMCwzLDAsM10sWzAsMCwyLDAsMywyXSxbMCwyLDMsMywwLDFdLFswLDAsMCwwLDAsM10sWzAsMCwwLDMsMCwwXV0sXCJtaW5fc3RlcHNcIjoxM30se1wiaWRcIjpcIjcwMDhcIixcIm1hcFwiOltbMCwwLDIsMCwzLDRdLFszLDMsMiwzLDAsMF0sWzAsMCwwLDAsMCwzXSxbMCwwLDIsMywyLDBdLFswLDAsMiwwLDMsMl0sWzMsMywwLDAsMCwyXSxbMCwzLDAsMCwwLDBdLFsyLDEsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI3MDA5XCIsXCJtYXBcIjpbWzQsMywwLDAsMywwXSxbMCwwLDAsMCwwLDBdLFszLDMsMCwyLDAsMl0sWzMsMCwwLDIsMiwwXSxbMiwzLDIsMCwwLDBdLFsxLDMsMywwLDAsMF0sWzIsMCwwLDAsMCwwXSxbMywzLDAsMCwwLDJdXSxcIm1pbl9zdGVwc1wiOjExfSx7XCJpZFwiOlwiNzAxMFwiLFwibWFwXCI6W1swLDMsMSwwLDAsMF0sWzAsMiwzLDMsMCwwXSxbMiwwLDAsMywwLDBdLFswLDIsMCwwLDMsMl0sWzMsMCwwLDAsMCwyXSxbMywyLDAsMCwwLDBdLFs0LDAsMCwzLDIsMF0sWzAsMywwLDMsMiwwXV0sXCJtaW5fc3RlcHNcIjoxM30se1wiaWRcIjpcIjcwMTFcIixcIm1hcFwiOltbMywwLDIsMiwzLDJdLFsxLDAsMCwwLDAsM10sWzAsMCwzLDIsMywwXSxbMywwLDMsMCwwLDBdLFs0LDMsMiwzLDAsMl0sWzAsMCwyLDAsMiwzXSxbMiwwLDAsMCwwLDNdLFswLDAsMCwyLDAsM11dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDEyXCIsXCJtYXBcIjpbWzMsMCwwLDAsMiwwXSxbMCwzLDAsMywwLDBdLFswLDMsMCwwLDAsM10sWzIsMCwwLDMsMiwwXSxbMywyLDIsMiwwLDBdLFszLDAsMiwwLDMsMF0sWzEsMiwzLDAsMiwwXSxbMiwzLDAsMCwzLDRdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI3MDEzXCIsXCJtYXBcIjpbWzMsMCwwLDIsMiwwXSxbMCwyLDAsMywwLDJdLFswLDAsMywyLDMsMF0sWzAsMywwLDAsMywwXSxbMiwyLDMsMiwwLDBdLFswLDAsMywzLDAsMF0sWzAsMiwwLDMsMiwwXSxbNCwzLDMsMCwxLDBdXSxcIm1pbl9zdGVwc1wiOjEwfSx7XCJpZFwiOlwiNzAxNFwiLFwibWFwXCI6W1s0LDMsMCwwLDAsMF0sWzAsMiwyLDIsMywwXSxbMCwzLDAsMCwwLDBdLFsyLDMsMiwzLDAsMF0sWzMsMywwLDAsMCwzXSxbMCwwLDAsMiwzLDBdLFswLDMsMiwwLDIsMl0sWzIsMywzLDAsMCwxXV0sXCJtaW5fc3RlcHNcIjoxMn0se1wiaWRcIjpcIjcwMTVcIixcIm1hcFwiOltbNCwwLDAsMCwyLDNdLFswLDAsMywwLDAsM10sWzIsMiwzLDIsMCwwXSxbMywwLDAsMCwzLDJdLFsyLDMsMCwzLDAsMl0sWzAsMCwzLDAsMiwzXSxbMCwwLDAsMCwwLDNdLFsxLDIsMiwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTR9LHtcImlkXCI6XCI3MDE2XCIsXCJtYXBcIjpbWzAsMCwxLDAsMiwzXSxbMCwzLDIsMCwyLDBdLFszLDMsMywzLDAsMF0sWzMsMCwwLDAsMCwwXSxbMiwyLDMsMCwzLDNdLFswLDAsMiwwLDIsMF0sWzAsMiwwLDIsMCwzXSxbMywwLDIsMCwwLDRdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI3MDE3XCIsXCJtYXBcIjpbWzQsMCwwLDAsMCwzXSxbMCwzLDMsMCwwLDBdLFszLDAsMiwyLDAsMF0sWzMsMCwyLDMsMywyXSxbMywyLDAsMiwzLDNdLFsyLDAsMiwwLDAsMF0sWzAsMCwwLDAsMCwzXSxbMiwzLDAsMiwwLDFdXSxcIm1pbl9zdGVwc1wiOjEwfSx7XCJpZFwiOlwiNzAxOFwiLFwibWFwXCI6W1syLDMsMCwwLDIsM10sWzIsMCwwLDMsMCw0XSxbMiwwLDAsMCwwLDBdLFswLDMsMiwwLDIsM10sWzAsMCwwLDAsMCwzXSxbMiwwLDMsMywyLDNdLFswLDAsMCwzLDIsMF0sWzIsMywxLDMsMCwwXV0sXCJtaW5fc3RlcHNcIjoxMX0se1wiaWRcIjpcIjcwMTlcIixcIm1hcFwiOltbNCwwLDAsMCwyLDNdLFswLDAsMywwLDAsM10sWzIsMiwzLDIsMCwwXSxbMywwLDAsMCwzLDJdLFsyLDMsMCwzLDAsMl0sWzAsMCwzLDAsMiwzXSxbMCwwLDAsMCwwLDNdLFsxLDIsMiwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTR9LHtcImlkXCI6XCI3MDIwXCIsXCJtYXBcIjpbWzMsMiwwLDAsMCwwXSxbNCwwLDIsMCwyLDBdLFszLDMsMCwwLDIsMl0sWzAsMCwzLDAsMiwwXSxbMCwwLDAsMCwyLDNdLFswLDIsMywzLDAsMF0sWzIsMywwLDAsMywzXSxbMSwzLDMsMiwwLDBdXSxcIm1pbl9zdGVwc1wiOjEyfSx7XCJpZFwiOlwiNzAyMVwiLFwibWFwXCI6W1s0LDMsMCwwLDAsMF0sWzAsMiwyLDIsMywwXSxbMCwzLDAsMCwwLDBdLFsyLDMsMiwzLDAsMF0sWzMsMywwLDAsMCwzXSxbMCwwLDAsMiwzLDBdLFswLDMsMiwwLDIsMl0sWzIsMywzLDAsMCwxXV0sXCJtaW5fc3RlcHNcIjoxMn1dLFt7XCJpZFwiOlwiODAwMVwiLFwibWFwXCI6W1swLDIsMCwwLDIsMF0sWzMsMywwLDIsMCw0XSxbMCwwLDAsMCwwLDNdLFswLDAsMCwwLDMsMl0sWzAsMCwwLDAsMCwyXSxbMywzLDAsMCwwLDJdLFswLDMsMywyLDIsMF0sWzAsMywyLDIsMCwzXSxbMSwyLDAsMCwyLDBdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI4MDAyXCIsXCJtYXBcIjpbWzEsMCwzLDIsMCwyXSxbMCwzLDAsMCwwLDJdLFswLDIsMCwzLDIsMl0sWzAsMywwLDAsMCwwXSxbMCwyLDAsMywzLDBdLFszLDIsMiwwLDAsM10sWzAsMywyLDMsMCwyXSxbMCwwLDAsMCwwLDBdLFsyLDAsMCwyLDMsNF1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI4MDAzXCIsXCJtYXBcIjpbWzEsMywyLDAsMCwwXSxbMCwwLDAsMiwwLDBdLFswLDMsMCwyLDAsMF0sWzMsMywzLDIsMCwzXSxbMiwzLDMsMCwzLDBdLFswLDAsMCwwLDAsMl0sWzMsMCwyLDIsMywyXSxbNCwyLDAsMCwyLDBdLFswLDAsMiwwLDAsMl1dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI4MDA0XCIsXCJtYXBcIjpbWzIsMCwwLDIsMCwwXSxbMCwzLDAsMCwwLDFdLFswLDIsMCwwLDAsMF0sWzAsMCwwLDAsMiwwXSxbMCwwLDMsMywzLDJdLFswLDAsMCwzLDIsM10sWzAsMCwyLDAsMCwzXSxbMCwyLDMsMiwyLDRdLFszLDIsMiwwLDMsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI4MDA1XCIsXCJtYXBcIjpbWzAsMCwwLDAsMCwwXSxbMCwwLDAsMywyLDRdLFswLDMsMCwwLDMsM10sWzMsMywwLDIsMCwzXSxbMCwyLDIsMCwzLDJdLFswLDAsMywwLDIsMF0sWzAsMiwwLDIsMCwwXSxbMywwLDAsMiwyLDBdLFswLDAsMiwyLDAsMV1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI4MDA2XCIsXCJtYXBcIjpbWzAsMCwwLDAsMiwzXSxbMywyLDAsMCwwLDBdLFswLDIsMCwzLDMsNF0sWzAsMCwwLDIsMiwzXSxbMiwwLDAsMCwwLDBdLFswLDAsMCwwLDMsMF0sWzMsMCwzLDMsMCwyXSxbMywwLDIsMiwwLDJdLFswLDAsMiwyLDAsMV1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI4MDA3XCIsXCJtYXBcIjpbWzIsMCwyLDAsMiwwXSxbMCwwLDIsMCwzLDJdLFswLDAsMCwzLDMsMF0sWzAsMiwwLDAsMywyXSxbMywwLDAsMiwwLDBdLFszLDMsMCwwLDAsMl0sWzAsMiwwLDMsMiwwXSxbMCwyLDMsMCwwLDBdLFs0LDMsMCwwLDEsMF1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI4MDA4XCIsXCJtYXBcIjpbWzEsMCwwLDAsMiwwXSxbMywzLDIsMCwzLDBdLFszLDAsMywwLDAsMF0sWzAsMCwzLDAsMCwzXSxbMiwyLDAsMywwLDNdLFsyLDAsMiwwLDAsMF0sWzIsMCwyLDAsMCwyXSxbMiwwLDAsMiwwLDBdLFs0LDMsMCwwLDAsMl1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI4MDA5XCIsXCJtYXBcIjpbWzQsMCwzLDEsMCwyXSxbMCwyLDMsMywzLDBdLFswLDIsMywyLDIsMF0sWzMsMCwzLDAsMCwyXSxbMCwwLDAsMCwwLDBdLFszLDIsMCwwLDIsMF0sWzMsMiwwLDAsMiwwXSxbMCwwLDIsMiwyLDBdLFswLDAsMCwwLDMsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI4MDEwXCIsXCJtYXBcIjpbWzQsMywwLDMsMSwwXSxbMCwwLDMsMywwLDBdLFswLDMsMCwwLDIsMl0sWzIsMCwzLDAsMCwyXSxbMywyLDAsMiwzLDBdLFswLDAsMCwwLDAsMF0sWzAsMiwwLDIsMiwwXSxbMCwyLDAsMywwLDJdLFswLDIsMCwwLDAsM11dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI4MDExXCIsXCJtYXBcIjpbWzAsMSwwLDAsMiwwXSxbMywwLDMsMywyLDNdLFswLDMsMywyLDAsMF0sWzAsMCwyLDAsMywzXSxbMiwzLDIsMCwwLDBdLFszLDIsMiwzLDMsMF0sWzIsMCwyLDIsMCw0XSxbMCwyLDAsMywwLDBdLFswLDAsMCwzLDAsM11dLFwibWluX3N0ZXBzXCI6MTR9LHtcImlkXCI6XCI4MDEyXCIsXCJtYXBcIjpbWzEsMywzLDMsMCwwXSxbMCwzLDAsMiwwLDBdLFswLDAsMCwzLDAsMl0sWzMsMCwwLDMsMiwzXSxbMCwwLDIsMCwwLDNdLFswLDAsMiwzLDIsMF0sWzIsMiwzLDIsMywyXSxbMCwzLDAsMiwwLDJdLFswLDMsNCwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTd9LHtcImlkXCI6XCI4MDEzXCIsXCJtYXBcIjpbWzAsMSwwLDAsMywzXSxbMCwyLDAsMywwLDBdLFsyLDMsMCwwLDAsMF0sWzAsMCwwLDMsMCwzXSxbMCwzLDAsMiwzLDJdLFsyLDAsMywzLDIsMF0sWzAsMiwyLDMsMCwyXSxbMiwzLDIsMCwzLDBdLFswLDMsMywwLDIsNF1dLFwibWluX3N0ZXBzXCI6MTd9LHtcImlkXCI6XCI4MDE0XCIsXCJtYXBcIjpbWzMsNCwyLDMsMCwwXSxbMiwzLDAsMywwLDBdLFswLDIsMiwwLDAsMF0sWzAsMywzLDAsMywzXSxbMCwwLDAsMCwwLDBdLFszLDIsMCwwLDIsMl0sWzIsMiwyLDIsMCwzXSxbMCwwLDMsMywwLDNdLFsxLDIsMCwzLDMsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI4MDE1XCIsXCJtYXBcIjpbWzIsMyw0LDAsMywwXSxbMSwyLDMsMiwzLDBdLFswLDAsMywwLDIsMF0sWzIsMCwwLDMsMCwwXSxbMiwyLDAsMiwwLDNdLFswLDAsMiwwLDAsMF0sWzMsMCwwLDMsMywwXSxbMCwwLDMsMCwyLDNdLFszLDAsMywyLDMsMl1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI4MDE2XCIsXCJtYXBcIjpbWzIsMyw0LDAsMCwzXSxbMCwzLDIsMiwzLDFdLFswLDIsMiwzLDAsMF0sWzMsMCwzLDAsMiwwXSxbMywwLDAsMCwyLDJdLFswLDAsMywzLDAsMF0sWzAsMywwLDMsMiwwXSxbMCwwLDMsMCwzLDJdLFswLDIsMiwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI4MDE3XCIsXCJtYXBcIjpbWzIsMCwwLDMsMCwzXSxbNCwzLDAsMiwwLDNdLFszLDAsMCwwLDMsMF0sWzIsMCwwLDIsMCwwXSxbMywwLDAsMywwLDBdLFsyLDMsMCwyLDIsMl0sWzEsMywzLDAsMiwyXSxbMCwzLDAsMCwzLDBdLFswLDIsMCwzLDMsMl1dLFwibWluX3N0ZXBzXCI6MTR9LHtcImlkXCI6XCI4MDE4XCIsXCJtYXBcIjpbWzAsMCwwLDAsMCwyXSxbMSwwLDMsMywwLDJdLFszLDMsMCwzLDIsM10sWzAsMywwLDIsMCwwXSxbMCwzLDAsMCwyLDJdLFszLDAsMCwyLDMsMF0sWzAsMywzLDMsMCwwXSxbMiwwLDMsMCwwLDJdLFsyLDQsMiwwLDMsMl1dLFwibWluX3N0ZXBzXCI6MTd9LHtcImlkXCI6XCI4MDE5XCIsXCJtYXBcIjpbWzAsMywwLDIsMywxXSxbMCwzLDAsMiwwLDJdLFswLDIsMiwwLDMsM10sWzAsMCwzLDIsMCwzXSxbMCwwLDMsMiwyLDBdLFsyLDIsMywwLDIsMl0sWzAsMywwLDAsMywwXSxbMywwLDAsMywzLDBdLFswLDAsMCwzLDAsNF1dLFwibWluX3N0ZXBzXCI6MTR9LHtcImlkXCI6XCI4MDIwXCIsXCJtYXBcIjpbWzIsMywwLDQsMywzXSxbMywzLDAsMCwzLDBdLFswLDIsMCwzLDIsMF0sWzAsMywwLDAsMCwyXSxbMywyLDAsMCwwLDBdLFswLDAsMywyLDAsM10sWzAsMywwLDMsMiwwXSxbMywyLDIsMCwwLDJdLFswLDAsMiwxLDMsMl1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI4MDIxXCIsXCJtYXBcIjpbWzAsMCwwLDAsMiw0XSxbMywwLDIsMCwwLDBdLFszLDAsMiwzLDMsM10sWzIsMCwzLDMsMywwXSxbMiwwLDAsMCwyLDNdLFszLDMsMCwwLDAsMl0sWzEsMCwzLDAsMiwyXSxbMiwyLDAsMiwwLDBdLFswLDAsMywzLDAsM11dLFwibWluX3N0ZXBzXCI6MTR9LHtcImlkXCI6XCI4MDIyXCIsXCJtYXBcIjpbWzQsMCwwLDAsMCwwXSxbMCwwLDAsMCwzLDJdLFszLDMsMiwzLDMsMl0sWzIsMCwwLDAsMCwyXSxbMCwwLDMsMCwzLDNdLFsyLDAsMiwzLDIsMV0sWzMsMiwzLDAsMCwzXSxbMiwwLDAsMywyLDJdLFszLDMsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6MTV9LHtcImlkXCI6XCI4MDIzXCIsXCJtYXBcIjpbWzMsMiwwLDIsMCwxXSxbMCwzLDMsMiwzLDNdLFswLDMsMywwLDMsMF0sWzAsMiwyLDIsMCwzXSxbMCwzLDIsMCwwLDNdLFswLDAsMCwwLDIsMF0sWzIsMiwyLDMsMCwwXSxbMiwwLDMsMCwzLDBdLFswLDAsMywwLDAsNF1dLFwibWluX3N0ZXBzXCI6OX0se1wiaWRcIjpcIjgwMjRcIixcIm1hcFwiOltbMSwzLDIsMCwwLDNdLFsyLDMsMiwwLDAsMF0sWzAsMiwzLDAsMywzXSxbMywwLDAsMiwwLDNdLFsyLDMsMCwwLDAsM10sWzMsMywwLDAsMCwwXSxbMiwwLDMsMCwwLDJdLFswLDAsMiwwLDIsMl0sWzQsMiwzLDAsMywwXV0sXCJtaW5fc3RlcHNcIjoxMn0se1wiaWRcIjpcIjgwMjVcIixcIm1hcFwiOltbMiwzLDEsMCwzLDNdLFswLDAsMiwzLDIsMF0sWzAsMiwwLDAsMCwzXSxbMCwzLDAsMCwwLDNdLFsyLDAsMCwzLDIsMF0sWzAsMCwyLDMsMCwyXSxbMiwwLDMsMiwwLDNdLFszLDMsMCwwLDMsM10sWzIsNCwwLDIsMCwwXV0sXCJtaW5fc3RlcHNcIjoxM30se1wiaWRcIjpcIjgwMjZcIixcIm1hcFwiOltbMiw0LDIsMCwwLDBdLFswLDMsMywwLDMsMF0sWzMsMywzLDAsMCwzXSxbMiwwLDMsMCwwLDJdLFswLDIsMiwzLDAsM10sWzEsMCwyLDAsMiwwXSxbMywzLDAsMCwwLDBdLFsyLDAsMCwwLDMsMl0sWzIsMCwzLDIsMywwXV0sXCJtaW5fc3RlcHNcIjoxMX0se1wiaWRcIjpcIjgwMjdcIixcIm1hcFwiOltbMiwwLDAsMCwwLDJdLFswLDAsMywzLDIsM10sWzAsMCwzLDAsMCwxXSxbMCwzLDAsMywzLDNdLFswLDAsMCwwLDAsMl0sWzMsMywyLDAsMCwyXSxbMywzLDAsMiwwLDNdLFswLDMsMiwyLDIsMF0sWzAsMyw0LDIsMiwwXV0sXCJtaW5fc3RlcHNcIjoxMX0se1wiaWRcIjpcIjgwMjhcIixcIm1hcFwiOltbMCwyLDEsMywwLDJdLFswLDMsMywzLDAsMl0sWzAsMCwwLDMsMCwyXSxbMywwLDAsMywyLDRdLFsyLDAsMCwzLDIsMl0sWzIsMiwzLDAsMCwzXSxbMCwyLDAsMCwwLDBdLFswLDMsMywzLDIsMF0sWzAsMywwLDMsMCwwXV0sXCJtaW5fc3RlcHNcIjoxNn0se1wiaWRcIjpcIjgwMjlcIixcIm1hcFwiOltbMCwwLDEsMCwwLDBdLFszLDMsMCwwLDMsMl0sWzMsMCwwLDAsMiwwXSxbMCwyLDAsMiwyLDBdLFsyLDMsMywzLDAsM10sWzMsMiwyLDMsMCwwXSxbMiwwLDMsMCwwLDNdLFszLDIsMCwwLDAsM10sWzQsMiwwLDAsMywyXV0sXCJtaW5fc3RlcHNcIjoxMX0se1wiaWRcIjpcIjgwMzBcIixcIm1hcFwiOltbMiwwLDEsMiwwLDBdLFswLDIsMywzLDAsMl0sWzIsMywzLDMsMCwyXSxbMywwLDAsMiwyLDBdLFswLDMsMCwzLDIsMF0sWzAsMCwyLDAsMiwzXSxbMywzLDAsMywzLDJdLFs0LDMsMCwwLDAsMF0sWzAsMCwwLDAsMCwzXV0sXCJtaW5fc3RlcHNcIjoxM30se1wiaWRcIjpcIjgwMzFcIixcIm1hcFwiOltbMCwyLDIsMyw0LDJdLFszLDMsMCwwLDIsMl0sWzAsMCwwLDMsMiwwXSxbMCwzLDAsMCwzLDNdLFswLDIsMCwyLDMsMF0sWzIsMywwLDAsMCwwXSxbMywzLDAsMywwLDJdLFswLDAsMiwzLDMsM10sWzEsMCwyLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjoxM30se1wiaWRcIjpcIjgwMzJcIixcIm1hcFwiOltbMCwwLDAsMCwzLDRdLFswLDAsMywzLDMsMl0sWzIsMiwzLDMsMCwwXSxbMCwwLDMsMiwwLDBdLFswLDIsMCwyLDMsMl0sWzAsMiwzLDAsMCwzXSxbMiwzLDMsMCwwLDJdLFsxLDAsMywwLDMsMl0sWzAsMCwzLDAsMCwyXV0sXCJtaW5fc3RlcHNcIjoxMn0se1wiaWRcIjpcIjgwMzNcIixcIm1hcFwiOltbMSwwLDAsMywwLDNdLFszLDMsMiwwLDIsMF0sWzAsMywzLDIsMCwyXSxbMywyLDAsMywwLDBdLFs0LDIsMiwyLDAsMF0sWzAsMywwLDAsMCwwXSxbMywzLDMsMCwwLDJdLFszLDAsMywyLDAsM10sWzIsMCwwLDAsMCwyXV0sXCJtaW5fc3RlcHNcIjoxMn0se1wiaWRcIjpcIjgwMzRcIixcIm1hcFwiOltbMSwwLDAsMywyLDBdLFswLDIsMiwzLDMsMF0sWzMsMCwwLDIsMCwzXSxbMiwzLDIsMiwwLDNdLFswLDAsMywwLDAsM10sWzMsMCwwLDAsMywwXSxbMiwzLDAsMywyLDRdLFswLDMsMCwwLDAsM10sWzAsMiwwLDAsMiwyXV0sXCJtaW5fc3RlcHNcIjoxNn0se1wiaWRcIjpcIjgwMzVcIixcIm1hcFwiOltbMywwLDAsMiwwLDRdLFszLDAsMiwzLDMsM10sWzAsMCwyLDMsMCwyXSxbMywwLDMsMywzLDBdLFsyLDIsMCwwLDAsMF0sWzIsMiwzLDAsMCwwXSxbMCwwLDIsMywwLDBdLFswLDIsMCwzLDIsM10sWzAsMCwzLDEsMiwwXV0sXCJtaW5fc3RlcHNcIjoxMn0se1wiaWRcIjpcIjgwMzZcIixcIm1hcFwiOltbMiwzLDEsMCwwLDJdLFswLDMsMCwwLDAsMF0sWzIsMCwyLDAsMCwzXSxbMCwwLDMsMywwLDNdLFswLDIsMiwwLDAsM10sWzAsMywyLDMsMywwXSxbMCwzLDIsMCwwLDJdLFswLDMsMiwwLDIsM10sWzIsMCwzLDMsNCwwXV0sXCJtaW5fc3RlcHNcIjoxMn0se1wiaWRcIjpcIjgwMzdcIixcIm1hcFwiOltbMiwwLDAsMCwwLDNdLFswLDIsMywwLDIsMl0sWzAsMCwzLDAsMiwwXSxbMCwyLDIsMCwwLDBdLFszLDIsMywwLDAsM10sWzAsMCwzLDMsMCwzXSxbMywyLDMsMCwwLDNdLFswLDAsMywzLDIsMF0sWzQsMywxLDIsMCwyXV0sXCJtaW5fc3RlcHNcIjoxMn0se1wiaWRcIjpcIjgwMzhcIixcIm1hcFwiOltbNCwyLDMsMywyLDNdLFswLDMsMCwyLDMsMF0sWzAsMCwwLDIsMCwyXSxbMywzLDIsMywwLDBdLFswLDMsMCwzLDIsM10sWzAsMiwyLDIsMCwwXSxbMSwzLDAsMCwzLDBdLFsyLDAsMCwwLDMsMl0sWzAsMCwzLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjoxM30se1wiaWRcIjpcIjgwMzlcIixcIm1hcFwiOltbMiwwLDMsMywyLDBdLFswLDAsMCwwLDIsM10sWzEsMywwLDAsMCwyXSxbMCwyLDMsMiwyLDJdLFswLDAsMywwLDAsMF0sWzAsMywwLDAsMywwXSxbMywwLDAsMiwzLDJdLFsyLDAsMywwLDIsM10sWzAsNCwzLDAsMywzXV0sXCJtaW5fc3RlcHNcIjoxMn0se1wiaWRcIjpcIjgwNDBcIixcIm1hcFwiOltbMCwyLDMsMyw0LDBdLFswLDIsMCwwLDMsMl0sWzAsMCwzLDAsMiwwXSxbMywwLDIsMCwwLDNdLFsyLDAsMCwzLDAsM10sWzMsMywwLDIsMiwwXSxbMiwyLDMsMCwyLDBdLFsxLDMsMCwwLDIsM10sWzAsMCwwLDMsMCwzXV0sXCJtaW5fc3RlcHNcIjoxMn0se1wiaWRcIjpcIjgwNDFcIixcIm1hcFwiOltbMywzLDAsMiwzLDFdLFswLDMsMywyLDAsMl0sWzAsMiwwLDAsMCwwXSxbMCwwLDAsMCwwLDBdLFszLDMsMywyLDMsMF0sWzAsMywzLDIsMywyXSxbNCwwLDMsMCwyLDBdLFsyLDIsMiwwLDAsMF0sWzAsMywyLDAsMywwXV0sXCJtaW5fc3RlcHNcIjoxMn1dXVxyXG5cclxuXHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG5cclxuICAgIHN0YXRpYyBBdXRoZW50aWNhdGlvbigpe1xyXG4gICAgICAgIGNjLmZ4LkdhbWVUb29sLkF1dGhlbnRpY2F0aW9uKCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbiJdfQ== //------QC-SOURCE-SPLIT------ (function() { @@ -8051,4 +8005,649 @@ cc._RF.pop(); } })(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXENyeXB0b1xcY3J5cHRvLWpzLm1pbi5qcyJdLCJuYW1lcyI6WyJ0IiwiciIsImV4cG9ydHMiLCJtb2R1bGUiLCJkZWZpbmUiLCJhbWQiLCJDcnlwdG9KUyIsImUiLCJPYmplY3QiLCJjcmVhdGUiLCJwcm90b3R5cGUiLCJpIiwibiIsImxpYiIsIm8iLCJCYXNlIiwiZXh0ZW5kIiwibWl4SW4iLCJoYXNPd25Qcm9wZXJ0eSIsImluaXQiLCIkc3VwZXIiLCJhcHBseSIsImFyZ3VtZW50cyIsInRvU3RyaW5nIiwiY2xvbmUiLCJzIiwiV29yZEFycmF5Iiwid29yZHMiLCJzaWdCeXRlcyIsImxlbmd0aCIsImMiLCJzdHJpbmdpZnkiLCJjb25jYXQiLCJjbGFtcCIsImNlaWwiLCJjYWxsIiwic2xpY2UiLCJyYW5kb20iLCJhIiwicHVzaCIsImVuYyIsIkhleCIsImpvaW4iLCJwYXJzZSIsInBhcnNlSW50Iiwic3Vic3RyIiwiaCIsIkxhdGluMSIsIlN0cmluZyIsImZyb21DaGFyQ29kZSIsImNoYXJDb2RlQXQiLCJsIiwiVXRmOCIsImRlY29kZVVSSUNvbXBvbmVudCIsImVzY2FwZSIsIkVycm9yIiwidW5lc2NhcGUiLCJlbmNvZGVVUklDb21wb25lbnQiLCJmIiwiQnVmZmVyZWRCbG9ja0FsZ29yaXRobSIsInJlc2V0IiwiX2RhdGEiLCJfbkRhdGFCeXRlcyIsIl9hcHBlbmQiLCJfcHJvY2VzcyIsImJsb2NrU2l6ZSIsIm1heCIsIl9taW5CdWZmZXJTaXplIiwibWluIiwiX2RvUHJvY2Vzc0Jsb2NrIiwidSIsInNwbGljZSIsIkhhc2hlciIsImNmZyIsIl9kb1Jlc2V0IiwidXBkYXRlIiwiZmluYWxpemUiLCJfZG9GaW5hbGl6ZSIsIl9jcmVhdGVIZWxwZXIiLCJfY3JlYXRlSG1hY0hlbHBlciIsIkhNQUMiLCJhbGdvIiwiTWF0aCIsIkJhc2U2NCIsIl9tYXAiLCJjaGFyQXQiLCJfcmV2ZXJzZU1hcCIsImluZGV4T2YiLCJhYnMiLCJzaW4iLCJNRDUiLCJfaGFzaCIsImQiLCJ2IiwicCIsIl8iLCJ5IiwiZyIsIkIiLCJ3IiwiayIsIlMiLCJtIiwieCIsImIiLCJIIiwieiIsIkEiLCJDIiwiRCIsImZsb29yIiwiSG1hY01ENSIsIlNIQTEiLCJIbWFjU0hBMSIsInNxcnQiLCJwb3ciLCJTSEEyNTYiLCJIbWFjU0hBMjU2IiwiVXRmMTYiLCJVdGYxNkJFIiwiVXRmMTZMRSIsIkFycmF5QnVmZmVyIiwiVWludDhBcnJheSIsIkludDhBcnJheSIsIlVpbnQ4Q2xhbXBlZEFycmF5IiwiSW50MTZBcnJheSIsIlVpbnQxNkFycmF5IiwiSW50MzJBcnJheSIsIlVpbnQzMkFycmF5IiwiRmxvYXQzMkFycmF5IiwiRmxvYXQ2NEFycmF5IiwiYnVmZmVyIiwiYnl0ZU9mZnNldCIsImJ5dGVMZW5ndGgiLCJSSVBFTUQxNjAiLCJSIiwiRSIsIk0iLCJGIiwiSG1hY1JJUEVNRDE2MCIsIl9oYXNoZXIiLCJfb0tleSIsIl9pS2V5IiwiUEJLREYyIiwia2V5U2l6ZSIsImhhc2hlciIsIml0ZXJhdGlvbnMiLCJjb21wdXRlIiwiRXZwS0RGIiwiU0hBMjI0IiwiSG1hY1NIQTIyNCIsIng2NCIsIldvcmQiLCJoaWdoIiwibG93IiwidG9YMzIiLCJTSEEzIiwib3V0cHV0TGVuZ3RoIiwiX3N0YXRlIiwiSG1hY1NIQTMiLCJTSEE1MTIiLCJQIiwiVyIsIk8iLCJVIiwiSSIsIksiLCJYIiwiTCIsImoiLCJOIiwiVCIsIloiLCJxIiwiRyIsIkoiLCIkIiwiUSIsIlYiLCJZIiwidHQiLCJydCIsImV0IiwiaXQiLCJudCIsIm90Iiwic3QiLCJhdCIsImN0IiwiaHQiLCJsdCIsImZ0IiwidXQiLCJkdCIsInZ0IiwicHQiLCJfdCIsInl0IiwiZ3QiLCJCdCIsInd0Iiwia3QiLCJTdCIsIm10IiwieHQiLCJidCIsIkhtYWNTSEE1MTIiLCJTSEEzODQiLCJIbWFjU0hBMzg0IiwiQ2lwaGVyIiwiY3JlYXRlRW5jcnlwdG9yIiwiX0VOQ19YRk9STV9NT0RFIiwiY3JlYXRlRGVjcnlwdG9yIiwiX0RFQ19YRk9STV9NT0RFIiwiX3hmb3JtTW9kZSIsIl9rZXkiLCJwcm9jZXNzIiwiaXZTaXplIiwiZW5jcnlwdCIsImRlY3J5cHQiLCJTdHJlYW1DaXBoZXIiLCJtb2RlIiwiQmxvY2tDaXBoZXJNb2RlIiwiRW5jcnlwdG9yIiwiRGVjcnlwdG9yIiwiX2NpcGhlciIsIl9pdiIsIkNCQyIsIl9wcmV2QmxvY2siLCJwcm9jZXNzQmxvY2siLCJlbmNyeXB0QmxvY2siLCJkZWNyeXB0QmxvY2siLCJwYWQiLCJQa2NzNyIsInVucGFkIiwiQmxvY2tDaXBoZXIiLCJwYWRkaW5nIiwiaXYiLCJfbW9kZSIsIl9fY3JlYXRvciIsIkNpcGhlclBhcmFtcyIsImZvcm1hdHRlciIsImZvcm1hdCIsIk9wZW5TU0wiLCJjaXBoZXJ0ZXh0Iiwic2FsdCIsIlNlcmlhbGl6YWJsZUNpcGhlciIsImtleSIsImFsZ29yaXRobSIsIl9wYXJzZSIsImtkZiIsImV4ZWN1dGUiLCJQYXNzd29yZEJhc2VkQ2lwaGVyIiwiQ0ZCIiwiRUNCIiwiQW5zaVg5MjMiLCJJc28xMDEyNiIsIklzbzk3OTcxIiwiWmVyb1BhZGRpbmciLCJPRkIiLCJfa2V5c3RyZWFtIiwiTm9QYWRkaW5nIiwiQUVTIiwiX25Sb3VuZHMiLCJfa2V5UHJpb3JSZXNldCIsIl9rZXlTY2hlZHVsZSIsIl9pbnZLZXlTY2hlZHVsZSIsIl9kb0NyeXB0QmxvY2siLCJfbEJsb2NrIiwiX3JCbG9jayIsIkRFUyIsIl9zdWJLZXlzIiwiX2ludlN1YktleXMiLCJUcmlwbGVERVMiLCJfZGVzMSIsIl9kZXMyIiwiX2RlczMiLCJfUyIsIl9pIiwiX2oiLCJSQzQiLCJSQzREcm9wIiwiZHJvcCIsIkNUUkdsYWRtYW4iLCJfY291bnRlciIsIl9YIiwiX0MiLCJfYiIsIlJhYmJpdCIsIkNUUiIsIlJhYmJpdExlZ2FjeSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxDQUFDLFVBQVNBLENBQVQsRUFBV0MsQ0FBWCxFQUFhO0FBQUMs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RUFBYSxDQUFiLEVBQWUsQ0FBZixFQUFpQixDQUFqQixFQUFtQixDQUFuQixFQUFxQixFQUFyQixFQUF3QixFQUF4QixFQUEyQixFQUEzQixFQUE4QixFQUE5QixFQUFpQyxDQUFqQyxFQUFtQyxDQUFuQyxFQUFxQyxDQUFyQyxFQUF1QyxDQUF2QyxFQUF5QyxDQUF6QyxFQUEyQyxDQUEzQyxFQUE2QyxDQUE3QyxFQUErQyxFQUEvQyxFQUFrRCxFQUFsRCxFQUFxRCxDQUFyRCxFQUF1RCxDQUF2RCxFQUF5RCxFQUF6RCxFQUE0RCxDQUE1RCxFQUE4RCxFQUE5RCxFQUFpRSxFQUFqRSxFQUFvRSxDQUFwRSxFQUFzRSxFQUF0RSxFQUF5RSxDQUF6RSxFQUEyRSxFQUEzRSxFQUE4RSxFQUE5RSxFQUFpRixFQUFqRixFQUFvRixFQUFwRixFQUF1RixDQUF2RixFQUF5RixDQUF6RixFQUEyRixFQUEzRixFQUE4RixDQUE5RixFQUFnRyxFQUFoRyxFQUFtRyxFQUFuRyxFQUFzRyxFQUF0RyxFQUF5RyxDQUF6RyxFQUEyRyxFQUEzRyxFQUE4RyxDQUE5RyxFQUFnSCxDQUFoSCxFQUFrSCxFQUFsSCxFQUFxSCxDQUFySCxFQUF1SCxDQUF2SCxFQUF5SCxFQUF6SCxFQUE0SCxFQUE1SCxFQUErSCxFQUEvSCxFQUFrSSxFQUFsSSxFQUFxSSxFQUFySSxFQUF3SSxFQUF4SSxFQUEySSxDQUEzSSxFQUE2SSxDQUE3SSxFQUErSSxDQUEvSSxFQUFpSixFQUFqSixFQUFvSixDQUFwSixFQUFzSixDQUF0SixFQUF3SixDQUF4SixFQUEwSixDQUExSixFQUE0SixDQUE1SixFQUE4SixFQUE5SixFQUFpSyxDQUFqSyxFQUFtSyxFQUFuSyxFQUFzSyxDQUF0SyxFQUF3SyxFQUF4SyxFQUEySyxDQUEzSyxFQUE2SyxDQUE3SyxFQUErSyxFQUEvSyxFQUFrTCxFQUFsTCxFQUFxTCxDQUFyTCxFQUF1TCxFQUF2TCxFQUEwTCxFQUExTCxFQUE2TCxFQUE3TCxFQUFnTSxFQUFoTSxFQUFtTSxDQUFuTSxFQUFxTSxDQUFyTSxFQUF1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ckIsQ0FBQyxHQUFDLENBQWI7QUFBZTtBQUExSyxHQURueVgsRUFDKzhYUCxDQUR0OVg7QUFDdzlYLENBRGpoZixDQUFELEVBRUEiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIiFmdW5jdGlvbih0LHIpe1wib2JqZWN0XCI9PXR5cGVvZiBleHBvcnRzP21vZHVsZS5leHBvcnRzPWV4cG9ydHM9cigpOlwiZnVuY3Rpb25cIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoW10scik6dC5DcnlwdG9KUz1yKCl9KHRoaXMsZnVuY3Rpb24oKXt2YXIgdD10fHxmdW5jdGlvbih0LHIpe3ZhciBlPU9iamVjdC5jcmVhdGV8fGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4gZnVuY3Rpb24ocil7dmFyIGU7cmV0dXJuIHQucHJvdG90eXBlPXIsZT1uZXcgdCx0LnByb3RvdHlwZT1udWxsLGV9fSgpLGk9e30sbj1pLmxpYj17fSxvPW4uQmFzZT1mdW5jdGlvbigpe3JldHVybntleHRlbmQ6ZnVuY3Rpb24odCl7dmFyIHI9ZSh0aGlzKTtyZXR1cm4gdCYmci5taXhJbih0KSxyLmhhc093blByb3BlcnR5KFwiaW5pdFwiKSYmdGhpcy5pbml0IT09ci5pbml0fHwoci5pbml0PWZ1bmN0aW9uKCl7ci4kc3VwZXIuaW5pdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KSxyLmluaXQucHJvdG90eXBlPXIsci4kc3VwZXI9dGhpcyxyfSxjcmVhdGU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmV4dGVuZCgpO3JldHVybiB0LmluaXQuYXBwbHkodCxhcmd1bWVudHMpLHR9LGluaXQ6ZnVuY3Rpb24oKXt9LG1peEluOmZ1bmN0aW9uKHQpe2Zvcih2YXIgciBpbiB0KXQuaGFzT3duUHJvcGVydHkocikmJih0aGlzW3JdPXRbcl0pO3QuaGFzT3duUHJvcGVydHkoXCJ0b1N0cmluZ1wiKSYmKHRoaXMudG9TdHJpbmc9dC50b1N0cmluZyl9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5pdC5wcm90b3R5cGUuZXh0ZW5kKHRoaXMpfX19KCkscz1uLldvcmRBcnJheT1vLmV4dGVuZCh7aW5pdDpmdW5jdGlvbih0LGUpe3Q9dGhpcy53b3Jkcz10fHxbXSxlIT1yP3RoaXMuc2lnQnl0ZXM9ZTp0aGlzLnNpZ0J5dGVzPTQqdC5sZW5ndGh9LHRvU3RyaW5nOmZ1bmN0aW9uKHQpe3JldHVybih0fHxjKS5zdHJpbmdpZnkodGhpcyl9LGNvbmNhdDpmdW5jdGlvbih0KXt2YXIgcj10aGlzLndvcmRzLGU9dC53b3JkcyxpPXRoaXMuc2lnQnl0ZXMsbj10LnNpZ0J5dGVzO2lmKHRoaXMuY2xhbXAoKSxpJTQpZm9yKHZhciBvPTA7bzxuO28rKyl7dmFyIHM9ZVtvPj4+Ml0+Pj4yNC1vJTQqOCYyNTU7cltpK28+Pj4yXXw9czw8MjQtKGkrbyklNCo4fWVsc2UgZm9yKHZhciBvPTA7bzxuO28rPTQpcltpK28+Pj4yXT1lW28+Pj4yXTtyZXR1cm4gdGhpcy5zaWdCeXRlcys9bix0aGlzfSxjbGFtcDpmdW5jdGlvbigpe3ZhciByPXRoaXMud29yZHMsZT10aGlzLnNpZ0J5dGVzO3JbZT4+PjJdJj00Mjk0OTY3Mjk1PDwzMi1lJTQqOCxyLmxlbmd0aD10LmNlaWwoZS80KX0sY2xvbmU6ZnVuY3Rpb24oKXt2YXIgdD1vLmNsb25lLmNhbGwodGhpcyk7cmV0dXJuIHQud29yZHM9dGhpcy53b3Jkcy5zbGljZSgwKSx0fSxyYW5kb206ZnVuY3Rpb24ocil7Zm9yKHZhciBlLGk9W10sbj1mdW5jdGlvbihyKXt2YXIgcj1yLGU9OTg3NjU0MzIxLGk9NDI5NDk2NzI5NTtyZXR1cm4gZnVuY3Rpb24oKXtlPTM2OTY5Kig2NTUzNSZlKSsoZT4+MTYpJmkscj0xOGUzKig2NTUzNSZyKSsocj4+MTYpJmk7dmFyIG49KGU8PDE2KStyJmk7cmV0dXJuIG4vPTQyOTQ5NjcyOTYsbis9LjUsbioodC5yYW5kb20oKT4uNT8xOi0xKX19LG89MDtvPHI7bys9NCl7dmFyIGE9big0Mjk0OTY3Mjk2KihlfHx0LnJhbmRvbSgpKSk7ZT05ODc2NTQwNzEqYSgpLGkucHVzaCg0Mjk0OTY3Mjk2KmEoKXwwKX1yZXR1cm4gbmV3IHMuaW5pdChpLHIpfX0pLGE9aS5lbmM9e30sYz1hLkhleD17c3RyaW5naWZ5OmZ1bmN0aW9uKHQpe2Zvcih2YXIgcj10LndvcmRzLGU9dC5zaWdCeXRlcyxpPVtdLG49MDtuPGU7bisrKXt2YXIgbz1yW24+Pj4yXT4+PjI0LW4lNCo4JjI1NTtpLnB1c2goKG8+Pj40KS50b1N0cmluZygxNikpLGkucHVzaCgoMTUmbykudG9TdHJpbmcoMTYpKX1yZXR1cm4gaS5qb2luKFwiXCIpfSxwYXJzZTpmdW5jdGlvbih0KXtmb3IodmFyIHI9dC5sZW5ndGgsZT1bXSxpPTA7aTxyO2krPTIpZVtpPj4+M118PXBhcnNlSW50KHQuc3Vic3RyKGksMiksMTYpPDwyNC1pJTgqNDtyZXR1cm4gbmV3IHMuaW5pdChlLHIvMil9fSxoPWEuTGF0aW4xPXtzdHJpbmdpZnk6ZnVuY3Rpb24odCl7Zm9yKHZhciByPXQud29yZHMsZT10LnNpZ0J5dGVzLGk9W10sbj0wO248ZTtuKyspe3ZhciBvPXJbbj4+PjJdPj4+MjQtbiU0KjgmMjU1O2kucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKG8pKX1yZXR1cm4gaS5qb2luKFwiXCIpfSxwYXJzZTpmdW5jdGlvbih0KXtmb3IodmFyIHI9dC5sZW5ndGgsZT1bXSxpPTA7aTxyO2krKyllW2k+Pj4yXXw9KDI1NSZ0LmNoYXJDb2RlQXQoaSkpPDwyNC1pJTQqODtyZXR1cm4gbmV3IHMuaW5pdChlLHIpfX0sbD1hLlV0Zjg9e3N0cmluZ2lmeTpmdW5jdGlvbih0KXt0cnl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChlc2NhcGUoaC5zdHJpbmdpZnkodCkpKX1jYXRjaCh0KXt0aHJvdyBuZXcgRXJyb3IoXCJNYWxmb3JtZWQgVVRGLTggZGF0YVwiKX19LHBhcnNlOmZ1bmN0aW9uKHQpe3JldHVybiBoLnBhcnNlKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudCh0KSkpfX0sZj1uLkJ1ZmZlcmVkQmxvY2tBbGdvcml0aG09by5leHRlbmQoe3Jlc2V0OmZ1bmN0aW9uKCl7dGhpcy5fZGF0YT1uZXcgcy5pbml0LHRoaXMuX25EYXRhQnl0ZXM9MH0sX2FwcGVuZDpmdW5jdGlvbih0KXtcInN0cmluZ1wiPT10eXBlb2YgdCYmKHQ9bC5wYXJzZSh0KSksdGhpcy5fZGF0YS5jb25jYXQodCksdGhpcy5fbkRhdGFCeXRlcys9dC5zaWdCeXRlc30sX3Byb2Nlc3M6ZnVuY3Rpb24ocil7dmFyIGU9dGhpcy5fZGF0YSxpPWUud29yZHMsbj1lLnNpZ0J5dGVzLG89dGhpcy5ibG9ja1NpemUsYT00Km8sYz1uL2E7Yz1yP3QuY2VpbChjKTp0Lm1heCgoMHxjKS10aGlzLl9taW5CdWZmZXJTaXplLDApO3ZhciBoPWMqbyxsPXQubWluKDQqaCxuKTtpZihoKXtmb3IodmFyIGY9MDtmPGg7Zis9byl0aGlzLl9kb1Byb2Nlc3NCbG9jayhpLGYpO3ZhciB1PWkuc3BsaWNlKDAsaCk7ZS5zaWdCeXRlcy09bH1yZXR1cm4gbmV3IHMuaW5pdCh1LGwpfSxjbG9uZTpmdW5jdGlvbigpe3ZhciB0PW8uY2xvbmUuY2FsbCh0aGlzKTtyZXR1cm4gdC5fZGF0YT10aGlzLl9kYXRhLmNsb25lKCksdH0sX21pbkJ1ZmZlclNpemU6MH0pLHU9KG4uSGFzaGVyPWYuZXh0ZW5kKHtjZmc6by5leHRlbmQoKSxpbml0OmZ1bmN0aW9uKHQpe3RoaXMuY2ZnPXRoaXMuY2ZnLmV4dGVuZCh0KSx0aGlzLnJlc2V0KCl9LHJlc2V0OmZ1bmN0aW9uKCl7Zi5yZXNldC5jYWxsKHRoaXMpLHRoaXMuX2RvUmVzZXQoKX0sdXBkYXRlOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9hcHBlbmQodCksdGhpcy5fcHJvY2VzcygpLHRoaXN9LGZpbmFsaXplOmZ1bmN0aW9uKHQpe3QmJnRoaXMuX2FwcGVuZCh0KTt2YXIgcj10aGlzLl9kb0ZpbmFsaXplKCk7cmV0dXJuIHJ9LGJsb2NrU2l6ZToxNixfY3JlYXRlSGVscGVyOmZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihyLGUpe3JldHVybiBuZXcgdC5pbml0KGUpLmZpbmFsaXplKHIpfX0sX2NyZWF0ZUhtYWNIZWxwZXI6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKHIsZSl7cmV0dXJuIG5ldyB1LkhNQUMuaW5pdCh0LGUpLmZpbmFsaXplKHIpfX19KSxpLmFsZ289e30pO3JldHVybiBpfShNYXRoKTtyZXR1cm4gZnVuY3Rpb24oKXtmdW5jdGlvbiByKHQscixlKXtmb3IodmFyIGk9W10sbz0wLHM9MDtzPHI7cysrKWlmKHMlNCl7dmFyIGE9ZVt0LmNoYXJDb2RlQXQocy0xKV08PHMlNCoyLGM9ZVt0LmNoYXJDb2RlQXQocyldPj4+Ni1zJTQqMjtpW28+Pj4yXXw9KGF8Yyk8PDI0LW8lNCo4LG8rK31yZXR1cm4gbi5jcmVhdGUoaSxvKX12YXIgZT10LGk9ZS5saWIsbj1pLldvcmRBcnJheSxvPWUuZW5jO28uQmFzZTY0PXtzdHJpbmdpZnk6ZnVuY3Rpb24odCl7dmFyIHI9dC53b3JkcyxlPXQuc2lnQnl0ZXMsaT10aGlzLl9tYXA7dC5jbGFtcCgpO2Zvcih2YXIgbj1bXSxvPTA7bzxlO28rPTMpZm9yKHZhciBzPXJbbz4+PjJdPj4+MjQtbyU0KjgmMjU1LGE9cltvKzE+Pj4yXT4+PjI0LShvKzEpJTQqOCYyNTUsYz1yW28rMj4+PjJdPj4+MjQtKG8rMiklNCo4JjI1NSxoPXM8PDE2fGE8PDh8YyxsPTA7bDw0JiZvKy43NSpsPGU7bCsrKW4ucHVzaChpLmNoYXJBdChoPj4+NiooMy1sKSY2MykpO3ZhciBmPWkuY2hhckF0KDY0KTtpZihmKWZvcig7bi5sZW5ndGglNDspbi5wdXNoKGYpO3JldHVybiBuLmpvaW4oXCJcIil9LHBhcnNlOmZ1bmN0aW9uKHQpe3ZhciBlPXQubGVuZ3RoLGk9dGhpcy5fbWFwLG49dGhpcy5fcmV2ZXJzZU1hcDtpZighbil7bj10aGlzLl9yZXZlcnNlTWFwPVtdO2Zvcih2YXIgbz0wO288aS5sZW5ndGg7bysrKW5baS5jaGFyQ29kZUF0KG8pXT1vfXZhciBzPWkuY2hhckF0KDY0KTtpZihzKXt2YXIgYT10LmluZGV4T2Yocyk7YSE9PS0xJiYoZT1hKX1yZXR1cm4gcih0LGUsbil9LF9tYXA6XCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPVwifX0oKSxmdW5jdGlvbihyKXtmdW5jdGlvbiBlKHQscixlLGksbixvLHMpe3ZhciBhPXQrKHImZXx+ciZpKStuK3M7cmV0dXJuKGE8PG98YT4+PjMyLW8pK3J9ZnVuY3Rpb24gaSh0LHIsZSxpLG4sbyxzKXt2YXIgYT10KyhyJml8ZSZ+aSkrbitzO3JldHVybihhPDxvfGE+Pj4zMi1vKStyfWZ1bmN0aW9uIG4odCxyLGUsaSxuLG8scyl7dmFyIGE9dCsocl5lXmkpK24rcztyZXR1cm4oYTw8b3xhPj4+MzItbykrcn1mdW5jdGlvbiBvKHQscixlLGksbixvLHMpe3ZhciBhPXQrKGVeKHJ8fmkpKStuK3M7cmV0dXJuKGE8PG98YT4+PjMyLW8pK3J9dmFyIHM9dCxhPXMubGliLGM9YS5Xb3JkQXJyYXksaD1hLkhhc2hlcixsPXMuYWxnbyxmPVtdOyFmdW5jdGlvbigpe2Zvcih2YXIgdD0wO3Q8NjQ7dCsrKWZbdF09NDI5NDk2NzI5NipyLmFicyhyLnNpbih0KzEpKXwwfSgpO3ZhciB1PWwuTUQ1PWguZXh0ZW5kKHtfZG9SZXNldDpmdW5jdGlvbigpe3RoaXMuX2hhc2g9bmV3IGMuaW5pdChbMTczMjU4NDE5Myw0MDIzMjMzNDE3LDI1NjIzODMxMDIsMjcxNzMzODc4XSl9LF9kb1Byb2Nlc3NCbG9jazpmdW5jdGlvbih0LHIpe2Zvcih2YXIgcz0wO3M8MTY7cysrKXt2YXIgYT1yK3MsYz10W2FdO3RbYV09MTY3MTE5MzUmKGM8PDh8Yz4+PjI0KXw0Mjc4MjU1MzYwJihjPDwyNHxjPj4+OCl9dmFyIGg9dGhpcy5faGFzaC53b3JkcyxsPXRbciswXSx1PXRbcisxXSxkPXRbcisyXSx2PXRbciszXSxwPXRbcis0XSxfPXRbcis1XSx5PXRbcis2XSxnPXRbcis3XSxCPXRbcis4XSx3PXRbcis5XSxrPXRbcisxMF0sUz10W3IrMTFdLG09dFtyKzEyXSx4PXRbcisxM10sYj10W3IrMTRdLEg9dFtyKzE1XSx6PWhbMF0sQT1oWzFdLEM9aFsyXSxEPWhbM107ej1lKHosQSxDLEQsbCw3LGZbMF0pLEQ9ZShELHosQSxDLHUsMTIsZlsxXSksQz1lKEMsRCx6LEEsZCwxNyxmWzJdKSxBPWUoQSxDLEQseix2LDIyLGZbM10pLHo9ZSh6LEEsQyxELHAsNyxmWzRdKSxEPWUoRCx6LEEsQyxfLDEyLGZbNV0pLEM9ZShDLEQseixBLHksMTcsZls2XSksQT1lKEEsQyxELHosZywyMixmWzddKSx6PWUoeixBLEMsRCxCLDcsZls4XSksRD1lKEQseixBLEMsdywxMixmWzldKSxDPWUoQyxELHosQSxrLDE3LGZbMTBdKSxBPWUoQSxDLEQseixTLDIyLGZbMTFdKSx6PWUoeixBLEMsRCxtLDcsZlsxMl0pLEQ9ZShELHosQSxDLHgsMTIsZlsxM10pLEM9ZShDLEQseixBLGIsMTcsZlsxNF0pLEE9ZShBLEMsRCx6LEgsMjIsZlsxNV0pLHo9aSh6LEEsQyxELHUsNSxmWzE2XSksRD1pKEQseixBLEMseSw5LGZbMTddKSxDPWkoQyxELHosQSxTLDE0LGZbMThdKSxBPWkoQSxDLEQseixsLDIwLGZbMTldKSx6PWkoeixBLEMsRCxfLDUsZlsyMF0pLEQ9aShELHosQSxDLGssOSxmWzIxXSksQz1pKEMsRCx6LEEsSCwxNCxmWzIyXSksQT1pKEEsQyxELHoscCwyMCxmWzIzXSksej1pKHosQSxDLEQsdyw1LGZbMjRdKSxEPWkoRCx6LEEsQyxiLDksZlsyNV0pLEM9aShDLEQseixBLHYsMTQsZlsyNl0pLEE9aShBLEMsRCx6LEIsMjAsZlsyN10pLHo9aSh6LEEsQyxELHgsNSxmWzI4XSksRD1pKEQseixBLEMsZCw5LGZbMjldKSxDPWkoQyxELHosQSxnLDE0LGZbMzBdKSxBPWkoQSxDLEQseixtLDIwLGZbMzFdKSx6PW4oeixBLEMsRCxfLDQsZlszMl0pLEQ9bihELHosQSxDLEIsMTEsZlszM10pLEM9bihDLEQseixBLFMsMTYsZlszNF0pLEE9bihBLEMsRCx6LGIsMjMsZlszNV0pLHo9bih6LEEsQyxELHUsNCxmWzM2XSksRD1uKEQseixBLEMscCwxMSxmWzM3XSksQz1uKEMsRCx6LEEsZywxNixmWzM4XSksQT1uKEEsQyxELHosaywyMyxmWzM5XSksej1uKHosQSxDLEQseCw0LGZbNDBdKSxEPW4oRCx6LEEsQyxsLDExLGZbNDFdKSxDPW4oQyxELHosQSx2LDE2LGZbNDJdKSxBPW4oQSxDLEQseix5LDIzLGZbNDNdKSx6PW4oeixBLEMsRCx3LDQsZls0NF0pLEQ9bihELHosQSxDLG0sMTEsZls0NV0pLEM9bihDLEQseixBLEgsMTYsZls0Nl0pLEE9bihBLEMsRCx6LGQsMjMsZls0N10pLHo9byh6LEEsQyxELGwsNixmWzQ4XSksRD1vKEQseixBLEMsZywxMCxmWzQ5XSksQz1vKEMsRCx6LEEsYiwxNSxmWzUwXSksQT1vKEEsQyxELHosXywyMSxmWzUxXSksej1vKHosQSxDLEQsbSw2LGZbNTJdKSxEPW8oRCx6LEEsQyx2LDEwLGZbNTNdKSxDPW8oQyxELHosQSxrLDE1LGZbNTRdKSxBPW8oQSxDLEQseix1LDIxLGZbNTVdKSx6PW8oeixBLEMsRCxCLDYsZls1Nl0pLEQ9byhELHosQSxDLEgsMTAsZls1N10pLEM9byhDLEQseixBLHksMTUsZls1OF0pLEE9byhBLEMsRCx6LHgsMjEsZls1OV0pLHo9byh6LEEsQyxELHAsNixmWzYwXSksRD1vKEQseixBLEMsUywxMCxmWzYxXSksQz1vKEMsRCx6LEEsZCwxNSxmWzYyXSksQT1vKEEsQyxELHosdywyMSxmWzYzXSksaFswXT1oWzBdK3p8MCxoWzFdPWhbMV0rQXwwLGhbMl09aFsyXStDfDAsaFszXT1oWzNdK0R8MH0sX2RvRmluYWxpemU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9kYXRhLGU9dC53b3JkcyxpPTgqdGhpcy5fbkRhdGFCeXRlcyxuPTgqdC5zaWdCeXRlcztlW24+Pj41XXw9MTI4PDwyNC1uJTMyO3ZhciBvPXIuZmxvb3IoaS80Mjk0OTY3Mjk2KSxzPWk7ZVsobis2ND4+Pjk8PDQpKzE1XT0xNjcxMTkzNSYobzw8OHxvPj4+MjQpfDQyNzgyNTUzNjAmKG88PDI0fG8+Pj44KSxlWyhuKzY0Pj4+OTw8NCkrMTRdPTE2NzExOTM1JihzPDw4fHM+Pj4yNCl8NDI3ODI1NTM2MCYoczw8MjR8cz4+PjgpLHQuc2lnQnl0ZXM9NCooZS5sZW5ndGgrMSksdGhpcy5fcHJvY2VzcygpO2Zvcih2YXIgYT10aGlzLl9oYXNoLGM9YS53b3JkcyxoPTA7aDw0O2grKyl7dmFyIGw9Y1toXTtjW2hdPTE2NzExOTM1JihsPDw4fGw+Pj4yNCl8NDI3ODI1NTM2MCYobDw8MjR8bD4+PjgpfXJldHVybiBhfSxjbG9uZTpmdW5jdGlvbigpe3ZhciB0PWguY2xvbmUuY2FsbCh0aGlzKTtyZXR1cm4gdC5faGFzaD10aGlzLl9oYXNoLmNsb25lKCksdH19KTtzLk1ENT1oLl9jcmVhdGVIZWxwZXIodSkscy5IbWFjTUQ1PWguX2NyZWF0ZUhtYWNIZWxwZXIodSl9KE1hdGgpLGZ1bmN0aW9uKCl7dmFyIHI9dCxlPXIubGliLGk9ZS5Xb3JkQXJyYXksbj1lLkhhc2hlcixvPXIuYWxnbyxzPVtdLGE9by5TSEExPW4uZXh0ZW5kKHtfZG9SZXNldDpmdW5jdGlvbigpe3RoaXMuX2hhc2g9bmV3IGkuaW5pdChbMTczMjU4NDE5Myw0MDIzMjMzNDE3LDI1NjIzODMxMDIsMjcxNzMzODc4LDMyODUzNzc1MjBdKX0sX2RvUHJvY2Vzc0Jsb2NrOmZ1bmN0aW9uKHQscil7Zm9yKHZhciBlPXRoaXMuX2hhc2gud29yZHMsaT1lWzBdLG49ZVsxXSxvPWVbMl0sYT1lWzNdLGM9ZVs0XSxoPTA7aDw4MDtoKyspe2lmKGg8MTYpc1toXT0wfHRbcitoXTtlbHNle3ZhciBsPXNbaC0zXV5zW2gtOF1ec1toLTE0XV5zW2gtMTZdO3NbaF09bDw8MXxsPj4+MzF9dmFyIGY9KGk8PDV8aT4+PjI3KStjK3NbaF07Zis9aDwyMD8obiZvfH5uJmEpKzE1MTg1MDAyNDk6aDw0MD8obl5vXmEpKzE4NTk3NzUzOTM6aDw2MD8obiZvfG4mYXxvJmEpLTE4OTQwMDc1ODg6KG5eb15hKS04OTk0OTc1MTQsYz1hLGE9byxvPW48PDMwfG4+Pj4yLG49aSxpPWZ9ZVswXT1lWzBdK2l8MCxlWzFdPWVbMV0rbnwwLGVbMl09ZVsyXStvfDAsZVszXT1lWzNdK2F8MCxlWzRdPWVbNF0rY3wwfSxfZG9GaW5hbGl6ZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX2RhdGEscj10LndvcmRzLGU9OCp0aGlzLl9uRGF0YUJ5dGVzLGk9OCp0LnNpZ0J5dGVzO3JldHVybiByW2k+Pj41XXw9MTI4PDwyNC1pJTMyLHJbKGkrNjQ+Pj45PDw0KSsxNF09TWF0aC5mbG9vcihlLzQyOTQ5NjcyOTYpLHJbKGkrNjQ+Pj45PDw0KSsxNV09ZSx0LnNpZ0J5dGVzPTQqci5sZW5ndGgsdGhpcy5fcHJvY2VzcygpLHRoaXMuX2hhc2h9LGNsb25lOmZ1bmN0aW9uKCl7dmFyIHQ9bi5jbG9uZS5jYWxsKHRoaXMpO3JldHVybiB0Ll9oYXNoPXRoaXMuX2hhc2guY2xvbmUoKSx0fX0pO3IuU0hBMT1uLl9jcmVhdGVIZWxwZXIoYSksci5IbWFjU0hBMT1uLl9jcmVhdGVIbWFjSGVscGVyKGEpfSgpLGZ1bmN0aW9uKHIpe3ZhciBlPXQsaT1lLmxpYixuPWkuV29yZEFycmF5LG89aS5IYXNoZXIscz1lLmFsZ28sYT1bXSxjPVtdOyFmdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7Zm9yKHZhciBlPXIuc3FydCh0KSxpPTI7aTw9ZTtpKyspaWYoISh0JWkpKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIGUodCl7cmV0dXJuIDQyOTQ5NjcyOTYqKHQtKDB8dCkpfDB9Zm9yKHZhciBpPTIsbj0wO248NjQ7KXQoaSkmJihuPDgmJihhW25dPWUoci5wb3coaSwuNSkpKSxjW25dPWUoci5wb3coaSwxLzMpKSxuKyspLGkrK30oKTt2YXIgaD1bXSxsPXMuU0hBMjU2PW8uZXh0ZW5kKHtfZG9SZXNldDpmdW5jdGlvbigpe3RoaXMuX2hhc2g9bmV3IG4uaW5pdChhLnNsaWNlKDApKX0sX2RvUHJvY2Vzc0Jsb2NrOmZ1bmN0aW9uKHQscil7Zm9yKHZhciBlPXRoaXMuX2hhc2gud29yZHMsaT1lWzBdLG49ZVsxXSxvPWVbMl0scz1lWzNdLGE9ZVs0XSxsPWVbNV0sZj1lWzZdLHU9ZVs3XSxkPTA7ZDw2NDtkKyspe2lmKGQ8MTYpaFtkXT0wfHRbcitkXTtlbHNle3ZhciB2PWhbZC0xNV0scD0odjw8MjV8dj4+PjcpXih2PDwxNHx2Pj4+MTgpXnY+Pj4zLF89aFtkLTJdLHk9KF88PDE1fF8+Pj4xNyleKF88PDEzfF8+Pj4xOSleXz4+PjEwO2hbZF09cCtoW2QtN10reStoW2QtMTZdfXZhciBnPWEmbF5+YSZmLEI9aSZuXmkmb15uJm8sdz0oaTw8MzB8aT4+PjIpXihpPDwxOXxpPj4+MTMpXihpPDwxMHxpPj4+MjIpLGs9KGE8PDI2fGE+Pj42KV4oYTw8MjF8YT4+PjExKV4oYTw8N3xhPj4+MjUpLFM9dStrK2crY1tkXStoW2RdLG09dytCO3U9ZixmPWwsbD1hLGE9cytTfDAscz1vLG89bixuPWksaT1TK218MH1lWzBdPWVbMF0raXwwLGVbMV09ZVsxXStufDAsZVsyXT1lWzJdK298MCxlWzNdPWVbM10rc3wwLGVbNF09ZVs0XSthfDAsZVs1XT1lWzVdK2x8MCxlWzZdPWVbNl0rZnwwLGVbN109ZVs3XSt1fDB9LF9kb0ZpbmFsaXplOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZGF0YSxlPXQud29yZHMsaT04KnRoaXMuX25EYXRhQnl0ZXMsbj04KnQuc2lnQnl0ZXM7cmV0dXJuIGVbbj4+PjVdfD0xMjg8PDI0LW4lMzIsZVsobis2ND4+Pjk8PDQpKzE0XT1yLmZsb29yKGkvNDI5NDk2NzI5NiksZVsobis2ND4+Pjk8PDQpKzE1XT1pLHQuc2lnQnl0ZXM9NCplLmxlbmd0aCx0aGlzLl9wcm9jZXNzKCksdGhpcy5faGFzaH0sY2xvbmU6ZnVuY3Rpb24oKXt2YXIgdD1vLmNsb25lLmNhbGwodGhpcyk7cmV0dXJuIHQuX2hhc2g9dGhpcy5faGFzaC5jbG9uZSgpLHR9fSk7ZS5TSEEyNTY9by5fY3JlYXRlSGVscGVyKGwpLGUuSG1hY1NIQTI1Nj1vLl9jcmVhdGVIbWFjSGVscGVyKGwpfShNYXRoKSxmdW5jdGlvbigpe2Z1bmN0aW9uIHIodCl7cmV0dXJuIHQ8PDgmNDI3ODI1NTM2MHx0Pj4+OCYxNjcxMTkzNX12YXIgZT10LGk9ZS5saWIsbj1pLldvcmRBcnJheSxvPWUuZW5jO28uVXRmMTY9by5VdGYxNkJFPXtzdHJpbmdpZnk6ZnVuY3Rpb24odCl7Zm9yKHZhciByPXQud29yZHMsZT10LnNpZ0J5dGVzLGk9W10sbj0wO248ZTtuKz0yKXt2YXIgbz1yW24+Pj4yXT4+PjE2LW4lNCo4JjY1NTM1O2kucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKG8pKX1yZXR1cm4gaS5qb2luKFwiXCIpfSxwYXJzZTpmdW5jdGlvbih0KXtmb3IodmFyIHI9dC5sZW5ndGgsZT1bXSxpPTA7aTxyO2krKyllW2k+Pj4xXXw9dC5jaGFyQ29kZUF0KGkpPDwxNi1pJTIqMTY7cmV0dXJuIG4uY3JlYXRlKGUsMipyKX19O28uVXRmMTZMRT17c3RyaW5naWZ5OmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10LndvcmRzLGk9dC5zaWdCeXRlcyxuPVtdLG89MDtvPGk7bys9Mil7dmFyIHM9cihlW28+Pj4yXT4+PjE2LW8lNCo4JjY1NTM1KTtuLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShzKSl9cmV0dXJuIG4uam9pbihcIlwiKX0scGFyc2U6ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXQubGVuZ3RoLGk9W10sbz0wO288ZTtvKyspaVtvPj4+MV18PXIodC5jaGFyQ29kZUF0KG8pPDwxNi1vJTIqMTYpO3JldHVybiBuLmNyZWF0ZShpLDIqZSl9fX0oKSxmdW5jdGlvbigpe2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIEFycmF5QnVmZmVyKXt2YXIgcj10LGU9ci5saWIsaT1lLldvcmRBcnJheSxuPWkuaW5pdCxvPWkuaW5pdD1mdW5jdGlvbih0KXtpZih0IGluc3RhbmNlb2YgQXJyYXlCdWZmZXImJih0PW5ldyBVaW50OEFycmF5KHQpKSwodCBpbnN0YW5jZW9mIEludDhBcnJheXx8XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFVpbnQ4Q2xhbXBlZEFycmF5JiZ0IGluc3RhbmNlb2YgVWludDhDbGFtcGVkQXJyYXl8fHQgaW5zdGFuY2VvZiBJbnQxNkFycmF5fHx0IGluc3RhbmNlb2YgVWludDE2QXJyYXl8fHQgaW5zdGFuY2VvZiBJbnQzMkFycmF5fHx0IGluc3RhbmNlb2YgVWludDMyQXJyYXl8fHQgaW5zdGFuY2VvZiBGbG9hdDMyQXJyYXl8fHQgaW5zdGFuY2VvZiBGbG9hdDY0QXJyYXkpJiYodD1uZXcgVWludDhBcnJheSh0LmJ1ZmZlcix0LmJ5dGVPZmZzZXQsdC5ieXRlTGVuZ3RoKSksdCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpe2Zvcih2YXIgcj10LmJ5dGVMZW5ndGgsZT1bXSxpPTA7aTxyO2krKyllW2k+Pj4yXXw9dFtpXTw8MjQtaSU0Kjg7bi5jYWxsKHRoaXMsZSxyKX1lbHNlIG4uYXBwbHkodGhpcyxhcmd1bWVudHMpfTtvLnByb3RvdHlwZT1pfX0oKSxmdW5jdGlvbihyKXtmdW5jdGlvbiBlKHQscixlKXtyZXR1cm4gdF5yXmV9ZnVuY3Rpb24gaSh0LHIsZSl7cmV0dXJuIHQmcnx+dCZlfWZ1bmN0aW9uIG4odCxyLGUpe3JldHVybih0fH5yKV5lfWZ1bmN0aW9uIG8odCxyLGUpe3JldHVybiB0JmV8ciZ+ZX1mdW5jdGlvbiBzKHQscixlKXtyZXR1cm4gdF4ocnx+ZSl9ZnVuY3Rpb24gYSh0LHIpe3JldHVybiB0PDxyfHQ+Pj4zMi1yfXZhciBjPXQsaD1jLmxpYixsPWguV29yZEFycmF5LGY9aC5IYXNoZXIsdT1jLmFsZ28sZD1sLmNyZWF0ZShbMCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSw3LDQsMTMsMSwxMCw2LDE1LDMsMTIsMCw5LDUsMiwxNCwxMSw4LDMsMTAsMTQsNCw5LDE1LDgsMSwyLDcsMCw2LDEzLDExLDUsMTIsMSw5LDExLDEwLDAsOCwxMiw0LDEzLDMsNywxNSwxNCw1LDYsMiw0LDAsNSw5LDcsMTIsMiwxMCwxNCwxLDMsOCwxMSw2LDE1LDEzXSksdj1sLmNyZWF0ZShbNSwxNCw3LDAsOSwyLDExLDQsMTMsNiwxNSw4LDEsMTAsMywxMiw2LDExLDMsNywwLDEzLDUsMTAsMTQsMTUsOCwxMiw0LDksMSwyLDE1LDUsMSwzLDcsMTQsNiw5LDExLDgsMTIsMiwxMCwwLDQsMTMsOCw2LDQsMSwzLDExLDE1LDAsNSwxMiwyLDEzLDksNywxMCwxNCwxMiwxNSwxMCw0LDEsNSw4LDcsNiwyLDEzLDE0LDAsMyw5LDExXSkscD1sLmNyZWF0ZShbMTEsMTQsMTUsMTIsNSw4LDcsOSwxMSwxMywxNCwxNSw2LDcsOSw4LDcsNiw4LDEzLDExLDksNywxNSw3LDEyLDE1LDksMTEsNywxMywxMiwxMSwxMyw2LDcsMTQsOSwxMywxNSwxNCw4LDEzLDYsNSwxMiw3LDUsMTEsMTIsMTQsMTUsMTQsMTUsOSw4LDksMTQsNSw2LDgsNiw1LDEyLDksMTUsNSwxMSw2LDgsMTMsMTIsNSwxMiwxMywxNCwxMSw4LDUsNl0pLF89bC5jcmVhdGUoWzgsOSw5LDExLDEzLDE1LDE1LDUsNyw3LDgsMTEsMTQsMTQsMTIsNiw5LDEzLDE1LDcsMTIsOCw5LDExLDcsNywxMiw3LDYsMTUsMTMsMTEsOSw3LDE1LDExLDgsNiw2LDE0LDEyLDEzLDUsMTQsMTMsMTMsNyw1LDE1LDUsOCwxMSwxNCwxNCw2LDE0LDYsOSwxMiw5LDEyLDUsMTUsOCw4LDUsMTIsOSwxMiw1LDE0LDYsOCwxMyw2LDUsMTUsMTMsMTEsMTFdKSx5PWwuY3JlYXRlKFswLDE1MTg1MDAyNDksMTg1OTc3NTM5MywyNDAwOTU5NzA4LDI4NDA4NTM4MzhdKSxnPWwuY3JlYXRlKFsxMzUyODI5OTI2LDE1NDg2MDM2ODQsMTgzNjA3MjY5MSwyMDUzOTk0MjE3LDBdKSxCPXUuUklQRU1EMTYwPWYuZXh0ZW5kKHtfZG9SZXNldDpmdW5jdGlvbigpe3RoaXMuX2hhc2g9bC5jcmVhdGUoWzE3MzI1ODQxOTMsNDAyMzIzMzQxNywyNTYyMzgzMTAyLDI3MTczMzg3OCwzMjg1Mzc3NTIwXSl9LF9kb1Byb2Nlc3NCbG9jazpmdW5jdGlvbih0LHIpe2Zvcih2YXIgYz0wO2M8MTY7YysrKXt2YXIgaD1yK2MsbD10W2hdO3RbaF09MTY3MTE5MzUmKGw8PDh8bD4+PjI0KXw0Mjc4MjU1MzYwJihsPDwyNHxsPj4+OCl9dmFyIGYsdSxCLHcsayxTLG0seCxiLEgsej10aGlzLl9oYXNoLndvcmRzLEE9eS53b3JkcyxDPWcud29yZHMsRD1kLndvcmRzLFI9di53b3JkcyxFPXAud29yZHMsTT1fLndvcmRzO1M9Zj16WzBdLG09dT16WzFdLHg9Qj16WzJdLGI9dz16WzNdLEg9az16WzRdO2Zvcih2YXIgRixjPTA7Yzw4MDtjKz0xKUY9Zit0W3IrRFtjXV18MCxGKz1jPDE2P2UodSxCLHcpK0FbMF06YzwzMj9pKHUsQix3KStBWzFdOmM8NDg/bih1LEIsdykrQVsyXTpjPDY0P28odSxCLHcpK0FbM106cyh1LEIsdykrQVs0XSxGfD0wLEY9YShGLEVbY10pLEY9RitrfDAsZj1rLGs9dyx3PWEoQiwxMCksQj11LHU9RixGPVMrdFtyK1JbY11dfDAsRis9YzwxNj9zKG0seCxiKStDWzBdOmM8MzI/byhtLHgsYikrQ1sxXTpjPDQ4P24obSx4LGIpK0NbMl06Yzw2ND9pKG0seCxiKStDWzNdOmUobSx4LGIpK0NbNF0sRnw9MCxGPWEoRixNW2NdKSxGPUYrSHwwLFM9SCxIPWIsYj1hKHgsMTApLHg9bSxtPUY7Rj16WzFdK0IrYnwwLHpbMV09elsyXSt3K0h8MCx6WzJdPXpbM10raytTfDAselszXT16WzRdK2YrbXwwLHpbNF09elswXSt1K3h8MCx6WzBdPUZ9LF9kb0ZpbmFsaXplOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZGF0YSxyPXQud29yZHMsZT04KnRoaXMuX25EYXRhQnl0ZXMsaT04KnQuc2lnQnl0ZXM7cltpPj4+NV18PTEyODw8MjQtaSUzMixyWyhpKzY0Pj4+OTw8NCkrMTRdPTE2NzExOTM1JihlPDw4fGU+Pj4yNCl8NDI3ODI1NTM2MCYoZTw8MjR8ZT4+PjgpLHQuc2lnQnl0ZXM9NCooci5sZW5ndGgrMSksdGhpcy5fcHJvY2VzcygpO2Zvcih2YXIgbj10aGlzLl9oYXNoLG89bi53b3JkcyxzPTA7czw1O3MrKyl7dmFyIGE9b1tzXTtvW3NdPTE2NzExOTM1JihhPDw4fGE+Pj4yNCl8NDI3ODI1NTM2MCYoYTw8MjR8YT4+PjgpfXJldHVybiBufSxjbG9uZTpmdW5jdGlvbigpe3ZhciB0PWYuY2xvbmUuY2FsbCh0aGlzKTtyZXR1cm4gdC5faGFzaD10aGlzLl9oYXNoLmNsb25lKCksdH19KTtjLlJJUEVNRDE2MD1mLl9jcmVhdGVIZWxwZXIoQiksYy5IbWFjUklQRU1EMTYwPWYuX2NyZWF0ZUhtYWNIZWxwZXIoQil9KE1hdGgpLGZ1bmN0aW9uKCl7dmFyIHI9dCxlPXIubGliLGk9ZS5CYXNlLG49ci5lbmMsbz1uLlV0Zjgscz1yLmFsZ287cy5ITUFDPWkuZXh0ZW5kKHtpbml0OmZ1bmN0aW9uKHQscil7dD10aGlzLl9oYXNoZXI9bmV3IHQuaW5pdCxcInN0cmluZ1wiPT10eXBlb2YgciYmKHI9by5wYXJzZShyKSk7dmFyIGU9dC5ibG9ja1NpemUsaT00KmU7ci5zaWdCeXRlcz5pJiYocj10LmZpbmFsaXplKHIpKSxyLmNsYW1wKCk7Zm9yKHZhciBuPXRoaXMuX29LZXk9ci5jbG9uZSgpLHM9dGhpcy5faUtleT1yLmNsb25lKCksYT1uLndvcmRzLGM9cy53b3JkcyxoPTA7aDxlO2grKylhW2hdXj0xNTQ5NTU2ODI4LGNbaF1ePTkwOTUyMjQ4NjtuLnNpZ0J5dGVzPXMuc2lnQnl0ZXM9aSx0aGlzLnJlc2V0KCl9LHJlc2V0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5faGFzaGVyO3QucmVzZXQoKSx0LnVwZGF0ZSh0aGlzLl9pS2V5KX0sdXBkYXRlOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9oYXNoZXIudXBkYXRlKHQpLHRoaXN9LGZpbmFsaXplOmZ1bmN0aW9uKHQpe3ZhciByPXRoaXMuX2hhc2hlcixlPXIuZmluYWxpemUodCk7ci5yZXNldCgpO3ZhciBpPXIuZmluYWxpemUodGhpcy5fb0tleS5jbG9uZSgpLmNvbmNhdChlKSk7cmV0dXJuIGl9fSl9KCksZnVuY3Rpb24oKXt2YXIgcj10LGU9ci5saWIsaT1lLkJhc2Usbj1lLldvcmRBcnJheSxvPXIuYWxnbyxzPW8uU0hBMSxhPW8uSE1BQyxjPW8uUEJLREYyPWkuZXh0ZW5kKHtjZmc6aS5leHRlbmQoe2tleVNpemU6NCxoYXNoZXI6cyxpdGVyYXRpb25zOjF9KSxpbml0OmZ1bmN0aW9uKHQpe3RoaXMuY2ZnPXRoaXMuY2ZnLmV4dGVuZCh0KX0sY29tcHV0ZTpmdW5jdGlvbih0LHIpe2Zvcih2YXIgZT10aGlzLmNmZyxpPWEuY3JlYXRlKGUuaGFzaGVyLHQpLG89bi5jcmVhdGUoKSxzPW4uY3JlYXRlKFsxXSksYz1vLndvcmRzLGg9cy53b3JkcyxsPWUua2V5U2l6ZSxmPWUuaXRlcmF0aW9ucztjLmxlbmd0aDxsOyl7dmFyIHU9aS51cGRhdGUocikuZmluYWxpemUocyk7aS5yZXNldCgpO2Zvcih2YXIgZD11LndvcmRzLHY9ZC5sZW5ndGgscD11LF89MTtfPGY7XysrKXtwPWkuZmluYWxpemUocCksaS5yZXNldCgpO2Zvcih2YXIgeT1wLndvcmRzLGc9MDtnPHY7ZysrKWRbZ11ePXlbZ119by5jb25jYXQodSksaFswXSsrfXJldHVybiBvLnNpZ0J5dGVzPTQqbCxvfX0pO3IuUEJLREYyPWZ1bmN0aW9uKHQscixlKXtyZXR1cm4gYy5jcmVhdGUoZSkuY29tcHV0ZSh0LHIpfX0oKSxmdW5jdGlvbigpe3ZhciByPXQsZT1yLmxpYixpPWUuQmFzZSxuPWUuV29yZEFycmF5LG89ci5hbGdvLHM9by5NRDUsYT1vLkV2cEtERj1pLmV4dGVuZCh7Y2ZnOmkuZXh0ZW5kKHtrZXlTaXplOjQsaGFzaGVyOnMsaXRlcmF0aW9uczoxfSksaW5pdDpmdW5jdGlvbih0KXt0aGlzLmNmZz10aGlzLmNmZy5leHRlbmQodCl9LGNvbXB1dGU6ZnVuY3Rpb24odCxyKXtmb3IodmFyIGU9dGhpcy5jZmcsaT1lLmhhc2hlci5jcmVhdGUoKSxvPW4uY3JlYXRlKCkscz1vLndvcmRzLGE9ZS5rZXlTaXplLGM9ZS5pdGVyYXRpb25zO3MubGVuZ3RoPGE7KXtoJiZpLnVwZGF0ZShoKTt2YXIgaD1pLnVwZGF0ZSh0KS5maW5hbGl6ZShyKTtpLnJlc2V0KCk7Zm9yKHZhciBsPTE7bDxjO2wrKyloPWkuZmluYWxpemUoaCksaS5yZXNldCgpO28uY29uY2F0KGgpfXJldHVybiBvLnNpZ0J5dGVzPTQqYSxvfX0pO3IuRXZwS0RGPWZ1bmN0aW9uKHQscixlKXtyZXR1cm4gYS5jcmVhdGUoZSkuY29tcHV0ZSh0LHIpfX0oKSxmdW5jdGlvbigpe3ZhciByPXQsZT1yLmxpYixpPWUuV29yZEFycmF5LG49ci5hbGdvLG89bi5TSEEyNTYscz1uLlNIQTIyND1vLmV4dGVuZCh7X2RvUmVzZXQ6ZnVuY3Rpb24oKXt0aGlzLl9oYXNoPW5ldyBpLmluaXQoWzMyMzgzNzEwMzIsOTE0MTUwNjYzLDgxMjcwMjk5OSw0MTQ0OTEyNjk3LDQyOTA3NzU4NTcsMTc1MDYwMzAyNSwxNjk0MDc2ODM5LDMyMDQwNzU0MjhdKX0sX2RvRmluYWxpemU6ZnVuY3Rpb24oKXt2YXIgdD1vLl9kb0ZpbmFsaXplLmNhbGwodGhpcyk7cmV0dXJuIHQuc2lnQnl0ZXMtPTQsdH19KTtyLlNIQTIyND1vLl9jcmVhdGVIZWxwZXIocyksci5IbWFjU0hBMjI0PW8uX2NyZWF0ZUhtYWNIZWxwZXIocyl9KCksZnVuY3Rpb24ocil7dmFyIGU9dCxpPWUubGliLG49aS5CYXNlLG89aS5Xb3JkQXJyYXkscz1lLng2ND17fTtzLldvcmQ9bi5leHRlbmQoe2luaXQ6ZnVuY3Rpb24odCxyKXt0aGlzLmhpZ2g9dCx0aGlzLmxvdz1yfX0pLHMuV29yZEFycmF5PW4uZXh0ZW5kKHtpbml0OmZ1bmN0aW9uKHQsZSl7dD10aGlzLndvcmRzPXR8fFtdLGUhPXI/dGhpcy5zaWdCeXRlcz1lOnRoaXMuc2lnQnl0ZXM9OCp0Lmxlbmd0aH0sdG9YMzI6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy53b3JkcyxyPXQubGVuZ3RoLGU9W10saT0wO2k8cjtpKyspe3ZhciBuPXRbaV07ZS5wdXNoKG4uaGlnaCksZS5wdXNoKG4ubG93KX1yZXR1cm4gby5jcmVhdGUoZSx0aGlzLnNpZ0J5dGVzKX0sY2xvbmU6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9bi5jbG9uZS5jYWxsKHRoaXMpLHI9dC53b3Jkcz10aGlzLndvcmRzLnNsaWNlKDApLGU9ci5sZW5ndGgsaT0wO2k8ZTtpKyspcltpXT1yW2ldLmNsb25lKCk7cmV0dXJuIHR9fSl9KCksZnVuY3Rpb24ocil7dmFyIGU9dCxpPWUubGliLG49aS5Xb3JkQXJyYXksbz1pLkhhc2hlcixzPWUueDY0LGE9cy5Xb3JkLGM9ZS5hbGdvLGg9W10sbD1bXSxmPVtdOyFmdW5jdGlvbigpe2Zvcih2YXIgdD0xLHI9MCxlPTA7ZTwyNDtlKyspe2hbdCs1KnJdPShlKzEpKihlKzIpLzIlNjQ7dmFyIGk9ciU1LG49KDIqdCszKnIpJTU7dD1pLHI9bn1mb3IodmFyIHQ9MDt0PDU7dCsrKWZvcih2YXIgcj0wO3I8NTtyKyspbFt0KzUqcl09cisoMip0KzMqciklNSo1O2Zvcih2YXIgbz0xLHM9MDtzPDI0O3MrKyl7Zm9yKHZhciBjPTAsdT0wLGQ9MDtkPDc7ZCsrKXtpZigxJm8pe3ZhciB2PSgxPDxkKS0xO3Y8MzI/dV49MTw8djpjXj0xPDx2LTMyfTEyOCZvP289bzw8MV4xMTM6bzw8PTF9ZltzXT1hLmNyZWF0ZShjLHUpfX0oKTt2YXIgdT1bXTshZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PDI1O3QrKyl1W3RdPWEuY3JlYXRlKCl9KCk7dmFyIGQ9Yy5TSEEzPW8uZXh0ZW5kKHtjZmc6by5jZmcuZXh0ZW5kKHtvdXRwdXRMZW5ndGg6NTEyfSksX2RvUmVzZXQ6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5fc3RhdGU9W10scj0wO3I8MjU7cisrKXRbcl09bmV3IGEuaW5pdDt0aGlzLmJsb2NrU2l6ZT0oMTYwMC0yKnRoaXMuY2ZnLm91dHB1dExlbmd0aCkvMzJ9LF9kb1Byb2Nlc3NCbG9jazpmdW5jdGlvbih0LHIpe2Zvcih2YXIgZT10aGlzLl9zdGF0ZSxpPXRoaXMuYmxvY2tTaXplLzIsbj0wO248aTtuKyspe3ZhciBvPXRbcisyKm5dLHM9dFtyKzIqbisxXTtvPTE2NzExOTM1JihvPDw4fG8+Pj4yNCl8NDI3ODI1NTM2MCYobzw8MjR8bz4+PjgpLHM9MTY3MTE5MzUmKHM8PDh8cz4+PjI0KXw0Mjc4MjU1MzYwJihzPDwyNHxzPj4+OCk7dmFyIGE9ZVtuXTthLmhpZ2hePXMsYS5sb3dePW99Zm9yKHZhciBjPTA7YzwyNDtjKyspe2Zvcih2YXIgZD0wO2Q8NTtkKyspe2Zvcih2YXIgdj0wLHA9MCxfPTA7Xzw1O18rKyl7dmFyIGE9ZVtkKzUqX107dl49YS5oaWdoLHBePWEubG93fXZhciB5PXVbZF07eS5oaWdoPXYseS5sb3c9cH1mb3IodmFyIGQ9MDtkPDU7ZCsrKWZvcih2YXIgZz11WyhkKzQpJTVdLEI9dVsoZCsxKSU1XSx3PUIuaGlnaCxrPUIubG93LHY9Zy5oaWdoXih3PDwxfGs+Pj4zMSkscD1nLmxvd14oazw8MXx3Pj4+MzEpLF89MDtfPDU7XysrKXt2YXIgYT1lW2QrNSpfXTthLmhpZ2hePXYsYS5sb3dePXB9Zm9yKHZhciBTPTE7UzwyNTtTKyspe3ZhciBhPWVbU10sbT1hLmhpZ2gseD1hLmxvdyxiPWhbU107aWYoYjwzMil2YXIgdj1tPDxifHg+Pj4zMi1iLHA9eDw8YnxtPj4+MzItYjtlbHNlIHZhciB2PXg8PGItMzJ8bT4+PjY0LWIscD1tPDxiLTMyfHg+Pj42NC1iO3ZhciBIPXVbbFtTXV07SC5oaWdoPXYsSC5sb3c9cH12YXIgej11WzBdLEE9ZVswXTt6LmhpZ2g9QS5oaWdoLHoubG93PUEubG93O2Zvcih2YXIgZD0wO2Q8NTtkKyspZm9yKHZhciBfPTA7Xzw1O18rKyl7dmFyIFM9ZCs1Kl8sYT1lW1NdLEM9dVtTXSxEPXVbKGQrMSklNSs1Kl9dLFI9dVsoZCsyKSU1KzUqX107YS5oaWdoPUMuaGlnaF5+RC5oaWdoJlIuaGlnaCxhLmxvdz1DLmxvd15+RC5sb3cmUi5sb3d9dmFyIGE9ZVswXSxFPWZbY107YS5oaWdoXj1FLmhpZ2gsYS5sb3dePUUubG93fX0sX2RvRmluYWxpemU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9kYXRhLGU9dC53b3JkcyxpPSg4KnRoaXMuX25EYXRhQnl0ZXMsOCp0LnNpZ0J5dGVzKSxvPTMyKnRoaXMuYmxvY2tTaXplO2VbaT4+PjVdfD0xPDwyNC1pJTMyLGVbKHIuY2VpbCgoaSsxKS9vKSpvPj4+NSktMV18PTEyOCx0LnNpZ0J5dGVzPTQqZS5sZW5ndGgsdGhpcy5fcHJvY2VzcygpO2Zvcih2YXIgcz10aGlzLl9zdGF0ZSxhPXRoaXMuY2ZnLm91dHB1dExlbmd0aC84LGM9YS84LGg9W10sbD0wO2w8YztsKyspe3ZhciBmPXNbbF0sdT1mLmhpZ2gsZD1mLmxvdzt1PTE2NzExOTM1Jih1PDw4fHU+Pj4yNCl8NDI3ODI1NTM2MCYodTw8MjR8dT4+PjgpLGQ9MTY3MTE5MzUmKGQ8PDh8ZD4+PjI0KXw0Mjc4MjU1MzYwJihkPDwyNHxkPj4+OCksaC5wdXNoKGQpLGgucHVzaCh1KX1yZXR1cm4gbmV3IG4uaW5pdChoLGEpfSxjbG9uZTpmdW5jdGlvbigpe2Zvcih2YXIgdD1vLmNsb25lLmNhbGwodGhpcykscj10Ll9zdGF0ZT10aGlzLl9zdGF0ZS5zbGljZSgwKSxlPTA7ZTwyNTtlKyspcltlXT1yW2VdLmNsb25lKCk7cmV0dXJuIHR9fSk7ZS5TSEEzPW8uX2NyZWF0ZUhlbHBlcihkKSxlLkhtYWNTSEEzPW8uX2NyZWF0ZUhtYWNIZWxwZXIoZCl9KE1hdGgpLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gcigpe3JldHVybiBzLmNyZWF0ZS5hcHBseShzLGFyZ3VtZW50cyl9dmFyIGU9dCxpPWUubGliLG49aS5IYXNoZXIsbz1lLng2NCxzPW8uV29yZCxhPW8uV29yZEFycmF5LGM9ZS5hbGdvLGg9W3IoMTExNjM1MjQwOCwzNjA5NzY3NDU4KSxyKDE4OTk0NDc0NDEsNjAyODkxNzI1KSxyKDMwNDkzMjM0NzEsMzk2NDQ4NDM5OSkscigzOTIxMDA5NTczLDIxNzMyOTU1NDgpLHIoOTYxOTg3MTYzLDQwODE2Mjg0NzIpLHIoMTUwODk3MDk5MywzMDUzODM0MjY1KSxyKDI0NTM2MzU3NDgsMjkzNzY3MTU3OSkscigyODcwNzYzMjIxLDM2NjQ2MDk1NjApLHIoMzYyNDM4MTA4MCwyNzM0ODgzMzk0KSxyKDMxMDU5ODQwMSwxMTY0OTk2NTQyKSxyKDYwNzIyNTI3OCwxMzIzNjEwNzY0KSxyKDE0MjY4ODE5ODcsMzU5MDMwNDk5NCkscigxOTI1MDc4Mzg4LDQwNjgxODIzODMpLHIoMjE2MjA3ODIwNiw5OTEzMzYxMTMpLHIoMjYxNDg4ODEwMyw2MzM4MDMzMTcpLHIoMzI0ODIyMjU4MCwzNDc5Nzc0ODY4KSxyKDM4MzUzOTA0MDEsMjY2NjYxMzQ1OCkscig0MDIyMjI0Nzc0LDk0NDcxMTEzOSkscigyNjQzNDcwNzgsMjM0MTI2Mjc3Mykscig2MDQ4MDc2MjgsMjAwNzgwMDkzMykscig3NzAyNTU5ODMsMTQ5NTk5MDkwMSkscigxMjQ5MTUwMTIyLDE4NTY0MzEyMzUpLHIoMTU1NTA4MTY5MiwzMTc1MjE4MTMyKSxyKDE5OTYwNjQ5ODYsMjE5ODk1MDgzNykscigyNTU0MjIwODgyLDM5OTk3MTkzMzkpLHIoMjgyMTgzNDM0OSw3NjY3ODQwMTYpLHIoMjk1Mjk5NjgwOCwyNTY2NTk0ODc5KSxyKDMyMTAzMTM2NzEsMzIwMzMzNzk1NikscigzMzM2NTcxODkxLDEwMzQ0NTcwMjYpLHIoMzU4NDUyODcxMSwyNDY2OTQ4OTAxKSxyKDExMzkyNjk5MywzNzU4MzI2MzgzKSxyKDMzODI0MTg5NSwxNjg3MTc5MzYpLHIoNjY2MzA3MjA1LDExODgxNzk5NjQpLHIoNzczNTI5OTEyLDE1NDYwNDU3MzQpLHIoMTI5NDc1NzM3MiwxNTIyODA1NDg1KSxyKDEzOTYxODIyOTEsMjY0MzgzMzgyMykscigxNjk1MTgzNzAwLDIzNDM1MjczOTApLHIoMTk4NjY2MTA1MSwxMDE0NDc3NDgwKSxyKDIxNzcwMjYzNTAsMTIwNjc1OTE0MikscigyNDU2OTU2MDM3LDM0NDA3NzYyNykscigyNzMwNDg1OTIxLDEyOTA4NjM0NjApLHIoMjgyMDMwMjQxMSwzMTU4NDU0MjczKSxyKDMyNTk3MzA4MDAsMzUwNTk1MjY1NykscigzMzQ1NzY0NzcxLDEwNjIxNzAwOCkscigzNTE2MDY1ODE3LDM2MDYwMDgzNDQpLHIoMzYwMDM1MjgwNCwxNDMyNzI1Nzc2KSxyKDQwOTQ1NzE5MDksMTQ2NzAzMTU5NCkscigyNzU0MjMzNDQsODUxMTY5NzIwKSxyKDQzMDIyNzczNCwzMTAwODIzNzUyKSxyKDUwNjk0ODYxNiwxMzYzMjU4MTk1KSxyKDY1OTA2MDU1NiwzNzUwNjg1NTkzKSxyKDg4Mzk5Nzg3NywzNzg1MDUwMjgwKSxyKDk1ODEzOTU3MSwzMzE4MzA3NDI3KSxyKDEzMjI4MjIyMTgsMzgxMjcyMzQwMykscigxNTM3MDAyMDYzLDIwMDMwMzQ5OTUpLHIoMTc0Nzg3Mzc3OSwzNjAyMDM2ODk5KSxyKDE5NTU1NjIyMjIsMTU3NTk5MDAxMikscigyMDI0MTA0ODE1LDExMjU1OTI5MjgpLHIoMjIyNzczMDQ1MiwyNzE2OTA0MzA2KSxyKDIzNjE4NTI0MjQsNDQyNzc2MDQ0KSxyKDI0Mjg0MzY0NzQsNTkzNjk4MzQ0KSxyKDI3NTY3MzQxODcsMzczMzExMDI0OSkscigzMjA0MDMxNDc5LDI5OTkzNTE1NzMpLHIoMzMyOTMyNTI5OCwzODE1OTIwNDI3KSxyKDMzOTE1Njk2MTQsMzkyODM4MzkwMCkscigzNTE1MjY3MjcxLDU2NjI4MDcxMSkscigzOTQwMTg3NjA2LDM0NTQwNjk1MzQpLHIoNDExODYzMDI3MSw0MDAwMjM5OTkyKSxyKDExNjQxODQ3NCwxOTE0MTM4NTU0KSxyKDE3NDI5MjQyMSwyNzMxMDU1MjcwKSxyKDI4OTM4MDM1NiwzMjAzOTkzMDA2KSxyKDQ2MDM5MzI2OSwzMjA2MjAzMTUpLHIoNjg1NDcxNzMzLDU4NzQ5NjgzNikscig4NTIxNDI5NzEsMTA4Njc5Mjg1MSkscigxMDE3MDM2Mjk4LDM2NTU0MzEwMCkscigxMTI2MDAwNTgwLDI2MTgyOTc2NzYpLHIoMTI4ODAzMzQ3MCwzNDA5ODU1MTU4KSxyKDE1MDE1MDU5NDgsNDIzNDUwOTg2NikscigxNjA3MTY3OTE1LDk4NzE2NzQ2OCkscigxODE2NDAyMzE2LDEyNDYxODk1OTEpXSxsPVtdOyFmdW5jdGlvbigpe2Zvcih2YXIgdD0wO3Q8ODA7dCsrKWxbdF09cigpfSgpO3ZhciBmPWMuU0hBNTEyPW4uZXh0ZW5kKHtfZG9SZXNldDpmdW5jdGlvbigpe3RoaXMuX2hhc2g9bmV3IGEuaW5pdChbbmV3IHMuaW5pdCgxNzc5MDMzNzAzLDQwODkyMzU3MjApLG5ldyBzLmluaXQoMzE0NDEzNDI3NywyMjI3ODczNTk1KSxuZXcgcy5pbml0KDEwMTM5MDQyNDIsNDI3MTE3NTcyMyksbmV3IHMuaW5pdCgyNzczNDgwNzYyLDE1OTU3NTAxMjkpLG5ldyBzLmluaXQoMTM1OTg5MzExOSwyOTE3NTY1MTM3KSxuZXcgcy5pbml0KDI2MDA4MjI5MjQsNzI1NTExMTk5KSxuZXcgcy5pbml0KDUyODczNDYzNSw0MjE1Mzg5NTQ3KSxuZXcgcy5pbml0KDE1NDE0NTkyMjUsMzI3MDMzMjA5KV0pfSxfZG9Qcm9jZXNzQmxvY2s6ZnVuY3Rpb24odCxyKXtmb3IodmFyIGU9dGhpcy5faGFzaC53b3JkcyxpPWVbMF0sbj1lWzFdLG89ZVsyXSxzPWVbM10sYT1lWzRdLGM9ZVs1XSxmPWVbNl0sdT1lWzddLGQ9aS5oaWdoLHY9aS5sb3cscD1uLmhpZ2gsXz1uLmxvdyx5PW8uaGlnaCxnPW8ubG93LEI9cy5oaWdoLHc9cy5sb3csaz1hLmhpZ2gsUz1hLmxvdyxtPWMuaGlnaCx4PWMubG93LGI9Zi5oaWdoLEg9Zi5sb3csej11LmhpZ2gsQT11LmxvdyxDPWQsRD12LFI9cCxFPV8sTT15LEY9ZyxQPUIsVz13LE89ayxVPVMsST1tLEs9eCxYPWIsTD1ILGo9eixOPUEsVD0wO1Q8ODA7VCsrKXt2YXIgWj1sW1RdO2lmKFQ8MTYpdmFyIHE9Wi5oaWdoPTB8dFtyKzIqVF0sRz1aLmxvdz0wfHRbcisyKlQrMV07ZWxzZXt2YXIgSj1sW1QtMTVdLCQ9Si5oaWdoLFE9Si5sb3csVj0oJD4+PjF8UTw8MzEpXigkPj4+OHxRPDwyNCleJD4+PjcsWT0oUT4+PjF8JDw8MzEpXihRPj4+OHwkPDwyNCleKFE+Pj43fCQ8PDI1KSx0dD1sW1QtMl0scnQ9dHQuaGlnaCxldD10dC5sb3csaXQ9KHJ0Pj4+MTl8ZXQ8PDEzKV4ocnQ8PDN8ZXQ+Pj4yOSlecnQ+Pj42LG50PShldD4+PjE5fHJ0PDwxMyleKGV0PDwzfHJ0Pj4+MjkpXihldD4+PjZ8cnQ8PDI2KSxvdD1sW1QtN10sc3Q9b3QuaGlnaCxhdD1vdC5sb3csY3Q9bFtULTE2XSxodD1jdC5oaWdoLGx0PWN0LmxvdyxHPVkrYXQscT1WK3N0KyhHPj4+MDxZPj4+MD8xOjApLEc9RytudCxxPXEraXQrKEc+Pj4wPG50Pj4+MD8xOjApLEc9RytsdCxxPXEraHQrKEc+Pj4wPGx0Pj4+MD8xOjApO1ouaGlnaD1xLFoubG93PUd9dmFyIGZ0PU8mSV5+TyZYLHV0PVUmS15+VSZMLGR0PUMmUl5DJk1eUiZNLHZ0PUQmRV5EJkZeRSZGLHB0PShDPj4+Mjh8RDw8NCleKEM8PDMwfEQ+Pj4yKV4oQzw8MjV8RD4+PjcpLF90PShEPj4+Mjh8Qzw8NCleKEQ8PDMwfEM+Pj4yKV4oRDw8MjV8Qz4+PjcpLHl0PShPPj4+MTR8VTw8MTgpXihPPj4+MTh8VTw8MTQpXihPPDwyM3xVPj4+OSksZ3Q9KFU+Pj4xNHxPPDwxOCleKFU+Pj4xOHxPPDwxNCleKFU8PDIzfE8+Pj45KSxCdD1oW1RdLHd0PUJ0LmhpZ2gsa3Q9QnQubG93LFN0PU4rZ3QsbXQ9ait5dCsoU3Q+Pj4wPE4+Pj4wPzE6MCksU3Q9U3QrdXQsbXQ9bXQrZnQrKFN0Pj4+MDx1dD4+PjA/MTowKSxTdD1TdCtrdCxtdD1tdCt3dCsoU3Q+Pj4wPGt0Pj4+MD8xOjApLFN0PVN0K0csbXQ9bXQrcSsoU3Q+Pj4wPEc+Pj4wPzE6MCkseHQ9X3QrdnQsYnQ9cHQrZHQrKHh0Pj4+MDxfdD4+PjA/MTowKTtqPVgsTj1MLFg9SSxMPUssST1PLEs9VSxVPVcrU3R8MCxPPVArbXQrKFU+Pj4wPFc+Pj4wPzE6MCl8MCxQPU0sVz1GLE09UixGPUUsUj1DLEU9RCxEPVN0K3h0fDAsQz1tdCtidCsoRD4+PjA8U3Q+Pj4wPzE6MCl8MH12PWkubG93PXYrRCxpLmhpZ2g9ZCtDKyh2Pj4+MDxEPj4+MD8xOjApLF89bi5sb3c9XytFLG4uaGlnaD1wK1IrKF8+Pj4wPEU+Pj4wPzE6MCksZz1vLmxvdz1nK0Ysby5oaWdoPXkrTSsoZz4+PjA8Rj4+PjA/MTowKSx3PXMubG93PXcrVyxzLmhpZ2g9QitQKyh3Pj4+MDxXPj4+MD8xOjApLFM9YS5sb3c9UytVLGEuaGlnaD1rK08rKFM+Pj4wPFU+Pj4wPzE6MCkseD1jLmxvdz14K0ssYy5oaWdoPW0rSSsoeD4+PjA8Sz4+PjA/MTowKSxIPWYubG93PUgrTCxmLmhpZ2g9YitYKyhIPj4+MDxMPj4+MD8xOjApLEE9dS5sb3c9QStOLHUuaGlnaD16K2orKEE+Pj4wPE4+Pj4wPzE6MCl9LF9kb0ZpbmFsaXplOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZGF0YSxyPXQud29yZHMsZT04KnRoaXMuX25EYXRhQnl0ZXMsaT04KnQuc2lnQnl0ZXM7cltpPj4+NV18PTEyODw8MjQtaSUzMixyWyhpKzEyOD4+PjEwPDw1KSszMF09TWF0aC5mbG9vcihlLzQyOTQ5NjcyOTYpLHJbKGkrMTI4Pj4+MTA8PDUpKzMxXT1lLHQuc2lnQnl0ZXM9NCpyLmxlbmd0aCx0aGlzLl9wcm9jZXNzKCk7dmFyIG49dGhpcy5faGFzaC50b1gzMigpO3JldHVybiBufSxjbG9uZTpmdW5jdGlvbigpe3ZhciB0PW4uY2xvbmUuY2FsbCh0aGlzKTtyZXR1cm4gdC5faGFzaD10aGlzLl9oYXNoLmNsb25lKCksdH0sYmxvY2tTaXplOjMyfSk7ZS5TSEE1MTI9bi5fY3JlYXRlSGVscGVyKGYpLGUuSG1hY1NIQTUxMj1uLl9jcmVhdGVIbWFjSGVscGVyKGYpfSgpLGZ1bmN0aW9uKCl7dmFyIHI9dCxlPXIueDY0LGk9ZS5Xb3JkLG49ZS5Xb3JkQXJyYXksbz1yLmFsZ28scz1vLlNIQTUxMixhPW8uU0hBMzg0PXMuZXh0ZW5kKHtfZG9SZXNldDpmdW5jdGlvbigpe3RoaXMuX2hhc2g9bmV3IG4uaW5pdChbbmV3IGkuaW5pdCgzNDE4MDcwMzY1LDMyMzgzNzEwMzIpLG5ldyBpLmluaXQoMTY1NDI3MDI1MCw5MTQxNTA2NjMpLG5ldyBpLmluaXQoMjQzODUyOTM3MCw4MTI3MDI5OTkpLG5ldyBpLmluaXQoMzU1NDYyMzYwLDQxNDQ5MTI2OTcpLG5ldyBpLmluaXQoMTczMTQwNTQxNSw0MjkwNzc1ODU3KSxuZXcgaS5pbml0KDIzOTQxODAyMzEsMTc1MDYwMzAyNSksbmV3IGkuaW5pdCgzNjc1MDA4NTI1LDE2OTQwNzY4MzkpLG5ldyBpLmluaXQoMTIwMzA2MjgxMywzMjA0MDc1NDI4KV0pfSxfZG9GaW5hbGl6ZTpmdW5jdGlvbigpe3ZhciB0PXMuX2RvRmluYWxpemUuY2FsbCh0aGlzKTtyZXR1cm4gdC5zaWdCeXRlcy09MTYsdH19KTtyLlNIQTM4ND1zLl9jcmVhdGVIZWxwZXIoYSksci5IbWFjU0hBMzg0PXMuX2NyZWF0ZUhtYWNIZWxwZXIoYSl9KCksdC5saWIuQ2lwaGVyfHxmdW5jdGlvbihyKXt2YXIgZT10LGk9ZS5saWIsbj1pLkJhc2Usbz1pLldvcmRBcnJheSxzPWkuQnVmZmVyZWRCbG9ja0FsZ29yaXRobSxhPWUuZW5jLGM9KGEuVXRmOCxhLkJhc2U2NCksaD1lLmFsZ28sbD1oLkV2cEtERixmPWkuQ2lwaGVyPXMuZXh0ZW5kKHtjZmc6bi5leHRlbmQoKSxjcmVhdGVFbmNyeXB0b3I6ZnVuY3Rpb24odCxyKXtyZXR1cm4gdGhpcy5jcmVhdGUodGhpcy5fRU5DX1hGT1JNX01PREUsdCxyKX0sY3JlYXRlRGVjcnlwdG9yOmZ1bmN0aW9uKHQscil7cmV0dXJuIHRoaXMuY3JlYXRlKHRoaXMuX0RFQ19YRk9STV9NT0RFLHQscil9LGluaXQ6ZnVuY3Rpb24odCxyLGUpe3RoaXMuY2ZnPXRoaXMuY2ZnLmV4dGVuZChlKSx0aGlzLl94Zm9ybU1vZGU9dCx0aGlzLl9rZXk9cix0aGlzLnJlc2V0KCl9LHJlc2V0OmZ1bmN0aW9uKCl7cy5yZXNldC5jYWxsKHRoaXMpLHRoaXMuX2RvUmVzZXQoKX0scHJvY2VzczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fYXBwZW5kKHQpLHRoaXMuX3Byb2Nlc3MoKX0sZmluYWxpemU6ZnVuY3Rpb24odCl7dCYmdGhpcy5fYXBwZW5kKHQpO3ZhciByPXRoaXMuX2RvRmluYWxpemUoKTtyZXR1cm4gcn0sa2V5U2l6ZTo0LGl2U2l6ZTo0LF9FTkNfWEZPUk1fTU9ERToxLF9ERUNfWEZPUk1fTU9ERToyLF9jcmVhdGVIZWxwZXI6ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3JldHVyblwic3RyaW5nXCI9PXR5cGVvZiB0P206d31yZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJue2VuY3J5cHQ6ZnVuY3Rpb24oZSxpLG4pe3JldHVybiB0KGkpLmVuY3J5cHQocixlLGksbil9LGRlY3J5cHQ6ZnVuY3Rpb24oZSxpLG4pe3JldHVybiB0KGkpLmRlY3J5cHQocixlLGksbil9fX19KCl9KSx1PShpLlN0cmVhbUNpcGhlcj1mLmV4dGVuZCh7X2RvRmluYWxpemU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9wcm9jZXNzKCEwKTtyZXR1cm4gdH0sYmxvY2tTaXplOjF9KSxlLm1vZGU9e30pLGQ9aS5CbG9ja0NpcGhlck1vZGU9bi5leHRlbmQoe2NyZWF0ZUVuY3J5cHRvcjpmdW5jdGlvbih0LHIpe3JldHVybiB0aGlzLkVuY3J5cHRvci5jcmVhdGUodCxyKX0sY3JlYXRlRGVjcnlwdG9yOmZ1bmN0aW9uKHQscil7cmV0dXJuIHRoaXMuRGVjcnlwdG9yLmNyZWF0ZSh0LHIpfSxpbml0OmZ1bmN0aW9uKHQscil7dGhpcy5fY2lwaGVyPXQsdGhpcy5faXY9cn19KSx2PXUuQ0JDPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUsaSl7dmFyIG49dGhpcy5faXY7aWYobil7dmFyIG89bjt0aGlzLl9pdj1yfWVsc2UgdmFyIG89dGhpcy5fcHJldkJsb2NrO2Zvcih2YXIgcz0wO3M8aTtzKyspdFtlK3NdXj1vW3NdfXZhciBlPWQuZXh0ZW5kKCk7cmV0dXJuIGUuRW5jcnlwdG9yPWUuZXh0ZW5kKHtwcm9jZXNzQmxvY2s6ZnVuY3Rpb24ocixlKXt2YXIgaT10aGlzLl9jaXBoZXIsbj1pLmJsb2NrU2l6ZTt0LmNhbGwodGhpcyxyLGUsbiksaS5lbmNyeXB0QmxvY2socixlKSx0aGlzLl9wcmV2QmxvY2s9ci5zbGljZShlLGUrbil9fSksZS5EZWNyeXB0b3I9ZS5leHRlbmQoe3Byb2Nlc3NCbG9jazpmdW5jdGlvbihyLGUpe3ZhciBpPXRoaXMuX2NpcGhlcixuPWkuYmxvY2tTaXplLG89ci5zbGljZShlLGUrbik7aS5kZWNyeXB0QmxvY2socixlKSx0LmNhbGwodGhpcyxyLGUsbiksdGhpcy5fcHJldkJsb2NrPW99fSksZX0oKSxwPWUucGFkPXt9LF89cC5Qa2NzNz17cGFkOmZ1bmN0aW9uKHQscil7Zm9yKHZhciBlPTQqcixpPWUtdC5zaWdCeXRlcyVlLG49aTw8MjR8aTw8MTZ8aTw8OHxpLHM9W10sYT0wO2E8aTthKz00KXMucHVzaChuKTt2YXIgYz1vLmNyZWF0ZShzLGkpO3QuY29uY2F0KGMpfSx1bnBhZDpmdW5jdGlvbih0KXt2YXIgcj0yNTUmdC53b3Jkc1t0LnNpZ0J5dGVzLTE+Pj4yXTt0LnNpZ0J5dGVzLT1yfX0seT0oaS5CbG9ja0NpcGhlcj1mLmV4dGVuZCh7Y2ZnOmYuY2ZnLmV4dGVuZCh7bW9kZTp2LHBhZGRpbmc6X30pLHJlc2V0OmZ1bmN0aW9uKCl7Zi5yZXNldC5jYWxsKHRoaXMpO3ZhciB0PXRoaXMuY2ZnLHI9dC5pdixlPXQubW9kZTtpZih0aGlzLl94Zm9ybU1vZGU9PXRoaXMuX0VOQ19YRk9STV9NT0RFKXZhciBpPWUuY3JlYXRlRW5jcnlwdG9yO2Vsc2V7dmFyIGk9ZS5jcmVhdGVEZWNyeXB0b3I7dGhpcy5fbWluQnVmZmVyU2l6ZT0xfXRoaXMuX21vZGUmJnRoaXMuX21vZGUuX19jcmVhdG9yPT1pP3RoaXMuX21vZGUuaW5pdCh0aGlzLHImJnIud29yZHMpOih0aGlzLl9tb2RlPWkuY2FsbChlLHRoaXMsciYmci53b3JkcyksdGhpcy5fbW9kZS5fX2NyZWF0b3I9aSl9LF9kb1Byb2Nlc3NCbG9jazpmdW5jdGlvbih0LHIpe3RoaXMuX21vZGUucHJvY2Vzc0Jsb2NrKHQscil9LF9kb0ZpbmFsaXplOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5jZmcucGFkZGluZztpZih0aGlzLl94Zm9ybU1vZGU9PXRoaXMuX0VOQ19YRk9STV9NT0RFKXt0LnBhZCh0aGlzLl9kYXRhLHRoaXMuYmxvY2tTaXplKTt2YXIgcj10aGlzLl9wcm9jZXNzKCEwKX1lbHNle3ZhciByPXRoaXMuX3Byb2Nlc3MoITApO3QudW5wYWQocil9cmV0dXJuIHJ9LGJsb2NrU2l6ZTo0fSksaS5DaXBoZXJQYXJhbXM9bi5leHRlbmQoe2luaXQ6ZnVuY3Rpb24odCl7dGhpcy5taXhJbih0KX0sdG9TdHJpbmc6ZnVuY3Rpb24odCl7cmV0dXJuKHR8fHRoaXMuZm9ybWF0dGVyKS5zdHJpbmdpZnkodGhpcyl9fSkpLGc9ZS5mb3JtYXQ9e30sQj1nLk9wZW5TU0w9e3N0cmluZ2lmeTpmdW5jdGlvbih0KXt2YXIgcj10LmNpcGhlcnRleHQsZT10LnNhbHQ7aWYoZSl2YXIgaT1vLmNyZWF0ZShbMTM5ODg5MzY4NCwxNzAxMDc2ODMxXSkuY29uY2F0KGUpLmNvbmNhdChyKTtlbHNlIHZhciBpPXI7cmV0dXJuIGkudG9TdHJpbmcoYyl9LHBhcnNlOmZ1bmN0aW9uKHQpe3ZhciByPWMucGFyc2UodCksZT1yLndvcmRzO2lmKDEzOTg4OTM2ODQ9PWVbMF0mJjE3MDEwNzY4MzE9PWVbMV0pe3ZhciBpPW8uY3JlYXRlKGUuc2xpY2UoMiw0KSk7ZS5zcGxpY2UoMCw0KSxyLnNpZ0J5dGVzLT0xNn1yZXR1cm4geS5jcmVhdGUoe2NpcGhlcnRleHQ6cixzYWx0Oml9KX19LHc9aS5TZXJpYWxpemFibGVDaXBoZXI9bi5leHRlbmQoe2NmZzpuLmV4dGVuZCh7Zm9ybWF0OkJ9KSxlbmNyeXB0OmZ1bmN0aW9uKHQscixlLGkpe2k9dGhpcy5jZmcuZXh0ZW5kKGkpO3ZhciBuPXQuY3JlYXRlRW5jcnlwdG9yKGUsaSksbz1uLmZpbmFsaXplKHIpLHM9bi5jZmc7cmV0dXJuIHkuY3JlYXRlKHtjaXBoZXJ0ZXh0Om8sa2V5OmUsaXY6cy5pdixhbGdvcml0aG06dCxtb2RlOnMubW9kZSxwYWRkaW5nOnMucGFkZGluZyxibG9ja1NpemU6dC5ibG9ja1NpemUsZm9ybWF0dGVyOmkuZm9ybWF0fSl9LGRlY3J5cHQ6ZnVuY3Rpb24odCxyLGUsaSl7aT10aGlzLmNmZy5leHRlbmQoaSkscj10aGlzLl9wYXJzZShyLGkuZm9ybWF0KTt2YXIgbj10LmNyZWF0ZURlY3J5cHRvcihlLGkpLmZpbmFsaXplKHIuY2lwaGVydGV4dCk7cmV0dXJuIG59LF9wYXJzZTpmdW5jdGlvbih0LHIpe3JldHVyblwic3RyaW5nXCI9PXR5cGVvZiB0P3IucGFyc2UodCx0aGlzKTp0fX0pLGs9ZS5rZGY9e30sUz1rLk9wZW5TU0w9e2V4ZWN1dGU6ZnVuY3Rpb24odCxyLGUsaSl7aXx8KGk9by5yYW5kb20oOCkpO3ZhciBuPWwuY3JlYXRlKHtrZXlTaXplOnIrZX0pLmNvbXB1dGUodCxpKSxzPW8uY3JlYXRlKG4ud29yZHMuc2xpY2UociksNCplKTtyZXR1cm4gbi5zaWdCeXRlcz00KnIseS5jcmVhdGUoe2tleTpuLGl2OnMsc2FsdDppfSl9fSxtPWkuUGFzc3dvcmRCYXNlZENpcGhlcj13LmV4dGVuZCh7Y2ZnOncuY2ZnLmV4dGVuZCh7a2RmOlN9KSxlbmNyeXB0OmZ1bmN0aW9uKHQscixlLGkpe2k9dGhpcy5jZmcuZXh0ZW5kKGkpO3ZhciBuPWkua2RmLmV4ZWN1dGUoZSx0LmtleVNpemUsdC5pdlNpemUpO2kuaXY9bi5pdjt2YXIgbz13LmVuY3J5cHQuY2FsbCh0aGlzLHQscixuLmtleSxpKTtyZXR1cm4gby5taXhJbihuKSxvfSxkZWNyeXB0OmZ1bmN0aW9uKHQscixlLGkpe2k9dGhpcy5jZmcuZXh0ZW5kKGkpLHI9dGhpcy5fcGFyc2UocixpLmZvcm1hdCk7dmFyIG49aS5rZGYuZXhlY3V0ZShlLHQua2V5U2l6ZSx0Lml2U2l6ZSxyLnNhbHQpO2kuaXY9bi5pdjt2YXIgbz13LmRlY3J5cHQuY2FsbCh0aGlzLHQscixuLmtleSxpKTtyZXR1cm4gb319KX0oKSx0Lm1vZGUuQ0ZCPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcih0LHIsZSxpKXt2YXIgbj10aGlzLl9pdjtpZihuKXt2YXIgbz1uLnNsaWNlKDApO3RoaXMuX2l2PXZvaWQgMH1lbHNlIHZhciBvPXRoaXMuX3ByZXZCbG9jaztpLmVuY3J5cHRCbG9jayhvLDApO2Zvcih2YXIgcz0wO3M8ZTtzKyspdFtyK3NdXj1vW3NdfXZhciBlPXQubGliLkJsb2NrQ2lwaGVyTW9kZS5leHRlbmQoKTtyZXR1cm4gZS5FbmNyeXB0b3I9ZS5leHRlbmQoe3Byb2Nlc3NCbG9jazpmdW5jdGlvbih0LGUpe3ZhciBpPXRoaXMuX2NpcGhlcixuPWkuYmxvY2tTaXplO3IuY2FsbCh0aGlzLHQsZSxuLGkpLHRoaXMuX3ByZXZCbG9jaz10LnNsaWNlKGUsZStuKX19KSxlLkRlY3J5cHRvcj1lLmV4dGVuZCh7cHJvY2Vzc0Jsb2NrOmZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5fY2lwaGVyLG49aS5ibG9ja1NpemUsbz10LnNsaWNlKGUsZStuKTtyLmNhbGwodGhpcyx0LGUsbixpKSx0aGlzLl9wcmV2QmxvY2s9b319KSxlfSgpLHQubW9kZS5FQ0I9ZnVuY3Rpb24oKXt2YXIgcj10LmxpYi5CbG9ja0NpcGhlck1vZGUuZXh0ZW5kKCk7cmV0dXJuIHIuRW5jcnlwdG9yPXIuZXh0ZW5kKHtwcm9jZXNzQmxvY2s6ZnVuY3Rpb24odCxyKXt0aGlzLl9jaXBoZXIuZW5jcnlwdEJsb2NrKHQscil9fSksci5EZWNyeXB0b3I9ci5leHRlbmQoe3Byb2Nlc3NCbG9jazpmdW5jdGlvbih0LHIpe3RoaXMuX2NpcGhlci5kZWNyeXB0QmxvY2sodCxyKX19KSxyfSgpLHQucGFkLkFuc2lYOTIzPXtwYWQ6ZnVuY3Rpb24odCxyKXt2YXIgZT10LnNpZ0J5dGVzLGk9NCpyLG49aS1lJWksbz1lK24tMTt0LmNsYW1wKCksdC53b3Jkc1tvPj4+Ml18PW48PDI0LW8lNCo4LHQuc2lnQnl0ZXMrPW59LHVucGFkOmZ1bmN0aW9uKHQpe3ZhciByPTI1NSZ0LndvcmRzW3Quc2lnQnl0ZXMtMT4+PjJdO3Quc2lnQnl0ZXMtPXJ9fSx0LnBhZC5Jc28xMDEyNj17cGFkOmZ1bmN0aW9uKHIsZSl7dmFyIGk9NCplLG49aS1yLnNpZ0J5dGVzJWk7ci5jb25jYXQodC5saWIuV29yZEFycmF5LnJhbmRvbShuLTEpKS5jb25jYXQodC5saWIuV29yZEFycmF5LmNyZWF0ZShbbjw8MjRdLDEpKX0sdW5wYWQ6ZnVuY3Rpb24odCl7dmFyIHI9MjU1JnQud29yZHNbdC5zaWdCeXRlcy0xPj4+Ml07dC5zaWdCeXRlcy09cn19LHQucGFkLklzbzk3OTcxPXtwYWQ6ZnVuY3Rpb24ocixlKXtyLmNvbmNhdCh0LmxpYi5Xb3JkQXJyYXkuY3JlYXRlKFsyMTQ3NDgzNjQ4XSwxKSksdC5wYWQuWmVyb1BhZGRpbmcucGFkKHIsZSl9LHVucGFkOmZ1bmN0aW9uKHIpe3QucGFkLlplcm9QYWRkaW5nLnVucGFkKHIpLHIuc2lnQnl0ZXMtLX19LHQubW9kZS5PRkI9ZnVuY3Rpb24oKXt2YXIgcj10LmxpYi5CbG9ja0NpcGhlck1vZGUuZXh0ZW5kKCksZT1yLkVuY3J5cHRvcj1yLmV4dGVuZCh7cHJvY2Vzc0Jsb2NrOmZ1bmN0aW9uKHQscil7dmFyIGU9dGhpcy5fY2lwaGVyLGk9ZS5ibG9ja1NpemUsbj10aGlzLl9pdixvPXRoaXMuX2tleXN0cmVhbTtuJiYobz10aGlzLl9rZXlzdHJlYW09bi5zbGljZSgwKSx0aGlzLl9pdj12b2lkIDApLGUuZW5jcnlwdEJsb2NrKG8sMCk7Zm9yKHZhciBzPTA7czxpO3MrKyl0W3Irc11ePW9bc119fSk7cmV0dXJuIHIuRGVjcnlwdG9yPWUscn0oKSx0LnBhZC5Ob1BhZGRpbmc9e3BhZDpmdW5jdGlvbigpe30sdW5wYWQ6ZnVuY3Rpb24oKXt9fSxmdW5jdGlvbihyKXt2YXIgZT10LGk9ZS5saWIsbj1pLkNpcGhlclBhcmFtcyxvPWUuZW5jLHM9by5IZXgsYT1lLmZvcm1hdDthLkhleD17c3RyaW5naWZ5OmZ1bmN0aW9uKHQpe3JldHVybiB0LmNpcGhlcnRleHQudG9TdHJpbmcocyl9LHBhcnNlOmZ1bmN0aW9uKHQpe3ZhciByPXMucGFyc2UodCk7cmV0dXJuIG4uY3JlYXRlKHtjaXBoZXJ0ZXh0OnJ9KX19fSgpLGZ1bmN0aW9uKCl7dmFyIHI9dCxlPXIubGliLGk9ZS5CbG9ja0NpcGhlcixuPXIuYWxnbyxvPVtdLHM9W10sYT1bXSxjPVtdLGg9W10sbD1bXSxmPVtdLHU9W10sZD1bXSx2PVtdOyFmdW5jdGlvbigpe2Zvcih2YXIgdD1bXSxyPTA7cjwyNTY7cisrKXI8MTI4P3Rbcl09cjw8MTp0W3JdPXI8PDFeMjgzO2Zvcih2YXIgZT0wLGk9MCxyPTA7cjwyNTY7cisrKXt2YXIgbj1pXmk8PDFeaTw8Ml5pPDwzXmk8PDQ7bj1uPj4+OF4yNTUmbl45OSxvW2VdPW4sc1tuXT1lO3ZhciBwPXRbZV0sXz10W3BdLHk9dFtfXSxnPTI1Nyp0W25dXjE2ODQzMDA4Km47YVtlXT1nPDwyNHxnPj4+OCxjW2VdPWc8PDE2fGc+Pj4xNixoW2VdPWc8PDh8Zz4+PjI0LGxbZV09Zzt2YXIgZz0xNjg0MzAwOSp5XjY1NTM3Kl9eMjU3KnBeMTY4NDMwMDgqZTtmW25dPWc8PDI0fGc+Pj44LHVbbl09Zzw8MTZ8Zz4+PjE2LGRbbl09Zzw8OHxnPj4+MjQsdltuXT1nLGU/KGU9cF50W3RbdFt5XnBdXV0saV49dFt0W2ldXSk6ZT1pPTF9fSgpO3ZhciBwPVswLDEsMiw0LDgsMTYsMzIsNjQsMTI4LDI3LDU0XSxfPW4uQUVTPWkuZXh0ZW5kKHtfZG9SZXNldDpmdW5jdGlvbigpe2lmKCF0aGlzLl9uUm91bmRzfHx0aGlzLl9rZXlQcmlvclJlc2V0IT09dGhpcy5fa2V5KXtmb3IodmFyIHQ9dGhpcy5fa2V5UHJpb3JSZXNldD10aGlzLl9rZXkscj10LndvcmRzLGU9dC5zaWdCeXRlcy80LGk9dGhpcy5fblJvdW5kcz1lKzYsbj00KihpKzEpLHM9dGhpcy5fa2V5U2NoZWR1bGU9W10sYT0wO2E8bjthKyspaWYoYTxlKXNbYV09clthXTtlbHNle3ZhciBjPXNbYS0xXTthJWU/ZT42JiZhJWU9PTQmJihjPW9bYz4+PjI0XTw8MjR8b1tjPj4+MTYmMjU1XTw8MTZ8b1tjPj4+OCYyNTVdPDw4fG9bMjU1JmNdKTooYz1jPDw4fGM+Pj4yNCxjPW9bYz4+PjI0XTw8MjR8b1tjPj4+MTYmMjU1XTw8MTZ8b1tjPj4+OCYyNTVdPDw4fG9bMjU1JmNdLGNePXBbYS9lfDBdPDwyNCksc1thXT1zW2EtZV1eY31mb3IodmFyIGg9dGhpcy5faW52S2V5U2NoZWR1bGU9W10sbD0wO2w8bjtsKyspe3ZhciBhPW4tbDtpZihsJTQpdmFyIGM9c1thXTtlbHNlIHZhciBjPXNbYS00XTtsPDR8fGE8PTQ/aFtsXT1jOmhbbF09ZltvW2M+Pj4yNF1dXnVbb1tjPj4+MTYmMjU1XV1eZFtvW2M+Pj44JjI1NV1dXnZbb1syNTUmY11dfX19LGVuY3J5cHRCbG9jazpmdW5jdGlvbih0LHIpe3RoaXMuX2RvQ3J5cHRCbG9jayh0LHIsdGhpcy5fa2V5U2NoZWR1bGUsYSxjLGgsbCxvKX0sZGVjcnlwdEJsb2NrOmZ1bmN0aW9uKHQscil7dmFyIGU9dFtyKzFdO3RbcisxXT10W3IrM10sdFtyKzNdPWUsdGhpcy5fZG9DcnlwdEJsb2NrKHQscix0aGlzLl9pbnZLZXlTY2hlZHVsZSxmLHUsZCx2LHMpO3ZhciBlPXRbcisxXTt0W3IrMV09dFtyKzNdLHRbciszXT1lfSxfZG9DcnlwdEJsb2NrOmZ1bmN0aW9uKHQscixlLGksbixvLHMsYSl7Zm9yKHZhciBjPXRoaXMuX25Sb3VuZHMsaD10W3JdXmVbMF0sbD10W3IrMV1eZVsxXSxmPXRbcisyXV5lWzJdLHU9dFtyKzNdXmVbM10sZD00LHY9MTt2PGM7disrKXt2YXIgcD1pW2g+Pj4yNF1ebltsPj4+MTYmMjU1XV5vW2Y+Pj44JjI1NV1ec1syNTUmdV1eZVtkKytdLF89aVtsPj4+MjRdXm5bZj4+PjE2JjI1NV1eb1t1Pj4+OCYyNTVdXnNbMjU1JmhdXmVbZCsrXSx5PWlbZj4+PjI0XV5uW3U+Pj4xNiYyNTVdXm9baD4+PjgmMjU1XV5zWzI1NSZsXV5lW2QrK10sZz1pW3U+Pj4yNF1ebltoPj4+MTYmMjU1XV5vW2w+Pj44JjI1NV1ec1syNTUmZl1eZVtkKytdO2g9cCxsPV8sZj15LHU9Z312YXIgcD0oYVtoPj4+MjRdPDwyNHxhW2w+Pj4xNiYyNTVdPDwxNnxhW2Y+Pj44JjI1NV08PDh8YVsyNTUmdV0pXmVbZCsrXSxfPShhW2w+Pj4yNF08PDI0fGFbZj4+PjE2JjI1NV08PDE2fGFbdT4+PjgmMjU1XTw8OHxhWzI1NSZoXSleZVtkKytdLHk9KGFbZj4+PjI0XTw8MjR8YVt1Pj4+MTYmMjU1XTw8MTZ8YVtoPj4+OCYyNTVdPDw4fGFbMjU1JmxdKV5lW2QrK10sZz0oYVt1Pj4+MjRdPDwyNHxhW2g+Pj4xNiYyNTVdPDwxNnxhW2w+Pj44JjI1NV08PDh8YVsyNTUmZl0pXmVbZCsrXTt0W3JdPXAsdFtyKzFdPV8sdFtyKzJdPXksdFtyKzNdPWd9LGtleVNpemU6OH0pO3IuQUVTPWkuX2NyZWF0ZUhlbHBlcihfKX0oKSxmdW5jdGlvbigpe2Z1bmN0aW9uIHIodCxyKXt2YXIgZT0odGhpcy5fbEJsb2NrPj4+dF50aGlzLl9yQmxvY2spJnI7dGhpcy5fckJsb2NrXj1lLHRoaXMuX2xCbG9ja149ZTw8dH1mdW5jdGlvbiBlKHQscil7dmFyIGU9KHRoaXMuX3JCbG9jaz4+PnRedGhpcy5fbEJsb2NrKSZyO3RoaXMuX2xCbG9ja149ZSx0aGlzLl9yQmxvY2tePWU8PHQ7XG59dmFyIGk9dCxuPWkubGliLG89bi5Xb3JkQXJyYXkscz1uLkJsb2NrQ2lwaGVyLGE9aS5hbGdvLGM9WzU3LDQ5LDQxLDMzLDI1LDE3LDksMSw1OCw1MCw0MiwzNCwyNiwxOCwxMCwyLDU5LDUxLDQzLDM1LDI3LDE5LDExLDMsNjAsNTIsNDQsMzYsNjMsNTUsNDcsMzksMzEsMjMsMTUsNyw2Miw1NCw0NiwzOCwzMCwyMiwxNCw2LDYxLDUzLDQ1LDM3LDI5LDIxLDEzLDUsMjgsMjAsMTIsNF0saD1bMTQsMTcsMTEsMjQsMSw1LDMsMjgsMTUsNiwyMSwxMCwyMywxOSwxMiw0LDI2LDgsMTYsNywyNywyMCwxMywyLDQxLDUyLDMxLDM3LDQ3LDU1LDMwLDQwLDUxLDQ1LDMzLDQ4LDQ0LDQ5LDM5LDU2LDM0LDUzLDQ2LDQyLDUwLDM2LDI5LDMyXSxsPVsxLDIsNCw2LDgsMTAsMTIsMTQsMTUsMTcsMTksMjEsMjMsMjUsMjcsMjhdLGY9W3swOjg0MjE4ODgsMjY4NDM1NDU2OjMyNzY4LDUzNjg3MDkxMjo4NDIxMzc4LDgwNTMwNjM2ODoyLDEwNzM3NDE4MjQ6NTEyLDEzNDIxNzcyODA6ODQyMTg5MCwxNjEwNjEyNzM2OjgzODkxMjIsMTg3OTA0ODE5Mjo4Mzg4NjA4LDIxNDc0ODM2NDg6NTE0LDI0MTU5MTkxMDQ6ODM4OTEyMCwyNjg0MzU0NTYwOjMzMjgwLDI5NTI3OTAwMTY6ODQyMTM3NiwzMjIxMjI1NDcyOjMyNzcwLDM0ODk2NjA5Mjg6ODM4ODYxMCwzNzU4MDk2Mzg0OjAsNDAyNjUzMTg0MDozMzI4MiwxMzQyMTc3Mjg6MCw0MDI2NTMxODQ6ODQyMTg5MCw2NzEwODg2NDA6MzMyODIsOTM5NTI0MDk2OjMyNzY4LDEyMDc5NTk1NTI6ODQyMTg4OCwxNDc2Mzk1MDA4OjUxMiwxNzQ0ODMwNDY0Ojg0MjEzNzgsMjAxMzI2NTkyMDoyLDIyODE3MDEzNzY6ODM4OTEyMCwyNTUwMTM2ODMyOjMzMjgwLDI4MTg1NzIyODg6ODQyMTM3NiwzMDg3MDA3NzQ0OjgzODkxMjIsMzM1NTQ0MzIwMDo4Mzg4NjEwLDM2MjM4Nzg2NTY6MzI3NzAsMzg5MjMxNDExMjo1MTQsNDE2MDc0OTU2ODo4Mzg4NjA4LDE6MzI3NjgsMjY4NDM1NDU3OjIsNTM2ODcwOTEzOjg0MjE4ODgsODA1MzA2MzY5OjgzODg2MDgsMTA3Mzc0MTgyNTo4NDIxMzc4LDEzNDIxNzcyODE6MzMyODAsMTYxMDYxMjczNzo1MTIsMTg3OTA0ODE5Mzo4Mzg5MTIyLDIxNDc0ODM2NDk6ODQyMTg5MCwyNDE1OTE5MTA1Ojg0MjEzNzYsMjY4NDM1NDU2MTo4Mzg4NjEwLDI5NTI3OTAwMTc6MzMyODIsMzIyMTIyNTQ3Mzo1MTQsMzQ4OTY2MDkyOTo4Mzg5MTIwLDM3NTgwOTYzODU6MzI3NzAsNDAyNjUzMTg0MTowLDEzNDIxNzcyOTo4NDIxODkwLDQwMjY1MzE4NTo4NDIxMzc2LDY3MTA4ODY0MTo4Mzg4NjA4LDkzOTUyNDA5Nzo1MTIsMTIwNzk1OTU1MzozMjc2OCwxNDc2Mzk1MDA5OjgzODg2MTAsMTc0NDgzMDQ2NToyLDIwMTMyNjU5MjE6MzMyODIsMjI4MTcwMTM3NzozMjc3MCwyNTUwMTM2ODMzOjgzODkxMjIsMjgxODU3MjI4OTo1MTQsMzA4NzAwNzc0NTo4NDIxODg4LDMzNTU0NDMyMDE6ODM4OTEyMCwzNjIzODc4NjU3OjAsMzg5MjMxNDExMzozMzI4MCw0MTYwNzQ5NTY5Ojg0MjEzNzh9LHswOjEwNzQyODI1MTIsMTY3NzcyMTY6MTYzODQsMzM1NTQ0MzI6NTI0Mjg4LDUwMzMxNjQ4OjEwNzQyNjYxMjgsNjcxMDg4NjQ6MTA3Mzc0MTg0MCw4Mzg4NjA4MDoxMDc0MjgyNDk2LDEwMDY2MzI5NjoxMDczNzU4MjA4LDExNzQ0MDUxMjoxNiwxMzQyMTc3Mjg6NTQwNjcyLDE1MDk5NDk0NDoxMDczNzU4MjI0LDE2Nzc3MjE2MDoxMDczNzQxODI0LDE4NDU0OTM3Njo1NDA2ODgsMjAxMzI2NTkyOjUyNDMwNCwyMTgxMDM4MDg6MCwyMzQ4ODEwMjQ6MTY0MDAsMjUxNjU4MjQwOjEwNzQyNjYxMTIsODM4ODYwODoxMDczNzU4MjA4LDI1MTY1ODI0OjU0MDY4OCw0MTk0MzA0MDoxNiw1ODcyMDI1NjoxMDczNzU4MjI0LDc1NDk3NDcyOjEwNzQyODI1MTIsOTIyNzQ2ODg6MTA3Mzc0MTgyNCwxMDkwNTE5MDQ6NTI0Mjg4LDEyNTgyOTEyMDoxMDc0MjY2MTI4LDE0MjYwNjMzNjo1MjQzMDQsMTU5MzgzNTUyOjAsMTc2MTYwNzY4OjE2Mzg0LDE5MjkzNzk4NDoxMDc0MjY2MTEyLDIwOTcxNTIwMDoxMDczNzQxODQwLDIyNjQ5MjQxNjo1NDA2NzIsMjQzMjY5NjMyOjEwNzQyODI0OTYsMjYwMDQ2ODQ4OjE2NDAwLDI2ODQzNTQ1NjowLDI4NTIxMjY3MjoxMDc0MjY2MTI4LDMwMTk4OTg4ODoxMDczNzU4MjI0LDMxODc2NzEwNDoxMDc0MjgyNDk2LDMzNTU0NDMyMDoxMDc0MjY2MTEyLDM1MjMyMTUzNjoxNiwzNjkwOTg3NTI6NTQwNjg4LDM4NTg3NTk2ODoxNjM4NCw0MDI2NTMxODQ6MTY0MDAsNDE5NDMwNDAwOjUyNDI4OCw0MzYyMDc2MTY6NTI0MzA0LDQ1Mjk4NDgzMjoxMDczNzQxODQwLDQ2OTc2MjA0ODo1NDA2NzIsNDg2NTM5MjY0OjEwNzM3NTgyMDgsNTAzMzE2NDgwOjEwNzM3NDE4MjQsNTIwMDkzNjk2OjEwNzQyODI1MTIsMjc2ODI0MDY0OjU0MDY4OCwyOTM2MDEyODA6NTI0Mjg4LDMxMDM3ODQ5NjoxMDc0MjY2MTEyLDMyNzE1NTcxMjoxNjM4NCwzNDM5MzI5Mjg6MTA3Mzc1ODIwOCwzNjA3MTAxNDQ6MTA3NDI4MjUxMiwzNzc0ODczNjA6MTYsMzk0MjY0NTc2OjEwNzM3NDE4MjQsNDExMDQxNzkyOjEwNzQyODI0OTYsNDI3ODE5MDA4OjEwNzM3NDE4NDAsNDQ0NTk2MjI0OjEwNzM3NTgyMjQsNDYxMzczNDQwOjUyNDMwNCw0NzgxNTA2NTY6MCw0OTQ5Mjc4NzI6MTY0MDAsNTExNzA1MDg4OjEwNzQyNjYxMjgsNTI4NDgyMzA0OjU0MDY3Mn0sezA6MjYwLDEwNDg1NzY6MCwyMDk3MTUyOjY3MTA5MTIwLDMxNDU3Mjg6NjU3OTYsNDE5NDMwNDo2NTU0MCw1MjQyODgwOjY3MTA4ODY4LDYyOTE0NTY6NjcxNzQ2NjAsNzM0MDAzMjo2NzE3NDQwMCw4Mzg4NjA4OjY3MTA4ODY0LDk0MzcxODQ6NjcxNzQ2NTYsMTA0ODU3NjA6NjU3OTIsMTE1MzQzMzY6NjcxNzQ0MDQsMTI1ODI5MTI6NjcxMDkxMjQsMTM2MzE0ODg6NjU1MzYsMTQ2ODAwNjQ6NCwxNTcyODY0MDoyNTYsNTI0Mjg4OjY3MTc0NjU2LDE1NzI4NjQ6NjcxNzQ0MDQsMjYyMTQ0MDowLDM2NzAwMTY6NjcxMDkxMjAsNDcxODU5Mjo2NzEwODg2OCw1NzY3MTY4OjY1NTM2LDY4MTU3NDQ6NjU1NDAsNzg2NDMyMDoyNjAsODkxMjg5Njo0LDk5NjE0NzI6MjU2LDExMDEwMDQ4OjY3MTc0NDAwLDEyMDU4NjI0OjY1Nzk2LDEzMTA3MjAwOjY1NzkyLDE0MTU1Nzc2OjY3MTA5MTI0LDE1MjA0MzUyOjY3MTc0NjYwLDE2MjUyOTI4OjY3MTA4ODY0LDE2Nzc3MjE2OjY3MTc0NjU2LDE3ODI1NzkyOjY1NTQwLDE4ODc0MzY4OjY1NTM2LDE5OTIyOTQ0OjY3MTA5MTIwLDIwOTcxNTIwOjI1NiwyMjAyMDA5Njo2NzE3NDY2MCwyMzA2ODY3Mjo2NzEwODg2OCwyNDExNzI0ODowLDI1MTY1ODI0OjY3MTA5MTI0LDI2MjE0NDAwOjY3MTA4ODY0LDI3MjYyOTc2OjQsMjgzMTE1NTI6NjU3OTIsMjkzNjAxMjg6NjcxNzQ0MDAsMzA0MDg3MDQ6MjYwLDMxNDU3MjgwOjY1Nzk2LDMyNTA1ODU2OjY3MTc0NDA0LDE3MzAxNTA0OjY3MTA4ODY0LDE4MzUwMDgwOjI2MCwxOTM5ODY1Njo2NzE3NDY1NiwyMDQ0NzIzMjowLDIxNDk1ODA4OjY1NTQwLDIyNTQ0Mzg0OjY3MTA5MTIwLDIzNTkyOTYwOjI1NiwyNDY0MTUzNjo2NzE3NDQwNCwyNTY5MDExMjo2NTUzNiwyNjczODY4ODo2NzE3NDY2MCwyNzc4NzI2NDo2NTc5NiwyODgzNTg0MDo2NzEwODg2OCwyOTg4NDQxNjo2NzEwOTEyNCwzMDkzMjk5Mjo2NzE3NDQwMCwzMTk4MTU2ODo0LDMzMDMwMTQ0OjY1NzkyfSx7MDoyMTUxNjgyMDQ4LDY1NTM2OjIxNDc0ODc4MDgsMTMxMDcyOjQxOTg0NjQsMTk2NjA4OjIxNTE2Nzc5NTIsMjYyMTQ0OjAsMzI3NjgwOjQxOTg0MDAsMzkzMjE2OjIxNDc0ODM3MTIsNDU4NzUyOjQxOTQzNjgsNTI0Mjg4OjIxNDc0ODM2NDgsNTg5ODI0OjQxOTQzMDQsNjU1MzYwOjY0LDcyMDg5NjoyMTQ3NDg3NzQ0LDc4NjQzMjoyMTUxNjc4MDE2LDg1MTk2ODo0MTYwLDkxNzUwNDo0MDk2LDk4MzA0MDoyMTUxNjgyMTEyLDMyNzY4OjIxNDc0ODc4MDgsOTgzMDQ6NjQsMTYzODQwOjIxNTE2NzgwMTYsMjI5Mzc2OjIxNDc0ODc3NDQsMjk0OTEyOjQxOTg0MDAsMzYwNDQ4OjIxNTE2ODIxMTIsNDI1OTg0OjAsNDkxNTIwOjIxNTE2Nzc5NTIsNTU3MDU2OjQwOTYsNjIyNTkyOjIxNTE2ODIwNDgsNjg4MTI4OjQxOTQzMDQsNzUzNjY0OjQxNjAsODE5MjAwOjIxNDc0ODM2NDgsODg0NzM2OjQxOTQzNjgsOTUwMjcyOjQxOTg0NjQsMTAxNTgwODoyMTQ3NDgzNzEyLDEwNDg1NzY6NDE5NDM2OCwxMTE0MTEyOjQxOTg0MDAsMTE3OTY0ODoyMTQ3NDgzNzEyLDEyNDUxODQ6MCwxMzEwNzIwOjQxNjAsMTM3NjI1NjoyMTUxNjc4MDE2LDE0NDE3OTI6MjE1MTY4MjA0OCwxNTA3MzI4OjIxNDc0ODc4MDgsMTU3Mjg2NDoyMTUxNjgyMTEyLDE2Mzg0MDA6MjE0NzQ4MzY0OCwxNzAzOTM2OjIxNTE2Nzc5NTIsMTc2OTQ3Mjo0MTk4NDY0LDE4MzUwMDg6MjE0NzQ4Nzc0NCwxOTAwNTQ0OjQxOTQzMDQsMTk2NjA4MDo2NCwyMDMxNjE2OjQwOTYsMTA4MTM0NDoyMTUxNjc3OTUyLDExNDY4ODA6MjE1MTY4MjExMiwxMjEyNDE2OjAsMTI3Nzk1Mjo0MTk4NDAwLDEzNDM0ODg6NDE5NDM2OCwxNDA5MDI0OjIxNDc0ODM2NDgsMTQ3NDU2MDoyMTQ3NDg3ODA4LDE1NDAwOTY6NjQsMTYwNTYzMjoyMTQ3NDgzNzEyLDE2NzExNjg6NDA5NiwxNzM2NzA0OjIxNDc0ODc3NDQsMTgwMjI0MDoyMTUxNjc4MDE2LDE4Njc3NzY6NDE2MCwxOTMzMzEyOjIxNTE2ODIwNDgsMTk5ODg0ODo0MTk0MzA0LDIwNjQzODQ6NDE5ODQ2NH0sezA6MTI4LDQwOTY6MTcwMzkzNjAsODE5MjoyNjIxNDQsMTIyODg6NTM2ODcwOTEyLDE2Mzg0OjUzNzEzMzE4NCwyMDQ4MDoxNjc3NzM0NCwyNDU3Njo1NTM2NDgyNTYsMjg2NzI6MjYyMjcyLDMyNzY4OjE2Nzc3MjE2LDM2ODY0OjUzNzEzMzA1Niw0MDk2MDo1MzY4NzEwNDAsNDUwNTY6NTUzOTEwNDAwLDQ5MTUyOjU1MzkxMDI3Miw1MzI0ODowLDU3MzQ0OjE3MDM5NDg4LDYxNDQwOjU1MzY0ODEyOCwyMDQ4OjE3MDM5NDg4LDYxNDQ6NTUzNjQ4MjU2LDEwMjQwOjEyOCwxNDMzNjoxNzAzOTM2MCwxODQzMjoyNjIxNDQsMjI1Mjg6NTM3MTMzMTg0LDI2NjI0OjU1MzkxMDI3MiwzMDcyMDo1MzY4NzA5MTIsMzQ4MTY6NTM3MTMzMDU2LDM4OTEyOjAsNDMwMDg6NTUzOTEwNDAwLDQ3MTA0OjE2Nzc3MzQ0LDUxMjAwOjUzNjg3MTA0MCw1NTI5Njo1NTM2NDgxMjgsNTkzOTI6MTY3NzcyMTYsNjM0ODg6MjYyMjcyLDY1NTM2OjI2MjE0NCw2OTYzMjoxMjgsNzM3Mjg6NTM2ODcwOTEyLDc3ODI0OjU1MzY0ODI1Niw4MTkyMDoxNjc3NzM0NCw4NjAxNjo1NTM5MTAyNzIsOTAxMTI6NTM3MTMzMTg0LDk0MjA4OjE2Nzc3MjE2LDk4MzA0OjU1MzkxMDQwMCwxMDI0MDA6NTUzNjQ4MTI4LDEwNjQ5NjoxNzAzOTM2MCwxMTA1OTI6NTM3MTMzMDU2LDExNDY4ODoyNjIyNzIsMTE4Nzg0OjUzNjg3MTA0MCwxMjI4ODA6MCwxMjY5NzY6MTcwMzk0ODgsNjc1ODQ6NTUzNjQ4MjU2LDcxNjgwOjE2Nzc3MjE2LDc1Nzc2OjE3MDM5MzYwLDc5ODcyOjUzNzEzMzE4NCw4Mzk2ODo1MzY4NzA5MTIsODgwNjQ6MTcwMzk0ODgsOTIxNjA6MTI4LDk2MjU2OjU1MzkxMDI3MiwxMDAzNTI6MjYyMjcyLDEwNDQ0ODo1NTM5MTA0MDAsMTA4NTQ0OjAsMTEyNjQwOjU1MzY0ODEyOCwxMTY3MzY6MTY3NzczNDQsMTIwODMyOjI2MjE0NCwxMjQ5Mjg6NTM3MTMzMDU2LDEyOTAyNDo1MzY4NzEwNDB9LHswOjI2ODQzNTQ2NCwyNTY6ODE5Miw1MTI6MjcwNTMyNjA4LDc2ODoyNzA1NDA4MDgsMTAyNDoyNjg0NDM2NDgsMTI4MDoyMDk3MTUyLDE1MzY6MjA5NzE2MCwxNzkyOjI2ODQzNTQ1NiwyMDQ4OjAsMjMwNDoyNjg0NDM2NTYsMjU2MDoyMTA1MzQ0LDI4MTY6OCwzMDcyOjI3MDUzMjYxNiwzMzI4OjIxMDUzNTIsMzU4NDo4MjAwLDM4NDA6MjcwNTQwODAwLDEyODoyNzA1MzI2MDgsMzg0OjI3MDU0MDgwOCw2NDA6OCw4OTY6MjA5NzE1MiwxMTUyOjIxMDUzNTIsMTQwODoyNjg0MzU0NjQsMTY2NDoyNjg0NDM2NDgsMTkyMDo4MjAwLDIxNzY6MjA5NzE2MCwyNDMyOjgxOTIsMjY4ODoyNjg0NDM2NTYsMjk0NDoyNzA1MzI2MTYsMzIwMDowLDM0NTY6MjcwNTQwODAwLDM3MTI6MjEwNTM0NCwzOTY4OjI2ODQzNTQ1Niw0MDk2OjI2ODQ0MzY0OCw0MzUyOjI3MDUzMjYxNiw0NjA4OjI3MDU0MDgwOCw0ODY0OjgyMDAsNTEyMDoyMDk3MTUyLDUzNzY6MjY4NDM1NDU2LDU2MzI6MjY4NDM1NDY0LDU4ODg6MjEwNTM0NCw2MTQ0OjIxMDUzNTIsNjQwMDowLDY2NTY6OCw2OTEyOjI3MDUzMjYwOCw3MTY4OjgxOTIsNzQyNDoyNjg0NDM2NTYsNzY4MDoyNzA1NDA4MDAsNzkzNjoyMDk3MTYwLDQyMjQ6OCw0NDgwOjIxMDUzNDQsNDczNjoyMDk3MTUyLDQ5OTI6MjY4NDM1NDY0LDUyNDg6MjY4NDQzNjQ4LDU1MDQ6ODIwMCw1NzYwOjI3MDU0MDgwOCw2MDE2OjI3MDUzMjYwOCw2MjcyOjI3MDU0MDgwMCw2NTI4OjI3MDUzMjYxNiw2Nzg0OjgxOTIsNzA0MDoyMTA1MzUyLDcyOTY6MjA5NzE2MCw3NTUyOjAsNzgwODoyNjg0MzU0NTYsODA2NDoyNjg0NDM2NTZ9LHswOjEwNDg1NzYsMTY6MzM1NTU0NTcsMzI6MTAyNCw0ODoxMDQ5NjAxLDY0OjM0NjA0MDMzLDgwOjAsOTY6MSwxMTI6MzQ2MDMwMDksMTI4OjMzNTU1NDU2LDE0NDoxMDQ4NTc3LDE2MDozMzU1NDQzMywxNzY6MzQ2MDQwMzIsMTkyOjM0NjAzMDA4LDIwODoxMDI1LDIyNDoxMDQ5NjAwLDI0MDozMzU1NDQzMiw4OjM0NjAzMDA5LDI0OjAsNDA6MzM1NTU0NTcsNTY6MzQ2MDQwMzIsNzI6MTA0ODU3Niw4ODozMzU1NDQzMywxMDQ6MzM1NTQ0MzIsMTIwOjEwMjUsMTM2OjEwNDk2MDEsMTUyOjMzNTU1NDU2LDE2ODozNDYwMzAwOCwxODQ6MTA0ODU3NywyMDA6MTAyNCwyMTY6MzQ2MDQwMzMsMjMyOjEsMjQ4OjEwNDk2MDAsMjU2OjMzNTU0NDMyLDI3MjoxMDQ4NTc2LDI4ODozMzU1NTQ1NywzMDQ6MzQ2MDMwMDksMzIwOjEwNDg1NzcsMzM2OjMzNTU1NDU2LDM1MjozNDYwNDAzMiwzNjg6MTA0OTYwMSwzODQ6MTAyNSw0MDA6MzQ2MDQwMzMsNDE2OjEwNDk2MDAsNDMyOjEsNDQ4OjAsNDY0OjM0NjAzMDA4LDQ4MDozMzU1NDQzMyw0OTY6MTAyNCwyNjQ6MTA0OTYwMCwyODA6MzM1NTU0NTcsMjk2OjM0NjAzMDA5LDMxMjoxLDMyODozMzU1NDQzMiwzNDQ6MTA0ODU3NiwzNjA6MTAyNSwzNzY6MzQ2MDQwMzIsMzkyOjMzNTU0NDMzLDQwODozNDYwMzAwOCw0MjQ6MCw0NDA6MzQ2MDQwMzMsNDU2OjEwNDk2MDEsNDcyOjEwMjQsNDg4OjMzNTU1NDU2LDUwNDoxMDQ4NTc3fSx7MDoxMzQyMTk4MDgsMToxMzEwNzIsMjoxMzQyMTc3MjgsMzozMiw0OjEzMTEwNCw1OjEzNDM1MDg4MCw2OjEzNDM1MDg0OCw3OjIwNDgsODoxMzQzNDg4MDAsOToxMzQyMTk3NzYsMTA6MTMzMTIwLDExOjEzNDM0ODgzMiwxMjoyMDgwLDEzOjAsMTQ6MTM0MjE3NzYwLDE1OjEzMzE1MiwyMTQ3NDgzNjQ4OjIwNDgsMjE0NzQ4MzY0OToxMzQzNTA4ODAsMjE0NzQ4MzY1MDoxMzQyMTk4MDgsMjE0NzQ4MzY1MToxMzQyMTc3MjgsMjE0NzQ4MzY1MjoxMzQzNDg4MDAsMjE0NzQ4MzY1MzoxMzMxMjAsMjE0NzQ4MzY1NDoxMzMxNTIsMjE0NzQ4MzY1NTozMiwyMTQ3NDgzNjU2OjEzNDIxNzc2MCwyMTQ3NDgzNjU3OjIwODAsMjE0NzQ4MzY1ODoxMzExMDQsMjE0NzQ4MzY1OToxMzQzNTA4NDgsMjE0NzQ4MzY2MDowLDIxNDc0ODM2NjE6MTM0MzQ4ODMyLDIxNDc0ODM2NjI6MTM0MjE5Nzc2LDIxNDc0ODM2NjM6MTMxMDcyLDE2OjEzMzE1MiwxNzoxMzQzNTA4NDgsMTg6MzIsMTk6MjA0OCwyMDoxMzQyMTk3NzYsMjE6MTM0MjE3NzYwLDIyOjEzNDM0ODgzMiwyMzoxMzEwNzIsMjQ6MCwyNToxMzExMDQsMjY6MTM0MzQ4ODAwLDI3OjEzNDIxOTgwOCwyODoxMzQzNTA4ODAsMjk6MTMzMTIwLDMwOjIwODAsMzE6MTM0MjE3NzI4LDIxNDc0ODM2NjQ6MTMxMDcyLDIxNDc0ODM2NjU6MjA0OCwyMTQ3NDgzNjY2OjEzNDM0ODgzMiwyMTQ3NDgzNjY3OjEzMzE1MiwyMTQ3NDgzNjY4OjMyLDIxNDc0ODM2Njk6MTM0MzQ4ODAwLDIxNDc0ODM2NzA6MTM0MjE3NzI4LDIxNDc0ODM2NzE6MTM0MjE5ODA4LDIxNDc0ODM2NzI6MTM0MzUwODgwLDIxNDc0ODM2NzM6MTM0MjE3NzYwLDIxNDc0ODM2NzQ6MTM0MjE5Nzc2LDIxNDc0ODM2NzU6MCwyMTQ3NDgzNjc2OjEzMzEyMCwyMTQ3NDgzNjc3OjIwODAsMjE0NzQ4MzY3ODoxMzExMDQsMjE0NzQ4MzY3OToxMzQzNTA4NDh9XSx1PVs0MTYwNzQ5NTY5LDUyODQ4MjMwNCwzMzAzMDE0NCwyMDY0Mzg0LDEyOTAyNCw4MDY0LDUwNCwyMTQ3NDgzNjc5XSxkPWEuREVTPXMuZXh0ZW5kKHtfZG9SZXNldDpmdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLl9rZXkscj10LndvcmRzLGU9W10saT0wO2k8NTY7aSsrKXt2YXIgbj1jW2ldLTE7ZVtpXT1yW24+Pj41XT4+PjMxLW4lMzImMX1mb3IodmFyIG89dGhpcy5fc3ViS2V5cz1bXSxzPTA7czwxNjtzKyspe2Zvcih2YXIgYT1vW3NdPVtdLGY9bFtzXSxpPTA7aTwyNDtpKyspYVtpLzZ8MF18PWVbKGhbaV0tMStmKSUyOF08PDMxLWklNixhWzQrKGkvNnwwKV18PWVbMjgrKGhbaSsyNF0tMStmKSUyOF08PDMxLWklNjthWzBdPWFbMF08PDF8YVswXT4+PjMxO2Zvcih2YXIgaT0xO2k8NztpKyspYVtpXT1hW2ldPj4+NCooaS0xKSszO2FbN109YVs3XTw8NXxhWzddPj4+Mjd9Zm9yKHZhciB1PXRoaXMuX2ludlN1YktleXM9W10saT0wO2k8MTY7aSsrKXVbaV09b1sxNS1pXX0sZW5jcnlwdEJsb2NrOmZ1bmN0aW9uKHQscil7dGhpcy5fZG9DcnlwdEJsb2NrKHQscix0aGlzLl9zdWJLZXlzKX0sZGVjcnlwdEJsb2NrOmZ1bmN0aW9uKHQscil7dGhpcy5fZG9DcnlwdEJsb2NrKHQscix0aGlzLl9pbnZTdWJLZXlzKX0sX2RvQ3J5cHRCbG9jazpmdW5jdGlvbih0LGksbil7dGhpcy5fbEJsb2NrPXRbaV0sdGhpcy5fckJsb2NrPXRbaSsxXSxyLmNhbGwodGhpcyw0LDI1MjY0NTEzNSksci5jYWxsKHRoaXMsMTYsNjU1MzUpLGUuY2FsbCh0aGlzLDIsODU4OTkzNDU5KSxlLmNhbGwodGhpcyw4LDE2NzExOTM1KSxyLmNhbGwodGhpcywxLDE0MzE2NTU3NjUpO2Zvcih2YXIgbz0wO288MTY7bysrKXtmb3IodmFyIHM9bltvXSxhPXRoaXMuX2xCbG9jayxjPXRoaXMuX3JCbG9jayxoPTAsbD0wO2w8ODtsKyspaHw9ZltsXVsoKGNec1tsXSkmdVtsXSk+Pj4wXTt0aGlzLl9sQmxvY2s9Yyx0aGlzLl9yQmxvY2s9YV5ofXZhciBkPXRoaXMuX2xCbG9jazt0aGlzLl9sQmxvY2s9dGhpcy5fckJsb2NrLHRoaXMuX3JCbG9jaz1kLHIuY2FsbCh0aGlzLDEsMTQzMTY1NTc2NSksZS5jYWxsKHRoaXMsOCwxNjcxMTkzNSksZS5jYWxsKHRoaXMsMiw4NTg5OTM0NTkpLHIuY2FsbCh0aGlzLDE2LDY1NTM1KSxyLmNhbGwodGhpcyw0LDI1MjY0NTEzNSksdFtpXT10aGlzLl9sQmxvY2ssdFtpKzFdPXRoaXMuX3JCbG9ja30sa2V5U2l6ZToyLGl2U2l6ZToyLGJsb2NrU2l6ZToyfSk7aS5ERVM9cy5fY3JlYXRlSGVscGVyKGQpO3ZhciB2PWEuVHJpcGxlREVTPXMuZXh0ZW5kKHtfZG9SZXNldDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX2tleSxyPXQud29yZHM7dGhpcy5fZGVzMT1kLmNyZWF0ZUVuY3J5cHRvcihvLmNyZWF0ZShyLnNsaWNlKDAsMikpKSx0aGlzLl9kZXMyPWQuY3JlYXRlRW5jcnlwdG9yKG8uY3JlYXRlKHIuc2xpY2UoMiw0KSkpLHRoaXMuX2RlczM9ZC5jcmVhdGVFbmNyeXB0b3Ioby5jcmVhdGUoci5zbGljZSg0LDYpKSl9LGVuY3J5cHRCbG9jazpmdW5jdGlvbih0LHIpe3RoaXMuX2RlczEuZW5jcnlwdEJsb2NrKHQsciksdGhpcy5fZGVzMi5kZWNyeXB0QmxvY2sodCxyKSx0aGlzLl9kZXMzLmVuY3J5cHRCbG9jayh0LHIpfSxkZWNyeXB0QmxvY2s6ZnVuY3Rpb24odCxyKXt0aGlzLl9kZXMzLmRlY3J5cHRCbG9jayh0LHIpLHRoaXMuX2RlczIuZW5jcnlwdEJsb2NrKHQsciksdGhpcy5fZGVzMS5kZWNyeXB0QmxvY2sodCxyKX0sa2V5U2l6ZTo2LGl2U2l6ZToyLGJsb2NrU2l6ZToyfSk7aS5UcmlwbGVERVM9cy5fY3JlYXRlSGVscGVyKHYpfSgpLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gcigpe2Zvcih2YXIgdD10aGlzLl9TLHI9dGhpcy5faSxlPXRoaXMuX2osaT0wLG49MDtuPDQ7bisrKXtyPShyKzEpJTI1NixlPShlK3Rbcl0pJTI1Njt2YXIgbz10W3JdO3Rbcl09dFtlXSx0W2VdPW8saXw9dFsodFtyXSt0W2VdKSUyNTZdPDwyNC04Km59cmV0dXJuIHRoaXMuX2k9cix0aGlzLl9qPWUsaX12YXIgZT10LGk9ZS5saWIsbj1pLlN0cmVhbUNpcGhlcixvPWUuYWxnbyxzPW8uUkM0PW4uZXh0ZW5kKHtfZG9SZXNldDpmdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLl9rZXkscj10LndvcmRzLGU9dC5zaWdCeXRlcyxpPXRoaXMuX1M9W10sbj0wO248MjU2O24rKylpW25dPW47Zm9yKHZhciBuPTAsbz0wO248MjU2O24rKyl7dmFyIHM9biVlLGE9cltzPj4+Ml0+Pj4yNC1zJTQqOCYyNTU7bz0obytpW25dK2EpJTI1Njt2YXIgYz1pW25dO2lbbl09aVtvXSxpW29dPWN9dGhpcy5faT10aGlzLl9qPTB9LF9kb1Byb2Nlc3NCbG9jazpmdW5jdGlvbih0LGUpe3RbZV1ePXIuY2FsbCh0aGlzKX0sa2V5U2l6ZTo4LGl2U2l6ZTowfSk7ZS5SQzQ9bi5fY3JlYXRlSGVscGVyKHMpO3ZhciBhPW8uUkM0RHJvcD1zLmV4dGVuZCh7Y2ZnOnMuY2ZnLmV4dGVuZCh7ZHJvcDoxOTJ9KSxfZG9SZXNldDpmdW5jdGlvbigpe3MuX2RvUmVzZXQuY2FsbCh0aGlzKTtmb3IodmFyIHQ9dGhpcy5jZmcuZHJvcDt0PjA7dC0tKXIuY2FsbCh0aGlzKX19KTtlLlJDNERyb3A9bi5fY3JlYXRlSGVscGVyKGEpfSgpLHQubW9kZS5DVFJHbGFkbWFuPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcih0KXtpZigyNTU9PT0odD4+MjQmMjU1KSl7dmFyIHI9dD4+MTYmMjU1LGU9dD4+OCYyNTUsaT0yNTUmdDsyNTU9PT1yPyhyPTAsMjU1PT09ZT8oZT0wLDI1NT09PWk/aT0wOisraSk6KytlKTorK3IsdD0wLHQrPXI8PDE2LHQrPWU8PDgsdCs9aX1lbHNlIHQrPTE8PDI0O3JldHVybiB0fWZ1bmN0aW9uIGUodCl7cmV0dXJuIDA9PT0odFswXT1yKHRbMF0pKSYmKHRbMV09cih0WzFdKSksdH12YXIgaT10LmxpYi5CbG9ja0NpcGhlck1vZGUuZXh0ZW5kKCksbj1pLkVuY3J5cHRvcj1pLmV4dGVuZCh7cHJvY2Vzc0Jsb2NrOmZ1bmN0aW9uKHQscil7dmFyIGk9dGhpcy5fY2lwaGVyLG49aS5ibG9ja1NpemUsbz10aGlzLl9pdixzPXRoaXMuX2NvdW50ZXI7byYmKHM9dGhpcy5fY291bnRlcj1vLnNsaWNlKDApLHRoaXMuX2l2PXZvaWQgMCksZShzKTt2YXIgYT1zLnNsaWNlKDApO2kuZW5jcnlwdEJsb2NrKGEsMCk7Zm9yKHZhciBjPTA7YzxuO2MrKyl0W3IrY11ePWFbY119fSk7cmV0dXJuIGkuRGVjcnlwdG9yPW4saX0oKSxmdW5jdGlvbigpe2Z1bmN0aW9uIHIoKXtmb3IodmFyIHQ9dGhpcy5fWCxyPXRoaXMuX0MsZT0wO2U8ODtlKyspYVtlXT1yW2VdO3JbMF09clswXSsxMjk1MzA3NTk3K3RoaXMuX2J8MCxyWzFdPXJbMV0rMzU0NTA1MjM3MSsoclswXT4+PjA8YVswXT4+PjA/MTowKXwwLHJbMl09clsyXSs4ODYyNjMwOTIrKHJbMV0+Pj4wPGFbMV0+Pj4wPzE6MCl8MCxyWzNdPXJbM10rMTI5NTMwNzU5NysoclsyXT4+PjA8YVsyXT4+PjA/MTowKXwwLHJbNF09cls0XSszNTQ1MDUyMzcxKyhyWzNdPj4+MDxhWzNdPj4+MD8xOjApfDAscls1XT1yWzVdKzg4NjI2MzA5Misocls0XT4+PjA8YVs0XT4+PjA/MTowKXwwLHJbNl09cls2XSsxMjk1MzA3NTk3KyhyWzVdPj4+MDxhWzVdPj4+MD8xOjApfDAscls3XT1yWzddKzM1NDUwNTIzNzErKHJbNl0+Pj4wPGFbNl0+Pj4wPzE6MCl8MCx0aGlzLl9iPXJbN10+Pj4wPGFbN10+Pj4wPzE6MDtmb3IodmFyIGU9MDtlPDg7ZSsrKXt2YXIgaT10W2VdK3JbZV0sbj02NTUzNSZpLG89aT4+PjE2LHM9KChuKm4+Pj4xNykrbipvPj4+MTUpK28qbyxoPSgoNDI5NDkwMTc2MCZpKSppfDApKygoNjU1MzUmaSkqaXwwKTtjW2VdPXNeaH10WzBdPWNbMF0rKGNbN108PDE2fGNbN10+Pj4xNikrKGNbNl08PDE2fGNbNl0+Pj4xNil8MCx0WzFdPWNbMV0rKGNbMF08PDh8Y1swXT4+PjI0KStjWzddfDAsdFsyXT1jWzJdKyhjWzFdPDwxNnxjWzFdPj4+MTYpKyhjWzBdPDwxNnxjWzBdPj4+MTYpfDAsdFszXT1jWzNdKyhjWzJdPDw4fGNbMl0+Pj4yNCkrY1sxXXwwLHRbNF09Y1s0XSsoY1szXTw8MTZ8Y1szXT4+PjE2KSsoY1syXTw8MTZ8Y1syXT4+PjE2KXwwLHRbNV09Y1s1XSsoY1s0XTw8OHxjWzRdPj4+MjQpK2NbM118MCx0WzZdPWNbNl0rKGNbNV08PDE2fGNbNV0+Pj4xNikrKGNbNF08PDE2fGNbNF0+Pj4xNil8MCx0WzddPWNbN10rKGNbNl08PDh8Y1s2XT4+PjI0KStjWzVdfDB9dmFyIGU9dCxpPWUubGliLG49aS5TdHJlYW1DaXBoZXIsbz1lLmFsZ28scz1bXSxhPVtdLGM9W10saD1vLlJhYmJpdD1uLmV4dGVuZCh7X2RvUmVzZXQ6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5fa2V5LndvcmRzLGU9dGhpcy5jZmcuaXYsaT0wO2k8NDtpKyspdFtpXT0xNjcxMTkzNSYodFtpXTw8OHx0W2ldPj4+MjQpfDQyNzgyNTUzNjAmKHRbaV08PDI0fHRbaV0+Pj44KTt2YXIgbj10aGlzLl9YPVt0WzBdLHRbM108PDE2fHRbMl0+Pj4xNix0WzFdLHRbMF08PDE2fHRbM10+Pj4xNix0WzJdLHRbMV08PDE2fHRbMF0+Pj4xNix0WzNdLHRbMl08PDE2fHRbMV0+Pj4xNl0sbz10aGlzLl9DPVt0WzJdPDwxNnx0WzJdPj4+MTYsNDI5NDkwMTc2MCZ0WzBdfDY1NTM1JnRbMV0sdFszXTw8MTZ8dFszXT4+PjE2LDQyOTQ5MDE3NjAmdFsxXXw2NTUzNSZ0WzJdLHRbMF08PDE2fHRbMF0+Pj4xNiw0Mjk0OTAxNzYwJnRbMl18NjU1MzUmdFszXSx0WzFdPDwxNnx0WzFdPj4+MTYsNDI5NDkwMTc2MCZ0WzNdfDY1NTM1JnRbMF1dO3RoaXMuX2I9MDtmb3IodmFyIGk9MDtpPDQ7aSsrKXIuY2FsbCh0aGlzKTtmb3IodmFyIGk9MDtpPDg7aSsrKW9baV1ePW5baSs0JjddO2lmKGUpe3ZhciBzPWUud29yZHMsYT1zWzBdLGM9c1sxXSxoPTE2NzExOTM1JihhPDw4fGE+Pj4yNCl8NDI3ODI1NTM2MCYoYTw8MjR8YT4+PjgpLGw9MTY3MTE5MzUmKGM8PDh8Yz4+PjI0KXw0Mjc4MjU1MzYwJihjPDwyNHxjPj4+OCksZj1oPj4+MTZ8NDI5NDkwMTc2MCZsLHU9bDw8MTZ8NjU1MzUmaDtvWzBdXj1oLG9bMV1ePWYsb1syXV49bCxvWzNdXj11LG9bNF1ePWgsb1s1XV49ZixvWzZdXj1sLG9bN11ePXU7Zm9yKHZhciBpPTA7aTw0O2krKylyLmNhbGwodGhpcyl9fSxfZG9Qcm9jZXNzQmxvY2s6ZnVuY3Rpb24odCxlKXt2YXIgaT10aGlzLl9YO3IuY2FsbCh0aGlzKSxzWzBdPWlbMF1eaVs1XT4+PjE2XmlbM108PDE2LHNbMV09aVsyXV5pWzddPj4+MTZeaVs1XTw8MTYsc1syXT1pWzRdXmlbMV0+Pj4xNl5pWzddPDwxNixzWzNdPWlbNl1eaVszXT4+PjE2XmlbMV08PDE2O2Zvcih2YXIgbj0wO248NDtuKyspc1tuXT0xNjcxMTkzNSYoc1tuXTw8OHxzW25dPj4+MjQpfDQyNzgyNTUzNjAmKHNbbl08PDI0fHNbbl0+Pj44KSx0W2Urbl1ePXNbbl19LGJsb2NrU2l6ZTo0LGl2U2l6ZToyfSk7ZS5SYWJiaXQ9bi5fY3JlYXRlSGVscGVyKGgpfSgpLHQubW9kZS5DVFI9ZnVuY3Rpb24oKXt2YXIgcj10LmxpYi5CbG9ja0NpcGhlck1vZGUuZXh0ZW5kKCksZT1yLkVuY3J5cHRvcj1yLmV4dGVuZCh7cHJvY2Vzc0Jsb2NrOmZ1bmN0aW9uKHQscil7dmFyIGU9dGhpcy5fY2lwaGVyLGk9ZS5ibG9ja1NpemUsbj10aGlzLl9pdixvPXRoaXMuX2NvdW50ZXI7biYmKG89dGhpcy5fY291bnRlcj1uLnNsaWNlKDApLHRoaXMuX2l2PXZvaWQgMCk7dmFyIHM9by5zbGljZSgwKTtlLmVuY3J5cHRCbG9jayhzLDApLG9baS0xXT1vW2ktMV0rMXwwO2Zvcih2YXIgYT0wO2E8aTthKyspdFtyK2FdXj1zW2FdfX0pO3JldHVybiByLkRlY3J5cHRvcj1lLHJ9KCksZnVuY3Rpb24oKXtmdW5jdGlvbiByKCl7Zm9yKHZhciB0PXRoaXMuX1gscj10aGlzLl9DLGU9MDtlPDg7ZSsrKWFbZV09cltlXTtyWzBdPXJbMF0rMTI5NTMwNzU5Nyt0aGlzLl9ifDAsclsxXT1yWzFdKzM1NDUwNTIzNzErKHJbMF0+Pj4wPGFbMF0+Pj4wPzE6MCl8MCxyWzJdPXJbMl0rODg2MjYzMDkyKyhyWzFdPj4+MDxhWzFdPj4+MD8xOjApfDAsclszXT1yWzNdKzEyOTUzMDc1OTcrKHJbMl0+Pj4wPGFbMl0+Pj4wPzE6MCl8MCxyWzRdPXJbNF0rMzU0NTA1MjM3MSsoclszXT4+PjA8YVszXT4+PjA/MTowKXwwLHJbNV09cls1XSs4ODYyNjMwOTIrKHJbNF0+Pj4wPGFbNF0+Pj4wPzE6MCl8MCxyWzZdPXJbNl0rMTI5NTMwNzU5Nysocls1XT4+PjA8YVs1XT4+PjA/MTowKXwwLHJbN109cls3XSszNTQ1MDUyMzcxKyhyWzZdPj4+MDxhWzZdPj4+MD8xOjApfDAsdGhpcy5fYj1yWzddPj4+MDxhWzddPj4+MD8xOjA7Zm9yKHZhciBlPTA7ZTw4O2UrKyl7dmFyIGk9dFtlXStyW2VdLG49NjU1MzUmaSxvPWk+Pj4xNixzPSgobipuPj4+MTcpK24qbz4+PjE1KStvKm8saD0oKDQyOTQ5MDE3NjAmaSkqaXwwKSsoKDY1NTM1JmkpKml8MCk7Y1tlXT1zXmh9dFswXT1jWzBdKyhjWzddPDwxNnxjWzddPj4+MTYpKyhjWzZdPDwxNnxjWzZdPj4+MTYpfDAsdFsxXT1jWzFdKyhjWzBdPDw4fGNbMF0+Pj4yNCkrY1s3XXwwLHRbMl09Y1syXSsoY1sxXTw8MTZ8Y1sxXT4+PjE2KSsoY1swXTw8MTZ8Y1swXT4+PjE2KXwwLHRbM109Y1szXSsoY1syXTw8OHxjWzJdPj4+MjQpK2NbMV18MCx0WzRdPWNbNF0rKGNbM108PDE2fGNbM10+Pj4xNikrKGNbMl08PDE2fGNbMl0+Pj4xNil8MCx0WzVdPWNbNV0rKGNbNF08PDh8Y1s0XT4+PjI0KStjWzNdfDAsdFs2XT1jWzZdKyhjWzVdPDwxNnxjWzVdPj4+MTYpKyhjWzRdPDwxNnxjWzRdPj4+MTYpfDAsdFs3XT1jWzddKyhjWzZdPDw4fGNbNl0+Pj4yNCkrY1s1XXwwfXZhciBlPXQsaT1lLmxpYixuPWkuU3RyZWFtQ2lwaGVyLG89ZS5hbGdvLHM9W10sYT1bXSxjPVtdLGg9by5SYWJiaXRMZWdhY3k9bi5leHRlbmQoe19kb1Jlc2V0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fa2V5LndvcmRzLGU9dGhpcy5jZmcuaXYsaT10aGlzLl9YPVt0WzBdLHRbM108PDE2fHRbMl0+Pj4xNix0WzFdLHRbMF08PDE2fHRbM10+Pj4xNix0WzJdLHRbMV08PDE2fHRbMF0+Pj4xNix0WzNdLHRbMl08PDE2fHRbMV0+Pj4xNl0sbj10aGlzLl9DPVt0WzJdPDwxNnx0WzJdPj4+MTYsNDI5NDkwMTc2MCZ0WzBdfDY1NTM1JnRbMV0sdFszXTw8MTZ8dFszXT4+PjE2LDQyOTQ5MDE3NjAmdFsxXXw2NTUzNSZ0WzJdLHRbMF08PDE2fHRbMF0+Pj4xNiw0Mjk0OTAxNzYwJnRbMl18NjU1MzUmdFszXSx0WzFdPDwxNnx0WzFdPj4+MTYsNDI5NDkwMTc2MCZ0WzNdfDY1NTM1JnRbMF1dO3RoaXMuX2I9MDtmb3IodmFyIG89MDtvPDQ7bysrKXIuY2FsbCh0aGlzKTtmb3IodmFyIG89MDtvPDg7bysrKW5bb11ePWlbbys0JjddO2lmKGUpe3ZhciBzPWUud29yZHMsYT1zWzBdLGM9c1sxXSxoPTE2NzExOTM1JihhPDw4fGE+Pj4yNCl8NDI3ODI1NTM2MCYoYTw8MjR8YT4+PjgpLGw9MTY3MTE5MzUmKGM8PDh8Yz4+PjI0KXw0Mjc4MjU1MzYwJihjPDwyNHxjPj4+OCksZj1oPj4+MTZ8NDI5NDkwMTc2MCZsLHU9bDw8MTZ8NjU1MzUmaDtuWzBdXj1oLG5bMV1ePWYsblsyXV49bCxuWzNdXj11LG5bNF1ePWgsbls1XV49ZixuWzZdXj1sLG5bN11ePXU7Zm9yKHZhciBvPTA7bzw0O28rKylyLmNhbGwodGhpcyl9fSxfZG9Qcm9jZXNzQmxvY2s6ZnVuY3Rpb24odCxlKXt2YXIgaT10aGlzLl9YO3IuY2FsbCh0aGlzKSxzWzBdPWlbMF1eaVs1XT4+PjE2XmlbM108PDE2LHNbMV09aVsyXV5pWzddPj4+MTZeaVs1XTw8MTYsc1syXT1pWzRdXmlbMV0+Pj4xNl5pWzddPDwxNixzWzNdPWlbNl1eaVszXT4+PjE2XmlbMV08PDE2O2Zvcih2YXIgbj0wO248NDtuKyspc1tuXT0xNjcxMTkzNSYoc1tuXTw8OHxzW25dPj4+MjQpfDQyNzgyNTUzNjAmKHNbbl08PDI0fHNbbl0+Pj44KSx0W2Urbl1ePXNbbl19LGJsb2NrU2l6ZTo0LGl2U2l6ZToyfSk7ZS5SYWJiaXRMZWdhY3k9bi5fY3JlYXRlSGVscGVyKGgpfSgpLHQucGFkLlplcm9QYWRkaW5nPXtwYWQ6ZnVuY3Rpb24odCxyKXt2YXIgZT00KnI7dC5jbGFtcCgpLHQuc2lnQnl0ZXMrPWUtKHQuc2lnQnl0ZXMlZXx8ZSl9LHVucGFkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgcj10LndvcmRzLGU9dC5zaWdCeXRlcy0xOyEocltlPj4+Ml0+Pj4yNC1lJTQqOCYyNTUpOyllLS07dC5zaWdCeXRlcz1lKzF9fSx0fSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jcnlwdG8tanMubWluLmpzLm1hcCJdfQ== +//------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/List.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, 'd5421HgLShFKIjj5f18m1mi', 'List'); +// Script/module/RankList/List.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.StartAxisType = exports.ListType = void 0; +var ItemRender_1 = require("./ItemRender"); +var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; +/**列表排列方式 */ +var ListType; +(function (ListType) { + /**水平排列 */ + ListType[ListType["Horizontal"] = 1] = "Horizontal"; + /**垂直排列 */ + ListType[ListType["Vertical"] = 2] = "Vertical"; + /**网格排列 */ + ListType[ListType["Grid"] = 3] = "Grid"; +})(ListType = exports.ListType || (exports.ListType = {})); +/**网格布局中的方向 */ +var StartAxisType; +(function (StartAxisType) { + /**水平排列 */ + StartAxisType[StartAxisType["Horizontal"] = 1] = "Horizontal"; + /**垂直排列 */ + StartAxisType[StartAxisType["Vertical"] = 2] = "Vertical"; +})(StartAxisType = exports.StartAxisType || (exports.StartAxisType = {})); +/** + * 列表 + * 根据cocos_example的listView改动而来 + * @author chenkai 2020.7.8 + * @example + * 1.创建cocos的ScrollView组件,添加List,设置List属性即可 + * + */ +var List = /** @class */ (function (_super) { + __extends(List, _super); + function List() { + var _this = _super !== null && _super.apply(this, arguments) || this; + //==================== 属性面板 ========================= + /**列表选项 */ + _this.itemRender = null; + /**排列方式 */ + _this.type = ListType.Vertical; + /**网格布局中的方向 */ + _this.startAxis = StartAxisType.Horizontal; + /**列表项之间X间隔 */ + _this.spaceX = 0; + /**列表项之间Y间隔 */ + _this.spaceY = 0; + /**上间距 */ + _this.padding_top = 0; + /**下间距 */ + _this.padding_buttom = 0; + /**左间距 */ + _this.padding_left = 0; + _this._padding = 0; + /**右间距 */ + _this.padding_right = 0; + //====================== 滚动容器 =============================== + /**列表滚动容器 */ + _this.scrollView = null; + /**scrollView的内容容器 */ + _this.content = null; + //======================== 列表项 =========================== + /**列表项数据 */ + _this.itemDataList = []; + /**应创建的实例数量 */ + _this.spawnCount = 0; + /**存放列表项实例的数组 */ + _this.itemList = []; + /**item的高度 */ + _this.itemHeight = 0; + /**item的宽度 */ + _this.itemWidth = 0; + /**存放不再使用中的列表项 */ + _this.itemPool = []; + //======================= 计算参数 ========================== + /**距离scrollView中心点的距离,超过这个距离的item会被重置,一般设置为 scrollVIew.height/2 + item.heigt/2 + space,因为这个距离item正好超出scrollView显示范围 */ + _this.halfScrollView = 0; + /**上一次content的X值,用于和现在content的X值比较,得出是向左还是向右滚动 */ + _this.lastContentPosX = 0; + /**上一次content的Y值,用于和现在content的Y值比较,得出是向上还是向下滚动 */ + _this.lastContentPosY = 0; + /**网格行数 */ + _this.gridRow = 0; + /**网格列数 */ + _this.gridCol = 0; + /**刷新时间,单位s */ + _this.updateTimer = 0; + /**刷新间隔,单位s */ + _this.updateInterval = 0.1; + /**是否滚动容器 */ + _this.bScrolling = false; + /**刷新的函数 */ + _this.updateFun = function () { }; + return _this; + } + List.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); + }; + /** + * 列表数据 (列表数据复制使用,如果列表数据改变,则需要重新设置一遍数据) + * @param itemDataList item数据列表 + */ + List.prototype.setData = function (itemDataList) { + this.itemDataList = itemDataList.slice(); + this.updateContent(); + }; + /**计算列表的各项参数 */ + List.prototype.countListParam = function () { + var dataLen = this.itemDataList.length; + if (this.type == ListType.Vertical) { + this.scrollView.horizontal = false; + this.scrollView.vertical = true; + this.content.width = this.content.parent.width; + this.content.height = dataLen * this.itemHeight + (dataLen - 1) * this.spaceY + this.padding_top + this.padding_buttom; + this.spawnCount = Math.round(this.scrollView.node.height / (this.itemHeight + this.spaceY)) + 2; //计算创建的item实例数量,比当前scrollView容器能放下的item数量再加上2个 + this.halfScrollView = this.scrollView.node.height / 2 + this.itemHeight / 2 + this.spaceY; //计算bufferZone,item的显示范围 + this.updateFun = this.updateV; + } + else if (this.type == ListType.Horizontal) { + this.scrollView.horizontal = true; + this.scrollView.vertical = false; + this.content.width = dataLen * this.itemWidth + (dataLen - 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; + } + else if (this.type == ListType.Grid) { + if (this.startAxis == StartAxisType.Vertical) { + this.scrollView.horizontal = false; + this.scrollView.vertical = true; + this.content.width = this.content.parent.width; + //如果left和right间隔过大,导致放不下一个item,则left和right都设置为0,相当于不生效 + if (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或padding_right过大"); + } + this.gridCol = Math.floor((this.content.width - this.padding_left - this.padding_right) / (this.itemWidth + this.spaceX)); + this.gridRow = Math.ceil(dataLen / 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 + this.gridCol * 2; + this.halfScrollView = this.scrollView.node.height / 2 + this.itemHeight / 2 + this.spaceY; + this.updateFun = this.updateGrid_V; + } + else if (this.startAxis == StartAxisType.Horizontal) { + this.scrollView.horizontal = true; + this.scrollView.vertical = false; + //计算高间隔 + this.content.height = this.content.parent.height; + //如果left和right间隔过大,导致放不下一个item,则left和right都设置为0,相当于不生效 + if (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或padding_buttom过大"); + } + this.gridRow = Math.floor((this.content.height - this.padding_top - this.padding_buttom) / (this.itemHeight + this.spaceY)); + this.gridCol = Math.ceil(dataLen / 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 + this.gridRow * 2; + this.halfScrollView = this.scrollView.node.width / 2 + this.itemWidth / 2 + this.spaceX; + this.updateFun = this.updateGrid_H; + } + } + }; + /** + * 创建列表 + * @param startIndex 起始显示的数据索引 0表示第一项 + * @param offset scrollView偏移量 + */ + List.prototype.createList = function (startIndex, offset) { + //当需要显示的数据长度 > 虚拟列表长度, 删除最末尾几个数据时,列表需要重置位置到scrollView最底端 + if (this.itemDataList.length > this.spawnCount && (startIndex + this.spawnCount - 1) >= this.itemDataList.length) { + startIndex = this.itemDataList.length - this.spawnCount; + offset = this.scrollView.getMaxScrollOffset(); + //当需要显示的数据长度 <= 虚拟列表长度, 隐藏多余的虚拟列表项 + } + else if (this.itemDataList.length <= this.spawnCount) { + startIndex = 0; + } + for (var i = 0; i < this.spawnCount; i++) { + var item = void 0; + //需要显示的数据索引在数据范围内,则item实例显示出来 + if (i + startIndex < this.itemDataList.length) { + if (this.itemList[i] == null) { + item = this.getItem(); + this.itemList.push(item); + item.parent = this.content; + } + else { + item = this.itemList[i]; + } + //需要显示的数据索引超过了数据范围,则item实例隐藏起来 + } + else { + //item实例数量 > 需要显示的数据量 + if (this.itemList.length > (this.itemDataList.length - startIndex)) { + item = this.itemList.pop(); + item.removeFromParent(); + this.itemPool.push(item); + } + continue; + } + var itemRender = item.getComponent(ItemRender_1.default); + itemRender.itemIndex = i + startIndex; + itemRender.data = this.itemDataList[i + startIndex]; + itemRender.dataChanged(); + if (this.type == ListType.Vertical) { + //因为content的锚点X是0,所以item的x值是content.with/2表示居中,锚点Y是1,所以item的y值从content顶部向下是0到负无穷。所以item.y= -item.height/2时,是在content的顶部。 + item.setPosition(this.content.width / 2, -item.height * (0.5 + i + startIndex) - this.spaceY * (i + startIndex) - this.padding_top); + } + else if (this.type == ListType.Horizontal) { + item.setPosition(item.width * (0.5 + i + startIndex) + this.spaceX * (i + startIndex) + this.padding_left, -this.content.height / 2); + } + else if (this.type == ListType.Grid) { + if (this.startAxis == StartAxisType.Vertical) { + var row = Math.floor((i + startIndex) / this.gridCol); + var col = (i + startIndex) % this.gridCol; + item.setPosition(item.width * (0.5 + col) + this.spaceX * col + this.padding_left, -item.height * (0.5 + row) - this.spaceY * row - this.padding_top); + item.opacity = 255; + } + else if (this.startAxis == StartAxisType.Horizontal) { + var row = (i + startIndex) % this.gridRow; + var col = Math.floor((i + startIndex) / this.gridRow); + item.setPosition(item.width * (0.5 + col) + this.spaceX * col + this.padding_left, -item.height * (0.5 + row) - this.spaceY * row - this.padding_top); + item.opacity = 255; + } + } + } + this.scrollView.scrollToOffset(offset); + }; + /**获取一个列表项 */ + List.prototype.getItem = function () { + if (this.itemPool.length == 0) { + return cc.instantiate(this.itemRender); + } + else { + return this.itemPool.pop(); + } + }; + List.prototype.update = function (dt) { + if (this.bScrolling == false) { + return; + } + this.updateTimer += dt; + if (this.updateTimer < this.updateInterval) { + return; + } + this.updateTimer = 0; + this.bScrolling = false; + this.updateFun(); + }; + List.prototype.onScrolling = function () { + this.bScrolling = true; + }; + /**垂直排列 */ + List.prototype.updateV = function () { + var items = this.itemList; + var item; + var bufferZone = this.halfScrollView; + var isUp = this.scrollView.content.y > this.lastContentPosY; + var offset = (this.itemHeight + this.spaceY) * items.length; + for (var i = 0; i < items.length; i++) { + item = items[i]; + var viewPos = this.getPositionInView(item); + if (isUp) { + //item上滑时,超出了scrollView上边界,将item移动到下方复用,item移动到下方的位置必须不超过content的下边界 + if (viewPos.y > bufferZone && item.y - offset - this.padding_buttom > -this.content.height) { + var itemRender = item.getComponent(ItemRender_1.default); + var itemIndex = itemRender.itemIndex + items.length; + itemRender.itemIndex = itemIndex; + itemRender.data = this.itemDataList[itemIndex]; + itemRender.dataChanged(); + item.y = item.y - offset; + } + } + else { + //item下滑时,超出了scrollView下边界,将item移动到上方复用,item移动到上方的位置必须不超过content的上边界 + if (viewPos.y < -bufferZone && item.y + offset + this.padding_top < 0) { + var itemRender = item.getComponent(ItemRender_1.default); + var itemIndex = itemRender.itemIndex - items.length; + itemRender.itemIndex = itemIndex; + itemRender.data = this.itemDataList[itemIndex]; + itemRender.dataChanged(); + item.y = item.y + offset; + } + } + } + this.lastContentPosY = this.scrollView.content.y; + }; + /**水平排列 */ + List.prototype.udpateH = function () { + var items = this.itemList; + var item; + var bufferZone = this.halfScrollView; + var isRight = this.scrollView.content.x > this.lastContentPosX; + var offset = (this.itemWidth + this.spaceX) * items.length; + for (var i = 0; i < items.length; i++) { + item = items[i]; + var viewPos = this.getPositionInView(item); + if (isRight) { + //item右滑时,超出了scrollView右边界,将item移动到左方复用,item移动到左方的位置必须不超过content的左边界 + if (viewPos.x > bufferZone && item.x - offset - this.padding_left > 0) { + var itemRender = item.getComponent(ItemRender_1.default); + var itemIndex = itemRender.itemIndex - items.length; + itemRender.itemIndex = itemIndex; + itemRender.data = this.itemDataList[itemIndex]; + itemRender.dataChanged(); + item.x = item.x - offset; + } + } + else { + //item左滑时,超出了scrollView左边界,将item移动到右方复用,item移动到右方的位置必须不超过content的右边界 + if (viewPos.x < -bufferZone && item.x + offset + this.padding_right < this.content.width) { + var itemRender = item.getComponent(ItemRender_1.default); + var itemIndex = itemRender.itemIndex + items.length; + itemRender.itemIndex = itemIndex; + itemRender.data = this.itemDataList[itemIndex]; + itemRender.dataChanged(); + item.x = item.x + offset; + } + } + } + this.lastContentPosX = this.scrollView.content.x; + }; + /**网格垂直排列 */ + List.prototype.updateGrid_V = function () { + var items = this.itemList; + var item; + var bufferZone = this.halfScrollView; + var isUp = this.scrollView.content.y > this.lastContentPosY; + var offset = (this.itemHeight + this.spaceY) * (this.spawnCount / this.gridCol); + for (var i = 0; i < items.length; i++) { + item = items[i]; + var viewPos = this.getPositionInView(item); + if (isUp) { + //item上滑时,超出了scrollView上边界,将item移动到下方复用,item移动到下方的位置必须不超过content的下边界 + if (viewPos.y > bufferZone && item.y - offset - this.padding_buttom > -this.content.height) { + var itemRender = item.getComponent(ItemRender_1.default); + var itemIndex = itemRender.itemIndex + (this.spawnCount / this.gridCol) * this.gridCol; + if (this.itemDataList[itemIndex] != null) { + item.y = item.y - offset; + itemRender.itemIndex = itemIndex; + itemRender.data = this.itemDataList[itemIndex]; + itemRender.dataChanged(); + item.opacity = 255; + } + else { + item.y = item.y - offset; + itemRender.itemIndex = itemIndex; + item.opacity = 0; + } + } + } + else { //item下滑时,超出了scrollView下边界,将item移动到上方复用,item移动到上方的位置必须不超过content的上边界 + if (viewPos.y < -bufferZone && item.y + offset + this.padding_top < 0) { + var itemRender = item.getComponent(ItemRender_1.default); + var itemIndex = itemRender.itemIndex - (this.spawnCount / this.gridCol) * this.gridCol; + if (this.itemDataList[itemIndex] != null) { + item.y = item.y + offset; + itemRender.itemIndex = itemIndex; + itemRender.data = this.itemDataList[itemIndex]; + itemRender.dataChanged(); + item.opacity = 255; + } + else { + item.y = item.y + offset; + itemRender.itemIndex = itemIndex; + item.opacity = 0; + } + } + } + } + this.lastContentPosY = this.scrollView.content.y; + }; + /**网格水平排列 */ + List.prototype.updateGrid_H = function () { + var items = this.itemList; + var item; + var bufferZone = this.halfScrollView; + var isRight = this.scrollView.content.x > this.lastContentPosX; + var offset = (this.itemWidth + this.spaceX) * (this.spawnCount / this.gridRow); + for (var i = 0; i < items.length; i++) { + item = items[i]; + var viewPos = this.getPositionInView(item); + if (isRight) { + //item右滑时,超出了scrollView右边界,将item移动到左方复用,item移动到左方的位置必须不超过content的左边界 + if (viewPos.x > bufferZone && item.x - offset - this.padding_left > 0) { + var itemRender = item.getComponent(ItemRender_1.default); + var itemIndex = itemRender.itemIndex - (this.spawnCount / this.gridRow) * this.gridRow; + if (this.itemDataList[itemIndex] != null) { + item.x = item.x - offset; + itemRender.itemIndex = itemIndex; + itemRender.data = this.itemDataList[itemIndex]; + itemRender.dataChanged(); + item.opacity = 255; + } + else { + item.x = item.x - offset; + itemRender.itemIndex = itemIndex; + item.opacity = 0; + } + } + } + else { + //item左滑时,超出了scrollView左边界,将item移动到右方复用,item移动到右方的位置必须不超过content的右边界 + if (viewPos.x < -bufferZone && item.x + offset + this.padding_right < this.content.width) { + var itemRender = item.getComponent(ItemRender_1.default); + var itemIndex = itemRender.itemIndex + (this.spawnCount / this.gridRow) * this.gridRow; + if (this.itemDataList[itemIndex] != null) { + item.x = item.x + offset; + itemRender.itemIndex = itemIndex; + itemRender.data = this.itemDataList[itemIndex]; + itemRender.dataChanged(); + item.opacity = 255; + } + else { + item.x = item.x + offset; + itemRender.itemIndex = itemIndex; + item.opacity = 0; + } + } + } + } + this.lastContentPosX = this.scrollView.content.x; + }; + /**获取item在scrollView的局部坐标 */ + List.prototype.getPositionInView = function (item) { + var worldPos = item.parent.convertToWorldSpaceAR(item.position); + var viewPos = this.scrollView.node.convertToNodeSpaceAR(worldPos); + return viewPos; + }; + /**获取列表数据 */ + List.prototype.getListData = function () { + return this.itemDataList; + }; + /** + * 增加一项数据到列表的末尾 + * @param data 数据 + */ + List.prototype.addItem = function (data) { + this.itemDataList.push(data); + this.updateContent(); + }; + /** + * 增加一项数据到列表指定位置 + * @param index 位置,0表示第1项 + * @param data 数据 + */ + List.prototype.addItemAt = function (index, data) { + if (this.itemDataList[index] != null || this.itemDataList.length == index) { + this.itemDataList.splice(index, 1, data); + this.updateContent(); + } + }; + /** + * 删除一项数据 + * @param index 删除项的位置 ,0表示第1项 + */ + List.prototype.deleteItem = function (index) { + if (this.itemDataList[index] != null) { + this.itemDataList.splice(index, 1); + this.updateContent(); + } + }; + /** + * 改变一项数据 + * @param index 位置,0表示第1项 + * @param data 替换的数据 + */ + List.prototype.changeItem = function (index, data) { + if (this.itemDataList[index] != null) { + this.itemDataList[index] = data; + this.updateContent(); + } + }; + /**获取第一个Item的位置 */ + List.prototype.updateContent = function () { + //显示列表实例为0个 + if (this.itemList.length == 0) { + this.countListParam(); + this.createList(0, new cc.Vec2(0, 0)); + //显示列表的实例不为0个,则需要重新排列item实例数组 + } + else { + if (this.type == ListType.Vertical) { + this.itemList.sort(function (a, b) { + return b.y - a.y; + }); + } + else if (this.type == ListType.Horizontal) { + this.itemList.sort(function (a, b) { + return a.x - b.x; + }); + } + else if (this.type == ListType.Grid) { + if (this.startAxis == StartAxisType.Vertical) { + this.itemList.sort(function (a, b) { + return a.x - b.x; + }); + this.itemList.sort(function (a, b) { + return b.y - a.y; + }); + } + else if (this.startAxis == StartAxisType.Horizontal) { + this.itemList.sort(function (a, b) { + return b.y - a.y; + }); + this.itemList.sort(function (a, b) { + return a.x - b.x; + }); + } + } + this.countListParam(); + //获取第一个item实例需要显示的数据索引 + var startIndex = this.itemList[0].getComponent(ItemRender_1.default).itemIndex; + if (this.type == ListType.Grid && this.startAxis == StartAxisType.Vertical) { + startIndex += (startIndex + this.spawnCount) % this.gridCol; + } + else if (this.type == ListType.Grid && this.startAxis == StartAxisType.Horizontal) { + startIndex += (startIndex + this.spawnCount) % this.gridRow; + } + //getScrollOffset()和scrollToOffset()的x值是相反的 + var offset = this.scrollView.getScrollOffset(); + offset.x = -offset.x; + this.createList(startIndex, offset); + } + }; + /**销毁 */ + List.prototype.onDestroy = function () { + //清理列表项 + var len = this.itemList.length; + for (var i = 0; i < len; i++) { + if (cc.isValid(this.itemList[i], true)) { + this.itemList[i].destroy(); + } + } + this.itemList.length = 0; + //清理对象池 + len = this.itemPool.length; + for (var i = 0; i < len; i++) { + if (cc.isValid(this.itemPool[i], true)) { + this.itemPool[i].destroy(); + } + } + this.itemPool.length = 0; + //清理列表数据 + this.itemDataList.length = 0; + }; + __decorate([ + property({ type: cc.Node, tooltip: "列表项" }) + ], List.prototype, "itemRender", void 0); + __decorate([ + property({ type: cc.Enum(ListType), tooltip: "排列方式" }) + ], List.prototype, "type", void 0); + __decorate([ + property({ type: cc.Enum(StartAxisType), tooltip: "网格布局中的方向", visible: function () { return this.type == ListType.Grid; } }) + ], List.prototype, "startAxis", void 0); + __decorate([ + property({ type: cc.Integer, tooltip: "列表项X间隔", visible: function () { return (this.type == ListType.Horizontal || this.type == ListType.Grid); } }) + ], List.prototype, "spaceX", void 0); + __decorate([ + property({ type: cc.Integer, tooltip: "列表项Y间隔", visible: function () { return this.type == ListType.Vertical || this.type == ListType.Grid; } }) + ], List.prototype, "spaceY", void 0); + __decorate([ + property({ type: cc.Integer, tooltip: "上间距", visible: function () { return (this.type == ListType.Vertical || this.type == ListType.Grid); } }) + ], List.prototype, "padding_top", void 0); + __decorate([ + property({ type: cc.Integer, tooltip: "下间距", visible: function () { return (this.type == ListType.Vertical || this.type == ListType.Grid); } }) + ], List.prototype, "padding_buttom", void 0); + __decorate([ + property({ type: cc.Integer, tooltip: "左间距", visible: function () { return (this.type == ListType.Horizontal || this.type == ListType.Grid); } }) + ], List.prototype, "padding_left", void 0); + __decorate([ + property(cc.Integer) + ], List.prototype, "_padding", void 0); + __decorate([ + property({ type: cc.Integer, tooltip: "右间距", visible: function () { return (this.type == ListType.Horizontal || this.type == ListType.Grid); } }) + ], List.prototype, "padding_right", void 0); + List = __decorate([ + ccclass + ], List); + return List; +}(cc.Component)); +exports.default = List; + +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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFJhbmtMaXN0XFxMaXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvQkFBb0I7QUFDcEIsd0VBQXdFO0FBQ3hFLG1CQUFtQjtBQUNuQixrRkFBa0Y7QUFDbEYsOEJBQThCO0FBQzlCLGtGQUFrRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVsRiwyQ0FBcUM7QUFFL0IsSUFBQSxLQUF3QixFQUFFLENBQUMsVUFBVSxFQUFuQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWtCLENBQUM7QUFFNUMsWUFBWTtBQUNaLElBQVksUUFPWDtBQVBELFdBQVksUUFBUTtJQUNoQixVQUFVO0lBQ1YsbURBQWMsQ0FBQTtJQUNkLFVBQVU7SUFDViwrQ0FBWSxDQUFBO0lBQ1osVUFBVTtJQUNWLHVDQUFRLENBQUE7QUFDWixDQUFDLEVBUFcsUUFBUSxHQUFSLGdCQUFRLEtBQVIsZ0JBQVEsUUFPbkI7QUFFRCxjQUFjO0FBQ2QsSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3JCLFVBQVU7SUFDViw2REFBYyxDQUFBO0lBQ2QsVUFBVTtJQUNWLHlEQUFZLENBQUE7QUFDaEIsQ0FBQyxFQUxXLGFBQWEsR0FBYixxQkFBYSxLQUFiLHFCQUFhLFFBS3hCO0FBRUQ7Ozs7Ozs7R0FPRztBQUVIO0lBQWtDLHdCQUFZO0lBQTlDO1FBQUEscUVBeWlCQztRQXZpQkcscURBQXFEO1FBQ3JELFVBQVU7UUFFSCxnQkFBVSxHQUFZLElBQUksQ0FBQztRQUVsQyxVQUFVO1FBRUgsVUFBSSxHQUFhLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFFMUMsY0FBYztRQUVQLGVBQVMsR0FBa0IsYUFBYSxDQUFDLFVBQVUsQ0FBQztRQUUzRCxjQUFjO1FBRVAsWUFBTSxHQUFXLENBQUMsQ0FBQztRQUUxQixjQUFjO1FBRVAsWUFBTSxHQUFXLENBQUMsQ0FBQztRQUUxQixTQUFTO1FBRUYsaUJBQVcsR0FBVyxDQUFDLENB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SSxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUUsQ0FBQzs4Q0FDdEc7SUFLaEM7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQzswQ0FDTztJQUk1QjtRQURDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxnQkFBSyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsQ0FBQyxFQUFFLENBQUM7K0NBQ3JHO0lBMUNoQixJQUFJO1FBRHhCLE9BQU87T0FDYSxJQUFJLENBeWlCeEI7SUFBRCxXQUFDO0NBemlCRCxBQXlpQkMsQ0F6aUJpQyxFQUFFLENBQUMsU0FBUyxHQXlpQjdDO2tCQXppQm9CLElBQUkiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMZWFybiBUeXBlU2NyaXB0OlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy90eXBlc2NyaXB0Lmh0bWxcclxuLy8gTGVhcm4gQXR0cmlidXRlOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9yZWZlcmVuY2UvYXR0cmlidXRlcy5odG1sXHJcbi8vIExlYXJuIGxpZmUtY3ljbGUgY2FsbGJhY2tzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9saWZlLWN5Y2xlLWNhbGxiYWNrcy5odG1sXHJcblxyXG5pbXBvcnQgSXRlbVJlbmRlciBmcm9tIFwiLi9JdGVtUmVuZGVyXCJcclxuXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG4vKirliJfooajmjpLliJfmlrnlvI8gKi9cclxuZXhwb3J0IGVudW0gTGlzdFR5cGUge1xyXG4gICAgLyoq5rC05bmz5o6S5YiXICovXHJcbiAgICBIb3Jpem9udGFsID0gMSxcclxuICAgIC8qKuWeguebtOaOkuWIlyAqL1xyXG4gICAgVmVydGljYWwgPSAyLFxyXG4gICAgLyoq572R5qC85o6S5YiXICovXHJcbiAgICBHcmlkID0gM1xyXG59XHJcblxyXG4vKirnvZHmoLzluIPlsYDkuK3nmoTmlrnlkJEgKi9cclxuZXhwb3J0IGVudW0gU3RhcnRBeGlzVHlwZSB7XHJcbiAgICAvKirmsLTlubPmjpLliJcgKi9cclxuICAgIEhvcml6b250YWwgPSAxLFxyXG4gICAgLyoq5Z6C55u05o6S5YiXICovXHJcbiAgICBWZXJ0aWNhbCA9IDIsXHJcbn1cclxuXHJcbi8qKlxyXG4gKiDliJfooahcclxuICog5qC55o2uY29jb3NfZXhhbXBsZeeahGxpc3RWaWV35pS55Yqo6ICM5p2lXHJcbiAqIEBhdXRob3IgY2hlbmthaSAyMDIwLjcuOFxyXG4gKiBAZXhhbXBsZVxyXG4gKiAgMS7liJvlu7pjb2Nvc+eahFNjcm9sbFZpZXfnu4Tku7bvvIzmt7vliqBMaXN077yM6K6+572uTGlzdOWxnuaAp+WNs+WPr1xyXG4gKiAgXHJcbiAqL1xyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBMaXN0IGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuXHJcbiAgICAvLz09PT09PT09PT09PT09PT09PT09IOWxnuaAp+mdouadvyA9PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAvKirliJfooajpgInpobkgKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLk5vZGUsIHRvb2x0aXA6IFwi5YiX6KGo6aG5XCIgfSlcclxuICAgIHB1YmxpYyBpdGVtUmVuZGVyOiBjYy5Ob2RlID0gbnVsbDtcclxuXHJcbiAgICAvKirmjpLliJfmlrnlvI8gKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLkVudW0oTGlzdFR5cGUpLCB0b29sdGlwOiBcIuaOkuWIl+aWueW8j1wiIH0pXHJcbiAgICBwdWJsaWMgdHlwZTogTGlzdFR5cGUgPSBMaXN0VHlwZS5WZXJ0aWNhbDtcclxuXHJcbiAgICAvKirnvZHmoLzluIPlsYDkuK3nmoTmlrnlkJEgKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLkVudW0oU3RhcnRBeGlzVHlwZSksIHRvb2x0aXA6IFwi572R5qC85biD5bGA5Lit55qE5pa55ZCRXCIsIHZpc2libGUoKSB7IHJldHVybiB0aGlzLnR5cGUgPT0gTGlzdFR5cGUuR3JpZCB9IH0pXHJcbiAgICBwdWJsaWMgc3RhcnRBeGlzOiBTdGFydEF4aXNUeXBlID0gU3RhcnRBeGlzVHlwZS5Ib3Jpem9udGFsO1xyXG5cclxuICAgIC8qKuWIl+ihqOmhueS5i+mXtFjpl7TpmpQgKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLkludGVnZXIsIHRvb2x0aXA6IFwi5YiX6KGo6aG5WOmXtOmalFwiLCB2aXNpYmxlKCkgeyByZXR1cm4gKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5Ib3Jpem9udGFsIHx8IHRoaXMudHlwZSA9PSBMaXN0VHlwZS5HcmlkKSB9IH0pXHJcbiAgICBwdWJsaWMgc3BhY2VYOiBudW1iZXIgPSAwO1xyXG5cclxuICAgIC8qKuWIl+ihqOmhueS5i+mXtFnpl7TpmpQgKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLkludGVnZXIsIHRvb2x0aXA6IFwi5YiX6KGo6aG5WemXtOmalFwiLCB2aXNpYmxlKCkgeyByZXR1cm4gdGhpcy50eXBlID09IExpc3RUeXBlLlZlcnRpY2FsIHx8IHRoaXMudHlwZSA9PSBMaXN0VHlwZS5HcmlkIH0gfSlcclxuICAgIHB1YmxpYyBzcGFjZVk6IG51bWJlciA9IDA7XHJcblxyXG4gICAgLyoq5LiK6Ze06LedICovXHJcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBjYy5JbnRlZ2VyLCB0b29sdGlwOiBcIuS4iumXtOi3nVwiLCB2aXNpYmxlKCkgeyByZXR1cm4gKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5WZXJ0aWNhbCB8fCB0aGlzLnR5cGUgPT0gTGlzdFR5cGUuR3JpZCkgfSB9KVxyXG4gICAgcHVibGljIHBhZGRpbmdfdG9wOiBudW1iZXIgPSAwO1xyXG5cclxuICAgIC8qKuS4i+mXtOi3nSAqL1xyXG4gICAgQHByb3BlcnR5KHsgdHlwZTogY2MuSW50ZWdlciwgdG9vbHRpcDogXCLkuIvpl7Tot51cIiwgdmlzaWJsZSgpIHsgcmV0dXJuICh0aGlzLnR5cGUgPT0gTGlzdFR5cGUuVmVydGljYWwgfHwgdGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQpIH0gfSlcclxuICAgIHB1YmxpYyBwYWRkaW5nX2J1dHRvbTogbnVtYmVyID0gMDtcclxuXHJcbiAgICAvKirlt6bpl7Tot50gKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLkludGVnZXIsIHRvb2x0aXA6IFwi5bem6Ze06LedXCIsIHZpc2libGUoKSB7IHJldHVybiAodGhpcy50eXBlID09IExpc3RUeXBlLkhvcml6b250YWwgfHwgdGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQpIH0gfSlcclxuICAgIHB1YmxpYyBwYWRkaW5nX2xlZnQ6IG51bWJlciA9IDA7XHJcblxyXG5cclxuXHJcbiAgICBAcHJvcGVydHkoY2MuSW50ZWdlcilcclxuICAgIHB1YmxpYyBfcGFkZGluZzogbnVtYmVyID0gMDtcclxuXHJcbiAgICAvKirlj7Ppl7Tot50gKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLkludGVnZXIsIHRvb2x0aXA6IFwi5Y+z6Ze06LedXCIsIHZpc2libGUoKSB7IHJldHVybiAodGhpcy50eXBlID09IExpc3RUeXBlLkhvcml6b250YWwgfHwgdGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQpIH0gfSlcclxuICAgIHB1YmxpYyBwYWRkaW5nX3JpZ2h0OiBudW1iZXIgPSAwO1xyXG5cclxuICAgIC8vPT09PT09PT09PT09PT09PT09PT09PSDmu5rliqjlrrnlmaggPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgLyoq5YiX6KGo5rua5Yqo5a655ZmoICovXHJcbiAgICBwdWJsaWMgc2Nyb2xsVmlldzogY2MuU2Nyb2xsVmlldyA9IG51bGw7XHJcbiAgICAvKipzY3JvbGxWaWV355qE5YaF5a655a655ZmoICovXHJcbiAgICBwcml2YXRlIGNvbnRlbnQ6IGNjLk5vZGUgPSBudWxsO1xyXG5cclxuICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09IOWIl+ihqOmhuSA9PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgIC8qKuWIl+ihqOmhueaVsOaNriAqL1xyXG4gICAgcHJpdmF0ZSBpdGVtRGF0YUxpc3Q6IEFycmF5PGFueT4gPSBbXTtcclxuICAgIC8qKuW6lOWIm+W7uueahOWunuS+i+aVsOmHjyAqL1xyXG4gICAgcHJpdmF0ZSBzcGF3bkNvdW50OiBudW1iZXIgPSAwO1xyXG4gICAgLyoq5a2Y5pS+5YiX6KGo6aG55a6e5L6L55qE5pWw57uEICovXHJcbiAgICBwcml2YXRlIGl0ZW1MaXN0OiBBcnJheTxjYy5Ob2RlPiA9IFtdO1xyXG4gICAgLyoqaXRlbeeahOmrmOW6piAqL1xyXG4gICAgcHJpdmF0ZSBpdGVtSGVpZ2h0OiBudW1iZXIgPSAwO1xyXG4gICAgLyoqaXRlbeeahOWuveW6piAqL1xyXG4gICAgcHJpdmF0ZSBpdGVtV2lkdGg6IG51bWJlciA9IDA7XHJcbiAgICAvKirlrZjmlL7kuI3lho3kvb/nlKjkuK3nmoTliJfooajpobkgKi9cclxuICAgIHByaXZhdGUgaXRlbVBvb2w6IEFycmF5PGNjLk5vZGU+ID0gW107XHJcblxyXG4gICAgLy89PT09PT09PT09PT09PT09PT09PT09PSDorqHnrpflj4LmlbAgPT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgIC8qKui3neemu3Njcm9sbFZpZXfkuK3lv4PngrnnmoTot53nprvvvIzotoXov4fov5nkuKrot53nprvnmoRpdGVt5Lya6KKr6YeN572u77yM5LiA6Iis6K6+572u5Li6IHNjcm9sbFZJZXcuaGVpZ2h0LzIgKyBpdGVtLmhlaWd0LzIgKyBzcGFjZe+8jOWboOS4uui/meS4qui3neemu2l0ZW3mraPlpb3otoXlh7pzY3JvbGxWaWV35pi+56S66IyD5Zu0ICovXHJcbiAgICBwcml2YXRlIGhhbGZTY3JvbGxWaWV3OiBudW1iZXIgPSAwO1xyXG4gICAgLyoq5LiK5LiA5qyhY29udGVudOeahFjlgLzvvIznlKjkuo7lkoznjrDlnKhjb250ZW5055qEWOWAvOavlOi+g++8jOW+l+WHuuaYr+WQkeW3pui/mOaYr+WQkeWPs+a7muWKqCAqL1xyXG4gICAgcHJpdmF0ZSBsYXN0Q29udGVudFBvc1g6IG51bWJlciA9IDA7XHJcbiAgICAvKirkuIrkuIDmrKFjb250ZW5055qEWeWAvO+8jOeUqOS6juWSjOeOsOWcqGNvbnRlbnTnmoRZ5YC85q+U6L6D77yM5b6X5Ye65piv5ZCR5LiK6L+Y5piv5ZCR5LiL5rua5YqoICovXHJcbiAgICBwcml2YXRlIGxhc3RDb250ZW50UG9zWTogbnVtYmVyID0gMDtcclxuICAgIC8qKue9keagvOihjOaVsCAqL1xyXG4gICAgcHJpdmF0ZSBncmlkUm93OiBudW1iZXIgPSAwO1xyXG4gICAgLyoq572R5qC85YiX5pWwICovXHJcbiAgICBwcml2YXRlIGdyaWRDb2w6IG51bWJlciA9IDA7XHJcbiAgICAvKirliLfmlrDml7bpl7TvvIzljZXkvY1zICovXHJcbiAgICBwcml2YXRlIHVwZGF0ZVRpbWVyOiBudW1iZXIgPSAwO1xyXG4gICAgLyoq5Yi35paw6Ze06ZqU77yM5Y2V5L2NcyAqL1xyXG4gICAgcHJpdmF0ZSB1cGRhdGVJbnRlcnZhbDogbnVtYmVyID0gMC4xO1xyXG4gICAgLyoq5piv5ZCm5rua5Yqo5a655ZmoICovXHJcbiAgICBwcml2YXRlIGJTY3JvbGxpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIC8qKuWIt+aWsOeahOWHveaVsCAqL1xyXG4gICAgcHJpdmF0ZSB1cGRhdGVGdW46IEZ1bmN0aW9uID0gZnVuY3Rpb24gKCkgeyB9O1xyXG5cclxuICAgIG9uTG9hZCgpIHtcclxuICAgICAgICB0aGlzLml0ZW1IZWlnaHQgPSB0aGlzLml0ZW1SZW5kZXIuaGVpZ2h0O1xyXG4gICAgICAgIHRoaXMuaXRlbVdpZHRoID0gdGhpcy5pdGVtUmVuZGVyLndpZHRoO1xyXG4gICAgICAgIHRoaXMuc2Nyb2xsVmlldyA9IHRoaXMubm9kZS5nZXRDb21wb25lbnQoY2MuU2Nyb2xsVmlldyk7XHJcbiAgICAgICAgdGhpcy5jb250ZW50ID0gdGhpcy5zY3JvbGxWaWV3LmNvbnRlbnQ7XHJcbiAgICAgICAgdGhpcy5jb250ZW50LmFuY2hvclggPSAwO1xyXG4gICAgICAgIHRoaXMuY29udGVudC5hbmNob3JZID0gMTtcclxuICAgICAgICB0aGlzLmNvbnRlbnQucmVtb3ZlQWxsQ2hpbGRyZW4oKTtcclxuICAgICAgICB0aGlzLnNjcm9sbFZpZXcubm9kZS5vbihcInNjcm9sbGluZ1wiLCB0aGlzLm9uU2Nyb2xsaW5nLCB0aGlzKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOWIl+ihqOaVsOaNriAo5YiX6KGo5pWw5o2u5aSN5Yi25L2/55So77yM5aaC5p6c5YiX6KGo5pWw5o2u5pS55Y+Y77yM5YiZ6ZyA6KaB6YeN5paw6K6+572u5LiA6YGN5pWw5o2uKVxyXG4gICAgICogQHBhcmFtIGl0ZW1EYXRhTGlzdCBpdGVt5pWw5o2u5YiX6KGoXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZXREYXRhKGl0ZW1EYXRhTGlzdDogQXJyYXk8YW55Pikge1xyXG4gICAgICAgIHRoaXMuaXRlbURhdGFMaXN0ID0gaXRlbURhdGFMaXN0LnNsaWNlKCk7XHJcbiAgICAgICAgdGhpcy51cGRhdGVDb250ZW50KCk7XHJcbiAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICAvKirorqHnrpfliJfooajnmoTlkITpobnlj4LmlbAgKi9cclxuICAgIHByaXZhdGUgY291bnRMaXN0UGFyYW0oKSB7XHJcbiAgICAgICAgbGV0IGRhdGFMZW4gPSB0aGlzLml0ZW1EYXRhTGlzdC5sZW5ndGg7XHJcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5WZXJ0aWNhbCkge1xyXG4gICAgICAgICAgICB0aGlzLnNjcm9sbFZpZXcuaG9yaXpvbnRhbCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnNjcm9sbFZpZXcudmVydGljYWwgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnQud2lkdGggPSB0aGlzLmNvbnRlbnQucGFyZW50LndpZHRoO1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnQuaGVpZ2h0ID0gZGF0YUxlbiAqIHRoaXMuaXRlbUhlaWdodCArIChkYXRhTGVuIC0gMSkgKiB0aGlzLnNwYWNlWSArIHRoaXMucGFkZGluZ190b3AgKyB0aGlzLnBhZGRpbmdfYnV0dG9tO1xyXG4gICAgICAgICAgICB0aGlzLnNwYXduQ291bnQgPSBNYXRoLnJvdW5kKHRoaXMuc2Nyb2xsVmlldy5ub2RlLmhlaWdodCAvICh0aGlzLml0ZW1IZWlnaHQgKyB0aGlzLnNwYWNlWSkpICsgMjsgLy/orqHnrpfliJvlu7rnmoRpdGVt5a6e5L6L5pWw6YeP77yM5q+U5b2T5YmNc2Nyb2xsVmlld+WuueWZqOiDveaUvuS4i+eahGl0ZW3mlbDph4/lho3liqDkuIoy5LiqXHJcbiAgICAgICAgICAgIHRoaXMuaGFsZlNjcm9sbFZpZXcgPSB0aGlzLnNjcm9sbFZpZXcubm9kZS5oZWlnaHQgLyAyICsgdGhpcy5pdGVtSGVpZ2h0IC8gMiArIHRoaXMuc3BhY2VZOyAvL+iuoeeul2J1ZmZlclpvbmXvvIxpdGVt55qE5pi+56S66IyD5Zu0XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRnVuID0gdGhpcy51cGRhdGVWO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLkhvcml6b250YWwpIHtcclxuICAgICAgICAgICAgdGhpcy5zY3JvbGxWaWV3Lmhvcml6b250YWwgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnNjcm9sbFZpZXcudmVydGljYWwgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5jb250ZW50LndpZHRoID0gZGF0YUxlbiAqIHRoaXMuaXRlbVdpZHRoICsgKGRhdGFMZW4gLSAxKSAqIHRoaXMuc3BhY2VYICsgdGhpcy5wYWRkaW5nX2xlZnQgKyB0aGlzLnBhZGRpbmdfcmlnaHQ7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGVudC5oZWlnaHQgPSB0aGlzLmNvbnRlbnQucGFyZW50LmhlaWdodDtcclxuICAgICAgICAgICAgdGhpcy5zcGF3bkNvdW50ID0gTWF0aC5yb3VuZCh0aGlzLnNjcm9sbFZpZXcubm9kZS53aWR0aCAvICh0aGlzLml0ZW1XaWR0aCArIHRoaXMuc3BhY2VYKSkgKyAyO1xyXG4gICAgICAgICAgICB0aGlzLmhhbGZTY3JvbGxWaWV3ID0gdGhpcy5zY3JvbGxWaWV3Lm5vZGUud2lkdGggLyAyICsgdGhpcy5pdGVtV2lkdGggLyAyICsgdGhpcy5zcGFjZVg7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRnVuID0gdGhpcy51ZHBhdGVIO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuc3RhcnRBeGlzID09IFN0YXJ0QXhpc1R5cGUuVmVydGljYWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsVmlldy5ob3Jpem9udGFsID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbFZpZXcudmVydGljYWwgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb250ZW50LndpZHRoID0gdGhpcy5jb250ZW50LnBhcmVudC53aWR0aDtcclxuICAgICAgICAgICAgICAgIC8v5aaC5p6cbGVmdOWSjHJpZ2h06Ze06ZqU6L+H5aSn77yM5a+86Ie05pS+5LiN5LiL5LiA5LiqaXRlbe+8jOWImWxlZnTlkoxyaWdodOmDveiuvue9ruS4ujDvvIznm7jlvZPkuo7kuI3nlJ/mlYhcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnBhZGRpbmdfbGVmdCArIHRoaXMucGFkZGluZ19yaWdodCArIHRoaXMuaXRlbVdpZHRoICsgdGhpcy5zcGFjZVggPiB0aGlzLmNvbnRlbnQud2lkdGgpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhZGRpbmdfbGVmdCA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYWRkaW5nX3JpZ2h0ID0gMDtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwicGFkZGluZ19sZWZ05oiWcGFkZGluZ19yaWdodOi/h+Wkp1wiKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWRDb2wgPSBNYXRoLmZsb29yKCh0aGlzLmNvbnRlbnQud2lkdGggLSB0aGlzLnBhZGRpbmdfbGVmdCAtIHRoaXMucGFkZGluZ19yaWdodCkgLyAodGhpcy5pdGVtV2lkdGggKyB0aGlzLnNwYWNlWCkpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ncmlkUm93ID0gTWF0aC5jZWlsKGRhdGFMZW4gLyB0aGlzLmdyaWRDb2wpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb250ZW50LmhlaWdodCA9IHRoaXMuZ3JpZFJvdyAqIHRoaXMuaXRlbUhlaWdodCArICh0aGlzLmdyaWRSb3cgLSAxKSAqIHRoaXMuc3BhY2VZICsgdGhpcy5wYWRkaW5nX3RvcCArIHRoaXMucGFkZGluZ19idXR0b207XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNwYXduQ291bnQgPSBNYXRoLnJvdW5kKHRoaXMuc2Nyb2xsVmlldy5ub2RlLmhlaWdodCAvICh0aGlzLml0ZW1IZWlnaHQgKyB0aGlzLnNwYWNlWSkpICogdGhpcy5ncmlkQ29sICsgdGhpcy5ncmlkQ29sICogMjtcclxuICAgICAgICAgICAgICAgIHRoaXMuaGFsZlNjcm9sbFZpZXcgPSB0aGlzLnNjcm9sbFZpZXcubm9kZS5oZWlnaHQgLyAyICsgdGhpcy5pdGVtSGVpZ2h0IC8gMiArIHRoaXMuc3BhY2VZO1xyXG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVGdW4gPSB0aGlzLnVwZGF0ZUdyaWRfVjtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnN0YXJ0QXhpcyA9PSBTdGFydEF4aXNUeXBlLkhvcml6b250YWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsVmlldy5ob3Jpem9udGFsID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsVmlldy52ZXJ0aWNhbCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgLy/orqHnrpfpq5jpl7TpmpRcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udGVudC5oZWlnaHQgPSB0aGlzLmNvbnRlbnQucGFyZW50LmhlaWdodDtcclxuICAgICAgICAgICAgICAgIC8v5aaC5p6cbGVmdOWSjHJpZ2h06Ze06ZqU6L+H5aSn77yM5a+86Ie05pS+5LiN5LiL5LiA5LiqaXRlbe+8jOWImWxlZnTlkoxyaWdodOmDveiuvue9ruS4ujDvvIznm7jlvZPkuo7kuI3nlJ/mlYhcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnBhZGRpbmdfdG9wICsgdGhpcy5wYWRkaW5nX2J1dHRvbSArIHRoaXMuaXRlbUhlaWdodCArIHRoaXMuc3BhY2VZID4gdGhpcy5jb250ZW50LmhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFkZGluZ190b3AgPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFkZGluZ19idXR0b20gPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJwYWRkaW5nX3RvcOaIlnBhZGRpbmdfYnV0dG9t6L+H5aSnXCIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuZ3JpZFJvdyA9IE1hdGguZmxvb3IoKHRoaXMuY29udGVudC5oZWlnaHQgLSB0aGlzLnBhZGRpbmdfdG9wIC0gdGhpcy5wYWRkaW5nX2J1dHRvbSkgLyAodGhpcy5pdGVtSGVpZ2h0ICsgdGhpcy5zcGFjZVkpKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuZ3JpZENvbCA9IE1hdGguY2VpbChkYXRhTGVuIC8gdGhpcy5ncmlkUm93KTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udGVudC53aWR0aCA9IHRoaXMuZ3JpZENvbCAqIHRoaXMuaXRlbVdpZHRoICsgKHRoaXMuZ3JpZENvbCAtIDEpICogdGhpcy5zcGFjZVggKyB0aGlzLnBhZGRpbmdfbGVmdCArIHRoaXMucGFkZGluZ19yaWdodDtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3Bhd25Db3VudCA9IE1hdGgucm91bmQodGhpcy5zY3JvbGxWaWV3Lm5vZGUud2lkdGggLyAodGhpcy5pdGVtV2lkdGggKyB0aGlzLnNwYWNlWCkpICogdGhpcy5ncmlkUm93ICsgdGhpcy5ncmlkUm93ICogMjtcclxuICAgICAgICAgICAgICAgIHRoaXMuaGFsZlNjcm9sbFZpZXcgPSB0aGlzLnNjcm9sbFZpZXcubm9kZS53aWR0aCAvIDIgKyB0aGlzLml0ZW1XaWR0aCAvIDIgKyB0aGlzLnNwYWNlWDtcclxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlRnVuID0gdGhpcy51cGRhdGVHcmlkX0g7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDliJvlu7rliJfooaggXHJcbiAgICAgKiBAcGFyYW0gc3RhcnRJbmRleCDotbflp4vmmL7npLrnmoTmlbDmja7ntKLlvJUgMOihqOekuuesrOS4gOmhuVxyXG4gICAgICogQHBhcmFtIG9mZnNldCAgICAgc2Nyb2xsVmlld+WBj+enu+mHj1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGNyZWF0ZUxpc3Qoc3RhcnRJbmRleDogbnVtYmVyLCBvZmZzZXQ6IGNjLlZlYzIpIHtcclxuICAgICAgICAvL+W9k+mcgOimgeaYvuekuueahOaVsOaNrumVv+W6piA+IOiZmuaLn+WIl+ihqOmVv+W6pu+8jCDliKDpmaTmnIDmnKvlsL7lh6DkuKrmlbDmja7ml7bvvIzliJfooajpnIDopoHph43nva7kvY3nva7liLBzY3JvbGxWaWV35pyA5bqV56uvXHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbURhdGFMaXN0Lmxlbmd0aCA+IHRoaXMuc3Bhd25Db3VudCAmJiAoc3RhcnRJbmRleCArIHRoaXMuc3Bhd25Db3VudCAtIDEpID49IHRoaXMuaXRlbURhdGFMaXN0Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICBzdGFydEluZGV4ID0gdGhpcy5pdGVtRGF0YUxpc3QubGVuZ3RoIC0gdGhpcy5zcGF3bkNvdW50O1xyXG4gICAgICAgICAgICBvZmZzZXQgPSB0aGlzLnNjcm9sbFZpZXcuZ2V0TWF4U2Nyb2xsT2Zmc2V0KCk7XHJcblxyXG4gICAgICAgICAgICAvL+W9k+mcgOimgeaYvuekuueahOaVsOaNrumVv+W6piA8PSDomZrmi5/liJfooajplb/luqbvvIwg6ZqQ6JeP5aSa5L2Z55qE6Jma5ouf5YiX6KGo6aG5IFxyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pdGVtRGF0YUxpc3QubGVuZ3RoIDw9IHRoaXMuc3Bhd25Db3VudCkge1xyXG4gICAgICAgICAgICBzdGFydEluZGV4ID0gMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5zcGF3bkNvdW50OyBpKyspIHtcclxuICAgICAgICAgICAgbGV0IGl0ZW06IGNjLk5vZGU7XHJcbiAgICAgICAgICAgIC8v6ZyA6KaB5pi+56S655qE5pWw5o2u57Si5byV5Zyo5pWw5o2u6IyD5Zu05YaF77yM5YiZaXRlbeWunuS+i+aYvuekuuWHuuadpVxyXG4gICAgICAgICAgICBpZiAoaSArIHN0YXJ0SW5kZXggPCB0aGlzLml0ZW1EYXRhTGlzdC5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLml0ZW1MaXN0W2ldID09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtID0gdGhpcy5nZXRJdGVtKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtTGlzdC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0ucGFyZW50ID0gdGhpcy5jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtID0gdGhpcy5pdGVtTGlzdFtpXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8v6ZyA6KaB5pi+56S655qE5pWw5o2u57Si5byV6LaF6L+H5LqG5pWw5o2u6IyD5Zu077yM5YiZaXRlbeWunuS+i+makOiXj+i1t+adpVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy9pdGVt5a6e5L6L5pWw6YePID4g6ZyA6KaB5pi+56S655qE5pWw5o2u6YePXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pdGVtTGlzdC5sZW5ndGggPiAodGhpcy5pdGVtRGF0YUxpc3QubGVuZ3RoIC0gc3RhcnRJbmRleCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtID0gdGhpcy5pdGVtTGlzdC5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnJlbW92ZUZyb21QYXJlbnQoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLml0ZW1Qb29sLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbGV0IGl0ZW1SZW5kZXI6IEl0ZW1SZW5kZXIgPSBpdGVtLmdldENvbXBvbmVudChJdGVtUmVuZGVyKTtcclxuICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpICsgc3RhcnRJbmRleDtcclxuICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhID0gdGhpcy5pdGVtRGF0YUxpc3RbaSArIHN0YXJ0SW5kZXhdO1xyXG4gICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGFDaGFuZ2VkKCk7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLlZlcnRpY2FsKSB7XHJcbiAgICAgICAgICAgICAgICAvL+WboOS4umNvbnRlbnTnmoTplJrngrlY5pivMO+8jOaJgOS7pWl0ZW3nmoR45YC85pivY29udGVudC53aXRoLzLooajnpLrlsYXkuK3vvIzplJrngrlZ5pivMe+8jOaJgOS7pWl0ZW3nmoR55YC85LuOY29udGVudOmhtumDqOWQkeS4i+aYrzDliLDotJ/ml6DnqbfjgILmiYDku6VpdGVtLnk9IC1pdGVtLmhlaWdodC8y5pe277yM5piv5ZyoY29udGVudOeahOmhtumDqOOAglxyXG4gICAgICAgICAgICAgICAgaXRlbS5zZXRQb3NpdGlvbih0aGlzLmNvbnRlbnQud2lkdGggLyAyLCAtaXRlbS5oZWlnaHQgKiAoMC41ICsgaSArIHN0YXJ0SW5kZXgpIC0gdGhpcy5zcGFjZVkgKiAoaSArIHN0YXJ0SW5kZXgpIC0gdGhpcy5wYWRkaW5nX3RvcCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLkhvcml6b250YWwpIHtcclxuICAgICAgICAgICAgICAgIGl0ZW0uc2V0UG9zaXRpb24oaXRlbS53aWR0aCAqICgwLjUgKyBpICsgc3RhcnRJbmRleCkgKyB0aGlzLnNwYWNlWCAqIChpICsgc3RhcnRJbmRleCkgKyB0aGlzLnBhZGRpbmdfbGVmdCwgLXRoaXMuY29udGVudC5oZWlnaHQgLyAyKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT0gTGlzdFR5cGUuR3JpZCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc3RhcnRBeGlzID09IFN0YXJ0QXhpc1R5cGUuVmVydGljYWwpIHtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgcm93ID0gTWF0aC5mbG9vcigoaSArIHN0YXJ0SW5kZXgpIC8gdGhpcy5ncmlkQ29sKTtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgY29sID0gKGkgKyBzdGFydEluZGV4KSAlIHRoaXMuZ3JpZENvbDtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnNldFBvc2l0aW9uKGl0ZW0ud2lkdGggKiAoMC41ICsgY29sKSArIHRoaXMuc3BhY2VYICogY29sICsgdGhpcy5wYWRkaW5nX2xlZnQsIC1pdGVtLmhlaWdodCAqICgwLjUgKyByb3cpIC0gdGhpcy5zcGFjZVkgKiByb3cgLSB0aGlzLnBhZGRpbmdfdG9wKTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc3RhcnRBeGlzID09IFN0YXJ0QXhpc1R5cGUuSG9yaXpvbnRhbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciByb3cgPSAoaSArIHN0YXJ0SW5kZXgpICUgdGhpcy5ncmlkUm93O1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBjb2wgPSBNYXRoLmZsb29yKChpICsgc3RhcnRJbmRleCkgLyB0aGlzLmdyaWRSb3cpO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uc2V0UG9zaXRpb24oaXRlbS53aWR0aCAqICgwLjUgKyBjb2wpICsgdGhpcy5zcGFjZVggKiBjb2wgKyB0aGlzLnBhZGRpbmdfbGVmdCwgLWl0ZW0uaGVpZ2h0ICogKDAuNSArIHJvdykgLSB0aGlzLnNwYWNlWSAqIHJvdyAtIHRoaXMucGFkZGluZ190b3ApO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0ub3BhY2l0eSA9IDI1NTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zY3JvbGxWaWV3LnNjcm9sbFRvT2Zmc2V0KG9mZnNldCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoq6I635Y+W5LiA5Liq5YiX6KGo6aG5ICovXHJcbiAgICBwcml2YXRlIGdldEl0ZW0oKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbVBvb2wubGVuZ3RoID09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIGNjLmluc3RhbnRpYXRlKHRoaXMuaXRlbVJlbmRlcik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXRlbVBvb2wucG9wKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZShkdCkge1xyXG4gICAgICAgIGlmICh0aGlzLmJTY3JvbGxpbmcgPT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnVwZGF0ZVRpbWVyICs9IGR0O1xyXG4gICAgICAgIGlmICh0aGlzLnVwZGF0ZVRpbWVyIDwgdGhpcy51cGRhdGVJbnRlcnZhbCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudXBkYXRlVGltZXIgPSAwO1xyXG4gICAgICAgIHRoaXMuYlNjcm9sbGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudXBkYXRlRnVuKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25TY3JvbGxpbmcoKSB7XHJcbiAgICAgICAgdGhpcy5iU2Nyb2xsaW5nID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKirlnoLnm7TmjpLliJcgKi9cclxuICAgIHByaXZhdGUgdXBkYXRlVigpIHtcclxuICAgICAgICBsZXQgaXRlbXMgPSB0aGlzLml0ZW1MaXN0O1xyXG4gICAgICAgIGxldCBpdGVtO1xyXG4gICAgICAgIGxldCBidWZmZXJab25lID0gdGhpcy5oYWxmU2Nyb2xsVmlldztcclxuICAgICAgICBsZXQgaXNVcCA9IHRoaXMuc2Nyb2xsVmlldy5jb250ZW50LnkgPiB0aGlzLmxhc3RDb250ZW50UG9zWTtcclxuICAgICAgICBsZXQgb2Zmc2V0ID0gKHRoaXMuaXRlbUhlaWdodCArIHRoaXMuc3BhY2VZKSAqIGl0ZW1zLmxlbmd0aDtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1tpXTtcclxuICAgICAgICAgICAgbGV0IHZpZXdQb3MgPSB0aGlzLmdldFBvc2l0aW9uSW5WaWV3KGl0ZW0pO1xyXG4gICAgICAgICAgICBpZiAoaXNVcCkge1xyXG4gICAgICAgICAgICAgICAgLy9pdGVt5LiK5ruR5pe277yM6LaF5Ye65LqGc2Nyb2xsVmlld+S4iui+ueeVjO+8jOWwhml0ZW3np7vliqjliLDkuIvmlrnlpI3nlKjvvIxpdGVt56e75Yqo5Yiw5LiL5pa555qE5L2N572u5b+F6aG75LiN6LaF6L+HY29udGVudOeahOS4i+i+ueeVjFxyXG4gICAgICAgICAgICAgICAgaWYgKHZpZXdQb3MueSA+IGJ1ZmZlclpvbmUgJiYgaXRlbS55IC0gb2Zmc2V0IC0gdGhpcy5wYWRkaW5nX2J1dHRvbSA+IC10aGlzLmNvbnRlbnQuaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1SZW5kZXI6IEl0ZW1SZW5kZXIgPSBpdGVtLmdldENvbXBvbmVudChJdGVtUmVuZGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbUluZGV4ID0gaXRlbVJlbmRlci5pdGVtSW5kZXggKyBpdGVtcy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhID0gdGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGFDaGFuZ2VkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS55ID0gaXRlbS55IC0gb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy9pdGVt5LiL5ruR5pe277yM6LaF5Ye65LqGc2Nyb2xsVmlld+S4i+i+ueeVjO+8jOWwhml0ZW3np7vliqjliLDkuIrmlrnlpI3nlKjvvIxpdGVt56e75Yqo5Yiw5LiK5pa555qE5L2N572u5b+F6aG75LiN6LaF6L+HY29udGVudOeahOS4iui+ueeVjFxyXG4gICAgICAgICAgICAgICAgaWYgKHZpZXdQb3MueSA8IC1idWZmZXJab25lICYmIGl0ZW0ueSArIG9mZnNldCArIHRoaXMucGFkZGluZ190b3AgPCAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1SZW5kZXI6IEl0ZW1SZW5kZXIgPSBpdGVtLmdldENvbXBvbmVudChJdGVtUmVuZGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbUluZGV4ID0gaXRlbVJlbmRlci5pdGVtSW5kZXggLSBpdGVtcy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhID0gdGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGFDaGFuZ2VkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS55ID0gaXRlbS55ICsgb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubGFzdENvbnRlbnRQb3NZID0gdGhpcy5zY3JvbGxWaWV3LmNvbnRlbnQueTtcclxuICAgIH1cclxuXHJcbiAgICAvKirmsLTlubPmjpLliJcgKi9cclxuICAgIHByaXZhdGUgdWRwYXRlSCgpIHtcclxuICAgICAgICBsZXQgaXRlbXMgPSB0aGlzLml0ZW1MaXN0O1xyXG4gICAgICAgIGxldCBpdGVtO1xyXG4gICAgICAgIGxldCBidWZmZXJab25lID0gdGhpcy5oYWxmU2Nyb2xsVmlldztcclxuICAgICAgICBsZXQgaXNSaWdodCA9IHRoaXMuc2Nyb2xsVmlldy5jb250ZW50LnggPiB0aGlzLmxhc3RDb250ZW50UG9zWDtcclxuICAgICAgICBsZXQgb2Zmc2V0ID0gKHRoaXMuaXRlbVdpZHRoICsgdGhpcy5zcGFjZVgpICogaXRlbXMubGVuZ3RoO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaXRlbSA9IGl0ZW1zW2ldO1xyXG4gICAgICAgICAgICBsZXQgdmlld1BvcyA9IHRoaXMuZ2V0UG9zaXRpb25JblZpZXcoaXRlbSk7XHJcbiAgICAgICAgICAgIGlmIChpc1JpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAvL2l0ZW3lj7Pmu5Hml7bvvIzotoXlh7rkuoZzY3JvbGxWaWV35Y+z6L6555WM77yM5bCGaXRlbeenu+WKqOWIsOW3puaWueWkjeeUqO+8jGl0ZW3np7vliqjliLDlt6bmlrnnmoTkvY3nva7lv4XpobvkuI3otoXov4djb250ZW5055qE5bem6L6555WMXHJcbiAgICAgICAgICAgICAgICBpZiAodmlld1Bvcy54ID4gYnVmZmVyWm9uZSAmJiBpdGVtLnggLSBvZmZzZXQgLSB0aGlzLnBhZGRpbmdfbGVmdCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbVJlbmRlcjogSXRlbVJlbmRlciA9IGl0ZW0uZ2V0Q29tcG9uZW50KEl0ZW1SZW5kZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtSW5kZXggPSBpdGVtUmVuZGVyLml0ZW1JbmRleCAtIGl0ZW1zLmxlbmd0aDtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLml0ZW1JbmRleCA9IGl0ZW1JbmRleDtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGEgPSB0aGlzLml0ZW1EYXRhTGlzdFtpdGVtSW5kZXhdO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuZGF0YUNoYW5nZWQoKTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnggPSBpdGVtLnggLSBvZmZzZXQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvL2l0ZW3lt6bmu5Hml7bvvIzotoXlh7rkuoZzY3JvbGxWaWV35bem6L6555WM77yM5bCGaXRlbeenu+WKqOWIsOWPs+aWueWkjeeUqO+8jGl0ZW3np7vliqjliLDlj7PmlrnnmoTkvY3nva7lv4XpobvkuI3otoXov4djb250ZW5055qE5Y+z6L6555WMXHJcbiAgICAgICAgICAgICAgICBpZiAodmlld1Bvcy54IDwgLWJ1ZmZlclpvbmUgJiYgaXRlbS54ICsgb2Zmc2V0ICsgdGhpcy5wYWRkaW5nX3JpZ2h0IDwgdGhpcy5jb250ZW50LndpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1SZW5kZXI6IEl0ZW1SZW5kZXIgPSBpdGVtLmdldENvbXBvbmVudChJdGVtUmVuZGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbUluZGV4ID0gaXRlbVJlbmRlci5pdGVtSW5kZXggKyBpdGVtcy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhID0gdGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGFDaGFuZ2VkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS54ID0gaXRlbS54ICsgb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubGFzdENvbnRlbnRQb3NYID0gdGhpcy5zY3JvbGxWaWV3LmNvbnRlbnQueDtcclxuICAgIH1cclxuXHJcbiAgICAvKirnvZHmoLzlnoLnm7TmjpLliJcgKi9cclxuICAgIHByaXZhdGUgdXBkYXRlR3JpZF9WKCkge1xyXG4gICAgICAgIGxldCBpdGVtcyA9IHRoaXMuaXRlbUxpc3Q7XHJcbiAgICAgICAgbGV0IGl0ZW06IGNjLk5vZGU7XHJcbiAgICAgICAgbGV0IGJ1ZmZlclpvbmUgPSB0aGlzLmhhbGZTY3JvbGxWaWV3O1xyXG4gICAgICAgIGxldCBpc1VwID0gdGhpcy5zY3JvbGxWaWV3LmNvbnRlbnQueSA+IHRoaXMubGFzdENvbnRlbnRQb3NZO1xyXG4gICAgICAgIGxldCBvZmZzZXQgPSAodGhpcy5pdGVtSGVpZ2h0ICsgdGhpcy5zcGFjZVkpICogKHRoaXMuc3Bhd25Db3VudCAvIHRoaXMuZ3JpZENvbCk7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBpdGVtID0gaXRlbXNbaV07XHJcbiAgICAgICAgICAgIGxldCB2aWV3UG9zID0gdGhpcy5nZXRQb3NpdGlvbkluVmlldyhpdGVtKTtcclxuICAgICAgICAgICAgaWYgKGlzVXApIHtcclxuICAgICAgICAgICAgICAgIC8vaXRlbeS4iua7keaXtu+8jOi2heWHuuS6hnNjcm9sbFZpZXfkuIrovrnnlYzvvIzlsIZpdGVt56e75Yqo5Yiw5LiL5pa55aSN55So77yMaXRlbeenu+WKqOWIsOS4i+aWueeahOS9jee9ruW/hemhu+S4jei2hei/h2NvbnRlbnTnmoTkuIvovrnnlYxcclxuICAgICAgICAgICAgICAgIGlmICh2aWV3UG9zLnkgPiBidWZmZXJab25lICYmIGl0ZW0ueSAtIG9mZnNldCAtIHRoaXMucGFkZGluZ19idXR0b20gPiAtdGhpcy5jb250ZW50LmhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtUmVuZGVyOiBJdGVtUmVuZGVyID0gaXRlbS5nZXRDb21wb25lbnQoSXRlbVJlbmRlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1JbmRleCA9IGl0ZW1SZW5kZXIuaXRlbUluZGV4ICsgKHRoaXMuc3Bhd25Db3VudCAvIHRoaXMuZ3JpZENvbCkgKiB0aGlzLmdyaWRDb2w7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXRlbURhdGFMaXN0W2l0ZW1JbmRleF0gIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnkgPSBpdGVtLnkgLSBvZmZzZXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuaXRlbUluZGV4ID0gaXRlbUluZGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGEgPSB0aGlzLml0ZW1EYXRhTGlzdFtpdGVtSW5kZXhdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGFDaGFuZ2VkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub3BhY2l0eSA9IDI1NTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnkgPSBpdGVtLnkgLSBvZmZzZXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuaXRlbUluZGV4ID0gaXRlbUluZGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHsvL2l0ZW3kuIvmu5Hml7bvvIzotoXlh7rkuoZzY3JvbGxWaWV35LiL6L6555WM77yM5bCGaXRlbeenu+WKqOWIsOS4iuaWueWkjeeUqO+8jGl0ZW3np7vliqjliLDkuIrmlrnnmoTkvY3nva7lv4XpobvkuI3otoXov4djb250ZW5055qE5LiK6L6555WMXHJcbiAgICAgICAgICAgICAgICBpZiAodmlld1Bvcy55IDwgLWJ1ZmZlclpvbmUgJiYgaXRlbS55ICsgb2Zmc2V0ICsgdGhpcy5wYWRkaW5nX3RvcCA8IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbVJlbmRlcjogSXRlbVJlbmRlciA9IGl0ZW0uZ2V0Q29tcG9uZW50KEl0ZW1SZW5kZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtSW5kZXggPSBpdGVtUmVuZGVyLml0ZW1JbmRleCAtICh0aGlzLnNwYXduQ291bnQgLyB0aGlzLmdyaWRDb2wpICogdGhpcy5ncmlkQ29sO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLml0ZW1EYXRhTGlzdFtpdGVtSW5kZXhdICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS55ID0gaXRlbS55ICsgb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLml0ZW1JbmRleCA9IGl0ZW1JbmRleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhID0gdGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhQ2hhbmdlZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS55ID0gaXRlbS55ICsgb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLml0ZW1JbmRleCA9IGl0ZW1JbmRleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5sYXN0Q29udGVudFBvc1kgPSB0aGlzLnNjcm9sbFZpZXcuY29udGVudC55O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKue9keagvOawtOW5s+aOkuWIlyAqL1xyXG4gICAgcHJpdmF0ZSB1cGRhdGVHcmlkX0goKSB7XHJcbiAgICAgICAgbGV0IGl0ZW1zID0gdGhpcy5pdGVtTGlzdDtcclxuICAgICAgICBsZXQgaXRlbTtcclxuICAgICAgICBsZXQgYnVmZmVyWm9uZSA9IHRoaXMuaGFsZlNjcm9sbFZpZXc7XHJcbiAgICAgICAgbGV0IGlzUmlnaHQgPSB0aGlzLnNjcm9sbFZpZXcuY29udGVudC54ID4gdGhpcy5sYXN0Q29udGVudFBvc1g7XHJcbiAgICAgICAgbGV0IG9mZnNldCA9ICh0aGlzLml0ZW1XaWR0aCArIHRoaXMuc3BhY2VYKSAqICh0aGlzLnNwYXduQ291bnQgLyB0aGlzLmdyaWRSb3cpO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaXRlbSA9IGl0ZW1zW2ldO1xyXG4gICAgICAgICAgICBsZXQgdmlld1BvcyA9IHRoaXMuZ2V0UG9zaXRpb25JblZpZXcoaXRlbSk7XHJcbiAgICAgICAgICAgIGlmIChpc1JpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAvL2l0ZW3lj7Pmu5Hml7bvvIzotoXlh7rkuoZzY3JvbGxWaWV35Y+z6L6555WM77yM5bCGaXRlbeenu+WKqOWIsOW3puaWueWkjeeUqO+8jGl0ZW3np7vliqjliLDlt6bmlrnnmoTkvY3nva7lv4XpobvkuI3otoXov4djb250ZW5055qE5bem6L6555WMXHJcbiAgICAgICAgICAgICAgICBpZiAodmlld1Bvcy54ID4gYnVmZmVyWm9uZSAmJiBpdGVtLnggLSBvZmZzZXQgLSB0aGlzLnBhZGRpbmdfbGVmdCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbVJlbmRlcjogSXRlbVJlbmRlciA9IGl0ZW0uZ2V0Q29tcG9uZW50KEl0ZW1SZW5kZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtSW5kZXggPSBpdGVtUmVuZGVyLml0ZW1JbmRleCAtICh0aGlzLnNwYXduQ291bnQgLyB0aGlzLmdyaWRSb3cpICogdGhpcy5ncmlkUm93O1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLml0ZW1EYXRhTGlzdFtpdGVtSW5kZXhdICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS54ID0gaXRlbS54IC0gb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLml0ZW1JbmRleCA9IGl0ZW1JbmRleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhID0gdGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhQ2hhbmdlZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS54ID0gaXRlbS54IC0gb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLml0ZW1JbmRleCA9IGl0ZW1JbmRleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvL2l0ZW3lt6bmu5Hml7bvvIzotoXlh7rkuoZzY3JvbGxWaWV35bem6L6555WM77yM5bCGaXRlbeenu+WKqOWIsOWPs+aWueWkjeeUqO+8jGl0ZW3np7vliqjliLDlj7PmlrnnmoTkvY3nva7lv4XpobvkuI3otoXov4djb250ZW5055qE5Y+z6L6555WMXHJcbiAgICAgICAgICAgICAgICBpZiAodmlld1Bvcy54IDwgLWJ1ZmZlclpvbmUgJiYgaXRlbS54ICsgb2Zmc2V0ICsgdGhpcy5wYWRkaW5nX3JpZ2h0IDwgdGhpcy5jb250ZW50LndpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1SZW5kZXI6IEl0ZW1SZW5kZXIgPSBpdGVtLmdldENvbXBvbmVudChJdGVtUmVuZGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbUluZGV4ID0gaXRlbVJlbmRlci5pdGVtSW5kZXggKyAodGhpcy5zcGF3bkNvdW50IC8gdGhpcy5ncmlkUm93KSAqIHRoaXMuZ3JpZFJvdztcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ueCA9IGl0ZW0ueCArIG9mZnNldDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuZGF0YSA9IHRoaXMuaXRlbURhdGFMaXN0W2l0ZW1JbmRleF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuZGF0YUNoYW5nZWQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ueCA9IGl0ZW0ueCArIG9mZnNldDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubGFzdENvbnRlbnRQb3NYID0gdGhpcy5zY3JvbGxWaWV3LmNvbnRlbnQueDtcclxuICAgIH1cclxuXHJcbiAgICAvKirojrflj5ZpdGVt5Zyoc2Nyb2xsVmlld+eahOWxgOmDqOWdkOaghyAqL1xyXG4gICAgcHJpdmF0ZSBnZXRQb3NpdGlvbkluVmlldyhpdGVtKSB7XHJcbiAgICAgICAgbGV0IHdvcmxkUG9zID0gaXRlbS5wYXJlbnQuY29udmVydFRvV29ybGRTcGFjZUFSKGl0ZW0ucG9zaXRpb24pO1xyXG4gICAgICAgIGxldCB2aWV3UG9zID0gdGhpcy5zY3JvbGxWaWV3Lm5vZGUuY29udmVydFRvTm9kZVNwYWNlQVIod29ybGRQb3MpO1xyXG4gICAgICAgIHJldHVybiB2aWV3UG9zO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKuiOt+WPluWIl+ihqOaVsOaNriAqL1xyXG4gICAgcHVibGljIGdldExpc3REYXRhKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1EYXRhTGlzdDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOWinuWKoOS4gOmhueaVsOaNruWIsOWIl+ihqOeahOacq+WwvlxyXG4gICAgICogQHBhcmFtIGRhdGEg5pWw5o2uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhZGRJdGVtKGRhdGE6IGFueSkge1xyXG4gICAgICAgIHRoaXMuaXRlbURhdGFMaXN0LnB1c2goZGF0YSk7XHJcbiAgICAgICAgdGhpcy51cGRhdGVDb250ZW50KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDlop7liqDkuIDpobnmlbDmja7liLDliJfooajmjIflrprkvY3nva5cclxuICAgICAqIEBwYXJhbSBpbmRleCAgIOS9jee9ru+8jDDooajnpLrnrKwx6aG5XHJcbiAgICAgKiBAcGFyYW0gZGF0YSAg5pWw5o2uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhZGRJdGVtQXQoaW5kZXg6IG51bWJlciwgZGF0YTogYW55KSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbURhdGFMaXN0W2luZGV4XSAhPSBudWxsIHx8IHRoaXMuaXRlbURhdGFMaXN0Lmxlbmd0aCA9PSBpbmRleCkge1xyXG4gICAgICAgICAgICB0aGlzLml0ZW1EYXRhTGlzdC5zcGxpY2UoaW5kZXgsIDEsIGRhdGEpO1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNvbnRlbnQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDliKDpmaTkuIDpobnmlbDmja5cclxuICAgICAqIEBwYXJhbSBpbmRleCDliKDpmaTpobnnmoTkvY3nva4gLDDooajnpLrnrKwx6aG5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBkZWxldGVJdGVtKGluZGV4OiBudW1iZXIpIHtcclxuICAgICAgICBpZiAodGhpcy5pdGVtRGF0YUxpc3RbaW5kZXhdICE9IG51bGwpIHtcclxuICAgICAgICAgICAgdGhpcy5pdGVtRGF0YUxpc3Quc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVDb250ZW50KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5pS55Y+Y5LiA6aG55pWw5o2uXHJcbiAgICAgKiBAcGFyYW0gaW5kZXggICDkvY3nva4sMOihqOekuuesrDHpoblcclxuICAgICAqIEBwYXJhbSBkYXRhICDmm7/mjaLnmoTmlbDmja5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNoYW5nZUl0ZW0oaW5kZXg6IG51bWJlciwgZGF0YTogYW55KSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbURhdGFMaXN0W2luZGV4XSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXRlbURhdGFMaXN0W2luZGV4XSA9IGRhdGE7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29udGVudCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKirojrflj5bnrKzkuIDkuKpJdGVt55qE5L2N572uICovXHJcbiAgICBwcml2YXRlIHVwZGF0ZUNvbnRlbnQoKSB7XHJcbiAgICAgICAgLy/mmL7npLrliJfooajlrp7kvovkuLow5LiqXHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbUxpc3QubGVuZ3RoID09IDApIHtcclxuICAgICAgICAgICAgdGhpcy5jb3VudExpc3RQYXJhbSgpO1xyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUxpc3QoMCwgbmV3IGNjLlZlYzIoMCwgMCkpO1xyXG4gICAgICAgICAgICAvL+aYvuekuuWIl+ihqOeahOWunuS+i+S4jeS4ujDkuKrvvIzliJnpnIDopoHph43mlrDmjpLliJdpdGVt5a6e5L6L5pWw57uEXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5WZXJ0aWNhbCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtTGlzdC5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBiLnkgLSBhLnk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT0gTGlzdFR5cGUuSG9yaXpvbnRhbCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtTGlzdC5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhLnggLSBiLng7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT0gTGlzdFR5cGUuR3JpZCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc3RhcnRBeGlzID09IFN0YXJ0QXhpc1R5cGUuVmVydGljYWwpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLml0ZW1MaXN0LnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhLnggLSBiLng7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtTGlzdC5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYi55IC0gYS55O1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnN0YXJ0QXhpcyA9PSBTdGFydEF4aXNUeXBlLkhvcml6b250YWwpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLml0ZW1MaXN0LnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBiLnkgLSBhLnk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtTGlzdC5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYS54IC0gYi54O1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLmNvdW50TGlzdFBhcmFtKCk7XHJcblxyXG4gICAgICAgICAgICAvL+iOt+WPluesrOS4gOS4qml0ZW3lrp7kvovpnIDopoHmmL7npLrnmoTmlbDmja7ntKLlvJVcclxuICAgICAgICAgICAgdmFyIHN0YXJ0SW5kZXggPSB0aGlzLml0ZW1MaXN0WzBdLmdldENvbXBvbmVudChJdGVtUmVuZGVyKS5pdGVtSW5kZXg7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQgJiYgdGhpcy5zdGFydEF4aXMgPT0gU3RhcnRBeGlzVHlwZS5WZXJ0aWNhbCkge1xyXG4gICAgICAgICAgICAgICAgc3RhcnRJbmRleCArPSAoc3RhcnRJbmRleCArIHRoaXMuc3Bhd25Db3VudCkgJSB0aGlzLmdyaWRDb2w7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQgJiYgdGhpcy5zdGFydEF4aXMgPT0gU3RhcnRBeGlzVHlwZS5Ib3Jpem9udGFsKSB7XHJcbiAgICAgICAgICAgICAgICBzdGFydEluZGV4ICs9IChzdGFydEluZGV4ICsgdGhpcy5zcGF3bkNvdW50KSAlIHRoaXMuZ3JpZFJvdztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy9nZXRTY3JvbGxPZmZzZXQoKeWSjHNjcm9sbFRvT2Zmc2V0KCnnmoR45YC85piv55u45Y+N55qEXHJcbiAgICAgICAgICAgIHZhciBvZmZzZXQ6IGNjLlZlYzIgPSB0aGlzLnNjcm9sbFZpZXcuZ2V0U2Nyb2xsT2Zmc2V0KCk7XHJcbiAgICAgICAgICAgIG9mZnNldC54ID0gLSBvZmZzZXQueDtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlTGlzdChzdGFydEluZGV4LCBvZmZzZXQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKirplIDmr4EgKi9cclxuICAgIHB1YmxpYyBvbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgLy/muIXnkIbliJfooajpoblcclxuICAgICAgICBsZXQgbGVuID0gdGhpcy5pdGVtTGlzdC5sZW5ndGg7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoY2MuaXNWYWxpZCh0aGlzLml0ZW1MaXN0W2ldLCB0cnVlKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtTGlzdFtpXS5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5pdGVtTGlzdC5sZW5ndGggPSAwO1xyXG4gICAgICAgIC8v5riF55CG5a+56LGh5rGgXHJcbiAgICAgICAgbGVuID0gdGhpcy5pdGVtUG9vbC5sZW5ndGg7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoY2MuaXNWYWxpZCh0aGlzLml0ZW1Qb29sW2ldLCB0cnVlKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtUG9vbFtpXS5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5pdGVtUG9vbC5sZW5ndGggPSAwO1xyXG4gICAgICAgIC8v5riF55CG5YiX6KGo5pWw5o2uXHJcbiAgICAgICAgdGhpcy5pdGVtRGF0YUxpc3QubGVuZ3RoID0gMDtcclxuICAgIH1cclxufVxyXG4iXX0= //------QC-SOURCE-SPLIT------ diff --git a/temp/quick-scripts/dst/__quick_compile__.js b/temp/quick-scripts/dst/__quick_compile__.js index 8ff1ea7..48063d1 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":1,"./assets/Script/GameManager":5,"./assets/Script/GameOver":6,"./assets/Script/GameScene":8,"./assets/Script/Load":12,"./assets/Script/Map":7,"./assets/Script/RankManager":9,"./assets/Script/Block":10,"./assets/migration/use_v2.1-2.2.1_cc.Toggle_event":4,"./assets/Script/ControlManager":13,"./assets/Script/module/Crypto/crypto-js.min":27,"./assets/Script/module/Crypto/HttpUtil":17,"./assets/Script/module/GameStart/GameAppStart":20,"./assets/Script/module/Music/AudioManager":23,"./assets/Script/module/Notification/Notification":18,"./assets/Script/module/RankList/List":19,"./assets/Script/module/RankList/ItemRender":26,"./assets/Script/module/Share/share":22,"./assets/Script/module/Storage/Storage":24,"./assets/Script/module/Tool/GameTool":21,"./assets/Script/module/Config/GameConfig":25,"./tiledmap-optimize-resource/Script/TmoSprite":2,"./tiledmap-optimize-resource/Script/TmoTiledLayer":11,"./tiledmap-optimize-resource/Script/TmoTiledMap":16,"./tiledmap-optimize-resource/Script/TmoAssembler":15,"./tiledmap-optimize-resource/Script/TmoObjectGroup":14,"./assets/TmoDemo/Script/TmoGame":3},"path":"preview-scripts/__qc_index__.js"},{"deps":{},"path":"preview-scripts/assets/Script/DynamicAtlasManager.js"},{"deps":{"./TmoAssembler":15},"path":"preview-scripts/tiledmap-optimize-resource/Script/TmoSprite.js"},{"deps":{},"path":"preview-scripts/assets/TmoDemo/Script/TmoGame.js"},{"deps":{},"path":"preview-scripts/assets/migration/use_v2.1-2.2.1_cc.Toggle_event.js"},{"deps":{"./Block":10},"path":"preview-scripts/assets/Script/GameManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/GameOver.js"},{"deps":{},"path":"preview-scripts/assets/Script/Map.js"},{"deps":{},"path":"preview-scripts/assets/Script/GameScene.js"},{"deps":{"./module/RankList/List":19},"path":"preview-scripts/assets/Script/RankManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/Block.js"},{"deps":{},"path":"preview-scripts/tiledmap-optimize-resource/Script/TmoTiledLayer.js"},{"deps":{},"path":"preview-scripts/assets/Script/Load.js"},{"deps":{},"path":"preview-scripts/assets/Script/ControlManager.js"},{"deps":{"./TmoSprite":2},"path":"preview-scripts/tiledmap-optimize-resource/Script/TmoObjectGroup.js"},{"deps":{},"path":"preview-scripts/tiledmap-optimize-resource/Script/TmoAssembler.js"},{"deps":{"./TmoTiledLayer":11,"./TmoObjectGroup":14},"path":"preview-scripts/tiledmap-optimize-resource/Script/TmoTiledMap.js"},{"deps":{"./crypto-js.min.js":27},"path":"preview-scripts/assets/Script/module/Crypto/HttpUtil.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Notification/Notification.js"},{"deps":{"./ItemRender":26},"path":"preview-scripts/assets/Script/module/RankList/List.js"},{"deps":{"../Config/GameConfig":25,"../Crypto/HttpUtil":17,"../Music/AudioManager":23,"../Notification/Notification":18,"../Storage/Storage":24,"../Tool/GameTool":21},"path":"preview-scripts/assets/Script/module/GameStart/GameAppStart.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Tool/GameTool.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Share/share.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Music/AudioManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Storage/Storage.js"},{"deps":{},"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/module/Crypto/crypto-js.min.js"}]; +var scripts = [{"deps":{"./assets/Script/GameScene":1,"./tiledmap-optimize-resource/Script/TmoTiledLayer":2,"./assets/TmoDemo/Script/TmoGame":3,"./assets/migration/use_v2.1-2.2.1_cc.Toggle_event":4,"./assets/Script/RankManager":5,"./assets/Script/DynamicAtlasManager":6,"./assets/Script/GameOver":7,"./assets/Script/ControlManager":8,"./assets/Script/Map":9,"./assets/Script/Load":10,"./assets/Script/GameManager":11,"./tiledmap-optimize-resource/Script/TmoTiledMap":12,"./assets/Script/module/GameStart/GameAppStart":13,"./assets/Script/Block":14,"./tiledmap-optimize-resource/Script/TmoObjectGroup":15,"./tiledmap-optimize-resource/Script/TmoSprite":16,"./tiledmap-optimize-resource/Script/TmoAssembler":17,"./assets/Script/module/Crypto/HttpUtil":18,"./assets/Script/module/Storage/Storage":19,"./assets/Script/module/RankList/ItemRender":20,"./assets/Script/module/Share/share":21,"./assets/Script/module/Music/AudioManager":22,"./assets/Script/module/Notification/Notification":23,"./assets/Script/module/Tool/GameTool":24,"./assets/Script/module/Config/GameConfig":25,"./assets/Script/module/Crypto/crypto-js.min":26,"./assets/Script/module/RankList/List":27},"path":"preview-scripts/__qc_index__.js"},{"deps":{},"path":"preview-scripts/assets/Script/GameScene.js"},{"deps":{},"path":"preview-scripts/tiledmap-optimize-resource/Script/TmoTiledLayer.js"},{"deps":{},"path":"preview-scripts/assets/TmoDemo/Script/TmoGame.js"},{"deps":{},"path":"preview-scripts/assets/migration/use_v2.1-2.2.1_cc.Toggle_event.js"},{"deps":{"./module/RankList/List":27},"path":"preview-scripts/assets/Script/RankManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/DynamicAtlasManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/GameOver.js"},{"deps":{},"path":"preview-scripts/assets/Script/ControlManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/Map.js"},{"deps":{},"path":"preview-scripts/assets/Script/Load.js"},{"deps":{"./Block":14},"path":"preview-scripts/assets/Script/GameManager.js"},{"deps":{"./TmoTiledLayer":2,"./TmoObjectGroup":15},"path":"preview-scripts/tiledmap-optimize-resource/Script/TmoTiledMap.js"},{"deps":{"../Config/GameConfig":25,"../Crypto/HttpUtil":18,"../Music/AudioManager":22,"../Notification/Notification":23,"../Storage/Storage":19,"../Tool/GameTool":24},"path":"preview-scripts/assets/Script/module/GameStart/GameAppStart.js"},{"deps":{},"path":"preview-scripts/assets/Script/Block.js"},{"deps":{"./TmoSprite":16},"path":"preview-scripts/tiledmap-optimize-resource/Script/TmoObjectGroup.js"},{"deps":{"./TmoAssembler":17},"path":"preview-scripts/tiledmap-optimize-resource/Script/TmoSprite.js"},{"deps":{},"path":"preview-scripts/tiledmap-optimize-resource/Script/TmoAssembler.js"},{"deps":{"./crypto-js.min.js":26},"path":"preview-scripts/assets/Script/module/Crypto/HttpUtil.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Storage/Storage.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/RankList/ItemRender.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Share/share.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Music/AudioManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Notification/Notification.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Tool/GameTool.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Config/GameConfig.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Crypto/crypto-js.min.js"},{"deps":{"./ItemRender":20},"path":"preview-scripts/assets/Script/module/RankList/List.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 20bbc8e..37a42af 100644 --- a/temp/quick-scripts/dst/assets/Script/Block.js +++ b/temp/quick-scripts/dst/assets/Script/Block.js @@ -87,64 +87,240 @@ var NewClass = /** @class */ (function (_super) { 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) { + NewClass.prototype.initData = function (type, pos, max) { this.block_Type = type; + this.pos = cc.v2(pos.x, pos.y); if (type == cc.Enum(BlockType).Start) { - this.node.color = cc.color(245, 70, 70); + var bg = this.node.getChildByName("sp"); + // this.node.getComponent(cc.Sprite).spriteFrame = null; + bg.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["start"]; + this.rotateTarget(bg, "start", pos, max); } else if (type == cc.Enum(BlockType).End) { - this.node.color = cc.color(20, 255, 0); + var bg = this.node.getChildByName("sp"); + // this.node.getComponent(cc.Sprite).spriteFrame = null; + bg.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["end"]; + this.rotateTarget(bg, "end", pos, max); } else if (type == cc.Enum(BlockType).Nunja) { - this.node.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e5"]; + 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.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; + this.node.getChildByName("bg").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; + this.node.getComponent(cc.Sprite).spriteFrame = null; + } + }; + //旋转入海口和出海口的 图片以及文字角度 + 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_SoilType = function (direction, end) { + //设置息壤在起点 + 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" ? -90 : 0; + water.angle = direction == "up" ? -90 : 0; + } + 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); + console.log("息壤", direction, name, this.block_Type); + 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.set_Xi_Soil(direction, true); + } setTimeout(function () { - cc.fx.Notifications.emit(cc.fx.Message.next, (end + 1)); - }, 1000); + 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 { } - this.block_Type = cc.Enum(BlockType).Xi_Soil; var target = this.node.getChildByName("Xi_Soil"); this.path_Type = direction; target.active = true; target.opacity = 0; cc.tween(target) - .to(0.5, { opacity: 255 }) - .to(0.5, { opacity: 0 }) + .to(0.1, { opacity: 255 }) + .to(0.1, { opacity: 0 }) .call(function () { if (direction != null && end == null) { var data = { order: 0, - time: 0.2, + time: cc.fx.GameConfig.TIME_INFO.waterSpeed[0], type: 0, circulate: false }; - _this.runWater(data); + if (name == "water") { + _this.runWater(data); + } + else + _this.runRoad(data); } }) .start(); }; - //洪峰执行 - NewClass.prototype.runWater = function (data) { + //修筑路线执行 + NewClass.prototype.runRoad = function (data) { if (this.path_Type == "err") { setTimeout(function () { if (data.circulate) @@ -153,12 +329,228 @@ var NewClass = /** @class */ (function (_super) { return; } //如果双向都占用了还进来就算死了- + if (this.node.getChildByName("vertical2").active == true && this.node.getChildByName("horizontal2").active == true) { + alert("河道已经交叉,不能再通过"); + cc.director.loadScene("GameScene"); + return; + } + else if (this.node.getChildByName("turn2").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil) { + alert("河道过弯处,不能再交叉河道"); + 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("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).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.x - posTemp.x == -1) { + direction = "down"; + } + // console.log("方向:",direction); + this.set_Xi_Soil(direction, true); + // alert("治水成功"); + // target = this.node.getChildByName("End"); + // target.active = true; + // target.opacity = 0; + // cc.tween(target) + // .to(0.5,{opacity:255}) + // .call(() =>{ + // console.log("游戏结束"); + // // if(data.circulate) + // // cc.fx.Notifications.emit(cc.fx.Message.next,order); + // }) + // .start(); + } + 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.director.loadScene("GameScene"); return; } else if (this.node.getChildByName("turn").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil) { alert("河道过弯处,不能再交叉河道"); + cc.director.loadScene("GameScene"); return; } var target = null; @@ -167,23 +559,38 @@ var NewClass = /** @class */ (function (_super) { var order = data.order + 1; var random = Math.floor(Math.random() * 4 + 1); target = this.node.getChildByName("vertical"); - var water1 = target.getChildByName("wave").getChildByName("water1"); - var water2 = target.getChildByName("wave").getChildByName("water2"); - var water3 = target.getChildByName("wave").getChildByName("water3"); - var timeDelay = 0.15; - water1.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water1.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { - water1.y = -120; - })).repeatForever()); - water2.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water2.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { - water2.y = -120; - })).repeatForever()); - water3.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water3.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { - water3.y = -120; - })).repeatForever()); + 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(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]; } @@ -205,12 +612,14 @@ var NewClass = /** @class */ (function (_super) { } else { target = this.node.getChildByName("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); + 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; @@ -249,78 +658,79 @@ var NewClass = /** @class */ (function (_super) { target.setPosition(-this.pos_Shifting, -this.pos_Shifting); } } - if (this.path_Type == "Reinforce") { - console.log(data.order); - target = this.node.getChildByName("Reinforce"); - this.block_Type = cc.Enum(BlockType).Reinforce; - this.node.getChildByName("vertical").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e1"]; - this.node.getChildByName("turn").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e3"]; - this.node.getChildByName("horizontal").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e2"]; - target.active = true; - target.opacity = 0; - progress = 1; - cc.tween(target) - .to(time, { 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") { + // if(this.path_Type == "Reinforce"){ + // target = this.node.getChildByName("Reinforce"); + // this.block_Type = cc.Enum(BlockType).Reinforce; + // // this.node.getChildByName("vertical").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e1"]; + // // this.node.getChildByName("turn").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e3"]; + // // this.node.getChildByName("horizontal").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(() =>{ + // if(data.circulate) + // cc.fx.Notifications.emit(cc.fx.Message.changeMap,order); + // cc.fx.Notifications.emit(cc.fx.Message.nextWater,order); + // }) + // .start(); + // } + // else if(this.path_Type == "Xi_Soil"){ + // target.active = false; + // 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(() =>{ + // if(data.circulate){ + // cc.fx.Notifications.emit(cc.fx.Message.nextWater,order); + // } + // }) + // .start(); + // } + if (this.path_Type == "End") { target.active = false; - 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.5, { opacity: 255 }) - .to(0.5, { 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; - this.block_Type = cc.Enum(BlockType).Xi_Soil; - target = this.node.getChildByName("End"); - target.active = true; - target.opacity = 0; - cc.tween(target) - .to(0.5, { opacity: 255 }) - .call(function () { - console.log("游戏结束"); - // if(data.circulate) - // cc.fx.Notifications.emit(cc.fx.Message.next,order); - }) - .start(); + 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("治水成功"); + if (cc.fx.GameConfig.GM_INFO.level < 7) { + cc.fx.GameConfig.GM_INFO.level += 1; + } + cc.director.loadScene("GameScene"); + }) + .start(); + } + } + else { + target = this.node.getChildByName("End"); + target.active = true; + target.opacity = 0; + cc.tween(target) + .to(0.5, { opacity: 255 }) + .call(function () { + alert("治水失败"); + cc.director.loadScene("GameScene"); + }) + .start(); + } } 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(); - } + 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([ @@ -344,4 +754,4 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxCbG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUUsSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFFMUMsSUFBWSxTQWdCWDtBQWhCRCxXQUFZLFNBQVM7SUFDakIsU0FBUztJQUNULDJDQUFTLENBQUE7SUFDVCxTQUFTO0lBQ1QsMkNBQVMsQ0FBQTtJQUNULE9BQU87SUFDUCwyQ0FBUyxDQUFBO0lBQ1QsT0FBTztJQUNQLHlDQUFRLENBQUE7SUFDUixTQUFTO0lBQ1QsdUNBQU8sQ0FBQTtJQUVQLE9BQU87SUFDUCwrQ0FBVyxDQUFBO0lBQ1gsT0FBTztJQUNQLG1EQUFhLENBQUE7QUFDakIsQ0FBQyxFQWhCVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQWdCcEI7QUFFRCxJQUFZLFFBY1g7QUFkRCxXQUFZLFFBQVE7SUFDaEIsdUJBQVcsQ0FBQTtJQUNYLHFCQUFTLENBQUE7SUFDVCx5QkFBYSxDQUFBO0lBQ2IseUJBQWEsQ0FBQTtJQUNiLDJCQUFlLENBQUE7SUFDZiwrQkFBbUIsQ0FBQTtJQUNuQixpQ0FBcUIsQ0FBQTtJQUNyQixtQ0FBdUIsQ0FBQTtJQUN2QixxQ0FBeUIsQ0FBQTtJQUN6QiwrQkFBbUIsQ0FBQTtJQUNuQixtQ0FBdUIsQ0FBQTtJQUN2QixpQ0FBcUIsQ0FBQTtJQUNyQixxQ0FBeUIsQ0FBQTtBQUM3QixDQUFDLEVBZFcsUUFBUSxHQUFSLGdCQUFRLEtBQVIsZ0JBQVEsUUFjbkI7QUFHRDtJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQTBRQztRQXpRRyx3QkFBd0I7UUFFeEIsUUFBRSxHQUFtQixJQUFJLENB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LENBQUM7cUJBQ3ZDLEVBQUUsQ0FBQyxJQUFJLEVBQUMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLENBQUM7cUJBQzdCLElBQUksQ0FBQztvQkFDRixJQUFHLElBQUksQ0FBQyxTQUFTO3dCQUNiLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzNELENBQUMsQ0FBQztxQkFDRCxLQUFLLEVBQUUsQ0FBQzthQUNaO2lCQUNHO2dCQUNBLE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO2dCQUNuQixNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO2dCQUM3QyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztxQkFDZixFQUFFLENBQUMsSUFBSSxFQUFDLEVBQUMsT0FBTyxFQUFDLEdBQUcsRUFBQyxDQUFDO3FCQUN0QixJQUFJLENBQUM7b0JBQ0YsSUFBRyxJQUFJLENBQUMsU0FBUzt3QkFDYixFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMzRCxDQUFDLENBQUM7cUJBQ0QsS0FBSyxFQUFFLENBQUM7YUFDWjtTQUNKO0lBRUwsQ0FBQztJQXBRRDtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDO3dDQUNDO0lBSFQsUUFBUTtRQUQ1QixPQUFPO09BQ2EsUUFBUSxDQTBRNUI7SUFBRCxlQUFDO0NBMVFELEFBMFFDLENBMVFxQyxFQUFFLENBQUMsU0FBUyxHQTBRakQ7a0JBMVFvQixRQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTGVhcm4gVHlwZVNjcmlwdDpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvdHlwZXNjcmlwdC5odG1sXHJcbi8vIExlYXJuIEF0dHJpYnV0ZTpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvcmVmZXJlbmNlL2F0dHJpYnV0ZXMuaHRtbFxyXG4vLyBMZWFybiBsaWZlLWN5Y2xlIGNhbGxiYWNrczpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvbGlmZS1jeWNsZS1jYWxsYmFja3MuaHRtbFxyXG5cclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5leHBvcnQgZW51bSBCbG9ja1R5cGV7XHJcbiAgICAvKuaZrumAmuWcsOWdlyAqL1xyXG4gICAgTm9tYWwgPSAwLCAgXHJcbiAgICAvKui1t+eCueWcsOWdlyAqL1xyXG4gICAgU3RhcnQgPSAxLCAgXHJcbiAgICAvKua5v+WcsCAqL1xyXG4gICAgTnVuamEgPSAyLFxyXG4gICAgLyrlsbHls7AgKi9cclxuICAgIFBlYWsgPSAzLFxyXG4gICAgLyrnu4jngrnlnLDlnZcgKi9cclxuICAgIEVuZCA9IDQsXHJcblxyXG4gICAgLyrmga/lo6QgKi9cclxuICAgIFhpX1NvaWwgPSA1LFxyXG4gICAgLyrliqDlm7ogKi9cclxuICAgIFJlaW5mb3JjZSA9IDZcclxufVxyXG5cclxuZXhwb3J0IGVudW0gUGF0aFR5cGV7XHJcbiAgICBlcnIgPSBcImVyclwiLFxyXG4gICAgdXAgPSBcInVwXCIsICBcclxuICAgIGRvd24gPSBcImRvd25cIiwgIFxyXG4gICAgbGVmdCA9IFwibGVmdFwiLFxyXG4gICAgcmlnaHQgPSBcInJpZ2h0XCIsXHJcbiAgICB1cF9sZWZ0ID0gXCJ1cF9sZWZ0XCIsXHJcbiAgICB1cF9yaWdodCA9IFwidXBfcmlnaHRcIixcclxuICAgIGRvd25fbGVmdCA9IFwiZG93bl9sZWZ0XCIsXHJcbiAgICBkb3duX3JpZ2h0ID0gXCJkb3duX3JpZ2h0XCIsXHJcbiAgICBsZWZ0X3VwID0gXCJsZWZ0X3VwXCIsXHJcbiAgICBsZWZ0X2Rvd24gPSBcImxlZnRfZG93blwiLFxyXG4gICAgcmlnaHRfdXAgPSBcInJpZ2h0X3VwXCIsXHJcbiAgICByaWdodF9kb3duID0gXCJyaWdodF9kb3duXCIsXHJcbn1cclxuXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5ld0NsYXNzIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIC8vIExJRkUtQ1lDTEUgQ0FMTEJBQ0tTOlxyXG4gICAgQHByb3BlcnR5KGNjLlNwcml0ZUF0bGFzKVxyXG4gICAgVUk6IGNjLlNwcml0ZUF0bGFzID0gbnVsbDtcclxuXHJcbiAgICBwb3NfU2hpZnRpbmc6bnVtYmVyO1xyXG4gICAgYmxvY2tfVHlwZTpudW1iZXI7XHJcbiAgICBwYXRoX1R5cGU6c3RyaW5nO1xyXG4gICAgZmluaXNoaTpib29sZWFuXHJcbiAgICBvbkxvYWQgKCkge1xyXG4gICAgICAgIHRoaXMuZmluaXNoaSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucG9zX1NoaWZ0aW5nID0gMDtcclxuICAgIH1cclxuXHJcbiAgICBzdGFydCAoKSB7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgaW5pdERhdGEodHlwZSl7XHJcbiAgICAgICAgdGhpcy5ibG9ja19UeXBlID0gdHlwZTtcclxuICAgICAgICBpZih0eXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5TdGFydCl7IFxyXG4gICAgICAgICAgICB0aGlzLm5vZGUuY29sb3IgPSBjYy5jb2xvcigyNDUsNzAsNzApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHR5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLkVuZCl7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5jb2xvciA9IGNjLmNvbG9yKDIwLDI1NSwwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0eXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5OdW5qYSl7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiZTVcIl07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodHlwZSA9PSBjYy5FbnVtKEJsb2NrVHlwZSkuUGVhayl7XHJcbiAgICAgICAgICAgIGxldCByYW5kb20gPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqNCsxKTtcclxuICAgICAgICAgICAgbGV0IG5hbWUgPSBcInNoYW5cIiArIHJhbmRvbTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNldFBhdGgodHlwZSl7XHJcbiAgICAgICAgdGhpcy5wYXRoX1R5cGUgPSB0eXBlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldF9YaV9Tb2lsVHlwZShkaXJlY3Rpb24sZW5kKXtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIuaBr+WjpFwiLGRpcmVjdGlvbik7XHJcbiAgICAgICAgaWYodGhpcy5ibG9ja19UeXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5OdW5qYSl7XHJcbiAgICAgICAgICAgIHRoaXMuYmxvY2tfVHlwZSA9IGNjLkVudW0oQmxvY2tUeXBlKS5Ob21hbDtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJibG9ja19CZ1wiXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoZW5kICE9IG51bGwpe1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLm5leHQsKGVuZCsxKSk7XHJcbiAgICAgICAgICAgIH0sIDEwMDApO1xyXG4gICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuYmxvY2tfVHlwZSA9IGNjLkVudW0oQmxvY2tUeXBlKS5YaV9Tb2lsO1xyXG4gICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJYaV9Tb2lsXCIpOyBcclxuICAgICAgICB0aGlzLnBhdGhfVHlwZSA9IGRpcmVjdGlvbjtcclxuICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICB0YXJnZXQub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgY2MudHdlZW4odGFyZ2V0KVxyXG4gICAgICAgIC50bygwLjUse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAudG8oMC41LHtvcGFjaXR5OjB9KVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICBpZihkaXJlY3Rpb24gIT0gbnVsbCAmJiBlbmQgPT0gbnVsbCl7XHJcbiAgICAgICAgICAgICAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgICAgICAgICAgICAgICBvcmRlcjowLFxyXG4gICAgICAgICAgICAgICAgICAgIHRpbWU6MC4yLFxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6MCxcclxuICAgICAgICAgICAgICAgICAgICBjaXJjdWxhdGU6ZmFsc2VcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJ1bldhdGVyKGRhdGEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLy/mtKrls7DmiafooYxcclxuICAgIHJ1bldhdGVyKGRhdGEpe1xyXG4gICAgICAgIGlmKHRoaXMucGF0aF9UeXBlID09IFwiZXJyXCIpe1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmKGRhdGEuY2lyY3VsYXRlKVxyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLm5leHQsb3JkZXIpO1xyXG4gICAgICAgICAgICB9LCBkYXRhLnRpbWUpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8v5aaC5p6c5Y+M5ZCR6YO95Y2g55So5LqG6L+Y6L+b5p2l5bCx566X5q275LqGLSBcclxuICAgICAgICBpZih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ2ZXJ0aWNhbFwiKS5hY3RpdmUgPT0gdHJ1ZSAmJiB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJob3Jpem9udGFsXCIpLmFjdGl2ZSA9PSB0cnVlKXtcclxuICAgICAgICAgICAgYWxlcnQoXCLmsrPpgZPlt7Lnu4/kuqTlj4nvvIzkuI3og73lho3pgJrov4dcIik7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGVsc2UgaWYodGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidHVyblwiKS5hY3RpdmUgPT0gdHJ1ZSAmJiB0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlhpX1NvaWwpe1xyXG4gICAgICAgICAgICBhbGVydChcIuays+mBk+i/h+W8r+WkhO+8jOS4jeiDveWGjeS6pOWPieays+mBk1wiKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB2YXIgdGFyZ2V0ID0gbnVsbDtcclxuICAgICAgICB2YXIgcHJvZ3Jlc3MgPSAxO1xyXG4gICAgICAgIHZhciB0aW1lID0gZGF0YS50aW1lO1xyXG4gICAgICAgIHZhciBvcmRlciA9IGRhdGEub3JkZXIgKyAxO1xyXG4gICAgICAgIHZhciByYW5kb20gPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqNCArIDEpO1xyXG4gICAgICAgIHRhcmdldCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInZlcnRpY2FsXCIpO1xyXG4gICAgICAgIGxldCB3YXRlcjEgPSB0YXJnZXQuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXZlXCIpLmdldENoaWxkQnlOYW1lKFwid2F0ZXIxXCIpO1xyXG4gICAgICAgIGxldCB3YXRlcjIgPSB0YXJnZXQuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXZlXCIpLmdldENoaWxkQnlOYW1lKFwid2F0ZXIyXCIpO1xyXG4gICAgICAgIGxldCB3YXRlcjMgPSB0YXJnZXQuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXZlXCIpLmdldENoaWxkQnlOYW1lKFwid2F0ZXIzXCIpO1xyXG4gICAgICAgIGxldCB0aW1lRGVsYXkgPSAwLjE1O1xyXG4gICAgICAgIHdhdGVyMS5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2MubW92ZVRvKDAuNixjYy52Mih3YXRlcjEueCwxMjApKSxjYy5kZWxheVRpbWUodGltZURlbGF5KSxcclxuICAgICAgICBjYy5jYWxsRnVuYygoKT0+e1xyXG4gICAgICAgICAgICB3YXRlcjEueSA9IC0xMjBcclxuICAgICAgICB9KSkucmVwZWF0Rm9yZXZlcigpKTtcclxuICAgICAgICB3YXRlcjIucnVuQWN0aW9uKGNjLnNlcXVlbmNlKGNjLm1vdmVUbygwLjYsY2MudjIod2F0ZXIyLngsMTIwKSksY2MuZGVsYXlUaW1lKHRpbWVEZWxheSksXHJcbiAgICAgICAgY2MuY2FsbEZ1bmMoKCk9PntcclxuICAgICAgICAgICAgd2F0ZXIyLnkgPSAtMTIwXHJcbiAgICAgICAgfSkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgd2F0ZXIzLnJ1bkFjdGlvbihjYy5zZXF1ZW5jZShjYy5tb3ZlVG8oMC42LGNjLnYyKHdhdGVyMy54LDEyMCkpLGNjLmRlbGF5VGltZSh0aW1lRGVsYXkpLFxyXG4gICAgICAgIGNjLmNhbGxGdW5jKCgpPT57XHJcbiAgICAgICAgICAgIHdhdGVyMy55ID0gLTEyMFxyXG4gICAgICAgIH0pKS5yZXBlYXRGb3JldmVyKCkpO1xyXG4gICAgICAgIHZhciBuYW1lID0gXCJhXCIgKyByYW5kb207XHJcbiAgICAgICAgLy9pZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZSl0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtuYW1lXTtcclxuXHJcbiAgICAgICAgaWYodGFyZ2V0LmFjdGl2ZSA9PSB0cnVlKXtcclxuICAgICAgICAgICAgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiaG9yaXpvbnRhbFwiKTtcclxuICAgICAgICAgICAgbmFtZSA9IFwiYlwiICsgcmFuZG9tO1xyXG4gICAgICAgICAgICAvL2lmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKSB0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtuYW1lXTtcclxuICAgICAgICB9IFxyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMucGF0aF9UeXBlLGRhdGEub3JkZXIpO1xyXG4gICAgICAgIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnVwKXtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5kb3duKXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gMTgwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmxlZnQpe1xyXG4gICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSA5MDtcclxuICAgICAgICAgICAgbmFtZSA9IFwiYlwiICsgcmFuZG9tO1xyXG4gICAgICAgICAgICAvL2lmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKSB0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtuYW1lXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5yaWdodCl7XHJcbiAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDI3MDtcclxuICAgICAgICAgICAgbmFtZSA9IFwiYlwiICsgcmFuZG9tO1xyXG4gICAgICAgICAgICAvL2lmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKSB0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtuYW1lXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidHVyblwiKTtcclxuICAgICAgICAgICAgbGV0IHdhdGVyID0gdGFyZ2V0LmdldENoaWxkQnlOYW1lKFwid2F2ZVwiKS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyXCIpO1xyXG4gICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMFxyXG4gICAgICAgICAgICB3YXRlci5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2Mucm90YXRlVG8oNy4yLC0xMDgwKSxjYy5kZWxheVRpbWUoMCkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIub3BhY2l0eSA9IDI1NTtcclxuICAgICAgICAgICAgfSwgMjAwKTtcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgICBuYW1lID0gXCJjXCIgKyByYW5kb207XHJcbiAgICAgICAgICAgIC8vaWYodGhpcy5ibG9ja19UeXBlICE9IGNjLkVudW0oQmxvY2tUeXBlKS5SZWluZm9yY2UpdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgICAgIHByb2dyZXNzID0gMC4yNTtcclxuICAgICAgICAgICAgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkudXBfbGVmdCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLC10aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS51cF9yaWdodCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2NhbGVYID0gLTE7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24odGhpcy5wb3NfU2hpZnRpbmcsLXRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmRvd25fbGVmdCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAxODA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2NhbGVYID0gLTE7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLHRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmRvd25fcmlnaHQpe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gMTgwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKHRoaXMucG9zX1NoaWZ0aW5nLHRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmxlZnRfdXApe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gLTkwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNjYWxlWSA9IC0xO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKHRoaXMucG9zX1NoaWZ0aW5nLHRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmxlZnRfZG93bil7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSA5MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbigtdGhpcy5wb3NfU2hpZnRpbmcsLXRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnJpZ2h0X3VwKXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IC05MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbigtdGhpcy5wb3NfU2hpZnRpbmcsdGhpcy5wb3NfU2hpZnRpbmcpO1xyXG4gICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkucmlnaHRfZG93bil7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAtOTA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2NhbGVYID0gLTE7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLC10aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYodGhpcy5wYXRoX1R5cGUgPT0gXCJSZWluZm9yY2VcIil7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGRhdGEub3JkZXIpO1xyXG4gICAgICAgICAgICB0YXJnZXQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJSZWluZm9yY2VcIik7XHJcbiAgICAgICAgICAgIHRoaXMuYmxvY2tfVHlwZSA9IGNjLkVudW0oQmxvY2tUeXBlKS5SZWluZm9yY2U7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInZlcnRpY2FsXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJlMVwiXTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidHVyblwiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiZTNcIl07XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImhvcml6b250YWxcIikuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImUyXCJdO1xyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGFyZ2V0Lm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICBwcm9ncmVzcyA9IDE7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRhcmdldClcclxuICAgICAgICAgICAgLnRvKHRpbWUse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICBpZihkYXRhLmNpcmN1bGF0ZSlcclxuICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5jaGFuZ2VNYXAsb3JkZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLm5leHQsb3JkZXIpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBcIlhpX1NvaWxcIil7XHJcbiAgICAgICAgICAgIHRhcmdldC5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ibG9ja19UeXBlID0gY2MuRW51bShCbG9ja1R5cGUpLlhpX1NvaWw7XHJcbiAgICAgICAgICAgIHRhcmdldCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlhpX1NvaWxcIik7IFxyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGFyZ2V0Lm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICBjYy50d2Vlbih0YXJnZXQpXHJcbiAgICAgICAgICAgIC50bygwLjUse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAgICAgLnRvKDAuNSx7b3BhY2l0eTowfSlcclxuICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICBpZihkYXRhLmNpcmN1bGF0ZSlcclxuICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5uZXh0LG9yZGVyKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gXCJFbmRcIil7XHJcbiAgICAgICAgICAgIHRhcmdldC5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ibG9ja19UeXBlID0gY2MuRW51bShCbG9ja1R5cGUpLlhpX1NvaWw7XHJcbiAgICAgICAgICAgIHRhcmdldCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkVuZFwiKTsgXHJcbiAgICAgICAgICAgIHRhcmdldC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0YXJnZXQub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRhcmdldClcclxuICAgICAgICAgICAgLnRvKDAuNSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5ri45oiP57uT5p2fXCIpO1xyXG4gICAgICAgICAgICAgICAgLy8gaWYoZGF0YS5jaXJjdWxhdGUpXHJcbiAgICAgICAgICAgICAgICAvLyAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2UubmV4dCxvcmRlcik7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgaWYodGhpcy5ibG9ja19UeXBlICE9IGNjLkVudW0oQmxvY2tUeXBlKS5YaV9Tb2lsKXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5maWxsUmFuZ2UgPSAwO1xyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4odGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpKVxyXG4gICAgICAgICAgICAgICAgLnRvKHRpbWUse2ZpbGxSYW5nZTpwcm9ncmVzc30pXHJcbiAgICAgICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgICAgICBpZihkYXRhLmNpcmN1bGF0ZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2UubmV4dCxvcmRlcik7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5maWxsUmFuZ2UgPSAxO1xyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4odGFyZ2V0KVxyXG4gICAgICAgICAgICAgICAgLnRvKHRpbWUse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGRhdGEuY2lyY3VsYXRlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5uZXh0LG9yZGVyKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgLy8gdXBkYXRlIChkdCkge31cclxufVxyXG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxCbG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUUsSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFFMUMsSUFBWSxTQWdCWDtBQWhCRCxXQUFZLFNBQVM7SUFDakIsU0FBUztJQUNULDJDQUFTLENBQUE7SUFDVCxTQUFTO0lBQ1QsMkNBQVMsQ0FBQTtJQUNULE9BQU87SUFDUCwyQ0FBUyxDQUFBO0lBQ1QsT0FBTztJQUNQLHlDQUFRLENBQUE7SUFDUixTQUFTO0lBQ1QsdUNBQU8sQ0FBQTtJQUVQLE9BQU87SUFDUCwrQ0FBVyxDQUFBO0lBQ1gsT0FBTztJQUNQLG1EQUFhLENBQUE7QUFDakIsQ0FBQyxFQWhCVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQWdCcEI7QUFFRCxJQUFZLFFBY1g7QUFkRCxXQUFZLFFBQVE7SUFDaEIsdUJBQVcsQ0FBQTtJQUNYLHFCQUFTLENBQUE7SUFDVCx5QkFBYSxDQUFBO0lBQ2IseUJBQWEsQ0FBQTtJQUNiLDJCQUFlLENBQUE7SUFDZiwrQkFBbUIsQ0FBQTtJQUNuQixpQ0FBcUIsQ0FBQTtJQUNyQixtQ0FBdUIsQ0FBQTtJQUN2QixxQ0FBeUIsQ0FBQTtJQUN6QiwrQkFBbUIsQ0FBQTtJQUNuQixtQ0FBdUIsQ0FBQTtJQUN2QixpQ0FBcUIsQ0FBQTtJQUNyQixxQ0FBeUIsQ0FBQTtBQUM3QixDQUFDLEVBZFcsUUFBUSxHQUFSLGdCQUFRLEtBQVIsZ0JBQVEsUUFjbkI7QUFHRDtJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQW9yQkM7UUFuckJHLHdCQUF3QjtRQUV4QixRQUFFLEdBQW1CLElBQUksQ0FBQzs7UUFnckIxQixpQkFBaUI7SUFDckIsQ0FBQztJQTFxQkcseUJBQU0sR0FBTjtRQUNJLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELHdCQUFLLEdBQUw7SUFFQSxDQUFDO0lBRUQsMkJBQVEsR0FBUixVQUFTLElBQUksRUFBQyxHQUFHLEVBQUMsR0FBRztRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsSUFBRyxJQUFJLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUM7WUFDaEMsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEMsd0RBQXdEO1lBQ3hELEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzNFLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFDLE9BQU8sRUFBQyxHQUFHLEVBQUMsR0FBRyxDQUFDLENBQUM7U0FDekM7YUFDSSxJQUFHLElBQUksSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBQztZQUNuQyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4Qyx3REFBd0Q7WUFDeEQsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUMsS0FBSyxFQUFDLEdBQUcsRUFBQyxHQUFHLENBQUMsQ0FBQztTQUN2QzthQUNJLElBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFDO1lBQ3JDLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUMsR0FBRyxDQUFDLENBQUM7WUFDakMsSUFBSSxRQUFRLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1NBQ3hEO2FBQ0ksSUFBRyxJQUFJLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUM7WUFDcEMsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNDLElBQUksSUFBSSxHQUFHLE1BQU0sR0FBRyxNQUFNLENBQUM7WUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwRyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUN4RDtJQUNMLENBQUM7SUFDRCxxQkFBcUI7SUFDckIsK0JBQVksR0FBWixVQUFhLEVBQUUsRUFBQyxJQUFJLEVBQUMsR0FBRyxFQUFDLEdBQUc7UUFDeEIsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFHLEdBQUcsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUM7WUFDaEIsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDYixJQUFHLElBQUksSUFBSSxLQUFLO2dCQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ2pCLE9BQU87U0FDVjthQUNJLElBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUM7WUFDZixFQUFFLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxDQUFDO1lBQ2hCLElBQUcsSUFBSSxJQUFJLEtBQUs7Z0JBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDaEcsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDckIsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsQ0FBQztZQUNwQixPQUFPO1NBQ1Y7YUFDSSxJQUFHLEdBQUcsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUM7WUFDckIsRUFBRSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDZCxJQUFHLElBQUksSUFBSSxPQUFPO2dCQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDOztnQkFDL0YsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDcEYsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDckIsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztTQUN0QjthQUNJLElBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUM7WUFDZixFQUFFLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2YsSUFBRyxJQUFJLElBQUksT0FBTztnQkFBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQzs7Z0JBQy9GLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BGLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1NBQ3JCO0lBQ0wsQ0FBQztJQUVELDBCQUFPLEdBQVAsVUFBUSxJQUFJO1FBQ1IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUNELFNBQVM7SUFDVCw4QkFBVyxHQUFYLFVBQVksU0FBUyxFQUFDLElBQUk7UUFDdEIsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDakQsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbkQsSUFBRyxTQUFTLElBQUksTUFBTSxJQUFJLFNBQVMsSUFBSSxPQUFPLEVBQUM7WUFDM0MsSUFBRyxFQUFFLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBQztnQkFDYixJQUFJLENBQUMsTUFBTSxHQUFFLElBQUksQ0FBQztnQkFDbEIsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ3BCLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO2dCQUNsQixJQUFHLElBQUksRUFBQztvQkFDSixJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsSUFBRSxNQUFNLENBQUEsQ0FBQyxDQUFBLEVBQUUsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDO29CQUNwQyxLQUFLLENBQUMsS0FBSyxHQUFHLFNBQVMsSUFBRSxNQUFNLENBQUEsQ0FBQyxDQUFBLEVBQUUsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDO2lCQUN4QztxQkFDRztvQkFDQSxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsSUFBRSxNQUFNLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsRUFBRSxDQUFDO29CQUNwQyxLQUFLLENBQUMsS0FBSyxHQUFHLFNBQVMsSUFBRSxNQUFNLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsRUFBRSxDQUFDO2lCQUN4QzthQUVKO2lCQUNJLElBQUcsRUFBRSxDQUFDLEtBQUssSUFBSSxDQUFDLEdBQUcsRUFBQztnQkFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRSxJQUFJLENBQUM7Z0JBQ2xCLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixLQUFLLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztnQkFDbEIsSUFBRyxJQUFJLEVBQUM7b0JBQ0osSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLElBQUUsTUFBTSxDQUFBLENBQUMsQ0FBQSxDQUFDLEdBQUcsQ0FBQSxDQUFDLENBQUEsQ0FBQyxFQUFFLENBQUM7b0JBQ3hDLEtBQUssQ0FBQyxLQUFLLEdBQUcsU0FBUyxJQUFFLE1BQU0sQ0FBQSxDQUFDLENBQUEsQ0FBQyxHQUFHLENBQUEsQ0FBQyxDQUFBLENBQUMsRUFBRSxDQUFDO2lCQUM1QztxQkFDRztvQkFDQSxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsSUFBRSxNQUFNLENBQUEsQ0FBQyxDQUFBLEdBQUcsQ0FBQSxDQUFDLENBQUEsQ0FBQyxHQUFHLENBQUM7b0JBQ3hDLEtBQUssQ0FBQyxLQUFLLEdBQUcsU0FBUyxJQUFFLE1BQU0sQ0FBQSxDQUFDLENBQUEsR0FBRyxDQUFBLENBQUMsQ0FBQSxDQUFDLEdBQUcsQ0FBQztpQkFDNUM7YUFFSjtpQkFDSSxJQUFHLEVBQUUsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLEVBQUM7Z0JBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUUsSUFBSSxDQUFDO2dCQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDMUUsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ2hCLElBQUcsSUFBSSxFQUFDO29CQUNKLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO29CQUNwQixLQUFLLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztvQkFDakIsS0FBSyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQy9FLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO2lCQUNyQjthQUVKO2lCQUNJLElBQUcsRUFBRSxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUM7Z0JBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUUsSUFBSSxDQUFDO2dCQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDMUUsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ2hCLElBQUcsSUFBSSxFQUFDO29CQUNKLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO29CQUNwQixLQUFLLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztvQkFDakIsS0FBSyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQy9FLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO2lCQUNyQjthQUNKO1NBRUo7YUFDSSxJQUFHLFNBQVMsSUFBSSxJQUFJLElBQUksU0FBUyxJQUFJLE1BQU0sRUFBQztZQUM3QyxJQUFJLElBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4QyxJQUFHLElBQUUsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLEVBQUM7Z0JBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRSxJQUFJLENBQUM7Z0JBQ2xCLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixLQUFLLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztnQkFDbEIsSUFBRyxJQUFJLEVBQUM7b0JBQ0osSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLElBQUUsSUFBSSxDQUFBLENBQUMsQ0FBQSxDQUFDLEVBQUUsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDO29CQUNuQyxLQUFLLENBQUMsS0FBSyxHQUFHLFNBQVMsSUFBRSxJQUFJLENBQUEsQ0FBQyxDQUFBLENBQUMsRUFBRSxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUM7aUJBQ3ZDO3FCQUNHO29CQUNBLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxJQUFFLElBQUksQ0FBQSxDQUFDLENBQUEsQ0FBQyxFQUFFLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQztvQkFDbkMsS0FBSyxDQUFDLEtBQUssR0FBRyxTQUFTLElBQUUsSUFBSSxDQUFBLENBQUMsQ0FBQSxDQUFDLEVBQUUsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDO2lCQUN2QzthQUVKO2lCQUNJLElBQUcsSUFBRSxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUM7Z0JBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUUsSUFBSSxDQUFDO2dCQUNsQixLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztnQkFDcEIsS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7Z0JBQ2xCLElBQUcsSUFBSSxFQUFDO29CQUNKLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxJQUFFLElBQUksQ0FBQSxDQUFDLENBQUEsRUFBRSxDQUFBLENBQUMsQ0FBQSxHQUFHLENBQUM7b0JBQ3BDLEtBQUssQ0FBQyxLQUFLLEdBQUcsU0FBUyxJQUFFLElBQUksQ0FBQSxDQUFDLENBQUEsRUFBRSxDQUFBLENBQUMsQ0FBQSxHQUFHLENBQUM7aUJBQ3hDO3FCQUNHO29CQUNBLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxJQUFFLElBQUksQ0FBQSxDQUFDLENBQUEsR0FBRyxDQUFBLENBQUMsQ0FBQSxFQUFFLENBQUM7b0JBQ3BDLEtBQUssQ0FBQyxLQUFLLEdBQUcsU0FBUyxJQUFFLElBQUksQ0FBQSxDQUFDLENBQUEsR0FBRyxDQUFBLENBQUMsQ0FBQSxFQUFFLENBQUM7aUJBQ3hDO2FBRUo7aUJBQ0ksSUFBRyxJQUFFLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBQztnQkFDbEIsSUFBSSxDQUFDLE1BQU0sR0FBRSxJQUFJLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMxRSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFDZixJQUFHLElBQUksRUFBQztvQkFDSixLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztvQkFDcEIsS0FBSyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQy9FLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO2lCQUNyQjthQUNKO2lCQUNJLElBQUcsSUFBRSxDQUFDLEtBQUssSUFBSSxDQUFDLEdBQUcsRUFBQztnQkFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRSxJQUFJLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMxRSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFDZixJQUFHLElBQUksRUFBQztvQkFDSixLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztvQkFDcEIsS0FBSyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQy9FLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO2lCQUNyQjthQUNKO1NBQ0o7SUFDTCxDQUFDO0lBR0Qsa0NBQWUsR0FBZixVQUFnQixTQUFTLEVBQUMsR0FBRyxFQUFDLElBQUk7UUFBbEMsaUJBaURDO1FBaERHLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFDLFNBQVMsRUFBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELElBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBQztZQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBQyxLQUFLLENBQUMsQ0FBQztZQUNsQyxPQUFPO1NBQ1Y7UUFFRCxJQUFHLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUM7WUFDM0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDMUUsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsR0FBSSxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3pGO1FBQ0QsSUFBRyxHQUFHLElBQUksSUFBSSxFQUFDO1lBQ1gsSUFBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFDO2dCQUN6QyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBQyxJQUFJLENBQUMsQ0FBQzthQUNwQztZQUNELFVBQVUsQ0FBQztnQkFDUCxJQUFHLElBQUksSUFBSSxPQUFPO29CQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUMsQ0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7b0JBQ3pFLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUMsQ0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5RCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDWDtRQUVELElBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFDO1lBQ3hGLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUM7U0FDaEQ7YUFDRztTQUNIO1FBQ0QsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDckIsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDbkIsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7YUFDZixFQUFFLENBQUMsR0FBRyxFQUFDLEVBQUMsT0FBTyxFQUFDLEdBQUcsRUFBQyxDQUFDO2FBQ3JCLEVBQUUsQ0FBQyxHQUFHLEVBQUMsRUFBQyxPQUFPLEVBQUMsQ0FBQyxFQUFDLENBQUM7YUFDbkIsSUFBSSxDQUFDO1lBQ0YsSUFBRyxTQUFTLElBQUksSUFBSSxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUM7Z0JBQ2hDLElBQUksSUFBSSxHQUFHO29CQUNQLEtBQUssRUFBQyxDQUFDO29CQUNQLElBQUksRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztvQkFDN0MsSUFBSSxFQUFDLENBQUM7b0JBQ04sU0FBUyxFQUFDLEtBQUs7aUJBQ2xCLENBQUM7Z0JBQ0YsSUFBRyxJQUFJLElBQUksT0FBTyxFQUFDO29CQUNmLEtBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ3ZCOztvQkFDSSxLQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzNCO1FBQ0wsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxFQUFFLENBQUM7SUFDYixDQUFDO0lBR0QsUUFBUTtJQUNSLDBCQUFPLEdBQVAsVUFBUSxJQUFJO1FBQ1IsSUFBRyxJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUssRUFBQztZQUN2QixVQUFVLENBQUM7Z0JBQ1AsSUFBRyxJQUFJLENBQUMsU0FBUztvQkFDYixFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNELENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDZCxPQUFPO1NBQ1Y7UUFDRCxtQkFBbUI7UUFDbkIsSUFBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sSUFBSSxJQUFJLEVBQUM7WUFDOUcsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3RCLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ25DLE9BQU87U0FDVjthQUVJLElBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFDO1lBQ3RHLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUN2QixFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNuQyxPQUFPO1NBQ1Y7UUFDRCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDckIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDM0IsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMvQyxJQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksVUFBVSxFQUFDO1lBQ3pCLElBQUksUUFBTSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BFLElBQUksUUFBTSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BFLElBQUksUUFBTSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BFLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQztZQUNyQixRQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFNLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFDdkYsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFDUixRQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFBO1lBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztZQUNyQixRQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFNLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFDdkYsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFDUixRQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFBO1lBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztZQUNyQixRQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFNLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFDdkYsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFDUixRQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFBO1lBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxF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LElBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxVQUFVLEVBQUM7WUFDekIsSUFBSSxRQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEUsSUFBSSxRQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEUsSUFBSSxRQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEUsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLFFBQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQU0sQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUN2RixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUNSLFFBQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUE7WUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1lBQ3JCLFFBQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQU0sQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUN2RixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUNSLFFBQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUE7WUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1lBQ3JCLFFBQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxD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QUVMLENBQUM7SUE5cUJEO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUM7d0NBQ0M7SUFIVCxRQUFRO1FBRDVCLE9BQU87T0FDYSxRQUFRLENBb3JCNUI7SUFBRCxlQUFDO0NBcHJCRCxBQW9yQkMsQ0FwckJxQyxFQUFFLENBQUMsU0FBUyxHQW9yQmpEO2tCQXByQm9CLFFBQVEiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMZWFybiBUeXBlU2NyaXB0OlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy90eXBlc2NyaXB0Lmh0bWxcclxuLy8gTGVhcm4gQXR0cmlidXRlOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9yZWZlcmVuY2UvYXR0cmlidXRlcy5odG1sXHJcbi8vIExlYXJuIGxpZmUtY3ljbGUgY2FsbGJhY2tzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9saWZlLWN5Y2xlLWNhbGxiYWNrcy5odG1sXHJcblxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuXHJcbmV4cG9ydCBlbnVtIEJsb2NrVHlwZXtcclxuICAgIC8q5pmu6YCa5Zyw5Z2XICovXHJcbiAgICBOb21hbCA9IDAsICBcclxuICAgIC8q6LW354K55Zyw5Z2XICovXHJcbiAgICBTdGFydCA9IDEsICBcclxuICAgIC8q5rm/5ZywICovXHJcbiAgICBOdW5qYSA9IDIsXHJcbiAgICAvKuWxseWzsCAqL1xyXG4gICAgUGVhayA9IDMsXHJcbiAgICAvKue7iOeCueWcsOWdlyAqL1xyXG4gICAgRW5kID0gNCxcclxuXHJcbiAgICAvKuaBr+WjpCAqL1xyXG4gICAgWGlfU29pbCA9IDUsXHJcbiAgICAvKuWKoOWbuiAqL1xyXG4gICAgUmVpbmZvcmNlID0gNlxyXG59XHJcblxyXG5leHBvcnQgZW51bSBQYXRoVHlwZXtcclxuICAgIGVyciA9IFwiZXJyXCIsXHJcbiAgICB1cCA9IFwidXBcIiwgIFxyXG4gICAgZG93biA9IFwiZG93blwiLCAgXHJcbiAgICBsZWZ0ID0gXCJsZWZ0XCIsXHJcbiAgICByaWdodCA9IFwicmlnaHRcIixcclxuICAgIHVwX2xlZnQgPSBcInVwX2xlZnRcIixcclxuICAgIHVwX3JpZ2h0ID0gXCJ1cF9yaWdodFwiLFxyXG4gICAgZG93bl9sZWZ0ID0gXCJkb3duX2xlZnRcIixcclxuICAgIGRvd25fcmlnaHQgPSBcImRvd25fcmlnaHRcIixcclxuICAgIGxlZnRfdXAgPSBcImxlZnRfdXBcIixcclxuICAgIGxlZnRfZG93biA9IFwibGVmdF9kb3duXCIsXHJcbiAgICByaWdodF91cCA9IFwicmlnaHRfdXBcIixcclxuICAgIHJpZ2h0X2Rvd24gPSBcInJpZ2h0X2Rvd25cIixcclxufVxyXG5cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV3Q2xhc3MgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG4gICAgLy8gTElGRS1DWUNMRSBDQUxMQkFDS1M6XHJcbiAgICBAcHJvcGVydHkoY2MuU3ByaXRlQXRsYXMpXHJcbiAgICBVSTogY2MuU3ByaXRlQXRsYXMgPSBudWxsO1xyXG5cclxuICAgIHBvc19TaGlmdGluZzpudW1iZXI7XHJcbiAgICBibG9ja19UeXBlOm51bWJlcjtcclxuICAgIHBhdGhfVHlwZTpzdHJpbmc7XHJcbiAgICBmaW5pc2hpOmJvb2xlYW47XHJcbiAgICBwb3M6IGFueTtcclxuICAgIG9uTG9hZCAoKSB7XHJcbiAgICAgICAgdGhpcy5maW5pc2hpID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5wb3NfU2hpZnRpbmcgPSAwO1xyXG4gICAgICAgIHRoaXMucG9zID0gY2MudjIoMCwwKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGFydCAoKSB7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgaW5pdERhdGEodHlwZSxwb3MsbWF4KXtcclxuICAgICAgICB0aGlzLmJsb2NrX1R5cGUgPSB0eXBlO1xyXG4gICAgICAgIHRoaXMucG9zID0gY2MudjIocG9zLngscG9zLnkpO1xyXG4gICAgICAgIGlmKHR5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLlN0YXJ0KXsgXHJcbiAgICAgICAgICAgIHZhciBiZyA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInNwXCIpO1xyXG4gICAgICAgICAgICAvLyB0aGlzLm5vZGUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSBudWxsO1xyXG4gICAgICAgICAgICBiZy5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wic3RhcnRcIl07XHJcbiAgICAgICAgICAgIHRoaXMucm90YXRlVGFyZ2V0KGJnLFwic3RhcnRcIixwb3MsbWF4KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0eXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5FbmQpe1xyXG4gICAgICAgICAgICB2YXIgYmcgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJzcFwiKTtcclxuICAgICAgICAgICAgLy8gdGhpcy5ub2RlLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gbnVsbDtcclxuICAgICAgICAgICAgYmcuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImVuZFwiXTtcclxuICAgICAgICAgICAgdGhpcy5yb3RhdGVUYXJnZXQoYmcsXCJlbmRcIixwb3MsbWF4KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0eXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5OdW5qYSl7XHJcbiAgICAgICAgICAgIGxldCByYW5kb20gPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqNCk7XHJcbiAgICAgICAgICAgIGxldCByb3RhdGlvbkFyciA9IFswLDkwLDE4MCwyNzBdO1xyXG4gICAgICAgICAgICBsZXQgcm90YXRpb24gPSByb3RhdGlvbkFycltyYW5kb21dO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJiZ1wiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiZTVcIl07XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImJnXCIpLmFuZ2xlID0gLXJvdGF0aW9uO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHR5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLlBlYWspe1xyXG4gICAgICAgICAgICBsZXQgcmFuZG9tID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjQrMSk7XHJcbiAgICAgICAgICAgIGxldCBuYW1lID0gXCJzaGFuXCIgKyByYW5kb207XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImJnXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/ml4vovazlhaXmtbflj6Plkozlh7rmtbflj6PnmoQg5Zu+54mH5Lul5Y+K5paH5a2X6KeS5bqmXHJcbiAgICByb3RhdGVUYXJnZXQoYmcsbmFtZSxwb3MsbWF4KXtcclxuICAgICAgICBsZXQgdGFyZ2V0ID0gYmcuZ2V0Q2hpbGRCeU5hbWUobmFtZSk7XHJcbiAgICAgICAgaWYocG9zLnkgPT0gbWF4LnktMSl7XHJcbiAgICAgICAgICAgIGJnLmFuZ2xlID0gMDtcclxuICAgICAgICAgICAgaWYobmFtZSA9PSBcImVuZFwiKSB0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImVuZF94XCJdO1xyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gMDtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHBvcy55ID09IDApe1xyXG4gICAgICAgICAgICBiZy5hbmdsZSA9IC0xODA7XHJcbiAgICAgICAgICAgIGlmKG5hbWUgPT0gXCJlbmRcIil0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImVuZF94XCJdO1xyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gLTE4MDtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHBvcy54ID09IG1heC54LTEpe1xyXG4gICAgICAgICAgICBiZy5hbmdsZSA9IDkwO1xyXG4gICAgICAgICAgICBpZihuYW1lID09IFwic3RhcnRcIil0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcInN0YXJ0X3lcIl07XHJcbiAgICAgICAgICAgIGVsc2UgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJlbmRfeVwiXTtcclxuICAgICAgICAgICAgdGFyZ2V0LmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IC05MDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihwb3MueCA9PSAwKXtcclxuICAgICAgICAgICAgYmcuYW5nbGUgPSAtOTA7XHJcbiAgICAgICAgICAgIGlmKG5hbWUgPT0gXCJzdGFydFwiKXRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wic3RhcnRfeVwiXTtcclxuICAgICAgICAgICAgZWxzZSB0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImVuZF95XCJdO1xyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gOTA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNldFBhdGgodHlwZSl7XHJcbiAgICAgICAgdGhpcy5wYXRoX1R5cGUgPSB0eXBlO1xyXG4gICAgfVxyXG4gICAgLy/orr7nva7mga/lo6TlnKjotbfngrlcclxuICAgIHNldF9YaV9Tb2lsKGRpcmVjdGlvbix0eXBlKXtcclxuICAgICAgICBsZXQgc3AgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJzcFwiKTtcclxuICAgICAgICBsZXQgdHVybiA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInR1cm5TdGFydFwiKTtcclxuICAgICAgICBsZXQgd2F0ZXIgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlclN0YXJ0XCIpO1xyXG4gICAgICAgIGlmKGRpcmVjdGlvbiA9PSBcImxlZnRcIiB8fCBkaXJlY3Rpb24gPT0gXCJyaWdodFwiKXtcclxuICAgICAgICAgICAgaWYoc3AuYW5nbGUgPT0gMCl7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmFjdGl2ZSA9dHJ1ZTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSBkaXJlY3Rpb249PVwibGVmdFwiPzkwOjA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYW5nbGUgPSBkaXJlY3Rpb249PVwibGVmdFwiPzkwOjA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSBkaXJlY3Rpb249PVwibGVmdFwiPzA6OTA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYW5nbGUgPSBkaXJlY3Rpb249PVwibGVmdFwiPzA6OTA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYoc3AuYW5nbGUgPT0gLTE4MCl7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmFjdGl2ZSA9dHJ1ZTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSBkaXJlY3Rpb249PVwibGVmdFwiPy0xODA6LTkwO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmFuZ2xlID0gZGlyZWN0aW9uPT1cImxlZnRcIj8tMTgwOi05MDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgdHVybi5hbmdsZSA9IGRpcmVjdGlvbj09XCJsZWZ0XCI/MjcwOi0xODA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYW5nbGUgPSBkaXJlY3Rpb249PVwibGVmdFwiPzI3MDotMTgwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHNwLmFuZ2xlID09IC05MCl7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmFjdGl2ZSA9dHJ1ZTtcclxuICAgICAgICAgICAgICAgIHR1cm4uZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImExXCJdO1xyXG4gICAgICAgICAgICAgICAgdHVybi5hbmdsZSA9IDkwO1xyXG4gICAgICAgICAgICAgICAgaWYodHlwZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5hbmdsZSA9IDkwO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJibG9jazFcIl07XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYoc3AuYW5nbGUgPT0gOTApe1xyXG4gICAgICAgICAgICAgICAgdHVybi5hY3RpdmUgPXRydWU7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJhMVwiXTtcclxuICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSA5MDtcclxuICAgICAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYW5nbGUgPSA5MDtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiYmxvY2sxXCJdO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwidXBcIiB8fCBkaXJlY3Rpb24gPT0gXCJkb3duXCIpe1xyXG4gICAgICAgICAgICBsZXQgc3AgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJzcFwiKTtcclxuICAgICAgICAgICAgaWYoc3AuYW5nbGUgPT0gLTkwKXtcclxuICAgICAgICAgICAgICAgIHR1cm4uYWN0aXZlID10cnVlO1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgaWYodHlwZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdHVybi5hbmdsZSA9IGRpcmVjdGlvbj09XCJ1cFwiPy05MDowO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmFuZ2xlID0gZGlyZWN0aW9uPT1cInVwXCI/LTkwOjA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSBkaXJlY3Rpb249PVwidXBcIj8tOTA6MDtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5hbmdsZSA9IGRpcmVjdGlvbj09XCJ1cFwiPy05MDowO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZihzcC5hbmdsZSA9PSA5MCl7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmFjdGl2ZSA9dHJ1ZTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSBkaXJlY3Rpb249PVwidXBcIj85MDoxODA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYW5nbGUgPSBkaXJlY3Rpb249PVwidXBcIj85MDoxODA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSBkaXJlY3Rpb249PVwidXBcIj8xODA6OTA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYW5nbGUgPSBkaXJlY3Rpb249PVwidXBcIj8xODA6OTA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYoc3AuYW5nbGUgPT0gMCl7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmFjdGl2ZSA9dHJ1ZTtcclxuICAgICAgICAgICAgICAgIHR1cm4uZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImExXCJdO1xyXG4gICAgICAgICAgICAgICAgdHVybi5hbmdsZSA9IDA7XHJcbiAgICAgICAgICAgICAgICBpZih0eXBlKXtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJibG9jazFcIl07XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZihzcC5hbmdsZSA9PSAtMTgwKXtcclxuICAgICAgICAgICAgICAgIHR1cm4uYWN0aXZlID10cnVlO1xyXG4gICAgICAgICAgICAgICAgdHVybi5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiYTFcIl07XHJcbiAgICAgICAgICAgICAgICB0dXJuLmFuZ2xlID0gMDtcclxuICAgICAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImJsb2NrMVwiXTtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgc2V0X1hpX1NvaWxUeXBlKGRpcmVjdGlvbixlbmQsbmFtZSl7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCLmga/lo6RcIixkaXJlY3Rpb24sbmFtZSx0aGlzLmJsb2NrX1R5cGUpO1xyXG4gICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSA9PSBjYy5FbnVtKEJsb2NrVHlwZSkuU3RhcnQpe1xyXG4gICAgICAgICAgICB0aGlzLnNldF9YaV9Tb2lsKGRpcmVjdGlvbixmYWxzZSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSA9PSBjYy5FbnVtKEJsb2NrVHlwZSkuTnVuamEpe1xyXG4gICAgICAgICAgICB0aGlzLmJsb2NrX1R5cGUgPSBjYy5FbnVtKEJsb2NrVHlwZSkuTm9tYWw7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImJnXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gbnVsbDtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gIHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiYmxvY2tfQmdcIl07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGVuZCAhPSBudWxsKXtcclxuICAgICAgICAgICAgaWYodGhpcy5ibG9ja19UeXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5FbmQpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRfWGlfU29pbChkaXJlY3Rpb24sdHJ1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZihuYW1lID09IFwid2F0ZXJcIikgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2UubmV4dFdhdGVyLChlbmQrMSkpO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5uZXh0LChlbmQrMSkpO1xyXG4gICAgICAgICAgICB9LCA0MDApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYodGhpcy5ibG9ja19UeXBlICE9IGNjLkVudW0oQmxvY2tUeXBlKS5FbmQgJiYgdGhpcy5ibG9ja19UeXBlICE9IGNjLkVudW0oQmxvY2tUeXBlKS5TdGFydCl7XHJcbiAgICAgICAgICAgIHRoaXMuYmxvY2tfVHlwZSA9IGNjLkVudW0oQmxvY2tUeXBlKS5YaV9Tb2lsO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlhpX1NvaWxcIik7IFxyXG4gICAgICAgIHRoaXMucGF0aF9UeXBlID0gZGlyZWN0aW9uO1xyXG4gICAgICAgIHRhcmdldC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIHRhcmdldC5vcGFjaXR5ID0gMDtcclxuICAgICAgICBjYy50d2Vlbih0YXJnZXQpXHJcbiAgICAgICAgLnRvKDAuMSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgIC50bygwLjEse29wYWNpdHk6MH0pXHJcbiAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgIGlmKGRpcmVjdGlvbiAhPSBudWxsICYmIGVuZCA9PSBudWxsKXtcclxuICAgICAgICAgICAgICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOjAsXHJcbiAgICAgICAgICAgICAgICAgICAgdGltZTpjYy5meC5HYW1lQ29uZmlnLlRJTUVfSU5GTy53YXRlclNwZWVkWzBdLFxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6MCxcclxuICAgICAgICAgICAgICAgICAgICBjaXJjdWxhdGU6ZmFsc2VcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICBpZihuYW1lID09IFwid2F0ZXJcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ydW5XYXRlcihkYXRhKTtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICBlbHNlIHRoaXMucnVuUm9hZChkYXRhKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8v5L+u562R6Lev57q/5omn6KGMXHJcbiAgICBydW5Sb2FkKGRhdGEpe1xyXG4gICAgICAgIGlmKHRoaXMucGF0aF9UeXBlID09IFwiZXJyXCIpe1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmKGRhdGEuY2lyY3VsYXRlKVxyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLm5leHQsb3JkZXIpO1xyXG4gICAgICAgICAgICB9LCBkYXRhLnRpbWUpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8v5aaC5p6c5Y+M5ZCR6YO95Y2g55So5LqG6L+Y6L+b5p2l5bCx566X5q275LqGLSBcclxuICAgICAgICBpZih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ2ZXJ0aWNhbDJcIikuYWN0aXZlID09IHRydWUgJiYgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiaG9yaXpvbnRhbDJcIikuYWN0aXZlID09IHRydWUpe1xyXG4gICAgICAgICAgICBhbGVydChcIuays+mBk+W3sue7j+S6pOWPie+8jOS4jeiDveWGjemAmui/h1wiKTtcclxuICAgICAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR2FtZVNjZW5lXCIpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBlbHNlIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInR1cm4yXCIpLmFjdGl2ZSA9PSB0cnVlICYmIHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuWGlfU29pbCl7XHJcbiAgICAgICAgICAgIGFsZXJ0KFwi5rKz6YGT6L+H5byv5aSE77yM5LiN6IO95YaN5Lqk5Y+J5rKz6YGTXCIpO1xyXG4gICAgICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFyIHRhcmdldCA9IG51bGw7XHJcbiAgICAgICAgdmFyIHByb2dyZXNzID0gMTtcclxuICAgICAgICB2YXIgdGltZSA9IGRhdGEudGltZTtcclxuICAgICAgICB2YXIgb3JkZXIgPSBkYXRhLm9yZGVyICsgMTtcclxuICAgICAgICB2YXIgcmFuZG9tID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjQgKyAxKTtcclxuICAgICAgICB0YXJnZXQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ2ZXJ0aWNhbDJcIik7XHJcbiAgICAgICAgaWYodGFyZ2V0Lm5hbWUgPT0gXCJ2ZXJ0aWNhbFwiKXtcclxuICAgICAgICAgICAgbGV0IHdhdGVyMSA9IHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcIndhdmVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlcjFcIik7XHJcbiAgICAgICAgICAgIGxldCB3YXRlcjIgPSB0YXJnZXQuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXZlXCIpLmdldENoaWxkQnlOYW1lKFwid2F0ZXIyXCIpO1xyXG4gICAgICAgICAgICBsZXQgd2F0ZXIzID0gdGFyZ2V0LmdldENoaWxkQnlOYW1lKFwid2F2ZVwiKS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyM1wiKTtcclxuICAgICAgICAgICAgbGV0IHRpbWVEZWxheSA9IDAuMTU7XHJcbiAgICAgICAgICAgIHdhdGVyMS5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2MubW92ZVRvKDAuNixjYy52Mih3YXRlcjEueCwxMjApKSxjYy5kZWxheVRpbWUodGltZURlbGF5KSxcclxuICAgICAgICAgICAgY2MuY2FsbEZ1bmMoKCk9PntcclxuICAgICAgICAgICAgICAgIHdhdGVyMS55ID0gLTEyMFxyXG4gICAgICAgICAgICB9KSkucmVwZWF0Rm9yZXZlcigpKTtcclxuICAgICAgICAgICAgd2F0ZXIyLnJ1bkFjdGlvbihjYy5zZXF1ZW5jZShjYy5tb3ZlVG8oMC42LGNjLnYyKHdhdGVyMi54LDEyMCkpLGNjLmRlbGF5VGltZSh0aW1lRGVsYXkpLFxyXG4gICAgICAgICAgICBjYy5jYWxsRnVuYygoKT0+e1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIyLnkgPSAtMTIwXHJcbiAgICAgICAgICAgIH0pKS5yZXBlYXRGb3JldmVyKCkpO1xyXG4gICAgICAgICAgICB3YXRlcjMucnVuQWN0aW9uKGNjLnNlcXVlbmNlKGNjLm1vdmVUbygwLjYsY2MudjIod2F0ZXIzLngsMTIwKSksY2MuZGVsYXlUaW1lKHRpbWVEZWxheSksXHJcbiAgICAgICAgICAgIGNjLmNhbGxGdW5jKCgpPT57XHJcbiAgICAgICAgICAgICAgICB3YXRlcjMueSA9IC0xMjBcclxuICAgICAgICAgICAgfSkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB2YXIgbmFtZSA9IFwiYVwiICsgcmFuZG9tO1xyXG4gICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKXRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW25hbWVdO1xyXG5cclxuICAgICAgICBpZih0YXJnZXQuYWN0aXZlID09IHRydWUpe1xyXG4gICAgICAgICAgICB0YXJnZXQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJob3Jpem9udGFsMlwiKTtcclxuICAgICAgICAgICAgbmFtZSA9IFwiYlwiICsgcmFuZG9tO1xyXG4gICAgICAgICAgICBpZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZSkgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgfSBcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLnBhdGhfVHlwZSxkYXRhLm9yZGVyKTtcclxuICAgICAgICBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS51cCl7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkuZG93bil7XHJcbiAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDE4MDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5sZWZ0KXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gOTA7XHJcbiAgICAgICAgICAgIG5hbWUgPSBcImJcIiArIHJhbmRvbTtcclxuICAgICAgICAgICAgaWYodGhpcy5ibG9ja19UeXBlICE9IGNjLkVudW0oQmxvY2tUeXBlKS5SZWluZm9yY2UpIHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW25hbWVdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnJpZ2h0KXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gMjcwO1xyXG4gICAgICAgICAgICBuYW1lID0gXCJiXCIgKyByYW5kb207XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKSB0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtuYW1lXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidHVybjJcIik7XHJcbiAgICAgICAgICAgIGlmKHRhcmdldC5uYW1lID09IFwidHVyblwiKXtcclxuICAgICAgICAgICAgICAgIGxldCB3YXRlciA9IHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcIndhdmVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlclwiKTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAwXHJcbiAgICAgICAgICAgICAgICB3YXRlci5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2Mucm90YXRlVG8oNy4yLC0xMDgwKSxjYy5kZWxheVRpbWUoMCkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICAgICAgfSwgMjAwKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIFxyXG4gICAgICAgICAgICBuYW1lID0gXCJjXCIgKyByYW5kb207XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKXRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW25hbWVdO1xyXG4gICAgICAgICAgICBwcm9ncmVzcyA9IDAuMjU7XHJcbiAgICAgICAgICAgIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnVwX2xlZnQpe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKC10aGlzLnBvc19TaGlmdGluZywtdGhpcy5wb3NfU2hpZnRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkudXBfcmlnaHQpe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNjYWxlWCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKHRoaXMucG9zX1NoaWZ0aW5nLC10aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5kb3duX2xlZnQpe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gMTgwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNjYWxlWCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKC10aGlzLnBvc19TaGlmdGluZyx0aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5kb3duX3JpZ2h0KXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDE4MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbih0aGlzLnBvc19TaGlmdGluZyx0aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5sZWZ0X3VwKXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IC05MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zY2FsZVkgPSAtMTtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbih0aGlzLnBvc19TaGlmdGluZyx0aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5sZWZ0X2Rvd24pe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gOTA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLC10aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5yaWdodF91cCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAtOTA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLHRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnJpZ2h0X2Rvd24pe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gLTkwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNjYWxlWCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKC10aGlzLnBvc19TaGlmdGluZywtdGhpcy5wb3NfU2hpZnRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKHRoaXMucGF0aF9UeXBlID09IFwiUmVpbmZvcmNlXCIpe1xyXG4gICAgICAgICAgICB0YXJnZXQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJSZWluZm9yY2VcIik7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuRW5kKXRoaXMuYmxvY2tfVHlwZSA9IGNjLkVudW0oQmxvY2tUeXBlKS5SZWluZm9yY2U7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInZlcnRpY2FsMlwiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiZTFcIl07XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInR1cm4yXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJlM1wiXTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiaG9yaXpvbnRhbDJcIikuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImUyXCJdO1xyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGFyZ2V0Lm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICBwcm9ncmVzcyA9IDE7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRhcmdldClcclxuICAgICAgICAgICAgLnRvKGNjLmZ4LkdhbWVDb25maWcuVElNRV9JTkZPLlJlaW5mb3JjZVNwZWVkLHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgaWYoZGF0YS5jaXJjdWxhdGUpXHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2UuY2hhbmdlTWFwLG9yZGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5uZXh0LG9yZGVyKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gXCJYaV9Tb2lsXCIpe1xyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuRW5kICYmIHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuU3RhcnQpXHJcbiAgICAgICAgICAgICAgICB0aGlzLmJsb2NrX1R5cGUgPSBjYy5FbnVtKEJsb2NrVHlwZSkuWGlfU29pbDtcclxuICAgICAgICAgICAgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiWGlfU29pbFwiKTsgXHJcbiAgICAgICAgICAgIHRhcmdldC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0YXJnZXQub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRhcmdldClcclxuICAgICAgICAgICAgLnRvKDAuMDEse29wYWNpdHk6MX0pXHJcbiAgICAgICAgICAgIC50bygwLjAxLHtvcGFjaXR5OjB9KVxyXG4gICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgIGlmKGRhdGEuY2lyY3VsYXRlKXtcclxuICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5uZXh0LG9yZGVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBcIkVuZFwiKXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICBpZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLkVuZCAmJiB0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlN0YXJ0KVxyXG4gICAgICAgICAgICAgICAgdGhpcy5ibG9ja19UeXBlID0gY2MuRW51bShCbG9ja1R5cGUpLlhpX1NvaWw7XHJcbiAgICAgICAgICAgIGxldCBwb3NUZW1wID0gZGF0YS5sYXN0O1xyXG4gICAgICAgICAgICB2YXIgZGlyZWN0aW9uID0gXCJ1cFwiO1xyXG4gICAgICAgICAgICBpZih0aGlzLnBvcy54IC0gcG9zVGVtcC54ID09IDEpe1xyXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJyaWdodFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wb3MueCAtIHBvc1RlbXAueCA9PSAtMSl7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcImxlZnRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucG9zLnggLSBwb3NUZW1wLnggPT0gLTEpe1xyXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJkb3duXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICBcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLmlrnlkJE6XCIsZGlyZWN0aW9uKTtcclxuICAgICAgICAgICAgdGhpcy5zZXRfWGlfU29pbChkaXJlY3Rpb24sdHJ1ZSk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAvLyBhbGVydChcIuayu+awtOaIkOWKn1wiKTtcclxuICAgICAgICAgICAgLy8gdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiRW5kXCIpOyBcclxuICAgICAgICAgICAgLy8gdGFyZ2V0LmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIC8vIHRhcmdldC5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgLy8gY2MudHdlZW4odGFyZ2V0KVxyXG4gICAgICAgICAgICAvLyAudG8oMC41LHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgICAgIC8vIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAvLyAgICAgY29uc29sZS5sb2coXCLmuLjmiI/nu5PmnZ9cIik7XHJcbiAgICAgICAgICAgIC8vICAgICAvLyBpZihkYXRhLmNpcmN1bGF0ZSlcclxuICAgICAgICAgICAgLy8gICAgIC8vICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5uZXh0LG9yZGVyKTtcclxuICAgICAgICAgICAgLy8gfSlcclxuICAgICAgICAgICAgLy8gLnN0YXJ0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIHRhcmdldC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICBpZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlhpX1NvaWwpe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLmZpbGxSYW5nZSA9IDA7XHJcbiAgICAgICAgICAgICAgICBjYy50d2Vlbih0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkpXHJcbiAgICAgICAgICAgICAgICAudG8odGltZSx7ZmlsbFJhbmdlOnByb2dyZXNzfSlcclxuICAgICAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGRhdGEuY2lyY3VsYXRlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5uZXh0LG9yZGVyKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0Lm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLmZpbGxSYW5nZSA9IDE7XHJcbiAgICAgICAgICAgICAgICBjYy50d2Vlbih0YXJnZXQpXHJcbiAgICAgICAgICAgICAgICAudG8odGltZSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoZGF0YS5jaXJjdWxhdGUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLm5leHQsb3JkZXIpO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcblxyXG4gICAgLy/mtKrls7DmiafooYxcclxuICAgIHJ1bldhdGVyKGRhdGEpe1xyXG4gICAgICAgIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyU3RhcnRcIikuYWN0aXZlID09IHRydWUgJiYgdGhpcy5ibG9ja19UeXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5TdGFydCl7XHJcbiAgICAgICAgICAgIC8vIHNwLmdldENoaWxkQnlOYW1lKFwid2F0ZXJTdGFydFwiKS5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICBjYy50d2Vlbih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlclN0YXJ0XCIpKVxyXG4gICAgICAgICAgICAudG8oMC4yLHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIGlmKHRoaXMucGF0aF9UeXBlID09IFwiZXJyXCIpe1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmKGRhdGEuY2lyY3VsYXRlKVxyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLm5leHRXYXRlcixvcmRlcik7XHJcbiAgICAgICAgICAgIH0sIGRhdGEudGltZSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy/lpoLmnpzlj4zlkJHpg73ljaDnlKjkuobov5jov5vmnaXlsLHnrpfmrbvkuoYtIFxyXG4gICAgICAgIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInZlcnRpY2FsXCIpLmFjdGl2ZSA9PSB0cnVlICYmIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImhvcml6b250YWxcIikuYWN0aXZlID09IHRydWUpe1xyXG4gICAgICAgICAgICBhbGVydChcIuays+mBk+W3sue7j+S6pOWPie+8jOS4jeiDveWGjemAmui/h1wiKTtcclxuICAgICAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR2FtZVNjZW5lXCIpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBlbHNlIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInR1cm5cIikuYWN0aXZlID09IHRydWUgJiYgdGhpcy5ibG9ja19UeXBlICE9IGNjLkVudW0oQmxvY2tUeXBlKS5YaV9Tb2lsKXtcclxuICAgICAgICAgICAgYWxlcnQoXCLmsrPpgZPov4flvK/lpITvvIzkuI3og73lho3kuqTlj4nmsrPpgZNcIik7XHJcbiAgICAgICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkdhbWVTY2VuZVwiKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB2YXIgdGFyZ2V0ID0gbnVsbDtcclxuICAgICAgICB2YXIgcHJvZ3Jlc3MgPSAxO1xyXG4gICAgICAgIHZhciB0aW1lID0gZGF0YS50aW1lO1xyXG4gICAgICAgIHZhciBvcmRlciA9IGRhdGEub3JkZXIgKyAxO1xyXG4gICAgICAgIHZhciByYW5kb20gPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqNCArIDEpO1xyXG4gICAgICAgIHRhcmdldCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInZlcnRpY2FsXCIpO1xyXG4gICAgICAgIGlmKHRhcmdldC5uYW1lID09IFwidmVydGljYWxcIil7XHJcbiAgICAgICAgICAgIGxldCB3YXRlcjEgPSB0YXJnZXQuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXZlXCIpLmdldENoaWxkQnlOYW1lKFwid2F0ZXIxXCIpO1xyXG4gICAgICAgICAgICBsZXQgd2F0ZXIyID0gdGFyZ2V0LmdldENoaWxkQnlOYW1lKFwid2F2ZVwiKS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyMlwiKTtcclxuICAgICAgICAgICAgbGV0IHdhdGVyMyA9IHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcIndhdmVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlcjNcIik7XHJcbiAgICAgICAgICAgIGxldCB0aW1lRGVsYXkgPSAwLjE1O1xyXG4gICAgICAgICAgICB3YXRlcjEucnVuQWN0aW9uKGNjLnNlcXVlbmNlKGNjLm1vdmVUbygwLjYsY2MudjIod2F0ZXIxLngsMTIwKSksY2MuZGVsYXlUaW1lKHRpbWVEZWxheSksXHJcbiAgICAgICAgICAgIGNjLmNhbGxGdW5jKCgpPT57XHJcbiAgICAgICAgICAgICAgICB3YXRlcjEueSA9IC0xMjBcclxuICAgICAgICAgICAgfSkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgICAgIHdhdGVyMi5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2MubW92ZVRvKDAuNixjYy52Mih3YXRlcjIueCwxMjApKSxjYy5kZWxheVRpbWUodGltZURlbGF5KSxcclxuICAgICAgICAgICAgY2MuY2FsbEZ1bmMoKCk9PntcclxuICAgICAgICAgICAgICAgIHdhdGVyMi55ID0gLTEyMFxyXG4gICAgICAgICAgICB9KSkucmVwZWF0Rm9yZXZlcigpKTtcclxuICAgICAgICAgICAgd2F0ZXIzLnJ1bkFjdGlvbihjYy5zZXF1ZW5jZShjYy5tb3ZlVG8oMC42LGNjLnYyKHdhdGVyMy54LDEyMCkpLGNjLmRlbGF5VGltZSh0aW1lRGVsYXkpLFxyXG4gICAgICAgICAgICBjYy5jYWxsRnVuYygoKT0+e1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIzLnkgPSAtMTIwXHJcbiAgICAgICAgICAgIH0pKS5yZXBlYXRGb3JldmVyKCkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdmFyIG5hbWUgPSBcImFcIiArIHJhbmRvbTtcclxuICAgICAgICAvLyBpZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZSl0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtuYW1lXTtcclxuXHJcbiAgICAgICAgaWYodGFyZ2V0LmFjdGl2ZSA9PSB0cnVlKXtcclxuICAgICAgICAgICAgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiaG9yaXpvbnRhbFwiKTtcclxuICAgICAgICAgICAgbGV0IHdhdGVyMSA9IHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcIndhdmVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlcjFcIik7XHJcbiAgICAgICAgICAgIGxldCB3YXRlcjIgPSB0YXJnZXQuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXZlXCIpLmdldENoaWxkQnlOYW1lKFwid2F0ZXIyXCIpO1xyXG4gICAgICAgICAgICBsZXQgd2F0ZXIzID0gdGFyZ2V0LmdldENoaWxkQnlOYW1lKFwid2F2ZVwiKS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyM1wiKTtcclxuICAgICAgICAgICAgbGV0IHRpbWVEZWxheSA9IDAuMTU7XHJcbiAgICAgICAgICAgIHdhdGVyMS5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2MubW92ZVRvKDAuNixjYy52Mih3YXRlcjEueCwxMjApKSxjYy5kZWxheVRpbWUodGltZURlbGF5KSxcclxuICAgICAgICAgICAgY2MuY2FsbEZ1bmMoKCk9PntcclxuICAgICAgICAgICAgICAgIHdhdGVyMS55ID0gLTEyMFxyXG4gICAgICAgICAgICB9KSkucmVwZWF0Rm9yZXZlcigpKTtcclxuICAgICAgICAgICAgd2F0ZXIyLnJ1bkFjdGlvbihjYy5zZXF1ZW5jZShjYy5tb3ZlVG8oMC42LGNjLnYyKHdhdGVyMi54LDEyMCkpLGNjLmRlbGF5VGltZSh0aW1lRGVsYXkpLFxyXG4gICAgICAgICAgICBjYy5jYWxsRnVuYygoKT0+e1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIyLnkgPSAtMTIwXHJcbiAgICAgICAgICAgIH0pKS5yZXBlYXRGb3JldmVyKCkpO1xyXG4gICAgICAgICAgICB3YXRlcjMucnVuQWN0aW9uKGNjLnNlcXVlbmNlKGNjLm1vdmVUbygwLjYsY2MudjIod2F0ZXIzLngsMTIwKSksY2MuZGVsYXlUaW1lKHRpbWVEZWxheSksXHJcbiAgICAgICAgICAgIGNjLmNhbGxGdW5jKCgpPT57XHJcbiAgICAgICAgICAgICAgICB3YXRlcjMueSA9IC0xMjBcclxuICAgICAgICAgICAgfSkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgICAgIG5hbWUgPSBcImJcIiArIHJhbmRvbTtcclxuICAgICAgICAgICAgLy9pZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZSkgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgfSBcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLnBhdGhfVHlwZSxkYXRhLm9yZGVyKTtcclxuICAgICAgICBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS51cCl7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkuZG93bil7XHJcbiAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDE4MDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5sZWZ0KXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gOTA7XHJcbiAgICAgICAgICAgIG5hbWUgPSBcImJcIiArIHJhbmRvbTtcclxuICAgICAgICAgICAgLy9pZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZSkgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkucmlnaHQpe1xyXG4gICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAyNzA7XHJcbiAgICAgICAgICAgIG5hbWUgPSBcImJcIiArIHJhbmRvbTtcclxuICAgICAgICAgICAgLy9pZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZSkgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIHRhcmdldCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInR1cm5cIik7XHJcbiAgICAgICAgICAgIGlmKHRhcmdldC5uYW1lID09IFwidHVyblwiKXtcclxuICAgICAgICAgICAgICAgIGxldCB3YXRlciA9IHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcIndhdmVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlclwiKTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAwXHJcbiAgICAgICAgICAgICAgICB3YXRlci5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2Mucm90YXRlVG8oNy4yLC0xMDgwKSxjYy5kZWxheVRpbWUoMCkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICAgICAgfSwgMjAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBuYW1lID0gXCJjXCIgKyByYW5kb207XHJcbiAgICAgICAgICAgIC8vaWYodGhpcy5ibG9ja19UeXBlICE9IGNjLkVudW0oQmxvY2tUeXBlKS5SZWluZm9yY2UpdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgICAgIHByb2dyZXNzID0gMC4yNTtcclxuICAgICAgICAgICAgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkudXBfbGVmdCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLC10aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS51cF9yaWdodCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2NhbGVYID0gLTE7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24odGhpcy5wb3NfU2hpZnRpbmcsLXRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmRvd25fbGVmdCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAxODA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2NhbGVYID0gLTE7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLHRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmRvd25fcmlnaHQpe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gMTgwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKHRoaXMucG9zX1NoaWZ0aW5nLHRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmxlZnRfdXApe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gLTkwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNjYWxlWSA9IC0xO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKHRoaXMucG9zX1NoaWZ0aW5nLHRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmxlZnRfZG93bil7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSA5MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbigtdGhpcy5wb3NfU2hpZnRpbmcsLXRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnJpZ2h0X3VwKXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IC05MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbigtdGhpcy5wb3NfU2hpZnRpbmcsdGhpcy5wb3NfU2hpZnRpbmcpO1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkucmlnaHRfZG93bil7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAtOTA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2NhbGVYID0gLTE7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLC10aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gaWYodGhpcy5wYXRoX1R5cGUgPT0gXCJSZWluZm9yY2VcIil7XHJcbiAgICAgICAgLy8gICAgIHRhcmdldCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlJlaW5mb3JjZVwiKTtcclxuICAgICAgICAvLyAgICAgdGhpcy5ibG9ja19UeXBlID0gY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZTtcclxuICAgICAgICAvLyAgICAgLy8gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidmVydGljYWxcIikuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImUxXCJdO1xyXG4gICAgICAgIC8vICAgICAvLyB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0dXJuXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJlM1wiXTtcclxuICAgICAgICAvLyAgICAgLy8gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiaG9yaXpvbnRhbFwiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiZTJcIl07XHJcbiAgICAgICAgLy8gICAgIHRhcmdldC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIC8vICAgICB0YXJnZXQub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgLy8gICAgIHByb2dyZXNzID0gMTtcclxuICAgICAgICAvLyAgICAgY2MudHdlZW4odGFyZ2V0KVxyXG4gICAgICAgIC8vICAgICAudG8oY2MuZnguR2FtZUNvbmZpZy5USU1FX0lORk8uUmVpbmZvcmNlU3BlZWQse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAvLyAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgLy8gICAgICAgICBpZihkYXRhLmNpcmN1bGF0ZSlcclxuICAgICAgICAvLyAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5jaGFuZ2VNYXAsb3JkZXIpO1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLm5leHRXYXRlcixvcmRlcik7XHJcbiAgICAgICAgLy8gICAgIH0pXHJcbiAgICAgICAgLy8gICAgIC5zdGFydCgpO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAvLyBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IFwiWGlfU29pbFwiKXtcclxuICAgICAgICAvLyAgICAgdGFyZ2V0LmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIC8vICAgICB0aGlzLmJsb2NrX1R5cGUgPSBjYy5FbnVtKEJsb2NrVHlwZSkuWGlfU29pbDtcclxuICAgICAgICAvLyAgICAgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiWGlfU29pbFwiKTsgXHJcbiAgICAgICAgLy8gICAgIHRhcmdldC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIC8vICAgICB0YXJnZXQub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgLy8gICAgIGNjLnR3ZWVuKHRhcmdldClcclxuICAgICAgICAvLyAgICAgLnRvKDAuMDEse29wYWNpdHk6MX0pXHJcbiAgICAgICAgLy8gICAgIC50bygwLjAxLHtvcGFjaXR5OjB9KVxyXG4gICAgICAgIC8vICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAvLyAgICAgICAgIGlmKGRhdGEuY2lyY3VsYXRlKXtcclxuICAgICAgICAvLyAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5uZXh0V2F0ZXIsb3JkZXIpO1xyXG4gICAgICAgIC8vICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgIC8vICAgICB9KVxyXG4gICAgICAgIC8vICAgICAuc3RhcnQoKTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgaWYodGhpcy5wYXRoX1R5cGUgPT0gXCJFbmRcIil7XHJcbiAgICAgICAgICAgIHRhcmdldC5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgaWYodGhpcy5ibG9ja19UeXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5FbmQpe1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwid2F0ZXJTdGFydFwiKS5hY3RpdmUgPT0gdHJ1ZSAmJiB0aGlzLmJsb2NrX1R5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLkVuZCl7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwid2F0ZXJTdGFydFwiKSlcclxuICAgICAgICAgICAgICAgICAgICAudG8oMC4yLHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCk9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxlcnQoXCLmsrvmsLTmiJDlip9cIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbCA8IDcpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsICs9IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR2FtZVNjZW5lXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHRhcmdldCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkVuZFwiKTsgXHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRhcmdldClcclxuICAgICAgICAgICAgICAgIC50bygwLjUse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgICAgIGFsZXJ0KFwi5rK75rC05aSx6LSlXCIpXHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR2FtZVNjZW5lXCIpO1xyXG5cclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5maWxsUmFuZ2UgPSAwO1xyXG4gICAgICAgICAgICBjYy50d2Vlbih0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkpXHJcbiAgICAgICAgICAgIC50byh0aW1lLHtmaWxsUmFuZ2U6cHJvZ3Jlc3N9KVxyXG4gICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgIGlmKGRhdGEuY2lyY3VsYXRlKVxyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLm5leHRXYXRlcixvcmRlcik7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgLy8gdXBkYXRlIChkdCkge31cclxufVxyXG4iXX0= \ 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 a796aa0..413823f 100644 --- a/temp/quick-scripts/dst/assets/Script/ControlManager.js +++ b/temp/quick-scripts/dst/assets/Script/ControlManager.js @@ -60,17 +60,23 @@ var NewClass = /** @class */ (function (_super) { this.canTouch = true; }; NewClass.prototype.setPosition = function (tip) { - tip.setPosition(45, -35); + tip.setPosition(30, -35); if (this.tipArray.length > 0) { var length = this.tipArray.length + 1; - var posY = Math.ceil(length / 5) - 1; - var posX = length - Math.floor(posY) * 5 - 1; - tip.setPosition(45 + 65 * posX, -35 - 60 * posY); + 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; + 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 = []; }; NewClass.prototype.back_Click = function () { @@ -89,8 +95,9 @@ var NewClass = /** @class */ (function (_super) { if (!this.canTouch) return; var prefab = this.tip; - if (data == "reinforce" || data == "soil") + if (data == "reinforce" || data == "soil") { prefab = this[data]; + } var tip = cc.instantiate(prefab); if (data == "up") tip.angle = 180; @@ -99,6 +106,15 @@ var NewClass = /** @class */ (function (_super) { 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); @@ -140,4 +156,4 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxDb250cm9sTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1RSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQTRFQztRQXpFRyxTQUFHLEdBQVksSUFBSSxDQUFDO1FBRXBCLFNBQUcsR0FBYyxJQUFJLENBQUM7UUFFdEIsZUFBUyxHQUFjLElBQUksQ0FBQztRQUU1QixVQUFJLEdBQWMsSUFBSSxDQUFDOztRQWtFdkIsaUJBQWlCO0lBQ3JCLENBQUM7SUE3REcsd0JBQXdCO0lBRXhCLGVBQWU7SUFFZix3QkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVELDhCQUFXLEdBQVgsVUFBWSxHQUFHO1FBQ1gsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QixJQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBQztZQUN4QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUM7WUFDcEMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLElBQUksSUFBSSxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUMs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TUFBTSxDQUFDOzBDQUNHO0lBVE4sUUFBUTtRQUQ1QixPQUFPO09BQ2EsUUFBUSxDQTRFNUI7SUFBRCxlQUFDO0NBNUVELEFBNEVDLENBNUVxQyxFQUFFLENBQUMsU0FBUyxHQTRFakQ7a0JBNUVvQixRQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTGVhcm4gVHlwZVNjcmlwdDpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvdHlwZXNjcmlwdC5odG1sXHJcbi8vIExlYXJuIEF0dHJpYnV0ZTpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvcmVmZXJlbmNlL2F0dHJpYnV0ZXMuaHRtbFxyXG4vLyBMZWFybiBsaWZlLWN5Y2xlIGNhbGxiYWNrczpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvbGlmZS1jeWNsZS1jYWxsYmFja3MuaHRtbFxyXG5cclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcblxyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBNYXA6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIHRpcDogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5QcmVmYWIpXHJcbiAgICByZWluZm9yY2U6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgc29pbDogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIFxyXG5cclxuICAgIHRpcEFycmF5OmFueTtcclxuICAgIGNvbnRyb2xBcnJheTphbnk7XHJcbiAgICBjYW5Ub3VjaDpib29sZWFuO1xyXG4gICAgLy8gTElGRS1DWUNMRSBDQUxMQkFDS1M6XHJcblxyXG4gICAgLy8gb25Mb2FkICgpIHt9XHJcblxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHRoaXMudGlwQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmNvbnRyb2xBcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuY2FuVG91Y2ggPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFBvc2l0aW9uKHRpcCl7XHJcbiAgICAgICAgdGlwLnNldFBvc2l0aW9uKDQ1LC0zNSk7XHJcbiAgICAgICAgaWYodGhpcy50aXBBcnJheS5sZW5ndGggPiAwKXtcclxuICAgICAgICAgICAgbGV0IGxlbmd0aCA9IHRoaXMudGlwQXJyYXkubGVuZ3RoKzE7XHJcbiAgICAgICAgICAgIGxldCBwb3NZID0gTWF0aC5jZWlsKGxlbmd0aC81KSAtIDE7XHJcbiAgICAgICAgICAgIGxldCBwb3NYID0gbGVuZ3RoIC0gTWF0aC5mbG9vcihwb3NZKSo1IC0gMTtcclxuICAgICAgICAgICAgdGlwLnNldFBvc2l0aW9uKDQ1ICsgNjUqcG9zWCwtMzUgLTYwKnBvc1kpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZW1vdmVBbGxUaXAoKXtcclxuICAgICAgICBpZighdGhpcy5jYW5Ub3VjaCkgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMudGlwQXJyYXkgPSBbXTtcclxuICAgIH1cclxuXHJcbiAgICBiYWNrX0NsaWNrKCl7XHJcbiAgICAgICAgaWYoIXRoaXMuY2FuVG91Y2gpIHJldHVybjtcclxuICAgICAgICBpZih0aGlzLnRpcEFycmF5Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBsZXQgdGlwID0gdGhpcy50aXBBcnJheVt0aGlzLnRpcEFycmF5Lmxlbmd0aC0xXTtcclxuICAgICAgICAgICAgdGlwLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aXAucmVtb3ZlRnJvbVBhcmVudCh0aGlzLk1hcCk7XHJcbiAgICAgICAgICAgIHRpcCA9IG51bGw7XHJcbiAgICAgICAgICAgIHRoaXMudGlwQXJyYXkucG9wKCk7XHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbEFycmF5LnBvcCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgYnRuX0NsaWNrKHRhcmdldCxkYXRhKXtcclxuICAgICAgICBpZighdGhpcy5jYW5Ub3VjaCkgcmV0dXJuO1xyXG4gICAgICAgIGxldCBwcmVmYWIgPSB0aGlzLnRpcDtcclxuICAgICAgICBpZihkYXRhID09IFwicmVpbmZvcmNlXCIgfHwgZGF0YSA9PSBcInNvaWxcIikgcHJlZmFiID0gdGhpc1tkYXRhXTtcclxuICAgICAgICBsZXQgdGlwID0gY2MuaW5zdGFudGlhdGUocHJlZmFiKTtcclxuICAgICAgICBpZihkYXRhID09IFwidXBcIikgdGlwLmFuZ2xlID0gMTgwO1xyXG4gICAgICAgIGlmKGRhdGEgPT0gXCJsZWZ0XCIpIHRpcC5hbmdsZSA9IC05MDtcclxuICAgICAgICBpZihkYXRhID09IFwicmlnaHRcIikgdGlwLmFuZ2xlID0gOTA7XHJcbiAgICAgICAgdGlwLnBhcmVudCA9IHRoaXMuTWFwO1xyXG4gICAgICAgIHRoaXMuc2V0UG9zaXRpb24odGlwKTtcclxuICAgICAgICB0aGlzLnRpcEFycmF5LnB1c2godGlwKTtcclxuICAgICAgICB0aGlzLmNvbnRyb2xBcnJheS5wdXNoKGRhdGEpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLmNvbnRyb2wsZGF0YSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHN0YXJ0X0NsaWNrKCl7XHJcbiAgICAgICAgaWYoIXRoaXMuY2FuVG91Y2gpIHJldHVybjtcclxuICAgICAgICB0aGlzLmNhblRvdWNoID0gZmFsc2U7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc3RhcnRHYW1lLHRoaXMuY29udHJvbEFycmF5KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyB1cGRhdGUgKGR0KSB7fVxyXG59XHJcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxDb250cm9sTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1RSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQWdHQztRQTdGRyxTQUFHLEdBQVksSUFBSSxDQUFDO1FBRXBCLFNBQUcsR0FBYyxJQUFJLENBQUM7UUFFdEIsZUFBUyxHQUFjLElBQUksQ0FBQztRQUU1QixVQUFJLEdBQWMsSUFBSSxDQUFDOztRQXNGdkIsaUJBQWlCO0lBQ3JCLENBQUM7SUFqRkcsd0JBQXdCO0lBRXhCLGVBQWU7SUFFZix3QkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVELDhCQUFXLEdBQVgsVUFBWSxHQUFHO1FBQ1gsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QixJQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBQztZQUN4QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUM7WUFDcEMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLElBQUksSUFBSSxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUMs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LCJzb3VyY2VzQ29udGVudCI6WyIvLyBMZWFybiBUeXBlU2NyaXB0OlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy90eXBlc2NyaXB0Lmh0bWxcclxuLy8gTGVhcm4gQXR0cmlidXRlOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9yZWZlcmVuY2UvYXR0cmlidXRlcy5odG1sXHJcbi8vIExlYXJuIGxpZmUtY3ljbGUgY2FsbGJhY2tzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9saWZlLWN5Y2xlLWNhbGxiYWNrcy5odG1sXHJcblxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5ld0NsYXNzIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuXHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIE1hcDogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgdGlwOiBjYy5QcmVmYWIgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIHJlaW5mb3JjZTogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5QcmVmYWIpXHJcbiAgICBzb2lsOiBjYy5QcmVmYWIgPSBudWxsO1xyXG4gICAgXHJcblxyXG4gICAgdGlwQXJyYXk6YW55O1xyXG4gICAgY29udHJvbEFycmF5OmFueTtcclxuICAgIGNhblRvdWNoOmJvb2xlYW47XHJcbiAgICAvLyBMSUZFLUNZQ0xFIENBTExCQUNLUzpcclxuXHJcbiAgICAvLyBvbkxvYWQgKCkge31cclxuXHJcbiAgICBzdGFydCAoKSB7XHJcbiAgICAgICAgdGhpcy50aXBBcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuY29udHJvbEFycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5jYW5Ub3VjaCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0UG9zaXRpb24odGlwKXtcclxuICAgICAgICB0aXAuc2V0UG9zaXRpb24oMzAsLTM1KTtcclxuICAgICAgICBpZih0aGlzLnRpcEFycmF5Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBsZXQgbGVuZ3RoID0gdGhpcy50aXBBcnJheS5sZW5ndGgrMTtcclxuICAgICAgICAgICAgbGV0IHBvc1kgPSBNYXRoLmNlaWwobGVuZ3RoLzgpIC0gMTtcclxuICAgICAgICAgICAgbGV0IHBvc1ggPSBsZW5ndGggLSBNYXRoLmZsb29yKHBvc1kpKjggLSAxO1xyXG4gICAgICAgICAgICB0aXAuc2V0UG9zaXRpb24oMzAgKyA0OCpwb3NYLC0zNSAtNDgqcG9zWSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZUFsbFRpcCgpe1xyXG4gICAgICAgIGlmKCF0aGlzLmNhblRvdWNoKSByZXR1cm47XHJcbiAgICAgICAgZm9yKGxldCBpPTA7IGk8dGhpcy50aXBBcnJheS5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgbGV0IHRpcCA9IHRoaXMudGlwQXJyYXlbaV07XHJcbiAgICAgICAgICAgIHRpcC5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGlwLnJlbW92ZUZyb21QYXJlbnQodGhpcy5NYXApO1xyXG4gICAgICAgICAgICB0aXAgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnRpcEFycmF5ID0gW107XHJcbiAgICB9XHJcblxyXG4gICAgYmFja19DbGljaygpe1xyXG4gICAgICAgIGlmKCF0aGlzLmNhblRvdWNoKSByZXR1cm47XHJcbiAgICAgICAgaWYodGhpcy50aXBBcnJheS5sZW5ndGggPiAwKXtcclxuICAgICAgICAgICAgbGV0IHRpcCA9IHRoaXMudGlwQXJyYXlbdGhpcy50aXBBcnJheS5sZW5ndGgtMV07XHJcbiAgICAgICAgICAgIHRpcC5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGlwLnJlbW92ZUZyb21QYXJlbnQodGhpcy5NYXApO1xyXG4gICAgICAgICAgICB0aXAgPSBudWxsO1xyXG4gICAgICAgICAgICB0aGlzLnRpcEFycmF5LnBvcCgpO1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRyb2xBcnJheS5wb3AoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGJ0bl9DbGljayh0YXJnZXQsZGF0YSl7XHJcbiAgICAgICAgaWYoIXRoaXMuY2FuVG91Y2gpIHJldHVybjtcclxuICAgICAgICBsZXQgcHJlZmFiID0gdGhpcy50aXA7XHJcbiAgICAgICAgaWYoZGF0YSA9PSBcInJlaW5mb3JjZVwiIHx8IGRhdGEgPT0gXCJzb2lsXCIpe1xyXG4gICAgICAgICAgICBwcmVmYWIgPSB0aGlzW2RhdGFdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgdGlwID0gY2MuaW5zdGFudGlhdGUocHJlZmFiKTtcclxuICAgICAgICBpZihkYXRhID09IFwidXBcIikgdGlwLmFuZ2xlID0gMTgwO1xyXG4gICAgICAgIGlmKGRhdGEgPT0gXCJsZWZ0XCIpIHRpcC5hbmdsZSA9IC05MDtcclxuICAgICAgICBpZihkYXRhID09IFwicmlnaHRcIikgdGlwLmFuZ2xlID0gOTA7XHJcbiAgICAgICAgdGlwLnBhcmVudCA9IHRoaXMuTWFwO1xyXG4gICAgICBcclxuXHJcbiAgICAgICAgaWYodGhpcy5jb250cm9sQXJyYXlbdGhpcy5jb250cm9sQXJyYXkubGVuZ3RoLTFdID09IFwicmVpbmZvcmNlXCIgfHwgXHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbEFycmF5W3RoaXMuY29udHJvbEFycmF5Lmxlbmd0aC0xXSA9PSBcInNvaWxcIil7XHJcbiAgICAgICAgICAgICAgICBpZihkYXRhID09IFwicmVpbmZvcmNlXCIgfHwgZGF0YSA9PSBcInNvaWxcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aXBBcnJheVt0aGlzLnRpcEFycmF5Lmxlbmd0aC0xXS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aXBBcnJheVt0aGlzLnRpcEFycmF5Lmxlbmd0aC0xXSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aXBBcnJheS5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2xBcnJheS5wb3AoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXRQb3NpdGlvbih0aXApO1xyXG5cclxuICAgICAgICB0aGlzLnRpcEFycmF5LnB1c2godGlwKTtcclxuICAgICAgICB0aGlzLmNvbnRyb2xBcnJheS5wdXNoKGRhdGEpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLmNvbnRyb2wsZGF0YSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHN0YXJ0X0NsaWNrKCl7XHJcbiAgICAgICAgaWYoIXRoaXMuY2FuVG91Y2gpIHJldHVybjtcclxuICAgICAgICB0aGlzLmNhblRvdWNoID0gZmFsc2U7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc3RhcnRHYW1lLHRoaXMuY29udHJvbEFycmF5KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyB1cGRhdGUgKGR0KSB7fVxyXG59XHJcbiJdfQ== \ 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 26312d3..c65b297 100644 --- a/temp/quick-scripts/dst/assets/Script/GameManager.js +++ b/temp/quick-scripts/dst/assets/Script/GameManager.js @@ -43,6 +43,8 @@ var GameManager = /** @class */ (function (_super) { var _this = _super !== null && _super.apply(this, arguments) || this; _this.Map = null; _this.Block = null; + _this.Time = null; + _this.Countdown = null; return _this; } GameManager.prototype.onLoad = function () { @@ -54,28 +56,50 @@ var GameManager = /** @class */ (function (_super) { //初始化数据 GameManager.prototype.init = function () { this.initMap(); + this.countTime = cc.fx.GameConfig.TIME_INFO.totalTime; + this.waterTime = cc.fx.GameConfig.TIME_INFO.waterTime[cc.fx.GameConfig.GM_INFO.level]; + 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); }; - //初始化地图 + //初始化地图` GameManager.prototype.initMap = function () { this.block_Array = []; this.path_Array = []; + this.water_Array = []; this.map_Array = []; + this.plan_over = false; this.map_Hight = 0; this.map_Width = 0; - var arr = cc.fx.GameConfig.LEVEL_INFO[0][0].map; + var number = 10; //9 + number = Math.floor(Math.random() * cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level].length); + // number = 1; + var arr = cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][number].map; + debugger; + this.node.getChildByName("Top").getChildByName("id").getComponent(cc.Label).string = + cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][number].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]); - if (this.map_Array[i][j] == cc.Enum(Block_1.BlockType).Start) + 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); } @@ -106,30 +130,50 @@ var GameManager = /** @class */ (function (_super) { break; } } - this.runWater(0); + this.runRoad(0); }; //开始执行洪峰来了的动画 - GameManager.prototype.runWater = function (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)); + // console.log(this.water_Array); + // debugger; + 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); + // console.log(this.water_Array); + } + } + 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"; - // 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"; - // } + setTimeout(function () { + if (!_this.plan_over) { + console.log("准备出水"); + _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); + _this.waterTween.stop(); + progress.fillRange = 1; + _this.runWater(0); + } + }, 500); } else { if (this.path_Array[order].z == 6 && order + 1 < this.path_Array.length) { @@ -140,39 +184,52 @@ var GameManager = /** @class */ (function (_super) { if (this.path_Array[order + 1].z == 5) { direction = "Xi_Soil"; } + else if (this.path_Array[order + 1].z == 6 && order == 0) { + direction = "Reinforce"; + } else { - direction = this.getDirection(order); + direction = this.getDirection(order, this.path_Array); } } else { - direction = this.getDirection(order); + direction = this.getDirection(order, this.path_Array); } } // console.log(order,this.path_Array[order].x,this.path_Array[order].y,i); - var jg = this.getBoundary(order, this.path_Array[order].x, this.path_Array[order].y, direction); + // 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; var target = this.block_Array[i].getComponent("Block"); - // console.log("步骤:",order,"方向",direction); 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.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" && 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: 0.2, + time: cc.fx.GameConfig.TIME_INFO.waterSpeed[cc.fx.GameConfig.GM_INFO.level], type: this.path_Array[order].z, - circulate: circulate + circulate: circulate, + last: pos }; - target.runWater(data); + target.runRoad(data); } }; //判断边界。或者撞山,或者湿地没有加固 - GameManager.prototype.getBoundary = function (order, x, y, direction) { + 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; @@ -180,7 +237,7 @@ var GameManager = /** @class */ (function (_super) { alert("超过边界,游戏结束"); } else { - var i = this.path_Array[order].x * this.map_Array[0].length + this.path_Array[order].y; + 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; @@ -195,12 +252,73 @@ var GameManager = /** @class */ (function (_super) { } 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 (this.water_Array[order].z == 6 && order + 1 < this.water_Array.length) { + 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); + } + } + // console.log(order,this.path_Array[order].x,this.path_Array[order].y,i); + var jg = this.getBoundary(order, this.water_Array[order].x, this.water_Array[order].y, direction, this.water_Array); + console.log("步骤:", order, "方向", direction); + if (direction == "" || jg == 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 data = { + order: order, + time: cc.fx.GameConfig.TIME_INFO.waterSpeed[cc.fx.GameConfig.GM_INFO.level], + type: this.water_Array[order].z, + circulate: circulate + }; + target.runWater(data); + } + }; //获取息壤的格子的方向 - GameManager.prototype.getXi_Soil = function (order) { + GameManager.prototype.getXi_Soil = function (order, road) { var direction = null; //如果息壤后面还有下一步的话 - if (order + 1 < this.path_Array.length) { - direction = this.getDirection(order); + if (order + 1 < road.length) { + direction = this.getDirection(order, road); if (direction == "up" || direction == "right_up" || direction == "left_up") { direction = "up"; } @@ -217,28 +335,35 @@ var GameManager = /** @class */ (function (_super) { return direction; }; //设置息壤 - GameManager.prototype.set_Soil = function (order) { - var direction = this.getXi_Soil(order); + 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 = this.path_Array[order].x; i <= length; i++) { - var n = i * this.map_Array[0].length + this.path_Array[order].y; + 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) { + 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 = this.path_Array[order].x; i >= length; i--) { - var n = i * this.map_Array[0].length + this.path_Array[order].y; + 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) { + if (target.block_Type == 3 || target.block_Type == 4) { length = i + 1; + if (target.block_Type == 4) { + length -= 1; + } i = -1; break; } @@ -246,11 +371,14 @@ var GameManager = /** @class */ (function (_super) { } else if (direction == "up") { length = 0; - for (var i = this.path_Array[order].y; i >= length; i--) { - var n = this.path_Array[order].x * this.map_Array[0].length + i; + 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) { + if (target.block_Type == 3 || target.block_Type == 4) { length = i + 1; + if (target.block_Type == 4) { + length -= 1; + } i = -1; break; } @@ -258,114 +386,181 @@ var GameManager = /** @class */ (function (_super) { } else if (direction == "down") { length = this.map_Hight - 1; - for (var i = this.path_Array[order].y; i <= length; i++) { - var n = this.path_Array[order].x * this.map_Array[0].length + i; + 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) { + 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); + this.soil_Find(direction, order, length, road, name); }; //查找息壤蛮遗憾路径 - GameManager.prototype.soil_Find = function (direction, order, length) { - var start = this.path_Array[order].x; + 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 + this.path_Array[order].y; + var n = i * this.map_Array[0].length + road[order].y; var target = this.block_Array[n].getComponent("Block"); - if (i == start) - target.set_Xi_SoilType(this.getDirection(order), null); + if (i == start) { + 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); + this.changePath(order, number, false, road); jg = order; } - target.set_Xi_SoilType(direction, jg); + 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 + this.path_Array[order].y; + var n = i * this.map_Array[0].length + road[order].y; var target = this.block_Array[n].getComponent("Block"); - if (i == start) - target.set_Xi_SoilType(this.getDirection(order), null); + if (i == start) { + 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); + this.changePath(order, number, false, road); jg = order; } - target.set_Xi_SoilType(direction, jg); + target.set_Xi_SoilType(direction, jg, name); } } } else if (direction == "up") { - start = this.path_Array[order].y; + start = road[order].y; for (var i = start; i >= length; i--) { - var n = this.path_Array[order].x * this.map_Array[0].length + i; + var n = road[order].x * this.map_Array[0].length + i; var target = this.block_Array[n].getComponent("Block"); - if (i == start) - target.set_Xi_SoilType(this.getDirection(order), null); + if (i == start) { + 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); + this.changePath(order, number, true, road); jg = order; } - target.set_Xi_SoilType(direction, jg); + console.log("想上息壤插入:", this.path_Array[order].x, i); + target.set_Xi_SoilType(direction, jg, name); } } } else if (direction == "down") { - start = this.path_Array[order].y; + start = road[order].y; for (var i = start; i <= length; i++) { - var n = this.path_Array[order].x * this.map_Array[0].length + i; + var n = road[order].x * this.map_Array[0].length + i; var target = this.block_Array[n].getComponent("Block"); - if (i == start) - target.set_Xi_SoilType(this.getDirection(order), null); + if (i == start) { + 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); + this.changePath(order, number, true, road); jg = order; } - target.set_Xi_SoilType(direction, jg); + target.set_Xi_SoilType(direction, jg, name); } } } }; - //息壤过后改变修筑路径 - GameManager.prototype.changePath = function (order, number, direction) { - for (var i = (order + 1); i < this.path_Array.length; i++) { - if (!direction) - this.path_Array[i].x += (number); - else - this.path_Array[i].y += (number); + //改变水流地图 + 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 { + 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); + } + } } - // // this.path_Array[data-1].x = 5; - // this.path_Array[data].x = 5; }; GameManager.prototype.changeMap = function (data) { }; //获取洪峰方向 - GameManager.prototype.getDirection = function (order) { + GameManager.prototype.getDirection = function (order, road) { var name = ""; //入海口比较复杂单独判断 if (order == 0) { - var nextX = this.path_Array[order + 1].x - this.path_Array[order].x; - var nextY = this.path_Array[order].y - this.path_Array[order + 1].y; + var nextX = road[order + 1].x - road[order].x; + var nextY = road[order].y - road[order + 1].y; //在底边 - if (this.path_Array[order].y == this.map_Array[0].length - 1) { + if (road[order].y == this.map_Array[0].length - 1) { if (nextX == 0) { if (nextY == 1) name = "up"; @@ -378,7 +573,7 @@ var GameManager = /** @class */ (function (_super) { name = "up_left"; } //在顶边 - else if (this.path_Array[order].y == 0) { + else if (road[order].y == 0) { if (nextX == 0) { if (nextY == 1) name = "err"; @@ -391,7 +586,7 @@ var GameManager = /** @class */ (function (_super) { name = "down_left"; } //在左边 - else if (this.path_Array[order].x == 0) { + else if (road[order].x == 0) { if (nextX == 0) { if (nextY == 1) name = "right_up"; @@ -404,7 +599,7 @@ var GameManager = /** @class */ (function (_super) { name = "err"; } //在右边 - else if (this.path_Array[order].x == this.map_Array.length - 1) { + else if (road[order].x == this.map_Array.length - 1) { if (nextX == 0) { if (nextY == 1) name = "left_up"; @@ -420,18 +615,25 @@ var GameManager = /** @class */ (function (_super) { //不是第一步,已经走过一步 else if (order > 0) { var next = 1; - if (order + 2 < this.path_Array.length) { - if (this.path_Array[order + 1].z == 6) + if (order + 2 < road.length) { + if (road[order + 1].z == 6) next = 2; } //用于判断此点的上一个点,是为了判断当前方块洪水七点,以及下一个移动方向,判断洪终点方向 - var nextX = this.path_Array[order + next].x - this.path_Array[order].x; - var nextY = this.path_Array[order].y - this.path_Array[order + next].y; - var previousX = this.path_Array[order].x - this.path_Array[order - 1].x; - var previousY = this.path_Array[order - 1].y - this.path_Array[order].y; + 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) { - previousX = this.path_Array[order].x - this.path_Array[order - 2].x; - previousY = this.path_Array[order - 2].y - this.path_Array[order].y; + 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) { @@ -488,6 +690,10 @@ var GameManager = /** @class */ (function (_super) { GameManager.prototype.fit = function () { var jg = this.setFit(); if (!jg) { + this.Map.scale = 1.2; + } + else { + this.Map.scale = 1; } }; //判断全面屏 @@ -535,11 +741,27 @@ var GameManager = /** @class */ (function (_super) { GameManager.prototype.startGame = function (data) { this.setMap(data); }; + 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.plan_over = true; + setTimeout(function () { + _this.runWater(0); + }, 500); + } + } + } + }; //如果是倒计时 调用此方法 GameManager.prototype.updateCountDownTime = function () { if (this.countTime > 0) { this.countTime -= 1; - // this.time.string = cc.fx.GameTool.getTimeMargin(this.countTime); + this.Time.string = cc.fx.GameTool.getTimeMargin(this.countTime); if (this.countTime < 5) { var over = this.node.getChildByName("Over"); cc.tween(over) @@ -575,21 +797,27 @@ var GameManager = /** @class */ (function (_super) { }; GameManager.prototype.clickSun = function (data) { }; + GameManager.prototype.addEnd = function (data) { + }; GameManager.prototype.nextWater = function () { }; GameManager.prototype.onEnable = function () { cc.fx.Notifications.on(cc.fx.Message.control, this.clickSun, this); - cc.fx.Notifications.on(cc.fx.Message.next, this.runWater, 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.changeMap, this.changeMap, this); + cc.fx.Notifications.on(cc.fx.Message.addEnd, this.addEnd, this); }; GameManager.prototype.onDisable = function () { cc.fx.Notifications.off(cc.fx.Message.control, this.clickSun); - cc.fx.Notifications.off(cc.fx.Message.next, this.runWater); + 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.changeMap, this.changeMap); + cc.fx.Notifications.off(cc.fx.Message.addEnd, this.addEnd); }; GameManager.prototype.update = function (dt) { }; @@ -599,6 +827,12 @@ var GameManager = /** @class */ (function (_super) { __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); GameManager = __decorate([ ccclass ], GameManager); @@ -617,4 +851,4 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpQ0FBb0M7QUFFcEMsU0FBUztBQUNILElBQUEsS0FBc0IsRUFBRSxDQUFDLFVBQVUsRUFBbEMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFpQixDQUFDO0FBRTFDO0lBQXlDLCtCQUFZO0lBQXJEO1FBQUEscUVBMmlCQztRQXhpQkcsU0FBRyxHQUFZLElBQUksQ0FBQztRQUdwQixXQUFLLEdBQWMsSUFBSSxDQUFDOztJQXFpQjVCLENBQUM7SUEzaEJHLDRCQUFNLEdBQU47SUFFQSxDQUFDO0lBQ0QsMkJBQUssR0FBTDtRQUNJLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBQ0QsT0FBTztJQUNQLDBCQUFJLEdBQUo7UUFDSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFFbkIsQ0FBQztJQUNELE9BQU87SUFDUCw2QkFBTyxHQUFQO1FBQ0ksSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNoRCxXQUFXO1FBRVgsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQUMsSUFBSSxFQUFFLENBQUM7WUFDaEMsT0FB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cnQgeyBCbG9ja1R5cGUgfSBmcm9tIFwiLi9CbG9ja1wiO1xyXG5cclxuLy8g5Li75ri45oiP5o6n5Yi257G7XHJcbmNvbnN0IHtjY2NsYXNzLCBwcm9wZXJ0eX0gPSBjYy5fZGVjb3JhdG9yO1xyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBHYW1lTWFuYWdlciBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcblxyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBNYXA6IGNjLk5vZGUgPSBudWxsO1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5QcmVmYWIpXHJcbiAgICBCbG9jazogY2MuUHJlZmFiID0gbnVsbDtcclxuXHJcbiAgICBjb3VudFRpbWU6IG51bWJlcjsgICAgICAvL+aAu+WAkuiuoeaXtlxyXG4gICAgYmxvY2tfQXJyYXk6IGFueTsgICAgICAgLy/miYDmnInlnZfmlbDnu4RcclxuICAgIHBhdGhfQXJyYXk6IGFueTsgICAgICAgIC8v5L+u562R6Lev5b6EXHJcbiAgICBtYXBfQXJyYXk6IGFueTsgICAgICAgICAvL+WcsOWbvuaVsOe7hFxyXG4gICAgd2F0ZXJfUGF0aEFyYXk6YW55OyAgICAgLy/mtKrls7Dot6/lvoRcclxuICAgIG1hcF9IaWdodDpudW1iZXI7ICAgICAgIC8v5Zyw5Zu+6auY5bqmXHJcbiAgICBtYXBfV2lkdGg6bnVtYmVyOyAgICAgICAvL+WcsOWbvuWuveW6plxyXG5cclxuICAgIG9uTG9hZCAoKSB7XHJcblxyXG4gICAgfVxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHRoaXMuZml0KCk7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcbiAgICAvL+WIneWni+WMluaVsOaNrlxyXG4gICAgaW5pdCgpe1xyXG4gICAgICAgIHRoaXMuaW5pdE1hcCgpO1xyXG5cclxuICAgIH1cclxuICAgIC8v5Yid5aeL5YyW5Zyw5Zu+XHJcbiAgICBpbml0TWFwKCl7XHJcbiAgICAgICAgdGhpcy5ibG9ja19BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMucGF0aF9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMubWFwX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5tYXBfSGlnaHQgPSAwO1xyXG4gICAgICAgIHRoaXMubWFwX1dpZHRoID0gMDtcclxuICAgICAgICBsZXQgYXJyID0gY2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPWzBdWzBdLm1hcDtcclxuICAgICAgICAvL+WwhuWcsOWbvngseei9tOWIh+aNolxyXG5cclxuICAgICAgICB0aGlzLm1hcF9BcnJheSA9IGFyclswXS5tYXAoKGl0ZW0sIGkpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIGFyci5tYXAoKHZhbCkgPT4gdmFsW2ldKVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgdGhpcy5tYXBfV2lkdGggPSB0aGlzLm1hcF9BcnJheS5sZW5ndGg7XHJcbiAgICAgICAgdGhpcy5tYXBfSGlnaHQgPSB0aGlzLm1hcF9BcnJheVswXS5sZW5ndGg7XHJcblxyXG4gICAgICAgIGZvcihsZXQgaT0wO2k8dGhpcy5tYXBfQXJyYXkubGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaj0wOyBqPHRoaXMubWFwX0FycmF5IFtpXS5sZW5ndGg7aisrKXtcclxuICAgICAgICAgICAgICAgIGxldCBibG9jayA9IGNjLmluc3RhbnRpYXRlKHRoaXMuQmxvY2spO1xyXG4gICAgICAgICAgICAgICAgYmxvY2sucGFyZW50PSB0aGlzLk1hcDtcclxuICAgICAgICAgICAgICAgIGJsb2NrLmdldENvbXBvbmVudChcIkJsb2NrXCIpLmluaXREYXRhKHRoaXMubWFwX0FycmF5IFtpXVtqXSk7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLm1hcF9BcnJheSBbaV1bal0gPT0gY2MuRW51bShCbG9ja1R5cGUpLlN0YXJ0KSB0aGlzLnBhdGhfQXJyYXkucHVzaChjYy52MyhpLGosY2MuRW51bShCbG9ja1R5cGUpLk5vbWFsKSk7XHJcbiAgICAgICAgICAgICAgICBibG9jay5zZXRQb3NpdGlvbihjYy52MigtYmxvY2sud2lkdGgqMi41ICsgaSpibG9jay53aWR0aCxibG9jay5oZWlnaHQqNCAtIGoqYmxvY2suaGVpZ2h0KSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJsb2NrX0FycmF5LnB1c2goYmxvY2spO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8v5byA5aeL5ZCO77yM5oyJ546p5a625pON5L2c77yM5bCG6Lev5b6E5Lit5Zyw5Zu+5Z2X5pS+5YWl5pWw57uE5LitXHJcbiAgICBzZXRNYXAoZGF0YSl7XHJcbiAgICAgICAgZm9yKGxldCBpPTA7IGk8ZGF0YS5sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgIGxldCBzdGFydCA9IHRoaXMucGF0aF9BcnJheVt0aGlzLnBhdGhfQXJyYXkubGVuZ3RoLTFdO1xyXG4gICAgICAgICAgICBzd2l0Y2goZGF0YVtpXSl7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwidXBcIjpcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhdGhfQXJyYXkucHVzaChjYy52MyhzdGFydC54LHN0YXJ0LnktMSxjYy5FbnVtKEJsb2NrVHlwZSkuTm9tYWwpKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJkb3duXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXRoX0FycmF5LnB1c2goY2MudjMoc3RhcnQueCxzdGFydC55KzEsY2MuRW51bShCbG9ja1R5cGUpLk5vbWFsKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwibGVmdFwiOlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGF0aF9BcnJheS5wdXNoKGNjLnYzKHN0YXJ0LngtMSxzdGFydC55LGNjLkVudW0oQmxvY2tUeXBlKS5Ob21hbCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBcInJpZ2h0XCI6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXRoX0FycmF5LnB1c2goY2MudjMoc3RhcnQueCsxLHN0YXJ0LnksY2MuRW51bShCbG9ja1R5cGUpLk5vbWFsKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwicmVpbmZvcmNlXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXRoX0FycmF5LnB1c2goY2MudjMoc3RhcnQueCxzdGFydC55LGNjLkVudW0oQmxvY2tUeXBlKS5SZWluZm9yY2UpKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJzb2lsXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXRoX0FycmF5LnB1c2goY2MudjMoc3RhcnQueCxzdGFydC55LGNjLkVudW0oQmxvY2tUeXBlKS5YaV9Tb2lsKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMucnVuV2F0ZXIoMCk7XHJcbiAgICB9XHJcbiAgICAvL+W8gOWni+aJp+ihjOa0quWzsOadpeS6hueahOWKqOeUu1xyXG4gICAgcnVuV2F0ZXIob3JkZXIpe1xyXG4gICAgICAgIG9yZGVyID0gcGFyc2VJbnQob3JkZXIpO1xyXG4gICAgICAgIGlmKG9yZGVyIDw9IHRoaXMucGF0aF9BcnJheS5sZW5ndGgtMSl7XHJcbiAgICAgICAgICAgIGxldCBpID0gdGhpcy5wYXRoX0FycmF5W29yZGVyXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCt0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnk7XHJcbiAgICAgICAgICAgIGxldCBkaXJlY3Rpb24gPSBcIlwiO1xyXG4gICAgICAgICAgICBsZXQgY2lyY3VsYXRlID0gdHJ1ZTtcclxuICAgICAgICAgICAgaWYob3JkZXIgPT0gdGhpcy5wYXRoX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgICAgIGNpcmN1bGF0ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJFbmRcIjtcclxuICAgICAgICAgICAgICAgIC8vIGlmKGRpcmVjdGlvbiA9PSBcInVwXCIgfHwgZGlyZWN0aW9uID09IFwicmlnaHRfdXBcIiB8fCBkaXJlY3Rpb24gPT0gXCJsZWZ0X3VwXCIpe1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIGRpcmVjdGlvbiA9IFwidXBcIjtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIC8vIGVsc2UgaWYoZGlyZWN0aW9uID09IFwiZG93blwiIHx8IGRpcmVjdGlvbiA9PSBcImxlZnRfZG93blwiIHx8IGRpcmVjdGlvbiA9PSBcInJpZ2h0X2Rvd25cIil7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgZGlyZWN0aW9uID0gXCJkb3duXCI7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAvLyBlbHNlIGlmKGRpcmVjdGlvbiA9PSBcImxlZnRcIiB8fCBkaXJlY3Rpb24gPT0gXCJ1cF9sZWZ0XCIgfHwgZGlyZWN0aW9uID09IFwiZG93bl9sZWZ0XCIpe1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIGRpcmVjdGlvbiA9IFwibGVmdFwiO1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgLy8gZWxzZSBpZihkaXJlY3Rpb24gPT0gXCJyaWdodFwiIHx8IGRpcmVjdGlvbiA9PSBcInVwX3JpZ2h0XCIgfHwgZGlyZWN0aW9uID09IFwiZG93bl9yaWdodFwiKXtcclxuICAgICAgICAgICAgICAgIC8vICAgICBkaXJlY3Rpb24gPSBcInJpZ2h0XCI7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuXHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnogPT0gNiAmJiBvcmRlciArIDEgPCB0aGlzLnBhdGhfQXJyYXkubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJSZWluZm9yY2VcIjtcclxuICAgICAgICAgICAgICAgICAgICBpID0gdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLngqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3RoaXMucGF0aF9BcnJheVtvcmRlcisxXS55O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihvcmRlcisxIDwgdGhpcy5wYXRoX0FycmF5Lmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLnogPT0gNSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFwiWGlfU29pbFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSB0aGlzLmdldERpcmVjdGlvbihvcmRlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSB0aGlzLmdldERpcmVjdGlvbihvcmRlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2cob3JkZXIsdGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSxpKTtcclxuICAgICAgICAgICAgbGV0IGpnID0gdGhpcy5nZXRCb3VuZGFyeShvcmRlcix0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngsdGhpcy5wYXRoX0FycmF5W29yZGVyXS55LGRpcmVjdGlvbik7XHJcblxyXG4gICAgICAgICAgICBpZihkaXJlY3Rpb24gPT0gXCJcIiB8fCBqZyA9PSBmYWxzZSkgcmV0dXJuO1xyXG4gICAgICAgICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5ibG9ja19BcnJheVtpXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLmraXpqqQ6XCIsb3JkZXIsXCLmlrnlkJFcIixkaXJlY3Rpb24pO1xyXG4gICAgICAgICAgICB0YXJnZXQuc2V0UGF0aChkaXJlY3Rpb24pO1xyXG4gICAgICAgICAgICBpZihvcmRlciA+IDAgJiYgb3JkZXIgPCB0aGlzLnBhdGhfQXJyYXkubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLnogPT0gNSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRfU29pbChvcmRlcisxKTtcclxuICAgICAgICAgICAgICAgICAgICBjaXJjdWxhdGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjpvcmRlcixcclxuICAgICAgICAgICAgICAgIHRpbWU6MC4yLFxyXG4gICAgICAgICAgICAgICAgdHlwZTp0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnosXHJcbiAgICAgICAgICAgICAgICBjaXJjdWxhdGU6Y2lyY3VsYXRlXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRhcmdldC5ydW5XYXRlcihkYXRhKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+WIpOaWrei+ueeVjOOAguaIluiAheaSnuWxse+8jOaIluiAhea5v+WcsOayoeacieWKoOWbulxyXG4gICAgZ2V0Qm91bmRhcnkob3JkZXIseCx5LGRpcmVjdGlvbil7XHJcbiAgICAgICAgbGV0IGpnID0gdHJ1ZTtcclxuICAgICAgICBpZih4IDwgMCB8fCB4ID49IHRoaXMubWFwX1dpZHRoIHx8IHkgPCAwIHx8IHkgPj0gdGhpcy5tYXBfSGlnaHQpe1xyXG4gICAgICAgICAgICBqZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIui2hei/h+i+ueeVjO+8jOa4uOaIj+e7k+adn1wiKTtcclxuICAgICAgICAgICAgYWxlcnQoXCLotoXov4fovrnnlYzvvIzmuLjmiI/nu5PmnZ9cIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBsZXQgaSA9IHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgrdGhpcy5wYXRoX0FycmF5W29yZGVyXS55O1xyXG4gICAgICAgICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5ibG9ja19BcnJheVtpXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgICAgICAgICAgaWYodGFyZ2V0LmJsb2NrX1R5cGUgPT0gMyl7XHJcbiAgICAgICAgICAgICAgICBqZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCLkv67nrZHlsbHls7DvvIzmuLjmiI/nu5PmnZ9cIik7XHJcbiAgICAgICAgICAgICAgICBhbGVydChcIuS/ruetkeWxseWzsO+8jOa4uOaIj+e7k+adn1wiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRhcmdldC5ibG9ja19UeXBlID09IDIgJiYgZGlyZWN0aW9uICE9IFwiUmVpbmZvcmNlXCIpe1xyXG4gICAgICAgICAgICAgICAgamcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5L+u562R5pyq5Yqg5Zu65rm/5ZywLOa4uOaIj+e7k+adn1wiKTtcclxuICAgICAgICAgICAgICAgIGFsZXJ0KFwi5L+u562R5pyq5Yqg5Zu65rm/5ZywLOa4uOaIj+e7k+adn1wiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gamc7XHJcbiAgICB9XHJcblxyXG4gICAgLy/ojrflj5bmga/lo6TnmoTmoLzlrZDnmoTmlrnlkJFcclxuICAgIGdldFhpX1NvaWwob3JkZXIpe1xyXG4gICAgICAgIHZhciBkaXJlY3Rpb24gPSBudWxsO1xyXG4gICAgICAgIC8v5aaC5p6c5oGv5aOk5ZCO6Z2i6L+Y5pyJ5LiL5LiA5q2l55qE6K+dXHJcbiAgICAgICAgaWYob3JkZXIgKyAxIDwgdGhpcy5wYXRoX0FycmF5Lmxlbmd0aCl7XHJcbiAgICAgICAgICAgIGRpcmVjdGlvbiA9IHRoaXMuZ2V0RGlyZWN0aW9uKG9yZGVyKTtcclxuICAgICAgICAgICAgaWYoZGlyZWN0aW9uID09IFwidXBcIiB8fCBkaXJlY3Rpb24gPT0gXCJyaWdodF91cFwiIHx8IGRpcmVjdGlvbiA9PSBcImxlZnRfdXBcIil7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcInVwXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZihkaXJlY3Rpb24gPT0gXCJkb3duXCIgfHwgZGlyZWN0aW9uID09IFwibGVmdF9kb3duXCIgfHwgZGlyZWN0aW9uID09IFwicmlnaHRfZG93blwiKXtcclxuICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFwiZG93blwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwibGVmdFwiIHx8IGRpcmVjdGlvbiA9PSBcInVwX2xlZnRcIiB8fCBkaXJlY3Rpb24gPT0gXCJkb3duX2xlZnRcIil7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcImxlZnRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKGRpcmVjdGlvbiA9PSBcInJpZ2h0XCIgfHwgZGlyZWN0aW9uID09IFwidXBfcmlnaHRcIiB8fCBkaXJlY3Rpb24gPT0gXCJkb3duX3JpZ2h0XCIpe1xyXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJyaWdodFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSAgXHJcbiAgICAgICAgcmV0dXJuIGRpcmVjdGlvbjtcclxuICAgIH1cclxuICAgIC8v6K6+572u5oGv5aOkXHJcbiAgICBzZXRfU29pbChvcmRlcil7XHJcbiAgICAgICAgdmFyIGRpcmVjdGlvbiA9IHRoaXMuZ2V0WGlfU29pbChvcmRlcik7XHJcbiAgICAgICAgdmFyIGxlbmd0aCA9IDA7XHJcbiAgICAgICAgaWYoZGlyZWN0aW9uID09IFwicmlnaHRcIil7XHJcbiAgICAgICAgICAgIGxlbmd0aCA9IHRoaXMubWFwX1dpZHRoIC0gMTtcclxuICAgICAgICAgICAgZm9yKGxldCBpPXRoaXMucGF0aF9BcnJheVtvcmRlcl0ueDtpPD1sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gaSp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgrdGhpcy5wYXRoX0FycmF5W29yZGVyXS55O1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbbl0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSAzKXtcclxuICAgICAgICAgICAgICAgICAgICBsZW5ndGggPSBpLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgaSA9IDEwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgICAgICBlbHNlIGlmKGRpcmVjdGlvbiA9PSBcImxlZnRcIil7XHJcbiAgICAgICAgICAgIGxlbmd0aCA9IDA7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT10aGlzLnBhdGhfQXJyYXlbb3JkZXJdLng7aT49bGVuZ3RoO2ktLSl7XHJcbiAgICAgICAgICAgICAgICBsZXQgbiA9IGkqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3RoaXMucGF0aF9BcnJheVtvcmRlcl0ueTtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W25dLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYodGFyZ2V0LmJsb2NrX1R5cGUgPT0gMyl7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVuZ3RoID0gaSsxO1xyXG4gICAgICAgICAgICAgICAgICAgIGkgPSAtMTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICAgICAgZWxzZSBpZihkaXJlY3Rpb24gPT0gXCJ1cFwiKXtcclxuICAgICAgICAgICAgbGVuZ3RoID0gMDtcclxuICAgICAgICAgICAgZm9yKGxldCBpPXRoaXMucGF0aF9BcnJheVtvcmRlcl0ueTtpPj1sZW5ndGg7aS0tKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gdGhpcy5wYXRoX0FycmF5W29yZGVyXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtpO1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbbl0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSAzKXtcclxuICAgICAgICAgICAgICAgICAgICBsZW5ndGggPSBpKzE7XHJcbiAgICAgICAgICAgICAgICAgICAgaSA9IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgICAgICBlbHNlIGlmKGRpcmVjdGlvbiA9PSBcImRvd25cIil7XHJcbiAgICAgICAgICAgIGxlbmd0aCA9IHRoaXMubWFwX0hpZ2h0IC0gMTtcclxuICAgICAgICAgICAgZm9yKGxldCBpPXRoaXMucGF0aF9BcnJheVtvcmRlcl0ueTtpPD1sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gdGhpcy5wYXRoX0FycmF5W29yZGVyXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtpO1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbbl0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSAzKXtcclxuICAgICAgICAgICAgICAgICAgICBsZW5ndGggPSAgaS0xO1xyXG4gICAgICAgICAgICAgICAgICAgIGkgPSAxMDAwMDtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcblxyXG4gICAgICAgIHRoaXMuc29pbF9GaW5kKGRpcmVjdGlvbixvcmRlcixsZW5ndGgpO1xyXG4gICAgfVxyXG4gICAgLy/mn6Xmib7mga/lo6Tom67pgZfmhr7ot6/lvoRcclxuICAgIHNvaWxfRmluZChkaXJlY3Rpb24sb3JkZXIsbGVuZ3RoKXtcclxuICAgICAgICBsZXQgc3RhcnQgPSB0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLng7XHJcbiAgICAgICAgaWYoZGlyZWN0aW9uID09IFwicmlnaHRcIil7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaSA9IHN0YXJ0OyBpPD1sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgICAgICBsZXQgbiA9IGkqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3RoaXMucGF0aF9BcnJheVtvcmRlcl0ueTtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W25dLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYoaSA9PSBzdGFydCkgIHRhcmdldC5zZXRfWGlfU29pbFR5cGUodGhpcy5nZXREaXJlY3Rpb24ob3JkZXIpLG51bGwpO1xyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGpnID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICBpZihpID09IGxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBudW1iZXIgPSBpIC0gc3RhcnQgLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlUGF0aChvcmRlcixudW1iZXIsZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqZyA9IG9yZGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldC5zZXRfWGlfU29pbFR5cGUoZGlyZWN0aW9uLGpnKTtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH0gICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICAgICAgZWxzZSBpZihkaXJlY3Rpb24gPT0gXCJsZWZ0XCIpe1xyXG4gICAgICAgICAgICBmb3IobGV0IGkgPSBzdGFydDsgaT49bGVuZ3RoOyBpLS0pe1xyXG4gICAgICAgICAgICAgICAgbGV0IG4gPSBpKnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCt0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnk7XHJcbiAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5ibG9ja19BcnJheVtuXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZihpID09IHN0YXJ0KSAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZSh0aGlzLmdldERpcmVjdGlvbihvcmRlciksbnVsbCk7XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgamcgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGkgPT0gbGVuZ3RoKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG51bWJlciA9IGkgLSBzdGFydCArIDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlUGF0aChvcmRlcixudW1iZXIsZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqZyA9IG9yZGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZShkaXJlY3Rpb24samcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgICAgICBlbHNlIGlmKGRpcmVjdGlvbiA9PSBcInVwXCIpe1xyXG4gICAgICAgICAgICBzdGFydCA9IHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueTtcclxuICAgICAgICAgICAgZm9yKGxldCBpID0gc3RhcnQ7IGk+PWxlbmd0aDsgaS0tKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gdGhpcy5wYXRoX0FycmF5W29yZGVyXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtpO1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbbl0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICBpZihpID09IHN0YXJ0KSAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZSh0aGlzLmdldERpcmVjdGlvbihvcmRlciksbnVsbCk7XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgamcgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGkgPT0gbGVuZ3RoKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG51bWJlciA9IGkgLSBzdGFydCArIDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlUGF0aChvcmRlcixudW1iZXIsdHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGpnID0gb3JkZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQuc2V0X1hpX1NvaWxUeXBlKGRpcmVjdGlvbixqZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwiZG93blwiKXtcclxuICAgICAgICAgICAgc3RhcnQgPSB0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnk7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaSA9IHN0YXJ0OyBpPD1sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgICAgICBsZXQgbiA9IHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgraTtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W25dLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYoaSA9PSBzdGFydCkgIHRhcmdldC5zZXRfWGlfU29pbFR5cGUodGhpcy5nZXREaXJlY3Rpb24ob3JkZXIpLG51bGwpO1xyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGpnID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICBpZihpID09IGxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBudW1iZXIgPSBpIC0gc3RhcnQgLSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVBhdGgob3JkZXIsbnVtYmVyLHRydWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqZyA9IG9yZGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZShkaXJlY3Rpb24samcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuXHJcbiAgICAvL+aBr+WjpOi/h+WQjuaUueWPmOS/ruetkei3r+W+hFxyXG4gICAgY2hhbmdlUGF0aChvcmRlcixudW1iZXIsZGlyZWN0aW9uKXtcclxuICAgICAgICBmb3IobGV0IGkgPSAob3JkZXIrMSk7IGk8dGhpcy5wYXRoX0FycmF5Lmxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgaWYoIWRpcmVjdGlvbil0aGlzLnBhdGhfQXJyYXlbaV0ueCArPSAobnVtYmVyKTtcclxuICAgICAgICAgICAgZWxzZSB0aGlzLnBhdGhfQXJyYXlbaV0ueSArPSAobnVtYmVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gLy8gdGhpcy5wYXRoX0FycmF5W2RhdGEtMV0ueCA9IDU7XHJcbiAgICAgICAgLy8gdGhpcy5wYXRoX0FycmF5W2RhdGFdLnggPSA1O1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBjaGFuZ2VNYXAoZGF0YSl7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC8v6I635Y+W5rSq5bOw5pa55ZCRXHJcbiAgICBnZXREaXJlY3Rpb24ob3JkZXIpe1xyXG4gICAgICAgIHZhciBuYW1lID0gXCJcIjtcclxuICAgICAgICAvL+WFpea1t+WPo+avlOi+g+WkjeadguWNleeLrOWIpOaWrVxyXG4gICAgICAgIGlmKG9yZGVyID09IDApe1xyXG4gICAgICAgICAgICBsZXQgbmV4dFggPSB0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueCAtIHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueDtcclxuICAgICAgICAgICAgbGV0IG5leHRZID0gdGhpcy5wYXRoX0FycmF5W29yZGVyXS55IC0gdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLnk7XHJcbiAgICAgICAgICAgIC8v5Zyo5bqV6L65XHJcbiAgICAgICAgICAgIGlmKHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSA9PSB0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgtMSl7XHJcbiAgICAgICAgICAgICAgICBpZihuZXh0WCA9PSAwKXtcclxuICAgICAgICAgICAgICAgICAgICBpZihuZXh0WSA9PSAxKW5hbWUgPSBcInVwXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WSA9PSAtMSkgbmFtZSA9IFwiZXJyXCI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IDEpIG5hbWUgPSBcInVwX3JpZ2h0XCI7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IC0xKSBuYW1lID0gXCJ1cF9sZWZ0XCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy/lnKjpobbovrlcclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnkgPT0gMCl7XHJcbiAgICAgICAgICAgICAgICBpZihuZXh0WCA9PSAwKXtcclxuICAgICAgICAgICAgICAgICAgICBpZihuZXh0WSA9PSAxKW5hbWUgPSBcImVyclwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFkgPT0gLTEpIG5hbWUgPSBcImRvd25cIjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFggPT0gMSkgbmFtZSA9IFwiZG93bl9yaWdodFwiO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAtMSkgbmFtZSA9IFwiZG93bl9sZWZ0XCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy/lnKjlt6bovrlcclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICBpZihuZXh0WCA9PSAwKXtcclxuICAgICAgICAgICAgICAgICAgICBpZihuZXh0WSA9PSAxKW5hbWUgPSBcInJpZ2h0X3VwXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WSA9PSAtMSkgbmFtZSA9IFwicmlnaHRfZG93blwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAxKSBuYW1lID0gXCJyaWdodFwiO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAtMSkgbmFtZSA9IFwiZXJyXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy/lnKjlj7PovrlcclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnggPT0gdGhpcy5tYXBfQXJyYXkubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgaWYobmV4dFggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYobmV4dFkgPT0gMSluYW1lID0gXCJsZWZ0X3VwXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WSA9PSAtMSkgbmFtZSA9IFwibGVmdF9kb3duXCI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IDEpIG5hbWUgPSBcImVyclwiO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAtMSkgbmFtZSA9IFwibGVmdFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8v5LiN5piv56ys5LiA5q2l77yM5bey57uP6LWw6L+H5LiA5q2lXHJcbiAgICAgICAgZWxzZSBpZihvcmRlciA+IDApe1xyXG4gICAgICAgICAgICB2YXIgbmV4dCA9IDE7XHJcbiAgICAgICAgICAgIGlmKG9yZGVyKzIgPCB0aGlzLnBhdGhfQXJyYXkubGVuZ3RoKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS56ID09IDYpIG5leHQgPSAyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgIFxyXG4gICAgICAgICAgICAvL+eUqOS6juWIpOaWreatpOeCueeahOS4iuS4gOS4queCue+8jOaYr+S4uuS6huWIpOaWreW9k+WJjeaWueWdl+a0quawtOS4g+eCue+8jOS7peWPiuS4i+S4gOS4quenu+WKqOaWueWQke+8jOWIpOaWrea0que7iOeCueaWueWQkVxyXG4gICAgICAgICAgICBsZXQgbmV4dFggPSB0aGlzLnBhdGhfQXJyYXlbb3JkZXIrbmV4dF0ueCAtIHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueDtcclxuICAgICAgICAgICAgbGV0IG5leHRZID0gdGhpcy5wYXRoX0FycmF5W29yZGVyXS55IC0gdGhpcy5wYXRoX0FycmF5W29yZGVyK25leHRdLnlcclxuICAgICAgICAgICAgbGV0IHByZXZpb3VzWCA9IHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCAtIHRoaXMucGF0aF9BcnJheVtvcmRlci0xXS54O1xyXG4gICAgICAgICAgICBsZXQgcHJldmlvdXNZID0gdGhpcy5wYXRoX0FycmF5W29yZGVyLTFdLnkgLSB0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnk7XHJcbiAgICAgICAgICAgIGlmKHByZXZpb3VzWCA9PSAwICYmIHByZXZpb3VzWSA9PSAwKXtcclxuICAgICAgICAgICAgICAgIHByZXZpb3VzWCA9IHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCAtIHRoaXMucGF0aF9BcnJheVtvcmRlci0yXS54O1xyXG4gICAgICAgICAgICAgICAgcHJldmlvdXNZID0gdGhpcy5wYXRoX0FycmF5W29yZGVyLTJdLnkgLSB0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYocHJldmlvdXNYID09IDAgJiYgcHJldmlvdXNZID49IDEpe1xyXG4gICAgICAgICAgICAgICAgaWYobmV4dFggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYobmV4dFkgPT0gMSluYW1lID0gXCJ1cFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFkgPT0gLTEpIG5hbWUgPSBcImVyclwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAxKSBuYW1lID0gXCJ1cF9yaWdodFwiO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAtMSkgbmFtZSA9IFwidXBfbGVmdFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYocHJldmlvdXNYID09IDAgJiYgcHJldmlvdXNZIDw9IC0xKXtcclxuICAgICAgICAgICAgICAgIGlmKG5leHRYID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKG5leHRZID09IDEpbmFtZSA9IFwiZXJyXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WSA9PSAtMSkgbmFtZSA9IFwiZG93blwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAxKSBuYW1lID0gXCJkb3duX3JpZ2h0XCI7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IC0xKSBuYW1lID0gXCJkb3duX2xlZnRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHByZXZpb3VzWCA+PSAxICYmIHByZXZpb3VzWSA9PSAwKXtcclxuICAgICAgICAgICAgICAgIGlmKG5leHRYID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKG5leHRZID09IDEpbmFtZSA9IFwicmlnaHRfdXBcIjtcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRZID09IC0xKSBuYW1lID0gXCJyaWdodF9kb3duXCI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IDEpIG5hbWUgPSBcInJpZ2h0XCI7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IC0xKSBuYW1lID0gXCJlcnJcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHByZXZpb3VzWCA8PSAtMSAmJiBwcmV2aW91c1kgPT0gMCl7XHJcbiAgICAgICAgICAgICAgICBpZihuZXh0WCA9PSAwKXtcclxuICAgICAgICAgICAgICAgICAgICBpZihuZXh0WSA9PSAxKW5hbWUgPSBcImxlZnRfdXBcIjtcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRZID09IC0xKSBuYW1lID0gXCJsZWZ0X2Rvd25cIjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFggPT0gMSkgbmFtZSA9IFwiZXJyXCI7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IC0xKSBuYW1lID0gXCJsZWZ0XCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBuYW1lIDtcclxuICAgIH1cclxuXHJcbiAgICAvL+agueaNruaYr+WQpuWFqOmdouWxj++8jOWBmueLrOeri+mAgumFjeaWuemdolxyXG4gICAgZml0KCl7XHJcbiAgICAgICAgdmFyIGpnID0gdGhpcy5zZXRGaXQoKTtcclxuICAgICAgICBpZighamcpe1xyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+WIpOaWreWFqOmdouWxj1xyXG4gICAgZ2V0U2V0U2NyZWVuUmVzb2x1dGlvbkZsYWcgKCkge1xyXG4gICAgICAgIGxldCBzaXplID0gY2Mud2luU2l6ZTtcclxuICAgICAgICBsZXQgd2lkdGggPSBzaXplLndpZHRoO1xyXG4gICAgICAgIGxldCBoZWlnaHQgPSBzaXplLmhlaWdodDtcclxuICAgICAgICBpZiAoKGhlaWdodCAvIHdpZHRoKSA+ICgxNi4yIC8gOSkpIHJldHVybiBmYWxzZTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIC8v5Yik5pat5YWo6Z2i5bGP6YCC6YWNXHJcbiAgICBzZXRGaXQgKCkge1xyXG4gICAgICAgIGxldCBmbGFnID0gdGhpcy5nZXRTZXRTY3JlZW5SZXNvbHV0aW9uRmxhZygpO1xyXG4gICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZsYWc7XHJcbiAgICB9XHJcbiAgICAvL+i/lOWbnummlumhtVxyXG4gICAgYmFja1NjZW5lKCl7XHJcbiAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiTG9hZFNjZW5lXCIpO1xyXG4gICAgfVxyXG4gICAgLy/kuIvkuIDlhbPvvIzmiJbogIXph43mlrDlvIDlp4vvvIzmiJbogIXov5Tlm57kuIrkuIDlhbPvvIzmoLnmja5sZXZlbOWGs+WumlxyXG4gICAgcmVTdGFydCh0eXBlKXtcclxuXHJcbiAgICB9XHJcbiAgICAvL+iOt+WPluaXtumXtOaIs1xyXG4gICAgZ2V0VGltZSgpe1xyXG4gICAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIHJldHVybiB0aW1lc3RhbXA7XHJcbiAgICB9XHJcbiAgICAvL+iOt+iDnFxyXG4gICAgcGFzc0xldmVsKCl7XHJcblxyXG4gICAgfVxyXG4gICAgLy/lpLHotKVcclxuICAgIGxvc2VMZXZlbCh0eXBlKXtcclxuICAgICAgICAvLzE6ICAxNjQ5XHJcbiAgICAgICAgLy8yOiAgMzY0NlxyXG4gICAgICAgIC8vMzogIDU1NDZcclxuICAgICAgICAvLzQ6ICAyNjAwXHJcbiAgICAgICAgLy81OiAgNjk0XHJcbiAgICB9XHJcblxyXG4gICAgLy/lvIDlp4vmuLjmiI9cclxuICAgIHN0YXJ0R2FtZShkYXRhKXtcclxuICAgICAgICB0aGlzLnNldE1hcChkYXRhKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLy/lpoLmnpzmmK/lgJLorqHml7Yg6LCD55So5q2k5pa55rOVXHJcbiAgICB1cGRhdGVDb3VudERvd25UaW1lICgpIHtcclxuICAgICAgICBpZiAodGhpcy5jb3VudFRpbWUgPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY291bnRUaW1lIC09IDE7XHJcbiAgICAgICAgICAgIC8vIHRoaXMudGltZS5zdHJpbmcgPSAgY2MuZnguR2FtZVRvb2wuZ2V0VGltZU1hcmdpbih0aGlzLmNvdW50VGltZSk7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuY291bnRUaW1lIDwgNSl7XHJcbiAgICAgICAgICAgICAgICBsZXQgb3ZlciA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIk92ZXJcIik7XHJcbiAgICAgICAgICAgICAgICBjYy50d2VlbihvdmVyKVxyXG4gICAgICAgICAgICAgICAgLnRvKDAuMix7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAgICAgLmRlbGF5KDAuMSlcclxuICAgICAgICAgICAgICAgIC50bygwLjIse29wYWNpdHk6MH0pXHJcbiAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZih0aGlzLmNvdW50VGltZSA8PSAwKXtcclxuICAgICAgICAgICAgICAgIHRoaXMudW5zY2hlZHVsZSh0aGlzLnVwZGF0ZUNvdW50RG93blRpbWUpO1xyXG4gICAgICAgICAgICAgICAgdmFyIHRpbWUgPSAwO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5nYW1lT3Zlcih0aW1lKTsgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+S4iuS8oOavj+asoeaTjeS9nOaVsOaNrlxyXG5cclxuICAgIHNldERhdGEoKXtcclxuICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRHYW1lRGF0YSgpO1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLy/kuIrkvKDmjpLooYzmppzmlbDmja5cclxuICAgIGdhbWVPdmVyKHRpbWUpe1xyXG4gICAgICAgIGNjLmZ4LkdhbWVUb29sLnNldFJhbmsodGltZSk7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJHYW1lT3ZlclwiKS5vcGFjaXR5ID0gMDtcclxuICAgICAgICBjYy50d2Vlbih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJHYW1lT3ZlclwiKSlcclxuICAgICAgICAudG8oMC40LHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgLmRlbGF5KDIpXHJcbiAgICAgICAgLnRvKDAuNCx7b3BhY2l0eTo1MH0pXHJcbiAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIk92ZXJTY2VuZVwiKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5zdGFydCgpXHJcbiAgICB9XHJcblxyXG4gICAgY2xpY2tTdW4oZGF0YSl7XHJcbiAgICBcclxuICAgIH1cclxuXHJcbiAgICBuZXh0V2F0ZXIoKXtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgb25FbmFibGUgKCkge1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub24oY2MuZnguTWVzc2FnZS5jb250cm9sLCB0aGlzLmNsaWNrU3VuLCB0aGlzKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9uKGNjLmZ4Lk1lc3NhZ2UubmV4dCwgdGhpcy5ydW5XYXRlciwgdGhpcyk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vbihjYy5meC5NZXNzYWdlLnN0YXJ0R2FtZSwgdGhpcy5zdGFydEdhbWUsIHRoaXMpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub24oY2MuZnguTWVzc2FnZS5jaGFuZ2VQYXRoLCB0aGlzLmNoYW5nZVBhdGgsIHRoaXMpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub24oY2MuZnguTWVzc2FnZS5jaGFuZ2VNYXAsIHRoaXMuY2hhbmdlTWFwLCB0aGlzKTtcclxuICAgIH1cclxuICAgIG9uRGlzYWJsZSAoKSB7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vZmYoY2MuZnguTWVzc2FnZS5jb250cm9sLCB0aGlzLmNsaWNrU3VuKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9mZihjYy5meC5NZXNzYWdlLm5leHQsIHRoaXMucnVuV2F0ZXIpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub2ZmKGNjLmZ4Lk1lc3NhZ2Uuc3RhcnRHYW1lLCB0aGlzLnN0YXJ0R2FtZSk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vZmYoY2MuZnguTWVzc2FnZS5jaGFuZ2VQYXRoLCB0aGlzLmNoYW5nZVBhdGgpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub2ZmKGNjLmZ4Lk1lc3NhZ2UuY2hhbmdlTWFwLCB0aGlzLmNoYW5nZU1hcCk7XHJcbiAgICB9XHJcbiAgICB1cGRhdGUgKGR0KSB7XHJcbiAgICB9XHJcbn1cclxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpQ0FBb0M7QUFFcEMsU0FBUztBQUNILElBQUEsS0FBc0IsRUFBRSxDQUFDLFVBQVUsRUFBbEMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFpQixDQUFDO0FBRTFDO0lBQXlDLCtCQUFZO0lBQXJEO1FBQUEscUVBNHlCQztRQXp5QkcsU0FBRyxHQUFZLElBQUksQ0FBQztRQUdwQixXQUFLLEdBQWMsSUFBSSxDQUFDO1FBR3hCLFVBQUksR0FBYSxJQUFJLENBQUM7UUFHdEIsZUFBUyxHQUFhLElBQUksQ0FBQzs7SUFneUIvQixDQUFDO0lBbHhCRyw0QkFBTSxHQUFOO0lBRUEsQ0FBQztJQUNELDJCQUFLLEdBQUw7UUFDSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUNELE9BQU87SUFDUCwwQkFBSSxHQUFKO1FBQ0ksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO1FBQ3RELElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEYsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xFLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLGNB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QUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNuRSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDL0QsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3JFLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN0RSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3RFLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUVwRSxDQUFDO0lBQ0QsK0JBQVMsR0FBVDtRQUNJLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlELEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFELEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hFLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pFLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25FLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pFLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRCw0QkFBTSxHQUFOLFVBQVEsRUFBRTtJQUdWLENBQUM7SUF4eUJEO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7NENBQ0U7SUFHcEI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQzs4Q0FDSTtJQUd4QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDOzZDQUNHO0lBR3RCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7a0RBQ1E7SUFaVixXQUFXO1FBRC9CLE9BQU87T0FDYSxXQUFXLENBNHlCL0I7SUFBRCxrQkFBQztDQTV5QkQsQUE0eUJDLENBNXlCd0MsRUFBRSxDQUFDLFNBQVMsR0E0eUJwRDtrQkE1eUJvQixXQUFXIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmxvY2tUeXBlIH0gZnJvbSBcIi4vQmxvY2tcIjtcclxuXHJcbi8vIOS4u+a4uOaIj+aOp+WItuexu1xyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgR2FtZU1hbmFnZXIgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgTWFwOiBjYy5Ob2RlID0gbnVsbDtcclxuXHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgQmxvY2s6IGNjLlByZWZhYiA9IG51bGw7XHJcblxyXG4gICAgQHByb3BlcnR5KGNjLkxhYmVsKVxyXG4gICAgVGltZTogY2MuTGFiZWwgPSBudWxsO1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5MYWJlbClcclxuICAgIENvdW50ZG93bjogY2MuTGFiZWwgPSBudWxsO1xyXG5cclxuICAgIGNvdW50VGltZTogbnVtYmVyOyAgICAgIC8v5oC75YCS6K6h5pe2XHJcbiAgICB3YXRlclRpbWU6IG51bWJlciAgICAgICAvL+a0quWzsOWAkuiuoeaXtlxyXG4gICAgYmxvY2tfQXJyYXk6IGFueTsgICAgICAgLy/miYDmnInlnZfmlbDnu4RcclxuICAgIHBhdGhfQXJyYXk6IGFueTsgICAgICAgIC8v5L+u562R6Lev5b6EXHJcbiAgICB3YXRlcl9BcnJheTogYW55OyAgICAgICAvL+awtOa1gei3r+W+hFxyXG4gICAgbWFwX0FycmF5OiBhbnk7ICAgICAgICAgLy/lnLDlm77mlbDnu4RcclxuICAgIHdhdGVyX1BhdGhBcmF5OmFueTsgICAgIC8v5rSq5bOw6Lev5b6EXHJcbiAgICBtYXBfSGlnaHQ6bnVtYmVyOyAgICAgICAvL+WcsOWbvumrmOW6plxyXG4gICAgbWFwX1dpZHRoOm51bWJlcjsgICAgICAgLy/lnLDlm77lrr3luqZcclxuICAgIHBsYW5fb3Zlcjpib29sZWFuOyAgICAgIC8v5piv5ZCm5L+u5bu65a6MXHJcbiAgICB3YXRlclR3ZWVuOmNjLlR3ZWVuOyAgICAvL+ays+awtOWAkuiuoeaXtuWKqOeUu1xyXG5cclxuICAgIG9uTG9hZCAoKSB7XHJcblxyXG4gICAgfVxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHRoaXMuZml0KCk7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcbiAgICAvL+WIneWni+WMluaVsOaNrlxyXG4gICAgaW5pdCgpe1xyXG4gICAgICAgIHRoaXMuaW5pdE1hcCgpOyBcclxuICAgICAgICB0aGlzLmNvdW50VGltZSA9IGNjLmZ4LkdhbWVDb25maWcuVElNRV9JTkZPLnRvdGFsVGltZTtcclxuICAgICAgICB0aGlzLndhdGVyVGltZSA9IGNjLmZ4LkdhbWVDb25maWcuVElNRV9JTkZPLndhdGVyVGltZVtjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWxdO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHZhciBoZWFkID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiVG9wXCIpLmdldENoaWxkQnlOYW1lKFwiaGVhZFwiKTtcclxuICAgICAgICB2YXIgcHJvZ3Jlc3MgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJUb3BcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwcm9ncmVzc1wiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKTtcclxuXHJcbiAgICAgICAgaGVhZC5ydW5BY3Rpb24oY2MubW92ZVRvKHRoaXMud2F0ZXJUaW1lLGNjLnYyKDMxMCxoZWFkLnkpKSk7XHJcbiAgICAgICAgdGhpcy53YXRlclR3ZWVuID0gY2MudHdlZW4ocHJvZ3Jlc3MpXHJcbiAgICAgICAgLnRvKHRoaXMud2F0ZXJUaW1lLHtmaWxsUmFuZ2U6MX0pXHJcbiAgICAgICAgLnN0YXJ0KCk7XHJcblxyXG4gICAgICAgIHRoaXMuc2NoZWR1bGUodGhpcy51cGRhdGVXYXRlclRpbWUsMSk7XHJcbiAgICAgICAgdGhpcy5zY2hlZHVsZSh0aGlzLnVwZGF0ZUNvdW50RG93blRpbWUsMSk7XHJcblxyXG5cclxuICAgIH1cclxuICAgIC8v5Yid5aeL5YyW5Zyw5Zu+YFxyXG4gICAgaW5pdE1hcCgpe1xyXG4gICAgICAgIHRoaXMuYmxvY2tfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLnBhdGhfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLndhdGVyX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5tYXBfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLnBsYW5fb3ZlciA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubWFwX0hpZ2h0ID0gMDtcclxuICAgICAgICB0aGlzLm1hcF9XaWR0aCA9IDA7XHJcbiAgICAgICAgbGV0IG51bWJlciA9IDEwOyAvLzlcclxuICAgICAgICBudW1iZXIgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqIGNjLmZ4LkdhbWVDb25maWcuTEVWRUxfSU5GT1tjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWxdLmxlbmd0aCk7XHJcbiAgICAgICAgLy8gbnVtYmVyID0gMTtcclxuICAgICAgICBsZXQgYXJyID0gY2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPW2NjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbF1bbnVtYmVyXS5tYXA7XHJcbiAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiVG9wXCIpLmdldENoaWxkQnlOYW1lKFwiaWRcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSBcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkxFVkVMX0lORk9bY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsXVtudW1iZXJdLmlkO1xyXG4gICAgICAgIC8v5bCG5Zyw5Zu+eCx56L205YiH5o2iXHJcblxyXG4gICAgICAgIHRoaXMubWFwX0FycmF5ID0gYXJyWzBdLm1hcCgoaXRlbSwgaSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gYXJyLm1hcCgodmFsKSA9PiB2YWxbaV0pXHJcbiAgICAgICAgfSlcclxuICAgICAgICB0aGlzLm1hcF9XaWR0aCA9IHRoaXMubWFwX0FycmF5Lmxlbmd0aDtcclxuICAgICAgICB0aGlzLm1hcF9IaWdodCA9IHRoaXMubWFwX0FycmF5WzBdLmxlbmd0aDtcclxuXHJcbiAgICAgICAgdGhpcy5NYXAueCA9KDYgLSB0aGlzLm1hcF9BcnJheS5sZW5ndGgpKjQ4O1xyXG4gICAgICAgIHRoaXMuTWFwLnkgPSAodGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoIC0gNi41KSo0ODtcclxuXHJcbiAgICAgICAgZm9yKGxldCBpPTA7aTx0aGlzLm1hcF9BcnJheS5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgZm9yKGxldCBqPTA7IGo8dGhpcy5tYXBfQXJyYXkgW2ldLmxlbmd0aDtqKyspe1xyXG4gICAgICAgICAgICAgICAgbGV0IGJsb2NrID0gY2MuaW5zdGFudGlhdGUodGhpcy5CbG9jayk7XHJcbiAgICAgICAgICAgICAgICBibG9jay5wYXJlbnQ9IHRoaXMuTWFwO1xyXG4gICAgICAgICAgICAgICAgYmxvY2suZ2V0Q29tcG9uZW50KFwiQmxvY2tcIikuaW5pdERhdGEodGhpcy5tYXBfQXJyYXkgW2ldW2pdLGNjLnYyKGksaiksY2MudjIodGhpcy5tYXBfV2lkdGgsdGhpcy5tYXBfSGlnaHQpKTtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMubWFwX0FycmF5IFtpXVtqXSA9PSBjYy5FbnVtKEJsb2NrVHlwZSkuU3RhcnQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGF0aF9BcnJheS5wdXNoKGNjLnYzKGksaixjYy5FbnVtKEJsb2NrVHlwZSkuTm9tYWwpKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLndhdGVyX0FycmF5LnB1c2goY2MudjMoaSxqLGNjLkVudW0oQmxvY2tUeXBlKS5Ob21hbCkpO1xyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgIGJsb2NrLnNldFBvc2l0aW9uKGNjLnYyKC1ibG9jay53aWR0aCoyLjUgKyBpKmJsb2NrLndpZHRoLGJsb2NrLmhlaWdodCo0IC0gaipibG9jay5oZWlnaHQpKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmxvY2tfQXJyYXkucHVzaChibG9jayk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC8v5byA5aeL5ZCO77yM5oyJ546p5a625pON5L2c77yM5bCG6Lev5b6E5Lit5Zyw5Zu+5Z2X5pS+5YWl5pWw57uE5LitXHJcbiAgICBzZXRNYXAoZGF0YSl7XHJcbiAgICAgICAgZm9yKGxldCBpPTA7IGk8ZGF0YS5sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgIGxldCBzdGFydCA9IHRoaXMucGF0aF9BcnJheVt0aGlzLnBhdGhfQXJyYXkubGVuZ3RoLTFdO1xyXG4gICAgICAgICAgICBzd2l0Y2goZGF0YVtpXSl7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwidXBcIjpcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhdGhfQXJyYXkucHVzaChjYy52MyhzdGFydC54LHN0YXJ0LnktMSxjYy5FbnVtKEJsb2NrVHlwZSkuTm9tYWwpKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJkb3duXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXRoX0FycmF5LnB1c2goY2MudjMoc3RhcnQueCxzdGFydC55KzEsY2MuRW51bShCbG9ja1R5cGUpLk5vbWFsKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwibGVmdFwiOlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGF0aF9BcnJheS5wdXNoKGNjLnYzKHN0YXJ0LngtMSxzdGFydC55LGNjLkVudW0oQmxvY2tUeXBlKS5Ob21hbCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBcInJpZ2h0XCI6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXRoX0FycmF5LnB1c2goY2MudjMoc3RhcnQueCsxLHN0YXJ0LnksY2MuRW51bShCbG9ja1R5cGUpLk5vbWFsKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwicmVpbmZvcmNlXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXRoX0FycmF5LnB1c2goY2MudjMoc3RhcnQueCxzdGFydC55LGNjLkVudW0oQmxvY2tUeXBlKS5SZWluZm9yY2UpKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJzb2lsXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXRoX0FycmF5LnB1c2goY2MudjMoc3RhcnQueCxzdGFydC55LGNjLkVudW0oQmxvY2tUeXBlKS5YaV9Tb2lsKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5ydW5Sb2FkKDApO1xyXG4gICAgfVxyXG4gICAgLy/lvIDlp4vmiafooYzmtKrls7DmnaXkuobnmoTliqjnlLtcclxuICAgIHJ1blJvYWQob3JkZXIpe1xyXG4gICAgICAgIG9yZGVyID0gcGFyc2VJbnQob3JkZXIpO1xyXG5cclxuICAgICAgICBpZihvcmRlciA+IDApe1xyXG4gICAgICAgICAgICBpZih0aGlzLnBhdGhfQXJyYXlbb3JkZXItMV0ueiA9PSAwKXtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiMeato+W4uOaUvuWFpVwiLHRoaXMucGF0aF9BcnJheVtvcmRlci0xXS54LHRoaXMucGF0aF9BcnJheVtvcmRlci0xXS55LHRoaXMucGF0aF9BcnJheVtvcmRlci0xXS56KVxyXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VXYXRlcihjYy52Myh0aGlzLnBhdGhfQXJyYXlbb3JkZXItMV0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXItMV0ueSwwKSk7XHJcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLndhdGVyX0FycmF5KTtcclxuICAgICAgICAgICAgICAgIC8vIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICAgICAgaWYob3JkZXIgPT0gdGhpcy5wYXRoX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVdhdGVyKGNjLnYzKHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnksMCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5pyA5ZCO5pS+5YWlXCIsdGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSlcclxuICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLndhdGVyX0FycmF5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCIy5o+S5YWlXCIsdGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnopXHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVdhdGVyKGNjLnYzKHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnksMCkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuXHJcbiAgICAgICAgaWYob3JkZXIgPD0gdGhpcy5wYXRoX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgbGV0IGkgPSB0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3RoaXMucGF0aF9BcnJheVtvcmRlcl0ueTtcclxuICAgICAgICAgICAgbGV0IGRpcmVjdGlvbiA9IFwiXCI7XHJcbiAgICAgICAgICAgIGxldCBjaXJjdWxhdGUgPSB0cnVlO1xyXG4gICAgICAgICAgICAvL+acgOWQjuS4gOatpee7k+adn1xyXG4gICAgICAgICAgICBpZihvcmRlciA9PSB0aGlzLnBhdGhfQXJyYXkubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgY2lyY3VsYXRlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcIkVuZFwiO1xyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoIXRoaXMucGxhbl9vdmVyKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCLlh4blpIflh7rmsLRcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGxhbl9vdmVyID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGhlYWQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJUb3BcIikuZ2V0Q2hpbGRCeU5hbWUoXCJoZWFkXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgcHJvZ3Jlc3MgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJUb3BcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwcm9ncmVzc1wiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVhZC5zdG9wQWxsQWN0aW9ucygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWFkLnNldFBvc2l0aW9uKDMxMCxoZWFkLnkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLndhdGVyVHdlZW4uc3RvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmVzcy5maWxsUmFuZ2UgPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJ1bldhdGVyKDApOyBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9LCA1MDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnogPT0gNiAmJiBvcmRlciArIDEgPCB0aGlzLnBhdGhfQXJyYXkubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJSZWluZm9yY2VcIjtcclxuICAgICAgICAgICAgICAgICAgICBpID0gdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLngqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3RoaXMucGF0aF9BcnJheVtvcmRlcisxXS55O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihvcmRlcisxIDwgdGhpcy5wYXRoX0FycmF5Lmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLnogPT0gNSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFwiWGlfU29pbFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS56ID09IDYgJiYgb3JkZXIgPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFwiUmVpbmZvcmNlXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IHRoaXMuZ2V0RGlyZWN0aW9uKG9yZGVyLHRoaXMucGF0aF9BcnJheSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSB0aGlzLmdldERpcmVjdGlvbihvcmRlcix0aGlzLnBhdGhfQXJyYXkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKG9yZGVyLHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnksaSk7XHJcbiBcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLmraXpqqQ6XCIsb3JkZXIsXCLmlrnlkJFcIixkaXJlY3Rpb24pO1xyXG4gICAgICAgICAgICBsZXQgamcgPSB0aGlzLmdldEJvdW5kYXJ5KG9yZGVyLHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnksZGlyZWN0aW9uLHRoaXMucGF0aF9BcnJheSk7XHJcblxyXG4gICAgICAgICAgICBpZihkaXJlY3Rpb24gPT0gXCJcIiB8fCBqZyA9PSBmYWxzZSkgcmV0dXJuO1xyXG4gICAgICAgICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5ibG9ja19BcnJheVtpXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgIFxyXG4gICAgICAgICAgICB0YXJnZXQuc2V0UGF0aChkaXJlY3Rpb24pO1xyXG5cclxuICAgICAgICAgICAgaWYob3JkZXIgPiAwICYmIG9yZGVyIDwgdGhpcy5wYXRoX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS56ID09IDUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0X1NvaWwob3JkZXIrMSx0aGlzLnBhdGhfQXJyYXksXCJyb2FkXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNpcmN1bGF0ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYob3JkZXIgPT0gMSAmJiB0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnogPT0gNSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRfU29pbChvcmRlcix0aGlzLnBhdGhfQXJyYXksXCJyb2FkXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNpcmN1bGF0ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQgcG9zID0gY2MudjIoKTtcclxuICAgICAgICAgICAgaWYoZGlyZWN0aW9uID09IFwiRW5kXCIgJiYgdGhpcy5wYXRoX0FycmF5W29yZGVyLTFdLnogPT0gMCl7XHJcbiAgICAgICAgICAgICAgICBwb3MgPSBjYy52Mih0aGlzLnBhdGhfQXJyYXlbb3JkZXItMV0ueCwgdGhpcy5wYXRoX0FycmF5W29yZGVyLTFdLnkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6b3JkZXIsXHJcbiAgICAgICAgICAgICAgICB0aW1lOmNjLmZ4LkdhbWVDb25maWcuVElNRV9JTkZPLndhdGVyU3BlZWRbY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsXSxcclxuICAgICAgICAgICAgICAgIHR5cGU6dGhpcy5wYXRoX0FycmF5W29yZGVyXS56LFxyXG4gICAgICAgICAgICAgICAgY2lyY3VsYXRlOmNpcmN1bGF0ZSxcclxuICAgICAgICAgICAgICAgIGxhc3Q6cG9zXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRhcmdldC5ydW5Sb2FkKGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5Yik5pat6L6555WM44CC5oiW6ICF5pKe5bGx77yM5oiW6ICF5rm/5Zyw5rKh5pyJ5Yqg5Zu6XHJcbiAgICBnZXRCb3VuZGFyeShvcmRlcix4LHksZGlyZWN0aW9uLHJvYWQpe1xyXG4gICAgICAgIGxldCBqZyA9IHRydWU7XHJcbiAgICAgICAgaWYoeCA8IDAgfHwgeCA+PSB0aGlzLm1hcF9XaWR0aCB8fCB5IDwgMCB8fCB5ID49IHRoaXMubWFwX0hpZ2h0KXtcclxuICAgICAgICAgICAgamcgPSBmYWxzZTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCLotoXov4fovrnnlYzvvIzmuLjmiI/nu5PmnZ9cIik7XHJcbiAgICAgICAgICAgIGFsZXJ0KFwi6LaF6L+H6L6555WM77yM5ri45oiP57uT5p2fXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgbGV0IGkgPSByb2FkW29yZGVyXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtyb2FkW29yZGVyXS55O1xyXG4gICAgICAgICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5ibG9ja19BcnJheVtpXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgICAgICAgICAgaWYodGFyZ2V0LmJsb2NrX1R5cGUgPT0gMyl7XHJcbiAgICAgICAgICAgICAgICBqZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCLkv67nrZHlsbHls7DvvIzmuLjmiI/nu5PmnZ9cIik7XHJcbiAgICAgICAgICAgICAgICBhbGVydChcIuS/ruetkeWxseWzsO+8jOa4uOaIj+e7k+adn1wiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRhcmdldC5ibG9ja19UeXBlID09IDIgJiYgZGlyZWN0aW9uICE9IFwiUmVpbmZvcmNlXCIpe1xyXG4gICAgICAgICAgICAgICAgamcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5L+u562R5pyq5Yqg5Zu65rm/5ZywLOa4uOaIj+e7k+adn1wiKTtcclxuICAgICAgICAgICAgICAgIGFsZXJ0KFwi5L+u562R5pyq5Yqg5Zu65rm/5ZywLOa4uOaIj+e7k+adn1wiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gamc7XHJcbiAgICB9XHJcblxyXG4gICAgLy/lvIDlp4vmiafooYzmtKrls7DmnaXkuobnmoTliqjnlLtcclxuICAgIHJ1bldhdGVyKG9yZGVyKXtcclxuICAgICAgICBvcmRlciA9IHBhcnNlSW50KG9yZGVyKTtcclxuICAgICAgICBpZihvcmRlciA8PSB0aGlzLndhdGVyX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgbGV0IGkgPSB0aGlzLndhdGVyX0FycmF5W29yZGVyXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCt0aGlzLndhdGVyX0FycmF5W29yZGVyXS55O1xyXG4gICAgICAgICAgICBsZXQgZGlyZWN0aW9uID0gXCJcIjtcclxuICAgICAgICAgICAgbGV0IGNpcmN1bGF0ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIC8v5pyA5ZCO5LiA5q2l57uT5p2fXHJcbiAgICAgICAgICAgIGlmKG9yZGVyID09IHRoaXMud2F0ZXJfQXJyYXkubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgY2lyY3VsYXRlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcIkVuZFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLndhdGVyX0FycmF5W29yZGVyXS56ID09IDYgJiYgb3JkZXIgKyAxIDwgdGhpcy53YXRlcl9BcnJheS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcIlJlaW5mb3JjZVwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGkgPSB0aGlzLndhdGVyX0FycmF5W29yZGVyKzFdLngqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3RoaXMud2F0ZXJfQXJyYXlbb3JkZXIrMV0ueTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYob3JkZXIrMSA8IHRoaXMud2F0ZXJfQXJyYXkubGVuZ3RoKXtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLndhdGVyX0FycmF5W29yZGVyKzFdLnogPT0gNSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFwiWGlfU29pbFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKHRoaXMud2F0ZXJfQXJyYXlbb3JkZXIrMV0ueiA9PSA2ICYmIG9yZGVyID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcIlJlaW5mb3JjZVwiO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSB0aGlzLmdldERpcmVjdGlvbihvcmRlcix0aGlzLndhdGVyX0FycmF5KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IHRoaXMuZ2V0RGlyZWN0aW9uKG9yZGVyLHRoaXMud2F0ZXJfQXJyYXkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKG9yZGVyLHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnksaSk7XHJcbiAgICAgICAgICAgIGxldCBqZyA9IHRoaXMuZ2V0Qm91bmRhcnkob3JkZXIsdGhpcy53YXRlcl9BcnJheVtvcmRlcl0ueCx0aGlzLndhdGVyX0FycmF5W29yZGVyXS55LGRpcmVjdGlvbix0aGlzLndhdGVyX0FycmF5KTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCLmraXpqqQ6XCIsb3JkZXIsXCLmlrnlkJFcIixkaXJlY3Rpb24pO1xyXG4gICAgICAgICAgICBpZihkaXJlY3Rpb24gPT0gXCJcIiB8fCBqZyA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbaV0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgIFxyXG4gICAgICAgICAgICB0YXJnZXQuc2V0UGF0aChkaXJlY3Rpb24pO1xyXG5cclxuICAgICAgICAgICAgaWYob3JkZXIgPiAwICYmIG9yZGVyIDwgdGhpcy53YXRlcl9BcnJheS5sZW5ndGgtMSl7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLndhdGVyX0FycmF5W29yZGVyKzFdLnogPT0gNSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRfU29pbChvcmRlcisxLHRoaXMud2F0ZXJfQXJyYXksXCJ3YXRlclwiKTtcclxuICAgICAgICAgICAgICAgICAgICBjaXJjdWxhdGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG9yZGVyID09IDEgJiYgdGhpcy53YXRlcl9BcnJheVtvcmRlcl0ueiA9PSA1KXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldF9Tb2lsKG9yZGVyLHRoaXMud2F0ZXJfQXJyYXksXCJ3YXRlclwiKTtcclxuICAgICAgICAgICAgICAgICAgICBjaXJjdWxhdGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6b3JkZXIsXHJcbiAgICAgICAgICAgICAgICB0aW1lOmNjLmZ4LkdhbWVDb25maWcuVElNRV9JTkZPLndhdGVyU3BlZWRbY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsXSxcclxuICAgICAgICAgICAgICAgIHR5cGU6dGhpcy53YXRlcl9BcnJheVtvcmRlcl0ueixcclxuICAgICAgICAgICAgICAgIGNpcmN1bGF0ZTpjaXJjdWxhdGVcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgdGFyZ2V0LnJ1bldhdGVyKGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvL+iOt+WPluaBr+WjpOeahOagvOWtkOeahOaWueWQkVxyXG4gICAgZ2V0WGlfU29pbChvcmRlcixyb2FkKXtcclxuICAgICAgICB2YXIgZGlyZWN0aW9uID0gbnVsbDtcclxuICAgICAgICAvL+WmguaenOaBr+WjpOWQjumdoui/mOacieS4i+S4gOatpeeahOivnVxyXG4gICAgICAgIGlmKG9yZGVyICsgMSA8IHJvYWQubGVuZ3RoKXtcclxuICAgICAgICAgICAgZGlyZWN0aW9uID0gdGhpcy5nZXREaXJlY3Rpb24ob3JkZXIscm9hZCk7XHJcbiAgICAgICAgICAgIGlmKGRpcmVjdGlvbiA9PSBcInVwXCIgfHwgZGlyZWN0aW9uID09IFwicmlnaHRfdXBcIiB8fCBkaXJlY3Rpb24gPT0gXCJsZWZ0X3VwXCIpe1xyXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJ1cFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwiZG93blwiIHx8IGRpcmVjdGlvbiA9PSBcImxlZnRfZG93blwiIHx8IGRpcmVjdGlvbiA9PSBcInJpZ2h0X2Rvd25cIil7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcImRvd25cIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKGRpcmVjdGlvbiA9PSBcImxlZnRcIiB8fCBkaXJlY3Rpb24gPT0gXCJ1cF9sZWZ0XCIgfHwgZGlyZWN0aW9uID09IFwiZG93bl9sZWZ0XCIpe1xyXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJsZWZ0XCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZihkaXJlY3Rpb24gPT0gXCJyaWdodFwiIHx8IGRpcmVjdGlvbiA9PSBcInVwX3JpZ2h0XCIgfHwgZGlyZWN0aW9uID09IFwiZG93bl9yaWdodFwiKXtcclxuICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFwicmlnaHRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gIFxyXG4gICAgICAgIHJldHVybiBkaXJlY3Rpb247XHJcbiAgICB9XHJcbiAgICAvL+iuvue9ruaBr+WjpFxyXG4gICAgc2V0X1NvaWwob3JkZXIscm9hZCxuYW1lKXtcclxuICAgICAgICB2YXIgZGlyZWN0aW9uID0gdGhpcy5nZXRYaV9Tb2lsKG9yZGVyLHJvYWQpO1xyXG4gICAgICAgIHZhciBsZW5ndGggPSAwO1xyXG4gICAgICAgIGlmKGRpcmVjdGlvbiA9PSBcInJpZ2h0XCIpe1xyXG4gICAgICAgICAgICBsZW5ndGggPSB0aGlzLm1hcF9XaWR0aCAtIDE7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT1yb2FkW29yZGVyXS54O2k8PWxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICAgICAgbGV0IG4gPSBpKnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtyb2FkW29yZGVyXS55O1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbbl0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSAzIHx8IHRhcmdldC5ibG9ja19UeXBlID09IDQpe1xyXG4gICAgICAgICAgICAgICAgICAgIGxlbmd0aCA9IGktMTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSA0KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoICs9IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGkgPSAxMDAwMDtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfXRoaXMuc2NoZWR1bGVPbmNlXHJcbiAgICAgICAgfSBcclxuICAgICAgICBlbHNlIGlmKGRpcmVjdGlvbiA9PSBcImxlZnRcIil7XHJcbiAgICAgICAgICAgIGxlbmd0aCA9IDA7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT1yb2FkW29yZGVyXS54O2k+PWxlbmd0aDtpLS0pe1xyXG4gICAgICAgICAgICAgICAgbGV0IG4gPSBpKnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtyb2FkW29yZGVyXS55O1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbbl0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSAzIHx8IHRhcmdldC5ibG9ja19UeXBlID09IDQpe1xyXG4gICAgICAgICAgICAgICAgICAgIGxlbmd0aCA9ICBpICsgMTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSA0KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoIC09IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGkgPSAtMTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICAgICAgZWxzZSBpZihkaXJlY3Rpb24gPT0gXCJ1cFwiKXtcclxuICAgICAgICAgICAgbGVuZ3RoID0gMDtcclxuICAgICAgICAgICAgZm9yKGxldCBpPXJvYWRbb3JkZXJdLnk7aT49bGVuZ3RoO2ktLSl7XHJcbiAgICAgICAgICAgICAgICBsZXQgbiA9IHJvYWRbb3JkZXJdLngqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoICsgaTtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W25dLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICBcclxuICAgICAgICAgICAgICAgIGlmKHRhcmdldC5ibG9ja19UeXBlID09IDMgfHwgdGFyZ2V0LmJsb2NrX1R5cGUgPT0gNCl7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVuZ3RoID0gaSArIDE7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGFyZ2V0LmJsb2NrX1R5cGUgPT0gNCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aCAtPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBpID0gLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwiZG93blwiKXtcclxuICAgICAgICAgICAgbGVuZ3RoID0gdGhpcy5tYXBfSGlnaHQgLSAxO1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9cm9hZFtvcmRlcl0ueTtpPD1sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gcm9hZFtvcmRlcl0ueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGggKyBpO1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbbl0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICBcclxuICAgICAgICAgICAgICAgIGlmKHRhcmdldC5ibG9ja19UeXBlID09IDMgfHwgdGFyZ2V0LmJsb2NrX1R5cGUgPT0gNCl7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVuZ3RoID0gaS0xO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRhcmdldC5ibG9ja19UeXBlID09IDQpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGggKz0gMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaSA9IDEwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgICAgICB0aGlzLnNvaWxfRmluZChkaXJlY3Rpb24sb3JkZXIsbGVuZ3RoLHJvYWQsbmFtZSk7XHJcbiAgICB9XHJcbiAgICAvL+afpeaJvuaBr+WjpOibrumBl+aGvui3r+W+hFxyXG4gICAgc29pbF9GaW5kKGRpcmVjdGlvbixvcmRlcixsZW5ndGgscm9hZCxuYW1lKXtcclxuICAgICAgICBsZXQgc3RhcnQgPSByb2FkW29yZGVyXS54O1xyXG4gICAgICAgIGlmKGRpcmVjdGlvbiA9PSBcInJpZ2h0XCIpe1xyXG4gICAgICAgICAgICBmb3IobGV0IGkgPSBzdGFydDsgaTw9bGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICAgICAgbGV0IG4gPSBpKnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtyb2FkW29yZGVyXS55O1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbbl0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICBpZihpID09IHN0YXJ0KXtcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQuc2V0X1hpX1NvaWxUeXBlKHRoaXMuZ2V0RGlyZWN0aW9uKG9yZGVyLHJvYWQpLG51bGwsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gY2MudjModGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSwwKTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLndhdGVyX0FycmF5W3RoaXMud2F0ZXJfQXJyYXkubGVuZ3RoLTFdICE9IHZhbHVlKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCLnibnliKvmj5LlhaU6XCIsdGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlV2F0ZXIodmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gIFxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGpnID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICBpZihpID09IGxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBudW1iZXIgPSBpIC0gc3RhcnQgLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlUGF0aChvcmRlcixudW1iZXIsZmFsc2Uscm9hZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGpnID0gb3JkZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZShkaXJlY3Rpb24samcsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9ICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwibGVmdFwiKXtcclxuICAgICAgICAgICAgZm9yKGxldCBpID0gc3RhcnQ7IGk+PWxlbmd0aDsgaS0tKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gaSp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgrcm9hZFtvcmRlcl0ueTtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W25dLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmKGkgPT0gc3RhcnQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldC5zZXRfWGlfU29pbFR5cGUodGhpcy5nZXREaXJlY3Rpb24ob3JkZXIscm9hZCksbnVsbCxuYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBjYy52Myh0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngsdGhpcy5wYXRoX0FycmF5W29yZGVyXS55LDApO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMud2F0ZXJfQXJyYXlbdGhpcy53YXRlcl9BcnJheS5sZW5ndGgtMV0gIT0gdmFsdWUpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIueJueWIq+aPkuWFpTpcIix0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngsdGhpcy5wYXRoX0FycmF5W29yZGVyXS55KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VXYXRlcih2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgamcgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGkgPT0gbGVuZ3RoKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG51bWJlciA9IGkgLSBzdGFydCArIDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlUGF0aChvcmRlcixudW1iZXIsZmFsc2Uscm9hZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGpnID0gb3JkZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQuc2V0X1hpX1NvaWxUeXBlKGRpcmVjdGlvbixqZyxuYW1lKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICAgICAgZWxzZSBpZihkaXJlY3Rpb24gPT0gXCJ1cFwiKXtcclxuICAgICAgICAgICAgc3RhcnQgPSByb2FkW29yZGVyXS55O1xyXG4gICAgICBcclxuICAgICAgICAgICAgZm9yKGxldCBpID0gc3RhcnQ7IGk+PWxlbmd0aDsgaS0tKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gcm9hZFtvcmRlcl0ueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgraTtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W25dLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYoaSA9PSBzdGFydCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZSh0aGlzLmdldERpcmVjdGlvbihvcmRlcixyb2FkKSxudWxsLG5hbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGNjLnYzKHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnksMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy53YXRlcl9BcnJheVt0aGlzLndhdGVyX0FycmF5Lmxlbmd0aC0xXSAhPSB2YWx1ZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi54m55Yir5o+S5YWlOlwiLHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVdhdGVyKHZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9ICBcclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBqZyA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoaSA9PSBsZW5ndGgpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbnVtYmVyID0gaSAtIHN0YXJ0ICsgMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VQYXRoKG9yZGVyLG51bWJlcix0cnVlLHJvYWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqZyA9IG9yZGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCLmg7PkuIrmga/lo6Tmj5LlhaU6XCIsdGhpcy5wYXRoX0FycmF5W29yZGVyXS54LGkpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldC5zZXRfWGlfU29pbFR5cGUoZGlyZWN0aW9uLGpnLG5hbWUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgICAgICBlbHNlIGlmKGRpcmVjdGlvbiA9PSBcImRvd25cIil7XHJcbiAgICAgICAgICAgIHN0YXJ0ID0gcm9hZFtvcmRlcl0ueTtcclxuICAgICAgICAgICAgZm9yKGxldCBpID0gc3RhcnQ7IGk8PWxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gcm9hZFtvcmRlcl0ueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgraTtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W25dLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYoaSA9PSBzdGFydCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZSh0aGlzLmdldERpcmVjdGlvbihvcmRlcixyb2FkKSxudWxsLG5hbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGNjLnYzKHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnksMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy53YXRlcl9BcnJheVt0aGlzLndhdGVyX0FycmF5Lmxlbmd0aC0xXSAhPSB2YWx1ZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi54m55Yir5o+S5YWlOlwiLHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVdhdGVyKHZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGpnID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICBpZihpID09IGxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBudW1iZXIgPSBpIC0gc3RhcnQgLSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVBhdGgob3JkZXIsbnVtYmVyLHRydWUscm9hZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGpnID0gb3JkZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQuc2V0X1hpX1NvaWxUeXBlKGRpcmVjdGlvbixqZyxuYW1lKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcblxyXG4gICAgLy/mlLnlj5jmsLTmtYHlnLDlm75cclxuICAgIGNoYW5nZVdhdGVyKHZhbHVlKXtcclxuICAgICAgICBsZXQgamcgPSB0cnVlO1xyXG4gICAgICAgIGlmKHRoaXMud2F0ZXJfQXJyYXkubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMud2F0ZXJfQXJyYXlbdGhpcy53YXRlcl9BcnJheS5sZW5ndGgtMV0ueCA9PSB2YWx1ZS54ICYmIHRoaXMud2F0ZXJfQXJyYXlbdGhpcy53YXRlcl9BcnJheS5sZW5ndGgtMV0ueSA9PSB2YWx1ZS55KXtcclxuICAgICAgICAgICAgICAgIGpnID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoamcpIHRoaXMud2F0ZXJfQXJyYXkucHVzaCh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy/mga/lo6Tov4flkI7mlLnlj5jkv67nrZHot6/lvoRcclxuICAgIGNoYW5nZVBhdGgob3JkZXIsbnVtYmVyLGRpcmVjdGlvbixyb2FkKXtcclxuICBcclxuICAgICAgICBmb3IobGV0IGkgPSAob3JkZXIrMSk7IGk8cm9hZC5sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgIGlmKCFkaXJlY3Rpb24pe1xyXG4gICAgICAgICAgICAgICAgcm9hZFtpXS54ICs9IChudW1iZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICByb2FkW2ldLnkgKz0gKG51bWJlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoZGlyZWN0aW9uKXtcclxuICAgICAgICAgICAgaWYobnVtYmVyIDwgMCl7XHJcbiAgICAgICAgICAgICAgICBmb3IobGV0IG49IC1udW1iZXI7IG4+MDsgbi0tKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVdhdGVyKGNjLnYzKHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS55K24sMCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiMeeJueauiuaUvuWFpTpcIix0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueStuKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7IFxyXG4gICAgICAgICAgICAgICAgZm9yKGxldCBuPW51bWJlcjsgbj4wOyBuLS0pe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlV2F0ZXIoY2MudjModGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLngsdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLnktbiwwKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCIy54m55q6K5pS+5YWlOlwiLHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS55LW4pXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgaWYobnVtYmVyIDwgMCl7XHJcbiAgICAgICAgICAgICAgICBmb3IobGV0IG09IC1udW1iZXI7IG0+MDsgbS0tKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVdhdGVyKGNjLnYzKHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS54K20sdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLnksMCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiM+eJueauiuaUvuWFpTpcIix0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueCttLHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS55KVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICBmb3IobGV0IG09bnVtYmVyOyBtPjA7IG0tLSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VXYXRlcihjYy52Myh0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueC1tLHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS55LDApKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIjTnibnmrormlL7lhaU6XCIsdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLngtbSx0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjaGFuZ2VNYXAoZGF0YSl7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC8v6I635Y+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/ov5Tlm57pppbpobVcclxuICAgIGJhY2tTY2VuZSgpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkxvYWRTY2VuZVwiKTtcclxuICAgIH1cclxuICAgIC8v5LiL5LiA5YWz77yM5oiW6ICF6YeN5paw5byA5aeL77yM5oiW6ICF6L+U5Zue5LiK5LiA5YWz77yM5qC55o2ubGV2ZWzlhrPlrppcclxuICAgIHJlU3RhcnQodHlwZSl7XHJcblxyXG4gICAgfVxyXG4gICAgLy/ojrflj5bml7bpl7TmiLNcclxuICAgIGdldFRpbWUoKXtcclxuICAgICAgICBjb25zdCB0aW1lc3RhbXAgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgICAgICByZXR1cm4gdGltZXN0YW1wO1xyXG4gICAgfVxyXG4gICAgLy/ojrfog5xcclxuICAgIHBhc3NMZXZlbCgpe1xyXG5cclxuICAgIH1cclxuICAgIC8v5aSx6LSlXHJcbiAgICBsb3NlTGV2ZWwodHlwZSl7XHJcbiAgICAgICAgLy8xOiAgMTY0OVxyXG4gICAgICAgIC8vMjogIDM2NDZcclxuICAgICAgICAvLzM6ICA1NTQ2XHJcbiAgICAgICAgLy80OiAgMjYwMFxyXG4gICAgICAgIC8vNTogIDY5NFxyXG4gICAgfVxyXG5cclxuICAgIC8v5byA5aeL5ri45oiPXHJcbiAgICBzdGFydEdhbWUoZGF0YSl7XHJcbiAgICAgICAgdGhpcy5zZXRNYXAoZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlV2F0ZXJUaW1lKCl7XHJcbiAgICAgICAgaWYgKHRoaXMud2F0ZXJUaW1lID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLndhdGVyVGltZSAtPSAxO1xyXG4gICAgICAgICAgICB0aGlzLkNvdW50ZG93bi5zdHJpbmcgPSAgY2MuZnguR2FtZVRvb2wuZ2V0VGltZU1hcmdpbih0aGlzLndhdGVyVGltZSk7XHJcbiAgICAgICAgICAgIGlmKHRoaXMud2F0ZXJUaW1lIDw9IDApe1xyXG4gICAgICAgICAgICAgICAgdGhpcy51bnNjaGVkdWxlKHRoaXMudXBkYXRlV2F0ZXJUaW1lKTtcclxuICAgICAgICAgICAgICAgIGlmKCF0aGlzLnBsYW5fb3Zlcil7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wbGFuX292ZXIgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJ1bldhdGVyKDApOyBcclxuICAgICAgICAgICAgICAgICAgICB9LCA1MDApO1xyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8v5aaC5p6c5piv5YCS6K6h5pe2IOiwg+eUqOatpOaWueazlVxyXG4gICAgdXBkYXRlQ291bnREb3duVGltZSAoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY291bnRUaW1lID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmNvdW50VGltZSAtPSAxO1xyXG4gICAgICAgICAgICB0aGlzLlRpbWUuc3RyaW5nID0gIGNjLmZ4LkdhbWVUb29sLmdldFRpbWVNYXJnaW4odGhpcy5jb3VudFRpbWUpO1xyXG4gICAgICAgICAgICBpZih0aGlzLmNvdW50VGltZSA8IDUpe1xyXG4gICAgICAgICAgICAgICAgbGV0IG92ZXIgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJPdmVyXCIpO1xyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4ob3ZlcilcclxuICAgICAgICAgICAgICAgIC50bygwLjIse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAgICAgICAgIC5kZWxheSgwLjEpXHJcbiAgICAgICAgICAgICAgICAudG8oMC4yLHtvcGFjaXR5OjB9KVxyXG4gICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYodGhpcy5jb3VudFRpbWUgPD0gMCl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVuc2NoZWR1bGUodGhpcy51cGRhdGVDb3VudERvd25UaW1lKTtcclxuICAgICAgICAgICAgICAgIHZhciB0aW1lID0gMDtcclxuICAgICAgICAgICAgICAgIHRoaXMuZ2FtZU92ZXIodGltZSk7ICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/kuIrkvKDmr4/mrKHmk43kvZzmlbDmja5cclxuXHJcbiAgICBzZXREYXRhKCl7XHJcbiAgICAgICAgY2MuZnguR2FtZVRvb2wuc2V0R2FtZURhdGEoKTtcclxuICAgICAgICBcclxuICAgIH1cclxuICAgIC8v5LiK5Lyg5o6S6KGM5qac5pWw5o2uXHJcbiAgICBnYW1lT3Zlcih0aW1lKXtcclxuICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRSYW5rKHRpbWUpO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkdhbWVPdmVyXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikpXHJcbiAgICAgICAgLnRvKDAuNCx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgIC5kZWxheSgyKVxyXG4gICAgICAgIC50bygwLjQse29wYWNpdHk6NTB9KVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJPdmVyU2NlbmVcIik7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKVxyXG4gICAgfVxyXG5cclxuICAgIGNsaWNrU3VuKGRhdGEpe1xyXG4gICAgXHJcbiAgICB9XHJcblxyXG4gICAgYWRkRW5kKGRhdGEpe1xyXG4gICAgIFxyXG4gICAgfVxyXG5cclxuICAgIG5leHRXYXRlcigpe1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBvbkVuYWJsZSAoKSB7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vbihjYy5meC5NZXNzYWdlLmNvbnRyb2wsIHRoaXMuY2xpY2tTdW4sIHRoaXMpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub24oY2MuZnguTWVzc2FnZS5uZXh0LCB0aGlzLnJ1blJvYWQsIHRoaXMpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub24oY2MuZnguTWVzc2FnZS5uZXh0V2F0ZXIsIHRoaXMucnVuV2F0ZXIsIHRoaXMpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub24oY2MuZnguTWVzc2FnZS5zdGFydEdhbWUsIHRoaXMuc3RhcnRHYW1lLCB0aGlzKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9uKGNjLmZ4Lk1lc3NhZ2UuY2hhbmdlUGF0aCwgdGhpcy5jaGFuZ2VQYXRoLCB0aGlzKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9uKGNjLmZ4Lk1lc3NhZ2UuY2hhbmdlTWFwLCB0aGlzLmNoYW5nZU1hcCwgdGhpcyk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vbihjYy5meC5NZXNzYWdlLmFkZEVuZCwgdGhpcy5hZGRFbmQsIHRoaXMpO1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgb25EaXNhYmxlICgpIHtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9mZihjYy5meC5NZXNzYWdlLmNvbnRyb2wsIHRoaXMuY2xpY2tTdW4pO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub2ZmKGNjLmZ4Lk1lc3NhZ2UubmV4dCwgdGhpcy5ydW5Sb2FkKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9mZihjYy5meC5NZXNzYWdlLm5leHRXYXRlciwgdGhpcy5ydW5XYXRlcik7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vZmYoY2MuZnguTWVzc2FnZS5zdGFydEdhbWUsIHRoaXMuc3RhcnRHYW1lKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9mZihjYy5meC5NZXNzYWdlLmNoYW5nZVBhdGgsIHRoaXMuY2hhbmdlUGF0aCk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vZmYoY2MuZnguTWVzc2FnZS5jaGFuZ2VNYXAsIHRoaXMuY2hhbmdlTWFwKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9mZihjYy5meC5NZXNzYWdlLmFkZEVuZCwgdGhpcy5hZGRFbmQpO1xyXG4gICAgfVxyXG4gICAgdXBkYXRlIChkdCkge1xyXG5cclxuICAgXHJcbiAgICB9XHJcbn1cclxuIl19 \ 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 d4fdbd3..7c96626 100644 --- a/temp/quick-scripts/dst/assets/Script/module/Config/GameConfig.js +++ b/temp/quick-scripts/dst/assets/Script/module/Config/GameConfig.js @@ -177,112 +177,49 @@ var GameConfig = /** @class */ (function () { 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, 4], - [0, 0, 0, 0, 0, 0], - [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], - [0, 1, 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] - ] - }, - { - "id": 1003, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - }, - { - "id": 1004, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - }, - { - "id": 1005, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - }, - { - "id": 1006, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - }, - { - "id": 1007, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - }, - { - "id": 1008, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - }, - { - "id": 1009, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - }, - { - "id": 1010, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - } - ], - ]; + // 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": 4 }, { "id": "1002", "map": [[1, 0, 0, 0], [0, 0, 0, 4], [0, 0, 0, 0], [0, 0, 0, 0]], "min_steps": 4 }, { "id": "1003", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 4]], "min_steps": 6 }, { "id": "1004", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 4, 0, 0]], "min_steps": 4 }, { "id": "1005", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 4], [0, 0, 0, 0]], "min_steps": 5 }, { "id": "1006", "map": [[4, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 1, 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": 5 }, { "id": "1008", "map": [[0, 0, 0, 4], [0, 0, 0, 0], [0, 0, 0, 0], [1, 0, 0, 0]], "min_steps": 6 }], [{ "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": 8 }, { "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": 8 }, { "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": 7 }, { "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, 3, 4]], "min_steps": 8 }, { "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": 7 }, { "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": 8 }, { "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": 7 }], [{ "id": "3001", "map": [[0, 0, 2, 0, 2, 4], [0, 2, 0, 0, 0, 0], [0, 0, 2, 0, 0, 0], [1, 2, 2, 0, 0, 0], [0, 0, 0, 0, 2, 0], [0, 2, 2, 0, 0, 2]], "min_steps": 4 }, { "id": "3002", "map": [[0, 2, 0, 0, 2, 0], [0, 0, 0, 0, 0, 0], [0, 2, 0, 0, 2, 1], [0, 2, 0, 0, 0, 0], [0, 0, 0, 0, 0, 2], [2, 0, 2, 4, 2, 2]], "min_steps": 4 }], [{ "id": "4001", "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": "4002", "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": "4003", "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": "4004", "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": "4005", "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": "4006", "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": "4007", "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": "4008", "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": "4009", "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": "4010", "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": "5001", "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": "5002", "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": "5003", "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": "5004", "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": "5005", "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": "5006", "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": "5007", "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": "5008", "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": "5009", "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": "5010", "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": "5011", "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": "5012", "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": "5013", "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": "5014", "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": "5015", "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": "5016", "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": "5017", "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": "5018", "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": "6001", "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": "6002", "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": "6003", "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": "6004", "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": "6005", "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": "6006", "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": "6007", "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": "6008", "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": "6009", "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": "6010", "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": "6011", "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": "6012", "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": "6013", "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": "6014", "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": "6015", "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": "6016", "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": "6017", "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": "6018", "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": "6019", "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": "6020", "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": "7001", "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": "7002", "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": "7003", "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": "7004", "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": "7005", "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": "7006", "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": "7007", "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": "7008", "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": "7009", "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": "7010", "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": "7011", "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": "7012", "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": "7013", "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": "7014", "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": "7015", "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": "7016", "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": "7017", "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": "7018", "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": "7019", "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": "7020", "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": "7021", "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": "8001", "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": "8002", "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": "8003", "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": "8004", "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": "8005", "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": "8006", "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": "8007", "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": "8008", "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": "8009", "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": "8010", "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": "8011", "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": "8012", "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": "8013", "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": "8014", "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": "8015", "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": "8016", "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": "8017", "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": "8018", "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": "8019", "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": "8020", "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": "8021", "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": "8022", "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": "8023", "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": "8024", "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": "8025", "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": "8026", "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": "8027", "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": "8028", "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": "8029", "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": "8030", "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": "8031", "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": "8032", "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": "8033", "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": "8034", "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": "8035", "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": "8036", "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": "8037", "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": "8038", "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": "8039", "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": "8040", "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": "8041", "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 }]]; }; GameConfig.Authentication = function () { cc.fx.GameTool.Authentication(); @@ -308,4 +245,4 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXENvbmZpZ1xcR2FtZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJTSxJQUFBLEtBQXdCLEVBQUUsQ0FBQyxVQUFVLEVBQW5DLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBa0IsQ0FBQztBQUU1QztJQUFBO0lBZ1VBLENBQUM7bUJBaFVZLFVBQVU7SUFrRG5CLHNCQUFXLHNCQUFRO1FBSm5CLE9BQU87YUFJUDtZQUVJLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQzFCO2dCQUNJLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxZQUFVLEVBQUUsQ0FBQzthQUNyQztZQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUMxQixDQUFDOzs7T0FBQTtJQUNELGVBQWU7SUFDUixlQUFJLEdBQVgsVUFBWSxjQUFjO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztRQUNoQiwwRUFBMEU7UUFDMUUsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixRQUFRO1FBQ1Isd0NBQXdDO1FBQ3hDLDBDQUEwQztRQUMxQyxLQUFLO1FBQ0wsMEVBQTBFO1FBQzFFLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIsUUFBUTtRQUVSLHdDQUF3QztRQUN4QywwQ0FBMEM7UUFDMUMsS0FBSztRQUNMLHVFQUF1RTtRQUN2RSxpQkFBaUI7UUFDakIscURBQXFEO1FBQ3JELGtCQUFrQjtRQUNsQixRQUFRO1FBRVIsd0NBQXdDO1FBQ3hDLHVDQUF1QztRQUN2Qyx1Q0FBdUM7UUFDdkMsaURBQWlEO1FBQ2pELEtBQUs7UUFFTCxtQ0FBbUM7UUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUNoQixDQUFBO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRztZQUNmLE1BQU07WUFDTjtnQkFDSSxTQUFTLEVBQUUsQ0FBQztnQkFDWixRQUFRLEVBQUUsRUFBRTtnQkFDWixRQUFRLEVBQUUsQ0FBQyxDQUFHLE1BQU07YUFDdkI7WUFDRCxNQUFNO1lBQ047Z0JBQ0ksU0FBUyxFQUFFLENBQUM7Z0JBQ1osUUFBUSxFQUFFLEVBQUU7Z0JBQ1osUUFBUSxFQUFFLENBQUMsQ0FBRyxNQUFNO2FBQ3ZCO1lBQ0QsTUFBTTtZQUNOO2dCQUNJLFNBQVMsRUFBRSxDQUFDO2dCQUNaLFFBQVEsRUFBRSxFQUFFO2dCQUNaLFFBQVEsRUFBRSxDQUFDLENBQUcsTUFBTTthQUN2QjtZQUNELE1BQU07WUFDTjtnQkFDSSxTQUFTLEVBQUUsQ0FBQztnQkFDWixRQUFRLEVBQUUsRUFBRTtnQkFDWixRQUFRLEVBQUUsQ0FBQyxDQUFHLE1BQU07YUFDdkI7WUFDRCxNQUFNO1lBQ047Z0JBQ0ksU0FBUyxFQUFFLENBQUM7Z0JBQ1osUUFBUSxFQUFFLEVBQUU7Z0JBQ1osUUFBUSxFQUFFLENBQUMsQ0FBRyxNQUFNO2FBQ3ZCO1lBQ0EsTUFBTTtZQUNQO2dCQUNJLFNBQVMsRUFBRSxDQUFDO2dCQUNaLFFBQVEsRUFBRSxFQUFFO2dCQUNaLFFBQVEsRUFBRSxDQUFDLENBQUcsTUFBTTthQUN2QjtZQUNELGdCQUFnQjtZQUNoQjtnQkFDSSxTQUFTLEVBQUUsQ0FBQztnQkFDWixRQUFRLEVBQUUsRUFBRTtnQkFDWixRQUFRLEVBQUUsQ0FBQyxDQUFHLE1BQU07YUFDdkI7WUFDRCxNQUFNO1lBQ047Z0JBQ0ksU0FBUyxFQUFFLENBQUM7Z0JBQ1osUUFBUSxFQUFFLEVBQUU7Z0JBQ1osUUFBUSxFQUFFLENBQUMsQ0FBRyxNQUFNO2FBQ3ZCO1lBQ0QsTUFBTTtZQUNOO2dCQUNJLFNBQVMsRUFBRSxDQUFDO2dCQUNaLFFBQVEsRUFBRSxFQUFFO2dCQUNaLFFBQVEsRUFBRSxDQUFDLENBQUcsTUFBTTthQUN2QjtZQUNELE1BQU07WUFDTjtnQkFDSSxTQUFTLEVBQUUsQ0FBQztnQkFDWixRQUFRLEVBQUUsRUFBRTtnQkFDWixRQUFRLEVBQUUsQ0FBQyxDQUFHLE1BQU07YUFDdkI7U0FDSixDQUFBO0lBQ0wsQ0FBQztJQUVELE1BQU07SUFDQyx1QkFBWSxHQUFuQjtRQUNJLElBQUksQ0FBQyxPQUFPLEdBQUc7WUFDWCxnQkFBZ0I7WUFDaEIsU0FBUyxFQUFFLENBQUM7WUFDWixLQUFLLEVBQUUsQ0FBQztZQUNSLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsS0FBSyxFQUFFLElBQUk7WUFDWCxHQUFHLEVBQUUsd0JBQXdCO1lBQzdCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsT0FBTyxFQUFFLElBQUk7WUFDYixNQUFNLEVBQUUsQ0FBQztZQUNULEtBQUssRUFBRSxDQUFDO1lBQ1IsWUFBWSxFQUFDLENBQUM7WUFDZCxXQUFXLEVBQUMsRUFBRTtZQUNkLFFBQVEsRUFBQyxDQUFDO1lBQ1YsV0FBVyxFQUFFLENBQUM7U0FDakIsQ0FBQztJQUVOLENBQUM7SUFDTSxzQkFBVyxHQUFsQixVQUFtQixHQUFHLEVBQUMsS0FBSztRQUV4QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBQ00scUJBQVUsR0FBakI7UUFDSSxJQUFJLENBQUMsVUFBVTtZQUNmO2dCQUNJLElBQUksRUFBRSxDQUFDO2dCQUNQLE9BQU8sRUFBRSxLQUFLO2dCQUNkLEtBQUssRUFBRSxDQUFDO2dCQUNSLE1BQU0sRUFBRSxDQUFDO2dCQUNULFdBQVcsRUFBRSxDQUFDO2dCQUNkLElBQUksRUFBRSxFQUFFO2dCQUNSLFNBQVMsRUFBRSxDQUFDO2dCQUNaLFFBQVEsRUFBRSxDQUFDO2dCQUNYLFdBQVcsRUFBRSxDQUFDO2dCQUNkLE1BQU0sRUFBRSxLQUFLO2dCQUNiLFdBQVcsRUFBRSxDQUFDO2FBQ2pCLENBQUE7SUFDTCxDQUFDO0lBRU0sb0JBQVMsR0FBaEIsVUFBaUIsR0FBRyxFQUFDLEtBQUs7UUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDakMsQ0FBQztJQUVNLDBCQUFlLEdBQXRCO1FBQ0k7Ozs7VUFJRTtRQUNGLElBQUksQ0FBQyxVQUFVLEdBQUc7WUFDZDtnQkFDSTtvQkFDSSxJQUFJLEVBQUUsSUFBSTtvQkFDVixLQUFLLEVBQUU7d0JBQ0gsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQzt3QkFDYixDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO3dCQUNiLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUM7d0JBQ2IsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQzt3QkFDYixDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO3dCQUNiLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUM7d0JBQ2IsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQzt3QkFDYixDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO3dCQUNiLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUM7cUJBQ2hCO2lCQUNKO2dCQUNEO29CQUNJLElBQUksRUFBRSxJQUFJO29CQUNWLEtBQUssRUFBRTt3QkFDSCxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO3dCQUNuQixDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO3dCQUNuQixDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO3dCQUNuQixDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO3dCQUNuQixDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO3dCQUNuQixDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO3FCQUN0QjtpQkFDSjtnQkFDRDtvQkFDSSxJQUFJLEVBQUUsSUFBSTtvQkFDVixLQUFLLEVBQUU7d0JBQ0gsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUM7d0JBQ1QsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUM7d0JBQ1QsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUM7d0JBQ1QsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUM7cUJBQ1o7aUJBQ0o7Z0JBQ0Q7b0JBQ0ksSUFBSSxFQUFFLElBQUk7b0JBQ1YsS0FBSyxFQUFFO3dCQUNILENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO3dCQUNULENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO3dCQUNULENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO3dCQUNULENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO3FCQUNaO2lCQUNKO2dCQUNEO29CQUNJLElBQUksRUFBRSxJQUFJO29CQUNWLEtBQUssRUFBRTt3QkFDSCxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQzt3QkFDVCxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQzt3QkFDVCxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQzt3QkFDVCxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQztxQkFDWjtpQkFDSjtnQkFDRDtvQkFDSSxJQUFJLEVBQUUsSUFBSTtvQkFDVixLQUFLLEVBQUU7d0JBQ0gsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUM7d0JBQ1QsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUM7d0JBQ1QsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUM7d0JBQ1QsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUM7cUJBQ1o7aUJBQ0o7Z0JBQ0Q7b0JBQ0ksSUFBSSxFQUFFLElBQUk7b0JBQ1YsS0FBSyxFQUFFO3dCQUNILENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO3dCQUNULENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO3dCQUNULENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO3dCQUNULENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO3FCQUNaO2lCQUNKO2dCQUNEO29CQUNJLElBQUksRUFBRSxJQUFJO29CQUNWLEtBQUssRUFBRTt3QkFDSCxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQzt3QkFDVCxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQzt3QkFDVCxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQzt3QkFDVCxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQztxQkFDWjtpQkFDSjtnQkFDRDtvQkFDSSxJQUFJLEVBQUUsSUFBSTtvQkFDVixLQUFLLEVBQUU7d0JBQ0gsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUM7d0JBQ1QsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUM7d0JBQ1QsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUM7d0JBQ1QsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUM7cUJBQ1o7aUJBQ0o7Z0JBQ0Q7b0JBQ0ksSUFBSSxFQUFFLElBQUk7b0JBQ1YsS0FBSyxFQUFFO3dCQUNILENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO3dCQUNULENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO3dCQUNULENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO3dCQUNULENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO3FCQUNaO2lCQUNKO2FBQ0o7U0FHSixDQUFBO0lBQ0wsQ0FBQztJQUdNLHlCQUFjLEdBQXJCO1FBQ0ksRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDcEMsQ0FBQzs7SUE5VEQsMEJBQTBCO0lBQ1gsb0JBQVMsR0FBZ0IsSUFBSSxDQUFDO0lBRnBDLFVBQVU7UUFEdEIsT0FBTyxDQUFDLFlBQVksQ0FBQztPQUNULFVBQVUsQ0FnVXRCO0lBQUQsaUJBQUM7Q0FoVUQsQUFnVUMsSUFBQTtBQWhVWSxnQ0FBVSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdlQ2hhdCB9IGZyb20gXCIuLi9TaGFyZS9zaGFyZVwiO1xyXG5pbXBvcnQgeyBHYW1lVG9vbCB9IGZyb20gXCIuLi9Ub29sL0dhbWVUb29sXCI7XHJcblxyXG5cclxuY29uc3QgeyBjY2NsYXNzLCBwcm9wZXJ0eSB9ID0gY2MuX2RlY29yYXRvcjtcclxuQGNjY2xhc3MoJ0dhbWVDb25maWcnKVxyXG5leHBvcnQgY2xhc3MgR2FtZUNvbmZpZyAge1xyXG4gICAgLy/miYDmnInmjqfliLbkv6Hmga/pg73pgJrov4dHYW1lQXBwU3RhcnTlhoXmjqfliLZcclxuICAgIHByaXZhdGUgc3RhdGljIF9pbnN0YW5jZSA6IEdhbWVDb25maWcgPSBudWxsO1xyXG4gICAgLy/nlKjkuo7nm5vmlL7ln4vngrnmlbDmja7kuIrkvKDvvIzmr4/mrKHkuIrkvKDlkI7muIXnqbpcclxuICAgIHN0YXRpYyBDTElDS19EQVRBOiB7XHJcbiAgICAgICAgdHlwZTogbnVtYmVyOyAvL+S4iuS8oOaVsOaNruexu+Wei1xyXG4gICAgICAgIHN1Y2Nlc3M6IGJvb2xlYW47IC8v5q2k5bGA5ri45oiP5q2j56Gu5LiO5ZCmXHJcbiAgICAgICAgcm91bmQ6IG51bWJlcjsgLy/lm57lkIjmlbBcclxuICAgICAgICBjaG9pY2U6IG51bWJlcjsgLy/njqnlrrbpgInmi6nvvIww77ya5pe26Ze05oiq5q2i5YmN5pyq5YGa6YCJ5oup77yMMe+8jDLvvIwz77ya5LiJ5Liq5oyJ6ZKu5LuO5LiK5Yiw5LiL5L6d5qyh5a+55bqUXHJcbiAgICAgICAgcmlnaHRDaG9pY2U6IG51bWJlcjsgLy/mnKzova7nmoTmjInmraPnoa7nrZTmoYjvvIzlkKvkuYnkuI5jaG9pY2Xnm7jlkIxcclxuICAgICAgICBpdGVtOiBzdHJpbmc7IC8v5q2k5YWz5bGV56S655qE54mp5ZOBXHJcbiAgICAgICAgcm91bmRUeXBlOiBudW1iZXI7IC8v5bGV56S65pa55byP44CCMe+8muWbvuWDjyAy77ya6Z+z6aKRXHJcbiAgICAgICAgc3RlcFRpbWU6IG51bWJlcjsgLy/njqnlrrbmr4/kuIDlhbPnlKjml7bmr6vnp5LmlbAgIOmfs+mikeWFs+WNoeS7juaSreaUvue7k+adn+W8gOWni+iuoeaXtlxyXG4gICAgICAgIGxldmVsQ29uZmlnOiBudW1iZXI7IC8v5L2/55So55qE5piv5ZOq5LiA5aWX5YWz5Y2h6YWN572uXHJcbiAgICAgICAgaWduaXRlOiBib29sZWFuOyAvL+eOqeWutuatpOi9ruacieayoeacieeCueeBq1xyXG4gICAgICAgIGlnbml0ZUNvdW50OiBudW1iZXI7IC8v546p5a625oC76K6h5oiQ5Yqf54K554Gr5pWwXHJcbiAgICB9O1xyXG4gICAgc3RhdGljIEdBTUVfREFUQTogYW55W107XHJcbiAgICAvL+WFs+WNoeaVsOaNrlxyXG5cclxuICAgIHN0YXRpYyBHTV9JTkZPOiB7XHJcbiAgICAgICAgLy8gaXNFbmQ6IGZhbHNlLFxyXG4gICAgICAgIG1lYW5fVGltZTogbnVtYmVyOyAvL+W5s+Wdh+aUvueuremAn+W6plxyXG4gICAgICAgIHRvdGFsOiBudW1iZXI7IC8v5oC75YWx5a+555qE5Liq5pWwXHJcbiAgICAgICAgY3VyclNlZWQ6IG51bWJlcjsgLy/nlKjkuo7pmo/mnLrmlbDnp43lrZBcclxuICAgICAgICBnYW1lSWQ6IHN0cmluZzsgLy/muLjmiI9JRFxyXG4gICAgICAgIHVzZXJJZDogbnVtYmVyOyAvL+eUqOaIt0lEXHJcbiAgICAgICAgZ3VpZGU6IGJvb2xlYW47IC8v5piv5ZCm5pyJ5byV5a+8XHJcbiAgICAgICAgdXJsOiBzdHJpbmc7IC8v6K6/6Zeu5Z+f5ZCNXHJcbiAgICAgICAgc3VjY2VzczogYm9vbGVhbjsgLy/nlKjmiLfmuLjmiI/miJDlip/kuI7lkKZcclxuICAgICAgICBtYXRjaElkOiBhbnk7IC8v55So5LqO5Z+L54K55LiK5Lyg55qESURcclxuICAgICAgICBjdXN0b206IG51bWJlcjsgLy/nlKjkuo7mtYvor5Xot7PlhbPljaFcclxuICAgICAgICBsZXZlbDogbnVtYmVyOyAvL+WFt+S9k+a4uOaIj+WGhei/m+ihjOWIsOesrOWHoOatpSBcclxuICAgICAgICBzdGVwVGltZUxpc3Q6IG51bWJlcjsgLy/mlbTlsYDmuLjmiI/nlKjml7bvvIznlLHkuo7mtonlj4rlnLrmma/liIfmjaLvvIzmlbDmja7pnIDopoHkv53nlZlcclxuICAgICAgICBzdWNjZXNzTGlzdDogYW55W107IC8v5pW05bGA6IOc6LSfXHJcbiAgICAgICAgZ2FtZVRpbWU6IG51bWJlcjsgICAvL+WNleasoea4uOaIj+WAkuiuoeaXtuaXtumXtFxyXG4gICAgICAgIGlnbml0ZUNvdW50OiBudW1iZXI7IC8v546p5a625oC76K6h5oiQ5Yqf54K554Gr5pWwXHJcbiAgICAgXHJcbiAgICB9O1xyXG4gICAgc3RhdGljIExFVkVMX0lORk86IHsgaWQ6IG51bWJlcjsgbWFwOiBudW1iZXJbXVtdOyB9W11bXTtcclxuICAgIHN0YXRpYyBDVVNUT01fSU5GTzoge1xyXG4gICAgICAgIG1vdmVTcGVlZDogbnVtYmVyOyAvL+a0quWzsOenu+WKqOmAn+W6plxyXG4gICAgICAgIHdhaXRUaW1lOiBudW1iZXI7IC8v5rSq5bOw5Yay5Ye75YCS6K6h5pe2XHJcbiAgICAgICAgZmFzdFBhdGg6IG51bWJlcjsgLy/mnIDnn63ot6/lvoRcclxuICAgIH1bXTtcclxuXHJcbiAgICAvL+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+t6Lev5b6EXHJcbiAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgXVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvL+aVsOaNruWkh+eUqFxyXG4gICAgc3RhdGljIEdNX0lORk9faW5pdCgpIHtcclxuICAgICAgICB0aGlzLkdNX0lORk8gPSB7XHJcbiAgICAgICAgICAgIC8vIGlzRW5kOiBmYWxzZSxcclxuICAgICAgICAgICAgbWVhbl9UaW1lOiAwLCAgICAgICAgICAgICAgICAvL+W5s+Wdh+aUvueuremAn+W6plxyXG4gICAgICAgICAgICB0b3RhbDogMCwgICAgICAgICAgICAgICAgICAgIC8v5oC75YWx5a+555qE5Liq5pWwXHJcbiAgICAgICAgICAgIGN1cnJTZWVkOiAyMDAwMDAsICAgICAgICAgICAvL+eUqOS6jumaj+acuuaVsOenjeWtkFxyXG4gICAgICAgICAgICBnYW1lSWQ6IFwiMTAwMDEwXCIsICAgICAgICAgICAvL+a4uOaIj0lEXHJcbiAgICAgICAgICAgIHVzZXJJZDogMjAwMTM5LCAgICAgICAgICAgICAgICAgIC8v55So5oi3SURcclxuICAgICAgICAgICAgZ3VpZGU6IHRydWUsICAgICAgICAgICAgICAgICAvL+aYr+WQpuacieW8leWvvFxyXG4gICAgICAgICAgICB1cmw6IFwiaHR0cHM6Ly9hcGkuc3Bhcmt1cy5jblwiLC8v6K6/6Zeu5Z+f5ZCNXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLCAgICAgICAgICAgICAvL+eUqOaIt+a4uOaIj+aIkOWKn+S4juWQplxyXG4gICAgICAgICAgICBtYXRjaElkOiBudWxsLCAgICAgICAgICAgICAgLy/nlKjkuo7ln4vngrnkuIrkvKDnmoRJRFxyXG4gICAgICAgICAgICBjdXN0b206IDAsICAgICAgICAgICAgICAgICAgLy/nlKjkuo7mtYvor5Xot7PlhbPljaFcclxuICAgICAgICAgICAgbGV2ZWw6IDAsICAgICAgICAgICAgICAgICAgICAvL+WFt+S9k+a4uOaIj+WGhei/m+ihjOWIsOesrOWHoOatpSBcclxuICAgICAgICAgICAgc3RlcFRpbWVMaXN0OjAsICAgICAgICAgICAgIC8v5pW05bGA5ri45oiP55So5pe277yM55Sx5LqO5raJ5Y+K5Zy65pmv5YiH5o2i77yM5pWw5o2u6ZyA6KaB5L+d55WZXHJcbiAgICAgICAgICAgIHN1Y2Nlc3NMaXN0OltdLCAgICAgICAgICAgICAgLy/mlbTlsYDog5zotJ9cclxuICAgICAgICAgICAgZ2FtZVRpbWU6NSxcclxuICAgICAgICAgICAgaWduaXRlQ291bnQ6IDAsICAgICAgICAgICAgIC8v546p5a625oC76K6h5oiQ5Yqf54K554Gr5pWwXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICB9XHJcbiAgICBzdGF0aWMgR01fSU5GT19TRVQoa2V5LHZhbHVlKSB7XHJcblxyXG4gICAgICAgIHRoaXMuR01fSU5GT1trZXldID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgQ0xJQ0tfaW5pdCgpIHtcclxuICAgICAgICB0aGlzLkNMSUNLX0RBVEEgPVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdHlwZTogMSwgICAgICAgICAgICAvL+S4iuS8oOaVsOaNruexu+Wei1xyXG4gICAgICAgICAgICBzdWNjZXNzOiBmYWxzZSwgICAgIC8v5q2k5bGA5ri45oiP5q2j56Gu5LiO5ZCmXHJcbiAgICAgICAgICAgIHJvdW5kOiAwLCAgICAgICAgICAgLy/lm57lkIjmlbBcclxuICAgICAgICAgICAgY2hvaWNlOiAwLCAgICAgICAgICAvL+eOqeWutumAieaLqe+8jDDvvJrml7bpl7TmiKrmraLliY3mnKrlgZrpgInmi6nvvIwx77yMMu+8jDPvvJrkuInkuKrmjInpkq7ku47kuIrliLDkuIvkvp3mrKHlr7nlupRcclxuICAgICAgICAgICAgcmlnaHRDaG9pY2U6IDAsICAgICAvL+acrOi9rueahOaMieato+ehruetlOahiO+8jOWQq+S5ieS4jmNob2ljZeebuOWQjFxyXG4gICAgICAgICAgICBpdGVtOiBcIlwiLCAgICAgICAgICAgLy/mraTlhbPlsZXnpLrnmoTnianlk4FcclxuICAgICAgICAgICAgcm91bmRUeXBlOiAwLCAgICAgICAvL+WxleekuuaWueW8j+OAgjHvvJrlm77lg48gMu+8mumfs+mikVxyXG4gICAgICAgICAgICBzdGVwVGltZTogMCwgICAgICAgIC8v546p5a625q+P5LiA5YWz55So5pe25q+r56eS5pWwICDpn7PpopHlhbPljaHku47mkq3mlL7nu5PmnZ/lvIDlp4vorqHml7ZcclxuICAgICAgICAgICAgbGV2ZWxDb25maWc6IDAsICAgICAvL+S9v+eUqOeahOaYr+WTquS4gOWll+WFs+WNoemFjee9rlxyXG4gICAgICAgICAgICBpZ25pdGU6IGZhbHNlLCAgICAgIC8v546p5a625q2k6L2u5pyJ5rKh5pyJ54K554GrXHJcbiAgICAgICAgICAgIGlnbml0ZUNvdW50OiAwLCAgICAgICAgICAgICAvL+eOqeWutuaAu+iuoeaIkOWKn+eCueeBq+aVsFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgQ0xJQ0tfU0VUKGtleSx2YWx1ZSkge1xyXG4gICAgICAgIHRoaXMuQ0xJQ0tfREFUQVtrZXldID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIExFVkVMX0lORk9faW5pdCgpIHtcclxuICAgICAgICAvKlxyXG4gICAgICAgIG1vdmVTcGVlZDogMCwgICAgLy/mtKrls7Dnp7vliqjpgJ/luqZcclxuICAgICAgICB3YWl0VGltZTogMjAsICAgLy/mtKrls7DlhrLlh7vlgJLorqHml7ZcclxuICAgICAgICBmYXN0UGF0aDogNSAgIC8v5pyA55+t6Lev5b6EXHJcbiAgICAgICAgKi8gXHJcbiAgICAgICAgdGhpcy5MRVZFTF9JTkZPID0gW1xyXG4gICAgICAgICAgICBbIFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIFwiaWRcIjogMTAwMSxcclxuICAgICAgICAgICAgICAgICAgICBcIm1hcFwiOiBbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsNF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDAsMywwLDMsMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDAsMCwzLDAsMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDAsMiwwLDAsMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDEsMCwwLDAsMF1cclxuICAgICAgICAgICAgICAgICAgICBdXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIFwiaWRcIjogMTAwMixcclxuICAgICAgICAgICAgICAgICAgICBcIm1hcFwiOiBbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsNF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFswLDEsMCwwLDAsMCwwLDAsMF1cclxuICAgICAgICAgICAgICAgICAgICBdXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIFwiaWRcIjogMTAwMyxcclxuICAgICAgICAgICAgICAgICAgICBcIm1hcFwiOiBbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsxLDAsMSwxXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgWzEsMSwxLDFdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbMSwxLDEsMV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsxLDEsMSw2XVxyXG4gICAgICAgICAgICAgICAgICAgIF1cclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgXCJpZFwiOiAxMDA0LFxyXG4gICAgICAgICAgICAgICAgICAgIFwibWFwXCI6IFtcclxuICAgICAgICAgICAgICAgICAgICAgICAgWzEsMCwxLDFdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbMSwxLDEsMV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsxLDEsMSwxXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgWzEsMSwxLDZdXHJcbiAgICAgICAgICAgICAgICAgICAgXVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBcImlkXCI6IDEwMDUsXHJcbiAgICAgICAgICAgICAgICAgICAgXCJtYXBcIjogW1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBbMSwwLDEsMV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsxLDEsMSwxXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgWzEsMSwxLDFdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbMSwxLDEsNl1cclxuICAgICAgICAgICAgICAgICAgICBdXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIFwiaWRcIjogMTAwNixcclxuICAgICAgICAgICAgICAgICAgICBcIm1hcFwiOiBbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsxLDAsMSwxXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgWzEsMSwxLDFdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbMSwxLDEsMV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsxLDEsMSw2XVxyXG4gICAgICAgICAgICAgICAgICAgIF1cclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgXCJpZFwiOiAxMDA3LFxyXG4gICAgICAgICAgICAgICAgICAgIFwibWFwXCI6IFtcclxuICAgICAgICAgICAgICAgICAgICAgICAgWzEsMCwxLDFdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbMSwxLDEsMV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsxLDEsMSwxXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgWzEsMSwxLDZdXHJcbiAgICAgICAgICAgICAgICAgICAgXVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBcImlkXCI6IDEwMDgsXHJcbiAgICAgICAgICAgICAgICAgICAgXCJtYXBcIjogW1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBbMSwwLDEsMV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsxLDEsMSwxXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgWzEsMSwxLDFdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbMSwxLDEsNl1cclxuICAgICAgICAgICAgICAgICAgICBdXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIFwiaWRcIjogMTAwOSxcclxuICAgICAgICAgICAgICAgICAgICBcIm1hcFwiOiBbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsxLDAsMSwxXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgWzEsMSwxLDFdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbMSwxLDEsMV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsxLDEsMSw2XVxyXG4gICAgICAgICAgICAgICAgICAgIF1cclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgXCJpZFwiOiAxMDEwLFxyXG4gICAgICAgICAgICAgICAgICAgIFwibWFwXCI6IFtcclxuICAgICAgICAgICAgICAgICAgICAgICAgWzEsMCwxLDFdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbMSwxLDEsMV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsxLDEsMSwxXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgWzEsMSwxLDZdXHJcbiAgICAgICAgICAgICAgICAgICAgXVxyXG4gICAgICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgICAgIF0sXHJcblxyXG4gICAgICBcclxuICAgICAgICBdXHJcbiAgICB9XHJcblxyXG5cclxuICAgIHN0YXRpYyBBdXRoZW50aWNhdGlvbigpe1xyXG4gICAgICAgIGNjLmZ4LkdhbWVUb29sLkF1dGhlbnRpY2F0aW9uKCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXENvbmZpZ1xcR2FtZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJTSxJQUFBLEtBQXdCLEVBQUUsQ0FBQyxVQUFVLEVBQW5DLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBa0IsQ0FBQztBQUU1QztJQUFBO0lBOFFBLENBQUM7bUJBOVFZLFVBQVU7SUEyRG5CLHNCQUFXLHNCQUFRO1FBSm5CLE9BQU87YUFJUDtZQUVJLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQzFCO2dCQUNJLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxZQUFVLEVBQUUsQ0FBQzthQUNyQztZQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUMxQixDQUFDOzs7T0FBQTtJQUNELGVBQWU7SUFDUixlQUFJLEdBQVgsVUFBWSxjQUFjO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztRQUNoQiwwRUFBMEU7UUFDMUUsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixRQUFRO1FBQ1Isd0NBQXdDO1FBQ3hDLDBDQUEwQztRQUMxQyxLQUFLO1FBQ0wsMEVBQTBFO1FBQzFFLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIsUUFBUTtRQUVSLHdDQUF3QztRQUN4QywwQ0FBMEM7UUFDMUMsS0FBSztRQUNMLHVFQUF1RTtRQUN2RSxpQkFBaUI7UUFDakIscURBQXFEO1FBQ3JELGtCQUFrQjtRQUNsQixRQUFRO1FBRVIsd0NBQXdDO1FBQ3hDLHVDQUF1QztRQUN2Qyx1Q0FBdUM7UUFDdkMsaURBQWlEO1FBQ2pELEtBQUs7UUFFTCxtQ0FBbUM7UUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUNoQixDQUFB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QUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQTtJQUlyMmhCLENBQUM7SUFHTSx5QkFBYyxHQUFyQjtRQUNJLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3BDLENBQUM7O0lBNVFELDBCQUEwQjtJQUNYLG9CQUFTLEdBQWdCLElBQUksQ0FBQztJQUZwQyxVQUFVO1FBRHRCLE9BQU8sQ0FBQyxZQUFZLENBQUM7T0FDVCxVQUFVLENBOFF0QjtJQUFELGlCQUFDO0NBOVFELEFBOFFDLElBQUE7QUE5UVksZ0NBQVUiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXZUNoYXQgfSBmcm9tIFwiLi4vU2hhcmUvc2hhcmVcIjtcclxuaW1wb3J0IHsgR2FtZVRvb2wgfSBmcm9tIFwiLi4vVG9vbC9HYW1lVG9vbFwiO1xyXG5cclxuXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcbkBjY2NsYXNzKCdHYW1lQ29uZmlnJylcclxuZXhwb3J0IGNsYXNzIEdhbWVDb25maWcgIHtcclxuICAgIC8v5omA5pyJ5o6n5Yi25L+h5oGv6YO96YCa6L+HR2FtZUFwcFN0YXJ05YaF5o6n5Yi2XHJcbiAgICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2UgOiBHYW1lQ29uZmlnID0gbnVsbDtcclxuICAgIC8v55So5LqO55ub5pS+5Z+L54K55pWw5o2u5LiK5Lyg77yM5q+P5qyh5LiK5Lyg5ZCO5riF56m6XHJcbiAgICBzdGF0aWMgQ0xJQ0tfREFUQToge1xyXG4gICAgICAgIHR5cGU6IG51bWJlcjsgLy/kuIrkvKDmlbDmja7nsbvlnotcclxuICAgICAgICBzdWNjZXNzOiBib29sZWFuOyAvL+atpOWxgOa4uOaIj+ato+ehruS4juWQplxyXG4gICAgICAgIHJvdW5kOiBudW1iZXI7IC8v5Zue5ZCI5pWwXHJcbiAgICAgICAgY2hvaWNlOiBudW1iZXI7IC8v546p5a626YCJ5oup77yMMO+8muaXtumXtOaIquatouWJjeacquWBmumAieaLqe+8jDHvvIwy77yMM++8muS4ieS4quaMiemSruS7juS4iuWIsOS4i+S+neasoeWvueW6lFxyXG4gICAgICAgIHJpZ2h0Q2hvaWNlOiBudW1iZXI7IC8v5pys6L2u55qE5oyJ5q2j56Gu562U5qGI77yM5ZCr5LmJ5LiOY2hvaWNl55u45ZCMXHJcbiAgICAgICAgaXRlbTogc3RyaW5nOyAvL+atpOWFs+WxleekuueahOeJqeWTgVxyXG4gICAgICAgIHJvdW5kVHlwZTogbnVtYmVyOyAvL+WxleekuuaWueW8j+OAgjHvvJrlm77lg48gMu+8mumfs+mikVxyXG4gICAgICAgIHN0ZXBUaW1lOiBudW1iZXI7IC8v546p5a625q+P5LiA5YWz55So5pe25q+r56eS5pWwICDpn7PpopHlhbPljaHku47mkq3mlL7nu5PmnZ/lvIDlp4vorqHml7ZcclxuICAgICAgICBsZXZlbENvbmZpZzogbnVtYmVyOyAvL+S9v+eUqOeahOaYr+WTquS4gOWll+WFs+WNoemFjee9rlxyXG4gICAgICAgIGlnbml0ZTogYm9vbGVhbjsgLy/njqnlrrbmraTova7mnInmsqHmnInngrnngatcclxuICAgICAgICBpZ25pdGVDb3VudDogbnVtYmVyOyAvL+eOqeWutuaAu+iuoeaIkOWKn+eCueeBq+aVsFxyXG4gICAgfTtcclxuICAgIHN0YXRpYyBHQU1FX0RBVEE6IGFueVtdO1xyXG4gICAgLy/lhbPljaHmlbDmja5cclxuXHJcbiAgICBzdGF0aWMgR01fSU5GTzoge1xyXG4gICAgICAgIC8vIGlzRW5kOiBmYWxzZSxcclxuICAgICAgICBtZWFuX1RpbWU6IG51bWJlcjsgLy/lubPlnYfmlL7nrq3pgJ/luqZcclxuICAgICAgICB0b3RhbDogbnVtYmVyOyAvL+aAu+WFseWvueeahOS4quaVsFxyXG4gICAgICAgIGN1cnJTZWVkOiBudW1iZXI7IC8v55So5LqO6ZqP5py65pWw56eN5a2QXHJcbiAgICAgICAgZ2FtZUlkOiBzdHJpbmc7IC8v5ri45oiPSURcclxuICAgICAgICB1c2VySWQ6IG51bWJlcjsgLy/nlKjmiLdJRFxyXG4gICAgICAgIGd1aWRlOiBib29sZWFuOyAvL+aYr+WQpuacieW8leWvvFxyXG4gICAgICAgIHVybDogc3RyaW5nOyAvL+iuv+mXruWfn+WQjVxyXG4gICAgICAgIHN1Y2Nlc3M6IGJvb2xlYW47IC8v55So5oi35ri45oiP5oiQ5Yqf5LiO5ZCmXHJcbiAgICAgICAgbWF0Y2hJZDogYW55OyAvL+eUqOS6juWfi+eCueS4iuS8oOeahElEXHJcbiAgICAgICAgY3VzdG9tOiBudW1iZXI7IC8v55So5LqO5rWL6K+V6Lez5YWz5Y2hXHJcbiAgICAgICAgbGV2ZWw6IG51bWJlcjsgLy/lhbfkvZPmuLjmiI/lhoXov5vooYzliLDnrKzlh6DmraUgXHJcbiAgICAgICAgc3RlcFRpbWVMaXN0OiBudW1iZXI7IC8v5pW05bGA5ri45oiP55So5pe277yM55Sx5LqO5raJ5Y+K5Zy65pmv5YiH5o2i77yM5pWw5o2u6ZyA6KaB5L+d55WZXHJcbiAgICAgICAgc3VjY2Vzc0xpc3Q6IGFueVtdOyAvL+aVtOWxgOiDnOi0n1xyXG4gICAgICAgIGdhbWVUaW1lOiBudW1iZXI7ICAgLy/ljZXmrKHmuLjmiI/lgJLorqHml7bml7bpl7RcclxuICAgICAgICBpZ25pdGVDb3VudDogbnVtYmVyOyAvL+eOqeWutuaAu+iuoeaIkOWKn+eCueeBq+aVsFxyXG4gICAgIFxyXG4gICAgfTtcclxuICAgIHN0YXRpYyBMRVZFTF9JTkZPOiB7IGlkOiBzdHJpbmc7IG1hcDogbnVtYmVyW11bXTsgbWluX3N0ZXBzOiBudW1iZXJ9W11bXTtcclxuICAgIHN0YXRpYyBDVVNUT01fSU5GTzoge1xyXG4gICAgICAgIG1vdmVTcGVlZDogbnVtYmVyOyAvL+a0quWzsOenu+WKqOmAn+W6plxyXG4gICAgICAgIHdhaXRUaW1lOiBudW1iZXI7IC8v5rSq5bOw5Yay5Ye75YCS6K6h5pe2XHJcbiAgICAgICAgZmFzdFBhdGg6IG51bWJlcjsgLy/mnIDnn63ot6/lvoRcclxuICAgIH1bXTtcclxuICAgIHN0YXRpYyBUSU1FX0lORk86IHtcclxuICAgICAgICB3YXRlclNwZWVkOiBudW1iZXJbXTsgLy/mtKrls7DpgJ/luqZcclxuICAgICAgICB0b3RhbFRpbWU6IG51bWJlcjsgLy/muLjmiI/mgLvml7bplb9cclxuICAgICAgICB3YXRlclRpbWU6IG51bWJlcltdOyAvL+a0quWzsOadpeeahOWAkuiuoeaXtlxyXG4gICAgICAgIHJvYWRTcGVlZDogbnVtYmVyOyAvL+ays+mBk+S/ruetkemAn+W6plxyXG4gICAgICAgIFJlaW5mb3JjZVNwZWVkOiBudW1iZXI7IC8v5Yqg5Zu65pe26Ze06YCf5bqmXHJcbiAgICAgICAgWGlfU29pbFNwZWVkOiBudW1iZXI7XHJcbiAgICB9O1xyXG5cclxuXHJcbiAgICAvL+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+t6Lev5b6EXHJcbiAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgXVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvL+aVsOaNruWkh+eUqFxyXG4gICAgc3RhdGljIEdNX0lORk9faW5pdCgpIHtcclxuICAgICAgICB0aGlzLkdNX0lORk8gPSB7XHJcbiAgICAgICAgICAgIC8vIGlzRW5kOiBmYWxzZSxcclxuICAgICAgICAgICAgbWVhbl9UaW1lOiAwLCAgICAgICAgICAgICAgICAvL+W5s+Wdh+aUvueuremAn+W6plxyXG4gICAgICAgICAgICB0b3RhbDogMCwgICAgICAgICAgICAgICAgICAgIC8v5oC75YWx5a+555qE5Liq5pWwXHJcbiAgICAgICAgICAgIGN1cnJTZWVkOiAyMDAwMDAsICAgICAgICAgICAvL+eUqOS6jumaj+acuuaVsOenjeWtkFxyXG4gICAgICAgICAgICBnYW1lSWQ6IFwiMTAwMDEwXCIsICAgICAgICAgICAvL+a4uOaIj0lEXHJcbiAgICAgICAgICAgIHVzZXJJZDogMjAwMTM5LCAgICAgICAgICAgICAgICAgIC8v55So5oi3SURcclxuICAgICAgICAgICAgZ3VpZGU6IHRydWUsICAgICAgICAgICAgICAgICAvL+aYr+WQpuacieW8leWvvFxyXG4gICAgICAgICAgICB1cmw6IFwiaHR0cHM6Ly9hcGkuc3Bhcmt1cy5jblwiLC8v6K6/6Zeu5Z+f5ZCNXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLCAgICAgICAgICAgICAvL+eUqOaIt+a4uOaIj+aIkOWKn+S4juWQplxyXG4gICAgICAgICAgICBtYXRjaElkOiBudWxsLCAgICAgICAgICAgICAgLy/nlKjkuo7ln4vngrnkuIrkvKDnmoRJRFxyXG4gICAgICAgICAgICBjdXN0b206IDAsICAgICAgICAgICAgICAgICAgLy/nlKjkuo7mtYvor5Xot7PlhbPljaFcclxuICAgICAgICAgICAgbGV2ZWw6IDAsICAgICAgICAgICAgICAgICAgICAvL+WFt+S9k+a4uOaIj+WGhei/m+ihjOWIsOesrOWHoOatpSBcclxuICAgICAgICAgICAgc3RlcFRpbWVMaXN0OjAsICAgICAgICAgICAgIC8v5pW05bGA5ri45oiP55So5pe277yM55Sx5LqO5raJ5Y+K5Zy65pmv5YiH5o2i77yM5pWw5o2u6ZyA6KaB5L+d55WZXHJcbiAgICAgICAgICAgIHN1Y2Nlc3NMaXN0OltdLCAgICAgICAgICAgICAgLy/mlbTlsYDog5zotJ9cclxuICAgICAgICAgICAgZ2FtZVRpbWU6NSxcclxuICAgICAgICAgICAgaWduaXRlQ291bnQ6IDAsICAgICAgICAgICAgIC8v546p5a625oC76K6h5oiQ5Yqf54K554Gr5pWwXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICB9XHJcbiAgICBzdGF0aWMgR01fSU5GT19TRVQoa2V5LHZhbHVlKSB7XHJcblxyXG4gICAgICAgIHRoaXMuR01fSU5GT1trZXldID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgQ0xJQ0tfaW5pdCgpIHtcclxuICAgICAgICB0aGlzLkNMSUNLX0RBVEEgPVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdHlwZTogMSwgICAgICAgICAgICAvL+S4iuS8oOaVsOaNruexu+Wei1xyXG4gICAgICAgICAgICBzdWNjZXNzOiBmYWxzZSwgICAgIC8v5q2k5bGA5ri45oiP5q2j56Gu5LiO5ZCmXHJcbiAgICAgICAgICAgIHJvdW5kOiAwLCAgICAgICAgICAgLy/lm57lkIjmlbBcclxuICAgICAgICAgICAgY2hvaWNlOiAwLCAgICAgICAgICAvL+eOqeWutumAieaLqe+8jDDvvJrml7bpl7TmiKrmraLliY3mnKrlgZrpgInmi6nvvIwx77yMMu+8jDPvvJrkuInkuKrmjInpkq7ku47kuIrliLDkuIvkvp3mrKHlr7nlupRcclxuICAgICAgICAgICAgcmlnaHRDaG9pY2U6IDAsICAgICAvL+acrOi9rueahOaMieato+ehruetlOahiO+8jOWQq+S5ieS4jmNob2ljZeebuOWQjFxyXG4gICAgICAgICAgICBpdGVtOiBcIlwiLCAgICAgICAgICAgLy/mraTlhbPlsZXnpLrnmoTnianlk4FcclxuICAgICAgICAgICAgcm91bmRUeXBlOiAwLCAgICAgICAvL+WxleekuuaWueW8j+OAgjHvvJrlm77lg48gMu+8mumfs+mikVxyXG4gICAgICAgICAgICBzdGVwVGltZTogMCwgICAgICAgIC8v546p5a625q+P5LiA5YWz55So5pe25q+r56eS5pWwICDpn7PpopHlhbPljaHku47mkq3mlL7nu5PmnZ/lvIDlp4vorqHml7ZcclxuICAgICAgICAgICAgbGV2ZWxDb25maWc6IDAsICAgICAvL+S9v+eUqOeahOaYr+WTquS4gOWll+WFs+WNoemFjee9rlxyXG4gICAgICAgICAgICBpZ25pdGU6IGZhbHNlLCAgICAgIC8v546p5a625q2k6L2u5pyJ5rKh5pyJ54K554GrXHJcbiAgICAgICAgICAgIGlnbml0ZUNvdW50OiAwLCAgICAgICAgICAgICAvL+eOqeWutuaAu+iuoeaIkOWKn+eCueeBq+aVsFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgQ0xJQ0tfU0VUKGtleSx2YWx1ZSkge1xyXG4gICAgICAgIHRoaXMuQ0xJQ0tfREFUQVtrZXldID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIExFVkVMX0lORk9faW5pdCgpIHtcclxuICAgICAgICB0aGlzLlRJTUVfSU5GTyA9IHtcclxuICAgICAgICAgICAgd2F0ZXJTcGVlZDpbMC4zLDAuMjUsMC4yLDAuMTgsMC4xNiwwLjE0LDAuMTIsMC4xXSwgLy/mtKrls7DpgJ/luqZcclxuICAgICAgICAgICAgdG90YWxUaW1lOjEyMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy/muLjmiI/mgLvml7bplb9cclxuICAgICAgICAgICAgd2F0ZXJUaW1lOlsxMCwxMiwxNCwxNiwxOCwyMCwyMCwyMF0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL+a0quWzsOadpeeahOWAkuiuoeaXtlxyXG4gICAgICAgICAgICByb2FkU3BlZWQ6MC4yLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL+ays+mBk+S/ruetkemAn+W6plxyXG4gICAgICAgICAgICBSZWluZm9yY2VTcGVlZDowLjIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL+WKoOWbuuaXtumXtOmAn+W6plxyXG4gICAgICAgICAgICBYaV9Tb2lsU3BlZWQ6MC4yLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL+aBr+WjpOaXtumXtOmAn+W6plxyXG4gICAgICAgIH1cclxuICAgICAgICAvKlxyXG4gICAgICAgIG1vdmVTcGVlZDogMCwgICAgLy/mtKrls7Dnp7vliqjpgJ/luqZcclxuICAgICAgICB3YWl0VGltZTogMjAsICAgLy/mtKrls7DlhrLlh7vlgJLorqHml7ZcclxuICAgICAgICBmYXN0UGF0aDogNSAgIC8v5pyA55+t6Lev5b6EXHJcbiAgICAgICAgKi8gXHJcbiAgICAgICAgLy8gdGhpcy5MRVZFTF9JTkZPID0gW1xyXG4gICAgICAgIC8vICAgICBbIFxyXG4gICAgICAgIC8vICAgICAgICAge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIFwiaWRcIjogMTAwMSxcclxuICAgICAgICAvLyAgICAgICAgICAgICBcIm1hcFwiOiBbXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsNF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMywwLDMsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwzLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMiwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFsxLDAsMCwwLDAsMF1cclxuICAgICAgICAvLyAgICAgICAgICAgICBdXHJcbiAgICAgICAgLy8gICAgICAgICB9LFxyXG4gICAgICAgIC8vICAgICAgICAge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIFwiaWRcIjogMTAwMixcclxuICAgICAgICAvLyAgICAgICAgICAgICBcIm1hcFwiOiBbXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsNF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDEsMCwwLDAsMCwwLDAsMF1cclxuICAgICAgICAvLyAgICAgICAgICAgICBdXHJcbiAgICAgICAgLy8gICAgICAgICB9XHJcbiAgICAgICAgLy8gICAgIF0sXHJcblxyXG4gICAgICBcclxuICAgICAgICAvLyBdXHJcblxyXG4gICAgICAgIHRoaXMuTEVWRUxfSU5GTyA9IFtbe1wiaWRcIjpcIjEwMDFcIixcIm1hcFwiOltbMCw0LDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCwwLDEsMF1dLFwibWluX3N0ZXBzXCI6NH0se1wiaWRcIjpcIjEwMDJcIixcIm1hcFwiOltbMSwwLDAsMF0sWzAsMCwwLDRdLFswLDAsMCwwXSxbMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NH0se1wiaWRcIjpcIjEwMDNcIixcIm1hcFwiOltbMSwwLDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCwwLDAsNF1dLFwibWluX3N0ZXBzXCI6Nn0se1wiaWRcIjpcIjEwMDRcIixcIm1hcFwiOltbMSwwLDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCw0LDAsMF1dLFwibWluX3N0ZXBzXCI6NH0se1wiaWRcIjpcIjEwMDVcIixcIm1hcFwiOltbMSwwLDAsMF0sWzAsMCwwLDBdLFswLDAsMCw0XSxbMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjEwMDZcIixcIm1hcFwiOltbNCwwLDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCwxLDAsMF1dLFwibWluX3N0ZXBzXCI6NH0se1wiaWRcIjpcIjEwMDdcIixcIm1hcFwiOltbMCw0LDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCwwLDAsMV1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjEwMDhcIixcIm1hcFwiOltbMCwwLDAsNF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMSwwLDAsMF1dLFwibWluX3N0ZXBzXCI6Nn1dLFt7XCJpZFwiOlwiMjAwMVwiLFwibWFwXCI6W1swLDAsMCwwLDFdLFswLDAsMCwwLDBdLFswLDAsMywwLDNdLFswLDAsMCwwLDBdLFs0LDAsMCwwLDNdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCIyMDAyXCIsXCJtYXBcIjpbWzAsMSwwLDAsMF0sWzAsMCwwLDAsMF0sWzMsMywwLDAsNF0sWzAsMCwwLDAsMF0sWzMsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjIwMDNcIixcIm1hcFwiOltbMSwwLDAsMywwXSxbMCwwLDMsMCwwXSxbMCwwLDAsMCwwXSxbMCwwLDAsMCwwXSxbMCwzLDAsNCwwXV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiMjAwNFwiLFwibWFwXCI6W1sxLDAsMCwwLDBdLFswLDAsMCwwLDNdLFszLDAsMCwwLDBdLFswLDAsMCwwLDBdLFswLDAsMCwzLDRdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCIyMDA1XCIsXCJtYXBcIjpbWzAsMywwLDAsMF0sWzEsMCwwLDAsMF0sWzAsMCwwLDMsMF0sWzAsMCwwLDAsMF0sWzAsMywwLDQsMF1dLFwibWluX3N0ZXBzXCI6Nn0se1wiaWRcIjpcIjIwMDZcIixcIm1hcFwiOltbMCwxLDAsMCwwXSxbMCwwLDAsMCwzXSxbMCwwLDAsMCwzXSxbMCwwLDAsMCwwXSxbMCwwLDAsMyw0XV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiMjAwN1wiLFwibWFwXCI6W1szLDAsMCwwLDFdLFswLDAsMCwwLDNdLFswLDAsMCwwLDBdLFswLDAsMCwwLDBdLFs0LDMsMCwwLDBdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCIyMDA4XCIsXCJtYXBcIjpbWzMsNCwwLDAsMF0sWzAsMCwwLDAsM10sWzAsMCwwLDMsMV0sWzAsMCwwLDAsMF0sWzAsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6N31dLFt7XCJpZFwiOlwiMzAwMVwiLFwibWFwXCI6W1swLDAsMiwwLDIsNF0sWzAsMiwwLDAsMCwwXSxbMCwwLDIsMCwwLDBdLFsxLDIsMiwwLDAsMF0sWzAsMCwwLDAsMiwwXSxbMCwyLDIsMCwwLDJdXSxcIm1pbl9zdGVwc1wiOjR9LHtcImlkXCI6XCIzMDAyXCIsXCJtYXBcIjpbWzAsMiwwLDAsMiwwXSxbMCwwLDAsMCwwLDBdLFswLDIsMCwwLDIsMV0sWzAsMiwwLDAsMCwwXSxbMCwwLDAsMCwwLDJdLFsyLDAsMiw0LDIsMl1dLFwibWluX3N0ZXBzXCI6NH1dLFt7XCJpZFwiOlwiNDAwMVwiLFwibWFwXCI6W1szLDAsMiwzLDRdLFswLDAsMCwyLDJdLFsyLDMsMywzLDNdLFswLDAsMiwwLDJdLFsxLDAsMiwzLDBdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCI0MDAyXCIsXCJtYXBcIjpbWzMsMCwzLDIsMF0sWzEsMiwwLDMsMl0sWzIsMywwLDAsNF0sWzIsMCwyLDIsMF0sWzMsMywwLDMsMF1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjQwMDNcIixcIm1hcFwiOltbMCwyLDMsMyw0XSxbMiwyLDAsMCwwXSxbMSwzLDMsMywyXSxbMiwyLDMsMiwzXSxbMCwwLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiNDAwNFwiLFwibWFwXCI6W1szLDIsMiwxLDBdLFswLDAsMywyLDJdLFszLDAsMiwzLDBdLFszLDAsMCwzLDNdLFswLDIsNCwwLDJdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCI0MDA1XCIsXCJtYXBcIjpbWzMsMCwzLDAsMF0sWzIsMywwLDAsMV0sWzAsMiwyLDIsM10sWzQsMiwwLDAsMl0sWzMsMywwLDMsMl1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjQwMDZcIixcIm1hcFwiOltbMiwwLDIsMiwwXSxbMSwyLDMsMCwwXSxbMywzLDAsMywyXSxbMywwLDAsMywyXSxbMiwwLDMsMCw0XV0sXCJtaW5fc3RlcHNcIjo2fSx7XCJpZFwiOlwiNDAwN1wiLFwibWFwXCI6W1sxLDIsMCwzLDNdLFsyLDIsMCwyLDBdLFsyLDMsMiwwLDNdLFswLDMsMiwwLDRdLFswLDAsMywwLDNdXSxcIm1pbl9zdGVwc1wiOjZ9LHtcImlkXCI6XCI0MDA4XCIsXCJtYXBcIjpbWzMsMywzLDAsMV0sWzAsMCwwLDAsM10sWzIsMiwzLDIsMl0sWzAsMiwzLDAsM10sWzQsMiwyLDAsMF1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjQwMDlcIixcIm1hcFwiOltbMSwwLDMsMywyXSxbMywwLDIsMCwwXSxbMCwzLDMsMiw0XSxbMCwwLDMsMCwyXSxbMiwyLDIsMCwzXV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiNDAxMFwiLFwibWFwXCI6W1szLDAsMiwwLDRdLFsxLDIsMywwLDNdLFsyLDAsMywyLDBdLFswLDMsMCwwLDNdLFsyLDAsMiwzLDJdXSxcIm1pbl9zdGVwc1wiOjV9XSxbe1wiaWRcIjpcIjUwMDFcIixcIm1hcFwiOltbMSwzLDAsMCwyLDBdLFswLDMsMCwwLDIsMF0sWzAsMCwyLDAsMyw0XSxbMCwwLDAsMiwwLDBdLFszLDMsMCwwLDIsMCwzXSxbMCwwLDIsMiwyLDBdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCI1MDAyXCIsXCJtYXBcIjpbWzAsMiwyLDIsMiwwXSxbMSwwLDAsMCwyLDBdLFswLDAsMCwwLDAsM10sWzAsMCwwLDAsMiwwXSxbMCwzLDMsMCwyLDBdLFszLDAsMCw0LDIsMF1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjUwMDNcIixcIm1hcFwiOltbMCwwLDAsMCwwLDBdLFsyLDAsMCwwLDAsMl0sWzAsMywzLDMsMiw0XSxbMCwzLDAsMywyLDBdLFswLDAsMCwwLDAsM10sWzAsMCwyLDMsMCwxXV0sXCJtaW5fc3RlcHNcIjo2fSx7XCJpZFwiOlwiNTAwNFwiLFwibWFwXCI6W1syLDAsMywwLDAsNF0sWzAsMiwzLDMsMCwwXSxbMCwzLDAsMCwwLDBdLFszLDAsMCwwLDIsMl0sWzMsMCwwLDIsMCwwXSxbMSwwLDAsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjZ9LHtcImlkXCI6XCI1MDA1XCIsXCJtYXBcIjpbWzEsMCwwLDAsMCwyXSxbMCwwLDAsMiwwLDBdLFszLDIsMCwwLDAsMF0sWzAsMywwLDAsMiwzXSxbMCwwLDMsMywwLDBdLFszLDAsMCwyLDMsNF1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjUwMDZcIixcIm1hcFwiOltbNCwzLDAsMywwLDBdLFswLDIsMCwzLDAsMF0sWzMsMCwwLDAsMywyXSxbMCwzLDAsMCwyLDFdLFswLDAsMiwwLDAsMF0sWzAsMCwwLDAsMiwzXV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiNTAwN1wiLFwibWFwXCI6W1s0LDIsMiwwLDIsMF0sWzAsMywwLDIsMCwwXSxbMCwyLDMsMCwzLDBdLFswLDAsMywwLDAsM10sWzAsMCwzLDAsMCwwXSxbMCwwLDAsMywwLDFdXSxcIm1pbl9zdGVwc1wiOjd9LHtcImlkXCI6XCI1MDA4XCIsXCJtYXBcIjpbWzAsMCwyLDMsMCwwXSxbMCwzLDAsMiwzLDJdLFszLDAsMCwwLDAsMF0sWzAsMywwLDAsMyw0XSxbMCwwLDAsMCwwLDNdLFswLDIsMCwyLDAsMV1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjUwMDlcIixcIm1hcFwiOltbMCwzLDMsMCwwLDRdLFsyLDAsMCwzLDAsMF0sWzIsMCwwLDMsMCwwXSxbMSwwLDAsMCwzLDBdLFswLDAsMiwzLDAsMl0sWzIsMywwLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNTAxMFwiLFwibWFwXCI6W1swLDAsMSwzLDIsMF0sWzMsMCwwLDAsMywyXSxbMywwLDAsMCwwLDNdLFsyLDAsMCwwLDAsMF0sWzAsMiwwLDAsMywwXSxbMCwyLDAsMyw0LDBdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI1MDExXCIsXCJtYXBcIjpbWzEsMCwwLDAsMCwwXSxbMywzLDAsMCwwLDJdLFswLDAsMCwzLDAsMl0sWzIsMCwzLDAsMywwXSxbMiwwLDMsMCwwLDNdLFs0LDAsMCwwLDAsMl1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjUwMTJcIixcIm1hcFwiOltbMiwyLDMsMCwyLDBdLFswLDMsMCwwLDAsMF0sWzAsMCwwLDAsMyw0XSxbMCwyLDAsMywwLDNdLFswLDAsMCwwLDAsMF0sWzAsMCwyLDMsMywxXV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNTAxM1wiLFwibWFwXCI6W1swLDAsMCwwLDMsMF0sWzQsMiwwLDMsMCwwXSxbMywyLDAsMCwwLDBdLFsxLDMsMCwzLDAsMF0sWzIsMCwwLDIsMCwwXSxbMywwLDAsMywyLDBdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI1MDE0XCIsXCJtYXBcIjpbWzAsMCwzLDAsMiwyXSxbMCwyLDMsMCwwLDFdLFswLDMsMywwLDAsM10sWzAsMiwwLDAsMCwwXSxbMCwwLDAsMywzLDBdLFsyLDAsNCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6N30se1wiaWRcIjpcIjUwMTVcIixcIm1hcFwiOltbMiwwLDAsMCwwLDBdLFswLDAsMCwwLDMsMV0sWzMsMCwyLDAsMCwzXSxbMiwwLDAsMiwzLDBdLFszLDAsMywwLDAsMF0sWzIsMCwwLDMsNCwwXV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiNTAxNlwiLFwibWFwXCI6W1swLDAsMywwLDAsMV0sWzIsMywwLDAsMywwXSxbMiwwLDAsMCwwLDJdLFswLDMsMCwwLDAsMF0sWzAsMywwLDAsMiwwXSxbMCw0LDMsMCwyLDNdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI1MDE3XCIsXCJtYXBcIjpbWzEsMiwzLDAsMywyXSxbMywwLDAsMCwwLDBdLFswLDAsMCwwLDAsM10sWzMsMywwLDMsMiwwXSxbMCwyLDAsMCwwLDBdLFs0LDAsMCwyLDAsMF1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjUwMThcIixcIm1hcFwiOltbMCwwLDEsMCwyLDBdLFswLDAsMCwwLDAsMF0sWzAsMCwzLDIsMywwXSxbMywwLDAsMywwLDBdLFsyLDMsMCwyLDAsMF0sWzQsMiwwLDMsMywwXV0sXCJtaW5fc3RlcHNcIjo4fV0sW3tcImlkXCI6XCI2MDAxXCIsXCJtYXBcIjpbWzEsMCwwLDAsMCwwXSxbMCwyLDIsMywwLDJdLFszLDIsMCwwLDMsM10sWzAsMCwwLDAsMCw0XSxbMCwwLDAsMiwyLDBdLFszLDAsMiwyLDAsMF1dLFwibWluX3N0ZXBzXCI6N30se1wiaWRcIjpcIjYwMDJcIixcIm1hcFwiOltbMCwwLDAsMCw0LDNdLFszLDIsMywwLDAsMF0sWzAsMiwwLDIsMywwXSxbMiwyLDAsMCwwLDBdLFszLDIsMCwwLDAsMF0sWzMsMCwwLDIsMCwzXSxbMiwwLDAsMywwLDFdXSxcIm1pbl9zdGVwc1wiOjd9LHtcImlkXCI6XCI2MDAzXCIsXCJtYXBcIjpbWzAsMCwxLDMsMCwyXSxbMCwzLDMsMCwwLDBdLFswLDAsMywyLDAsMF0sWzAsMCwzLDAsMCwwXSxbMywwLDAsMCwyLDJdLFswLDAsMiwzLDAsMF0sWzAsMiwwLDMsMCw0XV0sXCJtaW5fc3RlcHNcIjoxMH0se1wiaWRcIjpcIjYwMDRcIixcIm1hcFwiOltbMCwzLDMsMiwzLDBdLFsyLDAsMiwwLDMsMF0sWzEsMCwzLDIsMCwwXSxbMywzLDAsMCwwLDJdLFswLDAsMCwwLDAsMF0sWzAsMiwwLDAsMCwwXSxbMCwwLDAsMyw0LDBdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI2MDA1XCIsXCJtYXBcIjpbWzAsMCwwLDAsMCwxXSxbMCwwLDIsMCwyLDBdLFszLDIsMiwwLDAsMF0sWzMsMCwwLDMsMCwwXSxbMywzLDAsMCwwLDNdLFs0LDMsMCwwLDAsMF0sWzIsMCwwLDIsMywwXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNjAwNlwiLFwibWFwXCI6W1swLDMsMCwwLDAsMF0sWzEsMCwwLDAsMywwXSxbMCwwLDMsMiwwLDBdLFszLDAsMCwyLDIsMF0sWzAsMywwLDMsMywwXSxbMCwyLDAsMCwwLDBdLFs0LDAsMywwLDIsMl1dLFwibWluX3N0ZXBzXCI6OX0se1wiaWRcIjpcIjYwMDdcIixcIm1hcFwiOltbMCwyLDAsMywwLDBdLFsxLDIsMCwyLDAsMF0sWzAsMywwLDMsMCwwXSxbMywwLDAsMCwwLDNdLFswLDAsMywyLDAsMl0sWzQsMCwwLDMsMCwzXSxbMCwyLDAsMCwwLDBdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI2MDA4XCIsXCJtYXBcIjpbWzMsMCwzLDIsMCw0XSxbMCwzLDAsMiwwLDJdLFswLDAsMywwLDAsMF0sWzIsMCwwLDIsMCwwXSxbMCwwLDMsMCwwLDBdLFswLDAsMCwzLDAsMF0sWzMsMiwxLDMsMCwwXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNjAwOVwiLFwibWFwXCI6W1swLDIsMCwwLDAsM10sWzAsMCwzLDMsMyw0XSxbMCwzLDAsMCwwLDBdLFswLDMsMiwwLDAsMF0sWzEsMiwzLDIsMCwzXSxbMiwwLDAsMCwwLDBdLFswLDAsMCwwLDIsMF1dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI2MDEwXCIsXCJtYXBcIjpbWzAsMywxLDAsMCwwXSxbMCwyLDMsMywwLDBdLFswLDIsMCwzLDAsMF0sWzAsMiwwLDIsMCwzXSxbMCwyLDAsMCwzLDBdLFswLDMsMCwwLDAsMF0sWzAsMiw0LDAsMCwzXV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNjAxMVwiLFwibWFwXCI6W1sxLDAsMywwLDMsMF0sWzAsMiwwLDAsMCwwXSxbMiwwLDIsMCwzLDBdLFswLDMsMiwwLDAsMF0sWzMsMCwwLDAsMCwyXSxbNCwwLDMsMCwwLDBdLFszLDIsMCwwLDAsM11dLFwibWluX3N0ZXBzXCI6OX0se1wiaWRcIjpcIjYwMTJcIixcIm1hcFwiOltbMiwzLDAsMiwwLDFdLFsyLDAsMCwwLDAsMF0sWzIsMCwwLDMsMCwyXSxbMywwLDMsMCwwLDNdLFswLDAsMCwwLDMsM10sWzMsMCwwLDAsMiwwXSxbMCwwLDAsMCwwLDRdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI2MDEzXCIsXCJtYXBcIjpbWzAsMCwyLDEsMiwwXSxbMCwzLDAsMCwwLDBdLFsyLDAsMCwwLDAsMF0sWzAsMCwwLDMsMCwwXSxbMywwLDAsMiwzLDBdLFszLDMsMywyLDAsMl0sWzAsMCw0LDAsMCwzXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNjAxNFwiLFwibWFwXCI6W1swLDEsMCwwLDAsMF0sWzIsMCwyLDAsMCwyXSxbMiwzLDAsMywwLDBdLFswLDMsMCwwLDAsM10sWzAsMCwwLDIsMCwzXSxbMCwwLDMsMCwzLDBdLFsyLDAsMywwLDAsNF1dLFwibWluX3N0ZXBzXCI6OX0se1wiaWRcIjpcIjYwMTVcIixcIm1hcFwiOltbMSwyLDMsMiwyLDBdLFszLDAsMCwwLDAsM10sWzAsMCwwLDAsMCwwXSxbMCwwLDAsMCwwLDJdLFswLDMsMCwzLDIsMF0sWzAsMCwwLDAsMCwwXSxbMCwyLDAsNCwwLDNdXSxcIm1pbl9zdGVwc1wiOjd9LHtcImlkXCI6XCI2MDE2XCIsXCJtYXBcIjpbWzMsMCwxLDAsMCwwXSxbMCwyLDAsMiwwLDBdLFswLDIsMCwyLDAsM10sWzAsMCwwLDAsMCwwXSxbMCwyLDAsMCwzLDNdLFswLDAsMCwwLDIsM10sWzAsMCwwLDMsMCw0XV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiNjAxN1wiLFwibWFwXCI6W1swLDAsMCwwLDAsMF0sWzEsMiwzLDAsMCwyXSxbMCwwLDIsMCwwLDJdLFszLDAsMiwzLDAsMF0sWzAsMywzLDAsMiwwXSxbMCwwLDAsMCwwLDBdLFs0LDAsMywwLDAsMF1dLFwibWluX3N0ZXBzXCI6OX0se1wiaWRcIjpcIjYwMThcIixcIm1hcFwiOltbMCwyLDAsMSwwLDBdLFsyLDAsMCwzLDAsMF0sWzAsMCwwLDAsMCwwXSxbMywwLDAsMCwwLDBdLFsyLDMsMCwyLDMsM10sWzIsMCwwLDAsMCwyXSxbNCwzLDAsMCwwLDBdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI2MDE5XCIsXCJtYXBcIjpbWzEsMywwLDIsMywwXSxbMCwwLDAsMCwwLDJdLFswLDAsMCwwLDAsMF0sWzAsMCwyLDAsMCwyXSxbMywzLDAsMywwLDJdLFs0LDAsMiwwLDAsMF0sWzAsMCwwLDMsMCwwXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNjAyMFwiLFwibWFwXCI6W1swLDAsMCwyLDAsMF0sWzAsMywwLDAsMCwzXSxbMCwyLDAsMCwzLDBdLFsyLDAsMCwyLDMsNF0sWzAsMiwzLDAsMCwwXSxbMCwwLDAsMywwLDBdLFszLDIsMCwxLDMsMF1dLFwibWluX3N0ZXBzXCI6MTF9XSxbe1wiaWRcIjpcIjcwMDFcIixcIm1hcFwiOltbMCwwLDMsMyw0LDJdLFswLDAsMCwyLDAsMF0sWzIsMywzLDIsMCwwXSxbMCwzLDAsMCwwLDJdLFswLDAsMCwzLDIsMl0sWzIsMCwwLDMsMCwyXSxbMSwzLDIsMCwwLDBdLFswLDAsMCwzLDAsMF1dLFwibWluX3N0ZXBzXCI6OX0se1wiaWRcIjpcIjcwMDJcIixcIm1hcFwiOltbMCwwLDMsMyw0LDJdLFswLDAsMCwyLDAsMF0sWzIsMywzLDIsMCwwXSxbMCwzLDAsMCwwLDJdLFswLDAsMCwzLDIsMl0sWzIsMCwwLDMsMCwyXSxbMSwzLDIsMCwwLDBdLFswLDAsMCwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDAzXCIsXCJtYXBcIjpbWzAsMiwyLDAsMCw0XSxbMCwzLDMsMCwwLDBdLFszLDIsMCwwLDAsMF0sWzAsMywwLDAsMywzXSxbMCwyLDAsMywwLDBdLFsyLDMsMCwwLDAsMF0sWzAsMiwzLDAsMCwwXSxbMSwyLDMsMCwyLDBdXSxcIm1pbl9zdGVwc1wiOjEyfSx7XCJpZFwiOlwiNzAwNFwiLFwibWFwXCI6W1swLDMsMCwyLDIsMF0sWzAsMCwwLDAsMCwyXSxbMywwLDAsMCwwLDBdLFswLDMsMCwwLDAsMF0sWzAsMywzLDAsMywwXSxbMiwwLDAsMCwzLDJdLFsyLDAsMCwwLDMsMV0sWzQsMywwLDIsMywyXV0sXCJtaW5fc3RlcHNcIjoxM30se1wiaWRcIjpcIjcwMDVcIixcIm1hcFwiOltbMiwyLDQsMiwzLDBdLFswLDMsMywyLDAsMF0sWzMsMCwwLDMsMCwyXSxbMywwLDIsMywzLDBdLFswLDAsMCwwLDAsMF0sWzAsMCwwLDAsMiwzXSxbMywyLDAsMCwwLDFdLFswLDAsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDA2XCIsXCJtYXBcIjpbWzEsMCwyLDAsMCwzXSxbMCwwLDAsMCwzLDBdLFszLDAsMCwzLDIsMF0sWzIsMywwLDAsMCwzXSxbMCwwLDMsMiwwLDNdLFswLDIsMCwzLDAsMF0sWzIsMywwLDIsMCwwXSxbMCw0LDAsMiwwLDBdXSxcIm1pbl9zdGVwc1wiOjExfSx7XCJpZFwiOlwiNzAwN1wiLFwibWFwXCI6W1szLDIsMCwwLDMsNF0sWzAsMiwwLDAsMywwXSxbMCwwLDIsMCwyLDBdLFsyLDAsMCwzLDAsM10sWzAsMCwyLDAsMywyXSxbMCwyLDMsMywwLDFdLFswLDAsMCwwLDAsM10sWzAsMCwwLDMsMCwwXV0sXCJtaW5fc3RlcHNcIjoxM30se1wiaWRcIjpcIjcwMDhcIixcIm1hcFwiOltbMCwwLDIsMCwzLDRdLFszLDMsMiwzLDAsMF0sWzAsMCwwLDAsMCwzXSxbMCwwLDIsMywyLDBdLFswLDAsMiwwLDMsMl0sWzMsMywwLDAsMCwyXSxbMCwzLDAsMCwwLDBdLFsyLDEsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI3MDA5XCIsXCJtYXBcIjpbWzQsMywwLDAsMywwXSxbMCwwLDAsMCwwLDBdLFszLDMsMCwyLDAsMl0sWzMsMCwwLDIsMiwwXSxbMiwzLDIsMCwwLDBdLFsxLDMsMywwLDAsMF0sWzIsMCwwLDAsMCwwXSxbMywzLDAsMCwwLDJdXSxcIm1pbl9zdGVwc1wiOjExfSx7XCJpZFwiOlwiNzAxMFwiLFwibWFwXCI6W1swLDMsMSwwLDAsMF0sWzAsMiwzLDMsMCwwXSxbMiwwLDAsMywwLDBdLFswLDIsMCwwLDMsMl0sWzMsMCwwLDAsMCwyXSxbMywyLDAsMCwwLDBdLFs0LDAsMCwzLDIsMF0sWzAsMywwLDMsMiwwXV0sXCJtaW5fc3RlcHNcIjoxM30se1wiaWRcIjpcIjcwMTFcIixcIm1hcFwiOltbMywwLDIsMiwzLDJdLFsxLDAsMCwwLDAsM10sWzAsMCwzLDIsMywwXSxbMywwLDMsMCwwLDBdLFs0LDMsMiwzLDAsMl0sWzAsMCwyLDAsMiwzXSxbMiwwLDAsMCwwLDNdLFswLDAsMCwyLDAsM11dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDEyXCIsXCJtYXBcIjpbWzMsMCwwLDAsMiwwXSxbMCwzLDAsMywwLDBdLFswLDMsMCwwLDAsM10sWzIsMCwwLDMsMiwwXSxbMywyLDIsMiwwLDBdLFszLDAsMiwwLDMsMF0sWzEsMiwzLDAsMiwwXSxbMiwzLDAsMCwzLDRdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI3MDEzXCIsXCJtYXBcIjpbWzMsMCwwLDIsMiwwXSxbMCwyLDAsMywwLDJdLFswLDAsMywyLDMsMF0sWzAsMywwLDAsMywwXSxbMiwyLDMsMiwwLDBdLFswLDAsMywzLDAsMF0sWzAsMiwwLDMsMiwwXSxbNCwzLDMsMCwxLDBdXSxcIm1pbl9zdGVwc1wiOjEwfSx7XCJpZFwiOlwiNzAxNFwiLFwibWFwXCI6W1s0LDMsMCwwLDAsMF0sWzAsMiwyLDIsMywwXSxbMCwzLDAsMCwwLDBdLFsyLDMsMiwzLDAsMF0sWzMsMywwLDAsMCwzXSxbMCwwLDAsMiwzLDBdLFswLDMsMiwwLDIsMl0sWzIsMywzLDAsMCwxXV0sXCJtaW5fc3RlcHNcIjoxMn0se1wiaWRcIjpcIjcwMTVcIixcIm1hcFwiOltbNCwwLDAsMCwyLDNdLFswLDAsMywwLDAsM10sWzIsMiwzLDIsMCwwXSxbMywwLDAsMCwzLDJdLFsyLDMsMCwzLDAsMl0sWzAsMCwzLDAsMiwzXSxbMCwwLDAsMCwwLDNdLFsxLDIsMiwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTR9LHtcImlkXCI6XCI3MDE2XCIsXCJtYXBcIjpbWzAsMCwxLDAsMiwzXSxbMCwzLDIsMCwyLDBdLFszLDMsMywzLDAsMF0sWzMsMCwwLDAsMCwwXSxbMiwyLDMsMCwzLDNdLFswLDAsMiwwLDIsMF0sWzAsMiwwLDIsMCwzXSxbMywwLDIsMCwwLDRdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI3MDE3XCIsXCJtYXBcIjpbWzQsMCwwLDAsMCwzXSxbMCwzLDMsMCwwLDBdLFszLDAsMiwyLDAsMF0sWzMsMCwyLDMsMywyXSxbMywyLDAsMiwzLDNdLFsyLDAsMiwwLDAsMF0sWzAsMCwwLDAsMCwzXSxbMiwzLDAsMiwwLDFdXSxcIm1pbl9zdGVwc1wiOjEwfSx7XCJpZFwiOlwiNzAxOFwiLFwibWFwXCI6W1syLDMsMCwwLDIsM10sWzIsMCwwLDMsMCw0XSxbMiwwLDAsMCwwLDBdLFswLDMsMiwwLDIsM10sWzAsMCwwLDAsMCwzXSxbMiwwLDMsMywyLDNdLFswLDAsMCwzLDIsMF0sWzIsMywxLDMsMCwwXV0sXCJtaW5fc3RlcHNcIjoxMX0se1wiaWRcIjpcIjcwMTlcIixcIm1hcFwiOltbNCwwLDAsMCwyLDNdLFswLDAsMywwLDAsM10sWzIsMiwzLDIsMCwwXSxbMywwLDAsMCwzLDJdLFsyLDMsMCwzLDAsMl0sWzAsMCwzLDAsMiwzXSxbMCwwLDAsMCwwLDNdLFsxLDIsMiwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTR9LHtcImlkXCI6XCI3MDIwXCIsXCJtYXBcIjpbWzMsMiwwLDAsMCwwXSxbNCwwLDIsMCwyLDBdLFszLDMsMCwwLDIsMl0sWzAsMCwzLDAsMiwwXSxbMCwwLDAsMCwyLDNdLFswLDIsMywzLDAsMF0sWzIsMywwLDAsMywzXSxbMSwzLDMsMiwwLDBdXSxcIm1pbl9zdGVwc1wiOjEyfSx7XCJpZFwiOlwiNzAyMVwiLFwibWFwXCI6W1s0LDMsMCwwLDAsMF0sWzAsMiwyLDIsMywwXSxbMCwzLDAsMCwwLDBdLFsyLDMsMiwzLDAsMF0sWzMsMywwLDAsMCwzXSxbMCwwLDAsMiwzLDBdLFswLDMsMiwwLDIsMl0sWzIsMywzLDAsMCwxXV0sXCJtaW5fc3RlcHNcIjoxMn1dLFt7XCJpZFwiOlwiODAwMVwiLFwibWFwXCI6W1swLDIsMCwwLDIsMF0sWzMsMywwLDIsMCw0XSxbMCwwLDAsMCwwLDNdLFswLDAsMCwwLDMsMl0sWzAsMCwwLDAsMCwyXSxbMywzLDAsMCwwLDJdLFswLDMsMywyLDIsMF0sWzAsMywyLDIsMCwzXSxbMSwyLDAsMCwyLDBdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI4MDAyXCIsXCJtYXBcIjpbWzEsMCwzLDIsMCwyXSxbMCwzLDAsMCwwLDJdLFswLDIsMCwzLDIsMl0sWzAsMywwLDAsMCwwXSxbMCwyLDAsMywzLDBdLFszLDIsMiwwLDAsM10sWzAsMywyLDMsMCwyXSxbMCwwLDAsMCwwLDBdLFsyLDAsMCwyLDMsNF1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI4MDAzXCIsXCJtYXBcIjpbWzEsMywyLDAsMCwwXSxbMCwwLDAsMiwwLDBdLFswLDMsMCwyLDAsMF0sWzMsMywzLDIsMCwzXSxbMiwzLDMsMCwzLDBdLFswLDAsMCwwLDAsMl0sWzMsMCwyLDIsMywyXSxbNCwyLDAsMCwyLDBdLFswLDAsMiwwLDAsMl1dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI4MDA0XCIsXCJtYXBcIjpbWzIsMCwwLDIsMCwwXSxbMCwzLDAsMCwwLDFdLFswLDIsMCwwLDAsMF0sWzAsMCwwLDAsMiwwXSxbMCwwLDMsMywzLDJdLFswLDAsMCwzLDIsM10sWzAsMCwyLDAsMCwzXSxbMCwyLDMsMiwyLDRdLFszLDIsMiwwLDMsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI4MDA1XCIsXCJtYXBcIjpbWzAsMCwwLDAsMCwwXSxbMCwwLDAsMywyLDRdLFswLDMsMCwwLDMsM10sWzMsMywwLDIsMCwzXSxbMCwyLDIsMCwzLDJdLFswLDAsMywwLDIsMF0sWzAsMiwwLDIsMCwwXSxbMywwLDAsMiwyLDBdLFswLDAsMiwyLDAsMV1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI4MDA2XCIsXCJtYXBcIjpbWzAsMCwwLDAsMiwzXSxbMywyLDAsMCwwLDBdLFswLDIsMCwzLDMsNF0sWzAsMCwwLDIsMiwzXSxbMiwwLDAsMCwwLDBdLFswLDAsMCwwLDMsMF0sWzMsMCwzLDMsMCwyXSxbMywwLDIsMiwwLDJdLFswLDAsMiwyLDAsMV1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI4MDA3XCIsXCJtYXBcIjpbWzIsMCwyLDAsMiwwXSxbMCwwLDIsMCwzLDJdLFswLDAsMCwzLDMsMF0sWzAsMiwwLDAsMywyXSxbMywwLDAsMiwwLDBdLFszLDMsMCwwLDAsMl0sWzAsMiwwLDMsMiwwXSxbMCwyLDMsMCwwLDBdLFs0LDMsMCwwLDEsMF1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI4MDA4XCIsXCJtYXBcIjpbWzEsMCwwLDAsMiwwXSxbMywzLDIsMCwzLDBdLFszLDAsMywwLDAsMF0sWzAsMCwzLDAsMCwzXSxbMiwyLDAsMywwLDNdLFsyLDAsMiwwLDAsMF0sWzIsMCwyLDAsMCwyXSxbMiwwLDAsMiwwLDBdLFs0LDMsMCwwLDAsMl1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI4MDA5XCIsXCJtYXBcIjpbWzQsMCwzLDEsMCwyXSxbMCwyLDMsMywzLDBdLFswLDIsMywyLDIsMF0sWzMsMCwzLDAsMCwyXSxbMCwwLDAsMCwwLDBdLFszLDIsMCwwLDIsMF0sWzMsMiwwLDAsMiwwXSxbMCwwLDIsMiwyLDBdLFswLDAsMCwwLDMsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI4MDEwXCIsXCJtYXBcIjpbWzQsMywwLDMsMSwwXSxbMCwwLDMsMywwLDBdLFswLDMsMCwwLDIsMl0sWzIsMCwzLDAsMCwyXSxbMywyLDAsMiwzLDBdLFswLDAsMCwwLDAsMF0sWzAsMiwwLDIsMiwwXSxbMCwyLDAsMywwLDJdLFswLDIsMCwwLDAsM11dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI4MDExXCIsXCJtYXBcIjpbWzAsMSwwLDAsMiwwXSxbMywwLDMsMywyLDNdLFswLDMsMywyLDAsMF0sWzAsMCwyLDAsMywzXSxbMiwzLDIsMCwwLDBdLFszLDIsMiwzLDMsMF0sWzIsMCwyLDIsMCw0XSxbMCwyLDAsMywwLDBdLFswLDAsMCwzLDAsM11dLFwibWluX3N0ZXBzXCI6MTR9LHtcImlkXCI6XCI4MDEyXCIsXCJtYXBcIjpbWzEsMywzLDMsMCwwXSxbMCwzLDAsMiwwLDBdLFswLDAsMCwzLDAsMl0sWzMsMCwwLDMsMiwzXSxbMCwwLDIsMCwwLDNdLFswLDAsMiwzLDIsMF0sWzIsMiwzLDIsMywyXSxbMCwzLDAsMiwwLDJdLFswLDMsNCwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTd9LHtcImlkXCI6XCI4MDEzXCIsXCJtYXBcIjpbWzAsMSwwLDAsMywzXSxbMCwyLDAsMywwLDBdLFsyLDMsMCwwLDAsMF0sWzAsMCwwLDMsMCwzXSxbMCwzLDAsMiwzLDJdLFsyLDAsMywzLDIsMF0sWzAsMiwyLDMsMCwyXSxbMiwzLDIsMCwzLDBdLFswLDMsMywwLDIsNF1dLFwibWluX3N0ZXBzXCI6MTd9LHtcImlkXCI6XCI4MDE0XCIsXCJtYXBcIjpbWzMsNCwyLDMsMCwwXSxbMiwzLDAsMywwLDBdLFswLDIsMiwwLDAsMF0sWzAsMywzLDAsMywzXSxbMCwwLDAsMCwwLDBdLFszLDIsMCwwLDIsMl0sWzIsMiwyLDIsMCwzXSxbMCwwLDMsMywwLDNdLFsxLDIsMCwzLDMsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI4MDE1XCIsXCJtYXBcIjpbWzIsMyw0LDAsMywwXSxbMSwyLDMsMiwzLDBdLFswLDAsMywwLDIsMF0sWzIsMCwwLDMsMCwwXSxbMiwyLDAsMiwwLDNdLFswLDAsMiwwLDAsMF0sWzMsMCwwLDMsMywwXSxbMCwwLDMsMCwyLDNdLFszLDAsMywyLDMsMl1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI4MDE2XCIsXCJtYXBcIjpbWzIsMyw0LDAsMCwzXSxbMCwzLDIsMiwzLDFdLFswLDIsMiwzLDAsMF0sWzMsMCwzLDAsMiwwXSxbMywwLDAsMCwyLDJdLFswLDAsMywzLDAsMF0sWzAsMywwLDMsMiwwXSxbMCwwLDMsMCwzLDJdLFswLDIsMiwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI4MDE3XCIsXCJtYXBcIjpbWzIsMCwwLDMsMCwzXSxbNCwzLDAsMiwwLDNdLFszLDAsMCwwLDMsMF0sWzIsMCwwLDIsMCwwXSxbMywwLDAsMywwLDBdLFsyLDMsMCwyLDIsMl0sWzEsMywzLDAsMiwyXSxbMCwzLDAsMCwzLDBdLFswLDIsMCwzLDMsMl1dLFwibWluX3N0ZXBzXCI6MTR9LHtcImlkXCI6XCI4MDE4XCIsXCJtYXBcIjpbWzAsMCwwLDAsMCwyXSxbMSwwLDMsMywwLDJdLFszLDMsMCwzLDIsM10sWzAsMywwLDIsMCwwXSxbMCwzLDAsMCwyLDJdLFszLDAsMCwyLDMsMF0sWzAsMywzLDMsMCwwXSxbMiwwLDMsMCwwLDJdLFsyLDQsMiwwLDMsMl1dLFwibWluX3N0ZXBzXCI6MTd9LHtcImlkXCI6XCI4MDE5XCIsXCJtYXBcIjpbWzAsMywwLDIsMywxXSxbMCwzLDAsMiwwLDJdLFswLDIsMiwwLDMsM10sWzAsMCwzLDIsMCwzXSxbMCwwLDMsMiwyLDBdLFsyLDIsMywwLDIsMl0sWzAsMywwLDAsMywwXSxbMywwLDAsMywzLDBdLFswLDAsMCwzLDAsNF1dLFwibWluX3N0ZXBzXCI6MTR9LHtcImlkXCI6XCI4MDIwXCIsXCJtYXBcIjpbWzIsMywwLDQsMywzXSxbMywzLDAsMCwzLDBdLFswLDIsMCwzLDIsMF0sWzAsMywwLDAsMCwyXSxbMywyLDAsMCwwLDBdLFswLDAsMywyLDAsM10sWzAsMywwLDMsMiwwXSxbMywyLDIsMCwwLDJdLFswLDAsMiwxLDMsMl1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI4MDIxXCIsXCJtYXBcIjpbWzAsMCwwLDAsMiw0XSxbMywwLDIsMCwwLDBdLFszLDAsMiwzLDMsM10sWzIsMCwzLDMsMywwXSxbMiwwLDAsMCwyLDNdLFszLDMsMCwwLDAsMl0sWzEsMCwzLDAsMiwyXSxbMiwyLDAsMiwwLDBdLFswLDAsMywzLDAsM11dLFwibWluX3N0ZXBzXCI6MTR9LHtcImlkXCI6XCI4MDIyXCIsXCJtYXBcIjpbWzQsMCwwLDAsMCwwXSxbMCwwLDAsMCwzLDJdLFszLDMsMiwzLDMsMl0sWzIsMCwwLDAsMCwyXSxbMCwwLDMsMCwzLDNdLFsyLDAsMiwzLDIsMV0sWzMsMiwzLDAsMCwzXSxbMiwwLDAsMywyLDJdLFszLDMsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6MTV9LHtcImlkXCI6XCI4MDIzXCIsXCJtYXBcIjpbWzMsMiwwLDIsMCwxXSxbMCwzLDMsMiwzLDNdLFswLDMsMywwLDMsMF0sWzAsMiwyLDIsMCwzXSxbMCwzLDIsMCwwLDNdLFswLDAsMCwwLDIsMF0sWzIsMiwyLDMsMCwwXSxbMiwwLDMsMCwzLDBdLFswLDAsMywwLDAsNF1dLFwibWluX3N0ZXBzXCI6OX0se1wiaWRcIjpcIjgwMjRcIixcIm1hcFwiOltbMSwzLDIsMCwwLDNdLFsyLDMsMiwwLDAsMF0sWzAsMiwzLDAsMywzXSxbMywwLDAsMiwwLDNdLFsyLDMsMCwwLDAsM10sWzMsMywwLDAsMCwwXSxbMiwwLDMsMCwwLDJdLFswLDAsMiwwLDIsMl0sWzQsMiwzLDAsMywwXV0sXCJtaW5fc3RlcHNcIjoxMn0se1wiaWRcIjpcIjgwMjVcIixcIm1hcFwiOltbMiwzLDEsMCwzLDNdLFswLDAsMiwzLDIsMF0sWzAsMiwwLDAsMCwzXSxbMCwzLDAsMCwwLDNdLFsyLDAsMCwzLDIsMF0sWzAsMCwyLDMsMCwyXSxbMiwwLDMsMiwwLDNdLFszLDMsMCwwLDMsM10sWzIsNCwwLDIsMCwwXV0sXCJtaW5fc3RlcHNcIjoxM30se1wiaWRcIjpcIjgwMjZcIixcIm1hcFwiOltbMiw0LDIsMCwwLDBdLFswLDMsMywwLDMsMF0sWzMsMywzLDAsMCwzXSxbMiwwLDMsMCwwLDJdLFswLDIsMiwzLDAsM10sWzEsMCwyLDAsMiwwXSxbMywzLDAsMCwwLDBdLFsyLDAsMCwwLDMsMl0sWzIsMCwzLDIsMywwXV0sXCJtaW5fc3RlcHNcIjoxMX0se1wiaWRcIjpcIjgwMjdcIixcIm1hcFwiOltbMiwwLDAsMCwwLDJdLFswLDAsMywzLDIsM10sWzAsMCwzLDAsMCwxXSxbMCwzLDAsMywzLDNdLFswLDAsMCwwLDAsMl0sWzMsMywyLDAsMCwyXSxbMywzLDAsMiwwLDNdLFswLDMsMiwyLDIsMF0sWzAsMyw0LDIsMiwwXV0sXCJtaW5fc3RlcHNcIjoxMX0se1wiaWRcIjpcIjgwMjhcIixcIm1hcFwiOltbMCwyLDEsMywwLDJdLFswLDMsMywzLDAsMl0sWzAsMCwwLDMsMCwyXSxbMywwLDAsMywyLDRdLFsyLDAsMCwzLDIsMl0sWzIsMiwzLDAsMCwzXSxbMCwyLDAsMCwwLDBdLFswLDMsMywzLDIsMF0sWzAsMywwLDMsMCwwXV0sXCJtaW5fc3RlcHNcIjoxNn0se1wiaWRcIjpcIjgwMjlcIixcIm1hcFwiOltbMCwwLDEsMCwwLDBdLFszLDMsMCwwLDMsMl0sWzMsMCwwLDAsMiwwXSxbMCwyLDAsMiwyLDBdLFsyLDMsMywzLDAsM10sWzMsMiwyLDMsMCwwXSxbMiwwLDMsMCwwLDNdLFszLDIsMCwwLDAsM10sWzQsMiwwLDAsMywyXV0sXCJtaW5fc3RlcHNcIjoxMX0se1wiaWRcIjpcIjgwMzBcIixcIm1hcFwiOltbMiwwLDEsMiwwLDBdLFswLDIsMywzLDAsMl0sWzIsMywzLDMsMCwyXSxbMywwLDAsMiwyLDBdLFswLDMsMCwzLDIsMF0sWzAsMCwyLDAsMiwzXSxbMywzLDAsMywzLDJdLFs0LDMsMCwwLDAsMF0sWzAsMCwwLDAsMCwzXV0sXCJtaW5fc3RlcHNcIjoxM30se1wiaWRcIjpcIjgwMzFcIixcIm1hcFwiOltbMCwyLDIsMyw0LDJdLFszLDMsMCwwLDIsMl0sWzAsMCwwLDMsMiwwXSxbMCwzLDAsMCwzLDNdLFswLDIsMCwyLDMsMF0sWzIsMywwLDAsMCwwXSxbMywzLDAsMywwLDJdLFswLDAsMiwzLDMsM10sWzEsMCwyLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjoxM30se1wiaWRcIjpcIjgwMzJcIixcIm1hcFwiOltbMCwwLDAsMCwzLDRdLFswLDAsMywzLDMsMl0sWzIsMiwzLDMsMCwwXSxbMCwwLDMsMiwwLDBdLFswLDIsMCwyLDMsMl0sWzAsMiwzLDAsMCwzXSxbMiwzLDMsMCwwLDJdLFsxLDAsMywwLDMsMl0sWzAsMCwzLDAsMCwyXV0sXCJtaW5fc3RlcHNcIjoxMn0se1wiaWRcIjpcIjgwMzNcIixcIm1hcFwiOltbMSwwLDAsMywwLDNdLFszLDMsMiwwLDIsMF0sWzAsMywzLDIsMCwyXSxbMywyLDAsMywwLDBdLFs0LDIsMiwyLDAsMF0sWzAsMywwLDAsMCwwXSxbMywzLDMsMCwwLDJdLFszLDAsMywyLDAsM10sWzIsMCwwLDAsMCwyXV0sXCJtaW5fc3RlcHNcIjoxMn0se1wiaWRcIjpcIjgwMzRcIixcIm1hcFwiOltbMSwwLDAsMywyLDBdLFswLDIsMiwzLDMsMF0sWzMsMCwwLDIsMCwzXSxbMiwzLDIsMiwwLDNdLFswLDAsMywwLDAsM10sWzMsMCwwLDAsMywwXSxbMiwzLDAsMywyLDRdLFswLDMsMCwwLDAsM10sWzAsMiwwLDAsMiwyXV0sXCJtaW5fc3RlcHNcIjoxNn0se1wiaWRcIjpcIjgwMzVcIixcIm1hcFwiOltbMywwLDAsMiwwLDRdLFszLDAsMiwzLDMsM10sWzAsMCwyLDMsMCwyXSxbMywwLDMsMywzLDBdLFsyLDIsMCwwLDAsMF0sWzIsMiwzLDAsMCwwXSxbMCwwLDIsMywwLDBdLFswLDIsMCwzLDIsM10sWzAsMCwzLDEsMiwwXV0sXCJtaW5fc3RlcHNcIjoxMn0se1wiaWRcIjpcIjgwMzZcIixcIm1hcFwiOltbMiwzLDEsMCwwLDJdLFswLDMsMCwwLDAsMF0sWzIsMCwyLDAsMCwzXSxbMCwwLDMsMywwLDNdLFswLDIsMiwwLDAsM10sWzAsMywyLDMsMywwXSxbMCwzLDIsMCwwLDJdLFswLDMsMiwwLDIsM10sWzIsMCwzLDMsNCwwXV0sXCJtaW5fc3RlcHNcIjoxMn0se1wiaWRcIjpcIjgwMzdcIixcIm1hcFwiOltbMiwwLDAsMCwwLDNdLFswLDIsMywwLDIsMl0sWzAsMCwzLDAsMiwwXSxbMCwyLDIsMCwwLDBdLFszLDIsMywwLDAsM10sWzAsMCwzLDMsMCwzXSxbMywyLDMsMCwwLDNdLFswLDAsMywzLDIsMF0sWzQsMywxLDIsMCwyXV0sXCJtaW5fc3RlcHNcIjoxMn0se1wiaWRcIjpcIjgwMzhcIixcIm1hcFwiOltbNCwyLDMsMywyLDNdLFswLDMsMCwyLDMsMF0sWzAsMCwwLDIsMCwyXSxbMywzLDIsMywwLDBdLFswLDMsMCwzLDIsM10sWzAsMiwyLDIsMCwwXSxbMSwzLDAsMCwzLDBdLFsyLDAsMCwwLDMsMl0sWzAsMCwzLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjoxM30se1wiaWRcIjpcIjgwMzlcIixcIm1hcFwiOltbMiwwLDMsMywyLDBdLFswLDAsMCwwLDIsM10sWzEsMywwLDAsMCwyXSxbMCwyLDMsMiwyLDJdLFswLDAsMywwLDAsMF0sWzAsMywwLDAsMywwXSxbMywwLDAsMiwzLDJdLFsyLDAsMywwLDIsM10sWzAsNCwzLDAsMywzXV0sXCJtaW5fc3RlcHNcIjoxMn0se1wiaWRcIjpcIjgwNDBcIixcIm1hcFwiOltbMCwyLDMsMyw0LDBdLFswLDIsMCwwLDMsMl0sWzAsMCwzLDAsMiwwXSxbMywwLDIsMCwwLDNdLFsyLDAsMCwzLDAsM10sWzMsMywwLDIsMiwwXSxbMiwyLDMsMCwyLDBdLFsxLDMsMCwwLDIsM10sWzAsMCwwLDMsMCwzXV0sXCJtaW5fc3RlcHNcIjoxMn0se1wiaWRcIjpcIjgwNDFcIixcIm1hcFwiOltbMywzLDAsMiwzLDFdLFswLDMsMywyLDAsMl0sWzAsMiwwLDAsMCwwXSxbMCwwLDAsMCwwLDBdLFszLDMsMywyLDMsMF0sWzAsMywzLDIsMywyXSxbNCwwLDMsMCwyLDBdLFsyLDIsMiwwLDAsMF0sWzAsMywyLDAsMywwXV0sXCJtaW5fc3RlcHNcIjoxMn1dXVxyXG5cclxuXHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG5cclxuICAgIHN0YXRpYyBBdXRoZW50aWNhdGlvbigpe1xyXG4gICAgICAgIGNjLmZ4LkdhbWVUb29sLkF1dGhlbnRpY2F0aW9uKCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbiJdfQ== \ No newline at end of file diff --git a/temp/quick-scripts/dst/assets/Script/module/Crypto/HttpUtil.js b/temp/quick-scripts/dst/assets/Script/module/Crypto/HttpUtil.js index 2cd4ccf..cd3d356 100644 --- a/temp/quick-scripts/dst/assets/Script/module/Crypto/HttpUtil.js +++ b/temp/quick-scripts/dst/assets/Script/module/Crypto/HttpUtil.js @@ -218,8 +218,8 @@ function responseHandler(response) { // 响应拦截器 // Rq.interceptors.response.use(responseHandler) var config = { - gameId: "100010", - secretKey: "wozrGKsL", + gameId: "100012", + secretKey: "onnfPKJW", EK: "hui231%1" }; var Crypoto = /** @class */ (function () { @@ -344,4 +344,4 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXENyeXB0b1xcSHR0cFV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ00sSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFDMUMsNkNBQWdELENBQUUsV0FBVztBQUU3RCxJQUFNLFFBQVEsR0FBRyx3QkFBd0IsQ0FBQztBQUMxQywwQ0FBMEM7QUFFMUM7SUFBc0MsNEJBQVk7SUFBbEQ7O0lBOEVBLENBQUM7aUJBOUVvQixRQUFRO0lBQ1gscUJBQVksR0FBMUIsVUFBMkIsUUFBZ0I7dUNBQUcsT0FBTzs7O2dCQUNuRCxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBQyxRQUFRLENBQUMsQ0FBQztnQkFDMUIsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUE7Z0JBQ2hELEdBQUcsR0FBRyxVQUFRLENBQUMsT0FBTyxDQUFDLDJCQUF5QixNQUFNLENBQUMsTUFBTSxjQUFTLElBQUksYUFBUSxRQUFVLEVBQUMsRUFBRSxDQUFDLENBQUE7Z0JBQ3RHLHNCQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFDLElBQUksRUFBQyxJQUFJLENBQUMsRUFBQzs7O0tBQ2pDO0lBQ0QsS0FBSztJQUNRLGlCQUFRLEdBQXJCLFVBQXNCLElBQUksRUFBQyxRQUFRLEVBQUMsSUFBSTt1Q0FBRyxPQUFPOzs7Z0JBQzFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO2dCQUNoRCxHQUFHLEdB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VyxDQUFDLENBQUM7SUFDaEQsT0FBVSxPQUFPLFNBQUksTUFBTSxDQUFDLFFBQVEsRUFBSSxDQUFDO0FBQzNDLENBQUMiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcbmltcG9ydCBDcnlwdG9KUyA9IHJlcXVpcmUoJy4vY3J5cHRvLWpzLm1pbi5qcycpOyAgLy/lvJXnlKhBRVPmupDnoIFqc1xyXG5cclxuY29uc3QgQkFTRV9VUkwgPSBcImh0dHBzOi8vYXBpLnNwYXJrdXMuY25cIjtcclxuLy/lj6rotJ/otKPnvZHnu5zmjqXlj6Mg5qyh57G75Y+q6LSf6LSj5ZKM5ZCO56uv5Lqk5LqS77yM5LiN6LSf6LSj5aSE55CG5pWw5o2uIOaVsOaNruWkhOeQhuWcqEdhbWVUb29sXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEh0dHBVdGlsIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIHN0YXRpYyBhc3luYyAgZ2V0U2hhcmVJbmZvKHNoYXJlVXJsOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICBjb25zb2xlLmxvZyhcIuiuvue9ruWIhuS6q+mTvuaOpTpcIixzaGFyZVVybCk7XHJcbiAgICAgIGNvbnN0IHRpbWUgPSBNYXRoLmZsb29yKChuZXcgRGF0ZSgpLmdldFRpbWUoKSkgLyAxMDAwKVxyXG4gICAgICBjb25zdCB1cmwgPSBIdHRwVXRpbC5hcGlTaWduKGAvYXBpL3NoYXJlL2NmZz9nYW1lSWQ9JHtjb25maWcuZ2FtZUlkfSZ0aW1lPSR7dGltZX0mdXJsPSR7c2hhcmVVcmx9YCx7fSlcclxuICAgICAgcmV0dXJuIHRoaXMucG9zdCh1cmwsbnVsbCxudWxsKTtcclxuICAgIH1cclxuICAgIC8v5o6S6KGM5qacXHJcbiAgICBzdGF0aWMgYXN5bmMgcmFua0RhdGEodHlwZSxjYWxsYmFjayxkYXRhKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgY29uc3QgdGltZSA9IE1hdGguZmxvb3IoKG5ldyBEYXRlKCkuZ2V0VGltZSgpKSAvIDEwMDApXHJcbiAgICAgIGNvbnN0IHVybCA9IEh0dHBVdGlsLmFwaVNpZ24oYC9hcGkvZ2V0L3JhbmsvZGF0YT9nYW1lSWQ9JHtjb25maWcuZ2FtZUlkfSZkYXRhVHlwZT0ke3R5cGV9JnRpbWU9JHt0aW1lfWAsIGRhdGEpXHJcbiAgICAgIHRoaXMucG9zdCh1cmwsZGF0YSxjYWxsYmFjayk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBzdGF0aWMgYXN5bmMgdXBsb2FkVXNlckxvZ0RhdGEoZGF0YSxjYWxsYmFjayk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgIGNvbnN0IHVybCA9ICcvbG9nL2NvbGxlY3QvZGF0YSc7XHJcbiAgICAgIHRoaXMucG9zdCh1cmwsZGF0YSxjYWxsYmFjayk7XHJcbiAgICB9XHJcbiAgICAvL+aaguaXtueUqOS4jeWIsFxyXG4gICAgc3RhdGljIGFzeW5jIGdldFVzZXJSZWNvcmQoZGF0YSxjYWxsYmFjayk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgIGNvbnN0IHRpbWUgPSBNYXRoLmZsb29yKChuZXcgRGF0ZSgpLmdldFRpbWUoKSkgLyAxMDAwKVxyXG4gICAgICBjb25zdCB1cmwgPSBIdHRwVXRpbC5hcGlTaWduKGAvYXBpL2dldC91c2VyL2RhdGE/Z2FtZUlkPSR7Y29uZmlnLmdhbWVJZH0mdGltZT0ke3RpbWV9YCwgZGF0YSlcclxuICAgICAgdGhpcy5wb3N0KHVybCxkYXRhLGNhbGxiYWNrKTtcclxuICAgIH1cclxuICBzdGF0aWMgYXN5bmMgcG9zdCh1cmwsIGRhdGEsIGNhbGxiYWNrKSB7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuZmV0Y2hEYXRhKHVybCwgZGF0YSwgJ1BPU1QnKTtcclxuICAgIGNhbGxiYWNrICYmIGNhbGxiYWNrKHJlc3BvbnNlKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBhc3luYyBnZXQodXJsLCBjYWxsYmFjaykge1xyXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmZldGNoRGF0YSh1cmwsIG51bGwsICdHRVQnKTtcclxuICAgIGNhbGxiYWNrICYmIGNhbGxiYWNrKHJlc3BvbnNlKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBhc3luYyBmZXRjaERhdGEodXJsLCBkYXRhLCBtZXRob2QpIHtcclxuICAgIGNvbnN0IGZ1bGxVcmwgPSBgJHtCQVNFX1VSTH0ke3VybH1gO1xyXG4gICAgY29uc3QgaGVhZGVycyA9IHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9O1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgbWV0aG9kLFxyXG4gICAgICBoZWFkZXJzLFxyXG4gICAgICBib2R5OiBkYXRhID8gSlNPTi5zdHJpbmdpZnkoZGF0YSkgOiBudWxsLFxyXG4gICAgfTtcclxuXHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGZ1bGxVcmwsIG9wdGlvbnMpO1xyXG4gICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBIVFRQIGVycm9yISBzdGF0dXM6ICR7cmVzcG9uc2Uuc3RhdHVzfWApO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBhd2FpdCByZXNwb25zZS5qc29uKCk7XHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdGZXRjaCBlcnJvcjonLCBlcnJvcik7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAqIFxyXG4gKiBAcGFyYW0gdXJsIHtzdHJpbmd9IOaOpeWPo+WcsOWdgFxyXG4gKiBAcGFyYW0gcGFyYW1zIHtvYmplY3R9IOmcgOimgeWKoOWvhueahOWPguaVsOWvueixoVxyXG4gKi9cclxuICBzdGF0aWMgYXBpU2lnbih1cmw6IHN0cmluZywgcGFyYW1zID0ge30pIHtcclxuXHJcbiAgICBsZXQgY29udmVydFVybCA9IHVybC50cmltKClcclxuICAgIGlmIChjb252ZXJ0VXJsLmluZGV4T2YoJz8nKSA9PT0gLTEpIHtcclxuICAgICAgY29udmVydFVybCArPSAnPydcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8g5Lyg5YWl5Y+C5pWw6L2s5o2i5ou85o6l5a2X56ym5LiyXHJcbiAgICBsZXQgcG9zdFN0ciA9ICBnZXRRdWVyeVN0cmluZyhwYXJhbXMpXHJcbiAgXHJcbiAgICBjb25zdCBzaWduZWRTdHIgPSBnZW5TaWduU3RyKGNvbnZlcnRVcmwsIHBvc3RTdHIpXHJcbiAgICBjb25zdCBlbmNyeXB0U3RyID0gYHNpZ249JHtzaWduZWRTdHJ9YFxyXG5cclxuICAgIGxldCBlbmNyeXB0U2lnblN0ciA9IGZ4Q3J5LmVuY3J5cHRCeURFUyhlbmNyeXB0U3RyLCBjb25maWcuc2VjcmV0S2V5KVxyXG4gICAgZW5jcnlwdFNpZ25TdHIgPSBlbmNvZGVVUklDb21wb25lbnQoZW5jcnlwdFNpZ25TdHIpXHJcblxyXG4gICAgcmV0dXJuIGAke3VybGVuY29kZShjb252ZXJ0VXJsKX0mX3A9JHtlbmNyeXB0U2lnblN0cn1gXHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiByZXNwb25zZUhhbmRsZXIocmVzcG9uc2U6IHsgZGF0YTogYW55IH0pIHtcclxuICByZXR1cm4gcmVzcG9uc2UuZGF0YVxyXG59XHJcbi8vIOWTjeW6lOaLpuaIquWZqFxyXG4vLyBScS5pbnRlcmNlcHRvcnMucmVzcG9uc2UudXNlKHJlc3BvbnNlSGFuZGxlcilcclxuY29uc3QgY29uZmlnID0ge1xyXG4gIGdhbWVJZDogXCIxMDAwMTBcIixcclxuICBzZWNyZXRLZXk6IFwid296ckdLc0xcIixcclxuICBFSzpcImh1aTIzMSUxXCJcclxufTtcclxuXHJcbmludGVyZmFjZSBDcnlwb3RvVHlwZSB7XHJcbiAgZW5jcnlwdEJ5REVTOiBhbnlcclxuICBkZWNyeXB0QnlERVM6IGFueVxyXG4gIGhtYWNTaGEyNTY6IGFueVxyXG59XHJcbiBcclxuY2xhc3MgQ3J5cG90byBpbXBsZW1lbnRzIENyeXBvdG9UeXBlIHtcclxuICAgIC8vIOWKoOWvhueahOWQkeaYjuWAvO+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= \ No newline at end of file +//# 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= \ No newline at end of file diff --git a/temp/quick-scripts/dst/assets/Script/module/GameStart/GameAppStart.js b/temp/quick-scripts/dst/assets/Script/module/GameStart/GameAppStart.js index daa10be..42d7924 100644 --- a/temp/quick-scripts/dst/assets/Script/module/GameStart/GameAppStart.js +++ b/temp/quick-scripts/dst/assets/Script/module/GameStart/GameAppStart.js @@ -50,7 +50,9 @@ window.initMgr = function () { startGame: "10002", next: "10003", changePath: "10004", - changeMap: "10005" //改变那地图 + changeMap: "10005", + nextWater: "10006", + addEnd: "10007", }; /* * 客户端埋点分享类型 @@ -113,4 +115,4 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXEdhbWVTdGFydFxcR2FtZUFwcFN0YXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQWtEO0FBQ2xELCtDQUEwQztBQUMxQyxzREFBaUQ7QUFDakQsNkRBQTZEO0FBQzdELDhDQUFvRDtBQUNwRCw2Q0FBNEM7QUFHNUMsTUFBTSxDQUFDLE9BQU8sR0FBRztJQUNiLElBQUcsRUFBRSxDQUFDLEVBQUUsRUFDUjtRQUNJLE9BQU87S0FDVjtJQUNELEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVwQixRQUFRO0lBQ1IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUc7UUFDZCxTQUFTLEVBQUUsSUFBSTtRQUNmLGdCQUFnQixFQUFFLElBQUk7UUFDdEIsV0FBVyxFQUFFLE1BQU07UUFDbkIsY0FBYyxFQUFFLElBQUksQ0FBTSxVQUFVO0tBQ3ZDLENBQUM7SUFFRixRQUFRO0lBQ1IsTUFBTTtJQUVOLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxHQUFHLHVCQUFVLENBQUM7SUFDOUIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEdBQUcsa0JBQVEsQ0FBQztJQUMxQixFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsR0FBRyxtQkFBUSxDQUFDO0lBQzFCLEVBQUUsQ0FBQyxFQUFFLENBQUMsWUFBWSxHQUFHLHNCQUFZLENBQUM7SUFDbEMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEdBQUcsNEJBQWEsQ0FBQztJQUNwQyxFQUFFLENBQUMsRUFBRSxDQUFDLGNBQWMsR0FBRyx3QkFBYyxDQUFDO0lBRXRDLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxHQUFHO1FBQ2QsT0FBTyxFQUFHLENBQUMsQ0FBQyxDQUFjLE1BQU07S0FDbkMsQ0FBQztJQUVGLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxHQUFHO1FBQ1osT0FBTyxFQUFFLE9BQU87UUFDaEIsU0FBUyxFQUFDLE9BQU87UUFDakIsSUFBSSxFQUFFLE9BQU87UUFDYixVQUFVLEVBQUUsT0FBTztRQUNuQixTQUFTLEVBQUUsT0FBTyxDQUFTLE9BQU87S0FDckMsQ0FBQTtJQUVEOztNQUVFO0lBQ0YsRUFBRSxDQUFDLEVBQUUsQ0FBQyxlQUFlLEdBQUc7UUFDcEIsT0FBTyxFQUFHLFNBQVM7UUFDbkIsTUFBTSxFQUFHLFFBQVE7UUFFakIsbUJBQW1CLEVBQUMsa0JBQWtCO1FBQ3RDLGlCQUFpQixFQUFHLGVBQWU7UUFDbkMsZ0JBQWdCLEVBQUcsY0FBYztRQUNqQyxxQkFBcUIsRUFBRSxjQUFjO1FBQ3JDLHNCQUFzQixFQUFFLGdCQUFnQjtRQUN4QyxtQkFBbUIsRUFBRSxZQUFZO1FBQ2pDLG9CQUFvQixFQUFFLGFBQWE7UUFFbkMsV0FBVyxFQUFHLGFBQWE7UUFDM0IsU0FBUyxFQUFFLFdBQVc7UUFDdEIsVUFBVSxFQUFFLFlBQVk7UUFDeEIsV0FBVyxFQUFFLGFBQWE7UUFDMUIsV0FBVyxFQUFFLGFBQWE7UUFDMUIsZ0JBQWdCLEVBQUUsa0JBQWtCO1FBQ3BDLGNBQWMsRUFBRSxnQkFBZ0I7UUFDaEMsUUFBUSxFQUFHLFVBQVU7UUFDckIsaUJBQWlCLEVBQUUsbUJBQW1CO1FBQ3RDLG1CQUFtQixFQUFFLHFCQUFxQjtRQUMxQyxtQkFBbUIsRUFBRSxxQkFBcUI7UUFDMUMsbUJBQW1CLEVBQUUscUJBQXFCO0tBQzdDLENBQUM7SUFFRjs7T0FFRztJQUNILEVBQUUsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEdBQUc7UUFDckIsS0FBSyxFQUFFLE9BQU87UUFDZCxNQUFNLEVBQUcsUUFBUTtRQUNqQixHQUFHLEVBQUcsS0FBSztLQUNkLENBQUM7SUFFRixXQUFXO0lBQ1gsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztRQUMzQixpQkFBaUIsRUFBRSxPQUFPO0tBQzdCLENBQUMsQ0FBQztJQUVBLGlCQUFpQjtJQUNqQixFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQ3BCLE1BQU0sRUFBRSxpREFBaUQ7UUFDekQsTUFBTSxFQUFFLG1EQUFtRDtRQUMzRCxTQUFTLEVBQUUsaUJBQWlCO1FBQzVCLFNBQVMsRUFBRSxZQUFZO1FBQ3ZCLFVBQVUsRUFBRSxvQkFBb0I7UUFDaEMsU0FBUyxFQUFFLG9CQUFvQjtRQUMvQixVQUFVLEVBQUUsMkJBQTJCO0tBRTFDLENBQUMsQ0FBQztBQUVQLENBQUMsQ0FBQyIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdhbWVDb25maWcgfSBmcm9tIFwiLi4vQ29uZmlnL0dhbWVDb25maWdcIjtcclxuaW1wb3J0IEh0dHBVdGlsIGZyb20gXCIuLi9DcnlwdG8vSHR0cFV0aWxcIjtcclxuaW1wb3J0IEF1ZGlvTWFuYWdlciBmcm9tIFwiLi4vTXVzaWMvQXVkaW9NYW5hZ2VyXCI7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbnMgfSBmcm9tIFwiLi4vTm90aWZpY2F0aW9uL05vdGlmaWNhdGlvblwiO1xyXG5pbXBvcnQgeyBTdG9yYWdlTWVzc2FnZSB9IGZyb20gXCIuLi9TdG9yYWdlL1N0b3JhZ2VcIjtcclxuaW1wb3J0IHsgR2FtZVRvb2wgfSBmcm9tIFwiLi4vVG9vbC9HYW1lVG9vbFwiO1xyXG5cclxuXHJcbndpbmRvdy5pbml0TWdyID0gZnVuY3Rpb24oKSB7XHJcbiAgICBpZihjYy5meClcclxuICAgIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjYy5meCA9IHt9O1xyXG4gICAgY29uc29sZS5sb2coXCIx5Yid5aeL5YyWXCIpO1xyXG5cclxuICAgIC8v5Z+656GA54q25oCB5L+h5oGvXHJcbiAgICBjYy5meC5TdGF0ZUluZm8gPSB7XHJcbiAgICAgICAgZGVidWdNb2RlOiB0cnVlLFxyXG4gICAgICAgIG5ldHdvcmtDb25uZWN0ZWQ6IHRydWUsICAgLy/nvZHnu5znirbmgIFcclxuICAgICAgICBuZXR3b3JrVHlwZTogJ25vbmUnLCAgICAgIC8v572R57uc57G75Z6LXHJcbiAgICAgICAgaXNPbkZvcmVncm91bmQ6IHRydWUgICAgICAvL+W9k+WJjeaYr+WQpuaYr+WcqOWJjeWPsFxyXG4gICAgfTtcclxuXHJcbiAgICAvL+W6lOeUqOezu+e7n+S/oeaBr1xyXG4gICAgLy/phY3nva7mlofku7ZcclxuXHJcbiAgICBjYy5meC5HYW1lQ29uZmlnID0gR2FtZUNvbmZpZztcclxuICAgIGNjLmZ4Lkh0dHBVdGlsID0gSHR0cFV0aWw7XHJcbiAgICBjYy5meC5HYW1lVG9vbCA9IEdhbWVUb29sO1xyXG4gICAgY2MuZnguQXVkaW9NYW5hZ2VyID0gQXVkaW9NYW5hZ2VyO1xyXG4gICAgY2MuZnguTm90aWZpY2F0aW9ucyA9IE5vdGlmaWNhdGlvbnM7XHJcbiAgICBjYy5meC5TdG9yYWdlTWVzc2FnZSA9IFN0b3JhZ2VNZXNzYWdlO1xyXG5cclxuICAgIGNjLmZ4LlNoYXJlSW5mbyA9IHtcclxuICAgICAgICBxdWVyeUlkIDogLTEgICAgICAgICAgICAgIC8v5YiG5LqraWRcclxuICAgIH07XHJcblxyXG4gICAgY2MuZnguTWVzc2FnZSA9IHtcclxuICAgICAgICBjb250cm9sOiBcIjEwMDAxXCIsICAgICAgIC8v5Lyg6YCS5pON5L2c5o6n5Yi2XHJcbiAgICAgICAgc3RhcnRHYW1lOlwiMTAwMDJcIiwgICAgICAvL+S8oOmAkuW8gOWni+W7uuetkVxyXG4gICAgICAgIG5leHQ6IFwiMTAwMDNcIiAsICAgICAgICAgIC8v5Lyg6YCS5omn6KGM5LiL5LiA5Liq5qC85a2Q5rSq5rC05rWB6L+HXHJcbiAgICAgICAgY2hhbmdlUGF0aDogXCIxMDAwNFwiLCAgICAgICAvL+S8oOmAkuaTjeS9nOaOp+WItlxyXG4gICAgICAgIGNoYW5nZU1hcDogXCIxMDAwNVwiICAgICAgICAgLy/mlLnlj5jpgqPlnLDlm75cclxuICAgIH1cclxuXHJcbiAgICAvKlxyXG4gICAgICAgICog5a6i5oi356uv5Z+L54K55YiG5Lqr57G75Z6LXHJcbiAgICAqL1xyXG4gICAgY2MuZnguQnVyaWFsU2hhcmVUeXBlID0ge1xyXG4gICAgICAgIERlZmF1bHQgOiBcImRlZmF1bHRcIiwgICAgICAgIC8v6buY6K6k5YiG5Lqr57G75Z6LLOWIhuS6q+WIsOe+pFxyXG4gICAgICAgIEludml0ZSA6IFwiaW52aXRlXCIsICAgICAgICAgIC8vIOmCgOivt+WlveWPi1xyXG5cclxuICAgICAgICBEYWlseUludml0ZVJvb21Kb2luOidpbnZpdGVfam9pbl9yb29tJywgLy/pgoDor7flpb3lj4vliqDlhaVcclxuICAgICAgICBEYWlseUludml0ZUZyaWVuZCA6ICdpbnZpdGVfZnJpZW5kJywgLy8g5pel5bi46YKA6K+35aW95Y+LXHJcbiAgICAgICAgRGFpbHlJbnZpdGVHcm91cCA6ICdpbnZhdGVfZ3JvdXAnLCAvLyDml6XluLjliIbkuqvnvqRcclxuICAgICAgICBEYWlseUludml0ZUdyb3VwQWxpdmU6ICdpbnZhdGVfYWxpdmUnLCAvL+aXpeW4uOWIhuS6q+e+pOWkjea0u1xyXG4gICAgICAgIERhaWx5SW52aXRlR3JvdXBSZXdhcmQ6ICdpbnZhdGVfcmV3YXJlZCcsLy/liIbkuqvlpZblirHnv7vlgI1cclxuICAgICAgICBEYWlseUludml0ZUdyb3VwQm94OiAnaW52YXRlX2JveCcsICAvL+WuneeuseWIhuS6q+WlluWKsVxyXG4gICAgICAgIERhaWx5SW52aXRlR3JvdXBCYWxsOiAnaW52YXRlX2JhbGwnLCAgLy/liIbkuqvpooblj5bnkIPnkINcclxuXHJcbiAgICAgICAgTWF0Y2hSZXN1bHQgOiAnbWF0Y2hSZXN1bHQnLCAgLy8g5q+U6LWb57uT566X5YiG5LqrXHJcbiAgICAgICAgTWF0Y2hGaXg1OiAnTWF0Y2hGaXg1JywgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDXlhYPnuqLljIXotZtcclxuICAgICAgICBNYXRjaEZpeDIwOiAnTWF0Y2hGaXgyMCcsICAgICAgICAgICAgICAgICAgICAgICAgLy8gMjDlhYPnuqLljIXotZtcclxuICAgICAgICBNYXRjaEZpeDEwMDogJ01hdGNoRml4MTAwJywgICAgICAgICAgICAgICAgICAgICAgLy8gMTAw5YWD57qi5YyF6LWbXHJcbiAgICAgICAgTWF0Y2hGaXg1MDA6ICdNYXRjaEZpeDUwMCcsICAgICAgICAgICAgICAgICAgICAgIC8vIDUwMOWFg+e6ouWMhei1m1xyXG4gICAgICAgIE5ld2VyUmVkRW52ZWxvcGU6ICduZXdlclJlZEVudmVsb3BlJywgICAgICAgICAgICAvLyDmlrDmiYvnuqLljIVcclxuICAgICAgICBDb2luUm9vbVJlc3VsdDogJ2NvaW5Sb29tUmVzdWx0JywgICAgICAgICAgICAgICAgLy8g6YeR5biB5qGM57uT566XXHJcbiAgICAgICAgSGlnaFJhdGUgOiBcImhpZ2hSYXRlXCIsLy/pq5jlgI3liIbkuqtcclxuICAgICAgICBDb2luUm9vbVdpblN0cmVhazogJ2NvaW5Sb29tV2luU3RyZWFrJywgICAgICAgICAvLyDov57og5xcclxuICAgICAgICBDb2luUm9vbUJhbmtydXB0Y3kxOiAnY29pblJvb21CYW5rcnVwdGN5MScsICAgICAgICAgLy8g6YeR5biB5qGM56C05LqnXHJcbiAgICAgICAgQ29pblJvb21CYW5rcnVwdGN5MjogJ2NvaW5Sb29tQmFua3J1cHRjeTInLCAgICAgICAgIC8vIOmHkeW4geahjOegtOS6p1xyXG4gICAgICAgIENvaW5Sb29tQmFua3J1cHRjeTM6ICdjb2luUm9vbUJhbmtydXB0Y3kzJywgICAgICAgICAvLyDph5HluIHmoYznoLTkuqdcclxuICAgIH07XHJcblxyXG4gICAgLypcclxuICAgICAqIOWIhuS6q+WIsOWTquWEv+e7meWlluWKsSBncm91cCBmcmluZWQgYWxsXHJcbiAgICAgKi9cclxuICAgIGNjLmZ4LlNoYXJlV2hlcmVSZXdhcmQgPSB7XHJcbiAgICAgICAgR3JvdXAgOlwiZ3JvdXBcIiwgLy/lvq7kv6HnvqRcclxuICAgICAgICBGcmllbmQgOiBcImZyaWVuZFwiLC8v5aW95Y+LXHJcbiAgICAgICAgQWxsIDogXCJhbGxcIiwgLy/kuI3ljLrliIZcclxuICAgIH07XHJcblxyXG4gICAgLy/nlKjkuo7lrZjlgqjmtojmga/nmoRJRFxyXG4gICAgY2MuZnguc3RvcmFnZVR5cGUgPSBjYy5FbnVtKHtcclxuXHQgICAgc3RvcmFnZVR5cGVDdXN0b206IDEwMDAxMDEsIC8v55So5LqO5a2Y5YKo5YWz5Y2h562J57qnXHJcblx0fSk7XHJcblxyXG4gICAgLy/nlKjkuo7lrZjlgqjmj5DnpLror60gIOaMieeFp+atpemqpOaPkOekulxyXG4gICAgY2MuZngudGlwVHlwZSA9IGNjLkVudW0oe1xyXG4gICAgICAgIHRpcE9uZTogJ+elnuWGnOawj+WbnuWIsOWutuS4re+8jOW8gOWni+aVtOeQhuS7iuWkqeaUtumbhuadpeeahOeJqeWTgeOAguW9k+S7luesrOS4gOasoeaLv+WHuuaIluivtOWHuuS4gOenjeakjeeJqeaXtu+8jOivt+WRiuivieS7lui/meaYr+aWsOakjeeJqeOAgicsXHJcbiAgICAgICAgdGlwVHdvOiAn5aaC5p6c5LuW5ou/5Ye65oiW6K+05Ye655qE5qSN54mp5L2g5LuK5aSp55yL5Yiw6L+H77yM6K+35ZGK6K+J5LuW5LiK5qyh5piv55yL5Yiw55qE77yb5aaC5p6c5L2g5ZCs5LuW6K+06L+H77yM5YiZ6K+35ZGK6K+J5LuW5LiK5qyh5piv5ZCs5Yiw55qE44CCJywgLy/nlKjkuo7lrZjlgqjlhbPljaHnrYnnuqdcclxuICAgICAgICB0aXBFcnJOZXc6ICfov5nmmK/ov5nlsYDmuLjmiI/nrKzkuIDmrKHlh7rnjrB75qSN54mpfScsXHJcbiAgICAgICAgdGlwRXJyT2xkOiAne+akjeeJqX3liJrmiY3lh7rnjrDov4flkaInLFxyXG4gICAgICAgIHRpcEVyckhlYXI6ICfkuIrmrKHpgYfliLB75qSN54mpfeaXtu+8jOS8vOS5juS4jeaYr+WQrOWIsOeahOWQpycsXHJcbiAgICAgICAgdGlwRXJyU2VlOiAn5LiK5qyh6YGH5Yiwe+akjeeJqX3ml7bvvIzkvLzkuY7kuI3mmK/nnIvliLDnmoTlkKcnLFxyXG4gICAgICAgIHRpcEVyckxhc3Q6ICfkuYvliY3noa7lrp7nnIvliLDov4d75qSN54mpfe+8jOS9huacgOi/keS4gOasoeS8vOS5juS4jeaYr+eci+WIsOeahOWRoicsXHJcblxyXG4gICAgfSk7XHJcblxyXG59OyJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXEdhbWVTdGFydFxcR2FtZUFwcFN0YXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQWtEO0FBQ2xELCtDQUEwQztBQUMxQyxzREFBaUQ7QUFDakQsNkRBQTZEO0FBQzdELDhDQUFvRDtBQUNwRCw2Q0FBNEM7QUFHNUMsTUFBTSxDQUFDLE9BQU8sR0FBRztJQUNiLElBQUcsRUFBRSxDQUFDLEVBQUUsRUFDUjtRQUNJLE9BQU87S0FDVjtJQUNELEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVwQixRQUFRO0lBQ1IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUc7UUFDZCxTQUFTLEVBQUUsSUFBSTtRQUNmLGdCQUFnQixFQUFFLElBQUk7UUFDdEIsV0FBVyxFQUFFLE1BQU07UUFDbkIsY0FBYyxFQUFFLElBQUksQ0FBTSxVQUFVO0tBQ3ZDLENBQUM7SUFFRixRQUFRO0lBQ1IsTUFBTTtJQUVOLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxHQUFHLHVCQUFVLENBQUM7SUFDOUIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEdBQUcsa0JBQVEsQ0FBQztJQUMxQixFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsR0FBRyxtQkFBUSxDQUFDO0lBQzFCLEVBQUUsQ0FBQyxFQUFFLENBQUMsWUFBWSxHQUFHLHNCQUFZLENBQUM7SUFDbEMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEdBQUcsNEJBQWEsQ0FBQztJQUNwQyxFQUFFLENBQUMsRUFBRSxDQUFDLGNBQWMsR0FBRyx3QkFBYyxDQUFDO0lBRXRDLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxHQUFHO1FBQ2QsT0FBTyxFQUFHLENBQUMsQ0FBQyxDQUFjLE1BQU07S0FDbkMsQ0FBQztJQUVGLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxHQUFHO1FBQ1osT0FBTyxFQUFFLE9BQU87UUFDaEIsU0FBUyxFQUFDLE9BQU87UUFDakIsSUFBSSxFQUFFLE9BQU87UUFDYixVQUFVLEVBQUUsT0FBTztRQUNuQixTQUFTLEVBQUUsT0FBTztRQUNsQixTQUFTLEVBQUUsT0FBTztRQUNsQixNQUFNLEVBQUUsT0FBTztLQUNsQixDQUFBO0lBRUQ7O01BRUU7SUFDRixFQUFFLENBQUMsRUFBRSxDQUFDLGVBQWUsR0FBRztRQUNwQixPQUFPLEVBQUcsU0FBUztRQUNuQixNQUFNLEVBQUcsUUFBUTtRQUVqQixtQkFBbUIsRUFBQyxrQkFBa0I7UUFDdEMsaUJBQWlCLEVBQUcsZUFBZTtRQUNuQyxnQkFBZ0IsRUFBRyxjQUFjO1FBQ2pDLHFCQUFxQixFQUFFLGNBQWM7UUFDckMsc0JBQXNCLEVBQUUsZ0JBQWdCO1FBQ3hDLG1CQUFtQixFQUFFLFlBQVk7UUFDakMsb0JBQW9CLEVBQUUsYUFBYTtRQUVuQyxXQUFXLEVBQUcsYUFBYTtRQUMzQixTQUFTLEVBQUUsV0FBVztRQUN0QixVQUFVLEVBQUUsWUFBWTtRQUN4QixXQUFXLEVBQUUsYUFBYTtRQUMxQixXQUFXLEVBQUUsYUFBYTtRQUMxQixnQkFBZ0IsRUFBRSxrQkFBa0I7UUFDcEMsY0FBYyxFQUFFLGdCQUFnQjtRQUNoQyxRQUFRLEVBQUcsVUFBVTtRQUNyQixpQkFBaUIsRUFBRSxtQkFBbUI7UUFDdEMsbUJBQW1CLEVBQUUscUJBQXFCO1FBQzFDLG1CQUFtQixFQUFFLHFCQUFxQjtRQUMxQyxtQkFBbUIsRUFBRSxxQkFBcUI7S0FDN0MsQ0FBQztJQUVGOztPQUVHO0lBQ0gsRUFBRSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsR0FBRztRQUNyQixLQUFLLEVBQUUsT0FBTztRQUNkLE1BQU0sRUFBRyxRQUFRO1FBQ2pCLEdBQUcsRUFBRyxLQUFLO0tBQ2QsQ0FBQztJQUVGLFdBQVc7SUFDWCxFQUFFLENBQUMsRUFBRSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQzNCLGlCQUFpQixFQUFFLE9BQU87S0FDN0IsQ0FBQyxDQUFDO0lBRUEsaUJBQWlCO0lBQ2pCLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDcEIsTUFBTSxFQUFFLGlEQUFpRDtRQUN6RCxNQUFNLEVBQUUsbURBQW1EO1FBQzNELFNBQVMsRUFBRSxpQkFBaUI7UUFDNUIsU0FBUyxFQUFFLFlBQVk7UUFDdkIsVUFBVSxFQUFFLG9CQUFvQjtRQUNoQyxTQUFTLEVBQUUsb0JBQW9CO1FBQy9CLFVBQVUsRUFBRSwyQkFBMkI7S0FFMUMsQ0FBQyxDQUFDO0FBRVAsQ0FBQyxDQUFDIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2FtZUNvbmZpZyB9IGZyb20gXCIuLi9Db25maWcvR2FtZUNvbmZpZ1wiO1xyXG5pbXBvcnQgSHR0cFV0aWwgZnJvbSBcIi4uL0NyeXB0by9IdHRwVXRpbFwiO1xyXG5pbXBvcnQgQXVkaW9NYW5hZ2VyIGZyb20gXCIuLi9NdXNpYy9BdWRpb01hbmFnZXJcIjtcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9ucyB9IGZyb20gXCIuLi9Ob3RpZmljYXRpb24vTm90aWZpY2F0aW9uXCI7XHJcbmltcG9ydCB7IFN0b3JhZ2VNZXNzYWdlIH0gZnJvbSBcIi4uL1N0b3JhZ2UvU3RvcmFnZVwiO1xyXG5pbXBvcnQgeyBHYW1lVG9vbCB9IGZyb20gXCIuLi9Ub29sL0dhbWVUb29sXCI7XHJcblxyXG5cclxud2luZG93LmluaXRNZ3IgPSBmdW5jdGlvbigpIHtcclxuICAgIGlmKGNjLmZ4KVxyXG4gICAge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNjLmZ4ID0ge307XHJcbiAgICBjb25zb2xlLmxvZyhcIjHliJ3lp4vljJZcIik7XHJcblxyXG4gICAgLy/ln7rnoYDnirbmgIHkv6Hmga9cclxuICAgIGNjLmZ4LlN0YXRlSW5mbyA9IHtcclxuICAgICAgICBkZWJ1Z01vZGU6IHRydWUsXHJcbiAgICAgICAgbmV0d29ya0Nvbm5lY3RlZDogdHJ1ZSwgICAvL+e9kee7nOeKtuaAgVxyXG4gICAgICAgIG5ldHdvcmtUeXBlOiAnbm9uZScsICAgICAgLy/nvZHnu5znsbvlnotcclxuICAgICAgICBpc09uRm9yZWdyb3VuZDogdHJ1ZSAgICAgIC8v5b2T5YmN5piv5ZCm5piv5Zyo5YmN5Y+wXHJcbiAgICB9O1xyXG5cclxuICAgIC8v5bqU55So57O757uf5L+h5oGvXHJcbiAgICAvL+mFjee9ruaWh+S7tlxyXG5cclxuICAgIGNjLmZ4LkdhbWVDb25maWcgPSBHYW1lQ29uZmlnO1xyXG4gICAgY2MuZnguSHR0cFV0aWwgPSBIdHRwVXRpbDtcclxuICAgIGNjLmZ4LkdhbWVUb29sID0gR2FtZVRvb2w7XHJcbiAgICBjYy5meC5BdWRpb01hbmFnZXIgPSBBdWRpb01hbmFnZXI7XHJcbiAgICBjYy5meC5Ob3RpZmljYXRpb25zID0gTm90aWZpY2F0aW9ucztcclxuICAgIGNjLmZ4LlN0b3JhZ2VNZXNzYWdlID0gU3RvcmFnZU1lc3NhZ2U7XHJcblxyXG4gICAgY2MuZnguU2hhcmVJbmZvID0ge1xyXG4gICAgICAgIHF1ZXJ5SWQgOiAtMSAgICAgICAgICAgICAgLy/liIbkuqtpZFxyXG4gICAgfTtcclxuXHJcbiAgICBjYy5meC5NZXNzYWdlID0ge1xyXG4gICAgICAgIGNvbnRyb2w6IFwiMTAwMDFcIiwgICAgICAgLy/kvKDpgJLmk43kvZzmjqfliLZcclxuICAgICAgICBzdGFydEdhbWU6XCIxMDAwMlwiLCAgICAgIC8v5Lyg6YCS5byA5aeL5bu6562RXHJcbiAgICAgICAgbmV4dDogXCIxMDAwM1wiICwgICAgICAgICAgLy/kvKDpgJLmiafooYzkuIvkuIDkuKrmoLzlrZDmtKrmsLTmtYHov4dcclxuICAgICAgICBjaGFuZ2VQYXRoOiBcIjEwMDA0XCIsICAgICAgIC8v5Lyg6YCS5pON5L2c5o6n5Yi2XHJcbiAgICAgICAgY2hhbmdlTWFwOiBcIjEwMDA1XCIsICAgICAgICAgLy/mlLnlj5jpgqPlnLDlm75cclxuICAgICAgICBuZXh0V2F0ZXI6IFwiMTAwMDZcIiAsICAgICAgICAgIC8v5Lyg6YCS5omn6KGM5LiL5LiA5Liq5qC85a2Q5rSq5rC05rWB6L+HXHJcbiAgICAgICAgYWRkRW5kOiBcIjEwMDA3XCIgLCAgICAgICAgICAvL+a3u+WKoOe7k+adn+eCuVxyXG4gICAgfVxyXG5cclxuICAgIC8qXHJcbiAgICAgICAgKiDlrqLmiLfnq6/ln4vngrnliIbkuqvnsbvlnotcclxuICAgICovXHJcbiAgICBjYy5meC5CdXJpYWxTaGFyZVR5cGUgPSB7XHJcbiAgICAgICAgRGVmYXVsdCA6IFwiZGVmYXVsdFwiLCAgICAgICAgLy/pu5jorqTliIbkuqvnsbvlnoss5YiG5Lqr5Yiw576kXHJcbiAgICAgICAgSW52aXRlIDogXCJpbnZpdGVcIiwgICAgICAgICAgLy8g6YKA6K+35aW95Y+LXHJcblxyXG4gICAgICAgIERhaWx5SW52aXRlUm9vbUpvaW46J2ludml0ZV9qb2luX3Jvb20nLCAvL+mCgOivt+WlveWPi+WKoOWFpVxyXG4gICAgICAgIERhaWx5SW52aXRlRnJpZW5kIDogJ2ludml0ZV9mcmllbmQnLCAvLyDml6XluLjpgoDor7flpb3lj4tcclxuICAgICAgICBEYWlseUludml0ZUdyb3VwIDogJ2ludmF0ZV9ncm91cCcsIC8vIOaXpeW4uOWIhuS6q+e+pFxyXG4gICAgICAgIERhaWx5SW52aXRlR3JvdXBBbGl2ZTogJ2ludmF0ZV9hbGl2ZScsIC8v5pel5bi45YiG5Lqr576k5aSN5rS7XHJcbiAgICAgICAgRGFpbHlJbnZpdGVHcm91cFJld2FyZDogJ2ludmF0ZV9yZXdhcmVkJywvL+WIhuS6q+WlluWKsee/u+WAjVxyXG4gICAgICAgIERhaWx5SW52aXRlR3JvdXBCb3g6ICdpbnZhdGVfYm94JywgIC8v5a6d566x5YiG5Lqr5aWW5YqxXHJcbiAgICAgICAgRGFpbHlJbnZpdGVHcm91cEJhbGw6ICdpbnZhdGVfYmFsbCcsICAvL+WIhuS6q+mihuWPlueQg+eQg1xyXG5cclxuICAgICAgICBNYXRjaFJlc3VsdCA6ICdtYXRjaFJlc3VsdCcsICAvLyDmr5TotZvnu5PnrpfliIbkuqtcclxuICAgICAgICBNYXRjaEZpeDU6ICdNYXRjaEZpeDUnLCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gNeWFg+e6ouWMhei1m1xyXG4gICAgICAgIE1hdGNoRml4MjA6ICdNYXRjaEZpeDIwJywgICAgICAgICAgICAgICAgICAgICAgICAvLyAyMOWFg+e6ouWMhei1m1xyXG4gICAgICAgIE1hdGNoRml4MTAwOiAnTWF0Y2hGaXgxMDAnLCAgICAgICAgICAgICAgICAgICAgICAvLyAxMDDlhYPnuqLljIXotZtcclxuICAgICAgICBNYXRjaEZpeDUwMDogJ01hdGNoRml4NTAwJywgICAgICAgICAgICAgICAgICAgICAgLy8gNTAw5YWD57qi5YyF6LWbXHJcbiAgICAgICAgTmV3ZXJSZWRFbnZlbG9wZTogJ25ld2VyUmVkRW52ZWxvcGUnLCAgICAgICAgICAgIC8vIOaWsOaJi+e6ouWMhVxyXG4gICAgICAgIENvaW5Sb29tUmVzdWx0OiAnY29pblJvb21SZXN1bHQnLCAgICAgICAgICAgICAgICAvLyDph5HluIHmoYznu5PnrpdcclxuICAgICAgICBIaWdoUmF0ZSA6IFwiaGlnaFJhdGVcIiwvL+mrmOWAjeWIhuS6q1xyXG4gICAgICAgIENvaW5Sb29tV2luU3RyZWFrOiAnY29pblJvb21XaW5TdHJlYWsnLCAgICAgICAgIC8vIOi/nuiDnFxyXG4gICAgICAgIENvaW5Sb29tQmFua3J1cHRjeTE6ICdjb2luUm9vbUJhbmtydXB0Y3kxJywgICAgICAgICAvLyDph5HluIHmoYznoLTkuqdcclxuICAgICAgICBDb2luUm9vbUJhbmtydXB0Y3kyOiAnY29pblJvb21CYW5rcnVwdGN5MicsICAgICAgICAgLy8g6YeR5biB5qGM56C05LqnXHJcbiAgICAgICAgQ29pblJvb21CYW5rcnVwdGN5MzogJ2NvaW5Sb29tQmFua3J1cHRjeTMnLCAgICAgICAgIC8vIOmHkeW4geahjOegtOS6p1xyXG4gICAgfTtcclxuXHJcbiAgICAvKlxyXG4gICAgICog5YiG5Lqr5Yiw5ZOq5YS/57uZ5aWW5YqxIGdyb3VwIGZyaW5lZCBhbGxcclxuICAgICAqL1xyXG4gICAgY2MuZnguU2hhcmVXaGVyZVJld2FyZCA9IHtcclxuICAgICAgICBHcm91cCA6XCJncm91cFwiLCAvL+W+ruS/oee+pFxyXG4gICAgICAgIEZyaWVuZCA6IFwiZnJpZW5kXCIsLy/lpb3lj4tcclxuICAgICAgICBBbGwgOiBcImFsbFwiLCAvL+S4jeWMuuWIhlxyXG4gICAgfTtcclxuXHJcbiAgICAvL+eUqOS6juWtmOWCqOa2iOaBr+eahElEXHJcbiAgICBjYy5meC5zdG9yYWdlVHlwZSA9IGNjLkVudW0oe1xyXG5cdCAgICBzdG9yYWdlVHlwZUN1c3RvbTogMTAwMDEwMSwgLy/nlKjkuo7lrZjlgqjlhbPljaHnrYnnuqdcclxuXHR9KTtcclxuXHJcbiAgICAvL+eUqOS6juWtmOWCqOaPkOekuuivrSAg5oyJ54Wn5q2l6aqk5o+Q56S6XHJcbiAgICBjYy5meC50aXBUeXBlID0gY2MuRW51bSh7XHJcbiAgICAgICAgdGlwT25lOiAn56We5Yac5rCP5Zue5Yiw5a625Lit77yM5byA5aeL5pW055CG5LuK5aSp5pS26ZuG5p2l55qE54mp5ZOB44CC5b2T5LuW56ys5LiA5qyh5ou/5Ye65oiW6K+05Ye65LiA56eN5qSN54mp5pe277yM6K+35ZGK6K+J5LuW6L+Z5piv5paw5qSN54mp44CCJyxcclxuICAgICAgICB0aXBUd286ICflpoLmnpzku5bmi7/lh7rmiJbor7Tlh7rnmoTmpI3niankvaDku4rlpKnnnIvliLDov4fvvIzor7flkYror4nku5bkuIrmrKHmmK/nnIvliLDnmoTvvJvlpoLmnpzkvaDlkKzku5bor7Tov4fvvIzliJnor7flkYror4nku5bkuIrmrKHmmK/lkKzliLDnmoTjgIInLCAvL+eUqOS6juWtmOWCqOWFs+WNoeetiee6p1xyXG4gICAgICAgIHRpcEVyck5ldzogJ+i/meaYr+i/meWxgOa4uOaIj+esrOS4gOasoeWHuueOsHvmpI3nial9JyxcclxuICAgICAgICB0aXBFcnJPbGQ6ICd75qSN54mpfeWImuaJjeWHuueOsOi/h+WRoicsXHJcbiAgICAgICAgdGlwRXJySGVhcjogJ+S4iuasoemBh+WIsHvmpI3nial95pe277yM5Ly85LmO5LiN5piv5ZCs5Yiw55qE5ZCnJyxcclxuICAgICAgICB0aXBFcnJTZWU6ICfkuIrmrKHpgYfliLB75qSN54mpfeaXtu+8jOS8vOS5juS4jeaYr+eci+WIsOeahOWQpycsXHJcbiAgICAgICAgdGlwRXJyTGFzdDogJ+S5i+WJjeehruWunueci+WIsOi/h3vmpI3nial977yM5L2G5pyA6L+R5LiA5qyh5Ly85LmO5LiN5piv55yL5Yiw55qE5ZGiJyxcclxuXHJcbiAgICB9KTtcclxuXHJcbn07Il19 \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/Block.js b/temp/quick-scripts/src/assets/Script/Block.js index 0a0a11b..801a179 100644 --- a/temp/quick-scripts/src/assets/Script/Block.js +++ b/temp/quick-scripts/src/assets/Script/Block.js @@ -76,64 +76,240 @@ var NewClass = /** @class */ (function (_super) { 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) { + NewClass.prototype.initData = function (type, pos, max) { this.block_Type = type; + this.pos = cc.v2(pos.x, pos.y); if (type == cc.Enum(BlockType).Start) { - this.node.color = cc.color(245, 70, 70); + var bg = this.node.getChildByName("sp"); + // this.node.getComponent(cc.Sprite).spriteFrame = null; + bg.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["start"]; + this.rotateTarget(bg, "start", pos, max); } else if (type == cc.Enum(BlockType).End) { - this.node.color = cc.color(20, 255, 0); + var bg = this.node.getChildByName("sp"); + // this.node.getComponent(cc.Sprite).spriteFrame = null; + bg.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["end"]; + this.rotateTarget(bg, "end", pos, max); } else if (type == cc.Enum(BlockType).Nunja) { - this.node.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e5"]; + 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.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; + this.node.getChildByName("bg").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; + this.node.getComponent(cc.Sprite).spriteFrame = null; + } + }; + //旋转入海口和出海口的 图片以及文字角度 + 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_SoilType = function (direction, end) { + //设置息壤在起点 + 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" ? -90 : 0; + water.angle = direction == "up" ? -90 : 0; + } + 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); + console.log("息壤", direction, name, this.block_Type); + 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.set_Xi_Soil(direction, true); + } setTimeout(function () { - cc.fx.Notifications.emit(cc.fx.Message.next, (end + 1)); - }, 1000); + 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 { } - this.block_Type = cc.Enum(BlockType).Xi_Soil; var target = this.node.getChildByName("Xi_Soil"); this.path_Type = direction; target.active = true; target.opacity = 0; cc.tween(target) - .to(0.5, { opacity: 255 }) - .to(0.5, { opacity: 0 }) + .to(0.1, { opacity: 255 }) + .to(0.1, { opacity: 0 }) .call(function () { if (direction != null && end == null) { var data = { order: 0, - time: 0.2, + time: cc.fx.GameConfig.TIME_INFO.waterSpeed[0], type: 0, circulate: false }; - _this.runWater(data); + if (name == "water") { + _this.runWater(data); + } + else + _this.runRoad(data); } }) .start(); }; - //洪峰执行 - NewClass.prototype.runWater = function (data) { + //修筑路线执行 + NewClass.prototype.runRoad = function (data) { if (this.path_Type == "err") { setTimeout(function () { if (data.circulate) @@ -142,12 +318,228 @@ var NewClass = /** @class */ (function (_super) { return; } //如果双向都占用了还进来就算死了- + if (this.node.getChildByName("vertical2").active == true && this.node.getChildByName("horizontal2").active == true) { + alert("河道已经交叉,不能再通过"); + cc.director.loadScene("GameScene"); + return; + } + else if (this.node.getChildByName("turn2").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil) { + alert("河道过弯处,不能再交叉河道"); + 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("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).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.x - posTemp.x == -1) { + direction = "down"; + } + // console.log("方向:",direction); + this.set_Xi_Soil(direction, true); + // alert("治水成功"); + // target = this.node.getChildByName("End"); + // target.active = true; + // target.opacity = 0; + // cc.tween(target) + // .to(0.5,{opacity:255}) + // .call(() =>{ + // console.log("游戏结束"); + // // if(data.circulate) + // // cc.fx.Notifications.emit(cc.fx.Message.next,order); + // }) + // .start(); + } + 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.director.loadScene("GameScene"); return; } else if (this.node.getChildByName("turn").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil) { alert("河道过弯处,不能再交叉河道"); + cc.director.loadScene("GameScene"); return; } var target = null; @@ -156,23 +548,38 @@ var NewClass = /** @class */ (function (_super) { var order = data.order + 1; var random = Math.floor(Math.random() * 4 + 1); target = this.node.getChildByName("vertical"); - var water1 = target.getChildByName("wave").getChildByName("water1"); - var water2 = target.getChildByName("wave").getChildByName("water2"); - var water3 = target.getChildByName("wave").getChildByName("water3"); - var timeDelay = 0.15; - water1.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water1.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { - water1.y = -120; - })).repeatForever()); - water2.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water2.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { - water2.y = -120; - })).repeatForever()); - water3.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water3.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { - water3.y = -120; - })).repeatForever()); + 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(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]; } @@ -194,12 +601,14 @@ var NewClass = /** @class */ (function (_super) { } else { target = this.node.getChildByName("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); + 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; @@ -238,78 +647,79 @@ var NewClass = /** @class */ (function (_super) { target.setPosition(-this.pos_Shifting, -this.pos_Shifting); } } - if (this.path_Type == "Reinforce") { - console.log(data.order); - target = this.node.getChildByName("Reinforce"); - this.block_Type = cc.Enum(BlockType).Reinforce; - this.node.getChildByName("vertical").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e1"]; - this.node.getChildByName("turn").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e3"]; - this.node.getChildByName("horizontal").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e2"]; - target.active = true; - target.opacity = 0; - progress = 1; - cc.tween(target) - .to(time, { 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") { + // if(this.path_Type == "Reinforce"){ + // target = this.node.getChildByName("Reinforce"); + // this.block_Type = cc.Enum(BlockType).Reinforce; + // // this.node.getChildByName("vertical").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e1"]; + // // this.node.getChildByName("turn").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e3"]; + // // this.node.getChildByName("horizontal").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(() =>{ + // if(data.circulate) + // cc.fx.Notifications.emit(cc.fx.Message.changeMap,order); + // cc.fx.Notifications.emit(cc.fx.Message.nextWater,order); + // }) + // .start(); + // } + // else if(this.path_Type == "Xi_Soil"){ + // target.active = false; + // 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(() =>{ + // if(data.circulate){ + // cc.fx.Notifications.emit(cc.fx.Message.nextWater,order); + // } + // }) + // .start(); + // } + if (this.path_Type == "End") { target.active = false; - 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.5, { opacity: 255 }) - .to(0.5, { 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; - this.block_Type = cc.Enum(BlockType).Xi_Soil; - target = this.node.getChildByName("End"); - target.active = true; - target.opacity = 0; - cc.tween(target) - .to(0.5, { opacity: 255 }) - .call(function () { - console.log("游戏结束"); - // if(data.circulate) - // cc.fx.Notifications.emit(cc.fx.Message.next,order); - }) - .start(); + 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("治水成功"); + if (cc.fx.GameConfig.GM_INFO.level < 7) { + cc.fx.GameConfig.GM_INFO.level += 1; + } + cc.director.loadScene("GameScene"); + }) + .start(); + } + } + else { + target = this.node.getChildByName("End"); + target.active = true; + target.opacity = 0; + cc.tween(target) + .to(0.5, { opacity: 255 }) + .call(function () { + alert("治水失败"); + cc.director.loadScene("GameScene"); + }) + .start(); + } } 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(); - } + 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([ diff --git a/temp/quick-scripts/src/assets/Script/Block.js.map b/temp/quick-scripts/src/assets/Script/Block.js.map index a35c4e4..2935bfc 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 onLoad () {\r\n this.finishi = false;\r\n this.pos_Shifting = 0;\r\n }\r\n\r\n start () {\r\n \r\n }\r\n\r\n initData(type){\r\n this.block_Type = type;\r\n if(type == cc.Enum(BlockType).Start){ \r\n this.node.color = cc.color(245,70,70);\r\n }\r\n else if(type == cc.Enum(BlockType).End){\r\n this.node.color = cc.color(20,255,0);\r\n }\r\n else if(type == cc.Enum(BlockType).Nunja){\r\n this.node.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"e5\"];\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.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n }\r\n }\r\n\r\n setPath(type){\r\n this.path_Type = type;\r\n }\r\n\r\n set_Xi_SoilType(direction,end){\r\n console.log(\"息壤\",direction);\r\n if(end != null){\r\n setTimeout(() => {\r\n cc.fx.Notifications.emit(cc.fx.Message.next,(end+1));\r\n }, 1000);\r\n \r\n }\r\n\r\n this.block_Type = cc.Enum(BlockType).Xi_Soil;\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.5,{opacity:255})\r\n .to(0.5,{opacity:0})\r\n .call(() =>{\r\n if(direction != null && end == null){\r\n let data = {\r\n order:0,\r\n time:0.2,\r\n type:0,\r\n circulate:false\r\n };\r\n this.runWater(data);\r\n }\r\n })\r\n .start();\r\n }\r\n\r\n\r\n //洪峰执行\r\n runWater(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 //如果双向都占用了还进来就算死了- \r\n if(this.node.getChildByName(\"vertical\").active == true && this.node.getChildByName(\"horizontal\").active == true){\r\n alert(\"河道已经交叉,不能再通过\");\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 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 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 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 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.scaleX = 1;\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.scaleY = -1;\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 console.log(data.order);\r\n target = this.node.getChildByName(\"Reinforce\");\r\n this.block_Type = cc.Enum(BlockType).Reinforce;\r\n this.node.getChildByName(\"vertical\").getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"e1\"];\r\n this.node.getChildByName(\"turn\").getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"e3\"];\r\n this.node.getChildByName(\"horizontal\").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(time,{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 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.5,{opacity:255})\r\n .to(0.5,{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 .start();\r\n }\r\n else if(this.path_Type == \"End\"){\r\n target.active = false;\r\n this.block_Type = cc.Enum(BlockType).Xi_Soil;\r\n target = this.node.getChildByName(\"End\"); \r\n target.active = true;\r\n target.opacity = 0;\r\n cc.tween(target)\r\n .to(0.5,{opacity:255})\r\n .call(() =>{\r\n console.log(\"游戏结束\");\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.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 // 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 initData(type,pos,max){\r\n this.block_Type = type;\r\n this.pos = cc.v2(pos.x,pos.y);\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 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 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 }\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 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 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\"?-90:0;\r\n water.angle = direction==\"up\"?-90:0;\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 }\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\r\n set_Xi_SoilType(direction,end,name){\r\n console.log(\"息壤\",direction,name,this.block_Type);\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.set_Xi_Soil(direction,true);\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\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 //如果双向都占用了还进来就算死了- \r\n if(this.node.getChildByName(\"vertical2\").active == true && this.node.getChildByName(\"horizontal2\").active == true){\r\n alert(\"河道已经交叉,不能再通过\");\r\n cc.director.loadScene(\"GameScene\");\r\n return;\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 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(\"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\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).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.x - posTemp.x == -1){\r\n direction = \"down\";\r\n }\r\n \r\n // console.log(\"方向:\",direction);\r\n this.set_Xi_Soil(direction,true);\r\n \r\n // alert(\"治水成功\");\r\n // target = this.node.getChildByName(\"End\"); \r\n // target.active = true;\r\n // target.opacity = 0;\r\n // cc.tween(target)\r\n // .to(0.5,{opacity:255})\r\n // .call(() =>{\r\n // console.log(\"游戏结束\");\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.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\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.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.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 // if(this.path_Type == \"Reinforce\"){\r\n // target = this.node.getChildByName(\"Reinforce\");\r\n // this.block_Type = cc.Enum(BlockType).Reinforce;\r\n // // this.node.getChildByName(\"vertical\").getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"e1\"];\r\n // // this.node.getChildByName(\"turn\").getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"e3\"];\r\n // // this.node.getChildByName(\"horizontal\").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.nextWater,order);\r\n // })\r\n // .start();\r\n // }\r\n // else if(this.path_Type == \"Xi_Soil\"){\r\n // target.active = false;\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.nextWater,order);\r\n // }\r\n \r\n // })\r\n // .start();\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 if(cc.fx.GameConfig.GM_INFO.level < 7){\r\n cc.fx.GameConfig.GM_INFO.level += 1;\r\n }\r\n cc.director.loadScene(\"GameScene\");\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 cc.tween(target)\r\n .to(0.5,{opacity:255})\r\n .call(() =>{\r\n alert(\"治水失败\")\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 f563a12..14e046d 100644 --- a/temp/quick-scripts/src/assets/Script/ControlManager.js +++ b/temp/quick-scripts/src/assets/Script/ControlManager.js @@ -49,17 +49,23 @@ var NewClass = /** @class */ (function (_super) { this.canTouch = true; }; NewClass.prototype.setPosition = function (tip) { - tip.setPosition(45, -35); + tip.setPosition(30, -35); if (this.tipArray.length > 0) { var length = this.tipArray.length + 1; - var posY = Math.ceil(length / 5) - 1; - var posX = length - Math.floor(posY) * 5 - 1; - tip.setPosition(45 + 65 * posX, -35 - 60 * posY); + 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; + 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 = []; }; NewClass.prototype.back_Click = function () { @@ -78,8 +84,9 @@ var NewClass = /** @class */ (function (_super) { if (!this.canTouch) return; var prefab = this.tip; - if (data == "reinforce" || data == "soil") + if (data == "reinforce" || data == "soil") { prefab = this[data]; + } var tip = cc.instantiate(prefab); if (data == "up") tip.angle = 180; @@ -88,6 +95,15 @@ var NewClass = /** @class */ (function (_super) { 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); diff --git a/temp/quick-scripts/src/assets/Script/ControlManager.js.map b/temp/quick-scripts/src/assets/Script/ControlManager.js.map index 62f6eb6..7e57c9a 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 // 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 }\r\n\r\n setPosition(tip){\r\n tip.setPosition(45,-35);\r\n if(this.tipArray.length > 0){\r\n let length = this.tipArray.length+1;\r\n let posY = Math.ceil(length/5) - 1;\r\n let posX = length - Math.floor(posY)*5 - 1;\r\n tip.setPosition(45 + 65*posX,-35 -60*posY);\r\n }\r\n }\r\n\r\n removeAllTip(){\r\n if(!this.canTouch) return;\r\n this.tipArray = [];\r\n }\r\n\r\n back_Click(){\r\n if(!this.canTouch) return;\r\n if(this.tipArray.length > 0){\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 }\r\n }\r\n\r\n\r\n btn_Click(target,data){\r\n if(!this.canTouch) return;\r\n let prefab = this.tip;\r\n if(data == \"reinforce\" || data == \"soil\") prefab = this[data];\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 this.setPosition(tip);\r\n this.tipArray.push(tip);\r\n this.controlArray.push(data);\r\n cc.fx.Notifications.emit(cc.fx.Message.control,data);\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.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 // 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 }\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 for(let i=0; i 0){\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 }\r\n }\r\n\r\n\r\n btn_Click(target,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 }\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\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 cc.fx.Notifications.emit(cc.fx.Message.control,data);\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.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 diff --git a/temp/quick-scripts/src/assets/Script/GameManager.js b/temp/quick-scripts/src/assets/Script/GameManager.js index cf88742..4a37402 100644 --- a/temp/quick-scripts/src/assets/Script/GameManager.js +++ b/temp/quick-scripts/src/assets/Script/GameManager.js @@ -32,6 +32,8 @@ var GameManager = /** @class */ (function (_super) { var _this = _super !== null && _super.apply(this, arguments) || this; _this.Map = null; _this.Block = null; + _this.Time = null; + _this.Countdown = null; return _this; } GameManager.prototype.onLoad = function () { @@ -43,28 +45,50 @@ var GameManager = /** @class */ (function (_super) { //初始化数据 GameManager.prototype.init = function () { this.initMap(); + this.countTime = cc.fx.GameConfig.TIME_INFO.totalTime; + this.waterTime = cc.fx.GameConfig.TIME_INFO.waterTime[cc.fx.GameConfig.GM_INFO.level]; + 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); }; - //初始化地图 + //初始化地图` GameManager.prototype.initMap = function () { this.block_Array = []; this.path_Array = []; + this.water_Array = []; this.map_Array = []; + this.plan_over = false; this.map_Hight = 0; this.map_Width = 0; - var arr = cc.fx.GameConfig.LEVEL_INFO[0][0].map; + var number = 10; //9 + number = Math.floor(Math.random() * cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level].length); + // number = 1; + var arr = cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][number].map; + debugger; + this.node.getChildByName("Top").getChildByName("id").getComponent(cc.Label).string = + cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][number].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]); - if (this.map_Array[i][j] == cc.Enum(Block_1.BlockType).Start) + 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); } @@ -95,30 +119,50 @@ var GameManager = /** @class */ (function (_super) { break; } } - this.runWater(0); + this.runRoad(0); }; //开始执行洪峰来了的动画 - GameManager.prototype.runWater = function (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)); + // console.log(this.water_Array); + // debugger; + 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); + // console.log(this.water_Array); + } + } + 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"; - // 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"; - // } + setTimeout(function () { + if (!_this.plan_over) { + console.log("准备出水"); + _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); + _this.waterTween.stop(); + progress.fillRange = 1; + _this.runWater(0); + } + }, 500); } else { if (this.path_Array[order].z == 6 && order + 1 < this.path_Array.length) { @@ -129,39 +173,52 @@ var GameManager = /** @class */ (function (_super) { if (this.path_Array[order + 1].z == 5) { direction = "Xi_Soil"; } + else if (this.path_Array[order + 1].z == 6 && order == 0) { + direction = "Reinforce"; + } else { - direction = this.getDirection(order); + direction = this.getDirection(order, this.path_Array); } } else { - direction = this.getDirection(order); + direction = this.getDirection(order, this.path_Array); } } // console.log(order,this.path_Array[order].x,this.path_Array[order].y,i); - var jg = this.getBoundary(order, this.path_Array[order].x, this.path_Array[order].y, direction); + // 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; var target = this.block_Array[i].getComponent("Block"); - // console.log("步骤:",order,"方向",direction); 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.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" && 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: 0.2, + time: cc.fx.GameConfig.TIME_INFO.waterSpeed[cc.fx.GameConfig.GM_INFO.level], type: this.path_Array[order].z, - circulate: circulate + circulate: circulate, + last: pos }; - target.runWater(data); + target.runRoad(data); } }; //判断边界。或者撞山,或者湿地没有加固 - GameManager.prototype.getBoundary = function (order, x, y, direction) { + 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; @@ -169,7 +226,7 @@ var GameManager = /** @class */ (function (_super) { alert("超过边界,游戏结束"); } else { - var i = this.path_Array[order].x * this.map_Array[0].length + this.path_Array[order].y; + 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; @@ -184,12 +241,73 @@ var GameManager = /** @class */ (function (_super) { } 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 (this.water_Array[order].z == 6 && order + 1 < this.water_Array.length) { + 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); + } + } + // console.log(order,this.path_Array[order].x,this.path_Array[order].y,i); + var jg = this.getBoundary(order, this.water_Array[order].x, this.water_Array[order].y, direction, this.water_Array); + console.log("步骤:", order, "方向", direction); + if (direction == "" || jg == 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 data = { + order: order, + time: cc.fx.GameConfig.TIME_INFO.waterSpeed[cc.fx.GameConfig.GM_INFO.level], + type: this.water_Array[order].z, + circulate: circulate + }; + target.runWater(data); + } + }; //获取息壤的格子的方向 - GameManager.prototype.getXi_Soil = function (order) { + GameManager.prototype.getXi_Soil = function (order, road) { var direction = null; //如果息壤后面还有下一步的话 - if (order + 1 < this.path_Array.length) { - direction = this.getDirection(order); + if (order + 1 < road.length) { + direction = this.getDirection(order, road); if (direction == "up" || direction == "right_up" || direction == "left_up") { direction = "up"; } @@ -206,28 +324,35 @@ var GameManager = /** @class */ (function (_super) { return direction; }; //设置息壤 - GameManager.prototype.set_Soil = function (order) { - var direction = this.getXi_Soil(order); + 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 = this.path_Array[order].x; i <= length; i++) { - var n = i * this.map_Array[0].length + this.path_Array[order].y; + 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) { + 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 = this.path_Array[order].x; i >= length; i--) { - var n = i * this.map_Array[0].length + this.path_Array[order].y; + 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) { + if (target.block_Type == 3 || target.block_Type == 4) { length = i + 1; + if (target.block_Type == 4) { + length -= 1; + } i = -1; break; } @@ -235,11 +360,14 @@ var GameManager = /** @class */ (function (_super) { } else if (direction == "up") { length = 0; - for (var i = this.path_Array[order].y; i >= length; i--) { - var n = this.path_Array[order].x * this.map_Array[0].length + i; + 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) { + if (target.block_Type == 3 || target.block_Type == 4) { length = i + 1; + if (target.block_Type == 4) { + length -= 1; + } i = -1; break; } @@ -247,114 +375,181 @@ var GameManager = /** @class */ (function (_super) { } else if (direction == "down") { length = this.map_Hight - 1; - for (var i = this.path_Array[order].y; i <= length; i++) { - var n = this.path_Array[order].x * this.map_Array[0].length + i; + 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) { + 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); + this.soil_Find(direction, order, length, road, name); }; //查找息壤蛮遗憾路径 - GameManager.prototype.soil_Find = function (direction, order, length) { - var start = this.path_Array[order].x; + 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 + this.path_Array[order].y; + var n = i * this.map_Array[0].length + road[order].y; var target = this.block_Array[n].getComponent("Block"); - if (i == start) - target.set_Xi_SoilType(this.getDirection(order), null); + if (i == start) { + 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); + this.changePath(order, number, false, road); jg = order; } - target.set_Xi_SoilType(direction, jg); + 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 + this.path_Array[order].y; + var n = i * this.map_Array[0].length + road[order].y; var target = this.block_Array[n].getComponent("Block"); - if (i == start) - target.set_Xi_SoilType(this.getDirection(order), null); + if (i == start) { + 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); + this.changePath(order, number, false, road); jg = order; } - target.set_Xi_SoilType(direction, jg); + target.set_Xi_SoilType(direction, jg, name); } } } else if (direction == "up") { - start = this.path_Array[order].y; + start = road[order].y; for (var i = start; i >= length; i--) { - var n = this.path_Array[order].x * this.map_Array[0].length + i; + var n = road[order].x * this.map_Array[0].length + i; var target = this.block_Array[n].getComponent("Block"); - if (i == start) - target.set_Xi_SoilType(this.getDirection(order), null); + if (i == start) { + 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); + this.changePath(order, number, true, road); jg = order; } - target.set_Xi_SoilType(direction, jg); + console.log("想上息壤插入:", this.path_Array[order].x, i); + target.set_Xi_SoilType(direction, jg, name); } } } else if (direction == "down") { - start = this.path_Array[order].y; + start = road[order].y; for (var i = start; i <= length; i++) { - var n = this.path_Array[order].x * this.map_Array[0].length + i; + var n = road[order].x * this.map_Array[0].length + i; var target = this.block_Array[n].getComponent("Block"); - if (i == start) - target.set_Xi_SoilType(this.getDirection(order), null); + if (i == start) { + 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); + this.changePath(order, number, true, road); jg = order; } - target.set_Xi_SoilType(direction, jg); + target.set_Xi_SoilType(direction, jg, name); } } } }; - //息壤过后改变修筑路径 - GameManager.prototype.changePath = function (order, number, direction) { - for (var i = (order + 1); i < this.path_Array.length; i++) { - if (!direction) - this.path_Array[i].x += (number); - else - this.path_Array[i].y += (number); + //改变水流地图 + 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 { + 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); + } + } } - // // this.path_Array[data-1].x = 5; - // this.path_Array[data].x = 5; }; GameManager.prototype.changeMap = function (data) { }; //获取洪峰方向 - GameManager.prototype.getDirection = function (order) { + GameManager.prototype.getDirection = function (order, road) { var name = ""; //入海口比较复杂单独判断 if (order == 0) { - var nextX = this.path_Array[order + 1].x - this.path_Array[order].x; - var nextY = this.path_Array[order].y - this.path_Array[order + 1].y; + var nextX = road[order + 1].x - road[order].x; + var nextY = road[order].y - road[order + 1].y; //在底边 - if (this.path_Array[order].y == this.map_Array[0].length - 1) { + if (road[order].y == this.map_Array[0].length - 1) { if (nextX == 0) { if (nextY == 1) name = "up"; @@ -367,7 +562,7 @@ var GameManager = /** @class */ (function (_super) { name = "up_left"; } //在顶边 - else if (this.path_Array[order].y == 0) { + else if (road[order].y == 0) { if (nextX == 0) { if (nextY == 1) name = "err"; @@ -380,7 +575,7 @@ var GameManager = /** @class */ (function (_super) { name = "down_left"; } //在左边 - else if (this.path_Array[order].x == 0) { + else if (road[order].x == 0) { if (nextX == 0) { if (nextY == 1) name = "right_up"; @@ -393,7 +588,7 @@ var GameManager = /** @class */ (function (_super) { name = "err"; } //在右边 - else if (this.path_Array[order].x == this.map_Array.length - 1) { + else if (road[order].x == this.map_Array.length - 1) { if (nextX == 0) { if (nextY == 1) name = "left_up"; @@ -409,18 +604,25 @@ var GameManager = /** @class */ (function (_super) { //不是第一步,已经走过一步 else if (order > 0) { var next = 1; - if (order + 2 < this.path_Array.length) { - if (this.path_Array[order + 1].z == 6) + if (order + 2 < road.length) { + if (road[order + 1].z == 6) next = 2; } //用于判断此点的上一个点,是为了判断当前方块洪水七点,以及下一个移动方向,判断洪终点方向 - var nextX = this.path_Array[order + next].x - this.path_Array[order].x; - var nextY = this.path_Array[order].y - this.path_Array[order + next].y; - var previousX = this.path_Array[order].x - this.path_Array[order - 1].x; - var previousY = this.path_Array[order - 1].y - this.path_Array[order].y; + 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) { - previousX = this.path_Array[order].x - this.path_Array[order - 2].x; - previousY = this.path_Array[order - 2].y - this.path_Array[order].y; + 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) { @@ -477,6 +679,10 @@ var GameManager = /** @class */ (function (_super) { GameManager.prototype.fit = function () { var jg = this.setFit(); if (!jg) { + this.Map.scale = 1.2; + } + else { + this.Map.scale = 1; } }; //判断全面屏 @@ -524,11 +730,27 @@ var GameManager = /** @class */ (function (_super) { GameManager.prototype.startGame = function (data) { this.setMap(data); }; + 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.plan_over = true; + setTimeout(function () { + _this.runWater(0); + }, 500); + } + } + } + }; //如果是倒计时 调用此方法 GameManager.prototype.updateCountDownTime = function () { if (this.countTime > 0) { this.countTime -= 1; - // this.time.string = cc.fx.GameTool.getTimeMargin(this.countTime); + this.Time.string = cc.fx.GameTool.getTimeMargin(this.countTime); if (this.countTime < 5) { var over = this.node.getChildByName("Over"); cc.tween(over) @@ -564,21 +786,27 @@ var GameManager = /** @class */ (function (_super) { }; GameManager.prototype.clickSun = function (data) { }; + GameManager.prototype.addEnd = function (data) { + }; GameManager.prototype.nextWater = function () { }; GameManager.prototype.onEnable = function () { cc.fx.Notifications.on(cc.fx.Message.control, this.clickSun, this); - cc.fx.Notifications.on(cc.fx.Message.next, this.runWater, 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.changeMap, this.changeMap, this); + cc.fx.Notifications.on(cc.fx.Message.addEnd, this.addEnd, this); }; GameManager.prototype.onDisable = function () { cc.fx.Notifications.off(cc.fx.Message.control, this.clickSun); - cc.fx.Notifications.off(cc.fx.Message.next, this.runWater); + 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.changeMap, this.changeMap); + cc.fx.Notifications.off(cc.fx.Message.addEnd, this.addEnd); }; GameManager.prototype.update = function (dt) { }; @@ -588,6 +816,12 @@ var GameManager = /** @class */ (function (_super) { __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); GameManager = __decorate([ ccclass ], GameManager); diff --git a/temp/quick-scripts/src/assets/Script/GameManager.js.map b/temp/quick-scripts/src/assets/Script/GameManager.js.map index b8f7979..f823798 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 countTime: number; //总倒计时\r\n block_Array: any; //所有块数组\r\n path_Array: any; //修筑路径\r\n map_Array: any; //地图数组\r\n water_PathAray:any; //洪峰路径\r\n map_Hight:number; //地图高度\r\n map_Width:number; //地图宽度\r\n\r\n onLoad () {\r\n\r\n }\r\n start () {\r\n this.fit();\r\n this.init();\r\n }\r\n //初始化数据\r\n init(){\r\n this.initMap();\r\n\r\n }\r\n //初始化地图\r\n initMap(){\r\n this.block_Array = [];\r\n this.path_Array = [];\r\n this.map_Array = [];\r\n this.map_Hight = 0;\r\n this.map_Width = 0;\r\n let arr = cc.fx.GameConfig.LEVEL_INFO[0][0].map;\r\n //将地图x,y轴切换\r\n\r\n this.map_Array = arr[0].map((item, 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 for(let i=0;i 0 && order < this.path_Array.length-1){\r\n if(this.path_Array[order+1].z == 5){\r\n this.set_Soil(order+1);\r\n circulate = false;\r\n return;\r\n }\r\n }\r\n let data = {\r\n order:order,\r\n time:0.2,\r\n type:this.path_Array[order].z,\r\n circulate:circulate\r\n };\r\n target.runWater(data);\r\n }\r\n }\r\n //获取息壤的格子的方向\r\n getXi_Soil(order){\r\n var direction = null;\r\n //如果息壤后面还有下一步的话\r\n if(order + 1 < this.path_Array.length){\r\n direction = this.getDirection(order);\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){\r\n var direction = this.getXi_Soil(order);\r\n var length = 0;\r\n if(direction == \"right\"){\r\n length = this.map_Width - this.path_Array[order].x;\r\n for(let i=this.path_Array[order].x;i=0;i--){\r\n let n = i*this.map_Array[0].length+this.path_Array[order].y;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(target.block_Type == 3){\r\n length = this.path_Array[order].x - i;\r\n i = -1;\r\n break;\r\n }\r\n }\r\n } \r\n else if(direction == \"up\"){\r\n length = this.path_Array[order].y + 1;\r\n for(let i=this.path_Array[order].y;i>=0;i--){\r\n let n = this.path_Array[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){\r\n length = i - this.path_Array[order].y;\r\n i = 10000;\r\n break;\r\n }\r\n }\r\n } \r\n else if(direction == \"down\"){\r\n length = this.map_Hight - this.path_Array[order].y;\r\n for(let i=this.path_Array[order].y;i=0; i--){\r\n let n = i*this.map_Array[0].length+this.path_Array[order].y;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n\r\n if(i == start) target.set_Xi_SoilType(this.getDirection(order),null);\r\n else {\r\n let jg = null;\r\n if(i == 0){\r\n let number = i - start + 1;\r\n this.changePath(order,number,false);\r\n jg = order;\r\n } \r\n target.set_Xi_SoilType(direction,jg);\r\n }\r\n }\r\n } \r\n else if(direction == \"up\"){\r\n start = this.path_Array[order].y;\r\n for(let i = start; i>=0; i--){\r\n let n = this.path_Array[order].x*this.map_Array[0].length+i;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(i == start) target.set_Xi_SoilType(this.getDirection(order),null);\r\n else {\r\n let jg = null;\r\n if(i == 0){\r\n let number = i - start + 1;\r\n this.changePath(order,number,true);\r\n jg = order;\r\n } \r\n target.set_Xi_SoilType(direction,jg);\r\n }\r\n }\r\n } \r\n else if(direction == \"down\"){\r\n start = this.path_Array[order].y;\r\n for(let i = start; i 0){\r\n var next = 1;\r\n if(order+2 < this.path_Array.length){\r\n if(this.path_Array[order+1].z == 6) next = 2;\r\n }\r\n \r\n //用于判断此点的上一个点,是为了判断当前方块洪水七点,以及下一个移动方向,判断洪终点方向\r\n let nextX = this.path_Array[order+next].x - this.path_Array[order].x;\r\n let nextY = this.path_Array[order].y - this.path_Array[order+next].y\r\n let previousX = this.path_Array[order].x - this.path_Array[order-1].x;\r\n let previousY = this.path_Array[order-1].y - this.path_Array[order].y;\r\n if(previousX == 0 && previousY == 0){\r\n previousX = this.path_Array[order].x - this.path_Array[order-2].x;\r\n previousY = this.path_Array[order-2].y - this.path_Array[order].y;\r\n // if(this.path_Array[order].z == 6) name = \"Reinforce\";\r\n // else if(this.path_Array[order].z == 5) name = \"Xi_Soil\";\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\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 //下一关,或者重新开始,或者返回上一关,根据level决定\r\n reStart(type){\r\n\r\n }\r\n //获取时间戳\r\n getTime(){\r\n const timestamp = new Date().getTime();\r\n return timestamp;\r\n }\r\n //获胜\r\n passLevel(){\r\n\r\n }\r\n //失败\r\n loseLevel(type){\r\n //1: 1649\r\n //2: 3646\r\n //3: 5546\r\n //4: 2600\r\n //5: 694\r\n }\r\n\r\n //开始游戏\r\n startGame(data){\r\n this.setMap(data);\r\n }\r\n\r\n\r\n //如果是倒计时 调用此方法\r\n updateCountDownTime () {\r\n if (this.countTime > 0) {\r\n this.countTime -= 1;\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.unschedule(this.updateCountDownTime);\r\n var time = 0;\r\n this.gameOver(time); \r\n }\r\n }\r\n }\r\n //上传每次操作数据\r\n\r\n setData(){\r\n cc.fx.GameTool.setGameData();\r\n \r\n }\r\n //上传排行榜数据\r\n gameOver(time){\r\n cc.fx.GameTool.setRank(time);\r\n this.node.getChildByName(\"GameOver\").active = true;\r\n this.node.getChildByName(\"GameOver\").opacity = 0;\r\n cc.tween(this.node.getChildByName(\"GameOver\"))\r\n .to(0.4,{opacity:255})\r\n .delay(2)\r\n .to(0.4,{opacity:50})\r\n .call(() =>{\r\n cc.director.loadScene(\"OverScene\");\r\n })\r\n .start()\r\n }\r\n\r\n clickSun(data){\r\n \r\n }\r\n\r\n nextWater(){\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.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.changeMap, this.changeMap, 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.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.changeMap, this.changeMap);\r\n }\r\n update (dt) {\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 countTime: number; //总倒计时\r\n waterTime: 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 map_Hight:number; //地图高度\r\n map_Width:number; //地图宽度\r\n plan_over:boolean; //是否修建完\r\n waterTween:cc.Tween; //河水倒计时动画\r\n\r\n onLoad () {\r\n\r\n }\r\n start () {\r\n this.fit();\r\n this.init();\r\n }\r\n //初始化数据\r\n init(){\r\n this.initMap(); \r\n this.countTime = cc.fx.GameConfig.TIME_INFO.totalTime;\r\n this.waterTime = cc.fx.GameConfig.TIME_INFO.waterTime[cc.fx.GameConfig.GM_INFO.level];\r\n \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\r\n head.runAction(cc.moveTo(this.waterTime,cc.v2(310,head.y)));\r\n this.waterTween = cc.tween(progress)\r\n .to(this.waterTime,{fillRange:1})\r\n .start();\r\n\r\n this.schedule(this.updateWaterTime,1);\r\n this.schedule(this.updateCountDownTime,1);\r\n\r\n\r\n }\r\n //初始化地图`\r\n initMap(){\r\n this.block_Array = [];\r\n this.path_Array = [];\r\n this.water_Array = [];\r\n this.map_Array = [];\r\n this.plan_over = false;\r\n this.map_Hight = 0;\r\n this.map_Width = 0;\r\n let number = 10; //9\r\n number = Math.floor(Math.random()* cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level].length);\r\n // number = 1;\r\n let arr = cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][number].map;\r\n debugger;\r\n this.node.getChildByName(\"Top\").getChildByName(\"id\").getComponent(cc.Label).string = \r\n cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][number].id;\r\n //将地图x,y轴切换\r\n\r\n this.map_Array = arr[0].map((item, 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 // console.log(this.water_Array);\r\n // debugger;\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 // console.log(this.water_Array);\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 setTimeout(() => {\r\n if(!this.plan_over){\r\n console.log(\"准备出水\");\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 this.waterTween.stop();\r\n progress.fillRange = 1;\r\n this.runWater(0); \r\n }\r\n }, 500);\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){\r\n direction = \"Reinforce\";\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 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 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\" && 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 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 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 }\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 }\r\n else if(target.block_Type == 2 && direction != \"Reinforce\"){\r\n jg = false;\r\n console.log(\"修筑未加固湿地,游戏结束\");\r\n alert(\"修筑未加固湿地,游戏结束\");\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 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) {\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 // console.log(order,this.path_Array[order].x,this.path_Array[order].y,i);\r\n let jg = this.getBoundary(order,this.water_Array[order].x,this.water_Array[order].y,direction,this.water_Array);\r\n console.log(\"步骤:\",order,\"方向\",direction);\r\n if(direction == \"\" || jg == 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.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 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 };\r\n target.runWater(data);\r\n }\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 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 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\r\n target.set_Xi_SoilType(direction,jg,name);\r\n \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\r\n if(i == start){\r\n 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 \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 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 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 changeMap(data){\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 //下一关,或者重新开始,或者返回上一关,根据level决定\r\n reStart(type){\r\n\r\n }\r\n //获取时间戳\r\n getTime(){\r\n const timestamp = new Date().getTime();\r\n return timestamp;\r\n }\r\n //获胜\r\n passLevel(){\r\n\r\n }\r\n //失败\r\n loseLevel(type){\r\n //1: 1649\r\n //2: 3646\r\n //3: 5546\r\n //4: 2600\r\n //5: 694\r\n }\r\n\r\n //开始游戏\r\n startGame(data){\r\n this.setMap(data);\r\n }\r\n\r\n updateWaterTime(){\r\n if (this.waterTime > 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.plan_over = true;\r\n setTimeout(() => {\r\n this.runWater(0); \r\n }, 500);\r\n \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 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.unschedule(this.updateCountDownTime);\r\n var time = 0;\r\n this.gameOver(time); \r\n }\r\n }\r\n }\r\n //上传每次操作数据\r\n\r\n setData(){\r\n cc.fx.GameTool.setGameData();\r\n \r\n }\r\n //上传排行榜数据\r\n gameOver(time){\r\n cc.fx.GameTool.setRank(time);\r\n this.node.getChildByName(\"GameOver\").active = true;\r\n this.node.getChildByName(\"GameOver\").opacity = 0;\r\n cc.tween(this.node.getChildByName(\"GameOver\"))\r\n .to(0.4,{opacity:255})\r\n .delay(2)\r\n .to(0.4,{opacity:50})\r\n .call(() =>{\r\n cc.director.loadScene(\"OverScene\");\r\n })\r\n .start()\r\n }\r\n\r\n clickSun(data){\r\n \r\n }\r\n\r\n addEnd(data){\r\n \r\n }\r\n\r\n nextWater(){\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.changeMap, this.changeMap, this);\r\n cc.fx.Notifications.on(cc.fx.Message.addEnd, this.addEnd, this);\r\n \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.changeMap, this.changeMap);\r\n cc.fx.Notifications.off(cc.fx.Message.addEnd, this.addEnd);\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/module/Config/GameConfig.js b/temp/quick-scripts/src/assets/Script/module/Config/GameConfig.js index 2977159..512ed7b 100644 --- a/temp/quick-scripts/src/assets/Script/module/Config/GameConfig.js +++ b/temp/quick-scripts/src/assets/Script/module/Config/GameConfig.js @@ -166,112 +166,49 @@ var GameConfig = /** @class */ (function () { 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, 4], - [0, 0, 0, 0, 0, 0], - [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], - [0, 1, 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] - ] - }, - { - "id": 1003, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - }, - { - "id": 1004, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - }, - { - "id": 1005, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - }, - { - "id": 1006, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - }, - { - "id": 1007, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - }, - { - "id": 1008, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - }, - { - "id": 1009, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - }, - { - "id": 1010, - "map": [ - [1, 0, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 1], - [1, 1, 1, 6] - ] - } - ], - ]; + // 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": 4 }, { "id": "1002", "map": [[1, 0, 0, 0], [0, 0, 0, 4], [0, 0, 0, 0], [0, 0, 0, 0]], "min_steps": 4 }, { "id": "1003", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 4]], "min_steps": 6 }, { "id": "1004", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 4, 0, 0]], "min_steps": 4 }, { "id": "1005", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 4], [0, 0, 0, 0]], "min_steps": 5 }, { "id": "1006", "map": [[4, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 1, 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": 5 }, { "id": "1008", "map": [[0, 0, 0, 4], [0, 0, 0, 0], [0, 0, 0, 0], [1, 0, 0, 0]], "min_steps": 6 }], [{ "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": 8 }, { "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": 8 }, { "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": 7 }, { "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, 3, 4]], "min_steps": 8 }, { "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": 7 }, { "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": 8 }, { "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": 7 }], [{ "id": "3001", "map": [[0, 0, 2, 0, 2, 4], [0, 2, 0, 0, 0, 0], [0, 0, 2, 0, 0, 0], [1, 2, 2, 0, 0, 0], [0, 0, 0, 0, 2, 0], [0, 2, 2, 0, 0, 2]], "min_steps": 4 }, { "id": "3002", "map": [[0, 2, 0, 0, 2, 0], [0, 0, 0, 0, 0, 0], [0, 2, 0, 0, 2, 1], [0, 2, 0, 0, 0, 0], [0, 0, 0, 0, 0, 2], [2, 0, 2, 4, 2, 2]], "min_steps": 4 }], [{ "id": "4001", "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": "4002", "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": "4003", "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": "4004", "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": "4005", "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": "4006", "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": "4007", "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": "4008", "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": "4009", "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": "4010", "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": "5001", "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": "5002", "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": "5003", "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": "5004", "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": "5005", "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": "5006", "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": "5007", "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": "5008", "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": "5009", "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": "5010", "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": "5011", "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": "5012", "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": "5013", "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": "5014", "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": "5015", "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": "5016", "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": "5017", "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": "5018", "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": "6001", "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": "6002", "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": "6003", "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": "6004", "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": "6005", "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": "6006", "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": "6007", "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": "6008", "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": "6009", "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": "6010", "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": "6011", "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": "6012", "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": "6013", "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": "6014", "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": "6015", "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": "6016", "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": "6017", "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": "6018", "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": "6019", "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": "6020", "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": "7001", "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": "7002", "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": "7003", "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": "7004", "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": "7005", "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": "7006", "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": "7007", "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": "7008", "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": "7009", "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": "7010", "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": "7011", "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": "7012", "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": "7013", "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": "7014", "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": "7015", "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": "7016", "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": "7017", "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": "7018", "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": "7019", "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": "7020", "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": "7021", "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": "8001", "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": "8002", "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": "8003", "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": "8004", "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": "8005", "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": "8006", "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": "8007", "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": "8008", "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": "8009", "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": "8010", "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": "8011", "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": "8012", "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": "8013", "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": "8014", "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": "8015", "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": "8016", "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": "8017", "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": "8018", "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": "8019", "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": "8020", "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": "8021", "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": "8022", "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": "8023", "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": "8024", "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": "8025", "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": "8026", "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": "8027", "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": "8028", "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": "8029", "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": "8030", "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": "8031", "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": "8032", "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": "8033", "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": "8034", "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": "8035", "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": "8036", "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": "8037", "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": "8038", "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": "8039", "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": "8040", "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": "8041", "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 }]]; }; GameConfig.Authentication = function () { cc.fx.GameTool.Authentication(); 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 78155c6..da2a9e3 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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","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 CLICK_DATA: {\r\n type: number; //上传数据类型\r\n success: boolean; //此局游戏正确与否\r\n round: number; //回合数\r\n choice: number; //玩家选择,0:时间截止前未做选择,1,2,3:三个按钮从上到下依次对应\r\n rightChoice: number; //本轮的按正确答案,含义与choice相同\r\n item: string; //此关展示的物品\r\n roundType: number; //展示方式。1:图像 2:音频\r\n stepTime: number; //玩家每一关用时毫秒数 音频关卡从播放结束开始计时\r\n levelConfig: number; //使用的是哪一套关卡配置\r\n ignite: boolean; //玩家此轮有没有点火\r\n igniteCount: number; //玩家总计成功点火数\r\n };\r\n static GAME_DATA: any[];\r\n //关卡数据\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 level: number; //具体游戏内进行到第几步 \r\n stepTimeList: number; //整局游戏用时,由于涉及场景切换,数据需要保留\r\n successList: any[]; //整局胜负\r\n gameTime: number; //单次游戏倒计时时间\r\n igniteCount: number; //玩家总计成功点火数\r\n \r\n };\r\n static LEVEL_INFO: { id: number; map: number[][]; }[][];\r\n static CUSTOM_INFO: {\r\n moveSpeed: number; //洪峰移动速度\r\n waitTime: number; //洪峰冲击倒计时\r\n fastPath: number; //最短路径\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 }\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: \"100010\", //游戏ID\r\n userId: 200139, //用户ID\r\n guide: true, //是否有引导\r\n url: \"https://api.sparkus.cn\",//访问域名\r\n success: false, //用户游戏成功与否\r\n matchId: null, //用于埋点上传的ID\r\n custom: 0, //用于测试跳关卡\r\n level: 0, //具体游戏内进行到第几步 \r\n stepTimeList:0, //整局游戏用时,由于涉及场景切换,数据需要保留\r\n successList:[], //整局胜负\r\n gameTime:5,\r\n igniteCount: 0, //玩家总计成功点火数\r\n };\r\n\r\n }\r\n static GM_INFO_SET(key,value) {\r\n\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 choice: 0, //玩家选择,0:时间截止前未做选择,1,2,3:三个按钮从上到下依次对应\r\n rightChoice: 0, //本轮的按正确答案,含义与choice相同\r\n item: \"\", //此关展示的物品\r\n roundType: 0, //展示方式。1:图像 2:音频\r\n stepTime: 0, //玩家每一关用时毫秒数 音频关卡从播放结束开始计时\r\n levelConfig: 0, //使用的是哪一套关卡配置\r\n ignite: false, //玩家此轮有没有点火\r\n igniteCount: 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 /*\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,4],\r\n [0,0,0,0,0,0],\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 [0,1,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 \"id\": 1003,\r\n \"map\": [\r\n [1,0,1,1],\r\n [1,1,1,1],\r\n [1,1,1,1],\r\n [1,1,1,6]\r\n ]\r\n },\r\n {\r\n \"id\": 1004,\r\n \"map\": [\r\n [1,0,1,1],\r\n [1,1,1,1],\r\n [1,1,1,1],\r\n [1,1,1,6]\r\n ]\r\n },\r\n {\r\n \"id\": 1005,\r\n \"map\": [\r\n [1,0,1,1],\r\n [1,1,1,1],\r\n [1,1,1,1],\r\n [1,1,1,6]\r\n ]\r\n },\r\n {\r\n \"id\": 1006,\r\n \"map\": [\r\n [1,0,1,1],\r\n [1,1,1,1],\r\n [1,1,1,1],\r\n [1,1,1,6]\r\n ]\r\n },\r\n {\r\n \"id\": 1007,\r\n \"map\": [\r\n [1,0,1,1],\r\n [1,1,1,1],\r\n [1,1,1,1],\r\n [1,1,1,6]\r\n ]\r\n },\r\n {\r\n \"id\": 1008,\r\n \"map\": [\r\n [1,0,1,1],\r\n [1,1,1,1],\r\n [1,1,1,1],\r\n [1,1,1,6]\r\n ]\r\n },\r\n {\r\n \"id\": 1009,\r\n \"map\": [\r\n [1,0,1,1],\r\n [1,1,1,1],\r\n [1,1,1,1],\r\n [1,1,1,6]\r\n ]\r\n },\r\n {\r\n \"id\": 1010,\r\n \"map\": [\r\n [1,0,1,1],\r\n [1,1,1,1],\r\n [1,1,1,1],\r\n [1,1,1,6]\r\n ]\r\n } \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":";;;;;;;;;;;;;AAIM,IAAA,KAAwB,EAAE,CAAC,UAAU,EAAnC,OAAO,aAAA,EAAE,QAAQ,cAAkB,CAAC;AAE5C;IAAA;IA8QA,CAAC;mBA9QY,UAAU;IA2DnB,sBAAW,sBAAQ;QAJnB,OAAO;aAIP;YAEI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAC1B;gBACI,IAAI,CAAC,SAAS,GAAG,IAAI,YAAU,EAAE,CAAC;aACrC;YACD,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1B,CAAC;;;OAAA;IACD,eAAe;IACR,eAAI,GAAX,UAAY,cAAc;QACtB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,0EAA0E;QAC1E,iBAAiB;QACjB,kBAAkB;QAClB,QAAQ;QACR,wCAAwC;QACxC,0CAA0C;QAC1C,KAAK;QACL,0EAA0E;QAC1E,iBAAiB;QACjB,kBAAkB;QAClB,QAAQ;QAER,wCAAwC;QACxC,0CAA0C;QAC1C,KAAK;QACL,uEAAuE;QACvE,iBAAiB;QACjB,qDAAqD;QACrD,kBAAkB;QAClB,QAAQ;QAER,wCAAwC;QACxC,uCAAuC;QACvC,uCAAuC;QACvC,iDAAiD;QACjD,KAAK;QAEL,mCAAmC;QACnC,IAAI,CAAC,SAAS,GAAG,EAChB,CAAA;QACD,IAAI,CAAC,WAAW,GAAG;YACf,MAAM;YACN;gBACI,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC,CAAG,MAAM;aACvB;YACD,MAAM;YACN;gBACI,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC,CAAG,MAAM;aACvB;YACD,MAAM;YACN;gBACI,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC,CAAG,MAAM;aACvB;YACD,MAAM;YACN;gBACI,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC,CAAG,MAAM;aACvB;YACD,MAAM;YACN;gBACI,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC,CAAG,MAAM;aACvB;YACA,MAAM;YACP;gBACI,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC,CAAG,MAAM;aACvB;YACD,gBAAgB;YAChB;gBACI,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC,CAAG,MAAM;aACvB;YACD,MAAM;YACN;gBACI,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC,CAAG,MAAM;aACvB;YACD,MAAM;YACN;gBACI,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC,CAAG,MAAM;aACvB;YACD,MAAM;YACN;gBACI,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC,CAAG,MAAM;aACvB;SACJ,CAAA;IACL,CAAC;IAED,MAAM;IACC,uBAAY,GAAnB;QACI,IAAI,CAAC,OAAO,GAAG;YACX,gBAAgB;YAChB,SAAS,EAAE,CAAC;YACZ,KAAK,EAAE,CAAC;YACR,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,IAAI;YACX,GAAG,EAAE,wBAAwB;YAC7B,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC;YACR,YAAY,EAAC,CAAC;YACd,WAAW,EAAC,EAAE;YACd,QAAQ,EAAC,CAAC;YACV,WAAW,EAAE,CAAC;SACjB,CAAC;IAEN,CAAC;IACM,sBAAW,GAAlB,UAAmB,GAAG,EAAC,KAAK;QAExB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC9B,CAAC;IACM,qBAAU,GAAjB;QACI,IAAI,CAAC,UAAU;YACf;gBACI,IAAI,EAAE,CAAC;gBACP,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,CAAC;gBACT,WAAW,EAAE,CAAC;gBACd,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,CAAC;gBACX,WAAW,EAAE,CAAC;gBACd,MAAM,EAAE,KAAK;gBACb,WAAW,EAAE,CAAC;aACjB,CAAA;IACL,CAAC;IAEM,oBAAS,GAAhB,UAAiB,GAAG,EAAC,KAAK;QACtB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACjC,CAAC;IAEM,0BAAe,GAAtB;QACI,IAAI,CAAC,SAAS,GAAG;YACb,UAAU,EAAC,CAAC,GAAG,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,CAAC;YACjD,SAAS,EAAC,GAAG;YACb,SAAS,EAAC,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC;YACnC,SAAS,EAAC,GAAG;YACb,cAAc,EAAC,GAAG;YAClB,YAAY,EAAC,GAAG;SACnB,CAAA;QACD;;;;UAIE;QACF,sBAAsB;QACtB,SAAS;QACT,YAAY;QACZ,0BAA0B;QAC1B,uBAAuB;QACvB,iCAAiC;QACjC,iCAAiC;QACjC,iCAAiC;QACjC,iCAAiC;QACjC,iCAAiC;QACjC,iCAAiC;QACjC,iCAAiC;QACjC,iCAAiC;QACjC,gCAAgC;QAChC,gBAAgB;QAChB,aAAa;QACb,YAAY;QACZ,0BAA0B;QAC1B,uBAAuB;QACvB,uCAAuC;QACvC,uCAAuC;QACvC,uCAAuC;QACvC,uCAAuC;QACvC,uCAAuC;QACvC,sCAAsC;QACtC,gBAAgB;QAChB,YAAY;QACZ,SAAS;QAGT,IAAI;QAEJ,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,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,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,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,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,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,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,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,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,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,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,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,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;IAIr2hB,CAAC;IAGM,yBAAc,GAArB;QACI,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;IACpC,CAAC;;IA5QD,0BAA0B;IACX,oBAAS,GAAgB,IAAI,CAAC;IAFpC,UAAU;QADtB,OAAO,CAAC,YAAY,CAAC;OACT,UAAU,CA8QtB;IAAD,iBAAC;CA9QD,AA8QC,IAAA;AA9QY,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 CLICK_DATA: {\r\n type: number; //上传数据类型\r\n success: boolean; //此局游戏正确与否\r\n round: number; //回合数\r\n choice: number; //玩家选择,0:时间截止前未做选择,1,2,3:三个按钮从上到下依次对应\r\n rightChoice: number; //本轮的按正确答案,含义与choice相同\r\n item: string; //此关展示的物品\r\n roundType: number; //展示方式。1:图像 2:音频\r\n stepTime: number; //玩家每一关用时毫秒数 音频关卡从播放结束开始计时\r\n levelConfig: number; //使用的是哪一套关卡配置\r\n ignite: boolean; //玩家此轮有没有点火\r\n igniteCount: number; //玩家总计成功点火数\r\n };\r\n static GAME_DATA: any[];\r\n //关卡数据\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 level: number; //具体游戏内进行到第几步 \r\n stepTimeList: number; //整局游戏用时,由于涉及场景切换,数据需要保留\r\n successList: any[]; //整局胜负\r\n gameTime: number; //单次游戏倒计时时间\r\n igniteCount: number; //玩家总计成功点火数\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\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 }\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: \"100010\", //游戏ID\r\n userId: 200139, //用户ID\r\n guide: true, //是否有引导\r\n url: \"https://api.sparkus.cn\",//访问域名\r\n success: false, //用户游戏成功与否\r\n matchId: null, //用于埋点上传的ID\r\n custom: 0, //用于测试跳关卡\r\n level: 0, //具体游戏内进行到第几步 \r\n stepTimeList:0, //整局游戏用时,由于涉及场景切换,数据需要保留\r\n successList:[], //整局胜负\r\n gameTime:5,\r\n igniteCount: 0, //玩家总计成功点火数\r\n };\r\n\r\n }\r\n static GM_INFO_SET(key,value) {\r\n\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 choice: 0, //玩家选择,0:时间截止前未做选择,1,2,3:三个按钮从上到下依次对应\r\n rightChoice: 0, //本轮的按正确答案,含义与choice相同\r\n item: \"\", //此关展示的物品\r\n roundType: 0, //展示方式。1:图像 2:音频\r\n stepTime: 0, //玩家每一关用时毫秒数 音频关卡从播放结束开始计时\r\n levelConfig: 0, //使用的是哪一套关卡配置\r\n ignite: false, //玩家此轮有没有点火\r\n igniteCount: 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\":4},{\"id\":\"1002\",\"map\":[[1,0,0,0],[0,0,0,4],[0,0,0,0],[0,0,0,0]],\"min_steps\":4},{\"id\":\"1003\",\"map\":[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,4]],\"min_steps\":6},{\"id\":\"1004\",\"map\":[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,4,0,0]],\"min_steps\":4},{\"id\":\"1005\",\"map\":[[1,0,0,0],[0,0,0,0],[0,0,0,4],[0,0,0,0]],\"min_steps\":5},{\"id\":\"1006\",\"map\":[[4,0,0,0],[0,0,0,0],[0,0,0,0],[0,1,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\":5},{\"id\":\"1008\",\"map\":[[0,0,0,4],[0,0,0,0],[0,0,0,0],[1,0,0,0]],\"min_steps\":6}],[{\"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\":8},{\"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\":8},{\"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\":7},{\"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,3,4]],\"min_steps\":8},{\"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\":7},{\"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\":8},{\"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\":7}],[{\"id\":\"3001\",\"map\":[[0,0,2,0,2,4],[0,2,0,0,0,0],[0,0,2,0,0,0],[1,2,2,0,0,0],[0,0,0,0,2,0],[0,2,2,0,0,2]],\"min_steps\":4},{\"id\":\"3002\",\"map\":[[0,2,0,0,2,0],[0,0,0,0,0,0],[0,2,0,0,2,1],[0,2,0,0,0,0],[0,0,0,0,0,2],[2,0,2,4,2,2]],\"min_steps\":4}],[{\"id\":\"4001\",\"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\":\"4002\",\"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\":\"4003\",\"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\":\"4004\",\"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\":\"4005\",\"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\":\"4006\",\"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\":\"4007\",\"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\":\"4008\",\"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\":\"4009\",\"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\":\"4010\",\"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\":\"5001\",\"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\":\"5002\",\"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\":\"5003\",\"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\":\"5004\",\"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\":\"5005\",\"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\":\"5006\",\"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\":\"5007\",\"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\":\"5008\",\"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\":\"5009\",\"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\":\"5010\",\"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\":\"5011\",\"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\":\"5012\",\"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\":\"5013\",\"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\":\"5014\",\"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\":\"5015\",\"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\":\"5016\",\"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\":\"5017\",\"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\":\"5018\",\"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\":\"6001\",\"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\":\"6002\",\"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\":\"6003\",\"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\":\"6004\",\"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\":\"6005\",\"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\":\"6006\",\"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\":\"6007\",\"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\":\"6008\",\"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\":\"6009\",\"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\":\"6010\",\"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\":\"6011\",\"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\":\"6012\",\"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\":\"6013\",\"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\":\"6014\",\"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\":\"6015\",\"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\":\"6016\",\"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\":\"6017\",\"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\":\"6018\",\"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\":\"6019\",\"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\":\"6020\",\"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\":\"7001\",\"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\":\"7002\",\"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\":\"7003\",\"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\":\"7004\",\"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\":\"7005\",\"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\":\"7006\",\"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\":\"7007\",\"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\":\"7008\",\"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\":\"7009\",\"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\":\"7010\",\"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\":\"7011\",\"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\":\"7012\",\"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\":\"7013\",\"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\":\"7014\",\"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\":\"7015\",\"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\":\"7016\",\"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\":\"7017\",\"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\":\"7018\",\"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\":\"7019\",\"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\":\"7020\",\"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\":\"7021\",\"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\":\"8001\",\"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\":\"8002\",\"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\":\"8003\",\"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\":\"8004\",\"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\":\"8005\",\"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\":\"8006\",\"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\":\"8007\",\"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\":\"8008\",\"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\":\"8009\",\"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\":\"8010\",\"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\":\"8011\",\"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\":\"8012\",\"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\":\"8013\",\"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\":\"8014\",\"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\":\"8015\",\"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\":\"8016\",\"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\":\"8017\",\"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\":\"8018\",\"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\":\"8019\",\"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\":\"8020\",\"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\":\"8021\",\"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\":\"8022\",\"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\":\"8023\",\"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\":\"8024\",\"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\":\"8025\",\"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\":\"8026\",\"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\":\"8027\",\"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\":\"8028\",\"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\":\"8029\",\"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\":\"8030\",\"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\":\"8031\",\"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\":\"8032\",\"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\":\"8033\",\"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\":\"8034\",\"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\":\"8035\",\"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\":\"8036\",\"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\":\"8037\",\"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\":\"8038\",\"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\":\"8039\",\"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\":\"8040\",\"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\":\"8041\",\"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}]]\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/Crypto/HttpUtil.js b/temp/quick-scripts/src/assets/Script/module/Crypto/HttpUtil.js index d8487ec..f600c08 100644 --- a/temp/quick-scripts/src/assets/Script/module/Crypto/HttpUtil.js +++ b/temp/quick-scripts/src/assets/Script/module/Crypto/HttpUtil.js @@ -207,8 +207,8 @@ function responseHandler(response) { // 响应拦截器 // Rq.interceptors.response.use(responseHandler) var config = { - gameId: "100010", - secretKey: "wozrGKsL", + gameId: "100012", + secretKey: "onnfPKJW", EK: "hui231%1" }; var Crypoto = /** @class */ (function () { diff --git a/temp/quick-scripts/src/assets/Script/module/Crypto/HttpUtil.js.map b/temp/quick-scripts/src/assets/Script/module/Crypto/HttpUtil.js.map index a99e184..9d45d7e 100644 --- a/temp/quick-scripts/src/assets/Script/module/Crypto/HttpUtil.js.map +++ b/temp/quick-scripts/src/assets/Script/module/Crypto/HttpUtil.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\module\\Crypto\\HttpUtil.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\r\nconst {ccclass, property} = cc._decorator;\r\nimport CryptoJS = require('./crypto-js.min.js'); //引用AES源码js\r\n\r\nconst BASE_URL = \"https://api.sparkus.cn\";\r\n//只负责网络接口 次类只负责和后端交互,不负责处理数据 数据处理在GameTool\r\n@ccclass\r\nexport default class HttpUtil extends cc.Component {\r\n static async getShareInfo(shareUrl: string): Promise {\r\n console.log(\"设置分享链接:\",shareUrl);\r\n const time = Math.floor((new Date().getTime()) / 1000)\r\n const url = HttpUtil.apiSign(`/api/share/cfg?gameId=${config.gameId}&time=${time}&url=${shareUrl}`,{})\r\n return this.post(url,null,null);\r\n }\r\n //排行榜\r\n static async rankData(type,callback,data): Promise {\r\n const time = Math.floor((new Date().getTime()) / 1000)\r\n const url = HttpUtil.apiSign(`/api/get/rank/data?gameId=${config.gameId}&dataType=${type}&time=${time}`, data)\r\n this.post(url,data,callback);\r\n }\r\n \r\n static async uploadUserLogData(data,callback): Promise {\r\n const url = '/log/collect/data';\r\n this.post(url,data,callback);\r\n }\r\n //暂时用不到\r\n static async getUserRecord(data,callback): Promise {\r\n const time = Math.floor((new Date().getTime()) / 1000)\r\n const url = HttpUtil.apiSign(`/api/get/user/data?gameId=${config.gameId}&time=${time}`, data)\r\n this.post(url,data,callback);\r\n }\r\n static async post(url, data, callback) {\r\n const response = await this.fetchData(url, data, 'POST');\r\n callback && callback(response);\r\n }\r\n\r\n static async get(url, callback) {\r\n const response = await this.fetchData(url, null, 'GET');\r\n callback && callback(response);\r\n }\r\n\r\n static async fetchData(url, data, method) {\r\n const fullUrl = `${BASE_URL}${url}`;\r\n const headers = { 'Content-Type': 'application/json' };\r\n const options = {\r\n method,\r\n headers,\r\n body: data ? JSON.stringify(data) : null,\r\n };\r\n\r\n try {\r\n const response = await fetch(fullUrl, options);\r\n if (!response.ok) {\r\n throw new Error(`HTTP error! status: ${response.status}`);\r\n }\r\n return await response.json();\r\n } catch (error) {\r\n console.error('Fetch error:', error);\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * @param url {string} 接口地址\r\n * @param params {object} 需要加密的参数对象\r\n */\r\n static apiSign(url: string, params = {}) {\r\n\r\n let convertUrl = url.trim()\r\n if (convertUrl.indexOf('?') === -1) {\r\n convertUrl += '?'\r\n }\r\n \r\n // 传入参数转换拼接字符串\r\n let postStr = getQueryString(params)\r\n \r\n const signedStr = genSignStr(convertUrl, postStr)\r\n const encryptStr = `sign=${signedStr}`\r\n\r\n let encryptSignStr = fxCry.encryptByDES(encryptStr, config.secretKey)\r\n encryptSignStr = encodeURIComponent(encryptSignStr)\r\n\r\n return `${urlencode(convertUrl)}&_p=${encryptSignStr}`\r\n }\r\n}\r\n\r\nfunction responseHandler(response: { data: any }) {\r\n return response.data\r\n}\r\n// 响应拦截器\r\n// Rq.interceptors.response.use(responseHandler)\r\nconst config = {\r\n gameId: \"100010\",\r\n secretKey: \"wozrGKsL\",\r\n EK:\"hui231%1\"\r\n};\r\n\r\ninterface CrypotoType {\r\n encryptByDES: any\r\n decryptByDES: any\r\n hmacSha256: any\r\n}\r\n \r\nclass Crypoto implements CrypotoType {\r\n // 加密的向明值,自己根据项目实际情况定,需要跟后端开发保持一致\r\n private keyHex = this.getHetKey()\r\n private getHetKey() {\r\n return CryptoJS.enc.Utf8.parse(config.EK);\r\n }\r\n\r\n /** DES加密 */\r\n encryptByDES(message: string, secret?: string) {\r\n if(!message) {\r\n return message\r\n }\r\n const key = secret? CryptoJS.enc.Utf8.parse(secret): this.keyHex\r\n const encrypted = CryptoJS.DES.encrypt(message, key, {\r\n mode: CryptoJS.mode.ECB,\r\n padding: CryptoJS.pad.Pkcs7\r\n });\r\n return encrypted.toString()\r\n }\r\n\r\n /** DES解密 */\r\n decryptByDES(message: string, secret?: string) {\r\n const key = secret? CryptoJS.enc.Utf8.parse(secret): this.keyHex\r\n\r\n const decrypted = CryptoJS.DES.decrypt({\r\n ciphertext: CryptoJS.enc.Base64.parse(message)\r\n }, key, {\r\n mode: CryptoJS.mode.ECB,\r\n padding: CryptoJS.pad.Pkcs7\r\n })\r\n\r\n return decrypted.toString(CryptoJS.enc.Utf8)\r\n }\r\n\r\n /** hmacSHA256加密 */\r\n hmacSha256(message: string, secret?: string) {\r\n const keyHex = secret? CryptoJS.enc.Utf8.parse(secret): this.keyHex\r\n \r\n const hash = CryptoJS.HmacSHA256(message, keyHex);\r\n return hash.toString()\r\n }\r\n\r\n /** hmacSHA256验证 */\r\n verifyHmacSha256(message: string, signature: string) {\r\n const hash = CryptoJS.HmacSHA256(message, this.keyHex);\r\n return hash.toString() === signature\r\n }\r\n \r\n /** CBC加密 */\r\n encryptCBC(word: string) {\r\n if (!word) {\r\n return word;\r\n }\r\n const srcs = CryptoJS.enc.Utf8.parse(word);\r\n const encrypted = CryptoJS.AES.encrypt(srcs, this.keyHex, {\r\n iv: this.keyHex,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.ZeroPadding\r\n });\r\n return encrypted.toString(); \r\n }\r\n \r\n /** CBC解密 */\r\n decryptCBC(word: string) {\r\n if (!word) {\r\n return word;\r\n }\r\n const encryptedHexStr = CryptoJS.enc.Hex.parse(word);\r\n const srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);\r\n const decrypt = CryptoJS.AES.decrypt(srcs, this.keyHex, {\r\n iv: this.keyHex,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.ZeroPadding\r\n });\r\n const decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);\r\n return decryptedStr.toString();\r\n }\r\n}\r\nconst fxCry = new Crypoto();\r\n\r\nfunction isEmpty(data) {\r\n return data === \"\" || data === null || data === undefined || data.length === 0 || JSON.stringify(data) == \"{}\"\r\n}\r\n\r\nfunction getQueryString(obj) {\r\n // 首先对对象的键进行排序并过滤空值\r\n const sortedKeys = Object.keys(obj).sort();\r\n const sortedObj = {};\r\n for (let i = 0; i < sortedKeys.length; i++) {\r\n if (isEmpty(obj[sortedKeys[i]])) {\r\n continue;\r\n }\r\n sortedObj[sortedKeys[i]] = obj[sortedKeys[i]];\r\n }\r\n \r\n // 然后将排序后的对象转换为查询字符串\r\n const params = [];\r\n for (const key in sortedObj) {\r\n params.push(`${encodeURIComponent(key)}=${encodeURIComponent(sortedObj[key])}`);\r\n }\r\n return params.join('&');\r\n}\r\n\r\n\r\n/**\r\n * 组装签名字符串\r\n * @param string url: 请求地址 \r\n * @param string postStr: post参数的a=1&b=2 \r\n * @returns \r\n */\r\n\r\nfunction genSignStr(url: string, postStr: string): string {\r\n let lessUrl = url.replace('?', '')\r\n lessUrl = lessUrl + \"&\" + postStr\r\n return encodeURIComponent(fxCry.hmacSha256(lessUrl))\r\n}\r\n// 对参数进行统一urlencode\r\nfunction urlencode(url: string): string {\r\n const [baseUrl, queryString] = url.split(\"?\", 2);\r\n const params = new URLSearchParams(queryString);\r\n return `${baseUrl}?${params.toString()}`;\r\n}\r\n\r\n\r\n\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\module\\Crypto\\HttpUtil.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\r\nconst {ccclass, property} = cc._decorator;\r\nimport CryptoJS = require('./crypto-js.min.js'); //引用AES源码js\r\n\r\nconst BASE_URL = \"https://api.sparkus.cn\";\r\n//只负责网络接口 次类只负责和后端交互,不负责处理数据 数据处理在GameTool\r\n@ccclass\r\nexport default class HttpUtil extends cc.Component {\r\n static async getShareInfo(shareUrl: string): Promise {\r\n console.log(\"设置分享链接:\",shareUrl);\r\n const time = Math.floor((new Date().getTime()) / 1000)\r\n const url = HttpUtil.apiSign(`/api/share/cfg?gameId=${config.gameId}&time=${time}&url=${shareUrl}`,{})\r\n return this.post(url,null,null);\r\n }\r\n //排行榜\r\n static async rankData(type,callback,data): Promise {\r\n const time = Math.floor((new Date().getTime()) / 1000)\r\n const url = HttpUtil.apiSign(`/api/get/rank/data?gameId=${config.gameId}&dataType=${type}&time=${time}`, data)\r\n this.post(url,data,callback);\r\n }\r\n \r\n static async uploadUserLogData(data,callback): Promise {\r\n const url = '/log/collect/data';\r\n this.post(url,data,callback);\r\n }\r\n //暂时用不到\r\n static async getUserRecord(data,callback): Promise {\r\n const time = Math.floor((new Date().getTime()) / 1000)\r\n const url = HttpUtil.apiSign(`/api/get/user/data?gameId=${config.gameId}&time=${time}`, data)\r\n this.post(url,data,callback);\r\n }\r\n static async post(url, data, callback) {\r\n const response = await this.fetchData(url, data, 'POST');\r\n callback && callback(response);\r\n }\r\n\r\n static async get(url, callback) {\r\n const response = await this.fetchData(url, null, 'GET');\r\n callback && callback(response);\r\n }\r\n\r\n static async fetchData(url, data, method) {\r\n const fullUrl = `${BASE_URL}${url}`;\r\n const headers = { 'Content-Type': 'application/json' };\r\n const options = {\r\n method,\r\n headers,\r\n body: data ? JSON.stringify(data) : null,\r\n };\r\n\r\n try {\r\n const response = await fetch(fullUrl, options);\r\n if (!response.ok) {\r\n throw new Error(`HTTP error! status: ${response.status}`);\r\n }\r\n return await response.json();\r\n } catch (error) {\r\n console.error('Fetch error:', error);\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * @param url {string} 接口地址\r\n * @param params {object} 需要加密的参数对象\r\n */\r\n static apiSign(url: string, params = {}) {\r\n\r\n let convertUrl = url.trim()\r\n if (convertUrl.indexOf('?') === -1) {\r\n convertUrl += '?'\r\n }\r\n \r\n // 传入参数转换拼接字符串\r\n let postStr = getQueryString(params)\r\n \r\n const signedStr = genSignStr(convertUrl, postStr)\r\n const encryptStr = `sign=${signedStr}`\r\n\r\n let encryptSignStr = fxCry.encryptByDES(encryptStr, config.secretKey)\r\n encryptSignStr = encodeURIComponent(encryptSignStr)\r\n\r\n return `${urlencode(convertUrl)}&_p=${encryptSignStr}`\r\n }\r\n}\r\n\r\nfunction responseHandler(response: { data: any }) {\r\n return response.data\r\n}\r\n// 响应拦截器\r\n// Rq.interceptors.response.use(responseHandler)\r\nconst config = {\r\n gameId: \"100012\",\r\n secretKey: \"onnfPKJW\",\r\n EK:\"hui231%1\"\r\n};\r\n\r\ninterface CrypotoType {\r\n encryptByDES: any\r\n decryptByDES: any\r\n hmacSha256: any\r\n}\r\n \r\nclass Crypoto implements CrypotoType {\r\n // 加密的向明值,自己根据项目实际情况定,需要跟后端开发保持一致\r\n private keyHex = this.getHetKey()\r\n private getHetKey() {\r\n return CryptoJS.enc.Utf8.parse(config.EK);\r\n }\r\n\r\n /** DES加密 */\r\n encryptByDES(message: string, secret?: string) {\r\n if(!message) {\r\n return message\r\n }\r\n const key = secret? CryptoJS.enc.Utf8.parse(secret): this.keyHex\r\n const encrypted = CryptoJS.DES.encrypt(message, key, {\r\n mode: CryptoJS.mode.ECB,\r\n padding: CryptoJS.pad.Pkcs7\r\n });\r\n return encrypted.toString()\r\n }\r\n\r\n /** DES解密 */\r\n decryptByDES(message: string, secret?: string) {\r\n const key = secret? CryptoJS.enc.Utf8.parse(secret): this.keyHex\r\n\r\n const decrypted = CryptoJS.DES.decrypt({\r\n ciphertext: CryptoJS.enc.Base64.parse(message)\r\n }, key, {\r\n mode: CryptoJS.mode.ECB,\r\n padding: CryptoJS.pad.Pkcs7\r\n })\r\n\r\n return decrypted.toString(CryptoJS.enc.Utf8)\r\n }\r\n\r\n /** hmacSHA256加密 */\r\n hmacSha256(message: string, secret?: string) {\r\n const keyHex = secret? CryptoJS.enc.Utf8.parse(secret): this.keyHex\r\n \r\n const hash = CryptoJS.HmacSHA256(message, keyHex);\r\n return hash.toString()\r\n }\r\n\r\n /** hmacSHA256验证 */\r\n verifyHmacSha256(message: string, signature: string) {\r\n const hash = CryptoJS.HmacSHA256(message, this.keyHex);\r\n return hash.toString() === signature\r\n }\r\n \r\n /** CBC加密 */\r\n encryptCBC(word: string) {\r\n if (!word) {\r\n return word;\r\n }\r\n const srcs = CryptoJS.enc.Utf8.parse(word);\r\n const encrypted = CryptoJS.AES.encrypt(srcs, this.keyHex, {\r\n iv: this.keyHex,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.ZeroPadding\r\n });\r\n return encrypted.toString(); \r\n }\r\n \r\n /** CBC解密 */\r\n decryptCBC(word: string) {\r\n if (!word) {\r\n return word;\r\n }\r\n const encryptedHexStr = CryptoJS.enc.Hex.parse(word);\r\n const srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);\r\n const decrypt = CryptoJS.AES.decrypt(srcs, this.keyHex, {\r\n iv: this.keyHex,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.ZeroPadding\r\n });\r\n const decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);\r\n return decryptedStr.toString();\r\n }\r\n}\r\nconst fxCry = new Crypoto();\r\n\r\nfunction isEmpty(data) {\r\n return data === \"\" || data === null || data === undefined || data.length === 0 || JSON.stringify(data) == \"{}\"\r\n}\r\n\r\nfunction getQueryString(obj) {\r\n // 首先对对象的键进行排序并过滤空值\r\n const sortedKeys = Object.keys(obj).sort();\r\n const sortedObj = {};\r\n for (let i = 0; i < sortedKeys.length; i++) {\r\n if (isEmpty(obj[sortedKeys[i]])) {\r\n continue;\r\n }\r\n sortedObj[sortedKeys[i]] = obj[sortedKeys[i]];\r\n }\r\n \r\n // 然后将排序后的对象转换为查询字符串\r\n const params = [];\r\n for (const key in sortedObj) {\r\n params.push(`${encodeURIComponent(key)}=${encodeURIComponent(sortedObj[key])}`);\r\n }\r\n return params.join('&');\r\n}\r\n\r\n\r\n/**\r\n * 组装签名字符串\r\n * @param string url: 请求地址 \r\n * @param string postStr: post参数的a=1&b=2 \r\n * @returns \r\n */\r\n\r\nfunction genSignStr(url: string, postStr: string): string {\r\n let lessUrl = url.replace('?', '')\r\n lessUrl = lessUrl + \"&\" + postStr\r\n return encodeURIComponent(fxCry.hmacSha256(lessUrl))\r\n}\r\n// 对参数进行统一urlencode\r\nfunction urlencode(url: string): string {\r\n const [baseUrl, queryString] = url.split(\"?\", 2);\r\n const params = new URLSearchParams(queryString);\r\n return `${baseUrl}?${params.toString()}`;\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/GameStart/GameAppStart.js b/temp/quick-scripts/src/assets/Script/module/GameStart/GameAppStart.js index 643c681..33b1ced 100644 --- a/temp/quick-scripts/src/assets/Script/module/GameStart/GameAppStart.js +++ b/temp/quick-scripts/src/assets/Script/module/GameStart/GameAppStart.js @@ -39,7 +39,9 @@ window.initMgr = function () { startGame: "10002", next: "10003", changePath: "10004", - changeMap: "10005" //改变那地图 + changeMap: "10005", + nextWater: "10006", + addEnd: "10007", }; /* * 客户端埋点分享类型 diff --git a/temp/quick-scripts/src/assets/Script/module/GameStart/GameAppStart.js.map b/temp/quick-scripts/src/assets/Script/module/GameStart/GameAppStart.js.map index cdba386..ea68b5e 100644 --- a/temp/quick-scripts/src/assets/Script/module/GameStart/GameAppStart.js.map +++ b/temp/quick-scripts/src/assets/Script/module/GameStart/GameAppStart.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\module\\GameStart\\GameAppStart.ts"],"names":[],"mappings":";;;;;;AAAA,mDAAkD;AAClD,+CAA0C;AAC1C,sDAAiD;AACjD,6DAA6D;AAC7D,8CAAoD;AACpD,6CAA4C;AAG5C,MAAM,CAAC,OAAO,GAAG;IACb,IAAG,EAAE,CAAC,EAAE,EACR;QACI,OAAO;KACV;IACD,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;IACX,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEpB,QAAQ;IACR,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG;QACd,SAAS,EAAE,IAAI;QACf,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,MAAM;QACnB,cAAc,EAAE,IAAI,CAAM,UAAU;KACvC,CAAC;IAEF,QAAQ;IACR,MAAM;IAEN,EAAE,CAAC,EAAE,CAAC,UAAU,GAAG,uBAAU,CAAC;IAC9B,EAAE,CAAC,EAAE,CAAC,QAAQ,GAAG,kBAAQ,CAAC;IAC1B,EAAE,CAAC,EAAE,CAAC,QAAQ,GAAG,mBAAQ,CAAC;IAC1B,EAAE,CAAC,EAAE,CAAC,YAAY,GAAG,sBAAY,CAAC;IAClC,EAAE,CAAC,EAAE,CAAC,aAAa,GAAG,4BAAa,CAAC;IACpC,EAAE,CAAC,EAAE,CAAC,cAAc,GAAG,wBAAc,CAAC;IAEtC,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG;QACd,OAAO,EAAG,CAAC,CAAC,CAAc,MAAM;KACnC,CAAC;IAEF,EAAE,CAAC,EAAE,CAAC,OAAO,GAAG;QACZ,OAAO,EAAE,OAAO;QAChB,SAAS,EAAC,OAAO;QACjB,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,OAAO;QACnB,SAAS,EAAE,OAAO,CAAS,OAAO;KACrC,CAAA;IAED;;MAEE;IACF,EAAE,CAAC,EAAE,CAAC,eAAe,GAAG;QACpB,OAAO,EAAG,SAAS;QACnB,MAAM,EAAG,QAAQ;QAEjB,mBAAmB,EAAC,kBAAkB;QACtC,iBAAiB,EAAG,eAAe;QACnC,gBAAgB,EAAG,cAAc;QACjC,qBAAqB,EAAE,cAAc;QACrC,sBAAsB,EAAE,gBAAgB;QACxC,mBAAmB,EAAE,YAAY;QACjC,oBAAoB,EAAE,aAAa;QAEnC,WAAW,EAAG,aAAa;QAC3B,SAAS,EAAE,WAAW;QACtB,UAAU,EAAE,YAAY;QACxB,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE,aAAa;QAC1B,gBAAgB,EAAE,kBAAkB;QACpC,cAAc,EAAE,gBAAgB;QAChC,QAAQ,EAAG,UAAU;QACrB,iBAAiB,EAAE,mBAAmB;QACtC,mBAAmB,EAAE,qBAAqB;QAC1C,mBAAmB,EAAE,qBAAqB;QAC1C,mBAAmB,EAAE,qBAAqB;KAC7C,CAAC;IAEF;;OAEG;IACH,EAAE,CAAC,EAAE,CAAC,gBAAgB,GAAG;QACrB,KAAK,EAAE,OAAO;QACd,MAAM,EAAG,QAAQ;QACjB,GAAG,EAAG,KAAK;KACd,CAAC;IAEF,WAAW;IACX,EAAE,CAAC,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,IAAI,CAAC;QAC3B,iBAAiB,EAAE,OAAO;KAC7B,CAAC,CAAC;IAEA,iBAAiB;IACjB,EAAE,CAAC,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;QACpB,MAAM,EAAE,iDAAiD;QACzD,MAAM,EAAE,mDAAmD;QAC3D,SAAS,EAAE,iBAAiB;QAC5B,SAAS,EAAE,YAAY;QACvB,UAAU,EAAE,oBAAoB;QAChC,SAAS,EAAE,oBAAoB;QAC/B,UAAU,EAAE,2BAA2B;KAE1C,CAAC,CAAC;AAEP,CAAC,CAAC","file":"","sourceRoot":"/","sourcesContent":["import { GameConfig } from \"../Config/GameConfig\";\r\nimport HttpUtil from \"../Crypto/HttpUtil\";\r\nimport AudioManager from \"../Music/AudioManager\";\r\nimport { Notifications } from \"../Notification/Notification\";\r\nimport { StorageMessage } from \"../Storage/Storage\";\r\nimport { GameTool } from \"../Tool/GameTool\";\r\n\r\n\r\nwindow.initMgr = function() {\r\n if(cc.fx)\r\n {\r\n return;\r\n }\r\n cc.fx = {};\r\n console.log(\"1初始化\");\r\n\r\n //基础状态信息\r\n cc.fx.StateInfo = {\r\n debugMode: true,\r\n networkConnected: true, //网络状态\r\n networkType: 'none', //网络类型\r\n isOnForeground: true //当前是否是在前台\r\n };\r\n\r\n //应用系统信息\r\n //配置文件\r\n\r\n cc.fx.GameConfig = GameConfig;\r\n cc.fx.HttpUtil = HttpUtil;\r\n cc.fx.GameTool = GameTool;\r\n cc.fx.AudioManager = AudioManager;\r\n cc.fx.Notifications = Notifications;\r\n cc.fx.StorageMessage = StorageMessage;\r\n\r\n cc.fx.ShareInfo = {\r\n queryId : -1 //分享id\r\n };\r\n\r\n cc.fx.Message = {\r\n control: \"10001\", //传递操作控制\r\n startGame:\"10002\", //传递开始建筑\r\n next: \"10003\" , //传递执行下一个格子洪水流过\r\n changePath: \"10004\", //传递操作控制\r\n changeMap: \"10005\" //改变那地图\r\n }\r\n\r\n /*\r\n * 客户端埋点分享类型\r\n */\r\n cc.fx.BurialShareType = {\r\n Default : \"default\", //默认分享类型,分享到群\r\n Invite : \"invite\", // 邀请好友\r\n\r\n DailyInviteRoomJoin:'invite_join_room', //邀请好友加入\r\n DailyInviteFriend : 'invite_friend', // 日常邀请好友\r\n DailyInviteGroup : 'invate_group', // 日常分享群\r\n DailyInviteGroupAlive: 'invate_alive', //日常分享群复活\r\n DailyInviteGroupReward: 'invate_rewared',//分享奖励翻倍\r\n DailyInviteGroupBox: 'invate_box', //宝箱分享奖励\r\n DailyInviteGroupBall: 'invate_ball', //分享领取球球\r\n\r\n MatchResult : 'matchResult', // 比赛结算分享\r\n MatchFix5: 'MatchFix5', // 5元红包赛\r\n MatchFix20: 'MatchFix20', // 20元红包赛\r\n MatchFix100: 'MatchFix100', // 100元红包赛\r\n MatchFix500: 'MatchFix500', // 500元红包赛\r\n NewerRedEnvelope: 'newerRedEnvelope', // 新手红包\r\n CoinRoomResult: 'coinRoomResult', // 金币桌结算\r\n HighRate : \"highRate\",//高倍分享\r\n CoinRoomWinStreak: 'coinRoomWinStreak', // 连胜\r\n CoinRoomBankruptcy1: 'coinRoomBankruptcy1', // 金币桌破产\r\n CoinRoomBankruptcy2: 'coinRoomBankruptcy2', // 金币桌破产\r\n CoinRoomBankruptcy3: 'coinRoomBankruptcy3', // 金币桌破产\r\n };\r\n\r\n /*\r\n * 分享到哪儿给奖励 group frined all\r\n */\r\n cc.fx.ShareWhereReward = {\r\n Group :\"group\", //微信群\r\n Friend : \"friend\",//好友\r\n All : \"all\", //不区分\r\n };\r\n\r\n //用于存储消息的ID\r\n cc.fx.storageType = cc.Enum({\r\n\t storageTypeCustom: 1000101, //用于存储关卡等级\r\n\t});\r\n\r\n //用于存储提示语 按照步骤提示\r\n cc.fx.tipType = cc.Enum({\r\n tipOne: '神农氏回到家中,开始整理今天收集来的物品。当他第一次拿出或说出一种植物时,请告诉他这是新植物。',\r\n tipTwo: '如果他拿出或说出的植物你今天看到过,请告诉他上次是看到的;如果你听他说过,则请告诉他上次是听到的。', //用于存储关卡等级\r\n tipErrNew: '这是这局游戏第一次出现{植物}',\r\n tipErrOld: '{植物}刚才出现过呢',\r\n tipErrHear: '上次遇到{植物}时,似乎不是听到的吧',\r\n tipErrSee: '上次遇到{植物}时,似乎不是看到的吧',\r\n tipErrLast: '之前确实看到过{植物},但最近一次似乎不是看到的呢',\r\n\r\n });\r\n\r\n};"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\module\\GameStart\\GameAppStart.ts"],"names":[],"mappings":";;;;;;AAAA,mDAAkD;AAClD,+CAA0C;AAC1C,sDAAiD;AACjD,6DAA6D;AAC7D,8CAAoD;AACpD,6CAA4C;AAG5C,MAAM,CAAC,OAAO,GAAG;IACb,IAAG,EAAE,CAAC,EAAE,EACR;QACI,OAAO;KACV;IACD,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;IACX,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEpB,QAAQ;IACR,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG;QACd,SAAS,EAAE,IAAI;QACf,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,MAAM;QACnB,cAAc,EAAE,IAAI,CAAM,UAAU;KACvC,CAAC;IAEF,QAAQ;IACR,MAAM;IAEN,EAAE,CAAC,EAAE,CAAC,UAAU,GAAG,uBAAU,CAAC;IAC9B,EAAE,CAAC,EAAE,CAAC,QAAQ,GAAG,kBAAQ,CAAC;IAC1B,EAAE,CAAC,EAAE,CAAC,QAAQ,GAAG,mBAAQ,CAAC;IAC1B,EAAE,CAAC,EAAE,CAAC,YAAY,GAAG,sBAAY,CAAC;IAClC,EAAE,CAAC,EAAE,CAAC,aAAa,GAAG,4BAAa,CAAC;IACpC,EAAE,CAAC,EAAE,CAAC,cAAc,GAAG,wBAAc,CAAC;IAEtC,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG;QACd,OAAO,EAAG,CAAC,CAAC,CAAc,MAAM;KACnC,CAAC;IAEF,EAAE,CAAC,EAAE,CAAC,OAAO,GAAG;QACZ,OAAO,EAAE,OAAO;QAChB,SAAS,EAAC,OAAO;QACjB,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,OAAO;QACnB,SAAS,EAAE,OAAO;QAClB,SAAS,EAAE,OAAO;QAClB,MAAM,EAAE,OAAO;KAClB,CAAA;IAED;;MAEE;IACF,EAAE,CAAC,EAAE,CAAC,eAAe,GAAG;QACpB,OAAO,EAAG,SAAS;QACnB,MAAM,EAAG,QAAQ;QAEjB,mBAAmB,EAAC,kBAAkB;QACtC,iBAAiB,EAAG,eAAe;QACnC,gBAAgB,EAAG,cAAc;QACjC,qBAAqB,EAAE,cAAc;QACrC,sBAAsB,EAAE,gBAAgB;QACxC,mBAAmB,EAAE,YAAY;QACjC,oBAAoB,EAAE,aAAa;QAEnC,WAAW,EAAG,aAAa;QAC3B,SAAS,EAAE,WAAW;QACtB,UAAU,EAAE,YAAY;QACxB,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE,aAAa;QAC1B,gBAAgB,EAAE,kBAAkB;QACpC,cAAc,EAAE,gBAAgB;QAChC,QAAQ,EAAG,UAAU;QACrB,iBAAiB,EAAE,mBAAmB;QACtC,mBAAmB,EAAE,qBAAqB;QAC1C,mBAAmB,EAAE,qBAAqB;QAC1C,mBAAmB,EAAE,qBAAqB;KAC7C,CAAC;IAEF;;OAEG;IACH,EAAE,CAAC,EAAE,CAAC,gBAAgB,GAAG;QACrB,KAAK,EAAE,OAAO;QACd,MAAM,EAAG,QAAQ;QACjB,GAAG,EAAG,KAAK;KACd,CAAC;IAEF,WAAW;IACX,EAAE,CAAC,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,IAAI,CAAC;QAC3B,iBAAiB,EAAE,OAAO;KAC7B,CAAC,CAAC;IAEA,iBAAiB;IACjB,EAAE,CAAC,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;QACpB,MAAM,EAAE,iDAAiD;QACzD,MAAM,EAAE,mDAAmD;QAC3D,SAAS,EAAE,iBAAiB;QAC5B,SAAS,EAAE,YAAY;QACvB,UAAU,EAAE,oBAAoB;QAChC,SAAS,EAAE,oBAAoB;QAC/B,UAAU,EAAE,2BAA2B;KAE1C,CAAC,CAAC;AAEP,CAAC,CAAC","file":"","sourceRoot":"/","sourcesContent":["import { GameConfig } from \"../Config/GameConfig\";\r\nimport HttpUtil from \"../Crypto/HttpUtil\";\r\nimport AudioManager from \"../Music/AudioManager\";\r\nimport { Notifications } from \"../Notification/Notification\";\r\nimport { StorageMessage } from \"../Storage/Storage\";\r\nimport { GameTool } from \"../Tool/GameTool\";\r\n\r\n\r\nwindow.initMgr = function() {\r\n if(cc.fx)\r\n {\r\n return;\r\n }\r\n cc.fx = {};\r\n console.log(\"1初始化\");\r\n\r\n //基础状态信息\r\n cc.fx.StateInfo = {\r\n debugMode: true,\r\n networkConnected: true, //网络状态\r\n networkType: 'none', //网络类型\r\n isOnForeground: true //当前是否是在前台\r\n };\r\n\r\n //应用系统信息\r\n //配置文件\r\n\r\n cc.fx.GameConfig = GameConfig;\r\n cc.fx.HttpUtil = HttpUtil;\r\n cc.fx.GameTool = GameTool;\r\n cc.fx.AudioManager = AudioManager;\r\n cc.fx.Notifications = Notifications;\r\n cc.fx.StorageMessage = StorageMessage;\r\n\r\n cc.fx.ShareInfo = {\r\n queryId : -1 //分享id\r\n };\r\n\r\n cc.fx.Message = {\r\n control: \"10001\", //传递操作控制\r\n startGame:\"10002\", //传递开始建筑\r\n next: \"10003\" , //传递执行下一个格子洪水流过\r\n changePath: \"10004\", //传递操作控制\r\n changeMap: \"10005\", //改变那地图\r\n nextWater: \"10006\" , //传递执行下一个格子洪水流过\r\n addEnd: \"10007\" , //添加结束点\r\n }\r\n\r\n /*\r\n * 客户端埋点分享类型\r\n */\r\n cc.fx.BurialShareType = {\r\n Default : \"default\", //默认分享类型,分享到群\r\n Invite : \"invite\", // 邀请好友\r\n\r\n DailyInviteRoomJoin:'invite_join_room', //邀请好友加入\r\n DailyInviteFriend : 'invite_friend', // 日常邀请好友\r\n DailyInviteGroup : 'invate_group', // 日常分享群\r\n DailyInviteGroupAlive: 'invate_alive', //日常分享群复活\r\n DailyInviteGroupReward: 'invate_rewared',//分享奖励翻倍\r\n DailyInviteGroupBox: 'invate_box', //宝箱分享奖励\r\n DailyInviteGroupBall: 'invate_ball', //分享领取球球\r\n\r\n MatchResult : 'matchResult', // 比赛结算分享\r\n MatchFix5: 'MatchFix5', // 5元红包赛\r\n MatchFix20: 'MatchFix20', // 20元红包赛\r\n MatchFix100: 'MatchFix100', // 100元红包赛\r\n MatchFix500: 'MatchFix500', // 500元红包赛\r\n NewerRedEnvelope: 'newerRedEnvelope', // 新手红包\r\n CoinRoomResult: 'coinRoomResult', // 金币桌结算\r\n HighRate : \"highRate\",//高倍分享\r\n CoinRoomWinStreak: 'coinRoomWinStreak', // 连胜\r\n CoinRoomBankruptcy1: 'coinRoomBankruptcy1', // 金币桌破产\r\n CoinRoomBankruptcy2: 'coinRoomBankruptcy2', // 金币桌破产\r\n CoinRoomBankruptcy3: 'coinRoomBankruptcy3', // 金币桌破产\r\n };\r\n\r\n /*\r\n * 分享到哪儿给奖励 group frined all\r\n */\r\n cc.fx.ShareWhereReward = {\r\n Group :\"group\", //微信群\r\n Friend : \"friend\",//好友\r\n All : \"all\", //不区分\r\n };\r\n\r\n //用于存储消息的ID\r\n cc.fx.storageType = cc.Enum({\r\n\t storageTypeCustom: 1000101, //用于存储关卡等级\r\n\t});\r\n\r\n //用于存储提示语 按照步骤提示\r\n cc.fx.tipType = cc.Enum({\r\n tipOne: '神农氏回到家中,开始整理今天收集来的物品。当他第一次拿出或说出一种植物时,请告诉他这是新植物。',\r\n tipTwo: '如果他拿出或说出的植物你今天看到过,请告诉他上次是看到的;如果你听他说过,则请告诉他上次是听到的。', //用于存储关卡等级\r\n tipErrNew: '这是这局游戏第一次出现{植物}',\r\n tipErrOld: '{植物}刚才出现过呢',\r\n tipErrHear: '上次遇到{植物}时,似乎不是听到的吧',\r\n tipErrSee: '上次遇到{植物}时,似乎不是看到的吧',\r\n tipErrLast: '之前确实看到过{植物},但最近一次似乎不是看到的呢',\r\n\r\n });\r\n\r\n};"]} \ No newline at end of file diff --git a/temp/startup.json b/temp/startup.json index 79dbefe..2709a99 100644 --- a/temp/startup.json +++ b/temp/startup.json @@ -1 +1 @@ -{"pid":8068} +{"pid":11104} diff --git a/资源文件/bg2.png b/资源文件/bg2.png deleted file mode 100644 index 3d6f08f..0000000 Binary files a/资源文件/bg2.png and /dev/null differ diff --git a/资源文件/block1.png b/资源文件/block1.png deleted file mode 100644 index f172d1d..0000000 Binary files a/资源文件/block1.png and /dev/null differ diff --git a/资源文件/block2.png b/资源文件/block2.png deleted file mode 100644 index dd0a2b8..0000000 Binary files a/资源文件/block2.png and /dev/null differ diff --git a/资源文件/images/a0.png b/资源文件/images/a0.png deleted file mode 100644 index e0e32d3..0000000 Binary files a/资源文件/images/a0.png and /dev/null differ diff --git a/资源文件/images/e1.png b/资源文件/images/e1.png deleted file mode 100644 index a7ff53c..0000000 Binary files a/资源文件/images/e1.png and /dev/null differ diff --git a/资源文件/images/e2.png b/资源文件/images/e2.png deleted file mode 100644 index 4c6886d..0000000 Binary files a/资源文件/images/e2.png and /dev/null differ diff --git a/资源文件/images/e3.png b/资源文件/images/e3.png deleted file mode 100644 index 5844353..0000000 Binary files a/资源文件/images/e3.png and /dev/null differ diff --git a/资源文件/images/e4.png b/资源文件/images/e4.png deleted file mode 100644 index f09a65e..0000000 Binary files a/资源文件/images/e4.png and /dev/null differ diff --git a/资源文件/images/e5.png b/资源文件/images/e5.png deleted file mode 100644 index b105b2a..0000000 Binary files a/资源文件/images/e5.png and /dev/null differ diff --git a/资源文件/images/images/end.png b/资源文件/images/images/end.png deleted file mode 100644 index 50048e2..0000000 Binary files a/资源文件/images/images/end.png and /dev/null differ diff --git a/资源文件/images/images/end_x.png b/资源文件/images/images/end_x.png deleted file mode 100644 index c2a74f1..0000000 Binary files a/资源文件/images/images/end_x.png and /dev/null differ diff --git a/资源文件/images/images/end_y.png b/资源文件/images/images/end_y.png deleted file mode 100644 index 41cd1fb..0000000 Binary files a/资源文件/images/images/end_y.png and /dev/null differ diff --git a/资源文件/images/images/start.png b/资源文件/images/images/start.png deleted file mode 100644 index a5d8f50..0000000 Binary files a/资源文件/images/images/start.png and /dev/null differ diff --git a/资源文件/images/images/start_x.png b/资源文件/images/images/start_x.png deleted file mode 100644 index 6fed367..0000000 Binary files a/资源文件/images/images/start_x.png and /dev/null differ diff --git a/资源文件/images/images/start_y.png b/资源文件/images/images/start_y.png deleted file mode 100644 index 7f08c88..0000000 Binary files a/资源文件/images/images/start_y.png and /dev/null differ diff --git a/资源文件/images/shan1.png b/资源文件/images/shan1.png deleted file mode 100644 index acc3ad7..0000000 Binary files a/资源文件/images/shan1.png and /dev/null differ diff --git a/资源文件/images/shan2.png b/资源文件/images/shan2.png deleted file mode 100644 index 486f8a5..0000000 Binary files a/资源文件/images/shan2.png and /dev/null differ diff --git a/资源文件/images/shan3.png b/资源文件/images/shan3.png deleted file mode 100644 index 856e067..0000000 Binary files a/资源文件/images/shan3.png and /dev/null differ diff --git a/资源文件/images/shan4.png b/资源文件/images/shan4.png deleted file mode 100644 index 0c77e2c..0000000 Binary files a/资源文件/images/shan4.png and /dev/null differ diff --git a/资源文件/images/大禹修水_游戏界面0716_24.png b/资源文件/images/大禹修水_游戏界面0716_24.png deleted file mode 100644 index 8394d72..0000000 Binary files a/资源文件/images/大禹修水_游戏界面0716_24.png and /dev/null differ diff --git a/资源文件/images/底色.png b/资源文件/images/底色.png deleted file mode 100644 index dd9bf0c..0000000 Binary files a/资源文件/images/底色.png and /dev/null differ diff --git a/资源文件/images/拐角01.png b/资源文件/images/拐角01.png deleted file mode 100644 index 8e1d745..0000000 Binary files a/资源文件/images/拐角01.png and /dev/null differ diff --git a/资源文件/images/拐角02.png b/资源文件/images/拐角02.png deleted file mode 100644 index 11aea03..0000000 Binary files a/资源文件/images/拐角02.png and /dev/null differ diff --git a/资源文件/images/拐角03.png b/资源文件/images/拐角03.png deleted file mode 100644 index 4df2f4c..0000000 Binary files a/资源文件/images/拐角03.png and /dev/null differ diff --git a/资源文件/images/拐角04.png b/资源文件/images/拐角04.png deleted file mode 100644 index 8b051f2..0000000 Binary files a/资源文件/images/拐角04.png and /dev/null differ diff --git a/资源文件/images/沼泽拐角01.png b/资源文件/images/沼泽拐角01.png deleted file mode 100644 index 10bd06e..0000000 Binary files a/资源文件/images/沼泽拐角01.png and /dev/null differ diff --git a/资源文件/images/沼泽直线01.png b/资源文件/images/沼泽直线01.png deleted file mode 100644 index b199b37..0000000 Binary files a/资源文件/images/沼泽直线01.png and /dev/null differ diff --git a/资源文件/images/沼泽直线02.png b/资源文件/images/沼泽直线02.png deleted file mode 100644 index dd2a125..0000000 Binary files a/资源文件/images/沼泽直线02.png and /dev/null differ diff --git a/资源文件/images/直线01.png b/资源文件/images/直线01.png deleted file mode 100644 index dcac16c..0000000 Binary files a/资源文件/images/直线01.png and /dev/null differ diff --git a/资源文件/images/直线02.png b/资源文件/images/直线02.png deleted file mode 100644 index f020d60..0000000 Binary files a/资源文件/images/直线02.png and /dev/null differ diff --git a/资源文件/images/直线03.png b/资源文件/images/直线03.png deleted file mode 100644 index e4877f0..0000000 Binary files a/资源文件/images/直线03.png and /dev/null differ diff --git a/资源文件/images/直线04.png b/资源文件/images/直线04.png deleted file mode 100644 index 800c3d2..0000000 Binary files a/资源文件/images/直线04.png and /dev/null differ diff --git a/资源文件/images/直线06.png b/资源文件/images/直线06.png deleted file mode 100644 index 61178c3..0000000 Binary files a/资源文件/images/直线06.png and /dev/null differ diff --git a/资源文件/images/直线07.png b/资源文件/images/直线07.png deleted file mode 100644 index 231da16..0000000 Binary files a/资源文件/images/直线07.png and /dev/null differ diff --git a/资源文件/images/直线08.png b/资源文件/images/直线08.png deleted file mode 100644 index f6ac5f4..0000000 Binary files a/资源文件/images/直线08.png and /dev/null differ diff --git a/资源文件/images01/e5.png b/资源文件/images01/e5.png new file mode 100644 index 0000000..95e6a63 Binary files /dev/null and b/资源文件/images01/e5.png differ diff --git a/资源文件/images01/end.png b/资源文件/images01/end.png new file mode 100644 index 0000000..c44e50d Binary files /dev/null and b/资源文件/images01/end.png differ diff --git a/资源文件/images01/end_x.png b/资源文件/images01/end_x.png new file mode 100644 index 0000000..faa585a Binary files /dev/null and b/资源文件/images01/end_x.png differ diff --git a/资源文件/images01/end_y.png b/资源文件/images01/end_y.png new file mode 100644 index 0000000..3d80d02 Binary files /dev/null and b/资源文件/images01/end_y.png differ diff --git a/资源文件/images01/start.png b/资源文件/images01/start.png new file mode 100644 index 0000000..0cb5873 Binary files /dev/null and b/资源文件/images01/start.png differ diff --git a/资源文件/images01/start_x.png b/资源文件/images01/start_x.png new file mode 100644 index 0000000..7ecb05d Binary files /dev/null and b/资源文件/images01/start_x.png differ diff --git a/资源文件/images01/start_y.png b/资源文件/images01/start_y.png new file mode 100644 index 0000000..5fe5d0c Binary files /dev/null and b/资源文件/images01/start_y.png differ diff --git a/资源文件/images2/a0.png b/资源文件/images2/a0.png index fa437df..e0e32d3 100644 Binary files a/资源文件/images2/a0.png and b/资源文件/images2/a0.png differ diff --git a/资源文件/images2/a1.png b/资源文件/images2/a1.png index 0787fff..e4877f0 100644 Binary files a/资源文件/images2/a1.png and b/资源文件/images2/a1.png differ diff --git a/资源文件/images2/a2.png b/资源文件/images2/a2.png index ffc221a..800c3d2 100644 Binary files a/资源文件/images2/a2.png and b/资源文件/images2/a2.png differ diff --git a/资源文件/images2/a3.png b/资源文件/images2/a3.png index e52edb1..231da16 100644 Binary files a/资源文件/images2/a3.png and b/资源文件/images2/a3.png differ diff --git a/资源文件/images2/a4.png b/资源文件/images2/a4.png index c0d7db2..f6ac5f4 100644 Binary files a/资源文件/images2/a4.png and b/资源文件/images2/a4.png differ diff --git a/资源文件/images2/b1.png b/资源文件/images2/b1.png index ec6d75d..76f9b8c 100644 Binary files a/资源文件/images2/b1.png and b/资源文件/images2/b1.png differ diff --git a/资源文件/images2/b2.png b/资源文件/images2/b2.png index 5f3976d..b107996 100644 Binary files a/资源文件/images2/b2.png and b/资源文件/images2/b2.png differ diff --git a/资源文件/images2/b3.png b/资源文件/images2/b3.png index ce1869d..c73e60e 100644 Binary files a/资源文件/images2/b3.png and b/资源文件/images2/b3.png differ diff --git a/资源文件/images2/b4.png b/资源文件/images2/b4.png index 7eb1c30..f7fff6b 100644 Binary files a/资源文件/images2/b4.png and b/资源文件/images2/b4.png differ diff --git a/资源文件/images2/begin.png b/资源文件/images2/begin.png new file mode 100644 index 0000000..aedd72a Binary files /dev/null and b/资源文件/images2/begin.png differ diff --git a/资源文件/images2/build.png b/资源文件/images2/build.png new file mode 100644 index 0000000..55dc275 Binary files /dev/null and b/资源文件/images2/build.png differ diff --git a/资源文件/images2/c1.png b/资源文件/images2/c1.png index cc56bdf..8e1d745 100644 Binary files a/资源文件/images2/c1.png and b/资源文件/images2/c1.png differ diff --git a/资源文件/images2/c2.png b/资源文件/images2/c2.png index 0a56d05..11aea03 100644 Binary files a/资源文件/images2/c2.png and b/资源文件/images2/c2.png differ diff --git a/资源文件/images2/c3.png b/资源文件/images2/c3.png index fdf96d8..4df2f4c 100644 Binary files a/资源文件/images2/c3.png and b/资源文件/images2/c3.png differ diff --git a/资源文件/images2/c4.png b/资源文件/images2/c4.png index 10f51d0..8b051f2 100644 Binary files a/资源文件/images2/c4.png and b/资源文件/images2/c4.png differ diff --git a/资源文件/images2/chehui.png b/资源文件/images2/chehui.png new file mode 100644 index 0000000..df9fc98 Binary files /dev/null and b/资源文件/images2/chehui.png differ diff --git a/资源文件/images2/d1.png b/资源文件/images2/d1.png index f2b28b1..dd2a125 100644 Binary files a/资源文件/images2/d1.png and b/资源文件/images2/d1.png differ diff --git a/资源文件/images2/d2.png b/资源文件/images2/d2.png index 36bd49b..b199b37 100644 Binary files a/资源文件/images2/d2.png and b/资源文件/images2/d2.png differ diff --git a/资源文件/images2/d3.png b/资源文件/images2/d3.png index f72002a..10bd06e 100644 Binary files a/资源文件/images2/d3.png and b/资源文件/images2/d3.png differ diff --git a/资源文件/images2/down.png b/资源文件/images2/down.png new file mode 100644 index 0000000..f85adfc Binary files /dev/null and b/资源文件/images2/down.png differ diff --git a/资源文件/images2/downBg.png b/资源文件/images2/downBg.png new file mode 100644 index 0000000..54ea54b Binary files /dev/null and b/资源文件/images2/downBg.png differ diff --git a/资源文件/images2/e5.png b/资源文件/images2/e5.png index b105b2a..9936c9b 100644 Binary files a/资源文件/images2/e5.png and b/资源文件/images2/e5.png differ diff --git a/资源文件/images2/e6.png b/资源文件/images2/e6.png new file mode 100644 index 0000000..36b064e Binary files /dev/null and b/资源文件/images2/e6.png differ diff --git a/资源文件/images2/end.png b/资源文件/images2/end.png index 50048e2..90a31d4 100644 Binary files a/资源文件/images2/end.png and b/资源文件/images2/end.png differ diff --git a/资源文件/images2/end_x.png b/资源文件/images2/end_x.png index c2a74f1..faa585a 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 41cd1fb..3d80d02 100644 Binary files a/资源文件/images2/end_y.png and b/资源文件/images2/end_y.png differ diff --git a/资源文件/images2/fangxiangBg.png b/资源文件/images2/fangxiangBg.png new file mode 100644 index 0000000..57b5b04 Binary files /dev/null and b/资源文件/images2/fangxiangBg.png differ diff --git a/资源文件/images2/headBg.png b/资源文件/images2/headBg.png new file mode 100644 index 0000000..e923595 Binary files /dev/null and b/资源文件/images2/headBg.png differ diff --git a/资源文件/images2/jiagu.png b/资源文件/images2/jiagu.png new file mode 100644 index 0000000..e9cffb5 Binary files /dev/null and b/资源文件/images2/jiagu.png differ diff --git a/资源文件/images2/lang.png b/资源文件/images2/lang.png new file mode 100644 index 0000000..2627099 Binary files /dev/null and b/资源文件/images2/lang.png differ diff --git a/资源文件/images2/left.png b/资源文件/images2/left.png new file mode 100644 index 0000000..d4141a2 Binary files /dev/null and b/资源文件/images2/left.png differ diff --git a/资源文件/images2/line.png b/资源文件/images2/line.png new file mode 100644 index 0000000..942c559 Binary files /dev/null and b/资源文件/images2/line.png differ diff --git a/资源文件/images2/little_down.png b/资源文件/images2/little_down.png new file mode 100644 index 0000000..e847be1 Binary files /dev/null and b/资源文件/images2/little_down.png differ diff --git a/资源文件/images2/little_jiagu.png b/资源文件/images2/little_jiagu.png new file mode 100644 index 0000000..dcaf08d Binary files /dev/null and b/资源文件/images2/little_jiagu.png differ diff --git a/资源文件/images2/little_left.png b/资源文件/images2/little_left.png new file mode 100644 index 0000000..e76b880 Binary files /dev/null and b/资源文件/images2/little_left.png differ diff --git a/资源文件/images2/little_right.png b/资源文件/images2/little_right.png new file mode 100644 index 0000000..e120ac1 Binary files /dev/null and b/资源文件/images2/little_right.png differ diff --git a/资源文件/images2/little_up.png b/资源文件/images2/little_up.png new file mode 100644 index 0000000..1241d7d Binary files /dev/null and b/资源文件/images2/little_up.png differ diff --git a/资源文件/images2/little_xirang.png b/资源文件/images2/little_xirang.png new file mode 100644 index 0000000..f92ffbf Binary files /dev/null and b/资源文件/images2/little_xirang.png differ diff --git a/资源文件/images2/progress.png b/资源文件/images2/progress.png new file mode 100644 index 0000000..7076b22 Binary files /dev/null and b/资源文件/images2/progress.png differ diff --git a/资源文件/images2/progressBg.png b/资源文件/images2/progressBg.png new file mode 100644 index 0000000..ed460fa Binary files /dev/null and b/资源文件/images2/progressBg.png differ diff --git a/资源文件/images2/rankBtn.png b/资源文件/images2/rankBtn.png new file mode 100644 index 0000000..7aef3ea Binary files /dev/null and b/资源文件/images2/rankBtn.png differ diff --git a/资源文件/images2/right.png b/资源文件/images2/right.png new file mode 100644 index 0000000..bcb697a Binary files /dev/null and b/资源文件/images2/right.png differ diff --git a/资源文件/images2/shan1.png b/资源文件/images2/shan1.png index 9193f3a..acc3ad7 100644 Binary files a/资源文件/images2/shan1.png and b/资源文件/images2/shan1.png differ diff --git a/资源文件/images2/shan2.png b/资源文件/images2/shan2.png index 9f660e9..486f8a5 100644 Binary files a/资源文件/images2/shan2.png and b/资源文件/images2/shan2.png differ diff --git a/资源文件/images2/shan3.png b/资源文件/images2/shan3.png index c3ec7cf..856e067 100644 Binary files a/资源文件/images2/shan3.png and b/资源文件/images2/shan3.png differ diff --git a/资源文件/images2/shan4.png b/资源文件/images2/shan4.png index cc37001..0c77e2c 100644 Binary files a/资源文件/images2/shan4.png and b/资源文件/images2/shan4.png differ diff --git a/资源文件/images2/shanchu.png b/资源文件/images2/shanchu.png new file mode 100644 index 0000000..1208414 Binary files /dev/null and b/资源文件/images2/shanchu.png differ diff --git a/资源文件/images2/start.png b/资源文件/images2/start.png index a5d8f50..6ec19a5 100644 Binary files a/资源文件/images2/start.png and b/资源文件/images2/start.png differ diff --git a/资源文件/images2/startBtn.png b/资源文件/images2/startBtn.png new file mode 100644 index 0000000..198b156 Binary files /dev/null and b/资源文件/images2/startBtn.png differ diff --git a/资源文件/images2/start_x.png b/资源文件/images2/start_x.png index 6fed367..7ecb05d 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 7f08c88..5fe5d0c 100644 Binary files a/资源文件/images2/start_y.png and b/资源文件/images2/start_y.png differ diff --git a/资源文件/images2/tou.png b/资源文件/images2/tou.png new file mode 100644 index 0000000..209e7bf Binary files /dev/null and b/资源文件/images2/tou.png differ diff --git a/资源文件/images2/turn_wawe.png b/资源文件/images2/turn_wawe.png deleted file mode 100644 index e0c1ff1..0000000 Binary files a/资源文件/images2/turn_wawe.png and /dev/null differ diff --git a/assets/resources/UI/turn_wawe2.png b/资源文件/images2/turn_wawe2.png similarity index 100% rename from assets/resources/UI/turn_wawe2.png rename to 资源文件/images2/turn_wawe2.png diff --git a/资源文件/images2/up.png b/资源文件/images2/up.png new file mode 100644 index 0000000..b0e2cc0 Binary files /dev/null and b/资源文件/images2/up.png differ diff --git a/资源文件/images2/xirang.png b/资源文件/images2/xirang.png new file mode 100644 index 0000000..ce1d94f Binary files /dev/null and b/资源文件/images2/xirang.png differ diff --git a/资源文件/publicUI.plist b/资源文件/publicUI.plist index 4759de1..55cf739 100644 --- a/资源文件/publicUI.plist +++ b/资源文件/publicUI.plist @@ -15,7 +15,7 @@ spriteSourceSize {96,96} textureRect - {{1,149},{96,96}} + {{1592,9},{96,96}} textureRotated @@ -30,7 +30,7 @@ spriteSourceSize {96,96} textureRect - {{149,1},{96,96}} + {{1690,1},{96,96}} textureRotated @@ -45,7 +45,7 @@ spriteSourceSize {96,96} textureRect - {{1,247},{96,96}} + {{1788,1},{96,96}} textureRotated @@ -60,7 +60,7 @@ spriteSourceSize {96,96} textureRect - {{247,1},{96,96}} + {{1886,1},{96,96}} textureRotated @@ -75,7 +75,7 @@ spriteSourceSize {96,96} textureRect - {{1,345},{96,96}} + {{1220,160},{96,96}} textureRotated @@ -90,7 +90,7 @@ spriteSourceSize {96,96} textureRect - {{345,1},{96,96}} + {{1318,133},{96,96}} textureRotated @@ -105,7 +105,7 @@ spriteSourceSize {96,96} textureRect - {{443,1},{96,96}} + {{1416,133},{96,96}} textureRotated @@ -120,7 +120,7 @@ spriteSourceSize {96,96} textureRect - {{541,1},{96,96}} + {{1514,113},{96,96}} textureRotated @@ -135,7 +135,22 @@ spriteSourceSize {96,96} textureRect - {{149,99},{96,96}} + {{1612,107},{96,96}} + textureRotated + + + begin.png + + aliases + + spriteOffset + {0,0} + spriteSize + {218,60} + spriteSourceSize + {218,60} + textureRect + {{1268,9},{218,60}} textureRotated @@ -150,7 +165,7 @@ spriteSourceSize {96,96} textureRect - {{247,99},{96,96}} + {{1710,99},{96,96}} textureRotated @@ -165,7 +180,7 @@ spriteSourceSize {96,96} textureRect - {{345,99},{96,96}} + {{1808,99},{96,96}} textureRotated @@ -180,7 +195,22 @@ spriteSourceSize {96,96} textureRect - {{443,99},{96,96}} + {{1906,99},{96,96}} + textureRotated + + + build.png + + aliases + + spriteOffset + {0,0} + spriteSize + {218,60} + spriteSourceSize + {218,60} + textureRect + {{1268,71},{218,60}} textureRotated @@ -195,7 +225,7 @@ spriteSourceSize {96,96} textureRect - {{541,99},{96,96}} + {{1220,258},{96,96}} textureRotated @@ -210,7 +240,7 @@ spriteSourceSize {96,96} textureRect - {{125,197},{96,96}} + {{1318,231},{96,96}} textureRotated @@ -225,7 +255,7 @@ spriteSourceSize {96,96} textureRect - {{223,197},{96,96}} + {{1416,231},{96,96}} textureRotated @@ -240,7 +270,22 @@ spriteSourceSize {96,96} textureRect - {{321,197},{96,96}} + {{1514,211},{96,96}} + textureRotated + + + chehui.png + + aliases + + spriteOffset + {0,0} + spriteSize + {72,72} + spriteSourceSize + {72,72} + textureRect + {{1013,341},{72,72}} textureRotated @@ -255,7 +300,7 @@ spriteSourceSize {96,96} textureRect - {{419,197},{96,96}} + {{1612,205},{96,96}} textureRotated @@ -270,7 +315,7 @@ spriteSourceSize {96,96} textureRect - {{517,197},{96,96}} + {{1710,197},{96,96}} textureRotated @@ -285,7 +330,37 @@ spriteSourceSize {96,96} textureRect - {{99,295},{96,96}} + {{1808,197},{96,96}} + textureRotated + + + down.png + + aliases + + spriteOffset + {0,0} + spriteSize + {84,84} + spriteSourceSize + {84,84} + textureRect + {{747,420},{84,84}} + textureRotated + + + downBg.png + + aliases + + spriteOffset + {0,0} + spriteSize + {750,354} + spriteSourceSize + {750,354} + textureRect + {{1,1},{750,354}} textureRotated @@ -300,7 +375,7 @@ spriteSourceSize {96,96} textureRect - {{99,393},{96,96}} + {{1906,197},{96,96}} textureRotated @@ -315,7 +390,7 @@ spriteSourceSize {96,96} textureRect - {{197,295},{96,96}} + {{1318,329},{96,96}} textureRotated @@ -330,7 +405,7 @@ spriteSourceSize {96,96} textureRect - {{197,393},{96,96}} + {{1416,329},{96,96}} textureRotated @@ -345,7 +420,7 @@ spriteSourceSize {96,96} textureRect - {{295,295},{96,96}} + {{1514,309},{96,96}} textureRotated @@ -360,7 +435,22 @@ spriteSourceSize {96,96} textureRect - {{295,393},{96,96}} + {{1612,303},{96,96}} + textureRotated + + + e6.png + + aliases + + spriteOffset + {0,0} + spriteSize + {96,96} + spriteSourceSize + {96,96} + textureRect + {{1710,295},{96,96}} textureRotated @@ -375,7 +465,7 @@ spriteSourceSize {96,96} textureRect - {{393,295},{96,96}} + {{1808,295},{96,96}} textureRotated @@ -390,7 +480,7 @@ spriteSourceSize {96,36} textureRect - {{1,443},{96,36}} + {{503,439},{96,36}} textureRotated @@ -405,7 +495,247 @@ spriteSourceSize {35,96} textureRect - {{639,99},{35,96}} + {{1,469},{35,96}} + textureRotated + + + fangxiangBg.png + + aliases + + spriteOffset + {0,0} + spriteSize + {258,258} + spriteSourceSize + {258,258} + textureRect + {{753,160},{258,258}} + textureRotated + + + headBg.png + + aliases + + spriteOffset + {0,0} + spriteSize + {744,80} + spriteSourceSize + {744,80} + textureRect + {{1,357},{744,80}} + textureRotated + + + jiagu.png + + aliases + + spriteOffset + {0,0} + spriteSize + {72,72} + spriteSourceSize + {72,72} + textureRect + {{1087,341},{72,72}} + textureRotated + + + lang.png + + aliases + + spriteOffset + {0,0} + spriteSize + {49,32} + spriteSourceSize + {49,32} + textureRect + {{197,469},{49,32}} + textureRotated + + + left.png + + aliases + + spriteOffset + {0,0} + spriteSize + {84,84} + spriteSourceSize + {84,84} + textureRect + {{833,420},{84,84}} + textureRotated + + + line.png + + aliases + + spriteOffset + {0,0} + spriteSize + {412,6} + spriteSourceSize + {412,6} + textureRect + {{1268,1},{412,6}} + textureRotated + + + little_down.png + + aliases + + spriteOffset + {0,0} + spriteSize + {46,46} + spriteSourceSize + {46,46} + textureRect + {{699,439},{46,46}} + textureRotated + + + little_jiagu.png + + aliases + + spriteOffset + {0,0} + spriteSize + {46,46} + spriteSourceSize + {46,46} + textureRect + {{1165,409},{46,46}} + textureRotated + + + little_left.png + + aliases + + spriteOffset + {0,0} + spriteSize + {46,46} + spriteSourceSize + {46,46} + textureRect + {{1213,356},{46,46}} + textureRotated + + + little_right.png + + aliases + + spriteOffset + {0,0} + spriteSize + {46,46} + spriteSourceSize + {46,46} + textureRect + {{1213,404},{46,46}} + textureRotated + + + little_up.png + + aliases + + spriteOffset + {0,0} + spriteSize + {46,46} + spriteSourceSize + {46,46} + textureRect + {{1261,356},{46,46}} + textureRotated + + + little_xirang.png + + aliases + + spriteOffset + {0,0} + spriteSize + {46,46} + spriteSourceSize + {46,46} + textureRect + {{1261,404},{46,46}} + textureRotated + + + progress.png + + aliases + + spriteOffset + {0,0} + spriteSize + {500,18} + spriteSourceSize + {500,18} + textureRect + {{1,439},{500,18}} + textureRotated + + + progressBg.png + + aliases + + spriteOffset + {0,0} + spriteSize + {500,18} + spriteSourceSize + {500,18} + textureRect + {{753,140},{500,18}} + textureRotated + + + rankBtn.png + + aliases + + spriteOffset + {0,0} + spriteSize + {102,102} + spriteSourceSize + {102,102} + textureRect + {{1488,9},{102,102}} + textureRotated + + + right.png + + aliases + + spriteOffset + {0,0} + spriteSize + {84,84} + spriteSourceSize + {84,84} + textureRect + {{919,420},{84,84}} textureRotated @@ -420,7 +750,7 @@ spriteSourceSize {96,96} textureRect - {{393,393},{96,96}} + {{1906,295},{96,96}} textureRotated @@ -435,7 +765,7 @@ spriteSourceSize {96,96} textureRect - {{491,295},{96,96}} + {{1514,407},{96,96}} textureRotated @@ -450,7 +780,7 @@ spriteSourceSize {96,96} textureRect - {{491,393},{96,96}} + {{1612,401},{96,96}} textureRotated @@ -465,7 +795,22 @@ spriteSourceSize {96,96} textureRect - {{589,295},{96,96}} + {{1710,393},{96,96}} + textureRotated + + + shanchu.png + + aliases + + spriteOffset + {0,0} + spriteSize + {72,72} + spriteSourceSize + {72,72} + textureRect + {{1091,415},{72,72}} textureRotated @@ -480,7 +825,22 @@ spriteSourceSize {96,96} textureRect - {{589,393},{96,96}} + {{1808,393},{96,96}} + textureRotated + + + startBtn.png + + aliases + + spriteOffset + {0,0} + spriteSize + {513,137} + spriteSourceSize + {513,137} + textureRect + {{753,1},{513,137}} textureRotated @@ -495,9 +855,9 @@ spriteSourceSize {96,36} textureRect - {{639,1},{96,36}} + {{601,439},{96,36}} textureRotated - + start_y.png @@ -510,22 +870,52 @@ spriteSourceSize {35,96} textureRect - {{615,197},{35,96}} + {{99,469},{35,96}} textureRotated - + - turn_wawe.png + tou.png aliases spriteOffset {0,0} spriteSize - {146,146} + {66,50} spriteSourceSize - {146,146} + {66,50} textureRect - {{1,1},{146,146}} + {{1161,341},{66,50}} + textureRotated + + + turn_wawe2.png + + aliases + + spriteOffset + {0,0} + spriteSize + {179,179} + spriteSourceSize + {179,179} + textureRect + {{1013,160},{179,179}} + textureRotated + + + up.png + + aliases + + spriteOffset + {0,0} + spriteSize + {84,84} + spriteSourceSize + {84,84} + textureRect + {{1005,420},{84,84}} textureRotated @@ -540,7 +930,52 @@ spriteSourceSize {24,138} textureRect - {{99,149},{24,138}} + {{1194,160},{24,138}} + textureRotated + + + vertical_wave2.png + + aliases + + spriteOffset + {0,0} + spriteSize + {8,118} + spriteSourceSize + {8,118} + textureRect + {{131,459},{8,118}} + textureRotated + + + vertical_wave3.png + + aliases + + spriteOffset + {0,0} + spriteSize + {8,128} + spriteSourceSize + {8,128} + textureRect + {{1,459},{8,128}} + textureRotated + + + xirang.png + + aliases + + spriteOffset + {0,0} + spriteSize + {72,72} + spriteSourceSize + {72,72} + textureRect + {{1906,393},{72,72}} textureRotated @@ -556,9 +991,9 @@ realTextureFileName publicUI.png size - {686,490} + {2003,505} smartupdate - $TexturePacker:SmartUpdate:383325b4703b9ab6a27358556429ce29:3aba2d162a7e3606ce2dfc19cc9a2323:1c7d81f68058ada321959f2296017bb5$ + $TexturePacker:SmartUpdate:7de0c2e3c229037eb5c0cb62f44b6338:5e933f948b0ce384dc741839d875d0ac:1c7d81f68058ada321959f2296017bb5$ textureFileName publicUI.png diff --git a/资源文件/publicUI.png b/资源文件/publicUI.png index f553c26..cb0ec53 100644 Binary files a/资源文件/publicUI.png and b/资源文件/publicUI.png differ diff --git a/资源文件/大禹修水存图7.23/begin.png b/资源文件/大禹修水存图7.23/begin.png new file mode 100644 index 0000000..aedd72a Binary files /dev/null and b/资源文件/大禹修水存图7.23/begin.png differ diff --git a/资源文件/大禹修水存图7.23/build.png b/资源文件/大禹修水存图7.23/build.png new file mode 100644 index 0000000..55dc275 Binary files /dev/null and b/资源文件/大禹修水存图7.23/build.png differ diff --git a/资源文件/大禹修水存图7.23/chehui.png b/资源文件/大禹修水存图7.23/chehui.png new file mode 100644 index 0000000..df9fc98 Binary files /dev/null and b/资源文件/大禹修水存图7.23/chehui.png differ diff --git a/资源文件/大禹修水存图7.23/down.png b/资源文件/大禹修水存图7.23/down.png new file mode 100644 index 0000000..f85adfc Binary files /dev/null and b/资源文件/大禹修水存图7.23/down.png differ diff --git a/资源文件/大禹修水存图7.23/downBg.png b/资源文件/大禹修水存图7.23/downBg.png new file mode 100644 index 0000000..54ea54b Binary files /dev/null and b/资源文件/大禹修水存图7.23/downBg.png differ diff --git a/资源文件/大禹修水存图7.23/fangxiangBg.png b/资源文件/大禹修水存图7.23/fangxiangBg.png new file mode 100644 index 0000000..57b5b04 Binary files /dev/null and b/资源文件/大禹修水存图7.23/fangxiangBg.png differ diff --git a/资源文件/大禹修水存图7.23/headBg.png b/资源文件/大禹修水存图7.23/headBg.png new file mode 100644 index 0000000..e923595 Binary files /dev/null and b/资源文件/大禹修水存图7.23/headBg.png differ diff --git a/资源文件/大禹修水存图7.23/jiagu.png b/资源文件/大禹修水存图7.23/jiagu.png new file mode 100644 index 0000000..e9cffb5 Binary files /dev/null and b/资源文件/大禹修水存图7.23/jiagu.png differ diff --git a/资源文件/大禹修水存图7.23/lang.png b/资源文件/大禹修水存图7.23/lang.png new file mode 100644 index 0000000..2627099 Binary files /dev/null and b/资源文件/大禹修水存图7.23/lang.png differ diff --git a/资源文件/大禹修水存图7.23/left.png b/资源文件/大禹修水存图7.23/left.png new file mode 100644 index 0000000..d4141a2 Binary files /dev/null and b/资源文件/大禹修水存图7.23/left.png differ diff --git a/资源文件/大禹修水存图7.23/line.png b/资源文件/大禹修水存图7.23/line.png new file mode 100644 index 0000000..942c559 Binary files /dev/null and b/资源文件/大禹修水存图7.23/line.png differ diff --git a/资源文件/大禹修水存图7.23/little_down.png b/资源文件/大禹修水存图7.23/little_down.png new file mode 100644 index 0000000..e847be1 Binary files /dev/null and b/资源文件/大禹修水存图7.23/little_down.png differ diff --git a/资源文件/大禹修水存图7.23/little_jiagu.png b/资源文件/大禹修水存图7.23/little_jiagu.png new file mode 100644 index 0000000..dcaf08d Binary files /dev/null and b/资源文件/大禹修水存图7.23/little_jiagu.png differ diff --git a/资源文件/大禹修水存图7.23/little_left.png b/资源文件/大禹修水存图7.23/little_left.png new file mode 100644 index 0000000..e76b880 Binary files /dev/null and b/资源文件/大禹修水存图7.23/little_left.png differ diff --git a/资源文件/大禹修水存图7.23/little_right.png b/资源文件/大禹修水存图7.23/little_right.png new file mode 100644 index 0000000..e120ac1 Binary files /dev/null and b/资源文件/大禹修水存图7.23/little_right.png differ diff --git a/资源文件/大禹修水存图7.23/little_up.png b/资源文件/大禹修水存图7.23/little_up.png new file mode 100644 index 0000000..1241d7d Binary files /dev/null and b/资源文件/大禹修水存图7.23/little_up.png differ diff --git a/资源文件/大禹修水存图7.23/little_xirang.png b/资源文件/大禹修水存图7.23/little_xirang.png new file mode 100644 index 0000000..f92ffbf Binary files /dev/null and b/资源文件/大禹修水存图7.23/little_xirang.png differ diff --git a/资源文件/大禹修水存图7.23/progress.png b/资源文件/大禹修水存图7.23/progress.png new file mode 100644 index 0000000..7076b22 Binary files /dev/null and b/资源文件/大禹修水存图7.23/progress.png differ diff --git a/资源文件/大禹修水存图7.23/progressBg.png b/资源文件/大禹修水存图7.23/progressBg.png new file mode 100644 index 0000000..ed460fa Binary files /dev/null and b/资源文件/大禹修水存图7.23/progressBg.png differ diff --git a/资源文件/大禹修水存图7.23/right.png b/资源文件/大禹修水存图7.23/right.png new file mode 100644 index 0000000..bcb697a Binary files /dev/null and b/资源文件/大禹修水存图7.23/right.png differ diff --git a/资源文件/大禹修水存图7.23/shanchu.png b/资源文件/大禹修水存图7.23/shanchu.png new file mode 100644 index 0000000..1208414 Binary files /dev/null and b/资源文件/大禹修水存图7.23/shanchu.png differ diff --git a/资源文件/大禹修水存图7.23/up.png b/资源文件/大禹修水存图7.23/up.png new file mode 100644 index 0000000..b0e2cc0 Binary files /dev/null and b/资源文件/大禹修水存图7.23/up.png differ diff --git a/资源文件/大禹修水存图7.23/xirang.png b/资源文件/大禹修水存图7.23/xirang.png new file mode 100644 index 0000000..ce1d94f Binary files /dev/null and b/资源文件/大禹修水存图7.23/xirang.png differ diff --git a/资源文件/大禹修水存图7.23/大禹修水字体颜色.jpg b/资源文件/大禹修水存图7.23/大禹修水字体颜色.jpg new file mode 100644 index 0000000..665ed7d Binary files /dev/null and b/资源文件/大禹修水存图7.23/大禹修水字体颜色.jpg differ