rip-lang 3.17.4 → 3.17.5

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.
@@ -1,4 +1,4 @@
1
- (()=>{var{defineProperty:ki,getOwnPropertyNames:Uu,getOwnPropertyDescriptor:qu}=Object,Su=Object.prototype.hasOwnProperty;function Eu(n){return this[n]}var du=(n)=>{var f=(Gl??=new WeakMap).get(n),e;if(f)return f;if(f=ki({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function"){for(var t of Uu(n))if(!Su.call(f,t))ki(f,t,{get:Eu.bind(n,t),enumerable:!(e=qu(n,t))||e.enumerable})}return Gl.set(n,f),f},Gl;var Fu=(n)=>n;function zu(n,f){this[n]=Fu.bind(null,f)}var Nl=(n,f)=>{for(var e in f)ki(n,e,{get:f[e],enumerable:!0,configurable:!0,set:zu.bind(f,e)})};var $t={};Nl($t,{rip:()=>Gf,processRipScripts:()=>Zf,parser:()=>Nn,importRip:()=>ri,getStdlibCode:()=>oi,getReactiveRuntime:()=>di,getComponentRuntime:()=>Fi,formatSExpr:()=>gn,formatErrorHTML:()=>el,formatError:()=>ei,compileToJS:()=>Tn,compile:()=>Bi,VERSION:()=>Qf,RipError:()=>Hn,Lexer:()=>vn,Compiler:()=>Ei,CodeEmitter:()=>Fn,BUILD_DATE:()=>Wf});var bl=`
1
+ (()=>{var{defineProperty:$i,getOwnPropertyNames:ql,getOwnPropertyDescriptor:El}=Object,Sl=Object.prototype.hasOwnProperty;function Fl(n){return this[n]}var zl=(n)=>{var f=(Gu??=new WeakMap).get(n),e;if(f)return f;if(f=$i({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function"){for(var a of ql(n))if(!Sl.call(f,a))$i(f,a,{get:Fl.bind(n,a),enumerable:!(e=El(n,a))||e.enumerable})}return Gu.set(n,f),f},Gu;var Hl=(n)=>n;function Kl(n,f){this[n]=Hl.bind(null,f)}var Xu=(n,f)=>{for(var e in f)$i(n,e,{get:f[e],enumerable:!0,configurable:!0,set:Kl.bind(f,e)})};var lt={};Xu(lt,{rip:()=>Gf,processRipScripts:()=>Zf,parser:()=>bn,importRip:()=>ri,getStdlibCode:()=>oi,getReactiveRuntime:()=>Fi,getComponentRuntime:()=>zi,formatSExpr:()=>gn,formatErrorHTML:()=>lu,formatError:()=>ei,compileToJS:()=>jn,compile:()=>Bi,VERSION:()=>Wf,RipError:()=>Kn,Lexer:()=>Tn,Compiler:()=>Si,CodeEmitter:()=>zn,BUILD_DATE:()=>Jf});var bu=`
2
2
  // ---- Rip Schema Runtime ----------------------------------------------------
3
3
  // Four layers, lazy compilation:
4
4
  // 1 (descriptor) object passed to __schema({...}). Raw metadata.
@@ -28,7 +28,7 @@ var { __schema, SchemaError, __SchemaRegistry, __schemaSetAdapter } = (function(
28
28
  return globalThis.__ripSchema;
29
29
  }
30
30
 
31
- `,Xl=`
31
+ `,Nu=`
32
32
  // __schemaSetAdapter / __schemaTransaction are server/migration-only.
33
33
  // In validate mode they don't exist (browser mode stubs transaction);
34
34
  // export undefined / throwing slots so destructure works everywhere.
@@ -80,7 +80,7 @@ var { __schema, SchemaError, __SchemaRegistry, __schemaSetAdapter } = (function(
80
80
  })();
81
81
 
82
82
  // === End Schema Runtime ===
83
- `,nl=`class SchemaError extends Error {
83
+ `,ki=`class SchemaError extends Error {
84
84
  constructor(issues, schemaName, schemaKind) {
85
85
  super(__schemaFormatIssues(issues, schemaName));
86
86
  this.name = 'SchemaError';
@@ -1816,7 +1816,7 @@ function __schema(descriptor) {
1816
1816
  if (def.name) __SchemaRegistry.register(def);
1817
1817
  return def;
1818
1818
  }
1819
- `;var Pl=`// Browser stubs — throwing replacements for every ORM / DDL helper that
1819
+ `;var Ou=`// Browser stubs — throwing replacements for every ORM / DDL helper that
1820
1820
  // the validate fragment references but doesn't implement. Loaded ONLY
1821
1821
  // in browser mode.
1822
1822
  //
@@ -1863,37 +1863,38 @@ function __schemaInvokeScope() { throw new Error("schema query scopes are no
1863
1863
  function __schemaTableName(m) { return null; } // returned only for :model normalize; never used downstream in browser
1864
1864
  function __schemaPluralize(w) { return w; } // identity — relations work for type-resolution but never query
1865
1865
  function __schemaFkName(m) { return ''; } // ditto
1866
- `;var z=!1,Ol=(n)=>{z=n},H=(n,f)=>{if(f&&Array.isArray(n))Object.defineProperty(n,"subLocs",{value:f,enumerable:!1,configurable:!0,writable:!0});return n},Dn=(n)=>n&&n.subLocs?n.subLocs:Array.isArray(n)?n.map(()=>null):[],Hu={symbolIds:{$accept:0,$end:1,error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,ExpressionLine:8,Statement:9,Return:10,STATEMENT:11,Import:12,Export:13,Value:14,Code:15,Operation:16,Assign:17,ReactiveAssign:18,ComputedAssign:19,ReadonlyAssign:20,Effect:21,Gate:22,If:23,Try:24,While:25,For:26,Switch:27,Class:28,Component:29,Render:30,Throw:31,Yield:32,Def:33,Enum:34,Schema:35,CodeLine:36,OperationLine:37,Assignable:38,Literal:39,Parenthetical:40,Range:41,Invocation:42,DoIife:43,This:44,Super:45,MetaProperty:46,MapLiteral:47,Atom:48,JS:49,Regex:50,UNDEFINED:51,NULL:52,BOOL:53,INFINITY:54,NAN:55,SYMBOL:56,NUMBER:57,String:58,Identifier:59,IDENTIFIER:60,Property:61,PROPERTY:62,STRING:63,STRING_START:64,Interpolations:65,STRING_END:66,InterpolationChunk:67,INTERPOLATION_START:68,INTERPOLATION_END:69,INDENT:70,OUTDENT:71,REGEX:72,REGEX_START:73,REGEX_END:74,RegexWithIndex:75,",":76,"=":77,REACTIVE_ASSIGN:78,COMPUTED_ASSIGN:79,Block:80,READONLY_ASSIGN:81,GATE:82,EFFECT:83,SimpleAssignable:84,Array:85,Object:86,Subjectable:87,ThisProperty:88,".":89,"?.":90,INDEX_START:91,INDEX_END:92,Slice:93,PICK_START:94,PickList:95,OptComma:96,PICK_END:97,OPTPICK_START:98,ES6_OPTIONAL_INDEX:99,"{":100,ObjAssignable:101,":":102,FOR:103,ForVariables:104,FOROF:105,"}":106,WHEN:107,OWN:108,AssignList:109,AssignObj:110,ObjRestValue:111,SimpleObjAssignable:112,"[":113,"]":114,"@":115,"...":116,ObjSpreadExpr:117,SUPER:118,Arguments:119,DYNAMIC_IMPORT:120,MAP_START:121,MapAssignList:122,MAP_END:123,MapAssignObj:124,MapAssignable:125,PickItem:126,PickKey:127,Elisions:128,ArgElisionList:129,OptElisions:130,ArgElision:131,Arg:132,Elision:133,RangeDots:134,"..":135,DEF:136,CALL_START:137,ParamList:138,CALL_END:139,PARAM_START:140,PARAM_END:141,ArrowKind:142,"->":143,"=>":144,Param:145,ParamVar:146,Splat:147,ES6_OPTIONAL_CALL:148,ArgList:149,SimpleArgs:150,THIS:151,NEW_TARGET:152,IMPORT_META:153,"(":154,")":155,RETURN:156,THROW:157,YIELD:158,FROM:159,IfBlock:160,IF:161,IfElseTail:162,ELSE:163,UnlessBlock:164,UNLESS:165,POST_IF:166,POST_UNLESS:167,TRY:168,Catch:169,FINALLY:170,CATCH:171,SWITCH:172,Cases:173,When:174,LEADING_WHEN:175,WhileSource:176,WHILE:177,UNTIL:178,Loop:179,LOOP:180,FORIN:181,BY:182,FORAS:183,AWAIT:184,FORASAWAIT:185,ForValue:186,ClassName:187,CLASS:188,EXTENDS:189,ENUM:190,SCHEMA:191,SCHEMA_BODY:192,COMPONENT:193,ComponentBody:194,ComponentLine:195,OFFER:196,ACCEPT:197,RENDER:198,IMPORT:199,ImportDefaultSpecifier:200,ImportNamespaceSpecifier:201,ImportSpecifierList:202,ImportSpecifier:203,AS:204,DEFAULT:205,IMPORT_ALL:206,EXPORT:207,ExportSpecifierList:208,EXPORT_ALL:209,ExportSpecifier:210,UNARY:211,DO:212,DO_IIFE:213,UNARY_MATH:214,"-":215,"+":216,"?":217,PRESENCE:218,"--":219,"++":220,MATH:221,"**":222,SHIFT:223,COMPARE:224,"&":225,"^":226,"|":227,"||":228,"??":229,"&&":230,RELATION:231,TERNARY:232,COMPOUND_ASSIGN:233},tokenNames:{2:"error",6:"TERMINATOR",11:"STATEMENT",49:"JS",51:"UNDEFINED",52:"NULL",53:"BOOL",54:"INFINITY",55:"NAN",56:"SYMBOL",57:"NUMBER",60:"IDENTIFIER",62:"PROPERTY",63:"STRING",64:"STRING_START",66:"STRING_END",68:"INTERPOLATION_START",69:"INTERPOLATION_END",70:"INDENT",71:"OUTDENT",72:"REGEX",73:"REGEX_START",74:"REGEX_END",76:",",77:"=",78:"REACTIVE_ASSIGN",79:"COMPUTED_ASSIGN",81:"READONLY_ASSIGN",82:"GATE",83:"EFFECT",89:".",90:"?.",91:"INDEX_START",92:"INDEX_END",94:"PICK_START",97:"PICK_END",98:"OPTPICK_START",99:"ES6_OPTIONAL_INDEX",100:"{",102:":",103:"FOR",105:"FOROF",106:"}",107:"WHEN",108:"OWN",113:"[",114:"]",115:"@",116:"...",118:"SUPER",120:"DYNAMIC_IMPORT",121:"MAP_START",123:"MAP_END",135:"..",136:"DEF",137:"CALL_START",139:"CALL_END",140:"PARAM_START",141:"PARAM_END",143:"->",144:"=>",148:"ES6_OPTIONAL_CALL",151:"THIS",152:"NEW_TARGET",153:"IMPORT_META",154:"(",155:")",156:"RETURN",157:"THROW",158:"YIELD",159:"FROM",161:"IF",163:"ELSE",165:"UNLESS",166:"POST_IF",167:"POST_UNLESS",168:"TRY",170:"FINALLY",171:"CATCH",172:"SWITCH",175:"LEADING_WHEN",177:"WHILE",178:"UNTIL",180:"LOOP",181:"FORIN",182:"BY",183:"FORAS",184:"AWAIT",185:"FORASAWAIT",188:"CLASS",189:"EXTENDS",190:"ENUM",191:"SCHEMA",192:"SCHEMA_BODY",193:"COMPONENT",196:"OFFER",197:"ACCEPT",198:"RENDER",199:"IMPORT",204:"AS",205:"DEFAULT",206:"IMPORT_ALL",207:"EXPORT",209:"EXPORT_ALL",211:"UNARY",212:"DO",213:"DO_IIFE",214:"UNARY_MATH",215:"-",216:"+",217:"?",218:"PRESENCE",219:"--",220:"++",221:"MATH",222:"**",223:"SHIFT",224:"COMPARE",225:"&",226:"^",227:"|",228:"||",229:"??",230:"&&",231:"RELATION",232:"TERNARY",233:"COMPOUND_ASSIGN"},parseTable:(()=>{let n=[114,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-1,1,2,3,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,1,1,0,2,1,5,-2,114,5,1,5,63,2,84,-3,-3,-3,-3,-3,29,1,5,63,1,1,5,27,11,25,16,11,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,-6,132,-6,-6,-6,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,9,1,5,63,1,1,5,38,25,16,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,63,1,1,5,38,25,16,11,1,9,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,133,134,135,103,104,57,1,5,52,5,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,3,4,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-13,-13,138,112,113,-13,-13,-13,-13,-94,-94,-94,-13,-94,-13,-94,-94,-13,-13,-13,-13,-13,-13,-13,139,-13,-13,141,-13,-13,140,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,136,137,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,49,1,5,63,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,-95,-95,-95,-14,-95,-14,-95,-95,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,9,1,5,63,1,1,5,38,25,16,-35,-35,-35,-35,-35,-35,-35,-35,-35,9,1,5,63,1,1,5,38,25,16,-36,-36,-36,-36,-36,-36,-36,-36,-36,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-37,-37,-37,-37,-37,-37,-37,-37,142,143,144,145,147,146,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,18,6,53,1,10,1,5,9,1,2,12,13,2,1,22,1,2,4,1,-217,152,111,-217,-217,-217,154,155,153,106,157,156,151,148,-217,-217,149,150,113,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,3,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,159,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,160,109,110,158,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,110,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,161,162,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,110,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,164,165,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,166,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,172,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,173,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,174,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,175,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,49,14,1,23,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,11,1,1,1,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,59,177,178,179,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,176,76,77,100,99,106,88,92,89,90,95,167,168,96,97,91,93,94,87,171,49,14,1,23,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,11,1,1,1,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,59,177,178,179,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,180,76,77,100,99,106,88,92,89,90,95,167,168,96,97,91,93,94,87,171,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,181,182,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,183,110,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,3,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,185,184,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,160,109,110,186,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,2,70,10,160,187,2,70,10,160,188,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,14,41,18,1,25,1,2,12,4,4,5,2,31,38,2,192,152,111,154,155,153,106,189,190,88,156,194,191,193,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,195,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,196,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,50,1,5,53,1,9,1,1,5,4,8,4,5,5,1,2,1,1,7,1,1,7,12,4,2,14,8,3,1,10,1,3,1,1,2,2,2,26,1,5,1,1,1,1,1,1,1,1,1,1,1,-354,-354,200,111,-354,160,-354,-354,197,201,-354,-354,-354,-354,-354,-354,-354,-354,156,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,199,198,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,2,70,119,202,203,109,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,3,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,205,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,160,109,110,204,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,206,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,207,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,146,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,7,1,1,1,1,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,2,12,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-268,-268,208,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-268,209,-268,109,110,-268,56,55,76,77,100,99,-268,-268,106,-268,-268,-268,-268,-268,88,-268,92,-268,89,90,95,-268,-268,69,-268,167,-268,168,96,97,91,93,94,87,-268,73,67,68,210,57,101,-268,58,102,-268,-268,59,63,60,-268,-268,61,105,-268,-268,-268,52,-268,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,2,59,1,211,111,2,59,1,212,111,1,192,213,6,15,21,104,2,1,1,215,214,45,46,96,97,145,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,7,1,1,1,1,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,2,12,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,2,1,2,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-265,-265,216,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-265,217,-265,109,110,-265,56,55,76,77,100,99,-265,-265,106,-265,-265,-265,-265,-265,88,-265,92,-265,89,90,95,-265,-265,69,-265,167,-265,168,96,97,91,93,94,87,-265,73,67,68,57,101,-265,58,102,-265,-265,59,63,60,-265,-265,61,105,-265,-265,-265,52,-265,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,9,58,1,1,3,1,36,100,1,5,218,222,111,112,113,221,219,220,223,64,14,1,3,1,1,1,7,1,4,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,13,2,3,2,1,15,4,2,1,1,7,1,1,1,34,2,3,12,4,4,177,178,230,231,232,233,225,226,227,228,236,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,229,111,112,113,109,110,56,237,76,77,100,99,224,88,92,89,90,95,69,167,168,96,97,91,93,94,87,64,70,65,234,235,171,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,113,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,238,3,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,239,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,120,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,7,1,1,1,1,1,12,3,10,1,1,1,2,2,1,7,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,240,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,246,109,110,247,56,55,76,77,100,99,106,62,88,241,92,251,89,90,95,242,243,245,248,244,69,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,4,89,2,28,18,253,254,252,141,2,119,18,255,141,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,57,1,5,55,1,1,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-250,-250,256,257,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,1,89,258,1,89,259,35,6,34,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,9,1,2,12,13,2,1,6,1,1,1,29,-154,276,267,268,271,270,269,272,273,277,107,108,264,111,265,257,112,113,-154,-154,109,110,-154,274,275,266,106,157,156,263,260,-154,261,262,87,57,11,38,2,1,1,1,1,1,1,3,3,1,6,2,1,10,17,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,57,11,38,2,1,1,1,1,1,1,3,3,1,6,2,1,10,17,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,6,89,1,1,3,4,1,278,279,280,281,282,283,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,284,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,285,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,286,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,287,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,109,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,3,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,289,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,160,109,110,288,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,23,6,42,9,1,1,1,1,1,1,1,6,1,5,12,13,5,3,1,1,1,1,2,1,-116,295,107,108,297,111,298,257,112,113,-116,-116,-116,299,290,-116,291,296,300,292,293,294,301,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,49,14,1,23,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,11,1,1,1,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,59,177,178,179,36,37,38,302,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,237,76,77,100,99,106,88,92,89,90,95,167,168,96,97,91,93,94,87,171,67,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,4,4,3,1,10,1,3,1,1,2,4,15,11,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,58,1,5,57,1,2,2,1,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,6,58,5,1,1,2,1,306,112,113,303,304,305,116,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,2,1,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,1,1,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-5,307,-5,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-5,-5,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,-5,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,308,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,309,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,310,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,311,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,312,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,313,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,314,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,315,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,316,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,319,163,317,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,318,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,322,163,320,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,321,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,325,163,323,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,324,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,326,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,327,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,328,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,329,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,14,41,18,1,25,1,2,12,4,4,5,2,31,38,2,333,152,111,154,155,153,106,330,331,88,156,194,332,193,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,334,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,335,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,56,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,56,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,2,119,18,336,141,116,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,1,2,2,1,11,4,3,1,2,1,1,3,2,2,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,340,109,110,56,55,76,77,100,99,106,62,88,92,251,89,90,95,339,69,337,45,46,96,97,250,338,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,109,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,343,342,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,344,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,109,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,346,345,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,347,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,110,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,3,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,349,348,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,160,109,110,350,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,109,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,352,351,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,353,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,110,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,3,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,355,354,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,160,109,110,356,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,357,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,11,6,64,1,5,20,1,9,8,9,16,2,-261,-261,-261,359,360,-261,-261,-261,-261,-261,358,6,6,64,1,5,63,2,-218,-218,-218,-218,-218,-218,7,6,64,1,5,1,62,2,-222,-222,-222,-222,361,-222,-222,15,6,53,1,10,1,5,9,1,2,12,13,2,24,2,5,-225,152,111,-225,-225,-225,154,155,153,106,157,156,-225,-225,362,11,6,64,1,5,1,28,34,2,40,2,2,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,11,6,64,1,5,1,28,34,2,40,2,2,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,11,6,64,1,5,1,28,34,2,40,2,2,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,11,6,64,1,5,1,28,34,2,40,2,2,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,2,61,1,256,257,120,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,7,1,1,1,1,1,12,3,10,1,1,1,2,2,1,7,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,246,109,110,247,56,55,76,77,100,99,106,62,88,241,92,251,89,90,95,242,243,245,248,244,69,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,9,1,5,63,1,1,5,38,25,16,-214,-214,-214,-214,-214,-214,-214,-214,-214,113,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,364,3,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,363,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,131,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,9,1,5,63,1,1,5,38,25,16,-422,-422,-422,-422,-422,-422,-422,-422,-422,5,166,1,9,1,1,133,134,135,103,104,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,131,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,9,1,5,63,1,1,5,38,25,16,-423,-423,-423,-423,-423,-423,-423,-423,-423,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,131,-427,-427,-427,-427,-427,-427,-427,-427,-427,118,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,18,6,53,1,10,1,5,9,1,2,12,13,2,1,22,1,2,4,1,-217,152,111,-217,-217,-217,154,155,153,106,157,156,151,365,-217,-217,149,150,2,70,10,160,158,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,161,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,164,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,5,15,125,2,1,1,215,167,168,96,97,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,131,-428,-428,-428,-428,-428,-428,-428,-428,-428,118,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,131,-429,-429,-429,-429,-429,-429,-429,-429,-429,118,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,131,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,2,86,14,366,106,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-434,-434,-91,-91,-434,-434,-434,-434,-91,-91,-91,-91,-91,-91,-91,-91,-91,-434,-91,-434,-91,-91,-434,-434,-434,-434,-434,-434,-434,-434,-434,-91,-434,-434,-91,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-91,-91,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,12,58,5,1,25,1,1,3,4,1,20,18,11,138,112,113,-94,-94,-94,-94,-94,-94,139,141,140,6,89,1,1,3,4,1,-95,-95,-95,-95,-95,-95,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-435,-435,-91,-91,-435,-435,-435,-435,-91,-91,-91,-91,-91,-91,-91,-91,-91,-435,-91,-435,-91,-91,-435,-435,-435,-435,-435,-435,-435,-435,-435,-91,-435,-435,-91,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-91,-91,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,109,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,369,367,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,368,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-88,-88,-88,-88,-88,-88,-88,-88,-88,132,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,129,130,131,103,104,-88,-88,-88,-88,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,370,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,46,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,2,1,1,6,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,371,372,373,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,4,105,76,2,2,375,374,376,377,11,59,1,25,1,2,12,4,9,2,31,40,152,111,154,155,153,106,378,157,156,194,193,11,59,1,25,1,2,12,4,9,2,31,40,152,111,154,155,153,106,379,157,156,194,193,3,70,10,102,160,380,381,5,76,29,76,2,2,382,-350,-350,-350,-350,6,76,1,28,76,2,2,-348,383,-348,-348,-348,-348,21,70,33,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,384,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,3,173,1,1,385,386,387,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,388,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,45,1,5,63,1,1,5,4,12,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,4,26,1,5,1,1,1,1,1,1,1,1,1,1,1,-358,-358,-358,160,-358,-358,389,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,390,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,4,26,1,5,1,1,1,1,1,1,1,1,1,1,1,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,4,26,1,5,1,1,1,1,1,1,1,1,1,1,1,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,114,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,1,1,1,1,1,1,8,4,1,1,1,1,1,3,1,393,394,395,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,391,392,396,397,66,74,75,47,48,72,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,398,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-375,-375,-375,-375,-375,-375,-375,-375,-375,132,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,131,103,104,-375,-375,-375,-375,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,131,-266,-266,-266,-266,-266,-266,116,115,117,118,119,120,121,122,123,124,125,126,127,128,2,86,14,399,106,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,131,-269,-269,-269,-269,-269,-269,116,115,117,118,119,120,121,122,123,124,125,126,127,128,2,86,14,400,106,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,401,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,3,70,10,57,160,403,402,2,70,10,160,404,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,9,1,5,63,1,1,5,38,25,16,-424,-424,-424,-424,-424,-424,-424,-424,-424,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,131,-263,-263,-263,-263,-263,-263,116,115,117,118,119,120,121,122,123,124,125,126,127,128,2,86,14,405,106,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,2,76,83,407,406,1,159,408,7,59,1,10,36,96,1,2,413,111,412,409,410,411,414,2,76,83,-392,-392,1,204,415,26,6,42,9,1,1,1,1,1,1,1,6,1,5,12,13,5,3,1,1,1,1,2,1,89,3,2,-116,295,107,108,420,111,298,257,112,113,419,-116,-116,299,290,416,291,296,300,292,293,294,301,421,417,418,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-96,-96,-96,-96,-96,-96,-96,-96,422,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,423,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,424,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,159,425,59,1,5,57,1,5,1,1,5,2,1,2,2,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-37,-37,-37,-37,-37,-37,-37,-37,143,144,145,146,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,2,6,149,114,426,112,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,427,3,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,29,6,64,1,5,27,11,2,18,1,4,27,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,132,-243,430,428,429,-243,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,116,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,7,1,1,1,1,1,12,3,10,1,1,1,2,2,1,11,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,247,56,55,76,77,100,99,106,62,88,431,92,251,89,90,95,433,432,69,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,11,6,64,1,5,20,1,9,8,9,7,9,-261,-261,-261,435,436,-261,-261,-261,-261,434,-261,62,6,5,38,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,7,17,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,437,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,5,6,64,1,5,38,-189,-189,-189,-189,-189,119,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,7,1,1,1,1,1,12,3,10,2,1,2,2,1,7,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,246,109,110,247,56,55,76,77,100,99,106,62,88,92,251,89,90,95,439,438,245,248,244,69,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,62,6,5,38,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,7,17,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,5,6,64,1,5,38,-194,-194,-194,-194,-194,6,6,64,1,5,38,25,-244,-244,-244,-244,-244,-244,6,6,64,1,5,38,25,-245,-245,-245,-245,-245,-245,113,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,7,1,1,1,1,1,12,3,10,1,1,3,2,1,15,3,1,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-246,440,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-246,-246,109,110,-246,56,55,76,77,100,99,106,62,88,-246,92,89,90,95,69,-246,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,56,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,2,61,1,441,257,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,442,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,443,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,56,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,65,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,4,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,65,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,4,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,2,61,1,444,257,2,61,1,445,257,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,447,446,-261,-261,-261,-261,-261,5,6,64,1,5,47,-155,-155,-155,-155,-155,1,102,448,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,449,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,102,-172,1,102,-173,1,102,-174,1,102,-175,1,102,-176,1,102,-177,1,102,-178,1,102,-179,1,102,-180,1,102,-181,1,102,-182,1,102,-183,1,102,-184,1,102,-185,2,61,1,450,257,2,61,1,451,257,113,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,2,8,1,1,1,1,1,5,7,3,10,2,1,2,2,1,13,1,1,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,452,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,457,81,82,83,84,85,86,107,108,98,111,112,113,453,109,110,455,56,55,76,77,100,99,454,106,62,88,92,430,89,90,95,456,429,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,8,59,1,1,1,8,25,31,1,462,111,463,257,459,458,460,461,8,59,1,1,1,8,25,31,1,462,111,463,257,465,464,460,461,1,91,466,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,467,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,468,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-303,-303,-303,-303,-303,-303,-303,-303,-303,132,-303,-303,469,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,131,103,104,-303,-303,-303,-303,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-305,-305,-305,-305,-305,-305,-305,-305,-305,132,-305,-305,470,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,131,103,104,-305,-305,-305,-305,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,45,1,5,63,1,1,5,4,12,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-312,-312,-312,160,-312,-312,471,-312,-312,-312,132,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,131,103,104,-312,-312,-312,-312,116,115,117,118,119,120,121,122,123,124,125,126,127,128,6,6,64,1,5,26,4,-121,-121,-121,-121,472,-121,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,474,473,-261,-261,-261,-261,-261,7,6,64,1,5,1,25,4,-130,-130,-130,-130,475,-130,-130,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,476,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,3,61,1,51,256,257,477,6,6,64,1,5,26,4,-133,-133,-133,-133,-133,-133,5,6,64,1,5,30,-117,-117,-117,-117,-117,13,6,64,1,5,1,12,1,1,3,4,4,4,31,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,13,6,64,1,5,1,12,1,1,3,4,4,4,31,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,13,6,64,1,5,1,12,1,1,3,4,4,4,31,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,5,6,64,1,5,30,-122,-122,-122,-122,-122,17,40,4,1,14,1,1,1,24,2,12,12,3,2,1,2,31,3,481,483,482,297,111,298,257,480,299,106,478,92,479,484,485,91,87,56,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-41,-41,-41,-41,-41,-41,-41,486,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,6,58,5,1,2,1,1,306,112,113,487,488,305,4,63,1,2,2,-62,-62,-62,-62,114,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,489,3,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,491,490,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,4,63,1,2,2,-67,-67,-67,-67,5,1,5,63,2,84,-4,-4,-4,-4,-4,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,131,-438,-438,-438,-438,-438,-438,-438,-438,117,118,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,131,-439,-439,-439,-439,-439,-439,-439,-439,117,118,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,131,-440,-440,-440,-440,-440,-440,-440,-440,-440,118,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,131,-441,-441,-441,-441,-441,-441,-441,-441,-441,118,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,131,-442,-442,-442,-442,-442,-442,116,115,117,118,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,131,-443,-443,-443,-443,-443,-443,116,115,117,118,119,-443,-443,-443,-443,-443,-443,-443,127,-443,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,131,-444,-444,-444,-444,-444,-444,116,115,117,118,119,120,-444,-444,-444,-444,-444,-444,127,-444,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,131,-445,-445,-445,-445,-445,-445,116,115,117,118,119,120,121,-445,-445,-445,-445,-445,127,-445,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,131,-446,-446,-446,-446,-446,-446,116,115,117,118,119,120,121,122,-446,-446,-446,-446,127,-446,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,131,-454,-454,-454,-454,-454,-454,116,115,117,118,119,120,121,122,123,-454,-454,126,127,-454,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,131,-455,-455,-455,-455,-455,-455,116,115,117,118,119,120,121,122,123,-455,-455,126,127,-455,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,131,-453,-453,-453,-453,-453,-453,116,115,117,118,119,120,121,122,123,-453,-453,-453,127,-453,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,131,-456,-456,-456,-456,-456,-456,116,115,117,118,119,-456,-456,-456,-456,-456,-456,-456,-456,-456,21,102,1,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,492,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-282,-282,-282,-282,-282,-282,-282,-282,-282,132,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,493,-282,-282,131,103,104,-282,-282,-282,-282,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-286,-286,-286,-286,-286,-286,-286,-286,-286,132,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,131,103,104,-286,-286,-286,-286,116,115,117,118,119,120,121,122,123,124,125,126,127,128,4,105,76,2,2,495,494,496,497,11,59,1,25,1,2,12,4,9,2,31,40,152,111,154,155,153,106,498,157,156,194,193,11,59,1,25,1,2,12,4,9,2,31,40,152,111,154,155,153,106,499,157,156,194,193,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,500,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-281,-281,-281,-281,-281,-281,-281,-281,-281,132,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,131,103,104,-281,-281,-281,-281,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-285,-285,-285,-285,-285,-285,-285,-285,-285,132,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,131,103,104,-285,-285,-285,-285,116,115,117,118,119,120,121,122,123,124,125,126,127,128,56,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,56,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,502,501,-261,-261,-261,-261,-261,5,6,64,1,5,63,-238,-238,-238,-238,-238,115,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,1,2,2,1,11,4,4,2,1,1,3,2,2,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,340,109,110,56,55,76,77,100,99,106,62,88,92,251,89,90,95,339,69,45,46,96,97,250,503,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,26,6,64,1,5,27,11,25,27,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,132,-243,-243,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,131,-72,-72,-72,-72,-72,-72,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,504,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,505,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,-75,132,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,129,130,131,103,104,-75,-75,-75,-75,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,506,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,507,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,-78,132,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,129,130,131,103,104,-78,-78,-78,-78,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,508,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,-81,132,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,129,130,131,103,104,-81,-81,-81,-81,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,509,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,510,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-85,-85,-85,-85,-85,-85,-85,-85,-85,132,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,129,130,131,103,104,-85,-85,-85,-85,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,511,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,-84,-84,-84,132,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,129,130,131,103,104,-84,-84,-84,-84,116,115,117,118,119,120,121,122,123,124,125,126,127,128,3,142,1,1,512,96,97,19,6,53,1,10,1,14,1,2,9,3,6,7,1,1,1,7,16,6,1,-262,152,111,-262,-262,154,155,153,-262,106,-262,157,-262,156,151,-262,-262,513,150,2,6,64,514,515,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,516,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,6,6,64,1,5,63,2,-224,-224,-224,-224,-224,-224,58,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,3,1,4,2,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,2,6,65,114,517,11,6,64,1,5,20,1,9,8,9,16,2,-261,-261,-261,359,360,-261,-261,-261,-261,-261,518,1,71,519,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,131,-458,-458,-458,-458,-458,-458,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,520,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,521,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-89,-89,-89,-89,-89,-89,-89,-89,-89,132,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,129,130,131,103,104,-89,-89,-89,-89,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,522,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,2,70,10,160,523,8,59,1,10,10,5,1,14,13,524,111,160,527,526,525,106,157,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,528,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,529,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,530,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,531,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,105,532,1,183,533,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,534,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,10,59,1,25,1,2,12,13,2,31,40,152,111,154,155,153,106,157,156,194,535,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,536,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,3,173,1,1,537,386,387,4,71,92,11,1,538,539,540,387,3,71,92,12,-299,-299,-299,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,6,1,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,542,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,541,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,45,1,5,63,1,1,5,4,12,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-356,-356,-356,160,-356,-356,543,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,131,-356,-356,-356,-356,-356,-356,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,544,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,2,6,65,546,545,2,6,65,-366,-366,22,6,65,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-369,-369,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,2,6,65,-370,-370,7,6,65,95,1,9,1,1,-371,-371,133,134,135,103,104,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,547,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,60,548,21,70,33,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,549,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,1,71,550,1,71,551,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,131,-271,-271,-271,-271,-271,-271,116,115,117,118,119,120,121,122,123,124,125,126,127,128,18,6,53,1,10,1,5,9,1,2,12,13,2,1,22,1,2,4,1,-217,152,111,-217,-217,-217,154,155,153,106,157,156,151,552,-217,-217,149,150,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,1,71,553,3,58,5,1,554,112,113,3,100,101,5,556,555,223,3,58,5,1,557,112,113,1,159,558,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,560,559,-261,-261,-261,-261,-261,5,6,64,1,5,30,-383,-383,-383,-383,-383,6,59,1,10,132,1,2,413,111,412,561,411,414,6,6,64,1,5,30,98,-388,-388,-388,-388,-388,562,6,6,64,1,5,30,98,-390,-390,-390,-390,-390,563,2,59,1,564,111,14,1,5,63,1,1,5,38,25,16,4,7,1,10,1,-394,-394,-394,-394,-394,-394,-394,-394,-394,565,-394,-394,-394,-394,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,567,566,-261,-261,-261,-261,-261,5,6,64,1,5,30,-412,-412,-412,-412,-412,6,59,1,10,135,3,2,569,111,419,421,568,418,14,6,64,1,5,1,12,1,1,3,4,4,4,31,67,-417,-417,-417,-417,-127,-127,-127,-127,-127,-127,-127,-417,-127,570,6,6,64,1,5,30,98,-420,-420,-420,-420,-420,571,109,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,573,572,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,574,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,29,1,5,63,1,1,5,27,11,25,16,11,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-407,-407,-407,-407,-407,-407,132,-407,-407,-407,-407,-407,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,2,86,14,575,106,3,58,5,1,576,112,113,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,2,6,65,114,577,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,578,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,58,11,38,2,1,1,1,1,1,1,3,3,1,7,1,1,10,9,8,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,58,11,38,2,1,1,1,1,1,1,3,3,1,7,1,1,10,9,8,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,62,6,5,38,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,7,17,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,437,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,5,6,64,1,5,38,-195,-195,-195,-195,-195,2,70,44,580,579,125,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,7,1,1,1,1,1,9,3,3,3,7,1,1,1,2,2,1,2,5,3,1,1,3,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-262,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-262,-262,109,110,247,56,55,76,77,100,99,-262,106,62,-262,88,-262,92,251,89,90,95,-262,582,581,248,244,69,-262,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,4,6,64,1,43,583,-196,-196,-196,62,6,5,38,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,7,17,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,11,6,64,1,5,20,1,9,8,9,7,9,-261,-261,-261,435,436,-261,-261,-261,-261,584,-261,115,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,7,1,1,1,1,1,12,3,10,2,1,2,2,1,11,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,247,56,55,76,77,100,99,106,62,88,92,251,89,90,95,433,432,69,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,26,6,64,1,5,27,11,25,27,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-230,-230,-230,-230,132,-230,-230,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,21,92,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,585,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,586,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,3,6,64,53,588,589,587,37,6,34,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,12,1,2,9,3,6,7,1,1,1,7,1,1,14,15,-262,276,267,268,271,270,269,272,273,277,107,108,264,111,265,257,112,113,-262,-262,109,110,274,275,266,-262,106,-262,157,-262,156,263,-262,590,262,-262,87,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,591,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,592,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,25,6,64,1,5,27,20,43,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-161,-161,-161,-161,132,-161,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,24,92,11,13,18,1,31,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,593,132,430,594,429,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,111,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,5,7,3,10,2,1,2,2,1,13,1,1,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,595,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,596,106,62,88,92,430,89,90,95,456,429,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,92,597,1,92,598,109,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,10,1,1,1,1,1,4,8,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,599,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-208,109,110,56,55,76,77,100,99,-208,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-49,-49,-49,-49,-49,-49,-49,600,-49,-49,-49,-71,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,602,601,-261,-261,-261,-261,-261,7,59,1,1,1,33,31,1,462,111,463,257,603,460,461,5,6,64,1,5,21,-162,-162,-162,-162,-162,7,6,64,1,5,1,20,5,-166,-166,-166,-166,605,-166,604,7,6,64,1,5,1,20,5,-170,-170,-170,-170,-170,-170,-170,7,6,64,1,5,1,20,5,-171,-171,-171,-171,-171,-171,-171,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,602,606,-261,-261,-261,-261,-261,7,59,1,1,1,33,31,1,462,111,463,257,607,460,461,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,608,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,609,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,7,1,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,610,611,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,612,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,613,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,614,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,615,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,616,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,3,6,64,36,618,619,617,25,6,42,9,1,1,1,1,1,1,1,6,1,17,9,4,5,4,1,1,1,1,1,1,7,16,-262,295,107,108,297,111,298,257,112,113,-262,-262,299,-262,621,-262,620,300,292,293,-262,294,301,-262,-262,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,622,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,623,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,21,103,11,52,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,132,624,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,625,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,12,6,64,1,5,13,1,1,3,4,8,13,18,-134,-134,-134,-134,-136,-136,-136,-136,-136,-134,626,141,12,6,64,1,5,13,1,1,3,4,8,13,18,-135,-135,-135,-135,628,629,630,631,632,-135,627,141,11,6,64,1,5,13,1,1,3,4,8,31,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,11,6,64,1,5,13,1,1,3,4,8,31,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,11,6,64,1,5,13,1,1,3,4,8,31,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,11,6,64,1,5,13,1,1,3,4,8,31,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,4,89,2,28,18,253,254,633,141,2,119,18,634,141,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,58,1,5,57,1,2,2,1,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,4,63,1,2,2,-63,-63,-63,-63,2,6,63,114,635,112,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,636,3,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,4,63,1,2,2,-66,-66,-66,-66,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,637,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,639,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,638,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,640,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,641,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,642,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,643,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,105,644,1,183,645,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,646,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,3,6,64,69,648,649,647,121,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,10,1,1,1,1,1,9,3,3,3,7,1,1,1,2,2,1,2,9,4,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-262,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-262,-262,109,110,56,55,76,77,100,99,-262,106,62,-262,88,-262,92,251,89,90,95,-262,650,69,-262,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,502,651,-261,-261,-261,-261,-261,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,131,-73,-73,-73,-73,-73,-73,116,115,117,118,119,120,121,122,123,124,125,126,127,128,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,652,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-76,-76,-76,-76,-76,-76,-76,-76,-76,132,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,129,130,131,103,104,-76,-76,-76,-76,116,115,117,118,119,120,121,122,123,124,125,126,127,128,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,653,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-79,-79,-79,-79,-79,-79,-79,-79,-79,132,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,129,130,131,103,104,-79,-79,-79,-79,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-82,-82,-82,-82,-82,-82,-82,-82,-82,132,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,129,130,131,103,104,-82,-82,-82,-82,116,115,117,118,119,120,121,122,123,124,125,126,127,128,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,654,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,-86,-86,-86,-86,-86,132,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,129,130,131,103,104,-86,-86,-86,-86,116,115,117,118,119,120,121,122,123,124,125,126,127,128,113,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,3,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,656,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,160,109,110,655,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,6,6,64,1,5,63,2,-219,-219,-219,-219,-219,-219,11,59,1,25,1,2,12,13,2,1,29,1,152,111,154,155,153,106,157,156,151,657,150,18,6,53,1,10,1,5,9,1,2,12,13,2,1,22,1,2,4,1,-217,152,111,-217,-217,-217,154,155,153,106,157,156,151,658,-217,-217,149,150,26,6,64,1,5,27,36,2,25,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-223,-223,-223,-223,132,-223,-223,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,58,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,3,1,4,2,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,3,142,1,1,659,96,97,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,660,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,131,-460,-460,-460,-460,-460,-460,116,115,117,118,119,120,121,122,123,124,125,126,127,128,2,70,10,160,661,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,2,70,10,160,662,2,70,10,160,663,2,70,10,160,664,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,24,70,10,23,4,59,1,9,1,1,4,33,1,5,1,1,1,1,1,1,1,1,1,1,1,160,665,132,666,129,130,131,103,104,667,116,115,117,118,119,120,121,122,123,124,125,126,127,128,23,70,10,23,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,668,132,669,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,23,70,10,23,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,670,132,671,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,23,70,10,23,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,672,132,673,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,674,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,675,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,676,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,4,105,76,2,2,-351,-351,-351,-351,25,76,27,2,61,1,9,1,1,3,2,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-349,132,-349,129,130,131,103,104,-349,-349,-349,116,115,117,118,119,120,121,122,123,124,125,126,127,128,4,71,92,11,1,677,678,540,387,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,2,70,10,160,679,3,71,92,12,-300,-300,-300,3,70,6,4,160,681,680,22,70,6,27,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-247,-247,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,45,1,5,63,1,1,5,4,12,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-360,-360,-360,160,-360,-360,682,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,131,-360,-360,-360,-360,-360,-360,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,115,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,2,1,1,1,1,8,4,1,1,1,1,1,3,1,-368,393,394,395,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-368,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,683,396,397,66,74,75,47,48,72,49,50,51,53,54,22,6,65,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-372,-372,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,2,6,65,-373,-373,114,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,1,1,1,1,1,1,8,4,1,1,1,1,1,3,1,393,394,395,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,684,392,396,397,66,74,75,47,48,72,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,359,360,-261,-261,-261,-261,685,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,1,159,686,6,59,1,10,132,1,2,413,111,412,687,411,414,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,3,58,5,1,688,112,113,3,6,64,36,690,691,689,12,6,53,1,10,1,26,9,8,9,16,64,2,-262,413,111,-262,-262,-262,-262,-262,-262,-262,692,414,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,560,693,-261,-261,-261,-261,-261,2,59,1,694,111,2,59,1,695,111,1,159,-393,3,58,5,1,696,112,113,3,6,64,36,698,699,697,12,6,53,1,10,1,26,9,8,9,16,66,5,-262,569,111,-262,-262,-262,-262,-262,-262,-262,421,700,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,567,701,-261,-261,-261,-261,-261,6,6,64,1,5,30,98,-417,-417,-417,-417,-417,570,3,59,1,145,702,111,703,2,59,1,704,111,29,1,5,63,1,1,5,27,11,25,16,11,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-400,-400,-400,-400,-400,-400,132,-400,-400,-400,-400,-400,131,-400,-400,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,705,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,706,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,71,707,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,1,155,708,21,103,11,52,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,132,709,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,119,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,7,1,1,1,1,1,12,3,10,2,1,2,2,1,7,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,246,109,110,247,56,55,76,77,100,99,106,62,88,92,251,89,90,95,439,710,245,248,244,69,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,5,6,64,1,5,38,-190,-190,-190,-190,-190,118,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,7,1,1,1,1,1,12,3,10,1,1,1,2,2,1,11,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-197,-197,109,110,247,56,55,76,77,100,99,106,62,88,-197,92,251,89,90,95,433,432,69,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,117,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,7,1,1,1,1,1,12,3,10,2,1,2,2,1,7,3,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,247,56,55,76,77,100,99,106,62,88,92,251,89,90,95,439,711,248,244,69,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,2,70,1,580,712,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,713,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,29,40,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,12,1,2,12,13,2,1,8,1,29,276,267,268,271,270,269,272,273,277,107,108,264,111,265,257,112,113,109,110,274,275,266,106,157,156,263,714,262,87,35,6,34,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,9,1,2,12,13,2,1,6,1,1,1,29,-154,276,267,268,271,270,269,272,273,277,107,108,264,111,265,257,112,113,-154,-154,109,110,-154,274,275,266,106,157,156,263,715,-154,261,262,87,5,6,64,1,5,47,-156,-156,-156,-156,-156,25,6,64,1,5,27,20,43,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-159,-159,-159,-159,132,-159,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,716,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,109,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,10,1,1,1,1,1,4,8,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,717,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-206,109,110,56,55,76,77,100,99,-206,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,24,71,32,13,18,1,31,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,718,132,430,594,429,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,1,71,719,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,22,71,21,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-207,-207,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,720,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,3,6,64,27,722,723,721,14,6,53,1,1,1,8,1,26,9,8,9,3,1,12,-262,462,111,463,257,-262,-262,-262,-262,-262,-262,724,461,-262,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,602,725,-261,-261,-261,-261,-261,5,59,1,1,1,65,462,111,463,257,726,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,727,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,3,6,64,27,722,723,728,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,602,729,-261,-261,-261,-261,-261,21,92,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,730,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,731,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,3,70,10,81,160,733,732,2,70,10,160,734,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,131,-304,-304,-304,-304,-304,-304,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,131,-306,-306,-306,-306,-306,-306,116,115,117,118,119,120,121,122,123,124,125,126,127,128,25,6,64,1,5,27,3,60,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,735,-123,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,736,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,17,48,9,1,1,1,1,1,1,1,24,13,9,1,1,1,2,1,295,107,108,297,111,298,257,112,113,299,621,737,300,292,293,294,301,23,6,42,9,1,1,1,1,1,1,1,6,1,5,12,13,5,3,1,1,1,1,2,1,-116,295,107,108,297,111,298,257,112,113,-116,-116,-116,299,621,-116,738,296,300,292,293,294,301,5,6,64,1,5,30,-118,-118,-118,-118,-118,6,6,64,1,5,26,4,-121,-121,-121,-121,739,-121,25,6,64,1,5,27,3,60,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-125,-125,-125,-125,132,-125,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,740,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,6,6,64,1,5,26,4,-131,-131,-131,-131,-131,-131,21,103,11,52,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,132,741,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,11,6,64,1,5,13,1,1,3,4,8,31,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,11,6,64,1,5,13,1,1,3,4,8,31,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,2,61,1,742,257,2,61,1,743,257,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,744,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,745,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,8,59,1,1,1,8,25,31,1,462,111,463,257,747,746,460,461,8,59,1,1,1,8,25,31,1,462,111,463,257,749,748,460,461,11,6,64,1,5,13,1,1,3,4,8,31,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,11,6,64,1,5,13,1,1,3,4,8,31,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,4,63,1,2,2,-64,-64,-64,-64,2,6,65,114,750,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,131,-457,-457,-457,-457,-457,-457,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,751,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-284,-284,-284,-284,-284,-284,-284,-284,-284,132,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,131,103,104,-284,-284,-284,-284,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,752,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,131,-331,-331,-331,753,-331,-331,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,754,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,131,-336,-336,-336,-336,-336,-336,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,755,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,131,-340,-340,-340,-340,-340,-340,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,756,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,131,-344,-344,-344,-344,-344,-344,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,757,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,758,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,131,-347,-347,-347,-347,-347,-347,116,115,117,118,119,120,121,122,123,124,125,126,127,128,56,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,113,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,1,2,2,1,11,4,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,251,89,90,95,759,69,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,115,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,1,2,2,1,11,4,4,2,1,1,3,2,2,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,340,109,110,56,55,76,77,100,99,106,62,88,92,251,89,90,95,339,69,45,46,96,97,250,760,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,5,6,64,1,5,63,-239,-239,-239,-239,-239,3,6,64,1,648,649,761,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,9,1,5,63,1,1,5,38,25,16,-213,-213,-213,-213,-213,-213,-213,-213,-213,6,6,64,1,5,63,2,-220,-220,-220,-220,-220,-220,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,359,762,-261,-261,-261,-261,-261,2,70,10,160,655,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,763,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,764,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,765,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,766,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,767,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,23,70,10,23,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,768,132,769,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,23,70,10,23,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,770,132,771,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,2,70,10,160,772,1,71,773,4,6,65,92,12,774,-301,-301,-301,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,775,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,2,6,65,-367,-367,2,6,65,546,776,2,70,10,160,777,3,58,5,1,778,112,113,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,560,779,-261,-261,-261,-261,-261,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,1,159,780,4,59,1,143,2,413,111,781,414,6,59,1,10,132,1,2,413,111,412,782,411,414,5,6,64,1,5,30,-384,-384,-384,-384,-384,3,6,64,1,690,691,783,5,6,64,1,5,30,-389,-389,-389,-389,-389,5,6,64,1,5,30,-391,-391,-391,-391,-391,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,14,1,5,63,1,1,5,38,25,16,4,7,1,10,1,-395,-395,-395,-395,-395,-395,-395,-395,-395,784,-395,-395,-395,-395,4,59,1,145,5,569,111,421,785,6,59,1,10,135,3,2,569,111,419,421,786,418,5,6,64,1,5,30,-413,-413,-413,-413,-413,3,6,64,1,698,699,787,5,6,64,1,5,30,-418,-418,-418,-418,-418,5,6,64,1,5,30,-419,-419,-419,-419,-419,5,6,64,1,5,30,-421,-421,-421,-421,-421,29,1,5,63,1,1,5,27,11,25,16,11,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-401,-401,-401,-401,-401,-401,132,-401,-401,-401,-401,-401,131,-401,-401,116,115,117,118,119,120,121,122,123,124,125,126,127,128,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,788,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,11,6,64,1,5,20,1,9,8,9,7,9,-261,-261,-261,435,436,-261,-261,-261,-261,789,-261,5,6,64,1,5,38,-191,-191,-191,-191,-191,5,6,64,1,5,38,-192,-192,-192,-192,-192,1,92,790,5,6,64,1,5,47,-157,-157,-157,-157,-157,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,447,791,-261,-261,-261,-261,-261,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,792,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,22,71,21,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-205,-205,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,1,92,793,1,92,794,21,92,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-70,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,6,59,1,1,1,64,1,462,111,463,257,795,461,7,59,1,1,1,33,31,1,462,111,463,257,796,460,461,5,6,64,1,5,21,-163,-163,-163,-163,-163,3,6,64,1,722,723,797,6,6,64,1,5,1,20,-167,-167,-167,-167,798,-167,25,6,64,1,5,21,6,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-168,-168,-168,-168,-168,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,3,6,64,1,722,723,799,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,800,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,801,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,14,41,18,1,25,1,2,12,4,4,5,2,31,38,2,333,152,111,154,155,153,106,802,803,88,156,194,332,193,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,804,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,5,6,64,1,5,30,-119,-119,-119,-119,-119,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,474,805,-261,-261,-261,-261,-261,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,806,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,616,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,807,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,6,6,64,1,5,26,4,-132,-132,-132,-132,-132,-132,11,6,64,1,5,13,1,1,3,4,8,31,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,11,6,64,1,5,13,1,1,3,4,8,31,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,21,92,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,808,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,809,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,602,810,-261,-261,-261,-261,-261,7,59,1,1,1,33,31,1,462,111,463,257,811,460,461,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,602,812,-261,-261,-261,-261,-261,7,59,1,1,1,33,31,1,462,111,463,257,813,460,461,1,69,814,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,815,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,816,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,817,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,818,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,819,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,820,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,821,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,131,-338,-338,-338,-338,-338,-338,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,822,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,131,-342,-342,-342,-342,-342,-342,116,115,117,118,119,120,121,122,123,124,125,126,127,128,5,6,64,1,5,63,-240,-240,-240,-240,-240,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,502,823,-261,-261,-261,-261,-261,5,6,64,1,5,63,-241,-241,-241,-241,-241,3,6,64,1,514,515,824,23,70,10,23,63,1,9,1,1,4,33,1,5,1,1,1,1,1,1,1,1,1,1,1,160,825,132,129,130,131,103,104,826,116,115,117,118,119,120,121,122,123,124,125,126,127,128,23,70,10,23,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,827,132,828,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,829,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,830,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,831,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,832,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,833,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,71,834,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,3,71,92,12,-302,-302,-302,22,70,6,27,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-248,-248,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,3,6,64,36,690,691,835,3,58,5,1,836,112,113,5,6,64,1,5,30,-385,-385,-385,-385,-385,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,560,837,-261,-261,-261,-261,-261,5,6,64,1,5,30,-386,-386,-386,-386,-386,3,58,5,1,838,112,113,5,6,64,1,5,30,-414,-414,-414,-414,-414,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,567,839,-261,-261,-261,-261,-261,5,6,64,1,5,30,-415,-415,-415,-415,-415,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,2,70,1,580,840,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,3,6,64,1,588,589,841,5,6,64,1,5,47,-160,-160,-160,-160,-160,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,5,6,64,1,5,21,-164,-164,-164,-164,-164,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,602,842,-261,-261,-261,-261,-261,1,97,843,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,844,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,97,845,1,92,846,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,847,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,4,105,76,2,2,848,494,496,497,11,59,1,25,1,2,12,4,9,2,31,40,152,111,154,155,153,106,849,157,156,194,193,5,6,64,1,5,30,-124,-124,-124,-124,-124,3,6,64,1,618,619,850,25,6,64,1,5,27,3,60,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,132,-123,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,5,6,64,1,5,30,-126,-126,-126,-126,-126,11,6,64,1,5,13,1,1,3,4,8,31,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,851,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,3,6,64,27,722,723,852,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,602,853,-261,-261,-261,-261,-261,3,6,64,27,722,723,854,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,602,855,-261,-261,-261,-261,-261,4,63,1,2,2,-65,-65,-65,-65,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,131,-332,-332,-332,856,-332,-332,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,857,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,131,-333,-333,-333,-333,-333,-333,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,131,-337,-337,-337,-337,-337,-337,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,131,-341,-341,-341,-341,-341,-341,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,131,-345,-345,-345,-345,-345,-345,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,858,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,859,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,3,6,64,1,648,649,860,6,6,64,1,5,63,2,-221,-221,-221,-221,-221,-221,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,861,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,862,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,863,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,864,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,1,159,865,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,3,6,64,1,690,691,866,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,3,6,64,1,698,699,867,5,6,64,1,5,38,-193,-193,-193,-193,-193,5,6,64,1,5,47,-158,-158,-158,-158,-158,3,6,64,1,722,723,868,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,25,6,64,1,5,21,6,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-169,-169,-169,-169,-169,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,7,1,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,869,611,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,870,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,105,871,5,6,64,1,5,30,-120,-120,-120,-120,-120,1,92,872,11,6,64,1,5,13,1,1,3,4,8,31,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,3,6,64,1,722,723,873,11,6,64,1,5,13,1,1,3,4,8,31,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,3,6,64,1,722,723,874,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,875,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,876,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,131,-339,-339,-339,-339,-339,-339,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,131,-343,-343,-343,-343,-343,-343,116,115,117,118,119,120,121,122,123,124,125,126,127,128,5,6,64,1,5,63,-242,-242,-242,-242,-242,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,877,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,878,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,3,58,5,1,879,112,113,5,6,64,1,5,30,-387,-387,-387,-387,-387,5,6,64,1,5,30,-416,-416,-416,-416,-416,5,6,64,1,5,21,-165,-165,-165,-165,-165,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,45,1,5,63,1,1,5,16,4,1,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-336,-336,-336,882,-336,880,-336,-336,-336,-336,-336,881,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,131,-336,-336,-336,-336,-336,-336,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,883,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,11,6,64,1,5,13,1,1,3,4,8,31,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,1,97,884,1,97,885,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,131,-334,-334,-334,-334,-334,-334,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,131,-335,-335,-335,-335,-335,-335,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,1,106,886,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,887,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,8,6,64,1,26,9,8,9,16,-262,-262,-262,-262,-262,-262,-262,-262,45,1,5,63,1,1,5,16,4,1,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-338,-338,-338,-338,-338,882,-338,888,-338,-338,-338,-338,-338,889,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,131,-338,-338,-338,-338,-338,-338,116,115,117,118,119,120,121,122,123,124,125,126,127,128,11,6,64,1,5,13,1,1,3,4,8,31,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,11,6,64,1,5,13,1,1,3,4,8,31,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,45,1,5,63,1,1,5,16,4,1,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-337,-337,-337,-337,-337,882,-337,890,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,131,-337,-337,-337,-337,-337,-337,116,115,117,118,119,120,121,122,123,124,125,126,127,128,1,106,891,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,892,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,106,893,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,45,1,5,63,1,1,5,16,4,1,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-339,-339,-339,-339,-339,882,-339,894,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,131,-339,-339,-339,-339,-339,-339,116,115,117,118,119,120,121,122,123,124,125,126,127,128,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,1,106,895,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114],f=[],e=0,t,i,u,l;while(e<n.length){t=n[e++],i={},u=0,l=[];while(t--)u+=n[e++],l.push(u);for(u of l)i[u]=n[e++];f.push(i)}return f})(),ruleTable:[0,0,3,0,3,1,4,1,4,3,4,2,5,1,5,1,5,1,9,1,9,1,9,1,9,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,48,1,48,1,59,1,61,1,58,1,58,3,65,1,65,2,67,3,67,5,67,2,67,1,50,1,50,3,75,3,75,1,17,3,17,4,17,5,18,3,18,4,18,5,19,3,19,4,19,3,20,3,20,4,20,5,22,3,21,3,21,4,21,3,21,2,21,3,21,2,38,1,38,1,38,1,87,1,87,1,84,1,84,1,84,3,84,3,84,4,84,6,84,4,84,6,84,5,84,5,84,7,84,7,84,4,84,5,84,7,86,10,86,12,86,11,86,13,86,4,109,0,109,1,109,3,109,4,109,6,110,1,110,1,110,3,110,5,110,3,110,5,112,1,112,1,112,1,101,1,101,3,101,4,101,1,111,2,111,2,117,1,117,1,117,1,117,1,117,1,117,2,117,2,117,2,117,2,117,3,117,3,117,4,117,6,117,5,117,5,117,7,117,7,47,4,122,0,122,1,122,3,122,4,122,6,124,3,124,5,124,2,95,1,95,3,95,4,95,6,126,1,126,3,126,3,126,5,127,1,127,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,85,2,85,3,85,4,129,1,129,3,129,4,129,4,129,6,131,1,131,2,130,1,130,2,128,1,128,2,133,1,133,2,134,1,134,1,41,5,93,3,93,2,93,2,93,1,33,6,33,3,15,5,15,2,36,5,36,2,142,1,142,1,138,0,138,1,138,3,138,4,138,6,145,1,145,3,145,2,145,1,146,1,146,1,146,1,146,1,147,2,42,2,42,2,42,3,42,2,42,2,119,2,119,4,149,1,149,3,149,4,149,4,149,6,132,1,132,1,132,1,132,1,150,1,150,3,44,1,44,1,88,2,45,3,45,4,45,6,46,3,46,3,80,2,80,3,40,3,40,5,96,0,96,1,10,2,10,4,10,1,31,2,31,4,32,1,32,2,32,4,32,3,160,3,160,4,162,4,162,5,162,2,164,3,164,5,23,1,23,1,23,3,23,3,23,7,23,5,23,3,23,3,24,2,24,3,24,4,24,5,169,3,169,3,169,3,169,2,27,5,27,7,27,4,27,6,173,1,173,2,174,3,174,4,176,2,176,4,176,2,176,4,25,2,25,2,25,2,25,1,179,2,179,2,179,3,26,5,26,7,26,7,26,9,26,9,26,5,26,7,26,6,26,8,26,5,26,7,26,6,26,8,26,5,26,7,26,3,26,5,26,5,26,7,26,7,26,9,26,9,26,5,26,7,26,6,26,8,26,5,26,7,26,6,26,8,26,5,26,7,26,3,26,5,186,1,186,3,104,1,104,3,187,1,187,1,28,1,28,2,28,3,28,4,28,2,28,3,28,4,28,5,34,3,35,2,29,4,29,6,194,1,194,3,194,2,195,1,195,1,195,1,195,2,195,2,30,2,30,2,12,2,12,4,12,4,12,5,12,7,12,6,12,9,202,1,202,3,202,4,202,4,202,6,203,1,203,3,203,1,203,3,200,1,201,3,13,3,13,5,13,2,13,2,13,2,13,2,13,4,13,5,13,6,13,2,13,2,13,2,13,2,13,3,13,5,13,4,13,5,13,7,208,1,208,3,208,4,208,4,208,6,210,1,210,3,210,3,210,1,210,3,37,2,37,2,37,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,4,16,2,16,2,16,2,16,2,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,5,16,3,16,5,16,4,43,2],ruleActions:(n,f,e,t)=>{let i=f,u=e,l=f.length-1;switch(n){case 1:return H(["program"],z?[null]:null);case 2:return H(["program",...i[l]],z?[null,...Dn(i[l])]:null);case 3:case 62:case 117:case 155:case 162:case 194:case 198:case 218:case 238:case 299:case 350:case 366:case 383:case 412:return H([i[l]],z?[u[l]]:null);case 4:case 118:case 156:case 163:case 219:case 239:case 367:case 384:case 413:return H([...i[l-2],i[l]],z?[...Dn(i[l-2]),u[l]]:null);case 5:case 64:case 201:case 368:return i[l-1];case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 48:case 49:case 52:case 53:case 54:case 56:case 57:case 58:case 59:case 60:case 67:case 68:case 91:case 92:case 93:case 94:case 95:case 96:case 97:case 122:case 127:case 128:case 129:case 130:case 133:case 136:case 137:case 138:case 139:case 140:case 170:case 171:case 172:case 173:case 174:case 175:case 176:case 177:case 180:case 181:case 182:case 183:case 184:case 189:case 215:case 216:case 222:case 226:case 227:case 228:case 229:case 243:case 244:case 245:case 261:case 262:case 276:case 279:case 280:case 310:case 348:case 352:case 353:case 369:case 370:case 371:case 388:case 390:case 392:case 417:case 420:return i[l];case 50:case 179:return"undefined";case 51:case 178:return"null";case 55:case 185:return H(["symbol",i[l]],z?[null,u[l]]:null);case 61:return H(["str",...i[l-1]],z?[null,...Dn(i[l-1])]:null);case 63:case 195:case 199:case 300:return H([...i[l-1],i[l]],z?[...Dn(i[l-1]),u[l]]:null);case 65:case 237:case 241:case 386:case 415:return i[l-2];case 66:return"";case 69:return H(["regex",i[l-1]],z?[null,u[l-1]]:null);case 70:return H(["regex-index",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 71:return H(["regex-index",i[l],null],z?[null,u[l],null]:null);case 72:case 125:return H(["=",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 73:return H(["=",i[l-3],i[l]],z?[null,u[l-3],u[l]]:null);case 74:case 126:return H(["=",i[l-4],i[l-1]],z?[null,u[l-4],u[l-1]]:null);case 75:return H(["state",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 76:return H(["state",i[l-3],i[l]],z?[null,u[l-3],u[l]]:null);case 77:return H(["state",i[l-4],i[l-1]],z?[null,u[l-4],u[l-1]]:null);case 78:case 80:return H(["computed",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 79:return H(["computed",i[l-3],i[l]],z?[null,u[l-3],u[l]]:null);case 81:return H(["readonly",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 82:return H(["readonly",i[l-3],i[l]],z?[null,u[l-3],u[l]]:null);case 83:return H(["readonly",i[l-4],i[l-1]],z?[null,u[l-4],u[l-1]]:null);case 84:return H(["gate",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 85:case 87:return H(["effect",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 86:return H(["effect",i[l-3],i[l]],z?[null,u[l-3],u[l]]:null);case 88:case 89:case 90:return H(["effect",null,i[l]],z?[null,null,u[l]]:null);case 98:case 145:return H([".",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 99:case 146:return H(["?.",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 100:case 102:case 147:return["[]",i[l-3],i[l-1]];case 101:case 103:case 148:return["[]",i[l-5],i[l-2]];case 104:case 149:return H([".{}",i[l-4],...i[l-2]],z?[null,u[l-4],...Dn(i[l-2])]:null);case 105:case 150:return H(["?.{}",i[l-4],...i[l-2]],z?[null,u[l-4],...Dn(i[l-2])]:null);case 106:case 151:return H([".{}",i[l-6],...i[l-3]],z?[null,u[l-6],...Dn(i[l-3])]:null);case 107:case 152:return H(["?.{}",i[l-6],...i[l-3]],z?[null,u[l-6],...Dn(i[l-3])]:null);case 108:return[i[l-1][0],i[l-3],...i[l-1].slice(1)];case 109:return H(["optindex",i[l-4],i[l-1]],z?[null,u[l-4],u[l-1]]:null);case 110:return H(["optindex",i[l-6],i[l-2]],z?[null,u[l-6],u[l-2]]:null);case 111:return["object-comprehension",i[l-8],i[l-6],[["for-of",i[l-4],i[l-2],!1]],[]];case 112:return["object-comprehension",i[l-10],i[l-8],[["for-of",i[l-6],i[l-4],!1]],[i[l-2]]];case 113:return["object-comprehension",i[l-9],i[l-7],[["for-of",i[l-4],i[l-2],!0]],[]];case 114:return["object-comprehension",i[l-11],i[l-9],[["for-of",i[l-6],i[l-4],!0]],[i[l-2]]];case 115:return H(["object",...i[l-2]],z?[null,...Dn(i[l-2])]:null);case 116:case 154:case 196:case 217:case 236:return[];case 119:case 157:case 164:case 220:case 240:case 385:case 414:return H([...i[l-3],i[l]],z?[...Dn(i[l-3]),u[l]]:null);case 120:case 158:case 165:case 221:case 242:case 387:case 416:return H([...i[l-5],...i[l-2]],z?[...Dn(i[l-5]),...Dn(i[l-2])]:null);case 121:return H([null,i[l],i[l]],z?[null,u[l],u[l]]:null);case 123:case 159:return H([":",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 124:case 160:return H([":",i[l-4],i[l-1]],z?[null,u[l-4],u[l-1]]:null);case 131:return H(["dynamicKey",i[l-1]],z?[null,u[l-1]]:null);case 132:return["[]","this",i[l-1]];case 134:case 135:case 161:case 230:return H(["...",i[l]],z?[null,u[l]]:null);case 141:case 234:return H(["super",...i[l]],z?[null,...Dn(i[l])]:null);case 142:case 143:case 144:case 232:case 235:return H([i[l-1],...i[l]],z?[u[l-1],...Dn(i[l])]:null);case 153:return H(["map-literal",...i[l-2]],z?[null,...Dn(i[l-2])]:null);case 166:return H([i[l],i[l],null],z?[u[l],u[l],null]:null);case 167:return H([i[l-2],i[l],null],z?[u[l-2],u[l],null]:null);case 168:return H([i[l-2],i[l-2],i[l]],z?[u[l-2],u[l-2],u[l]]:null);case 169:return H([i[l-4],i[l-2],i[l]],z?[u[l-4],u[l-2],u[l]]:null);case 186:return H(["array"],z?[null]:null);case 187:return H(["array",...i[l-1]],z?[null,...Dn(i[l-1])]:null);case 188:return H(["array",...i[l-2],...i[l-1]],z?[null,...Dn(i[l-2]),...Dn(i[l-1])]:null);case 190:return H([...i[l-2],...i[l]],z?[...Dn(i[l-2]),...Dn(i[l])]:null);case 191:return H([...i[l-3],...i[l]],z?[...Dn(i[l-3]),...Dn(i[l])]:null);case 192:return H([...i[l-2],...i[l-1]],z?[...Dn(i[l-2]),...Dn(i[l-1])]:null);case 193:return H([...i[l-5],...i[l-4],...i[l-2],...i[l-1]],z?[...Dn(i[l-5]),...Dn(i[l-4]),...Dn(i[l-2]),...Dn(i[l-1])]:null);case 197:return H([...i[l]],z?[...Dn(i[l])]:null);case 200:return null;case 202:return"..";case 203:case 246:return"...";case 204:return H([i[l-2],i[l-3],i[l-1]],z?[u[l-2],u[l-3],u[l-1]]:null);case 205:case 440:case 442:case 443:case 456:case 458:return H([i[l-1],i[l-2],i[l]],z?[u[l-1],u[l-2],u[l]]:null);case 206:return H([i[l],i[l-1],null],z?[u[l],u[l-1],null]:null);case 207:return H([i[l-1],null,i[l]],z?[u[l-1],null,u[l]]:null);case 208:return H([i[l],null,null],z?[u[l],null,null]:null);case 209:return H(["def",i[l-4],i[l-2],i[l]],z?[null,u[l-4],u[l-2],u[l]]:null);case 210:return["def",i[l-1],[],i[l]];case 211:case 213:return H([i[l-1],i[l-3],i[l]],z?[u[l-1],u[l-3],u[l]]:null);case 212:case 214:return[i[l-1],[],i[l]];case 223:case 349:return H(["default",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 224:return H(["rest",i[l]],z?[null,u[l]]:null);case 225:return H(["expansion"],z?[null]:null);case 231:return H(["tagged-template",i[l-1],i[l]],z?[null,u[l-1],u[l]]:null);case 233:return H(["optcall",i[l-2],...i[l]],z?[null,u[l-2],...Dn(i[l])]:null);case 247:return[i[l]];case 248:return[...i[l-2],i[l]];case 249:case 250:return"this";case 251:return H([".","this",i[l]],z?[null,null,u[l]]:null);case 252:return H([".","super",i[l]],z?[null,null,u[l]]:null);case 253:return["[]","super",i[l-1]];case 254:return["[]","super",i[l-2]];case 255:return H([".","new",i[l]],z?[null,null,u[l]]:null);case 256:return H([".","import",i[l]],z?[null,null,u[l]]:null);case 257:return H(["block"],z?[null]:null);case 258:return H(["block",...i[l-1]],z?[null,...Dn(i[l-1])]:null);case 259:return i[l-1].length===1?(Array.isArray(i[l-1][0])&&(i[l-1][0].parenthesized=!0),i[l-1][0]):["block",...i[l-1]];case 260:return i[l-2].length===1?(Array.isArray(i[l-2][0])&&(i[l-2][0].parenthesized=!0),i[l-2][0]):["block",...i[l-2]];case 263:return H(["return",i[l]],z?[null,u[l]]:null);case 264:return H(["return",i[l-1]],z?[null,u[l-1]]:null);case 265:return H(["return"],z?[null]:null);case 266:return H(["throw",i[l]],z?[null,u[l]]:null);case 267:return H(["throw",i[l-1]],z?[null,u[l-1]]:null);case 268:return H(["yield"],z?[null]:null);case 269:return H(["yield",i[l]],z?[null,u[l]]:null);case 270:return H(["yield",i[l-1]],z?[null,u[l-1]]:null);case 271:return H(["yield-from",i[l]],z?[null,u[l]]:null);case 272:case 274:return H(["if",i[l-1],i[l]],z?[null,u[l-1],u[l]]:null);case 273:case 275:return H(["if",i[l-2],i[l-1],i[l]],z?[null,u[l-2],u[l-1],u[l]]:null);case 277:return["if",["!",i[l-1]],i[l]];case 278:return["if",["!",i[l-3]],i[l-2],i[l]];case 281:case 282:return["if",i[l],[i[l-2]]];case 283:return H(["?:",i[l-4],i[l-6],i[l-1]],z?[null,u[l-4],u[l-6],u[l-1]]:null);case 284:return H(["?:",i[l-2],i[l-4],i[l]],z?[null,u[l-2],u[l-4],u[l]]:null);case 285:case 286:return["if",["!",i[l]],[i[l-2]]];case 287:return H(["try",i[l]],z?[null,u[l]]:null);case 288:return H(["try",i[l-1],i[l]],z?[null,u[l-1],u[l]]:null);case 289:return H(["try",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 290:return H(["try",i[l-3],i[l-2],i[l]],z?[null,u[l-3],u[l-2],u[l]]:null);case 291:case 292:case 293:case 422:case 425:case 427:return H([i[l-1],i[l]],z?[u[l-1],u[l]]:null);case 294:return H([null,i[l]],z?[null,u[l]]:null);case 295:return H(["switch",i[l-3],i[l-1],null],z?[null,u[l-3],u[l-1],null]:null);case 296:return H(["switch",i[l-5],i[l-3],i[l-1]],z?[null,u[l-5],u[l-3],u[l-1]]:null);case 297:return H(["switch",null,i[l-1],null],z?[null,null,u[l-1],null]:null);case 298:return H(["switch",null,i[l-3],i[l-1]],z?[null,null,u[l-3],u[l-1]]:null);case 301:return H(["when",i[l-1],i[l]],z?[null,u[l-1],u[l]]:null);case 302:return H(["when",i[l-2],i[l-1]],z?[null,u[l-2],u[l-1]]:null);case 303:return H(["while",i[l]],z?[null,u[l]]:null);case 304:return H(["while",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 305:return["while",["!",i[l]]];case 306:return["while",["!",i[l-2]],i[l]];case 307:return i[l-1].length===2?[i[l-1][0],i[l-1][1],i[l]]:[i[l-1][0],i[l-1][1],i[l-1][2],i[l]];case 308:case 309:return i[l].length===2?[i[l][0],i[l][1],[i[l-1]]]:[i[l][0],i[l][1],i[l][2],[i[l-1]]];case 311:return H(["loop",i[l]],z?[null,u[l]]:null);case 312:return["loop",[i[l]]];case 313:return H(["loop-n",i[l-1],i[l]],z?[null,u[l-1],u[l]]:null);case 314:return H(["for-in",i[l-3],i[l-1],null,null,i[l]],z?[null,u[l-3],u[l-1],null,null,u[l]]:null);case 315:return H(["for-in",i[l-5],i[l-3],null,i[l-1],i[l]],z?[null,u[l-5],u[l-3],null,u[l-1],u[l]]:null);case 316:return H(["for-in",i[l-5],i[l-3],i[l-1],null,i[l]],z?[null,u[l-5],u[l-3],u[l-1],null,u[l]]:null);case 317:return H(["for-in",i[l-7],i[l-5],i[l-1],i[l-3],i[l]],z?[null,u[l-7],u[l-5],u[l-1],u[l-3],u[l]]:null);case 318:return H(["for-in",i[l-7],i[l-5],i[l-3],i[l-1],i[l]],z?[null,u[l-7],u[l-5],u[l-3],u[l-1],u[l]]:null);case 319:return H(["for-of",i[l-3],i[l-1],!1,null,i[l]],z?[null,u[l-3],u[l-1],null,null,u[l]]:null);case 320:return H(["for-of",i[l-5],i[l-3],!1,i[l-1],i[l]],z?[null,u[l-5],u[l-3],null,u[l-1],u[l]]:null);case 321:return H(["for-of",i[l-3],i[l-1],!0,null,i[l]],z?[null,u[l-3],u[l-1],null,null,u[l]]:null);case 322:return H(["for-of",i[l-5],i[l-3],!0,i[l-1],i[l]],z?[null,u[l-5],u[l-3],null,u[l-1],u[l]]:null);case 323:return H(["for-as",i[l-3],i[l-1],!1,null,i[l]],z?[null,u[l-3],u[l-1],null,null,u[l]]:null);case 324:return H(["for-as",i[l-5],i[l-3],!1,i[l-1],i[l]],z?[null,u[l-5],u[l-3],null,u[l-1],u[l]]:null);case 325:case 327:return H(["for-as",i[l-3],i[l-1],!0,null,i[l]],z?[null,u[l-3],u[l-1],null,null,u[l]]:null);case 326:case 328:return H(["for-as",i[l-5],i[l-3],!0,i[l-1],i[l]],z?[null,u[l-5],u[l-3],null,u[l-1],u[l]]:null);case 329:return["for-in",[],i[l-1],null,null,i[l]];case 330:return["for-in",[],i[l-3],i[l-1],null,i[l]];case 331:return["comprehension",i[l-4],[["for-in",i[l-2],i[l],null]],[]];case 332:return["comprehension",i[l-6],[["for-in",i[l-4],i[l-2],null]],[i[l]]];case 333:return["comprehension",i[l-6],[["for-in",i[l-4],i[l-2],i[l]]],[]];case 334:return["comprehension",i[l-8],[["for-in",i[l-6],i[l-4],i[l]]],[i[l-2]]];case 335:return["comprehension",i[l-8],[["for-in",i[l-6],i[l-4],i[l-2]]],[i[l]]];case 336:return["comprehension",i[l-4],[["for-of",i[l-2],i[l],!1]],[]];case 337:return["comprehension",i[l-6],[["for-of",i[l-4],i[l-2],!1]],[i[l]]];case 338:return["comprehension",i[l-5],[["for-of",i[l-2],i[l],!0]],[]];case 339:return["comprehension",i[l-7],[["for-of",i[l-4],i[l-2],!0]],[i[l]]];case 340:return["comprehension",i[l-4],[["for-as",i[l-2],i[l],!1,null]],[]];case 341:return["comprehension",i[l-6],[["for-as",i[l-4],i[l-2],!1,null]],[i[l]]];case 342:return["comprehension",i[l-5],[["for-as",i[l-2],i[l],!0,null]],[]];case 343:return["comprehension",i[l-7],[["for-as",i[l-4],i[l-2],!0,null]],[i[l]]];case 344:return["comprehension",i[l-4],[["for-as",i[l-2],i[l],!0,null]],[]];case 345:return["comprehension",i[l-6],[["for-as",i[l-4],i[l-2],!0,null]],[i[l]]];case 346:return["comprehension",i[l-2],[["for-in",[],i[l],null]],[]];case 347:return["comprehension",i[l-4],[["for-in",[],i[l-2],i[l]]],[]];case 351:case 389:case 391:case 418:case 419:case 421:return H([i[l-2],i[l]],z?[u[l-2],u[l]]:null);case 354:return H(["class",null,null],z?[null,null,null]:null);case 355:return H(["class",null,null,i[l]],z?[null,null,null,u[l]]:null);case 356:return H(["class",null,i[l]],z?[null,null,u[l]]:null);case 357:return H(["class",null,i[l-1],i[l]],z?[null,null,u[l-1],u[l]]:null);case 358:return H(["class",i[l],null],z?[null,u[l],null]:null);case 359:return H(["class",i[l-1],null,i[l]],z?[null,u[l-1],null,u[l]]:null);case 360:return H(["class",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 361:return H(["class",i[l-3],i[l-1],i[l]],z?[null,u[l-3],u[l-1],u[l]]:null);case 362:return H(["enum",i[l-1],i[l]],z?[null,u[l-1],u[l]]:null);case 363:return H(["schema",i[l]],z?[null,u[l]]:null);case 364:return["component",null,["block",...i[l-1]]];case 365:return["component",i[l-3],["block",...i[l-1]]];case 372:return H(["offer",i[l]],z?[null,u[l]]:null);case 373:return H(["accept",i[l]],z?[null,u[l]]:null);case 374:case 375:return H(["render",i[l]],z?[null,u[l]]:null);case 376:case 379:return H(["import","{}",i[l]],z?[null,null,u[l]]:null);case 377:case 378:return H(["import",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 380:return H(["import",i[l-4],i[l]],z?[null,u[l-4],u[l]]:null);case 381:return H(["import",i[l-4],i[l-2],i[l]],z?[null,u[l-4],u[l-2],u[l]]:null);case 382:return H(["import",i[l-7],i[l-4],i[l]],z?[null,u[l-7],u[l-4],u[l]]:null);case 393:return H(["*",i[l]],z?[null,u[l]]:null);case 394:return H(["export","{}"],z?[null,null]:null);case 395:return H(["export",i[l-2]],z?[null,u[l-2]]:null);case 396:case 397:case 398:case 399:case 403:case 404:case 405:case 406:return H(["export",i[l]],z?[null,u[l]]:null);case 400:return["export",["=",i[l-2],i[l]]];case 401:return["export",["=",i[l-3],i[l]]];case 402:return["export",["=",i[l-4],i[l-1]]];case 407:return H(["export-default",i[l]],z?[null,u[l]]:null);case 408:return H(["export-default",i[l-1]],z?[null,u[l-1]]:null);case 409:return H(["export-all",i[l]],z?[null,u[l]]:null);case 410:return H(["export-from","{}",i[l]],z?[null,null,u[l]]:null);case 411:return H(["export-from",i[l-4],i[l]],z?[null,u[l-4],u[l]]:null);case 423:case 424:case 426:case 461:return H(["do-iife",i[l]],z?[null,u[l]]:null);case 428:return H(["-",i[l]],z?[null,u[l]]:null);case 429:return H(["+",i[l]],z?[null,u[l]]:null);case 430:return H(["?",i[l-1]],z?[null,u[l-1]]:null);case 431:return H(["presence",i[l-1]],z?[null,u[l-1]]:null);case 432:return H(["await",i[l]],z?[null,u[l]]:null);case 433:return H(["await",i[l-1]],z?[null,u[l-1]]:null);case 434:return H(["--",i[l],!1],z?[null,u[l],null]:null);case 435:return H(["++",i[l],!1],z?[null,u[l],null]:null);case 436:return H(["--",i[l-1],!0],z?[null,u[l-1],null]:null);case 437:return H(["++",i[l-1],!0],z?[null,u[l-1],null]:null);case 438:return H(["+",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 439:return H(["-",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 441:return H(["**",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 444:return H(["&",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 445:return H(["^",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 446:return H(["|",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 447:case 448:case 449:case 450:case 451:case 452:return H(["control",i[l-1],i[l-2],i[l]],z?[null,u[l-1],u[l-2],u[l]]:null);case 453:return H(["&&",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 454:return H(["||",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 455:return H(["??",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 457:return H(["?:",i[l-4],i[l-2],i[l]],z?[null,u[l-4],u[l-2],u[l]]:null);case 459:return H([i[l-3],i[l-4],i[l-1]],z?[u[l-3],u[l-4],u[l-1]]:null);case 460:return H([i[l-2],i[l-3],i[l]],z?[u[l-2],u[l-3],u[l]]:null)}},parseError(n,f){let e,t,i,u,l,a,c;if(f.recoverable)return this.trace(n);else throw i=(f.line||0)+1,e=f.loc?.c||0,c=f.token?` (token: ${f.token})`:"",a=f.text?` near '${f.text}'`:"",u=`line ${i}, column ${e}`,l=`Parse error at ${u}${c}${a}: ${n}`,t=Error(l),t.hash=f,t},parse(n){let f,e,t,i,u,l,a,c,r,h,o,s,w,_,A,y,R,U,m,D,M,q,S,d,K,E,Z,Q;[q,Q,o]=[[0],[null],[]],[A,Z,K,d,U]=[this.parseTable,"",0,0,0],[e,f]=[2,1],r=Object.create(this.lexer),D={ctx:{}};for(let W in this.ctx){if(!Object.hasOwn(this.ctx,W))continue;let C=this.ctx[W];D.ctx[W]=C}if(r.setInput(n,D.ctx),[D.ctx.lexer,D.ctx.parser]=[r,this],r.loc==null)r.loc={};E=r.loc,o.push(E),this.parseError=typeof D.ctx.parseError==="function"?D.ctx.parseError:Object.getPrototypeOf(this).parseError,c=()=>{let W;if(W=r.lex()||f,typeof W!=="number")W=this.symbolIds[W]||W;return W},S=y=M=t=R=_=a=w=u=null,m={};while(!0){if(M=q[q.length-1],S==null)S=c();if(t=A[M]?.[S],t==null){if(i="",!U)u=(()=>{let W=[];for(let C in A[M]){if(!Object.hasOwn(A[M],C))continue;if(this.tokenNames[C]&&C>e)W.push(`'${this.tokenNames[C]}'`)}return W})();throw i=(()=>{if(r.showPosition)return`Parse error on line ${K+1}:
1866
+ `;var J=!1,Pu=(n)=>{J=n},Y=(n,f)=>{if(f&&Array.isArray(n))Object.defineProperty(n,"subLocs",{value:f,enumerable:!1,configurable:!0,writable:!0});return n},Dn=(n)=>n&&n.subLocs?n.subLocs:Array.isArray(n)?n.map(()=>null):[],Ql={symbolIds:{$accept:0,$end:1,error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,ExpressionLine:8,Statement:9,Return:10,STATEMENT:11,Import:12,Export:13,Value:14,Code:15,Operation:16,Assign:17,ReactiveAssign:18,ComputedAssign:19,ReadonlyAssign:20,Effect:21,Gate:22,If:23,Try:24,While:25,For:26,Switch:27,Class:28,Component:29,Render:30,Throw:31,Yield:32,Def:33,Enum:34,Schema:35,CodeLine:36,OperationLine:37,Assignable:38,Literal:39,Parenthetical:40,Range:41,Invocation:42,DoIife:43,This:44,Super:45,MetaProperty:46,MapLiteral:47,Atom:48,JS:49,Regex:50,UNDEFINED:51,NULL:52,BOOL:53,INFINITY:54,NAN:55,SYMBOL:56,NUMBER:57,String:58,Identifier:59,IDENTIFIER:60,Property:61,PROPERTY:62,STRING:63,STRING_START:64,Interpolations:65,STRING_END:66,InterpolationChunk:67,INTERPOLATION_START:68,INTERPOLATION_END:69,INDENT:70,OUTDENT:71,REGEX:72,REGEX_START:73,REGEX_END:74,RegexWithIndex:75,",":76,"=":77,REACTIVE_ASSIGN:78,COMPUTED_ASSIGN:79,Block:80,READONLY_ASSIGN:81,GATE:82,EFFECT:83,SimpleAssignable:84,Array:85,Object:86,Subjectable:87,ThisProperty:88,".":89,"?.":90,INDEX_START:91,INDEX_END:92,Slice:93,PICK_START:94,PickList:95,OptComma:96,PICK_END:97,OPTPICK_START:98,ES6_OPTIONAL_INDEX:99,"{":100,ObjAssignable:101,":":102,FOR:103,ForVariables:104,FOROF:105,"}":106,WHEN:107,OWN:108,AssignList:109,AssignObj:110,ObjRestValue:111,SimpleObjAssignable:112,"[":113,"]":114,"@":115,"...":116,ObjSpreadExpr:117,SUPER:118,Arguments:119,DYNAMIC_IMPORT:120,MAP_START:121,MapAssignList:122,MAP_END:123,MapAssignObj:124,MapAssignable:125,PickItem:126,PickKey:127,Elisions:128,ArgElisionList:129,OptElisions:130,ArgElision:131,Arg:132,Elision:133,RangeDots:134,"..":135,DEF:136,CALL_START:137,ParamList:138,CALL_END:139,PARAM_START:140,PARAM_END:141,ArrowKind:142,"->":143,"=>":144,Param:145,ParamVar:146,Splat:147,ES6_OPTIONAL_CALL:148,ArgList:149,SimpleArgs:150,THIS:151,NEW_TARGET:152,IMPORT_META:153,"(":154,")":155,RETURN:156,THROW:157,YIELD:158,FROM:159,IfBlock:160,IF:161,IfElseTail:162,ELSE:163,UnlessBlock:164,UNLESS:165,POST_IF:166,POST_UNLESS:167,TRY:168,Catch:169,FINALLY:170,CATCH:171,SWITCH:172,Cases:173,When:174,LEADING_WHEN:175,WhileSource:176,WHILE:177,UNTIL:178,Loop:179,LOOP:180,FORIN:181,BY:182,FORAS:183,AWAIT:184,FORASAWAIT:185,ForValue:186,ClassName:187,CLASS:188,EXTENDS:189,ENUM:190,SCHEMA:191,SCHEMA_BODY:192,COMPONENT:193,ComponentBody:194,ComponentLine:195,OFFER:196,ACCEPT:197,RENDER:198,IMPORT:199,ImportDefaultSpecifier:200,ImportNamespaceSpecifier:201,ImportSpecifierList:202,ImportSpecifier:203,AS:204,DEFAULT:205,IMPORT_ALL:206,EXPORT:207,ExportSpecifierList:208,EXPORT_ALL:209,ExportSpecifier:210,UNARY:211,DO:212,DO_IIFE:213,UNARY_MATH:214,"-":215,"+":216,CAST:217,"?":218,PRESENCE:219,"--":220,"++":221,MATH:222,"**":223,SHIFT:224,COMPARE:225,"&":226,"^":227,"|":228,"||":229,"??":230,"&&":231,RELATION:232,TERNARY:233,COMPOUND_ASSIGN:234},tokenNames:{2:"error",6:"TERMINATOR",11:"STATEMENT",49:"JS",51:"UNDEFINED",52:"NULL",53:"BOOL",54:"INFINITY",55:"NAN",56:"SYMBOL",57:"NUMBER",60:"IDENTIFIER",62:"PROPERTY",63:"STRING",64:"STRING_START",66:"STRING_END",68:"INTERPOLATION_START",69:"INTERPOLATION_END",70:"INDENT",71:"OUTDENT",72:"REGEX",73:"REGEX_START",74:"REGEX_END",76:",",77:"=",78:"REACTIVE_ASSIGN",79:"COMPUTED_ASSIGN",81:"READONLY_ASSIGN",82:"GATE",83:"EFFECT",89:".",90:"?.",91:"INDEX_START",92:"INDEX_END",94:"PICK_START",97:"PICK_END",98:"OPTPICK_START",99:"ES6_OPTIONAL_INDEX",100:"{",102:":",103:"FOR",105:"FOROF",106:"}",107:"WHEN",108:"OWN",113:"[",114:"]",115:"@",116:"...",118:"SUPER",120:"DYNAMIC_IMPORT",121:"MAP_START",123:"MAP_END",135:"..",136:"DEF",137:"CALL_START",139:"CALL_END",140:"PARAM_START",141:"PARAM_END",143:"->",144:"=>",148:"ES6_OPTIONAL_CALL",151:"THIS",152:"NEW_TARGET",153:"IMPORT_META",154:"(",155:")",156:"RETURN",157:"THROW",158:"YIELD",159:"FROM",161:"IF",163:"ELSE",165:"UNLESS",166:"POST_IF",167:"POST_UNLESS",168:"TRY",170:"FINALLY",171:"CATCH",172:"SWITCH",175:"LEADING_WHEN",177:"WHILE",178:"UNTIL",180:"LOOP",181:"FORIN",182:"BY",183:"FORAS",184:"AWAIT",185:"FORASAWAIT",188:"CLASS",189:"EXTENDS",190:"ENUM",191:"SCHEMA",192:"SCHEMA_BODY",193:"COMPONENT",196:"OFFER",197:"ACCEPT",198:"RENDER",199:"IMPORT",204:"AS",205:"DEFAULT",206:"IMPORT_ALL",207:"EXPORT",209:"EXPORT_ALL",211:"UNARY",212:"DO",213:"DO_IIFE",214:"UNARY_MATH",215:"-",216:"+",217:"CAST",218:"?",219:"PRESENCE",220:"--",221:"++",222:"MATH",223:"**",224:"SHIFT",225:"COMPARE",226:"&",227:"^",228:"|",229:"||",230:"??",231:"&&",232:"RELATION",233:"TERNARY",234:"COMPOUND_ASSIGN"},parseTable:(()=>{let n=[114,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,-1,1,2,3,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,1,1,0,2,1,5,-2,114,5,1,5,63,2,84,-3,-3,-3,-3,-3,30,1,5,63,1,1,5,27,11,25,16,11,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,-6,133,-6,-6,-6,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,9,1,5,63,1,1,5,38,25,16,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,63,1,1,5,38,25,16,11,1,9,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,134,135,136,103,104,58,1,5,52,5,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,3,4,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-13,-13,139,112,113,-13,-13,-13,-13,-94,-94,-94,-13,-94,-13,-94,-94,-13,-13,-13,-13,-13,-13,-13,140,-13,-13,142,-13,-13,141,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,137,138,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,50,1,5,63,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,-95,-95,-95,-14,-95,-14,-95,-95,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,9,1,5,63,1,1,5,38,25,16,-35,-35,-35,-35,-35,-35,-35,-35,-35,9,1,5,63,1,1,5,38,25,16,-36,-36,-36,-36,-36,-36,-36,-36,-36,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,62,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-37,-37,-37,-37,-37,-37,-37,-37,143,144,145,146,148,147,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,18,6,53,1,10,1,5,9,1,2,12,13,2,1,22,1,2,4,1,-217,153,111,-217,-217,-217,155,156,154,106,158,157,152,149,-217,-217,150,151,113,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,3,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,160,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,161,109,110,159,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,110,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,162,163,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,110,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,165,166,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,167,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,173,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,174,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,175,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,176,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,49,14,1,23,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,11,1,1,1,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,59,178,179,180,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,177,76,77,100,99,106,88,92,89,90,95,168,169,96,97,91,93,94,87,172,49,14,1,23,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,11,1,1,1,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,59,178,179,180,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,181,76,77,100,99,106,88,92,89,90,95,168,169,96,97,91,93,94,87,172,65,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,182,183,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,184,110,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,3,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,186,185,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,161,109,110,187,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,2,70,10,161,188,2,70,10,161,189,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,14,41,18,1,25,1,2,12,4,4,5,2,31,38,2,193,153,111,155,156,154,106,190,191,88,157,195,192,194,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,196,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,197,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,51,1,5,53,1,9,1,1,5,4,8,4,5,5,1,2,1,1,7,1,1,7,12,4,2,14,8,3,1,10,1,3,1,1,2,2,2,26,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-354,-354,201,111,-354,161,-354,-354,198,202,-354,-354,-354,-354,-354,-354,-354,-354,157,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,200,199,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,2,70,119,203,204,109,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,3,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,206,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,161,109,110,205,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,207,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,208,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,147,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,7,1,1,1,1,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,2,12,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,3,2,1,2,5,1,8,4,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-268,-268,209,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-268,210,-268,109,110,-268,56,55,76,77,100,99,-268,-268,106,-268,-268,-268,-268,-268,88,-268,92,-268,89,90,95,-268,-268,69,-268,168,-268,169,96,97,91,93,94,87,-268,73,67,68,211,57,101,-268,58,102,-268,-268,59,63,60,-268,-268,61,105,-268,-268,-268,52,-268,64,70,71,65,66,74,75,170,171,172,49,50,51,-268,53,54,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,2,59,1,212,111,2,59,1,213,111,1,192,214,6,15,21,104,2,1,1,216,215,45,46,96,97,146,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,7,1,1,1,1,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,2,12,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,2,1,2,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,3,2,1,2,5,1,8,4,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-265,-265,217,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-265,218,-265,109,110,-265,56,55,76,77,100,99,-265,-265,106,-265,-265,-265,-265,-265,88,-265,92,-265,89,90,95,-265,-265,69,-265,168,-265,169,96,97,91,93,94,87,-265,73,67,68,57,101,-265,58,102,-265,-265,59,63,60,-265,-265,61,105,-265,-265,-265,52,-265,64,70,71,65,66,74,75,170,171,172,49,50,51,-265,53,54,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,9,58,1,1,3,1,36,100,1,5,219,223,111,112,113,222,220,221,224,64,14,1,3,1,1,1,7,1,4,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,13,2,3,2,1,15,4,2,1,1,7,1,1,1,34,2,3,12,4,4,178,179,231,232,233,234,226,227,228,229,237,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,230,111,112,113,109,110,56,238,76,77,100,99,225,88,92,89,90,95,69,168,169,96,97,91,93,94,87,64,70,65,235,236,172,62,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,62,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,113,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,239,3,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,240,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,120,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,7,1,1,1,1,1,12,3,10,1,1,1,2,2,1,7,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,241,250,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,247,109,110,248,56,55,76,77,100,99,106,62,88,242,92,252,89,90,95,243,244,246,249,245,69,45,46,96,97,251,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,4,89,2,28,18,254,255,253,142,2,119,18,256,142,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,58,1,5,55,1,1,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-250,-250,257,258,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,1,89,259,1,89,260,35,6,34,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,9,1,2,12,13,2,1,6,1,1,1,29,-154,277,268,269,272,271,270,273,274,278,107,108,265,111,266,258,112,113,-154,-154,109,110,-154,275,276,267,106,158,157,264,261,-154,262,263,87,57,11,38,2,1,1,1,1,1,1,3,3,1,6,2,1,10,17,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,57,11,38,2,1,1,1,1,1,1,3,3,1,6,2,1,10,17,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,65,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,65,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,6,89,1,1,3,4,1,279,280,281,282,283,284,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,285,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,286,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,287,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,288,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,109,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,3,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,290,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,161,109,110,289,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,23,6,42,9,1,1,1,1,1,1,1,6,1,5,12,13,5,3,1,1,1,1,2,1,-116,296,107,108,298,111,299,258,112,113,-116,-116,-116,300,291,-116,292,297,301,293,294,295,302,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,49,14,1,23,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,11,1,1,1,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,59,178,179,180,36,37,38,303,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,238,76,77,100,99,106,88,92,89,90,95,168,169,96,97,91,93,94,87,172,68,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,4,4,3,1,10,1,3,1,1,2,4,15,11,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,59,1,5,57,1,2,2,1,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,6,58,5,1,1,2,1,307,112,113,304,305,306,116,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,2,1,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,1,1,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,-5,308,-5,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-5,-5,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,-5,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,309,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,310,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,311,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,312,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,313,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,314,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,315,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,316,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,317,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,320,164,318,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,319,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,323,164,321,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,322,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,326,164,324,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,325,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,327,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,328,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,329,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,330,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,14,41,18,1,25,1,2,12,4,4,5,2,31,38,2,334,153,111,155,156,154,106,331,332,88,157,195,333,194,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,335,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,336,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,57,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,57,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,2,119,18,337,142,116,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,1,2,2,1,11,4,3,1,2,1,1,3,2,2,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,342,250,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,341,109,110,56,55,76,77,100,99,106,62,88,92,252,89,90,95,340,69,338,45,46,96,97,251,339,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,109,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,344,343,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,345,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,109,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,347,346,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,348,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,110,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,3,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,350,349,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,161,109,110,351,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,109,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,353,352,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,354,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,110,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,3,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,356,355,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,161,109,110,357,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,358,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,11,6,64,1,5,20,1,9,8,9,16,2,-261,-261,-261,360,361,-261,-261,-261,-261,-261,359,6,6,64,1,5,63,2,-218,-218,-218,-218,-218,-218,7,6,64,1,5,1,62,2,-222,-222,-222,-222,362,-222,-222,15,6,53,1,10,1,5,9,1,2,12,13,2,24,2,5,-225,153,111,-225,-225,-225,155,156,154,106,158,157,-225,-225,363,11,6,64,1,5,1,28,34,2,40,2,2,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,11,6,64,1,5,1,28,34,2,40,2,2,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,11,6,64,1,5,1,28,34,2,40,2,2,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,11,6,64,1,5,1,28,34,2,40,2,2,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,2,61,1,257,258,120,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,7,1,1,1,1,1,12,3,10,1,1,1,2,2,1,7,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,342,250,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,247,109,110,248,56,55,76,77,100,99,106,62,88,242,92,252,89,90,95,243,244,246,249,245,69,45,46,96,97,251,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,9,1,5,63,1,1,5,38,25,16,-214,-214,-214,-214,-214,-214,-214,-214,-214,113,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,365,3,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,364,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,132,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,9,1,5,63,1,1,5,38,25,16,-422,-422,-422,-422,-422,-422,-422,-422,-422,5,166,1,9,1,1,134,135,136,103,104,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,132,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,9,1,5,63,1,1,5,38,25,16,-423,-423,-423,-423,-423,-423,-423,-423,-423,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,132,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,119,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,18,6,53,1,10,1,5,9,1,2,12,13,2,1,22,1,2,4,1,-217,153,111,-217,-217,-217,155,156,154,106,158,157,152,366,-217,-217,150,151,2,70,10,161,159,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,162,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,165,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,5,15,125,2,1,1,216,168,169,96,97,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,132,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,119,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,132,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,119,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,132,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,2,86,14,367,106,62,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-435,-435,-91,-91,-435,-435,-435,-435,-91,-91,-91,-91,-91,-91,-91,-91,-91,-435,-91,-435,-91,-91,-435,-435,-435,-435,-435,-435,-435,-435,-435,-91,-435,-435,-91,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-91,-91,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,12,58,5,1,25,1,1,3,4,1,20,18,11,139,112,113,-94,-94,-94,-94,-94,-94,140,142,141,6,89,1,1,3,4,1,-95,-95,-95,-95,-95,-95,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,62,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-436,-436,-91,-91,-436,-436,-436,-436,-91,-91,-91,-91,-91,-91,-91,-91,-91,-436,-91,-436,-91,-91,-436,-436,-436,-436,-436,-436,-436,-436,-436,-91,-436,-436,-91,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-91,-91,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,109,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,370,368,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,369,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-88,-88,-88,-88,-88,-88,-88,-88,-88,133,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,130,131,132,103,104,-88,-88,-88,-88,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,371,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,47,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,2,1,1,6,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,372,373,374,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,4,105,76,2,2,376,375,377,378,11,59,1,25,1,2,12,4,9,2,31,40,153,111,155,156,154,106,379,158,157,195,194,11,59,1,25,1,2,12,4,9,2,31,40,153,111,155,156,154,106,380,158,157,195,194,3,70,10,102,161,381,382,5,76,29,76,2,2,383,-350,-350,-350,-350,6,76,1,28,76,2,2,-348,384,-348,-348,-348,-348,22,70,33,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,385,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,3,173,1,1,386,387,388,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,389,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,46,1,5,63,1,1,5,4,12,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,4,26,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-358,-358,-358,161,-358,-358,390,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,391,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,4,26,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,4,26,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,114,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,1,1,1,1,1,1,8,4,1,1,1,1,1,4,1,394,395,396,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,392,393,397,398,66,74,75,47,48,72,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,399,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-375,-375,-375,-375,-375,-375,-375,-375,-375,133,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,132,103,104,-375,-375,-375,-375,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,132,-266,-266,-266,-266,-266,-266,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,2,86,14,400,106,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,132,-269,-269,-269,-269,-269,-269,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,2,86,14,401,106,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,402,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,3,70,10,57,161,404,403,2,70,10,161,405,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,9,1,5,63,1,1,5,38,25,16,-424,-424,-424,-424,-424,-424,-424,-424,-424,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,132,-263,-263,-263,-263,-263,-263,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,2,86,14,406,106,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,2,76,83,408,407,1,159,409,7,59,1,10,36,96,1,2,414,111,413,410,411,412,415,2,76,83,-392,-392,1,204,416,26,6,42,9,1,1,1,1,1,1,1,6,1,5,12,13,5,3,1,1,1,1,2,1,89,3,2,-116,296,107,108,421,111,299,258,112,113,420,-116,-116,300,291,417,292,297,301,293,294,295,302,422,418,419,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,65,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-96,-96,-96,-96,-96,-96,-96,-96,423,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,424,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,425,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,1,159,426,60,1,5,57,1,5,1,1,5,2,1,2,2,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-37,-37,-37,-37,-37,-37,-37,-37,144,145,146,147,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,62,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,2,6,149,114,427,112,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,428,3,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,30,6,64,1,5,27,11,2,18,1,4,27,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,133,-243,431,429,430,-243,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,62,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,116,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,7,1,1,1,1,1,12,3,10,1,1,1,2,2,1,11,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,342,250,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,248,56,55,76,77,100,99,106,62,88,432,92,252,89,90,95,434,433,69,45,46,96,97,251,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,11,6,64,1,5,20,1,9,8,9,7,9,-261,-261,-261,436,437,-261,-261,-261,-261,435,-261,62,6,5,38,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,7,17,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,438,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,5,6,64,1,5,38,-189,-189,-189,-189,-189,119,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,7,1,1,1,1,1,12,3,10,2,1,2,2,1,7,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,342,250,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,247,109,110,248,56,55,76,77,100,99,106,62,88,92,252,89,90,95,440,439,246,249,245,69,45,46,96,97,251,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,62,6,5,38,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,7,17,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,5,6,64,1,5,38,-194,-194,-194,-194,-194,6,6,64,1,5,38,25,-244,-244,-244,-244,-244,-244,6,6,64,1,5,38,25,-245,-245,-245,-245,-245,-245,113,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,7,1,1,1,1,1,12,3,10,1,1,3,2,1,15,3,1,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,-246,441,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-246,-246,109,110,-246,56,55,76,77,100,99,106,62,88,-246,92,89,90,95,69,-246,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,57,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,2,61,1,442,258,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,443,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,444,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,57,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,66,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,4,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,66,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,4,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,2,61,1,445,258,2,61,1,446,258,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,448,447,-261,-261,-261,-261,-261,5,6,64,1,5,47,-155,-155,-155,-155,-155,1,102,449,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,450,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,1,102,-172,1,102,-173,1,102,-174,1,102,-175,1,102,-176,1,102,-177,1,102,-178,1,102,-179,1,102,-180,1,102,-181,1,102,-182,1,102,-183,1,102,-184,1,102,-185,2,61,1,451,258,2,61,1,452,258,113,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,2,8,1,1,1,1,1,5,7,3,10,2,1,2,2,1,13,1,1,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,453,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,458,81,82,83,84,85,86,107,108,98,111,112,113,454,109,110,456,56,55,76,77,100,99,455,106,62,88,92,431,89,90,95,457,430,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,8,59,1,1,1,8,25,31,1,463,111,464,258,460,459,461,462,8,59,1,1,1,8,25,31,1,463,111,464,258,466,465,461,462,1,91,467,23,70,10,23,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,161,468,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,23,70,10,23,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,161,469,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-303,-303,-303,-303,-303,-303,-303,-303,-303,133,-303,-303,470,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,132,103,104,-303,-303,-303,-303,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-305,-305,-305,-305,-305,-305,-305,-305,-305,133,-305,-305,471,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,132,103,104,-305,-305,-305,-305,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,46,1,5,63,1,1,5,4,12,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-312,-312,-312,161,-312,-312,472,-312,-312,-312,133,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,132,103,104,-312,-312,-312,-312,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,6,6,64,1,5,26,4,-121,-121,-121,-121,473,-121,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,475,474,-261,-261,-261,-261,-261,7,6,64,1,5,1,25,4,-130,-130,-130,-130,476,-130,-130,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,477,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,3,61,1,51,257,258,478,6,6,64,1,5,26,4,-133,-133,-133,-133,-133,-133,5,6,64,1,5,30,-117,-117,-117,-117,-117,13,6,64,1,5,1,12,1,1,3,4,4,4,31,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,13,6,64,1,5,1,12,1,1,3,4,4,4,31,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,13,6,64,1,5,1,12,1,1,3,4,4,4,31,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,5,6,64,1,5,30,-122,-122,-122,-122,-122,17,40,4,1,14,1,1,1,24,2,12,12,3,2,1,2,31,3,482,484,483,298,111,299,258,481,300,106,479,92,480,485,486,91,87,57,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-41,-41,-41,-41,-41,-41,-41,487,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,6,58,5,1,2,1,1,307,112,113,488,489,306,4,63,1,2,2,-62,-62,-62,-62,114,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,490,3,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,492,491,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,4,63,1,2,2,-67,-67,-67,-67,5,1,5,63,2,84,-4,-4,-4,-4,-4,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,132,-439,-439,-439,-439,-439,-439,-439,-439,-439,118,119,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,132,-440,-440,-440,-440,-440,-440,-440,-440,-440,118,119,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,132,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,119,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,132,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,119,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,132,-443,-443,-443,-443,-443,-443,117,116,-443,118,119,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,132,-444,-444,-444,-444,-444,-444,117,116,115,118,119,120,-444,-444,-444,-444,-444,-444,-444,128,-444,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,132,-445,-445,-445,-445,-445,-445,117,116,115,118,119,120,121,-445,-445,-445,-445,-445,-445,128,-445,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,132,-446,-446,-446,-446,-446,-446,117,116,115,118,119,120,121,122,-446,-446,-446,-446,-446,128,-446,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,132,-447,-447,-447,-447,-447,-447,117,116,115,118,119,120,121,122,123,-447,-447,-447,-447,128,-447,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,132,-455,-455,-455,-455,-455,-455,117,116,115,118,119,120,121,122,123,124,-455,-455,127,128,-455,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,132,-456,-456,-456,-456,-456,-456,117,116,115,118,119,120,121,122,123,124,-456,-456,127,128,-456,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,132,-454,-454,-454,-454,-454,-454,117,116,115,118,119,120,121,122,123,124,-454,-454,-454,128,-454,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,132,-457,-457,-457,-457,-457,-457,117,116,115,118,119,120,-457,-457,-457,-457,-457,-457,-457,-457,-457,22,102,1,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,493,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-282,-282,-282,-282,-282,-282,-282,-282,-282,133,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,494,-282,-282,132,103,104,-282,-282,-282,-282,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-286,-286,-286,-286,-286,-286,-286,-286,-286,133,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,132,103,104,-286,-286,-286,-286,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,4,105,76,2,2,496,495,497,498,11,59,1,25,1,2,12,4,9,2,31,40,153,111,155,156,154,106,499,158,157,195,194,11,59,1,25,1,2,12,4,9,2,31,40,153,111,155,156,154,106,500,158,157,195,194,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,501,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-281,-281,-281,-281,-281,-281,-281,-281,-281,133,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,132,103,104,-281,-281,-281,-281,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-285,-285,-285,-285,-285,-285,-285,-285,-285,133,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,132,103,104,-285,-285,-285,-285,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,57,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,57,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,503,502,-261,-261,-261,-261,-261,5,6,64,1,5,63,-238,-238,-238,-238,-238,115,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,1,2,2,1,11,4,4,2,1,1,3,2,2,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,342,250,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,341,109,110,56,55,76,77,100,99,106,62,88,92,252,89,90,95,340,69,45,46,96,97,251,504,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,27,6,64,1,5,27,11,25,27,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,133,-243,-243,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,132,-72,-72,-72,-72,-72,-72,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,505,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,506,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,-75,133,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,130,131,132,103,104,-75,-75,-75,-75,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,507,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,508,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,-78,133,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,130,131,132,103,104,-78,-78,-78,-78,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,509,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,-81,133,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,130,131,132,103,104,-81,-81,-81,-81,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,510,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,511,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-85,-85,-85,-85,-85,-85,-85,-85,-85,133,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,130,131,132,103,104,-85,-85,-85,-85,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,512,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,-84,-84,-84,133,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,130,131,132,103,104,-84,-84,-84,-84,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,3,142,1,1,513,96,97,19,6,53,1,10,1,14,1,2,9,3,6,7,1,1,1,7,16,6,1,-262,153,111,-262,-262,155,156,154,-262,106,-262,158,-262,157,152,-262,-262,514,151,2,6,64,515,516,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,517,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,6,6,64,1,5,63,2,-224,-224,-224,-224,-224,-224,59,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,3,1,4,2,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,2,6,65,114,518,11,6,64,1,5,20,1,9,8,9,16,2,-261,-261,-261,360,361,-261,-261,-261,-261,-261,519,1,71,520,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,132,-459,-459,-459,-459,-459,-459,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,521,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,522,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-89,-89,-89,-89,-89,-89,-89,-89,-89,133,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,130,131,132,103,104,-89,-89,-89,-89,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,523,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,2,70,10,161,524,8,59,1,10,10,5,1,14,13,525,111,161,528,527,526,106,158,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,529,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,530,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,531,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,532,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,1,105,533,1,183,534,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,535,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,10,59,1,25,1,2,12,13,2,31,40,153,111,155,156,154,106,158,157,195,536,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,537,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,3,173,1,1,538,387,388,4,71,92,11,1,539,540,541,388,3,71,92,12,-299,-299,-299,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,6,1,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,543,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,542,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,46,1,5,63,1,1,5,4,12,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-356,-356,-356,161,-356,-356,544,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,132,-356,-356,-356,-356,-356,-356,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,545,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,2,6,65,547,546,2,6,65,-366,-366,23,6,65,32,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-369,-369,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,2,6,65,-370,-370,7,6,65,95,1,9,1,1,-371,-371,134,135,136,103,104,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,548,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,1,60,549,22,70,33,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,550,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,1,71,551,1,71,552,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,132,-271,-271,-271,-271,-271,-271,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,18,6,53,1,10,1,5,9,1,2,12,13,2,1,22,1,2,4,1,-217,153,111,-217,-217,-217,155,156,154,106,158,157,152,553,-217,-217,150,151,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,1,71,554,3,58,5,1,555,112,113,3,100,101,5,557,556,224,3,58,5,1,558,112,113,1,159,559,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,561,560,-261,-261,-261,-261,-261,5,6,64,1,5,30,-383,-383,-383,-383,-383,6,59,1,10,132,1,2,414,111,413,562,412,415,6,6,64,1,5,30,98,-388,-388,-388,-388,-388,563,6,6,64,1,5,30,98,-390,-390,-390,-390,-390,564,2,59,1,565,111,14,1,5,63,1,1,5,38,25,16,4,7,1,10,1,-394,-394,-394,-394,-394,-394,-394,-394,-394,566,-394,-394,-394,-394,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,568,567,-261,-261,-261,-261,-261,5,6,64,1,5,30,-412,-412,-412,-412,-412,6,59,1,10,135,3,2,570,111,420,422,569,419,14,6,64,1,5,1,12,1,1,3,4,4,4,31,67,-417,-417,-417,-417,-127,-127,-127,-127,-127,-127,-127,-417,-127,571,6,6,64,1,5,30,98,-420,-420,-420,-420,-420,572,109,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,574,573,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,575,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,30,1,5,63,1,1,5,27,11,25,16,11,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-407,-407,-407,-407,-407,-407,133,-407,-407,-407,-407,-407,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,2,86,14,576,106,3,58,5,1,577,112,113,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,2,6,65,114,578,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,579,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,58,11,38,2,1,1,1,1,1,1,3,3,1,7,1,1,10,9,8,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,58,11,38,2,1,1,1,1,1,1,3,3,1,7,1,1,10,9,8,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,62,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,62,6,5,38,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,7,17,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,438,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,5,6,64,1,5,38,-195,-195,-195,-195,-195,2,70,44,581,580,125,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,7,1,1,1,1,1,9,3,3,3,7,1,1,1,2,2,1,2,5,3,1,1,3,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,-262,342,250,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-262,-262,109,110,248,56,55,76,77,100,99,-262,106,62,-262,88,-262,92,252,89,90,95,-262,583,582,249,245,69,-262,45,46,96,97,251,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,4,6,64,1,43,584,-196,-196,-196,62,6,5,38,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,7,17,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,11,6,64,1,5,20,1,9,8,9,7,9,-261,-261,-261,436,437,-261,-261,-261,-261,585,-261,115,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,7,1,1,1,1,1,12,3,10,2,1,2,2,1,11,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,342,250,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,248,56,55,76,77,100,99,106,62,88,92,252,89,90,95,434,433,69,45,46,96,97,251,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,27,6,64,1,5,27,11,25,27,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-230,-230,-230,-230,133,-230,-230,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,22,92,11,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,586,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,587,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,3,6,64,53,589,590,588,37,6,34,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,12,1,2,9,3,6,7,1,1,1,7,1,1,14,15,-262,277,268,269,272,271,270,273,274,278,107,108,265,111,266,258,112,113,-262,-262,109,110,275,276,267,-262,106,-262,158,-262,157,264,-262,591,263,-262,87,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,592,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,593,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,26,6,64,1,5,27,20,43,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-161,-161,-161,-161,133,-161,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,65,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,65,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,25,92,11,13,18,1,31,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,594,133,431,595,430,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,111,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,5,7,3,10,2,1,2,2,1,13,1,1,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,596,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,597,106,62,88,92,431,89,90,95,457,430,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,1,92,598,1,92,599,109,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,10,1,1,1,1,1,4,8,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,600,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-208,109,110,56,55,76,77,100,99,-208,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-49,-49,-49,-49,-49,-49,-49,601,-49,-49,-49,-71,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,603,602,-261,-261,-261,-261,-261,7,59,1,1,1,33,31,1,463,111,464,258,604,461,462,5,6,64,1,5,21,-162,-162,-162,-162,-162,7,6,64,1,5,1,20,5,-166,-166,-166,-166,606,-166,605,7,6,64,1,5,1,20,5,-170,-170,-170,-170,-170,-170,-170,7,6,64,1,5,1,20,5,-171,-171,-171,-171,-171,-171,-171,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,603,607,-261,-261,-261,-261,-261,7,59,1,1,1,33,31,1,463,111,464,258,608,461,462,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,609,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,610,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,7,1,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,611,612,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,613,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,614,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,615,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,616,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,617,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,3,6,64,36,619,620,618,25,6,42,9,1,1,1,1,1,1,1,6,1,17,9,4,5,4,1,1,1,1,1,1,7,16,-262,296,107,108,298,111,299,258,112,113,-262,-262,300,-262,622,-262,621,301,293,294,-262,295,302,-262,-262,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,623,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,624,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,22,103,11,52,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,133,625,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,626,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,12,6,64,1,5,13,1,1,3,4,8,13,18,-134,-134,-134,-134,-136,-136,-136,-136,-136,-134,627,142,12,6,64,1,5,13,1,1,3,4,8,13,18,-135,-135,-135,-135,629,630,631,632,633,-135,628,142,11,6,64,1,5,13,1,1,3,4,8,31,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,11,6,64,1,5,13,1,1,3,4,8,31,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,11,6,64,1,5,13,1,1,3,4,8,31,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,11,6,64,1,5,13,1,1,3,4,8,31,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,4,89,2,28,18,254,255,634,142,2,119,18,635,142,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,59,1,5,57,1,2,2,1,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,4,63,1,2,2,-63,-63,-63,-63,2,6,63,114,636,112,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,637,3,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,4,63,1,2,2,-66,-66,-66,-66,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,638,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,640,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,639,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,641,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,642,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,643,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,644,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,1,105,645,1,183,646,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,647,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,3,6,64,69,649,650,648,121,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,10,1,1,1,1,1,9,3,3,3,7,1,1,1,2,2,1,2,9,4,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,-262,342,250,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-262,-262,109,110,56,55,76,77,100,99,-262,106,62,-262,88,-262,92,252,89,90,95,-262,651,69,-262,45,46,96,97,251,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,503,652,-261,-261,-261,-261,-261,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,132,-73,-73,-73,-73,-73,-73,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,22,71,32,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,653,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-76,-76,-76,-76,-76,-76,-76,-76,-76,133,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,130,131,132,103,104,-76,-76,-76,-76,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,22,71,32,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,654,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-79,-79,-79,-79,-79,-79,-79,-79,-79,133,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,130,131,132,103,104,-79,-79,-79,-79,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-82,-82,-82,-82,-82,-82,-82,-82,-82,133,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,130,131,132,103,104,-82,-82,-82,-82,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,22,71,32,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,655,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,-86,-86,-86,-86,-86,133,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,130,131,132,103,104,-86,-86,-86,-86,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,113,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,3,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,657,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,161,109,110,656,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,6,6,64,1,5,63,2,-219,-219,-219,-219,-219,-219,11,59,1,25,1,2,12,13,2,1,29,1,153,111,155,156,154,106,158,157,152,658,151,18,6,53,1,10,1,5,9,1,2,12,13,2,1,22,1,2,4,1,-217,153,111,-217,-217,-217,155,156,154,106,158,157,152,659,-217,-217,150,151,27,6,64,1,5,27,36,2,25,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-223,-223,-223,-223,133,-223,-223,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,59,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,3,1,4,2,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,3,142,1,1,660,96,97,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,22,71,32,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,661,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,132,-461,-461,-461,-461,-461,-461,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,2,70,10,161,662,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,2,70,10,161,663,2,70,10,161,664,2,70,10,161,665,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,25,70,10,23,4,59,1,9,1,1,4,33,1,1,5,1,1,1,1,1,1,1,1,1,1,1,161,666,133,667,130,131,132,103,104,668,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,24,70,10,23,4,59,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,161,669,133,670,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,24,70,10,23,4,59,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,161,671,133,672,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,24,70,10,23,4,59,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,161,673,133,674,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,675,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,676,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,23,70,10,23,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,161,677,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,4,105,76,2,2,-351,-351,-351,-351,26,76,27,2,61,1,9,1,1,3,2,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-349,133,-349,130,131,132,103,104,-349,-349,-349,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,4,71,92,11,1,678,679,541,388,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,2,70,10,161,680,3,71,92,12,-300,-300,-300,3,70,6,4,161,682,681,23,70,6,27,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-247,-247,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,46,1,5,63,1,1,5,4,12,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-360,-360,-360,161,-360,-360,683,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,132,-360,-360,-360,-360,-360,-360,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,115,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,2,1,1,1,1,8,4,1,1,1,1,1,4,1,-368,394,395,396,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-368,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,684,397,398,66,74,75,47,48,72,49,50,51,53,54,23,6,65,32,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-372,-372,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,2,6,65,-373,-373,114,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,1,1,1,1,1,1,8,4,1,1,1,1,1,4,1,394,395,396,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,685,393,397,398,66,74,75,47,48,72,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,360,361,-261,-261,-261,-261,686,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,1,159,687,6,59,1,10,132,1,2,414,111,413,688,412,415,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,3,58,5,1,689,112,113,3,6,64,36,691,692,690,12,6,53,1,10,1,26,9,8,9,16,64,2,-262,414,111,-262,-262,-262,-262,-262,-262,-262,693,415,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,561,694,-261,-261,-261,-261,-261,2,59,1,695,111,2,59,1,696,111,1,159,-393,3,58,5,1,697,112,113,3,6,64,36,699,700,698,12,6,53,1,10,1,26,9,8,9,16,66,5,-262,570,111,-262,-262,-262,-262,-262,-262,-262,422,701,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,568,702,-261,-261,-261,-261,-261,6,6,64,1,5,30,98,-417,-417,-417,-417,-417,571,3,59,1,145,703,111,704,2,59,1,705,111,30,1,5,63,1,1,5,27,11,25,16,11,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-400,-400,-400,-400,-400,-400,133,-400,-400,-400,-400,-400,132,-400,-400,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,706,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,707,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,1,71,708,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,1,155,709,22,103,11,52,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,133,710,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,62,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,119,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,7,1,1,1,1,1,12,3,10,2,1,2,2,1,7,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,342,250,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,247,109,110,248,56,55,76,77,100,99,106,62,88,92,252,89,90,95,440,711,246,249,245,69,45,46,96,97,251,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,5,6,64,1,5,38,-190,-190,-190,-190,-190,118,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,7,1,1,1,1,1,12,3,10,1,1,1,2,2,1,11,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,342,250,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-197,-197,109,110,248,56,55,76,77,100,99,106,62,88,-197,92,252,89,90,95,434,433,69,45,46,96,97,251,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,117,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,7,1,1,1,1,1,12,3,10,2,1,2,2,1,7,3,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,342,250,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,248,56,55,76,77,100,99,106,62,88,92,252,89,90,95,440,712,249,245,69,45,46,96,97,251,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,2,70,1,581,713,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,22,71,32,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,714,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,29,40,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,12,1,2,12,13,2,1,8,1,29,277,268,269,272,271,270,273,274,278,107,108,265,111,266,258,112,113,109,110,275,276,267,106,158,157,264,715,263,87,35,6,34,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,9,1,2,12,13,2,1,6,1,1,1,29,-154,277,268,269,272,271,270,273,274,278,107,108,265,111,266,258,112,113,-154,-154,109,110,-154,275,276,267,106,158,157,264,716,-154,262,263,87,5,6,64,1,5,47,-156,-156,-156,-156,-156,26,6,64,1,5,27,20,43,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-159,-159,-159,-159,133,-159,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,717,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,65,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,109,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,10,1,1,1,1,1,4,8,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,718,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-206,109,110,56,55,76,77,100,99,-206,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,25,71,32,13,18,1,31,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,719,133,431,595,430,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,1,71,720,65,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,65,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,23,71,21,11,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-207,-207,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,721,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,3,6,64,27,723,724,722,14,6,53,1,1,1,8,1,26,9,8,9,3,1,12,-262,463,111,464,258,-262,-262,-262,-262,-262,-262,725,462,-262,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,603,726,-261,-261,-261,-261,-261,5,59,1,1,1,65,463,111,464,258,727,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,728,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,3,6,64,27,723,724,729,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,603,730,-261,-261,-261,-261,-261,22,92,11,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,731,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,732,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,3,70,10,81,161,734,733,2,70,10,161,735,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,132,-304,-304,-304,-304,-304,-304,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,132,-306,-306,-306,-306,-306,-306,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,26,6,64,1,5,27,3,60,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,736,-123,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,737,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,62,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,17,48,9,1,1,1,1,1,1,1,24,13,9,1,1,1,2,1,296,107,108,298,111,299,258,112,113,300,622,738,301,293,294,295,302,23,6,42,9,1,1,1,1,1,1,1,6,1,5,12,13,5,3,1,1,1,1,2,1,-116,296,107,108,298,111,299,258,112,113,-116,-116,-116,300,622,-116,739,297,301,293,294,295,302,5,6,64,1,5,30,-118,-118,-118,-118,-118,6,6,64,1,5,26,4,-121,-121,-121,-121,740,-121,26,6,64,1,5,27,3,60,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-125,-125,-125,-125,133,-125,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,741,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,6,6,64,1,5,26,4,-131,-131,-131,-131,-131,-131,22,103,11,52,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,133,742,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,11,6,64,1,5,13,1,1,3,4,8,31,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,11,6,64,1,5,13,1,1,3,4,8,31,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,2,61,1,743,258,2,61,1,744,258,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,745,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,746,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,8,59,1,1,1,8,25,31,1,463,111,464,258,748,747,461,462,8,59,1,1,1,8,25,31,1,463,111,464,258,750,749,461,462,11,6,64,1,5,13,1,1,3,4,8,31,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,11,6,64,1,5,13,1,1,3,4,8,31,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,4,63,1,2,2,-64,-64,-64,-64,2,6,65,114,751,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,132,-458,-458,-458,-458,-458,-458,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,752,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-284,-284,-284,-284,-284,-284,-284,-284,-284,133,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,132,103,104,-284,-284,-284,-284,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,753,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,132,-331,-331,-331,754,-331,-331,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,755,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,132,-336,-336,-336,-336,-336,-336,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,756,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,132,-340,-340,-340,-340,-340,-340,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,757,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,132,-344,-344,-344,-344,-344,-344,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,758,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,759,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,132,-347,-347,-347,-347,-347,-347,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,57,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,113,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,1,2,2,1,11,4,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,342,250,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,252,89,90,95,760,69,45,46,96,97,251,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,115,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,1,2,2,1,11,4,4,2,1,1,3,2,2,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,342,250,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,341,109,110,56,55,76,77,100,99,106,62,88,92,252,89,90,95,340,69,45,46,96,97,251,761,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,5,6,64,1,5,63,-239,-239,-239,-239,-239,3,6,64,1,649,650,762,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,9,1,5,63,1,1,5,38,25,16,-213,-213,-213,-213,-213,-213,-213,-213,-213,6,6,64,1,5,63,2,-220,-220,-220,-220,-220,-220,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,360,763,-261,-261,-261,-261,-261,2,70,10,161,656,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,764,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,765,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,766,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,767,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,768,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,24,70,10,23,4,59,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,161,769,133,770,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,24,70,10,23,4,59,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,161,771,133,772,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,2,70,10,161,773,1,71,774,4,6,65,92,12,775,-301,-301,-301,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,776,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,2,6,65,-367,-367,2,6,65,547,777,2,70,10,161,778,3,58,5,1,779,112,113,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,561,780,-261,-261,-261,-261,-261,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,1,159,781,4,59,1,143,2,414,111,782,415,6,59,1,10,132,1,2,414,111,413,783,412,415,5,6,64,1,5,30,-384,-384,-384,-384,-384,3,6,64,1,691,692,784,5,6,64,1,5,30,-389,-389,-389,-389,-389,5,6,64,1,5,30,-391,-391,-391,-391,-391,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,14,1,5,63,1,1,5,38,25,16,4,7,1,10,1,-395,-395,-395,-395,-395,-395,-395,-395,-395,785,-395,-395,-395,-395,4,59,1,145,5,570,111,422,786,6,59,1,10,135,3,2,570,111,420,422,787,419,5,6,64,1,5,30,-413,-413,-413,-413,-413,3,6,64,1,699,700,788,5,6,64,1,5,30,-418,-418,-418,-418,-418,5,6,64,1,5,30,-419,-419,-419,-419,-419,5,6,64,1,5,30,-421,-421,-421,-421,-421,30,1,5,63,1,1,5,27,11,25,16,11,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-401,-401,-401,-401,-401,-401,133,-401,-401,-401,-401,-401,132,-401,-401,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,22,71,32,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,789,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,11,6,64,1,5,20,1,9,8,9,7,9,-261,-261,-261,436,437,-261,-261,-261,-261,790,-261,5,6,64,1,5,38,-191,-191,-191,-191,-191,5,6,64,1,5,38,-192,-192,-192,-192,-192,1,92,791,5,6,64,1,5,47,-157,-157,-157,-157,-157,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,448,792,-261,-261,-261,-261,-261,22,71,32,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,793,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,23,71,21,11,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-205,-205,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,1,92,794,1,92,795,22,92,11,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-70,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,65,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,6,59,1,1,1,64,1,463,111,464,258,796,462,7,59,1,1,1,33,31,1,463,111,464,258,797,461,462,5,6,64,1,5,21,-163,-163,-163,-163,-163,3,6,64,1,723,724,798,6,6,64,1,5,1,20,-167,-167,-167,-167,799,-167,26,6,64,1,5,21,6,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-168,-168,-168,-168,-168,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,65,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,3,6,64,1,723,724,800,65,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,22,71,32,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,801,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,802,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,14,41,18,1,25,1,2,12,4,4,5,2,31,38,2,334,153,111,155,156,154,106,803,804,88,157,195,333,194,22,71,32,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,805,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,5,6,64,1,5,30,-119,-119,-119,-119,-119,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,475,806,-261,-261,-261,-261,-261,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,807,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,617,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,22,71,32,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,808,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,6,6,64,1,5,26,4,-132,-132,-132,-132,-132,-132,11,6,64,1,5,13,1,1,3,4,8,31,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,11,6,64,1,5,13,1,1,3,4,8,31,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,22,92,11,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,809,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,810,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,603,811,-261,-261,-261,-261,-261,7,59,1,1,1,33,31,1,463,111,464,258,812,461,462,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,603,813,-261,-261,-261,-261,-261,7,59,1,1,1,33,31,1,463,111,464,258,814,461,462,1,69,815,22,71,32,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,816,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,817,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,818,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,819,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,820,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,821,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,822,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,132,-338,-338,-338,-338,-338,-338,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,823,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,132,-342,-342,-342,-342,-342,-342,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,5,6,64,1,5,63,-240,-240,-240,-240,-240,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,503,824,-261,-261,-261,-261,-261,5,6,64,1,5,63,-241,-241,-241,-241,-241,3,6,64,1,515,516,825,24,70,10,23,63,1,9,1,1,4,33,1,1,5,1,1,1,1,1,1,1,1,1,1,1,161,826,133,130,131,132,103,104,827,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,24,70,10,23,4,59,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,161,828,133,829,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,23,70,10,23,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,161,830,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,23,70,10,23,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,161,831,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,23,70,10,23,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,161,832,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,833,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,834,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,1,71,835,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,3,71,92,12,-302,-302,-302,23,70,6,27,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-248,-248,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,3,6,64,36,691,692,836,3,58,5,1,837,112,113,5,6,64,1,5,30,-385,-385,-385,-385,-385,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,561,838,-261,-261,-261,-261,-261,5,6,64,1,5,30,-386,-386,-386,-386,-386,3,58,5,1,839,112,113,5,6,64,1,5,30,-414,-414,-414,-414,-414,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,568,840,-261,-261,-261,-261,-261,5,6,64,1,5,30,-415,-415,-415,-415,-415,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,2,70,1,581,841,56,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,3,6,64,1,589,590,842,5,6,64,1,5,47,-160,-160,-160,-160,-160,65,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,65,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,5,6,64,1,5,21,-164,-164,-164,-164,-164,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,603,843,-261,-261,-261,-261,-261,1,97,844,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,845,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,1,97,846,1,92,847,23,70,10,23,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,161,848,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,4,105,76,2,2,849,495,497,498,11,59,1,25,1,2,12,4,9,2,31,40,153,111,155,156,154,106,850,158,157,195,194,5,6,64,1,5,30,-124,-124,-124,-124,-124,3,6,64,1,619,620,851,26,6,64,1,5,27,3,60,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,133,-123,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,5,6,64,1,5,30,-126,-126,-126,-126,-126,11,6,64,1,5,13,1,1,3,4,8,31,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,22,71,32,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,852,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,3,6,64,27,723,724,853,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,603,854,-261,-261,-261,-261,-261,3,6,64,27,723,724,855,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,603,856,-261,-261,-261,-261,-261,4,63,1,2,2,-65,-65,-65,-65,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,132,-332,-332,-332,857,-332,-332,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,858,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,132,-333,-333,-333,-333,-333,-333,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,132,-337,-337,-337,-337,-337,-337,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,132,-341,-341,-341,-341,-341,-341,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,132,-345,-345,-345,-345,-345,-345,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,859,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,860,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,3,6,64,1,649,650,861,6,6,64,1,5,63,2,-221,-221,-221,-221,-221,-221,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,862,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,863,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,23,70,10,23,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,161,864,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,23,70,10,23,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,161,865,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,1,159,866,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,3,6,64,1,691,692,867,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,3,6,64,1,699,700,868,5,6,64,1,5,38,-193,-193,-193,-193,-193,5,6,64,1,5,47,-158,-158,-158,-158,-158,3,6,64,1,723,724,869,65,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,26,6,64,1,5,21,6,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-169,-169,-169,-169,-169,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,65,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,65,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,7,1,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,870,612,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,871,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,1,105,872,5,6,64,1,5,30,-120,-120,-120,-120,-120,1,92,873,11,6,64,1,5,13,1,1,3,4,8,31,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,3,6,64,1,723,724,874,11,6,64,1,5,13,1,1,3,4,8,31,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,3,6,64,1,723,724,875,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,876,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,877,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,132,-339,-339,-339,-339,-339,-339,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,132,-343,-343,-343,-343,-343,-343,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,5,6,64,1,5,63,-242,-242,-242,-242,-242,23,70,10,23,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,161,878,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,23,70,10,23,63,1,9,1,1,37,1,1,5,1,1,1,1,1,1,1,1,1,1,1,161,879,133,130,131,132,103,104,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,3,58,5,1,880,112,113,5,6,64,1,5,30,-387,-387,-387,-387,-387,5,6,64,1,5,30,-416,-416,-416,-416,-416,5,6,64,1,5,21,-165,-165,-165,-165,-165,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,46,1,5,63,1,1,5,16,4,1,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-336,-336,-336,883,-336,881,-336,-336,-336,-336,-336,882,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,132,-336,-336,-336,-336,-336,-336,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,884,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,11,6,64,1,5,13,1,1,3,4,8,31,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,1,97,885,1,97,886,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,132,-334,-334,-334,-334,-334,-334,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,45,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,132,-335,-335,-335,-335,-335,-335,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,1,106,887,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,888,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,8,6,64,1,26,9,8,9,16,-262,-262,-262,-262,-262,-262,-262,-262,46,1,5,63,1,1,5,16,4,1,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-338,-338,-338,-338,-338,883,-338,889,-338,-338,-338,-338,-338,890,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,132,-338,-338,-338,-338,-338,-338,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,11,6,64,1,5,13,1,1,3,4,8,31,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,11,6,64,1,5,13,1,1,3,4,8,31,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,62,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,46,1,5,63,1,1,5,16,4,1,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-337,-337,-337,-337,-337,883,-337,891,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,132,-337,-337,-337,-337,-337,-337,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,1,106,892,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,4,1,893,164,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,168,169,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,170,171,172,49,50,51,53,54,1,106,894,62,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,46,1,5,63,1,1,5,16,4,1,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,1,5,1,1,1,1,1,1,1,1,1,1,1,-339,-339,-339,-339,-339,883,-339,895,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,132,-339,-339,-339,-339,-339,-339,117,116,115,118,119,120,121,122,123,124,125,126,127,128,129,62,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,1,106,896,62,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114],f=[],e=0,a,i,l,u;while(e<n.length){a=n[e++],i={},l=0,u=[];while(a--)l+=n[e++],u.push(l);for(l of u)i[l]=n[e++];f.push(i)}return f})(),ruleTable:[0,0,3,0,3,1,4,1,4,3,4,2,5,1,5,1,5,1,9,1,9,1,9,1,9,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,48,1,48,1,59,1,61,1,58,1,58,3,65,1,65,2,67,3,67,5,67,2,67,1,50,1,50,3,75,3,75,1,17,3,17,4,17,5,18,3,18,4,18,5,19,3,19,4,19,3,20,3,20,4,20,5,22,3,21,3,21,4,21,3,21,2,21,3,21,2,38,1,38,1,38,1,87,1,87,1,84,1,84,1,84,3,84,3,84,4,84,6,84,4,84,6,84,5,84,5,84,7,84,7,84,4,84,5,84,7,86,10,86,12,86,11,86,13,86,4,109,0,109,1,109,3,109,4,109,6,110,1,110,1,110,3,110,5,110,3,110,5,112,1,112,1,112,1,101,1,101,3,101,4,101,1,111,2,111,2,117,1,117,1,117,1,117,1,117,1,117,2,117,2,117,2,117,2,117,3,117,3,117,4,117,6,117,5,117,5,117,7,117,7,47,4,122,0,122,1,122,3,122,4,122,6,124,3,124,5,124,2,95,1,95,3,95,4,95,6,126,1,126,3,126,3,126,5,127,1,127,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,85,2,85,3,85,4,129,1,129,3,129,4,129,4,129,6,131,1,131,2,130,1,130,2,128,1,128,2,133,1,133,2,134,1,134,1,41,5,93,3,93,2,93,2,93,1,33,6,33,3,15,5,15,2,36,5,36,2,142,1,142,1,138,0,138,1,138,3,138,4,138,6,145,1,145,3,145,2,145,1,146,1,146,1,146,1,146,1,147,2,42,2,42,2,42,3,42,2,42,2,119,2,119,4,149,1,149,3,149,4,149,4,149,6,132,1,132,1,132,1,132,1,150,1,150,3,44,1,44,1,88,2,45,3,45,4,45,6,46,3,46,3,80,2,80,3,40,3,40,5,96,0,96,1,10,2,10,4,10,1,31,2,31,4,32,1,32,2,32,4,32,3,160,3,160,4,162,4,162,5,162,2,164,3,164,5,23,1,23,1,23,3,23,3,23,7,23,5,23,3,23,3,24,2,24,3,24,4,24,5,169,3,169,3,169,3,169,2,27,5,27,7,27,4,27,6,173,1,173,2,174,3,174,4,176,2,176,4,176,2,176,4,25,2,25,2,25,2,25,1,179,2,179,2,179,3,26,5,26,7,26,7,26,9,26,9,26,5,26,7,26,6,26,8,26,5,26,7,26,6,26,8,26,5,26,7,26,3,26,5,26,5,26,7,26,7,26,9,26,9,26,5,26,7,26,6,26,8,26,5,26,7,26,6,26,8,26,5,26,7,26,3,26,5,186,1,186,3,104,1,104,3,187,1,187,1,28,1,28,2,28,3,28,4,28,2,28,3,28,4,28,5,34,3,35,2,29,4,29,6,194,1,194,3,194,2,195,1,195,1,195,1,195,2,195,2,30,2,30,2,12,2,12,4,12,4,12,5,12,7,12,6,12,9,202,1,202,3,202,4,202,4,202,6,203,1,203,3,203,1,203,3,200,1,201,3,13,3,13,5,13,2,13,2,13,2,13,2,13,4,13,5,13,6,13,2,13,2,13,2,13,2,13,3,13,5,13,4,13,5,13,7,208,1,208,3,208,4,208,4,208,6,210,1,210,3,210,3,210,1,210,3,37,2,37,2,37,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,4,16,2,16,2,16,2,16,2,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,5,16,3,16,5,16,4,43,2],ruleActions:(n,f,e,a)=>{let i=f,l=e,u=f.length-1;switch(n){case 1:return Y(["program"],J?[null]:null);case 2:return Y(["program",...i[u]],J?[null,...Dn(i[u])]:null);case 3:case 62:case 117:case 155:case 162:case 194:case 198:case 218:case 238:case 299:case 350:case 366:case 383:case 412:return Y([i[u]],J?[l[u]]:null);case 4:case 118:case 156:case 163:case 219:case 239:case 367:case 384:case 413:return Y([...i[u-2],i[u]],J?[...Dn(i[u-2]),l[u]]:null);case 5:case 64:case 201:case 368:return i[u-1];case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 48:case 49:case 52:case 53:case 54:case 56:case 57:case 58:case 59:case 60:case 67:case 68:case 91:case 92:case 93:case 94:case 95:case 96:case 97:case 122:case 127:case 128:case 129:case 130:case 133:case 136:case 137:case 138:case 139:case 140:case 170:case 171:case 172:case 173:case 174:case 175:case 176:case 177:case 180:case 181:case 182:case 183:case 184:case 189:case 215:case 216:case 222:case 226:case 227:case 228:case 229:case 243:case 244:case 245:case 261:case 262:case 276:case 279:case 280:case 310:case 348:case 352:case 353:case 369:case 370:case 371:case 388:case 390:case 392:case 417:case 420:return i[u];case 50:case 179:return"undefined";case 51:case 178:return"null";case 55:case 185:return Y(["symbol",i[u]],J?[null,l[u]]:null);case 61:return Y(["str",...i[u-1]],J?[null,...Dn(i[u-1])]:null);case 63:case 195:case 199:case 300:return Y([...i[u-1],i[u]],J?[...Dn(i[u-1]),l[u]]:null);case 65:case 237:case 241:case 386:case 415:return i[u-2];case 66:return"";case 69:return Y(["regex",i[u-1]],J?[null,l[u-1]]:null);case 70:return Y(["regex-index",i[u-2],i[u]],J?[null,l[u-2],l[u]]:null);case 71:return Y(["regex-index",i[u],null],J?[null,l[u],null]:null);case 72:case 125:return Y(["=",i[u-2],i[u]],J?[null,l[u-2],l[u]]:null);case 73:return Y(["=",i[u-3],i[u]],J?[null,l[u-3],l[u]]:null);case 74:case 126:return Y(["=",i[u-4],i[u-1]],J?[null,l[u-4],l[u-1]]:null);case 75:return Y(["state",i[u-2],i[u]],J?[null,l[u-2],l[u]]:null);case 76:return Y(["state",i[u-3],i[u]],J?[null,l[u-3],l[u]]:null);case 77:return Y(["state",i[u-4],i[u-1]],J?[null,l[u-4],l[u-1]]:null);case 78:case 80:return Y(["computed",i[u-2],i[u]],J?[null,l[u-2],l[u]]:null);case 79:return Y(["computed",i[u-3],i[u]],J?[null,l[u-3],l[u]]:null);case 81:return Y(["readonly",i[u-2],i[u]],J?[null,l[u-2],l[u]]:null);case 82:return Y(["readonly",i[u-3],i[u]],J?[null,l[u-3],l[u]]:null);case 83:return Y(["readonly",i[u-4],i[u-1]],J?[null,l[u-4],l[u-1]]:null);case 84:return Y(["gate",i[u-2],i[u]],J?[null,l[u-2],l[u]]:null);case 85:case 87:return Y(["effect",i[u-2],i[u]],J?[null,l[u-2],l[u]]:null);case 86:return Y(["effect",i[u-3],i[u]],J?[null,l[u-3],l[u]]:null);case 88:case 89:case 90:return Y(["effect",null,i[u]],J?[null,null,l[u]]:null);case 98:case 145:return Y([".",i[u-2],i[u]],J?[null,l[u-2],l[u]]:null);case 99:case 146:return Y(["?.",i[u-2],i[u]],J?[null,l[u-2],l[u]]:null);case 100:case 102:case 147:return["[]",i[u-3],i[u-1]];case 101:case 103:case 148:return["[]",i[u-5],i[u-2]];case 104:case 149:return Y([".{}",i[u-4],...i[u-2]],J?[null,l[u-4],...Dn(i[u-2])]:null);case 105:case 150:return Y(["?.{}",i[u-4],...i[u-2]],J?[null,l[u-4],...Dn(i[u-2])]:null);case 106:case 151:return Y([".{}",i[u-6],...i[u-3]],J?[null,l[u-6],...Dn(i[u-3])]:null);case 107:case 152:return Y(["?.{}",i[u-6],...i[u-3]],J?[null,l[u-6],...Dn(i[u-3])]:null);case 108:return[i[u-1][0],i[u-3],...i[u-1].slice(1)];case 109:return Y(["optindex",i[u-4],i[u-1]],J?[null,l[u-4],l[u-1]]:null);case 110:return Y(["optindex",i[u-6],i[u-2]],J?[null,l[u-6],l[u-2]]:null);case 111:return["object-comprehension",i[u-8],i[u-6],[["for-of",i[u-4],i[u-2],!1]],[]];case 112:return["object-comprehension",i[u-10],i[u-8],[["for-of",i[u-6],i[u-4],!1]],[i[u-2]]];case 113:return["object-comprehension",i[u-9],i[u-7],[["for-of",i[u-4],i[u-2],!0]],[]];case 114:return["object-comprehension",i[u-11],i[u-9],[["for-of",i[u-6],i[u-4],!0]],[i[u-2]]];case 115:return Y(["object",...i[u-2]],J?[null,...Dn(i[u-2])]:null);case 116:case 154:case 196:case 217:case 236:return[];case 119:case 157:case 164:case 220:case 240:case 385:case 414:return Y([...i[u-3],i[u]],J?[...Dn(i[u-3]),l[u]]:null);case 120:case 158:case 165:case 221:case 242:case 387:case 416:return Y([...i[u-5],...i[u-2]],J?[...Dn(i[u-5]),...Dn(i[u-2])]:null);case 121:return Y([null,i[u],i[u]],J?[null,l[u],l[u]]:null);case 123:case 159:return Y([":",i[u-2],i[u]],J?[null,l[u-2],l[u]]:null);case 124:case 160:return Y([":",i[u-4],i[u-1]],J?[null,l[u-4],l[u-1]]:null);case 131:return Y(["dynamicKey",i[u-1]],J?[null,l[u-1]]:null);case 132:return["[]","this",i[u-1]];case 134:case 135:case 161:case 230:return Y(["...",i[u]],J?[null,l[u]]:null);case 141:case 234:return Y(["super",...i[u]],J?[null,...Dn(i[u])]:null);case 142:case 143:case 144:case 232:case 235:return Y([i[u-1],...i[u]],J?[l[u-1],...Dn(i[u])]:null);case 153:return Y(["map-literal",...i[u-2]],J?[null,...Dn(i[u-2])]:null);case 166:return Y([i[u],i[u],null],J?[l[u],l[u],null]:null);case 167:return Y([i[u-2],i[u],null],J?[l[u-2],l[u],null]:null);case 168:return Y([i[u-2],i[u-2],i[u]],J?[l[u-2],l[u-2],l[u]]:null);case 169:return Y([i[u-4],i[u-2],i[u]],J?[l[u-4],l[u-2],l[u]]:null);case 186:return Y(["array"],J?[null]:null);case 187:return Y(["array",...i[u-1]],J?[null,...Dn(i[u-1])]:null);case 188:return Y(["array",...i[u-2],...i[u-1]],J?[null,...Dn(i[u-2]),...Dn(i[u-1])]:null);case 190:return Y([...i[u-2],...i[u]],J?[...Dn(i[u-2]),...Dn(i[u])]:null);case 191:return Y([...i[u-3],...i[u]],J?[...Dn(i[u-3]),...Dn(i[u])]:null);case 192:return Y([...i[u-2],...i[u-1]],J?[...Dn(i[u-2]),...Dn(i[u-1])]:null);case 193:return Y([...i[u-5],...i[u-4],...i[u-2],...i[u-1]],J?[...Dn(i[u-5]),...Dn(i[u-4]),...Dn(i[u-2]),...Dn(i[u-1])]:null);case 197:return Y([...i[u]],J?[...Dn(i[u])]:null);case 200:return null;case 202:return"..";case 203:case 246:return"...";case 204:return Y([i[u-2],i[u-3],i[u-1]],J?[l[u-2],l[u-3],l[u-1]]:null);case 205:case 441:case 443:case 444:case 457:case 459:return Y([i[u-1],i[u-2],i[u]],J?[l[u-1],l[u-2],l[u]]:null);case 206:return Y([i[u],i[u-1],null],J?[l[u],l[u-1],null]:null);case 207:return Y([i[u-1],null,i[u]],J?[l[u-1],null,l[u]]:null);case 208:return Y([i[u],null,null],J?[l[u],null,null]:null);case 209:return Y(["def",i[u-4],i[u-2],i[u]],J?[null,l[u-4],l[u-2],l[u]]:null);case 210:return["def",i[u-1],[],i[u]];case 211:case 213:return Y([i[u-1],i[u-3],i[u]],J?[l[u-1],l[u-3],l[u]]:null);case 212:case 214:return[i[u-1],[],i[u]];case 223:case 349:return Y(["default",i[u-2],i[u]],J?[null,l[u-2],l[u]]:null);case 224:return Y(["rest",i[u]],J?[null,l[u]]:null);case 225:return Y(["expansion"],J?[null]:null);case 231:return Y(["tagged-template",i[u-1],i[u]],J?[null,l[u-1],l[u]]:null);case 233:return Y(["optcall",i[u-2],...i[u]],J?[null,l[u-2],...Dn(i[u])]:null);case 247:return[i[u]];case 248:return[...i[u-2],i[u]];case 249:case 250:return"this";case 251:return Y([".","this",i[u]],J?[null,null,l[u]]:null);case 252:return Y([".","super",i[u]],J?[null,null,l[u]]:null);case 253:return["[]","super",i[u-1]];case 254:return["[]","super",i[u-2]];case 255:return Y([".","new",i[u]],J?[null,null,l[u]]:null);case 256:return Y([".","import",i[u]],J?[null,null,l[u]]:null);case 257:return Y(["block"],J?[null]:null);case 258:return Y(["block",...i[u-1]],J?[null,...Dn(i[u-1])]:null);case 259:return i[u-1].length===1?(Array.isArray(i[u-1][0])&&(i[u-1][0].parenthesized=!0),i[u-1][0]):["block",...i[u-1]];case 260:return i[u-2].length===1?(Array.isArray(i[u-2][0])&&(i[u-2][0].parenthesized=!0),i[u-2][0]):["block",...i[u-2]];case 263:return Y(["return",i[u]],J?[null,l[u]]:null);case 264:return Y(["return",i[u-1]],J?[null,l[u-1]]:null);case 265:return Y(["return"],J?[null]:null);case 266:return Y(["throw",i[u]],J?[null,l[u]]:null);case 267:return Y(["throw",i[u-1]],J?[null,l[u-1]]:null);case 268:return Y(["yield"],J?[null]:null);case 269:return Y(["yield",i[u]],J?[null,l[u]]:null);case 270:return Y(["yield",i[u-1]],J?[null,l[u-1]]:null);case 271:return Y(["yield-from",i[u]],J?[null,l[u]]:null);case 272:case 274:return Y(["if",i[u-1],i[u]],J?[null,l[u-1],l[u]]:null);case 273:case 275:return Y(["if",i[u-2],i[u-1],i[u]],J?[null,l[u-2],l[u-1],l[u]]:null);case 277:return["if",["!",i[u-1]],i[u]];case 278:return["if",["!",i[u-3]],i[u-2],i[u]];case 281:case 282:return["if",i[u],[i[u-2]]];case 283:return Y(["?:",i[u-4],i[u-6],i[u-1]],J?[null,l[u-4],l[u-6],l[u-1]]:null);case 284:return Y(["?:",i[u-2],i[u-4],i[u]],J?[null,l[u-2],l[u-4],l[u]]:null);case 285:case 286:return["if",["!",i[u]],[i[u-2]]];case 287:return Y(["try",i[u]],J?[null,l[u]]:null);case 288:return Y(["try",i[u-1],i[u]],J?[null,l[u-1],l[u]]:null);case 289:return Y(["try",i[u-2],i[u]],J?[null,l[u-2],l[u]]:null);case 290:return Y(["try",i[u-3],i[u-2],i[u]],J?[null,l[u-3],l[u-2],l[u]]:null);case 291:case 292:case 293:case 422:case 425:case 427:return Y([i[u-1],i[u]],J?[l[u-1],l[u]]:null);case 294:return Y([null,i[u]],J?[null,l[u]]:null);case 295:return Y(["switch",i[u-3],i[u-1],null],J?[null,l[u-3],l[u-1],null]:null);case 296:return Y(["switch",i[u-5],i[u-3],i[u-1]],J?[null,l[u-5],l[u-3],l[u-1]]:null);case 297:return Y(["switch",null,i[u-1],null],J?[null,null,l[u-1],null]:null);case 298:return Y(["switch",null,i[u-3],i[u-1]],J?[null,null,l[u-3],l[u-1]]:null);case 301:return Y(["when",i[u-1],i[u]],J?[null,l[u-1],l[u]]:null);case 302:return Y(["when",i[u-2],i[u-1]],J?[null,l[u-2],l[u-1]]:null);case 303:return Y(["while",i[u]],J?[null,l[u]]:null);case 304:return Y(["while",i[u-2],i[u]],J?[null,l[u-2],l[u]]:null);case 305:return["while",["!",i[u]]];case 306:return["while",["!",i[u-2]],i[u]];case 307:return i[u-1].length===2?[i[u-1][0],i[u-1][1],i[u]]:[i[u-1][0],i[u-1][1],i[u-1][2],i[u]];case 308:case 309:return i[u].length===2?[i[u][0],i[u][1],[i[u-1]]]:[i[u][0],i[u][1],i[u][2],[i[u-1]]];case 311:return Y(["loop",i[u]],J?[null,l[u]]:null);case 312:return["loop",[i[u]]];case 313:return Y(["loop-n",i[u-1],i[u]],J?[null,l[u-1],l[u]]:null);case 314:return Y(["for-in",i[u-3],i[u-1],null,null,i[u]],J?[null,l[u-3],l[u-1],null,null,l[u]]:null);case 315:return Y(["for-in",i[u-5],i[u-3],null,i[u-1],i[u]],J?[null,l[u-5],l[u-3],null,l[u-1],l[u]]:null);case 316:return Y(["for-in",i[u-5],i[u-3],i[u-1],null,i[u]],J?[null,l[u-5],l[u-3],l[u-1],null,l[u]]:null);case 317:return Y(["for-in",i[u-7],i[u-5],i[u-1],i[u-3],i[u]],J?[null,l[u-7],l[u-5],l[u-1],l[u-3],l[u]]:null);case 318:return Y(["for-in",i[u-7],i[u-5],i[u-3],i[u-1],i[u]],J?[null,l[u-7],l[u-5],l[u-3],l[u-1],l[u]]:null);case 319:return Y(["for-of",i[u-3],i[u-1],!1,null,i[u]],J?[null,l[u-3],l[u-1],null,null,l[u]]:null);case 320:return Y(["for-of",i[u-5],i[u-3],!1,i[u-1],i[u]],J?[null,l[u-5],l[u-3],null,l[u-1],l[u]]:null);case 321:return Y(["for-of",i[u-3],i[u-1],!0,null,i[u]],J?[null,l[u-3],l[u-1],null,null,l[u]]:null);case 322:return Y(["for-of",i[u-5],i[u-3],!0,i[u-1],i[u]],J?[null,l[u-5],l[u-3],null,l[u-1],l[u]]:null);case 323:return Y(["for-as",i[u-3],i[u-1],!1,null,i[u]],J?[null,l[u-3],l[u-1],null,null,l[u]]:null);case 324:return Y(["for-as",i[u-5],i[u-3],!1,i[u-1],i[u]],J?[null,l[u-5],l[u-3],null,l[u-1],l[u]]:null);case 325:case 327:return Y(["for-as",i[u-3],i[u-1],!0,null,i[u]],J?[null,l[u-3],l[u-1],null,null,l[u]]:null);case 326:case 328:return Y(["for-as",i[u-5],i[u-3],!0,i[u-1],i[u]],J?[null,l[u-5],l[u-3],null,l[u-1],l[u]]:null);case 329:return["for-in",[],i[u-1],null,null,i[u]];case 330:return["for-in",[],i[u-3],i[u-1],null,i[u]];case 331:return["comprehension",i[u-4],[["for-in",i[u-2],i[u],null]],[]];case 332:return["comprehension",i[u-6],[["for-in",i[u-4],i[u-2],null]],[i[u]]];case 333:return["comprehension",i[u-6],[["for-in",i[u-4],i[u-2],i[u]]],[]];case 334:return["comprehension",i[u-8],[["for-in",i[u-6],i[u-4],i[u]]],[i[u-2]]];case 335:return["comprehension",i[u-8],[["for-in",i[u-6],i[u-4],i[u-2]]],[i[u]]];case 336:return["comprehension",i[u-4],[["for-of",i[u-2],i[u],!1]],[]];case 337:return["comprehension",i[u-6],[["for-of",i[u-4],i[u-2],!1]],[i[u]]];case 338:return["comprehension",i[u-5],[["for-of",i[u-2],i[u],!0]],[]];case 339:return["comprehension",i[u-7],[["for-of",i[u-4],i[u-2],!0]],[i[u]]];case 340:return["comprehension",i[u-4],[["for-as",i[u-2],i[u],!1,null]],[]];case 341:return["comprehension",i[u-6],[["for-as",i[u-4],i[u-2],!1,null]],[i[u]]];case 342:return["comprehension",i[u-5],[["for-as",i[u-2],i[u],!0,null]],[]];case 343:return["comprehension",i[u-7],[["for-as",i[u-4],i[u-2],!0,null]],[i[u]]];case 344:return["comprehension",i[u-4],[["for-as",i[u-2],i[u],!0,null]],[]];case 345:return["comprehension",i[u-6],[["for-as",i[u-4],i[u-2],!0,null]],[i[u]]];case 346:return["comprehension",i[u-2],[["for-in",[],i[u],null]],[]];case 347:return["comprehension",i[u-4],[["for-in",[],i[u-2],i[u]]],[]];case 351:case 389:case 391:case 418:case 419:case 421:return Y([i[u-2],i[u]],J?[l[u-2],l[u]]:null);case 354:return Y(["class",null,null],J?[null,null,null]:null);case 355:return Y(["class",null,null,i[u]],J?[null,null,null,l[u]]:null);case 356:return Y(["class",null,i[u]],J?[null,null,l[u]]:null);case 357:return Y(["class",null,i[u-1],i[u]],J?[null,null,l[u-1],l[u]]:null);case 358:return Y(["class",i[u],null],J?[null,l[u],null]:null);case 359:return Y(["class",i[u-1],null,i[u]],J?[null,l[u-1],null,l[u]]:null);case 360:return Y(["class",i[u-2],i[u]],J?[null,l[u-2],l[u]]:null);case 361:return Y(["class",i[u-3],i[u-1],i[u]],J?[null,l[u-3],l[u-1],l[u]]:null);case 362:return Y(["enum",i[u-1],i[u]],J?[null,l[u-1],l[u]]:null);case 363:return Y(["schema",i[u]],J?[null,l[u]]:null);case 364:return["component",null,["block",...i[u-1]]];case 365:return["component",i[u-3],["block",...i[u-1]]];case 372:return Y(["offer",i[u]],J?[null,l[u]]:null);case 373:return Y(["accept",i[u]],J?[null,l[u]]:null);case 374:case 375:return Y(["render",i[u]],J?[null,l[u]]:null);case 376:case 379:return Y(["import","{}",i[u]],J?[null,null,l[u]]:null);case 377:case 378:return Y(["import",i[u-2],i[u]],J?[null,l[u-2],l[u]]:null);case 380:return Y(["import",i[u-4],i[u]],J?[null,l[u-4],l[u]]:null);case 381:return Y(["import",i[u-4],i[u-2],i[u]],J?[null,l[u-4],l[u-2],l[u]]:null);case 382:return Y(["import",i[u-7],i[u-4],i[u]],J?[null,l[u-7],l[u-4],l[u]]:null);case 393:return Y(["*",i[u]],J?[null,l[u]]:null);case 394:return Y(["export","{}"],J?[null,null]:null);case 395:return Y(["export",i[u-2]],J?[null,l[u-2]]:null);case 396:case 397:case 398:case 399:case 403:case 404:case 405:case 406:return Y(["export",i[u]],J?[null,l[u]]:null);case 400:return["export",["=",i[u-2],i[u]]];case 401:return["export",["=",i[u-3],i[u]]];case 402:return["export",["=",i[u-4],i[u-1]]];case 407:return Y(["export-default",i[u]],J?[null,l[u]]:null);case 408:return Y(["export-default",i[u-1]],J?[null,l[u-1]]:null);case 409:return Y(["export-all",i[u]],J?[null,l[u]]:null);case 410:return Y(["export-from","{}",i[u]],J?[null,null,l[u]]:null);case 411:return Y(["export-from",i[u-4],i[u]],J?[null,l[u-4],l[u]]:null);case 423:case 424:case 426:case 462:return Y(["do-iife",i[u]],J?[null,l[u]]:null);case 428:return Y(["-",i[u]],J?[null,l[u]]:null);case 429:return Y(["+",i[u]],J?[null,l[u]]:null);case 430:return Y(["cast",i[u-1],i[u]],J?[null,l[u-1],l[u]]:null);case 431:return Y(["?",i[u-1]],J?[null,l[u-1]]:null);case 432:return Y(["presence",i[u-1]],J?[null,l[u-1]]:null);case 433:return Y(["await",i[u]],J?[null,l[u]]:null);case 434:return Y(["await",i[u-1]],J?[null,l[u-1]]:null);case 435:return Y(["--",i[u],!1],J?[null,l[u],null]:null);case 436:return Y(["++",i[u],!1],J?[null,l[u],null]:null);case 437:return Y(["--",i[u-1],!0],J?[null,l[u-1],null]:null);case 438:return Y(["++",i[u-1],!0],J?[null,l[u-1],null]:null);case 439:return Y(["+",i[u-2],i[u]],J?[null,l[u-2],l[u]]:null);case 440:return Y(["-",i[u-2],i[u]],J?[null,l[u-2],l[u]]:null);case 442:return Y(["**",i[u-2],i[u]],J?[null,l[u-2],l[u]]:null);case 445:return Y(["&",i[u-2],i[u]],J?[null,l[u-2],l[u]]:null);case 446:return Y(["^",i[u-2],i[u]],J?[null,l[u-2],l[u]]:null);case 447:return Y(["|",i[u-2],i[u]],J?[null,l[u-2],l[u]]:null);case 448:case 449:case 450:case 451:case 452:case 453:return Y(["control",i[u-1],i[u-2],i[u]],J?[null,l[u-1],l[u-2],l[u]]:null);case 454:return Y(["&&",i[u-2],i[u]],J?[null,l[u-2],l[u]]:null);case 455:return Y(["||",i[u-2],i[u]],J?[null,l[u-2],l[u]]:null);case 456:return Y(["??",i[u-2],i[u]],J?[null,l[u-2],l[u]]:null);case 458:return Y(["?:",i[u-4],i[u-2],i[u]],J?[null,l[u-4],l[u-2],l[u]]:null);case 460:return Y([i[u-3],i[u-4],i[u-1]],J?[l[u-3],l[u-4],l[u-1]]:null);case 461:return Y([i[u-2],i[u-3],i[u]],J?[l[u-2],l[u-3],l[u]]:null)}},parseError(n,f){let e,a,i,l,u,t,c;if(f.recoverable)return this.trace(n);else throw i=(f.line||0)+1,e=f.loc?.c||0,c=f.token?` (token: ${f.token})`:"",t=f.text?` near '${f.text}'`:"",l=`line ${i}, column ${e}`,u=`Parse error at ${l}${c}${t}: ${n}`,a=Error(u),a.hash=f,a},parse(n){let f,e,a,i,l,u,t,c,r,h,o,s,w,_,y,m,D,U,R,A,E,M,q,S,Q,F,K,H;[M,H,o]=[[0],[null],[]],[y,K,Q,S,U]=[this.parseTable,"",0,0,0],[e,f]=[2,1],r=Object.create(this.lexer),A={ctx:{}};for(let G in this.ctx){if(!Object.hasOwn(this.ctx,G))continue;let B=this.ctx[G];A.ctx[G]=B}if(r.setInput(n,A.ctx),[A.ctx.lexer,A.ctx.parser]=[r,this],r.loc==null)r.loc={};F=r.loc,o.push(F),this.parseError=typeof A.ctx.parseError==="function"?A.ctx.parseError:Object.getPrototypeOf(this).parseError,c=()=>{let G;if(G=r.lex()||f,typeof G!=="number")G=this.symbolIds[G]||G;return G},q=m=E=a=D=_=t=w=l=null,R={};while(!0){if(E=M[M.length-1],q==null)q=c();if(a=y[E]?.[q],a==null){if(i="",!U)l=(()=>{let G=[];for(let B in y[E]){if(!Object.hasOwn(y[E],B))continue;if(this.tokenNames[B]&&B>e)G.push(`'${this.tokenNames[B]}'`)}return G})();throw i=(()=>{if(r.showPosition)return`Parse error on line ${Q+1}:
1867
1867
  ${r.showPosition()}
1868
- Expecting ${u.join(", ")}, got '${this.tokenNames[S]||S}'`;else return`Parse error on line ${K+1}: Unexpected ${S===f?"end of input":`'${this.tokenNames[S]||S}'`}`,this.parseError(i,{text:r.match,token:this.tokenNames[S]||S,line:r.line,loc:E,expected:u})})(),Error(i)}if(t>0)if(q.push(S,t),Q.push(r.text),o.push(r.loc),S=null,!y){if([d,Z,K,E]=[r.len,r.text,r.line,r.loc],U>0)U--}else[S,y]=[y,null];else if(t<0){if(a=this.ruleTable[-t*2+1],m.$=Q[Q.length-a],h=o[o.length-(a||1)],l=a?o[o.length-1]:h,s=l!=null&&l.r===h.r&&h.c!=null&&l.c!=null?l.c+(l.n||0)-h.c:h.n||0,m._$={r:h.r,c:h.c,n:s},R=this.ruleActions.call(m,-t,Q,o,D.ctx),R!=null)m.$=R;if(Array.isArray(m.$))m.$.loc=m._$;if(a)q.length-=a*2,Q.length-=a,o.length-=a;q.push(this.ruleTable[-t*2]),Q.push(m.$),o.push(m._$),w=A[q[q.length-2]][q[q.length-1]],q.push(w)}else if(t===0)return Q[Q.length-1]}},trace(){},ctx:{}},Ku=(n={})=>{let f=Object.create(Hu);return Object.defineProperty(f,"ctx",{value:{...n},enumerable:!1,writable:!0,configurable:!0}),f},Nn=Ku();var ia=Nn.parse.bind(Nn);var il=null;function jl(n){il=n}var Qu=new Set(["input","shape","model","mixin","enum","union"]),Ll="input",Il=new Set(["integer","number","boolean","date","datetime"]),Wu={id:"integer",int:"integer",whole:"integer",float:"number",money:"integer",money_even:"integer",cents:"integer",decimal:"string",bool:"boolean",truthy:"boolean",falsy:"boolean",json:"json",hash:"json",array:"json",ids:{type:"integer",array:!0},string:"string",text:"string",name:"string",address:"string",date:"string",time:"string",time12:"string",email:"email",state:"string",zip:"zip",zipplus4:"string",ssn:"string",sex:"string",phone:"string",username:"string",ip:"string",mac:"string",url:"url",color:"string",uuid:"uuid",semver:"string",slug:"string"},Ju=new Set(["beforeValidation","afterValidation","beforeSave","afterSave","beforeCreate","afterCreate","beforeUpdate","afterUpdate","beforeDestroy","afterDestroy","afterCommit","afterRollback"]),Yu=new Set(["TERMINATOR","INDENT","OUTDENT","=","+=","-=","*=","/=","%=","**=","//=","%%=","?=","??=","&&=","||=","&=","|=","^=","<<=",">>=",">>>=","READONLY_ASSIGN","REACTIVE_ASSIGN","COMPUTED_ASSIGN","RETURN","THROW","YIELD","AWAIT","EXPORT",",","(","[","{","CALL_START","PARAM_START","INDEX_START","->","=>",":","WHEN","THEN","IF","UNLESS","UNARY","!","NOT"]);function Yi(n,f){if(n)n.prototype.rewriteSchema=function(){Zu(this)},li._LexerCtor=n;if(f)f.prototype.emitSchema=function(e,t,i){return $u(this,e,t,i)},f.prototype.getSchemaRuntime=function(){let e=this.options?.schemaMode||"migration";return Fe({mode:e})}}var gl=new Set(["defaultMaxString"]);function Zu(n){let f=n.tokens,e={defaultMaxString:null},t=0,i=0;while(i<f.length){let u=f[i];if(u[0]==="INDENT")t++;else if(u[0]==="OUTDENT")t--;let l=Gu(f,i,e,t);if(l>0){f.splice(i,l);continue}if(Nu(f,i))bu(n,f,i,e);i++}}function Gu(n,f,e,t){let i=n[f];if(!i||i[0]!=="IDENTIFIER"||i[1]!=="schema")return 0;if(n[f+1]?.[0]!==".")return 0;let u=n[f+2];if(!u||u[0]!=="PROPERTY")return 0;if(n[f+3]?.[0]!=="=")return 0;let l=n[f-1];if(l){let o=l[0];if(o!=="TERMINATOR"&&o!=="INDENT"&&o!=="OUTDENT")return 0}let a=u[1];if(!gl.has(a))throw g(u,`Unknown schema pragma 'schema.${a}'. Known pragmas: ${[...gl].join(", ")}.`);if(t>0)throw g(u,`Schema pragma 'schema.${a}' must be declared at file top level. It was found inside a nested block (function / class / if / loop body), where it would leak into later top-level schemas.`);let c=n[f+4];if(!c||c[0]!=="NUMBER")throw g(c||u,`Pragma 'schema.${a}' requires a number literal. Example: schema.${a} = 100.`);let r=Number(c[1]);if(!Number.isFinite(r)||r<0||!Number.isInteger(r))throw g(c,`Pragma 'schema.${a}' expects a non-negative integer (got ${c[1]}). Use 0 to disable.`);e[a]=r===0?null:r;let h=f+5;if(n[h]?.[0]==="TERMINATOR")h++;return h-f}function Nu(n,f){let e=n[f];if(!e||e[0]!=="IDENTIFIER"||e[1]!=="schema")return!1;let t=n[f-1];if(t){let u=t[0];if(u==="."||u==="?.")return!1;if(t[0]==="IDENTIFIER"||t[0]==="PROPERTY"||t[0]===")"||t[0]==="]"||t[0]==="}"||t[0]==="STRING"||t[0]==="NUMBER"){if(!Yu.has(u))return!1}}let i=f+1;if(n[i]?.[0]==="SYMBOL"){if(i++,n[i]?.[0]===","&&(n[i+1]?.[0]==="PROPERTY"||n[i+1]?.[0]==="IDENTIFIER")&&n[i+1]?.[1]==="on"){i+=2;while(i<n.length&&n[i][0]!=="TERMINATOR"&&n[i][0]!=="INDENT")i++}}if(n[i]?.[0]==="TERMINATOR"){if(n[i][1]===";")return!0;i++}return n[i]?.[0]==="INDENT"}function bu(n,f,e,t){let i=f[e],u=null,l=Ll,a=e+1;if(f[a]?.[0]==="SYMBOL"){u=f[a];let _=u[1];if(!Qu.has(_))throw g(u,`Unknown schema kind :${_}. Expected one of :input, :shape, :model, :mixin, :enum, :union.`);l=_,a++}let c=null;if(f[a]?.[0]===","&&(f[a+1]?.[0]==="PROPERTY"||f[a+1]?.[0]==="IDENTIFIER")&&f[a+1]?.[1]==="on"){if(l!=="model")throw g(f[a+1],`'on:' (per-schema adapter) applies to :model only — :${l} never queries a database.`);let _=a+2;if(f[_]?.[0]===":")_++;let A=_;while(_<f.length&&f[_][0]!=="TERMINATOR"&&f[_][0]!=="INDENT")_++;if(c=f.slice(A,_),!c.length)throw g(f[a+1],"'on:' requires an adapter expression — 'schema :model, on: analytics'.");a=_}let r,h;if(f[a]?.[0]==="TERMINATOR"&&f[a][1]===";"){let _=a+1,A=_,y=0,R=f[_]?.loc?.r??null;while(A<f.length){let U=f[A],m=U[0];if(y===0&&R!=null&&U.loc&&U.loc.r>R)break;if(m==="("||m==="["||m==="{"||m==="CALL_START"||m==="INDEX_START"||m==="PARAM_START")y++;else if(m===")"||m==="]"||m==="}"||m==="CALL_END"||m==="INDEX_END"||m==="PARAM_END"){if(y--,y<0)break}else if(y===0&&m==="TERMINATOR"&&U[1]!==";")break;else if(y===0&&(m==="INDENT"||m==="OUTDENT"))break;else if(y===0&&m==="->")throw g(U,"Inline schema body does not support '->' (method/hook/transform). Use the indented form.");else if(y===0&&m==="EFFECT")throw g(U,"Inline schema body does not support '~>' (computed getter). Use the indented form.");else if(y===0&&m==="UNARY_MATH"&&U[1]==="!"&&f[A+1]?.[0]==="COMPARE"&&f[A+1][1]===">")throw g(U,"Inline schema body does not support '!>' (eager derived). Use the indented form.");A++}while(A>_&&f[A-1][0]==="TERMINATOR")A--;if(r=f.slice(_,A),h=A,!r.length)throw g(i,`Inline schema body is empty. Either add '; field; …' entries after 'schema${u?" :"+l:""};' or switch to the indented form.`)}else{if(f[a]?.[0]==="TERMINATOR")a++;if(f[a]?.[0]!=="INDENT")throw g(i,`Expected indented schema body after 'schema${u?" :"+l:""}'.`);let _=a,A=Ee(f,_);if(A<0)throw g(f[_],"Unterminated schema body.");r=f.slice(_+1,A),h=A+1}let o=Xu(l,r,{schemaLoc:i.loc,kindLoc:u?.loc??null,kind:l,defaultMaxString:t?.defaultMaxString??null});if(c)o.adapterTokens=c;let s=ll("SCHEMA","schema",i),w=ll("SCHEMA_BODY",l,i);w.data={descriptor:o},f.splice(e,h-e,s,w)}function Xu(n,f,e){let t=[],i=Pu(f);if(n===Ll&&!e.kindLoc&&i.length>0&&i[0][0]?.[0]==="SYMBOL")n="enum",e.kind="enum";if(n==="enum")for(let u of i)xu(u,t);else if(n==="union"){for(let a of i)pu(a,t);let u=t.filter((a)=>a.tag==="directive"&&a.name==="on").length,l=t.filter((a)=>a.tag==="union-member");if(u!==1)throw g({loc:e.schemaLoc},u===0?":union requires an '@on :field' discriminator — untagged unions are not supported.":`:union takes exactly one '@on :field' discriminator (got ${u}).`);if(l.length<2)throw g({loc:e.schemaLoc},`:union needs at least two constituent schemas (got ${l.length}).`)}else{for(let u of i)Iu(n,u,t,e);if(n==="mixin")for(let u of t){if(u.tag==="method"||u.tag==="computed"||u.tag==="hook")throw g({loc:u.headerLoc||u.loc},`:mixin schemas are fields-only. '${u.name}' is a ${u.tag}; move it to a :shape or :model.`);if(u.tag==="ensure")throw g({loc:u.headerLoc||u.loc},":mixin schemas don't accept @ensure refinements. Move the invariant to a :shape or :model that composes this mixin.");if(u.tag==="scope"||u.tag==="defaultScope")throw g({loc:u.headerLoc||u.loc},`:mixin schemas don't accept query scopes. '@${u.tag==="scope"?"scope":"defaultScope"}' is :model-only.`);if(u.tag==="directive"&&u.name!=="mixin")throw g({loc:u.loc},`:mixin schemas only accept '@mixin Name' directives. '@${u.name}' is not allowed.`)}else if(n==="input")for(let u of t){if(u.tag==="method"||u.tag==="computed"||u.tag==="hook")throw g({loc:u.headerLoc||u.loc},`:input schemas are fields-only. '${u.name}' is a ${u.tag}; use :shape or :model if you need behavior.`);if(u.tag==="scope"||u.tag==="defaultScope")throw g({loc:u.headerLoc||u.loc},`:input schemas don't accept query scopes. '@${u.tag==="scope"?"scope":"defaultScope"}' is :model-only.`);if(u.tag==="directive"&&u.name!=="mixin")throw g({loc:u.loc},`:input schemas only accept '@mixin Name' and '@ensure'. '@${u.name}' is not allowed.`)}else if(n==="shape")for(let u of t){if(u.tag==="hook")throw g({loc:u.headerLoc||u.loc},`:shape schemas don't have lifecycle hooks. '${u.name}' runs only on :model; move it or remove it.`);if(u.tag==="scope"||u.tag==="defaultScope")throw g({loc:u.headerLoc||u.loc},`:shape schemas don't accept query scopes. '@${u.tag==="scope"?"scope":"defaultScope"}' is :model-only.`);if(u.tag==="directive"&&u.name!=="mixin")throw g({loc:u.loc},`:shape schemas only accept '@mixin Name'. '@${u.name}' is :model-only.`)}}return{kind:n,loc:e.schemaLoc,kindLoc:e.kindLoc,entries:t}}function Pu(n){let f=[],e=[],t=0;for(let i of n){let u=i[0];if(u==="INDENT")t++;if(u==="OUTDENT")t--;if(u==="TERMINATOR"&&t===0){if(e.length)f.push(e),e=[];continue}e.push(i)}if(e.length)f.push(e);return f}var Ou=new Set(["string","email","url","phone","zip"]);function Iu(n,f,e,t){let i=f[0];if(!i)return;if(i[0]==="@"){let E=f[1];if(!E||E[0]!=="IDENTIFIER"&&E[0]!=="PROPERTY")throw g(i,"Expected directive name after '@'.");let Z=f.slice(2),Q=E[1];if(Q==="ensure"){let C=E.data?.bang===!0,L=Tu(Z,i);for(let b of L)e.push({tag:"ensure",name:"ensure",message:b.message,field:b.field||null,async:C,paramTokens:b.paramTokens,bodyTokens:b.bodyTokens,loc:b.loc,headerLoc:i.loc});return}if(Q==="scope"){let C=vu(Z,i);e.push({tag:"scope",name:C.name,paramTokens:C.paramTokens,bodyTokens:C.bodyTokens,loc:i.loc,headerLoc:i.loc});return}if(Q==="defaultScope"){let C=pl(Zi(Z),i,"@defaultScope");if(C.paramTokens.length)throw g(i,"@defaultScope takes no parameters — write '@defaultScope -> @where(...)'.");e.push({tag:"defaultScope",name:"defaultScope",paramTokens:[],bodyTokens:C.bodyTokens,loc:i.loc,headerLoc:i.loc});return}let W=null;if(Q==="belongs_to"||Q==="has_many"||Q==="has_one"||Q==="one"||Q==="many"||Q==="mixin"){let C=Z[0];if(C&&(C[0]==="IDENTIFIER"||C[0]==="PROPERTY")){let L=C.data?.optional===!0;if(!L&&Z[1]?.[0]==="?")L=!0;W=[{target:C[1],optional:L}]}}e.push({tag:"directive",name:Q,args:W,argTokens:Z,loc:i.loc});return}if(i[0]==="PROPERTY"){Cu(n,i,f,e);return}if(i[0]!=="IDENTIFIER")throw g(i,`Unexpected ${i[0]} at schema top level. Allowed: fields ('name! type'), directives ('@name'), methods ('name: -> body'), or computed getters ('name: ~> body').`);let u=i[1];if(f[1]?.[0]===":")throw g(f[1],"Schema fields use 'name type' (space, no colon). For methods or computed use 'name: -> body' or 'name: ~> body'.");let l=Se(i),a=1;while(a<f.length){let E=f[a];if(!(f[a-1]&&!f[a-1].spaced))break;if(E[0]==="#")throw g(E,`The '#' unique modifier was removed. Mark uniqueness with '@unique': inline as '${u}! <type> @unique', or as a directive '@unique :${u}' (composite: '@unique [:a, :b]').`);if(E[0]==="?"||E[0]==="!"){l.push(E[0]),a++;continue}break}let c=f[a];if(c?.[0]===":")throw g(c,"Schema fields use 'name type' (space, no colon). Got 'name:'. For methods/computed use 'name: -> body' or 'name: ~> body'.");let r="string",h=null,o=!1,s=null,w=!1;if(c?.[0]==="UNARY_MATH"&&c[1]==="~"){let E=f[a+1];if(E?.[0]==="SYMBOL"){o=!0,s=E[1];let Z=Wu[s];if(Z&&typeof Z==="object")r=Z.type,w=!0;else r=Z||"any";a+=2,c=E}else if(E?.[0]==="IDENTIFIER"){if(!Il.has(E[1]))throw g(E,`'~${E[1]}' is not coercible. Built-in coercion is defined for: ${[...Il].join(", ")}. `+`Named coercers use a symbol — '~:${E[1]}' — and resolve through the registry `+`(@rip-lang/validate's vocabulary, or schema.registerCoercer). For anything else, write an explicit transform: '${u}, -> …'.`);o=!0,r=E[1],a+=2,c=E}else throw g(c,"'~' in the type slot marks coercion and needs a type name ('~integer', '~date', …) "+"or a registered coercer symbol ('~:ssn', '~:money', …).")}else if(c?.[0]==="IDENTIFIER")r=c[1],a++;else if(c?.[0]==="STRING"){h=[JSON.parse(c[1])],a++;while(f[a]?.[0]==="|"&&f[a+1]?.[0]==="STRING")a++,h.push(JSON.parse(f[a][1])),a++;if(f[a]?.[0]==="|"){let E=f[a+1],Z=E?.[0]??"<end>";throw g(E||f[a],`Literal unions contain string literals only. '${Z}' is not allowed as a union member. Use the '?' modifier for nullability.`)}r="literal-union"}let _=!1,A=f[a]?.[0],y=f[a+1]?.[0];if((A==="["||A==="INDEX_START")&&(y==="]"||y==="INDEX_END"))_=!0,a+=2;if(o&&_)throw g(c,`Coercion ('~${r}') does not apply to array types. Coerce per-element with a transform instead.`);if(w)_=!0;let R=f.slice(a);if((c?.[0]==="IDENTIFIER"||c?.[0]==="STRING")&&R[0]?.[0]==="->")throw g(R[0],`Field '${u}' has a transform after the type; a comma is required before '->'. Write '${u} ${r}, -> …'.`);let m=null,D=null,M=null,q=null,S=null,d=!1;if(R.length>0){if(R[0]?.[0]===",")R=R.slice(1);if(R.length>=2&&R[0][0]==="INDENT"){let Z=0,Q=-1;for(let W=0;W<R.length;W++)if(R[W][0]==="INDENT")Z++;else if(R[W][0]==="OUTDENT"){if(Z--,Z===0){Q=W;break}}if(Q===R.length-1)R=R.slice(1,-1)}let E=fi(R);for(let Z=0;Z<E.length;Z++){let Q=E[Z];while(Q.length&&(Q[0][0]==="INDENT"||Q[0][0]==="TERMINATOR"))Q=Q.slice(1);if(!Q.length)continue;if(Q[0][0]!=="->"){let C=gu(Q);if(C>0)throw g(Q[C],`Field '${u}' has a transform after other content; a comma is required before '->'. Write 'name! <constraints>, -> <body>'.`)}let W=Q[0];if(W[0]!=="->"){while(Q.length&&(Q[Q.length-1][0]==="OUTDENT"||Q[Q.length-1][0]==="TERMINATOR"))Q=Q.slice(0,-1);if(!Q.length)continue;W=Q[0]}if(W[0]==="["||W[0]==="INDEX_START"){if(m)throw g(W,`Field '${u}' has more than one '[…]' constraint. At most one default / regex bracket per field.`);m=Q}else if(W[0]==="{"){if(D)throw g(W,`Field '${u}' has more than one '{…}' attrs bracket.`);D=Q}else if(Bu(Q)){if(M)throw g(W,`Field '${u}' has more than one range constraint. Only one 'min..max' per field.`);M=Q}else if(W[0]==="REGEX"&&Q.length===1){if(q)throw g(W,`Field '${u}' has more than one regex constraint.`);q=W}else if(W[0]==="->"){if(Z!==E.length-1)throw g(W,`Transform '-> …' must be the last element on the field line for '${u}'.`);S=Q.slice(1)}else if(W[0]==="@"){let C=Q[1],L=C&&(C[0]==="IDENTIFIER"||C[0]==="PROPERTY")?C[1]:null;if(Q.length===2&&L==="unique"){if(d)throw g(W,`Field '${u}' has more than one '@unique'.`);d=!0}else throw g(W,`Unknown inline attribute '@${L??""}' on field '${u}'. The only inline attribute is '@unique'.`)}else throw g(W,`Unexpected trailer for field '${u}'. Expected '[…]' default, '{…}' attrs, '/regex/', 'min..max' range, '-> transform', or '@unique'.`)}}if(_&&h)throw g(c,"Array-of-literal-union is not supported. Use 'string[]' if you need an array of strings.");let K=null;if(t?.defaultMaxString!=null&&!q&&!h&&Ou.has(r))K=t.defaultMaxString;if(o&&S)throw g(i,`Field '${u}' has both '~${r}' coercion and a '->' transform. `+"A transform replaces coercion — coerce inside it instead.");e.push({tag:"field",name:u,modifiers:l,unique:d,typeName:r,array:_,literals:h,coerce:o,coercer:s,constraintTokens:m,attrsTokens:D,rangeTokens:M,regexToken:q,transformTokens:S,defaultMax:K,loc:i.loc})}function gu(n){let f=0;for(let e=0;e<n.length;e++){let t=n[e][0];if(t==="("||t==="["||t==="{"||t==="CALL_START"||t==="INDEX_START"||t==="PARAM_START")f++;else if(t===")"||t==="]"||t==="}"||t==="CALL_END"||t==="INDEX_END"||t==="PARAM_END")f--;else if(f===0&&t==="->")return e}return-1}function Bu(n){let f=0,e=!1;if(n[f]?.[0]==="-"&&n[f+1]?.[0]==="NUMBER")f+=2,e=!0;else if(n[f]?.[0]==="NUMBER")f++,e=!0;if(n[f]?.[0]!=="..")return!1;f++;let t=!1;if(n[f]?.[0]==="-"&&n[f+1]?.[0]==="NUMBER")f+=2,t=!0;else if(n[f]?.[0]==="NUMBER")f++,t=!0;return(e||t)&&f===n.length}function Cu(n,f,e,t){let i=f[1],u=e[1];if(!u||u[0]!==":")throw g(f,`Expected ':' after '${i}' before arrow.`);let l=2,a=[],c=!1;if(e[l]&&(e[l][0]==="PARAM_START"||e[l][0]==="(")){c=!0;let R=1;l++;while(l<e.length&&R>0){let U=e[l][0];if(U==="("||U==="PARAM_START")R++;if(U===")"||U==="PARAM_END"){if(R--,R===0){l++;break}}a.push(e[l]),l++}if(R!==0)throw g(e[2],`'${i}': unclosed '(' in parameters.`)}let r=e[l],h=e[l+1],o,s,w;if(r&&r[0]==="->")o="->",s=r.loc,w=l+1;else if(r&&r[0]==="EFFECT")o="~>",s=r.loc,w=l+1;else if(r&&r[0]==="UNARY_MATH"&&r[1]==="!"&&h&&h[0]==="COMPARE"&&h[1]===">"&&!r.spaced)o="!>",s=r.loc,w=l+2;else throw g(u,`Schema top-level '${i}:' must be followed by '->' (method/hook), '~>' (computed getter), or '!>' (eager derived).`);let _=e.slice(w),A=Ju.has(i),y;if(o==="~>")y="computed";else if(o==="!>")y="derived";else if(n==="model"&&A)y="hook";else y="method";if(c&&y!=="method")throw g(u,`'${i}': ${y==="hook"?"lifecycle hooks":y==="computed"?"computed getters (~>)":"eager-derived fields (!>)"} take no parameters — only methods do.`);t.push({tag:y,name:i,arrow:o,paramTokens:a,bodyTokens:_,headerLoc:f.loc,arrowLoc:s})}function Zi(n){if(n[0]?.[0]==="CALL_START"&&n[n.length-1]?.[0]==="CALL_END")return n.slice(1,-1);return n}function vu(n,f){let e=Zi(n);if(!e.length)throw g(f,"@scope requires ':name, -> body' (or ':name, (args) -> body').");let t=e[0];if(t[0]!=="SYMBOL")throw g(t,"@scope name must be a :symbol — '@scope :active, -> @where(active: true)'.");let i=t[1];if(!/^[a-z][a-zA-Z0-9]*$/.test(i))throw g(t,`@scope name ':${i}' must be a lowercase-first alphanumeric identifier.`);let u=e.slice(1);if(u[0]?.[0]===",")u=u.slice(1);if(!u.length)throw g(t,`@scope :${i} is missing its body — '@scope :${i}, -> @where(...)'.`);let l=pl(u,t,`@scope :${i}`);return{name:i,paramTokens:l.paramTokens,bodyTokens:l.bodyTokens}}function pl(n,f,e){if(!n.length)throw g(f,`${e}: expected '-> body' or '(args) -> body'.`);let t=[],i=0,u=n[0];if(u[0]==="("||u[0]==="PARAM_START"){let c=1;i=1;while(i<n.length&&c>0){let r=n[i][0];if(r==="("||r==="PARAM_START")c++;if(r===")"||r==="PARAM_END"){if(c--,c===0){i++;break}}t.push(n[i]),i++}if(c!==0)throw g(u,`${e}: unclosed '(' in parameters.`)}let l=n[i];if(!l||l[0]!=="->")throw g(l||f,`${e}: expected '->' ${t.length?"after parameters":"to start the body"}.`);let a=n.slice(i+1);if(!a.length)throw g(l,`${e}: function body is empty.`);return{paramTokens:t,bodyTokens:a}}function Tu(n,f){let e=n;if(!e.length)throw g(f,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");if(e[0]?.[0]==="CALL_START"&&e[e.length-1]?.[0]==="CALL_END")e=e.slice(1,-1);if(!e.length)throw g(f,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");let t=e[0];if(t[0]==="["||t[0]==="INDEX_START"){let u=Vu(e,t),l=ju(u);if(l.length===0)throw g(t,"@ensure [...] must contain at least one 'message, fn' pair.");return Bl(l,t)}let i=fi(e);if(i.length<2)throw g(t,"@ensure inline form must be 'message, (x) -> body'. Did you forget the comma?");if(i.length>3||i.length===3&&!xl(i[1]))throw g(t,`@ensure inline form takes 'message[, :field], fn' (got ${i.length} comma-separated parts). Use '@ensure [...]' for multiple refinements.`);return Bl(i,t)}function xl(n){return n&&n.length===1&&n[0][0]==="SYMBOL"}function Bl(n,f){let e=[],t=0;while(t<n.length){let i=n[t++],u=null;if(t<n.length&&xl(n[t]))u=n[t++];if(t>=n.length)throw g(i?.[0]||f,"@ensure: missing function after message"+(u?" and :field":"")+".");e.push(Lu(i,u,n[t++],f))}return e}function Vu(n,f){let e=0,t=[];for(let i=0;i<n.length;i++){let u=n[i],l=u[0];if(l==="["||l==="INDEX_START"){if(e++,e===1)continue}if(l==="]"||l==="INDEX_END"){if(e--,e===0){if(i<n.length-1)throw g(n[i+1],"@ensure [...] must be the only argument — extra tokens after ']'.");if(t.length>=2&&t[0][0]==="INDENT"&&t[t.length-1][0]==="OUTDENT"){let a=0,c=!1;for(let r=0;r<t.length;r++)if(t[r][0]==="INDENT")a++;else if(t[r][0]==="OUTDENT"){if(a--,a===0&&r===t.length-1){c=!0;break}if(a===0)break}if(c)t=t.slice(1,-1)}return t}}if(e>=1)t.push(u)}throw g(f,"@ensure: unclosed '['.")}function ju(n){let f=[],e=[],t=0;for(let i of n){let u=i[0];if(u==="("||u==="["||u==="{"||u==="CALL_START"||u==="INDEX_START"||u==="PARAM_START"||u==="INDENT")t++;if(u===")"||u==="]"||u==="}"||u==="CALL_END"||u==="INDEX_END"||u==="PARAM_END"||u==="OUTDENT")t--;if(t===0&&(u===","||u==="TERMINATOR")){if(e.length)f.push(e),e=[];continue}e.push(i)}if(e.length)f.push(e);return f}function Lu(n,f,e,t){if(!n||!n.length)throw g(t,"@ensure: missing message (expected a string literal).");if(n.length!==1||n[0][0]!=="STRING")throw g(n[0]||t,"@ensure: each refinement's first element must be a string literal message.");let i=n[0],u=JSON.parse(i[1]),l=f?f[0][1]:null;if(!e||!e.length)throw g(i,"@ensure: missing function after message.");let a=e[0];if(a[0]!=="("&&a[0]!=="PARAM_START")throw g(a,"@ensure: expected '(args) -> body' after the message. Predicates must declare their parameter explicitly — '(u) -> ...'.");let c=1,r=1,h=[];while(r<e.length&&c>0){let w=e[r],_=w[0];if(_==="("||_==="PARAM_START")c++;if(_===")"||_==="PARAM_END"){if(c--,c===0){r++;break}}h.push(w),r++}if(c!==0)throw g(a,"@ensure: unclosed '(' in predicate parameters.");let o=e[r];if(!o||o[0]!=="->")throw g(o||e[r-1]||i,"@ensure: expected '->' after predicate parameters.");let s=e.slice(r+1);if(!s.length)throw g(o,"@ensure: predicate function body is empty.");return{message:u,field:l,paramTokens:h,bodyTokens:s,loc:i.loc}}function $l(n,f){if(!n.length)return[];return fi(n).map((t)=>{let i=t.filter((u)=>u[0]!=="TERMINATOR");if(i.length!==1||i[0][0]!=="IDENTIFIER")throw g(i[0]||f,"@ensure: predicate parameters must be plain identifiers.");return i[0][1]})}function pu(n,f){let e=n[0];if(!e)return;if(e[0]==="@"){let t=n[1];if(!t||t[1]!=="on")throw g(t||e,`:union bodies accept only '@on :field' and constituent schema names. '@${t?.[1]??""}' is not allowed.`);let i=Zi(n.slice(2)),u=i[0];if(!u||u[0]!=="SYMBOL")throw g(u||t,"@on requires the discriminator field as a :symbol — '@on :kind'.");if(i.length>1)throw g(i[1],"@on takes exactly one :field symbol.");f.push({tag:"directive",name:"on",args:[{field:u[1]}],argTokens:n.slice(2),loc:e.loc});return}if(e[0]==="IDENTIFIER"&&n.length===1){f.push({tag:"union-member",name:e[1],loc:e.loc});return}throw g(e,`:union bodies accept only '@on :field' and bare constituent schema names (one per line). Got ${e[0]}${n.length>1?" followed by "+n[1][0]:""}.`)}function xu(n,f){let e=n[0];if(!e)return;if(e[0]==="@"){let u=n[1],l=u&&(u[0]==="IDENTIFIER"||u[0]==="PROPERTY")?u[1]:"directive";throw g(e,`:enum schemas don't accept '@${l}'. Enums hold only :symbol members. Move the invariant to a :shape or :model that uses this enum as a field type.`)}if(e[0]!=="SYMBOL")throw g(e,`Enum member must be a :symbol. Use ':${e[1]??"name"}' for a bare member or ':${e[1]??"name"} value' for a valued one.`);let t=e[1],i=n[1];if(!i){f.push({tag:"enum-member",name:t,value:void 0,loc:e.loc});return}if(i[0]===":")throw g(i,`Enum member ':${t}' — drop the ':' before the value. Use ':${t} value'.`);if(n.length>2)throw g(n[2],`Extra tokens after enum member ':${t}' value.`);f.push({tag:"enum-member",name:t,value:de(i),loc:e.loc})}function $u(n,f,e,t){let i=e[0],u=fl(i);if(!u)throw Error("schema: missing descriptor on SCHEMA_BODY token");n.usesSchemas=!0;let l=n._schemaName||null,a=[`kind: ${JSON.stringify(u.kind)}`];if(l)a.push(`name: ${JSON.stringify(l)}`);else if(n.options.inlineTypes&&(u.kind==="shape"||u.kind==="input")){let c=n._schemaAnon??=[],r=`__AnonSchema${c.length+1}`;a.push(`__anon: ${JSON.stringify(r)}`),c.push({name:r,descriptor:u})}if(a.push(`entries: [${u.entries.map((c)=>re(n,c)).join(", ")}]`),u.adapterTokens){let c=li(u.adapterTokens);if(c)a.push(`adapter: ${n.emit(qe(c),"value")}`)}return`__schema({${a.join(", ")}})`}function fl(n){if(n&&typeof n==="object"){if(n.descriptor)return n.descriptor;if(n.data?.descriptor)return n.data.descriptor}return null}function ku(n){if(!Array.isArray(n))return null;if((n[0]?.valueOf?.()??n[0])!=="schema")return null;return fl(n[1])}var ne=new Set(["pick","omit","partial","required","extend"]);function Xn(n){return n&&n.valueOf?n.valueOf():n}function kl(n){return n.entries.some((f)=>f.tag==="directive"&&f.name==="mixin")}function ie(n){return(n.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase()+"_id").replace(/_([a-z])/g,(e,t)=>t.toUpperCase())}function le(n){if(kl(n))return null;let f=new Map;for(let l of n.entries)if(l.tag==="field")f.set(l.name,l);if(n.kind!=="model")return f;let e=(l,a,c)=>{if(!f.has(l))f.set(l,{tag:"field",name:l,modifiers:c?["!"]:["?"],typeName:a,array:!1})},t=!1,i=!1,u=[];for(let l of n.entries){if(l.tag!=="directive")continue;if(l.name==="timestamps")t=!0;else if(l.name==="softDelete")i=!0;else if(l.name==="belongs_to"){let a=l.args&&l.args[0]&&l.args[0].target;if(a)u.push({fk:ie(a),required:l.args[0].optional!==!0})}}if(e("id","integer",!0),t)e("createdAt","datetime",!0),e("updatedAt","datetime",!0);if(i)e("deletedAt","datetime",!1);for(let{fk:l,required:a}of u)e(l,"integer",a);return f}function fe(n){if(kl(n))return null;let f=new Map;for(let e of n.entries)if(e.tag==="field")f.set(e.name,e);return f}function Cl(n,f){let e=n.modifiers.filter((i)=>i!==(f==="partial"?"!":"?")),t=f==="partial"?"?":"!";if(!e.includes(t))e=[...e,t];return{...n,modifiers:e}}function ue(n,f,e){switch(f.method){case"pick":{let t=new Map;for(let i of f.keys){if(!n.has(i))return null;t.set(i,n.get(i))}return t}case"omit":{let t=new Set(f.keys),i=new Map;for(let[u,l]of n)if(!t.has(u))i.set(u,l);return i}case"partial":{let t=new Map;for(let[i,u]of n)t.set(i,Cl(u,"partial"));return t}case"required":{let t=new Set(f.keys),i=new Map;for(let[u,l]of n)i.set(u,t.has(u)?Cl(l,"required"):l);return i}case"extend":{let t=f.otherDescriptor||e.get(f.otherName);if(!t)return null;let i=fe(t);if(!i)return null;let u=new Map(n);for(let[l,a]of i){if(u.has(l))return null;u.set(l,a)}return u}default:return null}}function ee(n,f,e){let t=le(n);if(!t)return null;for(let i of f)if(t=ue(t,i,e),!t)return null;return{kind:"shape",entries:[...t.values()]}}function te(n){let f=[],e=n;while(!0){if(!Array.isArray(e))return null;let t=e[0];if(!Array.isArray(t))return null;if(Xn(t[0])!==".")return null;let i=Xn(t[2]);if(!ne.has(i))return null;let u=e.slice(1),l;if(i==="partial"){if(u.length)return null;l={method:i}}else if(i==="extend"){if(u.length!==1)return null;let r=u[0];if(Array.isArray(r)){let h=ku(r);if(!h||h.kind!=="shape"&&h.kind!=="input")return null;l={method:i,otherDescriptor:h}}else{let h=Xn(r);if(typeof h!=="string"||!/^[A-Za-z_$][\w$]*$/.test(h))return null;l={method:i,otherName:h}}}else{let r=ae(u);if(!r||!r.length)return null;l={method:i,keys:r}}f.unshift(l);let a=t[1];if(Array.isArray(a)){e=a;continue}let c=Xn(a);if(typeof c!=="string")return null;return{base:c,ops:f}}}function ae(n){let f=[];for(let e of n)if(Array.isArray(e)){if(Xn(e[0])!=="array")return null;for(let t=1;t<e.length;t++){let i=vl(e[t]);if(i==null)return null;f.push(i)}}else{let t=vl(e);if(t==null)return null;f.push(t)}return f}function vl(n){let f=Xn(n);if(typeof f!=="string"||f.length<2)return null;let e=f[0];if(e!=='"'&&e!=="'"||f[f.length-1]!==e)return null;let t=f.slice(1,-1);if(/[\\#]/.test(t))return null;return t}function nf(n){if(!Array.isArray(n))return;let f=Xn(n[0]),e=f==="program"||f==="block"?n.slice(1):[n],t=new Map;for(let i of e){if(!Array.isArray(i))continue;let u=i;if(Xn(i[0])==="export"&&Array.isArray(i[1]))u=i[1];if(Xn(u[0])!=="="||!Array.isArray(u[2]))continue;let l=Xn(u[1]);if(typeof l!=="string")continue;if(Xn(u[2][0])==="schema"){let o=fl(u[2][1]);if(o)t.set(l,o);continue}let a=te(u[2]);if(!a)continue;let c=t.get(a.base);if(!c)continue;let r=ee(c,a.ops,t);if(!r)continue;let h=new String("shape");h.descriptor=r,h.data={descriptor:r},u[2]=["schema",h],t.set(l,r)}}function re(n,f){switch(f.tag){case"field":{let e=['tag: "field"',`name: ${JSON.stringify(f.name)}`,`modifiers: ${JSON.stringify(f.modifiers)}`,`typeName: ${JSON.stringify(f.typeName)}`,`array: ${f.array?"true":"false"}`];if(f.unique)e.push("unique: true");if(f.literals)e.push(`literals: ${JSON.stringify(f.literals)}`);if(f.coerce){if(e.push("coerce: true"),f.coercer)e.push(`coercer: ${JSON.stringify(f.coercer)}`)}let t=f.rangeTokens?ye(f.rangeTokens,f):null,i=f.constraintTokens?_e(f.constraintTokens,f):null,u=f.regexToken?me(f.regexToken):null,l=Ae(t,i,u,f);if(l)e.push(`constraints: ${l}`);if(f.attrsTokens){let a=De(f.attrsTokens,f);if(a)e.push(`attrs: ${a}`)}if(f.transformTokens)e.push(`transform: ${se(n,f.transformTokens)}`);return`{${e.join(", ")}}`}case"directive":{let e=['tag: "directive"',`name: ${JSON.stringify(f.name)}`],t=Me(f.name,f.argTokens||[]);if(t)e.push(`args: ${t}`);return`{${e.join(", ")}}`}case"ensure":{let e=we(n,f),t=['tag: "ensure"',`message: ${JSON.stringify(f.message)}`,`fn: ${e}`];if(f.field)t.push(`field: ${JSON.stringify(f.field)}`);if(f.async)t.push("async: true");return`{${t.join(", ")}}`}case"scope":case"defaultScope":{let e=oe(n,f);return`{${[`tag: ${JSON.stringify(f.tag)}`,`name: ${JSON.stringify(f.name)}`,`fn: ${e}`].join(", ")}}`}case"computed":case"method":case"hook":case"derived":{let e=he(n,f);return`{${[`tag: ${JSON.stringify(f.tag)}`,`name: ${JSON.stringify(f.name)}`,`fn: ${e}`].join(", ")}}`}case"enum-member":{let e=['tag: "enum-member"',`name: ${JSON.stringify(f.name)}`];if(f.value!==void 0)e.push(`value: ${JSON.stringify(f.value)}`);return`{${e.join(", ")}}`}case"union-member":return`{tag: "union-member", name: ${JSON.stringify(f.name)}}`;default:return'{tag: "unknown"}'}}function ce(n,f){if(!f.paramTokens||!f.paramTokens.length)return[];return fi(f.paramTokens).map((t)=>{let i=t.filter((l)=>l[0]!=="TERMINATOR"&&l[0]!=="INDENT"&&l[0]!=="OUTDENT");if(i.length!==1||i[0][0]!=="IDENTIFIER")throw g(i[0]||{loc:f.headerLoc},`'${f.name}': method parameters must be plain identifiers (with optional ':: Type' annotations).`);let u=new String(i[0][1]);if(n.options.inlineTypes)u.type=i[0].data?.type||"any";return u})}function he(n,f){let e=li(f.bodyTokens),t=ce(n,f);if(!e)return"(function() {})";let i=[];if(n.options.inlineTypes&&n._schemaName){let c=new String("this");c.type=n._schemaName,i.push(c)}i.push(...t);let u=["->",i,e],l=n.emit(u,"value"),a=f.tag==="computed"||f.tag==="derived"||f.tag==="method";if(n.options.inlineTypes&&n._schemaName&&a){if(!n._schemaBehavior)n._schemaBehavior=new Map;let c=n._schemaBehavior.get(n._schemaName);if(!c)c=[],n._schemaBehavior.set(n._schemaName,c);c.push({field:f.name,tag:f.tag,fnExpr:l})}return l}function se(n,f){let e=li(f);if(!e)return"(function() { return undefined; })";let t=new String("it");t.type="any";let i=["->",[t],e];return n.emit(i,"value")}function oe(n,f){let e=li(f.bodyTokens);if(!e)return"(function() { return this; })";let i=["->",f.paramTokens.length?$l(f.paramTokens,f):[],e];return n.emit(i,"value")}function we(n,f){let e=li(f.bodyTokens);if(!e)return"(function() { return undefined; })";let i=["->",$l(f.paramTokens,f),e];return n.emit(i,"value")}function _e(n,f){let e=n.slice(1,-1),t=fi(e);if(!t.length)return{c:null};let i=t.map((u)=>ul(u,f));if(i.length===1){let u=i[0];if(u instanceof RegExp)throw g(n[0],`Regex constraints are written bare, not in brackets. Replace '[${u}]' with '${u}'.`);return{c:{default:u}}}if(i.length===2&&typeof i[0]==="number"&&typeof i[1]==="number")throw g(n[0],`Size/value ranges use 'min..max' syntax, not brackets. Replace '[${i[0]}, ${i[1]}]' with '${i[0]}..${i[1]}'.`);if(i.length===3&&i.every((u)=>typeof u==="number"))throw g(n[0],`Range + default is two separate constraints in v2. Replace '[${i[0]}, ${i[1]}, ${i[2]}]' with '${i[0]}..${i[1]}, [${i[2]}]'.`);throw g(n[0],`Constraint bracket takes a single default value in v2. Got ${i.length} elements.`)}function me(n){let f=n[1],e=/^\/((?:\\.|[^\\/])+)\/([a-z]*)$/.exec(f);if(!e)throw g(n,`Invalid regex literal ${JSON.stringify(f)}.`);try{return new RegExp(e[1],e[2])}catch(t){throw g(n,`Invalid regex '${f}': ${t.message}`)}}function ye(n,f){let e=0,t=()=>{let a=1;if(n[e]?.[0]==="-")a=-1,e++;let c=n[e++],r=ul([c],f);if(typeof r!=="number")throw g(c,"Range endpoints must be numeric literals.");return a*r},i;if(n[e]?.[0]!=="..")i=t();e++;let u;if(e<n.length)u=t();if(i!==void 0&&u!==void 0&&i>u)throw g(n[0],`Range '${i}..${u}' is reversed. Write the smaller endpoint first.`);let l={};if(i!==void 0)l.min=i;if(u!==void 0)l.max=u;return l}function Ae(n,f,e,t){let i=f&&f.c||{},u=n&&n.min===void 0;if(n){if(n.min!==void 0)i.min=n.min;if(n.max!==void 0)i.max=n.max;if(u&&i.min===void 0&&t?.modifiers?.includes("!"))i.min=1}if(e)i.regex=e;if(t?.defaultMax!=null&&i.max===void 0)i.max=t.defaultMax;if(i.min!==void 0&&i.max!==void 0&&i.min>i.max){let l=n&&n.min!==void 0?`range min ${n.min}`:"implicit min=1 from `!`",a=n&&n.max!==void 0?`range max ${n.max}`:`pragma defaultMaxString=${t?.defaultMax}`;throw g({loc:t?.loc},`Field '${t?.name}' would have impossible constraints min=${i.min} > max=${i.max} after sugar is applied (${l} vs ${a}). Write an explicit range or drop the conflicting pragma.`)}if(i.min===void 0&&i.max===void 0&&i.default===void 0&&i.regex===void 0)return null;return Re(i)}var Tl=new Set(["was"]);function De(n,f){let e=n.slice(1,-1).filter((u)=>u[0]!=="TERMINATOR"&&u[0]!=="INDENT"&&u[0]!=="OUTDENT"),t=fi(e),i=[];for(let u of t){if(!u.length)continue;let l=u[0];if(l[0]!=="PROPERTY"&&l[0]!=="IDENTIFIER")throw g(l,`Field attrs must be '{key: value}' pairs. Got ${l[0]}.`);let a=l[1];if(!Tl.has(a))throw g(l,`Unknown field attr '${a}'. Known attrs: ${[...Tl].join(", ")}.`);let c=1;if(u[c]?.[0]===":")c++;let r=ul(u.slice(c),f);if(a==="was"&&typeof r!=="string")throw g(l,`Field attr 'was' requires a string column name, e.g. {was: "first_name"}.`);i.push(`${a}: ${Ji(r)}`)}return i.length?`{${i.join(", ")}}`:null}function Re(n){let f=[];if(n.min!==void 0)f.push(`min: ${Ji(n.min)}`);if(n.max!==void 0)f.push(`max: ${Ji(n.max)}`);if(n.default!==void 0)f.push(`default: ${Ji(n.default)}`);if(n.regex!==void 0)f.push(`regex: ${n.regex.toString()}`);return f.length?`{${f.join(", ")}}`:null}function Ji(n){if(n===null)return"null";if(n===void 0)return"undefined";if(typeof n==="string")return JSON.stringify(n);if(typeof n==="number"||typeof n==="boolean")return String(n);if(n instanceof RegExp)return n.toString();return JSON.stringify(n)}function Vl(n){let f=(i)=>i&&(i[0]==="IDENTIFIER"||i[0]==="PROPERTY"||i[0]==="SYMBOL"),e=[],t=0;if(f(n[t]))e.push(n[t][1]);else if(n[t]?.[0]==="["||n[t]?.[0]==="INDEX_START"){let i=[],u=1;t++;while(t<n.length&&u>0){let l=n[t];if(l[0]==="["||l[0]==="INDEX_START")u++;if(l[0]==="]"||l[0]==="INDEX_END"){if(u--,u===0){t++;break}}i.push(l),t++}for(let l of fi(i))if(f(l[0]))e.push(l[0][1])}return e}function Me(n,f){if(n==="idStart"&&!f.length)throw g(null,"@idStart requires an integer literal, e.g. @idStart 10001.");if(!f.length)return null;if(n==="belongs_to"||n==="has_many"||n==="has_one"||n==="one"||n==="many"||n==="mixin"){let e=f[0];if(!e||e[0]!=="IDENTIFIER"&&e[0]!=="PROPERTY")throw g(e||f[f.length-1],`@${n} requires a target name.`);let t=e[1],i=e.data?.optional===!0,u=1;if(!i&&f[u]?.[0]==="?")i=!0,u++;let l=[`target: ${JSON.stringify(t)}`];if(i)l.push("optional: true");return`[{${l.join(", ")}}]`}if(n==="unique"){let e=Vl(f);if(!e.length)throw g(f[0]||f[f.length-1],"@unique requires a field name or list — '@unique :email' or '@unique [:a, :b]'.");return`[{fields: ${JSON.stringify(e)}}]`}if(n==="index"){let e=Vl(f);return`[{fields: ${JSON.stringify(e)}}]`}if(n==="on"){let e=Zi(f)[0];if(e&&e[0]==="SYMBOL")return`[{field: ${JSON.stringify(e[1])}}]`;throw g(e||f[f.length-1],"@on requires the discriminator field as a :symbol — '@on :kind'.")}if(n==="tableWas"){if(f[0]?.[0]==="CALL_START"&&f[f.length-1]?.[0]==="CALL_END")f=f.slice(1,-1);let e=f[0];if(e&&e[0]==="STRING")return`[{name: ${e[1]}}]`;if(e&&(e[0]==="IDENTIFIER"||e[0]==="PROPERTY"))return`[{name: ${JSON.stringify(e[1])}}]`;throw g(e||f[f.length-1],"@tableWas requires the previous table name, e.g. @tableWas legacy_users.")}if(n==="idStart"){let e=f[0],t=1,i=e;if(e&&e[0]==="-"&&f[1]&&f[1][0]==="NUMBER")t=-1,i=f[1];if(!i||i[0]!=="NUMBER")throw g(e||f[f.length-1],"@idStart requires an integer literal, e.g. @idStart 10001.");let u=t*Number(i[1]);if(!Number.isInteger(u))throw g(i,"@idStart requires an integer literal; got "+i[1]+".");return"[{value: "+u+"}]"}return null}function ul(n,f){if(!n.length)throw g(null,"Empty constraint value.");let e=n[0],t=e[0];if(n.length===1){if(t==="NUMBER")return Number(e[1]);if(t==="STRING")return JSON.parse(e[1]);if(t==="BOOL")return e[1]==="true";if(t==="NULL")return null;if(t==="UNDEFINED")return;if(t==="REGEX")return Ue(e[1]);if(t==="SYMBOL")return e[1]}if(n.length===2&&t==="-"&&n[1][0]==="NUMBER")return-Number(n[1][1]);throw g(e,`Constraint values must be literals (number, string, boolean, null, regex, :symbol). Got ${t}.`)}function Ue(n){let f=typeof n==="string"?n:String(n),e=f.match(/^\/(.*)\/([gimsuy]*)$/s);return e?new RegExp(e[1],e[2]):new RegExp(f)}function qe(n){if(Array.isArray(n)){if((n[0]?.valueOf?.()??n[0])==="block"&&n.length===2)return n[1]}return n}function li(n){if(!n||!n.length)return null;let f=li._LexerCtor;if(!f)throw Error("schema: parseBodyTokens called before Lexer was wired");let e=Object.create(f.prototype),t=n.slice();if(t.length>=2&&t[0]?.[0]==="INDENT"){let r=0,h=-1;for(let o=0;o<t.length;o++)if(t[o][0]==="INDENT")r++;else if(t[o][0]==="OUTDENT"){if(r--,r===0){h=o;break}}if(h===t.length-1)t=t.slice(1,-1)}if(e.tokens=t,e.seenFor=e.seenImport=e.seenExport=!1,e.ends=[],e.indent=0,e.outdebt=0,e.indents=[],e.tokens[e.tokens.length-1]?.[0]!=="TERMINATOR")e.tokens.push(ll("TERMINATOR",`
1869
- `,n[n.length-1]));try{e.rewriteTypes?.(),e.tagPostfixConditionals?.(),e.rewriteTaggedTemplates?.(),e.addImplicitBracesAndParens?.(),e.addImplicitCallCommas?.()}catch(r){throw g(n[0],`schema: failed to compile body: ${r.message}`)}let u=e.tokens.filter((r)=>r[0]!=="TYPE_DECL"),l=Nn.lexer;Nn.lexer={tokens:u,pos:0,setInput(){},lex(){if(this.pos>=this.tokens.length)return 1;let r=this.tokens[this.pos++],h=r[1];if(r.data)h=new String(h),Object.assign(h,r.data);return this.text=h,this.loc=r.loc,this.line=r.loc?.r,r[0]}};let a;try{a=Nn.parse("")}finally{Nn.lexer=l}if(!Array.isArray(a)||a[0]!=="program")return null;let c=a.slice(1);if(c.length===0)return null;if(c.length===1)return c[0];return["block",...c]}function Se(n){let f=[],e=n.data;if(e?.bang===!0)f.push("!");if(e?.optional===!0)f.push("?");return f}function Ee(n,f){let e=0;for(let t=f;t<n.length;t++)if(n[t][0]==="INDENT")e++;else if(n[t][0]==="OUTDENT"){if(e--,e===0)return t}return-1}function fi(n){let f=[],e=[],t=0;for(let i of n){let u=i[0];if(u==="("||u==="["||u==="{"||u==="CALL_START"||u==="INDEX_START"||u==="PARAM_START"||u==="INDENT")t++;if(u===")"||u==="]"||u==="}"||u==="CALL_END"||u==="INDEX_END"||u==="PARAM_END"||u==="OUTDENT")t--;if(u===","&&t===0){if(e.length)f.push(e);e=[];continue}e.push(i)}if(e.length)f.push(e);return f}function de(n){let f=n[0],e=n[1];if(f==="NUMBER")return Number(e);if(f==="STRING")return JSON.parse(e);if(f==="BOOL")return e==="true";if(f==="NULL")return null;if(f==="UNDEFINED")return;return e}function ll(n,f,e){let t=[n,f];if(t.pre=0,t.data=null,t.loc=e?.loc??{r:0,c:0,n:0},t.spaced=!1,t.newLine=!1,t.generated=!0,e)t.origin=e;return t}function g(n,f){let e=n?.loc||{r:0,c:0},t=Error(f);return t.name="SchemaSyntaxError",t.loc=e,t.line=e.r,t.column=e.c,t.phase="schema",t.code="E_SCHEMA",t}function Fe(n={}){if(!il)throw Error("schema runtime provider not registered. Side-effect-import either './schema/loader-server.js' (CLI / server / tests) or './schema/loader-browser.js' (browser bundle) before calling any compileToJS that emits schemas.");return il(n)}function lf({mode:n="browser"}={}){let f;switch(n){case"validate":f=nl;break;case"browser":f=nl+`
1870
- `+Pl;break;case"server":case"migration":throw Error("schema runtime mode '"+n+"' is not available in the browser. ORM and DDL features require side-effect-importing loader-server.js.");default:throw Error(`unknown schema runtime mode: ${n}`)}return(bl+f+Xl).trimStart()}jl(lf);var ze=lf({mode:"browser"});if(typeof globalThis<"u"&&!globalThis.__ripSchema)try{(0,eval)(ze)}catch{}class Hn extends Error{constructor(n,{code:f=null,file:e=null,line:t=null,column:i=null,length:u=1,source:l=null,suggestion:a=null,phase:c=null}={}){super(n);this.name="RipError",this.code=f,this.file=e,this.line=t,this.column=i,this.length=u,this.source=l,this.suggestion=a,this.phase=c}static fromLexer(n,f,e){let t=n.location||{};return new Hn(n.message,{code:"E_SYNTAX",file:e,line:t.first_line??null,column:t.first_column??null,length:t.last_column!=null&&t.first_column!=null?t.last_column-t.first_column+1:1,source:f,phase:"lexer"})}static fromParser(n,f,e){let t=n.hash||{},i=t.loc||{},u=t.line??i.r??null,l=i.first_column??i.c??null,a=null;if(t.expected?.length){if(a=`Expected ${t.expected.slice(0,5).map((_)=>_.replace(/'/g,"")).join(", ")}`,t.expected.length>5)a+=`, ... (${t.expected.length} total)`}let c=t.token||"token",r=new Set((t.expected||[]).map((w)=>w.replace(/'/g,""))),h=new Set(["TERMINATOR",",",")","]","OUTDENT","CALL_END","INDEX_END","PARAM_END","EOF"]);if(r.has(":")&&(r.has("POST_IF")||r.has("POST_UNLESS")||r.has("FOR")||r.has("WHILE"))&&h.has(c))a="Binary `x ? y` was removed — use `x ?? y` for nullish coalescing, or a full ternary `x ? y : z`";let o=t.text?` near '${t.text}'`:"",s=`Unexpected ${c}${o}`;return new Hn(s,{code:"E_PARSE",file:e,line:u,column:l,length:t.text?.length||1,source:f,suggestion:a,phase:"parser"})}static fromSExpr(n,f,e,t,i){let u=f?.loc||{};return new Hn(n,{code:"E_CODEGEN",file:t,line:u.r??null,column:u.c??null,length:u.n??1,source:e,suggestion:i,phase:"codegen"})}get locationString(){let n=[];if(this.file)n.push(this.file);if(this.line!=null)n.push(`${this.line+1}:${(this.column??0)+1}`);return n.join(":")}format({color:n=!0}={}){let f=n?{red:"\x1B[31m",yellow:"\x1B[33m",cyan:"\x1B[36m",dim:"\x1B[2m",bold:"\x1B[1m",reset:"\x1B[0m"}:{red:"",yellow:"",cyan:"",dim:"",bold:"",reset:""},e=[],t=this.locationString,i=t?`${f.cyan}${t}${f.reset} `:"";e.push(`${i}${f.red}${f.bold}error${f.reset}${f.bold}: ${this.message}${f.reset}`);let u=this._snippet();if(u){e.push("");for(let l of u)if(l.type==="source")e.push(`${f.dim}${l.gutter}${f.reset}${l.text}`);else if(l.type==="caret")e.push(`${f.dim}${l.gutter}${f.reset}${f.red}${f.bold}${l.text}${f.reset}`)}if(this.suggestion)e.push(""),e.push(`${f.yellow}hint${f.reset}: ${this.suggestion}`);return e.join(`
1871
- `)}formatHTML(){let n=[];n.push('<div class="rip-error">'),n.push("<style>"),n.push('.rip-error { font-family: ui-monospace, "SF Mono", Menlo, Monaco, monospace; font-size: 13px; line-height: 1.5; padding: 16px 20px; background: #1e1e2e; color: #cdd6f4; border-radius: 8px; overflow-x: auto; }'),n.push(".rip-error .re-header { color: #f38ba8; font-weight: 600; }"),n.push(".rip-error .re-loc { color: #89b4fa; }"),n.push(".rip-error .re-gutter { color: #585b70; user-select: none; }"),n.push(".rip-error .re-caret { color: #f38ba8; font-weight: 700; }"),n.push(".rip-error .re-hint { color: #f9e2af; }"),n.push(".rip-error .re-snippet { margin: 8px 0; }"),n.push("</style>");let f=this.locationString,e=f?`<span class="re-loc">${ui(f)}</span> `:"";n.push(`<div class="re-header">${e}error: ${ui(this.message)}</div>`);let t=this._snippet();if(t){n.push('<pre class="re-snippet">');for(let i of t)if(i.type==="source")n.push(`<span class="re-gutter">${ui(i.gutter)}</span>${ui(i.text)}`);else if(i.type==="caret")n.push(`<span class="re-gutter">${ui(i.gutter)}</span><span class="re-caret">${ui(i.text)}</span>`);n.push("</pre>")}if(this.suggestion)n.push(`<div class="re-hint">hint: ${ui(this.suggestion)}</div>`);return n.push("</div>"),n.join(`
1868
+ Expecting ${l.join(", ")}, got '${this.tokenNames[q]||q}'`;else return`Parse error on line ${Q+1}: Unexpected ${q===f?"end of input":`'${this.tokenNames[q]||q}'`}`,this.parseError(i,{text:r.match,token:this.tokenNames[q]||q,line:r.line,loc:F,expected:l})})(),Error(i)}if(a>0)if(M.push(q,a),H.push(r.text),o.push(r.loc),q=null,!m){if([S,K,Q,F]=[r.len,r.text,r.line,r.loc],U>0)U--}else[q,m]=[m,null];else if(a<0){if(t=this.ruleTable[-a*2+1],R.$=H[H.length-t],h=o[o.length-(t||1)],u=t?o[o.length-1]:h,s=u!=null&&u.r===h.r&&h.c!=null&&u.c!=null?u.c+(u.n||0)-h.c:h.n||0,R._$={r:h.r,c:h.c,n:s},D=this.ruleActions.call(R,-a,H,o,A.ctx),D!=null)R.$=D;if(Array.isArray(R.$))R.$.loc=R._$;if(t)M.length-=t*2,H.length-=t,o.length-=t;M.push(this.ruleTable[-a*2]),H.push(R.$),o.push(R._$),w=y[M[M.length-2]][M[M.length-1]],M.push(w)}else if(a===0)return H[H.length-1]}},trace(){},ctx:{}},Wl=(n={})=>{let f=Object.create(Ql);return Object.defineProperty(f,"ctx",{value:{...n},enumerable:!1,writable:!0,configurable:!0}),f},bn=Wl();var tt=bn.parse.bind(bn);var nu=null;function ju(n){nu=n}var Jl=new Set(["input","shape","model","mixin","enum","union"]),Lu="input",Iu=new Set(["integer","number","boolean","date","datetime"]),Yl={id:"integer",int:"integer",whole:"integer",float:"number",money:"integer",money_even:"integer",cents:"integer",decimal:"string",bool:"boolean",truthy:"boolean",falsy:"boolean",json:"json",hash:"json",array:"json",ids:{type:"integer",array:!0},string:"string",text:"string",name:"string",address:"string",date:"string",time:"string",time12:"string",email:"email",state:"string",zip:"zip",zipplus4:"string",ssn:"string",sex:"string",phone:"string",username:"string",ip:"string",mac:"string",url:"url",color:"string",uuid:"uuid",semver:"string",slug:"string"},dl=new Set(["beforeValidation","afterValidation","beforeSave","afterSave","beforeCreate","afterCreate","beforeUpdate","afterUpdate","beforeDestroy","afterDestroy","afterCommit","afterRollback"]),Zl=new Set(["TERMINATOR","INDENT","OUTDENT","=","+=","-=","*=","/=","%=","**=","//=","%%=","?=","??=","&&=","||=","&=","|=","^=","<<=",">>=",">>>=","READONLY_ASSIGN","REACTIVE_ASSIGN","COMPUTED_ASSIGN","RETURN","THROW","YIELD","AWAIT","EXPORT",",","(","[","{","CALL_START","PARAM_START","INDEX_START","->","=>",":","WHEN","THEN","IF","UNLESS","UNARY","!","NOT"]);function di(n,f){if(n)n.prototype.rewriteSchema=function(){Gl(this)},ui._LexerCtor=n;if(f)f.prototype.emitSchema=function(e,a,i){return kl(this,e,a,i)},f.prototype.getSchemaRuntime=function(){let e=this.options?.schemaMode||"migration";return He({mode:e})}}var Bu=new Set(["defaultMaxString"]);function Gl(n){let f=n.tokens,e={defaultMaxString:null},a=0,i=0;while(i<f.length){let l=f[i];if(l[0]==="INDENT")a++;else if(l[0]==="OUTDENT")a--;let u=Xl(f,i,e,a);if(u>0){f.splice(i,u);continue}if(bl(f,i))Nl(n,f,i,e);i++}}function Xl(n,f,e,a){let i=n[f];if(!i||i[0]!=="IDENTIFIER"||i[1]!=="schema")return 0;if(n[f+1]?.[0]!==".")return 0;let l=n[f+2];if(!l||l[0]!=="PROPERTY")return 0;if(n[f+3]?.[0]!=="=")return 0;let u=n[f-1];if(u){let o=u[0];if(o!=="TERMINATOR"&&o!=="INDENT"&&o!=="OUTDENT")return 0}let t=l[1];if(!Bu.has(t))throw C(l,`Unknown schema pragma 'schema.${t}'. Known pragmas: ${[...Bu].join(", ")}.`);if(a>0)throw C(l,`Schema pragma 'schema.${t}' must be declared at file top level. It was found inside a nested block (function / class / if / loop body), where it would leak into later top-level schemas.`);let c=n[f+4];if(!c||c[0]!=="NUMBER")throw C(c||l,`Pragma 'schema.${t}' requires a number literal. Example: schema.${t} = 100.`);let r=Number(c[1]);if(!Number.isFinite(r)||r<0||!Number.isInteger(r))throw C(c,`Pragma 'schema.${t}' expects a non-negative integer (got ${c[1]}). Use 0 to disable.`);e[t]=r===0?null:r;let h=f+5;if(n[h]?.[0]==="TERMINATOR")h++;return h-f}function bl(n,f){let e=n[f];if(!e||e[0]!=="IDENTIFIER"||e[1]!=="schema")return!1;let a=n[f-1];if(a){let l=a[0];if(l==="."||l==="?.")return!1;if(a[0]==="IDENTIFIER"||a[0]==="PROPERTY"||a[0]===")"||a[0]==="]"||a[0]==="}"||a[0]==="STRING"||a[0]==="NUMBER"){if(!Zl.has(l))return!1}}let i=f+1;if(n[i]?.[0]==="SYMBOL"){if(i++,n[i]?.[0]===","&&(n[i+1]?.[0]==="PROPERTY"||n[i+1]?.[0]==="IDENTIFIER")&&n[i+1]?.[1]==="on"){i+=2;while(i<n.length&&n[i][0]!=="TERMINATOR"&&n[i][0]!=="INDENT")i++}}if(n[i]?.[0]==="TERMINATOR"){if(n[i][1]===";")return!0;i++}return n[i]?.[0]==="INDENT"}function Nl(n,f,e,a){let i=f[e],l=null,u=Lu,t=e+1;if(f[t]?.[0]==="SYMBOL"){l=f[t];let _=l[1];if(!Jl.has(_))throw C(l,`Unknown schema kind :${_}. Expected one of :input, :shape, :model, :mixin, :enum, :union.`);u=_,t++}let c=null;if(f[t]?.[0]===","&&(f[t+1]?.[0]==="PROPERTY"||f[t+1]?.[0]==="IDENTIFIER")&&f[t+1]?.[1]==="on"){if(u!=="model")throw C(f[t+1],`'on:' (per-schema adapter) applies to :model only — :${u} never queries a database.`);let _=t+2;if(f[_]?.[0]===":")_++;let y=_;while(_<f.length&&f[_][0]!=="TERMINATOR"&&f[_][0]!=="INDENT")_++;if(c=f.slice(y,_),!c.length)throw C(f[t+1],"'on:' requires an adapter expression — 'schema :model, on: analytics'.");t=_}let r,h;if(f[t]?.[0]==="TERMINATOR"&&f[t][1]===";"){let _=t+1,y=_,m=0,D=f[_]?.loc?.r??null;while(y<f.length){let U=f[y],R=U[0];if(m===0&&D!=null&&U.loc&&U.loc.r>D)break;if(R==="("||R==="["||R==="{"||R==="CALL_START"||R==="INDEX_START"||R==="PARAM_START")m++;else if(R===")"||R==="]"||R==="}"||R==="CALL_END"||R==="INDEX_END"||R==="PARAM_END"){if(m--,m<0)break}else if(m===0&&R==="TERMINATOR"&&U[1]!==";")break;else if(m===0&&(R==="INDENT"||R==="OUTDENT"))break;else if(m===0&&R==="->")throw C(U,"Inline schema body does not support '->' (method/hook/transform). Use the indented form.");else if(m===0&&R==="EFFECT")throw C(U,"Inline schema body does not support '~>' (computed getter). Use the indented form.");else if(m===0&&R==="UNARY_MATH"&&U[1]==="!"&&f[y+1]?.[0]==="COMPARE"&&f[y+1][1]===">")throw C(U,"Inline schema body does not support '!>' (eager derived). Use the indented form.");y++}while(y>_&&f[y-1][0]==="TERMINATOR")y--;if(r=f.slice(_,y),h=y,!r.length)throw C(i,`Inline schema body is empty. Either add '; field; …' entries after 'schema${l?" :"+u:""};' or switch to the indented form.`)}else{if(f[t]?.[0]==="TERMINATOR")t++;if(f[t]?.[0]!=="INDENT")throw C(i,`Expected indented schema body after 'schema${l?" :"+u:""}'.`);let _=t,y=Fe(f,_);if(y<0)throw C(f[_],"Unterminated schema body.");r=f.slice(_+1,y),h=y+1}let o=Ol(u,r,{schemaLoc:i.loc,kindLoc:l?.loc??null,kind:u,defaultMaxString:a?.defaultMaxString??null});if(c)o.adapterTokens=c;let s=iu("SCHEMA","schema",i),w=iu("SCHEMA_BODY",u,i);w.data={descriptor:o},f.splice(e,h-e,s,w)}function Ol(n,f,e){let a=[],i=Pl(f);if(n===Lu&&!e.kindLoc&&i.length>0&&i[0][0]?.[0]==="SYMBOL")n="enum",e.kind="enum";if(n==="enum")for(let l of i)$l(l,a);else if(n==="union"){for(let t of i)xl(t,a);let l=a.filter((t)=>t.tag==="directive"&&t.name==="on").length,u=a.filter((t)=>t.tag==="union-member");if(l!==1)throw C({loc:e.schemaLoc},l===0?":union requires an '@on :field' discriminator — untagged unions are not supported.":`:union takes exactly one '@on :field' discriminator (got ${l}).`);if(u.length<2)throw C({loc:e.schemaLoc},`:union needs at least two constituent schemas (got ${u.length}).`)}else{for(let l of i)Bl(n,l,a,e);if(n==="mixin")for(let l of a){if(l.tag==="method"||l.tag==="computed"||l.tag==="hook")throw C({loc:l.headerLoc||l.loc},`:mixin schemas are fields-only. '${l.name}' is a ${l.tag}; move it to a :shape or :model.`);if(l.tag==="ensure")throw C({loc:l.headerLoc||l.loc},":mixin schemas don't accept @ensure refinements. Move the invariant to a :shape or :model that composes this mixin.");if(l.tag==="scope"||l.tag==="defaultScope")throw C({loc:l.headerLoc||l.loc},`:mixin schemas don't accept query scopes. '@${l.tag==="scope"?"scope":"defaultScope"}' is :model-only.`);if(l.tag==="directive"&&l.name!=="mixin")throw C({loc:l.loc},`:mixin schemas only accept '@mixin Name' directives. '@${l.name}' is not allowed.`)}else if(n==="input")for(let l of a){if(l.tag==="method"||l.tag==="computed"||l.tag==="hook")throw C({loc:l.headerLoc||l.loc},`:input schemas are fields-only. '${l.name}' is a ${l.tag}; use :shape or :model if you need behavior.`);if(l.tag==="scope"||l.tag==="defaultScope")throw C({loc:l.headerLoc||l.loc},`:input schemas don't accept query scopes. '@${l.tag==="scope"?"scope":"defaultScope"}' is :model-only.`);if(l.tag==="directive"&&l.name!=="mixin")throw C({loc:l.loc},`:input schemas only accept '@mixin Name' and '@ensure'. '@${l.name}' is not allowed.`)}else if(n==="shape")for(let l of a){if(l.tag==="hook")throw C({loc:l.headerLoc||l.loc},`:shape schemas don't have lifecycle hooks. '${l.name}' runs only on :model; move it or remove it.`);if(l.tag==="scope"||l.tag==="defaultScope")throw C({loc:l.headerLoc||l.loc},`:shape schemas don't accept query scopes. '@${l.tag==="scope"?"scope":"defaultScope"}' is :model-only.`);if(l.tag==="directive"&&l.name!=="mixin")throw C({loc:l.loc},`:shape schemas only accept '@mixin Name'. '@${l.name}' is :model-only.`)}}return{kind:n,loc:e.schemaLoc,kindLoc:e.kindLoc,entries:a}}function Pl(n){let f=[],e=[],a=0;for(let i of n){let l=i[0];if(l==="INDENT")a++;if(l==="OUTDENT")a--;if(l==="TERMINATOR"&&a===0){if(e.length)f.push(e),e=[];continue}e.push(i)}if(e.length)f.push(e);return f}var Il=new Set(["string","email","url","phone","zip"]);function Bl(n,f,e,a){let i=f[0];if(!i)return;if(i[0]==="@"){let F=f[1];if(!F||F[0]!=="IDENTIFIER"&&F[0]!=="PROPERTY")throw C(i,"Expected directive name after '@'.");let K=f.slice(2),H=F[1];if(H==="ensure"){let B=F.data?.bang===!0,j=Vl(K,i);for(let b of j)e.push({tag:"ensure",name:"ensure",message:b.message,field:b.field||null,async:B,paramTokens:b.paramTokens,bodyTokens:b.bodyTokens,loc:b.loc,headerLoc:i.loc});return}if(H==="scope"){let B=Tl(K,i);e.push({tag:"scope",name:B.name,paramTokens:B.paramTokens,bodyTokens:B.bodyTokens,loc:i.loc,headerLoc:i.loc});return}if(H==="defaultScope"){let B=pu(Zi(K),i,"@defaultScope");if(B.paramTokens.length)throw C(i,"@defaultScope takes no parameters — write '@defaultScope -> @where(...)'.");e.push({tag:"defaultScope",name:"defaultScope",paramTokens:[],bodyTokens:B.bodyTokens,loc:i.loc,headerLoc:i.loc});return}let G=null;if(H==="belongs_to"||H==="has_many"||H==="has_one"||H==="one"||H==="many"||H==="mixin"){let B=K[0];if(B&&(B[0]==="IDENTIFIER"||B[0]==="PROPERTY")){let j=B.data?.optional===!0;if(!j&&K[1]?.[0]==="?")j=!0;G=[{target:B[1],optional:j}]}}e.push({tag:"directive",name:H,args:G,argTokens:K,loc:i.loc});return}if(i[0]==="PROPERTY"){vl(n,i,f,e);return}if(i[0]!=="IDENTIFIER")throw C(i,`Unexpected ${i[0]} at schema top level. Allowed: fields ('name! type'), directives ('@name'), methods ('name: -> body'), or computed getters ('name: ~> body').`);let l=i[1];if(f[1]?.[0]===":")throw C(f[1],"Schema fields use 'name type' (space, no colon). For methods or computed use 'name: -> body' or 'name: ~> body'.");let u=Se(i),t=1;while(t<f.length){let F=f[t];if(!(f[t-1]&&!f[t-1].spaced))break;if(F[0]==="#")throw C(F,`The '#' unique modifier was removed. Mark uniqueness with '@unique': inline as '${l}! <type> @unique', or as a directive '@unique :${l}' (composite: '@unique [:a, :b]').`);if(F[0]==="?"||F[0]==="!"){u.push(F[0]),t++;continue}break}let c=f[t];if(c?.[0]===":")throw C(c,"Schema fields use 'name type' (space, no colon). Got 'name:'. For methods/computed use 'name: -> body' or 'name: ~> body'.");let r="string",h=null,o=!1,s=null,w=!1;if(c?.[0]==="UNARY_MATH"&&c[1]==="~"){let F=f[t+1];if(F?.[0]==="SYMBOL"){o=!0,s=F[1];let K=Yl[s];if(K&&typeof K==="object")r=K.type,w=!0;else r=K||"any";t+=2,c=F}else if(F?.[0]==="IDENTIFIER"){if(!Iu.has(F[1]))throw C(F,`'~${F[1]}' is not coercible. Built-in coercion is defined for: ${[...Iu].join(", ")}. `+`Named coercers use a symbol — '~:${F[1]}' — and resolve through the registry `+`(@rip-lang/validate's vocabulary, or schema.registerCoercer). For anything else, write an explicit transform: '${l}, -> …'.`);o=!0,r=F[1],t+=2,c=F}else throw C(c,"'~' in the type slot marks coercion and needs a type name ('~integer', '~date', …) "+"or a registered coercer symbol ('~:ssn', '~:money', …).")}else if(c?.[0]==="IDENTIFIER")r=c[1],t++;else if(c?.[0]==="STRING"){h=[JSON.parse(c[1])],t++;while(f[t]?.[0]==="|"&&f[t+1]?.[0]==="STRING")t++,h.push(JSON.parse(f[t][1])),t++;if(f[t]?.[0]==="|"){let F=f[t+1],K=F?.[0]??"<end>";throw C(F||f[t],`Literal unions contain string literals only. '${K}' is not allowed as a union member. Use the '?' modifier for nullability.`)}r="literal-union"}let _=!1,y=f[t]?.[0],m=f[t+1]?.[0];if((y==="["||y==="INDEX_START")&&(m==="]"||m==="INDEX_END"))_=!0,t+=2;if(o&&_)throw C(c,`Coercion ('~${r}') does not apply to array types. Coerce per-element with a transform instead.`);if(w)_=!0;let D=f.slice(t);if((c?.[0]==="IDENTIFIER"||c?.[0]==="STRING")&&D[0]?.[0]==="->")throw C(D[0],`Field '${l}' has a transform after the type; a comma is required before '->'. Write '${l} ${r}, -> …'.`);let R=null,A=null,E=null,M=null,q=null,S=!1;if(D.length>0){if(D[0]?.[0]===",")D=D.slice(1);if(D.length>=2&&D[0][0]==="INDENT"){let K=0,H=-1;for(let G=0;G<D.length;G++)if(D[G][0]==="INDENT")K++;else if(D[G][0]==="OUTDENT"){if(K--,K===0){H=G;break}}if(H===D.length-1)D=D.slice(1,-1)}let F=fi(D);for(let K=0;K<F.length;K++){let H=F[K];while(H.length&&(H[0][0]==="INDENT"||H[0][0]==="TERMINATOR"))H=H.slice(1);if(!H.length)continue;if(H[0][0]!=="->"){let B=gl(H);if(B>0)throw C(H[B],`Field '${l}' has a transform after other content; a comma is required before '->'. Write 'name! <constraints>, -> <body>'.`)}let G=H[0];if(G[0]!=="->"){while(H.length&&(H[H.length-1][0]==="OUTDENT"||H[H.length-1][0]==="TERMINATOR"))H=H.slice(0,-1);if(!H.length)continue;G=H[0]}if(G[0]==="["||G[0]==="INDEX_START"){if(R)throw C(G,`Field '${l}' has more than one '[…]' constraint. At most one default / regex bracket per field.`);R=H}else if(G[0]==="{"){if(A)throw C(G,`Field '${l}' has more than one '{…}' attrs bracket.`);A=H}else if(Cl(H)){if(E)throw C(G,`Field '${l}' has more than one range constraint. Only one 'min..max' per field.`);E=H}else if(G[0]==="REGEX"&&H.length===1){if(M)throw C(G,`Field '${l}' has more than one regex constraint.`);M=G}else if(G[0]==="->"){if(K!==F.length-1)throw C(G,`Transform '-> …' must be the last element on the field line for '${l}'.`);q=H.slice(1)}else if(G[0]==="@"){let B=H[1],j=B&&(B[0]==="IDENTIFIER"||B[0]==="PROPERTY")?B[1]:null;if(H.length===2&&j==="unique"){if(S)throw C(G,`Field '${l}' has more than one '@unique'.`);S=!0}else throw C(G,`Unknown inline attribute '@${j??""}' on field '${l}'. The only inline attribute is '@unique'.`)}else throw C(G,`Unexpected trailer for field '${l}'. Expected '[…]' default, '{…}' attrs, '/regex/', 'min..max' range, '-> transform', or '@unique'.`)}}if(_&&h)throw C(c,"Array-of-literal-union is not supported. Use 'string[]' if you need an array of strings.");let Q=null;if(a?.defaultMaxString!=null&&!M&&!h&&Il.has(r))Q=a.defaultMaxString;if(o&&q)throw C(i,`Field '${l}' has both '~${r}' coercion and a '->' transform. `+"A transform replaces coercion — coerce inside it instead.");e.push({tag:"field",name:l,modifiers:u,unique:S,typeName:r,array:_,literals:h,coerce:o,coercer:s,constraintTokens:R,attrsTokens:A,rangeTokens:E,regexToken:M,transformTokens:q,defaultMax:Q,loc:i.loc})}function gl(n){let f=0;for(let e=0;e<n.length;e++){let a=n[e][0];if(a==="("||a==="["||a==="{"||a==="CALL_START"||a==="INDEX_START"||a==="PARAM_START")f++;else if(a===")"||a==="]"||a==="}"||a==="CALL_END"||a==="INDEX_END"||a==="PARAM_END")f--;else if(f===0&&a==="->")return e}return-1}function Cl(n){let f=0,e=!1;if(n[f]?.[0]==="-"&&n[f+1]?.[0]==="NUMBER")f+=2,e=!0;else if(n[f]?.[0]==="NUMBER")f++,e=!0;if(n[f]?.[0]!=="..")return!1;f++;let a=!1;if(n[f]?.[0]==="-"&&n[f+1]?.[0]==="NUMBER")f+=2,a=!0;else if(n[f]?.[0]==="NUMBER")f++,a=!0;return(e||a)&&f===n.length}function vl(n,f,e,a){let i=f[1],l=e[1];if(!l||l[0]!==":")throw C(f,`Expected ':' after '${i}' before arrow.`);let u=2,t=[],c=!1;if(e[u]&&(e[u][0]==="PARAM_START"||e[u][0]==="(")){c=!0;let D=1;u++;while(u<e.length&&D>0){let U=e[u][0];if(U==="("||U==="PARAM_START")D++;if(U===")"||U==="PARAM_END"){if(D--,D===0){u++;break}}t.push(e[u]),u++}if(D!==0)throw C(e[2],`'${i}': unclosed '(' in parameters.`)}let r=e[u],h=e[u+1],o,s,w;if(r&&r[0]==="->")o="->",s=r.loc,w=u+1;else if(r&&r[0]==="EFFECT")o="~>",s=r.loc,w=u+1;else if(r&&r[0]==="UNARY_MATH"&&r[1]==="!"&&h&&h[0]==="COMPARE"&&h[1]===">"&&!r.spaced)o="!>",s=r.loc,w=u+2;else throw C(l,`Schema top-level '${i}:' must be followed by '->' (method/hook), '~>' (computed getter), or '!>' (eager derived).`);let _=e.slice(w),y=dl.has(i),m;if(o==="~>")m="computed";else if(o==="!>")m="derived";else if(n==="model"&&y)m="hook";else m="method";if(c&&m!=="method")throw C(l,`'${i}': ${m==="hook"?"lifecycle hooks":m==="computed"?"computed getters (~>)":"eager-derived fields (!>)"} take no parameters — only methods do.`);a.push({tag:m,name:i,arrow:o,paramTokens:t,bodyTokens:_,headerLoc:f.loc,arrowLoc:s})}function Zi(n){if(n[0]?.[0]==="CALL_START"&&n[n.length-1]?.[0]==="CALL_END")return n.slice(1,-1);return n}function Tl(n,f){let e=Zi(n);if(!e.length)throw C(f,"@scope requires ':name, -> body' (or ':name, (args) -> body').");let a=e[0];if(a[0]!=="SYMBOL")throw C(a,"@scope name must be a :symbol — '@scope :active, -> @where(active: true)'.");let i=a[1];if(!/^[a-z][a-zA-Z0-9]*$/.test(i))throw C(a,`@scope name ':${i}' must be a lowercase-first alphanumeric identifier.`);let l=e.slice(1);if(l[0]?.[0]===",")l=l.slice(1);if(!l.length)throw C(a,`@scope :${i} is missing its body — '@scope :${i}, -> @where(...)'.`);let u=pu(l,a,`@scope :${i}`);return{name:i,paramTokens:u.paramTokens,bodyTokens:u.bodyTokens}}function pu(n,f,e){if(!n.length)throw C(f,`${e}: expected '-> body' or '(args) -> body'.`);let a=[],i=0,l=n[0];if(l[0]==="("||l[0]==="PARAM_START"){let c=1;i=1;while(i<n.length&&c>0){let r=n[i][0];if(r==="("||r==="PARAM_START")c++;if(r===")"||r==="PARAM_END"){if(c--,c===0){i++;break}}a.push(n[i]),i++}if(c!==0)throw C(l,`${e}: unclosed '(' in parameters.`)}let u=n[i];if(!u||u[0]!=="->")throw C(u||f,`${e}: expected '->' ${a.length?"after parameters":"to start the body"}.`);let t=n.slice(i+1);if(!t.length)throw C(u,`${e}: function body is empty.`);return{paramTokens:a,bodyTokens:t}}function Vl(n,f){let e=n;if(!e.length)throw C(f,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");if(e[0]?.[0]==="CALL_START"&&e[e.length-1]?.[0]==="CALL_END")e=e.slice(1,-1);if(!e.length)throw C(f,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");let a=e[0];if(a[0]==="["||a[0]==="INDEX_START"){let l=jl(e,a),u=Ll(l);if(u.length===0)throw C(a,"@ensure [...] must contain at least one 'message, fn' pair.");return gu(u,a)}let i=fi(e);if(i.length<2)throw C(a,"@ensure inline form must be 'message, (x) -> body'. Did you forget the comma?");if(i.length>3||i.length===3&&!xu(i[1]))throw C(a,`@ensure inline form takes 'message[, :field], fn' (got ${i.length} comma-separated parts). Use '@ensure [...]' for multiple refinements.`);return gu(i,a)}function xu(n){return n&&n.length===1&&n[0][0]==="SYMBOL"}function gu(n,f){let e=[],a=0;while(a<n.length){let i=n[a++],l=null;if(a<n.length&&xu(n[a]))l=n[a++];if(a>=n.length)throw C(i?.[0]||f,"@ensure: missing function after message"+(l?" and :field":"")+".");e.push(pl(i,l,n[a++],f))}return e}function jl(n,f){let e=0,a=[];for(let i=0;i<n.length;i++){let l=n[i],u=l[0];if(u==="["||u==="INDEX_START"){if(e++,e===1)continue}if(u==="]"||u==="INDEX_END"){if(e--,e===0){if(i<n.length-1)throw C(n[i+1],"@ensure [...] must be the only argument — extra tokens after ']'.");if(a.length>=2&&a[0][0]==="INDENT"&&a[a.length-1][0]==="OUTDENT"){let t=0,c=!1;for(let r=0;r<a.length;r++)if(a[r][0]==="INDENT")t++;else if(a[r][0]==="OUTDENT"){if(t--,t===0&&r===a.length-1){c=!0;break}if(t===0)break}if(c)a=a.slice(1,-1)}return a}}if(e>=1)a.push(l)}throw C(f,"@ensure: unclosed '['.")}function Ll(n){let f=[],e=[],a=0;for(let i of n){let l=i[0];if(l==="("||l==="["||l==="{"||l==="CALL_START"||l==="INDEX_START"||l==="PARAM_START"||l==="INDENT")a++;if(l===")"||l==="]"||l==="}"||l==="CALL_END"||l==="INDEX_END"||l==="PARAM_END"||l==="OUTDENT")a--;if(a===0&&(l===","||l==="TERMINATOR")){if(e.length)f.push(e),e=[];continue}e.push(i)}if(e.length)f.push(e);return f}function pl(n,f,e,a){if(!n||!n.length)throw C(a,"@ensure: missing message (expected a string literal).");if(n.length!==1||n[0][0]!=="STRING")throw C(n[0]||a,"@ensure: each refinement's first element must be a string literal message.");let i=n[0],l=JSON.parse(i[1]),u=f?f[0][1]:null;if(!e||!e.length)throw C(i,"@ensure: missing function after message.");let t=e[0];if(t[0]!=="("&&t[0]!=="PARAM_START")throw C(t,"@ensure: expected '(args) -> body' after the message. Predicates must declare their parameter explicitly — '(u) -> ...'.");let c=1,r=1,h=[];while(r<e.length&&c>0){let w=e[r],_=w[0];if(_==="("||_==="PARAM_START")c++;if(_===")"||_==="PARAM_END"){if(c--,c===0){r++;break}}h.push(w),r++}if(c!==0)throw C(t,"@ensure: unclosed '(' in predicate parameters.");let o=e[r];if(!o||o[0]!=="->")throw C(o||e[r-1]||i,"@ensure: expected '->' after predicate parameters.");let s=e.slice(r+1);if(!s.length)throw C(o,"@ensure: predicate function body is empty.");return{message:l,field:u,paramTokens:h,bodyTokens:s,loc:i.loc}}function $u(n,f){if(!n.length)return[];return fi(n).map((a)=>{let i=a.filter((l)=>l[0]!=="TERMINATOR");if(i.length!==1||i[0][0]!=="IDENTIFIER")throw C(i[0]||f,"@ensure: predicate parameters must be plain identifiers.");return i[0][1]})}function xl(n,f){let e=n[0];if(!e)return;if(e[0]==="@"){let a=n[1];if(!a||a[1]!=="on")throw C(a||e,`:union bodies accept only '@on :field' and constituent schema names. '@${a?.[1]??""}' is not allowed.`);let i=Zi(n.slice(2)),l=i[0];if(!l||l[0]!=="SYMBOL")throw C(l||a,"@on requires the discriminator field as a :symbol — '@on :kind'.");if(i.length>1)throw C(i[1],"@on takes exactly one :field symbol.");f.push({tag:"directive",name:"on",args:[{field:l[1]}],argTokens:n.slice(2),loc:e.loc});return}if(e[0]==="IDENTIFIER"&&n.length===1){f.push({tag:"union-member",name:e[1],loc:e.loc});return}throw C(e,`:union bodies accept only '@on :field' and bare constituent schema names (one per line). Got ${e[0]}${n.length>1?" followed by "+n[1][0]:""}.`)}function $l(n,f){let e=n[0];if(!e)return;if(e[0]==="@"){let l=n[1],u=l&&(l[0]==="IDENTIFIER"||l[0]==="PROPERTY")?l[1]:"directive";throw C(e,`:enum schemas don't accept '@${u}'. Enums hold only :symbol members. Move the invariant to a :shape or :model that uses this enum as a field type.`)}if(e[0]!=="SYMBOL")throw C(e,`Enum member must be a :symbol. Use ':${e[1]??"name"}' for a bare member or ':${e[1]??"name"} value' for a valued one.`);let a=e[1],i=n[1];if(!i){f.push({tag:"enum-member",name:a,value:void 0,loc:e.loc});return}if(i[0]===":")throw C(i,`Enum member ':${a}' — drop the ':' before the value. Use ':${a} value'.`);if(n.length>2)throw C(n[2],`Extra tokens after enum member ':${a}' value.`);f.push({tag:"enum-member",name:a,value:ze(i),loc:e.loc})}function kl(n,f,e,a){let i=e[0],l=uu(i);if(!l)throw Error("schema: missing descriptor on SCHEMA_BODY token");n.usesSchemas=!0;let u=n._schemaName||null,t=[`kind: ${JSON.stringify(l.kind)}`];if(u)t.push(`name: ${JSON.stringify(u)}`);else if(n.options.inlineTypes&&(l.kind==="shape"||l.kind==="input")){let c=n._schemaAnon??=[],r=`__AnonSchema${c.length+1}`;t.push(`__anon: ${JSON.stringify(r)}`),c.push({name:r,descriptor:l})}if(t.push(`entries: [${l.entries.map((c)=>ce(n,c)).join(", ")}]`),l.adapterTokens){let c=ui(l.adapterTokens);if(c)t.push(`adapter: ${n.emit(Ee(c),"value")}`)}return`__schema({${t.join(", ")}})`}function uu(n){if(n&&typeof n==="object"){if(n.descriptor)return n.descriptor;if(n.data?.descriptor)return n.data.descriptor}return null}function ne(n){if(!Array.isArray(n))return null;if((n[0]?.valueOf?.()??n[0])!=="schema")return null;return uu(n[1])}var ie=new Set(["pick","omit","partial","required","extend"]);function On(n){return n&&n.valueOf?n.valueOf():n}function ku(n){return n.entries.some((f)=>f.tag==="directive"&&f.name==="mixin")}function ue(n){return(n.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase()+"_id").replace(/_([a-z])/g,(e,a)=>a.toUpperCase())}function fe(n){if(ku(n))return null;let f=new Map;for(let u of n.entries)if(u.tag==="field")f.set(u.name,u);if(n.kind!=="model")return f;let e=(u,t,c)=>{if(!f.has(u))f.set(u,{tag:"field",name:u,modifiers:c?["!"]:["?"],typeName:t,array:!1})},a=!1,i=!1,l=[];for(let u of n.entries){if(u.tag!=="directive")continue;if(u.name==="timestamps")a=!0;else if(u.name==="softDelete")i=!0;else if(u.name==="belongs_to"){let t=u.args&&u.args[0]&&u.args[0].target;if(t)l.push({fk:ue(t),required:u.args[0].optional!==!0})}}if(e("id","integer",!0),a)e("createdAt","datetime",!0),e("updatedAt","datetime",!0);if(i)e("deletedAt","datetime",!1);for(let{fk:u,required:t}of l)e(u,"integer",t);return f}function le(n){if(ku(n))return null;let f=new Map;for(let e of n.entries)if(e.tag==="field")f.set(e.name,e);return f}function Cu(n,f){let e=n.modifiers.filter((i)=>i!==(f==="partial"?"!":"?")),a=f==="partial"?"?":"!";if(!e.includes(a))e=[...e,a];return{...n,modifiers:e}}function ee(n,f,e){switch(f.method){case"pick":{let a=new Map;for(let i of f.keys){if(!n.has(i))return null;a.set(i,n.get(i))}return a}case"omit":{let a=new Set(f.keys),i=new Map;for(let[l,u]of n)if(!a.has(l))i.set(l,u);return i}case"partial":{let a=new Map;for(let[i,l]of n)a.set(i,Cu(l,"partial"));return a}case"required":{let a=new Set(f.keys),i=new Map;for(let[l,u]of n)i.set(l,a.has(l)?Cu(u,"required"):u);return i}case"extend":{let a=f.otherDescriptor||e.get(f.otherName);if(!a)return null;let i=le(a);if(!i)return null;let l=new Map(n);for(let[u,t]of i){if(l.has(u))return null;l.set(u,t)}return l}default:return null}}function ae(n,f,e){let a=fe(n);if(!a)return null;for(let i of f)if(a=ee(a,i,e),!a)return null;return{kind:"shape",entries:[...a.values()]}}function te(n){let f=[],e=n;while(!0){if(!Array.isArray(e))return null;let a=e[0];if(!Array.isArray(a))return null;if(On(a[0])!==".")return null;let i=On(a[2]);if(!ie.has(i))return null;let l=e.slice(1),u;if(i==="partial"){if(l.length)return null;u={method:i}}else if(i==="extend"){if(l.length!==1)return null;let r=l[0];if(Array.isArray(r)){let h=ne(r);if(!h||h.kind!=="shape"&&h.kind!=="input")return null;u={method:i,otherDescriptor:h}}else{let h=On(r);if(typeof h!=="string"||!/^[A-Za-z_$][\w$]*$/.test(h))return null;u={method:i,otherName:h}}}else{let r=re(l);if(!r||!r.length)return null;u={method:i,keys:r}}f.unshift(u);let t=a[1];if(Array.isArray(t)){e=t;continue}let c=On(t);if(typeof c!=="string")return null;return{base:c,ops:f}}}function re(n){let f=[];for(let e of n)if(Array.isArray(e)){if(On(e[0])!=="array")return null;for(let a=1;a<e.length;a++){let i=vu(e[a]);if(i==null)return null;f.push(i)}}else{let a=vu(e);if(a==null)return null;f.push(a)}return f}function vu(n){let f=On(n);if(typeof f!=="string"||f.length<2)return null;let e=f[0];if(e!=='"'&&e!=="'"||f[f.length-1]!==e)return null;let a=f.slice(1,-1);if(/[\\#]/.test(a))return null;return a}function nf(n){if(!Array.isArray(n))return;let f=On(n[0]),e=f==="program"||f==="block"?n.slice(1):[n],a=new Map;for(let i of e){if(!Array.isArray(i))continue;let l=i;if(On(i[0])==="export"&&Array.isArray(i[1]))l=i[1];if(On(l[0])!=="="||!Array.isArray(l[2]))continue;let u=On(l[1]);if(typeof u!=="string")continue;if(On(l[2][0])==="schema"){let o=uu(l[2][1]);if(o)a.set(u,o);continue}let t=te(l[2]);if(!t)continue;let c=a.get(t.base);if(!c)continue;let r=ae(c,t.ops,a);if(!r)continue;let h=new String("shape");h.descriptor=r,h.data={descriptor:r},l[2]=["schema",h],a.set(u,r)}}function ce(n,f){switch(f.tag){case"field":{let e=['tag: "field"',`name: ${JSON.stringify(f.name)}`,`modifiers: ${JSON.stringify(f.modifiers)}`,`typeName: ${JSON.stringify(f.typeName)}`,`array: ${f.array?"true":"false"}`];if(f.unique)e.push("unique: true");if(f.literals)e.push(`literals: ${JSON.stringify(f.literals)}`);if(f.coerce){if(e.push("coerce: true"),f.coercer)e.push(`coercer: ${JSON.stringify(f.coercer)}`)}let a=f.rangeTokens?Ae(f.rangeTokens,f):null,i=f.constraintTokens?me(f.constraintTokens,f):null,l=f.regexToken?ye(f.regexToken):null,u=De(a,i,l,f);if(u)e.push(`constraints: ${u}`);if(f.attrsTokens){let t=Re(f.attrsTokens,f);if(t)e.push(`attrs: ${t}`)}if(f.transformTokens)e.push(`transform: ${oe(n,f.transformTokens)}`);return`{${e.join(", ")}}`}case"directive":{let e=['tag: "directive"',`name: ${JSON.stringify(f.name)}`],a=Ue(f.name,f.argTokens||[]);if(a)e.push(`args: ${a}`);return`{${e.join(", ")}}`}case"ensure":{let e=_e(n,f),a=['tag: "ensure"',`message: ${JSON.stringify(f.message)}`,`fn: ${e}`];if(f.field)a.push(`field: ${JSON.stringify(f.field)}`);if(f.async)a.push("async: true");return`{${a.join(", ")}}`}case"scope":case"defaultScope":{let e=we(n,f);return`{${[`tag: ${JSON.stringify(f.tag)}`,`name: ${JSON.stringify(f.name)}`,`fn: ${e}`].join(", ")}}`}case"computed":case"method":case"hook":case"derived":{let e=se(n,f);return`{${[`tag: ${JSON.stringify(f.tag)}`,`name: ${JSON.stringify(f.name)}`,`fn: ${e}`].join(", ")}}`}case"enum-member":{let e=['tag: "enum-member"',`name: ${JSON.stringify(f.name)}`];if(f.value!==void 0)e.push(`value: ${JSON.stringify(f.value)}`);return`{${e.join(", ")}}`}case"union-member":return`{tag: "union-member", name: ${JSON.stringify(f.name)}}`;default:return'{tag: "unknown"}'}}function he(n,f){if(!f.paramTokens||!f.paramTokens.length)return[];return fi(f.paramTokens).map((a)=>{let i=a.filter((u)=>u[0]!=="TERMINATOR"&&u[0]!=="INDENT"&&u[0]!=="OUTDENT");if(i.length!==1||i[0][0]!=="IDENTIFIER")throw C(i[0]||{loc:f.headerLoc},`'${f.name}': method parameters must be plain identifiers (with optional ':: Type' annotations).`);let l=new String(i[0][1]);if(n.options.inlineTypes)l.type=i[0].data?.type||"any";return l})}function se(n,f){let e=ui(f.bodyTokens),a=he(n,f);if(!e)return"(function() {})";let i=[];if(n.options.inlineTypes&&n._schemaName){let c=new String("this");c.type=n._schemaName,i.push(c)}i.push(...a);let l=["->",i,e],u=n.emit(l,"value"),t=f.tag==="computed"||f.tag==="derived"||f.tag==="method";if(n.options.inlineTypes&&n._schemaName&&t){if(!n._schemaBehavior)n._schemaBehavior=new Map;let c=n._schemaBehavior.get(n._schemaName);if(!c)c=[],n._schemaBehavior.set(n._schemaName,c);c.push({field:f.name,tag:f.tag,fnExpr:u})}return u}function oe(n,f){let e=ui(f);if(!e)return"(function() { return undefined; })";let a=new String("it");a.type="any";let i=["->",[a],e];return n.emit(i,"value")}function we(n,f){let e=ui(f.bodyTokens);if(!e)return"(function() { return this; })";let i=["->",f.paramTokens.length?$u(f.paramTokens,f):[],e];return n.emit(i,"value")}function _e(n,f){let e=ui(f.bodyTokens);if(!e)return"(function() { return undefined; })";let i=["->",$u(f.paramTokens,f),e];return n.emit(i,"value")}function me(n,f){let e=n.slice(1,-1),a=fi(e);if(!a.length)return{c:null};let i=a.map((l)=>fu(l,f));if(i.length===1){let l=i[0];if(l instanceof RegExp)throw C(n[0],`Regex constraints are written bare, not in brackets. Replace '[${l}]' with '${l}'.`);return{c:{default:l}}}if(i.length===2&&typeof i[0]==="number"&&typeof i[1]==="number")throw C(n[0],`Size/value ranges use 'min..max' syntax, not brackets. Replace '[${i[0]}, ${i[1]}]' with '${i[0]}..${i[1]}'.`);if(i.length===3&&i.every((l)=>typeof l==="number"))throw C(n[0],`Range + default is two separate constraints in v2. Replace '[${i[0]}, ${i[1]}, ${i[2]}]' with '${i[0]}..${i[1]}, [${i[2]}]'.`);throw C(n[0],`Constraint bracket takes a single default value in v2. Got ${i.length} elements.`)}function ye(n){let f=n[1],e=/^\/((?:\\.|[^\\/])+)\/([a-z]*)$/.exec(f);if(!e)throw C(n,`Invalid regex literal ${JSON.stringify(f)}.`);try{return new RegExp(e[1],e[2])}catch(a){throw C(n,`Invalid regex '${f}': ${a.message}`)}}function Ae(n,f){let e=0,a=()=>{let t=1;if(n[e]?.[0]==="-")t=-1,e++;let c=n[e++],r=fu([c],f);if(typeof r!=="number")throw C(c,"Range endpoints must be numeric literals.");return t*r},i;if(n[e]?.[0]!=="..")i=a();e++;let l;if(e<n.length)l=a();if(i!==void 0&&l!==void 0&&i>l)throw C(n[0],`Range '${i}..${l}' is reversed. Write the smaller endpoint first.`);let u={};if(i!==void 0)u.min=i;if(l!==void 0)u.max=l;return u}function De(n,f,e,a){let i=f&&f.c||{},l=n&&n.min===void 0;if(n){if(n.min!==void 0)i.min=n.min;if(n.max!==void 0)i.max=n.max;if(l&&i.min===void 0&&a?.modifiers?.includes("!"))i.min=1}if(e)i.regex=e;if(a?.defaultMax!=null&&i.max===void 0)i.max=a.defaultMax;if(i.min!==void 0&&i.max!==void 0&&i.min>i.max){let u=n&&n.min!==void 0?`range min ${n.min}`:"implicit min=1 from `!`",t=n&&n.max!==void 0?`range max ${n.max}`:`pragma defaultMaxString=${a?.defaultMax}`;throw C({loc:a?.loc},`Field '${a?.name}' would have impossible constraints min=${i.min} > max=${i.max} after sugar is applied (${u} vs ${t}). Write an explicit range or drop the conflicting pragma.`)}if(i.min===void 0&&i.max===void 0&&i.default===void 0&&i.regex===void 0)return null;return Me(i)}var Tu=new Set(["was"]);function Re(n,f){let e=n.slice(1,-1).filter((l)=>l[0]!=="TERMINATOR"&&l[0]!=="INDENT"&&l[0]!=="OUTDENT"),a=fi(e),i=[];for(let l of a){if(!l.length)continue;let u=l[0];if(u[0]!=="PROPERTY"&&u[0]!=="IDENTIFIER")throw C(u,`Field attrs must be '{key: value}' pairs. Got ${u[0]}.`);let t=u[1];if(!Tu.has(t))throw C(u,`Unknown field attr '${t}'. Known attrs: ${[...Tu].join(", ")}.`);let c=1;if(l[c]?.[0]===":")c++;let r=fu(l.slice(c),f);if(t==="was"&&typeof r!=="string")throw C(u,`Field attr 'was' requires a string column name, e.g. {was: "first_name"}.`);i.push(`${t}: ${Yi(r)}`)}return i.length?`{${i.join(", ")}}`:null}function Me(n){let f=[];if(n.min!==void 0)f.push(`min: ${Yi(n.min)}`);if(n.max!==void 0)f.push(`max: ${Yi(n.max)}`);if(n.default!==void 0)f.push(`default: ${Yi(n.default)}`);if(n.regex!==void 0)f.push(`regex: ${n.regex.toString()}`);return f.length?`{${f.join(", ")}}`:null}function Yi(n){if(n===null)return"null";if(n===void 0)return"undefined";if(typeof n==="string")return JSON.stringify(n);if(typeof n==="number"||typeof n==="boolean")return String(n);if(n instanceof RegExp)return n.toString();return JSON.stringify(n)}function Vu(n){let f=(i)=>i&&(i[0]==="IDENTIFIER"||i[0]==="PROPERTY"||i[0]==="SYMBOL"),e=[],a=0;if(f(n[a]))e.push(n[a][1]);else if(n[a]?.[0]==="["||n[a]?.[0]==="INDEX_START"){let i=[],l=1;a++;while(a<n.length&&l>0){let u=n[a];if(u[0]==="["||u[0]==="INDEX_START")l++;if(u[0]==="]"||u[0]==="INDEX_END"){if(l--,l===0){a++;break}}i.push(u),a++}for(let u of fi(i))if(f(u[0]))e.push(u[0][1])}return e}function Ue(n,f){if(n==="idStart"&&!f.length)throw C(null,"@idStart requires an integer literal, e.g. @idStart 10001.");if(!f.length)return null;if(n==="belongs_to"||n==="has_many"||n==="has_one"||n==="one"||n==="many"||n==="mixin"){let e=f[0];if(!e||e[0]!=="IDENTIFIER"&&e[0]!=="PROPERTY")throw C(e||f[f.length-1],`@${n} requires a target name.`);let a=e[1],i=e.data?.optional===!0,l=1;if(!i&&f[l]?.[0]==="?")i=!0,l++;let u=[`target: ${JSON.stringify(a)}`];if(i)u.push("optional: true");return`[{${u.join(", ")}}]`}if(n==="unique"){let e=Vu(f);if(!e.length)throw C(f[0]||f[f.length-1],"@unique requires a field name or list — '@unique :email' or '@unique [:a, :b]'.");return`[{fields: ${JSON.stringify(e)}}]`}if(n==="index"){let e=Vu(f);return`[{fields: ${JSON.stringify(e)}}]`}if(n==="on"){let e=Zi(f)[0];if(e&&e[0]==="SYMBOL")return`[{field: ${JSON.stringify(e[1])}}]`;throw C(e||f[f.length-1],"@on requires the discriminator field as a :symbol — '@on :kind'.")}if(n==="tableWas"){if(f[0]?.[0]==="CALL_START"&&f[f.length-1]?.[0]==="CALL_END")f=f.slice(1,-1);let e=f[0];if(e&&e[0]==="STRING")return`[{name: ${e[1]}}]`;if(e&&(e[0]==="IDENTIFIER"||e[0]==="PROPERTY"))return`[{name: ${JSON.stringify(e[1])}}]`;throw C(e||f[f.length-1],"@tableWas requires the previous table name, e.g. @tableWas legacy_users.")}if(n==="idStart"){let e=f[0],a=1,i=e;if(e&&e[0]==="-"&&f[1]&&f[1][0]==="NUMBER")a=-1,i=f[1];if(!i||i[0]!=="NUMBER")throw C(e||f[f.length-1],"@idStart requires an integer literal, e.g. @idStart 10001.");let l=a*Number(i[1]);if(!Number.isInteger(l))throw C(i,"@idStart requires an integer literal; got "+i[1]+".");return"[{value: "+l+"}]"}return null}function fu(n,f){if(!n.length)throw C(null,"Empty constraint value.");let e=n[0],a=e[0];if(n.length===1){if(a==="NUMBER")return Number(e[1]);if(a==="STRING")return JSON.parse(e[1]);if(a==="BOOL")return e[1]==="true";if(a==="NULL")return null;if(a==="UNDEFINED")return;if(a==="REGEX")return qe(e[1]);if(a==="SYMBOL")return e[1]}if(n.length===2&&a==="-"&&n[1][0]==="NUMBER")return-Number(n[1][1]);throw C(e,`Constraint values must be literals (number, string, boolean, null, regex, :symbol). Got ${a}.`)}function qe(n){let f=typeof n==="string"?n:String(n),e=f.match(/^\/(.*)\/([gimsuy]*)$/s);return e?new RegExp(e[1],e[2]):new RegExp(f)}function Ee(n){if(Array.isArray(n)){if((n[0]?.valueOf?.()??n[0])==="block"&&n.length===2)return n[1]}return n}function ui(n){if(!n||!n.length)return null;let f=ui._LexerCtor;if(!f)throw Error("schema: parseBodyTokens called before Lexer was wired");let e=Object.create(f.prototype),a=n.slice();if(a.length>=2&&a[0]?.[0]==="INDENT"){let r=0,h=-1;for(let o=0;o<a.length;o++)if(a[o][0]==="INDENT")r++;else if(a[o][0]==="OUTDENT"){if(r--,r===0){h=o;break}}if(h===a.length-1)a=a.slice(1,-1)}if(e.tokens=a,e.seenFor=e.seenImport=e.seenExport=!1,e.ends=[],e.indent=0,e.outdebt=0,e.indents=[],e.tokens[e.tokens.length-1]?.[0]!=="TERMINATOR")e.tokens.push(iu("TERMINATOR",`
1869
+ `,n[n.length-1]));try{e.rewriteTypes?.(),e.tagPostfixConditionals?.(),e.rewriteTaggedTemplates?.(),e.addImplicitBracesAndParens?.(),e.addImplicitCallCommas?.()}catch(r){throw C(n[0],`schema: failed to compile body: ${r.message}`)}let l=e.tokens.filter((r)=>r[0]!=="TYPE_DECL"),u=bn.lexer;bn.lexer={tokens:l,pos:0,setInput(){},lex(){if(this.pos>=this.tokens.length)return 1;let r=this.tokens[this.pos++],h=r[1];if(r.data)h=new String(h),Object.assign(h,r.data);return this.text=h,this.loc=r.loc,this.line=r.loc?.r,r[0]}};let t;try{t=bn.parse("")}finally{bn.lexer=u}if(!Array.isArray(t)||t[0]!=="program")return null;let c=t.slice(1);if(c.length===0)return null;if(c.length===1)return c[0];return["block",...c]}function Se(n){let f=[],e=n.data;if(e?.bang===!0)f.push("!");if(e?.optional===!0)f.push("?");return f}function Fe(n,f){let e=0;for(let a=f;a<n.length;a++)if(n[a][0]==="INDENT")e++;else if(n[a][0]==="OUTDENT"){if(e--,e===0)return a}return-1}function fi(n){let f=[],e=[],a=0;for(let i of n){let l=i[0];if(l==="("||l==="["||l==="{"||l==="CALL_START"||l==="INDEX_START"||l==="PARAM_START"||l==="INDENT")a++;if(l===")"||l==="]"||l==="}"||l==="CALL_END"||l==="INDEX_END"||l==="PARAM_END"||l==="OUTDENT")a--;if(l===","&&a===0){if(e.length)f.push(e);e=[];continue}e.push(i)}if(e.length)f.push(e);return f}function ze(n){let f=n[0],e=n[1];if(f==="NUMBER")return Number(e);if(f==="STRING")return JSON.parse(e);if(f==="BOOL")return e==="true";if(f==="NULL")return null;if(f==="UNDEFINED")return;return e}function iu(n,f,e){let a=[n,f];if(a.pre=0,a.data=null,a.loc=e?.loc??{r:0,c:0,n:0},a.spaced=!1,a.newLine=!1,a.generated=!0,e)a.origin=e;return a}function C(n,f){let e=n?.loc||{r:0,c:0},a=Error(f);return a.name="SchemaSyntaxError",a.loc=e,a.line=e.r,a.column=e.c,a.phase="schema",a.code="E_SCHEMA",a}function He(n={}){if(!nu)throw Error("schema runtime provider not registered. Side-effect-import either './schema/loader-server.js' (CLI / server / tests) or './schema/loader-browser.js' (browser bundle) before calling any compileToJS that emits schemas.");return nu(n)}function uf({mode:n="browser"}={}){let f;switch(n){case"validate":f=ki;break;case"browser":f=ki+`
1870
+ `+Ou;break;case"server":case"migration":throw Error("schema runtime mode '"+n+"' is not available in the browser. ORM and DDL features require side-effect-importing loader-server.js.");default:throw Error(`unknown schema runtime mode: ${n}`)}return(bu+f+Nu).trimStart()}ju(uf);var Ke=uf({mode:"browser"});if(typeof globalThis<"u"&&!globalThis.__ripSchema)try{(0,eval)(Ke)}catch{}class Kn extends Error{constructor(n,{code:f=null,file:e=null,line:a=null,column:i=null,length:l=1,source:u=null,suggestion:t=null,phase:c=null}={}){super(n);this.name="RipError",this.code=f,this.file=e,this.line=a,this.column=i,this.length=l,this.source=u,this.suggestion=t,this.phase=c}static fromLexer(n,f,e){let a=n.location||{};return new Kn(n.message,{code:"E_SYNTAX",file:e,line:a.first_line??null,column:a.first_column??null,length:a.last_column!=null&&a.first_column!=null?a.last_column-a.first_column+1:1,source:f,phase:"lexer"})}static fromParser(n,f,e){let a=n.hash||{},i=a.loc||{},l=a.line??i.r??null,u=i.first_column??i.c??null,t=null;if(a.expected?.length){if(t=`Expected ${a.expected.slice(0,5).map((_)=>_.replace(/'/g,"")).join(", ")}`,a.expected.length>5)t+=`, ... (${a.expected.length} total)`}let c=a.token||"token",r=new Set((a.expected||[]).map((w)=>w.replace(/'/g,""))),h=new Set(["TERMINATOR",",",")","]","OUTDENT","CALL_END","INDEX_END","PARAM_END","EOF"]);if(r.has(":")&&(r.has("POST_IF")||r.has("POST_UNLESS")||r.has("FOR")||r.has("WHILE"))&&h.has(c))t="Binary `x ? y` was removed — use `x ?? y` for nullish coalescing, or a full ternary `x ? y : z`";let o=a.text?` near '${a.text}'`:"",s=`Unexpected ${c}${o}`;return new Kn(s,{code:"E_PARSE",file:e,line:l,column:u,length:a.text?.length||1,source:f,suggestion:t,phase:"parser"})}static fromSExpr(n,f,e,a,i){let l=f?.loc||{};return new Kn(n,{code:"E_CODEGEN",file:a,line:l.r??null,column:l.c??null,length:l.n??1,source:e,suggestion:i,phase:"codegen"})}get locationString(){let n=[];if(this.file)n.push(this.file);if(this.line!=null)n.push(`${this.line+1}:${(this.column??0)+1}`);return n.join(":")}format({color:n=!0}={}){let f=n?{red:"\x1B[31m",yellow:"\x1B[33m",cyan:"\x1B[36m",dim:"\x1B[2m",bold:"\x1B[1m",reset:"\x1B[0m"}:{red:"",yellow:"",cyan:"",dim:"",bold:"",reset:""},e=[],a=this.locationString,i=a?`${f.cyan}${a}${f.reset} `:"";e.push(`${i}${f.red}${f.bold}error${f.reset}${f.bold}: ${this.message}${f.reset}`);let l=this._snippet();if(l){e.push("");for(let u of l)if(u.type==="source")e.push(`${f.dim}${u.gutter}${f.reset}${u.text}`);else if(u.type==="caret")e.push(`${f.dim}${u.gutter}${f.reset}${f.red}${f.bold}${u.text}${f.reset}`)}if(this.suggestion)e.push(""),e.push(`${f.yellow}hint${f.reset}: ${this.suggestion}`);return e.join(`
1871
+ `)}formatHTML(){let n=[];n.push('<div class="rip-error">'),n.push("<style>"),n.push('.rip-error { font-family: ui-monospace, "SF Mono", Menlo, Monaco, monospace; font-size: 13px; line-height: 1.5; padding: 16px 20px; background: #1e1e2e; color: #cdd6f4; border-radius: 8px; overflow-x: auto; }'),n.push(".rip-error .re-header { color: #f38ba8; font-weight: 600; }"),n.push(".rip-error .re-loc { color: #89b4fa; }"),n.push(".rip-error .re-gutter { color: #585b70; user-select: none; }"),n.push(".rip-error .re-caret { color: #f38ba8; font-weight: 700; }"),n.push(".rip-error .re-hint { color: #f9e2af; }"),n.push(".rip-error .re-snippet { margin: 8px 0; }"),n.push("</style>");let f=this.locationString,e=f?`<span class="re-loc">${li(f)}</span> `:"";n.push(`<div class="re-header">${e}error: ${li(this.message)}</div>`);let a=this._snippet();if(a){n.push('<pre class="re-snippet">');for(let i of a)if(i.type==="source")n.push(`<span class="re-gutter">${li(i.gutter)}</span>${li(i.text)}`);else if(i.type==="caret")n.push(`<span class="re-gutter">${li(i.gutter)}</span><span class="re-caret">${li(i.text)}</span>`);n.push("</pre>")}if(this.suggestion)n.push(`<div class="re-hint">hint: ${li(this.suggestion)}</div>`);return n.push("</div>"),n.join(`
1872
1872
  `)}_snippet(){if(this.source==null||this.line==null)return null;let n=this.source.split(`
1873
- `),f=this.line;if(f<0||f>=n.length)return null;let e=2,t=Math.max(0,f-e),i=Math.min(n.length-1,f+e),u=String(i+1).length,l=[];for(let a=t;a<=i;a++){let r=` ${String(a+1).padStart(u)} │ `;if(l.push({type:"source",gutter:r,text:n[a]}),a===f&&this.column!=null){let h=" ".repeat(this.column),o=Math.max(1,Math.min(this.length||1,n[a].length-this.column)),s="^".repeat(o),w=" ".repeat(u+2)+"│ ";l.push({type:"caret",gutter:w,text:`${h}${s}`})}}return l}}function He(n){return n instanceof SyntaxError&&n.location!=null}function Ke(n){return!(n instanceof SyntaxError)&&n.hash!=null}function hi(n,f,e){if(n instanceof Hn){if(e&&!n.file)n.file=e;if(f&&!n.source)n.source=f;return n}if(He(n))return Hn.fromLexer(n,f,e);if(Ke(n))return Hn.fromParser(n,f,e);return new Hn(n.message,{file:e,source:f,phase:"unknown"})}function ei(n,{source:f,file:e,color:t=!0}={}){return(n instanceof Hn?n:hi(n,f,e)).format({color:t})}function el(n,{source:f,file:e}={}){return(n instanceof Hn?n:hi(n,f,e)).formatHTML()}function ui(n){return n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function tf(n){let f=n.prototype;f.rewriteTypes=function(){let e=this.tokens,t=this.typeRefNames=new Set;Je(e);let i=(u,l,a)=>{let c=[u,l];if(c.pre=0,c.data=null,c.loc=a?.loc??{r:0,c:0,n:0},c.spaced=!1,c.newLine=!1,c.generated=!0,a)c.origin=a;return c};this.scanTokens((u,l,a)=>{let c=u[0];if(c==="IDENTIFIER"){let r=a[l+1];if(r&&r[0]==="COMPARE"&&r[1]==="<"&&!r.spaced){let h=a[l-1]?.[0]==="DEF",o=ef(a,l+1);if(o){let s=l+1+o.length,w=!h&&a[s]?.[0]==="="&&a[s+1]?.[0]==="COMPONENT";if(h||w){if(!u.data)u.data={};if(u.data.typeParams=Vn(o),a.splice(l+1,o.length),h&&a[l+1]?.[0]==="("){a[l+1][0]="CALL_START";let _=1,A=l+2;while(A<a.length&&_>0){if(a[A][0]==="("||a[A][0]==="CALL_START")_++;if(a[A][0]===")"||a[A][0]==="CALL_END")_--;if(_===0)a[A][0]="CALL_END";A++}}}}}}if(c==="TYPE_ANNOTATION"){let r=a[l-1];if(!r)return 1;let h=r[0]==="PARAM_END",o=uf(a,l+1,{stopAtFatArrow:h});if(h&&Qe(o)){let y=a[l+1]?.loc;throw new Hn("A function-type return on an arrow must be parenthesized",{code:"E_SYNTAX",phase:"lexer",line:y?.r??null,column:y?.c??null,length:y?.n??1,suggestion:"wrap the whole function type in parens — "+"`(x):: ((a: T) => R) => body`, not `(x):: (a: T) => R => body`"})}let s=Vn(o),w=r,_="type";if(r[0]==="CALL_END"||r[0]===")"){let y=1,R=l-2;while(R>=0&&y>0){let U=a[R][0];if(U==="CALL_END"||U===")")y++;if(U==="CALL_START"||U==="(")y--;R--}if(R>=0)w=a[R];_="returnType"}else if(r[0]==="PARAM_END"){let y=l+1+o.consumed,R=a[y];if(R&&(R[0]==="->"||R[0]==="=>"))w=R;_="returnType"}else if(r[0]==="IDENTIFIER"&&l>=2&&a[l-2]?.[0]==="DEF")_="returnType";if(!w.data)w.data={};w.data[_]=s;for(let y of o)if(y[0]==="IDENTIFIER")t.add(y[1]);let A=1+o.consumed;return a.splice(l,A),0}if(c==="IDENTIFIER"&&u[1]==="type"){let r=a[l-1]?.[0];if(!(!r||r==="TERMINATOR"||r==="INDENT"||r==="EXPORT"))return 1;let o=l+1,s=a[o];if(!s||s[0]!=="IDENTIFIER")return 1;let w=s[1],_=r==="EXPORT",A=_?l-1:l,y=o+1;if(a[y]?.[0]==="COMPARE"&&a[y]?.[1]==="<"&&!a[y].spaced){let q=ef(a,y);if(q){if(!s.data)s.data={};s.data.typeParams=Vn(q),a.splice(y,q.length)}}if(a[y]?.[0]!=="=")return 1;let R=(q)=>{let S=i("TYPE_DECL",w,s);if(S.data={name:w,typeText:q,exported:_},s.data?.typeParams)S.data.typeParams=s.data.typeParams;return S},U=y+1,m=a[U],D=(q,S)=>{for(let d=q;d<=S&&d<a.length;d++)if(a[d][0]==="IDENTIFIER")t.add(a[d][1])};if(m&&(m[0]==="TERMINATOR"||m[0]==="INDENT")){let q=Ye(a,U);if(q)return D(U,q.endIdx),a.splice(A,q.endIdx-A+1,R(q.typeText)),0}if(m&&m[0]==="INDENT"){let q=al(a,U);return D(U,q),a.splice(A,q-A+1,R(tl(a,U))),0}let M=uf(a,U);return D(U,U+M.consumed-1),a.splice(A,U+M.consumed-A,R(Vn(M))),0}if(c==="INTERFACE"){let r=l>=1&&a[l-1]?.[0]==="EXPORT",h=l+1,o=a[h];if(!o)return 1;let s=o[1],w=null,_=h+1;if(a[_]?.[0]==="EXTENDS")w=a[_+1]?.[1],_=_+2;if(a[_]?.[0]==="INDENT"){let A=tl(a,_),y=al(a,_);for(let D=_;D<=y&&D<a.length;D++)if(a[D][0]==="IDENTIFIER")t.add(a[D][1]);if(w)t.add(w);let R=i("TYPE_DECL",s,o);R.data={name:s,kind:"interface",extends:w,typeText:A,exported:r};let U=r?l-1:l,m=y-U+1;return a.splice(U,m,R),0}return 1}return 1});for(let u=e.length-1;u>=0;u--){if(e[u][0]!=="DEF")continue;let l=e[u+1];if(!l||l[0]!=="IDENTIFIER")continue;let a=u+2;if(e[a]?.[0]!=="CALL_START")continue;let c=1;a++;while(a<e.length&&c>0){if(e[a][0]==="CALL_START")c++;if(e[a][0]==="CALL_END")c--;a++}let r=a-1,h=e[a];if(h&&h[0]!=="TERMINATOR")continue;let o=l.data?.returnType;if(!o){for(let R=u+2;R<=r;R++)if(e[R].data?.type){o=!0;break}}if(!o)continue;let s=e.slice(u,a+1),w=u>=1&&e[u-1]?.[0]==="EXPORT",_=w?u-1:u,A=a+1-_,y=i("TYPE_DECL",l[1],l);if(y.data={name:l[1],kind:"overload",overloadTokens:s,exported:w},l.data?.typeParams)y.data.typeParams=l.data.typeParams;e.splice(_,A,y)}}}function Qe(n){let f=(l)=>l==="("||l==="PARAM_START"||l==="CALL_START",e=(l)=>l===")"||l==="PARAM_END"||l==="CALL_END";if(n.length<2||!f(n[0][0]))return!1;let t=0;for(let l=0;l<n.length;l++){let a=n[l][0];if(f(a))t++;else if(e(a)){if(--t===0&&l!==n.length-1)return!1}}if(t!==0)return!1;if(n.length===2)return!0;let i=0,u=!1;for(let l of n){let a=l[0];if(f(a)||a==="["||a==="{"||a==="INDEX_START")i++;else if(e(a)||a==="]"||a==="}"||a==="INDEX_END")i--;else if(i===1&&a==="TERNARY")u=!0;else if(i===1&&a===":")if(u)u=!1;else return!0}return!1}function ff(n,f,e){if(e<=f)return!1;let t=new Set(["|","&",",",":","?",".","..."]),i=0,u=0,l=0,a=0,c=!1,r=[],h=null;for(let o=f;o<e;o++){let s=n[o][0],w=n[o][1];if(s==="=>"){let _=o>f?n[o-1][0]:null;if((_===")"||_==="PARAM_END")&&h&&(h.colon||h.empty)){c=!1;continue}return!1}if(s==="("||s==="PARAM_START"){r.push({colon:!1,open:o}),i++,c=!1;continue}if(s===")"||s==="PARAM_END"){if(--i<0)return!1;let _=r.pop();h=_?{colon:_.colon,empty:o===_.open+1}:null,c=!0;continue}if(s==="["||s==="INDEX_START"){u++,c=!1;continue}if(s==="]"||s==="INDEX_END"){if(--u<0)return!1;c=!0;continue}if(s==="{"){l++,c=!1;continue}if(s==="}"){if(--l<0)return!1;c=!0;continue}if(s==="COMPARE"){if(w==="<"){a++,c=!1;continue}if(w===">"){if(a<=0)return!1;a--,c=!0;continue}return!1}if(s==="SHIFT"){if(w===">>"){if(a<2)return!1;a-=2,c=!0;continue}return!1}if(s==="="){if(a>0){c=!1;continue}return!1}if(t.has(s)){if(s===":"&&r.length)r[r.length-1].colon=!0;c=!1;continue}if(s==="IDENTIFIER"||s==="PROPERTY"||s==="NUMBER"||s==="STRING"||s==="NULL"||s==="UNDEFINED"||s==="BOOL"){if(c)return!1;c=!0;continue}return!1}return i===0&&u===0&&l===0&&a===0&&c}function We(n,f,e){let t=new Set(["=","REACTIVE_ASSIGN","COMPUTED_ASSIGN","READONLY_ASSIGN"]),i=0,u=0,l=0,a=[];for(let c=f;c<n.length;c++){let r=n[c][0];if(r==="INDENT"){i++;let h=n[c-1]?.[0];if(h==="->"||h==="=>")a.push(i),l++;continue}if(r==="OUTDENT"){if(i===0)return!1;if(a[a.length-1]===i)a.pop(),l--;i--;continue}if(r==="("||r==="CALL_START"||r==="PARAM_START"||r==="["||r==="INDEX_START"||r==="{"){u++;continue}if(r===")"||r==="CALL_END"||r==="PARAM_END"||r==="]"||r==="INDEX_END"||r==="}"){u--;continue}if(l===0&&u===0&&(r==="IDENTIFIER"||r==="PROPERTY")&&n[c][1]===e&&t.has(n[c+1]?.[0]))return!0}return!1}function Je(n){let f=(m)=>m==="("||m==="CALL_START"||m==="PARAM_START"||m==="{"||m==="["||m==="INDEX_START",e=(m)=>m===")"||m==="CALL_END"||m==="PARAM_END"||m==="}"||m==="]"||m==="INDEX_END",t=(m)=>{let D=m-1,M=n[D]?.[0],q=n[D]?.[1];if(M==="COMPARE"&&q===">"||M==="SHIFT"&&q===">>"){let S=M==="SHIFT"?2:1;D--;while(D>=0&&S>0){let d=n[D][0],K=n[D][1];if(d==="COMPARE"&&K===">")S++;else if(d==="SHIFT"&&K===">>")S+=2;else if(d==="COMPARE"&&K==="<")S--;else if(d==="SHIFT"&&K==="<<")S-=2;D--}}if(n[D]?.[0]!=="IDENTIFIER"&&n[D]?.[0]!=="PROPERTY")return!1;return n[D-1]?.[0]==="DEF"},i=new Set(["TERMINATOR","INDENT","OUTDENT","EXPORT"]),u=new Set(["=","REACTIVE_ASSIGN","COMPUTED_ASSIGN","READONLY_ASSIGN"]),l=(m)=>!m||i.has(m[0]),a=(m)=>{let D=0;for(let M=m;M<n.length;M++){let q=n[M][0];if(f(q))D++;else if(e(q))D--;else if(D===0){if(q==="->"||q==="=>")return!1;if(u.has(q))return!0;if((q==="EFFECT"||q==="GATE")&&M>m)return!0;if(q==="TERMINATOR"||q==="INDENT"||q==="OUTDENT")return!1}}return!1},c=(m)=>{let D=0;for(let M=m;M<n.length;M++){let q=n[M][0];if(f(q))D++;else if(e(q))D--;else if(D===0){if(q==="->"||q==="=>")return!0;if(q==="TERMINATOR"||q==="INDENT"||q==="OUTDENT")return!1}}return!1},r=!1,h=[],o=()=>h.length>0&&h[h.length-1],s=(m)=>{let D=n[m-1]?.[0];if(D!=="PROPERTY"&&D!=="IDENTIFIER")return!1;if(n[m-2]?.[0]==="@")return l(n[m-3]);return l(n[m-2])},w=!1,_=0,A=()=>{w=!0,_=U.length},y=!1,R=!1,U=[];for(let m=0;m<n.length;m++){let D=n[m][0];if(D==="CLASS"||D==="COMPONENT"){r=!0;continue}if(D==="INDENT"){if(h.push(r),r=!1,y=R=!1,w&&U.length<=_)w=!1;continue}if(D==="OUTDENT"){if(h.pop(),y=R=!1,w&&U.length<=_)w=!1;continue}if(f(D)){let q="other";if(!w){if(D==="PARAM_START")q="param";else if((D==="CALL_START"||D==="(")&&t(m))q="defparam"}U.push({kind:q,sawEq:!1,sawType:!1});continue}if(e(D)){if(U.pop()?.kind==="defparam")(n[m].data??={}).isDefParamEnd=!0;if(w&&U.length<_)w=!1;continue}if(D==="TYPE_ANNOTATION"){if(!w)A();continue}if(w)if(U.length<=_&&(D==="="||D===","||D==="TERMINATOR"||D==="->"||u.has(D)))w=!1;else continue;if(D==="TERMINATOR"&&U.length===0)y=R,R=!1;if(D===":"){let q=n[m-1],S=q?.[0];if(U.length===0&&(S==="IDENTIFIER"||S==="PROPERTY")&&l(n[m-2]))R=!0;if(S==="PARAM_END"||(S===")"||S==="CALL_END")&&q.data?.isDefParamEnd){n[m][0]="TYPE_ANNOTATION",A();continue}if((S==="IDENTIFIER"||S==="PROPERTY")&&n[m-2]?.[0]==="DEF"){if(S==="PROPERTY")q[0]="IDENTIFIER";n[m][0]="TYPE_ANNOTATION",A();continue}if(U.length===0&&s(m)&&a(m+1)){if(S==="PROPERTY"&&n[m-2]?.[0]!=="@")q[0]="IDENTIFIER";n[m][0]="TYPE_ANNOTATION",A();continue}if(U.length===0&&s(m)){let d=0;for(let K=m+1;K<n.length;K++){let E=n[K][0];if(f(E))d++;else if(e(E)){if(d===0)break;d--}else if(d===0){if(E==="TERMINATOR"||E==="INDENT"||E==="OUTDENT")break;if(E==="="&&ff(n,m+1,K)){if(S==="PROPERTY"&&n[m-2]?.[0]!=="@")q[0]="IDENTIFIER";n[m][0]="TYPE_ANNOTATION",A();break}}}if(n[m][0]==="TYPE_ANNOTATION")continue}if(o()&&U.length===0&&s(m)&&!c(m+1)){if(S==="PROPERTY"&&n[m-2]?.[0]!=="@")q[0]="IDENTIFIER";n[m][0]="TYPE_ANNOTATION",A();continue}if(U.length===0&&s(m)&&n[m-2]?.[0]!=="@"){let d=0,K=-1;for(let Q=m+1;Q<n.length;Q++){let W=n[Q][0];if(f(W))d++;else if(e(W)){if(d===0)break;d--}else if(d===0){if(W==="TERMINATOR"){K=Q;break}if(W==="INDENT"||W==="OUTDENT"||W==="="||u.has(W))break}}let E=n[K+1],Z=E&&(E[0]==="IDENTIFIER"||E[0]==="PROPERTY")&&n[K+2]?.[0]===":";if(K>m+1&&E&&E[0]!=="OUTDENT"&&!y&&!Z&&ff(n,m+1,K)&&We(n,K+1,q[1])){if(S==="PROPERTY")q[0]="IDENTIFIER";n[m][0]="TYPE_ANNOTATION",A();continue}}}let M=U[U.length-1];if(M&&(M.kind==="param"||M.kind==="defparam")){if(D===","){M.sawEq=!1,M.sawType=!1;continue}if(D==="="){M.sawEq=!0;continue}if(D===":"&&!M.sawEq&&!M.sawType){let q=n[m-1],S=q?.[0];if(S==="PROPERTY"||S==="IDENTIFIER"){if(S==="PROPERTY"&&n[m-2]?.[0]!=="@")q[0]="IDENTIFIER";n[m][0]="TYPE_ANNOTATION",M.sawType=!0,A()}else if(S==="}"||S==="]"||S==="INDEX_END")n[m][0]="TYPE_ANNOTATION",M.sawType=!0,A()}}}}function uf(n,f,e={}){let t=[],i=0,u=[],l=f;while(f<n.length){let a=n[f],c=a[0],r=c==="("||c==="["||c==="{"||c==="CALL_START"||c==="PARAM_START"||c==="INDEX_START"||c==="COMPARE"&&a[1]==="<",h=c===")"||c==="]"||c==="}"||c==="CALL_END"||c==="PARAM_END"||c==="INDEX_END"||c==="COMPARE"&&a[1]===">";if(c==="SHIFT"&&a[1]===">>"&&i>=2){if(i-=2,u[u.length-1]==="<")u.pop();if(u[u.length-1]==="<")u.pop();t.push(a),f++;continue}if(r){i++;let o=c==="{"?"{":c==="["||c==="INDEX_START"?"[":c==="COMPARE"&&a[1]==="<"?"<":"(";u.push(o),t.push(a),f++;continue}if(h){if(i>0){i--,u.pop(),t.push(a),f++;continue}break}if(i===0){if(e.stopAtFatArrow&&c==="=>")break;if(c==="INDENT"&&t.length>0&&t[t.length-1][0]==="=>"){f++;let o=1;while(f<n.length&&o>0)if(n[f][0]==="INDENT")o++,f++;else if(n[f][0]==="OUTDENT")o--,f++;else t.push(n[f]),f++;continue}if(c==="="||c==="REACTIVE_ASSIGN"||c==="COMPUTED_ASSIGN"||c==="READONLY_ASSIGN"||c==="EFFECT"||c==="GATE"||c==="TERMINATOR"||c==="INDENT"||c==="OUTDENT"||c==="->"||c===",")break}if(i>0&&(c==="INDENT"||c==="OUTDENT")){f++;continue}if(i>0&&c==="TERMINATOR"){t.push(["",";"]),f++;continue}if(c==="PROPERTY"&&u[u.length-1]==="{"){let o=t[t.length-1],s=o?.[0],w=o?.[1];if(o&&s!=="{"&&s!==","&&!(s===""&&w===";"))t.push(["",";"])}t.push(a),f++}return t.consumed=f-l,t}function Vn(n){if(n.length===0)return"";if(n[0]?.[0]==="=>")n.unshift(["","()"]);{let t=0;for(let i of n){let u=i[0];if(u==="{")t++;else if(u==="}")t--;else if(u==="TYPE_ANNOTATION"&&t>0){let l=i.loc,a=l?` (line ${l.r}, col ${l.c})`:"",c=Error(`Use \`:\` (not \`::\`) inside a structural type literal${a}. \`::\` binds a name to a type; inside \`{ ... }\` in type position, fields use \`:\` (TS-style).`);throw c.loc=l,c}}}let e=n.map((t,i)=>{let u=n[i+1];if(t.data?.optional&&u&&(u[0]==="TYPE_ANNOTATION"||u[0]===":"))return`${t[1]}?`;if(t[0]==="JS")return"`"+t[1]+"`";return t[1]}).join(" ").replace(/\s+/g," ").trim();return e=e.replace(/\s*<\s*/g,"<").replace(/\s*>\s*/g,">").replace(/\s*\[\s*/g,"[").replace(/\s*\]\s*/g,"]").replace(/\s*\(\s*/g,"(").replace(/\s*\)\s*/g,")").replace(/\s*,\s*/g,", ").replace(/\s*=>\s*/g," => ").replace(/ :: /g,": ").replace(/:: /g,": ").replace(/ : /g,": "),e}function ef(n,f){if(f>=n.length)return null;let e=n[f];if(e[0]!=="COMPARE"||e[1]!=="<")return null;let t=[e],i=1,u=f+1;while(u<n.length&&i>0){let l=n[u];if(t.push(l),l[0]==="COMPARE"&&l[1]==="<")i++;else if(l[0]==="COMPARE"&&l[1]===">")i--;u++}return i===0?t:null}function tl(n,f){let e=[],t=f+1,i=1;while(t<n.length&&i>0){let u=n[t];if(u[0]==="INDENT"){i++,t++;continue}if(u[0]==="OUTDENT"){if(i--,i===0)break;t++;continue}if(u[0]==="TERMINATOR"){t++;continue}if(i===1&&u[0]==="["){let a=[];t++;while(t<n.length&&n[t][0]!=="]")a.push(n[t]),t++;if(t++,n[t]?.[1]===":"||n[t]?.[0]==="TYPE_ANNOTATION")t++;let c=[];while(t<n.length){let o=n[t];if(o[0]==="TERMINATOR"||o[0]==="OUTDENT")break;c.push(o),t++}let r=Vn(a),h=Vn(c);e.push(`[${r}]: ${h}`);continue}let l=u[0]==="PROPERTY"||u[0]==="IDENTIFIER"||i===1&&/^[a-zA-Z_$]/.test(u[1])&&n[t+1]?.[0]==="TYPE_ANNOTATION";if(i===1&&l){let a=u[1],c=!1,r=!1;if(t++,a==="readonly"&&n[t]&&(n[t][0]==="PROPERTY"||n[t][0]==="IDENTIFIER"||/^[a-zA-Z_$]/.test(n[t][1])&&n[t+1]?.[0]==="TYPE_ANNOTATION")){if(r=!0,a=n[t][1],n[t].data?.optional)c=!0;t++}if(u.data?.optional)c=!0;if(n[t]?.[1]==="?"&&!n[t]?.spaced)c=!0,t++;if(n[t]?.[1]===":"||n[t]?.[0]==="TYPE_ANNOTATION")t++;let h=[],o=0;while(t<n.length){let y=n[t];if(y[0]==="IDENTIFIER"&&y[1]==="type"&&n[t+1]?.[0]==="INDENT"){t++;let R=tl(n,t);h.push(["",R]);let U=1;t++;while(t<n.length&&U>0){if(n[t][0]==="INDENT")U++;if(n[t][0]==="OUTDENT")U--;t++}continue}if(y[0]==="INDENT"){o++,t++;continue}if(y[0]==="OUTDENT"){if(o>0){o--,t++;continue}break}if(y[0]==="TERMINATOR"&&o===0)break;h.push(y),t++}let s=Vn(h),w=r?"readonly ":"",_=c?"?":"",A=!1;if(!c&&s.startsWith("(")){let y=0;for(let R=0;R<s.length;R++){let U=s[R];if(U==="(")y++;else if(U===")"){if(y--,y===0){let m=s.slice(R+1).trimStart();if(m===""||m.startsWith(":")&&!m.startsWith("::"))A=!0;break}}}}if(A)e.push(`${w}${a}${s}`);else e.push(`${w}${a}${_}: ${s}`)}else t++}return"{ "+e.join("; ")+" }"}function al(n,f){let e=0;for(let t=f;t<n.length;t++){if(n[t][0]==="INDENT")e++;if(n[t][0]==="OUTDENT"){if(e--,e===0)return t}}return n.length-1}function Ye(n,f){let e=f;if(n[e]?.[0]==="TERMINATOR")e++;if(n[e]?.[0]!=="INDENT")return null;let t=e;e++;while(e<n.length&&n[e][0]==="TERMINATOR")e++;if(!n[e]||n[e][1]!=="|")return null;let i=[],u=1;e=t+1;while(e<n.length&&u>0){let a=n[e];if(a[0]==="INDENT"){u++,e++;continue}if(a[0]==="OUTDENT"){if(u--,u===0)break;e++;continue}if(a[0]==="TERMINATOR"){e++;continue}if(a[1]==="|"&&u===1){e++;let c=[];while(e<n.length){let r=n[e];if(r[0]==="TERMINATOR"||r[0]==="OUTDENT"||r[1]==="|"&&u===1)break;c.push(r),e++}if(c.length>0)i.push(Vn(c));continue}e++}if(i.length===0)return null;let l=al(n,t);return{typeText:i.join(" | "),endIdx:l}}var af=new Set(["true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","yield","await","if","else","switch","for","while","do","try","catch","finally","class","extends","super","import","export","default"]),rf=new Set(["undefined","Infinity","NaN","then","unless","until","loop","of","by","when","def","component","render","enum","interface"]),cl={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},cf=new Set(Object.keys(cl)),Ze=new Set(["case","function","var","void","with","const","let","native","implements","package","private","protected","public","static"]),Ge=new Set(["break","continue","debugger"]),Ne=new Set(["NEW","TYPEOF","DELETE"]),be=new Set(["IN","OF","INSTANCEOF"]),bi=new Set(["IDENTIFIER","PROPERTY",")","]","@","THIS","SUPER","DYNAMIC_IMPORT","?."]),Xi=new Set([...bi,"NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","MAP_END","SYMBOL"]),Gi=new Set(["IDENTIFIER","PROPERTY","NUMBER","INFINITY","NAN","STRING","STRING_START","REGEX","REGEX_START","JS","NEW","PARAM_START","CLASS","IF","TRY","SWITCH","THIS","DYNAMIC_IMPORT","IMPORT_META","NEW_TARGET","UNDEFINED","NULL","BOOL","UNARY","DO","DO_IIFE","YIELD","AWAIT","UNARY_MATH","SUPER","THROW","@","->","=>","[","(","{","MAP_START","--","++","SYMBOL"]),Xe=new Set(["+","-"]),Pe=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","??"]),Oe=new Set(["STRING","STRING_END","REGEX","REGEX_END","NUMBER","BOOL","NULL","UNDEFINED","INFINITY","NAN","]","}","MAP_END","SYMBOL"]),jn=new Set(["(","[","{","MAP_START","PICK_START","OPTPICK_START","INDENT","CALL_START","PARAM_START","INDEX_START","STRING_START","INTERPOLATION_START","REGEX_START"]),Cn=new Set([")","]","}","MAP_END","PICK_END","OUTDENT","CALL_END","PARAM_END","INDEX_END","STRING_END","INTERPOLATION_END","REGEX_END"]),Ie={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{",INDENT:"OUTDENT",OUTDENT:"INDENT",CALL_START:"CALL_END",CALL_END:"CALL_START",PARAM_START:"PARAM_END",PARAM_END:"PARAM_START",INDEX_START:"INDEX_END",INDEX_END:"INDEX_START",STRING_START:"STRING_END",STRING_END:"STRING_START",INTERPOLATION_START:"INTERPOLATION_END",INTERPOLATION_END:"INTERPOLATION_START",REGEX_START:"REGEX_END",REGEX_END:"REGEX_START",MAP_START:"MAP_END",MAP_END:"MAP_START",PICK_START:"PICK_END",PICK_END:"PICK_START",OPTPICK_START:"PICK_END"},hf=new Set(["CATCH","THEN","ELSE","FINALLY",...Cn]),rl=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"]),ge=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","]","INDEX_END"]),Be=new Set(["IF","TRY","FINALLY","CATCH","CLASS","SWITCH","COMPONENT","FOR"]),Ce=new Set(["IDENTIFIER","PROPERTY","NUMBER","STRING","STRING_END","REGEX","REGEX_END",")","CALL_END","]","INDEX_END","}","MAP_END","PICK_END","BOOL","NULL","UNDEFINED","INFINITY","NAN","SUPER","THIS","@","SYMBOL"]),sf=new Set(["ELSE","->","=>","TRY","FINALLY","THEN"]),ve=new Set(["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]),si=new Set(["INDENT","OUTDENT","TERMINATOR"]),ti=(n)=>n?.[0]==="IDENTIFIER"||n?.[0]==="PROPERTY",Ni=(n,f)=>{if(n?.[0]===".")return!0;if(n?.[0]==="-")return n.spaced===!1&&!n.newLine&&f?.spaced===!1&&!f?.newLine;return!1},of=new Set([".","?."]),wf=new Set(["\\",".","?.","UNARY","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","TERNARY","EXTENDS"]),Te=new Set([...Xi,"++","--"]),_f=new Set(["-=","+=","/=","*=","%=","||=","&&=","?=","??=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="]),Ve=new Set(["*","/","%","//","%%"]),je=new Set(["==","!=","===","!==","<",">","<=",">=","=~"]),Le=new Set(["<<",">>",">>>"]),pe=new Set(["!","~"]),xe=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+(?:!|[?](?![.?![(]))?)([^\n\S]*:(?![=:]))?/,$e=/^0b[01](?:_?[01])*n?|^0o[0-7](?:_?[0-7])*n?|^0x[\da-f](?:_?[\da-f])*n?|^\d+(?:_\d+)*n|^(?:\d+(?:_\d+)*)?\.?\d+(?:_\d+)*(?:e[+-]?\d+(?:_\d+)*)?/i,ke=/^(?:<=>|<~|::|\*>|[-=]>|~>|~=|:=|=!|===|!==|\?\!|\?\?|=~|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?\.?|\.{2,3})/,nt=/^[^\n\S]+/,it=/^(?:\n[^\n\S]*)+/,lt=/^(\s*)###([^#][\s\S]*?)(?:###([^\n\S]*)|###$)|^((?:\s*#(?!##[^#]).*)+)/,ft=/^[-=]>/,ut=/^(?:~[=>]|=!)/,et=/^(?:'''\\|"""\\|'''|"""|'|")/,tt=/^(?:[^\\']|\\[\s\S])*/,at=/^(?:[^\\"#$]|\\[\s\S]|\#(?!\{)|\$(?!\{))*/,rt=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,ct=/^(?:[^\\"#$]|\\[\s\S]|"(?!"")|\#(?!\{)|\$(?!\{))*/,mf=/\n+([^\n\S]*)(?=\S)/g,ht=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,yf=/^\w*/,st=/^(?!.*(.).*\1)[gimsuy]*$/,ot=/^(?:[^\\\/#\s]|\\[\s\S]|\/(?!\/\/)|\#(?!\{)|\s+(?:#(?!\{).*)?)*/,wt=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,_t=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,mt=/\s+$/,Af=/^\s*(?:,|\??\.(?![.\d]))/,yt=65279;function Pi(n,f,{pre:e=0,row:t=0,col:i=0,len:u=0,data:l=null}={}){let a=[n,f];return a.pre=e,a.data=l,a.loc={r:t,c:i,n:u},a.spaced=e>0,a.newLine=!1,a}function In(n,f,e){let t=Pi(n,f);if(t.generated=!0,e)t.origin=e;return t}function Pn(n,{row:f=0,col:e=0,len:t=1}={}){let i=SyntaxError(n);throw i.location={first_line:f,first_column:e,last_column:e+t-1},i}function At(n){if(n==null)return NaN;switch(n.charAt(1)){case"b":return parseInt(n.slice(2).replace(/_/g,""),2);case"o":return parseInt(n.slice(2).replace(/_/g,""),8);case"x":return parseInt(n.slice(2).replace(/_/g,""),16);default:return parseFloat(n.replace(/_/g,""))}}class vn{tokenize(n,f={}){this.code=n,this.tokens=[],this.ends=[],this.chunk="",this.pos=0,this.row=f.row||0,this.col=f.col||0,this.indent=0,this.indents=[],this.seenFor=!1,this.seenImport=!1,this.seenExport=!1,this.importSpecifierList=!1,this.exportSpecifierList=!1,this.inRenderBlock=!1,this.renderIndent=0,this.inTypeAnnotation=!1,n=this.clean(n),this.code=n;while(this.pos<n.length){this.chunk=n.slice(this.pos);let e=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken();if(e===0)Pn(`unexpected character: ${this.chunk.charAt(0)}`,{row:this.row,col:this.col});if(this.advance(e),f.untilBalanced&&this.ends.length===0)return{tokens:this.tokens,index:this.pos}}if(this.closeIndentation(),this.ends.length>0){let e=this.ends[this.ends.length-1];Pn(`missing ${e.tag}`,{row:this.row,col:this.col})}if(f.rewrite===!1)return this.tokens;return this.rewrite(this.tokens)}clean(n){if(n.charCodeAt(0)===yt)n=n.slice(1);if(n=n.replace(/\r\n?/g,`
1874
- `),n=n.replace(mt,""),/^[^\n\S]/.test(n))n=`
1873
+ `),f=this.line;if(f<0||f>=n.length)return null;let e=2,a=Math.max(0,f-e),i=Math.min(n.length-1,f+e),l=String(i+1).length,u=[];for(let t=a;t<=i;t++){let r=` ${String(t+1).padStart(l)} │ `;if(u.push({type:"source",gutter:r,text:n[t]}),t===f&&this.column!=null){let h=" ".repeat(this.column),o=Math.max(1,Math.min(this.length||1,n[t].length-this.column)),s="^".repeat(o),w=" ".repeat(l+2)+"│ ";u.push({type:"caret",gutter:w,text:`${h}${s}`})}}return u}}function Qe(n){return n instanceof SyntaxError&&n.location!=null}function We(n){return!(n instanceof SyntaxError)&&n.hash!=null}function hi(n,f,e){if(n instanceof Kn){if(e&&!n.file)n.file=e;if(f&&!n.source)n.source=f;return n}if(Qe(n))return Kn.fromLexer(n,f,e);if(We(n))return Kn.fromParser(n,f,e);return new Kn(n.message,{file:e,source:f,phase:"unknown"})}function ei(n,{source:f,file:e,color:a=!0}={}){return(n instanceof Kn?n:hi(n,f,e)).format({color:a})}function lu(n,{source:f,file:e}={}){return(n instanceof Kn?n:hi(n,f,e)).formatHTML()}function li(n){return n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}var Je=new Set(["IDENTIFIER","PROPERTY","NUMBER","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","INFINITY","NAN","JS",")","CALL_END","PARAM_END","]","INDEX_END","}","THIS","SUPER","?","PRESENCE","CAST"]),Ye=new Set(["IDENTIFIER","(","CALL_START","PARAM_START","{","[","INDEX_START","STRING","STRING_START","NUMBER","BOOL","NULL","UNDEFINED","-","UNARY"]);function de(n,f){let e=n[f-1];if(!e||e[0]==="."||e[0]==="?.")return!1;if(!Je.has(e[0]))return!1;let a=n[f+1];return!!a&&Ye.has(a[0])}function ef(n){let f=n.prototype;f.rewriteTypes=function(){let e=this.tokens,a=this.typeRefNames=new Set;Xe(e);let i=(l,u,t)=>{let c=[l,u];if(c.pre=0,c.data=null,c.loc=t?.loc??{r:0,c:0,n:0},c.spaced=!1,c.newLine=!1,c.generated=!0,t)c.origin=t;return c};this.scanTokens((l,u,t)=>{let c=l[0];if(c==="IDENTIFIER"&&l[1]==="as"&&!l.data?.bang&&de(t,u)){let r=eu(t,u+1,{castContext:!0});if(r.length>0){let h=Cn(r);for(let w of r)if(w[0]==="IDENTIFIER")a.add(w[1]);let o=i("CAST",h,l);t.splice(u,1+r.consumed,o);let s=t[u+1];if(s&&s[0]!=="TERMINATOR"&&s[0]!=="INDENT"&&s[0]!=="CAST"&&s.loc?.r!=null&&o.loc?.r!=null&&s.loc.r>o.loc.r)t.splice(u+1,0,i("TERMINATOR",`
1874
+ `,s));return 1}}if(c==="IDENTIFIER"){let r=t[u+1];if(r&&r[0]==="COMPARE"&&r[1]==="<"&&!r.spaced){let h=t[u-1]?.[0]==="DEF",o=lf(t,u+1);if(o){let s=u+1+o.length,w=!h&&t[s]?.[0]==="="&&t[s+1]?.[0]==="COMPONENT";if(h||w){if(!l.data)l.data={};if(l.data.typeParams=Cn(o),t.splice(u+1,o.length),h&&t[u+1]?.[0]==="("){t[u+1][0]="CALL_START";let _=1,y=u+2;while(y<t.length&&_>0){if(t[y][0]==="("||t[y][0]==="CALL_START")_++;if(t[y][0]===")"||t[y][0]==="CALL_END")_--;if(_===0)t[y][0]="CALL_END";y++}}}}}}if(c==="TYPE_ANNOTATION"){let r=t[u-1];if(!r)return 1;let h=r[0]==="PARAM_END",o=eu(t,u+1,{stopAtFatArrow:h});if(h&&Ze(o)){let m=t[u+1]?.loc;throw new Kn("A function-type return on an arrow must be parenthesized",{code:"E_SYNTAX",phase:"lexer",line:m?.r??null,column:m?.c??null,length:m?.n??1,suggestion:"wrap the whole function type in parens — "+"`(x):: ((a: T) => R) => body`, not `(x):: (a: T) => R => body`"})}let s=Cn(o),w=r,_="type";if(r[0]==="CALL_END"||r[0]===")"){let m=1,D=u-2;while(D>=0&&m>0){let U=t[D][0];if(U==="CALL_END"||U===")")m++;if(U==="CALL_START"||U==="(")m--;D--}if(D>=0)w=t[D];_="returnType"}else if(r[0]==="PARAM_END"){let m=u+1+o.consumed,D=t[m];if(D&&(D[0]==="->"||D[0]==="=>"))w=D;_="returnType"}else if(r[0]==="IDENTIFIER"&&u>=2&&t[u-2]?.[0]==="DEF")_="returnType";if(!w.data)w.data={};w.data[_]=s;for(let m of o)if(m[0]==="IDENTIFIER")a.add(m[1]);let y=1+o.consumed;return t.splice(u,y),0}if(c==="IDENTIFIER"&&l[1]==="type"){let r=t[u-1]?.[0];if(!(!r||r==="TERMINATOR"||r==="INDENT"||r==="EXPORT"))return 1;let o=u+1,s=t[o];if(!s||s[0]!=="IDENTIFIER")return 1;let w=s[1],_=r==="EXPORT",y=_?u-1:u,m=o+1;if(t[m]?.[0]==="COMPARE"&&t[m]?.[1]==="<"&&!t[m].spaced){let M=lf(t,m);if(M){if(!s.data)s.data={};s.data.typeParams=Cn(M),t.splice(m,M.length)}}if(t[m]?.[0]!=="=")return 1;let D=(M)=>{let q=i("TYPE_DECL",w,s);if(q.data={name:w,typeText:M,exported:_},s.data?.typeParams)q.data.typeParams=s.data.typeParams;return q},U=m+1,R=t[U],A=(M,q)=>{for(let S=M;S<=q&&S<t.length;S++)if(t[S][0]==="IDENTIFIER")a.add(t[S][1])};if(R&&(R[0]==="TERMINATOR"||R[0]==="INDENT")){let M=be(t,U);if(M)return A(U,M.endIdx),t.splice(y,M.endIdx-y+1,D(M.typeText)),0}if(R&&R[0]==="INDENT"){let M=tu(t,U);return A(U,M),t.splice(y,M-y+1,D(au(t,U))),0}let E=eu(t,U);return A(U,U+E.consumed-1),t.splice(y,U+E.consumed-y,D(Cn(E))),0}if(c==="INTERFACE"){let r=u>=1&&t[u-1]?.[0]==="EXPORT",h=u+1,o=t[h];if(!o)return 1;let s=o[1],w=null,_=h+1;if(t[_]?.[0]==="EXTENDS")w=t[_+1]?.[1],_=_+2;if(t[_]?.[0]==="INDENT"){let y=au(t,_),m=tu(t,_);for(let A=_;A<=m&&A<t.length;A++)if(t[A][0]==="IDENTIFIER")a.add(t[A][1]);if(w)a.add(w);let D=i("TYPE_DECL",s,o);D.data={name:s,kind:"interface",extends:w,typeText:y,exported:r};let U=r?u-1:u,R=m-U+1;return t.splice(U,R,D),0}return 1}return 1});for(let l=e.length-1;l>=0;l--){if(e[l][0]!=="DEF")continue;let u=e[l+1];if(!u||u[0]!=="IDENTIFIER")continue;let t=l+2;if(e[t]?.[0]!=="CALL_START")continue;let c=1;t++;while(t<e.length&&c>0){if(e[t][0]==="CALL_START")c++;if(e[t][0]==="CALL_END")c--;t++}let r=t-1,h=e[t];if(h&&h[0]!=="TERMINATOR")continue;let o=u.data?.returnType;if(!o){for(let D=l+2;D<=r;D++)if(e[D].data?.type){o=!0;break}}if(!o)continue;let s=e.slice(l,t+1),w=l>=1&&e[l-1]?.[0]==="EXPORT",_=w?l-1:l,y=t+1-_,m=i("TYPE_DECL",u[1],u);if(m.data={name:u[1],kind:"overload",overloadTokens:s,exported:w},u.data?.typeParams)m.data.typeParams=u.data.typeParams;e.splice(_,y,m)}}}function Ze(n){let f=(u)=>u==="("||u==="PARAM_START"||u==="CALL_START",e=(u)=>u===")"||u==="PARAM_END"||u==="CALL_END";if(n.length<2||!f(n[0][0]))return!1;let a=0;for(let u=0;u<n.length;u++){let t=n[u][0];if(f(t))a++;else if(e(t)){if(--a===0&&u!==n.length-1)return!1}}if(a!==0)return!1;if(n.length===2)return!0;let i=0,l=!1;for(let u of n){let t=u[0];if(f(t)||t==="["||t==="{"||t==="INDEX_START")i++;else if(e(t)||t==="]"||t==="}"||t==="INDEX_END")i--;else if(i===1&&t==="TERNARY")l=!0;else if(i===1&&t===":")if(l)l=!1;else return!0}return!1}function ff(n,f,e){if(e<=f)return!1;let a=new Set(["|","&",",",":","?",".","..."]),i=0,l=0,u=0,t=0,c=!1,r=[],h=null;for(let o=f;o<e;o++){let s=n[o][0],w=n[o][1];if(s==="=>"){let _=o>f?n[o-1][0]:null;if((_===")"||_==="PARAM_END")&&h&&(h.colon||h.empty)){c=!1;continue}return!1}if(s==="("||s==="PARAM_START"){r.push({colon:!1,open:o}),i++,c=!1;continue}if(s===")"||s==="PARAM_END"){if(--i<0)return!1;let _=r.pop();h=_?{colon:_.colon,empty:o===_.open+1}:null,c=!0;continue}if(s==="["||s==="INDEX_START"){l++,c=!1;continue}if(s==="]"||s==="INDEX_END"){if(--l<0)return!1;c=!0;continue}if(s==="{"){u++,c=!1;continue}if(s==="}"){if(--u<0)return!1;c=!0;continue}if(s==="COMPARE"){if(w==="<"){t++,c=!1;continue}if(w===">"){if(t<=0)return!1;t--,c=!0;continue}return!1}if(s==="SHIFT"){if(w===">>"){if(t<2)return!1;t-=2,c=!0;continue}return!1}if(s==="="){if(t>0){c=!1;continue}return!1}if(a.has(s)){if(s===":"&&r.length)r[r.length-1].colon=!0;c=!1;continue}if(s==="IDENTIFIER"||s==="PROPERTY"||s==="NUMBER"||s==="STRING"||s==="NULL"||s==="UNDEFINED"||s==="BOOL"){if(c)return!1;c=!0;continue}return!1}return i===0&&l===0&&u===0&&t===0&&c}function Ge(n,f,e){let a=new Set(["=","REACTIVE_ASSIGN","COMPUTED_ASSIGN","READONLY_ASSIGN"]),i=0,l=0,u=0,t=[];for(let c=f;c<n.length;c++){let r=n[c][0];if(r==="INDENT"){i++;let h=n[c-1]?.[0];if(h==="->"||h==="=>")t.push(i),u++;continue}if(r==="OUTDENT"){if(i===0)return!1;if(t[t.length-1]===i)t.pop(),u--;i--;continue}if(r==="("||r==="CALL_START"||r==="PARAM_START"||r==="["||r==="INDEX_START"||r==="{"){l++;continue}if(r===")"||r==="CALL_END"||r==="PARAM_END"||r==="]"||r==="INDEX_END"||r==="}"){l--;continue}if(u===0&&l===0&&(r==="IDENTIFIER"||r==="PROPERTY")&&n[c][1]===e&&a.has(n[c+1]?.[0]))return!0}return!1}function Xe(n){let f=(A)=>A==="("||A==="CALL_START"||A==="PARAM_START"||A==="{"||A==="["||A==="INDEX_START",e=(A)=>A===")"||A==="CALL_END"||A==="PARAM_END"||A==="}"||A==="]"||A==="INDEX_END",a=(A)=>{let E=A-1,M=n[E]?.[0],q=n[E]?.[1];if(M==="COMPARE"&&q===">"||M==="SHIFT"&&q===">>"){let S=M==="SHIFT"?2:1;E--;while(E>=0&&S>0){let Q=n[E][0],F=n[E][1];if(Q==="COMPARE"&&F===">")S++;else if(Q==="SHIFT"&&F===">>")S+=2;else if(Q==="COMPARE"&&F==="<")S--;else if(Q==="SHIFT"&&F==="<<")S-=2;E--}}if(n[E]?.[0]!=="IDENTIFIER"&&n[E]?.[0]!=="PROPERTY")return!1;return n[E-1]?.[0]==="DEF"},i=new Set(["TERMINATOR","INDENT","OUTDENT","EXPORT"]),l=new Set(["=","REACTIVE_ASSIGN","COMPUTED_ASSIGN","READONLY_ASSIGN"]),u=(A)=>!A||i.has(A[0]),t=(A)=>{let E=0;for(let M=A;M<n.length;M++){let q=n[M][0];if(f(q))E++;else if(e(q))E--;else if(E===0){if(q==="->"||q==="=>")return!1;if(l.has(q))return!0;if((q==="EFFECT"||q==="GATE")&&M>A)return!0;if(q==="TERMINATOR"||q==="INDENT"||q==="OUTDENT")return!1}}return!1},c=(A)=>{let E=0;for(let M=A;M<n.length;M++){let q=n[M][0];if(f(q))E++;else if(e(q))E--;else if(E===0){if(q==="->"||q==="=>")return!0;if(q==="TERMINATOR"||q==="INDENT"||q==="OUTDENT")return!1}}return!1},r=!1,h=[],o=()=>h.length>0&&h[h.length-1],s=(A)=>{let E=n[A-1]?.[0];if(E!=="PROPERTY"&&E!=="IDENTIFIER")return!1;if(n[A-2]?.[0]==="@")return u(n[A-3]);return u(n[A-2])},w=(A)=>{let E=A-1,M=n[E]?.[0],q=n[E]?.[1];if(M==="COMPARE"&&q===">"||M==="SHIFT"&&q===">>"){let S=M==="SHIFT"?2:1;E--;while(E>=0&&S>0){let Q=n[E][0],F=n[E][1];if(Q==="COMPARE"&&F===">")S++;else if(Q==="SHIFT"&&F===">>")S+=2;else if(Q==="COMPARE"&&F==="<")S--;else if(Q==="SHIFT"&&F==="<<")S-=2;E--}}if(n[E]?.[0]!=="IDENTIFIER")return!1;if(!(n[E-1]?.[0]==="IDENTIFIER"&&n[E-1]?.[1]==="type"))return!1;return u(n[E-2])},_=!1,y=0,m=()=>{_=!0,y=R.length},D=!1,U=!1,R=[];for(let A=0;A<n.length;A++){let E=n[A][0];if(E==="CLASS"||E==="COMPONENT"){r=!0;continue}if(E==="INDENT"){if(h.push(r),r=!1,D=U=!1,_&&R.length<=y)_=!1;continue}if(E==="OUTDENT"){if(h.pop(),D=U=!1,_&&R.length<=y)_=!1;continue}if(f(E)){let q="other";if(!_){if(E==="PARAM_START")q="param";else if((E==="CALL_START"||E==="(")&&a(A))q="defparam"}R.push({kind:q,sawEq:!1,sawType:!1});continue}if(e(E)){if(R.pop()?.kind==="defparam")(n[A].data??={}).isDefParamEnd=!0;if(_&&R.length<y)_=!1;continue}if(E==="TYPE_ANNOTATION"){if(!_)m();continue}if(_)if(R.length<=y&&(E==="="||E===","||E==="TERMINATOR"||E==="->"||l.has(E)))_=!1;else continue;if(E==="TERMINATOR"&&R.length===0)D=U,U=!1;if(E==="="&&R.length===0&&!_&&w(A)){m();continue}if(E===":"){let q=n[A-1],S=q?.[0];if(R.length===0&&(S==="IDENTIFIER"||S==="PROPERTY")&&u(n[A-2]))U=!0;if(S==="PARAM_END"||(S===")"||S==="CALL_END")&&q.data?.isDefParamEnd){n[A][0]="TYPE_ANNOTATION",m();continue}if((S==="IDENTIFIER"||S==="PROPERTY")&&n[A-2]?.[0]==="DEF"){if(S==="PROPERTY")q[0]="IDENTIFIER";n[A][0]="TYPE_ANNOTATION",m();continue}if(R.length===0&&s(A)&&t(A+1)){if(S==="PROPERTY"&&n[A-2]?.[0]!=="@")q[0]="IDENTIFIER";n[A][0]="TYPE_ANNOTATION",m();continue}if(R.length===0&&s(A)){let Q=0;for(let F=A+1;F<n.length;F++){let K=n[F][0];if(f(K))Q++;else if(e(K)){if(Q===0)break;Q--}else if(Q===0){if(K==="TERMINATOR"||K==="INDENT"||K==="OUTDENT")break;if(K==="="&&ff(n,A+1,F)){if(S==="PROPERTY"&&n[A-2]?.[0]!=="@")q[0]="IDENTIFIER";n[A][0]="TYPE_ANNOTATION",m();break}}}if(n[A][0]==="TYPE_ANNOTATION")continue}if(o()&&R.length===0&&s(A)&&!c(A+1)){if(S==="PROPERTY"&&n[A-2]?.[0]!=="@")q[0]="IDENTIFIER";n[A][0]="TYPE_ANNOTATION",m();continue}if(R.length===0&&s(A)&&n[A-2]?.[0]!=="@"){let Q=0,F=-1;for(let G=A+1;G<n.length;G++){let B=n[G][0];if(f(B))Q++;else if(e(B)){if(Q===0)break;Q--}else if(Q===0){if(B==="TERMINATOR"){F=G;break}if(B==="INDENT"||B==="OUTDENT"||B==="="||l.has(B))break}}let K=n[F+1],H=K&&(K[0]==="IDENTIFIER"||K[0]==="PROPERTY")&&n[F+2]?.[0]===":";if(F>A+1&&K&&K[0]!=="OUTDENT"&&!D&&!H&&ff(n,A+1,F)&&Ge(n,F+1,q[1])){if(S==="PROPERTY")q[0]="IDENTIFIER";n[A][0]="TYPE_ANNOTATION",m();continue}}}let M=R[R.length-1];if(M&&(M.kind==="param"||M.kind==="defparam")){if(E===","){M.sawEq=!1,M.sawType=!1;continue}if(E==="="){M.sawEq=!0;continue}if(E===":"&&!M.sawEq&&!M.sawType){let q=n[A-1],S=q?.[0];if(S==="PROPERTY"||S==="IDENTIFIER"){if(S==="PROPERTY"&&n[A-2]?.[0]!=="@")q[0]="IDENTIFIER";n[A][0]="TYPE_ANNOTATION",M.sawType=!0,m()}else if(S==="}"||S==="]"||S==="INDEX_END")n[A][0]="TYPE_ANNOTATION",M.sawType=!0,m()}}}}function eu(n,f,e={}){let a=[],i=0,l=[],u=f;while(f<n.length){let t=n[f],c=t[0],r=c==="("||c==="["||c==="{"||c==="CALL_START"||c==="PARAM_START"||c==="INDEX_START"||c==="COMPARE"&&t[1]==="<",h=c===")"||c==="]"||c==="}"||c==="CALL_END"||c==="PARAM_END"||c==="INDEX_END"||c==="COMPARE"&&t[1]===">";if(c==="SHIFT"&&t[1]===">>"&&i>=2){if(i-=2,l[l.length-1]==="<")l.pop();if(l[l.length-1]==="<")l.pop();a.push(t),f++;continue}if(r){i++;let o=c==="{"?"{":c==="["||c==="INDEX_START"?"[":c==="COMPARE"&&t[1]==="<"?"<":"(";l.push(o),a.push(t),f++;continue}if(h){if(i>0){i--,l.pop(),a.push(t),f++;continue}break}if(e.castContext&&i===0&&f>u){let o=n[f-1]?.loc?.r,s=t.loc?.r;if(o!=null&&s!=null&&s>o)break}if(e.castContext&&i===0&&c==="IDENTIFIER"&&t[1]==="as")break;if(i===0){if(e.stopAtFatArrow&&c==="=>")break;if(c==="INDENT"&&a.length>0&&a[a.length-1][0]==="=>"){f++;let o=1;while(f<n.length&&o>0)if(n[f][0]==="INDENT")o++,f++;else if(n[f][0]==="OUTDENT")o--,f++;else a.push(n[f]),f++;continue}if(c==="="||c==="REACTIVE_ASSIGN"||c==="COMPUTED_ASSIGN"||c==="READONLY_ASSIGN"||c==="EFFECT"||c==="GATE"||c==="TERMINATOR"||c==="INDENT"||c==="OUTDENT"||c==="->"||c===",")break;if(e.castContext&&(c==="+"||c==="-"||c==="MATH"||c==="**"||c==="SHIFT"||c==="COMPARE"||c==="&&"||c==="||"||c==="??"||c==="^"||c==="RELATION"||c==="TERNARY"||c==="?"||c==="PRESENCE"||c===":"))break}if(i>0&&(c==="INDENT"||c==="OUTDENT")){f++;continue}if(i>0&&c==="TERMINATOR"){a.push(["",";"]),f++;continue}if(c==="PROPERTY"&&l[l.length-1]==="{"){let o=a[a.length-1],s=o?.[0],w=o?.[1];if(o&&s!=="{"&&s!==","&&!(s===""&&w===";"))a.push(["",";"])}a.push(t),f++}return a.consumed=f-u,a}function Cn(n){if(n.length===0)return"";if(n[0]?.[0]==="=>")n.unshift(["","()"]);{let a=0;for(let i of n){let l=i[0];if(l==="{")a++;else if(l==="}")a--;else if(l==="TYPE_ANNOTATION"&&a>0){let u=i.loc,t=u?` (line ${u.r}, col ${u.c})`:"",c=Error(`Use \`:\` (not \`::\`) inside a structural type literal${t}. \`::\` binds a name to a type; inside \`{ ... }\` in type position, fields use \`:\` (TS-style).`);throw c.loc=u,c}}}let e=n.map((a,i)=>{let l=n[i+1];if(a.data?.optional&&l&&(l[0]==="TYPE_ANNOTATION"||l[0]===":"))return`${a[1]}?`;if(a[0]==="JS")return"`"+a[1]+"`";return a[1]}).join(" ").replace(/\s+/g," ").trim();return e=e.replace(/\s*<\s*/g,"<").replace(/\s*>\s*/g,">").replace(/\s*\[\s*/g,"[").replace(/\s*\]\s*/g,"]").replace(/\s*\(\s*/g,"(").replace(/\s*\)\s*/g,")").replace(/\s*,\s*/g,", ").replace(/\s*=>\s*/g," => ").replace(/ :: /g,": ").replace(/:: /g,": ").replace(/ : /g,": "),e}function lf(n,f){if(f>=n.length)return null;let e=n[f];if(e[0]!=="COMPARE"||e[1]!=="<")return null;let a=[e],i=1,l=f+1;while(l<n.length&&i>0){let u=n[l];if(a.push(u),u[0]==="COMPARE"&&u[1]==="<")i++;else if(u[0]==="COMPARE"&&u[1]===">")i--;l++}return i===0?a:null}function au(n,f){let e=[],a=f+1,i=1;while(a<n.length&&i>0){let l=n[a];if(l[0]==="INDENT"){i++,a++;continue}if(l[0]==="OUTDENT"){if(i--,i===0)break;a++;continue}if(l[0]==="TERMINATOR"){a++;continue}if(i===1&&l[0]==="["){let t=[];a++;while(a<n.length&&n[a][0]!=="]")t.push(n[a]),a++;if(a++,n[a]?.[1]===":"||n[a]?.[0]==="TYPE_ANNOTATION")a++;let c=[];while(a<n.length){let o=n[a];if(o[0]==="TERMINATOR"||o[0]==="OUTDENT")break;c.push(o),a++}let r=Cn(t),h=Cn(c);e.push(`[${r}]: ${h}`);continue}let u=l[0]==="PROPERTY"||l[0]==="IDENTIFIER"||i===1&&/^[a-zA-Z_$]/.test(l[1])&&n[a+1]?.[0]==="TYPE_ANNOTATION";if(i===1&&u){let t=l[1],c=!1,r=!1;if(a++,t==="readonly"&&n[a]&&(n[a][0]==="PROPERTY"||n[a][0]==="IDENTIFIER"||/^[a-zA-Z_$]/.test(n[a][1])&&n[a+1]?.[0]==="TYPE_ANNOTATION")){if(r=!0,t=n[a][1],n[a].data?.optional)c=!0;a++}if(l.data?.optional)c=!0;if(n[a]?.[1]==="?"&&!n[a]?.spaced)c=!0,a++;if(n[a]?.[1]===":"||n[a]?.[0]==="TYPE_ANNOTATION")a++;let h=[],o=0;while(a<n.length){let m=n[a];if(m[0]==="IDENTIFIER"&&m[1]==="type"&&n[a+1]?.[0]==="INDENT"){a++;let D=au(n,a);h.push(["",D]);let U=1;a++;while(a<n.length&&U>0){if(n[a][0]==="INDENT")U++;if(n[a][0]==="OUTDENT")U--;a++}continue}if(m[0]==="INDENT"){o++,a++;continue}if(m[0]==="OUTDENT"){if(o>0){o--,a++;continue}break}if(m[0]==="TERMINATOR"&&o===0)break;h.push(m),a++}let s=Cn(h),w=r?"readonly ":"",_=c?"?":"",y=!1;if(!c&&s.startsWith("(")){let m=0;for(let D=0;D<s.length;D++){let U=s[D];if(U==="(")m++;else if(U===")"){if(m--,m===0){let R=s.slice(D+1).trimStart();if(R===""||R.startsWith(":")&&!R.startsWith("::"))y=!0;break}}}}if(y)e.push(`${w}${t}${s}`);else e.push(`${w}${t}${_}: ${s}`)}else a++}return"{ "+e.join("; ")+" }"}function tu(n,f){let e=0;for(let a=f;a<n.length;a++){if(n[a][0]==="INDENT")e++;if(n[a][0]==="OUTDENT"){if(e--,e===0)return a}}return n.length-1}function be(n,f){let e=f;if(n[e]?.[0]==="TERMINATOR")e++;if(n[e]?.[0]!=="INDENT")return null;let a=e;e++;while(e<n.length&&n[e][0]==="TERMINATOR")e++;if(!n[e]||n[e][1]!=="|")return null;let i=[],l=1;e=a+1;while(e<n.length&&l>0){let t=n[e];if(t[0]==="INDENT"){l++,e++;continue}if(t[0]==="OUTDENT"){if(l--,l===0)break;e++;continue}if(t[0]==="TERMINATOR"){e++;continue}if(t[1]==="|"&&l===1){e++;let c=[];while(e<n.length){let r=n[e];if(r[0]==="TERMINATOR"||r[0]==="OUTDENT"||r[1]==="|"&&l===1)break;c.push(r),e++}if(c.length>0)i.push(Cn(c));continue}e++}if(i.length===0)return null;let u=tu(n,a);return{typeText:i.join(" | "),endIdx:u}}var af=new Set(["true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","yield","await","if","else","switch","for","while","do","try","catch","finally","class","extends","super","import","export","default"]),tf=new Set(["undefined","Infinity","NaN","then","unless","until","loop","of","by","when","def","component","render","enum","interface"]),cu={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},rf=new Set(Object.keys(cu)),Ne=new Set(["case","function","var","void","with","const","let","native","implements","package","private","protected","public","static"]),Oe=new Set(["break","continue","debugger"]),Pe=new Set(["NEW","TYPEOF","DELETE"]),Ie=new Set(["IN","OF","INSTANCEOF"]),bi=new Set(["IDENTIFIER","PROPERTY",")","]","@","THIS","SUPER","DYNAMIC_IMPORT","?."]),Ni=new Set([...bi,"NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","MAP_END","SYMBOL"]),Gi=new Set(["IDENTIFIER","PROPERTY","NUMBER","INFINITY","NAN","STRING","STRING_START","REGEX","REGEX_START","JS","NEW","PARAM_START","CLASS","IF","TRY","SWITCH","THIS","DYNAMIC_IMPORT","IMPORT_META","NEW_TARGET","UNDEFINED","NULL","BOOL","UNARY","DO","DO_IIFE","YIELD","AWAIT","UNARY_MATH","SUPER","THROW","@","->","=>","[","(","{","MAP_START","--","++","SYMBOL"]),Be=new Set(["+","-"]),ge=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","??"]),Ce=new Set(["STRING","STRING_END","REGEX","REGEX_END","NUMBER","BOOL","NULL","UNDEFINED","INFINITY","NAN","]","}","MAP_END","SYMBOL"]),Ln=new Set(["(","[","{","MAP_START","PICK_START","OPTPICK_START","INDENT","CALL_START","PARAM_START","INDEX_START","STRING_START","INTERPOLATION_START","REGEX_START"]),vn=new Set([")","]","}","MAP_END","PICK_END","OUTDENT","CALL_END","PARAM_END","INDEX_END","STRING_END","INTERPOLATION_END","REGEX_END"]),ve={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{",INDENT:"OUTDENT",OUTDENT:"INDENT",CALL_START:"CALL_END",CALL_END:"CALL_START",PARAM_START:"PARAM_END",PARAM_END:"PARAM_START",INDEX_START:"INDEX_END",INDEX_END:"INDEX_START",STRING_START:"STRING_END",STRING_END:"STRING_START",INTERPOLATION_START:"INTERPOLATION_END",INTERPOLATION_END:"INTERPOLATION_START",REGEX_START:"REGEX_END",REGEX_END:"REGEX_START",MAP_START:"MAP_END",MAP_END:"MAP_START",PICK_START:"PICK_END",PICK_END:"PICK_START",OPTPICK_START:"PICK_END"},cf=new Set(["CATCH","THEN","ELSE","FINALLY",...vn]),ru=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"]),Te=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","]","INDEX_END"]),Ve=new Set(["IF","TRY","FINALLY","CATCH","CLASS","SWITCH","COMPONENT","FOR"]),je=new Set(["IDENTIFIER","PROPERTY","NUMBER","STRING","STRING_END","REGEX","REGEX_END",")","CALL_END","]","INDEX_END","}","MAP_END","PICK_END","BOOL","NULL","UNDEFINED","INFINITY","NAN","SUPER","THIS","@","SYMBOL"]),hf=new Set(["ELSE","->","=>","TRY","FINALLY","THEN"]),Le=new Set(["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]),si=new Set(["INDENT","OUTDENT","TERMINATOR"]),ai=(n)=>n?.[0]==="IDENTIFIER"||n?.[0]==="PROPERTY",Xi=(n,f)=>{if(n?.[0]===".")return!0;if(n?.[0]==="-")return n.spaced===!1&&!n.newLine&&f?.spaced===!1&&!f?.newLine;return!1},sf=new Set([".","?."]),of=new Set(["\\",".","?.","UNARY","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","TERNARY","EXTENDS"]),pe=new Set([...Ni,"++","--"]),wf=new Set(["-=","+=","/=","*=","%=","||=","&&=","?=","??=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="]),xe=new Set(["*","/","%","//","%%"]),$e=new Set(["==","!=","===","!==","<",">","<=",">=","=~"]),ke=new Set(["<<",">>",">>>"]),na=new Set(["!","~"]),ia=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+(?:!|[?](?![.?![(]))?)([^\n\S]*:(?![=:]))?/,ua=/^0b[01](?:_?[01])*n?|^0o[0-7](?:_?[0-7])*n?|^0x[\da-f](?:_?[\da-f])*n?|^\d+(?:_\d+)*n|^(?:\d+(?:_\d+)*)?\.?\d+(?:_\d+)*(?:e[+-]?\d+(?:_\d+)*)?/i,fa=/^(?:<=>|<~|::|\*>|[-=]>|~>|~=|:=|=!|===|!==|\?\!|\?\?|=~|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?\.?|\.{2,3})/,la=/^[^\n\S]+/,ea=/^(?:\n[^\n\S]*)+/,aa=/^(\s*)###([^#][\s\S]*?)(?:###([^\n\S]*)|###$)|^((?:\s*#(?!##[^#]).*)+)/,ta=/^[-=]>/,ra=/^(?:~[=>]|=!)/,ca=/^(?:'''\\|"""\\|'''|"""|'|")/,ha=/^(?:[^\\']|\\[\s\S])*/,sa=/^(?:[^\\"#$]|\\[\s\S]|\#(?!\{)|\$(?!\{))*/,oa=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,wa=/^(?:[^\\"#$]|\\[\s\S]|"(?!"")|\#(?!\{)|\$(?!\{))*/,_f=/\n+([^\n\S]*)(?=\S)/g,_a=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,mf=/^\w*/,ma=/^(?!.*(.).*\1)[gimsuy]*$/,ya=/^(?:[^\\\/#\s]|\\[\s\S]|\/(?!\/\/)|\#(?!\{)|\s+(?:#(?!\{).*)?)*/,Aa=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,Da=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,Ra=/\s+$/,yf=/^\s*(?:,|\??\.(?![.\d]))/,Ma=65279;function Oi(n,f,{pre:e=0,row:a=0,col:i=0,len:l=0,data:u=null}={}){let t=[n,f];return t.pre=e,t.data=u,t.loc={r:a,c:i,n:l},t.spaced=e>0,t.newLine=!1,t}function Bn(n,f,e){let a=Oi(n,f);if(a.generated=!0,e)a.origin=e;return a}function Pn(n,{row:f=0,col:e=0,len:a=1}={}){let i=SyntaxError(n);throw i.location={first_line:f,first_column:e,last_column:e+a-1},i}function Ua(n){if(n==null)return NaN;switch(n.charAt(1)){case"b":return parseInt(n.slice(2).replace(/_/g,""),2);case"o":return parseInt(n.slice(2).replace(/_/g,""),8);case"x":return parseInt(n.slice(2).replace(/_/g,""),16);default:return parseFloat(n.replace(/_/g,""))}}class Tn{tokenize(n,f={}){this.code=n,this.tokens=[],this.ends=[],this.chunk="",this.pos=0,this.row=f.row||0,this.col=f.col||0,this.indent=0,this.indents=[],this.seenFor=!1,this.seenImport=!1,this.seenExport=!1,this.importSpecifierList=!1,this.exportSpecifierList=!1,this.inRenderBlock=!1,this.renderIndent=0,this.inTypeAnnotation=!1,n=this.clean(n),this.code=n;while(this.pos<n.length){this.chunk=n.slice(this.pos);let e=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken();if(e===0)Pn(`unexpected character: ${this.chunk.charAt(0)}`,{row:this.row,col:this.col});if(this.advance(e),f.untilBalanced&&this.ends.length===0)return{tokens:this.tokens,index:this.pos}}if(this.closeIndentation(),this.ends.length>0){let e=this.ends[this.ends.length-1];Pn(`missing ${e.tag}`,{row:this.row,col:this.col})}if(f.rewrite===!1)return this.tokens;return this.rewrite(this.tokens)}clean(n){if(n.charCodeAt(0)===Ma)n=n.slice(1);if(n=n.replace(/\r\n?/g,`
1875
+ `),n=n.replace(Ra,""),/^[^\n\S]/.test(n))n=`
1875
1876
  `+n;return n}advance(n){let f=this.code.slice(this.pos,this.pos+n);for(let e=0;e<f.length;e++)if(f[e]===`
1876
- `)this.row++,this.col=0;else this.col++;this.pos+=n}emit(n,f,{len:e,data:t,pre:i}={}){let u=Pi(n,f,{pre:i??0,row:this.row,col:this.col,len:e??(typeof f==="string"?f.length:0),data:t});return this.tokens.push(u),u}prev(){return this.tokens[this.tokens.length-1]}prevTag(){let n=this.prev();return n?n[0]:void 0}prevVal(){let n=this.prev();return n?n[1]:void 0}isReturnTypeSlot(){let n=this.tokens.length;if(n<2)return!1;let f=this.tokens[n-1];if(!f||f[1]!==":")return!1;let e=this.tokens[n-2];if(!e)return!1;let t=e[0];return t===")"||t==="CALL_END"||t==="PARAM_END"}inPickKeyPos(){let n=this.prev();if(!n)return!1;let f=n[0];if(f!=="{"&&f!==","&&f!==":"&&f!=="TERMINATOR"&&f!=="INDENT"&&f!=="OUTDENT")return!1;let e=0,t=this.tokens;for(let i=t.length-1;i>=0;i--){let u=t[i],l=u[0];if(l==="}"||l==="PICK_END"){e++;continue}if(l==="{"||l==="PICK_START"||l==="OPTPICK_START"){if(e===0){let a=t[i-1];return!!(a&&(a[0]==="."||a[0]==="?.")&&!a.spaced&&!u.spaced)}e--;continue}if(e===0&&(l==="("||l==="CALL_START"||l==="["||l==="INDEX_START"))return!1}return!1}identifierToken(){if(ut.test(this.chunk))return 0;let n=xe.exec(this.chunk);if(!n)return 0;let[,f,e]=n,t=f.length,i={},u;if(f==="own"&&this.prevTag()==="FOR")return this.emit("OWN",f,{len:t}),t;if(f==="from"&&this.prevTag()==="YIELD")return this.emit("FROM",f,{len:t}),t;if(f==="as"&&!this.seenFor&&(this.seenImport||this.seenExport)){if(this.seenImport){if(this.prevVal()==="*")this.prev()[0]="IMPORT_ALL"}let h=this.prevTag();if(h==="DEFAULT"||h==="IMPORT_ALL"||h==="IDENTIFIER")return this.emit("AS",f,{len:t}),t}if((f==="as"||f==="as!")&&this.seenFor)return this.seenFor=!1,this.emit(f==="as!"?"FORASAWAIT":"FORAS","as",{len:t}),t;if(f==="default"&&this.seenExport&&(this.prevTag()==="EXPORT"||this.prevTag()==="AS"))return this.emit("DEFAULT",f,{len:t}),t;let l;if(f==="do"&&(l=/^(\s*super)(?!\(\))/.exec(this.chunk.slice(3))))return this.emit("SUPER","super"),this.emit("CALL_START","("),this.emit("CALL_END",")"),l[1].length+3;let a=this.prev();if(e&&a&&a[0]==="TERNARY")e=null;if(e&&e.length>1&&/[a-zA-Z_$]/.test(this.chunk[t+e.length]))e=null;if(e||a&&(a[0]==="."||a[0]==="?."||!a.spaced&&a[0]==="@")||this.inPickKeyPos()){if(u="PROPERTY",this.inRenderBlock&&a&&a[0]==="."&&!e){let h=this.chunk.slice(t);while(h[0]==="-"&&/^-[a-zA-Z]/.test(h)){let o=/^-([a-zA-Z][\w]*)/.exec(h);if(!o)break;f+="-"+o[1],t+=1+o[1].length,h=this.chunk.slice(t)}}}else u="IDENTIFIER";let c=f.endsWith("!")||f.endsWith("?")?f.slice(0,-1):f;if(u==="IDENTIFIER"&&!f.endsWith("!")&&!f.endsWith("?")&&(af.has(f)||rf.has(f)||cf.has(f))&&!(this.exportSpecifierList&&cf.has(f))){if(cl[f]!==void 0)i.original=f,f=cl[f];u=this.classifyKeyword(f,u,i)}if(u==="IDENTIFIER"&&Ze.has(c))if(c==="void"&&(this.inTypeAnnotation||this.prevTag()==="=>"||this.isReturnTypeSlot()));else Pn(`reserved word '${c}'`,{row:this.row,col:this.col,len:t});if(u==="PROPERTY"&&a){if(a[0]==="."&&this.tokens.length>1){let h=this.tokens[this.tokens.length-2];if(h[0]==="UNARY"&&h[1]==="new")h[0]="NEW_TARGET";if(h[0]==="IMPORT"&&h[1]==="import")this.seenImport=!1,h[0]="IMPORT_META"}}if(f.length>1&&f.endsWith("!"))i.bang=!0,f=f.slice(0,-1);if(f.length>1&&f.endsWith("?"))i.optional=!0,f=f.slice(0,-1);let r=this.emit(u,f,{len:t,data:Object.keys(i).length?i:null});if(u==="RENDER")this.inRenderBlock=!0,this.renderIndent=this.indent;if(e)return this.emit(":",":",{len:1}),t+e.length;return t}classifyKeyword(n,f,e){switch(n){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"true":case"false":return"BOOL";case"&&":case"||":return n}if(Ge.has(n))return"STATEMENT";let t=n.toUpperCase();if(t==="WHEN"&&si.has(this.prevTag()))return"LEADING_WHEN";if(t==="FOR")return this.seenFor={endsLength:this.ends.length},"FOR";if(t==="UNLESS")return"UNLESS";if(t==="IMPORT")return this.seenImport=!0,"IMPORT";if(t==="EXPORT")return this.seenExport=!0,"EXPORT";if(Ne.has(t))return"UNARY";if(be.has(t)){if(t!=="INSTANCEOF"&&this.seenFor)return this.seenFor=!1,"FOR"+t;if(this.prevVal()==="!"){let i=this.tokens.pop();e.invert=i.data?.original||i[1]}return"RELATION"}if(af.has(n)||rf.has(n))return t;return f}commentToken(){if(this.inRenderBlock){if(/^#[a-zA-Z_]/.test(this.chunk)){let f=this.prev();if(f&&(f[0]==="IDENTIFIER"||f[0]==="PROPERTY"))return 0;let e=/^#([a-zA-Z_][\w-]*)/.exec(this.chunk);if(e)return this.emit("IDENTIFIER","div#"+e[1]),e[0].length}if(/^\s+#[a-zA-Z_]/.test(this.chunk))return 0}let n=lt.exec(this.chunk);if(!n)return 0;return n[0].length}whitespaceToken(){let n=nt.exec(this.chunk);if(!n&&this.chunk[0]!==`
1877
- `)return 0;let f=this.prev();if(f)if(n)f.spaced=!0,f.pre=n[0].length;else f.newLine=!0;return n?n[0].length:0}lineToken(){let n=it.exec(this.chunk);if(!n)return 0;let f=n[0],e=f.length-1-f.lastIndexOf(`
1878
- `);if(this.isUnfinished()){if(e<this.indent&&/^\s*,/.test(this.chunk)&&!wf.has(this.prevTag())){if(this.outdentTo(e,f.length),this.prevTag()==="TERMINATOR")this.tokens.pop();return f.length}return f.length}if(this.seenFor&&!(this.seenFor.endsLength<this.ends.length))this.seenFor=!1;if(!this.importSpecifierList)this.seenImport=!1;if(!this.exportSpecifierList)this.seenExport=!1;if(this.inTypeAnnotation=!1,e===this.indent)return this.emitNewline(),f.length;if(e>this.indent){if(!this.tokens.length)return this.indent=e,f.length;let t=e-this.indent;return this.emit("INDENT",t,{len:e}),this.indents.push(t),this.ends.push({tag:"OUTDENT"}),this.indent=e,f.length}return this.outdentTo(e,f.length),f.length}outdentTo(n,f=0){if(this.inRenderBlock&&n<=this.renderIndent)this.inRenderBlock=!1;let e=this.indent-n;while(e>0){let t=this.indents[this.indents.length-1];if(!t)e=0;else this.indents.pop(),this.pair("OUTDENT"),this.emit("OUTDENT",e,{len:f}),e-=t}this.emitNewline(),this.indent=n}closeIndentation(){this.outdentTo(0)}emitNewline(){if(this.prevTag()!=="TERMINATOR")this.emit("TERMINATOR",`
1879
- `,{len:0})}isUnfinished(){if(this.inRenderBlock&&Af.test(this.chunk)&&/^\s*\./.test(this.chunk))return!1;if(this.inRenderBlock&&this.prevTag()==="."){let e=this.tokens.length;if(e>=2){let t=this.tokens[e-2][0];if(t==="INDENT"||t==="TERMINATOR"||t==="OUTDENT")return!1}}let n=this.tokens[this.tokens.length-1];if(n?.[0]==="COMPARE"&&n[1]===">"||n?.[0]==="SHIFT"&&(n[1]===">>"||n[1]===">>>")){let e=0;for(let t=this.tokens.length-1;t>=0;t--){let i=this.tokens[t];if(i[0]==="COMPARE"&&i[1]===">")e++;else if(i[0]==="SHIFT"&&i[1]===">>")e+=2;else if(i[0]==="SHIFT"&&i[1]===">>>")e+=3;else if(i[0]==="COMPARE"&&i[1]==="<")e--;if(e===0&&i[0]==="TYPE_ANNOTATION")return!1;if(e===0&&i[0]===":"){let u=this.tokens[t-1];if(u&&(u[0]===")"||u[0]==="PARAM_END"||u[0]==="CALL_END"))return!1}if(e===0&&i[0]==="IDENTIFIER"&&i[1]==="type")return!1;if(i[0]==="INTERFACE")return!1;if(i[0]==="TERMINATOR"||i[0]==="INDENT"||i[0]==="OUTDENT"){let u=-1;if(i[0]==="INDENT")u=t;else{let l=i[0]==="OUTDENT"?1:0;for(let a=t-1;a>=0;a--){let c=this.tokens[a];if(c[0]==="OUTDENT")l++;else if(c[0]==="INDENT"){if(l===0){u=a;break}l--}}}if(u>0)for(let l=u-1;l>=0;l--){let a=this.tokens[l];if(a[0]==="TERMINATOR"||a[0]==="INDENT"||a[0]==="OUTDENT")break;if(a[0]==="INTERFACE")return!1;if(a[0]==="IDENTIFIER"&&a[1]==="type"){let c=this.tokens[l-1];if(!c||c[0]==="TERMINATOR"||c[0]==="EXPORT")return!1;break}}break}}}return Af.test(this.chunk)||wf.has(this.prevTag())}pair(n){let f=this.ends[this.ends.length-1];if(!f||n!==f.tag){if(f?.tag==="OUTDENT"){let e=this.indents[this.indents.length-1];if(e)this.outdentTo(this.indent-e);return this.pair(n)}Pn(`unmatched ${n}`,{row:this.row,col:this.col})}return this.ends.pop()}stringToken(){let n=et.exec(this.chunk);if(!n)return 0;let f=n[0],e=f.length>1&&f.endsWith("\\"),t=e?f.slice(0,-1):f,i=this.prev();if(i&&this.prevVal()==="from"&&(this.seenImport||this.seenExport))i[0]="FROM";let u;switch(t){case"'":u=tt;break;case'"':u=at;break;case"'''":u=rt;break;case'"""':u=ct;break}let{tokens:l,index:a}=this.matchWithInterpolations(u,f,t),c=t.length===3,r=null;if(c)r=this.processHeredocIndent(a,t,l);return this.mergeInterpolationTokens(l,{quote:t,indent:r,endOffset:a,raw:e}),a}processHeredocIndent(n,f,e){let t=n-f.length,i=t-1;while(i>=0&&this.chunk[i]!==`
1880
- `)i--;i++;let u=this.chunk.slice(i,t),l=/^\s*$/.test(u)?u.length:null,a="";for(let h of e)if(h[0]==="NEOSTRING")a+=h[1];let c=null,r;mf.lastIndex=0;while(r=mf.exec(a))if(c===null||r[1].length>0&&r[1].length<c.length)c=r[1];if(l===null)return c;if(c===null)return" ".repeat(l);if(l<=c.length)return" ".repeat(l);return c}matchWithInterpolations(n,f,e,t){if(!e)e=f;if(!t)t=/^[#$]\{/;let i=[],u=f.length;if(this.chunk.slice(0,u)!==f)return null;let l=this.chunk.slice(u);while(!0){let[a]=n.exec(l);i.push(["NEOSTRING",a,{offset:u}]),l=l.slice(a.length),u+=a.length;let c=t.exec(l);if(!c)break;let h=c[0].length-1,o=l.slice(h),s=new vn().tokenize(o,{row:this.row,col:this.col+u+h,untilBalanced:!0,rewrite:!1}),w=s.index+h;if(l[w-1]==="}"){let A=s.tokens[0],y=s.tokens[s.tokens.length-1];A[0]="INTERPOLATION_START",A[1]="(",y[0]="INTERPOLATION_END",y[1]=")"}if(s.tokens[1]?.[0]==="TERMINATOR")s.tokens.splice(1,1);let _=s.tokens.length;if(_>2&&s.tokens[_-3]?.[0]==="INDENT"&&s.tokens[_-2]?.[0]==="OUTDENT")s.tokens.splice(_-3,2);i.push(["TOKENS",s.tokens]),l=l.slice(w),u+=w}if(l.slice(0,e.length)!==e)Pn(`missing ${e}`,{row:this.row,col:this.col});return{tokens:i,index:u+e.length}}mergeInterpolationTokens(n,{quote:f,indent:e,endOffset:t,raw:i}){if(n.length>1)this.emit("STRING_START","(",{len:f?.length||0,data:{quote:f}});for(let u=0;u<n.length;u++){let[l,a]=n[u];if(l==="TOKENS")for(let c of a)this.tokens.push(c);else if(l==="NEOSTRING"){let c=a;if(e){let r=new RegExp("\\n"+e,"g");c=c.replace(r,`
1881
- `)}if(u===0&&f?.length===3)c=c.replace(/^\n/,"");if(u===n.length-1&&f?.length===3)c=c.replace(/\n[^\S\n]*$/,"");if(i)c=c.replace(/\\([nrtbfv0\\'"`xu])/g,"\\\\$1");this.emit("STRING",`"${c}"`,{len:a.length,data:{quote:f}})}}if(n.length>1)this.emit("STRING_END",")",{len:f?.length||0});return t}numberToken(){let n=$e.exec(this.chunk);if(!n)return 0;let f=n[0],e=f.length,t={row:this.row,col:this.col};if(/^0[BOX]/.test(f))Pn(`radix prefix in '${f}' must be lowercase`,{...t,col:t.col+1});if(/^0\d*[89]/.test(f))Pn(`decimal literal '${f}' must not be prefixed with '0'`,{...t,len:e});if(/^0\d+/.test(f))Pn(`octal literal '${f}' must be prefixed with '0o'`,{...t,len:e});let i=At(f),u=i===1/0?"INFINITY":"NUMBER",l={parsedValue:i};if(u==="INFINITY")l.original=f;return this.emit(u,f,{len:e,data:l}),e}regexToken(){let n=this.matchWithInterpolations(ot,"///");if(n){let{tokens:r,index:h}=n,[o]=yf.exec(this.chunk.slice(h)),s=h+o.length;if(r.length===1||!r.some((w)=>w[0]==="TOKENS")){let w=(r[0]?.[1]||"").replace(/(?<!\\)\//g,"\\/");this.emit("REGEX",`/${w}/${o}`,{len:s,data:{delimiter:"///",heregex:{flags:o}}})}else{if(this.emit("REGEX_START","(",{len:0}),this.emit("IDENTIFIER","RegExp",{len:0}),this.emit("CALL_START","(",{len:0}),this.mergeInterpolationTokens(r,{quote:"///",endOffset:s-o.length}),o)this.emit(",",",",{len:0}),this.emit("STRING",`"${o}"`,{len:o.length});this.emit(")",")",{len:0}),this.emit("REGEX_END",")",{len:0})}return s}let f=ht.exec(this.chunk);if(!f)return 0;let[e,t,i]=f,u=this.prev();if(u){if(u.spaced&&bi.has(u[0])&&(!i||/^\/=?\s/.test(e)))return 0;if(Te.has(u[0])&&!(u.spaced&&bi.has(u[0])))return 0}if(!i)Pn("missing / (unclosed regex)",{row:this.row,col:this.col});let l=e.length,[a]=yf.exec(this.chunk.slice(l)),c=l+a.length;if(!st.test(a))Pn(`invalid regular expression flags ${a}`,{row:this.row,col:this.col+l,len:a.length});return this.emit("REGEX",`/${t}/${a}`,{len:c,data:{delimiter:"/"}}),c}jsToken(){if(this.chunk[0]!=="`")return 0;let n=_t.exec(this.chunk)||wt.exec(this.chunk);if(!n)return 0;let f=n[1],e=n[0].length;return this.emit("JS",f,{len:e,data:{here:n[0].startsWith("```")}}),e}wordLiteral(){if(this.chunk[0]!=="%"||this.chunk[1]!=="w")return 0;let n=this.chunk[2];if(!n||/\s/.test(n))return 0;let e={"[":"]","(":")","{":"}","<":">"}[n]||n,t=e!==n,i=1,u=3;while(u<this.chunk.length&&i>0){let r=this.chunk[u];if(r==="\\"){u+=2;continue}if(t&&r===n)i++;if(r===e)i--;if(i>0)u++}if(i!==0)return 0;let l=this.chunk.slice(3,u),a=u+1,c=[];if(l.trim()){let r=l.trim().split(/(?<!\\)\s+/);for(let h of r)c.push(h.replace(/\\ /g," "))}this.emit("[","[",{len:a});for(let r=0;r<c.length;r++){if(r>0)this.emit(",",",");this.emit("STRING",`"${c[r]}"`)}return this.emit("]","]"),a}symbolToken(){if(this.chunk[0]!==":")return 0;let n=this.chunk[1];if(!n||n==="="||n===":"||/\s/.test(n))return 0;if(!/[a-zA-Z_$]/.test(n))return 0;let f=/^((?:(?!\s)[$\w\x7f-\uffff])+)/.exec(this.chunk.slice(1));if(!f)return 0;let e=f[1],t=e.length+1;return this.emit("SYMBOL",e,{len:t}),t}literalToken(){let n=this.wordLiteral();if(n)return n;let f=this.symbolToken();if(f)return f;let e=ke.exec(this.chunk),t=e?e[0]:this.chunk.charAt(0),i=t,u=this.prev();if(ft.test(t))this.tagParameters();if(t==="="&&u&&u[1]==="."&&!u.spaced){let l=this.tokens,a=l.length-2;while(a>=1&&l[a][0]==="PROPERTY"&&l[a-1]?.[1]===".")a-=2;if(a>=0&&(l[a][0]==="IDENTIFIER"||l[a][0]===")"||l[a][0]==="]")){let c=l.slice(a,l.length-1);u[0]="=",u[1]="=";for(let r of c)this.tokens.push(Pi(r[0],r[1],{pre:0,row:r[2],col:r[3],len:r[4]}));return this.tokens.push(Pi(".",".",{pre:0,row:this.row,col:this.col,len:1})),t.length}}if(u&&(t==="="||_f.has(t))){if(t==="="&&(u[1]==="||"||u[1]==="&&"||u[1]==="??")&&!u.spaced)return u[0]="COMPOUND_ASSIGN",u[1]+="=",t.length}if(t==="("&&u?.[0]==="IMPORT")u[0]="DYNAMIC_IMPORT";if(t==="{"&&this.seenImport)this.importSpecifierList=!0;if(t==="}"&&this.importSpecifierList)this.importSpecifierList=!1;if(t==="{"&&u?.[0]==="EXPORT")this.exportSpecifierList=!0;if(t==="}"&&this.exportSpecifierList)this.exportSpecifierList=!1;if(t===";")this.seenFor=this.seenImport=this.seenExport=!1,this.inTypeAnnotation=!1,i="TERMINATOR";else if(t==="::"&&/^[a-zA-Z_$]/.test(this.chunk[2]||""))return this.emit(".","."),this.emit("PROPERTY","prototype"),this.emit(".","."),2;else if(t==="::")Pn("type annotations use a single ':' (e.g. `x: number`), not '::'",{row:this.row,col:this.col,len:2});else if(t==="~=")i="COMPUTED_ASSIGN";else if(t===":=")i="REACTIVE_ASSIGN";else if(t==="<=>")i="BIND";else if(t==="<~")i="GATE",this.inTypeAnnotation=!1;else if(t==="~>")i="EFFECT",this.inTypeAnnotation=!1;else if(t==="=!")i="READONLY_ASSIGN",this.inTypeAnnotation=!1;else if(t==="*>"&&(!u||u[0]==="TERMINATOR"||u[0]==="INDENT"||u[0]==="OUTDENT")&&(/^[a-zA-Z_$]/.test(this.chunk[2]||"")||this.chunk[2]==="@")){let l=this.chunk.slice(2),a=/^@(\s*)=(?!=)/.exec(l);if(a){let r=a[1];this.emit("IDENTIFIER","Object"),this.emit(".",".");let h=this.emit("PROPERTY","assign");return h.spaced=!0,this.emit("@","@"),this.emit(",",","),3+r.length+1}let c=/^(@?(?:(?!\s)[$\w\x7f-\uffff])+(?:\.[a-zA-Z_$][\w]*)*)(\s*)=(?!=)/.exec(l);if(c){let r=c[1],h=c[2],o=r[0]==="@",s=o?r.slice(1):r,w=s?s.split("."):[],_=()=>{if(o){if(this.emit("@","@"),w.length>0)this.emit("PROPERTY",w[0])}else this.emit("IDENTIFIER",w[0]);for(let y=1;y<w.length;y++)this.emit(".","."),this.emit("PROPERTY",w[y])};_(),this.emit("=","="),this.emit("IDENTIFIER","Object"),this.emit(".","."),this.emit("PROPERTY","assign"),this.emit("CALL_START","("),_(),this.emit("COMPOUND_ASSIGN","??="),this.emit("{","{"),this.emit("}","}"),this.emit(",",",");let A=this.prev();return A.mergeClose=!0,2+r.length+h.length+1}}else if(t==="*"&&u?.[0]==="EXPORT")i="EXPORT_ALL";else if(Ve.has(t))i="MATH";else if(je.has(t))i="COMPARE";else if(_f.has(t))i="COMPOUND_ASSIGN";else if(pe.has(t))i="UNARY_MATH";else if(Le.has(t))i="SHIFT";else if(t==="?"&&u?.spaced)i="TERNARY";else if(t==="?!"&&u&&!u.spaced)i="PRESENCE";else if(t==="?"&&(this.chunk[1]==="["||this.chunk[1]==="("))i="?.";else if(u){if(t==="("&&!u.spaced&&bi.has(u[0])){if(u[0]==="?.")u[0]="ES6_OPTIONAL_CALL";i="CALL_START"}if(t==="["&&!u.spaced&&Xi.has(u[0])){if(i="INDEX_START",u[0]==="?.")u[0]="ES6_OPTIONAL_INDEX"}}if(this.inTypeAnnotation&&(t==="="||i==="COMPOUND_ASSIGN"))this.inTypeAnnotation=!1;if(t==="="){let l=this.tokens.length;if(l>=2&&this.tokens[l-1][0]==="IDENTIFIER"&&this.tokens[l-2][0]==="IDENTIFIER"&&this.tokens[l-2][1]==="type"&&(l===2||this.tokens[l-3][0]==="TERMINATOR"||this.tokens[l-3][0]==="INDENT"||this.tokens[l-3][0]==="OUTDENT"||this.tokens[l-3][0]==="EXPORT"))this.inTypeAnnotation=!0}if(t==="("||t==="{"||t==="[")this.ends.push({tag:Ie[t],origin:[i,t]});else if(t===")"||t==="}"||t==="]")this.pair(t);return this.emit(i,t,{len:t.length}),t.length}tagParameters(){let n=this.tokens.length-1;if(this.tokens[n]?.[0]!==")"){let t=this.tokens.length,i=0,u=t-1,l=-1;while(u>=0){let a=this.tokens[u],c=a[0];if(c===")"||c==="]"||c==="}"||c==="CALL_END"||c==="PARAM_END"||c==="INDEX_END"||c==="COMPARE"&&a[1]===">")i++;else if(c==="("||c==="["||c==="{"||c==="CALL_START"||c==="PARAM_START"||c==="INDEX_START"||c==="COMPARE"&&a[1]==="<")i--;else if(i===0){if(c==="TYPE_ANNOTATION"||c===":"){if(u>0&&this.tokens[u-1][0]===")")l=u-1;break}if(c==="TERMINATOR"||c==="INDENT"||c==="OUTDENT"||c==="="||c==="->"||c==="=>")break}u--}if(l<0)return this.tagDoIife();n=l}else{let t=0,i=-1;for(let u=n;u>=0;u--){let l=this.tokens[u][0];if(l===")"||l==="CALL_END"||l==="PARAM_END")t++;else if(l==="("||l==="CALL_START"||l==="PARAM_START"){if(--t===0){i=u;break}}}if(i>1&&this.tokens[i-1][0]==="TYPE_ANNOTATION"&&this.tokens[i-2]?.[0]===")")n=i-2}let f=n,e=[];this.tokens[f][0]="PARAM_END";while(f-- >0){let t=this.tokens[f];if(t[0]===")")e.push(t);else if(t[0]==="("||t[0]==="CALL_START")if(e.length)e.pop();else if(t[0]==="(")return t[0]="PARAM_START",this.tagDoIife(f-1);else{this.tokens[n][0]="CALL_END";return}}}tagDoIife(n){let f=this.tokens[n??this.tokens.length-1];if(f?.[0]==="DO")f[0]="DO_IIFE"}rewrite(n){return this.tokens=n,this.removeLeadingNewlines(),this.rewriteDottedPicks(),this.rewriteMapLiterals(),this.closeMergeAssignments(),this.closeOpenCalls(),this.closeOpenIndexes(),this.rewriteTypes(),this.normalizeLines(),this.rewriteRender?.(),this.rewriteSchema?.(),this.tagPostfixConditionals(),this.rewriteTaggedTemplates(),this.addImplicitBracesAndParens(),this.addImplicitCallCommas(),this.tokens}removeLeadingNewlines(){let n=0;while(this.tokens[n]?.[0]==="TERMINATOR")n++;if(n>0)this.tokens.splice(0,n)}rewriteMapLiterals(){let n=this.tokens;for(let f=0;f<n.length;f++){if(n[f][0]!=="MATH"||n[f][1]!=="*")continue;let e=n[f+1];if(!e||e[0]!=="{")continue;if(n[f].spaced||n[f].newLine)continue;let t=n[f-1];if(t&&Xi.has(t[0]))continue;n.splice(f,1),n[f][0]="MAP_START";let i=1;for(let u=f+1;u<n.length&&i>0;u++){let l=n[u][0];if(l==="{"||l==="MAP_START")i++;if(l==="}"){if(i--,i===0)n[u][0]="MAP_END"}}}}rewriteDottedPicks(){let n=this.tokens;for(let f=0;f<n.length;f++){let e=n[f][0];if(e!=="."&&e!=="?.")continue;let t=n[f+1];if(!t||t[0]!=="{")continue;if(n[f].spaced||n[f].newLine)continue;let i=n[f-1];if(!i||!Xi.has(i[0]))continue;let u=e==="?.";n.splice(f,1),n[f][0]=u?"OPTPICK_START":"PICK_START";let l=1;for(let a=f+1;a<n.length&&l>0;a++){let c=n[a][0];if(c==="{"||c==="PICK_START"||c==="OPTPICK_START")l++;else if(c==="}"){if(l--,l===0){n[a][0]="PICK_END";break}}}}}closeOpenCalls(){this.scanTokens((n,f)=>{if(n[0]==="CALL_START")this.detectEnd(f+1,(e)=>e[0]===")"||e[0]==="CALL_END",(e)=>e[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens((n,f)=>{if(n[0]==="INDEX_START")this.detectEnd(f+1,(e)=>e[0]==="]"||e[0]==="INDEX_END",(e,t)=>{if(this.tokens[t+1]?.[0]===":")n[0]="[",e[0]="]";else e[0]="INDEX_END"});return 1})}normalizeLines(){let n=null,f=null,e=null,t=(u,l)=>{return u[1]!==";"&&ve.has(u[0])&&!(u[0]==="TERMINATOR"&&hf.has(this.tokens[l+1]?.[0]))&&!(u[0]==="ELSE"&&n!=="THEN")||u[0]==="INDENT"&&!u.generated&&(n==="->"||n==="=>")||u[0]===","&&(n==="->"||n==="=>"||n==="THEN"||n==="ELSE")&&!this.commaInImplicitCall(l)&&!this.commaInImplicitObject(l)||of.has(u[0])&&(this.tokens[l-1]?.newLine||this.tokens[l-1]?.[0]==="OUTDENT")},i=(u,l)=>{let a=this.tokens[l-1]?.[0]===","?l-1:l;this.tokens.splice(a,0,e)};this.scanTokens((u,l,a)=>{let[c]=u;if(c==="TERMINATOR"){if(this.tokens[l+1]?.[0]==="ELSE"&&this.tokens[l-1]?.[0]!=="OUTDENT")return a.splice(l,1,...this.makeIndentation()),1;if(hf.has(this.tokens[l+1]?.[0]))return a.splice(l,1),0}if(c==="CATCH")for(let r=1;r<=2;r++){let h=this.tokens[l+r]?.[0];if(h==="OUTDENT"||h==="TERMINATOR"||h==="FINALLY")return a.splice(l+r,0,...this.makeIndentation()),2+r}if((c==="->"||c==="=>")&&(this.tokens[l+1]?.[0]===","||this.tokens[l+1]?.[0]==="]"))return[f,e]=this.makeIndentation(),a.splice(l+1,0,f,e),1;if(sf.has(c)&&this.tokens[l+1]?.[0]!=="INDENT"&&!(c==="ELSE"&&this.tokens[l+1]?.[0]==="IF")&&!(c==="ELSE"&&this.tokens[l-1]?.[0]!=="OUTDENT")){if(n=c,[f,e]=this.makeIndentation(),c==="THEN")f.fromThen=!0;if(a.splice(l+1,0,f),c==="THEN"&&this.singleLineOwner(l)==="LEADING_WHEN")this.detectWhenThenEnd(l+2,t,i);else this.detectEnd(l+2,t,i);if(c==="THEN")a.splice(l,1);return 1}return 1})}singleLineOwner(n){let f=new Set(["LEADING_WHEN","IF","POST_IF","UNLESS","POST_UNLESS","ELSE","CATCH","TRY","FINALLY","->","=>"]);for(let e=n-1;e>=0;e--){let t=this.tokens[e],i=t?.[0];if(f.has(i))return i;if(si.has(i)||t?.newLine)return null}return null}detectWhenThenEnd(n,f,e){let t=0,i=0;while(n<this.tokens.length){let u=this.tokens[n],l=u[0];if(t===0){if(l==="THEN"&&this.singleLineOwner(n)!=="LEADING_WHEN")i++;else if(l==="ELSE"&&i>0)i--;else if(f.call(this,u,n))return e.call(this,u,n)}if(jn.has(l))t++;if(Cn.has(l))t--;if(t<0)return e.call(this,u,n);n++}}tagPostfixConditionals(){let n=null,f=(t,i)=>{return t[0]==="TERMINATOR"||t[0]==="INDENT"&&!sf.has(this.tokens[i-1]?.[0])},e=(t)=>{if(t[0]!=="INDENT"||t.generated&&!t.fromThen)n[0]="POST_"+n[0]};this.scanTokens((t,i)=>{if(t[0]!=="IF"&&t[0]!=="UNLESS")return 1;if(this.tokens[i-1]?.[0]==="INTERPOLATION_START")return 1;return n=t,this.detectEnd(i+1,f,e),1})}rewriteTaggedTemplates(){let n=this.tokens;for(let f=n.length-2;f>=0;f--)if(n[f][0]==="IDENTIFIER"&&n[f][1]==="$"&&(n[f+1]?.[0]==="STRING"||n[f+1]?.[0]==="STRING_START")){let e=n[f-1];if(e&&ge.has(e[0])){if(n.splice(f,1),e.spaced=!1,n[f].spaced=!1,n[f].pre=0,n[f].newLine)n[f].newLine=!1}}}addImplicitBracesAndParens(){let n=[],f=!1;this.scanTokens((e,t,i)=>{let[u]=e,l=i[t-1]||[],a=i[t+1]||[],[c]=l,[r]=a,h=t,o=(E)=>t-h+E,s=()=>n[n.length-1],w=(E)=>E?.[2]?.ours,_=()=>w(s())&&s()?.[0]==="(",A=()=>w(s())&&s()?.[0]==="{",y=(E)=>{n.push(["(",E,{ours:!0}]),i.splice(E,0,In("CALL_START","("))},R=()=>{n.pop(),i.splice(t,0,In("CALL_END",")")),t+=1},U=(E,Z={})=>{n.push(["{",E,{sameLine:!0,startsLine:Z.startsLine??!0,ours:!0}]);let Q=In("{","{");if(!Q.data)Q.data={};Q.data.generated=!0,i.splice(E,0,Q)},m=(E)=>{E=E??t,n.pop(),i.splice(E,0,In("}","}")),t+=1},D=u==="FOR"&&!e.newLine&&Ce.has(c);if((_()||A())&&Be.has(u)&&!D)return n.push(["CONTROL",t,{ours:!0}]),o(1);if(u==="INDENT"&&w(s())){if(c!=="=>"&&c!=="->"&&c!=="["&&c!=="("&&c!==","&&c!=="{"&&c!=="ELSE"&&c!=="=")while(_()||A()&&c!==":")if(_())R();else m();if(s()?.[2]?.ours&&s()[0]==="CONTROL")n.pop();return n.push([u,t]),o(1)}if(jn.has(u))return n.push([u,t]),o(1);if(Cn.has(u)){while(w(s()))if(_())R();else if(A())m();else n.pop();n.pop()}let M=!1;if(r==="-"&&!a.spaced&&!a.newLine&&ti(e))for(let E=t;E<i.length-2;E+=2){if(!Ni(i[E+1],i[E+2]))break;if(!ti(i[E+2]))break;if(i[E+3]?.[0]===":"){M=!0;break}}if(!M&&rl.has(u)&&e.spaced&&(Gi.has(r)||r==="..."&&Gi.has(i[t+2]?.[0])||Xe.has(r)&&!a.spaced&&!a.newLine)&&!((u==="]"||u==="}")&&(r==="->"||r==="=>")))return y(t+1),o(2);if(rl.has(u)&&this.tokens[t+1]?.[0]==="INDENT"&&this.looksObjectish(t+2)&&!this.findTagsBackwards(t,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return y(t+1),n.push(["INDENT",t+2]),o(3);if(u==="TERNARY")f=!0;if(u===":"){if(f)return f=!1,o(1);if(ti(i[t-1])&&Ni(i[t-2],i[t-1])){let Q=t-2;while(Q>=2&&Ni(i[Q],i[Q+1])&&ti(i[Q-1]))Q-=2;if(Q+=1,ti(i[Q])){let W="";for(let L=Q;L<t;L++)W+=i[L][1];let C=In("STRING",`"${W}"`,i[Q]);C.pre=i[Q].pre,C.spaced=i[Q].spaced,C.newLine=i[Q].newLine,C.loc=i[Q].loc,i.splice(Q,t-Q,C),t=Q+1}}let E=Cn.has(this.tokens[t-1]?.[0])?n[n.length-1]?.[1]??t-1:t-1;if(this.tokens[t-2]?.[0]==="@")E=t-2;let Z=E<=0||si.has(this.tokens[E-1]?.[0])||this.tokens[E-1]?.newLine;if(s()){let[Q,W]=s(),C=n[n.length-2],L=(b)=>b==="{"||b==="MAP_START"||b==="PICK_START"||b==="OPTPICK_START";if((L(Q)||Q==="INDENT"&&L(C?.[0])&&!w(C))&&(Z||this.tokens[E-1]?.[0]===","||L(this.tokens[E-1]?.[0])||L(this.tokens[E]?.[0])))return o(1)}return U(E,{startsLine:!!Z}),o(2)}if(si.has(u))for(let E=n.length-1;E>=0;E--){if(!w(n[E]))break;if(n[E][0]==="{")n[E][2].sameLine=!1}let q=c==="OUTDENT"||l.newLine,S=u==="||"||u==="&&"||u==="??",d=!1;if(S){let E=t+1,Z=i[E]?.[0];if(Z==="("||Z==="["||Z==="{"){for(let Q=1;++E<i.length&&Q>0;)if(Z=i[E][0],Z==="("||Z==="["||Z==="{")Q++;else if(Z===")"||Z==="]"||Z==="}")Q--}else if(Z&&Z!=="TERMINATOR"&&Z!=="OUTDENT"&&Z!==",")E++;d=i[E]?.[0]===","}let K=(E)=>{for(let Z=0;E<i.length;E++){let Q=i[E][0];if(Q==="("||Q==="["||Q==="{"||Q==="CALL_START"||Q==="INDEX_START"||Q==="INDENT")Z++;else if(Q===")"||Q==="]"||Q==="}"||Q==="CALL_END"||Q==="INDEX_END"||Q==="OUTDENT"){if(Z===0)return!1;Z--}else if(Q==="TERMINATOR"&&Z===0)return this.looksObjectish(E+1)}return!1};if(Pe.has(u)&&!d||of.has(u)&&q)while(w(s())){let[E,,{sameLine:Z,startsLine:Q}]=s();if(_()&&c!==",")R();else if(A()&&!S&&Z&&u!=="TERMINATOR"&&c!==":"&&!((u==="POST_IF"||u==="POST_UNLESS")&&K(t+1)))m();else if(A()&&u==="TERMINATOR"&&c!==","&&!(Q&&this.looksObjectish(t+1)))m();else if(s()?.[2]?.ours&&s()[0]==="CONTROL"&&i[s()[1]]?.[0]==="CLASS"&&u==="TERMINATOR")n.pop();else break}if(u===","&&!this.looksObjectish(t+1)&&A()&&(r!=="TERMINATOR"||!this.looksObjectish(t+2))){let E=r==="OUTDENT"?1:0;while(A())m(t+E)}return o(1)})}addImplicitCallCommas(){let n=0,f=0,e=this.tokens;while(f<e.length){let t=e[f][0],i=f>0?e[f-1][0]:null;if(t==="CALL_START"||t==="(")n++;if(t==="CALL_END"||t===")")n--;if(n>0&&(t==="->"||t==="=>")&&Oe.has(i))e.splice(f,0,In(",",",")),f++;f++}}scanTokens(n){let f=0;while(f<this.tokens.length)f+=n.call(this,this.tokens[f],f,this.tokens)}detectEnd(n,f,e,t={}){let i=0;while(n<this.tokens.length){let u=this.tokens[n];if(i===0&&f.call(this,u,n))return e.call(this,u,n);if(jn.has(u[0]))i++;if(Cn.has(u[0]))i--;if(i<0){if(t.returnOnNegativeLevel)return;return e.call(this,u,n)}n++}}closeMergeAssignments(){let n=this.tokens;for(let f=0;f<n.length;f++){if(!n[f].mergeClose)continue;let e=0;for(let t=f+1;t<n.length;t++){let i=n[t][0];if(i==="("||i==="["||i==="{"||i==="CALL_START"||i==="INDEX_START"||i==="INDENT")e++;if(i===")"||i==="]"||i==="}"||i==="CALL_END"||i==="INDEX_END"||i==="OUTDENT")e--;if(e<0||e===0&&i==="TERMINATOR"){n.splice(t,0,In("CALL_END",")",n[t-1]));break}if(t===n.length-1){n.splice(t+1,0,In("CALL_END",")",n[t]));break}}}}commaInImplicitCall(n){let f=0;for(let e=n-1;e>=0;e--){let t=this.tokens[e][0];if(Cn.has(t)){f++;continue}if(jn.has(t)){if(t==="INDENT")return!1;if(f--,f<0)return!1;continue}if(f>0)continue;if(rl.has(t)&&this.tokens[e].spaced){let i=this.tokens[e+1]?.[0];return Gi.has(i)||i==="..."&&Gi.has(this.tokens[e+2]?.[0])}}return!1}commaInImplicitObject(n){let f=0;for(let e=n-1;e>=0;e--){let t=this.tokens[e][0];if(Cn.has(t)){f++;continue}if(jn.has(t)){if(f--,f<0)return!1;continue}if(f>0)continue;if(t===":"&&e>0&&this.tokens[e-1][0]==="PROPERTY")return this.looksObjectish(n+1);if(si.has(t))return!1}return!1}looksObjectish(n){if(!this.tokens[n])return!1;if(this.tokens[n]?.[0]==="@"&&this.tokens[n+2]?.[0]===":")return!0;if(this.tokens[n+1]?.[0]===":")return!0;if(ti(this.tokens[n]))for(let f=n+1;f<this.tokens.length;f+=2){if(!Ni(this.tokens[f],this.tokens[f+1]))break;if(!ti(this.tokens[f+1]))break;if(this.tokens[f+2]?.[0]===":")return!0}if(jn.has(this.tokens[n]?.[0])){let f=null;if(this.detectEnd(n+1,(e)=>Cn.has(e[0]),(e,t)=>f=t),f&&this.tokens[f+1]?.[0]===":")return!0}return!1}findTagsBackwards(n,f){let e=new Set(f),t=[];while(n>=0){let i=this.tokens[n]?.[0];if(!t.length&&e.has(i))return!0;if(Cn.has(i))t.push(i);if(jn.has(i)&&t.length)t.pop();if(!t.length&&(jn.has(i)&&!this.tokens[n]?.generated||si.has(i)))break;n--}return!1}makeIndentation(n){let f=In("INDENT",2),e=In("OUTDENT",2);if(n)f.generated=e.generated=!0,f.origin=e.origin=n;else f.explicit=e.explicit=!0;return[f,e]}}tf(vn);Yi(vn);var Dt=["abort","animationcancel","animationend","animationiteration","animationstart","auxclick","beforeinput","beforematch","beforetoggle","blur","cancel","canplay","canplaythrough","change","click","close","compositionend","compositionstart","compositionupdate","contextlost","contextmenu","contextrestored","copy","cuechange","cut","dblclick","drag","dragend","dragenter","dragleave","dragover","dragstart","drop","durationchange","emptied","ended","error","focus","focusin","focusout","formdata","fullscreenchange","fullscreenerror","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadeddata","loadedmetadata","loadstart","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","paste","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointermove","pointerout","pointerover","pointerrawupdate","pointerup","progress","ratechange","reset","resize","scroll","scrollend","securitypolicyviolation","seeked","seeking","select","selectionchange","selectstart","slotchange","stalled","submit","suspend","timeupdate","toggle","touchcancel","touchend","touchmove","touchstart","transitioncancel","transitionend","transitionrun","transitionstart","volumechange","waiting","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend","wheel"],Df=new Set(Dt);var Rt=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","menu","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","script","search","section","select","slot","small","source","span","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"];var Mt=["animate","animateMotion","animateTransform","circle","clipPath","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","foreignObject","g","image","line","linearGradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialGradient","rect","set","stop","svg","switch","symbol","text","textPath","tspan","use","view"],Ut=["math","param","portal"],Rf=new Set([...Rt,...Ut]),Ln=new Set(Mt),ai=new Set([...Rf,...Ln]);var Mf="__bind_",Uf="__",hl=new Set(["beforeMount","mounted","beforeUnmount","unmounted","onError"]),qf="{ status?: number; message?: string; error?: Error; path?: string }",qt=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert"]),sl="http://www.w3.org/2000/svg";function St(n){for(let f of n){if(!Array.isArray(f))continue;let e=f[1]instanceof String?f[1].valueOf():f[1],t=f[2]instanceof String?f[2].valueOf():f[2];if(e==="type"&&typeof t==="string")return t.replace(/^["']|["']$/g,"")}return null}function pn(n){if(typeof n==="string"||n instanceof String)return n.valueOf();if(Array.isArray(n)&&n[0]==="."&&n[1]==="this"&&(typeof n[2]==="string"||n[2]instanceof String))return n[2].valueOf();return null}function ol(n){return Array.isArray(n)&&n[0]==="."&&n[1]==="this"}function qi(n){if(n instanceof String&&n.type)return n.type;if(Array.isArray(n)&&n[2]instanceof String&&n[2].type)return n[2].type;return null}function Oi(n){if(n instanceof String&&n.optional)return!0;if(Array.isArray(n)&&n[2]instanceof String&&n[2].optional)return!0;return!1}function Sf(n){let f=[];while(Array.isArray(n)&&n[0]==="."){let e=n[2];if(!(typeof e==="string"||e instanceof String))return null;f.unshift(e.valueOf()),n=n[1]}if(typeof n==="string"||n instanceof String)f.unshift(n.valueOf());else return null;return f}function Et(n){let f,e=n;if(Array.isArray(n)&&Array.isArray(n[0])&&n[0][0]==="."){if(n.length!==2)return{error:"a keyed gate takes exactly one key argument"};e=n[0],f=n[1]}let t=Sf(e);if(!t)return{error:"'<~' requires a literal @app.data.… path on the right-hand side"};if(t[0]==="this")t.shift();if(t[0]!=="app"||t[1]!=="data"||t.length<3)return{error:"'<~' requires a literal @app.data.… path on the right-hand side"};return{path:t.slice(2).join("."),keyExpr:f}}function dt(n){let f={error:"a keyed gate key may only reference params or query (e.g. params.id)"},e=typeof n==="string"||n instanceof String?n.valueOf():null;if(e!=null){if(/^-?[\d.]/.test(e)||e.startsWith('"')||e.startsWith("'"))return{code:e,stubCode:e};return f}let t=Sf(n);if(!t)return f;if(t[0]==="this")t.shift();if(t[0]!=="params"&&t[0]!=="query"||t.length<2)return f;let i=t.join(".");return{code:i,stubCode:`this.${i}`}}function Ef(n,f){let e=(r,h)=>r instanceof String?r[h]:void 0,t=f.prototype.classifyKeyword;f.prototype.classifyKeyword=function(r,h,o){if(r==="offer"||r==="accept"){let s=0;for(let w=this.tokens.length-1;w>=0;w--){let _=this.tokens[w][0];if(_==="OUTDENT")s++;else if(_==="INDENT")s--;if(s<0&&this.tokens[w-1]?.[0]==="COMPONENT")return r.toUpperCase()}return h}return t.call(this,r,h,o)},f.prototype.rewriteRender=function(){let r=(m,D,M)=>{let q=[m,D];if(q.pre=0,q.data=null,q.loc=M?.loc??{r:0,c:0,n:0},q.spaced=!1,q.newLine=!1,q.generated=!0,M)q.origin=M;return q},h=!1,o=0,s=0,w=[],_=(m)=>{let D=m.split("#")[0];return ai.has(D)},A=(m)=>{if(!m||typeof m!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(m)},y=(m)=>{return _(m)||A(m)},R=(m,D,M,q)=>{let S=1,d=D;while(d>=0&&S>0){let K=m[d][0];if(K===M)S++;else if(K===q)S--;if(S>0)d--}return d},U=(m,D)=>{let M=D;while(M>0&&m[M][0]==="OUTDENT")M=R(m,M-1,"OUTDENT","INDENT");while(M>0){let q=m[M-1][0];if(q==="TERMINATOR"||q==="RENDER")break;if(q==="OUTDENT"){M=R(m,M-2,"OUTDENT","INDENT");continue}if(q==="INDENT"){let S=m[M][0];if(S==="CALL_END"||S===")"){M=R(m,M-1,S,S==="CALL_END"?"CALL_START":"(");continue}break}if(q==="CALL_END"||q===")"){M=R(m,M-2,q,q==="CALL_END"?"CALL_START":"(");continue}if(q==="INTERPOLATION_END"){M=R(m,M-2,"INTERPOLATION_END","INTERPOLATION_START");continue}if(q==="STRING_END"){M=R(m,M-2,"STRING_END","STRING_START");continue}M--}return m[M]&&m[M][0]==="IDENTIFIER"&&(y(m[M][1])||(M===0||m[M-1][0]==="INDENT"||m[M-1][0]==="TERMINATOR"||m[M-1][0]==="RENDER"))};this.scanTokens(function(m,D,M){let q=m[0],S=D<M.length-1?M[D+1]:null;if(q==="RENDER")return h=!0,o=s+1,1;if(q==="INDENT")return s++,1;if(q==="OUTDENT"){s--;let d=0;while(w.length>0&&w[w.length-1]>s){let K=r("CALL_END",")",m);M.splice(D+1+d,0,K),w.pop(),d++}if(h&&s<o)h=!1;return 1+d}if(!h)return 1;if(q==="="&&D>0){let d=M[D-1][0];if(d==="TERMINATOR"||d==="INDENT"||d==="RENDER"){let K=r("IDENTIFIER","__text__",m),E=r("CALL_START","(",m);return M.splice(D,1,K,E),this.detectEnd(D+2,(Z)=>Z[0]==="TERMINATOR"||Z[0]==="OUTDENT",(Z,Q)=>M.splice(Q,0,r("CALL_END",")",Z)),{returnOnNegativeLevel:!0}),2}}if(q==="UNARY_MATH"&&m[1]==="~"&&S&&S[0]==="IDENTIFIER"){m[0]="PROPERTY",m[1]="__transition__";let d=r(":",":",m),K=r("STRING",`"${S[1]}"`,S);return M.splice(D+1,1,d,K),1}if(q==="PROPERTY"&&m[1][0]==="$"&&m[1].length>1)return m[0]="STRING",m[1]=`"data-${m[1].slice(1)}"`,1;if(q==="IDENTIFIER"&&!m.spaced){let d=[m[1]],K=D+1;while(K+1<M.length){let E=M[K],Z=M[K+1];if(E[0]==="-"&&!E.spaced&&(Z[0]==="IDENTIFIER"||Z[0]==="PROPERTY")){if(d.push(Z[1]),K+=2,Z[0]==="PROPERTY")break}else break}if(d.length>1&&K>D+1&&M[K-1][0]==="PROPERTY"){let E=d.join("-");if(E[0]==="$")E="data-"+E.slice(1);return m[0]="STRING",m[1]=`"${E}"`,M.splice(D+1,K-D-1),1}}if(q==="."){let d=D>0?M[D-1]:null,K=d?d[0]:null;if(K==="INDENT"||K==="TERMINATOR"){if(S&&S[0]==="PROPERTY"){let E=D+2<M.length?M[D+2]:null;if(!E||E[0]!==":"){let Z=r("IDENTIFIER","div",m);return M.splice(D,0,Z),2}}if(!S||S[0]!=="(")return m[0]="IDENTIFIER",m[1]="div",0}}if(q==="IDENTIFIER"||q==="PROPERTY"){let d=M[D+1],K=M[D+2];if(d&&d[0]==="#"&&K&&(K[0]==="PROPERTY"||K[0]==="IDENTIFIER")){if(m[1]=m[1]+"#"+K[1],K.spaced)m.spaced=!0;return M.splice(D+1,2),0}}if(q==="BIND"){let d=D>0?M[D-1]:null,K=M[D+1];if(d&&(d[0]==="IDENTIFIER"||d[0]==="PROPERTY")&&K&&K[0]==="IDENTIFIER")return d[1]=`__bind_${d[1]}__`,m[0]=":",m[1]=":",1}if(q==="@"){let d=D+1;if(d<M.length&&M[d][0]==="PROPERTY"){d++;while(d+1<M.length&&M[d][0]==="."&&M[d+1][0]==="PROPERTY")d+=2;if(d>D+2&&d<M.length&&M[d][0]===":"){let K=r("[","[",m);M.splice(D,0,K);let E=r("]","]",M[d+1]);return M.splice(d+1,0,E),2}}}if(q==="."&&S&&S[0]==="("){let d=D>0?M[D-1]:null,K=d?d[0]:null,E=K==="INDENT"||K==="TERMINATOR",Z=r("PROPERTY","__clsx",m);S[0]="CALL_START";let Q=1;for(let W=D+2;W<M.length&&Q>0;W++)if(M[W][0]==="("||M[W][0]==="CALL_START")Q++;else if(M[W][0]===")"){if(Q--,Q===0)M[W][0]="CALL_END"}else if(M[W][0]==="CALL_END")Q--;if(E){let W=r("IDENTIFIER","div",m);return M.splice(D,0,W),M.splice(D+2,0,Z),3}else if(K===":")return M[D]=r("IDENTIFIER","__clsx",m),1;else return M.splice(D+1,0,Z),2}if(S&&S[0]==="INDENT"){if(S.fromThen)return 1;if(q==="->"||q==="=>"||q==="CALL_START"||q==="(")return 1;let d=!1,K=D>0?M[D-1][0]:null,E=K==="IF"||K==="UNLESS"||K==="WHILE"||K==="UNTIL"||K==="WHEN"||K==="FORIN"||K==="FOROF"||K==="FORAS"||K==="FORASAWAIT"||K==="BY",Z=!1;if(q==="CALL_END"){let W=1;for(let C=D-1;C>=0&&W>0;C--)if(M[C][0]==="CALL_END")W++;else if(M[C][0]==="CALL_START"){if(W--,W===0&&C>0&&M[C-1][0]==="PROPERTY"&&M[C-1][1]==="__clsx")Z=!0}}let Q=q==="IDENTIFIER"&&(K==="INDENT"||K==="TERMINATOR"||K==="RENDER");if(Z)d=!0;else if(q==="IDENTIFIER"&&y(m[1])&&!E)d=!0;else if(q==="IDENTIFIER"&&!E)d=Q||U(M,D);else if(q==="PROPERTY"||q==="STRING"||q==="STRING_END"||q==="NUMBER"||q==="BOOL"||q==="CALL_END"||q===")"||q==="]"||q==="INDEX_END"||q==="}"||q==="MAP_END"||q==="PRESENCE")d=U(M,D);if(d){let W=!1;if(q==="PROPERTY"&&D>0&&M[D-1][0]==="."){let L=D;while(L>=2&&M[L-1][0]==="."&&M[L-2][0]==="PROPERTY")L-=2;if(L>=2&&M[L-1][0]==="."&&M[L-2][0]==="IDENTIFIER"&&y(M[L-2][1])){let b=L>=3?M[L-3][0]:null;if(!b||b==="INDENT"||b==="OUTDENT"||b==="TERMINATOR"||b==="RENDER")W=!0}}if(Z||q==="IDENTIFIER"&&(y(m[1])||Q)||W){let L=r("CALL_START","(",m),b=r("->","->",m);return b.newLine=!0,M.splice(D+1,0,L,b),w.push(s+1),3}else{let L=r(",",",",m),b=r("->","->",m);return b.newLine=!0,M.splice(D+1,0,L,b),3}}}if(q==="IDENTIFIER"&&A(m[1])&&S&&(S[0]==="OUTDENT"||S[0]==="TERMINATOR"))return M.splice(D+1,0,r("CALL_START","(",m),r("CALL_END",")",m)),3;return 1})};let i=n.prototype;i.isHtmlTag=function(r){let h=r.split("#")[0];return ai.has(h.toLowerCase())},i.isComponent=function(r){if(!r||typeof r!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(r)},i.collectTemplateClasses=function(r){let h=[],o=r;while(this.is(o,".")){let A=o[2];if(typeof A==="string"||A instanceof String)h.unshift(A.valueOf());o=o[1]}let s=typeof o==="string"?o:o instanceof String?o.valueOf():null;if(s===null)return{tag:null,classes:h,id:void 0,base:o};let[w,_]=s.split("#");if(!w)w="div";return{tag:w,classes:h,id:_,base:o}};let u=(r)=>typeof r==="string"?r:r instanceof String?r.valueOf():null,l=(r,h)=>{if(!(r instanceof String))return h;let o=new String(h);if(r.optional)o.optional=!0;if(r.bang)o.bang=!0;return o.optional||o.bang?o:h};i.addBodyRipSrcMarkers=function(r,h){if(typeof r!=="string"||!r)return r;let o=Array.isArray(h)&&h[0]==="block"?h.slice(1):Array.isArray(h)?[h]:[];if(o.length===0)return r;let s=(y)=>{if(y==null)return null;if(!Array.isArray(y))return y?.loc?.r??null;if(y.loc?.r)return y.loc.r;if(y[0]?.loc?.r)return y[0].loc.r;for(let R of y){if(R?.loc?.r)return R.loc.r;if(Array.isArray(R)){let U=s(R);if(U!=null)return U}}return null},w=o.map(s);if(w.every((y)=>y==null))return r;let _=r.split(`
1882
- `),A=0;for(let y=0;y<_.length&&A<w.length;y++){let R=_[y].trim();if(!R)continue;if(R==="{"||R==="}"||R.startsWith("//"))continue;if(_[y].includes("@rip-src:")){A++;continue}if(w[A]!=null)_[y]=`${_[y]} // @rip-src:${w[A]}`;A++}return _.join(`
1883
- `)},i.transformComponentMembers=function(r,h=new Set){let o=this._self;if(!Array.isArray(r)){let s=u(r);if(s&&h.has(s))return r;if(s&&this.reactiveMembers&&this.reactiveMembers.has(s))return[".",[".",o,s],l(r,"value")];if(s&&this.componentMembers&&this.componentMembers.has(s))return[".",o,l(r,s)];return r}if(r[0]==="."&&r[1]==="this"&&u(r[2])!=null){let s=r[2],w=u(s);if(this.reactiveMembers&&this.reactiveMembers.has(w))return[".",[".",o,w],l(s,"value")];return this._factoryMode?[".",o,s]:r}if(r[0]==="."||r[0]==="?.")return[r[0],this.transformComponentMembers(r[1]),r[2]];if(r[0]==="->"){let s=r[1],w=new Set(h);if(Array.isArray(s))for(let _ of s){let A=u(Array.isArray(_)&&_[0]==="default"?_[1]:_);if(A)w.add(A)}return["=>",r[1],this.transformComponentMembers(r[2],w)]}if(r[0]==="object"||r[0]==="map-literal")return[r[0],...r.slice(1).map((s)=>{if(Array.isArray(s)&&s[0]==="...")return["...",this.transformComponentMembers(s[1],h)];if(Array.isArray(s)&&s.length>=2){let w=s[1],_=Array.isArray(w)?this.transformComponentMembers(w,h):w,A=this.transformComponentMembers(s[2],h);return[s[0],_,A]}return this.transformComponentMembers(s,h)})];if(r[0]==="block"||r[0]==="program"){let s=new Set(h),w=[r[0]];for(let _=1;_<r.length;_++){let A=r[_];if(Array.isArray(A)&&A[0]==="="){let y=u(A[1]);if(y&&!(this.reactiveMembers&&this.reactiveMembers.has(y))){w.push(["=",A[1],this.transformComponentMembers(A[2],s)]),s.add(y);continue}}w.push(this.transformComponentMembers(A,s))}return w}return r.map((s)=>this.transformComponentMembers(s,h))},i.emitComponent=function(r,h,o,s){let[,w]=h,_=this.is(w,"block")?w.slice(1):[],A=[],y=[],R=[],U=[],m=[],D=[],M=[],q=[],S=[],d=null,K=new Set,E=new Set;for(let G of _){if(!Array.isArray(G))continue;let[O]=G;if(O==="offer"){if(G=G[1],!Array.isArray(G))continue;O=G[0];let J=pn(G[1]);if(J)q.push(J)}if(O==="accept"){let J=typeof G[1]==="string"?G[1]:pn(G[1]);if(J)S.push(J),K.add(J),E.add(J)}else if(O==="."&&G[1]==="this"&&pn(G)){let J=typeof G[2]==="string"||G[2]instanceof String?G[2].valueOf():null;if(J){let P=Oi(G);A.push({name:J,value:void 0,isPublic:!0,type:G[2]?.type||null,required:!P,optional:P,srcLine:G.loc?.r}),K.add(J),E.add(J)}}else if(O==="state"){let J=pn(G[1]);if(J)A.push({name:J,value:G[2],isPublic:ol(G[1]),type:qi(G[1]),optional:Oi(G[1]),srcLine:G.loc?.r}),K.add(J),E.add(J)}else if(O==="computed"){let J=pn(G[1]);if(J)y.push({name:J,expr:G[2],type:qi(G[1]),srcLine:G.loc?.r}),K.add(J),E.add(J)}else if(O==="gate"){let J=pn(G[1]);if(J){let P=Et(G[2]);if(P.error)this.error(P.error,G);let F=null;if(P.keyExpr!==void 0){if(F=dt(P.keyExpr),F.error)this.error(F.error,G)}R.push({name:J,path:P.path,key:F,type:qi(G[1]),srcLine:G.loc?.r}),K.add(J),E.add(J)}}else if(O==="readonly"){let J=pn(G[1]);if(J)U.push({name:J,value:G[2],isPublic:ol(G[1]),type:qi(G[1]),optional:Oi(G[1]),srcLine:G.loc?.r}),K.add(J)}else if(O==="="){let J=pn(G[1]);if(J)if(hl.has(J))D.push({name:J,value:G[2]});else{let P=G[2];if(Array.isArray(P)&&(P[0]==="->"||P[0]==="=>"))m.push({name:J,func:P}),K.add(J);else A.push({name:J,value:P,isPublic:ol(G[1]),type:qi(G[1]),optional:Oi(G[1]),srcLine:G.loc?.r}),K.add(J),E.add(J)}}else if(O==="effect")M.push(G);else if(O==="render")d=G;else if(O==="object")for(let J=1;J<G.length;J++){let P=G[J];if(!Array.isArray(P))continue;let[,F,N]=P;if(typeof F==="string"&&hl.has(F))D.push({name:F,value:N});else if(typeof F==="string")m.push({name:F,func:N}),K.add(F)}}if(R.length>0){if(!this._gateDecls)this._gateDecls=[];for(let{path:G,key:O,srcLine:J}of R)this._gateDecls.push({path:G,keyed:!!O,line:(J??0)+1})}let Z=new Map;for(let{name:G}of m)if(/^on[A-Z]/.test(G)&&!hl.has(G)){let O=G[2].toLowerCase()+G.slice(3);if(Df.has(O))Z.set(O,G)}let Q=h[0]?.valueOf?.()??null,W=new Set;for(let{name:G,isPublic:O}of A)if(O)W.add(G);for(let{name:G,isPublic:O}of U)if(O)W.add(G);if(Q)K.add("rest"),E.add("rest");let C=this.componentMembers,L=this.reactiveMembers,b=this._autoEventHandlers,fn=this._inheritsTag;if(this.componentMembers=K,this.reactiveMembers=E,this._autoEventHandlers=Z.size>0?Z:null,this._inheritsTag=Q||null,this.options.stubComponents){let G=(X)=>X?X.replace(/::/g,":"):null,O=[],J=this._componentTypeParams||"";O.push(`class ${J}{`),O.push(" declare _root: Element | null; declare app: any; declare router: any; declare params: Record<string, string>; declare query: Record<string, string>; declare children: any;");let P=new Set(D.map((X)=>X.name)),F=[];if(!P.has("beforeMount"))F.push("beforeMount?(): void;");if(!P.has("mounted"))F.push("mounted?(): void;");if(!P.has("beforeUnmount"))F.push("beforeUnmount?(): void;");if(!P.has("unmounted"))F.push("unmounted?(): void;");if(!P.has("onError"))F.push(`onError?(err: ${qf}): void;`);if(F.length)O.push(" "+F.join(" "));O.push(" emit(_name: string, _detail?: any): void {}");let N=[],un=[];for(let{name:X,type:p,isPublic:v,required:ln,optional:rn}of A){if(!v)continue;let en=G(p)||"any";if(rn??!ln)N.push(`${X}?: ${en}`),N.push(`__bind_${X}__?: Signal<${en}>`);else un.push(`({ ${X}: ${en}; __bind_${X}__?: Signal<${en}> } | { ${X}?: ${en}; __bind_${X}__: Signal<${en}> })`)}for(let{name:X,type:p,isPublic:v}of U){if(!v)continue;let ln=G(p)||"any";N.push(`${X}?: ${ln}`)}{let X=un.length>0?"":"?",p=[];if(N.length)p.push(`{${N.join("; ")}}`);p.push(...un);let v=p.length?p.join(" & "):"{}";if(Q)v+=` & __RipProps<'${Q}'>`;O.push(` constructor(_props${X}: ${v}) {}`)}let $=(X)=>{let p=X?.valueOf?.()??X;if(typeof p!=="string")return null;if(p==="true"||p==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(p))return"number";if(p.startsWith('"')||p.startsWith("'"))return"string";return null},tn=(X)=>{if(!Array.isArray(X)){if(typeof X==="string"||X instanceof String){let v=X.valueOf();return v==="this"||E.has(v)}return!1}let p=X[0]?.valueOf?.()??X[0];if(p==="->"||p==="=>")return!1;return X.some(tn)},cn=[];for(let{name:X,type:p,value:v,isPublic:ln,optional:rn,srcLine:en}of A){let sn=G(p)||$(v),wn=v===void 0||(v?.valueOf?.()??v)==="undefined",Rn=sn?rn&&wn?`${sn} | undefined`:sn:null,An=en!=null?` // @rip-src:${en}`:"";if(!Rn&&!ln&&!wn&&!tn(v))cn.push({name:X,value:v,marker:An});else O.push((Rn?` declare ${X}: Signal<${Rn}>;`:` declare ${X}: Signal<any>;`)+An)}if(Q)O.push(` declare rest: Signal<__RipProps<'${Q}'>>;`);for(let{name:X,type:p,value:v}of U){let ln=G(p)||$(v);O.push(ln?` declare ${X}: ${ln};`:` declare ${X}: any;`)}for(let{name:X,path:p,key:v,type:ln,srcLine:rn}of R){let en=G(ln),sn=en?`: Computed<${en}>`:"",wn=v?`this.app.data.${p}(${v.stubCode})`:`this.app.data.${p}`,_n=rn!=null?` // @rip-src:${rn}`:"";O.push(` ${X}${sn} = __computed(() => __ripGate(${wn}));`+_n)}for(let{name:X,expr:p,type:v}of y){let ln=G(v),rn=ln?`: Computed<${ln}>`:"";if(this.is(p,"block")){let en=this.transformComponentMembers(p),sn=this.emitFunctionBody(en);O.push(` ${X}${rn} = __computed(() => ${sn});`)}else{let en=this.emitInComponent(p,"value");O.push(` ${X}${rn} = __computed(() => ${en});`)}}for(let{name:X,value:p,marker:v}of cn){let ln=this.emitInComponent(p,"value");O.push(` ${X} = __state(${ln});`+v)}O.push(" _init(props) {");for(let{name:X,value:p,isPublic:v,srcLine:ln}of U){let rn=this.emitInComponent(p,"value"),en=ln!=null?` // @rip-src:${ln}`:"";O.push((v?` this.${X} = props.${X} ?? ${rn};`:` this.${X} = ${rn};`)+en)}for(let{name:X,value:p,isPublic:v,required:ln,type:rn,srcLine:en}of A){if(cn.some((wn)=>wn.name===X))continue;let sn=en!=null?` // @rip-src:${en}`:"";if(v&&(ln||p===void 0))O.push(` this.${X} = __state(props.__bind_${X}__ ?? props.${X});`+sn);else if(v){let wn=this.emitInComponent(p,"value");O.push(` this.${X} = __state(props.__bind_${X}__ ?? props.${X} ?? ${wn});`+sn)}else{let wn=this.emitInComponent(p,"value");O.push(` this.${X} = __state(${wn});`+sn)}}for(let X of M){let p=X[2],v=this.containsAwait(p)?"async ":"";if(this.is(p,"block")){let ln=this.transformComponentMembers(p),rn=this.emitFunctionBody(ln);O.push(` __effect(${v}() => ${rn});`)}else{let ln=this.emitInComponent(p,"value");O.push(` __effect(${v}() => { return ${ln}; });`)}}O.push(" }");let on=new Map;for(let[X,p]of Z)on.set(p,X);if(d){let X=(p)=>{if(!Array.isArray(p))return;let v=p[0]?.valueOf?.()??p[0];if(typeof v==="string"&&v!=="object"&&v!=="switch"&&ai.has(v.split(/[.#]/)[0]))for(let ln=1;ln<p.length;ln++){let rn=p[ln],en=this.is(rn,"object")?rn:null;if(!en&&Array.isArray(rn)&&(rn[0]==="->"||rn[0]==="=>")&&this.is(rn[2],"block")){for(let sn=1;sn<rn[2].length;sn++)if(this.is(rn[2][sn],"object")){en=rn[2][sn];break}}if(!en)continue;for(let sn=1;sn<en.length;sn++){let wn=en[sn];if(!Array.isArray(wn)||wn.length<2)continue;let[,_n,Rn]=wn;if(Array.isArray(_n)&&_n[0]==="."&&_n[1]==="this"&&Array.isArray(Rn)&&Rn[0]==="."&&Rn[1]==="this"){let An=typeof _n[2]==="string"?_n[2]:_n[2]?.valueOf?.(),B=typeof Rn[2]==="string"?Rn[2]:Rn[2]?.valueOf?.();if(An&&B&&!on.has(B))on.set(B,An)}}}for(let ln=1;ln<p.length;ln++)X(p[ln])};X(d)}for(let{name:X,func:p}of m)if(Array.isArray(p)&&(p[0]==="->"||p[0]==="=>")){let[,v,ln]=p;if((!v||Array.isArray(v)&&v.length===0)&&this.containsIt(ln))v=["it"];let rn=Array.isArray(v)?v.map((Rn)=>this.formatParam(Rn)).join(", "):"",en=on.get(X);if(en&&Array.isArray(v)&&v.length>0){let Rn=v[0];if(!(Rn?.type||Rn instanceof String&&Rn.type)&&typeof(Rn?.valueOf?.()??Rn)==="string"){let B=Rn?.valueOf?.()??Rn;rn=rn.replace(B,`${B}: HTMLElementEventMap['${en}']`)}}let sn=this.reactiveMembers?this.transformComponentMembers(ln):ln,wn=this.containsAwait(ln),_n=this.emitFunctionBody(sn,v||[]);_n=this.addBodyRipSrcMarkers(_n,ln),O.push(` ${wn?"async ":""}${X}(${rn}) ${_n}`)}for(let{name:X,value:p}of D)if(Array.isArray(p)&&(p[0]==="->"||p[0]==="=>")){let[,v,ln]=p,rn=Array.isArray(v)?v.map((_n)=>this.formatParam(_n)).join(", "):"";if(X==="onError"&&Array.isArray(v)&&v.length===1){let _n=v[0];if((typeof _n==="string"||_n instanceof String)&&!e(_n,"type"))rn=`${_n.valueOf()}: ${qf}`}let en=this.reactiveMembers?this.transformComponentMembers(ln):ln,sn=this.containsAwait(ln),wn=this.emitFunctionBody(en,v||[]);wn=this.addBodyRipSrcMarkers(wn,ln),O.push(` ${sn?"async ":""}${X}(${rn}) ${wn}`)}if(d){let X=[],p=0,v=this.options.source?.split(`
1884
- `),ln=(B)=>typeof B==="string"&&/^["'`]\//.test(B)?`__ripRoute(${B})`:B,rn=/^[a-zA-Z_$][\w$]*$/,en=(B)=>typeof B==="string"&&rn.test(B)&&!/^(?:true|false|null|undefined)$/.test(B)&&!n.GENERATORS[B]&&!this._isInScopeValue(B),sn=(B,nn)=>{if(nn==null||!v)return nn;let zn=new RegExp(`(?<![\\w$.#@])${B}(?![\\w$])`);for(let Mn=nn;Mn<v.length;Mn++)if(v[Mn]&&zn.test(v[Mn]))return Mn;return nn},wn=(B,nn,zn)=>{let Mn=sn(B,nn);if(Mn!=null&&Mn===zn)return;X.push(` ({ ${B}: true });`+(Mn!=null?` // @rip-src:${Mn}`:""))},_n=(B,nn)=>{let zn=[],Mn=[];for(let I of B){let T=null;if(this.is(I,"object"))T=I;else if(Array.isArray(I)&&(I[0]==="->"||I[0]==="=>")&&this.is(I[2],"block")){let x=I[2].loc?.r??nn;for(let k=1;k<I[2].length;k++){let an=I[2][k];if(this.is(an,"object")){if(!T)T=an}else if(en(an))wn(an,x,nn)}}else if(en(I)){wn(I,nn,nn);continue}if(T)for(let x=1;x<T.length;x++){let k=T[x],[,an,V]=k,hn=k.loc?.r??T.loc?.r;if(Array.isArray(an)&&an[0]==="."&&an[1]==="this"){try{let yn=this.emitInComponent(V,"value");Mn.push({code:yn,srcLine:hn})}catch{}continue}if(typeof an==="string"&&an.startsWith("@")){try{let yn=this.emitInComponent(V,"value");Mn.push({code:yn,srcLine:hn})}catch{}continue}if(typeof an==="string")if(an.startsWith("__bind_")&&an.endsWith("__")){let yn=typeof V==="string"&&this.reactiveMembers?.has(V)?`this.${V}`:this.emitInComponent(V,"value");zn.push({code:`${an}: ${yn}`,srcLine:hn})}else{let yn=this.emitInComponent(V,"value"),mn=an==="href"?ln(yn):yn;zn.push({code:`${an}: ${mn}`,srcLine:hn})}}}return zn.sideExprs=Mn,zn},Rn=(B,nn,zn)=>{let Mn=[],I=(T)=>{if(nn!=="a")return T;if(typeof T!=="string")return T;if(T.length<2)return T;if(T[0]!=="`")return T;if(T[1]!=="/")return T;return`__ripRoute(${T})`};for(let T of B){let x=null;if(this.is(T,"object"))x=T;else if(Array.isArray(T)&&(T[0]==="->"||T[0]==="=>")&&this.is(T[2],"block")){let k=T[2].loc?.r??zn;for(let an=1;an<T[2].length;an++){let V=T[2][an];if(this.is(V,"object")){if(!x)x=V}else if(en(V))wn(V,k,zn)}}else if(en(T)){wn(T,zn,zn);continue}if(x)for(let k=1;k<x.length;k++){let an=x[k];if(!Array.isArray(an)||an.length<2)continue;let[,V,hn]=an,yn=an.loc?.r??x.loc?.r;if(Array.isArray(V)&&V[0]==="."&&V[1]==="this"){let mn=typeof V[2]==="string"?V[2]:V[2]?.valueOf?.();if(!mn)continue;let En=mn.split(".")[0],Jn=this.emitInComponent(hn,"value");if(Array.isArray(hn)&&(hn[0]==="->"||hn[0]==="=>")){let Gn=hn[1]?.[0],Yn=typeof Gn==="string"?Gn:Gn?.valueOf?.();if(Yn&&!(Gn&&Gn.type)&&/^[A-Za-z_$][\w$]*$/.test(Yn)){let Bn=`RipEvent<HTMLElementEventMap['${En}'], __RipElementMap['${nn}']>`;Jn=Jn[0]==="("?Jn.replace(new RegExp("^\\(\\s*"+Yn+"\\b"),`(${Yn}: ${Bn}`):Jn.replace(new RegExp("^"+Yn+"\\b"),`(${Yn}: ${Bn})`)}}Mn.push({code:`'@${En}': ${Jn}`,srcLine:yn})}else if(typeof V==="string"){if(V==="key"){let mn=this.emitInComponent(hn,"value"),En=yn!=null?` // @rip-src:${yn}`:"";X.push(` (${mn});${En}`);continue}if(V.startsWith("__bind_")&&V.endsWith("__")){let mn=V.slice(7,-2),En=this.emitInComponent(hn,"value");Mn.push({code:`${mn}: ${En}`,srcLine:yn})}else{let mn=this.emitInComponent(hn,"value"),En=V==="href"?I(mn):mn;Mn.push({code:`${V}: ${En}`,srcLine:yn})}}}}return Mn},An=(B)=>{if(!Array.isArray(B))return;let nn=B[0]?.valueOf?.()??B[0];if(Array.isArray(nn)&&nn[0]==="."){let I=[],T=(x)=>{if(typeof x==="string")return I.push(x),!0;if(Array.isArray(x)&&x[0]==="."&&I.length===0){if(!T(x[1]))return!1;if(typeof x[2]!=="string"||!/^[\w-]+$/.test(x[2]))return!1;return I.push(".",x[2]),!0}return!1};if(T(nn)&&I.length>=3&&/^[a-z][\w-]*$/.test(I[0])){let x=I.join(""),k=[x];for(let V=1;V<B.length;V++)k.push(B[V]);if(B.loc)k.loc=B.loc;k._astNode=B;let an=(V)=>{if(Array.isArray(V)&&V[0]==="."){if(V.loc)delete V.loc;an(V[1])}};an(nn),B=k,nn=x}}if(nn==="object")return;if(nn==="if"||nn==="unless"){let I=B[1];if(I!=null){let T=this.emitInComponent(I,"value"),x=B.loc?.r,k=x!=null?` // @rip-src:${x}`:"",an=nn==="unless"?`!(${T})`:T;if(X.push(` if (${an}) {${k}`),B[2]!=null)An(B[2]);let V=B.slice(3).filter((hn)=>hn!=null);if(V.length){X.push(" } else {");for(let hn of V)An(hn)}X.push(" }");return}}else if(nn==="?:"){let I=this.emitInComponent(B,"value"),T=B.loc?.r,x=T!=null?` // @rip-src:${T}`:"";X.push(` ${I};${x}`);return}else if(nn==="switch"){let I=B[1];if(I!=null){let T=this.emitInComponent(I,"value"),x=B.loc?.r,k=x!=null?` // @rip-src:${x}`:"";X.push(` ${T};${k}`)}}else if(nn==="for-in"||nn==="for-of"||nn==="for-as"){let I=B[1],T=B[2];if(T!=null){let x=this.emitInComponent(T,"value"),k=B.loc?.r,an=k!=null?` // @rip-src:${k}`:"",V;if(Array.isArray(I))if(I.length===1){let mn=I[0];V=Array.isArray(mn)?this.emitDestructuringPattern(mn):String(mn)}else if(nn==="for-of")V=`[${I.map((mn)=>String(mn)).join(", ")}]`;else V=String(I[0]);else V=String(I);if(nn==="for-of")X.push(` for (const ${V} of Object.entries(${x})) {${an}`);else X.push(` for (const ${V} of ${x}) {${an}`);let hn=(mn)=>typeof mn==="string"||mn instanceof String?String(mn):null,yn=Array.isArray(I)?{itemVar:hn(I[0]),indexVar:hn(I[1])}:{itemVar:hn(I),indexVar:null};(this._loopVarStack||(this._loopVarStack=[])).push(yn);for(let mn=3;mn<B.length;mn++)if(B[mn]!=null)An(B[mn]);this._loopVarStack.pop(),X.push(" }");return}}else if(nn==="__text__"){let I=B[1];if(I!=null){let T=this.emitInComponent(I,"value"),x=B.loc?.r,k=x!=null?` // @rip-src:${x}`:"";X.push(` ${T};${k}`)}return}else if(nn==="str"){try{let I=this.emitInComponent(B,"value"),T=B.loc?.r,x=T!=null?` // @rip-src:${T}`:"";X.push(` ${I};${x}`)}catch{}return}else if(nn==="."||nn==="?."){let I=B;while(Array.isArray(I)&&(I[0]==="."||I[0]==="?."))I=I[1];let T=typeof I==="string"?I:I?.valueOf?.();if(typeof T==="string"&&!this.isHtmlTag(T)&&!n.GENERATORS[T])try{let x=this.emitInComponent(B,"value"),k=B.loc?.r,an=k!=null?` // @rip-src:${k}`:"";X.push(` ${x};${an}`)}catch{}return}let zn=(I,T,x)=>{if(typeof I!=="string"||!/^[a-z][\w-]*$/.test(I))return;if(n.GENERATORS[I])return;if(I==="null"||I==="undefined"||I==="true"||I==="false")return;let k=T.loc?.r,an=null;if(k!=null&&v){let hn=new RegExp(`\\b${I}\\b`,"g");for(let yn=k;yn<v.length;yn++){let mn=v[yn];if(!mn)continue;let En=yn===T.loc.r?T.loc.c+1:0;hn.lastIndex=En;let Jn,Gn=-1;while((Jn=hn.exec(mn))!==null){let Yn=Jn.index>0?mn[Jn.index-1]:"";if(Yn==="."||Yn==="#")continue;Gn=Jn.index;break}if(Gn>=0){k=yn,an=Gn;break}}}let V=k!=null?` // @rip-src:${k}`:"";if(k!=null&&an!=null){let hn=T._astNode||T;if(!hn._anchors)hn._anchors=[];hn._anchors.push({name:I,origLine:k,origCol:an})}if(this.componentMembers&&this.componentMembers.has(I))X.push(` this.${I};${V}`);else if(this._isInScopeValue(I))X.push(` ${I};${V}`);else if(!x&&this.isHtmlTag(I))X.push(` __ripEl('${I}');${V}`)},Mn=typeof nn==="string"&&/^[a-z][\w-]*(?:[.#][\w-]+)*$/.test(nn)&&!n.GENERATORS[nn]&&ai.has(nn.split(/[.#]/)[0]);if(nn==="block")for(let I=1;I<B.length;I++)zn(B[I],B,!1);else if(typeof nn==="string"&&/^[A-Z]/.test(nn))for(let I=1;I<B.length;I++)zn(B[I],B,!0);else if(Mn){for(let I=1;I<B.length;I++)zn(B[I],B,!0);for(let I=1;I<B.length;I++){let T=B[I];if(!Array.isArray(T))continue;let x=T[0]?.valueOf?.()??T[0];if(x==="object"||x==="block"||x==="__text__")continue;if(typeof x==="string"){if(/^[A-Z]/.test(x))continue;if(ai.has(x.split(/[.#]/)[0]))continue;if(/^[a-z][\w-]*$/.test(x)&&!n.GENERATORS[x])continue;if(/^(if|unless|switch|for-in|for-of|for-as|while|until|loop|loop-n|try|throw|break|continue|break-if|continue-if|control|when|return|def|->|=>|class|enum|state|computed|readonly|effect|=|program)$/.test(x))continue}try{let k=this.emitInComponent(T,"value"),an=T.loc?.r??B.loc?.r,V=an!=null?` // @rip-src:${an}`:"";X.push(` ${k};${V}`)}catch{}}}for(let I=1;I<B.length;I++)An(B[I]);if(typeof nn==="string"&&/^[A-Z]/.test(nn)){let I=_n(B.slice(1),B.loc?.r),T=`_${p++}`,x=`ConstructorParameters<typeof ${nn}>[0] & {}`;if(I.length===0){let k=B.loc?.r;X.push(` const ${T}: ${x} = {};`+(k!=null?` // @rip-src:${k}`:""))}else if(I.length===1){let k=B.loc?.r??I[0].srcLine;X.push(` const ${T}: ${x} = {${I[0].code}};`+(k!=null?` // @rip-src:${k}`:""))}else{let k=B.loc?.r;if(new Set(I.map((V)=>V.srcLine).filter((V)=>V!=null)).size<=1){let V=I[0].srcLine??k;X.push(` const ${T}: ${x} = {${I.map((hn)=>hn.code).join(", ")}};`+(V!=null?` // @rip-src:${V}`:""))}else{X.push(` const ${T}: ${x} = {`+(k!=null?` // @rip-src:${k}`:""));for(let V of I)X.push(` ${V.code},`+(V.srcLine!=null?` // @rip-src:${V.srcLine}`:""));X.push(" };")}}if(I.sideExprs)for(let k of I.sideExprs)X.push(` ${k.code};`+(k.srcLine!=null?` // @rip-src:${k.srcLine}`:""))}else if(typeof nn==="string"&&!n.GENERATORS[nn]&&(ai.has(nn.split(/[.#]/)[0])||/^[a-z][\w-]*$/.test(nn)&&B.length>1)){let I=nn.split(/[.#]/)[0],T=Ln.has(I)?"__ripSvgEl":"__ripEl",x=Rn(B.slice(1),I,B.loc?.r),k=B.loc?.r,an=k!=null?` // @rip-src:${k}`:"";if(x.length===0)X.push(` ${T}('${I}');${an}`);else if(x.length===1){let V=x[0].srcLine??k,hn=V!=null?` // @rip-src:${V}`:"";X.push(` ${T}('${I}', {${x[0].code}});${hn}`)}else if(new Set(x.map((hn)=>hn.srcLine).filter((hn)=>hn!=null)).size<=1){let hn=x[0].srcLine??k,yn=hn!=null?` // @rip-src:${hn}`:"";X.push(` ${T}('${I}', {${x.map((mn)=>mn.code).join(", ")}});${yn}`)}else{X.push(` ${T}('${I}', {${an}`);for(let hn of x)X.push(` ${hn.code},`+(hn.srcLine!=null?` // @rip-src:${hn.srcLine}`:""));X.push(" });")}}};if(An(d),X.length>0){O.push(" _render() {");for(let B of X)O.push(B);O.push(" }")}}return O.push("}"),this.componentMembers=C,this.reactiveMembers=L,this._autoEventHandlers=b,this._inheritsTag=fn,O.join(`
1885
- `)}this.usesTemplates=!0,this.usesReactivity=!0;let Y=[],Un="";if(Y.push("class extends __Component {"),R.length>0){let G=R.map(({path:O,key:J})=>J?`{ path: '${O}', key: (params, query) => ${J.code} }`:`'${O}'`);Y.push(` static __gates = [${G.join(", ")}];`)}Y.push(" _init(props) {");for(let{name:G,path:O,key:J}of R)Y.push(J?` this.${G} = __gateBind(this, '${O}', (params, query) => ${J.code});`:` this.${G} = __gateBind(this, '${O}');`);for(let{name:G,value:O,isPublic:J}of U){let P=this.emitInComponent(O,"value");Y.push(J?` this.${G} = props.${G} ?? ${P};`:` this.${G} = ${P};`)}for(let G of S)Y.push(` this.${G} = getContext('${G}');`);for(let{name:G,value:O,isPublic:J,required:P}of A)if(J&&(P||O===void 0))Y.push(` this.${G} = __state(props.__bind_${G}__ ?? props.${G});`);else if(J){let F=this.emitInComponent(O,"value");Y.push(` this.${G} = __state(props.__bind_${G}__ ?? props.${G} ?? ${F});`)}else{let F=this.emitInComponent(O,"value");Y.push(` this.${G} = __state(${F});`)}if(Q){if(Y.push(" this._rest = {};"),Y.push(" for (const __k in props) {"),W.size>0){let G=[...W].map((O)=>`__k !== '${O}'`).join(" && ");Y.push(` if (${G} && !__k.startsWith('__bind_')) this._rest[__k] = props[__k];`)}else Y.push(" if (!__k.startsWith('__bind_')) this._rest[__k] = props[__k];");Y.push(" }"),Y.push(" this.rest = __state(this._rest);")}for(let{name:G,expr:O}of y)if(this.is(O,"block")){let J=this.transformComponentMembers(O),P=this.emitFunctionBody(J);Y.push(` this.${G} = __computed(() => ${P});`)}else{let J=this.emitInComponent(O,"value");Y.push(` this.${G} = __computed(() => ${J});`)}for(let G of q)Y.push(` setContext('${G}', this.${G});`);for(let G of M){let O=G[2],J=this.containsAwait(O)?"async ":"";if(this.is(O,"block")){let P=this.transformComponentMembers(O),F=this.emitFunctionBody(P);Y.push(` __effect(${J}() => ${F});`)}else{let P=this.emitInComponent(O,"value");Y.push(` __effect(${J}() => { return ${P}; });`)}}if(Y.push(" }"),Q)Y.push(" _setRestProp(key, value) {"),Y.push(" if (key.startsWith('__bind_')) return;"),Y.push(" this._rest || (this._rest = {});"),Y.push(" if (value == null) delete this._rest[key];"),Y.push(" else this._rest[key] = value;"),Y.push(" this.rest.touch();"),Y.push(" this._applyInheritedProp(this._inheritedEl, key, value);"),Y.push(" }"),Y.push(" _applyRestToInheritedEl() {"),Y.push(" if (!this._inheritedEl || !this._rest) return;"),Y.push(" for (const key in this._rest) this._applyInheritedProp(this._inheritedEl, key, this._rest[key]);"),Y.push(" }"),Y.push(" _applyInheritedProp(el, key, value) {"),Y.push(" if (!el || key === 'key' || key === 'ref' || key === 'children' || key.startsWith('__bind_')) return;"),Y.push(" if (key[0] === '@') {"),Y.push(" const event = key.slice(1).split('.')[0];"),Y.push(" this._restHandlers || (this._restHandlers = {});"),Y.push(" const prev = this._restHandlers[key];"),Y.push(" if (prev) el.removeEventListener(event, prev);"),Y.push(" if (typeof value === 'function') {"),Y.push(" const next = (e) => __batch(() => value(e));"),Y.push(" this._restHandlers[key] = next;"),Y.push(" el.addEventListener(event, next);"),Y.push(" } else {"),Y.push(" delete this._restHandlers[key];"),Y.push(" }"),Y.push(" return;"),Y.push(" }"),Y.push(" if (key === 'class' || key === 'className') {"),Y.push(" if (el instanceof SVGElement) el.setAttribute('class', __clsx(value));"),Y.push(" else el.className = __clsx(value);"),Y.push(" return;"),Y.push(" }"),Y.push(" if (key === 'style') {"),Y.push(" if (value == null) { el.removeAttribute('style'); return; }"),Y.push(" if (typeof value === 'string') { el.setAttribute('style', value); return; }"),Y.push(" if (typeof value === 'object') { Object.assign(el.style, value); return; }"),Y.push(" }"),Y.push(" if (key === 'innerHTML' || key === 'textContent' || key === 'innerText') {"),Y.push(" el[key] = value ?? '';"),Y.push(" return;"),Y.push(" }"),Y.push(" if (key in el && !key.includes('-')) {"),Y.push(" el[key] = value;"),Y.push(" return;"),Y.push(" }"),Y.push(" if (value == null || value === false) {"),Y.push(" el.removeAttribute(key);"),Y.push(" return;"),Y.push(" }"),Y.push(" if (value === true) {"),Y.push(" el.setAttribute(key, '');"),Y.push(" return;"),Y.push(" }"),Y.push(" el.setAttribute(key, value);"),Y.push(" }");for(let{name:G,func:O}of m)if(Array.isArray(O)&&(O[0]==="->"||O[0]==="=>")){let[,J,P]=O;if((!J||Array.isArray(J)&&J.length===0)&&this.containsIt(P))J=["it"];let F=Array.isArray(J)?J.map((tn)=>this.formatParam(tn)).join(", "):"",N=this.reactiveMembers?this.transformComponentMembers(P):P,un=this.containsAwait(P),$=this.emitFunctionBody(N,J||[]);Y.push(` ${un?"async ":""}${G}(${F}) ${$}`)}for(let{name:G,value:O}of D)if(Array.isArray(O)&&(O[0]==="->"||O[0]==="=>")){let[,J,P]=O,F=Array.isArray(J)?J.map((tn)=>this.formatParam(tn)).join(", "):"",N=this.reactiveMembers?this.transformComponentMembers(P):P,un=this.containsAwait(P),$=this.emitFunctionBody(N,J||[]);Y.push(` ${un?"async ":""}${G}(${F}) ${$}`)}if(d){let G=d[1],O=this.buildRender(G);if(O.blockFactories.length>0)Un=O.blockFactories.join(`
1877
+ `)this.row++,this.col=0;else this.col++;this.pos+=n}emit(n,f,{len:e,data:a,pre:i}={}){let l=Oi(n,f,{pre:i??0,row:this.row,col:this.col,len:e??(typeof f==="string"?f.length:0),data:a});return this.tokens.push(l),l}prev(){return this.tokens[this.tokens.length-1]}prevTag(){let n=this.prev();return n?n[0]:void 0}prevVal(){let n=this.prev();return n?n[1]:void 0}isReturnTypeSlot(){let n=this.tokens.length;if(n<2)return!1;let f=this.tokens[n-1];if(!f||f[1]!==":")return!1;let e=this.tokens[n-2];if(!e)return!1;let a=e[0];return a===")"||a==="CALL_END"||a==="PARAM_END"}inPickKeyPos(){let n=this.prev();if(!n)return!1;let f=n[0];if(f!=="{"&&f!==","&&f!==":"&&f!=="TERMINATOR"&&f!=="INDENT"&&f!=="OUTDENT")return!1;let e=0,a=this.tokens;for(let i=a.length-1;i>=0;i--){let l=a[i],u=l[0];if(u==="}"||u==="PICK_END"){e++;continue}if(u==="{"||u==="PICK_START"||u==="OPTPICK_START"){if(e===0){let t=a[i-1];return!!(t&&(t[0]==="."||t[0]==="?.")&&!t.spaced&&!l.spaced)}e--;continue}if(e===0&&(u==="("||u==="CALL_START"||u==="["||u==="INDEX_START"))return!1}return!1}identifierToken(){if(ra.test(this.chunk))return 0;let n=ia.exec(this.chunk);if(!n)return 0;let[,f,e]=n,a=f.length,i={},l;if(f==="own"&&this.prevTag()==="FOR")return this.emit("OWN",f,{len:a}),a;if(f==="from"&&this.prevTag()==="YIELD")return this.emit("FROM",f,{len:a}),a;if(f==="as"&&!this.seenFor&&(this.seenImport||this.seenExport)){if(this.seenImport){if(this.prevVal()==="*")this.prev()[0]="IMPORT_ALL"}let h=this.prevTag();if(h==="DEFAULT"||h==="IMPORT_ALL"||h==="IDENTIFIER")return this.emit("AS",f,{len:a}),a}if((f==="as"||f==="as!")&&this.seenFor)return this.seenFor=!1,this.emit(f==="as!"?"FORASAWAIT":"FORAS","as",{len:a}),a;if(f==="default"&&this.seenExport&&(this.prevTag()==="EXPORT"||this.prevTag()==="AS"))return this.emit("DEFAULT",f,{len:a}),a;let u;if(f==="do"&&(u=/^(\s*super)(?!\(\))/.exec(this.chunk.slice(3))))return this.emit("SUPER","super"),this.emit("CALL_START","("),this.emit("CALL_END",")"),u[1].length+3;let t=this.prev();if(e&&t&&t[0]==="TERNARY")e=null;if(e&&e.length>1&&/[a-zA-Z_$]/.test(this.chunk[a+e.length]))e=null;if(e||t&&(t[0]==="."||t[0]==="?."||!t.spaced&&t[0]==="@")||this.inPickKeyPos()){if(l="PROPERTY",this.inRenderBlock&&t&&t[0]==="."&&!e){let h=this.chunk.slice(a);while(h[0]==="-"&&/^-[a-zA-Z]/.test(h)){let o=/^-([a-zA-Z][\w]*)/.exec(h);if(!o)break;f+="-"+o[1],a+=1+o[1].length,h=this.chunk.slice(a)}}}else l="IDENTIFIER";let c=f.endsWith("!")||f.endsWith("?")?f.slice(0,-1):f;if(l==="IDENTIFIER"&&!f.endsWith("!")&&!f.endsWith("?")&&(af.has(f)||tf.has(f)||rf.has(f))&&!(this.exportSpecifierList&&rf.has(f))){if(cu[f]!==void 0)i.original=f,f=cu[f];l=this.classifyKeyword(f,l,i)}if(l==="IDENTIFIER"&&Ne.has(c))if(c==="void"&&(this.inTypeAnnotation||this.prevTag()==="=>"||this.isReturnTypeSlot()));else Pn(`reserved word '${c}'`,{row:this.row,col:this.col,len:a});if(l==="PROPERTY"&&t){if(t[0]==="."&&this.tokens.length>1){let h=this.tokens[this.tokens.length-2];if(h[0]==="UNARY"&&h[1]==="new")h[0]="NEW_TARGET";if(h[0]==="IMPORT"&&h[1]==="import")this.seenImport=!1,h[0]="IMPORT_META"}}if(f.length>1&&f.endsWith("!"))i.bang=!0,f=f.slice(0,-1);if(f.length>1&&f.endsWith("?"))i.optional=!0,f=f.slice(0,-1);let r=this.emit(l,f,{len:a,data:Object.keys(i).length?i:null});if(l==="RENDER")this.inRenderBlock=!0,this.renderIndent=this.indent;if(e)return this.emit(":",":",{len:1}),a+e.length;return a}classifyKeyword(n,f,e){switch(n){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"true":case"false":return"BOOL";case"&&":case"||":return n}if(Oe.has(n))return"STATEMENT";let a=n.toUpperCase();if(a==="WHEN"&&si.has(this.prevTag()))return"LEADING_WHEN";if(a==="FOR")return this.seenFor={endsLength:this.ends.length},"FOR";if(a==="UNLESS")return"UNLESS";if(a==="IMPORT")return this.seenImport=!0,"IMPORT";if(a==="EXPORT")return this.seenExport=!0,"EXPORT";if(Pe.has(a))return"UNARY";if(Ie.has(a)){if(a!=="INSTANCEOF"&&this.seenFor)return this.seenFor=!1,"FOR"+a;if(this.prevVal()==="!"){let i=this.tokens.pop();e.invert=i.data?.original||i[1]}return"RELATION"}if(af.has(n)||tf.has(n))return a;return f}commentToken(){if(this.inRenderBlock){if(/^#[a-zA-Z_]/.test(this.chunk)){let f=this.prev();if(f&&(f[0]==="IDENTIFIER"||f[0]==="PROPERTY"))return 0;let e=/^#([a-zA-Z_][\w-]*)/.exec(this.chunk);if(e)return this.emit("IDENTIFIER","div#"+e[1]),e[0].length}if(/^\s+#[a-zA-Z_]/.test(this.chunk))return 0}let n=aa.exec(this.chunk);if(!n)return 0;return n[0].length}whitespaceToken(){let n=la.exec(this.chunk);if(!n&&this.chunk[0]!==`
1878
+ `)return 0;let f=this.prev();if(f)if(n)f.spaced=!0,f.pre=n[0].length;else f.newLine=!0;return n?n[0].length:0}lineToken(){let n=ea.exec(this.chunk);if(!n)return 0;let f=n[0],e=f.length-1-f.lastIndexOf(`
1879
+ `);if(this.isUnfinished()){if(e<this.indent&&/^\s*,/.test(this.chunk)&&!of.has(this.prevTag())){if(this.outdentTo(e,f.length),this.prevTag()==="TERMINATOR")this.tokens.pop();return f.length}return f.length}if(this.seenFor&&!(this.seenFor.endsLength<this.ends.length))this.seenFor=!1;if(!this.importSpecifierList)this.seenImport=!1;if(!this.exportSpecifierList)this.seenExport=!1;if(this.inTypeAnnotation=!1,e===this.indent)return this.emitNewline(),f.length;if(e>this.indent){if(!this.tokens.length)return this.indent=e,f.length;let a=e-this.indent;return this.emit("INDENT",a,{len:e}),this.indents.push(a),this.ends.push({tag:"OUTDENT"}),this.indent=e,f.length}return this.outdentTo(e,f.length),f.length}outdentTo(n,f=0){if(this.inRenderBlock&&n<=this.renderIndent)this.inRenderBlock=!1;let e=this.indent-n;while(e>0){let a=this.indents[this.indents.length-1];if(!a)e=0;else this.indents.pop(),this.pair("OUTDENT"),this.emit("OUTDENT",e,{len:f}),e-=a}this.emitNewline(),this.indent=n}closeIndentation(){this.outdentTo(0)}emitNewline(){if(this.prevTag()!=="TERMINATOR")this.emit("TERMINATOR",`
1880
+ `,{len:0})}isUnfinished(){if(this.inRenderBlock&&yf.test(this.chunk)&&/^\s*\./.test(this.chunk))return!1;if(this.inRenderBlock&&this.prevTag()==="."){let e=this.tokens.length;if(e>=2){let a=this.tokens[e-2][0];if(a==="INDENT"||a==="TERMINATOR"||a==="OUTDENT")return!1}}let n=this.tokens[this.tokens.length-1];if(n?.[0]==="COMPARE"&&n[1]===">"||n?.[0]==="SHIFT"&&(n[1]===">>"||n[1]===">>>")){let e=0;for(let a=this.tokens.length-1;a>=0;a--){let i=this.tokens[a];if(i[0]==="COMPARE"&&i[1]===">")e++;else if(i[0]==="SHIFT"&&i[1]===">>")e+=2;else if(i[0]==="SHIFT"&&i[1]===">>>")e+=3;else if(i[0]==="COMPARE"&&i[1]==="<")e--;if(e===0&&i[0]==="TYPE_ANNOTATION")return!1;if(e===0&&i[0]===":"){let l=this.tokens[a-1];if(l&&(l[0]===")"||l[0]==="PARAM_END"||l[0]==="CALL_END"))return!1}if(e===0&&i[0]==="IDENTIFIER"&&i[1]==="type")return!1;if(i[0]==="INTERFACE")return!1;if(i[0]==="TERMINATOR"||i[0]==="INDENT"||i[0]==="OUTDENT"){let l=-1;if(i[0]==="INDENT")l=a;else{let u=i[0]==="OUTDENT"?1:0;for(let t=a-1;t>=0;t--){let c=this.tokens[t];if(c[0]==="OUTDENT")u++;else if(c[0]==="INDENT"){if(u===0){l=t;break}u--}}}if(l>0)for(let u=l-1;u>=0;u--){let t=this.tokens[u];if(t[0]==="TERMINATOR"||t[0]==="INDENT"||t[0]==="OUTDENT")break;if(t[0]==="INTERFACE")return!1;if(t[0]==="IDENTIFIER"&&t[1]==="type"){let c=this.tokens[u-1];if(!c||c[0]==="TERMINATOR"||c[0]==="EXPORT")return!1;break}}break}}}return yf.test(this.chunk)||of.has(this.prevTag())}pair(n){let f=this.ends[this.ends.length-1];if(!f||n!==f.tag){if(f?.tag==="OUTDENT"){let e=this.indents[this.indents.length-1];if(e)this.outdentTo(this.indent-e);return this.pair(n)}Pn(`unmatched ${n}`,{row:this.row,col:this.col})}return this.ends.pop()}stringToken(){let n=ca.exec(this.chunk);if(!n)return 0;let f=n[0],e=f.length>1&&f.endsWith("\\"),a=e?f.slice(0,-1):f,i=this.prev();if(i&&this.prevVal()==="from"&&(this.seenImport||this.seenExport))i[0]="FROM";let l;switch(a){case"'":l=ha;break;case'"':l=sa;break;case"'''":l=oa;break;case'"""':l=wa;break}let{tokens:u,index:t}=this.matchWithInterpolations(l,f,a),c=a.length===3,r=null;if(c)r=this.processHeredocIndent(t,a,u);return this.mergeInterpolationTokens(u,{quote:a,indent:r,endOffset:t,raw:e}),t}processHeredocIndent(n,f,e){let a=n-f.length,i=a-1;while(i>=0&&this.chunk[i]!==`
1881
+ `)i--;i++;let l=this.chunk.slice(i,a),u=/^\s*$/.test(l)?l.length:null,t="";for(let h of e)if(h[0]==="NEOSTRING")t+=h[1];let c=null,r;_f.lastIndex=0;while(r=_f.exec(t))if(c===null||r[1].length>0&&r[1].length<c.length)c=r[1];if(u===null)return c;if(c===null)return" ".repeat(u);if(u<=c.length)return" ".repeat(u);return c}matchWithInterpolations(n,f,e,a){if(!e)e=f;if(!a)a=/^[#$]\{/;let i=[],l=f.length;if(this.chunk.slice(0,l)!==f)return null;let u=this.chunk.slice(l);while(!0){let[t]=n.exec(u);i.push(["NEOSTRING",t,{offset:l}]),u=u.slice(t.length),l+=t.length;let c=a.exec(u);if(!c)break;let h=c[0].length-1,o=u.slice(h),s=new Tn().tokenize(o,{row:this.row,col:this.col+l+h,untilBalanced:!0,rewrite:!1}),w=s.index+h;if(u[w-1]==="}"){let y=s.tokens[0],m=s.tokens[s.tokens.length-1];y[0]="INTERPOLATION_START",y[1]="(",m[0]="INTERPOLATION_END",m[1]=")"}if(s.tokens[1]?.[0]==="TERMINATOR")s.tokens.splice(1,1);let _=s.tokens.length;if(_>2&&s.tokens[_-3]?.[0]==="INDENT"&&s.tokens[_-2]?.[0]==="OUTDENT")s.tokens.splice(_-3,2);i.push(["TOKENS",s.tokens]),u=u.slice(w),l+=w}if(u.slice(0,e.length)!==e)Pn(`missing ${e}`,{row:this.row,col:this.col});return{tokens:i,index:l+e.length}}mergeInterpolationTokens(n,{quote:f,indent:e,endOffset:a,raw:i}){if(n.length>1)this.emit("STRING_START","(",{len:f?.length||0,data:{quote:f}});for(let l=0;l<n.length;l++){let[u,t]=n[l];if(u==="TOKENS")for(let c of t)this.tokens.push(c);else if(u==="NEOSTRING"){let c=t;if(e){let r=new RegExp("\\n"+e,"g");c=c.replace(r,`
1882
+ `)}if(l===0&&f?.length===3)c=c.replace(/^\n/,"");if(l===n.length-1&&f?.length===3)c=c.replace(/\n[^\S\n]*$/,"");if(i)c=c.replace(/\\([nrtbfv0\\'"`xu])/g,"\\\\$1");this.emit("STRING",`"${c}"`,{len:t.length,data:{quote:f}})}}if(n.length>1)this.emit("STRING_END",")",{len:f?.length||0});return a}numberToken(){let n=ua.exec(this.chunk);if(!n)return 0;let f=n[0],e=f.length,a={row:this.row,col:this.col};if(/^0[BOX]/.test(f))Pn(`radix prefix in '${f}' must be lowercase`,{...a,col:a.col+1});if(/^0\d*[89]/.test(f))Pn(`decimal literal '${f}' must not be prefixed with '0'`,{...a,len:e});if(/^0\d+/.test(f))Pn(`octal literal '${f}' must be prefixed with '0o'`,{...a,len:e});let i=Ua(f),l=i===1/0?"INFINITY":"NUMBER",u={parsedValue:i};if(l==="INFINITY")u.original=f;return this.emit(l,f,{len:e,data:u}),e}regexToken(){let n=this.matchWithInterpolations(ya,"///");if(n){let{tokens:r,index:h}=n,[o]=mf.exec(this.chunk.slice(h)),s=h+o.length;if(r.length===1||!r.some((w)=>w[0]==="TOKENS")){let w=(r[0]?.[1]||"").replace(/(?<!\\)\//g,"\\/");this.emit("REGEX",`/${w}/${o}`,{len:s,data:{delimiter:"///",heregex:{flags:o}}})}else{if(this.emit("REGEX_START","(",{len:0}),this.emit("IDENTIFIER","RegExp",{len:0}),this.emit("CALL_START","(",{len:0}),this.mergeInterpolationTokens(r,{quote:"///",endOffset:s-o.length}),o)this.emit(",",",",{len:0}),this.emit("STRING",`"${o}"`,{len:o.length});this.emit(")",")",{len:0}),this.emit("REGEX_END",")",{len:0})}return s}let f=_a.exec(this.chunk);if(!f)return 0;let[e,a,i]=f,l=this.prev();if(l){if(l.spaced&&bi.has(l[0])&&(!i||/^\/=?\s/.test(e)))return 0;if(pe.has(l[0])&&!(l.spaced&&bi.has(l[0])))return 0}if(!i)Pn("missing / (unclosed regex)",{row:this.row,col:this.col});let u=e.length,[t]=mf.exec(this.chunk.slice(u)),c=u+t.length;if(!ma.test(t))Pn(`invalid regular expression flags ${t}`,{row:this.row,col:this.col+u,len:t.length});return this.emit("REGEX",`/${a}/${t}`,{len:c,data:{delimiter:"/"}}),c}jsToken(){if(this.chunk[0]!=="`")return 0;let n=Da.exec(this.chunk)||Aa.exec(this.chunk);if(!n)return 0;let f=n[1],e=n[0].length;return this.emit("JS",f,{len:e,data:{here:n[0].startsWith("```")}}),e}wordLiteral(){if(this.chunk[0]!=="%"||this.chunk[1]!=="w")return 0;let n=this.chunk[2];if(!n||/\s/.test(n))return 0;let e={"[":"]","(":")","{":"}","<":">"}[n]||n,a=e!==n,i=1,l=3;while(l<this.chunk.length&&i>0){let r=this.chunk[l];if(r==="\\"){l+=2;continue}if(a&&r===n)i++;if(r===e)i--;if(i>0)l++}if(i!==0)return 0;let u=this.chunk.slice(3,l),t=l+1,c=[];if(u.trim()){let r=u.trim().split(/(?<!\\)\s+/);for(let h of r)c.push(h.replace(/\\ /g," "))}this.emit("[","[",{len:t});for(let r=0;r<c.length;r++){if(r>0)this.emit(",",",");this.emit("STRING",`"${c[r]}"`)}return this.emit("]","]"),t}symbolToken(){if(this.chunk[0]!==":")return 0;let n=this.chunk[1];if(!n||n==="="||n===":"||/\s/.test(n))return 0;if(!/[a-zA-Z_$]/.test(n))return 0;let f=/^((?:(?!\s)[$\w\x7f-\uffff])+)/.exec(this.chunk.slice(1));if(!f)return 0;let e=f[1],a=e.length+1;return this.emit("SYMBOL",e,{len:a}),a}literalToken(){let n=this.wordLiteral();if(n)return n;let f=this.symbolToken();if(f)return f;let e=fa.exec(this.chunk),a=e?e[0]:this.chunk.charAt(0),i=a,l=this.prev();if(ta.test(a))this.tagParameters();if(a==="="&&l&&l[1]==="."&&!l.spaced){let u=this.tokens,t=u.length-2;while(t>=1&&u[t][0]==="PROPERTY"&&u[t-1]?.[1]===".")t-=2;if(t>=0&&(u[t][0]==="IDENTIFIER"||u[t][0]===")"||u[t][0]==="]")){let c=u.slice(t,u.length-1);l[0]="=",l[1]="=";for(let r of c)this.tokens.push(Oi(r[0],r[1],{pre:0,row:r[2],col:r[3],len:r[4]}));return this.tokens.push(Oi(".",".",{pre:0,row:this.row,col:this.col,len:1})),a.length}}if(l&&(a==="="||wf.has(a))){if(a==="="&&(l[1]==="||"||l[1]==="&&"||l[1]==="??")&&!l.spaced)return l[0]="COMPOUND_ASSIGN",l[1]+="=",a.length}if(a==="("&&l?.[0]==="IMPORT")l[0]="DYNAMIC_IMPORT";if(a==="{"&&this.seenImport)this.importSpecifierList=!0;if(a==="}"&&this.importSpecifierList)this.importSpecifierList=!1;if(a==="{"&&l?.[0]==="EXPORT")this.exportSpecifierList=!0;if(a==="}"&&this.exportSpecifierList)this.exportSpecifierList=!1;if(a===";")this.seenFor=this.seenImport=this.seenExport=!1,this.inTypeAnnotation=!1,i="TERMINATOR";else if(a==="::"&&/^[a-zA-Z_$]/.test(this.chunk[2]||""))return this.emit(".","."),this.emit("PROPERTY","prototype"),this.emit(".","."),2;else if(a==="::")Pn("type annotations use a single ':' (e.g. `x: number`), not '::'",{row:this.row,col:this.col,len:2});else if(a==="~=")i="COMPUTED_ASSIGN";else if(a===":=")i="REACTIVE_ASSIGN";else if(a==="<=>")i="BIND";else if(a==="<~")i="GATE",this.inTypeAnnotation=!1;else if(a==="~>")i="EFFECT",this.inTypeAnnotation=!1;else if(a==="=!")i="READONLY_ASSIGN",this.inTypeAnnotation=!1;else if(a==="*>"&&(!l||l[0]==="TERMINATOR"||l[0]==="INDENT"||l[0]==="OUTDENT")&&(/^[a-zA-Z_$]/.test(this.chunk[2]||"")||this.chunk[2]==="@")){let u=this.chunk.slice(2),t=/^@(\s*)=(?!=)/.exec(u);if(t){let r=t[1];this.emit("IDENTIFIER","Object"),this.emit(".",".");let h=this.emit("PROPERTY","assign");return h.spaced=!0,this.emit("@","@"),this.emit(",",","),3+r.length+1}let c=/^(@?(?:(?!\s)[$\w\x7f-\uffff])+(?:\.[a-zA-Z_$][\w]*)*)(\s*)=(?!=)/.exec(u);if(c){let r=c[1],h=c[2],o=r[0]==="@",s=o?r.slice(1):r,w=s?s.split("."):[],_=()=>{if(o){if(this.emit("@","@"),w.length>0)this.emit("PROPERTY",w[0])}else this.emit("IDENTIFIER",w[0]);for(let m=1;m<w.length;m++)this.emit(".","."),this.emit("PROPERTY",w[m])};_(),this.emit("=","="),this.emit("IDENTIFIER","Object"),this.emit(".","."),this.emit("PROPERTY","assign"),this.emit("CALL_START","("),_(),this.emit("COMPOUND_ASSIGN","??="),this.emit("{","{"),this.emit("}","}"),this.emit(",",",");let y=this.prev();return y.mergeClose=!0,2+r.length+h.length+1}}else if(a==="*"&&l?.[0]==="EXPORT")i="EXPORT_ALL";else if(xe.has(a))i="MATH";else if($e.has(a))i="COMPARE";else if(wf.has(a))i="COMPOUND_ASSIGN";else if(na.has(a))i="UNARY_MATH";else if(ke.has(a))i="SHIFT";else if(a==="?"&&l?.spaced)i="TERNARY";else if(a==="?!"&&l&&!l.spaced)i="PRESENCE";else if(a==="?"&&(this.chunk[1]==="["||this.chunk[1]==="("))i="?.";else if(l){if(a==="("&&!l.spaced&&bi.has(l[0])){if(l[0]==="?.")l[0]="ES6_OPTIONAL_CALL";i="CALL_START"}if(a==="["&&!l.spaced&&Ni.has(l[0])){if(i="INDEX_START",l[0]==="?.")l[0]="ES6_OPTIONAL_INDEX"}}if(this.inTypeAnnotation&&(a==="="||i==="COMPOUND_ASSIGN"))this.inTypeAnnotation=!1;if(a==="="){let u=this.tokens.length;if(u>=2&&this.tokens[u-1][0]==="IDENTIFIER"&&this.tokens[u-2][0]==="IDENTIFIER"&&this.tokens[u-2][1]==="type"&&(u===2||this.tokens[u-3][0]==="TERMINATOR"||this.tokens[u-3][0]==="INDENT"||this.tokens[u-3][0]==="OUTDENT"||this.tokens[u-3][0]==="EXPORT"))this.inTypeAnnotation=!0}if(a==="("||a==="{"||a==="[")this.ends.push({tag:ve[a],origin:[i,a]});else if(a===")"||a==="}"||a==="]")this.pair(a);return this.emit(i,a,{len:a.length}),a.length}tagParameters(){let n=this.tokens.length-1;if(this.tokens[n]?.[0]!==")"){let a=this.tokens.length,i=0,l=a-1,u=-1;while(l>=0){let t=this.tokens[l],c=t[0];if(c===")"||c==="]"||c==="}"||c==="CALL_END"||c==="PARAM_END"||c==="INDEX_END"||c==="COMPARE"&&t[1]===">")i++;else if(c==="("||c==="["||c==="{"||c==="CALL_START"||c==="PARAM_START"||c==="INDEX_START"||c==="COMPARE"&&t[1]==="<")i--;else if(i===0){if(c==="TYPE_ANNOTATION"||c===":"){if(l>0&&this.tokens[l-1][0]===")")u=l-1;break}if(c==="TERMINATOR"||c==="INDENT"||c==="OUTDENT"||c==="="||c==="->"||c==="=>")break}l--}if(u<0)return this.tagDoIife();n=u}else{let a=0,i=-1;for(let l=n;l>=0;l--){let u=this.tokens[l][0];if(u===")"||u==="CALL_END"||u==="PARAM_END")a++;else if(u==="("||u==="CALL_START"||u==="PARAM_START"){if(--a===0){i=l;break}}}if(i>1&&this.tokens[i-1][0]==="TYPE_ANNOTATION"&&this.tokens[i-2]?.[0]===")")n=i-2}let f=n,e=[];this.tokens[f][0]="PARAM_END";while(f-- >0){let a=this.tokens[f];if(a[0]===")")e.push(a);else if(a[0]==="("||a[0]==="CALL_START")if(e.length)e.pop();else if(a[0]==="(")return a[0]="PARAM_START",this.tagDoIife(f-1);else{this.tokens[n][0]="CALL_END";return}}}tagDoIife(n){let f=this.tokens[n??this.tokens.length-1];if(f?.[0]==="DO")f[0]="DO_IIFE"}rewrite(n){return this.tokens=n,this.removeLeadingNewlines(),this.rewriteDottedPicks(),this.rewriteMapLiterals(),this.closeMergeAssignments(),this.closeOpenCalls(),this.closeOpenIndexes(),this.rewriteTypes(),this.normalizeLines(),this.rewriteRender?.(),this.rewriteSchema?.(),this.tagPostfixConditionals(),this.rewriteTaggedTemplates(),this.addImplicitBracesAndParens(),this.addImplicitCallCommas(),this.tokens}removeLeadingNewlines(){let n=0;while(this.tokens[n]?.[0]==="TERMINATOR")n++;if(n>0)this.tokens.splice(0,n)}rewriteMapLiterals(){let n=this.tokens;for(let f=0;f<n.length;f++){if(n[f][0]!=="MATH"||n[f][1]!=="*")continue;let e=n[f+1];if(!e||e[0]!=="{")continue;if(n[f].spaced||n[f].newLine)continue;let a=n[f-1];if(a&&Ni.has(a[0]))continue;n.splice(f,1),n[f][0]="MAP_START";let i=1;for(let l=f+1;l<n.length&&i>0;l++){let u=n[l][0];if(u==="{"||u==="MAP_START")i++;if(u==="}"){if(i--,i===0)n[l][0]="MAP_END"}}}}rewriteDottedPicks(){let n=this.tokens;for(let f=0;f<n.length;f++){let e=n[f][0];if(e!=="."&&e!=="?.")continue;let a=n[f+1];if(!a||a[0]!=="{")continue;if(n[f].spaced||n[f].newLine)continue;let i=n[f-1];if(!i||!Ni.has(i[0]))continue;let l=e==="?.";n.splice(f,1),n[f][0]=l?"OPTPICK_START":"PICK_START";let u=1;for(let t=f+1;t<n.length&&u>0;t++){let c=n[t][0];if(c==="{"||c==="PICK_START"||c==="OPTPICK_START")u++;else if(c==="}"){if(u--,u===0){n[t][0]="PICK_END";break}}}}}closeOpenCalls(){this.scanTokens((n,f)=>{if(n[0]==="CALL_START")this.detectEnd(f+1,(e)=>e[0]===")"||e[0]==="CALL_END",(e)=>e[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens((n,f)=>{if(n[0]==="INDEX_START")this.detectEnd(f+1,(e)=>e[0]==="]"||e[0]==="INDEX_END",(e,a)=>{if(this.tokens[a+1]?.[0]===":")n[0]="[",e[0]="]";else e[0]="INDEX_END"});return 1})}normalizeLines(){let n=null,f=null,e=null,a=(l,u)=>{return l[1]!==";"&&Le.has(l[0])&&!(l[0]==="TERMINATOR"&&cf.has(this.tokens[u+1]?.[0]))&&!(l[0]==="ELSE"&&n!=="THEN")||l[0]==="INDENT"&&!l.generated&&(n==="->"||n==="=>")||l[0]===","&&(n==="->"||n==="=>"||n==="THEN"||n==="ELSE")&&!this.commaInImplicitCall(u)&&!this.commaInImplicitObject(u)||sf.has(l[0])&&(this.tokens[u-1]?.newLine||this.tokens[u-1]?.[0]==="OUTDENT")},i=(l,u)=>{let t=this.tokens[u-1]?.[0]===","?u-1:u;this.tokens.splice(t,0,e)};this.scanTokens((l,u,t)=>{let[c]=l;if(c==="TERMINATOR"){if(this.tokens[u+1]?.[0]==="ELSE"&&this.tokens[u-1]?.[0]!=="OUTDENT")return t.splice(u,1,...this.makeIndentation()),1;if(cf.has(this.tokens[u+1]?.[0]))return t.splice(u,1),0}if(c==="CATCH")for(let r=1;r<=2;r++){let h=this.tokens[u+r]?.[0];if(h==="OUTDENT"||h==="TERMINATOR"||h==="FINALLY")return t.splice(u+r,0,...this.makeIndentation()),2+r}if((c==="->"||c==="=>")&&(this.tokens[u+1]?.[0]===","||this.tokens[u+1]?.[0]==="]"))return[f,e]=this.makeIndentation(),t.splice(u+1,0,f,e),1;if(hf.has(c)&&this.tokens[u+1]?.[0]!=="INDENT"&&!(c==="ELSE"&&this.tokens[u+1]?.[0]==="IF")&&!(c==="ELSE"&&this.tokens[u-1]?.[0]!=="OUTDENT")){if(n=c,[f,e]=this.makeIndentation(),c==="THEN")f.fromThen=!0;if(t.splice(u+1,0,f),c==="THEN"&&this.singleLineOwner(u)==="LEADING_WHEN")this.detectWhenThenEnd(u+2,a,i);else this.detectEnd(u+2,a,i);if(c==="THEN")t.splice(u,1);return 1}return 1})}singleLineOwner(n){let f=new Set(["LEADING_WHEN","IF","POST_IF","UNLESS","POST_UNLESS","ELSE","CATCH","TRY","FINALLY","->","=>"]);for(let e=n-1;e>=0;e--){let a=this.tokens[e],i=a?.[0];if(f.has(i))return i;if(si.has(i)||a?.newLine)return null}return null}detectWhenThenEnd(n,f,e){let a=0,i=0;while(n<this.tokens.length){let l=this.tokens[n],u=l[0];if(a===0){if(u==="THEN"&&this.singleLineOwner(n)!=="LEADING_WHEN")i++;else if(u==="ELSE"&&i>0)i--;else if(f.call(this,l,n))return e.call(this,l,n)}if(Ln.has(u))a++;if(vn.has(u))a--;if(a<0)return e.call(this,l,n);n++}}tagPostfixConditionals(){let n=null,f=(a,i)=>{return a[0]==="TERMINATOR"||a[0]==="INDENT"&&!hf.has(this.tokens[i-1]?.[0])},e=(a)=>{if(a[0]!=="INDENT"||a.generated&&!a.fromThen)n[0]="POST_"+n[0]};this.scanTokens((a,i)=>{if(a[0]!=="IF"&&a[0]!=="UNLESS")return 1;if(this.tokens[i-1]?.[0]==="INTERPOLATION_START")return 1;return n=a,this.detectEnd(i+1,f,e),1})}rewriteTaggedTemplates(){let n=this.tokens;for(let f=n.length-2;f>=0;f--)if(n[f][0]==="IDENTIFIER"&&n[f][1]==="$"&&(n[f+1]?.[0]==="STRING"||n[f+1]?.[0]==="STRING_START")){let e=n[f-1];if(e&&Te.has(e[0])){if(n.splice(f,1),e.spaced=!1,n[f].spaced=!1,n[f].pre=0,n[f].newLine)n[f].newLine=!1}}}addImplicitBracesAndParens(){let n=[],f=!1;this.scanTokens((e,a,i)=>{let[l]=e,u=i[a-1]||[],t=i[a+1]||[],[c]=u,[r]=t,h=a,o=(F)=>a-h+F,s=()=>n[n.length-1],w=(F)=>F?.[2]?.ours,_=()=>w(s())&&s()?.[0]==="(",y=()=>w(s())&&s()?.[0]==="{",m=(F)=>{n.push(["(",F,{ours:!0}]),i.splice(F,0,Bn("CALL_START","("))},D=()=>{n.pop(),i.splice(a,0,Bn("CALL_END",")")),a+=1},U=(F,K={})=>{n.push(["{",F,{sameLine:!0,startsLine:K.startsLine??!0,ours:!0}]);let H=Bn("{","{");if(!H.data)H.data={};H.data.generated=!0,i.splice(F,0,H)},R=(F)=>{F=F??a,n.pop(),i.splice(F,0,Bn("}","}")),a+=1},A=l==="FOR"&&!e.newLine&&je.has(c);if((_()||y())&&Ve.has(l)&&!A)return n.push(["CONTROL",a,{ours:!0}]),o(1);if(l==="INDENT"&&w(s())){if(c!=="=>"&&c!=="->"&&c!=="["&&c!=="("&&c!==","&&c!=="{"&&c!=="ELSE"&&c!=="=")while(_()||y()&&c!==":")if(_())D();else R();if(s()?.[2]?.ours&&s()[0]==="CONTROL")n.pop();return n.push([l,a]),o(1)}if(Ln.has(l))return n.push([l,a]),o(1);if(vn.has(l)){while(w(s()))if(_())D();else if(y())R();else n.pop();n.pop()}let E=!1;if(r==="-"&&!t.spaced&&!t.newLine&&ai(e))for(let F=a;F<i.length-2;F+=2){if(!Xi(i[F+1],i[F+2]))break;if(!ai(i[F+2]))break;if(i[F+3]?.[0]===":"){E=!0;break}}if(!E&&ru.has(l)&&e.spaced&&(Gi.has(r)||r==="..."&&Gi.has(i[a+2]?.[0])||Be.has(r)&&!t.spaced&&!t.newLine)&&!((l==="]"||l==="}")&&(r==="->"||r==="=>")))return m(a+1),o(2);if(ru.has(l)&&this.tokens[a+1]?.[0]==="INDENT"&&this.looksObjectish(a+2)&&!this.findTagsBackwards(a,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return m(a+1),n.push(["INDENT",a+2]),o(3);if(l==="TERNARY")f=!0;if(l===":"){if(f)return f=!1,o(1);if(ai(i[a-1])&&Xi(i[a-2],i[a-1])){let H=a-2;while(H>=2&&Xi(i[H],i[H+1])&&ai(i[H-1]))H-=2;if(H+=1,ai(i[H])){let G="";for(let j=H;j<a;j++)G+=i[j][1];let B=Bn("STRING",`"${G}"`,i[H]);B.pre=i[H].pre,B.spaced=i[H].spaced,B.newLine=i[H].newLine,B.loc=i[H].loc,i.splice(H,a-H,B),a=H+1}}let F=vn.has(this.tokens[a-1]?.[0])?n[n.length-1]?.[1]??a-1:a-1;if(this.tokens[a-2]?.[0]==="@")F=a-2;let K=F<=0||si.has(this.tokens[F-1]?.[0])||this.tokens[F-1]?.newLine;if(s()){let[H,G]=s(),B=n[n.length-2],j=(b)=>b==="{"||b==="MAP_START"||b==="PICK_START"||b==="OPTPICK_START";if((j(H)||H==="INDENT"&&j(B?.[0])&&!w(B))&&(K||this.tokens[F-1]?.[0]===","||j(this.tokens[F-1]?.[0])||j(this.tokens[F]?.[0])))return o(1)}return U(F,{startsLine:!!K}),o(2)}if(si.has(l))for(let F=n.length-1;F>=0;F--){if(!w(n[F]))break;if(n[F][0]==="{")n[F][2].sameLine=!1}let M=c==="OUTDENT"||u.newLine,q=l==="||"||l==="&&"||l==="??",S=!1;if(q){let F=a+1,K=i[F]?.[0];if(K==="("||K==="["||K==="{"){for(let H=1;++F<i.length&&H>0;)if(K=i[F][0],K==="("||K==="["||K==="{")H++;else if(K===")"||K==="]"||K==="}")H--}else if(K&&K!=="TERMINATOR"&&K!=="OUTDENT"&&K!==",")F++;S=i[F]?.[0]===","}let Q=(F)=>{for(let K=0;F<i.length;F++){let H=i[F][0];if(H==="("||H==="["||H==="{"||H==="CALL_START"||H==="INDEX_START"||H==="INDENT")K++;else if(H===")"||H==="]"||H==="}"||H==="CALL_END"||H==="INDEX_END"||H==="OUTDENT"){if(K===0)return!1;K--}else if(H==="TERMINATOR"&&K===0)return this.looksObjectish(F+1)}return!1};if(ge.has(l)&&!S||sf.has(l)&&M)while(w(s())){let[F,,{sameLine:K,startsLine:H}]=s();if(_()&&c!==",")D();else if(y()&&!q&&K&&l!=="TERMINATOR"&&c!==":"&&!((l==="POST_IF"||l==="POST_UNLESS")&&Q(a+1)))R();else if(y()&&l==="TERMINATOR"&&c!==","&&!(H&&this.looksObjectish(a+1)))R();else if(s()?.[2]?.ours&&s()[0]==="CONTROL"&&i[s()[1]]?.[0]==="CLASS"&&l==="TERMINATOR")n.pop();else break}if(l===","&&!this.looksObjectish(a+1)&&y()&&(r!=="TERMINATOR"||!this.looksObjectish(a+2))){let F=r==="OUTDENT"?1:0;while(y())R(a+F)}return o(1)})}addImplicitCallCommas(){let n=0,f=0,e=this.tokens;while(f<e.length){let a=e[f][0],i=f>0?e[f-1][0]:null;if(a==="CALL_START"||a==="(")n++;if(a==="CALL_END"||a===")")n--;if(n>0&&(a==="->"||a==="=>")&&Ce.has(i))e.splice(f,0,Bn(",",",")),f++;f++}}scanTokens(n){let f=0;while(f<this.tokens.length)f+=n.call(this,this.tokens[f],f,this.tokens)}detectEnd(n,f,e,a={}){let i=0;while(n<this.tokens.length){let l=this.tokens[n];if(i===0&&f.call(this,l,n))return e.call(this,l,n);if(Ln.has(l[0]))i++;if(vn.has(l[0]))i--;if(i<0){if(a.returnOnNegativeLevel)return;return e.call(this,l,n)}n++}}closeMergeAssignments(){let n=this.tokens;for(let f=0;f<n.length;f++){if(!n[f].mergeClose)continue;let e=0;for(let a=f+1;a<n.length;a++){let i=n[a][0];if(i==="("||i==="["||i==="{"||i==="CALL_START"||i==="INDEX_START"||i==="INDENT")e++;if(i===")"||i==="]"||i==="}"||i==="CALL_END"||i==="INDEX_END"||i==="OUTDENT")e--;if(e<0||e===0&&i==="TERMINATOR"){n.splice(a,0,Bn("CALL_END",")",n[a-1]));break}if(a===n.length-1){n.splice(a+1,0,Bn("CALL_END",")",n[a]));break}}}}commaInImplicitCall(n){let f=0;for(let e=n-1;e>=0;e--){let a=this.tokens[e][0];if(vn.has(a)){f++;continue}if(Ln.has(a)){if(a==="INDENT")return!1;if(f--,f<0)return!1;continue}if(f>0)continue;if(ru.has(a)&&this.tokens[e].spaced){let i=this.tokens[e+1]?.[0];return Gi.has(i)||i==="..."&&Gi.has(this.tokens[e+2]?.[0])}}return!1}commaInImplicitObject(n){let f=0;for(let e=n-1;e>=0;e--){let a=this.tokens[e][0];if(vn.has(a)){f++;continue}if(Ln.has(a)){if(f--,f<0)return!1;continue}if(f>0)continue;if(a===":"&&e>0&&this.tokens[e-1][0]==="PROPERTY")return this.looksObjectish(n+1);if(si.has(a))return!1}return!1}looksObjectish(n){if(!this.tokens[n])return!1;if(this.tokens[n]?.[0]==="@"&&this.tokens[n+2]?.[0]===":")return!0;if(this.tokens[n+1]?.[0]===":")return!0;if(ai(this.tokens[n]))for(let f=n+1;f<this.tokens.length;f+=2){if(!Xi(this.tokens[f],this.tokens[f+1]))break;if(!ai(this.tokens[f+1]))break;if(this.tokens[f+2]?.[0]===":")return!0}if(Ln.has(this.tokens[n]?.[0])){let f=null;if(this.detectEnd(n+1,(e)=>vn.has(e[0]),(e,a)=>f=a),f&&this.tokens[f+1]?.[0]===":")return!0}return!1}findTagsBackwards(n,f){let e=new Set(f),a=[];while(n>=0){let i=this.tokens[n]?.[0];if(!a.length&&e.has(i))return!0;if(vn.has(i))a.push(i);if(Ln.has(i)&&a.length)a.pop();if(!a.length&&(Ln.has(i)&&!this.tokens[n]?.generated||si.has(i)))break;n--}return!1}makeIndentation(n){let f=Bn("INDENT",2),e=Bn("OUTDENT",2);if(n)f.generated=e.generated=!0,f.origin=e.origin=n;else f.explicit=e.explicit=!0;return[f,e]}}ef(Tn);di(Tn);var qa=["abort","animationcancel","animationend","animationiteration","animationstart","auxclick","beforeinput","beforematch","beforetoggle","blur","cancel","canplay","canplaythrough","change","click","close","command","compositionend","compositionstart","compositionupdate","contextlost","contextmenu","contextrestored","copy","cuechange","cut","dblclick","drag","dragend","dragenter","dragleave","dragover","dragstart","drop","durationchange","emptied","ended","error","focus","focusin","focusout","formdata","fullscreenchange","fullscreenerror","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadeddata","loadedmetadata","loadstart","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","paste","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointermove","pointerout","pointerover","pointerrawupdate","pointerup","progress","ratechange","reset","resize","scroll","scrollend","securitypolicyviolation","seeked","seeking","select","selectionchange","selectstart","slotchange","stalled","submit","suspend","timeupdate","toggle","touchcancel","touchend","touchmove","touchstart","transitioncancel","transitionend","transitionrun","transitionstart","volumechange","waiting","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend","wheel"],Af=new Set(qa);var Ea=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","menu","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","script","search","section","select","slot","small","source","span","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"];var Sa=["animate","animateMotion","animateTransform","circle","clipPath","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","foreignObject","g","image","line","linearGradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialGradient","rect","set","stop","svg","switch","symbol","text","textPath","tspan","use","view"],Fa=["math","param","portal"],Df=new Set([...Ea,...Fa]),pn=new Set(Sa),ti=new Set([...Df,...pn]);var Rf="__bind_",Mf="__",Uf=new Set(["beforeMount","mounted","beforeUnmount","unmounted","onError"]),qf="{ status?: number; message?: string; error?: Error; path?: string }",za=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert"]),hu="http://www.w3.org/2000/svg";function Ha(n){for(let f of n){if(!Array.isArray(f))continue;let e=f[1]instanceof String?f[1].valueOf():f[1],a=f[2]instanceof String?f[2].valueOf():f[2];if(e==="type"&&typeof a==="string")return a.replace(/^["']|["']$/g,"")}return null}function Vn(n){if(typeof n==="string"||n instanceof String)return n.valueOf();if(Array.isArray(n)&&n[0]==="."&&n[1]==="this"&&(typeof n[2]==="string"||n[2]instanceof String))return n[2].valueOf();return null}function su(n){return Array.isArray(n)&&n[0]==="."&&n[1]==="this"}function qi(n){if(n instanceof String&&n.type)return n.type;if(Array.isArray(n)&&n[2]instanceof String&&n[2].type)return n[2].type;return null}function ou(n){if(n instanceof String&&n.optional)return!0;if(Array.isArray(n)&&n[2]instanceof String&&n[2].optional)return!0;return!1}function Ef(n){let f=[];while(Array.isArray(n)&&n[0]==="."){let e=n[2];if(!(typeof e==="string"||e instanceof String))return null;f.unshift(e.valueOf()),n=n[1]}if(typeof n==="string"||n instanceof String)f.unshift(n.valueOf());else return null;return f}function Ka(n){let f,e=n;if(Array.isArray(n)&&Array.isArray(n[0])&&n[0][0]==="."){if(n.length!==2)return{error:"a keyed gate takes exactly one key argument"};e=n[0],f=n[1]}let a=Ef(e);if(!a)return{error:"'<~' requires a literal @app.data.… path on the right-hand side"};if(a[0]==="this")a.shift();if(a[0]!=="app"||a[1]!=="data"||a.length<3)return{error:"'<~' requires a literal @app.data.… path on the right-hand side"};return{path:a.slice(2).join("."),keyExpr:f}}function Qa(n){let f={error:"a keyed gate key may only reference params or query (e.g. params.id)"},e=typeof n==="string"||n instanceof String?n.valueOf():null;if(e!=null){if(/^-?[\d.]/.test(e)||e.startsWith('"')||e.startsWith("'"))return{code:e,stubCode:e};return f}let a=Ef(n);if(!a)return f;if(a[0]==="this")a.shift();if(a[0]!=="params"&&a[0]!=="query"||a.length<2)return f;let i=a.join(".");return{code:i,stubCode:`this.${i}`}}function Sf(n,f){let e=(r,h)=>r instanceof String?r[h]:void 0,a=f.prototype.classifyKeyword;f.prototype.classifyKeyword=function(r,h,o){if(r==="offer"||r==="accept"){let s=0;for(let w=this.tokens.length-1;w>=0;w--){let _=this.tokens[w][0];if(_==="OUTDENT")s++;else if(_==="INDENT")s--;if(s<0&&this.tokens[w-1]?.[0]==="COMPONENT")return r.toUpperCase()}return h}return a.call(this,r,h,o)},f.prototype.rewriteRender=function(){let r=(M,q,S)=>{let Q=[M,q];if(Q.pre=0,Q.data=null,Q.loc=S?.loc??{r:0,c:0,n:0},Q.spaced=!1,Q.newLine=!1,Q.generated=!0,S)Q.origin=S;return Q},h=!1,o=0,s=0,w=[],_=[],y=(M)=>{let q=M.split("#")[0];return ti.has(q)},m=(M)=>{if(!M||typeof M!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(M)},D=(M)=>{return y(M)||m(M)},U=(M,q,S,Q)=>{let F=1,K=q;while(K>=0&&F>0){let H=M[K][0];if(H===S)F++;else if(H===Q)F--;if(F>0)K--}return K},R=(M,q)=>{let S=q;while(S>0&&M[S][0]==="OUTDENT")S=U(M,S-1,"OUTDENT","INDENT");while(S>0){let Q=M[S-1][0];if(Q==="TERMINATOR"||Q==="RENDER")break;if(Q==="OUTDENT"){S=U(M,S-2,"OUTDENT","INDENT");continue}if(Q==="INDENT"){let F=M[S][0];if(F==="CALL_END"||F===")"){S=U(M,S-1,F,F==="CALL_END"?"CALL_START":"(");continue}break}if(Q==="CALL_END"||Q===")"){S=U(M,S-2,Q,Q==="CALL_END"?"CALL_START":"(");continue}if(Q==="INTERPOLATION_END"){S=U(M,S-2,"INTERPOLATION_END","INTERPOLATION_START");continue}if(Q==="STRING_END"){S=U(M,S-2,"STRING_END","STRING_START");continue}S--}return M[S]&&M[S][0]==="IDENTIFIER"&&(D(M[S][1])||(S===0||M[S-1][0]==="INDENT"||M[S-1][0]==="TERMINATOR"||M[S-1][0]==="RENDER"))},A=(M,q)=>{let S=0;for(let Q=q-1;Q>=0;Q--){let F=M[Q][0];if(F===")"||F==="CALL_END"||F==="]"||F==="INDEX_END"||F==="}"||F==="MAP_END"||F==="INTERPOLATION_END"||F==="STRING_END")S++;else if(F==="("||F==="CALL_START"||F==="["||F==="INDEX_START"||F==="{"||F==="MAP_START"||F==="INTERPOLATION_START"||F==="STRING_START"){if(S===0)return 1;S--}else if(F==="TERMINATOR"||F==="RENDER"||F==="INDENT"||F==="OUTDENT")break}return 0},E=(M,q)=>{let S=q>0?M[q-1]:null;if(!S)return!1;if(A(M,q)!==0)return!1;let Q=S[0];if((Q===","||Q==="IDENTIFIER"||Q==="PROPERTY")&&R(M,q))return!0;if((Q==="INDENT"||Q==="TERMINATOR")&&_.includes(s))return!0;return!1};this.scanTokens(function(M,q,S){let Q=M[0],F=q<S.length-1?S[q+1]:null;if(Q==="RENDER")return h=!0,o=s+1,1;if(Q==="INDENT")return s++,1;if(Q==="OUTDENT"){s--;while(_.length>0&&_[_.length-1]>s)_.pop();let K=0;while(w.length>0&&w[w.length-1]>s){let H=r("CALL_END",")",M);S.splice(q+1+K,0,H),w.pop(),K++}if(h&&s<o)h=!1;return 1+K}if(!h)return 1;if(Q==="="&&q>0){let K=S[q-1][0];if(K==="TERMINATOR"||K==="INDENT"||K==="RENDER"){let H=r("IDENTIFIER","__text__",M),G=r("CALL_START","(",M);return S.splice(q,1,H,G),this.detectEnd(q+2,(B)=>B[0]==="TERMINATOR"||B[0]==="OUTDENT",(B,j)=>S.splice(j,0,r("CALL_END",")",B)),{returnOnNegativeLevel:!0}),2}}if(Q==="UNARY_MATH"&&M[1]==="~"&&F&&F[0]==="IDENTIFIER"){M[0]="PROPERTY",M[1]="__transition__";let K=r(":",":",M),H=r("STRING",`"${F[1]}"`,F);return S.splice(q+1,1,K,H),1}if(Q==="PROPERTY"&&M[1][0]==="$"&&M[1].length>1)return M[0]="STRING",M[1]=`"data-${M[1].slice(1)}"`,1;if(Q==="IDENTIFIER"&&!M.spaced){let K=[M[1]],H=q+1;while(H+1<S.length){let G=S[H],B=S[H+1];if(G[0]==="-"&&!G.spaced&&(B[0]==="IDENTIFIER"||B[0]==="PROPERTY")){if(K.push(B[1]),H+=2,B[0]==="PROPERTY")break}else break}if(K.length>1&&H>q+1&&S[H-1][0]==="PROPERTY"){let G=K.join("-");if(G[0]==="$")G="data-"+G.slice(1);return M[0]="STRING",M[1]=`"${G}"`,S.splice(q+1,H-q-1),1}}if(Q==="."){let K=q>0?S[q-1]:null,H=K?K[0]:null;if(H==="INDENT"||H==="TERMINATOR"){if(F&&F[0]==="PROPERTY"){let G=q+2<S.length?S[q+2]:null;if(!G||G[0]!==":"){let B=r("IDENTIFIER","div",M);return S.splice(q,0,B),2}}if(!F||F[0]!=="(")return M[0]="IDENTIFIER",M[1]="div",0}}if(Q==="IDENTIFIER"||Q==="PROPERTY"){let K=S[q+1],H=S[q+2];if(K&&K[0]==="#"&&H&&(H[0]==="PROPERTY"||H[0]==="IDENTIFIER")){if(M[1]=M[1]+"#"+H[1],H.spaced)M.spaced=!0;return S.splice(q+1,2),0}}if(Q==="BIND"){let K=q>0?S[q-1]:null,H=S[q+1];if(K&&(K[0]==="IDENTIFIER"||K[0]==="PROPERTY")&&H&&H[0]==="IDENTIFIER")return K[1]=`__bind_${K[1]}__`,M[0]=":",M[1]=":",1}if(Q==="@"){let K=q+1;if(K<S.length&&S[K][0]==="PROPERTY"){let H=String(S[K][1]);K++;while(K+1<S.length&&S[K][0]==="."&&S[K+1][0]==="PROPERTY")K+=2;if(!(K>q+2)&&(K>=S.length||S[K][0]!==":")&&E(S,q)){let B="on"+H[0].toUpperCase()+H.slice(1),j=new String(B);j.generatedBareEvent=H,S.splice(K,0,r(":",":",M),r("@","@",M),r("PROPERTY",j,M))}if(K>q+2&&K<S.length&&S[K][0]===":"){let B=r("[","[",M);S.splice(q,0,B);let j=r("]","]",S[K+1]);return S.splice(K+1,0,j),2}}}if(Q==="."&&F&&F[0]==="("){let K=q>0?S[q-1]:null,H=K?K[0]:null,G=H==="INDENT"||H==="TERMINATOR",B=r("PROPERTY","__clsx",M);F[0]="CALL_START";let j=1;for(let b=q+2;b<S.length&&j>0;b++)if(S[b][0]==="("||S[b][0]==="CALL_START")j++;else if(S[b][0]===")"){if(j--,j===0)S[b][0]="CALL_END"}else if(S[b][0]==="CALL_END")j--;if(G){let b=r("IDENTIFIER","div",M);return S.splice(q,0,b),S.splice(q+2,0,B),3}else if(H===":")return S[q]=r("IDENTIFIER","__clsx",M),1;else return S.splice(q+1,0,B),2}if(F&&F[0]==="INDENT"){if(F.fromThen)return 1;if(Q==="->"||Q==="=>"||Q==="CALL_START"||Q==="(")return 1;let K=!1,H=q>0?S[q-1][0]:null,G=H==="IF"||H==="UNLESS"||H==="WHILE"||H==="UNTIL"||H==="WHEN"||H==="FORIN"||H==="FOROF"||H==="FORAS"||H==="FORASAWAIT"||H==="BY",B=!1;if(Q==="CALL_END"){let b=1;for(let ln=q-1;ln>=0&&b>0;ln--)if(S[ln][0]==="CALL_END")b++;else if(S[ln][0]==="CALL_START"){if(b--,b===0&&ln>0&&S[ln-1][0]==="PROPERTY"&&S[ln-1][1]==="__clsx")B=!0}}let j=Q==="IDENTIFIER"&&(H==="INDENT"||H==="TERMINATOR"||H==="RENDER");if(B)K=!0;else if(Q==="IDENTIFIER"&&D(M[1])&&!G)K=!0;else if(Q==="IDENTIFIER"&&!G)K=j||R(S,q);else if(Q==="PROPERTY"||Q==="STRING"||Q==="STRING_END"||Q==="NUMBER"||Q==="BOOL"||Q==="CALL_END"||Q===")"||Q==="]"||Q==="INDEX_END"||Q==="}"||Q==="MAP_END"||Q==="PRESENCE")K=R(S,q);if(K){let b=!1;if(Q==="PROPERTY"&&q>0&&S[q-1][0]==="."){let nn=q;while(nn>=2&&S[nn-1][0]==="."&&S[nn-2][0]==="PROPERTY")nn-=2;if(nn>=2&&S[nn-1][0]==="."&&S[nn-2][0]==="IDENTIFIER"&&D(S[nn-2][1])){let N=nn>=3?S[nn-3][0]:null;if(!N||N==="INDENT"||N==="OUTDENT"||N==="TERMINATOR"||N==="RENDER")b=!0}}if(B||Q==="IDENTIFIER"&&(D(M[1])||j)||b){let nn=r("CALL_START","(",M),N=r("->","->",M);return N.newLine=!0,S.splice(q+1,0,nn,N),w.push(s+1),_.push(s+1),3}else{let nn=r(",",",",M),N=r("->","->",M);return N.newLine=!0,S.splice(q+1,0,nn,N),_.push(s+1),3}}}if(Q==="IDENTIFIER"&&m(M[1])&&F&&(F[0]==="OUTDENT"||F[0]==="TERMINATOR"))return S.splice(q+1,0,r("CALL_START","(",M),r("CALL_END",")",M)),3;return 1})};let i=n.prototype;i.isHtmlTag=function(r){let h=r.split("#")[0];return ti.has(h.toLowerCase())},i.isComponent=function(r){if(!r||typeof r!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(r)},i.collectTemplateClasses=function(r){let h=[],o=r;while(this.is(o,".")){let y=o[2];if(typeof y==="string"||y instanceof String)h.unshift(y.valueOf());o=o[1]}let s=typeof o==="string"?o:o instanceof String?o.valueOf():null;if(s===null)return{tag:null,classes:h,id:void 0,base:o};let[w,_]=s.split("#");if(!w)w="div";return{tag:w,classes:h,id:_,base:o}};let l=(r)=>typeof r==="string"?r:r instanceof String?r.valueOf():null,u=(r,h)=>{if(!(r instanceof String))return h;let o=new String(h);if(r.optional)o.optional=!0;if(r.bang)o.bang=!0;return o.optional||o.bang?o:h};i.addBodyRipSrcMarkers=function(r,h){if(typeof r!=="string"||!r)return r;let o=Array.isArray(h)&&h[0]==="block"?h.slice(1):Array.isArray(h)?[h]:[];if(o.length===0)return r;let s=(m)=>{if(m==null)return null;if(!Array.isArray(m))return m?.loc?.r??null;if(m.loc?.r)return m.loc.r;if(m[0]?.loc?.r)return m[0].loc.r;for(let D of m){if(D?.loc?.r)return D.loc.r;if(Array.isArray(D)){let U=s(D);if(U!=null)return U}}return null},w=o.map(s);if(w.every((m)=>m==null))return r;let _=r.split(`
1883
+ `),y=0;for(let m=0;m<_.length&&y<w.length;m++){let D=_[m].trim();if(!D)continue;if(D==="{"||D==="}"||D.startsWith("//"))continue;if(_[m].includes("@rip-src:")){y++;continue}if(w[y]!=null)_[m]=`${_[m]} // @rip-src:${w[y]}`;y++}return _.join(`
1884
+ `)},i.transformComponentMembers=function(r,h=new Set){let o=this._self;if(!Array.isArray(r)){let s=l(r);if(s&&h.has(s))return r;if(s&&this.reactiveMembers&&this.reactiveMembers.has(s))return[".",[".",o,s],u(r,"value")];if(s&&this.componentMembers&&this.componentMembers.has(s))return[".",o,u(r,s)];return r}if(r[0]==="."&&r[1]==="this"&&l(r[2])!=null){let s=r[2],w=l(s);if(this.reactiveMembers&&this.reactiveMembers.has(w))return[".",[".",o,w],u(s,"value")];return this._factoryMode?[".",o,s]:r}if(r[0]==="."||r[0]==="?.")return[r[0],this.transformComponentMembers(r[1]),r[2]];if(r[0]==="->"){let s=r[1],w=new Set(h);if(Array.isArray(s))for(let _ of s){let y=l(Array.isArray(_)&&_[0]==="default"?_[1]:_);if(y)w.add(y)}return["=>",r[1],this.transformComponentMembers(r[2],w)]}if(r[0]==="object"||r[0]==="map-literal")return[r[0],...r.slice(1).map((s)=>{if(Array.isArray(s)&&s[0]==="...")return["...",this.transformComponentMembers(s[1],h)];if(Array.isArray(s)&&s.length>=2){let w=s[1],_=Array.isArray(w)?this.transformComponentMembers(w,h):w,y=this.transformComponentMembers(s[2],h);return[s[0],_,y]}return this.transformComponentMembers(s,h)})];if(r[0]==="block"||r[0]==="program"){let s=new Set(h),w=[r[0]];for(let _=1;_<r.length;_++){let y=r[_];if(Array.isArray(y)&&y[0]==="="){let m=l(y[1]),D=m&&this.componentMembers&&this.componentMembers.has(m);if(m&&!D){w.push(["=",y[1],this.transformComponentMembers(y[2],s)]),s.add(m);continue}}w.push(this.transformComponentMembers(y,s))}return w}return r.map((s)=>this.transformComponentMembers(s,h))},i.emitComponent=function(r,h,o,s){let[,w]=h,_=this.is(w,"block")?w.slice(1):[],y=[],m=[],D=[],U=[],R=[],A=[],E=[],M=[],q=[],S=[],Q=null,F=new Set,K=new Set;for(let X of _){if(!Array.isArray(X))continue;let[W]=X;if(W==="offer"){if(X=X[1],!Array.isArray(X))continue;W=X[0];let d=Vn(X[1]);if(d)q.push(d)}if(W==="accept"){let d=typeof X[1]==="string"?X[1]:Vn(X[1]);if(d)S.push(d),F.add(d),K.add(d)}else if(W==="."&&X[1]==="this"&&Vn(X)){let d=typeof X[2]==="string"||X[2]instanceof String?X[2].valueOf():null;if(d){let z=ou(X);y.push({name:d,value:void 0,isPublic:!0,type:X[2]?.type||null,required:!z,optional:z,srcLine:X.loc?.r}),F.add(d),K.add(d)}}else if(W==="state"){let d=Vn(X[1]);if(d)y.push({name:d,value:X[2],isPublic:su(X[1]),type:qi(X[1]),optional:ou(X[1]),srcLine:X.loc?.r}),F.add(d),K.add(d)}else if(W==="computed"){let d=Vn(X[1]);if(d)D.push({name:d,expr:X[2],type:qi(X[1]),srcLine:X.loc?.r}),F.add(d),K.add(d)}else if(W==="gate"){let d=Vn(X[1]);if(d){let z=Ka(X[2]);if(z.error)this.error(z.error,X);let Z=null;if(z.keyExpr!==void 0){if(Z=Qa(z.keyExpr),Z.error)this.error(Z.error,X)}U.push({name:d,path:z.path,key:Z,type:qi(X[1]),srcLine:X.loc?.r}),F.add(d),K.add(d)}}else if(W==="readonly"){let d=Vn(X[1]);if(d)R.push({name:d,value:X[2],isPublic:su(X[1]),type:qi(X[1]),optional:ou(X[1]),srcLine:X.loc?.r}),F.add(d)}else if(W==="="){let d=Vn(X[1]);if(d)if(Uf.has(d))E.push({name:d,value:X[2]});else{let z=X[2];if(Array.isArray(z)&&(z[0]==="->"||z[0]==="=>"))A.push({name:d,func:z}),F.add(d);else m.push({name:d,value:z,isPublic:su(X[1]),type:qi(X[1]),node:X,srcLine:X.loc?.r}),F.add(d)}}else if(W==="effect")M.push(X);else if(W==="render")Q=X;else if(W==="object")for(let d=1;d<X.length;d++){let z=X[d];if(!Array.isArray(z))continue;let[,Z,g]=z;if(typeof Z==="string"&&Uf.has(Z))E.push({name:Z,value:g});else if(typeof Z==="string")A.push({name:Z,func:g}),F.add(Z)}}if(U.length>0){if(!this._gateDecls)this._gateDecls=[];for(let{path:X,key:W,srcLine:d}of U)this._gateDecls.push({path:X,keyed:!!W,line:(d??0)+1})}if(m.length>0){let X=new Set(["=","+=","-=","*=","/=","%=","**=","//=","%%=","&&=","||=","??=","?=","&=","|=","^=","<<=",">>=",">>>="]),W=(g,P)=>{if(g==null)return!1;if(!Array.isArray(g))return(g.valueOf?g.valueOf():g)===P;let un=g[0]?.valueOf?.()??g[0];if(un==="."&&g[1]==="this")return(g[2]?.valueOf?.()??g[2])===P;if(X.has(un)){let k=W(g[2],P);return un==="="?k:k||W(g[1],P)}return g.some((k)=>W(k,P))},d=(g,P)=>{if(!Array.isArray(g))return;let un=g[0]?.valueOf?.()??g[0];if(X.has(un)||un==="++"||un==="--"){let k=Vn(g[1]);if(k)P.add(k)}for(let k of g)d(k,P)},z=new Set;for(let g of A)d(g.func,z);for(let g of M)d(g[2],z);for(let g of E)d(g.value,z);for(let g of D)d(g.expr,z);if(Q)d(Q,z);let Z=(g)=>{if(Q&&W(Q,g))return!0;for(let P of D)if(W(P.expr,g))return!0;return!1};for(let g of m){if(g.isPublic)continue;if(z.has(g.name)&&Z(g.name))this.error(`'${g.name}' is declared with '=' (a plain, non-reactive field) but it is read in render/computed AND reassigned — the UI will read it once and never update.`,g.node,{suggestion:`Declare it as reactive state: \`${g.name} := ...\``})}}if(R.length>0){let X=new Set(R.map((P)=>P.name)),W=new Set(["=","+=","-=","*=","/=","%=","**=","//=","%%=","&&=","||=","??=","?=","&=","|=","^=","<<=",">>=",">>>="]),d=(P)=>l(Array.isArray(P)&&(P[0]==="default"||P[0]==="rest")?P[1]:P),z=(P,un)=>this.error(`cannot assign to const member '${P}' (declared with =!); use '=' for a mutable field or ':=' for reactive state`,un),Z=(P,un)=>{if(!Array.isArray(P))return;let k=P[0]?.valueOf?.()??P[0];if(k==="->"||k==="=>"){let hn=new Set(un),mn=P[1];if(Array.isArray(mn))for(let O of mn){let T=d(O);if(T)hn.add(T)}Z(P[2],hn);return}if(k==="block"||k==="program"){let hn=new Set(un);for(let mn=1;mn<P.length;mn++){let O=P[mn];if(Z(O,hn),Array.isArray(O)&&O[0]==="="){let T=l(O[1]);if(T&&!X.has(T))hn.add(T)}}return}if(W.has(k)||k==="++"||k==="--"){let hn=P[1];if(Array.isArray(hn)&&hn[0]==="."&&hn[1]==="this"){let mn=l(hn[2]);if(mn&&X.has(mn))z(mn,P)}else{let mn=l(hn);if(mn&&X.has(mn)&&!un.has(mn))z(mn,P)}}for(let hn=1;hn<P.length;hn++)Z(P[hn],un)},g=(P)=>Array.isArray(P)&&(P[0]==="->"||P[0]==="=>")?P[2]:P;for(let P of A)Z(g(P.func),new Set);for(let P of M)Z(P[2],new Set);for(let P of E)Z(g(P.value),new Set);for(let P of D)Z(P.expr,new Set);if(Q)Z(Q,new Set)}let H=h[0]?.valueOf?.()??null,G=new Set;for(let{name:X,isPublic:W}of y)if(W)G.add(X);for(let{name:X,isPublic:W}of R)if(W)G.add(X);if(H)F.add("rest"),K.add("rest");let B=new Set;for(let{name:X}of y)B.add(X);let j=this.componentMembers,b=this.reactiveMembers,ln=this.refTargetMembers,nn=this._inheritsTag;if(this.componentMembers=F,this.reactiveMembers=K,this.refTargetMembers=B,this._inheritsTag=H||null,this.options.stubComponents){let X=(O)=>O?O.replace(/::/g,":"):null,W=[],d=this._componentTypeParams||"";W.push(`class ${d}{`),W.push(" declare _root: Element | null; declare app: any; declare router: any; declare params: Record<string, string>; declare query: Record<string, string>; declare children: any;");let z=new Set(E.map((O)=>O.name)),Z=[];if(!z.has("beforeMount"))Z.push("beforeMount?(): void;");if(!z.has("mounted"))Z.push("mounted?(): void;");if(!z.has("beforeUnmount"))Z.push("beforeUnmount?(): void;");if(!z.has("unmounted"))Z.push("unmounted?(): void;");if(!z.has("onError"))Z.push(`onError?(err: ${qf}): void;`);if(Z.length)W.push(" "+Z.join(" "));W.push(" emit(_name: string, _detail?: any): void {}");let g=[],P=[];for(let{name:O,type:T,isPublic:V,required:fn,optional:sn}of y){if(!V)continue;let tn=X(T)||"any";if(sn??!fn)g.push(`${O}?: ${tn}`),g.push(`__bind_${O}__?: Signal<${tn}>`);else P.push(`({ ${O}: ${tn}; __bind_${O}__?: Signal<${tn}> } | { ${O}?: ${tn}; __bind_${O}__: Signal<${tn}> })`)}for(let{name:O,type:T,isPublic:V}of R){if(!V)continue;let fn=X(T)||"any";g.push(`${O}?: ${fn}`)}for(let{name:O,type:T,isPublic:V}of m){if(!V)continue;let fn=X(T)||"any";g.push(`${O}?: ${fn}`)}{let O=P.length>0?"":"?",T=[];if(g.length)T.push(`{${g.join("; ")}}`);T.push(...P);let V=T.length?T.join(" & "):"{}";if(H)V+=` & __RipProps<'${H}'>`;let fn=[];for(let{name:sn,value:tn,isPublic:yn,srcLine:_n}of R){let An=this.emitInComponent(tn,"value"),wn=_n!=null?` // @rip-src:${_n}`:"";fn.push((yn?` this.${sn} = _props?.${sn} ?? ${An};`:` this.${sn} = ${An};`)+wn)}if(fn.length){W.push(` constructor(_props${O}: ${V}) {`);for(let sn of fn)W.push(sn);W.push(" }")}else W.push(` constructor(_props${O}: ${V}) {}`)}let un=(O)=>{let T=O?.valueOf?.()??O;if(typeof T!=="string")return null;if(T==="true"||T==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(T))return"number";if(T.startsWith('"')||T.startsWith("'"))return"string";return null},k=(O)=>{if(!Array.isArray(O)){if(typeof O==="string"||O instanceof String){let V=O.valueOf();return V==="this"||K.has(V)}return!1}let T=O[0]?.valueOf?.()??O[0];if(T==="->"||T==="=>")return!1;return O.some(k)},hn=[];for(let{name:O,type:T,value:V,isPublic:fn,optional:sn,srcLine:tn}of y){let yn=X(T)||un(V),_n=V===void 0||(V?.valueOf?.()??V)==="undefined",wn=yn?sn&&_n?`${yn} | undefined`:yn:null,Rn=tn!=null?` // @rip-src:${tn}`:"";if(!wn&&!fn&&!_n&&!k(V))hn.push({name:O,value:V,marker:Rn});else W.push((wn?` declare ${O}: Signal<${wn}>;`:` declare ${O}: Signal<any>;`)+Rn)}if(H)W.push(` declare rest: Signal<__RipProps<'${H}'>>;`);for(let{name:O,type:T,value:V}of R){let fn=X(T)||un(V);W.push(fn?` declare readonly ${O}: ${fn};`:` declare readonly ${O}: any;`)}for(let{name:O,type:T,value:V}of m){let fn=X(T)||un(V);W.push(fn?` declare ${O}: ${fn};`:` declare ${O}: any;`)}for(let{name:O,path:T,key:V,type:fn,srcLine:sn}of U){let tn=X(fn),yn=tn?`: Computed<${tn}>`:"",_n=V?`this.app.data.${T}(${V.stubCode})`:`this.app.data.${T}`,An=sn!=null?` // @rip-src:${sn}`:"";W.push(` ${O}${yn} = __computed(() => __ripGate(${_n}));`+An)}for(let{name:O,expr:T,type:V}of D){let fn=X(V),sn=fn?`: Computed<${fn}>`:"";if(this.is(T,"block")){let tn=this.transformComponentMembers(T),yn=this.emitFunctionBody(tn);W.push(` ${O}${sn} = __computed(() => ${yn});`)}else{let tn=this.emitInComponent(T,"value");W.push(` ${O}${sn} = __computed(() => ${tn});`)}}for(let{name:O,value:T,marker:V}of hn){let fn=this.emitInComponent(T,"value");W.push(` ${O} = __state(${fn});`+V)}W.push(" _init(props) {");for(let{name:O,value:T,isPublic:V,srcLine:fn}of m){let sn=this.emitInComponent(T,"value"),tn=fn!=null?` // @rip-src:${fn}`:"";W.push((V?` this.${O} = props.${O} ?? ${sn};`:` this.${O} = ${sn};`)+tn)}for(let{name:O,value:T,isPublic:V,required:fn,type:sn,srcLine:tn}of y){if(hn.some((_n)=>_n.name===O))continue;let yn=tn!=null?` // @rip-src:${tn}`:"";if(V&&(fn||T===void 0))W.push(` this.${O} = __state(props.__bind_${O}__ ?? props.${O});`+yn);else if(V){let _n=this.emitInComponent(T,"value");W.push(` this.${O} = __state(props.__bind_${O}__ ?? props.${O} ?? ${_n});`+yn)}else{let _n=this.emitInComponent(T,"value");W.push(` this.${O} = __state(${_n});`+yn)}}for(let O of M){let T=O[2],V=this.containsAwait(T)?"async ":"";if(this.is(T,"block")){let fn=this.transformComponentMembers(T),sn=this.emitFunctionBody(fn);W.push(` __effect(${V}() => ${sn});`)}else{let fn=this.emitInComponent(T,"value");W.push(` __effect(${V}() => { return ${fn}; });`)}}W.push(" }");let mn=new Map;if(Q){let O=(T)=>{if(!Array.isArray(T))return;let V=T[0]?.valueOf?.()??T[0];if(typeof V==="string"&&V!=="object"&&V!=="switch"&&ti.has(V.split(/[.#]/)[0]))for(let fn=1;fn<T.length;fn++){let sn=T[fn],tn=this.is(sn,"object")?sn:null;if(!tn&&Array.isArray(sn)&&(sn[0]==="->"||sn[0]==="=>")&&this.is(sn[2],"block")){for(let yn=1;yn<sn[2].length;yn++)if(this.is(sn[2][yn],"object")){tn=sn[2][yn];break}}if(!tn)continue;for(let yn=1;yn<tn.length;yn++){let _n=tn[yn];if(!Array.isArray(_n)||_n.length<2)continue;let[,An,wn]=_n;if(Array.isArray(An)&&An[0]==="."&&An[1]==="this"){let Rn=typeof An[2]==="string"?An[2]:An[2]?.valueOf?.(),v=null;if(Array.isArray(wn)&&wn[0]==="."&&wn[1]==="this")v=typeof wn[2]==="string"?wn[2]:wn[2]?.valueOf?.();else{let an=typeof wn==="string"?wn:wn instanceof String?wn.valueOf():null;if(an&&this.componentMembers?.has(an))v=an}if(Rn&&v&&!mn.has(v))mn.set(v,Rn)}}}for(let fn=1;fn<T.length;fn++)O(T[fn])};O(Q)}for(let{name:O,func:T}of A)if(Array.isArray(T)&&(T[0]==="->"||T[0]==="=>")){let[,V,fn]=T;if((!V||Array.isArray(V)&&V.length===0)&&this.containsIt(fn))V=["it"];let sn=Array.isArray(V)?V.map((wn)=>this.formatParam(wn)).join(", "):"",tn=mn.get(O);if(tn&&Array.isArray(V)&&V.length>0){let wn=V[0];if(!(wn?.type||wn instanceof String&&wn.type)&&typeof(wn?.valueOf?.()??wn)==="string"){let v=wn?.valueOf?.()??wn;sn=sn.replace(v,`${v}: HTMLElementEventMap['${tn}']`)}}let yn=this.reactiveMembers?this.transformComponentMembers(fn):fn,_n=this.containsAwait(fn),An=this.emitFunctionBody(yn,V||[]);An=this.addBodyRipSrcMarkers(An,fn),W.push(` ${_n?"async ":""}${O}(${sn}) ${An}`)}for(let{name:O,value:T}of E)if(Array.isArray(T)&&(T[0]==="->"||T[0]==="=>")){let[,V,fn]=T,sn=Array.isArray(V)?V.map((An)=>this.formatParam(An)).join(", "):"";if(O==="onError"&&Array.isArray(V)&&V.length===1){let An=V[0];if((typeof An==="string"||An instanceof String)&&!e(An,"type"))sn=`${An.valueOf()}: ${qf}`}let tn=this.reactiveMembers?this.transformComponentMembers(fn):fn,yn=this.containsAwait(fn),_n=this.emitFunctionBody(tn,V||[]);_n=this.addBodyRipSrcMarkers(_n,fn),W.push(` ${yn?"async ":""}${O}(${sn}) ${_n}`)}if(Q){let O=[],T=0,V=this.options.source?.split(`
1885
+ `),fn=(v)=>typeof v==="string"&&/^["'`]\//.test(v)?`__ripRoute(${v})`:v,sn=/^[a-zA-Z_$][\w$]*$/,tn=(v)=>typeof v==="string"&&sn.test(v)&&!/^(?:true|false|null|undefined)$/.test(v)&&!n.GENERATORS[v]&&!this._isInScopeValue(v),yn=(v,an)=>{if(an==null||!V)return an;let En=new RegExp(`(?<![\\w$.#@])${v}(?![\\w$])`);for(let Un=an;Un<V.length;Un++)if(V[Un]&&En.test(V[Un]))return Un;return an},_n=(v,an,En)=>{let Un=yn(v,an);if(Un!=null&&Un===En)return;O.push(` ({ ${v}: true });`+(Un!=null?` // @rip-src:${Un}`:""))},An=(v,an)=>{let En=[],Un=[];for(let I of v){let L=null;if(this.is(I,"object"))L=I;else if(Array.isArray(I)&&(I[0]==="->"||I[0]==="=>")&&this.is(I[2],"block")){let $=I[2].loc?.r??an;for(let en=1;en<I[2].length;en++){let rn=I[2][en];if(this.is(rn,"object")){if(!L)L=rn}else if(tn(rn))_n(rn,$,an)}}else if(tn(I)){_n(I,an,an);continue}if(L)for(let $=1;$<L.length;$++){let en=L[$],[,rn,x]=en,cn=en.loc?.r??L.loc?.r;if(Array.isArray(rn)&&rn[0]==="."&&rn[1]==="this"){try{let Mn=this.emitInComponent(x,"value");Un.push({code:Mn,srcLine:cn})}catch{}continue}if(typeof rn==="string"&&rn.startsWith("@")){try{let Mn=this.emitInComponent(x,"value");Un.push({code:Mn,srcLine:cn})}catch{}continue}if(typeof rn==="string")if(rn.startsWith("__bind_")&&rn.endsWith("__")){let Mn=typeof x==="string"&&this.reactiveMembers?.has(x)?`this.${x}`:this.emitInComponent(x,"value");En.push({code:`${rn}: ${Mn}`,srcLine:cn})}else{let Mn=this.emitInComponent(x,"value"),on=rn==="href"?fn(Mn):Mn;En.push({code:`${rn}: ${on}`,srcLine:cn})}}}return En.sideExprs=Un,En},wn=(v,an,En)=>{let Un=[],I=(L)=>{if(an!=="a")return L;if(typeof L!=="string")return L;if(L.length<2)return L;if(L[0]!=="`")return L;if(L[1]!=="/")return L;return`__ripRoute(${L})`};for(let L of v){let $=null;if(this.is(L,"object"))$=L;else if(Array.isArray(L)&&(L[0]==="->"||L[0]==="=>")&&this.is(L[2],"block")){let en=L[2].loc?.r??En;for(let rn=1;rn<L[2].length;rn++){let x=L[2][rn];if(this.is(x,"object")){if(!$)$=x}else if(tn(x))_n(x,en,En)}}else if(tn(L)){_n(L,En,En);continue}if($)for(let en=1;en<$.length;en++){let rn=$[en];if(!Array.isArray(rn)||rn.length<2)continue;let[,x,cn]=rn,Mn=rn.loc?.r??$.loc?.r;if(Array.isArray(x)&&x[0]==="."&&x[1]==="this"){let on=typeof x[2]==="string"?x[2]:x[2]?.valueOf?.();if(!on)continue;let dn=on.split(".")[0],Zn=this.emitInComponent(cn,"value");if(Array.isArray(cn)&&(cn[0]==="->"||cn[0]==="=>")){let Gn=cn[1]?.[0],Qn=typeof Gn==="string"?Gn:Gn?.valueOf?.();if(Qn&&!(Gn&&Gn.type)&&/^[A-Za-z_$][\w$]*$/.test(Qn)){let qn=`RipEvent<HTMLElementEventMap['${dn}'], __RipElementMap['${an}']>`;Zn=Zn[0]==="("?Zn.replace(new RegExp("^\\(\\s*"+Qn+"\\b"),`(${Qn}: ${qn}`):Zn.replace(new RegExp("^"+Qn+"\\b"),`(${Qn}: ${qn})`)}}Un.push({code:`'@${dn}': ${Zn}`,srcLine:Mn})}else if(typeof x==="string"){if(x==="key"){let on=this.emitInComponent(cn,"value"),dn=Mn!=null?` // @rip-src:${Mn}`:"";O.push(` (${on});${dn}`);continue}if(x==="ref"){let on=typeof cn==="string"||cn instanceof String?cn.valueOf():null;if(on&&/^[A-Za-z_$][\w$]*$/.test(on)&&this.reactiveMembers?.has(on))(Un.refChecks??=[]).push({code:`__ripRef('${an}', this.${on})`,srcLine:Mn});continue}if(x.startsWith("__bind_")&&x.endsWith("__")){let on=x.slice(7,-2),dn=this.emitInComponent(cn,"value");Un.push({code:`${on}: ${dn}`,srcLine:Mn})}else{let on=this.emitInComponent(cn,"value"),dn=x==="href"?I(on):on;Un.push({code:`${x}: ${dn}`,srcLine:Mn})}}}}return Un},Rn=(v)=>{if(!Array.isArray(v))return;let an=v[0]?.valueOf?.()??v[0];if(Array.isArray(an)&&an[0]==="."){let I=[],L=($)=>{if(typeof $==="string")return I.push($),!0;if(Array.isArray($)&&$[0]==="."&&I.length===0){if(!L($[1]))return!1;if(typeof $[2]!=="string"||!/^[\w-]+$/.test($[2]))return!1;return I.push(".",$[2]),!0}return!1};if(L(an)&&I.length>=3&&/^[a-z][\w-]*$/.test(I[0])){let $=I.join(""),en=[$];for(let x=1;x<v.length;x++)en.push(v[x]);if(v.loc)en.loc=v.loc;en._astNode=v;let rn=(x)=>{if(Array.isArray(x)&&x[0]==="."){if(x.loc)delete x.loc;rn(x[1])}};rn(an),v=en,an=$}}if(an==="object")return;if(an==="if"||an==="unless"){let I=v[1];if(I!=null){let L=this.emitInComponent(I,"value"),$=v.loc?.r,en=$!=null?` // @rip-src:${$}`:"",rn=an==="unless"?`!(${L})`:L;if(O.push(` if (${rn}) {${en}`),v[2]!=null)Rn(v[2]);let x=v.slice(3).filter((cn)=>cn!=null);if(x.length){O.push(" } else {");for(let cn of x)Rn(cn)}O.push(" }");return}}else if(an==="?:"){let I=this.emitInComponent(v,"value"),L=v.loc?.r,$=L!=null?` // @rip-src:${L}`:"";O.push(` ${I};${$}`);return}else if(an==="switch"){let I=v[1];if(I!=null){let L=this.emitInComponent(I,"value"),$=v.loc?.r,en=$!=null?` // @rip-src:${$}`:"";O.push(` ${L};${en}`)}}else if(an==="for-in"||an==="for-of"||an==="for-as"){let I=v[1],L=v[2];if(L!=null){let $=this.emitInComponent(L,"value"),en=v.loc?.r,rn=en!=null?` // @rip-src:${en}`:"",x;if(Array.isArray(I))if(I.length===1){let on=I[0];x=Array.isArray(on)?this.emitDestructuringPattern(on):String(on)}else if(an==="for-of")x=`[${I.map((on)=>String(on)).join(", ")}]`;else x=String(I[0]);else x=String(I);if(an==="for-of")O.push(` for (const ${x} of Object.entries(${$})) {${rn}`);else O.push(` for (const ${x} of ${$}) {${rn}`);let cn=(on)=>typeof on==="string"||on instanceof String?String(on):null,Mn=Array.isArray(I)?{itemVar:cn(I[0]),indexVar:cn(I[1])}:{itemVar:cn(I),indexVar:null};(this._loopVarStack||(this._loopVarStack=[])).push(Mn);for(let on=3;on<v.length;on++)if(v[on]!=null)Rn(v[on]);this._loopVarStack.pop(),O.push(" }");return}}else if(an==="__text__"){let I=v[1];if(I!=null){let L=this.emitInComponent(I,"value"),$=v.loc?.r,en=$!=null?` // @rip-src:${$}`:"";O.push(` ${L};${en}`)}return}else if(an==="str"){try{let I=this.emitInComponent(v,"value"),L=v.loc?.r,$=L!=null?` // @rip-src:${L}`:"";O.push(` ${I};${$}`)}catch{}return}else if(an==="."||an==="?."){let I=v;while(Array.isArray(I)&&(I[0]==="."||I[0]==="?."))I=I[1];let L=typeof I==="string"?I:I?.valueOf?.();if(typeof L==="string"&&!this.isHtmlTag(L)&&!n.GENERATORS[L])try{let $=this.emitInComponent(v,"value"),en=v.loc?.r,rn=en!=null?` // @rip-src:${en}`:"";O.push(` ${$};${rn}`)}catch{}return}let En=(I,L,$)=>{if(typeof I!=="string"||!/^[a-z][\w-]*$/.test(I))return;if(n.GENERATORS[I])return;if(I==="null"||I==="undefined"||I==="true"||I==="false")return;let en=L.loc?.r,rn=null;if(en!=null&&V){let cn=new RegExp(`\\b${I}\\b`,"g");for(let Mn=en;Mn<V.length;Mn++){let on=V[Mn];if(!on)continue;let dn=Mn===L.loc.r?L.loc.c+1:0;cn.lastIndex=dn;let Zn,Gn=-1;while((Zn=cn.exec(on))!==null){let Qn=Zn.index>0?on[Zn.index-1]:"";if(Qn==="."||Qn==="#")continue;Gn=Zn.index;break}if(Gn>=0){en=Mn,rn=Gn;break}}}let x=en!=null?` // @rip-src:${en}`:"";if(en!=null&&rn!=null){let cn=L._astNode||L;if(!cn._anchors)cn._anchors=[];cn._anchors.push({name:I,origLine:en,origCol:rn})}if(this.componentMembers&&this.componentMembers.has(I))O.push(` this.${I};${x}`);else if(this._isInScopeValue(I))O.push(` ${I};${x}`);else if(!$&&this.isHtmlTag(I))O.push(` __ripEl('${I}');${x}`)},Un=typeof an==="string"&&/^[a-z][\w-]*(?:[.#][\w-]+)*$/.test(an)&&!n.GENERATORS[an]&&ti.has(an.split(/[.#]/)[0]);if(an==="block")for(let I=1;I<v.length;I++)En(v[I],v,!1);else if(typeof an==="string"&&/^[A-Z]/.test(an))for(let I=1;I<v.length;I++)En(v[I],v,!0);else if(Un){for(let I=1;I<v.length;I++)En(v[I],v,!0);for(let I=1;I<v.length;I++){let L=v[I];if(!Array.isArray(L))continue;let $=L[0]?.valueOf?.()??L[0];if($==="object"||$==="block"||$==="__text__")continue;if(typeof $==="string"){if(/^[A-Z]/.test($))continue;if(ti.has($.split(/[.#]/)[0]))continue;if(/^[a-z][\w-]*$/.test($)&&!n.GENERATORS[$])continue;if(/^(if|unless|switch|for-in|for-of|for-as|while|until|loop|loop-n|try|throw|break|continue|break-if|continue-if|control|when|return|def|->|=>|class|enum|state|computed|readonly|effect|=|program)$/.test($))continue}try{let en=this.emitInComponent(L,"value"),rn=L.loc?.r??v.loc?.r,x=rn!=null?` // @rip-src:${rn}`:"";O.push(` ${en};${x}`)}catch{}}}for(let I=1;I<v.length;I++)Rn(v[I]);if(typeof an==="string"&&/^[A-Z]/.test(an)){let I=An(v.slice(1),v.loc?.r),L=`_${T++}`,$=`ConstructorParameters<typeof ${an}>[0] & {}`;if(I.length===0){let en=v.loc?.r;O.push(` const ${L}: ${$} = {};`+(en!=null?` // @rip-src:${en}`:""))}else if(I.length===1){let en=v.loc?.r??I[0].srcLine;O.push(` const ${L}: ${$} = {${I[0].code}};`+(en!=null?` // @rip-src:${en}`:""))}else{let en=v.loc?.r;if(new Set(I.map((x)=>x.srcLine).filter((x)=>x!=null)).size<=1){let x=I[0].srcLine??en;O.push(` const ${L}: ${$} = {${I.map((cn)=>cn.code).join(", ")}};`+(x!=null?` // @rip-src:${x}`:""))}else{O.push(` const ${L}: ${$} = {`+(en!=null?` // @rip-src:${en}`:""));for(let x of I)O.push(` ${x.code},`+(x.srcLine!=null?` // @rip-src:${x.srcLine}`:""));O.push(" };")}}if(I.sideExprs)for(let en of I.sideExprs)O.push(` ${en.code};`+(en.srcLine!=null?` // @rip-src:${en.srcLine}`:""))}else if(typeof an==="string"&&!n.GENERATORS[an]&&(ti.has(an.split(/[.#]/)[0])||/^[a-z][\w-]*$/.test(an)&&v.length>1)){let I=an.split(/[.#]/)[0],L=pn.has(I)?"__ripSvgEl":"__ripEl",$=wn(v.slice(1),I,v.loc?.r),en=v.loc?.r,rn=en!=null?` // @rip-src:${en}`:"";if($.refChecks)for(let x of $.refChecks)O.push(` ${x.code};`+(x.srcLine!=null?` // @rip-src:${x.srcLine}`:""));if($.length===0)O.push(` ${L}('${I}');${rn}`);else if($.length===1){let x=$[0].srcLine??en,cn=x!=null?` // @rip-src:${x}`:"";O.push(` ${L}('${I}', {${$[0].code}});${cn}`)}else if(new Set($.map((cn)=>cn.srcLine).filter((cn)=>cn!=null)).size<=1){let cn=$[0].srcLine??en,Mn=cn!=null?` // @rip-src:${cn}`:"";O.push(` ${L}('${I}', {${$.map((on)=>on.code).join(", ")}});${Mn}`)}else{O.push(` ${L}('${I}', {${rn}`);for(let cn of $)O.push(` ${cn.code},`+(cn.srcLine!=null?` // @rip-src:${cn.srcLine}`:""));O.push(" });")}}};if(Rn(Q),O.length>0){W.push(" _render() {");for(let v of O)W.push(v);W.push(" }")}}return W.push("}"),this.componentMembers=j,this.reactiveMembers=b,this.refTargetMembers=ln,this._inheritsTag=nn,W.join(`
1886
+ `)}this.usesTemplates=!0,this.usesReactivity=!0;let N=[],Hn="";if(N.push("class extends __Component {"),U.length>0){let X=U.map(({path:W,key:d})=>d?`{ path: '${W}', key: (params, query) => ${d.code} }`:`'${W}'`);N.push(` static __gates = [${X.join(", ")}];`)}N.push(" _init(props) {");for(let{name:X,path:W,key:d}of U)N.push(d?` this.${X} = __gateBind(this, '${W}', (params, query) => ${d.code});`:` this.${X} = __gateBind(this, '${W}');`);for(let{name:X,value:W,isPublic:d}of R){let z=this.emitInComponent(W,"value");N.push(d?` this.${X} = props.${X} ?? ${z};`:` this.${X} = ${z};`)}for(let{name:X,value:W,isPublic:d}of m){let z=this.emitInComponent(W,"value");N.push(d?` this.${X} = props.${X} ?? ${z};`:` this.${X} = ${z};`)}for(let X of S)N.push(` this.${X} = getContext('${X}');`);for(let{name:X,value:W,isPublic:d,required:z}of y)if(d&&(z||W===void 0))N.push(` this.${X} = __state(props.__bind_${X}__ ?? props.${X});`);else if(d){let Z=this.emitInComponent(W,"value");N.push(` this.${X} = __state(props.__bind_${X}__ ?? props.${X} ?? ${Z});`)}else{let Z=this.emitInComponent(W,"value");N.push(` this.${X} = __state(${Z});`)}if(H){if(N.push(" this._rest = {};"),N.push(" for (const __k in props) {"),G.size>0){let X=[...G].map((W)=>`__k !== '${W}'`).join(" && ");N.push(` if (${X} && !__k.startsWith('__bind_')) this._rest[__k] = props[__k];`)}else N.push(" if (!__k.startsWith('__bind_')) this._rest[__k] = props[__k];");N.push(" }"),N.push(" this.rest = __state(this._rest);")}for(let{name:X,expr:W}of D)if(this.is(W,"block")){let d=this.transformComponentMembers(W),z=this.emitFunctionBody(d);N.push(` this.${X} = __computed(() => ${z});`)}else{let d=this.emitInComponent(W,"value");N.push(` this.${X} = __computed(() => ${d});`)}for(let X of q)N.push(` setContext('${X}', this.${X});`);for(let X of M){let W=X[2],d=this.containsAwait(W)?"async ":"";if(this.is(W,"block")){let z=this.transformComponentMembers(W),Z=this.emitFunctionBody(z);N.push(` __effect(${d}() => ${Z});`)}else{let z=this.emitInComponent(W,"value");N.push(` __effect(${d}() => { return ${z}; });`)}}if(N.push(" }"),H)N.push(" _setRestProp(key, value) {"),N.push(" if (key.startsWith('__bind_')) return;"),N.push(" this._rest || (this._rest = {});"),N.push(" if (value == null) delete this._rest[key];"),N.push(" else this._rest[key] = value;"),N.push(" this.rest.touch();"),N.push(" this._applyInheritedProp(this._inheritedEl, key, value);"),N.push(" }"),N.push(" _applyRestToInheritedEl() {"),N.push(" if (!this._inheritedEl || !this._rest) return;"),N.push(" for (const key in this._rest) this._applyInheritedProp(this._inheritedEl, key, this._rest[key]);"),N.push(" }"),N.push(" _applyInheritedProp(el, key, value) {"),N.push(" if (!el || key === 'key' || key === 'ref' || key === 'children' || key.startsWith('__bind_')) return;"),N.push(" if (key[0] === '@') {"),N.push(" const event = key.slice(1).split('.')[0];"),N.push(" this._restHandlers || (this._restHandlers = {});"),N.push(" const prev = this._restHandlers[key];"),N.push(" if (prev) el.removeEventListener(event, prev);"),N.push(" if (typeof value === 'function') {"),N.push(" const next = (e) => __batch(() => value(e));"),N.push(" this._restHandlers[key] = next;"),N.push(" el.addEventListener(event, next);"),N.push(" } else {"),N.push(" delete this._restHandlers[key];"),N.push(" }"),N.push(" return;"),N.push(" }"),N.push(" if (key === 'class' || key === 'className') {"),N.push(" if (el instanceof SVGElement) el.setAttribute('class', __clsx(value));"),N.push(" else el.className = __clsx(value);"),N.push(" return;"),N.push(" }"),N.push(" if (key === 'style') {"),N.push(" if (value == null) { el.removeAttribute('style'); return; }"),N.push(" if (typeof value === 'string') { el.setAttribute('style', value); return; }"),N.push(" if (typeof value === 'object') { Object.assign(el.style, value); return; }"),N.push(" }"),N.push(" if (key === 'innerHTML' || key === 'textContent' || key === 'innerText') {"),N.push(" el[key] = value ?? '';"),N.push(" return;"),N.push(" }"),N.push(" if (key in el && !key.includes('-')) {"),N.push(" el[key] = value;"),N.push(" return;"),N.push(" }"),N.push(" if (value == null || value === false) {"),N.push(" el.removeAttribute(key);"),N.push(" return;"),N.push(" }"),N.push(" if (value === true) {"),N.push(" el.setAttribute(key, '');"),N.push(" return;"),N.push(" }"),N.push(" el.setAttribute(key, value);"),N.push(" }");for(let{name:X,func:W}of A)if(Array.isArray(W)&&(W[0]==="->"||W[0]==="=>")){let[,d,z]=W;if((!d||Array.isArray(d)&&d.length===0)&&this.containsIt(z))d=["it"];let Z=Array.isArray(d)?d.map((k)=>this.formatParam(k)).join(", "):"",g=this.reactiveMembers?this.transformComponentMembers(z):z,P=this.containsAwait(z),un=this.emitFunctionBody(g,d||[]);N.push(` ${P?"async ":""}${X}(${Z}) ${un}`)}for(let{name:X,value:W}of E)if(Array.isArray(W)&&(W[0]==="->"||W[0]==="=>")){let[,d,z]=W,Z=Array.isArray(d)?d.map((k)=>this.formatParam(k)).join(", "):"",g=this.reactiveMembers?this.transformComponentMembers(z):z,P=this.containsAwait(z),un=this.emitFunctionBody(g,d||[]);N.push(` ${P?"async ":""}${X}(${Z}) ${un}`)}if(Q){let X=Q[1],W=this.buildRender(X);if(W.blockFactories.length>0)Hn=W.blockFactories.join(`
1886
1887
 
1887
1888
  `)+`
1888
1889
 
1889
- `;Y.push(" _create() {");for(let J of O.createLines)Y.push(` ${J}`);if(this._fragChildren.has(O.rootVar))Y.push(` this._nodes = [...${O.rootVar}.childNodes];`);if(Y.push(` return ${O.rootVar};`),Y.push(" }"),O.setupLines.length>0){Y.push(" _setup() {");for(let J of O.setupLines)Y.push(` ${J}`);Y.push(" }")}}if(Y.push("}"),this.componentMembers=C,this.reactiveMembers=L,this._autoEventHandlers=b,this._inheritsTag=fn,Un)return`(() => {
1890
- ${Un}return ${Y.join(`
1890
+ `;N.push(" _create() {");for(let d of W.createLines)N.push(` ${d}`);if(this._fragChildren.has(W.rootVar))N.push(` this._nodes = [...${W.rootVar}.childNodes];`);if(N.push(` return ${W.rootVar};`),N.push(" }"),W.setupLines.length>0){N.push(" _setup() {");for(let d of W.setupLines)N.push(` ${d}`);N.push(" }")}}if(N.push("}"),this.componentMembers=j,this.reactiveMembers=b,this.refTargetMembers=ln,this._inheritsTag=nn,Hn)return`(() => {
1891
+ ${Hn}return ${N.join(`
1891
1892
  `)};
1892
- })()`;return Y.join(`
1893
- `)},i.emitInComponent=function(r,h){if(typeof r==="string"&&this.reactiveMembers&&this.reactiveMembers.has(r))return`${this._self}.${r}.value`;if(typeof r==="string"&&this.componentMembers&&this.componentMembers.has(r))return`${this._self}.${r}`;if(Array.isArray(r)&&this.reactiveMembers){let o=this.transformComponentMembers(r);return this.emit(o,h)}return this.emit(r,h)},i.emitRender=function(r,h,o,s){this.error("render blocks can only be used inside a component",s)},i.emitOffer=function(r,h,o,s){this.error("offer can only be used inside a component",s)},i.emitAccept=function(r,h,o,s){this.error("accept can only be used inside a component",s)},i.buildRender=function(r){this._elementCount=0,this._textCount=0,this._blockCount=0,this._createLines=[],this._setupLines=[],this._blockFactories=[],this._loopVarStack=[],this._factoryMode=!1,this._factoryVars=null,this._renderLocalScope=new Set,this._renderTopLocals=new Set,this._fragChildren=new Map,this._pendingAutoWire=!1,this._autoWireEl=null,this._autoWireExplicit=null,this._inheritsTargetBound=!1;let h=this.is(r,"block")?r.slice(1):[r],o=h.reduce((w,_)=>w+(this._isRenderBinding(_)?0:1),0),s;if(h.length===0||h.length===1&&h[0]==="null")s="null";else if(o===0){for(let w of h)this.emitNode(w);s=this.newElementVar("empty"),this._createLines.push(`${s} = document.createComment('');`)}else if(o===1){this._pendingAutoWire=!!this._autoEventHandlers;let w=null;for(let _ of h){let A=this.emitNode(_);if(A!=null)w=A}this._pendingAutoWire=!1,s=w}else{s=this.newElementVar("frag"),this._createLines.push(`${s} = document.createDocumentFragment();`);let w=[];for(let _ of h){let A=this.emitNode(_);if(A==null)continue;this._createLines.push(`${s}.appendChild(${A});`),w.push(A)}this._fragChildren.set(s,w)}if(this._renderTopLocals.size>0){let w=`let ${[...this._renderTopLocals].join(", ")};`;this._createLines.unshift(w)}return{createLines:this._createLines,setupLines:this._setupLines,blockFactories:this._blockFactories,rootVar:s}},i.newBlockVar=function(){return`create_block_${this._blockCount++}`},i.newElementVar=function(r="el"){let h=`_${r}${this._elementCount++}`;if(this._factoryVars)this._factoryVars.add(h);return this._factoryMode?h:`this.${h}`},i.newTextVar=function(){let r=`_t${this._textCount++}`;if(this._factoryVars)this._factoryVars.add(r);return this._factoryMode?r:`this.${r}`},Object.defineProperty(i,"_self",{get(){return this._factoryMode?"ctx":"this"}}),i._pushEffect=function(r){if(this._factoryMode)this._setupLines.push(`disposers.push(__effect(() => { ${r} }, {skipRegister: true}));`);else this._setupLines.push(`__effect(() => { ${r} });`)};let a=(r)=>typeof r==="string"&&/^[A-Za-z_$][\w$]*$/.test(r),c=new Set(["=","+=","-=","*=","/=","%=","**=","&&=","||=","?=","??="]);i._isRenderBinding=function(r){return Array.isArray(r)&&c.has(r[0])&&a(r[1])},i._addRenderLocal=function(r){if(this._renderLocalScope)this._renderLocalScope.add(r)},i._isRenderLocal=function(r){if(!r||typeof r!=="string")return!1;if(this._renderLocalScope&&this._renderLocalScope.has(r))return!0;if(this._loopVarStack){for(let h of this._loopVarStack)if(h.itemVar===r||h.indexVar===r)return!0}return!1},i._isInScopeValue=function(r){if(!r||typeof r!=="string")return!1;if(this.reactiveMembers&&this.reactiveMembers.has(r))return!0;if(this.componentMembers&&this.componentMembers.has(r))return!0;if(this._isRenderLocal(r))return!0;if(this.moduleBindings&&this.moduleBindings.has(r))return!0;return!1},i.emitNode=function(r){if(this._isRenderBinding(r)){let[A,y,R]=r,U=this.emitInComponent(R,"value");if(A==="=")(this._factoryMode?this._factoryVars:this._renderTopLocals).add(y),this._addRenderLocal(y);return this._createLines.push(`${y} ${A} ${U};`),null}if(typeof r==="string"||r instanceof String){let A=r.valueOf();if(A.startsWith('"')||A.startsWith("'")||A.startsWith("`")){let D=this.newTextVar();return this._createLines.push(`${D} = document.createTextNode(${A});`),D}if(this.reactiveMembers&&this.reactiveMembers.has(A)){let D=this.newTextVar();return this._createLines.push(`${D} = document.createTextNode('');`),this._pushEffect(`${D}.data = ${this._self}.${A}.value;`),D}if(this._isRenderLocal(A)){let D=this.newTextVar();return this._createLines.push(`${D} = document.createTextNode(String(${A}));`),D}if(A==="slot"&&this.componentMembers){let D=this._self,M=this.newElementVar("slot");return this._createLines.push(`${M} = ${D}.children instanceof Node ? ${D}.children : (${D}.children != null ? document.createTextNode(String(${D}.children)) : document.createComment(''));`),M}let[y,R]=A.split("#"),U=this.newElementVar(),m=y||"div";if(Ln.has(m)||this._svgDepth>0)this._createLines.push(`${U} = document.createElementNS('${sl}', '${m}');`);else this._createLines.push(`${U} = document.createElement('${m}');`);if(R)this._createLines.push(`${U}.id = '${R}';`);return this._bindInheritedTarget(m,U),U}if(!Array.isArray(r)){let A=this.newElementVar("c");return this._createLines.push(`${A} = document.createComment('unknown');`),A}let[h,...o]=r,s=typeof h==="string"?h:h instanceof String?h.valueOf():null;if(s&&this.isComponent(s))return this.emitChildComponent(s,o);if(s==="slot"&&this.componentMembers){let A=this._self,y=this.newElementVar("slot");return this._createLines.push(`${y} = ${A}.children instanceof Node ? ${A}.children : (${A}.children != null ? document.createTextNode(String(${A}.children)) : document.createComment(''));`),y}if(s==="switch"){let A=o[0],y=o[1]||[],U=o[2]||null;for(let D=y.length-1;D>=0;D--){let[,M,q]=y[D],S;if(A===null)S=M.length===1?M[0]:M.reduce((d,K)=>d?["||",d,K]:K,null);else S=M.length===1?["==",A,M[0]]:M.map((d)=>["==",A,d]).reduce((d,K)=>d?["||",d,K]:K,null);U=["if",S,q,U]}if(U){if(Array.isArray(U)&&U[0]==="if")return this.emitConditional(U);return this.emitTemplateBlock(U)}let m=this.newElementVar("c");return this._createLines.push(`${m} = document.createComment('switch');`),m}if(s&&this.isHtmlTag(s)&&!e(h,"text")&&!this._isRenderLocal(s)){let[A,y]=s.split("#");return this.emitTag(A||"div",[],o,y)}if(s==="."){let[,A,y]=r;if(A==="this"&&typeof y==="string"){let S=this._self;if(this.reactiveMembers&&this.reactiveMembers.has(y)){let K=this.newTextVar();return this._createLines.push(`${K} = document.createTextNode('');`),this._pushEffect(`${K}.data = ${S}.${y}.value;`),K}let d=this.newElementVar("slot");return this._createLines.push(`${d} = ${S}.${y} instanceof Node ? ${S}.${y} : (${S}.${y} != null ? document.createTextNode(String(${S}.${y})) : document.createComment(''));`),d}let{tag:R,classes:U,id:m,base:D}=this.collectTemplateClasses(r);if(!e(D,"text")&&R&&this.isHtmlTag(R)&&!this._isRenderLocal(R))return this.emitTag(R,U,[],m);let M=this.newTextVar(),q=this.emitInComponent(r,"value");return this._createLines.push(`${M} = document.createTextNode(String(${q}));`),M}if(Array.isArray(h)){if(Array.isArray(h[0])&&h[0][0]==="."&&(h[0][2]==="__clsx"||h[0][2]instanceof String&&h[0][2].valueOf()==="__clsx")){let U=h[0][1],m=h.slice(1);if(Array.isArray(U)){let{tag:M,classes:q,id:S}=this.collectTemplateClasses(U);if(M){let d=q.map((K)=>`"${K}"`);return this.emitDynamicTag(M,m,o,d,S)}}let D=typeof U==="string"?U:U.valueOf();return this.emitDynamicTag(D,m,o)}let{tag:A,classes:y,id:R}=this.collectTemplateClasses(h);if(A&&this.isHtmlTag(A)&&!this._isRenderLocal(A)){if(y.length>0&&y[y.length-1]==="__clsx"){let m=y.slice(0,-1).map((D)=>`"${D}"`);return this.emitDynamicTag(A,o,[],m,R)}return this.emitTag(A,y,o,R)}}if(s==="->"||s==="=>")return this.emitTemplateBlock(o[1]);if(s==="if")return this.emitConditional(r);if(s==="for"||s==="for-in"||s==="for-of"||s==="for-as")return this.emitTemplateLoop(r);if(s==="__text__"){let A=o[0]??"undefined",y=this.newTextVar(),R=this.emitInComponent(A,"value");if(this.hasReactiveDeps(A))this._createLines.push(`${y} = document.createTextNode('');`),this._pushEffect(`${y}.data = String(${R});`);else this._createLines.push(`${y} = document.createTextNode(String(${R}));`);return y}let w=this.newTextVar(),_=this.emitInComponent(r,"value");if(this.hasReactiveDeps(r))this._createLines.push(`${w} = document.createTextNode('');`),this._pushEffect(`${w}.data = ${_};`);else this._createLines.push(`${w} = document.createTextNode(String(${_}));`);return w},i.appendChildren=function(r,h){for(let o of h)if(this.is(o,"->")||this.is(o,"=>")){let s=o[2];if(this.is(s,"block"))for(let w of s.slice(1))if(this.is(w,"object"))this.emitAttributes(r,w);else{let _=this.emitNode(w);if(_==null)continue;this._createLines.push(`${r}.appendChild(${_});`)}else if(s){let w=this.emitNode(s);if(w!=null)this._createLines.push(`${r}.appendChild(${w});`)}}else if(this.is(o,"object"))this.emitAttributes(r,o);else if(typeof o==="string"||o instanceof String){let s=o.valueOf(),w=s.split(/[#.]/)[0];if(!this._isRenderLocal(w)&&(this.isHtmlTag(w||"div")||this.isComponent(w))){let _=this.emitNode(o);this._createLines.push(`${r}.appendChild(${_});`)}else if(/^[A-Za-z_$][\w$]*$/.test(s)&&!this._isInScopeValue(s))this.emitAttributes(r,["object",[":",s,"true"]]);else{let _=this.newTextVar();if(s.startsWith('"')||s.startsWith("'")||s.startsWith("`"))this._createLines.push(`${_} = document.createTextNode(${s});`);else if(this.reactiveMembers&&this.reactiveMembers.has(s))this._createLines.push(`${_} = document.createTextNode('');`),this._pushEffect(`${_}.data = ${this._self}.${s}.value;`);else if(this.componentMembers&&this.componentMembers.has(s))this._createLines.push(`${_} = document.createTextNode(String(${this._self}.${s}));`);else this._createLines.push(`${_} = document.createTextNode(${this.emitInComponent(o,"value")});`);this._createLines.push(`${r}.appendChild(${_});`)}}else if(o){let s=this.emitNode(o);if(s!=null)this._createLines.push(`${r}.appendChild(${s});`)}},i._claimAutoWire=function(r){if(!this._pendingAutoWire||!this._autoEventHandlers?.size)return!1;return this._pendingAutoWire=!1,this._autoWireEl=r,this._autoWireExplicit=new Set,!0},i._emitAutoWire=function(r,h){if(!h)return;for(let[o,s]of this._autoEventHandlers)if(!this._autoWireExplicit.has(o))this._createLines.push(`${r}.addEventListener('${o}', (e) => __batch(() => ${this._self}.${s}(e)));`);this._autoWireEl=null,this._autoWireExplicit=null},i._bindInheritedTarget=function(r,h){if(!this._inheritsTag||this._factoryMode||this._inheritsTargetBound)return;if(r!==this._inheritsTag)return;this._inheritsTargetBound=!0,this._createLines.push(`this._inheritedEl = ${h};`),this._createLines.push("this._applyRestToInheritedEl();")},i.emitTag=function(r,h,o,s){let w=this.newElementVar(),_=Ln.has(r)||this._svgDepth>0;if(_)this._createLines.push(`${w} = document.createElementNS('${sl}', '${r}');`);else this._createLines.push(`${w} = document.createElement('${r}');`);if(s)this._createLines.push(`${w}.id = '${s}';`);if(this._bindInheritedTarget(r,w),this._componentName&&this._elementCount===1&&!this._factoryMode&&!this.options.skipDataPart)this._createLines.push(`${w}.setAttribute('data-part', '${this._componentName}');`);let A=this._claimAutoWire(w),y=this._pendingClassArgs,R=this._pendingClassEl;if(h.length>0)this._pendingClassArgs=[`'${h.join(" ")}'`],this._pendingClassEl=w;if(r==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(w,o),r==="svg")this._svgDepth--;if(h.length>0){if(this._pendingClassArgs.length===1)if(_)this._createLines.push(`${w}.setAttribute('class', '${h.join(" ")}');`);else this._createLines.push(`${w}.className = '${h.join(" ")}';`);else{let U=this._pendingClassArgs.join(", ");if(_)this._pushEffect(`${w}.setAttribute('class', __clsx(${U}));`);else this._pushEffect(`${w}.className = __clsx(${U});`)}this._pendingClassArgs=y,this._pendingClassEl=R}return this._emitAutoWire(w,A),w},i.emitDynamicTag=function(r,h,o,s,w){let _=this.newElementVar();if(Ln.has(r)||this._svgDepth>0)this._createLines.push(`${_} = document.createElementNS('${sl}', '${r}');`);else this._createLines.push(`${_} = document.createElement('${r}');`);if(w)this._createLines.push(`${_}.id = '${w}';`);this._bindInheritedTarget(r,_);let A=this._claimAutoWire(_),y=[...s||[],...h.map((m)=>this.emitInComponent(m,"value"))],R=this._pendingClassArgs,U=this._pendingClassEl;if(this._pendingClassArgs=y,this._pendingClassEl=_,r==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(_,o),r==="svg")this._svgDepth--;if(this._pendingClassArgs.length>0){let m=this._pendingClassArgs.join(", ");if(Ln.has(r)||this._svgDepth>0)this._pushEffect(`${_}.setAttribute('class', __clsx(${m}));`);else this._pushEffect(`${_}.className = __clsx(${m});`)}return this._pendingClassArgs=R,this._pendingClassEl=U,this._emitAutoWire(_,A),_},i.emitAttributes=function(r,h){let o=St(h.slice(1));for(let s=1;s<h.length;s++){let[,w,_]=h[s];if(this.is(w,".")&&w[1]==="this"){let A=w[2];if(this._autoWireExplicit&&this._autoWireEl===r)this._autoWireExplicit.add(A);if(typeof _==="string"&&this.componentMembers?.has(_))this._createLines.push(`${r}.addEventListener('${A}', (e) => __batch(() => ${this._self}.${_}(e)));`);else{let y=this.emitInComponent(_,"value");this._createLines.push(`${r}.addEventListener('${A}', (e) => __batch(() => (${y})(e)));`)}continue}if(typeof w==="string"||w instanceof String){if(w.startsWith('"')&&w.endsWith('"'))w=w.slice(1,-1);if(w==="class"||w==="className"){let y=this.emitInComponent(_,"value");if(this._pendingClassArgs&&this._pendingClassEl===r)this._pendingClassArgs.push(y);else if(this.hasReactiveDeps(_))if(this._svgDepth>0)this._pushEffect(`${r}.setAttribute('class', __clsx(${y}));`);else this._pushEffect(`${r}.className = __clsx(${y});`);else{let R=Array.isArray(_)?`__clsx(${y})`:y;if(this._svgDepth>0)this._createLines.push(`${r}.setAttribute('class', ${R});`);else this._createLines.push(`${r}.className = ${R};`)}continue}if(w==="__transition__"){let y=String(_).replace(/^["']|["']$/g,"");this._createLines.push(`this._t = "${y}";`);continue}if(w==="ref"){let y=String(_).replace(/^["']|["']$/g,"");this._createLines.push(`${this._self}.${y} = ${r};`);continue}if(w.startsWith(Mf)&&w.endsWith(Uf)){let y=w.slice(Mf.length,-Uf.length),R=this.emitInComponent(_,"value"),U,m;if(y==="checked")U="change",m="e.target.checked";else U="input",m=o==="number"||o==="range"?"e.target.valueAsNumber":"e.target.value";this._pushEffect(`${r}.${y} = ${R};`);let D=`${R} = ${m}`,M=!this.isSimpleAssignable(_)&&this.findRootReactiveMember(_);if(M)D+=`; ${this._self}.${M}.touch?.()`;this._createLines.push(`${r}.addEventListener('${U}', (e) => { ${D}; });`);continue}let A=this.emitInComponent(_,"value");if((w==="value"||w==="checked")&&this.hasReactiveDeps(_)){this._pushEffect(`${r}.${w} = ${A};`);continue}if(w==="innerHTML"||w==="textContent"||w==="innerText")if(this.hasReactiveDeps(_))this._pushEffect(`${r}.${w} = ${A};`);else this._createLines.push(`${r}.${w} = ${A};`);else if(qt.has(w))if(this.hasReactiveDeps(_))this._pushEffect(`${r}.toggleAttribute('${w}', !!${A});`);else this._createLines.push(`if (${A}) ${r}.setAttribute('${w}', '');`);else if(this.hasReactiveDeps(_))if(Array.isArray(_)&&_[0]==="presence")this._pushEffect(`{ const __v = ${A}; __v == null ? ${r}.removeAttribute('${w}') : ${r}.setAttribute('${w}', __v); }`);else this._pushEffect(`${r}.setAttribute('${w}', ${A});`);else if(Array.isArray(_)&&_[0]==="presence")this._createLines.push(`{ const __v = ${A}; if (__v != null) ${r}.setAttribute('${w}', __v); }`);else this._createLines.push(`${r}.setAttribute('${w}', ${A});`)}}},i.emitTemplateBlock=function(r){if(!Array.isArray(r)||r[0]!=="block"){let _=this.emitNode(r);if(_!=null)return _;let A=this.newElementVar("empty");return this._createLines.push(`${A} = document.createComment('');`),A}let h=r.slice(1);if(h.length===0){let _=this.newElementVar("empty");return this._createLines.push(`${_} = document.createComment('');`),_}let o=h.reduce((_,A)=>_+(this._isRenderBinding(A)?0:1),0);if(o===0){for(let A of h)this.emitNode(A);let _=this.newElementVar("empty");return this._createLines.push(`${_} = document.createComment('');`),_}if(o===1){let _=null;for(let A of h){let y=this.emitNode(A);if(y!=null)_=y}return _}let s=this.newElementVar("frag");this._createLines.push(`${s} = document.createDocumentFragment();`);let w=[];for(let _ of h){let A=this.emitNode(_);if(A==null)continue;this._createLines.push(`${s}.appendChild(${A});`),w.push(A)}return this._fragChildren.set(s,w),s},i.emitConditional=function(r){if(this._pendingAutoWire=!1,r.length>4){let q=r[r.length-1];for(let S=r.length-2;S>=3;S--)q=[...r[S],q];r=[r[0],r[1],r[2],q]}let[,h,o,s]=r,w=this.newElementVar("anchor");this._createLines.push(`${w} = document.createComment('if');`);let _=this.emitInComponent(h,"value"),A=this._loopVarStack.map((q)=>`${q.itemVar}, ${q.indexVar}`).join(", "),y=A?`, ${A}`:"",R=this.newBlockVar();this.emitConditionBranch(R,o);let U=null;if(s)U=this.newBlockVar(),this.emitConditionBranch(U,s);let m=[];m.push(`// Conditional: ${R}${U?" / "+U:""}`),m.push("{"),m.push(` const anchor = ${w};`),m.push(" let currentBlock = null;"),m.push(" let showing = null;");let D=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",M=this._factoryMode?"}, {skipRegister: true}));":"});";if(m.push(` ${D}`),m.push(` const show = !!(${_});`),m.push(` const want = show ? 'then' : ${s?"'else'":"null"};`),m.push(" if (want === showing) return;"),m.push(""),m.push(" if (currentBlock) {"),m.push(" const leaving = currentBlock;"),m.push(" if (leaving._t) { __transition(leaving._first, leaving._t, 'leave', () => leaving.d(true)); }"),m.push(" else { leaving.d(true); }"),m.push(" currentBlock = null;"),m.push(" }"),m.push(" showing = want;"),m.push(""),m.push(" if (want === 'then') {"),m.push(` currentBlock = ${R}(${this._self}${y});`),m.push(" currentBlock.c();"),m.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),m.push(` currentBlock.p(${this._self}${y});`),m.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),m.push(" }"),s)m.push(" if (want === 'else') {"),m.push(` currentBlock = ${U}(${this._self}${y});`),m.push(" currentBlock.c();"),m.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),m.push(` currentBlock.p(${this._self}${y});`),m.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),m.push(" }");if(m.push(` ${M}`),this._factoryMode)m.push(" disposers.push(() => { if (currentBlock) { currentBlock.d(true); currentBlock = null; } });");else m.push(" { const __cur = globalThis.__ripComponent?.__getCurrentComponent?.(); if (__cur) (__cur._disposers ??= []).push(() => { if (currentBlock) { currentBlock.d(true); currentBlock = null; } }); }");return m.push("}"),this._setupLines.push(m.join(`
1894
- `)),w},i.emitConditionBranch=function(r,h){let o=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars,this._renderLocalScope];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set,this._renderLocalScope=new Set;let s=this.emitTemplateBlock(h),w=this._createLines,_=this._setupLines,A=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars,this._renderLocalScope]=o;let y=this._loopVarStack.map((U)=>`${U.itemVar}, ${U.indexVar}`).join(", "),R=y?`, ${y}`:"";this.emitBlockFactory(r,`ctx${R}`,s,w,_,A)},i.emitBlockFactory=function(r,h,o,s,w,_,A){let y=[];if(y.push(`function ${r}(${h}) {`),_.size>0)y.push(` let ${[..._].join(", ")};`);let R=w.length>0;if(R)y.push(" let disposers = [];");if(y.push(" let _factoryChildren = [];"),y.push(" return {"),A)y.push(" _s: true,");let U=this._fragChildren.get(o),m=U?U[0]:o;y.push(" c() {");for(let D of s)y.push(` ${D}`);if(y.push(` this._first = ${m};`),y.push(" },"),y.push(" m(target, anchor) {"),U)for(let D of U)y.push(` if (target) target.insertBefore(${D}, anchor);`);else y.push(` if (target) target.insertBefore(${o}, anchor);`);if(y.push(" },"),y.push(` p(${h}) {`),R){y.push(" disposers.forEach(d => d());"),y.push(" disposers = [];");for(let D of w)y.push(` ${D}`)}if(y.push(" },"),y.push(" d(detaching) {"),y.push(" for (const __c of _factoryChildren) { try { __c.unmount?.({removeDOM: detaching}); } catch (__e) { console.error('[Rip] factory child unmount error:', __e); } }"),y.push(" _factoryChildren = [];"),R)y.push(" disposers.forEach(d => d());");if(U)for(let D of U)y.push(` if (detaching) __detach(${D});`);else y.push(` if (detaching) __detach(${o});`);y.push(" }"),y.push(" };"),y.push("}"),this._blockFactories.push(y.join(`
1895
- `))},i.emitTemplateLoop=function(r){this._pendingAutoWire=!1;let[h,o,s,w,_,A]=r,y=this.newBlockVar(),R=this.newElementVar("anchor");this._createLines.push(`${R} = document.createComment('for');`);let U=Array.isArray(o)?o:[o],m=U[0],D=U[1]||null;if(!D){let P=new Set(this._loopVarStack.flatMap((F)=>[F.itemVar,F.indexVar]));P.add(m),this._collectBodyBindings(A,P);for(let F of["i","j","k","l","m","n"])if(!P.has(F)){D=F;break}D=D||`__rip_idx${this._loopVarStack.length}`}let M=this.emitInComponent(s,"value"),q=m;if(this.is(A,"block")&&A.length>1){let P=A[1];if(Array.isArray(P))for(let F of P){if(this.is(F,"object"))for(let N=1;N<F.length;N++){let[un,$]=F[N];if(un==="key"){q=this.emit($,"value");break}}if(q!==m)break}}let S=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars,this._renderLocalScope];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set,this._renderLocalScope=new Set;let d=this._loopVarStack.map((P)=>`${P.itemVar}, ${P.indexVar}`).join(", "),K=d?`, ${d}`:"",E=this.hasReactiveDeps(s);this._loopVarStack.push({itemVar:m,indexVar:D,reactiveSource:E});let Z=this.emitTemplateBlock(A);this._loopVarStack.pop();let Q=this._createLines,W=this._setupLines,C=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars,this._renderLocalScope]=S;let L=W.length===0,b=`ctx, ${m}, ${D}${K}`;this.emitBlockFactory(y,b,Z,Q,W,C,L);let Y=q!==m?`(${m}, ${D}) => ${q}`:"null",Un=d?`, ${d}`:"",G=[];G.push(`// Loop: ${y}`),G.push("{"),G.push(" const __s = { blocks: [], keys: [] };");let O=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",J=this._factoryMode?"}, {skipRegister: true}));":"});";if(G.push(` ${O}`),G.push(` __reconcile(${R}, __s, ${M}, ${this._self}, ${y}, ${Y}${Un});`),G.push(` ${J}`),this._factoryMode)G.push(" disposers.push(() => { for (const __b of __s.blocks) { try { __b.d(true); } catch {} } __s.blocks = []; __s.keys = []; __s.items = []; });");else G.push(" { const __cur = globalThis.__ripComponent?.__getCurrentComponent?.(); if (__cur) (__cur._disposers ??= []).push(() => { for (const __b of __s.blocks) { try { __b.d(true); } catch {} } __s.blocks = []; __s.keys = []; __s.items = []; }); }");return G.push("}"),this._setupLines.push(G.join(`
1896
- `)),R},i.emitChildComponent=function(r,h){this._pendingAutoWire=!1;let o=this.newElementVar("inst"),s=this.newElementVar("el"),{propsCode:w,reactiveProps:_,eventBindings:A,childrenSetupLines:y}=this.buildComponentProps(h),R=this._self;if(this._createLines.push(`{ const __prev = __pushComponent(${R}); try {`),this._createLines.push("try {"),this._createLines.push(`${o} = new ${r}(${w});`),this._createLines.push(`if (${o} && ${o}._initFailed) {`),this._createLines.push(` try { ${o}.unmount({removeDOM: false}); } catch (__ue) { console.error('[Rip] partial-init unmount error:', __ue); }`),this._createLines.push(` ${o} = null;`),this._createLines.push(` ${s} = document.createComment('rip:child-init-failed: ${r}');`),this._createLines.push("} else {"),this._createLines.push(` { const __cprev = __pushComponent(${o}); try {`),this._createLines.push(` ${s} = ${o}._root = ${o}._create();`),this._createLines.push(" } finally { __popComponent(__cprev); } }"),this._factoryMode)this._createLines.push(` _factoryChildren.push(${o});`);else this._createLines.push(` (${R}._children || (${R}._children = [])).push(${o});`);this._createLines.push("}"),this._createLines.push("} catch (__childErr) {"),this._createLines.push(` console.error('[Rip] ${r} construction failed:', __childErr);`),this._createLines.push(` if (${o}) { try { ${o}.unmount({removeDOM: false}); } catch (__ue) { console.error('[Rip] partial-child unmount error:', __ue); } }`),this._createLines.push(` ${o} = null;`),this._createLines.push(` ${s} = document.createComment('rip:child-error: ${r}');`),this._createLines.push("}"),this._createLines.push("} finally { __popComponent(__prev); } }");for(let{event:U,value:m}of A){let D=this.emitInComponent(m,"value");this._createLines.push(`if (${o}) ${s}.addEventListener('${U}', (e) => __batch(() => (${D})(e)));`)}this._setupLines.push(`if (${o} && !${o}._isSetup) { ${o}._isSetup = true; const __cprev = __pushComponent(${o}); try { try { if (${o}.beforeMount) ${o}.beforeMount(); if (${o}._setup) ${o}._setup(); if (${o}.mounted) ${o}.mounted(); } catch (__e) { __handleComponentError(__e, ${o}); } } finally { __popComponent(__cprev); } }`);for(let{key:U,valueCode:m}of _)this._pushEffect(`if (${o}) { if (${o}.${U} && typeof ${o}.${U} === 'object' && 'value' in ${o}.${U}) ${o}.${U}.value = ${m}; else if (${o}._setRestProp) ${o}._setRestProp('${U}', ${m}); }`);for(let U of y)this._setupLines.push(U);return s},i.buildComponentProps=function(r){let h=[],o=[],s=[],w=null,_=[],A=(D,M)=>{if(D.startsWith("@")){s.push({event:D.slice(1).split(".")[0],value:M});return}if(this.reactiveMembers&&(typeof M==="string"&&this.reactiveMembers.has(M)||Array.isArray(M)&&M[0]==="."&&M[1]==="this"&&typeof M[2]==="string"&&this.reactiveMembers.has(M[2]))){let S=typeof M==="string"?M:M[2];h.push(`${D}: ${this._self}.${S}`)}else{let S=this.emitInComponent(M,"value");if(h.push(`${D}: ${S}`),this.hasReactiveDeps(M))o.push({key:D,valueCode:S})}},y=(D)=>{for(let M=1;M<D.length;M++){let[,q,S]=D[M];if(typeof q==="string")A(q,S);else if(Array.isArray(q)&&q[0]==="."&&q[1]==="this"&&typeof q[2]==="string")s.push({event:q[2],value:S})}},R=/^[a-zA-Z_$][\w$]*$/,U=(D)=>typeof D==="string"&&R.test(D);for(let D of r)if(this.is(D,"object"))y(D);else if(U(D)&&!this._isInScopeValue(D))A(D,"true");else if(Array.isArray(D)&&(D[0]==="->"||D[0]==="=>")){let M=D[2];if(M){if(this.is(M,"block")){let q=[];for(let S of M.slice(1))if(this.is(S,"object"))y(S);else if(U(S)&&!this._isInScopeValue(S))A(S,"true");else q.push(S);M=q.length>0?["block",...q]:null}if(M){let q=this._createLines,S=this._setupLines;this._createLines=[],this._setupLines=[],w=this.emitTemplateBlock(M);let d=this._createLines,K=this._setupLines;this._createLines=q,this._setupLines=S;for(let E of d)this._createLines.push(E);_.push(...K),h.push(`children: ${w}`)}}}else if(D&&!w){let M=this.newTextVar(),q=this.emitInComponent(D,"value");if(this.hasReactiveDeps(D)){this._createLines.push(`${M} = document.createTextNode('');`);let S=`${M}.data = ${q};`,d=this._factoryMode?`disposers.push(__effect(() => { ${S} }, {skipRegister: true}));`:`__effect(() => { ${S} });`;_.push(d)}else this._createLines.push(`${M} = document.createTextNode(${q});`);w=M,h.push(`children: ${w}`)}return{propsCode:h.length>0?`{ ${h.join(", ")} }`:"{}",reactiveProps:o,eventBindings:s,childrenSetupLines:_}},i.hasReactiveDeps=function(r){if(typeof r==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(r));if(!Array.isArray(r))return!1;if(r[0]==="."&&r[1]==="this"&&typeof r[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(r[2]));if(r[0]==="."&&this._rootsAtThis(r[1]))return!0;if((r[0]==="."||r[0]==="[]")&&this._rootsAtReactiveLoopVar(r))return!0;if(Array.isArray(r[0])&&r[0][0]==="."&&r[0][1]==="this"){let h=u(r[0][2]);if(h&&this.componentMembers?.has(h))return!0}for(let h of r)if(this.hasReactiveDeps(h))return!0;return!1},i._collectBodyBindings=function(r,h){if(!Array.isArray(r))return;let o=r[0];if(o==="for-in"||o==="for-of"||o==="for-as"){let s=r[1],w=Array.isArray(s)?s:[s];for(let _ of w)if(typeof _==="string")h.add(_)}else if(o==="="&&a(r[1]))h.add(r[1]);for(let s=1;s<r.length;s++)this._collectBodyBindings(r[s],h)},i.isSimpleAssignable=function(r){if(typeof r==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(r));if(Array.isArray(r)&&r[0]==="."&&r[1]==="this"&&typeof r[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(r[2]));return!1},i.findRootReactiveMember=function(r){if(typeof r==="string")return this.reactiveMembers?.has(r)?r:null;if(!Array.isArray(r))return null;if(r[0]==="."&&r[1]==="this"&&typeof r[2]==="string")return this.reactiveMembers?.has(r[2])?r[2]:null;if(r[0]==="."||r[0]==="[]")return this.findRootReactiveMember(r[1]);return null},i._rootsAtThis=function(r){if(typeof r==="string")return r==="this";if(!Array.isArray(r)||r[0]!==".")return!1;return this._rootsAtThis(r[1])},i._rootsAtReactiveLoopVar=function(r){if(typeof r==="string"){if(!this._loopVarStack||this._loopVarStack.length===0)return!1;for(let h=this._loopVarStack.length-1;h>=0;h--){let o=this._loopVarStack[h];if(o.itemVar===r)return!!o.reactiveSource}return!1}if(!Array.isArray(r))return!1;if(r[0]==="."||r[0]==="[]")return this._rootsAtReactiveLoopVar(r[1]);return!1},i.getComponentRuntime=function(){return`
1893
+ })()`;return N.join(`
1894
+ `)},i.emitInComponent=function(r,h){if(typeof r==="string"&&this.reactiveMembers&&this.reactiveMembers.has(r))return`${this._self}.${r}.value`;if(typeof r==="string"&&this.componentMembers&&this.componentMembers.has(r))return`${this._self}.${r}`;if(Array.isArray(r)&&this.reactiveMembers){let o=this.transformComponentMembers(r);return this.emit(o,h)}return this.emit(r,h)},i.emitRender=function(r,h,o,s){this.error("render blocks can only be used inside a component",s)},i.emitOffer=function(r,h,o,s){this.error("offer can only be used inside a component",s)},i.emitAccept=function(r,h,o,s){this.error("accept can only be used inside a component",s)},i.buildRender=function(r){this._elementCount=0,this._textCount=0,this._blockCount=0,this._createLines=[],this._setupLines=[],this._blockFactories=[],this._loopVarStack=[],this._factoryMode=!1,this._factoryVars=null,this._renderLocalScope=new Set,this._renderTopLocals=new Set,this._fragChildren=new Map,this._inheritsTargetBound=!1;let h=this.is(r,"block")?r.slice(1):[r],o=h.reduce((w,_)=>w+(this._isRenderBinding(_)?0:1),0),s;if(h.length===0||h.length===1&&h[0]==="null")s="null";else if(o===0){for(let w of h)this.emitNode(w);s=this.newElementVar("empty"),this._createLines.push(`${s} = document.createComment('');`)}else if(o===1){let w=null;for(let _ of h){let y=this.emitNode(_);if(y!=null)w=y}s=w}else{s=this.newElementVar("frag"),this._createLines.push(`${s} = document.createDocumentFragment();`);let w=[];for(let _ of h){let y=this.emitNode(_);if(y==null)continue;this._createLines.push(`${s}.appendChild(${y});`),w.push(y)}this._fragChildren.set(s,w)}if(this._renderTopLocals.size>0){let w=`let ${[...this._renderTopLocals].join(", ")};`;this._createLines.unshift(w)}return{createLines:this._createLines,setupLines:this._setupLines,blockFactories:this._blockFactories,rootVar:s}},i.newBlockVar=function(){return`create_block_${this._blockCount++}`},i.newElementVar=function(r="el"){let h=`_${r}${this._elementCount++}`;if(this._factoryVars)this._factoryVars.add(h);return this._factoryMode?h:`this.${h}`},i.newTextVar=function(){let r=`_t${this._textCount++}`;if(this._factoryVars)this._factoryVars.add(r);return this._factoryMode?r:`this.${r}`},Object.defineProperty(i,"_self",{get(){return this._factoryMode?"ctx":"this"}}),i._pushEffect=function(r){if(this._factoryMode)this._setupLines.push(`disposers.push(__effect(() => { ${r} }, {skipRegister: true}));`);else this._setupLines.push(`__effect(() => { ${r} });`)};let t=(r)=>typeof r==="string"&&/^[A-Za-z_$][\w$]*$/.test(r),c=new Set(["=","+=","-=","*=","/=","%=","**=","&&=","||=","?=","??="]);i._isRenderBinding=function(r){return Array.isArray(r)&&c.has(r[0])&&t(r[1])},i._addRenderLocal=function(r){if(this._renderLocalScope)this._renderLocalScope.add(r)},i._isRenderLocal=function(r){if(!r||typeof r!=="string")return!1;if(this._renderLocalScope&&this._renderLocalScope.has(r))return!0;if(this._loopVarStack){for(let h of this._loopVarStack)if(h.itemVar===r||h.indexVar===r)return!0}return!1},i._isInScopeValue=function(r){if(!r||typeof r!=="string")return!1;if(this.reactiveMembers&&this.reactiveMembers.has(r))return!0;if(this.componentMembers&&this.componentMembers.has(r))return!0;if(this._isRenderLocal(r))return!0;if(this.moduleBindings&&this.moduleBindings.has(r))return!0;return!1},i.emitNode=function(r){if(this._isRenderBinding(r)){let[y,m,D]=r,U=this.emitInComponent(D,"value");if(y==="=")(this._factoryMode?this._factoryVars:this._renderTopLocals).add(m),this._addRenderLocal(m);return this._createLines.push(`${m} ${y} ${U};`),null}if(typeof r==="string"||r instanceof String){let y=r.valueOf();if(y.startsWith('"')||y.startsWith("'")||y.startsWith("`")){let A=this.newTextVar();return this._createLines.push(`${A} = document.createTextNode(${y});`),A}if(this.reactiveMembers&&this.reactiveMembers.has(y)){let A=this.newTextVar();return this._createLines.push(`${A} = document.createTextNode('');`),this._pushEffect(`${A}.data = ${this._self}.${y}.value;`),A}if(this._isRenderLocal(y)){let A=this.newTextVar();return this._createLines.push(`${A} = document.createTextNode(String(${y}));`),A}if(y==="slot"&&this.componentMembers){let A=this._self,E=this.newElementVar("slot");return this._createLines.push(`${E} = ${A}.children instanceof Node ? ${A}.children : (${A}.children != null ? document.createTextNode(String(${A}.children)) : document.createComment(''));`),E}let[m,D]=y.split("#"),U=this.newElementVar(),R=m||"div";if(pn.has(R)||this._svgDepth>0)this._createLines.push(`${U} = document.createElementNS('${hu}', '${R}');`);else this._createLines.push(`${U} = document.createElement('${R}');`);if(D)this._createLines.push(`${U}.id = '${D}';`);return this._bindInheritedTarget(R,U),U}if(!Array.isArray(r)){let y=this.newElementVar("c");return this._createLines.push(`${y} = document.createComment('unknown');`),y}let[h,...o]=r,s=typeof h==="string"?h:h instanceof String?h.valueOf():null;if(s&&this.isComponent(s))return this.emitChildComponent(s,o);if(s==="slot"&&this.componentMembers){let y=this._self,m=this.newElementVar("slot");return this._createLines.push(`${m} = ${y}.children instanceof Node ? ${y}.children : (${y}.children != null ? document.createTextNode(String(${y}.children)) : document.createComment(''));`),m}if(s==="switch"){let y=o[0],m=o[1]||[],U=o[2]||null;for(let A=m.length-1;A>=0;A--){let[,E,M]=m[A],q;if(y===null)q=E.length===1?E[0]:E.reduce((S,Q)=>S?["||",S,Q]:Q,null);else q=E.length===1?["==",y,E[0]]:E.map((S)=>["==",y,S]).reduce((S,Q)=>S?["||",S,Q]:Q,null);U=["if",q,M,U]}if(U){if(Array.isArray(U)&&U[0]==="if")return this.emitConditional(U);return this.emitTemplateBlock(U)}let R=this.newElementVar("c");return this._createLines.push(`${R} = document.createComment('switch');`),R}if(s&&this.isHtmlTag(s)&&!e(h,"text")&&!this._isRenderLocal(s)){let[y,m]=s.split("#");return this.emitTag(y||"div",[],o,m)}if(s==="."){let[,y,m]=r;if(y==="this"&&typeof m==="string")this.error(`Bare \`@${m}\` is not rendered as text — use \`= @${m}\` to render it, or \`slot\` to project children`,r);let{tag:D,classes:U,id:R,base:A}=this.collectTemplateClasses(r);if(!e(A,"text")&&D&&this.isHtmlTag(D)&&!this._isRenderLocal(D))return this.emitTag(D,U,[],R);let E=this.newTextVar(),M=this.emitInComponent(r,"value");return this._createLines.push(`${E} = document.createTextNode(String(${M}));`),E}if(Array.isArray(h)){if(Array.isArray(h[0])&&h[0][0]==="."&&(h[0][2]==="__clsx"||h[0][2]instanceof String&&h[0][2].valueOf()==="__clsx")){let U=h[0][1],R=h.slice(1);if(Array.isArray(U)){let{tag:E,classes:M,id:q}=this.collectTemplateClasses(U);if(E){let S=M.map((Q)=>`"${Q}"`);return this.emitDynamicTag(E,R,o,S,q)}}let A=typeof U==="string"?U:U.valueOf();return this.emitDynamicTag(A,R,o)}let{tag:y,classes:m,id:D}=this.collectTemplateClasses(h);if(y&&this.isHtmlTag(y)&&!this._isRenderLocal(y)){if(m.length>0&&m[m.length-1]==="__clsx"){let R=m.slice(0,-1).map((A)=>`"${A}"`);return this.emitDynamicTag(y,o,[],R,D)}return this.emitTag(y,m,o,D)}}if(s==="->"||s==="=>")return this.emitTemplateBlock(o[1]);if(s==="if")return this.emitConditional(r);if(s==="for"||s==="for-in"||s==="for-of"||s==="for-as")return this.emitTemplateLoop(r);if(s==="__text__"){let y=o[0]??"undefined",m=this.newTextVar(),D=this.emitInComponent(y,"value");if(this.hasReactiveDeps(y))this._createLines.push(`${m} = document.createTextNode('');`),this._pushEffect(`${m}.data = String(${D});`);else this._createLines.push(`${m} = document.createTextNode(String(${D}));`);return m}let w=this.newTextVar(),_=this.emitInComponent(r,"value");if(this.hasReactiveDeps(r))this._createLines.push(`${w} = document.createTextNode('');`),this._pushEffect(`${w}.data = ${_};`);else this._createLines.push(`${w} = document.createTextNode(String(${_}));`);return w},i.appendChildren=function(r,h){for(let o of h)if(this.is(o,"->")||this.is(o,"=>")){let s=o[2];if(this.is(s,"block"))for(let w of s.slice(1))if(this.is(w,"object"))this.emitAttributes(r,w);else{let _=this.emitNode(w);if(_==null)continue;this._createLines.push(`${r}.appendChild(${_});`)}else if(s){let w=this.emitNode(s);if(w!=null)this._createLines.push(`${r}.appendChild(${w});`)}}else if(this.is(o,"object"))this.emitAttributes(r,o);else if(typeof o==="string"||o instanceof String){let s=o.valueOf(),w=s.split(/[#.]/)[0];if(!this._isRenderLocal(w)&&(this.isHtmlTag(w||"div")||this.isComponent(w))){let _=this.emitNode(o);this._createLines.push(`${r}.appendChild(${_});`)}else if(/^[A-Za-z_$][\w$]*$/.test(s)&&!this._isInScopeValue(s))this.emitAttributes(r,["object",[":",s,"true"]]);else{let _=this.newTextVar();if(s.startsWith('"')||s.startsWith("'")||s.startsWith("`"))this._createLines.push(`${_} = document.createTextNode(${s});`);else if(this.reactiveMembers&&this.reactiveMembers.has(s))this._createLines.push(`${_} = document.createTextNode('');`),this._pushEffect(`${_}.data = ${this._self}.${s}.value;`);else if(this.componentMembers&&this.componentMembers.has(s))this._createLines.push(`${_} = document.createTextNode(String(${this._self}.${s}));`);else this._createLines.push(`${_} = document.createTextNode(${this.emitInComponent(o,"value")});`);this._createLines.push(`${r}.appendChild(${_});`)}}else if(o){let s=this.emitNode(o);if(s!=null)this._createLines.push(`${r}.appendChild(${s});`)}},i._bindInheritedTarget=function(r,h){if(!this._inheritsTag||this._factoryMode||this._inheritsTargetBound)return;if(r!==this._inheritsTag)return;this._inheritsTargetBound=!0,this._createLines.push(`this._inheritedEl = ${h};`),this._createLines.push("this._applyRestToInheritedEl();")},i.emitTag=function(r,h,o,s){let w=this.newElementVar(),_=pn.has(r)||this._svgDepth>0;if(_)this._createLines.push(`${w} = document.createElementNS('${hu}', '${r}');`);else this._createLines.push(`${w} = document.createElement('${r}');`);if(s)this._createLines.push(`${w}.id = '${s}';`);if(this._bindInheritedTarget(r,w),this._componentName&&this._elementCount===1&&!this._factoryMode&&!this.options.skipDataPart)this._createLines.push(`${w}.setAttribute('data-part', '${this._componentName}');`);let y=this._pendingClassArgs,m=this._pendingClassEl;if(h.length>0)this._pendingClassArgs=[`'${h.join(" ")}'`],this._pendingClassEl=w;if(r==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(w,o),r==="svg")this._svgDepth--;if(h.length>0){if(this._pendingClassArgs.length===1)if(_)this._createLines.push(`${w}.setAttribute('class', '${h.join(" ")}');`);else this._createLines.push(`${w}.className = '${h.join(" ")}';`);else{let D=this._pendingClassArgs.join(", ");if(_)this._pushEffect(`${w}.setAttribute('class', __clsx(${D}));`);else this._pushEffect(`${w}.className = __clsx(${D});`)}this._pendingClassArgs=y,this._pendingClassEl=m}return w},i.emitDynamicTag=function(r,h,o,s,w){let _=this.newElementVar();if(pn.has(r)||this._svgDepth>0)this._createLines.push(`${_} = document.createElementNS('${hu}', '${r}');`);else this._createLines.push(`${_} = document.createElement('${r}');`);if(w)this._createLines.push(`${_}.id = '${w}';`);this._bindInheritedTarget(r,_);let y=[...s||[],...h.map((U)=>this.emitInComponent(U,"value"))],m=this._pendingClassArgs,D=this._pendingClassEl;if(this._pendingClassArgs=y,this._pendingClassEl=_,r==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(_,o),r==="svg")this._svgDepth--;if(this._pendingClassArgs.length>0){let U=this._pendingClassArgs.join(", ");if(pn.has(r)||this._svgDepth>0)this._pushEffect(`${_}.setAttribute('class', __clsx(${U}));`);else this._pushEffect(`${_}.className = __clsx(${U});`)}return this._pendingClassArgs=m,this._pendingClassEl=D,_},i._checkBareEventHandler=function(r,h){if(!this.is(r,".")||r[1]!=="this")return;let o=r[2],s=o instanceof String?o.generatedBareEvent:null;if(!s)return;let w=String(s);if(!Af.has(w)){this.error(`\`@${w}\` is not a DOM event — use \`= @${w}\` to render text, or \`@${w}: handler\` for an explicit handler`,h);return}if(w==="error"){this.error("Bare `@error` is ambiguous with the onError lifecycle hook — write `@error: handler` to bind a DOM error listener explicitly",h);return}let _=String(o);if(this.componentMembers&&!this.componentMembers.has(_))this.error(`Bare \`@${w}\` requires a component method \`${_}\` — define \`${_}\`, or use \`@${w}: handler\` for an explicit handler`,h)},i.emitAttributes=function(r,h){let o=Ha(h.slice(1));for(let s=1;s<h.length;s++){let[,w,_]=h[s];if(this.is(w,".")&&w[1]==="this"){let y=w[2];if(this._checkBareEventHandler(_,h[s]),typeof _==="string"&&this.componentMembers?.has(_))this._createLines.push(`${r}.addEventListener('${y}', (e) => __batch(() => ${this._self}.${_}(e)));`);else{let m=this.emitInComponent(_,"value");this._createLines.push(`${r}.addEventListener('${y}', (e) => __batch(() => (${m})(e)));`)}continue}if(typeof w==="string"||w instanceof String){if(w.startsWith('"')&&w.endsWith('"'))w=w.slice(1,-1);if(w==="class"||w==="className"){let m=this.emitInComponent(_,"value");if(this._pendingClassArgs&&this._pendingClassEl===r)this._pendingClassArgs.push(m);else if(this.hasReactiveDeps(_))if(this._svgDepth>0)this._pushEffect(`${r}.setAttribute('class', __clsx(${m}));`);else this._pushEffect(`${r}.className = __clsx(${m});`);else{let D=Array.isArray(_)?`__clsx(${m})`:m;if(this._svgDepth>0)this._createLines.push(`${r}.setAttribute('class', ${D});`);else this._createLines.push(`${r}.className = ${D};`)}continue}if(w==="__transition__"){let m=String(_).replace(/^["']|["']$/g,"");this._createLines.push(`this._t = "${m}";`);continue}if(w==="ref"){let m=l(_);if(!m||!/^[A-Za-z_$][\w$]*$/.test(m))this.error("ref: expects a state cell — declare `el := null` then write `ref: el` (string-name refs were removed)",_);if(!(this.refTargetMembers&&this.refTargetMembers.has(m))){let U=this.reactiveMembers&&this.reactiveMembers.has(m);this.error(U?`ref: target '${m}' is not a writable state cell — declare it with ':=' (computed '~=' and readonly '=!' members can't hold a ref)`:`ref: target '${m}' must be a state cell declared with ':=' (e.g. \`${m} := null\`)`,_)}let D=`${this._self}.${m}`;if(this._factoryMode)(this._refMounts??=[]).push({cellExpr:D,elVar:r});else this._createLines.push(`${D}.value = ${r};`),this._createLines.push(`(this._refCleanups ??= []).push(() => __detachRef(${D}, ${r}));`);continue}if(w.startsWith(Rf)&&w.endsWith(Mf)){let m=w.slice(Rf.length,-Mf.length),D=this.emitInComponent(_,"value"),U,R;if(m==="checked")U="change",R="e.target.checked";else U="input",R=o==="number"||o==="range"?"e.target.valueAsNumber":"e.target.value";this._pushEffect(`${r}.${m} = ${D};`);let A=`${D} = ${R}`,E=!this.isSimpleAssignable(_)&&this.findRootReactiveMember(_);if(E)A+=`; ${this._self}.${E}.touch?.()`;this._createLines.push(`${r}.addEventListener('${U}', (e) => { ${A}; });`);continue}let y=this.emitInComponent(_,"value");if((w==="value"||w==="checked")&&this.hasReactiveDeps(_)){this._pushEffect(`${r}.${w} = ${y};`);continue}if(w==="innerHTML"||w==="textContent"||w==="innerText")if(this.hasReactiveDeps(_))this._pushEffect(`${r}.${w} = ${y};`);else this._createLines.push(`${r}.${w} = ${y};`);else if(za.has(w))if(this.hasReactiveDeps(_))this._pushEffect(`${r}.toggleAttribute('${w}', !!${y});`);else this._createLines.push(`if (${y}) ${r}.setAttribute('${w}', '');`);else if(this.hasReactiveDeps(_))if(Array.isArray(_)&&_[0]==="presence")this._pushEffect(`{ const __v = ${y}; __v == null ? ${r}.removeAttribute('${w}') : ${r}.setAttribute('${w}', __v); }`);else this._pushEffect(`${r}.setAttribute('${w}', ${y});`);else if(Array.isArray(_)&&_[0]==="presence")this._createLines.push(`{ const __v = ${y}; if (__v != null) ${r}.setAttribute('${w}', __v); }`);else this._createLines.push(`${r}.setAttribute('${w}', ${y});`)}}},i.emitTemplateBlock=function(r){if(!Array.isArray(r)||r[0]!=="block"){let _=this.emitNode(r);if(_!=null)return _;let y=this.newElementVar("empty");return this._createLines.push(`${y} = document.createComment('');`),y}let h=r.slice(1);if(h.length===0){let _=this.newElementVar("empty");return this._createLines.push(`${_} = document.createComment('');`),_}let o=h.reduce((_,y)=>_+(this._isRenderBinding(y)?0:1),0);if(o===0){for(let y of h)this.emitNode(y);let _=this.newElementVar("empty");return this._createLines.push(`${_} = document.createComment('');`),_}if(o===1){let _=null;for(let y of h){let m=this.emitNode(y);if(m!=null)_=m}return _}let s=this.newElementVar("frag");this._createLines.push(`${s} = document.createDocumentFragment();`);let w=[];for(let _ of h){let y=this.emitNode(_);if(y==null)continue;this._createLines.push(`${s}.appendChild(${y});`),w.push(y)}return this._fragChildren.set(s,w),s},i.emitConditional=function(r){if(r.length>4){let q=r[r.length-1];for(let S=r.length-2;S>=3;S--)q=[...r[S],q];r=[r[0],r[1],r[2],q]}let[,h,o,s]=r,w=this.newElementVar("anchor");this._createLines.push(`${w} = document.createComment('if');`);let _=this.emitInComponent(h,"value"),y=this._loopVarStack.map((q)=>`${q.itemVar}, ${q.indexVar}`).join(", "),m=y?`, ${y}`:"",D=this.newBlockVar(),U=this.emitConditionBranch(D,o),R=null;if(s)R=this.newBlockVar(),U=this.emitConditionBranch(R,s)||U;let A=[];A.push(`// Conditional: ${D}${R?" / "+R:""}`),A.push("{"),A.push(` const anchor = ${w};`),A.push(" let currentBlock = null;"),A.push(" let showing = null;");let E=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",M=this._factoryMode?"}, {skipRegister: true}));":"});";if(A.push(` ${E}`),U)A.push(" __batch(() => {");if(A.push(` const show = !!(${_});`),A.push(` const want = show ? 'then' : ${s?"'else'":"null"};`),A.push(" if (want === showing) return;"),A.push(""),A.push(" if (currentBlock) {"),A.push(" const leaving = currentBlock;"),A.push(" if (leaving._t) { __transition(leaving._first, leaving._t, 'leave', () => leaving.d(true)); }"),A.push(" else { leaving.d(true); }"),A.push(" currentBlock = null;"),A.push(" }"),A.push(" showing = want;"),A.push(""),A.push(" if (want === 'then') {"),A.push(` currentBlock = ${D}(${this._self}${m});`),A.push(" currentBlock.c();"),A.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),A.push(` currentBlock.p(${this._self}${m});`),A.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),A.push(" }"),s)A.push(" if (want === 'else') {"),A.push(` currentBlock = ${R}(${this._self}${m});`),A.push(" currentBlock.c();"),A.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),A.push(` currentBlock.p(${this._self}${m});`),A.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),A.push(" }");if(U)A.push(" });");if(A.push(` ${M}`),this._factoryMode)A.push(" disposers.push(() => { if (currentBlock) { currentBlock.d(true); currentBlock = null; } });");else A.push(" { const __cur = globalThis.__ripComponent?.__getCurrentComponent?.(); if (__cur) (__cur._disposers ??= []).push(() => { if (currentBlock) { currentBlock.d(true); currentBlock = null; } }); }");return A.push("}"),this._setupLines.push(A.join(`
1895
+ `)),w},i.emitConditionBranch=function(r,h){let o=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars,this._renderLocalScope,this._refMounts];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set,this._renderLocalScope=new Set,this._refMounts=[];let s=this.emitTemplateBlock(h),w=this._createLines,_=this._setupLines,y=this._factoryVars,m=this._refMounts;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars,this._renderLocalScope,this._refMounts]=o;let D=this._loopVarStack.map((R)=>`${R.itemVar}, ${R.indexVar}`).join(", "),U=D?`, ${D}`:"";return this.emitBlockFactory(r,`ctx${U}`,s,w,_,y,!1,m),m.length>0},i.emitBlockFactory=function(r,h,o,s,w,_,y,m){let D=[];if(D.push(`function ${r}(${h}) {`),_.size>0)D.push(` let ${[..._].join(", ")};`);let U=w.length>0;if(U)D.push(" let disposers = [];");if(D.push(" let _factoryChildren = [];"),D.push(" return {"),y)D.push(" _s: true,");let R=this._fragChildren.get(o),A=R?R[0]:o;D.push(" c() {");for(let E of s)D.push(` ${E}`);if(D.push(` this._first = ${A};`),D.push(" },"),D.push(" m(target, anchor) {"),R)for(let E of R)D.push(` if (target) target.insertBefore(${E}, anchor);`);else D.push(` if (target) target.insertBefore(${o}, anchor);`);if(m&&m.length)for(let E of m)D.push(` ${E.cellExpr}.value = ${E.elVar};`);if(D.push(" },"),D.push(` p(${h}) {`),U){D.push(" disposers.forEach(d => d());"),D.push(" disposers = [];");for(let E of w)D.push(` ${E}`)}if(D.push(" },"),D.push(" d(detaching) {"),D.push(" for (const __c of _factoryChildren) { try { __c.unmount?.({removeDOM: detaching}); } catch (__e) { console.error('[Rip] factory child unmount error:', __e); } }"),D.push(" _factoryChildren = [];"),U)D.push(" disposers.forEach(d => d());");if(m&&m.length){D.push(" if (detaching) __batch(() => {");for(let E of m)D.push(` __detachRef(${E.cellExpr}, ${E.elVar});`);D.push(" });")}if(R)for(let E of R)D.push(` if (detaching) __detach(${E});`);else D.push(` if (detaching) __detach(${o});`);D.push(" }"),D.push(" };"),D.push("}"),this._blockFactories.push(D.join(`
1896
+ `))},i.emitTemplateLoop=function(r){let[h,o,s,w,_,y]=r,m=this.newBlockVar(),D=this.newElementVar("anchor");this._createLines.push(`${D} = document.createComment('for');`);let U=Array.isArray(o)?o:[o],R=U[0],A=U[1]||null;if(!A){let Z=new Set(this._loopVarStack.flatMap((g)=>[g.itemVar,g.indexVar]));Z.add(R),this._collectBodyBindings(y,Z);for(let g of["i","j","k","l","m","n"])if(!Z.has(g)){A=g;break}A=A||`__rip_idx${this._loopVarStack.length}`}let E=this.emitInComponent(s,"value"),M=R;if(this.is(y,"block")&&y.length>1){let Z=y[1];if(Array.isArray(Z))for(let g of Z){if(this.is(g,"object"))for(let P=1;P<g.length;P++){let[un,k]=g[P];if(un==="key"){M=this.emit(k,"value");break}}if(M!==R)break}}let q=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars,this._renderLocalScope,this._refMounts];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set,this._renderLocalScope=new Set,this._refMounts=[];let S=this._loopVarStack.map((Z)=>`${Z.itemVar}, ${Z.indexVar}`).join(", "),Q=S?`, ${S}`:"",F=this.hasReactiveDeps(s);this._loopVarStack.push({itemVar:R,indexVar:A,reactiveSource:F});let K=this.emitTemplateBlock(y);this._loopVarStack.pop();let H=this._createLines,G=this._setupLines,B=this._factoryVars,j=this._refMounts;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars,this._renderLocalScope,this._refMounts]=q;let b=G.length===0,ln=`ctx, ${R}, ${A}${Q}`;this.emitBlockFactory(m,ln,K,H,G,B,b,j);let nn=j.length>0,Hn=M!==R?`(${R}, ${A}) => ${M}`:"null",X=S?`, ${S}`:"",W=[];W.push(`// Loop: ${m}`),W.push("{"),W.push(" const __s = { blocks: [], keys: [] };");let d=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",z=this._factoryMode?"}, {skipRegister: true}));":"});";if(W.push(` ${d}`),nn)W.push(` __batch(() => __reconcile(${D}, __s, ${E}, ${this._self}, ${m}, ${Hn}${X}));`);else W.push(` __reconcile(${D}, __s, ${E}, ${this._self}, ${m}, ${Hn}${X});`);if(W.push(` ${z}`),this._factoryMode)W.push(" disposers.push(() => { for (const __b of __s.blocks) { try { __b.d(true); } catch {} } __s.blocks = []; __s.keys = []; __s.items = []; });");else W.push(" { const __cur = globalThis.__ripComponent?.__getCurrentComponent?.(); if (__cur) (__cur._disposers ??= []).push(() => { for (const __b of __s.blocks) { try { __b.d(true); } catch {} } __s.blocks = []; __s.keys = []; __s.items = []; }); }");return W.push("}"),this._setupLines.push(W.join(`
1897
+ `)),D},i.emitChildComponent=function(r,h){let o=this.newElementVar("inst"),s=this.newElementVar("el"),{propsCode:w,reactiveProps:_,eventBindings:y,childrenSetupLines:m}=this.buildComponentProps(h),D=this._self;if(this._createLines.push(`{ const __prev = __pushComponent(${D}); try {`),this._createLines.push("try {"),this._createLines.push(`${o} = new ${r}(${w});`),this._createLines.push(`if (${o} && ${o}._initFailed) {`),this._createLines.push(` try { ${o}.unmount({removeDOM: false}); } catch (__ue) { console.error('[Rip] partial-init unmount error:', __ue); }`),this._createLines.push(` ${o} = null;`),this._createLines.push(` ${s} = document.createComment('rip:child-init-failed: ${r}');`),this._createLines.push("} else {"),this._createLines.push(` { const __cprev = __pushComponent(${o}); try {`),this._createLines.push(` ${s} = ${o}._root = ${o}._create();`),this._createLines.push(" } finally { __popComponent(__cprev); } }"),this._factoryMode)this._createLines.push(` _factoryChildren.push(${o});`);else this._createLines.push(` (${D}._children || (${D}._children = [])).push(${o});`);this._createLines.push("}"),this._createLines.push("} catch (__childErr) {"),this._createLines.push(` console.error('[Rip] ${r} construction failed:', __childErr);`),this._createLines.push(` if (${o}) { try { ${o}.unmount({removeDOM: false}); } catch (__ue) { console.error('[Rip] partial-child unmount error:', __ue); } }`),this._createLines.push(` ${o} = null;`),this._createLines.push(` ${s} = document.createComment('rip:child-error: ${r}');`),this._createLines.push("}"),this._createLines.push("} finally { __popComponent(__prev); } }");for(let{event:U,value:R}of y){this._checkBareEventHandler(R,R);let A=this.emitInComponent(R,"value");this._createLines.push(`if (${o}) ${s}.addEventListener('${U}', (e) => __batch(() => (${A})(e)));`)}this._setupLines.push(`if (${o} && !${o}._isSetup) { ${o}._isSetup = true; const __cprev = __pushComponent(${o}); try { try { if (${o}.beforeMount) ${o}.beforeMount(); if (${o}._setup) ${o}._setup(); if (${o}.mounted) ${o}.mounted(); } catch (__e) { __handleComponentError(__e, ${o}); } } finally { __popComponent(__cprev); } }`);for(let{key:U,valueCode:R}of _)this._pushEffect(`if (${o}) { if (${o}.${U} && typeof ${o}.${U} === 'object' && 'value' in ${o}.${U}) ${o}.${U}.value = ${R}; else if (${o}._setRestProp) ${o}._setRestProp('${U}', ${R}); }`);for(let U of m)this._setupLines.push(U);return s},i.buildComponentProps=function(r){let h=[],o=[],s=[],w=null,_=[],y=(A,E)=>{if(A.startsWith("@")){s.push({event:A.slice(1).split(".")[0],value:E});return}if(this.reactiveMembers&&(typeof E==="string"&&this.reactiveMembers.has(E)||Array.isArray(E)&&E[0]==="."&&E[1]==="this"&&typeof E[2]==="string"&&this.reactiveMembers.has(E[2]))){let q=typeof E==="string"?E:E[2];h.push(`${A}: ${this._self}.${q}`)}else{let q=this.emitInComponent(E,"value");if(h.push(`${A}: ${q}`),this.hasReactiveDeps(E))o.push({key:A,valueCode:q})}},m=(A)=>{for(let E=1;E<A.length;E++){let[,M,q]=A[E];if(typeof M==="string")y(M,q);else if(Array.isArray(M)&&M[0]==="."&&M[1]==="this"&&typeof M[2]==="string")s.push({event:M[2],value:q})}},D=/^[a-zA-Z_$][\w$]*$/,U=(A)=>typeof A==="string"&&D.test(A);for(let A of r)if(this.is(A,"object"))m(A);else if(U(A)&&!this._isInScopeValue(A))y(A,"true");else if(Array.isArray(A)&&(A[0]==="->"||A[0]==="=>")){let E=A[2];if(E){if(this.is(E,"block")){let M=[];for(let q of E.slice(1))if(this.is(q,"object"))m(q);else if(U(q)&&!this._isInScopeValue(q))y(q,"true");else M.push(q);E=M.length>0?["block",...M]:null}if(E){let M=this._createLines,q=this._setupLines;this._createLines=[],this._setupLines=[],w=this.emitTemplateBlock(E);let S=this._createLines,Q=this._setupLines;this._createLines=M,this._setupLines=q;for(let F of S)this._createLines.push(F);_.push(...Q),h.push(`children: ${w}`)}}}else if(A&&!w){let E=this.newTextVar(),M=this.emitInComponent(A,"value");if(this.hasReactiveDeps(A)){this._createLines.push(`${E} = document.createTextNode('');`);let q=`${E}.data = ${M};`,S=this._factoryMode?`disposers.push(__effect(() => { ${q} }, {skipRegister: true}));`:`__effect(() => { ${q} });`;_.push(S)}else this._createLines.push(`${E} = document.createTextNode(${M});`);w=E,h.push(`children: ${w}`)}return{propsCode:h.length>0?`{ ${h.join(", ")} }`:"{}",reactiveProps:o,eventBindings:s,childrenSetupLines:_}},i.hasReactiveDeps=function(r){if(typeof r==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(r));if(!Array.isArray(r))return!1;if(r[0]==="."&&r[1]==="this"&&typeof r[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(r[2]));if(r[0]==="."&&this._rootsAtThis(r[1]))return!0;if((r[0]==="."||r[0]==="[]")&&this._rootsAtReactiveLoopVar(r))return!0;if(Array.isArray(r[0])&&r[0][0]==="."&&r[0][1]==="this"){let h=l(r[0][2]);if(h&&this.componentMembers?.has(h))return!0}for(let h of r)if(this.hasReactiveDeps(h))return!0;return!1},i._collectBodyBindings=function(r,h){if(!Array.isArray(r))return;let o=r[0];if(o==="for-in"||o==="for-of"||o==="for-as"){let s=r[1],w=Array.isArray(s)?s:[s];for(let _ of w)if(typeof _==="string")h.add(_)}else if(o==="="&&t(r[1]))h.add(r[1]);for(let s=1;s<r.length;s++)this._collectBodyBindings(r[s],h)},i.isSimpleAssignable=function(r){if(typeof r==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(r));if(Array.isArray(r)&&r[0]==="."&&r[1]==="this"&&typeof r[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(r[2]));return!1},i.findRootReactiveMember=function(r){if(typeof r==="string")return this.reactiveMembers?.has(r)?r:null;if(!Array.isArray(r))return null;if(r[0]==="."&&r[1]==="this"&&typeof r[2]==="string")return this.reactiveMembers?.has(r[2])?r[2]:null;if(r[0]==="."||r[0]==="[]")return this.findRootReactiveMember(r[1]);return null},i._rootsAtThis=function(r){if(typeof r==="string")return r==="this";if(!Array.isArray(r)||r[0]!==".")return!1;return this._rootsAtThis(r[1])},i._rootsAtReactiveLoopVar=function(r){if(typeof r==="string"){if(!this._loopVarStack||this._loopVarStack.length===0)return!1;for(let h=this._loopVarStack.length-1;h>=0;h--){let o=this._loopVarStack[h];if(o.itemVar===r)return!!o.reactiveSource}return!1}if(!Array.isArray(r))return!1;if(r[0]==="."||r[0]==="[]")return this._rootsAtReactiveLoopVar(r[1]);return!1},i.getComponentRuntime=function(){return`
1897
1898
  // ============================================================================
1898
1899
  // Rip Component Runtime
1899
1900
  // ============================================================================
@@ -2299,6 +2300,21 @@ class __Component {
2299
2300
  }
2300
2301
  this._disposers = null;
2301
2302
  }
2303
+ // Static template-ref cleanups run AFTER this component's own effects
2304
+ // are disposed (nulling a ref before disposing the effects that read it
2305
+ // could re-run them mid-teardown under the synchronous scheduler) but
2306
+ // before the DOM detaches. Batched so a forwarded ref (a parent-owned
2307
+ // cell filled by a child element) notifies the still-live parent
2308
+ // subscribers exactly once.
2309
+ if (this._refCleanups) {
2310
+ const __cleanups = this._refCleanups;
2311
+ this._refCleanups = null;
2312
+ __batch(() => {
2313
+ for (const c of __cleanups) {
2314
+ try { c(); } catch (e) { console.error('[Rip] ref cleanup error:', e); }
2315
+ }
2316
+ });
2317
+ }
2302
2318
  try {
2303
2319
  if (this.unmounted) this.unmounted();
2304
2320
  } catch (e) { console.error('[Rip] unmounted error:', e); }
@@ -2328,12 +2344,12 @@ if (typeof globalThis !== 'undefined') {
2328
2344
  globalThis.__ripComponent = { __pushComponent, __popComponent, __getCurrentComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __gateBind, __detach, __Component };
2329
2345
  }
2330
2346
 
2331
- `}}function bn(n){let f="",e=n<0?-n<<1|1:n<<1;do{let t=e&31;if(e>>>=5,e>0)t|=32;f+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[t]}while(e>0);return f}class _l{constructor(n,f,e=null){this.file=n,this.source=f,this.sourceContent=e,this.names=[],this.nameIndex=new Map,this.lines=[],this.mappings=[],this.prevGenCol=0,this.prevOrigLine=0,this.prevOrigCol=0,this.prevNameIdx=0,this.currentLine=-1}ensureLine(n){while(this.lines.length<=n)this.lines.push([])}addName(n){if(this.nameIndex.has(n))return this.nameIndex.get(n);let f=this.names.length;return this.names.push(n),this.nameIndex.set(n,f),f}addMapping(n,f,e,t,i){if(this.ensureLine(n),this.currentLine!==n)this.prevGenCol=0,this.currentLine=n;if(e==null){this.lines[n].push(bn(f-this.prevGenCol)),this.prevGenCol=f;return}this.mappings.push({genLine:n,genCol:f,origLine:e,origCol:t});let u=bn(f-this.prevGenCol);if(this.prevGenCol=f,u+=bn(0),u+=bn(e-this.prevOrigLine),this.prevOrigLine=e,u+=bn(t-this.prevOrigCol),this.prevOrigCol=t,i!=null){let l=this.addName(i);u+=bn(l-this.prevNameIdx),this.prevNameIdx=l}this.lines[n].push(u)}toReverseMap(){let n=new Map;for(let f of this.mappings){if(!n.has(f.origLine))n.set(f.origLine,[]);n.get(f.origLine).push({origCol:f.origCol,genLine:f.genLine,genCol:f.genCol})}return n}toJSON(){let n=this.lines.map((e)=>e.join(",")).join(";"),f={version:3,file:this.file,sources:[this.source],names:this.names,mappings:n};if(this.sourceContent!=null)f.sourcesContent=[this.sourceContent];return JSON.stringify(f)}}function Ft(n){let f=[],e=0;while(e<n.length){let t=0,i=0,u;do u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(n[e++]),t|=(u&31)<<i,i+=5;while(u&32);f.push(t&1?-(t>>1):t>>1)}return f}var zt=`
2347
+ `}}function Nn(n){let f="",e=n<0?-n<<1|1:n<<1;do{let a=e&31;if(e>>>=5,e>0)a|=32;f+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[a]}while(e>0);return f}class _u{constructor(n,f,e=null){this.file=n,this.source=f,this.sourceContent=e,this.names=[],this.nameIndex=new Map,this.lines=[],this.mappings=[],this.prevGenCol=0,this.prevOrigLine=0,this.prevOrigCol=0,this.prevNameIdx=0,this.currentLine=-1}ensureLine(n){while(this.lines.length<=n)this.lines.push([])}addName(n){if(this.nameIndex.has(n))return this.nameIndex.get(n);let f=this.names.length;return this.names.push(n),this.nameIndex.set(n,f),f}addMapping(n,f,e,a,i){if(this.ensureLine(n),this.currentLine!==n)this.prevGenCol=0,this.currentLine=n;if(e==null){this.lines[n].push(Nn(f-this.prevGenCol)),this.prevGenCol=f;return}this.mappings.push({genLine:n,genCol:f,origLine:e,origCol:a});let l=Nn(f-this.prevGenCol);if(this.prevGenCol=f,l+=Nn(0),l+=Nn(e-this.prevOrigLine),this.prevOrigLine=e,l+=Nn(a-this.prevOrigCol),this.prevOrigCol=a,i!=null){let u=this.addName(i);l+=Nn(u-this.prevNameIdx),this.prevNameIdx=u}this.lines[n].push(l)}toReverseMap(){let n=new Map;for(let f of this.mappings){if(!n.has(f.origLine))n.set(f.origLine,[]);n.get(f.origLine).push({origCol:f.origCol,genLine:f.genLine,genCol:f.genCol})}return n}toJSON(){let n=this.lines.map((e)=>e.join(",")).join(";"),f={version:3,file:this.file,sources:[this.source],names:this.names,mappings:n};if(this.sourceContent!=null)f.sourcesContent=[this.sourceContent];return JSON.stringify(f)}}function Wa(n){let f=[],e=0;while(e<n.length){let a=0,i=0,l;do l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(n[e++]),a|=(l&31)<<i,i+=5;while(l&32);f.push(a&1?-(a>>1):a>>1)}return f}var Ja=`
2332
2348
  ;
2333
- `,Ht=2;function Kt(n){let f=/\n?\/\/# sourceMappingURL=data:application\/json(?:;charset=[^;,]+)?;base64,([A-Za-z0-9+/=]+)\s*$/,e=n.match(f);if(!e)return{js:n,mapJSON:null};let t;try{let i=atob(e[1]),u=new Uint8Array(i.length);for(let l=0;l<i.length;l++)u[l]=i.charCodeAt(l);t=new TextDecoder().decode(u)}catch{return{js:n.slice(0,e.index),mapJSON:null}}return{js:n.slice(0,e.index),mapJSON:t}}function Qt(n){let f=0;for(let e=0;e<n.length;e++)if(n.charCodeAt(e)===10)f++;return f}function Wt(n){let f=n.split(";"),e=[],t=0,i=0,u=0,l=0;for(let a of f){let c=[],r=0;if(a.length>0)for(let h of a.split(",")){if(h.length===0)continue;let o=Ft(h);if(r+=o[0],o.length===1)c.push({genCol:r});else{t+=o[1],i+=o[2],u+=o[3];let s={genCol:r,src:t,origLine:i,origCol:u};if(o.length>=5)l+=o[4],s.name=l;c.push(s)}}e.push(c)}return e}function Jt(n){let f=0,e=0,t=0,i=0,u=0,l=[];for(let a of n){f=0;let c=[];for(let r of a){if(r.src==null)c.push(bn(r.genCol-f));else{let h=bn(r.genCol-f);if(h+=bn(r.src-e),h+=bn(r.origLine-t),h+=bn(r.origCol-i),r.name!=null)h+=bn(r.name-u),u=r.name;e=r.src,t=r.origLine,i=r.origCol,c.push(h)}f=r.genCol}l.push(c.join(","))}return l.join(";")}function Yt(n){let f=n.map((R)=>{if(R.mapJSON!==void 0)return{js:R.js,mapJSON:R.mapJSON};return Kt(R.js)}),e=f.some((R)=>R.mapJSON),t=f.map((R)=>R.js).join(zt);if(!e)return{js:t,mapJSON:null};let i=[],u=[],l=new Map,a=[],c=new Map;function r(R,U){if(l.has(R))return l.get(R);let m=i.length;return i.push(R),u.push(U??null),l.set(R,m),m}function h(R){if(c.has(R))return c.get(R);let U=a.length;return a.push(R),c.set(R,U),U}let o=[],s=0;for(let R=0;R<f.length;R++){let U=f[R],m={lineOffset:s,srcRemap:[],nameRemap:[],perLineSegs:null};if(U.mapJSON){let q;try{q=JSON.parse(U.mapJSON)}catch{q=null}if(q&&typeof q.mappings==="string"){let S=q.sources||[],d=q.sourcesContent||[];m.srcRemap=S.map((E,Z)=>r(E,d[Z]));let K=q.names||[];m.nameRemap=K.map((E)=>h(E)),m.perLineSegs=Wt(q.mappings)}}o.push(m);let D=Qt(U.js),M=R<f.length-1?Ht:0;s+=D+M}let w=s+1,_=Array(w).fill(null).map(()=>[]);for(let R of o){if(!R.perLineSegs)continue;for(let U=0;U<R.perLineSegs.length;U++){let m=R.lineOffset+U;if(m>=_.length)while(_.length<=m)_.push([]);for(let D of R.perLineSegs[U])if(D.src==null)_[m].push({genCol:D.genCol});else{let M={genCol:D.genCol,src:R.srcRemap[D.src],origLine:D.origLine,origCol:D.origCol};if(D.name!=null)M.name=R.nameRemap[D.name];_[m].push(M)}}}let A=Jt(_);return{js:t,mapJSON:JSON.stringify({version:3,sources:i,sourcesContent:u,names:a,mappings:A})}}function Zt(n){if(typeof Buffer<"u")return Buffer.from(n,"utf8").toString("base64");let f=new TextEncoder().encode(n),e="";for(let t=0;t<f.length;t++)e+=String.fromCharCode(f[t]);return btoa(e)}function df(n){let{js:f,mapJSON:e}=Yt(n);if(!e)return f;let t=Zt(e);return f+`
2334
- //# sourceMappingURL=data:application/json;base64,`+t+`
2335
- `}var Ff="",zf="",wl="";class ml{constructor(){this.nextId=1,this.meta=new Map}wrap(n,f,e,t=null){if(f==null||e==null||e==="")return e;let i=this.nextId++;return this.meta.set(i,{kind:n,loc:f,data:t}),`${Ff}${i}${wl}${e}${zf}${i}${wl}`}get active(){return this.nextId>1}}function Hf(n,f){let e="",t=0,i=0,u=0,l=[],a=[],c=(r)=>{let h=r+1,o=n.indexOf(wl,h);if(o<0)throw Error("markers: unterminated tag");let s=Number(n.slice(h,o));if(!Number.isInteger(s))throw Error("markers: malformed marker id");return{id:s,next:o+1}};for(let r=0;r<n.length;){let h=n[r];if(h===Ff){let{id:o,next:s}=c(r),w=f.meta.get(o);if(!w)throw Error(`markers: unknown open id ${o}`);a.push({id:o,meta:w,genStart:t,genLine:i,genCol:u}),r=s;continue}if(h===zf){let{id:o,next:s}=c(r),w=a.pop();if(!w||w.id!==o)throw Error(`markers: unbalanced close id ${o}`);l.push({kind:w.meta.kind,loc:w.meta.loc,data:w.meta.data,genStart:w.genStart,genEnd:t,genLine:w.genLine,genCol:w.genCol}),r=s;continue}if(e+=h,h===`
2336
- `)i++,u=0;else u++;t++,r++}if(a.length)throw Error("markers: unclosed marker(s)");return{code:e,marks:l}}function oi(){return`// rip:stdlib:begin
2349
+ `,Ya=2;function da(n){let f=/\n?\/\/# sourceMappingURL=data:application\/json(?:;charset=[^;,]+)?;base64,([A-Za-z0-9+/=]+)\s*$/,e=n.match(f);if(!e)return{js:n,mapJSON:null};let a;try{let i=atob(e[1]),l=new Uint8Array(i.length);for(let u=0;u<i.length;u++)l[u]=i.charCodeAt(u);a=new TextDecoder().decode(l)}catch{return{js:n.slice(0,e.index),mapJSON:null}}return{js:n.slice(0,e.index),mapJSON:a}}function Za(n){let f=0;for(let e=0;e<n.length;e++)if(n.charCodeAt(e)===10)f++;return f}function Ga(n){let f=n.split(";"),e=[],a=0,i=0,l=0,u=0;for(let t of f){let c=[],r=0;if(t.length>0)for(let h of t.split(",")){if(h.length===0)continue;let o=Wa(h);if(r+=o[0],o.length===1)c.push({genCol:r});else{a+=o[1],i+=o[2],l+=o[3];let s={genCol:r,src:a,origLine:i,origCol:l};if(o.length>=5)u+=o[4],s.name=u;c.push(s)}}e.push(c)}return e}function Xa(n){let f=0,e=0,a=0,i=0,l=0,u=[];for(let t of n){f=0;let c=[];for(let r of t){if(r.src==null)c.push(Nn(r.genCol-f));else{let h=Nn(r.genCol-f);if(h+=Nn(r.src-e),h+=Nn(r.origLine-a),h+=Nn(r.origCol-i),r.name!=null)h+=Nn(r.name-l),l=r.name;e=r.src,a=r.origLine,i=r.origCol,c.push(h)}f=r.genCol}u.push(c.join(","))}return u.join(";")}function ba(n){let f=n.map((D)=>{if(D.mapJSON!==void 0)return{js:D.js,mapJSON:D.mapJSON};return da(D.js)}),e=f.some((D)=>D.mapJSON),a=f.map((D)=>D.js).join(Ja);if(!e)return{js:a,mapJSON:null};let i=[],l=[],u=new Map,t=[],c=new Map;function r(D,U){if(u.has(D))return u.get(D);let R=i.length;return i.push(D),l.push(U??null),u.set(D,R),R}function h(D){if(c.has(D))return c.get(D);let U=t.length;return t.push(D),c.set(D,U),U}let o=[],s=0;for(let D=0;D<f.length;D++){let U=f[D],R={lineOffset:s,srcRemap:[],nameRemap:[],perLineSegs:null};if(U.mapJSON){let M;try{M=JSON.parse(U.mapJSON)}catch{M=null}if(M&&typeof M.mappings==="string"){let q=M.sources||[],S=M.sourcesContent||[];R.srcRemap=q.map((F,K)=>r(F,S[K]));let Q=M.names||[];R.nameRemap=Q.map((F)=>h(F)),R.perLineSegs=Ga(M.mappings)}}o.push(R);let A=Za(U.js),E=D<f.length-1?Ya:0;s+=A+E}let w=s+1,_=Array(w).fill(null).map(()=>[]);for(let D of o){if(!D.perLineSegs)continue;for(let U=0;U<D.perLineSegs.length;U++){let R=D.lineOffset+U;if(R>=_.length)while(_.length<=R)_.push([]);for(let A of D.perLineSegs[U])if(A.src==null)_[R].push({genCol:A.genCol});else{let E={genCol:A.genCol,src:D.srcRemap[A.src],origLine:A.origLine,origCol:A.origCol};if(A.name!=null)E.name=D.nameRemap[A.name];_[R].push(E)}}}let y=Xa(_);return{js:a,mapJSON:JSON.stringify({version:3,sources:i,sourcesContent:l,names:t,mappings:y})}}function Na(n){if(typeof Buffer<"u")return Buffer.from(n,"utf8").toString("base64");let f=new TextEncoder().encode(n),e="";for(let a=0;a<f.length;a++)e+=String.fromCharCode(f[a]);return btoa(e)}function Ff(n){let{js:f,mapJSON:e}=ba(n);if(!e)return f;let a=Na(e);return f+`
2350
+ //# sourceMappingURL=data:application/json;base64,`+a+`
2351
+ `}var zf="",Hf="",wu="";class mu{constructor(){this.nextId=1,this.meta=new Map}wrap(n,f,e,a=null){if(f==null||e==null||e==="")return e;let i=this.nextId++;return this.meta.set(i,{kind:n,loc:f,data:a}),`${zf}${i}${wu}${e}${Hf}${i}${wu}`}get active(){return this.nextId>1}}function Kf(n,f){let e="",a=0,i=0,l=0,u=[],t=[],c=(r)=>{let h=r+1,o=n.indexOf(wu,h);if(o<0)throw Error("markers: unterminated tag");let s=Number(n.slice(h,o));if(!Number.isInteger(s))throw Error("markers: malformed marker id");return{id:s,next:o+1}};for(let r=0;r<n.length;){let h=n[r];if(h===zf){let{id:o,next:s}=c(r),w=f.meta.get(o);if(!w)throw Error(`markers: unknown open id ${o}`);t.push({id:o,meta:w,genStart:a,genLine:i,genCol:l}),r=s;continue}if(h===Hf){let{id:o,next:s}=c(r),w=t.pop();if(!w||w.id!==o)throw Error(`markers: unbalanced close id ${o}`);u.push({kind:w.meta.kind,loc:w.meta.loc,data:w.meta.data,genStart:w.genStart,genEnd:a,genLine:w.genLine,genCol:w.genCol}),r=s;continue}if(e+=h,h===`
2352
+ `)i++,l=0;else l++;a++,r++}if(t.length)throw Error("markers: unclosed marker(s)");return{code:e,marks:u}}function oi(){return`// rip:stdlib:begin
2337
2353
  globalThis.abort ??= (msg) => { if (msg) console.error(msg); process.exit(1); };
2338
2354
  globalThis.assert ??= (v, msg) => { if (!v) throw new Error(msg || "Assertion failed"); };
2339
2355
  globalThis.exit ??= (code) => process.exit(code || 0);
@@ -2378,22 +2394,22 @@ globalThis.todo ??= (msg) => { throw new Error(msg || "Not implemented"); };
2378
2394
  globalThis.warn ??= console.warn;
2379
2395
  globalThis.zip ??= (...a) => a[0].map((_, i) => a.map(b => b[i]));
2380
2396
  // rip:stdlib:end
2381
- `}function wi(n){if(!n)return n;return n.replace(/::/g,":")}function Kf({name:n,ripType:f,optional:e,hasDefault:t},i){let u=e||i==="declaration"&&t,l=wi(f);if(l)return`${n}${u?"?":""}: ${l}`;if(u)return`${n}?: any`;return n}var Ii=null;var qn=(n,f)=>n instanceof String?n[f]:void 0,j=(n)=>n instanceof String?n.valueOf():n,Gt=new Set(["+","-","*","/","%","//","%%","**","==","!=","<",">","<=",">=","===","!==","&&","||","??","not","&","|","^","<<",">>",">>>","=",".","?.","[]","!","typeof","void","delete","new","...","rest","expansion","optindex","optcall"]),Nt=new Set(["def","class","if","unless","for-in","for-of","for-as","while","until","loop","switch","try","throw"]),bt=new Set(["true","false","null","undefined","Infinity","NaN"]);function gi(n){if(!Array.isArray(n)||n.length===0)return!1;let f=n[0]?.valueOf?.()??n[0];if(Gt.has(f))return!0;return n.length<=4&&!n.some(Array.isArray)}function Si(n){if(Array.isArray(n))return"(???)";if(typeof n==="number")return String(n);if(n===null)return"null";if(n==="")return'""';let f=String(n);if(f[0]==="/"&&f.indexOf(`
2382
- `)>=0){let e=f.match(/\/([gimsuvy]*)$/),t=e?e[1]:"",i=f.slice(1);return i=t?i.slice(0,-t.length-1):i.slice(0,-1),`"/${i.split(`
2383
- `).map((a)=>a.replace(/#.*$/,"").trim()).join("")}/${t}"`}return f}function gn(n,f=0,e=!1){if(!Array.isArray(n))return Si(n);if(e&&n[0]==="program"){let r=n[1],o=[Array.isArray(r)?"(program":"(program "+Si(r)],s=Array.isArray(r)?1:2;for(let w=s;w<n.length;w++){let _=gn(n[w],2,!1);o.push(_[0]==="("?" "+_:_)}return o.push(")"),o.join(`
2384
- `)}let t=n[0];if(gi(n)&&n.slice(1).every((r)=>!Array.isArray(r)||gi(r))){let h=`(${n.map((o)=>Array.isArray(o)?gn(o,0,!1):Si(o)).join(" ")})`;if(!h.includes(`
2385
- `))return" ".repeat(f)+h}let u=" ".repeat(f),l;if(Array.isArray(t)){if(l=gn(t,0,!1),l.includes(`
2386
- `))l=l.split(`
2397
+ `}function wi(n){if(!n)return n;return n.replace(/::/g,":")}function Qf({name:n,ripType:f,optional:e,hasDefault:a},i){let l=e||i==="declaration"&&a,u=wi(f);if(u)return`${n}${l?"?":""}: ${u}`;if(l)return`${n}?: any`;return n}var Pi=null;var Sn=(n,f)=>n instanceof String?n[f]:void 0,p=(n)=>n instanceof String?n.valueOf():n,Oa=new Set(["+","-","*","/","%","//","%%","**","==","!=","<",">","<=",">=","===","!==","&&","||","??","not","&","|","^","<<",">>",">>>","=",".","?.","[]","!","typeof","void","delete","new","...","rest","expansion","optindex","optcall"]),Pa=new Set(["def","class","if","unless","for-in","for-of","for-as","while","until","loop","switch","try","throw"]),Ia=new Set(["true","false","null","undefined","Infinity","NaN"]);function Ii(n){if(!Array.isArray(n)||n.length===0)return!1;let f=n[0]?.valueOf?.()??n[0];if(Oa.has(f))return!0;return n.length<=4&&!n.some(Array.isArray)}function Ei(n){if(Array.isArray(n))return"(???)";if(typeof n==="number")return String(n);if(n===null)return"null";if(n==="")return'""';let f=String(n);if(f[0]==="/"&&f.indexOf(`
2398
+ `)>=0){let e=f.match(/\/([gimsuvy]*)$/),a=e?e[1]:"",i=f.slice(1);return i=a?i.slice(0,-a.length-1):i.slice(0,-1),`"/${i.split(`
2399
+ `).map((t)=>t.replace(/#.*$/,"").trim()).join("")}/${a}"`}return f}function gn(n,f=0,e=!1){if(!Array.isArray(n))return Ei(n);if(e&&n[0]==="program"){let r=n[1],o=[Array.isArray(r)?"(program":"(program "+Ei(r)],s=Array.isArray(r)?1:2;for(let w=s;w<n.length;w++){let _=gn(n[w],2,!1);o.push(_[0]==="("?" "+_:_)}return o.push(")"),o.join(`
2400
+ `)}let a=n[0];if(Ii(n)&&n.slice(1).every((r)=>!Array.isArray(r)||Ii(r))){let h=`(${n.map((o)=>Array.isArray(o)?gn(o,0,!1):Ei(o)).join(" ")})`;if(!h.includes(`
2401
+ `))return" ".repeat(f)+h}let l=" ".repeat(f),u;if(Array.isArray(a)){if(u=gn(a,0,!1),u.includes(`
2402
+ `))u=u.split(`
2387
2403
  `).map((h,o)=>o===0?h:" ".repeat(f+2)+h).join(`
2388
- `)}else l=Si(t);let a=[`${u}(${l}`],c=t==="block";for(let r=1;r<n.length;r++){let h=n[r];if(!Array.isArray(h))a[a.length-1]+=" "+Si(h);else{let o=gi(h)&&h.every((s)=>!Array.isArray(s)||gi(s));if(!c&&o){let s=gn(h,0,!1);if(!s.includes(`
2389
- `)){a[a.length-1]+=" "+s;continue}}a.push(gn(h,f+2,!1))}}return a[a.length-1]+=")",a.join(`
2390
- `)}class Fn{static ASSIGNMENT_OPS=new Set(["=","+=","-=","*=","/=","?=","&=","|=","^=","%=","**=","??=","&&=","||=","<<=",">>=",">>>="]);static NUMBER_LITERAL_RE=/^-?\d+(\.\d+)?([eE][+-]?\d+)?$/;static NUMBER_START_RE=/^-?\d/;static GENERATORS={program:"emitProgram","&&":"emitLogicalAnd","||":"emitLogicalOr","+":"emitBinaryOp","-":"emitBinaryOp","*":"emitBinaryOp","/":"emitBinaryOp","%":"emitBinaryOp","**":"emitBinaryOp","==":"emitBinaryOp","===":"emitBinaryOp","!=":"emitBinaryOp","!==":"emitBinaryOp","<":"emitBinaryOp",">":"emitBinaryOp","<=":"emitBinaryOp",">=":"emitBinaryOp","??":"emitBinaryOp","&":"emitBinaryOp","|":"emitBinaryOp","^":"emitBinaryOp","<<":"emitBinaryOp",">>":"emitBinaryOp",">>>":"emitBinaryOp","%%":"emitModulo","%%=":"emitModuloAssign","//":"emitFloorDiv","//=":"emitFloorDivAssign","..":"emitRange","=":"emitAssignment","+=":"emitAssignment","-=":"emitAssignment","*=":"emitAssignment","/=":"emitAssignment","%=":"emitAssignment","**=":"emitAssignment","&&=":"emitAssignment","||=":"emitAssignment","??=":"emitAssignment","?=":"emitAssignment","&=":"emitAssignment","|=":"emitAssignment","^=":"emitAssignment","<<=":"emitAssignment",">>=":"emitAssignment",">>>=":"emitAssignment","...":"emitRange","!":"emitNot","~":"emitBitwiseNot","++":"emitIncDec","--":"emitIncDec","=~":"emitRegexMatch",instanceof:"emitInstanceof",in:"emitIn",of:"emitOf",typeof:"emitTypeof",delete:"emitDelete",new:"emitNew",array:"emitArray",object:"emitObject","map-literal":"emitMap",block:"emitBlock",".":"emitPropertyAccess","?.":"emitOptionalProperty","[]":"emitIndexAccess",optindex:"emitOptIndex",optcall:"emitOptCall","regex-index":"emitRegexIndex",".{}":"emitPick","?.{}":"emitOptPick",def:"emitDef","->":"emitThinArrow","=>":"emitFatArrow",return:"emitReturn",state:"emitState",computed:"emitComputed",readonly:"emitReadonly",effect:"emitEffect",gate:"emitGate",break:"emitBreak",continue:"emitContinue","?":"emitExistential",presence:"emitPresence","?:":"emitTernary",loop:"emitLoop","loop-n":"emitLoopN",await:"emitAwait",yield:"emitYield","yield-from":"emitYieldFrom",if:"emitIf","for-in":"emitForIn","for-of":"emitForOf","for-as":"emitForAs",while:"emitWhile",try:"emitTry",throw:"emitThrow",control:"emitControl",switch:"emitSwitch",when:"emitWhen",comprehension:"emitComprehension","object-comprehension":"emitObjectComprehension",class:"emitClass",super:"emitSuper",component:"emitComponent",render:"emitRender",offer:"emitOffer",accept:"emitAccept",enum:"emitEnum",schema:"emitSchema",import:"emitImport",export:"emitExport","export-default":"emitExportDefault","export-all":"emitExportAll","export-from":"emitExportFrom","do-iife":"emitDoIIFE",regex:"emitRegex","tagged-template":"emitTaggedTemplate",str:"emitString",symbol:"emitSymbol"};constructor(n={}){if(this.options=n,this.indentLevel=0,this.indentString=" ",this.comprehensionDepth=0,this.dataSection=n.dataSection,this.sourceMap=n.sourceMap||null,n.reactiveVars)this.reactiveVars=new Set(n.reactiveVars)}error(n,f,{suggestion:e}={}){throw Hn.fromSExpr(n,f,this.options.source,this.options.filename,e)}compile(n){if(this.programVars=new Set,this.functionVars=new Map,this.helpers=new Set,this.scopeStack=[],this.options.foldProjections)nf(n);this.collectProgramVariables(n),this.moduleBindings=new Set,this.collectModuleBindings(n),this.validateComprehensionFilters(n);let f;if(this.options.exactMarks){this.markRecorder=new ml;let e=this.emit(n),t=Hf(e,this.markRecorder);this.markRecorder=null,f=t.code,this.exactMarks=t.marks}else f=this.emit(n);if(this.sourceMap)this.buildMappings();return f}markIdent(n,f,e){if(!this.markRecorder||!e)return n;if(typeof f==="string"||f instanceof String){let t=j(f);if(/^[A-Za-z_$][\w$]*$/.test(t))return this.markRecorder.wrap("ident",e,n)}return n}buildMappings(){if(this._exactSrc=new Set,this.exactMarks)for(let f of this.exactMarks){if(!f.loc)continue;this.sourceMap.addMapping(f.genLine,f.genCol,f.loc.r,f.loc.c),this._exactSrc.add(f.loc.r+":"+f.loc.c)}if(this._importEntries){let f=0;for(let e of this._importEntries){if(e.loc)this.sourceMap.addMapping(f,0,e.loc.r,e.loc.c);if(e.sexpr&&e.loc)this.recordSubMappings(e.code,e.sexpr,f);f+=e.code.split(`
2404
+ `)}else u=Ei(a);let t=[`${l}(${u}`],c=a==="block";for(let r=1;r<n.length;r++){let h=n[r];if(!Array.isArray(h))t[t.length-1]+=" "+Ei(h);else{let o=Ii(h)&&h.every((s)=>!Array.isArray(s)||Ii(s));if(!c&&o){let s=gn(h,0,!1);if(!s.includes(`
2405
+ `)){t[t.length-1]+=" "+s;continue}}t.push(gn(h,f+2,!1))}}return t[t.length-1]+=")",t.join(`
2406
+ `)}class zn{static ASSIGNMENT_OPS=new Set(["=","+=","-=","*=","/=","?=","&=","|=","^=","%=","**=","??=","&&=","||=","<<=",">>=",">>>="]);static NUMBER_LITERAL_RE=/^-?\d+(\.\d+)?([eE][+-]?\d+)?$/;static NUMBER_START_RE=/^-?\d/;static GENERATORS={program:"emitProgram","&&":"emitLogicalAnd","||":"emitLogicalOr","+":"emitBinaryOp","-":"emitBinaryOp","*":"emitBinaryOp","/":"emitBinaryOp","%":"emitBinaryOp","**":"emitBinaryOp","==":"emitBinaryOp","===":"emitBinaryOp","!=":"emitBinaryOp","!==":"emitBinaryOp","<":"emitBinaryOp",">":"emitBinaryOp","<=":"emitBinaryOp",">=":"emitBinaryOp","??":"emitBinaryOp","&":"emitBinaryOp","|":"emitBinaryOp","^":"emitBinaryOp","<<":"emitBinaryOp",">>":"emitBinaryOp",">>>":"emitBinaryOp","%%":"emitModulo","%%=":"emitModuloAssign","//":"emitFloorDiv","//=":"emitFloorDivAssign","..":"emitRange","=":"emitAssignment","+=":"emitAssignment","-=":"emitAssignment","*=":"emitAssignment","/=":"emitAssignment","%=":"emitAssignment","**=":"emitAssignment","&&=":"emitAssignment","||=":"emitAssignment","??=":"emitAssignment","?=":"emitAssignment","&=":"emitAssignment","|=":"emitAssignment","^=":"emitAssignment","<<=":"emitAssignment",">>=":"emitAssignment",">>>=":"emitAssignment","...":"emitRange","!":"emitNot","~":"emitBitwiseNot","++":"emitIncDec","--":"emitIncDec","=~":"emitRegexMatch",instanceof:"emitInstanceof",in:"emitIn",of:"emitOf",typeof:"emitTypeof",delete:"emitDelete",new:"emitNew",array:"emitArray",object:"emitObject","map-literal":"emitMap",block:"emitBlock",".":"emitPropertyAccess","?.":"emitOptionalProperty","[]":"emitIndexAccess",optindex:"emitOptIndex",optcall:"emitOptCall","regex-index":"emitRegexIndex",".{}":"emitPick","?.{}":"emitOptPick",def:"emitDef","->":"emitThinArrow","=>":"emitFatArrow",return:"emitReturn",state:"emitState",computed:"emitComputed",readonly:"emitReadonly",effect:"emitEffect",gate:"emitGate",break:"emitBreak",continue:"emitContinue","?":"emitExistential",presence:"emitPresence","?:":"emitTernary",loop:"emitLoop","loop-n":"emitLoopN",await:"emitAwait",yield:"emitYield","yield-from":"emitYieldFrom",if:"emitIf","for-in":"emitForIn","for-of":"emitForOf","for-as":"emitForAs",while:"emitWhile",try:"emitTry",throw:"emitThrow",control:"emitControl",switch:"emitSwitch",when:"emitWhen",comprehension:"emitComprehension","object-comprehension":"emitObjectComprehension",class:"emitClass",super:"emitSuper",component:"emitComponent",render:"emitRender",offer:"emitOffer",accept:"emitAccept",enum:"emitEnum",schema:"emitSchema",import:"emitImport",export:"emitExport","export-default":"emitExportDefault","export-all":"emitExportAll","export-from":"emitExportFrom","do-iife":"emitDoIIFE",regex:"emitRegex","tagged-template":"emitTaggedTemplate",str:"emitString",symbol:"emitSymbol",cast:"emitCast"};constructor(n={}){if(this.options=n,this.indentLevel=0,this.indentString=" ",this.comprehensionDepth=0,this.dataSection=n.dataSection,this.sourceMap=n.sourceMap||null,n.reactiveVars)this.reactiveVars=new Set(n.reactiveVars)}error(n,f,{suggestion:e}={}){throw Kn.fromSExpr(n,f,this.options.source,this.options.filename,e)}compile(n){if(this.programVars=new Set,this.functionVars=new Map,this.helpers=new Set,this.scopeStack=[],this.options.foldProjections)nf(n);this.collectProgramVariables(n),this.moduleBindings=new Set,this.collectModuleBindings(n),this.validateComprehensionFilters(n);let f;if(this.options.exactMarks){this.markRecorder=new mu;let e=this.emit(n),a=Kf(e,this.markRecorder);this.markRecorder=null,f=a.code,this.exactMarks=a.marks}else f=this.emit(n);if(this.sourceMap)this.buildMappings();return f}markIdent(n,f,e){if(!this.markRecorder||!e)return n;if(typeof f==="string"||f instanceof String){let a=p(f);if(/^[A-Za-z_$][\w$]*$/.test(a))return this.markRecorder.wrap("ident",e,n)}return n}buildMappings(){if(this._exactSrc=new Set,this.exactMarks)for(let f of this.exactMarks){if(!f.loc)continue;this.sourceMap.addMapping(f.genLine,f.genCol,f.loc.r,f.loc.c),this._exactSrc.add(f.loc.r+":"+f.loc.c)}if(this._importEntries){let f=0;for(let e of this._importEntries){if(e.loc)this.sourceMap.addMapping(f,0,e.loc.r,e.loc.c);if(e.sexpr&&e.loc)this.recordSubMappings(e.code,e.sexpr,f);f+=e.code.split(`
2391
2407
  `).length}}if(!this._stmtEntries)return;let n=this._preambleLines;for(let f of this._stmtEntries){if(f.loc)this.sourceMap.addMapping(n,0,f.loc.r,f.loc.c);if(f.sexpr&&f.loc)this.recordSubMappings(f.code,f.sexpr,n);n+=f.code.split(`
2392
- `).length}}static _isColInsideString(n,f){let e=!1,t="",i=0;for(let u=0;u<n.length&&u<f;u++){let l=n[u];if(e){if(l==="\\"){u++;continue}if(t==="`"&&l==="$"&&n[u+1]==="{"){i=1,e=!1,u++;continue}if(l===t)e=!1}else if(i>0){if(l==="{")i++;else if(l==="}"){if(i--,i===0)e=!0,t="`"}else if(l==='"'||l==="'"||l==="`")e=!0,t=l}else if(l==='"'||l==="'"||l==="`")e=!0,t=l}return e}recordSubMappings(n,f,e){let t=f.loc?f.loc.r:0,i=[];this.collectSubExprs(f,i);let u=n.split(`
2393
- `),l=[0];for(let w=0;w<n.length;w++)if(n.charCodeAt(w)===10)l.push(w+1);let a=(w)=>{let _=0,A=l.length-1;while(_<=A){let y=_+A>>1;if(l[y]<=w)_=y+1;else A=y-1}return A},c=new Set,r=new Map,h=(w)=>{if(r.has(w))return r.get(w);let _=u[w],A=_&&_.match(/\/\/ @rip-src:(\d+)\s*$/),y=A?parseInt(A[1],10):null;return r.set(w,y),y},o=new Map,s=(w)=>{if(o.has(w))return o.get(w);let _=u[w],A=[];if(_&&/\)\s*(\{|=>)\s*$/.test(_)){let y=/\b[a-zA-Z_$][\w$]*\??\s*:\s*\{/g,R;while((R=y.exec(_))!==null){let U=R.index+R[0].length-1;if(Fn._isColInsideString(_,U))continue;let m=1,D=U+1,M=!1,q="";while(D<_.length&&m>0){let S=_[D];if(M){if(S==="\\"){D+=2;continue}if(S===q)M=!1}else if(S==='"'||S==="'"||S==="`")M=!0,q=S;else if(S==="{")m++;else if(S==="}")m--;D++}A.push([U,D]),y.lastIndex=D}}return o.set(w,A),A};for(let{name:w,origLine:_,origCol:A}of i){if(this._exactSrc?.has(_+":"+A))continue;let y=w.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),R=new RegExp("\\b"+y+"\\b","g"),U,m=null,D=1/0,M=null,q=1/0,S=_-t;while((U=R.exec(n))!==null){let K=a(U.index),E=U.index-l[K],Z=u[K],Q=h(K),W=Q!=null&&Q===_;if(Z&&Fn._isColInsideString(Z,E)&&!W)continue;let C=s(K);if(C.length&&C.some(([Y,Un])=>E>=Y&&E<Un))continue;let L=e+K,b=W?Math.abs(E-A):Math.abs(K-S)*1e4+Math.abs(E-A);if(b<D)D=b,m={genLine:L,genCol:E};let fn=L+":"+E;if(!c.has(fn)&&b<q)q=b,M={genLine:L,genCol:E}}let d=M||m;if(d)this.sourceMap.addMapping(d.genLine,d.genCol,_,A),c.add(d.genLine+":"+d.genCol)}}collectSubExprs(n,f){if(!Array.isArray(n))return;let e=n[0];if(Array.isArray(e)||e!=null&&typeof e!=="string"&&!(e instanceof String)){for(let i=0;i<n.length;i++)if(Array.isArray(n[i]))this.collectSubExprs(n[i],f);if(Array.isArray(n._anchors))for(let i of n._anchors)f.push(i);return}if(n.loc){e=j(e);let i=null,u=n.loc.c;if(e==="."){if(typeof n[2]==="string"){if(i=n[2],typeof n[1]==="string")u=n.loc.c+n[1].length+1}}else if(typeof e==="string"&&/^[=+\-*/%<>!&|?~^]|^\.{1,3}$|^def$|^class$|^state$|^computed$|^readonly$|^for-/.test(e)){if(typeof n[1]==="string"&&/^[a-zA-Z_$]/.test(n[1])){if(i=n[1],e==="...")u=n.loc.c+3}}else if(typeof e==="string"&&/^[a-zA-Z_$]/.test(e))i=e;if(i)f.push({name:i,origLine:n.loc.r,origCol:u});if((e==="->"||e==="=>")&&Array.isArray(n[2])&&j(n[2][0])==="block"){let l=n[2];for(let a=1;a<l.length;a++){let c=l[a],r=typeof c==="string"||c instanceof String?j(c):null;if(r&&/^[a-zA-Z_$][\w$]*$/.test(r)&&!c.loc){let h=this._scanForIdentAfter(r,n.loc);if(h)f.push(h)}}}}if(Array.isArray(n._anchors))for(let i of n._anchors)f.push(i);let t=e==="->"||e==="=>"?2:1;for(let i=t;i<n.length;i++)if(Array.isArray(n[i]))this.collectSubExprs(n[i],f)}_scanForIdentAfter(n,f){let e=this.options&&this.options.source;if(!e||!f)return null;let t=this._sourceLinesCache||(this._sourceLinesCache=e.split(`
2394
- `)),i=new RegExp("\\b"+n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\b","g"),u=f.r,l=f.c;for(let a=u;a<Math.min(t.length,u+20);a++){let c=t[a];if(!c)continue;i.lastIndex=a===u?l:0;let r;while((r=i.exec(c))!==null){if(Fn._isColInsideString(c,r.index))continue;return{name:n,origLine:a,origCol:r.index}}}return null}collectModuleBindings(n){if(!Array.isArray(n))return;let f;if(j(n[0])==="program")f=n.slice(1);else if(Array.isArray(n[0]))f=n;else f=[n];for(let e of f)this._collectTopLevelBinding(e)}_addModuleBinding(n){let f=n&&n.valueOf?n.valueOf():n;if(typeof f==="string"&&/^[A-Za-z_$][\w$]*$/.test(f))this.moduleBindings.add(f)}_collectTopLevelBinding(n){if(!Array.isArray(n))return;let f=j(n[0])??n[0];if(f==="export"||f==="export-default")return this._collectTopLevelBinding(n[1]);if(Fn.ASSIGNMENT_OPS.has(f)){let e=n[1];if(typeof e==="string"||e instanceof String)this._addModuleBinding(e);else if(this.is(e,"array"))this.collectVarsFromArray(e,this.moduleBindings);else if(this.is(e,"object"))this.collectVarsFromObject(e,this.moduleBindings);return}if(f==="def")return this._addModuleBinding(n[1]);if(f==="import")return this._collectImportNames(n.slice(1))}_collectImportNames(n){let f=(e)=>{if(typeof e==="string"||e instanceof String)this._addModuleBinding(e);else if(Array.isArray(e))if(e[0]==="*"&&e.length===2)this._addModuleBinding(e[1]);else for(let t of e)if(Array.isArray(t)&&t.length===2)this._addModuleBinding(t[1]);else this._addModuleBinding(t)};if(n.length===1)return;if(n.length===3){this._addModuleBinding(n[0]),f(n[1]);return}f(n[0])}collectProgramVariables(n){if(!Array.isArray(n))return;let[f,...e]=n;if(f=j(f),Array.isArray(f)){n.forEach((t)=>this.collectProgramVariables(t));return}if(f==="export"||f==="export-default"||f==="export-all"||f==="export-from")return;if(f==="state"||f==="computed"){let[t]=e,i=j(t)??t;if(!this.reactiveVars)this.reactiveVars=new Set;this.reactiveVars.add(i);return}if(f==="readonly"){let[t]=e,i=j(t)??t;if(!this.readonlyVars)this.readonlyVars=new Set;this.readonlyVars.add(i);return}if(f==="component")return;if(f==="enum")return;if(Fn.ASSIGNMENT_OPS.has(f)){let[t,i]=e;if(typeof t==="string"||t instanceof String){let u=j(t);if(!this.reactiveVars?.has(u)&&!this.readonlyVars?.has(u))this.programVars.add(u)}else if(this.is(t,"array"))this.collectVarsFromArray(t,this.programVars);else if(this.is(t,"object"))this.collectVarsFromObject(t,this.programVars);this.collectProgramVariables(i);return}if(f==="for-in"||f==="for-of"||f==="for-as"){e.slice(1).forEach((t)=>this.collectProgramVariables(t));return}if(f==="def"||f==="->"||f==="=>"||f==="effect")return;if(f==="if"){let[t,i,u]=e;if(this.collectProgramVariables(t),this.collectProgramVariables(i),u)this.collectProgramVariables(u);return}if(f==="try"){if(this.collectProgramVariables(e[0]),e.length>=2&&Array.isArray(e[1])&&e[1].length===2&&e[1][0]!=="block"){let[t,i]=e[1];if(t&&this.is(t,"object"))t.slice(1).forEach((u)=>{if(Array.isArray(u)&&u.length===2&&typeof u[1]==="string")this.programVars.add(u[1])});else if(t&&this.is(t,"array"))t.slice(1).forEach((u)=>{if(typeof u==="string")this.programVars.add(u)});this.collectProgramVariables(i)}if(e.length===3)this.collectProgramVariables(e[2]);else if(e.length===2&&(!Array.isArray(e[1])||e[1][0]==="block"))this.collectProgramVariables(e[1]);return}e.forEach((t)=>this.collectProgramVariables(t))}collectFunctionVariables(n){let f=new Set,e=(t)=>{if(!Array.isArray(t))return;let[i,...u]=t;if(i=j(i),Array.isArray(i)){t.forEach((l)=>e(l));return}if(Fn.ASSIGNMENT_OPS.has(i)){let[l,a]=u;if(typeof l==="string"||l instanceof String)f.add(j(l));else if(this.is(l,"array"))this.collectVarsFromArray(l,f);else if(this.is(l,"object"))this.collectVarsFromObject(l,f);e(a);return}if(i==="for-in"||i==="for-of"||i==="for-as"){u.slice(1).forEach(e);return}if(i==="def"||i==="->"||i==="=>"||i==="effect")return;if(i==="try"){if(e(u[0]),u.length>=2&&Array.isArray(u[1])&&u[1].length===2&&u[1][0]!=="block"){let[l,a]=u[1];if(l&&this.is(l,"object"))l.slice(1).forEach((c)=>{if(Array.isArray(c)&&c.length===2&&typeof c[1]==="string")f.add(c[1])});else if(l&&this.is(l,"array"))l.slice(1).forEach((c)=>{if(typeof c==="string")f.add(c)});e(a)}if(u.length===3)e(u[2]);else if(u.length===2&&(!Array.isArray(u[1])||u[1][0]==="block"))e(u[1]);return}u.forEach((l)=>e(l))};return e(n),f}collectTypedLocals(n){let f=new Map,e=(t)=>{if(!Array.isArray(t))return;let[i,...u]=t;if(i=j(i),Array.isArray(i)){t.forEach(e);return}if(Fn.ASSIGNMENT_OPS.has(i)){let[l,a]=u;if(l instanceof String&&l.type&&!f.has(j(l)))f.set(j(l),l.type);e(a);return}if(i==="def"||i==="->"||i==="=>"||i==="effect")return;u.forEach(e)};return e(n),f}emit(n,f="statement"){if(n instanceof String){if(qn(n,"bang")===!0)return`await ${j(n)}()`;if(qn(n,"optional"))return`(${j(n)} != null)`;if(qn(n,"delimiter")==="///"&&qn(n,"heregex")){let a=j(n),c=a.match(/^\/(.*)\/([gimsuvy]*)$/s);if(c){let[,r,h]=c;return`/${this.processHeregex(r)}/${h}`}return a}let l=qn(n,"quote");if(l){let a=j(n);if(l==='"""'||l==="'''"){let r=this.extractStringContent(n);return r=r.replace(/`/g,"\\`").replace(/\${/g,"\\${"),`\`${r}\``}if(a[0]===l)return a;let c=a.slice(1,-1);return`${l}${c}${l}`}n=j(n)}if(typeof n==="string"){if(n.startsWith('"')||n.startsWith("'")||n.startsWith("`")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive:",n);let l=n.slice(1,-1);if(l.includes(`
2395
- `))return`\`${l.replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}\``;let a=l.includes("'")&&!l.includes('"')?'"':"'",c=l.replace(new RegExp(a,"g"),`\\${a}`);return`${a}${c}${a}`}if(this.reactiveVars?.has(n)&&!this.suppressReactiveUnwrap)return`${n}.value`;return n}if(typeof n==="number")return String(n);if(n===null||n===void 0)return"null";if(!Array.isArray(n))this.error(`Invalid s-expression: ${JSON.stringify(n)}`,n);let[e,...t]=n,i=qn(e,"bang");e=j(e);let u=Fn.GENERATORS[e];if(u)return this[u](e,t,f,n);if(typeof e==="string"&&!e.startsWith('"')&&!e.startsWith("'")){if(Fn.NUMBER_START_RE.test(e))return e;if(e==="super"&&this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${this._emitArgs(t)})`;let l=this._tryPostfixCall(e,t,f);if(l)return l;let a=i===!0,c=`${this.emit(e,"value")}(${this._emitArgs(t)})`;return a?`await ${c}`:c}if(Array.isArray(e)&&typeof e[0]==="string"){if(["=","+=","-=","*=","/=","%=","**=","&&=","||=","??=","if","return","throw"].includes(e[0]))return`(${n.map((a)=>this.emit(a,"value")).join(", ")})`}if(Array.isArray(e)){if(e[0]==="."&&(e[2]==="new"||j(e[2])==="new")){let h=e[1],o=this.emit(h,"value");return`new ${Array.isArray(h)?`(${o})`:o}(${this._emitArgs(t)})`}let l=this._tryPostfixCall(e,t,f);if(l)return l;let a=!1,c;if(e[0]==="."&&qn(e[2],"bang")===!0){a=!0;let[h,o]=e.slice(1),s=this.emit(h,"value");c=`${Fn.NUMBER_LITERAL_RE.test(s)||(this.is(h,"object")||this.is(h,"await")||this.is(h,"yield"))||/^(await|yield)\s/.test(s)?`(${s})`:s}.${j(o)}`}else c=this.emit(e,"value");let r=`${c}(${this._emitArgs(t)})`;return a?`await ${r}`:r}this.error(`Unknown s-expression type: ${e}`,n)}emitProgram(n,f,e,t){let i="",u=[],l=[];for(let w of f){if(!Array.isArray(w)){l.push(w);continue}if(w[0]==="import")u.push(w);else l.push(w)}let a=["def","class","if","for-in","for-of","for-as","while","loop","switch","try"],c=l.map((w,_)=>{let A=l.length===1&&u.length===0,y=this.is(w,"object"),R=y&&w.length===2&&Array.isArray(w[1])&&Array.isArray(w[1][2])&&w[1][2][0]==="comprehension",U=this.is(w,"comprehension")||this.is(w,"object-comprehension")||this.is(w,"do-iife"),m=this.programVars.size===0,D=A&&y&&m&&!U&&!R,q=_===l.length-1&&U,S;if(D)S=`(${this.emit(w,"value")})`;else if(q)S=this.emit(w,"value");else S=this.emit(w,"statement");if(S&&!S.endsWith(";")){let K=Array.isArray(w)?w[0]:null;if(!a.includes(K)||!S.endsWith("}"))S+=";"}let d=Array.isArray(w)?w.loc:null;return{code:S,loc:d,sexpr:Array.isArray(w)?w:null}}),r=c.map((w)=>w.code).join(`
2396
- `),h=!1;if(u.length>0){let w=u.map((_)=>{return{code:this.addSemicolon(_,this.emit(_,"statement")),loc:Array.isArray(_)?_.loc:null,sexpr:Array.isArray(_)?_:null}});this._importEntries=w,i+=w.map((_)=>_.code).join(`
2408
+ `).length}}static _isColInsideString(n,f){let e=!1,a="",i=0;for(let l=0;l<n.length&&l<f;l++){let u=n[l];if(e){if(u==="\\"){l++;continue}if(a==="`"&&u==="$"&&n[l+1]==="{"){i=1,e=!1,l++;continue}if(u===a)e=!1}else if(i>0){if(u==="{")i++;else if(u==="}"){if(i--,i===0)e=!0,a="`"}else if(u==='"'||u==="'"||u==="`")e=!0,a=u}else if(u==='"'||u==="'"||u==="`")e=!0,a=u}return e}recordSubMappings(n,f,e){let a=f.loc?f.loc.r:0,i=[];this.collectSubExprs(f,i);let l=n.split(`
2409
+ `),u=[0];for(let w=0;w<n.length;w++)if(n.charCodeAt(w)===10)u.push(w+1);let t=(w)=>{let _=0,y=u.length-1;while(_<=y){let m=_+y>>1;if(u[m]<=w)_=m+1;else y=m-1}return y},c=new Set,r=new Map,h=(w)=>{if(r.has(w))return r.get(w);let _=l[w],y=_&&_.match(/\/\/ @rip-src:(\d+)\s*$/),m=y?parseInt(y[1],10):null;return r.set(w,m),m},o=new Map,s=(w)=>{if(o.has(w))return o.get(w);let _=l[w],y=[];if(_&&/\)\s*(\{|=>)\s*$/.test(_)){let m=/\b[a-zA-Z_$][\w$]*\??\s*:\s*\{/g,D;while((D=m.exec(_))!==null){let U=D.index+D[0].length-1;if(zn._isColInsideString(_,U))continue;let R=1,A=U+1,E=!1,M="";while(A<_.length&&R>0){let q=_[A];if(E){if(q==="\\"){A+=2;continue}if(q===M)E=!1}else if(q==='"'||q==="'"||q==="`")E=!0,M=q;else if(q==="{")R++;else if(q==="}")R--;A++}y.push([U,A]),m.lastIndex=A}}return o.set(w,y),y};for(let{name:w,origLine:_,origCol:y}of i){if(this._exactSrc?.has(_+":"+y))continue;let m=w.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),D=new RegExp("\\b"+m+"\\b","g"),U,R=null,A=1/0,E=null,M=1/0,q=_-a;while((U=D.exec(n))!==null){let Q=t(U.index),F=U.index-u[Q],K=l[Q],H=h(Q),G=H!=null&&H===_;if(K&&zn._isColInsideString(K,F)&&!G)continue;let B=s(Q);if(B.length&&B.some(([nn,N])=>F>=nn&&F<N))continue;let j=e+Q,b=G?Math.abs(F-y):Math.abs(Q-q)*1e4+Math.abs(F-y);if(b<A)A=b,R={genLine:j,genCol:F};let ln=j+":"+F;if(!c.has(ln)&&b<M)M=b,E={genLine:j,genCol:F}}let S=E||R;if(S)this.sourceMap.addMapping(S.genLine,S.genCol,_,y),c.add(S.genLine+":"+S.genCol)}}collectSubExprs(n,f){if(!Array.isArray(n))return;let e=n[0];if(Array.isArray(e)||e!=null&&typeof e!=="string"&&!(e instanceof String)){for(let i=0;i<n.length;i++)if(Array.isArray(n[i]))this.collectSubExprs(n[i],f);if(Array.isArray(n._anchors))for(let i of n._anchors)f.push(i);return}if(n.loc){e=p(e);let i=null,l=n.loc.c;if(e==="."){if(typeof n[2]==="string"){if(i=n[2],typeof n[1]==="string")l=n.loc.c+n[1].length+1}}else if(typeof e==="string"&&/^[=+\-*/%<>!&|?~^]|^\.{1,3}$|^def$|^class$|^state$|^computed$|^readonly$|^for-/.test(e)){if(typeof n[1]==="string"&&/^[a-zA-Z_$]/.test(n[1])){if(i=n[1],e==="...")l=n.loc.c+3}}else if(typeof e==="string"&&/^[a-zA-Z_$]/.test(e))i=e;if(i)f.push({name:i,origLine:n.loc.r,origCol:l});if((e==="->"||e==="=>")&&Array.isArray(n[2])&&p(n[2][0])==="block"){let u=n[2];for(let t=1;t<u.length;t++){let c=u[t],r=typeof c==="string"||c instanceof String?p(c):null;if(r&&/^[a-zA-Z_$][\w$]*$/.test(r)&&!c.loc){let h=this._scanForIdentAfter(r,n.loc);if(h)f.push(h)}}}}if(Array.isArray(n._anchors))for(let i of n._anchors)f.push(i);let a=e==="->"||e==="=>"?2:1;for(let i=a;i<n.length;i++)if(Array.isArray(n[i]))this.collectSubExprs(n[i],f)}_scanForIdentAfter(n,f){let e=this.options&&this.options.source;if(!e||!f)return null;let a=this._sourceLinesCache||(this._sourceLinesCache=e.split(`
2410
+ `)),i=new RegExp("\\b"+n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\b","g"),l=f.r,u=f.c;for(let t=l;t<Math.min(a.length,l+20);t++){let c=a[t];if(!c)continue;i.lastIndex=t===l?u:0;let r;while((r=i.exec(c))!==null){if(zn._isColInsideString(c,r.index))continue;return{name:n,origLine:t,origCol:r.index}}}return null}collectModuleBindings(n){if(!Array.isArray(n))return;let f;if(p(n[0])==="program")f=n.slice(1);else if(Array.isArray(n[0]))f=n;else f=[n];for(let e of f)this._collectTopLevelBinding(e)}_addModuleBinding(n){let f=n&&n.valueOf?n.valueOf():n;if(typeof f==="string"&&/^[A-Za-z_$][\w$]*$/.test(f))this.moduleBindings.add(f)}_collectTopLevelBinding(n){if(!Array.isArray(n))return;let f=p(n[0])??n[0];if(f==="export"||f==="export-default")return this._collectTopLevelBinding(n[1]);if(zn.ASSIGNMENT_OPS.has(f)){let e=n[1];if(typeof e==="string"||e instanceof String)this._addModuleBinding(e);else if(this.is(e,"array"))this.collectVarsFromArray(e,this.moduleBindings);else if(this.is(e,"object"))this.collectVarsFromObject(e,this.moduleBindings);return}if(f==="def")return this._addModuleBinding(n[1]);if(f==="import")return this._collectImportNames(n.slice(1))}_collectImportNames(n){let f=(e)=>{if(typeof e==="string"||e instanceof String)this._addModuleBinding(e);else if(Array.isArray(e))if(e[0]==="*"&&e.length===2)this._addModuleBinding(e[1]);else for(let a of e)if(Array.isArray(a)&&a.length===2)this._addModuleBinding(a[1]);else this._addModuleBinding(a)};if(n.length===1)return;if(n.length===3){this._addModuleBinding(n[0]),f(n[1]);return}f(n[0])}collectProgramVariables(n){if(!Array.isArray(n))return;let[f,...e]=n;if(f=p(f),Array.isArray(f)){n.forEach((a)=>this.collectProgramVariables(a));return}if(f==="export"||f==="export-default"||f==="export-all"||f==="export-from")return;if(f==="state"||f==="computed"){let[a]=e,i=p(a)??a;if(!this.reactiveVars)this.reactiveVars=new Set;this.reactiveVars.add(i);return}if(f==="readonly"){let[a]=e,i=p(a)??a;if(!this.readonlyVars)this.readonlyVars=new Set;this.readonlyVars.add(i);return}if(f==="component")return;if(f==="enum")return;if(zn.ASSIGNMENT_OPS.has(f)){let[a,i]=e;if(typeof a==="string"||a instanceof String){let l=p(a);if(!this.reactiveVars?.has(l)&&!this.readonlyVars?.has(l))this.programVars.add(l)}else if(this.is(a,"array"))this.collectVarsFromArray(a,this.programVars);else if(this.is(a,"object"))this.collectVarsFromObject(a,this.programVars);this.collectProgramVariables(i);return}if(f==="for-in"||f==="for-of"||f==="for-as"){e.slice(1).forEach((a)=>this.collectProgramVariables(a));return}if(f==="def"||f==="->"||f==="=>"||f==="effect")return;if(f==="if"){let[a,i,l]=e;if(this.collectProgramVariables(a),this.collectProgramVariables(i),l)this.collectProgramVariables(l);return}if(f==="try"){if(this.collectProgramVariables(e[0]),e.length>=2&&Array.isArray(e[1])&&e[1].length===2&&e[1][0]!=="block"){let[a,i]=e[1];if(a&&this.is(a,"object"))a.slice(1).forEach((l)=>{if(Array.isArray(l)&&l.length===2&&typeof l[1]==="string")this.programVars.add(l[1])});else if(a&&this.is(a,"array"))a.slice(1).forEach((l)=>{if(typeof l==="string")this.programVars.add(l)});this.collectProgramVariables(i)}if(e.length===3)this.collectProgramVariables(e[2]);else if(e.length===2&&(!Array.isArray(e[1])||e[1][0]==="block"))this.collectProgramVariables(e[1]);return}e.forEach((a)=>this.collectProgramVariables(a))}collectFunctionVariables(n){let f=new Set,e=(a)=>{if(!Array.isArray(a))return;let[i,...l]=a;if(i=p(i),Array.isArray(i)){a.forEach((u)=>e(u));return}if(zn.ASSIGNMENT_OPS.has(i)){let[u,t]=l;if(typeof u==="string"||u instanceof String)f.add(p(u));else if(this.is(u,"array"))this.collectVarsFromArray(u,f);else if(this.is(u,"object"))this.collectVarsFromObject(u,f);e(t);return}if(i==="for-in"||i==="for-of"||i==="for-as"){l.slice(1).forEach(e);return}if(i==="def"||i==="->"||i==="=>"||i==="effect")return;if(i==="try"){if(e(l[0]),l.length>=2&&Array.isArray(l[1])&&l[1].length===2&&l[1][0]!=="block"){let[u,t]=l[1];if(u&&this.is(u,"object"))u.slice(1).forEach((c)=>{if(Array.isArray(c)&&c.length===2&&typeof c[1]==="string")f.add(c[1])});else if(u&&this.is(u,"array"))u.slice(1).forEach((c)=>{if(typeof c==="string")f.add(c)});e(t)}if(l.length===3)e(l[2]);else if(l.length===2&&(!Array.isArray(l[1])||l[1][0]==="block"))e(l[1]);return}l.forEach((u)=>e(u))};return e(n),f}collectTypedLocals(n){let f=new Map,e=(a)=>{if(!Array.isArray(a))return;let[i,...l]=a;if(i=p(i),Array.isArray(i)){a.forEach(e);return}if(zn.ASSIGNMENT_OPS.has(i)){let[u,t]=l;if(u instanceof String&&u.type&&!f.has(p(u)))f.set(p(u),u.type);e(t);return}if(i==="def"||i==="->"||i==="=>"||i==="effect")return;l.forEach(e)};return e(n),f}castWrap(n,f){if(!f||!this.options.inlineTypes)return n;return`(${n} as ${f})`}emitCast(n,f){let[e,a]=f;return this.castWrap(this.emit(e,"value"),a)}emit(n,f="statement"){if(n instanceof String){if(Sn(n,"bang")===!0)return`await ${p(n)}()`;if(Sn(n,"optional"))return`(${p(n)} != null)`;if(Sn(n,"delimiter")==="///"&&Sn(n,"heregex")){let t=p(n),c=t.match(/^\/(.*)\/([gimsuvy]*)$/s);if(c){let[,r,h]=c;return`/${this.processHeregex(r)}/${h}`}return t}let u=Sn(n,"quote");if(u){let t=p(n);if(u==='"""'||u==="'''"){let r=this.extractStringContent(n);return r=r.replace(/`/g,"\\`").replace(/\${/g,"\\${"),`\`${r}\``}if(t[0]===u)return t;let c=t.slice(1,-1);return`${u}${c}${u}`}n=p(n)}if(typeof n==="string"){if(n.startsWith('"')||n.startsWith("'")||n.startsWith("`")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive:",n);let u=n.slice(1,-1);if(u.includes(`
2411
+ `))return`\`${u.replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}\``;let t=u.includes("'")&&!u.includes('"')?'"':"'",c=u.replace(new RegExp(t,"g"),`\\${t}`);return`${t}${c}${t}`}if(this.reactiveVars?.has(n)&&!this.suppressReactiveUnwrap)return`${n}.value`;return n}if(typeof n==="number")return String(n);if(n===null||n===void 0)return"null";if(!Array.isArray(n))this.error(`Invalid s-expression: ${JSON.stringify(n)}`,n);let[e,...a]=n,i=Sn(e,"bang");e=p(e);let l=zn.GENERATORS[e];if(l)return this[l](e,a,f,n);if(typeof e==="string"&&!e.startsWith('"')&&!e.startsWith("'")){if(zn.NUMBER_START_RE.test(e))return e;if(e==="super"&&this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${this._emitArgs(a)})`;let u=this._tryPostfixCall(e,a,f);if(u)return u;let t=i===!0,c=`${this.emit(e,"value")}(${this._emitArgs(a)})`;return t?`await ${c}`:c}if(Array.isArray(e)&&typeof e[0]==="string"){if(["=","+=","-=","*=","/=","%=","**=","&&=","||=","??=","if","return","throw"].includes(e[0]))return`(${n.map((t)=>this.emit(t,"value")).join(", ")})`}if(Array.isArray(e)){if(e[0]==="."&&(e[2]==="new"||p(e[2])==="new")){let h=e[1],o=this.emit(h,"value");return`new ${Array.isArray(h)?`(${o})`:o}(${this._emitArgs(a)})`}let u=this._tryPostfixCall(e,a,f);if(u)return u;let t=!1,c;if(e[0]==="."&&Sn(e[2],"bang")===!0){t=!0;let[h,o]=e.slice(1),s=this.emit(h,"value");c=`${zn.NUMBER_LITERAL_RE.test(s)||(this.is(h,"object")||this.is(h,"await")||this.is(h,"yield"))||/^(await|yield)\s/.test(s)?`(${s})`:s}.${p(o)}`}else c=this.emit(e,"value");let r=`${c}(${this._emitArgs(a)})`;return t?`await ${r}`:r}this.error(`Unknown s-expression type: ${e}`,n)}emitProgram(n,f,e,a){let i="",l=[],u=[];for(let w of f){if(!Array.isArray(w)){u.push(w);continue}if(w[0]==="import")l.push(w);else u.push(w)}let t=["def","class","if","for-in","for-of","for-as","while","loop","switch","try"],c=u.map((w,_)=>{let y=u.length===1&&l.length===0,m=this.is(w,"object"),D=m&&w.length===2&&Array.isArray(w[1])&&Array.isArray(w[1][2])&&w[1][2][0]==="comprehension",U=this.is(w,"comprehension")||this.is(w,"object-comprehension")||this.is(w,"do-iife"),R=this.programVars.size===0,A=y&&m&&R&&!U&&!D,M=_===u.length-1&&U,q;if(A)q=`(${this.emit(w,"value")})`;else if(M)q=this.emit(w,"value");else q=this.emit(w,"statement");if(q&&!q.endsWith(";")){let Q=Array.isArray(w)?w[0]:null;if(!t.includes(Q)||!q.endsWith("}"))q+=";"}let S=Array.isArray(w)?w.loc:null;return{code:q,loc:S,sexpr:Array.isArray(w)?w:null}}),r=c.map((w)=>w.code).join(`
2412
+ `),h=!1;if(l.length>0){let w=l.map((_)=>{return{code:this.addSemicolon(_,this.emit(_,"statement")),loc:Array.isArray(_)?_.loc:null,sexpr:Array.isArray(_)?_:null}});this._importEntries=w,i+=w.map((_)=>_.code).join(`
2397
2413
  `),h=!0}if(this.programVars.size>0){let w=this.programVars.has("_");if(w)this.programVars.delete("_");if(this.programVars.size>0){let _=Array.from(this.programVars).sort().join(", ");if(_){if(h)i+=`
2398
2414
  `;i+=`let ${_};
2399
2415
  `,h=!0}}if(w){if(h)i+=`
@@ -2415,8 +2431,8 @@ globalThis.zip ??= (...a) => a[0].map((_, i) => a.map(b => b[i]));
2415
2431
  `,i+=` }
2416
2432
  `,i+=` return "";
2417
2433
  `,i+=`};
2418
- `,h=!0}if(this.usesReactivity&&!o){if(s)i+=`var { __state, __computed, __effect, __batch, __readonly, __setErrorHandler, __handleError, __catchErrors } = globalThis.__rip;
2419
- `;else if(typeof globalThis<"u"&&globalThis.__rip)i+=`const { __state, __computed, __effect, __batch, __readonly, __setErrorHandler, __handleError, __catchErrors } = globalThis.__rip;
2434
+ `,h=!0}if(this.usesReactivity&&!o){if(s)i+=`var { __state, __computed, __effect, __batch, __detachRef, __readonly, __setErrorHandler, __handleError, __catchErrors } = globalThis.__rip;
2435
+ `;else if(typeof globalThis<"u"&&globalThis.__rip)i+=`const { __state, __computed, __effect, __batch, __detachRef, __readonly, __setErrorHandler, __handleError, __catchErrors } = globalThis.__rip;
2420
2436
  `;else i+=this.getReactiveRuntime();h=!0}if(this.usesTemplates&&!o){if(s)i+=`var { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __gateBind, __detach, __Component } = globalThis.__ripComponent;
2421
2437
  `;else if(typeof globalThis<"u"&&globalThis.__ripComponent)i+=`const { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __gateBind, __detach, __Component } = globalThis.__ripComponent;
2422
2438
  `;else i+=this.getComponentRuntime();h=!0}if(this.usesSchemas&&!o){if(s)i+=`var { __schema, SchemaError, __SchemaRegistry, __schemaSetAdapter } = globalThis.__ripSchema;
@@ -2429,169 +2445,169 @@ _setDataSection();
2429
2445
 
2430
2446
  function _setDataSection() {
2431
2447
  DATA = ${JSON.stringify(this.dataSection)};
2432
- }`;return i}emitBinaryOp(n,f,e,t){if((n==="+"||n==="-")&&f.length===1)return`(${n}${this.emit(f[0],"value")})`;let[i,u]=f;if(n==="*"){let a=i?.valueOf?.()??i;if(typeof a==="string"&&/^["']/.test(a))return`${this.emit(i,"value")}.repeat(${this.emit(u,"value")})`}let l=new Set(["<",">","<=",">=","==","===","!=","!=="]);if(l.has(n)&&Array.isArray(i)&&!i.parenthesized){let a=i[0]?.valueOf?.()??i[0];if(l.has(a)){let c=(s)=>s==="=="?"===":s==="!="?"!==":s,r=this.emit(i,"value"),h=this.emit(i[2],"value"),o=this.emit(u,"value");return`(${r} && (${h} ${c(n)} ${o}))`}}if(n==="==")n="===";if(n==="!=")n="!==";if(n==="**"&&Array.isArray(i)){let a=new Set(["!","~","typeof","void","delete","await","not","+","-"]),c=i[0]?.valueOf?.()??i[0];if(a.has(c)){let r=this.emit(i,"value");if(!r.startsWith("("))r=`(${r})`;return`(${r} ** ${this.emit(u,"value")})`}}return`(${this.emit(i,"value")} ${n} ${this.emit(u,"value")})`}emitModulo(n,f){let[e,t]=f;return this.helpers.add("modulo"),`modulo(${this.emit(e,"value")}, ${this.emit(t,"value")})`}emitModuloAssign(n,f){let[e,t]=f;this.helpers.add("modulo");let i=this.emit(e,"value"),u=this.emit(t,"value");return`${i} = modulo(${i}, ${u})`}emitFloorDiv(n,f){let[e,t]=f;return`Math.floor(${this.emit(e,"value")} / ${this.emit(t,"value")})`}emitFloorDivAssign(n,f){let[e,t]=f,i=this.emit(e,"value"),u=this.emit(t,"value");return`${i} = Math.floor(${i} / ${u})`}emitAssignment(n,f,e,t){let[i,u]=f,l=n==="?="?"??=":n;if(this.is(i,"array")||this.is(i,"object"))this._validateBindingPattern(i,t);let a=this._findOptionalInTarget(i);if(a){let U=this.emit(a.guard,"value"),m=this.emit(a.rewritten,"value"),D=this.emit(u,"value");if(e==="value")return`(${U} != null ? (${m} ${l} ${D}) : undefined)`;return`if (${U} != null) ${m} ${l} ${D}`}this.applyVoidMarker(i,u,t);let c=this.is(i,"array",0),r=this.is(i,"object",0);if(c||r){let U=this.emit(u,"value");return r&&e==="statement"?`(${U})`:U}if(Array.isArray(u)&&l==="="&&u[0]==="control"){let[,U,m,D]=u,M=j(U),q=D[0]==="return",S=this.emit(i,"value"),d=this.emit(m,"value"),K=D.length>1?D[1]:null,E=q?K?`return ${this.emit(K,"value")}`:"return":K?`throw ${this.emit(K,"value")}`:"throw new Error()";if(e==="value"){if(M==="??")return`(() => { const __v = ${d}; if (__v == null) ${E}; return (${S} = __v); })()`;if(M==="||")return`(() => { const __v = ${d}; if (!__v) ${E}; return (${S} = __v); })()`;return`(() => { const __v = ${d}; if (__v) ${E}; return (${S} = __v); })()`}if(M==="??")return`if ((${S} = ${d}) == null) ${E}`;if(M==="||")return`if (!(${S} = ${d})) ${E}`;return`if ((${S} = ${d})) ${E}`}if(this.is(i,"array")){let U=i.slice(1).findIndex((m)=>this.is(m,"...")||m==="...");if(U!==-1&&U<i.length-2){let m=i.slice(1),D=m.slice(U+1),M=D.length;if(M>0){let q=this.emit(u,"value"),d=m.slice(0,U).map((W)=>W===","?"":typeof W==="string"?W:this.emit(W,"value")).join(", "),K=D.map((W)=>W===","?"":typeof W==="string"?W:this.emit(W,"value")).join(", ");this.helpers.add("slice"),m.forEach((W)=>{if(W===","||W==="...")return;if(typeof W==="string")this.programVars.add(W);else if(this.is(W,"...")&&typeof W[1]==="string")this.programVars.add(W[1])});let E=m[U],Z=this.is(E,"...")?E[1]:null,Q=[];if(d)Q.push(`[${d}] = ${q}`);if(Z)Q.push(`[...${Z}] = ${q}.slice(${U}, -${M})`);return Q.push(`[${K}] = slice.call(${q}, -${M})`),Q.join(", ")}}}if(e==="statement"&&n==="="&&Array.isArray(u)&&(u[0]==="||"||u[0]==="&&")&&u.length===3){let[U,m,D]=u;if(this.is(D,"if")&&D.length===3){let[,M,q]=D,S=Array.isArray(q)&&q.length===1?q[0]:q,d=[U,m,S],K=this.emit(i,"value"),E=this.emit(M,"value"),Z=this.emit(d,"value");return`if (${E}) ${K} = ${Z}`}}if(e==="statement"&&n==="="&&Array.isArray(u)&&u.length===3){let[U,m,D]=u,M=Array.isArray(D)&&D.length===1&&(!Array.isArray(D[0])||D[0][0]!=="block");if(U==="if"&&M){let q=Array.isArray(D)&&D.length===1?D[0]:D,S=this.emit(i,"value"),d=this.unwrapLogical(this.emit(m,"value")),K=this.emit(q,"value");return`if (${d}) ${S} = ${K}`}}let h;if(i instanceof String&&qn(i,"bang")!==void 0)h=j(i);else if(typeof i==="string"&&this.reactiveVars?.has(i))h=`${i}.value`;else h=this.emit(i,"value");let o=this._componentName,s=this._componentTypeParams,w=this._schemaName;if(this.is(u,"component")&&(typeof i==="string"||i instanceof String))this._componentName=j(i),this._componentTypeParams=i.typeParams||"";if(this.is(u,"schema")&&(typeof i==="string"||i instanceof String))this._schemaName=j(i);let _=this.emit(u,"value");if(this._componentName=o,this._componentTypeParams=s,this._schemaName=w,!(this.is(u,"object")||this.is(u,".{}")||this.is(u,"?.{}")))_=this.unwrap(_);let y=e==="value",R=e==="statement"&&this.is(i,"object");if(y||R)return`(${h} ${l} ${_})`;return`${h} ${l} ${_}`}emitPropertyAccess(n,f,e,t){let[i,u]=f;if(this._atParamMap&&i==="this"){let r=this._atParamMap.get(j(u));if(r)return r}let l=this.emit(i,"value"),c=Fn.NUMBER_LITERAL_RE.test(l)||l.startsWith("await ")||(this.is(i,"object")||this.is(i,"yield"))?`(${l})`:l;if(qn(u,"bang")===!0)return`await ${c}.${j(u)}()`;if(qn(u,"optional"))return`(${c}.${j(u)} != null)`;return`${c}.${j(u)}`}emitOptionalProperty(n,f){let[e,t]=f;return`${this.emit(e,"value")}?.${t}`}emitPick(n,f,e,t){let[i,...u]=f,l=this.emit(i,"value"),a=this._isSimplePickSource(i),c=a?l:"_",r=u.map(([h,o,s])=>{let w=`${c}.${j(h)}`;if(s!==null&&s!==void 0)w=`(${w} ?? ${this.emit(s,"value")})`;return`${j(o)}: ${w}`}).join(", ");if(a)return`({${r}})`;return`((_) => ({${r}}))(${l})`}emitOptPick(n,f,e,t){let[i,...u]=f,l=this.emit(i,"value"),a=this._isSimplePickSource(i),c=a?l:"_",r=u.map(([h,o,s])=>{let w=`${c}.${j(h)}`;if(s!==null&&s!==void 0)w=`(${w} ?? ${this.emit(s,"value")})`;return`${j(o)}: ${w}`}).join(", ");if(a)return`(${l} == null ? undefined : {${r}})`;return`((_) => _ == null ? undefined : ({${r}}))(${l})`}_isSimplePickSource(n){if(typeof n!=="string")return!1;return n==="this"||n==="@"||/^[A-Za-z_$][\w$]*$/.test(n)}emitRegexIndex(n,f){let[e,t,i]=f;this.helpers.add("toMatchable"),this.programVars.add("_");let u=this.emit(e,"value"),l=this.emit(t,"value"),a=i!==null?this.emit(i,"value"):"0",c=l.includes("/m")?", true":"";return`((_ = toMatchable(${u}${c}).match(${l})) && _[${a}])`}emitIndexAccess(n,f){let[e,t]=f;if(this.is(t,"..")||this.is(t,"...")){let i=t[0]==="..",u=this.emit(e,"value"),[l,a]=t.slice(1),c=(s)=>{if(s===null)return null;let w=j(s)??s;if(typeof w==="number")return w;if(typeof w==="string"&&/^\d+$/.test(w))return+w;if(Array.isArray(s)&&s[0]==="-"&&s.length===2){let _=j(s[1])??s[1];if(typeof _==="number")return-_;if(typeof _==="string"&&/^\d+$/.test(_))return-_}return null},r=(s,w,_)=>{let A=c(_);if(A!==null&&A!==-1)return`${u}.slice(${s}, ${A+1})`;return`${u}.slice(${s}, +${w} + 1 || 9e9)`};if(l===null&&a===null)return`${u}.slice()`;if(l===null){if(i&&this.is(a,"-",1)&&(j(a[1])??a[1])==1)return`${u}.slice(0)`;let s=this.emit(a,"value");return i?r("0",s,a):`${u}.slice(0, ${s})`}if(a===null)return`${u}.slice(${this.emit(l,"value")})`;let h=this.emit(l,"value");if(i&&this.is(a,"-",1)&&(j(a[1])??a[1])==1)return`${u}.slice(${h})`;let o=this.emit(a,"value");return i?r(h,o,a):`${u}.slice(${h}, ${o})`}if(this.is(t,"-",1)){let i=j(t[1])??t[1];if(typeof i==="number"||typeof i==="string"&&/^\d+$/.test(i))return`${this.emit(e,"value")}.at(-${i})`}return`${this.emit(e,"value")}[${this.unwrap(this.emit(t,"value"))}]`}emitOptIndex(n,f){let[e,t]=f;if(this.is(t,"-",1)){let i=j(t[1])??t[1];if(typeof i==="number"||typeof i==="string"&&/^\d+$/.test(i))return`${this.emit(e,"value")}?.at(-${i})`}return`${this.emit(e,"value")}?.[${this.emit(t,"value")}]`}emitOptCall(n,f){let[e,...t]=f;return`${this.emit(e,"value")}?.(${t.map((i)=>this.emit(i,"value")).join(", ")})`}emitDef(n,f,e,t){let[i,u,l]=f,a=qn(i,"bang")===!0,c=j(i),r=this.emitParamList(u),h=this.emitFunctionBody(l,u,a),o=this.containsAwait(l),s=this.containsYield(l),w=this.inlineReturnType(i);return`${o?"async ":""}function${s?"*":""} ${c}(${r})${w} ${h}`}inlineReturnType(n){if(!this.options.inlineTypes)return"";let f=qn(n,"returnType");return f?`: ${wi(f)}`:""}emitThinArrow(n,f,e,t){let[i,u]=f;if((!i||Array.isArray(i)&&i.length===0)&&this.containsIt(u))i=["it"];let l=t.isVoid||!1,a=this.emitParamList(i),c=this.emitFunctionBody(u,i,l),r=this.containsAwait(u),h=this.containsYield(u),o=this.inlineReturnType(t?.[0]),s=`${r?"async ":""}function${h?"*":""}(${a})${o} ${c}`;return e==="value"?`(${s})`:s}emitFatArrow(n,f,e,t){let[i,u]=f;if((!i||Array.isArray(i)&&i.length===0)&&this.containsIt(u))i=["it"];let l=t.isVoid||!1,a=this.emitParamList(i),c=this.inlineReturnType(t?.[0]),h=!c&&i.length===1&&typeof i[0]==="string"&&!a.includes("=")&&!a.includes("...")&&!a.includes("[")&&!a.includes("{")?a:`(${a})`,s=this.containsAwait(u)?"async ":"";if(!l){if(this.is(u,"block")&&u.length===2){let _=u[1],A=Array.isArray(_)?_[0]:null;if(A!=="return"&&!Nt.has(A)){let y=this.emit(_,"value");if(y[0]==="{")y=`(${y})`;return`${s}${h}${c} => ${y}`}}if(!Array.isArray(u)||u[0]!=="block"){let _=this.emit(u,"value");if(_[0]==="{")_=`(${_})`;return`${s}${h}${c} => ${_}`}}let w=this.emitFunctionBody(u,i,l);return`${s}${h}${c} => ${w}`}emitReturn(n,f,e,t){if(f.length===0)return"return";let[i]=f;if(this.sideEffectOnly&&!(this.is(i,"->")||this.is(i,"=>")))this.error("Cannot return a value from a void function (declared with !)",t);if(this.is(i,"if")){let[,u,l,...a]=i;if(a.length===0){let c=Array.isArray(l)&&l.length===1?l[0]:l;return`if (${this.emit(u,"value")}) return ${this.emit(c,"value")}`}}if(this.is(i,"new")&&Array.isArray(i[1])&&i[1][0]==="if"){let[,u,l]=i[1],a=Array.isArray(l)&&l.length===1?l[0]:l;return`if (${this.emit(u,"value")}) return ${this.emit(["new",a],"value")}`}return`return ${this.emit(i,"value")}`}emitState(n,f){let[e,t]=f;this.usesReactivity=!0;let i=j(e)??e;if(!this.reactiveVars)this.reactiveVars=new Set;return this.reactiveVars.add(i),`const ${i} = __state(${this.emit(t,"value")})`}emitComputed(n,f){let[e,t]=f;if(this.usesReactivity=!0,!this.reactiveVars)this.reactiveVars=new Set;let i=j(e)??e;if(this.reactiveVars.add(i),this.is(t,"block")&&t.length>2)return`const ${i} = __computed(() => ${this.emitFunctionBody(t)})`;return`const ${i} = __computed(() => ${this.emit(t,"value")})`}emitReadonly(n,f){let[e,t]=f;return`const ${j(e)??e} = ${this.emit(t,"value")}`}emitGate(n,f,e,t){this.error("'<~' (render-ready gate) is only valid at the top of a component body",t)}emitEffect(n,f){let[e,t]=f;this.usesReactivity=!0;let i;if(this.is(t,"block"))i=this.emitFunctionBody(t);else if(this.is(t,"->")||this.is(t,"=>")){let l=this.emit(t,"value");if(e)return`const ${j(e)??this.emit(e,"value")} = __effect(${l})`;return`__effect(${l})`}else i=`{ ${this.emit(t,"value")}; }`;let u=`__effect(() => ${i})`;if(e)return`const ${j(e)??this.emit(e,"value")} = ${u}`;return u}emitBreak(){return"break"}emitContinue(){return"continue"}emitExistential(n,f){return`(${this.emit(f[0],"value")} != null)`}emitPresence(n,f){return`(${this.emit(f[0],"value")} ? true : undefined)`}emitTernary(n,f,e){let[t,i,u]=f;if((i?.[0]?.valueOf?.()??i?.[0])==="="&&Array.isArray(i)&&!i.parenthesized){let a=this.emit(i[1],"value"),c=this.emit(i[2],"value"),r=this.emit(u,"value");return`${a} = (${this.unwrap(this.emit(t,"value"))} ? ${c} : ${r})`}return`(${this.unwrap(this.emit(t,"value"))} ? ${this.emit(i,"value")} : ${this.emit(u,"value")})`}emitLoop(n,f,e){if(e==="value")return this.emitLoopAsValue("while (true)",f[0]);return`while (true) ${this.emitLoopBody(f[0])}`}emitLoopN(n,f,e){let[t,i]=f,l=`for (let it = 0; it < ${this.emit(t,"value")}; it++)`;if(e==="value")return this.emitLoopAsValue(l,i);return`${l} ${this.emitLoopBody(i)}`}emitLoopAsValue(n,f,e){let t=this.containsAwait(f)||e!=null&&this.containsAwait(e),i=this.asyncIIFEOpen(t)+`
2448
+ }`;return i}emitBinaryOp(n,f,e,a){if((n==="+"||n==="-")&&f.length===1)return`(${n}${this.emit(f[0],"value")})`;let[i,l]=f;if(n==="*"){let t=i?.valueOf?.()??i;if(typeof t==="string"&&/^["']/.test(t))return`${this.emit(i,"value")}.repeat(${this.emit(l,"value")})`}let u=new Set(["<",">","<=",">=","==","===","!=","!=="]);if(u.has(n)&&Array.isArray(i)&&!i.parenthesized){let t=i[0]?.valueOf?.()??i[0];if(u.has(t)){let c=(s)=>s==="=="?"===":s==="!="?"!==":s,r=this.emit(i,"value"),h=this.emit(i[2],"value"),o=this.emit(l,"value");return`(${r} && (${h} ${c(n)} ${o}))`}}if(n==="==")n="===";if(n==="!=")n="!==";if(n==="**"&&Array.isArray(i)){let t=new Set(["!","~","typeof","void","delete","await","not","+","-"]),c=i[0]?.valueOf?.()??i[0];if(t.has(c)){let r=this.emit(i,"value");if(!r.startsWith("("))r=`(${r})`;return`(${r} ** ${this.emit(l,"value")})`}}return`(${this.emit(i,"value")} ${n} ${this.emit(l,"value")})`}emitModulo(n,f){let[e,a]=f;return this.helpers.add("modulo"),`modulo(${this.emit(e,"value")}, ${this.emit(a,"value")})`}emitModuloAssign(n,f){let[e,a]=f;this.helpers.add("modulo");let i=this.emit(e,"value"),l=this.emit(a,"value");return`${i} = modulo(${i}, ${l})`}emitFloorDiv(n,f){let[e,a]=f;return`Math.floor(${this.emit(e,"value")} / ${this.emit(a,"value")})`}emitFloorDivAssign(n,f){let[e,a]=f,i=this.emit(e,"value"),l=this.emit(a,"value");return`${i} = Math.floor(${i} / ${l})`}emitAssignment(n,f,e,a){let[i,l]=f,u=n==="?="?"??=":n;if(this.is(i,"array")||this.is(i,"object"))this._validateBindingPattern(i,a);let t=this._findOptionalInTarget(i);if(t){let U=this.emit(t.guard,"value"),R=this.emit(t.rewritten,"value"),A=this.emit(l,"value");if(e==="value")return`(${U} != null ? (${R} ${u} ${A}) : undefined)`;return`if (${U} != null) ${R} ${u} ${A}`}this.applyVoidMarker(i,l,a);let c=this.is(i,"array",0),r=this.is(i,"object",0);if(c||r){let U=this.emit(l,"value");return r&&e==="statement"?`(${U})`:U}if(Array.isArray(l)&&u==="="&&l[0]==="control"){let[,U,R,A]=l,E=p(U),M=A[0]==="return",q=this.emit(i,"value"),S=this.emit(R,"value"),Q=A.length>1?A[1]:null,F=M?Q?`return ${this.emit(Q,"value")}`:"return":Q?`throw ${this.emit(Q,"value")}`:"throw new Error()";if(e==="value"){if(E==="??")return`(() => { const __v = ${S}; if (__v == null) ${F}; return (${q} = __v); })()`;if(E==="||")return`(() => { const __v = ${S}; if (!__v) ${F}; return (${q} = __v); })()`;return`(() => { const __v = ${S}; if (__v) ${F}; return (${q} = __v); })()`}if(E==="??")return`if ((${q} = ${S}) == null) ${F}`;if(E==="||")return`if (!(${q} = ${S})) ${F}`;return`if ((${q} = ${S})) ${F}`}if(this.is(i,"array")){let U=i.slice(1).findIndex((R)=>this.is(R,"...")||R==="...");if(U!==-1&&U<i.length-2){let R=i.slice(1),A=R.slice(U+1),E=A.length;if(E>0){let M=this.emit(l,"value"),S=R.slice(0,U).map((G)=>G===","?"":typeof G==="string"?G:this.emit(G,"value")).join(", "),Q=A.map((G)=>G===","?"":typeof G==="string"?G:this.emit(G,"value")).join(", ");this.helpers.add("slice"),R.forEach((G)=>{if(G===","||G==="...")return;if(typeof G==="string")this.programVars.add(G);else if(this.is(G,"...")&&typeof G[1]==="string")this.programVars.add(G[1])});let F=R[U],K=this.is(F,"...")?F[1]:null,H=[];if(S)H.push(`[${S}] = ${M}`);if(K)H.push(`[...${K}] = ${M}.slice(${U}, -${E})`);return H.push(`[${Q}] = slice.call(${M}, -${E})`),H.join(", ")}}}if(e==="statement"&&n==="="&&Array.isArray(l)&&(l[0]==="||"||l[0]==="&&")&&l.length===3){let[U,R,A]=l;if(this.is(A,"if")&&A.length===3){let[,E,M]=A,q=Array.isArray(M)&&M.length===1?M[0]:M,S=[U,R,q],Q=this.emit(i,"value"),F=this.emit(E,"value"),K=this.emit(S,"value");return`if (${F}) ${Q} = ${K}`}}if(e==="statement"&&n==="="&&Array.isArray(l)&&l.length===3){let[U,R,A]=l,E=Array.isArray(A)&&A.length===1&&(!Array.isArray(A[0])||A[0][0]!=="block");if(U==="if"&&E){let M=Array.isArray(A)&&A.length===1?A[0]:A,q=this.emit(i,"value"),S=this.unwrapLogical(this.emit(R,"value")),Q=this.emit(M,"value");return`if (${S}) ${q} = ${Q}`}}let h;if(i instanceof String&&Sn(i,"bang")!==void 0)h=p(i);else if(typeof i==="string"&&this.reactiveVars?.has(i))h=`${i}.value`;else h=this.emit(i,"value");let o=this._componentName,s=this._componentTypeParams,w=this._schemaName;if(this.is(l,"component")&&(typeof i==="string"||i instanceof String))this._componentName=p(i),this._componentTypeParams=i.typeParams||"";if(this.is(l,"schema")&&(typeof i==="string"||i instanceof String))this._schemaName=p(i);let _=this.emit(l,"value");if(this._componentName=o,this._componentTypeParams=s,this._schemaName=w,!(this.is(l,"object")||this.is(l,".{}")||this.is(l,"?.{}")))_=this.unwrap(_);let m=e==="value",D=e==="statement"&&this.is(i,"object");if(m||D)return`(${h} ${u} ${_})`;return`${h} ${u} ${_}`}emitPropertyAccess(n,f,e,a){let[i,l]=f;if(this._atParamMap&&i==="this"){let r=this._atParamMap.get(p(l));if(r)return r}let u=this.emit(i,"value"),c=zn.NUMBER_LITERAL_RE.test(u)||u.startsWith("await ")||(this.is(i,"object")||this.is(i,"yield"))?`(${u})`:u;if(Sn(l,"bang")===!0)return`await ${c}.${p(l)}()`;if(Sn(l,"optional"))return`(${c}.${p(l)} != null)`;return`${c}.${p(l)}`}emitOptionalProperty(n,f){let[e,a]=f;return`${this.emit(e,"value")}?.${a}`}emitPick(n,f,e,a){let[i,...l]=f,u=this.emit(i,"value"),t=this._isSimplePickSource(i),c=t?u:"_",r=l.map(([h,o,s])=>{let w=`${c}.${p(h)}`;if(s!==null&&s!==void 0)w=`(${w} ?? ${this.emit(s,"value")})`;return`${p(o)}: ${w}`}).join(", ");if(t)return`({${r}})`;return`((_) => ({${r}}))(${u})`}emitOptPick(n,f,e,a){let[i,...l]=f,u=this.emit(i,"value"),t=this._isSimplePickSource(i),c=t?u:"_",r=l.map(([h,o,s])=>{let w=`${c}.${p(h)}`;if(s!==null&&s!==void 0)w=`(${w} ?? ${this.emit(s,"value")})`;return`${p(o)}: ${w}`}).join(", ");if(t)return`(${u} == null ? undefined : {${r}})`;return`((_) => _ == null ? undefined : ({${r}}))(${u})`}_isSimplePickSource(n){if(typeof n!=="string")return!1;return n==="this"||n==="@"||/^[A-Za-z_$][\w$]*$/.test(n)}emitRegexIndex(n,f){let[e,a,i]=f;this.helpers.add("toMatchable"),this.programVars.add("_");let l=this.emit(e,"value"),u=this.emit(a,"value"),t=i!==null?this.emit(i,"value"):"0",c=u.includes("/m")?", true":"";return`((_ = toMatchable(${l}${c}).match(${u})) && _[${t}])`}emitIndexAccess(n,f){let[e,a]=f;if(this.is(a,"..")||this.is(a,"...")){let i=a[0]==="..",l=this.emit(e,"value"),[u,t]=a.slice(1),c=(s)=>{if(s===null)return null;let w=p(s)??s;if(typeof w==="number")return w;if(typeof w==="string"&&/^\d+$/.test(w))return+w;if(Array.isArray(s)&&s[0]==="-"&&s.length===2){let _=p(s[1])??s[1];if(typeof _==="number")return-_;if(typeof _==="string"&&/^\d+$/.test(_))return-_}return null},r=(s,w,_)=>{let y=c(_);if(y!==null&&y!==-1)return`${l}.slice(${s}, ${y+1})`;return`${l}.slice(${s}, +${w} + 1 || 9e9)`};if(u===null&&t===null)return`${l}.slice()`;if(u===null){if(i&&this.is(t,"-",1)&&(p(t[1])??t[1])==1)return`${l}.slice(0)`;let s=this.emit(t,"value");return i?r("0",s,t):`${l}.slice(0, ${s})`}if(t===null)return`${l}.slice(${this.emit(u,"value")})`;let h=this.emit(u,"value");if(i&&this.is(t,"-",1)&&(p(t[1])??t[1])==1)return`${l}.slice(${h})`;let o=this.emit(t,"value");return i?r(h,o,t):`${l}.slice(${h}, ${o})`}if(this.is(a,"-",1)){let i=p(a[1])??a[1];if(typeof i==="number"||typeof i==="string"&&/^\d+$/.test(i))return`${this.emit(e,"value")}.at(-${i})`}return`${this.emit(e,"value")}[${this.unwrap(this.emit(a,"value"))}]`}emitOptIndex(n,f){let[e,a]=f;if(this.is(a,"-",1)){let i=p(a[1])??a[1];if(typeof i==="number"||typeof i==="string"&&/^\d+$/.test(i))return`${this.emit(e,"value")}?.at(-${i})`}return`${this.emit(e,"value")}?.[${this.emit(a,"value")}]`}emitOptCall(n,f){let[e,...a]=f;return`${this.emit(e,"value")}?.(${a.map((i)=>this.emit(i,"value")).join(", ")})`}emitDef(n,f,e,a){let[i,l,u]=f,t=Sn(i,"bang")===!0,c=p(i),r=this.emitParamList(l),h=this.emitFunctionBody(u,l,t),o=this.containsAwait(u),s=this.containsYield(u),w=this.inlineReturnType(i);return`${o?"async ":""}function${s?"*":""} ${c}(${r})${w} ${h}`}inlineReturnType(n){if(!this.options.inlineTypes)return"";let f=Sn(n,"returnType");return f?`: ${wi(f)}`:""}emitThinArrow(n,f,e,a){let[i,l]=f;if((!i||Array.isArray(i)&&i.length===0)&&this.containsIt(l))i=["it"];let u=a.isVoid||!1,t=this.emitParamList(i),c=this.emitFunctionBody(l,i,u),r=this.containsAwait(l),h=this.containsYield(l),o=this.inlineReturnType(a?.[0]),s=`${r?"async ":""}function${h?"*":""}(${t})${o} ${c}`;return e==="value"?`(${s})`:s}emitFatArrow(n,f,e,a){let[i,l]=f;if((!i||Array.isArray(i)&&i.length===0)&&this.containsIt(l))i=["it"];let u=a.isVoid||!1,t=this.emitParamList(i),c=this.inlineReturnType(a?.[0]),h=!c&&i.length===1&&typeof i[0]==="string"&&!t.includes("=")&&!t.includes("...")&&!t.includes("[")&&!t.includes("{")?t:`(${t})`,s=this.containsAwait(l)?"async ":"";if(!u){if(this.is(l,"block")&&l.length===2){let _=l[1],y=Array.isArray(_)?_[0]:null;if(y!=="return"&&!Pa.has(y)){let m=this.emit(_,"value");if(m[0]==="{")m=`(${m})`;return`${s}${h}${c} => ${m}`}}if(!Array.isArray(l)||l[0]!=="block"){let _=this.emit(l,"value");if(_[0]==="{")_=`(${_})`;return`${s}${h}${c} => ${_}`}}let w=this.emitFunctionBody(l,i,u);return`${s}${h}${c} => ${w}`}emitReturn(n,f,e,a){if(f.length===0)return"return";let[i]=f;if(this.sideEffectOnly&&!(this.is(i,"->")||this.is(i,"=>")))this.error("Cannot return a value from a void function (declared with !)",a);if(this.is(i,"if")){let[,l,u,...t]=i;if(t.length===0){let c=Array.isArray(u)&&u.length===1?u[0]:u;return`if (${this.emit(l,"value")}) return ${this.emit(c,"value")}`}}if(this.is(i,"new")&&Array.isArray(i[1])&&i[1][0]==="if"){let[,l,u]=i[1],t=Array.isArray(u)&&u.length===1?u[0]:u;return`if (${this.emit(l,"value")}) return ${this.emit(["new",t],"value")}`}return`return ${this.emit(i,"value")}`}emitState(n,f){let[e,a]=f;this.usesReactivity=!0;let i=p(e)??e;if(!this.reactiveVars)this.reactiveVars=new Set;return this.reactiveVars.add(i),`const ${i} = __state(${this.emit(a,"value")})`}emitComputed(n,f){let[e,a]=f;if(this.usesReactivity=!0,!this.reactiveVars)this.reactiveVars=new Set;let i=p(e)??e;if(this.reactiveVars.add(i),this.is(a,"block")&&a.length>2)return`const ${i} = __computed(() => ${this.emitFunctionBody(a)})`;return`const ${i} = __computed(() => ${this.emit(a,"value")})`}emitReadonly(n,f){let[e,a]=f;return`const ${p(e)??e} = ${this.emit(a,"value")}`}emitGate(n,f,e,a){this.error("'<~' (render-ready gate) is only valid at the top of a component body",a)}emitEffect(n,f){let[e,a]=f;this.usesReactivity=!0;let i;if(this.is(a,"block"))i=this.emitFunctionBody(a);else if(this.is(a,"->")||this.is(a,"=>")){let u=this.emit(a,"value");if(e)return`const ${p(e)??this.emit(e,"value")} = __effect(${u})`;return`__effect(${u})`}else i=`{ ${this.emit(a,"value")}; }`;let l=`__effect(() => ${i})`;if(e)return`const ${p(e)??this.emit(e,"value")} = ${l}`;return l}emitBreak(){return"break"}emitContinue(){return"continue"}emitExistential(n,f){return`(${this.emit(f[0],"value")} != null)`}emitPresence(n,f){return`(${this.emit(f[0],"value")} ? true : undefined)`}emitTernary(n,f,e){let[a,i,l]=f;if((i?.[0]?.valueOf?.()??i?.[0])==="="&&Array.isArray(i)&&!i.parenthesized){let t=this.emit(i[1],"value"),c=this.emit(i[2],"value"),r=this.emit(l,"value");return`${t} = (${this.unwrap(this.emit(a,"value"))} ? ${c} : ${r})`}return`(${this.unwrap(this.emit(a,"value"))} ? ${this.emit(i,"value")} : ${this.emit(l,"value")})`}emitLoop(n,f,e){if(e==="value")return this.emitLoopAsValue("while (true)",f[0]);return`while (true) ${this.emitLoopBody(f[0])}`}emitLoopN(n,f,e){let[a,i]=f,u=`for (let it = 0; it < ${this.emit(a,"value")}; it++)`;if(e==="value")return this.emitLoopAsValue(u,i);return`${u} ${this.emitLoopBody(i)}`}emitLoopAsValue(n,f,e){let a=this.containsAwait(f)||e!=null&&this.containsAwait(e),i=this.asyncIIFEOpen(a)+`
2433
2449
  `;if(this.indentLevel++,i+=this.indent()+`const result = [];
2434
2450
  `,i+=this.indent()+n+` {
2435
2451
  `,this.indentLevel++,e!=null)i+=this.indent()+`if (!(${this.unwrap(this.emit(e,"value"))})) continue;
2436
- `;let u;if(!Array.isArray(f))u=[f];else if(f[0]==="block")u=f.slice(1);else if(Array.isArray(f[0]))u=f;else u=[f];let l=["for-in","for-of","for-as","while","loop"],a=(c)=>{if(typeof c==="string"&&(c==="break"||c==="continue"))return!0;if(!Array.isArray(c))return!1;if(["break","continue","return","throw"].includes(c[0]))return!0;if(c[0]==="if")return c.slice(1).some(a);return c.some(a)};for(let c=0;c<u.length;c++){let r=u[c];if(c!==u.length-1||a(r)||Array.isArray(r)&&l.includes(r[0]))i+=this.indent()+this.addSemicolon(r,this.emit(r,"statement"))+`
2452
+ `;let l;if(!Array.isArray(f))l=[f];else if(f[0]==="block")l=f.slice(1);else if(Array.isArray(f[0]))l=f;else l=[f];let u=["for-in","for-of","for-as","while","loop"],t=(c)=>{if(typeof c==="string"&&(c==="break"||c==="continue"))return!0;if(!Array.isArray(c))return!1;if(["break","continue","return","throw"].includes(c[0]))return!0;if(c[0]==="if")return c.slice(1).some(t);return c.some(t)};for(let c=0;c<l.length;c++){let r=l[c];if(c!==l.length-1||t(r)||Array.isArray(r)&&u.includes(r[0]))i+=this.indent()+this.addSemicolon(r,this.emit(r,"statement"))+`
2437
2453
  `;else i+=this.indent()+`result.push(${this.emit(r,"value")});
2438
2454
  `}return this.indentLevel--,i+=this.indent()+`}
2439
2455
  `,i+=this.indent()+`return result;
2440
- `,this.indentLevel--,i+=this.indent()+"})()",i}emitAwait(n,f){return`await ${this.emit(f[0],"value")}`}emitYield(n,f){return f.length===0?"yield":`yield ${this.emit(f[0],"value")}`}emitYieldFrom(n,f){return`yield* ${this.emit(f[0],"value")}`}emitIf(n,f,e,t){let[i,u,...l]=f;return e==="value"?this.emitIfAsExpression(i,u,l):this.emitIfAsStatement(i,u,l)}validateComprehensionFilters(n){if(!Array.isArray(n))return;if(j(n[0])==="if"){let[,f,e,...t]=n;this._checkComprehensionFilterTrap(f,e,t,n)}for(let f=0;f<n.length;f++)this.validateComprehensionFilters(n[f])}_checkComprehensionFilterTrap(n,f,e,t){if(e.length)return;let i=this._collectLeakVars(f);if(i.size&&this._referencesAnyName(n,i))this._throwComprehensionFilterTrap(t);let u=this._collectLeakVars(n);if(u.size&&this._referencesAnyName(f,u))this._throwComprehensionFilterTrap(t)}_collectLeakVars(n){let f=new Set,e=(t)=>{if(!Array.isArray(t))return;let i=j(t[0]);if(i==="comprehension"||i==="object-comprehension")for(let u of this._collectComprehensionVars(t))f.add(u);for(let u=0;u<t.length;u++)e(t[u])};return e(n),f}_throwComprehensionFilterTrap(n){this.error("Comprehensions filter with `when`, not `if` — the trailing `if` wraps the whole comprehension and its loop variable is out of scope here",n,{suggestion:"Use `(expr for x in xs when cond)` instead of `(expr for x in xs if cond)`"})}_collectComprehensionVars(n){let f=new Set,e=(i)=>{if(typeof i==="string"){f.add(i);return}if(i instanceof String){f.add(i.valueOf());return}if(!Array.isArray(i))return;let u=j(i[0]);if(u==="default"){e(i[1]);return}if(u==="..."||u==="rest"){e(i[1]);return}if(u==="array"){for(let l=1;l<i.length;l++)if(i[l]!==","&&i[l]!=null)e(i[l]);return}if(u==="object"){for(let l=1;l<i.length;l++){let a=i[l];if(!Array.isArray(a))continue;let c=j(a[0]);if(c===null||c===":")e(a[2]);else if(c==="="||c==="...")e(a[1])}return}},t=(j(n[0])==="object-comprehension"?n[3]:n[2])||[];for(let i of t){let u=i[1];if(Array.isArray(u))for(let l of u)e(l);else e(u)}return f}_referencesAnyName(n,f){if(typeof n==="string")return f.has(n);if(n instanceof String)return f.has(n.valueOf());if(!Array.isArray(n))return!1;let e=j(n[0]);if((e==="."||e==="?.")&&n.length===3)return this._referencesAnyName(n[1],f);if(e==="comprehension"||e==="object-comprehension"){let t=this._collectComprehensionVars(n);if([...t].some((i)=>f.has(i))){if(f=new Set([...f].filter((i)=>!t.has(i))),f.size===0)return!1}}if(f.has(e))return!0;for(let t=1;t<n.length;t++)if(this._referencesAnyName(n[t],f))return!0;return!1}emitForIn(n,f,e,t){let[i,u,l,a,c]=f;if(e==="value"&&this.comprehensionDepth===0){let y=["for-in",i,u,l];return this.emit(["comprehension",c,[y],a?[a]:[]],e)}let r=Array.isArray(i)?i:[i],h=r.length===0,[o,s]=h?["_i",null]:r,w=this.is(o,"array")||this.is(o,"object")?this.emitDestructuringPattern(o):o;if(l&&l!==null){let y=this.emit(u,"value"),R=s||"_i",U=this.emit(l,"value"),m=this.is(l,"-",1),D=m&&(l[1]==="1"||l[1]===1||j(l[1])==="1"),M=!m&&(l==="1"||l===1||j(l)==="1"),q;if(D)q=`for (let ${R} = ${y}.length - 1; ${R} >= 0; ${R}--) `;else if(M)q=`for (let ${R} = 0; ${R} < ${y}.length; ${R}++) `;else if(m)q=`for (let ${R} = ${y}.length - 1; ${R} >= 0; ${R} += ${U}) `;else q=`for (let ${R} = 0; ${R} < ${y}.length; ${R} += ${U}) `;if(this.is(c,"block")){let S=c.slice(1);this.indentLevel++;let d=[];if(!h)d.push(`let ${w} = ${y}[${R}];`);if(a)d.push(`if (${this.emit(a,"value")}) {`),this.indentLevel++,d.push(...this.formatStatements(S)),this.indentLevel--,d.push(this.indent()+"}");else d.push(...S.map((K)=>this.addSemicolon(K,this.emit(K,"statement"))));return this.indentLevel--,q+`{
2441
- ${d.map((K)=>this.indent()+K).join(`
2456
+ `,this.indentLevel--,i+=this.indent()+"})()",i}emitAwait(n,f){return`await ${this.emit(f[0],"value")}`}emitYield(n,f){return f.length===0?"yield":`yield ${this.emit(f[0],"value")}`}emitYieldFrom(n,f){return`yield* ${this.emit(f[0],"value")}`}emitIf(n,f,e,a){let[i,l,...u]=f;return e==="value"?this.emitIfAsExpression(i,l,u):this.emitIfAsStatement(i,l,u)}validateComprehensionFilters(n){if(!Array.isArray(n))return;if(p(n[0])==="if"){let[,f,e,...a]=n;this._checkComprehensionFilterTrap(f,e,a,n)}for(let f=0;f<n.length;f++)this.validateComprehensionFilters(n[f])}_checkComprehensionFilterTrap(n,f,e,a){if(e.length)return;let i=this._collectLeakVars(f);if(i.size&&this._referencesAnyName(n,i))this._throwComprehensionFilterTrap(a);let l=this._collectLeakVars(n);if(l.size&&this._referencesAnyName(f,l))this._throwComprehensionFilterTrap(a)}_collectLeakVars(n){let f=new Set,e=(a)=>{if(!Array.isArray(a))return;let i=p(a[0]);if(i==="comprehension"||i==="object-comprehension")for(let l of this._collectComprehensionVars(a))f.add(l);for(let l=0;l<a.length;l++)e(a[l])};return e(n),f}_throwComprehensionFilterTrap(n){this.error("Comprehensions filter with `when`, not `if` — the trailing `if` wraps the whole comprehension and its loop variable is out of scope here",n,{suggestion:"Use `(expr for x in xs when cond)` instead of `(expr for x in xs if cond)`"})}_collectComprehensionVars(n){let f=new Set,e=(i)=>{if(typeof i==="string"){f.add(i);return}if(i instanceof String){f.add(i.valueOf());return}if(!Array.isArray(i))return;let l=p(i[0]);if(l==="default"){e(i[1]);return}if(l==="..."||l==="rest"){e(i[1]);return}if(l==="array"){for(let u=1;u<i.length;u++)if(i[u]!==","&&i[u]!=null)e(i[u]);return}if(l==="object"){for(let u=1;u<i.length;u++){let t=i[u];if(!Array.isArray(t))continue;let c=p(t[0]);if(c===null||c===":")e(t[2]);else if(c==="="||c==="...")e(t[1])}return}},a=(p(n[0])==="object-comprehension"?n[3]:n[2])||[];for(let i of a){let l=i[1];if(Array.isArray(l))for(let u of l)e(u);else e(l)}return f}_referencesAnyName(n,f){if(typeof n==="string")return f.has(n);if(n instanceof String)return f.has(n.valueOf());if(!Array.isArray(n))return!1;let e=p(n[0]);if((e==="."||e==="?.")&&n.length===3)return this._referencesAnyName(n[1],f);if(e==="comprehension"||e==="object-comprehension"){let a=this._collectComprehensionVars(n);if([...a].some((i)=>f.has(i))){if(f=new Set([...f].filter((i)=>!a.has(i))),f.size===0)return!1}}if(f.has(e))return!0;for(let a=1;a<n.length;a++)if(this._referencesAnyName(n[a],f))return!0;return!1}emitForIn(n,f,e,a){let[i,l,u,t,c]=f;if(e==="value"&&this.comprehensionDepth===0){let m=["for-in",i,l,u];return this.emit(["comprehension",c,[m],t?[t]:[]],e)}let r=Array.isArray(i)?i:[i],h=r.length===0,[o,s]=h?["_i",null]:r,w=this.is(o,"array")||this.is(o,"object")?this.emitDestructuringPattern(o):o;if(u&&u!==null){let m=this.emit(l,"value"),D=s||"_i",U=this.emit(u,"value"),R=this.is(u,"-",1),A=R&&(u[1]==="1"||u[1]===1||p(u[1])==="1"),E=!R&&(u==="1"||u===1||p(u)==="1"),M;if(A)M=`for (let ${D} = ${m}.length - 1; ${D} >= 0; ${D}--) `;else if(E)M=`for (let ${D} = 0; ${D} < ${m}.length; ${D}++) `;else if(R)M=`for (let ${D} = ${m}.length - 1; ${D} >= 0; ${D} += ${U}) `;else M=`for (let ${D} = 0; ${D} < ${m}.length; ${D} += ${U}) `;if(this.is(c,"block")){let q=c.slice(1);this.indentLevel++;let S=[];if(!h)S.push(`let ${w} = ${m}[${D}];`);if(t)S.push(`if (${this.emit(t,"value")}) {`),this.indentLevel++,S.push(...this.formatStatements(q)),this.indentLevel--,S.push(this.indent()+"}");else S.push(...q.map((Q)=>this.addSemicolon(Q,this.emit(Q,"statement"))));return this.indentLevel--,M+`{
2457
+ ${S.map((Q)=>this.indent()+Q).join(`
2442
2458
  `)}
2443
- ${this.indent()}}`}if(h)return a?q+`{ if (${this.emit(a,"value")}) ${this.emit(c,"statement")}; }`:q+`{ ${this.emit(c,"statement")}; }`;return a?q+`{ let ${w} = ${y}[${R}]; if (${this.emit(a,"value")}) ${this.emit(c,"statement")}; }`:q+`{ let ${w} = ${y}[${R}]; ${this.emit(c,"statement")}; }`}if(s){let y=this.emit(u,"value"),R=`for (let ${s} = 0; ${s} < ${y}.length; ${s}++) `;if(this.is(c,"block")){if(R+=`{
2444
- `,this.indentLevel++,R+=this.indent()+`let ${w} = ${y}[${s}];
2445
- `,a)R+=this.indent()+`if (${this.unwrap(this.emit(a,"value"))}) {
2446
- `,this.indentLevel++,R+=this.formatStatements(c.slice(1)).join(`
2459
+ ${this.indent()}}`}if(h)return t?M+`{ if (${this.emit(t,"value")}) ${this.emit(c,"statement")}; }`:M+`{ ${this.emit(c,"statement")}; }`;return t?M+`{ let ${w} = ${m}[${D}]; if (${this.emit(t,"value")}) ${this.emit(c,"statement")}; }`:M+`{ let ${w} = ${m}[${D}]; ${this.emit(c,"statement")}; }`}if(s){let m=this.emit(l,"value"),D=`for (let ${s} = 0; ${s} < ${m}.length; ${s}++) `;if(this.is(c,"block")){if(D+=`{
2460
+ `,this.indentLevel++,D+=this.indent()+`let ${w} = ${m}[${s}];
2461
+ `,t)D+=this.indent()+`if (${this.unwrap(this.emit(t,"value"))}) {
2462
+ `,this.indentLevel++,D+=this.formatStatements(c.slice(1)).join(`
2447
2463
  `)+`
2448
- `,this.indentLevel--,R+=this.indent()+`}
2449
- `;else R+=this.formatStatements(c.slice(1)).join(`
2464
+ `,this.indentLevel--,D+=this.indent()+`}
2465
+ `;else D+=this.formatStatements(c.slice(1)).join(`
2450
2466
  `)+`
2451
- `;this.indentLevel--,R+=this.indent()+"}"}else R+=a?`{ let ${w} = ${y}[${s}]; if (${this.unwrap(this.emit(a,"value"))}) ${this.emit(c,"statement")}; }`:`{ let ${w} = ${y}[${s}]; ${this.emit(c,"statement")}; }`;return R}let _=Array.isArray(u)&&u[0];if(_ instanceof String)_=j(_);if(_===".."||_==="..."){let y=_==="...",[R,U]=u.slice(1),m=(D)=>typeof D==="number"||typeof D==="string"&&!D.includes("(")||D instanceof String&&!j(D).includes("(")||this.is(D,".");if(m(R)&&m(U)){let D=this.emit(R,"value"),M=this.emit(U,"value"),q=y?"<":"<=",S=l?`${w} += ${this.emit(l,"value")}`:`${w}++`,d=`for (let ${w} = ${D}; ${w} ${q} ${M}; ${S}) `;return d+=a?this.emitLoopBodyWithGuard(c,a):this.emitLoopBody(c),d}}let A=`for (let ${w} of ${this.emit(u,"value")}) `;return A+=a?this.emitLoopBodyWithGuard(c,a):this.emitLoopBody(c),A}emitForOf(n,f,e,t){let[i,u,l,a,c]=f;if(e==="value"&&this.comprehensionDepth===0){let w=["for-of",i,u,l];return this.emit(["comprehension",c,[w],a?[a]:[]],e)}let[r,h]=Array.isArray(i)?i:[i],o=this.emit(u,"value"),s=`for (let ${r} in ${o}) `;if(l&&!h&&!a){if(this.is(c,"block")){this.indentLevel++;let w=[`if (!Object.hasOwn(${o}, ${r})) continue;`,...c.slice(1).map((_)=>this.addSemicolon(_,this.emit(_,"statement")))];return this.indentLevel--,s+`{
2467
+ `;this.indentLevel--,D+=this.indent()+"}"}else D+=t?`{ let ${w} = ${m}[${s}]; if (${this.unwrap(this.emit(t,"value"))}) ${this.emit(c,"statement")}; }`:`{ let ${w} = ${m}[${s}]; ${this.emit(c,"statement")}; }`;return D}let _=Array.isArray(l)&&l[0];if(_ instanceof String)_=p(_);if(_===".."||_==="..."){let m=_==="...",[D,U]=l.slice(1),R=(A)=>typeof A==="number"||typeof A==="string"&&!A.includes("(")||A instanceof String&&!p(A).includes("(")||this.is(A,".");if(R(D)&&R(U)){let A=this.emit(D,"value"),E=this.emit(U,"value"),M=m?"<":"<=",q=u?`${w} += ${this.emit(u,"value")}`:`${w}++`,S=`for (let ${w} = ${A}; ${w} ${M} ${E}; ${q}) `;return S+=t?this.emitLoopBodyWithGuard(c,t):this.emitLoopBody(c),S}}let y=`for (let ${w} of ${this.emit(l,"value")}) `;return y+=t?this.emitLoopBodyWithGuard(c,t):this.emitLoopBody(c),y}emitForOf(n,f,e,a){let[i,l,u,t,c]=f;if(e==="value"&&this.comprehensionDepth===0){let w=["for-of",i,l,u];return this.emit(["comprehension",c,[w],t?[t]:[]],e)}let[r,h]=Array.isArray(i)?i:[i],o=this.emit(l,"value"),s=`for (let ${r} in ${o}) `;if(u&&!h&&!t){if(this.is(c,"block")){this.indentLevel++;let w=[`if (!Object.hasOwn(${o}, ${r})) continue;`,...c.slice(1).map((_)=>this.addSemicolon(_,this.emit(_,"statement")))];return this.indentLevel--,s+`{
2452
2468
  ${w.map((_)=>this.indent()+_).join(`
2453
2469
  `)}
2454
- ${this.indent()}}`}return s+`{ if (!Object.hasOwn(${o}, ${r})) continue; ${this.emit(c,"statement")}; }`}if(h){if(this.is(c,"block")){let _=c.slice(1);this.indentLevel++;let A=[];if(l)A.push(`if (!Object.hasOwn(${o}, ${r})) continue;`);if(A.push(`let ${h} = ${o}[${r}];`),a)A.push(`if (${this.emit(a,"value")}) {`),this.indentLevel++,A.push(..._.map((y)=>this.addSemicolon(y,this.emit(y,"statement")))),this.indentLevel--,A.push(this.indent()+"}");else A.push(..._.map((y)=>this.addSemicolon(y,this.emit(y,"statement"))));return this.indentLevel--,s+`{
2455
- ${A.map((y)=>this.indent()+y).join(`
2470
+ ${this.indent()}}`}return s+`{ if (!Object.hasOwn(${o}, ${r})) continue; ${this.emit(c,"statement")}; }`}if(h){if(this.is(c,"block")){let _=c.slice(1);this.indentLevel++;let y=[];if(u)y.push(`if (!Object.hasOwn(${o}, ${r})) continue;`);if(y.push(`let ${h} = ${o}[${r}];`),t)y.push(`if (${this.emit(t,"value")}) {`),this.indentLevel++,y.push(..._.map((m)=>this.addSemicolon(m,this.emit(m,"statement")))),this.indentLevel--,y.push(this.indent()+"}");else y.push(..._.map((m)=>this.addSemicolon(m,this.emit(m,"statement"))));return this.indentLevel--,s+`{
2471
+ ${y.map((m)=>this.indent()+m).join(`
2456
2472
  `)}
2457
- ${this.indent()}}`}let w="";if(l)w+=`if (!Object.hasOwn(${o}, ${r})) continue; `;if(w+=`let ${h} = ${o}[${r}]; `,a)w+=`if (${this.emit(a,"value")}) `;return w+=`${this.emit(c,"statement")};`,s+`{ ${w} }`}return s+=a?this.emitLoopBodyWithGuard(c,a):this.emitLoopBody(c),s}emitForAs(n,f,e,t){let i=Array.isArray(f[0])?f[0]:[f[0]],[u]=i,l=f[1],a=f[2],c=f[3],r=f[4],h=!1,o=[];if(this.is(u,"array")){let y=u.slice(1),R=y.findIndex((U)=>this.is(U,"...")||U==="...");if(R!==-1&&R<y.length-1){h=!0;let U=y.slice(R+1),m=U.length,D=y.slice(0,R),M=y[R],q=this.is(M,"...")?M[1]:"_rest",S=D.map((E)=>E===","?"":typeof E==="string"?E:this.emit(E,"value")).join(", "),d=S?`${S}, ...${q}`:`...${q}`,K=U.map((E)=>E===","?"":typeof E==="string"?E:this.emit(E,"value")).join(", ");o.push(`[${d}] = _item`),o.push(`[${K}] = ${q}.splice(-${m})`),this.helpers.add("slice"),y.forEach((E)=>{if(E===","||E==="...")return;if(typeof E==="string")this.programVars.add(E);else if(this.is(E,"...")&&typeof E[1]==="string")this.programVars.add(E[1])})}}let s=this.emit(l,"value"),w=a?"await ":"",_;if(h)_="_item";else if(this.is(u,"array")||this.is(u,"object"))_=this.emitDestructuringPattern(u);else _=u;let A=`for ${w}(let ${_} of ${s}) `;if(h&&o.length>0){let y=this.unwrapBlock(r),R=this.withIndent(()=>[...o.map((U)=>this.indent()+U+";"),...this.formatStatements(y)]);A+=`{
2458
- ${R.join(`
2473
+ ${this.indent()}}`}let w="";if(u)w+=`if (!Object.hasOwn(${o}, ${r})) continue; `;if(w+=`let ${h} = ${o}[${r}]; `,t)w+=`if (${this.emit(t,"value")}) `;return w+=`${this.emit(c,"statement")};`,s+`{ ${w} }`}return s+=t?this.emitLoopBodyWithGuard(c,t):this.emitLoopBody(c),s}emitForAs(n,f,e,a){let i=Array.isArray(f[0])?f[0]:[f[0]],[l]=i,u=f[1],t=f[2],c=f[3],r=f[4],h=!1,o=[];if(this.is(l,"array")){let m=l.slice(1),D=m.findIndex((U)=>this.is(U,"...")||U==="...");if(D!==-1&&D<m.length-1){h=!0;let U=m.slice(D+1),R=U.length,A=m.slice(0,D),E=m[D],M=this.is(E,"...")?E[1]:"_rest",q=A.map((F)=>F===","?"":typeof F==="string"?F:this.emit(F,"value")).join(", "),S=q?`${q}, ...${M}`:`...${M}`,Q=U.map((F)=>F===","?"":typeof F==="string"?F:this.emit(F,"value")).join(", ");o.push(`[${S}] = _item`),o.push(`[${Q}] = ${M}.splice(-${R})`),this.helpers.add("slice"),m.forEach((F)=>{if(F===","||F==="...")return;if(typeof F==="string")this.programVars.add(F);else if(this.is(F,"...")&&typeof F[1]==="string")this.programVars.add(F[1])})}}let s=this.emit(u,"value"),w=t?"await ":"",_;if(h)_="_item";else if(this.is(l,"array")||this.is(l,"object"))_=this.emitDestructuringPattern(l);else _=l;let y=`for ${w}(let ${_} of ${s}) `;if(h&&o.length>0){let m=this.unwrapBlock(r),D=this.withIndent(()=>[...o.map((U)=>this.indent()+U+";"),...this.formatStatements(m)]);y+=`{
2474
+ ${D.join(`
2459
2475
  `)}
2460
- ${this.indent()}}`}else A+=c?this.emitLoopBodyWithGuard(r,c):this.emitLoopBody(r);return A}emitWhile(n,f,e){let t=f[0],i=f.length===3?f[1]:null,u=f[f.length-1],l=`while (${this.unwrap(this.emit(t,"value"))})`;if(e==="value")return this.emitLoopAsValue(l,u,i);return l+" "+(i?this.emitLoopBodyWithGuard(u,i):this.emitLoopBody(u))}emitRange(n,f){if(n==="..."){if(f.length===1)return`...${this.emit(f[0],"value")}`;let[l,a]=f,c=this.emit(l,"value"),r=this.emit(a,"value");return`((s, e) => Array.from({length: Math.max(0, Math.abs(e - s))}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${c}, ${r})`}let[e,t]=f,i=this.emit(e,"value"),u=this.emit(t,"value");return`((s, e) => Array.from({length: Math.abs(e - s) + 1}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${i}, ${u})`}emitNot(n,f){let[e]=f;if(typeof e==="string"||e instanceof String)return`!${this.emit(e,"value")}`;if(Array.isArray(e)){if([".","?.","[]","optindex","optcall"].includes(e[0]))return`!${this.emit(e,"value")}`}let t=this.emit(e,"value");return t.startsWith("(")?`!${t}`:`(!${t})`}emitBitwiseNot(n,f){return`(~${this.emit(f[0],"value")})`}emitIncDec(n,f){let[e,t]=f,i=this.emit(e,"value");return t?`(${i}${n})`:`(${n}${i})`}emitTypeof(n,f){return`typeof ${this.emit(f[0],"value")}`}emitDelete(n,f){return`(delete ${this.emit(f[0],"value")})`}emitInstanceof(n,f,e,t){let[i,u]=f,l=qn(t[0],"invert"),a=`(${this.emit(i,"value")} instanceof ${this.emit(u,"value")})`;return l?`(!${a})`:a}emitIn(n,f,e,t){let[i,u]=f,l=this.emit(i,"value"),a=qn(t[0],"invert");if(this.is(u,"object")){let h=`(${l} in ${this.emit(u,"value")})`;return a?`(!${h})`:h}let c=this.emit(u,"value"),r=`(Array.isArray(${c}) || typeof ${c} === 'string' ? ${c}.includes(${l}) : (${l} in ${c}))`;return a?`(!${r})`:r}emitOf(n,f,e,t){let[i,u]=f,l=this.emit(i,"value"),a=this.emit(u,"value"),c=qn(t[0],"invert"),r=`(${l} in ${a})`;return c?`(!${r})`:r}emitRegexMatch(n,f,e,t){let[i,u]=f;if(this.is(i,"=~")&&!i.parenthesized)this.error("`=~` does not chain — `a =~ b =~ c` would match the first match result against the second pattern",t,{suggestion:"Parenthesize the intended match, e.g. `(a =~ b) =~ c`, or split into separate expressions"});this.helpers.add("toMatchable"),this.programVars.add("_");let l=this.emit(u,"value"),a=l.includes("/m")?", true":"";return`(_ = toMatchable(${this.emit(i,"value")}${a}).match(${l}))`}emitNew(n,f){let[e]=f;if(this.is(e,".")||this.is(e,"?.")){let[t,i,u]=e;if(Array.isArray(i)&&!i[0].startsWith)return`(${this.emit(["new",i],"value")}).${u}`;return`new ${this.emit(i,"value")}.${u}`}if(Array.isArray(e)){let[t,...i]=e;return`new ${this.emit(t,"value")}(${i.map((u)=>this.unwrap(this.emit(u,"value"))).join(", ")})`}return`new ${this.emit(e,"value")}()`}emitLogicalAnd(n,f,e,t){let i=this.flattenBinaryChain(t).slice(1);if(i.length===0)return"true";if(i.length===1)return this.emit(i[0],"value");return`(${i.map((u)=>this.emit(u,"value")).join(" && ")})`}emitLogicalOr(n,f,e,t){let i=this.flattenBinaryChain(t).slice(1);if(i.length===0)return"true";if(i.length===1)return this.emit(i[0],"value");return`(${i.map((u)=>this.emit(u,"value")).join(" || ")})`}emitSymbol(n,f,e,t){if(t&&t.loc&&typeof f[0]==="string")t._anchors=(t._anchors||[]).concat([{name:"Symbol",origLine:t.loc.r,origCol:t.loc.c+1}]);return`Symbol.for(${JSON.stringify(f[0])})`}emitArray(n,f){let e=f.length>0&&f[f.length-1]===",",t=f.map((i)=>{if(i===",")return"";if(i==="...")return"";if(this.is(i,"..."))return`...${this.emit(i[1],"value")}`;return this.emit(i,"value")}).join(", ");return e?`[${t},]`:`[${t}]`}emitObject(n,f,e){if(f.length===1&&Array.isArray(f[0])&&Array.isArray(f[0][2])&&f[0][2][0]==="comprehension"){let[,s,w]=f[0],[,_,A,y]=w;return this.emit(["object-comprehension",s,_,A,y],e)}let t=(s,w,_=0,A=1/0)=>{let y=this.options&&this.options.source;if(!y||typeof w!=="string"||!/^[A-Za-z_$][\w$]*$/.test(w))return-1;let U=(this._sourceLinesCache||(this._sourceLinesCache=y.split(`
2461
- `)))[s];if(!U)return-1;let m=new RegExp("\\b"+w.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\b","g");m.lastIndex=Math.max(0,_);let D;while((D=m.exec(U))!==null){if(D.index>=A)return-1;return D.index}return-1},i=(s,w,_=0,A=1/0)=>{let y=this.options&&this.options.source;if(!y||typeof w!=="string"||!/^[A-Za-z_$][\w$]*$/.test(w))return-1;let U=(this._sourceLinesCache||(this._sourceLinesCache=y.split(`
2462
- `)))[s];if(!U)return-1;let m=new RegExp("\\b"+w.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\b","g");m.lastIndex=Math.max(0,_);let D,M=-1;while((D=m.exec(U))!==null){if(D.index>=A)break;M=D.index}return M},u=!1,l=Array(f.length).fill(!1),a=f.map((s,w)=>{if(this.is(s,"..."))return`...${this.emit(s[1],"value")}`;let[_,A,y]=s,R,U=!1;if(this.is(A,"dynamicKey"))R=`[${this.emit(A[1],"value")}]`;else if(this.is(A,"str"))R=`[${this.emit(A,"value")}]`;else this.suppressReactiveUnwrap=!0,R=this.emit(A,"value"),this.suppressReactiveUnwrap=!1,U=!Array.isArray(A)&&typeof R==="string"&&/^[A-Za-z_$][\w$]*$/.test(R);if(_===":"&&U&&this.is(y,"->")){let[,D,M]=y;if((!D||Array.isArray(D)&&D.length===0)&&this.containsIt(M))D=["it"];let q=y.isVoid||!1,S=this.emitParamList(D),d=this.emitFunctionBody(M,D,q),K=this.containsAwait(M),E=this.containsYield(M),Z=K?"async ":"",Q=E?"*":"";if(y&&y.loc&&Array.isArray(D)&&D.length){let W=y.loc.r,C=y.loc.c,L=[],b=C;for(let fn of D){if(typeof fn!=="string")continue;let Y=t(W,fn,b);if(Y>=0)L.push({name:fn,origLine:W,origCol:Y}),b=Y+fn.length}if(L.length)y._anchors=(y._anchors||[]).concat(L)}return u=!0,l[w]=!0,`${Z}${Q}${R}(${S}) ${d}`}let m=this.emit(y,"value");if(_===":"&&U&&Array.isArray(s)&&s.loc&&typeof A==="string"){let D=t(s.loc.r,A,0,s.loc.c+A.length+1);if(D>=0)s._anchors=(s._anchors||[]).concat([{name:A,origLine:s.loc.r,origCol:D}])}if(_==="=")return`${R} = ${m}`;if(_===":")return`${R}: ${m}`;if(R===m&&!Array.isArray(A)){if(Array.isArray(s)&&s.loc&&typeof A==="string"){let D=i(s.loc.r,A,0,s.loc.c+1);if(D>=0)s._anchors=(s._anchors||[]).concat([{name:A,origLine:s.loc.r,origCol:D}])}return R}return`${R}: ${m}`});if(!u)return`{${a.join(", ")}}`;let c=[],r=[];for(let s=0;s<a.length;s++)if(l[s]||s>0&&l[s-1]){if(r.length&&c.length===0)c.push(r.join(", ")),r=[];c.push(a[s])}else if(c.length===0)r.push(a[s]);else c.push(a[s]);if(r.length&&c.length===0)c.push(r.join(", "));let h=c[0],o=c.slice(1);return o.length===0?`{${h}}`:`{${h},
2476
+ ${this.indent()}}`}else y+=c?this.emitLoopBodyWithGuard(r,c):this.emitLoopBody(r);return y}emitWhile(n,f,e){let a=f[0],i=f.length===3?f[1]:null,l=f[f.length-1],u=`while (${this.unwrap(this.emit(a,"value"))})`;if(e==="value")return this.emitLoopAsValue(u,l,i);return u+" "+(i?this.emitLoopBodyWithGuard(l,i):this.emitLoopBody(l))}emitRange(n,f){if(n==="..."){if(f.length===1)return`...${this.emit(f[0],"value")}`;let[u,t]=f,c=this.emit(u,"value"),r=this.emit(t,"value");return`((s, e) => Array.from({length: Math.max(0, Math.abs(e - s))}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${c}, ${r})`}let[e,a]=f,i=this.emit(e,"value"),l=this.emit(a,"value");return`((s, e) => Array.from({length: Math.abs(e - s) + 1}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${i}, ${l})`}emitNot(n,f){let[e]=f;if(typeof e==="string"||e instanceof String)return`!${this.emit(e,"value")}`;if(Array.isArray(e)){if([".","?.","[]","optindex","optcall"].includes(e[0]))return`!${this.emit(e,"value")}`}let a=this.emit(e,"value");return a.startsWith("(")?`!${a}`:`(!${a})`}emitBitwiseNot(n,f){return`(~${this.emit(f[0],"value")})`}emitIncDec(n,f){let[e,a]=f,i=this.emit(e,"value");return a?`(${i}${n})`:`(${n}${i})`}emitTypeof(n,f){return`typeof ${this.emit(f[0],"value")}`}emitDelete(n,f){return`(delete ${this.emit(f[0],"value")})`}emitInstanceof(n,f,e,a){let[i,l]=f,u=Sn(a[0],"invert"),t=`(${this.emit(i,"value")} instanceof ${this.emit(l,"value")})`;return u?`(!${t})`:t}emitIn(n,f,e,a){let[i,l]=f,u=this.emit(i,"value"),t=Sn(a[0],"invert");if(this.is(l,"object")){let h=`(${u} in ${this.emit(l,"value")})`;return t?`(!${h})`:h}let c=this.emit(l,"value"),r=`(Array.isArray(${c}) || typeof ${c} === 'string' ? ${c}.includes(${u}) : (${u} in ${c}))`;return t?`(!${r})`:r}emitOf(n,f,e,a){let[i,l]=f,u=this.emit(i,"value"),t=this.emit(l,"value"),c=Sn(a[0],"invert"),r=`(${u} in ${t})`;return c?`(!${r})`:r}emitRegexMatch(n,f,e,a){let[i,l]=f;if(this.is(i,"=~")&&!i.parenthesized)this.error("`=~` does not chain — `a =~ b =~ c` would match the first match result against the second pattern",a,{suggestion:"Parenthesize the intended match, e.g. `(a =~ b) =~ c`, or split into separate expressions"});this.helpers.add("toMatchable"),this.programVars.add("_");let u=this.emit(l,"value"),t=u.includes("/m")?", true":"";return`(_ = toMatchable(${this.emit(i,"value")}${t}).match(${u}))`}emitNew(n,f){let[e]=f;if(this.is(e,".")||this.is(e,"?.")){let[a,i,l]=e;if(Array.isArray(i)&&!i[0].startsWith)return`(${this.emit(["new",i],"value")}).${l}`;return`new ${this.emit(i,"value")}.${l}`}if(Array.isArray(e)){let[a,...i]=e;return`new ${this.emit(a,"value")}(${i.map((l)=>this.unwrap(this.emit(l,"value"))).join(", ")})`}return`new ${this.emit(e,"value")}()`}emitLogicalAnd(n,f,e,a){let i=this.flattenBinaryChain(a).slice(1);if(i.length===0)return"true";if(i.length===1)return this.emit(i[0],"value");return`(${i.map((l)=>this.emit(l,"value")).join(" && ")})`}emitLogicalOr(n,f,e,a){let i=this.flattenBinaryChain(a).slice(1);if(i.length===0)return"true";if(i.length===1)return this.emit(i[0],"value");return`(${i.map((l)=>this.emit(l,"value")).join(" || ")})`}emitSymbol(n,f,e,a){if(a&&a.loc&&typeof f[0]==="string")a._anchors=(a._anchors||[]).concat([{name:"Symbol",origLine:a.loc.r,origCol:a.loc.c+1}]);return`Symbol.for(${JSON.stringify(f[0])})`}emitArray(n,f){let e=f.length>0&&f[f.length-1]===",",a=f.map((i)=>{if(i===",")return"";if(i==="...")return"";if(this.is(i,"..."))return`...${this.emit(i[1],"value")}`;return this.emit(i,"value")}).join(", ");return e?`[${a},]`:`[${a}]`}emitObject(n,f,e){if(f.length===1&&Array.isArray(f[0])&&Array.isArray(f[0][2])&&f[0][2][0]==="comprehension"){let[,s,w]=f[0],[,_,y,m]=w;return this.emit(["object-comprehension",s,_,y,m],e)}let a=(s,w,_=0,y=1/0)=>{let m=this.options&&this.options.source;if(!m||typeof w!=="string"||!/^[A-Za-z_$][\w$]*$/.test(w))return-1;let U=(this._sourceLinesCache||(this._sourceLinesCache=m.split(`
2477
+ `)))[s];if(!U)return-1;let R=new RegExp("\\b"+w.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\b","g");R.lastIndex=Math.max(0,_);let A;while((A=R.exec(U))!==null){if(A.index>=y)return-1;return A.index}return-1},i=(s,w,_=0,y=1/0)=>{let m=this.options&&this.options.source;if(!m||typeof w!=="string"||!/^[A-Za-z_$][\w$]*$/.test(w))return-1;let U=(this._sourceLinesCache||(this._sourceLinesCache=m.split(`
2478
+ `)))[s];if(!U)return-1;let R=new RegExp("\\b"+w.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\b","g");R.lastIndex=Math.max(0,_);let A,E=-1;while((A=R.exec(U))!==null){if(A.index>=y)break;E=A.index}return E},l=!1,u=Array(f.length).fill(!1),t=f.map((s,w)=>{if(this.is(s,"..."))return`...${this.emit(s[1],"value")}`;let[_,y,m]=s,D,U=!1;if(this.is(y,"dynamicKey"))D=`[${this.emit(y[1],"value")}]`;else if(this.is(y,"str"))D=`[${this.emit(y,"value")}]`;else this.suppressReactiveUnwrap=!0,D=this.emit(y,"value"),this.suppressReactiveUnwrap=!1,U=!Array.isArray(y)&&typeof D==="string"&&/^[A-Za-z_$][\w$]*$/.test(D);if(_===":"&&U&&this.is(m,"->")){let[,A,E]=m;if((!A||Array.isArray(A)&&A.length===0)&&this.containsIt(E))A=["it"];let M=m.isVoid||!1,q=this.emitParamList(A),S=this.emitFunctionBody(E,A,M),Q=this.containsAwait(E),F=this.containsYield(E),K=Q?"async ":"",H=F?"*":"";if(m&&m.loc&&Array.isArray(A)&&A.length){let G=m.loc.r,B=m.loc.c,j=[],b=B;for(let ln of A){if(typeof ln!=="string")continue;let nn=a(G,ln,b);if(nn>=0)j.push({name:ln,origLine:G,origCol:nn}),b=nn+ln.length}if(j.length)m._anchors=(m._anchors||[]).concat(j)}return l=!0,u[w]=!0,`${K}${H}${D}(${q}) ${S}`}let R=this.emit(m,"value");if(_===":"&&U&&Array.isArray(s)&&s.loc&&typeof y==="string"){let A=a(s.loc.r,y,0,s.loc.c+y.length+1);if(A>=0)s._anchors=(s._anchors||[]).concat([{name:y,origLine:s.loc.r,origCol:A}])}if(_==="=")return`${D} = ${R}`;if(_===":")return`${D}: ${R}`;if(D===R&&!Array.isArray(y)){if(Array.isArray(s)&&s.loc&&typeof y==="string"){let A=i(s.loc.r,y,0,s.loc.c+1);if(A>=0)s._anchors=(s._anchors||[]).concat([{name:y,origLine:s.loc.r,origCol:A}])}return D}return`${D}: ${R}`});if(!l)return`{${t.join(", ")}}`;let c=[],r=[];for(let s=0;s<t.length;s++)if(u[s]||s>0&&u[s-1]){if(r.length&&c.length===0)c.push(r.join(", ")),r=[];c.push(t[s])}else if(c.length===0)r.push(t[s]);else c.push(t[s]);if(r.length&&c.length===0)c.push(r.join(", "));let h=c[0],o=c.slice(1);return o.length===0?`{${h}}`:`{${h},
2463
2479
  ${o.join(`,
2464
- `)}}`}emitMap(n,f,e){if(f.length===0)return"new Map()";return`new Map([${f.map((i)=>{if(this.is(i,"..."))return`...${this.emit(i[1],"value")}`;let[,u,l]=i,a;if(Array.isArray(u))a=this.emit(u,"value");else{let r=j(u)??u;a=!r.startsWith('"')&&!r.startsWith("'")&&!r.startsWith("/")&&!Fn.NUMBER_START_RE.test(r)&&!bt.has(r)?`"${r}"`:this.emit(u,"value")}let c=this.emit(l,"value");return`[${a}, ${c}]`}).join(", ")}])`}emitBlock(n,f,e){if(e==="statement")return`{
2480
+ `)}}`}emitMap(n,f,e){if(f.length===0)return"new Map()";return`new Map([${f.map((i)=>{if(this.is(i,"..."))return`...${this.emit(i[1],"value")}`;let[,l,u]=i,t;if(Array.isArray(l))t=this.emit(l,"value");else{let r=p(l)??l;t=!r.startsWith('"')&&!r.startsWith("'")&&!r.startsWith("/")&&!zn.NUMBER_START_RE.test(r)&&!Ia.has(r)?`"${r}"`:this.emit(l,"value")}let c=this.emit(u,"value");return`[${t}, ${c}]`}).join(", ")}])`}emitBlock(n,f,e){if(e==="statement")return`{
2465
2481
  ${this.withIndent(()=>this.formatStatements(f)).join(`
2466
2482
  `)}
2467
- ${this.indent()}}`;if(f.length===0)return"undefined";if(f.length===1)return this.emit(f[0],e);let t=f[f.length-1];if(Array.isArray(t)&&["break","continue","return","throw"].includes(t[0])){let u=f.map((l)=>this.addSemicolon(l,this.emit(l,"statement")));return`{
2468
- ${this.withIndent(()=>u.map((l)=>this.indent()+l).join(`
2483
+ ${this.indent()}}`;if(f.length===0)return"undefined";if(f.length===1)return this.emit(f[0],e);let a=f[f.length-1];if(Array.isArray(a)&&["break","continue","return","throw"].includes(a[0])){let l=f.map((u)=>this.addSemicolon(u,this.emit(u,"statement")));return`{
2484
+ ${this.withIndent(()=>l.map((u)=>this.indent()+u).join(`
2469
2485
  `))}
2470
- ${this.indent()}}`}return`(${f.map((u)=>this.emit(u,"value")).join(", ")})`}emitTry(n,f,e){let t=e==="value",i="try ",u=f[0];if(i+=t&&this.is(u,"block")?this.emitBlockWithReturns(u):this.emit(u,"statement"),f.length>=2&&Array.isArray(f[1])&&f[1].length===2&&f[1][0]!=="block"){let[l,a]=f[1];if(i+=" catch",l&&(this.is(l,"object")||this.is(l,"array"))){i+=" (error)";let c=`(${this.emit(l,"value")} = error)`;a=this.is(a,"block")?["block",c,...a.slice(1)]:["block",c,a]}else if(l)i+=` (${l})`;i+=" "+(t&&this.is(a,"block")?this.emitBlockWithReturns(a):this.emit(a,"statement"))}else if(f.length===2)i+=" finally "+this.emit(f[1],"statement");if(f.length===3)i+=" finally "+this.emit(f[2],"statement");if(f.length===1)i+=" catch {}";if(t){let l=this.containsAwait(f[0])||f[1]&&this.containsAwait(f[1])||f[2]&&this.containsAwait(f[2]);return this.asyncIIFE(l,i)}return i}emitThrow(n,f,e){let[t]=f;if(Array.isArray(t)){let u=t,l=null;if(t[0]==="new"&&Array.isArray(t[1])&&t[1][0]==="if")l="new",u=t[1];else if(t[0]==="if")u=t;if(u[0]==="if"){let[,a,c]=u,r=Array.isArray(c)&&c.length===1?c[0]:c;t=l==="new"?["new",r]:r;let h=this.emit(a,"value"),o=`throw ${this.emit(t,"value")}`;return`if (${h}) {
2486
+ ${this.indent()}}`}return`(${f.map((l)=>this.emit(l,"value")).join(", ")})`}emitTry(n,f,e){let a=e==="value",i="try ",l=f[0];if(i+=a&&this.is(l,"block")?this.emitBlockWithReturns(l):this.emit(l,"statement"),f.length>=2&&Array.isArray(f[1])&&f[1].length===2&&f[1][0]!=="block"){let[u,t]=f[1];if(i+=" catch",u&&(this.is(u,"object")||this.is(u,"array"))){i+=" (error)";let c=`(${this.emit(u,"value")} = error)`;t=this.is(t,"block")?["block",c,...t.slice(1)]:["block",c,t]}else if(u)i+=` (${u})`;i+=" "+(a&&this.is(t,"block")?this.emitBlockWithReturns(t):this.emit(t,"statement"))}else if(f.length===2)i+=" finally "+this.emit(f[1],"statement");if(f.length===3)i+=" finally "+this.emit(f[2],"statement");if(f.length===1)i+=" catch {}";if(a){let u=this.containsAwait(f[0])||f[1]&&this.containsAwait(f[1])||f[2]&&this.containsAwait(f[2]);return this.asyncIIFE(u,i)}return i}emitThrow(n,f,e){let[a]=f;if(Array.isArray(a)){let l=a,u=null;if(a[0]==="new"&&Array.isArray(a[1])&&a[1][0]==="if")u="new",l=a[1];else if(a[0]==="if")l=a;if(l[0]==="if"){let[,t,c]=l,r=Array.isArray(c)&&c.length===1?c[0]:c;a=u==="new"?["new",r]:r;let h=this.emit(t,"value"),o=`throw ${this.emit(a,"value")}`;return`if (${h}) {
2471
2487
  ${this.indent()} ${o};
2472
- ${this.indent()}}`}}let i=`throw ${this.emit(t,"value")}`;return e==="value"?`(() => { ${i}; })()`:i}emitControl(n,f,e){let[t,i,u]=f,l=j(t),a=u[0]==="return",c=this.emit(i,"value"),r=u.length>1?u[1]:null,h=a?r?`return ${this.emit(r,"value")}`:"return":r?`throw ${this.emit(r,"value")}`:"throw new Error()",o=this.wrapForCondition(c);if(e==="value"){if(l==="??")return`(() => { const __v = ${c}; if (__v == null) ${h}; return __v; })()`;if(l==="||")return`(() => { const __v = ${c}; if (!__v) ${h}; return __v; })()`;return`(() => { const __v = ${c}; if (__v) ${h}; return __v; })()`}if(l==="??")return`if (${o} == null) ${h}`;if(l==="||")return`if (!${o}) ${h}`;return`if (${o}) ${h}`}emitSwitch(n,f,e){let[t,i,u]=f;if(t===null)return this.emitSwitchAsIfChain(i,u,e);let l=`switch (${this.emit(t,"value")}) {
2473
- `;this.indentLevel++;for(let a of i){let[,c,r]=a;for(let h of c){let o=j(h)??h,s;if(Array.isArray(o))s=this.emit(o,"value");else if(typeof o==="string"&&(o.startsWith('"')||o.startsWith("'")))s=`'${o.slice(1,-1)}'`;else s=this.emit(o,"value");l+=this.indent()+`case ${s}:
2474
- `}this.indentLevel++,l+=this.emitSwitchCaseBody(r,e),this.indentLevel--}if(u)l+=this.indent()+`default:
2475
- `,this.indentLevel++,l+=this.emitSwitchCaseBody(u,e),this.indentLevel--;if(this.indentLevel--,l+=this.indent()+"}",e==="value"){let a=this.containsAwait(t)||i.some((c)=>this.containsAwait(c[1])||this.containsAwait(c[2]))||u&&this.containsAwait(u);return this.asyncIIFE(a,l)}return l}emitWhen(n,f,e,t){this.error("when clause should be handled by switch",t)}_forInHeader(n,f,e){let t=Array.isArray(n)?n:[n],i=t.length===0,[u,l]=i?["_i",null]:t,a=this.is(u,"array")||this.is(u,"object")?this.emitDestructuringPattern(u):u;if(e&&e!==null){let c=Array.isArray(f)&&f[0];if(c instanceof String)c=j(c);if(c===".."||c==="..."){let U=c==="...",[m,D]=f.slice(1),M=this.emit(m,"value"),q=this.emit(D,"value"),S=this.emit(e,"value");return{header:`for (let ${a} = ${M}; ${a} ${U?"<":"<="} ${q}; ${a} += ${S})`,setup:null}}let h=this.emit(f,"value"),o=l||"_i",s=this.emit(e,"value"),w=this.is(e,"-",1),_=w&&(e[1]==="1"||e[1]===1||j(e[1])==="1"),A=!w&&(e==="1"||e===1||j(e)==="1"),y=_?`${o}--`:A?`${o}++`:`${o} += ${s}`;return{header:w?`for (let ${o} = ${h}.length - 1; ${o} >= 0; ${y})`:`for (let ${o} = 0; ${o} < ${h}.length; ${y})`,setup:i?null:`let ${a} = ${h}[${o}];`}}if(l){let c=this.emit(f,"value");return{header:`for (let ${l} = 0; ${l} < ${c}.length; ${l}++)`,setup:`let ${a} = ${c}[${l}];`}}return{header:`for (let ${a} of ${this.emit(f,"value")})`,setup:null}}_forOfHeader(n,f,e){let t=Array.isArray(n)?n:[n],[i,u]=t,l=this.is(i,"array")||this.is(i,"object")?this.emitDestructuringPattern(i):i,a=this.emit(f,"value");return{header:`for (let ${l} in ${a})`,own:e,vv:u,oc:a,kvp:l}}_forAsHeader(n,f,e){let t=Array.isArray(n)?n:[n],[i]=t,u=this.is(i,"array")||this.is(i,"object")?this.emitDestructuringPattern(i):i;return{header:`for ${e?"await ":""}(let ${u} of ${this.emit(f,"value")})`}}emitComprehension(n,f,e){let[t,i,u]=f;if(e==="statement")return this.emitComprehensionAsLoop(t,i,u);if(this.comprehensionTarget){let h=this.comprehensionTarget;this.comprehensionTarget=null;try{return this.emitComprehensionWithTarget(t,i,u,h)}finally{this.comprehensionTarget=h}}let l=this.containsAwait(t)||i.some((h)=>this.containsAwait(h))||u.some((h)=>this.containsAwait(h)),a=this.asyncIIFEOpen(l)+`
2476
- `;this.indentLevel++,this.comprehensionDepth++,a+=this.indent()+`const result = [];
2477
- `;for(let h of i){let[o,s,w,_]=h;if(o==="for-in"){let{header:A,setup:y}=this._forInHeader(s,w,_);if(a+=this.indent()+A+` {
2478
- `,this.indentLevel++,y)a+=this.indent()+y+`
2479
- `}else if(o==="for-of"){let{header:A,own:y,vv:R,oc:U,kvp:m}=this._forOfHeader(s,w,_);if(a+=this.indent()+A+` {
2480
- `,this.indentLevel++,y)a+=this.indent()+`if (!Object.hasOwn(${U}, ${m})) continue;
2481
- `;if(R)a+=this.indent()+`let ${R} = ${U}[${m}];
2482
- `}else if(o==="for-as"){let{header:A}=this._forAsHeader(s,w,h[3]);a+=this.indent()+A+` {
2483
- `,this.indentLevel++}}for(let h of u)a+=this.indent()+`if (${this.emit(h,"value")}) {
2484
- `,this.indentLevel++;let c=(h)=>{if(typeof h==="string"&&(h==="break"||h==="continue"))return!0;if(!Array.isArray(h))return!1;if(["break","continue","return","throw"].includes(h[0]))return!0;if(h[0]==="if")return h.slice(1).some(c);return h.some(c)},r=["for-in","for-of","for-as","while","loop"];if(this.is(t,"block"))for(let h=0;h<t.length-1;h++){let o=t[h+1];if(h!==t.length-2||c(o))a+=this.indent()+this.emit(o,"statement")+`;
2485
- `;else if(Array.isArray(o)&&r.includes(o[0]))a+=this.indent()+this.emit(o,"statement")+`;
2486
- `;else a+=this.indent()+`result.push(${this.emit(o,"value")});
2487
- `}else if(c(t))a+=this.indent()+this.emit(t,"statement")+`;
2488
- `;else if(Array.isArray(t)&&r.includes(t[0]))a+=this.indent()+this.emit(t,"statement")+`;
2489
- `;else a+=this.indent()+`result.push(${this.emit(t,"value")});
2490
- `;for(let h=0;h<u.length;h++)this.indentLevel--,a+=this.indent()+`}
2491
- `;for(let h=0;h<i.length;h++)this.indentLevel--,a+=this.indent()+`}
2492
- `;return a+=this.indent()+`return result;
2493
- `,this.indentLevel--,this.comprehensionDepth--,a+=this.indent()+"})()",a}emitObjectComprehension(n,f,e){let[t,i,u,l]=f,a=this.containsAwait(t)||this.containsAwait(i)||u.some((r)=>this.containsAwait(r))||l.some((r)=>this.containsAwait(r)),c=this.asyncIIFEOpen(a)+`
2488
+ ${this.indent()}}`}}let i=`throw ${this.emit(a,"value")}`;return e==="value"?`(() => { ${i}; })()`:i}emitControl(n,f,e){let[a,i,l]=f,u=p(a),t=l[0]==="return",c=this.emit(i,"value"),r=l.length>1?l[1]:null,h=t?r?`return ${this.emit(r,"value")}`:"return":r?`throw ${this.emit(r,"value")}`:"throw new Error()",o=this.wrapForCondition(c);if(e==="value"){if(u==="??")return`(() => { const __v = ${c}; if (__v == null) ${h}; return __v; })()`;if(u==="||")return`(() => { const __v = ${c}; if (!__v) ${h}; return __v; })()`;return`(() => { const __v = ${c}; if (__v) ${h}; return __v; })()`}if(u==="??")return`if (${o} == null) ${h}`;if(u==="||")return`if (!${o}) ${h}`;return`if (${o}) ${h}`}emitSwitch(n,f,e){let[a,i,l]=f;if(a===null)return this.emitSwitchAsIfChain(i,l,e);let u=`switch (${this.emit(a,"value")}) {
2489
+ `;this.indentLevel++;for(let t of i){let[,c,r]=t;for(let h of c){let o=p(h)??h,s;if(Array.isArray(o))s=this.emit(o,"value");else if(typeof o==="string"&&(o.startsWith('"')||o.startsWith("'")))s=`'${o.slice(1,-1)}'`;else s=this.emit(o,"value");u+=this.indent()+`case ${s}:
2490
+ `}this.indentLevel++,u+=this.emitSwitchCaseBody(r,e),this.indentLevel--}if(l)u+=this.indent()+`default:
2491
+ `,this.indentLevel++,u+=this.emitSwitchCaseBody(l,e),this.indentLevel--;if(this.indentLevel--,u+=this.indent()+"}",e==="value"){let t=this.containsAwait(a)||i.some((c)=>this.containsAwait(c[1])||this.containsAwait(c[2]))||l&&this.containsAwait(l);return this.asyncIIFE(t,u)}return u}emitWhen(n,f,e,a){this.error("when clause should be handled by switch",a)}_forInHeader(n,f,e){let a=Array.isArray(n)?n:[n],i=a.length===0,[l,u]=i?["_i",null]:a,t=this.is(l,"array")||this.is(l,"object")?this.emitDestructuringPattern(l):l;if(e&&e!==null){let c=Array.isArray(f)&&f[0];if(c instanceof String)c=p(c);if(c===".."||c==="..."){let U=c==="...",[R,A]=f.slice(1),E=this.emit(R,"value"),M=this.emit(A,"value"),q=this.emit(e,"value");return{header:`for (let ${t} = ${E}; ${t} ${U?"<":"<="} ${M}; ${t} += ${q})`,setup:null}}let h=this.emit(f,"value"),o=u||"_i",s=this.emit(e,"value"),w=this.is(e,"-",1),_=w&&(e[1]==="1"||e[1]===1||p(e[1])==="1"),y=!w&&(e==="1"||e===1||p(e)==="1"),m=_?`${o}--`:y?`${o}++`:`${o} += ${s}`;return{header:w?`for (let ${o} = ${h}.length - 1; ${o} >= 0; ${m})`:`for (let ${o} = 0; ${o} < ${h}.length; ${m})`,setup:i?null:`let ${t} = ${h}[${o}];`}}if(u){let c=this.emit(f,"value");return{header:`for (let ${u} = 0; ${u} < ${c}.length; ${u}++)`,setup:`let ${t} = ${c}[${u}];`}}return{header:`for (let ${t} of ${this.emit(f,"value")})`,setup:null}}_forOfHeader(n,f,e){let a=Array.isArray(n)?n:[n],[i,l]=a,u=this.is(i,"array")||this.is(i,"object")?this.emitDestructuringPattern(i):i,t=this.emit(f,"value");return{header:`for (let ${u} in ${t})`,own:e,vv:l,oc:t,kvp:u}}_forAsHeader(n,f,e){let a=Array.isArray(n)?n:[n],[i]=a,l=this.is(i,"array")||this.is(i,"object")?this.emitDestructuringPattern(i):i;return{header:`for ${e?"await ":""}(let ${l} of ${this.emit(f,"value")})`}}emitComprehension(n,f,e){let[a,i,l]=f;if(e==="statement")return this.emitComprehensionAsLoop(a,i,l);if(this.comprehensionTarget){let h=this.comprehensionTarget;this.comprehensionTarget=null;try{return this.emitComprehensionWithTarget(a,i,l,h)}finally{this.comprehensionTarget=h}}let u=this.containsAwait(a)||i.some((h)=>this.containsAwait(h))||l.some((h)=>this.containsAwait(h)),t=this.asyncIIFEOpen(u)+`
2492
+ `;this.indentLevel++,this.comprehensionDepth++,t+=this.indent()+`const result = [];
2493
+ `;for(let h of i){let[o,s,w,_]=h;if(o==="for-in"){let{header:y,setup:m}=this._forInHeader(s,w,_);if(t+=this.indent()+y+` {
2494
+ `,this.indentLevel++,m)t+=this.indent()+m+`
2495
+ `}else if(o==="for-of"){let{header:y,own:m,vv:D,oc:U,kvp:R}=this._forOfHeader(s,w,_);if(t+=this.indent()+y+` {
2496
+ `,this.indentLevel++,m)t+=this.indent()+`if (!Object.hasOwn(${U}, ${R})) continue;
2497
+ `;if(D)t+=this.indent()+`let ${D} = ${U}[${R}];
2498
+ `}else if(o==="for-as"){let{header:y}=this._forAsHeader(s,w,h[3]);t+=this.indent()+y+` {
2499
+ `,this.indentLevel++}}for(let h of l)t+=this.indent()+`if (${this.emit(h,"value")}) {
2500
+ `,this.indentLevel++;let c=(h)=>{if(typeof h==="string"&&(h==="break"||h==="continue"))return!0;if(!Array.isArray(h))return!1;if(["break","continue","return","throw"].includes(h[0]))return!0;if(h[0]==="if")return h.slice(1).some(c);return h.some(c)},r=["for-in","for-of","for-as","while","loop"];if(this.is(a,"block"))for(let h=0;h<a.length-1;h++){let o=a[h+1];if(h!==a.length-2||c(o))t+=this.indent()+this.emit(o,"statement")+`;
2501
+ `;else if(Array.isArray(o)&&r.includes(o[0]))t+=this.indent()+this.emit(o,"statement")+`;
2502
+ `;else t+=this.indent()+`result.push(${this.emit(o,"value")});
2503
+ `}else if(c(a))t+=this.indent()+this.emit(a,"statement")+`;
2504
+ `;else if(Array.isArray(a)&&r.includes(a[0]))t+=this.indent()+this.emit(a,"statement")+`;
2505
+ `;else t+=this.indent()+`result.push(${this.emit(a,"value")});
2506
+ `;for(let h=0;h<l.length;h++)this.indentLevel--,t+=this.indent()+`}
2507
+ `;for(let h=0;h<i.length;h++)this.indentLevel--,t+=this.indent()+`}
2508
+ `;return t+=this.indent()+`return result;
2509
+ `,this.indentLevel--,this.comprehensionDepth--,t+=this.indent()+"})()",t}emitObjectComprehension(n,f,e){let[a,i,l,u]=f,t=this.containsAwait(a)||this.containsAwait(i)||l.some((r)=>this.containsAwait(r))||u.some((r)=>this.containsAwait(r)),c=this.asyncIIFEOpen(t)+`
2494
2510
  `;this.indentLevel++,c+=this.indent()+`const result = {};
2495
- `;for(let r of u){let[h,o,s,w]=r;if(h==="for-of"){let[_,A]=o,y=this.emit(s,"value");if(c+=this.indent()+`for (let ${_} in ${y}) {
2496
- `,this.indentLevel++,w)c+=this.indent()+`if (!Object.hasOwn(${y}, ${_})) continue;
2497
- `;if(A)c+=this.indent()+`let ${A} = ${y}[${_}];
2498
- `}}for(let r of l)c+=this.indent()+`if (${this.emit(r,"value")}) {
2499
- `,this.indentLevel++;c+=this.indent()+`result[${this.emit(t,"value")}] = ${this.emit(i,"value")};
2500
- `;for(let r=0;r<l.length;r++)this.indentLevel--,c+=this.indent()+`}
2511
+ `;for(let r of l){let[h,o,s,w]=r;if(h==="for-of"){let[_,y]=o,m=this.emit(s,"value");if(c+=this.indent()+`for (let ${_} in ${m}) {
2512
+ `,this.indentLevel++,w)c+=this.indent()+`if (!Object.hasOwn(${m}, ${_})) continue;
2513
+ `;if(y)c+=this.indent()+`let ${y} = ${m}[${_}];
2514
+ `}}for(let r of u)c+=this.indent()+`if (${this.emit(r,"value")}) {
2515
+ `,this.indentLevel++;c+=this.indent()+`result[${this.emit(a,"value")}] = ${this.emit(i,"value")};
2501
2516
  `;for(let r=0;r<u.length;r++)this.indentLevel--,c+=this.indent()+`}
2517
+ `;for(let r=0;r<l.length;r++)this.indentLevel--,c+=this.indent()+`}
2502
2518
  `;return c+=this.indent()+`return result;
2503
- `,this.indentLevel--,c+=this.indent()+"})()",c}emitClass(n,f,e){let[t,i,...u]=f,l=t?`class ${t}`:"class";if(i)l+=` extends ${this.emit(i,"value")}`;if(l+=` {
2504
- `,u.length>0&&Array.isArray(u[0])){let a=u[0];if(a[0]==="block"){let c=a.slice(1);if(c.length>0&&Array.isArray(c[0])&&c[0][0]==="object"){let h=c[0].slice(1);this.indentLevel++,l+=this._emitClassMembers(h,i);for(let o of c.slice(1))if(this.is(o,"class")){let[,s,w,..._]=o;if(this.is(s,".")&&s[1]==="this")l+=this.indent()+`static ${s[2]} = ${this.emit(["class",null,w,..._],"value")};
2505
- `;else l+=this.indent()+this.emit(o,"statement")+`;
2506
- `}else l+=this.indent()+this.emit(o,"statement")+`;
2507
- `;this.indentLevel--}else{this.indentLevel++;for(let h of c)if(this.is(h,"=")&&Array.isArray(h[1])&&h[1][0]==="."&&h[1][1]==="this")l+=this.indent()+`static ${h[1][2]} = ${this.emit(h[2],"value")};
2508
- `;else l+=this.indent()+this.emit(h,"statement")+`;
2509
- `;this.indentLevel--}}}return l+=this.indent()+"}",l}_emitClassMembers(n,f){let e="",t=[];for(let[,i,u]of n){let l=this.is(i,".")&&i[1]==="this",a=this.is(i,"computed"),c=this.extractMemberName(i);if(this.is(u,"=>")&&!l&&!a&&c!=="constructor")t.push(c)}for(let[,i,u]of n){let l=this.is(i,".")&&i[1]==="this",a=this.is(i,"computed"),c=this.extractMemberName(i);if(this.is(u,"->")||this.is(u,"=>")){let[,r,h]=u,o=this.containsAwait(h),s=this.containsYield(h),w=r,_=[];if(c==="constructor"){let R=!!f,U=R?new Map:null;w=r.map((m)=>{if(this.is(m,".")&&m[1]==="this"){let D=j(m[2]),M=R?`_${D}`:D;if(_.push(`this.${D} = ${M}`),R)U.set(D,M);return M}if(this.is(m,"default")&&this.is(m[1],".")&&m[1][1]==="this"){let D=j(m[1][2]),M=R?`_${D}`:D;if(_.push(`this.${D} = ${M}`),R)U.set(D,M);return["default",M,m[2]]}return m});for(let m of t)_.unshift(`this.${m} = this.${m}.bind(this)`);if(U?.size>0)this._atParamMap=U}let A=this.emitParamList(w),y=(l?"static ":"")+(o?"async ":"")+(s?"*":"");if(e+=this.indent()+`${y}${c}(${A}) `,!a)this.currentMethodName=c;e+=this.emitMethodBody(h,_,c==="constructor",w),this._atParamMap=null,this.currentMethodName=null,e+=`
2510
- `}else if(l)e+=this.indent()+`static ${c} = ${this.emit(u,"value")};
2511
- `;else e+=this.indent()+`${c} = ${this.emit(u,"value")};
2512
- `}return e}emitSuper(n,f){if(f.length===0){if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}()`;return"super"}let e=f.map((t)=>this.unwrap(this.emit(t,"value"))).join(", ");if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${e})`;return`super(${e})`}emitImport(n,f,e,t){if(f.length===1){let a=`import(${this.emit(f[0],"value")})`;if(qn(t[0],"bang")===!0)return`(await ${a})`;return a}if(this.options.skipImports)return"";if(f.length===3){let[a,c,r]=f,h=this.addJsExtensionAndAssertions(r);if(c[0]==="*"&&c.length===2)return`import ${a}, * as ${c[1]} from ${h}`;let o=c.map((s)=>Array.isArray(s)&&s.length===2?`${s[0]} as ${s[1]}`:s).join(", ");return this._attachImportSpecifierAnchors(t,[a,...c.flatMap((s)=>Array.isArray(s)?s:[s])]),`import ${a}, { ${o} } from ${h}`}let[i,u]=f,l=this.addJsExtensionAndAssertions(u);if(typeof i==="string")return`import ${i} from ${l}`;if(Array.isArray(i)){if(i[0]==="*"&&i.length===2)return`import * as ${i[1]} from ${l}`;let a=i.map((c)=>Array.isArray(c)&&c.length===2?`${c[0]} as ${c[1]}`:c).join(", ");return this._attachImportSpecifierAnchors(t,i.flatMap((c)=>Array.isArray(c)?c:[c])),`import { ${a} } from ${l}`}return`import ${this.emit(i,"value")} from ${l}`}_attachImportSpecifierAnchors(n,f){if(!n||!n.loc)return;let e=this.options&&this.options.source;if(!e||!f||!f.length)return;let t=this._sourceLinesCache||(this._sourceLinesCache=e.split(`
2513
- `)),i=n.loc.r,u=n.loc.c,l=[];for(let a of f){if(typeof a!=="string"||!/^[A-Za-z_$][\w$]*$/.test(a))continue;let c=new RegExp("\\b"+a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\b"),r=!1;while(i<t.length){let o=(t[i]||"").replace(/#.*$/,"");c.lastIndex=0;let s=o.slice(u),w=c.exec(s);if(w){let _=u+w.index;l.push({name:a,origLine:i,origCol:_}),u=_+a.length,r=!0;break}i++,u=0}if(!r)break}if(l.length)n._anchors=(n._anchors||[]).concat(l)}applyVoidMarker(n,f,e){let t=this.is(f,"->")||this.is(f,"=>")||this.is(f,"def");if(n instanceof String&&qn(n,"bang")!==void 0&&!t){let i=qn(n,"bang")===!0?"!":"&";this.error(`Cannot use ${i} sigil in variable declaration '${j(n)}'`,e)}if(n instanceof String&&qn(n,"bang")===!0&&t)f.isVoid=!0}emitExport(n,f){let[e]=f;if(this.options.skipExports){if(this.is(e,"=")){let t=this._componentName,i=this._componentTypeParams,u=this._schemaName;if(this.is(e[2],"component"))this._componentName=j(e[1]),this._componentTypeParams=e[1]?.typeParams||"";if(this.is(e[2],"schema"))this._schemaName=j(e[1]);this.applyVoidMarker(e[1],e[2],e);let l=`const ${e[1]} = ${this.emit(e[2],"value")}`;return this._componentName=t,this._componentTypeParams=i,this._schemaName=u,l}if(Array.isArray(e)&&e.every((t)=>typeof t==="string"))return"";return this.emit(e,"statement")}if(this.is(e,"=")){let t=this._componentName,i=this._componentTypeParams,u=this._schemaName;if(this.is(e[2],"component"))this._componentName=j(e[1]),this._componentTypeParams=e[1]?.typeParams||"";if(this.is(e[2],"schema"))this._schemaName=j(e[1]);this.applyVoidMarker(e[1],e[2],e);let l=`export const ${e[1]} = ${this.emit(e[2],"value")}`;return this._componentName=t,this._componentTypeParams=i,this._schemaName=u,l}if(Array.isArray(e)&&e.every((t)=>typeof t==="string"))return`export { ${e.join(", ")} }`;return`export ${this.emit(e,"statement")}`}emitExportDefault(n,f){let[e]=f;if(this.options.skipExports){if(this.is(e,"="))return this.applyVoidMarker(e[1],e[2],e),`const ${e[1]} = ${this.emit(e[2],"value")}`;return this.emit(e,"statement")}if(this.is(e,"="))return this.applyVoidMarker(e[1],e[2],e),`const ${e[1]} = ${this.emit(e[2],"value")};
2514
- export default ${e[1]}`;return`export default ${this.emit(e,"statement")}`}emitExportAll(n,f){if(this.options.skipExports)return"";return`export * from ${this.addJsExtensionAndAssertions(f[0])}`}emitExportFrom(n,f){if(this.options.skipExports)return"";let[e,t]=f,i=this.addJsExtensionAndAssertions(t);if(Array.isArray(e))return`export { ${e.map((l)=>Array.isArray(l)&&l.length===2?`${l[0]} as ${l[1]}`:l).join(", ")} } from ${i}`;return`export ${e} from ${i}`}emitDoIIFE(n,f){return`(${this.emit(f[0],"statement")})()`}emitRegex(n,f){return f.length===0?n:this.emit(f[0],"value")}emitTaggedTemplate(n,f){let[e,t]=f,i=this.emit(e,"value"),u=this.emit(t,"value");if(u.startsWith("`"))return`${i}${u}`;if(u.startsWith('"')||u.startsWith("'"))return`${i}\`${u.slice(1,-1)}\``;return`${i}\`${u}\``}escapeTemplateText(n){return n.replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}emitString(n,f){let e="`";for(let t of f)if(t instanceof String)e+=this.escapeTemplateText(this.extractStringContent(t));else if(typeof t==="string")if(t.startsWith('"')||t.startsWith("'")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive in str:",t);e+=this.escapeTemplateText(t.slice(1,-1))}else e+=this.escapeTemplateText(t);else if(Array.isArray(t))if(t.length===1&&typeof t[0]==="string"&&!Array.isArray(t[0])){let i=t[0];e+=/^[\d"']/.test(i)?"${"+this.emit(i,"value")+"}":"${"+i+"}"}else{let i=t.length===1&&Array.isArray(t[0])?t[0]:t;e+="${"+this.emit(i,"value")+"}"}return e+"`"}findPostfixConditional(n){if(!Array.isArray(n))return null;let f=n[0];if(f==="if"&&n.length===3)return{type:f,condition:n[1],value:n[2]};if(f==="+"||f==="-"||f==="*"||f==="/")for(let e=1;e<n.length;e++){let t=this.findPostfixConditional(n[e]);if(t)return t.parentOp=f,t.operandIndex=e,t.otherOperands=n.slice(1).filter((i,u)=>u!==e-1),t}return null}rebuildWithoutConditional(n){let f=Array.isArray(n.value)&&n.value.length===1?n.value[0]:n.value;if(n.parentOp)return[n.parentOp,...n.otherOperands,f];return f}_tryPostfixCall(n,f,e){if(e!=="statement"||f.length!==1)return null;let t=this.findPostfixConditional(f[0]);if(!t)return null;let i=this.rebuildWithoutConditional(t),u=this.emit(n,"value"),l=this.emit(t.condition,"value"),a=this.emit(i,"value");return`if (${l}) ${u}(${a})`}_emitArgs(n){return n.map((f)=>this.unwrap(this.emit(f,"value"))).join(", ")}emitDestructuringPattern(n){return this.formatParam(n)}emitParamList(n){let f=n.findIndex((t)=>this.is(t,"expansion"));if(f!==-1){let t=n.slice(0,f),i=n.slice(f+1),u=t.map((l)=>this.formatParam(l)).join(", ");return this.expansionAfterParams=i,u?`${u}, ..._rest`:"..._rest"}let e=n.findIndex((t)=>this.is(t,"rest"));if(e!==-1&&e<n.length-1){let t=n.slice(0,e),i=n[e],u=n.slice(e+1),l=t.map((a)=>this.formatParam(a));return this.restMiddleParam={restName:i[1],afterParams:u,beforeCount:t.length},l.length>0?`${l.join(", ")}, ...${i[1]}`:`...${i[1]}`}return this.expansionAfterParams=null,this.restMiddleParam=null,n.map((t)=>this.formatParam(t)).join(", ")}destructuredType(n){if(this.is(n,"object")){let f=[],e=!1;for(let t of n.slice(1)){if(this.is(t,"...")){f.push("[key: string]: unknown");continue}let[i,u,l]=t,a=j(u);if(i==="="){let r=u instanceof String?u.type:null;if(r)e=!0;f.push(`${a}?: ${r?wi(r):"any"}`);continue}if(this.is(l,"object")||this.is(l,"array")){let r=this.destructuredType(l);if(r.hasType)e=!0;f.push(`${a}: ${r.type}`);continue}let c=l instanceof String&&l.type||u instanceof String&&u.type||null;if(c)e=!0;f.push(`${a}: ${c?wi(c):"any"}`)}return{type:`{${f.join(", ")}}`,hasType:e}}if(this.is(n,"array")){let f=[],e=!1;for(let t of n.slice(1)){if(t===","||t==="...")continue;if(this.is(t,"...")){f.push("...any[]");continue}let i=this.is(t,"=")?t[1]:t,u=i instanceof String?i.type:null;if(u)e=!0;f.push(u?wi(u):"any")}return{type:`[${f.join(", ")}]`,hasType:e}}return{type:"any",hasType:!1}}formatParam(n){if(typeof n==="string")return n;if(n instanceof String){if(this.options.inlineTypes)return Kf({name:n.valueOf(),ripType:n.type,optional:!!qn(n,"optional"),hasDefault:!1},"implementation");return n.valueOf()}if(this.is(n,"rest")){let f=n[1];if(this.options.inlineTypes&&f instanceof String&&f.type)return`...${f.valueOf()}: ${f.type.replace(/::/g,":")}`;return`...${f}`}if(this.is(n,"default"))return`${this.formatParam(n[1])} = ${this.emit(n[2],"value")}`;if(this.is(n,".")&&n[1]==="this")return n[2];if((this.is(n,"object")||this.is(n,"array"))&&this.options.inlineTypes){let{type:f,hasType:e}=this.destructuredType(n),t=this.options.inlineTypes;this.options.inlineTypes=!1;let i;try{i=this.formatParam(n)}finally{this.options.inlineTypes=t}return e?`${i}: ${f}`:i}if(this.is(n,"array"))return`[${n.slice(1).map((e)=>{if(e===",")return"";if(e==="...")return"";if(this.is(e,"..."))return`...${e[1]}`;if(this.is(e,"=")&&typeof e[1]==="string")return`${e[1]} = ${this.emit(e[2],"value")}`;if(typeof e==="string")return e;return this.formatParam(e)}).join(", ")}]`;if(this.is(n,"object"))return`{${n.slice(1).map((e)=>{if(this.is(e,"..."))return`...${e[1]}`;if(this.is(e,"default"))return`${e[1]} = ${this.emit(e[2],"value")}`;let[t,i,u]=e;if(t==="=")return`${i} = ${this.emit(u,"value")}`;if(i===u)return i;return`${i}: ${this.formatParam(u)}`}).join(", ")}}`;return JSON.stringify(n)}emitBodyWithReturns(n,f=[],e={}){let{sideEffectOnly:t=!1,autoAssignments:i=[],isConstructor:u=!1,hasExpansionParams:l=!1}=e,a=this.sideEffectOnly;this.sideEffectOnly=t;let c=new Set,r=(A)=>{if(typeof A==="string"||A instanceof String)c.add(j(A));else if(Array.isArray(A)){if(A[0]==="rest"||A[0]==="..."){if(typeof A[1]==="string"||A[1]instanceof String)c.add(j(A[1]))}else if(A[0]==="default"){if(typeof A[1]==="string"||A[1]instanceof String)c.add(j(A[1]))}else if(A[0]==="array"||A[0]==="object")this.collectVarsFromArray(A,c)}};if(Array.isArray(f))f.forEach(r);let h=this.collectFunctionVariables(n),o=new Set([...h].filter((A)=>!this.programVars.has(A)&&!this.reactiveVars?.has(A)&&!c.has(A)&&!this.scopeStack.some((y)=>y.has(A)))),s=["return","throw","break","continue"],w=["for-in","for-of","for-as","while","loop"];if(this.scopeStack.push(new Set([...o,...c])),this.is(n,"block")){let A=this.unwrapBlock(n);if(l&&this.expansionAfterParams?.length>0)A=[...this.expansionAfterParams.map((D,M)=>{return`const ${typeof D==="string"?D:JSON.stringify(D)} = _rest[_rest.length - ${this.expansionAfterParams.length-M}]`}),...A],this.expansionAfterParams=null;if(this.restMiddleParam){let{restName:m,afterParams:D}=this.restMiddleParam,M=D.length,q=[];if(D.forEach((S,d)=>{let K=typeof S==="string"?S:this.is(S,"default")?S[1]:JSON.stringify(S);q.push(`const ${K} = ${m}[${m}.length - ${M-d}]`)}),M>0)q.push(`${m} = ${m}.slice(0, -${M})`);A=[...q,...A],this.restMiddleParam=null}this.indentLevel++;let y=`{
2515
- `;if(o.size>0){let m=this.options.inlineTypes?this.collectTypedLocals(n):null,D=Array.from(o).sort().map((M)=>{let q=m?.get(M);return q?`${M}: ${q}`:M});y+=this.indent()+`let ${D.join(", ")};
2516
- `}let R=i.length>0&&A.length>0&&Array.isArray(A[0])&&A[0][0]==="super",U=(m,D=null)=>{m.forEach((M,q)=>{let S=q===m.length-1,d=Array.isArray(M)?M[0]:null,K=D!=null&&n.subLocs?n.subLocs[D+q]:null;if(!S&&d==="comprehension"){let[,W,C,L]=M;y+=this.indent()+this.emitComprehensionAsLoop(W,C,L)+`
2517
- `;return}if(!u&&!t&&S&&d==="if"){let[W,C,...L]=M.slice(1),b=(Y)=>this.is(Y,"block")&&Y.length>2;if(this.hasStatementInBranch(C)||L.some((Y)=>this.hasStatementInBranch(Y))||b(C)||L.some(b)){y+=this.emitIfElseWithEarlyReturns(M)+`
2518
- `;return}}if(!u&&!t&&S&&d==="="){let[W,C]=M.slice(1);if(typeof W==="string"&&Array.isArray(C)){let L=C[0];if(L==="comprehension"||L==="for-in"){this.comprehensionTarget=W,y+=this.emit(C,"value"),this.comprehensionTarget=null,y+=this.indent()+`return ${W};
2519
- `;return}}}if(!u&&!t&&S&&w.includes(d)){if(this.containsYield(M)){y+=this.indent()+this.addSemicolon(M,this.emit(M,"statement"))+`
2520
- `;return}if(!(d==="for-in"||d==="for-of"||d==="for-as")){y+=this.indent()+this.addSemicolon(M,this.emit(M,"statement"))+`
2521
- `;return}y+=this.indent()+`const _result = [];
2522
- `,this.comprehensionTarget="_result";let C=this._skipCompTargetInit;this._skipCompTargetInit=!0,y+=this.emit(M,"value"),this._skipCompTargetInit=C,this.comprehensionTarget=null,y+=this.indent()+`return _result;
2523
- `;return}let E=!u&&!t&&S&&!s.includes(d)&&!this.hasExplicitControlFlow(M),Z=E?"value":"statement",Q=this.emit(M,Z);if(E)y+=this.indent()+"return "+this.markIdent(Q,M,K)+`;
2524
- `;else y+=this.indent()+this.addSemicolon(M,Q)+`
2525
- `})};if(R){if(A.length===1&&!u)y+=this.indent()+"return "+this.emit(A[0],"value")+`;
2526
- `;else y+=this.indent()+this.emit(A[0],"statement")+`;
2527
- `;for(let D of i)y+=this.indent()+D+`;
2528
- `;U(A.slice(1))}else{for(let D of i)y+=this.indent()+D+`;
2529
- `;let m=this.is(n,"block")&&n.subLocs&&A.length===n.length-1?1:null;U(A,m)}if(t&&A.length>0){let m=Array.isArray(A[A.length-1])?A[A.length-1][0]:null;if(!s.includes(m))y+=this.indent()+`return;
2530
- `}return this.indentLevel--,y+=this.indent()+"}",this.scopeStack.pop(),this.sideEffectOnly=a,y}this.sideEffectOnly=a;let _;if(u&&i.length>0){let A=Array.isArray(n)&&n[0]==="super",y=this.emit(n,"statement"),R=i.map((U)=>`${U};`).join(" ");_=A?`{ ${y}; ${R} }`:`{ ${R} ${y}; }`}else if(u||this.hasExplicitControlFlow(n))_=`{ ${this.emit(n,"statement")}; }`;else if(Array.isArray(n)&&(s.includes(n[0])||w.includes(n[0])))_=`{ ${this.emit(n,"statement")}; }`;else if(t)_=`{ ${this.emit(n,"statement")}; return; }`;else _=`{ return ${this.emit(n,"value")}; }`;return this.scopeStack.pop(),_}emitFunctionBody(n,f=[],e=!1){return this.emitBodyWithReturns(n,f,{sideEffectOnly:e,hasExpansionParams:this.expansionAfterParams?.length>0})}emitMethodBody(n,f=[],e=!1,t=[]){return this.emitBodyWithReturns(n,t,{autoAssignments:f,isConstructor:e})}emitBlockWithReturns(n){if(!Array.isArray(n)||n[0]!=="block")return this.emit(n,"statement");let f=this.unwrapBlock(n);return`{
2531
- ${this.withIndent(()=>f.map((t,i)=>{let u=i===f.length-1,l=Array.isArray(t)?t[0]:null,a=u&&!["return","throw","break","continue"].includes(l),c=this.emit(t,a?"value":"statement");return a?this.indent()+"return "+c+";":this.indent()+c+";"})).join(`
2519
+ `,this.indentLevel--,c+=this.indent()+"})()",c}emitClass(n,f,e){let[a,i,...l]=f,u=a?`class ${a}`:"class";if(i)u+=` extends ${this.emit(i,"value")}`;if(u+=` {
2520
+ `,l.length>0&&Array.isArray(l[0])){let t=l[0];if(t[0]==="block"){let c=t.slice(1);if(c.length>0&&Array.isArray(c[0])&&c[0][0]==="object"){let h=c[0].slice(1);this.indentLevel++,u+=this._emitClassMembers(h,i);for(let o of c.slice(1))if(this.is(o,"class")){let[,s,w,..._]=o;if(this.is(s,".")&&s[1]==="this")u+=this.indent()+`static ${s[2]} = ${this.emit(["class",null,w,..._],"value")};
2521
+ `;else u+=this.indent()+this.emit(o,"statement")+`;
2522
+ `}else u+=this.indent()+this.emit(o,"statement")+`;
2523
+ `;this.indentLevel--}else{this.indentLevel++;for(let h of c)if(this.is(h,"=")&&Array.isArray(h[1])&&h[1][0]==="."&&h[1][1]==="this")u+=this.indent()+`static ${h[1][2]} = ${this.emit(h[2],"value")};
2524
+ `;else u+=this.indent()+this.emit(h,"statement")+`;
2525
+ `;this.indentLevel--}}}return u+=this.indent()+"}",u}_emitClassMembers(n,f){let e="",a=[];for(let[,i,l]of n){let u=this.is(i,".")&&i[1]==="this",t=this.is(i,"computed"),c=this.extractMemberName(i);if(this.is(l,"=>")&&!u&&!t&&c!=="constructor")a.push(c)}for(let[,i,l]of n){let u=this.is(i,".")&&i[1]==="this",t=this.is(i,"computed"),c=this.extractMemberName(i);if(this.is(l,"->")||this.is(l,"=>")){let[,r,h]=l,o=this.containsAwait(h),s=this.containsYield(h),w=r,_=[];if(c==="constructor"){let D=!!f,U=D?new Map:null;w=r.map((R)=>{if(this.is(R,".")&&R[1]==="this"){let A=p(R[2]),E=D?`_${A}`:A;if(_.push(`this.${A} = ${E}`),D)U.set(A,E);return E}if(this.is(R,"default")&&this.is(R[1],".")&&R[1][1]==="this"){let A=p(R[1][2]),E=D?`_${A}`:A;if(_.push(`this.${A} = ${E}`),D)U.set(A,E);return["default",E,R[2]]}return R});for(let R of a)_.unshift(`this.${R} = this.${R}.bind(this)`);if(U?.size>0)this._atParamMap=U}let y=this.emitParamList(w),m=(u?"static ":"")+(o?"async ":"")+(s?"*":"");if(e+=this.indent()+`${m}${c}(${y}) `,!t)this.currentMethodName=c;e+=this.emitMethodBody(h,_,c==="constructor",w),this._atParamMap=null,this.currentMethodName=null,e+=`
2526
+ `}else if(u)e+=this.indent()+`static ${c} = ${this.emit(l,"value")};
2527
+ `;else e+=this.indent()+`${c} = ${this.emit(l,"value")};
2528
+ `}return e}emitSuper(n,f){if(f.length===0){if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}()`;return"super"}let e=f.map((a)=>this.unwrap(this.emit(a,"value"))).join(", ");if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${e})`;return`super(${e})`}emitImport(n,f,e,a){if(f.length===1){let t=`import(${this.emit(f[0],"value")})`;if(Sn(a[0],"bang")===!0)return`(await ${t})`;return t}if(this.options.skipImports)return"";if(f.length===3){let[t,c,r]=f,h=this.addJsExtensionAndAssertions(r);if(c[0]==="*"&&c.length===2)return`import ${t}, * as ${c[1]} from ${h}`;let o=c.map((s)=>Array.isArray(s)&&s.length===2?`${s[0]} as ${s[1]}`:s).join(", ");return this._attachImportSpecifierAnchors(a,[t,...c.flatMap((s)=>Array.isArray(s)?s:[s])]),`import ${t}, { ${o} } from ${h}`}let[i,l]=f,u=this.addJsExtensionAndAssertions(l);if(typeof i==="string")return`import ${i} from ${u}`;if(Array.isArray(i)){if(i[0]==="*"&&i.length===2)return`import * as ${i[1]} from ${u}`;let t=i.map((c)=>Array.isArray(c)&&c.length===2?`${c[0]} as ${c[1]}`:c).join(", ");return this._attachImportSpecifierAnchors(a,i.flatMap((c)=>Array.isArray(c)?c:[c])),`import { ${t} } from ${u}`}return`import ${this.emit(i,"value")} from ${u}`}_attachImportSpecifierAnchors(n,f){if(!n||!n.loc)return;let e=this.options&&this.options.source;if(!e||!f||!f.length)return;let a=this._sourceLinesCache||(this._sourceLinesCache=e.split(`
2529
+ `)),i=n.loc.r,l=n.loc.c,u=[];for(let t of f){if(typeof t!=="string"||!/^[A-Za-z_$][\w$]*$/.test(t))continue;let c=new RegExp("\\b"+t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\b"),r=!1;while(i<a.length){let o=(a[i]||"").replace(/#.*$/,"");c.lastIndex=0;let s=o.slice(l),w=c.exec(s);if(w){let _=l+w.index;u.push({name:t,origLine:i,origCol:_}),l=_+t.length,r=!0;break}i++,l=0}if(!r)break}if(u.length)n._anchors=(n._anchors||[]).concat(u)}applyVoidMarker(n,f,e){let a=this.is(f,"->")||this.is(f,"=>")||this.is(f,"def");if(n instanceof String&&Sn(n,"bang")!==void 0&&!a){let i=Sn(n,"bang")===!0?"!":"&";this.error(`Cannot use ${i} sigil in variable declaration '${p(n)}'`,e)}if(n instanceof String&&Sn(n,"bang")===!0&&a)f.isVoid=!0}emitExport(n,f){let[e]=f;if(this.options.skipExports){if(this.is(e,"=")){let a=this._componentName,i=this._componentTypeParams,l=this._schemaName;if(this.is(e[2],"component"))this._componentName=p(e[1]),this._componentTypeParams=e[1]?.typeParams||"";if(this.is(e[2],"schema"))this._schemaName=p(e[1]);this.applyVoidMarker(e[1],e[2],e);let u=`const ${e[1]} = ${this.emit(e[2],"value")}`;return this._componentName=a,this._componentTypeParams=i,this._schemaName=l,u}if(Array.isArray(e)&&e.every((a)=>typeof a==="string"))return"";return this.emit(e,"statement")}if(this.is(e,"=")){let a=this._componentName,i=this._componentTypeParams,l=this._schemaName;if(this.is(e[2],"component"))this._componentName=p(e[1]),this._componentTypeParams=e[1]?.typeParams||"";if(this.is(e[2],"schema"))this._schemaName=p(e[1]);this.applyVoidMarker(e[1],e[2],e);let u=`export const ${e[1]} = ${this.emit(e[2],"value")}`;return this._componentName=a,this._componentTypeParams=i,this._schemaName=l,u}if(Array.isArray(e)&&e.every((a)=>typeof a==="string"))return`export { ${e.join(", ")} }`;return`export ${this.emit(e,"statement")}`}emitExportDefault(n,f){let[e]=f;if(this.options.skipExports){if(this.is(e,"="))return this.applyVoidMarker(e[1],e[2],e),`const ${e[1]} = ${this.emit(e[2],"value")}`;return this.emit(e,"statement")}if(this.is(e,"="))return this.applyVoidMarker(e[1],e[2],e),`const ${e[1]} = ${this.emit(e[2],"value")};
2530
+ export default ${e[1]}`;return`export default ${this.emit(e,"statement")}`}emitExportAll(n,f){if(this.options.skipExports)return"";return`export * from ${this.addJsExtensionAndAssertions(f[0])}`}emitExportFrom(n,f){if(this.options.skipExports)return"";let[e,a]=f,i=this.addJsExtensionAndAssertions(a);if(Array.isArray(e))return`export { ${e.map((u)=>Array.isArray(u)&&u.length===2?`${u[0]} as ${u[1]}`:u).join(", ")} } from ${i}`;return`export ${e} from ${i}`}emitDoIIFE(n,f){return`(${this.emit(f[0],"statement")})()`}emitRegex(n,f){return f.length===0?n:this.emit(f[0],"value")}emitTaggedTemplate(n,f){let[e,a]=f,i=this.emit(e,"value"),l=this.emit(a,"value");if(l.startsWith("`"))return`${i}${l}`;if(l.startsWith('"')||l.startsWith("'"))return`${i}\`${l.slice(1,-1)}\``;return`${i}\`${l}\``}escapeTemplateText(n){return n.replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}emitString(n,f){let e="`";for(let a of f)if(a instanceof String)e+=this.escapeTemplateText(this.extractStringContent(a));else if(typeof a==="string")if(a.startsWith('"')||a.startsWith("'")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive in str:",a);e+=this.escapeTemplateText(a.slice(1,-1))}else e+=this.escapeTemplateText(a);else if(Array.isArray(a))if(a.length===1&&typeof a[0]==="string"&&!Array.isArray(a[0])){let i=a[0];e+=/^[\d"']/.test(i)?"${"+this.emit(i,"value")+"}":"${"+i+"}"}else{let i=a.length===1&&Array.isArray(a[0])?a[0]:a;e+="${"+this.emit(i,"value")+"}"}return e+"`"}findPostfixConditional(n){if(!Array.isArray(n))return null;let f=n[0];if(f==="if"&&n.length===3)return{type:f,condition:n[1],value:n[2]};if(f==="+"||f==="-"||f==="*"||f==="/")for(let e=1;e<n.length;e++){let a=this.findPostfixConditional(n[e]);if(a)return a.parentOp=f,a.operandIndex=e,a.otherOperands=n.slice(1).filter((i,l)=>l!==e-1),a}return null}rebuildWithoutConditional(n){let f=Array.isArray(n.value)&&n.value.length===1?n.value[0]:n.value;if(n.parentOp)return[n.parentOp,...n.otherOperands,f];return f}_tryPostfixCall(n,f,e){if(e!=="statement"||f.length!==1)return null;let a=this.findPostfixConditional(f[0]);if(!a)return null;let i=this.rebuildWithoutConditional(a),l=this.emit(n,"value"),u=this.emit(a.condition,"value"),t=this.emit(i,"value");return`if (${u}) ${l}(${t})`}_emitArgs(n){return n.map((f)=>this.unwrap(this.emit(f,"value"))).join(", ")}emitDestructuringPattern(n){return this.formatParam(n)}emitParamList(n){let f=n.findIndex((a)=>this.is(a,"expansion"));if(f!==-1){let a=n.slice(0,f),i=n.slice(f+1),l=a.map((u)=>this.formatParam(u)).join(", ");return this.expansionAfterParams=i,l?`${l}, ..._rest`:"..._rest"}let e=n.findIndex((a)=>this.is(a,"rest"));if(e!==-1&&e<n.length-1){let a=n.slice(0,e),i=n[e],l=n.slice(e+1),u=a.map((t)=>this.formatParam(t));return this.restMiddleParam={restName:i[1],afterParams:l,beforeCount:a.length},u.length>0?`${u.join(", ")}, ...${i[1]}`:`...${i[1]}`}return this.expansionAfterParams=null,this.restMiddleParam=null,n.map((a)=>this.formatParam(a)).join(", ")}destructuredType(n){if(this.is(n,"object")){let f=[],e=!1;for(let a of n.slice(1)){if(this.is(a,"...")){f.push("[key: string]: unknown");continue}let[i,l,u]=a,t=p(l);if(i==="="){let r=l instanceof String?l.type:null;if(r)e=!0;f.push(`${t}?: ${r?wi(r):"any"}`);continue}if(this.is(u,"object")||this.is(u,"array")){let r=this.destructuredType(u);if(r.hasType)e=!0;f.push(`${t}: ${r.type}`);continue}let c=u instanceof String&&u.type||l instanceof String&&l.type||null;if(c)e=!0;f.push(`${t}: ${c?wi(c):"any"}`)}return{type:`{${f.join(", ")}}`,hasType:e}}if(this.is(n,"array")){let f=[],e=!1;for(let a of n.slice(1)){if(a===","||a==="...")continue;if(this.is(a,"...")){f.push("...any[]");continue}let i=this.is(a,"=")?a[1]:a,l=i instanceof String?i.type:null;if(l)e=!0;f.push(l?wi(l):"any")}return{type:`[${f.join(", ")}]`,hasType:e}}return{type:"any",hasType:!1}}formatParam(n){if(typeof n==="string")return n;if(n instanceof String){if(this.options.inlineTypes)return Qf({name:n.valueOf(),ripType:n.type,optional:!!Sn(n,"optional"),hasDefault:!1},"implementation");return n.valueOf()}if(this.is(n,"rest")){let f=n[1];if(this.options.inlineTypes&&f instanceof String&&f.type)return`...${f.valueOf()}: ${f.type.replace(/::/g,":")}`;return`...${f}`}if(this.is(n,"default"))return`${this.formatParam(n[1])} = ${this.emit(n[2],"value")}`;if(this.is(n,".")&&n[1]==="this")return n[2];if((this.is(n,"object")||this.is(n,"array"))&&this.options.inlineTypes){let{type:f,hasType:e}=this.destructuredType(n),a=this.options.inlineTypes;this.options.inlineTypes=!1;let i;try{i=this.formatParam(n)}finally{this.options.inlineTypes=a}return e?`${i}: ${f}`:i}if(this.is(n,"array"))return`[${n.slice(1).map((e)=>{if(e===",")return"";if(e==="...")return"";if(this.is(e,"..."))return`...${e[1]}`;if(this.is(e,"=")&&typeof e[1]==="string")return`${e[1]} = ${this.emit(e[2],"value")}`;if(typeof e==="string")return e;return this.formatParam(e)}).join(", ")}]`;if(this.is(n,"object"))return`{${n.slice(1).map((e)=>{if(this.is(e,"..."))return`...${e[1]}`;if(this.is(e,"default"))return`${e[1]} = ${this.emit(e[2],"value")}`;let[a,i,l]=e;if(a==="=")return`${i} = ${this.emit(l,"value")}`;if(i===l)return i;return`${i}: ${this.formatParam(l)}`}).join(", ")}}`;return JSON.stringify(n)}emitBodyWithReturns(n,f=[],e={}){let{sideEffectOnly:a=!1,autoAssignments:i=[],isConstructor:l=!1,hasExpansionParams:u=!1}=e,t=this.sideEffectOnly;this.sideEffectOnly=a;let c=new Set,r=(y)=>{if(typeof y==="string"||y instanceof String)c.add(p(y));else if(Array.isArray(y)){if(y[0]==="rest"||y[0]==="..."){if(typeof y[1]==="string"||y[1]instanceof String)c.add(p(y[1]))}else if(y[0]==="default"){if(typeof y[1]==="string"||y[1]instanceof String)c.add(p(y[1]))}else if(y[0]==="array"||y[0]==="object")this.collectVarsFromArray(y,c)}};if(Array.isArray(f))f.forEach(r);let h=this.collectFunctionVariables(n),o=new Set([...h].filter((y)=>!this.programVars.has(y)&&!this.reactiveVars?.has(y)&&!c.has(y)&&!this.scopeStack.some((m)=>m.has(y)))),s=["return","throw","break","continue"],w=["for-in","for-of","for-as","while","loop"];if(this.scopeStack.push(new Set([...o,...c])),this.is(n,"block")){let y=this.unwrapBlock(n);if(u&&this.expansionAfterParams?.length>0)y=[...this.expansionAfterParams.map((A,E)=>{return`const ${typeof A==="string"?A:JSON.stringify(A)} = _rest[_rest.length - ${this.expansionAfterParams.length-E}]`}),...y],this.expansionAfterParams=null;if(this.restMiddleParam){let{restName:R,afterParams:A}=this.restMiddleParam,E=A.length,M=[];if(A.forEach((q,S)=>{let Q=typeof q==="string"?q:this.is(q,"default")?q[1]:JSON.stringify(q);M.push(`const ${Q} = ${R}[${R}.length - ${E-S}]`)}),E>0)M.push(`${R} = ${R}.slice(0, -${E})`);y=[...M,...y],this.restMiddleParam=null}this.indentLevel++;let m=`{
2531
+ `;if(o.size>0){let R=this.options.inlineTypes?this.collectTypedLocals(n):null,A=Array.from(o).sort().map((E)=>{let M=R?.get(E);return M?`${E}: ${M}`:E});m+=this.indent()+`let ${A.join(", ")};
2532
+ `}let D=i.length>0&&y.length>0&&Array.isArray(y[0])&&y[0][0]==="super",U=(R,A=null)=>{R.forEach((E,M)=>{let q=M===R.length-1,S=Array.isArray(E)?E[0]:null,Q=A!=null&&n.subLocs?n.subLocs[A+M]:null;if(!q&&S==="comprehension"){let[,G,B,j]=E;m+=this.indent()+this.emitComprehensionAsLoop(G,B,j)+`
2533
+ `;return}if(!l&&!a&&q&&S==="if"){let[G,B,...j]=E.slice(1),b=(nn)=>this.is(nn,"block")&&nn.length>2;if(this.hasStatementInBranch(B)||j.some((nn)=>this.hasStatementInBranch(nn))||b(B)||j.some(b)){m+=this.emitIfElseWithEarlyReturns(E)+`
2534
+ `;return}}if(!l&&!a&&q&&S==="="){let[G,B]=E.slice(1);if(typeof G==="string"&&Array.isArray(B)){let j=B[0];if(j==="comprehension"||j==="for-in"){this.comprehensionTarget=G,m+=this.emit(B,"value"),this.comprehensionTarget=null,m+=this.indent()+`return ${G};
2535
+ `;return}}}if(!l&&!a&&q&&w.includes(S)){if(this.containsYield(E)){m+=this.indent()+this.addSemicolon(E,this.emit(E,"statement"))+`
2536
+ `;return}if(!(S==="for-in"||S==="for-of"||S==="for-as")){m+=this.indent()+this.addSemicolon(E,this.emit(E,"statement"))+`
2537
+ `;return}m+=this.indent()+`const _result = [];
2538
+ `,this.comprehensionTarget="_result";let B=this._skipCompTargetInit;this._skipCompTargetInit=!0,m+=this.emit(E,"value"),this._skipCompTargetInit=B,this.comprehensionTarget=null,m+=this.indent()+`return _result;
2539
+ `;return}let F=!l&&!a&&q&&!s.includes(S)&&!this.hasExplicitControlFlow(E),K=F?"value":"statement",H=this.emit(E,K);if(F)m+=this.indent()+"return "+this.markIdent(H,E,Q)+`;
2540
+ `;else m+=this.indent()+this.addSemicolon(E,H)+`
2541
+ `})};if(D){if(y.length===1&&!l)m+=this.indent()+"return "+this.emit(y[0],"value")+`;
2542
+ `;else m+=this.indent()+this.emit(y[0],"statement")+`;
2543
+ `;for(let A of i)m+=this.indent()+A+`;
2544
+ `;U(y.slice(1))}else{for(let A of i)m+=this.indent()+A+`;
2545
+ `;let R=this.is(n,"block")&&n.subLocs&&y.length===n.length-1?1:null;U(y,R)}if(a&&y.length>0){let R=Array.isArray(y[y.length-1])?y[y.length-1][0]:null;if(!s.includes(R))m+=this.indent()+`return;
2546
+ `}return this.indentLevel--,m+=this.indent()+"}",this.scopeStack.pop(),this.sideEffectOnly=t,m}this.sideEffectOnly=t;let _;if(l&&i.length>0){let y=Array.isArray(n)&&n[0]==="super",m=this.emit(n,"statement"),D=i.map((U)=>`${U};`).join(" ");_=y?`{ ${m}; ${D} }`:`{ ${D} ${m}; }`}else if(l||this.hasExplicitControlFlow(n))_=`{ ${this.emit(n,"statement")}; }`;else if(Array.isArray(n)&&(s.includes(n[0])||w.includes(n[0])))_=`{ ${this.emit(n,"statement")}; }`;else if(a)_=`{ ${this.emit(n,"statement")}; return; }`;else _=`{ return ${this.emit(n,"value")}; }`;return this.scopeStack.pop(),_}emitFunctionBody(n,f=[],e=!1){return this.emitBodyWithReturns(n,f,{sideEffectOnly:e,hasExpansionParams:this.expansionAfterParams?.length>0})}emitMethodBody(n,f=[],e=!1,a=[]){return this.emitBodyWithReturns(n,a,{autoAssignments:f,isConstructor:e})}emitBlockWithReturns(n){if(!Array.isArray(n)||n[0]!=="block")return this.emit(n,"statement");let f=this.unwrapBlock(n);return`{
2547
+ ${this.withIndent(()=>f.map((a,i)=>{let l=i===f.length-1,u=Array.isArray(a)?a[0]:null,t=l&&!["return","throw","break","continue"].includes(u),c=this.emit(a,t?"value":"statement");return t?this.indent()+"return "+c+";":this.indent()+c+";"})).join(`
2532
2548
  `)}
2533
2549
  ${this.indent()}}`}emitLoopBody(n){if(!Array.isArray(n))return`{ ${this.emit(n,"statement")}; }`;if(n[0]==="block"||Array.isArray(n[0])){let f=n[0]==="block"?n.slice(1):n;return`{
2534
- ${this.withIndent(()=>f.map((t)=>{if(this.is(t,"comprehension")){let[,i,u,l]=t;return this.indent()+this.emitComprehensionAsLoop(i,u,l)}return this.indent()+this.addSemicolon(t,this.emit(t,"statement"))})).join(`
2550
+ ${this.withIndent(()=>f.map((a)=>{if(this.is(a,"comprehension")){let[,i,l,u]=a;return this.indent()+this.emitComprehensionAsLoop(i,l,u)}return this.indent()+this.addSemicolon(a,this.emit(a,"statement"))})).join(`
2535
2551
  `)}
2536
- ${this.indent()}}`}return`{ ${this.emit(n,"statement")}; }`}emitLoopBodyWithGuard(n,f){let e=this.unwrap(this.emit(f,"value"));if(!Array.isArray(n))return`{ if (${e}) ${this.emit(n,"statement")}; }`;if(n[0]==="block"||Array.isArray(n[0])){let t=n[0]==="block"?n.slice(1):n,i=this.withIndent(()=>this.indent()),u=`if (${e}) {
2537
- `,l=this.withIndent(()=>{this.indentLevel++;let c=this.formatStatements(t);return this.indentLevel--,c}),a=this.withIndent(()=>this.indent()+"}");return`{
2538
- ${i}${u}${l.join(`
2552
+ ${this.indent()}}`}return`{ ${this.emit(n,"statement")}; }`}emitLoopBodyWithGuard(n,f){let e=this.unwrap(this.emit(f,"value"));if(!Array.isArray(n))return`{ if (${e}) ${this.emit(n,"statement")}; }`;if(n[0]==="block"||Array.isArray(n[0])){let a=n[0]==="block"?n.slice(1):n,i=this.withIndent(()=>this.indent()),l=`if (${e}) {
2553
+ `,u=this.withIndent(()=>{this.indentLevel++;let c=this.formatStatements(a);return this.indentLevel--,c}),t=this.withIndent(()=>this.indent()+"}");return`{
2554
+ ${i}${l}${u.join(`
2539
2555
  `)}
2540
- ${a}
2541
- ${this.indent()}}`}return`{ if (${this.emit(f,"value")}) ${this.emit(n,"statement")}; }`}emitComprehensionWithTarget(n,f,e,t){let i="";if(!this._skipCompTargetInit)i+=this.indent()+`${t} = [];
2542
- `;let u=(a)=>{if(typeof a==="string"&&(a==="break"||a==="continue"))return!0;if(!Array.isArray(a))return!1;if(["break","continue","return","throw"].includes(a[0]))return!0;if(a[0]==="if")return a.slice(1).some(u);return a.some(u)},l=()=>{let a=["for-in","for-of","for-as","while","loop"];if(this.is(n,"block"))for(let c=0;c<n.length-1;c++){let r=n[c+1];if(c!==n.length-2||u(r)||Array.isArray(r)&&a.includes(r[0]))i+=this.indent()+this.emit(r,"statement")+`;
2543
- `;else i+=this.indent()+`${t}.push(${this.emit(r,"value")});
2544
- `}else if(u(n))i+=this.indent()+this.emit(n,"statement")+`;
2545
- `;else i+=this.indent()+`${t}.push(${this.emit(n,"value")});
2546
- `};if(f.length===1){let[a,c,r,h]=f[0];if(a==="for-in"){let{header:o,setup:s}=this._forInHeader(c,r,h);if(i+=this.indent()+o+` {
2556
+ ${t}
2557
+ ${this.indent()}}`}return`{ if (${this.emit(f,"value")}) ${this.emit(n,"statement")}; }`}emitComprehensionWithTarget(n,f,e,a){let i="";if(!this._skipCompTargetInit)i+=this.indent()+`${a} = [];
2558
+ `;let l=(t)=>{if(typeof t==="string"&&(t==="break"||t==="continue"))return!0;if(!Array.isArray(t))return!1;if(["break","continue","return","throw"].includes(t[0]))return!0;if(t[0]==="if")return t.slice(1).some(l);return t.some(l)},u=()=>{let t=["for-in","for-of","for-as","while","loop"];if(this.is(n,"block"))for(let c=0;c<n.length-1;c++){let r=n[c+1];if(c!==n.length-2||l(r)||Array.isArray(r)&&t.includes(r[0]))i+=this.indent()+this.emit(r,"statement")+`;
2559
+ `;else i+=this.indent()+`${a}.push(${this.emit(r,"value")});
2560
+ `}else if(l(n))i+=this.indent()+this.emit(n,"statement")+`;
2561
+ `;else i+=this.indent()+`${a}.push(${this.emit(n,"value")});
2562
+ `};if(f.length===1){let[t,c,r,h]=f[0];if(t==="for-in"){let{header:o,setup:s}=this._forInHeader(c,r,h);if(i+=this.indent()+o+` {
2547
2563
  `,this.indentLevel++,s)i+=this.indent()+s+`
2548
2564
  `;if(e?.length>0)i+=this.indent()+`if (${e.map((w)=>this.emit(w,"value")).join(" && ")}) {
2549
- `,this.indentLevel++;if(l(),e?.length>0)this.indentLevel--,i+=this.indent()+`}
2565
+ `,this.indentLevel++;if(u(),e?.length>0)this.indentLevel--,i+=this.indent()+`}
2550
2566
  `;return this.indentLevel--,i+=this.indent()+`}
2551
- `,i}if(a==="for-of"){let{header:o,own:s,vv:w,oc:_,kvp:A}=this._forOfHeader(c,r,h);if(i+=this.indent()+o+` {
2552
- `,this.indentLevel++,s)i+=this.indent()+`if (!Object.hasOwn(${_}, ${A})) continue;
2553
- `;if(w)i+=this.indent()+`let ${w} = ${_}[${A}];
2554
- `;if(e?.length>0)i+=this.indent()+`if (${e.map((y)=>this.emit(y,"value")).join(" && ")}) {
2555
- `,this.indentLevel++;if(l(),e?.length>0)this.indentLevel--,i+=this.indent()+`}
2567
+ `,i}if(t==="for-of"){let{header:o,own:s,vv:w,oc:_,kvp:y}=this._forOfHeader(c,r,h);if(i+=this.indent()+o+` {
2568
+ `,this.indentLevel++,s)i+=this.indent()+`if (!Object.hasOwn(${_}, ${y})) continue;
2569
+ `;if(w)i+=this.indent()+`let ${w} = ${_}[${y}];
2570
+ `;if(e?.length>0)i+=this.indent()+`if (${e.map((m)=>this.emit(m,"value")).join(" && ")}) {
2571
+ `,this.indentLevel++;if(u(),e?.length>0)this.indentLevel--,i+=this.indent()+`}
2556
2572
  `;return this.indentLevel--,i+=this.indent()+`}
2557
- `,i}if(a==="for-as"){let{header:o}=this._forAsHeader(c,r,h);if(i+=this.indent()+o+` {
2573
+ `,i}if(t==="for-as"){let{header:o}=this._forAsHeader(c,r,h);if(i+=this.indent()+o+` {
2558
2574
  `,this.indentLevel++,e?.length>0)i+=this.indent()+`if (${e.map((s)=>this.emit(s,"value")).join(" && ")}) {
2559
- `,this.indentLevel++;if(l(),e?.length>0)this.indentLevel--,i+=this.indent()+`}
2575
+ `,this.indentLevel++;if(u(),e?.length>0)this.indentLevel--,i+=this.indent()+`}
2560
2576
  `;return this.indentLevel--,i+=this.indent()+`}
2561
- `,i}}return i="",i+=this.indent()+`${t} = ${this.emit(["comprehension",n,f,e||[]],"value")};
2562
- `,i}emitComprehensionAsLoop(n,f,e){let t="",i=e?.length?e.map((l)=>this.emit(l,"value")).join(" && "):null,u=()=>{if(i)t+=this.indent()+`if (${i}) {
2563
- `,this.indentLevel++,t+=this.indent()+this.emit(n,"statement")+`;
2564
- `,this.indentLevel--,t+=this.indent()+`}
2565
- `;else t+=this.indent()+this.emit(n,"statement")+`;
2566
- `};if(f.length===1){let[l,a,c,r]=f[0];if(l==="for-in"){let{header:h,setup:o}=this._forInHeader(a,c,r);if(t+=h+` {
2567
- `,this.indentLevel++,o)t+=this.indent()+o+`
2568
- `;return u(),this.indentLevel--,t+=this.indent()+"}",t}if(l==="for-as"){let{header:h}=this._forAsHeader(a,c,r);return t+=h+` {
2569
- `,this.indentLevel++,u(),this.indentLevel--,t+=this.indent()+"}",t}if(l==="for-of"){let{header:h,own:o,vv:s,oc:w,kvp:_}=this._forOfHeader(a,c,r);if(t+=h+` {
2570
- `,this.indentLevel++,o)t+=this.indent()+`if (!Object.hasOwn(${w}, ${_})) continue;
2571
- `;if(s)t+=this.indent()+`let ${s} = ${w}[${_}];
2572
- `;return u(),this.indentLevel--,t+=this.indent()+"}",t}}return this.emit(["comprehension",n,f,e],"value")}emitIfElseWithEarlyReturns(n){let[,f,e,...t]=n;return this.indent()+this.emitIfElseEarlyReturnsChain(f,e,t)}emitIfElseEarlyReturnsChain(n,f,e){let t=`if (${this.emit(n,"value")}) {
2573
- `;t+=this.withIndent(()=>this.emitBranchWithReturn(f)),t+=this.indent()+"}";for(let i of e)if(t+=" else ",this.is(i,"if")){let[,u,l,...a]=i;t+=this.emitIfElseEarlyReturnsChain(u,l,a)}else t+=`{
2574
- `,t+=this.withIndent(()=>this.emitBranchWithReturn(i)),t+=this.indent()+"}";return t}emitBranchWithReturn(n){n=this.unwrapIfBranch(n);let f=this.unwrapBlock(n),e="";for(let t=0;t<f.length;t++){let i=t===f.length-1,u=f[t],l=Array.isArray(u)?u[0]:null;if(i&&!(l==="return"||l==="throw"||l==="break"||l==="continue"))e+=this.indent()+`return ${this.emit(u,"value")};
2575
- `;else e+=this.indent()+this.emit(u,"statement")+`;
2576
- `}return e}emitIfAsExpression(n,f,e){if(this.is(f,"block")&&f.length>2||this.hasStatementInBranch(f)||e.some((a)=>this.is(a,"block")&&a.length>2||this.hasStatementInBranch(a)||this.hasNestedMultiStatement(a))){let a=this.containsAwait(n)||this.containsAwait(f)||e.some((c)=>this.containsAwait(c));return this.asyncIIFEOpen(a)+" "+this.emitIfChain(n,f,e)+" })()"}let i=this.extractExpression(this.unwrapIfBranch(f)),u=this.buildTernaryChain(e),l=this.emit(n,"value");if(this.is(n,"yield")||this.is(n,"await"))l=`(${l})`;return`(${l} ? ${i} : ${u})`}emitIfChain(n,f,e){let t=`if (${this.emit(n,"value")}) `+this.emitBlockWithReturns(f);for(let i of e)if(t+=" else ",this.is(i,"if")){let[,u,l,...a]=i;t+=this.emitIfChain(u,l,a)}else t+=this.emitBlockWithReturns(i);return t}emitIfAsStatement(n,f,e){let t=`if (${this.unwrap(this.emit(n,"value"))}) `;t+=this.emit(this.unwrapIfBranch(f),"statement");for(let i of e)t+=" else "+this.emit(this.unwrapIfBranch(i),"statement");return t}emitSwitchCaseBody(n,f){let e="",t=this.hasExplicitControlFlow(n),i=this.unwrapBlock(n);if(t)for(let u of i)e+=this.indent()+this.emit(u,"statement")+`;
2577
- `;else if(f==="value")if(this.is(n,"block")&&n.length>2)for(let u=0;u<i.length;u++)if(u===i.length-1)e+=this.indent()+`return ${this.emit(i[u],"value")};
2578
- `;else e+=this.indent()+this.emit(i[u],"statement")+`;
2577
+ `,i}}return i="",i+=this.indent()+`${a} = ${this.emit(["comprehension",n,f,e||[]],"value")};
2578
+ `,i}emitComprehensionAsLoop(n,f,e){let a="",i=e?.length?e.map((u)=>this.emit(u,"value")).join(" && "):null,l=()=>{if(i)a+=this.indent()+`if (${i}) {
2579
+ `,this.indentLevel++,a+=this.indent()+this.emit(n,"statement")+`;
2580
+ `,this.indentLevel--,a+=this.indent()+`}
2581
+ `;else a+=this.indent()+this.emit(n,"statement")+`;
2582
+ `};if(f.length===1){let[u,t,c,r]=f[0];if(u==="for-in"){let{header:h,setup:o}=this._forInHeader(t,c,r);if(a+=h+` {
2583
+ `,this.indentLevel++,o)a+=this.indent()+o+`
2584
+ `;return l(),this.indentLevel--,a+=this.indent()+"}",a}if(u==="for-as"){let{header:h}=this._forAsHeader(t,c,r);return a+=h+` {
2585
+ `,this.indentLevel++,l(),this.indentLevel--,a+=this.indent()+"}",a}if(u==="for-of"){let{header:h,own:o,vv:s,oc:w,kvp:_}=this._forOfHeader(t,c,r);if(a+=h+` {
2586
+ `,this.indentLevel++,o)a+=this.indent()+`if (!Object.hasOwn(${w}, ${_})) continue;
2587
+ `;if(s)a+=this.indent()+`let ${s} = ${w}[${_}];
2588
+ `;return l(),this.indentLevel--,a+=this.indent()+"}",a}}return this.emit(["comprehension",n,f,e],"value")}emitIfElseWithEarlyReturns(n){let[,f,e,...a]=n;return this.indent()+this.emitIfElseEarlyReturnsChain(f,e,a)}emitIfElseEarlyReturnsChain(n,f,e){let a=`if (${this.emit(n,"value")}) {
2589
+ `;a+=this.withIndent(()=>this.emitBranchWithReturn(f)),a+=this.indent()+"}";for(let i of e)if(a+=" else ",this.is(i,"if")){let[,l,u,...t]=i;a+=this.emitIfElseEarlyReturnsChain(l,u,t)}else a+=`{
2590
+ `,a+=this.withIndent(()=>this.emitBranchWithReturn(i)),a+=this.indent()+"}";return a}emitBranchWithReturn(n){n=this.unwrapIfBranch(n);let f=this.unwrapBlock(n),e="";for(let a=0;a<f.length;a++){let i=a===f.length-1,l=f[a],u=Array.isArray(l)?l[0]:null;if(i&&!(u==="return"||u==="throw"||u==="break"||u==="continue"))e+=this.indent()+`return ${this.emit(l,"value")};
2591
+ `;else e+=this.indent()+this.emit(l,"statement")+`;
2592
+ `}return e}emitIfAsExpression(n,f,e){if(this.is(f,"block")&&f.length>2||this.hasStatementInBranch(f)||e.some((t)=>this.is(t,"block")&&t.length>2||this.hasStatementInBranch(t)||this.hasNestedMultiStatement(t))){let t=this.containsAwait(n)||this.containsAwait(f)||e.some((c)=>this.containsAwait(c));return this.asyncIIFEOpen(t)+" "+this.emitIfChain(n,f,e)+" })()"}let i=this.extractExpression(this.unwrapIfBranch(f)),l=this.buildTernaryChain(e),u=this.emit(n,"value");if(this.is(n,"yield")||this.is(n,"await"))u=`(${u})`;return`(${u} ? ${i} : ${l})`}emitIfChain(n,f,e){let a=`if (${this.emit(n,"value")}) `+this.emitBlockWithReturns(f);for(let i of e)if(a+=" else ",this.is(i,"if")){let[,l,u,...t]=i;a+=this.emitIfChain(l,u,t)}else a+=this.emitBlockWithReturns(i);return a}emitIfAsStatement(n,f,e){let a=`if (${this.unwrap(this.emit(n,"value"))}) `;a+=this.emit(this.unwrapIfBranch(f),"statement");for(let i of e)a+=" else "+this.emit(this.unwrapIfBranch(i),"statement");return a}emitSwitchCaseBody(n,f){let e="",a=this.hasExplicitControlFlow(n),i=this.unwrapBlock(n);if(a)for(let l of i)e+=this.indent()+this.emit(l,"statement")+`;
2593
+ `;else if(f==="value")if(this.is(n,"block")&&n.length>2)for(let l=0;l<i.length;l++)if(l===i.length-1)e+=this.indent()+`return ${this.emit(i[l],"value")};
2594
+ `;else e+=this.indent()+this.emit(i[l],"statement")+`;
2579
2595
  `;else e+=this.indent()+`return ${this.extractExpression(n)};
2580
- `;else{if(i.length===1&&this.is(i[0],"if")&&!this.hasStatementInBranch(i[0])&&!this.hasNestedMultiStatement(i[0])){let[u,l,a,...c]=i[0],r=this.extractExpression(this.unwrapIfBranch(a)),h=this.buildTernaryChain(c);e+=this.indent()+`(${this.unwrap(this.emit(l,"value"))} ? ${r} : ${h});
2581
- `}else if(this.is(n,"block")&&n.length>1)for(let u of i)e+=this.indent()+this.emit(u,"statement")+`;
2596
+ `;else{if(i.length===1&&this.is(i[0],"if")&&!this.hasStatementInBranch(i[0])&&!this.hasNestedMultiStatement(i[0])){let[l,u,t,...c]=i[0],r=this.extractExpression(this.unwrapIfBranch(t)),h=this.buildTernaryChain(c);e+=this.indent()+`(${this.unwrap(this.emit(u,"value"))} ? ${r} : ${h});
2597
+ `}else if(this.is(n,"block")&&n.length>1)for(let l of i)e+=this.indent()+this.emit(l,"statement")+`;
2582
2598
  `;else e+=this.indent()+this.emit(n,"statement")+`;
2583
2599
  `;e+=this.indent()+`break;
2584
- `}return e}emitSwitchAsIfChain(n,f,e){let t="";for(let i=0;i<n.length;i++){let[,u,l]=n[i],a=Array.isArray(u)?u[0]:u;if(t+=(i===0?"":" else ")+`if (${this.emit(a,"value")}) {
2585
- `,this.indentLevel++,e==="value")t+=this.indent()+`return ${this.extractExpression(l)};
2586
- `;else for(let c of this.unwrapBlock(l))t+=this.indent()+this.emit(c,"statement")+`;
2587
- `;this.indentLevel--,t+=this.indent()+"}"}if(f){if(t+=` else {
2588
- `,this.indentLevel++,e==="value")t+=this.indent()+`return ${this.extractExpression(f)};
2589
- `;else for(let i of this.unwrapBlock(f))t+=this.indent()+this.emit(i,"statement")+`;
2590
- `;this.indentLevel--,t+=this.indent()+"}"}if(e==="value"){let i=n.some((u)=>this.containsAwait(u[1])||this.containsAwait(u[2]))||f&&this.containsAwait(f);return this.asyncIIFE(i,t)}return t}asyncIIFE(n,f){return`${n?"await ":""}(${n?"async ":""}() => { ${f} })()`}asyncIIFEOpen(n){return`${n?"await ":""}(${n?"async ":""}() => {`}extractExpression(n){let f=this.unwrapBlock(n);return f.length>0?this.emit(f[f.length-1],"value"):"undefined"}unwrapBlock(n){if(!Array.isArray(n))return[n];if(n[0]==="block")return n.slice(1);if(Array.isArray(n[0])){if(typeof n[0][0]==="string")return[n];return n}return[n]}indent(){return this.indentString.repeat(this.indentLevel)}needsSemicolon(n,f){if(!f||f.endsWith(";"))return!1;if(!f.endsWith("}"))return!0;let e=Array.isArray(n)?n[0]:null;return!["def","class","if","for-in","for-of","for-as","while","loop","switch","try"].includes(e)}addSemicolon(n,f){return f+(this.needsSemicolon(n,f)?";":"")}formatStatements(n,f="statement"){return n.map((e)=>this.indent()+this.addSemicolon(e,this.emit(e,f)))}wrapForCondition(n){if(/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(n))return n;if(n.startsWith("(")&&n.endsWith(")"))return n;return`(${n})`}hasExplicitControlFlow(n){if(!Array.isArray(n))return!1;let f=n[0];if(f==="return"||f==="throw"||f==="break"||f==="continue")return!0;if(f==="block")return n.slice(1).some((e)=>Array.isArray(e)&&["return","throw","break","continue"].includes(e[0]));if(f==="switch"){let[,,e]=n;return e?.some((t)=>{return this.unwrapBlock(t[2]).some((u)=>Array.isArray(u)&&["return","throw","break","continue"].includes(u[0]))})}if(f==="if"){let[,,e,t]=n;return this.branchHasControlFlow(e)&&t&&this.branchHasControlFlow(t)}return!1}branchHasControlFlow(n){if(!Array.isArray(n))return!1;let f=this.unwrapBlock(n);if(f.length===0)return!1;let e=f[f.length-1];return Array.isArray(e)&&["return","throw","break","continue"].includes(e[0])}withIndent(n){this.indentLevel++;let f=n();return this.indentLevel--,f}is(n,f,e){if(!Array.isArray(n))return null;if((j(n[0])??n[0])!==f)return null;let t=n.slice(1);if(e!=null&&t.length!==e)return null;return t}unwrap(n){if(typeof n!=="string")return n;while(n.startsWith("(")&&n.endsWith(")")){let f=0,e=0,t=!0,i=!1;for(let u=0;u<n.length;u++){if(n[u]==="(")f++;if(n[u]===")")f--;if(n[u]==="["||n[u]==="{")e++;if(n[u]==="]"||n[u]==="}")e--;if(n[u]===","&&f===1&&e===0)i=!0;if(f===0&&u<n.length-1){t=!1;break}}if(i)t=!1;if(t)n=n.slice(1,-1);else break}return n}_findOptionalInTarget(n){if(!Array.isArray(n))return null;if(n[0]==="?.")return{guard:n[1],rewritten:[".",n[1],n[2]]};if(n[0]==="optindex")return{guard:n[1],rewritten:["[]",n[1],n[2]]};if(n[0]==="."||n[0]==="[]"){let f=this._findOptionalInTarget(n[1]);if(f)return{guard:f.guard,rewritten:[n[0],f.rewritten,n[2]]}}return null}_validateBindingPattern(n,f){if(!Array.isArray(n))return;let e=n[0];if(e==="comprehension"||e==="object-comprehension")this.error(`Cannot use ${e} as a destructuring target`,f);if(e==="array"){for(let t of n.slice(1))this._validateBindingPattern(t,f);return}if(e==="object"){for(let t of n.slice(1)){if(!Array.isArray(t))continue;let i=t[0];if(i===null)this._validateBindingPattern(t[2],f);else if(i===":")this._validateBindingPattern(t[2],f);else if(i==="=")this._validateBindingPattern(t[1],f);else if(i==="...")this._validateBindingPattern(t[1],f);else this.error(`Unexpected object entry '${i}' in destructuring target`,f)}return}if(e==="..."||e==="default"||e==="="){this._validateBindingPattern(n[1],f);return}if(e==="."||e==="[]")return;if(e==="?."||e==="optindex"||e==="optcall")this.error("Cannot use optional chain as a destructuring target",f);this.error(`Cannot use '${e}' expression as a destructuring target`,f)}unwrapLogical(n){if(typeof n!=="string")return n;while(n.startsWith("(")&&n.endsWith(")")){let f=0,e=1/0;for(let t=1;t<n.length-1;t++){if(n[t]==="(")f++;if(n[t]===")")f--;e=Math.min(e,f)}if(e>=0)n=n.slice(1,-1);else break}return n}unwrapIfBranch(n){if(Array.isArray(n)&&n.length===1&&(!Array.isArray(n[0])||n[0][0]!=="block"))return n[0];return n}flattenBinaryChain(n){if(!Array.isArray(n)||n.length<3)return n;let[f,...e]=n;if(f!=="&&"&&f!=="||")return n;let t=[],i=(u)=>{if(Array.isArray(u)&&u[0]===f)for(let l=1;l<u.length;l++)i(u[l]);else t.push(u)};for(let u of e)i(u);return[f,...t]}hasStatementInBranch(n){if(!Array.isArray(n))return!1;if(n.length===1&&Array.isArray(n[0]))return this.hasStatementInBranch(n[0]);let f=n[0];if(f==="return"||f==="throw"||f==="break"||f==="continue")return!0;if(f==="block")return n.slice(1).some((e)=>this.hasStatementInBranch(e));return!1}hasNestedMultiStatement(n){if(!Array.isArray(n))return!1;if(n[0]==="if"){let[f,e,t,...i]=n;return this.is(t,"block")&&t.length>2||i.some((u)=>this.hasNestedMultiStatement(u))}return!1}buildTernaryChain(n){if(n.length===0)return"undefined";let f=this.unwrapIfBranch(n[0]);if(this.is(f,"if")){let[,e,t,...i]=f,u=this.extractExpression(this.unwrapIfBranch(t)),l=this.buildTernaryChain(i);return`(${this.emit(e,"value")} ? ${u} : ${l})`}return this.extractExpression(f)}collectVarsFromArray(n,f){n.slice(1).forEach((e)=>{if(e===","||e==="...")return;if(typeof e==="string"){f.add(e);return}if(Array.isArray(e)){if(e[0]==="..."&&typeof e[1]==="string")f.add(e[1]);else if(e[0]==="="&&typeof e[1]==="string")f.add(e[1]);else if(e[0]==="array")this.collectVarsFromArray(e,f);else if(e[0]==="object")this.collectVarsFromObject(e,f)}})}collectVarsFromLoopHead(n,f){if(!Array.isArray(n))return;n.forEach((e)=>{if(e==null)return;if(typeof e==="string"){f.add(e);return}if(Array.isArray(e)){if(e[0]==="array")this.collectVarsFromArray(e,f);else if(e[0]==="object")this.collectVarsFromObject(e,f)}})}collectVarsFromObject(n,f){n.slice(1).forEach((e)=>{if(!Array.isArray(e))return;if(e[0]==="..."&&typeof e[1]==="string"){f.add(e[1]);return}if(e.length>=2){let[t,i,u]=e;if(t==="="){if(typeof i==="string")f.add(i)}else if(typeof u==="string")f.add(u);else if(Array.isArray(u)){if(u[0]==="array")this.collectVarsFromArray(u,f);else if(u[0]==="object")this.collectVarsFromObject(u,f)}}})}extractStringContent(n){let f=j(n).slice(1,-1),e=qn(n,"indent");if(e)f=f.replace(new RegExp(`\\n${e}`,"g"),`
2591
- `);if(qn(n,"initialChunk")&&f.startsWith(`
2592
- `))f=f.slice(1);if(qn(n,"finalChunk")&&f.endsWith(`
2593
- `))f=f.slice(0,-1);return f}processHeregex(n){let f="",e=!1,t=0,i=()=>{let u=0,l=t-1;while(l>=0&&n[l]==="\\")u++,l--;return u%2===1};while(t<n.length){let u=n[t];if(u==="["&&!i()){e=!0,f+=u,t++;continue}if(u==="]"&&e&&!i()){e=!1,f+=u,t++;continue}if(e){f+=u,t++;continue}if(/\s/.test(u)){t++;continue}if(u==="#"){if(i()){f+=u,t++;continue}let l=t-1;while(l>=0&&n[l]==="\\")l--;if(l<t-1){f+=u,t++;continue}while(t<n.length&&n[t]!==`
2594
- `)t++;continue}f+=u,t++}return f}addJsExtensionAndAssertions(n){if(n instanceof String)n=j(n);if(typeof n!=="string")return n;let e=n.startsWith('"')||n.startsWith("'")?n.slice(1,-1):n,t=e.startsWith("./")||e.startsWith("../"),i=e,u="";if(t){let l=e.lastIndexOf("/"),a=l>=0?e.substring(l+1):e;if(a.includes(".")){if(a.endsWith(".json"))u=" with { type: 'json' }"}else i=e+".js"}return`'${i}'`+u}containsIt(n){if(!n)return!1;if(n==="it"||n instanceof String&&j(n)==="it")return!0;if(typeof n!=="object")return!1;if(this.is(n,"def")||this.is(n,"->")||this.is(n,"=>"))return!1;if(Array.isArray(n))return n.some((f)=>this.containsIt(f));return!1}containsAwait(n){if(!n)return!1;if(n instanceof String&&qn(n,"bang")===!0)return!0;if(typeof n!=="object")return!1;if(this.is(n,"await"))return!0;if(this.is(n,"for-as")&&n[3]===!0)return!0;if(this.is(n,"def")||this.is(n,"->")||this.is(n,"=>")||this.is(n,"class"))return!1;if(Array.isArray(n))return n.some((f)=>this.containsAwait(f));return!1}containsYield(n){if(!n)return!1;if(typeof n!=="object")return!1;if(this.is(n,"yield")||this.is(n,"yield-from"))return!0;if(this.is(n,"def")||this.is(n,"->")||this.is(n,"=>")||this.is(n,"class"))return!1;if(Array.isArray(n))return n.some((f)=>this.containsYield(f));return!1}extractMemberName(n){if(this.is(n,".")&&n[1]==="this")return n[2];if(this.is(n,"computed"))return`[${this.emit(n[1],"value")}]`;return n}getReactiveRuntime(){return`// ============================================================================
2600
+ `}return e}emitSwitchAsIfChain(n,f,e){let a="";for(let i=0;i<n.length;i++){let[,l,u]=n[i],t=Array.isArray(l)?l[0]:l;if(a+=(i===0?"":" else ")+`if (${this.emit(t,"value")}) {
2601
+ `,this.indentLevel++,e==="value")a+=this.indent()+`return ${this.extractExpression(u)};
2602
+ `;else for(let c of this.unwrapBlock(u))a+=this.indent()+this.emit(c,"statement")+`;
2603
+ `;this.indentLevel--,a+=this.indent()+"}"}if(f){if(a+=` else {
2604
+ `,this.indentLevel++,e==="value")a+=this.indent()+`return ${this.extractExpression(f)};
2605
+ `;else for(let i of this.unwrapBlock(f))a+=this.indent()+this.emit(i,"statement")+`;
2606
+ `;this.indentLevel--,a+=this.indent()+"}"}if(e==="value"){let i=n.some((l)=>this.containsAwait(l[1])||this.containsAwait(l[2]))||f&&this.containsAwait(f);return this.asyncIIFE(i,a)}return a}asyncIIFE(n,f){return`${n?"await ":""}(${n?"async ":""}() => { ${f} })()`}asyncIIFEOpen(n){return`${n?"await ":""}(${n?"async ":""}() => {`}extractExpression(n){let f=this.unwrapBlock(n);return f.length>0?this.emit(f[f.length-1],"value"):"undefined"}unwrapBlock(n){if(!Array.isArray(n))return[n];if(n[0]==="block")return n.slice(1);if(Array.isArray(n[0])){if(typeof n[0][0]==="string")return[n];return n}return[n]}indent(){return this.indentString.repeat(this.indentLevel)}needsSemicolon(n,f){if(!f||f.endsWith(";"))return!1;if(!f.endsWith("}"))return!0;let e=Array.isArray(n)?n[0]:null;return!["def","class","if","for-in","for-of","for-as","while","loop","switch","try"].includes(e)}addSemicolon(n,f){return f+(this.needsSemicolon(n,f)?";":"")}formatStatements(n,f="statement"){return n.map((e)=>this.indent()+this.addSemicolon(e,this.emit(e,f)))}wrapForCondition(n){if(/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(n))return n;if(n.startsWith("(")&&n.endsWith(")"))return n;return`(${n})`}hasExplicitControlFlow(n){if(!Array.isArray(n))return!1;let f=n[0];if(f==="return"||f==="throw"||f==="break"||f==="continue")return!0;if(f==="block")return n.slice(1).some((e)=>Array.isArray(e)&&["return","throw","break","continue"].includes(e[0]));if(f==="switch"){let[,,e]=n;return e?.some((a)=>{return this.unwrapBlock(a[2]).some((l)=>Array.isArray(l)&&["return","throw","break","continue"].includes(l[0]))})}if(f==="if"){let[,,e,a]=n;return this.branchHasControlFlow(e)&&a&&this.branchHasControlFlow(a)}return!1}branchHasControlFlow(n){if(!Array.isArray(n))return!1;let f=this.unwrapBlock(n);if(f.length===0)return!1;let e=f[f.length-1];return Array.isArray(e)&&["return","throw","break","continue"].includes(e[0])}withIndent(n){this.indentLevel++;let f=n();return this.indentLevel--,f}is(n,f,e){if(!Array.isArray(n))return null;if((p(n[0])??n[0])!==f)return null;let a=n.slice(1);if(e!=null&&a.length!==e)return null;return a}unwrap(n){if(typeof n!=="string")return n;while(n.startsWith("(")&&n.endsWith(")")){let f=0,e=0,a=!0,i=!1;for(let l=0;l<n.length;l++){if(n[l]==="(")f++;if(n[l]===")")f--;if(n[l]==="["||n[l]==="{")e++;if(n[l]==="]"||n[l]==="}")e--;if(n[l]===","&&f===1&&e===0)i=!0;if(f===0&&l<n.length-1){a=!1;break}}if(i)a=!1;if(a)n=n.slice(1,-1);else break}return n}_findOptionalInTarget(n){if(!Array.isArray(n))return null;if(n[0]==="?.")return{guard:n[1],rewritten:[".",n[1],n[2]]};if(n[0]==="optindex")return{guard:n[1],rewritten:["[]",n[1],n[2]]};if(n[0]==="."||n[0]==="[]"){let f=this._findOptionalInTarget(n[1]);if(f)return{guard:f.guard,rewritten:[n[0],f.rewritten,n[2]]}}return null}_validateBindingPattern(n,f){if(!Array.isArray(n))return;let e=n[0];if(e==="comprehension"||e==="object-comprehension")this.error(`Cannot use ${e} as a destructuring target`,f);if(e==="array"){for(let a of n.slice(1))this._validateBindingPattern(a,f);return}if(e==="object"){for(let a of n.slice(1)){if(!Array.isArray(a))continue;let i=a[0];if(i===null)this._validateBindingPattern(a[2],f);else if(i===":")this._validateBindingPattern(a[2],f);else if(i==="=")this._validateBindingPattern(a[1],f);else if(i==="...")this._validateBindingPattern(a[1],f);else this.error(`Unexpected object entry '${i}' in destructuring target`,f)}return}if(e==="..."||e==="default"||e==="="){this._validateBindingPattern(n[1],f);return}if(e==="."||e==="[]")return;if(e==="?."||e==="optindex"||e==="optcall")this.error("Cannot use optional chain as a destructuring target",f);this.error(`Cannot use '${e}' expression as a destructuring target`,f)}unwrapLogical(n){if(typeof n!=="string")return n;while(n.startsWith("(")&&n.endsWith(")")){let f=0,e=1/0;for(let a=1;a<n.length-1;a++){if(n[a]==="(")f++;if(n[a]===")")f--;e=Math.min(e,f)}if(e>=0)n=n.slice(1,-1);else break}return n}unwrapIfBranch(n){if(Array.isArray(n)&&n.length===1&&(!Array.isArray(n[0])||n[0][0]!=="block"))return n[0];return n}flattenBinaryChain(n){if(!Array.isArray(n)||n.length<3)return n;let[f,...e]=n;if(f!=="&&"&&f!=="||")return n;let a=[],i=(l)=>{if(Array.isArray(l)&&l[0]===f)for(let u=1;u<l.length;u++)i(l[u]);else a.push(l)};for(let l of e)i(l);return[f,...a]}hasStatementInBranch(n){if(!Array.isArray(n))return!1;if(n.length===1&&Array.isArray(n[0]))return this.hasStatementInBranch(n[0]);let f=n[0];if(f==="return"||f==="throw"||f==="break"||f==="continue")return!0;if(f==="block")return n.slice(1).some((e)=>this.hasStatementInBranch(e));return!1}hasNestedMultiStatement(n){if(!Array.isArray(n))return!1;if(n[0]==="if"){let[f,e,a,...i]=n;return this.is(a,"block")&&a.length>2||i.some((l)=>this.hasNestedMultiStatement(l))}return!1}buildTernaryChain(n){if(n.length===0)return"undefined";let f=this.unwrapIfBranch(n[0]);if(this.is(f,"if")){let[,e,a,...i]=f,l=this.extractExpression(this.unwrapIfBranch(a)),u=this.buildTernaryChain(i);return`(${this.emit(e,"value")} ? ${l} : ${u})`}return this.extractExpression(f)}collectVarsFromArray(n,f){n.slice(1).forEach((e)=>{if(e===","||e==="...")return;if(typeof e==="string"){f.add(e);return}if(Array.isArray(e)){if(e[0]==="..."&&typeof e[1]==="string")f.add(e[1]);else if(e[0]==="="&&typeof e[1]==="string")f.add(e[1]);else if(e[0]==="array")this.collectVarsFromArray(e,f);else if(e[0]==="object")this.collectVarsFromObject(e,f)}})}collectVarsFromLoopHead(n,f){if(!Array.isArray(n))return;n.forEach((e)=>{if(e==null)return;if(typeof e==="string"){f.add(e);return}if(Array.isArray(e)){if(e[0]==="array")this.collectVarsFromArray(e,f);else if(e[0]==="object")this.collectVarsFromObject(e,f)}})}collectVarsFromObject(n,f){n.slice(1).forEach((e)=>{if(!Array.isArray(e))return;if(e[0]==="..."&&typeof e[1]==="string"){f.add(e[1]);return}if(e.length>=2){let[a,i,l]=e;if(a==="="){if(typeof i==="string")f.add(i)}else if(typeof l==="string")f.add(l);else if(Array.isArray(l)){if(l[0]==="array")this.collectVarsFromArray(l,f);else if(l[0]==="object")this.collectVarsFromObject(l,f)}}})}extractStringContent(n){let f=p(n).slice(1,-1),e=Sn(n,"indent");if(e)f=f.replace(new RegExp(`\\n${e}`,"g"),`
2607
+ `);if(Sn(n,"initialChunk")&&f.startsWith(`
2608
+ `))f=f.slice(1);if(Sn(n,"finalChunk")&&f.endsWith(`
2609
+ `))f=f.slice(0,-1);return f}processHeregex(n){let f="",e=!1,a=0,i=()=>{let l=0,u=a-1;while(u>=0&&n[u]==="\\")l++,u--;return l%2===1};while(a<n.length){let l=n[a];if(l==="["&&!i()){e=!0,f+=l,a++;continue}if(l==="]"&&e&&!i()){e=!1,f+=l,a++;continue}if(e){f+=l,a++;continue}if(/\s/.test(l)){a++;continue}if(l==="#"){if(i()){f+=l,a++;continue}let u=a-1;while(u>=0&&n[u]==="\\")u--;if(u<a-1){f+=l,a++;continue}while(a<n.length&&n[a]!==`
2610
+ `)a++;continue}f+=l,a++}return f}addJsExtensionAndAssertions(n){if(n instanceof String)n=p(n);if(typeof n!=="string")return n;let e=n.startsWith('"')||n.startsWith("'")?n.slice(1,-1):n,a=e.startsWith("./")||e.startsWith("../"),i=e,l="";if(a){let u=e.lastIndexOf("/"),t=u>=0?e.substring(u+1):e;if(t.includes(".")){if(t.endsWith(".json"))l=" with { type: 'json' }"}else i=e+".js"}return`'${i}'`+l}containsIt(n){if(!n)return!1;if(n==="it"||n instanceof String&&p(n)==="it")return!0;if(typeof n!=="object")return!1;if(this.is(n,"def")||this.is(n,"->")||this.is(n,"=>"))return!1;if(Array.isArray(n))return n.some((f)=>this.containsIt(f));return!1}containsAwait(n){if(!n)return!1;if(n instanceof String&&Sn(n,"bang")===!0)return!0;if(typeof n!=="object")return!1;if(this.is(n,"await"))return!0;if(this.is(n,"for-as")&&n[3]===!0)return!0;if(this.is(n,"def")||this.is(n,"->")||this.is(n,"=>")||this.is(n,"class"))return!1;if(Array.isArray(n))return n.some((f)=>this.containsAwait(f));return!1}containsYield(n){if(!n)return!1;if(typeof n!=="object")return!1;if(this.is(n,"yield")||this.is(n,"yield-from"))return!0;if(this.is(n,"def")||this.is(n,"->")||this.is(n,"=>")||this.is(n,"class"))return!1;if(Array.isArray(n))return n.some((f)=>this.containsYield(f));return!1}extractMemberName(n){if(this.is(n,".")&&n[1]==="this")return n[2];if(this.is(n,"computed"))return`[${this.emit(n[1],"value")}]`;return n}getReactiveRuntime(){return`// ============================================================================
2595
2611
  // Rip Reactive Runtime
2596
2612
  // A minimal, fine-grained reactivity system
2597
2613
  //
@@ -2889,6 +2905,17 @@ function __batch(fn) {
2889
2905
  }
2890
2906
  }
2891
2907
 
2908
+ // Compare-and-clear a template ref cell on element detach. Uses the
2909
+ // NON-tracking read() so clearing never subscribes the teardown path to
2910
+ // the cell, and only nulls the cell if it still holds THIS element — a
2911
+ // keyed move or a re-render that already pointed the cell elsewhere must
2912
+ // not be clobbered. Writing null notifies subscribers (an effect reading
2913
+ // the ref re-runs when the element disappears); callers wrap teardown in
2914
+ // __batch where parent subscribers may be live.
2915
+ function __detachRef(cell, el) {
2916
+ if (cell && typeof cell.read === 'function' && cell.read() === el) cell.value = null;
2917
+ }
2918
+
2892
2919
  // Returns the AbortSignal of the currently-running effect, or null if
2893
2920
  // called outside an effect or before AbortController is available.
2894
2921
  // Designed for async-aware effect bodies — capture the signal BEFORE
@@ -2948,7 +2975,7 @@ function __catchErrors(fn) {
2948
2975
 
2949
2976
  // Register on globalThis for runtime deduplication
2950
2977
  if (typeof globalThis !== 'undefined') {
2951
- globalThis.__rip = { __state, __computed, __effect, __batch, __readonly, __setErrorHandler, __handleError, __catchErrors, __getEffectSignal };
2978
+ globalThis.__rip = { __state, __computed, __effect, __batch, __detachRef, __readonly, __setErrorHandler, __handleError, __catchErrors, __getEffectSignal };
2952
2979
  // Stdlib-style global so user code can call getEffectSignal() in a
2953
2980
  // ~> body without importing or destructuring. Mirrors how p, pp,
2954
2981
  // assert, etc. are registered for ergonomic use.
@@ -2956,30 +2983,30 @@ if (typeof globalThis !== 'undefined') {
2956
2983
  }
2957
2984
 
2958
2985
  // === End Reactive Runtime ===
2959
- `}}class Ei{constructor(n={}){this.options={showTokens:!1,showSExpr:!1,...n}}compile(n,f){if(f)this.options={...this.options,...f};let e=null,t=n.split(`
2960
- `),i=t.findIndex((y)=>y==="__DATA__");if(i!==-1){let y=t.slice(i+1);e=y.length>0?y.join(`
2986
+ `}}class Si{constructor(n={}){this.options={showTokens:!1,showSExpr:!1,...n}}compile(n,f){if(f)this.options={...this.options,...f};let e=null,a=n.split(`
2987
+ `),i=a.findIndex((m)=>m==="__DATA__");if(i!==-1){let m=a.slice(i+1);e=m.length>0?m.join(`
2961
2988
  `)+`
2962
- `:"",n=t.slice(0,i).join(`
2963
- `)}let u=new vn,l;try{l=u.tokenize(n)}catch(y){throw hi(y,n,this.options.filename)}if(this.options.showTokens)l.forEach((y)=>console.log(`${y[0].padEnd(12)} ${JSON.stringify(y[1])}`)),console.log();let a=null,c=null;if(this.options.types==="emit"||this.options.types==="check"||this.options.types===!0)c=[...l];if(l=l.filter((y)=>y[0]!=="TYPE_DECL"),u.typeRefNames?.size>0&&!this.options.inlineTypes){let y=new Set,R=!1;for(let m of l){if(m[0]==="IMPORT"){R=!0;continue}if(R&&m[0]==="TERMINATOR"){R=!1;continue}if(R)continue;if(m[0]==="IDENTIFIER")y.add(m[1])}let U=(m)=>!y.has(m);for(let m=l.length-1;m>=0;m--){if(l[m][0]!=="IMPORT")continue;let D=m+1;if(D>=l.length)continue;if(l[D][0]==="CALL_START"||l[D][0]==="(")continue;if(l[D][0]==="STRING")continue;let M=-1,q=D;while(q<l.length&&l[q][0]!=="TERMINATOR"){if(M===-1&&l[q][0]==="FROM")M=q;q++}if(M===-1)continue;let S=-1,d=-1;for(let b=m+1;b<M;b++)if(l[b][0]==="{"){S=b;break}if(S!==-1){for(let b=S+1;b<M;b++)if(l[b][0]==="}"){d=b;break}}let K=!1,E=S!==-1?S:M;for(let b=m+1;b<E;b++){let fn=l[b][0];if(fn==="IDENTIFIER"||fn==="*"){K=!0;break}}if(S===-1||d===-1){if(K){let b=[],fn=m+1;while(fn<M)if(l[fn][0]==="AS"&&fn+1<M&&l[fn+1][0]==="IDENTIFIER")b.push(l[fn+1][1]),fn+=2;else if(l[fn][0]==="IDENTIFIER")b.push(l[fn][1]),fn++;else fn++;if(b.length===0||!b.every(U))continue;let Y=q<l.length?q+1:q;l.splice(m,Y-m)}continue}let Z=[],Q=S+1;while(Q<d){let b=Q;while(b<d&&l[b][0]!==",")b++;if(b>Q)Z.push({start:Q,end:b});Q=b+1}for(let b of Z){let fn=null;for(let Y=b.start;Y<b.end;Y++){if(l[Y][0]!=="IDENTIFIER")continue;if(fn===null)fn=l[Y][1];else if(l[Y-1]?.[0]==="AS")fn=l[Y][1]}b.local=fn,b.drop=fn!=null&&U(fn)}if(!Z.some((b)=>b.drop))continue;let C=Z.every((b)=>b.drop),L=[];if(C&&K){let b=m+1;while(b<S)if(l[b][0]==="AS"&&b+1<S&&l[b+1][0]==="IDENTIFIER")L.push(l[b+1][1]),b+=2;else if(l[b][0]==="IDENTIFIER")L.push(l[b][1]),b++;else b++}if(C)if(!K){let b=q<l.length?q+1:q;l.splice(m,b-m)}else if(L.length>0&&L.every(U)){let b=q<l.length?q+1:q;l.splice(m,b-m)}else{let b=S,fn=d+1,Y=S-1;while(Y>m&&l[Y][0]!==","&&l[Y][0]!=="IDENTIFIER"&&l[Y][0]!=="*")Y--;if(Y>m&&l[Y][0]===",")b=Y;l.splice(b,fn-b)}else for(let b=Z.length-1;b>=0;b--){let fn=Z[b];if(!fn.drop)continue;let{start:Y,end:Un}=fn;if(Un<d&&l[Un][0]===",")Un++;else if(Y>S+1&&l[Y-1][0]===",")Y--;l.splice(Y,Un-Y)}}}while(l.length>0&&l[0][0]==="TERMINATOR")l.shift();if(l.every((y)=>y[0]==="TERMINATOR")){if(c&&Ii)a=Ii(c,["program"],n);return{tokens:l,sexpr:["program"],code:"",dts:a,data:e,reactiveVars:{},gates:[]}}let r=null;Nn.lexer={tokens:l,pos:0,setInput:function(){},lex:function(){if(this.pos>=this.tokens.length)return 1;let y=this.tokens[this.pos++],R=y[1];if(y.data)R=new String(R),Object.assign(R,y.data);return this.text=R,this.loc=y.loc,this.line=y.loc?.r,r=y.loc,y[0]}},Ol(!!this.options.exactMarks);let h;try{h=Nn.parse(n)}catch(y){if(/\?\s*\([^)]*\?[^)]*:[^)]*\)\s*:/.test(n)||/\?\s+\w+\s+\?\s+/.test(n))throw new Hn("Nested ternary operators are not supported",{code:"E_PARSE",source:n,file:this.options.filename,suggestion:"Use if/else statements instead.",phase:"parser"});let R=hi(y,n,this.options.filename);if(R.phase==="parser"&&r)R.line=r.r??R.line,R.column=r.c??R.column,R.length=r.n||1;throw R}if(this.options.showSExpr)console.log(gn(h,0,!0)),console.log();let o=null;if(this.options.sourceMap){let y=(this.options.filename||"output")+".js",R=this.options.filename||"input.rip";o=new _l(y,R,n)}let s=new Fn({dataSection:e,source:n,filename:this.options.filename,skipPreamble:this.options.skipPreamble,skipRuntimes:this.options.skipRuntimes,skipExports:this.options.skipExports,skipImports:this.options.skipImports,skipDataPart:this.options.skipDataPart,stubComponents:this.options.stubComponents,reactiveVars:this.options.reactiveVars,inlineTypes:this.options.inlineTypes,schemaMode:this.options.schemaMode,foldProjections:this.options.foldProjections,exactMarks:this.options.exactMarks,sourceMap:o}),w=s.compile(h),_=o?o.toJSON():null,A=o?o.toReverseMap():null;if(_&&this.options.sourceMap==="inline"){let y;if(typeof Buffer<"u")y=Buffer.from(_,"utf8").toString("base64");else{let R=new TextEncoder().encode(_),U="";for(let m=0;m<R.length;m++)U+=String.fromCharCode(R[m]);y=btoa(U)}w+=`
2964
- //# sourceMappingURL=data:application/json;base64,${y}`}else if(_&&this.options.filename)w+=`
2965
- //# sourceMappingURL=${this.options.filename}.js.map`;if(c&&Ii)a=Ii(c,h,n,s._schemaBehavior,s._schemaAnon);return{tokens:l,sexpr:h,code:w,dts:a,map:_,reverseMap:A,data:e,reactiveVars:s.reactiveVars,gates:s._gateDecls||[]}}compileToJS(n){return this.compile(n).code}compileToSExpr(n){return this.compile(n).sexpr}}Ef(Fn,vn);Fn.prototype.emitEnum=function(f,e,t){let[i,u]=e,l=i?.valueOf?.()??i,a=[];if(Array.isArray(u)){let h=u[0]==="block"?u.slice(1):[u];for(let o of h)if(Array.isArray(o)){if(o[0]?.valueOf?.()==="="){let s=o[1]?.valueOf?.()??o[1],w=o[2]?.valueOf?.()??o[2];a.push([s,w])}}}if(a.length===0)return`const ${l} = {}`;let c=a.map(([h,o])=>`${h}: ${o}`).join(", "),r=a.map(([h,o])=>`${o}: "${h}"`).join(", ");return`const ${l} = {${c}, ${r}}`};Yi(null,Fn);function Bi(n,f={}){return new Ei(f).compile(n)}function Tn(n,f={}){return new Ei(f).compileToJS(n)}function di(){return new Fn({}).getReactiveRuntime()}function Fi(){return new Fn({}).getComponentRuntime()}var Qf="3.17.4",Wf="2026-06-28@05:09:42GMT";if(typeof globalThis<"u"){if(!globalThis.__rip)Function(di())();if(!globalThis.__ripComponent)Function(Fi())()}var Xt=(n)=>{let f=n.match(/^[ \t]*(?=\S)/gm),e=Math.min(...(f||[]).map((t)=>t.length));return n.replace(RegExp(`^[ ]{${e}}`,"gm"),"").trim()},Al=(n)=>String(n).replace(/[\r\n]/g,"").replace(/\s+$/g,"");function yl(n){let f=/^(\s*)import\s+([^'"]+?)\s+from\s+['"](@rip-lang\/[^'"]+)['"];?\s*$/gm;return n.replace(f,(e,t,i,u)=>{let l=i.trim();if(l.startsWith("type "))return`${t}// type-only import erased: ${u}`;let a=l.indexOf("{"),c=l.lastIndexOf("}");if(a<0||c<=a)return console.warn(`[Rip] Skipping non-named import from ${u}; only \`import { … } from '@rip-lang/*'\` is supported in browser bundles.`),e;let r=l.slice(a+1,c),h=[];for(let o of r.split(",")){let s=o.trim().replace(/^type\s+/,"");if(!s)continue;if(/\s+as\s+/.test(s)){let[w,_]=s.split(/\s+as\s+/).map((A)=>A.trim());h.push(`${w}: ${_}`)}else h.push(s)}if(h.length===0)return`${t}// import erased: ${u}`;return`${t}const { ${h.join(", ")} } = globalThis;`})}function Jf(n,f){let t=`//# sourceURL=${Al(f)}`,i=/\n?\/\/# sourceMappingURL=[^\n]*\s*$/,u=n.match(i);if(u)return n.slice(0,u.index)+`
2966
- `+t+n.slice(u.index);return n+`
2967
- `+t}function Yf(n,f){if(!f)return n;return n.replace(/\/\/# sourceMappingURL=data:application\/json;base64,([A-Za-z0-9+/=]+)/,(e,t)=>{let i;try{let c=atob(t),r=new Uint8Array(c.length);for(let h=0;h<c.length;h++)r[h]=c.charCodeAt(h);i=new TextDecoder().decode(r)}catch{return e}let u;try{u=JSON.parse(i)}catch{return e}u.mappings=";".repeat(f)+u.mappings;let l=new TextEncoder().encode(JSON.stringify(u)),a="";for(let c=0;c<l.length;c++)a+=String.fromCharCode(l[c]);return`//# sourceMappingURL=data:application/json;base64,${btoa(a)}`})}function Pt(n,f){let e=`${Al(f)}.js`,t=Yf(n,1);return`(async()=>{
2968
- ${Jf(t,e)}
2969
- })()`}if(typeof globalThis<"u")globalThis.__ripDebug={enabled:!0,offsetSourceMap:Yf,addSourceURL:Jf,sanitizeSourceURL:Al};function _i(n,f,e,t=[]){let i=n?.getAttribute(f);if(i==null)return e;let u=i.trim().toLowerCase();if(u===""||u==="true"||u==="on"||u==="yes"||u==="1")return!0;if(u==="false"||u==="off"||u==="no"||u==="0")return!1;if(t.includes(u))return u;return console.error(`Rip: invalid ${f}="${i}" (expected ${["true","false",...t].join(" | ")}); using ${JSON.stringify(e)}`),e}async function Zf(){let n=[],f,e=document.querySelector('script[src$="rip.min.js"], script[src$="rip.js"]'),t=e?.getAttribute("data-src")?.trim();if(t)for(let l of t.split(/\s+/))n.push({url:l});for(let l of document.querySelectorAll('script[type="text/rip"]'))if(l.src)n.push({url:l.src});else{let a=Xt(l.textContent);if(a)n.push({code:a})}if(n.length>0){let l=await Promise.allSettled(n.map(async(s)=>{if(!s.url)return;let w=await fetch(s.url);if(!w.ok)throw Error(`${s.url} (${w.status})`);if(s.url.endsWith(".rip"))s.code=await w.text();else{let _=await w.json();s.bundle=_}}));for(let s=0;s<l.length;s++){let w=l[s];if(w.status==="rejected"&&!n[s].optional)console.warn("Rip: fetch failed:",w.reason.message)}let a=[],c=[];for(let s of n)if(s.bundle)a.push(s.bundle);else if(s.code)c.push(s);f=a[a.length-1];let r=_i(e,"data-router","auto",["hash","history"]),h,o;if(r==="auto")h=!!f?.data?.router,o=!1;else h=r!==!1,o=r==="hash";if(h&&a.length>0){let s=_i(e,"data-debug",!0);if(globalThis.__ripDebug)globalThis.__ripDebug.enabled=s;let w={skipRuntimes:!0,skipExports:!0,skipImports:!0},_=0;for(let y of c){let R=y.url||`inline-${++_}.rip`,U=s?{...w,sourceMap:"inline",filename:R}:w,m;try{m=yl(Tn(y.code,U))}catch(D){console.error(ei(D,{source:y.code,file:R,color:!1}));continue}try{await(0,eval)(s?Pt(m,R):`(async()=>{
2970
- ${m}
2971
- })()`)}catch(D){console.error(`Rip runtime error in ${R}:`,D)}}let A=ri.modules?.["app.rip"];if(A?.launch){let y=_i(e,"data-persist",!1,["session","local"]),R={bundle:f,hash:o};if(y)R.persist=y==="local"?"local":!0;await A.launch(R)}}else{let s=[];for(let R of a){let U=R.modules||R.components||{};for(let[m,D]of Object.entries(U))s.push({code:D,url:m});if(R.data){let m=e?.getAttribute("data-state"),D={};if(m)try{D=JSON.parse(m)}catch{}Object.assign(D,R.data),e?.setAttribute("data-state",JSON.stringify(D))}}if(s.push(...c),a.length>0&&typeof globalThis.createComponents==="function"){let R=globalThis.createComponents();for(let U of a){let m=U.modules||U.components;if(m)R.load(m)}if(typeof window<"u"){if(!window.__RIP__)window.__RIP__={};window.__RIP__.components=R}}let w=_i(e,"data-debug",!0);if(globalThis.__ripDebug)globalThis.__ripDebug.enabled=w;let _={skipRuntimes:!0,skipExports:!0,skipImports:!0},A=[],y=0;for(let R of s){if(!R.code)continue;let U=R.url||`inline-${++y}.rip`,m=w?{..._,sourceMap:"inline",filename:U}:_;try{let D=yl(Tn(R.code,m));A.push({js:D,url:U})}catch(D){console.error(ei(D,{source:R.code,file:U,color:!1}))}}if(!globalThis.__ripApp&&e){let R=globalThis.createStash;if(R){let U={},m=e.getAttribute("data-state");if(m)try{U=JSON.parse(m)}catch(q){console.error("Rip: invalid data-state JSON:",q.message)}let D=R({data:U});if(globalThis.__ripApp=D,typeof window<"u")window.app=D;let M=_i(e,"data-persist",!1,["session","local"]);if(M&&globalThis.persistStash)globalThis.persistStash(D,{local:M==="local"})}}if(A.length>0){let R=e?.getAttribute("data-mount"),U=e?.getAttribute("data-target")||"body",m=R?`
2972
- ${R}.mount(${JSON.stringify(U)});
2973
- `:"",D=df(A.map((S)=>({js:S.js}))),M=R?D.replace(/(\n\/\/# sourceMappingURL=[^\n]*\n?)?$/,m+"$1"):D,q=!0;try{await(0,eval)(`(async()=>{
2974
- ${M}
2975
- })()`)}catch(S){if(q=!1,S instanceof SyntaxError)console.error(`Rip syntax error: ${S.message}`);else console.error("Rip runtime error:",S)}if(q)document.body.classList.add("ready")}}}let i=_i(e,"data-reload","auto");if((i==="auto"?!!f?.data?.watch:i===!0)&&!globalThis.__ripLaunched){let l=!1,a=1000,c=30000,r=()=>{let h=new EventSource("/watch");h.addEventListener("connected",()=>{if(a=1000,l)location.reload();l=!0}),h.addEventListener("reload",(o)=>{if(o.data==="styles"){let s=Date.now(),w=0;if(document.querySelectorAll('link[rel="stylesheet"]').forEach((_)=>{if(new URL(_.href).origin!==location.origin)return;let A=new URL(_.href);A.searchParams.set("_r",s),_.href=A.toString(),w++}),!w)location.reload()}else location.reload()}),h.onerror=()=>{h.close(),setTimeout(r,a),a=Math.min(a*2,c)}};r()}}async function ri(n){for(let[l,a]of Object.entries(ri.modules))if(n.includes(l))return a;let f=await fetch(n).then((l)=>{if(!l.ok)throw Error(`importRip: ${n} (${l.status})`);return l.text()}),e=yl(Tn(f)),t=`// ${n}
2976
- `,i=new Blob([t+e],{type:"application/javascript"});return await import(URL.createObjectURL(i))}ri.modules={};function Gf(n){try{let f=n.replace(/^/gm," "),t=Tn(`do ->
2977
- ${f}`).replace(/^let\s+[^;]+;\s*\n\s*/m,"");t=t.replace(/^const\s+(\w+)\s*=/gm,"globalThis.$1 =");let i=(0,eval)(t);if(i&&typeof i.then==="function")return i.then((u)=>{if(u!==void 0)globalThis._=u;return u});if(i!==void 0)globalThis._=i;return i}catch(f){console.error(ei(f,{source:n,color:!1}));return}}if(typeof globalThis<"u")globalThis.rip=Gf,globalThis.importRip=ri,globalThis.compileToJS=Tn,globalThis.__ripExports={compile:Bi,compileToJS:Tn,formatSExpr:gn,getStdlibCode:oi,VERSION:Qf,BUILD_DATE:Wf,getReactiveRuntime:di,getComponentRuntime:Fi};if(typeof document<"u")globalThis.__ripScriptsReady=new Promise((n)=>{let f=()=>Zf().then(n);if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",()=>queueMicrotask(f));else queueMicrotask(f)});var $i={};Nl($i,{unwrapStash:()=>Zn,throttle:()=>jt,source:()=>vt,setContext:()=>Ot,persistStash:()=>mu,launch:()=>pt,hold:()=>Lt,hasContext:()=>gt,getContext:()=>It,delay:()=>yu,debounce:()=>Vt,createStash:()=>_u,createRouter:()=>Du,createResource:()=>Bt,createRenderer:()=>Ru,createMutation:()=>Tt,createComponents:()=>Au});var Kl,Nf,Dl,bf,Vi,Xf,Ql,Li,pi,Pf,Of,If,ji,gf,ni,xi,Sn,Ci,zi,Bf,Cf,vf,Wl,Tf,Vf,Ai,Kn,jf,Lf,pf,xf,$f,kf,nu,iu,lu,Mi,Qn,Rl,vi,Qi,Ml,fu,Wi,mi,Ul,Ui,uu,Ti,kn,eu,ql,tu,au,Sl,Hi,El,Jl,ru,dl,Wn,Di,xn,Yl,Zl,cu,Fl,hu,Ri,su,zl,Ki,ou,ci,wu,yi,$n,Hl;globalThis.abort??=(n)=>{if(n)console.error(n);process.exit(1)};globalThis.assert??=(n,f)=>{if(!n)throw Error(f||"Assertion failed")};globalThis.exit??=(n)=>process.exit(n||0);globalThis.kind??=(n)=>n!=null?(n.constructor?.name||Object.prototype.toString.call(n).slice(8,-1)).toLowerCase():String(n);globalThis.noop??=()=>{};globalThis.p??=console.log;globalThis.pp??=(n)=>{return console.dir(n,{depth:null,colors:!0}),n};globalThis.pj??=(n)=>{return console.log(JSON.stringify(n,null,2)),n};globalThis.pr??=(()=>{let n=/^[A-Za-z_$][A-Za-z0-9_$]*$/,f=(u,l)=>u.replace(/\\/g,"\\\\").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(new RegExp(l,"g"),"\\"+l),e=(u)=>!u.includes("'")?"'"+f(u,"'")+"'":!u.includes('"')?'"'+f(u,'"').split("#{").join("\\#{")+'"':"'"+f(u,"'")+"'",t=(u)=>{if(typeof u==="symbol"){let l=Symbol.keyFor(u);return l&&n.test(l)?":"+l:e(String(u))}return n.test(u)?u:e(u)},i=(u,l)=>{if(u===null)return"null";if(u===void 0)return"undefined";let a=typeof u;if(a==="number"||a==="boolean")return String(u);if(a==="string")return e(u);if(a==="symbol"){let c=Symbol.keyFor(u);return c&&n.test(c)?":"+c:null}if(Array.isArray(u)){if(u.length===0)return"[]";let c=" ".repeat(l+1),r=" ".repeat(l);return`[
2978
- `+c+u.map((h)=>i(h,l+1)??"null").join(`
2989
+ `:"",n=a.slice(0,i).join(`
2990
+ `)}let l=new Tn,u;try{u=l.tokenize(n)}catch(m){throw hi(m,n,this.options.filename)}if(this.options.showTokens)u.forEach((m)=>console.log(`${m[0].padEnd(12)} ${JSON.stringify(m[1])}`)),console.log();let t=null,c=null;if(this.options.types==="emit"||this.options.types==="check"||this.options.types===!0)c=[...u];if(u=u.filter((m)=>m[0]!=="TYPE_DECL"),l.typeRefNames?.size>0&&!this.options.inlineTypes){let m=new Set,D=!1;for(let R of u){if(R[0]==="IMPORT"){D=!0;continue}if(D&&R[0]==="TERMINATOR"){D=!1;continue}if(D)continue;if(R[0]==="IDENTIFIER")m.add(R[1])}let U=(R)=>!m.has(R);for(let R=u.length-1;R>=0;R--){if(u[R][0]!=="IMPORT")continue;let A=R+1;if(A>=u.length)continue;if(u[A][0]==="CALL_START"||u[A][0]==="(")continue;if(u[A][0]==="STRING")continue;let E=-1,M=A;while(M<u.length&&u[M][0]!=="TERMINATOR"){if(E===-1&&u[M][0]==="FROM")E=M;M++}if(E===-1)continue;let q=-1,S=-1;for(let b=R+1;b<E;b++)if(u[b][0]==="{"){q=b;break}if(q!==-1){for(let b=q+1;b<E;b++)if(u[b][0]==="}"){S=b;break}}let Q=!1,F=q!==-1?q:E;for(let b=R+1;b<F;b++){let ln=u[b][0];if(ln==="IDENTIFIER"||ln==="*"){Q=!0;break}}if(q===-1||S===-1){if(Q){let b=[],ln=R+1;while(ln<E)if(u[ln][0]==="AS"&&ln+1<E&&u[ln+1][0]==="IDENTIFIER")b.push(u[ln+1][1]),ln+=2;else if(u[ln][0]==="IDENTIFIER")b.push(u[ln][1]),ln++;else ln++;if(b.length===0||!b.every(U))continue;let nn=M<u.length?M+1:M;u.splice(R,nn-R)}continue}let K=[],H=q+1;while(H<S){let b=H;while(b<S&&u[b][0]!==",")b++;if(b>H)K.push({start:H,end:b});H=b+1}for(let b of K){let ln=null;for(let nn=b.start;nn<b.end;nn++){if(u[nn][0]!=="IDENTIFIER")continue;if(ln===null)ln=u[nn][1];else if(u[nn-1]?.[0]==="AS")ln=u[nn][1]}b.local=ln,b.drop=ln!=null&&U(ln)}if(!K.some((b)=>b.drop))continue;let B=K.every((b)=>b.drop),j=[];if(B&&Q){let b=R+1;while(b<q)if(u[b][0]==="AS"&&b+1<q&&u[b+1][0]==="IDENTIFIER")j.push(u[b+1][1]),b+=2;else if(u[b][0]==="IDENTIFIER")j.push(u[b][1]),b++;else b++}if(B)if(!Q){let b=M<u.length?M+1:M;u.splice(R,b-R)}else if(j.length>0&&j.every(U)){let b=M<u.length?M+1:M;u.splice(R,b-R)}else{let b=q,ln=S+1,nn=q-1;while(nn>R&&u[nn][0]!==","&&u[nn][0]!=="IDENTIFIER"&&u[nn][0]!=="*")nn--;if(nn>R&&u[nn][0]===",")b=nn;u.splice(b,ln-b)}else for(let b=K.length-1;b>=0;b--){let ln=K[b];if(!ln.drop)continue;let{start:nn,end:N}=ln;if(N<S&&u[N][0]===",")N++;else if(nn>q+1&&u[nn-1][0]===",")nn--;u.splice(nn,N-nn)}}}while(u.length>0&&u[0][0]==="TERMINATOR")u.shift();if(u.every((m)=>m[0]==="TERMINATOR")){if(c&&Pi)t=Pi(c,["program"],n);return{tokens:u,sexpr:["program"],code:"",dts:t,data:e,reactiveVars:{},gates:[]}}let r=null;bn.lexer={tokens:u,pos:0,setInput:function(){},lex:function(){if(this.pos>=this.tokens.length)return 1;let m=this.tokens[this.pos++],D=m[1];if(m.data)D=new String(D),Object.assign(D,m.data);return this.text=D,this.loc=m.loc,this.line=m.loc?.r,r=m.loc,m[0]}},Pu(!!this.options.exactMarks);let h;try{h=bn.parse(n)}catch(m){if(/\?\s*\([^)]*\?[^)]*:[^)]*\)\s*:/.test(n)||/\?\s+\w+\s+\?\s+/.test(n))throw new Kn("Nested ternary operators are not supported",{code:"E_PARSE",source:n,file:this.options.filename,suggestion:"Use if/else statements instead.",phase:"parser"});let D=hi(m,n,this.options.filename);if(D.phase==="parser"&&r)D.line=r.r??D.line,D.column=r.c??D.column,D.length=r.n||1;throw D}if(this.options.showSExpr)console.log(gn(h,0,!0)),console.log();let o=null;if(this.options.sourceMap){let m=(this.options.filename||"output")+".js",D=this.options.filename||"input.rip";o=new _u(m,D,n)}let s=new zn({dataSection:e,source:n,filename:this.options.filename,skipPreamble:this.options.skipPreamble,skipRuntimes:this.options.skipRuntimes,skipExports:this.options.skipExports,skipImports:this.options.skipImports,skipDataPart:this.options.skipDataPart,stubComponents:this.options.stubComponents,reactiveVars:this.options.reactiveVars,inlineTypes:this.options.inlineTypes,schemaMode:this.options.schemaMode,foldProjections:this.options.foldProjections,exactMarks:this.options.exactMarks,sourceMap:o}),w=s.compile(h),_=o?o.toJSON():null,y=o?o.toReverseMap():null;if(_&&this.options.sourceMap==="inline"){let m;if(typeof Buffer<"u")m=Buffer.from(_,"utf8").toString("base64");else{let D=new TextEncoder().encode(_),U="";for(let R=0;R<D.length;R++)U+=String.fromCharCode(D[R]);m=btoa(U)}w+=`
2991
+ //# sourceMappingURL=data:application/json;base64,${m}`}else if(_&&this.options.filename)w+=`
2992
+ //# sourceMappingURL=${this.options.filename}.js.map`;if(c&&Pi)t=Pi(c,h,n,s._schemaBehavior,s._schemaAnon);return{tokens:u,sexpr:h,code:w,dts:t,map:_,reverseMap:y,data:e,reactiveVars:s.reactiveVars,gates:s._gateDecls||[]}}compileToJS(n){return this.compile(n).code}compileToSExpr(n){return this.compile(n).sexpr}}Sf(zn,Tn);zn.prototype.emitEnum=function(f,e,a){let[i,l]=e,u=i?.valueOf?.()??i,t=[];if(Array.isArray(l)){let h=l[0]==="block"?l.slice(1):[l];for(let o of h)if(Array.isArray(o)){if(o[0]?.valueOf?.()==="="){let s=o[1]?.valueOf?.()??o[1],w=o[2]?.valueOf?.()??o[2];t.push([s,w])}}}if(t.length===0)return`const ${u} = {}`;let c=t.map(([h,o])=>`${h}: ${o}`).join(", "),r=t.map(([h,o])=>`${o}: "${h}"`).join(", ");return`const ${u} = {${c}, ${r}}`};di(null,zn);function Bi(n,f={}){return new Si(f).compile(n)}function jn(n,f={}){return new Si(f).compileToJS(n)}function Fi(){return new zn({}).getReactiveRuntime()}function zi(){return new zn({}).getComponentRuntime()}var Wf="3.17.5",Jf="2026-06-30@02:46:06GMT";if(typeof globalThis<"u"){if(!globalThis.__rip)Function(Fi())();if(!globalThis.__ripComponent)Function(zi())()}var Ba=(n)=>{let f=n.match(/^[ \t]*(?=\S)/gm),e=Math.min(...(f||[]).map((a)=>a.length));return n.replace(RegExp(`^[ ]{${e}}`,"gm"),"").trim()},Au=(n)=>String(n).replace(/[\r\n]/g,"").replace(/\s+$/g,"");function yu(n){let f=/^(\s*)import\s+([^'"]+?)\s+from\s+['"](@rip-lang\/[^'"]+)['"];?\s*$/gm;return n.replace(f,(e,a,i,l)=>{let u=i.trim();if(u.startsWith("type "))return`${a}// type-only import erased: ${l}`;let t=u.indexOf("{"),c=u.lastIndexOf("}");if(t<0||c<=t)return console.warn(`[Rip] Skipping non-named import from ${l}; only \`import { … } from '@rip-lang/*'\` is supported in browser bundles.`),e;let r=u.slice(t+1,c),h=[];for(let o of r.split(",")){let s=o.trim().replace(/^type\s+/,"");if(!s)continue;if(/\s+as\s+/.test(s)){let[w,_]=s.split(/\s+as\s+/).map((y)=>y.trim());h.push(`${w}: ${_}`)}else h.push(s)}if(h.length===0)return`${a}// import erased: ${l}`;return`${a}const { ${h.join(", ")} } = globalThis;`})}function Yf(n,f){let a=`//# sourceURL=${Au(f)}`,i=/\n?\/\/# sourceMappingURL=[^\n]*\s*$/,l=n.match(i);if(l)return n.slice(0,l.index)+`
2993
+ `+a+n.slice(l.index);return n+`
2994
+ `+a}function df(n,f){if(!f)return n;return n.replace(/\/\/# sourceMappingURL=data:application\/json;base64,([A-Za-z0-9+/=]+)/,(e,a)=>{let i;try{let c=atob(a),r=new Uint8Array(c.length);for(let h=0;h<c.length;h++)r[h]=c.charCodeAt(h);i=new TextDecoder().decode(r)}catch{return e}let l;try{l=JSON.parse(i)}catch{return e}l.mappings=";".repeat(f)+l.mappings;let u=new TextEncoder().encode(JSON.stringify(l)),t="";for(let c=0;c<u.length;c++)t+=String.fromCharCode(u[c]);return`//# sourceMappingURL=data:application/json;base64,${btoa(t)}`})}function ga(n,f){let e=`${Au(f)}.js`,a=df(n,1);return`(async()=>{
2995
+ ${Yf(a,e)}
2996
+ })()`}if(typeof globalThis<"u")globalThis.__ripDebug={enabled:!0,offsetSourceMap:df,addSourceURL:Yf,sanitizeSourceURL:Au};function _i(n,f,e,a=[]){let i=n?.getAttribute(f);if(i==null)return e;let l=i.trim().toLowerCase();if(l===""||l==="true"||l==="on"||l==="yes"||l==="1")return!0;if(l==="false"||l==="off"||l==="no"||l==="0")return!1;if(a.includes(l))return l;return console.error(`Rip: invalid ${f}="${i}" (expected ${["true","false",...a].join(" | ")}); using ${JSON.stringify(e)}`),e}async function Zf(){let n=[],f,e=document.querySelector('script[src$="rip.min.js"], script[src$="rip.js"]'),a=e?.getAttribute("data-src")?.trim();if(a)for(let u of a.split(/\s+/))n.push({url:u});for(let u of document.querySelectorAll('script[type="text/rip"]'))if(u.src)n.push({url:u.src});else{let t=Ba(u.textContent);if(t)n.push({code:t})}if(n.length>0){let u=await Promise.allSettled(n.map(async(s)=>{if(!s.url)return;let w=await fetch(s.url);if(!w.ok)throw Error(`${s.url} (${w.status})`);if(s.url.endsWith(".rip"))s.code=await w.text();else{let _=await w.json();s.bundle=_}}));for(let s=0;s<u.length;s++){let w=u[s];if(w.status==="rejected"&&!n[s].optional)console.warn("Rip: fetch failed:",w.reason.message)}let t=[],c=[];for(let s of n)if(s.bundle)t.push(s.bundle);else if(s.code)c.push(s);f=t[t.length-1];let r=_i(e,"data-router","auto",["hash","history"]),h,o;if(r==="auto")h=!!f?.data?.router,o=!1;else h=r!==!1,o=r==="hash";if(h&&t.length>0){let s=_i(e,"data-debug",!0);if(globalThis.__ripDebug)globalThis.__ripDebug.enabled=s;let w={skipRuntimes:!0,skipExports:!0,skipImports:!0},_=0;for(let m of c){let D=m.url||`inline-${++_}.rip`,U=s?{...w,sourceMap:"inline",filename:D}:w,R;try{R=yu(jn(m.code,U))}catch(A){console.error(ei(A,{source:m.code,file:D,color:!1}));continue}try{await(0,eval)(s?ga(R,D):`(async()=>{
2997
+ ${R}
2998
+ })()`)}catch(A){console.error(`Rip runtime error in ${D}:`,A)}}let y=ri.modules?.["app.rip"];if(y?.launch){let m=_i(e,"data-persist",!1,["session","local"]),D={bundle:f,hash:o};if(m)D.persist=m==="local"?"local":!0;await y.launch(D)}}else{let s=[];for(let D of t){let U=D.modules||D.components||{};for(let[R,A]of Object.entries(U))s.push({code:A,url:R});if(D.data){let R=e?.getAttribute("data-state"),A={};if(R)try{A=JSON.parse(R)}catch{}Object.assign(A,D.data),e?.setAttribute("data-state",JSON.stringify(A))}}if(s.push(...c),t.length>0&&typeof globalThis.createComponents==="function"){let D=globalThis.createComponents();for(let U of t){let R=U.modules||U.components;if(R)D.load(R)}if(typeof window<"u"){if(!window.__RIP__)window.__RIP__={};window.__RIP__.components=D}}let w=_i(e,"data-debug",!0);if(globalThis.__ripDebug)globalThis.__ripDebug.enabled=w;let _={skipRuntimes:!0,skipExports:!0,skipImports:!0},y=[],m=0;for(let D of s){if(!D.code)continue;let U=D.url||`inline-${++m}.rip`,R=w?{..._,sourceMap:"inline",filename:U}:_;try{let A=yu(jn(D.code,R));y.push({js:A,url:U})}catch(A){console.error(ei(A,{source:D.code,file:U,color:!1}))}}if(!globalThis.__ripApp&&e){let D=globalThis.createStash;if(D){let U={},R=e.getAttribute("data-state");if(R)try{U=JSON.parse(R)}catch(M){console.error("Rip: invalid data-state JSON:",M.message)}let A=D({data:U});if(globalThis.__ripApp=A,typeof window<"u")window.app=A;let E=_i(e,"data-persist",!1,["session","local"]);if(E&&globalThis.persistStash)globalThis.persistStash(A,{local:E==="local"})}}if(y.length>0){let D=e?.getAttribute("data-mount"),U=e?.getAttribute("data-target")||"body",R=D?`
2999
+ ${D}.mount(${JSON.stringify(U)});
3000
+ `:"",A=Ff(y.map((q)=>({js:q.js}))),E=D?A.replace(/(\n\/\/# sourceMappingURL=[^\n]*\n?)?$/,R+"$1"):A,M=!0;try{await(0,eval)(`(async()=>{
3001
+ ${E}
3002
+ })()`)}catch(q){if(M=!1,q instanceof SyntaxError)console.error(`Rip syntax error: ${q.message}`);else console.error("Rip runtime error:",q)}if(M)document.body.classList.add("ready")}}}let i=_i(e,"data-reload","auto");if((i==="auto"?!!f?.data?.watch:i===!0)&&!globalThis.__ripLaunched){let u=!1,t=1000,c=30000,r=()=>{let h=new EventSource("/watch");h.addEventListener("connected",()=>{if(t=1000,u)location.reload();u=!0}),h.addEventListener("reload",(o)=>{if(o.data==="styles"){let s=Date.now(),w=0;if(document.querySelectorAll('link[rel="stylesheet"]').forEach((_)=>{if(new URL(_.href).origin!==location.origin)return;let y=new URL(_.href);y.searchParams.set("_r",s),_.href=y.toString(),w++}),!w)location.reload()}else location.reload()}),h.onerror=()=>{h.close(),setTimeout(r,t),t=Math.min(t*2,c)}};r()}}async function ri(n){for(let[u,t]of Object.entries(ri.modules))if(n.includes(u))return t;let f=await fetch(n).then((u)=>{if(!u.ok)throw Error(`importRip: ${n} (${u.status})`);return u.text()}),e=yu(jn(f)),a=`// ${n}
3003
+ `,i=new Blob([a+e],{type:"application/javascript"});return await import(URL.createObjectURL(i))}ri.modules={};function Gf(n){try{let f=n.replace(/^/gm," "),a=jn(`do ->
3004
+ ${f}`).replace(/^let\s+[^;]+;\s*\n\s*/m,"");a=a.replace(/^const\s+(\w+)\s*=/gm,"globalThis.$1 =");let i=(0,eval)(a);if(i&&typeof i.then==="function")return i.then((l)=>{if(l!==void 0)globalThis._=l;return l});if(i!==void 0)globalThis._=i;return i}catch(f){console.error(ei(f,{source:n,color:!1}));return}}if(typeof globalThis<"u")globalThis.rip=Gf,globalThis.importRip=ri,globalThis.compileToJS=jn,globalThis.__ripExports={compile:Bi,compileToJS:jn,formatSExpr:gn,getStdlibCode:oi,VERSION:Wf,BUILD_DATE:Jf,getReactiveRuntime:Fi,getComponentRuntime:zi};if(typeof document<"u")globalThis.__ripScriptsReady=new Promise((n)=>{let f=()=>Zf().then(n);if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",()=>queueMicrotask(f));else queueMicrotask(f)});var xi={};Xu(xi,{unwrapStash:()=>Xn,throttle:()=>nt,source:()=>xa,setContext:()=>Ca,persistStash:()=>yl,launch:()=>ut,hold:()=>it,hasContext:()=>Ta,getContext:()=>va,delay:()=>Al,debounce:()=>ka,currentRouter:()=>ja,currentApp:()=>Va,createStash:()=>ml,createRouter:()=>Rl,createResource:()=>La,createRenderer:()=>Ml,createMutation:()=>$a,createComponents:()=>Dl});var Qu,Xf,Du,bf,Ti,Nf,Wu,ji,Li,Of,Pf,If,Vi,Bf,ni,pi,Fn,gf,gi,Hi,Cf,vf,Tf,Ju,Vf,jf,Ai,Wn,Lf,pf,xf,$f,kf,nl,il,ul,fl,Mi,Jn,Ru,Ci,Wi,Mu,ll,Ji,mi,Uu,Ui,el,vi,kn,al,qu,tl,rl,Eu,Ki,Su,Yu,cl,Fu,Yn,Di,xn,du,Zu,hl,zu,sl,Ri,ol,Hu,Qi,wl,ci,_l,yi,$n,Ku;globalThis.abort??=(n)=>{if(n)console.error(n);process.exit(1)};globalThis.assert??=(n,f)=>{if(!n)throw Error(f||"Assertion failed")};globalThis.exit??=(n)=>process.exit(n||0);globalThis.kind??=(n)=>n!=null?(n.constructor?.name||Object.prototype.toString.call(n).slice(8,-1)).toLowerCase():String(n);globalThis.noop??=()=>{};globalThis.p??=console.log;globalThis.pp??=(n)=>{return console.dir(n,{depth:null,colors:!0}),n};globalThis.pj??=(n)=>{return console.log(JSON.stringify(n,null,2)),n};globalThis.pr??=(()=>{let n=/^[A-Za-z_$][A-Za-z0-9_$]*$/,f=(l,u)=>l.replace(/\\/g,"\\\\").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(new RegExp(u,"g"),"\\"+u),e=(l)=>!l.includes("'")?"'"+f(l,"'")+"'":!l.includes('"')?'"'+f(l,'"').split("#{").join("\\#{")+'"':"'"+f(l,"'")+"'",a=(l)=>{if(typeof l==="symbol"){let u=Symbol.keyFor(l);return u&&n.test(u)?":"+u:e(String(l))}return n.test(l)?l:e(l)},i=(l,u)=>{if(l===null)return"null";if(l===void 0)return"undefined";let t=typeof l;if(t==="number"||t==="boolean")return String(l);if(t==="string")return e(l);if(t==="symbol"){let c=Symbol.keyFor(l);return c&&n.test(c)?":"+c:null}if(Array.isArray(l)){if(l.length===0)return"[]";let c=" ".repeat(u+1),r=" ".repeat(u);return`[
3005
+ `+c+l.map((h)=>i(h,u+1)??"null").join(`
2979
3006
  `+c)+`
2980
- `+r+"]"}if(a==="object"){let c=Object.getPrototypeOf(u);if(c!==Object.prototype&&c!==null)return null;let r=Object.keys(u);if(r.length===0)return"{}";let h=" ".repeat(l+1),o=" ".repeat(l);return`{
2981
- `+h+r.map((s)=>t(s)+": "+(i(u[s],l+1)??"null")).join(`
3007
+ `+r+"]"}if(t==="object"){let c=Object.getPrototypeOf(l);if(c!==Object.prototype&&c!==null)return null;let r=Object.keys(l);if(r.length===0)return"{}";let h=" ".repeat(u+1),o=" ".repeat(u);return`{
3008
+ `+h+r.map((s)=>a(s)+": "+(i(l[s],u+1)??"null")).join(`
2982
3009
  `+h)+`
2983
- `+o+"}"}return null};return(u)=>{let l=i(u,0);return l!==null?console.log(l):console.dir(u,{depth:null,colors:!0}),u}})();globalThis.raise??=(n,f)=>{throw f!==void 0?new n(f):Error(n)};globalThis.rand??=(n,f)=>f!==void 0?(n>f&&([n,f]=[f,n]),Math.floor(Math.random()*(f-n+1)+n)):n?Math.floor(Math.random()*n):Math.random();globalThis.sleep??=(n)=>new Promise((f)=>setTimeout(f,n));globalThis.todo??=(n)=>{throw Error(n||"Not implemented")};globalThis.warn??=console.warn;globalThis.zip??=(...n)=>n[0].map((f,e)=>n.map((t)=>t[e]));({__state:Sn,__computed:gf,__effect:ni,__batch:ji}=globalThis.__rip);xi=globalThis.__ripComponent||{};var Ot=function(n,f){return xi.setContext(n,f)},It=function(n){return xi.getContext(n)},gt=function(n){return xi.hasContext(n)};Ui=function(n){if(typeof window>"u"||typeof document>"u")throw Error(`Rip App: '${n}' requires a browser environment`)};Ql=new WeakMap;Dl=new WeakMap;Li=Symbol.for("rip.source");pi=Symbol.for("rip.source.family");Kl=Symbol.for("rip.defaults");Vi=Symbol.for("rip.persist");Wn=function(n){return n!=null&&(typeof n==="object"||typeof n==="function")&&(n[Li]===!0||n[pi]===!0)};Di=function(n){return n!=null&&typeof n==="function"&&n[pi]===!0};vi=0;mi=Sn(0);Qn=0;dl=function(n){return typeof n==="string"&&(n.indexOf(".")!==-1||n.indexOf("/")!==-1||n.indexOf("[")!==-1)};ru=function(n){return/^-?\d+$/.test(n)};Jl=function(n,f){let e;if(!n[Symbol.for("signals")])Object.defineProperty(n,Symbol.for("signals"),{value:new Map,enumerable:!1});if(e=n[Symbol.for("signals")].get(f),!e)e=Sn(n[f]),n[Symbol.for("signals")].set(f,e);return e};xn=function(n){return Jl(n,Symbol.for("keys"))};Hl=function(n){let f;if(!(n!=null&&typeof n==="object"))return n;if(n[Symbol.for("stash")])return n;if(n[Li])return n;if(n instanceof Date||n instanceof RegExp||n instanceof Map||n instanceof Set||n instanceof Promise)return n;if(f=Ql.get(n),f)return f;return Yl(n)};Yl=function(n){let f,e;return e=null,f={get(t,i){let u,l,a,c,r;if(i===Symbol.for("stash"))return!0;if(i===Symbol.for("raw"))return t;if(typeof i==="symbol")return Reflect.get(t,i);if(i==="length"&&Array.isArray(t))return xn(t).value,t.length;if(!Qn&&dl(i))return ci(e,i);if(u=wu(e,i),u)return u;if(l=t[i],Wn(l)){if(typeof l==="function")return l;return c=l.read(),c!=null&&typeof c==="object"?Hl(c):c}if(a=Jl(t,i),r=a.value,r!=null&&typeof r==="object")return Hl(r);return r},set(t,i,u){let l,a,c,r,h;if(!Qn&&dl(i))return yi(e,i,u),!0;if(Array.isArray(t)&&i==="length"){if(c=t.length,l=+u,t.length=l,l!==c){if(t[Symbol.for("signals")]){for(let o of((s,w)=>Array.from({length:Math.max(0,Math.abs(w-s))},(_,A)=>s+A*(s<=w?1:-1)))(Math.min(c,l),Math.max(c,l)))if(h=t[Symbol.for("signals")].get(String(o)),h!=null)h.value=t[o]}xn(t).value=++vi,mi.value++}return!0}if(a=t[i],Wn(a)&&!Wn(u)){if(Di(a))throw Error(`Rip App: cannot assign a value to keyed source '${String(i)}' — use source('${String(i)}', key) and set .value`);return a.write(u?.[Symbol.for("raw")]?u[Symbol.for("raw")]:u),mi.value++,!0}if(r=u?.[Symbol.for("raw")]?u[Symbol.for("raw")]:u,r===a)return!0;if(t[i]=r,t[Symbol.for("signals")]?.has(i))t[Symbol.for("signals")].get(i).value=r;if(a===void 0&&r!==void 0)xn(t).value=++vi;return mi.value++,!0},deleteProperty(t,i){let u;if(delete t[i],u=t[Symbol.for("signals")]?.get(i),u!=null)u.value=void 0;return xn(t).value=++vi,mi.value++,!0},ownKeys(t){return xn(t).value,Reflect.ownKeys(t)}},e=new Proxy(n,f),Ql.set(n,e),e};bf=/([./][^./\[\s]+|\[[-+]?\d+\]|\[(?:"[^"]+"|'[^']+')\])/;$n=function(n){let f,e,t,i,u;t=("."+n).split(bf),t.shift(),u=[],e=0;while(e<t.length){if(i=t[e],f=i[0],f==="."||f==="/")u.push(i.slice(1));else if(f==="[")if(i[1]==='"'||i[1]==="'")u.push(i.slice(2,-2));else u.push(+i.slice(1,-1));e+=2}return u};Ri=function(n,f){let e;if(typeof n==="number"&&n<0){if(e=Zn(f),Array.isArray(e))return e.length+n}return n};ci=function(n,f){let e,t;return t=$n(f),e=n,Qn++,(()=>{try{for(let i of t){if(e==null)return;e=e[Ri(i,e)]}return e}finally{Qn--}})()};yi=function(n,f,e){let t,i,u,l;return l=$n(f),u=n,Qn++,(()=>{try{for(let a=0;a<l.length;a++){let c=l[a];if(t=Ri(c,u),a===l.length-1)u[t]=e;else{if(u[t]==null)i=l[a+1],u[t]=typeof i==="number"||ru(i)?[]:{};u=u[t]}}return e}finally{Qn--}})()};Of={inc:!0,dec:!0,flip:!0,join:!0,keys:!0,has:!0,del:!0,peek:!0,reset:!0,source:!0};Ki=function(n){let f;if(!(n!=null&&typeof n==="object"))return n;if(n instanceof Date||n instanceof RegExp||n instanceof Map||n instanceof Set||n instanceof Promise)return n;if(Array.isArray(n))return(()=>{let e=[];for(let t of n)e.push(Ki(t));return e})();f={};for(let e in n){if(!Object.hasOwn(n,e))continue;let t=n[e];if(Wn(t))continue;f[e]=Ki(t)}return f};ou=function(n){if(!(n!=null&&typeof n==="object"))return;Object.defineProperty(n,Kl,{value:Ki(n),configurable:!0});return};wu=function(n,f){let e,t;if(!Of[f])return;if(e=Dl.get(n),!e)e={},Dl.set(n,e);if(e[f])return e[f];return t=(()=>{switch(f){case"inc":return function(i,u=1){let l;return l=ci(n,i)??0,yi(n,i,l+u)};case"dec":return function(i,u=1){let l;return l=ci(n,i)??0,yi(n,i,l-u)};case"flip":return function(i){let u;return u=ci(n,i)??!1,yi(n,i,!u)};case"join":return function(i,u){return ji(function(){let l;if(l=ci(n,i),!(l!=null&&typeof l==="object"))yi(n,i,{}),l=ci(n,i);return Qn++,(()=>{try{return(()=>{let a=[];for(let c in u){let r=u[c];a.push(l[c]=r)}return a})()}finally{Qn--}})()})};case"keys":return function(i){let u,l,a;return Qn++,(()=>{try{l=$n(i),u=n;for(let c of l){if(u==null)return[];u=u[Ri(c,u)]}if(!(u!=null&&typeof u==="object"))return[];return a=Zn(u),xn(a).value,Object.keys(a)}finally{Qn--}})()};case"has":return function(i){let u,l,a,c;return Qn++,(()=>{try{if(a=$n(i),!(a.length>0))return!1;l=n;for(let r=0;r<a.length;r++){let h=a[r];if(u=Ri(h,l),r===a.length-1)return c=Zn(l),xn(c).value,Object.prototype.hasOwnProperty.call(c,u);if(l==null)return!1;l=l[u]}return!1}finally{Qn--}})()};case"del":return function(i){let u,l,a;return Qn++,(()=>{try{if(a=$n(i),!(a.length>0))return;return l=n,(()=>{let c=[];for(let r=0;r<a.length;r++){let h=a[r];if(u=Ri(h,l),r===a.length-1){delete l[u];return}if(l==null)return;c.push(l=l[u])}return c})()}finally{Qn--}})()};case"reset":return function(){ji(function(){let i,u;u=Zn(n),i=u[Kl];for(let l in u){if(!Object.hasOwn(u,l))continue;let a=u[l];if(Wn(a))a.reset();else if(i)if(Object.prototype.hasOwnProperty.call(i,l))n[l]=Ki(i[l]);else delete n[l]}return u[Vi]?.()});return};case"source":return function(i,u){let l,a,c;l=null,c=Zn(n);for(let r of $n(i)){if(!(c!=null&&typeof c==="object"))break;if(c=c[r],Wn(c)){l=c;break}}if(!l)throw Error(`Rip App: source('${i}') does not resolve to a source key — declare it with source() in app/stash.rip`);if(Di(l)){if(u==null)throw Error(`Rip App: keyed source('${i}') requires a key — source('${i}', key)`);l=l.cellFor(u)}else if(u!=null)throw Error(`Rip App: source('${i}') is not keyed — drop the key argument`);return a={refetch:l.refetch,reset:l.reset},Object.defineProperty(a,"value",{get(){return l.read()},set(r){return l.write(r)}}),Object.defineProperty(a,"loading",{get(){return l.loading}}),Object.defineProperty(a,"error",{get(){return l.error}}),a};case"peek":return function(i){let u,l;if(l=Zn(n),i==null)return l;for(let a of $n(i)){if(l==null)return;if(Wn(l)){if(Di(l))return;if(l=l.peek(),l==null)return}u=typeof a==="number"&&a<0&&Array.isArray(l)?l.length+a:a,l=l[u]}return Wn(l)?Di(l)?void 0:l.peek():l}}})(),e[f]=t,t};function _u(n={}){return Yl(n)}function Zn(n){return n?.[Symbol.for("raw")]?n[Symbol.for("raw")]:n}fu=function(n,f){return Wn(f)?void 0:f};Rl=function(n){if(!(n!=null&&typeof n==="object"))return!1;for(let f in n){if(!Object.hasOwn(n,f))continue;let e=n[f];if(e==null)continue;if(Wn(e))return!0;if(typeof e==="object"&&Rl(e))return!0}return!1};Ml=function(n,f){let e,t;t=Zn(n);for(let i in f){let u=f[i];if(e=t[i],Wn(e))continue;if(u!=null&&e!=null&&typeof u==="object"&&!Array.isArray(u)&&typeof e==="object"&&!Array.isArray(e)&&Rl(e))Ml(n[i],u);else n[i]=u}return};function mu(n,f={}){let e,t,i,u,l,a,c,r,h;if(Ui("persistStash"),h=Zn(n)||n,h[Symbol.for("persisted")])return function(){return null};h[Symbol.for("persisted")]=!0,c=f.local?localStorage:sessionStorage,r=f.key||"__rip_app";try{if(l=c.getItem(r),l)a=JSON.parse(l),Ml(n.data,a)}catch{}if(e=function(){return(()=>{try{return c.setItem(r,JSON.stringify(Zn(n.data),fu))}catch{return null}})()},u=ni(function(){let o;return mi.value,o=setTimeout(e,2000),function(){return clearTimeout(o)}}),window.addEventListener("beforeunload",e),t=Zn(n.data),t!=null&&typeof t==="object")Object.defineProperty(t,Vi,{value(){return(()=>{try{return c.removeItem(r)}catch{return null}})()},configurable:!0,writable:!0});return i=!1,function(){if(i)return;if(i=!0,u?.(),window.removeEventListener("beforeunload",e),e(),t!=null&&typeof t==="object")t[Vi]=null;return h[Symbol.for("persisted")]=!1}}function Bt(n,f={}){let e,t,i,u,l,a,c,r;if(e=Sn(f.initial??null),i=Sn(!1),t=Sn(null),a=0,u=null,c=async function(){let h,o;return u?.abort(),u=typeof AbortController<"u"?new AbortController:null,h=++a,i.value=!0,t.value=null,await(async()=>{try{if(o=await n(u?.signal),h!==a)return;return e.value=o,o}catch(s){if(h!==a)return;if(s?.name==="AbortError")return;throw t.value=s,s}finally{if(h===a)i.value=!1}})()},l=function(){return a++,u?.abort(),u=null,i.value=!1,t.value=null},r={data:void 0,loading:void 0,error:void 0,refetch:c,dispose:l},Object.defineProperty(r,"data",{get(){return e.value}}),Object.defineProperty(r,"loading",{get(){return i.value}}),Object.defineProperty(r,"error",{get(){return t.value}}),!f.lazy)c().catch(function(){return null});return r}Nf=/^(\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)\s*(s|sec|second|seconds|m|min|minute|minutes|h|hr|hour|hours|d|day|days|w|week|weeks|y|year|years)$/i;function Ct(n){let f,e,t;if(n==null)return 0;if(typeof n==="number")return n;if(typeof n==="string"){if(n==="forever")return 1/0;if(t=n.match(Nf),t)return e=parseFloat(t[1]),(()=>{switch(t[2][0].toLowerCase()){case"s":return e*1000;case"m":return e*60000;case"h":return e*3600000;case"d":return e*86400000;case"w":return e*604800000;case"y":return e*31536000000;default:return e*1000}})();if(/^\d+$/.test(n))return parseInt(n,10)}return f=typeof n==="symbol"?String(n):JSON.stringify(n),console.warn(`[Rip] source: unrecognized staleTime ${f} — treating as 0 (use e.g. '5 min', '2 hours', a number of ms, or 'forever')`),0}Xf=30000;Zl=function(n,f){let e,t,i,u,l,a,c,r,h,o,s,w;return e=Sn(null),i=Sn(!1),t=Sn(null),c=0,l=null,r=null,s=0,a=0,o=async function(_,A){let y,R;if(l?.abort(),l=typeof AbortController<"u"?new AbortController:null,y=++c,!_)i.value=!0;return await(async()=>{try{if(R=await n(l?.signal),y!==c)return R;return t.value=null,e.value=R,s=Date.now(),a=A?s+Xf:0,R}catch(U){if(y!==c)return;if(U?.name==="AbortError")return;if(t.value=U,e.read()==null)throw s=0,U;return}finally{if(y===c)i.value=!1,r=null}})()},w=function(_,A){let y;return y=o(_,A),r=y,y},h=function(){return f===1/0||Date.now()-s<f||Date.now()<a},u={},u[Li]=!0,u.read=function(){let _;if(_=e.value,_==null&&!r&&s===0)w(!1).catch(function(){return null});return _},u.peek=function(){return e.read()},u.ensure=function(){let _,A;if(A=e.read(),s!==0){if(_=!h(),a=0,_&&!r)w(!0).catch(function(){return null});return Promise.resolve(A)}if(r)return r.finally(function(){return a=0});return w(!1)},u.preload=function(){let _;if(_=e.read(),s!==0){if(!h()&&!r)w(!0,!0).catch(function(){return null});return Promise.resolve(_)}if(r)return r;return w(!1,!0)},u.write=function(_){return c++,l?.abort(),l=null,r=null,i.value=!1,t.value=null,e.value=_,s=_!=null?Date.now():0,a=0,_},u.reset=function(){c++,l?.abort(),l=null,r=null,i.value=!1,t.value=null,e.value=null,s=0,a=0;return},u.refetch=function(){return w(!1)},Object.defineProperty(u,"loading",{get(){return i.value}}),Object.defineProperty(u,"error",{get(){return t.value}}),u};Pf=64;cu=function(n,f){let e,t,i;return t=new Map,e=function(u){let l,a,c;if(c=u!=null&&typeof u==="object"?JSON.stringify(u):u,l=t.get(c),l)t.delete(c),t.set(c,l);else if(l=Zl(function(r){return n(u,r)},f),t.set(c,l),t.size>Pf)for(let r of t.keys()){if(a=t.get(r),a.loading)continue;a.reset(),t.delete(r);break}return l},i=function(u){return e(u).read()},i[pi]=!0,i.cellFor=e,i.reset=function(){for(let u of t.values())u.reset();t.clear();return},i};function vt(n){let f,e;return e=Ct(n.staleTime),f=n.fetch.length>=1?cu(n.fetch,e):Zl(n.fetch,e),f}function Tt(n,f={}){let e,t,i,u,l;return t=Sn(!1),i=Sn(!1),e=Sn(null),u=0,l=async function(...a){let c,r;c=++u,t.value=!0,i.value=!1,e.value=null;try{r=await n(...a)}catch(h){if(c!==u)return;e.value=h;try{if(f.onError)return await f.onError(h);else throw h}finally{t.value=!1}}if(c!==u)return;return await(async()=>{try{return i.value=!0,await f.onSuccess?.(r),r}finally{if(c===u)t.value=!1}})()},Object.defineProperty(l,"pending",{get(){return t.value}}),Object.defineProperty(l,"succeeded",{get(){return i.value}}),Object.defineProperty(l,"error",{get(){return e.value}}),l}Wi=function(n){return typeof n==="function"?n:function(){return n.value}};Mi=function(n,f){return Object.defineProperty(n,"dispose",{value(){return f?.()},configurable:!0,writable:!0}),n};Qi=function(n,f,e){let t;return t={read(){return n.read()}},Object.defineProperty(t,"value",{get(){return n.value},set(i){return f.value=i}}),Mi(t,e)};var yu=function(n,f){let e,t,i;return t=Wi(f),i=Sn(!!t()),e=ni(function(){let u;if(t())return u=setTimeout(function(){return i.value=!0},n),function(){return clearTimeout(u)};else return i.value=!1}),typeof f!=="function"?Qi(i,f,e):Mi(i,e)},Vt=function(n,f){let e,t,i;return t=Wi(f),i=Sn(t()),e=ni(function(){let u,l;return l=t(),u=setTimeout(function(){return i.value=l},n),function(){return clearTimeout(u)}}),typeof f!=="function"?Qi(i,f,e):Mi(i,e)},jt=function(n,f){let e,t,i,u;return t=Wi(f),u=Sn(t()),i=0,e=ni(function(){let l,a,c,r;if(r=t(),l=Date.now(),a=n-(l-i),a<=0)return u.value=r,i=l;else return c=setTimeout(function(){return u.value=t(),i=Date.now()},a),function(){return clearTimeout(c)}}),typeof f!=="function"?Qi(u,f,e):Mi(u,e)},Lt=function(n,f){let e,t,i;return t=Wi(f),i=Sn(!!t()),e=ni(function(){let u;if(t())return i.value=!0;else return u=setTimeout(function(){return i.value=!1},n),function(){return clearTimeout(u)}}),typeof f!=="function"?Qi(i,f,e):Mi(i,e)};function Au(){let n,f,e,t;return f=new Map,t=new Set,n=new Map,e=function(i,u){let l=[];for(let a of Array.from(t))l.push((()=>{try{return a(i,u)}catch(c){return console.error("[Rip] watcher error:",c)}})());return l},{read(i){return f.get(i)},write(i,u){let l;return l=!f.has(i),f.set(i,u),n.delete(i),e(l?"create":"change",i)},del(i){return f.delete(i),n.delete(i),e("delete",i)},exists(i){return f.has(i)},size(){return f.size},list(i=""){let u,l,a;a=[],u=i?i+"/":"";for(let[c]of f)if(c.startsWith(u)){if(l=c.slice(u.length),l.includes("/"))continue;a.push(c)}return a},listAll(i=""){let u,l;l=[],u=i?i+"/":"";for(let[a]of f)if(a.startsWith(u))l.push(a);return l},load(i){let u=[];for(let l in i){let a=i[l];f.set(l,a),u.push(n.delete(l))}return u},watch(i){let u;return t.add(i),u=!1,function(){if(u)return;return u=!0,t.delete(i)}},getCompiled(i){return n.get(i)},setCompiled(i,u){return n.set(i,u)}}}au=function(n){let f;if(f=n.replace(/\.rip$/,""),f=f.replace(/\[\.\.\.(\w+)\]/g,"*$1"),f=f.replace(/\[(\w+)\]/g,":$1"),f=f.split("/").filter(function(e){return!/^\(.+\)$/.test(e)}).join("/"),f==="index"||f==="")return"/";return f=f.replace(/\/index$/,""),"/"+f};hu=function(n){let f,e,t;return e=[],f=n.replace(/[.+?^${}()|[\]\\]/g,"\\$&"),t=f.replace(/\*(\w+)/g,function(i,u){return e.push(u),"(.*)"}).replace(/:(\w+)/g,function(i,u){return e.push(u),"([^/]+)"}),{regex:new RegExp("^"+t+"$"),names:e}};Fl=function(n,f){let e,t;for(let i of f)if(e=n.match(i.regex.regex),e){t={};for(let u=0;u<i.regex.names.length;u++){let l=i.regex.names[u];t[l]=decodeURIComponent(e[u+1])}return{route:i,params:t}}return null};Ti=function(n,f="_route"){let e,t,i,u,l,a,c,r,h,o;c=[],i=new Map,e=n.listAll(f);for(let s of e){if(a=s.slice(f.length+1),!a.endsWith(".rip"))continue;if(u=a.split("/").pop(),u==="_layout.rip"){t=a==="_layout.rip"?"":a.slice(0,-12),i.set(t,s);continue}if(u.startsWith("_"))continue;if(h=a.split("/"),h.length>1&&h.some(function(w,_){return _<h.length-1&&w.startsWith("_")}))continue;o=au(a),l=hu(o),c.push({pattern:o,regex:l,file:s,rel:a})}r=new Map;for(let s of c){if(r.has(s.pattern))throw Error(`Rip App: '${r.get(s.pattern)}' and '${s.rel}' both resolve to '${s.pattern}'`);r.set(s.pattern,s.rel)}return c.sort(function(s,w){let _,A,y,R;if(A=(s.pattern.match(/:/g)||[]).length,R=(w.pattern.match(/:/g)||[]).length,_=s.pattern.includes("*")?1:0,y=w.pattern.includes("*")?1:0,_!==y)return _-y;if(A!==R)return A-R;return s.pattern.localeCompare(w.pattern)}),{routes:c,layouts:i}};El=function(n,f,e){let t,i,u,l;if(t=[],u=n.slice(f.length+1),l=u.split("/"),i="",e.has(""))t.push(e.get(""));for(let a=0;a<l.length;a++){let c=l[a];if(a===l.length-1)break;if(i=i?i+"/"+c:c,e.has(i))t.push(e.get(i))}return t};function Du(n,f={}){let e,t,i,u,l,a,c,r,h,o,s,w,_,A,y,R,U,m,D,M,q,S,d,K,E,Z,Q,W,C,L,b,fn,Y,Un,G,O,J,P;if(Ui("createRouter"),L=f.root||"_route",R=f.base||"",m=f.hash||!1,S=f.onError||null,G=function(F){if(!R)return F;if(F===R)return"/";if(F.startsWith(R+"/"))return F.slice(R.length);return F},o=function(F){return R?R+F:F},W=function(){let F;if(m){if(F=location.hash.slice(1),!F)return"/";return F[0]==="/"?F:"/"+F}else return location.pathname+location.search+location.hash},P=function(F){return m?F==="/"?location.pathname:"#"+F.slice(1):o(F)},c=Sn(G(m?W():location.pathname)),a=Sn({}),h=Sn(null),i=Sn([]),r=Sn({}),t=Sn(""),u=yu(100,Sn(!1)),l=Sn(c.value),O=Ti(n,L),D=new Set,J=n.watch(function(F,N){if(!N.startsWith(L+"/"))return;return O=Ti(n,L)}),C=function(F){let N,un,$,tn,cn,on,X;if(cn=F.split("?")[0].split("#")[0],$=G(cn),$=$[0]==="/"?$:"/"+$,tn=F.split("?")[1]?.split("#")[0]||"",un=F.includes("#")?F.split("#")[1]:"",on=Fl($,O.routes),on){if(N=$,tn)N+=`?${tn}`;if(un)N+=`#${un}`;ji(function(){return c.value=$,a.value=on.params,h.value=on.route,i.value=El(on.route.file,L,O.layouts),r.value=Object.fromEntries(new URLSearchParams(tn)),t.value=un,l.value=N}),X=Array.from(D);for(let p of X)try{p(b.current)}catch(v){console.error("[Rip] router onNavigate callback error:",v)}return!0}if(S)S({status:404,path:$});return!1},Z=null,typeof history<"u"&&"scrollRestoration"in history)Z=history.scrollRestoration,history.scrollRestoration="manual";if(Q=function(F){return typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame(F):setTimeout(F,16)},w=function(F){let N,un;if(typeof window>"u")return;return N=0,un=function(){let $;return $=Math.max(0,(document?.documentElement?.scrollHeight||0)-window.innerHeight),window.scrollTo(0,Math.min(F,$)),N+=1,F>$&&N<20?Q(un):void 0},Q(un)},Y=null,K=function(){if(Y||typeof window>"u")return;return Y=setTimeout(function(){return Y=null,(()=>{try{return history.replaceState({...history.state||{},_ripScroll:window.scrollY},"",location.href)}catch{}})()},100)},typeof window<"u")window.addEventListener("scroll",K,{passive:!0});if(d=function(F){let N;return N=F?.state?._ripScroll,C(W()),typeof N==="number"?w(N):void 0},typeof window<"u")window.addEventListener("popstate",d);if(Un=function(F){let N;if(!F?.href)return!0;if(N=(()=>{try{return new URL(F.href,location.origin)}catch{return null}})(),!N)return!0;if(N.origin!==location.origin)return!0;if(F.target==="_blank")return!0;if(F.hasAttribute("download"))return!0;if(F.hasAttribute("data-router-ignore"))return!0;if(R&&!m){if(!(N.pathname===R||N.pathname.startsWith(R+"/")))return!0}return!1},q=function(F){let N,un,$,tn;if(F.defaultPrevented)return;if(F.button!==0||F.metaKey||F.ctrlKey||F.shiftKey||F.altKey)return;$=F.target;while($&&$.tagName!=="A")$=$.parentElement;if(!$)return;if(Un($))return;return tn=new URL($.href,location.origin),F.preventDefault(),N=m&&tn.hash?tn.hash.slice(1)||"/":tn.pathname+tn.search+tn.hash,un=$.hasAttribute("data-router-noscroll"),b.push(N,{noScroll:un})},typeof document<"u")document.addEventListener("click",q);return E=new WeakSet,M=function(F){let N;if(N=F.split("?")[0].split("#")[0],N=decodeURIComponent(N),N=G(N),N[0]!=="/")N="/"+N;if(N.length>1&&N.endsWith("/"))N=N.slice(0,-1);return N},U=function(){let F;if(F=m?G(W()).split("?")[0].split("#")[0]:c.value.split("?")[0].split("#")[0],F[0]!=="/")F="/"+F;if(F.length>1&&F.endsWith("/"))F=F.slice(0,-1);return F},s=function(){let F,N,un,$,tn,cn;if(typeof document>"u")return;N=U(),F=document.querySelectorAll("a[href]");for(let on of F){if(Un(on))continue;if(cn=(()=>{try{return new URL(on.href,location.origin)}catch{return null}})(),!cn)continue;if(tn=M(cn.pathname+cn.search+cn.hash),un=null,tn===N)un="page";if(!un&&N!=="/"&&N.startsWith(tn+"/")&&tn!=="")un="true";if($=on.getAttribute("aria-current"),un){if($&&!E.has(on))continue;on.setAttribute("aria-current",un),E.add(on)}else if(E.has(on))on.removeAttribute("aria-current"),E.delete(on)}return},A=null,y=!1,fn=function(){let F;if(y)return;return y=!0,F=function(){return y=!1,s()},typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame(F):setTimeout(F,0)},_=ni(function(){let F;if(typeof document>"u")return;if(U(),fn(),!A)A=new MutationObserver(function(){return fn()}),F=document.body||document.documentElement,A.observe(F,{childList:!0,subtree:!0});return}),b={push(F,N){let un;if(un=typeof window<"u"?window.scrollY:0,C(F)){try{history.replaceState({...history.state||{},_ripScroll:un},"",location.href)}catch{}return history.pushState({_ripScroll:0},"",P(l.read())),!N?.noScroll&&typeof window<"u"?window.scrollTo(0,0):void 0}},replace(F,N){if(C(F))return history.replaceState({_ripScroll:0},"",P(l.read())),!N?.noScroll&&typeof window<"u"?window.scrollTo(0,0):void 0},back(){return history.back()},forward(){return history.forward()},current:void 0,path:void 0,params:void 0,route:void 0,layouts:void 0,query:void 0,hash:void 0,navigating:void 0,onNavigate(F){return D.add(F),function(){return D.delete(F)}},rebuild(){return O=Ti(n,L)},match(F){let N,un,$,tn,cn;if(/^[a-z][a-z0-9+.-]*:\/\//i.test(F)){if(cn=(()=>{try{return new URL(F,location.origin)}catch{return null}})(),!cn)return null;F=m&&cn.hash?cn.hash.slice(1)||"/":cn.pathname+cn.search+cn.hash}if($=F.split("?")[0].split("#")[0],N=G($),N=N[0]==="/"?N:"/"+N,un=F.split("?")[1]?.split("#")[0]||"",tn=Fl(N,O.routes),!tn)return null;return{path:N,params:tn.params,route:tn.route,layouts:El(tn.route.file,L,O.layouts),query:Object.fromEntries(new URLSearchParams(un)),hash:F.includes("#")?F.split("#")[1]:""}},ownsAnchor(F){return!Un(F)},routes:void 0,init(){return C(W()),b},destroy(){if(typeof window<"u")window.removeEventListener("popstate",d);if(typeof window<"u")window.removeEventListener("scroll",K);if(typeof document<"u")document.removeEventListener("click",q);if(Z!==null&&typeof history<"u")history.scrollRestoration=Z;return A?.disconnect(),A=null,_?.(),J?.(),J=null,u?.dispose?.(),D.clear()}},e=gf(function(){return{path:c.value,params:a.value,route:h.value,layouts:i.value,query:r.value,hash:t.value}}),Object.defineProperty(b,"current",{get(){return e.value}}),Object.defineProperty(b,"path",{get(){return c.value}}),Object.defineProperty(b,"params",{get(){return a.value}}),Object.defineProperty(b,"route",{get(){return h.value}}),Object.defineProperty(b,"layouts",{get(){return i.value}}),Object.defineProperty(b,"query",{get(){return r.value}}),Object.defineProperty(b,"hash",{get(){return t.value}}),Object.defineProperty(b,"navigating",{get(){return u.value},set(F){return u.value=F}}),Object.defineProperty(b,"routes",{get(){return O.routes}}),b}Ul=function(n,f){if(n.length!==f.length)return!1;for(let e=0;e<n.length;e++)if(n[e]!==f[e])return!1;return!0};Hi=function(n){if(typeof n.default==="function"&&(n.default.prototype?.mount||n.default.prototype?._create))return n.default;for(let f in n){let e=n[f];if(typeof e==="function"&&(e.prototype?.mount||e.prototype?._create))return e}return typeof n.default==="function"?n.default:void 0};Sl=function(n){let f;f={};for(let e in n){let t=n[e];if(typeof t==="function"&&(t.prototype?.mount||t.prototype?._create))f[e]=t}return f};tu=function(n){let f;return f=n.split("/").pop().replace(/\.rip$/,""),f.replace(/(^|[-_])([a-z])/g,function(e,t,i){return i.toUpperCase()})};uu=function(n,f=["_app","_lib","_pkg","_route"]){let e,t,i,u,l;t={},l=Array.isArray(f)?f:[f],u=[];for(let a of l)for(let c of n.listAll(a))u.push(c);for(let a of u){if(!a.endsWith(".rip"))continue;if(e=a.split("/").pop(),e.startsWith("_"))continue;if(e==="index.rip")continue;if(i=tu(a),t[i])console.warn(`[Rip] Component name collision: ${i} (${t[i]} vs ${a})`);t[i]=a}return t};su=function(n,f,e){let t,i,u,l;if(i=n.replace(/^(\.\.\/|\.\/)+/,""),f){u=f.split("/"),u.pop();for(let a of n.split("/"))if(a==="..")u.pop();else if(a!==".")u.push(a);if(t=u.join("/"),e.exists(t))return t}if(e.exists(i))return i;for(let a of["_pkg","_lib","_app","_route"])if(l=`${a}/${i}`,e.exists(l))return l;return null};ql=function(n){let f,e,t,i,u,l,a;if(!n)return[];if(l=n.trim(),!l)return[];if(i=[],f=l.indexOf("{"),f>=0){if(e=l.lastIndexOf("}"),e<0)return i;t=l.slice(f+1,e);for(let c of t.split(",")){if(a=c.trim(),!a)continue;i.push(a.split(/\s+as\s+/).pop().trim())}l=l.slice(0,f).replace(/,\s*$/,"").trim()}for(let c of l.split(",")){if(u=c.trim(),!u)continue;if(/^\*\s+as\s+/.test(u))i.push(u.replace(/^\*\s+as\s+/,"").trim());else i.push(u)}return i};kn=async function(n,f,e=null,t=null,i=null){let u,l,a,c,r,h,o,s,w,_,A,y,R,U,m,D,M,q,S,d,K,E,Z,Q,W,C,L,b,fn,Y,Un,G,O,J,P;if(e&&t){if(h=e.getCompiled(t),h)return h}if(i&&t)i.compiling??={},i.compiling[t]=!0;return await(async()=>{try{if(s=globalThis?.__ripDebug?.enabled&&t,fn=0,D=s?f(n,{sourceMap:"inline",filename:t}):f(n),i){if(m=new Set,W=i.packages||{},Object.keys(W).length>0)l=/^(\s*import\s+(?:.*?\s+from\s+)?['"])(@rip-lang\/[^\/'"]+)((?:\/[^'"]*)?)(['"];?\s*)$/gm,D=D.replace(l,function(F,N,un,$,tn){let cn,on;if(cn=W[un],!cn)return F;return on=!$?`_pkg/${cn.short}/${cn.entry}`:$.endsWith(".rip")?`_pkg/${cn.short}${$}`:`_pkg/${cn.short}${$}.rip`,`${N}${on}${tn}`});if(Q=/^(\s*)import\s+([^'"]+?)\s+from\s+['"](@rip-lang\/[^'"]+)['"];?\s*$/gm,D=D.replace(Q,function(F,N,un,$){let tn,cn,on,X,p,v,ln,rn;if(ln=$.replace(/^(@rip-lang\/[^\/]+).*$/,"$1"),W[ln])return F;if(rn=un.trim(),rn.startsWith("type "))return`${N}// type-only import erased: ${$}`;if(X=rn.indexOf("{"),cn=rn.lastIndexOf("}"),X<0||cn<=X)return console.warn(`[Rip] Skipping non-named import from ${$}; only named imports from '@rip-lang/*' are supported.`),F;v=[];for(let en of rn.slice(X+1,cn).split(",")){if(on=en.trim().replace(/^type\s+/,""),!on)continue;if(/\s+as\s+/.test(on))[p,tn]=on.split(/\s+as\s+/).map(function(sn){return sn.trim()}),v.push(`${p}: ${tn}`);else v.push(on)}if(v.length===0)return`${N}// import erased: ${$}`;return`${N}const { ${v.join(", ")} } = globalThis;`}),e){G=/^(\s*(?:import|export)\s+(?:(.*?)\s+from\s+)?['"])([^'"]*\.rip)(['"];?\s*)$/gm,q=Array.from(D.matchAll(G));for(let F=q.length-1;F>=0;F--){let N=q[F];if([R,L,a,O,C]=N,J=su(O,t,e),J===t)continue;if(!J){if(d=`[Rip] Could not resolve import: ${O}`,t)d+=` (from ${t})`;console.warn(d);continue}if(!i.blobUrls?.[J]){if(i.compiling?.[J])continue;if(_=e.read(J),_)await kn(_,f,e,J,i)}if(r=i.blobUrls?.[J],r){Un=`${L}${r}${C}`,D=D.slice(0,N.index)+Un+D.slice(N.index+R.length);for(let un of ql(a))m.add(un)}}}u=/^\s*(?:import|export)\s+(?:(.*?)\s+from\s+)?['"][^'"]*['"];?\s*$/gm;for(let F of D.matchAll(u))for(let N of ql(F[1]))m.add(N);E={};for(let F in i.map){let N=i.map[F];if(m.has(F))continue;if(N!==t&&D.includes(`new ${F}(`)){if(!i.classes[F]){if(_=e.read(N),_){w=await kn(_,f,e,N,i),y=Sl(w);for(let un in y){let $=y[un];i.classes[un]=$}}}if(i.classes[F])E[F]=!0}}if(K=Object.keys(E),K.length>0)M=JSON.stringify(i.key),b=`const {${K.join(", ")}} = globalThis[${M}];
2984
- `,D=b+D,fn+=1}if(U=t?`// ${t}
2985
- `:"",U)fn+=1;if(A=U+D,s&&fn>0){if(Z=globalThis?.__ripDebug?.offsetSourceMap,Z)A=Z(A,fn)}if(c=new Blob([A],{type:"application/javascript"}),P=URL.createObjectURL(c),Y=null,i&&t){if(i.blobUrls??={},Y=i.blobUrls[t],Y&&Y!==P)try{URL.revokeObjectURL(Y)}catch{}i.blobUrls[t]=P}if(S=await import(P),o=!0,i){y=Sl(S);for(let F in y){let N=y[F];i.classes[F]=N}}if(e&&t)e.setCompiled(t,S);return S}finally{if(i&&t){if(i.compiling)delete i.compiling[t]}if(!o&&P&&i&&t){try{URL.revokeObjectURL(P)}catch{}if(i.blobUrls?.[t]===P)delete i.blobUrls[t]}}})()};zl=function(n,f){let e;return n.innerHTML="",e=document.createElement("pre"),e.style.cssText="margin:2rem;padding:1rem 1.25rem;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;overflow-wrap:anywhere",e.textContent=f,n.appendChild(e)};function Ru(n){let f,e,t,i,u,l,a,c,r,h,o,s,w,_,A,y,R,U,m,D,M,q,S,d,K,E,Z,Q,W,C,L,b,fn,Y,Un,G,O;if(Ui("createRenderer"),{router:W,app:e,components:u,resolver:Z,compile:i,target:Y,onError:D}=n,d=n.preload==="intent",l=typeof Y==="string"?document.querySelector(Y):Y||document.getElementById("app"),!l)l=document.createElement("div"),l.id="app",document.body.appendChild(l);return a=null,o=null,r=null,h=null,c=[],R=[],U=l,_=0,s=null,O=null,A=function(J){if(!Z)return;if(Z.blobUrls?.[J]){try{URL.revokeObjectURL(Z.blobUrls[J])}catch{}delete Z.blobUrls[J]}return Z.classes&&Z.map?(()=>{let P=[];for(let F in Z.map){let N=Z.map[F];P.push(N===J?delete Z.classes[F]:void 0)}return P})():void 0},G=function(){if(a){try{a.unmount?.({removeDOM:!1})}catch(J){console.error("[Rip] page unmount error:",J)}return a=null,o=null}},Un=function(){G();for(let J=R.length-1;J>=0;J--){let P=R[J];try{P.unmount?.({removeDOM:!0})}catch(F){console.error("[Rip] layout unmount error:",F)}}return R=[],U=l,r=null,h=null,c=[]},C=function(J,P){if(!(J&&P))return!1;if(Object.keys(J).length!==Object.keys(P).length)return!1;for(let F in J){let N=J[F];if(P[F]!==N)return!1}return!0},E=function(J){let P;P=Zn(e.data);for(let F of J.split(".")){if(!(P!=null&&typeof P==="object"))return null;if(P=P[F],Wn(P))return P}return null},w=async function(J,P,F,N=!1,un=0){let $,tn,cn,on,X,p,v,ln,rn,en,sn,wn,_n,Rn;ln=new Map;for(let An=0;An<J.length;An++){let B=J[An];if(An<un)continue;if(X=B.cls?.__gates,!(X&&X.length))continue;for(let nn of X){if(_n=typeof nn==="string"?nn:nn.path,en=typeof nn==="string"?null:nn.key,$=E(_n),!$)throw Error(`[Rip] ${B.file}: '${_n} <~' does not resolve to a source — declare it with source() in app/stash.rip`);if(rn=void 0,Di($)){if(!en)throw Error(`[Rip] ${B.file}: '${_n}' is a keyed source — gate with a key: ${_n}(params.…)`);rn=en(P||{},F||{}),$=$.cellFor(rn)}else if(en)throw Error(`[Rip] ${B.file}: '${_n}' is not a keyed source — drop the key argument`);if(p=_n+"|"+String(rn??""),v=ln.get(p),!v)v={cell:$,owners:[],path:_n},ln.set(p,v);v.owners.push(An)}}if(sn=[...ln.values()],!sn.length)return{failedIndex:1/0,failure:null};Rn=await Promise.allSettled(sn.map(function(An){return N?An.cell.preload():An.cell.ensure()})),cn=1/0,on=null;for(let An=0;An<Rn.length;An++){let B=Rn[An];if(tn=null,B.status==="rejected")tn=B.reason;else if(!N&&B.value==null)tn=Error(`[Rip] gate '${sn[An].path} <~' resolved to ${B.value}: a gated source must resolve to a non-null value or throw. For a value that can be absent, read it ungated with ~= instead of gating it.`);if(!tn)continue;if(wn=Math.min(...sn[An].owners),wn<cn)cn=wn,on={status:tn?.status??tn?.response?.status??500,message:tn?.message??String(tn),error:tn,path:sn[An].path}}return{failedIndex:cn,failure:on}},Q=function(J){let P;P=!1;for(let F=R.length-1;F>=0;F--){let N=R[F];if(N.onError)try{N.onError(J),P=!0;break}catch(un){console.error("Renderer: error boundary failed:",un)}}if(!P){if(console.error(`Renderer: gate '${J.path}' failed:`,J.error),D)D(J);return Un(),zl(l,`${J.status}: ${J.message}`)}},m=async function(J,P=!1){let F,N,un,$,tn,cn,on,X,p,v,ln,rn,en,sn,wn,_n,Rn,An,B,nn,zn,Mn,I,T,x,k,an,V,hn,yn,mn,En,Jn,Gn,Yn,Bn;if({route:En,params:V,layouts:_n,query:yn}=J,!En)return;if(Jn=En.file===o&&C(V,r),mn=function(){let dn,On;if(dn=a?.constructor,On=dn?.__gates,!On)return!1;for(let ii of On)if(typeof ii!=="string"&&ii.key)try{if(ii.key(V||{},h||{})!==ii.key(V||{},yn||{}))return!0}catch{return!0}return!1},Jn&&!P&&!mn()){if(!C(yn,h)){if(h=yn,a?.load)try{await a.load(V,yn)}catch(dn){if(console.error(`Renderer: error in query-only load for ${En.file}:`,dn),D)D({status:500,message:dn.message,error:dn})}}return}return ln=++_,W.navigating=!0,await(async()=>{try{if(Yn=u.read(En.file),!Yn){if(D)D({status:404,message:`File not found: ${En.file}`});W.navigating=!1;return}if(nn=await kn(Yn,i,u,En.file,Z),ln!==_){W.navigating=!1;return}if(F=Hi(nn),!F){if(D)D({status:500,message:`No component found in ${En.file}`});W.navigating=!1;return}wn=[];for(let dn of _n){if(An=u.read(dn),!An)continue;if(Rn=await kn(An,i,u,dn,Z),ln!==_){W.navigating=!1;return}if(N=Hi(Rn),!N)continue;wn.push({file:dn,cls:N})}if(on=[...wn,{file:En.file,cls:F}],B=!Ul(_n,c),zn=B?0:wn.length,{failedIndex:p,failure:v}=await w(on,V,yn,!1,zn),ln!==_){W.navigating=!1;return}if(I=a?._target,B)Un();else G();if(r=V,h=yn,Mn=B?l:U,X=Math.min(p,wn.length),B&&_n.length>0){l.innerHTML="",Mn=l,cn=globalThis.__ripComponent?.__pushComponent,$=globalThis.__ripComponent?.__popComponent,T=null;for(let dn=0;dn<wn.length;dn++){let On=wn[dn];if(dn>=X)break;N=On.cls,hn=cn?.(T),globalThis.__ripGateMount=N;try{en=new N({app:e,params:V,router:W})}finally{globalThis.__ripGateMount=null,$?.(hn)}if(en.beforeMount){un=cn?.(en);try{en.beforeMount()}finally{$?.(un)}}Bn=document.createElement("div"),Bn.setAttribute("data-layout",On.file),Mn.appendChild(Bn),en.mount(Bn),R.push(en),T=en,Gn=Bn.querySelector("#content")||Bn,Mn=Gn}c=X<wn.length?_n.slice(0,X):[..._n],U=Mn}else if(B)l.innerHTML="",c=[],U=l;if(v){I?.remove(),Q(v),W.navigating=!1;return}an=document.createElement("div"),an.setAttribute("data-component",En.file),Mn.appendChild(an),cn=globalThis.__ripComponent?.__pushComponent,$=globalThis.__ripComponent?.__popComponent,x=R[R.length-1]||null,k=cn?.(x),globalThis.__ripGateMount=F;try{sn=new F({app:e,params:V,query:yn,router:W})}finally{globalThis.__ripGateMount=null,$?.(k)}if(sn.beforeMount){tn=cn?.(sn);try{sn.beforeMount()}finally{$?.(tn)}}if(sn.mount(an),a=sn,o=En.file,sn.load)await sn.load(V,yn);return I?.remove(),W.navigating=!1}catch(dn){if(W.navigating=!1,console.error(`Renderer: error mounting ${En.file}:`,dn),D)D({status:500,message:dn.message,error:dn});rn=!1;for(let On=R.length-1;On>=0;On--){let ii=R[On];if(ii.onError)try{ii.onError(dn),rn=!0;break}catch(Mu){console.error("Renderer: error boundary failed:",Mu)}}return(()=>{if(!rn)return Un(),zl(l,dn.stack||dn.message)})()}})()},fn=!1,S=async function(J){let P,F,N,un,$,tn,cn,on;if(N=W.match?.(J),!N?.route)return;if(tn=Ul(N.layouts,c),tn&&N.route.file===o&&C(N.params,r))return;if(P=[],!tn)for(let X of N.layouts){if($=u.read(X),!$)continue;if(un=await kn($,i,u,X,Z),F=Hi(un),F)P.push({file:X,cls:F})}if(on=u.read(N.route.file),on){if(cn=await kn(on,i,u,N.route.file,Z),F=Hi(cn),F)P.push({file:N.route.file,cls:F})}await w(P,N.params,N.query,!0);return},f=50,y={href:null,at:0},b=null,L=null,t=function(){if(b)clearTimeout(b),b=null;return L=null},M=function(J){let P,F;P=J.target;while(P&&P.tagName!=="A")P=P.parentElement;if(!P)return;if(!W.ownsAnchor?.(P))return;if(P===L)return;return t(),L=P,F=P.href,b=setTimeout(function(){let N;if(b=null,L=null,N=Date.now(),F===y.href&&N-y.at<3000)return;return y.href=F,y.at=N,S(F).catch(function(){return null})},f)},q=function(J){let P;if(!L)return;return P=J.relatedTarget,!(P&&L.contains(P))?t():void 0},K={start(){if(fn)return K;if(fn=!0,s=ni(function(){let J;return J=W.current,J.route?m(J):void 0}),O=u?.watch(function(J,P){return(Array.isArray(["change","delete"])?["change","delete"].includes(J):(J in["change","delete"]))?A(P):void 0}),d)document.addEventListener("pointerover",M,{passive:!0}),document.addEventListener("focusin",M,{passive:!0}),document.addEventListener("pointerout",q,{passive:!0}),document.addEventListener("focusout",q,{passive:!0});return W.init(),K},stop(){if(!fn)return;if(fn=!1,Un(),s)s(),s=null;if(O?.(),O=null,t(),d)document.removeEventListener("pointerover",M),document.removeEventListener("focusin",M),document.removeEventListener("pointerout",q),document.removeEventListener("focusout",q);if(Z?.blobUrls){for(let J in Z.blobUrls){if(!Object.hasOwn(Z.blobUrls,J))continue;let P=Z.blobUrls[J];try{URL.revokeObjectURL(P)}catch{}}Z.blobUrls={}}return l.innerHTML=""},remount(J=!1){let P,F;return F=typeof J==="object"?!!J.force:!!J,P=W.current,P.route?m(P,F):void 0}},K}eu=function(n){let f,e,t,i,u,l;return Ui("connectWatch"),u=1000,i=30000,f=!1,t=null,l=null,e=function(){if(f)return;return t=new EventSource(n),t.addEventListener("connected",function(){return u=1000,console.log("[Rip] Hot reload connected")}),t.addEventListener("reload",function(){return console.log("[Rip] Reloading..."),location.reload()}),t.addEventListener("css",function(){let a,c;c=document.querySelectorAll('link[rel="stylesheet"]');let r=[];for(let h of c)a=new URL(h.href),a.searchParams.set("_t",Date.now()),h.href=a.toString();return r}),t.onerror=function(){if(t.close(),t=null,f)return;return l=setTimeout(e,u),u=Math.min(u*2,i)}},e(),function(){if(f)return;if(f=!0,l)clearTimeout(l),l=null;return t?.close(),t=null}};async function pt(n={}){let f,e,t,i,u,l,a,c,r,h,o,s,w,_,A,y,R,U,m,D,M,q,S,d,K,E,Z,Q;if(Ui("launch"),e=(n.base||"").replace(/\/+$/,""),E=n.target||"#app",a=n.compile||null,A=n.persist||!1,w=n.hash||!1,!a)a=globalThis?.compileToJS||null;if(!document.querySelector(E))h=document.createElement("div"),h.id=E.replace(/^#/,""),document.body.prepend(h);if(n.bundle)i=n.bundle;else if(n.bundleUrl){if(_={},s=`__rip_etag_${n.bundleUrl}`,u=sessionStorage.getItem(s),u)_["If-None-Match"]=u;if(U=await fetch(n.bundleUrl,{headers:_}),U.status===304)i=JSON.parse(sessionStorage.getItem(`${s}_data`));else if(U.ok){if(i=await U.json(),o=U.headers.get("etag"),o)sessionStorage.setItem(s,o),sessionStorage.setItem(`${s}_data`,JSON.stringify(i))}else throw Error(`launch: ${n.bundleUrl} (${U.status})`)}else throw Error("launch: no bundle or bundleUrl provided");if(f=_u({components:{},routes:{},data:{}}),globalThis.__ripApp=f,t=Au(),i.modules)t.load(i.modules);if(l=`__rip_${e.replace(/\//g,"_")||"app"}`,m={map:uu(t),classes:{},key:l,packages:i.packages||{}},globalThis[l]=m.classes,d=null,S="_app/stash.rip",t.exists(S)){if(K=t.read(S),K)try{if(q=await kn(K,a,t,S,m),q?.stash)d=q.stash}catch(W){console.error(`[Rip] Failed to load app/stash.rip: ${W.message}`,W)}}if(d&&i.data)for(let W in i.data){let C=i.data[W];if(!Wn(d[W]))d[W]=C}if(M=d??i.data,M)f.data=M;if(ou(Zn(f.data)),i.routes)f.routes=i.routes;if(y=null,A)y=mu(f,{local:A==="local",key:`__rip_${e}`});if(f.data.title)document.title=f.data.title;if(D=Du(t,{root:"_route",base:e,hash:w,onError(W){return console.error(`[Rip] Error ${W.status}: ${W.message||W.path}`)}}),globalThis.__ripRouter=D,R=Ru({router:D,app:f,components:t,resolver:m,compile:a,target:E,preload:i.data?.preload==="intent"?"intent":!1,onError(W){return console.error(`[Rip] ${W.message}`,W.error)}}),R.start(),Z=null,i.data?.watch)Z=eu(`${e}/watch`);return Q=window,r=!1,c=function(){if(r)return;if(r=!0,Z?.(),R.stop(),D.destroy(),y?.(),delete globalThis[l],delete globalThis.__ripApp,delete globalThis.__ripRouter,delete globalThis.__ripLaunched,Q.app===f)delete Q.app;return Q.__RIP__?.app===f?delete Q.__RIP__:void 0},Q.app=f,Q.__RIP__={app:f,components:t,router:D,renderer:R,resolver:m,destroy:c,version:"0.3.0"},globalThis.__ripLaunched=!0,{app:f,components:t,router:D,renderer:R,destroy:c}}Kn=function(n,f){if(!f)return;return n.preventDefault(),n.stopPropagation(),f()};globalThis.__ariaLastFocusedEl??=null;if(typeof document<"u"&&!globalThis.__ariaFocusTrackerBound)document.addEventListener("focusin",function(n){return globalThis.__ariaLastFocusedEl=n.target},!0),globalThis.__ariaFocusTrackerBound=!0;Tf=function(n,f){if(n.isComposing)return;return(()=>{switch(n.key){case"ArrowDown":return Kn(n,f.next);case"ArrowUp":return Kn(n,f.prev);case"Home":case"PageUp":return Kn(n,f.first);case"End":case"PageDown":return Kn(n,f.last);case"Enter":case" ":return Kn(n,f.select);case"Escape":return Kn(n,f.dismiss);case"Tab":return f.tab?.();default:return n.key.length===1?f.char?.(n.key):void 0}})()};jf=function(n,f,e,t=[],i=null){let u,l,a,c,r;if(l=function(h){return typeof h==="function"?h():h},r=l(f),r&&r.__ariaPopupDismiss)r.__ariaPopupDismiss(),r.__ariaPopupDismiss=null;if(!(n&&r))return;return a=(h)=>{return![r,...t.map(l)].some(function(o){return o?.contains(h.target)})?e():void 0},c=(h)=>{if(r?.contains(h.target))return;return i?i():e()},document.addEventListener("mousedown",a),window.addEventListener("scroll",c,!0),u=function(){return document.removeEventListener("mousedown",a),window.removeEventListener("scroll",c,!0)},r.__ariaPopupDismiss=u,u};Lf=function(n=250){let f;return f=0,{block(e=n){return f=Date.now()+e},canOpen(){return Date.now()>=f}}};Cf=function(n,f,e,t=null){let i,u,l,a,c,r,h,o,s,w,_;if(a=function(A){return typeof A==="function"?A():A},i=function(){let A,y;if(A=document.activeElement,A&&A!==document.body)return A;if(y=globalThis.__ariaLastFocusedEl,y?.isConnected!==!1)return y;return null},l=a(f),!l)return;if(!Object.hasOwn(HTMLElement.prototype,"togglePopover"))return;if(h=null,_=function(A){if(A){l.hidden=!1;try{l.inert=!1}catch{}return l.removeAttribute("aria-hidden")}else{try{l.inert=!0}catch{}return l.setAttribute("aria-hidden","true"),l.hidden=!0}},o=function(){let A,y;if(y=h,h=null,!y?.focus)return;return A=function(R=6){if(y.isConnected===!1)return;try{y.focus({preventScroll:!0})}catch{y.focus()}if(document.activeElement===y||R<=1)return;return setTimeout(function(){return A(R-1)},16)},requestAnimationFrame(function(){return A()})},l.__ariaBindPopover)l.removeEventListener("toggle",l.__ariaBindPopover),l.__ariaBindPopover=null;if(c=function(A){let y;if(y=A.newState==="open",y)h=a(t)||i(),_(!0);else _(!1),o();return e?.(y)},l.addEventListener("toggle",c),l.__ariaBindPopover=c,s=l.matches(":popover-open"),u=!!n,s!==u){if(w=a(t),u)h=w||i(),_(!0);r=w&&u?{force:u,source:w}:{force:u};try{l.togglePopover(r)}catch{}}else _(u);return function(){return l.removeEventListener("toggle",c),l.__ariaBindPopover===c?l.__ariaBindPopover=null:void 0}};Bf=function(n,f,e,t=!0){let i,u,l,a,c,r,h,o,s,w;if(l=function(_){return typeof _==="function"?_():_},i=function(){let _,A;if(_=document.activeElement,_&&_!==document.body)return _;if(A=globalThis.__ariaLastFocusedEl,A?.isConnected!==!1)return A;return null},u=l(f),!u?.showModal)return;if(o=null,w=function(_){if(_){u.hidden=!1;try{u.inert=!1}catch{}return u.removeAttribute("aria-hidden")}else{try{u.inert=!0}catch{}return u.setAttribute("aria-hidden","true"),u.hidden=!0}},s=function(){let _,A;if(A=o,o=null,!A?.focus)return;return _=function(y=6){if(A.isConnected===!1)return;try{A.focus({preventScroll:!0})}catch{A.focus()}if(document.activeElement===A||y<=1)return;return setTimeout(function(){return _(y-1)},16)},requestAnimationFrame(function(){return _()})},u.__ariaBindDialog)[r,h]=u.__ariaBindDialog,u.removeEventListener("cancel",r),u.removeEventListener("close",h),u.__ariaBindDialog=null;if(a=function(_){if(!t){_.preventDefault();return}return e?.(!1)},c=function(){return e?.(!1),w(!1),s()},u.addEventListener("cancel",a),u.addEventListener("close",c),u.__ariaBindDialog=[a,c],n&&!u.open){if(!o)o=i();w(!0);try{u.showModal()}catch{}}else if(!n&&u.open)u.close();else w(!!n);return function(){return u.removeEventListener("cancel",a),u.removeEventListener("close",c),u.__ariaBindDialog?.[0]===a?u.__ariaBindDialog=null:void 0}};kf=function(n,f,e="vertical"){let t,i;if(n.isComposing)return;return i=e!=="horizontal",t=e!=="vertical",(()=>{switch(n.key){case"ArrowDown":return i?Kn(n,f.next):void 0;case"ArrowUp":return i?Kn(n,f.prev):void 0;case"ArrowRight":return t?Kn(n,f.next):void 0;case"ArrowLeft":return t?Kn(n,f.prev):void 0;case"Home":case"PageUp":return Kn(n,f.first);case"End":case"PageDown":return Kn(n,f.last);case"Enter":case" ":return Kn(n,f.select);case"Escape":return Kn(n,f.dismiss);default:return n.key.length===1?f.char?.(n.key):void 0}})()};xf=function(n,f,e=4,t=!0){let i,u;if(!(n&&f))return;if(u=n.getBoundingClientRect(),f.style.position="fixed",f.style.left=`${u.left}px`,f.style.top=`${u.bottom+e}px`,f.style.minWidth=`${u.width}px`,i=f.getBoundingClientRect(),i.bottom>window.innerHeight)f.style.top=`${u.top-i.height-e}px`;if(i.right>window.innerWidth)f.style.left=`${window.innerWidth-i.width-e}px`;return t?f.style.visibility="visible":void 0};var xt='a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])';nu=function(n){let f;return f=function(e){let t,i,u,l;if(e.key!=="Tab")return;if(l=n.querySelectorAll(xt),u=Array.from(l).filter(function(a){return a.offsetParent!==null}),!u.length)return;return t=u[0],i=u[u.length-1],e.shiftKey?document.activeElement===t?(e.preventDefault(),i.focus()):void 0:document.activeElement===i?(e.preventDefault(),t.focus()):void 0},n.addEventListener("keydown",f),function(){return n.removeEventListener("keydown",f)}};lu=function(n,f){let e,t;if(!n)return;if(t=n.querySelector("h1,h2,h3,h4,h5,h6"),t)t.id??=`${f}-title`,n.setAttribute("aria-labelledby",t.id);if(e=n.querySelector("p"),e)return e.id??=`${f}-desc`,n.setAttribute("aria-describedby",e.id)};Ai=[];Vf=function(n){let f;if(f=window.scrollY,Ai.push({instance:n,scrollY:f}),Ai.length===1)return document.body.style.position="fixed",document.body.style.top=`-${f}px`,document.body.style.width="100%"};iu=function(n){let f,e;if(f=Ai.findIndex(function(t){return t.instance===n}),f<0)return;if({scrollY:e}=Ai.splice(f,1)[0],!Ai.length)return document.body.style.position="",document.body.style.top="",document.body.style.width="",window.scrollTo(0,e)};Ci=!1;zi=!1;Wl=function(){let n,f,e;if(Ci)return zi;if(!(typeof document<"u"&&document.body))return!1;return(()=>{try{return n=document.createElement("div"),f=document.createElement("div"),n.style.cssText="position:fixed;top:100px;left:100px;width:10px;height:10px;anchor-name:--probe",f.style.cssText="position:fixed;inset:auto;margin:0;position-anchor:--probe;position-area:bottom start;width:10px;height:10px",document.body.appendChild(n),document.body.appendChild(f),e=f.getBoundingClientRect(),n.remove(),f.remove(),zi=e.top>50,Ci=!0,zi}catch{return Ci=!0,zi=!1}})()};If=["position","inset","top","right","bottom","left","margin","marginTop","marginRight","marginBottom","marginLeft","transform","minWidth","positionAnchor","positionArea","positionTry","positionVisibility"];$f=function(n){let f=[];for(let e of If)f.push(n.style[e]="");return f};pf=function(n,f,e={}){let t,i,u,l,a,c,r,h;if(!(n&&f))return;if(a=e.placement??"bottom start",l=e.offset??4,i=e.matchWidth??!1,$f(f),Wl()){if(u=`--anchor-${f.id||Math.random().toString(36).slice(2,8)}`,c=f.__ariaPrevTrigger,c&&c!==n)try{c.style.anchorName=""}catch{}switch(f.__ariaPrevTrigger=n,n.style.anchorName=u,f.style.positionAnchor=u,f.style.position="fixed",f.style.inset="auto",f.style.margin="0",f.style.positionArea=a,f.style.positionTry="flip-block, flip-inline, flip-block flip-inline",f.style.positionVisibility="anchors-visible",[h]=a.split(" "),h){case"bottom":f.style.marginTop=`${l}px`;break;case"top":f.style.marginBottom=`${l}px`;break;case"left":f.style.marginRight=`${l}px`;break;case"right":f.style.marginLeft=`${l}px`;break}return i?f.style.minWidth="anchor-size(width)":void 0}else{switch(r=n.getBoundingClientRect(),f.style.position="fixed",f.style.inset="auto",f.style.margin="0",[h,t]=a.split(" "),t??="start",h){case"bottom":f.style.top=`${r.bottom+l}px`;break;case"top":f.style.bottom=`${window.innerHeight-r.top+l}px`;break;case"left":f.style.right=`${window.innerWidth-r.left+l}px`;break;case"right":f.style.left=`${r.right+l}px`;break}if(Array.isArray(["bottom","top"])?["bottom","top"].includes(h):(h in["bottom","top"]))switch(t){case"start":f.style.left=`${r.left}px`;break;case"center":f.style.left=`${r.left+r.width/2}px`,f.style.transform="translateX(-50%)";break;case"end":f.style.right=`${window.innerWidth-r.right}px`;break}else switch(t){case"start":f.style.top=`${r.top}px`;break;case"center":f.style.top=`${r.top+r.height/2}px`,f.style.transform="translateY(-50%)";break;case"end":f.style.bottom=`${window.innerHeight-r.bottom}px`;break}return i?f.style.minWidth=`${r.width}px`:void 0}};vf=function(...n){return function(){let f=[];for(let e of n)f.push((()=>{try{return e?.()}catch{return null}})());return f}};globalThis.__aria??={listNav:Tf,rovingNav:kf,popupDismiss:jf,popupGuard:Lf,bindPopover:Cf,bindDialog:Bf,positionBelow:xf,trapFocus:nu,wireAria:lu,lockScroll:Vf,unlockScroll:iu,position:pf,hasAnchor:Wl,combine:vf};globalThis.ARIA??=globalThis.__aria;ri.modules["app.rip"]=$i;for(let[n,f]of Object.entries($i))if(typeof f==="function")globalThis[n]=f;})();
3010
+ `+o+"}"}return null};return(l)=>{let u=i(l,0);return u!==null?console.log(u):console.dir(l,{depth:null,colors:!0}),l}})();globalThis.raise??=(n,f)=>{throw f!==void 0?new n(f):Error(n)};globalThis.rand??=(n,f)=>f!==void 0?(n>f&&([n,f]=[f,n]),Math.floor(Math.random()*(f-n+1)+n)):n?Math.floor(Math.random()*n):Math.random();globalThis.sleep??=(n)=>new Promise((f)=>setTimeout(f,n));globalThis.todo??=(n)=>{throw Error(n||"Not implemented")};globalThis.warn??=console.warn;globalThis.zip??=(...n)=>n[0].map((f,e)=>n.map((a)=>a[e]));({__state:Fn,__computed:Bf,__effect:ni,__batch:Vi}=globalThis.__rip);pi=globalThis.__ripComponent||{};var Ca=function(n,f){return pi.setContext(n,f)},va=function(n){return pi.getContext(n)},Ta=function(n){return pi.hasContext(n)},Va=function(){return globalThis.__ripApp},ja=function(){return globalThis.__ripRouter};Ui=function(n){if(typeof window>"u"||typeof document>"u")throw Error(`Rip App: '${n}' requires a browser environment`)};Wu=new WeakMap;Du=new WeakMap;ji=Symbol.for("rip.source");Li=Symbol.for("rip.source.family");Qu=Symbol.for("rip.defaults");Ti=Symbol.for("rip.persist");Yn=function(n){return n!=null&&(typeof n==="object"||typeof n==="function")&&(n[ji]===!0||n[Li]===!0)};Di=function(n){return n!=null&&typeof n==="function"&&n[Li]===!0};Ci=0;mi=Fn(0);Jn=0;Fu=function(n){return typeof n==="string"&&(n.indexOf(".")!==-1||n.indexOf("/")!==-1||n.indexOf("[")!==-1)};cl=function(n){return/^-?\d+$/.test(n)};Yu=function(n,f){let e;if(!n[Symbol.for("signals")])Object.defineProperty(n,Symbol.for("signals"),{value:new Map,enumerable:!1});if(e=n[Symbol.for("signals")].get(f),!e)e=Fn(n[f]),n[Symbol.for("signals")].set(f,e);return e};xn=function(n){return Yu(n,Symbol.for("keys"))};Ku=function(n){let f;if(!(n!=null&&typeof n==="object"))return n;if(n[Symbol.for("stash")])return n;if(n[ji])return n;if(n instanceof Date||n instanceof RegExp||n instanceof Map||n instanceof Set||n instanceof Promise)return n;if(f=Wu.get(n),f)return f;return du(n)};du=function(n){let f,e;return e=null,f={get(a,i){let l,u,t,c,r;if(i===Symbol.for("stash"))return!0;if(i===Symbol.for("raw"))return a;if(typeof i==="symbol")return Reflect.get(a,i);if(i==="length"&&Array.isArray(a))return xn(a).value,a.length;if(!Jn&&Fu(i))return ci(e,i);if(l=_l(e,i),l)return l;if(u=a[i],Yn(u)){if(typeof u==="function")return u;return c=u.read(),c!=null&&typeof c==="object"?Ku(c):c}if(t=Yu(a,i),r=t.value,r!=null&&typeof r==="object")return Ku(r);return r},set(a,i,l){let u,t,c,r,h;if(!Jn&&Fu(i))return yi(e,i,l),!0;if(Array.isArray(a)&&i==="length"){if(c=a.length,u=+l,a.length=u,u!==c){if(a[Symbol.for("signals")]){for(let o of((s,w)=>Array.from({length:Math.max(0,Math.abs(w-s))},(_,y)=>s+y*(s<=w?1:-1)))(Math.min(c,u),Math.max(c,u)))if(h=a[Symbol.for("signals")].get(String(o)),h!=null)h.value=a[o]}xn(a).value=++Ci,mi.value++}return!0}if(t=a[i],Yn(t)&&!Yn(l)){if(Di(t))throw Error(`Rip App: cannot assign a value to keyed source '${String(i)}' — use source('${String(i)}', key) and set .value`);return t.write(l?.[Symbol.for("raw")]?l[Symbol.for("raw")]:l),mi.value++,!0}if(r=l?.[Symbol.for("raw")]?l[Symbol.for("raw")]:l,r===t)return!0;if(a[i]=r,a[Symbol.for("signals")]?.has(i))a[Symbol.for("signals")].get(i).value=r;if(t===void 0&&r!==void 0)xn(a).value=++Ci;return mi.value++,!0},deleteProperty(a,i){let l;if(delete a[i],l=a[Symbol.for("signals")]?.get(i),l!=null)l.value=void 0;return xn(a).value=++Ci,mi.value++,!0},ownKeys(a){return xn(a).value,Reflect.ownKeys(a)}},e=new Proxy(n,f),Wu.set(n,e),e};bf=/([./][^./\[\s]+|\[[-+]?\d+\]|\[(?:"[^"]+"|'[^']+')\])/;$n=function(n){let f,e,a,i,l;a=("."+n).split(bf),a.shift(),l=[],e=0;while(e<a.length){if(i=a[e],f=i[0],f==="."||f==="/")l.push(i.slice(1));else if(f==="[")if(i[1]==='"'||i[1]==="'")l.push(i.slice(2,-2));else l.push(+i.slice(1,-1));e+=2}return l};Ri=function(n,f){let e;if(typeof n==="number"&&n<0){if(e=Xn(f),Array.isArray(e))return e.length+n}return n};ci=function(n,f){let e,a;return a=$n(f),e=n,Jn++,(()=>{try{for(let i of a){if(e==null)return;e=e[Ri(i,e)]}return e}finally{Jn--}})()};yi=function(n,f,e){let a,i,l,u;return u=$n(f),l=n,Jn++,(()=>{try{for(let t=0;t<u.length;t++){let c=u[t];if(a=Ri(c,l),t===u.length-1)l[a]=e;else{if(l[a]==null)i=u[t+1],l[a]=typeof i==="number"||cl(i)?[]:{};l=l[a]}}return e}finally{Jn--}})()};Pf={inc:!0,dec:!0,flip:!0,join:!0,keys:!0,has:!0,del:!0,peek:!0,reset:!0,source:!0};Qi=function(n){let f;if(!(n!=null&&typeof n==="object"))return n;if(n instanceof Date||n instanceof RegExp||n instanceof Map||n instanceof Set||n instanceof Promise)return n;if(Array.isArray(n))return(()=>{let e=[];for(let a of n)e.push(Qi(a));return e})();f={};for(let e in n){if(!Object.hasOwn(n,e))continue;let a=n[e];if(Yn(a))continue;f[e]=Qi(a)}return f};wl=function(n){if(!(n!=null&&typeof n==="object"))return;Object.defineProperty(n,Qu,{value:Qi(n),configurable:!0});return};_l=function(n,f){let e,a;if(!Pf[f])return;if(e=Du.get(n),!e)e={},Du.set(n,e);if(e[f])return e[f];return a=(()=>{switch(f){case"inc":return function(i,l=1){let u;return u=ci(n,i)??0,yi(n,i,u+l)};case"dec":return function(i,l=1){let u;return u=ci(n,i)??0,yi(n,i,u-l)};case"flip":return function(i){let l;return l=ci(n,i)??!1,yi(n,i,!l)};case"join":return function(i,l){return Vi(function(){let u;if(u=ci(n,i),!(u!=null&&typeof u==="object"))yi(n,i,{}),u=ci(n,i);return Jn++,(()=>{try{return(()=>{let t=[];for(let c in l){let r=l[c];t.push(u[c]=r)}return t})()}finally{Jn--}})()})};case"keys":return function(i){let l,u,t;return Jn++,(()=>{try{u=$n(i),l=n;for(let c of u){if(l==null)return[];l=l[Ri(c,l)]}if(!(l!=null&&typeof l==="object"))return[];return t=Xn(l),xn(t).value,Object.keys(t)}finally{Jn--}})()};case"has":return function(i){let l,u,t,c;return Jn++,(()=>{try{if(t=$n(i),!(t.length>0))return!1;u=n;for(let r=0;r<t.length;r++){let h=t[r];if(l=Ri(h,u),r===t.length-1)return c=Xn(u),xn(c).value,Object.prototype.hasOwnProperty.call(c,l);if(u==null)return!1;u=u[l]}return!1}finally{Jn--}})()};case"del":return function(i){let l,u,t;return Jn++,(()=>{try{if(t=$n(i),!(t.length>0))return;return u=n,(()=>{let c=[];for(let r=0;r<t.length;r++){let h=t[r];if(l=Ri(h,u),r===t.length-1){delete u[l];return}if(u==null)return;c.push(u=u[l])}return c})()}finally{Jn--}})()};case"reset":return function(){Vi(function(){let i,l;l=Xn(n),i=l[Qu];for(let u in l){if(!Object.hasOwn(l,u))continue;let t=l[u];if(Yn(t))t.reset();else if(i)if(Object.prototype.hasOwnProperty.call(i,u))n[u]=Qi(i[u]);else delete n[u]}return l[Ti]?.()});return};case"source":return function(i,l){let u,t,c;u=null,c=Xn(n);for(let r of $n(i)){if(!(c!=null&&typeof c==="object"))break;if(c=c[r],Yn(c)){u=c;break}}if(!u)throw Error(`Rip App: source('${i}') does not resolve to a source key — declare it with source() in app/stash.rip`);if(Di(u)){if(l==null)throw Error(`Rip App: keyed source('${i}') requires a key — source('${i}', key)`);u=u.cellFor(l)}else if(l!=null)throw Error(`Rip App: source('${i}') is not keyed — drop the key argument`);return t={refetch:u.refetch,reset:u.reset},Object.defineProperty(t,"value",{get(){return u.read()},set(r){return u.write(r)}}),Object.defineProperty(t,"loading",{get(){return u.loading}}),Object.defineProperty(t,"error",{get(){return u.error}}),t};case"peek":return function(i){let l,u;if(u=Xn(n),i==null)return u;for(let t of $n(i)){if(u==null)return;if(Yn(u)){if(Di(u))return;if(u=u.peek(),u==null)return}l=typeof t==="number"&&t<0&&Array.isArray(u)?u.length+t:t,u=u[l]}return Yn(u)?Di(u)?void 0:u.peek():u}}})(),e[f]=a,a};function ml(n={}){return du(n)}function Xn(n){return n?.[Symbol.for("raw")]?n[Symbol.for("raw")]:n}ll=function(n,f){return Yn(f)?void 0:f};Ru=function(n){if(!(n!=null&&typeof n==="object"))return!1;for(let f in n){if(!Object.hasOwn(n,f))continue;let e=n[f];if(e==null)continue;if(Yn(e))return!0;if(typeof e==="object"&&Ru(e))return!0}return!1};Mu=function(n,f){let e,a;a=Xn(n);for(let i in f){let l=f[i];if(e=a[i],Yn(e))continue;if(l!=null&&e!=null&&typeof l==="object"&&!Array.isArray(l)&&typeof e==="object"&&!Array.isArray(e)&&Ru(e))Mu(n[i],l);else n[i]=l}return};function yl(n,f={}){let e,a,i,l,u,t,c,r,h;if(Ui("persistStash"),h=Xn(n)||n,h[Symbol.for("persisted")])return function(){return null};h[Symbol.for("persisted")]=!0,c=f.local?localStorage:sessionStorage,r=f.key||"__rip_app";try{if(u=c.getItem(r),u)t=JSON.parse(u),Mu(n.data,t)}catch{}if(e=function(){return(()=>{try{return c.setItem(r,JSON.stringify(Xn(n.data),ll))}catch{return null}})()},l=ni(function(){let o;return mi.value,o=setTimeout(e,2000),function(){return clearTimeout(o)}}),window.addEventListener("beforeunload",e),a=Xn(n.data),a!=null&&typeof a==="object")Object.defineProperty(a,Ti,{value(){return(()=>{try{return c.removeItem(r)}catch{return null}})()},configurable:!0,writable:!0});return i=!1,function(){if(i)return;if(i=!0,l?.(),window.removeEventListener("beforeunload",e),e(),a!=null&&typeof a==="object")a[Ti]=null;return h[Symbol.for("persisted")]=!1}}function La(n,f={}){let e,a,i,l,u,t,c,r;if(e=Fn(f.initial??null),i=Fn(!1),a=Fn(null),t=0,l=null,c=async function(){let h,o;return l?.abort(),l=typeof AbortController<"u"?new AbortController:null,h=++t,i.value=!0,a.value=null,await(async()=>{try{if(o=await n(l?.signal),h!==t)return;return e.value=o,o}catch(s){if(h!==t)return;if(s?.name==="AbortError")return;throw a.value=s,s}finally{if(h===t)i.value=!1}})()},u=function(){return t++,l?.abort(),l=null,i.value=!1,a.value=null},r={data:void 0,loading:void 0,error:void 0,refetch:c,dispose:u},Object.defineProperty(r,"data",{get(){return e.value}}),Object.defineProperty(r,"loading",{get(){return i.value}}),Object.defineProperty(r,"error",{get(){return a.value}}),!f.lazy)c().catch(function(){return null});return r}Xf=/^(\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)\s*(s|sec|second|seconds|m|min|minute|minutes|h|hr|hour|hours|d|day|days|w|week|weeks|y|year|years)$/i;function pa(n){let f,e,a;if(n==null)return 0;if(typeof n==="number")return n;if(typeof n==="string"){if(n==="forever")return 1/0;if(a=n.match(Xf),a)return e=parseFloat(a[1]),(()=>{switch(a[2][0].toLowerCase()){case"s":return e*1000;case"m":return e*60000;case"h":return e*3600000;case"d":return e*86400000;case"w":return e*604800000;case"y":return e*31536000000;default:return e*1000}})();if(/^\d+$/.test(n))return parseInt(n,10)}return f=typeof n==="symbol"?String(n):JSON.stringify(n),console.warn(`[Rip] source: unrecognized staleTime ${f} — treating as 0 (use e.g. '5 min', '2 hours', a number of ms, or 'forever')`),0}Nf=30000;Zu=function(n,f){let e,a,i,l,u,t,c,r,h,o,s,w;return e=Fn(null),i=Fn(!1),a=Fn(null),c=0,u=null,r=null,s=0,t=0,o=async function(_,y){let m,D;if(u?.abort(),u=typeof AbortController<"u"?new AbortController:null,m=++c,!_)i.value=!0;return await(async()=>{try{if(D=await n(u?.signal),m!==c)return D;return a.value=null,e.value=D,s=Date.now(),t=y?s+Nf:0,D}catch(U){if(m!==c)return;if(U?.name==="AbortError")return;if(a.value=U,e.read()==null)throw s=0,U;return}finally{if(m===c)i.value=!1,r=null}})()},w=function(_,y){let m;return m=o(_,y),r=m,m},h=function(){return f===1/0||Date.now()-s<f||Date.now()<t},l={},l[ji]=!0,l.read=function(){let _;if(_=e.value,_==null&&!r&&s===0)w(!1).catch(function(){return null});return _},l.peek=function(){return e.read()},l.ensure=function(){let _,y;if(y=e.read(),s!==0){if(_=!h(),t=0,_&&!r)w(!0).catch(function(){return null});return Promise.resolve(y)}if(r)return r.finally(function(){return t=0});return w(!1)},l.preload=function(){let _;if(_=e.read(),s!==0){if(!h()&&!r)w(!0,!0).catch(function(){return null});return Promise.resolve(_)}if(r)return r;return w(!1,!0)},l.write=function(_){return c++,u?.abort(),u=null,r=null,i.value=!1,a.value=null,e.value=_,s=_!=null?Date.now():0,t=0,_},l.reset=function(){c++,u?.abort(),u=null,r=null,i.value=!1,a.value=null,e.value=null,s=0,t=0;return},l.refetch=function(){return w(!1)},Object.defineProperty(l,"loading",{get(){return i.value}}),Object.defineProperty(l,"error",{get(){return a.value}}),l};Of=64;hl=function(n,f){let e,a,i;return a=new Map,e=function(l){let u,t,c;if(c=l!=null&&typeof l==="object"?JSON.stringify(l):l,u=a.get(c),u)a.delete(c),a.set(c,u);else if(u=Zu(function(r){return n(l,r)},f),a.set(c,u),a.size>Of)for(let r of a.keys()){if(t=a.get(r),t.loading)continue;t.reset(),a.delete(r);break}return u},i=function(l){return e(l).read()},i[Li]=!0,i.cellFor=e,i.reset=function(){for(let l of a.values())l.reset();a.clear();return},i};function xa(n){let f,e;return e=pa(n.staleTime),f=n.fetch.length>=1?hl(n.fetch,e):Zu(n.fetch,e),f}function $a(n,f={}){let e,a,i,l,u;return a=Fn(!1),i=Fn(!1),e=Fn(null),l=0,u=async function(...t){let c,r;c=++l,a.value=!0,i.value=!1,e.value=null;try{r=await n(...t)}catch(h){if(c!==l)return;e.value=h;try{if(f.onError)return await f.onError(h);else throw h}finally{a.value=!1}}if(c!==l)return;return await(async()=>{try{return i.value=!0,await f.onSuccess?.(r),r}finally{if(c===l)a.value=!1}})()},Object.defineProperty(u,"pending",{get(){return a.value}}),Object.defineProperty(u,"succeeded",{get(){return i.value}}),Object.defineProperty(u,"error",{get(){return e.value}}),u}Ji=function(n){return typeof n==="function"?n:function(){return n.value}};Mi=function(n,f){return Object.defineProperty(n,"dispose",{value(){return f?.()},configurable:!0,writable:!0}),n};Wi=function(n,f,e){let a;return a={read(){return n.read()}},Object.defineProperty(a,"value",{get(){return n.value},set(i){return f.value=i}}),Mi(a,e)};var Al=function(n,f){let e,a,i;return a=Ji(f),i=Fn(!!a()),e=ni(function(){let l;if(a())return l=setTimeout(function(){return i.value=!0},n),function(){return clearTimeout(l)};else return i.value=!1}),typeof f!=="function"?Wi(i,f,e):Mi(i,e)},ka=function(n,f){let e,a,i;return a=Ji(f),i=Fn(a()),e=ni(function(){let l,u;return u=a(),l=setTimeout(function(){return i.value=u},n),function(){return clearTimeout(l)}}),typeof f!=="function"?Wi(i,f,e):Mi(i,e)},nt=function(n,f){let e,a,i,l;return a=Ji(f),l=Fn(a()),i=0,e=ni(function(){let u,t,c,r;if(r=a(),u=Date.now(),t=n-(u-i),t<=0)return l.value=r,i=u;else return c=setTimeout(function(){return l.value=a(),i=Date.now()},t),function(){return clearTimeout(c)}}),typeof f!=="function"?Wi(l,f,e):Mi(l,e)},it=function(n,f){let e,a,i;return a=Ji(f),i=Fn(!!a()),e=ni(function(){let l;if(a())return i.value=!0;else return l=setTimeout(function(){return i.value=!1},n),function(){return clearTimeout(l)}}),typeof f!=="function"?Wi(i,f,e):Mi(i,e)};function Dl(){let n,f,e,a;return f=new Map,a=new Set,n=new Map,e=function(i,l){let u=[];for(let t of Array.from(a))u.push((()=>{try{return t(i,l)}catch(c){return console.error("[Rip] watcher error:",c)}})());return u},{read(i){return f.get(i)},write(i,l){let u;return u=!f.has(i),f.set(i,l),n.delete(i),e(u?"create":"change",i)},del(i){return f.delete(i),n.delete(i),e("delete",i)},exists(i){return f.has(i)},size(){return f.size},list(i=""){let l,u,t;t=[],l=i?i+"/":"";for(let[c]of f)if(c.startsWith(l)){if(u=c.slice(l.length),u.includes("/"))continue;t.push(c)}return t},listAll(i=""){let l,u;u=[],l=i?i+"/":"";for(let[t]of f)if(t.startsWith(l))u.push(t);return u},load(i){let l=[];for(let u in i){let t=i[u];f.set(u,t),l.push(n.delete(u))}return l},watch(i){let l;return a.add(i),l=!1,function(){if(l)return;return l=!0,a.delete(i)}},getCompiled(i){return n.get(i)},setCompiled(i,l){return n.set(i,l)}}}rl=function(n){let f;if(f=n.replace(/\.rip$/,""),f=f.replace(/\[\.\.\.(\w+)\]/g,"*$1"),f=f.replace(/\[(\w+)\]/g,":$1"),f=f.split("/").filter(function(e){return!/^\(.+\)$/.test(e)}).join("/"),f==="index"||f==="")return"/";return f=f.replace(/\/index$/,""),"/"+f};sl=function(n){let f,e,a;return e=[],f=n.replace(/[.+?^${}()|[\]\\]/g,"\\$&"),a=f.replace(/\*(\w+)/g,function(i,l){return e.push(l),"(.*)"}).replace(/:(\w+)/g,function(i,l){return e.push(l),"([^/]+)"}),{regex:new RegExp("^"+a+"$"),names:e}};zu=function(n,f){let e,a;for(let i of f)if(e=n.match(i.regex.regex),e){a={};for(let l=0;l<i.regex.names.length;l++){let u=i.regex.names[l];a[u]=decodeURIComponent(e[l+1])}return{route:i,params:a}}return null};vi=function(n,f="_route"){let e,a,i,l,u,t,c,r,h,o;c=[],i=new Map,e=n.listAll(f);for(let s of e){if(t=s.slice(f.length+1),!t.endsWith(".rip"))continue;if(l=t.split("/").pop(),l==="_layout.rip"){a=t==="_layout.rip"?"":t.slice(0,-12),i.set(a,s);continue}if(l.startsWith("_"))continue;if(h=t.split("/"),h.length>1&&h.some(function(w,_){return _<h.length-1&&w.startsWith("_")}))continue;o=rl(t),u=sl(o),c.push({pattern:o,regex:u,file:s,rel:t})}r=new Map;for(let s of c){if(r.has(s.pattern))throw Error(`Rip App: '${r.get(s.pattern)}' and '${s.rel}' both resolve to '${s.pattern}'`);r.set(s.pattern,s.rel)}return c.sort(function(s,w){let _,y,m,D;if(y=(s.pattern.match(/:/g)||[]).length,D=(w.pattern.match(/:/g)||[]).length,_=s.pattern.includes("*")?1:0,m=w.pattern.includes("*")?1:0,_!==m)return _-m;if(y!==D)return y-D;return s.pattern.localeCompare(w.pattern)}),{routes:c,layouts:i}};Su=function(n,f,e){let a,i,l,u;if(a=[],l=n.slice(f.length+1),u=l.split("/"),i="",e.has(""))a.push(e.get(""));for(let t=0;t<u.length;t++){let c=u[t];if(t===u.length-1)break;if(i=i?i+"/"+c:c,e.has(i))a.push(e.get(i))}return a};function Rl(n,f={}){let e,a,i,l,u,t,c,r,h,o,s,w,_,y,m,D,U,R,A,E,M,q,S,Q,F,K,H,G,B,j,b,ln,nn,N,Hn,X,W,d;if(Ui("createRouter"),j=f.root||"_route",D=f.base||"",R=f.hash||!1,q=f.onError||null,Hn=function(z){if(!D)return z;if(z===D)return"/";if(z.startsWith(D+"/"))return z.slice(D.length);return z},o=function(z){return D?D+z:z},G=function(){let z;if(R){if(z=location.hash.slice(1),!z)return"/";return z[0]==="/"?z:"/"+z}else return location.pathname+location.search+location.hash},d=function(z){return R?z==="/"?location.pathname:"#"+z.slice(1):o(z)},c=Fn(Hn(R?G():location.pathname)),t=Fn({}),h=Fn(null),i=Fn([]),r=Fn({}),a=Fn(""),l=Al(100,Fn(!1)),u=Fn(c.value),X=vi(n,j),A=new Set,W=n.watch(function(z,Z){if(!Z.startsWith(j+"/"))return;return X=vi(n,j)}),B=function(z){let Z,g,P,un,k,hn,mn;if(k=z.split("?")[0].split("#")[0],P=Hn(k),P=P[0]==="/"?P:"/"+P,un=z.split("?")[1]?.split("#")[0]||"",g=z.includes("#")?z.split("#")[1]:"",hn=zu(P,X.routes),hn){if(Z=P,un)Z+=`?${un}`;if(g)Z+=`#${g}`;Vi(function(){return c.value=P,t.value=hn.params,h.value=hn.route,i.value=Su(hn.route.file,j,X.layouts),r.value=Object.fromEntries(new URLSearchParams(un)),a.value=g,u.value=Z}),mn=Array.from(A);for(let O of mn)try{O(b.current)}catch(T){console.error("[Rip] router onNavigate callback error:",T)}return!0}if(q)q({status:404,path:P});return!1},K=null,typeof history<"u"&&"scrollRestoration"in history)K=history.scrollRestoration,history.scrollRestoration="manual";if(H=function(z){return typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame(z):setTimeout(z,16)},w=function(z){let Z,g;if(typeof window>"u")return;return Z=0,g=function(){let P;return P=Math.max(0,(document?.documentElement?.scrollHeight||0)-window.innerHeight),window.scrollTo(0,Math.min(z,P)),Z+=1,z>P&&Z<20?H(g):void 0},H(g)},nn=null,Q=function(){if(nn||typeof window>"u")return;return nn=setTimeout(function(){return nn=null,(()=>{try{return history.replaceState({...history.state||{},_ripScroll:window.scrollY},"",location.href)}catch{}})()},100)},typeof window<"u")window.addEventListener("scroll",Q,{passive:!0});if(S=function(z){let Z;return Z=z?.state?._ripScroll,B(G()),typeof Z==="number"?w(Z):void 0},typeof window<"u")window.addEventListener("popstate",S);if(N=function(z){let Z;if(!z?.href)return!0;if(Z=(()=>{try{return new URL(z.href,location.origin)}catch{return null}})(),!Z)return!0;if(Z.origin!==location.origin)return!0;if(z.target==="_blank")return!0;if(z.hasAttribute("download"))return!0;if(z.hasAttribute("data-router-ignore"))return!0;if(D&&!R){if(!(Z.pathname===D||Z.pathname.startsWith(D+"/")))return!0}return!1},M=function(z){let Z,g,P,un;if(z.defaultPrevented)return;if(z.button!==0||z.metaKey||z.ctrlKey||z.shiftKey||z.altKey)return;P=z.target;while(P&&P.tagName!=="A")P=P.parentElement;if(!P)return;if(N(P))return;return un=new URL(P.href,location.origin),z.preventDefault(),Z=R&&un.hash?un.hash.slice(1)||"/":un.pathname+un.search+un.hash,g=P.hasAttribute("data-router-noscroll"),b.push(Z,{noScroll:g})},typeof document<"u")document.addEventListener("click",M);return F=new WeakSet,E=function(z){let Z;if(Z=z.split("?")[0].split("#")[0],Z=decodeURIComponent(Z),Z=Hn(Z),Z[0]!=="/")Z="/"+Z;if(Z.length>1&&Z.endsWith("/"))Z=Z.slice(0,-1);return Z},U=function(){let z;if(z=R?Hn(G()).split("?")[0].split("#")[0]:c.value.split("?")[0].split("#")[0],z[0]!=="/")z="/"+z;if(z.length>1&&z.endsWith("/"))z=z.slice(0,-1);return z},s=function(){let z,Z,g,P,un,k;if(typeof document>"u")return;Z=U(),z=document.querySelectorAll("a[href]");for(let hn of z){if(N(hn))continue;if(k=(()=>{try{return new URL(hn.href,location.origin)}catch{return null}})(),!k)continue;if(un=E(k.pathname+k.search+k.hash),g=null,un===Z)g="page";if(!g&&Z!=="/"&&Z.startsWith(un+"/")&&un!=="")g="true";if(P=hn.getAttribute("aria-current"),g){if(P&&!F.has(hn))continue;hn.setAttribute("aria-current",g),F.add(hn)}else if(F.has(hn))hn.removeAttribute("aria-current"),F.delete(hn)}return},y=null,m=!1,ln=function(){let z;if(m)return;return m=!0,z=function(){return m=!1,s()},typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame(z):setTimeout(z,0)},_=ni(function(){let z;if(typeof document>"u")return;if(U(),ln(),!y)y=new MutationObserver(function(){return ln()}),z=document.body||document.documentElement,y.observe(z,{childList:!0,subtree:!0});return}),b={push(z,Z){let g;if(g=typeof window<"u"?window.scrollY:0,B(z)){try{history.replaceState({...history.state||{},_ripScroll:g},"",location.href)}catch{}return history.pushState({_ripScroll:0},"",d(u.read())),!Z?.noScroll&&typeof window<"u"?window.scrollTo(0,0):void 0}},replace(z,Z){if(B(z))return history.replaceState({_ripScroll:0},"",d(u.read())),!Z?.noScroll&&typeof window<"u"?window.scrollTo(0,0):void 0},back(){return history.back()},forward(){return history.forward()},current:void 0,path:void 0,params:void 0,route:void 0,layouts:void 0,query:void 0,hash:void 0,navigating:void 0,onNavigate(z){return A.add(z),function(){return A.delete(z)}},rebuild(){return X=vi(n,j)},match(z){let Z,g,P,un,k;if(/^[a-z][a-z0-9+.-]*:\/\//i.test(z)){if(k=(()=>{try{return new URL(z,location.origin)}catch{return null}})(),!k)return null;z=R&&k.hash?k.hash.slice(1)||"/":k.pathname+k.search+k.hash}if(P=z.split("?")[0].split("#")[0],Z=Hn(P),Z=Z[0]==="/"?Z:"/"+Z,g=z.split("?")[1]?.split("#")[0]||"",un=zu(Z,X.routes),!un)return null;return{path:Z,params:un.params,route:un.route,layouts:Su(un.route.file,j,X.layouts),query:Object.fromEntries(new URLSearchParams(g)),hash:z.includes("#")?z.split("#")[1]:""}},ownsAnchor(z){return!N(z)},routes:void 0,init(){return B(G()),b},destroy(){if(typeof window<"u")window.removeEventListener("popstate",S);if(typeof window<"u")window.removeEventListener("scroll",Q);if(typeof document<"u")document.removeEventListener("click",M);if(K!==null&&typeof history<"u")history.scrollRestoration=K;return y?.disconnect(),y=null,_?.(),W?.(),W=null,l?.dispose?.(),A.clear()}},e=Bf(function(){return{path:c.value,params:t.value,route:h.value,layouts:i.value,query:r.value,hash:a.value}}),Object.defineProperty(b,"current",{get(){return e.value}}),Object.defineProperty(b,"path",{get(){return c.value}}),Object.defineProperty(b,"params",{get(){return t.value}}),Object.defineProperty(b,"route",{get(){return h.value}}),Object.defineProperty(b,"layouts",{get(){return i.value}}),Object.defineProperty(b,"query",{get(){return r.value}}),Object.defineProperty(b,"hash",{get(){return a.value}}),Object.defineProperty(b,"navigating",{get(){return l.value},set(z){return l.value=z}}),Object.defineProperty(b,"routes",{get(){return X.routes}}),b}Uu=function(n,f){if(n.length!==f.length)return!1;for(let e=0;e<n.length;e++)if(n[e]!==f[e])return!1;return!0};Ki=function(n){if(typeof n.default==="function"&&(n.default.prototype?.mount||n.default.prototype?._create))return n.default;for(let f in n){let e=n[f];if(typeof e==="function"&&(e.prototype?.mount||e.prototype?._create))return e}return typeof n.default==="function"?n.default:void 0};Eu=function(n){let f;f={};for(let e in n){let a=n[e];if(typeof a==="function"&&(a.prototype?.mount||a.prototype?._create))f[e]=a}return f};tl=function(n){let f;return f=n.split("/").pop().replace(/\.rip$/,""),f.replace(/(^|[-_])([a-z])/g,function(e,a,i){return i.toUpperCase()})};el=function(n,f=["_app","_lib","_pkg","_route"]){let e,a,i,l,u;a={},u=Array.isArray(f)?f:[f],l=[];for(let t of u)for(let c of n.listAll(t))l.push(c);for(let t of l){if(!t.endsWith(".rip"))continue;if(e=t.split("/").pop(),e.startsWith("_"))continue;if(e==="index.rip")continue;if(i=tl(t),a[i])console.warn(`[Rip] Component name collision: ${i} (${a[i]} vs ${t})`);a[i]=t}return a};ol=function(n,f,e){let a,i,l,u;if(i=n.replace(/^(\.\.\/|\.\/)+/,""),f){l=f.split("/"),l.pop();for(let t of n.split("/"))if(t==="..")l.pop();else if(t!==".")l.push(t);if(a=l.join("/"),e.exists(a))return a}if(e.exists(i))return i;for(let t of["_pkg","_lib","_app","_route"])if(u=`${t}/${i}`,e.exists(u))return u;return null};qu=function(n){let f,e,a,i,l,u,t;if(!n)return[];if(u=n.trim(),!u)return[];if(i=[],f=u.indexOf("{"),f>=0){if(e=u.lastIndexOf("}"),e<0)return i;a=u.slice(f+1,e);for(let c of a.split(",")){if(t=c.trim(),!t)continue;i.push(t.split(/\s+as\s+/).pop().trim())}u=u.slice(0,f).replace(/,\s*$/,"").trim()}for(let c of u.split(",")){if(l=c.trim(),!l)continue;if(/^\*\s+as\s+/.test(l))i.push(l.replace(/^\*\s+as\s+/,"").trim());else i.push(l)}return i};kn=async function(n,f,e=null,a=null,i=null){let l,u,t,c,r,h,o,s,w,_,y,m,D,U,R,A,E,M,q,S,Q,F,K,H,G,B,j,b,ln,nn,N,Hn,X,W,d;if(e&&a){if(h=e.getCompiled(a),h)return h}if(i&&a)i.compiling??={},i.compiling[a]=!0;return await(async()=>{try{if(s=globalThis?.__ripDebug?.enabled&&a,ln=0,A=s?f(n,{sourceMap:"inline",filename:a}):f(n),i){if(R=new Set,G=i.packages||{},Object.keys(G).length>0)u=/^(\s*import\s+(?:.*?\s+from\s+)?['"])(@rip-lang\/[^\/'"]+)((?:\/[^'"]*)?)(['"];?\s*)$/gm,A=A.replace(u,function(z,Z,g,P,un){let k,hn;if(k=G[g],!k)return z;return hn=!P?`_pkg/${k.short}/${k.entry}`:P.endsWith(".rip")?`_pkg/${k.short}${P}`:`_pkg/${k.short}${P}.rip`,`${Z}${hn}${un}`});if(H=/^(\s*)import\s+([^'"]+?)\s+from\s+['"](@rip-lang\/[^'"]+)['"];?\s*$/gm,A=A.replace(H,function(z,Z,g,P){let un,k,hn,mn,O,T,V,fn;if(V=P.replace(/^(@rip-lang\/[^\/]+).*$/,"$1"),G[V])return z;if(fn=g.trim(),fn.startsWith("type "))return`${Z}// type-only import erased: ${P}`;if(mn=fn.indexOf("{"),k=fn.lastIndexOf("}"),mn<0||k<=mn)return console.warn(`[Rip] Skipping non-named import from ${P}; only named imports from '@rip-lang/*' are supported.`),z;T=[];for(let sn of fn.slice(mn+1,k).split(",")){if(hn=sn.trim().replace(/^type\s+/,""),!hn)continue;if(/\s+as\s+/.test(hn))[O,un]=hn.split(/\s+as\s+/).map(function(tn){return tn.trim()}),T.push(`${O}: ${un}`);else T.push(hn)}if(T.length===0)return`${Z}// import erased: ${P}`;return`${Z}const { ${T.join(", ")} } = globalThis;`}),e){Hn=/^(\s*(?:import|export)\s+(?:(.*?)\s+from\s+)?['"])([^'"]*\.rip)(['"];?\s*)$/gm,M=Array.from(A.matchAll(Hn));for(let z=M.length-1;z>=0;z--){let Z=M[z];if([D,j,t,X,B]=Z,W=ol(X,a,e),W===a)continue;if(!W){if(S=`[Rip] Could not resolve import: ${X}`,a)S+=` (from ${a})`;console.warn(S);continue}if(!i.blobUrls?.[W]){if(i.compiling?.[W])continue;if(_=e.read(W),_)await kn(_,f,e,W,i)}if(r=i.blobUrls?.[W],r){N=`${j}${r}${B}`,A=A.slice(0,Z.index)+N+A.slice(Z.index+D.length);for(let g of qu(t))R.add(g)}}}l=/^\s*(?:import|export)\s+(?:(.*?)\s+from\s+)?['"][^'"]*['"];?\s*$/gm;for(let z of A.matchAll(l))for(let Z of qu(z[1]))R.add(Z);F={};for(let z in i.map){let Z=i.map[z];if(R.has(z))continue;if(Z!==a&&A.includes(`new ${z}(`)){if(!i.classes[z]){if(_=e.read(Z),_){w=await kn(_,f,e,Z,i),m=Eu(w);for(let g in m){let P=m[g];i.classes[g]=P}}}if(i.classes[z])F[z]=!0}}if(Q=Object.keys(F),Q.length>0)E=JSON.stringify(i.key),b=`const {${Q.join(", ")}} = globalThis[${E}];
3011
+ `,A=b+A,ln+=1}if(U=a?`// ${a}
3012
+ `:"",U)ln+=1;if(y=U+A,s&&ln>0){if(K=globalThis?.__ripDebug?.offsetSourceMap,K)y=K(y,ln)}if(c=new Blob([y],{type:"application/javascript"}),d=URL.createObjectURL(c),nn=null,i&&a){if(i.blobUrls??={},nn=i.blobUrls[a],nn&&nn!==d)try{URL.revokeObjectURL(nn)}catch{}i.blobUrls[a]=d}if(q=await import(d),o=!0,i){m=Eu(q);for(let z in m){let Z=m[z];i.classes[z]=Z}}if(e&&a)e.setCompiled(a,q);return q}finally{if(i&&a){if(i.compiling)delete i.compiling[a]}if(!o&&d&&i&&a){try{URL.revokeObjectURL(d)}catch{}if(i.blobUrls?.[a]===d)delete i.blobUrls[a]}}})()};Hu=function(n,f){let e;return n.innerHTML="",e=document.createElement("pre"),e.style.cssText="margin:2rem;padding:1rem 1.25rem;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;overflow-wrap:anywhere",e.textContent=f,n.appendChild(e)};function Ml(n){let f,e,a,i,l,u,t,c,r,h,o,s,w,_,y,m,D,U,R,A,E,M,q,S,Q,F,K,H,G,B,j,b,ln,nn,N,Hn,X;if(Ui("createRenderer"),{router:G,app:e,components:l,resolver:K,compile:i,target:nn,onError:A}=n,S=n.preload==="intent",u=typeof nn==="string"?document.querySelector(nn):nn||document.getElementById("app"),!u)u=document.createElement("div"),u.id="app",document.body.appendChild(u);return t=null,o=null,r=null,h=null,c=[],D=[],U=u,_=0,s=null,X=null,y=function(W){if(!K)return;if(K.blobUrls?.[W]){try{URL.revokeObjectURL(K.blobUrls[W])}catch{}delete K.blobUrls[W]}return K.classes&&K.map?(()=>{let d=[];for(let z in K.map){let Z=K.map[z];d.push(Z===W?delete K.classes[z]:void 0)}return d})():void 0},Hn=function(){if(t){try{t.unmount?.({removeDOM:!1})}catch(W){console.error("[Rip] page unmount error:",W)}return t=null,o=null}},N=function(){Hn();for(let W=D.length-1;W>=0;W--){let d=D[W];try{d.unmount?.({removeDOM:!0})}catch(z){console.error("[Rip] layout unmount error:",z)}}return D=[],U=u,r=null,h=null,c=[]},B=function(W,d){if(!(W&&d))return!1;if(Object.keys(W).length!==Object.keys(d).length)return!1;for(let z in W){let Z=W[z];if(d[z]!==Z)return!1}return!0},F=function(W){let d;d=Xn(e.data);for(let z of W.split(".")){if(!(d!=null&&typeof d==="object"))return null;if(d=d[z],Yn(d))return d}return null},w=async function(W,d,z,Z=!1,g=0){let P,un,k,hn,mn,O,T,V,fn,sn,tn,yn,_n,An;V=new Map;for(let wn=0;wn<W.length;wn++){let Rn=W[wn];if(wn<g)continue;if(mn=Rn.cls?.__gates,!(mn&&mn.length))continue;for(let v of mn){if(_n=typeof v==="string"?v:v.path,sn=typeof v==="string"?null:v.key,P=F(_n),!P)throw Error(`[Rip] ${Rn.file}: '${_n} <~' does not resolve to a source — declare it with source() in app/stash.rip`);if(fn=void 0,Di(P)){if(!sn)throw Error(`[Rip] ${Rn.file}: '${_n}' is a keyed source — gate with a key: ${_n}(params.…)`);fn=sn(d||{},z||{}),P=P.cellFor(fn)}else if(sn)throw Error(`[Rip] ${Rn.file}: '${_n}' is not a keyed source — drop the key argument`);if(O=_n+"|"+String(fn??""),T=V.get(O),!T)T={cell:P,owners:[],path:_n},V.set(O,T);T.owners.push(wn)}}if(tn=[...V.values()],!tn.length)return{failedIndex:1/0,failure:null};An=await Promise.allSettled(tn.map(function(wn){return Z?wn.cell.preload():wn.cell.ensure()})),k=1/0,hn=null;for(let wn=0;wn<An.length;wn++){let Rn=An[wn];if(un=null,Rn.status==="rejected")un=Rn.reason;else if(!Z&&Rn.value==null)un=Error(`[Rip] gate '${tn[wn].path} <~' resolved to ${Rn.value}: a gated source must resolve to a non-null value or throw. For a value that can be absent, read it ungated with ~= instead of gating it.`);if(!un)continue;if(yn=Math.min(...tn[wn].owners),yn<k)k=yn,hn={status:un?.status??un?.response?.status??500,message:un?.message??String(un),error:un,path:tn[wn].path}}return{failedIndex:k,failure:hn}},H=function(W){let d;d=!1;for(let z=D.length-1;z>=0;z--){let Z=D[z];if(Z.onError)try{Z.onError(W),d=!0;break}catch(g){console.error("Renderer: error boundary failed:",g)}}if(!d){if(console.error(`Renderer: gate '${W.path}' failed:`,W.error),A)A(W);return N(),Hu(u,`${W.status}: ${W.message}`)}},R=async function(W,d=!1){let z,Z,g,P,un,k,hn,mn,O,T,V,fn,sn,tn,yn,_n,An,wn,Rn,v,an,En,Un,I,L,$,en,rn,x,cn,Mn,on,dn,Zn,Gn,Qn;if({route:on,params:rn,layouts:_n,query:cn}=W,!on)return;if(dn=on.file===o&&B(rn,r),Mn=function(){let qn,In;if(qn=t?.constructor,In=qn?.__gates,!In)return!1;for(let ii of In)if(typeof ii!=="string"&&ii.key)try{if(ii.key(rn||{},h||{})!==ii.key(rn||{},cn||{}))return!0}catch{return!0}return!1},dn&&!d&&!Mn()){if(!B(cn,h)){if(h=cn,t?.load)try{await t.load(rn,cn)}catch(qn){if(console.error(`Renderer: error in query-only load for ${on.file}:`,qn),A)A({status:500,message:qn.message,error:qn})}}return}return V=++_,G.navigating=!0,await(async()=>{try{if(Gn=l.read(on.file),!Gn){if(A)A({status:404,message:`File not found: ${on.file}`});G.navigating=!1;return}if(v=await kn(Gn,i,l,on.file,K),V!==_){G.navigating=!1;return}if(z=Ki(v),!z){if(A)A({status:500,message:`No component found in ${on.file}`});G.navigating=!1;return}yn=[];for(let qn of _n){if(wn=l.read(qn),!wn)continue;if(An=await kn(wn,i,l,qn,K),V!==_){G.navigating=!1;return}if(Z=Ki(An),!Z)continue;yn.push({file:qn,cls:Z})}if(hn=[...yn,{file:on.file,cls:z}],Rn=!Uu(_n,c),an=Rn?0:yn.length,{failedIndex:O,failure:T}=await w(hn,rn,cn,!1,an),V!==_){G.navigating=!1;return}if(Un=t?._target,Rn)N();else Hn();if(r=rn,h=cn,En=Rn?u:U,mn=Math.min(O,yn.length),Rn&&_n.length>0){u.innerHTML="",En=u,k=globalThis.__ripComponent?.__pushComponent,P=globalThis.__ripComponent?.__popComponent,I=null;for(let qn=0;qn<yn.length;qn++){let In=yn[qn];if(qn>=mn)break;Z=In.cls,x=k?.(I),globalThis.__ripGateMount=Z;try{sn=new Z({app:e,params:rn,router:G})}finally{globalThis.__ripGateMount=null,P?.(x)}if(sn.beforeMount){g=k?.(sn);try{sn.beforeMount()}finally{P?.(g)}}Qn=document.createElement("div"),Qn.setAttribute("data-layout",In.file),En.appendChild(Qn),sn.mount(Qn),D.push(sn),I=sn,Zn=Qn.querySelector("#content")||Qn,En=Zn}c=mn<yn.length?_n.slice(0,mn):[..._n],U=En}else if(Rn)u.innerHTML="",c=[],U=u;if(T){Un?.remove(),H(T),G.navigating=!1;return}en=document.createElement("div"),en.setAttribute("data-component",on.file),En.appendChild(en),k=globalThis.__ripComponent?.__pushComponent,P=globalThis.__ripComponent?.__popComponent,L=D[D.length-1]||null,$=k?.(L),globalThis.__ripGateMount=z;try{tn=new z({app:e,params:rn,query:cn,router:G})}finally{globalThis.__ripGateMount=null,P?.($)}if(tn.beforeMount){un=k?.(tn);try{tn.beforeMount()}finally{P?.(un)}}if(tn.mount(en),t=tn,o=on.file,tn.load)await tn.load(rn,cn);return Un?.remove(),G.navigating=!1}catch(qn){if(G.navigating=!1,console.error(`Renderer: error mounting ${on.file}:`,qn),A)A({status:500,message:qn.message,error:qn});fn=!1;for(let In=D.length-1;In>=0;In--){let ii=D[In];if(ii.onError)try{ii.onError(qn),fn=!0;break}catch(Ul){console.error("Renderer: error boundary failed:",Ul)}}return(()=>{if(!fn)return N(),Hu(u,qn.stack||qn.message)})()}})()},ln=!1,q=async function(W){let d,z,Z,g,P,un,k,hn;if(Z=G.match?.(W),!Z?.route)return;if(un=Uu(Z.layouts,c),un&&Z.route.file===o&&B(Z.params,r))return;if(d=[],!un)for(let mn of Z.layouts){if(P=l.read(mn),!P)continue;if(g=await kn(P,i,l,mn,K),z=Ki(g),z)d.push({file:mn,cls:z})}if(hn=l.read(Z.route.file),hn){if(k=await kn(hn,i,l,Z.route.file,K),z=Ki(k),z)d.push({file:Z.route.file,cls:z})}await w(d,Z.params,Z.query,!0);return},f=50,m={href:null,at:0},b=null,j=null,a=function(){if(b)clearTimeout(b),b=null;return j=null},E=function(W){let d,z;d=W.target;while(d&&d.tagName!=="A")d=d.parentElement;if(!d)return;if(!G.ownsAnchor?.(d))return;if(d===j)return;return a(),j=d,z=d.href,b=setTimeout(function(){let Z;if(b=null,j=null,Z=Date.now(),z===m.href&&Z-m.at<3000)return;return m.href=z,m.at=Z,q(z).catch(function(){return null})},f)},M=function(W){let d;if(!j)return;return d=W.relatedTarget,!(d&&j.contains(d))?a():void 0},Q={start(){if(ln)return Q;if(ln=!0,s=ni(function(){let W;return W=G.current,W.route?R(W):void 0}),X=l?.watch(function(W,d){return(Array.isArray(["change","delete"])?["change","delete"].includes(W):(W in["change","delete"]))?y(d):void 0}),S)document.addEventListener("pointerover",E,{passive:!0}),document.addEventListener("focusin",E,{passive:!0}),document.addEventListener("pointerout",M,{passive:!0}),document.addEventListener("focusout",M,{passive:!0});return G.init(),Q},stop(){if(!ln)return;if(ln=!1,N(),s)s(),s=null;if(X?.(),X=null,a(),S)document.removeEventListener("pointerover",E),document.removeEventListener("focusin",E),document.removeEventListener("pointerout",M),document.removeEventListener("focusout",M);if(K?.blobUrls){for(let W in K.blobUrls){if(!Object.hasOwn(K.blobUrls,W))continue;let d=K.blobUrls[W];try{URL.revokeObjectURL(d)}catch{}}K.blobUrls={}}return u.innerHTML=""},remount(W=!1){let d,z;return z=typeof W==="object"?!!W.force:!!W,d=G.current,d.route?R(d,z):void 0}},Q}al=function(n){let f,e,a,i,l,u;return Ui("connectWatch"),l=1000,i=30000,f=!1,a=null,u=null,e=function(){if(f)return;return a=new EventSource(n),a.addEventListener("connected",function(){return l=1000,console.log("[Rip] Hot reload connected")}),a.addEventListener("reload",function(){return console.log("[Rip] Reloading..."),location.reload()}),a.addEventListener("css",function(){let t,c;c=document.querySelectorAll('link[rel="stylesheet"]');let r=[];for(let h of c)t=new URL(h.href),t.searchParams.set("_t",Date.now()),h.href=t.toString();return r}),a.onerror=function(){if(a.close(),a=null,f)return;return u=setTimeout(e,l),l=Math.min(l*2,i)}},e(),function(){if(f)return;if(f=!0,u)clearTimeout(u),u=null;return a?.close(),a=null}};async function ut(n={}){let f,e,a,i,l,u,t,c,r,h,o,s,w,_,y,m,D,U,R,A,E,M,q,S,Q,F,K,H;if(Ui("launch"),e=(n.base||"").replace(/\/+$/,""),F=n.target||"#app",t=n.compile||null,y=n.persist||!1,w=n.hash||!1,!t)t=globalThis?.compileToJS||null;if(!document.querySelector(F))h=document.createElement("div"),h.id=F.replace(/^#/,""),document.body.prepend(h);if(n.bundle)i=n.bundle;else if(n.bundleUrl){if(_={},s=`__rip_etag_${n.bundleUrl}`,l=sessionStorage.getItem(s),l)_["If-None-Match"]=l;if(U=await fetch(n.bundleUrl,{headers:_}),U.status===304)i=JSON.parse(sessionStorage.getItem(`${s}_data`));else if(U.ok){if(i=await U.json(),o=U.headers.get("etag"),o)sessionStorage.setItem(s,o),sessionStorage.setItem(`${s}_data`,JSON.stringify(i))}else throw Error(`launch: ${n.bundleUrl} (${U.status})`)}else throw Error("launch: no bundle or bundleUrl provided");if(f=ml({components:{},routes:{},data:{}}),globalThis.__ripApp=f,a=Dl(),i.modules)a.load(i.modules);if(u=`__rip_${e.replace(/\//g,"_")||"app"}`,R={map:el(a),classes:{},key:u,packages:i.packages||{}},globalThis[u]=R.classes,S=null,q="_app/stash.rip",a.exists(q)){if(Q=a.read(q),Q)try{if(M=await kn(Q,t,a,q,R),M?.stash)S=M.stash}catch(G){console.error(`[Rip] Failed to load app/stash.rip: ${G.message}`,G)}}if(S&&i.data)for(let G in i.data){let B=i.data[G];if(!Yn(S[G]))S[G]=B}if(E=S??i.data,E)f.data=E;if(wl(Xn(f.data)),i.routes)f.routes=i.routes;if(m=null,y)m=yl(f,{local:y==="local",key:`__rip_${e}`});if(f.data.title)document.title=f.data.title;if(A=Rl(a,{root:"_route",base:e,hash:w,onError(G){return console.error(`[Rip] Error ${G.status}: ${G.message||G.path}`)}}),globalThis.__ripRouter=A,D=Ml({router:A,app:f,components:a,resolver:R,compile:t,target:F,preload:i.data?.preload==="intent"?"intent":!1,onError(G){return console.error(`[Rip] ${G.message}`,G.error)}}),D.start(),K=null,i.data?.watch)K=al(`${e}/watch`);return H=window,r=!1,c=function(){if(r)return;if(r=!0,K?.(),D.stop(),A.destroy(),m?.(),delete globalThis[u],delete globalThis.__ripApp,delete globalThis.__ripRouter,delete globalThis.__ripLaunched,H.app===f)delete H.app;return H.__RIP__?.app===f?delete H.__RIP__:void 0},H.app=f,H.__RIP__={app:f,components:a,router:A,renderer:D,resolver:R,destroy:c,version:"0.3.0"},globalThis.__ripLaunched=!0,{app:f,components:a,router:A,renderer:D,destroy:c}}Wn=function(n,f){if(!f)return;return n.preventDefault(),n.stopPropagation(),f()};globalThis.__ariaLastFocusedEl??=null;if(typeof document<"u"&&!globalThis.__ariaFocusTrackerBound)document.addEventListener("focusin",function(n){return globalThis.__ariaLastFocusedEl=n.target},!0),globalThis.__ariaFocusTrackerBound=!0;Vf=function(n,f){if(n.isComposing)return;return(()=>{switch(n.key){case"ArrowDown":return Wn(n,f.next);case"ArrowUp":return Wn(n,f.prev);case"Home":case"PageUp":return Wn(n,f.first);case"End":case"PageDown":return Wn(n,f.last);case"Enter":case" ":return Wn(n,f.select);case"Escape":return Wn(n,f.dismiss);case"Tab":return f.tab?.();default:return n.key.length===1?f.char?.(n.key):void 0}})()};Lf=function(n,f,e,a=[],i=null){let l,u,t,c,r;if(u=function(h){return typeof h==="function"?h():h},r=u(f),r&&r.__ariaPopupDismiss)r.__ariaPopupDismiss(),r.__ariaPopupDismiss=null;if(!(n&&r))return;return t=(h)=>{return![r,...a.map(u)].some(function(o){return o?.contains(h.target)})?e():void 0},c=(h)=>{if(r?.contains(h.target))return;return i?i():e()},document.addEventListener("mousedown",t),window.addEventListener("scroll",c,!0),l=function(){return document.removeEventListener("mousedown",t),window.removeEventListener("scroll",c,!0)},r.__ariaPopupDismiss=l,l};pf=function(n=250){let f;return f=0,{block(e=n){return f=Date.now()+e},canOpen(){return Date.now()>=f}}};vf=function(n,f,e,a=null){let i,l,u,t,c,r,h,o,s,w,_;if(t=function(y){return typeof y==="function"?y():y},i=function(){let y,m;if(y=document.activeElement,y&&y!==document.body)return y;if(m=globalThis.__ariaLastFocusedEl,m?.isConnected!==!1)return m;return null},u=t(f),!u)return;if(!Object.hasOwn(HTMLElement.prototype,"togglePopover"))return;if(h=null,_=function(y){if(y){u.hidden=!1;try{u.inert=!1}catch{}return u.removeAttribute("aria-hidden")}else{try{u.inert=!0}catch{}return u.setAttribute("aria-hidden","true"),u.hidden=!0}},o=function(){let y,m;if(m=h,h=null,!m?.focus)return;return y=function(D=6){if(m.isConnected===!1)return;try{m.focus({preventScroll:!0})}catch{m.focus()}if(document.activeElement===m||D<=1)return;return setTimeout(function(){return y(D-1)},16)},requestAnimationFrame(function(){return y()})},u.__ariaBindPopover)u.removeEventListener("toggle",u.__ariaBindPopover),u.__ariaBindPopover=null;if(c=function(y){let m;if(m=y.newState==="open",m)h=t(a)||i(),_(!0);else _(!1),o();return e?.(m)},u.addEventListener("toggle",c),u.__ariaBindPopover=c,s=u.matches(":popover-open"),l=!!n,s!==l){if(w=t(a),l)h=w||i(),_(!0);r=w&&l?{force:l,source:w}:{force:l};try{u.togglePopover(r)}catch{}}else _(l);return function(){return u.removeEventListener("toggle",c),u.__ariaBindPopover===c?u.__ariaBindPopover=null:void 0}};Cf=function(n,f,e,a=!0){let i,l,u,t,c,r,h,o,s,w;if(u=function(_){return typeof _==="function"?_():_},i=function(){let _,y;if(_=document.activeElement,_&&_!==document.body)return _;if(y=globalThis.__ariaLastFocusedEl,y?.isConnected!==!1)return y;return null},l=u(f),!l?.showModal)return;if(o=null,w=function(_){if(_){l.hidden=!1;try{l.inert=!1}catch{}return l.removeAttribute("aria-hidden")}else{try{l.inert=!0}catch{}return l.setAttribute("aria-hidden","true"),l.hidden=!0}},s=function(){let _,y;if(y=o,o=null,!y?.focus)return;return _=function(m=6){if(y.isConnected===!1)return;try{y.focus({preventScroll:!0})}catch{y.focus()}if(document.activeElement===y||m<=1)return;return setTimeout(function(){return _(m-1)},16)},requestAnimationFrame(function(){return _()})},l.__ariaBindDialog)[r,h]=l.__ariaBindDialog,l.removeEventListener("cancel",r),l.removeEventListener("close",h),l.__ariaBindDialog=null;if(t=function(_){if(!a){_.preventDefault();return}return e?.(!1)},c=function(){return e?.(!1),w(!1),s()},l.addEventListener("cancel",t),l.addEventListener("close",c),l.__ariaBindDialog=[t,c],n&&!l.open){if(!o)o=i();w(!0);try{l.showModal()}catch{}}else if(!n&&l.open)l.close();else w(!!n);return function(){return l.removeEventListener("cancel",t),l.removeEventListener("close",c),l.__ariaBindDialog?.[0]===t?l.__ariaBindDialog=null:void 0}};nl=function(n,f,e="vertical"){let a,i;if(n.isComposing)return;return i=e!=="horizontal",a=e!=="vertical",(()=>{switch(n.key){case"ArrowDown":return i?Wn(n,f.next):void 0;case"ArrowUp":return i?Wn(n,f.prev):void 0;case"ArrowRight":return a?Wn(n,f.next):void 0;case"ArrowLeft":return a?Wn(n,f.prev):void 0;case"Home":case"PageUp":return Wn(n,f.first);case"End":case"PageDown":return Wn(n,f.last);case"Enter":case" ":return Wn(n,f.select);case"Escape":return Wn(n,f.dismiss);default:return n.key.length===1?f.char?.(n.key):void 0}})()};$f=function(n,f,e=4,a=!0){let i,l;if(!(n&&f))return;if(l=n.getBoundingClientRect(),f.style.position="fixed",f.style.left=`${l.left}px`,f.style.top=`${l.bottom+e}px`,f.style.minWidth=`${l.width}px`,i=f.getBoundingClientRect(),i.bottom>window.innerHeight)f.style.top=`${l.top-i.height-e}px`;if(i.right>window.innerWidth)f.style.left=`${window.innerWidth-i.width-e}px`;return a?f.style.visibility="visible":void 0};var ft='a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])';il=function(n){let f;return f=function(e){let a,i,l,u;if(e.key!=="Tab")return;if(u=n.querySelectorAll(ft),l=Array.from(u).filter(function(t){return t.offsetParent!==null}),!l.length)return;return a=l[0],i=l[l.length-1],e.shiftKey?document.activeElement===a?(e.preventDefault(),i.focus()):void 0:document.activeElement===i?(e.preventDefault(),a.focus()):void 0},n.addEventListener("keydown",f),function(){return n.removeEventListener("keydown",f)}};fl=function(n,f){let e,a;if(!n)return;if(a=n.querySelector("h1,h2,h3,h4,h5,h6"),a)a.id??=`${f}-title`,n.setAttribute("aria-labelledby",a.id);if(e=n.querySelector("p"),e)return e.id??=`${f}-desc`,n.setAttribute("aria-describedby",e.id)};Ai=[];jf=function(n){let f;if(f=window.scrollY,Ai.push({instance:n,scrollY:f}),Ai.length===1)return document.body.style.position="fixed",document.body.style.top=`-${f}px`,document.body.style.width="100%"};ul=function(n){let f,e;if(f=Ai.findIndex(function(a){return a.instance===n}),f<0)return;if({scrollY:e}=Ai.splice(f,1)[0],!Ai.length)return document.body.style.position="",document.body.style.top="",document.body.style.width="",window.scrollTo(0,e)};gi=!1;Hi=!1;Ju=function(){let n,f,e;if(gi)return Hi;if(!(typeof document<"u"&&document.body))return!1;return(()=>{try{return n=document.createElement("div"),f=document.createElement("div"),n.style.cssText="position:fixed;top:100px;left:100px;width:10px;height:10px;anchor-name:--probe",f.style.cssText="position:fixed;inset:auto;margin:0;position-anchor:--probe;position-area:bottom span-right;width:10px;height:10px",document.body.appendChild(n),document.body.appendChild(f),e=f.getBoundingClientRect(),n.remove(),f.remove(),Hi=e.top>50,gi=!0,Hi}catch{return gi=!0,Hi=!1}})()};If=["position","inset","top","right","bottom","left","margin","marginTop","marginRight","marginBottom","marginLeft","transform","minWidth","justifySelf","alignSelf","positionAnchor","positionArea","positionTry","positionVisibility"];kf=function(n){let f;f=n.style;let e=[];for(let a of If)e.push(f[a]="");return e};xf=function(n,f,e={}){let a,i,l,u,t,c,r,h,o,s,w,_,y;if(!(n&&f))return;if(h=e.placement??"bottom start",r=e.offset??4,t=e.matchWidth??!1,kf(f),[_,a]=h.split(" "),a??="start",y=_==="bottom"||_==="top",i=(()=>{switch(a){case"center":return"center";case"end":return y?"span-left":"span-top";default:return y?"span-right":"span-bottom"}})(),o=`${_} ${i}`,l=Ju()&&typeof CSS<"u"&&CSS.supports("position-area",o),l){if(c=`--anchor-${f.id||Math.random().toString(36).slice(2,8)}`,u=f,s=u.__ariaPrevTrigger,s&&s!==n)try{s.style.anchorName=""}catch{}if(u.__ariaPrevTrigger=n,n.style.anchorName=c,f.style.positionAnchor=c,f.style.position="fixed",f.style.inset="auto",f.style.margin="0",f.style.positionArea=o,y)f.style.justifySelf=a;else f.style.alignSelf=a;switch(f.style.positionTry="flip-block, flip-inline, flip-block flip-inline",f.style.positionVisibility="anchors-visible",_){case"bottom":f.style.marginTop=`${r}px`;break;case"top":f.style.marginBottom=`${r}px`;break;case"left":f.style.marginRight=`${r}px`;break;case"right":f.style.marginLeft=`${r}px`;break}return t?f.style.minWidth="anchor-size(width)":void 0}else{switch(w=n.getBoundingClientRect(),f.style.position="fixed",f.style.inset="auto",f.style.margin="0",_){case"bottom":f.style.top=`${w.bottom+r}px`;break;case"top":f.style.bottom=`${window.innerHeight-w.top+r}px`;break;case"left":f.style.right=`${window.innerWidth-w.left+r}px`;break;case"right":f.style.left=`${w.right+r}px`;break}if(Array.isArray(["bottom","top"])?["bottom","top"].includes(_):(_ in["bottom","top"]))switch(a){case"start":f.style.left=`${w.left}px`;break;case"center":f.style.left=`${w.left+w.width/2}px`,f.style.transform="translateX(-50%)";break;case"end":f.style.right=`${window.innerWidth-w.right}px`;break}else switch(a){case"start":f.style.top=`${w.top}px`;break;case"center":f.style.top=`${w.top+w.height/2}px`,f.style.transform="translateY(-50%)";break;case"end":f.style.bottom=`${window.innerHeight-w.bottom}px`;break}return t?f.style.minWidth=`${w.width}px`:void 0}};Tf=function(...n){return function(){let f=[];for(let e of n)f.push((()=>{try{return e?.()}catch{return null}})());return f}};gf={listNav:Vf,rovingNav:nl,popupDismiss:Lf,popupGuard:pf,bindPopover:vf,bindDialog:Cf,positionBelow:$f,trapFocus:il,wireAria:fl,lockScroll:jf,unlockScroll:ul,position:xf,hasAnchor:Ju,combine:Tf};globalThis.__aria??=gf;globalThis.ARIA??=globalThis.__aria;ri.modules["app.rip"]=xi;for(let[n,f]of Object.entries(xi))if(typeof f==="function")globalThis[n]=f;})();