From 5d71b66f846227082ae402c48af065210044b5a5 Mon Sep 17 00:00:00 2001 From: Martin Michelsen Date: Sun, 15 Oct 2023 23:15:30 -0700 Subject: [PATCH] implement quest version separation --- README.md | 7 +- TODO.md | 1 + src/ChatCommands.hh | 2 +- src/Client.hh | 5 +- src/CommonItemSet.cc | 2 + src/CommonItemSet.hh | 12 +- src/Episode3/DataIndexes.cc | 313 ++++++++--- src/Episode3/DataIndexes.hh | 54 +- src/Episode3/Server.cc | 119 ++-- src/Episode3/Server.hh | 57 +- src/Episode3/Tournament.cc | 17 +- src/Episode3/Tournament.hh | 8 +- src/FileContentsCache.hh | 24 +- src/GVMEncoder.hh | 4 +- src/Lobby.cc | 21 + src/Lobby.hh | 3 +- src/Main.cc | 28 +- src/Map.cc | 9 +- src/PlayerSubordinates.cc | 2 + src/ProxyCommands.hh | 2 +- src/Quest.cc | 529 +++++++++--------- src/Quest.hh | 68 +-- src/ReceiveCommands.cc | 56 +- src/ReceiveSubcommands.cc | 13 +- src/SaveFileFormats.hh | 6 +- src/SendCommands.cc | 15 +- src/SendCommands.hh | 14 +- src/ServerShell.cc | 2 +- src/ServerState.cc | 40 +- src/StaticGameData.cc | 26 +- src/StaticGameData.hh | 9 +- system/ep3/maps/e765-dlt-gc3-e.mnm | 1 + system/ep3/maps/e765-dlt-gc3.mnm | 1 - system/ep3/maps/e901-dl-gc3-e.mnm | 1 + system/ep3/maps/e901-dl-gc3.mnm | 1 - system/ep3/maps/e903-dl-gc3-e.mnm | 1 + system/ep3/maps/e903-dl-gc3.mnm | 1 - system/ep3/maps/e904-dl-gc3-e.mnm | 1 + system/ep3/maps/e904-dl-gc3.mnm | 1 - system/ep3/maps/e905-dl-gc3-e.mnm | 1 + system/ep3/maps/e905-dl-gc3.mnm | 1 - system/ep3/maps/e906-dl-gc3-e.mnm | 1 + system/ep3/maps/e906-dl-gc3.mnm | 1 - system/ep3/maps/e907-dl-gc3-e.mnm | 1 + system/ep3/maps/e907-dl-gc3.mnm | 1 - system/ep3/maps/e908-dl-gc3-e.mnm | 1 + system/ep3/maps/e908-dl-gc3.mnm | 1 - .../maps/{m000011p_e.bind => m000011p-e.bind} | Bin system/ep3/maps/m000011p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000021p_e.bind => m000021p-e.bind} | Bin system/ep3/maps/m000021p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000031p_e.bind => m000031p-e.bind} | Bin system/ep3/maps/m000031p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000032p_e.bind => m000032p-e.bind} | Bin system/ep3/maps/m000032p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000041p_e.bind => m000041p-e.bind} | Bin system/ep3/maps/m000041p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000042p_e.bind => m000042p-e.bind} | Bin system/ep3/maps/m000042p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000043p_e.bind => m000043p-e.bind} | Bin system/ep3/maps/m000043p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000051p_e.bind => m000051p-e.bind} | Bin system/ep3/maps/m000051p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000052p_e.bind => m000052p-e.bind} | Bin system/ep3/maps/m000052p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000053p_e.bind => m000053p-e.bind} | Bin system/ep3/maps/m000053p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000061p_e.bind => m000061p-e.bind} | Bin system/ep3/maps/m000061p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000062p_e.bind => m000062p-e.bind} | Bin system/ep3/maps/m000062p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000063p_e.bind => m000063p-e.bind} | Bin system/ep3/maps/m000063p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000071p_e.bind => m000071p-e.bind} | Bin system/ep3/maps/m000071p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000072p_e.bind => m000072p-e.bind} | Bin system/ep3/maps/m000072p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000073p_e.bind => m000073p-e.bind} | Bin system/ep3/maps/m000073p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000081p_e.bind => m000081p-e.bind} | Bin system/ep3/maps/m000081p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000082p_e.bind => m000082p-e.bind} | Bin system/ep3/maps/m000082p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000083p_e.bind => m000083p-e.bind} | Bin system/ep3/maps/m000083p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000091p_e.bind => m000091p-e.bind} | Bin system/ep3/maps/m000091p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000092p_e.bind => m000092p-e.bind} | Bin system/ep3/maps/m000092p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000093p_e.bind => m000093p-e.bind} | Bin system/ep3/maps/m000093p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000101p_e.bind => m000101p-e.bind} | Bin system/ep3/maps/m000101p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000102p_e.bind => m000102p-e.bind} | Bin system/ep3/maps/m000102p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000103p_e.bind => m000103p-e.bind} | Bin system/ep3/maps/m000103p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000111p_e.bind => m000111p-e.bind} | Bin system/ep3/maps/m000111p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000112p_e.bind => m000112p-e.bind} | Bin system/ep3/maps/m000112p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000113p_e.bind => m000113p-e.bind} | Bin system/ep3/maps/m000113p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000121p_e.bind => m000121p-e.bind} | Bin system/ep3/maps/m000121p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000122p_e.bind => m000122p-e.bind} | Bin system/ep3/maps/m000122p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000123p_e.bind => m000123p-e.bind} | Bin system/ep3/maps/m000123p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000131p_e.bind => m000131p-e.bind} | Bin system/ep3/maps/m000131p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000141p_e.bind => m000141p-e.bind} | Bin system/ep3/maps/m000141p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000142p_e.bind => m000142p-e.bind} | Bin system/ep3/maps/m000142p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000143p_e.bind => m000143p-e.bind} | Bin system/ep3/maps/m000143p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000151p_e.bind => m000151p-e.bind} | Bin system/ep3/maps/m000151p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000152p_e.bind => m000152p-e.bind} | Bin system/ep3/maps/m000152p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000153p_e.bind => m000153p-e.bind} | Bin system/ep3/maps/m000153p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000161p_e.bind => m000161p-e.bind} | Bin system/ep3/maps/m000161p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000162p_e.bind => m000162p-e.bind} | Bin system/ep3/maps/m000162p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000163p_e.bind => m000163p-e.bind} | Bin system/ep3/maps/m000163p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000171p_e.bind => m000171p-e.bind} | Bin system/ep3/maps/m000171p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000172p_e.bind => m000172p-e.bind} | Bin system/ep3/maps/m000172p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000173p_e.bind => m000173p-e.bind} | Bin system/ep3/maps/m000173p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000181p_e.bind => m000181p-e.bind} | Bin system/ep3/maps/m000181p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000182p_e.bind => m000182p-e.bind} | Bin system/ep3/maps/m000182p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000183p_e.bind => m000183p-e.bind} | Bin system/ep3/maps/m000183p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000191p_e.bind => m000191p-e.bind} | Bin system/ep3/maps/m000191p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000192p_e.bind => m000192p-e.bind} | Bin system/ep3/maps/m000192p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000193p_e.bind => m000193p-e.bind} | Bin system/ep3/maps/m000193p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000201p_e.bind => m000201p-e.bind} | Bin system/ep3/maps/m000201p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000202p_e.bind => m000202p-e.bind} | Bin system/ep3/maps/m000202p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000203p_e.bind => m000203p-e.bind} | Bin system/ep3/maps/m000203p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000204p_e.bind => m000204p-e.bind} | Bin system/ep3/maps/m000204p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000211p_e.bind => m000211p-e.bind} | Bin system/ep3/maps/m000211p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000221p_e.bind => m000221p-e.bind} | Bin system/ep3/maps/m000221p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000222p_e.bind => m000222p-e.bind} | Bin system/ep3/maps/m000222p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000223p_e.bind => m000223p-e.bind} | Bin system/ep3/maps/m000223p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000261p_e.bind => m000261p-e.bind} | Bin system/ep3/maps/m000261p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000271p_e.bind => m000271p-e.bind} | Bin system/ep3/maps/m000271p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000281p_e.bind => m000281p-e.bind} | Bin system/ep3/maps/m000281p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000282p_e.bind => m000282p-e.bind} | Bin system/ep3/maps/m000282p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000291p_e.bind => m000291p-e.bind} | Bin system/ep3/maps/m000291p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000292p_e.bind => m000292p-e.bind} | Bin system/ep3/maps/m000292p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000293p_e.bind => m000293p-e.bind} | Bin system/ep3/maps/m000293p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000301p_e.bind => m000301p-e.bind} | Bin system/ep3/maps/m000301p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000302p_e.bind => m000302p-e.bind} | Bin system/ep3/maps/m000302p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000303p_e.bind => m000303p-e.bind} | Bin system/ep3/maps/m000303p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000311p_e.bind => m000311p-e.bind} | Bin system/ep3/maps/m000311p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000312p_e.bind => m000312p-e.bind} | Bin system/ep3/maps/m000312p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000313p_e.bind => m000313p-e.bind} | Bin system/ep3/maps/m000313p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000321p_e.bind => m000321p-e.bind} | Bin system/ep3/maps/m000321p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000322p_e.bind => m000322p-e.bind} | Bin system/ep3/maps/m000322p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000323p_e.bind => m000323p-e.bind} | Bin system/ep3/maps/m000323p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000331p_e.bind => m000331p-e.bind} | Bin system/ep3/maps/m000331p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000332p_e.bind => m000332p-e.bind} | Bin system/ep3/maps/m000332p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000333p_e.bind => m000333p-e.bind} | Bin system/ep3/maps/m000333p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000341p_e.bind => m000341p-e.bind} | Bin system/ep3/maps/m000341p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000342p_e.bind => m000342p-e.bind} | Bin system/ep3/maps/m000342p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000343p_e.bind => m000343p-e.bind} | Bin system/ep3/maps/m000343p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000351p_e.bind => m000351p-e.bind} | Bin system/ep3/maps/m000351p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000352p_e.bind => m000352p-e.bind} | Bin system/ep3/maps/m000352p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000353p_e.bind => m000353p-e.bind} | Bin system/ep3/maps/m000353p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000361p_e.bind => m000361p-e.bind} | Bin system/ep3/maps/m000361p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000362p_e.bind => m000362p-e.bind} | Bin system/ep3/maps/m000362p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000363p_e.bind => m000363p-e.bind} | Bin system/ep3/maps/m000363p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000371p_e.bind => m000371p-e.bind} | Bin system/ep3/maps/m000371p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000372p_e.bind => m000372p-e.bind} | Bin system/ep3/maps/m000372p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000373p_e.bind => m000373p-e.bind} | Bin system/ep3/maps/m000373p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000381p_e.bind => m000381p-e.bind} | Bin system/ep3/maps/m000381p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000391p_e.bind => m000391p-e.bind} | Bin system/ep3/maps/m000391p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000392p_e.bind => m000392p-e.bind} | Bin system/ep3/maps/m000392p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000393p_e.bind => m000393p-e.bind} | Bin system/ep3/maps/m000393p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000401p_e.bind => m000401p-e.bind} | Bin system/ep3/maps/m000401p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000402p_e.bind => m000402p-e.bind} | Bin system/ep3/maps/m000402p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000403p_e.bind => m000403p-e.bind} | Bin system/ep3/maps/m000403p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000411p_e.bind => m000411p-e.bind} | Bin system/ep3/maps/m000411p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000412p_e.bind => m000412p-e.bind} | Bin system/ep3/maps/m000412p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000413p_e.bind => m000413p-e.bind} | Bin system/ep3/maps/m000413p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000421p_e.bind => m000421p-e.bind} | Bin system/ep3/maps/m000421p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000422p_e.bind => m000422p-e.bind} | Bin system/ep3/maps/m000422p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000423p_e.bind => m000423p-e.bind} | Bin system/ep3/maps/m000423p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000431p_e.bind => m000431p-e.bind} | Bin system/ep3/maps/m000431p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000432p_e.bind => m000432p-e.bind} | Bin system/ep3/maps/m000432p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000433p_e.bind => m000433p-e.bind} | Bin system/ep3/maps/m000433p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000441p_e.bind => m000441p-e.bind} | Bin system/ep3/maps/m000441p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000442p_e.bind => m000442p-e.bind} | Bin system/ep3/maps/m000442p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000443p_e.bind => m000443p-e.bind} | Bin system/ep3/maps/m000443p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000451p_e.bind => m000451p-e.bind} | Bin system/ep3/maps/m000451p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000452p_e.bind => m000452p-e.bind} | Bin system/ep3/maps/m000452p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000453p_e.bind => m000453p-e.bind} | Bin system/ep3/maps/m000453p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000461p_e.bind => m000461p-e.bind} | Bin system/ep3/maps/m000461p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000471p_e.bind => m000471p-e.bind} | Bin system/ep3/maps/m000471p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000472p_e.bind => m000472p-e.bind} | Bin system/ep3/maps/m000472p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000473p_e.bind => m000473p-e.bind} | Bin system/ep3/maps/m000473p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000501p_e.bind => m000501p-e.bind} | Bin system/ep3/maps/m000501p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000502p_e.bind => m000502p-e.bind} | Bin system/ep3/maps/m000502p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000503p_e.bind => m000503p-e.bind} | Bin system/ep3/maps/m000503p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000504p_e.bind => m000504p-e.bind} | Bin system/ep3/maps/m000504p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000505p_e.bind => m000505p-e.bind} | Bin system/ep3/maps/m000505p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000506p_e.bind => m000506p-e.bind} | Bin system/ep3/maps/m000506p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000507p_e.bind => m000507p-e.bind} | Bin system/ep3/maps/m000507p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000508p_e.bind => m000508p-e.bind} | Bin system/ep3/maps/m000508p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000509p_e.bind => m000509p-e.bind} | Bin system/ep3/maps/m000509p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000510p_e.bind => m000510p-e.bind} | Bin system/ep3/maps/m000510p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000511p_e.bind => m000511p-e.bind} | Bin system/ep3/maps/m000511p-j.bind | Bin 0 -> 23064 bytes system/ep3/maps/m000512p-e.bind | Bin 0 -> 23064 bytes system/ep3/maps/m000512p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000513p_e.bind => m000513p-e.bind} | Bin system/ep3/maps/m000513p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000514p_e.bind => m000514p-e.bind} | Bin system/ep3/maps/m000514p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000515p_e.bind => m000515p-e.bind} | Bin system/ep3/maps/m000515p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000516p_e.bind => m000516p-e.bind} | Bin .../maps/{m000512p_e.bind => m000516p-j.bind} | Bin 23064 -> 23064 bytes .../maps/{m000517p_e.bind => m000517p-e.bind} | Bin system/ep3/maps/m000517p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000518p_e.bind => m000518p-e.bind} | Bin system/ep3/maps/m000518p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000519p_e.bind => m000519p-e.bind} | Bin system/ep3/maps/m000519p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000521p_e.bind => m000521p-e.bind} | Bin system/ep3/maps/m000521p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000522p_e.bind => m000522p-e.bind} | Bin system/ep3/maps/m000522p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000523p_e.bind => m000523p-e.bind} | Bin system/ep3/maps/m000523p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000524p_e.bind => m000524p-e.bind} | Bin system/ep3/maps/m000524p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000525p_e.bind => m000525p-e.bind} | Bin system/ep3/maps/m000525p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000526p_e.bind => m000526p-e.bind} | Bin system/ep3/maps/m000526p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000527p_e.bind => m000527p-e.bind} | Bin system/ep3/maps/m000527p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000528p_e.bind => m000528p-e.bind} | Bin system/ep3/maps/m000528p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000529p_e.bind => m000529p-e.bind} | Bin system/ep3/maps/m000529p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000530p_e.bind => m000530p-e.bind} | Bin system/ep3/maps/m000530p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000531p_e.bind => m000531p-e.bind} | Bin system/ep3/maps/m000531p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000532p_e.bind => m000532p-e.bind} | Bin 23064 -> 23064 bytes system/ep3/maps/m000532p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000533p_e.bind => m000533p-e.bind} | Bin system/ep3/maps/m000533p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000534p_e.bind => m000534p-e.bind} | Bin system/ep3/maps/m000534p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000535p_e.bind => m000535p-e.bind} | Bin system/ep3/maps/m000535p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000536p_e.bind => m000536p-e.bind} | Bin system/ep3/maps/m000536p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000537p_e.bind => m000537p-e.bind} | Bin system/ep3/maps/m000537p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000538p_e.bind => m000538p-e.bind} | Bin system/ep3/maps/m000538p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000539p_e.bind => m000539p-e.bind} | Bin system/ep3/maps/m000539p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000550p_e.bind => m000550p-e.bind} | Bin system/ep3/maps/m000550p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000551p_e.bind => m000551p-e.bind} | Bin system/ep3/maps/m000551p-j.bind | Bin 0 -> 23064 bytes .../maps/{m000552p_e.bind => m000552p-e.bind} | Bin system/ep3/maps/m000552p-j.bind | Bin 0 -> 23064 bytes system/ep3/maps/m000601p-j.bind | Bin 0 -> 23064 bytes system/ep3/maps/m000602p-j.bind | Bin 0 -> 23064 bytes system/ep3/maps/m000603p-j.bind | Bin 0 -> 23064 bytes system/ep3/maps/m000604p-j.bind | Bin 0 -> 23064 bytes system/ep3/maps/m000605p-j.bind | Bin 0 -> 23064 bytes system/ep3/maps/m000606p-j.bind | Bin 0 -> 23064 bytes system/ep3/maps/m000607p-j.bind | Bin 0 -> 23064 bytes system/ep3/maps/m000608p-j.bind | Bin 0 -> 23064 bytes system/ep3/maps/m000609p-j.bind | Bin 0 -> 23064 bytes system/ep3/maps/m000610p-j.bind | Bin 0 -> 23064 bytes system/ep3/maps/m000613p-j.bind | Bin 0 -> 23064 bytes system/ep3/maps/m000614p-j.bind | Bin 0 -> 23064 bytes system/ep3/maps/m000615p-j.bind | Bin 0 -> 23064 bytes system/ep3/maps/m000616p-j.bind | Bin 0 -> 23064 bytes system/ep3/maps/m000618p-j.bind | Bin 0 -> 23064 bytes system/ep3/maps/m000619p-j.bind | Bin 0 -> 23064 bytes system/ep3/maps/m000999p-j.bind | Bin 0 -> 23064 bytes .../{map00000230.mnmd => map00000230-e.mnmd} | Bin .../{map00000244.mnmd => map00000244-e.mnmd} | Bin .../{map00000258.mnmd => map00000258-e.mnmd} | Bin .../{map0000026C.mnmd => map0000026C-e.mnmd} | Bin .../{map00000280.mnmd => map00000280-e.mnmd} | Bin .../{map00000294.mnmd => map00000294-e.mnmd} | Bin .../{map000002A8.mnmd => map000002A8-e.mnmd} | Bin .../{map000002BC.mnmd => map000002BC-e.mnmd} | Bin .../{map000002BD.mnmd => map000002BD-e.mnmd} | Bin .../{map000002E4.mnmd => map000002E4-e.mnmd} | Bin .../{map000002F8.mnmd => map000002F8-e.mnmd} | Bin .../{map000002F9.mnmd => map000002F9-e.mnmd} | Bin .../{map00000320.mnmd => map00000320-e.mnmd} | Bin .../{map00000334.mnmd => map00000334-e.mnmd} | Bin .../quests/{b88001-bb.bin => b88001-bb-e.bin} | Bin .../quests/{b88001-dc.bin => b88001-dc-e.bin} | Bin .../quests/{b88001-gc.bin => b88001-gc-e.bin} | Bin .../quests/{b88001-pc.bin => b88001-pc-e.bin} | Bin .../quests/{b88002-bb.bin => b88002-bb-e.bin} | Bin .../quests/{b88002-dc.bin => b88002-dc-e.bin} | Bin .../quests/{b88002-gc.bin => b88002-gc-e.bin} | Bin .../quests/{b88002-pc.bin => b88002-pc-e.bin} | Bin .../quests/{b88003-bb.bin => b88003-bb-e.bin} | Bin .../quests/{b88003-dc.bin => b88003-dc-e.bin} | Bin .../quests/{b88003-gc.bin => b88003-gc-e.bin} | Bin .../quests/{b88003-pc.bin => b88003-pc-e.bin} | Bin .../quests/{b88004-bb.bin => b88004-bb-e.bin} | Bin .../quests/{b88004-dc.bin => b88004-dc-e.bin} | Bin .../quests/{b88004-gc.bin => b88004-gc-e.bin} | Bin .../quests/{b88004-pc.bin => b88004-pc-e.bin} | Bin .../quests/{b88005-bb.bin => b88005-bb-e.bin} | Bin .../quests/{b88005-dc.bin => b88005-dc-e.bin} | Bin .../quests/{b88005-gc.bin => b88005-gc-e.bin} | Bin .../quests/{b88005-pc.bin => b88005-pc-e.bin} | Bin .../quests/{b88006-bb.bin => b88006-bb-e.bin} | Bin .../quests/{b88006-dc.bin => b88006-dc-e.bin} | Bin .../quests/{b88006-gc.bin => b88006-gc-e.bin} | Bin .../quests/{b88006-pc.bin => b88006-pc-e.bin} | Bin .../quests/{b88007-bb.bin => b88007-bb-e.bin} | Bin .../quests/{b88007-dc.bin => b88007-dc-e.bin} | Bin .../quests/{b88007-gc.bin => b88007-gc-e.bin} | Bin .../quests/{b88007-pc.bin => b88007-pc-e.bin} | Bin .../quests/{b88008-bb.bin => b88008-bb-e.bin} | Bin .../quests/{b88008-dc.bin => b88008-dc-e.bin} | Bin .../quests/{b88008-gc.bin => b88008-gc-e.bin} | Bin .../quests/{b88008-pc.bin => b88008-pc-e.bin} | Bin .../quests/{c88101-bb.bin => c88101-bb-e.bin} | Bin .../quests/{c88101-dc.bin => c88101-dc-e.bin} | Bin .../quests/{c88101-gc.bin => c88101-gc-e.bin} | Bin .../quests/{c88101-pc.bin => c88101-pc-e.bin} | Bin .../quests/{c88102-bb.bin => c88102-bb-e.bin} | Bin .../quests/{c88102-dc.bin => c88102-dc-e.bin} | Bin .../quests/{c88102-gc.bin => c88102-gc-e.bin} | Bin .../quests/{c88102-pc.bin => c88102-pc-e.bin} | Bin .../quests/{c88103-bb.bin => c88103-bb-e.bin} | Bin .../quests/{c88103-dc.bin => c88103-dc-e.bin} | Bin .../quests/{c88103-gc.bin => c88103-gc-e.bin} | Bin .../quests/{c88103-pc.bin => c88103-pc-e.bin} | Bin .../quests/{c88104-bb.bin => c88104-bb-e.bin} | Bin .../quests/{c88104-dc.bin => c88104-dc-e.bin} | Bin .../quests/{c88104-gc.bin => c88104-gc-e.bin} | Bin .../quests/{c88104-pc.bin => c88104-pc-e.bin} | Bin .../quests/{c88105-bb.bin => c88105-bb-e.bin} | Bin .../quests/{c88105-dc.bin => c88105-dc-e.bin} | Bin .../quests/{c88105-gc.bin => c88105-gc-e.bin} | Bin .../quests/{c88105-pc.bin => c88105-pc-e.bin} | Bin .../quests/{c88106-bb.bin => c88106-bb-e.bin} | Bin .../quests/{c88106-dc.bin => c88106-dc-e.bin} | Bin .../quests/{c88106-gc.bin => c88106-gc-e.bin} | Bin .../quests/{c88106-pc.bin => c88106-pc-e.bin} | Bin .../quests/{c88107-bb.bin => c88107-bb-e.bin} | Bin .../quests/{c88107-dc.bin => c88107-dc-e.bin} | Bin .../quests/{c88107-gc.bin => c88107-gc-e.bin} | Bin .../quests/{c88107-pc.bin => c88107-pc-e.bin} | Bin .../quests/{c88108-bb.bin => c88108-bb-e.bin} | Bin .../quests/{c88108-dc.bin => c88108-dc-e.bin} | Bin .../quests/{c88108-gc.bin => c88108-gc-e.bin} | Bin .../quests/{c88108-pc.bin => c88108-pc-e.bin} | Bin .../quests/{c88109-bb.bin => c88109-bb-e.bin} | Bin .../quests/{c88109-dc.bin => c88109-dc-e.bin} | Bin .../quests/{c88109-gc.bin => c88109-gc-e.bin} | Bin .../quests/{c88109-pc.bin => c88109-pc-e.bin} | Bin .../quests/{d88201-bb.bin => d88201-bb-e.bin} | Bin .../quests/{d88201-gc.bin => d88201-gc-e.bin} | Bin .../quests/{d88202-bb.bin => d88202-bb-e.bin} | Bin .../quests/{d88202-gc.bin => d88202-gc-e.bin} | Bin .../quests/{d88203-bb.bin => d88203-bb-e.bin} | Bin .../quests/{d88203-gc.bin => d88203-gc-e.bin} | Bin .../quests/{d88204-bb.bin => d88204-bb-e.bin} | Bin .../quests/{d88204-gc.bin => d88204-gc-e.bin} | Bin .../quests/{d88205-bb.bin => d88205-bb-e.bin} | Bin .../quests/{d88205-gc.bin => d88205-gc-e.bin} | Bin .../{e765-dlt-gc3.mnm => e765-dlt-gc3-e.mnm} | Bin .../{e901-dl-gc3.mnm => e901-dl-gc3-e.mnm} | Bin .../{e903-dl-gc3.mnm => e903-dl-gc3-e.mnm} | Bin .../{e904-dl-gc3.mnm => e904-dl-gc3-e.mnm} | Bin .../{e905-dl-gc3.mnm => e905-dl-gc3-e.mnm} | Bin .../{e906-dl-gc3.mnm => e906-dl-gc3-e.mnm} | Bin .../{e907-dl-gc3.mnm => e907-dl-gc3-e.mnm} | Bin .../{e908-dl-gc3.mnm => e908-dl-gc3-e.mnm} | Bin .../{q000-dl-gc.bin => q000-dl-gc-e.bin} | Bin .../{q001-1p-bb.bin => q001-1p-bb-e.bin} | Bin .../{q002-1p-bb.bin => q002-1p-bb-e.bin} | Bin .../{q003-1p-bb.bin => q003-1p-bb-e.bin} | Bin .../{q004-1p-bb.bin => q004-1p-bb-e.bin} | Bin .../{q005-1p-bb.bin => q005-1p-bb-e.bin} | Bin .../{q006-1p-bb.bin => q006-1p-bb-e.bin} | Bin .../{q007-1p-bb.bin => q007-1p-bb-e.bin} | Bin .../{q008-1p-bb.bin => q008-1p-bb-e.bin} | Bin .../{q009-1p-bb.bin => q009-1p-bb-e.bin} | Bin .../{q010-1p-bb.bin => q010-1p-bb-e.bin} | Bin .../{q011-1p-bb.bin => q011-1p-bb-e.bin} | Bin .../{q012-1p-bb.bin => q012-1p-bb-e.bin} | Bin .../{q013-1p-bb.bin => q013-1p-bb-e.bin} | Bin .../{q014-1p-bb.bin => q014-1p-bb-e.bin} | Bin .../{q015-1p-bb.bin => q015-1p-bb-e.bin} | Bin .../{q016-1p-bb.bin => q016-1p-bb-e.bin} | Bin .../{q017-1p-bb.bin => q017-1p-bb-e.bin} | Bin .../{q018-1p-bb.bin => q018-1p-bb-e.bin} | Bin .../{q019-1p-bb.bin => q019-1p-bb-e.bin} | Bin .../{q020-1p-bb.bin => q020-1p-bb-e.bin} | Bin .../{q021-1p-bb.bin => q021-1p-bb-e.bin} | Bin .../{q022-1p-bb.bin => q022-1p-bb-e.bin} | Bin .../{q023-1p-bb.bin => q023-1p-bb-e.bin} | Bin .../{q024-1p-bb.bin => q024-1p-bb-e.bin} | Bin .../{q025-1p-bb.bin => q025-1p-bb-e.bin} | Bin .../{q026-1p-bb.bin => q026-1p-bb-e.bin} | Bin .../{q027-dl-gc.bin => q027-dl-gc-e.bin} | Bin .../{q031-1p-bb.bin => q031-1p-bb-e.bin} | Bin .../{q033-1p-bb.bin => q033-1p-bb-e.bin} | Bin .../{q058-ret-bb.bin => q058-ret-bb-e.bin} | Bin .../{q058-ret-d1.bin => q058-ret-d1-e.bin} | Bin .../{q058-ret-dc.bin => q058-ret-dc-e.bin} | Bin .../{q058-ret-gc.bin => q058-ret-gc-e.bin} | Bin .../{q058-ret-pc.bin => q058-ret-pc-e.bin} | Bin .../{q059-ret-bb.bin => q059-ret-bb-e.bin} | Bin .../{q059-ret-d1.bin => q059-ret-d1-e.bin} | Bin .../{q059-ret-dc.bin => q059-ret-dc-e.bin} | Bin .../{q059-ret-gc.bin => q059-ret-gc-e.bin} | Bin .../{q059-ret-pc.bin => q059-ret-pc-e.bin} | Bin .../{q060-ret-bb.bin => q060-ret-bb-e.bin} | Bin .../{q060-ret-d1.bin => q060-ret-d1-e.bin} | Bin .../{q060-ret-dc.bin => q060-ret-dc-e.bin} | Bin .../{q060-ret-gc.bin => q060-ret-gc-e.bin} | Bin .../{q060-ret-pc.bin => q060-ret-pc-e.bin} | Bin .../{q068-ret-dc.bin => q068-ret-dc-e.bin} | Bin .../{q068-ret-pc.bin => q068-ret-pc-e.bin} | Bin .../{q073-evt-gc.bin => q073-evt-gc-e.bin} | Bin .../{q073-evt-pc.bin => q073-evt-pc-e.bin} | Bin .../{q080-vr-dc.bin => q080-vr-dc-e.bin} | Bin .../{q095-evt-gc.bin => q095-evt-gc-e.bin} | Bin .../{q095-evt-pc.bin => q095-evt-pc-e.bin} | Bin .../{q096-evt-gc.bin => q096-evt-gc-e.bin} | Bin .../{q096-evt-pc.bin => q096-evt-pc-e.bin} | Bin .../{q101-ext-bb.bin => q101-ext-bb-e.bin} | Bin .../{q101-ext-d1.bin => q101-ext-d1-e.bin} | Bin .../{q101-ext-dc.bin => q101-ext-dc-e.bin} | Bin .../{q101-ext-gc.bin => q101-ext-gc-e.bin} | Bin .../{q101-ext-pc.bin => q101-ext-pc-e.bin} | Bin .../{q102-ext-bb.bin => q102-ext-bb-e.bin} | Bin .../{q102-ext-d1.bin => q102-ext-d1-e.bin} | Bin .../{q102-ext-dc.bin => q102-ext-dc-e.bin} | Bin .../{q102-ext-gc.bin => q102-ext-gc-e.bin} | Bin .../{q102-ext-pc.bin => q102-ext-pc-e.bin} | Bin .../{q103-ext-bb.bin => q103-ext-bb-e.bin} | Bin .../{q103-ext-d1.bin => q103-ext-d1-e.bin} | Bin .../{q103-ext-gc.bin => q103-ext-gc-e.bin} | Bin .../{q103-ext-pc.bin => q103-ext-pc-e.bin} | Bin .../{q104-ext-bb.bin => q104-ext-bb-e.bin} | Bin .../{q104-ext-d1.bin => q104-ext-d1-e.bin} | Bin .../{q104-ext-dc.bin => q104-ext-dc-e.bin} | Bin .../{q104-ext-gc.bin => q104-ext-gc-e.bin} | Bin .../{q104-ext-pc.bin => q104-ext-pc-e.bin} | Bin .../{q108-ext-bb.bin => q108-ext-bb-e.bin} | Bin .../{q108-ext-d1.bin => q108-ext-d1-e.bin} | Bin .../{q108-ext-dc.bin => q108-ext-dc-e.bin} | Bin .../{q108-ext-gc.bin => q108-ext-gc-e.bin} | Bin .../{q108-ext-pc.bin => q108-ext-pc-e.bin} | Bin .../{q109-ext-bb.bin => q109-ext-bb-e.bin} | Bin .../{q109-ext-d1.bin => q109-ext-d1-e.bin} | Bin .../{q109-ext-dc.bin => q109-ext-dc-e.bin} | Bin .../{q109-ext-gc.bin => q109-ext-gc-e.bin} | Bin .../{q109-ext-pc.bin => q109-ext-pc-e.bin} | Bin .../{q110-ext-bb.bin => q110-ext-bb-e.bin} | Bin .../{q110-ext-d1.bin => q110-ext-d1-e.bin} | Bin .../{q110-ext-dc.bin => q110-ext-dc-e.bin} | Bin .../{q110-ext-gc.bin => q110-ext-gc-e.bin} | Bin .../{q110-ext-pc.bin => q110-ext-pc-e.bin} | Bin .../{q111-ext-bb.bin => q111-ext-bb-e.bin} | Bin .../{q111-ext-d1.bin => q111-ext-d1-e.bin} | Bin .../{q111-ext-dc.bin => q111-ext-dc-e.bin} | Bin .../{q111-ext-gc.bin => q111-ext-gc-e.bin} | Bin .../{q111-ext-pc.bin => q111-ext-pc-e.bin} | Bin .../{q117-ext-bb.bin => q117-ext-bb-e.bin} | Bin .../{q117-ext-dc.bin => q117-ext-dc-e.bin} | Bin .../{q117-ext-gc.bin => q117-ext-gc-e.bin} | Bin .../{q117-ext-pc.bin => q117-ext-pc-e.bin} | Bin .../{q118-vr-bb.bin => q118-vr-bb-e.bin} | Bin .../{q118-vr-dc.bin => q118-vr-dc-e.bin} | Bin .../{q118-vr-gc.bin => q118-vr-gc-e.bin} | Bin .../{q118-vr-pc.bin => q118-vr-pc-e.bin} | Bin .../{q124-evt-bb.bin => q124-evt-bb-e.bin} | Bin .../{q137-evt-bb.bin => q137-evt-bb-e.bin} | Bin .../{q137-evt-dc.bin => q137-evt-dc-e.bin} | Bin .../{q137-evt-gc.bin => q137-evt-gc-e.bin} | Bin .../{q137-evt-pc.bin => q137-evt-pc-e.bin} | Bin .../{q138-evt-bb.bin => q138-evt-bb-e.bin} | Bin .../{q138-evt-dc.bin => q138-evt-dc-e.bin} | Bin .../{q138-evt-gc.bin => q138-evt-gc-e.bin} | Bin .../{q138-evt-pc.bin => q138-evt-pc-e.bin} | Bin .../{q140-evt-pc.bin => q140-evt-pc-e.bin} | Bin .../{q141-vr-bb.bin => q141-vr-bb-e.bin} | Bin .../{q141-vr-gc.bin => q141-vr-gc-e.bin} | Bin .../{q142-vr-bb.bin => q142-vr-bb-e.bin} | Bin .../{q201-evt-bb.bin => q201-evt-bb-e.bin} | Bin .../{q201-evt-gc.bin => q201-evt-gc-e.bin} | Bin .../{q202-shp-gc.bin => q202-shp-gc-e.bin} | Bin .../{q203-vr-bb.bin => q203-vr-bb-e.bin} | Bin .../{q203-vr-gc.bin => q203-vr-gc-e.bin} | Bin .../{q204-shp-bb.bin => q204-shp-bb-e.bin} | Bin .../{q204-shp-gc.bin => q204-shp-gc-e.bin} | Bin .../{q213-evt-gc.bin => q213-evt-gc-e.bin} | Bin .../{q220-evt-gc.bin => q220-evt-gc-e.bin} | Bin .../{q222-vr-bb.bin => q222-vr-bb-e.bin} | Bin .../{q222-vr-gc.bin => q222-vr-gc-e.bin} | Bin .../{q223-twr-bb.bin => q223-twr-bb-e.bin} | Bin .../{q223-twr-gc.bin => q223-twr-gc-e.bin} | Bin .../{q224-twr-bb.bin => q224-twr-bb-e.bin} | Bin .../{q224-twr-gc.bin => q224-twr-gc-e.bin} | Bin .../{q230-vr-gc.bin => q230-vr-gc-e.bin} | Bin .../{q231-vr-gc.bin => q231-vr-gc-e.bin} | Bin .../{q232-evt-gc.bin => q232-evt-gc-e.bin} | Bin .../{q233-ext-bb.bin => q233-ext-bb-e.bin} | Bin .../{q233-ext-gc.bin => q233-ext-gc-e.bin} | Bin .../{q234-ext-bb.bin => q234-ext-bb-e.bin} | Bin .../{q234-ext-gc.bin => q234-ext-gc-e.bin} | Bin .../{q235-ext-bb.bin => q235-ext-bb-e.bin} | Bin .../{q235-ext-gc.bin => q235-ext-gc-e.bin} | Bin .../{q236-ext-bb.bin => q236-ext-bb-e.bin} | Bin .../{q236-ext-gc.bin => q236-ext-gc-e.bin} | Bin .../{q237-vr-gc.bin => q237-vr-gc-e.bin} | Bin .../{q238-vr-gc.bin => q238-vr-gc-e.bin} | Bin .../{q239-evt-gc.bin => q239-evt-gc-e.bin} | Bin .../{q335-evt-gc.bin => q335-evt-gc-e.bin} | Bin .../{q401-gv1-bb.bin => q401-gv1-bb-e.bin} | Bin .../{q402-gv1-bb.bin => q402-gv1-bb-e.bin} | Bin .../{q403-gv1-bb.bin => q403-gv1-bb-e.bin} | Bin .../{q404-gv1-bb.bin => q404-gv1-bb-e.bin} | Bin .../{q405-gv1-bb.bin => q405-gv1-bb-e.bin} | Bin .../{q406-gv1-bb.bin => q406-gv1-bb-e.bin} | Bin .../{q407-gv1-bb.bin => q407-gv1-bb-e.bin} | Bin .../{q408-gv1-bb.bin => q408-gv1-bb-e.bin} | Bin .../{q409-gv1-bb.bin => q409-gv1-bb-e.bin} | Bin .../{q410-gv1-bb.bin => q410-gv1-bb-e.bin} | Bin .../{q411-gv1-bb.bin => q411-gv1-bb-e.bin} | Bin .../{q412-gv1-bb.bin => q412-gv1-bb-e.bin} | Bin .../{q413-gv1-bb.bin => q413-gv1-bb-e.bin} | Bin .../{q414-gv1-bb.bin => q414-gv1-bb-e.bin} | Bin .../{q415-gv1-bb.bin => q415-gv1-bb-e.bin} | Bin .../{q451-gv2-bb.bin => q451-gv2-bb-e.bin} | Bin .../{q452-gv2-bb.bin => q452-gv2-bb-e.bin} | Bin .../{q453-gv2-bb.bin => q453-gv2-bb-e.bin} | Bin .../{q454-gv2-bb.bin => q454-gv2-bb-e.bin} | Bin .../{q455-gv2-bb.bin => q455-gv2-bb-e.bin} | Bin .../{q456-gv2-bb.bin => q456-gv2-bb-e.bin} | Bin .../{q457-gv2-bb.bin => q457-gv2-bb-e.bin} | Bin .../{q458-gv2-bb.bin => q458-gv2-bb-e.bin} | Bin .../{q459-gv2-bb.bin => q459-gv2-bb-e.bin} | Bin .../{q460-gv2-bb.bin => q460-gv2-bb-e.bin} | Bin .../{q461-gv2-bb.bin => q461-gv2-bb-e.bin} | Bin .../{q462-gv2-bb.bin => q462-gv2-bb-e.bin} | Bin .../{q463-gv2-bb.bin => q463-gv2-bb-e.bin} | Bin .../{q464-gv2-bb.bin => q464-gv2-bb-e.bin} | Bin .../{q465-gv2-bb.bin => q465-gv2-bb-e.bin} | Bin .../{q466-gv2-bb.bin => q466-gv2-bb-e.bin} | Bin .../{q467-gv2-bb.bin => q467-gv2-bb-e.bin} | Bin .../{q468-gv2-bb.bin => q468-gv2-bb-e.bin} | Bin .../{q496-evt-gc.bin => q496-evt-gc-e.bin} | Bin .../{q701-gv4-bb.bin => q701-gv4-bb-e.bin} | Bin .../{q702-gv4-bb.bin => q702-gv4-bb-e.bin} | Bin .../{q703-gv4-bb.bin => q703-gv4-bb-e.bin} | Bin .../{q704-gv4-bb.bin => q704-gv4-bb-e.bin} | Bin .../{q705-gv4-bb.bin => q705-gv4-bb-e.bin} | Bin .../{q706-gv4-bb.bin => q706-gv4-bb-e.bin} | Bin .../{q707-gv4-bb.bin => q707-gv4-bb-e.bin} | Bin .../{q708-gv4-bb.bin => q708-gv4-bb-e.bin} | Bin .../{q709-gv4-bb.bin => q709-gv4-bb-e.bin} | Bin .../{q811-ext-bb.bin => q811-ext-bb-e.bin} | Bin .../{q812-ext-bb.bin => q812-ext-bb-e.bin} | Bin .../{q813-ext-bb.bin => q813-ext-bb-e.bin} | Bin .../{q814-ext-bb.bin => q814-ext-bb-e.bin} | Bin .../{q815-ext-bb.bin => q815-ext-bb-e.bin} | Bin .../{q999-shp-gc.bin => q999-shp-gc-e.bin} | Bin tests/GC-Episode3BattleWithSpectator.test.txt | 61 +- tests/decrypt-gci-save.test.sh | 2 +- 671 files changed, 928 insertions(+), 619 deletions(-) create mode 120000 system/ep3/maps/e765-dlt-gc3-e.mnm delete mode 120000 system/ep3/maps/e765-dlt-gc3.mnm create mode 120000 system/ep3/maps/e901-dl-gc3-e.mnm delete mode 120000 system/ep3/maps/e901-dl-gc3.mnm create mode 120000 system/ep3/maps/e903-dl-gc3-e.mnm delete mode 120000 system/ep3/maps/e903-dl-gc3.mnm create mode 120000 system/ep3/maps/e904-dl-gc3-e.mnm delete mode 120000 system/ep3/maps/e904-dl-gc3.mnm create mode 120000 system/ep3/maps/e905-dl-gc3-e.mnm delete mode 120000 system/ep3/maps/e905-dl-gc3.mnm create mode 120000 system/ep3/maps/e906-dl-gc3-e.mnm delete mode 120000 system/ep3/maps/e906-dl-gc3.mnm create mode 120000 system/ep3/maps/e907-dl-gc3-e.mnm delete mode 120000 system/ep3/maps/e907-dl-gc3.mnm create mode 120000 system/ep3/maps/e908-dl-gc3-e.mnm delete mode 120000 system/ep3/maps/e908-dl-gc3.mnm rename system/ep3/maps/{m000011p_e.bind => m000011p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000011p-j.bind rename system/ep3/maps/{m000021p_e.bind => m000021p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000021p-j.bind rename system/ep3/maps/{m000031p_e.bind => m000031p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000031p-j.bind rename system/ep3/maps/{m000032p_e.bind => m000032p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000032p-j.bind rename system/ep3/maps/{m000041p_e.bind => m000041p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000041p-j.bind rename system/ep3/maps/{m000042p_e.bind => m000042p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000042p-j.bind rename system/ep3/maps/{m000043p_e.bind => m000043p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000043p-j.bind rename system/ep3/maps/{m000051p_e.bind => m000051p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000051p-j.bind rename system/ep3/maps/{m000052p_e.bind => m000052p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000052p-j.bind rename system/ep3/maps/{m000053p_e.bind => m000053p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000053p-j.bind rename system/ep3/maps/{m000061p_e.bind => m000061p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000061p-j.bind rename system/ep3/maps/{m000062p_e.bind => m000062p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000062p-j.bind rename system/ep3/maps/{m000063p_e.bind => m000063p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000063p-j.bind rename system/ep3/maps/{m000071p_e.bind => m000071p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000071p-j.bind rename system/ep3/maps/{m000072p_e.bind => m000072p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000072p-j.bind rename system/ep3/maps/{m000073p_e.bind => m000073p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000073p-j.bind rename system/ep3/maps/{m000081p_e.bind => m000081p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000081p-j.bind rename system/ep3/maps/{m000082p_e.bind => m000082p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000082p-j.bind rename system/ep3/maps/{m000083p_e.bind => m000083p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000083p-j.bind rename system/ep3/maps/{m000091p_e.bind => m000091p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000091p-j.bind rename system/ep3/maps/{m000092p_e.bind => m000092p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000092p-j.bind rename system/ep3/maps/{m000093p_e.bind => m000093p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000093p-j.bind rename system/ep3/maps/{m000101p_e.bind => m000101p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000101p-j.bind rename system/ep3/maps/{m000102p_e.bind => m000102p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000102p-j.bind rename system/ep3/maps/{m000103p_e.bind => m000103p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000103p-j.bind rename system/ep3/maps/{m000111p_e.bind => m000111p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000111p-j.bind rename system/ep3/maps/{m000112p_e.bind => m000112p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000112p-j.bind rename system/ep3/maps/{m000113p_e.bind => m000113p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000113p-j.bind rename system/ep3/maps/{m000121p_e.bind => m000121p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000121p-j.bind rename system/ep3/maps/{m000122p_e.bind => m000122p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000122p-j.bind rename system/ep3/maps/{m000123p_e.bind => m000123p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000123p-j.bind rename system/ep3/maps/{m000131p_e.bind => m000131p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000131p-j.bind rename system/ep3/maps/{m000141p_e.bind => m000141p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000141p-j.bind rename system/ep3/maps/{m000142p_e.bind => m000142p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000142p-j.bind rename system/ep3/maps/{m000143p_e.bind => m000143p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000143p-j.bind rename system/ep3/maps/{m000151p_e.bind => m000151p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000151p-j.bind rename system/ep3/maps/{m000152p_e.bind => m000152p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000152p-j.bind rename system/ep3/maps/{m000153p_e.bind => m000153p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000153p-j.bind rename system/ep3/maps/{m000161p_e.bind => m000161p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000161p-j.bind rename system/ep3/maps/{m000162p_e.bind => m000162p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000162p-j.bind rename system/ep3/maps/{m000163p_e.bind => m000163p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000163p-j.bind rename system/ep3/maps/{m000171p_e.bind => m000171p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000171p-j.bind rename system/ep3/maps/{m000172p_e.bind => m000172p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000172p-j.bind rename system/ep3/maps/{m000173p_e.bind => m000173p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000173p-j.bind rename system/ep3/maps/{m000181p_e.bind => m000181p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000181p-j.bind rename system/ep3/maps/{m000182p_e.bind => m000182p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000182p-j.bind rename system/ep3/maps/{m000183p_e.bind => m000183p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000183p-j.bind rename system/ep3/maps/{m000191p_e.bind => m000191p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000191p-j.bind rename system/ep3/maps/{m000192p_e.bind => m000192p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000192p-j.bind rename system/ep3/maps/{m000193p_e.bind => m000193p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000193p-j.bind rename system/ep3/maps/{m000201p_e.bind => m000201p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000201p-j.bind rename system/ep3/maps/{m000202p_e.bind => m000202p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000202p-j.bind rename system/ep3/maps/{m000203p_e.bind => m000203p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000203p-j.bind rename system/ep3/maps/{m000204p_e.bind => m000204p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000204p-j.bind rename system/ep3/maps/{m000211p_e.bind => m000211p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000211p-j.bind rename system/ep3/maps/{m000221p_e.bind => m000221p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000221p-j.bind rename system/ep3/maps/{m000222p_e.bind => m000222p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000222p-j.bind rename system/ep3/maps/{m000223p_e.bind => m000223p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000223p-j.bind rename system/ep3/maps/{m000261p_e.bind => m000261p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000261p-j.bind rename system/ep3/maps/{m000271p_e.bind => m000271p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000271p-j.bind rename system/ep3/maps/{m000281p_e.bind => m000281p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000281p-j.bind rename system/ep3/maps/{m000282p_e.bind => m000282p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000282p-j.bind rename system/ep3/maps/{m000291p_e.bind => m000291p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000291p-j.bind rename system/ep3/maps/{m000292p_e.bind => m000292p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000292p-j.bind rename system/ep3/maps/{m000293p_e.bind => m000293p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000293p-j.bind rename system/ep3/maps/{m000301p_e.bind => m000301p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000301p-j.bind rename system/ep3/maps/{m000302p_e.bind => m000302p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000302p-j.bind rename system/ep3/maps/{m000303p_e.bind => m000303p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000303p-j.bind rename system/ep3/maps/{m000311p_e.bind => m000311p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000311p-j.bind rename system/ep3/maps/{m000312p_e.bind => m000312p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000312p-j.bind rename system/ep3/maps/{m000313p_e.bind => m000313p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000313p-j.bind rename system/ep3/maps/{m000321p_e.bind => m000321p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000321p-j.bind rename system/ep3/maps/{m000322p_e.bind => m000322p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000322p-j.bind rename system/ep3/maps/{m000323p_e.bind => m000323p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000323p-j.bind rename system/ep3/maps/{m000331p_e.bind => m000331p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000331p-j.bind rename system/ep3/maps/{m000332p_e.bind => m000332p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000332p-j.bind rename system/ep3/maps/{m000333p_e.bind => m000333p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000333p-j.bind rename system/ep3/maps/{m000341p_e.bind => m000341p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000341p-j.bind rename system/ep3/maps/{m000342p_e.bind => m000342p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000342p-j.bind rename system/ep3/maps/{m000343p_e.bind => m000343p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000343p-j.bind rename system/ep3/maps/{m000351p_e.bind => m000351p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000351p-j.bind rename system/ep3/maps/{m000352p_e.bind => m000352p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000352p-j.bind rename system/ep3/maps/{m000353p_e.bind => m000353p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000353p-j.bind rename system/ep3/maps/{m000361p_e.bind => m000361p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000361p-j.bind rename system/ep3/maps/{m000362p_e.bind => m000362p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000362p-j.bind rename system/ep3/maps/{m000363p_e.bind => m000363p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000363p-j.bind rename system/ep3/maps/{m000371p_e.bind => m000371p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000371p-j.bind rename system/ep3/maps/{m000372p_e.bind => m000372p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000372p-j.bind rename system/ep3/maps/{m000373p_e.bind => m000373p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000373p-j.bind rename system/ep3/maps/{m000381p_e.bind => m000381p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000381p-j.bind rename system/ep3/maps/{m000391p_e.bind => m000391p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000391p-j.bind rename system/ep3/maps/{m000392p_e.bind => m000392p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000392p-j.bind rename system/ep3/maps/{m000393p_e.bind => m000393p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000393p-j.bind rename system/ep3/maps/{m000401p_e.bind => m000401p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000401p-j.bind rename system/ep3/maps/{m000402p_e.bind => m000402p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000402p-j.bind rename system/ep3/maps/{m000403p_e.bind => m000403p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000403p-j.bind rename system/ep3/maps/{m000411p_e.bind => m000411p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000411p-j.bind rename system/ep3/maps/{m000412p_e.bind => m000412p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000412p-j.bind rename system/ep3/maps/{m000413p_e.bind => m000413p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000413p-j.bind rename system/ep3/maps/{m000421p_e.bind => m000421p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000421p-j.bind rename system/ep3/maps/{m000422p_e.bind => m000422p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000422p-j.bind rename system/ep3/maps/{m000423p_e.bind => m000423p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000423p-j.bind rename system/ep3/maps/{m000431p_e.bind => m000431p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000431p-j.bind rename system/ep3/maps/{m000432p_e.bind => m000432p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000432p-j.bind rename system/ep3/maps/{m000433p_e.bind => m000433p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000433p-j.bind rename system/ep3/maps/{m000441p_e.bind => m000441p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000441p-j.bind rename system/ep3/maps/{m000442p_e.bind => m000442p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000442p-j.bind rename system/ep3/maps/{m000443p_e.bind => m000443p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000443p-j.bind rename system/ep3/maps/{m000451p_e.bind => m000451p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000451p-j.bind rename system/ep3/maps/{m000452p_e.bind => m000452p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000452p-j.bind rename system/ep3/maps/{m000453p_e.bind => m000453p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000453p-j.bind rename system/ep3/maps/{m000461p_e.bind => m000461p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000461p-j.bind rename system/ep3/maps/{m000471p_e.bind => m000471p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000471p-j.bind rename system/ep3/maps/{m000472p_e.bind => m000472p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000472p-j.bind rename system/ep3/maps/{m000473p_e.bind => m000473p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000473p-j.bind rename system/ep3/maps/{m000501p_e.bind => m000501p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000501p-j.bind rename system/ep3/maps/{m000502p_e.bind => m000502p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000502p-j.bind rename system/ep3/maps/{m000503p_e.bind => m000503p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000503p-j.bind rename system/ep3/maps/{m000504p_e.bind => m000504p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000504p-j.bind rename system/ep3/maps/{m000505p_e.bind => m000505p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000505p-j.bind rename system/ep3/maps/{m000506p_e.bind => m000506p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000506p-j.bind rename system/ep3/maps/{m000507p_e.bind => m000507p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000507p-j.bind rename system/ep3/maps/{m000508p_e.bind => m000508p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000508p-j.bind rename system/ep3/maps/{m000509p_e.bind => m000509p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000509p-j.bind rename system/ep3/maps/{m000510p_e.bind => m000510p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000510p-j.bind rename system/ep3/maps/{m000511p_e.bind => m000511p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000511p-j.bind create mode 100644 system/ep3/maps/m000512p-e.bind create mode 100755 system/ep3/maps/m000512p-j.bind rename system/ep3/maps/{m000513p_e.bind => m000513p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000513p-j.bind rename system/ep3/maps/{m000514p_e.bind => m000514p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000514p-j.bind rename system/ep3/maps/{m000515p_e.bind => m000515p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000515p-j.bind rename system/ep3/maps/{m000516p_e.bind => m000516p-e.bind} (100%) mode change 100755 => 100644 rename system/ep3/maps/{m000512p_e.bind => m000516p-j.bind} (74%) rename system/ep3/maps/{m000517p_e.bind => m000517p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000517p-j.bind rename system/ep3/maps/{m000518p_e.bind => m000518p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000518p-j.bind rename system/ep3/maps/{m000519p_e.bind => m000519p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000519p-j.bind rename system/ep3/maps/{m000521p_e.bind => m000521p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000521p-j.bind rename system/ep3/maps/{m000522p_e.bind => m000522p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000522p-j.bind rename system/ep3/maps/{m000523p_e.bind => m000523p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000523p-j.bind rename system/ep3/maps/{m000524p_e.bind => m000524p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000524p-j.bind rename system/ep3/maps/{m000525p_e.bind => m000525p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000525p-j.bind rename system/ep3/maps/{m000526p_e.bind => m000526p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000526p-j.bind rename system/ep3/maps/{m000527p_e.bind => m000527p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000527p-j.bind rename system/ep3/maps/{m000528p_e.bind => m000528p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000528p-j.bind rename system/ep3/maps/{m000529p_e.bind => m000529p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000529p-j.bind rename system/ep3/maps/{m000530p_e.bind => m000530p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000530p-j.bind rename system/ep3/maps/{m000531p_e.bind => m000531p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000531p-j.bind rename system/ep3/maps/{m000532p_e.bind => m000532p-e.bind} (99%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000532p-j.bind rename system/ep3/maps/{m000533p_e.bind => m000533p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000533p-j.bind rename system/ep3/maps/{m000534p_e.bind => m000534p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000534p-j.bind rename system/ep3/maps/{m000535p_e.bind => m000535p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000535p-j.bind rename system/ep3/maps/{m000536p_e.bind => m000536p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000536p-j.bind rename system/ep3/maps/{m000537p_e.bind => m000537p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000537p-j.bind rename system/ep3/maps/{m000538p_e.bind => m000538p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000538p-j.bind rename system/ep3/maps/{m000539p_e.bind => m000539p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000539p-j.bind rename system/ep3/maps/{m000550p_e.bind => m000550p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000550p-j.bind rename system/ep3/maps/{m000551p_e.bind => m000551p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000551p-j.bind rename system/ep3/maps/{m000552p_e.bind => m000552p-e.bind} (100%) mode change 100755 => 100644 create mode 100755 system/ep3/maps/m000552p-j.bind create mode 100755 system/ep3/maps/m000601p-j.bind create mode 100755 system/ep3/maps/m000602p-j.bind create mode 100755 system/ep3/maps/m000603p-j.bind create mode 100755 system/ep3/maps/m000604p-j.bind create mode 100755 system/ep3/maps/m000605p-j.bind create mode 100755 system/ep3/maps/m000606p-j.bind create mode 100755 system/ep3/maps/m000607p-j.bind create mode 100755 system/ep3/maps/m000608p-j.bind create mode 100755 system/ep3/maps/m000609p-j.bind create mode 100755 system/ep3/maps/m000610p-j.bind create mode 100755 system/ep3/maps/m000613p-j.bind create mode 100755 system/ep3/maps/m000614p-j.bind create mode 100755 system/ep3/maps/m000615p-j.bind create mode 100755 system/ep3/maps/m000616p-j.bind create mode 100755 system/ep3/maps/m000618p-j.bind create mode 100755 system/ep3/maps/m000619p-j.bind create mode 100755 system/ep3/maps/m000999p-j.bind rename system/ep3/maps/{map00000230.mnmd => map00000230-e.mnmd} (100%) rename system/ep3/maps/{map00000244.mnmd => map00000244-e.mnmd} (100%) rename system/ep3/maps/{map00000258.mnmd => map00000258-e.mnmd} (100%) rename system/ep3/maps/{map0000026C.mnmd => map0000026C-e.mnmd} (100%) rename system/ep3/maps/{map00000280.mnmd => map00000280-e.mnmd} (100%) rename system/ep3/maps/{map00000294.mnmd => map00000294-e.mnmd} (100%) rename system/ep3/maps/{map000002A8.mnmd => map000002A8-e.mnmd} (100%) rename system/ep3/maps/{map000002BC.mnmd => map000002BC-e.mnmd} (100%) rename system/ep3/maps/{map000002BD.mnmd => map000002BD-e.mnmd} (100%) rename system/ep3/maps/{map000002E4.mnmd => map000002E4-e.mnmd} (100%) rename system/ep3/maps/{map000002F8.mnmd => map000002F8-e.mnmd} (100%) rename system/ep3/maps/{map000002F9.mnmd => map000002F9-e.mnmd} (100%) rename system/ep3/maps/{map00000320.mnmd => map00000320-e.mnmd} (100%) rename system/ep3/maps/{map00000334.mnmd => map00000334-e.mnmd} (100%) rename system/quests/{b88001-bb.bin => b88001-bb-e.bin} (100%) rename system/quests/{b88001-dc.bin => b88001-dc-e.bin} (100%) rename system/quests/{b88001-gc.bin => b88001-gc-e.bin} (100%) rename system/quests/{b88001-pc.bin => b88001-pc-e.bin} (100%) rename system/quests/{b88002-bb.bin => b88002-bb-e.bin} (100%) rename system/quests/{b88002-dc.bin => b88002-dc-e.bin} (100%) rename system/quests/{b88002-gc.bin => b88002-gc-e.bin} (100%) rename system/quests/{b88002-pc.bin => b88002-pc-e.bin} (100%) rename system/quests/{b88003-bb.bin => b88003-bb-e.bin} (100%) rename system/quests/{b88003-dc.bin => b88003-dc-e.bin} (100%) rename system/quests/{b88003-gc.bin => b88003-gc-e.bin} (100%) rename system/quests/{b88003-pc.bin => b88003-pc-e.bin} (100%) rename system/quests/{b88004-bb.bin => b88004-bb-e.bin} (100%) rename system/quests/{b88004-dc.bin => b88004-dc-e.bin} (100%) rename system/quests/{b88004-gc.bin => b88004-gc-e.bin} (100%) rename system/quests/{b88004-pc.bin => b88004-pc-e.bin} (100%) rename system/quests/{b88005-bb.bin => b88005-bb-e.bin} (100%) rename system/quests/{b88005-dc.bin => b88005-dc-e.bin} (100%) rename system/quests/{b88005-gc.bin => b88005-gc-e.bin} (100%) rename system/quests/{b88005-pc.bin => b88005-pc-e.bin} (100%) rename system/quests/{b88006-bb.bin => b88006-bb-e.bin} (100%) rename system/quests/{b88006-dc.bin => b88006-dc-e.bin} (100%) rename system/quests/{b88006-gc.bin => b88006-gc-e.bin} (100%) rename system/quests/{b88006-pc.bin => b88006-pc-e.bin} (100%) rename system/quests/{b88007-bb.bin => b88007-bb-e.bin} (100%) rename system/quests/{b88007-dc.bin => b88007-dc-e.bin} (100%) rename system/quests/{b88007-gc.bin => b88007-gc-e.bin} (100%) rename system/quests/{b88007-pc.bin => b88007-pc-e.bin} (100%) rename system/quests/{b88008-bb.bin => b88008-bb-e.bin} (100%) rename system/quests/{b88008-dc.bin => b88008-dc-e.bin} (100%) rename system/quests/{b88008-gc.bin => b88008-gc-e.bin} (100%) rename system/quests/{b88008-pc.bin => b88008-pc-e.bin} (100%) rename system/quests/{c88101-bb.bin => c88101-bb-e.bin} (100%) rename system/quests/{c88101-dc.bin => c88101-dc-e.bin} (100%) rename system/quests/{c88101-gc.bin => c88101-gc-e.bin} (100%) rename system/quests/{c88101-pc.bin => c88101-pc-e.bin} (100%) rename system/quests/{c88102-bb.bin => c88102-bb-e.bin} (100%) rename system/quests/{c88102-dc.bin => c88102-dc-e.bin} (100%) rename system/quests/{c88102-gc.bin => c88102-gc-e.bin} (100%) rename system/quests/{c88102-pc.bin => c88102-pc-e.bin} (100%) rename system/quests/{c88103-bb.bin => c88103-bb-e.bin} (100%) rename system/quests/{c88103-dc.bin => c88103-dc-e.bin} (100%) rename system/quests/{c88103-gc.bin => c88103-gc-e.bin} (100%) rename system/quests/{c88103-pc.bin => c88103-pc-e.bin} (100%) rename system/quests/{c88104-bb.bin => c88104-bb-e.bin} (100%) rename system/quests/{c88104-dc.bin => c88104-dc-e.bin} (100%) rename system/quests/{c88104-gc.bin => c88104-gc-e.bin} (100%) rename system/quests/{c88104-pc.bin => c88104-pc-e.bin} (100%) rename system/quests/{c88105-bb.bin => c88105-bb-e.bin} (100%) rename system/quests/{c88105-dc.bin => c88105-dc-e.bin} (100%) rename system/quests/{c88105-gc.bin => c88105-gc-e.bin} (100%) rename system/quests/{c88105-pc.bin => c88105-pc-e.bin} (100%) rename system/quests/{c88106-bb.bin => c88106-bb-e.bin} (100%) rename system/quests/{c88106-dc.bin => c88106-dc-e.bin} (100%) rename system/quests/{c88106-gc.bin => c88106-gc-e.bin} (100%) rename system/quests/{c88106-pc.bin => c88106-pc-e.bin} (100%) rename system/quests/{c88107-bb.bin => c88107-bb-e.bin} (100%) rename system/quests/{c88107-dc.bin => c88107-dc-e.bin} (100%) rename system/quests/{c88107-gc.bin => c88107-gc-e.bin} (100%) rename system/quests/{c88107-pc.bin => c88107-pc-e.bin} (100%) rename system/quests/{c88108-bb.bin => c88108-bb-e.bin} (100%) rename system/quests/{c88108-dc.bin => c88108-dc-e.bin} (100%) rename system/quests/{c88108-gc.bin => c88108-gc-e.bin} (100%) rename system/quests/{c88108-pc.bin => c88108-pc-e.bin} (100%) rename system/quests/{c88109-bb.bin => c88109-bb-e.bin} (100%) rename system/quests/{c88109-dc.bin => c88109-dc-e.bin} (100%) rename system/quests/{c88109-gc.bin => c88109-gc-e.bin} (100%) rename system/quests/{c88109-pc.bin => c88109-pc-e.bin} (100%) rename system/quests/{d88201-bb.bin => d88201-bb-e.bin} (100%) rename system/quests/{d88201-gc.bin => d88201-gc-e.bin} (100%) rename system/quests/{d88202-bb.bin => d88202-bb-e.bin} (100%) rename system/quests/{d88202-gc.bin => d88202-gc-e.bin} (100%) rename system/quests/{d88203-bb.bin => d88203-bb-e.bin} (100%) rename system/quests/{d88203-gc.bin => d88203-gc-e.bin} (100%) rename system/quests/{d88204-bb.bin => d88204-bb-e.bin} (100%) rename system/quests/{d88204-gc.bin => d88204-gc-e.bin} (100%) rename system/quests/{d88205-bb.bin => d88205-bb-e.bin} (100%) rename system/quests/{d88205-gc.bin => d88205-gc-e.bin} (100%) rename system/quests/{e765-dlt-gc3.mnm => e765-dlt-gc3-e.mnm} (100%) rename system/quests/{e901-dl-gc3.mnm => e901-dl-gc3-e.mnm} (100%) rename system/quests/{e903-dl-gc3.mnm => e903-dl-gc3-e.mnm} (100%) rename system/quests/{e904-dl-gc3.mnm => e904-dl-gc3-e.mnm} (100%) rename system/quests/{e905-dl-gc3.mnm => e905-dl-gc3-e.mnm} (100%) rename system/quests/{e906-dl-gc3.mnm => e906-dl-gc3-e.mnm} (100%) rename system/quests/{e907-dl-gc3.mnm => e907-dl-gc3-e.mnm} (100%) rename system/quests/{e908-dl-gc3.mnm => e908-dl-gc3-e.mnm} (100%) rename system/quests/{q000-dl-gc.bin => q000-dl-gc-e.bin} (100%) rename system/quests/{q001-1p-bb.bin => q001-1p-bb-e.bin} (100%) rename system/quests/{q002-1p-bb.bin => q002-1p-bb-e.bin} (100%) rename system/quests/{q003-1p-bb.bin => q003-1p-bb-e.bin} (100%) rename system/quests/{q004-1p-bb.bin => q004-1p-bb-e.bin} (100%) rename system/quests/{q005-1p-bb.bin => q005-1p-bb-e.bin} (100%) rename system/quests/{q006-1p-bb.bin => q006-1p-bb-e.bin} (100%) rename system/quests/{q007-1p-bb.bin => q007-1p-bb-e.bin} (100%) rename system/quests/{q008-1p-bb.bin => q008-1p-bb-e.bin} (100%) rename system/quests/{q009-1p-bb.bin => q009-1p-bb-e.bin} (100%) rename system/quests/{q010-1p-bb.bin => q010-1p-bb-e.bin} (100%) rename system/quests/{q011-1p-bb.bin => q011-1p-bb-e.bin} (100%) rename system/quests/{q012-1p-bb.bin => q012-1p-bb-e.bin} (100%) rename system/quests/{q013-1p-bb.bin => q013-1p-bb-e.bin} (100%) rename system/quests/{q014-1p-bb.bin => q014-1p-bb-e.bin} (100%) rename system/quests/{q015-1p-bb.bin => q015-1p-bb-e.bin} (100%) rename system/quests/{q016-1p-bb.bin => q016-1p-bb-e.bin} (100%) rename system/quests/{q017-1p-bb.bin => q017-1p-bb-e.bin} (100%) rename system/quests/{q018-1p-bb.bin => q018-1p-bb-e.bin} (100%) rename system/quests/{q019-1p-bb.bin => q019-1p-bb-e.bin} (100%) rename system/quests/{q020-1p-bb.bin => q020-1p-bb-e.bin} (100%) rename system/quests/{q021-1p-bb.bin => q021-1p-bb-e.bin} (100%) rename system/quests/{q022-1p-bb.bin => q022-1p-bb-e.bin} (100%) rename system/quests/{q023-1p-bb.bin => q023-1p-bb-e.bin} (100%) rename system/quests/{q024-1p-bb.bin => q024-1p-bb-e.bin} (100%) rename system/quests/{q025-1p-bb.bin => q025-1p-bb-e.bin} (100%) rename system/quests/{q026-1p-bb.bin => q026-1p-bb-e.bin} (100%) rename system/quests/{q027-dl-gc.bin => q027-dl-gc-e.bin} (100%) rename system/quests/{q031-1p-bb.bin => q031-1p-bb-e.bin} (100%) rename system/quests/{q033-1p-bb.bin => q033-1p-bb-e.bin} (100%) rename system/quests/{q058-ret-bb.bin => q058-ret-bb-e.bin} (100%) rename system/quests/{q058-ret-d1.bin => q058-ret-d1-e.bin} (100%) rename system/quests/{q058-ret-dc.bin => q058-ret-dc-e.bin} (100%) rename system/quests/{q058-ret-gc.bin => q058-ret-gc-e.bin} (100%) rename system/quests/{q058-ret-pc.bin => q058-ret-pc-e.bin} (100%) rename system/quests/{q059-ret-bb.bin => q059-ret-bb-e.bin} (100%) rename system/quests/{q059-ret-d1.bin => q059-ret-d1-e.bin} (100%) rename system/quests/{q059-ret-dc.bin => q059-ret-dc-e.bin} (100%) rename system/quests/{q059-ret-gc.bin => q059-ret-gc-e.bin} (100%) rename system/quests/{q059-ret-pc.bin => q059-ret-pc-e.bin} (100%) rename system/quests/{q060-ret-bb.bin => q060-ret-bb-e.bin} (100%) rename system/quests/{q060-ret-d1.bin => q060-ret-d1-e.bin} (100%) rename system/quests/{q060-ret-dc.bin => q060-ret-dc-e.bin} (100%) rename system/quests/{q060-ret-gc.bin => q060-ret-gc-e.bin} (100%) rename system/quests/{q060-ret-pc.bin => q060-ret-pc-e.bin} (100%) rename system/quests/{q068-ret-dc.bin => q068-ret-dc-e.bin} (100%) rename system/quests/{q068-ret-pc.bin => q068-ret-pc-e.bin} (100%) rename system/quests/{q073-evt-gc.bin => q073-evt-gc-e.bin} (100%) rename system/quests/{q073-evt-pc.bin => q073-evt-pc-e.bin} (100%) rename system/quests/{q080-vr-dc.bin => q080-vr-dc-e.bin} (100%) rename system/quests/{q095-evt-gc.bin => q095-evt-gc-e.bin} (100%) rename system/quests/{q095-evt-pc.bin => q095-evt-pc-e.bin} (100%) rename system/quests/{q096-evt-gc.bin => q096-evt-gc-e.bin} (100%) rename system/quests/{q096-evt-pc.bin => q096-evt-pc-e.bin} (100%) rename system/quests/{q101-ext-bb.bin => q101-ext-bb-e.bin} (100%) rename system/quests/{q101-ext-d1.bin => q101-ext-d1-e.bin} (100%) rename system/quests/{q101-ext-dc.bin => q101-ext-dc-e.bin} (100%) rename system/quests/{q101-ext-gc.bin => q101-ext-gc-e.bin} (100%) rename system/quests/{q101-ext-pc.bin => q101-ext-pc-e.bin} (100%) rename system/quests/{q102-ext-bb.bin => q102-ext-bb-e.bin} (100%) rename system/quests/{q102-ext-d1.bin => q102-ext-d1-e.bin} (100%) rename system/quests/{q102-ext-dc.bin => q102-ext-dc-e.bin} (100%) rename system/quests/{q102-ext-gc.bin => q102-ext-gc-e.bin} (100%) rename system/quests/{q102-ext-pc.bin => q102-ext-pc-e.bin} (100%) rename system/quests/{q103-ext-bb.bin => q103-ext-bb-e.bin} (100%) rename system/quests/{q103-ext-d1.bin => q103-ext-d1-e.bin} (100%) rename system/quests/{q103-ext-gc.bin => q103-ext-gc-e.bin} (100%) rename system/quests/{q103-ext-pc.bin => q103-ext-pc-e.bin} (100%) rename system/quests/{q104-ext-bb.bin => q104-ext-bb-e.bin} (100%) rename system/quests/{q104-ext-d1.bin => q104-ext-d1-e.bin} (100%) rename system/quests/{q104-ext-dc.bin => q104-ext-dc-e.bin} (100%) rename system/quests/{q104-ext-gc.bin => q104-ext-gc-e.bin} (100%) rename system/quests/{q104-ext-pc.bin => q104-ext-pc-e.bin} (100%) rename system/quests/{q108-ext-bb.bin => q108-ext-bb-e.bin} (100%) rename system/quests/{q108-ext-d1.bin => q108-ext-d1-e.bin} (100%) rename system/quests/{q108-ext-dc.bin => q108-ext-dc-e.bin} (100%) rename system/quests/{q108-ext-gc.bin => q108-ext-gc-e.bin} (100%) rename system/quests/{q108-ext-pc.bin => q108-ext-pc-e.bin} (100%) rename system/quests/{q109-ext-bb.bin => q109-ext-bb-e.bin} (100%) rename system/quests/{q109-ext-d1.bin => q109-ext-d1-e.bin} (100%) rename system/quests/{q109-ext-dc.bin => q109-ext-dc-e.bin} (100%) rename system/quests/{q109-ext-gc.bin => q109-ext-gc-e.bin} (100%) rename system/quests/{q109-ext-pc.bin => q109-ext-pc-e.bin} (100%) rename system/quests/{q110-ext-bb.bin => q110-ext-bb-e.bin} (100%) rename system/quests/{q110-ext-d1.bin => q110-ext-d1-e.bin} (100%) rename system/quests/{q110-ext-dc.bin => q110-ext-dc-e.bin} (100%) rename system/quests/{q110-ext-gc.bin => q110-ext-gc-e.bin} (100%) rename system/quests/{q110-ext-pc.bin => q110-ext-pc-e.bin} (100%) rename system/quests/{q111-ext-bb.bin => q111-ext-bb-e.bin} (100%) rename system/quests/{q111-ext-d1.bin => q111-ext-d1-e.bin} (100%) rename system/quests/{q111-ext-dc.bin => q111-ext-dc-e.bin} (100%) rename system/quests/{q111-ext-gc.bin => q111-ext-gc-e.bin} (100%) rename system/quests/{q111-ext-pc.bin => q111-ext-pc-e.bin} (100%) rename system/quests/{q117-ext-bb.bin => q117-ext-bb-e.bin} (100%) rename system/quests/{q117-ext-dc.bin => q117-ext-dc-e.bin} (100%) rename system/quests/{q117-ext-gc.bin => q117-ext-gc-e.bin} (100%) rename system/quests/{q117-ext-pc.bin => q117-ext-pc-e.bin} (100%) rename system/quests/{q118-vr-bb.bin => q118-vr-bb-e.bin} (100%) rename system/quests/{q118-vr-dc.bin => q118-vr-dc-e.bin} (100%) rename system/quests/{q118-vr-gc.bin => q118-vr-gc-e.bin} (100%) rename system/quests/{q118-vr-pc.bin => q118-vr-pc-e.bin} (100%) rename system/quests/{q124-evt-bb.bin => q124-evt-bb-e.bin} (100%) rename system/quests/{q137-evt-bb.bin => q137-evt-bb-e.bin} (100%) rename system/quests/{q137-evt-dc.bin => q137-evt-dc-e.bin} (100%) rename system/quests/{q137-evt-gc.bin => q137-evt-gc-e.bin} (100%) rename system/quests/{q137-evt-pc.bin => q137-evt-pc-e.bin} (100%) rename system/quests/{q138-evt-bb.bin => q138-evt-bb-e.bin} (100%) rename system/quests/{q138-evt-dc.bin => q138-evt-dc-e.bin} (100%) rename system/quests/{q138-evt-gc.bin => q138-evt-gc-e.bin} (100%) rename system/quests/{q138-evt-pc.bin => q138-evt-pc-e.bin} (100%) rename system/quests/{q140-evt-pc.bin => q140-evt-pc-e.bin} (100%) rename system/quests/{q141-vr-bb.bin => q141-vr-bb-e.bin} (100%) rename system/quests/{q141-vr-gc.bin => q141-vr-gc-e.bin} (100%) rename system/quests/{q142-vr-bb.bin => q142-vr-bb-e.bin} (100%) rename system/quests/{q201-evt-bb.bin => q201-evt-bb-e.bin} (100%) rename system/quests/{q201-evt-gc.bin => q201-evt-gc-e.bin} (100%) rename system/quests/{q202-shp-gc.bin => q202-shp-gc-e.bin} (100%) rename system/quests/{q203-vr-bb.bin => q203-vr-bb-e.bin} (100%) rename system/quests/{q203-vr-gc.bin => q203-vr-gc-e.bin} (100%) rename system/quests/{q204-shp-bb.bin => q204-shp-bb-e.bin} (100%) rename system/quests/{q204-shp-gc.bin => q204-shp-gc-e.bin} (100%) rename system/quests/{q213-evt-gc.bin => q213-evt-gc-e.bin} (100%) rename system/quests/{q220-evt-gc.bin => q220-evt-gc-e.bin} (100%) rename system/quests/{q222-vr-bb.bin => q222-vr-bb-e.bin} (100%) rename system/quests/{q222-vr-gc.bin => q222-vr-gc-e.bin} (100%) rename system/quests/{q223-twr-bb.bin => q223-twr-bb-e.bin} (100%) rename system/quests/{q223-twr-gc.bin => q223-twr-gc-e.bin} (100%) rename system/quests/{q224-twr-bb.bin => q224-twr-bb-e.bin} (100%) rename system/quests/{q224-twr-gc.bin => q224-twr-gc-e.bin} (100%) rename system/quests/{q230-vr-gc.bin => q230-vr-gc-e.bin} (100%) rename system/quests/{q231-vr-gc.bin => q231-vr-gc-e.bin} (100%) rename system/quests/{q232-evt-gc.bin => q232-evt-gc-e.bin} (100%) rename system/quests/{q233-ext-bb.bin => q233-ext-bb-e.bin} (100%) rename system/quests/{q233-ext-gc.bin => q233-ext-gc-e.bin} (100%) rename system/quests/{q234-ext-bb.bin => q234-ext-bb-e.bin} (100%) rename system/quests/{q234-ext-gc.bin => q234-ext-gc-e.bin} (100%) rename system/quests/{q235-ext-bb.bin => q235-ext-bb-e.bin} (100%) rename system/quests/{q235-ext-gc.bin => q235-ext-gc-e.bin} (100%) rename system/quests/{q236-ext-bb.bin => q236-ext-bb-e.bin} (100%) rename system/quests/{q236-ext-gc.bin => q236-ext-gc-e.bin} (100%) rename system/quests/{q237-vr-gc.bin => q237-vr-gc-e.bin} (100%) rename system/quests/{q238-vr-gc.bin => q238-vr-gc-e.bin} (100%) rename system/quests/{q239-evt-gc.bin => q239-evt-gc-e.bin} (100%) rename system/quests/{q335-evt-gc.bin => q335-evt-gc-e.bin} (100%) rename system/quests/{q401-gv1-bb.bin => q401-gv1-bb-e.bin} (100%) rename system/quests/{q402-gv1-bb.bin => q402-gv1-bb-e.bin} (100%) rename system/quests/{q403-gv1-bb.bin => q403-gv1-bb-e.bin} (100%) rename system/quests/{q404-gv1-bb.bin => q404-gv1-bb-e.bin} (100%) rename system/quests/{q405-gv1-bb.bin => q405-gv1-bb-e.bin} (100%) rename system/quests/{q406-gv1-bb.bin => q406-gv1-bb-e.bin} (100%) rename system/quests/{q407-gv1-bb.bin => q407-gv1-bb-e.bin} (100%) rename system/quests/{q408-gv1-bb.bin => q408-gv1-bb-e.bin} (100%) rename system/quests/{q409-gv1-bb.bin => q409-gv1-bb-e.bin} (100%) rename system/quests/{q410-gv1-bb.bin => q410-gv1-bb-e.bin} (100%) rename system/quests/{q411-gv1-bb.bin => q411-gv1-bb-e.bin} (100%) rename system/quests/{q412-gv1-bb.bin => q412-gv1-bb-e.bin} (100%) rename system/quests/{q413-gv1-bb.bin => q413-gv1-bb-e.bin} (100%) rename system/quests/{q414-gv1-bb.bin => q414-gv1-bb-e.bin} (100%) rename system/quests/{q415-gv1-bb.bin => q415-gv1-bb-e.bin} (100%) rename system/quests/{q451-gv2-bb.bin => q451-gv2-bb-e.bin} (100%) rename system/quests/{q452-gv2-bb.bin => q452-gv2-bb-e.bin} (100%) rename system/quests/{q453-gv2-bb.bin => q453-gv2-bb-e.bin} (100%) rename system/quests/{q454-gv2-bb.bin => q454-gv2-bb-e.bin} (100%) rename system/quests/{q455-gv2-bb.bin => q455-gv2-bb-e.bin} (100%) rename system/quests/{q456-gv2-bb.bin => q456-gv2-bb-e.bin} (100%) rename system/quests/{q457-gv2-bb.bin => q457-gv2-bb-e.bin} (100%) rename system/quests/{q458-gv2-bb.bin => q458-gv2-bb-e.bin} (100%) rename system/quests/{q459-gv2-bb.bin => q459-gv2-bb-e.bin} (100%) rename system/quests/{q460-gv2-bb.bin => q460-gv2-bb-e.bin} (100%) rename system/quests/{q461-gv2-bb.bin => q461-gv2-bb-e.bin} (100%) rename system/quests/{q462-gv2-bb.bin => q462-gv2-bb-e.bin} (100%) rename system/quests/{q463-gv2-bb.bin => q463-gv2-bb-e.bin} (100%) rename system/quests/{q464-gv2-bb.bin => q464-gv2-bb-e.bin} (100%) rename system/quests/{q465-gv2-bb.bin => q465-gv2-bb-e.bin} (100%) rename system/quests/{q466-gv2-bb.bin => q466-gv2-bb-e.bin} (100%) rename system/quests/{q467-gv2-bb.bin => q467-gv2-bb-e.bin} (100%) rename system/quests/{q468-gv2-bb.bin => q468-gv2-bb-e.bin} (100%) rename system/quests/{q496-evt-gc.bin => q496-evt-gc-e.bin} (100%) rename system/quests/{q701-gv4-bb.bin => q701-gv4-bb-e.bin} (100%) rename system/quests/{q702-gv4-bb.bin => q702-gv4-bb-e.bin} (100%) rename system/quests/{q703-gv4-bb.bin => q703-gv4-bb-e.bin} (100%) rename system/quests/{q704-gv4-bb.bin => q704-gv4-bb-e.bin} (100%) rename system/quests/{q705-gv4-bb.bin => q705-gv4-bb-e.bin} (100%) rename system/quests/{q706-gv4-bb.bin => q706-gv4-bb-e.bin} (100%) rename system/quests/{q707-gv4-bb.bin => q707-gv4-bb-e.bin} (100%) rename system/quests/{q708-gv4-bb.bin => q708-gv4-bb-e.bin} (100%) rename system/quests/{q709-gv4-bb.bin => q709-gv4-bb-e.bin} (100%) rename system/quests/{q811-ext-bb.bin => q811-ext-bb-e.bin} (100%) rename system/quests/{q812-ext-bb.bin => q812-ext-bb-e.bin} (100%) rename system/quests/{q813-ext-bb.bin => q813-ext-bb-e.bin} (100%) rename system/quests/{q814-ext-bb.bin => q814-ext-bb-e.bin} (100%) rename system/quests/{q815-ext-bb.bin => q815-ext-bb-e.bin} (100%) rename system/quests/{q999-shp-gc.bin => q999-shp-gc-e.bin} (100%) diff --git a/README.md b/README.md index dcec5b6f..4e09d4f1 100644 --- a/README.md +++ b/README.md @@ -107,13 +107,16 @@ To use newserv in other ways (e.g. for translating data), see the end of this do newserv automatically finds quests in the system/quests/ directory. To install your own quests, or to use quests you've saved using the proxy's "save files" option, just put them in that directory and name them appropriately. -Standard quest files should be named like `q###-CATEGORY-VERSION.EXT`, battle quests should be named like `b###-VERSION.EXT`, challenge quests should be named like `c###-VERSION.EXT` for Episode 1 or `d###-VERSION.EXT` for Episode 2, and Episode 3 download quests should be named like `e###-gc3.EXT`. The fields in each filename are: +Standard quest files should be named like `q###-CATEGORY-VERSION-LANGUAGE.EXT`, battle quests should be named like `b###-VERSION-LANGUAGE.EXT`, challenge quests should be named like `c###-VERSION-LANGUAGE.EXT` for Episode 1 or `d###-VERSION-LANGUAGE.EXT` for Episode 2, and Episode 3 download quests should be named like `e###-gc3-LANGUAGE.EXT`. The fields in each filename are: - `###`: quest number (this doesn't really matter; it should just be unique across the PSO version) - `CATEGORY`: ret = Retrieval, ext = Extermination, evt = Events, shp = Shops, vr = VR, twr = Tower, gv1/gv2/gv4 = Government (BB only), dl = Download (these don't appear during online play), 1p = Solo (BB only) - `VERSION`: dn = Dreamcast NTE, d1 = Dreamcast v1, dc = Dreamcast v2, pc = PC, gcn = GameCube Trial Edition, gc = GameCube Episodes 1 & 2, gc3 = Episode 3, xb = Xbox, bb = Blue Burst +- `LANGUAGE`: j = Japanese, e = English, g = German, f = French, s = Spanish - `EXT`: file extension (see table below) -For example, the GameCube version of Lost HEAT SWORD is in two files named `q058-ret-gc.bin` and `q058-ret-gc.dat`. newserv knows these files are quests because they're in the system/quests/ directory, it knows they're for PSO GC because the filenames contain `-gc`, and it puts them in the Retrieval category because the filenames contain `-ret`. +On .dat files, the `LANGUAGE` token may be omitted. If it's present, then that .dat file will only be used for that version of the quest; if omitted, then that .dat file will be used for all versions of the quest. + +For example, the GameCube version of Lost HEAT SWORD is in two files named `q058-ret-gc-e.bin` and `q058-ret-gc.dat`. newserv knows these files are quests because they're in the system/quests/ directory, it knows they're for PSO GC because the filenames contain `-gc`, it knows this is the English version of the quest because the .bin filename ends with `-e` (even though the .dat filename does not), and it puts them in the Retrieval category because the filenames contain `-ret`. The type identifiers (`b`, `c`, `d`, `e`, or `q`) and categories are configurable. See QuestCategories in config.example.json for more information on how to make new categories or edit the existing categories. diff --git a/TODO.md b/TODO.md index 79599a44..135386c1 100644 --- a/TODO.md +++ b/TODO.md @@ -14,6 +14,7 @@ - Make reloading happen on separate threads so compression doesn't block active clients - Implement decrypt/encrypt actions for VMS files - Fix Word Select mapping across versions +- Make UI strings localizable (e.g. entries in menus, welcome message, etc.) ## Episode 3 diff --git a/src/ChatCommands.hh b/src/ChatCommands.hh index c79172bb..8b1f9504 100644 --- a/src/ChatCommands.hh +++ b/src/ChatCommands.hh @@ -11,4 +11,4 @@ #include "ServerState.hh" void on_chat_command(std::shared_ptr c, const std::u16string& text); -void on_chat_command(shared_ptr ses, const std::u16string& text); +void on_chat_command(std::shared_ptr ses, const std::u16string& text); diff --git a/src/Client.hh b/src/Client.hh index 1c7faf13..09fc5127 100644 --- a/src/Client.hh +++ b/src/Client.hh @@ -182,7 +182,7 @@ struct Client : public std::enable_shared_from_this { std::unordered_map> sending_files; Client( - shared_ptr server, + std::shared_ptr server, struct bufferevent* bev, GameVersion version, ServerBehavior server_behavior); @@ -190,6 +190,9 @@ struct Client : public std::enable_shared_from_this { void reschedule_ping_and_timeout_events(); + inline uint8_t language() const { + return this->game_data.player()->inventory.language; + } inline GameVersion version() const { return this->channel.version; } diff --git a/src/CommonItemSet.cc b/src/CommonItemSet.cc index 5b0b0f98..a9904376 100644 --- a/src/CommonItemSet.cc +++ b/src/CommonItemSet.cc @@ -2,6 +2,8 @@ #include "StaticGameData.hh" +using namespace std; + CommonItemSet::CommonItemSet(shared_ptr data) : gsl(data, true) {} diff --git a/src/CommonItemSet.hh b/src/CommonItemSet.hh index bdd81d74..adf3c9a0 100644 --- a/src/CommonItemSet.hh +++ b/src/CommonItemSet.hh @@ -18,14 +18,14 @@ struct ProbabilityTable { void push(ItemT item) { if (this->count == MaxCount) { - throw runtime_error("push to full probability table"); + throw std::runtime_error("push to full probability table"); } this->items[this->count++] = item; } ItemT pop() { if (this->count == 0) { - throw runtime_error("pop from empty probability table"); + throw std::runtime_error("pop from empty probability table"); } return this->items[--this->count]; } @@ -41,7 +41,7 @@ struct ProbabilityTable { ItemT sample(PSOLFGEncryption& random_crypt) const { if (this->count == 0) { - throw runtime_error("pop from empty probability table"); + throw std::runtime_error("pop from empty probability table"); } else if (this->count == 1) { return this->items[0]; } else { @@ -303,7 +303,7 @@ public: using WeightTableEntry32 = WeightTableEntry; protected: - std::shared_ptr data; + std::shared_ptr data; StringReader r; struct TableSpec { @@ -320,7 +320,7 @@ protected: const T* entries = &r.pget( spec.offset + index * spec.entries_per_table * sizeof(T), spec.entries_per_table * sizeof(T)); - return make_pair(entries, spec.entries_per_table); + return std::make_pair(entries, spec.entries_per_table); } }; @@ -418,7 +418,7 @@ private: uint8_t section_id) const; int8_t get_luck(uint32_t start_offset, uint8_t delta_index) const; - std::shared_ptr data; + std::shared_ptr data; StringReader r; struct DeltaProbabilityEntry { diff --git a/src/Episode3/DataIndexes.cc b/src/Episode3/DataIndexes.cc index daa942f0..4c707cd4 100644 --- a/src/Episode3/DataIndexes.cc +++ b/src/Episode3/DataIndexes.cc @@ -1536,6 +1536,91 @@ void StateFlags::clear_FF() { this->client_sc_card_types.clear(CardType::INVALID_FF); } +void MapDefinition::assert_semantically_equivalent(const MapDefinition& other) const { + if (this->map_number != other.map_number) { + throw runtime_error("map number not equal"); + } + if (this->width != other.width) { + throw runtime_error("width not equal"); + } + if (this->height != other.height) { + throw runtime_error("width not equal"); + } + if (this->environment_number != other.environment_number) { + throw runtime_error("environment number not equal"); + } + if (this->map_tiles != other.map_tiles) { + throw runtime_error("tiles not equal"); + } + if (this->start_tile_definitions != other.start_tile_definitions) { + throw runtime_error("start tile definitions not equal"); + } + if (this->modification_tiles != other.modification_tiles) { + throw runtime_error("modification tiles not equal"); + } + if (this->unknown_a5 != other.unknown_a5) { + throw runtime_error("unknown_a5 not equal"); + } + if (this->default_rules != other.default_rules) { + throw runtime_error("default rules not equal"); + } + for (size_t z = 0; z < this->npc_decks.size(); z++) { + if (this->npc_decks[z].card_ids != other.npc_decks[z].card_ids) { + throw runtime_error("npc deck card IDs not equal"); + } + const auto& this_ai_params = this->npc_ai_params[z]; + const auto& other_ai_params = other.npc_ai_params[z]; + if (this_ai_params.unknown_a1 != other_ai_params.unknown_a1) { + throw runtime_error("npc AI params unknown_a1 not equal"); + } + if (this_ai_params.is_arkz != other_ai_params.is_arkz) { + throw runtime_error("npc AI params is_arkz not equal"); + } + if (this_ai_params.unknown_a2 != other_ai_params.unknown_a2) { + throw runtime_error("npc AI params unknown_a2 not equal"); + } + if (this_ai_params.params != other_ai_params.params) { + throw runtime_error("npc AI params not equal"); + } + } + if (this->unknown_a7 != other.unknown_a7) { + throw runtime_error("unknown_a7 not equal"); + } + if (this->npc_ai_params_entry_index != other.npc_ai_params_entry_index) { + throw runtime_error("npc AI params entry indexes not equal"); + } + if (this->reward_card_ids != other.reward_card_ids) { + throw runtime_error("reward card IDs not equal"); + } + if (this->win_level_override != other.win_level_override) { + throw runtime_error("win level override not equal"); + } + if (this->loss_level_override != other.loss_level_override) { + throw runtime_error("loss level override not equal"); + } + if (this->field_offset_x != other.field_offset_x) { + throw runtime_error("field x offset not equal"); + } + if (this->field_offset_y != other.field_offset_y) { + throw runtime_error("field y offset not equal"); + } + if (this->map_category != other.map_category) { + throw runtime_error("map category not equal"); + } + if (this->cyber_block_type != other.cyber_block_type) { + throw runtime_error("cyber block type not equal"); + } + if (this->unknown_a11 != other.unknown_a11) { + throw runtime_error("unknown_a11 not equal"); + } + if (this->unavailable_sc_cards != other.unavailable_sc_cards) { + throw runtime_error("unavailable SC cards not equal"); + } + if (this->entry_states != other.entry_states) { + throw runtime_error("entry states not equal"); + } +} + string MapDefinition::CameraSpec::str() const { return string_printf( "CameraSpec[a1=(%g %g %g %g %g %g %g %g %g) camera=(%g %g %g) focus=(%g %g %g) a2=(%g %g %g)]", @@ -2294,31 +2379,157 @@ string CardIndex::normalize_card_name(const string& name) { return ret; } +MapIndex::VersionedMap::VersionedMap(shared_ptr map, uint8_t language) + : map(map), + language(language) {} + +MapIndex::VersionedMap::VersionedMap(std::string&& compressed_data, uint8_t language) + : language(language), + compressed_data(std::move(compressed_data)) { + string decompressed = prs_decompress(this->compressed_data); + if (decompressed.size() != sizeof(MapDefinition)) { + throw runtime_error(string_printf( + "decompressed data size is incorrect (expected %zu bytes, read %zu bytes)", + sizeof(MapDefinition), decompressed.size())); + } + this->map.reset(new MapDefinition(*reinterpret_cast(decompressed.data()))); +} + +shared_ptr MapIndex::VersionedMap::trial() const { + if (!this->trial_map) { + this->trial_map.reset(new MapDefinitionTrial(*this->map)); + } + return this->trial_map; +} + +const std::string& MapIndex::VersionedMap::compressed(bool is_trial) const { + if (is_trial) { + if (this->compressed_trial_data.empty()) { + auto md = this->trial(); + this->compressed_trial_data = prs_compress(md.get(), sizeof(*md)); + } + return this->compressed_trial_data; + } else { + if (this->compressed_data.empty()) { + this->compressed_data = prs_compress(this->map.get(), sizeof(*this->map)); + } + return this->compressed_data; + } +} + +MapIndex::Map::Map(shared_ptr initial_version) + : map_number(initial_version->map->map_number), + initial_version(initial_version) { + this->versions.resize(this->initial_version->language + 1); + this->versions[this->initial_version->language] = initial_version; +} + +void MapIndex::Map::add_version(std::shared_ptr vm) { + if (this->versions.size() <= vm->language) { + this->versions.resize(vm->language + 1); + } + if (this->versions[vm->language]) { + throw runtime_error("map version already exists"); + } + this->initial_version->map->assert_semantically_equivalent(*vm->map); + this->versions[vm->language] = vm; +} + +bool MapIndex::Map::has_version(uint8_t language) const { + return (this->versions.size() > language) && !!this->versions[language]; +} + +shared_ptr MapIndex::Map::version(uint8_t language) const { + // If the requested language exists, return it + if ((language < this->versions.size()) && this->versions[language]) { + return this->versions[language]; + } + // If English exists, return it + if ((1 < this->versions.size()) && this->versions[1]) { + return this->versions[1]; + } + // Return the first version that exists + for (const auto& vm : this->versions) { + if (vm) { + return vm; + } + } + // This should never happen because Map cannot be constructed without an + // initial_version + throw logic_error("no map versions exist"); +} + MapIndex::MapIndex(const string& directory) { - for (const auto& filename : list_directory(directory)) { + for (const auto& filename : list_directory_sorted(directory)) { try { - shared_ptr entry; - + string base_filename; + string compressed_data; + shared_ptr decompressed_data; if (ends_with(filename, ".mnmd") || ends_with(filename, ".bind")) { - entry.reset(new MapEntry(load_object_file(directory + "/" + filename))); + decompressed_data.reset(new MapDefinition(load_object_file(directory + "/" + filename))); + base_filename = filename.substr(0, filename.size() - 5); } else if (ends_with(filename, ".mnm") || ends_with(filename, ".bin")) { - entry.reset(new MapEntry(load_file(directory + "/" + filename))); + compressed_data = load_file(directory + "/" + filename); + base_filename = filename.substr(0, filename.size() - 4); + } else if (ends_with(filename, ".bin.gci") || ends_with(filename, ".mnm.gci")) { + compressed_data = decode_gci_data(load_file(directory + "/" + filename)); + base_filename = filename.substr(0, filename.size() - 8); } else if (ends_with(filename, ".gci")) { - entry.reset(new MapEntry(decode_gci_file(directory + "/" + filename))); + compressed_data = decode_gci_data(load_file(directory + "/" + filename)); + base_filename = filename.substr(0, filename.size() - 4); + } else if (ends_with(filename, ".bin.vms") || ends_with(filename, ".mnm.vms")) { + compressed_data = decode_vms_data(load_file(directory + "/" + filename)); + base_filename = filename.substr(0, filename.size() - 8); + } else if (ends_with(filename, ".vms")) { + compressed_data = decode_vms_data(load_file(directory + "/" + filename)); + base_filename = filename.substr(0, filename.size() - 4); + } else if (ends_with(filename, ".bin.dlq") || ends_with(filename, ".mnm.dlq")) { + compressed_data = decode_dlq_data(load_file(directory + "/" + filename)); + base_filename = filename.substr(0, filename.size() - 8); } else if (ends_with(filename, ".dlq")) { - entry.reset(new MapEntry(decode_dlq_file(directory + "/" + filename))); + compressed_data = decode_dlq_data(load_file(directory + "/" + filename)); + base_filename = filename.substr(0, filename.size() - 4); + } else { + continue; // Silently skip file } - if (entry.get()) { - if (!this->maps.emplace(entry->map.map_number, entry).second) { - throw runtime_error("duplicate map number"); - } - this->maps_by_name.emplace(entry->map.name, entry); - string name = entry->map.name; - static_game_data_log.info("Indexed Episode 3 %s %s (%08" PRIX32 "; %s)", - entry->map.is_quest() ? "online quest" : "free battle map", - filename.c_str(), entry->map.map_number.load(), name.c_str()); + if (base_filename.size() < 2) { + throw runtime_error("filename too short for language code"); } + if (base_filename[base_filename.size() - 2] != '-') { + throw runtime_error("language code not present"); + } + uint8_t language = language_code_for_char(base_filename[base_filename.size() - 1]); + + shared_ptr vm; + if (decompressed_data) { + vm.reset(new VersionedMap(decompressed_data, language)); + } else if (!compressed_data.empty()) { + vm.reset(new VersionedMap(std::move(compressed_data), language)); + } else { + throw runtime_error("unknown map file format"); + } + + string name = format_data_string(vm->map->name); + auto map_it = this->maps.find(vm->map->map_number); + if (map_it == this->maps.end()) { + map_it = this->maps.emplace(vm->map->map_number, new Map(vm)).first; + static_game_data_log.info("(%s) Created Episode 3 map %08" PRIX32 " %c (%s; %s)", + filename.c_str(), + vm->map->map_number.load(), + char_for_language_code(vm->language), + vm->map->is_quest() ? "quest" : "free", + name.c_str()); + } else { + map_it->second->add_version(vm); + static_game_data_log.info("(%s) Added Episode 3 map version %08" PRIX32 " %c (%s; %s)", + filename.c_str(), + vm->map->map_number.load(), + char_for_language_code(vm->language), + vm->map->is_quest() ? "quest" : "free", + name.c_str()); + } + this->maps_by_name.emplace(vm->map->name, map_it->second); } catch (const exception& e) { static_game_data_log.warning("Failed to index Episode 3 map %s: %s", @@ -2327,51 +2538,28 @@ MapIndex::MapIndex(const string& directory) { } } -MapIndex::MapEntry::MapEntry(const MapDefinition& map) : map(map) {} - -MapIndex::MapEntry::MapEntry(const string& compressed) - : compressed_data(compressed) { - string decompressed = prs_decompress(this->compressed_data); - if (decompressed.size() != sizeof(MapDefinition)) { - throw runtime_error(string_printf( - "decompressed data size is incorrect (expected %zu bytes, read %zu bytes)", - sizeof(MapDefinition), decompressed.size())); - } - this->map = *reinterpret_cast(decompressed.data()); -} - -const string& MapIndex::MapEntry::compressed(bool is_trial) const { - if (is_trial) { - if (this->compressed_trial_data.empty()) { - MapDefinitionTrial mdt(this->map); - this->compressed_trial_data = prs_compress(&mdt, sizeof(mdt)); - } - return this->compressed_trial_data; - } else { - if (this->compressed_data.empty()) { - this->compressed_data = prs_compress(&this->map, sizeof(this->map)); - } - return this->compressed_data; - } -} - -const string& MapIndex::get_compressed_list(size_t num_players) const { +const string& MapIndex::get_compressed_list(size_t num_players, uint8_t language) const { if (num_players == 0) { throw runtime_error("cannot generate map list for no players"); } if (num_players > 4) { throw logic_error("player count is too high in map list generation"); } - string& compressed_map_list = this->compressed_map_lists.at(num_players - 1); + + if (language >= this->compressed_map_lists.size()) { + this->compressed_map_lists.resize(language + 1); + } + string& compressed_map_list = this->compressed_map_lists[language].at(num_players - 1); if (compressed_map_list.empty()) { StringWriter entries_w; StringWriter strings_w; size_t num_maps = 0; for (const auto& map_it : this->maps) { + auto vm = map_it.second->version(language); size_t map_num_players = 0; for (size_t z = 0; z < 4; z++) { - uint8_t player_type = map_it.second->map.entry_states[z].player_type; + uint8_t player_type = vm->map->entry_states[z].player_type; if (player_type == 0x00 || player_type == 0x01 || player_type == 0xFF) { map_num_players++; } @@ -2381,29 +2569,28 @@ const string& MapIndex::get_compressed_list(size_t num_players) const { } MapList::Entry e; - const auto& map = map_it.second->map; - e.map_x = map.map_x; - e.map_y = map.map_y; - e.environment_number = map.environment_number; - e.map_number = map.map_number.load(); - e.width = map.width; - e.height = map.height; - e.map_tiles = map.map_tiles; - e.modification_tiles = map.modification_tiles; + e.map_x = vm->map->map_x; + e.map_y = vm->map->map_y; + e.environment_number = vm->map->environment_number; + e.map_number = vm->map->map_number.load(); + e.width = vm->map->width; + e.height = vm->map->height; + e.map_tiles = vm->map->map_tiles; + e.modification_tiles = vm->map->modification_tiles; e.name_offset = strings_w.size(); - strings_w.write(map.name.data(), map.name.len()); + strings_w.write(vm->map->name.data(), vm->map->name.len()); strings_w.put_u8(0); e.location_name_offset = strings_w.size(); - strings_w.write(map.location_name.data(), map.location_name.len()); + strings_w.write(vm->map->location_name.data(), vm->map->location_name.len()); strings_w.put_u8(0); e.quest_name_offset = strings_w.size(); - strings_w.write(map.quest_name.data(), map.quest_name.len()); + strings_w.write(vm->map->quest_name.data(), vm->map->quest_name.len()); strings_w.put_u8(0); e.description_offset = strings_w.size(); - strings_w.write(map.description.data(), map.description.len()); + strings_w.write(vm->map->description.data(), vm->map->description.len()); strings_w.put_u8(0); - e.map_category = map_it.second->map.map_category; + e.map_category = vm->map->map_category; entries_w.put(e); num_maps++; @@ -2434,11 +2621,11 @@ const string& MapIndex::get_compressed_list(size_t num_players) const { return compressed_map_list; } -shared_ptr MapIndex::definition_for_number(uint32_t id) const { +shared_ptr MapIndex::for_number(uint32_t id) const { return this->maps.at(id); } -shared_ptr MapIndex::definition_for_name(const string& name) const { +shared_ptr MapIndex::for_name(const string& name) const { return this->maps_by_name.at(name); } diff --git a/src/Episode3/DataIndexes.hh b/src/Episode3/DataIndexes.hh index e2791c3e..9ab203c9 100644 --- a/src/Episode3/DataIndexes.hh +++ b/src/Episode3/DataIndexes.hh @@ -902,8 +902,8 @@ struct Rules { Rules() = default; explicit Rules(const JSON& json); JSON json() const; - bool operator==(const Rules& other) const; - bool operator!=(const Rules& other) const; + bool operator==(const Rules& other) const = default; + bool operator!=(const Rules& other) const = default; void clear(); void set_defaults(); @@ -1284,6 +1284,9 @@ struct MapDefinition { // .mnmd format; also the format of (decompressed) quests // 01 = DARK ONLY // FF = any deck allowed uint8_t deck_type; + + bool operator==(const EntryState& other) const = default; + bool operator!=(const EntryState& other) const = default; } __attribute__((packed)); /* 5A10 */ parray entry_states; /* 5A18 */ @@ -1292,6 +1295,12 @@ struct MapDefinition { // .mnmd format; also the format of (decompressed) quests return (this->map_category <= 2); } + // This function throws runtime_error if the passed-in map is not semantically + // equivalent to *this. Semantic equivalence means all fields that affect + // gameplay and visuals are equivalent, but dialogue, names, and description + // text may differ. + void assert_semantically_equivalent(const MapDefinition& other) const; + std::string str(const CardIndex* card_index = nullptr) const; } __attribute__((packed)); @@ -1390,30 +1399,51 @@ class MapIndex { public: MapIndex(const std::string& directory); - class MapEntry { + class VersionedMap { public: - MapDefinition map; + std::shared_ptr map; + uint8_t language; - explicit MapEntry(const MapDefinition& map); - explicit MapEntry(const std::string& compressed_data); + VersionedMap(std::shared_ptr map, uint8_t language); + VersionedMap(std::string&& compressed_data, uint8_t language); + std::shared_ptr trial() const; const std::string& compressed(bool is_trial) const; private: + mutable std::shared_ptr trial_map; mutable std::string compressed_data; mutable std::string compressed_trial_data; }; - const std::string& get_compressed_list(size_t num_players) const; - std::shared_ptr definition_for_number(uint32_t id) const; - std::shared_ptr definition_for_name(const std::string& name) const; + class Map { + public: + uint32_t map_number; + std::shared_ptr initial_version; + + explicit Map(std::shared_ptr initial_version); + + void add_version(std::shared_ptr vm); + bool has_version(uint8_t language) const; + std::shared_ptr version(uint8_t language) const; + inline const std::vector>& all_versions() const { + return this->versions; + } + + private: + std::vector> versions; + }; + + const std::string& get_compressed_list(size_t num_players, uint8_t language) const; + std::shared_ptr for_number(uint32_t id) const; + std::shared_ptr for_name(const std::string& name) const; std::set all_numbers() const; private: // The compressed map lists are generated on demand from the maps map below - mutable std::array compressed_map_lists; - std::map> maps; - std::unordered_map> maps_by_name; + mutable std::vector> compressed_map_lists; + std::map> maps; + std::unordered_map> maps_by_name; }; class COMDeckIndex { diff --git a/src/Episode3/Server.cc b/src/Episode3/Server.cc index 3d761e41..e12d3553 100644 --- a/src/Episode3/Server.cc +++ b/src/Episode3/Server.cc @@ -236,24 +236,26 @@ void Server::send_6xB4x46() const { this->options.random_crypt->seed(), this->options.random_crypt->absolute_offset()); if (this->last_chosen_map) { - date_str2 += string_printf(" Map:%08" PRIX32, this->last_chosen_map->map.map_number.load()); + date_str2 += string_printf(" Map:%08" PRIX32, this->last_chosen_map->map_number); } cmd46.date_str2 = date_str2; this->send(cmd46); } string Server::prepare_6xB6x41_map_definition( - shared_ptr map, bool is_trial) { - const auto& compressed = map->compressed(is_trial); + shared_ptr map, uint8_t language, bool is_trial) { + auto vm = map->version(language); + + const auto& compressed = vm->compressed(is_trial); StringWriter w; uint32_t subcommand_size = (compressed.size() + sizeof(G_MapData_GC_Ep3_6xB6x41) + 3) & (~3); - w.put({{{{0xB6, 0, 0}, subcommand_size}, 0x41, {}}, map->map.map_number.load(), compressed.size(), 0}); + w.put({{{{0xB6, 0, 0}, subcommand_size}, 0x41, {}}, vm->map->map_number.load(), compressed.size(), 0}); w.write(compressed); return std::move(w.str()); } -void Server::send_commands_for_joining_spectator(Channel& c, bool is_trial) const { +void Server::send_commands_for_joining_spectator(Channel& c, uint8_t language, bool is_trial) const { bool should_send_state = true; if (this->setup_phase == SetupPhase::REGISTRATION) { // If registration is still in progress, we only need to send the map data @@ -265,7 +267,8 @@ void Server::send_commands_for_joining_spectator(Channel& c, bool is_trial) cons } if (this->last_chosen_map) { - string data = this->prepare_6xB6x41_map_definition(this->last_chosen_map, is_trial); + string data = this->prepare_6xB6x41_map_definition(this->last_chosen_map, language, is_trial); + this->log().info("Sending %c version of map %08" PRIX32, char_for_language_code(language), this->last_chosen_map->map_number); c.send(0x6C, 0x00, data); } @@ -1631,7 +1634,7 @@ const unordered_map Server::subcommand_handlers({ {0x49, &Server::handle_CAx49_card_counts}, }); -void Server::on_server_data_input(const string& data) { +void Server::on_server_data_input(shared_ptr sender_c, const string& data) { auto header = check_size_t(data, 0xFFFF); if (header.size * 4 < data.size()) { throw runtime_error("command is incomplete"); @@ -1650,10 +1653,10 @@ void Server::on_server_data_input(const string& data) { string unmasked_data = data; set_mask_for_ep3_game_command(unmasked_data.data(), unmasked_data.size(), 0); - (this->*handler)(unmasked_data); + (this->*handler)(sender_c, unmasked_data); } -void Server::handle_CAx0B_mulligan_hand(const string& data) { +void Server::handle_CAx0B_mulligan_hand(shared_ptr, const string& data) { const auto& in_cmd = check_size_t(data); this->send_debug_command_received_message( in_cmd.client_id, in_cmd.header.subsubcommand, "REDRAW"); @@ -1684,7 +1687,7 @@ void Server::handle_CAx0B_mulligan_hand(const string& data) { this->send_debug_message_if_error_code_nonzero(in_cmd.client_id, out_cmd.error_code); } -void Server::handle_CAx0C_end_mulligan_phase(const string& data) { +void Server::handle_CAx0C_end_mulligan_phase(shared_ptr, const string& data) { const auto& in_cmd = check_size_t(data); this->send_debug_command_received_message( in_cmd.client_id, in_cmd.header.subsubcommand, "SETUP ADV 2"); @@ -1739,7 +1742,7 @@ void Server::handle_CAx0C_end_mulligan_phase(const string& data) { this->send_debug_message_if_error_code_nonzero(in_cmd.client_id, out_cmd_fin.error_code); } -void Server::handle_CAx0D_end_non_action_phase(const string& data) { +void Server::handle_CAx0D_end_non_action_phase(shared_ptr, const string& data) { const auto& in_cmd = check_size_t(data); this->send_debug_command_received_message( in_cmd.client_id, in_cmd.header.subsubcommand, "END PHASE"); @@ -1760,7 +1763,7 @@ void Server::handle_CAx0D_end_non_action_phase(const string& data) { this->send(out_cmd_fin); } -void Server::handle_CAx0E_discard_card_from_hand(const string& data) { +void Server::handle_CAx0E_discard_card_from_hand(shared_ptr, const string& data) { const auto& in_cmd = check_size_t(data); this->send_debug_command_received_message( in_cmd.client_id, in_cmd.header.subsubcommand, "DISCARD"); @@ -1799,7 +1802,7 @@ void Server::handle_CAx0E_discard_card_from_hand(const string& data) { this->send_debug_message_if_error_code_nonzero(in_cmd.client_id, out_cmd.error_code); } -void Server::handle_CAx0F_set_card_from_hand(const string& data) { +void Server::handle_CAx0F_set_card_from_hand(shared_ptr, const string& data) { const auto& in_cmd = check_size_t(data); this->send_debug_command_received_message( in_cmd.client_id, in_cmd.header.subsubcommand, "SET FC"); @@ -1841,7 +1844,7 @@ void Server::handle_CAx0F_set_card_from_hand(const string& data) { this->send_debug_message_if_error_code_nonzero(in_cmd.client_id, out_cmd.error_code); } -void Server::handle_CAx10_move_fc_to_location(const string& data) { +void Server::handle_CAx10_move_fc_to_location(shared_ptr, const string& data) { const auto& in_cmd = check_size_t(data); this->send_debug_command_received_message( in_cmd.client_id, in_cmd.header.subsubcommand, "MOVE"); @@ -1879,7 +1882,7 @@ void Server::handle_CAx10_move_fc_to_location(const string& data) { this->send_debug_message_if_error_code_nonzero(in_cmd.client_id, out_cmd.error_code); } -void Server::handle_CAx11_enqueue_attack_or_defense(const string& data) { +void Server::handle_CAx11_enqueue_attack_or_defense(shared_ptr, const string& data) { const auto& in_cmd = check_size_t(data); this->send_debug_command_received_message( in_cmd.client_id, in_cmd.header.subsubcommand, "ENQUEUE ACT"); @@ -1915,7 +1918,7 @@ void Server::handle_CAx11_enqueue_attack_or_defense(const string& data) { this->send_debug_message_if_error_code_nonzero(in_cmd.client_id, out_cmd.error_code); } -void Server::handle_CAx12_end_attack_list(const string& data) { +void Server::handle_CAx12_end_attack_list(shared_ptr, const string& data) { const auto& in_cmd = check_size_t(data); this->send_debug_command_received_message( in_cmd.client_id, in_cmd.header.subsubcommand, "END ATK LIST"); @@ -1938,7 +1941,7 @@ void Server::handle_CAx12_end_attack_list(const string& data) { this->send_debug_message_if_error_code_nonzero(in_cmd.client_id, error_code); } -void Server::handle_CAx13_update_map_during_setup(const string& data) { +void Server::handle_CAx13_update_map_during_setup(shared_ptr, const string& data) { const auto& in_cmd = check_size_t(data); this->send_debug_command_received_message( in_cmd.header.subsubcommand, "UPDATE MAP"); @@ -1980,7 +1983,7 @@ void Server::handle_CAx13_update_map_during_setup(const string& data) { } } -void Server::handle_CAx14_update_deck_during_setup(const string& data) { +void Server::handle_CAx14_update_deck_during_setup(shared_ptr, const string& data) { const auto& in_cmd = check_size_t(data); this->send_debug_command_received_message( in_cmd.client_id, in_cmd.header.subsubcommand, "UPDATE DECK"); @@ -2027,7 +2030,7 @@ void Server::handle_CAx14_update_deck_during_setup(const string& data) { } } -void Server::handle_CAx15_unused_hard_reset_server_state(const string& data) { +void Server::handle_CAx15_unused_hard_reset_server_state(shared_ptr, const string& data) { const auto& in_cmd = check_size_t(data); this->send_debug_command_received_message( in_cmd.header.subsubcommand, "HARD RESET"); @@ -2045,7 +2048,7 @@ void Server::handle_CAx15_unused_hard_reset_server_state(const string& data) { throw runtime_error("hard reset command received"); } -void Server::handle_CAx1B_update_player_name(const string& data) { +void Server::handle_CAx1B_update_player_name(shared_ptr, const string& data) { const auto& in_cmd = check_size_t(data); this->send_debug_command_received_message( in_cmd.entry.client_id, in_cmd.header.subsubcommand, "UPDATE NAME"); @@ -2077,7 +2080,7 @@ void Server::handle_CAx1B_update_player_name(const string& data) { this->send(out_cmd); } -void Server::handle_CAx1D_start_battle(const string& data) { +void Server::handle_CAx1D_start_battle(shared_ptr, const string& data) { const auto& in_cmd = check_size_t(data); this->send_debug_command_received_message( in_cmd.header.subsubcommand, "START BATTLE"); @@ -2116,7 +2119,7 @@ void Server::handle_CAx1D_start_battle(const string& data) { } } -void Server::handle_CAx21_end_battle(const string& data) { +void Server::handle_CAx21_end_battle(shared_ptr, const string& data) { const auto& in_cmd = check_size_t(data); this->send_debug_command_received_message( in_cmd.header.subsubcommand, "END BATTLE"); @@ -2131,7 +2134,7 @@ void Server::handle_CAx21_end_battle(const string& data) { } } -void Server::handle_CAx28_end_defense_list(const string& data) { +void Server::handle_CAx28_end_defense_list(shared_ptr, const string& data) { const auto& in_cmd = check_size_t(data); this->send_debug_command_received_message( in_cmd.client_id, in_cmd.header.subsubcommand, "END DEF LIST"); @@ -2184,13 +2187,13 @@ void Server::handle_CAx28_end_defense_list(const string& data) { this->send(out_cmd_fin); } -void Server::handle_CAx2B_legacy_set_card(const string& data) { +void Server::handle_CAx2B_legacy_set_card(shared_ptr, const string& data) { const auto& in_cmd = check_size_t(data); this->send_debug_command_received_message(in_cmd.header.subsubcommand, "EXEC LEGACY"); // Sega's original implementation does nothing here, so we do nothing as well. } -void Server::handle_CAx34_subtract_ally_atk_points(const string& data) { +void Server::handle_CAx34_subtract_ally_atk_points(shared_ptr, const string& data) { const auto& in_cmd = check_size_t(data); uint8_t card_ref_client_id = client_id_for_card_ref(in_cmd.card_ref); @@ -2267,7 +2270,7 @@ void Server::handle_CAx34_subtract_ally_atk_points(const string& data) { } } -void Server::handle_CAx37_client_ready_to_advance_from_starter_roll_phase(const string& data) { +void Server::handle_CAx37_client_ready_to_advance_from_starter_roll_phase(shared_ptr, const string& data) { const auto& in_cmd = check_size_t(data); this->send_debug_command_received_message( in_cmd.client_id, in_cmd.header.subsubcommand, "SETUP ADV 1"); @@ -2297,14 +2300,14 @@ void Server::handle_CAx37_client_ready_to_advance_from_starter_roll_phase(const } } -void Server::handle_CAx3A_time_limit_expired(const string& data) { +void Server::handle_CAx3A_time_limit_expired(shared_ptr, const string& data) { const auto& in_cmd = check_size_t(data); this->send_debug_command_received_message(in_cmd.header.subsubcommand, "TIME EXPIRED"); // We don't need to do anything here because the overall time limit is tracked // server-side instead. } -void Server::handle_CAx40_map_list_request(const string& data) { +void Server::handle_CAx40_map_list_request(shared_ptr sender_c, const string& data) { const auto& in_cmd = check_size_t(data); this->send_debug_command_received_message( in_cmd.header.subsubcommand, "MAP LIST"); @@ -2314,7 +2317,8 @@ void Server::handle_CAx40_map_list_request(const string& data) { throw runtime_error("lobby is deleted"); } - const auto& list_data = this->options.map_index->get_compressed_list(l->count_clients()); + const auto& list_data = this->options.map_index->get_compressed_list( + l->count_clients(), sender_c->language()); StringWriter w; uint32_t subcommand_size = (list_data.size() + sizeof(G_MapList_GC_Ep3_6xB6x40) + 3) & (~3); @@ -2332,30 +2336,61 @@ void Server::handle_CAx40_map_list_request(const string& data) { } } -void Server::handle_CAx41_map_request(const string& data) { - const auto& cmd = check_size_t(data); - this->send_debug_command_received_message( - cmd.header.subsubcommand, "MAP DATA"); - +void Server::send_6xB6x41_to_all_clients() const { auto l = this->lobby.lock(); if (!l) { throw runtime_error("lobby is deleted"); } - this->last_chosen_map = this->options.map_index->definition_for_number(cmd.map_number); - auto out_cmd = this->prepare_6xB6x41_map_definition(this->last_chosen_map, l->flags & Lobby::Flag::IS_EP3_TRIAL); - send_command(l, 0x6C, 0x00, out_cmd); + vector map_commands_by_language; + auto send_to_client = [&](shared_ptr c) -> void { + if (!c) { + return; + } + uint8_t language = c->language(); + if (map_commands_by_language.size() <= language) { + map_commands_by_language.resize(language + 1); + } + if (map_commands_by_language[language].empty()) { + map_commands_by_language[language] = this->prepare_6xB6x41_map_definition( + this->last_chosen_map, language, l->flags & Lobby::Flag::IS_EP3_TRIAL); + } + this->log().info("Sending %c version of map %08" PRIX32, char_for_language_code(language), this->last_chosen_map->map_number); + send_command(c, 0x6C, 0x00, map_commands_by_language[language]); + }; + for (const auto& c : l->clients) { + send_to_client(c); + } for (auto watcher_l : l->watcher_lobbies) { - send_command_if_not_loading(watcher_l, 0x6C, 0x00, out_cmd); + for (const auto& c : watcher_l->clients) { + send_to_client(c); + } } if (l->battle_record && l->battle_record->writable()) { - l->battle_record->add_command( - BattleRecord::Event::Type::BATTLE_COMMAND, std::move(out_cmd)); + // TODO: It's not great that we just pick the first one; ideally we'd put + // all of them in the recording and send the appropriate one to the client + // in the playback lobby + for (string& data : map_commands_by_language) { + if (!data.empty()) { + l->battle_record->add_command( + BattleRecord::Event::Type::BATTLE_COMMAND, std::move(data)); + break; + } + } } } -void Server::handle_CAx48_end_turn(const string& data) { +void Server::handle_CAx41_map_request(shared_ptr, const string& data) { + const auto& cmd = check_size_t(data); + this->send_debug_command_received_message( + cmd.header.subsubcommand, "MAP DATA"); + + this->last_chosen_map = this->options.map_index->for_number(cmd.map_number); + this->send_6xB6x41_to_all_clients(); +} + +void Server::handle_CAx48_end_turn(shared_ptr, const string& data) { const auto& in_cmd = check_size_t(data); this->send_debug_command_received_message( in_cmd.client_id, in_cmd.header.subsubcommand, "END TURN"); @@ -2373,7 +2408,7 @@ void Server::handle_CAx48_end_turn(const string& data) { this->send(out_cmd); } -void Server::handle_CAx49_card_counts(const string& data) { +void Server::handle_CAx49_card_counts(shared_ptr, const string& data) { const auto& in_cmd = check_size_t(data); this->send_debug_command_received_message( in_cmd.header.sender_client_id, in_cmd.header.subsubcommand, "CARD COUNTS"); diff --git a/src/Episode3/Server.hh b/src/Episode3/Server.hh index 865669c1..5b935f41 100644 --- a/src/Episode3/Server.hh +++ b/src/Episode3/Server.hh @@ -111,7 +111,7 @@ public: this->send(&cmd, cmd.header.size * 4); } void send(const void* data, size_t size) const; - void send_commands_for_joining_spectator(Channel& ch, bool is_trial) const; + void send_commands_for_joining_spectator(Channel& ch, uint8_t language, bool is_trial) const; void force_battle_result(uint8_t surrendered_client_id, bool set_winner); void force_destroy_field_character(uint8_t client_id, size_t set_index); @@ -181,30 +181,30 @@ public: void update_battle_state_flags_and_send_6xB4x03_if_needed( bool always_send = false); bool update_registration_phase(); - void on_server_data_input(const std::string& data); - void handle_CAx0B_mulligan_hand(const std::string& data); - void handle_CAx0C_end_mulligan_phase(const std::string& data); - void handle_CAx0D_end_non_action_phase(const std::string& data); - void handle_CAx0E_discard_card_from_hand(const std::string& data); - void handle_CAx0F_set_card_from_hand(const std::string& data); - void handle_CAx10_move_fc_to_location(const std::string& data); - void handle_CAx11_enqueue_attack_or_defense(const std::string& data); - void handle_CAx12_end_attack_list(const std::string& data); - void handle_CAx13_update_map_during_setup(const std::string& data); - void handle_CAx14_update_deck_during_setup(const std::string& data); - void handle_CAx15_unused_hard_reset_server_state(const std::string& data); - void handle_CAx1B_update_player_name(const std::string& data); - void handle_CAx1D_start_battle(const std::string& data); - void handle_CAx21_end_battle(const std::string& data); - void handle_CAx28_end_defense_list(const std::string& data); - void handle_CAx2B_legacy_set_card(const std::string&); - void handle_CAx34_subtract_ally_atk_points(const std::string& data); - void handle_CAx37_client_ready_to_advance_from_starter_roll_phase(const std::string& data); - void handle_CAx3A_time_limit_expired(const std::string& data); - void handle_CAx40_map_list_request(const std::string& data); - void handle_CAx41_map_request(const std::string& data); - void handle_CAx48_end_turn(const std::string& data); - void handle_CAx49_card_counts(const std::string& data); + void on_server_data_input(std::shared_ptr sender_c, const std::string& data); + void handle_CAx0B_mulligan_hand(std::shared_ptr sender_c, const std::string& data); + void handle_CAx0C_end_mulligan_phase(std::shared_ptr sender_c, const std::string& data); + void handle_CAx0D_end_non_action_phase(std::shared_ptr sender_c, const std::string& data); + void handle_CAx0E_discard_card_from_hand(std::shared_ptr sender_c, const std::string& data); + void handle_CAx0F_set_card_from_hand(std::shared_ptr sender_c, const std::string& data); + void handle_CAx10_move_fc_to_location(std::shared_ptr sender_c, const std::string& data); + void handle_CAx11_enqueue_attack_or_defense(std::shared_ptr sender_c, const std::string& data); + void handle_CAx12_end_attack_list(std::shared_ptr sender_c, const std::string& data); + void handle_CAx13_update_map_during_setup(std::shared_ptr sender_c, const std::string& data); + void handle_CAx14_update_deck_during_setup(std::shared_ptr sender_c, const std::string& data); + void handle_CAx15_unused_hard_reset_server_state(std::shared_ptr sender_c, const std::string& data); + void handle_CAx1B_update_player_name(std::shared_ptr sender_c, const std::string& data); + void handle_CAx1D_start_battle(std::shared_ptr sender_c, const std::string& data); + void handle_CAx21_end_battle(std::shared_ptr sender_c, const std::string& data); + void handle_CAx28_end_defense_list(std::shared_ptr sender_c, const std::string& data); + void handle_CAx2B_legacy_set_card(std::shared_ptr sender_c, const std::string&); + void handle_CAx34_subtract_ally_atk_points(std::shared_ptr sender_c, const std::string& data); + void handle_CAx37_client_ready_to_advance_from_starter_roll_phase(std::shared_ptr sender_c, const std::string& data); + void handle_CAx3A_time_limit_expired(std::shared_ptr sender_c, const std::string& data); + void handle_CAx40_map_list_request(std::shared_ptr sender_c, const std::string& data); + void handle_CAx41_map_request(std::shared_ptr sender_c, const std::string& data); + void handle_CAx48_end_turn(std::shared_ptr sender_c, const std::string& data); + void handle_CAx49_card_counts(std::shared_ptr sender_c, const std::string& data); void compute_losing_team_id_and_add_winner_flags(uint32_t flags); uint32_t get_team_exp(uint8_t team_id) const; uint32_t send_6xB4x06_if_card_ref_invalid( @@ -226,21 +226,22 @@ public: G_UpdateDecks_GC_Ep3_6xB4x07 prepare_6xB4x07_decks_update() const; G_SetPlayerNames_GC_Ep3_6xB4x1C prepare_6xB4x1C_names_update() const; static std::string prepare_6xB6x41_map_definition( - std::shared_ptr map, bool is_trial); + std::shared_ptr map, uint8_t language, bool is_trial); + void send_6xB6x41_to_all_clients() const; G_SetTrapTileLocations_GC_Ep3_6xB4x50 prepare_6xB4x50_trap_tile_locations() const; std::vector> const_cast_set_cards_v( const std::vector>& cards); private: - typedef void (Server::*handler_t)(const std::string&); + typedef void (Server::*handler_t)(std::shared_ptr, const std::string&); static const std::unordered_map subcommand_handlers; public: // These fields are not part of the original implementation std::weak_ptr lobby; Options options; - std::shared_ptr last_chosen_map; + std::shared_ptr last_chosen_map; bool tournament_match_result_sent; uint8_t override_environment_number; mutable std::deque logger_stack; diff --git a/src/Episode3/Tournament.cc b/src/Episode3/Tournament.cc index d9eda795..5c49b2e5 100644 --- a/src/Episode3/Tournament.cc +++ b/src/Episode3/Tournament.cc @@ -314,7 +314,7 @@ Tournament::Tournament( shared_ptr map_index, shared_ptr com_deck_index, const string& name, - shared_ptr map, + shared_ptr map, const Rules& rules, size_t num_teams, uint8_t flags) @@ -355,7 +355,7 @@ void Tournament::init() { bool is_registration_complete; if (!this->source_json.is_null()) { this->name = this->source_json.get_string("name"); - this->map = this->map_index->definition_for_number(this->source_json.get_int("map_number")); + this->map = this->map_index->for_number(this->source_json.get_int("map_number")); this->rules = Rules(this->source_json.at("rules")); this->flags = this->source_json.get_int("flags", 0x02); if (this->source_json.get_bool("is_2v2", false)) { @@ -531,7 +531,7 @@ JSON Tournament::json() const { } return JSON::dict({ {"name", this->name}, - {"map_number", this->map->map.map_number.load()}, + {"map_number", this->map->map_number}, {"rules", this->rules.json()}, {"flags", this->flags}, {"is_registration_complete", (this->current_state != State::REGISTRATION)}, @@ -741,8 +741,13 @@ void Tournament::print_bracket(FILE* stream) const { } }; fprintf(stream, "Tournament \"%s\"\n", this->name.c_str()); - string map_name = this->map->map.name; - fprintf(stream, " Map: %08" PRIX32 " (%s)\n", this->map->map.map_number.load(), map_name.c_str()); + auto en_vm = this->map->version(1); + if (en_vm) { + string map_name = en_vm->map->name; + fprintf(stream, " Map: %08" PRIX32 " (%s)\n", this->map->map_number, map_name.c_str()); + } else { + fprintf(stream, " Map: %08" PRIX32 "\n", this->map->map_number); + } string rules_str = this->rules.str(); fprintf(stream, " Rules: %s\n", rules_str.c_str()); fprintf(stream, " Structure: %s, %zu entries\n", (this->flags & Flag::IS_2V2) ? "2v2" : "1v1", this->num_teams); @@ -850,7 +855,7 @@ void TournamentIndex::save() const { shared_ptr TournamentIndex::create_tournament( const string& name, - shared_ptr map, + shared_ptr map, const Rules& rules, size_t num_teams, uint8_t flags) { diff --git a/src/Episode3/Tournament.hh b/src/Episode3/Tournament.hh index e168b812..f463ed23 100644 --- a/src/Episode3/Tournament.hh +++ b/src/Episode3/Tournament.hh @@ -108,7 +108,7 @@ public: std::shared_ptr map_index, std::shared_ptr com_deck_index, const std::string& name, - std::shared_ptr map, + std::shared_ptr map, const Rules& rules, size_t num_teams, uint8_t flags); @@ -124,7 +124,7 @@ public: inline const std::string& get_name() const { return this->name; } - inline std::shared_ptr get_map() const { + inline std::shared_ptr get_map() const { return this->map; } inline const Rules& get_rules() const { @@ -171,7 +171,7 @@ private: std::shared_ptr com_deck_index; JSON source_json; std::string name; - std::shared_ptr map; + std::shared_ptr map; Rules rules; size_t num_teams; uint8_t flags; @@ -225,7 +225,7 @@ public: std::shared_ptr create_tournament( const std::string& name, - std::shared_ptr map, + std::shared_ptr map, const Rules& rules, size_t num_teams, uint8_t flags); diff --git a/src/FileContentsCache.hh b/src/FileContentsCache.hh index 74d76256..eb2b5bac 100644 --- a/src/FileContentsCache.hh +++ b/src/FileContentsCache.hh @@ -7,13 +7,11 @@ #include -using namespace std; - class FileContentsCache { public: struct File { std::string name; - shared_ptr data; + std::shared_ptr data; uint64_t load_time; File() = delete; @@ -37,10 +35,8 @@ public: return this->name_to_file.erase(key); } - std::shared_ptr replace( - const std::string& name, std::string&& data, uint64_t t = 0); - std::shared_ptr replace( - const std::string& name, const void* data, size_t size, uint64_t t = 0); + std::shared_ptr replace(const std::string& name, std::string&& data, uint64_t t = 0); + std::shared_ptr replace(const std::string& name, const void* data, size_t size, uint64_t t = 0); struct GetResult { std::shared_ptr file; @@ -52,10 +48,8 @@ public: std::shared_ptr get_or_throw(const std::string& name); std::shared_ptr get_or_throw(const char* name); - GetResult get( - const std::string& name, std::function generate); - GetResult get( - const char* name, std::function generate); + GetResult get(const std::string& name, std::function generate); + GetResult get(const char* name, std::function generate); template struct GetObjResult { @@ -68,7 +62,7 @@ public: GetObjResult get_obj_or_load(NameT name) { auto res = this->get_or_load(name); if (res.file->data->size() != sizeof(T)) { - throw runtime_error("cached string size is incorrect"); + throw std::runtime_error("cached string size is incorrect"); } return {*reinterpret_cast(res.file->data->data()), res.file, res.generate_called}; } @@ -76,7 +70,7 @@ public: GetObjResult get_obj_or_throw(NameT name) { auto res = this->get_or_throw(name); if (res.file->data->size() != sizeof(T)) { - throw runtime_error("cached string size is incorrect"); + throw std::runtime_error("cached string size is incorrect"); } return {*reinterpret_cast(res.file->data->data()), res.file, res.generate_called}; } @@ -86,12 +80,12 @@ public: try { auto& f = this->name_to_file.at(name); if (f->data->size() != sizeof(T)) { - throw runtime_error("cached string size is incorrect"); + throw std::runtime_error("cached string size is incorrect"); } if (this->ttl_usecs && (t - f->load_time < this->ttl_usecs)) { return {*reinterpret_cast(f->data->data()), f, false}; } - } catch (const out_of_range& e) { + } catch (const std::out_of_range& e) { } T value = generate(name); auto ret = this->replace_obj(name, value); diff --git a/src/GVMEncoder.hh b/src/GVMEncoder.hh index 4159f2cf..207a9e8e 100644 --- a/src/GVMEncoder.hh +++ b/src/GVMEncoder.hh @@ -6,8 +6,6 @@ #include "Text.hh" -using namespace std; - enum class GVRDataFormat : uint8_t { INTENSITY_4 = 0x00, INTENSITY_8 = 0x01, @@ -21,4 +19,4 @@ enum class GVRDataFormat : uint8_t { DXT1 = 0x0E, }; -string encode_gvm(const Image& img, GVRDataFormat data_format); +std::string encode_gvm(const Image& img, GVRDataFormat data_format); diff --git a/src/Lobby.cc b/src/Lobby.cc index c14ef073..574be2af 100644 --- a/src/Lobby.cc +++ b/src/Lobby.cc @@ -43,6 +43,27 @@ shared_ptr Lobby::require_server_state() const { return s; } +void Lobby::create_ep3_server() { + auto s = this->require_server_state(); + if (!this->ep3_server) { + this->log.info("Creating Episode 3 server state"); + } else { + this->log.info("Recreating Episode 3 server state"); + } + auto tourn = this->tournament_match ? this->tournament_match->tournament.lock() : nullptr; + bool is_trial = (this->flags & Lobby::Flag::IS_EP3_TRIAL); + Episode3::Server::Options options = { + .card_index = is_trial ? s->ep3_card_index_trial : s->ep3_card_index, + .map_index = s->ep3_map_index, + .behavior_flags = s->ep3_behavior_flags, + .random_crypt = this->random_crypt, + .tournament = tourn, + .trap_card_ids = s->ep3_trap_card_ids, + }; + this->ep3_server = make_shared(this->shared_from_this(), std::move(options)); + this->ep3_server->init(); +} + void Lobby::reassign_leader_on_client_departure(size_t leaving_client_index) { for (size_t x = 0; x < this->max_clients; x++) { if (x == leaving_client_index) { diff --git a/src/Lobby.hh b/src/Lobby.hh index c3d12605..43cce903 100644 --- a/src/Lobby.hh +++ b/src/Lobby.hh @@ -100,7 +100,7 @@ struct Lobby : public std::enable_shared_from_this { // absent. std::shared_ptr ep3_server; // Only used in primary games std::weak_ptr watched_lobby; // Only used in watcher games - std::unordered_set> watcher_lobbies; // Only used in primary games + std::unordered_set> watcher_lobbies; // Only used in primary games std::shared_ptr battle_record; // Not used in watcher games std::shared_ptr battle_player; // Only used in replay games std::shared_ptr tournament_match; @@ -124,6 +124,7 @@ struct Lobby : public std::enable_shared_from_this { Lobby& operator=(Lobby&&) = delete; std::shared_ptr require_server_state() const; + void create_ep3_server(); inline bool is_game() const { return this->flags & Flag::GAME; diff --git a/src/Main.cc b/src/Main.cc index e4d84d3e..33230921 100644 --- a/src/Main.cc +++ b/src/Main.cc @@ -1329,17 +1329,17 @@ int main(int argc, char** argv) { string output_filename_base = input_filename; if (quest_file_type == QuestFileFormat::BIN_DAT_GCI) { int64_t dec_seed = seed.empty() ? -1 : stoul(seed, nullptr, 16); - auto decoded = decode_gci_file(input_filename, num_threads, dec_seed, skip_checksum); + auto decoded = decode_gci_data(read_input_data(), num_threads, dec_seed, skip_checksum); save_file(output_filename_base + ".dec", decoded); } else if (quest_file_type == QuestFileFormat::BIN_DAT_VMS) { int64_t dec_seed = seed.empty() ? -1 : stoul(seed, nullptr, 16); - auto decoded = decode_vms_file(input_filename, num_threads, dec_seed, skip_checksum); + auto decoded = decode_vms_data(read_input_data(), num_threads, dec_seed, skip_checksum); save_file(output_filename_base + ".dec", decoded); } else if (quest_file_type == QuestFileFormat::BIN_DAT_DLQ) { - auto decoded = decode_dlq_file(input_filename); + auto decoded = decode_dlq_data(read_input_data()); save_file(output_filename_base + ".dec", decoded); } else if (quest_file_type == QuestFileFormat::QST) { - auto data = decode_qst_file(input_filename); + auto data = decode_qst_data(read_input_data()); save_file(output_filename_base + ".bin", data.first); save_file(output_filename_base + ".dat", data.second); } else { @@ -1353,7 +1353,13 @@ int main(int argc, char** argv) { throw invalid_argument("an input filename is required"); } - shared_ptr vq(new VersionedQuest(input_filename, cli_quest_version, nullptr)); + string bin_filename = input_filename; + string dat_filename = ends_with(bin_filename, ".bin") + ? (bin_filename.substr(0, bin_filename.size() - 3) + "dat") + : (bin_filename + ".dat"); + shared_ptr bin_data(new string(load_file(bin_filename))); + shared_ptr dat_data(new string(load_file(dat_filename))); + shared_ptr vq(new VersionedQuest(0, 0, cli_quest_version, 0, bin_data, dat_data)); if (download) { vq = vq->create_download_quest(); } @@ -1872,9 +1878,15 @@ int main(int argc, char** argv) { auto map_ids = map_index.all_numbers(); log_info("%zu maps", map_ids.size()); for (uint32_t map_id : map_ids) { - auto map = map_index.definition_for_number(map_id); - string s = map->map.str(&card_index); - fprintf(stdout, "%s\n", s.c_str()); + auto map = map_index.for_number(map_id); + const auto& vms = map->all_versions(); + for (size_t language = 0; language < vms.size(); language++) { + if (!vms[language]) { + continue; + } + string s = vms[language]->map->str(&card_index); + fprintf(stdout, "(%c) %s\n", char_for_language_code(language), s.c_str()); + } } break; } diff --git a/src/Map.cc b/src/Map.cc index 4fa63142..76dc9cf8 100644 --- a/src/Map.cc +++ b/src/Map.cc @@ -480,6 +480,13 @@ void Map::add_enemies_from_map_data( } } +struct DATSectionHeader { + le_uint32_t type; // 1 = objects, 2 = enemies. There are other types too + le_uint32_t section_size; // Includes this header + le_uint32_t area; + le_uint32_t data_size; +} __attribute__((packed)); + void Map::add_enemies_from_quest_data( Episode episode, uint8_t difficulty, @@ -488,7 +495,7 @@ void Map::add_enemies_from_quest_data( size_t size) { StringReader r(data, size); while (!r.eof()) { - const auto& header = r.get(); + const auto& header = r.get(); if (header.type == 0 && header.section_size == 0) { break; } diff --git a/src/PlayerSubordinates.cc b/src/PlayerSubordinates.cc index 404e9adb..28aeaec6 100644 --- a/src/PlayerSubordinates.cc +++ b/src/PlayerSubordinates.cc @@ -15,6 +15,8 @@ #include "Text.hh" #include "Version.hh" +using namespace std; + FileContentsCache player_files_cache(300 * 1000 * 1000); void PlayerDispDataDCPCV3::enforce_lobby_join_limits(GameVersion target_version) { diff --git a/src/ProxyCommands.hh b/src/ProxyCommands.hh index 37b6f858..090f07e4 100644 --- a/src/ProxyCommands.hh +++ b/src/ProxyCommands.hh @@ -8,7 +8,7 @@ #include "ServerState.hh" void on_proxy_command( - shared_ptr ses, + std::shared_ptr ses, bool from_server, uint16_t command, uint32_t flag, diff --git a/src/Quest.cc b/src/Quest.cc index 97cb2888..bd5a64a0 100644 --- a/src/Quest.cc +++ b/src/Quest.cc @@ -217,99 +217,23 @@ struct PSODownloadQuestHeader { } __attribute__((packed)); VersionedQuest::VersionedQuest( - const string& bin_filename, + uint32_t quest_number, + uint32_t category_id, QuestScriptVersion version, - shared_ptr category_index) - : quest_number(0xFFFFFFFF), - category_id(0xFFFFFFFF), + uint8_t language, + std::shared_ptr bin_contents, + std::shared_ptr dat_contents) + : quest_number(quest_number), + category_id(category_id), episode(Episode::NONE), joinable(false), version(version), - file_format(QuestFileFormat::BIN_DAT), - has_mnm_extension(false), - is_dlq_encoded(false) { + language(language), + is_dlq_encoded(false), + bin_contents(bin_contents), + dat_contents(dat_contents) { - if (ends_with(bin_filename, ".bin.gci") || ends_with(bin_filename, ".mnm.gci")) { - this->file_format = QuestFileFormat::BIN_DAT_GCI; - this->has_mnm_extension = ends_with(bin_filename, ".mnm.gci"); - this->file_basename = bin_filename.substr(0, bin_filename.size() - 8); - } else if (ends_with(bin_filename, ".bin.vms")) { - this->file_format = QuestFileFormat::BIN_DAT_VMS; - this->file_basename = bin_filename.substr(0, bin_filename.size() - 8); - } else if (ends_with(bin_filename, ".bin.dlq") || ends_with(bin_filename, ".mnm.dlq")) { - this->file_format = QuestFileFormat::BIN_DAT_DLQ; - this->has_mnm_extension = ends_with(bin_filename, ".mnm.dlq"); - this->file_basename = bin_filename.substr(0, bin_filename.size() - 8); - } else if (ends_with(bin_filename, ".qst")) { - this->file_format = QuestFileFormat::QST; - this->file_basename = bin_filename.substr(0, bin_filename.size() - 4); - } else if (ends_with(bin_filename, ".bin") || ends_with(bin_filename, ".mnm")) { - this->file_format = QuestFileFormat::BIN_DAT; - this->has_mnm_extension = ends_with(bin_filename, ".mnm"); - this->file_basename = bin_filename.substr(0, bin_filename.size() - 4); - } else if (ends_with(bin_filename, ".bind") || ends_with(bin_filename, ".mnmd")) { - this->file_format = QuestFileFormat::BIN_DAT_UNCOMPRESSED; - this->has_mnm_extension = ends_with(bin_filename, ".mnmd"); - this->file_basename = bin_filename.substr(0, bin_filename.size() - 5); - } else { - throw runtime_error("quest does not have a valid .bin or .mnm file"); - } - - string basename; - { - size_t slash_pos = this->file_basename.rfind('/'); - if (slash_pos != string::npos) { - basename = this->file_basename.substr(slash_pos + 1); - } else { - basename = this->file_basename; - } - } - - if (basename.empty()) { - throw invalid_argument("empty filename"); - } - - if ((version == QuestScriptVersion::UNKNOWN) || category_index) { - vector tokens = split(basename, '-'); - - string category_token; - if (tokens.size() == 3) { - category_token = std::move(tokens[1]); - tokens.erase(tokens.begin() + 1); - } else if (tokens.size() != 2) { - throw invalid_argument("incorrect filename format"); - } - - if (category_index) { - auto& category = category_index->find(basename[0], category_token); - this->category_id = category.category_id; - } else { - this->category_id = 0; - } - - // Parse the number out of the first token - this->quest_number = strtoull(tokens[0].c_str() + 1, nullptr, 10); - - // Get the version from the second (or previously third) token - static const unordered_map name_to_version({ - {"dn", QuestScriptVersion::DC_NTE}, - {"d1", QuestScriptVersion::DC_V1}, - {"dc", QuestScriptVersion::DC_V2}, - {"pc", QuestScriptVersion::PC_V2}, - {"gcn", QuestScriptVersion::GC_NTE}, - {"gc", QuestScriptVersion::GC_V3}, - {"gc3", QuestScriptVersion::GC_EP3}, - {"xb", QuestScriptVersion::XB_V3}, - {"bb", QuestScriptVersion::BB_V4}, - }); - this->version = name_to_version.at(tokens[1]); - } - - // The rest of the information needs to be fetched from the .bin file's - // contents - - auto bin_compressed = this->bin_contents(); - auto bin_decompressed = prs_decompress(*bin_compressed); + auto bin_decompressed = prs_decompress(*this->bin_contents); switch (this->version) { case QuestScriptVersion::DC_NTE: @@ -418,10 +342,6 @@ VersionedQuest::VersionedQuest( default: throw logic_error("invalid quest game version"); } - - if (this->has_mnm_extension && this->episode != Episode::EP3) { - throw runtime_error("non-Episode 3 quest has .mnm extension"); - } } string VersionedQuest::bin_filename() const { @@ -440,80 +360,10 @@ string VersionedQuest::dat_filename() const { } } -shared_ptr VersionedQuest::bin_contents() const { - if (!this->bin_contents_ptr) { - switch (this->file_format) { - case QuestFileFormat::BIN_DAT: - this->bin_contents_ptr.reset(new string(load_file( - this->file_basename + (this->has_mnm_extension ? ".mnm" : ".bin")))); - break; - case QuestFileFormat::BIN_DAT_UNCOMPRESSED: - this->bin_contents_ptr.reset(new string(prs_compress(load_file( - this->file_basename + (this->has_mnm_extension ? ".mnmd" : ".bind"))))); - break; - case QuestFileFormat::BIN_DAT_GCI: - this->bin_contents_ptr.reset(new string(decode_gci_file( - this->file_basename + (this->has_mnm_extension ? ".mnm.gci" : ".bin.gci")))); - break; - case QuestFileFormat::BIN_DAT_VMS: - this->bin_contents_ptr.reset(new string(decode_vms_file( - this->file_basename + (this->has_mnm_extension ? ".mnm.vms" : ".bin.vms")))); - break; - case QuestFileFormat::BIN_DAT_DLQ: - this->bin_contents_ptr.reset(new string(decode_dlq_file( - this->file_basename + (this->has_mnm_extension ? ".mnm.dlq" : ".bin.dlq")))); - break; - case QuestFileFormat::QST: { - auto result = decode_qst_file(this->file_basename + ".qst"); - this->bin_contents_ptr.reset(new string(std::move(result.first))); - this->dat_contents_ptr.reset(new string(std::move(result.second))); - break; - } - default: - throw logic_error("invalid quest file format"); - } - } - return this->bin_contents_ptr; -} - -shared_ptr VersionedQuest::dat_contents() const { - if (this->episode == Episode::EP3) { - throw logic_error("Episode 3 quests do not have .dat files"); - } - if (!this->dat_contents_ptr) { - switch (this->file_format) { - case QuestFileFormat::BIN_DAT: - this->dat_contents_ptr.reset(new string(load_file(this->file_basename + ".dat"))); - break; - case QuestFileFormat::BIN_DAT_UNCOMPRESSED: - this->dat_contents_ptr.reset(new string(prs_compress(load_file(this->file_basename + ".datd")))); - break; - case QuestFileFormat::BIN_DAT_GCI: - this->dat_contents_ptr.reset(new string(decode_gci_file(this->file_basename + ".dat.gci"))); - break; - case QuestFileFormat::BIN_DAT_VMS: - this->dat_contents_ptr.reset(new string(decode_vms_file(this->file_basename + ".dat.vms"))); - break; - case QuestFileFormat::BIN_DAT_DLQ: - this->dat_contents_ptr.reset(new string(decode_dlq_file(this->file_basename + ".dat.dlq"))); - break; - case QuestFileFormat::QST: { - auto result = decode_qst_file(this->file_basename + ".qst"); - this->bin_contents_ptr.reset(new string(std::move(result.first))); - this->dat_contents_ptr.reset(new string(std::move(result.second))); - break; - } - default: - throw logic_error("invalid quest file format"); - } - } - return this->dat_contents_ptr; -} - string VersionedQuest::encode_qst() const { return encode_qst_file( - *this->bin_contents(), - *this->dat_contents(), + *this->bin_contents, + *this->dat_contents, this->name, this->quest_number, this->version, @@ -525,9 +375,12 @@ Quest::Quest(shared_ptr initial_version) category_id(initial_version->category_id), episode(initial_version->episode), joinable(initial_version->joinable), - name(initial_version->name), - versions_present(1 << static_cast(initial_version->version)) { - versions.emplace(initial_version->version, initial_version); + name(initial_version->name) { + this->versions.emplace(this->versions_key(initial_version->version, initial_version->language), initial_version); +} + +uint16_t Quest::versions_key(QuestScriptVersion v, uint8_t language) { + return (static_cast(v) << 8) | language; } void Quest::add_version(shared_ptr vq) { @@ -544,24 +397,30 @@ void Quest::add_version(shared_ptr vq) { throw runtime_error("quest version has a different joinability state"); } - uint16_t presence_mask = 1 << static_cast(vq->version); - if (this->versions_present & presence_mask) { - throw runtime_error("quest version is already present"); - } - this->versions_present |= presence_mask; - this->versions.emplace(vq->version, vq); + this->versions.emplace(this->versions_key(vq->version, vq->language), vq); } -bool Quest::has_version(QuestScriptVersion v) const { - return !!(this->versions_present & (1 << static_cast(v))); +bool Quest::has_version(QuestScriptVersion v, uint8_t language) const { + return this->versions.count(this->versions_key(v, language)); } -shared_ptr Quest::version(QuestScriptVersion v) const { +shared_ptr Quest::version(QuestScriptVersion v, uint8_t language) const { + // Return the requested version, if it exists try { - return this->versions.at(v); + return this->versions.at(this->versions_key(v, language)); } catch (const out_of_range&) { + } + // Return the English version, if it exists + try { + return this->versions.at(this->versions_key(v, 1)); + } catch (const out_of_range&) { + } + // Return the first language, if it exists + auto it = this->versions.lower_bound(this->versions_key(v, 0)); + if ((it == this->versions.end()) || ((it->first & 0xFF00) != this->versions_key(v, 0))) { return nullptr; } + return it->second; } QuestIndex::QuestIndex( @@ -570,54 +429,220 @@ QuestIndex::QuestIndex( : directory(directory), category_index(category_index) { - for (const auto& filename : list_directory_sorted(this->directory)) { - string full_path = this->directory + "/" + filename; + unordered_map> dat_cache; - if (ends_with(filename, ".gba")) { - shared_ptr contents(new string(load_file(full_path))); - this->gba_file_contents.emplace(make_pair(filename, contents)); + for (const auto& bin_filename : list_directory_sorted(directory)) { + string bin_path = this->directory + "/" + bin_filename; + + if (ends_with(bin_filename, ".gba")) { + shared_ptr contents(new string(load_file(bin_path))); + this->gba_file_contents.emplace(make_pair(bin_filename, contents)); continue; } - if (ends_with(filename, ".bin") || - ends_with(filename, ".bind") || - ends_with(filename, ".bin.gci") || - ends_with(filename, ".bin.vms") || - ends_with(filename, ".bin.dlq") || - ends_with(filename, ".mnm") || - ends_with(filename, ".mnmd") || - ends_with(filename, ".mnm.gci") || - ends_with(filename, ".mnm.dlq") || - ends_with(filename, ".qst")) { - try { - shared_ptr vq(new VersionedQuest(full_path, QuestScriptVersion::UNKNOWN, this->category_index)); - - string ascii_name = encode_sjis(vq->name); - auto category_name = encode_sjis(this->category_index->at(vq->category_id).name); - - auto q_it = this->quests_by_number.find(vq->quest_number); - if (q_it != this->quests_by_number.end()) { - q_it->second->add_version(vq); - static_game_data_log.info("(%s) Added %s version of quest %" PRIu32 " \"%s\"", - filename.c_str(), - name_for_enum(vq->version), - vq->quest_number, - ascii_name.c_str()); - } else { - this->quests_by_number.emplace(vq->quest_number, new Quest(vq)); - static_game_data_log.info("(%s) Created %s quest %" PRIu32 " \"%s\" (%s, %s (%" PRIu32 "), %s)", - filename.c_str(), - name_for_enum(vq->version), - vq->quest_number, - ascii_name.c_str(), - name_for_episode(vq->episode), - category_name.c_str(), - vq->category_id, - vq->joinable ? "joinable" : "not joinable"); - } - } catch (const exception& e) { - static_game_data_log.warning("Failed to index quest file %s (%s)", filename.c_str(), e.what()); + try { + QuestFileFormat format; + string basename; + if (ends_with(bin_filename, ".bin.gci") || ends_with(bin_filename, ".mnm.gci")) { + format = QuestFileFormat::BIN_DAT_GCI; + basename = bin_filename.substr(0, bin_filename.size() - 8); + } else if (ends_with(bin_filename, ".bin.vms")) { + format = QuestFileFormat::BIN_DAT_VMS; + basename = bin_filename.substr(0, bin_filename.size() - 8); + } else if (ends_with(bin_filename, ".bin.dlq") || ends_with(bin_filename, ".mnm.dlq")) { + format = QuestFileFormat::BIN_DAT_DLQ; + basename = bin_filename.substr(0, bin_filename.size() - 8); + } else if (ends_with(bin_filename, ".qst")) { + format = QuestFileFormat::QST; + basename = bin_filename.substr(0, bin_filename.size() - 4); + } else if (ends_with(bin_filename, ".bin") || ends_with(bin_filename, ".mnm")) { + format = QuestFileFormat::BIN_DAT; + basename = bin_filename.substr(0, bin_filename.size() - 4); + } else if (ends_with(bin_filename, ".bind") || ends_with(bin_filename, ".mnmd")) { + format = QuestFileFormat::BIN_DAT_UNCOMPRESSED; + basename = bin_filename.substr(0, bin_filename.size() - 5); + } else { + continue; // Silently skip file } + if (basename.empty()) { + throw invalid_argument("empty filename"); + } + + // Quest .bin filenames are like K###-CAT-VERS-LANG.EXT, where: + // K = class (quest, battle, challenge, etc.) + // # = quest number (does not have to match the internal quest number) + // CAT = menu category in which quest should appear (optional) + // VERS = PSO version that the quest is for + // LANG = client language (j, e, g, f, s) + // EXT = file type (bin, bind, bin.dlq, qst, etc.) + // Quest .dat filenames are like K###-CAT-VERS.EXT (same as for .bin except + // the LANG token is omitted) + vector filename_tokens = split(basename, '-'); + + string category_token; + if (filename_tokens.size() == 4) { + category_token = std::move(filename_tokens[1]); + filename_tokens.erase(filename_tokens.begin() + 1); + } else if (filename_tokens.size() != 3) { + throw invalid_argument("incorrect filename format"); + } + + uint32_t category_id = this->category_index + ? this->category_index->find(basename[0], category_token).category_id + : 0; + + // Parse the number out of the first token + uint32_t quest_number = strtoull(filename_tokens[0].c_str() + 1, nullptr, 10); + + // Get the version from the second (or previously third) token + static const unordered_map name_to_version({ + {"dn", QuestScriptVersion::DC_NTE}, + {"d1", QuestScriptVersion::DC_V1}, + {"dc", QuestScriptVersion::DC_V2}, + {"pc", QuestScriptVersion::PC_V2}, + {"gcn", QuestScriptVersion::GC_NTE}, + {"gc", QuestScriptVersion::GC_V3}, + {"gc3", QuestScriptVersion::GC_EP3}, + {"xb", QuestScriptVersion::XB_V3}, + {"bb", QuestScriptVersion::BB_V4}, + }); + auto version = name_to_version.at(filename_tokens[1]); + + // Get the language from the last token + if (filename_tokens[2].size() != 1) { + throw runtime_error("language token is not a single character"); + } + uint8_t language = language_code_for_char(filename_tokens[2][0]); + + shared_ptr bin_contents; + shared_ptr dat_contents; + string bin_data = load_file(bin_path); + switch (format) { + case QuestFileFormat::BIN_DAT: + bin_contents.reset(new string(std::move(bin_data))); + break; + case QuestFileFormat::BIN_DAT_UNCOMPRESSED: + bin_contents.reset(new string(prs_compress(bin_data))); + break; + case QuestFileFormat::BIN_DAT_GCI: + bin_contents.reset(new string(decode_gci_data(bin_data))); + break; + case QuestFileFormat::BIN_DAT_VMS: + bin_contents.reset(new string(decode_vms_data(bin_data))); + break; + case QuestFileFormat::BIN_DAT_DLQ: + bin_contents.reset(new string(decode_dlq_data(bin_data))); + break; + case QuestFileFormat::QST: { + auto result = decode_qst_data(bin_data); + bin_contents.reset(new string(std::move(result.first))); + dat_contents.reset(new string(std::move(result.second))); + dat_cache.emplace(basename, dat_contents); + break; + } + default: + throw logic_error("invalid quest file format"); + } + + string dat_filename; + if (!dat_contents && (version != QuestScriptVersion::GC_EP3)) { + if (basename.size() < 2) { + throw logic_error("basename too short for language trim"); + } + // Look for dat file with the same basename as the bin file; if not + // found, look for a dat file without the language suffix + string dat_basename; + for (size_t z = 0; z < 2; z++) { + dat_basename = z ? basename.substr(0, basename.size() - 2) : basename; + try { + dat_contents = dat_cache.at(dat_basename); + break; + } catch (const out_of_range&) { + } + + dat_filename = dat_basename + ".dat"; + string dat_path = this->directory + "/" + dat_filename; + if (isfile(dat_path)) { + dat_contents.reset(new string(load_file(dat_path))); + break; + } + + dat_filename = dat_basename + ".datd"; + dat_path = this->directory + "/" + dat_filename; + if (isfile(dat_path)) { + string decompressed = load_file(dat_path); + dat_contents.reset(new string(prs_compress_optimal(decompressed.data(), decompressed.size()))); + break; + } + + dat_filename = dat_basename + ".dat.gci"; + dat_path = this->directory + "/" + dat_filename; + if (isfile(dat_path)) { + dat_contents.reset(new string(decode_gci_data(load_file(dat_path)))); + break; + } + + dat_filename = dat_basename + ".dat.vms"; + dat_path = this->directory + "/" + dat_filename; + if (isfile(dat_path)) { + dat_contents.reset(new string(decode_vms_data(load_file(dat_path)))); + break; + } + + dat_filename = dat_basename + ".dat.dlq"; + dat_path = this->directory + "/" + dat_filename; + if (isfile(dat_path)) { + dat_contents.reset(new string(decode_dlq_data(load_file(dat_path)))); + break; + } + + dat_filename = dat_basename + ".qst"; + dat_path = this->directory + "/" + dat_filename; + if (isfile(dat_basename + ".qst")) { + dat_contents.reset(new string(decode_dlq_data(load_file(dat_basename + ".dat.dlq")))); + break; + } + } + if (dat_contents) { + dat_cache.emplace(dat_basename, dat_contents); + } else { + throw runtime_error("no dat file found"); + } + } + + shared_ptr vq(new VersionedQuest( + quest_number, category_id, version, language, bin_contents, dat_contents)); + + string ascii_name = format_data_string(encode_sjis(vq->name)); + auto category_name = encode_sjis(this->category_index->at(vq->category_id).name); + + string dat_str = dat_filename.empty() ? "" : (" with layout file " + dat_filename); + auto q_it = this->quests_by_number.find(vq->quest_number); + if (q_it != this->quests_by_number.end()) { + q_it->second->add_version(vq); + static_game_data_log.info("(%s) Added %s %c version of quest %" PRIu32 " %s%s", + bin_filename.c_str(), + name_for_enum(vq->version), + char_for_language_code(vq->language), + vq->quest_number, + ascii_name.c_str(), + dat_str.c_str()); + } else { + this->quests_by_number.emplace(vq->quest_number, new Quest(vq)); + static_game_data_log.info("(%s) Created %s %c quest %" PRIu32 " %s (%s, %s (%" PRIu32 "), %s)%s", + bin_filename.c_str(), + name_for_enum(vq->version), + char_for_language_code(vq->language), + vq->quest_number, + ascii_name.c_str(), + name_for_episode(vq->episode), + category_name.c_str(), + vq->category_id, + vq->joinable ? "joinable" : "not joinable", + dat_str.c_str()); + } + } catch (const exception& e) { + static_game_data_log.warning("(%s) Failed to index quest file: (%s)", bin_filename.c_str(), e.what()); } } } @@ -638,17 +663,17 @@ shared_ptr QuestIndex::get_gba(const string& name) const { } } -vector> QuestIndex::filter(uint32_t category_id, QuestScriptVersion version) const { +vector> QuestIndex::filter(uint32_t category_id, QuestScriptVersion version, uint8_t language) const { vector> ret; for (auto it : this->quests_by_number) { - if (it.second->category_id == category_id && it.second->has_version(version)) { + if (it.second->category_id == category_id && it.second->has_version(version, language)) { ret.emplace_back(it.second); } } return ret; } -string encode_download_quest_file(const string& compressed_data, size_t decompressed_size, uint32_t encryption_seed) { +string encode_download_quest_data(const string& compressed_data, size_t decompressed_size, uint32_t encryption_seed) { // Download quest files are like normal (PRS-compressed) quest files, but they // are encrypted with PSO V2 encryption (even on V3 / PSO GC), and a small // header (PSODownloadQuestHeader) is prepended to the encrypted data. @@ -691,7 +716,7 @@ shared_ptr VersionedQuest::create_download_quest() const { throw logic_error("Episode 3 quests cannot be converted to download quests"); } - string decompressed_bin = prs_decompress(*this->bin_contents()); + string decompressed_bin = prs_decompress(*this->bin_contents); void* data_ptr = decompressed_bin.data(); switch (this->version) { @@ -730,19 +755,17 @@ shared_ptr VersionedQuest::create_download_quest() const { // Return a new VersionedQuest object with appropriately-processed .bin and // .dat file contents shared_ptr dlq(new VersionedQuest(*this)); - dlq->bin_contents_ptr.reset(new string(encode_download_quest_file(compressed_bin, decompressed_bin.size()))); - dlq->dat_contents_ptr.reset(new string(encode_download_quest_file(*this->dat_contents()))); + dlq->bin_contents.reset(new string(encode_download_quest_data(compressed_bin, decompressed_bin.size()))); + dlq->dat_contents.reset(new string(encode_download_quest_data(*this->dat_contents))); dlq->is_dlq_encoded = true; return dlq; } -string decode_gci_file( - const string& filename, +string decode_gci_data( + const string& data, ssize_t find_seed_num_threads, int64_t known_seed, bool skip_checksum) { - string data = load_file(filename); - StringReader r(data); const auto& header = r.get(); header.check(); @@ -817,22 +840,22 @@ string decode_gci_file( } r.skip(9); - data = r.readx(header.data_size - 40); + string decrypted = r.readx(header.data_size - 40); // For some reason, Sega decided not to encrypt Episode 3 quest files in the // same way as Episodes 1&2 quest files (see above). Instead, they just // wrote a fairly trivial XOR loop over the first 0x100 bytes, leaving the // remaining bytes completely unencrypted (but still compressed). size_t unscramble_size = min(0x100, data.size()); - decrypt_trivial_gci_data(data.data(), unscramble_size, 0); + decrypt_trivial_gci_data(decrypted.data(), unscramble_size, 0); - size_t decompressed_size = prs_decompress_size(data); + size_t decompressed_size = prs_decompress_size(decrypted); if (decompressed_size != sizeof(Episode3::MapDefinition)) { throw runtime_error(string_printf( "decompressed quest is 0x%zX bytes; expected 0x%zX bytes", decompressed_size, sizeof(Episode3::MapDefinition))); } - return data; + return decrypted; } } else { @@ -840,13 +863,11 @@ string decode_gci_file( } } -string decode_vms_file( - const string& filename, +string decode_vms_data( + const string& data, ssize_t find_seed_num_threads, int64_t known_seed, bool skip_checksum) { - string data = load_file(filename); - StringReader r(data); const auto& header = r.get(); if (!header.checksum_correct()) { @@ -899,15 +920,9 @@ string decode_dlq_data(const string& data) { return decrypted; } -string decode_dlq_file(const string& filename) { - auto f = fopen_unique(filename, "rb"); - return decode_dlq_data(read_all(f.get())); -} - template -static pair decode_qst_t(FILE* f) { - string qst_data = read_all(f); - StringReader r(qst_data); +static pair decode_qst_data_t(const string& data) { + StringReader r(data); string bin_contents; string dat_contents; @@ -945,7 +960,7 @@ static pair decode_qst_t(FILE* f) { if (header.size != sizeof(HeaderT) + sizeof(OpenFileT)) { throw runtime_error("qst open file command has incorrect size"); } - const auto& cmd = r.get(f); + const auto& cmd = r.get(); string internal_filename = cmd.filename; if (ends_with(internal_filename, ".bin")) { @@ -1011,32 +1026,30 @@ static pair decode_qst_t(FILE* f) { } if (subformat == QuestFileFormat::BIN_DAT_DLQ) { - bin_contents = decode_dlq_file(bin_contents); - dat_contents = decode_dlq_file(dat_contents); + bin_contents = decode_dlq_data(bin_contents); + dat_contents = decode_dlq_data(dat_contents); } return make_pair(bin_contents, dat_contents); } -pair decode_qst_file(const string& filename) { - auto f = fopen_unique(filename, "rb"); - +pair decode_qst_data(const string& data) { // QST files start with an open file command, but the format differs depending // on the PSO version that the qst file is for. We can detect the format from // the first 4 bytes in the file: // - BB: 58 00 44 00 or 58 00 A6 00 // - PC: 3C 00 44 ?? or 3C 00 A6 ?? // - DC/V3: 44 ?? 3C 00 or A6 ?? 3C 00 - uint32_t signature = freadx(f.get()); - fseek(f.get(), 0, SEEK_SET); + StringReader r(data); + uint32_t signature = r.get_u32b(); if (signature == 0x58004400 || signature == 0x5800A600) { - return decode_qst_t(f.get()); + return decode_qst_data_t(data); } else if ((signature & 0xFFFFFF00) == 0x3C004400 || (signature & 0xFFFFFF00) == 0x3C00A600) { - return decode_qst_t(f.get()); + return decode_qst_data_t(data); } else if ((signature & 0xFF00FFFF) == 0x44003C00 || (signature & 0xFF00FFFF) == 0xA6003C00) { - return decode_qst_t(f.get()); + return decode_qst_data_t(data); } else if ((signature & 0xFF00FFFF) == 0x44005400 || (signature & 0xFF00FFFF) == 0xA6005400) { - return decode_qst_t(f.get()); + return decode_qst_data_t(data); } else { throw runtime_error("invalid qst file format"); } diff --git a/src/Quest.hh b/src/Quest.hh index 4a182baf..b9ca60a9 100644 --- a/src/Quest.hh +++ b/src/Quest.hh @@ -52,47 +52,33 @@ struct QuestCategoryIndex { const Category& at(uint32_t category_id) const; }; -class VersionedQuest { -public: - struct DATSectionHeader { - le_uint32_t type; // 1 = objects, 2 = enemies. There are other types too - le_uint32_t section_size; // Includes this header - le_uint32_t area; - le_uint32_t data_size; - } __attribute__((packed)); - +struct VersionedQuest { uint32_t quest_number; uint32_t category_id; Episode episode; bool joinable; - QuestScriptVersion version; - std::string file_basename; // we append -. when reading - QuestFileFormat file_format; - bool has_mnm_extension; - bool is_dlq_encoded; std::u16string name; + QuestScriptVersion version; + uint8_t language; + bool is_dlq_encoded; std::u16string short_description; std::u16string long_description; + std::shared_ptr bin_contents; + std::shared_ptr dat_contents; - VersionedQuest(const std::string& file_basename, QuestScriptVersion version, std::shared_ptr category_index); - VersionedQuest(const VersionedQuest&) = default; - VersionedQuest(VersionedQuest&&) = default; - VersionedQuest& operator=(const VersionedQuest&) = default; - VersionedQuest& operator=(VersionedQuest&&) = default; + VersionedQuest( + uint32_t quest_number, + uint32_t category_id, + QuestScriptVersion version, + uint8_t language, + std::shared_ptr bin_contents, + std::shared_ptr dat_contents); std::string bin_filename() const; std::string dat_filename() const; - std::shared_ptr bin_contents() const; - std::shared_ptr dat_contents() const; - std::shared_ptr create_download_quest() const; std::string encode_qst() const; - -private: - // these are populated when requested - mutable std::shared_ptr bin_contents_ptr; - mutable std::shared_ptr dat_contents_ptr; }; class Quest { @@ -104,18 +90,18 @@ public: Quest& operator=(const Quest&) = default; Quest& operator=(Quest&&) = default; - void add_version(shared_ptr vq); - bool has_version(QuestScriptVersion v) const; - shared_ptr version(QuestScriptVersion v) const; + void add_version(std::shared_ptr vq); + bool has_version(QuestScriptVersion v, uint8_t language) const; + std::shared_ptr version(QuestScriptVersion v, uint8_t language) const; + + static uint16_t versions_key(QuestScriptVersion v, uint8_t language); uint32_t quest_number; uint32_t category_id; Episode episode; bool joinable; std::u16string name; - - uint16_t versions_present; - std::unordered_map> versions; + std::map> versions; }; struct QuestIndex { @@ -130,29 +116,27 @@ struct QuestIndex { std::shared_ptr get(uint32_t quest_number) const; std::shared_ptr get_gba(const std::string& name) const; - std::vector> filter(uint32_t category_id, QuestScriptVersion version) const; + std::vector> filter(uint32_t category_id, QuestScriptVersion version, uint8_t language) const; }; -std::string encode_download_quest_file( +std::string encode_download_quest_data( const std::string& compressed_data, size_t decompressed_size = 0, uint32_t encryption_seed = 0); -std::string decode_gci_file( - const std::string& filename, +std::string decode_gci_data( + const std::string& data, ssize_t find_seed_num_threads = -1, int64_t known_seed = -1, bool skip_checksum = false); -std::string decode_vms_file( - const std::string& filename, +std::string decode_vms_data( + const std::string& data, ssize_t find_seed_num_threads = -1, int64_t known_seed = -1, bool skip_checksum = false); - -std::string decode_dlq_file(const std::string& filename); std::string decode_dlq_data(const std::string& data); +std::pair decode_qst_data(const std::string& data); -std::pair decode_qst_file(const std::string& filename); std::string encode_qst_file( const std::string& bin_data, const std::string& dat_data, diff --git a/src/ReceiveCommands.cc b/src/ReceiveCommands.cc index f5d61b17..78131e1d 100644 --- a/src/ReceiveCommands.cc +++ b/src/ReceiveCommands.cc @@ -1296,23 +1296,7 @@ static void on_CA_Ep3(shared_ptr c, uint16_t, uint32_t, const string& da if (!l->ep3_server || l->ep3_server->battle_finished) { auto s = c->require_server_state(); - if (!l->ep3_server) { - l->log.info("Creating Episode 3 server state"); - } else { - l->log.info("Recreating Episode 3 server state"); - } - auto tourn = l->tournament_match ? l->tournament_match->tournament.lock() : nullptr; - bool is_trial = (l->flags & Lobby::Flag::IS_EP3_TRIAL); - Episode3::Server::Options options = { - .card_index = is_trial ? s->ep3_card_index_trial : s->ep3_card_index, - .map_index = s->ep3_map_index, - .behavior_flags = s->ep3_behavior_flags, - .random_crypt = l->random_crypt, - .tournament = tourn, - .trap_card_ids = s->ep3_trap_card_ids, - }; - l->ep3_server = make_shared(l, std::move(options)); - l->ep3_server->init(); + l->create_ep3_server(); if (s->ep3_behavior_flags & Episode3::BehaviorFlag::ENABLE_STATUS_MESSAGES) { for (size_t z = 0; z < l->max_clients; z++) { @@ -1353,7 +1337,7 @@ static void on_CA_Ep3(shared_ptr c, uint16_t, uint32_t, const string& da } } bool battle_finished_before = l->ep3_server->battle_finished; - l->ep3_server->on_server_data_input(data); + l->ep3_server->on_server_data_input(c, data); if (!battle_finished_before && l->ep3_server->battle_finished && l->battle_record) { l->battle_record->set_battle_end_timestamp(); } @@ -1485,7 +1469,7 @@ static void on_09(shared_ptr c, uint16_t, uint32_t, const string& data) if (!q) { send_quest_info(c, u"$C4Quest does not\nexist.", is_download_quest); } else { - auto vq = q->version(c->quest_version()); + auto vq = q->version(c->quest_version(), c->language()); if (!vq) { send_quest_info(c, u"$C4Quest does not\nexist for this game\nversion.", is_download_quest); } else { @@ -1732,7 +1716,7 @@ static void on_10(shared_ptr c, uint16_t, uint32_t, const string& data) } } if (num_ep3_categories == 1) { - auto quests = s->quest_index->filter(ep3_category_id, c->quest_version()); + auto quests = s->quest_index->filter(ep3_category_id, c->quest_version(), c->language()); send_quest_menu(c, MenuID::QUEST, quests, true); break; } @@ -1983,7 +1967,7 @@ static void on_10(shared_ptr c, uint16_t, uint32_t, const string& data) break; } shared_ptr l = c->lobby.lock(); - auto quests = s->quest_index->filter(item_id, c->quest_version()); + auto quests = s->quest_index->filter(item_id, c->quest_version(), c->language()); // Hack: Assume the menu to be sent is the download quest menu if the // client is not in any lobby @@ -2033,7 +2017,7 @@ static void on_10(shared_ptr c, uint16_t, uint32_t, const string& data) continue; } - auto vq = q->version(lc->quest_version()); + auto vq = q->version(lc->quest_version(), c->language()); if (!vq) { send_lobby_message_box(lc, u"$C6Quest does not exist\nfor this game version."); lc->should_disconnect = true; @@ -2041,10 +2025,8 @@ static void on_10(shared_ptr c, uint16_t, uint32_t, const string& data) } string bin_filename = vq->bin_filename(); string dat_filename = vq->dat_filename(); - shared_ptr bin_contents = vq->bin_contents(); - shared_ptr dat_contents = vq->dat_contents(); - send_open_quest_file(lc, bin_filename, bin_filename, bin_contents, QuestFileType::ONLINE); - send_open_quest_file(lc, dat_filename, dat_filename, dat_contents, QuestFileType::ONLINE); + send_open_quest_file(lc, bin_filename, bin_filename, vq->bin_contents, QuestFileType::ONLINE); + send_open_quest_file(lc, dat_filename, dat_filename, vq->dat_contents, QuestFileType::ONLINE); // There is no such thing as command AC on PSO V1 and V2 - quests just // start immediately when they're done downloading. (This is also the @@ -2064,7 +2046,7 @@ static void on_10(shared_ptr c, uint16_t, uint32_t, const string& data) } else { string quest_name = encode_sjis(q->name); - auto vq = q->version(c->quest_version()); + auto vq = q->version(c->quest_version(), c->language()); if (!vq) { send_lobby_message_box(c, u"$C6Quest does not exist\nfor this game version."); break; @@ -2075,11 +2057,11 @@ static void on_10(shared_ptr c, uint16_t, uint32_t, const string& data) // TODO: This is not true for Episode 3 Trial Edition. We also would // have to convert the map to a MapDefinitionTrial, though. if (vq->version == QuestScriptVersion::GC_EP3) { - send_open_quest_file(c, quest_name, vq->bin_filename(), vq->bin_contents(), QuestFileType::EPISODE_3); + send_open_quest_file(c, quest_name, vq->bin_filename(), vq->bin_contents, QuestFileType::EPISODE_3); } else { vq = vq->create_download_quest(); - send_open_quest_file(c, quest_name, vq->bin_filename(), vq->bin_contents(), QuestFileType::DOWNLOAD); - send_open_quest_file(c, quest_name, vq->dat_filename(), vq->dat_contents(), QuestFileType::DOWNLOAD); + send_open_quest_file(c, quest_name, vq->bin_filename(), vq->bin_contents, QuestFileType::DOWNLOAD); + send_open_quest_file(c, quest_name, vq->dat_filename(), vq->dat_contents, QuestFileType::DOWNLOAD); } } break; @@ -2423,7 +2405,7 @@ static void on_AC_V3_BB(shared_ptr c, uint16_t, uint32_t, const string& (l->base_version == GameVersion::BB) && l->map && l->quest) { - auto dat_contents = prs_decompress(*l->quest->version(QuestScriptVersion::BB_V4)->dat_contents()); + auto dat_contents = prs_decompress(*l->quest->version(QuestScriptVersion::BB_V4, c->language())->dat_contents); l->map->clear(); l->map->add_enemies_from_quest_data(l->episode, l->difficulty, l->event, dat_contents.data(), dat_contents.size()); c->log.info("Replaced enemies list with quest layout (%zu entries)", @@ -3616,19 +3598,15 @@ static void on_6F(shared_ptr c, uint16_t, uint32_t, const string& data) if (!l->quest) { throw runtime_error("JOINABLE_QUEST_IN_PROGRESS is set, but lobby has no quest"); } - auto vq = l->quest->version(c->quest_version()); + auto vq = l->quest->version(c->quest_version(), c->language()); if (!vq) { throw runtime_error("JOINABLE_QUEST_IN_PROGRESS is set, but lobby has no quest for client version"); } string bin_basename = vq->bin_filename(); - shared_ptr bin_contents = vq->bin_contents(); string dat_basename = vq->dat_filename(); - shared_ptr dat_contents = vq->dat_contents(); - send_open_quest_file(c, bin_basename + ".bin", - bin_basename, bin_contents, QuestFileType::ONLINE); - send_open_quest_file(c, dat_basename + ".dat", - dat_basename, dat_contents, QuestFileType::ONLINE); + send_open_quest_file(c, bin_basename + ".bin", bin_basename, vq->bin_contents, QuestFileType::ONLINE); + send_open_quest_file(c, dat_basename + ".dat", dat_basename, vq->dat_contents, QuestFileType::ONLINE); c->flags |= Client::Flag::LOADING_RUNNING_QUEST; } else if (l->map) { send_rare_enemy_index_list(c, l->map->rare_enemy_indexes); @@ -3642,7 +3620,7 @@ static void on_6F(shared_ptr c, uint16_t, uint32_t, const string& data) } else if (watched_lobby && watched_lobby->ep3_server) { if (!watched_lobby->ep3_server->battle_finished) { watched_lobby->ep3_server->send_commands_for_joining_spectator( - c->channel, c->flags & Client::Flag::IS_EP3_TRIAL_EDITION); + c->channel, c->language(), c->flags & Client::Flag::IS_EP3_TRIAL_EDITION); } send_ep3_update_game_metadata(watched_lobby); } diff --git a/src/ReceiveSubcommands.cc b/src/ReceiveSubcommands.cc index 8dc784eb..e4b94505 100644 --- a/src/ReceiveSubcommands.cc +++ b/src/ReceiveSubcommands.cc @@ -1158,19 +1158,20 @@ static void on_sort_inventory_bb(shared_ptr c, uint8_t, uint8_t, const v PlayerInventory sorted; + const auto& inv = c->game_data.player()->inventory; for (size_t x = 0; x < 30; x++) { if (cmd.item_ids[x] == 0xFFFFFFFF) { sorted.items[x].data.id = 0xFFFFFFFF; } else { - size_t index = c->game_data.player()->inventory.find_item(cmd.item_ids[x]); - sorted.items[x] = c->game_data.player()->inventory.items[index]; + size_t index = inv.find_item(cmd.item_ids[x]); + sorted.items[x] = inv.items[index]; } } - sorted.num_items = c->game_data.player()->inventory.num_items; - sorted.hp_materials_used = c->game_data.player()->inventory.hp_materials_used; - sorted.tp_materials_used = c->game_data.player()->inventory.tp_materials_used; - sorted.language = c->game_data.player()->inventory.language; + sorted.num_items = inv.num_items; + sorted.hp_materials_used = inv.hp_materials_used; + sorted.tp_materials_used = inv.tp_materials_used; + sorted.language = inv.language; c->game_data.player()->inventory = sorted; } } diff --git a/src/SaveFileFormats.hh b/src/SaveFileFormats.hh index 803cdf70..b56fb5ba 100644 --- a/src/SaveFileFormats.hh +++ b/src/SaveFileFormats.hh @@ -405,7 +405,7 @@ std::string decrypt_fixed_size_data_section_s( using U32T = std::conditional_t; if (size < 2 * sizeof(U32T)) { - throw runtime_error("data size is too small"); + throw std::runtime_error("data size is too small"); } std::string decrypted = decrypt_data_section(data_section, size, round1_seed); @@ -476,12 +476,12 @@ std::string encrypt_fixed_size_data_section_s(const void* data, size_t size, uin using U32T = std::conditional_t; if (size < 2 * sizeof(U32T)) { - throw runtime_error("data size is too small"); + throw std::runtime_error("data size is too small"); } uint32_t round2_seed = random_object(); - string encrypted(reinterpret_cast(data), size); + std::string encrypted(reinterpret_cast(data), size); *reinterpret_cast(encrypted.data()) = 0; *reinterpret_cast(encrypted.data() + encrypted.size() - sizeof(U32T)) = round2_seed; *reinterpret_cast(encrypted.data()) = crc32(encrypted.data(), encrypted.size()); diff --git a/src/SendCommands.cc b/src/SendCommands.cc index 50557f50..f4651e2e 100644 --- a/src/SendCommands.cc +++ b/src/SendCommands.cc @@ -1276,7 +1276,7 @@ void send_quest_menu_t( auto v = c->quest_version(); vector entries; for (const auto& quest : quests) { - auto vq = quest->version(v); + auto vq = quest->version(v, c->language()); if (!vq) { continue; } @@ -2389,7 +2389,7 @@ void send_ep3_tournament_details( shared_ptr tourn) { S_TournamentGameDetails_GC_Ep3_E3 cmd; cmd.name = tourn->get_name(); - cmd.map_name = tourn->get_map()->map.name; + cmd.map_name = tourn->get_map()->version(c->language())->map->name; cmd.rules = tourn->get_rules(); const auto& teams = tourn->all_teams(); for (size_t z = 0; z < min(teams.size(), 0x20); z++) { @@ -2430,7 +2430,7 @@ void send_ep3_game_details(shared_ptr c, shared_ptr l) { S_TournamentGameDetails_GC_Ep3_E3 cmd; cmd.name = encode_sjis(l->name); - cmd.map_name = tourn->get_map()->map.name; + cmd.map_name = tourn->get_map()->version(c->language())->map->name; cmd.rules = tourn->get_rules(); const auto& teams = tourn->all_teams(); @@ -2546,7 +2546,7 @@ void send_ep3_set_tournament_player_decks(shared_ptr c) { G_SetTournamentPlayerDecks_GC_Ep3_6xB4x3D cmd; cmd.rules = tourn->get_rules(); - cmd.map_number = tourn->get_map()->map.map_number.load(); + cmd.map_number = tourn->get_map()->map_number; cmd.player_slot = 0xFF; for (size_t z = 0; z < 4; z++) { @@ -2862,9 +2862,10 @@ bool send_ep3_start_tournament_deck_select_if_all_clients_ready(shared_ptrmax_clients) { - string data = Episode3::Server::prepare_6xB6x41_map_definition( - tourn->get_map(), l->flags & Lobby::Flag::IS_EP3_TRIAL); - send_command(l, 0x6C, 0x00, data); + if (!l->ep3_server) { + l->create_ep3_server(); + } + l->ep3_server->send_6xB6x41_to_all_clients(); for (auto c : l->clients) { if (c) { send_ep3_set_tournament_player_decks(c); diff --git a/src/SendCommands.hh b/src/SendCommands.hh index 9fffb03e..296d455a 100644 --- a/src/SendCommands.hh +++ b/src/SendCommands.hh @@ -55,7 +55,7 @@ inline void send_command_excluding_client(std::shared_ptr l, void send_command_if_not_loading(std::shared_ptr l, uint16_t command, uint32_t flag, const void* data, size_t size); inline void send_command_if_not_loading(std::shared_ptr l, - uint16_t command, uint32_t flag, const string& data) { + uint16_t command, uint32_t flag, const std::string& data) { send_command_if_not_loading(l, command, flag, data.data(), data.size()); } template @@ -208,7 +208,7 @@ void send_chat_message( std::shared_ptr c, uint32_t from_guild_card_number, const std::u16string& from_name, - const u16string& text, + const std::u16string& text, char private_flags); void send_simple_mail( std::shared_ptr c, @@ -240,9 +240,9 @@ void send_card_search_result( void send_guild_card( Channel& ch, uint32_t guild_card_number, - const u16string& name, - const u16string& team_name, - const u16string& description, + const std::u16string& name, + const std::u16string& team_name, + const std::u16string& description, uint8_t section_id, uint8_t char_class); void send_guild_card(std::shared_ptr c, std::shared_ptr source); @@ -359,8 +359,8 @@ void send_open_quest_file( std::shared_ptr contents, QuestFileType type); void send_quest_file_chunk( - shared_ptr c, - const string& filename, + std::shared_ptr c, + const std::string& filename, size_t chunk_index, const void* data, size_t size, diff --git a/src/ServerShell.cc b/src/ServerShell.cc index 3916a5bf..dfc93785 100644 --- a/src/ServerShell.cc +++ b/src/ServerShell.cc @@ -471,7 +471,7 @@ Proxy session commands:\n\ } else if (command_name == "create-tournament") { string name = get_quoted_string(command_args); string map_name = get_quoted_string(command_args); - auto map = this->state->ep3_map_index->definition_for_name(map_name); + auto map = this->state->ep3_map_index->for_name(map_name); uint32_t num_teams = stoul(get_quoted_string(command_args), nullptr, 0); Episode3::Rules rules; rules.set_defaults(); diff --git a/src/ServerState.cc b/src/ServerState.cc index e58ff533..e7015ce8 100644 --- a/src/ServerState.cc +++ b/src/ServerState.cc @@ -584,27 +584,33 @@ void ServerState::parse_config(const JSON& json, bool is_reload) { this->ep3_card_auction_max_size = 0; } - for (const auto& it : json.get("CardAuctionPool", JSON::dict()).as_dict()) { - this->ep3_card_auction_pool.emplace_back( - CardAuctionPoolEntry{ - .probability = static_cast(it.second->at(0).as_int()), - .card_id = 0, - .min_price = static_cast(it.second->at(1).as_int()), - .card_name = it.first}); + try { + for (const auto& it : json.get_dict("CardAuctionPool")) { + this->ep3_card_auction_pool.emplace_back( + CardAuctionPoolEntry{ + .probability = static_cast(it.second->at(0).as_int()), + .card_id = 0, + .min_price = static_cast(it.second->at(1).as_int()), + .card_name = it.first}); + } + } catch (const out_of_range&) { } - const auto& ep3_trap_cards_json = json.get("Episode3TrapCards", JSON::list()).as_list(); - if (!ep3_trap_cards_json.empty()) { - if (ep3_trap_cards_json.size() != 5) { - throw runtime_error("Episode3TrapCards must be a list of 5 lists"); - } - this->ep3_trap_card_names.clear(); - for (const auto& trap_type_it : ep3_trap_cards_json) { - auto& names = this->ep3_trap_card_names.emplace_back(); - for (const auto& card_it : trap_type_it->as_list()) { - names.emplace_back(card_it->as_string()); + try { + const auto& ep3_trap_cards_json = json.get_list("Episode3TrapCards"); + if (!ep3_trap_cards_json.empty()) { + if (ep3_trap_cards_json.size() != 5) { + throw runtime_error("Episode3TrapCards must be a list of 5 lists"); + } + this->ep3_trap_card_names.clear(); + for (const auto& trap_type_it : ep3_trap_cards_json) { + auto& names = this->ep3_trap_card_names.emplace_back(); + for (const auto& card_it : trap_type_it->as_list()) { + names.emplace_back(card_it->as_string()); + } } } + } catch (const out_of_range&) { } if (!this->is_replay) { diff --git a/src/StaticGameData.cc b/src/StaticGameData.cc index 59c26ff9..f3d37403 100644 --- a/src/StaticGameData.cc +++ b/src/StaticGameData.cc @@ -462,8 +462,8 @@ char abbreviation_for_difficulty(uint8_t difficulty) { } } -char char_for_language_code(uint8_t language) { - switch (language) { +char char_for_language_code(uint8_t language_code) { + switch (language_code) { case 0: return 'J'; case 1: @@ -479,6 +479,28 @@ char char_for_language_code(uint8_t language) { } } +uint8_t language_code_for_char(char language_char) { + switch (language_char) { + case 'J': + case 'j': + return 0; + case 'E': + case 'e': + return 1; + case 'G': + case 'g': + return 2; + case 'F': + case 'f': + return 3; + case 'S': + case 's': + return 4; + default: + throw runtime_error("unknown language"); + } +} + size_t max_stack_size_for_item(uint8_t data0, uint8_t data1) { if (data0 == 4) { return 999999; diff --git a/src/StaticGameData.hh b/src/StaticGameData.hh index 7f6ac24d..92c579d5 100644 --- a/src/StaticGameData.hh +++ b/src/StaticGameData.hh @@ -2,7 +2,9 @@ #include +#include #include +#include #include "FileContentsCache.hh" #include "Player.hh" @@ -32,8 +34,8 @@ const char* abbreviation_for_mode(GameMode mode); size_t max_stack_size_for_item(uint8_t data0, uint8_t data1); -extern const vector tech_id_to_name; -extern const unordered_map name_to_tech_id; +extern const std::vector tech_id_to_name; +extern const std::unordered_map name_to_tech_id; const std::string& name_for_technique(uint8_t tech); std::u16string u16name_for_technique(uint8_t tech); @@ -74,7 +76,8 @@ const char* name_for_difficulty(uint8_t difficulty); const char* token_name_for_difficulty(uint8_t difficulty); char abbreviation_for_difficulty(uint8_t difficulty); -char char_for_language_code(uint8_t language); +char char_for_language_code(uint8_t language_code); +uint8_t language_code_for_char(char language_char); extern const std::vector name_for_mag_color; extern const std::unordered_map mag_color_for_name; diff --git a/system/ep3/maps/e765-dlt-gc3-e.mnm b/system/ep3/maps/e765-dlt-gc3-e.mnm new file mode 120000 index 00000000..2d81f9a3 --- /dev/null +++ b/system/ep3/maps/e765-dlt-gc3-e.mnm @@ -0,0 +1 @@ +../../quests/e765-dlt-gc3-e.mnm \ No newline at end of file diff --git a/system/ep3/maps/e765-dlt-gc3.mnm b/system/ep3/maps/e765-dlt-gc3.mnm deleted file mode 120000 index 5e782af3..00000000 --- a/system/ep3/maps/e765-dlt-gc3.mnm +++ /dev/null @@ -1 +0,0 @@ -../../quests/e765-dlt-gc3.mnm \ No newline at end of file diff --git a/system/ep3/maps/e901-dl-gc3-e.mnm b/system/ep3/maps/e901-dl-gc3-e.mnm new file mode 120000 index 00000000..1adb9eed --- /dev/null +++ b/system/ep3/maps/e901-dl-gc3-e.mnm @@ -0,0 +1 @@ +../../quests/e901-dl-gc3-e.mnm \ No newline at end of file diff --git a/system/ep3/maps/e901-dl-gc3.mnm b/system/ep3/maps/e901-dl-gc3.mnm deleted file mode 120000 index d4b126a3..00000000 --- a/system/ep3/maps/e901-dl-gc3.mnm +++ /dev/null @@ -1 +0,0 @@ -../../quests/e901-dl-gc3.mnm \ No newline at end of file diff --git a/system/ep3/maps/e903-dl-gc3-e.mnm b/system/ep3/maps/e903-dl-gc3-e.mnm new file mode 120000 index 00000000..f602cf2a --- /dev/null +++ b/system/ep3/maps/e903-dl-gc3-e.mnm @@ -0,0 +1 @@ +../../quests/e903-dl-gc3-e.mnm \ No newline at end of file diff --git a/system/ep3/maps/e903-dl-gc3.mnm b/system/ep3/maps/e903-dl-gc3.mnm deleted file mode 120000 index 3805059a..00000000 --- a/system/ep3/maps/e903-dl-gc3.mnm +++ /dev/null @@ -1 +0,0 @@ -../../quests/e903-dl-gc3.mnm \ No newline at end of file diff --git a/system/ep3/maps/e904-dl-gc3-e.mnm b/system/ep3/maps/e904-dl-gc3-e.mnm new file mode 120000 index 00000000..2474c67e --- /dev/null +++ b/system/ep3/maps/e904-dl-gc3-e.mnm @@ -0,0 +1 @@ +../../quests/e904-dl-gc3-e.mnm \ No newline at end of file diff --git a/system/ep3/maps/e904-dl-gc3.mnm b/system/ep3/maps/e904-dl-gc3.mnm deleted file mode 120000 index 5d64d31e..00000000 --- a/system/ep3/maps/e904-dl-gc3.mnm +++ /dev/null @@ -1 +0,0 @@ -../../quests/e904-dl-gc3.mnm \ No newline at end of file diff --git a/system/ep3/maps/e905-dl-gc3-e.mnm b/system/ep3/maps/e905-dl-gc3-e.mnm new file mode 120000 index 00000000..c49439f1 --- /dev/null +++ b/system/ep3/maps/e905-dl-gc3-e.mnm @@ -0,0 +1 @@ +../../quests/e905-dl-gc3-e.mnm \ No newline at end of file diff --git a/system/ep3/maps/e905-dl-gc3.mnm b/system/ep3/maps/e905-dl-gc3.mnm deleted file mode 120000 index 35cff1c6..00000000 --- a/system/ep3/maps/e905-dl-gc3.mnm +++ /dev/null @@ -1 +0,0 @@ -../../quests/e905-dl-gc3.mnm \ No newline at end of file diff --git a/system/ep3/maps/e906-dl-gc3-e.mnm b/system/ep3/maps/e906-dl-gc3-e.mnm new file mode 120000 index 00000000..a991c6f1 --- /dev/null +++ b/system/ep3/maps/e906-dl-gc3-e.mnm @@ -0,0 +1 @@ +../../quests/e906-dl-gc3-e.mnm \ No newline at end of file diff --git a/system/ep3/maps/e906-dl-gc3.mnm b/system/ep3/maps/e906-dl-gc3.mnm deleted file mode 120000 index 9abc1083..00000000 --- a/system/ep3/maps/e906-dl-gc3.mnm +++ /dev/null @@ -1 +0,0 @@ -../../quests/e906-dl-gc3.mnm \ No newline at end of file diff --git a/system/ep3/maps/e907-dl-gc3-e.mnm b/system/ep3/maps/e907-dl-gc3-e.mnm new file mode 120000 index 00000000..fbea39c9 --- /dev/null +++ b/system/ep3/maps/e907-dl-gc3-e.mnm @@ -0,0 +1 @@ +../../quests/e907-dl-gc3-e.mnm \ No newline at end of file diff --git a/system/ep3/maps/e907-dl-gc3.mnm b/system/ep3/maps/e907-dl-gc3.mnm deleted file mode 120000 index 560a13e2..00000000 --- a/system/ep3/maps/e907-dl-gc3.mnm +++ /dev/null @@ -1 +0,0 @@ -../../quests/e907-dl-gc3.mnm \ No newline at end of file diff --git a/system/ep3/maps/e908-dl-gc3-e.mnm b/system/ep3/maps/e908-dl-gc3-e.mnm new file mode 120000 index 00000000..ed56596c --- /dev/null +++ b/system/ep3/maps/e908-dl-gc3-e.mnm @@ -0,0 +1 @@ +../../quests/e908-dl-gc3-e.mnm \ No newline at end of file diff --git a/system/ep3/maps/e908-dl-gc3.mnm b/system/ep3/maps/e908-dl-gc3.mnm deleted file mode 120000 index b62ce610..00000000 --- a/system/ep3/maps/e908-dl-gc3.mnm +++ /dev/null @@ -1 +0,0 @@ -../../quests/e908-dl-gc3.mnm \ No newline at end of file diff --git a/system/ep3/maps/m000011p_e.bind b/system/ep3/maps/m000011p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000011p_e.bind rename to system/ep3/maps/m000011p-e.bind diff --git a/system/ep3/maps/m000011p-j.bind b/system/ep3/maps/m000011p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..bbc7da09952683a929c6961c25bf26c317693077 GIT binary patch literal 23064 zcmeHNT})g>6rPoW$<@RcV$v5v!h^h+DC?6!*}E8&)}O{iqgG?JmD;4iHiV|J(J<$l zxc|UzVcWh)X*Gq0CWRox25<>W!7e=L0}nO$@R?4Uf5k|OQ3jN_uNVD zoS8XuX6Bo7zM0Kk#vBZvM+ytsLqf=S90js*rOx5VDi>vzR}^zos5ZqjF5hcckiFFV zmDgIx>6$frpY01-<(ytDW6}xeMFkVvZ^$NCAytD?Tz(dX2s856SW(ZtmAiA=s#c4oAZlb_C8cJ%ofZ9O|9O{;eF z(ZSboxRpoQ`R~j}OiZ7yt8>3se8QS!?AhjbtDi~X)1+#v@vEP^($c{7m9EN`BEvDSwjSr23FwEUj<5s91W?>P|BainZn=hp}ezJK_0IX9%F}k$X1IxUYAJf9G0;<68 zc)-X3knAVmDkPf!XiGvj%AIIzmh0i5=O;8gW*rA04CL}*ppb;Q_P$U%49gQxpoe(E zh3FF8itK}L5E5J_j7RnbhEqEwLBfT@6|ps;qY&phTt=lXJc{Rhi{W$PuvF;4b@+*IE}a zNG763kP$lI1|%U41Dd=&_DhP0qt-AwcW1_pY2_}x*{N^!Oxbe(BE;Y#%wy2jYRHP` z1p~sISUBIW;T<~#1zh7V-8FhQyZBVUEw5pVOC6cgCJ4|b1Fen5Vp5Fk#ZSfE&- zSg;TvJ|I3IK3I(gk_Z7pKp1+5Q0*!ZH9H8+u>A{~O1>8jJMX7g!<(NQdp-g80H zBuyIICbaBft0J~;(^2Z5hipyOf7@<`NFT;lSsiq1ioy!I2lsG2-@Q$n+|;zScGs-u z`?&X>@89|J`_7*f3Sa|jPwp&zqC^lm&1TmZm*;G@HO7zSt}h=f4#J~}HmSe!H8z{J z(Q!V<;+iqtJ#2JbT-N4kyHRt^`|}tU*~FT$Z!*}tzsSthlK{UM0Y-okU<9@u0(s@i zT+htoyaU^8!iTujpJCfa|5ce%CWz??(9~_t2Rg^n4F6 z`V;XvL;CDeQyb>#e5=GiTBcv+j+Q`^_qKl-V$UyMborN@0AAlYuv ziLld|X#Mk29-jll&Pykvl@?0|94uVdER?peeHL4fy z8nz2f6EBAwJufctX%{oZX9taI3|hPs72=)S1fOIUAL$?XB(wNP6}ddN`^bujCCu%m zI`A66k^)Mz5>yT*#z@q-m4=T#sCcX8V9T+rOOjiZ9>uLlvP*eSIjZcFkFT~X z>p&LiyBhO{=H$9aXLqu<&Cxv@`%tcPC>_dP_?sL)UV1L&y!Q&lwWVa&}3Z9QOXH>=^QfI$Xue^BwHZ9QXtWa6EJZZ{b+%1diYUvCmTZ(I(qqA=cG#eKjL( zPeH5R8=wL9>)j8cck4X}qKEYUIf#Ce`c3NBMc1^9U;Wqqy=8puhNiC^cp(>#R(Kw$ zo1`h23tvsMJ4*hf`tr|PUNn>Y? z&NX*$8Pw?ejWzME(yq~oDyW1hT6qU{3YkPzk`~oOiLubkXqDP+AxR9h-*mn7dHY>s znf4mJiu4rciN8*XFIkm)V>TLY73R5;ifhD}6uvLUr!YPbd(~X{^pcmRGB|-l;iEAh zj#23x#017=cevM}kZLWJ#6cX9rBEbxQ7@!DIMm&RGgMl~sC35Z)E9Vxil%QNqRJB9 z#w69DdzV@{~(EfMSd1LgiImL_@N=Y zdT;th1CvYX?|<@n*bcz*3L-%N?%33My7QDQeKv`S&^*OONmd5Y!SDF|QQ_F@HAl5ds z;Eqk(P>}oj7OmF7YWV^st97tiK4W0Siq-dEwS4vi_5%X}&WRig919!^83Z^VtRTS@ zBftn){ae*)`N9LN*1>A|jDe8{tiA`U<+C5K9~cO5PUKkNSm0R5Ai(*6^8x3Bm1tm! z5nu!a0#^UcVzqq6z=#8@@4;&M><8=z1_GQDITkn;I2JMpa6aIC!1*8(4Oah7vs!)z a2mUewjKKO3fL+@Ce-pO=C7N9;(f$SznBe39 literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000031p_e.bind b/system/ep3/maps/m000031p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000031p_e.bind rename to system/ep3/maps/m000031p-e.bind diff --git a/system/ep3/maps/m000031p-j.bind b/system/ep3/maps/m000031p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..2582869b59ed9ec57ea279d65b22077b25417001 GIT binary patch literal 23064 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 h!23Imw|DRKY+ literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000041p_e.bind b/system/ep3/maps/m000041p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000041p_e.bind rename to system/ep3/maps/m000041p-e.bind diff --git a/system/ep3/maps/m000041p-j.bind b/system/ep3/maps/m000041p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..a2abac16a64af08bf44d88dddcd04a265f224ca3 GIT binary patch literal 23064 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 Kj1|NRWB&qH31MUa literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000043p_e.bind b/system/ep3/maps/m000043p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000043p_e.bind rename to system/ep3/maps/m000043p-e.bind diff --git a/system/ep3/maps/m000043p-j.bind b/system/ep3/maps/m000043p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..7d18903771345c91ced1f8cde5ce8a09ee7d9541 GIT binary patch literal 23064 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 literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000051p_e.bind b/system/ep3/maps/m000051p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000051p_e.bind rename to system/ep3/maps/m000051p-e.bind diff --git a/system/ep3/maps/m000051p-j.bind b/system/ep3/maps/m000051p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..51a0d8ad9af9932f8f48a37a96c185e73d30fb09 GIT binary patch literal 23064 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 literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000061p_e.bind b/system/ep3/maps/m000061p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000061p_e.bind rename to system/ep3/maps/m000061p-e.bind diff --git a/system/ep3/maps/m000061p-j.bind b/system/ep3/maps/m000061p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..57de33d220b5da78362cf7bc75c454083d9cd5b9 GIT binary patch literal 23064 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 VierF1nx21-^_Rjya^mxwoJpV0D(J)tY z)BC4@7r+VhPjUEM&-2`5IT5NuF)&#f$QYj4#(ze@0&g(U`IzYTWpuyP>2LC_|8idN zrW2Tv@w{q~u6?fOd1c%k+ye#g=859s4Txe8cb#(YI_9F)g%T&Qkt(ZGfN8|?FWJl-Mb)eIdI zc6rBx!dPSmbT}<>7z-~k42dI;Y;nS8q5t2ogEhBUcD-Wb_-4iJT5Lw`nz6qps`o2@ z9(&xCKNptg%hA;5B98{_xb~JKucFSk+|FfX@p$(=g&Duqs_s1ggs zM$u4vyy@ehpKo`M)|KtO*yIoV%*#a({nol0hMFpQxts40o5XstkzV3E>Gu9MI!7jb zN>`|zYjg@SP<=F z;Qxx2JqIp6EKnp25nmfg3tY2{d{WqxkQtDN zq_{qmQuLq{=7;oJ(!-=&wB!p0iN(Zrv99)8x*^sIUkdJ{Y!zgK6xU@bY%SysNYIiG z7^JAAs07G1qK*D1gT!Ki1$(~|FT;O=!k^5v>k%81?X+Yyld{H=ElkROOCgweJ27k&#$RC896|TlTkQfY$jrI4n7ap_th@uQA%p~fkz>81j_etrGnfdiS(A>^HB4`9 z7QbznMM3|$#wIcwzozRn(AWj~&(Spu(NX_(l)Eq}S20gwcEmJsjG}ZEGhrunU^su2 z-EZNSIVp5f}wA-HVv)6e-_ZS&Is>VSE*mSl5ImhG`ZflJgh3EI< zV`4SgC0B>;npP`fPQk+mgoZWn60uTxc#@aqsDG|=O3wX@B?k!nLr4IfZW=;yhz?^3 z$En9npU`O#GDux1HYb^H6$_jLseaBpDh>*sL*)my6RTKI`9Q^jiUpei6$>gBR4k}i zNHCy&6$6R^$pH2bHXQg}ZW~o!!Zs9ksl+z1hN5o41>trYJ50fDRCfzaEW?h~Eq*us z&iUS6-2F1@_*xy$59$Xf%qzrl@fLl=7r9~c35y7`vAyPd?5S1oMI-G_uDM_16)8pXu^_3qeKd>24IZ?%eiUk!52?kU?Q2Aik7gR|xFxeT9&kyR3 zaP9rAp&mN##>)keF*n+iZ<^!f97%Ngeu3fn0bb}`D%SG~yeDRcZXR5T_c7`>*M#s| z@Mm}_>?iA8q%of$6gUS`eaFYaVGb1s_5dh9P_dw5LB)d2fQkhb3n~^=EF>6E`Cym{ eRZ5 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 F`d{X(;XD8U literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000081p_e.bind b/system/ep3/maps/m000081p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000081p_e.bind rename to system/ep3/maps/m000081p-e.bind diff --git a/system/ep3/maps/m000081p-j.bind b/system/ep3/maps/m000081p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..f80229b1182f7e152fb4a6f9d441947bd3519fe0 GIT binary patch literal 23064 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 Wc_{oheXp4PkH4vO(%LT#Q~4Ku;!!&Q literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000083p_e.bind b/system/ep3/maps/m000083p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000083p_e.bind rename to system/ep3/maps/m000083p-e.bind diff --git a/system/ep3/maps/m000083p-j.bind b/system/ep3/maps/m000083p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..21779c84978227f567d5ab7275820de2cd0f206d GIT binary patch literal 23064 zcmeHNU1%It6h528Q1(f%2)@`=UlbolCy2#aUE?WK)VT1Wt7M(tGtG(V}?$_MkApGi##}+L4 z>@p+32rvRJ0_I#c7w-UwAGU0DD4P@IH{X&-#0x}=0qklQl;F!;R+M;~WyddOb86bM zFPu>nb&zOb<$O!_JWn!SCVSEV>bCDL<B z=Ti^i*C(X=8M+KM&m%4T!E&5M4Xo2Q$wl5`ss_G2bh#w~b~G(53!L_`JXUOEDLh**4sv zy+HmJ$cH|c1X>flzv#`y(~OB{=_TakH^@;RASb^;jv6bKvDM$I6!xLSG;fE9_ZL+M zV0Gs>j<=(g`a*BVH;dn7Z}*|@&tm&N{0itY zr2cF(hK(`fgXq{&<|BP~G;N zDe^dUxuX|)VZa?p5F;f<(_>=5oIB=$M$-;4zyd3>GqTfhig6VxFgL+mGr6sv@>lMsXcNDEv^vFGU8gJtqb=R|Kjaayp zJTv+W-t?L-b=n2AY3&3qulCo!@O#mNse!+ZcJjdJ5!!7TDz)=2W602qE|OJPU0)eJ zM^b0;6!F}08~oJJ+~8H>u*r@BNfoze&oa$V5wC?mie^87*Tqe2mr3zFE@XZtRx($+6X_e7)K>0&Jm8+IZw7Fe|(0s42xgOm*>oh_Hvj-)H@ zDRY)0b1{mO!}lmPYzp9$6t3dPIgK|;!^ za&+Jga nJ>Ys!%m&%#G}-!#IPgzKfDzan0`R2s`@`fdK#SAtv^f6)Z>uHK literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000091p_e.bind b/system/ep3/maps/m000091p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000091p_e.bind rename to system/ep3/maps/m000091p-e.bind diff --git a/system/ep3/maps/m000091p-j.bind b/system/ep3/maps/m000091p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..2aa108d5964c18fd7053537ae5d08eb406fec62f GIT binary patch literal 23064 zcmeHNU1%It6u!IpQHMShEaF3veegwn@L_xsX?A8YwxDehsY0TlZAOIB2(3aXLgoxg z8k5~^Hg4R7f&`ILlZdUM6_TdA>BfZ4+R_J$C2IQ6G;I)D6dy!f&z;F6JG;@@bvNGa z=G>dio_prr@1FDBbI#2|81pe~ZO!*L-p2)3^ELadw~o?>&5`+M`QrxH`h2V!kf(CI zwOUV4bISMK&7J24_t=Db=cC^J^9;Ab@U8aP(*Us(@cdl{RD0|Kuf;*N9WKPHMW6F* zLUUaKQ0;NvR<$5nmmocefep%lXAV}H|DGG%V-xC~k9zmdGu+(QAOG^_UQ+4UjaG9b zJb#x>)gHURYjIF*hYRs)(dRsy&|FslRC}DaRV|1c^x7x4i2;iNWyZ{^TNz8=)ij=u zN~4)=c^-9hCw=Wz~=Ne8$+MX=a0e znpx!%>h6?j&+nS1Ov!TkuS9b4Jg&Ve%Pq1jhaN)tZS*VX<&phf-KlA6QzDtZfq2{S z_fa#u4ebh{jY^<&epCtPUqpMB7)!l^^5I01a~s-JCe9PcGp?CxIxU|=JCv}dS@t-7 zA!aF_)ob`G-{E=bcwS%I@f<{+gGk6qJZrYzizCl?E)~Zso=e4{c>dQTtJiquPOE#c zt{#?UF1KK9Rfe%{w4;7zwf=;5V{Lhf&tNRri*;eZmh+$LuS&T0>7U0wnzC^)6%bQIl^t`O?f)f9(rmSr^`|?Ua!;7 z*fM`A0seG1j-%$`r2YX%&BI9r+!*DL0tE<#X*EQddKi@p{<59YwU z9)#TvA1`$7f4w8Hr{ln(w;UDI-!VXMGmh%d8UseF5i>dr6-?uhvE6vnh($*Sha)}u zyV6=qS@*@kp70I5H8v3+mtymS9eS%|95r?sJB$w@)0csH2M10@Uhe+@&cH4B63oc$ zNDr9(r~1yq9gYEGFabll8cV@!Z!-D=&YXo$AO#bV&cW_*9A@B~$Tgfb^3mPCD1Kgm z@9~K%R@@)~8Sp>A#$lB628-b?V}Cv=zOBA1yt6j!?_uw>`f*5y$}EkBe{; zrr}dK1z*7s%<)@PSHs5!C&RzO7vTkbzpRt+0zIKC{OZNuX}nz1xZnb0d%O8%+P@Pu z^B=zmH{mqS9D)ptz&Vuhf`tWG!Z{;wqGu7`j3MM1U6rKxkyzZiq}McJC1^H~ATSna z>tY7*-yQcwe~#RSO#B*{$9BPN>^Xg}gwcNsuEOVi2V;=oQD(dQs~e~JT&1DgS=iIfYJ3zQ2E15^)InIMT6AO=MLttxtd z9s#0l5WPQfVAlcB=OB82iUW!Rn*pkclnay#lnV|6R1c^gP(4`929k&YVt_Ls`a6s0 z{fPrR4@94X==~`UC=P4}s3uY_P%cm|I1Erdpn5>{z{v*Df2WDw-{FBii2-7uGzQqF W+;2Q@Swm^_omq@E<{EO1xxWF?DlVS@ literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000092p_e.bind b/system/ep3/maps/m000092p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000092p_e.bind rename to system/ep3/maps/m000092p-e.bind diff --git a/system/ep3/maps/m000092p-j.bind b/system/ep3/maps/m000092p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..c4937dfdc9720676c4cd8c6b0cf562ec34d382a1 GIT binary patch literal 23064 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 BcufER literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000102p_e.bind b/system/ep3/maps/m000102p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000102p_e.bind rename to system/ep3/maps/m000102p-e.bind diff --git a/system/ep3/maps/m000102p-j.bind b/system/ep3/maps/m000102p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..732a76dabf504cb45d3bb3730e3d74777005a664 GIT binary patch literal 23064 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 QN?UKQVr*NkF1IcBFH#7aZ~y=R literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000112p_e.bind b/system/ep3/maps/m000112p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000112p_e.bind rename to system/ep3/maps/m000112p-e.bind diff --git a/system/ep3/maps/m000112p-j.bind b/system/ep3/maps/m000112p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..85ca4c8ca39485b00e74969a510b79e37247ef7e GIT binary patch literal 23064 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 literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000131p_e.bind b/system/ep3/maps/m000131p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000131p_e.bind rename to system/ep3/maps/m000131p-e.bind diff --git a/system/ep3/maps/m000131p-j.bind b/system/ep3/maps/m000131p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..b7d5234a0e8669379281761ac84cda11ee667b69 GIT binary patch literal 23064 zcmeHMUuaup6#tTTQ-W9!Ulf$Q`J#eeQBcQvZ*Uu{jN-rtb?X12 zwz>B^-#zE|o%8$7IbTW{b1}U99#4aZ4+<`q%TJ1$w>&vNTK9%9r<6UY1#2T%sA6|9Zz*vI(1Zy(m&Q;hNP)Cl&LPC?MM^*is$(z}dJ*P}j; z`Kd(3k$B`a0;Z&JFJPz?YjBVe;oqWu%)Qd;o;@sro>dH+q zpBv?u^)bJvy!>8xaU3-dM_dO-&BGDBg&3P%%KcN(;Tv-9+UjBrjAijxzxq}}*TVZj zi~OoILbJXrueEfvzvmU(TH6kL_qH53gsIMyc7M?SioXlA@cu}P(osxjy*&*q40ZSY zrtIkNji}L1Ph@GRP1)h;-aUA_XBOhH0@~3(qZyco-(eMI6frd2zZ{+TcnW9Y_;Vdr zgOjKg2QB(l_jMedgHc!l4HBU^s5qYj{{9@CP^7`w;AzmhuZG6LqmY2(h^WEEfwR3| z!hGmo)cp(+iU?nW#^(kOfEKzIJP2!OeE}AAjP>I9zs$Rt>-pdsa&ZMFqtU>P{J7l5 z*hTk*`;_}Un{jV(pJEFv>^_Ne=b47H6KsYp>T~WbOk)c;v&h2u{v@}^W{tcmcWU1= z+y>p#dxc+a9-PD@PVQuzI4QyjV~^hIA$Pu}nF=xhzd#!P!1L2MJ?HQ|oPw)(4#t&T z#u+&L4$j>?dGXXegQxr$to5zn$$9}!z@)!PdDAcZCBNv8a80!3XJ`iIqM6<>YTkgc zoaU+`73ij+xnF~sP!iAQIYi2x()>hL#NJOs%ZRiT_!~z1&%kKt!{9%Vh&By%z?33+ z;4*x|m4X=z;B3#8;oUF}8GPZG?fOr7KzX1uKs}Lafog$j!C-*;0rdmw2e+$%M#KOyuu%rs1KGby`P+oC K`fOdcKKma47K>H@ literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000141p_e.bind b/system/ep3/maps/m000141p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000141p_e.bind rename to system/ep3/maps/m000141p-e.bind diff --git a/system/ep3/maps/m000141p-j.bind b/system/ep3/maps/m000141p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..1be045f0f4599310d631413e82bff501b973c056 GIT binary patch literal 23064 zcmeHOVN6?96uvEnk;bqkTO?7Jkm!#&jnOxeANjJg<6OiUOr&gd{MGck+G zJMV|kLRnYKg#FMEO&DytK?wMRK%W#^Xy<+zhciPAgOT}zA4Y$e)N|kC(f26BmXf?e z&pRnS_r80-cg}b3IrsJ6z?g&K)lytiyp1cC%TaWncGswM;AQCiJL~ecVoQHBRvzd{ z&kISs#>VkanmO6}ng&o{6(gv6@r95sVxUkNNDIJh<2?vDG59-!k4CUA8{W_EMp)`{Xw6u+M>b!aX4f>K;iFiv%IOhq0`2`nWxkLB8jqF=k)JJdt%9V3_G3Gw^v?NNi+r%Vt$&mqoUNve1Paqebs&sLrN zG@sX=)ij?s*UVRW4&4_|c*-#UpgxTGMtmOQzXo&C{g|Jz%7#PfE>@HlhH0N>fb ztnY&F)7JXbC>*OhS@&W2t0zvLKDAsapH}LW_Y|MkZP|7rEXDH4c&K+!AlQG66 zf-BM8k6KL}3(fexZN3~2YFIj&j#tk<&}5Kt=|wTn~`T&Jp*51hkoqPFN=z(ydV4vYh#e` zzYOzwL;gS)_MOH?m$7lLZ{f?s(1$l8Fn}m7{mnqG2!0pp;%l>S+??aLly3i&APY?#W4sfi@&{Pt0n1;# zFG8=kD|ADym8;g~Vm*$V`sD0`32VKo-8R_$e9oKQHrV}q;y{lcyT`%q=hHl(d7v{u zIgw(4Vu518V1V*LiV4z)fx>10|6TGpo}w(mkkX(WR%(@_nQj`Geop5|q22GwjPD;@ zg}7YnpKl5`58`IvD4x$#-BiUo=VodJpkiUo=ViUorK$_FVXNFxS_fs7cKVcYrd3RaR)>*Yp_6(za+2a?14 Ah5!Hn literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000142p_e.bind b/system/ep3/maps/m000142p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000142p_e.bind rename to system/ep3/maps/m000142p-e.bind diff --git a/system/ep3/maps/m000142p-j.bind b/system/ep3/maps/m000142p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..0567e9ac76946cba4d8951448760e2428201d37c GIT binary patch literal 23064 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 literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000152p_e.bind b/system/ep3/maps/m000152p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000152p_e.bind rename to system/ep3/maps/m000152p-e.bind diff --git a/system/ep3/maps/m000152p-j.bind b/system/ep3/maps/m000152p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..670f29d00cddaf8d005e005fb0ebd6c2a02cbde9 GIT binary patch literal 23064 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 GF!3K7+#~=1 literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000161p_e.bind b/system/ep3/maps/m000161p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000161p_e.bind rename to system/ep3/maps/m000161p-e.bind diff --git a/system/ep3/maps/m000161p-j.bind b/system/ep3/maps/m000161p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..2d0b24df55430f097e8e64be2b5932057387adea GIT binary patch literal 23064 zcmeHNZD<@t7@kcuX|F|#N!wIWBM5@{tLqODG1*-k5{R)v6~&kzNxIUYR81pFL9*{w zNo&5$wT(FiW0Yc3>POmY6=E;fd^URu{w%?!KMXCXq~K5Cd}lYg+u6O|UhboJ*UY@! zX5RUD=9y>a-J9JDAp*hl#m0^I_-KYnf^dgWESL?RNKD>%?d|%tWS)`qUDF@ z$=NX{FA+TP@?+X7EHceD(|Fkx3)#{X9mI0&K2|aHUVdV{=s>qg#*~K9r?BSlUT-J= z#Or;VEMwBsur0OO$L+HvRL!KpbI{Pq&+W6M@_RNc*Q|L?5m?_XAzPm{S}6j1^L6rf z`Y8^a58ZI`3=Ox>RNKD_%?d|%e*QyM+#0ePvx?^0%QV|e<7HPLWJ^_Q$77-2eg=n*U%#7*szDHz1|FX87J_TOfN z>D=T^7LGKWJdQk|s&XxU9>%%s8VXc(8{yDy^bun%IMP|{-=L~W@s5D}gb}VVofRh3|paScs;h;JAl| z0?J)WY7jMky50y&u_Bi}a^xaftG1Rv>FyqCUOevtB@Y2wMgM&)tjN$)?MW)V?}(0|Ix z)9XYfy|Rhoglss{O>jas9I2AUSnnSFVewX{l5$h^y9I(jXRZvcgZ`2JT;J|)h^@%8 z``>=8V{go-IjzHLslD??oLaW6)9acaJktB8R`YR>KXmM%&%ZdhSF7qg8>&b$zlL=U6=jeVCf``z;&1g zgSLiIY&l`JoYJI$v7Ym^#o+sR9noYbqjm1L30=p>VcGu{d<&EQiJli?dI(#EJ=Dk+ zYDG;&O=JP>ylLMPYEx*_WV&c)(M~dhHgDP`f)P-{oCkgZXEBh)DB6vZT$ghwM07zU&N^;PT`vQR-9O=~92~=DS77v&5 zkK&R$$p*3kf8W2=!B_y}aZTKd#5IYd2|nm!M3&)a2iM1~PcBRNdgM}l_t<;345M9F;Vbw7uEIQ=fRkFC))qT(#LJ~Qfpqso+WkvNtKOhD z@HK6p<){$#a@EY=cU~OU^3;ce- zV}Zwlr2vlw9t%7ccr2_c!2fauxB^rGeDm3gzn~q^WqluQ8fx&19LAF_#D#RM_dDI1Ei~Cq4($efbRoK0sh>`V}Zv4kA+nQ`2B$24`O?P z=ePpvT><+30RG0`*6E}2b*;{)OS)fgf<*}7D}zZm1+$5to9P2|nj+@BKmGp$NpI3$ zgk^kpfd6c81^=;k7CuLt@SeT(3ZcL?p!9RT4msA4YhWz^-v>Mvcr5T(uoU32z+-{O o0*{4N1^E3SrUcJ%1-JsqC_pwx{-w_qq=al*%L@ZSiX+ti2SBxSBme*a literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000162p_e.bind b/system/ep3/maps/m000162p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000162p_e.bind rename to system/ep3/maps/m000162p-e.bind diff --git a/system/ep3/maps/m000162p-j.bind b/system/ep3/maps/m000162p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..f8f23d0155884134e9a5d86023630a976b11a8b3 GIT binary patch literal 23064 zcmeHOO>7%Q6n^W_l$ewv5}Hy}5+o!poLH+u2oZaiqC_NBkvM=Te@R)nwCS90~{(<;%MI6_0P_3>~;Lpwc9sO zUeB91^UXKk%&hk(0Z;(b@xHzX+z0G{?6m0nN% zav+*a;d#A)>B2=kw46auE58=9-*N&?0=iS*_*!VP`>t#5U)DiiE+Kt8d60g7L0@Ly z*`txUw$1a4Ap1cH<#^j@H3%He*U#VYH`s9}G{eD5G=jbq_Wley0bg^B*T$34I>QU) z>>E><2%&hLG3+9XRl4~>mG(@s+~4LUoIgv>jsaYqMu*Tmq~T@Xk@N!^ZX*neo#U=-Zokd0*CYU^Y{A= zcH9ZgaPSh1pf82JKZQ=f*PO5aP?eyDvc|HaQG2as+iJY_>Vs@4l{;}=ua6-q9_H7^ zD|Zx4M!TY_sZ#){pAF-zs;b$qRWRo_Y%_$Pi`eEn!^oag zRqcVitsO#~{`zrp2e92%Y_k)2Jes$u@7xnuwt!`0h%-Ya;VGNN`mf+;729vg+cY-q zJ{KpoP(P0Lg<)u8_<0=1vU5H&dMIz_cB79N>%mE#!uGoiL+^PwqdlFsM^_MIE0(Pj zCpUl^??IfnVdNge`7#UxFlji4jy_59!jpCcabC{b`o;-cdjlX@Y_eXQ+y~h2$MYHe z{uLvO8b3FYw^M^SE?QH+q0Z=svvF%^FCd@o?t05E6w8hx{s`ir?rur#Bd_NWeRw_B z6sXhIGm+J|P1yQ?s!~4rrMnMwJQwO)D*J1#I#l1A^dW$A12axhRh%{Icrhri4XdjD zq|1ZO^;FgfAMKI(%(*a}I{2i1$8+iHgC7zPN{i2=_vi`aN#~y#rwH^I`p>#~IxddT zQBH)D^Wdba;N(0wsSz0?;3b_B_gD-{PO+@=MN#@xPf2gcb)+J1_;%;%#p3Nwy@Spu zH!FazGmD* zu>|43<=Bqc4ke)^;6JiL;q%Yt>?8kH@Jcyl8|;U7(e^p!qW__w#Wuw@!BwFL~GXz?uZ7j5S$969Bww0Qz;=%=!fNiL!*}BTDsyee-+- zHHoqW?uEV9q&bb(LX&ZGUwZEF`v;GS>+zAfcMjXa7N^BcbARb#quO_q188&FXBAjL%(Dl zlwPp}9wRg?ohNeLsrU%}@G`0U`i_(tr;Ck6SVS7yhB zjemGB7B{CqJu!D0pQD@+D;Qp?u0xk=K=dP@hln*~4crOfb-;Up_X6()R{`D&ycc*c g@Lnh>z~_UC5}acNSb=&Jfd0a*M(!&BdJ1I!144BLc>n+a literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000163p_e.bind b/system/ep3/maps/m000163p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000163p_e.bind rename to system/ep3/maps/m000163p-e.bind diff --git a/system/ep3/maps/m000163p-j.bind b/system/ep3/maps/m000163p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..fa535034f979c6e1895d5ca91c4803471f9f0725 GIT binary patch literal 23064 zcmeHNO=#3W6rQxD+FDw%wXKR;LGa=&J&1^HCRBPTA|j$tJy?moD9wIt>W{L+@!W}O)1aSJRa+oLdubSNR8`H+ ztE#m4bk;EFC|vttEhFj7&`i#@ zPJj&<<=|)wF#fn<=*>Ga^ia+oS_6!J@Rf;Ub%Vy^fYWXm);`!T!!QUG3VX=)8D>^= zp$`G)RL<5njoI`(A;bA0<>FXZVBVYQjNZ9sWI^MjV>w&vfpxK%S^=HGj%Fj?pvQpE zZV_+UxxDWY;12)}=q^0rcZ}xe50O@i8@CPg$Mq|-e= zg5Bt;p#m7MH59+d)VLo-M5&<*{@wB7^u+CF=JWek%_k=OCR9PGl7F=^QT6y%rors@ zdnZl1eR{(DY_6JL%^&9La-?W*4H*5ZbwmvsUPFun5yY4acphLbU@iy+Fc&ZvFc&Zv z3JTy86+i_F3gEXgejl({z&Jn+Fb>42h`E5dfVqIVAQZq{z+Avwz+5OOfKOBa6(}fx z-^%!Xz+wU805!lk5T_#M0_Fnd0_K8H0CNFz0doO!p`ZXhQ2|t-90f>+^Q)3?YC>9^ IW~asZ0|JdSApigX literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000171p_e.bind b/system/ep3/maps/m000171p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000171p_e.bind rename to system/ep3/maps/m000171p-e.bind diff --git a/system/ep3/maps/m000171p-j.bind b/system/ep3/maps/m000171p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..ec4261b0541a7748a4e59cd6d6d0cf6a7232510d GIT binary patch literal 23064 zcmeHOT}T{P6uwh`NS8uiq)_tWQ`(2nhfbeb!JQe91X7`WC@mP!R3{~fEvc45e#o35 z#of)Wu67ZHP?bQdi%pCK(w2?8TYsCGQiu(Onnp^psY+peDS0St&)sp&u4B8qY;?4q z8E5v+{rS#4-#zEMv#5*-43BWdfr<)V$T@_vbmK;yAe8uAnLB<1cy|<(6hCItciW8e z`EK!O8@7KdHZ65t{`MGC`TWV(zQ^2Uw)oz(z9qNsazgU0XQ}PG%>A?o(v27(28e-u z$be0b^Xa>7|Fa?Nvx-gc2YLD1WAxbC=%#O8xGeXZ$XUhkYpdzqH&SPFlvBN*=f8InCm zAO=&K8{X!9>RV29v^G`0`C(goQ(KcYO6$;D_0#%A-Q$OzHtmzG`mE#IK00src>@o% zx}d)|9y;UdUFvJm>RkSz-cP~IMuln5UvLA4yIVaikc4{>ff+D*eh96>Xz$;Ah7g8` zCc`)w-UToq0asvNlROa^fn=cBdls%@pJ7<`#6NH74#Ox6!ZP-o)}%|{b*;d>@0|Z* zxS>g*cHe#U`nvxn+MDV-&#h{*ZQ}pa3gM8@h3u}uoOTlV`yks*;YIcidyh2!g2 zWyggXVS#n96Ksh6g6D5|-cFweGuSjg1rg6OJZprSR4Nl!#l&SHeYXwwfMtEV@C)&6 zxAq}U>?=c@Y{3a*FKlRty_sqpWFWIw>Mgj_`n-zw9?S>chY47LNHEmX0ZC7?+r<5k z@3rHws!6_U@Ce4>7L00=-mV|fPwKsp3|<$+kj0G}nX8?aq+l;ZQ=$`bu=NJap8pbt`%!CUj z;UR|MOlS~BFWuw;iD_{aCN_tR9k!^NQumaS$5*mu_#N(}-(#4S39Zq!K?c&GHE#BI ztLLITws$Vs2RmfZHBQgLY5SZor|00bed54M8>iR7Y5Noh6bBXqq=}RZlnay#83srX zo-jcrVt^QM`d!s&`#b`io`ci&i33XqoL&c~?Nc0399RsHCQ>d?E>JFH7$7|$Js>@J zk_}WM28aR9fYaYuoVHIKSb5;|Iyh~g;(+47Vt_P}a)EMzav{S2=>h2h=|LtNoPJMp n+J1%y`XmO3fx;MI&*C5LV^{othjLa~*cjf6vGP<|syy`%ELnQ~ literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000172p_e.bind b/system/ep3/maps/m000172p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000172p_e.bind rename to system/ep3/maps/m000172p-e.bind diff --git a/system/ep3/maps/m000172p-j.bind b/system/ep3/maps/m000172p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..ae81da8269eab44212a900d32cbe1b468058104d GIT binary patch literal 23064 zcmeHOeQXp(6rU@knu`&m{)L(}1`&c1lEe5B8oGCi6blL_1OiIR$3{&pRODNe&f5@a z@1wmQ?b$O1thLzV%c2b=gmSy3v}bSmL;o-_MNZMS6ikW+VxmcXvwK_at_QvIuGdy( zm+kJ%y!pNNe)Ha&Nm>Xo5xkDvV>X%DN9<*qqKz7zCUzMOd}q2%Ou5nUQJS*yX&YkK zdF^M)3e)8xWrdS%LTu=0!4u=cXyY-$P)bK{LZmh>svo`b6=wDiUf95TkT!@pMzjW#;<3#+u8PaguZM$9ItPLL0RpH zws_`uqp$I*Y|-E>h*!2nies zslxn_YW;=~VGAJ(%ab!mxt|d0qxh7ERC%r_23FVmlV5JI^Um!4S$+=Vr&knX);(FA zw-BQk?U||DBEMAc6P`lOSo|QyLQxb+5*Lr>JCnrY`Of@Iw0LGU*}4Vm)*o1V@cZmQ zewq9LA-2WX--UUB`Of-nZ)5vHq=sWI2mXrnQ^T2eqrLqxrHXwAa9B_h;LH)l_S~7G zCWAOaQ*7SJ1*j)a*R6f$ynM{s&@(&69+a^?f--)rb4-2!ANwawBTsJq2pPhE`c=7P|IwOK$Dg&o&;oc}msqxG z{kD?gyrr8<-!CpL*8Au-sYH5D+ACE!p{A5>Pb71@b==qOt#tiH7rC7trFM_m6ZUSR zi_Ff?Dz1Y{1?d&ZF0GR`OLosk5Q^3UL4Af3Dvv{`_FK0b2EB*i99(g1ujmE8>r*&e zbs791V_ySYf$Pvlt!6k4p_&uUQ!ogv(1io%@j0%2p#b=);Owwp0=2rt)nB{SeHc1$ ztXX?bLksjk2O8FA$eW>;T6J3yMu9N&nxUTxbzOCbAULe&91iqBlQydju0kU;Q!G6b z@-odZIqd?Rge&gd&=6~)X}akmyUAMZUPJIUg|)kf>>{V|Zee%MoSZr2Jn6=}gWaYl z*gZ64#8sw4d(3d})h!(>{7mzZO+3!YNVYjA2{<7H_Z0oY@+rd^I7$U9!`Gp!BB+%_ zR-v`(jN=C!&DCFFv1|puw-ak>GxTY-JqW7fA8ZfTa;=OWhXLrMLdCCi6{zkPnRL}= zto1Ee*29R_gZO%}4nYu0JKHPTu-yASGNOKGzlm~(*`7f+u)U!R4$wln7>#R0v8!~k znOUS++lczxw7n#Zw#lfeUn}peIQu9JP{CUXKe62)!5>B$?oYTkoUjjkyu@2VtuD9s zEDSoDadprK#=OS5-{C|5`jBOf5^8lU1GW-66KrE->)8z9ns-r#ZKrGlWh|eA5U6z} z5USo(E8!;E&Gt#pPKVw31>0My-a*-*R3W`86-sspRIMfPuvPh3M50}a&5R=|D8 zRpyZ$2NCDX>fWe%9kopEq_*BHmii-0$JRmnM6=l;#@-2ouETIC5*kdD86Mg3F$6AR zPam43po(zi8OMiac3N=lsJzKe7p{%2I`BK{(RY1fA8zsJ8+!gb>I|a(76^Lx;V6sP z1`HgtembEAx_Vk5EyeSZM|zX4xkDI?OdsAejtt;$tu{)#q!pmzx^`incVPgv(hXQ! z8qNFtpm^#qiuzeVV<7a>!bD4(rv2&eDQVBoB^zsk(t5fjBRNo(nnyJQsK_@Lb@zU@*YnoB_^&!2mxi z^Ya0V1s(^S10Dx@RphzAbAjgq&jpM`T2mw0*?dE z0gnT{D)L<5xxjOQ=Yq}v&jp?fJQsK_7!2??XMi)1Dg*3HjsM?aD#=ZLCLvRYrVLFT F`WGD?i;4gM literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000173p_e.bind b/system/ep3/maps/m000173p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000173p_e.bind rename to system/ep3/maps/m000173p-e.bind diff --git a/system/ep3/maps/m000173p-j.bind b/system/ep3/maps/m000173p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..377980537722552b0c9c7825fa4e5d08441cfde6 GIT binary patch literal 23064 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 literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000192p_e.bind b/system/ep3/maps/m000192p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000192p_e.bind rename to system/ep3/maps/m000192p-e.bind diff --git a/system/ep3/maps/m000192p-j.bind b/system/ep3/maps/m000192p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..97c177be43fc96ebdc7547c7f2384961e40e6386 GIT binary patch literal 23064 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 literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000201p_e.bind b/system/ep3/maps/m000201p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000201p_e.bind rename to system/ep3/maps/m000201p-e.bind diff --git a/system/ep3/maps/m000201p-j.bind b/system/ep3/maps/m000201p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..86f71a6003c1f2a1c1196a9bc58192bc77a9756b GIT binary patch literal 23064 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 DH{k_X literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000211p_e.bind b/system/ep3/maps/m000211p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000211p_e.bind rename to system/ep3/maps/m000211p-e.bind diff --git a/system/ep3/maps/m000211p-j.bind b/system/ep3/maps/m000211p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..4e928be02f39763b9f68732b10bb889ffb5d40bf GIT binary patch literal 23064 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 SRQ|n_zfBnHs_dwARsIKve@@E) literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000222p_e.bind b/system/ep3/maps/m000222p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000222p_e.bind rename to system/ep3/maps/m000222p-e.bind diff --git a/system/ep3/maps/m000222p-j.bind b/system/ep3/maps/m000222p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..9804f80adca945b4e1901b4973b0929828b7018c GIT binary patch literal 23064 zcmeHMO>7%Q6dpT~BU!!C14tnCfO6n!gaoRvXDuQ?6&EBfrHBJ8To4zignG$7bI4!q z=BEj^RD=TRPf$TcYJt$Sww0ufvPPAPKy4!kNR3H_Ac!A{lXvY@1)4rY9 zJ8yp8yziTN-y{lSA%@S7Jw3akqM|&ZP?ysy8$@=;`Ub|c<|q27vz@FHPWNfrJ3b-oJGHKApC62 z@cSNT4}9I=1&-H?-_H)b;0`$#zXB=ZO z88eP&b9wZ^_u3^9!&c)d%-bb?A{I0LKpe4HjE|XS{2}x$aba6K$chgjCr==b^=wXz z=T z(@)_Bu0M@~FMl;hQhvr+B5NS3JR3Ge5;MH9!2(+IZ=x)8gUZqK+NdeMrVvcq;R9 z^6@G^{cdYAjP_nR0(EOotuAZAPqEGqZ{ep{=Z81(BmLcvZ|9$i+x*3Lv#tokZ&tw{ z_Zhtj({LHqCx4qfAon327dM>xG;32ww6+G8r-srut-jP?>QL%cYk%sU==kc?>sDWM ze|A0>&#%YUi3t>-Z{u=!b zmaryVObaK%JC)X?J{U=pES;>SI5o`{8@AQ_rWKNsXu8 zsD&9m7Cz;a*)SIN85_p(G5Zk9f>RcmD9cW<8J1AkDZQcIP^40k=ju)$?Yrjp5jWDi z<^N9eu$}&hlSa0QlO~)n_OMhCk7U|YB`8_Es`IO3Z#hD1qx_zPU*Q5QrVqj=Rnc9A zvr$;x96Xcx{pg>tkv;|&hq*KDG-~!7ln2jcRBkO| z-(u;Yd!qY%L5uDfg2qoAxXBTeN8RVsIiPdkGC-P0xj?x?GJ*Z^^)rbLN zKro>D-#kI%Cl1^^2+E`G^XVMWIdB;uO{83)T%cT#43Hj>9*`c$Y|#DpyrA(*9_URB z5Ce2KiZc*YQ*@tC9JorL`#uJZpUwfD1D65PM9Kxq1mJM5CiQp Tz@n9ZZ|83l#=0wAmF~*_0Ju)o literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000223p_e.bind b/system/ep3/maps/m000223p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000223p_e.bind rename to system/ep3/maps/m000223p-e.bind diff --git a/system/ep3/maps/m000223p-j.bind b/system/ep3/maps/m000223p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..33dbfeee5d31ab2fec6248f0eea5f36213d2bcaf GIT binary patch literal 23064 zcmeHMU1(fI6rP*3f|0zXq7PyU{($st`(jXb@4XNdN>LP~)QUcM)hB6D5&O{HNsCEL zn?_^eE+P_Nw6XY8i@|D=U7EC|H&#$AMbN%9klKep{CV(UJ!j_LxihmjyPNFYCQD~F z-8<*ZIp6utcW0(8A;cmu{^;!N?7)dWEUVpO5q!boBa8~nFak|j3Lb32BDp)TZ(GG5 zC5n88gqC2yjL77*#A--uolm!nW1fB21tAe*@w#0TBq`=K3ndev_gBlVS+&LbhkoR} zhwa5kpfm;RimfKVQq^_7zhxP9yvlSrI?;KxM%F_Vn~w-qHlo(k8?O)!91&VGX2<}B zfaYd38$#uHmMO)v{uLV&Bz!HO7nIhSV^v!$Y|05!5}IXCU>Ng6DX>MxA1A@!{e+ef zOj+eIiGFMNT76+ke4#wL8H?B_EQS6=sWu4=n-Ovc&B+e7E<2?DLrMxlO#jNdmapS; zJ4EKeGQVggi5aUF0cpkKxJAL0?-}C38AUKVGNX+X_;h?0plHn^B!r}=8iT+LDF`!g zpbZRyN7O%e2R2F&#WTW^t>+^a4&E4_3zL_U%%t0I242ugz0i7hwd{IvH!QAt|Lpxs z+@Rg?AZn zP~ef1?9gp--g!1VwQ{_=&X%jLJVPzUL$>jz70aD75ce<4j&PpZzU$aK&V zP?8y-OSaYb9rOORcqJbV7y?f-d3~{(^hB*4G%Jd5E-E*%2osq%`k5Vt$E{1NG1~Hi zQVHge?4+l>pdb~P;p-4);6R(V$uqba>A-AQiuFf{uq^U%j)OPG=faFps1X55yFJhT zkP!EoESX*OJm-~E%GsYUxcdmnWC=-oo>vck@wZgU9)Y}<@`c%_0Ap{y;C$jQxO>)y z<8I9o=iyY!J+SCG>3qSy47g7Kzav>H+=rkqA8>9zm731y3z?6B<6Xc9abRAr&d!6N z>s92FB{Q?2?H;gq0?yk3&XB)A>KJwg`r6@n?jg{*4feq2(3cN-g*dzF!zn>M=LO*N z)}mMHg!ctF*xy=lihsiUdJgy;<~nD7PNmYof#IOe**cnn5VN1F>r^uPxvD^$Z9gMf z=M0>K?ROV&j(1OK8=S9cIP+s*2j|p1y^?atE_U|QvxF3<)bm@+08Y2(mEa!4IS%{e zk$c_8z<-|Opx?b8V(!QnaGrki$s6{lii3I1mr(yseom(cAKhQijyQC`$xFn_jMgaZa9iP!_T^KC$he>%thQbupi-b{4RFmw>l7~B;nYr;FKgB zyIaM$)h+f*#hd&^x=1_xwzZ3pGW_r{a*a;V^K@zK#u)rdhL3bQ9ZtnF&L+KupJJ|PpZg1af9q(Noe=*nFF|?chKxe2w*gy6c_35VrHl5489&#G6b8k?8 z`1RAc z-;cgLbdsKi)Gz3{oc)14eiYK?>2+v(Vt8fb7kU9^2r+>m2v5JGKhdwKuTfb>R6sgQ zC*jW(m`(8b8vSp!WviE5jx<);wS7dM#!uTB{8;~4OIF$X*Sci=YW+?QkxTHIW1o5A z6TfXIeykp=hx~(|ayi^rNpJ0@;qKr}n}wgW4mT6eXi}-R(IiF_Lhcc_NaeEeY@h;W zziy!TF{RD>h!JIjU5&nzR?kQITfK)y`5O)RA#7B~R?j#4!0ZFAfVmURSukh8oP|&U zb03)dz}yGXX)rURfKdPyX!ZZ|G|Jy-z|TRWI<|Vg*#~AHa0SerXwHH;3+60@3Yh!A z+y~}92v0++|2wZy{-F-$X%sLDn7WqGw0geLfZqhI{vI3UZ}x%N2V4PjCz`Wh q&Vo4$p#tVUF!zDE52DjxW<~*{K)ni(4zhJU|2H9IOS!$grTjl*({?)m literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000261p_e.bind b/system/ep3/maps/m000261p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000261p_e.bind rename to system/ep3/maps/m000261p-e.bind diff --git a/system/ep3/maps/m000261p-j.bind b/system/ep3/maps/m000261p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..64e245aab5c956fdcd20005a630bb15294dba8f2 GIT binary patch literal 23064 zcmeHNUuaup6hE;|i$U0f!J!Xzu$Kx}(1^$=uJ;B;)pf$2L?()h*QwCTHuqAL-E&de zC2f+X-RPdA?7_80*=pSOkd=gO%_J$ziSA+kL9lgoLOVpnDcAGe+iRM*=JqaWZ?~TB z^xk}b&UeoFe&^4ZKmj}e;PHAJ8@<#iZJs)@SZp4T!*OFNe^Jt!>;-kvCXKhPfljfo z6}ZM3*4ufVy5p|Lr#zLb9XkcsWqzmrwc~gBICkodBFHaBfDvE>)*%9R^%3mqd-=Mp zz%|ZLejdB=8b40W&9lR!e7)udthB&tzwedrUuk=5EWg};)sAayUaiHg!;;TOW&{`k zM!-NIb2AW-@2BUoSy`or{M}oJhmXpi14!=xY~7wOET`sXz2Ewz`Qf8Mm{tUT+jt-# zoy!-T%E|mgx*sNcK2(&6gJgq0U&x%Iu|s>L6zQJ@kiQ0)m{ts%gk4VMWFJ!$c}uuaj_1{h!&+$(o|Kj=qCR2`0C;kfWz!R9k^gw6q zZM-OU#cmMqO#J5~Ut)f+BQb!ZL!U&uFhzEc;5Ak5$;Dp~e6%m$|M$@4p4s>%oI4Ub z^xR-_fh!&FOJs+-#Y}h-M=^)bF0#HJ?lq_x1U+idBOqv_ zL03S~A%h|yC}B`P5b3%VS5D$`IlL<-x6ahw{>tNvK%nmP;McF~-|18EAdsu|KlJP1 zCu%XqA@CA9BA5KoWFXZSm#_VQ#gFbJ}3a%%hm8h9!7kFu914;MON()h| z(Qlz~E9n>fFBwKPQBP1a&3lQb_@5b@^`A(ZAZmt%#s*6CnT3vz_ysk?HV7Fq%%1RW zh%8>B3A|Sd^CeW?5z~xGWj8TCmGN2aRXmAF{1uPkI9{bYE3yOAIDz>@634KBr*Mj{ z!4zGDbm6M9xIlYm=|UVeuS>cfL*WZ}fv(wO(JSEr+Hn=n($y<2-W)xnsziHc@jS^8 zl9Ko_ap!21r1v#ED^weDXT=qcKlc2IWAPI>HgK}WUn0>t_s1_qgo`xAk)za2%Kja82Y~;9THbun^#S!1bUQ3*2J_7y+({A_m<4 z&EmFx#=xuuZu`M){Tv4z2POhs6FC<+7dRIz1h^h>J>Ys!%m(f;0*rt_!0q2GZtG_Z z%sg=04{qz{IN&%i5#XB0xxl%=xnLo{^?>UE*8?jX-2R^Cwtfo-{$vCgf#o3p_vydi OPTqp2Ua!;Z^?w07s6|)+ literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000271p_e.bind b/system/ep3/maps/m000271p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000271p_e.bind rename to system/ep3/maps/m000271p-e.bind diff --git a/system/ep3/maps/m000271p-j.bind b/system/ep3/maps/m000271p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..dbac81e06f4d344e73969e46dccb8f5c69c2f175 GIT binary patch literal 23064 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 literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000282p_e.bind b/system/ep3/maps/m000282p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000282p_e.bind rename to system/ep3/maps/m000282p-e.bind diff --git a/system/ep3/maps/m000282p-j.bind b/system/ep3/maps/m000282p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..ddc0b7cae225bdd0a1cafccb0e4b8bd00b2cf7f9 GIT binary patch literal 23064 zcmeHOT}&KR6uv8!nvH2+NE-hL2|i%8Mj4}~Zc=79B{VkC#6GC0(L|Vpgto>CYWkpa z#s|6})S?o2fvm&`N@^svZ5o6fsjhanFTNOU4U)8AL$tj3;=}me83uNCVY?f)odwR^ z&dfb`?tJIm@1CF8gbEQ5LImzDzpH#JI^H7?D3ec@jsT7&0iA;7t={+3u}YvHvE=ci zea$kb(6wd(Y_frk&R3!9%bdUN+#xe`i!GNrA=p5ViN%&Z;H4)Nd%2l-rMF_QMX=Yi z|HYQQ+I*MnBFGnJV3RVC6@Z1tdltYZ8`$W46}rC6`RmRdyyZ{+`13Adt+E%b^dxMc z$Eae<9`Mo=ioM)SywY2-*CN>K+5ck8UTwZho3!lnvY7#!0rRQ8{_x8}M0Q@&%tw={ z$#)^Yhm(X*6GH6KG%cSXHGji9p=2ujv!a+anx>X1O1wshf^o*AJ(?D&*q<^VQk038 z`uf#bMJW^~ep1uIcVJx)Ynr)NQPlfzexHW3KbgvBUGbxMrvW&RjVb0fAttN9%Us&J z^29OE0%sf6^*~?0xwo%>@~dP@Jyp0pW)I%kp(v53fwNQ7>K*~keBt(NRQG3p&h6Fg z&+E(cO_@WVOr|0`kblshK)z9*LHr*?PP!ZU8L}LYJdQJfoQeLV%n8+slI{sMPMr{D z2lB=uPI%7>IJ+_Dh%-mxgda>t!85#DO7=+W)Jw?quT&g!EsgK)J{Wldb|%2j`_5Gi?(#7EER>M|x>(ABOPI!)(kh!W9Rx`BRzMrfAC(azEWU7#3^!w%IrbfQIX zqmhmX{e(Gjn)>u>x=xqr94+W!nx>)l>pkxr|3}WpDc?MU@dSE5(D2CvK%T;^S^6Af zF+4p@SD|%SZwO}Dz7Yok_XlFeaii7fG>+-vj1`uNI=iVtwytIT@v>QxP|qvH7_dAcG+?zuE_9+ zr3z7rUJb4lB53`G>zy*f?9pmmG1DHEvuZ^MEp0BIYzKM;p40#_WcPPL4lUy27l(~i z3t1W%0(uaqdsJI9wvI|UU|Z-usfVRP+Jv(b*BVhT8f`sJPukoFi&r@$-?xhMRaCBv zVdfb5S1^{-AmunpXkpym6ERM`+{8`(8yvzjL~0CX{FT1Z_~(! zM58E^0TOH+>(7W7hm5H4qWxL9K*POn=neTeSxyZ%f4J71 zx#suF!9h$0EDhkEpaEnC`5CS6%V+h@oSQE*=ZrP4At!o%5B;{mZ~c-bziseaKXc&3 zir@R-w|@2m_5+6j&WRig919!^E(4qomYLulGr$b^{jKV^e(3>z+u*l;=D^7Ve(!_d z`q>ZI4;%(KCvq%sEO0Ei3~)Z+e8Bl&IU2af3@`(d0l$B<_^qEgaN@x4eehd9`vLob z!vN<*js=bdjs=$i&Igtqga2um=hXCRBCy3Ov$k0O E0}7ydivR!s literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000291p_e.bind b/system/ep3/maps/m000291p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000291p_e.bind rename to system/ep3/maps/m000291p-e.bind diff --git a/system/ep3/maps/m000291p-j.bind b/system/ep3/maps/m000291p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..639e8f033c4b92ff3f8e884bb5c6747f642a1ae0 GIT binary patch literal 23064 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 V-2*&tS$XdKoRj&AwKZC?_7B`9FpvNM literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000301p_e.bind b/system/ep3/maps/m000301p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000301p_e.bind rename to system/ep3/maps/m000301p-e.bind diff --git a/system/ep3/maps/m000301p-j.bind b/system/ep3/maps/m000301p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..ac16f5d1f5308412533741aec4a42e3e93fc5578 GIT binary patch literal 23064 zcmeHOU1%It6uxU>DvPuV!60fV)Q4D&Xhu}(N;A7Aw6za{BK|}Kn@kX;iXp)tQ0EMY z$(jxA*4E^y1d;w2YMY9pG|7%lx-q+b&=(b|HIOvcfCj+_eHg!cXJ@ms=}(qy&89hX zGc)(xd*+*Szk7ZrkO&bFLIi3nuB%vsj{gV*%H(YJ2;j&H=oBok@jsu7RRaBpBac(+ zy1<-5*SY{;l?`0&d=uzeTXuxBtbK{cl@#X_c0JUN$qJ7_cAc?F&C6L}cT%Vc(rf zkGui-9h|QUp(lmdY#7F3g4F&A&xBIx@VA;~*BFLgrfG>9AqvJBl=c`#q;h-OzC+W7 zpYH9`&uLnrIEmec5xxfNy3;W122Im%!TC)N&h}J#G3!dS;h8PKxo1$b*9tMR9=y!t ztZR`t_Lsm}i*?=B+h;fQ_Kkd+O6x}ox5tj-nJP_-JP4ePhEabPaApg)=W2C-_UB7` zHT(0*@_bw7(EC&ANEPxA`oqXK`a_8SCgh~+k)I*U@yNY61IU@^kI0;`LDO8wv_CV*6F8_>z}K9%d<4Gsi!G&AM8wmpLgBS z2x>t%QSiI$x$udRRl#hvYKSsu-HtHpZRigrc1&X^q+(#WbV=)6C% zuPZiXHd=-iw_1bov-?`i#-Q0AYmV)uKk0M&-P~$+&{+3q^cVV=expI^?@pRw8l|(Q zuC&t7Iza=Jq<)&CA)2NM%zsTsp)*WVl%TQbC;Oz}Q_M*dzTCZDAS*YGXpSQP~{F^Q&U} z_Z7n}cP-uWd|eI+=sqf{omuCMb6VUi;6Tpb&a9|Jt5tF}uE_9W9Y(6rtHHHW1f73z zy%wWFjc&jdnrc*P)rk;VjxJ`_0lgA4H9!ohel6rs1|Pq1D6Bfj(!dbVgE+logEOh# zQ7s3Qh2BgfEEUowoYlD2h(^(@-sAS9&CRg*B8TMrN^yRXSFVU*=H$}bcBK5 zRLw}x$q$B*{fFsSTu)F+0t7RK!8IYNUN1|5-g#UZG$$25+|&6LjiaCd!o^q65(FbC zEMu6JYh}Y3g(=dj6wrl5;bxmXMOh$Nob72b(Y(#(TSB>hqM7(xXGWrn(=Y!=OU#CKh@W z#EkX~fTZ-EXX8Wk1$KHY)`9n_J?N)NIKU*z@topvKh1#sF|Zg8mI5=&vK`s)u1iM| z&;DNw;LjbKJDVtNy=gXBah$C*5$rsnBHvA12hAOqbCo3;yVRPpVYD2Rbc{HI|-54g%AQ0|mD<<5Ub Cf>Ox< literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000302p_e.bind b/system/ep3/maps/m000302p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000302p_e.bind rename to system/ep3/maps/m000302p-e.bind diff --git a/system/ep3/maps/m000302p-j.bind b/system/ep3/maps/m000302p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..bc8e20c9c5ba213f7e7e6defbc6d9a4f05854f2b GIT binary patch literal 23064 zcmeHNUrZcD7@y-$YtO{`Kp)WLBq=6TgEpK`2IO`x5(wBtjRqC9w)7OOwH2u*ePO@V zq)eCMN!g)>Lb2N-(yGAtrrTf3wHJ?G|p2u4V7q znPF$=oB8JZ^PBIRSptlC7-OD?R%K(zXh-i^00TPU-COE(2?v zI&58^fyyjmv0Cqx&LY<`G6nvc?s7XiBcZntlN}z``CN0|YQIxD*ZjZEUI1Vkv!hMS zIY`*~XPwVM7af^w_1}(mq|A-Q=5QC^f6L5&YdpBIg^qMu9dJrJGG@gWJN4GOe#ISd zs1Wv>0^W{xs4nN0+u>oI&ou|F_B*As+<)l{#^jB7Mnj=UUH?FJfB%3~8c)cdF($P$ zR*ff<5?$l>%NzO!)$g`mkUl(bHoTHEf`PE(VL?&{iV#uf%`azzCoSlpXut;79 z*~^u)2W##Qh2#s6^R(X|?tou@jB&p$4#9Zy8s84Kf)O3P;DiDk<9 z7c$=7-xOREPe=`Av*Ay%z7f80djgr;6FCWc;7{<5P$=rF+7%9C{eyFUEkjO}>#k)i z=q(Va)|7jzCj;;nq~1EK~Bph$g$3b1n)oAS+y%r|G|Ah!eWxp(>Y zNW+WxbwAFzH1=>mq$%inv1kwP^AdR!=j(xdjpmwOOc<)|}&)`pe@15-H?7pbf7+Po>ZSfvF-?vSv@pk;7G*Uv{ z0ogApFR0Hg*g~i2D#d%RcFp$IsPCu&aBPC+HX5g+bXk$T^d)^eFOoBV-~B#~&?pu? zMaR+mm@d;LIz|({PtaiZZW^R32RCD8jDCXCgAkEw9r@X$1~&^VjK1PBjfc~)Spqu^%`R_7Dt_AlbUA4)&CvZH%)Fq($d7(n>f>R&mTotSm zHH8;5YazV|Gi8uisrSo4SI)_QUN_2z`C>c_grCeA45y(z7&yi!r8b)@z+o=cSVr zQ6#kID1nP~{_5AS+n6Ht{6!JmkZ0%@yhkWbCzLv+_P{3kh`xfT2|7hFx`O#J8m4KA z^>t$OYw*UqyBYc*Q&=JnT)t{j$`jdux-|f0UXZHmmDoUTw*rD^do<|N{gPK9q z7_RGMbO~3qcm9g!Ukx39ANX8-T&>0BwaNHg(T}^FX;wM_gub*0;J=od>9|tso&QEe z^s6oE>&jLIzdB}C(rU1ubb4kwUcU+$jM7CM3|nzl)EOD)J-i1AdKP&d!Sru>LN1Ak zy_;z{9Q%+~dS;Vu+u*i-j*{CpxUFAckjxdg_rY!bA`V0xBoPp2qR0i23nCW`1jKo; zfQ0A?1Ox(Zf2+E!pGSb(Hn^={V30fq+};Pb^@}(VagannoQWbAL@tP2Fc1*ufjAGu zd9aWTq9+g#2yg`4{+-2b{Q`qz9=N>^ZtE9uAmSj2fH)IHE{I$ZxnLk5&I55Ci1Wb6 f2DiV{+}3a4Al?E2fk5U6+(_OsPl1-N6=?qf5>o_* literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000303p_e.bind b/system/ep3/maps/m000303p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000303p_e.bind rename to system/ep3/maps/m000303p-e.bind diff --git a/system/ep3/maps/m000303p-j.bind b/system/ep3/maps/m000303p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..c02bf5921f56138f397f074c93a6370618ae1570 GIT binary patch literal 23064 zcmeHOYiLwQ6h0e`+C_-er6mX<;Ga;ct=ZB-3AlT=jar{A6x7;EYh0{_C`RqWTC#Jo zn0L&hH2Gztw#I0!N{CcqvTGj3?pkP33bm3Nv?iz|Efq?I?RVzxW*@Oh))jYSW)8VC zbLPyMbH155v-c4q6A_u7OPxM_Itr0#s%c6D!(?LNP#UW~%`{SHsCUwp{I59tNL}5y zjA`6hzDKu@sW8a}qWy`rp5*SuZQf&#N95K=%!q<4)_PR;q_0NBK8m-V^bSWF7_Yn0 z{Ufy}e=XMiJ(hfud&~!+N(zC=ionC)p3wm?*80P@C^n6;+8Zq&+h`L{I@;e@>&fnM zto}S~`2^#G^E~1gZmjhLo1gIEW5p|4KG6&Ih zdz{Yjt*4zQvOiC>&>6`OmkBR><`ZcP>*}=&=u>F4*pW*;TVv3ZiE%GMPhnksTRV|$ zkjQ;Bpa*T^wa2Ynt@bnUt<&qX71h<-*5EJK=^VDlM&nBE73lK>?70SgA45kkQTuG@ zWqjDLaq97KpDECD+v{`Zz@~QimKpGCRSbI4>+0Q)dwfG{hzve$2ua%OvH_4ULW%v3v8qv2udJEU5<>~ z3(=(ACGr%a56bQetJVF{-{%~kfRETQtY`fx>p41Q4QjGy1xuk^L(Fl^G3;pr+rHFl z9ieB2)9IMHOxo7YGV{l2&*G3hZX5iX)BUZdqL8@kE;oFIx`<@Ih#390Wmk~tez{_u zIA5;%3dU%H^(Hvw7e3+8;6M3DG5bkh?{zOVjfqwM?(pSBjqU(=`R6S#*?a7d=IT zl|FGw42TZVAo^Wed2z|^Fk3E{6^N$lMZ&AUfxZR$9@ks?J7TbAbJ1U{K^zkUF3lWa z&!n&9Q+Lfhpwm?T>fWCt(J(zlo0v>LNg6VNs9I7fF?l6*5mTq6ABgD!liy!?w5kQG zWQDj9rT0lwEmKM*lj)G8111pt0{T_bRbuLty1S&-VZF8a<$a=4>=!rn-TLZ~Zqsbj zhfFC;nCNLHLpv3N*y1{-lvydW?xz>8EvM2{zhB$7@!bzXYKgKbop{+~Qx;_q_6%8& zXHy=yIW$kU=1?kH%_wIe&ko31Ae{kT8d|vbT-5TUB!R%S^T$fMH&6` zV6O#~4OyI4&7-9#Wnn~k6&aCCs4iZg9gYY=8k+sT!77Ojtj9PY0}b|>Pr)>B z3?DO4GQ&3uEM)|l%VYdU9e)HqP7lW^e7Q$ z!0*LhPl>JUsu--=fis|^uTc!jagNLQ-j7qn=i1=X%8pfDLQAXY#%Xa8x=x4_x*g}i z3Vn_67T>AL$H)T}#o~y#COojCr{>HTXQc(r824bwcj$KnF=pf`)5BcRRlZZ)hD`sy zvT9H5uF=mNx#ALj5hqIqzI+XsUU6wSX@`JSqeP}n&VzwQFZ(1<px!1b%rKH&?_Nj2s}&R?&bzZUeoffLqjobm~GIN1#dZWNU#1p+jK^1^<3@-N1I z#2dsDGk%PIR;3|eHMnrIHCl?(ljs;4tGc-RPoq5S{(-&cEBag;5O+(3&s=`9$X$9` zh63Cki0>bB3>fpcag251qT~}jzQVwmkVMZzqQ_V3K&=A<0TmO~UQl~M?S&u$DjukK z5LyeWq!5_w2;luep1xhLb}cdEVdW4Wv9*Yk$U8-^x%N}Med3$v+jv5@WRwR8ae|oW z`vv0X2TkI4aX`2k2fWbB#H9ys{Jvq%D4vI!CO8Ice!}M=!5AtGj0sTdK3&ukiDO!%P*m;g@8g}d!2botl*ly2 G&-5QQhA)W# literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000311p_e.bind b/system/ep3/maps/m000311p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000311p_e.bind rename to system/ep3/maps/m000311p-e.bind diff --git a/system/ep3/maps/m000311p-j.bind b/system/ep3/maps/m000311p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..ca68087325d07a23e008d5a6e3b6c886d82a29a8 GIT binary patch literal 23064 zcmeHMTWl0n7(Oed#MRiCG$xHnZBmUTkw{o0V!-aqnokm6JK`z ziKg8xZGlG8zSv-cwzW_w4K>)(-4s&d7JV>2C{bb*3e;Fr!;3NNcV>3j?zG+6ai!CR za}GOuF8}#2-}x_7mN5@w%(Hsgvb(()Sej=E-@Vy9yxpAPn9ZDd@@JCIIJqc?fjDpH z^ryXosZi)(q#UyDr)=Ji6U$Xw?YGWz4FaqF*0~-?xn`6TeJ%Gp%U-AZPGm0vTI+ph zJ6{AQIa489gRSSCNq3vts(rR|x9xE%AND${{Z0ksIQ{L8k5l{X=yUwK?ceuO!zJg< zhIakbIg3_3C|9o+ycPP8mIfY zWxf6X^}v2hfygxrv(wjVzui1LX$yba&K{@x3vYoViBeBnyS)G6a(S%Z=Rcw-BR-$6 zJQf?5PckM287s#plP3KJKGi;-yr-?*|7BbI2o6Q_8IwD}XQcx^|A5bW@cAh=?hi6H zq9}^=9rSU?C(>PZLw-_G(V!eGabZSB$&_kpb39Y50dcb^!O|`f9BfC%aJoilKvm5eX}$0Jl2te$`f%BcnW#4)39wg z$XMjrB)zc;`VvKnK5Wh~zc1Q6i_aR++|$<1smk9+PH3H*j~v>h$Kx}hb#M94f={JI zp9c}kuNgU$^YM2XJd@IA>m&7k_|PmqkJ#%YU4X1t3O_J;N1krp9(W?5PtaHm+=cmC zlLGjZB**56^NG&jBhAAnI)jfi2OpE)o%pT)sJOt71kMGF#qrN*p=h}0z=?f>s-IBh zjP}Cb_iEoR*{hTUs%u}b+oLb4b=pR4y%yGj6g#M?@6JVIp0|E$8`YP!R~tLSA8ETV z3eshoXzguzPOb17TNK+j+IYHoIy^w#;Xvawod-#TM)waj_tF?m&^fx)P#Zo&Q%%!! zj7I4&U2TZAZg1(K7%earYRH8icW!NjgS}{gtcos5m z{BJy$VwF>ru~IyXS*gCt=d0LS^cl3+;k1R=DZ{xceY^r|YcZ<;|82TT1=#1iOkek6 zyc>LZD~;#=eVKdi{qtH!#Jay6zBp*~M%sRsr3GR~dH`9JA`&hr#~t;$|78EP0pUG3m?n67~AI>hzT=b;IR7{LB1 zkR_^q@`b?6S$D$sLOXzvmlgs1YPFj#QKu>$JVJeNS>rYDD{ttV*3IzP>*@x3uS_e! zely#gnf3X6V9-ma)f#W}CruMH*0Q7N5RI!fnb>ZkV{c|!imYu&%RRGAw{>t^K1a!I z9o&{LFfd}p?R#)rzVHL#2L=KnCyH1Qu^?i>L_p+&BobmI5D*Bs{jTb^eC`2m>)^J0 zfq{_++`b35>K;#3F56ozA`#sHV`6dqHTOc41$P58?Z~U+S O61U8g7he+3i~kE&R{mK4 literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000312p_e.bind b/system/ep3/maps/m000312p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000312p_e.bind rename to system/ep3/maps/m000312p-e.bind diff --git a/system/ep3/maps/m000312p-j.bind b/system/ep3/maps/m000312p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..da34caf09ac61ce895d673bd9c734d5401834cf0 GIT binary patch literal 23064 zcmeHOeQZ4#mW2qH01}gc_A;Bcb0)_t*=(!S?^`Ei#@p6 z<(urkJP0l4wD@!vPoK)e$KqR58RAm6zcOztZ~bNGr&|B2)vtU+7FDC#c)zH|EJ3iP z&tJ6@xLSQ@2fbSBtJQbbd;R>k%pL~)hpbfK{+`~zPNJcj)>fH*!y8a{j>vy6(Z+|Z zR5?@9-v^z0JnshGJ-tIv7~1Uh1|9*f;QXutoMYF{24F?tqn_R~02=ZU`POCasVg5R z(SyFf346ZvaO%ueuh;hz+m9K0fLl%){s#K~vDX{C=d$8PbOM_z_iK1VYinRVI0^Oi z3Wg8Ia8uT=$IAE1_pz1opKomqdcf-kS*$HLU{4Kjjtb5mN+f%FeO_?%t1J$T+b9N> zk<|QYw^G3e?8b?;82=9+__^ZQS3b^SEjvA*zj)B}eEwp7ZngQm5#|Q!aGb+=fgQmC%idL ze?u;3Ul+7zQ{JA0k0|(cl;cE_4@}~C$vcB7NDJCC2WRZ)a3^9Ea1zn^_agrUV(U|@ zcMGnh#D>l%gWt~Dvqx1?a0SXuc3#ejIyo07!5J>V@h^ZgT!7=RE5@j})L2K@X7j0z z2!Hu>FV!{XOSgP(vEq0oI9XC^i8A=JQ}j2S4!z2UdBpHB_E$+idSP4L58Iw?d)Y3k zv(aWAGy|sJ@R?7WFPV=UJLhXvpiq!)f4{pU`gfz*+-t_%v5Vc$8O`qK9-iXUoZ@%c zI`A((V*bE*!VH@`%*V|Rup-G{0x=G`E^zP9JzMGzHWVz6kWgd=4#7 z^FO)Y%>%|JcYzCEuIz4_40naE&gYcNLtB+>A(1DP?4TX4X^|DHR;(fmGO8p=BJV3X zPmoNedxEWfzs9(2=Fxq}3VLwS9ZK#bkp?AeNo1XpyXkJ~fJBto_<}4w0Jr_mkw3+@ zbejc;D(ku{iyI(_>yU`*;Z9(Eq~rpL{7uOmTzu}Zl2&Fi-wzfeyVlV;YNXZV!C}t? zDK%0H)l)OAr!{Erfz)QEf#6mxvu!iisTP>m(XvVD6ZF=gjtW}3k*Cb(Gi{~&ING^z z$h8G!cjirC)T0hN7;0(y|dKt6@iN=902;4bFs`DXBxx&9qD5i2bt0 zJ@g&aiA93Y4C`AU4dlv46UlCR2Ae}+dJKBfD?tm-)tTwc=jdrQN^5}O!C7{}TGV*d z_$ofcHuzerS~S28VXa=(N~=b2)P(CyTg8a**@)VeuvhZyq2Gj3Gw`=6lWK8a?vkn( zHd}xpsU9pyA0B8nC<|3JPR$U(l6wuvHJ}XkaJ6%C1xlWU;+(`x&Bi9}Mzk?iWo}Z|zGSc+K#4ZHt@?U*PeMll!lsuR*nEykq$J zkFexZwz@8~4~56rdgEF2Ju0?l_o3t1EyfZ5bJ$0qGY0%i{MnqH3HyZ^G9QJ-VNQ0m z!BVwX74A_$PGe8$Z=a0qiVVPxKDIb%_~W}{aUL(;Njcd$+1bJA_P;8eE7B5vPx8b< zyOY|S+_IbICicQtV7|?N;j!pmc)u;=<8j#squ0Biliu8FV|BcQn72)N5Md|{WC_MO7TqVtY3KwqU6i4M7ELU-(^GY^DsApi^*50##8ReF(o z7Qa!Ls`YEAQ(JSmHmsl(>6HW zzvjT6L{5)`)BWptpyz?jfR2fJE$FqN*Fuf~9S?Lo$j=3x(+n(k2Jmja1#coxsdtQ% zoN~{3U6|xlso&34lIZmB1;YCSeuopr_V6Q-X*XV@4yeO=;}@?#TFUp_+m$8Gftc_3 zI5^Cq=D;2RJrDF+&}%`j1)BlA7W7)sYeBDt90NKYkC+ zP;+1pfSw0>E$FqN*MiM}UJH6H=(V8NLXH6)5AsatoMu2XP!0pM3jYg;hV->^TIbu4 J>$Z%@{{ZPTpl$#F literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000313p_e.bind b/system/ep3/maps/m000313p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000313p_e.bind rename to system/ep3/maps/m000313p-e.bind diff --git a/system/ep3/maps/m000313p-j.bind b/system/ep3/maps/m000313p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..39dfb44c1f4c2c74e9816dcb6a631739e1e3fdad GIT binary patch literal 23064 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 literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000322p_e.bind b/system/ep3/maps/m000322p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000322p_e.bind rename to system/ep3/maps/m000322p-e.bind diff --git a/system/ep3/maps/m000322p-j.bind b/system/ep3/maps/m000322p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..5f71a7695c5883437acf877c6d5d9f1412c0fffd GIT binary patch literal 23064 zcmeHOU1%It6uy(RsSHwuhK8bsKzvxM5$%YT8fa$6h6D;$?1MiM3rPk7v4S;0@j>UT zO1hgSX;uvh6eI+3i=hu8R4Hw;W0G#{t}pr|C?U|KE%hfaKBzE$cP5+cWRvYK*>*PB zJGV1?&z*C>bMAM~Id>OQ#w5m=p`6jQS&&Cs41?ms_6R0=p^T_`u)TH}SpCR*c?P=T+Y9{)Vye3pDN@^t7ICYGf zA=Hg!9RJ~Ua1KG|ZAXXW_#aJ0!8^W`@PZ?w@G^je#XGhN6x5* zv%p`Q)L<-Hwc1biIF6Zuqi%p>rr@aS;3V;i@zaa!TITry#w`4EuAuh$PZaO{qr1(h zqn8|wG`J?PSNPm8~&40FPS(^yeW>vUZk2=-hz>H}?oHaR>u z&}!7nU9qz-x-n_GXP(CC5{*zSxJZAYAEWcMIPiM-ADZp{k0KPMsZfNLXqtxUGG?oR zw`hi@XfD`x<^@`y;l6gGlg=AzNTXTI=K3o=quEetjz+p}h2J~ozM#t6}??jFEi|6&~-)(f6TMq9Vc169JZAM_FHC;%jmZNmtWP^yltZrGkvy)_AnmxXxv-w zfe$?&a`EGvp8zpca&f)N!8R(&j{!efUPTBWWjE&QcGfg-f z`N&Ovz;<7;Pse7=nZcnOp;3w&jb{xST}B+GD>Me}YjB`ZmP4P0W+@&x9q0(32!Ge} zF8@-HtXakId9MRN*vrTO{@k$z`M?|hUU`usGJOf*GP0l{+jz`q;m$8NTQfI3zYH8) zLNYt|62;`z%$JeSP696&Co&Ln=VfNp*z_7QqG$KgYahI}&sp-?2e0i54xC)^dLO*D zFXBMNfy02Pi6R$7E{I%6G9c=~Difk77!VA2{aw{-`#b`?_Q7lWf&-@xc)br^+ZS;l z;=o}*)I^aBA{Rt1BpDF(K-2?K4_325^aKNf0nUKezgfJtFF0`W!0UbR+P;Vb5eE(f zq9%%55V;_7A<2NK2cjN`dXUTpufL~xZ9mC__!JBX2C`&e9{;Nls%%e|`pare+F_Mi HJFNc!j!tjZ literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000323p_e.bind b/system/ep3/maps/m000323p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000323p_e.bind rename to system/ep3/maps/m000323p-e.bind diff --git a/system/ep3/maps/m000323p-j.bind b/system/ep3/maps/m000323p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..51074996a5110c77a29cb6cbf6863aa4541545e3 GIT binary patch literal 23064 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 F{sX7%4OajF literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000333p_e.bind b/system/ep3/maps/m000333p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000333p_e.bind rename to system/ep3/maps/m000333p-e.bind diff --git a/system/ep3/maps/m000333p-j.bind b/system/ep3/maps/m000333p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..8996b9c644d92cb96b7b4f5de8f8ddf5bafc09ce GIT binary patch literal 23064 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 literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000351p_e.bind b/system/ep3/maps/m000351p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000351p_e.bind rename to system/ep3/maps/m000351p-e.bind diff --git a/system/ep3/maps/m000351p-j.bind b/system/ep3/maps/m000351p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..2f0d2dd6dad77d209eb14cba17bae4c10e6b4c7d GIT binary patch literal 23064 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 ZK>&aFUE%i?>~6Nr%J|hWOsa@+`Ufhl+`a$+ literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000353p_e.bind b/system/ep3/maps/m000353p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000353p_e.bind rename to system/ep3/maps/m000353p-e.bind diff --git a/system/ep3/maps/m000353p-j.bind b/system/ep3/maps/m000353p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..bd3545ec9da0f42c773c34b025b12d52faf560c3 GIT binary patch literal 23064 zcmeHOZ)_Ar6rTfx^ne0VB_wJvG4Tr|Buip67;g7sDJV9E#E^&vBV0fUHJ~Kgm~`JH zMraGw{=vIwB-IbLjRkCMNf795XlZ4S57r1qkYYlyDyE1ZNzOOBx5w_>wRgvHy*9iV z(w#SN=KcB2d-JAgV9duD^SxeDGRKbtZ}a(lGX*=@aKbmygv6If)FWC_8V-DOqzN~3 zvd6)=XlJdTccEMIO^|M1CGsv5Ot&p=@6mQI9GU5<=5EgROa4zae{!}*_NUNv&IT5C zL$2qa@A|@ea~IM**BS0liuX9-F;H5c^L~%8;uFGt zkAs;eQuxL9VNxxS{Fg{8dolnzspe)3JsniKihBb{f8fA^Z7kF5pRE1z$n=>oWrpGf)sN&|o=1XB54{i%Fe zgLi#VDKysO9KHW!Lv?){Uq{n7@Boa+8Z|LQE$mV_hPkQobL z`1CFfM*=mBX_pvN-)3wLj063ol!ih{IWL&8Y~&avC}*`9 z3;IVw>Rd(XU2ev-r_esfo-F04pQ8QWzkgM`9SZf9mR0xu9102jNjZURtYOS};HAGc z_T`1(f*PhiuPD(+Y(J86vbEV7gD2|hLw(pH(VHNPOvJJGis{W5C06m5l~1RphH z#^d2gv?Lr6cI7HZdjijW!Z_{Aai3TMg&IZ1~rG1{=oyBv5e-^Mk*NvzlRrdyR|VHkz$@EyuAVMN#b(5I_#8m>VU`ak)${x}TQ?}20R z74#q2i*sjixv6XWPC{FAckMN6dmC=QuBW*sJU&h;5_m;c)9%2t; zU&&VbI<0=xhn+o(eLt(i9%dJ@|BC%LcFyX3O!R)y<8ddh?saGvOzv#k(n86<*Eme3 zJi;UuZNelCCiu&H@(xL5(@YT&;5+!6(2hmVz&iLRR?|M{5rs~#z@j(ghap|VDrdsi zyo#@fE-bdVxTU(W1qKg%ZdF9Ag;@Vo7)AkDHLa3-14ej-uG#CXQi~!J<@_=#X+<^1 z#p=2?tf^;UxTO+0u&lQN?u2u^T-TazTV;6|b>rUpD_G=j@PNJri?ly&Nv}w_QUNE> z$^lEODDOA$aUdjj!&UJWMLtpB(dZLke%t|n2u5Q&j3EkbxO4y=ZFLMmb%}RLGKLE{ zz{iFu-a`;`v?2hPo3__|gXc1e+gwFYL@Nr8v{#<*^K z7}FdBVSe5?5(d*ALy7}Ch$$E7KA>EnT(A+KT%cT_T%cTV5TGw1KnOSp&|8__2O<_I z4hRE^1N&B_T%cT_T%cUA5ujY4T%cT_TyPMeFCjn(I0(>NncfE?7AOt~1BwItR-{~@ zT%cT_T(A+KT%cT_T%cTV5TGw1KnUc50Gk*8PrRwwJT{+|vW09Bdyp+=Wla2k&n4qa NV!m1Nnekci{{f9ee>DIA literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000361p_e.bind b/system/ep3/maps/m000361p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000361p_e.bind rename to system/ep3/maps/m000361p-e.bind diff --git a/system/ep3/maps/m000361p-j.bind b/system/ep3/maps/m000361p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..547f9b84f47ec1ec41777f94c9246335df29ac3e GIT binary patch literal 23064 zcmeHOZERCj7(N|?L4zMrBY%upjDOT0{ul-j4{WC1q%y{P)RI~1x4cOL~)=@G*C&qT{tgcemt)ns7HEw zBPgZI@Rd@Wv~^FyF69DwHej~nG28V^X>N(GFPuMdN~Y~ZZaLRVcHfz9=bXaH0?o9- z$^4Sn%ds}ZO)&VGZs(Y~A`!|W5tyq8q;$tj{XgXbc{X6S<1yRyOKEP2=}+GOCE)@4 zNPsZicEaRbY^1ADy5ndkQQlCF0(H8r~)RFv-X|AEgAfHUUw%s-`cLJrlZ>y|t* zy})xin$1@0SAWKS8Q8C{ZF_bBXBPmOuxH)wPlZuRd!8DiX!SIh^^{z#ErG+AGjTV+%F@xtP~>{b9oUL0(L$ATYD0GK6&)4=quTSaaY$q zF^P{GzVks-vl!#rtSGMj$^P=c%2Sr4*VC!xQNP#q;Oh_V5;BXTKD%$N`nKEBbcMR9pIU3KQ41ZTPich4 zsMFABkUIDa{CzrwcF4bruF@z*4`OsLoienk1T(f#$nz!L3at0G(P`?Sli(aet(S%{ z{|F6WjiWSRl;Lh;?v;W?>^$Gi-{kADe;)4U)o~asbc_jN>nz&A1g){?BolPjqCO_5 z-=d35(076&5x$x)=e1Nx+v9kOYGJ`ji~`$7crJ0YI$Bu`$Ome+NJtwetIe0qV@0e8zwc+mA#;39 ziOJ**l9)_^31j!dBNyQ_-*0#fmwfiX)%W~9*^wDpP`y8o6$Tv*akyhFoYv_`Y!0EJe zTwHw0aupi?Zhcw=guJgP7G# z9T**}X-+y~lwtXhQ8od!$nG}OZMYK{#u5WyW71bJ9kGojW(Y;lHdL`q2R6V+DvYu^ zi@mLkw})EzM*b>VW6|6%_zu}uaaS-(eG~T<#{z5ootDUL=pVuAEl~x9autR)Gn+fv zePmA-5nu~hrBPu;s&d>DEu;SW8+6#|DQo!63Rc1n!h{FNyOj*(&orlGJbwYJq!ZL_ zR5O6v;*6Sr7y^MAbmmlf{lRm1?daY7o;!5 z5RiW*0ulj%0RCMP=LeG?htulG5X!9ItBdo48#wtpEshPG2Rt|q96?7rPEc?rH$5ow z90SW1@?3{Z?MPx^8$hNw=KFkU2ht8~1mtt0^abe)(idU~$ao;*!EIZRHHpAnM?jn( z#C~+Ie;uczQ$oN^~G=U%)E8^n7kz34u7r{Cl=1TpK+8{+(+jXuL02<6U( zzxL~R3#WsQruPm)o?{@y&-y-O8AFMIy#dk=q%TNckiK9eAbmmlg7gLH3o!&_Jh+X7 gtVskU0@Fc&Esp#lo-5d5_P}(;$Hp+nyojKG0R-ek5C8xG literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000362p_e.bind b/system/ep3/maps/m000362p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000362p_e.bind rename to system/ep3/maps/m000362p-e.bind diff --git a/system/ep3/maps/m000362p-j.bind b/system/ep3/maps/m000362p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..0a017ca7db7fa996be48ff3c00ddff19d944519b GIT binary patch literal 23064 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 l<}JIQJ%IlK{198l9%hfQe)t zTi0!rrF-GuG+Pk~APglNYscmqZgCG1G!Cr~f*nx{@~Elbxp%j__q4OUl&+ned!Rkv zIp_P%_xqji`_64fh=UN~s9&^bp%XjS$Kh}+q|@mK2OR%3z|1ou?n9rnHS9PlnE~_U zT=z#(^jV>O-ooAtHY%F2GU6?4FyB2aBs< z_xuZ8UtBb|VBJ#AP(KSmOGsqSTQ|*|XLqo!FR6siTEJzX#{r9j%zE4U7GtFssQ(s# zxdt-kOOIhrJz(%NqLw{52%S@Rb8TkZe@1~3=NB1K;hQFT~d(=(6WqY`F*!3Ny*puPg*uLLhVAx_{<8yMuLo zNhNgF0*=4`v5ZjJL=hvF^zcftIfI`O=iU2{ZT}esMl5&y;!jH(q!$Q@oKs_GPY42y zpkYt2N17x=e4mi#8}o}PX&LG~9_$&Z6olaoXro>bA`c2e+Rn>rEFVjeCkTqYtcle}<=REDW;>g7VYHValBZ)kM z98IE6o@-5Z{fWGWXA?wzK0`m&e)J1Hb8!N>Hu!1GkDqV=F@)Uik>yw1RAaaX&(3Av zj^ssuRw1rOPYB{JogZ<({d4E>Oiy91zFoa2vanD-Hq!hibH@~8hI zsQxB11+Q$~w*8&@s+z4^>eIvW2MQ=&WwRnFYjOPzc}KQY>E)JA^ZD);->-6wA}TG) zdZo+R74P0G*Er!Awo%^|n1Y07z~2NRzZmF4>z{WHK(gZy48T}m01m?>oPYJ9OzY% z=K{|Ko(nt|bOv}X@Lb@zz;nT1fPZraI0JSVAor$j(sydI#EurOcPvO%rWU0B1=HL4 AM*si- literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000372p_e.bind b/system/ep3/maps/m000372p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000372p_e.bind rename to system/ep3/maps/m000372p-e.bind diff --git a/system/ep3/maps/m000372p-j.bind b/system/ep3/maps/m000372p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..ed9bf2e21ec7e08fc9bc70ef433ab83ea1926421 GIT binary patch literal 23064 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 literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000381p_e.bind b/system/ep3/maps/m000381p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000381p_e.bind rename to system/ep3/maps/m000381p-e.bind diff --git a/system/ep3/maps/m000381p-j.bind b/system/ep3/maps/m000381p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..dc417bc5fd7107967f6198e186051966a98fdf5c GIT binary patch literal 23064 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 literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000392p_e.bind b/system/ep3/maps/m000392p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000392p_e.bind rename to system/ep3/maps/m000392p-e.bind diff --git a/system/ep3/maps/m000392p-j.bind b/system/ep3/maps/m000392p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..623012ce2eb2b109cdee81753f7a2460f1786b41 GIT binary patch literal 23064 zcmeHOZ)hAv6rW9MTh9*`4En(jR)nJXMOhIMp|_h7S}e8JehB`l)YNN*qJ@xv3etUB zv3E)Cl3e4NAX3j*Okxx*CDfWWccy7-_e7+mD1s4bo1}=>7V|+1=WljzbANKp-g4^Q zk=e&(XJ+5LdGGh;z1f}JFeWj^q=UDvs#%Rf-XTe~EBN*FAz6oAWlnV_ty(E%^p^2_k&bQZX-PK@~!0d9qJK<3YCb`m~ zfI&GK0N0)BuEwh@W@qD;G@dUOm1U4iZMb){Ehx3_a`>{d=h`3x1v}D z_>F)#mM;QD%oEJ`94@DN4s#V&oa}SDUWF#RQrXG={OhiSR{(Rq{_g7)U_>b@6fig^ z1K_$-y_Dh0+}GK-C5;#NfBDm+%>HycJXb%Jx8G%eiJGytBQ1G1%k<)(djljRZ_}Je2RzX9xTP zTezID*WrJ!dpVUh<;8qn+Vx^SFO5&7&1arV)d!I`wpw}hq+ujt5A^ocZ$$ef^7Cfo zIq=lqzn`fOS>;n`i>=AE)0Fd=&lgYgte25r{e|Q(7QfTy#k z99!OUJeMPWES#m=8N=($v;x5oDCvKLj?lQ~rKc^9%`N*{n%6$_%HGzU3$D>x^ftX! zZzQ9$QEM&4vB0{haPV9t5WJ{0=m+$$Cp;Z_S!?ig|4v5m!^k(348BUg&?rScG^i=T znf9Y(=sxW^eFvSUL}-{MX@owdSxrs1CjD1~f73A2bH1ZF|FU#9+hfvU#wh@52epCbP5PE`I&IQ9#%aPNgMm^hyHvSeD)EXmeb7&n#b7;oDW{*2DjuiB=JRD7vW zC%w%nE%AWFNs~V2WJ-0A%T}<}Y&G8Rmm?r6d`yAKVh0IK3Sh$6U5H8ky%5jq$xsh{ zj*MfidpJ@isJDpDAgFVe%LuL|>^3+aW&>TSbQ5x;p>GwjF z!xV!`yyG0rhUP*6n!?o>mOUjf^`3$?X4Y2CT1~pQ+iOhZEj|!roP?q$s2}E>qKni| zXEIA7B@caR8a)ABu5ivsfUeR>x&#G1eBsMZTK{9&Tp(e3+PDN@nxvV?HU9}4eeNGW zhi1T^>`Va2Az(a!e#Zb67FOFk+_Ufg6nG7*HTMI63!MpFr)mF%}t6%Lll&ZhLz?#IR;#lqd#XJ!6z(PReL=g)j7DO!A2#9}1+AW$3v VtS&Xrp9|QU;`nVYCe@}m{R4`#XYT+2 literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000393p_e.bind b/system/ep3/maps/m000393p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000393p_e.bind rename to system/ep3/maps/m000393p-e.bind diff --git a/system/ep3/maps/m000393p-j.bind b/system/ep3/maps/m000393p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..cae3aded7fc5748d74e4a087aea2cce89ccc71ee GIT binary patch literal 23064 zcmeHNUrbw77(WGuvsvPU#wTNV@I`&_;re9E=)H}DC7W|*!6oAS!?;t!Hk09!#l-A> zCo}R#3KWBF;tN}*%;8)NQIn0?0u6-Ly{X9-L=D4Xj1Y}48tdea^87<~jnP z*nEzvQXrR_AU_y^4T^wk4z4x-T@~DB3(6gja`(?Q+??%Cefe{4Su5|9R&pH9-(gd+ zd57>)WQy(ZN_nN|bB;|g*AW24=5th)0=YrkKD*5bEFqvzBvZzHLc|wMQ{|&xl}y#{ zz}!{PH9{y_&ASc#`$*L2PNw41rgAH$FJQ?Tb}A!2($AB#j4w!tk0%6S+#W6$WOPqh))p?8_)l06x}AagaI zm23FxU*o(ioYxn2JO_Yt0DxrU*|g`~FmjFO)yi>;=he#Lc)sb8m1{gJr;P^G)nl5b z=vvfP{VeK6BjzWT>re10)RsMJg%E*G)P+8q&V3pWLC*X4f3D_gk7M0j0agX>*Fr14{q&Otg&6EqO6vjVi+K9!w^ zTV8CgX=pyw`bzegtk)%3&&oFI3E3yN$*^pe1|?;ytd|F5xclS&v!QnDsQ*S=h3u3s z$(QLG{nR(qz0>c{m-KFH$9FVHbMg>Y?tt`Nv;h7b&CxuK(Ewey41dqAw#D$d{uY`H z*Fp8uSaw97fKmHsp?41r(^%iDZNI5c8lrh@$QsXt1A&S=#Rd7i49Ys7eW3R(Yk$t` z%8GZyxVR#|6$#%-5df`&o)UURhe(Jkm>UOwSxjS2anqR9!B2_lijH(T6IaEK?{$;A z*|v1O5zj&TgvKqMexNvd^CZonk638I z&(K2uKHMa(V_$;Kgbw$=jrEDHqjU<=&ZCQuhlXglXSTZq4H}f)q_I8$YX&GuBXq`U zLeuu!w}osxl^fwU`yE%wWN1FrP9IqH{@#NKaa@gQ#(IGkZx)C7VhfsC zYfoA8{%T;*U^U4G*@Wy1(v-E`kL%$<*)I3m$xAc-&ObZf0~m|Q)N9uEJU9ySIDhe) zeaIJC@Ql|sc&%Rn=Cuu8>t_t?wDI~Jyw=Zgz;R$Bz%`L`fpdX#A%g(dgJmR`Vgwig zukWf}>sJxrwGCeDXAJB*;Pp9pt)Jt7cdzN&O(x+?t-*l;u{ literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000401p_e.bind b/system/ep3/maps/m000401p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000401p_e.bind rename to system/ep3/maps/m000401p-e.bind diff --git a/system/ep3/maps/m000401p-j.bind b/system/ep3/maps/m000401p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..1f4827b7817d906e4edc4c6587bee2321b28bfdc GIT binary patch literal 23064 zcmeHPU2GIp6uyfMr3>N@sPV}@`1iou_@a@vGn?=iHIe9psEN3+ng~L`0?JG0OibF{ zr7JAkcAFTn8cmzjpg;@>E$pU0RAx;SgH1qEP2{H$Q;Z=dYS!=0>~42wX=lf6ySv$Y zPdYPq?z!il^WA&SnVG#QV=l&+>tJndT^%kg#Z}8&GsVSAriN~JxN36hmUiY^oZXz& zvn(%@o}nbl$XXoi70iVKVB|oPU$>W7*&KHETiYwmTC4tc^-8nPPG38FownPJS9a}A z4YcDgI|FA`$j%z4?XwP6hK;Zc78a?p#eQ47iX3jCyW830w0)uVFM2$u2HNo#tAGcjO@AE0|G1jz9 zPw=T~j7GZ~bv>b6VoctNdP`vws0>Sz5{!1o2BO^!=+EWEV$p8Laz-$Any&?i&nJ4~G;okdC5g*vL?_2`PQixNlGON_ z&lmfy2z_or&V9h=yd({#?BaT5^l7rQ$ZS{s0zP+Qj=q+phG+Byw<{Kht?79$P>!eW zn549#|7(n`)^UCp>j#);;ty*5{I+=(1u?y6yI#q78zIxB*t=pQn8#mQvZG*N}3urB*hc$K2?Re7tt>@Nro&NS;)iqjB zdtH0e9iHgis;+T&{!IFzQ*@&33+g*~ARLeEhaMMO&jdzktV=$yn~u>W4N(tWrx6@K z4gDUuNqymeDCVXCRiRP(k}h<~oC(bR6sHNgM!k_f>ZPl6mU`UOr^?w{(*-cbXh@Y0 zUnc#7HzKEL%D+8wkxpQoewtJj+@A`+jrsuU5J5L-Q1z;c+iFr}*N?Kz+B@1h^<}L^ zYtuYhILn+RuJ1XqO$NQhIPEiNoQ<=KARRPp&=vhF^1#u+ADGr2t6XeXxSLZ-@+!89Jq~)nAV1?2 zG>B`QCmp}**RU0A1*5Yrmz$YJ{Qr@8}$Yj4D>mg+# zyNyxe@b!+*Ne@ki{4^HY6bR8&=g!vi$hIeu1t$<=!An<=UIuuFCv~ z6nl=RSq$klQZ4$9VU&Kz|0*!qwE<0Bd#~GVK0oATfXcd2%EchY&O?ALVO#JZsjFW9 zasLi=o!fY>?4@DVTll)llj`h7u`#pg{)>UZC5pl0E+G!|x&zNf{-y-HaedWbz-O#z z9Gy*j9(Sq77Z{jRQtEjq_4r~Ph;?8hAY!8M1>p`SJ1$_10(zT1G@Qsd+&{2Fi#1HOHONC>=)i3!xlo&&SfjI$U9SC0# zz94+TL_qk0@CD%u!WYsAhk4f*j?;ic7Gu~OdkAC=Om~90JCuw A6#xJL literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000402p_e.bind b/system/ep3/maps/m000402p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000402p_e.bind rename to system/ep3/maps/m000402p-e.bind diff --git a/system/ep3/maps/m000402p-j.bind b/system/ep3/maps/m000402p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..0fd2876a1d282c9fa5594dc1594e4d5e015e28ee GIT binary patch literal 23064 zcmeHOO=ufO6rPoXC~6@PN}-qHf-i*}3fn^|g?J?zs$z%!P@2%>&^RnfNl3t0^oIoR z+d>>$w$_&9M553iN}+B-$f5L5;%JpRwefBaDTJmiB)K?>NsC-4p-@oYXuGoIjkPk8 zHA?&jYc(@(_nY^=dG8wu+l)z!F=-<&W=;yzmy*B#8Z}p4c&+gg(hl~=x`26gi_J_P7O3=jjGl7XhHtDhdWnf`g=_w(P+?g4znCj8>}v*Z4^H6woh zH)?P9_&xru-mg}VTbwP8?yukTZKi*l^3bE8i2-7u%s~F2Wrw>hTlqrvqR2Z-~Us)lb`cK1J-Z0>7SRSG!g;`CT{T{!4V_yoR^nQZr2 z#~<_WOtykkuRmSr|BHxoK9f}vvTW{D)pD%G|KoZ(ldZ=e^Fv(wO~xYIdTeD@&bC~a#qK>1udktm;Q=TEy?l|j^+ zA=IG17~}m*s9X7?nQUYdHEA#E2I?xGk9>mKdlfYt`?-Eu&i7X9TN!6ElfC?kgEO5$ z{W*bp#Bn}afpc<@U49O=8*wQ=@|_~W$UBStS= z2Wx0CeaqdGo`GWn{hecGNc4rZv?sm zNjAe0rIMRh&Cc%)!+p&0bffT_%|k2kh!Zc{#K{9VVeE;Dig?X5BangkF1QGnpcuan z1(+L);d#2CMMv)$e}HYAjo*i9Eo`KW!(b);OfO9=jeItC4XiW!p*TJ|dXk^RnzH)5 zHg+ZdjUPSpDinv0q<@1M_!fRZ+*!B)S70hV1>b-P7qu{s7qNfm^lh->u~Q3pzUM~! zVQ%PG_#X0b3ko4zKB`6WBSHBiLM4eF;f}yuprySG;Ga7lz&yPGww}_%<(Hx#f~gRu zzKO|O!1q~9@Y`D7+DYk!UDr&bXG+7*2ibv@(QAF7^eH%xaeoO*FwIL?>(ioZ$ImV6 zir9Oz=;ygdqJ0p(K5^jWrRaSSy*}ju<$=QhX(H7E)dJOm%K+&C>A`X?P>&cO21pZm z4v7BFB6@w|z)=Fx`yhIK$^*&+hXK+=ss*YAss)z;(gV^1(u3t{pdK+m3~&ZSe`gWB zK5^jGf#`h@y*}ju<$=QhX(H7E)dJOm%K+&C=>h41TMeQ=r-@$Q<$>Ob0b-y&2G}#D YpLyNlfB!yJ-xJPVOxjZFC~YbI2cIsBr~m)} literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000403p_e.bind b/system/ep3/maps/m000403p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000403p_e.bind rename to system/ep3/maps/m000403p-e.bind diff --git a/system/ep3/maps/m000403p-j.bind b/system/ep3/maps/m000403p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..8531f64b373af75e14aee3322fc4f715c7bdd943 GIT binary patch literal 23064 zcmeHMeQZ-z6u%t=O@lD`h>0J`VhBQ1vZNT5u(0IYqC>u9Yy-(=f-#Y#p7-9~)^>xoYuCrf zeV4BHzI*QPob$WqoO?G2F%Uuw_6LjxBX+_bgJDYW8-x4=y-4(!ObdYz(v+00IUqkC zKREMcuw;+pb|5~0Nc%g{^YK}q zfYlT2U?ltmxDW?KBT^c_b*rhgioUi**>pYHzr_4kjm7W$5;?`(K>#93CH$#);j`aiB#qaH8kOVR8bO zOtg2A@Du3DxS-I!kbsYMJT9g8(V|%S3YXWLig0_9Jx;R!t_5HJ!oO`YnT=U~X(b`8 z$9#TnvCq#p5yIsWvMfJ3gIqHR;UC9OzRxc$5`@;Z)ehIAIM#5oeEw*Vq~E?@%}*Bu z^THD*>BVYCtKDSc_f|V%#mQ_%-Lrgt^P;s5X${)5%Vgr_3&Jo?W;E6iB3(iKGR~9v zL^4!6q}hnGFm`*S>|1SoO2$s}f-FDxG2$*=b%RSE2R}8p+PMF!9p-s;f@`M9Bt2!! z;L=y!81^elo?XwOU(X}Xvxs5!`CHH8cwdk``O)#?TAi_z&%|{tA6=4O!1(DAgphrY z7H2DBN&svX=j$eA2Jh_Or%1QNx=;`#0*v3R~aKlfTZ%QczL!@Bi1)*kGi z?$6jMr4nL(72kU?FEHQb_vUwT+%;6gF_&Ba4fRvONx#+B_JqqO_gitAbB%%Xv>>!i zn=dFbh{M%|=AD#@deT(gN~5)|~y?jI_k|rg^byqjr9oQ*gXglR&(* zk-pZGaa=(-+#PUSK{(tPI2zuazi|VHpVZ)i@-{Vncv9^INhsa$`7m)khsu8{Ci%yZ zzcUF5;6L@TdSSp?4=%U>XEZ)u+p=-@ww$yTJ90nB$<0yUio5AH`aV5K3yPpDSKKp} zjJ7`fo35i-xY9zmP@cXcuBZ9X1HI)9B`cN~jlrgG&jK(2xxJY=+K@p+y_-lCkj8&JR}p3aWa~1 z#>p6*1pVz7y5W@k5xJ6c#Xp13W-i(V&eEgMs}xs{^(q$I7A(~#p$o1-gXL!Be(0#Y zAeZ2hzwF0g0OjS$S2tX}{^~ zw2)@Y$EiIBkInkZpKLuyPYb&26?ug|KN8vx=b*hRt13@EK9R0^MFt5jau;5(-yR~g z1xeYC=Xf?^`99kS9@}P=?W-uSaN-eMBd-y8nuk)$>3fueRrZTWd^_%BJs#~f&__iI z)Pg6@YMk}iEJf#0+hzRpid;oAZlJvHEokQv+)#JvRokBxdz9^V%d0U0MuMth7Y5aU zWqbL{$~oTw7pvN#Rt_QS4r?O@p<+zsiK;K~f}=)6GX^H!0z}@@RD4!h<%aK|NdZpQ zjw2VoPdlqD;MYP789HCS)!LvK)QG-2mFr43G~f3Zk$WMl3}iE0#9;AYY_6jlV4&g~ zCEDfdU@u%UVnEi*w@$Uv6rO-OyjA`nZW8eqOYIq55@UK3@0k+!`e|e{W~>!2&YM&& zj4Byr)%a_H7w^sr4c|g1IzNc1)r0OY*PI{vj>+TE!g2dB8ZzcLdfTA4ewi@6ZO~gk z<3LRtz4t+H{VWbx9HoEox12O}8|IVVfe#U{C2YT;= z-uhV_usBc|U^S8D0?P%K3mOBg9VcLGdf(IZ*01rvz8M3If#?~K^Oj5}50M#U cCP^g^lUZaonM3B1NA8S43{wMB0#gJ3101=vrT_o{ literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000411p_e.bind b/system/ep3/maps/m000411p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000411p_e.bind rename to system/ep3/maps/m000411p-e.bind diff --git a/system/ep3/maps/m000411p-j.bind b/system/ep3/maps/m000411p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..d38e4c9e7daee305ba4fd436f769512eeabffec3 GIT binary patch literal 23064 zcmeHOTWl0n7(P>^!banT0!AMs@xd3OhVj8$((bNNNC2aNLWE+t4A_7-0?`l?<{zWm z?QYq2E2Y)MS{nkzVrm6NQfRjqDa@izBt%req=Jg6iQ)^%`kk3>cV~9lOE1h8&N|9voaR)F)h33+aelLu1`bjt3zO7SbYYpeOkd3tC zOO>tY3)>ni)(MmBBv|EC3a#xE25Xdxv*Wenx67lPxDbZHcngeF+0vYR3>po#;b_mS z&#J93q^y{2Hf19rtG>c8dlj0YprajMs%!;S*w$FFPMBmT!78UxXltV)VXRb9lw6QSE~EeK zhQ{t@MLF8g(Ad=>%bo}F*VFwt#@r4JR~d^uDa&1$JW`@ZJxz?c@hRPbiX2kpu%dV# zY-o(k*P{{GaC9Mb0AId(%EGW?g)H}A2e|)}Wj=r8zWnugmSD_dz_J`T?$M*i0{AWg z#-=>&(tzh7Md`V#Lyl|)Kd`M-M%`E7e?Isr%YhtpaSvkdrFyhy8peXB_^^ESc;1Iy zuK>@~L8TiUmtyUYok1P&xQ_!5>T*K_{1w21y~q1^H8EDU2^{Sj-iP2T7d>J>XJ$$4 z=gj;R+J5F}y|WqXnX$tFUiPu+2VVHPcUHo`()BS0B>nN;yD;jVAmNq8u-AJ)R^z-Ph3LNz&7uMo(Pd&G^lKSiIh;xWr)k4vFFC%;Cv3(yFxQ zLW{$=j)-xB4eydx}p6a&EXg%-J7+8dfzTcA~F zZhD?hhga3q(?RMC{HnS&MSWQ-*OqG=v;aykY1@Hr1D)ph=xe&9dZ?ZB;Gdz(6s0D* z6xu}k&c8nVn{>2yQ>Uf^r5__-fbOB%r>h6~DC(qNXn^-uJ=OlIcWJ18TfDwziSJ+P z3tXjr)S`Oq$Zt@&Lh@Dng9PqQ(N9(zrCDqv&(e21vnC_^nV$uatB_9^xsUOD(#ZXc zXPxI*EOcSlD(bH~R39R}QcKb;u{(K|mKu4Pgv{m|c{=0y8zZ-~_M%6S=M~Kx)^5xf zi}_k;DEuaULA~Mb;If2XX{M>s)LvB1GdpAC5sm3}vMcNge%GJMrm<=GzTVC_3FZ@= zq%M-+Bn>AF-p5!mK2qp%`1AU0h^f)a&hXoasyeTsq22D9c0~E!;1+7BjMS|R?Wa~V zB5MjxhlLca{W5fb_n^JhhO?rD22_uW&Qho94t`pR5O0M20g47XwAZw-R*o>gg7o+? z5bO)RXdDGYfer+FuBaKIzg2ZtcLjf>e%~27PM5-~jcIXI?EF3W0Y&}m)#aqu9jR4l zpw3H&`4N$PJcZAZZXSHlc}`ocsr*>N0a8wTFvCGQMZZy--xoeWeY77lwDE(ber4@N zI$9XVN$PTm8V4B=@xwv#(@c%ie;swuC)BIDac$X->&hRfpCT^*JMiwahzPxO4nE#O zgNcg{dnt|He5%H}C&oO!7#v(cuso@*b@KtzLGe!!XzE;MQ-*qs4A2*z{U=$M8dt7zz@mG3X zc%agZ7prtURv1**UXzGP&H;z-_&PYuq2Rz=0I?5*F9=@{zF;ySd_nkv@CD%uaRx*@ iNH8Hvf&sxmE)1~SV*l{_3jC*5NiO~4eV8;Q#`FL9Hl29@ literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000412p_e.bind b/system/ep3/maps/m000412p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000412p_e.bind rename to system/ep3/maps/m000412p-e.bind diff --git a/system/ep3/maps/m000412p-j.bind b/system/ep3/maps/m000412p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..f86d09b4c6fac2f9f71e9cbe1271020705d2c411 GIT binary patch literal 23064 zcmeHOU2GIp6uwiS&_<$26(bKe@xd2^hVjAQba&R2AE9U@2%(~}WiSoZ1XFn+A)Px3 zX}bMomzp-1G<7vvDLhnS2$6PYp(yU^i;0LPB|g+vLqej_7n1ednVs(3neF~>XBW;r z*`0gtx%b@feD|K&`Nag|((1Yc%lMVT z3QPY*gFBV@Y(F;uG#CeEHoPw#JWqPwJ`Q^WC7S@Ap9 z+m1i|dfz3>m~|MIrPjwdb-snMnYD8lI@<9$bskiCN5f++nPw+}*PRsd_L9NM({X0J zcKmid&xy-n7zEG3aO#}d`ctSIY{T*T4_I+>$aBmy>b6#Fw8i#UT7Cd6D~ppDs#OOQ zXV0Xk_qRBaI~DB;A<|Q#sQnm?F$B|}K>eZN5osLS>j`O)WjPyU+AZk6VR$4wCd-$G zhexI-MNxV@cR%6hV9Z*;aEB1>1yP)a$+fy@Od2J`3!jEgXvm^y7i3v_Vt7Q`8jWcX z!=)YI1MubQ#}j}!_K9Kyc7XRkQDpOL8*}#~y$)lZ1uT03$0O0$R1X~M0OM$majAf3 zlPpKpO^RAO@B^_mh|u;G@V^!K@nk^`bn(u?+`FT($Ql?6Jek9C^&_2txZValtLEe| zaNGcEKlKZ=0UqzSfCt*LLj?HS01xav)_;1G5YJ)YXehA{fv;@*;C@ce67J{p{FK{% zW@vpI2#Kuk)PZ|W8+qV^T=zYk%&$~^^Z}MH-=jNXzV)KWnwIpFqL0OeUX>mbMcS-vnAr!YTZi{`8~A@|`dkO$o(uU{>~7x_GQ6L*bgN=H;%l7mLeX zs_XP9?-vNX&P+_MQq`~S8fXf@b%a@VzJKIU$3aswj!K8oQ~9txg_ZAX*Ho{vUu{zN z^@RK4ov#f}4D3`I2YUnBsbh4!dwXz#o~M`T7+vV4gJ-&K1kMiqM5FzG`_I$c zCwJ2YI^z$~?-Vb+NTUN^2AfqGTpsAZ(fc!4ngVAHo!$=I>6>SsJ~|HHV~XT_hiwOU zFY0YV*U47{GXwwjez51@kxiQ|90(i9yG(?uOvtD%-K3lJfcQbK>2ifI`CgY9!X(Nh z9#`K|J77m`QQuMDu(%~;C0WZvI4T^iYOHD`HKa!PlnMD24MT?zwF@k0s|;?PZT`9nzZ^o!RBDw-~~EL=arUPb(_)xpZ)49 zY9Lee1{W310fS#KkH|sAbBO!E*u`W^Eh^iO(?ev#Y51Guv;kVMzVv*!mB^ddYv7>v^KoWs|jEmSxM48H5@ z;4+8Efw2I%4=@)n7cdtL1~3;e7cdtv7fc55e2`=UYsdgHkPQRmzW6`++*c4`MV!h1 DRSH^n literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000413p_e.bind b/system/ep3/maps/m000413p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000413p_e.bind rename to system/ep3/maps/m000413p-e.bind diff --git a/system/ep3/maps/m000413p-j.bind b/system/ep3/maps/m000413p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..a8dc449e36a70cd5052af3254d32da8985a65718 GIT binary patch literal 23064 zcmeHNTWB0r7(SD>!3L$oMl1SY!3SSN#S!ra$<9J;OB)|7*wR{y)=`QzprkJa$^3&g zX0w-eldcI0Ato)xrV@LRB2BWhX-sstK2#73B1OmzDhY}r6xM%cGMhOw+r4CGdp7Nv z!|t5_T)zK1-}%pfwxomzgb?BLwQKLK!3zBdf>4d0Oe5Cy$7W--DBC$-SY^k{0JEti z()zQ>`1YKEArqyQOAEchbH82z8fCW|+=AY?oTrB0^ZByO$RA_WKrel9@JQ}Ss zth}5ZYsx1=UcAa!_96?f*?NsvUa^p^{$!k(rrpLasz0Bd8!zMNHmMlWQ2MN_^}F}m z$v^jg-zM8w@G@*$ZOn1obc?QL!Qc!AI{CS6np9=4hUQu}%P9hFyCtOi%SLON!1?() z`8(}pIhYAav{vL>o|TxS9iQumWR8# zx<}85qV!1dIPvFj&OONC1|ixDqBx4qwYp?V>LJ93pZXSTDB#g9$g=ckSGTq~nbL3# z!`l!8`4x-P5XE)u62$~YfbU;X)ctD@6^|pmf^(ilE<2IO1Ig4#JHG3XV^5LmQjyQ& zvYeP~54IJ?2>BmCJ{WuY_|YCh8s0^XjxWX`>Qx91kLTPf@p#UyPo>4P z&ep$yki_~HgLuPd<~i`=S@+++biT5UF(%l){10wR`PYl0-gHx(EMsgCMpb%P6#b8x zJnB!F_k)X1Avl;v6Zvqmtli1ScUhLT*Xj;i?Y`&3d;Cvh-q7<;i`nY0!o2;WH3D6W_)k6>srZb)BK~I)S7KS@f-f8c<)3G)D1vg!OE1 zdjIX_w=BziE6wIe<9+vq3m|s`YC0^zok|8U8D94(5;TfLRz1^ueU!gYO_2`Kn`&DkJ3H@YUci z*wYw2ZQ3v&y%Czxkzya>cdsJ3|Ay@(cPH8hgjVQ*D=-&sf^P%<;Kw!*s;XYni*Vj3 z9|>4UEvXgyg?CB0NViRCGyJX3`wownl2>(DM6?mClcx$wQ#;a1{tP26g8 zO|oc0$eK(Bad-0;h6=!MumBTyaefn+`*f=!g%&#gfmHYpWhV?PQh0ag08FT_s|sGH zuflw6FPy;3b_m8{Alwvdg^MsAIs|=+w0N;z4FB1=0I9bBV6yE>=xdn#WWl<)@v>E$ z)ppgdHY&c@HAn`>BIiS+?L#mhdJlewSw+I3mth(PBiEy+U=mU|c^W2QF!sHESEJiF zjNs^*=sv8C!63{bXbob%p}vy|uoYfm7z^CBTLJvj!Z$S=GYGyrPuKD zBlKg5D_imhoEx^NmQwGOlIK^G{lO1VfeUy@-^BM6oP?9gmO_@E5vQmXy9bxN1~+8U zEvz}P_OA=ZngeV9Tm$piu-*sO{&^hmI4~99Igy_QeiryyuoU3=U`YvH;|g#ESpQaK z?O%@o)*M*-=Ng!Kfb~AG_Rr&h$APH;&x!mj@Uy_rf~5e@2Rt9}e6VyHc#SK-70?x6 z{cjf5{<#L`IbgjHto`#i;BjCoz;hx$3;ZnbvtTK}^8wEXJRex6f%We+*8VLW_?s)h X6(~#ra(DXg<(yk0tWK{=uTK9D#T=t> literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000421p_e.bind b/system/ep3/maps/m000421p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000421p_e.bind rename to system/ep3/maps/m000421p-e.bind diff --git a/system/ep3/maps/m000421p-j.bind b/system/ep3/maps/m000421p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..70af9e6dc708e7c60b41414b6932f477972c3b16 GIT binary patch literal 23064 zcmeHNU1$_n6h0G8(QQj<8}PxGJZT@K6sJ#ZAv?1mMoomiw9vGe(hj9a3ep6MP%>vw z%%71Mke^u@RJ+?h=FXVT6rn|L?wnVX&5 zpL5T-=ey^8_bv&50szW)_1o&}sZ#tXTf|`gQIrbXFBH$uYp#k~EGM2B=j~fiknawT zzF9TgQL@#6_-!(%g8T^@-(>C*N0h91z1t<~tF0NdpOubRnZFJR@{18*1Q>xDM8HSK zLHzDJAAK5XtfS<95QyIXm& zpHo$RE|OY7NFfX^X28%7g{+p|G{mN<#Nm2bN$w)fY9 z;iraJ8*vkHViWO?=#RxnZj5-B>e^0Kjh-ovgCsTeJpk!{h!3egMIY@6K#?Bmi|xLq zrqjf8RG%VS+Pz|a6Z$uNJ+mu*g;)=XfOebK^l`&+Q5R3@ox!%)+vKm%)9rLYtd836 zxpnbQHHvrfBlM&T^l1N~CtaXNYb@4L>#g;Q`*QTGVEzg~j(*&yH{JK+(A9z8%qYI^ z?MdtBpLQN?Z*2Lh+rHDbuFSOW1_$gr^F!+SDexh{m=_DqSU=rw^tO%h?2{BaaB%ShLPPcz1v*t8>K&t zZ`CTpnD}>wFfEQO8#6QeE5)p6@PFyA1awSMgUI z_4=Iy)n1vEIkhAQxN#+}puwBt4%MiLt<@{Rq&XX+NWgP2gl>pXQ{; zb-F2LA{3*ubU#Yb$Q8(!YwjuQXD|E! literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000422p_e.bind b/system/ep3/maps/m000422p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000422p_e.bind rename to system/ep3/maps/m000422p-e.bind diff --git a/system/ep3/maps/m000422p-j.bind b/system/ep3/maps/m000422p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..4546067ed18927a001d8f4c1a9a1bdd5acef923e GIT binary patch literal 23064 zcmeHKT}&KR6utwMHk(TQLHnR4B>GURG3XdIwMjd>Y2(HcA8b-<(KJ*>s}-Y!YSToW zGl?lbve*?WB*tcAsUS@?q*hb;*{REqo%O*dH8#PYQc*GV$;b7(I}F{~rGyQOEO6#B zJNMkV_nULSd%k-vLMTEArK4y~(P~t@m!cHPx6_w`YuZ31YkReKd@5ER)B_254JCgw z+{t#X82~G+VY%~_?flaFFS&3?mu{}@d?y48=y5UEwg)`_j9gDQ9WVc8?DYu#de%SJ zw)bm`ZY7f-|1bk9lz|KZW~=uMfECuT-1*9Oe(C*}TsU~spZw>~JB9h$UbOtPuz((? za&3FS^Uuijbkp(jZ^mAa;IC)>b8UOSw&>OhP5V4;W+2Ic^>ACe|7jrt8^?6(K07{e z2=-gJNeFFNh%LIV&qbuxPZ+b=j{Cn=RcnK;YlW&B-5^BPI6cxIT@RG(h+B87YX9!G zcI~pNW{VR&s_Xs&%VDL6aq_*~`{t-+YbfK%3^TE#*Pl!BK(Qsy;B z9P3Nq6k}d@w6$B?+S&)Y?YMS2dw;Aj#;jM>z$3ufsOwwr1>E=!{w*`$Y(k$`oIVoAe^)9B-eGJ$`6Ip4zQbPsOvz!_)99v9Mc_gBIShW@c3K0- z1^&%$44$sOuArkm=F0;<8G;54KG}-Vb zbvQkCR#jKMR{G@r>e`y=r7>#FD)WHZP#>tjXdIlW$8^_>%8?7l>YKhdwwpm?kNLP6 z_Jv1}RTjQokRAG`<%)R-IJ=D3;ZLRc zJnb~zpxDuu(W4h5`V2pvBfIHUnhdqjX^cHipW#h}Y`p2CPP*KBz}#zwX%cOn^c8yi zNM}&TSQ<9`8SXE;2IY1of^{gDcgEzdQ{IuKASjFSNwRb+vYb#(2peS(C06i3vXm8+ z6+9q|_*a%h!i}q3$M=Hau5mnFDEwUW@PFblCz)(BCo^y&1WpZ8SLSPOSwseC7XP}EY~;WRnHAA9f_(WW4JCWqb=HxODUz0tCtG&49;OjG zOXCdzVzEW`n$&U!o3~ z)YHLRdzxCOl6EhRAzeF%fWhXc@X1jcLYj8dxs&LR%S7MU16M}i{x}>NrjLw$hTlhH zbkf*MXYgq!+m9x@^(7%9nCU6{nogpR-{*7BC2j~W_xK`kP;UBhns$FHlPok(K&RvM1&-nuQ0ttHi6zc~bbsDFG6zeZLyiL{h*=A~ zAFvi!3l0OU1=a#U@fo~SPKpVtOeEr zYk{@kGQdw}fEjQZ;IlHH4`eKG954qQ2hOg@T3{`(7FY`o1FQws0&9V_;4;8ZW`G&U oih*CnI(eoRYsK}V81);(jp8P8vnUa_h+D6XB$QQ&!o;e?e~eP{*Z=?k literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000423p_e.bind b/system/ep3/maps/m000423p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000423p_e.bind rename to system/ep3/maps/m000423p-e.bind diff --git a/system/ep3/maps/m000423p-j.bind b/system/ep3/maps/m000423p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..4a8687b9c864d3bb1ac6646bd64f530ebd1cc80f GIT binary patch literal 23064 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 TWq@8+z`fb_w)z1#Yl6x@^1V)^ literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000441p_e.bind b/system/ep3/maps/m000441p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000441p_e.bind rename to system/ep3/maps/m000441p-e.bind diff --git a/system/ep3/maps/m000441p-j.bind b/system/ep3/maps/m000441p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..5ea64f68f18eac3a2d2bd28f95397d6de78866b7 GIT binary patch literal 23064 zcmeHNU1(cn82*xt+J))7(A^0`P!MlA@Frk&wD^^ zk}m7dQj-fQRfJW_*o8&>kE3qvqCB!nAyW3*0ZQ7q}Z)B@s9-M};Y;kKHrw{o7+y z3BilWgVDvp_CQ(3N()}OV-dm^?A8t360D=VotI2pHVSK8hRIhP_{|l2or|IM&qUxx0fJK@7$_NnDqWvW(J9Iy#VNA_Y9|SJGGS%yqG)~ zT`X)TtW|Bb;FUWTA$-AZ-M}rus%qPR(!^z>u*UZLodLpu-(0cR?al2EcSjaI0!<7M z0|o=q{zydrAQ;R<^Jjzq%#GCv{R!p5KQb7;p`c>ZIlw614q0y%f;Ib>pOq>0?NJ_F>>^*ty|{#@UI z+H5sEd^8<~Q^8CO^TpS}ptM&jWRjSFK4&c4jrke#MlBhqC;W5-<)=}{7nq}Q!O(;K z@I}1On0ji-IQ7&zOO!pjZPGQYVQ)Y33AZ!ze4;P>Eauz1UBC2vEx*7eFoz$o`@E;? z$vX5%HS}a1dZa3PxIUxpa(ufM8VwFQ1e|@xbQ^X>gio14Z%!!>OG!g~hyTm~)r3#_Oo)Cu(+zS% z%#I$1Z*k8$tib}@RHXRrk&mD_6@}jvIl#@o?^@p+``36TZ>kf}5AQkw`W|NcjO%fR zm%r2B$wrMU&f+Y^QvN-7eQ8`>{x1JB`o-?BJHB51DwVij-EIHAXL|RTmfkDrBd}ssz75EY4`Hpn zf_3+TA+f5+(O#^#-Di{VJMLOe%wf&VC3>dj1F&cm+jaOAi!+v7UP8yNo23|)d;=?b zK?PJ32$-(|mb2`@jzC|aqrD8^zdIhox5^F3tM99?K~Cw99X|gL#>J0;kp(D5*KjF^ zuZNn_UE5i`YFnDwYE9Yl{to0|PU(*?Vz6F<uJnfbs$51Ih<> zG*FKiAO>^>ME_ literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000442p_e.bind b/system/ep3/maps/m000442p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000442p_e.bind rename to system/ep3/maps/m000442p-e.bind diff --git a/system/ep3/maps/m000442p-j.bind b/system/ep3/maps/m000442p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..71992b99987929abc948e8e012671ef2db3c6eb9 GIT binary patch literal 23064 zcmeHNZERCj7(RC}z=}~L2|q{-2?_dx_`~u`joWPr$rQFQ;t%3Xgs~FHG7=PGRLJgo z0k?MCcHO$N1rQekTM?8mKOkjm-KV>qMu;Z5=zi$<60>12CjOYuxwoY)-O@slt?t}6 zTh2N6oaemn^M0K6-ZCaJ#-#K4^YZi2NWNxEvyuiRiBFDS_u8K;&519beywr)ig8@M zJ@}WRT{>G09#dA$;DO{&VQKlxF{;wplkR?wnTr~6m&Omee;538>!$N(w)dx*y}S^L zOE4f95Dd&j22#p#y851SKBgeduz|ZiAEf0k$LL9CPrCa#X0G`Bm*scg9E*pUSo4L= zf&syRV1P4Vd$GC2=CfLDBh4+HdmWC#Aw6O%#@{Go@?pjbsxv#lL%qP*hIP*~)~Q;p zoo_N03Ih8cacs{rW+R8gcFE!B(Dg{6)oPWC(U0Lc9F9yhl0OAb*^NE6G1%4I+!C6v zN95-ca0)X)0mdTOaKhoRFIW``t#mj#FF~JW3H+?mBbgwHXnQye@R+sL=#fwz;_xZ> zY6W~%a_?~%R--Hv%}@F&{xBCEB~lU$WL(X}l@9R7-Wh;|45lSh(!NlT|=C&RFQpwpr} zJkA(iXGW2=Lo{0ZE*+&VrI1R^8O0SFwpXrSyn1WZ+v}^=n`6p$wNl-t?on&^k+(|O zG0~jKc&-`nJGI}GmFjM_!O}47uTWN6yf;brt*<-l`iVyUJF)*YwHRWr_t2;|LLus+ zjU1ai4f8vsn3ufBrd&DFZ%*=*bo=v zqCvV18DLy`4EdTt#>dsws!b_ZUsVg0*Oj6KQ3e*b}H+W!Mg zaFXgr!N~-iFys(p_~gK5qpnAqespf7UliH>f%i1^*N*uPpo(`oP`bwiLo zXo2;>AE6uA>jcNeIcec%Y+{Y9Yp1ZGdyv|dBBcoPxg|lR+|cbhw*cHkSu}SBvjKMq zOkAfy%#Ue_6&4tK1Oo<1SO!-@jq}{ds0#zm66)Vyilv+^)5Lb)TiOm+IZQDrgu@$} zv_pL3nm#`Nj^RP>BJDd0)CWC{Sl^|{^|!RrrnPheSWw&89|572^B$)Qvm?|Ct<3v6 z%#^h;xZztGi0wxsFt*PKs^OaJ2pZkH1=^TFG^*CBC2EoC0x?&#gVf=Yjh%Xc#7P>W z4-JX}+DDv_rb_I00j=&hH8e00^@(nXw^P$cj7%W|Y#!T)fEab{LI@$t5GFdprQG7V z+3>Nuy79L2r2osL4>ECA-f3m2f3{~z*6Zi6jdU8ekHPvgs4C@_#$X*eU(u>iT88NJ zboO&1a-0LMey-b)t^R@oGl;Y0G1u3NI1q7QG9YTA$OVxLA{Sx|hDL<<6sm2^(3GIOX3r@ch8!0PlW^ zU_XDd*7W=Sb?GgS(~;vGaP_C$4^zyc;J|c%hy#%eA{Rt1m<)(q5V;_7LF7V=0Z|X) zOo*0XU}iJGpC1@MCyC&#d+diuN_qTyaVD)SDV*}}D|mk3xrv|q^t=C{PblL0-q&XQ z218w?x>TnsXTnF0bHLS~az9Klhk^ss0U{1WE{I$ZxnMFNazW&R$OVxLF$P3Eh%+Ht ef&sxmCJeAg@E`#b*<VEF zwb#2VcWrZxCR!VV{g7b8SD-C-(9))NkQjq6RmuY&tr|;2pNQvgcG-5fSGYDk+~Ybk z?e5I%%y0hloB#he(}yzVVT^fBRNh~49}3Rosr2x#6Ul=#Q9)t$^>W8}J5~{tPiJ{r zX*~0qGyAnWxyw7jJ=USr`6%`E<#o5I?px@3UIX0ifc@>w(9 z`K_!~Rb@et&KUe?nsy(Zwtm~Ql_Q>Z{HTCAwUEF4#vifyv&^4z6@NMt$5CuJ$=l#4Hk@RY6Jx&D+=#>S#jL!NvBivK@nfdOU9m<= zhxgj|W6cL!-q}>OZqwH7?@u&qpXj8$p$D}UdR$+r$Mj9QLTP=wzDj>jk43+4>WI{6 zJG|2kWi_eV_Go9_4gGB(?4c`kE#4VjqpkGT*Tqr|yC_{(AKVabtnH^h8lkUf)Pjw? z7Co;ibeO)Q!XP0rb z_1_X`-fx4Zc)fZpjtWJeJjyIn=fxY09HK#R*lj!1GVzZiUx58?un!h#n1(~GwVy|7 zXfSjWM`Ny_U_+;4dLfvm$^9; zn=*jzV{{G!uNs5r`v!5o4KL4FehL16F=FB<=rif*gWnI+(W1C4lzNnS*v4QtjfZ*+ zg&C!^w#v&dtowhcJBGWZd3zg$uOCEEte&2YTuGc&%UsWtIghVo8xg!oZG$f3(z_Pd z-T~gAfM9?#;P&4vZqF|`Fyp}OeQma#`~kHI_@+45{f_CNmf%C-Oi literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000451p_e.bind b/system/ep3/maps/m000451p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000451p_e.bind rename to system/ep3/maps/m000451p-e.bind diff --git a/system/ep3/maps/m000451p-j.bind b/system/ep3/maps/m000451p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..ef26ff46a204ad8bc7e54b5ab9787b08ec35eb41 GIT binary patch literal 23064 zcmeHNZD<@t7@kceF{cP(MMc5<_I?(=4J5)o3-KNcLTX zeA!&dMM)Htn5s#LG{lcaX_`B8Nvd~6L<(xKDQIIu#T2!IAn}>q9QU!;>@5e`yJqHP z?`CG-edc|inRjM)XBm?iW71cprDYyu(o(T>MRJYAQ&NRpnUzSTN$UBYUGi^ULYkh! zkG-v_RDi=2YOG~@!~)ky9vN`ua^u6+pEUmqyf>}pr~8*{+1f&0*Vy&H)AM=lY$oHJ zI%ub#sg3-tv-8I3`TX@Xvt{rvWr4FRXGXbvYwh?*KVN7}q}!isxzPN#*b4$u>g>uX z$^}@k^)Ho<0`xFPlhgdSm_CRA0GzlS{zaYBRZFDiGds`4XnPO0i~_~Z+~9`4s}*yCeaCHW|>xfAyM;q~$h zCPuwp&XF?X3`f}xTNwQKsi#+71kSf+^M*aX?CtTD0H+unf$z}As>)G(FTft|mjj&e z9l+QQ-+ob5jyZm`=Da+&%ujRn{T1GbYbtPz0%sHY9Xy8~Teimu&b6=yovqAc{PA(v zQghyS6YApQaBDQivPfb)uS}8{&nxqjZ{wL;t8BoWF_9Smq59|g{g0v^b5P}ST=?(7 zJlSvhHr~uwXmdi}tc8BLs)lcimr%YY+-bqt1f8pTdbw6*6Xt|qW*nt$s}YY6wB7%_ zF9Mv0((JhzvHYw#XL20hfQgxC-D;0K{Q9jHoZIc~kx!znC)d3a#}3`w`Go(jWqX>< zT7MDB_r*29PkACA&vBe^5{`TcoNyA3oB=0}w-*2T#^P!x@LYubTkPv%J9D}5z^;Q6 zbc&)~W15e!&hfNk|I77_<@?oge{KD~0}V!G#SA}shrUOD zn$FU1!QsFo9uJMs0u9i7G9pD=7P^D97<{JnPx_qBX$pNwQ94Ga=>+tn-7mKDTpyk5 zXbS!fy~fUW=u?_}>oxrLX-bC8>I{~MDuaO|thRl)E1>Vt>-5L<5ceW3=?n*|*?(g+QK`!h;E>b__uymOH zz)l-7%eZtxrZ{F%MNx%`$o}C1+(x~P9~c8?wA~48X`NJK$g2{UJzUrghP=o~wuJ$#|9kaqxIZ-xt#O9=(tvGH!v-z&MI=9GjqPa1RPZB4T#4r`WCI)bFixYZ5q_7?LAL0 z@JZG+qGbH?1Z!R_`12WH&3-4AZJFUElw2POkzP86{qVnM`0oB=T( zB$yC6!NA&P0B=3_(kzYAfF|>OsxF-tJ$wtR-A|v<8NB@J!^YQ)hHc+VryMDC`(Bxu z?+-d?POAe4BXD`1BAzz}14A7HG-hxx1rAnxk5b?qaPwX72bVb%9GD#-#({_h5ep&~ zOa??Oh*%J@AYviTfS3;wOo*IdU~MyCyg!)17c&u>GroL{Qp|%l2E)cvGym9e#iwTT zokETjy8gU^_Xqffw~l|?Ng;fHpzqY{^;U|3kcDh{C~ywA`L6ea%Nz<0%nlIaK*WNG y1rZA-10ohgEQnYTu@GlK%m)c3L{2au7|4bJcJb|KkXKLu literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000452p_e.bind b/system/ep3/maps/m000452p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000452p_e.bind rename to system/ep3/maps/m000452p-e.bind diff --git a/system/ep3/maps/m000452p-j.bind b/system/ep3/maps/m000452p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..32839f7fe264070618921f6c5ce44ad3f8d53232 GIT binary patch literal 23064 zcmeHOT}&KR6uz@nkPX^2(fVX;Of)h2VBNlGOxz!>LKHQ9klKn=$jXCC(`p|yG0YiL z+3qe|mco{OFa*KMHrq-|tq)>Yq=hZBHrOYV8f#VlQWHoYG_htqcYbzec9w+&lNsdB z$#VbC&o}3ub7yuTgd>D-W0mE1m0`tradeDu+-*v?+U7RN9h}^OGvszzu0t6w#|~vo zVPWSYD}0>AtE?RVl&ojIq06;P7GRGB`L{FQ%$zUSL*4&Q3$x)y-uXaa+u-@MZR|0w zUmvY}6U;W5Y&4*-KCCRFWzIaMk^@8?&`P7>xrs%X+j&T~OS2-^R?JjKboR?5+PFH! z&St8*(L}&5h5$ogV+t@6!e=RXA*1jcXxplxH13gLPx z^Gz_@WU|qK!g{i`psqRdlu8Z|bwDePhUX?0WNZIU*)GkBTw6QeNk-`Gmq)a5ZL$5$ z-I!UASbpQYyL`79;NDt)MKp6@Y-y?*zHs-CGQBYS;2Fy2mR`HRMD z?^EgwjN#j~x>}=rMs<8VOYj-h@$nSkqw)U1IsnG>n7;yx^5d*t=K*a44VnT zuQL?|j*JFRM$d%5=H0MMh3T2*x0?@ad#SPcfZ9U{|Gv;9goPmQ7OJoo1TlJ;KU8R@ zwnnW9)%+fzDbyD{EYxGI1*T#4Sn}wL{7z^1Lh$Ef$I!?iPn1cZrhd%s!4Mim353HqN z40`EG-W%E5nSgXO+n}%~RW>P)f9-};CAK@tS zR83r0C6^?(gc>0v_=H#aJx0~Jd&ygrxG8Rm>?8ZQA1FC0B)ZdqL@r8nnOt_lzqtJ0kZ+YSXAU_wgP7clis@(sup6RElq zQ!vhxldCf8nvzWa3S2_jeJC@D9EV{B%V}(<1Gi%1H0i<@a8lN&fS!{6PG^2%)@2%d zSFLmgCfkGn=Kn@K(bfqyFcTO8F(AT%GkOXgFdb_}=M?b_*~{YtWU_RZ zFGCFKg*W-CfQY6igFeVO>6uwNJyQgx4M(|xP?Tn}Y4)0JFmWus!)hI@mQNA0S_iA; zGYsT?WA%NoT0Zjw<_9tYEGDwO!1e;$3n~IE9%x9g8be@XBY^)d*@*AD`Z_*`FY!&* zJWN7Ad;=%ogj4X~cUU#T?*IL>Grsk0gj0M2zDEgx7|YPN2ZQ*cZ~}o@gs@_Y{(HxB zhyniYU?@BWQ*E!n+)5G1{hoQXP*{xt)!S+vtd`F(kiFOH`(U+v<_F9VWCU1DWP5?_ p1-2Jd1Xw&^@j&whR$~Y-1XhLsJ|JJG=Xz4Pvia&P!fnb@`WK@>ri%ao literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000453p_e.bind b/system/ep3/maps/m000453p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000453p_e.bind rename to system/ep3/maps/m000453p-e.bind diff --git a/system/ep3/maps/m000453p-j.bind b/system/ep3/maps/m000453p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..f0c5f2f3e7fcb5e48afe537f87b5d0061def0b01 GIT binary patch literal 23064 zcmeHNZD>o@nc4M}-;H+%FMj?C7y}33?TWZ=|lfpUI z+7P#Lo^#%%HO@-=pJvYQQU1;23_G`(Bw@v0ep46O=wccyq7)bE7= z%~dqtaUpalBu2jaFCe&p*dntztZr(Cy-OWisOqwSUMhdN>#a6A_j{!_F0lQv=N%6Dw3c+P zXkxE4G1iY?Wd&o-rx=q?GyNTVgcf_2F}VZlwi&|LrnRK3ws$IZo`b!;vpe^e2}~KIU>cYnqs}R!c_fTrO^#b6wi5Y6E{Eoucmc4*4sr+h48g z6J4Fgc{M+r*gEL*Dfl?h-Vyt_z2n+vTC#r(`k6dGqCV1f?AI>v(a`IV6^Dc4a2xW) ziCqTHIQIQOb@CeYh#m#!P0;7XJomjHIG^MDFEp`!>@nvn=7fIv;+zLRL(u2=Gw>qD zqWfJg?vKvxdFmtlnbS9K6aG9eHTp!X#Qd2nCHoOib?tgwY($=j9>=&1vGEb|b2_g& z-H4r+jU2__Mfc6NljB@R?%*>U{k1El7UZKjaISAKVvxt5^r7+HOtezdM;b=%*tPbE zsbh3~U?6U)Gn=D;!W=6uRbVouc9hm#We zlFZ-fZ4>UB__Sn3>vw%(t{*YZy!6 zpV8WWAT9h?w#nP;8xOr#A?0&UYevUbep2MC!kRz_$}Vtpw8A1{~Brj z=@Usxcz&e|G~snN{}cM&caf%i2dNV)I%&Y)h_yeWH$oQ_nZ6?}Fd6Vr!jx?}89GE$ z_;o_+oGy8VuA;|RYZSNZ%g)jeMew4}fSLXG?-`Spb+3%sUOIWR`3HZu?^doMwkONN z{9;wOHuKBYrC+_aUiKTV5jIlx9E;=9a1H3!O?K0^nqR4u=~snzZOd?EAeCfYS2}qo#D1>*^yjio}{UA7v5_HaFZs2rr>`K?#D*`YxTPL1m93g+~Jc>;`w4v%2~{DB`{74PjP>r(A^keb@(#7R{K& z3ulLqcvD0M@ZTL9{Cirr!jZ=8fdlUQ`azPP0Qq5b+#b9KZ|;Lz;WRq0XDm_wrPh=s zuYZCyw7pAHZAZLLO4t!mm-K`2IFBVBTk{&8F|o`!;OZ}#N5R3e=TP{8;lv^qL_QF) zAY#E_K*WNG1rZA(7EA`jQ!pSHFc}bMWpO^>z99TSa3K7^$ciEsL@bC{5V2q|AYwtp zf`|nX3nl~NDHsq8m<))svN#`bUl4vEI1qkdWJM7RA{Im}h*&Tf5V0U)LBxWH1(N~s a6buLk@?n6Lr~X~cnVQ*FrdFg@rv3-3NH~iC literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000461p_e.bind b/system/ep3/maps/m000461p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000461p_e.bind rename to system/ep3/maps/m000461p-e.bind diff --git a/system/ep3/maps/m000461p-j.bind b/system/ep3/maps/m000461p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..24d79c57d4182958d285ae440921e7028e63c671 GIT binary patch literal 23064 zcmeHNZ)hAv6rbJ1{#hzjTNM0I^Gz(G#nmDr=5~*2B8kPKRWO#?H0vKkg|vZMl0s|?0(`vAxC-Tid4KLZjpR?XW~cX zd;G9B$xH=uXrjhmw%4%4p0GrAx$)uH9}6E#ESl-&TK&nloUXB`dYs1J>GMV9Y(`_y zBU69AWfOR@3Hf%`idSs@=4uc6XL8X_&Q;%HkGHemdVjI)DKx&-zkJJu_9th3jDS=S zr*i7pWpQn$W7&Nlb{t;|A4@*QR)6v>7db&rppE+nz$>Tm8$oTxfr6^o4JW#?+0Pre5&}*rUUK<5L|Y zL@6VrT+=kxZ+C=#M~oL_S^bg_4~_|brD>sG5S!tAo;^~5OtUU70 zF{e1;587%}WmHm+$ntQIkkF%qgzrd+S7SC_;h4M8hZ>C6T~)DR-_g;KJSr)_qK!$v zvc+LJc+em4ZWxq3ebE@pAEn-T+<89FA2*)Q^Yc?|`OK_UH)35LH|#ENBqaE+rg^dE z)C)L|CFTvU7i-RE%-tTWo8Zr~Y>b#YGo0{e8&0tvhU1y2xi1q=_`^9IPb7W*&uCAD z#hwQjXio+lJA0HLaqf6|{r;q4ybmYrK|k5y6;XcNxMt^289SQ~h7(S~QT_)f zoPwj2nK5p5$#}I`*mHvOwF1G{nF-at9j!sQ1ksKm-2=}WPgKAC<|}n&+w0!i^ZIO< z^t}}HmuQo|g?7>>X$P&NDn#iXT0vi>9lrkVzP3YpgOq6~p)GV5eGSIpYUc@GwItai zp*{WGv6dm2?tG)^I(!4?y5GlhkFKV_l%6$_Uu4OExSE`%P4q>KoI-bCY@SIOD2n@7 z6AlOm#Cow_=w(g3J>E8p*vNTo5pt0=@gZ@OxJkGb+e+4EW)ip>qE@A#5>hJEu}1D^ zP247KBX_bUoQ&he(GWFaAd(y8hVVeVC2*7Zn(vAs>&QBWxmfu5wzrUYoRf66IVTx7 zA>U0M1?~c3SYs|9=h+^{ge0&kE!iWTeFogNo3*&T`UTK$W>9CG^a$Qq$ z9>0R@raNgB-A)hEEqW~$^jWOCTD?-Dm9zz7zPe8+jOexV@!-hg^oMiyAsy0jkJ~o5 zt)CI*wheCU=NuSi<8~a}*3a{R=YhchpA&g4@LJ%tkYs?*2XjpDE6%{p%|LwrU;wwW z{?wKDyQ=SC5;wel&@1%{V;A89?w?(o@0auJySRli>GpSJg8K)!XK)JN&(-P*auG#o z48DcS^KTiLNLi@!iE(aoz|3&l2DkNd4vb`UI}UE^=Xt>Mz+iySiM$qgE$~`MGQj5p zJ|E2G0>9!6a0d9C$a28#-z;wH=NuR_f!lF#TR+bOo(Bd4d`{%Gz-ximLXrVKAMp8r e&j)kWz^^z1oPlf^AZup+S;%i2B9zXQVEYf3f(@Sl literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000471p_e.bind b/system/ep3/maps/m000471p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000471p_e.bind rename to system/ep3/maps/m000471p-e.bind diff --git a/system/ep3/maps/m000471p-j.bind b/system/ep3/maps/m000471p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..1b1dd05019d127f4d02f6233a97addaa1486aecc GIT binary patch literal 23064 zcmeHMUuauZ7(dCTh0@2phzNTSANz9mq6o>o(cwT5-HYfHbZ`-0Hjs%jh28HyxUOlF zF6}g-j#>n5M$uBX>7Z+pt)bPMA~=|34m$s}nX7a!-ODh3=ic5X=O*1vcegfY`|c^Z z=R1GC^ZkD3JHOKq#zKs-(B-zaj&`hwPbl;#?_GOB_^cUN;dWhvFkqY5U)$Gu^$QjL z?6yDaqw_%J;Dte6Tj+cU3@?5^TXstP@Ok@X$7>5kEeJ9FQ4MN4vF>MkhPS%u-Or$Q ztK;>=hj4`rZDb1rJo6uPlk*|q_p_xVM1;q0e-VNQ{{wbGZWvuXJtAF_S$^rv`-Oz? zvn9jto6a8ivcU@+uNS|c9eBYlcHoE4+rP!(247w{-RLf;9Xz5<_2Avlp!TK)AAB){ zD{OcpTNn_0NvS+=J_P)Jwp8eNup+!hwt(OF!jy{u&+hu8^P@{H_#CgWy^U<&0rFth z_NO!28;Vl+kg?oH=}hFYbVglJ6m6QZ=n!L(Bh6va4&a>U(a$wq&+T;P=FjN*hW&hk zeqOXng;R=>drH@%-#IaC)Q@T^iu$jv7j9rYH>{F+T-PIdO+1RCG=oh2l`-{O#5Kp* zq-B-(oap;C{9vrj_{sf(b3Vm*kn7xStHiOXbI85RbCZ4w7p#)D3;F3wXC`s}Bx1^s zZ#*7#8T~wx&J>oArz~=lPG_P|*TfTT1{HF#f;j#|Tz@J`{&(E34y$xGesZ{;wu`aC z3g+SJ+C2BP-&XUmNq#7w@4Ro6&v)jh)$*A~t99VH__?YxYLv0q3)qg@5m`MKu{J!* zW9f{GPJOaE-fiQ4v@5#q+FX+w`O(f*{p3)?-SO_b)#6cSQGedtaoCMdeI~IlhFW6t zbHr(lg^|N&-4UqiJF9iK#{FnDe)8-1(Q5qU8~AbkJ&bSrN5xJ4U^{H4@w0+|&eJm$ z{{yV#5)4;&ArgsHjn!JCwz@&b`=5i}8yv3)kTyIw-?DSg_pt z1?15l#nxFv?dwSu1`dOjD)!7JN8>}Vocb8ua;NiMh5mi`#)aWL`~zPZTJkNh1|~j# z8?t7X`Lemk?1rLw(2Qa2JyV5OUe(hv8gRncxqM~oIC?p69?clOvJ}g(}$pJ zXsHvuC!qv$a1*TlTc7=iy(6jHy^FTyPovuBQF60}+Vf@C%~UbD=(!afncs_&Z#fsh zz##fQZKx>H3oyg2-jl~J!Tj;FcqzCy%6a>e;J3<}_~U&vhO$0|GnXKH;vCEy`wh*- zBmKL6yQpOg86f@GLh{#HI_RFrKA+PfJBFa~69>-W2+E`E^C=G~4;%(a6X`6_S)jAv zGC+DjdO&(mJq=VN28aR9fb8FSg2qoAIOiZJkFw9FJfJ*q7$8lgvp{Eo&VtJT=>h2h z>4AG1WdA=eX#6e@^d<&~0lFJ`4g}Q{+2<1njuObek3r+7JfJ*q7$8lgvp{Eo&VtJT j=>h2h=|S~0P>mQM2AXAnwO3Z|=DP_CZLe&rY_I$e4Q^HK literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000472p_e.bind b/system/ep3/maps/m000472p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000472p_e.bind rename to system/ep3/maps/m000472p-e.bind diff --git a/system/ep3/maps/m000472p-j.bind b/system/ep3/maps/m000472p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..5136882a1bc688e7a929228f6f7445a45ed137c8 GIT binary patch literal 23064 zcmeHMUuauZ7(Yqp3Z;*G5fSzvKKAAAMG=yFqr-tBx);$Y=-?v0Y#n5M$uBX>7Z+pt)bPMA}F{rh0cF%<|^Gw_cDy%xwp5;xk-1^-L1{pzI#gU z`Ocs3e81oM&hIpYu@GY{bh*8~vjZ#Q6AJC*z3Wd1pLGK(+^%a72DFL&wSBEuzgXeV zUi-5?IuBG1UKr%Hh0X`S@Z$HgWv9dspSNFjytYu(f)LXm)u6T$>wdOpc&nS<{S0ci zI$lqF2v^w9Mz%1(Gyi@!IUfRkKU+FNM0ou67a@4?-)9%(rqR{YBhn?A<(JO9Uq}c) zTQdB<>Fj|o8@#~rdhz?&ffw9n2Y&dx{o5RF@a2WmjqZZl!6VvI58nL@YHw-q!52fg z!iG1pg#p2rl*$9=L%{E6ONEXHE5d7J3;2C6Ot}c~?5;mLKf2_C&+!V|+sO7EAP;8k zU^=6{swjo`7|Xq%&O{zgXVgVS(PkKn4l@=x)*Ke?5YBl9{an@c+-_%X{;aNV+RumR z=Q*oXIISqT$8|mWjT6IW{ivp*sQ>DE;X1~1-72XkbUmWi#G@!mGsx7-jHzEEu6f3$ zEUU!lMBl052V-rSNXMZX5TbUD0*d=9<*Vk9NN5Cx;sDj(6X!7LPiI`t#bZqi%falZgW{)DoMY zV@_)n+iL44akDsJ%y+r`>;GW=u}{Bxe( z>G&UDC6{5Ox(ks=q-w0y8nx98+MvOVn{S$L!QZenFqVA2qXP;s0<*@E{=e`&1Lbbj zco(e1wZw5)85oO?!Z|3zI20iZ({LIl4Gpbv7=^_S<4DgH99)cFf;qSbm(W2O7Qlj) zzRw_!_87L#8ESuTsxWvItW>dgJ~ya=Ukw`7*>*J;kU#gI0KXM3Dopq zC>vVpWZx+$!93gmYvAT5-(&A+>Q>*9t@$&k_IZ@ttfBUP-hCrgOfGqD1xM!hqvTu8 z1u!^-zRwsciu5APa;xvu@t?GJ*b`rsu2Uk0B1ns@{Ck~u*5R^yR=Tja~9ykn;Cem4;vp{FTWq|a6 z^nmohJq@z|pBFTKmj`+i1H=H`jXVc}YKrXhi33LoWZ%c2@lzg99ykn;Cem4;vp{FT lWq|a6^nmoBdK#!k3=jj&GQc`2t9SCBc6?9ePNOwtFz5(*L#Q`0I03i{x~dd|J`bMNeAcaxoMvh>~! zJNKM>&Ue1^&Aqn`Aw(mDXp7z5-CZ!L8k*LrVT3m{J|dQtopPz_tC`lLBNmX^Mb-UbF66x3tMu+l!Rv46Bx!kQ3`C4@yCfbct5@s z2qvxam_)xL_>ua7De#5z=w>WppRnZn6Q$ZBFl;7}+iOmAuyxTP^zT!W5Muh5)+6~* zd~W;5JXquxt|T#I)k2_1@i=Z_aP@nJcyNXh%nr?P<9NO(J`0evW)T8H($fe7&-5t- zrsqH#7PCB3h?eQPa!^Pm==whj2J}(&N*Rg}ZBqstN z1`8Y{c;qBHqIPiJc{V$>V!XW0mTTfg%87bQun8D)W6cwVzJ%7Q8VDh(7W?@r?HG>mWR%`oR(#Tp!lre;Y}@8Lx^5mR6s?1Vq%(x1Y};-GzjQ;_jSh4u(K!lzJw}Le z0dNN3xgH#o5OXK=mE}4ZKe+R$JHU?u&T8X)tf!za7jW*M(q{^VV)_hld<<|2f#+IkkSgqg!MzJNv0wLP{6p^IJ*-POoh{a1Y`f zhcS8bQR@ZpU*S0Dw;qR>2MR@;r#{&CmoX;eV4nFs)PInl)0tDx9x3%gUX;(o6Si65 zxtFGNz0@P)B+18EfcyPm&vE32qtrKaz=AuG^_5{RVs(K144>n7sTaTHfjEwUW2}MW z2slQsjB&49?2n3f`HS?BZSdFD9zrVc!^hxU{&(sQ|4qlkHeAKEzM>_tC&9arHAV(UozusuJ6axG z9G=Xdp{t`G0V-lH^*dt+;0bl<482Xi&6>l9sC#<)i^KF>u0Qv3ZclE2mUHjrESSBU zGw42g6>3b=n{*1$SLoGGe`CDIvwLFyM81X!TgRYA<05{v|FjjY zqW!B~(|*x@B`3%=_{_0SnYhI5*o_~pPwON9;HOgY_f^tcyJfh$IMY_)C#}QX#8aA7 ztF1JN(S(pkf?K3|S$Q^50kvN@QT&+F>V3qBvdOMy-$}dYqx|jOL$myq2K*2x=&R~qnh(5#N_p0DoVg*~z*vsU5K!I&PHP&WOq3EO7T+-?XmNE$>oo#i^Fu zhM&3FnVH!+Z~JPgsE|>kRKH)d*@laHf4$aGqrl6b`u(W+=V@9wvb4@^xE-4AX-Gc|&G=Oy1vUm7_Z{?Pm13dFTL zKSBNTl3#(!R@maF8PguX^_8xhI|{`_p-|-Ac3Jy^F+Rjt0+*j*tydInOQEQZ7mDVK zx-Rw1SAg>&aDbl}wab2R_$FXH^wC9a9yog$Q=z171a?rIgV4E6*R`L4^Sq)M!|+SN zGwIhZ*du{`4E_yt?gh@gT{edpGjQ?l%~v)2#a&%Hmi+OQQoDwslls}REUi>xozL*kc#JRNg-oNjb#Z>k=F_Z5XCCo2D z_G>XAE~h!Hem1isGa_s;CniNnlqFjF$s?a1J}vAc2P%>$#BaIzTsEyO{g<}e&b2a+ zonmjWRm#7};Z}mau&`QouM*AI1(rBjN;7e?loR(8;>XQK^XC+g=EuNo0mZ}3Mr+K& z#w6hF1B?RR*fJ25~E z(08NEfv`O#>iWb%wG%`=j$!SmJfJ+NGC)0%YJqBjYQbTE`T_L=>Ic`Vfo8-2F>t*Y F_z%aa8R+bRO25h6%t(2IcmdHf>At5_6#zss_TmMq4#1tG9OPXk6YV=`u zhM+b{Q%ouBDk7}}6b+Or_)@boTapU9eepq*J{Sa{F`_65MIYjsolY}5N!Xd4{pr+i znkDzUbMLw5JKwoqQo>k(F&0?d7z_k4us!Q4)>~%+`eT_Wbj&u~w9x`z>Y*S$hOY}V z)6+8-T%YY#3)ctwZ9}$o;JGX-<&MjpuUo$M_2uU8`F!im*TG61drrU`fW4ljj=ixj z!0u8fY(K96DR_Xevnh4#fqFr`T7T3!xy)*eJ& z4*}T7!$)8jJJy zK{MSyz-W;qi8*+96}90xPWuCS!O!ZQl9Z31!yn-ebf?nE8u)n#KFrh4{1e~<-)T*f zq~bnJ{fM|f5C2@5ZR7uuq+}I5xD9-CKZh*!3Of)7OTv}Ns|GlgTjJ_*=%f3&v2M|= zfA}%vur(G>-U7@^&`5yJ&-8ri7DwGYI4cAvtCO3y#I;87S&#lxZRtM_{Vd!CK2M?N zyas(j@S*PKx9~ChPXx(3c=)5}5eadv=V1#QX9Cs<`}#YvVdG2@)x1ci`8$NZ`4P} zUJ&7>j6M-#R;)nWWUc^SXnAaobR5ls!>@s(S#bDOa7?`a9El1+`HcQjPU)27w6R#(38KTwuIK^zyOSTwQ}4|K=)8PNzAR6Vd@KL1 zM?pP|3TyGb(dPr(1EZ`+{_`Dfrr1kM#o}EgnM(ponyi$WG+C*Mb%yk@s!{$i)ua41 zuri=}Sk<^b#$IdU_x*Ym{GNkX{-l9%7rpA}_xt6`+1V{eb#`c^mxx zd!ASRrVjL-6d(oYXQS=`uRX=@`$+?%6ZpN3Uip&`$Onc3)D!70&|RRrU@AcUfcgRT QgXP;mBT|4AD3t>L0b9JX!~g&Q literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000503p_e.bind b/system/ep3/maps/m000503p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000503p_e.bind rename to system/ep3/maps/m000503p-e.bind diff --git a/system/ep3/maps/m000503p-j.bind b/system/ep3/maps/m000503p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..97f51657a1a6c04fdb6e8faed38b8ae37a7d0c17 GIT binary patch literal 23064 zcmeHMU1%It7`>C$Hd-G9OJ9u$LGeWysUl)#W`p<>Nd0-}LlyEeVksr1Bp|+Y?mU=~ zZL>+UksYKDMWhHtv~5sY+ub3?3NunfTZ#yQC^Qj46f0;To}1Z8W@p#V&dw&gW4;N? z-0#l4=YHpWKRZhplNe*tUw7~9=)@p&Nz%6M;(7U!B&h=*-((nzD`m^bA!q3~9OcR_7^Nnja!G+C*2$gbNzTx$o z>wFVV3lo67-ur-Ghus7(S_KiGY=t;g?Xgun8a-D;H^?Zd-KZa}+85%xY6b*}vb~pu zRyiO0+!eaEv;uV`3^KlARg_(^IE6+Ozo_Raq#VoTDE{H+vB2A4aoGR(b{mjL;zA9= z6&(Q2qwFNdw|H+fxjT}l_rGv@v^bt|j~DI-BD`t_CZcS5|J%~2yyyTA)RDfh#_m^kXY*z*$3{~MpZjFooDat}0$i(|h6 zefoiMTh~kQtGEE2yD%5iAA7ir^Sk3Jiv_C$P71VM!^t`>s77AuHSBo<@c|csQ+ylo zSK{NeTfS=ph|QA)%YNU>=i(_{Zz!L8fU}1&dm4H3p{|QORF5=}hev>OP}gnStBYqH z$1R;lUdD}kC-!Uy4)!VY$U_PI?v0P54S>Tg=z}~I`CRN)Vb5BmH7J_+(! zD}cjZ$F+Y+me1O0;5-Umv(V*#l+U7<3SQbiFMlqJ{CT8cWuC`8{(IBYhdzfjnTL-t z?J;kB1#>0DCU~vlJcaxzuR(gt>S!$-#B`6Yi}lJ5+z(aule+!sZjwLUclJkcRKGzk zzrOn&pKs~u@dKGB%K9AhW-}eIpYd0qe!AAj{z%~10UY%|aO?n%S_8+&+lu#g`93hm z%wcms-)ATyW4)_yXmIFg*Q;+G8XoYcm@!md>E!ks!?jkdEv*{xPq=epdBh!AnsB&l zsOG5IZ@yrTO&-o47+>ID^E3QozQ~=EKXGT`=P7IIY<9s=$NHxFr*82%eu2-9E>Gn7 zg~?0&9ADzI{4`%Qw0p7_kN?QO6nD)*GlRnqnks*pJCmOt|7>EO&t=Wrul%>{i~LspI~@2$?)%BZ-qC#iy}s#7 zhE~NY#S?!@53mhNz|`TchH+(Oqx{|=nKuQNG^v)EG^y4kI79jb)oA^g;?epT1U;a5 z1l4GdanhKieZPo8+BqckpEU4lF{zGe-%oi!dEhBPJ&|gGYJqCOSAhBf^#ke$>(xLb zQh*c?3Z(rvPg4I$1FsH}>X`QZln0ato&wYpsTQafs1|$$s2@;2pnl+2L)zc-lKSuK zKzCAr6rk@$kpoG4O4|3623{vfdmNMcPkBIj;3+^ok!pczfoj25fcgRT1L_Cs)j%Us SfE1`#0k(VPcD-wBt@{@(`?5Iz literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000504p_e.bind b/system/ep3/maps/m000504p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000504p_e.bind rename to system/ep3/maps/m000504p-e.bind diff --git a/system/ep3/maps/m000504p-j.bind b/system/ep3/maps/m000504p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..77153ca2feea786fd1c7a08aa678a51adaaf294f GIT binary patch literal 23064 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 PEd!(~`6FB3bbh}9g8LI& literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000506p_e.bind b/system/ep3/maps/m000506p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000506p_e.bind rename to system/ep3/maps/m000506p-e.bind diff --git a/system/ep3/maps/m000506p-j.bind b/system/ep3/maps/m000506p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..cd6facabe94184a69db8cc4077e491bf3bd4fdcc GIT binary patch literal 23064 zcmeHMPfXKb6#s^z_~#}!62l2S5D(Uq8n?D+VnB=-4<;DJ#Cjo+5J3|?(AOZ~Kmo1}vnAO?tm0%ah}j;;JX z>;9O9P+$vdo)0Yfa~VBW`BG>ey z9AiwK`x{d}TStj9W{Cwj47#=0otbt70$9P?!y=X;dt zN>Q8&m8io{=!ZCt;EVskSOyNRiHBZss){~`;|P8izmVx~27b=t!T(CFo`0`AQLZ8`` zbzO7U% ze)+U=6<^JYf3Q=&16nUYNV%to%Aj&n79NKC>z>p=7-k1MApsMx1fOBLC)~XZlkgIz zVHDypCi4&i6+VLAJqY8Fc>E2PaXkb}0}*%wp@FwB1rbO*Snz*IHkr&-+&Q9oOJIqU zY?_IaY);H8#E+Sc?H^M;w!a4E2&f)rHu7Wav?gxfZ&bnUIXI1|!rHHAJ4>4M48By^EcV-M|4ft1R6^l=~5D}GXtR)3IcOKN; zm|YuDckw~ghbk>;34$-JyCZ6l8Cze4U{LBG4fy7Rh4jphV`g?!*l{-QO!k{)*n2Pc zp8dY_o%7A^GL~SBCEhg6Xqt|J|4K}qHpRP=z!hpfy=jK`e8k2Z)D4QN+`WU>U`1#_ zbFTnsu!YIaSJ3>*_s32Se(R%W_*y~udDIC(0evCXdhP>{-lW#)mg7Y)V}C@5*H`~q z&;6fP_t_|2#6SZxP+`EJey;#%u!YIaSJ3>*_s32S{>NYV?|bEVQ6~fi^o3aKxeq*g zlUk=+ju*X*{ShHvU;S%6_kUX5XAS)5r__moQDbE;uk2z>ZGFm(Wu{g54)bHU1!FS) z9bC^jug0XtL!4P_TFO01GFmv7r%F<>g|Wam19m)|t8>~dW3eRN+?mVE&m<`*PVq<1 z75u5IF5%p0lO%aQ?pq$5cGIdRui_z`*$A9Z2P9(_V})k$^4ybGl{m%?;LJi^ALsH$ zTP|Pt*|g;T;PDuJI5SU@)K$P~^&=tA(-T)m;94^qf2k9d-lfGJIj{8Gd>%J%0~xtpm;o^!y1tu>^X4;PGjd zI!s;w&S7x#H{zN5R?ov&bNyZ=PO%qxeTjH1V4*`4?jWz%!S!5#ewFRu_%-rs1<#~s zpEYgmDJx7%ornH|@lDi6UIYK{Mo*fF{*1Z3u6~9)(Ow$coXQI&$=lybI7#rFM$O*h zDC@_;S&cmhoIR!5Eb^i_UWigWc69Q6Xz}Yg-EO4C)tTMua_}|?etvLPRXhunweAka zip^tVcVy!j9vu09a10NQJPwYF*NE>v@z!yocj)`{w3d`TMfjp)f5$h?J39Aw9eTH_ zbvZjzYHCP3GTx4NTPp@V1KL+-{uS57rEI_WLlnjD`bm9@zDZAGc1@E{-A+FemVQuI zv9?#2#WrE4Gnrkz-Pxhk=VyNDIdbx;xR&h{Lz?_#=eZFvn0c8=39I*p7!fapf!9Ux zLQ_7{zSTD)nKpe7?gM(d@3?kUm}7wpOOwTK!aUEj{e8pYwip&$v9e9PI(FG@U zDa_M6`>S|n2WzK_JtgRhoZ`HYSdh5HCP;I!!z~qZbabNPo*O9^-zVbU-?A7@(d=ULY@! z7hDFYA5cG_elX?+8W97;fXzVMfAfTmpEz)Q5SGWdpC=uV4jcxkCz2P)3*-ft0qO_T z52zowZixH$ys+`RJkUEaKn&2c(bhoNo)Y)-#DUWZ;$FwF@skcn2Mz<&6UhtY1@eN+ d0QCdv2h!_$$R(XectAdUNHW)jzgm>sL-@ohb<<2PY*REJ1oesW*0h0aTd?@@t<#lNZX^o9 z!-l8W>q4*=;cmWo|JU{+P$4U{_S!YT;$CnY|3c3fm(3!)TiP4k&q2_V5_Y@wQM;Xe z!Fs-=D*$UDXJZc=7J$ro*Y_>XO244^Ed=vz*zBd}u%rkW{>;*IzkgigXD%?ya_28! zKVFL;i6`&{Rr5jKq*lcfz5qga93k;Tgf_z5$q*+50oTF3c7%Kv1mVnIf}qq$QpV4l zs^-LxQU!iCsG7feQW94PLaI*H@biGrz~j)5_$lB&wdX3Hm84WnZCmQ1B+>UXetb^Q zAf(*+_MaFXx#YhufW$WhL4HiNkg*3NR*yP6{9=rzb zJQGh0FM}Lxg1Tshe16Ei&dRf(&&!geYy%(t@kBbGpEl|2keB@BtH;GD!0wDeeQQn2v#6h3007t`~t2E}~Pp0|`IFbj+J-{I; zNyBxM>3)&g46*aM_k$yVXAAIJJt&B~b$!Io-N&7x#-~$a&zbL%##qkrNNRhsR8KUa{gy&9Gj; zo(m7_rygqAjK^p9Bc7+dqqfbk$S-y@`q$6n3Fy02E4;xt0UEB&&W#!MqnP}N|Kdk6 z`4MyYG5q}>Kj+G1gh(h7dOw6i4MCqcABe3jJ3rdqx^{C*b899v!H=^ii5j~R+?DH8 z=D1}N8z%i^?C|Aa1NmW}M#jlBIZeJHYS$;7%|r`|2WMfopG@^$gZ;kPUXtt`Akzmv zBfmw@lbL8!Y=E33XGtIVgCv7uXM60Oo^GObZ|&+N$@W_ zzdu6M=ogXpXe4}&B)gCGG=k^p@U=tRB0HnE$V_jL{A_ryKA0j}C>*K}y&j5?i$vZ3 zWAxVHQyu#O1f_E&wj<&v$peJ+1+hi1qA!}!C@NC^dCqTI?76vO;VzQQOX8MmVwag~ zV%NmH!}T$%QTjQLN9ki=M!@4?R--)Tg~r6|_h}To&Y@8JTm!up3)Ru<_jw-hJkS;3 zJ(1S}uLWKUh621F@P5GiLADzBj4QwupbB{Xf1X0|a}D%5C{#zU-{*P2^FUXC_e5R` zycT#Z7z*%y!21F32Szn`{dZoW_zfNSCs%+gz`q-54iwr`yndf+pmzeV$FWfSJP&vt r=nC+j$ZLVu07%Q6kfML(@+p7p)DXF2&7(6I4lSLguSya3Mf#Z98xG%FJ07#iV9jJ)Jr@I z5lvE3nh0czLj(v)rHHES0WOWRAx)6hnz6G&V@;hUY<+1X9KUjJY_dJ}mw zZ)V;%-+c4lTPK>9&@?Ua@8-=No#?17k+@;Q#)McPTSB&?sd-b%Jf_Op9)Qn(Q^!rd z^`(jCbXeMCW_t0`!li}9x-$rC71Tnt>rS9XKza4m$3l(Ux1D=1ti!fCBJ^$LLk9VU zZIyj%pGM`{Fe@m6YKJ9M=Nm?=O5kX|LHfnjTH-QMJsJ0O}~vPWj@L-k5}4gopd~D6n)z3{Nei! z@-Khi>*N|MK8EkAJ)f|xjtDg?25-W`AiuD!l4|YKs9YOn1w~Npu!QP-!)R3r9L+b# zKWJCEaVxmt@CuEvtxWr0h2BKKoxcA;m9U1Y#;T&tw(8Bc-gu4G2W&+vZ6Zy-jVWb5 z$}W#r+Ne1l_Oq@V7c|W{XIV44uIE43b?1(3j-Ays)}v|3J=t6(%-A3B*@n*oe7>}- z{CQnxx48v22AnOG<2dibZ##T;g2%mXLG119z}OVV`hYVeMxt9jkM#riT!sHuw;;~O zZk9O4ROLAAlx49#d>+JEc4l+QF}L8n02>%_aEuG^f8Mgpjd$kQqi!L&1dQz%i;3fO zLF2u^>9j28e%zO3SsEI{9eVntgcaS`N#MNf7R*ik1-4JqQY$WTahxOA_q}Y+ymiUS zL*u9V-Gb4LbBUP3f0vW6quIz6>}l}1N5)%zYGv$W;P(Iry33LBPiG$MA4cr_DA$+b z`OFH=ieBYW5Hr`X9`QW;nPpwfW^-OVKLE{Q;>1PX|lz|VZ%7re(@tk@C8pVuf;cMR2Uog9LUG!6*%D6UB3(c*o`L)&>vEJXzZJIXM zHRKIl7iWz%ehkrP_vyO%kmMn1y%?*84@2C|Md4Jy$GD8Uf35qN;33-VW>N+edhX4)UO#$3l`3=8zjEwXtbOOu8tYUqY1xNu(|*Pt zvTYH2<2P_w zgY7b`6XxlRA)M^}nOE&2ykNg;PuTm=--XeE3|ou+Ivg8Je4sTb{@M=LyWZvHM)7Wt z%>N54X%d#1Gzn|sA0d7GYBax3_tE@2@H3$M@T<`p{aWv&-TlQawEG!q|H{Ye8^3EKT0 wYvoUIKye@ypqfazK)FDTX|+Md?+ua>Z@@v2)e%%Q5g?(XL%p=k|APt;VGm zZN%^7#Q6BcWMzJ(Qsl)b*(5$Md3Y-tLZ-#|MLTQ~i2Ox6-$-E#$`4;5zh&|IeeUP% zD)1Ha9n`LZko-{y8nC$E-|5TkEwT@4FLykC&qutzKKuRRhu!~H*T-*smHfk=Z~o=C zB!)_MiE{{zit&}o5yA)qQWoN`s8_(_mVCPqAASET6{J$W#pg?&zn}+-0R**!@>$yb zL8BG-FD?7vr-6UT2VNyR_=({{sHBJZJY3Ov_+K9n&=r&zuV}kmt8u9w>rZRRpX#;A z5n1_I*E6y#H)OLp?K4SIW0KT>mzPVu0-QEk*7oZdC!-%4tpNMYXmr(kay^8K0D9H56<1-gJf%0QGdJ+ z-)X+4+=qKk9q!2HBoCMQ9rpBObJo|uh(PB@>^dsofRmTYoInf)aCT;M8N{OiN4>$Z z{nfLz3fjDdUbrw{KZ+!oZv&g-M7-;4UPkR~1kPFPyBD#YK;ByqugS-?$9w%~Yk~8^ zXp8lOt~ZRJmM@LAD0??|_^oF?7qog=wtfYl0cZp+%C`A@Dc<>5&jSbbY@N01xdD0p zFZHY`sGSbz^P$}n8EB$jaMcg^dbzai;Ijod)2Qc%pz}wvYz_k3sY9E(RXPY$ms!+EeWAN3oYwdD!?MXM>=+wlGc3!lckO29-o41C;%aJFvX6biX4w?WA)0+a ze>&dEhS^d4{MI$ij^o)$HXT>l0GoaPW~#IIm&6}z3J5pY7<{hw9`D(mYy`g|i{@lw zYNp^b$Y$f35LS526H=SBNc9&w+6Gln=KW)v*qmld$jSSqOU!LHUygb}t6iG3@)P4yX=n1!yKxFHkQ~FE|R&JfL|% z^Pt!bv?2va0j@yU|K$YTPB(=8 zdtOlfjt=xr3XlTy*~n`k=u8Rwe$v361Yyr(Q2ta0R0p;KG!v;8s28Xg90h0|&^(}d XQ0xX;kpiTER|TXy=l=BSyO7^Mzr&|X literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000511p_e.bind b/system/ep3/maps/m000511p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000511p_e.bind rename to system/ep3/maps/m000511p-e.bind diff --git a/system/ep3/maps/m000511p-j.bind b/system/ep3/maps/m000511p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..664e5a811a19357cef119c5b3193f48b61e5298e GIT binary patch literal 23064 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 u<#q4ZUdZ;KUB2>L7bM+vKQiP^GcoY?c-IFH^ zdQcG*E7D}uwn!pE4_YfoMHHd_oC<?XRKENwFNTbk^AvomkL_r9NP%UFsr z)|N`AyE-ulUa56$?dnVlSJJi`{ zWoxHNkRHPeFi0W9e~rB$>tl83D@MjvlI)pF} z!Kb&1K5=nA17kb%*bJTF6CZ}ok1^--iiuO0#rb16e-1i50uHpvfXFhA8HW{Pg`e2_ z#CEdn{iVVO#A_$?!KYpvd770njBMLb`CzGWIqvV4@-QYZ>m<$|Fbwy+m(MchTx#a) zkl76yuJzH&cmO1#7yS1 zQ1T~cKJz!o;XB|p!`OJy%U$z~qEAen^V8UK3I0Iq{I6oET&sxLGOw68?o;%P9_Vw$ zcE+)P9GnXG>-UHM0M2^balb;RThPXCEDy~ELOs)jMI&iqJdp|#@OtIYArIqK@*?8le>FphUKKw9e z#oI%xR!)J`KK7ceQ2uF$Tb6loai#oTA(>YNmNcoBnKY@^M4cghR5hAErg$_z2C4@X z4^@rU7$=R1?)zmFbmx%Nf6~CK#iTmwzMt}d^1xGodLq>V)dJOmuK@J}>Ic*hD%C(E zQh*eY3h4efPg4I$1FsH}>ZtpE$^*&+PXX$QR0~uKR13ZW)DNg1P(SdiLHFPDlKSuK zKzCAr6rgvb%z>mmMfd%rf!7Iik7H8*DGw+QJO!vHQY}y|P%ZchP(Pr4K>eUn4KyMJ RNP)Ntu+GJWxNB>z`vXX+K0N>c literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000514p_e.bind b/system/ep3/maps/m000514p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000514p_e.bind rename to system/ep3/maps/m000514p-e.bind diff --git a/system/ep3/maps/m000514p-j.bind b/system/ep3/maps/m000514p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..aa2edb74528465b01d41eccc7562f1c024fdab69 GIT binary patch literal 23064 zcmeHMO^6&-5Pq|Yin!oG4~v(%=pi1*lNfiqd(nWA_25Av##<|bF=(QgC9*#U4-xew z%n&35lz8&sLE<6V>A`H2nRpZ-AO!K~MepNR^HV46?n!3YYIeJ;-mChm>U&i$ z2~nz{l$x8HpPzpiLg{JT*SMc7%+tU#*C-aC!JppzumCw<;C0$F2K3Q3+M&Ep2G*aA z9emn(2msn!hkT&%prh(M4){)zd+s&IzZ5^n$1$x%4C1kB34luV7YiiNPhJy!^IuAb z_vmGE%l8Uh?^%CHF21I}*d|1J4B8|<0eldSVmr|}6;G!OZCaEm+n6QJ+}kGuYtP26 zUM`msavbUx!vLgv5xw(4d~A9aWbAnGo}+WUfgbq#Dl|8Kpw>+Q!8_qtbrv8}{Y6wr z`lndo`mE-2sGB@3h;IKB4wz2{$_zxK7Z2@{GmNZ z*ER)0?FmmaAk(8?oMxFHpFbWJ?|upRCuW(@iB%oovuaKgF)6l_AE!bk7>ja!W^dR1 zsjI)JC1*IVE!X||B~FSREd+Yq{w2I1d_@)T=CDjPp-$)T#qhNfA3hvB_qON$a_}j< z>k;aXX)R)a&#Fy;a&h_}&BFB*29#<3OX<+IvEl6UJ^Ip9^2dUUPu}!sYwh8wcB3ZA zkEY{WXo~G8qw6&moT#^N>fd!A#*RIcMTH{{w!iq@%&S)c;|^#56)U08mUyjC6Cz2e+(Zb ze)R!Zwph1n?NWfR!xt$-JZ$2ornqGAkU=zo{%@7_t%`0;ipd2fx`i?&;>>yVNS zrIs!!wRpTg;EjD=*+Q!oKLx+@+CI9{A280R1}9C^eIR%{TWELUqpeo5`9q5q4vg~> z@;RBN$y$Gqz1Z$VXZnN17I5=?#;FUrCm(^Qq}{o`1y0t+=O?}j|7*Zm`I~vz`VMt& z0_Vth{B$q&2l2=7{gc>1E~qIx1Dt2TRTKJ%JjcHP;|~1ZS?CZ>_fe(dbI?y1oDunn zzX8r|)b)hL$yU)%r^my|GQ|HLes3PP4L>FOyBu#s#b-zWQ zrz!U#Y8$7YqrbrOa(~eK#Pl=z$eW81d5&%)pKq1wo!6OD|6BvN#e9v36Qh6QqwP-b z?S)R2evaQqAASvf&SE|)^mFtF&i%4d*)3gH_i5lApr5mUz|W;ttA|_&iRL2v0DUlS zKmUe&Zi1gDH4e=M_w&Y>eK zg*6h@BJRiM`_MnrGoR;^yo(t;rE6b$9X4$(vy*udPVd6Me6Q|>(>tXd_QIK_e4<yG`^5?BpBVqUMRzql$sF|Ov`p`AlivPAIGKYJ?ShjzI8oEbIPBVRN}exI zZmw>=_SLWJOHpwo@ye^mnlDGM6blg6&lZ*+y6dCJ>r1)s#?Ko+uE(SJh|S~}XuP0) zR}<>LnZsq8hr>zbJt3O!3aoHardc>CbK~RP>&4% K8`X9vyZ-@aRWy_U literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000515p_e.bind b/system/ep3/maps/m000515p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000515p_e.bind rename to system/ep3/maps/m000515p-e.bind diff --git a/system/ep3/maps/m000515p-j.bind b/system/ep3/maps/m000515p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..a112429445a9778070dae62a33bd34dee1159417 GIT binary patch literal 23064 zcmeHKO>7fK6ds4lK?qeGS|kog8~~~1Lb~MuLc+U?5QwN;I25(LRjV9=Qc=hOIKQ8wL)RqiF9Us!E#l`_EDah4K6VFz4PCAz_%tN($AS zsyKR72ou+uvD)-3!xltrIHQ-i?N}2w_=}vE!@{0BzwgQSZtv+o=ZKHc~B#Yepd{&B$_Qeu#xLT?9gIz8-vFl#ab)E2u_R4CH;OUT zM9*oO+G6PwGb613QMY0o7x4LOvpExIau79lTC6L?6*_S`^(HrWxMded|l_*!ZLC4E*yCtoV*K1u7M-)%Hw9&U(ZIp zNt?^TZM&8OXf~MEi|&@_Nc1O?@mOLHS~$w6)y}TYu0!kgecN@&5iWkj>j}o0AL8A$ zJe@Pbf(LL5X5cCO0#m8>qzZRVreO?zgYhR5Fh2Mya~GyFqwoS|;dW{^^WNefR0~uKLILUr)DNg1IMqNFDL@LC3WWWC9>4LE2D}dZ>KOL(ln0at zTmkBdR0~uKR0~1@>Ic*hs2_-G2>b6mzwrwlXe0$l0eUx@IpDXag#A2ez&kIc*hs2@1hKo%)L3N)$!W2MK9`quLM9|NDid;kCd literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000516p_e.bind b/system/ep3/maps/m000516p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000516p_e.bind rename to system/ep3/maps/m000516p-e.bind diff --git a/system/ep3/maps/m000512p_e.bind b/system/ep3/maps/m000516p-j.bind similarity index 74% rename from system/ep3/maps/m000512p_e.bind rename to system/ep3/maps/m000516p-j.bind index e7f5a790e68202d7ce8346d08f5d10da7e3c718b..098cb1962d41e98914379ce4c264dcefdf51306b 100755 GIT binary patch literal 23064 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 diff --git a/system/ep3/maps/m000517p_e.bind b/system/ep3/maps/m000517p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000517p_e.bind rename to system/ep3/maps/m000517p-e.bind diff --git a/system/ep3/maps/m000517p-j.bind b/system/ep3/maps/m000517p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..da7c3e7cb082c56f84ef48a8cdababc8245a834a GIT binary patch literal 23064 zcmeHLPe>F|9DZ7<6oi%ik%AVggApN2r>LAa>!HvfFF{bzX&}1TP3Ypq2noD&*@gaH zqM%Mj&>?UJQmftYV7I`ILEbtAfqlOjM`w07-@F}NXV%}toqccKd*A%N?|r|Yqe8R@ zAzF8|w|DMDC)!%JwQi^BptVp72KZKv+dA6A>qA@9*tPQg_?exVo}QVlBfbizQK>w! z>Htm87A2nw{^^N)eIilu*PUOVs2YaS(WrfY$UkM4ZB*eRoFa(YVs)d{as zBnD(tEm7%FIp0*|>3<;+LaK3OaV7>TM!NHvAiWZ#E<4rw72u3?z$fDHq~ny+c6Zyh zb+S;jy8J+$4k6q<7(Ww2_6pHA8jpZEX&Bb&QrVjMHRhN?nD|)T`Z!bj3`4%e-UZus z`b%Y*$G8VLZxK%p@eG#AB1UsQ6pHdEa7y3vTeWu>y*+;N{ z!7xY{^AE;*fkV7{fivpCDlhH;_H}~OePF?dW;b{N&%?>Z$8kPG-`DUU{OkGIsMF7n z;pbUkd|N(u%C~y_O!7k z@$+}hkM2YsIcvcWR5$2;{xH_uf#=ch8yQ+OUlocX)B+s$I6QP#|+>lLDX`NY>;v|J zuK?FX&IQf|&V@h$t_NHXxE`!#1NT?~R)7@9`rkZB<7W;0JV>fz*7vgy*ayA>ToXAL zI2Sk<0tL7pa6RC95M)Ev-}92jALzi}tN<&(zZ=N|Noz{h_p=6mCCK_YCXJtcz&`L5 f;F`#}z`4M=5GcU)fa?L*gVk){9xK2KG)jSg>Q)oc literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000518p_e.bind b/system/ep3/maps/m000518p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000518p_e.bind rename to system/ep3/maps/m000518p-e.bind diff --git a/system/ep3/maps/m000518p-j.bind b/system/ep3/maps/m000518p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..13204a31ff07f0b01002f42f51f5f5cad2e833b4 GIT binary patch literal 23064 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 Di8-65 literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000522p_e.bind b/system/ep3/maps/m000522p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000522p_e.bind rename to system/ep3/maps/m000522p-e.bind diff --git a/system/ep3/maps/m000522p-j.bind b/system/ep3/maps/m000522p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..dc14fe97e24bdb10693709824af926b63a09783b GIT binary patch literal 23064 zcmeHMU1%It6uz65R+bQh4cJDjTPZO?Eh`i8hlK3R7#lGyZT(BF5>s$cENP;NsnLhs z8G_m*O);ggtBAA`P&81g;7iTUY)LBY_QeNL`d|=*#)zV%6n%)_>|~PJO+sdN_9qk0 zq)YC(bMAM)^PQh0lrbM;tjxdF@AG4k^=vBJY~Atck7Xm@HrsN`RttQwmxA~>{#}`x zoSeGi_-?maIKI$p2Qo{CF{gH^<8{h6+rQNOUEgo*d>yRVw(9`g0c7X1*tR?Nc{p9{ zfV1z*LkKP)ve^{dc0oNaM-i{9pZ$3u;b9Q3>*tog+wkE zzYE-kgR^`v2Yo)BOYr|iW8&^HNxPNf)O-DneDL7xVq7+L)*eD!4+G}`U<@Tw@gHEH zuhh*e!%`?o$7>`UvXhH%ZFKyIq`DfzbgzH3k>8IU3{dhh}>H0HaBgBxd8` zRpf@}IPFiwg?d)+lB8VfIrK4lpfj0DRHL2;P=`6zGyf#`pzgE=Nm9{I6FZW%HMk3W^m-0h@)fcn4qQUzh^rbn9$&S4uMa1l0v&&&POiQ9Lzs3WMw3h48oCGR$I z^cohr!0B(qh4sWtW48*;#TM-2e{Y(gkG?Oy2K#EOF~bpi{AMQ4G){0Xk=Ut?=<7IM z^V$kH_n|hn)JSO`;P7LaeW!+SPr$f4y)N53E}Xkom%#@<;vMk$0{PVaXYd*PXpC8& z^!^QK+h+La8pSXCKCm2TYFz7E@HvIr2v|TCmi$%d^HSA2<{R~~krzeOQd*y|u`8Cr zZZJK77g$=GD;-C(;P9*9XcioP1soG^_3udF;!|lg^xa@(aPg(Fuy|OOSx)Q2oL?u8 za!h$c8Bjiu4@5%3f;9VIIof-yBe3syXHQ3Ghp`#yH9d#r4?81ot>m+svPyU4h|;F) zS57KDk!Gbw8CII{^@K7iCzXhDRCxjKpO^nS`^>3-TPd1+T~8mOp7=^rBlGy?&nRfa<_dfMz1~0`&s* zf~f$_1DXdk50<)tR-^zapex|@zj@s9Ck>1~aI2%&&r=;x9T*DGOr&0*UZ7qu6`*-Q z^MK}o*$rO*J1-=Sc%&5_mn2ZuwIkP#qWw&`hLWpkAO} XFcqMAK=Xj+!BRKSiWDFPilxB+r+Bg1 literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000523p_e.bind b/system/ep3/maps/m000523p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000523p_e.bind rename to system/ep3/maps/m000523p-e.bind diff --git a/system/ep3/maps/m000523p-j.bind b/system/ep3/maps/m000523p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..f211b46da292c56576b85c9f69b8f5d01ef24c29 GIT binary patch literal 23064 zcmeHMU1%It6uy(zHX0uUOJ5rig5pbMq>2 z_uPB#ne%<;yJshaF@Z7G)pPI8u5JuMm#|aV=C0Q+!Ml8u3Ei0JYB+?~nXp6H-dL{h zOX;AJt0=k3a|`&n)qr*AjQg| z4WOnDfb}Rl*7MTk91U(=@GP`HUEn&%#;tA;VN$z;N2bapgtux22#K=Y`Ul)o1+7go zYjoY!478C%cq%OCC_B7AYjzaAsP(Mjjhk;2{_uL-_*?BC&Og4r)d&(kzYXBv3qkc8 zF8B!ehu4G485_5P34>eLruV^+YX>cUh+5C^9JezEN-0A z+o-=3KTg{8t_-0zPa3B6zNhEXX;s~jp8FAJH)GZubn~IAx;m7PZ9s>|5a+O}T9$V% zp0RDGd;z+QTla44*^W5aCoMvU0`T1*KaMg43_ainI&}41`rI%#qG$O$a6JHiegd8Z zdR7cz*k?P|ugUbRoI#w&fU5#t{zrOtd#Q^{IpFE%imRVT4Kw#V=JDT~{sHtk_~afr z!IZt;_$ubgs7>&y#(4_*srf+OqCDO%4r;nvRb78+2ku9j`$@<7^!-cu^sS$di&6d> zT7G@kJ3ij>)02mCPt^E1;mzi{VDI-maDI9lV}Invu>x`AJH)X9apX2}{CNI7R0`H) z@2z@yziS(s)-e~h{kUnor{()VpU_A3gZzLdDRr6#Muta@_rChpk$tC_3Kg&Pn%QL@ld+NrlIeRX@ zq{$NlvxBoY`2xSlE90wEMSgMmGC$8(c!i(g%bIdu{?f^x`Ip?uUntBM=8I>sc^)&) z4<(X63y}H2)`IiIY~E ziIY}Nf-}TVkd3V$Q$4o62Eh!d9zizJF-}^OtnYWLkaY}6^Cu3xvzU~}tnViskPbWs zs3+1{ptC?{!DoQ_0rdmw2aVG}BVvFUa2d$@-#kh4Cl0)Gkd())?D< zvp{FTXMp+v^#ke${%OeidtTD~eIDpe3=jkK-RNo{X-~=ee&WFE1X-_R()>vWqyvuu o>WOp~=q%7#@EM?fK>dLFLE|*gh!`LSI%RBFiFhlebCJNo_FuL=iW(5 zNChFJazS8zRRB8HR#`R2GEq^%HfNgGF>wNz8<>~5t>`^bY!JkT(b4#5{CUAIb8^*@ zi(G($TR1yl?)CYOXGiz{YQB8r?zhF?XO!gnlkeE(zY{>I`N^q$V6WAJQje{-7k%Uu z4zKHF7XKtRWB?iXZy6|fJ$0&&Wmf-e{yW+4v~C0Z$0nTocUrf7pC~haob30yUhe+e z>?`&6z1;gstPij8bvj>W_3yuZ@uB0$05Xt_9nlj)P*3o2j^i)tiRe{55xd550{mxC zs3oMH<2W}JICdIv8YM}1rze6x6g7HXlK3f@GjT$C!W9nKBDBL_zoG{381`u26g7?G z)}9q${~Ex#tEhZ0$7!1+Ddp>z8NZe&svCQ>GjR7VLc~R(1V1E6+A2MveFh8@#|;SV ziR}kY>m*5B2wVeBbibmeaaIA(E^$z@vojz(hS=0A>d0C`n4Yx&#C=B3JjBeco`pKl z&T`0w2XdKQ=tHxn|l75soF%ZpTgnK&+WC>(;jE5Wb5fYZrwQOHZ}XU3il6O!ZxYW8U2 zD&GNmz5p8f3Oqyq3B);eLQ%ybs7XzrXV4*=7tcfO9fKMU{b&ov#kN`NTMB0g^s~{x zd8~kb+MymXoU>UtogHLkC1@RR7`Ar6TK`ixWn>S5#*cyT2N$1Xeb%&fy-nh3;0iH~Q>Tt7V_o#&BX;IQ$=QVp%wRtra8xQC*GoOii72>@=z&))%yO*bQMa*y05@1r}zK_Ts8sP$xPOYQEX&25L%bK%yRo%-c{;kMuHNN=@uV}iM*;E~y-laX8Lw?-|GN|4E0&QW3D9@AsVFCt#j?9dG?xSxIkD4> zoY*{{^LVu%IWY3TE02CZk2*jd7z|)d#9Y8! zz+5mHz|Hee4KKnC10K$a$7y50M`eZK&6+L_M) literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000525p_e.bind b/system/ep3/maps/m000525p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000525p_e.bind rename to system/ep3/maps/m000525p-e.bind diff --git a/system/ep3/maps/m000525p-j.bind b/system/ep3/maps/m000525p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..0ffa5bdd2a3acc5cf513400527d2f4a029f73e77 GIT binary patch literal 23064 zcmeHLL2MI86dgNhNN6IV3XqUEaN$s{+a5ru*_jniKvW1(l|w@%4wcE>-@d= z|MAS5|KETAuM_()zr8K#Ki_0_p)iv#%%u8KslNWI zp+)7Q>IE^|(CU1&dVW>q7HoY&>g`tzps^d4j6O&|FbX64jm@rx+v}b1QoI^MXyg_M zH&F0;`;E-4!reuDkbzaqK!uhFE=BGCAX@yrR_CMD^Q)@B;Oh^6|1IGI^bw#itRFbs zj852u!tQUzoP9AtI)MV$+xK174CX3+^<(PDK#~5>&<3!#zwG@ z6Vkiac53NU`iKzr9_NJ~&Zmb6nZ8blHTM!Y|Je?E$9D4fvpIFIiiiFHF)oCR=PK;~ z%61Cflcl`aM%yXnwe1;>uF$JL^a|&60dU&)I@YJz9DN=5nbb6+J6t?0X*+a+ko+R# z^X4<0uQ@m1AH|_~{vG&PM@Zo{;2FYK^(n;@5~o$ApHG5T-qtksFq>2S=-ab7#ZOrM zSP!x}r5W~%?M!pd^~<1V+jhd%%eo17?}2k2&=XKAU4#1n3D_a^Y~2H$+y&jW0glRR zaY@~ESghf(=0VR>(3gpM9!1aA0m$PT=$8Oq1U*}Kfa5m^F*-Mu>VnURB%nYzc{yPq6AJh`u+J@?c7!8`Tz>UMwkeT$qVlF)| zEHNXlhzEc_E5XsrWm0(@ zKzGX{l8XJ}FEN`rbYV<=ufR=@mFHB%-bi+lpUDbIE_S%3Y8Hzt7556!{7PVvljSrc zC(AkUuOL5uHX3hZJsMvFe*{<$KO4QR7Dr+&+lPW8BZ94p0X!12_}07qAzw z7d!@V9^gE{dEj+J+<)gqjo;$|Kal}s0N;&D15sy6+|MHi?j(qN9izsNIzSz`4B$+} kUcg?!Uho*ed4Tf(=Rvs}&_V`~fm#_L-NnbX?ya=%Df|Hzh5!Hn literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000526p_e.bind b/system/ep3/maps/m000526p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000526p_e.bind rename to system/ep3/maps/m000526p-e.bind diff --git a/system/ep3/maps/m000526p-j.bind b/system/ep3/maps/m000526p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..3c7e5545284d73c8cbaa5980a3fc8d3638f282cf GIT binary patch literal 23064 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 literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000528p_e.bind b/system/ep3/maps/m000528p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000528p_e.bind rename to system/ep3/maps/m000528p-e.bind diff --git a/system/ep3/maps/m000528p-j.bind b/system/ep3/maps/m000528p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..e0fcd11b623ff634b2eb5d23226861eb47e93070 GIT binary patch literal 23064 zcmeHKUu+ab7@rmuTeMcK8jJ!aCi+lf;$n;zNn6P-YKVYIwZKCgiw_OLTTT7;wtF`_dvbfM*Spi% zG}-y)oB8JV`+f6$w?(K5Ayi#oQ?tAl2KJ|_YFYJd^i-Ac++>3BGbTcgi97CGZVyNY zU+OWIHp1V;_}JL^#4Vg{kfXM-Tp2gD^1nKy)c}rmdGg!kCQHHi8UE$Qr(irRpJLku z11#=_Li6u+eR0{`LUdbugZ()O+OCAtZ$H%OXHT%NFR2A!ZR8y6VZsKGSzqveTd>j_ z27VjCd=n0T={YPZ0){_h=J*zJtXNXG`3`fS%QwOJ8MET}=hMd|M6F^88#d+s9}F3~ zEdP9Vxha$nFY8bLXH{+_yx?K->EQQo`@LW-!d^DN#kPw;!COeSf8`Lsb_JY%`}s~k zdxCv^Ni6_tBgeo0SVat*l87-&n!HjR&hTf;QN)T`(?CV0vcTNya{V51)oh)bKysqhP;;1zcXT7FN zwbQb=LJ(4onvS0Zd=?&;am0@S|B2m~@w_aj>KZyz=VjSAKNH921`R^$?Qi~p(cufy zJ$@vXdL`FEpL%Z~n%cVNU{Loe>1z{h-ftvAB9Sl`ofZ)bAk1 zJHTtDEGzX0DcgY8y;K~xI{((ti8n&tPHXz9VIj>e6{6y}#DiDEo~L5*(PeN4TcIvG z;66W4xX$X+pwEl4tZs!EgRyw}K0it6?2?!A`OC+|8Nl!t)ahZ+8MN`e0bH&7<3p|< z@n_)mAVQ;cz-wO9l@}myJ3)IZj!Qf^278_XeO3#CcpdTuwXPhebaolXcL}t(Pt!;1 z{YZTnG@1lVp{sie#iPCrxru>3UjUBg-ItA=i$7BJ<##0yQu={IQkF*>r_=o+wFz?P zD?APk1D?&mYt^tI?lSceKP^1(25M~7_eHaR8Md= z)+qbNO`wmy*uSdbKD9!O9C6eyvwMu+0QSj=2hPJ26rPvtcv5q06!7Q5!^UZXTBh;% zoN>gnM(=3ov^>i5-7V6(MLd3U*3b&Cw^o3LYqDc&WW-UaIO0FVQK>j$jyP7l^jor7 zISmYHpdDamAMn`htcM=i_S24~9xs&16C}ZK@ZBH|HV1r`ep}jie6X!!&8GIYj*KjU z53?(Y7QGhOnQK*Mxor>~C4*$*(8WMA`F^iXCdn*0Nxmjp??*jtL=T7u=3#b_%nV$C z`9yRNNe&E=+5Ml8Un6J9T%B$$;3?6@9C}kLZ0{dV5H+r!DlYvA2Jy zyFIh&B$@WQ))(m1rJ*nb2V4)u%> zt?%gG88UY;K&BSYA0t}ivv5}=96CdieMkFSAo6VJ%E7JS9g!PkZXiH@vZB`>ND)04 z3N{5_4Ti~iqV4-3a^uj6?tK8lpmQm@JuH#renJufOL?1Y#WUK_I4aWptGKvnl@}I@ zg}X>HFG*OgiBo2-iBl7LhU-JCQTj2@N9l7wBjEX<)hLg#*PK-Pej^K&&cQ2wu7O#L zUUjVW{rn#AdtfTSdm^s|UJJYyECqN!;QfI2gKRbM5m$gKU?@=O|MPgo&owaXz^jgx zzMtO%eh*9qcu(ZDz-ximf~5fO2fQEfeqdEYrGMvn#c%1r-&_H%0RL???ts^xQtA7- z24*Ly^gMdS&+h@h2c`nNC-Pe0wZLn^Qh@gZ-Vb;`$W{X%aRs;nZWTaxEnIiIHrKkp E0i6csCIA2c literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000529p_e.bind b/system/ep3/maps/m000529p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000529p_e.bind rename to system/ep3/maps/m000529p-e.bind diff --git a/system/ep3/maps/m000529p-j.bind b/system/ep3/maps/m000529p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..180873a8830eb74e16a11e6f61f1274bf3690fd0 GIT binary patch literal 23064 zcmeHLO>7iZ9G@*JrJ{kf0&3J6O}LnP7!Q8M-FZ_?HC6mN6hy*>F*Fj1f{EeMd83WA z#UgDqyYbMdQ6y<3z(Fr`JGHbXvv}5vBqj|SIceg>r2gK#?sncx+1=R>cenl@>GJ;X zz5nn1-tYgh1x-t6n%1^;)28+gOw^G`+|;%qAr8oqkRxwu{+6k5_0!ZDl+7HRx}I+_7IAPep4E zt0d>pn@WjL60bR)y~3i_Y-^2IU$MYejKU?-4BFUI_Dk8t@d_8MlZh{lqEBnRKN{~a z|KjmpCt)o68G%syK2cj;5o(qV-hhK)eoS0EvK{;?^fyB8^!p!FiE5~7tSZ`QtJZ95jaOfNz*daHCDIJq*i!aO z*~Re+7d2+We%5v4qNW+=Eo(;C_3Y=m?%t8kuydNmx-~7iC!HyW8T$i1+wrpipD!&d zdqLOP7B9!ffU~)L9QS?r?SRiN@VM8@iM!pMSewFHA8>}mO6if!;`{)9uEBqsmlJPe zw@Msis(c)F+Ok+5ejdbIcBM1PF)!!702>%_aEy!af8Mgp4R>bPqh2n#1dJV6i;3fQ zLgRhF>98#Ke#FbNEDeJphQ2;2VU-^26mVYga^}YV9NVvHsTG&FIPOv0`(8R@-o9jI zq487wUe4&kyF^amf0vW6OS6$D*wf&1kIc91)XLh&!0!eQbeAi|Kizqpe;B#*qdZ^8 z=d&v~D|!`2LC##qdF1o#XO?v-ozD3A`~WnIi8K2cd~O4ue}MS};)RP{q0dyj{BgfS zzU)kA+&<(V-f#)J`t=qQCpCc@*rV%n=xD~@x-RO;y&D{3;;@(DgFJQzzyo!EHVZ(UW0r0tb$(n`6NyL8U zC#+SH&x7EDUMiS~d``Uqjbi4r@HOx1&zYUNF6OCEWnP=;h32-^`daIZI3FD5c1@e> z9P*cLh_l9-AcmN;`*huWNb(T9UaVEZhavCgO5v2j$GC#nzt(kJ@DOA6@$r4;Bj73e z&yc^QnQgG2lymVp+burTA#mIPj&TDVH-KYws~G=xYq?2=!<|uQw|!`G@Wh|?pq*j} z%yVzP_4=`cYJ}`#!INXZ;_N$z*EpwoNy|Cnn9eiKpkweCKkA*h%75Tf{5P}5=y|E9 zw`X+k_z~`neK9&bK4P{p$mJmwgR;KG5ove=UdWM|*j>UcBoh^M3+MnnYzLO`@6vS4f|r8jYV* zJQ^Q^AOng=P>tr8R~wU7_ZLxU^*2<@pEQuQSgnq&?oW9@c_0;_o=CMowLrCySAhBf z^#ke$tJOd=Qh*c?3bgvad8*}48pt}RR>xNNr#zrMkP1*wq*|a_pjyZ)K>dLF0ri7? zHMIKgdDZgI>p*{#0;B+aH;Npnwx_hZKWQL4L955HTK<#=lm}7)>WNefR0~uKc?GB+ cP(Pr4uv!f?BLzr-auv`vFaK5U*|pC73-g$N^#A|> literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000530p_e.bind b/system/ep3/maps/m000530p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000530p_e.bind rename to system/ep3/maps/m000530p-e.bind diff --git a/system/ep3/maps/m000530p-j.bind b/system/ep3/maps/m000530p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..9dabcd3d78070c50c9b7f682db83785d2275d284 GIT binary patch literal 23064 zcmeHLZ)h839DdhHJEsVW2;zt3gMU^K9G>VVZhh|(m>Uz@DuSyU>xZ5)H?}I%f((-P z7}}=V#Rw(A52Y4i-IPHUyARuPr~N01$e7bPT?=l`!oUq>-$s2d*K2M`y1O&f<>K#6 zL*Dnj-}~J2dwzd%DPzkRV|Dj5G~B)tlcKS_?l$MnGIKaK+}5mqMT5h<+NVl5g1^a$ z@$rdCcdj=|!I<0H9Wme*&dh)-wWf!wKSllrJesBSi~Xx~U3!PA-f@e+-|JQFY&mj% z9dxrVcaQ4bbMwaU_3HJsJTv&`@4LS|OwI1rx;}pWbF&Y8BHUOGwfDSJ93VG;^FJht z5B;CkMbAU7dIe3JBL7O_?e}`X{CA6|-|GQ$-@U=rwg7&;bF&Xx_~8#d|J@{LwXTm} z|J>|vB4ssPk`JfSO5&GBWpYH~pQ>s`lBA|=Hm7{Sm>gxS32!e$z6hLlNm6#F()?H| zoxvfao-t(rIBR_1TnElZ;GECqc$Be>s;cs7@bQVG53jzaJgKV6&%imOswd$SKL|di zUpv5uGfzVv#hJ&z=TAv84`fCp$<#=}e@^}2D9zx);K#XCTD}6D@2%VC`Ec)ics+2I zLnG*|f3B(~3V#!POuu~K7>@v>8NOXmRTJ~XXv<}JW?rAD_jnm=aOQEmM}V^qafig%jkUMLEa|-9~gKtL> z_qGG8@_y~`o1-o)XDEX=~)OZmv39avR@^N>3q`8(We+r97D*!t6buY{kN=M%Md!*y6c zV_QIX9dlJOw9VQ^Ev`jl zydd_Ad*1GNBeX{ih1)xJ?c1H#IJVEW6xpN}d#jwyV!_b5wdb`>T3n22TeYP2D%NrB zwOE@L6_a8@jK_z>l(tt3!)B)@i)Jz0n?Crf_);A2mlOSQ-g73Vd~mY=Tais%6o8G_dNR zQXPYSp7Mb5z*2yEBGm%b0@Z@80QCdv2hJ=k}4ns#Q)W@dNP89NupIcM&i?|$dI=iFTt zqDBZ2Yl+7j8erH*O+ zi~EKfU*|l3|Fai>Qy({fad+4EYM^h6ar132FAv8pW#|0z$hyKToMO276)qFzFt?PQ z^I^_~xHDoVoDIPBi6hg%h$HSjI5Y$2M>a=_$|>-<>79?h6FdlK z20Vz*hstnDYd2xvR~!4QqL%*fp*qwwjeIXdb`^>`>V?J#>Lvda{O%#Iliu^9SoIrf z=R8@kQ@C{GS_uyH9IXWa263PvXJDhYz1Cr#>i>%n`fgksQHQn2iR$?_p1<;rBL@^k zeS*DeM=s6i(QUwKg-!M2gO8rV+C9)`(&(>l^t@h=XE%U@Ij?!i3s`#}dg3+eu@$kK zVYk7iynNuO&!EX?#Qvmw5G%j|y-})X!b#wPhoK)rEHL!%$fq6pASQtt@{2=D(SD7# zWOE~ACxCMddEuF#ybvl%XY22Jma&5m<dK>J}K#wGM*-5@b{Z<;GK@L zZCZq*TX58QaC8ff`WGA%?|;0{hGYz$8$31GkKfnJyKuCp?{v?ZvQJj}Z28S}zkSZl zODC=!&P-+|GDDe{nFpEYna7zSw-}yZKm~e5uUMe^iyUrA=GobW;=MpJFA6McGFN8S zWUeOGC#;WEjitAFKbC$EtPFTRtZIbAu69qN9#6Xv^&G0@&l(uLSgnpxkLNnzIxrOA zGm(3Ndx3kwRDjO|J`eajD0c%}tN<%O3Pk;Ho@)8C21XxLt7FvTxemAv3-(5Q0@k{SOHdGu@v|PtjH;4 literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000532p_e.bind b/system/ep3/maps/m000532p-e.bind old mode 100755 new mode 100644 similarity index 99% rename from system/ep3/maps/m000532p_e.bind rename to system/ep3/maps/m000532p-e.bind index 1b6169998ee485c2dd9ad773d08a66ddfa5d588c..a6669456d5fc2bb04a8adeef37c61c3f0027424a GIT binary patch delta 17 ZcmbQSg>l9f#tl}o6Bp=h&XC<;0{}wb2PFUi delta 19 bcmbQSg>l9f#tl}ojNB6^>Tb@E-CzR%N+Aa! diff --git a/system/ep3/maps/m000532p-j.bind b/system/ep3/maps/m000532p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..a6669456d5fc2bb04a8adeef37c61c3f0027424a GIT binary patch literal 23064 zcmeHKJ!lkB5T4ceubqWOj6p0!MAWsC7;oPm666{M1wp|=7fbC#Ee;`IA^1a3@2XUm zA_l=C=(Y4Ix{mnGy5|4m8urf zL1*WJ{KpS2MXVdrT{OLZ8@3S4ct}6xs{8e=j zBS8@Ed3Ib>gFwsycsBqJ*Ubop?=a>hfH;aj-*v+yK@cBlcNU8izdrUw91jA203fab zgu4-AY<%0Iab_@XJ9646aWJn_jb=QC++<#l&GU*cHJaiA>az>r#gywtqd`y^PVEGz z*6x@ogzvtOc@5!xwB3m=BZqdoBXPakxHiOz-y@%k`2MY!7v>W!#3eYB<~WkGc#gm6 zMpLe%dw5>eg}fdhPAH$6UE)Kd>F=s1&e6l2Kg2)a#CI^SX?%aBmgpHxq`LZ}sE_26 z!fOeMr=Q2gNV^jcA|9=0)Xf;@4b~xQ+uBs?^wjfNbDR))3(O(CJ^9fnsSci3U9NDAdX`|Wlr(B5? zU2Av3Y3z4d&l1N_XBjKbf=q~+?@N~O0Dj{ z5+_!0ydj)NIXLm%bS6j~Z|#+jU4(RH8z1i#_S2coS2Lc`!CR-LHsU4fQ(xdbhxSP3 zf#)&YU1uwa6Dv60A8=v?$IHRV@REDg*$4Za>aS;xBf!UR#O&HH(DwIcX3u@U=Ru{? z-FFk|ANEB77;-Kw)tQtIH);F%`K99B zmjhj*m#`+i!m=j4ny61$A61RzU-Nk^{~4$Z_&iiK>{u5)ld{LlQz&~5MftM^X)hMl zvF!0&2V4iK0z4DB7q}O=7cvES9`HQidC=_!UazkLNnz zI!G1ZnaI7sy}-SYDZul9=K;@ytQ*SyomZ59rUTzu0ak$jHp&_(I#bFX&l;qYpzP;Z ult0%2*FmZP&qVG8?gj3JOaYz;JP&vtbi099tN<%ussL=9|7Pl&=l2tVXaU>+ literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000533p_e.bind b/system/ep3/maps/m000533p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000533p_e.bind rename to system/ep3/maps/m000533p-e.bind diff --git a/system/ep3/maps/m000533p-j.bind b/system/ep3/maps/m000533p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..e7e299c049112522018882ee8dca438ded71b6a2 GIT binary patch literal 23064 zcmeHLPe>F|7=LT#hIp%>ZXTjT*O8!*cHXRo2cw{f!0J-GYlkQb30ysNj0%F;Q>TPF zR0KsvxI2|f>_*_B%pi;?0{e3kg2;Yv$8q0`n=`YMx-Y-Mb>8>>{O0?9-|zc&l(7_J ztZ8#P-PVeM|4OZEYL?61m6Dfd;2vtXY)Gs7m7|R~w6b0J86O)R9UEWlpFi|U@V-sK zb>HF|FoN-i*}78_7GH2(_joIfLJcBV*>PELRMWwxUqV_dUh?0|9^h` z`49gB4BM}lD#D_PyRKLC5#IGcfcgy}&82MJ;+HSGKA*#E-{v)7gz*tv*PW7JJYlx( z@zVQWy!!vo^nh@D4KU2sUhXji2;(ET9uvL+w)^u>?|;eKK?5W-mJ31sCbeTdeC0Pg zCxozi?Y#A#vBCvA&yNVfKVc6488mM&mg$e?ld}hBT1sVWNQgo^V|=?1#RqlZT!Sxy zG3%zCF93sgmdetHxc(HMmCAg`Fs$#0!!QhfRfx=1V0&?4E=pw1MsTtdaeT4!azD@6 zd2>?1=_!??;8>@Ck%2!Gh^s{i^ALP`tMC&Q=QA*NfR8QU89wm=@cbBaUR)7zic@(0 zFrGgRo*n@Q+++~Q0*)CaD#nUGarTLw&o=jziyx4$UEl|wxH$4@R?0B4P5qSzOO7jf ze>bngh;dmb@$6p1aL&7WmO1B=Gmjq^zVeKvep#n+W-oB2T|LWMs7KG%Mc}}9=eA); zJ)3vknu_ZWA4I;s3E|AZpBdy#>RBlIiKu7(1{%JDxF#7JDY@D;&nWyvdR6 z_9(flfZjX5ec>i?oLAL;#ZAU);W+oIIDA`mzX#N4{_vNmgX5d}JpYQjFCWW-`wBn( z?rgRRcBi)kwcK7Edn1YCC^-BtIF5qDYv6czHSZj=rfInzBm@OCyO~zXNVt_jnyAhK2|>mst1%0m5s(2C(ViO=Vcajk0Gi5 z#DQCjNqN-$Jn4XR;4(lxk!pczfoj2HfcgRT1L_CWYM>D@KnzF*bpM+tssF@*TL(#b z)cri^fOOz8Ks}Lafog$j!DE2>0rdmw2VOPk{+^fAe~$;c69dEmeK$%CB<(4>pC=C7 zPM~`pllo6OARV|2P*0>@ED+eK>dLFLA4raL<|rEQ5j&ZbF)$R*4p<6X%IiS literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000534p_e.bind b/system/ep3/maps/m000534p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000534p_e.bind rename to system/ep3/maps/m000534p-e.bind diff --git a/system/ep3/maps/m000534p-j.bind b/system/ep3/maps/m000534p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..6ac1fc184c2b8a019af74dd5eda30a784cd130d2 GIT binary patch literal 23064 zcmeHMO^6&t6s}oAOk~uH1QtCEc<>tSfS~J6|EwW_h=~d@uqy$f!An3TqRGM8Y(Rye z5lO;K5Oaygh%BflWqNQEWX78W#Dk|jcoOvFW&B=O*K}2Nhjj1E_HM&#=;`;WtG@c) z_ui}C5Fr{uh`9sJ=ED!cu&zDiH|8Elh8ws9{m>d*(n@_Ah==31$&Z>$F5XTSlPlry zlyjv|QQMXTvZPSE#L zp{9}U6m7Grv|f;evI*EJqSNkc)Qvm~bVw`Ej1cMdtIU)&6pF+0o10%a%RT5?E)fmZ%+<2dfKaMS(B4f9GEjUXE?M*diOf8i^j+cHC z%F;^xBvb0OcMCOE78tirGY%eIdt#H?skietra zznHD*l~T>$%wi1Jn2;V!99ud? z#%}vs82VamxH2=QmdYQ;OFs!^X{COWDfL>?G(9_+Ieul)RkM*EKXjXjhuz7Rw~~tg z{v)|2l1W3CEKzM+QWyQv?fIV$N5QklM$t7P+K%J+SK!YH;kDp*if!xd8IJtZVHliP zcl?WC=zaj)D?<2xm&5VD#+rk`I)U|HIgSTD(N)+baR&Q0L;oaVSsRX`Tfo^TM6>|h zk~sZq!02HAo5PX!yyLk4I8Og&c|OrIi0hQ&1aAS)hwXKHKOKY4pC|f+VOT`z=nmE& z$GQ*0FnSzuUB~?@aL<*)={LH);L*)6IJ54wv9Ws!F};Z~u<%;Q`=#Ni2p{)P#Bvw= zACR@v9zyTEFT5QbDTfpNh5etz{%1Br(#2bMVqU?e1gBGk4RU-KIY!Q+S76)qe4}_h z2Ld?XA(naY((0Mw^h)6PzlWj!ei#lGB`^0fcy+f>haVyDXB}tIn(sxopbyovUmnLB z17`&|`@6lko}0tbR_fXR4{?1V#2}RQ?4nQOdRFyQu%6x1sGpC!y}@zBL-l+Vyr`Z_ z;&_|j^DS^r&i58O$k9dIzoDK~Ulgq8;E|5-KS91$y1hlza{md`z)|p7PU^5Aj{gJr zECc7Ajv!rr#7%uR;RB9EFaHMCz34bJzm0nAA430sgE90*8@MzcTyKtor`F>+?z=dn zpe2p#7vT&Rx;+{r9Pdl$lY=v8$+L)XJk*_zLH2Ir+&0G=ht4p`pc?|k8N`KFTZxA^^%8^CcReAPG-KBjux|4UA6YY&lkR5O*bmG zoM+8gfyQBRS8P-L)ebk-c0ArL-rFQ|C9teXR%X^DtBF3s`sixxyv_O8`5fpBI3Kzi zyThI~Cv{&>S*Uvq)ADBxWG_yuW8K$t9dI2;1^7(lUf^EfUQi0~dBEoZp9g6-u*C|n z0;E9Q|IITkf7U?u!L&NoeLdF!*MU@k&qVG8?gj1zr2wA?d>-(5pt_;%f9FlhU+KV4 zR)7`YZzI*fv}a1)*RuxlB&d5Hr{&Lez;z%M;4_hXfqQ{_K`FrJ0iOqa9;DsC7AwFC P6jeYp$Nv_cn>X)&3OPDk literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000535p_e.bind b/system/ep3/maps/m000535p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000535p_e.bind rename to system/ep3/maps/m000535p-e.bind diff --git a/system/ep3/maps/m000535p-j.bind b/system/ep3/maps/m000535p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..464c664775833fc5c7e54717d322d8135c51ab3a GIT binary patch literal 23064 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 J*}Yrs`yc9C(5(Of literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000537p_e.bind b/system/ep3/maps/m000537p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000537p_e.bind rename to system/ep3/maps/m000537p-e.bind diff --git a/system/ep3/maps/m000537p-j.bind b/system/ep3/maps/m000537p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..df0c4e5124f701bf0c81a7f817c7c3f6156943ca GIT binary patch literal 23064 zcmeHLPe>F|9DZ7;6oi%ik%AVggApN2r>LAa>!HvfFF{bzX&}1TP3Ypq2noD&*@gaH zqM%Mj&>?UJQmftYV7I`ILEbtAfqlOjM`w0d-@F}NXV%}toqccKd*A%N?|r|Yqe8R@ zAzHiJ+dFrm6KyR!T6fZP&|0Vk1AHsTZ5{35^`Wh4>{|JL{LIcwPtVNO5nlz&|aXR1HIEa(XdzWChk2X?yF_{OolZs@AXXrnJqf*yzru zjh`wW@Y8$uQ><4#FLm=#`ZeC?n*9Aoc_0=1m3k=w)3rdwM|VD5?3B?oIXxx+>V#J* z5(BcSmZXEBi;E-kX{K=mz`?;3UEd`;1h9p(s9aZyL)Wg zI#noIU4EcWhY;>wjGqf3dxhv5jYq(oGz{xZscg;s9&=0~Onj_veVnQNh9O^J?}BYR z{iU+ZW84FrcZes4cm_*l5u-UD3q|=0I3@4_H!r@!7(W8eum;XS+xBqgu+!NqBc6Z2nFrn_pO+j0 z4(WsV`tXUKx}`4{7Tz#(3}z!~*ml^1sa`#Qnt0kGghvm3mC=i%hy<2YZS?;Cg!{`LH9)amCZ z@bfG%zAv9U|ru;%)xKJR8pGiQu2%MMTXD0CTQ{T_-i&8m>pPl2-qsK7Z_s|JG zrkLa{j1POoNM|xUOb0zR$o!a1`LDzLv=^j&y)vN4$mJSEK~pD z_=S7sCwC%`oVDNwsvC4ae*|mp!t?0&jSMZCuM0&HY5|UW0v^H|YVz&au_~OC@ceFg z-Slzf<7mANaMBWw$KxBg-|V_ieQM6Ri5vN|%leFZw?w`bu1=1w(I$c8hH&H> zIBp0>=AszeeYBL4CTheH_g;;yHE-3ztGSSGHcWxdI+M)ddWC3dX|v*P*nw`sgIJSl zQCX8}O~Q9rpRgKR-{QGBOU#uXOi{(bP8GLkTibQz|X~`I%a)8`+$Am zE5J38bAfY#b0JWG>jBpTt_Q2xz&%!g6(9w&{x?t3_*nx#50dJb_5JJv_JOYe*F??* z&IQheKmo1?To1S&1lf@F_q?R>2RiUKE5Hiy??&=K(wdU>{j7ms39^2UN#kc9un&9% fxF&Kga4v8z1PX9H;CjIIU^N@K#|p3ljZ)x0^b-^1 literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000538p_e.bind b/system/ep3/maps/m000538p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000538p_e.bind rename to system/ep3/maps/m000538p-e.bind diff --git a/system/ep3/maps/m000538p-j.bind b/system/ep3/maps/m000538p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..3ec9783a20bfbb7d8241cc7525c721985d85362e GIT binary patch literal 23064 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 IyWY8f0XqDXzyJUM literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000550p_e.bind b/system/ep3/maps/m000550p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000550p_e.bind rename to system/ep3/maps/m000550p-e.bind diff --git a/system/ep3/maps/m000550p-j.bind b/system/ep3/maps/m000550p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..c8e4d24ef81ea2e6db30b1b284d4457895a765df GIT binary patch literal 23064 zcmeHP4QN|c6h1F49TtBO6lK=Y3CboDgvelJqj@jVR_Roj><8zD%AP+AtIU;YLHh0$ zY*&}G%i1mh$5w`Jt9H&>*l=C*65BNE%Z7D`mO86!ovTy}vLPtMbKgtSr0pOtFE-11 z?MDTQefBLfhiKN`neygN%RlLv{+iw2>>iu-C)@Hl=10JhY=YT+ zvhG4$o8@b!eC|0*y?^rs+^T+V8L(=-RsGz0&u%-_gZbXiv;XXi&_W*Br#m%#%$JYs zTVxI~-|aW&t$FENogb_IS=BdxBU#n3TJN)JOdf*eKYvyO*s6YRFWsv3R`ql1J^%i< zz`hKM2epW_%IlMA0sKX>%)&2FhR+58#K!^3tF=fvAt`pC&eA0(oyA_C9~J!T>~?7_ z;xe4KOyGQREhwQC(hpu=9|HLu0FD(gdrH&CQN4KfLuk*V)seox>~_a?!;geLh?~v` zl;GJL>~`nUah)5cBds&5#n?)oO)3Ey*`H>IeIsSgT|FJ1Jf9K{4{70=Ndy;U5@uZyyk74XGi)t*-ATg z1bN;I5G=viL6iLTnZ>g@iub$%bt|-pj^n_62Jx(Zig*5o773gKuoTaKpkIqCyMl`y z(D(1M>zT&0vln}V29D~s z+tppyf^*>nq1ztU6qm(U#?KqtgRu~|M|A)=AHaPZ09#8F_^PodFd5Pf?U{uW>I%5A zMj?*sn!6W?=kT6iyr+)gvZ0o_H#?t**;B7S0;di4tBo~#S4-J@>R>p5BpmSuIDsS_ zu{0H9q3^O4_hxVa3JMni+$9K6fS6+Ij^=JM)wY=&R~!WUD;w)yf2s8OoiFd)VQlqx zWhdQ7B`PWox`o!zjY{oYQb`I)%Z8!$-LA_@g{Qaebg^fweVbBI+_J|LXssj16mjqA z=8@f@_K!&q`G$0mtMnaOMPH>J_lD;4uC}HDMZ!;xk{(5D>~#&}>X>eGI4(z~NQj)k z=ifITYX1ynyU8g7iCn>52kL)KG*_F;Po_LWq|^02`I+>x=fz}@98pA6)|iPTqKNcO z>Y-bd7w9IsmNwDXNZ4HyH;ftUIqo_@!nBb-OP``mBuoyX!6M2(LpR}WOvi~if(M64 z9~u#EIj3WcwTdO}m;WnVcdvOt{@7y!XpJ zCk;Ks=rBx9V%5U34kqXabmLqIwod5RX9z-Y7Uy}K7vO^JUN+%ReNMq7{D^Y|Mufv` z!hLKCN1{<$NuNgIw#~w>7RL4YkAO3F2E#uKLpU|iY%AD=OZwE$iJdtKllb>{Gl6bG z77C$=iT_{tCQP~ML^&t3uY_|l2PXh`B=UXs$NWhS8Ne2FnEXnvcrFpGd3);-GO(|6 z&xhD}PU)?shl~;xTZ`T)$>4OaZJ21$^nN>t?dc5p9Z`-dRfrTJzp+k?{T5qa(r2%* zetJUhcm3E0|0bO+CrD?ahy6sZBKRojjj0-kjw5gn`5b%iMMX-4&@H{lVJz^Y=Vria zP0x3I#!9~XVAX!kfsq?ldCYfx9tS)Q3d0VIveO z4CMRoJXY=J92j|EmB)P7=W)Q}z+iyaM4k&g7kDnj8Q}GR*8^S;;@Obz-}9{6ALoJp z?yFTZ@s08_bk5=vHalqriV1U;|o(nt|crL^l;Prsl16~iNvw^QT b1Dt_$8GzfP*KO$vC&>x;j}8l>1=0Ti_L{Y1 literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000551p_e.bind b/system/ep3/maps/m000551p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000551p_e.bind rename to system/ep3/maps/m000551p-e.bind diff --git a/system/ep3/maps/m000551p-j.bind b/system/ep3/maps/m000551p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..172e3a4a2b3f454dd15d48dcc412df07388bc277 GIT binary patch literal 23064 zcmeHPYiJx*6h5=D5w=1=Vx@mVG=eEaC>g;A!DeRbQfe&K`ezR>N@(l7J8=DR=7-jeV6=2~B1`EOy~deUmifMkF( z5PdZk*Xv_(ZBSLU{jqr8kyt!>R8{pMBE6Dmg{rDfGH|pFII9gqzZ8qt{}BrJeP9^c zIL4AV4Y9Z*9O$C&!4n9D>p!yfiToN0r*NF=a}V@?5ICnpVa>0q5wBqgTdybVS{e#F z(I>JSdp}9!xxFE-1q~xo6N^W#0V9dy1OzhC4d8USVR*{GHE{Yigu*GD8u088M|$n_ z4CrTZHY-Bm{)dRTKSxS&?g@X^aAr>ZSziv{xf`)?7=E}7e#rg#8phzy0;j>5KkIM7 zf1Wao{>7t4ra#X}pVipg1G_4K6M#Q2ga6!yv7{e5^k<#>;VPp3$6yD(JT63hC2<`3 zq5cx~cEPS^fU{3k`w*9rzbEy1WYjR6Kuv#|a#q_5e{P2l{Q{oRK8JITZV!b$LFA-H z_%r;Fk9*!l?j1o6N4u|CRilrm=Qn{9g#SEhWaN$h&(Rz>+CjvM=JR{y>Oi96ddg) zIMFFMT4g%MLht<-5ev>;i-^ie!Jjh|3LI+g>S5P|jqJ3qo;_ioN<+(=EzOndwrp$N zlsYC~i}{|}YOZIouJyjwf0IawW;NO`9_~Ewlg}II4SwzpTt2+n=XH1V9{8Gdv*C^x z*jN7TtcOjoUUQeZ%6!EPu((fapE&q5JHvNlF*b-6WDot&IVdF0vt#Tk8(^`HMs|`N zWmkPV`;5i>6aG$iz4LX*USj9jDLmh?PuVe_?#|L_K@a?{+-0sYJIyxpW%Jo|CS0eK zt)lKwb|}Y{<8&vlN;j{xgqFDO;FShYFQ8sT{X*0)3DvU9b--**#}vH=>|9Y=m9=vUBL=SVg;9~rdm`XYh6pp^1c@`3Ly`R z;znPgKhb^;F6COFPR~r8SkKo&5-TP-bfZmE znBn^dA*bNs-zN0k))8TY%|}r1Q6*&fEJx(MCaMKL<<=N8@S)(DD?hy1ITYKtbCw-c@M~4%4@Nh>j>wf=g@I!Imj^nmH!Or5= zJp=49th&rjv`+-u{NLlg{rKP~>|5NuKVpYb$Q)(kST(>-_;fq;7WBKY+(T*u2J+2W z#lD_9L9yGAul|w)&Vcj-$$@YKnGa+v2uH{_uNM1ynGa+>uo;kdql^U^3&~iJU&(-E zz-FM>f8*q!x=9FSzFFCN|pxDnbU;U*YNI$R{kU3Gtf{XmN!NA2I*{ literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000552p_e.bind b/system/ep3/maps/m000552p-e.bind old mode 100755 new mode 100644 similarity index 100% rename from system/ep3/maps/m000552p_e.bind rename to system/ep3/maps/m000552p-e.bind diff --git a/system/ep3/maps/m000552p-j.bind b/system/ep3/maps/m000552p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..d066e2e28ed3a500e7627a7b84c7b2c1b11a1738 GIT binary patch literal 23064 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 literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000603p-j.bind b/system/ep3/maps/m000603p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..27d9e2e9dc5f28cb82c75d6e7e76445ccf27cc4b GIT binary patch literal 23064 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 literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000605p-j.bind b/system/ep3/maps/m000605p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..ee8c7a55d070c488ff4b852e65d37da245f0e89e GIT binary patch literal 23064 zcmeHMU1%It6uz5=m@d`&vmlBjDS~1j6uc@TwwbvTOA4tH5%bVQS|KBf)QGiULZN%d zs8z|PO*QOdQEcl&se!Vj&4aKzvo%%Oje^lA6fp|^K!t!m_@KmdcXoDXXCphav)Sx6 z=RWM-Gjq>(&-b05B!rLvA*5-bwY512o8lD+G;e4U?{h1VU6w_Ncl)ZARvTUcsV;V1 zT?$jWW@j(XUi_qdK!UvelvmsCdqwPv<;WI?omV-1>}Tt7UoL*1@hY8UeDJ#eF)Dn@TzXt zwF2v!d}bUt}w1mXV_L%Wj{t^!Y>gu zzu6^1^?%2rk~WrRA?j# zSn>kkdc=`q>5M!J_b)*l+f`LML22i);l(V@9*9RO$H;uonjxNDMnu^hjV0d(tUxp- zjR99npPqEa4U&E~8e_Lps%!wfc1rb4>5TLR>@8j{aio_3hXGD7PIUux{+&|!-l3CT zag3KE{Y+j6vUe#>Bni>)C&akkmaju@Sb@*Yz@Z=Vbz@H^F@9n}rwc*(D~QqJy@rrfb5BOT0dl?rYVnp_zV>*i z=T?YkGo`7Gahm)K>IdS{Z>yl5KZV-qj>b~g-4v70fj+xO+x3yDP+lLG^(-F*UM=ZN z>gqTZvncT`^x5AweO%(O{?T^UF5-#CvKTF(&%fU5klh^`VQs^U#{BT2sORl)e<>du>+h#pf%)8fu3XV-FrF1~%Ecqk zLH!PdMl7oO1Cf5^o?JY@Q!J$k><7)g_|!YZXYmp^h7Cvl9~{GmBX<;Itaod9Emm9U zrP?uVhc=-NYOIivUC%wccd+B}!F~Im&OZ#lsPXV_?Qr;^f(K7)`?YTEDQ#kWYVu6v z_3(kM?*dxNKszQRA| z-&@f9bfk}8;=k}8_<8=9r->}u4<-fvDC-Cty((K+~yA2l$0(XWn;?vHhVbzmxh zGZA|MdjWgFQUK=x&I6nWg>JwdDu44LU24)}l)v?k2u@0~fOa*WzVlQAX zU@uq-;5@*2fb+oWhDQHA&u{#e4)~1qc>R7F@76%h}9Fu~wqbRgRlyevtz-s@|AgTzZxeIEbIjR60GC$@9)>uS*>B zR+aHUZmKXxejY>Rv>&JI9^0;C{G9gdbiKrQEYd*)hyW2F0%b`c?{Vb#{95+DlP6Ga z1Iu_g^79xUr~Nox_t4>x-cD$DLX}x-->n<#|d%9 z_#VcZf|_2)BfK$+I;U`L73$P6mO>rnHJ!YVIQ|F6sS~IpiejUNnoltgi_B+r8{Yr8D6024P8kqIe=GWQ<{$idhdMhnU43un zb7PS5+2g5Nko(GB?1gohcP}x2&^G#^|5r2?z@8>#%>HbQ2X+T_Vbq*s6b-v+CK}^EX?l(hjt97COudXbhPFSA&x03s6&x=ye+=*VSIFmF&2`ID zW#8c0K>Z&+UFN94N;qK6z^!Y>6PPeK}o#^ljK(UihM)v zg%jB*9J_R}qqU{>Xj`bgCDdY$OC8qCeu#vm&Xwk56>=@fFI|D!kQ_RBHwa0{40ppkjKM5?fplN8cLBz6MjA$75=LQG5^#+QA3^UO zh6gZz`#UV)l?2R2Cg2GqBG2GCOu+oj>F@`b>`S6f&g!Aj!LOi)$8m)Qlacu*y$ z);|Vz4=5gX8l_>ojfvOS8&UB39^Cp*49r?|%hBuWDGw+QOajyssTQafs1_^&)DNg1 zP(R3416f3X2p9ys{-4LK|HQzo1GgN#zMk@c^1viOJ&|gGYJqCOB0&9s`T_L=s~Wui zp6Awoiv#@<0U|)pMk5E@_7tzLCkAFG@Om8G`cHX4d0-Nto=CMowLrCC5ukoR{eb#G Twi?JH0z{xt0&FvL_1EM#MVygU literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000607p-j.bind b/system/ep3/maps/m000607p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..209a747a25ee32a2426ea5fe92daae79270098f3 GIT binary patch literal 23064 zcmeHLU1%It6uw&}#-={mmx5r$2etG;yy73$?9BL6X`wCpU`sWkWFS)0s5AzHlDSiB zldMfjO3f}ll-LIiLQ-QzQR~jorYY?D10{$UtQ9IL6ape52=Ti+neNPNWM?voolVXp zL+-hA&o|%s&QCUBEX5dG)l^?!w;BuomAZb_bt(CL?n;#|*J3QXeM5bn2d|8jh?S~6 zitmZDvIlHGzKR+*Uv9kn+FZx@Q{U!2>m zg<^g>n^W)9b#;_6{z77dU5#=c2A#;8w!PL$ioD)@k@WhqxZRq}y9KPuBtWE!;B^`RqhoYml$| z$GCM@HkZ$UTL9?x;BD;q$((E9cM` zUlfYz-Oy$ndr|W~2_M0^a&c{^g+43coQ{rTPeKduu{VLwm*9gsP|ioML;EJ+8~{cW z=hhF|T>5du_$#zN7E$K`=#fUgo z2k!`T*;9z&WpLRJPM@GJB+eVacIz-K4sxxY1fLI}bvx?$Z{P~tF3#3)b4==@ZY&hF z+ku01ejPAgM4xO1FF99%BlopCx|r7B=xCw#RgH6Ry!K|qu!-|i@;ugQ%nTSn?Tq$$KS@kL0F&i&&mr+v)PO9_rhz-8-jGm$NIiQXh6tpw8Bp*X~N<*d83^ zKX7ahjxrC9i?zJ4})YV4Xc-`D$_8O0w zO}O`(y#wzU9imXCE{cXCPKd&w-aj&ML7Wj6#CGiL5Hp7lisPAQQa*84|6 z0EA`0I9GZ>MP#+Pk-8-{#FnW3Y7V!Q!r9rS;=M#N|1YqlNu|uBNu?&<9n#0E#KO_m^3y^%&yvCk>oljH_d<`%@iI9XJZmOr&0*UZ7rZ6`*-Q z^MK|-xf^Ij3XlR)fm;8YCoX@|!0CgyI@Y>B)dAIkqX5lB>ILcr>IGK;ng=uwXdbxT zQ0t%b;_`QOpr51wDL}s)WevogDYfoT8aR`n*7F#bKh*)%fujJ;MCt|V1?mM?0h$Li Z4`?2gyMb1u04We!fuGo}&}Zj4_%AZC@G1ZR literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000608p-j.bind b/system/ep3/maps/m000608p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..c0ba0ef4c53c95e482e3862b298273641109b264 GIT binary patch literal 23064 zcmeHKU1%It6uwE-np9)es8lqmAm~Gi;8a8{cIIxaQmw`IB|?R~I9iZIjF#HG?B38~ zXthhy5N97mQWO$GRhCi_Yj-9kS!JdOMXM04^&!R9hf?cXB%ayH?B2Pvc4s=-?2b7@ zVD9gCzwbNuoShKTKnQ8S#ywVHEgD-WP zCN{xeetK$ZI)5E!+v2!wqE=y=Tls%&@@{}euRWFf^=3p=IEH`rfBpyx{X=e>ve=fxAe>ucHrvL10h^)TQeD69{?-vd_rj?LdA zu+o5UzV;fHl!2gM=$82w@~v1>x|I&|v8yy7%nRMv>96FEBZyli3by;)^fG7)az*`> z`t{~eCBEW(;XkW-6A^`v5Ko`J#h#DCwF-O1_*T1L1qsn0#rjpo0M8Zh&wJ1J&xLM=e?s#YHVEB%*RNkX+Dh-yGW3jT$#8vg zYqX4;^Nz2&0 z!s5^eAvS4MO{~jGt`qci&Yz?^dhIve0((XQ>pMx3?*xCI&@#rYT)YC}7~cTKE1+wQ zs_Lr=(RYEa+c}(|KL6Uj#-PMOxptW?mJ8{lvP@}cdp=MgP4xdQHB7vx1R+~>Q( z`)oW4{yeR!#&*CM(=vto{4nQpKwbJL&mL7S0Ed4dPmh4l;EntuXm#(8OaeX151{LA zLMB^4*PLnTPeI&vgZC~@Kt5E1J&%Du?UJNig?K@(>&G~s1LDZPffsj}*5v9WG42JA zW`NVcrF~)f7%xL?H1OwB;L*AFyd87pdoI6{f$SmrFlZQ8)ya<8LcPdshS#NQ-CxBg|5$f}T&xxI|?n`^tdGzPpR_RT* zfj`zl{c42!)CCx2aE#ANd+gr;@hQs(&ZBvb&of>=xyvF7%$MUM;%tLl=K08e9OblK zJ6ikP8U4vaI}_^{_#~ZC+bg=kT>&1hEw$a2jbm^)%75S(9F9^3$HiNY@A+ChZT>_1 zS^t6lSNmyyXDJF>d)|6`SMS=*J>9*}FO<`Ctx4$Jm9D-(h?-y^oELOt6dZf5d({c$!^4*p;4O$Ji-0 z%Kl*EDP?efddKi#W*y!-G|0vWy9d6q_YO}S>M5=|!Op?D%+Q{ZX*N3e8q8;zIdD9E zg-x+M(;ci7^^janoxdB}iT^4r%1G>R3vr*HuNLn`F||e@=!xHW^u+H8KZ5@7Zq&Yw z@u+$ozx`4j?aow1R-h!Q51Zs#P7`PbmyGe?C!WEGh_ZkmObCO zeCPYW^Z%!pFqUDA^*p(6UvD2eYRhCU>)Df$3%r)`nh%*frOachC3Xn{`}g)<9$0^A zBAyP<--VymmF4A?)g4d(FO*YstW3rLbUiwbK~jp2)Gjwz7H$-9Q@MT}CoNQ6Ul^;3 z)#%i@U4wKJR2;TYollxg?e*&Vb)2+_BIrTz%IYvyrkm8eKHr*8U7ZXRj#-VNgP@f_ z+VUx@V+Ihbq(BHmU(gQOZ;9LR#T>4Fyc=%7fH0QvHUf6LEwO5#&ZnRM|HFt_2};Mx zWDG#pqvIGPrRYfQa)YJeMgcdK>(_D8Le=$!v8q^&PMzB|NH;;nVGGsyq}kM7udZLm zNsB0g9t5wf4r67yNxkdyt@+f|$w1+l)fhSmS_z~rpRzh;0I^C6gfR34?U4PJxD8*- z;p)e`;RXx{V;OHFV7J>6s|M>6TS^GuC_(%8*FqQ@G zM3VW<%q)KuT;DQg78pB*ef;H`6P3q41CB#D`?z7)*Vi0*wtWO+a~K-dJh{2fdH6ZY;)D3yh**x#%w{KRj{N{IIHK_6KF0q0EGxg~x>q+qRS(bf+VN`Hu42}O@_s5i|edE*MdAR1}_YOJo{>}Q9s65gG zeluhF0|jP6gKQOi_!|7d|1M{TygQWRt(s|K&sp&FEgG`#H>tLFIetx!;tl4ACAt$AHp8wv3&wMkjG`z z1@Dhu7j_AH@b)ZSvuM~OUOs1Ktwzk}oUAA0^HMMN!Y30x%NCWV`VZnd$k@_>A*XV& z=9u6pzjOD8Zax=~KXRahR(&3N&LFO<*RASNPfr$kbSaGwN7z%v)J}?v3Hs|D61>I9z;bq{%vUmxoHHOZn10rQuReJb3;G@uip(zlf*A z6XFH&^u(i6r$udYVdAx^vqdiEg3Y={=Qho zss(R;>bE!l0H2MK3&I)SnEv|Qi1^7}djVssV!p_mDca>@!TJRm9_ki95dJh`aKs|DR9FPvA{og#@>L(ApI_TENwC|@p zpgiy#pf{0ffog$j!FPb(19}hWJ@Bg`?SIefR=@89eUk&^0R7o0bD-NdCGGpk1MekB z`#pB6pYnk6z;l4!M5+a<1*!$#0eTPUJ)rlXQ4Q212grd=9bi{({?+N)X6yb1Xt;7l literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000610p-j.bind b/system/ep3/maps/m000610p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..568e532c4265a86e8b72a738ba46eac527426771 GIT binary patch literal 23064 zcmeHMZD<@t7@o9})GC4?1@TAkhaU|H7FTR5wzoT1s4WHCD1ud?5wn6?+NiY!5$%gqr^~5N@F2{kz&2wek6rEkrJ(~w&q8*q!g?u{*(C3?QL&wFLJvsx!ktz zkZ?0Q^FH&u&--zg3u6t8u|=;oHQl)slk(B9c+nkl+ZhdVI19X1T{kXia-VmZ*5i~X z*5hY#;>?+e$?E*dr6`C|X5`&3+q@MQo=AKB_pYNRftSB`T_~ieITeJjC%zT_2Hg*G zcO9Jd#yjk~4qOUGA*{n*`(U>(^l2~quR+|a zZSBK)>$R^f`|!7cf7u&ewRQL#qlHjS5AS}oyz}v0pLEdWl-FPH+I6%Zr`nN$4DbE9 znNN->>S0~aDvA=%gw5ml9Rto9#2q@D&lULu!MPWF5Nv)G`6u(R zW9xPGemryXaC0utd<^q@*raoL>l83z(D_k2k8a|Clb>Nuzy||3+j99V{853U{UNb~ z<+HT}+I)aoxKPX=l`-=}U`w2sf1S-M$eq=|IS0FC@a-7l{?fkX1;4iY&mX=5I4_R3 zSU>7|dARJM~ziwe79lI|^H=-Ofpo>oZdC&2`3& z;hq~G8P6IUjV^Jz<68ezw-AHrOz+^q&r&=+EQZDBBA-4fj*B627VE=eMvSDiJ_Gkm zAM6)5IxhB&iZ8{C@vhNrXm~pMab8S{36b0XTJP)Pk~k|YF(^&}<#_icG2OXGOo{X2 zNY}QWU1H=wfA81gXnJ`6pSb6$xF%*&yz(F0Znn3<{1|Ix^OS#)!!3k+c6Ppa&y&nG zfhA2UWhPB3HE};7ecWm+{G8&k@G)>Rpm?~|sE>Krm_*%PMj`4xgyl~f*tHl|$Ee#= z9#9_G3Q$j^TA*5>T5uGgen9WNefR0~uKjsnyVs2@;2C{+W^NC8s7uLA7u*}wdro$K7co*<21 literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000613p-j.bind b/system/ep3/maps/m000613p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..0b9f5258c98e02248431ddca3fbb48cdd5147488 GIT binary patch literal 23064 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 literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000616p-j.bind b/system/ep3/maps/m000616p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..b8f090c8e3278491dec9f81d39385186170a3462 GIT binary patch literal 23064 zcmeHMU1$_n6uzs)h)VsbzbJH}`e2bFOrMHvW@Z(XSkb14f>uM#P-zvbBnZA_Z%~p@ zG-wR$LjB2u_*W1VK_uV|=GR&A!M+vru}LFX>`S4Les{)+Gg);(tpYGT!laXNDpKjf2m$lz+@T7_(a`L z7CUJ)6;4mezr5gOiiCiyC=;0;>TM$VEb0q&VL^d7`78v~Mu2kx{L~ov ze8$aZ>%3ixlh5WS&|{^dST~^)@>s;AeTQ0&n9tS*_@XYXv%p#atpv{2=r~S1i*Q!= z(8p>NMdXj@J5lpl)PbJG{o6K{#QdwaFMn2htP?rZtd4vTeM4N&ErrdG$a&1G4{sS! zFBOW+H#{6`IdTX#Vrah|{kRNg1#*5Sa$R+Cw2olE^>C6BkHh0WxbK{QM9jr7zc{fY z_xW>unw(3HR{9!uF5b&+*6*)B zn62Hrzv0l>M!vzdtD-tFM%{5H37^>X_)KAhLYHGUb^J9!Vk!iTucORe3fYdbdaftKOczj-fr zz3<|4D6eCEmp^Xb)iHEx1Mh)_E>j% z=5fy??f&8v(#|1n{G@?fi*a>KyFcXt<$46kpiTE zP$2EU^TdsxG;r%6u8wKdLF0rdl~8q)rp7dL)S2l^xh zNCEn86gd#Lr=;DVG;ljX+Rrg={FDcj2d)Ct6R8%c7N{0H1*jiTKcIf_q8eyM3XlR} P6=1VQ{|RgRGQ0l)Bx8z* literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000618p-j.bind b/system/ep3/maps/m000618p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..389c702de9f2847b2e38738f2dff990da2bb13c5 GIT binary patch literal 23064 zcmeHLO=uit82&bvv<;;o^b~DbJvEYpFp_F8WPVB$rJ`Ud9<*W(0|udrB&em3-MLgv z^J7BG?y2?Sr42$n1QoKgYnvjoL1GRPswha%(Dow9sgOS3%03N zH;ymd#NVyx?-&e~G0}bWjKmN{`PQEoyIb;3*T*Zmf7~M$jVJ2!G3%4U@>3Aq`+aw# zEvi@j`S>*p=3jh(%lgNwfGm4i|9GS4*$zgq)B7Ece{+|w=;aQUkNEhAo{<=0()o); zD}MU_u8(Ydvi{;3iPS@O-bYF%fndqkPqu(%{o_r#EPGl1c%!H9f4l7apmxP6>o4W< z`Y>aKR@3C=SM0_${AW;mp0VDOPB~0TYG1?WnIm&XTP|OKL*Y$D(O&~D$N5kI=iBv? z4i@@vx%@nU3Myl2XN6BXJdT~iy`Kf2=T4UA|5Ft8122vmAK->rY8w3i0iPf7>VS)B zn%Xbei^g@zDQnB{dl5K40cTcG>_P?Sjqq{lXMl4beg*IV2hK-5VVa_RciHhxYVVsVwX1CY{?UzX*E9N=*K_fx zWIgx8{|<1zM;%JkGw(0GLs5!9=knU$;0B%5PknO(`!K6`8v1mZX6f)BbN1C--mT|V zTpI;XV1%t_d+D!!{cRNSYpk7NFPvR-P2Q)079)muZI_}7+vP!Cl; zw#u0C6!w=Gwr$62L@$?>-2(}1%uQyd?0aqO|?pGDdt^8C)Ba~zj1yL!af&`1Z3~>D4@XM}F?Rbds=61#InsFAnznRH%c#~F>#X&b zmzC4+zn4BWG%)nBFG-o9;K|Hzvr|3?pJ}~fO|CHwEi?BulzD^oL;81?aPp*MRIyNxDC2 z;7x+0=TVkF)dAIkrvS}F>ILcr>V>KTG!JMV&^&n94P=o5q(E2&*n!QBuxFc{djKSL B(mVhF literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000619p-j.bind b/system/ep3/maps/m000619p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..e3b09321557b894e4fbda1f68d0e4d59f3dc2646 GIT binary patch literal 23064 zcmeHMU1%It7`>Z{ZKHzPv{nidK`4C@VSMn9?#x|_5#k^EP^F3}j?hxA!T6vEn^`K_ z6e9L1@g)}V!3PoIOF`V-iL@1Vd>2FMQ_=dOSm;Y7J$GiOJKvqn?2KzNGv>Qw*?aEK zx#v6g`)+?CL`4WOa%B7VJ4ex>tx~yZWJ^UY2wEj*Ar$@;na5Nj_6Z{Uw{E*Rvi`yGlRyUY zk<~c^h$Sfy!_XJCL-iB!0KS~V)sOeXjTjKeD&Aheem4yGlRyUYk<~c^h$Sfy!_XJCL-iB!0KS~V)sOeX zjTjKeD&Aheem4xbwrSgTbAEooeOCziEk5HyRDsh-GJlz0 zkRO8US0T*05c{!DzTfe(^0>#ru^VR}Fbwyej;GFc_hM`jV-wH=?li5{!uo^w{D%Fz zI$l%7c}u`!EvDy@pV_vYz~?^1a$tU;da~oW&jN!Z3y<|3_CIagwJmoq$cH*!^%6LC zV=N<&y92%+0?(*zyZ0JK3wI{ab!0)Ozo%hk!?4%K*4GfnI{0iMw%L-oU^^!PmWa3uM=y&t|J9`^!tV2_{A zQ}Fp~@QEz#xh#AX>dUE$<=aJ825AxVO2p!1dCh9_tWv>gj z0X=womhV_H+@nE0S5>WM%x6p06Y_a^8}`B{6F#e!m8bm=;@Ty|^3F-Gb*;AnpF z#5aCE*O5PJAVq7x1wF?R*X@_=_P#(*6?t?cpSyLNg38ZZ+5Jt89D$b8EBk7A3)Psa zueOQ0*#nH+RDF3FpV`m9(z#XsyAd9D4IVe-`2+d322YXnSUb&E;KKs(#F{g9#%h`|S zPRz(p{&p@qKRTzK73Yle*NoJe82={@9IkvU)+zr=$Lkxqy1HJv*U9D$p=D3vHnS&j zPog92Pt=Y4`+Ohy-$7IX-$&GqV)Tc-ld|tuw@~&NhSkp=1hqJ??G4%W&eBLu=+zE_?sPI2l&rMl>@`RDP`Z!9t1Bz+3#^!{hSA!2Z00p nCUPxsEpRP_4)A-x?*YFDy=vedJHQU4bwJ#@dL`}Je(SCS;b=lf literal 0 HcmV?d00001 diff --git a/system/ep3/maps/m000999p-j.bind b/system/ep3/maps/m000999p-j.bind new file mode 100755 index 0000000000000000000000000000000000000000..364cf85e22f8faa04c4b1fac5ab267edb69d8174 GIT binary patch literal 23064 zcmeHMU1%It6h52OMpscE>O&QDA0o7hXqi5UnC{H1l$NH&pbx>OHBmDvZ6$5Bs72hJ zF%Kz`3W=577X>XC#UH2-_Mv2Fpl#G$3;NIpD^!G9+KN6^-`4N$s?>YCJ?|$d(E=!amqV7L>dMJ$-Z%cKF$%U3m`Q(*ed0}ND-}IVjr|S3M02YDa z2gfG|TTJ*09~Xk~Nm{gl@%Z9TT6}^2`s0f$2X5F|3xdu+>U?KK7s8vU0S2uPv1JD> z35q7_d?FaAKhVs5wW>c05uKO7sKh&tb>n}GMA^Nc#5fRMc|Mh!4%z1MoDOF_{@o$vH` z{r(|7&j((R?AO21%@cNXrvt zafNBxBy@HZOM1RiwYMmWI;AM~2E))lf*sh;Vm^!=^{X#e>Capq*Z+Y(8vI!en;G~Q z(T;XdQS>{p|L?_;{gk4VClHr{F%j1={81@X(|&-?1F&-mapj51xU}9iSM|AwcK(Hp zeTRo~w^XWH|C+1iuc1GPxP(7ycz^8A;Sb`;-E0`ny?uMjW#~URA6EoBj@Ww>Q7*l@ zWaC*zJo?@6G2*#9FG1&_bf10^T!#&{znWWcNc7&9$H)eSy8mLID6?& ze>na)PhfAgQgztR@z(2vmS;@mm;2nX_+D_oJ^=#TX4L-x4*$Q|h z@zm@mn{Mz8NdJ+Cu@a4~eD|J3kp^ojI#~Hqb zu7|)y{}BB73;OTi%mkme!AHqwoF9c~whB8L=pE{>iuVnN`u3_@#_!7^*F+7v z?qRIig}v~eeSP4HI#VoBLz8x#UgRg%h^F7}9ByXExfK|yt{rXKn|IQV$Dfl;?A#OG zAMJ}KaovwIUBVv`hxQ}(+Og`Oco)rn40U$>JU;pQP#r7%ara%^?Tom4o3P_F*wI?p zaT@Gs8Ly2+5^9B~`Q;})vqXN`H{I!C{ZGZ~aU<`h)~GdTy=c8ZE%WF|!KbOGT@#j3*lz7KEAO9qchLN7;=+;d&F`j9Oc>@d z^OAYOyjXwEnKPy>q=Ih#Z4Fx+;pn!4E=}{Z4Fpmf>Fnq$qkG<1*F?Ds|NE!uHuUwW zx6$+HAEO^l9i@}#XXq6AB>EKkG!@Z*K|e>o(xbJSk6vD~#gML<-8uxd+Q`deBl|}7 zJlg7fr(v#zIU8|>D*Xr3yPmZ_JljAt6YlV3X8eDf( z#$@RuV0@OwXSrwjJeC{rrT63WSQ?+@p2g?;3-0&RCf|iZ4w>i8xx)6s=8(%5Ewcvj zrS|#u_5Tk}#kG-ieZjk=#}Lgu}T>lvZw-Us~G3olu1LlE?0M|s$1L4;He4-xvW# zKp>Fx-#l^sXAImth>K&=^_d6E0~Z0ViJS|Z3!DoQ0j>vJ54ax4Y)Ja|ytw{L9Qery RFaqHbXeaNewxZUJ>p$IDbNm1R literal 0 HcmV?d00001 diff --git a/system/ep3/maps/map00000230.mnmd b/system/ep3/maps/map00000230-e.mnmd similarity index 100% rename from system/ep3/maps/map00000230.mnmd rename to system/ep3/maps/map00000230-e.mnmd diff --git a/system/ep3/maps/map00000244.mnmd b/system/ep3/maps/map00000244-e.mnmd similarity index 100% rename from system/ep3/maps/map00000244.mnmd rename to system/ep3/maps/map00000244-e.mnmd diff --git a/system/ep3/maps/map00000258.mnmd b/system/ep3/maps/map00000258-e.mnmd similarity index 100% rename from system/ep3/maps/map00000258.mnmd rename to system/ep3/maps/map00000258-e.mnmd diff --git a/system/ep3/maps/map0000026C.mnmd b/system/ep3/maps/map0000026C-e.mnmd similarity index 100% rename from system/ep3/maps/map0000026C.mnmd rename to system/ep3/maps/map0000026C-e.mnmd diff --git a/system/ep3/maps/map00000280.mnmd b/system/ep3/maps/map00000280-e.mnmd similarity index 100% rename from system/ep3/maps/map00000280.mnmd rename to system/ep3/maps/map00000280-e.mnmd diff --git a/system/ep3/maps/map00000294.mnmd b/system/ep3/maps/map00000294-e.mnmd similarity index 100% rename from system/ep3/maps/map00000294.mnmd rename to system/ep3/maps/map00000294-e.mnmd diff --git a/system/ep3/maps/map000002A8.mnmd b/system/ep3/maps/map000002A8-e.mnmd similarity index 100% rename from system/ep3/maps/map000002A8.mnmd rename to system/ep3/maps/map000002A8-e.mnmd diff --git a/system/ep3/maps/map000002BC.mnmd b/system/ep3/maps/map000002BC-e.mnmd similarity index 100% rename from system/ep3/maps/map000002BC.mnmd rename to system/ep3/maps/map000002BC-e.mnmd diff --git a/system/ep3/maps/map000002BD.mnmd b/system/ep3/maps/map000002BD-e.mnmd similarity index 100% rename from system/ep3/maps/map000002BD.mnmd rename to system/ep3/maps/map000002BD-e.mnmd diff --git a/system/ep3/maps/map000002E4.mnmd b/system/ep3/maps/map000002E4-e.mnmd similarity index 100% rename from system/ep3/maps/map000002E4.mnmd rename to system/ep3/maps/map000002E4-e.mnmd diff --git a/system/ep3/maps/map000002F8.mnmd b/system/ep3/maps/map000002F8-e.mnmd similarity index 100% rename from system/ep3/maps/map000002F8.mnmd rename to system/ep3/maps/map000002F8-e.mnmd diff --git a/system/ep3/maps/map000002F9.mnmd b/system/ep3/maps/map000002F9-e.mnmd similarity index 100% rename from system/ep3/maps/map000002F9.mnmd rename to system/ep3/maps/map000002F9-e.mnmd diff --git a/system/ep3/maps/map00000320.mnmd b/system/ep3/maps/map00000320-e.mnmd similarity index 100% rename from system/ep3/maps/map00000320.mnmd rename to system/ep3/maps/map00000320-e.mnmd diff --git a/system/ep3/maps/map00000334.mnmd b/system/ep3/maps/map00000334-e.mnmd similarity index 100% rename from system/ep3/maps/map00000334.mnmd rename to system/ep3/maps/map00000334-e.mnmd diff --git a/system/quests/b88001-bb.bin b/system/quests/b88001-bb-e.bin similarity index 100% rename from system/quests/b88001-bb.bin rename to system/quests/b88001-bb-e.bin diff --git a/system/quests/b88001-dc.bin b/system/quests/b88001-dc-e.bin similarity index 100% rename from system/quests/b88001-dc.bin rename to system/quests/b88001-dc-e.bin diff --git a/system/quests/b88001-gc.bin b/system/quests/b88001-gc-e.bin similarity index 100% rename from system/quests/b88001-gc.bin rename to system/quests/b88001-gc-e.bin diff --git a/system/quests/b88001-pc.bin b/system/quests/b88001-pc-e.bin similarity index 100% rename from system/quests/b88001-pc.bin rename to system/quests/b88001-pc-e.bin diff --git a/system/quests/b88002-bb.bin b/system/quests/b88002-bb-e.bin similarity index 100% rename from system/quests/b88002-bb.bin rename to system/quests/b88002-bb-e.bin diff --git a/system/quests/b88002-dc.bin b/system/quests/b88002-dc-e.bin similarity index 100% rename from system/quests/b88002-dc.bin rename to system/quests/b88002-dc-e.bin diff --git a/system/quests/b88002-gc.bin b/system/quests/b88002-gc-e.bin similarity index 100% rename from system/quests/b88002-gc.bin rename to system/quests/b88002-gc-e.bin diff --git a/system/quests/b88002-pc.bin b/system/quests/b88002-pc-e.bin similarity index 100% rename from system/quests/b88002-pc.bin rename to system/quests/b88002-pc-e.bin diff --git a/system/quests/b88003-bb.bin b/system/quests/b88003-bb-e.bin similarity index 100% rename from system/quests/b88003-bb.bin rename to system/quests/b88003-bb-e.bin diff --git a/system/quests/b88003-dc.bin b/system/quests/b88003-dc-e.bin similarity index 100% rename from system/quests/b88003-dc.bin rename to system/quests/b88003-dc-e.bin diff --git a/system/quests/b88003-gc.bin b/system/quests/b88003-gc-e.bin similarity index 100% rename from system/quests/b88003-gc.bin rename to system/quests/b88003-gc-e.bin diff --git a/system/quests/b88003-pc.bin b/system/quests/b88003-pc-e.bin similarity index 100% rename from system/quests/b88003-pc.bin rename to system/quests/b88003-pc-e.bin diff --git a/system/quests/b88004-bb.bin b/system/quests/b88004-bb-e.bin similarity index 100% rename from system/quests/b88004-bb.bin rename to system/quests/b88004-bb-e.bin diff --git a/system/quests/b88004-dc.bin b/system/quests/b88004-dc-e.bin similarity index 100% rename from system/quests/b88004-dc.bin rename to system/quests/b88004-dc-e.bin diff --git a/system/quests/b88004-gc.bin b/system/quests/b88004-gc-e.bin similarity index 100% rename from system/quests/b88004-gc.bin rename to system/quests/b88004-gc-e.bin diff --git a/system/quests/b88004-pc.bin b/system/quests/b88004-pc-e.bin similarity index 100% rename from system/quests/b88004-pc.bin rename to system/quests/b88004-pc-e.bin diff --git a/system/quests/b88005-bb.bin b/system/quests/b88005-bb-e.bin similarity index 100% rename from system/quests/b88005-bb.bin rename to system/quests/b88005-bb-e.bin diff --git a/system/quests/b88005-dc.bin b/system/quests/b88005-dc-e.bin similarity index 100% rename from system/quests/b88005-dc.bin rename to system/quests/b88005-dc-e.bin diff --git a/system/quests/b88005-gc.bin b/system/quests/b88005-gc-e.bin similarity index 100% rename from system/quests/b88005-gc.bin rename to system/quests/b88005-gc-e.bin diff --git a/system/quests/b88005-pc.bin b/system/quests/b88005-pc-e.bin similarity index 100% rename from system/quests/b88005-pc.bin rename to system/quests/b88005-pc-e.bin diff --git a/system/quests/b88006-bb.bin b/system/quests/b88006-bb-e.bin similarity index 100% rename from system/quests/b88006-bb.bin rename to system/quests/b88006-bb-e.bin diff --git a/system/quests/b88006-dc.bin b/system/quests/b88006-dc-e.bin similarity index 100% rename from system/quests/b88006-dc.bin rename to system/quests/b88006-dc-e.bin diff --git a/system/quests/b88006-gc.bin b/system/quests/b88006-gc-e.bin similarity index 100% rename from system/quests/b88006-gc.bin rename to system/quests/b88006-gc-e.bin diff --git a/system/quests/b88006-pc.bin b/system/quests/b88006-pc-e.bin similarity index 100% rename from system/quests/b88006-pc.bin rename to system/quests/b88006-pc-e.bin diff --git a/system/quests/b88007-bb.bin b/system/quests/b88007-bb-e.bin similarity index 100% rename from system/quests/b88007-bb.bin rename to system/quests/b88007-bb-e.bin diff --git a/system/quests/b88007-dc.bin b/system/quests/b88007-dc-e.bin similarity index 100% rename from system/quests/b88007-dc.bin rename to system/quests/b88007-dc-e.bin diff --git a/system/quests/b88007-gc.bin b/system/quests/b88007-gc-e.bin similarity index 100% rename from system/quests/b88007-gc.bin rename to system/quests/b88007-gc-e.bin diff --git a/system/quests/b88007-pc.bin b/system/quests/b88007-pc-e.bin similarity index 100% rename from system/quests/b88007-pc.bin rename to system/quests/b88007-pc-e.bin diff --git a/system/quests/b88008-bb.bin b/system/quests/b88008-bb-e.bin similarity index 100% rename from system/quests/b88008-bb.bin rename to system/quests/b88008-bb-e.bin diff --git a/system/quests/b88008-dc.bin b/system/quests/b88008-dc-e.bin similarity index 100% rename from system/quests/b88008-dc.bin rename to system/quests/b88008-dc-e.bin diff --git a/system/quests/b88008-gc.bin b/system/quests/b88008-gc-e.bin similarity index 100% rename from system/quests/b88008-gc.bin rename to system/quests/b88008-gc-e.bin diff --git a/system/quests/b88008-pc.bin b/system/quests/b88008-pc-e.bin similarity index 100% rename from system/quests/b88008-pc.bin rename to system/quests/b88008-pc-e.bin diff --git a/system/quests/c88101-bb.bin b/system/quests/c88101-bb-e.bin similarity index 100% rename from system/quests/c88101-bb.bin rename to system/quests/c88101-bb-e.bin diff --git a/system/quests/c88101-dc.bin b/system/quests/c88101-dc-e.bin similarity index 100% rename from system/quests/c88101-dc.bin rename to system/quests/c88101-dc-e.bin diff --git a/system/quests/c88101-gc.bin b/system/quests/c88101-gc-e.bin similarity index 100% rename from system/quests/c88101-gc.bin rename to system/quests/c88101-gc-e.bin diff --git a/system/quests/c88101-pc.bin b/system/quests/c88101-pc-e.bin similarity index 100% rename from system/quests/c88101-pc.bin rename to system/quests/c88101-pc-e.bin diff --git a/system/quests/c88102-bb.bin b/system/quests/c88102-bb-e.bin similarity index 100% rename from system/quests/c88102-bb.bin rename to system/quests/c88102-bb-e.bin diff --git a/system/quests/c88102-dc.bin b/system/quests/c88102-dc-e.bin similarity index 100% rename from system/quests/c88102-dc.bin rename to system/quests/c88102-dc-e.bin diff --git a/system/quests/c88102-gc.bin b/system/quests/c88102-gc-e.bin similarity index 100% rename from system/quests/c88102-gc.bin rename to system/quests/c88102-gc-e.bin diff --git a/system/quests/c88102-pc.bin b/system/quests/c88102-pc-e.bin similarity index 100% rename from system/quests/c88102-pc.bin rename to system/quests/c88102-pc-e.bin diff --git a/system/quests/c88103-bb.bin b/system/quests/c88103-bb-e.bin similarity index 100% rename from system/quests/c88103-bb.bin rename to system/quests/c88103-bb-e.bin diff --git a/system/quests/c88103-dc.bin b/system/quests/c88103-dc-e.bin similarity index 100% rename from system/quests/c88103-dc.bin rename to system/quests/c88103-dc-e.bin diff --git a/system/quests/c88103-gc.bin b/system/quests/c88103-gc-e.bin similarity index 100% rename from system/quests/c88103-gc.bin rename to system/quests/c88103-gc-e.bin diff --git a/system/quests/c88103-pc.bin b/system/quests/c88103-pc-e.bin similarity index 100% rename from system/quests/c88103-pc.bin rename to system/quests/c88103-pc-e.bin diff --git a/system/quests/c88104-bb.bin b/system/quests/c88104-bb-e.bin similarity index 100% rename from system/quests/c88104-bb.bin rename to system/quests/c88104-bb-e.bin diff --git a/system/quests/c88104-dc.bin b/system/quests/c88104-dc-e.bin similarity index 100% rename from system/quests/c88104-dc.bin rename to system/quests/c88104-dc-e.bin diff --git a/system/quests/c88104-gc.bin b/system/quests/c88104-gc-e.bin similarity index 100% rename from system/quests/c88104-gc.bin rename to system/quests/c88104-gc-e.bin diff --git a/system/quests/c88104-pc.bin b/system/quests/c88104-pc-e.bin similarity index 100% rename from system/quests/c88104-pc.bin rename to system/quests/c88104-pc-e.bin diff --git a/system/quests/c88105-bb.bin b/system/quests/c88105-bb-e.bin similarity index 100% rename from system/quests/c88105-bb.bin rename to system/quests/c88105-bb-e.bin diff --git a/system/quests/c88105-dc.bin b/system/quests/c88105-dc-e.bin similarity index 100% rename from system/quests/c88105-dc.bin rename to system/quests/c88105-dc-e.bin diff --git a/system/quests/c88105-gc.bin b/system/quests/c88105-gc-e.bin similarity index 100% rename from system/quests/c88105-gc.bin rename to system/quests/c88105-gc-e.bin diff --git a/system/quests/c88105-pc.bin b/system/quests/c88105-pc-e.bin similarity index 100% rename from system/quests/c88105-pc.bin rename to system/quests/c88105-pc-e.bin diff --git a/system/quests/c88106-bb.bin b/system/quests/c88106-bb-e.bin similarity index 100% rename from system/quests/c88106-bb.bin rename to system/quests/c88106-bb-e.bin diff --git a/system/quests/c88106-dc.bin b/system/quests/c88106-dc-e.bin similarity index 100% rename from system/quests/c88106-dc.bin rename to system/quests/c88106-dc-e.bin diff --git a/system/quests/c88106-gc.bin b/system/quests/c88106-gc-e.bin similarity index 100% rename from system/quests/c88106-gc.bin rename to system/quests/c88106-gc-e.bin diff --git a/system/quests/c88106-pc.bin b/system/quests/c88106-pc-e.bin similarity index 100% rename from system/quests/c88106-pc.bin rename to system/quests/c88106-pc-e.bin diff --git a/system/quests/c88107-bb.bin b/system/quests/c88107-bb-e.bin similarity index 100% rename from system/quests/c88107-bb.bin rename to system/quests/c88107-bb-e.bin diff --git a/system/quests/c88107-dc.bin b/system/quests/c88107-dc-e.bin similarity index 100% rename from system/quests/c88107-dc.bin rename to system/quests/c88107-dc-e.bin diff --git a/system/quests/c88107-gc.bin b/system/quests/c88107-gc-e.bin similarity index 100% rename from system/quests/c88107-gc.bin rename to system/quests/c88107-gc-e.bin diff --git a/system/quests/c88107-pc.bin b/system/quests/c88107-pc-e.bin similarity index 100% rename from system/quests/c88107-pc.bin rename to system/quests/c88107-pc-e.bin diff --git a/system/quests/c88108-bb.bin b/system/quests/c88108-bb-e.bin similarity index 100% rename from system/quests/c88108-bb.bin rename to system/quests/c88108-bb-e.bin diff --git a/system/quests/c88108-dc.bin b/system/quests/c88108-dc-e.bin similarity index 100% rename from system/quests/c88108-dc.bin rename to system/quests/c88108-dc-e.bin diff --git a/system/quests/c88108-gc.bin b/system/quests/c88108-gc-e.bin similarity index 100% rename from system/quests/c88108-gc.bin rename to system/quests/c88108-gc-e.bin diff --git a/system/quests/c88108-pc.bin b/system/quests/c88108-pc-e.bin similarity index 100% rename from system/quests/c88108-pc.bin rename to system/quests/c88108-pc-e.bin diff --git a/system/quests/c88109-bb.bin b/system/quests/c88109-bb-e.bin similarity index 100% rename from system/quests/c88109-bb.bin rename to system/quests/c88109-bb-e.bin diff --git a/system/quests/c88109-dc.bin b/system/quests/c88109-dc-e.bin similarity index 100% rename from system/quests/c88109-dc.bin rename to system/quests/c88109-dc-e.bin diff --git a/system/quests/c88109-gc.bin b/system/quests/c88109-gc-e.bin similarity index 100% rename from system/quests/c88109-gc.bin rename to system/quests/c88109-gc-e.bin diff --git a/system/quests/c88109-pc.bin b/system/quests/c88109-pc-e.bin similarity index 100% rename from system/quests/c88109-pc.bin rename to system/quests/c88109-pc-e.bin diff --git a/system/quests/d88201-bb.bin b/system/quests/d88201-bb-e.bin similarity index 100% rename from system/quests/d88201-bb.bin rename to system/quests/d88201-bb-e.bin diff --git a/system/quests/d88201-gc.bin b/system/quests/d88201-gc-e.bin similarity index 100% rename from system/quests/d88201-gc.bin rename to system/quests/d88201-gc-e.bin diff --git a/system/quests/d88202-bb.bin b/system/quests/d88202-bb-e.bin similarity index 100% rename from system/quests/d88202-bb.bin rename to system/quests/d88202-bb-e.bin diff --git a/system/quests/d88202-gc.bin b/system/quests/d88202-gc-e.bin similarity index 100% rename from system/quests/d88202-gc.bin rename to system/quests/d88202-gc-e.bin diff --git a/system/quests/d88203-bb.bin b/system/quests/d88203-bb-e.bin similarity index 100% rename from system/quests/d88203-bb.bin rename to system/quests/d88203-bb-e.bin diff --git a/system/quests/d88203-gc.bin b/system/quests/d88203-gc-e.bin similarity index 100% rename from system/quests/d88203-gc.bin rename to system/quests/d88203-gc-e.bin diff --git a/system/quests/d88204-bb.bin b/system/quests/d88204-bb-e.bin similarity index 100% rename from system/quests/d88204-bb.bin rename to system/quests/d88204-bb-e.bin diff --git a/system/quests/d88204-gc.bin b/system/quests/d88204-gc-e.bin similarity index 100% rename from system/quests/d88204-gc.bin rename to system/quests/d88204-gc-e.bin diff --git a/system/quests/d88205-bb.bin b/system/quests/d88205-bb-e.bin similarity index 100% rename from system/quests/d88205-bb.bin rename to system/quests/d88205-bb-e.bin diff --git a/system/quests/d88205-gc.bin b/system/quests/d88205-gc-e.bin similarity index 100% rename from system/quests/d88205-gc.bin rename to system/quests/d88205-gc-e.bin diff --git a/system/quests/e765-dlt-gc3.mnm b/system/quests/e765-dlt-gc3-e.mnm similarity index 100% rename from system/quests/e765-dlt-gc3.mnm rename to system/quests/e765-dlt-gc3-e.mnm diff --git a/system/quests/e901-dl-gc3.mnm b/system/quests/e901-dl-gc3-e.mnm similarity index 100% rename from system/quests/e901-dl-gc3.mnm rename to system/quests/e901-dl-gc3-e.mnm diff --git a/system/quests/e903-dl-gc3.mnm b/system/quests/e903-dl-gc3-e.mnm similarity index 100% rename from system/quests/e903-dl-gc3.mnm rename to system/quests/e903-dl-gc3-e.mnm diff --git a/system/quests/e904-dl-gc3.mnm b/system/quests/e904-dl-gc3-e.mnm similarity index 100% rename from system/quests/e904-dl-gc3.mnm rename to system/quests/e904-dl-gc3-e.mnm diff --git a/system/quests/e905-dl-gc3.mnm b/system/quests/e905-dl-gc3-e.mnm similarity index 100% rename from system/quests/e905-dl-gc3.mnm rename to system/quests/e905-dl-gc3-e.mnm diff --git a/system/quests/e906-dl-gc3.mnm b/system/quests/e906-dl-gc3-e.mnm similarity index 100% rename from system/quests/e906-dl-gc3.mnm rename to system/quests/e906-dl-gc3-e.mnm diff --git a/system/quests/e907-dl-gc3.mnm b/system/quests/e907-dl-gc3-e.mnm similarity index 100% rename from system/quests/e907-dl-gc3.mnm rename to system/quests/e907-dl-gc3-e.mnm diff --git a/system/quests/e908-dl-gc3.mnm b/system/quests/e908-dl-gc3-e.mnm similarity index 100% rename from system/quests/e908-dl-gc3.mnm rename to system/quests/e908-dl-gc3-e.mnm diff --git a/system/quests/q000-dl-gc.bin b/system/quests/q000-dl-gc-e.bin similarity index 100% rename from system/quests/q000-dl-gc.bin rename to system/quests/q000-dl-gc-e.bin diff --git a/system/quests/q001-1p-bb.bin b/system/quests/q001-1p-bb-e.bin similarity index 100% rename from system/quests/q001-1p-bb.bin rename to system/quests/q001-1p-bb-e.bin diff --git a/system/quests/q002-1p-bb.bin b/system/quests/q002-1p-bb-e.bin similarity index 100% rename from system/quests/q002-1p-bb.bin rename to system/quests/q002-1p-bb-e.bin diff --git a/system/quests/q003-1p-bb.bin b/system/quests/q003-1p-bb-e.bin similarity index 100% rename from system/quests/q003-1p-bb.bin rename to system/quests/q003-1p-bb-e.bin diff --git a/system/quests/q004-1p-bb.bin b/system/quests/q004-1p-bb-e.bin similarity index 100% rename from system/quests/q004-1p-bb.bin rename to system/quests/q004-1p-bb-e.bin diff --git a/system/quests/q005-1p-bb.bin b/system/quests/q005-1p-bb-e.bin similarity index 100% rename from system/quests/q005-1p-bb.bin rename to system/quests/q005-1p-bb-e.bin diff --git a/system/quests/q006-1p-bb.bin b/system/quests/q006-1p-bb-e.bin similarity index 100% rename from system/quests/q006-1p-bb.bin rename to system/quests/q006-1p-bb-e.bin diff --git a/system/quests/q007-1p-bb.bin b/system/quests/q007-1p-bb-e.bin similarity index 100% rename from system/quests/q007-1p-bb.bin rename to system/quests/q007-1p-bb-e.bin diff --git a/system/quests/q008-1p-bb.bin b/system/quests/q008-1p-bb-e.bin similarity index 100% rename from system/quests/q008-1p-bb.bin rename to system/quests/q008-1p-bb-e.bin diff --git a/system/quests/q009-1p-bb.bin b/system/quests/q009-1p-bb-e.bin similarity index 100% rename from system/quests/q009-1p-bb.bin rename to system/quests/q009-1p-bb-e.bin diff --git a/system/quests/q010-1p-bb.bin b/system/quests/q010-1p-bb-e.bin similarity index 100% rename from system/quests/q010-1p-bb.bin rename to system/quests/q010-1p-bb-e.bin diff --git a/system/quests/q011-1p-bb.bin b/system/quests/q011-1p-bb-e.bin similarity index 100% rename from system/quests/q011-1p-bb.bin rename to system/quests/q011-1p-bb-e.bin diff --git a/system/quests/q012-1p-bb.bin b/system/quests/q012-1p-bb-e.bin similarity index 100% rename from system/quests/q012-1p-bb.bin rename to system/quests/q012-1p-bb-e.bin diff --git a/system/quests/q013-1p-bb.bin b/system/quests/q013-1p-bb-e.bin similarity index 100% rename from system/quests/q013-1p-bb.bin rename to system/quests/q013-1p-bb-e.bin diff --git a/system/quests/q014-1p-bb.bin b/system/quests/q014-1p-bb-e.bin similarity index 100% rename from system/quests/q014-1p-bb.bin rename to system/quests/q014-1p-bb-e.bin diff --git a/system/quests/q015-1p-bb.bin b/system/quests/q015-1p-bb-e.bin similarity index 100% rename from system/quests/q015-1p-bb.bin rename to system/quests/q015-1p-bb-e.bin diff --git a/system/quests/q016-1p-bb.bin b/system/quests/q016-1p-bb-e.bin similarity index 100% rename from system/quests/q016-1p-bb.bin rename to system/quests/q016-1p-bb-e.bin diff --git a/system/quests/q017-1p-bb.bin b/system/quests/q017-1p-bb-e.bin similarity index 100% rename from system/quests/q017-1p-bb.bin rename to system/quests/q017-1p-bb-e.bin diff --git a/system/quests/q018-1p-bb.bin b/system/quests/q018-1p-bb-e.bin similarity index 100% rename from system/quests/q018-1p-bb.bin rename to system/quests/q018-1p-bb-e.bin diff --git a/system/quests/q019-1p-bb.bin b/system/quests/q019-1p-bb-e.bin similarity index 100% rename from system/quests/q019-1p-bb.bin rename to system/quests/q019-1p-bb-e.bin diff --git a/system/quests/q020-1p-bb.bin b/system/quests/q020-1p-bb-e.bin similarity index 100% rename from system/quests/q020-1p-bb.bin rename to system/quests/q020-1p-bb-e.bin diff --git a/system/quests/q021-1p-bb.bin b/system/quests/q021-1p-bb-e.bin similarity index 100% rename from system/quests/q021-1p-bb.bin rename to system/quests/q021-1p-bb-e.bin diff --git a/system/quests/q022-1p-bb.bin b/system/quests/q022-1p-bb-e.bin similarity index 100% rename from system/quests/q022-1p-bb.bin rename to system/quests/q022-1p-bb-e.bin diff --git a/system/quests/q023-1p-bb.bin b/system/quests/q023-1p-bb-e.bin similarity index 100% rename from system/quests/q023-1p-bb.bin rename to system/quests/q023-1p-bb-e.bin diff --git a/system/quests/q024-1p-bb.bin b/system/quests/q024-1p-bb-e.bin similarity index 100% rename from system/quests/q024-1p-bb.bin rename to system/quests/q024-1p-bb-e.bin diff --git a/system/quests/q025-1p-bb.bin b/system/quests/q025-1p-bb-e.bin similarity index 100% rename from system/quests/q025-1p-bb.bin rename to system/quests/q025-1p-bb-e.bin diff --git a/system/quests/q026-1p-bb.bin b/system/quests/q026-1p-bb-e.bin similarity index 100% rename from system/quests/q026-1p-bb.bin rename to system/quests/q026-1p-bb-e.bin diff --git a/system/quests/q027-dl-gc.bin b/system/quests/q027-dl-gc-e.bin similarity index 100% rename from system/quests/q027-dl-gc.bin rename to system/quests/q027-dl-gc-e.bin diff --git a/system/quests/q031-1p-bb.bin b/system/quests/q031-1p-bb-e.bin similarity index 100% rename from system/quests/q031-1p-bb.bin rename to system/quests/q031-1p-bb-e.bin diff --git a/system/quests/q033-1p-bb.bin b/system/quests/q033-1p-bb-e.bin similarity index 100% rename from system/quests/q033-1p-bb.bin rename to system/quests/q033-1p-bb-e.bin diff --git a/system/quests/q058-ret-bb.bin b/system/quests/q058-ret-bb-e.bin similarity index 100% rename from system/quests/q058-ret-bb.bin rename to system/quests/q058-ret-bb-e.bin diff --git a/system/quests/q058-ret-d1.bin b/system/quests/q058-ret-d1-e.bin similarity index 100% rename from system/quests/q058-ret-d1.bin rename to system/quests/q058-ret-d1-e.bin diff --git a/system/quests/q058-ret-dc.bin b/system/quests/q058-ret-dc-e.bin similarity index 100% rename from system/quests/q058-ret-dc.bin rename to system/quests/q058-ret-dc-e.bin diff --git a/system/quests/q058-ret-gc.bin b/system/quests/q058-ret-gc-e.bin similarity index 100% rename from system/quests/q058-ret-gc.bin rename to system/quests/q058-ret-gc-e.bin diff --git a/system/quests/q058-ret-pc.bin b/system/quests/q058-ret-pc-e.bin similarity index 100% rename from system/quests/q058-ret-pc.bin rename to system/quests/q058-ret-pc-e.bin diff --git a/system/quests/q059-ret-bb.bin b/system/quests/q059-ret-bb-e.bin similarity index 100% rename from system/quests/q059-ret-bb.bin rename to system/quests/q059-ret-bb-e.bin diff --git a/system/quests/q059-ret-d1.bin b/system/quests/q059-ret-d1-e.bin similarity index 100% rename from system/quests/q059-ret-d1.bin rename to system/quests/q059-ret-d1-e.bin diff --git a/system/quests/q059-ret-dc.bin b/system/quests/q059-ret-dc-e.bin similarity index 100% rename from system/quests/q059-ret-dc.bin rename to system/quests/q059-ret-dc-e.bin diff --git a/system/quests/q059-ret-gc.bin b/system/quests/q059-ret-gc-e.bin similarity index 100% rename from system/quests/q059-ret-gc.bin rename to system/quests/q059-ret-gc-e.bin diff --git a/system/quests/q059-ret-pc.bin b/system/quests/q059-ret-pc-e.bin similarity index 100% rename from system/quests/q059-ret-pc.bin rename to system/quests/q059-ret-pc-e.bin diff --git a/system/quests/q060-ret-bb.bin b/system/quests/q060-ret-bb-e.bin similarity index 100% rename from system/quests/q060-ret-bb.bin rename to system/quests/q060-ret-bb-e.bin diff --git a/system/quests/q060-ret-d1.bin b/system/quests/q060-ret-d1-e.bin similarity index 100% rename from system/quests/q060-ret-d1.bin rename to system/quests/q060-ret-d1-e.bin diff --git a/system/quests/q060-ret-dc.bin b/system/quests/q060-ret-dc-e.bin similarity index 100% rename from system/quests/q060-ret-dc.bin rename to system/quests/q060-ret-dc-e.bin diff --git a/system/quests/q060-ret-gc.bin b/system/quests/q060-ret-gc-e.bin similarity index 100% rename from system/quests/q060-ret-gc.bin rename to system/quests/q060-ret-gc-e.bin diff --git a/system/quests/q060-ret-pc.bin b/system/quests/q060-ret-pc-e.bin similarity index 100% rename from system/quests/q060-ret-pc.bin rename to system/quests/q060-ret-pc-e.bin diff --git a/system/quests/q068-ret-dc.bin b/system/quests/q068-ret-dc-e.bin similarity index 100% rename from system/quests/q068-ret-dc.bin rename to system/quests/q068-ret-dc-e.bin diff --git a/system/quests/q068-ret-pc.bin b/system/quests/q068-ret-pc-e.bin similarity index 100% rename from system/quests/q068-ret-pc.bin rename to system/quests/q068-ret-pc-e.bin diff --git a/system/quests/q073-evt-gc.bin b/system/quests/q073-evt-gc-e.bin similarity index 100% rename from system/quests/q073-evt-gc.bin rename to system/quests/q073-evt-gc-e.bin diff --git a/system/quests/q073-evt-pc.bin b/system/quests/q073-evt-pc-e.bin similarity index 100% rename from system/quests/q073-evt-pc.bin rename to system/quests/q073-evt-pc-e.bin diff --git a/system/quests/q080-vr-dc.bin b/system/quests/q080-vr-dc-e.bin similarity index 100% rename from system/quests/q080-vr-dc.bin rename to system/quests/q080-vr-dc-e.bin diff --git a/system/quests/q095-evt-gc.bin b/system/quests/q095-evt-gc-e.bin similarity index 100% rename from system/quests/q095-evt-gc.bin rename to system/quests/q095-evt-gc-e.bin diff --git a/system/quests/q095-evt-pc.bin b/system/quests/q095-evt-pc-e.bin similarity index 100% rename from system/quests/q095-evt-pc.bin rename to system/quests/q095-evt-pc-e.bin diff --git a/system/quests/q096-evt-gc.bin b/system/quests/q096-evt-gc-e.bin similarity index 100% rename from system/quests/q096-evt-gc.bin rename to system/quests/q096-evt-gc-e.bin diff --git a/system/quests/q096-evt-pc.bin b/system/quests/q096-evt-pc-e.bin similarity index 100% rename from system/quests/q096-evt-pc.bin rename to system/quests/q096-evt-pc-e.bin diff --git a/system/quests/q101-ext-bb.bin b/system/quests/q101-ext-bb-e.bin similarity index 100% rename from system/quests/q101-ext-bb.bin rename to system/quests/q101-ext-bb-e.bin diff --git a/system/quests/q101-ext-d1.bin b/system/quests/q101-ext-d1-e.bin similarity index 100% rename from system/quests/q101-ext-d1.bin rename to system/quests/q101-ext-d1-e.bin diff --git a/system/quests/q101-ext-dc.bin b/system/quests/q101-ext-dc-e.bin similarity index 100% rename from system/quests/q101-ext-dc.bin rename to system/quests/q101-ext-dc-e.bin diff --git a/system/quests/q101-ext-gc.bin b/system/quests/q101-ext-gc-e.bin similarity index 100% rename from system/quests/q101-ext-gc.bin rename to system/quests/q101-ext-gc-e.bin diff --git a/system/quests/q101-ext-pc.bin b/system/quests/q101-ext-pc-e.bin similarity index 100% rename from system/quests/q101-ext-pc.bin rename to system/quests/q101-ext-pc-e.bin diff --git a/system/quests/q102-ext-bb.bin b/system/quests/q102-ext-bb-e.bin similarity index 100% rename from system/quests/q102-ext-bb.bin rename to system/quests/q102-ext-bb-e.bin diff --git a/system/quests/q102-ext-d1.bin b/system/quests/q102-ext-d1-e.bin similarity index 100% rename from system/quests/q102-ext-d1.bin rename to system/quests/q102-ext-d1-e.bin diff --git a/system/quests/q102-ext-dc.bin b/system/quests/q102-ext-dc-e.bin similarity index 100% rename from system/quests/q102-ext-dc.bin rename to system/quests/q102-ext-dc-e.bin diff --git a/system/quests/q102-ext-gc.bin b/system/quests/q102-ext-gc-e.bin similarity index 100% rename from system/quests/q102-ext-gc.bin rename to system/quests/q102-ext-gc-e.bin diff --git a/system/quests/q102-ext-pc.bin b/system/quests/q102-ext-pc-e.bin similarity index 100% rename from system/quests/q102-ext-pc.bin rename to system/quests/q102-ext-pc-e.bin diff --git a/system/quests/q103-ext-bb.bin b/system/quests/q103-ext-bb-e.bin similarity index 100% rename from system/quests/q103-ext-bb.bin rename to system/quests/q103-ext-bb-e.bin diff --git a/system/quests/q103-ext-d1.bin b/system/quests/q103-ext-d1-e.bin similarity index 100% rename from system/quests/q103-ext-d1.bin rename to system/quests/q103-ext-d1-e.bin diff --git a/system/quests/q103-ext-gc.bin b/system/quests/q103-ext-gc-e.bin similarity index 100% rename from system/quests/q103-ext-gc.bin rename to system/quests/q103-ext-gc-e.bin diff --git a/system/quests/q103-ext-pc.bin b/system/quests/q103-ext-pc-e.bin similarity index 100% rename from system/quests/q103-ext-pc.bin rename to system/quests/q103-ext-pc-e.bin diff --git a/system/quests/q104-ext-bb.bin b/system/quests/q104-ext-bb-e.bin similarity index 100% rename from system/quests/q104-ext-bb.bin rename to system/quests/q104-ext-bb-e.bin diff --git a/system/quests/q104-ext-d1.bin b/system/quests/q104-ext-d1-e.bin similarity index 100% rename from system/quests/q104-ext-d1.bin rename to system/quests/q104-ext-d1-e.bin diff --git a/system/quests/q104-ext-dc.bin b/system/quests/q104-ext-dc-e.bin similarity index 100% rename from system/quests/q104-ext-dc.bin rename to system/quests/q104-ext-dc-e.bin diff --git a/system/quests/q104-ext-gc.bin b/system/quests/q104-ext-gc-e.bin similarity index 100% rename from system/quests/q104-ext-gc.bin rename to system/quests/q104-ext-gc-e.bin diff --git a/system/quests/q104-ext-pc.bin b/system/quests/q104-ext-pc-e.bin similarity index 100% rename from system/quests/q104-ext-pc.bin rename to system/quests/q104-ext-pc-e.bin diff --git a/system/quests/q108-ext-bb.bin b/system/quests/q108-ext-bb-e.bin similarity index 100% rename from system/quests/q108-ext-bb.bin rename to system/quests/q108-ext-bb-e.bin diff --git a/system/quests/q108-ext-d1.bin b/system/quests/q108-ext-d1-e.bin similarity index 100% rename from system/quests/q108-ext-d1.bin rename to system/quests/q108-ext-d1-e.bin diff --git a/system/quests/q108-ext-dc.bin b/system/quests/q108-ext-dc-e.bin similarity index 100% rename from system/quests/q108-ext-dc.bin rename to system/quests/q108-ext-dc-e.bin diff --git a/system/quests/q108-ext-gc.bin b/system/quests/q108-ext-gc-e.bin similarity index 100% rename from system/quests/q108-ext-gc.bin rename to system/quests/q108-ext-gc-e.bin diff --git a/system/quests/q108-ext-pc.bin b/system/quests/q108-ext-pc-e.bin similarity index 100% rename from system/quests/q108-ext-pc.bin rename to system/quests/q108-ext-pc-e.bin diff --git a/system/quests/q109-ext-bb.bin b/system/quests/q109-ext-bb-e.bin similarity index 100% rename from system/quests/q109-ext-bb.bin rename to system/quests/q109-ext-bb-e.bin diff --git a/system/quests/q109-ext-d1.bin b/system/quests/q109-ext-d1-e.bin similarity index 100% rename from system/quests/q109-ext-d1.bin rename to system/quests/q109-ext-d1-e.bin diff --git a/system/quests/q109-ext-dc.bin b/system/quests/q109-ext-dc-e.bin similarity index 100% rename from system/quests/q109-ext-dc.bin rename to system/quests/q109-ext-dc-e.bin diff --git a/system/quests/q109-ext-gc.bin b/system/quests/q109-ext-gc-e.bin similarity index 100% rename from system/quests/q109-ext-gc.bin rename to system/quests/q109-ext-gc-e.bin diff --git a/system/quests/q109-ext-pc.bin b/system/quests/q109-ext-pc-e.bin similarity index 100% rename from system/quests/q109-ext-pc.bin rename to system/quests/q109-ext-pc-e.bin diff --git a/system/quests/q110-ext-bb.bin b/system/quests/q110-ext-bb-e.bin similarity index 100% rename from system/quests/q110-ext-bb.bin rename to system/quests/q110-ext-bb-e.bin diff --git a/system/quests/q110-ext-d1.bin b/system/quests/q110-ext-d1-e.bin similarity index 100% rename from system/quests/q110-ext-d1.bin rename to system/quests/q110-ext-d1-e.bin diff --git a/system/quests/q110-ext-dc.bin b/system/quests/q110-ext-dc-e.bin similarity index 100% rename from system/quests/q110-ext-dc.bin rename to system/quests/q110-ext-dc-e.bin diff --git a/system/quests/q110-ext-gc.bin b/system/quests/q110-ext-gc-e.bin similarity index 100% rename from system/quests/q110-ext-gc.bin rename to system/quests/q110-ext-gc-e.bin diff --git a/system/quests/q110-ext-pc.bin b/system/quests/q110-ext-pc-e.bin similarity index 100% rename from system/quests/q110-ext-pc.bin rename to system/quests/q110-ext-pc-e.bin diff --git a/system/quests/q111-ext-bb.bin b/system/quests/q111-ext-bb-e.bin similarity index 100% rename from system/quests/q111-ext-bb.bin rename to system/quests/q111-ext-bb-e.bin diff --git a/system/quests/q111-ext-d1.bin b/system/quests/q111-ext-d1-e.bin similarity index 100% rename from system/quests/q111-ext-d1.bin rename to system/quests/q111-ext-d1-e.bin diff --git a/system/quests/q111-ext-dc.bin b/system/quests/q111-ext-dc-e.bin similarity index 100% rename from system/quests/q111-ext-dc.bin rename to system/quests/q111-ext-dc-e.bin diff --git a/system/quests/q111-ext-gc.bin b/system/quests/q111-ext-gc-e.bin similarity index 100% rename from system/quests/q111-ext-gc.bin rename to system/quests/q111-ext-gc-e.bin diff --git a/system/quests/q111-ext-pc.bin b/system/quests/q111-ext-pc-e.bin similarity index 100% rename from system/quests/q111-ext-pc.bin rename to system/quests/q111-ext-pc-e.bin diff --git a/system/quests/q117-ext-bb.bin b/system/quests/q117-ext-bb-e.bin similarity index 100% rename from system/quests/q117-ext-bb.bin rename to system/quests/q117-ext-bb-e.bin diff --git a/system/quests/q117-ext-dc.bin b/system/quests/q117-ext-dc-e.bin similarity index 100% rename from system/quests/q117-ext-dc.bin rename to system/quests/q117-ext-dc-e.bin diff --git a/system/quests/q117-ext-gc.bin b/system/quests/q117-ext-gc-e.bin similarity index 100% rename from system/quests/q117-ext-gc.bin rename to system/quests/q117-ext-gc-e.bin diff --git a/system/quests/q117-ext-pc.bin b/system/quests/q117-ext-pc-e.bin similarity index 100% rename from system/quests/q117-ext-pc.bin rename to system/quests/q117-ext-pc-e.bin diff --git a/system/quests/q118-vr-bb.bin b/system/quests/q118-vr-bb-e.bin similarity index 100% rename from system/quests/q118-vr-bb.bin rename to system/quests/q118-vr-bb-e.bin diff --git a/system/quests/q118-vr-dc.bin b/system/quests/q118-vr-dc-e.bin similarity index 100% rename from system/quests/q118-vr-dc.bin rename to system/quests/q118-vr-dc-e.bin diff --git a/system/quests/q118-vr-gc.bin b/system/quests/q118-vr-gc-e.bin similarity index 100% rename from system/quests/q118-vr-gc.bin rename to system/quests/q118-vr-gc-e.bin diff --git a/system/quests/q118-vr-pc.bin b/system/quests/q118-vr-pc-e.bin similarity index 100% rename from system/quests/q118-vr-pc.bin rename to system/quests/q118-vr-pc-e.bin diff --git a/system/quests/q124-evt-bb.bin b/system/quests/q124-evt-bb-e.bin similarity index 100% rename from system/quests/q124-evt-bb.bin rename to system/quests/q124-evt-bb-e.bin diff --git a/system/quests/q137-evt-bb.bin b/system/quests/q137-evt-bb-e.bin similarity index 100% rename from system/quests/q137-evt-bb.bin rename to system/quests/q137-evt-bb-e.bin diff --git a/system/quests/q137-evt-dc.bin b/system/quests/q137-evt-dc-e.bin similarity index 100% rename from system/quests/q137-evt-dc.bin rename to system/quests/q137-evt-dc-e.bin diff --git a/system/quests/q137-evt-gc.bin b/system/quests/q137-evt-gc-e.bin similarity index 100% rename from system/quests/q137-evt-gc.bin rename to system/quests/q137-evt-gc-e.bin diff --git a/system/quests/q137-evt-pc.bin b/system/quests/q137-evt-pc-e.bin similarity index 100% rename from system/quests/q137-evt-pc.bin rename to system/quests/q137-evt-pc-e.bin diff --git a/system/quests/q138-evt-bb.bin b/system/quests/q138-evt-bb-e.bin similarity index 100% rename from system/quests/q138-evt-bb.bin rename to system/quests/q138-evt-bb-e.bin diff --git a/system/quests/q138-evt-dc.bin b/system/quests/q138-evt-dc-e.bin similarity index 100% rename from system/quests/q138-evt-dc.bin rename to system/quests/q138-evt-dc-e.bin diff --git a/system/quests/q138-evt-gc.bin b/system/quests/q138-evt-gc-e.bin similarity index 100% rename from system/quests/q138-evt-gc.bin rename to system/quests/q138-evt-gc-e.bin diff --git a/system/quests/q138-evt-pc.bin b/system/quests/q138-evt-pc-e.bin similarity index 100% rename from system/quests/q138-evt-pc.bin rename to system/quests/q138-evt-pc-e.bin diff --git a/system/quests/q140-evt-pc.bin b/system/quests/q140-evt-pc-e.bin similarity index 100% rename from system/quests/q140-evt-pc.bin rename to system/quests/q140-evt-pc-e.bin diff --git a/system/quests/q141-vr-bb.bin b/system/quests/q141-vr-bb-e.bin similarity index 100% rename from system/quests/q141-vr-bb.bin rename to system/quests/q141-vr-bb-e.bin diff --git a/system/quests/q141-vr-gc.bin b/system/quests/q141-vr-gc-e.bin similarity index 100% rename from system/quests/q141-vr-gc.bin rename to system/quests/q141-vr-gc-e.bin diff --git a/system/quests/q142-vr-bb.bin b/system/quests/q142-vr-bb-e.bin similarity index 100% rename from system/quests/q142-vr-bb.bin rename to system/quests/q142-vr-bb-e.bin diff --git a/system/quests/q201-evt-bb.bin b/system/quests/q201-evt-bb-e.bin similarity index 100% rename from system/quests/q201-evt-bb.bin rename to system/quests/q201-evt-bb-e.bin diff --git a/system/quests/q201-evt-gc.bin b/system/quests/q201-evt-gc-e.bin similarity index 100% rename from system/quests/q201-evt-gc.bin rename to system/quests/q201-evt-gc-e.bin diff --git a/system/quests/q202-shp-gc.bin b/system/quests/q202-shp-gc-e.bin similarity index 100% rename from system/quests/q202-shp-gc.bin rename to system/quests/q202-shp-gc-e.bin diff --git a/system/quests/q203-vr-bb.bin b/system/quests/q203-vr-bb-e.bin similarity index 100% rename from system/quests/q203-vr-bb.bin rename to system/quests/q203-vr-bb-e.bin diff --git a/system/quests/q203-vr-gc.bin b/system/quests/q203-vr-gc-e.bin similarity index 100% rename from system/quests/q203-vr-gc.bin rename to system/quests/q203-vr-gc-e.bin diff --git a/system/quests/q204-shp-bb.bin b/system/quests/q204-shp-bb-e.bin similarity index 100% rename from system/quests/q204-shp-bb.bin rename to system/quests/q204-shp-bb-e.bin diff --git a/system/quests/q204-shp-gc.bin b/system/quests/q204-shp-gc-e.bin similarity index 100% rename from system/quests/q204-shp-gc.bin rename to system/quests/q204-shp-gc-e.bin diff --git a/system/quests/q213-evt-gc.bin b/system/quests/q213-evt-gc-e.bin similarity index 100% rename from system/quests/q213-evt-gc.bin rename to system/quests/q213-evt-gc-e.bin diff --git a/system/quests/q220-evt-gc.bin b/system/quests/q220-evt-gc-e.bin similarity index 100% rename from system/quests/q220-evt-gc.bin rename to system/quests/q220-evt-gc-e.bin diff --git a/system/quests/q222-vr-bb.bin b/system/quests/q222-vr-bb-e.bin similarity index 100% rename from system/quests/q222-vr-bb.bin rename to system/quests/q222-vr-bb-e.bin diff --git a/system/quests/q222-vr-gc.bin b/system/quests/q222-vr-gc-e.bin similarity index 100% rename from system/quests/q222-vr-gc.bin rename to system/quests/q222-vr-gc-e.bin diff --git a/system/quests/q223-twr-bb.bin b/system/quests/q223-twr-bb-e.bin similarity index 100% rename from system/quests/q223-twr-bb.bin rename to system/quests/q223-twr-bb-e.bin diff --git a/system/quests/q223-twr-gc.bin b/system/quests/q223-twr-gc-e.bin similarity index 100% rename from system/quests/q223-twr-gc.bin rename to system/quests/q223-twr-gc-e.bin diff --git a/system/quests/q224-twr-bb.bin b/system/quests/q224-twr-bb-e.bin similarity index 100% rename from system/quests/q224-twr-bb.bin rename to system/quests/q224-twr-bb-e.bin diff --git a/system/quests/q224-twr-gc.bin b/system/quests/q224-twr-gc-e.bin similarity index 100% rename from system/quests/q224-twr-gc.bin rename to system/quests/q224-twr-gc-e.bin diff --git a/system/quests/q230-vr-gc.bin b/system/quests/q230-vr-gc-e.bin similarity index 100% rename from system/quests/q230-vr-gc.bin rename to system/quests/q230-vr-gc-e.bin diff --git a/system/quests/q231-vr-gc.bin b/system/quests/q231-vr-gc-e.bin similarity index 100% rename from system/quests/q231-vr-gc.bin rename to system/quests/q231-vr-gc-e.bin diff --git a/system/quests/q232-evt-gc.bin b/system/quests/q232-evt-gc-e.bin similarity index 100% rename from system/quests/q232-evt-gc.bin rename to system/quests/q232-evt-gc-e.bin diff --git a/system/quests/q233-ext-bb.bin b/system/quests/q233-ext-bb-e.bin similarity index 100% rename from system/quests/q233-ext-bb.bin rename to system/quests/q233-ext-bb-e.bin diff --git a/system/quests/q233-ext-gc.bin b/system/quests/q233-ext-gc-e.bin similarity index 100% rename from system/quests/q233-ext-gc.bin rename to system/quests/q233-ext-gc-e.bin diff --git a/system/quests/q234-ext-bb.bin b/system/quests/q234-ext-bb-e.bin similarity index 100% rename from system/quests/q234-ext-bb.bin rename to system/quests/q234-ext-bb-e.bin diff --git a/system/quests/q234-ext-gc.bin b/system/quests/q234-ext-gc-e.bin similarity index 100% rename from system/quests/q234-ext-gc.bin rename to system/quests/q234-ext-gc-e.bin diff --git a/system/quests/q235-ext-bb.bin b/system/quests/q235-ext-bb-e.bin similarity index 100% rename from system/quests/q235-ext-bb.bin rename to system/quests/q235-ext-bb-e.bin diff --git a/system/quests/q235-ext-gc.bin b/system/quests/q235-ext-gc-e.bin similarity index 100% rename from system/quests/q235-ext-gc.bin rename to system/quests/q235-ext-gc-e.bin diff --git a/system/quests/q236-ext-bb.bin b/system/quests/q236-ext-bb-e.bin similarity index 100% rename from system/quests/q236-ext-bb.bin rename to system/quests/q236-ext-bb-e.bin diff --git a/system/quests/q236-ext-gc.bin b/system/quests/q236-ext-gc-e.bin similarity index 100% rename from system/quests/q236-ext-gc.bin rename to system/quests/q236-ext-gc-e.bin diff --git a/system/quests/q237-vr-gc.bin b/system/quests/q237-vr-gc-e.bin similarity index 100% rename from system/quests/q237-vr-gc.bin rename to system/quests/q237-vr-gc-e.bin diff --git a/system/quests/q238-vr-gc.bin b/system/quests/q238-vr-gc-e.bin similarity index 100% rename from system/quests/q238-vr-gc.bin rename to system/quests/q238-vr-gc-e.bin diff --git a/system/quests/q239-evt-gc.bin b/system/quests/q239-evt-gc-e.bin similarity index 100% rename from system/quests/q239-evt-gc.bin rename to system/quests/q239-evt-gc-e.bin diff --git a/system/quests/q335-evt-gc.bin b/system/quests/q335-evt-gc-e.bin similarity index 100% rename from system/quests/q335-evt-gc.bin rename to system/quests/q335-evt-gc-e.bin diff --git a/system/quests/q401-gv1-bb.bin b/system/quests/q401-gv1-bb-e.bin similarity index 100% rename from system/quests/q401-gv1-bb.bin rename to system/quests/q401-gv1-bb-e.bin diff --git a/system/quests/q402-gv1-bb.bin b/system/quests/q402-gv1-bb-e.bin similarity index 100% rename from system/quests/q402-gv1-bb.bin rename to system/quests/q402-gv1-bb-e.bin diff --git a/system/quests/q403-gv1-bb.bin b/system/quests/q403-gv1-bb-e.bin similarity index 100% rename from system/quests/q403-gv1-bb.bin rename to system/quests/q403-gv1-bb-e.bin diff --git a/system/quests/q404-gv1-bb.bin b/system/quests/q404-gv1-bb-e.bin similarity index 100% rename from system/quests/q404-gv1-bb.bin rename to system/quests/q404-gv1-bb-e.bin diff --git a/system/quests/q405-gv1-bb.bin b/system/quests/q405-gv1-bb-e.bin similarity index 100% rename from system/quests/q405-gv1-bb.bin rename to system/quests/q405-gv1-bb-e.bin diff --git a/system/quests/q406-gv1-bb.bin b/system/quests/q406-gv1-bb-e.bin similarity index 100% rename from system/quests/q406-gv1-bb.bin rename to system/quests/q406-gv1-bb-e.bin diff --git a/system/quests/q407-gv1-bb.bin b/system/quests/q407-gv1-bb-e.bin similarity index 100% rename from system/quests/q407-gv1-bb.bin rename to system/quests/q407-gv1-bb-e.bin diff --git a/system/quests/q408-gv1-bb.bin b/system/quests/q408-gv1-bb-e.bin similarity index 100% rename from system/quests/q408-gv1-bb.bin rename to system/quests/q408-gv1-bb-e.bin diff --git a/system/quests/q409-gv1-bb.bin b/system/quests/q409-gv1-bb-e.bin similarity index 100% rename from system/quests/q409-gv1-bb.bin rename to system/quests/q409-gv1-bb-e.bin diff --git a/system/quests/q410-gv1-bb.bin b/system/quests/q410-gv1-bb-e.bin similarity index 100% rename from system/quests/q410-gv1-bb.bin rename to system/quests/q410-gv1-bb-e.bin diff --git a/system/quests/q411-gv1-bb.bin b/system/quests/q411-gv1-bb-e.bin similarity index 100% rename from system/quests/q411-gv1-bb.bin rename to system/quests/q411-gv1-bb-e.bin diff --git a/system/quests/q412-gv1-bb.bin b/system/quests/q412-gv1-bb-e.bin similarity index 100% rename from system/quests/q412-gv1-bb.bin rename to system/quests/q412-gv1-bb-e.bin diff --git a/system/quests/q413-gv1-bb.bin b/system/quests/q413-gv1-bb-e.bin similarity index 100% rename from system/quests/q413-gv1-bb.bin rename to system/quests/q413-gv1-bb-e.bin diff --git a/system/quests/q414-gv1-bb.bin b/system/quests/q414-gv1-bb-e.bin similarity index 100% rename from system/quests/q414-gv1-bb.bin rename to system/quests/q414-gv1-bb-e.bin diff --git a/system/quests/q415-gv1-bb.bin b/system/quests/q415-gv1-bb-e.bin similarity index 100% rename from system/quests/q415-gv1-bb.bin rename to system/quests/q415-gv1-bb-e.bin diff --git a/system/quests/q451-gv2-bb.bin b/system/quests/q451-gv2-bb-e.bin similarity index 100% rename from system/quests/q451-gv2-bb.bin rename to system/quests/q451-gv2-bb-e.bin diff --git a/system/quests/q452-gv2-bb.bin b/system/quests/q452-gv2-bb-e.bin similarity index 100% rename from system/quests/q452-gv2-bb.bin rename to system/quests/q452-gv2-bb-e.bin diff --git a/system/quests/q453-gv2-bb.bin b/system/quests/q453-gv2-bb-e.bin similarity index 100% rename from system/quests/q453-gv2-bb.bin rename to system/quests/q453-gv2-bb-e.bin diff --git a/system/quests/q454-gv2-bb.bin b/system/quests/q454-gv2-bb-e.bin similarity index 100% rename from system/quests/q454-gv2-bb.bin rename to system/quests/q454-gv2-bb-e.bin diff --git a/system/quests/q455-gv2-bb.bin b/system/quests/q455-gv2-bb-e.bin similarity index 100% rename from system/quests/q455-gv2-bb.bin rename to system/quests/q455-gv2-bb-e.bin diff --git a/system/quests/q456-gv2-bb.bin b/system/quests/q456-gv2-bb-e.bin similarity index 100% rename from system/quests/q456-gv2-bb.bin rename to system/quests/q456-gv2-bb-e.bin diff --git a/system/quests/q457-gv2-bb.bin b/system/quests/q457-gv2-bb-e.bin similarity index 100% rename from system/quests/q457-gv2-bb.bin rename to system/quests/q457-gv2-bb-e.bin diff --git a/system/quests/q458-gv2-bb.bin b/system/quests/q458-gv2-bb-e.bin similarity index 100% rename from system/quests/q458-gv2-bb.bin rename to system/quests/q458-gv2-bb-e.bin diff --git a/system/quests/q459-gv2-bb.bin b/system/quests/q459-gv2-bb-e.bin similarity index 100% rename from system/quests/q459-gv2-bb.bin rename to system/quests/q459-gv2-bb-e.bin diff --git a/system/quests/q460-gv2-bb.bin b/system/quests/q460-gv2-bb-e.bin similarity index 100% rename from system/quests/q460-gv2-bb.bin rename to system/quests/q460-gv2-bb-e.bin diff --git a/system/quests/q461-gv2-bb.bin b/system/quests/q461-gv2-bb-e.bin similarity index 100% rename from system/quests/q461-gv2-bb.bin rename to system/quests/q461-gv2-bb-e.bin diff --git a/system/quests/q462-gv2-bb.bin b/system/quests/q462-gv2-bb-e.bin similarity index 100% rename from system/quests/q462-gv2-bb.bin rename to system/quests/q462-gv2-bb-e.bin diff --git a/system/quests/q463-gv2-bb.bin b/system/quests/q463-gv2-bb-e.bin similarity index 100% rename from system/quests/q463-gv2-bb.bin rename to system/quests/q463-gv2-bb-e.bin diff --git a/system/quests/q464-gv2-bb.bin b/system/quests/q464-gv2-bb-e.bin similarity index 100% rename from system/quests/q464-gv2-bb.bin rename to system/quests/q464-gv2-bb-e.bin diff --git a/system/quests/q465-gv2-bb.bin b/system/quests/q465-gv2-bb-e.bin similarity index 100% rename from system/quests/q465-gv2-bb.bin rename to system/quests/q465-gv2-bb-e.bin diff --git a/system/quests/q466-gv2-bb.bin b/system/quests/q466-gv2-bb-e.bin similarity index 100% rename from system/quests/q466-gv2-bb.bin rename to system/quests/q466-gv2-bb-e.bin diff --git a/system/quests/q467-gv2-bb.bin b/system/quests/q467-gv2-bb-e.bin similarity index 100% rename from system/quests/q467-gv2-bb.bin rename to system/quests/q467-gv2-bb-e.bin diff --git a/system/quests/q468-gv2-bb.bin b/system/quests/q468-gv2-bb-e.bin similarity index 100% rename from system/quests/q468-gv2-bb.bin rename to system/quests/q468-gv2-bb-e.bin diff --git a/system/quests/q496-evt-gc.bin b/system/quests/q496-evt-gc-e.bin similarity index 100% rename from system/quests/q496-evt-gc.bin rename to system/quests/q496-evt-gc-e.bin diff --git a/system/quests/q701-gv4-bb.bin b/system/quests/q701-gv4-bb-e.bin similarity index 100% rename from system/quests/q701-gv4-bb.bin rename to system/quests/q701-gv4-bb-e.bin diff --git a/system/quests/q702-gv4-bb.bin b/system/quests/q702-gv4-bb-e.bin similarity index 100% rename from system/quests/q702-gv4-bb.bin rename to system/quests/q702-gv4-bb-e.bin diff --git a/system/quests/q703-gv4-bb.bin b/system/quests/q703-gv4-bb-e.bin similarity index 100% rename from system/quests/q703-gv4-bb.bin rename to system/quests/q703-gv4-bb-e.bin diff --git a/system/quests/q704-gv4-bb.bin b/system/quests/q704-gv4-bb-e.bin similarity index 100% rename from system/quests/q704-gv4-bb.bin rename to system/quests/q704-gv4-bb-e.bin diff --git a/system/quests/q705-gv4-bb.bin b/system/quests/q705-gv4-bb-e.bin similarity index 100% rename from system/quests/q705-gv4-bb.bin rename to system/quests/q705-gv4-bb-e.bin diff --git a/system/quests/q706-gv4-bb.bin b/system/quests/q706-gv4-bb-e.bin similarity index 100% rename from system/quests/q706-gv4-bb.bin rename to system/quests/q706-gv4-bb-e.bin diff --git a/system/quests/q707-gv4-bb.bin b/system/quests/q707-gv4-bb-e.bin similarity index 100% rename from system/quests/q707-gv4-bb.bin rename to system/quests/q707-gv4-bb-e.bin diff --git a/system/quests/q708-gv4-bb.bin b/system/quests/q708-gv4-bb-e.bin similarity index 100% rename from system/quests/q708-gv4-bb.bin rename to system/quests/q708-gv4-bb-e.bin diff --git a/system/quests/q709-gv4-bb.bin b/system/quests/q709-gv4-bb-e.bin similarity index 100% rename from system/quests/q709-gv4-bb.bin rename to system/quests/q709-gv4-bb-e.bin diff --git a/system/quests/q811-ext-bb.bin b/system/quests/q811-ext-bb-e.bin similarity index 100% rename from system/quests/q811-ext-bb.bin rename to system/quests/q811-ext-bb-e.bin diff --git a/system/quests/q812-ext-bb.bin b/system/quests/q812-ext-bb-e.bin similarity index 100% rename from system/quests/q812-ext-bb.bin rename to system/quests/q812-ext-bb-e.bin diff --git a/system/quests/q813-ext-bb.bin b/system/quests/q813-ext-bb-e.bin similarity index 100% rename from system/quests/q813-ext-bb.bin rename to system/quests/q813-ext-bb-e.bin diff --git a/system/quests/q814-ext-bb.bin b/system/quests/q814-ext-bb-e.bin similarity index 100% rename from system/quests/q814-ext-bb.bin rename to system/quests/q814-ext-bb-e.bin diff --git a/system/quests/q815-ext-bb.bin b/system/quests/q815-ext-bb-e.bin similarity index 100% rename from system/quests/q815-ext-bb.bin rename to system/quests/q815-ext-bb-e.bin diff --git a/system/quests/q999-shp-gc.bin b/system/quests/q999-shp-gc-e.bin similarity index 100% rename from system/quests/q999-shp-gc.bin rename to system/quests/q999-shp-gc-e.bin diff --git a/tests/GC-Episode3BattleWithSpectator.test.txt b/tests/GC-Episode3BattleWithSpectator.test.txt index 88c9491d..4bdb62e3 100644 --- a/tests/GC-Episode3BattleWithSpectator.test.txt +++ b/tests/GC-Episode3BattleWithSpectator.test.txt @@ -10357,8 +10357,8 @@ I 17097 2023-09-19 21:54:08 - [Commands] Sending to C-4 (Tali) (version=GC comma 0000 | B1 00 1C 00 32 30 32 33 3A 30 39 3A 32 30 3A 20 | 2023:09:20: 0010 | 30 34 3A 35 34 3A 30 38 2E 30 30 30 | 04:54:08.000 I 17097 2023-09-19 21:54:08 - [Commands] Sending to C-4 (Tali) (version=GC command=6C flag=00) -0000 | 6C 00 1C 04 B6 00 00 00 18 04 00 00 41 00 00 00 | l A -0010 | F9 01 00 00 03 04 00 00 07 00 00 01 FD F8 FC F9 | +0000 | 6C 00 10 04 B6 00 00 00 0C 04 00 00 41 00 00 00 | l A +0010 | F9 01 00 00 F8 03 00 00 07 00 00 01 FD F8 FC F9 | 0020 | 06 08 04 07 E8 F7 F8 FF 0D 01 06 8B 07 08 80 FF | 0030 | 0C FF 5E 80 FF 3C 04 03 02 D8 FC 10 1F F8 FF 89 | ^ < 0040 | C3 C3 C4 C2 0E FD 46 47 46 FD 55 48 98 FE 20 A0 | FGF UH @@ -10394,35 +10394,34 @@ I 17097 2023-09-19 21:54:08 - [Commands] Sending to C-4 (Tali) (version=GC comma 0220 | C2 5D 14 7B 87 FF 3A 8F 8F 5C 43 34 B8 65 C8 44 | ] { : \C4 e D 0230 | FD B8 B7 81 ED C2 3C 60 FE 0A 20 20 D5 12 D8 B8 | <` 0240 | 42 C0 FD 0A C1 B6 C0 FD 16 42 C0 FD 0A C1 C0 FD | B B -0250 | 12 FA F8 FF FB 40 E6 87 4D 6F 6C 61 FF 65 20 56 | @ Mola e V -0260 | 65 6E 74 69 20 55 41 25 FB 60 FF 0A 87 FA FD 60 | enti UA% ` ` -0270 | FF 13 F8 FF 27 54 68 69 73 20 1F 61 72 65 61 20 | 'This area -0280 | 87 F8 6F 6E B9 0A 1F 6F 66 20 74 68 1E F8 62 65 | on of th be -0290 | 73 74 9E F3 73 70 6F 74 1E E8 20 52 61 67 E0 9A | st spot Rag -02A0 | F0 66 6F 72 C7 20 67 61 E0 72 87 69 6E 67 F1 70 | for ga r ing p -02B0 | 01 68 E1 C2 E3 2E E2 65 63 08 82 F0 10 EB 76 63 | h . ec vc -02C0 | C9 69 DE 69 3C CC 0A 68 61 00 C4 A5 3C ED 61 6C | i i< ha < al -02D0 | 65 64 00 F2 CA 00 E9 9A 3C FD 61 63 74 75 0C EE | ed < actu -02E0 | 6C 79 EE 00 E4 D3 10 DE 75 00 9C D4 FC 80 9D FD | ly u -02F0 | 20 66 6C 6F 77 C3 2D 6C B6 65 2E 01 0A 63 C4 78 | flow -l e. c x -0300 | 55 FF 62 0A 01 63 7E 00 B7 C3 43 B4 77 B9 68 22 | U b c~ C w h" -0310 | AF EA 78 F4 6E 64 6D 69 18 E6 2D 73 12 A0 70 98 | x ndmi -s p -0320 | C0 AA DC 69 66 21 69 5D 20 18 A2 BD FB 61 08 DD | if!i] a -0330 | 2B 07 F6 74 72 F4 4C 2B 72 BA 00 A8 F0 31 50 E0 | + tr L+r 1P -0340 | 65 EE D5 32 2E 20 EC 85 02 09 AB 00 BC F8 EB 57 | e 2. W -0350 | 40 FD B0 95 E3 AA F8 38 FF 60 F4 6B 60 F7 FF 60 | @ 8 ` k` ` -0360 | EE FF AA A0 1D FF E0 E1 FF 60 D5 FF A0 05 FF AA | ` -0370 | 60 F3 CF 00 FE BF E0 F7 FF C0 EF FF AA A0 E7 FF | ` -0380 | 80 DF FF 60 D7 FF 40 CF FF AA 20 C7 FF 00 BF FF | ` @ -0390 | E0 B6 FF C0 AE FF AA A0 A6 FF 80 9E FF 28 58 FF | (X -03A0 | 28 50 FF AA 28 48 FF 00 7E FF 00 7E FF E0 75 FF | (P (H ~ ~ u -03B0 | AA C0 6D FF A0 65 FF 80 5D FF 60 55 FF AA 40 4D | m e ] `U @M -03C0 | FF 20 45 FF 00 3D FF E0 34 FF AA C0 2C FF A0 24 | E = 4 , $ -03D0 | FF E0 09 FF 68 03 FF AA 88 6F FF 00 7E FF 20 04 | h o ~ -03E0 | FF 20 04 FF AA 20 04 FF 20 04 FF 20 04 FF 20 04 | -03F0 | FF AA 20 04 FF 20 04 FF 20 04 FF 20 04 FF AA 20 | -0400 | 04 FF A0 24 FF 00 7E FF 08 00 FF 7A 08 00 FF E0 | $ ~ z -0410 | 7C E4 0C FF F4 05 00 FE 3B 00 00 00 | | ; +0250 | 12 FA F8 FF FB 40 E6 87 83 94 83 46 FF 83 93 83 | @ F +0260 | 65 83 42 81 40 FD 41 25 FB 4D 6F 6C 61 65 BF 20 | e B @ A% Molae +0270 | 56 65 6E 74 69 87 FA FF 81 75 83 82 81 5B 83 89 | Venti u [ +0280 | FB 81 45 70 FE 09 82 CC 83 74 0F 83 48 83 67 F2 | Ep t H g +0290 | FF 90 AE 97 AC 8F 8A 81 76 3D 0A 28 FE 13 00 82 | v= ( +02A0 | B1 FC D6 8E FC 88 CD 82 CD F0 C0 83 4F 83 49 C3 | O I +02B0 | 83 8B F0 92 86 EF 82 C5 82 E0 06 FE 82 AA FF 8F | +02C0 | 57 82 DC 82 E8 82 E2 FF 82 B7 82 AD 81 41 8D C5 | W A +02D0 | E3 8B DF DC B2 8D 11 B8 DA 1C CA D5 FE 96 AC 21 | ! +02E0 | 8E BE 43 FC F6 8F E3 82 C9 8F E6 FF 82 C1 82 C4 | C +02F0 | 82 A2 82 E9 18 A0 C6 DE BE 95 AA 82 A9 76 FF 81 | v +0300 | 0B 42 0A 2F FD 89 F8 81 95 97 8E D4 03 8C 5E F8 | B / ^ +0310 | FD 57 8B 40 82 F0 92 CA 03 82 B5 D5 0C 8B 90 CF | W @ +0320 | F8 30 91 83 70 C2 AB 69 6A 83 1F 41 82 51 82 D6 | 0 p ij A Q +0330 | 9E B3 93 5D 91 97 F4 E0 AC FD 20 EC D0 02 09 00 | ] +0340 | 55 BC F8 EB 57 40 FD B0 95 E3 55 F8 38 FF 60 F4 | U W@ U 8 ` +0350 | 6B 60 F7 FF 60 EE FF 55 A0 1D FF E0 E1 FF 60 D5 | k` ` U ` +0360 | FF A0 05 FF 55 60 F3 CF 00 FE BF E0 F7 FF C0 EF | U` +0370 | FF 55 A0 E7 FF 80 DF FF 60 D7 FF 40 CF FF 55 20 | U ` @ U +0380 | C7 FF 00 BF FF E0 B6 FF C0 AE FF 55 A0 A6 FF 80 | U +0390 | 9E FF 28 58 FF 28 50 FF 55 28 48 FF 00 7E FF 00 | (X (P U(H ~ +03A0 | 7E FF E0 75 FF 55 C0 6D FF A0 65 FF 80 5D FF 60 | ~ u U m e ] ` +03B0 | 55 FF 55 40 4D FF 20 45 FF 00 3D FF E0 34 FF 55 | U U@M E = 4 U +03C0 | C0 2C FF A0 24 FF E0 09 FF 68 03 FF 55 88 6F FF | , $ h U o +03D0 | 00 7E FF 20 04 FF 20 04 FF 55 20 04 FF 20 04 FF | ~ U +03E0 | 20 04 FF 20 04 FF 55 20 04 FF 20 04 FF 20 04 FF | U +03F0 | 20 04 FF 55 20 04 FF A0 24 FF 00 7E FF 08 00 FF | U $ ~ +0400 | BD 08 00 FF E0 7C E4 0C FF F4 00 FE 3B 02 00 00 | | ; I 17097 2023-09-19 21:54:08 - [Commands] Received from C-4 (Tali) (version=GC command=99 flag=00) 0000 | 99 00 04 00 | I 17097 2023-09-19 21:54:57 - [Commands] Sending to C-2 (Tali) (version=GC command=C9 flag=00) diff --git a/tests/decrypt-gci-save.test.sh b/tests/decrypt-gci-save.test.sh index b64a8470..3015a404 100755 --- a/tests/decrypt-gci-save.test.sh +++ b/tests/decrypt-gci-save.test.sh @@ -24,4 +24,4 @@ $EXECUTABLE decrypt-gci-save $DIR/8P-GPSJ-PSO3_GUILDCARD.gci --sys=$DIR/8P-GPSJ- diff $DIR/8P-GPSJ-PSO3_GUILDCARD-expected.gcid $DIR/8P-GPSJ-PSO3_GUILDCARD.gcid echo "... clean up" -rm -f $DIR/8P-GPOJ-PSO_CHARACTER.gcid $DIR/8P-GPOJ-PSO_GUILDCARD.gcid $DIR/8P-GPSJ-PSO_CHARACTER.gcid $DIR/8P-GPSJ-PSO_GUILDCARD.gcid +rm -f $DIR/8P-GPOJ-PSO_CHARACTER.gcid $DIR/8P-GPOJ-PSO_GUILDCARD.gcid $DIR/8P-GPSJ-PSO3_CHARACTER.gcid $DIR/8P-GPSJ-PSO3_GUILDCARD.gcid