@irrelon/battlescript 3.1.4 → 3.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,9 +1,6 @@
1
1
  import require$$0 from 'assert';
2
2
  import require$$0$1 from 'util';
3
3
  import { join, dirname } from 'path';
4
- import 'fs/promises';
5
- import { readFileSync } from 'fs';
6
- import { writeFileSync } from 'node:fs';
7
4
 
8
5
  var ATNDeserializer = {};
9
6
 
@@ -23835,7 +23832,7 @@ BattleScriptLexer._SYMBOLIC_NAMES = [
23835
23832
  ];
23836
23833
  BattleScriptLexer.VOCABULARY = new VocabularyImplExports.VocabularyImpl(BattleScriptLexer._LITERAL_NAMES, BattleScriptLexer._SYMBOLIC_NAMES, []);
23837
23834
  BattleScriptLexer._serializedATNSegments = 2;
23838
- BattleScriptLexer._serializedATNSegment0 = "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x02Y\u0299\b\x01" +
23835
+ BattleScriptLexer._serializedATNSegment0 = "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x02Y\u02A8\b\x01" +
23839
23836
  "\x04\x02\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06" +
23840
23837
  "\x04\x07\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f\t\f\x04\r" +
23841
23838
  "\t\r\x04\x0E\t\x0E\x04\x0F\t\x0F\x04\x10\t\x10\x04\x11\t\x11\x04\x12\t" +
@@ -23883,170 +23880,171 @@ BattleScriptLexer._serializedATNSegment0 = "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u
23883
23880
  "\n2\r2\x0E2\u0205\x032\x032\x052\u020A\n2\x032\x062\u020D\n2\r2\x0E2\u020E" +
23884
23881
  "\x052\u0211\n2\x052\u0213\n2\x033\x033\x033\x033\x033\x033\x033\x033\x03" +
23885
23882
  "3\x053\u021E\n3\x034\x034\x074\u0222\n4\f4\x0E4\u0225\v4\x034\x034\x03" +
