diff --git a/CHANGELOG.md b/CHANGELOG.md index cf66ef8e..0d381a03 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,21 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## [Unreleased] +### Added +- Added "File > Export PNG" to export the current map as a pixel perfect PNG image. +- Added "Maps" widget which shows a button to load the target map directly +- Generating new entities now adds default properties to it +- All entities with graphics should render correctly now +- improved enemy rendering and respects face direction +- Added "exclude" filter to entities + +### Changed +- Increased dropdown size for String widget + +### Fixed +- Selecting an entity with the grid enabled no longer snaps it automatically until the user actually drags it. +- Fixed rendering of preview image in ScalableProp causing layout jumps + ## [2.2.0] 2026-04-03 ### Changed - Moved "vanilla maps" toggle from settings into the map loading dialog to allow quick switching between mod and vanilla maps [#347](https://github.com/CCDirectLink/crosscode-map-editor/issues/347) diff --git a/backend/src/server.ts b/backend/src/server.ts index 1c2e3247..7baf0761 100644 --- a/backend/src/server.ts +++ b/backend/src/server.ts @@ -29,7 +29,11 @@ app.get('/api/allFilesInFolder', async (req, res) => res.json(await api.getAllFi app.get('/api/allMods', async (_, res) => res.json(await api.getAllMods(config.pathToCrosscode))); app.get('/api/allModMapEditorConfigs', async (_, res) => res.json(await api.getAllModMapEditorConfigs(config.pathToCrosscode))); app.post('/api/get', async (req, res) => { - res.json(await api.get(config.pathToCrosscode, req.body.path)); + try { + res.json(await api.get(config.pathToCrosscode, req.body.path)); + } catch (err) { + res.status(404).json(err); + } }); app.post('/api/resolve', async (req, res) => { try { diff --git a/test-maps/test-all-props.json b/test-maps/test-all-props.json new file mode 100644 index 00000000..5bedc4bd --- /dev/null +++ b/test-maps/test-all-props.json @@ -0,0 +1 @@ +{"name":"tests/test-all-props","levels":[{"height":0}],"mapWidth":229,"mapHeight":182,"masterLevel":0,"attributes":{"saveMode":"ENABLED","volume":1,"bgm":"autumnsRise","cameraInBounds":false,"map-sounds":"NONE","mapStyle":"autumn-outer","weather":"SUNNY","area":"autumn"},"screen":{"x":0,"y":0},"entities":[{"type":"Marker","x":48,"y":48,"level":0,"settings":{"name":"start","dir":"SOUTH","mapId":1,"size":{"x":16,"y":16,"z":0}}},{"type":"Prop","x":24,"y":56,"level":0,"settings":{"name":"","mapId":2,"propType":{"sheet":"arid-dng-outside","name":"boxL"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":62,"y":40,"level":0,"settings":{"name":"","mapId":3,"propType":{"sheet":"arid-dng-outside","name":"boxM1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":84,"y":40,"level":0,"settings":{"name":"","mapId":4,"propType":{"sheet":"arid-dng-outside","name":"boxM2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":122,"y":40,"level":0,"settings":{"name":"","mapId":5,"propType":{"sheet":"arid-dng-outside","name":"boxS"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":144,"y":56,"level":0,"settings":{"name":"","mapId":6,"propType":{"sheet":"arid-dng-outside","name":"boxLRusty"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":182,"y":56,"level":0,"settings":{"name":"","mapId":7,"propType":{"sheet":"arid-dng-outside","name":"boxLRusty2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":220,"y":40,"level":0,"settings":{"name":"","mapId":8,"propType":{"sheet":"arid-dng-outside","name":"boxM1Rusty"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":242,"y":40,"level":0,"settings":{"name":"","mapId":9,"propType":{"sheet":"arid-dng-outside","name":"boxM2Rusty"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":280,"y":40,"level":0,"settings":{"name":"","mapId":10,"propType":{"sheet":"arid-dng-outside","name":"boxSRusty"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":318,"y":104,"level":0,"settings":{"name":"","mapId":11,"propType":{"sheet":"arid-dng-outside","name":"lamp"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":372,"y":104,"level":0,"settings":{"name":"","mapId":12,"propType":{"sheet":"arid-dng-outside","name":"lampRusty"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":410,"y":104,"level":0,"settings":{"name":"","mapId":13,"propType":{"sheet":"arid-furniture","name":"teleport-nw"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":448,"y":104,"level":0,"settings":{"name":"","mapId":14,"propType":{"sheet":"arid-furniture","name":"teleport-ne"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":486,"y":104,"level":0,"settings":{"name":"","mapId":15,"propType":{"sheet":"arid-furniture","name":"teleport-se"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":524,"y":104,"level":0,"settings":{"name":"","mapId":16,"propType":{"sheet":"arid-furniture","name":"teleport-sw"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":582,"y":80,"level":0,"settings":{"name":"","mapId":17,"propType":{"sheet":"arid-furniture","name":"plant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":632,"y":88,"level":0,"settings":{"name":"","mapId":18,"propType":{"sheet":"arid-furniture","name":"plant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":666,"y":56,"level":0,"settings":{"name":"","mapId":19,"propType":{"sheet":"arid-furniture","name":"plant3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":692,"y":40,"level":0,"settings":{"name":"","mapId":20,"propType":{"sheet":"arid-furniture","name":"plant4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":714,"y":40,"level":0,"settings":{"name":"","mapId":21,"propType":{"sheet":"arid-furniture","name":"plant5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":736,"y":40,"level":0,"settings":{"name":"","mapId":22,"propType":{"sheet":"arid-furniture","name":"plant6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":758,"y":36,"level":0,"settings":{"name":"","mapId":23,"propType":{"sheet":"arid-furniture","name":"terminalN"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":796,"y":32,"level":0,"settings":{"name":"","mapId":24,"propType":{"sheet":"arid-furniture","name":"terminalE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":814,"y":32,"level":0,"settings":{"name":"","mapId":25,"propType":{"sheet":"arid-furniture","name":"terminalW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":832,"y":64,"level":0,"settings":{"name":"","mapId":26,"propType":{"sheet":"arid-furniture","name":"shelfE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":850,"y":64,"level":0,"settings":{"name":"","mapId":27,"propType":{"sheet":"arid-furniture","name":"shelfW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":870,"y":44,"level":0,"settings":{"name":"","mapId":28,"propType":{"sheet":"arid-furniture","name":"chair-down"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":892,"y":44,"level":0,"settings":{"name":"","mapId":29,"propType":{"sheet":"arid-furniture","name":"chair-right"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":914,"y":44,"level":0,"settings":{"name":"","mapId":30,"propType":{"sheet":"arid-furniture","name":"chair-left"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":936,"y":44,"level":0,"settings":{"name":"","mapId":31,"propType":{"sheet":"arid-furniture","name":"chair-up"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":956,"y":32,"level":0,"settings":{"name":"","mapId":32,"propType":{"sheet":"arid-furniture","name":"bedEast"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1010,"y":32,"level":0,"settings":{"name":"","mapId":33,"propType":{"sheet":"arid-furniture","name":"bedWest"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1064,"y":40,"level":0,"settings":{"name":"","mapId":34,"propType":{"sheet":"arid-furniture","name":"bedEastEnd"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1078,"y":40,"level":0,"settings":{"name":"","mapId":35,"propType":{"sheet":"arid-furniture","name":"bedWestEnd"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1092,"y":32,"level":0,"settings":{"name":"","mapId":36,"propType":{"sheet":"arid-furniture","name":"bedPlanketEast"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1130,"y":32,"level":0,"settings":{"name":"","mapId":37,"propType":{"sheet":"arid-furniture","name":"bedPlanketWest"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1168,"y":32,"level":0,"settings":{"name":"","mapId":38,"propType":{"sheet":"arid-furniture","name":"bedPillowsEast"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1190,"y":32,"level":0,"settings":{"name":"","mapId":39,"propType":{"sheet":"arid-furniture","name":"bedPillowsWest"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1216,"y":30,"level":0,"settings":{"name":"","mapId":40,"propType":{"sheet":"arid-furniture","name":"groundProjector"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1250,"y":32,"level":0,"settings":{"name":"","mapId":41,"propType":{"sheet":"arid-furniture","name":"table1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1272,"y":32,"level":0,"settings":{"name":"","mapId":42,"propType":{"sheet":"arid-furniture","name":"table2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1294,"y":40,"level":0,"settings":{"name":"","mapId":43,"propType":{"sheet":"arid-furniture","name":"manuelaPortrait"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1316,"y":48,"level":0,"settings":{"name":"","mapId":44,"propType":{"sheet":"arid-interior","name":"slopeNWbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1338,"y":48,"level":0,"settings":{"name":"","mapId":45,"propType":{"sheet":"arid-interior","name":"slopeNWmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1360,"y":48,"level":0,"settings":{"name":"","mapId":46,"propType":{"sheet":"arid-interior","name":"slopeNWtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1382,"y":48,"level":0,"settings":{"name":"","mapId":47,"propType":{"sheet":"arid-interior","name":"slopeNEbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1404,"y":48,"level":0,"settings":{"name":"","mapId":48,"propType":{"sheet":"arid-interior","name":"slopeNEmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1426,"y":48,"level":0,"settings":{"name":"","mapId":49,"propType":{"sheet":"arid-interior","name":"slopeNEtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1448,"y":48,"level":0,"settings":{"name":"","mapId":50,"propType":{"sheet":"arid-interior","name":"slopeSWbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1470,"y":48,"level":0,"settings":{"name":"","mapId":51,"propType":{"sheet":"arid-interior","name":"slopeSWmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1492,"y":48,"level":0,"settings":{"name":"","mapId":52,"propType":{"sheet":"arid-interior","name":"slopeSWtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1514,"y":48,"level":0,"settings":{"name":"","mapId":53,"propType":{"sheet":"arid-interior","name":"slopeSEbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1536,"y":48,"level":0,"settings":{"name":"","mapId":54,"propType":{"sheet":"arid-interior","name":"slopeSEmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1558,"y":48,"level":0,"settings":{"name":"","mapId":55,"propType":{"sheet":"arid-interior","name":"slopeSEtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1580,"y":40,"level":0,"settings":{"name":"","mapId":56,"propType":{"sheet":"arid-interior","name":"pipeConnectH"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1602,"y":40,"level":0,"settings":{"name":"","mapId":57,"propType":{"sheet":"arid-interior","name":"pipeConnectV"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1624,"y":40,"level":0,"settings":{"name":"","mapId":58,"propType":{"sheet":"arid-interior","name":"pipeConnectV2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1646,"y":32,"level":0,"settings":{"name":"","mapId":59,"propType":{"sheet":"arid-interior","name":"pipeStand16"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1668,"y":48,"level":0,"settings":{"name":"","mapId":60,"propType":{"sheet":"arid-interior","name":"pipeStand32"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1690,"y":40,"level":0,"settings":{"name":"","mapId":61,"propType":{"sheet":"arid-interior","name":"elevatorStandWestS"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1708,"y":40,"level":0,"settings":{"name":"","mapId":62,"propType":{"sheet":"arid-interior","name":"elevatorStandEastS"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1726,"y":56,"level":0,"settings":{"name":"","mapId":63,"propType":{"sheet":"arid-interior","name":"elevatorStandWest"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1744,"y":56,"level":0,"settings":{"name":"","mapId":64,"propType":{"sheet":"arid-interior","name":"elevatorStandEast"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1762,"y":56,"level":0,"settings":{"name":"","mapId":65,"propType":{"sheet":"arid-interior","name":"boxL"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1800,"y":40,"level":0,"settings":{"name":"","mapId":66,"propType":{"sheet":"arid-interior","name":"boxM1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1822,"y":40,"level":0,"settings":{"name":"","mapId":67,"propType":{"sheet":"arid-interior","name":"boxM2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1860,"y":40,"level":0,"settings":{"name":"","mapId":68,"propType":{"sheet":"arid-interior","name":"boxS"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1882,"y":40,"level":0,"settings":{"name":"","mapId":69,"propType":{"sheet":"arid-interior","name":"displayNE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1904,"y":24,"level":0,"settings":{"name":"","mapId":70,"propType":{"sheet":"arid-interior","name":"sergeySign"},"propAnim":"signA","condAnims":[]}},{"type":"Prop","x":1942,"y":24,"level":0,"settings":{"name":"","mapId":71,"propType":{"sheet":"arid-interior","name":"elevatorNumber"},"propAnim":"floor0","condAnims":[]}},{"type":"Prop","x":1964,"y":24,"level":0,"settings":{"name":"","mapId":72,"propType":{"sheet":"arid-interior","name":"elevatorNumber"},"propAnim":"floor1","condAnims":[]}},{"type":"Prop","x":1986,"y":24,"level":0,"settings":{"name":"","mapId":73,"propType":{"sheet":"arid-interior","name":"elevatorNumber"},"propAnim":"floor2","condAnims":[]}},{"type":"Prop","x":2008,"y":24,"level":0,"settings":{"name":"","mapId":74,"propType":{"sheet":"arid-interior","name":"elevatorNumber"},"propAnim":"floor3","condAnims":[]}},{"type":"Prop","x":2030,"y":24,"level":0,"settings":{"name":"","mapId":75,"propType":{"sheet":"arid-interior","name":"elevatorNumber"},"propAnim":"floor4","condAnims":[]}},{"type":"Prop","x":2052,"y":24,"level":0,"settings":{"name":"","mapId":76,"propType":{"sheet":"arid-interior","name":"elevatorNumber"},"propAnim":"floorEnd","condAnims":[]}},{"type":"Prop","x":2074,"y":24,"level":0,"settings":{"name":"","mapId":77,"propType":{"sheet":"arid-interior","name":"elevatorNumber"},"propAnim":"floor0On","condAnims":[]}},{"type":"Prop","x":2096,"y":24,"level":0,"settings":{"name":"","mapId":78,"propType":{"sheet":"arid-interior","name":"elevatorNumber"},"propAnim":"floor1On","condAnims":[]}},{"type":"Prop","x":2118,"y":24,"level":0,"settings":{"name":"","mapId":79,"propType":{"sheet":"arid-interior","name":"elevatorNumber"},"propAnim":"floor2On","condAnims":[]}},{"type":"Prop","x":2140,"y":24,"level":0,"settings":{"name":"","mapId":80,"propType":{"sheet":"arid-interior","name":"elevatorNumber"},"propAnim":"floor3On","condAnims":[]}},{"type":"Prop","x":2162,"y":24,"level":0,"settings":{"name":"","mapId":81,"propType":{"sheet":"arid-interior","name":"elevatorNumber"},"propAnim":"floor4On","condAnims":[]}},{"type":"Prop","x":2184,"y":24,"level":0,"settings":{"name":"","mapId":82,"propType":{"sheet":"arid-interior","name":"elevatorNumber"},"propAnim":"floorEndOn","condAnims":[]}},{"type":"Prop","x":2206,"y":24,"level":0,"settings":{"name":"","mapId":83,"propType":{"sheet":"arid-interior","name":"elevatorPadding"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2356,"y":52,"level":0,"settings":{"name":"","mapId":84,"propType":{"sheet":"arid-interior","name":"displayLContent"},"propAnim":"face","condAnims":[]}},{"type":"Prop","x":2434,"y":120,"level":0,"settings":{"name":"","mapId":85,"propType":{"sheet":"arid-lab","name":"glassPipe"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2494,"y":88,"level":0,"settings":{"name":"","mapId":86,"propType":{"sheet":"arid-lab","name":"cables1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2544,"y":88,"level":0,"settings":{"name":"","mapId":87,"propType":{"sheet":"arid-lab","name":"cables2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2602,"y":88,"level":0,"settings":{"name":"","mapId":88,"propType":{"sheet":"arid-lab","name":"cables3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2668,"y":88,"level":0,"settings":{"name":"","mapId":89,"propType":{"sheet":"arid-lab","name":"cables4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2720,"y":52,"level":0,"settings":{"name":"","mapId":90,"propType":{"sheet":"arid-lab","name":"pipeGlow"},"propAnim":"glowA","condAnims":[]}},{"type":"Prop","x":2758,"y":52,"level":0,"settings":{"name":"","mapId":91,"propType":{"sheet":"arid-lab","name":"pipeGlow"},"propAnim":"glowA2","condAnims":[]}},{"type":"Prop","x":2796,"y":52,"level":0,"settings":{"name":"","mapId":92,"propType":{"sheet":"arid-lab","name":"pipeGlow"},"propAnim":"glowB","condAnims":[]}},{"type":"Prop","x":2834,"y":52,"level":0,"settings":{"name":"","mapId":93,"propType":{"sheet":"arid-lab","name":"pipeGlow"},"propAnim":"glowB2","condAnims":[]}},{"type":"Prop","x":2880,"y":56,"level":0,"settings":{"name":"","mapId":94,"propType":{"sheet":"arid-lab","name":"pipeAvatar"},"propAnim":"ctron","condAnims":[]}},{"type":"Prop","x":2918,"y":56,"level":0,"settings":{"name":"","mapId":95,"propType":{"sheet":"arid-lab","name":"pipeAvatar"},"propAnim":"ctron2","condAnims":[]}},{"type":"Prop","x":2956,"y":56,"level":0,"settings":{"name":"","mapId":96,"propType":{"sheet":"arid-lab","name":"pipeAvatar2"},"propAnim":"test","condAnims":[]}},{"type":"Prop","x":2994,"y":56,"level":0,"settings":{"name":"","mapId":97,"propType":{"sheet":"arid-lab","name":"pipeAvatar3"},"propAnim":"test","condAnims":[]}},{"type":"Prop","x":3032,"y":56,"level":0,"settings":{"name":"","mapId":98,"propType":{"sheet":"arid-lab","name":"pipeAvatar4"},"propAnim":"test","condAnims":[]}},{"type":"Prop","x":3070,"y":56,"level":0,"settings":{"name":"","mapId":99,"propType":{"sheet":"arid-lab","name":"pipeAvatar5"},"propAnim":"test","condAnims":[]}},{"type":"Prop","x":3108,"y":56,"level":0,"settings":{"name":"","mapId":100,"propType":{"sheet":"arid-lab","name":"pipeAvatar6"},"propAnim":"test","condAnims":[]}},{"type":"Prop","x":3146,"y":56,"level":0,"settings":{"name":"","mapId":101,"propType":{"sheet":"arid-lab","name":"pipeAvatar7"},"propAnim":"test","condAnims":[]}},{"type":"Prop","x":3184,"y":56,"level":0,"settings":{"name":"","mapId":102,"propType":{"sheet":"arid-lab","name":"pipeAvatar8"},"propAnim":"test","condAnims":[]}},{"type":"Prop","x":3214,"y":64,"level":0,"settings":{"name":"","mapId":103,"propType":{"sheet":"arid","name":"block1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3244,"y":64,"level":0,"settings":{"name":"","mapId":104,"propType":{"sheet":"arid","name":"block2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3274,"y":40,"level":0,"settings":{"name":"","mapId":105,"propType":{"sheet":"arid","name":"barrierH"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3316,"y":40,"level":0,"settings":{"name":"","mapId":106,"propType":{"sheet":"arid","name":"barrierV"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3334,"y":48,"level":0,"settings":{"name":"","mapId":107,"propType":{"sheet":"arid","name":"switchBlock1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3364,"y":48,"level":0,"settings":{"name":"","mapId":108,"propType":{"sheet":"arid","name":"switchBlock2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3394,"y":40,"level":0,"settings":{"name":"","mapId":109,"propType":{"sheet":"arid","name":"pipeConnectH"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3416,"y":40,"level":0,"settings":{"name":"","mapId":110,"propType":{"sheet":"arid","name":"pipeConnectV"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3438,"y":40,"level":0,"settings":{"name":"","mapId":111,"propType":{"sheet":"arid","name":"pipeConnectV2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3460,"y":32,"level":0,"settings":{"name":"","mapId":112,"propType":{"sheet":"arid","name":"pipeStand16"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3482,"y":32,"level":0,"settings":{"name":"","mapId":113,"propType":{"sheet":"arid","name":"pipeStand16Water"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3504,"y":48,"level":0,"settings":{"name":"","mapId":114,"propType":{"sheet":"arid","name":"pipeStand32"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3526,"y":48,"level":0,"settings":{"name":"","mapId":115,"propType":{"sheet":"arid","name":"pipeStand32Water"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3548,"y":64,"level":0,"settings":{"name":"","mapId":116,"propType":{"sheet":"arid","name":"pipeStand48"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3570,"y":24,"level":0,"settings":{"name":"","mapId":117,"propType":{"sheet":"arid","name":"groundSign"},"propAnim":"signAOff","condAnims":[]}},{"type":"Prop","x":24,"y":158,"level":0,"settings":{"name":"","mapId":118,"propType":{"sheet":"arid","name":"groundSign"},"propAnim":"signBOff","condAnims":[]}},{"type":"Prop","x":54,"y":158,"level":0,"settings":{"name":"","mapId":119,"propType":{"sheet":"arid","name":"groundSign"},"propAnim":"signAOn","condAnims":[]}},{"type":"Prop","x":84,"y":158,"level":0,"settings":{"name":"","mapId":120,"propType":{"sheet":"arid","name":"groundSign"},"propAnim":"signBOn","condAnims":[]}},{"type":"Prop","x":114,"y":158,"level":0,"settings":{"name":"","mapId":121,"propType":{"sheet":"arid","name":"groundAR"},"propAnim":"signA","condAnims":[]}},{"type":"Prop","x":152,"y":158,"level":0,"settings":{"name":"","mapId":122,"propType":{"sheet":"arid","name":"groundAR"},"propAnim":"signB","condAnims":[]}},{"type":"Prop","x":190,"y":206,"level":0,"settings":{"name":"","mapId":123,"propType":{"sheet":"arid","name":"groundLight"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":220,"y":174,"level":0,"settings":{"name":"","mapId":124,"propType":{"sheet":"arid","name":"bridgeRailW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":274,"y":174,"level":0,"settings":{"name":"","mapId":125,"propType":{"sheet":"arid","name":"bridgeRailE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":328,"y":174,"level":0,"settings":{"name":"","mapId":126,"propType":{"sheet":"arid","name":"bridgeRailS"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":342,"y":182,"level":0,"settings":{"name":"","mapId":127,"propType":{"sheet":"arid","name":"bridgeRailN"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":359,"y":166,"level":0,"settings":{"name":"","mapId":128,"propType":{"sheet":"arid","name":"stone1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":394,"y":166,"level":0,"settings":{"name":"","mapId":129,"propType":{"sheet":"arid","name":"stone2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":437,"y":166,"level":0,"settings":{"name":"","mapId":130,"propType":{"sheet":"arid","name":"stone3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":468,"y":164,"level":0,"settings":{"name":"","mapId":131,"propType":{"sheet":"arid","name":"stone4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":495,"y":222,"level":0,"settings":{"name":"","mapId":132,"propType":{"sheet":"arid","name":"signpost"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":517,"y":158,"level":0,"settings":{"name":"","mapId":133,"propType":{"sheet":"arid","name":"arSignW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":547,"y":158,"level":0,"settings":{"name":"","mapId":134,"propType":{"sheet":"arid","name":"arSignE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":577,"y":166,"level":0,"settings":{"name":"","mapId":135,"propType":{"sheet":"arid","name":"arSignNW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":599,"y":166,"level":0,"settings":{"name":"","mapId":136,"propType":{"sheet":"arid","name":"arSignNE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":621,"y":166,"level":0,"settings":{"name":"","mapId":137,"propType":{"sheet":"arid","name":"arSignSE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":643,"y":166,"level":0,"settings":{"name":"","mapId":138,"propType":{"sheet":"arid","name":"arSignSW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":665,"y":174,"level":0,"settings":{"name":"","mapId":139,"propType":{"sheet":"arid","name":"arSignSquareE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":687,"y":174,"level":0,"settings":{"name":"","mapId":140,"propType":{"sheet":"arid","name":"arSignSquareW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":709,"y":166,"level":0,"settings":{"name":"","mapId":141,"propType":{"sheet":"arid","name":"flowerM"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":747,"y":162,"level":0,"settings":{"name":"","mapId":142,"propType":{"sheet":"arid","name":"flowerS"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":781,"y":190,"level":0,"settings":{"name":"","mapId":143,"propType":{"sheet":"arid","name":"flowerL"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":819,"y":214,"level":0,"settings":{"name":"","mapId":144,"propType":{"sheet":"arid","name":"flowerXL"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":861,"y":182,"level":0,"settings":{"name":"","mapId":145,"propType":{"sheet":"arid","name":"plant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":899,"y":182,"level":0,"settings":{"name":"","mapId":146,"propType":{"sheet":"arid","name":"plant1f"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":937,"y":182,"level":0,"settings":{"name":"","mapId":147,"propType":{"sheet":"arid","name":"plant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":975,"y":182,"level":0,"settings":{"name":"","mapId":148,"propType":{"sheet":"arid","name":"plant2f"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1013,"y":182,"level":0,"settings":{"name":"","mapId":149,"propType":{"sheet":"arid","name":"plant3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1051,"y":182,"level":0,"settings":{"name":"","mapId":150,"propType":{"sheet":"arid","name":"plant3f"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1089,"y":190,"level":0,"settings":{"name":"","mapId":151,"propType":{"sheet":"arid","name":"plant4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1127,"y":190,"level":0,"settings":{"name":"","mapId":152,"propType":{"sheet":"arid","name":"plant4f"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1157,"y":174,"level":0,"settings":{"name":"","mapId":153,"propType":{"sheet":"arid","name":"plantDry1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1179,"y":174,"level":0,"settings":{"name":"","mapId":154,"propType":{"sheet":"arid","name":"plantDry2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1209,"y":182,"level":0,"settings":{"name":"","mapId":155,"propType":{"sheet":"arid","name":"plantDry3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1247,"y":182,"level":0,"settings":{"name":"","mapId":156,"propType":{"sheet":"arid","name":"plantDry4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1281,"y":174,"level":0,"settings":{"name":"","mapId":157,"propType":{"sheet":"arid","name":"waterPlant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1319,"y":174,"level":0,"settings":{"name":"","mapId":158,"propType":{"sheet":"arid","name":"waterPlant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1357,"y":174,"level":0,"settings":{"name":"","mapId":159,"propType":{"sheet":"arid","name":"waterPlant3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1395,"y":174,"level":0,"settings":{"name":"","mapId":160,"propType":{"sheet":"arid","name":"waterPlant4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1433,"y":174,"level":0,"settings":{"name":"","mapId":161,"propType":{"sheet":"arid","name":"waterPlant5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1471,"y":174,"level":0,"settings":{"name":"","mapId":162,"propType":{"sheet":"arid","name":"waterPlant6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1509,"y":174,"level":0,"settings":{"name":"","mapId":163,"propType":{"sheet":"arid","name":"waterPlant7"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1547,"y":158,"level":0,"settings":{"name":"","mapId":164,"propType":{"sheet":"arid","name":"waterPlantS1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1585,"y":158,"level":0,"settings":{"name":"","mapId":165,"propType":{"sheet":"arid","name":"waterPlantS2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1623,"y":158,"level":0,"settings":{"name":"","mapId":166,"propType":{"sheet":"arid","name":"waterPlantS3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1681,"y":238,"level":0,"settings":{"name":"","mapId":167,"propType":{"sheet":"arid","name":"tree1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1767,"y":238,"level":0,"settings":{"name":"","mapId":168,"propType":{"sheet":"arid","name":"tree1f"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1853,"y":238,"level":0,"settings":{"name":"","mapId":169,"propType":{"sheet":"arid","name":"tree2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1939,"y":238,"level":0,"settings":{"name":"","mapId":170,"propType":{"sheet":"arid","name":"tree2f"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2025,"y":238,"level":0,"settings":{"name":"","mapId":171,"propType":{"sheet":"arid","name":"tree3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2111,"y":238,"level":0,"settings":{"name":"","mapId":172,"propType":{"sheet":"arid","name":"tree3f"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2189,"y":238,"level":0,"settings":{"name":"","mapId":173,"propType":{"sheet":"arid","name":"tree4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2259,"y":238,"level":0,"settings":{"name":"","mapId":174,"propType":{"sheet":"arid","name":"tree4f"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2313,"y":190,"level":0,"settings":{"name":"","mapId":175,"propType":{"sheet":"arid","name":"box"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2351,"y":162,"level":0,"settings":{"name":"","mapId":176,"propType":{"sheet":"autumn","name":"obsPlate"},"propAnim":"chakOff","condAnims":[]}},{"type":"Prop","x":2389,"y":162,"level":0,"settings":{"name":"","mapId":177,"propType":{"sheet":"autumn","name":"obsPlate"},"propAnim":"chakOn","condAnims":[]}},{"type":"Prop","x":2427,"y":162,"level":0,"settings":{"name":"","mapId":178,"propType":{"sheet":"autumn","name":"obsPlate"},"propAnim":"shieldOff","condAnims":[]}},{"type":"Prop","x":2465,"y":162,"level":0,"settings":{"name":"","mapId":179,"propType":{"sheet":"autumn","name":"obsPlate"},"propAnim":"shieldOn","condAnims":[]}},{"type":"Prop","x":2503,"y":162,"level":0,"settings":{"name":"","mapId":180,"propType":{"sheet":"autumn","name":"obsPlate"},"propAnim":"swordOff","condAnims":[]}},{"type":"Prop","x":2541,"y":162,"level":0,"settings":{"name":"","mapId":181,"propType":{"sheet":"autumn","name":"obsPlate"},"propAnim":"swordOn","condAnims":[]}},{"type":"Prop","x":2579,"y":162,"level":0,"settings":{"name":"","mapId":182,"propType":{"sheet":"autumn","name":"obsPlate"},"propAnim":"fistOff","condAnims":[]}},{"type":"Prop","x":2617,"y":162,"level":0,"settings":{"name":"","mapId":183,"propType":{"sheet":"autumn","name":"obsPlate"},"propAnim":"fistOn","condAnims":[]}},{"type":"Prop","x":2655,"y":162,"level":0,"settings":{"name":"","mapId":184,"propType":{"sheet":"autumn","name":"obsPlate"},"propAnim":"deckOff","condAnims":[]}},{"type":"Prop","x":2693,"y":162,"level":0,"settings":{"name":"","mapId":185,"propType":{"sheet":"autumn","name":"obsPlate"},"propAnim":"deckOn","condAnims":[]}},{"type":"Prop","x":2754,"y":236,"level":0,"settings":{"name":"","mapId":186,"propType":{"sheet":"autumn","name":"apple-tree1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2822,"y":236,"level":0,"settings":{"name":"","mapId":187,"propType":{"sheet":"autumn","name":"apple-tree2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2890,"y":236,"level":0,"settings":{"name":"","mapId":188,"propType":{"sheet":"autumn","name":"apple-tree3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2958,"y":236,"level":0,"settings":{"name":"","mapId":189,"propType":{"sheet":"autumn","name":"apple-tree4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3026,"y":236,"level":0,"settings":{"name":"","mapId":190,"propType":{"sheet":"autumn","name":"apple-tree5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3094,"y":236,"level":0,"settings":{"name":"","mapId":191,"propType":{"sheet":"autumn","name":"apple-tree6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3162,"y":236,"level":0,"settings":{"name":"","mapId":192,"propType":{"sheet":"autumn","name":"tree1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3230,"y":236,"level":0,"settings":{"name":"","mapId":193,"propType":{"sheet":"autumn","name":"tree2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3298,"y":236,"level":0,"settings":{"name":"","mapId":194,"propType":{"sheet":"autumn","name":"tree3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3366,"y":236,"level":0,"settings":{"name":"","mapId":195,"propType":{"sheet":"autumn","name":"tree4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3430,"y":252,"level":0,"settings":{"name":"","mapId":196,"propType":{"sheet":"autumn","name":"tree5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3496,"y":224,"level":0,"settings":{"name":"","mapId":197,"propType":{"sheet":"autumn","name":"tree6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":35,"y":344,"level":0,"settings":{"name":"","mapId":198,"propType":{"sheet":"autumn","name":"cubaum"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":68,"y":314,"level":0,"settings":{"name":"","mapId":199,"propType":{"sheet":"autumn","name":"block1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":98,"y":314,"level":0,"settings":{"name":"","mapId":200,"propType":{"sheet":"autumn","name":"block2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":128,"y":314,"level":0,"settings":{"name":"","mapId":201,"propType":{"sheet":"autumn","name":"barrierBlock1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":158,"y":314,"level":0,"settings":{"name":"","mapId":202,"propType":{"sheet":"autumn","name":"barrierBlock2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":188,"y":314,"level":0,"settings":{"name":"","mapId":203,"propType":{"sheet":"autumn","name":"barrierBlock3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":220,"y":290,"level":0,"settings":{"name":"","mapId":204,"propType":{"sheet":"autumn","name":"stone1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":257,"y":290,"level":0,"settings":{"name":"","mapId":205,"propType":{"sheet":"autumn","name":"stone2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":303,"y":290,"level":0,"settings":{"name":"","mapId":206,"propType":{"sheet":"autumn","name":"stone3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":334,"y":288,"level":0,"settings":{"name":"","mapId":207,"propType":{"sheet":"autumn","name":"stone4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":369,"y":298,"level":0,"settings":{"name":"","mapId":208,"propType":{"sheet":"autumn","name":"plant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":399,"y":298,"level":0,"settings":{"name":"","mapId":209,"propType":{"sheet":"autumn","name":"plant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":429,"y":298,"level":0,"settings":{"name":"","mapId":210,"propType":{"sheet":"autumn","name":"plant3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":459,"y":298,"level":0,"settings":{"name":"","mapId":211,"propType":{"sheet":"autumn","name":"plant4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":481,"y":338,"level":0,"settings":{"name":"","mapId":212,"propType":{"sheet":"autumn","name":"signpost"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":503,"y":274,"level":0,"settings":{"name":"","mapId":213,"propType":{"sheet":"autumn","name":"arSignW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":533,"y":274,"level":0,"settings":{"name":"","mapId":214,"propType":{"sheet":"autumn","name":"arSignE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":563,"y":282,"level":0,"settings":{"name":"","mapId":215,"propType":{"sheet":"autumn","name":"arSignNW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":585,"y":282,"level":0,"settings":{"name":"","mapId":216,"propType":{"sheet":"autumn","name":"arSignNE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":607,"y":282,"level":0,"settings":{"name":"","mapId":217,"propType":{"sheet":"autumn","name":"arSignSE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":629,"y":282,"level":0,"settings":{"name":"","mapId":218,"propType":{"sheet":"autumn","name":"arSignSW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":651,"y":290,"level":0,"settings":{"name":"","mapId":219,"propType":{"sheet":"autumn","name":"arSignSquareE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":673,"y":290,"level":0,"settings":{"name":"","mapId":220,"propType":{"sheet":"autumn","name":"arSignSquareW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":695,"y":290,"level":0,"settings":{"name":"","mapId":221,"propType":{"sheet":"autumn","name":"arSignCenter"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":733,"y":290,"level":0,"settings":{"name":"","mapId":222,"propType":{"sheet":"autumn","name":"bridgeRailW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":787,"y":290,"level":0,"settings":{"name":"","mapId":223,"propType":{"sheet":"autumn","name":"bridgeRailE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":841,"y":290,"level":0,"settings":{"name":"","mapId":224,"propType":{"sheet":"autumn","name":"bridgeRailS"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":855,"y":298,"level":0,"settings":{"name":"","mapId":225,"propType":{"sheet":"autumn","name":"bridgeRailN"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":869,"y":274,"level":0,"settings":{"name":"","mapId":226,"propType":{"sheet":"autumn","name":"barrierSign"},"propAnim":"leafOff","condAnims":[]}},{"type":"Prop","x":899,"y":274,"level":0,"settings":{"name":"","mapId":227,"propType":{"sheet":"autumn","name":"barrierSign"},"propAnim":"leafOn","condAnims":[]}},{"type":"Prop","x":929,"y":274,"level":0,"settings":{"name":"","mapId":228,"propType":{"sheet":"autumn","name":"barrierSignFlame"},"propAnim":"off","condAnims":[]}},{"type":"Prop","x":959,"y":274,"level":0,"settings":{"name":"","mapId":229,"propType":{"sheet":"autumn","name":"barrierSignFlame"},"propAnim":"on","condAnims":[]}},{"type":"Prop","x":989,"y":274,"level":0,"settings":{"name":"","mapId":230,"propType":{"sheet":"autumn","name":"barrierSignLightning"},"propAnim":"off","condAnims":[]}},{"type":"Prop","x":1019,"y":274,"level":0,"settings":{"name":"","mapId":231,"propType":{"sheet":"autumn","name":"barrierSignLightning"},"propAnim":"on","condAnims":[]}},{"type":"Prop","x":1049,"y":274,"level":0,"settings":{"name":"","mapId":232,"propType":{"sheet":"autumn","name":"barrierSignSeed"},"propAnim":"off","condAnims":[]}},{"type":"Prop","x":1079,"y":274,"level":0,"settings":{"name":"","mapId":233,"propType":{"sheet":"autumn","name":"barrierSignSeed"},"propAnim":"on","condAnims":[]}},{"type":"Prop","x":1109,"y":274,"level":0,"settings":{"name":"","mapId":234,"propType":{"sheet":"autumn","name":"barrierSignStar"},"propAnim":"off","condAnims":[]}},{"type":"Prop","x":1139,"y":274,"level":0,"settings":{"name":"","mapId":235,"propType":{"sheet":"autumn","name":"barrierSignStar"},"propAnim":"on","condAnims":[]}},{"type":"Prop","x":1169,"y":306,"level":0,"settings":{"name":"","mapId":236,"propType":{"sheet":"autumn","name":"barrierLine"},"propAnim":"blocked","condAnims":[]}},{"type":"Prop","x":1183,"y":306,"level":0,"settings":{"name":"","mapId":237,"propType":{"sheet":"autumn","name":"barrierLine"},"propAnim":"free","condAnims":[]}},{"type":"Prop","x":1197,"y":290,"level":0,"settings":{"name":"","mapId":238,"propType":{"sheet":"autumn","name":"probe"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":1227,"y":290,"level":0,"settings":{"name":"","mapId":239,"propType":{"sheet":"autumn","name":"probe"},"propAnim":"on","condAnims":[]}},{"type":"Prop","x":1257,"y":290,"level":0,"settings":{"name":"","mapId":240,"propType":{"sheet":"autumn","name":"probe"},"propAnim":"off","condAnims":[]}},{"type":"Prop","x":1287,"y":306,"level":0,"settings":{"name":"","mapId":241,"propType":{"sheet":"beach","name":"starStatue"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1325,"y":302,"level":0,"settings":{"name":"","mapId":242,"propType":{"sheet":"beach","name":"waterfallTopEnd"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":1347,"y":278,"level":0,"settings":{"name":"","mapId":243,"propType":{"sheet":"beach","name":"waterfallTop"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":1369,"y":274,"level":0,"settings":{"name":"","mapId":244,"propType":{"sheet":"beach","name":"waterfallMiddle"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":1391,"y":277,"level":0,"settings":{"name":"","mapId":245,"propType":{"sheet":"beach","name":"waterfallBottom"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":1413,"y":302,"level":0,"settings":{"name":"","mapId":246,"propType":{"sheet":"beach","name":"waterfallBottomEnd"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":1435,"y":298,"level":0,"settings":{"name":"","mapId":247,"propType":{"sheet":"beach","name":"fenceWaterWay"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1457,"y":298,"level":0,"settings":{"name":"","mapId":248,"propType":{"sheet":"beach","name":"fenceBrokenWEST"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1479,"y":298,"level":0,"settings":{"name":"","mapId":249,"propType":{"sheet":"beach","name":"fenceBrokenEAST"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1501,"y":286,"level":0,"settings":{"name":"","mapId":250,"propType":{"sheet":"beach","name":"barnacleSmall6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1523,"y":286,"level":0,"settings":{"name":"","mapId":251,"propType":{"sheet":"beach","name":"barnacleSmall5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1545,"y":278,"level":0,"settings":{"name":"","mapId":252,"propType":{"sheet":"beach","name":"barnacleSmall4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1559,"y":278,"level":0,"settings":{"name":"","mapId":253,"propType":{"sheet":"beach","name":"barnacleSmall3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1581,"y":278,"level":0,"settings":{"name":"","mapId":254,"propType":{"sheet":"beach","name":"barnacleSmall3F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1603,"y":278,"level":0,"settings":{"name":"","mapId":255,"propType":{"sheet":"beach","name":"barnacleSmall2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1617,"y":278,"level":0,"settings":{"name":"","mapId":256,"propType":{"sheet":"beach","name":"barnacleSmall1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1639,"y":278,"level":0,"settings":{"name":"","mapId":257,"propType":{"sheet":"beach","name":"barnacleSmall1F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1673,"y":298,"level":0,"settings":{"name":"","mapId":258,"propType":{"sheet":"beach","name":"junglePlant3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1719,"y":298,"level":0,"settings":{"name":"","mapId":259,"propType":{"sheet":"beach","name":"junglePlant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1765,"y":298,"level":0,"settings":{"name":"","mapId":260,"propType":{"sheet":"beach","name":"junglePlant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1843,"y":354,"level":0,"settings":{"name":"","mapId":261,"propType":{"sheet":"beach","name":"jungleTree1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1909,"y":274,"level":0,"settings":{"name":"","mapId":262,"propType":{"sheet":"beach","name":"waterCoral1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1963,"y":274,"level":0,"settings":{"name":"","mapId":263,"propType":{"sheet":"beach","name":"algae3F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2001,"y":274,"level":0,"settings":{"name":"","mapId":264,"propType":{"sheet":"beach","name":"algae3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2043,"y":274,"level":0,"settings":{"name":"","mapId":265,"propType":{"sheet":"beach","name":"algae2F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2089,"y":274,"level":0,"settings":{"name":"","mapId":266,"propType":{"sheet":"beach","name":"algae2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2131,"y":274,"level":0,"settings":{"name":"","mapId":267,"propType":{"sheet":"beach","name":"algae1F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2153,"y":274,"level":0,"settings":{"name":"","mapId":268,"propType":{"sheet":"beach","name":"algae1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2175,"y":274,"level":0,"settings":{"name":"","mapId":269,"propType":{"sheet":"beach","name":"seaStar3T"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2205,"y":274,"level":0,"settings":{"name":"","mapId":270,"propType":{"sheet":"beach","name":"seaStar3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2235,"y":274,"level":0,"settings":{"name":"","mapId":271,"propType":{"sheet":"beach","name":"seaStar2T"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2265,"y":274,"level":0,"settings":{"name":"","mapId":272,"propType":{"sheet":"beach","name":"seaStar2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2295,"y":274,"level":0,"settings":{"name":"","mapId":273,"propType":{"sheet":"beach","name":"seaStar1T"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2325,"y":274,"level":0,"settings":{"name":"","mapId":274,"propType":{"sheet":"beach","name":"seaStar1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2359,"y":290,"level":0,"settings":{"name":"","mapId":275,"propType":{"sheet":"beach","name":"coralFlat3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2413,"y":290,"level":0,"settings":{"name":"","mapId":276,"propType":{"sheet":"beach","name":"coralFlat2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2467,"y":290,"level":0,"settings":{"name":"","mapId":277,"propType":{"sheet":"beach","name":"coralFlat1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2521,"y":282,"level":0,"settings":{"name":"","mapId":278,"propType":{"sheet":"beach","name":"coralFlower3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2575,"y":282,"level":0,"settings":{"name":"","mapId":279,"propType":{"sheet":"beach","name":"coralFlower2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2629,"y":282,"level":0,"settings":{"name":"","mapId":280,"propType":{"sheet":"beach","name":"coralFlower1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2691,"y":314,"level":0,"settings":{"name":"","mapId":281,"propType":{"sheet":"beach","name":"coralYellow2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2737,"y":314,"level":0,"settings":{"name":"","mapId":282,"propType":{"sheet":"beach","name":"coralPurple2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2783,"y":314,"level":0,"settings":{"name":"","mapId":283,"propType":{"sheet":"beach","name":"coralRed2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2825,"y":306,"level":0,"settings":{"name":"","mapId":284,"propType":{"sheet":"beach","name":"coralYellow1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2879,"y":306,"level":0,"settings":{"name":"","mapId":285,"propType":{"sheet":"beach","name":"coralPurple1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2933,"y":306,"level":0,"settings":{"name":"","mapId":286,"propType":{"sheet":"beach","name":"coralRed1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2991,"y":314,"level":0,"settings":{"name":"","mapId":287,"propType":{"sheet":"beach","name":"coralYellow2F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3037,"y":314,"level":0,"settings":{"name":"","mapId":288,"propType":{"sheet":"beach","name":"coralPurple2F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3083,"y":314,"level":0,"settings":{"name":"","mapId":289,"propType":{"sheet":"beach","name":"coralRed2F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3125,"y":306,"level":0,"settings":{"name":"","mapId":290,"propType":{"sheet":"beach","name":"coralYellow1F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3179,"y":306,"level":0,"settings":{"name":"","mapId":291,"propType":{"sheet":"beach","name":"coralPurple1F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3233,"y":306,"level":0,"settings":{"name":"","mapId":292,"propType":{"sheet":"beach","name":"coralRed1F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3287,"y":294,"level":0,"settings":{"name":"","mapId":293,"propType":{"sheet":"beach","name":"coralBush6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3325,"y":294,"level":0,"settings":{"name":"","mapId":294,"propType":{"sheet":"beach","name":"coralBush5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3363,"y":294,"level":0,"settings":{"name":"","mapId":295,"propType":{"sheet":"beach","name":"coralBush4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3403,"y":290,"level":0,"settings":{"name":"","mapId":296,"propType":{"sheet":"beach","name":"coralBush3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3449,"y":290,"level":0,"settings":{"name":"","mapId":297,"propType":{"sheet":"beach","name":"coralBush2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3495,"y":290,"level":0,"settings":{"name":"","mapId":298,"propType":{"sheet":"beach","name":"coralBush1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3539,"y":314,"level":0,"settings":{"name":"","mapId":299,"propType":{"sheet":"beach","name":"coralPipe3F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":32,"y":416,"level":0,"settings":{"name":"","mapId":300,"propType":{"sheet":"beach","name":"coralPipe3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":70,"y":400,"level":0,"settings":{"name":"","mapId":301,"propType":{"sheet":"beach","name":"coralPipe3SmallF"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":108,"y":400,"level":0,"settings":{"name":"","mapId":302,"propType":{"sheet":"beach","name":"coralPipe3Small"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":146,"y":416,"level":0,"settings":{"name":"","mapId":303,"propType":{"sheet":"beach","name":"coralPipe2F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":184,"y":400,"level":0,"settings":{"name":"","mapId":304,"propType":{"sheet":"beach","name":"coralPipe2SmallF"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":222,"y":400,"level":0,"settings":{"name":"","mapId":305,"propType":{"sheet":"beach","name":"coralPipe2Small"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":260,"y":416,"level":0,"settings":{"name":"","mapId":306,"propType":{"sheet":"beach","name":"coralPipe2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":298,"y":416,"level":0,"settings":{"name":"","mapId":307,"propType":{"sheet":"beach","name":"coralPipe1F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":336,"y":416,"level":0,"settings":{"name":"","mapId":308,"propType":{"sheet":"beach","name":"coralPipe1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":374,"y":400,"level":0,"settings":{"name":"","mapId":309,"propType":{"sheet":"beach","name":"coralPipe1SmallF"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":412,"y":400,"level":0,"settings":{"name":"","mapId":310,"propType":{"sheet":"beach","name":"coralPipe1Small"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":455,"y":396,"level":0,"settings":{"name":"","mapId":311,"propType":{"sheet":"beach","name":"algaeStone1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":508,"y":394,"level":0,"settings":{"name":"","mapId":312,"propType":{"sheet":"beach","name":"algaeStone2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":571,"y":392,"level":0,"settings":{"name":"","mapId":313,"propType":{"sheet":"beach","name":"algaeStone3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":610,"y":390,"level":0,"settings":{"name":"","mapId":314,"propType":{"sheet":"beach","name":"algaeStone4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":641,"y":392,"level":0,"settings":{"name":"","mapId":315,"propType":{"sheet":"beach","name":"barnacleGrey2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":679,"y":392,"level":0,"settings":{"name":"","mapId":316,"propType":{"sheet":"beach","name":"barnacleGrey1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":725,"y":392,"level":0,"settings":{"name":"","mapId":317,"propType":{"sheet":"beach","name":"barnacleRed2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":763,"y":392,"level":0,"settings":{"name":"","mapId":318,"propType":{"sheet":"beach","name":"barnacleRed1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":805,"y":404,"level":0,"settings":{"name":"","mapId":319,"propType":{"sheet":"beach","name":"borderAlgae2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":827,"y":404,"level":0,"settings":{"name":"","mapId":320,"propType":{"sheet":"beach","name":"borderAlgae1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":849,"y":404,"level":0,"settings":{"name":"","mapId":321,"propType":{"sheet":"beach","name":"borderAlgae1F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":871,"y":404,"level":0,"settings":{"name":"","mapId":322,"propType":{"sheet":"beach","name":"borderAlgae2F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":893,"y":392,"level":0,"settings":{"name":"","mapId":323,"propType":{"sheet":"beach","name":"smallCoralOrange5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":923,"y":392,"level":0,"settings":{"name":"","mapId":324,"propType":{"sheet":"beach","name":"smallCoralOrange4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":945,"y":392,"level":0,"settings":{"name":"","mapId":325,"propType":{"sheet":"beach","name":"smallCoralOrange3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":967,"y":392,"level":0,"settings":{"name":"","mapId":326,"propType":{"sheet":"beach","name":"smallCoralOrange2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":989,"y":392,"level":0,"settings":{"name":"","mapId":327,"propType":{"sheet":"beach","name":"smallCoralOrange1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1011,"y":392,"level":0,"settings":{"name":"","mapId":328,"propType":{"sheet":"beach","name":"smallCoralRed5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1041,"y":392,"level":0,"settings":{"name":"","mapId":329,"propType":{"sheet":"beach","name":"smallCoralRed4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1063,"y":392,"level":0,"settings":{"name":"","mapId":330,"propType":{"sheet":"beach","name":"smallCoralRed3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1085,"y":392,"level":0,"settings":{"name":"","mapId":331,"propType":{"sheet":"beach","name":"smallCoralRed2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1107,"y":392,"level":0,"settings":{"name":"","mapId":332,"propType":{"sheet":"beach","name":"smallCoralRed1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1129,"y":392,"level":0,"settings":{"name":"","mapId":333,"propType":{"sheet":"beach","name":"smallCoralPurp5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1159,"y":392,"level":0,"settings":{"name":"","mapId":334,"propType":{"sheet":"beach","name":"smallCoralPurp4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1181,"y":392,"level":0,"settings":{"name":"","mapId":335,"propType":{"sheet":"beach","name":"smallCoralPurp3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1203,"y":392,"level":0,"settings":{"name":"","mapId":336,"propType":{"sheet":"beach","name":"smallCoralPurp2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1225,"y":392,"level":0,"settings":{"name":"","mapId":337,"propType":{"sheet":"beach","name":"smallCoralPurp1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1247,"y":392,"level":0,"settings":{"name":"","mapId":338,"propType":{"sheet":"beach","name":"smallCoralOrange5F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1277,"y":392,"level":0,"settings":{"name":"","mapId":339,"propType":{"sheet":"beach","name":"smallCoralOrange4F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1299,"y":392,"level":0,"settings":{"name":"","mapId":340,"propType":{"sheet":"beach","name":"smallCoralOrange3F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1321,"y":392,"level":0,"settings":{"name":"","mapId":341,"propType":{"sheet":"beach","name":"smallCoralOrange2F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1343,"y":392,"level":0,"settings":{"name":"","mapId":342,"propType":{"sheet":"beach","name":"smallCoralOrange1F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1365,"y":392,"level":0,"settings":{"name":"","mapId":343,"propType":{"sheet":"beach","name":"smallCoralRed5F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1395,"y":392,"level":0,"settings":{"name":"","mapId":344,"propType":{"sheet":"beach","name":"smallCoralRed4F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1417,"y":392,"level":0,"settings":{"name":"","mapId":345,"propType":{"sheet":"beach","name":"smallCoralRed3F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1439,"y":392,"level":0,"settings":{"name":"","mapId":346,"propType":{"sheet":"beach","name":"smallCoralRed2F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1461,"y":392,"level":0,"settings":{"name":"","mapId":347,"propType":{"sheet":"beach","name":"smallCoralRed1F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1483,"y":392,"level":0,"settings":{"name":"","mapId":348,"propType":{"sheet":"beach","name":"smallCoralPurp5F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1513,"y":392,"level":0,"settings":{"name":"","mapId":349,"propType":{"sheet":"beach","name":"smallCoralPurp4F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1535,"y":392,"level":0,"settings":{"name":"","mapId":350,"propType":{"sheet":"beach","name":"smallCoralPurp3F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1557,"y":392,"level":0,"settings":{"name":"","mapId":351,"propType":{"sheet":"beach","name":"smallCoralPurp2F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1579,"y":392,"level":0,"settings":{"name":"","mapId":352,"propType":{"sheet":"beach","name":"smallCoralPurp1F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1601,"y":376,"level":0,"settings":{"name":"","mapId":353,"propType":{"sheet":"beach","name":"borderPlantDiag2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1639,"y":376,"level":0,"settings":{"name":"","mapId":354,"propType":{"sheet":"beach","name":"borderPlantDiag2F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1677,"y":376,"level":0,"settings":{"name":"","mapId":355,"propType":{"sheet":"beach","name":"borderPlantDiag3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1699,"y":376,"level":0,"settings":{"name":"","mapId":356,"propType":{"sheet":"beach","name":"borderPlantDiag3F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1721,"y":376,"level":0,"settings":{"name":"","mapId":357,"propType":{"sheet":"beach","name":"borderPlantDiag1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1759,"y":376,"level":0,"settings":{"name":"","mapId":358,"propType":{"sheet":"beach","name":"borderPlantDiag1F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1797,"y":392,"level":0,"settings":{"name":"","mapId":359,"propType":{"sheet":"beach","name":"grass1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1823,"y":392,"level":0,"settings":{"name":"","mapId":360,"propType":{"sheet":"beach","name":"grass2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1853,"y":400,"level":0,"settings":{"name":"","mapId":361,"propType":{"sheet":"beach","name":"grass3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1879,"y":376,"level":0,"settings":{"name":"","mapId":362,"propType":{"sheet":"beach","name":"smallPlant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1909,"y":395,"level":0,"settings":{"name":"","mapId":363,"propType":{"sheet":"beach","name":"borderPlant4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1947,"y":395,"level":0,"settings":{"name":"","mapId":364,"propType":{"sheet":"beach","name":"borderPlant4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1985,"y":400,"level":0,"settings":{"name":"","mapId":365,"propType":{"sheet":"beach","name":"borderPlant3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2023,"y":388,"level":0,"settings":{"name":"","mapId":366,"propType":{"sheet":"beach","name":"borderPlant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2065,"y":406,"level":0,"settings":{"name":"","mapId":367,"propType":{"sheet":"beach","name":"borderPlant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2099,"y":376,"level":0,"settings":{"name":"","mapId":368,"propType":{"sheet":"beach","name":"borderPlantFlat1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2129,"y":376,"level":0,"settings":{"name":"","mapId":369,"propType":{"sheet":"beach","name":"borderPlantFlat2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2159,"y":376,"level":0,"settings":{"name":"","mapId":370,"propType":{"sheet":"beach","name":"borderPlantFlat3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2191,"y":396,"level":0,"settings":{"name":"","mapId":371,"propType":{"sheet":"beach","name":"edgePlant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2213,"y":396,"level":0,"settings":{"name":"","mapId":372,"propType":{"sheet":"beach","name":"edgePlant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2243,"y":396,"level":0,"settings":{"name":"","mapId":373,"propType":{"sheet":"beach","name":"edgePlant1F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2273,"y":396,"level":0,"settings":{"name":"","mapId":374,"propType":{"sheet":"beach","name":"edgePlant2F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2299,"y":388,"level":0,"settings":{"name":"","mapId":375,"propType":{"sheet":"beach","name":"brownStone1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2331,"y":388,"level":0,"settings":{"name":"","mapId":376,"propType":{"sheet":"beach","name":"brownStone2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2369,"y":384,"level":0,"settings":{"name":"","mapId":377,"propType":{"sheet":"beach","name":"brownStone3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2395,"y":384,"level":0,"settings":{"name":"","mapId":378,"propType":{"sheet":"beach","name":"brownStone4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2441,"y":416,"level":0,"settings":{"name":"","mapId":379,"propType":{"sheet":"beach","name":"palmTree1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2503,"y":424,"level":0,"settings":{"name":"","mapId":380,"propType":{"sheet":"beach","name":"palmTree2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2557,"y":424,"level":0,"settings":{"name":"","mapId":381,"propType":{"sheet":"beach","name":"palmTree2F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2611,"y":424,"level":0,"settings":{"name":"","mapId":382,"propType":{"sheet":"beach","name":"palmTree2coco"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2665,"y":424,"level":0,"settings":{"name":"","mapId":383,"propType":{"sheet":"beach","name":"palmTree2cocoF"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2727,"y":432,"level":0,"settings":{"name":"","mapId":384,"propType":{"sheet":"beach","name":"palmTree3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2805,"y":464,"level":0,"settings":{"name":"","mapId":385,"propType":{"sheet":"beach","name":"palmTree4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2891,"y":464,"level":0,"settings":{"name":"","mapId":386,"propType":{"sheet":"beach","name":"palmTree4F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2977,"y":464,"level":0,"settings":{"name":"","mapId":387,"propType":{"sheet":"beach","name":"palmTree4coco"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3063,"y":464,"level":0,"settings":{"name":"","mapId":388,"propType":{"sheet":"beach","name":"palmTree4cocoF"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3121,"y":382,"level":0,"settings":{"name":"","mapId":389,"propType":{"sheet":"beach","name":"barnacleStone4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3152,"y":384,"level":0,"settings":{"name":"","mapId":390,"propType":{"sheet":"beach","name":"barnacleStone3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3183,"y":392,"level":0,"settings":{"name":"","mapId":391,"propType":{"sheet":"beach","name":"barnacleStone2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3229,"y":392,"level":0,"settings":{"name":"","mapId":392,"propType":{"sheet":"beach","name":"barancleStone1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3304,"y":490,"level":0,"settings":{"name":"","mapId":393,"propType":{"sheet":"beach","name":"tree1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3430,"y":490,"level":0,"settings":{"name":"","mapId":394,"propType":{"sheet":"beach","name":"tree2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":64,"y":640,"level":0,"settings":{"name":"","mapId":395,"propType":{"sheet":"beach","name":"tree3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":190,"y":640,"level":0,"settings":{"name":"","mapId":396,"propType":{"sheet":"beach","name":"tree1alt"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":316,"y":640,"level":0,"settings":{"name":"","mapId":397,"propType":{"sheet":"beach","name":"tree2alt"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":442,"y":640,"level":0,"settings":{"name":"","mapId":398,"propType":{"sheet":"beach","name":"tree3alt"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":538,"y":546,"level":0,"settings":{"name":"","mapId":399,"propType":{"sheet":"beach","name":"plantEdge1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":592,"y":546,"level":0,"settings":{"name":"","mapId":400,"propType":{"sheet":"beach","name":"groundPlant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":650,"y":546,"level":0,"settings":{"name":"","mapId":401,"propType":{"sheet":"beach","name":"groundPlant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":695,"y":570,"level":0,"settings":{"name":"","mapId":402,"propType":{"sheet":"beach","name":"moai"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":734,"y":570,"level":0,"settings":{"name":"","mapId":403,"propType":{"sheet":"beach","name":"moaiF"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":772,"y":534,"level":0,"settings":{"name":"","mapId":404,"propType":{"sheet":"beach","name":"greyStone1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":801,"y":534,"level":0,"settings":{"name":"","mapId":405,"propType":{"sheet":"beach","name":"greyStone2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":842,"y":534,"level":0,"settings":{"name":"","mapId":406,"propType":{"sheet":"beach","name":"greyStone3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":868,"y":532,"level":0,"settings":{"name":"","mapId":407,"propType":{"sheet":"beach","name":"greyStone4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":890,"y":558,"level":0,"settings":{"name":"","mapId":408,"propType":{"sheet":"bergen-inner","name":"metal-box-01"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":928,"y":542,"level":0,"settings":{"name":"","mapId":409,"propType":{"sheet":"bergen-inner","name":"wooden-box-01"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":950,"y":542,"level":0,"settings":{"name":"","mapId":410,"propType":{"sheet":"bergen-inner","name":"wooden-box-02"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":988,"y":542,"level":0,"settings":{"name":"","mapId":411,"propType":{"sheet":"bergen-inner","name":"wooden-box-03"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1010,"y":542,"level":0,"settings":{"name":"","mapId":412,"propType":{"sheet":"bergen-inner","name":"wooden-box-04"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1048,"y":538,"level":0,"settings":{"name":"","mapId":413,"propType":{"sheet":"bergen-inner","name":"wooden-box-05"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1070,"y":538,"level":0,"settings":{"name":"","mapId":414,"propType":{"sheet":"bergen-inner","name":"wooden-box-06"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1092,"y":558,"level":0,"settings":{"name":"","mapId":415,"propType":{"sheet":"bergen-inner","name":"wooden-box-07"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1130,"y":558,"level":0,"settings":{"name":"","mapId":416,"propType":{"sheet":"bergen-inner","name":"wooden-box-08"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1184,"y":542,"level":0,"settings":{"name":"","mapId":417,"propType":{"sheet":"bergen-inner","name":"wooden-box-09"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1206,"y":542,"level":0,"settings":{"name":"","mapId":418,"propType":{"sheet":"bergen-inner","name":"wooden-box-10"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1228,"y":544,"level":0,"settings":{"name":"","mapId":419,"propType":{"sheet":"bergen-inner","name":"barrel-1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1252,"y":544,"level":0,"settings":{"name":"","mapId":420,"propType":{"sheet":"bergen-inner","name":"barrel-2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1276,"y":544,"level":0,"settings":{"name":"","mapId":421,"propType":{"sheet":"bergen-inner","name":"vase-1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1298,"y":536,"level":0,"settings":{"name":"","mapId":422,"propType":{"sheet":"bergen-inner","name":"vase-2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1320,"y":534,"level":0,"settings":{"name":"","mapId":423,"propType":{"sheet":"bergen-inner","name":"vase-3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1344,"y":534,"level":0,"settings":{"name":"","mapId":424,"propType":{"sheet":"bergen-inner","name":"vase-4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1368,"y":534,"level":0,"settings":{"name":"","mapId":425,"propType":{"sheet":"bergen-inner","name":"cushion-1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1401,"y":534,"level":0,"settings":{"name":"","mapId":426,"propType":{"sheet":"bergen-inner","name":"cushion-2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1434,"y":534,"level":0,"settings":{"name":"","mapId":427,"propType":{"sheet":"bergen-inner","name":"cushion-3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1456,"y":534,"level":0,"settings":{"name":"","mapId":428,"propType":{"sheet":"bergen-inner","name":"cushion-4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1478,"y":534,"level":0,"settings":{"name":"","mapId":429,"propType":{"sheet":"bergen-inner","name":"cushion-5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1500,"y":534,"level":0,"settings":{"name":"","mapId":430,"propType":{"sheet":"bergen-inner","name":"cushion-6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1522,"y":550,"level":0,"settings":{"name":"","mapId":431,"propType":{"sheet":"bergen-inner","name":"plant-1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1551,"y":552,"level":0,"settings":{"name":"","mapId":432,"propType":{"sheet":"bergen-inner","name":"plant-2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1586,"y":538,"level":0,"settings":{"name":"","mapId":433,"propType":{"sheet":"bergen-inner","name":"plant-3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1608,"y":548,"level":0,"settings":{"name":"","mapId":434,"propType":{"sheet":"bergen-inner","name":"lamp-1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1630,"y":544,"level":0,"settings":{"name":"","mapId":435,"propType":{"sheet":"bergen-inner","name":"lamp-2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1654,"y":606,"level":0,"settings":{"name":"","mapId":436,"propType":{"sheet":"bergen-inner","name":"lightbeam"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":1684,"y":574,"level":0,"settings":{"name":"","mapId":437,"propType":{"sheet":"bergen-inner","name":"lightbeamEast"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":1706,"y":574,"level":0,"settings":{"name":"","mapId":438,"propType":{"sheet":"bergen-inner","name":"lightbeamWest"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":1728,"y":566,"level":0,"settings":{"name":"","mapId":439,"propType":{"sheet":"bergen-inner","name":"bergenHistory"},"propAnim":"slide1","condAnims":[]}},{"type":"Prop","x":1806,"y":566,"level":0,"settings":{"name":"","mapId":440,"propType":{"sheet":"bergen-inner","name":"bergenHistory"},"propAnim":"slide2","condAnims":[]}},{"type":"Prop","x":1884,"y":566,"level":0,"settings":{"name":"","mapId":441,"propType":{"sheet":"bergen-inner","name":"bergenHistory"},"propAnim":"slide3","condAnims":[]}},{"type":"Prop","x":1962,"y":566,"level":0,"settings":{"name":"","mapId":442,"propType":{"sheet":"bergen-inner","name":"bergenHistory"},"propAnim":"slide4","condAnims":[]}},{"type":"Prop","x":2040,"y":566,"level":0,"settings":{"name":"","mapId":443,"propType":{"sheet":"bergen-inner","name":"bergenHistory"},"propAnim":"slide5","condAnims":[]}},{"type":"Prop","x":2118,"y":566,"level":0,"settings":{"name":"","mapId":444,"propType":{"sheet":"bergen-trail","name":"barrierBlock1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2148,"y":566,"level":0,"settings":{"name":"","mapId":445,"propType":{"sheet":"bergen-trail","name":"barrierBlock2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2178,"y":526,"level":0,"settings":{"name":"","mapId":446,"propType":{"sheet":"bergen-trail","name":"barrierSign"},"propAnim":"off","condAnims":[]}},{"type":"Prop","x":2208,"y":526,"level":0,"settings":{"name":"","mapId":447,"propType":{"sheet":"bergen-trail","name":"barrierSign"},"propAnim":"on","condAnims":[]}},{"type":"Prop","x":2238,"y":558,"level":0,"settings":{"name":"","mapId":448,"propType":{"sheet":"bergen-trail","name":"barrierLine"},"propAnim":"blocked","condAnims":[]}},{"type":"Prop","x":2252,"y":558,"level":0,"settings":{"name":"","mapId":449,"propType":{"sheet":"bergen-trail","name":"barrierLine"},"propAnim":"free","condAnims":[]}},{"type":"Prop","x":2266,"y":542,"level":0,"settings":{"name":"","mapId":450,"propType":{"sheet":"bergen-trail","name":"probe"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":2296,"y":542,"level":0,"settings":{"name":"","mapId":451,"propType":{"sheet":"bergen-trail","name":"probe"},"propAnim":"on","condAnims":[]}},{"type":"Prop","x":2326,"y":542,"level":0,"settings":{"name":"","mapId":452,"propType":{"sheet":"bergen-trail","name":"probe"},"propAnim":"off","condAnims":[]}},{"type":"Prop","x":2380,"y":606,"level":0,"settings":{"name":"","mapId":453,"propType":{"sheet":"bergen-trail","name":"tree1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2450,"y":598,"level":0,"settings":{"name":"","mapId":454,"propType":{"sheet":"bergen-trail","name":"tree2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2524,"y":638,"level":0,"settings":{"name":"","mapId":455,"propType":{"sheet":"bergen-trail","name":"tree3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2594,"y":622,"level":0,"settings":{"name":"","mapId":456,"propType":{"sheet":"bergen-trail","name":"tree4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2660,"y":606,"level":0,"settings":{"name":"","mapId":457,"propType":{"sheet":"bergen-trail","name":"tree1-snow"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2730,"y":598,"level":0,"settings":{"name":"","mapId":458,"propType":{"sheet":"bergen-trail","name":"tree2-snow"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2804,"y":638,"level":0,"settings":{"name":"","mapId":459,"propType":{"sheet":"bergen-trail","name":"tree3-snow"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2874,"y":622,"level":0,"settings":{"name":"","mapId":460,"propType":{"sheet":"bergen-trail","name":"tree4-snow"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2916,"y":566,"level":0,"settings":{"name":"","mapId":461,"propType":{"sheet":"bergen-trail","name":"block1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2946,"y":566,"level":0,"settings":{"name":"","mapId":462,"propType":{"sheet":"bergen-trail","name":"block2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2988,"y":550,"level":0,"settings":{"name":"","mapId":463,"propType":{"sheet":"bergen-trail","name":"plant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3026,"y":550,"level":0,"settings":{"name":"","mapId":464,"propType":{"sheet":"bergen-trail","name":"plant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3056,"y":534,"level":0,"settings":{"name":"","mapId":465,"propType":{"sheet":"bergen-trail","name":"plant3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3086,"y":550,"level":0,"settings":{"name":"","mapId":466,"propType":{"sheet":"bergen-trail","name":"plant1-snow"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3124,"y":550,"level":0,"settings":{"name":"","mapId":467,"propType":{"sheet":"bergen-trail","name":"plant2-snow"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3154,"y":534,"level":0,"settings":{"name":"","mapId":468,"propType":{"sheet":"bergen-trail","name":"plant3-snow"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3175,"y":534,"level":0,"settings":{"name":"","mapId":469,"propType":{"sheet":"bergen-trail","name":"stone1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3210,"y":534,"level":0,"settings":{"name":"","mapId":470,"propType":{"sheet":"bergen-trail","name":"stone2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3253,"y":534,"level":0,"settings":{"name":"","mapId":471,"propType":{"sheet":"bergen-trail","name":"stone3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3284,"y":532,"level":0,"settings":{"name":"","mapId":472,"propType":{"sheet":"bergen-trail","name":"stone4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3314,"y":534,"level":0,"settings":{"name":"","mapId":473,"propType":{"sheet":"bergen-trail","name":"stone1-snow"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3349,"y":534,"level":0,"settings":{"name":"","mapId":474,"propType":{"sheet":"bergen-trail","name":"stone2-snow"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3392,"y":534,"level":0,"settings":{"name":"","mapId":475,"propType":{"sheet":"bergen-trail","name":"stone3-snow"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3423,"y":532,"level":0,"settings":{"name":"","mapId":476,"propType":{"sheet":"bergen-trail","name":"stone4-snow"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3450,"y":547,"level":0,"settings":{"name":"","mapId":477,"propType":{"sheet":"bergen-trail","name":"stoneLast"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3488,"y":590,"level":0,"settings":{"name":"","mapId":478,"propType":{"sheet":"bergen-trail","name":"signpost"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3510,"y":542,"level":0,"settings":{"name":"","mapId":479,"propType":{"sheet":"bergen-trail","name":"bridgeRailW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":24,"y":693,"level":0,"settings":{"name":"","mapId":480,"propType":{"sheet":"bergen-trail","name":"bridgeRailE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":78,"y":692,"level":0,"settings":{"name":"","mapId":481,"propType":{"sheet":"bergen-trail","name":"bridgeRailS"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":92,"y":700,"level":0,"settings":{"name":"","mapId":482,"propType":{"sheet":"bergen-trail","name":"bridgeRailN"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":106,"y":700,"level":0,"settings":{"name":"","mapId":483,"propType":{"sheet":"bergen-trail","name":"winterPlant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":128,"y":700,"level":0,"settings":{"name":"","mapId":484,"propType":{"sheet":"bergen-trail","name":"winterPlant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":150,"y":700,"level":0,"settings":{"name":"","mapId":485,"propType":{"sheet":"bergen-trail","name":"winterPlant3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":172,"y":700,"level":0,"settings":{"name":"","mapId":486,"propType":{"sheet":"bergen-trail","name":"winterPlant4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":194,"y":748,"level":0,"settings":{"name":"","mapId":487,"propType":{"sheet":"bergen-trail","name":"teleport-nw"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":232,"y":748,"level":0,"settings":{"name":"","mapId":488,"propType":{"sheet":"bergen-trail","name":"teleport-ne"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":270,"y":748,"level":0,"settings":{"name":"","mapId":489,"propType":{"sheet":"bergen-trail","name":"teleport-sw"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":308,"y":748,"level":0,"settings":{"name":"","mapId":490,"propType":{"sheet":"bergen-trail","name":"teleport-se"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":346,"y":692,"level":0,"settings":{"name":"","mapId":491,"propType":{"sheet":"bergen","name":"generator-1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":384,"y":736,"level":0,"settings":{"name":"","mapId":492,"propType":{"sheet":"bergen","name":"flap-post-1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":406,"y":736,"level":0,"settings":{"name":"","mapId":493,"propType":{"sheet":"bergen","name":"flap-post-2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":428,"y":736,"level":0,"settings":{"name":"","mapId":494,"propType":{"sheet":"bergen","name":"flap-post-3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":450,"y":708,"level":0,"settings":{"name":"","mapId":495,"propType":{"sheet":"bergen","name":"metal-box-01"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":488,"y":692,"level":0,"settings":{"name":"","mapId":496,"propType":{"sheet":"bergen","name":"wooden-box-01"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":510,"y":692,"level":0,"settings":{"name":"","mapId":497,"propType":{"sheet":"bergen","name":"wooden-box-02"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":548,"y":692,"level":0,"settings":{"name":"","mapId":498,"propType":{"sheet":"bergen","name":"wooden-box-03"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":570,"y":692,"level":0,"settings":{"name":"","mapId":499,"propType":{"sheet":"bergen","name":"wooden-box-04"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":608,"y":688,"level":0,"settings":{"name":"","mapId":500,"propType":{"sheet":"bergen","name":"wooden-box-05"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":630,"y":688,"level":0,"settings":{"name":"","mapId":501,"propType":{"sheet":"bergen","name":"wooden-box-06"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":652,"y":708,"level":0,"settings":{"name":"","mapId":502,"propType":{"sheet":"bergen","name":"wooden-box-07"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":690,"y":708,"level":0,"settings":{"name":"","mapId":503,"propType":{"sheet":"bergen","name":"wooden-box-08"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":744,"y":692,"level":0,"settings":{"name":"","mapId":504,"propType":{"sheet":"bergen","name":"wooden-box-09"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":766,"y":692,"level":0,"settings":{"name":"","mapId":505,"propType":{"sheet":"bergen","name":"wooden-box-10"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":788,"y":676,"level":0,"settings":{"name":"","mapId":506,"propType":{"sheet":"bergen","name":"arSignW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":818,"y":676,"level":0,"settings":{"name":"","mapId":507,"propType":{"sheet":"bergen","name":"arSignE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":848,"y":684,"level":0,"settings":{"name":"","mapId":508,"propType":{"sheet":"bergen","name":"arSignNW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":870,"y":684,"level":0,"settings":{"name":"","mapId":509,"propType":{"sheet":"bergen","name":"arSignNE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":892,"y":684,"level":0,"settings":{"name":"","mapId":510,"propType":{"sheet":"bergen","name":"arSignSE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":914,"y":684,"level":0,"settings":{"name":"","mapId":511,"propType":{"sheet":"bergen","name":"arSignSW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":936,"y":692,"level":0,"settings":{"name":"","mapId":512,"propType":{"sheet":"bergen","name":"arSignSquareE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":958,"y":692,"level":0,"settings":{"name":"","mapId":513,"propType":{"sheet":"bergen","name":"arSignSquareW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":980,"y":692,"level":0,"settings":{"name":"","mapId":514,"propType":{"sheet":"bergen","name":"bank-down"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1034,"y":692,"level":0,"settings":{"name":"","mapId":515,"propType":{"sheet":"bergen","name":"bank-up"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1088,"y":692,"level":0,"settings":{"name":"","mapId":516,"propType":{"sheet":"bergen","name":"bank-left"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1110,"y":692,"level":0,"settings":{"name":"","mapId":517,"propType":{"sheet":"bergen","name":"bank-right"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1132,"y":694,"level":0,"settings":{"name":"","mapId":518,"propType":{"sheet":"bergen","name":"barrel-1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1156,"y":694,"level":0,"settings":{"name":"","mapId":519,"propType":{"sheet":"bergen","name":"barrel-2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1180,"y":694,"level":0,"settings":{"name":"","mapId":520,"propType":{"sheet":"bergen","name":"vase-1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1202,"y":686,"level":0,"settings":{"name":"","mapId":521,"propType":{"sheet":"bergen","name":"vase-2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1224,"y":684,"level":0,"settings":{"name":"","mapId":522,"propType":{"sheet":"bergen","name":"vase-3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1248,"y":684,"level":0,"settings":{"name":"","mapId":523,"propType":{"sheet":"bergen","name":"vase-4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1272,"y":708,"level":0,"settings":{"name":"","mapId":524,"propType":{"sheet":"bergen","name":"snowman-1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1338,"y":788,"level":0,"settings":{"name":"","mapId":525,"propType":{"sheet":"bergen","name":"decorated-tree"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1388,"y":703,"level":0,"settings":{"name":"","mapId":526,"propType":{"sheet":"cabins","name":"velsabor"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1448,"y":676,"level":0,"settings":{"name":"","mapId":527,"propType":{"sheet":"cabins","name":"blanket"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1470,"y":740,"level":0,"settings":{"name":"","mapId":528,"propType":{"sheet":"cargo-hold","name":"teleport-ne"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1508,"y":740,"level":0,"settings":{"name":"","mapId":529,"propType":{"sheet":"cargo-hold","name":"teleport-nw"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1546,"y":756,"level":0,"settings":{"name":"","mapId":530,"propType":{"sheet":"cargo-hold","name":"teleport-se"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1584,"y":756,"level":0,"settings":{"name":"","mapId":531,"propType":{"sheet":"cargo-hold","name":"teleport-sw"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1628,"y":704,"level":0,"settings":{"name":"","mapId":532,"propType":{"sheet":"cargo-hold","name":"teleport-glow"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1644,"y":692,"level":0,"settings":{"name":"","mapId":533,"propType":{"sheet":"cargo-hold","name":"cargo-box1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1682,"y":692,"level":0,"settings":{"name":"","mapId":534,"propType":{"sheet":"cargo-hold","name":"cargo-box2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1704,"y":704,"level":0,"settings":{"name":"","mapId":535,"propType":{"sheet":"cargo-hold","name":"container-front1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1806,"y":704,"level":0,"settings":{"name":"","mapId":536,"propType":{"sheet":"cargo-hold","name":"container-front2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1844,"y":704,"level":0,"settings":{"name":"","mapId":537,"propType":{"sheet":"cargo-hold","name":"container-front1-d"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1946,"y":704,"level":0,"settings":{"name":"","mapId":538,"propType":{"sheet":"cargo-hold","name":"container-front2-d"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1984,"y":676,"level":0,"settings":{"name":"","mapId":539,"propType":{"sheet":"cargo-hold","name":"cargo-arrow-up"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2006,"y":676,"level":0,"settings":{"name":"","mapId":540,"propType":{"sheet":"cargo-hold","name":"cargo-arrow-down"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2028,"y":676,"level":0,"settings":{"name":"","mapId":541,"propType":{"sheet":"cargo-hold","name":"cargo-arrow-left"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2050,"y":676,"level":0,"settings":{"name":"","mapId":542,"propType":{"sheet":"cargo-hold","name":"cargo-arrow-right"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2072,"y":690,"level":0,"settings":{"name":"","mapId":543,"propType":{"sheet":"cargo-hold","name":"table-1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2126,"y":696,"level":0,"settings":{"name":"","mapId":544,"propType":{"sheet":"cargo-hold","name":"display"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":2156,"y":696,"level":0,"settings":{"name":"","mapId":545,"propType":{"sheet":"cargo-hold","name":"display"},"propAnim":"turnOn","condAnims":[]}},{"type":"Prop","x":2186,"y":696,"level":0,"settings":{"name":"","mapId":546,"propType":{"sheet":"cargo-hold","name":"display"},"propAnim":"turnOff","condAnims":[]}},{"type":"Prop","x":2216,"y":696,"level":0,"settings":{"name":"","mapId":547,"propType":{"sheet":"cargo-hold","name":"display"},"propAnim":"running","condAnims":[]}},{"type":"Prop","x":2246,"y":696,"level":0,"settings":{"name":"","mapId":548,"propType":{"sheet":"cargo-hold","name":"display"},"propAnim":"error","condAnims":[]}},{"type":"Prop","x":2276,"y":677,"level":0,"settings":{"name":"","mapId":549,"propType":{"sheet":"cargo-hold","name":"keyboard"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2306,"y":692,"level":0,"settings":{"name":"","mapId":550,"propType":{"sheet":"cargo-hold","name":"carla-box1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2328,"y":692,"level":0,"settings":{"name":"","mapId":551,"propType":{"sheet":"cargo-hold","name":"carla-bridge-left"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2358,"y":692,"level":0,"settings":{"name":"","mapId":552,"propType":{"sheet":"cargo-hold","name":"carla-bridge-right"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2392,"y":692,"level":0,"settings":{"name":"","mapId":553,"propType":{"sheet":"cave","name":"waterPlant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2414,"y":692,"level":0,"settings":{"name":"","mapId":554,"propType":{"sheet":"cave","name":"waterPlant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2440,"y":700,"level":0,"settings":{"name":"","mapId":555,"propType":{"sheet":"cave","name":"waterPlant3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2470,"y":708,"level":0,"settings":{"name":"","mapId":556,"propType":{"sheet":"cave","name":"waterPlant4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2494,"y":680,"level":0,"settings":{"name":"","mapId":557,"propType":{"sheet":"cave","name":"waterRose1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2532,"y":680,"level":0,"settings":{"name":"","mapId":558,"propType":{"sheet":"cave","name":"waterRose2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2564,"y":684,"level":0,"settings":{"name":"","mapId":559,"propType":{"sheet":"cave","name":"waterRose3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2602,"y":692,"level":0,"settings":{"name":"","mapId":560,"propType":{"sheet":"cave","name":"stump1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2664,"y":692,"level":0,"settings":{"name":"","mapId":561,"propType":{"sheet":"cave","name":"stump2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2722,"y":700,"level":0,"settings":{"name":"","mapId":562,"propType":{"sheet":"cave","name":"stoneGreen"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2784,"y":692,"level":0,"settings":{"name":"","mapId":563,"propType":{"sheet":"cave","name":"stoneM1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2822,"y":692,"level":0,"settings":{"name":"","mapId":564,"propType":{"sheet":"cave","name":"stoneM2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2860,"y":692,"level":0,"settings":{"name":"","mapId":565,"propType":{"sheet":"cave","name":"stoneM3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2898,"y":692,"level":0,"settings":{"name":"","mapId":566,"propType":{"sheet":"cave","name":"stoneM4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2936,"y":692,"level":0,"settings":{"name":"","mapId":567,"propType":{"sheet":"cave","name":"stoneM5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2958,"y":676,"level":0,"settings":{"name":"","mapId":568,"propType":{"sheet":"cave","name":"stoneS1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2980,"y":676,"level":0,"settings":{"name":"","mapId":569,"propType":{"sheet":"cave","name":"stoneS2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3002,"y":676,"level":0,"settings":{"name":"","mapId":570,"propType":{"sheet":"cave","name":"stoneS3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3024,"y":676,"level":0,"settings":{"name":"","mapId":571,"propType":{"sheet":"cave","name":"stoneS4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3046,"y":692,"level":0,"settings":{"name":"","mapId":572,"propType":{"sheet":"cave","name":"trunk1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3116,"y":692,"level":0,"settings":{"name":"","mapId":573,"propType":{"sheet":"cave","name":"trunk2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3186,"y":692,"level":0,"settings":{"name":"","mapId":574,"propType":{"sheet":"cave","name":"stoneL1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3248,"y":708,"level":0,"settings":{"name":"","mapId":575,"propType":{"sheet":"cave","name":"stoneL2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3294,"y":708,"level":0,"settings":{"name":"","mapId":576,"propType":{"sheet":"cave","name":"stoneL3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3340,"y":692,"level":0,"settings":{"name":"","mapId":577,"propType":{"sheet":"cave","name":"stoneL4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3410,"y":692,"level":0,"settings":{"name":"","mapId":578,"propType":{"sheet":"cave","name":"stoneL5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3460,"y":692,"level":0,"settings":{"name":"","mapId":579,"propType":{"sheet":"cave","name":"stalagM1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3486,"y":692,"level":0,"settings":{"name":"","mapId":580,"propType":{"sheet":"cave","name":"stalagM2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3508,"y":692,"level":0,"settings":{"name":"","mapId":581,"propType":{"sheet":"cave","name":"stalagM3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3530,"y":692,"level":0,"settings":{"name":"","mapId":582,"propType":{"sheet":"cave","name":"stalagM4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3560,"y":724,"level":0,"settings":{"name":"","mapId":583,"propType":{"sheet":"cave","name":"stalagL1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":32,"y":890,"level":0,"settings":{"name":"","mapId":584,"propType":{"sheet":"cave","name":"stalagL2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":70,"y":814,"level":0,"settings":{"name":"","mapId":585,"propType":{"sheet":"cold-dng","name":"elevatorSign"},"propAnim":"empty","condAnims":[]}},{"type":"Prop","x":92,"y":814,"level":0,"settings":{"name":"","mapId":586,"propType":{"sheet":"cold-dng","name":"elevatorSign"},"propAnim":"G","condAnims":[]}},{"type":"Prop","x":114,"y":814,"level":0,"settings":{"name":"","mapId":587,"propType":{"sheet":"cold-dng","name":"elevatorSign"},"propAnim":"G-blocked","condAnims":[]}},{"type":"Prop","x":136,"y":814,"level":0,"settings":{"name":"","mapId":588,"propType":{"sheet":"cold-dng","name":"elevatorSign"},"propAnim":"G-current","condAnims":[]}},{"type":"Prop","x":158,"y":814,"level":0,"settings":{"name":"","mapId":589,"propType":{"sheet":"cold-dng","name":"elevatorSign"},"propAnim":"B1","condAnims":[]}},{"type":"Prop","x":180,"y":814,"level":0,"settings":{"name":"","mapId":590,"propType":{"sheet":"cold-dng","name":"elevatorSign"},"propAnim":"B1-blocked","condAnims":[]}},{"type":"Prop","x":202,"y":814,"level":0,"settings":{"name":"","mapId":591,"propType":{"sheet":"cold-dng","name":"elevatorSign"},"propAnim":"B1-current","condAnims":[]}},{"type":"Prop","x":224,"y":814,"level":0,"settings":{"name":"","mapId":592,"propType":{"sheet":"cold-dng","name":"elevatorSign"},"propAnim":"B2","condAnims":[]}},{"type":"Prop","x":246,"y":814,"level":0,"settings":{"name":"","mapId":593,"propType":{"sheet":"cold-dng","name":"elevatorSign"},"propAnim":"B2-blocked","condAnims":[]}},{"type":"Prop","x":268,"y":814,"level":0,"settings":{"name":"","mapId":594,"propType":{"sheet":"cold-dng","name":"elevatorSign"},"propAnim":"B2-current","condAnims":[]}},{"type":"Prop","x":290,"y":814,"level":0,"settings":{"name":"","mapId":595,"propType":{"sheet":"cold-dng","name":"elevatorSign"},"propAnim":"B3","condAnims":[]}},{"type":"Prop","x":312,"y":814,"level":0,"settings":{"name":"","mapId":596,"propType":{"sheet":"cold-dng","name":"elevatorSign"},"propAnim":"B3-blocked","condAnims":[]}},{"type":"Prop","x":334,"y":814,"level":0,"settings":{"name":"","mapId":597,"propType":{"sheet":"cold-dng","name":"elevatorSign"},"propAnim":"B3-current","condAnims":[]}},{"type":"Prop","x":356,"y":814,"level":0,"settings":{"name":"","mapId":598,"propType":{"sheet":"cold-dng","name":"elevatorSign"},"propAnim":"B4","condAnims":[]}},{"type":"Prop","x":378,"y":814,"level":0,"settings":{"name":"","mapId":599,"propType":{"sheet":"cold-dng","name":"elevatorSign"},"propAnim":"B4-blocked","condAnims":[]}},{"type":"Prop","x":400,"y":814,"level":0,"settings":{"name":"","mapId":600,"propType":{"sheet":"cold-dng","name":"elevatorSign"},"propAnim":"B4-current","condAnims":[]}},{"type":"Prop","x":422,"y":842,"level":0,"settings":{"name":"","mapId":601,"propType":{"sheet":"cold-dng","name":"metal-box-01"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":460,"y":826,"level":0,"settings":{"name":"","mapId":602,"propType":{"sheet":"cold-dng","name":"metal-box-02"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":482,"y":826,"level":0,"settings":{"name":"","mapId":603,"propType":{"sheet":"cold-dng","name":"metal-box-03"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":524,"y":818,"level":0,"settings":{"name":"","mapId":604,"propType":{"sheet":"cold-dng","name":"dynamite"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":550,"y":810,"level":0,"settings":{"name":"","mapId":605,"propType":{"sheet":"cold-dng","name":"laserpickaxe"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":572,"y":810,"level":0,"settings":{"name":"","mapId":606,"propType":{"sheet":"cold-dng","name":"documentation"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":598,"y":818,"level":0,"settings":{"name":"","mapId":607,"propType":{"sheet":"cold-dng","name":"coldbug"},"propAnim":"northeast","condAnims":[]}},{"type":"Prop","x":628,"y":818,"level":0,"settings":{"name":"","mapId":608,"propType":{"sheet":"cold-dng","name":"coldbug"},"propAnim":"east","condAnims":[]}},{"type":"Prop","x":658,"y":818,"level":0,"settings":{"name":"","mapId":609,"propType":{"sheet":"cold-dng","name":"coldbug"},"propAnim":"southeast","condAnims":[]}},{"type":"Prop","x":688,"y":818,"level":0,"settings":{"name":"","mapId":610,"propType":{"sheet":"cold-dng","name":"coldbug"},"propAnim":"northwest","condAnims":[]}},{"type":"Prop","x":718,"y":818,"level":0,"settings":{"name":"","mapId":611,"propType":{"sheet":"cold-dng","name":"coldbug"},"propAnim":"west","condAnims":[]}},{"type":"Prop","x":748,"y":818,"level":0,"settings":{"name":"","mapId":612,"propType":{"sheet":"cold-dng","name":"coldbug"},"propAnim":"southwest","condAnims":[]}},{"type":"Prop","x":774,"y":826,"level":0,"settings":{"name":"","mapId":613,"propType":{"sheet":"cold-dng","name":"peng"},"propAnim":"northeast","condAnims":[]}},{"type":"Prop","x":812,"y":826,"level":0,"settings":{"name":"","mapId":614,"propType":{"sheet":"cold-dng","name":"peng"},"propAnim":"east","condAnims":[]}},{"type":"Prop","x":850,"y":826,"level":0,"settings":{"name":"","mapId":615,"propType":{"sheet":"cold-dng","name":"peng"},"propAnim":"southeast","condAnims":[]}},{"type":"Prop","x":888,"y":826,"level":0,"settings":{"name":"","mapId":616,"propType":{"sheet":"cold-dng","name":"peng"},"propAnim":"northwest","condAnims":[]}},{"type":"Prop","x":926,"y":826,"level":0,"settings":{"name":"","mapId":617,"propType":{"sheet":"cold-dng","name":"peng"},"propAnim":"west","condAnims":[]}},{"type":"Prop","x":964,"y":826,"level":0,"settings":{"name":"","mapId":618,"propType":{"sheet":"cold-dng","name":"peng"},"propAnim":"southwest","condAnims":[]}},{"type":"Prop","x":1002,"y":822,"level":0,"settings":{"name":"","mapId":619,"propType":{"sheet":"dungeon-ar","name":"taskSign"},"propAnim":"unsolved","condAnims":[]}},{"type":"Prop","x":1024,"y":822,"level":0,"settings":{"name":"","mapId":620,"propType":{"sheet":"dungeon-ar","name":"taskSign"},"propAnim":"solved","condAnims":[]}},{"type":"Prop","x":1046,"y":858,"level":0,"settings":{"name":"","mapId":621,"propType":{"sheet":"dungeon-ar","name":"blockWallNE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1068,"y":858,"level":0,"settings":{"name":"","mapId":622,"propType":{"sheet":"dungeon-ar","name":"blockWallNW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1090,"y":858,"level":0,"settings":{"name":"","mapId":623,"propType":{"sheet":"dungeon-ar","name":"blockWallSW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1112,"y":858,"level":0,"settings":{"name":"","mapId":624,"propType":{"sheet":"dungeon-ar","name":"blockWallSE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1134,"y":842,"level":0,"settings":{"name":"","mapId":625,"propType":{"sheet":"dungeon-ar","name":"ballblocker"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":1160,"y":826,"level":0,"settings":{"name":"","mapId":626,"propType":{"sheet":"dungeon-ar","name":"octahedron "},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":1186,"y":818,"level":0,"settings":{"name":"","mapId":627,"propType":{"sheet":"evo-village-inner","name":"displayAni1"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":1216,"y":818,"level":0,"settings":{"name":"","mapId":628,"propType":{"sheet":"evo-village-inner","name":"displayAni1"},"propAnim":"stopped","condAnims":[]}},{"type":"Prop","x":1246,"y":818,"level":0,"settings":{"name":"","mapId":629,"propType":{"sheet":"evo-village-inner","name":"displayAni1"},"propAnim":"finished","condAnims":[]}},{"type":"Prop","x":1276,"y":826,"level":0,"settings":{"name":"","mapId":630,"propType":{"sheet":"evo-village-inner","name":"display1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1306,"y":826,"level":0,"settings":{"name":"","mapId":631,"propType":{"sheet":"evo-village-inner","name":"display2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1336,"y":826,"level":0,"settings":{"name":"","mapId":632,"propType":{"sheet":"evo-village-inner","name":"display3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1358,"y":826,"level":0,"settings":{"name":"","mapId":633,"propType":{"sheet":"evo-village-inner","name":"display4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1380,"y":826,"level":0,"settings":{"name":"","mapId":634,"propType":{"sheet":"evo-village-inner","name":"display5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1394,"y":826,"level":0,"settings":{"name":"","mapId":635,"propType":{"sheet":"evo-village-inner","name":"display6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1408,"y":810,"level":0,"settings":{"name":"","mapId":636,"propType":{"sheet":"evo-village-inner","name":"keyboard1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1422,"y":810,"level":0,"settings":{"name":"","mapId":637,"propType":{"sheet":"evo-village-inner","name":"keyboard2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1436,"y":810,"level":0,"settings":{"name":"","mapId":638,"propType":{"sheet":"evo-village-inner","name":"keyboard3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1469,"y":826,"level":0,"settings":{"name":"","mapId":639,"propType":{"sheet":"evo-village-inner","name":"bed-left"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1523,"y":826,"level":0,"settings":{"name":"","mapId":640,"propType":{"sheet":"evo-village-inner","name":"bed-right"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1574,"y":826,"level":0,"settings":{"name":"","mapId":641,"propType":{"sheet":"evo-village-inner","name":"chair-down"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1596,"y":826,"level":0,"settings":{"name":"","mapId":642,"propType":{"sheet":"evo-village-inner","name":"chair-right"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1618,"y":826,"level":0,"settings":{"name":"","mapId":643,"propType":{"sheet":"evo-village-inner","name":"chair-left"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1640,"y":826,"level":0,"settings":{"name":"","mapId":644,"propType":{"sheet":"evo-village-inner","name":"chair-up"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1662,"y":826,"level":0,"settings":{"name":"","mapId":645,"propType":{"sheet":"evo-village-inner","name":"chair-up-office"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1684,"y":826,"level":0,"settings":{"name":"","mapId":646,"propType":{"sheet":"evo-village-inner","name":"chair-right-office"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1706,"y":834,"level":0,"settings":{"name":"","mapId":647,"propType":{"sheet":"evo-village-inner","name":"broom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1728,"y":834,"level":0,"settings":{"name":"","mapId":648,"propType":{"sheet":"evo-village-inner","name":"broom-flip"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1750,"y":822,"level":0,"settings":{"name":"","mapId":649,"propType":{"sheet":"evo-village-inner","name":"picture"},"propAnim":"bergen","condAnims":[]}},{"type":"Prop","x":1780,"y":822,"level":0,"settings":{"name":"","mapId":650,"propType":{"sheet":"evo-village-inner","name":"picture"},"propAnim":"autumn","condAnims":[]}},{"type":"Prop","x":1810,"y":822,"level":0,"settings":{"name":"","mapId":651,"propType":{"sheet":"evo-village-inner","name":"picture"},"propAnim":"fajro","condAnims":[]}},{"type":"Prop","x":1840,"y":822,"level":0,"settings":{"name":"","mapId":652,"propType":{"sheet":"evo-village-inner","name":"picture"},"propAnim":"world","condAnims":[]}},{"type":"Prop","x":1870,"y":822,"level":0,"settings":{"name":"","mapId":653,"propType":{"sheet":"evo-village-inner","name":"picture"},"propAnim":"space","condAnims":[]}},{"type":"Prop","x":1904,"y":842,"level":0,"settings":{"name":"","mapId":654,"propType":{"sheet":"evo-village-inner","name":"plant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1932,"y":830,"level":0,"settings":{"name":"","mapId":655,"propType":{"sheet":"evo-village-inner","name":"plant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1952,"y":826,"level":0,"settings":{"name":"","mapId":656,"propType":{"sheet":"evo-village-inner","name":"tvDisplay"},"propAnim":"car","condAnims":[]}},{"type":"Prop","x":1998,"y":826,"level":0,"settings":{"name":"","mapId":657,"propType":{"sheet":"evo-village-inner","name":"tvDisplay"},"propAnim":"off","condAnims":[]}},{"type":"Prop","x":2044,"y":826,"level":0,"settings":{"name":"","mapId":658,"propType":{"sheet":"evo-village-inner","name":"tvDisplayNews"},"propAnim":"start","condAnims":[]}},{"type":"Prop","x":2090,"y":826,"level":0,"settings":{"name":"","mapId":659,"propType":{"sheet":"evo-village-inner","name":"tvDisplayNews"},"propAnim":"space","condAnims":[]}},{"type":"Prop","x":2136,"y":826,"level":0,"settings":{"name":"","mapId":660,"propType":{"sheet":"evo-village-inner","name":"tvDisplayNews"},"propAnim":"city","condAnims":[]}},{"type":"Prop","x":2182,"y":826,"level":0,"settings":{"name":"","mapId":661,"propType":{"sheet":"evo-village-inner","name":"tvDisplayNews"},"propAnim":"interview","condAnims":[]}},{"type":"Prop","x":2228,"y":826,"level":0,"settings":{"name":"","mapId":662,"propType":{"sheet":"evo-village-inner","name":"tvDisplayNews"},"propAnim":"new","condAnims":[]}},{"type":"Prop","x":2274,"y":826,"level":0,"settings":{"name":"","mapId":663,"propType":{"sheet":"evo-village-inner","name":"tvDisplayNews"},"propAnim":"off","condAnims":[]}},{"type":"Prop","x":2320,"y":834,"level":0,"settings":{"name":"","mapId":664,"propType":{"sheet":"evo-village-inner","name":"chimney"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":2358,"y":814,"level":0,"settings":{"name":"","mapId":665,"propType":{"sheet":"evo-village-inner","name":"cup1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2372,"y":814,"level":0,"settings":{"name":"","mapId":666,"propType":{"sheet":"evo-village-inner","name":"cup2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2386,"y":814,"level":0,"settings":{"name":"","mapId":667,"propType":{"sheet":"evo-village-inner","name":"cup3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2400,"y":814,"level":0,"settings":{"name":"","mapId":668,"propType":{"sheet":"evo-village-inner","name":"cup4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2414,"y":818,"level":0,"settings":{"name":"","mapId":669,"propType":{"sheet":"evo-village-inner","name":"can1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2428,"y":818,"level":0,"settings":{"name":"","mapId":670,"propType":{"sheet":"evo-village-inner","name":"can2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2442,"y":830,"level":0,"settings":{"name":"","mapId":671,"propType":{"sheet":"evo-village-inner","name":"tv-down"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2488,"y":830,"level":0,"settings":{"name":"","mapId":672,"propType":{"sheet":"evo-village-inner","name":"tv-up"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2534,"y":814,"level":0,"settings":{"name":"","mapId":673,"propType":{"sheet":"evo-village-inner","name":"console1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2548,"y":814,"level":0,"settings":{"name":"","mapId":674,"propType":{"sheet":"evo-village-inner","name":"console2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2562,"y":814,"level":0,"settings":{"name":"","mapId":675,"propType":{"sheet":"evo-village-inner","name":"controller1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2576,"y":814,"level":0,"settings":{"name":"","mapId":676,"propType":{"sheet":"evo-village-inner","name":"controller2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2590,"y":840,"level":0,"settings":{"name":"","mapId":677,"propType":{"sheet":"evo-village-inner","name":"lamp1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2612,"y":840,"level":0,"settings":{"name":"","mapId":678,"propType":{"sheet":"evo-village-inner","name":"lamp2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2634,"y":824,"level":0,"settings":{"name":"","mapId":679,"propType":{"sheet":"evo-village-inner","name":"wall-lamp1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2656,"y":824,"level":0,"settings":{"name":"","mapId":680,"propType":{"sheet":"evo-village-inner","name":"wall-lamp2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2678,"y":840,"level":0,"settings":{"name":"","mapId":681,"propType":{"sheet":"evo-village-inner","name":"pot-plant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2692,"y":840,"level":0,"settings":{"name":"","mapId":682,"propType":{"sheet":"evo-village-inner","name":"pot-plant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2706,"y":840,"level":0,"settings":{"name":"","mapId":683,"propType":{"sheet":"evo-village-inner","name":"pot-plant3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2720,"y":840,"level":0,"settings":{"name":"","mapId":684,"propType":{"sheet":"evo-village-inner","name":"pot-plant4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2734,"y":840,"level":0,"settings":{"name":"","mapId":685,"propType":{"sheet":"evo-village-inner","name":"pot-plant5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2748,"y":840,"level":0,"settings":{"name":"","mapId":686,"propType":{"sheet":"evo-village-inner","name":"pot-plant6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2762,"y":842,"level":0,"settings":{"name":"","mapId":687,"propType":{"sheet":"evo-village-inner","name":"speakers-right"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2784,"y":842,"level":0,"settings":{"name":"","mapId":688,"propType":{"sheet":"evo-village-inner","name":"speakers-left"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2806,"y":818,"level":0,"settings":{"name":"","mapId":689,"propType":{"sheet":"evo-village-inner","name":"wood-container"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2828,"y":830,"level":0,"settings":{"name":"","mapId":690,"propType":{"sheet":"evo-village-inner","name":"chimney-tools1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2850,"y":830,"level":0,"settings":{"name":"","mapId":691,"propType":{"sheet":"evo-village-inner","name":"chimney-tools2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2872,"y":818,"level":0,"settings":{"name":"","mapId":692,"propType":{"sheet":"evo-village-inner","name":"microwave"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2894,"y":818,"level":0,"settings":{"name":"","mapId":693,"propType":{"sheet":"evo-village-inner","name":"toaster"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2916,"y":818,"level":0,"settings":{"name":"","mapId":694,"propType":{"sheet":"evo-village-inner","name":"pan-1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2938,"y":818,"level":0,"settings":{"name":"","mapId":695,"propType":{"sheet":"evo-village-inner","name":"pan-2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2960,"y":818,"level":0,"settings":{"name":"","mapId":696,"propType":{"sheet":"evo-village-inner","name":"decanter"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2977,"y":818,"level":0,"settings":{"name":"","mapId":697,"propType":{"sheet":"evo-village-inner","name":"boat-bottle"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3023,"y":890,"level":0,"settings":{"name":"","mapId":698,"propType":{"sheet":"evo-village-inner","name":"lightbeam"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":3069,"y":858,"level":0,"settings":{"name":"","mapId":699,"propType":{"sheet":"evo-village-inner","name":"lightbeamEast"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":3091,"y":858,"level":0,"settings":{"name":"","mapId":700,"propType":{"sheet":"evo-village-inner","name":"lightbeamWest"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":3113,"y":834,"level":0,"settings":{"name":"","mapId":701,"propType":{"sheet":"evo-village","name":"doorBorderLeft"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3127,"y":834,"level":0,"settings":{"name":"","mapId":702,"propType":{"sheet":"evo-village","name":"doorBorderRight"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3141,"y":874,"level":0,"settings":{"name":"","mapId":703,"propType":{"sheet":"evo-village","name":"lamp"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3163,"y":842,"level":0,"settings":{"name":"","mapId":704,"propType":{"sheet":"evo-village","name":"slopeNWbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3185,"y":842,"level":0,"settings":{"name":"","mapId":705,"propType":{"sheet":"evo-village","name":"slopeNWmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3207,"y":842,"level":0,"settings":{"name":"","mapId":706,"propType":{"sheet":"evo-village","name":"slopeNWtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3229,"y":842,"level":0,"settings":{"name":"","mapId":707,"propType":{"sheet":"evo-village","name":"slopeNEbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3251,"y":842,"level":0,"settings":{"name":"","mapId":708,"propType":{"sheet":"evo-village","name":"slopeNEmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3273,"y":842,"level":0,"settings":{"name":"","mapId":709,"propType":{"sheet":"evo-village","name":"slopeNEtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3295,"y":842,"level":0,"settings":{"name":"","mapId":710,"propType":{"sheet":"evo-village","name":"slopeSWbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3317,"y":842,"level":0,"settings":{"name":"","mapId":711,"propType":{"sheet":"evo-village","name":"slopeSWmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3339,"y":842,"level":0,"settings":{"name":"","mapId":712,"propType":{"sheet":"evo-village","name":"slopeSWtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3361,"y":842,"level":0,"settings":{"name":"","mapId":713,"propType":{"sheet":"evo-village","name":"slopeSEbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3383,"y":842,"level":0,"settings":{"name":"","mapId":714,"propType":{"sheet":"evo-village","name":"slopeSEmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3405,"y":842,"level":0,"settings":{"name":"","mapId":715,"propType":{"sheet":"evo-village","name":"slopeSEtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3429,"y":834,"level":0,"settings":{"name":"","mapId":716,"propType":{"sheet":"evo-village","name":"tulip1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3459,"y":834,"level":0,"settings":{"name":"","mapId":717,"propType":{"sheet":"evo-village","name":"tulip2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3489,"y":834,"level":0,"settings":{"name":"","mapId":718,"propType":{"sheet":"evo-village","name":"tulip3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3519,"y":834,"level":0,"settings":{"name":"","mapId":719,"propType":{"sheet":"evo-village","name":"tulip4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3549,"y":822,"level":0,"settings":{"name":"","mapId":720,"propType":{"sheet":"evo-village","name":"tulipSmall1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3571,"y":822,"level":0,"settings":{"name":"","mapId":721,"propType":{"sheet":"evo-village","name":"tulipSmall2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":26,"y":924,"level":0,"settings":{"name":"","mapId":722,"propType":{"sheet":"evo-village","name":"tulipSmall3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":48,"y":924,"level":0,"settings":{"name":"","mapId":723,"propType":{"sheet":"evo-village","name":"tulipSmall4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":68,"y":936,"level":0,"settings":{"name":"","mapId":724,"propType":{"sheet":"evo-village","name":"bigPlant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":106,"y":936,"level":0,"settings":{"name":"","mapId":725,"propType":{"sheet":"evo-village","name":"bigPlant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":144,"y":936,"level":0,"settings":{"name":"","mapId":726,"propType":{"sheet":"evo-village","name":"bigPlant3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":182,"y":936,"level":0,"settings":{"name":"","mapId":727,"propType":{"sheet":"evo-village","name":"bigPlant4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":220,"y":936,"level":0,"settings":{"name":"","mapId":728,"propType":{"sheet":"evo-village","name":"bigPlant5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":258,"y":936,"level":0,"settings":{"name":"","mapId":729,"propType":{"sheet":"evo-village","name":"bigPlant6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":297,"y":928,"level":0,"settings":{"name":"","mapId":730,"propType":{"sheet":"evo-village","name":"dwarf1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":319,"y":928,"level":0,"settings":{"name":"","mapId":731,"propType":{"sheet":"evo-village","name":"dwarf2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":341,"y":928,"level":0,"settings":{"name":"","mapId":732,"propType":{"sheet":"evo-village","name":"dwarf1Flip"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":363,"y":928,"level":0,"settings":{"name":"","mapId":733,"propType":{"sheet":"evo-village","name":"dwarf2Flip"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":384,"y":972,"level":0,"settings":{"name":"","mapId":734,"propType":{"sheet":"evo-village","name":"sunFlowerBig"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":419,"y":950,"level":0,"settings":{"name":"","mapId":735,"propType":{"sheet":"evo-village","name":"sunFlower1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":447,"y":950,"level":0,"settings":{"name":"","mapId":736,"propType":{"sheet":"evo-village","name":"sunFlower2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":475,"y":936,"level":0,"settings":{"name":"","mapId":737,"propType":{"sheet":"evo-village","name":"sunFlower3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":499,"y":936,"level":0,"settings":{"name":"","mapId":738,"propType":{"sheet":"evo-village","name":"sunFlower4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":523,"y":936,"level":0,"settings":{"name":"","mapId":739,"propType":{"sheet":"evo-village","name":"sunFlower5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":547,"y":936,"level":0,"settings":{"name":"","mapId":740,"propType":{"sheet":"evo-village","name":"sunFlower6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":571,"y":960,"level":0,"settings":{"name":"","mapId":741,"propType":{"sheet":"evo-village","name":"bean1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":609,"y":960,"level":0,"settings":{"name":"","mapId":742,"propType":{"sheet":"evo-village","name":"bean2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":647,"y":936,"level":0,"settings":{"name":"","mapId":743,"propType":{"sheet":"evo-village","name":"bean3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":677,"y":936,"level":0,"settings":{"name":"","mapId":744,"propType":{"sheet":"evo-village","name":"potato"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":707,"y":920,"level":0,"settings":{"name":"","mapId":745,"propType":{"sheet":"evo-village","name":"lettuce"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":737,"y":928,"level":0,"settings":{"name":"","mapId":746,"propType":{"sheet":"evo-village","name":"turnip1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":759,"y":920,"level":0,"settings":{"name":"","mapId":747,"propType":{"sheet":"evo-village","name":"turnip2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":784,"y":932,"level":0,"settings":{"name":"","mapId":748,"propType":{"sheet":"evo-village","name":"pumpkin1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":831,"y":932,"level":0,"settings":{"name":"","mapId":749,"propType":{"sheet":"evo-village","name":"pumpkin2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":867,"y":926,"level":0,"settings":{"name":"","mapId":750,"propType":{"sheet":"evo-village","name":"pumpkin3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":897,"y":920,"level":0,"settings":{"name":"","mapId":751,"propType":{"sheet":"evo-village","name":"pumpkin4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":919,"y":920,"level":0,"settings":{"name":"","mapId":752,"propType":{"sheet":"evo-village","name":"pumpkin5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":957,"y":935,"level":0,"settings":{"name":"","mapId":753,"propType":{"sheet":"evo-village","name":"pumpkin6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1008,"y":968,"level":0,"settings":{"name":"","mapId":754,"propType":{"sheet":"evo-village","name":"smoke"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":1042,"y":927,"level":0,"settings":{"name":"","mapId":755,"propType":{"sheet":"final-dng-glow","name":"elemWall1"},"propAnim":"heat","condAnims":[]}},{"type":"Prop","x":1064,"y":927,"level":0,"settings":{"name":"","mapId":756,"propType":{"sheet":"final-dng-glow","name":"elemWall1"},"propAnim":"cold","condAnims":[]}},{"type":"Prop","x":1086,"y":927,"level":0,"settings":{"name":"","mapId":757,"propType":{"sheet":"final-dng-glow","name":"elemWall1"},"propAnim":"shock","condAnims":[]}},{"type":"Prop","x":1108,"y":927,"level":0,"settings":{"name":"","mapId":758,"propType":{"sheet":"final-dng-glow","name":"elemWall1"},"propAnim":"wave","condAnims":[]}},{"type":"Prop","x":1130,"y":935,"level":0,"settings":{"name":"","mapId":759,"propType":{"sheet":"final-dng-glow","name":"elemWall1Half"},"propAnim":"heat","condAnims":[]}},{"type":"Prop","x":1144,"y":935,"level":0,"settings":{"name":"","mapId":760,"propType":{"sheet":"final-dng-glow","name":"elemWall1Half"},"propAnim":"cold","condAnims":[]}},{"type":"Prop","x":1158,"y":935,"level":0,"settings":{"name":"","mapId":761,"propType":{"sheet":"final-dng-glow","name":"elemWall1Half"},"propAnim":"shock","condAnims":[]}},{"type":"Prop","x":1172,"y":935,"level":0,"settings":{"name":"","mapId":762,"propType":{"sheet":"final-dng-glow","name":"elemWall1Half"},"propAnim":"wave","condAnims":[]}},{"type":"Prop","x":1186,"y":927,"level":0,"settings":{"name":"","mapId":763,"propType":{"sheet":"final-dng-glow","name":"elemWall2"},"propAnim":"heat","condAnims":[]}},{"type":"Prop","x":1208,"y":927,"level":0,"settings":{"name":"","mapId":764,"propType":{"sheet":"final-dng-glow","name":"elemWall2"},"propAnim":"cold","condAnims":[]}},{"type":"Prop","x":1230,"y":927,"level":0,"settings":{"name":"","mapId":765,"propType":{"sheet":"final-dng-glow","name":"elemWall2"},"propAnim":"shock","condAnims":[]}},{"type":"Prop","x":1252,"y":927,"level":0,"settings":{"name":"","mapId":766,"propType":{"sheet":"final-dng-glow","name":"elemWall2"},"propAnim":"wave","condAnims":[]}},{"type":"Prop","x":1274,"y":935,"level":0,"settings":{"name":"","mapId":767,"propType":{"sheet":"final-dng-glow","name":"elemWall2Half"},"propAnim":"heat","condAnims":[]}},{"type":"Prop","x":1288,"y":935,"level":0,"settings":{"name":"","mapId":768,"propType":{"sheet":"final-dng-glow","name":"elemWall2Half"},"propAnim":"cold","condAnims":[]}},{"type":"Prop","x":1302,"y":935,"level":0,"settings":{"name":"","mapId":769,"propType":{"sheet":"final-dng-glow","name":"elemWall2Half"},"propAnim":"shock","condAnims":[]}},{"type":"Prop","x":1316,"y":935,"level":0,"settings":{"name":"","mapId":770,"propType":{"sheet":"final-dng-glow","name":"elemWall2Half"},"propAnim":"wave","condAnims":[]}},{"type":"Prop","x":1330,"y":912,"level":0,"settings":{"name":"","mapId":771,"propType":{"sheet":"final-dng-inner","name":"elevatorNumber"},"propAnim":"gOn","condAnims":[]}},{"type":"Prop","x":1368,"y":912,"level":0,"settings":{"name":"","mapId":772,"propType":{"sheet":"final-dng-inner","name":"elevatorNumber"},"propAnim":"gOff","condAnims":[]}},{"type":"Prop","x":1406,"y":912,"level":0,"settings":{"name":"","mapId":773,"propType":{"sheet":"final-dng-inner","name":"elevatorNumber"},"propAnim":"b1On","condAnims":[]}},{"type":"Prop","x":1444,"y":912,"level":0,"settings":{"name":"","mapId":774,"propType":{"sheet":"final-dng-inner","name":"elevatorNumber"},"propAnim":"b1Off","condAnims":[]}},{"type":"Prop","x":1482,"y":912,"level":0,"settings":{"name":"","mapId":775,"propType":{"sheet":"final-dng-inner","name":"elevatorNumber"},"propAnim":"b2On","condAnims":[]}},{"type":"Prop","x":1520,"y":912,"level":0,"settings":{"name":"","mapId":776,"propType":{"sheet":"final-dng-inner","name":"elevatorNumber"},"propAnim":"b2Off","condAnims":[]}},{"type":"Prop","x":1558,"y":912,"level":0,"settings":{"name":"","mapId":777,"propType":{"sheet":"final-dng-inner","name":"elevatorNumber"},"propAnim":"b3On","condAnims":[]}},{"type":"Prop","x":1596,"y":912,"level":0,"settings":{"name":"","mapId":778,"propType":{"sheet":"final-dng-inner","name":"elevatorNumber"},"propAnim":"b3Off","condAnims":[]}},{"type":"Prop","x":1634,"y":912,"level":0,"settings":{"name":"","mapId":779,"propType":{"sheet":"final-dng-inner","name":"elevatorNumber"},"propAnim":"b4On","condAnims":[]}},{"type":"Prop","x":1672,"y":912,"level":0,"settings":{"name":"","mapId":780,"propType":{"sheet":"final-dng-inner","name":"elevatorNumber"},"propAnim":"b4Off","condAnims":[]}},{"type":"Prop","x":1710,"y":944,"level":0,"settings":{"name":"","mapId":781,"propType":{"sheet":"final-dng-inner","name":"slopeNWbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1732,"y":944,"level":0,"settings":{"name":"","mapId":782,"propType":{"sheet":"final-dng-inner","name":"slopeNWmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1754,"y":944,"level":0,"settings":{"name":"","mapId":783,"propType":{"sheet":"final-dng-inner","name":"slopeNWtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1776,"y":944,"level":0,"settings":{"name":"","mapId":784,"propType":{"sheet":"final-dng-inner","name":"slopeNEbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1798,"y":944,"level":0,"settings":{"name":"","mapId":785,"propType":{"sheet":"final-dng-inner","name":"slopeNEmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1820,"y":944,"level":0,"settings":{"name":"","mapId":786,"propType":{"sheet":"final-dng-inner","name":"slopeNEtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1842,"y":944,"level":0,"settings":{"name":"","mapId":787,"propType":{"sheet":"final-dng-inner","name":"slopeSWbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1864,"y":944,"level":0,"settings":{"name":"","mapId":788,"propType":{"sheet":"final-dng-inner","name":"slopeSWmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1886,"y":944,"level":0,"settings":{"name":"","mapId":789,"propType":{"sheet":"final-dng-inner","name":"slopeSWtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1908,"y":944,"level":0,"settings":{"name":"","mapId":790,"propType":{"sheet":"final-dng-inner","name":"slopeSEbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1930,"y":944,"level":0,"settings":{"name":"","mapId":791,"propType":{"sheet":"final-dng-inner","name":"slopeSEmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1952,"y":944,"level":0,"settings":{"name":"","mapId":792,"propType":{"sheet":"final-dng-inner","name":"slopeSEtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1974,"y":912,"level":0,"settings":{"name":"","mapId":793,"propType":{"sheet":"final-dng-outer","name":"elevatorNumber"},"propAnim":"gOn","condAnims":[]}},{"type":"Prop","x":2012,"y":912,"level":0,"settings":{"name":"","mapId":794,"propType":{"sheet":"final-dng-outer","name":"elevatorNumber"},"propAnim":"gOff","condAnims":[]}},{"type":"Prop","x":2050,"y":912,"level":0,"settings":{"name":"","mapId":795,"propType":{"sheet":"final-dng-outer","name":"elevatorNumber"},"propAnim":"b1On","condAnims":[]}},{"type":"Prop","x":2088,"y":912,"level":0,"settings":{"name":"","mapId":796,"propType":{"sheet":"final-dng-outer","name":"elevatorNumber"},"propAnim":"b1Off","condAnims":[]}},{"type":"Prop","x":2126,"y":912,"level":0,"settings":{"name":"","mapId":797,"propType":{"sheet":"final-dng-outer","name":"elevatorNumber"},"propAnim":"b2On","condAnims":[]}},{"type":"Prop","x":2164,"y":912,"level":0,"settings":{"name":"","mapId":798,"propType":{"sheet":"final-dng-outer","name":"elevatorNumber"},"propAnim":"b2Off","condAnims":[]}},{"type":"Prop","x":2202,"y":912,"level":0,"settings":{"name":"","mapId":799,"propType":{"sheet":"final-dng-outer","name":"elevatorNumber"},"propAnim":"b3On","condAnims":[]}},{"type":"Prop","x":2240,"y":912,"level":0,"settings":{"name":"","mapId":800,"propType":{"sheet":"final-dng-outer","name":"elevatorNumber"},"propAnim":"b3Off","condAnims":[]}},{"type":"Prop","x":2278,"y":912,"level":0,"settings":{"name":"","mapId":801,"propType":{"sheet":"final-dng-outer","name":"elevatorNumber"},"propAnim":"b4On","condAnims":[]}},{"type":"Prop","x":2316,"y":912,"level":0,"settings":{"name":"","mapId":802,"propType":{"sheet":"final-dng-outer","name":"elevatorNumber"},"propAnim":"b4Off","condAnims":[]}},{"type":"Prop","x":2354,"y":944,"level":0,"settings":{"name":"","mapId":803,"propType":{"sheet":"final-dng-outer","name":"slopeNWbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2376,"y":944,"level":0,"settings":{"name":"","mapId":804,"propType":{"sheet":"final-dng-outer","name":"slopeNWmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2398,"y":944,"level":0,"settings":{"name":"","mapId":805,"propType":{"sheet":"final-dng-outer","name":"slopeNWtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2420,"y":944,"level":0,"settings":{"name":"","mapId":806,"propType":{"sheet":"final-dng-outer","name":"slopeNEbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2442,"y":944,"level":0,"settings":{"name":"","mapId":807,"propType":{"sheet":"final-dng-outer","name":"slopeNEmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2464,"y":944,"level":0,"settings":{"name":"","mapId":808,"propType":{"sheet":"final-dng-outer","name":"slopeNEtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2486,"y":944,"level":0,"settings":{"name":"","mapId":809,"propType":{"sheet":"final-dng-outer","name":"slopeSWbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2508,"y":944,"level":0,"settings":{"name":"","mapId":810,"propType":{"sheet":"final-dng-outer","name":"slopeSWmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2530,"y":944,"level":0,"settings":{"name":"","mapId":811,"propType":{"sheet":"final-dng-outer","name":"slopeSWtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2552,"y":944,"level":0,"settings":{"name":"","mapId":812,"propType":{"sheet":"final-dng-outer","name":"slopeSEbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2574,"y":944,"level":0,"settings":{"name":"","mapId":813,"propType":{"sheet":"final-dng-outer","name":"slopeSEmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2596,"y":944,"level":0,"settings":{"name":"","mapId":814,"propType":{"sheet":"final-dng-outer","name":"slopeSEtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2620,"y":916,"level":0,"settings":{"name":"","mapId":815,"propType":{"sheet":"final-dng-outer","name":"waterRose1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2658,"y":916,"level":0,"settings":{"name":"","mapId":816,"propType":{"sheet":"final-dng-outer","name":"waterRose2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2690,"y":920,"level":0,"settings":{"name":"","mapId":817,"propType":{"sheet":"final-dng-outer","name":"waterRose3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2719,"y":921,"level":0,"settings":{"name":"","mapId":818,"propType":{"sheet":"final-dng-outer","name":"waterRose4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2757,"y":914,"level":0,"settings":{"name":"","mapId":819,"propType":{"sheet":"final-dng-outer","name":"waterRose5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2786,"y":921,"level":0,"settings":{"name":"","mapId":820,"propType":{"sheet":"final-dng-outer","name":"waterRose6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2824,"y":912,"level":0,"settings":{"name":"","mapId":821,"propType":{"sheet":"final-dng-outer","name":"waterfallBottomEdge"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":2846,"y":912,"level":0,"settings":{"name":"","mapId":822,"propType":{"sheet":"final-dng-outer","name":"waterfallBottomEdge"},"propAnim":"flip","condAnims":[]}},{"type":"Prop","x":2876,"y":936,"level":0,"settings":{"name":"","mapId":823,"propType":{"sheet":"final-dng-outer","name":"ferroPole"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2958,"y":1036,"level":0,"settings":{"name":"","mapId":824,"propType":{"sheet":"final-dng-outer","name":"tree1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3068,"y":1036,"level":0,"settings":{"name":"","mapId":825,"propType":{"sheet":"final-dng-outer","name":"tree2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3178,"y":1036,"level":0,"settings":{"name":"","mapId":826,"propType":{"sheet":"final-dng-outer","name":"tree3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3288,"y":1036,"level":0,"settings":{"name":"","mapId":827,"propType":{"sheet":"final-dng-outer","name":"tree1Flip"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3398,"y":1036,"level":0,"settings":{"name":"","mapId":828,"propType":{"sheet":"final-dng-outer","name":"tree2Flip"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3508,"y":1036,"level":0,"settings":{"name":"","mapId":829,"propType":{"sheet":"final-dng-outer","name":"tree3Flip"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":52,"y":1194,"level":0,"settings":{"name":"","mapId":830,"propType":{"sheet":"final-dng-outer","name":"tree4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":146,"y":1194,"level":0,"settings":{"name":"","mapId":831,"propType":{"sheet":"final-dng-outer","name":"tree5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":240,"y":1194,"level":0,"settings":{"name":"","mapId":832,"propType":{"sheet":"final-dng-outer","name":"tree6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":334,"y":1194,"level":0,"settings":{"name":"","mapId":833,"propType":{"sheet":"final-dng-outer","name":"tree4Flip"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":428,"y":1194,"level":0,"settings":{"name":"","mapId":834,"propType":{"sheet":"final-dng-outer","name":"tree5Flip"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":522,"y":1194,"level":0,"settings":{"name":"","mapId":835,"propType":{"sheet":"final-dng-outer","name":"tree6Flip"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":604,"y":1186,"level":0,"settings":{"name":"","mapId":836,"propType":{"sheet":"final-dng-outer","name":"tree7"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":674,"y":1186,"level":0,"settings":{"name":"","mapId":837,"propType":{"sheet":"final-dng-outer","name":"tree8"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":744,"y":1186,"level":0,"settings":{"name":"","mapId":838,"propType":{"sheet":"final-dng-outer","name":"tree9"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":814,"y":1186,"level":0,"settings":{"name":"","mapId":839,"propType":{"sheet":"final-dng-outer","name":"tree7Flip"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":884,"y":1186,"level":0,"settings":{"name":"","mapId":840,"propType":{"sheet":"final-dng-outer","name":"tree8Flip"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":954,"y":1186,"level":0,"settings":{"name":"","mapId":841,"propType":{"sheet":"final-dng-outer","name":"tree9Flip"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1008,"y":1078,"level":0,"settings":{"name":"","mapId":842,"propType":{"sheet":"final-dng-outer","name":"stone1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1049,"y":1080,"level":0,"settings":{"name":"","mapId":843,"propType":{"sheet":"final-dng-outer","name":"stone2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1088,"y":1076,"level":0,"settings":{"name":"","mapId":844,"propType":{"sheet":"final-dng-outer","name":"stone3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1119,"y":1076,"level":0,"settings":{"name":"","mapId":845,"propType":{"sheet":"final-dng-outer","name":"stone4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1146,"y":1078,"level":0,"settings":{"name":"","mapId":846,"propType":{"sheet":"final-dng-outer","name":"stone1Flip"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1187,"y":1080,"level":0,"settings":{"name":"","mapId":847,"propType":{"sheet":"final-dng-outer","name":"stone2Flip"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1226,"y":1076,"level":0,"settings":{"name":"","mapId":848,"propType":{"sheet":"final-dng-outer","name":"stone3Flip"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1257,"y":1076,"level":0,"settings":{"name":"","mapId":849,"propType":{"sheet":"final-dng-outer","name":"stone4Flip"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1284,"y":1086,"level":0,"settings":{"name":"","mapId":850,"propType":{"sheet":"final-dng-outer","name":"crystal1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1306,"y":1086,"level":0,"settings":{"name":"","mapId":851,"propType":{"sheet":"final-dng-outer","name":"crystal2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1328,"y":1086,"level":0,"settings":{"name":"","mapId":852,"propType":{"sheet":"final-dng-outer","name":"crystal3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1350,"y":1086,"level":0,"settings":{"name":"","mapId":853,"propType":{"sheet":"final-dng-outer","name":"crystal4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1375,"y":1094,"level":0,"settings":{"name":"","mapId":854,"propType":{"sheet":"final-dng-outer","name":"crystal5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1414,"y":1086,"level":0,"settings":{"name":"","mapId":855,"propType":{"sheet":"final-dng-outer","name":"crystal6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1451,"y":1089,"level":0,"settings":{"name":"","mapId":856,"propType":{"sheet":"final-dng-outer","name":"crystal7"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1498,"y":1102,"level":0,"settings":{"name":"","mapId":857,"propType":{"sheet":"final-dng-outer","name":"crystal-big-1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1542,"y":1086,"level":0,"settings":{"name":"","mapId":858,"propType":{"sheet":"final-dng-outer","name":"crystal-big-2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1580,"y":1086,"level":0,"settings":{"name":"","mapId":859,"propType":{"sheet":"final-dng-outer","name":"crystal-big-3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1624,"y":1094,"level":0,"settings":{"name":"","mapId":860,"propType":{"sheet":"final-dng-outer","name":"crystal-big-4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1694,"y":1070,"level":0,"settings":{"name":"","mapId":861,"propType":{"sheet":"final-dng-outer","name":"crystal-big-4-under"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1752,"y":1086,"level":0,"settings":{"name":"","mapId":862,"propType":{"sheet":"final-dng-outer","name":"waterPlant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1774,"y":1086,"level":0,"settings":{"name":"","mapId":863,"propType":{"sheet":"final-dng-outer","name":"waterPlant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1800,"y":1094,"level":0,"settings":{"name":"","mapId":864,"propType":{"sheet":"final-dng-outer","name":"waterPlant3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1832,"y":1095,"level":0,"settings":{"name":"","mapId":865,"propType":{"sheet":"final-dng-outer","name":"gras1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1866,"y":1095,"level":0,"settings":{"name":"","mapId":866,"propType":{"sheet":"final-dng-outer","name":"gras2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1898,"y":1084,"level":0,"settings":{"name":"","mapId":867,"propType":{"sheet":"final-dng-outer","name":"gras3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1924,"y":1083,"level":0,"settings":{"name":"","mapId":868,"propType":{"sheet":"final-dng-outer","name":"gras4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1951,"y":1081,"level":0,"settings":{"name":"","mapId":869,"propType":{"sheet":"final-dng-outer","name":"gras5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1989,"y":1090,"level":0,"settings":{"name":"","mapId":870,"propType":{"sheet":"final-dng-outer","name":"gras6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2037,"y":1098,"level":0,"settings":{"name":"","mapId":871,"propType":{"sheet":"final-dng-outer","name":"gras7"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2073,"y":1222,"level":0,"settings":{"name":"","mapId":872,"propType":{"sheet":"final-dng-outer","name":"crystalHuge"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2303,"y":1222,"level":0,"settings":{"name":"","mapId":873,"propType":{"sheet":"final-dng-outer","name":"crystalHugeF"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2530,"y":1070,"level":0,"settings":{"name":"","mapId":874,"propType":{"sheet":"final-dng-outer","name":"barrierSign"},"propAnim":"off","condAnims":[]}},{"type":"Prop","x":2560,"y":1070,"level":0,"settings":{"name":"","mapId":875,"propType":{"sheet":"final-dng-outer","name":"barrierSign"},"propAnim":"on","condAnims":[]}},{"type":"Prop","x":2594,"y":1086,"level":0,"settings":{"name":"","mapId":876,"propType":{"sheet":"forest-dng","name":"propeller"},"propAnim":"off","condAnims":[]}},{"type":"Prop","x":2624,"y":1086,"level":0,"settings":{"name":"","mapId":877,"propType":{"sheet":"forest-dng","name":"propeller"},"propAnim":"on","condAnims":[]}},{"type":"Prop","x":2654,"y":1086,"level":0,"settings":{"name":"","mapId":878,"propType":{"sheet":"forest-dng","name":"propeller"},"propAnim":"onSlow","condAnims":[]}},{"type":"Prop","x":2684,"y":1086,"level":0,"settings":{"name":"","mapId":879,"propType":{"sheet":"forest-dng","name":"propeller"},"propAnim":"end","condAnims":[]}},{"type":"Prop","x":2710,"y":1094,"level":0,"settings":{"name":"","mapId":880,"propType":{"sheet":"forest-dng","name":"slopeNWbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2732,"y":1094,"level":0,"settings":{"name":"","mapId":881,"propType":{"sheet":"forest-dng","name":"slopeNWmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2754,"y":1094,"level":0,"settings":{"name":"","mapId":882,"propType":{"sheet":"forest-dng","name":"slopeNWtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2776,"y":1094,"level":0,"settings":{"name":"","mapId":883,"propType":{"sheet":"forest-dng","name":"slopeNEbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2798,"y":1094,"level":0,"settings":{"name":"","mapId":884,"propType":{"sheet":"forest-dng","name":"slopeNEmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2820,"y":1094,"level":0,"settings":{"name":"","mapId":885,"propType":{"sheet":"forest-dng","name":"slopeNEtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2842,"y":1094,"level":0,"settings":{"name":"","mapId":886,"propType":{"sheet":"forest-dng","name":"slopeSWbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2864,"y":1094,"level":0,"settings":{"name":"","mapId":887,"propType":{"sheet":"forest-dng","name":"slopeSWmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2886,"y":1094,"level":0,"settings":{"name":"","mapId":888,"propType":{"sheet":"forest-dng","name":"slopeSWtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2908,"y":1094,"level":0,"settings":{"name":"","mapId":889,"propType":{"sheet":"forest-dng","name":"slopeSEbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2930,"y":1094,"level":0,"settings":{"name":"","mapId":890,"propType":{"sheet":"forest-dng","name":"slopeSEmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2952,"y":1094,"level":0,"settings":{"name":"","mapId":891,"propType":{"sheet":"forest-dng","name":"slopeSEtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2974,"y":1094,"level":0,"settings":{"name":"","mapId":892,"propType":{"sheet":"forest-dng","name":"fenceWaterWay"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2996,"y":1098,"level":0,"settings":{"name":"","mapId":893,"propType":{"sheet":"forest-dng","name":"waterfallTopEnd"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":3018,"y":1074,"level":0,"settings":{"name":"","mapId":894,"propType":{"sheet":"forest-dng","name":"waterfallTop"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":3040,"y":1073,"level":0,"settings":{"name":"","mapId":895,"propType":{"sheet":"forest-dng","name":"waterfallBottom"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":3062,"y":1098,"level":0,"settings":{"name":"","mapId":896,"propType":{"sheet":"forest-dng","name":"waterfallBottomEnd"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":3088,"y":1086,"level":0,"settings":{"name":"","mapId":897,"propType":{"sheet":"forest-dng","name":"waterPlant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3110,"y":1086,"level":0,"settings":{"name":"","mapId":898,"propType":{"sheet":"forest-dng","name":"waterPlant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3136,"y":1094,"level":0,"settings":{"name":"","mapId":899,"propType":{"sheet":"forest-dng","name":"waterPlant3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3166,"y":1102,"level":0,"settings":{"name":"","mapId":900,"propType":{"sheet":"forest-dng","name":"waterPlant4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3190,"y":1074,"level":0,"settings":{"name":"","mapId":901,"propType":{"sheet":"forest-dng","name":"waterRose1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3228,"y":1074,"level":0,"settings":{"name":"","mapId":902,"propType":{"sheet":"forest-dng","name":"waterRose2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3260,"y":1078,"level":0,"settings":{"name":"","mapId":903,"propType":{"sheet":"forest-dng","name":"waterRose3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3286,"y":1086,"level":0,"settings":{"name":"","mapId":904,"propType":{"sheet":"forest-dng","name":"wallPlantW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3324,"y":1086,"level":0,"settings":{"name":"","mapId":905,"propType":{"sheet":"forest-dng","name":"wallPlantE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3362,"y":1086,"level":0,"settings":{"name":"","mapId":906,"propType":{"sheet":"forest-dng","name":"wallPlantN"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3432,"y":1086,"level":0,"settings":{"name":"","mapId":907,"propType":{"sheet":"forest-dng","name":"wallPlantNW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3494,"y":1086,"level":0,"settings":{"name":"","mapId":908,"propType":{"sheet":"forest-dng","name":"wallPlantNE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3556,"y":1086,"level":0,"settings":{"name":"","mapId":909,"propType":{"sheet":"forest-interior","name":"probe"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":24,"y":1340,"level":0,"settings":{"name":"","mapId":910,"propType":{"sheet":"forest-interior","name":"probe"},"propAnim":"on","condAnims":[]}},{"type":"Prop","x":54,"y":1340,"level":0,"settings":{"name":"","mapId":911,"propType":{"sheet":"forest-interior","name":"probe"},"propAnim":"off","condAnims":[]}},{"type":"Prop","x":84,"y":1340,"level":0,"settings":{"name":"","mapId":912,"propType":{"sheet":"forest-interior","name":"probe"},"propAnim":"onRed","condAnims":[]}},{"type":"Prop","x":134,"y":1380,"level":0,"settings":{"name":"","mapId":913,"propType":{"sheet":"forest-interior","name":"plant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":184,"y":1388,"level":0,"settings":{"name":"","mapId":914,"propType":{"sheet":"forest-interior","name":"plant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":218,"y":1356,"level":0,"settings":{"name":"","mapId":915,"propType":{"sheet":"forest-interior","name":"plant3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":244,"y":1340,"level":0,"settings":{"name":"","mapId":916,"propType":{"sheet":"forest-interior","name":"plant4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":266,"y":1340,"level":0,"settings":{"name":"","mapId":917,"propType":{"sheet":"forest-interior","name":"plant5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":288,"y":1340,"level":0,"settings":{"name":"","mapId":918,"propType":{"sheet":"forest-interior","name":"plant6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":310,"y":1336,"level":0,"settings":{"name":"","mapId":919,"propType":{"sheet":"forest-interior","name":"terminalN"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":348,"y":1332,"level":0,"settings":{"name":"","mapId":920,"propType":{"sheet":"forest-interior","name":"terminalE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":366,"y":1332,"level":0,"settings":{"name":"","mapId":921,"propType":{"sheet":"forest-interior","name":"terminalW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":384,"y":1364,"level":0,"settings":{"name":"","mapId":922,"propType":{"sheet":"forest-interior","name":"shelfE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":402,"y":1364,"level":0,"settings":{"name":"","mapId":923,"propType":{"sheet":"forest-interior","name":"shelfW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":420,"y":1353,"level":0,"settings":{"name":"","mapId":924,"propType":{"sheet":"forest-interior","name":"pictureFlame"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":457,"y":1336,"level":0,"settings":{"name":"","mapId":925,"propType":{"sheet":"forest-interior","name":"picture"},"propAnim":"croissant","condAnims":[]}},{"type":"Prop","x":487,"y":1336,"level":0,"settings":{"name":"","mapId":926,"propType":{"sheet":"forest-interior","name":"picture"},"propAnim":"autumn","condAnims":[]}},{"type":"Prop","x":517,"y":1336,"level":0,"settings":{"name":"","mapId":927,"propType":{"sheet":"forest-interior","name":"picture"},"propAnim":"bergen","condAnims":[]}},{"type":"Prop","x":547,"y":1336,"level":0,"settings":{"name":"","mapId":928,"propType":{"sheet":"forest-interior","name":"picture"},"propAnim":"fajro","condAnims":[]}},{"type":"Prop","x":577,"y":1336,"level":0,"settings":{"name":"","mapId":929,"propType":{"sheet":"forest-interior","name":"picture"},"propAnim":"maroon","condAnims":[]}},{"type":"Prop","x":609,"y":1363,"level":0,"settings":{"name":"","mapId":930,"propType":{"sheet":"forest-interior","name":"inner-lamp3"},"propAnim":"off","condAnims":[]}},{"type":"Prop","x":635,"y":1363,"level":0,"settings":{"name":"","mapId":931,"propType":{"sheet":"forest-interior","name":"inner-lamp3"},"propAnim":"on","condAnims":[]}},{"type":"Prop","x":661,"y":1344,"level":0,"settings":{"name":"","mapId":932,"propType":{"sheet":"forest-interior","name":"chair-down"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":683,"y":1344,"level":0,"settings":{"name":"","mapId":933,"propType":{"sheet":"forest-interior","name":"chair-right"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":705,"y":1344,"level":0,"settings":{"name":"","mapId":934,"propType":{"sheet":"forest-interior","name":"chair-left"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":727,"y":1344,"level":0,"settings":{"name":"","mapId":935,"propType":{"sheet":"forest-interior","name":"chair-up"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":749,"y":1344,"level":0,"settings":{"name":"","mapId":936,"propType":{"sheet":"forest-interior","name":"chair-satoshi"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":771,"y":1344,"level":0,"settings":{"name":"","mapId":937,"propType":{"sheet":"forest-interior","name":"chair-satoshi-down"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":791,"y":1324,"level":0,"settings":{"name":"","mapId":938,"propType":{"sheet":"forest-interior","name":"pillow1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":813,"y":1324,"level":0,"settings":{"name":"","mapId":939,"propType":{"sheet":"forest-interior","name":"pillow2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":837,"y":1363,"level":0,"settings":{"name":"","mapId":940,"propType":{"sheet":"forest-interior","name":"inner-lamp1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":863,"y":1363,"level":0,"settings":{"name":"","mapId":941,"propType":{"sheet":"forest-interior","name":"inner-lamp2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":887,"y":1364,"level":0,"settings":{"name":"","mapId":942,"propType":{"sheet":"forest-interior","name":"bar1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":909,"y":1364,"level":0,"settings":{"name":"","mapId":943,"propType":{"sheet":"forest-interior","name":"bar2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":931,"y":1364,"level":0,"settings":{"name":"","mapId":944,"propType":{"sheet":"forest-interior","name":"bar3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":953,"y":1332,"level":0,"settings":{"name":"","mapId":945,"propType":{"sheet":"forest-interior","name":"displayA"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":983,"y":1332,"level":0,"settings":{"name":"","mapId":946,"propType":{"sheet":"forest-interior","name":"displayA"},"propAnim":"stopped","condAnims":[]}},{"type":"Prop","x":1013,"y":1332,"level":0,"settings":{"name":"","mapId":947,"propType":{"sheet":"forest-interior","name":"displayA"},"propAnim":"finished","condAnims":[]}},{"type":"Prop","x":1043,"y":1340,"level":0,"settings":{"name":"","mapId":948,"propType":{"sheet":"forest-interior","name":"displayB"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":1065,"y":1340,"level":0,"settings":{"name":"","mapId":949,"propType":{"sheet":"forest-interior","name":"displayB"},"propAnim":"finished","condAnims":[]}},{"type":"Prop","x":1091,"y":1330,"level":0,"settings":{"name":"","mapId":950,"propType":{"sheet":"forest-interior","name":"groundProjector"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1131,"y":1348,"level":0,"settings":{"name":"","mapId":951,"propType":{"sheet":"forest","name":"campfire"},"propAnim":"burn","condAnims":[]}},{"type":"Prop","x":1171,"y":1352,"level":0,"settings":{"name":"","mapId":952,"propType":{"sheet":"forest","name":"waterfallTopEnd"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":1193,"y":1328,"level":0,"settings":{"name":"","mapId":953,"propType":{"sheet":"forest","name":"waterfallTop"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":1215,"y":1324,"level":0,"settings":{"name":"","mapId":954,"propType":{"sheet":"forest","name":"waterfallMiddle"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":1237,"y":1327,"level":0,"settings":{"name":"","mapId":955,"propType":{"sheet":"forest","name":"waterfallBottom"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":1259,"y":1352,"level":0,"settings":{"name":"","mapId":956,"propType":{"sheet":"forest","name":"waterfallBottomEnd"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":1281,"y":1348,"level":0,"settings":{"name":"","mapId":957,"propType":{"sheet":"forest","name":"fenceWaterWay"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1303,"y":1348,"level":0,"settings":{"name":"","mapId":958,"propType":{"sheet":"forest","name":"fenceBrokenWEST"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1325,"y":1348,"level":0,"settings":{"name":"","mapId":959,"propType":{"sheet":"forest","name":"fenceBrokenEAST"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1347,"y":1396,"level":0,"settings":{"name":"","mapId":960,"propType":{"sheet":"forest","name":"teleport-nw"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1385,"y":1396,"level":0,"settings":{"name":"","mapId":961,"propType":{"sheet":"forest","name":"teleport-ne"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1423,"y":1396,"level":0,"settings":{"name":"","mapId":962,"propType":{"sheet":"forest","name":"teleport-sw"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1461,"y":1396,"level":0,"settings":{"name":"","mapId":963,"propType":{"sheet":"forest","name":"teleport-se"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1499,"y":1331,"level":0,"settings":{"name":"","mapId":964,"propType":{"sheet":"forest","name":"chest"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":1522,"y":1356,"level":0,"settings":{"name":"","mapId":965,"propType":{"sheet":"forest","name":"bamcube"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1560,"y":1324,"level":0,"settings":{"name":"","mapId":966,"propType":{"sheet":"forest","name":"arSignW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1590,"y":1324,"level":0,"settings":{"name":"","mapId":967,"propType":{"sheet":"forest","name":"arSignE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1620,"y":1332,"level":0,"settings":{"name":"","mapId":968,"propType":{"sheet":"forest","name":"arSignNW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1642,"y":1332,"level":0,"settings":{"name":"","mapId":969,"propType":{"sheet":"forest","name":"arSignNE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1664,"y":1332,"level":0,"settings":{"name":"","mapId":970,"propType":{"sheet":"forest","name":"arSignSE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1686,"y":1332,"level":0,"settings":{"name":"","mapId":971,"propType":{"sheet":"forest","name":"arSignSW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1708,"y":1340,"level":0,"settings":{"name":"","mapId":972,"propType":{"sheet":"forest","name":"arSignSquareE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1730,"y":1340,"level":0,"settings":{"name":"","mapId":973,"propType":{"sheet":"forest","name":"arSignSquareW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1752,"y":1388,"level":0,"settings":{"name":"","mapId":974,"propType":{"sheet":"forest","name":"signpost"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1776,"y":1328,"level":0,"settings":{"name":"","mapId":975,"propType":{"sheet":"forest","name":"waterRose1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1814,"y":1328,"level":0,"settings":{"name":"","mapId":976,"propType":{"sheet":"forest","name":"waterRose2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1846,"y":1332,"level":0,"settings":{"name":"","mapId":977,"propType":{"sheet":"forest","name":"waterRose3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1872,"y":1364,"level":0,"settings":{"name":"","mapId":978,"propType":{"sheet":"forest","name":"block1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1902,"y":1364,"level":0,"settings":{"name":"","mapId":979,"propType":{"sheet":"forest","name":"block2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1932,"y":1364,"level":0,"settings":{"name":"","mapId":980,"propType":{"sheet":"forest","name":"barrierBlock1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1986,"y":1388,"level":0,"settings":{"name":"","mapId":981,"propType":{"sheet":"forest","name":"tree1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2066,"y":1435,"level":0,"settings":{"name":"","mapId":982,"propType":{"sheet":"forest","name":"tree2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2160,"y":1383,"level":0,"settings":{"name":"","mapId":983,"propType":{"sheet":"forest","name":"lamp1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2190,"y":1356,"level":0,"settings":{"name":"","mapId":984,"propType":{"sheet":"forest","name":"lamp2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2220,"y":1356,"level":0,"settings":{"name":"","mapId":985,"propType":{"sheet":"forest","name":"lamp3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2248,"y":1344,"level":0,"settings":{"name":"","mapId":986,"propType":{"sheet":"forest","name":"lamp4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2274,"y":1344,"level":0,"settings":{"name":"","mapId":987,"propType":{"sheet":"forest","name":"lamp5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2298,"y":1332,"level":0,"settings":{"name":"","mapId":988,"propType":{"sheet":"forest","name":"lantern1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2321,"y":1336,"level":0,"settings":{"name":"","mapId":989,"propType":{"sheet":"forest","name":"stone1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2359,"y":1336,"level":0,"settings":{"name":"","mapId":990,"propType":{"sheet":"forest","name":"stone2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2396,"y":1336,"level":0,"settings":{"name":"","mapId":991,"propType":{"sheet":"forest","name":"stone3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2476,"y":1332,"level":0,"settings":{"name":"","mapId":992,"propType":{"sheet":"forest","name":"stone4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2510,"y":1332,"level":0,"settings":{"name":"","mapId":993,"propType":{"sheet":"forest","name":"stone5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2553,"y":1332,"level":0,"settings":{"name":"","mapId":994,"propType":{"sheet":"forest","name":"stone6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2584,"y":1330,"level":0,"settings":{"name":"","mapId":995,"propType":{"sheet":"forest","name":"stone7"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2611,"y":1342,"level":0,"settings":{"name":"","mapId":996,"propType":{"sheet":"forest","name":"bush1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2681,"y":1342,"level":0,"settings":{"name":"","mapId":997,"propType":{"sheet":"forest","name":"bridge-left"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2719,"y":1338,"level":0,"settings":{"name":"","mapId":998,"propType":{"sheet":"forest","name":"bridge-middle"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2741,"y":1342,"level":0,"settings":{"name":"","mapId":999,"propType":{"sheet":"forest","name":"bridge-right"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2779,"y":1342,"level":0,"settings":{"name":"","mapId":1000,"propType":{"sheet":"forest","name":"bridge-broke-left"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2817,"y":1342,"level":0,"settings":{"name":"","mapId":1001,"propType":{"sheet":"forest","name":"bridge-broke-right"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2855,"y":1338,"level":0,"settings":{"name":"","mapId":1002,"propType":{"sheet":"forest","name":"bridge-broke-middle1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2877,"y":1338,"level":0,"settings":{"name":"","mapId":1003,"propType":{"sheet":"forest","name":"bridge-broke-middle2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2899,"y":1338,"level":0,"settings":{"name":"","mapId":1004,"propType":{"sheet":"forest","name":"bridge-broke-middle3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2921,"y":1338,"level":0,"settings":{"name":"","mapId":1005,"propType":{"sheet":"forest","name":"bridge-broke-middle4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2943,"y":1338,"level":0,"settings":{"name":"","mapId":1006,"propType":{"sheet":"forest","name":"bridge-broke-middle5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2965,"y":1372,"level":0,"settings":{"name":"","mapId":1007,"propType":{"sheet":"forest","name":"bridge-bigarc-left"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3019,"y":1372,"level":0,"settings":{"name":"","mapId":1008,"propType":{"sheet":"forest","name":"bridge-bigarc-right"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3077,"y":1372,"level":0,"settings":{"name":"","mapId":1009,"propType":{"sheet":"forest","name":"bamboo1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3103,"y":1364,"level":0,"settings":{"name":"","mapId":1010,"propType":{"sheet":"forest","name":"bamboo2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3125,"y":1348,"level":0,"settings":{"name":"","mapId":1011,"propType":{"sheet":"forest","name":"bamboo3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3151,"y":1356,"level":0,"settings":{"name":"","mapId":1012,"propType":{"sheet":"forest","name":"bamboo4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3177,"y":1340,"level":0,"settings":{"name":"","mapId":1013,"propType":{"sheet":"forest","name":"bamboo5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3199,"y":1332,"level":0,"settings":{"name":"","mapId":1014,"propType":{"sheet":"forest","name":"bamboo6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3225,"y":1332,"level":0,"settings":{"name":"","mapId":1015,"propType":{"sheet":"forest","name":"bonzai1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3255,"y":1356,"level":0,"settings":{"name":"","mapId":1016,"propType":{"sheet":"forest","name":"bambooCoverS"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3285,"y":1356,"level":0,"settings":{"name":"","mapId":1017,"propType":{"sheet":"forest","name":"bambooCoverM"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3331,"y":1340,"level":0,"settings":{"name":"","mapId":1018,"propType":{"sheet":"forest","name":"plant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3361,"y":1340,"level":0,"settings":{"name":"","mapId":1019,"propType":{"sheet":"forest","name":"plant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3391,"y":1340,"level":0,"settings":{"name":"","mapId":1020,"propType":{"sheet":"forest","name":"plant3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3425,"y":1364,"level":0,"settings":{"name":"","mapId":1021,"propType":{"sheet":"forest","name":"glowplant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3463,"y":1364,"level":0,"settings":{"name":"","mapId":1022,"propType":{"sheet":"forest","name":"glowplant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3493,"y":1324,"level":0,"settings":{"name":"","mapId":1023,"propType":{"sheet":"forest","name":"barrierSignMeteor"},"propAnim":"off","condAnims":[]}},{"type":"Prop","x":3523,"y":1324,"level":0,"settings":{"name":"","mapId":1024,"propType":{"sheet":"forest","name":"barrierSignMeteor"},"propAnim":"on","condAnims":[]}},{"type":"Prop","x":3553,"y":1331,"level":0,"settings":{"name":"","mapId":1025,"propType":{"sheet":"heat-dng","name":"chalice1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3569,"y":1342,"level":0,"settings":{"name":"","mapId":1026,"propType":{"sheet":"heat-dng","name":"chalice2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":24,"y":1477,"level":0,"settings":{"name":"","mapId":1027,"propType":{"sheet":"heat-dng","name":"chest"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":62,"y":1477,"level":0,"settings":{"name":"","mapId":1028,"propType":{"sheet":"heat-dng","name":"chestBig"},"propAnim":"full","condAnims":[]}},{"type":"Prop","x":116,"y":1477,"level":0,"settings":{"name":"","mapId":1029,"propType":{"sheet":"heat-dng","name":"chestBig"},"propAnim":75,"condAnims":[]}},{"type":"Prop","x":170,"y":1477,"level":0,"settings":{"name":"","mapId":1030,"propType":{"sheet":"heat-dng","name":"chestBig"},"propAnim":50,"condAnims":[]}},{"type":"Prop","x":224,"y":1477,"level":0,"settings":{"name":"","mapId":1031,"propType":{"sheet":"heat-dng","name":"chestBig"},"propAnim":25,"condAnims":[]}},{"type":"Prop","x":278,"y":1477,"level":0,"settings":{"name":"","mapId":1032,"propType":{"sheet":"heat-dng","name":"chestBig"},"propAnim":"empty","condAnims":[]}},{"type":"Prop","x":332,"y":1485,"level":0,"settings":{"name":"","mapId":1033,"propType":{"sheet":"heat-dng","name":"slopeNWbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":354,"y":1485,"level":0,"settings":{"name":"","mapId":1034,"propType":{"sheet":"heat-dng","name":"slopeNWmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":376,"y":1485,"level":0,"settings":{"name":"","mapId":1035,"propType":{"sheet":"heat-dng","name":"slopeNWtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":398,"y":1485,"level":0,"settings":{"name":"","mapId":1036,"propType":{"sheet":"heat-dng","name":"slopeNEbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":420,"y":1485,"level":0,"settings":{"name":"","mapId":1037,"propType":{"sheet":"heat-dng","name":"slopeNEmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":442,"y":1485,"level":0,"settings":{"name":"","mapId":1038,"propType":{"sheet":"heat-dng","name":"slopeNEtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":464,"y":1485,"level":0,"settings":{"name":"","mapId":1039,"propType":{"sheet":"heat-dng","name":"slopeSWbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":486,"y":1485,"level":0,"settings":{"name":"","mapId":1040,"propType":{"sheet":"heat-dng","name":"slopeSWmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":508,"y":1485,"level":0,"settings":{"name":"","mapId":1041,"propType":{"sheet":"heat-dng","name":"slopeSWtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":530,"y":1485,"level":0,"settings":{"name":"","mapId":1042,"propType":{"sheet":"heat-dng","name":"slopeSEbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":552,"y":1485,"level":0,"settings":{"name":"","mapId":1043,"propType":{"sheet":"heat-dng","name":"slopeSEmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":574,"y":1485,"level":0,"settings":{"name":"","mapId":1044,"propType":{"sheet":"heat-dng","name":"slopeSEtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":596,"y":1485,"level":0,"settings":{"name":"","mapId":1045,"propType":{"sheet":"heat-dng","name":"fenceWaterWay"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":618,"y":1489,"level":0,"settings":{"name":"","mapId":1046,"propType":{"sheet":"heat-dng","name":"waterfallTopEnd"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":640,"y":1465,"level":0,"settings":{"name":"","mapId":1047,"propType":{"sheet":"heat-dng","name":"waterfallTop"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":662,"y":1464,"level":0,"settings":{"name":"","mapId":1048,"propType":{"sheet":"heat-dng","name":"waterfallBottom"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":684,"y":1489,"level":0,"settings":{"name":"","mapId":1049,"propType":{"sheet":"heat-dng","name":"waterfallBottomEnd"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":706,"y":1493,"level":0,"settings":{"name":"","mapId":1050,"propType":{"sheet":"heat-interior","name":"painting"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":752,"y":1509,"level":0,"settings":{"name":"","mapId":1051,"propType":{"sheet":"heat-interior","name":"plant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":802,"y":1477,"level":0,"settings":{"name":"","mapId":1052,"propType":{"sheet":"heat-interior","name":"plant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":828,"y":1477,"level":0,"settings":{"name":"","mapId":1053,"propType":{"sheet":"heat-interior","name":"plant3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":850,"y":1477,"level":0,"settings":{"name":"","mapId":1054,"propType":{"sheet":"heat-interior","name":"plant4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":872,"y":1493,"level":0,"settings":{"name":"","mapId":1055,"propType":{"sheet":"heat-interior","name":"plant5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":894,"y":1469,"level":0,"settings":{"name":"","mapId":1056,"propType":{"sheet":"heat-interior","name":"vase1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":916,"y":1469,"level":0,"settings":{"name":"","mapId":1057,"propType":{"sheet":"heat-interior","name":"vase2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":938,"y":1469,"level":0,"settings":{"name":"","mapId":1058,"propType":{"sheet":"heat-interior","name":"vase3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":968,"y":1477,"level":0,"settings":{"name":"","mapId":1059,"propType":{"sheet":"heat-interior","name":"vase4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":990,"y":1473,"level":0,"settings":{"name":"","mapId":1060,"propType":{"sheet":"heat-interior","name":"terminalN"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1028,"y":1469,"level":0,"settings":{"name":"","mapId":1061,"propType":{"sheet":"heat-interior","name":"terminalE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1046,"y":1469,"level":0,"settings":{"name":"","mapId":1062,"propType":{"sheet":"heat-interior","name":"terminalW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1064,"y":1501,"level":0,"settings":{"name":"","mapId":1063,"propType":{"sheet":"heat-interior","name":"shelfE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1082,"y":1501,"level":0,"settings":{"name":"","mapId":1064,"propType":{"sheet":"heat-interior","name":"shelfW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1100,"y":1473,"level":0,"settings":{"name":"","mapId":1065,"propType":{"sheet":"heat-interior","name":"picture"},"propAnim":"croissant","condAnims":[]}},{"type":"Prop","x":1130,"y":1473,"level":0,"settings":{"name":"","mapId":1066,"propType":{"sheet":"heat-interior","name":"picture"},"propAnim":"autumn","condAnims":[]}},{"type":"Prop","x":1160,"y":1473,"level":0,"settings":{"name":"","mapId":1067,"propType":{"sheet":"heat-interior","name":"picture"},"propAnim":"bergen","condAnims":[]}},{"type":"Prop","x":1190,"y":1473,"level":0,"settings":{"name":"","mapId":1068,"propType":{"sheet":"heat-interior","name":"picture"},"propAnim":"fajro","condAnims":[]}},{"type":"Prop","x":1220,"y":1473,"level":0,"settings":{"name":"","mapId":1069,"propType":{"sheet":"heat-interior","name":"picture"},"propAnim":"maroon","condAnims":[]}},{"type":"Prop","x":1258,"y":1551,"level":0,"settings":{"name":"","mapId":1070,"propType":{"sheet":"heat-interior","name":"lightbeam"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":1288,"y":1509,"level":0,"settings":{"name":"","mapId":1071,"propType":{"sheet":"heat-interior","name":"lightbeamEast"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":1310,"y":1509,"level":0,"settings":{"name":"","mapId":1072,"propType":{"sheet":"heat-interior","name":"lightbeamWest"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":1334,"y":1481,"level":0,"settings":{"name":"","mapId":1073,"propType":{"sheet":"heat-interior","name":"chair-down"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1356,"y":1481,"level":0,"settings":{"name":"","mapId":1074,"propType":{"sheet":"heat-interior","name":"chair-right"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1378,"y":1481,"level":0,"settings":{"name":"","mapId":1075,"propType":{"sheet":"heat-interior","name":"chair-left"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1400,"y":1481,"level":0,"settings":{"name":"","mapId":1076,"propType":{"sheet":"heat-interior","name":"chair-up"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1420,"y":1469,"level":0,"settings":{"name":"","mapId":1077,"propType":{"sheet":"heat-interior","name":"pillow1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1442,"y":1469,"level":0,"settings":{"name":"","mapId":1078,"propType":{"sheet":"heat-interior","name":"pillow2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1464,"y":1461,"level":0,"settings":{"name":"","mapId":1079,"propType":{"sheet":"heat-interior","name":"carpetDown"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1494,"y":1461,"level":0,"settings":{"name":"","mapId":1080,"propType":{"sheet":"heat-interior","name":"carpetLeft"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1516,"y":1461,"level":0,"settings":{"name":"","mapId":1081,"propType":{"sheet":"heat-interior","name":"carpetRight"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1538,"y":1509,"level":0,"settings":{"name":"","mapId":1082,"propType":{"sheet":"heat-interior","name":"bakiHistory"},"propAnim":"statue","condAnims":[]}},{"type":"Prop","x":1584,"y":1509,"level":0,"settings":{"name":"","mapId":1083,"propType":{"sheet":"heat-interior","name":"bakiHistory"},"propAnim":"temple","condAnims":[]}},{"type":"Prop","x":1630,"y":1509,"level":0,"settings":{"name":"","mapId":1084,"propType":{"sheet":"heat-interior","name":"bakiHistory"},"propAnim":"tree","condAnims":[]}},{"type":"Prop","x":1676,"y":1509,"level":0,"settings":{"name":"","mapId":1085,"propType":{"sheet":"heat-interior","name":"bakiHistory"},"propAnim":"worm","condAnims":[]}},{"type":"Prop","x":1722,"y":1472,"level":0,"settings":{"name":"","mapId":1086,"propType":{"sheet":"heat-village","name":"container-1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1744,"y":1472,"level":0,"settings":{"name":"","mapId":1087,"propType":{"sheet":"heat-village","name":"container-2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1766,"y":1472,"level":0,"settings":{"name":"","mapId":1088,"propType":{"sheet":"heat-village","name":"container-3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1788,"y":1472,"level":0,"settings":{"name":"","mapId":1089,"propType":{"sheet":"heat-village","name":"container-4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1810,"y":1472,"level":0,"settings":{"name":"","mapId":1090,"propType":{"sheet":"heat-village","name":"container-5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1832,"y":1493,"level":0,"settings":{"name":"","mapId":1091,"propType":{"sheet":"heat-village","name":"metal-box-01"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1870,"y":1477,"level":0,"settings":{"name":"","mapId":1092,"propType":{"sheet":"heat-village","name":"wooden-box-01"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1892,"y":1477,"level":0,"settings":{"name":"","mapId":1093,"propType":{"sheet":"heat-village","name":"wooden-box-02"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1930,"y":1477,"level":0,"settings":{"name":"","mapId":1094,"propType":{"sheet":"heat-village","name":"wooden-box-03"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1952,"y":1477,"level":0,"settings":{"name":"","mapId":1095,"propType":{"sheet":"heat-village","name":"wooden-box-04"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1990,"y":1473,"level":0,"settings":{"name":"","mapId":1096,"propType":{"sheet":"heat-village","name":"wooden-box-05"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2012,"y":1473,"level":0,"settings":{"name":"","mapId":1097,"propType":{"sheet":"heat-village","name":"wooden-box-06"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2034,"y":1493,"level":0,"settings":{"name":"","mapId":1098,"propType":{"sheet":"heat-village","name":"wooden-box-07"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2072,"y":1493,"level":0,"settings":{"name":"","mapId":1099,"propType":{"sheet":"heat-village","name":"wooden-box-08"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2126,"y":1477,"level":0,"settings":{"name":"","mapId":1100,"propType":{"sheet":"heat-village","name":"wooden-box-09"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2148,"y":1477,"level":0,"settings":{"name":"","mapId":1101,"propType":{"sheet":"heat-village","name":"wooden-box-10"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2170,"y":1471,"level":0,"settings":{"name":"","mapId":1102,"propType":{"sheet":"heat-village","name":"vase-1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2201,"y":1482,"level":0,"settings":{"name":"","mapId":1103,"propType":{"sheet":"heat-village","name":"vase-2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2222,"y":1473,"level":0,"settings":{"name":"","mapId":1104,"propType":{"sheet":"heat-village","name":"vase-3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2244,"y":1471,"level":0,"settings":{"name":"","mapId":1105,"propType":{"sheet":"heat-village","name":"vase-4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2275,"y":1482,"level":0,"settings":{"name":"","mapId":1106,"propType":{"sheet":"heat-village","name":"vase-5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2296,"y":1473,"level":0,"settings":{"name":"","mapId":1107,"propType":{"sheet":"heat-village","name":"vase-6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2318,"y":1469,"level":0,"settings":{"name":"","mapId":1108,"propType":{"sheet":"heat","name":"skull-1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2355,"y":1491,"level":0,"settings":{"name":"","mapId":1109,"propType":{"sheet":"heat","name":"miniTree-1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2385,"y":1491,"level":0,"settings":{"name":"","mapId":1110,"propType":{"sheet":"heat","name":"miniTree-dry-1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2416,"y":1477,"level":0,"settings":{"name":"","mapId":1111,"propType":{"sheet":"heat","name":"plantDry1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2454,"y":1477,"level":0,"settings":{"name":"","mapId":1112,"propType":{"sheet":"heat","name":"plantDry2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2498,"y":1489,"level":0,"settings":{"name":"","mapId":1113,"propType":{"sheet":"heat","name":"treeDryS-1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2552,"y":1489,"level":0,"settings":{"name":"","mapId":1114,"propType":{"sheet":"heat","name":"treeDryS-2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2592,"y":1485,"level":0,"settings":{"name":"","mapId":1115,"propType":{"sheet":"heat","name":"cucactone"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2644,"y":1497,"level":0,"settings":{"name":"","mapId":1116,"propType":{"sheet":"heat","name":"treeS"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2704,"y":1525,"level":0,"settings":{"name":"","mapId":1117,"propType":{"sheet":"heat","name":"treeM"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2790,"y":1549,"level":0,"settings":{"name":"","mapId":1118,"propType":{"sheet":"heat","name":"treeL1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2900,"y":1549,"level":0,"settings":{"name":"","mapId":1119,"propType":{"sheet":"heat","name":"treeL2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3010,"y":1541,"level":0,"settings":{"name":"","mapId":1120,"propType":{"sheet":"heat","name":"treeL3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3092,"y":1501,"level":0,"settings":{"name":"","mapId":1121,"propType":{"sheet":"heat","name":"block1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3122,"y":1501,"level":0,"settings":{"name":"","mapId":1122,"propType":{"sheet":"heat","name":"block2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3152,"y":1501,"level":0,"settings":{"name":"","mapId":1123,"propType":{"sheet":"heat","name":"barrierBlock1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3182,"y":1461,"level":0,"settings":{"name":"","mapId":1124,"propType":{"sheet":"heat","name":"barrierSign"},"propAnim":"off","condAnims":[]}},{"type":"Prop","x":3212,"y":1461,"level":0,"settings":{"name":"","mapId":1125,"propType":{"sheet":"heat","name":"barrierSign"},"propAnim":"on","condAnims":[]}},{"type":"Prop","x":3250,"y":1477,"level":0,"settings":{"name":"","mapId":1126,"propType":{"sheet":"heat","name":"plant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3288,"y":1477,"level":0,"settings":{"name":"","mapId":1127,"propType":{"sheet":"heat","name":"plant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3322,"y":1485,"level":0,"settings":{"name":"","mapId":1128,"propType":{"sheet":"heat","name":"plant3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3340,"y":1471,"level":0,"settings":{"name":"","mapId":1129,"propType":{"sheet":"heat","name":"plant4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3354,"y":1477,"level":0,"settings":{"name":"","mapId":1130,"propType":{"sheet":"heat","name":"plant5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3400,"y":1478,"level":0,"settings":{"name":"","mapId":1131,"propType":{"sheet":"heat","name":"plant6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3418,"y":1473,"level":0,"settings":{"name":"","mapId":1132,"propType":{"sheet":"heat","name":"cacti1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3445,"y":1473,"level":0,"settings":{"name":"","mapId":1133,"propType":{"sheet":"heat","name":"cacti2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3472,"y":1473,"level":0,"settings":{"name":"","mapId":1134,"propType":{"sheet":"heat","name":"bush-small-1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3500,"y":1473,"level":0,"settings":{"name":"","mapId":1135,"propType":{"sheet":"heat","name":"bush-small-2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3532,"y":1477,"level":0,"settings":{"name":"","mapId":1136,"propType":{"sheet":"heat","name":"waterPlant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3554,"y":1477,"level":0,"settings":{"name":"","mapId":1137,"propType":{"sheet":"heat","name":"waterPlant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3580,"y":1485,"level":0,"settings":{"name":"","mapId":1138,"propType":{"sheet":"heat","name":"waterPlant3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":32,"y":1619,"level":0,"settings":{"name":"","mapId":1139,"propType":{"sheet":"heat","name":"waterPlant4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":56,"y":1591,"level":0,"settings":{"name":"","mapId":1140,"propType":{"sheet":"heat","name":"waterRose1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":94,"y":1591,"level":0,"settings":{"name":"","mapId":1141,"propType":{"sheet":"heat","name":"waterRose2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":126,"y":1595,"level":0,"settings":{"name":"","mapId":1142,"propType":{"sheet":"heat","name":"waterRose3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":155,"y":1595,"level":0,"settings":{"name":"","mapId":1143,"propType":{"sheet":"heat","name":"stone1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":190,"y":1595,"level":0,"settings":{"name":"","mapId":1144,"propType":{"sheet":"heat","name":"stone2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":233,"y":1595,"level":0,"settings":{"name":"","mapId":1145,"propType":{"sheet":"heat","name":"stone3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":264,"y":1593,"level":0,"settings":{"name":"","mapId":1146,"propType":{"sheet":"heat","name":"stone4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":291,"y":1651,"level":0,"settings":{"name":"","mapId":1147,"propType":{"sheet":"heat","name":"signpost"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":313,"y":1603,"level":0,"settings":{"name":"","mapId":1148,"propType":{"sheet":"heat","name":"bridgeRailW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":367,"y":1603,"level":0,"settings":{"name":"","mapId":1149,"propType":{"sheet":"heat","name":"bridgeRailE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":421,"y":1603,"level":0,"settings":{"name":"","mapId":1150,"propType":{"sheet":"heat","name":"bridgeRailS"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":435,"y":1611,"level":0,"settings":{"name":"","mapId":1151,"propType":{"sheet":"heat","name":"bridgeRailN"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":449,"y":1659,"level":0,"settings":{"name":"","mapId":1152,"propType":{"sheet":"heat","name":"teleport-nw"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":487,"y":1659,"level":0,"settings":{"name":"","mapId":1153,"propType":{"sheet":"heat","name":"teleport-ne"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":525,"y":1659,"level":0,"settings":{"name":"","mapId":1154,"propType":{"sheet":"heat","name":"teleport-sw"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":563,"y":1659,"level":0,"settings":{"name":"","mapId":1155,"propType":{"sheet":"heat","name":"teleport-se"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":601,"y":1619,"level":0,"settings":{"name":"","mapId":1156,"propType":{"sheet":"heat","name":"firePyramid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":639,"y":1600,"level":0,"settings":{"name":"","mapId":1157,"propType":{"sheet":"heat","name":"fire"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":661,"y":1587,"level":0,"settings":{"name":"","mapId":1158,"propType":{"sheet":"heat","name":"arSignW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":691,"y":1587,"level":0,"settings":{"name":"","mapId":1159,"propType":{"sheet":"heat","name":"arSignE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":721,"y":1595,"level":0,"settings":{"name":"","mapId":1160,"propType":{"sheet":"heat","name":"arSignNW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":743,"y":1595,"level":0,"settings":{"name":"","mapId":1161,"propType":{"sheet":"heat","name":"arSignNE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":765,"y":1595,"level":0,"settings":{"name":"","mapId":1162,"propType":{"sheet":"heat","name":"arSignSE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":787,"y":1595,"level":0,"settings":{"name":"","mapId":1163,"propType":{"sheet":"heat","name":"arSignSW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":809,"y":1603,"level":0,"settings":{"name":"","mapId":1164,"propType":{"sheet":"heat","name":"arSignSquareE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":830,"y":1603,"level":0,"settings":{"name":"","mapId":1165,"propType":{"sheet":"heat","name":"arSignSquareW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":875,"y":1651,"level":0,"settings":{"name":"","mapId":1166,"propType":{"sheet":"hideout","name":"tree1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":955,"y":1698,"level":0,"settings":{"name":"","mapId":1167,"propType":{"sheet":"hideout","name":"tree2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1045,"y":1638,"level":0,"settings":{"name":"","mapId":1168,"propType":{"sheet":"hideout","name":"lamp1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1075,"y":1619,"level":0,"settings":{"name":"","mapId":1169,"propType":{"sheet":"hideout","name":"lamp2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1105,"y":1619,"level":0,"settings":{"name":"","mapId":1170,"propType":{"sheet":"hideout","name":"lamp3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1135,"y":1607,"level":0,"settings":{"name":"","mapId":1171,"propType":{"sheet":"hideout","name":"lamp4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1161,"y":1607,"level":0,"settings":{"name":"","mapId":1172,"propType":{"sheet":"hideout","name":"lamp5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1188,"y":1599,"level":0,"settings":{"name":"","mapId":1173,"propType":{"sheet":"hideout","name":"stone1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1226,"y":1599,"level":0,"settings":{"name":"","mapId":1174,"propType":{"sheet":"hideout","name":"stone2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1263,"y":1599,"level":0,"settings":{"name":"","mapId":1175,"propType":{"sheet":"hideout","name":"stone3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1341,"y":1605,"level":0,"settings":{"name":"","mapId":1176,"propType":{"sheet":"hideout","name":"bush1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1413,"y":1626,"level":0,"settings":{"name":"","mapId":1177,"propType":{"sheet":"hideout","name":"inner-lamp1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1439,"y":1626,"level":0,"settings":{"name":"","mapId":1178,"propType":{"sheet":"hideout","name":"inner-lamp2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1463,"y":1627,"level":0,"settings":{"name":"","mapId":1179,"propType":{"sheet":"hideout","name":"bar1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1485,"y":1627,"level":0,"settings":{"name":"","mapId":1180,"propType":{"sheet":"hideout","name":"bar2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1507,"y":1627,"level":0,"settings":{"name":"","mapId":1181,"propType":{"sheet":"hideout","name":"bar3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1529,"y":1605,"level":0,"settings":{"name":"","mapId":1182,"propType":{"sheet":"hideout","name":"bridge-left"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1567,"y":1601,"level":0,"settings":{"name":"","mapId":1183,"propType":{"sheet":"hideout","name":"bridge-middle"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1589,"y":1605,"level":0,"settings":{"name":"","mapId":1184,"propType":{"sheet":"hideout","name":"bridge-right"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1627,"y":1605,"level":0,"settings":{"name":"","mapId":1185,"propType":{"sheet":"hideout","name":"bridge-broke-left"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1665,"y":1605,"level":0,"settings":{"name":"","mapId":1186,"propType":{"sheet":"hideout","name":"bridge-broke-right"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1703,"y":1601,"level":0,"settings":{"name":"","mapId":1187,"propType":{"sheet":"hideout","name":"bridge-broke-middle1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1725,"y":1601,"level":0,"settings":{"name":"","mapId":1188,"propType":{"sheet":"hideout","name":"bridge-broke-middle2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1747,"y":1601,"level":0,"settings":{"name":"","mapId":1189,"propType":{"sheet":"hideout","name":"bridge-broke-middle3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1769,"y":1601,"level":0,"settings":{"name":"","mapId":1190,"propType":{"sheet":"hideout","name":"bridge-broke-middle4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1791,"y":1601,"level":0,"settings":{"name":"","mapId":1191,"propType":{"sheet":"hideout","name":"bridge-broke-middle5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1813,"y":1627,"level":0,"settings":{"name":"","mapId":1192,"propType":{"sheet":"hideout","name":"bamboo1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1838,"y":1627,"level":0,"settings":{"name":"","mapId":1193,"propType":{"sheet":"hideout","name":"bamboo2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1863,"y":1623,"level":0,"settings":{"name":"","mapId":1194,"propType":{"sheet":"hideout","name":"bamboo3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1885,"y":1615,"level":0,"settings":{"name":"","mapId":1195,"propType":{"sheet":"hideout","name":"bamboo4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1909,"y":1615,"level":0,"settings":{"name":"","mapId":1196,"propType":{"sheet":"hideout","name":"bamboo5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1933,"y":1605,"level":0,"settings":{"name":"","mapId":1197,"propType":{"sheet":"hideout","name":"bamboo6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1956,"y":1595,"level":0,"settings":{"name":"","mapId":1198,"propType":{"sheet":"hideout","name":"bamboo7"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1979,"y":1595,"level":0,"settings":{"name":"","mapId":1199,"propType":{"sheet":"hideout","name":"displayA"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":2009,"y":1595,"level":0,"settings":{"name":"","mapId":1200,"propType":{"sheet":"hideout","name":"displayA"},"propAnim":"stopped","condAnims":[]}},{"type":"Prop","x":2039,"y":1595,"level":0,"settings":{"name":"","mapId":1201,"propType":{"sheet":"hideout","name":"displayA"},"propAnim":"finished","condAnims":[]}},{"type":"Prop","x":2069,"y":1603,"level":0,"settings":{"name":"","mapId":1202,"propType":{"sheet":"hideout","name":"displayB"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":2091,"y":1603,"level":0,"settings":{"name":"","mapId":1203,"propType":{"sheet":"hideout","name":"displayB"},"propAnim":"finished","condAnims":[]}},{"type":"Prop","x":2113,"y":1587,"level":0,"settings":{"name":"","mapId":1204,"propType":{"sheet":"invisible","name":"invisible1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2135,"y":1587,"level":0,"settings":{"name":"","mapId":1205,"propType":{"sheet":"invisible","name":"invisible2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2157,"y":1587,"level":0,"settings":{"name":"","mapId":1206,"propType":{"sheet":"invisible","name":"invisible3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2179,"y":1611,"level":0,"settings":{"name":"","mapId":1207,"propType":{"sheet":"jungle-city","name":"fenceSEbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2201,"y":1611,"level":0,"settings":{"name":"","mapId":1208,"propType":{"sheet":"jungle-city","name":"fenceSEmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2223,"y":1611,"level":0,"settings":{"name":"","mapId":1209,"propType":{"sheet":"jungle-city","name":"fenceSEmid2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2261,"y":1611,"level":0,"settings":{"name":"","mapId":1210,"propType":{"sheet":"jungle-city","name":"fenceSEtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2283,"y":1611,"level":0,"settings":{"name":"","mapId":1211,"propType":{"sheet":"jungle-city","name":"fenceSWbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2305,"y":1611,"level":0,"settings":{"name":"","mapId":1212,"propType":{"sheet":"jungle-city","name":"fenceSWmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2327,"y":1611,"level":0,"settings":{"name":"","mapId":1213,"propType":{"sheet":"jungle-city","name":"fenceSWmid2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2365,"y":1611,"level":0,"settings":{"name":"","mapId":1214,"propType":{"sheet":"jungle-city","name":"fenceSWtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2387,"y":1611,"level":0,"settings":{"name":"","mapId":1215,"propType":{"sheet":"jungle-city","name":"fenceNEbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2409,"y":1611,"level":0,"settings":{"name":"","mapId":1216,"propType":{"sheet":"jungle-city","name":"fenceNEmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2431,"y":1611,"level":0,"settings":{"name":"","mapId":1217,"propType":{"sheet":"jungle-city","name":"fenceNEmid2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2469,"y":1611,"level":0,"settings":{"name":"","mapId":1218,"propType":{"sheet":"jungle-city","name":"fenceNEtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2491,"y":1611,"level":0,"settings":{"name":"","mapId":1219,"propType":{"sheet":"jungle-city","name":"fenceNWbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2513,"y":1611,"level":0,"settings":{"name":"","mapId":1220,"propType":{"sheet":"jungle-city","name":"fenceNWmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2535,"y":1611,"level":0,"settings":{"name":"","mapId":1221,"propType":{"sheet":"jungle-city","name":"fenceNWmid2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2573,"y":1611,"level":0,"settings":{"name":"","mapId":1222,"propType":{"sheet":"jungle-city","name":"fenceNWtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2599,"y":1675,"level":0,"settings":{"name":"","mapId":1223,"propType":{"sheet":"jungle-city","name":"streetlamp"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2625,"y":1659,"level":0,"settings":{"name":"","mapId":1224,"propType":{"sheet":"jungle-city","name":"teleport-nw"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2663,"y":1659,"level":0,"settings":{"name":"","mapId":1225,"propType":{"sheet":"jungle-city","name":"teleport-ne"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2701,"y":1659,"level":0,"settings":{"name":"","mapId":1226,"propType":{"sheet":"jungle-city","name":"teleport-sw"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2739,"y":1659,"level":0,"settings":{"name":"","mapId":1227,"propType":{"sheet":"jungle-city","name":"teleport-se"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2777,"y":1611,"level":0,"settings":{"name":"","mapId":1228,"propType":{"sheet":"jungle-city","name":"trashcan"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2799,"y":1611,"level":0,"settings":{"name":"","mapId":1229,"propType":{"sheet":"jungle-city","name":"trashcan-full"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2821,"y":1619,"level":0,"settings":{"name":"","mapId":1230,"propType":{"sheet":"jungle-city","name":"trashcontainer1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2859,"y":1619,"level":0,"settings":{"name":"","mapId":1231,"propType":{"sheet":"jungle-city","name":"trashcontainer2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2897,"y":1651,"level":0,"settings":{"name":"","mapId":1232,"propType":{"sheet":"jungle-city","name":"powerPole1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2919,"y":1651,"level":0,"settings":{"name":"","mapId":1233,"propType":{"sheet":"jungle-city","name":"powerPole2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2941,"y":1603,"level":0,"settings":{"name":"","mapId":1234,"propType":{"sheet":"jungle-city","name":"benchH"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2995,"y":1603,"level":0,"settings":{"name":"","mapId":1235,"propType":{"sheet":"jungle-city","name":"benchV"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3033,"y":1587,"level":0,"settings":{"name":"","mapId":1236,"propType":{"sheet":"jungle-city","name":"drainNW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3055,"y":1587,"level":0,"settings":{"name":"","mapId":1237,"propType":{"sheet":"jungle-city","name":"drainNE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3077,"y":1587,"level":0,"settings":{"name":"","mapId":1238,"propType":{"sheet":"jungle-city","name":"drainSE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3099,"y":1587,"level":0,"settings":{"name":"","mapId":1239,"propType":{"sheet":"jungle-city","name":"drainSW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3121,"y":1587,"level":0,"settings":{"name":"","mapId":1240,"propType":{"sheet":"jungle-city","name":"drainS"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3143,"y":1587,"level":0,"settings":{"name":"","mapId":1241,"propType":{"sheet":"jungle-city","name":"drainN"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3165,"y":1587,"level":0,"settings":{"name":"","mapId":1242,"propType":{"sheet":"jungle-city","name":"drainW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3187,"y":1587,"level":0,"settings":{"name":"","mapId":1243,"propType":{"sheet":"jungle-city","name":"drainE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3209,"y":1587,"level":0,"settings":{"name":"","mapId":1244,"propType":{"sheet":"jungle-city","name":"gully"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3239,"y":1587,"level":0,"settings":{"name":"","mapId":1245,"propType":{"sheet":"jungle-city","name":"book"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3277,"y":1683,"level":0,"settings":{"name":"","mapId":1246,"propType":{"sheet":"jungle-city","name":"tree"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3319,"y":1603,"level":0,"settings":{"name":"","mapId":1247,"propType":{"sheet":"jungle-city","name":"bush"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3353,"y":1635,"level":0,"settings":{"name":"","mapId":1248,"propType":{"sheet":"jungle-city","name":"signPillar"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3391,"y":1631,"level":0,"settings":{"name":"","mapId":1249,"propType":{"sheet":"jungle-city","name":"vendingMachine"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3429,"y":1635,"level":0,"settings":{"name":"","mapId":1250,"propType":{"sheet":"jungle-city","name":"vendingMachine2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3471,"y":1611,"level":0,"settings":{"name":"","mapId":1251,"propType":{"sheet":"jungle-city","name":"signBoard"},"propAnim":"swordR","condAnims":[]}},{"type":"Prop","x":3501,"y":1611,"level":0,"settings":{"name":"","mapId":1252,"propType":{"sheet":"jungle-city","name":"signBoard"},"propAnim":"swordL","condAnims":[]}},{"type":"Prop","x":3531,"y":1611,"level":0,"settings":{"name":"","mapId":1253,"propType":{"sheet":"jungle-city","name":"signBoard"},"propAnim":"gswordR","condAnims":[]}},{"type":"Prop","x":3561,"y":1611,"level":0,"settings":{"name":"","mapId":1254,"propType":{"sheet":"jungle-city","name":"signBoard"},"propAnim":"gswordL","condAnims":[]}},{"type":"Prop","x":28,"y":1748,"level":0,"settings":{"name":"","mapId":1255,"propType":{"sheet":"jungle-city","name":"signBoard"},"propAnim":"cakeR","condAnims":[]}},{"type":"Prop","x":58,"y":1748,"level":0,"settings":{"name":"","mapId":1256,"propType":{"sheet":"jungle-city","name":"signBoard"},"propAnim":"cakeL","condAnims":[]}},{"type":"Prop","x":88,"y":1748,"level":0,"settings":{"name":"","mapId":1257,"propType":{"sheet":"jungle-city","name":"signBoard"},"propAnim":"carefulR","condAnims":[]}},{"type":"Prop","x":118,"y":1748,"level":0,"settings":{"name":"","mapId":1258,"propType":{"sheet":"jungle-city","name":"signBoard"},"propAnim":"carefulL","condAnims":[]}},{"type":"Prop","x":148,"y":1748,"level":0,"settings":{"name":"","mapId":1259,"propType":{"sheet":"jungle-city","name":"signBoard"},"propAnim":"bombR","condAnims":[]}},{"type":"Prop","x":178,"y":1748,"level":0,"settings":{"name":"","mapId":1260,"propType":{"sheet":"jungle-city","name":"signBoard"},"propAnim":"bombL","condAnims":[]}},{"type":"Prop","x":208,"y":1748,"level":0,"settings":{"name":"","mapId":1261,"propType":{"sheet":"jungle-city","name":"signBoard"},"propAnim":"parrotR","condAnims":[]}},{"type":"Prop","x":238,"y":1748,"level":0,"settings":{"name":"","mapId":1262,"propType":{"sheet":"jungle-city","name":"signBoard"},"propAnim":"parrotL","condAnims":[]}},{"type":"Prop","x":264,"y":1740,"level":0,"settings":{"name":"","mapId":1263,"propType":{"sheet":"jungle-city","name":"potplant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":286,"y":1740,"level":0,"settings":{"name":"","mapId":1264,"propType":{"sheet":"jungle-city","name":"wooden-box-01"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":308,"y":1740,"level":0,"settings":{"name":"","mapId":1265,"propType":{"sheet":"jungle-city","name":"wooden-box-02"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":346,"y":1740,"level":0,"settings":{"name":"","mapId":1266,"propType":{"sheet":"jungle-city","name":"wooden-box-03"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":368,"y":1740,"level":0,"settings":{"name":"","mapId":1267,"propType":{"sheet":"jungle-city","name":"wooden-box-04"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":406,"y":1736,"level":0,"settings":{"name":"","mapId":1268,"propType":{"sheet":"jungle-city","name":"wooden-box-05"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":428,"y":1736,"level":0,"settings":{"name":"","mapId":1269,"propType":{"sheet":"jungle-city","name":"wooden-box-06"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":450,"y":1756,"level":0,"settings":{"name":"","mapId":1270,"propType":{"sheet":"jungle-city","name":"wooden-box-07"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":488,"y":1756,"level":0,"settings":{"name":"","mapId":1271,"propType":{"sheet":"jungle-city","name":"wooden-box-08"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":542,"y":1740,"level":0,"settings":{"name":"","mapId":1272,"propType":{"sheet":"jungle-city","name":"wooden-box-09"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":564,"y":1740,"level":0,"settings":{"name":"","mapId":1273,"propType":{"sheet":"jungle-city","name":"wooden-box-10"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":606,"y":1780,"level":0,"settings":{"name":"","mapId":1274,"propType":{"sheet":"jungle-interior","name":"plant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":656,"y":1788,"level":0,"settings":{"name":"","mapId":1275,"propType":{"sheet":"jungle-interior","name":"plant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":690,"y":1756,"level":0,"settings":{"name":"","mapId":1276,"propType":{"sheet":"jungle-interior","name":"plant3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":716,"y":1740,"level":0,"settings":{"name":"","mapId":1277,"propType":{"sheet":"jungle-interior","name":"plant4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":738,"y":1740,"level":0,"settings":{"name":"","mapId":1278,"propType":{"sheet":"jungle-interior","name":"plant5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":760,"y":1740,"level":0,"settings":{"name":"","mapId":1279,"propType":{"sheet":"jungle-interior","name":"plant6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":782,"y":1736,"level":0,"settings":{"name":"","mapId":1280,"propType":{"sheet":"jungle-interior","name":"terminalN"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":820,"y":1732,"level":0,"settings":{"name":"","mapId":1281,"propType":{"sheet":"jungle-interior","name":"terminalE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":838,"y":1732,"level":0,"settings":{"name":"","mapId":1282,"propType":{"sheet":"jungle-interior","name":"terminalW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":856,"y":1764,"level":0,"settings":{"name":"","mapId":1283,"propType":{"sheet":"jungle-interior","name":"shelfE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":874,"y":1764,"level":0,"settings":{"name":"","mapId":1284,"propType":{"sheet":"jungle-interior","name":"shelfW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":892,"y":1736,"level":0,"settings":{"name":"","mapId":1285,"propType":{"sheet":"jungle-interior","name":"picture"},"propAnim":"croissant","condAnims":[]}},{"type":"Prop","x":922,"y":1736,"level":0,"settings":{"name":"","mapId":1286,"propType":{"sheet":"jungle-interior","name":"picture"},"propAnim":"autumn","condAnims":[]}},{"type":"Prop","x":952,"y":1736,"level":0,"settings":{"name":"","mapId":1287,"propType":{"sheet":"jungle-interior","name":"picture"},"propAnim":"bergen","condAnims":[]}},{"type":"Prop","x":982,"y":1736,"level":0,"settings":{"name":"","mapId":1288,"propType":{"sheet":"jungle-interior","name":"picture"},"propAnim":"fajro","condAnims":[]}},{"type":"Prop","x":1012,"y":1736,"level":0,"settings":{"name":"","mapId":1289,"propType":{"sheet":"jungle-interior","name":"picture"},"propAnim":"maroon","condAnims":[]}},{"type":"Prop","x":1044,"y":1744,"level":0,"settings":{"name":"","mapId":1290,"propType":{"sheet":"jungle-interior","name":"chair-down"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1066,"y":1744,"level":0,"settings":{"name":"","mapId":1291,"propType":{"sheet":"jungle-interior","name":"chair-right"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1088,"y":1744,"level":0,"settings":{"name":"","mapId":1292,"propType":{"sheet":"jungle-interior","name":"chair-left"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1110,"y":1744,"level":0,"settings":{"name":"","mapId":1293,"propType":{"sheet":"jungle-interior","name":"chair-up"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1132,"y":1744,"level":0,"settings":{"name":"","mapId":1294,"propType":{"sheet":"jungle-interior","name":"umbrella1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1154,"y":1744,"level":0,"settings":{"name":"","mapId":1295,"propType":{"sheet":"jungle-interior","name":"umbrella2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1176,"y":1744,"level":0,"settings":{"name":"","mapId":1296,"propType":{"sheet":"jungle-interior","name":"umbrella3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1198,"y":1744,"level":0,"settings":{"name":"","mapId":1297,"propType":{"sheet":"jungle-interior","name":"umbrella4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1220,"y":1744,"level":0,"settings":{"name":"","mapId":1298,"propType":{"sheet":"jungle-interior","name":"umbrella5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1240,"y":1764,"level":0,"settings":{"name":"","mapId":1299,"propType":{"sheet":"jungle-interior","name":"laserboard1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1278,"y":1764,"level":0,"settings":{"name":"","mapId":1300,"propType":{"sheet":"jungle-interior","name":"laserboard2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1316,"y":1764,"level":0,"settings":{"name":"","mapId":1301,"propType":{"sheet":"jungle-interior","name":"laserboard3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1354,"y":1744,"level":0,"settings":{"name":"","mapId":1302,"propType":{"sheet":"jungle-interior","name":"drything1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1392,"y":1744,"level":0,"settings":{"name":"","mapId":1303,"propType":{"sheet":"jungle-interior","name":"drything2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1430,"y":1744,"level":0,"settings":{"name":"","mapId":1304,"propType":{"sheet":"jungle-interior","name":"drything3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1452,"y":1744,"level":0,"settings":{"name":"","mapId":1305,"propType":{"sheet":"jungle-interior","name":"drything4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1474,"y":1748,"level":0,"settings":{"name":"","mapId":1306,"propType":{"sheet":"jungle-interior","name":"drythingDiag1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1504,"y":1748,"level":0,"settings":{"name":"","mapId":1307,"propType":{"sheet":"jungle-interior","name":"drythingDiag2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1534,"y":1729,"level":0,"settings":{"name":"","mapId":1308,"propType":{"sheet":"jungle-interior","name":"smalltable1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1556,"y":1729,"level":0,"settings":{"name":"","mapId":1309,"propType":{"sheet":"jungle-interior","name":"smalltable2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1578,"y":1764,"level":0,"settings":{"name":"","mapId":1310,"propType":{"sheet":"jungle-interior","name":"lamp1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1604,"y":1740,"level":0,"settings":{"name":"","mapId":1311,"propType":{"sheet":"jungle-signs","name":"signSmallSide"},"propAnim":"westA","condAnims":[]}},{"type":"Prop","x":1630,"y":1740,"level":0,"settings":{"name":"","mapId":1312,"propType":{"sheet":"jungle-signs","name":"signSmallSide"},"propAnim":"westB","condAnims":[]}},{"type":"Prop","x":1656,"y":1740,"level":0,"settings":{"name":"","mapId":1313,"propType":{"sheet":"jungle-signs","name":"signSmallSide"},"propAnim":"westC","condAnims":[]}},{"type":"Prop","x":1682,"y":1740,"level":0,"settings":{"name":"","mapId":1314,"propType":{"sheet":"jungle-signs","name":"signSmallSide"},"propAnim":"westD","condAnims":[]}},{"type":"Prop","x":1708,"y":1740,"level":0,"settings":{"name":"","mapId":1315,"propType":{"sheet":"jungle-signs","name":"signSmallSide"},"propAnim":"westE","condAnims":[]}},{"type":"Prop","x":1730,"y":1740,"level":0,"settings":{"name":"","mapId":1316,"propType":{"sheet":"jungle-signs","name":"signSmallSide"},"propAnim":"eastA","condAnims":[]}},{"type":"Prop","x":1756,"y":1740,"level":0,"settings":{"name":"","mapId":1317,"propType":{"sheet":"jungle-signs","name":"signSmallSide"},"propAnim":"eastB","condAnims":[]}},{"type":"Prop","x":1782,"y":1740,"level":0,"settings":{"name":"","mapId":1318,"propType":{"sheet":"jungle-signs","name":"signSmallSide"},"propAnim":"eastC","condAnims":[]}},{"type":"Prop","x":1808,"y":1740,"level":0,"settings":{"name":"","mapId":1319,"propType":{"sheet":"jungle-signs","name":"signSmallSide"},"propAnim":"eastD","condAnims":[]}},{"type":"Prop","x":1834,"y":1740,"level":0,"settings":{"name":"","mapId":1320,"propType":{"sheet":"jungle-signs","name":"signSmallSide"},"propAnim":"eastE","condAnims":[]}},{"type":"Prop","x":1862,"y":1740,"level":0,"settings":{"name":"","mapId":1321,"propType":{"sheet":"jungle-signs","name":"signSmallDiag"},"propAnim":"westA","condAnims":[]}},{"type":"Prop","x":1887,"y":1740,"level":0,"settings":{"name":"","mapId":1322,"propType":{"sheet":"jungle-signs","name":"signSmallDiag"},"propAnim":"westB","condAnims":[]}},{"type":"Prop","x":1912,"y":1740,"level":0,"settings":{"name":"","mapId":1323,"propType":{"sheet":"jungle-signs","name":"signSmallDiag"},"propAnim":"westC","condAnims":[]}},{"type":"Prop","x":1937,"y":1740,"level":0,"settings":{"name":"","mapId":1324,"propType":{"sheet":"jungle-signs","name":"signSmallDiag"},"propAnim":"westD","condAnims":[]}},{"type":"Prop","x":1962,"y":1740,"level":0,"settings":{"name":"","mapId":1325,"propType":{"sheet":"jungle-signs","name":"signSmallDiag"},"propAnim":"westE","condAnims":[]}},{"type":"Prop","x":1986,"y":1740,"level":0,"settings":{"name":"","mapId":1326,"propType":{"sheet":"jungle-signs","name":"signSmallDiag"},"propAnim":"eastA","condAnims":[]}},{"type":"Prop","x":2011,"y":1740,"level":0,"settings":{"name":"","mapId":1327,"propType":{"sheet":"jungle-signs","name":"signSmallDiag"},"propAnim":"eastB","condAnims":[]}},{"type":"Prop","x":2036,"y":1740,"level":0,"settings":{"name":"","mapId":1328,"propType":{"sheet":"jungle-signs","name":"signSmallDiag"},"propAnim":"eastC","condAnims":[]}},{"type":"Prop","x":2061,"y":1740,"level":0,"settings":{"name":"","mapId":1329,"propType":{"sheet":"jungle-signs","name":"signSmallDiag"},"propAnim":"eastD","condAnims":[]}},{"type":"Prop","x":2086,"y":1740,"level":0,"settings":{"name":"","mapId":1330,"propType":{"sheet":"jungle-signs","name":"signSmallDiag"},"propAnim":"eastE","condAnims":[]}},{"type":"Prop","x":2114,"y":1756,"level":0,"settings":{"name":"","mapId":1331,"propType":{"sheet":"jungle-signs","name":"signLargeSide"},"propAnim":"westA","condAnims":[]}},{"type":"Prop","x":2140,"y":1756,"level":0,"settings":{"name":"","mapId":1332,"propType":{"sheet":"jungle-signs","name":"signLargeSide"},"propAnim":"westB","condAnims":[]}},{"type":"Prop","x":2166,"y":1756,"level":0,"settings":{"name":"","mapId":1333,"propType":{"sheet":"jungle-signs","name":"signLargeSide"},"propAnim":"westC","condAnims":[]}},{"type":"Prop","x":2192,"y":1756,"level":0,"settings":{"name":"","mapId":1334,"propType":{"sheet":"jungle-signs","name":"signLargeSide"},"propAnim":"westD","condAnims":[]}},{"type":"Prop","x":2218,"y":1756,"level":0,"settings":{"name":"","mapId":1335,"propType":{"sheet":"jungle-signs","name":"signLargeSide"},"propAnim":"westE","condAnims":[]}},{"type":"Prop","x":2240,"y":1756,"level":0,"settings":{"name":"","mapId":1336,"propType":{"sheet":"jungle-signs","name":"signLargeSide"},"propAnim":"eastA","condAnims":[]}},{"type":"Prop","x":2266,"y":1756,"level":0,"settings":{"name":"","mapId":1337,"propType":{"sheet":"jungle-signs","name":"signLargeSide"},"propAnim":"eastB","condAnims":[]}},{"type":"Prop","x":2292,"y":1756,"level":0,"settings":{"name":"","mapId":1338,"propType":{"sheet":"jungle-signs","name":"signLargeSide"},"propAnim":"eastC","condAnims":[]}},{"type":"Prop","x":2318,"y":1756,"level":0,"settings":{"name":"","mapId":1339,"propType":{"sheet":"jungle-signs","name":"signLargeSide"},"propAnim":"eastD","condAnims":[]}},{"type":"Prop","x":2344,"y":1756,"level":0,"settings":{"name":"","mapId":1340,"propType":{"sheet":"jungle-signs","name":"signLargeSide"},"propAnim":"eastE","condAnims":[]}},{"type":"Prop","x":2372,"y":1756,"level":0,"settings":{"name":"","mapId":1341,"propType":{"sheet":"jungle-signs","name":"signLargeDiag"},"propAnim":"westA","condAnims":[]}},{"type":"Prop","x":2397,"y":1756,"level":0,"settings":{"name":"","mapId":1342,"propType":{"sheet":"jungle-signs","name":"signLargeDiag"},"propAnim":"westB","condAnims":[]}},{"type":"Prop","x":2422,"y":1756,"level":0,"settings":{"name":"","mapId":1343,"propType":{"sheet":"jungle-signs","name":"signLargeDiag"},"propAnim":"westC","condAnims":[]}},{"type":"Prop","x":2447,"y":1756,"level":0,"settings":{"name":"","mapId":1344,"propType":{"sheet":"jungle-signs","name":"signLargeDiag"},"propAnim":"westD","condAnims":[]}},{"type":"Prop","x":2472,"y":1756,"level":0,"settings":{"name":"","mapId":1345,"propType":{"sheet":"jungle-signs","name":"signLargeDiag"},"propAnim":"westE","condAnims":[]}},{"type":"Prop","x":2496,"y":1756,"level":0,"settings":{"name":"","mapId":1346,"propType":{"sheet":"jungle-signs","name":"signLargeDiag"},"propAnim":"eastA","condAnims":[]}},{"type":"Prop","x":2521,"y":1756,"level":0,"settings":{"name":"","mapId":1347,"propType":{"sheet":"jungle-signs","name":"signLargeDiag"},"propAnim":"eastB","condAnims":[]}},{"type":"Prop","x":2546,"y":1756,"level":0,"settings":{"name":"","mapId":1348,"propType":{"sheet":"jungle-signs","name":"signLargeDiag"},"propAnim":"eastC","condAnims":[]}},{"type":"Prop","x":2571,"y":1756,"level":0,"settings":{"name":"","mapId":1349,"propType":{"sheet":"jungle-signs","name":"signLargeDiag"},"propAnim":"eastD","condAnims":[]}},{"type":"Prop","x":2596,"y":1756,"level":0,"settings":{"name":"","mapId":1350,"propType":{"sheet":"jungle-signs","name":"signLargeDiag"},"propAnim":"eastE","condAnims":[]}},{"type":"Prop","x":2640,"y":1772,"level":0,"settings":{"name":"","mapId":1351,"propType":{"sheet":"jungle-signs","name":"signHugeSide"},"propAnim":"westA","condAnims":[]}},{"type":"Prop","x":2682,"y":1772,"level":0,"settings":{"name":"","mapId":1352,"propType":{"sheet":"jungle-signs","name":"signHugeSide"},"propAnim":"westB","condAnims":[]}},{"type":"Prop","x":2724,"y":1772,"level":0,"settings":{"name":"","mapId":1353,"propType":{"sheet":"jungle-signs","name":"signHugeSide"},"propAnim":"westC","condAnims":[]}},{"type":"Prop","x":2766,"y":1772,"level":0,"settings":{"name":"","mapId":1354,"propType":{"sheet":"jungle-signs","name":"signHugeSide"},"propAnim":"westD","condAnims":[]}},{"type":"Prop","x":2808,"y":1772,"level":0,"settings":{"name":"","mapId":1355,"propType":{"sheet":"jungle-signs","name":"signHugeSide"},"propAnim":"westE","condAnims":[]}},{"type":"Prop","x":2830,"y":1772,"level":0,"settings":{"name":"","mapId":1356,"propType":{"sheet":"jungle-signs","name":"signHugeSide"},"propAnim":"eastA","condAnims":[]}},{"type":"Prop","x":2872,"y":1772,"level":0,"settings":{"name":"","mapId":1357,"propType":{"sheet":"jungle-signs","name":"signHugeSide"},"propAnim":"eastB","condAnims":[]}},{"type":"Prop","x":2914,"y":1772,"level":0,"settings":{"name":"","mapId":1358,"propType":{"sheet":"jungle-signs","name":"signHugeSide"},"propAnim":"eastC","condAnims":[]}},{"type":"Prop","x":2956,"y":1772,"level":0,"settings":{"name":"","mapId":1359,"propType":{"sheet":"jungle-signs","name":"signHugeSide"},"propAnim":"eastD","condAnims":[]}},{"type":"Prop","x":2998,"y":1772,"level":0,"settings":{"name":"","mapId":1360,"propType":{"sheet":"jungle-signs","name":"signHugeSide"},"propAnim":"eastE","condAnims":[]}},{"type":"Prop","x":3050,"y":1788,"level":0,"settings":{"name":"","mapId":1361,"propType":{"sheet":"jungle-signs","name":"signHugeDiag"},"propAnim":"westA","condAnims":[]}},{"type":"Prop","x":3083,"y":1788,"level":0,"settings":{"name":"","mapId":1362,"propType":{"sheet":"jungle-signs","name":"signHugeDiag"},"propAnim":"westB","condAnims":[]}},{"type":"Prop","x":3116,"y":1788,"level":0,"settings":{"name":"","mapId":1363,"propType":{"sheet":"jungle-signs","name":"signHugeDiag"},"propAnim":"westC","condAnims":[]}},{"type":"Prop","x":3149,"y":1788,"level":0,"settings":{"name":"","mapId":1364,"propType":{"sheet":"jungle-signs","name":"signHugeDiag"},"propAnim":"westD","condAnims":[]}},{"type":"Prop","x":3182,"y":1788,"level":0,"settings":{"name":"","mapId":1365,"propType":{"sheet":"jungle-signs","name":"signHugeDiag"},"propAnim":"westE","condAnims":[]}},{"type":"Prop","x":3215,"y":1788,"level":0,"settings":{"name":"","mapId":1366,"propType":{"sheet":"jungle-signs","name":"signHugeDiag"},"propAnim":"westF","condAnims":[]}},{"type":"Prop","x":3239,"y":1788,"level":0,"settings":{"name":"","mapId":1367,"propType":{"sheet":"jungle-signs","name":"signHugeDiag"},"propAnim":"eastA","condAnims":[]}},{"type":"Prop","x":3272,"y":1788,"level":0,"settings":{"name":"","mapId":1368,"propType":{"sheet":"jungle-signs","name":"signHugeDiag"},"propAnim":"eastB","condAnims":[]}},{"type":"Prop","x":3305,"y":1788,"level":0,"settings":{"name":"","mapId":1369,"propType":{"sheet":"jungle-signs","name":"signHugeDiag"},"propAnim":"eastC","condAnims":[]}},{"type":"Prop","x":3338,"y":1788,"level":0,"settings":{"name":"","mapId":1370,"propType":{"sheet":"jungle-signs","name":"signHugeDiag"},"propAnim":"eastD","condAnims":[]}},{"type":"Prop","x":3371,"y":1788,"level":0,"settings":{"name":"","mapId":1371,"propType":{"sheet":"jungle-signs","name":"signHugeDiag"},"propAnim":"eastE","condAnims":[]}},{"type":"Prop","x":3404,"y":1788,"level":0,"settings":{"name":"","mapId":1372,"propType":{"sheet":"jungle-signs","name":"signHugeDiag"},"propAnim":"eastF","condAnims":[]}},{"type":"Prop","x":3436,"y":1748,"level":0,"settings":{"name":"","mapId":1373,"propType":{"sheet":"jungle","name":"regularShroom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3478,"y":1740,"level":0,"settings":{"name":"","mapId":1374,"propType":{"sheet":"jungle","name":"waterPlant1Cave"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3500,"y":1740,"level":0,"settings":{"name":"","mapId":1375,"propType":{"sheet":"jungle","name":"waterPlant2Cave"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3526,"y":1748,"level":0,"settings":{"name":"","mapId":1376,"propType":{"sheet":"jungle","name":"waterPlant3Cave"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3550,"y":1728,"level":0,"settings":{"name":"","mapId":1377,"propType":{"sheet":"jungle","name":"waterRose1Cave"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":26,"y":1814,"level":0,"settings":{"name":"","mapId":1378,"propType":{"sheet":"jungle","name":"waterRose2Cave"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":58,"y":1818,"level":0,"settings":{"name":"","mapId":1379,"propType":{"sheet":"jungle","name":"waterRose3Cave"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":84,"y":1826,"level":0,"settings":{"name":"","mapId":1380,"propType":{"sheet":"jungle","name":"arSignSquareE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":105,"y":1826,"level":0,"settings":{"name":"","mapId":1381,"propType":{"sheet":"jungle","name":"arSignSquareW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":126,"y":1811,"level":0,"settings":{"name":"","mapId":1382,"propType":{"sheet":"jungle","name":"code"},"propAnim":"up","condAnims":[]}},{"type":"Prop","x":138,"y":1811,"level":0,"settings":{"name":"","mapId":1383,"propType":{"sheet":"jungle","name":"code"},"propAnim":"down","condAnims":[]}},{"type":"Prop","x":150,"y":1811,"level":0,"settings":{"name":"","mapId":1384,"propType":{"sheet":"jungle","name":"code"},"propAnim":"left","condAnims":[]}},{"type":"Prop","x":162,"y":1811,"level":0,"settings":{"name":"","mapId":1385,"propType":{"sheet":"jungle","name":"code"},"propAnim":"right","condAnims":[]}},{"type":"Prop","x":174,"y":1811,"level":0,"settings":{"name":"","mapId":1386,"propType":{"sheet":"jungle","name":"code"},"propAnim":"a","condAnims":[]}},{"type":"Prop","x":186,"y":1811,"level":0,"settings":{"name":"","mapId":1387,"propType":{"sheet":"jungle","name":"code"},"propAnim":"b","condAnims":[]}},{"type":"Prop","x":198,"y":1811,"level":0,"settings":{"name":"","mapId":1388,"propType":{"sheet":"jungle","name":"code"},"propAnim":"x","condAnims":[]}},{"type":"Prop","x":210,"y":1811,"level":0,"settings":{"name":"","mapId":1389,"propType":{"sheet":"jungle","name":"code"},"propAnim":"y","condAnims":[]}},{"type":"Prop","x":222,"y":1842,"level":0,"settings":{"name":"","mapId":1390,"propType":{"sheet":"jungle","name":"barrierLine"},"propAnim":"blocked","condAnims":[]}},{"type":"Prop","x":236,"y":1842,"level":0,"settings":{"name":"","mapId":1391,"propType":{"sheet":"jungle","name":"barrierLine"},"propAnim":"free","condAnims":[]}},{"type":"Prop","x":250,"y":1810,"level":0,"settings":{"name":"","mapId":1392,"propType":{"sheet":"jungle","name":"arSignW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":280,"y":1810,"level":0,"settings":{"name":"","mapId":1393,"propType":{"sheet":"jungle","name":"arSignE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":310,"y":1818,"level":0,"settings":{"name":"","mapId":1394,"propType":{"sheet":"jungle","name":"arSignNW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":332,"y":1818,"level":0,"settings":{"name":"","mapId":1395,"propType":{"sheet":"jungle","name":"arSignNE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":354,"y":1818,"level":0,"settings":{"name":"","mapId":1396,"propType":{"sheet":"jungle","name":"arSignSE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":376,"y":1818,"level":0,"settings":{"name":"","mapId":1397,"propType":{"sheet":"jungle","name":"arSignSW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":402,"y":1842,"level":0,"settings":{"name":"","mapId":1398,"propType":{"sheet":"jungle","name":"plant-grove-1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":432,"y":1842,"level":0,"settings":{"name":"","mapId":1399,"propType":{"sheet":"jungle","name":"plant-grove-2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":466,"y":1826,"level":0,"settings":{"name":"","mapId":1400,"propType":{"sheet":"jungle","name":"plant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":504,"y":1826,"level":0,"settings":{"name":"","mapId":1401,"propType":{"sheet":"jungle","name":"plant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":538,"y":1834,"level":0,"settings":{"name":"","mapId":1402,"propType":{"sheet":"jungle","name":"plant3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":556,"y":1820,"level":0,"settings":{"name":"","mapId":1403,"propType":{"sheet":"jungle","name":"plant4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":570,"y":1826,"level":0,"settings":{"name":"","mapId":1404,"propType":{"sheet":"jungle","name":"plant5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":616,"y":1826,"level":0,"settings":{"name":"","mapId":1405,"propType":{"sheet":"jungle","name":"plant6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":674,"y":1842,"level":0,"settings":{"name":"","mapId":1406,"propType":{"sheet":"jungle","name":"farn1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":720,"y":1834,"level":0,"settings":{"name":"","mapId":1407,"propType":{"sheet":"jungle","name":"farn2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":766,"y":1834,"level":0,"settings":{"name":"","mapId":1408,"propType":{"sheet":"jungle","name":"farn3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":812,"y":1842,"level":0,"settings":{"name":"","mapId":1409,"propType":{"sheet":"jungle","name":"farnBlue1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":858,"y":1834,"level":0,"settings":{"name":"","mapId":1410,"propType":{"sheet":"jungle","name":"farnBlue2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":904,"y":1834,"level":0,"settings":{"name":"","mapId":1411,"propType":{"sheet":"jungle","name":"farnBlue3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":946,"y":1842,"level":0,"settings":{"name":"","mapId":1412,"propType":{"sheet":"jungle","name":"flower1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":992,"y":1842,"level":0,"settings":{"name":"","mapId":1413,"propType":{"sheet":"jungle","name":"flower1b"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1038,"y":1850,"level":0,"settings":{"name":"","mapId":1414,"propType":{"sheet":"jungle","name":"flower2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1076,"y":1850,"level":0,"settings":{"name":"","mapId":1415,"propType":{"sheet":"jungle","name":"flower2b"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1110,"y":1834,"level":0,"settings":{"name":"","mapId":1416,"propType":{"sheet":"jungle","name":"flower3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1140,"y":1834,"level":0,"settings":{"name":"","mapId":1417,"propType":{"sheet":"jungle","name":"flower3b"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1174,"y":1850,"level":0,"settings":{"name":"","mapId":1418,"propType":{"sheet":"jungle","name":"flowerBlue2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1212,"y":1850,"level":0,"settings":{"name":"","mapId":1419,"propType":{"sheet":"jungle","name":"flowerBlue2b"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1246,"y":1834,"level":0,"settings":{"name":"","mapId":1420,"propType":{"sheet":"jungle","name":"flowerBlue3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1276,"y":1834,"level":0,"settings":{"name":"","mapId":1421,"propType":{"sheet":"jungle","name":"flowerBlue3b"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1306,"y":1834,"level":0,"settings":{"name":"","mapId":1422,"propType":{"sheet":"jungle","name":"grass1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1336,"y":1826,"level":0,"settings":{"name":"","mapId":1423,"propType":{"sheet":"jungle","name":"grass2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1366,"y":1834,"level":0,"settings":{"name":"","mapId":1424,"propType":{"sheet":"jungle","name":"grassBlue1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1396,"y":1826,"level":0,"settings":{"name":"","mapId":1425,"propType":{"sheet":"jungle","name":"grassBlue2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1466,"y":1890,"level":0,"settings":{"name":"","mapId":1426,"propType":{"sheet":"jungle","name":"bigplant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1576,"y":1890,"level":0,"settings":{"name":"","mapId":1427,"propType":{"sheet":"jungle","name":"bigplant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1658,"y":1834,"level":0,"settings":{"name":"","mapId":1428,"propType":{"sheet":"jungle","name":"palm1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1716,"y":1826,"level":0,"settings":{"name":"","mapId":1429,"propType":{"sheet":"jungle","name":"waterPlant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1738,"y":1826,"level":0,"settings":{"name":"","mapId":1430,"propType":{"sheet":"jungle","name":"waterPlant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1764,"y":1834,"level":0,"settings":{"name":"","mapId":1431,"propType":{"sheet":"jungle","name":"waterPlant3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1794,"y":1842,"level":0,"settings":{"name":"","mapId":1432,"propType":{"sheet":"jungle","name":"waterPlant4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1818,"y":1814,"level":0,"settings":{"name":"","mapId":1433,"propType":{"sheet":"jungle","name":"waterRose1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1856,"y":1814,"level":0,"settings":{"name":"","mapId":1434,"propType":{"sheet":"jungle","name":"waterRose2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1888,"y":1818,"level":0,"settings":{"name":"","mapId":1435,"propType":{"sheet":"jungle","name":"waterRose3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1918,"y":1810,"level":0,"settings":{"name":"","mapId":1436,"propType":{"sheet":"jungle","name":"shroom1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1948,"y":1826,"level":0,"settings":{"name":"","mapId":1437,"propType":{"sheet":"jungle","name":"shroom2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1978,"y":1826,"level":0,"settings":{"name":"","mapId":1438,"propType":{"sheet":"jungle","name":"shroom3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2008,"y":1842,"level":0,"settings":{"name":"","mapId":1439,"propType":{"sheet":"jungle","name":"shroom4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2038,"y":1818,"level":0,"settings":{"name":"","mapId":1440,"propType":{"sheet":"jungle","name":"shroom-flat-1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2088,"y":1822,"level":0,"settings":{"name":"","mapId":1441,"propType":{"sheet":"jungle","name":"shroomPlatformM"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2126,"y":1826,"level":0,"settings":{"name":"","mapId":1442,"propType":{"sheet":"jungle","name":"shroomPlatformL"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2180,"y":1810,"level":0,"settings":{"name":"","mapId":1443,"propType":{"sheet":"jungle","name":"shroomStemM8"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2202,"y":1810,"level":0,"settings":{"name":"","mapId":1444,"propType":{"sheet":"jungle","name":"shroomStemM16"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2224,"y":1842,"level":0,"settings":{"name":"","mapId":1445,"propType":{"sheet":"jungle","name":"shroomStemCurveLeft"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2278,"y":1842,"level":0,"settings":{"name":"","mapId":1446,"propType":{"sheet":"jungle","name":"shroomStemCurveRight"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2332,"y":1826,"level":0,"settings":{"name":"","mapId":1447,"propType":{"sheet":"jungle","name":"shroomStemM32"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2354,"y":1842,"level":0,"settings":{"name":"","mapId":1448,"propType":{"sheet":"jungle","name":"shroomStemM48"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2376,"y":1858,"level":0,"settings":{"name":"","mapId":1449,"propType":{"sheet":"jungle","name":"shroomStemM64"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2398,"y":1818,"level":0,"settings":{"name":"","mapId":1450,"propType":{"sheet":"jungle","name":"shroomStemL32"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2428,"y":1834,"level":0,"settings":{"name":"","mapId":1451,"propType":{"sheet":"jungle","name":"shroomStemL48"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2458,"y":1850,"level":0,"settings":{"name":"","mapId":1452,"propType":{"sheet":"jungle","name":"shroomStemL64"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2488,"y":1826,"level":0,"settings":{"name":"","mapId":1453,"propType":{"sheet":"jungle","name":"glowplant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2510,"y":1850,"level":0,"settings":{"name":"","mapId":1454,"propType":{"sheet":"jungle","name":"glowplant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2532,"y":1826,"level":0,"settings":{"name":"","mapId":1455,"propType":{"sheet":"jungle","name":"glowplant-broken1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2554,"y":1850,"level":0,"settings":{"name":"","mapId":1456,"propType":{"sheet":"jungle","name":"glowplant-broken2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2579,"y":1818,"level":0,"settings":{"name":"","mapId":1457,"propType":{"sheet":"jungle","name":"stone1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2614,"y":1818,"level":0,"settings":{"name":"","mapId":1458,"propType":{"sheet":"jungle","name":"stone2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2657,"y":1818,"level":0,"settings":{"name":"","mapId":1459,"propType":{"sheet":"jungle","name":"stone3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2688,"y":1816,"level":0,"settings":{"name":"","mapId":1460,"propType":{"sheet":"jungle","name":"stone4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2715,"y":1874,"level":0,"settings":{"name":"","mapId":1461,"propType":{"sheet":"jungle","name":"signpost"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2737,"y":1826,"level":0,"settings":{"name":"","mapId":1462,"propType":{"sheet":"jungle","name":"bridgeRailW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2791,"y":1826,"level":0,"settings":{"name":"","mapId":1463,"propType":{"sheet":"jungle","name":"bridgeRailE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2845,"y":1826,"level":0,"settings":{"name":"","mapId":1464,"propType":{"sheet":"jungle","name":"bridgeRailS"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2859,"y":1834,"level":0,"settings":{"name":"","mapId":1465,"propType":{"sheet":"jungle","name":"bridgeRailN"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2873,"y":1850,"level":0,"settings":{"name":"","mapId":1466,"propType":{"sheet":"jungle","name":"block1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2903,"y":1850,"level":0,"settings":{"name":"","mapId":1467,"propType":{"sheet":"jungle","name":"block2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2933,"y":1850,"level":0,"settings":{"name":"","mapId":1468,"propType":{"sheet":"jungle","name":"barrierBlock1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2963,"y":1850,"level":0,"settings":{"name":"","mapId":1469,"propType":{"sheet":"jungle","name":"barrierBlock2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2993,"y":1826,"level":0,"settings":{"name":"","mapId":1470,"propType":{"sheet":"jungle","name":"litterbag1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3031,"y":1826,"level":0,"settings":{"name":"","mapId":1471,"propType":{"sheet":"jungle","name":"litterbag2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3069,"y":1834,"level":0,"settings":{"name":"","mapId":1472,"propType":{"sheet":"jungle","name":"litterbag3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3107,"y":1834,"level":0,"settings":{"name":"","mapId":1473,"propType":{"sheet":"jungle","name":"litterbag4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3145,"y":1810,"level":0,"settings":{"name":"","mapId":1474,"propType":{"sheet":"jungle","name":"barrierSignLightning"},"propAnim":"off","condAnims":[]}},{"type":"Prop","x":3175,"y":1810,"level":0,"settings":{"name":"","mapId":1475,"propType":{"sheet":"jungle","name":"barrierSignLightning"},"propAnim":"on","condAnims":[]}},{"type":"Prop","x":3205,"y":1810,"level":0,"settings":{"name":"","mapId":1476,"propType":{"sheet":"jungle","name":"barrierSignWave"},"propAnim":"off","condAnims":[]}},{"type":"Prop","x":3235,"y":1810,"level":0,"settings":{"name":"","mapId":1477,"propType":{"sheet":"jungle","name":"barrierSignWave"},"propAnim":"on","condAnims":[]}},{"type":"Prop","x":3265,"y":1810,"level":0,"settings":{"name":"","mapId":1478,"propType":{"sheet":"lab-entrance","name":"ground-autumn"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3335,"y":1810,"level":0,"settings":{"name":"","mapId":1479,"propType":{"sheet":"lab-entrance","name":"ground-bergen"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3405,"y":1810,"level":0,"settings":{"name":"","mapId":1480,"propType":{"sheet":"lab-entrance","name":"ground-heat"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3475,"y":1810,"level":0,"settings":{"name":"","mapId":1481,"propType":{"sheet":"lab-entrance","name":"ground-jungle"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":24,"y":1912,"level":0,"settings":{"name":"","mapId":1482,"propType":{"sheet":"lab-entrance","name":"ground-forest"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":94,"y":1912,"level":0,"settings":{"name":"","mapId":1483,"propType":{"sheet":"lab-entrance","name":"ground-inner"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":164,"y":1968,"level":0,"settings":{"name":"","mapId":1484,"propType":{"sheet":"lab-entrance","name":"monolith"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":202,"y":1920,"level":0,"settings":{"name":"","mapId":1485,"propType":{"sheet":"lab-entrance","name":"device"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":216,"y":1928,"level":0,"settings":{"name":"","mapId":1486,"propType":{"sheet":"lab-entrance","name":"pillar"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":240,"y":1932,"level":0,"settings":{"name":"","mapId":1487,"propType":{"sheet":"lab","name":"chair-down"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":262,"y":1932,"level":0,"settings":{"name":"","mapId":1488,"propType":{"sheet":"lab","name":"chair-right"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":284,"y":1932,"level":0,"settings":{"name":"","mapId":1489,"propType":{"sheet":"lab","name":"chair-left"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":306,"y":1932,"level":0,"settings":{"name":"","mapId":1490,"propType":{"sheet":"lab","name":"chair-up"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":326,"y":1928,"level":0,"settings":{"name":"","mapId":1491,"propType":{"sheet":"lab","name":"display1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":356,"y":1928,"level":0,"settings":{"name":"","mapId":1492,"propType":{"sheet":"lab","name":"display2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":386,"y":1928,"level":0,"settings":{"name":"","mapId":1493,"propType":{"sheet":"lab","name":"display3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":408,"y":1928,"level":0,"settings":{"name":"","mapId":1494,"propType":{"sheet":"lab","name":"display4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":430,"y":1928,"level":0,"settings":{"name":"","mapId":1495,"propType":{"sheet":"lab","name":"display5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":444,"y":1928,"level":0,"settings":{"name":"","mapId":1496,"propType":{"sheet":"lab","name":"display6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":458,"y":1936,"level":0,"settings":{"name":"","mapId":1497,"propType":{"sheet":"lab","name":"displayL"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":496,"y":1936,"level":0,"settings":{"name":"","mapId":1498,"propType":{"sheet":"lab","name":"displayL2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":550,"y":1920,"level":0,"settings":{"name":"","mapId":1499,"propType":{"sheet":"lab","name":"smallDisplay3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":572,"y":1920,"level":0,"settings":{"name":"","mapId":1500,"propType":{"sheet":"lab","name":"smallDisplay4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":594,"y":1912,"level":0,"settings":{"name":"","mapId":1501,"propType":{"sheet":"lab","name":"keyboardDiag1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":616,"y":1912,"level":0,"settings":{"name":"","mapId":1502,"propType":{"sheet":"lab","name":"keyboardDiag2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":638,"y":1912,"level":0,"settings":{"name":"","mapId":1503,"propType":{"sheet":"lab","name":"keyboard1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":652,"y":1912,"level":0,"settings":{"name":"","mapId":1504,"propType":{"sheet":"lab","name":"keyboard2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":666,"y":1912,"level":0,"settings":{"name":"","mapId":1505,"propType":{"sheet":"lab","name":"keyboard3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":699,"y":1926,"level":0,"settings":{"name":"","mapId":1506,"propType":{"sheet":"lab","name":"trashbin"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":722,"y":1920,"level":0,"settings":{"name":"","mapId":1507,"propType":{"sheet":"lab","name":"toolbox"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":748,"y":1928,"level":0,"settings":{"name":"","mapId":1508,"propType":{"sheet":"lab","name":"cargo-box1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":786,"y":1928,"level":0,"settings":{"name":"","mapId":1509,"propType":{"sheet":"lab","name":"cargo-box2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":808,"y":1936,"level":0,"settings":{"name":"","mapId":1510,"propType":{"sheet":"lab","name":"ventilator"},"propAnim":"running","condAnims":[]}},{"type":"Prop","x":846,"y":1936,"level":0,"settings":{"name":"","mapId":1511,"propType":{"sheet":"lab","name":"ventilator"},"propAnim":"stopped","condAnims":[]}},{"type":"Prop","x":884,"y":1936,"level":0,"settings":{"name":"","mapId":1512,"propType":{"sheet":"lab","name":"ventilator"},"propAnim":"fast","condAnims":[]}},{"type":"Prop","x":922,"y":1914,"level":0,"settings":{"name":"","mapId":1513,"propType":{"sheet":"lab","name":"elevatorSwitch"},"propAnim":"off","condAnims":[]}},{"type":"Prop","x":936,"y":1914,"level":0,"settings":{"name":"","mapId":1514,"propType":{"sheet":"lab","name":"elevatorSwitch"},"propAnim":"on","condAnims":[]}},{"type":"Prop","x":950,"y":1948,"level":0,"settings":{"name":"","mapId":1515,"propType":{"sheet":"lab","name":"pillarH32"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":972,"y":1980,"level":0,"settings":{"name":"","mapId":1516,"propType":{"sheet":"lab","name":"pillarH64"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":994,"y":1936,"level":0,"settings":{"name":"","mapId":1517,"propType":{"sheet":"lab","name":"pillarV32"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1008,"y":1968,"level":0,"settings":{"name":"","mapId":1518,"propType":{"sheet":"lab","name":"pillarV64"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1022,"y":1928,"level":0,"settings":{"name":"","mapId":1519,"propType":{"sheet":"lab","name":"crate1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1060,"y":1928,"level":0,"settings":{"name":"","mapId":1520,"propType":{"sheet":"lab","name":"crate2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1082,"y":1944,"level":0,"settings":{"name":"","mapId":1521,"propType":{"sheet":"lab","name":"crateLarge"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1120,"y":1944,"level":0,"settings":{"name":"","mapId":1522,"propType":{"sheet":"lab","name":"crateLarge2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1166,"y":1928,"level":0,"settings":{"name":"","mapId":1523,"propType":{"sheet":"lab","name":"plant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1204,"y":1928,"level":0,"settings":{"name":"","mapId":1524,"propType":{"sheet":"lab","name":"plant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1234,"y":1944,"level":0,"settings":{"name":"","mapId":1525,"propType":{"sheet":"lab","name":"plant3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1264,"y":1928,"level":0,"settings":{"name":"","mapId":1526,"propType":{"sheet":"lab","name":"plant4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1302,"y":1928,"level":0,"settings":{"name":"","mapId":1527,"propType":{"sheet":"lab","name":"plant4f"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1332,"y":1944,"level":0,"settings":{"name":"","mapId":1528,"propType":{"sheet":"lab","name":"plant5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1362,"y":1928,"level":0,"settings":{"name":"","mapId":1529,"propType":{"sheet":"lab","name":"plant6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1400,"y":1928,"level":0,"settings":{"name":"","mapId":1530,"propType":{"sheet":"lab","name":"plant7"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1450,"y":1912,"level":0,"settings":{"name":"","mapId":1531,"propType":{"sheet":"lab","name":"plant8"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1512,"y":1912,"level":0,"settings":{"name":"","mapId":1532,"propType":{"sheet":"lab","name":"plant8f"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1558,"y":1920,"level":0,"settings":{"name":"","mapId":1533,"propType":{"sheet":"lab","name":"plant9"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1580,"y":1928,"level":0,"settings":{"name":"","mapId":1534,"propType":{"sheet":"lab","name":"plant10"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1598,"y":1944,"level":0,"settings":{"name":"","mapId":1535,"propType":{"sheet":"lab","name":"plantFresh1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1620,"y":1944,"level":0,"settings":{"name":"","mapId":1536,"propType":{"sheet":"lab","name":"plantFresh1f"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1650,"y":1928,"level":0,"settings":{"name":"","mapId":1537,"propType":{"sheet":"lab","name":"plantFresh2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1680,"y":1944,"level":0,"settings":{"name":"","mapId":1538,"propType":{"sheet":"lab","name":"plantFresh3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1702,"y":1928,"level":0,"settings":{"name":"","mapId":1539,"propType":{"sheet":"lab","name":"pipeConnectH"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1724,"y":1928,"level":0,"settings":{"name":"","mapId":1540,"propType":{"sheet":"lab","name":"pipeConnectV"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1746,"y":1928,"level":0,"settings":{"name":"","mapId":1541,"propType":{"sheet":"lab","name":"pipeConnectV2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1768,"y":1920,"level":0,"settings":{"name":"","mapId":1542,"propType":{"sheet":"lab","name":"pipeStand16"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1790,"y":1920,"level":0,"settings":{"name":"","mapId":1543,"propType":{"sheet":"lab","name":"pipeStand16coals"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1812,"y":1936,"level":0,"settings":{"name":"","mapId":1544,"propType":{"sheet":"lab","name":"pipeStand32"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1834,"y":1944,"level":0,"settings":{"name":"","mapId":1545,"propType":{"sheet":"lab","name":"slopeNWbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1856,"y":1944,"level":0,"settings":{"name":"","mapId":1546,"propType":{"sheet":"lab","name":"slopeNWmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1878,"y":1944,"level":0,"settings":{"name":"","mapId":1547,"propType":{"sheet":"lab","name":"slopeNWtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1900,"y":1944,"level":0,"settings":{"name":"","mapId":1548,"propType":{"sheet":"lab","name":"slopeNEbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1922,"y":1944,"level":0,"settings":{"name":"","mapId":1549,"propType":{"sheet":"lab","name":"slopeNEmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1944,"y":1944,"level":0,"settings":{"name":"","mapId":1550,"propType":{"sheet":"lab","name":"slopeNEtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1966,"y":1944,"level":0,"settings":{"name":"","mapId":1551,"propType":{"sheet":"lab","name":"slopeSWbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1988,"y":1944,"level":0,"settings":{"name":"","mapId":1552,"propType":{"sheet":"lab","name":"slopeSWmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2010,"y":1944,"level":0,"settings":{"name":"","mapId":1553,"propType":{"sheet":"lab","name":"slopeSWtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2032,"y":1944,"level":0,"settings":{"name":"","mapId":1554,"propType":{"sheet":"lab","name":"slopeSEbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2054,"y":1944,"level":0,"settings":{"name":"","mapId":1555,"propType":{"sheet":"lab","name":"slopeSEmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2076,"y":1944,"level":0,"settings":{"name":"","mapId":1556,"propType":{"sheet":"lab","name":"slopeSEtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2098,"y":1952,"level":0,"settings":{"name":"","mapId":1557,"propType":{"sheet":"lab","name":"wireFenceNW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2128,"y":1952,"level":0,"settings":{"name":"","mapId":1558,"propType":{"sheet":"lab","name":"wireFenceNE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2162,"y":1918,"level":0,"settings":{"name":"","mapId":1559,"propType":{"sheet":"lab","name":"groundProjector"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2196,"y":1924,"level":0,"settings":{"name":"","mapId":1560,"propType":{"sheet":"lab","name":"dTextSmall"},"propAnim":"text","condAnims":[]}},{"type":"Prop","x":2218,"y":1924,"level":0,"settings":{"name":"","mapId":1561,"propType":{"sheet":"lab","name":"dTextSmall"},"propAnim":"blinkText","condAnims":[]}},{"type":"Prop","x":2240,"y":1924,"level":0,"settings":{"name":"","mapId":1562,"propType":{"sheet":"lab","name":"dTextSmall"},"propAnim":"blinkFigure","condAnims":[]}},{"type":"Prop","x":2262,"y":1924,"level":0,"settings":{"name":"","mapId":1563,"propType":{"sheet":"lab","name":"dTextMedium"},"propAnim":"alert","condAnims":[]}},{"type":"Prop","x":2292,"y":1924,"level":0,"settings":{"name":"","mapId":1564,"propType":{"sheet":"lab","name":"dTextMedium"},"propAnim":"confirmed","condAnims":[]}},{"type":"Prop","x":2322,"y":1924,"level":0,"settings":{"name":"","mapId":1565,"propType":{"sheet":"lab","name":"dTextMedium"},"propAnim":"wtfFrece","condAnims":[]}},{"type":"Prop","x":2352,"y":1924,"level":0,"settings":{"name":"","mapId":1566,"propType":{"sheet":"lab","name":"dTextMedium"},"propAnim":"text","condAnims":[]}},{"type":"Prop","x":2382,"y":1924,"level":0,"settings":{"name":"","mapId":1567,"propType":{"sheet":"lab","name":"dTextLarge"},"propAnim":"text1","condAnims":[]}},{"type":"Prop","x":2412,"y":1924,"level":0,"settings":{"name":"","mapId":1568,"propType":{"sheet":"lab","name":"dTextLarge"},"propAnim":"text2","condAnims":[]}},{"type":"Prop","x":2442,"y":1924,"level":0,"settings":{"name":"","mapId":1569,"propType":{"sheet":"lab","name":"dTextLarge"},"propAnim":"text3","condAnims":[]}},{"type":"Prop","x":2472,"y":1924,"level":0,"settings":{"name":"","mapId":1570,"propType":{"sheet":"lab","name":"dTextScroll"},"propAnim":"still","condAnims":[]}},{"type":"Prop","x":2486,"y":1924,"level":0,"settings":{"name":"","mapId":1571,"propType":{"sheet":"lab","name":"dTextScroll"},"propAnim":"scrollDown","condAnims":[]}},{"type":"Prop","x":2500,"y":1924,"level":0,"settings":{"name":"","mapId":1572,"propType":{"sheet":"lab","name":"dTextScroll"},"propAnim":"scrollUp","condAnims":[]}},{"type":"Prop","x":2514,"y":1920,"level":0,"settings":{"name":"","mapId":1573,"propType":{"sheet":"lab","name":"dTextDiag"},"propAnim":"blinkText","condAnims":[]}},{"type":"Prop","x":2528,"y":1920,"level":0,"settings":{"name":"","mapId":1574,"propType":{"sheet":"lab","name":"dTextDiag"},"propAnim":"blinkTextFlip","condAnims":[]}},{"type":"Prop","x":2550,"y":1928,"level":0,"settings":{"name":"","mapId":1575,"propType":{"sheet":"lmh-statue","name":"statue"},"propAnim":"alex-ruediger","condAnims":[]}},{"type":"Prop","x":2604,"y":1928,"level":0,"settings":{"name":"","mapId":1576,"propType":{"sheet":"lmh-statue","name":"statue"},"propAnim":"pandcal","condAnims":[]}},{"type":"Prop","x":2662,"y":1936,"level":0,"settings":{"name":"","mapId":1577,"propType":{"sheet":"lmh-statue","name":"statue"},"propAnim":"sora","condAnims":[]}},{"type":"Prop","x":2712,"y":1928,"level":0,"settings":{"name":"","mapId":1578,"propType":{"sheet":"lmh-statue","name":"statue"},"propAnim":"kovacp","condAnims":[]}},{"type":"Prop","x":2774,"y":1944,"level":0,"settings":{"name":"","mapId":1579,"propType":{"sheet":"lmh-statue","name":"statue"},"propAnim":"empty","condAnims":[]}},{"type":"Prop","x":2820,"y":1932,"level":0,"settings":{"name":"","mapId":1580,"propType":{"sheet":"lobby","name":"glassBoard"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2866,"y":1936,"level":0,"settings":{"name":"","mapId":1581,"propType":{"sheet":"lobby","name":"plant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2900,"y":1976,"level":0,"settings":{"name":"","mapId":1582,"propType":{"sheet":"lobby","name":"lightbeam"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":2944,"y":1932,"level":0,"settings":{"name":"","mapId":1583,"propType":{"sheet":"office","name":"chair-down"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2966,"y":1932,"level":0,"settings":{"name":"","mapId":1584,"propType":{"sheet":"office","name":"chair-right"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2988,"y":1932,"level":0,"settings":{"name":"","mapId":1585,"propType":{"sheet":"office","name":"chair-left"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3010,"y":1932,"level":0,"settings":{"name":"","mapId":1586,"propType":{"sheet":"office","name":"chair-up"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3032,"y":1932,"level":0,"settings":{"name":"","mapId":1587,"propType":{"sheet":"office","name":"chair-upright"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3054,"y":1932,"level":0,"settings":{"name":"","mapId":1588,"propType":{"sheet":"office","name":"chair-upleft"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3076,"y":1932,"level":0,"settings":{"name":"","mapId":1589,"propType":{"sheet":"office","name":"chair-downright"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3098,"y":1932,"level":0,"settings":{"name":"","mapId":1590,"propType":{"sheet":"office","name":"chair-downleft"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3122,"y":1936,"level":0,"settings":{"name":"","mapId":1591,"propType":{"sheet":"office","name":"chair-gamer"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3148,"y":1928,"level":0,"settings":{"name":"","mapId":1592,"propType":{"sheet":"office","name":"display1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3178,"y":1928,"level":0,"settings":{"name":"","mapId":1593,"propType":{"sheet":"office","name":"display2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3208,"y":1928,"level":0,"settings":{"name":"","mapId":1594,"propType":{"sheet":"office","name":"display3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3230,"y":1928,"level":0,"settings":{"name":"","mapId":1595,"propType":{"sheet":"office","name":"display4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3252,"y":1928,"level":0,"settings":{"name":"","mapId":1596,"propType":{"sheet":"office","name":"display5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3282,"y":1950,"level":0,"settings":{"name":"","mapId":1597,"propType":{"sheet":"office","name":"image1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3348,"y":1958,"level":0,"settings":{"name":"","mapId":1598,"propType":{"sheet":"office","name":"image2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3406,"y":1966,"level":0,"settings":{"name":"","mapId":1599,"propType":{"sheet":"office","name":"image3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3441,"y":1954,"level":0,"settings":{"name":"","mapId":1600,"propType":{"sheet":"office","name":"officetree"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3472,"y":1932,"level":0,"settings":{"name":"","mapId":1601,"propType":{"sheet":"office","name":"sloapstatue"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3520,"y":1928,"level":0,"settings":{"name":"","mapId":1602,"propType":{"sheet":"office","name":"display6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3534,"y":1928,"level":0,"settings":{"name":"","mapId":1603,"propType":{"sheet":"office","name":"displayL"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":24,"y":2011,"level":0,"settings":{"name":"","mapId":1604,"propType":{"sheet":"office","name":"displayLContent"},"propAnim":"calling","condAnims":[]}},{"type":"Prop","x":62,"y":2011,"level":0,"settings":{"name":"","mapId":1605,"propType":{"sheet":"office","name":"displayLContent"},"propAnim":"face","condAnims":[]}},{"type":"Prop","x":100,"y":2011,"level":0,"settings":{"name":"","mapId":1606,"propType":{"sheet":"office","name":"displayLContent"},"propAnim":"coding","condAnims":[]}},{"type":"Prop","x":138,"y":2014,"level":0,"settings":{"name":"","mapId":1607,"propType":{"sheet":"office","name":"smallDisplay3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":160,"y":2014,"level":0,"settings":{"name":"","mapId":1608,"propType":{"sheet":"office","name":"smallDisplay4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":182,"y":2006,"level":0,"settings":{"name":"","mapId":1609,"propType":{"sheet":"office","name":"keyboardDiag1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":204,"y":2006,"level":0,"settings":{"name":"","mapId":1610,"propType":{"sheet":"office","name":"keyboardDiag2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":234,"y":2070,"level":0,"settings":{"name":"","mapId":1611,"propType":{"sheet":"office","name":"plant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":268,"y":2038,"level":0,"settings":{"name":"","mapId":1612,"propType":{"sheet":"office","name":"plant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":297,"y":2020,"level":0,"settings":{"name":"","mapId":1613,"propType":{"sheet":"office","name":"trashbin"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":320,"y":2014,"level":0,"settings":{"name":"","mapId":1614,"propType":{"sheet":"office","name":"toolbox"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":346,"y":2022,"level":0,"settings":{"name":"","mapId":1615,"propType":{"sheet":"office","name":"cargo-box1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":384,"y":2022,"level":0,"settings":{"name":"","mapId":1616,"propType":{"sheet":"office","name":"cargo-box2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":406,"y":2050,"level":0,"settings":{"name":"","mapId":1617,"propType":{"sheet":"office","name":"lightbeam"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":460,"y":2038,"level":0,"settings":{"name":"","mapId":1618,"propType":{"sheet":"radicalprops","name":"lachschair"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":498,"y":2006,"level":0,"settings":{"name":"","mapId":1619,"propType":{"sheet":"radicalprops","name":"logo"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":584,"y":2006,"level":0,"settings":{"name":"","mapId":1620,"propType":{"sheet":"radicalprops","name":"tfreepapers"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":638,"y":2014,"level":0,"settings":{"name":"","mapId":1621,"propType":{"sheet":"radicalprops","name":"hennelaptop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":660,"y":2009,"level":0,"settings":{"name":"","mapId":1622,"propType":{"sheet":"radicalprops","name":"hennephone"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":674,"y":2022,"level":0,"settings":{"name":"","mapId":1623,"propType":{"sheet":"radicalprops","name":"hennefigurine1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":696,"y":2022,"level":0,"settings":{"name":"","mapId":1624,"propType":{"sheet":"radicalprops","name":"hennefigurine2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":718,"y":2006,"level":0,"settings":{"name":"","mapId":1625,"propType":{"sheet":"radicalprops","name":"hennethingi"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":734,"y":2024,"level":0,"settings":{"name":"","mapId":1626,"propType":{"sheet":"radicalprops","name":"candle"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":748,"y":2006,"level":0,"settings":{"name":"","mapId":1627,"propType":{"sheet":"radicalprops","name":"floramic"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":770,"y":2006,"level":0,"settings":{"name":"","mapId":1628,"propType":{"sheet":"radicalprops","name":"floraheadset"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":792,"y":2014,"level":0,"settings":{"name":"","mapId":1629,"propType":{"sheet":"radicalprops","name":"florabook"},"propAnim":"book","condAnims":[]}},{"type":"Prop","x":822,"y":2014,"level":0,"settings":{"name":"","mapId":1630,"propType":{"sheet":"radicalprops","name":"florabook"},"propAnim":"flip","condAnims":[]}},{"type":"Prop","x":852,"y":2014,"level":0,"settings":{"name":"","mapId":1631,"propType":{"sheet":"radicalprops","name":"florabook"},"propAnim":"flipReverse","condAnims":[]}},{"type":"Prop","x":886,"y":2022,"level":0,"settings":{"name":"","mapId":1632,"propType":{"sheet":"radicalprops","name":"denizrack"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":920,"y":2022,"level":0,"settings":{"name":"","mapId":1633,"propType":{"sheet":"radicalprops","name":"denizsetup"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":974,"y":2022,"level":0,"settings":{"name":"","mapId":1634,"propType":{"sheet":"radicalprops","name":"rdfigurine1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":996,"y":2022,"level":0,"settings":{"name":"","mapId":1635,"propType":{"sheet":"radicalprops","name":"rdfigurine2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1018,"y":2022,"level":0,"settings":{"name":"","mapId":1636,"propType":{"sheet":"radicalprops","name":"rdfigurine3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1040,"y":2022,"level":0,"settings":{"name":"","mapId":1637,"propType":{"sheet":"radicalprops","name":"rdmonitor"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1064,"y":2014,"level":0,"settings":{"name":"","mapId":1638,"propType":{"sheet":"radicalprops","name":"frecesetup"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1116,"y":2030,"level":0,"settings":{"name":"","mapId":1639,"propType":{"sheet":"radicalprops","name":"plant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1138,"y":2030,"level":0,"settings":{"name":"","mapId":1640,"propType":{"sheet":"radicalprops","name":"plant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1160,"y":2014,"level":0,"settings":{"name":"","mapId":1641,"propType":{"sheet":"radicalprops","name":"radfish"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1185,"y":2018,"level":0,"settings":{"name":"","mapId":1642,"propType":{"sheet":"radicalprops","name":"bottles"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1206,"y":2024,"level":0,"settings":{"name":"","mapId":1643,"propType":{"sheet":"radicalprops","name":"rdgamerpc"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1242,"y":2014,"level":0,"settings":{"name":"","mapId":1644,"propType":{"sheet":"radicalprops","name":"rdgames"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1264,"y":2030,"level":0,"settings":{"name":"","mapId":1645,"propType":{"sheet":"radicalprops","name":"fishsign"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1294,"y":2022,"level":0,"settings":{"name":"","mapId":1646,"propType":{"sheet":"radicalprops","name":"tqpot"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1324,"y":2006,"level":0,"settings":{"name":"","mapId":1647,"propType":{"sheet":"raid","name":"wingLeft"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1634,"y":2006,"level":0,"settings":{"name":"","mapId":1648,"propType":{"sheet":"raid","name":"wingRight"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1944,"y":2006,"level":0,"settings":{"name":"","mapId":1649,"propType":{"sheet":"raid","name":"coreCover"},"propAnim":"closed","condAnims":[]}},{"type":"Prop","x":1982,"y":2006,"level":0,"settings":{"name":"","mapId":1650,"propType":{"sheet":"raid","name":"coreCover"},"propAnim":"open","condAnims":[]}},{"type":"Prop","x":2020,"y":2006,"level":0,"settings":{"name":"","mapId":1651,"propType":{"sheet":"raid","name":"coreCover"},"propAnim":"broken","condAnims":[]}},{"type":"Prop","x":2058,"y":2006,"level":0,"settings":{"name":"","mapId":1652,"propType":{"sheet":"raid","name":"coreCover"},"propAnim":"closed","condAnims":[]}},{"type":"Prop","x":2096,"y":2006,"level":0,"settings":{"name":"","mapId":1653,"propType":{"sheet":"raid","name":"coreCover"},"propAnim":"open","condAnims":[]}},{"type":"Prop","x":2134,"y":2006,"level":0,"settings":{"name":"","mapId":1654,"propType":{"sheet":"raid","name":"coreCover"},"propAnim":"broken","condAnims":[]}},{"type":"Prop","x":2172,"y":2038,"level":0,"settings":{"name":"","mapId":1655,"propType":{"sheet":"raid","name":"pistonSmall"},"propAnim":"working","condAnims":[]}},{"type":"Prop","x":2194,"y":2038,"level":0,"settings":{"name":"","mapId":1656,"propType":{"sheet":"raid","name":"pistonSmall"},"propAnim":"still","condAnims":[]}},{"type":"Prop","x":2216,"y":2038,"level":0,"settings":{"name":"","mapId":1657,"propType":{"sheet":"raid","name":"pistonSmallalt"},"propAnim":"working","condAnims":[]}},{"type":"Prop","x":2238,"y":2038,"level":0,"settings":{"name":"","mapId":1658,"propType":{"sheet":"raid","name":"pistonSmallalt"},"propAnim":"still","condAnims":[]}},{"type":"Prop","x":2260,"y":2038,"level":0,"settings":{"name":"","mapId":1659,"propType":{"sheet":"raid","name":"pistonBig"},"propAnim":"working","condAnims":[]}},{"type":"Prop","x":2298,"y":2038,"level":0,"settings":{"name":"","mapId":1660,"propType":{"sheet":"raid","name":"pistonBig"},"propAnim":"still","condAnims":[]}},{"type":"Prop","x":2336,"y":2054,"level":0,"settings":{"name":"","mapId":1661,"propType":{"sheet":"raid","name":"antigravGen"},"propAnim":"working","condAnims":[]}},{"type":"Prop","x":2376,"y":2010,"level":0,"settings":{"name":"","mapId":1662,"propType":{"sheet":"rh-interior-pub","name":"chair-small"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2398,"y":2018,"level":0,"settings":{"name":"","mapId":1663,"propType":{"sheet":"rh-interior-pub","name":"chair-tall"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2418,"y":2026,"level":0,"settings":{"name":"","mapId":1664,"propType":{"sheet":"rh-interior-pub","name":"life-ring"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2468,"y":2062,"level":0,"settings":{"name":"","mapId":1665,"propType":{"sheet":"rh-interior","name":"plant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2530,"y":2062,"level":0,"settings":{"name":"","mapId":1666,"propType":{"sheet":"rh-interior","name":"plant1f"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2580,"y":2070,"level":0,"settings":{"name":"","mapId":1667,"propType":{"sheet":"rh-interior","name":"plant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2614,"y":2038,"level":0,"settings":{"name":"","mapId":1668,"propType":{"sheet":"rh-interior","name":"plant3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2640,"y":2022,"level":0,"settings":{"name":"","mapId":1669,"propType":{"sheet":"rh-interior","name":"plant4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2662,"y":2022,"level":0,"settings":{"name":"","mapId":1670,"propType":{"sheet":"rh-interior","name":"plant5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2684,"y":2022,"level":0,"settings":{"name":"","mapId":1671,"propType":{"sheet":"rh-interior","name":"plant6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2706,"y":2018,"level":0,"settings":{"name":"","mapId":1672,"propType":{"sheet":"rh-interior","name":"terminalN"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2744,"y":2014,"level":0,"settings":{"name":"","mapId":1673,"propType":{"sheet":"rh-interior","name":"terminalE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2762,"y":2014,"level":0,"settings":{"name":"","mapId":1674,"propType":{"sheet":"rh-interior","name":"terminalW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2780,"y":2046,"level":0,"settings":{"name":"","mapId":1675,"propType":{"sheet":"rh-interior","name":"shelfE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2798,"y":2046,"level":0,"settings":{"name":"","mapId":1676,"propType":{"sheet":"rh-interior","name":"shelfW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2816,"y":2018,"level":0,"settings":{"name":"","mapId":1677,"propType":{"sheet":"rh-interior","name":"picture"},"propAnim":"croissant","condAnims":[]}},{"type":"Prop","x":2846,"y":2018,"level":0,"settings":{"name":"","mapId":1678,"propType":{"sheet":"rh-interior","name":"picture"},"propAnim":"autumn","condAnims":[]}},{"type":"Prop","x":2876,"y":2018,"level":0,"settings":{"name":"","mapId":1679,"propType":{"sheet":"rh-interior","name":"picture"},"propAnim":"bergen","condAnims":[]}},{"type":"Prop","x":2906,"y":2018,"level":0,"settings":{"name":"","mapId":1680,"propType":{"sheet":"rh-interior","name":"picture"},"propAnim":"fajro","condAnims":[]}},{"type":"Prop","x":2936,"y":2018,"level":0,"settings":{"name":"","mapId":1681,"propType":{"sheet":"rh-interior","name":"picture"},"propAnim":"maroon","condAnims":[]}},{"type":"Prop","x":2974,"y":2088,"level":0,"settings":{"name":"","mapId":1682,"propType":{"sheet":"rh-interior","name":"lightbeam"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":3004,"y":2054,"level":0,"settings":{"name":"","mapId":1683,"propType":{"sheet":"rh-interior","name":"lightbeamEast"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":3026,"y":2054,"level":0,"settings":{"name":"","mapId":1684,"propType":{"sheet":"rh-interior","name":"lightbeamWest"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":3050,"y":2026,"level":0,"settings":{"name":"","mapId":1685,"propType":{"sheet":"rh-interior","name":"chair-down"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3072,"y":2026,"level":0,"settings":{"name":"","mapId":1686,"propType":{"sheet":"rh-interior","name":"chair-right"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3094,"y":2026,"level":0,"settings":{"name":"","mapId":1687,"propType":{"sheet":"rh-interior","name":"chair-left"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3116,"y":2026,"level":0,"settings":{"name":"","mapId":1688,"propType":{"sheet":"rh-interior","name":"chair-up"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3136,"y":2046,"level":0,"settings":{"name":"","mapId":1689,"propType":{"sheet":"rhombus-area-text","name":"logo"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3190,"y":2014,"level":0,"settings":{"name":"","mapId":1690,"propType":{"sheet":"rhombus-area-text","name":"titleItem"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3260,"y":2014,"level":0,"settings":{"name":"","mapId":1691,"propType":{"sheet":"rhombus-area-text","name":"titleScore"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3330,"y":2038,"level":0,"settings":{"name":"","mapId":1692,"propType":{"sheet":"rhombus-area-text","name":"contentItem"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3400,"y":2038,"level":0,"settings":{"name":"","mapId":1693,"propType":{"sheet":"rhombus-area-text","name":"contentScore"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3470,"y":2006,"level":0,"settings":{"name":"","mapId":1694,"propType":{"sheet":"rhombus-interior","name":"infinityGem"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3492,"y":2086,"level":0,"settings":{"name":"","mapId":1695,"propType":{"sheet":"rhombus-interior","name":"teleport-nw"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3530,"y":2086,"level":0,"settings":{"name":"","mapId":1696,"propType":{"sheet":"rhombus-interior","name":"teleport-ne"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3568,"y":2086,"level":0,"settings":{"name":"","mapId":1697,"propType":{"sheet":"rhombus-interior","name":"teleport-se"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":24,"y":2212,"level":0,"settings":{"name":"","mapId":1698,"propType":{"sheet":"rhombus-interior","name":"teleport-sw"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":62,"y":2180,"level":0,"settings":{"name":"","mapId":1699,"propType":{"sheet":"rhombus-interior","name":"block-ne"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":84,"y":2180,"level":0,"settings":{"name":"","mapId":1700,"propType":{"sheet":"rhombus-interior","name":"block-nw"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":106,"y":2196,"level":0,"settings":{"name":"","mapId":1701,"propType":{"sheet":"rhombus-interior","name":"block-se"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":128,"y":2196,"level":0,"settings":{"name":"","mapId":1702,"propType":{"sheet":"rhombus-interior","name":"block-sw"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":170,"y":2188,"level":0,"settings":{"name":"","mapId":1703,"propType":{"sheet":"rhombus-interior","name":"plant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":220,"y":2196,"level":0,"settings":{"name":"","mapId":1704,"propType":{"sheet":"rhombus-interior","name":"plant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":254,"y":2164,"level":0,"settings":{"name":"","mapId":1705,"propType":{"sheet":"rhombus-interior","name":"plant3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":280,"y":2148,"level":0,"settings":{"name":"","mapId":1706,"propType":{"sheet":"rhombus-interior","name":"plant4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":302,"y":2148,"level":0,"settings":{"name":"","mapId":1707,"propType":{"sheet":"rhombus-interior","name":"plant5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":324,"y":2148,"level":0,"settings":{"name":"","mapId":1708,"propType":{"sheet":"rhombus-interior","name":"plant6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":350,"y":2172,"level":0,"settings":{"name":"","mapId":1709,"propType":{"sheet":"rhombus-interior","name":"plant7"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":380,"y":2164,"level":0,"settings":{"name":"","mapId":1710,"propType":{"sheet":"rhombus-interior","name":"plant8"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":406,"y":2156,"level":0,"settings":{"name":"","mapId":1711,"propType":{"sheet":"rhombus-interior","name":"plant9"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":428,"y":2156,"level":0,"settings":{"name":"","mapId":1712,"propType":{"sheet":"rhombus-interior","name":"plant10"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":450,"y":2148,"level":0,"settings":{"name":"","mapId":1713,"propType":{"sheet":"rhombus-interior","name":"plant11"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":472,"y":2144,"level":0,"settings":{"name":"","mapId":1714,"propType":{"sheet":"rhombus-interior","name":"terminalN"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":510,"y":2140,"level":0,"settings":{"name":"","mapId":1715,"propType":{"sheet":"rhombus-interior","name":"terminalE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":528,"y":2140,"level":0,"settings":{"name":"","mapId":1716,"propType":{"sheet":"rhombus-interior","name":"terminalW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":546,"y":2172,"level":0,"settings":{"name":"","mapId":1717,"propType":{"sheet":"rhombus-interior","name":"shelfE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":564,"y":2172,"level":0,"settings":{"name":"","mapId":1718,"propType":{"sheet":"rhombus-interior","name":"shelfW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":584,"y":2152,"level":0,"settings":{"name":"","mapId":1719,"propType":{"sheet":"rhombus-interior","name":"chair-down"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":606,"y":2152,"level":0,"settings":{"name":"","mapId":1720,"propType":{"sheet":"rhombus-interior","name":"chair-right"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":628,"y":2152,"level":0,"settings":{"name":"","mapId":1721,"propType":{"sheet":"rhombus-interior","name":"chair-left"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":650,"y":2152,"level":0,"settings":{"name":"","mapId":1722,"propType":{"sheet":"rhombus-interior","name":"chair-up"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":674,"y":2148,"level":0,"settings":{"name":"","mapId":1723,"propType":{"sheet":"rhombus-interior","name":"lamp1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":704,"y":2164,"level":0,"settings":{"name":"","mapId":1724,"propType":{"sheet":"rhombus-interior","name":"lamp2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":738,"y":2164,"level":0,"settings":{"name":"","mapId":1725,"propType":{"sheet":"rhombus-interior","name":"lamp3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":760,"y":2164,"level":0,"settings":{"name":"","mapId":1726,"propType":{"sheet":"rhombus-interior","name":"lamp3f"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":782,"y":2164,"level":0,"settings":{"name":"","mapId":1727,"propType":{"sheet":"rhombus-interior","name":"lamp4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":812,"y":2164,"level":0,"settings":{"name":"","mapId":1728,"propType":{"sheet":"rhombus-interior","name":"lamp4f"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":846,"y":2164,"level":0,"settings":{"name":"","mapId":1729,"propType":{"sheet":"rhombus-interior","name":"lamp5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":868,"y":2188,"level":0,"settings":{"name":"","mapId":1730,"propType":{"sheet":"rhombus-interior","name":"lamp6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":898,"y":2164,"level":0,"settings":{"name":"","mapId":1731,"propType":{"sheet":"rhombus-interior","name":"lamp7"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":924,"y":2172,"level":0,"settings":{"name":"","mapId":1732,"propType":{"sheet":"rhombus-interior","name":"pillar1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":946,"y":2156,"level":0,"settings":{"name":"","mapId":1733,"propType":{"sheet":"rhombus-interior","name":"potPlant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":984,"y":2156,"level":0,"settings":{"name":"","mapId":1734,"propType":{"sheet":"rhombus-interior","name":"potPlant1s"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1006,"y":2148,"level":0,"settings":{"name":"","mapId":1735,"propType":{"sheet":"rhombus-interior","name":"potPlant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1044,"y":2148,"level":0,"settings":{"name":"","mapId":1736,"propType":{"sheet":"rhombus-interior","name":"potPlant2s"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1070,"y":2148,"level":0,"settings":{"name":"","mapId":1737,"propType":{"sheet":"rhombus-interior","name":"potPlantV1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1092,"y":2172,"level":0,"settings":{"name":"","mapId":1738,"propType":{"sheet":"rhombus-interior","name":"laserboard1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1134,"y":2172,"level":0,"settings":{"name":"","mapId":1739,"propType":{"sheet":"rhombus-interior","name":"laserboard2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1172,"y":2172,"level":0,"settings":{"name":"","mapId":1740,"propType":{"sheet":"rhombus-interior","name":"laserboard2f"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1214,"y":2172,"level":0,"settings":{"name":"","mapId":1741,"propType":{"sheet":"rhombus-interior","name":"laserboard3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1240,"y":2160,"level":0,"settings":{"name":"","mapId":1742,"propType":{"sheet":"rhombus-interior","name":"laserboardW1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1270,"y":2160,"level":0,"settings":{"name":"","mapId":1743,"propType":{"sheet":"rhombus-interior","name":"laserboardW2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1320,"y":2138,"level":0,"settings":{"name":"","mapId":1744,"propType":{"sheet":"rhombus-interior","name":"groundProjector"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1354,"y":2156,"level":0,"settings":{"name":"","mapId":1745,"propType":{"sheet":"rhombus-signs","name":"signLargeSide"},"propAnim":"westA","condAnims":[]}},{"type":"Prop","x":1376,"y":2156,"level":0,"settings":{"name":"","mapId":1746,"propType":{"sheet":"rhombus-signs","name":"signLargeSide"},"propAnim":"westB","condAnims":[]}},{"type":"Prop","x":1398,"y":2156,"level":0,"settings":{"name":"","mapId":1747,"propType":{"sheet":"rhombus-signs","name":"signLargeSide"},"propAnim":"westC","condAnims":[]}},{"type":"Prop","x":1420,"y":2156,"level":0,"settings":{"name":"","mapId":1748,"propType":{"sheet":"rhombus-signs","name":"signLargeSide"},"propAnim":"westD","condAnims":[]}},{"type":"Prop","x":1442,"y":2156,"level":0,"settings":{"name":"","mapId":1749,"propType":{"sheet":"rhombus-signs","name":"signLargeSide"},"propAnim":"westE","condAnims":[]}},{"type":"Prop","x":1464,"y":2140,"level":0,"settings":{"name":"","mapId":1750,"propType":{"sheet":"rhombus-signs","name":"signSmallSide"},"propAnim":"westA","condAnims":[]}},{"type":"Prop","x":1486,"y":2140,"level":0,"settings":{"name":"","mapId":1751,"propType":{"sheet":"rhombus-signs","name":"signSmallSide"},"propAnim":"westB","condAnims":[]}},{"type":"Prop","x":1508,"y":2140,"level":0,"settings":{"name":"","mapId":1752,"propType":{"sheet":"rhombus-signs","name":"signSmallSide"},"propAnim":"westC","condAnims":[]}},{"type":"Prop","x":1530,"y":2140,"level":0,"settings":{"name":"","mapId":1753,"propType":{"sheet":"rhombus-signs","name":"signSmallSide"},"propAnim":"westD","condAnims":[]}},{"type":"Prop","x":1552,"y":2140,"level":0,"settings":{"name":"","mapId":1754,"propType":{"sheet":"rhombus-signs","name":"signSmallSide"},"propAnim":"westE","condAnims":[]}},{"type":"Prop","x":1574,"y":2164,"level":0,"settings":{"name":"","mapId":1755,"propType":{"sheet":"rhombus-signs","name":"signLargeDiag"},"propAnim":"westA","condAnims":[]}},{"type":"Prop","x":1596,"y":2164,"level":0,"settings":{"name":"","mapId":1756,"propType":{"sheet":"rhombus-signs","name":"signLargeDiag"},"propAnim":"westB","condAnims":[]}},{"type":"Prop","x":1618,"y":2164,"level":0,"settings":{"name":"","mapId":1757,"propType":{"sheet":"rhombus-signs","name":"signLargeDiag"},"propAnim":"westC","condAnims":[]}},{"type":"Prop","x":1640,"y":2164,"level":0,"settings":{"name":"","mapId":1758,"propType":{"sheet":"rhombus-signs","name":"signLargeDiag"},"propAnim":"westD","condAnims":[]}},{"type":"Prop","x":1662,"y":2164,"level":0,"settings":{"name":"","mapId":1759,"propType":{"sheet":"rhombus-signs","name":"signLargeDiag"},"propAnim":"westE","condAnims":[]}},{"type":"Prop","x":1684,"y":2164,"level":0,"settings":{"name":"","mapId":1760,"propType":{"sheet":"rhombus-signs","name":"signLargeDiag"},"propAnim":"eastA","condAnims":[]}},{"type":"Prop","x":1706,"y":2164,"level":0,"settings":{"name":"","mapId":1761,"propType":{"sheet":"rhombus-signs","name":"signLargeDiag"},"propAnim":"eastB","condAnims":[]}},{"type":"Prop","x":1728,"y":2164,"level":0,"settings":{"name":"","mapId":1762,"propType":{"sheet":"rhombus-signs","name":"signLargeDiag"},"propAnim":"eastC","condAnims":[]}},{"type":"Prop","x":1750,"y":2164,"level":0,"settings":{"name":"","mapId":1763,"propType":{"sheet":"rhombus-signs","name":"signLargeDiag"},"propAnim":"eastD","condAnims":[]}},{"type":"Prop","x":1772,"y":2164,"level":0,"settings":{"name":"","mapId":1764,"propType":{"sheet":"rhombus-signs","name":"signLargeDiag"},"propAnim":"eastE","condAnims":[]}},{"type":"Prop","x":1794,"y":2148,"level":0,"settings":{"name":"","mapId":1765,"propType":{"sheet":"rhombus-signs","name":"signSmallDiag"},"propAnim":"westA","condAnims":[]}},{"type":"Prop","x":1816,"y":2148,"level":0,"settings":{"name":"","mapId":1766,"propType":{"sheet":"rhombus-signs","name":"signSmallDiag"},"propAnim":"westB","condAnims":[]}},{"type":"Prop","x":1838,"y":2148,"level":0,"settings":{"name":"","mapId":1767,"propType":{"sheet":"rhombus-signs","name":"signSmallDiag"},"propAnim":"westC","condAnims":[]}},{"type":"Prop","x":1860,"y":2148,"level":0,"settings":{"name":"","mapId":1768,"propType":{"sheet":"rhombus-signs","name":"signSmallDiag"},"propAnim":"westD","condAnims":[]}},{"type":"Prop","x":1882,"y":2148,"level":0,"settings":{"name":"","mapId":1769,"propType":{"sheet":"rhombus-signs","name":"signSmallDiag"},"propAnim":"westE","condAnims":[]}},{"type":"Prop","x":1904,"y":2148,"level":0,"settings":{"name":"","mapId":1770,"propType":{"sheet":"rhombus-signs","name":"signSmallDiag"},"propAnim":"eastA","condAnims":[]}},{"type":"Prop","x":1926,"y":2148,"level":0,"settings":{"name":"","mapId":1771,"propType":{"sheet":"rhombus-signs","name":"signSmallDiag"},"propAnim":"eastB","condAnims":[]}},{"type":"Prop","x":1948,"y":2148,"level":0,"settings":{"name":"","mapId":1772,"propType":{"sheet":"rhombus-signs","name":"signSmallDiag"},"propAnim":"eastC","condAnims":[]}},{"type":"Prop","x":1970,"y":2148,"level":0,"settings":{"name":"","mapId":1773,"propType":{"sheet":"rhombus-signs","name":"signSmallDiag"},"propAnim":"eastD","condAnims":[]}},{"type":"Prop","x":1992,"y":2148,"level":0,"settings":{"name":"","mapId":1774,"propType":{"sheet":"rhombus-signs","name":"signSmallDiag"},"propAnim":"eastE","condAnims":[]}},{"type":"Prop","x":2014,"y":2172,"level":0,"settings":{"name":"","mapId":1775,"propType":{"sheet":"rhombus-signs","name":"signHugeSide"},"propAnim":"westA","condAnims":[]}},{"type":"Prop","x":2052,"y":2172,"level":0,"settings":{"name":"","mapId":1776,"propType":{"sheet":"rhombus-signs","name":"signHugeSide"},"propAnim":"westB","condAnims":[]}},{"type":"Prop","x":2090,"y":2172,"level":0,"settings":{"name":"","mapId":1777,"propType":{"sheet":"rhombus-signs","name":"signHugeSide"},"propAnim":"westC","condAnims":[]}},{"type":"Prop","x":2128,"y":2172,"level":0,"settings":{"name":"","mapId":1778,"propType":{"sheet":"rhombus-signs","name":"signHugeSide"},"propAnim":"westD","condAnims":[]}},{"type":"Prop","x":2166,"y":2172,"level":0,"settings":{"name":"","mapId":1779,"propType":{"sheet":"rhombus-signs","name":"signHugeSide"},"propAnim":"westE","condAnims":[]}},{"type":"Prop","x":2204,"y":2188,"level":0,"settings":{"name":"","mapId":1780,"propType":{"sheet":"rhombus-signs","name":"signHugeDiag"},"propAnim":"westA","condAnims":[]}},{"type":"Prop","x":2242,"y":2188,"level":0,"settings":{"name":"","mapId":1781,"propType":{"sheet":"rhombus-signs","name":"signHugeDiag"},"propAnim":"westB","condAnims":[]}},{"type":"Prop","x":2280,"y":2188,"level":0,"settings":{"name":"","mapId":1782,"propType":{"sheet":"rhombus-signs","name":"signHugeDiag"},"propAnim":"westC","condAnims":[]}},{"type":"Prop","x":2318,"y":2188,"level":0,"settings":{"name":"","mapId":1783,"propType":{"sheet":"rhombus-signs","name":"signHugeDiag"},"propAnim":"westD","condAnims":[]}},{"type":"Prop","x":2356,"y":2188,"level":0,"settings":{"name":"","mapId":1784,"propType":{"sheet":"rhombus-signs","name":"signHugeDiag"},"propAnim":"westE","condAnims":[]}},{"type":"Prop","x":2394,"y":2188,"level":0,"settings":{"name":"","mapId":1785,"propType":{"sheet":"rhombus-signs","name":"signHugeDiag"},"propAnim":"westF","condAnims":[]}},{"type":"Prop","x":2432,"y":2188,"level":0,"settings":{"name":"","mapId":1786,"propType":{"sheet":"rhombus-signs","name":"signHugeDiag"},"propAnim":"eastA","condAnims":[]}},{"type":"Prop","x":2470,"y":2188,"level":0,"settings":{"name":"","mapId":1787,"propType":{"sheet":"rhombus-signs","name":"signHugeDiag"},"propAnim":"eastB","condAnims":[]}},{"type":"Prop","x":2508,"y":2188,"level":0,"settings":{"name":"","mapId":1788,"propType":{"sheet":"rhombus-signs","name":"signHugeDiag"},"propAnim":"eastC","condAnims":[]}},{"type":"Prop","x":2546,"y":2188,"level":0,"settings":{"name":"","mapId":1789,"propType":{"sheet":"rhombus-signs","name":"signHugeDiag"},"propAnim":"eastD","condAnims":[]}},{"type":"Prop","x":2584,"y":2188,"level":0,"settings":{"name":"","mapId":1790,"propType":{"sheet":"rhombus-signs","name":"signHugeDiag"},"propAnim":"eastE","condAnims":[]}},{"type":"Prop","x":2622,"y":2188,"level":0,"settings":{"name":"","mapId":1791,"propType":{"sheet":"rhombus-signs","name":"signHugeDiag"},"propAnim":"eastF","condAnims":[]}},{"type":"Prop","x":2666,"y":2144,"level":0,"settings":{"name":"","mapId":1792,"propType":{"sheet":"rhombus-sq-beach","name":"ffball"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2695,"y":2150,"level":0,"settings":{"name":"","mapId":1793,"propType":{"sheet":"rhombus-sq-beach","name":"howserRope2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2721,"y":2158,"level":0,"settings":{"name":"","mapId":1794,"propType":{"sheet":"rhombus-sq-beach","name":"howserRope1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2743,"y":2142,"level":0,"settings":{"name":"","mapId":1795,"propType":{"sheet":"rhombus-sq-beach","name":"howser"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2758,"y":2136,"level":0,"settings":{"name":"","mapId":1796,"propType":{"sheet":"rhombus-sq-beach","name":"lifesaverGreen"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2788,"y":2136,"level":0,"settings":{"name":"","mapId":1797,"propType":{"sheet":"rhombus-sq-beach","name":"lifesaverBlue"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2820,"y":2140,"level":0,"settings":{"name":"","mapId":1798,"propType":{"sheet":"rhombus-sq-beach","name":"hat"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2842,"y":2140,"level":0,"settings":{"name":"","mapId":1799,"propType":{"sheet":"rhombus-sq-beach","name":"sandToy9"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2860,"y":2132,"level":0,"settings":{"name":"","mapId":1800,"propType":{"sheet":"rhombus-sq-beach","name":"sandToy8"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2874,"y":2132,"level":0,"settings":{"name":"","mapId":1801,"propType":{"sheet":"rhombus-sq-beach","name":"sandToy7"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2892,"y":2132,"level":0,"settings":{"name":"","mapId":1802,"propType":{"sheet":"rhombus-sq-beach","name":"sandToy6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2910,"y":2132,"level":0,"settings":{"name":"","mapId":1803,"propType":{"sheet":"rhombus-sq-beach","name":"sandToy5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2932,"y":2132,"level":0,"settings":{"name":"","mapId":1804,"propType":{"sheet":"rhombus-sq-beach","name":"sandToy4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2954,"y":2140,"level":0,"settings":{"name":"","mapId":1805,"propType":{"sheet":"rhombus-sq-beach","name":"sandToy3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2972,"y":2140,"level":0,"settings":{"name":"","mapId":1806,"propType":{"sheet":"rhombus-sq-beach","name":"sandToy2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2990,"y":2140,"level":0,"settings":{"name":"","mapId":1807,"propType":{"sheet":"rhombus-sq-beach","name":"sandToy1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3012,"y":2144,"level":0,"settings":{"name":"","mapId":1808,"propType":{"sheet":"rhombus-sq-beach","name":"sandHouse3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3026,"y":2144,"level":0,"settings":{"name":"","mapId":1809,"propType":{"sheet":"rhombus-sq-beach","name":"sandHouse2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3040,"y":2144,"level":0,"settings":{"name":"","mapId":1810,"propType":{"sheet":"rhombus-sq-beach","name":"sandHouse1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3058,"y":2156,"level":0,"settings":{"name":"","mapId":1811,"propType":{"sheet":"rhombus-sq-beach","name":"sandCastle"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3092,"y":2132,"level":0,"settings":{"name":"","mapId":1812,"propType":{"sheet":"rhombus-sq-beach","name":"towel10"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3130,"y":2132,"level":0,"settings":{"name":"","mapId":1813,"propType":{"sheet":"rhombus-sq-beach","name":"towel9"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3168,"y":2132,"level":0,"settings":{"name":"","mapId":1814,"propType":{"sheet":"rhombus-sq-beach","name":"towel8"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3210,"y":2132,"level":0,"settings":{"name":"","mapId":1815,"propType":{"sheet":"rhombus-sq-beach","name":"towel7"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3252,"y":2132,"level":0,"settings":{"name":"","mapId":1816,"propType":{"sheet":"rhombus-sq-beach","name":"towel6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3282,"y":2132,"level":0,"settings":{"name":"","mapId":1817,"propType":{"sheet":"rhombus-sq-beach","name":"towel5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3312,"y":2132,"level":0,"settings":{"name":"","mapId":1818,"propType":{"sheet":"rhombus-sq-beach","name":"towel4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3342,"y":2132,"level":0,"settings":{"name":"","mapId":1819,"propType":{"sheet":"rhombus-sq-beach","name":"towel3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3372,"y":2132,"level":0,"settings":{"name":"","mapId":1820,"propType":{"sheet":"rhombus-sq-beach","name":"towel2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3402,"y":2132,"level":0,"settings":{"name":"","mapId":1821,"propType":{"sheet":"rhombus-sq-beach","name":"towel1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3436,"y":2148,"level":0,"settings":{"name":"","mapId":1822,"propType":{"sheet":"rhombus-sq-beach","name":"chair3RedF"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3466,"y":2148,"level":0,"settings":{"name":"","mapId":1823,"propType":{"sheet":"rhombus-sq-beach","name":"chair3Red"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3496,"y":2148,"level":0,"settings":{"name":"","mapId":1824,"propType":{"sheet":"rhombus-sq-beach","name":"chair3RedF"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3526,"y":2148,"level":0,"settings":{"name":"","mapId":1825,"propType":{"sheet":"rhombus-sq-beach","name":"chair3Green"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3556,"y":2148,"level":0,"settings":{"name":"","mapId":1826,"propType":{"sheet":"rhombus-sq-beach","name":"chair3GreenF"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":24,"y":2266,"level":0,"settings":{"name":"","mapId":1827,"propType":{"sheet":"rhombus-sq-beach","name":"chair2White"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":54,"y":2266,"level":0,"settings":{"name":"","mapId":1828,"propType":{"sheet":"rhombus-sq-beach","name":"chair2WhiteF"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":84,"y":2266,"level":0,"settings":{"name":"","mapId":1829,"propType":{"sheet":"rhombus-sq-beach","name":"chair2Blue"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":114,"y":2266,"level":0,"settings":{"name":"","mapId":1830,"propType":{"sheet":"rhombus-sq-beach","name":"chair2BlueF"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":148,"y":2266,"level":0,"settings":{"name":"","mapId":1831,"propType":{"sheet":"rhombus-sq-beach","name":"chair1Blue"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":194,"y":2266,"level":0,"settings":{"name":"","mapId":1832,"propType":{"sheet":"rhombus-sq-beach","name":"chair1BlueF"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":240,"y":2266,"level":0,"settings":{"name":"","mapId":1833,"propType":{"sheet":"rhombus-sq-beach","name":"chair1Green"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":286,"y":2266,"level":0,"settings":{"name":"","mapId":1834,"propType":{"sheet":"rhombus-sq-beach","name":"chair1GreenF"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":356,"y":2318,"level":0,"settings":{"name":"","mapId":1835,"propType":{"sheet":"rhombus-sq-beach","name":"umbrellaRed"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":442,"y":2318,"level":0,"settings":{"name":"","mapId":1836,"propType":{"sheet":"rhombus-sq-beach","name":"umbrellaGreen"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":500,"y":2258,"level":0,"settings":{"name":"","mapId":1837,"propType":{"sheet":"rhombus-sq-beach","name":"Drink6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":514,"y":2258,"level":0,"settings":{"name":"","mapId":1838,"propType":{"sheet":"rhombus-sq-beach","name":"Drink5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":528,"y":2258,"level":0,"settings":{"name":"","mapId":1839,"propType":{"sheet":"rhombus-sq-beach","name":"Drink4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":542,"y":2258,"level":0,"settings":{"name":"","mapId":1840,"propType":{"sheet":"rhombus-sq-beach","name":"Drink3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":556,"y":2258,"level":0,"settings":{"name":"","mapId":1841,"propType":{"sheet":"rhombus-sq-beach","name":"Drink2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":574,"y":2258,"level":0,"settings":{"name":"","mapId":1842,"propType":{"sheet":"rhombus-sq-beach","name":"Drink1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":600,"y":2290,"level":0,"settings":{"name":"","mapId":1843,"propType":{"sheet":"rhombus-sq-beach","name":"roofedChairGreenD"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":662,"y":2290,"level":0,"settings":{"name":"","mapId":1844,"propType":{"sheet":"rhombus-sq-beach","name":"roofedChairGreen"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":724,"y":2290,"level":0,"settings":{"name":"","mapId":1845,"propType":{"sheet":"rhombus-sq-beach","name":"roofedChairWhiteD"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":786,"y":2290,"level":0,"settings":{"name":"","mapId":1846,"propType":{"sheet":"rhombus-sq-beach","name":"roofedChairWhite"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":844,"y":2314,"level":0,"settings":{"name":"","mapId":1847,"propType":{"sheet":"rhombus-sq-beach","name":"toiletRed"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":890,"y":2314,"level":0,"settings":{"name":"","mapId":1848,"propType":{"sheet":"rhombus-sq-beach","name":"toiletBlue"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":936,"y":2314,"level":0,"settings":{"name":"","mapId":1849,"propType":{"sheet":"rhombus-sq-beach","name":"toiletYellow"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":986,"y":2290,"level":0,"settings":{"name":"","mapId":1850,"propType":{"sheet":"rhombus-sq-beach","name":"iceCreamBooth"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1068,"y":2354,"level":0,"settings":{"name":"","mapId":1851,"propType":{"sheet":"rhombus-sq-beach","name":"boat"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1222,"y":2366,"level":0,"settings":{"name":"","mapId":1852,"propType":{"sheet":"rhombus-sq-beach","name":"sunShade"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":1288,"y":2314,"level":0,"settings":{"name":"","mapId":1853,"propType":{"sheet":"rhombus-sq-beach","name":"torch1"},"propAnim":"working","condAnims":[]}},{"type":"Prop","x":1310,"y":2306,"level":0,"settings":{"name":"","mapId":1854,"propType":{"sheet":"rhombus-sq-beach","name":"torch2"},"propAnim":"working","condAnims":[]}},{"type":"Prop","x":1332,"y":2314,"level":0,"settings":{"name":"","mapId":1855,"propType":{"sheet":"rhombus-sq-beach","name":"torch3"},"propAnim":"working","condAnims":[]}},{"type":"Prop","x":1350,"y":2258,"level":0,"settings":{"name":"","mapId":1856,"propType":{"sheet":"rhombus-sqr","name":"rocketbase"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1424,"y":2314,"level":0,"settings":{"name":"","mapId":1857,"propType":{"sheet":"rhombus-sqr","name":"rocket"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1478,"y":2260,"level":0,"settings":{"name":"","mapId":1858,"propType":{"sheet":"rhombus-sqr","name":"bank"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1532,"y":2266,"level":0,"settings":{"name":"","mapId":1859,"propType":{"sheet":"rhombus-sqr","name":"bankEast"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1554,"y":2266,"level":0,"settings":{"name":"","mapId":1860,"propType":{"sheet":"rhombus-sqr","name":"bankWest"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1576,"y":2274,"level":0,"settings":{"name":"","mapId":1861,"propType":{"sheet":"rhombus-sqr","name":"trashcan"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1600,"y":2254,"level":0,"settings":{"name":"","mapId":1862,"propType":{"sheet":"rhombus-sqr","name":"waterRose1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1638,"y":2254,"level":0,"settings":{"name":"","mapId":1863,"propType":{"sheet":"rhombus-sqr","name":"waterRose2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1670,"y":2258,"level":0,"settings":{"name":"","mapId":1864,"propType":{"sheet":"rhombus-sqr","name":"waterRose3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1696,"y":2322,"level":0,"settings":{"name":"","mapId":1865,"propType":{"sheet":"rhombus-sqr","name":"teleport-nw"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1734,"y":2322,"level":0,"settings":{"name":"","mapId":1866,"propType":{"sheet":"rhombus-sqr","name":"teleport-ne"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1772,"y":2322,"level":0,"settings":{"name":"","mapId":1867,"propType":{"sheet":"rhombus-sqr","name":"teleport-se"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1810,"y":2322,"level":0,"settings":{"name":"","mapId":1868,"propType":{"sheet":"rhombus-sqr","name":"teleport-sw"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1848,"y":2282,"level":0,"settings":{"name":"","mapId":1869,"propType":{"sheet":"rhombus-sqr","name":"laser-wall-nw"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1886,"y":2282,"level":0,"settings":{"name":"","mapId":1870,"propType":{"sheet":"rhombus-sqr","name":"laser-wall-ne"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1924,"y":2282,"level":0,"settings":{"name":"","mapId":1871,"propType":{"sheet":"rhombus-sqr","name":"laser-wall-ne-05"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1962,"y":2282,"level":0,"settings":{"name":"","mapId":1872,"propType":{"sheet":"rhombus-sqr","name":"laser-wall-sw"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2000,"y":2282,"level":0,"settings":{"name":"","mapId":1873,"propType":{"sheet":"rhombus-sqr","name":"laser-wall-se"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2038,"y":2282,"level":0,"settings":{"name":"","mapId":1874,"propType":{"sheet":"rhombus-sqr","name":"laser-wall-nw-short"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2060,"y":2278,"level":0,"settings":{"name":"","mapId":1875,"propType":{"sheet":"rhombus-sqr","name":"laser-wall-nw-short2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2086,"y":2282,"level":0,"settings":{"name":"","mapId":1876,"propType":{"sheet":"rhombus-sqr","name":"laser-wall-ne-short"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2108,"y":2282,"level":0,"settings":{"name":"","mapId":1877,"propType":{"sheet":"rhombus-sqr","name":"laser-wall-sw-short"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2130,"y":2282,"level":0,"settings":{"name":"","mapId":1878,"propType":{"sheet":"rhombus-sqr","name":"laser-wall-se-short"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2152,"y":2278,"level":0,"settings":{"name":"","mapId":1879,"propType":{"sheet":"rhombus-sqr","name":"laser-wall-pillar"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2162,"y":2274,"level":0,"settings":{"name":"","mapId":1880,"propType":{"sheet":"rhombus-sqr","name":"fence-nw"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2184,"y":2274,"level":0,"settings":{"name":"","mapId":1881,"propType":{"sheet":"rhombus-sqr","name":"fence-nw-top"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2206,"y":2274,"level":0,"settings":{"name":"","mapId":1882,"propType":{"sheet":"rhombus-sqr","name":"fence-nw-bottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2228,"y":2274,"level":0,"settings":{"name":"","mapId":1883,"propType":{"sheet":"rhombus-sqr","name":"fence-ne"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2250,"y":2274,"level":0,"settings":{"name":"","mapId":1884,"propType":{"sheet":"rhombus-sqr","name":"fence-ne-top"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2272,"y":2274,"level":0,"settings":{"name":"","mapId":1885,"propType":{"sheet":"rhombus-sqr","name":"fence-ne-bottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2294,"y":2274,"level":0,"settings":{"name":"","mapId":1886,"propType":{"sheet":"rhombus-sqr","name":"fence-sw"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2316,"y":2274,"level":0,"settings":{"name":"","mapId":1887,"propType":{"sheet":"rhombus-sqr","name":"fence-sw-short"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2334,"y":2274,"level":0,"settings":{"name":"","mapId":1888,"propType":{"sheet":"rhombus-sqr","name":"fence-sw-top"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2356,"y":2274,"level":0,"settings":{"name":"","mapId":1889,"propType":{"sheet":"rhombus-sqr","name":"fence-sw-bottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2378,"y":2274,"level":0,"settings":{"name":"","mapId":1890,"propType":{"sheet":"rhombus-sqr","name":"fence-se"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2400,"y":2274,"level":0,"settings":{"name":"","mapId":1891,"propType":{"sheet":"rhombus-sqr","name":"fence-se-short"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2418,"y":2274,"level":0,"settings":{"name":"","mapId":1892,"propType":{"sheet":"rhombus-sqr","name":"fence-se-top"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2440,"y":2274,"level":0,"settings":{"name":"","mapId":1893,"propType":{"sheet":"rhombus-sqr","name":"fence-se-bottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2462,"y":2266,"level":0,"settings":{"name":"","mapId":1894,"propType":{"sheet":"rhombus-sqr","name":"plant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2484,"y":2266,"level":0,"settings":{"name":"","mapId":1895,"propType":{"sheet":"rhombus-sqr","name":"plant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2518,"y":2266,"level":0,"settings":{"name":"","mapId":1896,"propType":{"sheet":"rhombus-sqr","name":"plant3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2556,"y":2266,"level":0,"settings":{"name":"","mapId":1897,"propType":{"sheet":"rhombus-sqr","name":"plant3f"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2594,"y":2266,"level":0,"settings":{"name":"","mapId":1898,"propType":{"sheet":"rhombus-sqr","name":"plant4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2640,"y":2266,"level":0,"settings":{"name":"","mapId":1899,"propType":{"sheet":"rhombus-sqr","name":"plant4f"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2686,"y":2282,"level":0,"settings":{"name":"","mapId":1900,"propType":{"sheet":"rhombus-sqr","name":"plant5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2740,"y":2282,"level":0,"settings":{"name":"","mapId":1901,"propType":{"sheet":"rhombus-sqr","name":"plant5f"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2794,"y":2266,"level":0,"settings":{"name":"","mapId":1902,"propType":{"sheet":"rhombus-sqr","name":"plant6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2820,"y":2266,"level":0,"settings":{"name":"","mapId":1903,"propType":{"sheet":"rhombus-sqr","name":"grass1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2842,"y":2266,"level":0,"settings":{"name":"","mapId":1904,"propType":{"sheet":"rhombus-sqr","name":"grass2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2868,"y":2274,"level":0,"settings":{"name":"","mapId":1905,"propType":{"sheet":"rhombus-sqr","name":"grass3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2918,"y":2318,"level":0,"settings":{"name":"","mapId":1906,"propType":{"sheet":"rhombus-sqr","name":"tree1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3000,"y":2314,"level":0,"settings":{"name":"","mapId":1907,"propType":{"sheet":"rhombus-sqr","name":"tree2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3058,"y":2330,"level":0,"settings":{"name":"","mapId":1908,"propType":{"sheet":"rhombus-sqr","name":"tree3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3128,"y":2298,"level":0,"settings":{"name":"","mapId":1909,"propType":{"sheet":"rhombus-sqr","name":"tree4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3190,"y":2298,"level":0,"settings":{"name":"","mapId":1910,"propType":{"sheet":"rhombus-sqr","name":"tree5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3244,"y":2298,"level":0,"settings":{"name":"","mapId":1911,"propType":{"sheet":"rhombus-sqr","name":"tree5f"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3314,"y":2338,"level":0,"settings":{"name":"","mapId":1912,"propType":{"sheet":"rhombus-sqr","name":"tree6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3400,"y":2338,"level":0,"settings":{"name":"","mapId":1913,"propType":{"sheet":"rhombus-sqr","name":"tree6f"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3454,"y":2274,"level":0,"settings":{"name":"","mapId":1914,"propType":{"sheet":"rhombus-sqr","name":"potPlant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3492,"y":2258,"level":0,"settings":{"name":"","mapId":1915,"propType":{"sheet":"rhombus-sqr","name":"potPlant1Empty"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3530,"y":2258,"level":0,"settings":{"name":"","mapId":1916,"propType":{"sheet":"rhombus-sqr","name":"potPlant1Step"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3568,"y":2274,"level":0,"settings":{"name":"","mapId":1917,"propType":{"sheet":"rhombus-sqr","name":"potPlant1s"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":24,"y":2448,"level":0,"settings":{"name":"","mapId":1918,"propType":{"sheet":"rhombus-sqr","name":"potPlant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":62,"y":2448,"level":0,"settings":{"name":"","mapId":1919,"propType":{"sheet":"rhombus-sqr","name":"potPlant2s"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":88,"y":2448,"level":0,"settings":{"name":"","mapId":1920,"propType":{"sheet":"rhombus-sqr","name":"potPlantV1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":106,"y":2448,"level":0,"settings":{"name":"","mapId":1921,"propType":{"sheet":"rhombus-sqr","name":"potPlantS1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":128,"y":2456,"level":0,"settings":{"name":"","mapId":1922,"propType":{"sheet":"rhombus-sqr","name":"potPlantS2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":158,"y":2456,"level":0,"settings":{"name":"","mapId":1923,"propType":{"sheet":"rhombus-sqr","name":"potPlantS3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":180,"y":2464,"level":0,"settings":{"name":"","mapId":1924,"propType":{"sheet":"rhombus-sqr","name":"potPlantS4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":212,"y":2460,"level":0,"settings":{"name":"","mapId":1925,"propType":{"sheet":"rhombus-sqr","name":"blockS"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":232,"y":2448,"level":0,"settings":{"name":"","mapId":1926,"propType":{"sheet":"rhombus-sqr","name":"blockMS"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":254,"y":2464,"level":0,"settings":{"name":"","mapId":1927,"propType":{"sheet":"rhombus-sqr","name":"blockM"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":276,"y":2480,"level":0,"settings":{"name":"","mapId":1928,"propType":{"sheet":"rhombus-sqr","name":"blockML"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":298,"y":2472,"level":0,"settings":{"name":"","mapId":1929,"propType":{"sheet":"rhombus-sqr","name":"blockL"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":328,"y":2560,"level":0,"settings":{"name":"","mapId":1930,"propType":{"sheet":"rhombus-sqr","name":"pillar8H"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":350,"y":2544,"level":0,"settings":{"name":"","mapId":1931,"propType":{"sheet":"rhombus-sqr","name":"pillar8V"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":364,"y":2560,"level":0,"settings":{"name":"","mapId":1932,"propType":{"sheet":"rhombus-sqr","name":"pillar8D1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":386,"y":2560,"level":0,"settings":{"name":"","mapId":1933,"propType":{"sheet":"rhombus-sqr","name":"pillar8D2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":408,"y":2496,"level":0,"settings":{"name":"","mapId":1934,"propType":{"sheet":"rhombus-sqr","name":"pillar4H"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":430,"y":2480,"level":0,"settings":{"name":"","mapId":1935,"propType":{"sheet":"rhombus-sqr","name":"pillar4V"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":444,"y":2480,"level":0,"settings":{"name":"","mapId":1936,"propType":{"sheet":"rhombus-sqr","name":"pillar3H"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":466,"y":2464,"level":0,"settings":{"name":"","mapId":1937,"propType":{"sheet":"rhombus-sqr","name":"pillar3V"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":480,"y":2448,"level":0,"settings":{"name":"","mapId":1938,"propType":{"sheet":"rhombus-sqr","name":"barrierH"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":522,"y":2448,"level":0,"settings":{"name":"","mapId":1939,"propType":{"sheet":"rhombus-sqr","name":"barrierV"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":540,"y":2496,"level":0,"settings":{"name":"","mapId":1940,"propType":{"sheet":"rhombus-sqr","name":"pillar4D1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":562,"y":2480,"level":0,"settings":{"name":"","mapId":1941,"propType":{"sheet":"rhombus-sqr","name":"pillar3D2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":584,"y":2480,"level":0,"settings":{"name":"","mapId":1942,"propType":{"sheet":"rhombus-sqr","name":"pillar3D1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":606,"y":2496,"level":0,"settings":{"name":"","mapId":1943,"propType":{"sheet":"rhombus-sqr","name":"pillar4D2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":628,"y":2432,"level":0,"settings":{"name":"","mapId":1944,"propType":{"sheet":"rhombus-sqr","name":"borderPlant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":682,"y":2432,"level":0,"settings":{"name":"","mapId":1945,"propType":{"sheet":"rhombus-sqr","name":"borderPlant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":704,"y":2432,"level":0,"settings":{"name":"","mapId":1946,"propType":{"sheet":"rhombus-sqr","name":"borderPlant3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":734,"y":2432,"level":0,"settings":{"name":"","mapId":1947,"propType":{"sheet":"rhombus-sqr","name":"borderPlant4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":764,"y":2432,"level":0,"settings":{"name":"","mapId":1948,"propType":{"sheet":"rhombus-sqr","name":"borderPlantDiag1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":802,"y":2432,"level":0,"settings":{"name":"","mapId":1949,"propType":{"sheet":"rhombus-sqr","name":"borderPlantDiag1F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":840,"y":2432,"level":0,"settings":{"name":"","mapId":1950,"propType":{"sheet":"rhombus-sqr","name":"borderPlantDiag2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":878,"y":2432,"level":0,"settings":{"name":"","mapId":1951,"propType":{"sheet":"rhombus-sqr","name":"borderPlantDiag2F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":916,"y":2432,"level":0,"settings":{"name":"","mapId":1952,"propType":{"sheet":"rhombus-sqr","name":"borderPlantDiag3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":938,"y":2432,"level":0,"settings":{"name":"","mapId":1953,"propType":{"sheet":"rhombus-sqr","name":"borderPlantDiag3F"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":966,"y":2444,"level":0,"settings":{"name":"","mapId":1954,"propType":{"sheet":"rhombus-sqr","name":"chair-down"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":996,"y":2444,"level":0,"settings":{"name":"","mapId":1955,"propType":{"sheet":"rhombus-sqr","name":"chair-up"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1026,"y":2444,"level":0,"settings":{"name":"","mapId":1956,"propType":{"sheet":"rhombus-sqr","name":"chair-right"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1056,"y":2444,"level":0,"settings":{"name":"","mapId":1957,"propType":{"sheet":"rhombus-sqr","name":"chair-left"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1116,"y":2488,"level":0,"settings":{"name":"","mapId":1958,"propType":{"sheet":"rhombus-sqr","name":"laserParasol"},"propAnim":"short","condAnims":[]}},{"type":"Prop","x":1202,"y":2480,"level":0,"settings":{"name":"","mapId":1959,"propType":{"sheet":"rhombus-sqr","name":"laserParasol"},"propAnim":"long","condAnims":[]}},{"type":"Prop","x":1256,"y":2480,"level":0,"settings":{"name":"","mapId":1960,"propType":{"sheet":"rhombus-sqr","name":"flag"},"propAnim":"city","condAnims":[]}},{"type":"Prop","x":1300,"y":2472,"level":0,"settings":{"name":"","mapId":1969,"propType":{"sheet":"rookie-harbor","name":"fountain"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1338,"y":2448,"level":0,"settings":{"name":"","mapId":1970,"propType":{"sheet":"rookie-harbor","name":"bush1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1376,"y":2448,"level":0,"settings":{"name":"","mapId":1971,"propType":{"sheet":"rookie-harbor","name":"bush2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1414,"y":2448,"level":0,"settings":{"name":"","mapId":1972,"propType":{"sheet":"rookie-harbor","name":"bush3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1468,"y":2448,"level":0,"settings":{"name":"","mapId":1973,"propType":{"sheet":"rookie-harbor","name":"bush4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1522,"y":2448,"level":0,"settings":{"name":"","mapId":1974,"propType":{"sheet":"rookie-harbor","name":"bank-down"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1576,"y":2448,"level":0,"settings":{"name":"","mapId":1975,"propType":{"sheet":"rookie-harbor","name":"bank-up"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1630,"y":2448,"level":0,"settings":{"name":"","mapId":1976,"propType":{"sheet":"rookie-harbor","name":"bank-left"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1652,"y":2448,"level":0,"settings":{"name":"","mapId":1977,"propType":{"sheet":"rookie-harbor","name":"bank-right"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1674,"y":2448,"level":0,"settings":{"name":"","mapId":1978,"propType":{"sheet":"rookie-harbor","name":"wooden-box-01"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1696,"y":2448,"level":0,"settings":{"name":"","mapId":1979,"propType":{"sheet":"rookie-harbor","name":"wooden-box-02"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1734,"y":2448,"level":0,"settings":{"name":"","mapId":1980,"propType":{"sheet":"rookie-harbor","name":"wooden-box-03"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1756,"y":2448,"level":0,"settings":{"name":"","mapId":1981,"propType":{"sheet":"rookie-harbor","name":"wooden-box-04"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1794,"y":2444,"level":0,"settings":{"name":"","mapId":1982,"propType":{"sheet":"rookie-harbor","name":"wooden-box-05"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1816,"y":2444,"level":0,"settings":{"name":"","mapId":1983,"propType":{"sheet":"rookie-harbor","name":"wooden-box-06"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1838,"y":2464,"level":0,"settings":{"name":"","mapId":1984,"propType":{"sheet":"rookie-harbor","name":"wooden-box-07"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1876,"y":2464,"level":0,"settings":{"name":"","mapId":1985,"propType":{"sheet":"rookie-harbor","name":"wooden-box-08"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1930,"y":2448,"level":0,"settings":{"name":"","mapId":1986,"propType":{"sheet":"rookie-harbor","name":"wooden-box-09"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1952,"y":2448,"level":0,"settings":{"name":"","mapId":1987,"propType":{"sheet":"rookie-harbor","name":"wooden-box-10"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1974,"y":2464,"level":0,"settings":{"name":"","mapId":1988,"propType":{"sheet":"rookie-harbor","name":"metal-box-1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2018,"y":2519,"level":0,"settings":{"name":"","mapId":1989,"propType":{"sheet":"rookie-harbor","name":"streetlamp"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2046,"y":2460,"level":0,"settings":{"name":"","mapId":1990,"propType":{"sheet":"rookie-harbor","name":"holosign-holder-left"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2068,"y":2460,"level":0,"settings":{"name":"","mapId":1991,"propType":{"sheet":"rookie-harbor","name":"holosign-holder-right"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2090,"y":2448,"level":0,"settings":{"name":"","mapId":1992,"propType":{"sheet":"rookie-harbor","name":"laser-railing-sw-middle"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2114,"y":2448,"level":0,"settings":{"name":"","mapId":1993,"propType":{"sheet":"rookie-harbor","name":"laser-railing-sw-end"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2138,"y":2448,"level":0,"settings":{"name":"","mapId":1994,"propType":{"sheet":"rookie-harbor","name":"laser-railing-se-middle"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2162,"y":2448,"level":0,"settings":{"name":"","mapId":1995,"propType":{"sheet":"rookie-harbor","name":"laser-railing-se-end"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2186,"y":2448,"level":0,"settings":{"name":"","mapId":1996,"propType":{"sheet":"rookie-harbor","name":"laser-railing-ne-middle"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2210,"y":2448,"level":0,"settings":{"name":"","mapId":1997,"propType":{"sheet":"rookie-harbor","name":"laser-railing-ne-end"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2234,"y":2448,"level":0,"settings":{"name":"","mapId":1998,"propType":{"sheet":"rookie-harbor","name":"laser-railing-nw-middle"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2258,"y":2448,"level":0,"settings":{"name":"","mapId":1999,"propType":{"sheet":"rookie-harbor","name":"laser-railing-nw-end"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2286,"y":2464,"level":0,"settings":{"name":"","mapId":2000,"propType":{"sheet":"rookie-harbor","name":"ice-cream-stand"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2328,"y":2504,"level":0,"settings":{"name":"","mapId":2001,"propType":{"sheet":"rookie-harbor","name":"teleport-nw"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2366,"y":2504,"level":0,"settings":{"name":"","mapId":2002,"propType":{"sheet":"rookie-harbor","name":"teleport-ne"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2404,"y":2504,"level":0,"settings":{"name":"","mapId":2003,"propType":{"sheet":"rookie-harbor","name":"teleport-sw"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2442,"y":2504,"level":0,"settings":{"name":"","mapId":2004,"propType":{"sheet":"rookie-harbor","name":"teleport-se"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2484,"y":2432,"level":0,"settings":{"name":"","mapId":2005,"propType":{"sheet":"sao","name":"challenge-note"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2510,"y":2520,"level":0,"settings":{"name":"","mapId":2006,"propType":{"sheet":"shady-hologram","name":"shadyHologram"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":2646,"y":2454,"level":0,"settings":{"name":"","mapId":2007,"propType":{"sheet":"ship-bridge","name":"ship-bridge-wheel"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2674,"y":2464,"level":0,"settings":{"name":"","mapId":2008,"propType":{"sheet":"ship-bridge","name":"ship-bridge-desk-south"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2720,"y":2464,"level":0,"settings":{"name":"","mapId":2009,"propType":{"sheet":"ship-bridge","name":"ship-bridge-desk-north"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2766,"y":2464,"level":0,"settings":{"name":"","mapId":2010,"propType":{"sheet":"ship-bridge","name":"ship-bridge-desk-north-display"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2820,"y":2472,"level":0,"settings":{"name":"","mapId":2011,"propType":{"sheet":"ship-bridge","name":"ship-bridge-desk-south-display"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2874,"y":2448,"level":0,"settings":{"name":"","mapId":2012,"propType":{"sheet":"ship-bridge","name":"ship-bridge-desk-front"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2895,"y":2432,"level":0,"settings":{"name":"","mapId":2013,"propType":{"sheet":"ship-bridge","name":"ship-bridge-phone-front"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2923,"y":2432,"level":0,"settings":{"name":"","mapId":2014,"propType":{"sheet":"ship-bridge","name":"ship-bridge-phone-back"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2944,"y":2438,"level":0,"settings":{"name":"","mapId":2015,"propType":{"sheet":"ship-outer","name":"toolbox"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2966,"y":2462,"level":0,"settings":{"name":"","mapId":2016,"propType":{"sheet":"ship-outer","name":"broom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2988,"y":2438,"level":0,"settings":{"name":"","mapId":2017,"propType":{"sheet":"ship-outer","name":"bucket"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3005,"y":2480,"level":0,"settings":{"name":"","mapId":2018,"propType":{"sheet":"ship-outer","name":"solarpanel"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3091,"y":2456,"level":0,"settings":{"name":"","mapId":2019,"propType":{"sheet":"ship-outer","name":"ship-railing-door"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3137,"y":2496,"level":0,"settings":{"name":"","mapId":2020,"propType":{"sheet":"ship-outer","name":"ship-antenna1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3167,"y":2480,"level":0,"settings":{"name":"","mapId":2021,"propType":{"sheet":"ship-outer","name":"ship-antenna2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3213,"y":2528,"level":0,"settings":{"name":"","mapId":2022,"propType":{"sheet":"ship-outer","name":"ship-antenna-huge"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3267,"y":2592,"level":0,"settings":{"name":"","mapId":2023,"propType":{"sheet":"ship-outer","name":"ship-christmas-tree"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3297,"y":2464,"level":0,"settings":{"name":"","mapId":2024,"propType":{"sheet":"ship-outer","name":"ship-rope-roll"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3335,"y":2448,"level":0,"settings":{"name":"","mapId":2025,"propType":{"sheet":"ship-outer","name":"ship-dock-thing1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3357,"y":2448,"level":0,"settings":{"name":"","mapId":2026,"propType":{"sheet":"ship-outer","name":"ship-dock-thing2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3395,"y":2440,"level":0,"settings":{"name":"","mapId":2027,"propType":{"sheet":"ship-outer","name":"ship-dock-thing3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3433,"y":2440,"level":0,"settings":{"name":"","mapId":2028,"propType":{"sheet":"ship-outer","name":"ship-dock-thing4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3471,"y":2440,"level":0,"settings":{"name":"","mapId":2029,"propType":{"sheet":"ship-outer","name":"bomb"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":3501,"y":2440,"level":0,"settings":{"name":"","mapId":2030,"propType":{"sheet":"ship-outer","name":"bomb"},"propAnim":"on","condAnims":[]}},{"type":"Prop","x":3531,"y":2464,"level":0,"settings":{"name":"","mapId":2031,"propType":{"sheet":"ship-outer","name":"blocker"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":3565,"y":2448,"level":0,"settings":{"name":"","mapId":2032,"propType":{"sheet":"shockwave-dng","name":"propeller"},"propAnim":"off","condAnims":[]}},{"type":"Prop","x":28,"y":2630,"level":0,"settings":{"name":"","mapId":2033,"propType":{"sheet":"shockwave-dng","name":"propeller"},"propAnim":"on","condAnims":[]}},{"type":"Prop","x":58,"y":2630,"level":0,"settings":{"name":"","mapId":2034,"propType":{"sheet":"shockwave-dng","name":"propeller"},"propAnim":"onSlow","condAnims":[]}},{"type":"Prop","x":88,"y":2630,"level":0,"settings":{"name":"","mapId":2035,"propType":{"sheet":"shockwave-dng","name":"propeller"},"propAnim":"end","condAnims":[]}},{"type":"Prop","x":114,"y":2614,"level":0,"settings":{"name":"","mapId":2036,"propType":{"sheet":"shockwave-dng","name":"wallBroken"},"propAnim":"broken","condAnims":[]}},{"type":"Prop","x":184,"y":2614,"level":0,"settings":{"name":"","mapId":2037,"propType":{"sheet":"shockwave-dng","name":"wallBroken"},"propAnim":"fixed","condAnims":[]}},{"type":"Prop","x":254,"y":2614,"level":0,"settings":{"name":"","mapId":2038,"propType":{"sheet":"shockwave-dng","name":"stoneKey"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":276,"y":2638,"level":0,"settings":{"name":"","mapId":2039,"propType":{"sheet":"shockwave-dng","name":"slopeNWbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":298,"y":2638,"level":0,"settings":{"name":"","mapId":2040,"propType":{"sheet":"shockwave-dng","name":"slopeNWmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":320,"y":2638,"level":0,"settings":{"name":"","mapId":2041,"propType":{"sheet":"shockwave-dng","name":"slopeNWtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":342,"y":2638,"level":0,"settings":{"name":"","mapId":2042,"propType":{"sheet":"shockwave-dng","name":"slopeNEbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":364,"y":2638,"level":0,"settings":{"name":"","mapId":2043,"propType":{"sheet":"shockwave-dng","name":"slopeNEmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":386,"y":2638,"level":0,"settings":{"name":"","mapId":2044,"propType":{"sheet":"shockwave-dng","name":"slopeNEtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":408,"y":2638,"level":0,"settings":{"name":"","mapId":2045,"propType":{"sheet":"shockwave-dng","name":"slopeSWbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":430,"y":2638,"level":0,"settings":{"name":"","mapId":2046,"propType":{"sheet":"shockwave-dng","name":"slopeSWmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":452,"y":2638,"level":0,"settings":{"name":"","mapId":2047,"propType":{"sheet":"shockwave-dng","name":"slopeSWtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":474,"y":2638,"level":0,"settings":{"name":"","mapId":2048,"propType":{"sheet":"shockwave-dng","name":"slopeSEbottom"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":496,"y":2638,"level":0,"settings":{"name":"","mapId":2049,"propType":{"sheet":"shockwave-dng","name":"slopeSEmid"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":518,"y":2638,"level":0,"settings":{"name":"","mapId":2050,"propType":{"sheet":"shockwave-dng","name":"slopeSEtop"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":540,"y":2638,"level":0,"settings":{"name":"","mapId":2051,"propType":{"sheet":"shockwave-dng","name":"fenceWaterWay"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":562,"y":2642,"level":0,"settings":{"name":"","mapId":2052,"propType":{"sheet":"shockwave-dng","name":"waterfallTopEnd"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":584,"y":2618,"level":0,"settings":{"name":"","mapId":2053,"propType":{"sheet":"shockwave-dng","name":"waterfallTop"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":606,"y":2617,"level":0,"settings":{"name":"","mapId":2054,"propType":{"sheet":"shockwave-dng","name":"waterfallBottom"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":628,"y":2642,"level":0,"settings":{"name":"","mapId":2055,"propType":{"sheet":"shockwave-dng","name":"waterfallBottomEnd"},"propAnim":"default","condAnims":[]}},{"type":"Prop","x":662,"y":2630,"level":0,"settings":{"name":"","mapId":2056,"propType":{"sheet":"shockwave-dng","name":"robotChicken"},"propAnim":"east","condAnims":[]}},{"type":"Prop","x":708,"y":2630,"level":0,"settings":{"name":"","mapId":2057,"propType":{"sheet":"shockwave-dng","name":"robotChicken"},"propAnim":"west","condAnims":[]}},{"type":"Prop","x":754,"y":2630,"level":0,"settings":{"name":"","mapId":2058,"propType":{"sheet":"shockwave-dng","name":"robotChicken"},"propAnim":"eastRumble","condAnims":[]}},{"type":"Prop","x":800,"y":2630,"level":0,"settings":{"name":"","mapId":2059,"propType":{"sheet":"shockwave-dng","name":"robotChicken"},"propAnim":"westRumble","condAnims":[]}},{"type":"Prop","x":838,"y":2630,"level":0,"settings":{"name":"","mapId":2060,"propType":{"sheet":"shockwave-dng","name":"waterPlant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":860,"y":2630,"level":0,"settings":{"name":"","mapId":2061,"propType":{"sheet":"shockwave-dng","name":"waterPlant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":886,"y":2638,"level":0,"settings":{"name":"","mapId":2062,"propType":{"sheet":"shockwave-dng","name":"waterPlant3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":916,"y":2646,"level":0,"settings":{"name":"","mapId":2063,"propType":{"sheet":"shockwave-dng","name":"waterPlant4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":940,"y":2618,"level":0,"settings":{"name":"","mapId":2064,"propType":{"sheet":"shockwave-dng","name":"waterRose1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":978,"y":2618,"level":0,"settings":{"name":"","mapId":2065,"propType":{"sheet":"shockwave-dng","name":"waterRose2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1010,"y":2622,"level":0,"settings":{"name":"","mapId":2066,"propType":{"sheet":"shockwave-dng","name":"waterRose3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1036,"y":2630,"level":0,"settings":{"name":"","mapId":2067,"propType":{"sheet":"shockwave-dng","name":"wallPlantW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1074,"y":2630,"level":0,"settings":{"name":"","mapId":2068,"propType":{"sheet":"shockwave-dng","name":"wallPlantE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1112,"y":2630,"level":0,"settings":{"name":"","mapId":2069,"propType":{"sheet":"shockwave-dng","name":"wallPlantN"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1182,"y":2630,"level":0,"settings":{"name":"","mapId":2070,"propType":{"sheet":"shockwave-dng","name":"wallPlantNW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1244,"y":2630,"level":0,"settings":{"name":"","mapId":2071,"propType":{"sheet":"shockwave-dng","name":"wallPlantNE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1306,"y":2614,"level":0,"settings":{"name":"","mapId":2072,"propType":{"sheet":"spider-webs","name":"web01"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1344,"y":2614,"level":0,"settings":{"name":"","mapId":2073,"propType":{"sheet":"spider-webs","name":"web02"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1382,"y":2614,"level":0,"settings":{"name":"","mapId":2074,"propType":{"sheet":"spider-webs","name":"web03"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1420,"y":2614,"level":0,"settings":{"name":"","mapId":2075,"propType":{"sheet":"spider-webs","name":"web04"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1458,"y":2614,"level":0,"settings":{"name":"","mapId":2076,"propType":{"sheet":"spider-webs","name":"web05"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1488,"y":2614,"level":0,"settings":{"name":"","mapId":2077,"propType":{"sheet":"spider-webs","name":"web06"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1518,"y":2614,"level":0,"settings":{"name":"","mapId":2078,"propType":{"sheet":"spider-webs","name":"web07"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1548,"y":2614,"level":0,"settings":{"name":"","mapId":2079,"propType":{"sheet":"spider-webs","name":"web08"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1578,"y":2614,"level":0,"settings":{"name":"","mapId":2080,"propType":{"sheet":"spider-webs","name":"web09"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1616,"y":2614,"level":0,"settings":{"name":"","mapId":2081,"propType":{"sheet":"spider-webs","name":"web10"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1654,"y":2614,"level":0,"settings":{"name":"","mapId":2082,"propType":{"sheet":"spider-webs","name":"web11"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1692,"y":2614,"level":0,"settings":{"name":"","mapId":2083,"propType":{"sheet":"spider-webs","name":"web12"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1730,"y":2614,"level":0,"settings":{"name":"","mapId":2084,"propType":{"sheet":"spider-webs","name":"web13"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1768,"y":2614,"level":0,"settings":{"name":"","mapId":2085,"propType":{"sheet":"spider-webs","name":"web14"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1806,"y":2614,"level":0,"settings":{"name":"","mapId":2086,"propType":{"sheet":"spider-webs","name":"web15"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1846,"y":2653,"level":0,"settings":{"name":"","mapId":2087,"propType":{"sheet":"spooky","name":"inner-lamp1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1874,"y":2662,"level":0,"settings":{"name":"","mapId":2088,"propType":{"sheet":"spooky","name":"pumpkin-lamp"},"propAnim":"on","condAnims":[]}},{"type":"Prop","x":1904,"y":2662,"level":0,"settings":{"name":"","mapId":2089,"propType":{"sheet":"spooky","name":"pumpkin-lamp"},"propAnim":"off","condAnims":[]}},{"type":"Prop","x":1934,"y":2622,"level":0,"settings":{"name":"","mapId":2090,"propType":{"sheet":"spooky","name":"pumpkin"},"propAnim":"on","condAnims":[]}},{"type":"Prop","x":1964,"y":2622,"level":0,"settings":{"name":"","mapId":2091,"propType":{"sheet":"spooky","name":"pumpkin"},"propAnim":"off","condAnims":[]}},{"type":"Prop","x":1990,"y":2654,"level":0,"settings":{"name":"","mapId":2092,"propType":{"sheet":"spooky","name":"bar1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2012,"y":2654,"level":0,"settings":{"name":"","mapId":2093,"propType":{"sheet":"spooky","name":"bar2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2034,"y":2654,"level":0,"settings":{"name":"","mapId":2094,"propType":{"sheet":"spooky","name":"bar3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2056,"y":2645,"level":0,"settings":{"name":"","mapId":2095,"propType":{"sheet":"trading-autumn","name":"booth"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2102,"y":2630,"level":0,"settings":{"name":"","mapId":2096,"propType":{"sheet":"trading-autumn","name":"boothLeft"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2129,"y":2630,"level":0,"settings":{"name":"","mapId":2097,"propType":{"sheet":"trading-autumn","name":"boothDown"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2171,"y":2630,"level":0,"settings":{"name":"","mapId":2098,"propType":{"sheet":"trading-autumn","name":"boothRight"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2194,"y":2670,"level":0,"settings":{"name":"","mapId":2099,"propType":{"sheet":"trading-autumn","name":"boothWithRoof"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2240,"y":2638,"level":0,"settings":{"name":"","mapId":2100,"propType":{"sheet":"trading-autumn","name":"boothNoChair"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2286,"y":2670,"level":0,"settings":{"name":"","mapId":2101,"propType":{"sheet":"trading-autumn","name":"boothWithRoofNoChair"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2332,"y":2638,"level":0,"settings":{"name":"","mapId":2102,"propType":{"sheet":"trading-autumn","name":"signLarge"},"propAnim":"doge","condAnims":[]}},{"type":"Prop","x":2370,"y":2638,"level":0,"settings":{"name":"","mapId":2103,"propType":{"sheet":"trading-autumn","name":"signLarge"},"propAnim":"dogeFlip","condAnims":[]}},{"type":"Prop","x":2408,"y":2638,"level":0,"settings":{"name":"","mapId":2104,"propType":{"sheet":"trading-autumn","name":"signLarge"},"propAnim":"helmetShoes","condAnims":[]}},{"type":"Prop","x":2446,"y":2638,"level":0,"settings":{"name":"","mapId":2105,"propType":{"sheet":"trading-autumn","name":"signLarge"},"propAnim":"torso","condAnims":[]}},{"type":"Prop","x":2484,"y":2638,"level":0,"settings":{"name":"","mapId":2106,"propType":{"sheet":"trading-autumn","name":"signLarge"},"propAnim":"chokorettokeeki","condAnims":[]}},{"type":"Prop","x":2522,"y":2638,"level":0,"settings":{"name":"","mapId":2107,"propType":{"sheet":"trading-autumn","name":"signTall"},"propAnim":"iceCream","condAnims":[]}},{"type":"Prop","x":2544,"y":2638,"level":0,"settings":{"name":"","mapId":2108,"propType":{"sheet":"trading-autumn","name":"signTall"},"propAnim":"potion","condAnims":[]}},{"type":"Prop","x":2566,"y":2638,"level":0,"settings":{"name":"","mapId":2109,"propType":{"sheet":"trading-autumn","name":"signTall"},"propAnim":"sandwich","condAnims":[]}},{"type":"Prop","x":2588,"y":2638,"level":0,"settings":{"name":"","mapId":2110,"propType":{"sheet":"trading-autumn","name":"signTall"},"propAnim":"sword","condAnims":[]}},{"type":"Prop","x":2610,"y":2638,"level":0,"settings":{"name":"","mapId":2111,"propType":{"sheet":"trading-autumn","name":"signTall"},"propAnim":"stats","condAnims":[]}},{"type":"Prop","x":2632,"y":2638,"level":0,"settings":{"name":"","mapId":2112,"propType":{"sheet":"trading-autumn","name":"signTall"},"propAnim":"news","condAnims":[]}},{"type":"Prop","x":2654,"y":2646,"level":0,"settings":{"name":"","mapId":2113,"propType":{"sheet":"trading-autumn","name":"signHuge"},"propAnim":"derp","condAnims":[]}},{"type":"Prop","x":2684,"y":2646,"level":0,"settings":{"name":"","mapId":2114,"propType":{"sheet":"trading-autumn","name":"signHuge"},"propAnim":"attention","condAnims":[]}},{"type":"Prop","x":2714,"y":2646,"level":0,"settings":{"name":"","mapId":2115,"propType":{"sheet":"trading-autumn","name":"signHuge"},"propAnim":"map","condAnims":[]}},{"type":"Prop","x":2744,"y":2646,"level":0,"settings":{"name":"","mapId":2116,"propType":{"sheet":"trading-autumn","name":"signHuge"},"propAnim":"news","condAnims":[]}},{"type":"Prop","x":2774,"y":2646,"level":0,"settings":{"name":"","mapId":2117,"propType":{"sheet":"trading-autumn","name":"signHuge"},"propAnim":"enemy","condAnims":[]}},{"type":"Prop","x":2804,"y":2646,"level":0,"settings":{"name":"","mapId":2118,"propType":{"sheet":"trading-autumn","name":"signHuge"},"propAnim":"henry","condAnims":[]}},{"type":"Prop","x":2834,"y":2630,"level":0,"settings":{"name":"","mapId":2119,"propType":{"sheet":"trading-autumn","name":"signClass"},"propAnim":"triblader","condAnims":[]}},{"type":"Prop","x":2864,"y":2630,"level":0,"settings":{"name":"","mapId":2120,"propType":{"sheet":"trading-autumn","name":"signClass"},"propAnim":"quadroguard","condAnims":[]}},{"type":"Prop","x":2894,"y":2630,"level":0,"settings":{"name":"","mapId":2121,"propType":{"sheet":"trading-autumn","name":"signClass"},"propAnim":"pentafist","condAnims":[]}},{"type":"Prop","x":2924,"y":2630,"level":0,"settings":{"name":"","mapId":2122,"propType":{"sheet":"trading-autumn","name":"signClass"},"propAnim":"hexacast","condAnims":[]}},{"type":"Prop","x":2954,"y":2630,"level":0,"settings":{"name":"","mapId":2123,"propType":{"sheet":"trading-autumn","name":"signClass"},"propAnim":"spheromancer","condAnims":[]}},{"type":"Prop","x":2984,"y":2654,"level":0,"settings":{"name":"","mapId":2124,"propType":{"sheet":"trading-autumn","name":"worldmap"},"propAnim":"rhombus-square","condAnims":[]}},{"type":"Prop","x":3055,"y":2654,"level":0,"settings":{"name":"","mapId":2125,"propType":{"sheet":"trading-autumn","name":"worldmap"},"propAnim":"rookie-harbor","condAnims":[]}},{"type":"Prop","x":3126,"y":2654,"level":0,"settings":{"name":"","mapId":2126,"propType":{"sheet":"trading-autumn","name":"worldmap"},"propAnim":"bergen","condAnims":[]}},{"type":"Prop","x":3197,"y":2654,"level":0,"settings":{"name":"","mapId":2127,"propType":{"sheet":"trading-autumn","name":"worldmap"},"propAnim":"baki","condAnims":[]}},{"type":"Prop","x":3268,"y":2654,"level":0,"settings":{"name":"","mapId":2128,"propType":{"sheet":"trading-autumn","name":"worldmap"},"propAnim":"basin","condAnims":[]}},{"type":"Prop","x":3339,"y":2654,"level":0,"settings":{"name":"","mapId":2129,"propType":{"sheet":"trading-autumn","name":"worldmap"},"propAnim":"ridge","condAnims":[]}},{"type":"Prop","x":3410,"y":2654,"level":0,"settings":{"name":"","mapId":2130,"propType":{"sheet":"trading-autumn","name":"worldmap"},"propAnim":"all","condAnims":[]}},{"type":"Prop","x":3481,"y":2614,"level":0,"settings":{"name":"","mapId":2131,"propType":{"sheet":"trading-autumn","name":"itemHologram"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3503,"y":2614,"level":0,"settings":{"name":"","mapId":2132,"propType":{"sheet":"trading-autumn","name":"itemPasses"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":3525,"y":2638,"level":0,"settings":{"name":"","mapId":2133,"propType":{"sheet":"trading-autumn","name":"signDiag"},"propAnim":"person","condAnims":[]}},{"type":"Prop","x":3563,"y":2694,"level":0,"settings":{"name":"","mapId":2134,"propType":{"sheet":"unknown-interior","name":"teleport-nw"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":24,"y":2812,"level":0,"settings":{"name":"","mapId":2135,"propType":{"sheet":"unknown-interior","name":"teleport-ne"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":62,"y":2812,"level":0,"settings":{"name":"","mapId":2136,"propType":{"sheet":"unknown-interior","name":"teleport-se"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":100,"y":2812,"level":0,"settings":{"name":"","mapId":2137,"propType":{"sheet":"unknown-interior","name":"teleport-sw"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":138,"y":2780,"level":0,"settings":{"name":"","mapId":2138,"propType":{"sheet":"unknown-interior","name":"block-ne"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":160,"y":2780,"level":0,"settings":{"name":"","mapId":2139,"propType":{"sheet":"unknown-interior","name":"block-nw"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":182,"y":2796,"level":0,"settings":{"name":"","mapId":2140,"propType":{"sheet":"unknown-interior","name":"block-se"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":204,"y":2796,"level":0,"settings":{"name":"","mapId":2141,"propType":{"sheet":"unknown-interior","name":"block-sw"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":246,"y":2788,"level":0,"settings":{"name":"","mapId":2142,"propType":{"sheet":"unknown-interior","name":"plant1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":296,"y":2796,"level":0,"settings":{"name":"","mapId":2143,"propType":{"sheet":"unknown-interior","name":"plant2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":330,"y":2764,"level":0,"settings":{"name":"","mapId":2144,"propType":{"sheet":"unknown-interior","name":"plant3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":356,"y":2748,"level":0,"settings":{"name":"","mapId":2145,"propType":{"sheet":"unknown-interior","name":"plant4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":378,"y":2748,"level":0,"settings":{"name":"","mapId":2146,"propType":{"sheet":"unknown-interior","name":"plant5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":400,"y":2748,"level":0,"settings":{"name":"","mapId":2147,"propType":{"sheet":"unknown-interior","name":"plant6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":422,"y":2744,"level":0,"settings":{"name":"","mapId":2148,"propType":{"sheet":"unknown-interior","name":"terminalN"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":460,"y":2740,"level":0,"settings":{"name":"","mapId":2149,"propType":{"sheet":"unknown-interior","name":"terminalE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":478,"y":2740,"level":0,"settings":{"name":"","mapId":2150,"propType":{"sheet":"unknown-interior","name":"terminalW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":496,"y":2772,"level":0,"settings":{"name":"","mapId":2151,"propType":{"sheet":"unknown-interior","name":"shelfE"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":514,"y":2772,"level":0,"settings":{"name":"","mapId":2152,"propType":{"sheet":"unknown-interior","name":"shelfW"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":534,"y":2752,"level":0,"settings":{"name":"","mapId":2153,"propType":{"sheet":"unknown-interior","name":"chair-down"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":556,"y":2752,"level":0,"settings":{"name":"","mapId":2154,"propType":{"sheet":"unknown-interior","name":"chair-right"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":578,"y":2752,"level":0,"settings":{"name":"","mapId":2155,"propType":{"sheet":"unknown-interior","name":"chair-left"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":600,"y":2752,"level":0,"settings":{"name":"","mapId":2156,"propType":{"sheet":"unknown-interior","name":"chair-up"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":620,"y":2740,"level":0,"settings":{"name":"","mapId":2157,"propType":{"sheet":"unknown-interior","name":"bedEast"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":674,"y":2740,"level":0,"settings":{"name":"","mapId":2158,"propType":{"sheet":"unknown-interior","name":"bedWest"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":728,"y":2748,"level":0,"settings":{"name":"","mapId":2159,"propType":{"sheet":"unknown-interior","name":"bedEastEnd"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":742,"y":2748,"level":0,"settings":{"name":"","mapId":2160,"propType":{"sheet":"unknown-interior","name":"bedWestEnd"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":756,"y":2740,"level":0,"settings":{"name":"","mapId":2161,"propType":{"sheet":"unknown-interior","name":"bedPlanketEast"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":794,"y":2740,"level":0,"settings":{"name":"","mapId":2162,"propType":{"sheet":"unknown-interior","name":"bedPlanketWest"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":832,"y":2740,"level":0,"settings":{"name":"","mapId":2163,"propType":{"sheet":"unknown-interior","name":"bedPillowsEast"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":854,"y":2740,"level":0,"settings":{"name":"","mapId":2164,"propType":{"sheet":"unknown-interior","name":"bedPillowsWest"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":876,"y":2740,"level":0,"settings":{"name":"","mapId":2165,"propType":{"sheet":"unknown-interior","name":"table1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":898,"y":2740,"level":0,"settings":{"name":"","mapId":2166,"propType":{"sheet":"unknown-interior","name":"table2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":920,"y":2732,"level":0,"settings":{"name":"","mapId":2167,"propType":{"sheet":"upgrade-glow","name":"glow-6x6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1022,"y":2732,"level":0,"settings":{"name":"","mapId":2168,"propType":{"sheet":"upgrade-glow","name":"glow-4x4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1092,"y":2732,"level":0,"settings":{"name":"","mapId":2169,"propType":{"sheet":"upgrade-glow","name":"glow-4x2-1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1130,"y":2732,"level":0,"settings":{"name":"","mapId":2170,"propType":{"sheet":"upgrade-glow","name":"glow-4x2-2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1168,"y":2732,"level":0,"settings":{"name":"","mapId":2171,"propType":{"sheet":"upgrade-glow","name":"glow-4x2-1f"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1206,"y":2732,"level":0,"settings":{"name":"","mapId":2172,"propType":{"sheet":"upgrade-glow","name":"glow-4x2-2f"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1244,"y":2732,"level":0,"settings":{"name":"","mapId":2173,"propType":{"sheet":"upgrade-glow","name":"glow-2x2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1282,"y":2740,"level":0,"settings":{"name":"","mapId":2174,"propType":{"sheet":"upgrade-symbols","name":"symbol"},"propAnim":"quickmenu","condAnims":[]}},{"type":"Prop","x":1320,"y":2740,"level":0,"settings":{"name":"","mapId":2175,"propType":{"sheet":"upgrade-symbols","name":"symbol"},"propAnim":"equip","condAnims":[]}},{"type":"Prop","x":1358,"y":2740,"level":0,"settings":{"name":"","mapId":2176,"propType":{"sheet":"upgrade-symbols","name":"symbol"},"propAnim":"circuit","condAnims":[]}},{"type":"Prop","x":1396,"y":2740,"level":0,"settings":{"name":"","mapId":2177,"propType":{"sheet":"upgrade-symbols","name":"symbol"},"propAnim":"heat","condAnims":[]}},{"type":"Prop","x":1434,"y":2740,"level":0,"settings":{"name":"","mapId":2178,"propType":{"sheet":"upgrade-symbols","name":"symbol"},"propAnim":"cold","condAnims":[]}},{"type":"Prop","x":1472,"y":2740,"level":0,"settings":{"name":"","mapId":2179,"propType":{"sheet":"upgrade-symbols","name":"symbol"},"propAnim":"shock","condAnims":[]}},{"type":"Prop","x":1510,"y":2740,"level":0,"settings":{"name":"","mapId":2180,"propType":{"sheet":"upgrade-symbols","name":"symbol"},"propAnim":"wave","condAnims":[]}},{"type":"Prop","x":1548,"y":2740,"level":0,"settings":{"name":"","mapId":2181,"propType":{"sheet":"upgrade-symbols","name":"symbol"},"propAnim":"planets","condAnims":[]}},{"type":"Prop","x":1586,"y":2732,"level":0,"settings":{"name":"","mapId":2182,"propType":{"sheet":"various","name":"book"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1608,"y":2732,"level":0,"settings":{"name":"","mapId":2183,"propType":{"sheet":"various","name":"drill1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1631,"y":2732,"level":0,"settings":{"name":"","mapId":2184,"propType":{"sheet":"various","name":"drill2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1654,"y":2732,"level":0,"settings":{"name":"","mapId":2185,"propType":{"sheet":"various","name":"infinityGem"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1676,"y":2740,"level":0,"settings":{"name":"","mapId":2186,"propType":{"sheet":"various","name":"present-1"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1690,"y":2740,"level":0,"settings":{"name":"","mapId":2187,"propType":{"sheet":"various","name":"present-2"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1712,"y":2740,"level":0,"settings":{"name":"","mapId":2188,"propType":{"sheet":"various","name":"present-3"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1726,"y":2740,"level":0,"settings":{"name":"","mapId":2189,"propType":{"sheet":"various","name":"present-4"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1748,"y":2740,"level":0,"settings":{"name":"","mapId":2190,"propType":{"sheet":"various","name":"present-5"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1762,"y":2740,"level":0,"settings":{"name":"","mapId":2191,"propType":{"sheet":"various","name":"present-6"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1784,"y":2740,"level":0,"settings":{"name":"","mapId":2192,"propType":{"sheet":"various","name":"present-7"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1798,"y":2740,"level":0,"settings":{"name":"","mapId":2193,"propType":{"sheet":"various","name":"present-8"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1820,"y":2740,"level":0,"settings":{"name":"","mapId":2194,"propType":{"sheet":"various","name":"present-9"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1850,"y":2740,"level":0,"settings":{"name":"","mapId":2195,"propType":{"sheet":"various","name":"present-10"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1880,"y":2740,"level":0,"settings":{"name":"","mapId":2196,"propType":{"sheet":"various","name":"present-11"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1910,"y":2742,"level":0,"settings":{"name":"","mapId":2197,"propType":{"sheet":"various","name":"present-12"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1940,"y":2742,"level":0,"settings":{"name":"","mapId":2198,"propType":{"sheet":"various","name":"present-13"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":1970,"y":2742,"level":0,"settings":{"name":"","mapId":2199,"propType":{"sheet":"various","name":"present-14"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2000,"y":2761,"level":0,"settings":{"name":"","mapId":2200,"propType":{"sheet":"various","name":"present-15"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2038,"y":2754,"level":0,"settings":{"name":"","mapId":2201,"propType":{"sheet":"various","name":"present-16"},"propAnim":"","condAnims":[]}},{"type":"Prop","x":2068,"y":2740,"level":0,"settings":{"name":"","mapId":2202,"propType":{"sheet":"various","name":"parkour-marker"},"propAnim":"middle","condAnims":[]}},{"type":"Prop","x":2106,"y":2740,"level":0,"settings":{"name":"","mapId":2203,"propType":{"sheet":"various","name":"parkour-marker"},"propAnim":"start","condAnims":[]}},{"type":"Prop","x":2144,"y":2740,"level":0,"settings":{"name":"","mapId":2204,"propType":{"sheet":"various","name":"parkour-marker"},"propAnim":"hide","condAnims":[]}},{"type":"Prop","x":2182,"y":2740,"level":0,"settings":{"name":"","mapId":2205,"propType":{"sheet":"various","name":"parkour-marker"},"propAnim":"appear","condAnims":[]}},{"type":"Prop","x":2220,"y":2740,"level":0,"settings":{"name":"","mapId":2206,"propType":{"sheet":"various","name":"parkour-marker"},"propAnim":"collected","condAnims":[]}},{"type":"Prop","x":2258,"y":2764,"level":0,"settings":{"name":"","mapId":2207,"propType":{"sheet":"various","name":"blocker"},"propAnim":"default","condAnims":[]}}],"layer":[{"id":1,"type":"Background","name":"Ground","level":0,"width":229,"height":182,"visible":1,"tilesetName":"media/map/autumn-outside.png","repeat":false,"distance":1,"tilesize":16,"moveSpeed":{"x":0,"y":0},"data":[[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],"lighter":false},{"type":"Collision","name":"Coll","level":0,"width":229,"height":182,"visible":1,"tilesetName":"media/map/collisiontiles-16x16.png","repeat":false,"distance":1,"tilesize":16,"moveSpeed":{"x":0,"y":0},"data":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],"lighter":false}]} \ No newline at end of file diff --git a/test-maps/test-item-destruct.json b/test-maps/test-item-destruct.json new file mode 100644 index 00000000..7e2b7819 --- /dev/null +++ b/test-maps/test-item-destruct.json @@ -0,0 +1 @@ +{"name":"tests/test-item-destruct","levels":[{"height":0}],"mapWidth":37,"mapHeight":28,"masterLevel":0,"attributes":{"saveMode":"ENABLED","volume":1,"bgm":"cargoShip","cameraInBounds":false,"map-sounds":"CARGO_SHIP_OUTSIDE","mapStyle":"default","weather":"BERGEN_SUNNY","area":"autumn-area","npcRunners":"CROSSCENTRAL"},"screen":{"x":0,"y":0},"entities":[{"type":"Marker","x":87,"y":71,"level":0,"settings":{"name":"start","dir":"SOUTH","mapId":1,"size":{"x":16,"y":16,"z":0}}},{"type":"ItemDestruct","x":28,"y":40,"level":0,"settings":{"desType":"Autumn-Fall-Ground-1","mapId":2}},{"type":"ItemDestruct","x":58,"y":40,"level":0,"settings":{"desType":"Autumn-Fall-Ground-2","mapId":3}},{"type":"ItemDestruct","x":88,"y":40,"level":0,"settings":{"desType":"Autumn-Fall-Special","mapId":4}},{"type":"ItemDestruct","x":118,"y":40,"level":0,"settings":{"desType":"Autumn-Fall-Water-1","mapId":5}},{"type":"ItemDestruct","x":148,"y":40,"level":0,"settings":{"desType":"Autumn-Fall-Water-2","mapId":6}},{"type":"ItemDestruct","x":178,"y":40,"level":0,"settings":{"desType":"Autumn-Fall-Water-Special","mapId":7}},{"type":"ItemDestruct","x":208,"y":40,"level":0,"settings":{"desType":"Autumn-Ground-1","mapId":8}},{"type":"ItemDestruct","x":238,"y":40,"level":0,"settings":{"desType":"Autumn-Ground-2","mapId":9}},{"type":"ItemDestruct","x":268,"y":40,"level":0,"settings":{"desType":"Autumn-Special","mapId":10}},{"type":"ItemDestruct","x":298,"y":40,"level":0,"settings":{"desType":"Autumn-Water-1","mapId":11}},{"type":"ItemDestruct","x":328,"y":40,"level":0,"settings":{"desType":"Autumn-Water-2","mapId":12}},{"type":"ItemDestruct","x":358,"y":40,"level":0,"settings":{"desType":"Autumn-Water-Special","mapId":13}},{"type":"ItemDestruct","x":388,"y":40,"level":0,"settings":{"desType":"AutumnPlantA","mapId":14}},{"type":"ItemDestruct","x":24,"y":82,"level":0,"settings":{"desType":"Bakii-Vase","mapId":15}},{"type":"ItemDestruct","x":28,"y":116,"level":0,"settings":{"desType":"Bergen-PlantA-1","mapId":16}},{"type":"ItemDestruct","x":58,"y":116,"level":0,"settings":{"desType":"Bergen-PlantA-1-Snow","mapId":17}},{"type":"ItemDestruct","x":88,"y":116,"level":0,"settings":{"desType":"Bergen-PlantA-2","mapId":18}},{"type":"ItemDestruct","x":118,"y":116,"level":0,"settings":{"desType":"Bergen-PlantA-2-Snow","mapId":19}},{"type":"ItemDestruct","x":148,"y":116,"level":0,"settings":{"desType":"Bergen-PlantA-Rare","mapId":20}},{"type":"ItemDestruct","x":178,"y":116,"level":0,"settings":{"desType":"Bergen-PlantA-Snow-Rare","mapId":21}},{"type":"ItemDestruct","x":208,"y":116,"level":0,"settings":{"desType":"Bergen-PlantB-1","mapId":22}},{"type":"ItemDestruct","x":238,"y":116,"level":0,"settings":{"desType":"Bergen-PlantB-1-Snow","mapId":23}},{"type":"ItemDestruct","x":268,"y":116,"level":0,"settings":{"desType":"Bergen-PlantB-2","mapId":24}},{"type":"ItemDestruct","x":298,"y":116,"level":0,"settings":{"desType":"Bergen-PlantB-2-Snow","mapId":25}},{"type":"ItemDestruct","x":328,"y":116,"level":0,"settings":{"desType":"Bergen-PlantB-Rare","mapId":26}},{"type":"ItemDestruct","x":358,"y":116,"level":0,"settings":{"desType":"Bergen-PlantB-Snow-Rare","mapId":27}},{"type":"ItemDestruct","x":388,"y":116,"level":0,"settings":{"desType":"Bergen-Snow-Crystal","mapId":28}},{"type":"ItemDestruct","x":414,"y":118,"level":0,"settings":{"desType":"Bergen-Vase-1","mapId":29}},{"type":"ItemDestruct","x":25,"y":154,"level":0,"settings":{"desType":"Cold-Dng-Egg-1","mapId":30}},{"type":"ItemDestruct","x":47,"y":154,"level":0,"settings":{"desType":"Cold-Dng-Egg-2","mapId":31}},{"type":"ItemDestruct","x":69,"y":154,"level":0,"settings":{"desType":"Cold-Dng-Egg-3","mapId":32}},{"type":"ItemDestruct","x":94,"y":154,"level":0,"settings":{"desType":"Cold-Dng-Egg-4","mapId":33}},{"type":"ItemDestruct","x":130,"y":162,"level":0,"settings":{"desType":"Cold-Dng-Egg-Special-A","mapId":34}},{"type":"ItemDestruct","x":176,"y":162,"level":0,"settings":{"desType":"Cold-Dng-Egg-Special-B","mapId":35}},{"type":"ItemDestruct","x":28,"y":208,"level":0,"settings":{"desType":"Heat-Bones-1","mapId":36}},{"type":"ItemDestruct","x":58,"y":208,"level":0,"settings":{"desType":"Heat-Bones-2","mapId":37}},{"type":"ItemDestruct","x":88,"y":208,"level":0,"settings":{"desType":"Heat-Bones-Special","mapId":38}},{"type":"ItemDestruct","x":118,"y":208,"level":0,"settings":{"desType":"Heat-Cactus-1","mapId":39}},{"type":"ItemDestruct","x":148,"y":208,"level":0,"settings":{"desType":"Heat-Cactus-2","mapId":40}},{"type":"ItemDestruct","x":178,"y":208,"level":0,"settings":{"desType":"Heat-Cactus-Special","mapId":41}},{"type":"ItemDestruct","x":208,"y":208,"level":0,"settings":{"desType":"Heat-Dry-Bush-1","mapId":42}},{"type":"ItemDestruct","x":238,"y":208,"level":0,"settings":{"desType":"Heat-Dry-Bush-2","mapId":43}},{"type":"ItemDestruct","x":268,"y":208,"level":0,"settings":{"desType":"Heat-Dry-Bush-Special","mapId":44}},{"type":"ItemDestruct","x":298,"y":208,"level":0,"settings":{"desType":"Heat-Dry-Cactus-1","mapId":45}},{"type":"ItemDestruct","x":328,"y":208,"level":0,"settings":{"desType":"Heat-Dry-Cactus-2","mapId":46}},{"type":"ItemDestruct","x":358,"y":208,"level":0,"settings":{"desType":"Heat-Hill-1","mapId":47}},{"type":"ItemDestruct","x":388,"y":208,"level":0,"settings":{"desType":"Heat-Hill-2","mapId":48}},{"type":"ItemDestruct","x":418,"y":208,"level":0,"settings":{"desType":"Heat-Hill-Special","mapId":49}},{"type":"ItemDestruct","x":448,"y":208,"level":0,"settings":{"desType":"Heat-Palmapple-1","mapId":50}},{"type":"ItemDestruct","x":478,"y":208,"level":0,"settings":{"desType":"Heat-Palmapple-2","mapId":51}},{"type":"ItemDestruct","x":508,"y":208,"level":0,"settings":{"desType":"Heat-Palmapple-Special","mapId":52}},{"type":"ItemDestruct","x":28,"y":246,"level":0,"settings":{"desType":"Jungle-Bees-1","mapId":53}},{"type":"ItemDestruct","x":58,"y":246,"level":0,"settings":{"desType":"Jungle-Bees-2","mapId":54}},{"type":"ItemDestruct","x":88,"y":246,"level":0,"settings":{"desType":"Jungle-Bees-3","mapId":55}},{"type":"ItemDestruct","x":118,"y":246,"level":0,"settings":{"desType":"Jungle-Flower-1","mapId":56}},{"type":"ItemDestruct","x":148,"y":246,"level":0,"settings":{"desType":"Jungle-Flower-2","mapId":57}},{"type":"ItemDestruct","x":178,"y":246,"level":0,"settings":{"desType":"Jungle-Flower-Dotted-1","mapId":58}},{"type":"ItemDestruct","x":208,"y":246,"level":0,"settings":{"desType":"Jungle-Flower-Dotted-2","mapId":59}},{"type":"ItemDestruct","x":238,"y":246,"level":0,"settings":{"desType":"Jungle-Flower-Dotted-Special","mapId":60}},{"type":"ItemDestruct","x":268,"y":246,"level":0,"settings":{"desType":"Jungle-Flower-Special","mapId":61}},{"type":"ItemDestruct","x":298,"y":246,"level":0,"settings":{"desType":"Jungle-Shroom-1","mapId":62}},{"type":"ItemDestruct","x":328,"y":246,"level":0,"settings":{"desType":"Jungle-Shroom-2","mapId":63}},{"type":"ItemDestruct","x":358,"y":246,"level":0,"settings":{"desType":"Jungle-Shroom-Special","mapId":64}},{"type":"ItemDestruct","x":388,"y":246,"level":0,"settings":{"desType":"Jungle-Waterplant-1","mapId":65}},{"type":"ItemDestruct","x":418,"y":246,"level":0,"settings":{"desType":"Jungle-Waterplant-2","mapId":66}},{"type":"ItemDestruct","x":448,"y":246,"level":0,"settings":{"desType":"Jungle-Waterplant-Closed-1","mapId":67}},{"type":"ItemDestruct","x":478,"y":246,"level":0,"settings":{"desType":"Jungle-Waterplant-Closed-2","mapId":68}},{"type":"ItemDestruct","x":508,"y":246,"level":0,"settings":{"desType":"Jungle-Waterplant-Special","mapId":69}},{"type":"ItemDestruct","x":28,"y":284,"level":0,"settings":{"desType":"Sapphire-Bamboo-1","mapId":70}},{"type":"ItemDestruct","x":58,"y":284,"level":0,"settings":{"desType":"Sapphire-Bamboo-2","mapId":71}},{"type":"ItemDestruct","x":88,"y":284,"level":0,"settings":{"desType":"Sapphire-Bamboo-Special","mapId":72}},{"type":"ItemDestruct","x":118,"y":284,"level":0,"settings":{"desType":"Sapphire-Bush-1","mapId":73}},{"type":"ItemDestruct","x":148,"y":284,"level":0,"settings":{"desType":"Sapphire-Bush-2","mapId":74}},{"type":"ItemDestruct","x":178,"y":284,"level":0,"settings":{"desType":"Sapphire-Bush-Special","mapId":75}},{"type":"ItemDestruct","x":208,"y":284,"level":0,"settings":{"desType":"Sapphire-Cobalt-1","mapId":76}},{"type":"ItemDestruct","x":238,"y":284,"level":0,"settings":{"desType":"Sapphire-Cobalt-2","mapId":77}},{"type":"ItemDestruct","x":268,"y":284,"level":0,"settings":{"desType":"Sapphire-Cobalt-Special","mapId":78}},{"type":"ItemDestruct","x":28,"y":322,"level":0,"settings":{"desType":"StoneOfAges","mapId":79}},{"type":"ItemDestruct","x":58,"y":322,"level":0,"settings":{"desType":"StoneOfNothing","mapId":80}},{"type":"ItemDestruct","x":88,"y":322,"level":0,"settings":{"desType":"StoneOfSpace","mapId":81}},{"type":"ItemDestruct","x":118,"y":322,"level":0,"settings":{"desType":"StoneOfSpirit","mapId":82}},{"type":"ItemDestruct","x":148,"y":322,"level":0,"settings":{"desType":"StoneOfTruth","mapId":83}},{"type":"ItemDestruct","x":178,"y":322,"level":0,"settings":{"desType":"StoneOfValor","mapId":84}},{"type":"ItemDestruct","x":24,"y":360,"level":0,"settings":{"desType":"TrashBag1","mapId":85}},{"type":"ItemDestruct","x":62,"y":360,"level":0,"settings":{"desType":"TrashBag2","mapId":86}},{"type":"ItemDestruct","x":100,"y":368,"level":0,"settings":{"desType":"TrashBag3","mapId":87}},{"type":"ItemDestruct","x":138,"y":368,"level":0,"settings":{"desType":"TrashBag4","mapId":88}}],"layer":[{"id":1,"type":"Background","name":"Ground","level":0,"width":37,"height":28,"visible":1,"tilesetName":"media/map/autumn-outside.png","repeat":false,"distance":1,"tilesize":16,"moveSpeed":{"x":0,"y":0},"data":[[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,754,1,1,1,1,754,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,754,1,1,1,1,754,1,1,754,1,1,1,754,1,1,1,1,754,1,1,1,754,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,754,1,1,1,1,1,1,754,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,754,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,754,1,1,1,1,754,1,754,754,1,1,1,1,1,1,1,1,1,1,1,1,1,754,1,754,1,1,1,1,1,1,1],[1,754,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,754,1,754,1,754,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,754,1,1,754,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,754,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,21,1,1,1,1,1,754,1,1,754,1,754,1,1,1,1,1,1,1,1,1,1,1,754,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,754,1,754,1,754,1,1,1,1,1,1,754,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,754,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,754,1,1,1,1,754,754,1,1,1],[1,1,1,754,1,1,754,1,1,1,1,1,1,1,1,1,754,1,754,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,754,1,1,1,1,1,1,1,1,1,754,1,1,1,1,1,1,1,1,1,1,1,1,754,1,1,1,1,754,1,1,1,1,1,1,1],[1,1,1,1,754,1,1,1,1,1,1,1,1,754,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,754,1,1,1,1,754,1,1,754,1,1,1,754,1,1,1,1,754,1,1,754,1,1,1,1,754,1,1,754,1,754,1,1,1,1,1],[1,1,1,754,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,754,1,1,1,1,1,1,1,1,1,1,1,1,1,754,1,754,1,754,1,754,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,754,1,1,1,754,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,754,1,1,1,1,1,1,1,1,1,1,1,1,754,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,754,1,1,1,754,1,1,1,1,754,1,1,754,1,1,1,1,1,1,1,754,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,754,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,754,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,754,1,1,1,1,1,1,1,1,1,1,1,754,754,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,754,1,1,1,1,754,1,1,1,1,1,1,1,1,1,1,1,1,754,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,754,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,754,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],"lighter":false},{"type":"Collision","name":"Coll","level":0,"width":37,"height":28,"visible":1,"tilesetName":"media/map/collisiontiles-16x16.png","repeat":false,"distance":1,"tilesize":16,"moveSpeed":{"x":0,"y":0},"data":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],"lighter":false}]} \ No newline at end of file diff --git a/test-maps/test-scale-prop.json b/test-maps/test-scale-prop.json index 9d0a0d54..e2da2fcc 100644 --- a/test-maps/test-scale-prop.json +++ b/test-maps/test-scale-prop.json @@ -1 +1 @@ -{"name":"tests/testprop","levels":[{"height":0},{"height":32},{"height":64}],"mapWidth":30,"mapHeight":30,"masterLevel":0,"attributes":{"saveMode":"ENABLED","volume":1,"bgm":"rookieHarbor","cameraInBounds":false,"map-sounds":"ROOKIE_HARBOR_CROWD","mapStyle":"bergen-outer","weather":"ROOKIE_HARBOR","npcRunners":"CROWDED","area":"bergen"},"screen":{"x":-229,"y":553},"entities":[{"type":"Marker","x":136,"y":200,"level":0,"settings":{"mapId":707,"name":"start","dir":"SOUTH"}},{"type":"Prop","x":80,"y":175,"level":1,"settings":{"name":"","mapId":694,"propType":{"sheet":"arid-interior","name":"pipeConnectH"},"propAnim":"","condAnims":[]}},{"type":"ScalableProp","x":304,"y":255,"level":1,"settings":{"name":"","size":{"x":40,"y":16},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":704,"propConfig":{"sheet":"arid-interior","name":"pipeH","ends":{"west":"WEST_END","east":"EAST_GROUND"}}}},{"type":"ScalableProp","x":168,"y":134,"level":0,"settings":{"name":"","size":{"x":56,"y":8},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":true,"mapId":713,"propConfig":{"sheet":"dungeon-ar","name":"barrierH","ends":null},"spawnCondition":""}},{"type":"ScalableProp","x":224,"y":78,"level":0,"settings":{"name":"","size":{"x":8,"y":56},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":true,"mapId":714,"propConfig":{"sheet":"dungeon-ar","name":"barrierV","ends":{"north":"","south":""}},"spawnCondition":""}},{"type":"ScalableProp","x":330,"y":315,"level":1,"settings":{"name":"","size":{"x":40,"y":16},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":706,"propConfig":{"sheet":"arid-interior","name":"pipeH","ends":{"west":"WEST_GROUND","east":"EAST_END"}}}},{"type":"ScalableProp","x":168,"y":271,"level":1,"settings":{"name":"","size":{"x":40,"y":16},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":699,"propConfig":{"sheet":"arid-interior","name":"pipeH","ends":{"west":"WEST_GROUND","east":"EAST_END"}}}},{"type":"ScalableProp","x":82,"y":175,"level":1,"settings":{"name":"","size":{"x":40,"y":16},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":695,"propConfig":{"sheet":"arid-interior","name":"pipeH","ends":{"west":"","east":"EAST_GROUND"}}}},{"type":"ScalableProp","x":60,"y":159,"level":1,"settings":{"name":"","size":{"x":24,"y":32},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":696,"propConfig":{"sheet":"arid-interior","name":"pipeV","ends":{"north":"NORTH_END","south":"SOUTH_EAST"}}}},{"type":"ScalableProp","x":0,"y":271,"level":2,"settings":{"name":"","size":{"x":40,"y":16},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":697,"propConfig":{"sheet":"arid-interior","name":"pipeH","ends":{"west":"WEST_END","east":"EAST_GROUND"}}}},{"type":"ScalableProp","x":0,"y":255,"level":2,"settings":{"name":"","size":{"x":40,"y":16},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":698,"propConfig":{"sheet":"arid-interior","name":"pipeH","ends":{"west":"WEST_END","east":"EAST_GROUND"}}}},{"type":"ScalableProp","x":168,"y":255,"level":1,"settings":{"name":"","size":{"x":40,"y":16},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":700,"propConfig":{"sheet":"arid-interior","name":"pipeH","ends":{"west":"WEST_GROUND","east":"EAST_END"}}}},{"type":"ScalableProp","x":48,"y":255,"level":1,"settings":{"name":"","size":{"x":40,"y":16},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":702,"propConfig":{"sheet":"arid-interior","name":"pipeH","ends":{"west":"WEST_END","east":"EAST_GROUND"}}}},{"type":"ScalableProp","x":48,"y":271,"level":1,"settings":{"name":"","size":{"x":40,"y":16},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":701,"propConfig":{"sheet":"arid-interior","name":"pipeH","ends":{"west":"WEST_END","east":"EAST_GROUND"}}}},{"type":"ScalableProp","x":328,"y":208,"level":1,"settings":{"name":"","size":{"x":112,"y":16},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":705,"propConfig":{"sheet":"arid-interior","name":"pipeH","ends":{"west":"WEST_GROUND","east":"EAST_END"}}}},{"type":"ScalableProp","x":304,"y":271,"level":1,"settings":{"name":"","size":{"x":40,"y":16},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":703,"propConfig":{"sheet":"arid-interior","name":"pipeH","ends":{"west":"WEST_END","east":"EAST_GROUND"}}}},{"type":"ScalableProp","x":168,"y":62,"level":0,"settings":{"name":"","size":{"x":56,"y":8},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":true,"mapId":708,"propConfig":{"sheet":"dungeon-ar","name":"barrierH","ends":null},"spawnCondition":""}},{"type":"ScalableProp","x":160,"y":78,"level":0,"settings":{"name":"","size":{"x":8,"y":56},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":true,"mapId":709,"propConfig":{"sheet":"dungeon-ar","name":"barrierV","ends":{"north":"","south":""}},"spawnCondition":""}},{"type":"ScalableProp","x":-16,"y":141,"level":2,"settings":{"name":"","size":{"x":160,"y":8},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":712,"propConfig":{"sheet":"dungeon-ar","name":"textPvP","ends":{"west":"STOP","east":"STOP"}},"spawnCondition":""}},{"type":"ScalableProp","x":106,"y":232,"level":1,"settings":{"name":"","size":{"x":24,"y":32},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":715,"propConfig":{"sheet":"arid-interior","name":"pipeV","ends":{"north":"NORTH_END","south":"SOUTH_EAST"}}}},{"type":"ScalableProp","x":138,"y":299,"level":2,"settings":{"name":"","size":{"x":24,"y":104},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":716,"propConfig":{"sheet":"arid","name":"pipeV","ends":{"north":"NORTH_END","south":"SOUTH_WEST"}}}},{"type":"ScalableProp","x":38,"y":387,"level":2,"settings":{"name":"","size":{"x":104,"y":16},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":717,"propConfig":{"sheet":"arid","name":"pipeH","ends":{"west":"WEST_GROUND","east":""}}}},{"type":"ScalableProp","x":141,"y":122,"level":0,"settings":{"name":"","size":{"x":8,"y":56},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":true,"mapId":718,"propConfig":{"sheet":"dungeon-ar","name":"barrierV","ends":{"north":"","south":"SOUTH_END"}},"spawnCondition":""}},{"type":"ScalableProp","x":328,"y":176,"level":1,"settings":{"name":"","size":{"x":40,"y":16},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":719,"propConfig":{"sheet":"arid-interior","name":"pipeH","ends":{"west":"WEST_GROUND","east":"EAST_END"}}}},{"type":"ScalableProp","x":328,"y":144,"level":1,"settings":{"name":"","size":{"x":24,"y":16},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":720,"propConfig":{"sheet":"arid-interior","name":"pipeH","ends":{"west":"WEST_GROUND","east":"EAST_END"}}}}],"layer":[{"id":1,"type":"Background","name":"Ground","level":0,"width":30,"height":30,"visible":1,"tilesetName":"media/map/autumn-outside.png","repeat":false,"distance":1,"tilesize":16,"moveSpeed":{"x":0,"y":0},"data":[[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,257,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,289,1,0,0,0,0,1,293,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,290,291,292,291,292,293,325,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,322,323,324,323,324,325,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,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,1,1,1,1,1,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,1,1,1,1,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,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1],[0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1],[0,0,293,1,1,1,1,1,1,1,1,1,1,290,0,0,0,0,293,1,1,1,1,1,1,1,1,1,1,1],[292,293,325,1,1,1,1,1,1,1,1,1,1,322,290,291,292,293,325,1,1,1,1,1,1,1,1,1,1,1],[324,325,1,1,1,1,1,1,1,1,1,1,1,1,322,323,324,325,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],"lighter":false},{"type":"Collision","name":"Coll","level":0,"width":30,"height":30,"visible":1,"tilesetName":"media/map/collisiontiles-16x16.png","repeat":false,"distance":1,"tilesize":16,"moveSpeed":{"x":0,"y":0},"data":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,11,2,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,2,2,2,2,2,2,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,10,2,2,2,2,2,2,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,2,2,2,2,2,2,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,10,2,2,2,2,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[2,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[2,2,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[2,2,2,0,0,0,0,0,0,0,0,0,0,0,11,2,2,8,0,0,0,0,0,0,0,0,0,0,0,0],[2,2,2,0,0,0,0,0,0,0,0,0,0,11,2,2,2,2,8,0,0,0,0,0,0,0,0,0,0,0],[2,2,2,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0],[2,2,2,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0],[2,2,9,0,0,0,0,0,0,0,0,0,0,10,2,2,2,2,9,0,0,0,0,0,0,0,0,0,0,0],[2,9,0,0,0,0,0,0,0,0,0,0,0,0,10,2,2,9,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],"lighter":false},{"type":"Background","name":"Ground","level":1,"width":30,"height":30,"visible":1,"tilesetName":"media/map/autumn-outside.png","repeat":false,"distance":1,"tilesize":16,"moveSpeed":{"x":0,"y":0},"data":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,193,164,165,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,227,1,197,163,164,163,198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,225,1,1,1,1,1,197,198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,195,1,1,1,1,1,261,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,258,259,260,259,260,261,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[163,198,0,0,0,0,0,450,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[40,197,198,450,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[35,44,196,0,0,0,0,450,0,0,0,0,0,0,193,164,163,198,0,0,0,0,0,0,0,0,0,0,0,0],[33,70,228,0,0,0,450,0,0,0,0,0,0,193,194,1,1,197,198,0,450,0,0,0,0,0,0,0,0,0],[33,70,196,0,0,0,0,0,0,0,0,0,0,227,1,1,1,1,196,0,450,0,0,0,0,0,0,0,0,0],[33,78,228,0,0,0,450,0,0,0,0,0,0,195,1,1,1,1,228,0,0,0,0,0,0,0,0,0,0,0],[73,72,261,0,0,0,0,0,0,0,0,0,0,258,1,1,1,1,261,0,0,0,0,0,0,0,0,0,0,0],[260,261,0,0,0,450,0,0,0,0,450,0,0,0,258,259,260,261,0,0,0,450,0,0,0,0,0,0,0,0],[0,0,0,0,0,450,0,0,0,0,450,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,450,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,450,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],"lighter":false},{"type":"Collision","name":"coll2","level":1,"width":30,"height":30,"visible":1,"tilesetName":"","repeat":false,"distance":1,"tilesize":16,"moveSpeed":{"x":0,"y":0},"data":[[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],[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],[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],[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],[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],[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],[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],[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],[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],[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],[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],[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],[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],[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],[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],[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],[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],[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],[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],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"lighter":false},{"type":"HeightMap","name":"Height","level":2,"width":30,"height":30,"visible":1,"tilesetName":"media/map/heightmap-tiles.png","repeat":false,"distance":1,"tilesize":16,"moveSpeed":{"x":0,"y":0},"data":[[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,17,17,17,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,17,17,17,17,17,17,17,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,17,17,17,17,17,17,17,17,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,17,17,17,17,17,17,17,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,17,17,17,17,17,17,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[145,145,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[145,145,145,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[145,145,145,9,9,9,9,9,9,9,9,9,9,9,17,17,17,17,9,9,9,9,9,9,9,9,9,9,9,9],[145,145,145,9,9,9,9,9,9,9,9,9,9,17,17,17,17,17,17,9,9,9,9,9,9,9,9,9,9,9],[145,145,145,9,9,9,9,9,9,9,9,9,9,17,17,17,17,17,17,9,9,9,9,9,9,9,9,9,9,9],[145,145,145,9,9,9,9,9,9,9,9,9,9,17,17,17,17,17,17,9,9,9,9,9,9,9,9,9,9,9],[145,145,145,9,9,9,9,9,9,9,9,9,9,17,17,17,17,17,17,9,9,9,9,9,9,9,9,9,9,9],[145,145,9,9,9,9,9,9,9,9,9,9,9,9,17,17,17,17,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9]],"lighter":false}]} \ No newline at end of file +{"name":"tests/testprop","levels":[{"height":0},{"height":32},{"height":64}],"mapWidth":30,"mapHeight":30,"masterLevel":0,"attributes":{"saveMode":"ENABLED","volume":1,"bgm":"rookieHarbor","cameraInBounds":false,"map-sounds":"ROOKIE_HARBOR_CROWD","mapStyle":"heat-dng","weather":"ROOKIE_HARBOR","npcRunners":"CROWDED","area":"heat-dng"},"screen":{"x":-229,"y":553},"entities":[{"type":"Marker","x":136,"y":200,"level":0,"settings":{"mapId":707,"name":"start","dir":"SOUTH"}},{"type":"Prop","x":80,"y":175,"level":1,"settings":{"name":"","mapId":694,"propType":{"sheet":"arid-interior","name":"pipeConnectH"},"propAnim":"","condAnims":[]}},{"type":"ScalableProp","x":0,"y":255,"level":2,"settings":{"name":"","size":{"x":40,"y":16},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":698,"propConfig":{"sheet":"arid-interior","name":"pipeH","ends":{"west":"WEST_END","east":"EAST_GROUND"}}}},{"type":"ScalableProp","x":328,"y":176,"level":1,"settings":{"name":"","size":{"x":40,"y":16},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":719,"propConfig":{"sheet":"arid-interior","name":"pipeH","ends":{"west":"WEST_GROUND","east":"EAST_END"}}}},{"type":"ScalableProp","x":82,"y":175,"level":1,"settings":{"name":"","size":{"x":40,"y":16},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":695,"propConfig":{"sheet":"arid-interior","name":"pipeH","ends":{"west":"","east":"EAST_GROUND"}}}},{"type":"ScalableProp","x":168,"y":255,"level":1,"settings":{"name":"","size":{"x":40,"y":16},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":700,"propConfig":{"sheet":"arid-interior","name":"pipeH","ends":{"west":"WEST_GROUND","east":"EAST_END"}}}},{"type":"ScalableProp","x":48,"y":255,"level":1,"settings":{"name":"","size":{"x":40,"y":16},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":702,"propConfig":{"sheet":"arid-interior","name":"pipeH","ends":{"west":"WEST_END","east":"EAST_GROUND"}}}},{"type":"ScalableProp","x":48,"y":271,"level":1,"settings":{"name":"","size":{"x":40,"y":16},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":701,"propConfig":{"sheet":"arid-interior","name":"pipeH","ends":{"west":"WEST_END","east":"EAST_GROUND"}}}},{"type":"ScalableProp","x":60,"y":159,"level":1,"settings":{"name":"","size":{"x":24,"y":32},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":696,"propConfig":{"sheet":"arid-interior","name":"pipeV","ends":{"north":"NORTH_END","south":"SOUTH_EAST"}}}},{"type":"ScalableProp","x":328,"y":208,"level":1,"settings":{"name":"","size":{"x":112,"y":16},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":705,"propConfig":{"sheet":"arid-interior","name":"pipeH","ends":{"west":"WEST_GROUND","east":"EAST_END"}}}},{"type":"ScalableProp","x":304,"y":271,"level":1,"settings":{"name":"","size":{"x":40,"y":16},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":703,"propConfig":{"sheet":"arid-interior","name":"pipeH","ends":{"west":"WEST_END","east":"EAST_GROUND"}}}},{"type":"ScalableProp","x":-16,"y":141,"level":2,"settings":{"name":"","size":{"x":160,"y":8},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":712,"propConfig":{"sheet":"dungeon-ar","name":"textPvP","ends":{"west":"STOP","east":"STOP"}},"spawnCondition":""}},{"type":"ScalableProp","x":106,"y":232,"level":1,"settings":{"name":"","size":{"x":24,"y":32},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":715,"propConfig":{"sheet":"arid-interior","name":"pipeV","ends":{"north":"NORTH_END","south":"SOUTH_EAST"}}}},{"type":"ScalableProp","x":38,"y":387,"level":2,"settings":{"name":"","size":{"x":104,"y":16},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":717,"propConfig":{"sheet":"arid","name":"pipeH","ends":{"west":"WEST_GROUND","east":""}}}},{"type":"ScalableProp","x":138,"y":299,"level":2,"settings":{"name":"","size":{"x":24,"y":104},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":716,"propConfig":{"sheet":"arid","name":"pipeV","ends":{"north":"NORTH_END","south":"SOUTH_WEST"}}}},{"type":"ScalableProp","x":141,"y":122,"level":0,"settings":{"name":"","size":{"x":8,"y":56},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":true,"mapId":718,"propConfig":{"sheet":"dungeon-ar","name":"barrierV","ends":{"north":"","south":"SOUTH_END"}},"spawnCondition":""}},{"type":"ScalableProp","x":160,"y":78,"level":0,"settings":{"name":"","size":{"x":8,"y":56},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":true,"mapId":709,"propConfig":{"sheet":"dungeon-ar","name":"barrierV","ends":{"north":"","south":""}},"spawnCondition":""}},{"type":"ScalableProp","x":304,"y":255,"level":1,"settings":{"name":"","size":{"x":40,"y":16},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":704,"propConfig":{"sheet":"arid-interior","name":"pipeH","ends":{"west":"WEST_END","east":"EAST_GROUND"}}}},{"type":"ScalableProp","x":168,"y":62,"level":0,"settings":{"name":"","size":{"x":56,"y":8},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":true,"mapId":708,"propConfig":{"sheet":"dungeon-ar","name":"barrierH","ends":null},"spawnCondition":""}},{"type":"ScalableProp","x":0,"y":271,"level":2,"settings":{"name":"","size":{"x":40,"y":16},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":697,"propConfig":{"sheet":"arid-interior","name":"pipeH","ends":{"west":"WEST_END","east":"EAST_GROUND"}}}},{"type":"ScalableProp","x":250,"y":150,"level":1,"settings":{"name":"","size":{"x":24,"y":32},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":722,"propConfig":{"sheet":"arid-interior","name":"pipeV","ends":{"west":"","east":"EAST_END","north":"NORTH_EAST","south":""}}}},{"type":"ScalableProp","x":240,"y":104,"level":1,"settings":{"name":"","size":{"x":88,"y":16},"patternOffset":{"x":3,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":721,"propConfig":{"sheet":"arid-interior","name":"pipeH","ends":{"west":"WEST_GROUND","east":"EAST_END"}}}},{"type":"ScalableProp","x":330,"y":315,"level":1,"settings":{"name":"","size":{"x":40,"y":16},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":706,"propConfig":{"sheet":"arid-interior","name":"pipeH","ends":{"west":"WEST_GROUND","east":"EAST_END"}}}},{"type":"ScalableProp","x":168,"y":134,"level":0,"settings":{"name":"","size":{"x":56,"y":8},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":true,"mapId":713,"propConfig":{"sheet":"dungeon-ar","name":"barrierH","ends":null},"spawnCondition":""}},{"type":"ScalableProp","x":240,"y":80,"level":1,"settings":{"name":"","size":{"x":88,"y":16},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":720,"propConfig":{"sheet":"arid-interior","name":"pipeH","ends":{"west":"WEST_GROUND","east":"EAST_END"}}}},{"type":"ScalableProp","x":168,"y":271,"level":1,"settings":{"name":"","size":{"x":40,"y":16},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":699,"propConfig":{"sheet":"arid-interior","name":"pipeH","ends":{"west":"WEST_GROUND","east":"EAST_END"}}}},{"type":"ScalableProp","x":224,"y":78,"level":0,"settings":{"name":"","size":{"x":8,"y":56},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":true,"mapId":714,"propConfig":{"sheet":"dungeon-ar","name":"barrierV","ends":{"north":"","south":""}},"spawnCondition":""}},{"type":"ScalableProp","x":276,"y":183,"level":2,"settings":{"name":"","size":{"x":24,"y":64},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":723,"propConfig":{"sheet":"arid","name":"pipeV","ends":{"north":"NORTH_EAST","south":""}}}},{"type":"ScalableProp","x":208,"y":368,"level":2,"settings":{"name":"","size":{"x":112,"y":96},"patternOffset":{"x":0,"y":0},"timeOffset":0,"blockNavMap":false,"mapId":730,"propConfig":{"sheet":"arid","name":"laserBridgeV","ends":{"north":"NORTH_END","south":"SOUTH_WEST"}}}}],"layer":[{"id":1,"type":"Background","name":"Ground","level":0,"width":30,"height":30,"visible":1,"tilesetName":"media/map/autumn-outside.png","repeat":false,"distance":1,"tilesize":16,"moveSpeed":{"x":0,"y":0},"data":[[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,257,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,289,1,0,0,0,0,1,293,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,290,291,292,291,292,293,325,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,322,323,324,323,324,325,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,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,1,1,1,1,1,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,1,1,1,1,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,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1],[0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1],[0,0,293,1,1,1,1,1,1,1,1,1,1,290,0,0,0,0,293,1,1,1,1,1,1,1,1,1,1,1],[292,293,325,1,1,1,1,1,1,1,1,1,1,322,290,291,292,293,325,1,1,1,1,1,1,1,1,1,1,1],[324,325,1,1,1,1,1,1,1,1,1,1,1,1,322,323,324,325,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],"lighter":false},{"type":"Collision","name":"Coll","level":0,"width":30,"height":30,"visible":1,"tilesetName":"media/map/collisiontiles-16x16.png","repeat":false,"distance":1,"tilesize":16,"moveSpeed":{"x":0,"y":0},"data":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,11,2,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,2,2,2,2,2,2,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,10,2,2,2,2,2,2,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,2,2,2,2,2,2,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,10,2,2,2,2,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[2,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[2,2,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[2,2,2,0,0,0,0,0,0,0,0,0,0,0,11,2,2,8,0,0,0,0,0,0,0,0,0,0,0,0],[2,2,2,0,0,0,0,0,0,0,0,0,0,11,2,2,2,2,8,0,0,0,0,0,0,0,0,0,0,0],[2,2,2,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0],[2,2,2,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0],[2,2,9,0,0,0,0,0,0,0,0,0,0,10,2,2,2,2,9,0,0,0,0,0,0,0,0,0,0,0],[2,9,0,0,0,0,0,0,0,0,0,0,0,0,10,2,2,9,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],"lighter":false},{"type":"Background","name":"Ground","level":1,"width":30,"height":30,"visible":1,"tilesetName":"media/map/autumn-outside.png","repeat":false,"distance":1,"tilesize":16,"moveSpeed":{"x":0,"y":0},"data":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,193,164,165,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,227,1,197,163,164,163,198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,225,1,1,1,1,1,197,198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,195,1,1,1,1,1,261,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,258,259,260,259,260,261,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[163,198,0,0,0,0,0,450,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[40,197,198,450,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[35,44,196,0,0,0,0,450,0,0,0,0,0,0,193,164,163,198,0,0,0,0,0,0,0,0,0,0,0,0],[33,70,228,0,0,0,450,0,0,0,0,0,0,193,194,1,1,197,198,0,450,0,0,0,0,0,0,0,0,0],[33,70,196,0,0,0,0,0,0,0,0,0,0,227,1,1,1,1,196,0,450,0,0,0,0,0,0,0,0,0],[33,78,228,0,0,0,450,0,0,0,0,0,0,195,1,1,1,1,228,0,0,0,0,0,0,0,0,0,0,0],[73,72,261,0,0,0,0,0,0,0,0,0,0,258,1,1,1,1,261,0,0,0,0,0,0,0,0,0,0,0],[260,261,0,0,0,450,0,0,0,0,450,0,0,0,258,259,260,261,0,0,0,450,0,0,0,0,0,0,0,0],[0,0,0,0,0,450,0,0,0,0,450,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,450,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,450,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],"lighter":false},{"type":"Collision","name":"coll2","level":1,"width":30,"height":30,"visible":1,"tilesetName":"","repeat":false,"distance":1,"tilesize":16,"moveSpeed":{"x":0,"y":0},"data":[[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],[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],[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],[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],[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],[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],[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],[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],[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],[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],[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],[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],[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],[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],[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],[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],[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],[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],[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],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]],"lighter":false},{"type":"HeightMap","name":"Height","level":2,"width":30,"height":30,"visible":1,"tilesetName":"media/map/heightmap-tiles.png","repeat":false,"distance":1,"tilesize":16,"moveSpeed":{"x":0,"y":0},"data":[[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,17,17,17,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,17,17,17,17,17,17,17,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,17,17,17,17,17,17,17,17,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,17,17,17,17,17,17,17,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,17,17,17,17,17,17,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[145,145,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[145,145,145,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[145,145,145,9,9,9,9,9,9,9,9,9,9,9,17,17,17,17,9,9,9,9,9,9,9,9,9,9,9,9],[145,145,145,9,9,9,9,9,9,9,9,9,9,17,17,17,17,17,17,9,9,9,9,9,9,9,9,9,9,9],[145,145,145,9,9,9,9,9,9,9,9,9,9,17,17,17,17,17,17,9,9,9,9,9,9,9,9,9,9,9],[145,145,145,9,9,9,9,9,9,9,9,9,9,17,17,17,17,17,17,9,9,9,9,9,9,9,9,9,9,9],[145,145,145,9,9,9,9,9,9,9,9,9,9,17,17,17,17,17,17,9,9,9,9,9,9,9,9,9,9,9],[145,145,9,9,9,9,9,9,9,9,9,9,9,9,17,17,17,17,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9]],"lighter":false}]} \ No newline at end of file diff --git a/tools/entityFinder.html b/tools/entityFinder.html index e4517582..48111076 100644 --- a/tools/entityFinder.html +++ b/tools/entityFinder.html @@ -1,54 +1,54 @@
@@ -69,13 +69,13 @@ let out; function showEntity(out) { - let output = document.getElementById("output"); + let output = document.getElementById('output'); while (output.firstChild) { output.removeChild(output.firstChild); } console.log(out); Object.keys(out).forEach(key => { - let item = document.createElement("li"); + let item = document.createElement('li'); item.innerHTML = key + ': ' + out[key]; output.appendChild(item); }); @@ -131,12 +131,12 @@ function generate() { out = {}; out['file'] = new Set(); - let input = document.getElementById("fileinput").files; - let entity = document.getElementById("entity").value; + let input = document.getElementById('fileinput').files; + let entity = document.getElementById('entity').value; let parsed = 0; const reader = new FileReader(); reader.onload = evt => { - readFile(evt.target.result, entity); + readFile(evt.target.result, entity, input[parsed]); parsed++; if (parsed % 10 === 0) { console.log(parsed); @@ -153,7 +153,7 @@ } function fileInputChange() { - let output = document.getElementById("listing"); + let output = document.getElementById('listing'); while (output.firstChild) { output.removeChild(output.firstChild); } @@ -161,20 +161,27 @@ let files = event.target.files; for (let i = 0; i < files.length; i++) { - let item = document.createElement("li"); + let item = document.createElement('li'); item.innerHTML = files[i].webkitRelativePath; output.appendChild(item); } } - function readFile(file, entity) { - file = JSON.parse(file); + function readFile(file, entity, fileObj) { + try { + file = JSON.parse(file); + } catch (e) { + console.log(`file: ${fileObj.name} - ${fileObj.webkitRelativePath}`); + console.error(e); + return; + } const entities = file.entities.filter(e => e.type === entity); - - + + entities.forEach(e => { - if (!e.settings) + if (!e.settings) { return + } Object.keys(e.settings).forEach(key => { if (!out[key]) { out[key] = new Set(); @@ -183,8 +190,6 @@ out[key].add(JSON.stringify(e.settings[key], null, 2)); }) }) - - } diff --git a/webapp/eslint.config.js b/webapp/eslint.config.js index bbc87c52..fb427515 100644 --- a/webapp/eslint.config.js +++ b/webapp/eslint.config.js @@ -53,7 +53,7 @@ module.exports = tseslint.config( curly: 'error', eqeqeq: ['error', 'smart'], 'guard-for-in': 'error', - 'no-bitwise': 'error', + 'no-bitwise': 'off', 'no-caller': 'error', 'no-eval': 'error', 'no-new-wrappers': 'error', diff --git a/webapp/src/app/components/dialogs/load-map/load-map.component.ts b/webapp/src/app/components/dialogs/load-map/load-map.component.ts index 24f68b4e..33b5b466 100644 --- a/webapp/src/app/components/dialogs/load-map/load-map.component.ts +++ b/webapp/src/app/components/dialogs/load-map/load-map.component.ts @@ -4,12 +4,9 @@ import { MatSidenav } from '@angular/material/sidenav'; import { MatNestedTreeNode, MatTree, MatTreeNestedDataSource, MatTreeNode, MatTreeNodeDef, MatTreeNodeOutlet, MatTreeNodeToggle } from '@angular/material/tree'; import { firstValueFrom } from 'rxjs'; -import { GlobalEventsService } from '../../../services/global-events.service'; import { HttpClientService } from '../../../services/http-client.service'; import { MapLoaderService } from '../../../services/map-loader.service'; import { SearchFilterService } from '../../../services/search-filter.service'; -import { ConfirmCloseComponent } from '../confirm-close/confirm-close.component'; -import { OverlayService } from '../overlay/overlay.service'; import { MapNode, MapNodeRoot } from './mapNode.model'; import { VirtualMapNode } from './virtualMapNode.model'; import { MatToolbar } from '@angular/material/toolbar'; @@ -53,8 +50,6 @@ export class LoadMapComponent { private http = inject(HttpClientService); private ref = inject(ChangeDetectorRef); private searchFilterService = inject(SearchFilterService); - private readonly eventsService = inject(GlobalEventsService); - private readonly overlayService = inject(OverlayService); private readonly sharedService = inject(SHARED_SERVICE); private readonly settingsService = inject(SettingsService); @@ -115,35 +110,13 @@ export class LoadMapComponent { this.ref.markForCheck(); } - private async showConfirmDialog() { - const hasUnsavedChanges = await firstValueFrom(this.eventsService.hasUnsavedChanges); - if (!hasUnsavedChanges) { - return true; - } - - const dialogRef = this.overlayService.open(ConfirmCloseComponent, { - hasBackdrop: true, - }); - const result = await firstValueFrom(dialogRef.ref.onClose, { defaultValue: false }); - if (result) { - this.eventsService.hasUnsavedChanges.next(false); - } - return result; - } - async loadMap(event: Event) { - if (!await this.showConfirmDialog()) { - return; - } - this.mapLoader.loadMap(event); + this.mapLoader.loadMap(event, true); this.fileUpload.nativeElement.value = ''; } async load(name: string) { - if (!await this.showConfirmDialog()) { - return; - } - this.mapLoader.loadMapByName(name); + await this.mapLoader.loadMapByName(name, true); } hasChild(_: number, node: VirtualMapNode) { diff --git a/webapp/src/app/components/dialogs/new-map/new-map.component.ts b/webapp/src/app/components/dialogs/new-map/new-map.component.ts index 674de4f6..13e82a96 100644 --- a/webapp/src/app/components/dialogs/new-map/new-map.component.ts +++ b/webapp/src/app/components/dialogs/new-map/new-map.component.ts @@ -58,7 +58,7 @@ export class NewMapComponent { } close() { - this.mapLoader.loadRawMap(this.map, this.map.name, `data/maps/${this.map.name}.json`); + this.mapLoader.loadRawMap(this.map, this.map.name, `data/maps/${this.map.name}.json`, true); this.ref.close(); } diff --git a/webapp/src/app/components/entities/entities.component.html b/webapp/src/app/components/entities/entities.component.html index 0c74583c..b16a5d8b 100644 --- a/webapp/src/app/components/entities/entities.component.html +++ b/webapp/src/app/components/entities/entities.component.html @@ -3,7 +3,15 @@ - + + + diff --git a/webapp/src/app/components/entities/entities.component.ts b/webapp/src/app/components/entities/entities.component.ts index dba22c96..cb77873b 100644 --- a/webapp/src/app/components/entities/entities.component.ts +++ b/webapp/src/app/components/entities/entities.component.ts @@ -27,8 +27,10 @@ export class EntitiesComponent { entity?: CCEntity; map?: CCMap; filter = ''; + excludeFilter = ''; hideFilter = false; - + private lastShowSizeWidget = false; + constructor() { const events = this.events; const loader = inject(MapLoaderService); @@ -41,10 +43,16 @@ export class EntitiesComponent { this.entity = e; this.loadSettings(e); }); + events.updateEntitySettings.subscribe(e => { + if (e === this.entity && this.shouldShowSizeWidget(e) !== this.lastShowSizeWidget) { + this.loadSettings(e); + } + }); events.is3D.subscribe(is3d => this.hideFilter = is3d); loader.tileMap.subscribe(map => { this.map = map; this.filter = ''; + this.excludeFilter = ''; }); } @@ -60,7 +68,8 @@ export class EntitiesComponent { } const def = entity.getScaleSettings(); - if (def && (def.scalableX || def.scalableY)) { + this.lastShowSizeWidget = this.shouldShowSizeWidget(entity); + if (this.lastShowSizeWidget) { const vec2Widget: Vec2WidgetComponent = this.generateWidget( entity, 'size', { @@ -79,9 +88,14 @@ export class EntitiesComponent { } updateFilter() { - this.events.filterEntity.next(this.filter); + this.events.filterEntity.next({ show: this.filter, hide: this.excludeFilter }); } + private shouldShowSizeWidget(entity: CCEntity): boolean { + const def = entity.getScaleSettings(); + return !!(def && (def.scalableX || def.scalableY)); + } + private generateWidget(entity: CCEntity, key: string, val: AttributeValue, ref: ViewContainerRef) { const componentRef = ref.createComponent(this.widgetRegistry.getWidget(val.type)); const instance = componentRef.instance as AbstractWidget; diff --git a/webapp/src/app/components/toolbar/toolbar.component.html b/webapp/src/app/components/toolbar/toolbar.component.html index 5ddaa9af..15e48977 100644 --- a/webapp/src/app/components/toolbar/toolbar.component.html +++ b/webapp/src/app/components/toolbar/toolbar.component.html @@ -12,6 +12,7 @@ + diff --git a/webapp/src/app/components/toolbar/toolbar.component.ts b/webapp/src/app/components/toolbar/toolbar.component.ts index 72e2ddb6..1dc1c866 100644 --- a/webapp/src/app/components/toolbar/toolbar.component.ts +++ b/webapp/src/app/components/toolbar/toolbar.component.ts @@ -8,6 +8,7 @@ import { GlobalEventsService } from '../../services/global-events.service'; import { MapLoaderService } from '../../services/map-loader.service'; import { CCMap } from '../../services/phaser/tilemap/cc-map'; import { SaveService } from '../../services/save.service'; +import { PhaserExportService } from '../../services/phaser-export.service'; import { MapSettingsComponent } from '../dialogs/map-settings/map-settings.component'; import { NewMapComponent } from '../dialogs/new-map/new-map.component'; import { OffsetMapComponent } from '../dialogs/offset-map/offset-map.component'; @@ -37,6 +38,7 @@ export class ToolbarComponent implements OnInit { private overlay = inject(Overlay); private router = inject(Router); private save = inject(SaveService); + private exporter = inject(PhaserExportService); map?: CCMap; @@ -96,6 +98,14 @@ export class ToolbarComponent implements OnInit { this.save.saveMap(this.map); } } + + async exportPng() { + if (!this.map) { + throw new Error('no map loaded'); + } + + await this.exporter.exportMapPng(this.map); + } newMap() { this.overlayService.open(NewMapComponent, { diff --git a/webapp/src/app/components/widgets/character-widget/character-widget.component.html b/webapp/src/app/components/widgets/character-widget/character-widget.component.html index 7534df6c..b54a2192 100644 --- a/webapp/src/app/components/widgets/character-widget/character-widget.component.html +++ b/webapp/src/app/components/widgets/character-widget/character-widget.component.html @@ -1,7 +1,7 @@ diff --git a/webapp/src/app/components/widgets/custom-des-type-widget/custom-des-type-widget.component.html b/webapp/src/app/components/widgets/custom-des-type-widget/custom-des-type-widget.component.html index d4c2b897..52ae899e 100644 --- a/webapp/src/app/components/widgets/custom-des-type-widget/custom-des-type-widget.component.html +++ b/webapp/src/app/components/widgets/custom-des-type-widget/custom-des-type-widget.component.html @@ -1,7 +1,7 @@ diff --git a/webapp/src/app/components/widgets/enemy-single-type-widget/enemy-single-type-widget.component.html b/webapp/src/app/components/widgets/enemy-single-type-widget/enemy-single-type-widget.component.html index 7534df6c..b54a2192 100644 --- a/webapp/src/app/components/widgets/enemy-single-type-widget/enemy-single-type-widget.component.html +++ b/webapp/src/app/components/widgets/enemy-single-type-widget/enemy-single-type-widget.component.html @@ -1,7 +1,7 @@ diff --git a/webapp/src/app/components/widgets/inputs/input-with-button/input-with-button.component.html b/webapp/src/app/components/widgets/inputs/input-with-button/input-with-button.component.html index ea8dacbc..e2fe053c 100644 --- a/webapp/src/app/components/widgets/inputs/input-with-button/input-with-button.component.html +++ b/webapp/src/app/components/widgets/inputs/input-with-button/input-with-button.component.html @@ -1,15 +1,16 @@ -
- +
+
- +
diff --git a/webapp/src/app/components/widgets/inputs/input-with-button/input-with-button.component.scss b/webapp/src/app/components/widgets/inputs/input-with-button/input-with-button.component.scss index e1bed288..c41b00f2 100644 --- a/webapp/src/app/components/widgets/inputs/input-with-button/input-with-button.component.scss +++ b/webapp/src/app/components/widgets/inputs/input-with-button/input-with-button.component.scss @@ -13,6 +13,9 @@ input.default-input { mat-icon { font-size: 20px; + width: 20px; + height: 20px; + line-height: 20px; } &::ng-deep.mat-mdc-button-touch-target { diff --git a/webapp/src/app/components/widgets/inputs/input-with-button/input-with-button.component.ts b/webapp/src/app/components/widgets/inputs/input-with-button/input-with-button.component.ts index 46436efc..85d06eb0 100644 --- a/webapp/src/app/components/widgets/inputs/input-with-button/input-with-button.component.ts +++ b/webapp/src/app/components/widgets/inputs/input-with-button/input-with-button.component.ts @@ -1,5 +1,4 @@ -import { Component, EventEmitter, Input, Output } from '@angular/core'; - +import { ChangeDetectionStrategy, Component, input, model, output } from '@angular/core'; import { MatTooltipModule } from '@angular/material/tooltip'; import { FormsModule } from '@angular/forms'; import { MatButtonModule } from '@angular/material/button'; @@ -9,12 +8,15 @@ import { MatIconModule } from '@angular/material/icon'; selector: 'app-input-with-button', imports: [MatTooltipModule, FormsModule, MatButtonModule, MatIconModule], templateUrl: './input-with-button.component.html', - styleUrls: ['./input-with-button.component.scss', '../../widget.scss'] + styleUrls: ['./input-with-button.component.scss', '../../widget.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, }) export class InputWithButtonComponent { - @Input() description?: string; - @Input() key = ''; - @Input() model?: string; - @Output() modelChange = new EventEmitter(); - @Output() buttonClick = new EventEmitter(); + readonly description = input(); + readonly key = input(''); + readonly icon = input('collections'); + + readonly val = model(); + + readonly buttonClick = output(); } diff --git a/webapp/src/app/components/widgets/maps-widget/maps-widget.component.html b/webapp/src/app/components/widgets/maps-widget/maps-widget.component.html new file mode 100644 index 00000000..c493aee6 --- /dev/null +++ b/webapp/src/app/components/widgets/maps-widget/maps-widget.component.html @@ -0,0 +1,8 @@ + diff --git a/webapp/src/app/components/widgets/maps-widget/maps-widget.component.scss b/webapp/src/app/components/widgets/maps-widget/maps-widget.component.scss new file mode 100644 index 00000000..e69de29b diff --git a/webapp/src/app/components/widgets/maps-widget/maps-widget.component.ts b/webapp/src/app/components/widgets/maps-widget/maps-widget.component.ts new file mode 100644 index 00000000..19b1cba0 --- /dev/null +++ b/webapp/src/app/components/widgets/maps-widget/maps-widget.component.ts @@ -0,0 +1,28 @@ +import { ChangeDetectionStrategy, Component, inject } from '@angular/core'; +import { AbstractWidget } from '../abstract-widget'; +import { InputWithButtonComponent } from '../inputs/input-with-button/input-with-button.component'; +import { MapLoaderService } from '../../../services/map-loader.service'; + +interface MapsSettings { + [key: string]: string | undefined; +} + +@Component({ + selector: 'app-maps-widget', + templateUrl: './maps-widget.component.html', + styleUrls: ['./maps-widget.component.scss', '../widget.scss'], + imports: [InputWithButtonComponent], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class MapsWidgetComponent extends AbstractWidget { + + private mapLoader = inject(MapLoaderService); + + async loadMap() { + const map = this.settings?.[this.key]; + if (!map) { + return; + } + await this.mapLoader.loadMapByName(map, true); + } +} diff --git a/webapp/src/app/components/widgets/prop-type-widget/prop-type-widget.component.ts b/webapp/src/app/components/widgets/prop-type-widget/prop-type-widget.component.ts index 3d0d62f3..7711a718 100644 --- a/webapp/src/app/components/widgets/prop-type-widget/prop-type-widget.component.ts +++ b/webapp/src/app/components/widgets/prop-type-widget/prop-type-widget.component.ts @@ -125,7 +125,18 @@ export class PropTypeWidgetComponent extends OverlayWidget { let sheet = await Helper.getJsonPromise('data/props/' + sheetPath) as PropSheet; sheet = prepareSheet(sheet); - const propDefs = sheet.props.filter(v => v.name) as (PropDef & { name: string })[]; + const propDefs: (PropDef & { name: string })[] = []; + for (const p of sheet.props) { + if (p.name) { + propDefs.push(p as PropDef & { name: string }); + } else if (p.sequence) { + for (const entry of p.sequence.entries) { + if (entry.name) { + propDefs.push({ ...p, name: entry.name } as PropDef & { name: string }); + } + } + } + } this.comp.showRightProps = false; await Promise.all(propDefs.map(async def => { diff --git a/webapp/src/app/components/widgets/scalable-prop-config-widget/scalable-prop-config-widget.component.ts b/webapp/src/app/components/widgets/scalable-prop-config-widget/scalable-prop-config-widget.component.ts index feea9d35..9ed9432b 100644 --- a/webapp/src/app/components/widgets/scalable-prop-config-widget/scalable-prop-config-widget.component.ts +++ b/webapp/src/app/components/widgets/scalable-prop-config-widget/scalable-prop-config-widget.component.ts @@ -161,7 +161,6 @@ export class ScalablePropConfigWidgetComponent extends OverlayWidget
- } @if (showGlobalCheckbox) { - - use GLOBAL - - } + } + @if (showGlobalCheckbox) { + + use GLOBAL + + }
@if (loading) { diff --git a/webapp/src/app/components/widgets/string-widget/autocompleted-textbox/autocompleted-textbox.component.html b/webapp/src/app/components/widgets/string-widget/autocompleted-textbox/autocompleted-textbox.component.html index e51e48ff..c27a1fc2 100644 --- a/webapp/src/app/components/widgets/string-widget/autocompleted-textbox/autocompleted-textbox.component.html +++ b/webapp/src/app/components/widgets/string-widget/autocompleted-textbox/autocompleted-textbox.component.html @@ -4,7 +4,11 @@ [ngModel]="text" (ngModelChange)="textChange.emit($event)" > - + @for (option of suggestedOptions; track option) { diff --git a/webapp/src/app/components/widgets/widget-registry.service.ts b/webapp/src/app/components/widgets/widget-registry.service.ts index ea9060c4..92c45340 100644 --- a/webapp/src/app/components/widgets/widget-registry.service.ts +++ b/webapp/src/app/components/widgets/widget-registry.service.ts @@ -14,6 +14,7 @@ import { ScalablePropConfigWidgetComponent } from './scalable-prop-config-widget import { CustomDesTypeWidgetComponent } from './custom-des-type-widget/custom-des-type-widget.component'; import { CharacterWidgetComponent } from './character-widget/character-widget.component'; import { ArrayWidgetComponent } from './array-widget/array-widget.component'; +import { MapsWidgetComponent } from './maps-widget/maps-widget.component'; @Injectable({ providedIn: 'root' @@ -42,6 +43,8 @@ export class WidgetRegistryService { this.register('CustomDesType', CustomDesTypeWidgetComponent); this.register('VarCondition', StringWidgetComponent); this.register('Array', ArrayWidgetComponent); + this.register('Maps', MapsWidgetComponent); + this.register('Face', StringWidgetComponent); } private setDefaultWidget(widget: any) { diff --git a/webapp/src/app/models/map-styles.ts b/webapp/src/app/models/map-styles.ts index b48a1d30..791eb111 100644 --- a/webapp/src/app/models/map-styles.ts +++ b/webapp/src/app/models/map-styles.ts @@ -1,3 +1,5 @@ +import { Point } from './cross-code-map'; + export interface MapStyles { default: MapStyleType; @@ -10,4 +12,47 @@ export interface MapStyleType { export interface MapStyle { sheet?: string; + x?: number; + y?: number; + hasDoorMat?: boolean; + doorGlow?: DoorGlow; + doorVariations?: Record; + stairDoor?: Point; + teleportField?: TeleportField; + colors?: WallColors; + lorryX?: number; + lorryY?: number; + railX?: number; + railY?: number; +} + +export interface TeleportField { + x: number; + y: number; + xCount: number; + zHeight?: number; +} + +export interface WallColors { + blockFront: string; + blockTop: string; + pBlockFront: string; + pBlockTop: string; + npBlockFront: string; + npBlockTop: string; +} + +export interface DoorGlow { + x: number; + y: number; + xCount: number; + sideX?: number; + sideY?: number; +} + +export interface DoorVariation { + x?: number; + y?: number; + doorMat?: boolean; + doorGlow?: DoorGlow; } diff --git a/webapp/src/app/services/add-entity-menu.service.ts b/webapp/src/app/services/add-entity-menu.service.ts index 27c5c35e..18469437 100644 --- a/webapp/src/app/services/add-entity-menu.service.ts +++ b/webapp/src/app/services/add-entity-menu.service.ts @@ -1,5 +1,5 @@ import { Overlay } from '@angular/cdk/overlay'; -import { Injectable, inject } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { ListSearchOverlayComponent } from '../components/dialogs/list-search-overlay/list-search-overlay.component'; import { OverlayRefControl } from '../components/dialogs/overlay/overlay-ref-control'; @@ -10,9 +10,11 @@ import { EntityRegistryService } from './phaser/entities/registry/entity-registr import { Vec2 } from './phaser/vec2'; import { JsonLoaderService } from './json-loader.service'; import { EntitiesJson } from './phaser/entities/registry/default-entity'; +import { Globals } from './globals'; +import { Helper } from './phaser/helper'; @Injectable({ - providedIn: 'root' + providedIn: 'root', }) export class AddEntityMenuService { private events = inject(GlobalEventsService); @@ -20,13 +22,13 @@ export class AddEntityMenuService { private overlay = inject(Overlay); private entityRegistry = inject(EntityRegistryService); private jsonLoader = inject(JsonLoaderService); - + private ref?: OverlayRefControl; - private worldPos: Point = {x: 0, y: 0}; - private mousePos: Point = {x: 0, y: 0}; + private worldPos: Point = { x: 0, y: 0 }; + private mousePos: Point = { x: 0, y: 0 }; - pos: Point = {x: 0, y: 0}; + pos: Point = { x: 0, y: 0 }; keys: string[] = []; public async init() { @@ -61,7 +63,7 @@ export class AddEntityMenuService { height: '50vh', backdropClickClose: true, hasBackdrop: true, - disablePhaserInput: true + disablePhaserInput: true, }); this.ref = obj.ref; @@ -80,15 +82,24 @@ export class AddEntityMenuService { } generateEntity(key: string) { + const entities = Globals.jsonLoader.loadJsonMergedSync('entities.json'); + const typeDef = entities[key]; + const entity: MapEntity = { x: this.worldPos.x, y: this.worldPos.y, type: key, level: 0, - settings: { - size: {x: 16, y: 16} - } + settings: {}, }; + if (typeDef) { + for (const [key, prop] of Object.entries(typeDef.attributes)) { + entity.settings[key] = Helper.copy(prop.default); + } + if (typeDef.size) { + entity.settings['size'] = Helper.copy(typeDef.size); + } + } this.events.generateNewEntity.next(entity); } } diff --git a/webapp/src/app/services/global-events.service.ts b/webapp/src/app/services/global-events.service.ts index dcb90608..22fa3e27 100644 --- a/webapp/src/app/services/global-events.service.ts +++ b/webapp/src/app/services/global-events.service.ts @@ -14,7 +14,7 @@ export class GlobalEventsService { selectedEntity = new BehaviorSubject(undefined); updateEntitySettings = new Subject(); generateNewEntity = new Subject(); - filterEntity = new Subject(); + filterEntity = new Subject<{ show: string; hide: string }>(); loadComplete = new Subject(); generateHeights = new Subject(); offsetMap = new Subject(); diff --git a/webapp/src/app/services/json-loader.service.ts b/webapp/src/app/services/json-loader.service.ts index 73ef58c6..e986c24e 100644 --- a/webapp/src/app/services/json-loader.service.ts +++ b/webapp/src/app/services/json-loader.service.ts @@ -1,22 +1,23 @@ -import { Injectable, inject } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClientService } from './http-client.service'; import { HttpClient } from '@angular/common/http'; import { lastValueFrom } from 'rxjs'; import { MatSnackBar } from '@angular/material/snack-bar'; @Injectable({ - providedIn: 'root' + providedIn: 'root', }) export class JsonLoaderService { private http = inject(HttpClientService); private angularHttp = inject(HttpClient); private snackbar = inject(MatSnackBar); - + private readonly initialized?: Promise; private configs = new Map; private cache: Record = {}; + private promiseCache: Record> = {}; constructor() { this.initialized = this.init(); @@ -34,7 +35,7 @@ export class JsonLoaderService { this.snackbar.open( `Failed to parse mod config: ${config.mod}/map-editor/${config.filename}`, 'close', - {panelClass: 'snackbar-error'} + { panelClass: 'snackbar-error' }, ); continue; } @@ -47,24 +48,27 @@ export class JsonLoaderService { async loadJson(file: string): Promise { await this.initialized; const json = await lastValueFrom(this.angularHttp.get(`./assets/${file}`)); - const modJson = (this.configs.get(file) ?? []) as T[]; + const modJson = (this.configs.get(file) ?? []) as T[]; return [ json as T, - ...modJson + ...modJson, ]; } - async loadJsonMerged(file: string): Promise { - const cached = this.cache[file] as T | undefined; - if (cached) { - return cached; + loadJsonMerged(file: string): Promise { + const cachedPromise = this.promiseCache[file] as Promise | undefined; + if (cachedPromise) { + return cachedPromise; } - const jsons = await this.loadJson(file); - const base = {} as T; - Object.assign(base as any, ...jsons); - this.cache[file] = base; - return base; + const promise = this.loadJson(file).then(jsons => { + const base = {} as T; + Object.assign(base as any, ...jsons); + this.cache[file] = base; + return base; + }); + this.promiseCache[file] = promise; + return promise; } loadJsonMergedSync(file: string): T { diff --git a/webapp/src/app/services/map-loader.service.ts b/webapp/src/app/services/map-loader.service.ts index 5f54e04f..c27adb5a 100644 --- a/webapp/src/app/services/map-loader.service.ts +++ b/webapp/src/app/services/map-loader.service.ts @@ -1,6 +1,6 @@ -import { Injectable, inject } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { MatSnackBar } from '@angular/material/snack-bar'; -import { BehaviorSubject, Observable } from 'rxjs'; +import { BehaviorSubject, firstValueFrom, Observable } from 'rxjs'; import { CrossCodeMap } from '../models/cross-code-map'; import { ElectronService } from './electron.service'; import { Globals } from './globals'; @@ -8,15 +8,19 @@ import { HttpClientService } from './http-client.service'; import { BasePath, FileExtension, PathResolver } from './path-resolver'; import { CCMap } from './phaser/tilemap/cc-map'; import { CCMapLayer } from './phaser/tilemap/cc-map-layer'; +import { GlobalEventsService } from './global-events.service'; +import { OverlayService } from '../components/dialogs/overlay/overlay.service'; +import { ConfirmCloseComponent } from '../components/dialogs/confirm-close/confirm-close.component'; @Injectable({ - providedIn: 'root' + providedIn: 'root', }) export class MapLoaderService { - private snackBar = inject(MatSnackBar); - private http = inject(HttpClientService); - private electron = inject(ElectronService); - + private readonly snackBar = inject(MatSnackBar); + private readonly http = inject(HttpClientService); + private readonly electron = inject(ElectronService); + private readonly eventsService = inject(GlobalEventsService); + private readonly overlayService = inject(OverlayService); tileMap = new BehaviorSubject(undefined); selectedLayer = new BehaviorSubject(undefined); @@ -26,7 +30,7 @@ export class MapLoaderService { return this._map.asObservable(); } - loadMap(event: Event) { + loadMap(event: Event, confirm = false) { const files: FileList = (event.target as HTMLInputElement).files!; if (files.length === 0) { return; @@ -39,16 +43,16 @@ export class MapLoaderService { const map = JSON.parse(e.target.result); let path: string | undefined; if (file && Globals.isElectron) { - const {webUtils} = require('electron'); + const { webUtils } = require('electron'); const filePath = webUtils.getPathForFile(file); path = filePath.split(this.electron.getAssetsPath())[1]; } - this.loadRawMap(map, file.name, path); + this.loadRawMap(map, file.name, path, confirm); } catch (e: any) { console.error(e); this.snackBar.open('Error: ' + e.message, undefined, { duration: 2500, - panelClass: 'snackbar-error' + panelClass: 'snackbar-error', }); return; } @@ -57,21 +61,49 @@ export class MapLoaderService { reader.readAsText(file); } - loadRawMap(map: CrossCodeMap, name?: string, path?: string) { + async loadRawMap(map: CrossCodeMap, name?: string, path?: string, confirm = false) { if (!map.mapHeight) { throw new Error('Invalid map'); } + if (confirm) { + const res = await this.showConfirmDialog(); + if (!res) { + return; + } + } + map.filename = name; map.path = path; this._map.next(map); } - loadMapByName(name: string) { + async loadMapByName(name: string, confirm = false) { const path = PathResolver.convertToPath(BasePath.MAPS, name, FileExtension.JSON); const filename = PathResolver.convertToFileName(name); - this.http.getAssetsFile(path).subscribe(map => { - this.loadRawMap(map, filename, path); + try { + const map = await firstValueFrom(this.http.getAssetsFile(path)); + await this.loadRawMap(map, filename, path, confirm); + } catch (e: unknown) { + console.error(e); + this.snackBar.open(`failed to load map ${path}`, 'ok', { panelClass: 'snackbar-error', duration: 5000 }); + } + + } + + private async showConfirmDialog() { + const hasUnsavedChanges = await firstValueFrom(this.eventsService.hasUnsavedChanges); + if (!hasUnsavedChanges) { + return true; + } + + const dialogRef = this.overlayService.open(ConfirmCloseComponent, { + hasBackdrop: true, }); + const result = await firstValueFrom(dialogRef.ref.onClose, { defaultValue: false }); + if (result) { + this.eventsService.hasUnsavedChanges.next(false); + } + return result; } } diff --git a/webapp/src/app/services/phaser-export.service.ts b/webapp/src/app/services/phaser-export.service.ts new file mode 100644 index 00000000..da4c92de --- /dev/null +++ b/webapp/src/app/services/phaser-export.service.ts @@ -0,0 +1,84 @@ +import { inject, Injectable } from '@angular/core'; +import { MatSnackBar } from '@angular/material/snack-bar'; +import * as Phaser from 'phaser'; +import { CCMap } from './phaser/tilemap/cc-map'; +import { Globals } from './globals'; + +@Injectable({ + providedIn: 'root', +}) +export class PhaserExportService { + private snackbar = inject(MatSnackBar); + + async exportMapPng(map: CCMap): Promise { + const game = Globals.game; + const scene = Globals.scene; + const camera = scene.cameras.main; + + if (!game || !scene) { + throw new Error('Phaser game is not initialized'); + } + + const exportWidth = map.mapWidth * Globals.TILE_SIZE; + const exportHeight = map.mapHeight * Globals.TILE_SIZE; + + const previousState = { + width: game.scale.width, + height: game.scale.height, + zoom: game.scale.zoom, + scrollX: camera.scrollX, + scrollY: camera.scrollY, + zoomX: camera.zoomX, + zoomY: camera.zoomY, + }; + + try { + game.scale.resize(exportWidth, exportHeight); + game.scale.setZoom(1); + camera.setZoom(1, 1); + camera.setScroll(0, 0); + + await this.waitForNextFrame(); + await this.waitForNextFrame(); + + const image = await this.snapshot(game.renderer); + const filename = (map.filename || map.name || 'map') + '.png'; + this.downloadImage(image, filename); + this.snackbar.open('successfully exported PNG', 'ok', { duration: 3000 }); + } catch (error) { + console.error(error); + this.snackbar.open('failed to export PNG', 'ok', { panelClass: 'snackbar-error' }); + throw error; + } finally { + game.scale.resize(previousState.width, previousState.height); + game.scale.setZoom(previousState.zoom); + camera.setZoom(previousState.zoomX, previousState.zoomY); + camera.setScroll(previousState.scrollX, previousState.scrollY); + } + } + + private waitForNextFrame(): Promise { + return new Promise(resolve => requestAnimationFrame(() => resolve())); + } + + private snapshot(renderer: Phaser.Renderer.Canvas.CanvasRenderer | Phaser.Renderer.WebGL.WebGLRenderer): Promise { + return new Promise((resolve, reject) => { + renderer.snapshot(image => { + if (image instanceof HTMLImageElement) { + resolve(image); + return; + } + reject(new Error('Renderer snapshot did not return an image')); + }, 'image/png'); + }); + } + + private downloadImage(image: HTMLImageElement, filename: string) { + const a = document.createElement('a'); + a.href = image.src; + a.download = filename; + document.body.appendChild(a); + a.click(); + setTimeout(() => document.body.removeChild(a), 0); + } +} diff --git a/webapp/src/app/services/phaser/entities/cc-entity.ts b/webapp/src/app/services/phaser/entities/cc-entity.ts index 94ad0481..37a2996a 100644 --- a/webapp/src/app/services/phaser/entities/cc-entity.ts +++ b/webapp/src/app/services/phaser/entities/cc-entity.ts @@ -23,6 +23,7 @@ export interface EntityAttributes { export interface AttributeValue { type: string; + default?: any; description: string; options?: { [key: string]: any }; withNull?: boolean; @@ -105,7 +106,8 @@ export abstract class CCEntity extends BaseObject { // drag public isDragged = false; - public startOffset: Point = {x: 0, y: 0}; + public startOffset: Point = { x: 0, y: 0 }; + public dragMoved = false; // zIndex: number; details: { @@ -129,6 +131,7 @@ export abstract class CCEntity extends BaseObject { scalableY?: boolean; scalableStep?: number; pivot?: Point; + bboxYOffset?: number; } = {} as any; protected constructor(scene: Phaser.Scene, map: CCMap, x: number, y: number, typeName: string) { @@ -138,10 +141,14 @@ export abstract class CCEntity extends BaseObject { this.container.x = Math.round(x); this.container.y = Math.round(y); this.details = { - type: typeName + type: typeName, } as any; - this.filterSubscription = Globals.globalEventsService.filterEntity.subscribe(filter => this.setVisible(this.filter(filter))); + this.filterSubscription = Globals.globalEventsService.filterEntity.subscribe(filter => { + const matchesShow = this.filter(filter.show); + const matchesHide = filter.hide.length > 0 && this.filter(filter.hide); + this.setVisible(matchesShow && !matchesHide); + }); } @@ -191,10 +198,20 @@ export abstract class CCEntity extends BaseObject { if (this.isDragged) { const container = this.container; const p = this.scene.input.activePointer; + const settings = Globals.gridSettings(); + + if (settings.enableGrid && !this.dragMoved) { + const dx = Math.abs(p.worldX - this.startOffset.x - container.x); + const dy = Math.abs(p.worldY - this.startOffset.y - container.y); + if (dx < settings.size.x / 2 && dy < settings.size.y / 2) { + return; + } + this.dragMoved = true; + } + container.x = Math.round(p.worldX - this.startOffset.x); container.y = Math.round(p.worldY - this.startOffset.y); - const settings = Globals.gridSettings(); if (settings.enableGrid) { const diffX = (container.x - settings.offset.x) % settings.size.x; if (diffX * 2 < settings.size.x) { @@ -227,7 +244,7 @@ export abstract class CCEntity extends BaseObject { this.images = []; // bound box offset - const boundBoxOffset = {x: 0, y: 0}; + const boundBoxOffset = { x: 0, y: 0 }; if (s.baseSize) { boundBoxOffset.x = s.baseSize.x / 2; boundBoxOffset.y = s.baseSize.y; @@ -243,7 +260,7 @@ export abstract class CCEntity extends BaseObject { for (const fix of s.sheets.fix) { const gfx = fix.gfx.trim(); - if (!s.sheets.ignoreScalable && (s.scalableX || s.scalableY) && fix.scalable) { + if (!s.sheets.ignoreScalable && fix.scalable) { // scalable const offsetX = fix.offsetX ?? 0; const offsetY = fix.offsetY ?? 0; @@ -252,11 +269,13 @@ export abstract class CCEntity extends BaseObject { const width = settings['size'].x - offsetX - offsetWidth; const height = (fix.renderHeight || s.baseSize.z) + settings['size'].y - offsetY - offsetHeight; + const flat = !s.baseSize.z && !fix.renderHeight; for (let x = 0; x < width; x += fix.w) { const imgWidth = Math.min(fix.w, width - x); for (let y = 0; y < height; y += fix.h) { const imgHeight = Math.min(fix.h, height - y); - const img = this.scene.add.image(x, -y + settings['size'].y, gfx); + const imgY = flat ? y + imgHeight : (settings['size'].y - height) + y + imgHeight; + const img = this.scene.add.image(x, imgY, gfx); img.setCrop(fix.x, fix.y, imgWidth, imgHeight); img.setOrigin(0, 0); @@ -330,8 +349,7 @@ export abstract class CCEntity extends BaseObject { let cropY = fix.y; if (fix.flipY) { - // TODO: untested - cropY = img.displayWidth - fix.y - fix.h; + cropY = img.displayHeight - fix.y - fix.h; } // crop offset @@ -382,7 +400,7 @@ export abstract class CCEntity extends BaseObject { } else { details.level = { level: level, - offset: 0 + offset: 0, }; } @@ -450,7 +468,7 @@ export abstract class CCEntity extends BaseObject { x: this.container.x, y: this.container.y, level: this.details.level.offset ? this.details.level : this.details.level.level, - settings: this.details.settings + settings: this.details.settings, }; return JSON.parse(JSON.stringify(out)); } @@ -462,7 +480,7 @@ export abstract class CCEntity extends BaseObject { protected abstract setupType(settings: any): Promise; public doubleClick(): void { - + } public async updateType() { @@ -475,32 +493,29 @@ export abstract class CCEntity extends BaseObject { this.generateNoImageType(0xFF0000, 1); } - public generateNoImageType(rgbTop = 0xc06040, aTop = 0.5, rgb = 0x800000, a = 0.5) { + public generateNoImageType(rgbTop = 0xc06040, aTop = 0.5, rgb = 0x800000, a = 0.5, defaultSize?: Point3) { const settings = this.details.settings; - const baseSize: Point3 = {x: 16, y: 16, z: 0}; + const baseSize: Point3 = { x: defaultSize?.x ?? 16, y: defaultSize?.y ?? 16, z: 0 }; + const scaleSettings = this.getScaleSettings(); if (settings['size']) { - baseSize.x = settings['size'].x; - baseSize.y = settings['size'].y; + if (!defaultSize || scaleSettings?.scalableX) { + baseSize.x = settings['size'].x; + } + if (!defaultSize || scaleSettings?.scalableY) { + baseSize.y = settings['size'].y; + } } baseSize.z = settings['zHeight'] || settings['wallZHeight'] || 0; this.entitySettings = {} as any; this.entitySettings.baseSize = baseSize; - const scaleSettings = this.getScaleSettings(); if (scaleSettings) { if (scaleSettings.scalableX || scaleSettings.scalableY) { this.entitySettings.scalableX = scaleSettings.scalableX; this.entitySettings.scalableY = scaleSettings.scalableY; } - // check for size overrides - if (scaleSettings.baseSize.x !== scaleSettings.scalableStep) { - settings['size'].x = scaleSettings.baseSize.x; - } - if (scaleSettings.baseSize.y !== scaleSettings.scalableStep) { - settings['size'].y = scaleSettings.baseSize.y; - } } @@ -530,7 +545,7 @@ export abstract class CCEntity extends BaseObject { scaleX: size.x, scaleY: size.y, tint: rgbTop, - alpha: aTop + alpha: aTop, }], }; } else { @@ -545,7 +560,7 @@ export abstract class CCEntity extends BaseObject { scaleX: size.x, scaleY: size.z, tint: rgb, - alpha: a + alpha: a, }, { gfx: 'pixel', x: 0, @@ -556,7 +571,7 @@ export abstract class CCEntity extends BaseObject { scaleX: size.x, scaleY: size.y, tint: rgbTop, - alpha: aTop + alpha: aTop, }], }; } @@ -584,7 +599,7 @@ export abstract class CCEntity extends BaseObject { this.inputZone.x + this.container.x, this.inputZone.y + this.container.y, hitArea.width, - hitArea.height + hitArea.height, ); return box; } @@ -592,6 +607,14 @@ export abstract class CCEntity extends BaseObject { public getActualSize(): Point3 { const s = this.entitySettings; const size = Object.assign({}, this.details.settings['size'] || s.baseSize); + if (s?.baseSize) { + if (!s.scalableX) { + size.x = s.baseSize.x; + } + if (!s.scalableY) { + size.y = s.baseSize.y; + } + } try { size.x = Number(size.x); size.y = Number(size.y); @@ -634,7 +657,7 @@ export abstract class CCEntity extends BaseObject { } collImg.x = inputArea.x; - collImg.y = inputArea.y - (size.z || 0) + this.levelOffset; + collImg.y = inputArea.y - (size.z || 0) + this.levelOffset + (this.entitySettings.bboxYOffset ?? 0); const shape = new Phaser.Geom.Rectangle(0, 0, size.x, size.y + (size.z || 0)); @@ -651,7 +674,7 @@ export abstract class CCEntity extends BaseObject { this.text = this.scene.add.text(0, 0, '', { font: '400 18pt Roboto', color: 'white', - resolution: window.devicePixelRatio * 3 + resolution: window.devicePixelRatio * 3, }); this.text.setOrigin(0.5, 0.5); this.text.setScale(0.3); @@ -697,7 +720,7 @@ export abstract class CCEntity extends BaseObject { private getRenderBackground(width: number, height: number) { if (!CCEntity.renderBackground) { - const g = this.scene.add.graphics({fillStyle: {color: 0x616161, alpha: 1}}); + const g = this.scene.add.graphics({ fillStyle: { color: 0x616161, alpha: 1 } }); g.fillRect(0, 0, width, height); g.fillStyle(0, 0.15); for (let x = 0; x < width; x += 16) { @@ -740,12 +763,12 @@ export abstract class CCEntity extends BaseObject { img.setScale( sx * scale, - sy * scale + sy * scale, ); texture.draw( img, x + img.x * scale, - y + img.y * scale + y + img.y * scale, ); img.setScale(sx, sy); diff --git a/webapp/src/app/services/phaser/entities/entity-manager.ts b/webapp/src/app/services/phaser/entities/entity-manager.ts index 56108751..86ee5608 100644 --- a/webapp/src/app/services/phaser/entities/entity-manager.ts +++ b/webapp/src/app/services/phaser/entities/entity-manager.ts @@ -170,6 +170,7 @@ export class EntityManager extends BaseObject { this.selectedEntities.forEach(entity => { entity.startOffset.x = pointer.worldX - entity.container.x; entity.startOffset.y = pointer.worldY - entity.container.y; + entity.dragMoved = false; entity.isDragged = true; }); } else { diff --git a/webapp/src/app/services/phaser/entities/registry/ball-changer.ts b/webapp/src/app/services/phaser/entities/registry/ball-changer.ts new file mode 100644 index 00000000..fe82d6b6 --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/ball-changer.ts @@ -0,0 +1,143 @@ +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; +import { FACE8 } from './npc'; + +type Face8 = keyof typeof FACE8; +type Element = 'HEAT' | 'COLD' | 'SHOCK' | 'WAVE'; + +export interface BallChangerAttributes { + changerType?: { + type: 'CHANGE_DIR' | 'CHANGE_SPEED' | 'RESET_SPEED' | 'CHANGE_ELEMENT'; + settings: { + dir?: Face8; + factor?: number; + element?: Element; + }; + }; + condition?: unknown; + ballTime?: number; + resetBounce?: boolean; +} + +interface ChangerIcon { + icon: number; + sphereColor: number; + flipX: boolean; + flipY: boolean; +} + +function resolveChangerIcon(changerType: NonNullable): ChangerIcon { + const out: ChangerIcon = { icon: 0, sphereColor: 0, flipX: false, flipY: false }; + switch (changerType.type) { + case 'CHANGE_DIR': + switch (changerType.settings.dir) { + case 'NORTH': + out.icon = 0; + break; + case 'EAST': + out.icon = 1; + break; + case 'SOUTH': + out.icon = 0; + out.flipY = true; + break; + case 'WEST': + out.icon = 1; + out.flipX = true; + break; + case 'NORTH_EAST': + out.icon = 2; + break; + case 'SOUTH_EAST': + out.icon = 2; + out.flipY = true; + break; + case 'SOUTH_WEST': + out.icon = 2; + out.flipX = true; + out.flipY = true; + break; + case 'NORTH_WEST': + out.icon = 2; + out.flipX = true; + break; + } + break; + case 'CHANGE_SPEED': + out.icon = 3; + break; + case 'RESET_SPEED': + out.icon = 4; + break; + case 'CHANGE_ELEMENT': + switch (changerType.settings.element) { + case 'HEAT': + out.icon = 5; + out.sphereColor = 1; + break; + case 'COLD': + out.icon = 6; + out.sphereColor = 2; + break; + case 'SHOCK': + out.icon = 7; + out.sphereColor = 3; + break; + case 'WAVE': + out.icon = 8; + out.sphereColor = 4; + break; + } + break; + } + return out; +} + +export class BallChanger extends DefaultEntity { + + protected override async setupType(settings: BallChangerAttributes): Promise { + if (!settings.changerType) { + this.generateNoImageType(); + return; + } + + const { icon, sphereColor, flipX, flipY } = resolveChangerIcon(settings.changerType); + + const anims: Anims = { + namedSheets: { + base: { mapStyle: 'puzzle2', width: 16, height: 16, offX: 144, offY: 64 }, + sphere: { mapStyle: 'puzzle2', width: 16, height: 16, offX: 192, offY: 64, xCount: 4 }, + icon: { mapStyle: 'puzzle2', width: 16, height: 16, offX: 144, offY: 80, xCount: 3 }, + }, + SUB: [{ + size: { x: 16, y: 16, z: 0 }, + offset: { y: -4 }, + sheet: 'base', + SUB: [{ name: 'on', time: 1, frames: [2] }], + }, { + size: { x: 16, y: 0, z: 16 }, + offset: { z: 12, y: -5 }, + renderMode: 'lighter', + sheet: 'sphere', + tileOffset: 4 + sphereColor * 4, + SUB: [{ name: 'on', time: 0.15, frames: [0], repeat: true }], + }, { + size: { x: 16, y: 0, z: 16 }, + offset: { z: 13, y: -4 }, + sheet: 'icon', + frames: [icon], + flipX, + flipY, + SUB: [{ name: 'on' }], + }], + }; + + await this.applyAnims({ + anims, + animName: 'on', + label: 'BallChanger', + baseSize: { x: 24, y: 24, z: 0 }, + }); + } + +} diff --git a/webapp/src/app/services/phaser/entities/registry/base-wall.ts b/webapp/src/app/services/phaser/entities/registry/base-wall.ts new file mode 100644 index 00000000..d4f0006b --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/base-wall.ts @@ -0,0 +1,90 @@ +import { WallColors } from '../../../../models/map-styles'; +import { Globals } from '../../../globals'; +import { Helper } from '../../helper'; +import { Fix } from '../cc-entity'; +import { DefaultEntity } from './default-entity'; + +export const TILE_W = 8; +export const TILE_H = 9; +export const END_OFF_X = 176; +export const SHEET_OFF_Y = 64; + +const WALL_ALPHA = 0.76; + +type CollType = 'BLOCK' | 'PBLOCK' | 'NPBLOCK'; + +const COLL_COLORS: Record = { + BLOCK: { front: 'blockFront', top: 'blockTop' }, + PBLOCK: { front: 'pBlockFront', top: 'pBlockTop' }, + NPBLOCK: { front: 'npBlockFront', top: 'npBlockTop' }, +}; + +function hexToNumber(hex: string): number { + return parseInt(hex.replace('#', ''), 16); +} + +function tintFix(width: number, height: number, offsetY: number, tint: number): Fix { + return { + gfx: 'pixel', + x: 0, + y: 0, + w: width, + h: height, + scaleX: width, + scaleY: height, + tint, + alpha: WALL_ALPHA, + scalable: false, + offsetX: width / 2, + offsetY, + ignoreBoundingboxX: true, + }; +} + +export interface WallContext { + sheet: string; + frontTint: number; + topTint: number; +} + +export abstract class BaseWall extends DefaultEntity { + + protected resolveWallContext(collType: string | undefined): WallContext | undefined { + const sheet = Helper.getMapStyle(Globals.map, 'puzzle')?.sheet; + const colors = Helper.getMapStyle(Globals.map, 'walls')?.colors; + if (!sheet || !colors) { + return undefined; + } + const keys = COLL_COLORS[collType as CollType] ?? COLL_COLORS.BLOCK; + return { + sheet, + frontTint: hexToNumber(colors[keys.front]), + topTint: hexToNumber(colors[keys.top]), + }; + } + + protected async pushWallBody( + width: number, + topDepth: number, + wallZHeight: number, + frontTint: number, + topTint: number, + ): Promise { + // front face + await this.pushFix(tintFix(width, wallZHeight, -1, frontTint)); + // top face + await this.pushFix(tintFix(width, topDepth, -wallZHeight - 1, topTint)); + // effect overlay (lighter blend) + await this.pushFix({ + gfx: 'media/entity/objects/object-effects.png', + x: 176, + y: 0, + w: 16, + h: 16, + alpha: WALL_ALPHA, + renderMode: 'lighter', + renderHeight: wallZHeight + 1, + offsetY: 1, + }); + } +} diff --git a/webapp/src/app/services/phaser/entities/registry/blocker.ts b/webapp/src/app/services/phaser/entities/registry/blocker.ts new file mode 100644 index 00000000..646822f9 --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/blocker.ts @@ -0,0 +1,45 @@ +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; + +interface BlockerTypeDef { + offY: number; + flipX: boolean; +} + +const BLOCKER_TYPES: Record = { + diagonalNW: { offY: 128, flipX: false }, + diagonalNE: { offY: 128, flipX: true }, + diagonalSE: { offY: 192, flipX: true }, + diagonalSW: { offY: 192, flipX: false }, +}; + +export interface BlockerAttributes { + blockerType: string; + condition?: unknown; +} + +export class Blocker extends DefaultEntity { + + protected override async setupType(settings: BlockerAttributes): Promise { + const type = BLOCKER_TYPES[settings.blockerType]; + if (!type) { + this.generateErrorImage(); + return; + } + + const anims: Anims = { + sheet: { mapStyle: 'puzzle', width: 32, height: 64, offY: type.offY }, + flipX: type.flipX, + SUB: [{ name: 'on', frames: [5, 6] }], + }; + + await this.applyAnims({ + anims, + animName: 'on', + label: settings.blockerType, + mapStyle: 'puzzle', + baseSize: { x: 32, y: 32, z: 24 }, + }); + } + +} diff --git a/webapp/src/app/services/phaser/entities/registry/bounce-block.ts b/webapp/src/app/services/phaser/entities/registry/bounce-block.ts new file mode 100644 index 00000000..6c55b2f4 --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/bounce-block.ts @@ -0,0 +1,48 @@ +import { Point3 } from '../../../../models/cross-code-map'; +import { Globals } from '../../../globals'; +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; + +export interface BounceBlockAttributes { + blockType: string; + group?: string; + action?: unknown; + ballTime?: number; +} + +export class BounceBlock extends DefaultEntity { + + protected override async setupType(settings: BounceBlockAttributes): Promise { + const types = await Globals.jsonLoader.loadJsonMerged('bounce-block-types.json'); + + const attributes = this.getAttributes(); + attributes['blockType'].options = {}; + for (const name of Object.keys(types)) { + attributes['blockType'].options[name] = name; + } + + const type = types[settings.blockType]; + if (!type) { + this.generateErrorImage(); + return; + } + + await this.applyAnims({ + anims: type.anims, + label: settings.blockType, + mapStyle: 'puzzle2', + baseSize: type.size, + }); + } + +} + +interface BounceBlockTypes { + [name: string]: BounceBlockType; +} + +interface BounceBlockType { + size: Point3; + shape: string; + anims: Anims; +} diff --git a/webapp/src/app/services/phaser/entities/registry/chest.ts b/webapp/src/app/services/phaser/entities/registry/chest.ts new file mode 100644 index 00000000..5e74a926 --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/chest.ts @@ -0,0 +1,62 @@ +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; + +interface ChestTypeDef { + anim: string; +} + +const CHEST_TYPES: Record = { + Default: { anim: 'idle' }, + Bronze: { anim: 'idleBronze' }, + Silver: { anim: 'idleSilver' }, + Gold: { anim: 'idleGold' }, + Key: { anim: 'idleKey' }, + MasterKey: { anim: 'idleMasterKey' }, +}; + +export interface ChestAttributes { + chestType?: string; + item?: number; + amount?: number; +} + +export class Chest extends DefaultEntity { + + protected override async setupType(settings: ChestAttributes): Promise { + const type = CHEST_TYPES[settings.chestType!] ?? CHEST_TYPES['Default']!; + + const anims: Anims = { + offset: { x: 0.5, y: 0, z: 6 }, + shadow: { size: 16 }, + SUB: [{ + sheet: { src: 'media/entity/objects/treasure.png', width: 16, height: 24 }, + frames: [0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5], + SUB: [ + { name: 'idle' }, + { name: 'idleBronze' }, + { name: 'idleSilver' }, + { name: 'idleGold' }, + { name: 'idleKey' }, + { name: 'idleMasterKey' }, + ], + }, { + sheet: { src: 'media/entity/objects/treasure.png', width: 24, height: 24, offY: 56 }, + SUB: [ + { name: 'idleBronze', frames: [3] }, + { name: 'idleSilver', frames: [2] }, + { name: 'idleGold', frames: [0] }, + { name: 'idleKey', frames: [4] }, + { name: 'idleMasterKey', frames: [5] }, + ], + }], + }; + + await this.applyAnims({ + anims, + animName: type.anim, + label: 'Chest', + baseSize: { x: 17, y: 13, z: 12 }, + }); + } + +} diff --git a/webapp/src/app/services/phaser/entities/registry/compressor-bouncer.ts b/webapp/src/app/services/phaser/entities/registry/compressor-bouncer.ts new file mode 100644 index 00000000..26ee6c20 --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/compressor-bouncer.ts @@ -0,0 +1,48 @@ +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; +import { FACE4 } from './npc'; + +type Face4 = keyof typeof FACE4; + +export interface CompressorBouncerAttributes { + dir?: Face4; + spawnCondition?: unknown; + condition?: string; +} + +const DIR_TILE_OFFSETS = [0, 4, 8, 4]; +const DIR_FLIP_X = [0, 0, 0, 1]; + +export class CompressorBouncer extends DefaultEntity { + + protected override async setupType(settings: CompressorBouncerAttributes): Promise { + const dirIndex = FACE4[settings.dir ?? 'NORTH'] ?? 0; + + const animName = settings.condition ? 'off' : 'on'; + + const anims: Anims = { + sheet: { mapStyle: 'bouncer', width: 16, height: 32, xCount: 4 }, + tileOffset: DIR_TILE_OFFSETS[dirIndex], + flipX: !!DIR_FLIP_X[dirIndex], + size: { x: 16, y: 0, z: 32 }, + wallY: 0, + offset: { y: 4 }, + SUB: [ + { name: 'on', frames: [3] }, + { name: 'off', frames: [0], wallY: 1, offset: { y: -4 }, size: { x: 16, y: 16, z: 0 } }, + ], + }; + + // HACK, probably workaround for wallY + (anims.SUB as unknown as Anims[])[1].offset!.y! += 8; + + + await this.applyAnims({ + anims, + animName, + label: 'CompressorBouncer', + baseSize: { x: 8, y: 8, z: 24 }, + }); + } + +} diff --git a/webapp/src/app/services/phaser/entities/registry/default-entity.ts b/webapp/src/app/services/phaser/entities/registry/default-entity.ts index 3a3f597d..6998aad6 100644 --- a/webapp/src/app/services/phaser/entities/registry/default-entity.ts +++ b/webapp/src/app/services/phaser/entities/registry/default-entity.ts @@ -1,6 +1,9 @@ import { CCMap } from '../../tilemap/cc-map'; -import { CCEntity, EntityAttributes, ScaleSettings } from '../cc-entity'; +import { CCEntity, EntityAttributes, Fix, ScaleSettings } from '../cc-entity'; import { Globals } from '../../../globals'; +import { Point, Point3 } from '../../../../models/cross-code-map'; +import { Anims, AnimSheet, flattenSUBs, ShadowSpec } from '../../sheet-parser'; +import { Helper } from '../../helper'; export interface EntitiesJson { [key: string]: JsonEntityType; @@ -23,37 +26,60 @@ interface JsonEntityType { alwaysRecreate?: boolean; noZLine?: boolean; + + anims?: Anims; + size?: Point3; } -interface SizeOverride { - x?: number; - y?: number; +interface ApplyAnimsOpts { + anims: Anims; + animName?: string; + label?: string; + mapStyle?: string; + baseSize?: Point3; + + // currently only used in Prop, doesn't behave correctly for most other entities + applyWallY?: boolean; + + // direction to pick out of `tileOffsets` / dir-indexed `flipX`; falls back to the middle dir + dirIndex?: number; + + // CrossCode source-level `useStyleSheet`: the sheet src/offset should come from + // the current map's mapStyle entry. String form names a specific mapStyle and each + // AnimSheet is rewritten to resolve via it (src swapped, x/y added to offX/offY). + // Boolean `true` relies on the caller's `mapStyle` fallback for sheets with null src. + useStyleSheet?: string | boolean; +} + +interface PropSprite { + sheet: AnimSheet; + tileOffset: number; + alpha: number; + offset?: Partial; + renderMode?: string; + flipX?: boolean; + flipY?: boolean; + aboveZ?: number; } export class DefaultEntity extends CCEntity { - private static BASE_SIZE_OVERRIDES: {[entityType: string]: SizeOverride} = { - 'WallHorizontal': { - y: 8, - }, - 'WallVertical': { - x: 8, - } - }; + private static readonly SHADOW_SHEET = 'media/entity/shadow.png'; + constructor( scene: Phaser.Scene, map: CCMap, x: number, y: number, - private typeName: string + private typeName: string, ) { super(scene, map, x, y, typeName); const entities = Globals.jsonLoader.loadJsonMergedSync('entities.json'); this.typeDef = entities[typeName]; } - private readonly typeDef?: JsonEntityType; + protected readonly typeDef?: JsonEntityType; private settings: any = {}; private scaleSettings?: ScaleSettings; @@ -66,7 +92,7 @@ export class DefaultEntity extends CCEntity { Object.keys(this.settings).forEach(key => { out[key] = { type: 'Unknown', - description: '' + description: '', }; }); return out; @@ -81,16 +107,17 @@ export class DefaultEntity extends CCEntity { return undefined; } - const step = this.typeDef.scalableStep || 1; + const step = this.typeDef.scalableStep; + const typeSize = this.typeDef.size; this.scaleSettings = { scalableX: !!this.typeDef.scalableX, scalableY: !!this.typeDef.scalableY, - scalableStep: step, + scalableStep: step || 1, baseSize: { - x: DefaultEntity.BASE_SIZE_OVERRIDES[this.typeName]?.x ?? step, - y: DefaultEntity.BASE_SIZE_OVERRIDES[this.typeName]?.y ?? step, - } + x: typeSize?.x ?? step ?? 16, + y: typeSize?.y ?? step ?? 16, + }, }; return this.scaleSettings; @@ -103,10 +130,341 @@ export class DefaultEntity extends CCEntity { return; } + if (this.typeDef.anims) { + await this.applyAnims({ + anims: this.typeDef.anims, + label: this.typeName, + baseSize: { x: 16, y: 16, z: 0, ...this.typeDef.size }, + }); + return; + } + const boxColor = this.convertToColor(this.typeDef.boxColor); const frontColor = this.convertToColor(this.typeDef.frontColor); - this.generateNoImageType(boxColor.rgb, boxColor.a, frontColor.rgb, frontColor.a); + this.generateNoImageType(boxColor.rgb, boxColor.a, frontColor.rgb, frontColor.a, this.typeDef.size); + + } + + protected snapSizeToScale(scaleSettings: ScaleSettings) { + let size = this.details.settings['size'] as Point | undefined; + if (!size) { + size = { x: 16, y: 16 }; + this.details.settings['size'] = size; + } + const step = scaleSettings.scalableStep; + if (scaleSettings.scalableX) { + size.x = Math.max(step, Math.round(size.x / step) * step); + } else { + size.x = scaleSettings.baseSize.x; + } + if (scaleSettings.scalableY) { + size.y = Math.max(step, Math.round(size.y / step) * step); + } else { + size.y = scaleSettings.baseSize.y; + } + } + + private static rewriteSheetsToMapStyle(anims: Anims, styleName: string, replaceOffset: boolean): void { + if (anims.namedSheets) { + for (const key of Object.keys(anims.namedSheets)) { + DefaultEntity.rewriteSheetToMapStyle(anims.namedSheets[key], styleName, false); + } + } + if (anims.sheet && typeof anims.sheet !== 'string') { + DefaultEntity.rewriteSheetToMapStyle(anims.sheet, styleName, replaceOffset); + } + if (Array.isArray(anims.SUB)) { + for (const sub of anims.SUB) { + DefaultEntity.rewriteSheetsToMapStyle(sub, styleName, replaceOffset); + } + } + } + + private static rewriteSheetToMapStyle(sheet: AnimSheet, styleName: string, replaceOffset: boolean): void { + sheet.mapStyle = styleName; + sheet.src = undefined; + if (replaceOffset) { + sheet.offX = 0; + sheet.offY = 0; + } + } + + protected resolveSheet(sheet: AnimSheet): AnimSheet { + if (!sheet.mapStyle) { + return sheet; + } + const style = Helper.getMapStyle(Globals.map, sheet.mapStyle); + return { + ...sheet, + src: style?.sheet ?? '', + offX: (sheet.offX ?? 0) + (style?.x ?? 0), + offY: (sheet.offY ?? 0) + (style?.y ?? 0), + }; + } + + protected async applyAnims(opts: ApplyAnimsOpts): Promise { + const ok = await this.buildAnims(opts); + if (!ok) { + this.generateErrorImage(); + } + return ok; + } + + private async buildAnims(opts: ApplyAnimsOpts): Promise { + let { anims } = opts; + const { animName, label, mapStyle, baseSize } = opts; + if (typeof opts.useStyleSheet === 'string' && Helper.getMapStyle(Globals.map, opts.useStyleSheet)) { + anims = Helper.copy(anims); + DefaultEntity.rewriteSheetsToMapStyle(anims, opts.useStyleSheet, !anims.namedSheets); + } + if (!await this.preloadAnimSheets(anims)) { + return false; + } + const sprites: PropSprite[] = []; + const resolvedAnim = animName || 'default'; + + const firstName = this.setupAnimRecursive(resolvedAnim, anims, label, {}, sprites, opts.applyWallY, opts.dirIndex); + if (sprites.length === 0 && firstName) { + this.setupAnimRecursive(firstName, anims, label, {}, sprites, opts.applyWallY, opts.dirIndex); + } + + if (sprites.length === 0) { + console.warn('failed creating entity from anims:', label); + return false; + } + + // sort so sprites with higher aboveZ render on top of lower ones + sprites.sort((a, b) => (a.aboveZ ?? 0) - (b.aboveZ ?? 0)); + + for (let i = 0; i < sprites.length; i++) { + const sprite = sprites[i]; + if (!sprite.sheet) { + console.error('anim sheet not found, ', label); + return false; + } + + const fix: Fix = { + gfx: sprite.sheet.src, + w: sprite.sheet.width, + h: sprite.sheet.height, + x: sprite.sheet.width * sprite.tileOffset + (sprite.sheet.offX || 0), + y: sprite.sheet.offY || 0, + alpha: sprite.alpha, + offsetX: 0, + offsetY: 0, + flipX: sprite.flipX, + flipY: sprite.flipY, + renderMode: sprite.renderMode, + aboveZ: sprite.aboveZ, + }; + + if (sprite.offset) { + fix.offsetX = sprite.offset.x || 0; + fix.offsetY = (sprite.offset.y || 0) - (sprite.offset.z || 0); + } + + if (!fix.gfx && mapStyle) { + const style = Helper.getMapStyle(Globals.map, mapStyle); + fix.gfx = style?.sheet ?? ''; + fix.x += style?.x ?? 0; + fix.y += style?.y ?? 0; + } + if (!await this.pushFix(fix, i === 0)) { + return false; + } + } + + if (baseSize) { + this.entitySettings.baseSize = baseSize; + if (anims.shadow && anims.shadow.size > 0) { + await this.pushShadowFix(anims.shadow, baseSize); + } + } + this.updateSettings(); + + return true; + } + + // Prop/entity anim sheets commonly omit xCount. setupAnimRecursive runs synchronously + // and would fall back to 999, placing tileOffset>1 past the right edge of narrow sheets. + // Preload each referenced sheet and fill xCount from the actual image width. + // Also callable by subclasses with custom render paths that don't go through applyAnims. + protected async preloadAnimSheets(anims: Anims): Promise { + const sheets = new Set(); + for (const leaf of flattenSUBs(anims, {})) { + const sheet = typeof leaf.sheet === 'string' ? leaf.namedSheets?.[leaf.sheet] : leaf.sheet; + if (sheet) { + sheets.add(sheet); + } + } + for (const sheet of sheets) { + if (!sheet.src) { + continue; + } + if (!await Helper.loadTexture(sheet.src, this.scene)) { + return false; + } + if (!sheet.xCount) { + const img = Globals.scene.textures.get(sheet.src.trim()).getSourceImage(); + sheet.xCount = Math.max(1, Math.floor(img.width / sheet.width)); + } + } + return true; + } + + private async pushShadowFix(spec: ShadowSpec, baseSize: Point3) { + await Helper.loadTexture(DefaultEntity.SHADOW_SHEET, this.scene); + + const tile = Helper.clamp(8 - Math.floor(spec.size / 4), 0, 7); + const shadowAboveZ = spec.aboveZ ?? 0; + // default fix render places img at boundBoxOffset.y - h; compensate to center at baseSize.y/2 + const fix: Fix = { + gfx: DefaultEntity.SHADOW_SHEET, + w: 32, + h: 32, + x: tile * 32, + y: 0, + offsetX: spec.offset?.x ?? 0, + offsetY: (spec.offset?.y ?? 0) + 16 - baseSize.y / 2, + alpha: 0.5, + scaleY: spec.scaleY ?? 1, + aboveZ: shadowAboveZ, + }; + const fixes = this.entitySettings.sheets.fix; + let insertIdx = 0; + while (insertIdx < fixes.length && Number(fixes[insertIdx].aboveZ ?? 0) < shadowAboveZ) { + insertIdx++; + } + fixes.splice(insertIdx, 0, fix); + } + + protected setupAnimRecursive( + propAnim: string, + anims: Anims, + label: string | undefined, + settings: Anims, + sprites: PropSprite[], + applyWallY?: boolean, + dirIndex?: number, + ): string | undefined { + let firstName = anims.name; + if (anims.name && anims.name !== propAnim) { + return firstName; + } + settings = { + ...settings, + ...anims, + }; + if (Array.isArray(anims.SUB)) { + for (const sub of anims.SUB) { + const animName = this.setupAnimRecursive(propAnim, sub, label, settings, sprites, applyWallY, dirIndex); + if (!firstName) { + firstName = animName; + } + } + return firstName; + } + let sheet: AnimSheet | undefined; + if (typeof settings.sheet === 'string') { + sheet = settings.namedSheets?.[settings.sheet]; + } else { + sheet = settings.sheet; + } + if (!sheet) { + console.error('anim sheet not found, skip: ', label); + return firstName; + } + sheet = this.resolveSheet(sheet); + + const offset: Point3 = { + x: 0, + y: 0, + z: 0, + ...settings.offset, + }; + + if (settings.wallY && applyWallY) { + offset.y += settings.wallY * (settings.size?.z ?? 0); + } + + if (settings.gfxOffset) { + offset.x += settings.gfxOffset.x ?? 0; + offset.y += settings.gfxOffset.y ?? 0; + } + + if (settings.framesSpriteOffset) { + offset.x += settings.framesSpriteOffset[0] ?? 0; + offset.y += settings.framesSpriteOffset[1] ?? 0; + offset.z += settings.framesSpriteOffset[2] ?? 0; + } + + const frame = settings.frames?.[0] ?? 0; + const tileOffset = settings.tileOffset ?? 0; + let effectiveFrame = frame + tileOffset; + + // tileOffsets is a dir-indexed frame offset (multi-dir anims). The caller passes + // `dirIndex` (derived from the entity's facing); fall back to the middle direction. + let dirIdx = -1; + if (Array.isArray(settings.tileOffsets) && settings.tileOffsets.length > 0) { + const len = settings.tileOffsets.length; + dirIdx = Helper.clamp(dirIndex ?? Math.floor(len / 2), 0, len - 1); + effectiveFrame += settings.tileOffsets[dirIdx]; + } + if (effectiveFrame > 0) { + const xCount = sheet.xCount || 999; + const xOffset = (effectiveFrame % xCount) * sheet.width; + const yOffset = Math.floor(effectiveFrame / xCount) * sheet.height; + sheet = { + ...sheet, + offX: (sheet.offX ?? 0) + xOffset, + offY: (sheet.offY ?? 0) + yOffset, + }; + } + + let flipX: boolean | undefined; + if (Array.isArray(settings.flipX)) { + const idx = dirIdx >= 0 && settings.flipX.length === (settings.tileOffsets?.length ?? -1) ? dirIdx : frame; + flipX = !!settings.flipX[idx]; + } else { + flipX = settings.flipX; + } + + sprites.push({ + sheet: sheet, + alpha: settings.framesAlpha?.[frame] ?? 1, + offset: offset, + tileOffset: 0, + renderMode: settings.renderMode, + flipX: flipX, + flipY: settings.flipY, + aboveZ: settings.aboveZ, + }); + return firstName; + } + + protected async pushFix(fix: Fix, reset = false): Promise { + const exists = await Helper.loadTexture(fix.gfx, this.scene); + if (!exists) { + console.error('texture does not exist: ' + fix.gfx); + return false; + } + const scale = this.getScaleSettings(); + if (fix.scalable === undefined && (fix.renderHeight || (scale && (scale.scalableX || scale.scalableY)))) { + fix.scalable = true; + } + if (reset || !this.entitySettings) { + this.entitySettings = { sheets: { fix: [] } } as any; + } + if (fix.scalable) { + this.entitySettings.scalableX = scale?.scalableX; + this.entitySettings.scalableY = scale?.scalableY; + } + this.entitySettings.baseSize ??= { x: 16, y: 16, z: 0, ...this.typeDef?.size }; + this.entitySettings.sheets ??= { fix: [] }; + this.entitySettings.sheets.fix ??= []; + this.entitySettings.sheets.fix.push(fix); + return true; } private convertToColor(rgba?: string) { @@ -119,7 +477,7 @@ export class DefaultEntity extends CCEntity { const b = parseInt(numbers[2], 10); return { rgb: b + (g * 2 ** 8) + (r * 2 ** 16), - a: parseFloat(numbers[3]) + a: parseFloat(numbers[3]), }; } } diff --git a/webapp/src/app/services/phaser/entities/registry/destructible.ts b/webapp/src/app/services/phaser/entities/registry/destructible.ts index ffaedbe7..bd9b8003 100644 --- a/webapp/src/app/services/phaser/entities/registry/destructible.ts +++ b/webapp/src/app/services/phaser/entities/registry/destructible.ts @@ -1,123 +1,47 @@ -import { Point, Point3 } from '../../../../models/cross-code-map'; +import { Point3 } from '../../../../models/cross-code-map'; import { Globals } from '../../../globals'; import { Helper } from '../../helper'; -import { CCEntity, EntityAttributes, Fix, ScaleSettings } from '../cc-entity'; -import { Anims, AnimSheet } from '../../sheet-parser'; +import { ScaleSettings } from '../cc-entity'; +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; -export class Destructible extends CCEntity { - private attributes: EntityAttributes = { - desType: { - type: 'String', - description: 'Type of destructible object', - withNull: true, - }, - enemyInfo: { - type: 'EnemyType', - description: 'Enemy to spawn after destruction', - withNull: true, - }, - spawnCondition: { - type: 'VarCondition', - description: 'Condition for Enemy to spawn', - }, - blockNavMap: { - type: 'Boolean', - description: 'If true, block path map and update when destroyed', - }, - permaDestruct: { - type: 'Boolean', - description: 'If true, then destructible stays destroyed after reentering map', - }, - onDestructIncrease: { - type: 'VarName', - description: 'Variable to increase by one when destroyed', - }, - onPreDestructIncrease: { - type: 'VarName', - description: 'Variable to increase by one when destroyed' - } - }; - - public getAttributes(): EntityAttributes { - return this.attributes; - } +export class Destructible extends DefaultEntity { - public getScaleSettings(): ScaleSettings | undefined { + public override getScaleSettings(): ScaleSettings | undefined { return undefined; } - protected async setupType(settings: any): Promise { + protected override async setupType(settings: any): Promise { const types = await Globals.jsonLoader.loadJsonMerged('destructible-types.json'); - this.attributes['desType'].options = {}; - for (const name of Object.keys(types)) { - this.attributes['desType'].options[name] = name; + const attributes = this.getAttributes(); + if (attributes['desType']) { + attributes['desType'].options = {}; + for (const name of Object.keys(types)) { + attributes['desType'].options[name] = name; + } } const type = types[settings.desType]; if (!type) { - this.generateNoImageType(0xFF0000, 1); + this.generateErrorImage(); return; } - const sheets: Fix[] = []; - const defaultSheet = type.anims.sheet as AnimSheet; + const anims = Helper.copy(type.anims); - for (const sub of (type.anims.SUB as Anims[])) { - const sheet = defaultSheet || type.anims.namedSheets![sub.sheet as string]; - let frame = sub.frames ? sub.frames[0] : 0; - - // frame 1 is always glow, don't show in map editor - if (frame === 1) { - frame = 0; - } - - const offset: Partial = { - x: 0, - y: 0 - }; - if (type.anims.offset) { - offset.x = type.anims.offset.x; - offset.y = type.anims.offset.y; - } - const xCount = sheet.xCount || 999; - const xOffset = (frame % xCount) * sheet.width; - const yOffset = Math.floor(frame / xCount) * sheet.height; - sheets.push({ - gfx: sheet.src, - x: (sheet.offX || 0) + xOffset, - y: (sheet.offY || 0) + yOffset, - w: sheet.width, - h: sheet.height, - offsetX: offset.x, - offsetY: offset.y, - renderMode: sub.renderMode - }); + // frame 1 is always glow, don't show in map editor + if (Array.isArray(anims.SUB)) { + anims.SUB = anims.SUB.filter(sub => sub.frames?.[0] !== 1); } - this.entitySettings = { - sheets: { - fix: sheets, - }, + // sheet src is null in json; CrossCode fills it from the current map's destruct style. + await this.applyAnims({ + anims, + label: settings.desType, + mapStyle: 'destruct', baseSize: type.size, - } as any; - - const mapStyle = Helper.getMapStyle(Globals.map, 'destruct'); - for (const sheet of sheets) { - if (!sheet.gfx) { - sheet.gfx = mapStyle?.sheet; - } - const exists = await Helper.loadTexture(sheet.gfx, this.scene); - if (!exists) { - console.error('sheet does not exist: ' + sheet.gfx); - } - } - - if (sheets.length === 0) { - this.generateErrorImage(); - } - - this.updateSettings(); + }); } } diff --git a/webapp/src/app/services/phaser/entities/registry/door.ts b/webapp/src/app/services/phaser/entities/registry/door.ts new file mode 100644 index 00000000..abd63c97 --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/door.ts @@ -0,0 +1,113 @@ +import { Point3 } from '../../../../models/cross-code-map'; +import { Globals } from '../../../globals'; +import { Helper } from '../../helper'; +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; + +type Dir = 'NORTH' | 'EAST' | 'SOUTH' | 'WEST'; + +export interface DoorAttributes { + doorType?: string; + dir?: Dir; + variation?: string; + condition?: string; +} + +interface DoorTypeDef { + size: Point3; + anims: Anims; +} + +type DoorTypes = Record; + +export class Door extends DefaultEntity { + + protected override async setupType(settings: DoorAttributes): Promise { + const types = await Globals.jsonLoader.loadJsonMerged('door-types.json'); + const type = settings.doorType ? types[settings.doorType] : undefined; + + if (type) { + await this.applyAnims({ + anims: type.anims, + animName: 'idle', + label: `Door ${settings.doorType}`, + baseSize: type.size, + }); + return; + } + + await this.setupDefault(settings); + } + + private async setupDefault(settings: DoorAttributes): Promise { + const dir: Dir = settings.dir ?? 'SOUTH'; + const sideways = dir === 'EAST' || dir === 'WEST'; + const style = Helper.getMapStyle(Globals.map, 'map'); + const variation = settings.variation ? style?.doorVariations?.[settings.variation] : undefined; + const offX = variation?.x ?? 0; + const offY = variation?.y ?? 0; + + let anims: Anims; + if (sideways) { + anims = { + offset: { x: dir === 'WEST' ? -8 : 8, y: 0, z: 0 }, + namedSheets: { + door: { mapStyle: 'map', width: 16, height: 96, xCount: 1, offX: offX + 128, offY }, + }, + sheet: 'door', + flipX: dir === 'EAST', + SUB: [{ name: 'idle', frames: [0] }], + }; + } else { + anims = { + offset: { x: 0, y: dir === 'NORTH' ? -15 : 0, z: 0 }, + namedSheets: { + door: { mapStyle: 'map', width: 32, height: 48, xCount: 4, offX, offY }, + }, + sheet: 'door', + tileOffset: dir === 'NORTH' ? 4 : 0, + framesAlpha: dir === 'NORTH' ? [0.8] : undefined, + SUB: [{ name: 'idle', frames: [0] }], + }; + } + + const hasDoorMat = variation?.doorMat ?? style?.hasDoorMat; + if (hasDoorMat) { + anims.namedSheets!['mat'] = { mapStyle: 'map', width: 32, height: 32, xCount: 5, offY: 96 }; + let matOffsetX = 0; + let matOffsetY = 0; + if (dir === 'SOUTH') { + matOffsetY = 16; + } + if (dir === 'EAST') { + matOffsetX = 8; + } + if (dir === 'WEST') { + matOffsetX = -8; + } + (anims.SUB as Anims[]).push({ + sheet: 'mat', + tileOffset: sideways ? 0 : 5, + flipX: dir === 'EAST', + flipY: dir === 'NORTH', + offset: { x: matOffsetX, y: matOffsetY, z: 0 }, + aboveZ: -1, + SUB: [ + { name: 'idle', frames: [settings.condition ? 0 : 4] }, + ], + }); + } + + const baseSize = sideways + ? { x: 16, y: 32, z: 48 } + : { x: 32, y: 16, z: 48 }; + await this.applyAnims({ + anims, + animName: 'idle', + label: 'Door', + mapStyle: 'map', + baseSize, + }); + } + +} diff --git a/webapp/src/app/services/phaser/entities/registry/dynamic-platform.ts b/webapp/src/app/services/phaser/entities/registry/dynamic-platform.ts new file mode 100644 index 00000000..94ed7a24 --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/dynamic-platform.ts @@ -0,0 +1,56 @@ +import { Point3 } from '../../../../models/cross-code-map'; +import { Globals } from '../../../globals'; +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; + +export interface DynamicPlatformAttributes { + platformType: string; + states?: unknown; + pauseCondition?: string; + pauseAnimation?: unknown; + skipWait?: boolean; + spawnCondition?: string; +} + + +interface DynamicPlatformTypes { + [name: string]: DynamicPlatformType | undefined; +} + +interface DynamicPlatformType { + size: Point3; + styleKey?: string; + terrain: number; + shadowSize?: number; + anims: Anims; + walkAnims: Record>; + fx?: Record; +} + + +export class DynamicPlatform extends DefaultEntity { + + protected override async setupType(settings: DynamicPlatformAttributes): Promise { + const types = await Globals.jsonLoader.loadJsonMerged('dynamic-platform-types.json'); + + const attributes = this.getAttributes(); + attributes['platformType'].options = {}; + for (const name of Object.keys(types)) { + attributes['platformType'].options[name] = name; + } + + const type = types[settings.platformType]; + if (!type) { + this.generateErrorImage(); + return; + } + + await this.applyAnims({ + anims: type.anims, + label: settings.platformType, + mapStyle: type.styleKey, + baseSize: type.size, + }); + } + +} diff --git a/webapp/src/app/services/phaser/entities/registry/element-pole-dest.ts b/webapp/src/app/services/phaser/entities/registry/element-pole-dest.ts new file mode 100644 index 00000000..7a20a8d7 --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/element-pole-dest.ts @@ -0,0 +1,48 @@ +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; + +const ELEMENT_INDEX: Record = { + HEAT: 1, + COLD: 2, + SHOCK: 3, + WAVE: 4, +}; + +export interface ElementPoleDestAttributes { + group?: string; + element: string; + variable?: string; + activeTime?: number; +} + +export class ElementPoleDest extends DefaultEntity { + + protected override async setupType(settings: ElementPoleDestAttributes): Promise { + const elementIndex = ELEMENT_INDEX[settings.element]; + if (!elementIndex) { + this.generateErrorImage(); + return; + } + + const anims: Anims = { + sheet: { mapStyle: 'puzzle2', width: 16, height: 16, offX: 0, offY: 240 }, + SUB: [{ + frames: [0], + SUB: [{ name: 'on' }], + }, { + tileOffset: elementIndex * 2 - 1, + frames: [1], + SUB: [{ name: 'on' }], + }], + }; + + await this.applyAnims({ + anims, + animName: 'on', + label: 'ElementPoleDest', + mapStyle: 'puzzle2', + baseSize: { x: 16, y: 16, z: 0 }, + }); + } + +} diff --git a/webapp/src/app/services/phaser/entities/registry/element-pole.ts b/webapp/src/app/services/phaser/entities/registry/element-pole.ts new file mode 100644 index 00000000..ecbe1f72 --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/element-pole.ts @@ -0,0 +1,54 @@ +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; + +interface PoleTypeDef { + sizeZ: number; + offX: number; + offY: number; +} + +const POLE_TYPES: Record = { + LONG: { sizeZ: 48, offX: 0, offY: 144 }, + LONG_64: { sizeZ: 80, offX: 80, offY: 144 }, + SHORT: { sizeZ: 16, offX: 0, offY: 208 }, +}; + +export interface ElementPoleAttributes { + poleType: string; + group?: string; + spawnCondition?: unknown; +} + +export class ElementPole extends DefaultEntity { + + protected override async setupType(settings: ElementPoleAttributes): Promise { + const type = POLE_TYPES[settings.poleType]; + if (!type) { + this.generateErrorImage(); + return; + } + + const anims: Anims = { + namedSheets: { + pole: { + mapStyle: 'puzzle2', + width: 16, + height: 16 + type.sizeZ, + offX: type.offX, + offY: type.offY, + }, + }, + sheet: 'pole', + SUB: [{ name: 'on', frames: [0] }], + }; + + await this.applyAnims({ + anims, + animName: 'on', + label: settings.poleType, + mapStyle: 'puzzle2', + baseSize: { x: 16, y: 16, z: type.sizeZ }, + }); + } + +} diff --git a/webapp/src/app/services/phaser/entities/registry/element-shield-src.ts b/webapp/src/app/services/phaser/entities/registry/element-shield-src.ts new file mode 100644 index 00000000..82cc5eec --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/element-shield-src.ts @@ -0,0 +1,69 @@ +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; + +const ELEMENT_INDEX: Record = { + HEAT: 1, + COLD: 2, + SHOCK: 3, + WAVE: 4, +}; + +export interface ElementShieldSrcAttributes { + element?: string; + spawnCondition?: unknown; + onActivateAdd?: string; +} + +export class ElementShieldSrc extends DefaultEntity { + + protected override async setupType(settings: ElementShieldSrcAttributes): Promise { + const element = settings.element || 'HEAT'; + const elementIdx = ELEMENT_INDEX[element]; + if (!elementIdx) { + this.generateErrorImage(); + return; + } + const ballFrame = 1 + (elementIdx - 1) * 2; + + const anims: Anims = { + namedSheets: { + panel: { + mapStyle: 'puzzle2', + width: 16, + height: 16, + xCount: 1, + offX: 32, + offY: 48, + }, + ball: { + src: 'media/entity/objects/object-effects.png', + width: 24, + height: 24, + xCount: 5, + offX: 128, + offY: 64, + }, + }, + SUB: [{ + sheet: 'panel', + SUB: [{ name: 'on', frames: [0] }], + }, { + sheet: 'ball', + offset: { z: 12 }, + framesAlpha: [0.6], + SUB: [ + { name: 'on', frames: [0] }, + { name: 'on', frames: [ballFrame], renderMode: 'lighter' }, + ], + }], + }; + + await this.applyAnims({ + anims, + animName: 'on', + label: 'ElementShieldSrc', + baseSize: { x: 16, y: 16, z: 0 }, + }); + } + +} diff --git a/webapp/src/app/services/phaser/entities/registry/elevator.ts b/webapp/src/app/services/phaser/entities/registry/elevator.ts new file mode 100644 index 00000000..9fae3c8d --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/elevator.ts @@ -0,0 +1,126 @@ +import { Point, Point3 } from '../../../../models/cross-code-map'; +import { Globals } from '../../../globals'; +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; + +export interface ElevatorAttributes { + name?: string; + condition?: string; + spawnCondition?: string; + elevatorType: string; + destinations?: unknown; + blockEvent?: unknown; + blockEventCondition?: string; + faceDir?: string; +} + +interface ElevatorTypes { + [name: string]: ElevatorType; +} + +interface ElevatorType { + size: Point3; + ground: ElevatorGround; + markerDir: string; + stuckProbility: number; + speed?: number; + startDelta?: number; + noEndRunble?: boolean; + switchEntry: ElevatorSwitchEntry; + partyOffset?: Point[]; + posOffset?: Point; + singlePerson?: boolean; + closeFrontDoor?: boolean; +} + +interface ElevatorGround { + gfx: string; + x: number; + y: number; + w: number; + h: number; + flipX: boolean; + offset?: Partial; +} + +interface ElevatorSwitchEntry { + pos: Point3; + size: Point3; + collType?: number; + anims: Anims; + showFx?: ElevatorFx; + hideFx?: ElevatorFx; +} + +interface ElevatorFx { + sheet: string; + name: string; +} + +export class Elevator extends DefaultEntity { + + protected override async setupType(settings: ElevatorAttributes): Promise { + const types = await Globals.jsonLoader.loadJsonMerged('elevator-type.json'); + + const attributes = this.getAttributes(); + attributes['elevatorType'].options = {}; + for (const name of Object.keys(types)) { + attributes['elevatorType'].options[name] = name; + } + + const type = types[settings.elevatorType]; + if (!type) { + this.generateErrorImage(); + return; + } + + const groundBranch: Anims = { + sheet: { + src: type.ground.gfx, + width: type.ground.w, + height: type.ground.h, + offX: type.ground.x, + offY: type.ground.y, + }, + SUB: [{ + frames: [0], + flipX: type.ground.flipX, + offset: type.ground.offset, + }], + }; + + const switchBranch = this.buildSwitchBranch(type.switchEntry, type.size); + + const anims: Anims = { + SUB: switchBranch ? [groundBranch, switchBranch] : [groundBranch], + }; + + await this.applyAnims({ + anims, + animName: 'active', + label: settings.elevatorType, + baseSize: type.size, + }); + } + + private buildSwitchBranch(switchEntry: ElevatorSwitchEntry | undefined, baseSize: Point3): Anims | undefined { + if (!switchEntry) { + return undefined; + } + const switchAnims = switchEntry.anims; + const base = switchAnims.offset ?? {}; + // pos is measured corner-to-corner (top-left-front). Anim offsets are applied on top of the + // default bottom-center-of-baseSize anchor, so compensate with the switch's own coll size + // and the elevator's baseSize to put the sprite where the game puts it. + return { + ...switchAnims, + offset: { + x: (base.x ?? 0) + switchEntry.pos.x + switchEntry.size.x / 2 - baseSize.x / 2, + y: (base.y ?? 0) + switchEntry.pos.y + switchEntry.size.y - baseSize.y, + z: (base.z ?? 0) + switchEntry.pos.z, + }, + aboveZ: 1, + }; + } + +} diff --git a/webapp/src/app/services/phaser/entities/registry/enemy-counter.ts b/webapp/src/app/services/phaser/entities/registry/enemy-counter.ts new file mode 100644 index 00000000..8a3594f8 --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/enemy-counter.ts @@ -0,0 +1,35 @@ +import { Helper } from '../../helper'; +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; + +export interface EnemyCounterAttributes { + enemyCount?: number; +} + +export class EnemyCounter extends DefaultEntity { + + protected override async setupType(settings: EnemyCounterAttributes): Promise { + const count = Helper.clamp(settings.enemyCount ?? 0, 0, 99); + const tens = Math.floor(count / 10); + const ones = count % 10; + + const anims: Anims = { + namedSheets: { + body: { mapStyle: 'puzzle', width: 32, height: 32, offX: 0, offY: 96 }, + digit: { mapStyle: 'puzzle', width: 16, height: 16, offX: 128, offY: 96, xCount: 5 }, + }, + SUB: [ + { sheet: 'body', SUB: [{ name: 'default', frames: [0] }] }, + { sheet: 'digit', offset: { x: 1, y: -8 }, aboveZ: 1, SUB: [{ name: 'default', frames: [tens] }] }, + { sheet: 'digit', offset: { x: 6, y: -3 }, aboveZ: 1, SUB: [{ name: 'default', frames: [ones] }] }, + ], + }; + + await this.applyAnims({ + anims, + label: 'EnemyCounter', + baseSize: { x: 32, y: 30, z: 2 }, + }); + } + +} diff --git a/webapp/src/app/services/phaser/entities/registry/enemy.ts b/webapp/src/app/services/phaser/entities/registry/enemy.ts index 33377187..ca14cf0f 100644 --- a/webapp/src/app/services/phaser/entities/registry/enemy.ts +++ b/webapp/src/app/services/phaser/entities/registry/enemy.ts @@ -1,13 +1,73 @@ -import { Point, Point3 } from '../../../../models/cross-code-map'; +import { Point3 } from '../../../../models/cross-code-map'; import { EnemyData } from '../../../../models/enemy'; -import { MultiDirAnimation } from '../../../../models/multi-dir-animation'; -import { MultiEntityAnimation } from '../../../../models/multi-entity-animation'; -import { SingleDirAnimation } from '../../../../models/single-dir-animation'; -import { TileSheet } from '../../../../models/tile-sheet'; import { BasePath, FileExtension, PathResolver } from '../../../path-resolver'; +import { Fix } from '../cc-entity'; import { Helper } from '../../helper'; +import { Anims, AnimSheet, Effect, flattenSUBs } from '../../sheet-parser'; import { DefaultEntity } from './default-entity'; -import { Effect } from '../../sheet-parser'; + +interface MultiEntityAnim extends Anims { + anims: Record; + baseSize: Point3; + parts: Record; +} + +interface EntityAnim { + partAnims: Record; +} + +interface PartAnim { + anim: string; + posFrames?: [number, number, number]; +} + +interface EntityPart { + anims: Anims; + pos: Point3; + size: Point3; +} + +// Unit face vectors (screen coords: +y points down, so NORTH is -y). Mirrors CC's FACE8. +const FACE_VECTORS: Record = { + NORTH: { x: 0, y: -1 }, + NORTH_EAST: { x: 1, y: -1 }, + EAST: { x: 1, y: 0 }, + SOUTH_EAST: { x: 1, y: 1 }, + SOUTH: { x: 0, y: 1 }, + SOUTH_WEST: { x: -1, y: 1 }, + WEST: { x: -1, y: 0 }, + NORTH_WEST: { x: -1, y: -1 }, +}; + +// Port of ig.getDirectionIndex — picks a tileOffsets slot from a face vector + dir count. +function getDirectionIndex(faceX: number, faceY: number, numDirs: number): number { + switch (numDirs) { + case 1: + return 0; + case 2: + return faceX >= 0 ? 0 : 1; + case 4: + return Math.abs(faceY) > Math.abs(faceX) + ? (faceY < 0 ? 0 : 2) + : (faceX > 0 ? 1 : 3); + case 6: + return faceX >= 0 + ? (faceY <= 0 + ? 0 + (57 * faceX > -100 * faceY ? 1 : 0) + : 1 + (57 * faceX < 100 * faceY ? 1 : 0)) + : (faceY <= 0 + ? 4 + (-57 * faceX < -100 * faceY ? 1 : 0) + : 3 + (-57 * faceX > 100 * faceY ? 1 : 0)); + case 8: + return Math.abs(faceY) > 2.414 * Math.abs(faceX) + ? (faceY < 0 ? 0 : 4) + : Math.abs(faceX) > 2.414 * Math.abs(faceY) + ? (faceX > 0 ? 2 : 6) + : (faceX > 0 ? (faceY < 0 ? 1 : 3) : (faceY > 0 ? 5 : 7)); + default: + return Math.floor(numDirs / 2); + } +} export interface EnemyAttributes { enemyInfo?: EnemyInfo; @@ -43,248 +103,142 @@ export interface LevelClass { export class Enemy extends DefaultEntity { protected override async setupType(settings: EnemyAttributes) { settings.enemyInfo = settings.enemyInfo || {}; - + const enemyPath = PathResolver.convertToPath(BasePath.ENEMIES, settings.enemyInfo.type || '', FileExtension.NONE); const enemyData = await Helper.getJsonPromise(enemyPath) as EnemyData | undefined; if (!enemyData) { this.generateErrorImage(); return; } - + const sheetPath = PathResolver.convertToPath(BasePath.ANIMATIONS, enemyData.anims, FileExtension.NONE); - const rawSheet = await Helper.getJsonPromise(sheetPath); + const rawSheet = await Helper.getJsonPromise(sheetPath) as Anims | undefined; if (!rawSheet) { this.generateErrorImage(); return; } - - const sheet = this.resolveSUB(rawSheet) as MultiDirAnimation[] | [MultiEntityAnimation]; - if (!sheet || sheet.length === 0) { - this.generateErrorImage(); - return; - } - - this.entitySettings.sheets = { fix: [] }; - - if (this.isMultiDir(sheet)) { - const anims = sheet.filter(s => s.name === 'idle'); - if (!await this.renderMultiDirAnims(anims.length > 0 ? anims : [sheet[0]])) { - this.generateErrorImage(); - return; + + if (rawSheet.DOCTYPE === 'MULTI_ENTITY_ANIMATION') { + const mea = rawSheet as MultiEntityAnim; + // Preload each part's anim tree (shares flattenSUBs-based walk via DefaultEntity). + // Namespaced sheet refs on part leaves resolve against the root namedSheets. + for (const part of Object.values(mea.parts)) { + const scoped: Anims = { ...part.anims, namedSheets: mea.namedSheets }; + if (!await this.preloadAnimSheets(scoped)) { + this.generateErrorImage(); + return; + } } - } else { - if (!await this.renderMultiEntityAnim(sheet[0])) { + if (!this.renderMultiEntity(mea, enemyData.size)) { this.generateErrorImage(); - return; } + return; } - - this.entitySettings.baseSize = enemyData.size; - this.updateSettings(); + + await this.applyAnims({ + anims: rawSheet, + animName: 'idle', + label: settings.enemyInfo.type, + baseSize: enemyData.size, + dirIndex: this.resolveDirIndex(rawSheet, settings.enemyInfo.face), + }); } - - private resolveSUB(object: any): any[] { - if (!object.SUB || !(object.SUB instanceof Array)) { - return [object]; - } - const SUB: any[] = object.SUB; - - const result = []; - for (const sub of SUB) { - for (const subSub of this.resolveSUB(sub)) { - const combined = Object.assign(Object.assign({}, subSub), object); - delete combined.SUB; - result.push(combined); + + private resolveDirIndex(anims: Anims, face: string | undefined): number | undefined { + // Find the numDirs used by this anim tree: first tileOffsets array encountered. + let numDirs = 0; + for (const leaf of flattenSUBs(anims, {})) { + if (Array.isArray(leaf.tileOffsets) && leaf.tileOffsets.length > 0) { + numDirs = leaf.tileOffsets.length; + break; } } - - return result; - } - - private isMultiDir(sheet: MultiDirAnimation[] | [MultiEntityAnimation]): sheet is MultiDirAnimation[] { - return sheet[0].DOCTYPE === 'MULTI_DIR_ANIMATION'; - } - - - private async renderMultiDirAnims(anims: MultiDirAnimation[]): Promise { - const results = await Promise.all(anims.map(anim => this.renderMultiDirAnim(anim))); - return results.every(r => r); //All results true - } - - private async renderMultiDirAnim(anim: MultiDirAnimation): Promise { - const tileSheet = typeof anim.sheet === 'string' ? anim.namedSheets[anim.sheet] : anim.sheet; - - if (!await Helper.loadTexture(tileSheet.src, this.scene)) { - return false; + if (!numDirs) { + return undefined; } - - const tileOffset = (anim.dirs && anim.tileOffsets) ? anim.tileOffsets[Math.floor(anim.dirs / 2)] : 0; - - this.render(tileSheet, {x: 0, y: 0}, anim.frames[0] + tileOffset); - - return true; - } - - private render(anim: TileSheet, pos: Point, frame: number): void { - const offsetX = (anim.offX || 0) + (anim.xCount ? (frame % anim.xCount * anim.width) : 0); - const offsetY = (anim.offY || 0) + (anim.xCount ? (Math.floor(frame / anim.xCount) * anim.height) : 0); - - this.entitySettings.sheets.fix.push({ - gfx: anim.src.trim(), - h: anim.height, - w: anim.width, - x: offsetX, - y: offsetY, - offsetX: pos.x, // + tileSheet.x - offsetY: pos.y, // + tileSheet.y, - }); + const vec = face ? FACE_VECTORS[face] : undefined; + if (!vec) { + return undefined; + } + return getDirectionIndex(vec.x, vec.y, numDirs); } - - private async renderMultiEntityAnim(animation: MultiEntityAnimation): Promise { - const partAnims: Record> = {}; - - //Load - const loading: Promise[] = []; - if (animation.namedSheets) { - for (const sheet of Object.values(animation.namedSheets)) { - loading.push((async (name: string) => { - if (!await Helper.loadTexture(name, this.scene)) { - throw new Error('Could not load texture: ' + name); - } - })(sheet.src)); - } + + private renderMultiEntity(animation: MultiEntityAnim, baseSize: Point3): boolean { + const anim = animation.anims['idle'] + ?? animation.anims['default'] + ?? animation.anims[Object.keys(animation.anims)[0]]; + if (!anim) { + return false; } - + + // Flatten each part's SUB tree once and resolve string sheet refs against namedSheets. + const partAnims: Record> = {}; for (const [partName, part] of Object.entries(animation.parts)) { partAnims[partName] = {}; - const partAnim = partAnims[partName]; - const anims = this.resolveSUB(part.anims) as SingleDirAnimation[]; - - for (const anim of anims) { - const entry = partAnim[anim.name] = partAnim[anim.name] || []; - entry.push(anim); - if (typeof anim.sheet === 'object') { - loading.push((async (name: string) => { - if (!await Helper.loadTexture(name, this.scene)) { - throw new Error('Could not load texture: ' + name); - } - })(anim.sheet.src)); - } else { - anim.sheet = animation.namedSheets![anim.sheet]; + for (const leaf of flattenSUBs(part.anims, {})) { + if (typeof leaf.sheet === 'string') { + leaf.sheet = animation.namedSheets?.[leaf.sheet]; } + if (!leaf.name) { + continue; + } + (partAnims[partName][leaf.name] ??= []).push(leaf); } } - - const success = await Promise.all(loading) - .then(() => true) - .catch(() => false); - if (!success) { - return false; - } - - //Render - const anim = animation.anims['idle'] || animation.anims['default'] || animation.anims[Object.keys(animation.anims)[0]]; - + + this.entitySettings = { sheets: { fix: [] } } as any; + this.entitySettings.baseSize = baseSize; + for (const [partName, partAnim] of Object.entries(anim.partAnims)) { const part = animation.parts[partName]; - - //back left bottom corner of entity + if (!part) { + continue; + } + + // Back-left-bottom corner of the part relative to the entity's baseSize. const offset: Point3 = { - x: (part.size.x - animation.baseSize.x) / 2, - y: (part.size.y - animation.baseSize.y) / 2, - z: 0, //(part.size.z - animation.baseSize.z) / 2, + x: (part.size.x - animation.baseSize.x) / 2 + part.pos.x + (partAnim.posFrames?.[0] ?? 0), + y: (part.size.y - animation.baseSize.y) / 2 + part.pos.y + (partAnim.posFrames?.[1] ?? 0), + z: part.pos.z + (partAnim.posFrames?.[2] ?? 0), }; - - //position of part - offset.x += part.pos.x; - offset.y += part.pos.y; - offset.z += part.pos.z; - - //frame offset - offset.x += partAnim.posFrames[0]; - offset.y += partAnim.posFrames[1]; - offset.z += partAnim.posFrames[2]; - - for (const entry of partAnims[partName][partAnim.anim]) { - //Move to top if wallY = 0 - this.renderSingleDirAnim(entry, this.toPoint(offset), part.size); + + for (const leaf of partAnims[partName]?.[partAnim.anim] ?? []) { + this.pushSingleDirFix(leaf, offset, part.size); } - - /* - this.drawBoundingBoxAt({ - x: offset.x - (part.size.x - animation.baseSize.x) / 2, - y: offset.y - (part.size.y - animation.baseSize.y) / 2, - z: offset.z - (part.size.z - animation.baseSize.z) / 2, - }, part.size); - */ } - + + this.updateSettings(); return true; } - - private renderSingleDirAnim(anim: SingleDirAnimation, offset: Point, size: Point3): void { - //TODO: anim.framesAngle - + + private pushSingleDirFix(anim: Anims, partOffset: Point3, partSize: Point3): void { + const sheet = anim.sheet as AnimSheet | undefined; + if (!sheet || typeof sheet !== 'object' || !sheet.src) { + return; + } + + const off = { x: partOffset.x, y: partOffset.y - partOffset.z }; if (anim.framesSpriteOffset) { - offset.x += anim.framesSpriteOffset[0]; - offset.y += anim.framesSpriteOffset[1] - anim.framesSpriteOffset[2]; + off.x += anim.framesSpriteOffset[0] ?? 0; + off.y += (anim.framesSpriteOffset[1] ?? 0) - (anim.framesSpriteOffset[2] ?? 0); } - - const sheet = anim.sheet as TileSheet; - - //TODO: investigate wallY - this is probably wrong - offset.y += (1 - anim.wallY) * (size.y - sheet.height); - - const offsetX = - (sheet.offX || 0) - + (sheet.xCount ? (anim.frames[0] % sheet.xCount * sheet.width) : 0); - const offsetY = - (sheet.offY || 0) - + (sheet.xCount ? (Math.floor(anim.frames[0] / sheet.xCount) * sheet.height) : 0); - - this.entitySettings.sheets.fix.push({ + + off.y += (1 - (anim.wallY ?? 0)) * (partSize.y - sheet.height); + + const frame = anim.frames?.[0] ?? 0; + const xCount = sheet.xCount || 1; + const fix: Fix = { gfx: sheet.src.trim(), - h: sheet.height, w: sheet.width, - x: offsetX, - y: offsetY, - offsetX: offset.x, // + tileSheet.x - offsetY: offset.y, // + tileSheet.y, - - flipX: anim.flipX, + h: sheet.height, + x: (sheet.offX ?? 0) + (frame % xCount) * sheet.width, + y: (sheet.offY ?? 0) + Math.floor(frame / xCount) * sheet.height, + offsetX: off.x, + offsetY: off.y, + flipX: Array.isArray(anim.flipX) ? !!anim.flipX[0] : anim.flipX, flipY: anim.flipY, - }); - } - - /* - private drawBoundingBoxAt(pos: Point3, size: Point3) { - const collImg = this.scene.add.graphics(); - this.container.add(collImg); - - collImg.clear(); - - const outline = 0; - const outlineAlpha = 1; - - const middleRect = new Phaser.Geom.Rectangle(0, size.y, size.x, size.z - 1); - Helper.drawRect(collImg, middleRect, 0xff0707, 0.5, outline, outlineAlpha); - - const topRect = new Phaser.Geom.Rectangle(0, 0, size.x, size.y); - Helper.drawRect(collImg, topRect, 0xffff07, 1, outline, outlineAlpha); - - const bottomRect = new Phaser.Geom.Rectangle(0, size.z, size.x, size.y - 1); - Helper.drawRect(collImg, bottomRect, 0xffff07, 0.1, outline, outlineAlpha); - - const pos2 = this.toPoint(pos); - - collImg.x = pos2.x; - collImg.y = pos2.y; - }*/ - - private toPoint(point3: Point3): Point { - return { - x: point3.x, - y: point3.y - point3.z, }; + this.entitySettings.sheets.fix.push(fix); } + } diff --git a/webapp/src/app/services/phaser/entities/registry/entity-registry.service.ts b/webapp/src/app/services/phaser/entities/registry/entity-registry.service.ts index 0f4275d5..916648f6 100644 --- a/webapp/src/app/services/phaser/entities/registry/entity-registry.service.ts +++ b/webapp/src/app/services/phaser/entities/registry/entity-registry.service.ts @@ -1,13 +1,47 @@ import { Injectable } from '@angular/core'; import { CCEntity } from '../cc-entity'; +import { BallChanger } from './ball-changer'; +import { Blocker } from './blocker'; +import { BounceBlock } from './bounce-block'; +import { Chest } from './chest'; +import { CompressorBouncer } from './compressor-bouncer'; import { DefaultEntity } from './default-entity'; import { Destructible } from './destructible'; +import { Door } from './door'; +import { DynamicPlatform } from './dynamic-platform'; +import { Elevator } from './elevator'; +import { ElementPole } from './element-pole'; +import { ElementPoleDest } from './element-pole-dest'; +import { ElementShieldSrc } from './element-shield-src'; import { Enemy } from './enemy'; +import { EnemyCounter } from './enemy-counter'; import { EventTrigger } from './event-trigger'; +import { ExtractPlatform } from './extract-platform'; +import { GlowingGround } from './glowing-ground'; import { ItemDestruct } from './item-destruct'; +import { JumpPanelFar } from './jump-panel-far'; +import { JumpPanelFloat } from './jump-panel-float'; +import { KeyPanel } from './key-panel'; +import { Lorry } from './lorry'; +import { LorryRail } from './lorry-rail'; +import { Magnet } from './magnet'; +import { MultiHitSwitch } from './multi-hit-switch'; import { NPC } from './npc'; +import { OneTimeSwitch } from './one-time-switch'; import { Prop } from './prop'; +import { PushPullBlock } from './push-pull-block'; +import { PushPullDest } from './push-pull-dest'; +import { RegenDestruct } from './regen-destruct'; +import { RotateBlocker } from './rotate-blocker'; import { ScalableProp } from './scalable-prop'; +import { SteamPipe } from './steam-pipe'; +import { SteamTurnout } from './steam-turnout'; +import { TeleportField } from './teleport-field'; +import { TeleportStairs } from './teleport-stairs'; +import { TeslaCoil } from './tesla-coil'; +import { WallHorizontal } from './wall-horizontal'; +import { WallVertical } from './wall-vertical'; +import { WaterBlock } from './water-block'; @Injectable({ providedIn: 'root' @@ -20,9 +54,43 @@ export class EntityRegistryService { this.register('ScalableProp', ScalableProp); this.register('ItemDestruct', ItemDestruct); this.register('Destructible', Destructible); + this.register('RegenDestruct', RegenDestruct); + this.register('BounceBlock', BounceBlock); + this.register('BallChanger', BallChanger); + this.register('WaterBlock', WaterBlock); + this.register('Chest', Chest); + this.register('KeyPanel', KeyPanel); + this.register('Lorry', Lorry); + this.register('LorryRail', LorryRail); + this.register('ElementPole', ElementPole); + this.register('ElementPoleDest', ElementPoleDest); + this.register('ElementShieldSrc', ElementShieldSrc); this.register('NPC', NPC); this.register('EventTrigger', EventTrigger); this.register('Enemy', Enemy); + this.register('EnemyCounter', EnemyCounter); + this.register('Door', Door); + this.register('OneTimeSwitch', OneTimeSwitch); + this.register('MultiHitSwitch', MultiHitSwitch); + this.register('SteamPipe', SteamPipe); + this.register('SteamTurnout', SteamTurnout); + this.register('TeleportField', TeleportField); + this.register('TeleportStairs', TeleportStairs); + this.register('TeslaCoil', TeslaCoil); + this.register('WallHorizontal', WallHorizontal); + this.register('WallVertical', WallVertical); + this.register('PushPullBlock', PushPullBlock); + this.register('PushPullDest', PushPullDest); + this.register('Blocker', Blocker); + this.register('DynamicPlatform', DynamicPlatform); + this.register('Magnet', Magnet); + this.register('CompressorBouncer', CompressorBouncer); + this.register('Elevator', Elevator); + this.register('ExtractPlatform', ExtractPlatform); + this.register('GlowingGround', GlowingGround); + this.register('JumpPanelFar', JumpPanelFar); + this.register('JumpPanelFloat', JumpPanelFloat); + this.register('RotateBlocker', RotateBlocker); } private register(type: string, entity: typeof CCEntity) { diff --git a/webapp/src/app/services/phaser/entities/registry/event-trigger.ts b/webapp/src/app/services/phaser/entities/registry/event-trigger.ts index 09e5d96a..db1cbda5 100644 --- a/webapp/src/app/services/phaser/entities/registry/event-trigger.ts +++ b/webapp/src/app/services/phaser/entities/registry/event-trigger.ts @@ -1,65 +1,8 @@ import { EventWidgetComponent } from '../../../../components/widgets/event-widget/event-widget.component'; -import { CCEntity, EntityAttributes, ScaleSettings } from '../cc-entity'; +import { DefaultEntity } from './default-entity'; -export class EventTrigger extends CCEntity { +export class EventTrigger extends DefaultEntity { - private attributes: EntityAttributes = { - eventType: { - type: 'String', - description: 'Type of event. Cutscenes will stop the movement of the player and can\'t be executed in parallel. ' - + 'Auto Control events will take over the player\'s control.', - options: { - PARALLEL: 1, - CUTSCENE: 2, - INTERRUPTABLE: 3, - AUTO_CONTROL: 4, - COMBAT_CUTSCENE: 5 - } - }, - startCondition: { - type: 'VarCondition', - description: 'Condition for the event to start', - bd: true - }, - endCondition: { - type: 'VarCondition', - description: 'Condition for the event to not start (even if start condition is true)', - bd: true, - default: 'false' - }, - event: { - type: 'Event', - description: 'Event to be performed', - bd: true - }, - triggerType: { - type: 'String', - description: 'How often should this event be run?', - options: { - ALWAYS: 0, - ONCE_PER_ENTRY: 1, - ONCE: 2 - } - }, - loadCondition: { - type: 'EventLoadCondition', - description: 'If true: condition is checked on map entry and event is only loaded if true. onStart => Use start conditions, custom => use custom conditions', - I: true - } - }; - - public getAttributes(): EntityAttributes { - return this.attributes; - } - - getScaleSettings(): ScaleSettings | undefined { - return undefined; - } - - protected async setupType() { - this.generateNoImageType(0x0032ff, 0.7); - } - public override doubleClick(): void { (this.widgets['event'] as EventWidgetComponent).open(); } diff --git a/webapp/src/app/services/phaser/entities/registry/extract-platform.ts b/webapp/src/app/services/phaser/entities/registry/extract-platform.ts new file mode 100644 index 00000000..37eede13 --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/extract-platform.ts @@ -0,0 +1,48 @@ +import { Point3 } from '../../../../models/cross-code-map'; +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; + +export interface ExtractPlatformAttributes { + extractType: string; + activeZHeight?: number; + inactiveZHeight?: number; + condition?: unknown; +} + +interface ExtractPlatformType { + size: Point3; + offY: number; +} + +const TYPES: Record = { + Small: { size: { x: 16, y: 16, z: 16 }, offY: 0 }, + Large: { size: { x: 32, y: 32, z: 32 }, offY: 32 }, +}; + +export class ExtractPlatform extends DefaultEntity { + + protected override async setupType(settings: ExtractPlatformAttributes): Promise { + const type = TYPES[settings.extractType]; + if (!type) { + this.generateErrorImage(); + return; + } + + const anims: Anims = { + sheet: { + src: 'media/entity/objects/puzzle-elements-1.png', + width: type.size.x, + height: type.size.z * 2, + offY: type.offY, + }, + SUB: [{ name: 'default', frames: [0] }], + }; + + await this.applyAnims({ + anims, + label: `ExtractPlatform ${settings.extractType}`, + baseSize: type.size, + }); + } + +} diff --git a/webapp/src/app/services/phaser/entities/registry/glowing-ground.ts b/webapp/src/app/services/phaser/entities/registry/glowing-ground.ts new file mode 100644 index 00000000..f068e8a9 --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/glowing-ground.ts @@ -0,0 +1,35 @@ +import { ScaleSettings } from '../cc-entity'; +import { DefaultEntity } from './default-entity'; + +export interface GlowingGroundAttributes { + color1: string; + color2: string; + duration?: number; +} + +export class GlowingGround extends DefaultEntity { + + override getScaleSettings(): ScaleSettings { + return { + scalableX: true, + scalableY: true, + scalableStep: 1, + baseSize: { x: 32, y: 32 }, + }; + } + + protected override async setupType(settings: GlowingGroundAttributes): Promise { + const color = GlowingGround.parseColor(settings.color1); + this.generateNoImageType(color.rgb, color.a, color.rgb, color.a); + } + + private static parseColor(input: string | undefined): { rgb: number; a: number } { + if (!input) { + return { rgb: 0xffffff, a: 0.5 }; + } + const phaserColor = Phaser.Display.Color.ValueToColor(input) as Phaser.Display.Color; + const rgb = (phaserColor.red << 16) | (phaserColor.green << 8) | phaserColor.blue; + const a = phaserColor.alphaGL; + return { rgb, a: a > 0 ? a : 1 }; + } +} diff --git a/webapp/src/app/services/phaser/entities/registry/item-destruct.ts b/webapp/src/app/services/phaser/entities/registry/item-destruct.ts index ab025fe4..6105204b 100644 --- a/webapp/src/app/services/phaser/entities/registry/item-destruct.ts +++ b/webapp/src/app/services/phaser/entities/registry/item-destruct.ts @@ -1,5 +1,5 @@ import { Helper } from '../../helper'; -import { Anims, AnimSheet } from '../../sheet-parser'; +import { Anims } from '../../sheet-parser'; import { DefaultEntity } from './default-entity'; import { Point3 } from '../../../../models/cross-code-map'; import { EntityAttributes } from '../cc-entity'; @@ -43,7 +43,7 @@ export class ItemDestruct extends DefaultEntity { }; const objOrder: { [key in keyof ItemDestructAttributes]: null } = { desType: null, - __GLOBAL__: null + __GLOBAL__: null, }; return Object.assign(objOrder, attributes); } @@ -62,32 +62,21 @@ export class ItemDestruct extends DefaultEntity { const destructibles = await Globals.jsonLoader.loadJsonMerged('destructibles.json'); const type = destructibles[desType]; if (!type) { - this.generateNoImageType(0xFF0000, 1); + this.generateErrorImage(); return; } - const animSheet = type.anims.sheet as AnimSheet; - const gfx = (typeof animSheet === 'string') ? animSheet : animSheet.src; - const exists = await Helper.loadTexture(gfx, this.scene); - if (!exists) { - this.generateErrorImage(); - return; + // only frame 1 is relevant + let anims = type.anims; + if (Array.isArray(anims.SUB) && anims.SUB.length > 1) { + anims = { ...type.anims, SUB: anims.SUB.slice(0, 1) }; } - this.entitySettings = { - sheets: { - fix: [{ - gfx: gfx, - x: animSheet.offX || 0, - y: animSheet.offY || 0, - w: animSheet.width || 0, - h: animSheet.height || 0, - }] - }, - baseSize: type.size - } as any; - this.updateSettings(); - + await this.applyAnims({ + anims, + label: desType, + baseSize: type.size, + }); } } diff --git a/webapp/src/app/services/phaser/entities/registry/jump-panel-far.ts b/webapp/src/app/services/phaser/entities/registry/jump-panel-far.ts new file mode 100644 index 00000000..c5d638f5 --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/jump-panel-far.ts @@ -0,0 +1,59 @@ +import { Point } from '../../../../models/cross-code-map'; +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; + +interface PanelTypeDef { + size: { x: number; y: number }; + tileOffset: number; + flipX: boolean; + gfxOffset: Point; +} + +const PANEL_TYPES: Record = { + NORTH: { size: { x: 16, y: 24 }, tileOffset: 8, flipX: false, gfxOffset: { x: 0, y: -5 } }, + EAST: { size: { x: 24, y: 16 }, tileOffset: 0, flipX: false, gfxOffset: { x: 1, y: 0 } }, + SOUTH: { size: { x: 16, y: 24 }, tileOffset: 16, flipX: false, gfxOffset: { x: 0, y: -6 } }, + WEST: { size: { x: 24, y: 16 }, tileOffset: 0, flipX: true, gfxOffset: { x: -1, y: 0 } }, +}; + +export interface JumpPanelFarAttributes { + panelType: string; + jumpDistance?: string; + condition?: string; +} + +export class JumpPanelFar extends DefaultEntity { + + protected override async setupType(settings: JumpPanelFarAttributes): Promise { + const type = PANEL_TYPES[settings.panelType] ?? PANEL_TYPES['NORTH']!; + + const anims: Anims = { + sheet: { + src: 'media/entity/objects/object-effects.png', + width: 16, + height: 16, + offY: 16, + xCount: 8, + }, + gfxOffset: type.gfxOffset, + tileOffset: type.tileOffset, + flipX: type.flipX, + renderMode: 'lighter', + SUB: [ + { name: 'off', frames: [] }, + { name: 'normal', frames: [4, 5, 6, 7] }, + { name: 'glow', frames: [0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3] }, + ], + }; + + const ok = await this.applyAnims({ + anims, + animName: 'normal', + label: 'JumpPanelFar', + baseSize: { x: type.size.x, y: type.size.y, z: 0 }, + }); + if (!ok) { + this.generateErrorImage(); + } + } +} diff --git a/webapp/src/app/services/phaser/entities/registry/jump-panel-float.ts b/webapp/src/app/services/phaser/entities/registry/jump-panel-float.ts new file mode 100644 index 00000000..63ad0c69 --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/jump-panel-float.ts @@ -0,0 +1,49 @@ +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; + +const PANEL_TYPES: Record = { + DEFAULT: 0, + NORTH: 1, + EAST: 4, + SOUTH: 2, + WEST: 3, +}; + +export interface JumpPanelFloatAttributes { + panelType: string; + jumpDistance?: string; + condition?: string; +} + +export class JumpPanelFloat extends DefaultEntity { + + protected override async setupType(settings: JumpPanelFloatAttributes): Promise { + const tileOffset = PANEL_TYPES[settings.panelType] ?? PANEL_TYPES['DEFAULT']!; + + const anims: Anims = { + sheet: { + src: 'media/entity/objects/object-effects.png', + width: 24, + height: 24, + offX: 128 + tileOffset * 24, + offY: 144, + xCount: 2, + }, + SUB: [ + { name: 'off', frames: [] }, + { name: 'normal', frames: [0] }, + { name: 'glow', frames: [0] }, + ], + }; + + const ok = await this.applyAnims({ + anims, + animName: 'glow', + label: 'JumpPanelFloat', + baseSize: { x: 24, y: 24, z: 0 }, + }); + if (!ok) { + this.generateErrorImage(); + } + } +} diff --git a/webapp/src/app/services/phaser/entities/registry/key-panel.ts b/webapp/src/app/services/phaser/entities/registry/key-panel.ts new file mode 100644 index 00000000..9b198bc7 --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/key-panel.ts @@ -0,0 +1,58 @@ +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; +import { Point3 } from '../../../../models/cross-code-map'; + +export interface KeyPanelAttributes { + keyType: string; +} + +interface KeyPanelType { + size: Point3; + sprite: { x: number; y: number; w: number; h: number }; +} + +const KEY_TYPES: Record = { + REGULAR: { + size: { x: 16, y: 16, z: 1 }, + sprite: { x: 48, y: 88, w: 24, h: 24 }, + }, + MASTER: { + size: { x: 24, y: 24, z: 1 }, + sprite: { x: 48, y: 112, w: 32, h: 32 }, + }, +}; + +export class KeyPanel extends DefaultEntity { + + protected override async setupType(settings: KeyPanelAttributes): Promise { + const type = KEY_TYPES[settings.keyType]; + if (!type) { + return this.generateErrorImage(); + } + + const anims: Anims = { + sheet: { + mapStyle: 'puzzle2', + width: type.sprite.w, + height: type.sprite.h, + xCount: 2, + offX: type.sprite.x, + offY: type.sprite.y, + }, + offset: { x: 0, y: (type.sprite.h - type.size.y) / 2, z: 0 }, + SUB: [ + { name: 'on', frames: [1] }, + { name: 'off', frames: [0] }, + ], + }; + + await this.applyAnims({ + anims, + animName: 'off', + label: settings.keyType, + mapStyle: 'puzzle2', + baseSize: type.size, + }); + } + +} diff --git a/webapp/src/app/services/phaser/entities/registry/lorry-rail.ts b/webapp/src/app/services/phaser/entities/registry/lorry-rail.ts new file mode 100644 index 00000000..d48ecd72 --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/lorry-rail.ts @@ -0,0 +1,58 @@ +import { Globals } from '../../../globals'; +import { Helper } from '../../helper'; +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; + +interface LorryRailType { + gfx: { x: number; y: number; w?: number }; + scaleX?: boolean; + scaleY?: boolean; +} + +type LorryRailTypes = Record; + +export interface LorryRailAttributes { + railType: string; +} + +export class LorryRail extends DefaultEntity { + + protected override async setupType(settings: LorryRailAttributes): Promise { + const types = await Globals.jsonLoader.loadJsonMerged('lorry-rail-types.json'); + const type = types[settings.railType]; + if (!type) { + this.generateErrorImage(); + return; + } + + const scalable = !!(type.scaleX || type.scaleY); + const width = scalable ? 16 : (type.gfx.w ?? 16); + const height = 16; + + const style = Helper.getMapStyle(Globals.map, 'lorry'); + const anims: Anims = { + sheet: { + src: style?.sheet, + width, + height, + offX: (style?.railX ?? 0) + type.gfx.x, + offY: (style?.railY ?? 0) + type.gfx.y, + }, + }; + + const scaleSettings = this.getScaleSettings()!; + scaleSettings.scalableX = !!type.scaleX; + scaleSettings.scalableY = !!type.scaleY; + scaleSettings.scalableStep = 16; + scaleSettings.baseSize = { x: width, y: height }; + + this.snapSizeToScale(scaleSettings); + + await this.applyAnims({ + anims, + label: settings.railType, + baseSize: { x: width, y: height, z: 0 }, + }); + } + +} diff --git a/webapp/src/app/services/phaser/entities/registry/lorry.ts b/webapp/src/app/services/phaser/entities/registry/lorry.ts new file mode 100644 index 00000000..d50b848a --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/lorry.ts @@ -0,0 +1,56 @@ +import { Globals } from '../../../globals'; +import { Helper } from '../../helper'; +import { Anims } from '../../sheet-parser'; +import { Point3 } from '../../../../models/cross-code-map'; +import { DefaultEntity } from './default-entity'; + +interface LorryType { + size: Point3; + gfx: { x: number; y: number; w: number; h: number; xCount: number }; +} + +const LORRY_TYPES: Record = { + BIG: { + size: { x: 48, y: 48, z: 2 }, + gfx: { x: 0, y: 0, w: 48, h: 48, xCount: 1 }, + }, +}; + +export interface LorryAttributes { + lorryType: string; +} + +export class Lorry extends DefaultEntity { + + protected override async setupType(settings: LorryAttributes): Promise { + const type = LORRY_TYPES[settings.lorryType]; + if (!type) { + this.generateErrorImage(); + return; + } + + const style = Helper.getMapStyle(Globals.map, 'lorry'); + const anims: Anims = { + sheet: { + src: style?.sheet, + width: type.gfx.w, + height: type.gfx.h, + xCount: type.gfx.xCount, + offX: (style?.lorryX ?? 0) + type.gfx.x, + offY: (style?.lorryY ?? 0) + type.gfx.y, + }, + SUB: [ + { name: 'off', frames: [0] }, + { name: 'on', frames: [1] }, + ], + }; + + await this.applyAnims({ + anims, + animName: 'off', + label: 'Lorry', + baseSize: type.size, + }); + } + +} diff --git a/webapp/src/app/services/phaser/entities/registry/magnet.ts b/webapp/src/app/services/phaser/entities/registry/magnet.ts new file mode 100644 index 00000000..2b6a5db0 --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/magnet.ts @@ -0,0 +1,39 @@ +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; +import { FACE8 } from './npc'; + +type Face8 = keyof typeof FACE8; + +export interface MagnetAttributes { + dir?: Face8; + spawnCondition?: unknown; + altDirs?: { condition: string; dir: Face8 }[]; +} + +// 8-dir "off" table from CrossCode source; only indices 0-3 are reachable via FACE4 +const DIR_TILE_OFFSETS = [0, 3, 1, 4, 2, 4, 1, 3]; +const DIR_FLIP_X = [0, 0, 0, 0, 0, 1, 1, 1]; + +export class Magnet extends DefaultEntity { + + protected override async setupType(settings: MagnetAttributes): Promise { + const dirIndex = FACE8[settings.dir ?? 'NORTH'] ?? 0; + + const anims: Anims = { + sheet: { mapStyle: 'magnet', width: 16, height: 32 }, + SUB: [{ + name: 'off', + frames: [DIR_TILE_OFFSETS[dirIndex]], + flipX: !!DIR_FLIP_X[dirIndex], + }], + }; + + await this.applyAnims({ + anims, + animName: 'off', + label: 'Magnet', + baseSize: { x: 16, y: 16, z: 24 }, + }); + } + +} diff --git a/webapp/src/app/services/phaser/entities/registry/multi-hit-switch.ts b/webapp/src/app/services/phaser/entities/registry/multi-hit-switch.ts new file mode 100644 index 00000000..261421cd --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/multi-hit-switch.ts @@ -0,0 +1,67 @@ +import { Point3 } from '../../../../models/cross-code-map'; +import { Anims, AnimSheet } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; + +export interface MultiHitSwitchAttributes { + switchType: string; + variable?: string; + addValue?: string; + spawnCondition?: unknown; +} + +interface MultiHitSwitchType { + size: Point3; + sheet: AnimSheet; + offFrame: number; + renderMode?: string; +} + +const SIZE: Point3 = { x: 16, y: 16, z: 17 }; + +const TYPES: Record = { + default: { + size: SIZE, + sheet: { + mapStyle: 'puzzle', + width: 16, + height: 32, + offY: 32, + }, + offFrame: 0, + }, + arSwitch: { + size: SIZE, + sheet: { + src: 'media/entity/objects/dungeon-ar.png', + width: 16, + height: 32, + offY: 256, + }, + offFrame: 0, + renderMode: 'lighter', + }, +}; + +export class MultiHitSwitch extends DefaultEntity { + + protected override async setupType(settings: MultiHitSwitchAttributes): Promise { + const type = TYPES[settings.switchType]; + if (!type) { + this.generateErrorImage(); + return; + } + + const anims: Anims = { + sheet: type.sheet, + tileOffset: type.offFrame, + renderMode: type.renderMode, + }; + + await this.applyAnims({ + anims, + label: settings.switchType, + baseSize: type.size, + }); + } + +} diff --git a/webapp/src/app/services/phaser/entities/registry/npc.ts b/webapp/src/app/services/phaser/entities/registry/npc.ts index bb1655b5..4574c4a3 100644 --- a/webapp/src/app/services/phaser/entities/registry/npc.ts +++ b/webapp/src/app/services/phaser/entities/registry/npc.ts @@ -135,7 +135,7 @@ export interface Analyzable { text?: Label; active?: boolean; } - +// TODO: use DefaultEntity functions for displaying sprites export class NPC extends DefaultEntity { protected override async setupType(settings: NpcAttributes) { @@ -208,7 +208,7 @@ export class NPC extends DefaultEntity { dirIndex = FACE4[face as keyof typeof FACE4]; } - const img = Globals.scene.textures.get(sheet.src).getSourceImage(); + const img = Globals.scene.textures.get(sheet.src!).getSourceImage(); const xCount = sheet.xCount ?? img.width / sheet.width; // flip x with some serious type checking diff --git a/webapp/src/app/services/phaser/entities/registry/one-time-switch.ts b/webapp/src/app/services/phaser/entities/registry/one-time-switch.ts new file mode 100644 index 00000000..6c070421 --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/one-time-switch.ts @@ -0,0 +1,65 @@ +import { Point3 } from '../../../../models/cross-code-map'; +import { Globals } from '../../../globals'; +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; + +export interface OneTimeSwitchAttributes { + switchType: string; + variable?: string; + addValue?: string; + activeTime?: number; + fixCount?: number; + fastMode?: boolean; +} + +interface OneTimeSwitchType { + size: Point3; + anims: Anims; + useStyleSheet?: string; + collType?: number; + padding?: { x: number; y: number }; + activeZHeight?: number; + preStopTime?: number; + ignoreInvalid?: boolean; + hideHitEffect?: boolean; + fx?: Record; +} + +type OneTimeSwitchTypes = Record; + +const FALLBACK_MAPSTYLE: Record = { + 'default': 'puzzle', + 'propeller': 'propeller', + 'steamPipe': 'pipeSwitch', + 'teslaSwitch': 'teslaSwitch', + 'waveSwitch': 'waveSwitch', +}; + +export class OneTimeSwitch extends DefaultEntity { + + protected override async setupType(settings: OneTimeSwitchAttributes): Promise { + const types = await Globals.jsonLoader.loadJsonMerged('one-time-switch-types.json'); + + const attributes = this.getAttributes(); + attributes['switchType'].options = {}; + for (const name of Object.keys(types)) { + attributes['switchType'].options[name] = name; + } + + const type = types[settings.switchType]; + if (!type) { + this.generateErrorImage(); + return; + } + + await this.applyAnims({ + anims: type.anims, + animName: 'off', + label: `OneTimeSwitch ${settings.switchType}`, + mapStyle: FALLBACK_MAPSTYLE[settings.switchType], + baseSize: type.size, + useStyleSheet: type.useStyleSheet, + }); + } + +} diff --git a/webapp/src/app/services/phaser/entities/registry/prop.ts b/webapp/src/app/services/phaser/entities/registry/prop.ts index f2feca20..7944663c 100644 --- a/webapp/src/app/services/phaser/entities/registry/prop.ts +++ b/webapp/src/app/services/phaser/entities/registry/prop.ts @@ -1,9 +1,38 @@ -import { Point3 } from '../../../../models/cross-code-map'; import { Helper } from '../../helper'; -import { Fix } from '../cc-entity'; -import { Anims, AnimSheet, prepareProp, PropDef, PropSheet } from '../../sheet-parser'; +import { prepareProp, PropDef, PropSheet } from '../../sheet-parser'; import { DefaultEntity } from './default-entity'; +function findProp(sheet: PropSheet, name: string): PropDef | undefined { + for (const p of sheet.props) { + if (p.name === name) { + return p; + } + if (p.sequence) { + const seq = p.sequence; + for (let j = 0; j < seq.entries.length; j++) { + const entry = seq.entries[j]; + if (entry.name !== name) { + continue; + } + // CrossCode flattens sequence entries into synthetic fix-style props: + // parent fields + per-entry overrides + fix sub-rect stepped by index. + const merged: PropDef = { ...p, ...entry, name: entry.name }; + delete (merged as any).sequence; + merged.fix = { + gfx: seq.sheet.gfx, + x: seq.sheet.x + seq.sheet.w * j, + y: seq.sheet.y, + w: seq.sheet.w, + h: seq.sheet.h, + flipX: false, + }; + return merged; + } + } + } + return undefined; +} + export interface PropType { sheet?: string; name?: string; @@ -22,15 +51,6 @@ export interface PropAttributes { hideCondition?: string; } -interface PropSprite { - sheet: AnimSheet; - tileOffset: number; - alpha: number; - offset?: Partial; - renderMode?: string; - flipX?: boolean; -} - export class Prop extends DefaultEntity { protected override async setupType(settings: PropAttributes) { @@ -44,30 +64,33 @@ export class Prop extends DefaultEntity { return this.generateErrorImage(); } - let prop: PropDef | undefined; - for (let i = 0; i < sheet.props.length; i++) { - const p = sheet.props[i]; - if (settings.propType.name === p.name) { - prop = p; - break; - } - } + const prop = findProp(sheet, settings.propType.name ?? ''); if (!prop) { console.error('prop not found: ' + settings.propType.name); return this.generateErrorImage(); } - this.entitySettings = {sheets: {fix: []}} as any; if (prop.anims) { - await this.setupAnims(settings, prop, sheet); + const anims = prepareProp(prop, sheet); + const ok = await this.applyAnims({ + anims, + animName: settings.propAnim, + label: prop.name, + applyWallY: true, + }); + if (!ok) { + return; + } } else if (prop.fix) { - const exists = await Helper.loadTexture(prop.fix.gfx, this.scene); - if (!exists) { - console.error('prop image does not exist: ' + prop.fix.gfx); + // TODO: "offY" currently only fixed in Prop. + // Find out if this causes issues somewhere else and move the fix to a better place + const fix = Helper.copy(prop.fix); + fix.offsetY = (fix.offsetY ?? 0) + (fix.offY ?? 0); + delete fix.offY; + const ok = await this.pushFix(fix, true); + if (!ok) { return this.generateErrorImage(); } - - this.entitySettings.sheets.fix[0] = prop.fix; this.entitySettings.sheets.renderMode = prop.fix.renderMode; } else { console.error('failed to create prop: ' + prop.name); @@ -77,136 +100,4 @@ export class Prop extends DefaultEntity { this.entitySettings.collType = prop.collType; this.updateSettings(); } - - private async setupAnims(settings: PropAttributes, propDef: PropDef, sheetDef: PropSheet) { - - const sprites: PropSprite[] = []; - - const anims: Anims = prepareProp(propDef, sheetDef); - - const propAnim = settings.propAnim || 'default'; - - if (propAnim === 'floor4') { - console.log('as'); - } - - if (Array.isArray(anims.SUB)) { - const firstName = this.setupAnim(propAnim, anims, propDef, {}, sprites); - - // no sheet found with propAnim. Just take first one - if (sprites.length === 0 && firstName) { - this.setupAnim(firstName, anims, propDef, {}, sprites); - } - } else if (anims.sheet) { - sprites.push({ - sheet: anims.sheet as AnimSheet, - alpha: anims.framesAlpha?.[0] ?? 1, - tileOffset: anims.tileOffset ?? 0, - renderMode: anims.renderMode, - offset: anims.offset - }); - } - - if (sprites.length === 0) { - console.warn('failed creating prop: ', settings); - return this.generateErrorImage(); - } - - this.entitySettings.sheets.fix = []; - for (const sprite of sprites) { - - if (!sprite.sheet) { - console.error('prop sheet not found, ', propDef.name); - return this.generateErrorImage(); - } - - await Helper.loadTexture(sprite.sheet.src, this.scene); - - const fix: Fix = { - gfx: sprite.sheet.src, - w: sprite.sheet.width, - h: sprite.sheet.height, - x: sprite.sheet.width * sprite.tileOffset + (sprite.sheet.offX || 0), - y: sprite.sheet.offY || 0, - alpha: sprite.alpha, - offsetX: 0, - offsetY: 0, - flipX: sprite.flipX, - renderMode: sprite.renderMode - }; - - if (sprite.offset) { - fix.offsetX = sprite.offset.x || 0; - fix.offsetY = (sprite.offset.y || 0) - (sprite.offset.z || 0); - } - this.entitySettings.sheets.fix.push(fix); - } - } - - private setupAnim(propAnim: string, anims: Anims, propDef: PropDef, settings: Anims, sprites: PropSprite[]): string | undefined { - let firstName = anims.name; - if (anims.name && anims.name !== propAnim) { - return firstName; - } - settings = { - ...settings, - ...anims - }; - if (Array.isArray(anims.SUB)) { - for (const sub of anims.SUB) { - const animName = this.setupAnim(propAnim, sub, propDef, settings, sprites); - if (!firstName) { - firstName = animName; - } - } - return firstName; - } - let sheet: AnimSheet | undefined; - if (typeof settings.sheet === 'string') { - sheet = settings.namedSheets?.[settings.sheet]; - } else { - sheet = settings.sheet; - } - if (!sheet) { - console.error('anim sheet not found, skip: ', propDef); - return firstName; - } - - const offset: Point3 = { - x: 0, - y: 0, - z: 0, - ...settings.offset - }; - - // not sure about this one, fixes chair in propType: "booth", sheet: "trading-autumn" - if (settings.wallY) { - offset.y += settings.wallY * (settings.size?.z ?? 0); - } - - if (settings.gfxOffset) { - offset.x += settings.gfxOffset.x ?? 0; - offset.y += settings.gfxOffset.y ?? 0; - } - - const frame = settings.frames?.[0] ?? 0; - - if (frame > 0) { - const xCount = sheet.xCount || 999; - const xOffset = (frame % xCount) * sheet.width; - const yOffset = Math.floor(frame / xCount) * sheet.height; - sheet.offX = (sheet.offX ?? 0) + xOffset; - sheet.offY = (sheet.offY ?? 0) + yOffset; - } - - sprites.push({ - sheet: sheet, - alpha: settings.framesAlpha?.[frame] ?? 1, - offset: offset, - tileOffset: settings.tileOffset ?? 0, - renderMode: settings.renderMode, - flipX: Array.isArray(settings.flipX) ? !!settings.flipX[frame] : settings.flipX - }); - return firstName; - } } diff --git a/webapp/src/app/services/phaser/entities/registry/push-pull-block.ts b/webapp/src/app/services/phaser/entities/registry/push-pull-block.ts new file mode 100644 index 00000000..a83d4ee2 --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/push-pull-block.ts @@ -0,0 +1,50 @@ +import { Point3 } from '../../../../models/cross-code-map'; +import { Globals } from '../../../globals'; +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; + +export interface PushPullBlockAttributes { + pushPullType: string; + spawnCondition?: unknown; +} + +interface PushPullBlockTypes { + [name: string]: PushPullBlockType; +} + +interface PushPullBlockType { + size: Point3; + terrain: number; + direction?: number; + useStyleSheet?: boolean; + anims: Anims; +} + + +export class PushPullBlock extends DefaultEntity { + + protected override async setupType(settings: PushPullBlockAttributes): Promise { + const types = await Globals.jsonLoader.loadJsonMerged('push-pull-types.json'); + + const attributes = this.getAttributes(); + attributes['pushPullType'].options = {}; + for (const name of Object.keys(types)) { + attributes['pushPullType'].options[name] = name; + } + + const type = types[settings.pushPullType]; + if (!type) { + this.generateErrorImage(); + return; + } + + await this.applyAnims({ + anims: type.anims, + label: settings.pushPullType, + mapStyle: 'puzzle', + baseSize: type.size, + }); + } + +} + diff --git a/webapp/src/app/services/phaser/entities/registry/push-pull-dest.ts b/webapp/src/app/services/phaser/entities/registry/push-pull-dest.ts new file mode 100644 index 00000000..b6ddb162 --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/push-pull-dest.ts @@ -0,0 +1,43 @@ +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; + +export interface PushPullDestAttributes { + pushPullDestType: string; + zMove?: number; + saveType?: string; + variable?: string; +} + +export class PushPullDest extends DefaultEntity { + + protected override async setupType(settings: PushPullDestAttributes): Promise { + const type = PUSH_PULL_DEST_TYPES[settings.pushPullDestType]; + if (!type) { + this.generateErrorImage(); + return; + } + + const anims: Anims = { + sheet: { + mapStyle: 'puzzle', + width: 32, + height: 32, + offX: type.offX, + offY: type.offY, + }, + aboveZ: 1, + SUB: [{ name: 'default', frames: [0] }], + }; + + await this.applyAnims({ + anims, + label: settings.pushPullDestType, + baseSize: { x: 32, y: 32, z: 0 }, + }); + } + +} + +const PUSH_PULL_DEST_TYPES: Record = { + DEFAULT: { offX: 224, offY: 96 }, +}; diff --git a/webapp/src/app/services/phaser/entities/registry/regen-destruct.ts b/webapp/src/app/services/phaser/entities/registry/regen-destruct.ts new file mode 100644 index 00000000..56dc1fe0 --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/regen-destruct.ts @@ -0,0 +1,50 @@ +import { Point3 } from '../../../../models/cross-code-map'; +import { Globals } from '../../../globals'; +import { ScaleSettings } from '../cc-entity'; +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; + +interface RegenDestructAttributes { + desType: string; +} + +interface RegenDestructType { + size: Point3; + anims: Anims; +} + +type RegenDestructTypes = Record; + +export class RegenDestruct extends DefaultEntity { + + public override getScaleSettings(): ScaleSettings | undefined { + return undefined; + } + + protected override async setupType(settings: RegenDestructAttributes): Promise { + const types = await Globals.jsonLoader.loadJsonMerged('regen-destruct-types.json'); + + const attributes = this.getAttributes(); + if (attributes['desType']) { + attributes['desType'].options = {}; + for (const name of Object.keys(types)) { + attributes['desType'].options[name] = name; + } + } + + const type = types[settings.desType]; + if (!type) { + this.generateErrorImage(); + return; + } + + await this.applyAnims({ + anims: type.anims, + animName: 'default', + label: `RegenDestruct ${settings.desType}`, + mapStyle: 'destruct', + baseSize: type.size, + }); + } + +} diff --git a/webapp/src/app/services/phaser/entities/registry/rotate-blocker.ts b/webapp/src/app/services/phaser/entities/registry/rotate-blocker.ts new file mode 100644 index 00000000..1d988377 --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/rotate-blocker.ts @@ -0,0 +1,79 @@ +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; + +const ROTATE_BLOCKER_DIRS = ['NE', 'SE', 'SW', 'NW'] as const; + +export interface RotateBlockerAttributes { + dir: string; +} + +export class RotateBlocker extends DefaultEntity { + + protected override async setupType(settings: RotateBlockerAttributes): Promise { + const dir = (ROTATE_BLOCKER_DIRS as readonly string[]).includes(settings.dir) ? settings.dir : 'NE'; + const animName = dir.toLowerCase(); + + const anims: Anims = { + namedSheets: { + ground: { + mapStyle: 'rotateBlocker', + width: 32, + height: 32, + xCount: 1, + }, + block: { + mapStyle: 'rotateBlocker', + width: 32, + height: 64, + offX: 32, + }, + }, + SUB: [{ + sheet: 'ground', + shapeType: 'Z_FLAT', + frames: [1], + SUB: [ + { name: 'off' }, + { name: 'ne' }, + { name: 'se' }, + { name: 'sw' }, + { name: 'nw' }, + { name: 'turn' }, + ], + }, { + sheet: 'block', + renderMode: 'lighter', + SUB: [ + { name: 'ne', frames: [1], flipX: false }, + { name: 'se', frames: [0], flipX: false, wallY: 1 }, + { name: 'sw', frames: [0], flipX: true, wallY: 1 }, + { name: 'nw', frames: [1], flipX: true }, + ], + }, { + sheet: 'ground', + shapeType: 'Y_FLAT', + renderMode: 'lighter', + frames: [0], + SUB: [ + { name: 'turn', offset: { z: 1 } }, + { name: 'turn', offset: { z: 4 } }, + { name: 'turn', offset: { z: 8 } }, + { name: 'turn', offset: { z: 12 } }, + { name: 'turn', offset: { z: 16 } }, + { name: 'turn', offset: { z: 20 } }, + { name: 'turn', offset: { z: 24 } }, + { name: 'turn', offset: { z: 28 } }, + { name: 'turn', offset: { z: 32 } }, + ], + }], + }; + + await this.applyAnims({ + anims, + animName, + label: 'RotateBlocker', + baseSize: { x: 32, y: 32, z: 32 }, + }); + } + +} diff --git a/webapp/src/app/services/phaser/entities/registry/scalable-prop.ts b/webapp/src/app/services/phaser/entities/registry/scalable-prop.ts index cbfc24b3..427c6bdc 100644 --- a/webapp/src/app/services/phaser/entities/registry/scalable-prop.ts +++ b/webapp/src/app/services/phaser/entities/registry/scalable-prop.ts @@ -4,6 +4,7 @@ import { Fix } from '../cc-entity'; import { BallKill, Effects, prepareScalableProp, ScalablePropSheet } from '../../sheet-parser'; import { DefaultEntity } from './default-entity'; + export interface ScalablePropDef { baseSize?: Point3; renderHeight?: number; @@ -108,9 +109,7 @@ export class ScalableProp extends DefaultEntity { return this.generateErrorImage(); } prop = prepareScalableProp(prop, sheet); - - this.entitySettings = {} as any; - + const scaleSettings = this.getScaleSettings()!; scaleSettings.scalableX = prop.scalableX!; @@ -119,7 +118,8 @@ export class ScalableProp extends DefaultEntity { scaleSettings.baseSize = prop.baseSize!; const size = (this.details.settings['size'] as Point | undefined) ?? {x: 1, y: 1}; - + this.details.settings['size'] = size; + if (!scaleSettings.scalableX) { size.x = scaleSettings.baseSize.x; } @@ -130,21 +130,20 @@ export class ScalableProp extends DefaultEntity { let scaleableFix: Fix | undefined; if (prop.gfx) { - await Helper.loadTexture(prop.gfx, this.scene); scaleableFix = { gfx: prop.gfx, x: prop.gfxBaseX! + prop.patterns!.x, y: prop.gfxBaseY! + prop.patterns!.y, w: prop.patterns!.w, h: prop.patterns!.h, - renderHeight: prop.renderHeight, + renderHeight: prop.renderHeight ?? prop.baseSize?.z, alpha: this._onlyEnds ? 0 : 1, - scalable: true, - }; - this.entitySettings.sheets = { - fix: [scaleableFix], - renderMode: prop.renderMode, }; + if (!await this.pushFix(scaleableFix, true)) { + this.resetScaleSettings(); + return this.generateErrorImage(); + } + this.entitySettings.sheets.renderMode = prop.renderMode; } else { console.error('scalable prop has no gfx'); this.resetScaleSettings(); @@ -176,8 +175,9 @@ export class ScalableProp extends DefaultEntity { renderHeight: pattern.renderHeight, flipX: pattern.flipX, renderMode: pattern.renderMode, + scalable: false }; - this.entitySettings.sheets.fix.push(fix); + await this.pushFix(fix); switch (dir) { case 'west': scaleableFix.offsetX = pattern.w; diff --git a/webapp/src/app/services/phaser/entities/registry/steam-pipe.ts b/webapp/src/app/services/phaser/entities/registry/steam-pipe.ts new file mode 100644 index 00000000..99b06eca --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/steam-pipe.ts @@ -0,0 +1,68 @@ +import { Point, Point3 } from '../../../../models/cross-code-map'; +import { Globals } from '../../../globals'; +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; + +interface SteamPipeType { + gfx: { x: number; y: number; w?: number; h?: number }; + scaleX?: boolean; + scaleY?: boolean; + size: Point3; + renderHeight?: number; + points: Point[]; +} + +interface SteamPipeTypes { + [name: string]: SteamPipeType; +} + +export interface SteamPipeAttributes { + pipeType: string; +} + +export class SteamPipe extends DefaultEntity { + + protected override async setupType(settings: SteamPipeAttributes): Promise { + const types = await Globals.jsonLoader.loadJsonMerged('steam-pipe-types.json'); + + const attributes = this.getAttributes(); + attributes['pipeType'].options = {}; + for (const name of Object.keys(types)) { + attributes['pipeType'].options[name] = name; + } + + const type = types[settings.pipeType]; + if (!type) { + this.generateErrorImage(); + return; + } + + const anims: Anims = { + sheet: { + mapStyle: 'pipes', + width: type.gfx.w ?? 16, + height: type.gfx.h ?? (type.size.y + (type.renderHeight ?? 0)), + offX: type.gfx.x, + offY: type.gfx.y, + }, + SUB: [{ name: 'default', frames: [0] }], + }; + + const scaleSettings = this.getScaleSettings()!; + scaleSettings.scalableX = !!type.scaleX; + scaleSettings.scalableY = !!type.scaleY; + scaleSettings.scalableStep = 16; + scaleSettings.baseSize = { x: type.size.x, y: type.size.y }; + + this.snapSizeToScale(scaleSettings); + + await this.applyAnims({ + anims, + animName: 'default', + label: settings.pipeType, + mapStyle: 'pipes', + baseSize: { x: type.size.x, y: type.size.y, z: type.renderHeight ?? 0 }, + }); + } + +} diff --git a/webapp/src/app/services/phaser/entities/registry/steam-turnout.ts b/webapp/src/app/services/phaser/entities/registry/steam-turnout.ts new file mode 100644 index 00000000..9558efaa --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/steam-turnout.ts @@ -0,0 +1,53 @@ +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; + +const TURNOUT_TILES: Record = { + HORIZONTAL: 2, + VERTICAL: 5, + CURVE_SE: 0, + CURVE_SW: 1, + CURVE_NE: 3, + CURVE_NW: 4, +}; + +export interface SteamTurnoutAttributes { + turnDefault: string; + turnAlt: string; + condition?: unknown; +} + +export class SteamTurnout extends DefaultEntity { + + protected override async setupType(settings: SteamTurnoutAttributes): Promise { + const defaultTile = TURNOUT_TILES[settings.turnDefault]; + const altTile = TURNOUT_TILES[settings.turnAlt]; + if (defaultTile === undefined || altTile === undefined) { + this.generateErrorImage(); + return; + } + + const anims: Anims = { + sheet: { + mapStyle: 'pipes', + width: 16, + height: 24, + xCount: 3, + offY: 64, + }, + wallY: 1, + SUB: [ + { name: 'off', frames: [defaultTile] }, + { name: 'on', frames: [altTile] }, + ], + }; + + await this.applyAnims({ + anims, + animName: 'off', + label: settings.turnDefault, + mapStyle: 'pipes', + baseSize: { x: 16, y: 16, z: 10 }, + }); + } + +} diff --git a/webapp/src/app/services/phaser/entities/registry/teleport-field.ts b/webapp/src/app/services/phaser/entities/registry/teleport-field.ts new file mode 100644 index 00000000..f6b1d366 --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/teleport-field.ts @@ -0,0 +1,35 @@ +import { Globals } from '../../../globals'; +import { Helper } from '../../helper'; +import { TELEPORT_GFX, TeleportGfxObj } from '../teleport-gfx'; +import { DefaultEntity } from './default-entity'; + +export interface TeleportFieldAttributes { + gfxType?: string; + map?: string; + pseudoExit?: boolean; +} + +export class TeleportField extends DefaultEntity { + + protected override async setupType(settings: TeleportFieldAttributes): Promise { + const style = Helper.getMapStyle(Globals.map, 'map'); + const tf = style?.teleportField; + let gfx: TeleportGfxObj | undefined; + if (settings.gfxType) { + gfx = TELEPORT_GFX[settings.gfxType]; + } + if (!gfx) { + gfx = TELEPORT_GFX['SOLID']!; + } + const anims = gfx.gfx(style?.sheet, tf?.xCount, tf?.x, tf?.y); + const isExit = !!settings.map || !!settings.pseudoExit; + await this.applyAnims({ + anims, + animName: isExit ? 'red' : 'active', + label: 'TeleportField', + mapStyle: 'map', + baseSize: { x: 24, y: 24, z: 1 }, + }); + } + +} diff --git a/webapp/src/app/services/phaser/entities/registry/teleport-stairs.ts b/webapp/src/app/services/phaser/entities/registry/teleport-stairs.ts new file mode 100644 index 00000000..5459f291 --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/teleport-stairs.ts @@ -0,0 +1,59 @@ +import { Globals } from '../../../globals'; +import { Helper } from '../../helper'; +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; + +type StairType = 'UPWARDS_EAST' | 'UPWARDS_WEST' | 'DOWNWARDS_EAST' | 'DOWNWARDS_WEST'; + +export interface TeleportStairsAttributes { + stairType?: StairType; +} + +interface StairConfig { + down: boolean; + flip: boolean; +} + +const STAIR_TYPES: Record = { + UPWARDS_EAST: { down: false, flip: false }, + UPWARDS_WEST: { down: false, flip: true }, + DOWNWARDS_EAST: { down: true, flip: false }, + DOWNWARDS_WEST: { down: true, flip: true }, +}; + +export class TeleportStairs extends DefaultEntity { + + protected override async setupType(settings: TeleportStairsAttributes): Promise { + const stair = STAIR_TYPES[settings.stairType!]; + const style = Helper.getMapStyle(Globals.map, 'map'); + const stairDoor = style?.stairDoor; + if (!stair || !stairDoor) { + this.generateErrorImage(); + return; + } + + const anims: Anims = { + namedSheets: { + stair: { + mapStyle: 'map', + width: 32, + height: 48, + offX: stairDoor.x + (stair.down ? 32 : 0), + offY: stairDoor.y, + }, + }, + sheet: 'stair', + flipX: stair.flip, + SUB: [{ name: 'idle', frames: [0] }], + }; + + await this.applyAnims({ + anims, + animName: 'idle', + label: 'TeleportStairs', + mapStyle: 'map', + baseSize: { x: 32, y: 16, z: 48 }, + }); + } + +} diff --git a/webapp/src/app/services/phaser/entities/registry/tesla-coil.ts b/webapp/src/app/services/phaser/entities/registry/tesla-coil.ts new file mode 100644 index 00000000..8c55d420 --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/tesla-coil.ts @@ -0,0 +1,51 @@ +import { Point3 } from '../../../../models/cross-code-map'; +import { Globals } from '../../../globals'; +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; + +export interface TeslaCoilAttributes { + coilType: string; + varOnCharge?: string; + varOnDischarge?: string; + align?: string; +} + +export class TeslaCoil extends DefaultEntity { + + protected override async setupType(settings: TeslaCoilAttributes): Promise { + const types = await Globals.jsonLoader.loadJsonMerged('tesla-coil-type.json'); + + const attributes = this.getAttributes(); + attributes['coilType'].options = {}; + for (const name of Object.keys(types)) { + attributes['coilType'].options[name] = name; + } + + const type = types[settings.coilType] ?? types['SOURCE']; + if (!type) { + this.generateErrorImage(); + return; + } + + await this.applyAnims({ + anims: type.anims, + animName: 'off', + label: settings.coilType, + mapStyle: 'tesla', + baseSize: type.size, + }); + } + +} + +interface TeslaCoilTypes { + [name: string]: TeslaCoilType; +} + +interface TeslaCoilType { + size: Point3; + collType?: number; + source?: boolean; + fast?: boolean; + anims: Anims; +} diff --git a/webapp/src/app/services/phaser/entities/registry/wall-horizontal.ts b/webapp/src/app/services/phaser/entities/registry/wall-horizontal.ts new file mode 100644 index 00000000..6446525e --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/wall-horizontal.ts @@ -0,0 +1,85 @@ +import { Fix } from '../cc-entity'; +import { BaseWall, END_OFF_X, SHEET_OFF_Y, TILE_H, TILE_W } from './base-wall'; + +export interface WallHorizontalAttributes { + skipRender?: boolean; + leftEnd?: string; + rightEnd?: string; + collType?: string; + wallZHeight?: number; +} + +const BASE_Y = 8; + +export class WallHorizontal extends BaseWall { + + protected override async setupType(settings: WallHorizontalAttributes): Promise { + if (settings.skipRender) { + this.generateNoImageType(); + return; + } + + const ctx = this.resolveWallContext(settings.collType); + if (!ctx) { + this.generateErrorImage(); + return; + } + const { sheet, frontTint, topTint } = ctx; + + const wallZHeight = settings.wallZHeight ?? 32; + const leftEnd = settings.leftEnd && settings.leftEnd !== 'CONTINUE'; + const rightEnd = settings.rightEnd && settings.rightEnd !== 'CONTINUE'; + + const size = this.details.settings['size'] as { x: number; y: number } | undefined; + const width = size?.x ?? TILE_W; + + const middle: Fix = { + gfx: sheet, + x: 176, + y: SHEET_OFF_Y, + w: TILE_W, + h: TILE_H, + renderHeight: TILE_H - BASE_Y, + alpha: 1, + }; + if (!await this.pushFix(middle, true)) { + this.generateErrorImage(); + return; + } + + if (leftEnd) { + await this.pushFix({ + gfx: sheet, + x: END_OFF_X + TILE_W * 2, + y: SHEET_OFF_Y, + w: TILE_W, + h: TILE_H, + alpha: 1, + scalable: false, + offsetX: TILE_W / 2, + ignoreBoundingboxX: true, + }); + middle.offsetX = TILE_W; + } + + if (rightEnd) { + await this.pushFix({ + gfx: sheet, + x: END_OFF_X + TILE_W * 3, + y: SHEET_OFF_Y, + w: TILE_W, + h: TILE_H, + alpha: 1, + scalable: false, + offsetX: width - TILE_W / 2, + ignoreBoundingboxX: true, + }); + middle.offsetWidth = TILE_W; + } + + await this.pushWallBody(width, BASE_Y, wallZHeight, frontTint, topTint); + + this.entitySettings.bboxYOffset = -1; + this.updateSettings(); + } +} diff --git a/webapp/src/app/services/phaser/entities/registry/wall-vertical.ts b/webapp/src/app/services/phaser/entities/registry/wall-vertical.ts new file mode 100644 index 00000000..34a22044 --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/wall-vertical.ts @@ -0,0 +1,96 @@ +import { Fix } from '../cc-entity'; +import { BaseWall, END_OFF_X, SHEET_OFF_Y, TILE_H, TILE_W } from './base-wall'; + +const MIDDLE_TILE_H = 16; + +export interface WallVerticalAttributes { + skipRender?: boolean; + topEnd?: string; + bottomEnd?: string; + collType?: string; + wallZHeight?: number; +} + +const BASE_X = 8; + +const TOP_TILE_IDX: Record = { + STOP: 5, + CORNER_LEFT: 4, + CORNER_RIGHT: 6, +}; +const BOTTOM_TILE_IDX: Record = { + STOP: 8, + CORNER_LEFT: 7, + CORNER_RIGHT: 9, +}; + +export class WallVertical extends BaseWall { + + protected override async setupType(settings: WallVerticalAttributes): Promise { + if (settings.skipRender) { + this.generateNoImageType(); + return; + } + + const ctx = this.resolveWallContext(settings.collType); + if (!ctx) { + this.generateErrorImage(); + return; + } + const { sheet, frontTint, topTint } = ctx; + + const wallZHeight = settings.wallZHeight ?? 32; + const topIdx = settings.topEnd ? TOP_TILE_IDX[settings.topEnd] : undefined; + const botIdx = settings.bottomEnd ? BOTTOM_TILE_IDX[settings.bottomEnd] : undefined; + const hasTop = topIdx !== undefined; + const hasBot = botIdx !== undefined; + + const size = this.details.settings['size'] as { x: number; y: number } | undefined; + const length = size?.y ?? MIDDLE_TILE_H; + + // middle pattern (scalable Y) — shrunk so it doesn't bleed into the + // end tiles' transparent corners; extends 1px past length when no bottom end + const middle: Fix = { + gfx: sheet, + x: 184, + y: SHEET_OFF_Y, + w: TILE_W, + h: MIDDLE_TILE_H, + alpha: 1, + offsetY: hasTop ? -TILE_W : 0, + offsetHeight: (hasBot ? TILE_W : -1) + (hasTop ? 2 * TILE_W : 0), + }; + if (!await this.pushFix(middle, true)) { + this.generateErrorImage(); + return; + } + + this.entitySettings.baseSize = { x: BASE_X, y: length, z: 0 }; + + const pushEndTile = async (idx: number, offsetY: number) => { + await this.pushFix({ + gfx: sheet, + x: END_OFF_X + idx * TILE_W, + y: SHEET_OFF_Y, + w: TILE_W, + h: TILE_H, + alpha: 1, + scalable: false, + offsetX: TILE_W / 2, + offsetY, + ignoreBoundingboxX: true, + }); + }; + if (topIdx !== undefined) { + await pushEndTile(topIdx, TILE_H - 1 - length); + } + if (botIdx !== undefined) { + await pushEndTile(botIdx, 1); + } + + await this.pushWallBody(BASE_X, length, wallZHeight, frontTint, topTint); + + this.entitySettings.bboxYOffset = -1; + this.updateSettings(); + } +} diff --git a/webapp/src/app/services/phaser/entities/registry/water-block.ts b/webapp/src/app/services/phaser/entities/registry/water-block.ts new file mode 100644 index 00000000..e83d6b60 --- /dev/null +++ b/webapp/src/app/services/phaser/entities/registry/water-block.ts @@ -0,0 +1,61 @@ +import { Anims } from '../../sheet-parser'; +import { DefaultEntity } from './default-entity'; + +interface BlockTypeDef { + offY: number; + flipX: boolean; + wallY: number; +} + +const BLOCK_TYPES: Record = { + SQUARE: { offY: 128, flipX: false, wallY: 0 }, + CORNER_NE: { offY: 64, flipX: false, wallY: 0 }, + CORNER_SE: { offY: 0, flipX: false, wallY: 1 }, + CORNER_SW: { offY: 0, flipX: true, wallY: 1 }, + CORNER_NW: { offY: 64, flipX: true, wallY: 0 }, +}; + +export interface WaterBlockAttributes { + blockType: string; + changeDuration?: number; +} + +export class WaterBlock extends DefaultEntity { + + protected override async setupType(settings: WaterBlockAttributes): Promise { + const type = BLOCK_TYPES[settings.blockType]; + if (!type) { + this.generateErrorImage(); + return; + } + + const anims: Anims = { + namedSheets: { + block: { + mapStyle: 'waterblock', + width: 32, + height: 64, + xCount: 4, + offY: type.offY, + }, + }, + sheet: 'block', + flipX: type.flipX, + wallY: type.wallY, + SUB: [{ + name: 'water', + frames: [0], + framesAlpha: [0.7], + }], + }; + + await this.applyAnims({ + anims, + animName: 'water', + label: settings.blockType, + mapStyle: 'waterblock', + baseSize: { x: 32, y: 32, z: 32 }, + }); + } + +} diff --git a/webapp/src/app/services/phaser/entities/teleport-gfx.ts b/webapp/src/app/services/phaser/entities/teleport-gfx.ts new file mode 100644 index 00000000..f5552a08 --- /dev/null +++ b/webapp/src/app/services/phaser/entities/teleport-gfx.ts @@ -0,0 +1,399 @@ +import { Anims } from '../sheet-parser'; + +export interface TeleportGfxObj { + gfx: (sheet?: string, xCount?: number, offX?: number, offY?: number) => Anims; +} + +export const TELEPORT_GFX: Record = { + SOLID: { + gfx: function (sheet, xCount, offX, offY) { + return { + shapeType: 'Z_FLAT', + offset: { + x: 0, + y: 4, + z: 0, + }, + sheet: { + src: sheet, + width: 32, + height: 32, + xCount: xCount, + offX: offX, + offY: offY, + }, + SUB: [{ + name: 'inactive', + time: 1, + frames: [0], + repeat: false, + }, { + name: 'active', + time: 1, + frames: [1], + repeat: false, + }, { + name: 'red', + time: 1, + frames: [2], + repeat: false, + }], + }; + }, + }, + AR: { + gfx: function () { + return { + offset: { + x: 0, + y: 5, + z: 0, + }, + SUB: [{ + shapeType: 'Z_FLAT', + sheet: { + src: 'media/entity/objects/upgrade-symbol.png', + width: 32, + height: 32, + xCount: 2, + offX: 160, + offY: 0, + }, + frames: [0, 0, 0, 1, 2, 3, 4, 5], + time: 0.07, + repeat: true, + SUB: [{ + name: 'inactive', + }, { + name: 'active', + }, { + name: 'red', + }], + }, { + renderMode: 'lighter', + sheet: { + src: 'media/entity/objects/upgrade-symbol.png', + width: 32, + height: 40, + xCount: 1, + offX: 224, + }, + wallY: 1, + shapeType: 'Z_EXPAND', + frames: [0, 1, 2], + time: 0.1, + repeat: true, + SUB: [{ + name: 'inactive', + }, { + name: 'active', + }, { + name: 'red', + }], + }], + }; + }, + }, + AR_FINAL: { + gfx: function () { + return { + offset: { + x: 0, + y: 5, + z: 0, + }, + SUB: [{ + shapeType: 'Z_FLAT', + sheet: { + src: 'media/entity/objects/upgrade-symbol.png', + width: 32, + height: 32, + xCount: 2, + offX: 32, + offY: 64, + }, + frames: [0], + time: 0.07, + repeat: true, + SUB: [{ + name: 'inactive', + }, { + name: 'active', + }, { + name: 'red', + }], + }, { + renderMode: 'lighter', + sheet: { + src: 'media/entity/objects/upgrade-symbol.png', + width: 32, + height: 40, + xCount: 1, + offX: 224, + }, + wallY: 1, + shapeType: 'Z_EXPAND', + frames: [0, 1, 2], + time: 0.1, + repeat: true, + SUB: [{ + name: 'inactive', + }, { + name: 'active', + }, { + name: 'red', + }], + }], + }; + }, + }, + RHOMBUS_SQR_LEFT: { + gfx: function () { + return { + shapeType: 'Z_FLAT', + offset: { + x: 0, + y: 4, + z: 0, + }, + sheet: { + src: 'media/map/rhombus-outside.png', + width: 32, + height: 32, + xCount: 1, + offX: 480, + offY: 0, + }, + time: 1, + frames: [0], + repeat: false, + SUB: [{ + name: 'inactive', + }, { + name: 'active', + }, { + name: 'red', + }], + }; + }, + }, + RHOMBUS_SQR_RIGHT: { + gfx: function () { + return { + shapeType: 'Z_FLAT', + offset: { + x: 1, + y: 4, + z: 0, + }, + sheet: { + src: 'media/map/rhombus-outside.png', + width: 32, + height: 32, + xCount: 1, + offX: 480, + offY: 0, + }, + time: 1, + frames: [0], + repeat: false, + flipX: true, + SUB: [{ + name: 'inactive', + }, + { + name: 'active', + }, { + name: 'red', + }, + ], + }; + }, + }, + BERGEN_LEFT: { + gfx: function () { + return { + shapeType: 'Z_FLAT', + offset: { + x: 0, + y: 4, + z: 0, + }, + sheet: { + src: 'media/map/bergen-trail.png', + width: 32, + height: 32, + xCount: 1, + offX: 256, + offY: 576, + }, + time: 1, + frames: [0], + repeat: false, + SUB: [{ + name: 'inactive', + }, { + name: 'active', + }, { + name: 'red', + }], + }; + }, + }, + HEAT_RIGHT: { + gfx: function () { + return { + shapeType: 'Z_FLAT', + offset: { + x: 0, + y: 4, + z: 0, + }, + sheet: { + src: 'media/map/heat-area.png', + width: 32, + height: 32, + xCount: 1, + offX: 64, + offY: 688, + }, + time: 1, + frames: [0], + repeat: false, + SUB: [{ + name: 'inactive', + }, { + name: 'active', + }, + { + name: 'red', + }, + ], + }; + }, + }, + WAVE_UP: { + gfx: function () { + return { + shapeType: 'Z_FLAT', + renderMode: 'lighter', + offset: { + x: 0, + y: 4, + z: 0, + }, + sheet: { + src: 'media/entity/objects/upgrade-symbol.png', + width: 32, + height: 32, + xCount: 4, + offX: 0, + offY: 96, + }, + time: 0.2, + frames: [0, 1, 2, 3], + repeat: true, + SUB: [{ + name: 'inactive', + }, { + name: 'active', + }, { + name: 'red', + }], + }; + }, + }, + WAVE_DOWN: { + gfx: function () { + return { + shapeType: 'Z_FLAT', + renderMode: 'lighter', + offset: { + x: 0, + y: 4, + z: 0, + }, + sheet: { + src: 'media/entity/objects/upgrade-symbol.png', + width: 32, + height: 32, + xCount: 4, + offX: 0, + offY: 96, + }, + time: 0.2, + frames: [3, 2, 1, 0], + repeat: true, + SUB: [{ + name: 'inactive', + }, { + name: 'active', + }, { + name: 'red', + }], + }; + }, + }, + RHOMBUS_SQR_STATION: { + gfx: function () { + return { + shapeType: 'Z_FLAT', + offset: { + x: 0, + y: 4, + z: 0, + }, + sheet: { + src: 'media/map/rhombus-outside.png', + width: 32, + height: 32, + xCount: 2, + offX: 416, + offY: 0, + }, + time: 1, + repeat: false, + SUB: [{ + name: 'inactive', + }, { + name: 'active', + frames: [1], + }, { + name: 'red', + frames: [0], + }], + }; + }, + }, + RHOMBUS_SQR_STATION_START: { + gfx: function () { + return { + shapeType: 'Z_FLAT', + offset: { + x: 0, + y: 4, + z: 0, + }, + sheet: { + src: 'media/map/rhombus-outside.png', + width: 32, + height: 32, + xCount: 1, + offX: 416, + offY: 32, + }, + time: 1, + repeat: false, + SUB: [{ + name: 'inactive', + }, { + name: 'active', + frames: [0], + }, { + name: 'red', + frames: [1], + }], + }; + }, + }, +} as const; diff --git a/webapp/src/app/services/phaser/sheet-parser.ts b/webapp/src/app/services/phaser/sheet-parser.ts index 3157ec51..aaf949be 100644 --- a/webapp/src/app/services/phaser/sheet-parser.ts +++ b/webapp/src/app/services/phaser/sheet-parser.ts @@ -18,12 +18,16 @@ export interface PropSheet { export type JsonTemplates = Record; +export interface PropFix extends Fix { + offY?: number; +} + export interface PropDef { name?: string; terrain?: string; size: Point3; collType: string; - fix?: Fix; + fix?: PropFix; shapeType?: string; effects?: Effects; anims?: Anims; @@ -74,6 +78,7 @@ export interface Anims extends IfThen { shapeType?: string; framesAlpha?: number[]; flipX?: boolean | number[]; + flipY?: boolean; SUB?: Anims[] | SubJsonInstance | SubJsonParam; tileOffset?: number; wallY?: number; @@ -94,6 +99,14 @@ export interface Anims extends IfThen { dirs?: number | string; tileOffsets?: number[]; guiSprites?: boolean; + shadow?: ShadowSpec; +} + +export interface ShadowSpec { + size: number; + scaleY?: number; + offset?: Partial; + aboveZ?: number; } export interface IfThen { @@ -102,7 +115,8 @@ export interface IfThen { } export interface AnimSheet { - src: string; + src?: string; + mapStyle?: string; width: number; height: number; offX?: number; diff --git a/webapp/src/assets/bounce-block-types.json b/webapp/src/assets/bounce-block-types.json new file mode 100644 index 00000000..59ff54fe --- /dev/null +++ b/webapp/src/assets/bounce-block-types.json @@ -0,0 +1,245 @@ +{ + "default": { + "size": { + "x": 24, + "y": 24, + "z": 23 + }, + "shape": "RECTANGLE", + "anims": { + "namedSheets": { + "block": { + "src": null, + "width": 24, + "height": 48 + } + }, + "sheet": "block", + "SUB": [{ + "name": "off", + "time": 1, + "frames": [0], + "repeat": false + }, { + "name": "on", + "time": 1, + "frames": [1], + "repeat": false + }] + } + }, + "slopeNE": { + "size": { + "x": 24, + "y": 24, + "z": 23 + }, + "shape": "SLOPE_NE", + "anims": { + "namedSheets": { + "block": { + "src": null, + "width": 24, + "height": 48, + "offX": 48 + }, + "ground": { + "src": null, + "width": 24, + "height": 24, + "offX": 144 + } + }, + "SUB": [{ + "sheet": "block", + "aboveZ": 1, + "SUB": [{ + "name": "off", + "time": 1, + "frames": [0], + "repeat": false + }, { + "name": "on", + "time": 1, + "frames": [1], + "repeat": false + }] + }, { + "sheet": "ground", + "size": { + "x": 24, + "y": 24, + "z": 0 + }, + "frames": [0], + "SUB": [{ + "name": "off" + }, { + "name": "on" + }] + }] + } + }, + "slopeSE": { + "size": { + "x": 24, + "y": 24, + "z": 23 + }, + "shape": "SLOPE_SE", + "anims": { + "namedSheets": { + "block": { + "src": null, + "width": 24, + "height": 48, + "offX": 96 + }, + "ground": { + "src": null, + "width": 24, + "height": 24, + "offX": 144, + "offY": 24 + } + }, + "SUB": [{ + "sheet": "block", + "wallY": 1, + "SUB": [{ + "name": "off", + "time": 1, + "frames": [0], + "repeat": false + }, { + "name": "on", + "time": 1, + "frames": [1], + "repeat": false + }] + }, { + "sheet": "ground", + "size": { + "x": 24, + "y": 23, + "z": 1 + }, + "frames": [0], + "wallY": 1, + "SUB": [{ + "name": "off" + }, { + "name": "on" + }] + }] + } + }, + "slopeSW": { + "size": { + "x": 24, + "y": 24, + "z": 23 + }, + "shape": "SLOPE_SW", + "anims": { + "namedSheets": { + "block": { + "src": null, + "width": 24, + "height": 48, + "offX": 96 + }, + "ground": { + "src": null, + "width": 24, + "height": 24, + "offX": 144, + "offY": 24 + } + }, + "flipX": true, + "SUB": [{ + "sheet": "block", + "wallY": 1, + "SUB": [{ + "name": "off", + "time": 1, + "frames": [0], + "repeat": false + }, { + "name": "on", + "time": 1, + "frames": [1], + "repeat": false + }] + }, { + "sheet": "ground", + "size": { + "x": 24, + "y": 23, + "z": 1 + }, + "frames": [0], + "wallY": 1, + "SUB": [{ + "name": "off" + }, { + "name": "on" + }] + }] + } + }, + "slopeNW": { + "size": { + "x": 24, + "y": 24, + "z": 23 + }, + "shape": "SLOPE_NW", + "anims": { + "namedSheets": { + "block": { + "src": null, + "width": 24, + "height": 48, + "offX": 48 + }, + "ground": { + "src": null, + "width": 24, + "height": 24, + "offX": 144 + } + }, + "flipX": true, + "SUB": [{ + "sheet": "block", + "aboveZ": 1, + "SUB": [{ + "name": "off", + "time": 1, + "frames": [0], + "repeat": false + }, { + "name": "on", + "time": 1, + "frames": [1], + "repeat": false + }] + }, { + "sheet": "ground", + "size": { + "x": 24, + "y": 24, + "z": 0 + }, + "frames": [0], + "SUB": [{ + "name": "off" + }, { + "name": "on" + }] + }] + } + } +} diff --git a/webapp/src/assets/door-types.json b/webapp/src/assets/door-types.json new file mode 100644 index 00000000..3d1d2a76 --- /dev/null +++ b/webapp/src/assets/door-types.json @@ -0,0 +1,379 @@ +{ + "COLD_DUNGEON": { + "size": { + "x": 64, + "y": 16, + "z": 64 + }, + "anims": { + "sheet": { + "src": "media/map/cold-dng.png", + "width": 48, + "height": 64, + "xCount": 2, + "offX": 336, + "offY": 576 + }, + "SUB": [ + { + "frames": [0], + "offset": { "x": -8, "y": -2, "z": 0 }, + "SUB": [{ "name": "idle" }] + }, + { + "frames": [1], + "offset": { "x": 8, "y": -2, "z": 0 }, + "SUB": [{ "name": "idle" }] + } + ] + } + }, + "HEAT_DUNGEON_ENTRANCE": { + "size": { + "x": 56, + "y": 16, + "z": 48 + }, + "anims": { + "frames": [0], + "SUB": [ + { + "sheet": { + "src": "media/map/heat-dng-exterior.png", + "width": 32, + "height": 28, + "xCount": 1, + "offX": 0, + "offY": 128 + }, + "offset": { "x": -12, "y": -2, "z": 0 }, + "SUB": [{ "name": "idle" }] + }, + { + "sheet": { + "src": "media/map/heat-dng-exterior.png", + "width": 32, + "height": 28, + "xCount": 1, + "offX": 32, + "offY": 128 + }, + "offset": { "x": 12, "y": -2, "z": 0 }, + "SUB": [{ "name": "idle" }] + }, + { + "sheet": { + "src": "media/map/heat-dng-exterior.png", + "width": 36, + "height": 28, + "xCount": 1, + "offX": 0, + "offY": 100 + }, + "offset": { "x": -10, "y": -2, "z": 14 }, + "SUB": [{ "name": "idle" }] + }, + { + "sheet": { + "src": "media/map/heat-dng-exterior.png", + "width": 28, + "height": 28, + "xCount": 1, + "offX": 36, + "offY": 100 + }, + "offset": { "x": 14, "y": -2, "z": 14 }, + "SUB": [{ "name": "idle" }] + } + ] + } + }, + "HEAT_DUNGEON_MASTER_DOOR": { + "size": { + "x": 64, + "y": 16, + "z": 48 + }, + "anims": { + "frames": [0], + "SUB": [ + { + "sheet": { + "src": "media/map/heat-dng.png", + "width": 36, + "height": 28, + "xCount": 1, + "offX": 312, + "offY": 512 + }, + "offset": { "x": -14, "y": -2, "z": 0 }, + "SUB": [{ "name": "idle" }] + }, + { + "sheet": { + "src": "media/map/heat-dng.png", + "width": 36, + "height": 28, + "xCount": 1, + "offX": 348, + "offY": 512 + }, + "offset": { "x": 14, "y": -2, "z": 0 }, + "SUB": [{ "name": "idle" }] + }, + { + "sheet": { + "src": "media/map/heat-dng.png", + "width": 40, + "height": 32, + "xCount": 1, + "offX": 312, + "offY": 480 + }, + "offset": { "x": -12, "y": -2, "z": 14 }, + "SUB": [{ "name": "idle" }] + }, + { + "sheet": { + "src": "media/map/heat-dng.png", + "width": 32, + "height": 32, + "xCount": 1, + "offX": 352, + "offY": 480 + }, + "offset": { "x": 16, "y": -2, "z": 14 }, + "SUB": [{ "name": "idle" }] + } + ] + } + }, + "SHOCKWAVE_DNG_DOOR": { + "size": { + "x": 64, + "y": 16, + "z": 48 + }, + "anims": { + "frames": [0], + "SUB": [ + { + "sheet": { + "src": "media/map/jungle-props.png", + "width": 36, + "height": 28, + "xCount": 1, + "offX": 440, + "offY": 464 + }, + "offset": { "x": -14, "y": -2, "z": 0 }, + "SUB": [{ "name": "idle" }] + }, + { + "sheet": { + "src": "media/map/jungle-props.png", + "width": 36, + "height": 28, + "xCount": 1, + "offX": 476, + "offY": 464 + }, + "offset": { "x": 14, "y": -2, "z": 0 }, + "SUB": [{ "name": "idle" }] + }, + { + "sheet": { + "src": "media/map/jungle-props.png", + "width": 40, + "height": 32, + "xCount": 1, + "offX": 440, + "offY": 432 + }, + "offset": { "x": -12, "y": -2, "z": 14 }, + "SUB": [{ "name": "idle" }] + }, + { + "sheet": { + "src": "media/map/jungle-props.png", + "width": 32, + "height": 32, + "xCount": 1, + "offX": 480, + "offY": 432 + }, + "offset": { "x": 16, "y": -2, "z": 14 }, + "SUB": [{ "name": "idle" }] + } + ] + } + }, + "FINAL_DNG_DOOR": { + "size": { + "x": 64, + "y": 16, + "z": 48 + }, + "anims": { + "frames": [0], + "SUB": [ + { + "sheet": { + "src": "media/map/final-dungeon-outer-props.png", + "width": 24, + "height": 24, + "xCount": 3, + "offX": 0, + "offY": 480 + }, + "offset": { "x": 0, "y": -3, "z": 12 }, + "SUB": [{ "name": "idle" }] + }, + { + "sheet": { + "src": "media/map/final-dungeon-outer-props.png", + "width": 32, + "height": 48, + "xCount": 1, + "offX": 0, + "offY": 432 + }, + "offset": { "x": -16, "y": -2, "z": 0 }, + "SUB": [{ "name": "idle" }] + }, + { + "sheet": { + "src": "media/map/final-dungeon-outer-props.png", + "width": 32, + "height": 48, + "xCount": 1, + "offX": 32, + "offY": 432 + }, + "offset": { "x": 16, "y": -2, "z": 0 }, + "SUB": [{ "name": "idle" }] + }, + { + "sheet": { + "src": "media/map/final-dungeon-outer-props.png", + "width": 48, + "height": 24, + "xCount": 1, + "offX": 64, + "offY": 432 + }, + "offset": { "x": 0, "y": -2, "z": 24 }, + "SUB": [{ "name": "idle" }] + }, + { + "sheet": { + "src": "media/map/final-dungeon-outer-props.png", + "width": 48, + "height": 24, + "xCount": 1, + "offX": 64, + "offY": 456 + }, + "offset": { "x": 0, "y": -2, "z": 0 }, + "SUB": [{ "name": "idle" }] + } + ] + } + }, + "FINAL_DNG_DOOR_SAPPHIRE": { + "size": { + "x": 112, + "y": 16, + "z": 80 + }, + "anims": { + "frames": [0], + "SUB": [ + { + "sheet": { + "src": "media/map/forest-plate.png", + "width": 80, + "height": 40, + "xCount": 1, + "offX": 288, + "offY": 208 + }, + "offset": { "x": 0, "y": -2, "z": 0 }, + "SUB": [{ "name": "idle" }] + }, + { + "sheet": { + "src": "media/map/forest-plate.png", + "width": 56, + "height": 48, + "xCount": 1, + "offX": 288, + "offY": 160 + }, + "offset": { "x": -28, "y": -2, "z": 0 }, + "SUB": [{ "name": "idle" }] + }, + { + "sheet": { + "src": "media/map/forest-plate.png", + "width": 56, + "height": 48, + "xCount": 1, + "offX": 344, + "offY": 160 + }, + "offset": { "x": 28, "y": -2, "z": 0 }, + "SUB": [{ "name": "idle" }] + }, + { + "sheet": { + "src": "media/map/forest-plate.png", + "width": 32, + "height": 32, + "xCount": 1, + "offX": 368, + "offY": 208 + }, + "offset": { "x": 0, "y": -2, "z": 26 }, + "SUB": [{ "name": "idle" }] + }, + { + "sheet": { + "src": "media/map/forest-plate.png", + "width": 56, + "height": 32, + "xCount": 1, + "offX": 288, + "offY": 128 + }, + "offset": { "x": -28, "y": -2, "z": 40 }, + "SUB": [{ "name": "idle" }] + }, + { + "sheet": { + "src": "media/map/forest-plate.png", + "width": 56, + "height": 32, + "xCount": 1, + "offX": 344, + "offY": 128 + }, + "offset": { "x": 28, "y": -2, "z": 40 }, + "SUB": [{ "name": "idle" }] + }, + { + "sheet": { + "src": "media/map/forest-plate.png", + "width": 64, + "height": 32, + "xCount": 1, + "offX": 288, + "offY": 96 + }, + "offset": { "x": 0, "y": -2, "z": 46 }, + "SUB": [{ "name": "idle" }] + } + ] + } + } +} diff --git a/webapp/src/assets/dynamic-platform-types.json b/webapp/src/assets/dynamic-platform-types.json new file mode 100644 index 00000000..8382768a --- /dev/null +++ b/webapp/src/assets/dynamic-platform-types.json @@ -0,0 +1,531 @@ +{ + "DefaultSmall": { + "size": { + "x": 32, + "y": 32, + "z": 2 + }, + "styleKey": "dynPlatformSmall", + "terrain": 2, + "anims": { + "sheet": { + "src": null, + "width": 32, + "height": 32, + "offX": 0, + "offY": 0 + }, + "SUB": [ + { + "name": "on", + "time": 1, + "frames": [ + 0 + ], + "repeat": false + }, + { + "name": "off", + "time": 1, + "frames": [ + 1 + ], + "repeat": false + } + ] + }, + "walkAnims": { + "on": { + "idle": "on" + }, + "off": { + "idle": "off" + } + } + }, + "DefaultMedium": { + "size": { + "x": 32, + "y": 32, + "z": 2 + }, + "styleKey": "dynPlatformMedium", + "terrain": 2, + "anims": { + "sheet": { + "src": null, + "width": 32, + "height": 32, + "offX": 0, + "offY": 0 + }, + "SUB": [ + { + "name": "on", + "time": 1, + "frames": [ + 0 + ], + "repeat": false + }, + { + "name": "off", + "time": 1, + "frames": [ + 1 + ], + "repeat": false + } + ] + }, + "walkAnims": { + "on": { + "idle": "on" + }, + "off": { + "idle": "off" + } + } + }, + "Small": { + "size": { + "x": 16, + "y": 16, + "z": 16 + }, + "terrain": 2, + "anims": { + "sheet": { + "src": "media/entity/objects/puzzle-elements-1.png", + "width": 16, + "height": 32 + }, + "SUB": [ + { + "name": "default", + "time": 1, + "frames": [ + 0 + ], + "repeat": false + }, + { + "name": "move", + "time": 0.05, + "frames": [ + 0, + 1, + 2, + 1 + ], + "repeat": true + } + ] + }, + "walkAnims": { + "default": { + "idle": "default", + "move": "move" + } + } + }, + "Large": { + "size": { + "x": 32, + "y": 32, + "z": 32 + }, + "terrain": 2, + "anims": { + "sheet": { + "src": "media/entity/objects/puzzle-elements-1.png", + "width": 32, + "height": 64, + "offY": 32 + }, + "SUB": [ + { + "name": "default", + "time": 1, + "frames": [ + 0 + ], + "repeat": false + }, + { + "name": "move", + "time": 0.05, + "frames": [ + 0, + 1, + 2, + 1 + ], + "repeat": true + } + ] + }, + "walkAnims": { + "default": { + "idle": "default", + "move": "move" + } + } + }, + "RhombusMedium": { + "size": { + "x": 32, + "y": 32, + "z": 32 + }, + "terrain": 2, + "anims": { + "sheet": { + "src": "media/entity/objects/dynamic-blocks.png", + "width": 32, + "height": 64 + }, + "SUB": [ + { + "name": "redOn", + "time": 1, + "frames": [ + 0 + ], + "repeat": false + }, + { + "name": "redOff", + "time": 1, + "frames": [ + 1 + ], + "repeat": false + }, + { + "name": "greenOn", + "time": 1, + "frames": [ + 2 + ], + "repeat": false + }, + { + "name": "greenOff", + "time": 1, + "frames": [ + 3 + ], + "repeat": false + }, + { + "name": "blueOn", + "time": 1, + "frames": [ + 4 + ], + "repeat": false + }, + { + "name": "blueOff", + "time": 1, + "frames": [ + 5 + ], + "repeat": false + } + ] + }, + "walkAnims": { + "greenOn": { + "idle": "greenOn" + }, + "greenOff": { + "idle": "greenOff" + }, + "redOn": { + "idle": "redOn" + }, + "redOff": { + "idle": "redOff" + }, + "blueOn": { + "idle": "blueOn" + }, + "blueOff": { + "idle": "blueOff" + } + } + }, + "Floating": { + "size": { + "x": 32, + "y": 32, + "z": 0 + }, + "terrain": 2, + "anims": { + "sheet": { + "src": "media/entity/objects/dynamic-blocks.png", + "width": 32, + "height": 36 + }, + "shapeType": "Z_EXPAND", + "offset": { + "x": 0, + "y": 0, + "z": -4 + }, + "SUB": [ + { + "name": "redOn", + "time": 1, + "frames": [ + 0 + ], + "repeat": false + }, + { + "name": "redOff", + "time": 1, + "frames": [ + 1 + ], + "repeat": false + }, + { + "name": "greenOn", + "time": 1, + "frames": [ + 2 + ], + "repeat": false + }, + { + "name": "greenOff", + "time": 1, + "frames": [ + 3 + ], + "repeat": false + }, + { + "name": "blueOn", + "time": 1, + "frames": [ + 4 + ], + "repeat": false + }, + { + "name": "blueOff", + "time": 1, + "frames": [ + 5 + ], + "repeat": false + } + ] + }, + "walkAnims": { + "greenOn": { + "idle": "greenOn" + }, + "greenOff": { + "idle": "greenOff" + }, + "redOn": { + "idle": "redOn" + }, + "redOff": { + "idle": "redOff" + }, + "blueOn": { + "idle": "blueOn" + }, + "blueOff": { + "idle": "blueOff" + } + } + }, + "FloatingBig": { + "size": { + "x": 64, + "y": 64, + "z": 0 + }, + "terrain": 2, + "anims": { + "sheet": { + "src": "media/entity/objects/dynamic-blocks.png", + "width": 64, + "height": 68, + "offY": 40 + }, + "shapeType": "Z_EXPAND", + "offset": { + "x": 0, + "y": 0, + "z": -4 + }, + "SUB": [ + { + "name": "blueOn", + "time": 1, + "frames": [ + 0 + ], + "repeat": false + }, + { + "name": "blueOff", + "time": 1, + "frames": [ + 1 + ], + "repeat": false + } + ] + }, + "walkAnims": { + "blueOn": { + "idle": "blueOn" + }, + "blueOff": { + "idle": "blueOff" + } + } + }, + "AridBig": { + "size": { + "x": 80, + "y": 72, + "z": 2 + }, + "terrain": 2, + "anims": { + "sheet": { + "src": "media/map/arid-interior.png", + "width": 80, + "height": 72, + "offX": 336, + "offY": 672 + }, + "shapeType": "Z_EXPAND", + "wallY": 1, + "SUB": [ + { + "name": "default", + "time": 1, + "frames": [ + 0 + ], + "repeat": false + } + ] + }, + "walkAnims": { + "default": { + "idle": "default" + } + } + }, + "ArWallH": { + "size": { + "x": 32, + "y": 8, + "z": 24 + }, + "shadowSize": 0, + "terrain": 18, + "anims": { + "sheet": { + "src": "media/entity/objects/dungeon-ar.png", + "width": 32, + "height": 32, + "offX": 56, + "offY": 144 + }, + "renderMode": "lighter", + "SUB": [ + { + "name": "default", + "time": 0.05, + "frames": [ + 0, + 0 + ], + "framesAlpha": [ + 1, + 0.8 + ], + "repeat": true + } + ] + }, + "walkAnims": { + "on": { + "idle": "default" + } + }, + "fx": { + "show": { + "sheet": "teleport", + "name": "barrierShow" + }, + "hide": { + "sheet": "teleport", + "name": "barrierHide" + } + } + }, + "ArWallV": { + "size": { + "x": 8, + "y": 32, + "z": 24 + }, + "shadowSize": 0, + "terrain": 18, + "anims": { + "sheet": { + "src": "media/entity/objects/dungeon-ar.png", + "width": 8, + "height": 56, + "offX": 24, + "offY": 176 + }, + "renderMode": "lighter", + "SUB": [ + { + "name": "default", + "time": 0.05, + "frames": [ + 0, + 0 + ], + "framesAlpha": [ + 1, + 0.8 + ], + "repeat": true + } + ] + }, + "walkAnims": { + "on": { + "idle": "default" + } + }, + "fx": { + "show": { + "sheet": "teleport", + "name": "barrierShow" + }, + "hide": { + "sheet": "teleport", + "name": "barrierHide" + } + } + } +} diff --git a/webapp/src/assets/elevator-type.json b/webapp/src/assets/elevator-type.json new file mode 100644 index 00000000..459aaf92 --- /dev/null +++ b/webapp/src/assets/elevator-type.json @@ -0,0 +1,829 @@ +{ + "cargoShip": { + "size": { + "x": 64, + "y": 48, + "z": 4 + }, + "ground": { + "gfx": "media/entity/objects/elevator.png", + "x": 0, + "y": 24, + "w": 64, + "h": 64, + "flipX": false + }, + "markerDir": "SOUTH", + "stuckProbility": 0.5, + "switchEntry": { + "pos": { + "x": 26, + "y": 2, + "z": 4 + }, + "size": { + "x": 10, + "y": 10, + "z": 9 + }, + "anims": { + "sheet": { + "src": "media/entity/objects/elevator.png", + "width": 16, + "height": 24 + }, + "SUB": [ + { + "name": "active", + "time": 1, + "frames": [ + 0 + ] + }, + { + "name": "disabled", + "time": 1, + "frames": [ + 0 + ] + } + ] + } + } + }, + "coldDng": { + "size": { + "x": 96, + "y": 64, + "z": 2 + }, + "ground": { + "gfx": "media/map/cold-dng.png", + "x": 400, + "y": 304, + "w": 96, + "h": 80, + "flipX": false, + "offset": { + "x": 0, + "y": 0, + "z": -1 + } + }, + "markerDir": "SOUTH", + "stuckProbility": 0.5, + "switchEntry": { + "pos": { + "x": 43, + "y": 0, + "z": 2 + }, + "size": { + "x": 10, + "y": 6, + "z": 16 + }, + "anims": { + "sheet": { + "src": "media/map/cold-dng.png", + "width": 16, + "height": 16, + "offX": 448, + "offY": 256, + "xCount": 1 + }, + "SUB": [ + { + "name": "active", + "time": 1, + "frames": [ + 1 + ] + }, + { + "name": "disabled", + "time": 1, + "frames": [ + 0 + ] + } + ] + } + } + }, + "lab": { + "size": { + "x": 96, + "y": 64, + "z": 2 + }, + "ground": { + "gfx": "media/map/lab.png", + "x": 416, + "y": 560, + "w": 96, + "h": 80, + "flipX": false, + "offset": { + "x": 0, + "y": 0, + "z": -1 + } + }, + "markerDir": "SOUTH", + "stuckProbility": 0, + "switchEntry": { + "pos": { + "x": 32, + "y": 0, + "z": 2 + }, + "size": { + "x": 32, + "y": 3, + "z": 13 + }, + "anims": { + "sheet": { + "src": "media/map/lab.png", + "width": 32, + "height": 16, + "offX": 448, + "offY": 528, + "xCount": 1 + }, + "offset": { + "x": 0, + "y": 0, + "z": 3 + }, + "renderMode": "lighter", + "SUB": [ + { + "name": "active", + "time": 1, + "frames": [ + 1 + ] + }, + { + "name": "disabled", + "time": 1, + "frames": [ + 0 + ] + } + ] + }, + "showFx": { + "sheet": "map.lab-entrance", + "name": "elevatorOn" + }, + "hideFx": { + "sheet": "map.lab-entrance", + "name": "elevatorOff" + } + } + }, + "labSmall": { + "size": { + "x": 32, + "y": 28, + "z": 2 + }, + "ground": { + "gfx": "media/map/lab.png", + "x": 464, + "y": 640, + "w": 32, + "h": 32, + "flipX": false, + "offset": { + "x": 0, + "y": 0, + "z": 0 + } + }, + "markerDir": "SOUTH", + "stuckProbility": 0, + "noEndRunble": true, + "speed": 170, + "switchEntry": { + "pos": { + "x": 8, + "y": 0, + "z": 2 + }, + "size": { + "x": 16, + "y": 2, + "z": 20 + }, + "collType": 1, + "anims": { + "sheet": { + "src": "media/map/lab.png", + "width": 16, + "height": 16, + "offX": 496, + "offY": 640, + "xCount": 1 + }, + "renderMode": "lighter", + "SUB": [ + { + "name": "active", + "time": 1, + "frames": [ + 1 + ] + }, + { + "name": "disabled", + "time": 1, + "frames": [ + 0 + ] + } + ] + }, + "showFx": { + "sheet": "map.lab-entrance", + "name": "elevatorOnSmall" + }, + "hideFx": { + "sheet": "map.lab-entrance", + "name": "elevatorOffSmall" + } + }, + "partyOffset": [ + { + "x": 24, + "y": 0 + }, + { + "x": -24, + "y": 0 + }, + { + "x": 0, + "y": 4 + } + ], + "singlePerson": true + }, + "labSmallOutside": { + "size": { + "x": 32, + "y": 28, + "z": 2 + }, + "ground": { + "gfx": "media/map/lab-entrance.png", + "x": 32, + "y": 64, + "w": 32, + "h": 32, + "flipX": false, + "offset": { + "x": 0, + "y": 0, + "z": 0 + } + }, + "markerDir": "SOUTH", + "stuckProbility": 0, + "noEndRunble": true, + "speed": 170, + "switchEntry": { + "pos": { + "x": 8, + "y": 0, + "z": 2 + }, + "size": { + "x": 16, + "y": 2, + "z": 20 + }, + "collType": 1, + "anims": { + "sheet": { + "src": "media/map/lab-entrance.png", + "width": 16, + "height": 16, + "offX": 32, + "offY": 96, + "xCount": 1 + }, + "renderMode": "lighter", + "SUB": [ + { + "name": "active", + "time": 1, + "frames": [ + 1 + ] + }, + { + "name": "disabled", + "time": 1, + "frames": [ + 0 + ] + } + ] + } + }, + "partyOffset": [ + { + "x": 24, + "y": 0 + }, + { + "x": -24, + "y": 0 + }, + { + "x": 0, + "y": 4 + } + ], + "singlePerson": true + }, + "aridInner": { + "size": { + "x": 64, + "y": 48, + "z": 4 + }, + "ground": { + "gfx": "media/map/arid-interior.png", + "x": 384, + "y": 368, + "w": 64, + "h": 56, + "flipX": false, + "offset": { + "x": 0, + "y": 0, + "z": 0 + } + }, + "markerDir": "NORTH", + "stuckProbility": 0.5, + "switchEntry": { + "pos": { + "x": 24, + "y": 0, + "z": 4 + }, + "size": { + "x": 16, + "y": 8, + "z": 16 + }, + "collType": 1, + "anims": { + "sheet": { + "src": "media/map/arid-interior.png", + "width": 16, + "height": 24, + "offX": 448, + "offY": 368, + "xCount": 1 + }, + "renderMode": "lighter", + "SUB": [ + { + "name": "active", + "time": 1, + "frames": [ + 0 + ] + }, + { + "name": "disabled", + "time": 1, + "frames": [ + -1 + ] + } + ] + } + } + }, + "aridInnerHuge": { + "size": { + "x": 448, + "y": 256, + "z": 4 + }, + "ground": { + "gfx": "media/map/arid-interior-elevator.png", + "x": 0, + "y": 0, + "w": 448, + "h": 260, + "flipX": false, + "offset": { + "x": 0, + "y": 0, + "z": 0 + } + }, + "markerDir": "NORTH", + "stuckProbility": 0, + "speed": 120, + "startDelta": 64, + "switchEntry": { + "pos": { + "x": 216, + "y": 96, + "z": 4 + }, + "size": { + "x": 16, + "y": 8, + "z": 16 + }, + "collType": 1, + "anims": { + "sheet": { + "src": "media/map/arid-interior.png", + "width": 16, + "height": 24, + "offX": 448, + "offY": 368, + "xCount": 1 + }, + "renderMode": "lighter", + "SUB": [ + { + "name": "active", + "time": 1, + "frames": [ + 0 + ] + }, + { + "name": "disabled", + "time": 1, + "frames": [ + -1 + ] + } + ] + }, + "showFx": { + "sheet": "area.arid", + "name": "elevatorAppear" + }, + "hideFx": { + "sheet": "area.arid", + "name": "elevatorDisappear" + } + } + }, + "aridDngWeird": { + "size": { + "x": 64, + "y": 13, + "z": 4 + }, + "ground": { + "gfx": "media/map/arid-scaffolding.png", + "x": 416, + "y": 352, + "w": 64, + "h": 32, + "flipX": false, + "offset": { + "x": 0, + "y": 0, + "z": 0 + } + }, + "markerDir": "SOUTH", + "stuckProbility": 0, + "switchEntry": { + "pos": { + "x": 16, + "y": 0, + "z": 4 + }, + "size": { + "x": 16, + "y": 2, + "z": 14 + }, + "collType": 1, + "anims": { + "sheet": { + "src": "media/map/arid-scaffolding.png", + "width": 16, + "height": 16, + "offX": 480, + "offY": 352, + "xCount": 1 + }, + "SUB": [ + { + "name": "active", + "time": 1, + "frames": [ + 0 + ] + }, + { + "name": "disabled", + "time": 1, + "frames": [ + 0 + ] + } + ] + } + } + }, + "aridDngOutside": { + "size": { + "x": 48, + "y": 32, + "z": 4 + }, + "ground": { + "gfx": "media/map/arid-dng-outside.png", + "x": 304, + "y": 24, + "w": 48, + "h": 56, + "flipX": false + }, + "markerDir": "SOUTH", + "stuckProbility": 0, + "switchEntry": { + "pos": { + "x": 19, + "y": 0, + "z": 4 + }, + "size": { + "x": 10, + "y": 8, + "z": 12 + }, + "anims": { + "sheet": { + "src": "media/map/arid-dng-outside.png", + "width": 16, + "height": 24, + "offX": 352, + "offY": 32 + }, + "SUB": [ + { + "name": "active", + "time": 1, + "frames": [ + 0 + ] + }, + { + "name": "disabled", + "time": 1, + "frames": [ + 0 + ] + } + ] + } + } + }, + "basinKeep": { + "size": { + "x": 32, + "y": 48, + "z": 1 + }, + "ground": { + "gfx": "media/map/jungle-interior.png", + "x": 480, + "y": 416, + "w": 32, + "h": 96, + "flipX": false + }, + "markerDir": "SOUTH", + "stuckProbility": 0, + "switchEntry": { + "pos": { + "x": 16, + "y": 0, + "z": 0 + }, + "size": { + "x": 16, + "y": 0, + "z": 36 + }, + "anims": { + "sheet": { + "src": "media/map/jungle-interior.png", + "width": 16, + "height": 16, + "offX": 464, + "offY": 416 + }, + "offset": { + "z": 16 + }, + "SUB": [ + { + "name": "active", + "time": 1, + "frames": [ + 0 + ] + }, + { + "name": "disabled", + "time": 1, + "frames": [ + 0 + ] + } + ] + } + }, + "posOffset": { + "x": 0, + "y": -16 + }, + "partyOffset": [ + { + "x": 8, + "y": 12 + }, + { + "x": -8, + "y": 24 + }, + { + "x": 0, + "y": 16 + } + ], + "closeFrontDoor": true + }, + "finalDngMedium": { + "size": { + "x": 64, + "y": 48, + "z": 1 + }, + "ground": { + "gfx": "media/map/final-dungeon-elevator.png", + "x": 128, + "y": 0, + "w": 64, + "h": 72, + "flipX": false, + "offset": { + "x": 0, + "y": 0, + "z": -2 + } + }, + "markerDir": "SOUTH", + "stuckProbility": 0, + "switchEntry": { + "pos": { + "x": 24, + "y": 1, + "z": 1 + }, + "size": { + "x": 16, + "y": 4, + "z": 20 + }, + "anims": { + "sheet": { + "src": "media/map/final-dungeon-elevator.png", + "width": 16, + "height": 24, + "offX": 128, + "offY": 72, + "xCount": 2 + }, + "offset": { + "x": 0, + "y": 0, + "z": 0 + }, + "SUB": [ + { + "name": "active", + "time": 1, + "frames": [ + 1 + ] + }, + { + "name": "disabled", + "time": 1, + "frames": [ + 0 + ] + } + ] + }, + "showFx": { + "sheet": "area.final", + "name": "elevatorOn" + }, + "hideFx": { + "sheet": "area.final", + "name": "elevatorOff" + } + } + }, + "finalDngLarge": { + "size": { + "x": 128, + "y": 80, + "z": 1 + }, + "ground": { + "gfx": "media/map/final-dungeon-elevator.png", + "x": 0, + "y": 0, + "w": 128, + "h": 112, + "flipX": false, + "offset": { + "x": 0, + "y": 0, + "z": -2 + } + }, + "markerDir": "SOUTH", + "stuckProbility": 0, + "switchEntry": { + "pos": { + "x": 56, + "y": 1, + "z": 1 + }, + "size": { + "x": 16, + "y": 4, + "z": 20 + }, + "anims": { + "sheet": { + "src": "media/map/final-dungeon-elevator.png", + "width": 16, + "height": 24, + "offX": 128, + "offY": 72, + "xCount": 2 + }, + "offset": { + "x": 0, + "y": 0, + "z": 0 + }, + "SUB": [ + { + "name": "active", + "time": 1, + "frames": [ + 1 + ] + }, + { + "name": "disabled", + "time": 1, + "frames": [ + 0 + ] + } + ] + }, + "showFx": { + "sheet": "area.final", + "name": "elevatorOn" + }, + "hideFx": { + "sheet": "area.final", + "name": "elevatorOff" + } + }, + "posOffset": { + "x": 0, + "y": -16 + } + } +} \ No newline at end of file diff --git a/webapp/src/assets/entities.json b/webapp/src/assets/entities.json index 8ecb59a6..dda228d2 100644 --- a/webapp/src/assets/entities.json +++ b/webapp/src/assets/entities.json @@ -400,7 +400,8 @@ } }, "drawBox": true, - "boxColor": "rgba(255,255,125, 0.8)" + "boxColor": "rgba(255,255,125, 0.8)", + "size": {"x": 8, "y": 8, "z": 0} }, "HiddenBlock": { "spawnable": true, @@ -546,7 +547,9 @@ "COLD_DUNGEON": 0, "HEAT_DUNGEON_ENTRANCE": 0, "HEAT_DUNGEON_MASTER_DOOR": 0, - "SHOCKWAVE_DNG_DOOR": 0 + "SHOCKWAVE_DNG_DOOR": 0, + "FINAL_DNG_DOOR": 0, + "FINAL_DNG_DOOR_SAPPHIRE": 0 } }, "condition": { @@ -660,8 +663,6 @@ } }, "drawBox": true, - "boxColor": "rgba(255,255,0, 0.5)", - "frontColor": "rgba(120,120,0, 0.8)", "alwaysRecreate": true }, "NPCWaypoint": { @@ -822,8 +823,7 @@ "description": "Condition for entity to become transparent" } }, - "drawBox": true, - "boxColor": "rgba(255,255,0, 0.5)" + "drawBox": true }, "ScalableProp": { "spawnable": true, @@ -860,8 +860,7 @@ "description": "Condition for entity to become transparent" } }, - "drawBox": true, - "boxColor": "rgba(255,255,0, 0.5)" + "drawBox": true }, "Note": { "spawnable": true, @@ -901,8 +900,7 @@ "description": "Instead of killing the enemy, set specified variable to true." } }, - "drawBox": true, - "boxColor": "rgba(255,0,0, 0.5)" + "drawBox": true }, "EnemySpawner": { "spawnable": true, @@ -1011,6 +1009,17 @@ "popup": true, "description": "A condition for this if any. " } + }, + "anims": { + "sheet": { + "src": "media/entity/objects/object-effects.png", + "width": 16, + "height": 16 + }, + "gfxOffset": {"x": 0, "y": -1}, + "SUB": [ + {"name": "glow", "frames": [2]} + ] } }, "JumpPanelFar": { @@ -1198,6 +1207,7 @@ "options": { "SOLID": 0, "AR": 0, + "AR_FINAL": 0, "RHOMBUS_SQR_LEFT": 0, "RHOMBUS_SQR_RIGHT": 0, "BERGEN_LEFT": 0, @@ -1208,9 +1218,7 @@ "RHOMBUS_SQR_STATION_START": 0 } } - }, - "boxColor": "rgba(255,255,0, 0.5)", - "frontColor": "rgba(120,120,0, 0.8)" + } }, "RhombusPoint": { "spawnable": true, @@ -1297,7 +1305,7 @@ } }, "drawBox": true, - "boxColor": "rgba(255,0,0, 0.5)", + "boxColor": "rgba(0, 50, 255, 0.7)", "noZLine": true }, "LocationEvent": { @@ -1359,12 +1367,28 @@ "description": "Condition for entity to become transparent" } }, - "drawBox": true, - "boxColor": "rgba(0,0,255, 0.5)" + "drawBox": true }, "Block": { "spawnable": true, - "attributes": {} + "attributes": { + "style": { + "type": "Number", + "description": "style" + } + }, + "size": {"x": 16, "y": 16, "z": 16}, + "anims": { + "sheet": { + "src": "media/entity/objects/block.png", + "width": 32, + "height": 32 + }, + "SUB": [ + {"name": "normal", "frames": [0]}, + {"name": "touched", "frames": [1]} + ] + } }, "Blocker": { "spawnable": true, @@ -1399,6 +1423,46 @@ "type": "Boolean", "description": "No camera-follow with heat" } + }, + "size": { + "x": 24, + "y": 24, + "z": 0 + }, + "anims": { + "namedSheets": { + "panel": { + "mapStyle": "puzzle2", + "width": 24, + "height": 24, + "xCount": 2, + "offX": 0, + "offY": 88 + }, + "bomb": { + "mapStyle": "puzzle2", + "width": 24, + "height": 24, + "xCount": 5, + "offX": 0, + "offY": 64 + } + }, + "SUB": [ + { + "sheet": "panel", + "SUB": [ + {"name": "on", "frames": [1]} + ] + }, + { + "sheet": "bomb", + "offset": {"x": 0, "y": -6, "z": 0}, + "SUB": [ + {"name": "on", "frames": [0]} + ] + } + ] } }, "WaterBubblePanel": { @@ -1414,6 +1478,56 @@ "optional": true, "description": "Time coal will be cooled by ice disks created from these bubbles" } + }, + "size": { + "x": 24, + "y": 24, + "z": 0 + }, + "anims": { + "shadow": {"size": 16, "aboveZ": 4}, + "namedSheets": { + "panel": { + "mapStyle": "puzzle2", + "width": 24, + "height": 24, + "xCount": 2, + "offX": 0, + "offY": 112 + }, + "bubble": { + "src": "media/entity/objects/object-effects.png", + "width": 24, + "height": 24, + "xCount": 4, + "offX": 128, + "offY": 16 + } + }, + "SUB": [ + { + "sheet": "panel", + "SUB": [ + { + "name": "on", + "time": 1, + "frames": [1], + "repeat": false + } + ] + }, + { + "sheet": "bubble", + "aboveZ": 8, + "offset": {"x": 0, "y": -3, "z": 8}, + "SUB": [ + { + "name": "on", + "frames": [1] + } + ] + } + ] } }, "Compressor": { @@ -1437,6 +1551,43 @@ "type": "Boolean", "description": "Make sure puzzle element is not slowed down by assist mode" } + }, + "size": {"x": 16, "y": 16, "z": 24}, + "anims": { + "namedSheets": { + "base": { + "mapStyle": "puzzle2", + "width": 16, + "height": 16, + "xCount": 3, + "offX": 208, + "offY": 176 + }, + "ball": { + "mapStyle": "puzzle2", + "width": 16, + "height": 16, + "xCount": 3, + "offX": 208, + "offY": 160 + } + }, + "SUB": [ + { + "sheet": "base", + "SUB": [ + {"name": "off", "frames": [0]} + ] + }, + { + "sheet": "ball", + "offset": {"x": 0, "y": 0, "z": 6}, + "aboveZ": 1, + "SUB": [ + {"name": "off", "frames": [0]} + ] + } + ] } }, "AntiCompressor": { @@ -1448,6 +1599,16 @@ "optional": true, "description": "Condition for Anti Compressor to spawn" } + }, + "size": {"x": 16, "y": 16, "z": 24}, + "anims": { + "sheet": { + "mapStyle": "anticompressor", + "width": 16, + "height": 16, + "xCount": 1 + }, + "SUB": [{"name": "idle", "frames": [0]}] } }, "CompressorBouncer": { @@ -1540,12 +1701,16 @@ "description": "If true, bounces are reset when this changer is hit" } }, - "drawBox": true, - "boxColor": "rgba(255,255,0, 0.5)" + "drawBox": true }, "WallHorizontal": { "spawnable": true, "scalableX": true, + "scalableStep": 4, + "size": { + "x": 16, + "y": 8 + }, "attributes": { "skipRender": { "type": "Boolean", @@ -1596,6 +1761,11 @@ "WallVertical": { "spawnable": true, "scalableY": true, + "scalableStep": 4, + "size": { + "x": 8, + "y": 16 + }, "attributes": { "skipRender": { "type": "Boolean", @@ -1647,29 +1817,6 @@ } } }, - "WallBlocker": { - "spawnable": false, - "attributes": { - "collType": { - "type": "String", - "description": "Top End Type", - "options": { - "NONE": 0, - "IGNORE": 0, - "PROJECTILE": 0, - "VIRTUAL": 0, - "PBLOCK": 0, - "NPBLOCK": 0, - "BLOCK": 0, - "TRIGGER": 0, - "PASSIVE": 0, - "SEMI_IGNORE": 0, - "FENCE": 0, - "NPFENCE": 0 - } - } - } - }, "GlowingLine": { "spawnable": true, "attributes": { @@ -1680,7 +1827,25 @@ }, "scalableX": true, "scalableY": true, - "scalableStep": 8 + "scalableStep": 8, + "size": { + "x": 8, + "y": 8 + }, + "anims": { + "sheet": { + "mapStyle": "puzzle", + "width": 16, + "height": 16, + "xCount": 4, + "offX": 176, + "offY": 80 + }, + "SUB": [ + {"name": "off", "frames": [0]}, + {"name": "on", "frames": [3]} + ] + } }, "Lorry": { "spawnable": true, @@ -1817,7 +1982,8 @@ "steamPipe": 0, "teslaSwitch": 0, "arSwitch": 0, - "waveSwitch": 0 + "waveSwitch": 0, + "ferroSwitch": 0 } }, "variable": { @@ -1861,10 +2027,10 @@ "default": "HEAT", "description": "Element of shield", "options": { - "0": 0, - "1": 0, - "2": 0, - "3": 0 + "HEAT": 0, + "COLD": 0, + "SHOCK": 0, + "WAVE": 0 } }, "onActivateAdd": { @@ -1901,7 +2067,21 @@ "optional": true, "description": "If specified: Switch will always stick while condition is true" } - } + }, + "anims": { + "sheet": { + "mapStyle": "puzzle2", + "width": 16, + "height": 16, + "offX": 0, + "offY": 48 + }, + "SUB": [ + {"name": "off", "frames": [0]}, + {"name": "on", "frames": [1]} + ] + }, + "size": {"x": 16, "y": 16, "z": 1} }, "Magnet": { "spawnable": true, @@ -1936,8 +2116,7 @@ "description": "Type of Switch", "options": { "default": 0, - "arSwitch": 0, - "old": 0 + "arSwitch": 0 } }, "variable": { @@ -1967,6 +2146,84 @@ "type": "String", "description": "Group Name to assign bouncing blocks to switch" } + }, + "size": { + "x": 24, + "y": 24, + "z": 24 + }, + "anims": { + "namedSheets": { + "base": { + "mapStyle": "puzzle2", + "width": 24, + "height": 28, + "offX": 168, + "xCount": 2 + }, + "cube": { + "mapStyle": "puzzle2", + "width": 16, + "height": 24, + "offX": 224, + "xCount": 2 + }, + "top": { + "mapStyle": "puzzle2", + "width": 8, + "height": 8, + "offX": 216, + "offY": 48 + } + }, + "SUB": [ + { + "sheet": "base", + "size": { + "x": 24, + "y": 26, + "z": 0 + }, + "offset": { + "y": 0 + }, + "SUB": [ + {"name": "off", "frames": [0]}, + {"name": "on", "frames": [3]} + ] + }, + { + "sheet": "cube", + "size": { + "x": 16, + "y": 16, + "z": 8 + }, + "offset": { + "z": 12, + "y": -4 + }, + "SUB": [ + {"name": "off", "frames": [0]} + ] + }, + { + "sheet": "top", + "size": { + "x": 8, + "y": 8, + "z": 0 + }, + "offset": { + "z": 20, + "y": -8 + }, + "frames": [0], + "SUB": [ + {"name": "off"} + ] + } + ] } }, "BounceBlock": { @@ -2034,10 +2291,10 @@ "type": "String", "description": "Element of Destination", "options": { - "0": 0, - "1": 0, - "2": 0, - "3": 0 + "HEAT": 0, + "COLD": 0, + "SHOCK": 0, + "WAVE": 0 } }, "variable": { @@ -2088,6 +2345,12 @@ "popup": true, "description": "Condition for Block to spawn" } + }, + "size": {"x": 32, "y": 32, "z": 32}, + "anims": { + "sheet": {"mapStyle": "waveblock", "width": 32, "height": 64}, + "aboveZ": 1, + "SUB": [{"name": "default", "frames": [0]}] } }, "PushPullDest": { @@ -2120,7 +2383,14 @@ }, "SlidingBlock": { "spawnable": true, - "attributes": {} + "attributes": {}, + "size": {"x": 32, "y": 32, "z": 32}, + "anims": { + "sheet": {"mapStyle": "puzzle", "width": 32, "height": 64, "offX": 224, "offY": 192}, + "aboveZ": 1, + "wallY": 0.1, + "SUB": [{"name": "default", "frames": [0]}] + } }, "Switch": { "spawnable": true, @@ -2129,6 +2399,14 @@ "type": "VarName", "description": "Variable set to true when switch is hit" } + }, + "size": {"x": 16, "y": 16, "z": 24}, + "anims": { + "sheet": {"mapStyle": "puzzle", "width": 24, "height": 24, "offX": 0, "offY": 64}, + "SUB": [ + {"name": "off", "frames": [6]}, + {"name": "off", "frames": [0], "offset": {"x": 0, "y": 0, "z": 12}} + ] } }, "Destructible": { @@ -2334,7 +2612,11 @@ "options": { "iceBlock": 0, "flame": 0, - "shock": 0 + "shock": 0, + "ferroHeat": 0, + "ferroCold": 0, + "ferroShock": 0, + "ferroWave": 0 } }, "spawnCondition": { @@ -2347,6 +2629,11 @@ "popup": true, "description": "Condition for destructible to be active. Otherwise is always 'destroyed'" }, + "onDestroyIncrease": { + "type": "VarName", + "optional": true, + "description": "Variable to increase when destroyed" + }, "blockNavMap": { "type": "Boolean", "description": "If true, block path map and update when destroyed" @@ -2646,6 +2933,13 @@ "optional": true, "description": "Set to true when one of the first switches in a group is hit." } + }, + "size": {"x": 16, "y": 16, "z": 17}, + "anims": { + "sheet": {"mapStyle": "puzzle", "width": 16, "height": 32}, + "SUB": [ + {"name": "off", "time": 0.1, "frames": [0, 1, 2, 3], "repeat": true} + ] } }, "Chest": { @@ -2697,6 +2991,12 @@ "optional": true, "default": true, "description": "If true, this chest is not tracked in the area counter" + }, + "detectCondition": { + "type": "VarCondition", + "popup": true, + "optional": true, + "description": "Condition for Detector to pick up the chest" } } }, @@ -2717,6 +3017,11 @@ "type": "Marker", "description": "Marker on map to teleport player to" } + }, + "size": {"x": 32, "y": 32, "z": 0}, + "anims": { + "sheet": {"mapStyle": "quicksand", "width": 32, "height": 32}, + "SUB": [{"name": "defaukt", "time": 0.2, "frames": [0], "repeat": true}] } }, "SteamPipe": { @@ -2782,6 +3087,69 @@ "type": "Boolean", "description": "Make sure puzzle element is not slowed down by assist mode" } + }, + "size": { + "x": 16, + "y": 16, + "z": 32 + }, + "anims": { + "namedSheets": { + "floor": { + "mapStyle": "pipes", + "width": 16, + "height": 16, + "xCount": 1, + "offX": 80, + "offY": 64 + }, + "top": { + "mapStyle": "pipes", + "width": 16, + "height": 32, + "xCount": 1, + "offX": 64, + "offY": 64 + } + }, + "SUB": [ + { + "name": "default", + "sheet": "floor", + "time": 0.2, + "frames": [ + 0, + 1, + 2, + 1 + ], + "repeat": true, + "size": { + "x": 16, + "y": 16, + "z": 0 + } + }, + { + "name": "default", + "sheet": "top", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": true, + "size": { + "x": 16, + "y": 16, + "z": 16 + }, + "offset": { + "x": 0, + "y": 0, + "z": 12 + } + } + ] } }, "TeslaCoil": { @@ -2843,6 +3211,23 @@ "popup": true, "description": "Condition for Enemy to spawn" } + }, + "anims": { + "shapeType": "Y_FLAT", + "shadow": {"size": 16}, + "offset": {"x": 0, "y": -4, "z": 8}, + "sheet": { + "src": "media/entity/objects/object-effects.png", + "width": 24, + "height": 24, + "xCount": 5, + "offX": 128, + "offY": 40 + }, + "SUB": [ + {"name": "idle", "frames": [0], "framesAlpha": [0.5]}, + {"name": "idle", "frames": [1], "renderMode": "lighter"} + ] } }, "RotateBlocker": { @@ -2906,7 +3291,6 @@ "description": "Wall Y Value" } }, - "drawBox": false, "boxColor": "rgba(120,255,120, 0.5)", "frontColor": "rgba(80,244,80, 0.5)", "alwaysRecreate": true diff --git a/webapp/src/assets/lorry-rail-types.json b/webapp/src/assets/lorry-rail-types.json new file mode 100644 index 00000000..2ba64c51 --- /dev/null +++ b/webapp/src/assets/lorry-rail-types.json @@ -0,0 +1,296 @@ +{ + "HORIZONTAL": { + "gfx": { + "x": 32, + "y": 0 + }, + "scaleX": true, + "points": [ + { + "x": 0, + "y": 0.5 + }, + { + "x": 1, + "y": 0.5 + } + ] + }, + "VERTICAL": { + "gfx": { + "x": 32, + "y": 16 + }, + "scaleY": true, + "points": [ + { + "x": 0.5, + "y": 0 + }, + { + "x": 0.5, + "y": 1 + } + ] + }, + "CURVE_SE": { + "gfx": { + "x": 0, + "y": 0 + }, + "points": [ + { + "x": 1, + "y": 0.5 + }, + { + "x": 0.5, + "y": 1 + } + ] + }, + "CURVE_SW": { + "gfx": { + "x": 16, + "y": 16 + }, + "points": [ + { + "x": 0, + "y": 0.5 + }, + { + "x": 0.5, + "y": 1 + } + ] + }, + "CURVE_NE": { + "gfx": { + "x": 0, + "y": 16 + }, + "points": [ + { + "x": 0.5, + "y": 0 + }, + { + "x": 1, + "y": 0.5 + } + ] + }, + "CURVE_NW": { + "gfx": { + "x": 16, + "y": 0 + }, + "points": [ + { + "x": 0.5, + "y": 0 + }, + { + "x": 0, + "y": 0.5 + } + ] + }, + "DIAG1": { + "gfx": { + "x": 0, + "y": 0, + "w": 32 + }, + "points": [ + { + "x": 0.75, + "y": 0 + }, + { + "x": 0.25, + "y": 1 + } + ] + }, + "DIAG2": { + "gfx": { + "x": 0, + "y": 16, + "w": 32 + }, + "points": [ + { + "x": 0.25, + "y": 0 + }, + { + "x": 0.75, + "y": 1 + } + ] + }, + "HORIZONTAL_SWITCH": { + "gfx": { + "x": 32, + "y": 32 + }, + "scaleX": true, + "points": [ + { + "x": 0, + "y": 0.5 + }, + { + "x": 1, + "y": 0.5 + } + ] + }, + "VERTICAL_SWITCH": { + "gfx": { + "x": 32, + "y": 48 + }, + "scaleY": true, + "points": [ + { + "x": 0.5, + "y": 0 + }, + { + "x": 0.5, + "y": 1 + } + ] + }, + "CURVE_SE_SWITCH": { + "gfx": { + "x": 0, + "y": 32 + }, + "points": [ + { + "x": 1, + "y": 0.5 + }, + { + "x": 0.5, + "y": 1 + } + ] + }, + "CURVE_SW_SWITCH": { + "gfx": { + "x": 16, + "y": 32 + }, + "points": [ + { + "x": 0, + "y": 0.5 + }, + { + "x": 0.5, + "y": 1 + } + ] + }, + "CURVE_NE_SWITCH": { + "gfx": { + "x": 0, + "y": 48 + }, + "points": [ + { + "x": 0.5, + "y": 0 + }, + { + "x": 1, + "y": 0.5 + } + ] + }, + "CURVE_NW_SWITCH": { + "gfx": { + "x": 16, + "y": 48 + }, + "points": [ + { + "x": 0.5, + "y": 0 + }, + { + "x": 0, + "y": 0.5 + } + ] + }, + "STOP_WEST": { + "gfx": { + "x": 48, + "y": 0 + }, + "points": [ + { + "x": 1, + "y": 0.5 + }, + { + "x": 0.5, + "y": 0.5 + } + ] + }, + "STOP_EAST": { + "gfx": { + "x": 48, + "y": 16 + }, + "points": [ + { + "x": 0, + "y": 0.5 + }, + { + "x": 0.5, + "y": 0.5 + } + ] + }, + "STOP_SOUTH": { + "gfx": { + "x": 48, + "y": 32 + }, + "points": [ + { + "x": 0.5, + "y": 0 + }, + { + "x": 0.5, + "y": 0.5 + } + ] + }, + "STOP_NORTH": { + "gfx": { + "x": 48, + "y": 48 + }, + "points": [ + { + "x": 0.5, + "y": 1 + }, + { + "x": 0.5, + "y": 0.5 + } + ] + } +} diff --git a/webapp/src/assets/map-styles.json b/webapp/src/assets/map-styles.json index 17ac1554..b5bbf7af 100644 --- a/webapp/src/assets/map-styles.json +++ b/webapp/src/assets/map-styles.json @@ -103,6 +103,53 @@ } } }, + "evo-outside": { + "map": { + "sheet": "media/entity/style/evo-village-map.png", + "hasDoorMat": false, + "doorSound": "EVO", + "doorGlow": { + "x": 128, + "y": 0, + "xCount": 1 + }, + "teleportField": { + "x": 0, + "y": 160, + "xCount": 3, + "zHeight": 0 + }, + "doorVariations": { + "bright": { + "x": 160, + "y": 0, + "doorMat": false + }, + "transparent": { + "x": 160, + "y": 48, + "doorMat": false + } + } + } + }, + "evo-inner": { + "map": { + "sheet": "media/entity/style/evo-village-inner-map.png", + "hasDoorMat": false, + "doorSound": "EVO", + "doorVariations": { + "brick": { + "x": 160, + "y": 0 + } + }, + "stairDoor": { + "x": 160, + "y": 48 + } + } + }, "rhombus-interior": { "map": { "sheet": "media/entity/style/rhombus-interior-map.png", @@ -632,6 +679,9 @@ "puzzle": { "sheet": "media/entity/style/jungle-city-puzzle.png" }, + "puzzle2": { + "sheet": "media/entity/style/shockwave-dng-puzzle-2.png" + }, "magnet": { "sheet": "media/map/shockwave-dng.png", "x": 160, @@ -848,6 +898,165 @@ "sheet": "media/map/lab.png", "x": 320, "y": 576 + }, + "coals": { + "sheet": "media/map/lab.png", + "x": 448, + "y": 176 + } + }, + "final-dng-inner": { + "walls": { + "colors": { + "blockFront": "#475ae2", + "blockTop": "#d9eeff", + "pBlockFront": "#80ff83", + "pBlockTop": "#b3c9ff", + "npBlockFront": "#eb8835", + "npBlockTop": "#fff7e5" + }, + "alpha": 0.55 + }, + "map": { + "sheet": "media/entity/style/final-dng-map.png", + "hasDoorMat": true, + "teleportField": { + "x": 0, + "y": 160, + "xCount": 3, + "zHeight": 0 + }, + "doorGlow": { + "x": 144, + "y": 0, + "xCount": 1, + "sideX": 160, + "sideY": 96 + } + }, + "puzzle": { + "sheet": "media/entity/style/final-dng-puzzle.png" + }, + "puzzle2": { + "sheet": "media/entity/style/final-dng-puzzle-2.png" + }, + "destruct": { + "sheet": "media/entity/style/final-dng-destruct.png" + }, + "pipes": { + "sheet": "media/map/final-dungeon-inner.png", + "x": 64, + "y": 368 + }, + "pipeSwitch": { + "sheet": "media/map/final-dungeon-inner.png", + "x": 112, + "y": 432 + }, + "propeller": { + "sheet": "media/map/final-dungeon-inner.png", + "x": 64, + "y": 480 + }, + "magnet": { + "sheet": "media/map/final-dungeon-inner.png", + "x": 176, + "y": 368 + }, + "tesla": { + "sheet": "media/map/final-dungeon-inner.png", + "x": 208, + "y": 400 + }, + "teslaSwitch": { + "sheet": "media/map/final-dungeon-inner.png", + "x": 176, + "y": 400 + }, + "anticompressor": { + "sheet": "media/map/final-dungeon-inner.png", + "x": 208, + "y": 448 + }, + "dynPlatformSmall": { + "sheet": "media/map/final-dungeon-inner.png", + "x": 32, + "y": 480 + }, + "dynPlatformMedium": { + "sheet": "media/map/final-dungeon-inner.png", + "x": 424, + "y": 464 + }, + "effect": { + "sheet": "area.cold-dng" + }, + "rotateBlocker": { + "sheet": "media/map/final-dungeon-inner.png", + "x": 256, + "y": 400 + }, + "waveSwitch": { + "sheet": "media/map/final-dungeon-inner.png", + "x": 256, + "y": 464 + }, + "waveblock": { + "sheet": "media/map/final-dungeon-inner.png", + "x": 352, + "y": 400 + }, + "bouncer": { + "sheet": "media/map/final-dungeon-inner.png", + "x": 384, + "y": 368 + }, + "lorry": { + "sheet": "media/map/final-dungeon-inner.png", + "railX": 304, + "railY": 256, + "lorryX": 464, + "lorryY": 320 + } + }, + "final-dng-outer": { + "map": { + "sheet": "media/entity/style/final-dng-outer-map.png", + "hasDoorMat": true, + "teleportField": { + "x": 0, + "y": 160, + "xCount": 3, + "zHeight": 0 + }, + "doorGlow": { + "x": 144, + "y": 0, + "xCount": 1, + "sideX": 160, + "sideY": 96 + } + }, + "puzzle": { + "sheet": "media/entity/style/final-dng-puzzle.png" + }, + "puzzle2": { + "sheet": "media/entity/style/final-dng-puzzle-2.png" + }, + "destruct": { + "sheet": "media/entity/style/final-dng-destruct.png" + } + }, + "final-dng-space": { + "ferro": { + "space": true + } + }, + "office": { + "map": { + "sheet": "media/entity/style/office-map.png", + "hasDoorMat": false, + "doorSound": "EVO" } } } diff --git a/webapp/src/assets/one-time-switch-types.json b/webapp/src/assets/one-time-switch-types.json new file mode 100644 index 00000000..698682f5 --- /dev/null +++ b/webapp/src/assets/one-time-switch-types.json @@ -0,0 +1,916 @@ +{ + "default": { + "size": { + "x": 16, + "y": 16, + "z": 17 + }, + "padding": { + "x": 4, + "y": 4 + }, + "activeZHeight": 0, + "useStyleSheet": "puzzle", + "anims": { + "offset": { + "x": 0, + "y": 0, + "z": 0 + }, + "sheet": { + "src": null, + "width": 16, + "height": 32 + }, + "SUB": [ + { + "name": "off", + "time": 0.1, + "frames": [ + 0, + 1, + 2, + 3 + ], + "repeat": true + }, + { + "name": "preOn", + "time": 0.03, + "frames": [ + 8, + 9, + 10, + 11, + 8, + 9, + 10, + 11, + 8, + 9, + 10, + 11, + 8, + 9, + 10, + 11, + 8, + 9, + 10, + 10, + 11, + 11, + 11, + 8, + 8, + 8, + 8, + 8, + 12, + 13 + ], + "repeat": false + }, + { + "name": "preOnEnd", + "time": 0.1, + "frames": [ + 14, + 15 + ], + "repeat": false + }, + { + "name": "on", + "time": 1, + "frames": [ + 15 + ], + "repeat": false + }, + { + "name": "tmpOn", + "time": 0.025, + "frames": [ + 4, + 5, + 6, + 7 + ], + "repeat": true + }, + { + "name": "tmpOnSlow", + "time": 0.05, + "frames": [ + 4, + 5, + 6, + 7 + ], + "repeat": true + } + ] + } + }, + "turret-switch": { + "size": { + "x": 24, + "y": 24, + "z": 21 + }, + "padding": { + "x": 0, + "y": 0 + }, + "activeZHeight": 21, + "anims": { + "offset": { + "x": -1, + "y": 1, + "z": 0 + }, + "sheet": { + "src": "media/entity/objects/switch-special.png", + "width": 24, + "height": 48 + }, + "SUB": [ + { + "name": "off", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": true + }, + { + "name": "preOn", + "time": 0.03, + "frames": [ + 0, + 1, + 1, + 1, + 2 + ], + "repeat": false + }, + { + "name": "preOnEnd", + "time": 0.03, + "frames": [ + 3 + ], + "repeat": false + }, + { + "name": "on", + "time": 1, + "frames": [ + 3 + ], + "repeat": false + } + ] + } + }, + "propeller": { + "size": { + "x": 16, + "y": 16, + "z": 24 + }, + "padding": { + "x": 4, + "y": 4 + }, + "activeZHeight": 21, + "preStopTime": 1, + "useStyleSheet": "propeller", + "anims": { + "sheet": { + "src": "media/map/heat-dng.png", + "width": 24, + "height": 32, + "offX": 320, + "offY": 256 + }, + "SUB": [ + { + "name": "off", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": true + }, + { + "name": "tmpOn", + "time": 0.033, + "frames": [ + 3, + 4, + 5 + ], + "repeat": true + }, + { + "name": "tmpOnSlow", + "time": 0.05, + "frames": [ + 1, + 2, + 0 + ], + "repeat": true + }, + { + "name": "tmpOnEnd", + "time": 0.05, + "frames": [ + 0, + 0, + 1, + 1, + 2, + 2, + 0, + 0, + 0, + 1, + 1, + 1, + 2, + 2, + 2, + 2 + ], + "repeat": false + }, + { + "name": "on", + "time": 0.033, + "frames": [ + 3, + 4, + 5 + ], + "repeat": true + } + ] + }, + "fx": { + "tmpOn": { + "sheet": "puzzle.propeller", + "name": "tmpOn" + }, + "tmpOnSlow": { + "sheet": "puzzle.propeller", + "name": "tmpOnSlow" + }, + "tmpOnEnd": { + "sheet": "puzzle.propeller", + "name": "tmpOnEnd" + } + } + }, + "steamPipe": { + "collType": 6, + "size": { + "x": 16, + "y": 16, + "z": 10 + }, + "padding": { + "x": 0, + "y": 0 + }, + "activeZHeight": 10, + "preStopTime": 1, + "ignoreInvalid": true, + "hideHitEffect": true, + "useStyleSheet": "pipeSwitch", + "anims": { + "sheet": { + "src": "media/map/heat-dng.png", + "width": 16, + "height": 24, + "offX": 368, + "offY": 208, + "xCount": 1 + }, + "wallY": 1, + "SUB": [ + { + "name": "off", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": true + }, + { + "name": "on", + "time": 0.1, + "frames": [ + 1 + ], + "repeat": true + }, + { + "name": "tmpOn", + "time": 0.05, + "frames": [ + 0 + ], + "repeat": true + }, + { + "name": "tmpOn", + "time": 0.05, + "frames": [ + 1, + 1, + 1, + 1, + 1, + 1 + ], + "framesAlpha": [ + 1, + 0.75, + 0.5, + 0.5, + 0.75, + 1 + ], + "repeat": true + }, + { + "name": "tmpOnSlow", + "time": 0.05, + "frames": [ + 1, + 0 + ], + "repeat": true + } + ] + }, + "fx": { + "tmpOn": { + "sheet": "puzzle.water-bubble", + "name": "steamSwitchTmp" + }, + "on": { + "sheet": "puzzle.water-bubble", + "name": "steamSwitchOn" + } + } + }, + "teslaSwitch": { + "collType": 3, + "size": { + "x": 16, + "y": 16, + "z": 16 + }, + "padding": { + "x": 0, + "y": 0 + }, + "activeZHeight": 16, + "preStopTime": 1, + "hideHitEffect": true, + "useStyleSheet": "teslaSwitch", + "anims": { + "sheet": { + "src": "media/map/shockwave-dng.png", + "width": 16, + "height": 32, + "offX": 208, + "offY": 368, + "xCount": 2 + }, + "wallY": 0, + "SUB": [ + { + "name": "off", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": true + }, + { + "name": "on", + "time": 0.1, + "frames": [ + 1 + ], + "repeat": true + }, + { + "name": "tmpOn", + "time": 0.05, + "frames": [ + 0 + ], + "repeat": true + }, + { + "name": "tmpOn", + "time": 0.05, + "frames": [ + 1, + 1, + 1, + 1, + 1, + 1 + ], + "framesAlpha": [ + 1, + 0.75, + 0.5, + 0.5, + 0.75, + 1 + ], + "repeat": true + }, + { + "name": "tmpOnSlow", + "time": 0.05, + "frames": [ + 1, + 0 + ], + "repeat": true + } + ] + }, + "fx": { + "tmpOn": { + "sheet": "puzzle.tesla", + "name": "switchOnTmp" + }, + "on": { + "sheet": "puzzle.tesla", + "name": "switchOn" + } + } + }, + "arSwitch": { + "size": { + "x": 16, + "y": 16, + "z": 17 + }, + "padding": { + "x": 4, + "y": 4 + }, + "activeZHeight": 0, + "anims": { + "offset": { + "x": 0, + "y": 0, + "z": 0 + }, + "sheet": { + "src": "media/entity/objects/dungeon-ar.png", + "width": 16, + "height": 32, + "offX": 192, + "offY": 64, + "xCount": 4 + }, + "renderMode": "lighter", + "SUB": [ + { + "name": "off", + "time": 0.1, + "frames": [ + 0, + 1, + 2, + 3 + ], + "repeat": true + }, + { + "name": "preOn", + "time": 0.03, + "frames": [ + 8, + 9, + 10, + 11, + 8, + 9, + 10, + 11, + 8, + 9, + 10, + 11, + 8, + 9, + 10, + 11, + 8, + 9, + 10, + 10, + 11, + 11, + 11, + 8, + 8, + 8, + 8, + 8, + 12, + 13 + ], + "repeat": false + }, + { + "name": "preOnEnd", + "time": 0.1, + "frames": [ + 14, + 15 + ], + "repeat": false + }, + { + "name": "on", + "time": 1, + "frames": [ + 15 + ], + "repeat": false + }, + { + "name": "tmpOn", + "time": 0.025, + "frames": [ + 4, + 5, + 6, + 7 + ], + "repeat": true + }, + { + "name": "tmpOnSlow", + "time": 0.05, + "frames": [ + 4, + 5, + 6, + 7 + ], + "repeat": true + } + ] + }, + "fx": { + "show": { + "sheet": "ar", + "name": "arSwitchShow" + }, + "hide": { + "sheet": "ar", + "name": "arSwitchHide" + } + } + }, + "waveSwitch": { + "collType": 6, + "size": { + "x": 24, + "y": 24, + "z": 24 + }, + "padding": { + "x": 0, + "y": 0 + }, + "activeZHeight": 24, + "preStopTime": 1, + "ignoreInvalid": true, + "hideHitEffect": false, + "useStyleSheet": "waveSwitch", + "anims": { + "namedSheets": { + "box": { + "src": "media/map/shockwave-dng.png", + "width": 24, + "height": 48, + "offX": 0, + "offY": 0, + "xCount": 1 + }, + "shock": { + "src": "media/map/shockwave-dng.png", + "width": 24, + "height": 40, + "offX": 24, + "offY": 8 + } + }, + "SUB": [ + { + "wallY": 1, + "sheet": "box", + "SUB": [ + { + "name": "on", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": true + }, + { + "name": "off", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": true + }, + { + "name": "tmpOn", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": true + }, + { + "name": "tmpOnSlow", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": true + }, + { + "name": "tmpOnEnd", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": true + } + ] + }, + { + "sheet": "shock", + "renderMode": "lighter", + "SUB": [ + { + "name": "off", + "time": 0.05, + "frames": [ + 0, + 1, + 2, + 3 + ], + "repeat": true + }, + { + "name": "tmpOn", + "time": 0.033, + "frames": [ + 4, + 5, + -1, + -1, + -1, + 5 + ], + "repeat": true + }, + { + "name": "tmpOnSlow", + "time": 0.033, + "frames": [ + 4, + 5, + -1, + 5 + ], + "repeat": true + }, + { + "name": "tmpOnEnd", + "time": 0.066, + "frames": [ + 5 + ], + "repeat": true + } + ] + } + ] + }, + "fx": { + "tmpOn": { + "sheet": "puzzle.compressor", + "name": "waveSwitchTmpOn" + }, + "on": { + "sheet": "puzzle.compressor", + "name": "waveSwitchOn" + } + } + }, + "ferroSwitch": { + "collType": 7, + "size": { + "x": 16, + "y": 16, + "z": 24 + }, + "padding": { + "x": 2, + "y": 2 + }, + "activeZHeight": 24, + "preStopTime": 1, + "ignoreInvalid": true, + "hideHitEffect": true, + "checkOverlap": true, + "noBallDestroyer": true, + "anims": { + "namedSheets": { + "ground": { + "src": "media/entity/objects/ferro.png", + "width": 16, + "height": 16, + "offX": 144, + "offY": 352 + }, + "holo": { + "src": "media/entity/objects/ferro.png", + "width": 16, + "height": 16, + "offX": 144, + "offY": 320, + "xCount": 6 + } + }, + "SUB": [ + { + "wallY": 0, + "size": { + "x": 16, + "y": 16, + "z": 0 + }, + "sheet": "ground", + "time": 0.1, + "repeat": true, + "SUB": [ + { + "name": "on", + "frames": [ + 2 + ] + }, + { + "name": "off", + "frames": [ + 1 + ] + }, + { + "name": "tmpOff", + "frames": [ + 5 + ] + }, + { + "name": "tmpOnOverlap", + "frames": [ + 3 + ] + }, + { + "name": "tmpOn", + "time": 0.066, + "frames": [ + 3, + 3, + 4, + 0, + 0, + 4 + ], + "repeat": true + }, + { + "name": "tmpOnSlow", + "time": 0.05, + "frames": [ + 3, + 4, + 0, + 4 + ], + "repeat": true + }, + { + "name": "tmpOnEnd", + "time": 0.1, + "frames": [ + 3, + 0 + ], + "repeat": true + } + ] + }, + { + "sheet": "holo", + "renderMode": "lighter", + "size": { + "x": 16, + "y": 0, + "z": 16 + }, + "SUB": [ + { + "name": "off", + "time": 0.1, + "frames": [ + 0, + 1, + 2, + 3 + ], + "repeat": true, + "offset": { + "z": 14 + } + }, + { + "name": "tmpOff", + "time": 0.1, + "frames": [ + 6, + 7, + 8, + 9 + ], + "repeat": true, + "offset": { + "z": 14 + } + }, + { + "name": "on", + "time": 0.1, + "frames": [ + 4 + ], + "repeat": true + }, + { + "name": "on", + "time": 0.1, + "frames": [ + 5 + ], + "repeat": true, + "offset": { + "y": -9 + } + } + ] + } + ] + }, + "fx": { + "tmpOn": { + "sheet": "puzzle.ferro", + "name": "switchTmpOn" + }, + "tmpOnOverlap": { + "sheet": "puzzle.ferro", + "name": "switchTmpOverlap" + }, + "on": { + "sheet": "puzzle.ferro", + "name": "switchOn" + } + } + } +} diff --git a/webapp/src/assets/push-pull-types.json b/webapp/src/assets/push-pull-types.json new file mode 100644 index 00000000..a7f3e3d9 --- /dev/null +++ b/webapp/src/assets/push-pull-types.json @@ -0,0 +1,223 @@ +{ + "Large": { + "size": { + "x": 32, + "y": 32, + "z": 32 + }, + "terrain": 2, + "useStyleSheet": true, + "anims": { + "sheet": { + "src": null, + "width": 32, + "height": 64, + "offX": 224, + "offY": 128 + }, + "aboveZ": 1, + "wallY": 0.05, + "SUB": [ + { + "name": "default", + "time": 1, + "frames": [ + 0 + ], + "repeat": false + }, + { + "name": "moveV", + "time": 0.03, + "frames": [ + 0, + 0 + ], + "framesGfxOffset": [ + 0, + 0, + 0, + 0 + ], + "repeat": true + }, + { + "name": "moveH", + "time": 0.03, + "frames": [ + 0, + 0 + ], + "framesGfxOffset": [ + 0, + 0, + 0, + 0 + ], + "repeat": true + } + ] + } + }, + "BergenLeftRight": { + "size": { + "x": 32, + "y": 32, + "z": 32 + }, + "terrain": 7, + "direction": 1, + "anims": { + "sheet": { + "src": "media/entity/objects/puzzle-elements-1.png", + "width": 32, + "height": 64, + "offX": 32, + "offY": 32 + }, + "aboveZ": 1, + "wallY": 0.05, + "SUB": [ + { + "name": "default", + "time": 1, + "frames": [ + 0 + ], + "repeat": false + }, + { + "name": "moveV", + "time": 0.03, + "frames": [ + 0, + 0 + ], + "framesGfxOffset": [ + 0, + 0, + 0, + 0 + ], + "repeat": true + }, + { + "name": "moveH", + "time": 0.03, + "frames": [ + 0, + 0 + ], + "framesGfxOffset": [ + 0, + 0, + 0, + 0 + ], + "repeat": true + } + ] + } + }, + "BergenUpDown": { + "size": { + "x": 32, + "y": 32, + "z": 32 + }, + "terrain": 7, + "direction": 2, + "anims": { + "sheet": { + "src": "media/entity/objects/puzzle-elements-1.png", + "width": 32, + "height": 64, + "offX": 64, + "offY": 32 + }, + "aboveZ": 1, + "wallY": 0.05, + "SUB": [ + { + "name": "default", + "time": 1, + "frames": [ + 0 + ], + "repeat": false + }, + { + "name": "moveV", + "time": 0.03, + "frames": [ + 0, + 0 + ], + "framesGfxOffset": [ + 0, + 0, + 0, + 0 + ], + "repeat": true + }, + { + "name": "moveH", + "time": 0.03, + "frames": [ + 0, + 0 + ], + "framesGfxOffset": [ + 0, + 0, + 0, + 0 + ], + "repeat": true + } + ] + } + }, + "SmallTest": { + "size": { + "x": 16, + "y": 16, + "z": 16 + }, + "terrain": 2, + "anims": { + "sheet": { + "src": "media/entity/objects/puzzle-elements-1.png", + "width": 16, + "height": 32 + }, + "aboveZ": 1, + "SUB": [ + { + "name": "default", + "time": 1, + "frames": [ + 0 + ], + "repeat": false + }, + { + "name": "move", + "time": 0.05, + "frames": [ + 0, + 1, + 2, + 1 + ], + "repeat": true + } + ] + }, + "walkAnims": { + "idle": "default", + "move": "move" + } + } +} diff --git a/webapp/src/assets/regen-destruct-types.json b/webapp/src/assets/regen-destruct-types.json new file mode 100644 index 00000000..76cb0cc9 --- /dev/null +++ b/webapp/src/assets/regen-destruct-types.json @@ -0,0 +1,172 @@ +{ + "iceBlock": { + "size": {"x": 24, "y": 24, "z": 24}, + "anims": { + "namedSheets": { + "fullIce": {"src": null, "width": 24, "height": 48, "offX": 96, "offY": 96}, + "bottomIce": {"src": null, "width": 24, "height": 24, "offX": 144, "offY": 96} + }, + "SUB": [{ + "sheet": "bottomIce", + "shapeType": "Z_FLAT", + "frames": [0], + "repeat": false, + "SUB": [ + {"name": "cut"}, + {"name": "transition"} + ] + }, { + "shapeType": "Z_EXPAND", + "sheet": "fullIce", + "SUB": [ + {"name": "default", "time": 1, "frames": [0], "repeat": false}, + {"name": "transition", "time": 1, "frames": [0], "repeat": false} + ] + }] + } + }, + "flame": { + "size": {"x": 32, "y": 32, "z": 24}, + "anims": { + "namedSheets": { + "flame": {"src": "media/entity/effects/heat.png", "width": 32, "height": 48, "offX": 288, "offY": 288}, + "bottom": {"src": null, "width": 16, "height": 16, "offX": 168, "offY": 96} + }, + "SUB": [{ + "sheet": "bottom", + "shapeType": "Z_FLAT", + "frames": [0], + "repeat": false, + "offset": {"x": 0, "y": -8, "z": 0}, + "SUB": [ + {"name": "default"}, + {"name": "destroy"}, + {"name": "cut"}, + {"name": "regen"}, + {"name": "shuffle"} + ] + }, { + "sheet": "flame", + "offset": {"x": 0, "y": 0, "z": 8}, + "SUB": [ + {"name": "default", "time": 0.1, "frames": [3, 4, 5, 6], "repeat": true}, + {"name": "destroy", "time": 0.066, "frames": [2, 1, 0], "repeat": false}, + {"name": "regen", "time": 0.066, "frames": [0, 1, 2], "repeat": false}, + {"name": "shuffle", "time": 0.05, "frames": [0, 1, 2], "repeat": false} + ] + }] + } + }, + "shock": { + "size": {"x": 16, "y": 16, "z": 48}, + "anims": { + "namedSheets": { + "shock": {"src": "media/map/shockwave-dng.png", "width": 16, "height": 40, "offX": 16, "offY": 744}, + "bottom": {"src": "media/map/shockwave-dng.png", "width": 16, "height": 16, "offX": 0, "offY": 768}, + "ball": {"src": "media/map/shockwave-dng.png", "width": 16, "height": 16, "offX": 0, "offY": 736, "xCount": 1} + }, + "SUB": [{ + "sheet": "bottom", + "shapeType": "Z_FLAT", + "frames": [0], + "repeat": false, + "SUB": [ + {"name": "default"}, + {"name": "destroy"}, + {"name": "cut"}, + {"name": "regen"} + ] + }, { + "sheet": "shock", + "offset": {"x": 0, "y": -8, "z": 0}, + "renderMode": "lighter", + "SUB": [ + {"name": "default", "time": 0.05, "frames": [0, 1, 2, 3, 4, 5], "repeat": true}, + {"name": "destroy", "time": 0.066, "frames": [4, 4, 4, 4], "framesAlpha": [0.8, 0.6, 0.3, 0], "repeat": false}, + {"name": "regen", "time": 0.05, "frames": [0, 1, 2, 3, 4, 5], "framesAlpha": [0.2, 0.4, 0.6, 0.8], "repeat": false} + ] + }, { + "sheet": "ball", + "shapeType": "Y_FLAT", + "SUB": [ + {"name": "default", "time": 0.1, "frames": [0, 0, 0, 0, 0, 0], "repeat": true, "framesSpriteOffset": [0, 0, 32, 0, 0, 33, 0, 0, 33, 0, 0, 32, 0, 0, 31, 0, 0, 31]}, + {"name": "cut", "time": 0.5, "frames": [1], "repeat": false, "shapeType": "Z_FLAT"}, + {"name": "destroy", "time": 0.05, "frames": [1, 1, 1, 1, 1, 1, 1, 1, 1], "repeat": false, "framesSpriteOffset": [0, 0, 30, 0, 0, 28, 0, 0, 24, 0, 0, 18, 0, 0, 10, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0]}, + {"name": "regen", "time": 0.05, "frames": [0, 0, 0, 0, 0, 0], "repeat": false, "framesSpriteOffset": [0, 0, 8, 0, 0, 16, 0, 0, 24, 0, 0, 28, 0, 0, 30, 0, 0, 31]} + ] + }] + } + }, + "ferroHeat": { + "size": {"x": 16, "y": 16, "z": 48}, + "anims": { + "namedSheets": { + "pillar": {"src": "media/entity/objects/ferro-barrier.png", "width": 24, "height": 48, "offX": 0, "offY": 0, "xCount": 6} + }, + "SUB": [{ + "sheet": "pillar", + "offset": {"x": 0, "y": 0, "z": 0}, + "SUB": [ + {"name": "default", "time": 0.1, "frames": [0, 1, 2], "repeat": true, "tileOffset": 0}, + {"name": "destroy", "time": 0.1, "frames": [0, 1, 2, 3], "repeat": false, "tileOffset": 12, "shapeType": "Y_FLAT"}, + {"name": "cut", "time": 0.1, "frames": [3], "repeat": false, "tileOffset": 12}, + {"name": "regen", "time": 0.066, "frames": [3, 2, 1], "repeat": false, "tileOffset": 12, "shapeType": "Y_FLAT"} + ] + }] + } + }, + "ferroCold": { + "size": {"x": 16, "y": 16, "z": 48}, + "anims": { + "namedSheets": { + "pillar": {"src": "media/entity/objects/ferro-barrier.png", "width": 24, "height": 48, "offX": 0, "offY": 0, "xCount": 6} + }, + "SUB": [{ + "sheet": "pillar", + "offset": {"x": 0, "y": 0, "z": 0}, + "SUB": [ + {"name": "default", "time": 0.1, "frames": [0, 1, 2], "repeat": true, "tileOffset": 3}, + {"name": "destroy", "time": 0.1, "frames": [0, 1, 2, 3], "repeat": false, "tileOffset": 12, "shapeType": "Y_FLAT"}, + {"name": "cut", "time": 0.1, "frames": [3], "repeat": false, "tileOffset": 12}, + {"name": "regen", "time": 0.066, "frames": [3, 2, 1], "repeat": false, "tileOffset": 12, "shapeType": "Y_FLAT"} + ] + }] + } + }, + "ferroShock": { + "size": {"x": 16, "y": 16, "z": 48}, + "anims": { + "namedSheets": { + "pillar": {"src": "media/entity/objects/ferro-barrier.png", "width": 24, "height": 48, "offX": 0, "offY": 0, "xCount": 6} + }, + "SUB": [{ + "sheet": "pillar", + "offset": {"x": 0, "y": 0, "z": 0}, + "SUB": [ + {"name": "default", "time": 0.1, "frames": [0, 1, 2], "repeat": true, "tileOffset": 6}, + {"name": "destroy", "time": 0.1, "frames": [0, 1, 2, 3], "repeat": false, "tileOffset": 12, "shapeType": "Y_FLAT"}, + {"name": "cut", "time": 0.1, "frames": [3], "repeat": false, "tileOffset": 12}, + {"name": "regen", "time": 0.066, "frames": [3, 2, 1], "repeat": false, "tileOffset": 12, "shapeType": "Y_FLAT"} + ] + }] + } + }, + "ferroWave": { + "size": {"x": 16, "y": 16, "z": 48}, + "anims": { + "namedSheets": { + "pillar": {"src": "media/entity/objects/ferro-barrier.png", "width": 24, "height": 48, "offX": 0, "offY": 0, "xCount": 6} + }, + "SUB": [{ + "sheet": "pillar", + "offset": {"x": 0, "y": 0, "z": 0}, + "SUB": [ + {"name": "default", "time": 0.1, "frames": [0, 1, 2], "repeat": true, "tileOffset": 9}, + {"name": "destroy", "time": 0.1, "frames": [0, 1, 2, 3], "repeat": false, "tileOffset": 12, "shapeType": "Y_FLAT"}, + {"name": "cut", "time": 0.1, "frames": [3], "repeat": false, "tileOffset": 12}, + {"name": "regen", "time": 0.066, "frames": [3, 2, 1], "repeat": false, "tileOffset": 12, "shapeType": "Y_FLAT"} + ] + }] + } + } +} diff --git a/webapp/src/assets/schemas/entities.schema.json b/webapp/src/assets/schemas/entities.schema.json new file mode 100644 index 00000000..9f0cbd4a --- /dev/null +++ b/webapp/src/assets/schemas/entities.schema.json @@ -0,0 +1,385 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://crosscode-map-editor.local/schemas/entities.schema.json", + "title": "CrossCode Map Editor entities.json", + "description": "Schema for webapp/src/assets/entities.json. Mirrors JsonEntityType in default-entity.ts and the nested types it references.", + "type": "object", + "additionalProperties": { + "$ref": "#/$defs/JsonEntityType" + }, + "$defs": { + "JsonEntityType": { + "type": "object", + "required": [ + "attributes" + ], + "properties": { + "attributes": { + "$ref": "#/$defs/EntityAttributes" + }, + "spawnable": { + "type": "boolean" + }, + "drawBox": { + "type": "boolean" + }, + "borderColor": { + "type": "string" + }, + "boxColor": { + "type": "string" + }, + "circleColor": { + "type": "string" + }, + "frontColor": { + "type": "string" + }, + "scalableX": { + "type": "boolean" + }, + "scalableY": { + "type": "boolean" + }, + "scalableStep": { + "type": "number" + }, + "alwaysRecreate": { + "type": "boolean" + }, + "noZLine": { + "type": "boolean" + }, + "anims": { + "$ref": "#/$defs/Anims" + }, + "size": { + "$ref": "#/$defs/PartialPoint3" + } + }, + "additionalProperties": false + }, + "EntityAttributes": { + "type": "object", + "additionalProperties": { + "$ref": "#/$defs/AttributeValue" + } + }, + "AttributeValue": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + }, + "description": { + "type": "string" + }, + "options": { + "type": "object", + "additionalProperties": true + }, + "withNull": { + "type": "boolean" + }, + "large": { + "type": "boolean" + }, + "optional": { + "type": "boolean" + } + }, + "additionalProperties": true + }, + "Point": { + "type": "object", + "required": [ + "x", + "y" + ], + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "additionalProperties": false + }, + "Point3": { + "type": "object", + "required": [ + "x", + "y", + "z" + ], + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "additionalProperties": false + }, + "PartialPoint3": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + }, + "z": { + "type": "number" + } + }, + "additionalProperties": false + }, + "AnimSheet": { + "type": "object", + "required": [ + "width", + "height" + ], + "properties": { + "src": { + "type": "string" + }, + "mapStyle": { + "type": "string" + }, + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "offX": { + "type": "number" + }, + "offY": { + "type": "number" + }, + "xCount": { + "type": "number" + } + }, + "additionalProperties": false + }, + "SubJsonInstance": { + "type": "object", + "required": [ + "jsonINSTANCE" + ], + "properties": { + "jsonINSTANCE": { + "type": "string" + } + }, + "additionalProperties": true + }, + "SubJsonParam": { + "type": "object", + "required": [ + "jsonPARAM" + ], + "properties": { + "jsonPARAM": { + "type": "string" + }, + "default": true + }, + "additionalProperties": false + }, + "Anims": { + "type": "object", + "properties": { + "jsonIF": { + "type": "string" + }, + "jsonTHEN": { + "type": "string" + }, + "name": { + "type": "string" + }, + "frames": { + "type": "array", + "items": { + "type": "number" + } + }, + "time": { + "type": "number" + }, + "repeat": { + "type": "boolean" + }, + "sheet": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/AnimSheet" + } + ] + }, + "renderMode": { + "type": "string" + }, + "shapeType": { + "type": "string" + }, + "framesAlpha": { + "type": "array", + "items": { + "type": "number" + } + }, + "flipX": { + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "number" + } + } + ] + }, + "SUB": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/$defs/Anims" + } + }, + { + "$ref": "#/$defs/SubJsonInstance" + }, + { + "$ref": "#/$defs/SubJsonParam" + } + ] + }, + "tileOffset": { + "type": "number" + }, + "wallY": { + "type": "number" + }, + "offset": { + "$ref": "#/$defs/PartialPoint3" + }, + "shape": { + "type": "string" + }, + "framesGfxOffset": { + "type": "array", + "items": { + "type": "number" + } + }, + "size": { + "$ref": "#/$defs/Point3" + }, + "pivot": { + "$ref": "#/$defs/Point" + }, + "gfxOffset": { + "$ref": "#/$defs/Point" + }, + "aboveZ": { + "type": "number" + }, + "offX": { + "type": "number" + }, + "namedSheets": { + "type": "object", + "additionalProperties": { + "$ref": "#/$defs/AnimSheet" + } + }, + "framesSpriteOffset": { + "type": "array", + "items": { + "type": "number" + } + }, + "globalTiming": { + "type": "boolean" + }, + "DOCTYPE": { + "type": "string" + }, + "dirs": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "tileOffsets": { + "type": "array", + "items": { + "type": "number" + } + }, + "guiSprites": { + "type": "boolean" + }, + "shadow": { + "$ref": "#/$defs/ShadowSpec" + } + }, + "additionalProperties": false + }, + "ShadowSpec": { + "type": "object", + "required": [ + "size" + ], + "properties": { + "size": { + "type": "number" + }, + "scaleY": { + "type": "number" + }, + "offset": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "additionalProperties": false + }, + "aboveZ": { + "type": "number" + } + }, + "additionalProperties": false + } + } +} diff --git a/webapp/src/assets/steam-pipe-types.json b/webapp/src/assets/steam-pipe-types.json new file mode 100644 index 00000000..b3ec14c0 --- /dev/null +++ b/webapp/src/assets/steam-pipe-types.json @@ -0,0 +1,227 @@ +{ + "HORIZONTAL": { + "gfx": { + "x": 32, + "y": 0 + }, + "scaleX": true, + "size": { + "x": 16, + "y": 12, + "z": 5 + }, + "renderHeight": 4, + "points": [ + { + "x": 0, + "y": 0.5 + }, + { + "x": 1, + "y": 0.5 + } + ] + }, + "VERTICAL": { + "gfx": { + "x": 32, + "y": 16 + }, + "scaleY": true, + "size": { + "x": 16, + "y": 16, + "z": 5 + }, + "renderHeight": 0, + "points": [ + { + "x": 0.5, + "y": 0 + }, + { + "x": 0.5, + "y": 1 + } + ] + }, + "CURVE_SE": { + "gfx": { + "x": 0, + "y": 0 + }, + "size": { + "x": 16, + "y": 12, + "z": 5 + }, + "renderHeight": 4, + "points": [ + { + "x": 1, + "y": 0.5 + }, + { + "x": 0.5, + "y": 1 + } + ] + }, + "CURVE_SW": { + "gfx": { + "x": 16, + "y": 0 + }, + "size": { + "x": 16, + "y": 12, + "z": 5 + }, + "renderHeight": 4, + "points": [ + { + "x": 0, + "y": 0.5 + }, + { + "x": 0.5, + "y": 1 + } + ] + }, + "CURVE_NE": { + "gfx": { + "x": 0, + "y": 16 + }, + "size": { + "x": 16, + "y": 16, + "z": 5 + }, + "renderHeight": 0, + "points": [ + { + "x": 0.5, + "y": 0 + }, + { + "x": 1, + "y": 0.5 + } + ] + }, + "CURVE_NW": { + "gfx": { + "x": 16, + "y": 16 + }, + "size": { + "x": 16, + "y": 16, + "z": 5 + }, + "renderHeight": 0, + "points": [ + { + "x": 0.5, + "y": 0 + }, + { + "x": 0, + "y": 0.5 + } + ] + }, + "END_NORTH": { + "gfx": { + "x": 48, + "y": 6 + }, + "size": { + "x": 16, + "y": 16, + "z": 5 + }, + "renderHeight": 10, + "points": [ + { + "x": 0.5, + "y": 0 + }, + { + "x": 0.5, + "y": 1 + } + ] + }, + "OVEN_EAST": { + "gfx": { + "x": 64, + "y": 0 + }, + "size": { + "x": 16, + "y": 12, + "z": 32 + }, + "renderHeight": 20, + "points": [ + { + "x": 0, + "y": 0.5 + }, + { + "x": 1, + "y": 0.5 + } + ] + }, + "OVEN_WEST": { + "gfx": { + "x": 80, + "y": 0 + }, + "size": { + "x": 16, + "y": 12, + "z": 32 + }, + "renderHeight": 20, + "points": [ + { + "x": 0, + "y": 0.5 + }, + { + "x": 1, + "y": 0.5 + } + ] + }, + "UPPER_PIPE": { + "gfx": { + "x": 96, + "y": 0, + "w": 16, + "h": 32 + }, + "size": { + "x": 16, + "y": 12, + "z": 32 + }, + "renderHeight": 20, + "scaleX": true, + "points": [ + { + "x": 0, + "y": 0.5 + }, + { + "x": 1, + "y": 0.5 + } + ] + } +} diff --git a/webapp/src/assets/tesla-coil-type.json b/webapp/src/assets/tesla-coil-type.json new file mode 100644 index 00000000..69d0733b --- /dev/null +++ b/webapp/src/assets/tesla-coil-type.json @@ -0,0 +1,790 @@ +{ + "SOURCE": { + "size": { + "x": 16, + "y": 16, + "z": 32 + }, + "anims": { + "sheet": { + "src": null, + "width": 24, + "height": 48, + "offX": 0, + "offY": 0, + "xCount": 2 + }, + "wallY": 1, + "SUB": [ + { + "name": "off", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": true + }, + { + "name": "charge", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": true + }, + { + "name": "charge", + "time": 0.1, + "frames": [ + 1 + ], + "repeat": true, + "renderMode": "lighter" + }, + { + "name": "flash", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": false + }, + { + "name": "flash", + "time": 0.05, + "frames": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ], + "framesAlpha": [ + 1, + 1, + 1, + 0.9, + 0.8, + 0.6, + 0.4, + 0.2 + ], + "repeat": false, + "renderMode": "lighter" + } + ] + }, + "source": true + }, + "SOURCE_FAST": { + "size": { + "x": 16, + "y": 16, + "z": 32 + }, + "anims": { + "sheet": { + "src": null, + "width": 24, + "height": 48, + "offX": 0, + "offY": 0, + "xCount": 2 + }, + "wallY": 1, + "SUB": [ + { + "name": "off", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": true + }, + { + "name": "charge", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": true + }, + { + "name": "charge", + "time": 0.1, + "frames": [ + 1 + ], + "repeat": true, + "renderMode": "lighter" + }, + { + "name": "flash", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": false + }, + { + "name": "flash", + "time": 0.05, + "frames": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ], + "framesAlpha": [ + 1, + 1, + 1, + 0.9, + 0.8, + 0.6, + 0.4, + 0.2 + ], + "repeat": false, + "renderMode": "lighter" + } + ] + }, + "source": true, + "fast": true + }, + "SOURCE_LOOSE": { + "size": { + "x": 16, + "y": 16, + "z": 32 + }, + "anims": { + "sheet": { + "src": "media/entity/objects/tesla-loose.png", + "width": 24, + "height": 64, + "offX": 24, + "offY": 0, + "xCount": 2 + }, + "wallY": 0.125, + "offset": { + "x": 4, + "y": 0, + "z": -16 + }, + "shapeType": "Z_EXPAND", + "SUB": [ + { + "name": "off", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": true + }, + { + "name": "charge", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": true + }, + { + "name": "charge", + "time": 0.1, + "frames": [ + 1 + ], + "repeat": true, + "renderMode": "lighter" + }, + { + "name": "flash", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": false + }, + { + "name": "flash", + "time": 0.05, + "frames": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ], + "framesAlpha": [ + 1, + 1, + 1, + 0.9, + 0.8, + 0.6, + 0.4, + 0.2 + ], + "repeat": false, + "renderMode": "lighter" + } + ] + }, + "source": true + }, + "SOURCE_LOOSE_FLIP": { + "size": { + "x": 16, + "y": 16, + "z": 32 + }, + "anims": { + "sheet": { + "src": "media/entity/objects/tesla-loose.png", + "width": 24, + "height": 64, + "offX": 24, + "offY": 0, + "xCount": 2 + }, + "wallY": 0.125, + "offset": { + "x": -4, + "y": 0, + "z": -16 + }, + "flipX": true, + "shapeType": "Z_EXPAND", + "SUB": [ + { + "name": "off", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": true + }, + { + "name": "charge", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": true + }, + { + "name": "charge", + "time": 0.1, + "frames": [ + 1 + ], + "repeat": true, + "renderMode": "lighter" + }, + { + "name": "flash", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": false + }, + { + "name": "flash", + "time": 0.05, + "frames": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ], + "framesAlpha": [ + 1, + 1, + 1, + 0.9, + 0.8, + 0.6, + 0.4, + 0.2 + ], + "repeat": false, + "renderMode": "lighter" + } + ] + }, + "source": true + }, + "EXTENDER": { + "size": { + "x": 16, + "y": 16, + "z": 16 + }, + "anims": { + "sheet": { + "src": null, + "width": 16, + "height": 32, + "offX": 16, + "offY": 48, + "xCount": 2 + }, + "wallY": 0.5, + "SUB": [ + { + "name": "off", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": true + }, + { + "name": "flash", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": false + }, + { + "name": "flash", + "time": 0.05, + "frames": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ], + "framesAlpha": [ + 1, + 1, + 1, + 0.9, + 0.8, + 0.6, + 0.4, + 0.2 + ], + "repeat": false, + "renderMode": "lighter" + } + ] + } + }, + "EXTENDER_LOOSE": { + "size": { + "x": 16, + "y": 16, + "z": 16 + }, + "anims": { + "sheet": { + "src": "media/entity/objects/tesla-loose.png", + "width": 16, + "height": 40, + "offX": 88, + "offY": 0, + "xCount": 2 + }, + "wallY": 0.5, + "shapeType": "Z_EXPAND", + "offset": { + "x": 0, + "y": 0, + "z": -8 + }, + "SUB": [ + { + "name": "off", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": true + }, + { + "name": "flash", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": false + }, + { + "name": "flash", + "time": 0.05, + "frames": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ], + "framesAlpha": [ + 1, + 1, + 1, + 0.9, + 0.8, + 0.6, + 0.4, + 0.2 + ], + "repeat": false, + "renderMode": "lighter" + } + ] + } + }, + "EXTENDER_LOOSE_FLIP": { + "size": { + "x": 16, + "y": 16, + "z": 16 + }, + "anims": { + "sheet": { + "src": "media/entity/objects/tesla-loose.png", + "width": 16, + "height": 40, + "offX": 88, + "offY": 0, + "xCount": 2 + }, + "wallY": 0.5, + "flipX": true, + "shapeType": "Z_EXPAND", + "offset": { + "x": 0, + "y": 0, + "z": -8 + }, + "SUB": [ + { + "name": "off", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": true + }, + { + "name": "flash", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": false + }, + { + "name": "flash", + "time": 0.05, + "frames": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ], + "framesAlpha": [ + 1, + 1, + 1, + 0.9, + 0.8, + 0.6, + 0.4, + 0.2 + ], + "repeat": false, + "renderMode": "lighter" + } + ] + } + }, + "EXTENDER_IGNORE": { + "size": { + "x": 16, + "y": 16, + "z": 16 + }, + "collType": 1, + "anims": { + "sheet": { + "src": null, + "width": 16, + "height": 32, + "offX": 16, + "offY": 48, + "xCount": 2 + }, + "wallY": 0.5, + "shapeType": "Y_FLAT", + "SUB": [ + { + "name": "off", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": true + }, + { + "name": "flash", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": false + }, + { + "name": "flash", + "time": 0.05, + "frames": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ], + "framesAlpha": [ + 1, + 1, + 1, + 0.9, + 0.8, + 0.6, + 0.4, + 0.2 + ], + "repeat": false, + "renderMode": "lighter" + } + ] + } + }, + "GROUND_DISCHARGE": { + "size": { + "x": 16, + "y": 16, + "z": 16 + }, + "anims": { + "sheet": { + "src": null, + "width": 16, + "height": 32, + "offX": 16, + "offY": 80, + "xCount": 2 + }, + "wallY": 1, + "SUB": [ + { + "name": "off", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": true + }, + { + "name": "flash", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": false + }, + { + "name": "flash", + "time": 0.05, + "frames": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ], + "framesAlpha": [ + 1, + 1, + 1, + 0.9, + 0.8, + 0.6, + 0.4, + 0.2 + ], + "repeat": false, + "renderMode": "lighter" + } + ] + } + }, + "WHALE_DISCHARGE": { + "size": { + "x": 16, + "y": 16, + "z": 16 + }, + "anims": { + "sheet": { + "src": "media/entity/objects/tesla-loose.png", + "width": 16, + "height": 24, + "offX": 88, + "offY": 0, + "xCount": 2 + }, + "wallY": 1, + "offset": { + "x": 0, + "y": -8, + "z": 0 + }, + "SUB": [ + { + "name": "off", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": true + }, + { + "name": "flash", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": false + }, + { + "name": "flash", + "time": 0.05, + "frames": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ], + "framesAlpha": [ + 1, + 1, + 1, + 0.9, + 0.8, + 0.6, + 0.4, + 0.2 + ], + "repeat": false, + "renderMode": "lighter" + } + ] + } + }, + "GROUND_DISCHARGE_FISH": { + "size": { + "x": 16, + "y": 16, + "z": 16 + }, + "anims": { + "sheet": { + "src": null, + "width": 16, + "height": 32, + "offX": 16, + "offY": 80, + "xCount": 2 + }, + "wallY": 1, + "SUB": [ + { + "name": "off", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": true + }, + { + "name": "flash", + "time": 0.1, + "frames": [ + 0 + ], + "repeat": false + }, + { + "name": "flash", + "time": 0.05, + "frames": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ], + "framesAlpha": [ + 1, + 1, + 1, + 0.9, + 0.8, + 0.6, + 0.4, + 0.2 + ], + "repeat": false, + "renderMode": "lighter" + } + ] + } + } +} diff --git a/webapp/src/styles.scss b/webapp/src/styles.scss index 043be681..ae562283 100644 --- a/webapp/src/styles.scss +++ b/webapp/src/styles.scss @@ -50,13 +50,13 @@ body { color: white; outline: solid 1px #c9c9c9; //transition: border 0.3s; - + &:disabled { outline-offset: 0; outline: dotted 1px rgba(201, 201, 201, 0.34); color: rgba(255, 255, 255, 0.5); } - + &:focus, &.focus { outline-offset: 0; outline: solid 1px $focus-color; @@ -74,7 +74,7 @@ input[type=text].default-input, input:not([type]).default-input, input[type=numb button { //text-transform: uppercase; - + &:disabled { color: rgba(255, 255, 255, 0.5); } @@ -106,8 +106,8 @@ button { min-width: 0; flex: 1; width: 100%; - - + + .mat-mdc-form-field-infix { width: 0; } @@ -130,12 +130,17 @@ body { > * { background: #d32f2f !important; } - + button { color: white !important; } - + .mat-mdc-snack-bar-label { color: white !important; } } + +.large-dropdown { + min-width: fit-content; + max-height: 512px !important; +}