23886
- "5\x035\x075\u022B\n5\f5\x0E5\u022E\v5\x036\x036\x076\u0232\n6\f6\x0E6" +
23887
- "\u0235\v6\x036\x066\u0238\n6\r6\x0E6\u0239\x036\x066\u023D\n6\r6\x0E6" +
23888
- "\u023E\x056\u0241\n6\x037\x037\x037\x038\x038\x038\x039\x039\x039\x03" +
23889
- ":\x03:\x03;\x03;\x03<\x03<\x03=\x03=\x03>\x03>\x03?\x03?\x03@\x03@\x03" +
23890
- "@\x03A\x03A\x03A\x03B\x03B\x03B\x03C\x03C\x03C\x03D\x03D\x03E\x03E\x03" +
23891
- "E\x03F\x03F\x03F\x03G\x03G\x03H\x03H\x03I\x03I\x03I\x03J\x03J\x03J\x03" +
23892
- "K\x03K\x03K\x03K\x03L\x03L\x03M\x03M\x03N\x03N\x03O\x03O\x03P\x03P\x03" +
23893
- "Q\x03Q\x03R\x03R\x03S\x03S\x03T\x03T\x03U\x03U\x03U\x03V\x03V\x03W\x03" +
23894
- "W\x03X\x06X\u0294\nX\rX\x0EX\u0295\x03X\x03X\x02\x02\x02Y\x03\x02\x03" +
23895
- "\x05\x02\x04\x07\x02\x05\t\x02\x06\v\x02\x07\r\x02\b\x0F\x02\t\x11\x02" +
23896
- "\n\x13\x02\v\x15\x02\f\x17\x02\r\x19\x02\x0E\x1B\x02\x0F\x1D\x02\x10\x1F" +
23897
- "\x02\x11!\x02\x12#\x02\x13%\x02\x14\'\x02\x15)\x02\x16+\x02\x17-\x02\x18" +
23898
- "/\x02\x191\x02\x1A3\x02\x1B5\x02\x1C7\x02\x1D9\x02\x1E;\x02\x1F=\x02 " +
23899
- "?\x02!A\x02\"C\x02#E\x02$G\x02%I\x02&K\x02\'M\x02(O\x02)Q\x02*S\x02+U" +
23900
- "\x02,W\x02-Y\x02.[\x02/]\x020_\x021a\x022c\x023e\x024g\x025i\x026k\x02" +
23901
- "7m\x028o\x029q\x02:s\x02;u\x02<w\x02=y\x02>{\x02?}\x02@\x7F\x02A\x81\x02" +
23902
- "B\x83\x02C\x85\x02D\x87\x02E\x89\x02F\x8B\x02G\x8D\x02H\x8F\x02I\x91\x02" +
23903
- "J\x93\x02K\x95\x02L\x97\x02M\x99\x02N\x9B\x02O\x9D\x02P\x9F\x02Q\xA1\x02" +
23904
- "R\xA3\x02S\xA5\x02T\xA7\x02U\xA9\x02V\xAB\x02W\xAD\x02X\xAF\x02Y\x03\x02" +
23905
- "\v\x03\x022;\x04\x02GGgg\x04\x02--//\x03\x02$$\x04\x02\f\f\x0F\x0F\x04" +
23906
- "\x02C\\c|\x06\x022;C\\aac|\x03\x02aa\x05\x02\v\f\x0F\x0F\"\"\x02\u02AB" +
23907
- "\x02\x03\x03\x02\x02\x02\x02\x05\x03\x02\x02\x02\x02\x07\x03\x02\x02\x02" +
23908
- "\x02\t\x03\x02\x02\x02\x02\v\x03\x02\x02\x02\x02\r\x03\x02\x02\x02\x02" +
23909
- "\x0F\x03\x02\x02\x02\x02\x11\x03\x02\x02\x02\x02\x13\x03\x02\x02\x02\x02" +
23910
- "\x15\x03\x02\x02\x02\x02\x17\x03\x02\x02\x02\x02\x19\x03\x02\x02\x02\x02" +
23911
- "\x1B\x03\x02\x02\x02\x02\x1D\x03\x02\x02\x02\x02\x1F\x03\x02\x02\x02\x02" +
23912
- "!\x03\x02\x02\x02\x02#\x03\x02\x02\x02\x02%\x03\x02\x02\x02\x02\'\x03" +
23913
- "\x02\x02\x02\x02)\x03\x02\x02\x02\x02+\x03\x02\x02\x02\x02-\x03\x02\x02" +
23914
- "\x02\x02/\x03\x02\x02\x02\x021\x03\x02\x02\x02\x023\x03\x02\x02\x02\x02" +
23915
- "5\x03\x02\x02\x02\x027\x03\x02\x02\x02\x029\x03\x02\x02\x02\x02;\x03\x02" +
23916
- "\x02\x02\x02=\x03\x02\x02\x02\x02?\x03\x02\x02\x02\x02A\x03\x02\x02\x02" +
23917
- "\x02C\x03\x02\x02\x02\x02E\x03\x02\x02\x02\x02G\x03\x02\x02\x02\x02I\x03" +
23918
- "\x02\x02\x02\x02K\x03\x02\x02\x02\x02M\x03\x02\x02\x02\x02O\x03\x02\x02" +
23919
- "\x02\x02Q\x03\x02\x02\x02\x02S\x03\x02\x02\x02\x02U\x03\x02\x02\x02\x02" +
23920
- "W\x03\x02\x02\x02\x02Y\x03\x02\x02\x02\x02[\x03\x02\x02\x02\x02]\x03\x02" +
23921
- "\x02\x02\x02_\x03\x02\x02\x02\x02a\x03\x02\x02\x02\x02c\x03\x02\x02\x02" +
23922
- "\x02e\x03\x02\x02\x02\x02g\x03\x02\x02\x02\x02i\x03\x02\x02\x02\x02k\x03" +
23923
- "\x02\x02\x02\x02m\x03\x02\x02\x02\x02o\x03\x02\x02\x02\x02q\x03\x02\x02" +
23924
- "\x02\x02s\x03\x02\x02\x02\x02u\x03\x02\x02\x02\x02w\x03\x02\x02\x02\x02" +
23925
- "y\x03\x02\x02\x02\x02{\x03\x02\x02\x02\x02}\x03\x02\x02\x02\x02\x7F\x03" +
23926
- "\x02\x02\x02\x02\x81\x03\x02\x02\x02\x02\x83\x03\x02\x02\x02\x02\x85\x03" +
23927
- "\x02\x02\x02\x02\x87\x03\x02\x02\x02\x02\x89\x03\x02\x02\x02\x02\x8B\x03" +
23928
- "\x02\x02\x02\x02\x8D\x03\x02\x02\x02\x02\x8F\x03\x02\x02\x02\x02\x91\x03" +
23929
- "\x02\x02\x02\x02\x93\x03\x02\x02\x02\x02\x95\x03\x02\x02\x02\x02\x97\x03" +
23930
- "\x02\x02\x02\x02\x99\x03\x02\x02\x02\x02\x9B\x03\x02\x02\x02\x02\x9D\x03" +
23931
- "\x02\x02\x02\x02\x9F\x03\x02\x02\x02\x02\xA1\x03\x02\x02\x02\x02\xA3\x03" +
23932
- "\x02\x02\x02\x02\xA5\x03\x02\x02\x02\x02\xA7\x03\x02\x02\x02\x02\xA9\x03" +
23933
- "\x02\x02\x02\x02\xAB\x03\x02\x02\x02\x02\xAD\x03\x02\x02\x02\x02\xAF\x03" +
23934
- "\x02\x02\x02\x03\xB1\x03\x02\x02\x02\x05\xBA\x03\x02\x02\x02\x07\xC1\x03" +
23935
- "\x02\x02\x02\t\xC6\x03\x02\x02\x02\v\xCE\x03\x02\x02\x02\r\xD5\x03\x02" +
23936
- "\x02\x02\x0F\xDC\x03\x02\x02\x02\x11\xE0\x03\x02\x02\x02\x13\xE5\x03\x02" +
23937
- "\x02\x02\x15\xEF\x03\x02\x02\x02\x17\xF6\x03\x02\x02\x02\x19\xFE\x03\x02" +
23938
- "\x02\x02\x1B\u0105\x03\x02\x02\x02\x1D\u010B\x03\x02\x02\x02\x1F\u0113" +
23939
- "\x03\x02\x02\x02!\u011A\x03\x02\x02\x02#\u0123\x03\x02\x02\x02%\u012D" +
23940
- "\x03\x02\x02\x02\'\u0135\x03\x02\x02\x02)\u013B\x03\x02\x02\x02+\u0141" +
23941
- "\x03\x02\x02\x02-\u0144\x03\x02\x02\x02/\u0149\x03\x02\x02\x021\u0150" +
23942
- "\x03\x02\x02\x023\u0156\x03\x02\x02\x025\u015C\x03\x02\x02\x027\u0162" +
23943
- "\x03\x02\x02\x029\u0169\x03\x02\x02\x02;\u016D\x03\x02\x02\x02=\u0176" +
23944
- "\x03\x02\x02\x02?\u017B\x03\x02\x02\x02A\u0181\x03\x02\x02\x02C\u018A" +
23945
- "\x03\x02\x02\x02E\u0193\x03\x02\x02\x02G\u0199\x03\x02\x02\x02I\u019C" +
23946
- "\x03\x02\x02\x02K\u01A2\x03\x02\x02\x02M\u01A9\x03\x02\x02\x02O\u01AF" +
23947
- "\x03\x02\x02\x02Q\u01B6\x03\x02\x02\x02S\u01BA\x03\x02\x02\x02U\u01BF" +
23948
- "\x03\x02\x02\x02W\u01C5\x03\x02\x02\x02Y\u01CC\x03\x02\x02\x02[\u01D1" +
23949
- "\x03\x02\x02\x02]\u01D6\x03\x02\x02\x02_\u01DB\x03\x02\x02\x02a\u01E5" +
23950
- "\x03\x02\x02\x02c\u0212\x03\x02\x02\x02e\u021D\x03\x02\x02\x02g\u021F" +
23951
- "\x03\x02\x02\x02i\u0228\x03\x02\x02\x02k\u0240\x03\x02\x02\x02m\u0242" +
23952
- "\x03\x02\x02\x02o\u0245\x03\x02\x02\x02q\u0248\x03\x02\x02\x02s\u024B" +
23953
- "\x03\x02\x02\x02u\u024D\x03\x02\x02\x02w\u024F\x03\x02\x02\x02y\u0251" +
23954
- "\x03\x02\x02\x02{\u0253\x03\x02\x02\x02}\u0255\x03\x02\x02\x02\x7F\u0257" +
23955
- "\x03\x02\x02\x02\x81\u025A\x03\x02\x02\x02\x83\u025D\x03\x02\x02\x02\x85" +
23956
- "\u0260\x03\x02\x02\x02\x87\u0263\x03\x02\x02\x02\x89\u0265\x03\x02\x02" +
23957
- "\x02\x8B\u0268\x03\x02\x02\x02\x8D\u026B\x03\x02\x02\x02\x8F\u026D\x03" +
23958
- "\x02\x02\x02\x91\u026F\x03\x02\x02\x02\x93\u0272\x03\x02\x02\x02\x95\u0275" +
23959
- "\x03\x02\x02\x02\x97\u0279\x03\x02\x02\x02\x99\u027B\x03\x02\x02\x02\x9B" +
23960
- "\u027D\x03\x02\x02\x02\x9D\u027F\x03\x02\x02\x02\x9F\u0281\x03\x02\x02" +
23961
- "\x02\xA1\u0283\x03\x02\x02\x02\xA3\u0285\x03\x02\x02\x02\xA5\u0287\x03" +
23962
- "\x02\x02\x02\xA7\u0289\x03\x02\x02\x02\xA9\u028B\x03\x02\x02\x02\xAB\u028E" +
23963
- "\x03\x02\x02\x02\xAD\u0290\x03\x02\x02\x02\xAF\u0293\x03\x02\x02\x02\xB1" +
23964
- "\xB2\x07g\x02\x02\xB2\xB3\x07z\x02\x02\xB3\xB4\x07v\x02\x02\xB4\xB5\x07" +
23965
- "g\x02\x02\xB5\xB6\x07t\x02\x02\xB6\xB7\x07p\x02\x02\xB7\xB8\x07c\x02\x02" +
23966
- "\xB8\xB9\x07n\x02\x02\xB9\x04\x03\x02\x02\x02\xBA\xBB\x07p\x02\x02\xBB" +
23967
- "\xBC\x07c\x02\x02\xBC\xBD\x07v\x02\x02\xBD\xBE\x07k\x02\x02\xBE\xBF\x07" +
23968
- "x\x02\x02\xBF\xC0\x07g\x02\x02\xC0\x06\x03\x02\x02\x02\xC1\xC2\x07r\x02" +
23969
- "\x02\xC2\xC3\x07w\x02\x02\xC3\xC4\x07t\x02\x02\xC4\xC5\x07g\x02\x02\xC5" +
23970
- "\b\x03\x02\x02\x02\xC6\xC7\x07f\x02\x02\xC7\xC8\x07g\x02\x02\xC8\xC9\x07" +
23971
- "e\x02\x02\xC9\xCA\x07n\x02\x02\xCA\xCB\x07c\x02\x02\xCB\xCC\x07t\x02\x02" +
23972
- "\xCC\xCD\x07g\x02\x02\xCD\n\x03\x02\x02\x02\xCE\xCF\x07k\x02\x02\xCF\xD0" +
23973
- "\x07o\x02\x02\xD0\xD1\x07r\x02\x02\xD1\xD2\x07q\x02\x02\xD2\xD3\x07t\x02" +
23974
- "\x02\xD3\xD4\x07v\x02\x02\xD4\f\x03\x02\x02\x02\xD5\xD6\x07g\x02\x02\xD6" +
23975
- "\xD7\x07z\x02\x02\xD7\xD8\x07r\x02\x02\xD8\xD9\x07q\x02\x02\xD9\xDA\x07" +
23976
- "t\x02\x02\xDA\xDB\x07v\x02\x02\xDB\x0E\x03\x02\x02\x02\xDC\xDD\x07w\x02" +
23977
- "\x02\xDD\xDE\x07u\x02\x02\xDE\xDF\x07g\x02\x02\xDF\x10\x03\x02\x02\x02" +
23978
- "\xE0\xE1\x07h\x02\x02\xE1\xE2\x07t\x02\x02\xE2\xE3\x07q\x02\x02\xE3\xE4" +
23979
- "\x07o\x02\x02\xE4\x12\x03\x02\x02\x02\xE5\xE6\x07p\x02\x02\xE6\xE7\x07" +
23980
- "c\x02\x02\xE7\xE8\x07o\x02\x02\xE8\xE9\x07g\x02\x02\xE9\xEA\x07u\x02\x02" +
23981
- "\xEA\xEB\x07r\x02\x02\xEB\xEC\x07c\x02\x02\xEC\xED\x07e\x02\x02\xED\xEE" +
23982
- "\x07g\x02\x02\xEE\x14\x03\x02\x02\x02\xEF\xF0\x07f\x02\x02\xF0\xF1\x07" +
23983
- "g\x02\x02\xF1\xF2\x07h\x02\x02\xF2\xF3\x07k\x02\x02\xF3\xF4\x07p\x02\x02" +
23984
- "\xF4\xF5\x07g\x02\x02\xF5\x16\x03\x02\x02\x02\xF6\xF7\x07r\x02\x02\xF7" +
23985
- "\xF8\x07t\x02\x02\xF8\xF9\x07q\x02\x02\xF9\xFA\x07i\x02\x02\xFA\xFB\x07" +
23986
- "t\x02\x02\xFB\xFC\x07c\x02\x02\xFC\xFD\x07o\x02\x02\xFD\x18\x03\x02\x02" +
23987
- "\x02\xFE\xFF\x07g\x02\x02\xFF\u0100\x07z\x02\x02\u0100\u0101\x07r\x02" +
23988
- "\x02\u0101\u0102\x07q\x02\x02\u0102\u0103\x07u\x02\x02\u0103\u0104\x07" +
23989
- "g\x02\x02\u0104\x1A\x03\x02\x02\x02\u0105\u0106\x07i\x02\x02\u0106\u0107" +
23990
- "\x07t\x02\x02\u0107\u0108\x07q\x02\x02\u0108\u0109\x07w\x02\x02\u0109" +
23991
- "\u010A\x07r\x02\x02\u010A\x1C\x03\x02\x02\x02\u010B\u010C\x07f\x02\x02" +
23992
- "\u010C\u010D\x07g\x02\x02\u010D\u010E\x07h\x02\x02\u010E\u010F\x07c\x02" +
23993
- "\x02\u010F\u0110\x07w\x02\x02\u0110\u0111\x07n\x02\x02\u0111\u0112\x07" +
23994
- "v\x02\x02\u0112\x1E\x03\x02\x02\x02\u0113\u0114\x07u\x02\x02\u0114\u0115" +
23995
- "\x07y\x02\x02\u0115\u0116\x07k\x02\x02\u0116\u0117\x07v\x02\x02\u0117" +
23996
- "\u0118\x07e\x02\x02\u0118\u0119\x07j\x02\x02\u0119 \x03\x02\x02\x02\u011A" +
23997
- "\u011B\x07h\x02\x02\u011B\u011C\x07w\x02\x02\u011C\u011D\x07p\x02\x02" +
23998
- "\u011D\u011E\x07e\x02\x02\u011E\u011F\x07v\x02\x02\u011F\u0120\x07k\x02" +
23999
- "\x02\u0120\u0121\x07q\x02\x02\u0121\u0122\x07p\x02\x02\u0122\"\x03\x02" +
24000
- "\x02\x02\u0123\u0124\x07k\x02\x02\u0124\u0125\x07p\x02\x02\u0125\u0126" +
24001
- "\x07v\x02\x02\u0126\u0127\x07g\x02\x02\u0127\u0128\x07t\x02\x02\u0128" +
24002
- "\u0129\x07h\x02\x02\u0129\u012A\x07c\x02\x02\u012A\u012B\x07e\x02\x02" +
24003
- "\u012B\u012C\x07g\x02\x02\u012C$\x03\x02\x02\x02\u012D\u012E\x07g\x02" +
24004
- "\x02\u012E\u012F\x07z\x02\x02\u012F\u0130\x07v\x02\x02\u0130\u0131\x07" +
24005
- "g\x02\x02\u0131\u0132\x07p\x02\x02\u0132\u0133\x07f\x02\x02\u0133\u0134" +
24006
- "\x07u\x02\x02\u0134&\x03\x02\x02\x02\u0135\u0136\x07u\x02\x02\u0136\u0137" +
24007
- "\x07v\x02\x02\u0137\u0138\x07c\x02\x02\u0138\u0139\x07v\x02\x02\u0139" +
24008
- "\u013A\x07g\x02\x02\u013A(\x03\x02\x02\x02\u013B\u013C\x07g\x02\x02\u013C" +
24009
- "\u013D\x07x\x02\x02\u013D\u013E\x07g\x02\x02\u013E\u013F\x07p\x02\x02" +
24010
- "\u013F\u0140\x07v\x02\x02\u0140*\x03\x02\x02\x02\u0141\u0142\x07k\x02" +
24011
- "\x02\u0142\u0143\x07h\x02\x02\u0143,\x03\x02\x02\x02\u0144\u0145\x07g" +
24012
- "\x02\x02\u0145\u0146\x07n\x02\x02\u0146\u0147\x07u\x02\x02\u0147\u0148" +
24013
- "\x07g\x02\x02\u0148.\x03\x02\x02\x02\u0149\u014A\x07t\x02\x02\u014A\u014B" +
24014
- "\x07g\x02\x02\u014B\u014C\x07v\x02\x02\u014C\u014D\x07w\x02\x02\u014D" +
24015
- "\u014E\x07t\x02\x02\u014E\u014F\x07p\x02\x02\u014F0\x03\x02\x02\x02\u0150" +
24016
- "\u0151\x07g\x02\x02\u0151\u0152\x07x\x02\x02\u0152\u0153\x07g\x02\x02" +
24017
- "\u0153\u0154\x07t\x02\x02\u0154\u0155\x07{\x02\x02\u01552\x03\x02\x02" +
24018
- "\x02\u0156\u0157\x07n\x02\x02\u0157\u0158\x07k\x02\x02\u0158\u0159\x07" +
24019
- "o\x02\x02\u0159\u015A\x07k\x02\x02\u015A\u015B\x07v\x02\x02\u015B4\x03" +
24020
- "\x02\x02\x02\u015C\u015D\x07c\x02\x02\u015D\u015E\x07h\x02\x02\u015E\u015F" +
24021
- "\x07v\x02\x02\u015F\u0160\x07g\x02\x02\u0160\u0161\x07t\x02\x02\u0161" +
24022
- "6\x03\x02\x02\x02\u0162\u0163\x07e\x02\x02\u0163\u0164\x07c\x02\x02\u0164" +
24023
- "\u0165\x07p\x02\x02\u0165\u0166\x07e\x02\x02\u0166\u0167\x07g\x02\x02" +
24024
- "\u0167\u0168\x07n\x02\x02\u01688\x03\x02\x02\x02\u0169\u016A\x07h\x02" +
24025
- "\x02\u016A\u016B\x07q\x02\x02\u016B\u016C\x07t\x02\x02\u016C:\x03\x02" +
24026
- "\x02\x02\u016D\u016E\x07g\x02\x02\u016E\u016F\x07x\x02\x02\u016F\u0170" +
24027
- "\x07c\x02\x02\u0170\u0171\x07n\x02\x02\u0171\u0172\x07w\x02\x02\u0172" +
24028
- "\u0173\x07c\x02\x02\u0173\u0174\x07v\x02\x02\u0174\u0175\x07g\x02\x02" +
24029
- "\u0175<\x03\x02\x02\x02\u0176\u0177\x07e\x02\x02\u0177\u0178\x07c\x02" +
24030
- "\x02\u0178\u0179\x07u\x02\x02\u0179\u017A\x07g\x02\x02\u017A>\x03\x02" +
24031
- "\x02\x02\u017B\u017C\x07d\x02\x02\u017C\u017D\x07t\x02\x02\u017D\u017E" +
24032
- "\x07g\x02\x02\u017E\u017F\x07c\x02\x02\u017F\u0180\x07m\x02\x02\u0180" +
24033
- "@\x03\x02\x02\x02\u0181\u0182\x07e\x02\x02\u0182\u0183\x07q\x02\x02\u0183" +
24034
- "\u0184\x07p\x02\x02\u0184\u0185\x07v\x02\x02\u0185\u0186\x07k\x02\x02" +
24035
- "\u0186\u0187\x07p\x02\x02\u0187\u0188\x07w\x02\x02\u0188\u0189\x07g\x02" +
24036
- "\x02\u0189B\x03\x02\x02\x02\u018A\u018B\x07h\x02\x02\u018B\u018C\x07c" +
24037
- "\x02\x02\u018C\u018D\x07n\x02\x02\u018D\u018E\x07n\x02\x02\u018E\u018F" +
24038
- "\x07d\x02\x02\u018F\u0190\x07c\x02\x02\u0190\u0191\x07e\x02\x02\u0191" +
24039
- "\u0192\x07m\x02\x02\u0192D\x03\x02\x02\x02\u0193\u0194\x07e\x02\x02\u0194" +
24040
- "\u0195\x07c\x02\x02\u0195\u0196\x07v\x02\x02\u0196\u0197\x07e\x02\x02" +
24041
- "\u0197\u0198\x07j\x02\x02\u0198F\x03\x02\x02\x02\u0199\u019A\x07c\x02" +
24042
- "\x02\u019A\u019B\x07u\x02\x02\u019BH\x03\x02\x02\x02\u019C\u019D\x07e" +
24043
- "\x02\x02\u019D\u019E\x07q\x02\x02\u019E\u019F\x07p\x02\x02\u019F\u01A0" +
24044
- "\x07u\x02\x02\u01A0\u01A1\x07v\x02\x02\u01A1J\x03\x02\x02\x02\u01A2\u01A3" +
24045
- "\x07q\x02\x02\u01A3\u01A4\x07d\x02\x02\u01A4\u01A5\x07l\x02\x02\u01A5" +
24046
- "\u01A6\x07g\x02\x02\u01A6\u01A7\x07e\x02\x02\u01A7\u01A8\x07v\x02\x02" +
24047
- "\u01A8L\x03\x02\x02\x02\u01A9\u01AA\x07c\x02\x02\u01AA\u01AB\x07t\x02" +
24048
- "\x02\u01AB\u01AC\x07t\x02\x02\u01AC\u01AD\x07c\x02\x02\u01AD\u01AE\x07" +
24049
- "{\x02\x02\u01AEN\x03\x02\x02\x02\u01AF\u01B0\x07u\x02\x02\u01B0\u01B1" +
23883
+ "5\x035\x035\x035\x075\u022D\n5\f5\x0E5\u0230\v5\x035\x035\x035\x035\x07" +
23884
+ "5\u0236\n5\f5\x0E5\u0239\v5\x035\x035\x055\u023D\n5\x036\x036\x076\u0241" +
23885
+ "\n6\f6\x0E6\u0244\v6\x036\x066\u0247\n6\r6\x0E6\u0248\x036\x066\u024C" +
23886
+ "\n6\r6\x0E6\u024D\x056\u0250\n6\x037\x037\x037\x038\x038\x038\x039\x03" +
23887
+ "9\x039\x03:\x03:\x03;\x03;\x03<\x03<\x03=\x03=\x03>\x03>\x03?\x03?\x03" +
23888
+ "@\x03@\x03@\x03A\x03A\x03A\x03B\x03B\x03B\x03C\x03C\x03C\x03D\x03D\x03" +
23889
+ "E\x03E\x03E\x03F\x03F\x03F\x03G\x03G\x03H\x03H\x03I\x03I\x03I\x03J\x03" +
23890
+ "J\x03J\x03K\x03K\x03K\x03K\x03L\x03L\x03M\x03M\x03N\x03N\x03O\x03O\x03" +
23891
+ "P\x03P\x03Q\x03Q\x03R\x03R\x03S\x03S\x03T\x03T\x03U\x03U\x03U\x03V\x03" +
23892
+ "V\x03W\x03W\x03X\x06X\u02A3\nX\rX\x0EX\u02A4\x03X\x03X\x03\u0237\x02\x02" +
23893
+ "Y\x03\x02\x03\x05\x02\x04\x07\x02\x05\t\x02\x06\v\x02\x07\r\x02\b\x0F" +
23894
+ "\x02\t\x11\x02\n\x13\x02\v\x15\x02\f\x17\x02\r\x19\x02\x0E\x1B\x02\x0F" +
23895
+ "\x1D\x02\x10\x1F\x02\x11!\x02\x12#\x02\x13%\x02\x14\'\x02\x15)\x02\x16" +
23896
+ "+\x02\x17-\x02\x18/\x02\x191\x02\x1A3\x02\x1B5\x02\x1C7\x02\x1D9\x02\x1E" +
23897
+ ";\x02\x1F=\x02 ?\x02!A\x02\"C\x02#E\x02$G\x02%I\x02&K\x02\'M\x02(O\x02" +
23898
+ ")Q\x02*S\x02+U\x02,W\x02-Y\x02.[\x02/]\x020_\x021a\x022c\x023e\x024g\x02" +
23899
+ "5i\x026k\x027m\x028o\x029q\x02:s\x02;u\x02<w\x02=y\x02>{\x02?}\x02@\x7F" +
23900
+ "\x02A\x81\x02B\x83\x02C\x85\x02D\x87\x02E\x89\x02F\x8B\x02G\x8D\x02H\x8F" +
23901
+ "\x02I\x91\x02J\x93\x02K\x95\x02L\x97\x02M\x99\x02N\x9B\x02O\x9D\x02P\x9F" +
23902
+ "\x02Q\xA1\x02R\xA3\x02S\xA5\x02T\xA7\x02U\xA9\x02V\xAB\x02W\xAD\x02X\xAF" +
23903
+ "\x02Y\x03\x02\v\x03\x022;\x04\x02GGgg\x04\x02--//\x03\x02$$\x04\x02\f" +
23904
+ "\f\x0F\x0F\x04\x02C\\c|\x06\x022;C\\aac|\x03\x02aa\x05\x02\v\f\x0F\x0F" +
23905
+ "\"\"\x02\u02BC\x02\x03\x03\x02\x02\x02\x02\x05\x03\x02\x02\x02\x02\x07" +
23906
+ "\x03\x02\x02\x02\x02\t\x03\x02\x02\x02\x02\v\x03\x02\x02\x02\x02\r\x03" +
23907
+ "\x02\x02\x02\x02\x0F\x03\x02\x02\x02\x02\x11\x03\x02\x02\x02\x02\x13\x03" +
23908
+ "\x02\x02\x02\x02\x15\x03\x02\x02\x02\x02\x17\x03\x02\x02\x02\x02\x19\x03" +
23909
+ "\x02\x02\x02\x02\x1B\x03\x02\x02\x02\x02\x1D\x03\x02\x02\x02\x02\x1F\x03" +
23910
+ "\x02\x02\x02\x02!\x03\x02\x02\x02\x02#\x03\x02\x02\x02\x02%\x03\x02\x02" +
23911
+ "\x02\x02\'\x03\x02\x02\x02\x02)\x03\x02\x02\x02\x02+\x03\x02\x02\x02\x02" +
23912
+ "-\x03\x02\x02\x02\x02/\x03\x02\x02\x02\x021\x03\x02\x02\x02\x023\x03\x02" +
23913
+ "\x02\x02\x025\x03\x02\x02\x02\x027\x03\x02\x02\x02\x029\x03\x02\x02\x02" +
23914
+ "\x02;\x03\x02\x02\x02\x02=\x03\x02\x02\x02\x02?\x03\x02\x02\x02\x02A\x03" +
23915
+ "\x02\x02\x02\x02C\x03\x02\x02\x02\x02E\x03\x02\x02\x02\x02G\x03\x02\x02" +
23916
+ "\x02\x02I\x03\x02\x02\x02\x02K\x03\x02\x02\x02\x02M\x03\x02\x02\x02\x02" +
23917
+ "O\x03\x02\x02\x02\x02Q\x03\x02\x02\x02\x02S\x03\x02\x02\x02\x02U\x03\x02" +
23918
+ "\x02\x02\x02W\x03\x02\x02\x02\x02Y\x03\x02\x02\x02\x02[\x03\x02\x02\x02" +
23919
+ "\x02]\x03\x02\x02\x02\x02_\x03\x02\x02\x02\x02a\x03\x02\x02\x02\x02c\x03" +
23920
+ "\x02\x02\x02\x02e\x03\x02\x02\x02\x02g\x03\x02\x02\x02\x02i\x03\x02\x02" +
23921
+ "\x02\x02k\x03\x02\x02\x02\x02m\x03\x02\x02\x02\x02o\x03\x02\x02\x02\x02" +
23922
+ "q\x03\x02\x02\x02\x02s\x03\x02\x02\x02\x02u\x03\x02\x02\x02\x02w\x03\x02" +
23923
+ "\x02\x02\x02y\x03\x02\x02\x02\x02{\x03\x02\x02\x02\x02}\x03\x02\x02\x02" +
23924
+ "\x02\x7F\x03\x02\x02\x02\x02\x81\x03\x02\x02\x02\x02\x83\x03\x02\x02\x02" +
23925
+ "\x02\x85\x03\x02\x02\x02\x02\x87\x03\x02\x02\x02\x02\x89\x03\x02\x02\x02" +
23926
+ "\x02\x8B\x03\x02\x02\x02\x02\x8D\x03\x02\x02\x02\x02\x8F\x03\x02\x02\x02" +
23927
+ "\x02\x91\x03\x02\x02\x02\x02\x93\x03\x02\x02\x02\x02\x95\x03\x02\x02\x02" +
23928
+ "\x02\x97\x03\x02\x02\x02\x02\x99\x03\x02\x02\x02\x02\x9B\x03\x02\x02\x02" +
23929
+ "\x02\x9D\x03\x02\x02\x02\x02\x9F\x03\x02\x02\x02\x02\xA1\x03\x02\x02\x02" +
23930
+ "\x02\xA3\x03\x02\x02\x02\x02\xA5\x03\x02\x02\x02\x02\xA7\x03\x02\x02\x02" +
23931
+ "\x02\xA9\x03\x02\x02\x02\x02\xAB\x03\x02\x02\x02\x02\xAD\x03\x02\x02\x02" +
23932
+ "\x02\xAF\x03\x02\x02\x02\x03\xB1\x03\x02\x02\x02\x05\xBA\x03\x02\x02\x02" +
23933
+ "\x07\xC1\x03\x02\x02\x02\t\xC6\x03\x02\x02\x02\v\xCE\x03\x02\x02\x02\r" +
23934
+ "\xD5\x03\x02\x02\x02\x0F\xDC\x03\x02\x02\x02\x11\xE0\x03\x02\x02\x02\x13" +
23935
+ "\xE5\x03\x02\x02\x02\x15\xEF\x03\x02\x02\x02\x17\xF6\x03\x02\x02\x02\x19" +
23936
+ "\xFE\x03\x02\x02\x02\x1B\u0105\x03\x02\x02\x02\x1D\u010B\x03\x02\x02\x02" +
23937
+ "\x1F\u0113\x03\x02\x02\x02!\u011A\x03\x02\x02\x02#\u0123\x03\x02\x02\x02" +
23938
+ "%\u012D\x03\x02\x02\x02\'\u0135\x03\x02\x02\x02)\u013B\x03\x02\x02\x02" +
23939
+ "+\u0141\x03\x02\x02\x02-\u0144\x03\x02\x02\x02/\u0149\x03\x02\x02\x02" +
23940
+ "1\u0150\x03\x02\x02\x023\u0156\x03\x02\x02\x025\u015C\x03\x02\x02\x02" +
23941
+ "7\u0162\x03\x02\x02\x029\u0169\x03\x02\x02\x02;\u016D\x03\x02\x02\x02" +
23942
+ "=\u0176\x03\x02\x02\x02?\u017B\x03\x02\x02\x02A\u0181\x03\x02\x02\x02" +
23943
+ "C\u018A\x03\x02\x02\x02E\u0193\x03\x02\x02\x02G\u0199\x03\x02\x02\x02" +
23944
+ "I\u019C\x03\x02\x02\x02K\u01A2\x03\x02\x02\x02M\u01A9\x03\x02\x02\x02" +
23945
+ "O\u01AF\x03\x02\x02\x02Q\u01B6\x03\x02\x02\x02S\u01BA\x03\x02\x02\x02" +
23946
+ "U\u01BF\x03\x02\x02\x02W\u01C5\x03\x02\x02\x02Y\u01CC\x03\x02\x02\x02" +
23947
+ "[\u01D1\x03\x02\x02\x02]\u01D6\x03\x02\x02\x02_\u01DB\x03\x02\x02\x02" +
23948
+ "a\u01E5\x03\x02\x02\x02c\u0212\x03\x02\x02\x02e\u021D\x03\x02\x02\x02" +
23949
+ "g\u021F\x03\x02\x02\x02i\u023C\x03\x02\x02\x02k\u024F\x03\x02\x02\x02" +
23950
+ "m\u0251\x03\x02\x02\x02o\u0254\x03\x02\x02\x02q\u0257\x03\x02\x02\x02" +
23951
+ "s\u025A\x03\x02\x02\x02u\u025C\x03\x02\x02\x02w\u025E\x03\x02\x02\x02" +
23952
+ "y\u0260\x03\x02\x02\x02{\u0262\x03\x02\x02\x02}\u0264\x03\x02\x02\x02" +
23953
+ "\x7F\u0266\x03\x02\x02\x02\x81\u0269\x03\x02\x02\x02\x83\u026C\x03\x02" +
23954
+ "\x02\x02\x85\u026F\x03\x02\x02\x02\x87\u0272\x03\x02\x02\x02\x89\u0274" +
23955
+ "\x03\x02\x02\x02\x8B\u0277\x03\x02\x02\x02\x8D\u027A\x03\x02\x02\x02\x8F" +
23956
+ "\u027C\x03\x02\x02\x02\x91\u027E\x03\x02\x02\x02\x93\u0281\x03\x02\x02" +
23957
+ "\x02\x95\u0284\x03\x02\x02\x02\x97\u0288\x03\x02\x02\x02\x99\u028A\x03" +
23958
+ "\x02\x02\x02\x9B\u028C\x03\x02\x02\x02\x9D\u028E\x03\x02\x02\x02\x9F\u0290" +
23959
+ "\x03\x02\x02\x02\xA1\u0292\x03\x02\x02\x02\xA3\u0294\x03\x02\x02\x02\xA5" +
23960
+ "\u0296\x03\x02\x02\x02\xA7\u0298\x03\x02\x02\x02\xA9\u029A\x03\x02\x02" +
23961
+ "\x02\xAB\u029D\x03\x02\x02\x02\xAD\u029F\x03\x02\x02\x02\xAF\u02A2\x03" +
23962
+ "\x02\x02\x02\xB1\xB2\x07g\x02\x02\xB2\xB3\x07z\x02\x02\xB3\xB4\x07v\x02" +
23963
+ "\x02\xB4\xB5\x07g\x02\x02\xB5\xB6\x07t\x02\x02\xB6\xB7\x07p\x02\x02\xB7" +
23964
+ "\xB8\x07c\x02\x02\xB8\xB9\x07n\x02\x02\xB9\x04\x03\x02\x02\x02\xBA\xBB" +
23965
+ "\x07p\x02\x02\xBB\xBC\x07c\x02\x02\xBC\xBD\x07v\x02\x02\xBD\xBE\x07k\x02" +
23966
+ "\x02\xBE\xBF\x07x\x02\x02\xBF\xC0\x07g\x02\x02\xC0\x06\x03\x02\x02\x02" +
23967
+ "\xC1\xC2\x07r\x02\x02\xC2\xC3\x07w\x02\x02\xC3\xC4\x07t\x02\x02\xC4\xC5" +
23968
+ "\x07g\x02\x02\xC5\b\x03\x02\x02\x02\xC6\xC7\x07f\x02\x02\xC7\xC8\x07g" +
23969
+ "\x02\x02\xC8\xC9\x07e\x02\x02\xC9\xCA\x07n\x02\x02\xCA\xCB\x07c\x02\x02" +
23970
+ "\xCB\xCC\x07t\x02\x02\xCC\xCD\x07g\x02\x02\xCD\n\x03\x02\x02\x02\xCE\xCF" +
23971
+ "\x07k\x02\x02\xCF\xD0\x07o\x02\x02\xD0\xD1\x07r\x02\x02\xD1\xD2\x07q\x02" +
23972
+ "\x02\xD2\xD3\x07t\x02\x02\xD3\xD4\x07v\x02\x02\xD4\f\x03\x02\x02\x02\xD5" +
23973
+ "\xD6\x07g\x02\x02\xD6\xD7\x07z\x02\x02\xD7\xD8\x07r\x02\x02\xD8\xD9\x07" +
23974
+ "q\x02\x02\xD9\xDA\x07t\x02\x02\xDA\xDB\x07v\x02\x02\xDB\x0E\x03\x02\x02" +
23975
+ "\x02\xDC\xDD\x07w\x02\x02\xDD\xDE\x07u\x02\x02\xDE\xDF\x07g\x02\x02\xDF" +
23976
+ "\x10\x03\x02\x02\x02\xE0\xE1\x07h\x02\x02\xE1\xE2\x07t\x02\x02\xE2\xE3" +
23977
+ "\x07q\x02\x02\xE3\xE4\x07o\x02\x02\xE4\x12\x03\x02\x02\x02\xE5\xE6\x07" +
23978
+ "p\x02\x02\xE6\xE7\x07c\x02\x02\xE7\xE8\x07o\x02\x02\xE8\xE9\x07g\x02\x02" +
23979
+ "\xE9\xEA\x07u\x02\x02\xEA\xEB\x07r\x02\x02\xEB\xEC\x07c\x02\x02\xEC\xED" +
23980
+ "\x07e\x02\x02\xED\xEE\x07g\x02\x02\xEE\x14\x03\x02\x02\x02\xEF\xF0\x07" +
23981
+ "f\x02\x02\xF0\xF1\x07g\x02\x02\xF1\xF2\x07h\x02\x02\xF2\xF3\x07k\x02\x02" +
23982
+ "\xF3\xF4\x07p\x02\x02\xF4\xF5\x07g\x02\x02\xF5\x16\x03\x02\x02\x02\xF6" +
23983
+ "\xF7\x07r\x02\x02\xF7\xF8\x07t\x02\x02\xF8\xF9\x07q\x02\x02\xF9\xFA\x07" +
23984
+ "i\x02\x02\xFA\xFB\x07t\x02\x02\xFB\xFC\x07c\x02\x02\xFC\xFD\x07o\x02\x02" +
23985
+ "\xFD\x18\x03\x02\x02\x02\xFE\xFF\x07g\x02\x02\xFF\u0100\x07z\x02\x02\u0100" +
23986
+ "\u0101\x07r\x02\x02\u0101\u0102\x07q\x02\x02\u0102\u0103\x07u\x02\x02" +
23987
+ "\u0103\u0104\x07g\x02\x02\u0104\x1A\x03\x02\x02\x02\u0105\u0106\x07i\x02" +
23988
+ "\x02\u0106\u0107\x07t\x02\x02\u0107\u0108\x07q\x02\x02\u0108\u0109\x07" +
23989
+ "w\x02\x02\u0109\u010A\x07r\x02\x02\u010A\x1C\x03\x02\x02\x02\u010B\u010C" +
23990
+ "\x07f\x02\x02\u010C\u010D\x07g\x02\x02\u010D\u010E\x07h\x02\x02\u010E" +
23991
+ "\u010F\x07c\x02\x02\u010F\u0110\x07w\x02\x02\u0110\u0111\x07n\x02\x02" +
23992
+ "\u0111\u0112\x07v\x02\x02\u0112\x1E\x03\x02\x02\x02\u0113\u0114\x07u\x02" +
23993
+ "\x02\u0114\u0115\x07y\x02\x02\u0115\u0116\x07k\x02\x02\u0116\u0117\x07" +
23994
+ "v\x02\x02\u0117\u0118\x07e\x02\x02\u0118\u0119\x07j\x02\x02\u0119 \x03" +
23995
+ "\x02\x02\x02\u011A\u011B\x07h\x02\x02\u011B\u011C\x07w\x02\x02\u011C\u011D" +
23996
+ "\x07p\x02\x02\u011D\u011E\x07e\x02\x02\u011E\u011F\x07v\x02\x02\u011F" +
23997
+ "\u0120\x07k\x02\x02\u0120\u0121\x07q\x02\x02\u0121\u0122\x07p\x02\x02" +
23998
+ "\u0122\"\x03\x02\x02\x02\u0123\u0124\x07k\x02\x02\u0124\u0125\x07p\x02" +
23999
+ "\x02\u0125\u0126\x07v\x02\x02\u0126\u0127\x07g\x02\x02\u0127\u0128\x07" +
24000
+ "t\x02\x02\u0128\u0129\x07h\x02\x02\u0129\u012A\x07c\x02\x02\u012A\u012B" +
24001
+ "\x07e\x02\x02\u012B\u012C\x07g\x02\x02\u012C$\x03\x02\x02\x02\u012D\u012E" +
24002
+ "\x07g\x02\x02\u012E\u012F\x07z\x02\x02\u012F\u0130\x07v\x02\x02\u0130" +
24003
+ "\u0131\x07g\x02\x02\u0131\u0132\x07p\x02\x02\u0132\u0133\x07f\x02\x02" +
24004
+ "\u0133\u0134\x07u\x02\x02\u0134&\x03\x02\x02\x02\u0135\u0136\x07u\x02" +
24005
+ "\x02\u0136\u0137\x07v\x02\x02\u0137\u0138\x07c\x02\x02\u0138\u0139\x07" +
24006
+ "v\x02\x02\u0139\u013A\x07g\x02\x02\u013A(\x03\x02\x02\x02\u013B\u013C" +
24007
+ "\x07g\x02\x02\u013C\u013D\x07x\x02\x02\u013D\u013E\x07g\x02\x02\u013E" +
24008
+ "\u013F\x07p\x02\x02\u013F\u0140\x07v\x02\x02\u0140*\x03\x02\x02\x02\u0141" +
24009
+ "\u0142\x07k\x02\x02\u0142\u0143\x07h\x02\x02\u0143,\x03\x02\x02\x02\u0144" +
24010
+ "\u0145\x07g\x02\x02\u0145\u0146\x07n\x02\x02\u0146\u0147\x07u\x02\x02" +
24011
+ "\u0147\u0148\x07g\x02\x02\u0148.\x03\x02\x02\x02\u0149\u014A\x07t\x02" +
24012
+ "\x02\u014A\u014B\x07g\x02\x02\u014B\u014C\x07v\x02\x02\u014C\u014D\x07" +
24013
+ "w\x02\x02\u014D\u014E\x07t\x02\x02\u014E\u014F\x07p\x02\x02\u014F0\x03" +
24014
+ "\x02\x02\x02\u0150\u0151\x07g\x02\x02\u0151\u0152\x07x\x02\x02\u0152\u0153" +
24015
+ "\x07g\x02\x02\u0153\u0154\x07t\x02\x02\u0154\u0155\x07{\x02\x02\u0155" +
24016
+ "2\x03\x02\x02\x02\u0156\u0157\x07n\x02\x02\u0157\u0158\x07k\x02\x02\u0158" +
24017
+ "\u0159\x07o\x02\x02\u0159\u015A\x07k\x02\x02\u015A\u015B\x07v\x02\x02" +
24018
+ "\u015B4\x03\x02\x02\x02\u015C\u015D\x07c\x02\x02\u015D\u015E\x07h\x02" +
24019
+ "\x02\u015E\u015F\x07v\x02\x02\u015F\u0160\x07g\x02\x02\u0160\u0161\x07" +
24020
+ "t\x02\x02\u01616\x03\x02\x02\x02\u0162\u0163\x07e\x02\x02\u0163\u0164" +
24021
+ "\x07c\x02\x02\u0164\u0165\x07p\x02\x02\u0165\u0166\x07e\x02\x02\u0166" +
24022
+ "\u0167\x07g\x02\x02\u0167\u0168\x07n\x02\x02\u01688\x03\x02\x02\x02\u0169" +
24023
+ "\u016A\x07h\x02\x02\u016A\u016B\x07q\x02\x02\u016B\u016C\x07t\x02\x02" +
24024
+ "\u016C:\x03\x02\x02\x02\u016D\u016E\x07g\x02\x02\u016E\u016F\x07x\x02" +
24025
+ "\x02\u016F\u0170\x07c\x02\x02\u0170\u0171\x07n\x02\x02\u0171\u0172\x07" +
24026
+ "w\x02\x02\u0172\u0173\x07c\x02\x02\u0173\u0174\x07v\x02\x02\u0174\u0175" +
24027
+ "\x07g\x02\x02\u0175<\x03\x02\x02\x02\u0176\u0177\x07e\x02\x02\u0177\u0178" +
24028
+ "\x07c\x02\x02\u0178\u0179\x07u\x02\x02\u0179\u017A\x07g\x02\x02\u017A" +
24029
+ ">\x03\x02\x02\x02\u017B\u017C\x07d\x02\x02\u017C\u017D\x07t\x02\x02\u017D" +
24030
+ "\u017E\x07g\x02\x02\u017E\u017F\x07c\x02\x02\u017F\u0180\x07m\x02\x02" +
24031
+ "\u0180@\x03\x02\x02\x02\u0181\u0182\x07e\x02\x02\u0182\u0183\x07q\x02" +
24032
+ "\x02\u0183\u0184\x07p\x02\x02\u0184\u0185\x07v\x02\x02\u0185\u0186\x07" +
24033
+ "k\x02\x02\u0186\u0187\x07p\x02\x02\u0187\u0188\x07w\x02\x02\u0188\u0189" +
24034
+ "\x07g\x02\x02\u0189B\x03\x02\x02\x02\u018A\u018B\x07h\x02\x02\u018B\u018C" +
24035
+ "\x07c\x02\x02\u018C\u018D\x07n\x02\x02\u018D\u018E\x07n\x02\x02\u018E" +
24036
+ "\u018F\x07d\x02\x02\u018F\u0190\x07c\x02\x02\u0190\u0191\x07e\x02\x02" +
24037
+ "\u0191\u0192\x07m\x02\x02\u0192D\x03\x02\x02\x02\u0193\u0194\x07e\x02" +
24038
+ "\x02\u0194\u0195\x07c\x02\x02\u0195\u0196\x07v\x02\x02\u0196\u0197\x07" +
24039
+ "e\x02\x02\u0197\u0198\x07j\x02\x02\u0198F\x03\x02\x02\x02\u0199\u019A" +
24040
+ "\x07c\x02\x02\u019A\u019B\x07u\x02\x02\u019BH\x03\x02\x02\x02\u019C\u019D" +
24041
+ "\x07e\x02\x02\u019D\u019E\x07q\x02\x02\u019E\u019F\x07p\x02\x02\u019F" +
24042
+ "\u01A0\x07u\x02\x02\u01A0\u01A1\x07v\x02\x02\u01A1J\x03\x02\x02\x02\u01A2" +
24043
+ "\u01A3\x07q\x02\x02\u01A3\u01A4\x07d\x02\x02\u01A4\u01A5\x07l\x02\x02" +
24044
+ "\u01A5\u01A6\x07g\x02\x02\u01A6\u01A7\x07e\x02\x02\u01A7\u01A8\x07v\x02" +
24045
+ "\x02\u01A8L\x03\x02\x02\x02\u01A9\u01AA\x07c\x02\x02\u01AA\u01AB\x07t" +
24046
+ "\x02\x02\u01AB\u01AC\x07t\x02\x02\u01AC\u01AD\x07c\x02\x02\u01AD\u01AE" +
24047
+ "\x07{\x02\x02\u01AEN\x03\x02\x02\x02\u01AF\u01B0\x07u\x02\x02\u01B0\u01B1" +
24050
24048
  "\x07v\x02\x02\u01B1\u01B2\x07t\x02\x02\u01B2\u01B3\x07k\x02\x02\u01B3" +
24051
24049
  "\u01B4\x07p\x02\x02\u01B4\u01B5\x07i\x02\x02\u01B5P\x03\x02\x02\x02\u01B6" +
24052
24050
  "\u01B7\x07k\x02\x02\u01B7\u01B8\x07p\x02\x02\u01B8\u01B9\x07v\x02\x02" +
@@ -24089,59 +24087,65 @@ BattleScriptLexer._serializedATNSegment0 = "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u
24089
24087
  "\x02\x02\x02\u0211\u0213\x03\x02\x02\x02\u0212\u01EA\x03\x02\x02\x02\u0212" +
24090
24088
  "\u0201\x03\x02\x02\x02\u0213d\x03\x02\x02\x02\u0214\u0215\x07v\x02\x02" +
24091
24089
  "\u0215\u0216\x07t\x02\x02\u0216\u0217\x07w\x02\x02\u0217\u021E\x07g\x02" +
24092
- "\x02\u0218\u0219\x07h\x02\x02\u0219\u021A\x07c\x02\x02\u021A\u021B\x07" +
24093
- "n\x02\x02\u021B\u021C\x07u\x02\x02\u021C\u021E\x07g\x02\x02\u021D\u0214" +
24094
- "\x03\x02\x02\x02\u021D\u0218\x03\x02\x02\x02\u021Ef";
24095
- BattleScriptLexer._serializedATNSegment1 = "\x03\x02\x02\x02\u021F\u0223\x07$\x02\x02\u0220\u0222\n\x05\x02\x02\u0221" +
24096
- "\u0220\x03\x02\x02\x02\u0222\u0225\x03\x02\x02\x02\u0223\u0221\x03\x02" +
24097
- "\x02\x02\u0223\u0224\x03\x02\x02\x02\u0224\u0226\x03\x02\x02\x02\u0225" +
24098
- "\u0223\x03\x02\x02\x02\u0226\u0227\x07$\x02\x02\u0227h\x03\x02\x02\x02" +
24099
- "\u0228\u022C\x07%\x02\x02\u0229\u022B\n\x06\x02\x02\u022A\u0229\x03\x02" +
24100
- "\x02\x02\u022B\u022E\x03\x02\x02\x02\u022C\u022A\x03\x02\x02\x02\u022C" +
24101
- "\u022D\x03\x02\x02\x02\u022Dj\x03\x02\x02\x02\u022E\u022C\x03\x02\x02" +
24102
- "\x02\u022F\u0233\t\x07\x02\x02\u0230\u0232\t\b\x02\x02\u0231\u0230\x03" +
24103
- "\x02\x02\x02\u0232\u0235\x03\x02\x02\x02\u0233\u0231\x03\x02\x02\x02\u0233" +
24104
- "\u0234\x03\x02\x02\x02\u0234\u0241\x03\x02\x02\x02\u0235\u0233\x03\x02" +
24105
- "\x02\x02\u0236\u0238\t\t\x02\x02\u0237\u0236\x03\x02\x02\x02\u0238\u0239" +
24106
- "\x03\x02\x02\x02\u0239\u0237\x03\x02\x02\x02\u0239\u023A\x03\x02\x02\x02" +
24107
- "\u023A\u023C\x03\x02\x02\x02\u023B\u023D\t\b\x02\x02\u023C\u023B\x03\x02" +
24108
- "\x02\x02\u023D\u023E\x03\x02\x02\x02\u023E\u023C\x03\x02\x02\x02\u023E" +
24109
- "\u023F\x03\x02\x02\x02\u023F\u0241\x03\x02\x02\x02\u0240\u022F\x03\x02" +
24110
- "\x02\x02\u0240\u0237\x03\x02\x02\x02\u0241l\x03\x02\x02\x02\u0242\u0243" +
24111
- "\x07?\x02\x02\u0243\u0244\x07@\x02\x02\u0244n\x03\x02\x02\x02\u0245\u0246" +
24112
- "\x07-\x02\x02\u0246\u0247\x07-\x02\x02\u0247p\x03\x02\x02\x02\u0248\u0249" +
24113
- "\x07/\x02\x02\u0249\u024A\x07/\x02\x02\u024Ar\x03\x02\x02\x02\u024B\u024C" +
24114
- "\x07-\x02\x02\u024Ct\x03\x02\x02\x02\u024D\u024E\x07/\x02\x02\u024Ev\x03" +
24115
- "\x02\x02\x02\u024F\u0250\x071\x02\x02\u0250x\x03\x02\x02\x02\u0251\u0252" +
24116
- "\x07,\x02\x02\u0252z\x03\x02\x02\x02\u0253\u0254\x07\'\x02\x02\u0254|" +
24117
- "\x03\x02\x02\x02\u0255\u0256\x07?\x02\x02\u0256~\x03\x02\x02\x02\u0257" +
24118
- "\u0258\x07-\x02\x02\u0258\u0259\x07?\x02\x02\u0259\x80\x03\x02\x02\x02" +
24119
- "\u025A\u025B\x07/\x02\x02\u025B\u025C\x07?\x02\x02\u025C\x82\x03\x02\x02" +
24120
- "\x02\u025D\u025E\x07(\x02\x02\u025E\u025F\x07(\x02\x02\u025F\x84\x03\x02" +
24121
- "\x02\x02\u0260\u0261\x07~\x02\x02\u0261\u0262\x07~\x02\x02\u0262\x86\x03" +
24122
- "\x02\x02\x02\u0263\u0264\x07#\x02\x02\u0264\x88\x03\x02\x02\x02\u0265" +
24123
- "\u0266\x07?\x02\x02\u0266\u0267\x07?\x02\x02\u0267\x8A\x03\x02\x02\x02" +
24124
- "\u0268\u0269\x07#\x02\x02\u0269\u026A\x07?\x02\x02\u026A\x8C\x03\x02\x02" +
24125
- "\x02\u026B\u026C\x07@\x02\x02\u026C\x8E\x03\x02\x02\x02\u026D\u026E\x07" +
24126
- ">\x02\x02\u026E\x90\x03\x02\x02\x02\u026F\u0270\x07@\x02\x02\u0270\u0271" +
24127
- "\x07?\x02\x02\u0271\x92\x03\x02\x02\x02\u0272\u0273\x07>\x02\x02\u0273" +
24128
- "\u0274\x07?\x02\x02\u0274\x94\x03\x02\x02\x02\u0275\u0276\x070\x02\x02" +
24129
- "\u0276\u0277\x070\x02\x02\u0277\u0278\x070\x02\x02\u0278\x96\x03\x02\x02" +
24130
- "\x02\u0279\u027A\x070\x02\x02\u027A\x98\x03\x02\x02\x02\u027B\u027C\x07" +
24131
- ".\x02\x02\u027C\x9A\x03\x02\x02\x02\u027D\u027E\x07a\x02\x02\u027E\x9C" +
24132
- "\x03\x02\x02\x02\u027F\u0280\x07*\x02\x02\u0280\x9E\x03\x02\x02\x02\u0281" +
24133
- "\u0282\x07+\x02\x02\u0282\xA0\x03\x02\x02\x02\u0283\u0284\x07}\x02\x02" +
24134
- "\u0284\xA2\x03\x02\x02\x02\u0285\u0286\x07\x7F\x02\x02\u0286\xA4\x03\x02" +
24135
- "\x02\x02\u0287\u0288\x07]\x02\x02\u0288\xA6\x03\x02\x02\x02\u0289\u028A" +
24136
- "\x07_\x02\x02\u028A\xA8\x03\x02\x02\x02\u028B\u028C\x07<\x02\x02\u028C" +
24137
- "\u028D\x07<\x02\x02\u028D\xAA\x03\x02\x02\x02\u028E\u028F\x07=\x02\x02" +
24138
- "\u028F\xAC\x03\x02\x02\x02\u0290\u0291\x07<\x02\x02\u0291\xAE\x03\x02" +
24139
- "\x02\x02\u0292\u0294\t\n\x02\x02\u0293\u0292\x03\x02\x02\x02\u0294\u0295" +
24140
- "\x03\x02\x02\x02\u0295\u0293\x03\x02\x02\x02\u0295\u0296\x03\x02\x02\x02" +
24141
- "\u0296\u0297\x03\x02\x02\x02\u0297\u0298\bX\x02\x02\u0298\xB0\x03\x02" +
24142
- "\x02\x02\x16\x02\u01EC\u01F2\u01F4\u01F8\u01FD\u01FF\u0205\u0209\u020E" +
24143
- "\u0210\u0212\u021D\u0223\u022C\u0233\u0239\u023E\u0240\u0295\x03\b\x02" +
24144
- "\x02";
24090
+ "\x02\u0218\u0219\x07h\x02\x02\u0219\u021A\x07c";
24091
+ BattleScriptLexer._serializedATNSegment1 = "\x02\x02\u021A\u021B\x07n\x02\x02\u021B\u021C\x07u\x02\x02\u021C\u021E" +
24092
+ "\x07g\x02\x02\u021D\u0214\x03\x02\x02\x02\u021D\u0218\x03\x02\x02\x02" +
24093
+ "\u021Ef\x03\x02\x02\x02\u021F\u0223\x07$\x02\x02\u0220\u0222\n\x05\x02" +
24094
+ "\x02\u0221\u0220\x03\x02\x02\x02\u0222\u0225\x03\x02\x02\x02\u0223\u0221" +
24095
+ "\x03\x02\x02\x02\u0223\u0224\x03\x02\x02\x02\u0224\u0226\x03\x02\x02\x02" +
24096
+ "\u0225\u0223\x03\x02\x02\x02\u0226\u0227\x07$\x02\x02\u0227h\x03\x02\x02" +
24097
+ "\x02\u0228\u0229\x071\x02\x02\u0229\u022A\x071\x02\x02\u022A\u022E\x03" +
24098
+ "\x02\x02\x02\u022B\u022D\n\x06\x02\x02\u022C\u022B\x03\x02\x02\x02\u022D" +
24099
+ "\u0230\x03\x02\x02\x02\u022E\u022C\x03\x02\x02\x02\u022E\u022F\x03\x02" +
24100
+ "\x02\x02\u022F\u023D\x03\x02\x02\x02\u0230\u022E\x03\x02\x02\x02\u0231" +
24101
+ "\u0232\x071\x02\x02\u0232\u0233\x07,\x02\x02\u0233\u0237\x03\x02\x02\x02" +
24102
+ "\u0234\u0236\v\x02\x02\x02\u0235\u0234\x03\x02\x02\x02\u0236\u0239\x03" +
24103
+ "\x02\x02\x02\u0237\u0238\x03\x02\x02\x02\u0237\u0235\x03\x02\x02\x02\u0238" +
24104
+ "\u023A\x03\x02\x02\x02\u0239\u0237\x03\x02\x02\x02\u023A\u023B\x07,\x02" +
24105
+ "\x02\u023B\u023D\x071\x02\x02\u023C\u0228\x03\x02\x02\x02\u023C\u0231" +
24106
+ "\x03\x02\x02\x02\u023Dj\x03\x02\x02\x02\u023E\u0242\t\x07\x02\x02\u023F" +
24107
+ "\u0241\t\b\x02\x02\u0240\u023F\x03\x02\x02\x02\u0241\u0244\x03\x02\x02" +
24108
+ "\x02\u0242\u0240\x03\x02\x02\x02\u0242\u0243\x03\x02\x02\x02\u0243\u0250" +
24109
+ "\x03\x02\x02\x02\u0244\u0242\x03\x02\x02\x02\u0245\u0247\t\t\x02\x02\u0246" +
24110
+ "\u0245\x03\x02\x02\x02\u0247\u0248\x03\x02\x02\x02\u0248\u0246\x03\x02" +
24111
+ "\x02\x02\u0248\u0249\x03\x02\x02\x02\u0249\u024B\x03\x02\x02\x02\u024A" +
24112
+ "\u024C\t\b\x02\x02\u024B\u024A\x03\x02\x02\x02\u024C\u024D\x03\x02\x02" +
24113
+ "\x02\u024D\u024B\x03\x02\x02\x02\u024D\u024E\x03\x02\x02\x02\u024E\u0250" +
24114
+ "\x03\x02\x02\x02\u024F\u023E\x03\x02\x02\x02\u024F\u0246\x03\x02\x02\x02" +
24115
+ "\u0250l\x03\x02\x02\x02\u0251\u0252\x07?\x02\x02\u0252\u0253\x07@\x02" +
24116
+ "\x02\u0253n\x03\x02\x02\x02\u0254\u0255\x07-\x02\x02\u0255\u0256\x07-" +
24117
+ "\x02\x02\u0256p\x03\x02\x02\x02\u0257\u0258\x07/\x02\x02\u0258\u0259\x07" +
24118
+ "/\x02\x02\u0259r\x03\x02\x02\x02\u025A\u025B\x07-\x02\x02\u025Bt\x03\x02" +
24119
+ "\x02\x02\u025C\u025D\x07/\x02\x02\u025Dv\x03\x02\x02\x02\u025E\u025F\x07" +
24120
+ "1\x02\x02\u025Fx\x03\x02\x02\x02\u0260\u0261\x07,\x02\x02\u0261z\x03\x02" +
24121
+ "\x02\x02\u0262\u0263\x07\'\x02\x02\u0263|\x03\x02\x02\x02\u0264\u0265" +
24122
+ "\x07?\x02\x02\u0265~\x03\x02\x02\x02\u0266\u0267\x07-\x02\x02\u0267\u0268" +
24123
+ "\x07?\x02\x02\u0268\x80\x03\x02\x02\x02\u0269\u026A\x07/\x02\x02\u026A" +
24124
+ "\u026B\x07?\x02\x02\u026B\x82\x03\x02\x02\x02\u026C\u026D\x07(\x02\x02" +
24125
+ "\u026D\u026E\x07(\x02\x02\u026E\x84\x03\x02\x02\x02\u026F\u0270\x07~\x02" +
24126
+ "\x02\u0270\u0271\x07~\x02\x02\u0271\x86\x03\x02\x02\x02\u0272\u0273\x07" +
24127
+ "#\x02\x02\u0273\x88\x03\x02\x02\x02\u0274\u0275\x07?\x02\x02\u0275\u0276" +
24128
+ "\x07?\x02\x02\u0276\x8A\x03\x02\x02\x02\u0277\u0278\x07#\x02\x02\u0278" +
24129
+ "\u0279\x07?\x02\x02\u0279\x8C\x03\x02\x02\x02\u027A\u027B\x07@\x02\x02" +
24130
+ "\u027B\x8E\x03\x02\x02\x02\u027C\u027D\x07>\x02\x02\u027D\x90\x03\x02" +
24131
+ "\x02\x02\u027E\u027F\x07@\x02\x02\u027F\u0280\x07?\x02\x02\u0280\x92\x03" +
24132
+ "\x02\x02\x02\u0281\u0282\x07>\x02\x02\u0282\u0283\x07?\x02\x02\u0283\x94" +
24133
+ "\x03\x02\x02\x02\u0284\u0285\x070\x02\x02\u0285\u0286\x070\x02\x02\u0286" +
24134
+ "\u0287\x070\x02\x02\u0287\x96\x03\x02\x02\x02\u0288\u0289\x070\x02\x02" +
24135
+ "\u0289\x98\x03\x02\x02\x02\u028A\u028B\x07.\x02\x02\u028B\x9A\x03\x02" +
24136
+ "\x02\x02\u028C\u028D\x07a\x02\x02\u028D\x9C\x03\x02\x02\x02\u028E\u028F" +
24137
+ "\x07*\x02\x02\u028F\x9E\x03\x02\x02\x02\u0290\u0291\x07+\x02\x02\u0291" +
24138
+ "\xA0\x03\x02\x02\x02\u0292\u0293\x07}\x02\x02\u0293\xA2\x03\x02\x02\x02" +
24139
+ "\u0294\u0295\x07\x7F\x02\x02\u0295\xA4\x03\x02\x02\x02\u0296\u0297\x07" +
24140
+ "]\x02\x02\u0297\xA6\x03\x02\x02\x02\u0298\u0299\x07_\x02\x02\u0299\xA8" +
24141
+ "\x03\x02\x02\x02\u029A\u029B\x07<\x02\x02\u029B\u029C\x07<\x02\x02\u029C" +
24142
+ "\xAA\x03\x02\x02\x02\u029D\u029E\x07=\x02\x02\u029E\xAC\x03\x02\x02\x02" +
24143
+ "\u029F\u02A0\x07<\x02\x02\u02A0\xAE\x03\x02\x02\x02\u02A1\u02A3\t\n\x02" +
24144
+ "\x02\u02A2\u02A1\x03\x02\x02\x02\u02A3\u02A4\x03\x02\x02\x02\u02A4\u02A2" +
24145
+ "\x03\x02\x02\x02\u02A4\u02A5\x03\x02\x02\x02\u02A5\u02A6\x03\x02\x02\x02" +
24146
+ "\u02A6\u02A7\bX\x02\x02\u02A7\xB0\x03\x02\x02\x02\x18\x02\u01EC\u01F2" +
24147
+ "\u01F4\u01F8\u01FD\u01FF\u0205\u0209\u020E\u0210\u0212\u021D\u0223\u022E" +
24148
+ "\u0237\u023C\u0242\u0248\u024D\u024F\u02A4\x03\b\x02\x02";
24145
24149
  BattleScriptLexer._serializedATN = UtilsExports.join([
24146
24150
  BattleScriptLexer._serializedATNSegment0,
24147
24151
  BattleScriptLexer._serializedATNSegment1,
@@ -24364,10 +24368,10 @@ class BattleScriptFromAST {
24364
24368
  return this.multiLine(this.inline(`${this.getTokenLiteralText(BattleScriptLexer.INTERFACE)} `, this.visit(node.name), node.extends ? ` ${this.getTokenLiteralText(BattleScriptLexer.EXTENDS)} ${this.visit(node.extends)}` : null, " {"), this.newLine(), this.indent(), this.visit(node.properties), this.dedent(), "}", this.newLine());
24365
24369
  }
24366
24370
  visitStateDeclaration(node, options) {
24367
- return this.multiLine(this.inline(`${this.getTokenLiteralText(BattleScriptLexer.STATE)} `, this.visit(node.condition)), this.visit(node.body), node.comment ? " # " + node.comment : null, this.newLine(), this.newLine());
24371
+ return this.multiLine(this.inline(`${this.getTokenLiteralText(BattleScriptLexer.STATE)} `, this.visit(node.condition)), this.visit(node.body), node.comment ? " // " + node.comment : null, this.newLine(), this.newLine());
24368
24372
  }
24369
24373
  visitEventDeclaration(node, options = {}) {
24370
- return this.multiLine(this.inline(`${this.getTokenLiteralText(BattleScriptLexer.EVENT)} `, this.visit(node.event), "(", this.visit(node.arguments), ") => "), this.visit(node.body), node.comment ? " # " + node.comment : null, this.newLine());
24374
+ return this.multiLine(this.inline(`${this.getTokenLiteralText(BattleScriptLexer.EVENT)} `, this.visit(node.event), "(", this.visit(node.arguments), ") => "), this.visit(node.body), node.comment ? " // " + node.comment : null, this.newLine());
24371
24375
  }
24372
24376
  visitBlockStatement(node, options = {}) {
24373
24377
  return this.raw("{", this.newLine(), this.indent(), this.visit(node.body), this.dedent(), this.inline("}"));
@@ -24446,13 +24450,13 @@ class BattleScriptFromAST {
24446
24450
  return this.raw(this.inline(`${this.getTokenLiteralText(BattleScriptLexer.FALLBACK)}`, " ", this.visit(node.body), this.newLine()));
24447
24451
  }
24448
24452
  visitConstantDeclaration(node, options = {}) {
24449
- return this.inline(this.getTokenLiteralText(BattleScriptLexer.CONST), " ", this.commaSeparatedList(node.declarations), ";", node.comment ? " # " + node.comment : null, this.newLine());
24453
+ return this.inline(this.getTokenLiteralText(BattleScriptLexer.CONST), " ", this.commaSeparatedList(node.declarations), ";", node.comment ? " // " + node.comment : null, this.newLine());
24450
24454
  }
24451
24455
  visitConstantDeclarator(node, options = {}) {
24452
24456
  return this.raw(this.visit(node.type), " ", this.visit(node.id), node.init ? " = " + this.visit(node.init) : null);
24453
24457
  }
24454
24458
  visitVariableDeclaration(node, options = {}) {
24455
- return this.inline(this.commaSeparatedList(node.declarations), ";", node.comment ? " # " + node.comment : null, this.newLine());
24459
+ return this.inline(this.commaSeparatedList(node.declarations), ";", node.comment ? " // " + node.comment : null, this.newLine());
24456
24460
  }
24457
24461
  visitVariableDeclarator(node, options = {}) {
24458
24462
  return this.raw(this.visit(node.type), " ", this.visit(node.id), node.init ? " = " + this.visit(node.init) : null);
@@ -24476,7 +24480,7 @@ class BattleScriptFromAST {
24476
24480
  return this.inline(node.text, this.newLine());
24477
24481
  }
24478
24482
  visitReturn(node, options) {
24479
- return this.inline(this.getTokenLiteralText(BattleScriptLexer.RETURN), node.argument !== null ? " " + this.visit(node.argument) : null, ";", node.comment ? " # " + node.comment : null, this.newLine());
24483
+ return this.inline(this.getTokenLiteralText(BattleScriptLexer.RETURN), node.argument !== null ? " " + this.visit(node.argument) : null, ";", node.comment ? " // " + node.comment : null, this.newLine());
24480
24484
  }
24481
24485
  visitLiteral(node, options) {
24482
24486
  return node.raw;
@@ -25807,7 +25811,7 @@ var body$3 = [
25807
25811
  kind: "FUNCTION_DECLARATION",
25808
25812
  returnType: {
25809
25813
  kind: "DATA_TYPE",
25810
- value: "int",
25814
+ value: "void",
25811
25815
  meta: {
25812
25816
  start: {
25813
25817
  line: 1,
@@ -25816,8 +25820,8 @@ var body$3 = [
25816
25820
  },
25817
25821
  stop: {
25818
25822
  line: 1,
25819
- column: 10,
25820
- offset: 9
25823
+ column: 11,
25824
+ offset: 10
25821
25825
  }
25822
25826
  }
25823
25827
  },
@@ -25827,13 +25831,13 @@ var body$3 = [
25827
25831
  meta: {
25828
25832
  start: {
25829
25833
  line: 1,
25830
- column: 11,
25831
- offset: 11
25834
+ column: 12,
25835
+ offset: 12
25832
25836
  },
25833
25837
  stop: {
25834
25838
  line: 1,
25835
- column: 28,
25836
- offset: 27
25839
+ column: 29,
25840
+ offset: 28
25837
25841
  }
25838
25842
  }
25839
25843
  },
@@ -25846,26 +25850,26 @@ var body$3 = [
25846
25850
  meta: {
25847
25851
  start: {
25848
25852
  line: 1,
25849
- column: 37,
25850
- offset: 37
25853
+ column: 38,
25854
+ offset: 38
25851
25855
  },
25852
25856
  stop: {
25853
25857
  line: 1,
25854
- column: 41,
25855
- offset: 40
25858
+ column: 42,
25859
+ offset: 41
25856
25860
  }
25857
25861
  }
25858
25862
  },
25859
25863
  meta: {
25860
25864
  start: {
25861
25865
  line: 1,
25862
- column: 34,
25863
- offset: 34
25866
+ column: 35,
25867
+ offset: 35
25864
25868
  },
25865
25869
  stop: {
25866
25870
  line: 1,
25867
- column: 41,
25868
- offset: 40
25871
+ column: 42,
25872
+ offset: 41
25869
25873
  }
25870
25874
  },
25871
25875
  type: {
@@ -25874,13 +25878,13 @@ var body$3 = [
25874
25878
  meta: {
25875
25879
  start: {
25876
25880
  line: 1,
25877
- column: 30,
25878
- offset: 30
25881
+ column: 31,
25882
+ offset: 31
25879
25883
  },
25880
25884
  stop: {
25881
25885
  line: 1,
25882
- column: 33,
25883
- offset: 32
25886
+ column: 34,
25887
+ offset: 33
25884
25888
  }
25885
25889
  }
25886
25890
  }
@@ -25896,8 +25900,8 @@ var body$3 = [
25896
25900
  },
25897
25901
  stop: {
25898
25902
  line: 1,
25899
- column: 43,
25900
- offset: 42
25903
+ column: 44,
25904
+ offset: 43
25901
25905
  }
25902
25906
  }
25903
25907
  },
@@ -25905,17 +25909,17 @@ var body$3 = [
25905
25909
  kind: "FUNCTION_DECLARATION",
25906
25910
  returnType: {
25907
25911
  kind: "DATA_TYPE",
25908
- value: "int",
25912
+ value: "void",
25909
25913
  meta: {
25910
25914
  start: {
25911
25915
  line: 2,
25912
25916
  column: 7,
25913
- offset: 51
25917
+ offset: 52
25914
25918
  },
25915
25919
  stop: {
25916
25920
  line: 2,
25917
- column: 10,
25918
- offset: 53
25921
+ column: 11,
25922
+ offset: 55
25919
25923
  }
25920
25924
  }
25921
25925
  },
@@ -25925,13 +25929,13 @@ var body$3 = [
25925
25929
  meta: {
25926
25930
  start: {
25927
25931
  line: 2,
25928
- column: 11,
25929
- offset: 55
25932
+ column: 12,
25933
+ offset: 57
25930
25934
  },
25931
25935
  stop: {
25932
25936
  line: 2,
25933
- column: 27,
25934
- offset: 70
25937
+ column: 28,
25938
+ offset: 72
25935
25939
  }
25936
25940
  }
25937
25941
  },
@@ -25942,13 +25946,13 @@ var body$3 = [
25942
25946
  meta: {
25943
25947
  start: {
25944
25948
  line: 2,
25945
- column: 36,
25946
- offset: 80
25949
+ column: 37,
25950
+ offset: 82
25947
25951
  },
25948
25952
  stop: {
25949
25953
  line: 2,
25950
- column: 46,
25951
- offset: 89
25954
+ column: 47,
25955
+ offset: 91
25952
25956
  }
25953
25957
  },
25954
25958
  type: {
@@ -25957,13 +25961,13 @@ var body$3 = [
25957
25961
  meta: {
25958
25962
  start: {
25959
25963
  line: 2,
25960
- column: 29,
25961
- offset: 73
25964
+ column: 30,
25965
+ offset: 75
25962
25966
  },
25963
25967
  stop: {
25964
25968
  line: 2,
25965
- column: 35,
25966
- offset: 78
25969
+ column: 36,
25970
+ offset: 80
25967
25971
  }
25968
25972
  }
25969
25973
  }
@@ -25975,12 +25979,12 @@ var body$3 = [
25975
25979
  start: {
25976
25980
  line: 2,
25977
25981
  column: 0,
25978
- offset: 44
25982
+ offset: 45
25979
25983
  },
25980
25984
  stop: {
25981
25985
  line: 2,
25982
- column: 48,
25983
- offset: 91
25986
+ column: 49,
25987
+ offset: 93
25984
25988
  }
25985
25989
  }
25986
25990
  },
@@ -25988,17 +25992,17 @@ var body$3 = [
25988
25992
  kind: "FUNCTION_DECLARATION",
25989
25993
  returnType: {
25990
25994
  kind: "DATA_TYPE",
25991
- value: "int",
25995
+ value: "void",
25992
25996
  meta: {
25993
25997
  start: {
25994
25998
  line: 3,
25995
25999
  column: 7,
25996
- offset: 100
26000
+ offset: 102
25997
26001
  },
25998
26002
  stop: {
25999
26003
  line: 3,
26000
- column: 10,
26001
- offset: 102
26004
+ column: 11,
26005
+ offset: 105
26002
26006
  }
26003
26007
  }
26004
26008
  },
@@ -26008,13 +26012,13 @@ var body$3 = [
26008
26012
  meta: {
26009
26013
  start: {
26010
26014
  line: 3,
26011
- column: 11,
26012
- offset: 104
26015
+ column: 12,
26016
+ offset: 107
26013
26017
  },
26014
26018
  stop: {
26015
26019
  line: 3,
26016
- column: 25,
26017
- offset: 117
26020
+ column: 26,
26021
+ offset: 120
26018
26022
  }
26019
26023
  }
26020
26024
  },
@@ -26026,12 +26030,12 @@ var body$3 = [
26026
26030
  start: {
26027
26031
  line: 3,
26028
26032
  column: 0,
26029
- offset: 93
26033
+ offset: 95
26030
26034
  },
26031
26035
  stop: {
26032
26036
  line: 3,
26033
- column: 29,
26034
- offset: 121
26037
+ column: 30,
26038
+ offset: 124
26035
26039
  }
26036
26040
  }
26037
26041
  },
@@ -26039,17 +26043,17 @@ var body$3 = [
26039
26043
  kind: "FUNCTION_DECLARATION",
26040
26044
  returnType: {
26041
26045
  kind: "DATA_TYPE",
26042
- value: "int",
26046
+ value: "void",
26043
26047
  meta: {
26044
26048
  start: {
26045
26049
  line: 4,
26046
26050
  column: 7,
26047
- offset: 130
26051
+ offset: 133
26048
26052
  },
26049
26053
  stop: {
26050
26054
  line: 4,
26051
- column: 10,
26052
- offset: 132
26055
+ column: 11,
26056
+ offset: 136
26053
26057
  }
26054
26058
  }
26055
26059
  },
@@ -26059,13 +26063,13 @@ var body$3 = [
26059
26063
  meta: {
26060
26064
  start: {
26061
26065
  line: 4,
26062
- column: 11,
26063
- offset: 134
26066
+ column: 12,
26067
+ offset: 138
26064
26068
  },
26065
26069
  stop: {
26066
26070
  line: 4,
26067
- column: 28,
26068
- offset: 150
26071
+ column: 29,
26072
+ offset: 154
26069
26073
  }
26070
26074
  }
26071
26075
  },
@@ -26076,13 +26080,13 @@ var body$3 = [
26076
26080
  meta: {
26077
26081
  start: {
26078
26082
  line: 4,
26079
- column: 34,
26080
- offset: 157
26083
+ column: 35,
26084
+ offset: 161
26081
26085
  },
26082
26086
  stop: {
26083
26087
  line: 4,
26084
- column: 42,
26085
- offset: 164
26088
+ column: 43,
26089
+ offset: 168
26086
26090
  }
26087
26091
  },
26088
26092
  type: {
@@ -26091,13 +26095,13 @@ var body$3 = [
26091
26095
  meta: {
26092
26096
  start: {
26093
26097
  line: 4,
26094
- column: 30,
26095
- offset: 153
26098
+ column: 31,
26099
+ offset: 157
26096
26100
  },
26097
26101
  stop: {
26098
26102
  line: 4,
26099
- column: 33,
26100
- offset: 155
26103
+ column: 34,
26104
+ offset: 159
26101
26105
  }
26102
26106
  }
26103
26107
  }
@@ -26108,13 +26112,13 @@ var body$3 = [
26108
26112
  meta: {
26109
26113
  start: {
26110
26114
  line: 4,
26111
- column: 48,
26112
- offset: 171
26115
+ column: 49,
26116
+ offset: 175
26113
26117
  },
26114
26118
  stop: {
26115
26119
  line: 4,
26116
- column: 54,
26117
- offset: 176
26120
+ column: 55,
26121
+ offset: 180
26118
26122
  }
26119
26123
  },
26120
26124
  type: {
@@ -26123,13 +26127,13 @@ var body$3 = [
26123
26127
  meta: {
26124
26128
  start: {
26125
26129
  line: 4,
26126
- column: 44,
26127
- offset: 167
26130
+ column: 45,
26131
+ offset: 171
26128
26132
  },
26129
26133
  stop: {
26130
26134
  line: 4,
26131
- column: 47,
26132
- offset: 169
26135
+ column: 48,
26136
+ offset: 173
26133
26137
  }
26134
26138
  }
26135
26139
  }
@@ -26140,13 +26144,13 @@ var body$3 = [
26140
26144
  meta: {
26141
26145
  start: {
26142
26146
  line: 4,
26143
- column: 63,
26144
- offset: 186
26147
+ column: 64,
26148
+ offset: 190
26145
26149
  },
26146
26150
  stop: {
26147
26151
  line: 4,
26148
- column: 75,
26149
- offset: 197
26152
+ column: 76,
26153
+ offset: 201
26150
26154
  }
26151
26155
  },
26152
26156
  type: {
@@ -26155,13 +26159,13 @@ var body$3 = [
26155
26159
  meta: {
26156
26160
  start: {
26157
26161
  line: 4,
26158
- column: 56,
26159
- offset: 179
26162
+ column: 57,
26163
+ offset: 183
26160
26164
  },
26161
26165
  stop: {
26162
26166
  line: 4,
26163
- column: 62,
26164
- offset: 184
26167
+ column: 63,
26168
+ offset: 188
26165
26169
  }
26166
26170
  }
26167
26171
  }
@@ -26173,28 +26177,95 @@ var body$3 = [
26173
26177
  start: {
26174
26178
  line: 4,
26175
26179
  column: 0,
26176
- offset: 123
26180
+ offset: 126
26177
26181
  },
26178
26182
  stop: {
26179
26183
  line: 4,
26180
- column: 77,
26181
- offset: 199
26184
+ column: 78,
26185
+ offset: 203
26182
26186
  }
26183
26187
  }
26184
26188
  },
26185
26189
  {
26186
- kind: "COMMENT",
26187
- text: "# TODO: These should probably all return void?",
26190
+ kind: "FUNCTION_DECLARATION",
26191
+ returnType: {
26192
+ kind: "DATA_TYPE",
26193
+ value: "bool",
26194
+ meta: {
26195
+ start: {
26196
+ line: 5,
26197
+ column: 7,
26198
+ offset: 212
26199
+ },
26200
+ stop: {
26201
+ line: 5,
26202
+ column: 11,
26203
+ offset: 215
26204
+ }
26205
+ }
26206
+ },
26207
+ id: {
26208
+ kind: "IDENTIFIER",
26209
+ value: "std::debug.setSerialLogEnabled",
26210
+ meta: {
26211
+ start: {
26212
+ line: 5,
26213
+ column: 12,
26214
+ offset: 217
26215
+ },
26216
+ stop: {
26217
+ line: 5,
26218
+ column: 42,
26219
+ offset: 246
26220
+ }
26221
+ }
26222
+ },
26223
+ params: [
26224
+ {
26225
+ kind: "IDENTIFIER",
26226
+ value: "newVal",
26227
+ meta: {
26228
+ start: {
26229
+ line: 5,
26230
+ column: 49,
26231
+ offset: 254
26232
+ },
26233
+ stop: {
26234
+ line: 5,
26235
+ column: 55,
26236
+ offset: 259
26237
+ }
26238
+ },
26239
+ type: {
26240
+ kind: "DATA_TYPE",
26241
+ value: "bool",
26242
+ meta: {
26243
+ start: {
26244
+ line: 5,
26245
+ column: 44,
26246
+ offset: 249
26247
+ },
26248
+ stop: {
26249
+ line: 5,
26250
+ column: 48,
26251
+ offset: 252
26252
+ }
26253
+ }
26254
+ }
26255
+ }
26256
+ ],
26257
+ isNative: true,
26258
+ isPure: false,
26188
26259
  meta: {
26189
26260
  start: {
26190
26261
  line: 5,
26191
26262
  column: 0,
26192
- offset: 201
26263
+ offset: 205
26193
26264
  },
26194
26265
  stop: {
26195
26266
  line: 5,
26196
- column: 46,
26197
- offset: 246
26267
+ column: 57,
26268
+ offset: 261
26198
26269
  }
26199
26270
  }
26200
26271
  }
@@ -27863,24 +27934,9 @@ function getAllNativeLibraryFunctions(rootNode) {
27863
27934
  ];
27864
27935
  }
27865
27936
 
27866
- var version = "3.1.4";
27937
+ var version = "3.1.6";
27867
27938
  var binaryVersion = 7;
27868
27939
 
27869
- function toAstSync(inputPath, outputPath) {
27870
- try {
27871
- const sourceCode = readFileSync(inputPath, "utf-8");
27872
- const ast = fromSourceCodeToFullAst(sourceCode, { filePath: inputPath, includeMetaData: true });
27873
- if (outputPath) ;
27874
- else {
27875
- return ast;
27876
- }
27877
- }
27878
- catch (error) {
27879
- console.error(`[BattleScript ${version}] Error:`, error.stack);
27880
- process.exit(1);
27881
- }
27882
- }
27883
-
27884
27940
  const RootNodeLayout = [{
27885
27941
  key: "kind",
27886
27942
  shape: [EnumNodeLayoutEntry.LAYOUT_POINTER_KIND],
@@ -27916,8 +27972,14 @@ const rootToAstNode = (instance, ctx) => {
27916
27972
  }
27917
27973
  // Non-native import (source is a local file)
27918
27974
  // Check we can locate the file
27975
+ console.log(`[BattleScript ${version}] Processing import compilation unit: `, importNode.source.value);
27919
27976
  const filePath = join(dirname(instance._filePath), importNode.source.value);
27920
- const importedAst = toAstSync(filePath);
27977
+ const importedSourceCode = instance.resolveSourceCode(filePath);
27978
+ const importedAst = fromSourceCodeToFullAst(importedSourceCode, {
27979
+ filePath,
27980
+ includeMetaData: true,
27981
+ sourceResolver: instance._sourceResolver
27982
+ });
27921
27983
  return importedAst.body;
27922
27984
  }).concat(standardLibraryDeclarations).filter((astNode) => {
27923
27985
  // TODO: We should move this to just before we complete the AST generation
@@ -28194,7 +28256,7 @@ function getMetaData(ctx, extra) {
28194
28256
  };
28195
28257
  }
28196
28258
  class BattleScriptToAST extends AbstractParseTreeVisitorExports.AbstractParseTreeVisitor {
28197
- constructor(filePath, sourceCode) {
28259
+ constructor(filePath, sourceCode, sourceResolver) {
28198
28260
  super();
28199
28261
  this._options = {
28200
28262
  includeMetaData: true
@@ -28212,6 +28274,16 @@ class BattleScriptToAST extends AbstractParseTreeVisitorExports.AbstractParseTre
28212
28274
  return;
28213
28275
  this._sourceCode = newSourceCode;
28214
28276
  };
28277
+ this.resolveSourceCode = (filePath) => {
28278
+ if (this._sourceResolver) {
28279
+ const resolved = this._sourceResolver(filePath);
28280
+ if (resolved !== undefined) {
28281
+ return resolved;
28282
+ }
28283
+ throw new Error(`Source resolver could not resolve source code for file: ${filePath}`);
28284
+ }
28285
+ throw new Error(`Could not resolve source code for file: ${filePath}. No source resolver provided.`);
28286
+ };
28215
28287
  this.extractInlineComment = (ctx) => {
28216
28288
  if (!ctx)
28217
28289
  return;
@@ -28221,7 +28293,7 @@ class BattleScriptToAST extends AbstractParseTreeVisitorExports.AbstractParseTre
28221
28293
  const inlineComment = this.optional(lineEnd, "inlineComment");
28222
28294
  if (!inlineComment)
28223
28295
  return;
28224
- return inlineComment ? inlineComment.text.replace(/^#\s*/, "") : undefined;
28296
+ return inlineComment ? inlineComment.text.replace(/^\/\/\s*/, "") : undefined;
28225
28297
  };
28226
28298
  this.optional = (ctx, key) => {
28227
28299
  return ctx[key] ? ctx[key]() : null;
@@ -28441,6 +28513,7 @@ class BattleScriptToAST extends AbstractParseTreeVisitorExports.AbstractParseTre
28441
28513
  };
28442
28514
  this._filePath = filePath;
28443
28515
  this._sourceCode = sourceCode;
28516
+ this._sourceResolver = sourceResolver;
28444
28517
  }
28445
28518
  visit(node, options) {
28446
28519
  if (options) {
@@ -38999,19 +39072,23 @@ function getParser(inputText) {
38999
39072
  }
39000
39073
  // Function to Parse and Convert BattleScript to JSON
39001
39074
  function fromSourceCodeToFullAst(inputText, options) {
39075
+ console.log(`[BattleScript ${version}] Parsing source code...`);
39002
39076
  const parser = getParser(inputText);
39003
39077
  const tree = parser.root();
39004
- const transformer = new BattleScriptToAST(options?.filePath || "-", inputText);
39078
+ console.log(`[BattleScript ${version}] Transforming source code -> AST...`);
39079
+ const transformer = new BattleScriptToAST(options?.filePath || "-", inputText, options?.sourceResolver);
39005
39080
  transformer.filePath(options?.filePath);
39006
39081
  transformer.sourceCode(inputText);
39007
39082
  return transformer.visit(tree, options);
39008
39083
  }
39009
39084
  function fromFullAstToSourceCode(ast, options = { includeMetaData: true }) {
39085
+ console.log(`[BattleScript ${version}] Transforming AST -> Source code...`);
39010
39086
  const transformer = new BattleScriptFromAST(options.filePath || "-", JSON.stringify(ast, null, 4));
39011
39087
  return transformer.visit(ast);
39012
39088
  }
39013
39089
  function fromSourceCodeToMiniAst(source, options = { includeMetaData: true }) {
39014
39090
  const ast = fromSourceCodeToFullAst(source, options);
39091
+ console.log(`[BattleScript ${version}] Transforming AST -> MiniAST...`);
39015
39092
  const transformer = new BattleScriptToMiniAST(options?.filePath || "-", source);
39016
39093
  transformer.filePath(options?.filePath);
39017
39094
  transformer.sourceCode(source); // Add for debugging purposes
@@ -39025,13 +39102,14 @@ function fromBinaryToMiniAst(data, options = { includeMetaData: true }) {
39025
39102
  }
39026
39103
  function fromSourceCodeToBinary(source, options = { includeMetaData: true }) {
39027
39104
  const miniAstJson = fromSourceCodeToMiniAst(source, options);
39105
+ console.log(`[BattleScript ${version}] Transforming MiniAST -> Binary...`);
39028
39106
  return fromMiniAstToBinary(miniAstJson, options);
39029
39107
  }
39030
39108
  function fromSourceCodeToByteCode(source, options = { includeMetaData: true }) {
39031
39109
  if (typeof source === "string") {
39032
39110
  const parser = getParser(source);
39033
39111
  const tree = parser.root();
39034
- const transformer = new BattleScriptToAST(options?.filePath || "-", source);
39112
+ const transformer = new BattleScriptToAST(options?.filePath || "-", source, options?.sourceResolver);
39035
39113
  transformer.sourceCode(source);
39036
39114
  transformer.visit(tree, options);
39037
39115
  }