diff --git a/dist/@rip/rip.js b/dist/@rip/rip.js index 4790adc3..ae562ddb 100644 --- a/dist/@rip/rip.js +++ b/dist/@rip/rip.js @@ -17830,12 +17830,37 @@ ${this.replayPad}}` : " }"); line(() => this.b.emit(`{ const ${kidV} = ${instVar}._beginProjection(${self()}); try {`)); const outerHost = this.projectionHost; this.projectionHost = instVar; + const from = rec.setups.length; let childrenVar; try { childrenVar = projection(); } finally { this.projectionHost = outerHost; } + const guard = (setups) => ({ + kind: "raw", + node: null, + fn: (pad) => { + this.b.emit(`${pad}if (${instVar}) { +`); + this.replaySetups({ setups }, `${pad} `); + this.b.emit(`${pad}} +`); + } + }); + let run = []; + for (const s of rec.setups.splice(from)) { + if (s.latch !== true) { + run.push(s); + continue; + } + if (run.length > 0) + rec.setups.push(guard(run)); + run = []; + rec.setups.push(s); + } + if (run.length > 0) + rec.setups.push(guard(run)); line(() => this.b.emit(`} finally { ${instVar}._endProjection(${kidV}); } }`)); line(() => this.b.emit(`${instVar}._setChildren(${childrenVar});`)); } @@ -17907,6 +17932,7 @@ ${this.replayPad}}` : " }"); } rec.setups.push({ kind: "raw", + latch: true, fn: (pad) => { this.b.emit(pad); const emitLatch = () => { @@ -26271,6 +26297,9 @@ function __lis(arr) { return result; } function __reconcile(anchor, state, items, ctx, factory, keyFn, ...outer) { + if (anchor == null) { + throw new Error("__reconcile: no anchor — the list's create phase never placed one"); + } const parent = anchor.parentNode; if (!parent) return; diff --git a/dist/@rip/rip.min.js b/dist/@rip/rip.min.js index 2213f6b7..3c34ca94 100644 --- a/dist/@rip/rip.min.js +++ b/dist/@rip/rip.min.js @@ -1,31 +1,31 @@ -var g2=Object.defineProperty;var b2=(e)=>e;function y2(e,t){this[e]=b2.bind(null,t)}var Fe=(e,t)=>{for(var r in t)g2(e,r,{get:t[r],enumerable:!0,configurable:!0,set:y2.bind(t,r)})};class ge{constructor(e,t=""){this.path=t,this.text=e;let r=[0];for(let n=0;nthis.text.length)e=this.text.length;let t=this.lineStarts,r=0,n=t.length-1;while(r<=n){let i=r+n>>1;if(t[i]<=e)r=i+1;else n=i-1}return{line:n,col:e-t[n]}}offsetAt(e,t){if(e<0)return 0;if(e>=this.lineStarts.length)return this.text.length;let r=this.lineStarts[e],n=e+1r&&this.text.charCodeAt(n-1)===13)n--;let i=r+Math.max(0,t);return i>n?n:i}slice(e,t){return this.text.slice(e,t)}}var Z={on:!1,n:0},Tn=()=>{if(Z.on=typeof process<"u"&&!!process.env.RIP_COUNT_OPS,Z.on)Z.n=0;return Z.on};class Qr extends Error{constructor(e){super(e);this.name="TypeTextError"}}var jt=(e)=>String(e??"").trim(),Be=(e)=>String(e??""),wn=()=>{throw Error("rip: type-text rendering is unavailable in the browser")},_n=()=>{throw Error("rip: type-text rendering is unavailable in the browser")},Nn=()=>()=>!1,An=()=>new Set;function ie(e){return String(e).replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase()}function ei(e){return String(e).replace(/_([a-z])/g,(t,r)=>r.toUpperCase())}function ti(e){return ie(e)+"_id"}function tt(e){if(typeof e!=="string"||!/^[a-z][a-zA-Z0-9]*$/.test(e))return!1;if(/[A-Z]{2,}/.test(e))return!1;return!0}function ri(e){if(typeof e!=="string"||!/^[A-Z][a-zA-Z0-9]*$/.test(e))return!1;if(/[A-Z]{2,}/.test(e))return!1;return!0}function S2(e){return typeof e==="string"&&/^[a-z_][a-z0-9_]*$/.test(e)}function R2(e){return typeof e==="string"&&e.length>0&&!/[\u0000-\u001f\u007f".]/.test(e)}var ii={__proto__:null,mixin:"target",times:"none",softDelete:"none",belongsTo:"target",hasOne:"target",hasMany:"target",index:"columns",unique:"columns",idStart:"int",table:"name",tableWas:"name",primary:"field"},vn=["idStart","table","tableWas","primary","times","softDelete"],On=["belongsTo","hasOne","hasMany"],ni={__proto__:null,column:"literal",was:"column"},In={__proto__:null,as:"property",foreignKey:"column",through:"model",targetKey:"column"};function si(e,t,r){if(typeof r!=="string"||!r.length)return"'"+t+"' requires a non-empty string";if(e==="property"&&!tt(r))return"'"+t+"' is a property name — canonical camelCase, e.g. {"+t+": author}";if(e==="model"&&!ri(r))return"'"+t+"' is a model name — canonical PascalCase, e.g. {"+t+": Membership}";if(e==="column"&&!S2(r))return"'"+t+"' is a column name Rip generates — lowercase, digits and underscores "+"only, e.g. {"+t+': "author_id"}';if(e==="literal"&&!R2(r))return"'"+t+"' is a database column name — any spelling the database uses, but with "+"no dots, double quotes, or control characters";return null}var E2=new Set(["input","shape","mixin","enum","union","model"]);var k2=new Set(["beforeValidation","afterValidation","beforeSave","afterSave","beforeCreate","afterCreate","beforeUpdate","afterUpdate","beforeDestroy","afterDestroy","afterCommit","afterRollback"]),$n=new Set(["integer","number","boolean","date","datetime"]),T2={__proto__:null,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"},w2=new Set(["string","email","url","phone","zip"]),_2=new Set(["TERMINATOR","INDENT","OUTDENT","=","COMPOUND_ASSIGN","RETURN","THROW","YIELD","AWAIT","EXPORT",",","(","[","{","CALL_START","PARAM_START","INDEX_START","->","=>",":","WHEN","LEADING_WHEN","THEN","IF","UNLESS","UNARY","UNARY_MATH"]),Dn=new Set(["defaultMaxString"]),L1=(e)=>e&&(e.kind==="IDENTIFIER"||e.kind==="PROPERTY"),rt=(e)=>e&&typeof e.value==="string"&&/^[a-z]+$/.test(e.value)&&(e.kind===e.value.toUpperCase()||e.kind==="LEADING_WHEN"||e.kind==="RELATION"||e.kind==="STATEMENT"),N2=(e)=>`__${e}__behavior`,H1=(e,t,r=!1)=>{if(e[t]?.kind!==":")return null;let n=e[t+1];if(!n||n.spaced)return null;if(L1(n)||r&&/^[a-z]+$/.test(n.value)&&n.kind===n.value.toUpperCase())return n;return null};function A2(e,t){if(typeof e?.start!=="number")throw e;t(e)}function Mn(e,t,r,n,i=null){if(r.indexOf("schema")===-1)return;let s=[],a={defaultMaxString:null,tolerate:i},o=0,l=0;while(l0){l+=f;continue}if(I2(e,l,n)){l=$2(e,l,s,a,t,n,r);continue}s.push(c),l++}e.length=0;for(let c of s)e.push(c)}function v2(e,t,r,n,i){let s=e[t];if(!s||s.kind!=="IDENTIFIER"||s.value!=="schema")return 0;if(e[t+1]?.kind!==".")return 0;let a=e[t+2];if(!a||a.kind!=="PROPERTY")return 0;if(e[t+3]?.kind!=="=")return 0;let o=e[t-1];if(o&&o.kind!=="TERMINATOR"&&o.kind!=="INDENT"&&o.kind!=="OUTDENT")return 0;let l=a.value;if(!Dn.has(l))i(`unknown schema pragma 'schema.${l}' — known pragmas: ${[...Dn].join(", ")}`,a.start);if(n>0)i(`schema pragma 'schema.${l}' must be declared at file top level — inside a nested block it would leak into later top-level schemas`,a.start);let c=e[t+4];if(!c||c.kind!=="NUMBER")i(`pragma 'schema.${l}' requires a number literal — example: schema.${l} = 100`,(c??a).start);let f=Number(c.value);if(!Number.isFinite(f)||f<0||!Number.isInteger(f))i(`pragma 'schema.${l}' expects a non-negative integer (got ${c.value}); use 0 to disable`,c.start);r[l]=f===0?null:f;let h=t+5;if(e[h]?.kind==="TERMINATOR")h++;return h-t}var jn=(e,t)=>{if(e[t]?.kind==="SYMBOL")return e[t];return e[t]?.kind===":"&&e[t].spaced?H1(e,t,!0):null},Fn=(e,t)=>e[t]?.kind==="SYMBOL"?1:2,O2=(e,t)=>{if(e[t]?.kind!==","||!L1(e[t+1])||e[t+1].value!=="on")return t;let r=t+2;if(e[r]?.kind===":")r++;while(r")s("inline schema bodies do not support '->' (methods/hooks/scopes/transforms) — use the indented form",R.start);else if(w===0&&(k==="EFFECT"||k==="!>"))s(`inline schema bodies do not support '${R.value}' (${k==="EFFECT"?"computed getters":"eager-derived fields"}) — use the indented form`,R.start);S++}while(S>b&&e[S-1].kind==="TERMINATOR")S--;if(d=e.slice(b,S),p=S,!d.length)s("inline schema body is empty — add '; field; …' entries or switch to the indented form",o.start);m=d[d.length-1].end}else{if(e[f]?.kind==="TERMINATOR")f++;if(e[f]?.kind!=="INDENT")s(`expected an indented schema body after 'schema${c?" :"+l:""}'`,o.start);let b=f,S=0,w=-1;for(let R=b;Rb.kind==="SYMBOL"?[{...b,kind:":",value:":",end:b.start+1},{...b,kind:"IDENTIFIER",start:b.start+1,spaced:!1}]:[b]);let g=D2(l,c,d,{schemaStart:o.start,defaultMaxString:n.defaultMaxString,tolerate:n.tolerate??null},s);if(u)g.adapterTokens=u;return g.start=(c??d[0]).start,g.end=m,g.primitiveSpans=[c,...d].filter((b)=>b&&typeof b.value==="string"&&/^[A-Za-z_$][\w$]*$/.test(b.value)).map((b)=>({value:b.value,sourceStart:b===c&&b.end-b.start===b.value.length+1?b.start+1:b.start,sourceEnd:b.end})),r.push({id:i(),kind:"SCHEMA",value:"schema",start:o.start,end:o.end,spaced:o.spaced}),r.push({id:i(),kind:"SCHEMA_BODY",value:g,start:g.start,end:g.end,spaced:!0}),p}function D2(e,t,r,n,i){let s=[],a=x2(r);if(e==="input"&&!t&&a.length>0&&H1(a[0],0))e="enum";if(e==="enum")for(let o of a)K2(o,s,i);else if(e==="union"){for(let c of a)G2(c,s,i);let o=s.filter((c)=>c.tag==="directive"&&c.name==="on").length,l=s.filter((c)=>c.tag==="union-member");if(o!==1)i(o===0?":union requires an '@on :field' discriminator — untagged unions are not supported":`:union takes exactly one '@on :field' discriminator (got ${o})`,n.schemaStart);if(l.length<2)i(`:union needs at least two constituent schemas (got ${l.length})`,n.schemaStart)}else{for(let o of a)C2(e,o,s,n,i);if(e==="model")j2(s,i);else for(let o of s){if(o.tag==="scope"||o.tag==="defaultScope")i(`:${e} schemas don't accept query scopes — '@${o.tag==="scope"?"scope":"defaultScope"}' is :model-only`,o.start);if(e==="mixin"&&(o.tag==="method"||o.tag==="computed"||o.tag==="derived"))i(`:mixin schemas are fields-only — '${o.name}' is a ${o.tag}; move it to a :shape or :model`,o.start);if(e==="mixin"&&o.tag==="ensure")i(":mixin schemas don't accept @ensure refinements — move the invariant to a :shape or :model that composes this mixin",o.start);if(e==="input"&&(o.tag==="method"||o.tag==="computed"))i(`:input schemas are fields-only — '${o.name}' is a ${o.tag}; use :shape or :model if you need behavior`,o.start);if(o.tag==="directive"&&o.name!=="mixin")i(`:${e} schemas only accept '@mixin Name'${e==="input"?" and '@ensure'":""} — '@${o.name}' is ${["times","softDelete","belongsTo","hasMany","hasOne","unique","index","idStart","table","tableWas","primary"].includes(o.name)?":model-only":"not a schema directive"}`,o.start)}}return{kind:e,entries:s,toJSON(){return this.kind}}}function x2(e){let t=[],r=[],n=0;for(let i of e){if(i.kind==="INDENT")n++;if(i.kind==="OUTDENT")n--;if(i.kind==="TERMINATOR"&&n===0){if(r.length)t.push(r),r=[];continue}r.push(i)}if(r.length)t.push(r);return t}function C2(e,t,r,n,i){let s=t[0];if(!s)return;if(s.kind==="@"){let U=t[1];if(!L1(U))i("expected a directive name after '@'",s.start);let r1=U.value;if(r1==="ensure"){let I=2,c1=!1;if(t[2]?.kind==="DAMMIT"&&!t[2].spaced)c1=!0,I=3;let O=B2(t.slice(I),s,i);for(let D of O)r.push({tag:"ensure",name:"ensure",message:D.message,field:D.field,fieldStart:D.fieldStart,async:c1,paramTokens:D.paramTokens,bodyTokens:D.bodyTokens,start:s.start});return}if(r1==="scope"){let I=M2(t.slice(2),s,i);r.push({tag:"scope",name:I.name,paramTokens:I.paramTokens,bodyTokens:I.bodyTokens,start:s.start});return}if(r1==="defaultScope"){let I=Bn(t.slice(2),s,"@defaultScope",i);if(I.paramTokens.length)i("@defaultScope takes no parameters — write '@defaultScope -> @where(...)'",s.start);r.push({tag:"defaultScope",name:"defaultScope",paramTokens:[],bodyTokens:I.bodyTokens,start:s.start});return}let q=null,s1=t.slice(2);if(r1==="mixin"){let I=s1[0];if(!L1(I))i("@mixin requires a target name — '@mixin Timestamps'",s.start);if(s1.length>1)i("@mixin takes exactly one schema name",s1[1].start);q=[{target:I.value}]}r.push({tag:"directive",name:r1,args:q,argTokens:s1,start:s.start,nameStart:U.start});return}if(s.kind==="PROPERTY"){if(n.tolerate){try{xn(e,s,t,r,i)}catch(U){A2(U,n.tolerate)}return}xn(e,s,t,r,i);return}if(s.kind!=="IDENTIFIER"&&!rt(s))i(`unexpected ${s.kind} at schema top level — allowed: fields ('name! type'), directives ('@name'), methods ('name: -> body'), computed getters ('name: ~> body')`,s.start);let a=s.value;if(t[1]?.kind===":")i(`schema fields use 'name type' (space, no colon) — got '${a}:'`,t[1].start);let o=[],l=1;while(l{if(t[U]?.kind==="STRING"&&t[U].value.startsWith('"'))return{value:JSON.parse(t[U].value),bracketed:!1,start:t[U].start,end:t[U].end,next:U+1};if((t[U]?.kind==="["||t[U]?.kind==="INDEX_START")&&t[U+1]?.kind==="STRING"&&t[U+1].value.startsWith('"')&&(t[U+2]?.kind==="]"||t[U+2]?.kind==="INDEX_END"))return{value:JSON.parse(t[U+1].value),bracketed:!0,start:t[U].start,end:t[U+2].end,next:U+3};return null},S=void 0,w=null,R=b(l);if(m?.kind==="UNARY_MATH"&&m.value==="~"){let U=H1(t,l+1),r1=t[l+1];if(U){h=!0,u=U.value;let q=T2[u];if(q&&typeof q==="object")c=q.type,d=!0;else c=q||"any";l+=3}else if(r1?.kind==="IDENTIFIER"&&!r1.spaced){if(!$n.has(r1.value))i(`'~${r1.value}' is not coercible — built-in coercion exists for: ${[...$n].join(", ")}; named coercers use a symbol ('~:${r1.value}'); otherwise write a transform ('${a}, -> …')`,r1.start);h=!0,c=r1.value,l+=2}else i("'~' in the type slot marks coercion and needs a type name ('~integer', '~date', …) or a registered coercer symbol ('~:ssn', …)",m.start);p=!0}else if(m?.kind==="IDENTIFIER")c=m.value,p=!0,l++;else if(R&&(!R.bracketed||t[R.next]?.kind==="|")){f=[];let U=(r1)=>{if(f.push(r1.value),r1.bracketed){if(w)i(`field '${a}' brackets more than one union member as its default — a field has one default`,r1.start);S=r1.value,w={start:r1.start,end:r1.end}}};U(R),l=R.next,p=!0;while(t[l]?.kind==="|"){let r1=b(l+1);if(!r1)i(`literal unions contain string literals only — '${t[l+1]?.kind??""}' is not allowed as a union member; use the '?' modifier for nullability`,t[l].start);U(r1),l=r1.next}c="literal-union"}let k=!1,j=(U)=>(t[U]?.kind==="["||t[U]?.kind==="INDEX_START")&&(t[U+1]?.kind==="]"||t[U+1]?.kind==="INDEX_END");if(j(l)){if(k=!0,l+=2,j(l))i(`field '${a}' — nested array types ('${c}[][]') are not supported: one '[]' validates element-wise; use 'json' or a '-> transform' for deeper nesting`,t[l].start)}if(h&&k)i(`coercion ('~${c}') does not apply to array types — coerce per-element with a transform instead`,m.start);if(d)k=!0;if(k&&f)i("array-of-literal-union is not supported — use 'string[]' for an array of strings",m.start);let M=m?.kind==="UNARY_MATH"&&m.value==="~"?t[g+1]:m,L=p?[M.start,t[l-1].end]:null,A=t.slice(l);if(p&&A[0]?.kind==="->")i(`field '${a}' has a transform after the type; a comma is required before '->' — write '${a} ${c}, -> …'`,A[0].start);let P=null,v=void 0,V=!1;if(w)v=S,V=!0;let W={};if(w)W.start=w.start,W.end=w.end;let G=null,T=null,N=null,F=!1,J=!1;if(A.length>0){if(A[0]?.kind===",")A=A.slice(1);if(A.length>=2&&A[0].kind==="INDENT"){let r1=0,q=-1;for(let s1=0;s1"){let I=J2(q),c1=q[0].kind==="@"&&I===2;if(I>0&&!c1)i(`field '${a}' has a transform after other content; a comma is required before '->'`,q[I].start);if(!c1){while(q.length&&(q[q.length-1].kind==="OUTDENT"||q[q.length-1].kind==="TERMINATOR"))q=q.slice(0,-1);if(!q.length)continue}}let s1=q[0];if(s1.kind==="["||s1.kind==="INDEX_START"){if(V)i(`field '${a}' has more than one '[…]' default bracket`,s1.start);v=q2(q,a,i,W),V=!0}else if(s1.kind==="{"){if(e!=="model"&&e!=="mixin")i(`field attrs ('{…}') are persistence metadata — :model/:mixin-only ('{was: "old_column"}' annotates a column rename)`,s1.start);if(N)i(`field '${a}' has more than one '{…}' attrs bracket`,s1.start);N=P2(q,a,i)}else if(Y2(q)){if(P)i(`field '${a}' has more than one range constraint — one 'min..max' per field`,s1.start);P=z2(q,a,i)}else if(s1.kind==="REGEX"&&q.length===1){if(G)i(`field '${a}' has more than one regex constraint`,s1.start);G=X2(s1,i)}else if(s1.kind==="->"){if(r1!==U.length-1)i(`transform '-> …' must be the last element on the field line for '${a}'`,s1.start);T=q.slice(1)}else if(s1.kind==="@"){let I=L1(q[1])?q[1].value:null;if(e!=="model"&&e!=="mixin")i(`inline '@${I??""}' on field '${a}' is persistence metadata — :model/:mixin-only ('@unique' marks single-column uniqueness)`,s1.start);if(q.length>2&&q[2].kind==="->"){if(r1!==U.length-1)i(`transform '-> …' must be the last element on the field line for '${a}'`,q[2].start);T=q.slice(3),q=q.slice(0,2)}if(q.length===2&&I==="unique"){if(F)i(`field '${a}' has more than one '@unique'`,s1.start);F=!0}else if(q.length===2&&I==="primary"){if(e!=="model")i(`inline '@primary' on field '${a}' is :model-only — a mixin cannot declare the primary key`,s1.start);if(J)i(`field '${a}' has more than one '@primary'`,s1.start);J=!0}else i(`unknown inline attribute '@${I??""}' on field '${a}' — the inline attributes are '@unique' and '@primary'`,s1.start)}else i(`unexpected trailer for field '${a}' — expected '[…]' default, '/regex/', 'min..max' range, or '-> transform'`,s1.start)}}if(h&&T)i(`field '${a}' has both '~${c}' coercion and a '->' transform — a transform replaces coercion; coerce inside it instead`,s.start);let x={};if(P){if(P.min!==void 0)x.min=P.min;if(P.max!==void 0)x.max=P.max;if(P.min===void 0&&x.min===void 0&&o.includes("!"))x.min=1}if(G)x.regex=G;if(V)x.default=v;if(f&&x.default!==void 0&&!f.includes(x.default))i(`field '${a}' defaults to ${JSON.stringify(x.default)}, which is not a member of its literal union (${f.map((U)=>JSON.stringify(U)).join(" | ")})`,s.start);if(n.defaultMaxString!=null&&!G&&!f&&w2.has(c)&&x.max===void 0)x.max=n.defaultMaxString;if(x.min!==void 0&&x.max!==void 0&&x.min>x.max)i(`field '${a}' would have impossible constraints min=${x.min} > max=${x.max} after sugar is applied — write an explicit range or drop the conflicting pragma`,s.start);let Q=x.min!==void 0||x.max!==void 0||x.default!==void 0||x.regex!==void 0?x:null;r.push({tag:"field",name:a,modifiers:o,typeName:c,array:k,literals:f,coerce:h,coercer:u,constraints:Q,transformTokens:T,unique:F,primary:J,attrs:N,start:s.start,typeSpan:L,defaultSpan:W.start===void 0?null:[W.start,W.end]})}function ai(e,t,r,n){if(e[e.length-1]?.kind!=="}")n(`${r} — the '{…}' options bracket never closes`,e[0].start);let i=e.slice(1,-1).filter((a)=>a.kind!=="TERMINATOR"&&a.kind!=="INDENT"&&a.kind!=="OUTDENT"),s={};for(let a of Oe(i)){if(!a.length)continue;let o=a[0];if(!L1(o))n(`${r} options must be '{key: value}' pairs — got ${o.kind}`,o.start);let l=o.value,c=t[l];if(c===void 0)n(`unknown ${r} option '${l}' — known options: ${Object.keys(t).join(", ")}`,o.start);if(l in s)n(`${r} repeats option '${l}'`,o.start);let f=1;if(a[f]?.kind===":")f++;let h=a.slice(f);if(h.length!==1)n(`${r} option '${l}' takes a single value`,(h[0]??o).start);let u=h[0],d=c==="property"||c==="model",p;if(d){if(!L1(u)&&!rt(u)){let g=u.kind==="STRING"&&u.value.startsWith('"')?JSON.parse(u.value):null,b=g&&!si(c,l,g)?g:c==="model"?"Membership":"author";n(`${r} option '${l}' names ${c==="model"?"a model":"a property"}, `+`so it is written BARE — '{${l}: ${b}}', not ${u.kind==="STRING"?u.value:`a ${u.kind}`}. Quoting would name a database identifier, which is a different thing`,u.start)}p=u.value}else{if(u.kind!=="STRING"||!u.value.startsWith('"'))n(`${r} option '${l}' names a database column, so it is QUOTED — `+`'{${l}: "${L1(u)?ie(u.value):"author_id"}"}'. A bare name would be a Rip name, which is a different thing`,u.start);p=JSON.parse(u.value)}let m=si(c,l,p);if(m)n(`${r} option ${m}; got '${p}'`,o.start);s[l]=p}if(!Object.keys(s).length)n(`${r} has an empty '{…}' options bracket`,e[0].start);return s}function P2(e,t,r){return ai(e,ni,`field '${t}'`,r)}function L2(e,t,r){let n=ai(e,In,`@${t}`,r);if(n.through&&t==="belongsTo")r("@belongsTo option 'through' is for @hasMany/@hasOne — a @belongsTo holds its key in its own row, so it has nothing to read through",e[0].start);if(n.targetKey&&!n.through)r(`@${t} option 'targetKey' names a column on the join model, so it requires 'through' — '{through: Membership, targetKey: "team_id"}'`,e[0].start);return n}function M2(e,t,r){if(!e.length)r("@scope requires ':name, -> body' (or ':name, (args) -> body')",t.start);let n=H1(e,0);if(!n)r("@scope name must be a :symbol — '@scope :active, -> @where(active: true)'",e[0].start);let i=n.value,s=e[2],a=s&&!s.spaced&&s.start===n.end&&(s.value==="!"||s.value==="?");if(a||!/^[a-z][a-zA-Z0-9]*$/.test(i))r(`@scope name ':${i}${a?s.value:""}' must be a lowercase-first alphanumeric identifier — scopes chain as query-builder methods`,n.start);let o=e.slice(2);if(o[0]?.kind===",")o=o.slice(1);if(!o.length)r(`@scope :${i} is missing its body — '@scope :${i}, -> @where(...)'`,n.start);let l=Bn(o,n,`@scope :${i}`,r);return{name:i,paramTokens:l.paramTokens,bodyTokens:l.bodyTokens}}function Bn(e,t,r,n){if(!e.length)n(`${r}: expected '-> body' or '(args) -> body'`,t.start);let i=[],s=0,a=e[0];if(a.kind==="("||a.kind==="PARAM_START"||a.kind==="CALL_START"){let c=1;s=1;while(s0){let f=e[s].kind;if(f==="("||f==="PARAM_START"||f==="CALL_START")c++;if(f===")"||f==="PARAM_END"||f==="CALL_END"){if(c--,c===0){s++;break}}i.push(e[s]),s++}if(c!==0)n(`${r}: unclosed '(' in parameters`,a.start)}let o=e[s];if(o?.kind!=="->")n(`${r}: expected '->' ${i.length?"after parameters":"to start the body"}`,(o??t).start);let l=e.slice(s+1);if(!l.length)n(`${r}: function body is empty`,o.start);return{paramTokens:i,bodyTokens:l}}function j2(e,t){let r=new Set;for(let m of e){if(m.tag!=="directive")continue;let g=ii[m.name];if(g===void 0)t(`unknown directive '@${m.name}' on :model — legal: ${Object.keys(ii).map((b)=>"@"+b).join(", ")}, @ensure, @scope, @defaultScope`,m.nameStart??m.start);if(vn.includes(m.name)){if(r.has(m.name))t(g==="none"?`duplicate '@${m.name}' — declared twice; a :model declares it once`:`duplicate '@${m.name}' — a :model declares it at most once (the second would silently override the first)`,m.nameStart??m.start);r.add(m.name)}if(m.name!=="mixin")m.args=F2(m,g,t)}if(e.some((m)=>m.tag==="directive"&&m.name==="mixin"))return;let i=new Set,s=new Map,a=new Map,o=new Map,l=(m,g,b,S)=>{if(i.has(g))t(`${s.get(g)} and ${b} both own column '${g}' — every table column has exactly one owner`,S);if(a.has(m))t(`${o.get(m)} and ${b} both own property '${m}' (columns '${a.get(m)}' and '${g}') — every property reads exactly one column`,S);i.add(g),s.set(g,b),a.set(m,g),o.set(m,b)},c=e.find((m)=>m.tag==="directive"&&m.name==="primary"),f=e.filter((m)=>m.tag==="field"&&m.primary);if(f.length>1)t(`both '${f[0].name}' and '${f[1].name}' declare '@primary' — a row has one identity`,f[1].start);if(f.length===1){if(c)t(`'@primary ${c.args[0].name}' and inline '@primary' on field '${f[0].name}' are two answers to one question — state it once`,c.start);c={tag:"directive",name:"primary",args:[{name:f[0].name}],start:f[0].start}}let h=c?c.args[0].column??ie(c.args[0].name):"id",u=c?c.args[0].name:"id",d=e.find((m)=>m.tag==="field"&&m.name===u)??null,p=!!(c&&d);if(!c&&d)t(`field '${u}' collides with the runtime-managed primary key — a :model's ${u} is sequence-assigned. Drop the declaration, or write '@primary ${u}' to make it a caller-supplied natural key instead`,d.start);if(p){if(!d.modifiers?.includes("!"))t(`the primary key '${u}' is declared optional — a row's identity is never absent; declare it required ('${u}! string')`,d.start);if(d.array)t(`the primary key '${u}' is declared as an array — a primary key is one value`,d.start);let m=e.find((g)=>g.tag==="directive"&&g.name==="idStart");if(m)t(`@idStart seeds the sequence behind a runtime-managed primary key, but '${u}' is declared as a field, which makes it caller-supplied — there is no sequence to seed. Drop @idStart, or drop the field declaration`,m.start);if(c.args[0].column!==void 0&&c.args[0].column!==(d.attrs?.column??ie(u)))t(`@primary names column '${c.args[0].column}' but field '${u}' reads a different one — state the column once, on the field`,c.start)}else l(u,h,"the primary key",c?.start??e[0]?.start??0);for(let m of e){if(m.tag!=="field")continue;l(m.name,m.attrs?.column??ie(m.name),`field '${m.name}'`,m.start)}for(let m of e){if(m.tag!=="directive")continue;if(m.name==="times")l("createdAt","created_at","@times",m.start),l("updatedAt","updated_at","@times",m.start);else if(m.name==="softDelete")l("deletedAt","deleted_at","@softDelete",m.start);else if(m.name==="belongsTo"){let g=m.args[0],b=g.foreignKey??ti(g.as??g.target);l(ei(b),b,`the @belongsTo ${g.target}${g.as?` (as ${g.as})`:""} relation`,m.start)}}for(let m of e){if(m.tag!=="directive"||m.name!=="index"&&m.name!=="unique")continue;let g=m.args[0].fields.map((b)=>a.get(b)??(i.has(b)?b:ie(b)));g.forEach((b,S)=>{if(g.indexOf(b)!==S)t(`@${m.name} columns must be distinct after canonicalization: ${g.join(", ")}`,m.colTokens?.[S]?.start??m.start)}),g.forEach((b,S)=>{if(!i.has(b))t(`@${m.name}: unknown column '${m.args[0].fields[S]}' — the table has: ${[...i].sort().join(", ")}`,m.colTokens?.[S]?.start??m.start)})}}function F2(e,t,r){let n=e.argTokens??[],i=(s,a)=>r(`@${e.name}: ${a}`,s.start);switch(t){case"none":{if(n.length)i(n[0],"takes no arguments");return null}case"target":{let s=n[0];if(!L1(s))r(`@${e.name} requires a target name — '@${e.name} User'`,(s??{start:e.start}).start);let a=!1,o=1;if(n[o]?.kind==="?"&&!n[o].spaced)a=!0,o++;let l=null;if(n[o]?.kind===","&&n[o+1]?.kind==="{")l=L2(n.slice(o+1),e.name,r),o=n.length;if(oL1(c)||rt(c),l=0;if(H1(n,0)){let c=H1(n,0);s.push(c.value),a.push(c),l=2}else if(o(n[0]))s.push(n[0].value),a.push(n[0]),l=1;else if(n[0]?.kind==="["||n[0]?.kind==="INDEX_START"){let c=1;l=1;let f=[];while(l0){let h=n[l];if(h.kind==="["||h.kind==="INDEX_START")c++;if(h.kind==="]"||h.kind==="INDEX_END"){if(c--,c===0){l++;break}}if(c>=1)f.push(h);l++}if(c!==0)i(n[0],"unclosed '[' in the column list");for(let h of Oe(f)){let u=H1(h,0),d=u??(o(h[0])?h[0]:null);if(!d||h.length>(u?2:1))i(h[u?2:1]??h[0]??n[0],`column names are bare identifiers or :symbols — '@${e.name} [:a, :b]'`);s.push(d.value),a.push(d)}}if(!s.length)r(`@${e.name} requires a field name or list — '@${e.name} :email' or '@${e.name} [:a, :b]'`,(n[0]??{start:e.start}).start);if(l1)i(n[1],`takes one table name — unexpected ${n[1].kind}`);if(o);else{if(/[A-Z]{2,}/.test(a))r(`@${e.name} ${a}: a bare name is a LOGICAL name that Rip snake_cases, and consecutive capitals convert surprisingly ('${a}' → '${ie(a)}'). Spell it 'MdmUser'-style, or name the table exactly by quoting it: '@${e.name} "${a}"'`,s.start);a=ie(a)}return[{name:a}]}case"field":{let s=n[0];if(!L1(s)&&!rt(s))r(`@${e.name} requires a property name — '@${e.name} patientId'`,(s??{start:e.start}).start);let a=1,o=null;if(n[a]?.kind===","&&n[a+1]?.kind==="{")o=ai(n.slice(a+1),ni,`@${e.name}`,r),a=n.length;if(a0){let d=r[a].kind;if(d==="("||d==="PARAM_START"||d==="CALL_START")u++;if(d===")"||d==="PARAM_END"||d==="CALL_END"){if(u--,u===0){a++;break}}o.push(r[a]),a++}if(u!==0)i(`'${s}': unclosed '(' in parameters`,r[2].start)}let l=r[a],c=null,f=-1;if(l?.kind==="->"||l?.kind==="EFFECT"||l?.kind==="!>")c=l.kind==="EFFECT"?"~>":l.kind,f=a+1;else if(L1(l)||l?.kind==="STRING"||l?.kind==="NUMBER")i(`schema fields use 'name type' (space, no colon) — got '${s}:'; for methods/computed use 'name: -> body' or 'name: ~> body'`,r[1].start);else i(`schema top-level '${s}:' must be followed by '->' (method), '~>' (computed getter), or '!>' (eager derived)`,r[1].start);let h=c==="~>"?"computed":c==="!>"?"derived":e==="model"&&k2.has(s)?"hook":"method";if(o.length&&h!=="method")i(`'${s}': ${h==="computed"?"computed getters (~>)":h==="derived"?"eager-derived fields (!>)":"lifecycle hooks"} take no parameters — only methods do`,r[1].start);n.push({tag:h,name:s,paramTokens:o,bodyTokens:r.slice(f),start:t.start})}function B2(e,t,r){let n=e;if(!n.length)r("@ensure requires 'message, (x) -> body' or a '[…]' array of pairs",t.start);let i=n[0];if(i.kind==="["||i.kind==="INDEX_START"){let a=U2(n,i,r),o=V2(a);if(o.length===0)r("@ensure […] must contain at least one 'message, fn' pair",i.start);return Cn(o,i,r)}let s=Oe(n);if(s.length<2)r("@ensure inline form must be 'message, (x) -> body' — did you forget the comma?",i.start);if(s.length>3||s.length===3&&!Un(s[1]))r(`@ensure inline form takes 'message[, :field], fn' (got ${s.length} comma-separated parts) — use '@ensure […]' for multiple refinements`,i.start);return Cn(s,i,r)}var Un=(e)=>e&&e.length===2&&H1(e,0)!==null;function Cn(e,t,r){let n=[],i=0;while(i=e.length)r(`@ensure: missing function after message${a?" and :field":""}`,(s[0]??t).start);n.push(W2(s,a,e[i++],t,r))}return n}function U2(e,t,r){let n=0,i=[];for(let s=0;s=2&&i[0].kind==="INDENT"&&i[i.length-1].kind==="OUTDENT"){let o=0,l=!1;for(let c=0;c=1)i.push(a)}r("@ensure: unclosed '['",t.start)}function V2(e){let t=[],r=[],n=0;for(let i of e){let s=i.kind;if(s==="("||s==="["||s==="{"||s==="CALL_START"||s==="INDEX_START"||s==="PARAM_START"||s==="INDENT")n++;if(s===")"||s==="]"||s==="}"||s==="CALL_END"||s==="INDEX_END"||s==="PARAM_END"||s==="OUTDENT")n--;if(n===0&&(s===","||s==="TERMINATOR")){if(r.length)t.push(r),r=[];continue}r.push(i)}if(r.length)t.push(r);return t}function W2(e,t,r,n,i){if(!e?.length)i("@ensure: missing message (expected a string literal)",n.start);if(e.length!==1||e[0].kind!=="STRING"||!e[0].value.startsWith('"'))i("@ensure: each refinement's first element must be a string literal message",(e[0]??n).start);let s=e[0],a=JSON.parse(s.value),o=t?H1(t,0):null,l=t?o.value:null,c=o?.start??null;if(!r?.length)i("@ensure: missing function after message",s.start);let f=r[0];if(f.kind!=="("&&f.kind!=="PARAM_START")i("@ensure: expected '(args) -> body' after the message — predicates declare their parameter explicitly ('(u) -> …')",f.start);let h=1,u=1,d=[];while(u0){let g=r[u].kind;if(g==="("||g==="PARAM_START")h++;if(g===")"||g==="PARAM_END"){if(h--,h===0){u++;break}}d.push(r[u]),u++}if(h!==0)i("@ensure: unclosed '(' in predicate parameters",f.start);let p=r[u];if(p?.kind!=="->")i("@ensure: expected '->' after predicate parameters",(p??s).start);let m=r.slice(u+1);if(!m.length)i("@ensure: predicate function body is empty",p.start);return{message:a,field:l,fieldStart:c,paramTokens:d,bodyTokens:m}}function Vn(e,t,r,n=null){if(!e.length)return[];let i=H2(e,t,r,n);for(let s=i.length-1;s>=0&&i[s].type===null;s--)i[s].optional=!0;return i}function H2(e,t,r,n){let i=(s)=>s.kind!=="TERMINATOR"&&s.kind!=="INDENT"&&s.kind!=="OUTDENT";return Oe(e).map((s)=>{let a=s.filter((f)=>i(f)&&f.kind!=="TYPE"),o=a.length>=3&&(a[0].kind==="IDENTIFIER"||a[0].kind==="PROPERTY")&&a[1].kind===":";if(!o&&(a.length!==1||a[0].kind!=="IDENTIFIER"))r(`${t}: parameters must be plain identifiers, optionally typed ('name' or 'name: Type')`,(a[0]??s[0]).start);let l=o?[...s].filter(i).pop():null,c=o&&n!==null?jt(n.slice(a[1].end,l.end)).trim():null;return{name:a[0].value,type:c,optional:!1}})}function G2(e,t,r){let n=e[0];if(!n)return;if(n.kind==="@"){let i=e[1];if(!i||i.value!=="on")r(`:union bodies accept only '@on :field' and constituent schema names — '@${i?.value??""}' is not allowed`,(i??n).start);let s=H1(e,2);if(!s)r("@on requires the discriminator field as a symbol — '@on :kind'",(e[2]??i).start);if(e.length>4)r("@on takes exactly one :field symbol",e[4].start);t.push({tag:"directive",name:"on",args:[{field:s.value}],start:n.start});return}if(n.kind==="IDENTIFIER"&&e.length===1){t.push({tag:"union-member",name:n.value,start:n.start});return}r(`:union bodies accept only '@on :field' and bare constituent schema names (one per line) — got ${n.kind}${e.length>1?" followed by "+e[1].kind:""}`,n.start)}function K2(e,t,r){let n=e[0];if(!n)return;if(n.kind==="@")r(`:enum schemas don't accept '@${e[1]?.value??"directive"}' — enums hold only :symbol members`,n.start);let i=H1(e,0);if(!i)r(`enum member must be a :symbol — use ':${n.value??"name"}' for a bare member or ':${n.value??"name"} value' for a valued one`,n.start);let s=i.value,a=e[2];if(!a){t.push({tag:"enum-member",name:s,value:void 0,start:n.start});return}if(a.kind===":")r(`enum member ':${s}' — drop the ':' before the value; use ':${s} value'`,a.start);if(e.length>3&&!(e.length===4&&a.kind==="-"&&e[3].kind==="NUMBER"))r(`extra tokens after enum member ':${s}' value`,e[3].start);let o=a.kind==="-"&&e[3]?.kind==="NUMBER"?-Number(e[3].value):Wn(a,`enum member ':${s}' value`,r);t.push({tag:"enum-member",name:s,value:o,start:n.start})}function Y2(e){return e.some((t)=>t.kind==="..")&&e.every((t)=>t.kind===".."||t.kind==="NUMBER"||t.kind==="-")}function z2(e,t,r){let n=0,i=()=>{let l=1;if(e[n]?.kind==="-")l=-1,n++;let c=e[n++];if(c?.kind!=="NUMBER")r("range endpoints must be numeric literals",(c??e[0]).start);return l*Number(c.value)},s;if(e[n]?.kind!=="..")s=i();n++;let a;if(na)r(`range '${s}..${a}' is reversed — write the smaller endpoint first`,e[0].start);let o={};if(s!==void 0)o.min=s;if(a!==void 0)o.max=a;return o}function q2(e,t,r,n={}){let i=e.slice(1,-1);if(i.length)n.start=i[0].start,n.end=i[i.length-1].end;let s=Oe(i);if(s.length!==1)r(s.length===2?"size/value ranges use 'min..max' syntax, not brackets — replace the bracket pair with a range":`the constraint bracket takes a single default value (got ${s.length} elements)`,e[0].start);let a=s[0];if(a.length===1&&a[0].kind==="REGEX")r(`regex constraints are written bare, not in brackets — replace '[${a[0].value}]' with '${a[0].value}'`,e[0].start);if(a.length===2&&a[0].kind==="-"&&a[1].kind==="NUMBER")return-Number(a[1].value);let o=H1(a,0);if(o&&a.length===2)return o.value;if(a.length!==1)r(`default values must be literals (number, string, boolean, null, :symbol) — field '${t}'`,a[0].start);return Wn(a[0],`field '${t}' default`,r)}function X2(e,t){let r=/^\/((?:\\.|[^\\/])+)\/([a-z]*)$/.exec(e.value);if(!r)t(`invalid regex literal ${JSON.stringify(e.value)}`,e.start);try{return new RegExp(r[1],r[2])}catch(n){t(`invalid regex '${e.value}': ${n.message}`,e.start)}}function Wn(e,t,r){switch(e.kind){case"NUMBER":return Number(e.value);case"STRING":if(!e.value.startsWith('"'))r(`${t} must be a plain string literal (heredocs have no literal key form)`,e.start);return JSON.parse(e.value);case"BOOL":return e.value==="true";case"NULL":return null;case"UNDEFINED":return;default:r(`${t} must be a literal (number, string, boolean, null) — got ${e.kind}`,e.start)}}function Oe(e){let t=[],r=[],n=0;for(let i of e){let s=i.kind;if(s==="("||s==="["||s==="{"||s==="CALL_START"||s==="INDEX_START"||s==="PARAM_START"||s==="INDENT")n++;if(s===")"||s==="]"||s==="}"||s==="CALL_END"||s==="INDEX_END"||s==="PARAM_END"||s==="OUTDENT")n--;if(s===","&&n===0){if(r.length)t.push(r);r=[];continue}r.push(i)}if(r.length)t.push(r);return t}function J2(e){let t=0;for(let r=0;r")return r}return-1}function Hn(e,t,r,n=null,i=null,s=!1,a=null,o=null){let l=[],c=(u)=>{if(l.length&&typeof l[l.length-1]==="string")l[l.length-1]+=u;else l.push(u)},f=(u,d=null)=>l.push({ts:u,span:d}),h=(u)=>l.push({body:u});if(c(`{kind: ${JSON.stringify(e.kind)}`),t)c(`, name: ${JSON.stringify(t)}`);if(c(", entries: ["),e.entries.forEach((u,d)=>{if(d>0)c(", ");Q2(u,r.get(d),i?.get(d)??null,c,f,s,a?.get(d)??null,o?.get(d)??null,h)}),c("]"),n)c(", adapter: "),h(n);return c("}"),l}var Ue=(e)=>typeof e==="string"?e:e.code;function Gn(e,t,r,n){let i=[];return e.entries.forEach((s,a)=>{if(s.tag!=="derived"&&s.tag!=="computed"&&s.tag!=="method")return;let o=r.get(a);if(o===void 0)return;let l=n?.get(a)??null,c=Ue(o);for(let[f,h]of Kn(o,l).reverse())c=c.slice(0,f)+h+c.slice(f);i.push(`${s.name}: ${c}`)}),i.length?`const ${N2(t)} = {${i.join(", ")}};`:null}function Kn(e,t,r=!0){if(typeof e==="string")return[];let n=r?(e.annots??[]).map(([i,s])=>[i,s]):[];if(t!==null){let{code:i,thisAt:s}=e;n.push([s,`this: ${t}${i[s]===")"?"":", "}`])}return n.sort((i,s)=>i[0]-s[0])}function Z2(e,t,r,n,i=!1){let s=Kn(e,t,i);if(s.length===0){r(Ue(e));return}let{code:a}=e,o=0;for(let[l,c]of s)r(a.slice(o,l)),n(c),o=l;r(a.slice(o))}function Q2(e,t,r,n,i,s=!1,a=null,o=null,l=n){switch(e.tag){case"computed":case"method":case"derived":case"hook":case"scope":case"defaultScope":n(`{tag: ${JSON.stringify(e.tag)}, name: ${JSON.stringify(e.name)}, fn: `),Z2(t,r,l,i,s),n("}");return;default:let c={},f=el(e,t,c),h=[];if(s&&a!==null&&c.defaultEnd!==void 0)h.push({at:c.defaultEnd,ts:` satisfies ${a}`,span:e.defaultSpan??null});if(s&&e.tag==="field"&&t!==void 0&&typeof t!=="string"&&Ue(t).startsWith("it",t.thisAt)){let d=Ue(t);h.push({at:f.length-1-d.length+t.thisAt+2,ts:": any"})}if(s&&e.tag==="ensure"&&o!==null&&c.fnAt!==void 0&&typeof t!=="string"&&t!==void 0){let d=/^[A-Za-z_$][\w$]*/.exec(Ue(t).slice(t.thisAt))?.[0];if(d)h.push({at:c.fnAt+t.thisAt+d.length,ts:`: ${o}`})}let u=0;for(let d of h)n(f.slice(u,d.at)),i(d.ts,d.span??null),u=d.at;n(f.slice(u))}}function el(e,t,r={}){if(t!==void 0)t=Ue(t);switch(e.tag){case"field":{let n=['tag: "field"',`name: ${JSON.stringify(e.name)}`,`modifiers: ${JSON.stringify(e.modifiers)}`,`typeName: ${JSON.stringify(e.typeName)}`,`array: ${e.array?"true":"false"}`];if(e.unique)n.push("unique: true");if(e.primary)n.push("primary: true");if(e.literals)n.push(`literals: ${JSON.stringify(e.literals)}`);if(e.coerce){if(n.push("coerce: true"),e.coercer)n.push(`coercer: ${JSON.stringify(e.coercer)}`)}if(e.constraints){let i=[];if(e.constraints.min!==void 0)i.push(`min: ${Ft(e.constraints.min)}`);if(e.constraints.max!==void 0)i.push(`max: ${Ft(e.constraints.max)}`);let s=-1;if(e.constraints.default!==void 0)s=i.length,i.push(`default: ${Ft(e.constraints.default)}`);if(e.constraints.regex!==void 0)i.push(`regex: ${e.constraints.regex.toString()}`);if(i.length){if(s>=0){let a=`{${n.join(", ")}, constraints: {`;r.defaultEnd=a.length+i.slice(0,s+1).join(", ").length}n.push(`constraints: {${i.join(", ")}}`)}}if(e.attrs)n.push(`attrs: {${Object.keys(e.attrs).sort().map((i)=>`${i}: ${Ft(e.attrs[i])}`).join(", ")}}`);if(t)n.push(`transform: ${t}`);return`{${n.join(", ")}}`}case"directive":{let n=['tag: "directive"',`name: ${JSON.stringify(e.name)}`];if(e.args){if(e.name==="mixin"||On.includes(e.name)){let i=e.args[0];n.push(`args: [{target: ${JSON.stringify(i.target)}${i.optional?", optional: true":""}${i.as?`, as: ${JSON.stringify(i.as)}`:""}${i.foreignKey?`, foreignKey: ${JSON.stringify(i.foreignKey)}`:""}${i.through?`, through: ${JSON.stringify(i.through)}`:""}${i.targetKey?`, targetKey: ${JSON.stringify(i.targetKey)}`:""}}]`)}else if(e.name==="primary")n.push(`args: [{name: ${JSON.stringify(e.args[0].name)}${e.args[0].column?`, column: ${JSON.stringify(e.args[0].column)}`:""}}]`);else if(e.name==="on")n.push(`args: [{field: ${JSON.stringify(e.args[0].field)}}]`);else if(e.name==="unique"||e.name==="index")n.push(`args: [{fields: ${JSON.stringify(e.args[0].fields)}}]`);else if(e.name==="idStart")n.push(`args: [{value: ${e.args[0].value}}]`);else if(e.name==="table"||e.name==="tableWas")n.push(`args: [{name: ${JSON.stringify(e.args[0].name)}}]`)}return`{${n.join(", ")}}`}case"ensure":{let n=['tag: "ensure"',`message: ${JSON.stringify(e.message)}`];r.fnAt=`{${n.join(", ")}, fn: `.length;let i=[...n,`fn: ${t}`];if(e.field)i.push(`field: ${JSON.stringify(e.field)}`);if(e.async)i.push("async: true");return`{${i.join(", ")}}`}case"enum-member":{let n=['tag: "enum-member"',`name: ${JSON.stringify(e.name)}`];if(e.value!==void 0)n.push(`value: ${JSON.stringify(e.value)}`);return`{${n.join(", ")}}`}case"union-member":return`{tag: "union-member", name: ${JSON.stringify(e.name)}}`;default:throw Error(`schema: unknown entry tag '${e.tag}'`)}}function Ft(e){if(e===null)return"null";if(e===void 0)return"undefined";if(typeof e==="string")return JSON.stringify(e);return String(e)}var tl=new Set(["pick","omit","partial","required","extend"]);function W1(e){return e&&e.valueOf?e.valueOf():e}function Yn(e){return e.entries.some((t)=>t.tag==="directive"&&t.name==="mixin")}function rl(e){return ei(e.foreignKey??ti(e.as??e.target))}function il(e){if(Yn(e))return null;let t=new Map;for(let a of e.entries)if(a.tag==="field")t.set(a.name,a);if(e.kind!=="model")return t;let r=(a,o,l)=>{if(!t.has(a))t.set(a,{tag:"field",name:a,modifiers:l?["!"]:["?"],typeName:o,array:!1})},n=!1,i=!1,s=[];for(let a of e.entries){if(a.tag!=="directive")continue;if(a.name==="times")n=!0;else if(a.name==="softDelete")i=!0;else if(a.name==="belongsTo"){let o=a.args&&a.args[0];if(o&&o.target)s.push({fk:rl(o),required:o.optional!==!0})}}if(r("id","integer",!0),n)r("createdAt","datetime",!0),r("updatedAt","datetime",!0);if(i)r("deletedAt","datetime",!1);for(let{fk:a,required:o}of s)r(a,"integer",o);return t}function nl(e){if(Yn(e))return null;let t=new Map;for(let r of e.entries)if(r.tag==="field")t.set(r.name,r);return t}function Pn(e,t){let r=e.modifiers.filter((i)=>i!==(t==="partial"?"!":"?")),n=t==="partial"?"?":"!";if(!r.includes(n))r=[...r,n];return{...e,modifiers:r}}function sl(e,t,r){switch(t.method){case"pick":{let n=new Map;for(let i of t.keys){if(!e.has(i))return null;n.set(i,e.get(i))}return n}case"omit":{let n=new Set(t.keys),i=new Map;for(let[s,a]of e)if(!n.has(s))i.set(s,a);return i}case"partial":{let n=new Map;for(let[i,s]of e)n.set(i,Pn(s,"partial"));return n}case"required":{let n=new Set(t.keys),i=new Map;for(let[s,a]of e)i.set(s,n.has(s)?Pn(a,"required"):a);return i}case"extend":{let n=t.otherDescriptor||r.get(t.otherName);if(!n)return null;let i=nl(n);if(!i)return null;let s=new Map(e);for(let[a,o]of i){if(s.has(a))return null;s.set(a,o)}return s}default:return null}}function al(e,t,r){let n=il(e);if(!n)return null;for(let i of t)if(n=sl(n,i,r),!n)return null;return{kind:"shape",entries:[...n.values()]}}function ol(e){let t=[],r=e;while(!0){if(!Array.isArray(r))return null;let n=r[0];if(!Array.isArray(n))return null;if(W1(n[0])!==".")return null;let i=W1(n[2]);if(!tl.has(i))return null;let s=r.slice(1),a;if(i==="partial"){if(s.length)return null;a={method:i}}else if(i==="extend"){if(s.length!==1)return null;let c=s[0];if(Array.isArray(c)){let f=W1(c[0])==="schema"&&c.length===2&&c[1]&&typeof c[1]==="object"&&Array.isArray(c[1].entries)?c[1]:null;if(!f||f.kind!=="shape"&&f.kind!=="input")return null;a={method:i,otherDescriptor:f}}else{let f=W1(c);if(typeof f!=="string"||!/^[A-Za-z_$][\w$]*$/.test(f))return null;a={method:i,otherName:f}}}else{let c=ll(s);if(!c||!c.length)return null;a={method:i,keys:c}}t.unshift(a);let o=n[1];if(Array.isArray(o)){r=o;continue}let l=W1(o);if(typeof l!=="string")return null;return{base:l,ops:t}}}function ll(e){let t=[];for(let r of e)if(Array.isArray(r)){if(W1(r[0])!=="array")return null;for(let n=1;n{r[2]=["schema",t]})}var Bt=new Set(["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"]),Ve=new Set(["a","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","script","set","stop","style","svg","switch","symbol","text","textPath","title","tspan","use","view"]),Ie=new Set([...Bt,...Ve]),oi=new Set([...Ve].filter((e)=>!Bt.has(e))),Ut=new Set(["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"]),qn=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert","ismap","nomodule","playsinline","default","itemscope","alpha","shadowrootdelegatesfocus","shadowrootclonable","shadowrootserializable"]),$e=new Set(["accesskey","autocapitalize","autocorrect","autofocus","class","contenteditable","dir","draggable","enterkeyhint","hidden","id","inert","inputmode","is","itemid","itemprop","itemref","itemscope","itemtype","lang","nonce","popover","role","slot","spellcheck","style","tabindex","title","translate","writingsuggestions"]),it={__proto__:null,a:["href","target","download","ping","rel","hreflang","type","referrerpolicy"],area:["alt","coords","shape","href","target","download","ping","rel","referrerpolicy"],audio:["src","crossorigin","preload","autoplay","loop","muted","controls"],base:["href","target"],blockquote:["cite"],button:["command","commandfor","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","popovertarget","popovertargetaction","type","value"],canvas:["width","height"],col:["span"],colgroup:["span"],data:["value"],del:["cite","datetime"],details:["name","open"],dialog:["open","closedby"],embed:["src","type","width","height"],fieldset:["disabled","form","name"],form:["accept-charset","action","autocomplete","enctype","method","name","novalidate","rel","target"],iframe:["src","srcdoc","name","sandbox","allow","allowfullscreen","width","height","referrerpolicy","loading"],img:["alt","src","srcset","sizes","crossorigin","usemap","ismap","width","height","referrerpolicy","decoding","loading","fetchpriority"],input:["accept","alpha","alt","autocomplete","checked","colorspace","dirname","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","list","max","maxlength","min","minlength","multiple","name","pattern","placeholder","popovertarget","popovertargetaction","readonly","required","size","src","step","type","value","width"],ins:["cite","datetime"],label:["for"],li:["value"],link:["href","crossorigin","rel","media","integrity","hreflang","type","referrerpolicy","sizes","imagesrcset","imagesizes","as","blocking","disabled","fetchpriority"],map:["name"],meta:["name","http-equiv","content","charset","media"],meter:["value","min","max","low","high","optimum"],object:["data","type","name","form","width","height"],ol:["reversed","start","type"],optgroup:["disabled","label"],option:["disabled","label","selected","value"],output:["for","form","name"],progress:["value","max"],q:["cite"],script:["src","type","nomodule","async","defer","crossorigin","integrity","referrerpolicy","blocking","fetchpriority"],select:["autocomplete","disabled","form","multiple","name","required","size"],slot:["name"],source:["type","media","src","srcset","sizes","width","height"],style:["media","blocking"],table:["align","bgcolor","border","cellpadding","cellspacing","width"],tbody:["align","valign"],td:["colspan","rowspan","headers","align","bgcolor","height","nowrap","valign","width"],template:["shadowrootmode","shadowrootdelegatesfocus","shadowrootclonable","shadowrootserializable"],tfoot:["align","valign"],textarea:["autocomplete","cols","dirname","disabled","form","maxlength","minlength","name","placeholder","readonly","required","rows","wrap"],th:["colspan","rowspan","headers","scope","abbr","align","bgcolor","height","nowrap","valign","width"],thead:["align","valign"],time:["datetime"],tr:["align","bgcolor","valign"],track:["default","kind","label","src","srclang"],video:["src","crossorigin","poster","preload","autoplay","playsinline","loop","muted","controls","width","height"]};for(let e in it)it[e]=new Set(it[e]);var nt=new Set(["id","class","style","lang","tabindex","href","pathLength","crossorigin","transform","viewBox","preserveAspectRatio","xmlns","x","y","x1","y1","x2","y2","cx","cy","r","rx","ry","width","height","d","points","dx","dy","rotate","fill","fill-opacity","fill-rule","stroke","stroke-width","stroke-linecap","stroke-linejoin","stroke-dasharray","stroke-dashoffset","stroke-opacity","stroke-miterlimit","opacity","clip-path","clip-rule","mask","filter","color","display","visibility","pointer-events","vector-effect","dominant-baseline","text-anchor","font-family","font-size","font-weight","font-style","letter-spacing","offset","stop-color","stop-opacity","gradientUnits","gradientTransform","spreadMethod","patternUnits","patternContentUnits","patternTransform","markerWidth","markerHeight","refX","refY","orient","markerUnits","maskUnits","maskContentUnits","clipPathUnits","filterUnits","primitiveUnits","in","in2","result","stdDeviation","values","type","mode","operator","radius","scale","baseFrequency","numOctaves","seed","dur","repeatCount","begin","end","from","to","attributeName","keyTimes","keySplines","calcMode","restart","min","max"]);function li(e){let t=String(e).toLowerCase(),r=new Set($e),n=it[t];if(n)for(let i of n)r.add(i);if(Ve.has(String(e)))for(let i of nt)r.add(i);return[...r]}function fl(e,t){if(Math.abs(e.length-t.length)>2)return 3;let r=Array.from({length:t.length+1},(n,i)=>i);for(let n=1;n<=e.length;n++){let i=[n];for(let s=1;s<=t.length;s++)i[s]=Math.min(r[s]+1,i[s-1]+1,r[s-1]+(e[n-1]===t[s-1]?0:1));r=i}return r[t.length]}function Xn(e,t){let r=li(e),n=String(t).toLowerCase(),i=r.find((l)=>l.toLowerCase()===n);if(i!==void 0&&i!==t)return i;if(String(t).length<3)return null;let s=null,a=3,o=!1;for(let l of r){if(l===String(t))continue;let c=fl(String(t),l);if(cIe.has(String(e).split("#")[0]),es=(e)=>typeof e==="string"&&hl.test(e),fi=(e)=>gl(e)||es(e);function ts(e,t,r){let n=!1;for(let G of e)if(G.kind==="RENDER"){n=!0;break}if(!n)return e;let i=[],s=(G,T,N,F={})=>{let{at:J,...x}=F,Q=J??N.end;return{id:t(),kind:G,value:T,start:Q,end:Q,spaced:!1,newLine:!1,generated:!0,origin:N.id,...x}},a=!1,o=0,l=0,c=[],f=[],h=[],u=(G,T,N)=>T{let x=1,Q=T;while(Q>=0&&x>0){if(Z.on)Z.n++;let U=u(G,Q,J)?.kind;if(U===N)x++;else if(U===F)x--;if(x>0)Q--}return Q},p=(G)=>{let T=i.length;while(T>0&&u(i,T,G)?.kind==="OUTDENT")T=d(i,T-1,"OUTDENT","INDENT",G);while(T>0){if(Z.on)Z.n++;let F=i[T-1].kind;if(F==="TERMINATOR"||F==="RENDER")break;if(F==="OUTDENT"){T=d(i,T-2,"OUTDENT","INDENT",G);continue}if(F==="INDENT"){let J=u(i,T,G)?.kind;if(J==="CALL_END"||J===")"){T=d(i,T-1,J,J==="CALL_END"?"CALL_START":"(",G);continue}break}if(F==="CALL_END"||F===")"){T=d(i,T-2,F,F==="CALL_END"?"CALL_START":"(",G);continue}if(F==="INTERPOLATION_END"){T=d(i,T-2,"INTERPOLATION_END","INTERPOLATION_START",G);continue}if(F==="STRING_END"){T=d(i,T-2,"STRING_END","STRING_START",G);continue}T--}let N=u(i,T,G);return N?.kind==="IDENTIFIER"&&(fi(N.value)||(T===0||["INDENT","TERMINATOR","RENDER"].includes(i[T-1]?.kind)))},m=()=>{let G=0;for(let T=i.length-1;T>=0;T--){if(Z.on)Z.n++;let N=i[T].kind;if(Zn.has(N))G++;else if(Jn.has(N)){if(G===0)return 1;G--}else if(N==="TERMINATOR"||N==="RENDER"||N==="INDENT"||N==="OUTDENT")break}return 0},g=(G)=>{let T=i[i.length-1];if(!T)return!1;if(m()!==0)return!1;let N=T.kind;if((N===","||N==="IDENTIFIER"||N==="PROPERTY")&&p(G))return!0;if((N==="INDENT"||N==="TERMINATOR")&&f.includes(l))return!0;return!1},b=(G)=>{let T=1;for(let N=G+1;N0;N++){if(Z.on)Z.n++;let F=e[N].kind;if(F==="("||F==="CALL_START")T++;else if(F===")"){if(T--,T===0)e[N].kind="CALL_END"}else if(F==="CALL_END")T--}},S=(G)=>{let T=1;for(let N=i.length-1;N>=0&&T>0;N--){if(Z.on)Z.n++;if(i[N].kind==="CALL_END")T++;else if(i[N].kind==="CALL_START"){if(T--,T===0&&N>0&&i[N-1].kind==="PROPERTY"&&i[N-1].value==="__clsx")return!0}}return!1},w=(G)=>{while(h.length>0){let T=h[h.length-1];if(G.kind==="INDENT"||Jn.has(G.kind)){T.depth++;return}if(G.kind==="OUTDENT"||Zn.has(G.kind)){if(T.depth===0){i.push(s("CALL_END",")",i[i.length-1]??G)),h.pop();continue}T.depth--;return}if(G.kind==="TERMINATOR"&&T.depth===0){i.push(s("CALL_END",")",i[i.length-1]??G)),h.pop();continue}return}},R=(G)=>G===0||st.has(e[G-1].kind),k=(G,T)=>{let N=e[G+1]?.kind==="TYPE"?e[G+2]:e[G+1];return N!==void 0&&T.has(N.kind)},j=new Set;for(let G=0,T=0;G{let T=new Set,N=G+1;while(NA.some((T)=>T.names.has(G))||L.length>0&&L[L.length-1].names.has(G)||j.has(G);for(let G=0;G0)w(T);if(!st.has(T.kind)&&R(G))v=T.kind;if(T.kind==="COMPONENT")L.push({level:l+1,names:M(G)});if(T.kind==="RENDER"){a=!0,o=l+1,A.push({level:o,names:new Set}),i.push(T);continue}if(T.kind==="INDENT"){if(l++,a){let F=e[G-1]?.kind;if(F==="->"||F==="=>")P.push(l);else if(P.length===0&&ml.has(v))A.push({level:l,names:new Set(v==="FOR"?V??[]:[])})}V=null,i.push(T);continue}if(T.kind==="OUTDENT"){l--;for(let F of[L,A])while(F.length>0&&F[F.length-1].level>l)F.pop();while(P.length>0&&P[P.length-1]>l)P.pop();while(f.length>0&&f[f.length-1]>l)f.pop();i.push(T);while(c.length>0&&c[c.length-1]>l)i.push(s("CALL_END",")",T)),c.pop();if(a&&l0){let F=i[i.length-1].kind;if(F==="TERMINATOR"||F==="INDENT"||F==="RENDER"){i.push(s("IDENTIFIER","__text__",T,{at:T.start,spaced:T.spaced,newLine:T.newLine})),i.push(s("CALL_START","(",T,{at:T.start})),h.push({depth:0});continue}}if(T.kind==="UNARY_MATH"&&T.value==="~"&&N?.kind==="IDENTIFIER"){i.push(s("PROPERTY","__transition__",T,{spaced:T.spaced,newLine:T.newLine})),i.push(s(":",":",T)),N.kind="STRING",N.value=`"${N.value}"`,N.transitionValue=!0;continue}if(T.transitionValue&&N!==null&&Qn.has(N.kind)){i.push(T),i.push(s(",",",",T,{at:N.start}));continue}if(T.kind==="BIND"){let F=i[i.length-1];if(F!==void 0&&(F.kind==="IDENTIFIER"||F.kind==="PROPERTY")&&N!==null&&(N.kind==="IDENTIFIER"||N.kind==="@")){F.value=`__bind_${F.value}__`,i.push(s(":",":",T));continue}}if(T.kind==="IDENTIFIER"&&N?.kind==="-"&&!N.spaced){let F=[T.value],J=G+1,x=T.end;while(J+11&&e[J-1].kind==="PROPERTY"){let Q=F.join("-");i.push({...T,kind:"STRING",value:`"${Q}"`,end:x}),G=J-1;continue}}if(T.kind==="."){let F=i[i.length-1]?.kind;if(F==="INDENT"||F==="TERMINATOR"||F==="RENDER"){if(N?.kind==="PROPERTY"){let J=e[G+2];if(!J||J.kind!==":"){i.push(s("IDENTIFIER","div",T,{spaced:T.spaced,newLine:T.newLine})),i.push(T);continue}T={...T,kind:"IDENTIFIER",value:"div"}}else if(!N||N.kind!=="(")T={...T,kind:"IDENTIFIER",value:"div"}}}if(T.kind==="."&&N?.kind==="("){let F=i[i.length-1]?.kind,J=F==="INDENT"||F==="TERMINATOR"||F==="RENDER";if(N.kind="CALL_START",b(G+1),J)i.push(s("IDENTIFIER","div",T,{spaced:T.spaced,newLine:T.newLine})),i.push(T),i.push(s("PROPERTY","__clsx",T));else if(F===":")i.push(s("IDENTIFIER","__clsx",T,{spaced:T.spaced,newLine:T.newLine}));else i.push(T),i.push(s("PROPERTY","__clsx",T));continue}if(T.kind==="@"&&N?.kind==="PROPERTY"&&!N.spaced){let F=e[G+2],J=F?.kind===".",x=F?.kind===":";if(!J&&!x&&g(T)){let Q=String(N.value),U=`on${Q[0].toUpperCase()}${Q.slice(1)}`;if(F?.kind==="=")r(`a \`=\` cannot follow a bare event directive on one line — \`@${Q} = expr\` would assign to the minted handler and invoke the assignment as the listener; bind explicitly (\`@${Q}: handler\`), or keep the bare \`@${Q}\` and put the text on its own \`= expr\` line`,F.start);if(i.push(T),i.push(N),i.push(s(":",":",N)),i.push(s("@","@",N)),i.push(s("PROPERTY",U,N)),G++,e[G+1]?.kind==="INDENT")i.push(s(",",",",N,{at:e[G+1].start})),i.push(s("->","->",N,{at:e[G+1].start,newLine:!0})),f.push(l+1);else if(e[G+1]!==void 0&&Qn.has(e[G+1].kind))i.push(s(",",",",N,{at:e[G+1].start}));continue}}if(N?.kind==="INDENT"&&T.kind!=="->"&&T.kind!=="=>"&&T.kind!=="CALL_START"&&T.kind!=="("){let F=i[i.length-1]?.kind,J=["IF","UNLESS","WHILE","UNTIL","WHEN","FORIN","FOROF","FORAS","FORASAWAIT","BY"].includes(F),x=T.kind==="IDENTIFIER"&&(F==="INDENT"||F==="TERMINATOR"||F==="RENDER"),Q=T.kind==="IDENTIFIER"&&fi(T.value)&&(x||!W(T.value)),U=!1,r1=!1;if(T.kind==="CALL_END")r1=S(T);if(r1)U=!0;else if(Q&&!J)U=!0;else if(T.kind==="IDENTIFIER"&&!J)U=x||p(T);else if(["PROPERTY","STRING","STRING_END","NUMBER","BOOL","CALL_END",")","]","INDEX_END","}","MAYBE_DAMMIT"].includes(T.kind))U=p(T);if(U){let q=!1;if(T.kind==="PROPERTY"&&i[i.length-1]?.kind==="."){let I=i.length;while(I>=2&&i[I-1].kind==="."&&i[I-2].kind==="PROPERTY")I-=2;if(I>=2&&i[I-1].kind==="."&&i[I-2].kind==="IDENTIFIER"&&fi(i[I-2].value)){let c1=i[I-3]?.kind??null;if(c1===null||["INDENT","OUTDENT","TERMINATOR","RENDER"].includes(c1))q=!0}}let s1=r1||Q||x||q;if(i.push(T),s1)i.push(s("CALL_START","(",T,{at:N.start})),i.push(s("->","->",T,{at:N.start,newLine:!0})),c.push(l+1);else i.push(s(",",",",T,{at:N.start})),i.push(s("->","->",T,{at:N.start,newLine:!0}));f.push(l+1);continue}}if(T.kind==="IDENTIFIER"&&es(T.value)&&(N?.kind==="OUTDENT"||N?.kind==="TERMINATOR")){i.push(T),i.push(s("CALL_START","(",T)),i.push(s("CALL_END",")",T));continue}i.push(T)}e.length=i.length;for(let G=0;G=e.length)return null;if(!j1.test(e[t]))return null;let r=t+1;while(r=0;a--){if(Z.on)Z.n++;if(s>=0&&(i<0||n[s].at>i))e[a]=n[s--].token;else e[a]=e[i--]}return e}var bl=new Set(["IF","UNLESS","WHILE","UNTIL","WHEN","LEADING_WHEN","CATCH","FOR","LOOP","CLASS"]),yl=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START"]),Sl=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END"]);function Rl(e,t){let r=0;for(let n=t-1;n>=0;n--){if(Z.on)Z.n++;let i=e[n].kind;if(Sl.has(i)||i==="OUTDENT"){r++;continue}if(yl.has(i)||i==="INDENT"){if(r===0)return!1;r--;continue}if(r>0)continue;if(bl.has(i))return!0;if(i==="TERMINATOR")return!1}return!1}function El(e,t){let r=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START"]),n=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END"]),i=[],s=[],a=(p,m)=>{let g=0;for(let b=m-1;b>=p;b--){if(Z.on)Z.n++;let S=e[b].kind;if(n.has(S)||S==="OUTDENT"){g++;continue}if(r.has(S)||S==="INDENT"){if(S==="INDENT")return!1;if(g--,g<0)return!1;continue}if(g>0)continue;if(Wt(e,b))return!0}return!1},o=(p,m)=>{let g=0;for(let b=m-1;b>=p;b--){if(Z.on)Z.n++;let S=e[b].kind;if(n.has(S)||S==="OUTDENT"){g++;continue}if(r.has(S)||S==="INDENT"){if(g--,g<0)return!1;continue}if(g>0)continue;if(S===":"&&e[b-1]?.kind==="PROPERTY")return os(e,m+1);if(S==="TERMINATOR")return!1}return!1},l=new Set(["IF","UNLESS","TRY","CATCH","FINALLY","SWITCH","FOR","CLASS"]),c=(p)=>{let m=0,g=0,b=0;for(let S=p;S({id:t(),kind:p,value:p,start:m,end:m,spaced:!1,newLine:!1,generated:!0,origin:g}),h=(p)=>{let m=c(p),g=null;for(let R=p;R=p;R--){if(Z.on)Z.n++;if(!e[R].generated){b=e[R];break}}let S=null;for(let R=m;R{while(s.length&&s[s.length-1].end===p){let m=s.pop();i.push({at:p,token:f("OUTDENT",m.closeAt,m.afterId)}),u=p}};for(let p=0;p"||m.kind==="=>")&&e[p+1]&&e[p+1].kind!=="INDENT"){let g=h(p+1);i.push({at:p+1,token:f("INDENT",g.openAt,g.firstReal?g.firstReal.id:null)}),s.push(g)}else if(m.kind==="THEN"&&Rl(e,p)){let g=h(p+1);m.kind="INDENT",m.value="INDENT",m.generated=!0,m.start=m.end=g.firstReal?g.firstReal.start:m.end,m.origin=g.firstReal?g.firstReal.id:null,s.push(g)}else if(m.kind==="ELSE"&&e[p+1]&&e[p+1].kind!=="INDENT"&&e[p+1].kind!=="IF"&&(u===p||e[p-1]?.kind==="OUTDENT")){let g=h(p+1);i.push({at:p+1,token:f("INDENT",g.openAt,g.firstReal?g.firstReal.id:null)}),s.push(g)}}return d(e.length),i}var Vt=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS","DAMMIT","?","MAYBE_DAMMIT"]),is=new Set(["IDENTIFIER","PROPERTY","NUMBER","STRING","STRING_START","REGEX","HEREGEX_START","SYMBOL","MAP_START","PARAM_START","IF","TRY","SWITCH","CLASS","THIS","SUPER","UNDEFINED","NULL","BOOL","UNARY","NEW","DO","DO_IIFE","UNARY_MATH","AWAIT","YIELD","THROW","@","->","=>","[","(","{","--","++"]),ns=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","??","THEN","ELSE"]),ss=new Set(["IF","TRY","FINALLY","CATCH","SWITCH","FOR","CLASS"]),as=new Set(["IDENTIFIER","PROPERTY","NUMBER","STRING","STRING_END","REGEX","HEREGEX_END",")","CALL_END","]","INDEX_END","}","PICK_END","BOOL","NULL","UNDEFINED","THIS","@"]),se=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START","INDENT"]),ne=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END","OUTDENT"]),Wt=(e,t)=>{let r=e[t],n=e[t+1];if(!r||!n||!n.spaced||!Vt.has(r.kind))return!1;if((r.kind==="]"||r.kind==="}")&&(n.kind==="->"||n.kind==="=>"))return!1;if(r.kind==="IDENTIFIER"&&(r.value==="Infinity"||r.value==="NaN")&&(n.kind==="->"||n.kind==="=>"))return!1;if(is.has(n.kind))return!0;return n.kind==="..."&&e[t+2]!=null&&is.has(e[t+2].kind)},os=(e,t)=>{if(!e[t])return!1;let r=(n)=>(e[n]?.kind==="DAMMIT"||e[n]?.kind==="VOID_MARKER")&&e[n+1]?.kind===":";if(e[t].kind==="@"&&(e[t+2]?.kind===":"||r(t+2)))return!0;if(e[t+1]?.kind===":"||r(t+1))return!0;if(se.has(e[t].kind)){let n=1,i=t;while(++i0){if(Z.on)Z.n++;if(se.has(e[i].kind))n++;else if(ne.has(e[i].kind))n--}if(n===0&&e[i]?.kind===":")return!0}return!1},ls=new Set(["->","=>","[","(",",","{","ELSE","="]),hi=new Set(["INDENT","OUTDENT","TERMINATOR"]),kl=new Set(["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL","DEF"]),cs=(e,t)=>{let r=0;for(;t>=0;t--){if(Z.on)Z.n++;let n=e[t].kind;if(r===0&&kl.has(n))return!0;if(ne.has(n)){r++;continue}if(se.has(n)){if(r>0){r--;continue}if(!e[t].generated||hi.has(n))return!1;continue}if(r===0&&hi.has(n))return!1}return!1};function Tl(e,t){let r=[],n=[],i=[0],s=null,a=-1,o=()=>r[r.length-1],l=(g,b,S,w={})=>({id:t(),kind:g,value:g,start:b,end:b,spaced:w.spaced??!1,newLine:w.newLine??!1,generated:!0,origin:S}),c=(g)=>{r.pop(),n.push({at:g,token:l("}",s?s.end:0,s?s.id:null)})},f=(g)=>os(e,g),h=()=>{for(let g=r.length-1;g>=0;g--){if(Z.on)Z.n++;let b=r[g];if(b.kind==="object")return b;if(!(b.kind==="INDENT"&&b.listContinuation))return null}return null},u=(g,b)=>{if(e[b]?.kind!=="...")return!1;let S=r[r.indexOf(g)-1];if(!S||!(S.kind==="["||S.kind==="CALL_START"))return!0;return p(S.at,g.at)},d=(g)=>{let b=e[g-1];return Boolean(b&&Vt.has(b.kind)&&f(g+1)&&!cs(e,g-1))},p=(g,b)=>{let S=0;for(let w=b-1;w>g;w--){if(Z.on)Z.n++;let R=e[w].kind;if(ne.has(R)){S++;continue}if(se.has(R)){if(R==="INDENT"&&S===0)return d(w);if(S--,S<0)return!1;continue}if(S>0)continue;if(R==="TERMINATOR")return!1;if(Wt(e,w))return!0}return!1},m=(g)=>{for(let b=0;g1)i.pop();if(S==="OUTDENT")for(let R=r.length-1;R>=0;R--){let k=r[R];if(k.kind!=="object"&&k.kind!=="CONTROL")break;if(k.kind==="object")k.sameLine=!1}continue}if(S==="TERNARY")i[i.length-1]++;if(S===":"){let R=i.length-1;if(i[R]>0){i[R]--;continue}if(w?.kind==="DAMMIT")w.kind="VOID_MARKER";let k=w?.kind==="VOID_MARKER"?1:0,j=ne.has(w?.kind)?o()?.at??g-1:g-1-k;if(e[g-2-k]?.kind==="@")j=g-2-k;let M=e[j-1],A=!Wt(e,j-1)&&(j<=0||hi.has(M?.kind)||Boolean(M?.newLine)),P=o(),v=r[r.length-2],V=(F)=>F&&(F.kind==="{"||F.kind==="PICK_START"||F.kind==="OPTPICK_START"||F.kind==="object"),W=(F)=>F==="{"||F==="PICK_START"||F==="OPTPICK_START",G=P?.kind==="INDENT"&&P.listContinuation?h():null,T=Boolean(G),N=G?G.at:P?.kind==="INDENT"&&v?v.at:P?.at;if(P&&(V(P)||P.kind==="INDENT"&&(W(v?.kind)||T))&&!(N!=null&&p(N,j))&&(A||M?.kind===","||W(M?.kind)||e[j]?.kind==="{"))continue;r.push({kind:"object",at:j,sameLine:!0,startsLine:A}),n.push({at:j,token:l("{",e[j].start,e[j].id,{spaced:e[j].spaced,newLine:e[j].newLine})});continue}if(ns.has(S)||(S==="."||S==="?.")&&b.newLine){if(S==="||"||S==="&&"||S==="??"||S==="ELSE")continue;if(S==="TERMINATOR"){i[i.length-1]=0;for(let R=r.length-1;R>=0;R--){let k=r[R];if(k.kind!=="object"&&k.kind!=="CONTROL")break;if(k.kind==="object")k.sameLine=!1}}while(o()?.kind==="object"||S==="TERMINATOR"&&o()?.kind==="CONTROL"&&o()?.trigger==="CLASS"){let R=o();if(R.kind==="CONTROL"){r.pop();continue}if(S==="TERMINATOR")if(w?.kind!==","&&!(R.startsLine&&(f(g+1)||u(R,g+1))))c(g);else break;else if(R.sameLine&&w?.kind!==":"&&!((S==="POST_IF"||S==="POST_UNLESS")&&R.startsLine&&m(g+1)))c(g);else break}continue}if(S===","){let R=h(),k=(j)=>f(j)||u(R,j);if(R&&!p(R.at,g)&&!k(g+1)&&(e[g+1]?.kind!=="TERMINATOR"||!k(g+2))){if(e[g+1]?.kind==="INDENT"&&k(g+2))a=g;else if(o()?.kind==="object"){let j=e[g+1]?.kind==="OUTDENT"?1:0;while(o()?.kind==="object")c(g+j)}}}}if(e.length&&!e[e.length-1].generated)s=e[e.length-1];while(o()?.kind==="object"||o()?.kind==="CONTROL")if(o().kind==="object")c(e.length);else r.pop();return n}function wl(e,t){let r=[],n=[],i=-1,s=(l,c,f)=>({id:t(),kind:l,value:l==="CALL_START"?"(":")",start:c,end:c,spaced:!1,newLine:!1,generated:!0,origin:f}),a=null,o=(l)=>{r.pop(),n.push({at:l,token:s("CALL_END",a?a.end:0,a?a.id:null)})};for(let l=0;l0&&!e[l-1].generated)a=e[l-1];if(r[r.length-1]==="call"&&ss.has(h)&&!(h==="FOR"&&!c.newLine&&e[l-1]&&as.has(e[l-1].kind))){r.push(h==="CLASS"?"CONTROL_CLASS":"CONTROL");continue}if(h==="INDENT"){if(l===i){r.push("INDENT");continue}let u=e[l-1];if(!u||!ls.has(u.kind))while(r[r.length-1]==="call")o(l);if(r[r.length-1]==="CONTROL"||r[r.length-1]==="CONTROL_CLASS")r.pop();r.push("INDENT");continue}if(se.has(h))r.push(h);else if(ne.has(h)){while(r[r.length-1]==="call"||r[r.length-1]==="CONTROL"||r[r.length-1]==="CONTROL_CLASS")if(r[r.length-1]==="call")o(l);else r.pop();r.pop()}if(ns.has(h)||(h==="."||h==="?.")&&c.newLine){if(h==="||"||h==="&&"||h==="??")continue;if(h==="ELSE"&&e[l-1]?.kind==="OUTDENT")continue;if(e[l-1]?.kind!==",")while(r[r.length-1]==="call"||h==="TERMINATOR"&&r[r.length-1]==="CONTROL_CLASS")if(r[r.length-1]==="call")o(l);else r.pop();continue}if(Wt(e,l)||Vt.has(h)&&f&&f.spaced&&(f.kind==="+"||f.kind==="-")&&e[l+2]&&!e[l+2].spaced&&!e[l+2].newLine)n.push({at:l+1,token:s("CALL_START",f.start,f.generated?f.origin:f.id)}),r.push("call");else if(Vt.has(h)&&f?.kind==="INDENT"&&e[l+2]?.kind==="{"&&e[l+2].generated&&!cs(e,l))n.push({at:l+1,token:s("CALL_START",e[l+2].start,e[l+2].origin)}),r.push("call"),i=l+1}if(e.length&&!e[e.length-1].generated)a=e[e.length-1];while(r[r.length-1]==="call"||r[r.length-1]==="CONTROL"||r[r.length-1]==="CONTROL_CLASS")if(r[r.length-1]==="call")o(e.length);else r.pop();return n}var Ht=(e,t)=>ui(e,El,t),Gt=(e,t)=>ui(e,Tl,t),Kt=(e,t)=>ui(e,wl,t);var ms=new Map([["as","CAST"],["satisfies","SATISFIES"]]),Xt=(e)=>e?.kind==="IDENTIFIER"&&ms.has(e.value),ps=new Set(["IDENTIFIER","PROPERTY","NUMBER","STRING","STRING_END","REGEX","HEREGEX_END","BOOL","NULL","UNDEFINED",")","CALL_END","PARAM_END","]","INDEX_END","}","PICK_END","THIS","@","SUPER","?","MAYBE_DAMMIT","DAMMIT","CAST","SATISFIES","IMPORT_META"]),_l=new Set(["IDENTIFIER","PROPERTY","(","CALL_START","PARAM_START","{","[","INDEX_START","STRING","NUMBER","BOOL","NULL","UNDEFINED","-","UNARY","NEW","RESERVED"]),ae=new Set(["(","CALL_START","PARAM_START","[","INDEX_START","{","PICK_START","OPTPICK_START"]),oe=new Set([")","CALL_END","PARAM_END","]","INDEX_END","}","PICK_END"]),Nl=new Set(["TERMINATOR","INDENT","OUTDENT",",","=","COMPOUND_ASSIGN","REACTIVE_ASSIGN","COMPUTED_ASSIGN","READONLY_ASSIGN","GATE","EFFECT","->"]),Al=new Set(["+","-","MATH","**","SHIFT","COMPARE","MATCH","&&","||","??","^","RELATION","TERNARY","?","MAYBE_DAMMIT",":","?.","DAMMIT","EXTENDS","..","...","IF","UNLESS","ELSE","THEN","WHILE","UNTIL","LOOP","FOR","WHEN","BY","SWITCH","RETURN","THROW","CATCH","FINALLY"]),vl=new Set(["IF","UNLESS","ELSE","THEN","WHILE","UNTIL","LOOP","FOR","WHEN","BY","SWITCH","RETURN","THROW"]),Ol=new Set(["IDENTIFIER","PROPERTY","RESERVED","NUMBER","STRING","TYPE_TEMPLATE","BOOL","NULL","UNDEFINED","THIS",".",",",":","?","TERNARY","...","|","&","=>","EXTENDS","(",")","PARAM_START","PARAM_END","[","]","INDEX_START","INDEX_END","{","}","INDENT","OUTDENT","TERMINATOR"]),Il=new Set(["IDENTIFIER","PROPERTY","RESERVED","NUMBER","STRING","TYPE_TEMPLATE","BOOL","NULL","UNDEFINED","THIS",")","PARAM_END","]","INDEX_END","}"]),$l=new Set(["TERMINATOR","INDENT","OUTDENT","{",","]),qt=(e,t,r)=>{if(t-1{let s=0,a=[],o=(u=0)=>a[a.length-1-u],l=null,c=!1,f=[],h=(u,d)=>{s-=d;for(let p=0;p"){h(d,1),c=!0;continue}if(p==="SHIFT"&&d.value===">>"){h(d,2),c=!0;continue}if(p==="SHIFT"&&d.value===">>>"){h(d,3),c=!0;continue}if(p==="UNARY"&&d.value==="typeof"){c=!1;continue}if(d.word==="is"&&c&&u-2>=t&&(e[u-1].kind==="IDENTIFIER"||e[u-1].kind==="PROPERTY"||e[u-1].kind==="THIS")&&(e[u-2].kind==="=>"||e[u-2].value==="asserts"||e[u-2].kind===":"&&e[u-3]?.kind==="CALL_END")){c=!1;continue}if(p==="RELATION"&&d.value==="in"&&o()==="["&&o(1)==="{"&&u-2>=t&&(e[u-2].kind==="["||e[u-2].kind==="INDEX_START")&&(e[u-1].kind==="IDENTIFIER"||e[u-1].kind==="PROPERTY")&&qt(e,u-2,t)){c=!1;continue}if(d.value==="?"&&c&&e[u+1]?.kind===":"){c=!1;continue}if(p==="-"&&e[u+1]?.kind==="NUMBER"&&!c){u++,c=!0;continue}if((p==="-"||p==="+")&&e[u+1]?.value==="readonly"&&(e[u+2]?.kind==="["||e[u+2]?.kind==="INDEX_START")&&o()==="{"&&qt(e,u,t)){c=!1;continue}if((p==="-"||p==="+")&&e[u+1]?.value==="?"&&e[u+2]?.kind===":"&&o()==="{"&&(e[u-1]?.kind==="]"||e[u-1]?.kind==="INDEX_END")){c=!0;continue}if(p==="="&&s>0){c=!1;continue}if((o()==="{"||i.methods&&o()===void 0)&&p==="CALL_START"){let m=e[u-1],g=qt(e,u-1,t);if(m&&(m.kind==="IDENTIFIER"||m.kind==="PROPERTY")&&g){let b=1,S=u+1;while(S0){if(e[S].kind==="CALL_START")b++;else if(e[S].kind==="CALL_END")b--;S++}if(b===0&&e[S]?.kind===":"){f.push(S-1),a.push("("),c=!1;continue}if(b===0)n(`an interface method shorthand needs a return type — \`${m.value}(…): T\``,m.start)}}if(p==="CALL_END"&&u===f[f.length-1]){f.pop(),a.pop(),c=!0;continue}if(Ol.has(p)){if(fs.has(p))a.push(fs.get(p));else if(Dl.has(p))a.pop();c=Il.has(p);continue}n(`code expression ('${d.word??d.value}') in a type body — types erase and cannot execute`,d.start)}if(s>0)n("unclosed '<' in a type body — the generic never closes",l.start)},xl=new Set(["=",":","COMPOUND_ASSIGN","REACTIVE_ASSIGN","COMPUTED_ASSIGN","READONLY_ASSIGN",",","[","(","{","CALL_START","INDEX_START","PARAM_START","PICK_START","OPTPICK_START","RETURN","THROW","AWAIT","YIELD"]),Z1=(e,t)=>{let r=e[t];if(!r)return!0;if(r.kind==="TERMINATOR"||r.kind==="EXPORT"||r.kind==="OFFER")return!0;if(r.kind!=="INDENT"&&r.kind!=="OUTDENT")return!1;let n=0;for(let i=t;i>=0;i--){if(Z.on)Z.n++;let s=e[i].kind;if(s==="OUTDENT")n++;else if(s==="INDENT"){if(n===0){let a=e[i-1];return!(a&&xl.has(a.kind))}n--}}return!0},mi=(e,t,r)=>{if(r<=t)return!1;let n=new Set(["|","&",",",":","?","TERNARY",".","..."]),i=0,s=0,a=0,o=0,l=!1,c=[],f=null;for(let h=t;h"){let p=h>t?e[h-1].kind:null;if((p===")"||p==="PARAM_END")&&f&&(f.colon||f.empty)){l=!1;continue}return!1}if(u==="("||u==="PARAM_START"){c.push({colon:!1,open:h}),i++,l=!1;continue}if(u===")"||u==="PARAM_END"){if(--i<0)return!1;let p=c.pop();f=p?{colon:p.colon,empty:h===p.open+1}:null,l=!0;continue}if(u==="["||u==="INDEX_START"){s++,l=!1;continue}if(u==="]"||u==="INDEX_END"){if(--s<0)return!1;l=!0;continue}if(u==="{"){a++,l=!1;continue}if(u==="}"){if(--a<0)return!1;l=!0;continue}if(u==="COMPARE"){if(d==="<"){o++,l=!1;continue}if(d===">"){if(o<=0)return!1;o--,l=!0;continue}return!1}if(u==="SHIFT"){if(d===">>"){if(o<2)return!1;o-=2,l=!0;continue}if(d===">>>"){if(o<3)return!1;o-=3,l=!0;continue}return!1}if(u==="="){if(o>0){l=!1;continue}return!1}if(n.has(u)){if(u===":"&&c.length)c[c.length-1].colon=!0;l=!1;continue}if(u==="IDENTIFIER"||u==="PROPERTY"||u==="NUMBER"||u==="RESERVED"||u==="STRING"||u==="NULL"||u==="UNDEFINED"||u==="BOOL"){if(l)return!1;l=!0;continue}return!1}return i===0&&s===0&&a===0&&o===0&&l},hs=(e,t,r,n)=>{let i=[],s=[],a=[],o=0,l=t,c=e[t-1]?.end??0,f=(u)=>n("unclosed '<' in a type — the generic argument list never closes"+(r.cast?"; if the '<' was meant as a comparison, parenthesize the cast: '(x as T) < y'":""),u.start),h=(u,d)=>{for(let p=0;pl&&u.newLine)break;if(d==="SHIFT"&&(u.value===">>"||u.value===">>>")&&a.length>0){h(u,u.value===">>"?2:3),i.push(u.value),c=u.end,t++;continue}if(d==="COMPARE"&&u.value===">"){if(o===0)break;h(u,1),i.push(u.value),c=u.end,t++;continue}if(ae.has(d)||d==="COMPARE"&&u.value==="<"){o++;let m=d==="{"?"{":d==="["||d==="INDEX_START"?"[":d==="COMPARE"?"<":"(";if(s.push(m),m==="<")a.push(u);i.push(u.value),c=u.end,t++;continue}if(oe.has(d)){if(o===0)break;if(s[s.length-1]==="<")f(a[a.length-1]);o--,s.pop(),i.push(u.value),c=u.end,t++;continue}if(d==="INTERPOLATION_END"||d==="STRING_END"||d==="HEREGEX_END")break;if(o===0){if(Nl.has(d))break;if(r.stopAtFatArrow&&d==="=>")break;if(r.stopAtThen&&d==="THEN")break;if(r.cast&&Al.has(d))if(t===l&&(d==="-"||d==="+")&&e[t+1]?.kind==="NUMBER"){if(d==="+")n("a numeric literal type spells its sign with '-' (TypeScript has no '+1' type)",u.start,e[t+1].end)}else break;if(r.alias&&vl.has(d))break}else{if(d==="INDENT"||d==="OUTDENT"){t++;continue}if(d==="TERMINATOR"){i.push(";"),c=u.end,t++;continue}if(d==="PROPERTY"&&s[s.length-1]==="{"){let m=i[i.length-1];if(m&&m!=="{"&&m!==","&&m!==";")i.push(";")}}if(d==="?"&&!u.spaced&&e[t+1]?.kind===":"&&i.length){i[i.length-1]+="?",c=u.end,t++;continue}i.push(u.word==="is"?u.word:u.value),c=u.end,t++}if(a.length)f(a[0]);return{parts:i,consumed:t-l,end:c}},Cl=(e)=>e.join(" ").replace(/\s+/g," ").trim().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,": "),Pl=(e,t,r)=>{let n=(l)=>l==="("||l==="PARAM_START"||l==="CALL_START",i=(l)=>l===")"||l==="PARAM_END"||l==="CALL_END";if(r-t<2||!n(e[t].kind))return!1;let s=0;for(let l=t;l{if(!(e[t]?.kind==="COMPARE"&&e[t].value==="<"&&!e[t].spaced))return t;let r=0;while(t")r--;else if(n.kind==="SHIFT"&&n.value===">>")r-=2;else if(n.kind==="SHIFT"&&n.value===">>>")r-=3;else if(n.kind==="TERMINATOR"||n.kind==="INDENT"||n.kind==="OUTDENT")return-1;if(t++,r===0)break}return r===0?t:-1},Jt=(e,t)=>{if(t<0||!e[t]||pi(e[t])>=0)return t;let r=0;while(t>=0){if(Z.on)Z.n++;let n=e[t];if(n.kind==="TERMINATOR"||n.kind==="INDENT"||n.kind==="OUTDENT")return-1;if(r+=pi(n),t--,r===0)break}return r===0?t:-1},Zt=(e,t)=>{let r=Jt(e,t-1);if(r<0||e[r]?.kind!=="IDENTIFIER")return!1;let n=e[r-1];if(!(n?.kind==="IDENTIFIER"&&n.value==="type"))return!1;return Z1(e,r-2)},pi=(e)=>e.kind==="COMPARE"&&e.value==="<"?1:e.kind==="COMPARE"&&e.value===">"?-1:e.kind==="SHIFT"&&e.value===">>"?-2:e.kind==="SHIFT"&&e.value===">>>"?-3:0,J1=(e,t)=>{let r=e[t];if(!r||r.kind!=="IDENTIFIER"&&r.kind!=="PROPERTY")return!1;if(e[t-1]?.kind==="DEF")return!0;return r.kind==="PROPERTY"&&e[t-1]?.kind==="@"&&e[t-2]?.kind==="DEF"},Ll=(e,t)=>{let r=e[t-1];if(!r)return!1;if(r.kind===")"||r.kind==="CALL_END"||r.kind==="PARAM_END")return!0;if(r.kind==="IDENTIFIER"||r.kind==="PROPERTY"){if(J1(e,t-1))return!0;let n=e[t-2]?.kind==="@"?t-3:t-2;if(Z1(e,n))return!0}if(r.kind==="VOID_MARKER"&&J1(e,t-2))return!0;return null},us=(e)=>e.kind==="TERMINATOR"||e.kind==="INDENT"||e.kind==="OUTDENT",Ml=(e,t)=>{if(t.upTo>e.length||t.upTo>0&&e[t.upTo-1]!==t.ref){t.answers.clear(),t.level=0;let r=e.length-1;while(r>=0&&!us(e[r])){if(Z.on)Z.n++;r--}t.upTo=r+1}for(let r=t.upTo;r{let n=e[e.length-1];if(!n)return!1;if(!(n.kind==="COMPARE"&&n.value===">"||n.kind==="SHIFT"&&(n.value===">>"||n.value===">>>")))return!1;if(t)return!0;return Ml(e,r),r.answers.get(r.level)??!1},zt=(e,t)=>{let r=0,n=!1;for(let i=t+1;i")return-1;if(s==="=>")n=!0;else if(s==="="||s==="REACTIVE_ASSIGN"||s==="COMPUTED_ASSIGN"||s==="READONLY_ASSIGN"||s==="GATE"||s==="EFFECT"){if(!n||mi(e,t+1,i))return i}}}return-1},jl=(e)=>{let t=[new Map],r=Array(e.length),n=[{id:0,up:null}],i=0;for(let s=0;s"||l==="=>";n.push({id:o,up:c?null:n[n.length-1]})}else if(a==="OUTDENT"){if(n.length>1)n.pop()}else if(ae.has(a))i++;else if(oe.has(a))i--;else if(i===0&&(a==="IDENTIFIER"||a==="PROPERTY")&&e[s+1]?.kind==="=")for(let o=n[n.length-1];o;o=o.up){if(Z.on)Z.n++;t[o.id].set(e[s].value,s)}}return{blockMaps:t,blockIdAt:r}},Fl=(e,t)=>{let r=0;for(;t"||n==="=>")return!0;if(n==="TERMINATOR"||n==="INDENT"||n==="OUTDENT")return!1}}return!1},Bl=(e,t)=>{let r=0;for(let n=t+1;n{let n=0;for(let i=t;i{let r=0;for(let n=t;n","=>","DO","DO_IIFE","TRY","LOOP"]),Hl=new Set(["IF","UNLESS","SWITCH","WHILE","UNTIL","FOR","CLASS"]),Gl=new Set(["->","=>","THEN","ELSE"]),Kl=new Set(["TERMINATOR","INDENT","OUTDENT","THEN","ELSE","IF","UNLESS","POST_IF","POST_UNLESS","WHILE","UNTIL","LOOP","FOR","WHEN","BY","SWITCH","RETURN","THROW",",","=","COMPOUND_ASSIGN","&&","||","??","TERNARY","?",":","RELATION","+","-","MATH","**","SHIFT","&","|","^","STRING_START","STRING_END","INTERPOLATION_START","INTERPOLATION_END"]),Yl=new Map([["yes","true"],["no","false"],["on","true"],["off","false"],["true","true"],["false","false"],["null","null"],["undefined","undefined"],["this","this"]]);function Qt(e,t,r,n){let i=[],s=[],a=new WeakSet,o=()=>s[s.length-1]??null,l=!1,c=[],f=()=>c.length>0&&!!c[c.length-1],h=()=>c[c.length-1]??!1,u=(A)=>{let P=Yl.get(A.value);if(P===void 0)return;n(`'${A.value}' cannot name a binding — every read of '${A.value}' lowers to \`${P}\`, so the binding would be unreachable`,A.start,A.end)},d=-1,p=0,m=!1,g=!1,b=null,S=(A,P)=>(b??=jl(e),(b.blockMaps[b.blockIdAt[A]].get(P)??-1)>=A),w=null,R=(A)=>{let P=[],v=A,V=!0,W=-1;for(;;){if(Z.on)Z.n++;let F=Bl(e,v);if(F<0){if(zt(e,v)>=0)break;P.push({colon:v,shaped:!1,assigned:!1}),V=!1,W=-1;break}if(Vl(e,v+1,F)){P.push({colon:v,shaped:!1,assigned:!1}),V=!1,W=-1;break}P.push({colon:v,shaped:F>v+1&&mi(e,v+1,F),assigned:S(F+1,e[v-1].value)}),W=F;let J=e[F+1];if(J&&(J.kind==="IDENTIFIER"||J.kind==="PROPERTY")&&e[F+2]?.kind===":"){v=F+2;continue}break}let G=W>=0?e[W+1]:null,T=V&&G!=null&&G.kind!=="OUTDENT",N=T&&P.every((F)=>F.shaped&&F.assigned);if(!N&&T&&P.some((F)=>F.shaped)&&P.some((F)=>F.assigned)){let F=P.find((Q)=>!(Q.shaped&&Q.assigned)),J=e[F.colon-1],x=F.shaped?`'${J.value}' is never assigned in this block`:`the value after '${J.value}:' is not a type`;n("these adjacent 'name:' lines are ambiguous — with every line a type and every "+`name assigned later they would all claim as typed forward declarations, but ${x}; for typed forwards, assign every name in this block or add an initializer ('${J.value}: T = value'); for an implicit object, parenthesize the literal or assign it to a target`,J.start)}w??=new Map;for(let F of P)w.set(F.colon,N);return N},k=(A,P,v,V,W)=>({id:t(),kind:A,value:P,start:v,end:V,spaced:W.spaced,newLine:W.newLine,generated:!1,origin:null}),j=(A,P,v,V)=>{if(e[v]?.kind===":")n("type annotations use a single ':' (e.g. `x: number`), not '::'",P.start,e[v].end);let W=hs(e,v,V,n);if(W.parts.length===0)return-1;for(let G=v;G R) => body`, not `(x): (a: T) => R => body`",e[v].start);return i.push(k(A,Cl(W.parts),P.start,W.end,P)),v+W.consumed-1},M=(A)=>{let P=A+1;if(e[P]?.kind!=="IDENTIFIER")return-1;if(P++,P=Yt(e,P),P<0)return-1;if(e[P]?.kind!=="=")return-1;if(P++,e[P]?.kind==="INDENT"){let W=ds(e,P);return di(e,P+1,W,n,{methods:!0}),W}let v=hs(e,P,{alias:!0},n);if(v.parts.length===0)n("a type alias needs a type after '='",e[P-1].end);di(e,P,P+v.consumed,n);let V=e[P+v.consumed];if(V&&V.kind!=="TERMINATOR"&&V.kind!=="OUTDENT")n(`a type alias must fill its line — unexpected '${V.value}' after the type`,V.start);return P+v.consumed-1},L=(A)=>{let P=A+1;if(e[P]?.kind!=="IDENTIFIER")return-1;if(P++,P=Yt(e,P),P===-1)return-1;if(e[P]?.kind==="EXTENDS"){if(e[P+1]?.kind!=="IDENTIFIER")return-1;if(P+=2,P=Yt(e,P),P===-1)return-1}if(e[P]?.kind!=="INDENT")return-1;let v=ds(e,P);return di(e,P+1,v,n,{methods:!0}),v};for(let A=0;A=0){let G=V?.kind==="EXPORT"?i.pop():P,T=e[W].end;i.push(k("TYPE_DECL",r.slice(G.start,T).replace(/\r\n/g,` -`),G.start,T,P)),A=W;continue}}if(Xt(P)&&V&&V.kind!=="."&&V.kind!=="?."&&ps.has(V.kind)&&e[A+1]&&(_l.has(e[A+1].kind)||e[A+1].kind==="+"&&e[A+2]?.kind==="NUMBER")){let W=j(ms.get(P.value),P,A+1,{cast:!0});if(W<0)n(`'${P.value}' takes a type — \`x ${P.value} T\``,P.start,P.end);if(W>=0){A=W;let G=e[A+1],T=i[i.length-1];if(G&&G.newLine&&G.kind!=="TERMINATOR"&&G.kind!=="INDENT"&&G.kind!=="OUTDENT"&&!Xt(G)){let N=r.slice(T.end,G.start),F=N.indexOf(` -`);if(F>=0){let J=N[F-1]==="\r",x=T.end+F-(J?1:0),Q=J?2:1;i.push({id:t(),kind:"TERMINATOR",value:r.slice(x,x+Q),start:x,end:x+Q,spaced:!1,newLine:!1,generated:!0,origin:null})}}continue}}if(v==="COMPARE"&&P.value==="<"&&!P.spaced&&V&&(V.kind==="IDENTIFIER"||J1(i,i.length-1))){let W=i[i.length-2]??null,G=Yt(e,A);if(G>A){let T=G-1,N=e[T+1]?.kind,F=W?.kind==="DEF"||J1(i,i.length-1),J=N==="="&&e[T+2]?.kind==="COMPONENT";if(F||J){if(F&&N==="("){let x=0;for(let Q=T+1;Q=0){A=U;continue}}if(V.kind==="CALL_END"&&a.has(V)){let U=j("TYPE",P,A+1,{});if(U>=0){A=U;continue}}if(J1(i,i.length-1)){let U=j("TYPE",P,A+1,{});if(U>=0){if(V.kind==="PROPERTY"&&G?.kind==="DEF")u(V),V.kind="IDENTIFIER";A=U;continue}}if(V.kind==="TYPE_PARAMS"&&J1(i,i.length-2)){let U=j("TYPE",P,A+1,{});if(U>=0){A=U;continue}}if(V.kind==="VOID_MARKER"&&J1(i,i.length-2)){let U=j("TYPE",P,A+1,{});if(U>=0){A=U;continue}}if(s.length===0&&(V.kind==="PROPERTY"||V.kind==="IDENTIFIER")&&G?.kind==="CATCH"){let U=j("TYPE",P,A+1,{stopAtThen:!0});if(U>=0){if(V.kind==="PROPERTY")u(V),V.kind="IDENTIFIER";A=U;continue}}if(W&&(W.kind==="param"||W.kind==="defparam")&&!W.sawEq&&!W.sawType&&W.bodyDepth===0&&!W.inlineBody){let U=V.kind==="PROPERTY"||V.kind==="IDENTIFIER",r1=V.kind==="}"||V.kind==="]",q=V.kind==="?"&&(G?.kind==="PROPERTY"||G?.kind==="IDENTIFIER");if(U||r1||q){let s1=j("TYPE",P,A+1,{});if(s1>=0){if(q){if(V.kind="OPT_MARKER",G.kind==="PROPERTY")G.kind="IDENTIFIER"}else if(V.kind==="PROPERTY"&&e[A-2]?.kind!=="@")u(V),V.kind="IDENTIFIER";W.sawType=!0,A=s1;continue}}}let T=V.kind==="OPT_MARKER"?1:0,N=T?i[i.length-2]??null:V,F=(i[i.length-2-T]??null)?.kind==="@",J=i.length-(F?3:2)-T,x=N!==null&&(N.kind==="PROPERTY"||N.kind==="IDENTIFIER")&&Z1(i,J),Q=N!==null&&N.kind==="STRING"&&Z1(i,J);if(s.length===0&&x&&!F)g=!0;if(s.length===0&&V.kind==="PROPERTY"&&i[i.length-2]?.kind==="."&&i[i.length-3]?.kind==="PROPERTY"&&i[i.length-3].value==="prototype"&&i[i.length-4]?.kind==="?."&&i[i.length-5]?.kind==="IDENTIFIER"&&Z1(i,i.length-6)&&zt(e,A)>=0)n("an annotated prototype member requires the unconditional chain (`X::m: T = v`) — "+"the soak form cannot carry the annotation",P.start,P.end);if(s.length===0&&V.kind==="PROPERTY"&&i[i.length-2]?.kind==="."&&i[i.length-3]?.kind==="PROPERTY"&&i[i.length-3].value==="prototype"&&i[i.length-4]?.kind==="."&&i[i.length-5]?.kind==="IDENTIFIER"&&Z1(i,i.length-6)&&zt(e,A)>=0){let U=j("TYPE",P,A+1,{});if(U>=0){A=U;continue}}if(s.length===0&&(x||Q)&&zt(e,A)>=0){let U=j("TYPE",P,A+1,{});if(U>=0){if(N.kind==="PROPERTY"&&!F){if(h()!=="class")u(N);N.kind="IDENTIFIER"}g=!1,A=U;continue}}if(s.length===0&&f()&&x&&!Fl(e,A+1)){let U=-1,r1=0;for(let q=A+1;qA+1&&mi(e,A+1,U)){let q=j("TYPE",P,A+1,{});if(q>=0){if(N.kind==="PROPERTY"&&!F){if(h()==="component")u(N);N.kind="IDENTIFIER"}A=q;continue}}}if(s.length===0&&!f()&&x&&!F&&!T){let U=w?.get(A);if(U!==void 0?U:!m&&R(A)){let q=j("TYPE",P,A+1,{});if(q>=0){if(V.kind==="PROPERTY")u(V),V.kind="IDENTIFIER";g=!1,A=q;continue}}}}if(ae.has(v))p++;else if(oe.has(v)){if(p--,d>=0&&p=0&&p===d){if(v==="COMPARE"&&P.value==="<")n("class generics are not supported — the class head's '<' parses as a comparison "+"and the statement miscompiles silently (`class Box` compiles to "+"`(class Box {} < T) && …`); remove the generic list",P.start);if(Kl.has(v))d=-1}if(v==="CLASS"||v==="COMPONENT")l=v==="CLASS"?"class":"component";else if(v==="THEN")l=!1;else if(v==="INDENT")c.push(l),l=!1;else if(v==="OUTDENT")c.pop();else if(v==="TERMINATOR")l=!1;if(s.length===0){if(v==="TERMINATOR")m=g,g=!1;else if(v==="INDENT"||v==="OUTDENT")m=!1,g=!1}if(ae.has(v)){let W="other";if(v==="PARAM_START")W="param";else if(v==="CALL_START"&&J1(i,i.length-1))W="defparam";else if(v==="CALL_START"&&V?.kind==="TYPE_PARAMS"&&J1(i,i.length-2))W="defparam";else if(v==="CALL_START"&&V?.kind==="VOID_MARKER"&&J1(i,i.length-2))W="defparam";s.push({kind:W,sawEq:!1,sawType:!1,bodyDepth:0,pendingImmediate:!1,pendingCond:!1,inlineBody:!1})}else if(oe.has(v)){if(s.pop()?.kind==="defparam"&&v==="CALL_END")a.add(P)}else{let W=o();if(W&&(W.kind==="param"||W.kind==="defparam")){let G=()=>{W.sawEq=!1,W.sawType=!1,W.pendingImmediate=!1,W.pendingCond=!1,W.inlineBody=!1};if(W.bodyDepth>0){if(v==="INDENT")W.bodyDepth++;else if(v==="OUTDENT")W.bodyDepth--}else if(v==="INDENT")if(W.pendingImmediate||W.pendingCond)W.bodyDepth=1,W.pendingImmediate=!1,W.pendingCond=!1,W.inlineBody=!1;else G();else if(v===","||v==="OUTDENT")G();else if(v==="TERMINATOR")if(W.inlineBody&&P.value===";")W.pendingImmediate=!1,W.pendingCond=!1;else G();else{if(W.pendingImmediate=Wl.has(v),Hl.has(v)&&V?.kind==="=")W.pendingCond=!0;else if(v==="THEN")W.pendingCond=!1;if(Gl.has(v))W.inlineBody=!0;if(v==="=")W.sawEq=!0}}}i.push(P)}e.length=i.length;for(let A=0;A"&&r!=="=>")continue;let n=t-1,i=e[n];if(!i)continue;if(i.kind==="DO"){i.kind="DO_IIFE";continue}if(i.kind!==")"){let a=0,o=-1;for(let l=t-1;l>=0;l--){if(Z.on)Z.n++;let c=e[l],f=c.kind;if(f===")"||f==="]"||f==="}"||f==="PICK_END"||f==="CALL_END"||f==="PARAM_END"||f==="INDEX_END"||f==="COMPARE"&&c.value===">")a++;else if(f==="("||f==="["||f==="{"||f==="PICK_START"||f==="OPTPICK_START"||f==="CALL_START"||f==="PARAM_START"||f==="INDEX_START"||f==="COMPARE"&&c.value==="<")a--;else if(f==="SHIFT"&&c.value===">>")a+=2;else if(f==="SHIFT"&&c.value===">>>")a+=3;else if(a===0){if(f===":"){if(e[l-1]?.kind===")")o=l-1;break}if(f==="TERMINATOR"||f==="INDENT"||f==="OUTDENT"||f==="="||f==="->"||f==="=>")break}}if(o<0)continue;n=o,i=e[n]}else{let a=0,o=-1;for(let l=t-1;l>=0;l--){if(Z.on)Z.n++;let c=e[l].kind;if(c===")"||c==="CALL_END"||c==="PARAM_END")a++;else if(c==="("||c==="CALL_START"||c==="PARAM_START"){if(--a===0){o=l;break}}}if(o>1&&e[o-1].kind===":"&&e[o-2]?.kind===")")n=o-2,i=e[n]}let s=0;for(let a=n-1;a>=0;a--){if(Z.on)Z.n++;let o=e[a];if(o.kind===")"||o.kind==="CALL_END"||o.kind==="INDEX_END"||o.kind==="]")s++;else if(o.kind==="("||o.kind==="CALL_START"||o.kind==="INDEX_START"||o.kind==="["){if(s>0){s--;continue}if(o.kind==="("){if(o.kind="PARAM_START",i.kind="PARAM_END",e[a-1]?.kind==="DO")e[a-1].kind="DO_IIFE"}break}}}return e}function ql(e){let t=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START","INDENT"]),r=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END","OUTDENT"]),n=[0];for(let i=0;i0)n[a]--}else if(s==="INDEX_START"&&n[n.length-1]===0){let a=1,o=i;while(++o0){if(Z.on)Z.n++;if(t.has(e[o].kind))a++;else if(r.has(e[o].kind))a--}if(a===0&&e[o]?.kind===":")e[i].kind="[",e[o-1].kind="]"}if(t.has(e[i].kind))n.push(0);else if(r.has(e[i].kind))n.pop()}return e}var Xl=new Set(["STRING","STRING_END","REGEX","HEREGEX_END","NUMBER","BOOL","NULL","UNDEFINED","]","}","SYMBOL"]);function Jl(e){let t=0;for(let r=0;r0&&(n==="->"||n==="=>")&&r>0&&(Xl.has(e[r-1].kind)||e[r-1].kind==="IDENTIFIER"&&(e[r-1].value==="Infinity"||e[r-1].value==="NaN")))e.splice(r,0,{kind:",",value:",",start:e[r].start,end:e[r].start}),r++}return e}function Zl(e){let t=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START","INDENT"]),r=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END","OUTDENT"]),n=(s)=>s!==void 0&&(s.kind==="IDENTIFIER"||s.kind==="PROPERTY"),i=[0];for(let s=0;s0)i[o]--}else if(n(e[s])&&i[i.length-1]===0&&e[s-1]?.kind!=="."&&e[s-1]?.kind!=="?."&&e[s-1]?.kind!=="@"){let o=s;for(;;){if(Z.on)Z.n++;let l=e[o+1],c=e[o+2];if(l===void 0||!n(c))break;if(l.kind==="."){o+=2;continue}if(l.kind==="-"&&l.start===e[o].end&&c.start===l.end){o+=2;continue}break}if(o>s&&e[o+1]?.kind===":"){let l="";for(let f=s;f<=o;f++)l+=e[f].value;let c={...e[s],kind:"STRING",value:JSON.stringify(l),end:e[o].end};e.splice(s,o-s+1,c)}}if(t.has(e[s].kind))i.push(0);else if(r.has(e[s].kind))i.pop()}return e}function Ql(e){for(let t=0;t>>=":"COMPOUND_ASSIGN"},Es={"**=":"COMPOUND_ASSIGN","&&=":"COMPOUND_ASSIGN","||=":"COMPOUND_ASSIGN","??=":"COMPOUND_ASSIGN","<<=":"COMPOUND_ASSIGN",">>=":"COMPOUND_ASSIGN","//=":"COMPOUND_ASSIGN","%%=":"COMPOUND_ASSIGN",">>>":"SHIFT","...":"...","<=>":"BIND"},ks={"==":"COMPARE","!=":"COMPARE","<=":"COMPARE",">=":"COMPARE","**":"**","&&":"&&","||":"||","??":"??","..":"..","+=":"COMPOUND_ASSIGN","-=":"COMPOUND_ASSIGN","*=":"COMPOUND_ASSIGN","/=":"COMPOUND_ASSIGN","%=":"COMPOUND_ASSIGN","&=":"COMPOUND_ASSIGN","^=":"COMPOUND_ASSIGN","|=":"COMPOUND_ASSIGN",":=":"REACTIVE_ASSIGN","~=":"COMPUTED_ASSIGN","<~":"GATE","=!":"READONLY_ASSIGN","<<":"SHIFT",">>":"SHIFT","//":"MATH","%%":"MATH","~>":"EFFECT","!>":"!>","=~":"MATCH","->":"->","=>":"=>","++":"++","--":"--","?.":"?.",".=":"METHOD_ASSIGN","*{":"MAP_START"},e3=new Set([".","?.","UNARY","NEW","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","??","TERNARY","EXTENDS"]),tr=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","NUMBER","STRING","]","INDEX_END","SUPER","DAMMIT","MAYBE_DAMMIT","DYNAMIC_IMPORT"]),at=new Set([...tr,"BOOL","NULL","UNDEFINED","}","PICK_END","STRING_END","REGEX","HEREGEX_END","THIS","@"]);function t3(e,t){let r=t;while(r=e.length||r3.test(e[r+1])))r++;return r}var r3=/[\s,)\]};:]/,bi=/[0-9]/,i3=/^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,n3=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,s3=/^\w*/,Ts=/^(?!.*(.).*\1)[gimsuy]*$/,a3=new Set([...at,"++","--"]);function o3(e,t="",{tolerant:r=!1}={}){Tn();let n=new ge(e,t),i=[],s=[],a=[],o=[""],l=[],c=0,f=0,h=!0,u=-1,d=!1,p=!1,m=null,g=(_)=>_?.kind==="{"||_?.kind===","||(_?.kind==="INDENT"||_?.kind==="TERMINATOR")&&l.length>0,b=(_)=>Boolean(er[_]&&_!=="own")||ys.has(_)||bs.has(_)||Boolean(gi[_])||_==="in"||_==="of"||_==="when"||_==="import"||_==="export",S=(_,Y)=>w&&g(_)&&/^[^\S\n]+as[^\S\n]/.test(Y)||R&&_?.kind==="AS",w=!1,R=!1,k=!1,j=0,M=0,L=[],A=(_,Y,X=Y)=>{let{line:t1,col:C}=n.lineColAt(Y),K=Error(`${t}:${t1+1}:${C+1}: ${_}`);throw K.reason=_,K.start=Y,K.end=X,K},P=(_,Y,X=Y)=>{try{A(_,Y,X)}catch(t1){throw t1.openAtEnd=!0,t1}},v=(_,Y,X,t1,C={})=>{if((_==="STRING"||_==="STRING_START")&&(w||R)){let a1=i[i.length-1];if(a1?.kind==="IDENTIFIER"&&a1.value==="from")a1.kind="FROM"}if(_==="IDENTIFIER"&&Y==="from"&&i[i.length-1]?.kind==="YIELD")_="FROM";if(_==="IDENTIFIER"&&Y==="from"&&i[i.length-1]?.kind==="IDENTIFIER"&&i[i.length-2]?.kind==="ACCEPT")_="FROM";if(_==="RELATION"){let a1=i[i.length-1];if(a1?.kind==="UNARY"&&a1.value==="!")i.pop(),Y="!"+Y,X=a1.start}let K={id:M++,kind:_,value:Y,start:X,end:t1,spaced:d,newLine:p,generated:!1,origin:null,...C};if(i.push(K),!K.generated&&L.length>0){for(let a1 of L)a1.origin=K.id;L.length=0}d=!1,p=!1},V=(_,Y)=>{let X={id:M++,kind:_,value:_,start:Y,end:Y,spaced:!1,newLine:!1,generated:!0,origin:null};L.push(X),i.push(X)},W=()=>i[i.length-1]??null,G=()=>{let _=i.length-1;while(_>=2&&i[_].kind==="."&&i[_-1].kind==="PROPERTY"&&i[_-2].kind===".")_-=2;let Y=i[_-1];if(!Y||Y.kind==="INDENT"||Y.kind==="TERMINATOR"||Y.kind==="OUTDENT"||Y.kind==="RENDER")return!0;return Y.kind==="IDENTIFIER"&&Ie.has(String(Y.value).split("#")[0])},T=()=>{let _=0,Y=0;for(let X=i.length-1;X>=0;X--){let t1=i[X].kind;if(t1==="OUTDENT")_++;else if(t1==="INDENT"){if(_--,_=0;C--){let K=i[C].kind;if(K==="TERMINATOR"||K==="INDENT"||K==="OUTDENT")break;if(K==="COMPONENT")return!0}}}}return!1},N=()=>{if(!l[l.length-1]?.pickKeys)return!1;let Y=W()?.kind;return Y==="PICK_START"||Y==="OPTPICK_START"||Y===","||Y===":"||Y==="TERMINATOR"||Y==="INDENT"||Y==="OUTDENT"},F=(_,Y)=>{let X=c;while(c=e.length)P("unterminated string",Y);let t1=e.slice(X,c);return c+=_.length,t1},J=(_)=>_.replace(/\\[\s\S]|`|\$\{/g,(Y)=>Y[0]==="\\"?Y:`\\${Y}`),x=(_)=>{let Y=null,X=/\n+([^\S\n]*)(?=\S)/g,t1;while(t1=X.exec(_))if(Y===null||t1[1].length>0&&t1[1].length{if(Y===null)return _??"";if(_===null)return Y;return Y.length<=_.length?Y:_},U=(_,Y)=>{if(Y.length===1)return _;if(_=_.replace(/\r\n?/g,` +var g2=Object.defineProperty;var b2=(e)=>e;function y2(e,t){this[e]=b2.bind(null,t)}var Fe=(e,t)=>{for(var r in t)g2(e,r,{get:t[r],enumerable:!0,configurable:!0,set:y2.bind(t,r)})};class ge{constructor(e,t=""){this.path=t,this.text=e;let r=[0];for(let n=0;nthis.text.length)e=this.text.length;let t=this.lineStarts,r=0,n=t.length-1;while(r<=n){let i=r+n>>1;if(t[i]<=e)r=i+1;else n=i-1}return{line:n,col:e-t[n]}}offsetAt(e,t){if(e<0)return 0;if(e>=this.lineStarts.length)return this.text.length;let r=this.lineStarts[e],n=e+1r&&this.text.charCodeAt(n-1)===13)n--;let i=r+Math.max(0,t);return i>n?n:i}slice(e,t){return this.text.slice(e,t)}}var Z={on:!1,n:0},Tn=()=>{if(Z.on=typeof process<"u"&&!!process.env.RIP_COUNT_OPS,Z.on)Z.n=0;return Z.on};class Qr extends Error{constructor(e){super(e);this.name="TypeTextError"}}var jt=(e)=>String(e??"").trim(),Be=(e)=>String(e??""),wn=()=>{throw Error("rip: type-text rendering is unavailable in the browser")},_n=()=>{throw Error("rip: type-text rendering is unavailable in the browser")},Nn=()=>()=>!1,An=()=>new Set;function ie(e){return String(e).replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase()}function ei(e){return String(e).replace(/_([a-z])/g,(t,r)=>r.toUpperCase())}function ti(e){return ie(e)+"_id"}function tt(e){if(typeof e!=="string"||!/^[a-z][a-zA-Z0-9]*$/.test(e))return!1;if(/[A-Z]{2,}/.test(e))return!1;return!0}function ri(e){if(typeof e!=="string"||!/^[A-Z][a-zA-Z0-9]*$/.test(e))return!1;if(/[A-Z]{2,}/.test(e))return!1;return!0}function S2(e){return typeof e==="string"&&/^[a-z_][a-z0-9_]*$/.test(e)}function R2(e){return typeof e==="string"&&e.length>0&&!/[\u0000-\u001f\u007f".]/.test(e)}var ii={__proto__:null,mixin:"target",times:"none",softDelete:"none",belongsTo:"target",hasOne:"target",hasMany:"target",index:"columns",unique:"columns",idStart:"int",table:"name",tableWas:"name",primary:"field"},vn=["idStart","table","tableWas","primary","times","softDelete"],On=["belongsTo","hasOne","hasMany"],ni={__proto__:null,column:"literal",was:"column"},In={__proto__:null,as:"property",foreignKey:"column",through:"model",targetKey:"column"};function si(e,t,r){if(typeof r!=="string"||!r.length)return"'"+t+"' requires a non-empty string";if(e==="property"&&!tt(r))return"'"+t+"' is a property name — canonical camelCase, e.g. {"+t+": author}";if(e==="model"&&!ri(r))return"'"+t+"' is a model name — canonical PascalCase, e.g. {"+t+": Membership}";if(e==="column"&&!S2(r))return"'"+t+"' is a column name Rip generates — lowercase, digits and underscores "+"only, e.g. {"+t+': "author_id"}';if(e==="literal"&&!R2(r))return"'"+t+"' is a database column name — any spelling the database uses, but with "+"no dots, double quotes, or control characters";return null}var E2=new Set(["input","shape","mixin","enum","union","model"]);var k2=new Set(["beforeValidation","afterValidation","beforeSave","afterSave","beforeCreate","afterCreate","beforeUpdate","afterUpdate","beforeDestroy","afterDestroy","afterCommit","afterRollback"]),$n=new Set(["integer","number","boolean","date","datetime"]),T2={__proto__:null,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"},w2=new Set(["string","email","url","phone","zip"]),_2=new Set(["TERMINATOR","INDENT","OUTDENT","=","COMPOUND_ASSIGN","RETURN","THROW","YIELD","AWAIT","EXPORT",",","(","[","{","CALL_START","PARAM_START","INDEX_START","->","=>",":","WHEN","LEADING_WHEN","THEN","IF","UNLESS","UNARY","UNARY_MATH"]),Dn=new Set(["defaultMaxString"]),L1=(e)=>e&&(e.kind==="IDENTIFIER"||e.kind==="PROPERTY"),rt=(e)=>e&&typeof e.value==="string"&&/^[a-z]+$/.test(e.value)&&(e.kind===e.value.toUpperCase()||e.kind==="LEADING_WHEN"||e.kind==="RELATION"||e.kind==="STATEMENT"),N2=(e)=>`__${e}__behavior`,H1=(e,t,r=!1)=>{if(e[t]?.kind!==":")return null;let n=e[t+1];if(!n||n.spaced)return null;if(L1(n)||r&&/^[a-z]+$/.test(n.value)&&n.kind===n.value.toUpperCase())return n;return null};function A2(e,t){if(typeof e?.start!=="number")throw e;t(e)}function Mn(e,t,r,n,i=null){if(r.indexOf("schema")===-1)return;let s=[],a={defaultMaxString:null,tolerate:i},o=0,l=0;while(l0){l+=f;continue}if(I2(e,l,n)){l=$2(e,l,s,a,t,n,r);continue}s.push(c),l++}e.length=0;for(let c of s)e.push(c)}function v2(e,t,r,n,i){let s=e[t];if(!s||s.kind!=="IDENTIFIER"||s.value!=="schema")return 0;if(e[t+1]?.kind!==".")return 0;let a=e[t+2];if(!a||a.kind!=="PROPERTY")return 0;if(e[t+3]?.kind!=="=")return 0;let o=e[t-1];if(o&&o.kind!=="TERMINATOR"&&o.kind!=="INDENT"&&o.kind!=="OUTDENT")return 0;let l=a.value;if(!Dn.has(l))i(`unknown schema pragma 'schema.${l}' — known pragmas: ${[...Dn].join(", ")}`,a.start);if(n>0)i(`schema pragma 'schema.${l}' must be declared at file top level — inside a nested block it would leak into later top-level schemas`,a.start);let c=e[t+4];if(!c||c.kind!=="NUMBER")i(`pragma 'schema.${l}' requires a number literal — example: schema.${l} = 100`,(c??a).start);let f=Number(c.value);if(!Number.isFinite(f)||f<0||!Number.isInteger(f))i(`pragma 'schema.${l}' expects a non-negative integer (got ${c.value}); use 0 to disable`,c.start);r[l]=f===0?null:f;let h=t+5;if(e[h]?.kind==="TERMINATOR")h++;return h-t}var jn=(e,t)=>{if(e[t]?.kind==="SYMBOL")return e[t];return e[t]?.kind===":"&&e[t].spaced?H1(e,t,!0):null},Fn=(e,t)=>e[t]?.kind==="SYMBOL"?1:2,O2=(e,t)=>{if(e[t]?.kind!==","||!L1(e[t+1])||e[t+1].value!=="on")return t;let r=t+2;if(e[r]?.kind===":")r++;while(r")s("inline schema bodies do not support '->' (methods/hooks/scopes/transforms) — use the indented form",R.start);else if(w===0&&(k==="EFFECT"||k==="!>"))s(`inline schema bodies do not support '${R.value}' (${k==="EFFECT"?"computed getters":"eager-derived fields"}) — use the indented form`,R.start);S++}while(S>b&&e[S-1].kind==="TERMINATOR")S--;if(d=e.slice(b,S),p=S,!d.length)s("inline schema body is empty — add '; field; …' entries or switch to the indented form",o.start);m=d[d.length-1].end}else{if(e[f]?.kind==="TERMINATOR")f++;if(e[f]?.kind!=="INDENT")s(`expected an indented schema body after 'schema${c?" :"+l:""}'`,o.start);let b=f,S=0,w=-1;for(let R=b;Rb.kind==="SYMBOL"?[{...b,kind:":",value:":",end:b.start+1},{...b,kind:"IDENTIFIER",start:b.start+1,spaced:!1}]:[b]);let g=D2(l,c,d,{schemaStart:o.start,defaultMaxString:n.defaultMaxString,tolerate:n.tolerate??null},s);if(u)g.adapterTokens=u;return g.start=(c??d[0]).start,g.end=m,g.primitiveSpans=[c,...d].filter((b)=>b&&typeof b.value==="string"&&/^[A-Za-z_$][\w$]*$/.test(b.value)).map((b)=>({value:b.value,sourceStart:b===c&&b.end-b.start===b.value.length+1?b.start+1:b.start,sourceEnd:b.end})),r.push({id:i(),kind:"SCHEMA",value:"schema",start:o.start,end:o.end,spaced:o.spaced}),r.push({id:i(),kind:"SCHEMA_BODY",value:g,start:g.start,end:g.end,spaced:!0}),p}function D2(e,t,r,n,i){let s=[],a=x2(r);if(e==="input"&&!t&&a.length>0&&H1(a[0],0))e="enum";if(e==="enum")for(let o of a)K2(o,s,i);else if(e==="union"){for(let c of a)G2(c,s,i);let o=s.filter((c)=>c.tag==="directive"&&c.name==="on").length,l=s.filter((c)=>c.tag==="union-member");if(o!==1)i(o===0?":union requires an '@on :field' discriminator — untagged unions are not supported":`:union takes exactly one '@on :field' discriminator (got ${o})`,n.schemaStart);if(l.length<2)i(`:union needs at least two constituent schemas (got ${l.length})`,n.schemaStart)}else{for(let o of a)C2(e,o,s,n,i);if(e==="model")j2(s,i);else for(let o of s){if(o.tag==="scope"||o.tag==="defaultScope")i(`:${e} schemas don't accept query scopes — '@${o.tag==="scope"?"scope":"defaultScope"}' is :model-only`,o.start);if(e==="mixin"&&(o.tag==="method"||o.tag==="computed"||o.tag==="derived"))i(`:mixin schemas are fields-only — '${o.name}' is a ${o.tag}; move it to a :shape or :model`,o.start);if(e==="mixin"&&o.tag==="ensure")i(":mixin schemas don't accept @ensure refinements — move the invariant to a :shape or :model that composes this mixin",o.start);if(e==="input"&&(o.tag==="method"||o.tag==="computed"))i(`:input schemas are fields-only — '${o.name}' is a ${o.tag}; use :shape or :model if you need behavior`,o.start);if(o.tag==="directive"&&o.name!=="mixin")i(`:${e} schemas only accept '@mixin Name'${e==="input"?" and '@ensure'":""} — '@${o.name}' is ${["times","softDelete","belongsTo","hasMany","hasOne","unique","index","idStart","table","tableWas","primary"].includes(o.name)?":model-only":"not a schema directive"}`,o.start)}}return{kind:e,entries:s,toJSON(){return this.kind}}}function x2(e){let t=[],r=[],n=0;for(let i of e){if(i.kind==="INDENT")n++;if(i.kind==="OUTDENT")n--;if(i.kind==="TERMINATOR"&&n===0){if(r.length)t.push(r),r=[];continue}r.push(i)}if(r.length)t.push(r);return t}function C2(e,t,r,n,i){let s=t[0];if(!s)return;if(s.kind==="@"){let U=t[1];if(!L1(U))i("expected a directive name after '@'",s.start);let i1=U.value;if(i1==="ensure"){let I=2,c1=!1;if(t[2]?.kind==="DAMMIT"&&!t[2].spaced)c1=!0,I=3;let O=B2(t.slice(I),s,i);for(let D of O)r.push({tag:"ensure",name:"ensure",message:D.message,field:D.field,fieldStart:D.fieldStart,async:c1,paramTokens:D.paramTokens,bodyTokens:D.bodyTokens,start:s.start});return}if(i1==="scope"){let I=M2(t.slice(2),s,i);r.push({tag:"scope",name:I.name,paramTokens:I.paramTokens,bodyTokens:I.bodyTokens,start:s.start});return}if(i1==="defaultScope"){let I=Bn(t.slice(2),s,"@defaultScope",i);if(I.paramTokens.length)i("@defaultScope takes no parameters — write '@defaultScope -> @where(...)'",s.start);r.push({tag:"defaultScope",name:"defaultScope",paramTokens:[],bodyTokens:I.bodyTokens,start:s.start});return}let q=null,s1=t.slice(2);if(i1==="mixin"){let I=s1[0];if(!L1(I))i("@mixin requires a target name — '@mixin Timestamps'",s.start);if(s1.length>1)i("@mixin takes exactly one schema name",s1[1].start);q=[{target:I.value}]}r.push({tag:"directive",name:i1,args:q,argTokens:s1,start:s.start,nameStart:U.start});return}if(s.kind==="PROPERTY"){if(n.tolerate){try{xn(e,s,t,r,i)}catch(U){A2(U,n.tolerate)}return}xn(e,s,t,r,i);return}if(s.kind!=="IDENTIFIER"&&!rt(s))i(`unexpected ${s.kind} at schema top level — allowed: fields ('name! type'), directives ('@name'), methods ('name: -> body'), computed getters ('name: ~> body')`,s.start);let a=s.value;if(t[1]?.kind===":")i(`schema fields use 'name type' (space, no colon) — got '${a}:'`,t[1].start);let o=[],l=1;while(l{if(t[U]?.kind==="STRING"&&t[U].value.startsWith('"'))return{value:JSON.parse(t[U].value),bracketed:!1,start:t[U].start,end:t[U].end,next:U+1};if((t[U]?.kind==="["||t[U]?.kind==="INDEX_START")&&t[U+1]?.kind==="STRING"&&t[U+1].value.startsWith('"')&&(t[U+2]?.kind==="]"||t[U+2]?.kind==="INDEX_END"))return{value:JSON.parse(t[U+1].value),bracketed:!0,start:t[U].start,end:t[U+2].end,next:U+3};return null},S=void 0,w=null,R=b(l);if(m?.kind==="UNARY_MATH"&&m.value==="~"){let U=H1(t,l+1),i1=t[l+1];if(U){h=!0,u=U.value;let q=T2[u];if(q&&typeof q==="object")c=q.type,d=!0;else c=q||"any";l+=3}else if(i1?.kind==="IDENTIFIER"&&!i1.spaced){if(!$n.has(i1.value))i(`'~${i1.value}' is not coercible — built-in coercion exists for: ${[...$n].join(", ")}; named coercers use a symbol ('~:${i1.value}'); otherwise write a transform ('${a}, -> …')`,i1.start);h=!0,c=i1.value,l+=2}else i("'~' in the type slot marks coercion and needs a type name ('~integer', '~date', …) or a registered coercer symbol ('~:ssn', …)",m.start);p=!0}else if(m?.kind==="IDENTIFIER")c=m.value,p=!0,l++;else if(R&&(!R.bracketed||t[R.next]?.kind==="|")){f=[];let U=(i1)=>{if(f.push(i1.value),i1.bracketed){if(w)i(`field '${a}' brackets more than one union member as its default — a field has one default`,i1.start);S=i1.value,w={start:i1.start,end:i1.end}}};U(R),l=R.next,p=!0;while(t[l]?.kind==="|"){let i1=b(l+1);if(!i1)i(`literal unions contain string literals only — '${t[l+1]?.kind??""}' is not allowed as a union member; use the '?' modifier for nullability`,t[l].start);U(i1),l=i1.next}c="literal-union"}let k=!1,j=(U)=>(t[U]?.kind==="["||t[U]?.kind==="INDEX_START")&&(t[U+1]?.kind==="]"||t[U+1]?.kind==="INDEX_END");if(j(l)){if(k=!0,l+=2,j(l))i(`field '${a}' — nested array types ('${c}[][]') are not supported: one '[]' validates element-wise; use 'json' or a '-> transform' for deeper nesting`,t[l].start)}if(h&&k)i(`coercion ('~${c}') does not apply to array types — coerce per-element with a transform instead`,m.start);if(d)k=!0;if(k&&f)i("array-of-literal-union is not supported — use 'string[]' for an array of strings",m.start);let M=m?.kind==="UNARY_MATH"&&m.value==="~"?t[g+1]:m,L=p?[M.start,t[l-1].end]:null,A=t.slice(l);if(p&&A[0]?.kind==="->")i(`field '${a}' has a transform after the type; a comma is required before '->' — write '${a} ${c}, -> …'`,A[0].start);let P=null,v=void 0,V=!1;if(w)v=S,V=!0;let H={};if(w)H.start=w.start,H.end=w.end;let G=null,T=null,N=null,F=!1,J=!1;if(A.length>0){if(A[0]?.kind===",")A=A.slice(1);if(A.length>=2&&A[0].kind==="INDENT"){let i1=0,q=-1;for(let s1=0;s1"){let I=J2(q),c1=q[0].kind==="@"&&I===2;if(I>0&&!c1)i(`field '${a}' has a transform after other content; a comma is required before '->'`,q[I].start);if(!c1){while(q.length&&(q[q.length-1].kind==="OUTDENT"||q[q.length-1].kind==="TERMINATOR"))q=q.slice(0,-1);if(!q.length)continue}}let s1=q[0];if(s1.kind==="["||s1.kind==="INDEX_START"){if(V)i(`field '${a}' has more than one '[…]' default bracket`,s1.start);v=q2(q,a,i,H),V=!0}else if(s1.kind==="{"){if(e!=="model"&&e!=="mixin")i(`field attrs ('{…}') are persistence metadata — :model/:mixin-only ('{was: "old_column"}' annotates a column rename)`,s1.start);if(N)i(`field '${a}' has more than one '{…}' attrs bracket`,s1.start);N=P2(q,a,i)}else if(Y2(q)){if(P)i(`field '${a}' has more than one range constraint — one 'min..max' per field`,s1.start);P=z2(q,a,i)}else if(s1.kind==="REGEX"&&q.length===1){if(G)i(`field '${a}' has more than one regex constraint`,s1.start);G=X2(s1,i)}else if(s1.kind==="->"){if(i1!==U.length-1)i(`transform '-> …' must be the last element on the field line for '${a}'`,s1.start);T=q.slice(1)}else if(s1.kind==="@"){let I=L1(q[1])?q[1].value:null;if(e!=="model"&&e!=="mixin")i(`inline '@${I??""}' on field '${a}' is persistence metadata — :model/:mixin-only ('@unique' marks single-column uniqueness)`,s1.start);if(q.length>2&&q[2].kind==="->"){if(i1!==U.length-1)i(`transform '-> …' must be the last element on the field line for '${a}'`,q[2].start);T=q.slice(3),q=q.slice(0,2)}if(q.length===2&&I==="unique"){if(F)i(`field '${a}' has more than one '@unique'`,s1.start);F=!0}else if(q.length===2&&I==="primary"){if(e!=="model")i(`inline '@primary' on field '${a}' is :model-only — a mixin cannot declare the primary key`,s1.start);if(J)i(`field '${a}' has more than one '@primary'`,s1.start);J=!0}else i(`unknown inline attribute '@${I??""}' on field '${a}' — the inline attributes are '@unique' and '@primary'`,s1.start)}else i(`unexpected trailer for field '${a}' — expected '[…]' default, '/regex/', 'min..max' range, or '-> transform'`,s1.start)}}if(h&&T)i(`field '${a}' has both '~${c}' coercion and a '->' transform — a transform replaces coercion; coerce inside it instead`,s.start);let x={};if(P){if(P.min!==void 0)x.min=P.min;if(P.max!==void 0)x.max=P.max;if(P.min===void 0&&x.min===void 0&&o.includes("!"))x.min=1}if(G)x.regex=G;if(V)x.default=v;if(f&&x.default!==void 0&&!f.includes(x.default))i(`field '${a}' defaults to ${JSON.stringify(x.default)}, which is not a member of its literal union (${f.map((U)=>JSON.stringify(U)).join(" | ")})`,s.start);if(n.defaultMaxString!=null&&!G&&!f&&w2.has(c)&&x.max===void 0)x.max=n.defaultMaxString;if(x.min!==void 0&&x.max!==void 0&&x.min>x.max)i(`field '${a}' would have impossible constraints min=${x.min} > max=${x.max} after sugar is applied — write an explicit range or drop the conflicting pragma`,s.start);let e1=x.min!==void 0||x.max!==void 0||x.default!==void 0||x.regex!==void 0?x:null;r.push({tag:"field",name:a,modifiers:o,typeName:c,array:k,literals:f,coerce:h,coercer:u,constraints:e1,transformTokens:T,unique:F,primary:J,attrs:N,start:s.start,typeSpan:L,defaultSpan:H.start===void 0?null:[H.start,H.end]})}function ai(e,t,r,n){if(e[e.length-1]?.kind!=="}")n(`${r} — the '{…}' options bracket never closes`,e[0].start);let i=e.slice(1,-1).filter((a)=>a.kind!=="TERMINATOR"&&a.kind!=="INDENT"&&a.kind!=="OUTDENT"),s={};for(let a of Oe(i)){if(!a.length)continue;let o=a[0];if(!L1(o))n(`${r} options must be '{key: value}' pairs — got ${o.kind}`,o.start);let l=o.value,c=t[l];if(c===void 0)n(`unknown ${r} option '${l}' — known options: ${Object.keys(t).join(", ")}`,o.start);if(l in s)n(`${r} repeats option '${l}'`,o.start);let f=1;if(a[f]?.kind===":")f++;let h=a.slice(f);if(h.length!==1)n(`${r} option '${l}' takes a single value`,(h[0]??o).start);let u=h[0],d=c==="property"||c==="model",p;if(d){if(!L1(u)&&!rt(u)){let g=u.kind==="STRING"&&u.value.startsWith('"')?JSON.parse(u.value):null,b=g&&!si(c,l,g)?g:c==="model"?"Membership":"author";n(`${r} option '${l}' names ${c==="model"?"a model":"a property"}, `+`so it is written BARE — '{${l}: ${b}}', not ${u.kind==="STRING"?u.value:`a ${u.kind}`}. Quoting would name a database identifier, which is a different thing`,u.start)}p=u.value}else{if(u.kind!=="STRING"||!u.value.startsWith('"'))n(`${r} option '${l}' names a database column, so it is QUOTED — `+`'{${l}: "${L1(u)?ie(u.value):"author_id"}"}'. A bare name would be a Rip name, which is a different thing`,u.start);p=JSON.parse(u.value)}let m=si(c,l,p);if(m)n(`${r} option ${m}; got '${p}'`,o.start);s[l]=p}if(!Object.keys(s).length)n(`${r} has an empty '{…}' options bracket`,e[0].start);return s}function P2(e,t,r){return ai(e,ni,`field '${t}'`,r)}function L2(e,t,r){let n=ai(e,In,`@${t}`,r);if(n.through&&t==="belongsTo")r("@belongsTo option 'through' is for @hasMany/@hasOne — a @belongsTo holds its key in its own row, so it has nothing to read through",e[0].start);if(n.targetKey&&!n.through)r(`@${t} option 'targetKey' names a column on the join model, so it requires 'through' — '{through: Membership, targetKey: "team_id"}'`,e[0].start);return n}function M2(e,t,r){if(!e.length)r("@scope requires ':name, -> body' (or ':name, (args) -> body')",t.start);let n=H1(e,0);if(!n)r("@scope name must be a :symbol — '@scope :active, -> @where(active: true)'",e[0].start);let i=n.value,s=e[2],a=s&&!s.spaced&&s.start===n.end&&(s.value==="!"||s.value==="?");if(a||!/^[a-z][a-zA-Z0-9]*$/.test(i))r(`@scope name ':${i}${a?s.value:""}' must be a lowercase-first alphanumeric identifier — scopes chain as query-builder methods`,n.start);let o=e.slice(2);if(o[0]?.kind===",")o=o.slice(1);if(!o.length)r(`@scope :${i} is missing its body — '@scope :${i}, -> @where(...)'`,n.start);let l=Bn(o,n,`@scope :${i}`,r);return{name:i,paramTokens:l.paramTokens,bodyTokens:l.bodyTokens}}function Bn(e,t,r,n){if(!e.length)n(`${r}: expected '-> body' or '(args) -> body'`,t.start);let i=[],s=0,a=e[0];if(a.kind==="("||a.kind==="PARAM_START"||a.kind==="CALL_START"){let c=1;s=1;while(s0){let f=e[s].kind;if(f==="("||f==="PARAM_START"||f==="CALL_START")c++;if(f===")"||f==="PARAM_END"||f==="CALL_END"){if(c--,c===0){s++;break}}i.push(e[s]),s++}if(c!==0)n(`${r}: unclosed '(' in parameters`,a.start)}let o=e[s];if(o?.kind!=="->")n(`${r}: expected '->' ${i.length?"after parameters":"to start the body"}`,(o??t).start);let l=e.slice(s+1);if(!l.length)n(`${r}: function body is empty`,o.start);return{paramTokens:i,bodyTokens:l}}function j2(e,t){let r=new Set;for(let m of e){if(m.tag!=="directive")continue;let g=ii[m.name];if(g===void 0)t(`unknown directive '@${m.name}' on :model — legal: ${Object.keys(ii).map((b)=>"@"+b).join(", ")}, @ensure, @scope, @defaultScope`,m.nameStart??m.start);if(vn.includes(m.name)){if(r.has(m.name))t(g==="none"?`duplicate '@${m.name}' — declared twice; a :model declares it once`:`duplicate '@${m.name}' — a :model declares it at most once (the second would silently override the first)`,m.nameStart??m.start);r.add(m.name)}if(m.name!=="mixin")m.args=F2(m,g,t)}if(e.some((m)=>m.tag==="directive"&&m.name==="mixin"))return;let i=new Set,s=new Map,a=new Map,o=new Map,l=(m,g,b,S)=>{if(i.has(g))t(`${s.get(g)} and ${b} both own column '${g}' — every table column has exactly one owner`,S);if(a.has(m))t(`${o.get(m)} and ${b} both own property '${m}' (columns '${a.get(m)}' and '${g}') — every property reads exactly one column`,S);i.add(g),s.set(g,b),a.set(m,g),o.set(m,b)},c=e.find((m)=>m.tag==="directive"&&m.name==="primary"),f=e.filter((m)=>m.tag==="field"&&m.primary);if(f.length>1)t(`both '${f[0].name}' and '${f[1].name}' declare '@primary' — a row has one identity`,f[1].start);if(f.length===1){if(c)t(`'@primary ${c.args[0].name}' and inline '@primary' on field '${f[0].name}' are two answers to one question — state it once`,c.start);c={tag:"directive",name:"primary",args:[{name:f[0].name}],start:f[0].start}}let h=c?c.args[0].column??ie(c.args[0].name):"id",u=c?c.args[0].name:"id",d=e.find((m)=>m.tag==="field"&&m.name===u)??null,p=!!(c&&d);if(!c&&d)t(`field '${u}' collides with the runtime-managed primary key — a :model's ${u} is sequence-assigned. Drop the declaration, or write '@primary ${u}' to make it a caller-supplied natural key instead`,d.start);if(p){if(!d.modifiers?.includes("!"))t(`the primary key '${u}' is declared optional — a row's identity is never absent; declare it required ('${u}! string')`,d.start);if(d.array)t(`the primary key '${u}' is declared as an array — a primary key is one value`,d.start);let m=e.find((g)=>g.tag==="directive"&&g.name==="idStart");if(m)t(`@idStart seeds the sequence behind a runtime-managed primary key, but '${u}' is declared as a field, which makes it caller-supplied — there is no sequence to seed. Drop @idStart, or drop the field declaration`,m.start);if(c.args[0].column!==void 0&&c.args[0].column!==(d.attrs?.column??ie(u)))t(`@primary names column '${c.args[0].column}' but field '${u}' reads a different one — state the column once, on the field`,c.start)}else l(u,h,"the primary key",c?.start??e[0]?.start??0);for(let m of e){if(m.tag!=="field")continue;l(m.name,m.attrs?.column??ie(m.name),`field '${m.name}'`,m.start)}for(let m of e){if(m.tag!=="directive")continue;if(m.name==="times")l("createdAt","created_at","@times",m.start),l("updatedAt","updated_at","@times",m.start);else if(m.name==="softDelete")l("deletedAt","deleted_at","@softDelete",m.start);else if(m.name==="belongsTo"){let g=m.args[0],b=g.foreignKey??ti(g.as??g.target);l(ei(b),b,`the @belongsTo ${g.target}${g.as?` (as ${g.as})`:""} relation`,m.start)}}for(let m of e){if(m.tag!=="directive"||m.name!=="index"&&m.name!=="unique")continue;let g=m.args[0].fields.map((b)=>a.get(b)??(i.has(b)?b:ie(b)));g.forEach((b,S)=>{if(g.indexOf(b)!==S)t(`@${m.name} columns must be distinct after canonicalization: ${g.join(", ")}`,m.colTokens?.[S]?.start??m.start)}),g.forEach((b,S)=>{if(!i.has(b))t(`@${m.name}: unknown column '${m.args[0].fields[S]}' — the table has: ${[...i].sort().join(", ")}`,m.colTokens?.[S]?.start??m.start)})}}function F2(e,t,r){let n=e.argTokens??[],i=(s,a)=>r(`@${e.name}: ${a}`,s.start);switch(t){case"none":{if(n.length)i(n[0],"takes no arguments");return null}case"target":{let s=n[0];if(!L1(s))r(`@${e.name} requires a target name — '@${e.name} User'`,(s??{start:e.start}).start);let a=!1,o=1;if(n[o]?.kind==="?"&&!n[o].spaced)a=!0,o++;let l=null;if(n[o]?.kind===","&&n[o+1]?.kind==="{")l=L2(n.slice(o+1),e.name,r),o=n.length;if(oL1(c)||rt(c),l=0;if(H1(n,0)){let c=H1(n,0);s.push(c.value),a.push(c),l=2}else if(o(n[0]))s.push(n[0].value),a.push(n[0]),l=1;else if(n[0]?.kind==="["||n[0]?.kind==="INDEX_START"){let c=1;l=1;let f=[];while(l0){let h=n[l];if(h.kind==="["||h.kind==="INDEX_START")c++;if(h.kind==="]"||h.kind==="INDEX_END"){if(c--,c===0){l++;break}}if(c>=1)f.push(h);l++}if(c!==0)i(n[0],"unclosed '[' in the column list");for(let h of Oe(f)){let u=H1(h,0),d=u??(o(h[0])?h[0]:null);if(!d||h.length>(u?2:1))i(h[u?2:1]??h[0]??n[0],`column names are bare identifiers or :symbols — '@${e.name} [:a, :b]'`);s.push(d.value),a.push(d)}}if(!s.length)r(`@${e.name} requires a field name or list — '@${e.name} :email' or '@${e.name} [:a, :b]'`,(n[0]??{start:e.start}).start);if(l1)i(n[1],`takes one table name — unexpected ${n[1].kind}`);if(o);else{if(/[A-Z]{2,}/.test(a))r(`@${e.name} ${a}: a bare name is a LOGICAL name that Rip snake_cases, and consecutive capitals convert surprisingly ('${a}' → '${ie(a)}'). Spell it 'MdmUser'-style, or name the table exactly by quoting it: '@${e.name} "${a}"'`,s.start);a=ie(a)}return[{name:a}]}case"field":{let s=n[0];if(!L1(s)&&!rt(s))r(`@${e.name} requires a property name — '@${e.name} patientId'`,(s??{start:e.start}).start);let a=1,o=null;if(n[a]?.kind===","&&n[a+1]?.kind==="{")o=ai(n.slice(a+1),ni,`@${e.name}`,r),a=n.length;if(a0){let d=r[a].kind;if(d==="("||d==="PARAM_START"||d==="CALL_START")u++;if(d===")"||d==="PARAM_END"||d==="CALL_END"){if(u--,u===0){a++;break}}o.push(r[a]),a++}if(u!==0)i(`'${s}': unclosed '(' in parameters`,r[2].start)}let l=r[a],c=null,f=-1;if(l?.kind==="->"||l?.kind==="EFFECT"||l?.kind==="!>")c=l.kind==="EFFECT"?"~>":l.kind,f=a+1;else if(L1(l)||l?.kind==="STRING"||l?.kind==="NUMBER")i(`schema fields use 'name type' (space, no colon) — got '${s}:'; for methods/computed use 'name: -> body' or 'name: ~> body'`,r[1].start);else i(`schema top-level '${s}:' must be followed by '->' (method), '~>' (computed getter), or '!>' (eager derived)`,r[1].start);let h=c==="~>"?"computed":c==="!>"?"derived":e==="model"&&k2.has(s)?"hook":"method";if(o.length&&h!=="method")i(`'${s}': ${h==="computed"?"computed getters (~>)":h==="derived"?"eager-derived fields (!>)":"lifecycle hooks"} take no parameters — only methods do`,r[1].start);n.push({tag:h,name:s,paramTokens:o,bodyTokens:r.slice(f),start:t.start})}function B2(e,t,r){let n=e;if(!n.length)r("@ensure requires 'message, (x) -> body' or a '[…]' array of pairs",t.start);let i=n[0];if(i.kind==="["||i.kind==="INDEX_START"){let a=U2(n,i,r),o=V2(a);if(o.length===0)r("@ensure […] must contain at least one 'message, fn' pair",i.start);return Cn(o,i,r)}let s=Oe(n);if(s.length<2)r("@ensure inline form must be 'message, (x) -> body' — did you forget the comma?",i.start);if(s.length>3||s.length===3&&!Un(s[1]))r(`@ensure inline form takes 'message[, :field], fn' (got ${s.length} comma-separated parts) — use '@ensure […]' for multiple refinements`,i.start);return Cn(s,i,r)}var Un=(e)=>e&&e.length===2&&H1(e,0)!==null;function Cn(e,t,r){let n=[],i=0;while(i=e.length)r(`@ensure: missing function after message${a?" and :field":""}`,(s[0]??t).start);n.push(W2(s,a,e[i++],t,r))}return n}function U2(e,t,r){let n=0,i=[];for(let s=0;s=2&&i[0].kind==="INDENT"&&i[i.length-1].kind==="OUTDENT"){let o=0,l=!1;for(let c=0;c=1)i.push(a)}r("@ensure: unclosed '['",t.start)}function V2(e){let t=[],r=[],n=0;for(let i of e){let s=i.kind;if(s==="("||s==="["||s==="{"||s==="CALL_START"||s==="INDEX_START"||s==="PARAM_START"||s==="INDENT")n++;if(s===")"||s==="]"||s==="}"||s==="CALL_END"||s==="INDEX_END"||s==="PARAM_END"||s==="OUTDENT")n--;if(n===0&&(s===","||s==="TERMINATOR")){if(r.length)t.push(r),r=[];continue}r.push(i)}if(r.length)t.push(r);return t}function W2(e,t,r,n,i){if(!e?.length)i("@ensure: missing message (expected a string literal)",n.start);if(e.length!==1||e[0].kind!=="STRING"||!e[0].value.startsWith('"'))i("@ensure: each refinement's first element must be a string literal message",(e[0]??n).start);let s=e[0],a=JSON.parse(s.value),o=t?H1(t,0):null,l=t?o.value:null,c=o?.start??null;if(!r?.length)i("@ensure: missing function after message",s.start);let f=r[0];if(f.kind!=="("&&f.kind!=="PARAM_START")i("@ensure: expected '(args) -> body' after the message — predicates declare their parameter explicitly ('(u) -> …')",f.start);let h=1,u=1,d=[];while(u0){let g=r[u].kind;if(g==="("||g==="PARAM_START")h++;if(g===")"||g==="PARAM_END"){if(h--,h===0){u++;break}}d.push(r[u]),u++}if(h!==0)i("@ensure: unclosed '(' in predicate parameters",f.start);let p=r[u];if(p?.kind!=="->")i("@ensure: expected '->' after predicate parameters",(p??s).start);let m=r.slice(u+1);if(!m.length)i("@ensure: predicate function body is empty",p.start);return{message:a,field:l,fieldStart:c,paramTokens:d,bodyTokens:m}}function Vn(e,t,r,n=null){if(!e.length)return[];let i=H2(e,t,r,n);for(let s=i.length-1;s>=0&&i[s].type===null;s--)i[s].optional=!0;return i}function H2(e,t,r,n){let i=(s)=>s.kind!=="TERMINATOR"&&s.kind!=="INDENT"&&s.kind!=="OUTDENT";return Oe(e).map((s)=>{let a=s.filter((f)=>i(f)&&f.kind!=="TYPE"),o=a.length>=3&&(a[0].kind==="IDENTIFIER"||a[0].kind==="PROPERTY")&&a[1].kind===":";if(!o&&(a.length!==1||a[0].kind!=="IDENTIFIER"))r(`${t}: parameters must be plain identifiers, optionally typed ('name' or 'name: Type')`,(a[0]??s[0]).start);let l=o?[...s].filter(i).pop():null,c=o&&n!==null?jt(n.slice(a[1].end,l.end)).trim():null;return{name:a[0].value,type:c,optional:!1}})}function G2(e,t,r){let n=e[0];if(!n)return;if(n.kind==="@"){let i=e[1];if(!i||i.value!=="on")r(`:union bodies accept only '@on :field' and constituent schema names — '@${i?.value??""}' is not allowed`,(i??n).start);let s=H1(e,2);if(!s)r("@on requires the discriminator field as a symbol — '@on :kind'",(e[2]??i).start);if(e.length>4)r("@on takes exactly one :field symbol",e[4].start);t.push({tag:"directive",name:"on",args:[{field:s.value}],start:n.start});return}if(n.kind==="IDENTIFIER"&&e.length===1){t.push({tag:"union-member",name:n.value,start:n.start});return}r(`:union bodies accept only '@on :field' and bare constituent schema names (one per line) — got ${n.kind}${e.length>1?" followed by "+e[1].kind:""}`,n.start)}function K2(e,t,r){let n=e[0];if(!n)return;if(n.kind==="@")r(`:enum schemas don't accept '@${e[1]?.value??"directive"}' — enums hold only :symbol members`,n.start);let i=H1(e,0);if(!i)r(`enum member must be a :symbol — use ':${n.value??"name"}' for a bare member or ':${n.value??"name"} value' for a valued one`,n.start);let s=i.value,a=e[2];if(!a){t.push({tag:"enum-member",name:s,value:void 0,start:n.start});return}if(a.kind===":")r(`enum member ':${s}' — drop the ':' before the value; use ':${s} value'`,a.start);if(e.length>3&&!(e.length===4&&a.kind==="-"&&e[3].kind==="NUMBER"))r(`extra tokens after enum member ':${s}' value`,e[3].start);let o=a.kind==="-"&&e[3]?.kind==="NUMBER"?-Number(e[3].value):Wn(a,`enum member ':${s}' value`,r);t.push({tag:"enum-member",name:s,value:o,start:n.start})}function Y2(e){return e.some((t)=>t.kind==="..")&&e.every((t)=>t.kind===".."||t.kind==="NUMBER"||t.kind==="-")}function z2(e,t,r){let n=0,i=()=>{let l=1;if(e[n]?.kind==="-")l=-1,n++;let c=e[n++];if(c?.kind!=="NUMBER")r("range endpoints must be numeric literals",(c??e[0]).start);return l*Number(c.value)},s;if(e[n]?.kind!=="..")s=i();n++;let a;if(na)r(`range '${s}..${a}' is reversed — write the smaller endpoint first`,e[0].start);let o={};if(s!==void 0)o.min=s;if(a!==void 0)o.max=a;return o}function q2(e,t,r,n={}){let i=e.slice(1,-1);if(i.length)n.start=i[0].start,n.end=i[i.length-1].end;let s=Oe(i);if(s.length!==1)r(s.length===2?"size/value ranges use 'min..max' syntax, not brackets — replace the bracket pair with a range":`the constraint bracket takes a single default value (got ${s.length} elements)`,e[0].start);let a=s[0];if(a.length===1&&a[0].kind==="REGEX")r(`regex constraints are written bare, not in brackets — replace '[${a[0].value}]' with '${a[0].value}'`,e[0].start);if(a.length===2&&a[0].kind==="-"&&a[1].kind==="NUMBER")return-Number(a[1].value);let o=H1(a,0);if(o&&a.length===2)return o.value;if(a.length!==1)r(`default values must be literals (number, string, boolean, null, :symbol) — field '${t}'`,a[0].start);return Wn(a[0],`field '${t}' default`,r)}function X2(e,t){let r=/^\/((?:\\.|[^\\/])+)\/([a-z]*)$/.exec(e.value);if(!r)t(`invalid regex literal ${JSON.stringify(e.value)}`,e.start);try{return new RegExp(r[1],r[2])}catch(n){t(`invalid regex '${e.value}': ${n.message}`,e.start)}}function Wn(e,t,r){switch(e.kind){case"NUMBER":return Number(e.value);case"STRING":if(!e.value.startsWith('"'))r(`${t} must be a plain string literal (heredocs have no literal key form)`,e.start);return JSON.parse(e.value);case"BOOL":return e.value==="true";case"NULL":return null;case"UNDEFINED":return;default:r(`${t} must be a literal (number, string, boolean, null) — got ${e.kind}`,e.start)}}function Oe(e){let t=[],r=[],n=0;for(let i of e){let s=i.kind;if(s==="("||s==="["||s==="{"||s==="CALL_START"||s==="INDEX_START"||s==="PARAM_START"||s==="INDENT")n++;if(s===")"||s==="]"||s==="}"||s==="CALL_END"||s==="INDEX_END"||s==="PARAM_END"||s==="OUTDENT")n--;if(s===","&&n===0){if(r.length)t.push(r);r=[];continue}r.push(i)}if(r.length)t.push(r);return t}function J2(e){let t=0;for(let r=0;r")return r}return-1}function Hn(e,t,r,n=null,i=null,s=!1,a=null,o=null){let l=[],c=(u)=>{if(l.length&&typeof l[l.length-1]==="string")l[l.length-1]+=u;else l.push(u)},f=(u,d=null)=>l.push({ts:u,span:d}),h=(u)=>l.push({body:u});if(c(`{kind: ${JSON.stringify(e.kind)}`),t)c(`, name: ${JSON.stringify(t)}`);if(c(", entries: ["),e.entries.forEach((u,d)=>{if(d>0)c(", ");Q2(u,r.get(d),i?.get(d)??null,c,f,s,a?.get(d)??null,o?.get(d)??null,h)}),c("]"),n)c(", adapter: "),h(n);return c("}"),l}var Ue=(e)=>typeof e==="string"?e:e.code;function Gn(e,t,r,n){let i=[];return e.entries.forEach((s,a)=>{if(s.tag!=="derived"&&s.tag!=="computed"&&s.tag!=="method")return;let o=r.get(a);if(o===void 0)return;let l=n?.get(a)??null,c=Ue(o);for(let[f,h]of Kn(o,l).reverse())c=c.slice(0,f)+h+c.slice(f);i.push(`${s.name}: ${c}`)}),i.length?`const ${N2(t)} = {${i.join(", ")}};`:null}function Kn(e,t,r=!0){if(typeof e==="string")return[];let n=r?(e.annots??[]).map(([i,s])=>[i,s]):[];if(t!==null){let{code:i,thisAt:s}=e;n.push([s,`this: ${t}${i[s]===")"?"":", "}`])}return n.sort((i,s)=>i[0]-s[0])}function Z2(e,t,r,n,i=!1){let s=Kn(e,t,i);if(s.length===0){r(Ue(e));return}let{code:a}=e,o=0;for(let[l,c]of s)r(a.slice(o,l)),n(c),o=l;r(a.slice(o))}function Q2(e,t,r,n,i,s=!1,a=null,o=null,l=n){switch(e.tag){case"computed":case"method":case"derived":case"hook":case"scope":case"defaultScope":n(`{tag: ${JSON.stringify(e.tag)}, name: ${JSON.stringify(e.name)}, fn: `),Z2(t,r,l,i,s),n("}");return;default:let c={},f=el(e,t,c),h=[];if(s&&a!==null&&c.defaultEnd!==void 0)h.push({at:c.defaultEnd,ts:` satisfies ${a}`,span:e.defaultSpan??null});if(s&&e.tag==="field"&&t!==void 0&&typeof t!=="string"&&Ue(t).startsWith("it",t.thisAt)){let d=Ue(t);h.push({at:f.length-1-d.length+t.thisAt+2,ts:": any"})}if(s&&e.tag==="ensure"&&o!==null&&c.fnAt!==void 0&&typeof t!=="string"&&t!==void 0){let d=/^[A-Za-z_$][\w$]*/.exec(Ue(t).slice(t.thisAt))?.[0];if(d)h.push({at:c.fnAt+t.thisAt+d.length,ts:`: ${o}`})}let u=0;for(let d of h)n(f.slice(u,d.at)),i(d.ts,d.span??null),u=d.at;n(f.slice(u))}}function el(e,t,r={}){if(t!==void 0)t=Ue(t);switch(e.tag){case"field":{let n=['tag: "field"',`name: ${JSON.stringify(e.name)}`,`modifiers: ${JSON.stringify(e.modifiers)}`,`typeName: ${JSON.stringify(e.typeName)}`,`array: ${e.array?"true":"false"}`];if(e.unique)n.push("unique: true");if(e.primary)n.push("primary: true");if(e.literals)n.push(`literals: ${JSON.stringify(e.literals)}`);if(e.coerce){if(n.push("coerce: true"),e.coercer)n.push(`coercer: ${JSON.stringify(e.coercer)}`)}if(e.constraints){let i=[];if(e.constraints.min!==void 0)i.push(`min: ${Ft(e.constraints.min)}`);if(e.constraints.max!==void 0)i.push(`max: ${Ft(e.constraints.max)}`);let s=-1;if(e.constraints.default!==void 0)s=i.length,i.push(`default: ${Ft(e.constraints.default)}`);if(e.constraints.regex!==void 0)i.push(`regex: ${e.constraints.regex.toString()}`);if(i.length){if(s>=0){let a=`{${n.join(", ")}, constraints: {`;r.defaultEnd=a.length+i.slice(0,s+1).join(", ").length}n.push(`constraints: {${i.join(", ")}}`)}}if(e.attrs)n.push(`attrs: {${Object.keys(e.attrs).sort().map((i)=>`${i}: ${Ft(e.attrs[i])}`).join(", ")}}`);if(t)n.push(`transform: ${t}`);return`{${n.join(", ")}}`}case"directive":{let n=['tag: "directive"',`name: ${JSON.stringify(e.name)}`];if(e.args){if(e.name==="mixin"||On.includes(e.name)){let i=e.args[0];n.push(`args: [{target: ${JSON.stringify(i.target)}${i.optional?", optional: true":""}${i.as?`, as: ${JSON.stringify(i.as)}`:""}${i.foreignKey?`, foreignKey: ${JSON.stringify(i.foreignKey)}`:""}${i.through?`, through: ${JSON.stringify(i.through)}`:""}${i.targetKey?`, targetKey: ${JSON.stringify(i.targetKey)}`:""}}]`)}else if(e.name==="primary")n.push(`args: [{name: ${JSON.stringify(e.args[0].name)}${e.args[0].column?`, column: ${JSON.stringify(e.args[0].column)}`:""}}]`);else if(e.name==="on")n.push(`args: [{field: ${JSON.stringify(e.args[0].field)}}]`);else if(e.name==="unique"||e.name==="index")n.push(`args: [{fields: ${JSON.stringify(e.args[0].fields)}}]`);else if(e.name==="idStart")n.push(`args: [{value: ${e.args[0].value}}]`);else if(e.name==="table"||e.name==="tableWas")n.push(`args: [{name: ${JSON.stringify(e.args[0].name)}}]`)}return`{${n.join(", ")}}`}case"ensure":{let n=['tag: "ensure"',`message: ${JSON.stringify(e.message)}`];r.fnAt=`{${n.join(", ")}, fn: `.length;let i=[...n,`fn: ${t}`];if(e.field)i.push(`field: ${JSON.stringify(e.field)}`);if(e.async)i.push("async: true");return`{${i.join(", ")}}`}case"enum-member":{let n=['tag: "enum-member"',`name: ${JSON.stringify(e.name)}`];if(e.value!==void 0)n.push(`value: ${JSON.stringify(e.value)}`);return`{${n.join(", ")}}`}case"union-member":return`{tag: "union-member", name: ${JSON.stringify(e.name)}}`;default:throw Error(`schema: unknown entry tag '${e.tag}'`)}}function Ft(e){if(e===null)return"null";if(e===void 0)return"undefined";if(typeof e==="string")return JSON.stringify(e);return String(e)}var tl=new Set(["pick","omit","partial","required","extend"]);function W1(e){return e&&e.valueOf?e.valueOf():e}function Yn(e){return e.entries.some((t)=>t.tag==="directive"&&t.name==="mixin")}function rl(e){return ei(e.foreignKey??ti(e.as??e.target))}function il(e){if(Yn(e))return null;let t=new Map;for(let a of e.entries)if(a.tag==="field")t.set(a.name,a);if(e.kind!=="model")return t;let r=(a,o,l)=>{if(!t.has(a))t.set(a,{tag:"field",name:a,modifiers:l?["!"]:["?"],typeName:o,array:!1})},n=!1,i=!1,s=[];for(let a of e.entries){if(a.tag!=="directive")continue;if(a.name==="times")n=!0;else if(a.name==="softDelete")i=!0;else if(a.name==="belongsTo"){let o=a.args&&a.args[0];if(o&&o.target)s.push({fk:rl(o),required:o.optional!==!0})}}if(r("id","integer",!0),n)r("createdAt","datetime",!0),r("updatedAt","datetime",!0);if(i)r("deletedAt","datetime",!1);for(let{fk:a,required:o}of s)r(a,"integer",o);return t}function nl(e){if(Yn(e))return null;let t=new Map;for(let r of e.entries)if(r.tag==="field")t.set(r.name,r);return t}function Pn(e,t){let r=e.modifiers.filter((i)=>i!==(t==="partial"?"!":"?")),n=t==="partial"?"?":"!";if(!r.includes(n))r=[...r,n];return{...e,modifiers:r}}function sl(e,t,r){switch(t.method){case"pick":{let n=new Map;for(let i of t.keys){if(!e.has(i))return null;n.set(i,e.get(i))}return n}case"omit":{let n=new Set(t.keys),i=new Map;for(let[s,a]of e)if(!n.has(s))i.set(s,a);return i}case"partial":{let n=new Map;for(let[i,s]of e)n.set(i,Pn(s,"partial"));return n}case"required":{let n=new Set(t.keys),i=new Map;for(let[s,a]of e)i.set(s,n.has(s)?Pn(a,"required"):a);return i}case"extend":{let n=t.otherDescriptor||r.get(t.otherName);if(!n)return null;let i=nl(n);if(!i)return null;let s=new Map(e);for(let[a,o]of i){if(s.has(a))return null;s.set(a,o)}return s}default:return null}}function al(e,t,r){let n=il(e);if(!n)return null;for(let i of t)if(n=sl(n,i,r),!n)return null;return{kind:"shape",entries:[...n.values()]}}function ol(e){let t=[],r=e;while(!0){if(!Array.isArray(r))return null;let n=r[0];if(!Array.isArray(n))return null;if(W1(n[0])!==".")return null;let i=W1(n[2]);if(!tl.has(i))return null;let s=r.slice(1),a;if(i==="partial"){if(s.length)return null;a={method:i}}else if(i==="extend"){if(s.length!==1)return null;let c=s[0];if(Array.isArray(c)){let f=W1(c[0])==="schema"&&c.length===2&&c[1]&&typeof c[1]==="object"&&Array.isArray(c[1].entries)?c[1]:null;if(!f||f.kind!=="shape"&&f.kind!=="input")return null;a={method:i,otherDescriptor:f}}else{let f=W1(c);if(typeof f!=="string"||!/^[A-Za-z_$][\w$]*$/.test(f))return null;a={method:i,otherName:f}}}else{let c=ll(s);if(!c||!c.length)return null;a={method:i,keys:c}}t.unshift(a);let o=n[1];if(Array.isArray(o)){r=o;continue}let l=W1(o);if(typeof l!=="string")return null;return{base:l,ops:t}}}function ll(e){let t=[];for(let r of e)if(Array.isArray(r)){if(W1(r[0])!=="array")return null;for(let n=1;n{r[2]=["schema",t]})}var Bt=new Set(["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"]),Ve=new Set(["a","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","script","set","stop","style","svg","switch","symbol","text","textPath","title","tspan","use","view"]),Ie=new Set([...Bt,...Ve]),oi=new Set([...Ve].filter((e)=>!Bt.has(e))),Ut=new Set(["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"]),qn=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert","ismap","nomodule","playsinline","default","itemscope","alpha","shadowrootdelegatesfocus","shadowrootclonable","shadowrootserializable"]),$e=new Set(["accesskey","autocapitalize","autocorrect","autofocus","class","contenteditable","dir","draggable","enterkeyhint","hidden","id","inert","inputmode","is","itemid","itemprop","itemref","itemscope","itemtype","lang","nonce","popover","role","slot","spellcheck","style","tabindex","title","translate","writingsuggestions"]),it={__proto__:null,a:["href","target","download","ping","rel","hreflang","type","referrerpolicy"],area:["alt","coords","shape","href","target","download","ping","rel","referrerpolicy"],audio:["src","crossorigin","preload","autoplay","loop","muted","controls"],base:["href","target"],blockquote:["cite"],button:["command","commandfor","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","popovertarget","popovertargetaction","type","value"],canvas:["width","height"],col:["span"],colgroup:["span"],data:["value"],del:["cite","datetime"],details:["name","open"],dialog:["open","closedby"],embed:["src","type","width","height"],fieldset:["disabled","form","name"],form:["accept-charset","action","autocomplete","enctype","method","name","novalidate","rel","target"],iframe:["src","srcdoc","name","sandbox","allow","allowfullscreen","width","height","referrerpolicy","loading"],img:["alt","src","srcset","sizes","crossorigin","usemap","ismap","width","height","referrerpolicy","decoding","loading","fetchpriority"],input:["accept","alpha","alt","autocomplete","checked","colorspace","dirname","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","list","max","maxlength","min","minlength","multiple","name","pattern","placeholder","popovertarget","popovertargetaction","readonly","required","size","src","step","type","value","width"],ins:["cite","datetime"],label:["for"],li:["value"],link:["href","crossorigin","rel","media","integrity","hreflang","type","referrerpolicy","sizes","imagesrcset","imagesizes","as","blocking","disabled","fetchpriority"],map:["name"],meta:["name","http-equiv","content","charset","media"],meter:["value","min","max","low","high","optimum"],object:["data","type","name","form","width","height"],ol:["reversed","start","type"],optgroup:["disabled","label"],option:["disabled","label","selected","value"],output:["for","form","name"],progress:["value","max"],q:["cite"],script:["src","type","nomodule","async","defer","crossorigin","integrity","referrerpolicy","blocking","fetchpriority"],select:["autocomplete","disabled","form","multiple","name","required","size"],slot:["name"],source:["type","media","src","srcset","sizes","width","height"],style:["media","blocking"],table:["align","bgcolor","border","cellpadding","cellspacing","width"],tbody:["align","valign"],td:["colspan","rowspan","headers","align","bgcolor","height","nowrap","valign","width"],template:["shadowrootmode","shadowrootdelegatesfocus","shadowrootclonable","shadowrootserializable"],tfoot:["align","valign"],textarea:["autocomplete","cols","dirname","disabled","form","maxlength","minlength","name","placeholder","readonly","required","rows","wrap"],th:["colspan","rowspan","headers","scope","abbr","align","bgcolor","height","nowrap","valign","width"],thead:["align","valign"],time:["datetime"],tr:["align","bgcolor","valign"],track:["default","kind","label","src","srclang"],video:["src","crossorigin","poster","preload","autoplay","playsinline","loop","muted","controls","width","height"]};for(let e in it)it[e]=new Set(it[e]);var nt=new Set(["id","class","style","lang","tabindex","href","pathLength","crossorigin","transform","viewBox","preserveAspectRatio","xmlns","x","y","x1","y1","x2","y2","cx","cy","r","rx","ry","width","height","d","points","dx","dy","rotate","fill","fill-opacity","fill-rule","stroke","stroke-width","stroke-linecap","stroke-linejoin","stroke-dasharray","stroke-dashoffset","stroke-opacity","stroke-miterlimit","opacity","clip-path","clip-rule","mask","filter","color","display","visibility","pointer-events","vector-effect","dominant-baseline","text-anchor","font-family","font-size","font-weight","font-style","letter-spacing","offset","stop-color","stop-opacity","gradientUnits","gradientTransform","spreadMethod","patternUnits","patternContentUnits","patternTransform","markerWidth","markerHeight","refX","refY","orient","markerUnits","maskUnits","maskContentUnits","clipPathUnits","filterUnits","primitiveUnits","in","in2","result","stdDeviation","values","type","mode","operator","radius","scale","baseFrequency","numOctaves","seed","dur","repeatCount","begin","end","from","to","attributeName","keyTimes","keySplines","calcMode","restart","min","max"]);function li(e){let t=String(e).toLowerCase(),r=new Set($e),n=it[t];if(n)for(let i of n)r.add(i);if(Ve.has(String(e)))for(let i of nt)r.add(i);return[...r]}function fl(e,t){if(Math.abs(e.length-t.length)>2)return 3;let r=Array.from({length:t.length+1},(n,i)=>i);for(let n=1;n<=e.length;n++){let i=[n];for(let s=1;s<=t.length;s++)i[s]=Math.min(r[s]+1,i[s-1]+1,r[s-1]+(e[n-1]===t[s-1]?0:1));r=i}return r[t.length]}function Xn(e,t){let r=li(e),n=String(t).toLowerCase(),i=r.find((l)=>l.toLowerCase()===n);if(i!==void 0&&i!==t)return i;if(String(t).length<3)return null;let s=null,a=3,o=!1;for(let l of r){if(l===String(t))continue;let c=fl(String(t),l);if(cIe.has(String(e).split("#")[0]),es=(e)=>typeof e==="string"&&hl.test(e),fi=(e)=>gl(e)||es(e);function ts(e,t,r){let n=!1;for(let G of e)if(G.kind==="RENDER"){n=!0;break}if(!n)return e;let i=[],s=(G,T,N,F={})=>{let{at:J,...x}=F,e1=J??N.end;return{id:t(),kind:G,value:T,start:e1,end:e1,spaced:!1,newLine:!1,generated:!0,origin:N.id,...x}},a=!1,o=0,l=0,c=[],f=[],h=[],u=(G,T,N)=>T{let x=1,e1=T;while(e1>=0&&x>0){if(Z.on)Z.n++;let U=u(G,e1,J)?.kind;if(U===N)x++;else if(U===F)x--;if(x>0)e1--}return e1},p=(G)=>{let T=i.length;while(T>0&&u(i,T,G)?.kind==="OUTDENT")T=d(i,T-1,"OUTDENT","INDENT",G);while(T>0){if(Z.on)Z.n++;let F=i[T-1].kind;if(F==="TERMINATOR"||F==="RENDER")break;if(F==="OUTDENT"){T=d(i,T-2,"OUTDENT","INDENT",G);continue}if(F==="INDENT"){let J=u(i,T,G)?.kind;if(J==="CALL_END"||J===")"){T=d(i,T-1,J,J==="CALL_END"?"CALL_START":"(",G);continue}break}if(F==="CALL_END"||F===")"){T=d(i,T-2,F,F==="CALL_END"?"CALL_START":"(",G);continue}if(F==="INTERPOLATION_END"){T=d(i,T-2,"INTERPOLATION_END","INTERPOLATION_START",G);continue}if(F==="STRING_END"){T=d(i,T-2,"STRING_END","STRING_START",G);continue}T--}let N=u(i,T,G);return N?.kind==="IDENTIFIER"&&(fi(N.value)||(T===0||["INDENT","TERMINATOR","RENDER"].includes(i[T-1]?.kind)))},m=()=>{let G=0;for(let T=i.length-1;T>=0;T--){if(Z.on)Z.n++;let N=i[T].kind;if(Zn.has(N))G++;else if(Jn.has(N)){if(G===0)return 1;G--}else if(N==="TERMINATOR"||N==="RENDER"||N==="INDENT"||N==="OUTDENT")break}return 0},g=(G)=>{let T=i[i.length-1];if(!T)return!1;if(m()!==0)return!1;let N=T.kind;if((N===","||N==="IDENTIFIER"||N==="PROPERTY")&&p(G))return!0;if((N==="INDENT"||N==="TERMINATOR")&&f.includes(l))return!0;return!1},b=(G)=>{let T=1;for(let N=G+1;N0;N++){if(Z.on)Z.n++;let F=e[N].kind;if(F==="("||F==="CALL_START")T++;else if(F===")"){if(T--,T===0)e[N].kind="CALL_END"}else if(F==="CALL_END")T--}},S=(G)=>{let T=1;for(let N=i.length-1;N>=0&&T>0;N--){if(Z.on)Z.n++;if(i[N].kind==="CALL_END")T++;else if(i[N].kind==="CALL_START"){if(T--,T===0&&N>0&&i[N-1].kind==="PROPERTY"&&i[N-1].value==="__clsx")return!0}}return!1},w=(G)=>{while(h.length>0){let T=h[h.length-1];if(G.kind==="INDENT"||Jn.has(G.kind)){T.depth++;return}if(G.kind==="OUTDENT"||Zn.has(G.kind)){if(T.depth===0){i.push(s("CALL_END",")",i[i.length-1]??G)),h.pop();continue}T.depth--;return}if(G.kind==="TERMINATOR"&&T.depth===0){i.push(s("CALL_END",")",i[i.length-1]??G)),h.pop();continue}return}},R=(G)=>G===0||st.has(e[G-1].kind),k=(G,T)=>{let N=e[G+1]?.kind==="TYPE"?e[G+2]:e[G+1];return N!==void 0&&T.has(N.kind)},j=new Set;for(let G=0,T=0;G{let T=new Set,N=G+1;while(NA.some((T)=>T.names.has(G))||L.length>0&&L[L.length-1].names.has(G)||j.has(G);for(let G=0;G0)w(T);if(!st.has(T.kind)&&R(G))v=T.kind;if(T.kind==="COMPONENT")L.push({level:l+1,names:M(G)});if(T.kind==="RENDER"){a=!0,o=l+1,A.push({level:o,names:new Set}),i.push(T);continue}if(T.kind==="INDENT"){if(l++,a){let F=e[G-1]?.kind;if(F==="->"||F==="=>")P.push(l);else if(P.length===0&&ml.has(v))A.push({level:l,names:new Set(v==="FOR"?V??[]:[])})}V=null,i.push(T);continue}if(T.kind==="OUTDENT"){l--;for(let F of[L,A])while(F.length>0&&F[F.length-1].level>l)F.pop();while(P.length>0&&P[P.length-1]>l)P.pop();while(f.length>0&&f[f.length-1]>l)f.pop();i.push(T);while(c.length>0&&c[c.length-1]>l)i.push(s("CALL_END",")",T)),c.pop();if(a&&l0){let F=i[i.length-1].kind;if(F==="TERMINATOR"||F==="INDENT"||F==="RENDER"){i.push(s("IDENTIFIER","__text__",T,{at:T.start,spaced:T.spaced,newLine:T.newLine})),i.push(s("CALL_START","(",T,{at:T.start})),h.push({depth:0});continue}}if(T.kind==="UNARY_MATH"&&T.value==="~"&&N?.kind==="IDENTIFIER"){i.push(s("PROPERTY","__transition__",T,{spaced:T.spaced,newLine:T.newLine})),i.push(s(":",":",T)),N.kind="STRING",N.value=`"${N.value}"`,N.transitionValue=!0;continue}if(T.transitionValue&&N!==null&&Qn.has(N.kind)){i.push(T),i.push(s(",",",",T,{at:N.start}));continue}if(T.kind==="BIND"){let F=i[i.length-1];if(F!==void 0&&(F.kind==="IDENTIFIER"||F.kind==="PROPERTY")&&N!==null&&(N.kind==="IDENTIFIER"||N.kind==="@")){F.value=`__bind_${F.value}__`,i.push(s(":",":",T));continue}}if(T.kind==="IDENTIFIER"&&N?.kind==="-"&&!N.spaced){let F=[T.value],J=G+1,x=T.end;while(J+11&&e[J-1].kind==="PROPERTY"){let e1=F.join("-");i.push({...T,kind:"STRING",value:`"${e1}"`,end:x}),G=J-1;continue}}if(T.kind==="."){let F=i[i.length-1]?.kind;if(F==="INDENT"||F==="TERMINATOR"||F==="RENDER"){if(N?.kind==="PROPERTY"){let J=e[G+2];if(!J||J.kind!==":"){i.push(s("IDENTIFIER","div",T,{spaced:T.spaced,newLine:T.newLine})),i.push(T);continue}T={...T,kind:"IDENTIFIER",value:"div"}}else if(!N||N.kind!=="(")T={...T,kind:"IDENTIFIER",value:"div"}}}if(T.kind==="."&&N?.kind==="("){let F=i[i.length-1]?.kind,J=F==="INDENT"||F==="TERMINATOR"||F==="RENDER";if(N.kind="CALL_START",b(G+1),J)i.push(s("IDENTIFIER","div",T,{spaced:T.spaced,newLine:T.newLine})),i.push(T),i.push(s("PROPERTY","__clsx",T));else if(F===":")i.push(s("IDENTIFIER","__clsx",T,{spaced:T.spaced,newLine:T.newLine}));else i.push(T),i.push(s("PROPERTY","__clsx",T));continue}if(T.kind==="@"&&N?.kind==="PROPERTY"&&!N.spaced){let F=e[G+2],J=F?.kind===".",x=F?.kind===":";if(!J&&!x&&g(T)){let e1=String(N.value),U=`on${e1[0].toUpperCase()}${e1.slice(1)}`;if(F?.kind==="=")r(`a \`=\` cannot follow a bare event directive on one line — \`@${e1} = expr\` would assign to the minted handler and invoke the assignment as the listener; bind explicitly (\`@${e1}: handler\`), or keep the bare \`@${e1}\` and put the text on its own \`= expr\` line`,F.start);if(i.push(T),i.push(N),i.push(s(":",":",N)),i.push(s("@","@",N)),i.push(s("PROPERTY",U,N)),G++,e[G+1]?.kind==="INDENT")i.push(s(",",",",N,{at:e[G+1].start})),i.push(s("->","->",N,{at:e[G+1].start,newLine:!0})),f.push(l+1);else if(e[G+1]!==void 0&&Qn.has(e[G+1].kind))i.push(s(",",",",N,{at:e[G+1].start}));continue}}if(N?.kind==="INDENT"&&T.kind!=="->"&&T.kind!=="=>"&&T.kind!=="CALL_START"&&T.kind!=="("){let F=i[i.length-1]?.kind,J=["IF","UNLESS","WHILE","UNTIL","WHEN","FORIN","FOROF","FORAS","FORASAWAIT","BY"].includes(F),x=T.kind==="IDENTIFIER"&&(F==="INDENT"||F==="TERMINATOR"||F==="RENDER"),e1=T.kind==="IDENTIFIER"&&fi(T.value)&&(x||!H(T.value)),U=!1,i1=!1;if(T.kind==="CALL_END")i1=S(T);if(i1)U=!0;else if(e1&&!J)U=!0;else if(T.kind==="IDENTIFIER"&&!J)U=x||p(T);else if(["PROPERTY","STRING","STRING_END","NUMBER","BOOL","CALL_END",")","]","INDEX_END","}","MAYBE_DAMMIT"].includes(T.kind))U=p(T);if(U){let q=!1;if(T.kind==="PROPERTY"&&i[i.length-1]?.kind==="."){let I=i.length;while(I>=2&&i[I-1].kind==="."&&i[I-2].kind==="PROPERTY")I-=2;if(I>=2&&i[I-1].kind==="."&&i[I-2].kind==="IDENTIFIER"&&fi(i[I-2].value)){let c1=i[I-3]?.kind??null;if(c1===null||["INDENT","OUTDENT","TERMINATOR","RENDER"].includes(c1))q=!0}}let s1=i1||e1||x||q;if(i.push(T),s1)i.push(s("CALL_START","(",T,{at:N.start})),i.push(s("->","->",T,{at:N.start,newLine:!0})),c.push(l+1);else i.push(s(",",",",T,{at:N.start})),i.push(s("->","->",T,{at:N.start,newLine:!0}));f.push(l+1);continue}}if(T.kind==="IDENTIFIER"&&es(T.value)&&(N?.kind==="OUTDENT"||N?.kind==="TERMINATOR")){i.push(T),i.push(s("CALL_START","(",T)),i.push(s("CALL_END",")",T));continue}i.push(T)}e.length=i.length;for(let G=0;G=e.length)return null;if(!j1.test(e[t]))return null;let r=t+1;while(r=0;a--){if(Z.on)Z.n++;if(s>=0&&(i<0||n[s].at>i))e[a]=n[s--].token;else e[a]=e[i--]}return e}var bl=new Set(["IF","UNLESS","WHILE","UNTIL","WHEN","LEADING_WHEN","CATCH","FOR","LOOP","CLASS"]),yl=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START"]),Sl=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END"]);function Rl(e,t){let r=0;for(let n=t-1;n>=0;n--){if(Z.on)Z.n++;let i=e[n].kind;if(Sl.has(i)||i==="OUTDENT"){r++;continue}if(yl.has(i)||i==="INDENT"){if(r===0)return!1;r--;continue}if(r>0)continue;if(bl.has(i))return!0;if(i==="TERMINATOR")return!1}return!1}function El(e,t){let r=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START"]),n=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END"]),i=[],s=[],a=(p,m)=>{let g=0;for(let b=m-1;b>=p;b--){if(Z.on)Z.n++;let S=e[b].kind;if(n.has(S)||S==="OUTDENT"){g++;continue}if(r.has(S)||S==="INDENT"){if(S==="INDENT")return!1;if(g--,g<0)return!1;continue}if(g>0)continue;if(Wt(e,b))return!0}return!1},o=(p,m)=>{let g=0;for(let b=m-1;b>=p;b--){if(Z.on)Z.n++;let S=e[b].kind;if(n.has(S)||S==="OUTDENT"){g++;continue}if(r.has(S)||S==="INDENT"){if(g--,g<0)return!1;continue}if(g>0)continue;if(S===":"&&e[b-1]?.kind==="PROPERTY")return os(e,m+1);if(S==="TERMINATOR")return!1}return!1},l=new Set(["IF","UNLESS","TRY","CATCH","FINALLY","SWITCH","FOR","CLASS"]),c=(p)=>{let m=0,g=0,b=0;for(let S=p;S({id:t(),kind:p,value:p,start:m,end:m,spaced:!1,newLine:!1,generated:!0,origin:g}),h=(p)=>{let m=c(p),g=null;for(let R=p;R=p;R--){if(Z.on)Z.n++;if(!e[R].generated){b=e[R];break}}let S=null;for(let R=m;R{while(s.length&&s[s.length-1].end===p){let m=s.pop();i.push({at:p,token:f("OUTDENT",m.closeAt,m.afterId)}),u=p}};for(let p=0;p"||m.kind==="=>")&&e[p+1]&&e[p+1].kind!=="INDENT"){let g=h(p+1);i.push({at:p+1,token:f("INDENT",g.openAt,g.firstReal?g.firstReal.id:null)}),s.push(g)}else if(m.kind==="THEN"&&Rl(e,p)){let g=h(p+1);m.kind="INDENT",m.value="INDENT",m.generated=!0,m.start=m.end=g.firstReal?g.firstReal.start:m.end,m.origin=g.firstReal?g.firstReal.id:null,s.push(g)}else if(m.kind==="ELSE"&&e[p+1]&&e[p+1].kind!=="INDENT"&&e[p+1].kind!=="IF"&&(u===p||e[p-1]?.kind==="OUTDENT")){let g=h(p+1);i.push({at:p+1,token:f("INDENT",g.openAt,g.firstReal?g.firstReal.id:null)}),s.push(g)}}return d(e.length),i}var Vt=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS","DAMMIT","?","MAYBE_DAMMIT"]),is=new Set(["IDENTIFIER","PROPERTY","NUMBER","STRING","STRING_START","REGEX","HEREGEX_START","SYMBOL","MAP_START","PARAM_START","IF","TRY","SWITCH","CLASS","THIS","SUPER","UNDEFINED","NULL","BOOL","UNARY","NEW","DO","DO_IIFE","UNARY_MATH","AWAIT","YIELD","THROW","@","->","=>","[","(","{","--","++"]),ns=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","??","THEN","ELSE"]),ss=new Set(["IF","TRY","FINALLY","CATCH","SWITCH","FOR","CLASS"]),as=new Set(["IDENTIFIER","PROPERTY","NUMBER","STRING","STRING_END","REGEX","HEREGEX_END",")","CALL_END","]","INDEX_END","}","PICK_END","BOOL","NULL","UNDEFINED","THIS","@"]),se=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START","INDENT"]),ne=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END","OUTDENT"]),Wt=(e,t)=>{let r=e[t],n=e[t+1];if(!r||!n||!n.spaced||!Vt.has(r.kind))return!1;if((r.kind==="]"||r.kind==="}")&&(n.kind==="->"||n.kind==="=>"))return!1;if(r.kind==="IDENTIFIER"&&(r.value==="Infinity"||r.value==="NaN")&&(n.kind==="->"||n.kind==="=>"))return!1;if(is.has(n.kind))return!0;return n.kind==="..."&&e[t+2]!=null&&is.has(e[t+2].kind)},os=(e,t)=>{if(!e[t])return!1;let r=(n)=>(e[n]?.kind==="DAMMIT"||e[n]?.kind==="VOID_MARKER")&&e[n+1]?.kind===":";if(e[t].kind==="@"&&(e[t+2]?.kind===":"||r(t+2)))return!0;if(e[t+1]?.kind===":"||r(t+1))return!0;if(se.has(e[t].kind)){let n=1,i=t;while(++i0){if(Z.on)Z.n++;if(se.has(e[i].kind))n++;else if(ne.has(e[i].kind))n--}if(n===0&&e[i]?.kind===":")return!0}return!1},ls=new Set(["->","=>","[","(",",","{","ELSE","="]),hi=new Set(["INDENT","OUTDENT","TERMINATOR"]),kl=new Set(["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL","DEF"]),cs=(e,t)=>{let r=0;for(;t>=0;t--){if(Z.on)Z.n++;let n=e[t].kind;if(r===0&&kl.has(n))return!0;if(ne.has(n)){r++;continue}if(se.has(n)){if(r>0){r--;continue}if(!e[t].generated||hi.has(n))return!1;continue}if(r===0&&hi.has(n))return!1}return!1};function Tl(e,t){let r=[],n=[],i=[0],s=null,a=-1,o=()=>r[r.length-1],l=(g,b,S,w={})=>({id:t(),kind:g,value:g,start:b,end:b,spaced:w.spaced??!1,newLine:w.newLine??!1,generated:!0,origin:S}),c=(g)=>{r.pop(),n.push({at:g,token:l("}",s?s.end:0,s?s.id:null)})},f=(g)=>os(e,g),h=()=>{for(let g=r.length-1;g>=0;g--){if(Z.on)Z.n++;let b=r[g];if(b.kind==="object")return b;if(!(b.kind==="INDENT"&&b.listContinuation))return null}return null},u=(g,b)=>{if(e[b]?.kind!=="...")return!1;let S=r[r.indexOf(g)-1];if(!S||!(S.kind==="["||S.kind==="CALL_START"))return!0;return p(S.at,g.at)},d=(g)=>{let b=e[g-1];return Boolean(b&&Vt.has(b.kind)&&f(g+1)&&!cs(e,g-1))},p=(g,b)=>{let S=0;for(let w=b-1;w>g;w--){if(Z.on)Z.n++;let R=e[w].kind;if(ne.has(R)){S++;continue}if(se.has(R)){if(R==="INDENT"&&S===0)return d(w);if(S--,S<0)return!1;continue}if(S>0)continue;if(R==="TERMINATOR")return!1;if(Wt(e,w))return!0}return!1},m=(g)=>{for(let b=0;g1)i.pop();if(S==="OUTDENT")for(let R=r.length-1;R>=0;R--){let k=r[R];if(k.kind!=="object"&&k.kind!=="CONTROL")break;if(k.kind==="object")k.sameLine=!1}continue}if(S==="TERNARY")i[i.length-1]++;if(S===":"){let R=i.length-1;if(i[R]>0){i[R]--;continue}if(w?.kind==="DAMMIT")w.kind="VOID_MARKER";let k=w?.kind==="VOID_MARKER"?1:0,j=ne.has(w?.kind)?o()?.at??g-1:g-1-k;if(e[g-2-k]?.kind==="@")j=g-2-k;let M=e[j-1],A=!Wt(e,j-1)&&(j<=0||hi.has(M?.kind)||Boolean(M?.newLine)),P=o(),v=r[r.length-2],V=(F)=>F&&(F.kind==="{"||F.kind==="PICK_START"||F.kind==="OPTPICK_START"||F.kind==="object"),H=(F)=>F==="{"||F==="PICK_START"||F==="OPTPICK_START",G=P?.kind==="INDENT"&&P.listContinuation?h():null,T=Boolean(G),N=G?G.at:P?.kind==="INDENT"&&v?v.at:P?.at;if(P&&(V(P)||P.kind==="INDENT"&&(H(v?.kind)||T))&&!(N!=null&&p(N,j))&&(A||M?.kind===","||H(M?.kind)||e[j]?.kind==="{"))continue;r.push({kind:"object",at:j,sameLine:!0,startsLine:A}),n.push({at:j,token:l("{",e[j].start,e[j].id,{spaced:e[j].spaced,newLine:e[j].newLine})});continue}if(ns.has(S)||(S==="."||S==="?.")&&b.newLine){if(S==="||"||S==="&&"||S==="??"||S==="ELSE")continue;if(S==="TERMINATOR"){i[i.length-1]=0;for(let R=r.length-1;R>=0;R--){let k=r[R];if(k.kind!=="object"&&k.kind!=="CONTROL")break;if(k.kind==="object")k.sameLine=!1}}while(o()?.kind==="object"||S==="TERMINATOR"&&o()?.kind==="CONTROL"&&o()?.trigger==="CLASS"){let R=o();if(R.kind==="CONTROL"){r.pop();continue}if(S==="TERMINATOR")if(w?.kind!==","&&!(R.startsLine&&(f(g+1)||u(R,g+1))))c(g);else break;else if(R.sameLine&&w?.kind!==":"&&!((S==="POST_IF"||S==="POST_UNLESS")&&R.startsLine&&m(g+1)))c(g);else break}continue}if(S===","){let R=h(),k=(j)=>f(j)||u(R,j);if(R&&!p(R.at,g)&&!k(g+1)&&(e[g+1]?.kind!=="TERMINATOR"||!k(g+2))){if(e[g+1]?.kind==="INDENT"&&k(g+2))a=g;else if(o()?.kind==="object"){let j=e[g+1]?.kind==="OUTDENT"?1:0;while(o()?.kind==="object")c(g+j)}}}}if(e.length&&!e[e.length-1].generated)s=e[e.length-1];while(o()?.kind==="object"||o()?.kind==="CONTROL")if(o().kind==="object")c(e.length);else r.pop();return n}function wl(e,t){let r=[],n=[],i=-1,s=(l,c,f)=>({id:t(),kind:l,value:l==="CALL_START"?"(":")",start:c,end:c,spaced:!1,newLine:!1,generated:!0,origin:f}),a=null,o=(l)=>{r.pop(),n.push({at:l,token:s("CALL_END",a?a.end:0,a?a.id:null)})};for(let l=0;l0&&!e[l-1].generated)a=e[l-1];if(r[r.length-1]==="call"&&ss.has(h)&&!(h==="FOR"&&!c.newLine&&e[l-1]&&as.has(e[l-1].kind))){r.push(h==="CLASS"?"CONTROL_CLASS":"CONTROL");continue}if(h==="INDENT"){if(l===i){r.push("INDENT");continue}let u=e[l-1];if(!u||!ls.has(u.kind))while(r[r.length-1]==="call")o(l);if(r[r.length-1]==="CONTROL"||r[r.length-1]==="CONTROL_CLASS")r.pop();r.push("INDENT");continue}if(se.has(h))r.push(h);else if(ne.has(h)){while(r[r.length-1]==="call"||r[r.length-1]==="CONTROL"||r[r.length-1]==="CONTROL_CLASS")if(r[r.length-1]==="call")o(l);else r.pop();r.pop()}if(ns.has(h)||(h==="."||h==="?.")&&c.newLine){if(h==="||"||h==="&&"||h==="??")continue;if(h==="ELSE"&&e[l-1]?.kind==="OUTDENT")continue;if(e[l-1]?.kind!==",")while(r[r.length-1]==="call"||h==="TERMINATOR"&&r[r.length-1]==="CONTROL_CLASS")if(r[r.length-1]==="call")o(l);else r.pop();continue}if(Wt(e,l)||Vt.has(h)&&f&&f.spaced&&(f.kind==="+"||f.kind==="-")&&e[l+2]&&!e[l+2].spaced&&!e[l+2].newLine)n.push({at:l+1,token:s("CALL_START",f.start,f.generated?f.origin:f.id)}),r.push("call");else if(Vt.has(h)&&f?.kind==="INDENT"&&e[l+2]?.kind==="{"&&e[l+2].generated&&!cs(e,l))n.push({at:l+1,token:s("CALL_START",e[l+2].start,e[l+2].origin)}),r.push("call"),i=l+1}if(e.length&&!e[e.length-1].generated)a=e[e.length-1];while(r[r.length-1]==="call"||r[r.length-1]==="CONTROL"||r[r.length-1]==="CONTROL_CLASS")if(r[r.length-1]==="call")o(e.length);else r.pop();return n}var Ht=(e,t)=>ui(e,El,t),Gt=(e,t)=>ui(e,Tl,t),Kt=(e,t)=>ui(e,wl,t);var ms=new Map([["as","CAST"],["satisfies","SATISFIES"]]),Xt=(e)=>e?.kind==="IDENTIFIER"&&ms.has(e.value),ps=new Set(["IDENTIFIER","PROPERTY","NUMBER","STRING","STRING_END","REGEX","HEREGEX_END","BOOL","NULL","UNDEFINED",")","CALL_END","PARAM_END","]","INDEX_END","}","PICK_END","THIS","@","SUPER","?","MAYBE_DAMMIT","DAMMIT","CAST","SATISFIES","IMPORT_META"]),_l=new Set(["IDENTIFIER","PROPERTY","(","CALL_START","PARAM_START","{","[","INDEX_START","STRING","NUMBER","BOOL","NULL","UNDEFINED","-","UNARY","NEW","RESERVED"]),ae=new Set(["(","CALL_START","PARAM_START","[","INDEX_START","{","PICK_START","OPTPICK_START"]),oe=new Set([")","CALL_END","PARAM_END","]","INDEX_END","}","PICK_END"]),Nl=new Set(["TERMINATOR","INDENT","OUTDENT",",","=","COMPOUND_ASSIGN","REACTIVE_ASSIGN","COMPUTED_ASSIGN","READONLY_ASSIGN","GATE","EFFECT","->"]),Al=new Set(["+","-","MATH","**","SHIFT","COMPARE","MATCH","&&","||","??","^","RELATION","TERNARY","?","MAYBE_DAMMIT",":","?.","DAMMIT","EXTENDS","..","...","IF","UNLESS","ELSE","THEN","WHILE","UNTIL","LOOP","FOR","WHEN","BY","SWITCH","RETURN","THROW","CATCH","FINALLY"]),vl=new Set(["IF","UNLESS","ELSE","THEN","WHILE","UNTIL","LOOP","FOR","WHEN","BY","SWITCH","RETURN","THROW"]),Ol=new Set(["IDENTIFIER","PROPERTY","RESERVED","NUMBER","STRING","TYPE_TEMPLATE","BOOL","NULL","UNDEFINED","THIS",".",",",":","?","TERNARY","...","|","&","=>","EXTENDS","(",")","PARAM_START","PARAM_END","[","]","INDEX_START","INDEX_END","{","}","INDENT","OUTDENT","TERMINATOR"]),Il=new Set(["IDENTIFIER","PROPERTY","RESERVED","NUMBER","STRING","TYPE_TEMPLATE","BOOL","NULL","UNDEFINED","THIS",")","PARAM_END","]","INDEX_END","}"]),$l=new Set(["TERMINATOR","INDENT","OUTDENT","{",","]),qt=(e,t,r)=>{if(t-1{let s=0,a=[],o=(u=0)=>a[a.length-1-u],l=null,c=!1,f=[],h=(u,d)=>{s-=d;for(let p=0;p"){h(d,1),c=!0;continue}if(p==="SHIFT"&&d.value===">>"){h(d,2),c=!0;continue}if(p==="SHIFT"&&d.value===">>>"){h(d,3),c=!0;continue}if(p==="UNARY"&&d.value==="typeof"){c=!1;continue}if(d.word==="is"&&c&&u-2>=t&&(e[u-1].kind==="IDENTIFIER"||e[u-1].kind==="PROPERTY"||e[u-1].kind==="THIS")&&(e[u-2].kind==="=>"||e[u-2].value==="asserts"||e[u-2].kind===":"&&e[u-3]?.kind==="CALL_END")){c=!1;continue}if(p==="RELATION"&&d.value==="in"&&o()==="["&&o(1)==="{"&&u-2>=t&&(e[u-2].kind==="["||e[u-2].kind==="INDEX_START")&&(e[u-1].kind==="IDENTIFIER"||e[u-1].kind==="PROPERTY")&&qt(e,u-2,t)){c=!1;continue}if(d.value==="?"&&c&&e[u+1]?.kind===":"){c=!1;continue}if(p==="-"&&e[u+1]?.kind==="NUMBER"&&!c){u++,c=!0;continue}if((p==="-"||p==="+")&&e[u+1]?.value==="readonly"&&(e[u+2]?.kind==="["||e[u+2]?.kind==="INDEX_START")&&o()==="{"&&qt(e,u,t)){c=!1;continue}if((p==="-"||p==="+")&&e[u+1]?.value==="?"&&e[u+2]?.kind===":"&&o()==="{"&&(e[u-1]?.kind==="]"||e[u-1]?.kind==="INDEX_END")){c=!0;continue}if(p==="="&&s>0){c=!1;continue}if((o()==="{"||i.methods&&o()===void 0)&&p==="CALL_START"){let m=e[u-1],g=qt(e,u-1,t);if(m&&(m.kind==="IDENTIFIER"||m.kind==="PROPERTY")&&g){let b=1,S=u+1;while(S0){if(e[S].kind==="CALL_START")b++;else if(e[S].kind==="CALL_END")b--;S++}if(b===0&&e[S]?.kind===":"){f.push(S-1),a.push("("),c=!1;continue}if(b===0)n(`an interface method shorthand needs a return type — \`${m.value}(…): T\``,m.start)}}if(p==="CALL_END"&&u===f[f.length-1]){f.pop(),a.pop(),c=!0;continue}if(Ol.has(p)){if(fs.has(p))a.push(fs.get(p));else if(Dl.has(p))a.pop();c=Il.has(p);continue}n(`code expression ('${d.word??d.value}') in a type body — types erase and cannot execute`,d.start)}if(s>0)n("unclosed '<' in a type body — the generic never closes",l.start)},xl=new Set(["=",":","COMPOUND_ASSIGN","REACTIVE_ASSIGN","COMPUTED_ASSIGN","READONLY_ASSIGN",",","[","(","{","CALL_START","INDEX_START","PARAM_START","PICK_START","OPTPICK_START","RETURN","THROW","AWAIT","YIELD"]),Z1=(e,t)=>{let r=e[t];if(!r)return!0;if(r.kind==="TERMINATOR"||r.kind==="EXPORT"||r.kind==="OFFER")return!0;if(r.kind!=="INDENT"&&r.kind!=="OUTDENT")return!1;let n=0;for(let i=t;i>=0;i--){if(Z.on)Z.n++;let s=e[i].kind;if(s==="OUTDENT")n++;else if(s==="INDENT"){if(n===0){let a=e[i-1];return!(a&&xl.has(a.kind))}n--}}return!0},mi=(e,t,r)=>{if(r<=t)return!1;let n=new Set(["|","&",",",":","?","TERNARY",".","..."]),i=0,s=0,a=0,o=0,l=!1,c=[],f=null;for(let h=t;h"){let p=h>t?e[h-1].kind:null;if((p===")"||p==="PARAM_END")&&f&&(f.colon||f.empty)){l=!1;continue}return!1}if(u==="("||u==="PARAM_START"){c.push({colon:!1,open:h}),i++,l=!1;continue}if(u===")"||u==="PARAM_END"){if(--i<0)return!1;let p=c.pop();f=p?{colon:p.colon,empty:h===p.open+1}:null,l=!0;continue}if(u==="["||u==="INDEX_START"){s++,l=!1;continue}if(u==="]"||u==="INDEX_END"){if(--s<0)return!1;l=!0;continue}if(u==="{"){a++,l=!1;continue}if(u==="}"){if(--a<0)return!1;l=!0;continue}if(u==="COMPARE"){if(d==="<"){o++,l=!1;continue}if(d===">"){if(o<=0)return!1;o--,l=!0;continue}return!1}if(u==="SHIFT"){if(d===">>"){if(o<2)return!1;o-=2,l=!0;continue}if(d===">>>"){if(o<3)return!1;o-=3,l=!0;continue}return!1}if(u==="="){if(o>0){l=!1;continue}return!1}if(n.has(u)){if(u===":"&&c.length)c[c.length-1].colon=!0;l=!1;continue}if(u==="IDENTIFIER"||u==="PROPERTY"||u==="NUMBER"||u==="RESERVED"||u==="STRING"||u==="NULL"||u==="UNDEFINED"||u==="BOOL"){if(l)return!1;l=!0;continue}return!1}return i===0&&s===0&&a===0&&o===0&&l},hs=(e,t,r,n)=>{let i=[],s=[],a=[],o=0,l=t,c=e[t-1]?.end??0,f=(u)=>n("unclosed '<' in a type — the generic argument list never closes"+(r.cast?"; if the '<' was meant as a comparison, parenthesize the cast: '(x as T) < y'":""),u.start),h=(u,d)=>{for(let p=0;pl&&u.newLine)break;if(d==="SHIFT"&&(u.value===">>"||u.value===">>>")&&a.length>0){h(u,u.value===">>"?2:3),i.push(u.value),c=u.end,t++;continue}if(d==="COMPARE"&&u.value===">"){if(o===0)break;h(u,1),i.push(u.value),c=u.end,t++;continue}if(ae.has(d)||d==="COMPARE"&&u.value==="<"){o++;let m=d==="{"?"{":d==="["||d==="INDEX_START"?"[":d==="COMPARE"?"<":"(";if(s.push(m),m==="<")a.push(u);i.push(u.value),c=u.end,t++;continue}if(oe.has(d)){if(o===0)break;if(s[s.length-1]==="<")f(a[a.length-1]);o--,s.pop(),i.push(u.value),c=u.end,t++;continue}if(d==="INTERPOLATION_END"||d==="STRING_END"||d==="HEREGEX_END")break;if(o===0){if(Nl.has(d))break;if(r.stopAtFatArrow&&d==="=>")break;if(r.stopAtThen&&d==="THEN")break;if(r.cast&&Al.has(d))if(t===l&&(d==="-"||d==="+")&&e[t+1]?.kind==="NUMBER"){if(d==="+")n("a numeric literal type spells its sign with '-' (TypeScript has no '+1' type)",u.start,e[t+1].end)}else break;if(r.alias&&vl.has(d))break}else{if(d==="INDENT"||d==="OUTDENT"){t++;continue}if(d==="TERMINATOR"){i.push(";"),c=u.end,t++;continue}if(d==="PROPERTY"&&s[s.length-1]==="{"){let m=i[i.length-1];if(m&&m!=="{"&&m!==","&&m!==";")i.push(";")}}if(d==="?"&&!u.spaced&&e[t+1]?.kind===":"&&i.length){i[i.length-1]+="?",c=u.end,t++;continue}i.push(u.word==="is"?u.word:u.value),c=u.end,t++}if(a.length)f(a[0]);return{parts:i,consumed:t-l,end:c}},Cl=(e)=>e.join(" ").replace(/\s+/g," ").trim().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,": "),Pl=(e,t,r)=>{let n=(l)=>l==="("||l==="PARAM_START"||l==="CALL_START",i=(l)=>l===")"||l==="PARAM_END"||l==="CALL_END";if(r-t<2||!n(e[t].kind))return!1;let s=0;for(let l=t;l{if(!(e[t]?.kind==="COMPARE"&&e[t].value==="<"&&!e[t].spaced))return t;let r=0;while(t")r--;else if(n.kind==="SHIFT"&&n.value===">>")r-=2;else if(n.kind==="SHIFT"&&n.value===">>>")r-=3;else if(n.kind==="TERMINATOR"||n.kind==="INDENT"||n.kind==="OUTDENT")return-1;if(t++,r===0)break}return r===0?t:-1},Jt=(e,t)=>{if(t<0||!e[t]||pi(e[t])>=0)return t;let r=0;while(t>=0){if(Z.on)Z.n++;let n=e[t];if(n.kind==="TERMINATOR"||n.kind==="INDENT"||n.kind==="OUTDENT")return-1;if(r+=pi(n),t--,r===0)break}return r===0?t:-1},Zt=(e,t)=>{let r=Jt(e,t-1);if(r<0||e[r]?.kind!=="IDENTIFIER")return!1;let n=e[r-1];if(!(n?.kind==="IDENTIFIER"&&n.value==="type"))return!1;return Z1(e,r-2)},pi=(e)=>e.kind==="COMPARE"&&e.value==="<"?1:e.kind==="COMPARE"&&e.value===">"?-1:e.kind==="SHIFT"&&e.value===">>"?-2:e.kind==="SHIFT"&&e.value===">>>"?-3:0,J1=(e,t)=>{let r=e[t];if(!r||r.kind!=="IDENTIFIER"&&r.kind!=="PROPERTY")return!1;if(e[t-1]?.kind==="DEF")return!0;return r.kind==="PROPERTY"&&e[t-1]?.kind==="@"&&e[t-2]?.kind==="DEF"},Ll=(e,t)=>{let r=e[t-1];if(!r)return!1;if(r.kind===")"||r.kind==="CALL_END"||r.kind==="PARAM_END")return!0;if(r.kind==="IDENTIFIER"||r.kind==="PROPERTY"){if(J1(e,t-1))return!0;let n=e[t-2]?.kind==="@"?t-3:t-2;if(Z1(e,n))return!0}if(r.kind==="VOID_MARKER"&&J1(e,t-2))return!0;return null},us=(e)=>e.kind==="TERMINATOR"||e.kind==="INDENT"||e.kind==="OUTDENT",Ml=(e,t)=>{if(t.upTo>e.length||t.upTo>0&&e[t.upTo-1]!==t.ref){t.answers.clear(),t.level=0;let r=e.length-1;while(r>=0&&!us(e[r])){if(Z.on)Z.n++;r--}t.upTo=r+1}for(let r=t.upTo;r{let n=e[e.length-1];if(!n)return!1;if(!(n.kind==="COMPARE"&&n.value===">"||n.kind==="SHIFT"&&(n.value===">>"||n.value===">>>")))return!1;if(t)return!0;return Ml(e,r),r.answers.get(r.level)??!1},zt=(e,t)=>{let r=0,n=!1;for(let i=t+1;i")return-1;if(s==="=>")n=!0;else if(s==="="||s==="REACTIVE_ASSIGN"||s==="COMPUTED_ASSIGN"||s==="READONLY_ASSIGN"||s==="GATE"||s==="EFFECT"){if(!n||mi(e,t+1,i))return i}}}return-1},jl=(e)=>{let t=[new Map],r=Array(e.length),n=[{id:0,up:null}],i=0;for(let s=0;s"||l==="=>";n.push({id:o,up:c?null:n[n.length-1]})}else if(a==="OUTDENT"){if(n.length>1)n.pop()}else if(ae.has(a))i++;else if(oe.has(a))i--;else if(i===0&&(a==="IDENTIFIER"||a==="PROPERTY")&&e[s+1]?.kind==="=")for(let o=n[n.length-1];o;o=o.up){if(Z.on)Z.n++;t[o.id].set(e[s].value,s)}}return{blockMaps:t,blockIdAt:r}},Fl=(e,t)=>{let r=0;for(;t"||n==="=>")return!0;if(n==="TERMINATOR"||n==="INDENT"||n==="OUTDENT")return!1}}return!1},Bl=(e,t)=>{let r=0;for(let n=t+1;n{let n=0;for(let i=t;i{let r=0;for(let n=t;n","=>","DO","DO_IIFE","TRY","LOOP"]),Hl=new Set(["IF","UNLESS","SWITCH","WHILE","UNTIL","FOR","CLASS"]),Gl=new Set(["->","=>","THEN","ELSE"]),Kl=new Set(["TERMINATOR","INDENT","OUTDENT","THEN","ELSE","IF","UNLESS","POST_IF","POST_UNLESS","WHILE","UNTIL","LOOP","FOR","WHEN","BY","SWITCH","RETURN","THROW",",","=","COMPOUND_ASSIGN","&&","||","??","TERNARY","?",":","RELATION","+","-","MATH","**","SHIFT","&","|","^","STRING_START","STRING_END","INTERPOLATION_START","INTERPOLATION_END"]),Yl=new Map([["yes","true"],["no","false"],["on","true"],["off","false"],["true","true"],["false","false"],["null","null"],["undefined","undefined"],["this","this"]]);function Qt(e,t,r,n){let i=[],s=[],a=new WeakSet,o=()=>s[s.length-1]??null,l=!1,c=[],f=()=>c.length>0&&!!c[c.length-1],h=()=>c[c.length-1]??!1,u=(A)=>{let P=Yl.get(A.value);if(P===void 0)return;n(`'${A.value}' cannot name a binding — every read of '${A.value}' lowers to \`${P}\`, so the binding would be unreachable`,A.start,A.end)},d=-1,p=0,m=!1,g=!1,b=null,S=(A,P)=>(b??=jl(e),(b.blockMaps[b.blockIdAt[A]].get(P)??-1)>=A),w=null,R=(A)=>{let P=[],v=A,V=!0,H=-1;for(;;){if(Z.on)Z.n++;let F=Bl(e,v);if(F<0){if(zt(e,v)>=0)break;P.push({colon:v,shaped:!1,assigned:!1}),V=!1,H=-1;break}if(Vl(e,v+1,F)){P.push({colon:v,shaped:!1,assigned:!1}),V=!1,H=-1;break}P.push({colon:v,shaped:F>v+1&&mi(e,v+1,F),assigned:S(F+1,e[v-1].value)}),H=F;let J=e[F+1];if(J&&(J.kind==="IDENTIFIER"||J.kind==="PROPERTY")&&e[F+2]?.kind===":"){v=F+2;continue}break}let G=H>=0?e[H+1]:null,T=V&&G!=null&&G.kind!=="OUTDENT",N=T&&P.every((F)=>F.shaped&&F.assigned);if(!N&&T&&P.some((F)=>F.shaped)&&P.some((F)=>F.assigned)){let F=P.find((e1)=>!(e1.shaped&&e1.assigned)),J=e[F.colon-1],x=F.shaped?`'${J.value}' is never assigned in this block`:`the value after '${J.value}:' is not a type`;n("these adjacent 'name:' lines are ambiguous — with every line a type and every "+`name assigned later they would all claim as typed forward declarations, but ${x}; for typed forwards, assign every name in this block or add an initializer ('${J.value}: T = value'); for an implicit object, parenthesize the literal or assign it to a target`,J.start)}w??=new Map;for(let F of P)w.set(F.colon,N);return N},k=(A,P,v,V,H)=>({id:t(),kind:A,value:P,start:v,end:V,spaced:H.spaced,newLine:H.newLine,generated:!1,origin:null}),j=(A,P,v,V)=>{if(e[v]?.kind===":")n("type annotations use a single ':' (e.g. `x: number`), not '::'",P.start,e[v].end);let H=hs(e,v,V,n);if(H.parts.length===0)return-1;for(let G=v;G R) => body`, not `(x): (a: T) => R => body`",e[v].start);return i.push(k(A,Cl(H.parts),P.start,H.end,P)),v+H.consumed-1},M=(A)=>{let P=A+1;if(e[P]?.kind!=="IDENTIFIER")return-1;if(P++,P=Yt(e,P),P<0)return-1;if(e[P]?.kind!=="=")return-1;if(P++,e[P]?.kind==="INDENT"){let H=ds(e,P);return di(e,P+1,H,n,{methods:!0}),H}let v=hs(e,P,{alias:!0},n);if(v.parts.length===0)n("a type alias needs a type after '='",e[P-1].end);di(e,P,P+v.consumed,n);let V=e[P+v.consumed];if(V&&V.kind!=="TERMINATOR"&&V.kind!=="OUTDENT")n(`a type alias must fill its line — unexpected '${V.value}' after the type`,V.start);return P+v.consumed-1},L=(A)=>{let P=A+1;if(e[P]?.kind!=="IDENTIFIER")return-1;if(P++,P=Yt(e,P),P===-1)return-1;if(e[P]?.kind==="EXTENDS"){if(e[P+1]?.kind!=="IDENTIFIER")return-1;if(P+=2,P=Yt(e,P),P===-1)return-1}if(e[P]?.kind!=="INDENT")return-1;let v=ds(e,P);return di(e,P+1,v,n,{methods:!0}),v};for(let A=0;A=0){let G=V?.kind==="EXPORT"?i.pop():P,T=e[H].end;i.push(k("TYPE_DECL",r.slice(G.start,T).replace(/\r\n/g,` +`),G.start,T,P)),A=H;continue}}if(Xt(P)&&V&&V.kind!=="."&&V.kind!=="?."&&ps.has(V.kind)&&e[A+1]&&(_l.has(e[A+1].kind)||e[A+1].kind==="+"&&e[A+2]?.kind==="NUMBER")){let H=j(ms.get(P.value),P,A+1,{cast:!0});if(H<0)n(`'${P.value}' takes a type — \`x ${P.value} T\``,P.start,P.end);if(H>=0){A=H;let G=e[A+1],T=i[i.length-1];if(G&&G.newLine&&G.kind!=="TERMINATOR"&&G.kind!=="INDENT"&&G.kind!=="OUTDENT"&&!Xt(G)){let N=r.slice(T.end,G.start),F=N.indexOf(` +`);if(F>=0){let J=N[F-1]==="\r",x=T.end+F-(J?1:0),e1=J?2:1;i.push({id:t(),kind:"TERMINATOR",value:r.slice(x,x+e1),start:x,end:x+e1,spaced:!1,newLine:!1,generated:!0,origin:null})}}continue}}if(v==="COMPARE"&&P.value==="<"&&!P.spaced&&V&&(V.kind==="IDENTIFIER"||J1(i,i.length-1))){let H=i[i.length-2]??null,G=Yt(e,A);if(G>A){let T=G-1,N=e[T+1]?.kind,F=H?.kind==="DEF"||J1(i,i.length-1),J=N==="="&&e[T+2]?.kind==="COMPONENT";if(F||J){if(F&&N==="("){let x=0;for(let e1=T+1;e1=0){A=U;continue}}if(V.kind==="CALL_END"&&a.has(V)){let U=j("TYPE",P,A+1,{});if(U>=0){A=U;continue}}if(J1(i,i.length-1)){let U=j("TYPE",P,A+1,{});if(U>=0){if(V.kind==="PROPERTY"&&G?.kind==="DEF")u(V),V.kind="IDENTIFIER";A=U;continue}}if(V.kind==="TYPE_PARAMS"&&J1(i,i.length-2)){let U=j("TYPE",P,A+1,{});if(U>=0){A=U;continue}}if(V.kind==="VOID_MARKER"&&J1(i,i.length-2)){let U=j("TYPE",P,A+1,{});if(U>=0){A=U;continue}}if(s.length===0&&(V.kind==="PROPERTY"||V.kind==="IDENTIFIER")&&G?.kind==="CATCH"){let U=j("TYPE",P,A+1,{stopAtThen:!0});if(U>=0){if(V.kind==="PROPERTY")u(V),V.kind="IDENTIFIER";A=U;continue}}if(H&&(H.kind==="param"||H.kind==="defparam")&&!H.sawEq&&!H.sawType&&H.bodyDepth===0&&!H.inlineBody){let U=V.kind==="PROPERTY"||V.kind==="IDENTIFIER",i1=V.kind==="}"||V.kind==="]",q=V.kind==="?"&&(G?.kind==="PROPERTY"||G?.kind==="IDENTIFIER");if(U||i1||q){let s1=j("TYPE",P,A+1,{});if(s1>=0){if(q){if(V.kind="OPT_MARKER",G.kind==="PROPERTY")G.kind="IDENTIFIER"}else if(V.kind==="PROPERTY"&&e[A-2]?.kind!=="@")u(V),V.kind="IDENTIFIER";H.sawType=!0,A=s1;continue}}}let T=V.kind==="OPT_MARKER"?1:0,N=T?i[i.length-2]??null:V,F=(i[i.length-2-T]??null)?.kind==="@",J=i.length-(F?3:2)-T,x=N!==null&&(N.kind==="PROPERTY"||N.kind==="IDENTIFIER")&&Z1(i,J),e1=N!==null&&N.kind==="STRING"&&Z1(i,J);if(s.length===0&&x&&!F)g=!0;if(s.length===0&&V.kind==="PROPERTY"&&i[i.length-2]?.kind==="."&&i[i.length-3]?.kind==="PROPERTY"&&i[i.length-3].value==="prototype"&&i[i.length-4]?.kind==="?."&&i[i.length-5]?.kind==="IDENTIFIER"&&Z1(i,i.length-6)&&zt(e,A)>=0)n("an annotated prototype member requires the unconditional chain (`X::m: T = v`) — "+"the soak form cannot carry the annotation",P.start,P.end);if(s.length===0&&V.kind==="PROPERTY"&&i[i.length-2]?.kind==="."&&i[i.length-3]?.kind==="PROPERTY"&&i[i.length-3].value==="prototype"&&i[i.length-4]?.kind==="."&&i[i.length-5]?.kind==="IDENTIFIER"&&Z1(i,i.length-6)&&zt(e,A)>=0){let U=j("TYPE",P,A+1,{});if(U>=0){A=U;continue}}if(s.length===0&&(x||e1)&&zt(e,A)>=0){let U=j("TYPE",P,A+1,{});if(U>=0){if(N.kind==="PROPERTY"&&!F){if(h()!=="class")u(N);N.kind="IDENTIFIER"}g=!1,A=U;continue}}if(s.length===0&&f()&&x&&!Fl(e,A+1)){let U=-1,i1=0;for(let q=A+1;qA+1&&mi(e,A+1,U)){let q=j("TYPE",P,A+1,{});if(q>=0){if(N.kind==="PROPERTY"&&!F){if(h()==="component")u(N);N.kind="IDENTIFIER"}A=q;continue}}}if(s.length===0&&!f()&&x&&!F&&!T){let U=w?.get(A);if(U!==void 0?U:!m&&R(A)){let q=j("TYPE",P,A+1,{});if(q>=0){if(V.kind==="PROPERTY")u(V),V.kind="IDENTIFIER";g=!1,A=q;continue}}}}if(ae.has(v))p++;else if(oe.has(v)){if(p--,d>=0&&p=0&&p===d){if(v==="COMPARE"&&P.value==="<")n("class generics are not supported — the class head's '<' parses as a comparison "+"and the statement miscompiles silently (`class Box` compiles to "+"`(class Box {} < T) && …`); remove the generic list",P.start);if(Kl.has(v))d=-1}if(v==="CLASS"||v==="COMPONENT")l=v==="CLASS"?"class":"component";else if(v==="THEN")l=!1;else if(v==="INDENT")c.push(l),l=!1;else if(v==="OUTDENT")c.pop();else if(v==="TERMINATOR")l=!1;if(s.length===0){if(v==="TERMINATOR")m=g,g=!1;else if(v==="INDENT"||v==="OUTDENT")m=!1,g=!1}if(ae.has(v)){let H="other";if(v==="PARAM_START")H="param";else if(v==="CALL_START"&&J1(i,i.length-1))H="defparam";else if(v==="CALL_START"&&V?.kind==="TYPE_PARAMS"&&J1(i,i.length-2))H="defparam";else if(v==="CALL_START"&&V?.kind==="VOID_MARKER"&&J1(i,i.length-2))H="defparam";s.push({kind:H,sawEq:!1,sawType:!1,bodyDepth:0,pendingImmediate:!1,pendingCond:!1,inlineBody:!1})}else if(oe.has(v)){if(s.pop()?.kind==="defparam"&&v==="CALL_END")a.add(P)}else{let H=o();if(H&&(H.kind==="param"||H.kind==="defparam")){let G=()=>{H.sawEq=!1,H.sawType=!1,H.pendingImmediate=!1,H.pendingCond=!1,H.inlineBody=!1};if(H.bodyDepth>0){if(v==="INDENT")H.bodyDepth++;else if(v==="OUTDENT")H.bodyDepth--}else if(v==="INDENT")if(H.pendingImmediate||H.pendingCond)H.bodyDepth=1,H.pendingImmediate=!1,H.pendingCond=!1,H.inlineBody=!1;else G();else if(v===","||v==="OUTDENT")G();else if(v==="TERMINATOR")if(H.inlineBody&&P.value===";")H.pendingImmediate=!1,H.pendingCond=!1;else G();else{if(H.pendingImmediate=Wl.has(v),Hl.has(v)&&V?.kind==="=")H.pendingCond=!0;else if(v==="THEN")H.pendingCond=!1;if(Gl.has(v))H.inlineBody=!0;if(v==="=")H.sawEq=!0}}}i.push(P)}e.length=i.length;for(let A=0;A"&&r!=="=>")continue;let n=t-1,i=e[n];if(!i)continue;if(i.kind==="DO"){i.kind="DO_IIFE";continue}if(i.kind!==")"){let a=0,o=-1;for(let l=t-1;l>=0;l--){if(Z.on)Z.n++;let c=e[l],f=c.kind;if(f===")"||f==="]"||f==="}"||f==="PICK_END"||f==="CALL_END"||f==="PARAM_END"||f==="INDEX_END"||f==="COMPARE"&&c.value===">")a++;else if(f==="("||f==="["||f==="{"||f==="PICK_START"||f==="OPTPICK_START"||f==="CALL_START"||f==="PARAM_START"||f==="INDEX_START"||f==="COMPARE"&&c.value==="<")a--;else if(f==="SHIFT"&&c.value===">>")a+=2;else if(f==="SHIFT"&&c.value===">>>")a+=3;else if(a===0){if(f===":"){if(e[l-1]?.kind===")")o=l-1;break}if(f==="TERMINATOR"||f==="INDENT"||f==="OUTDENT"||f==="="||f==="->"||f==="=>")break}}if(o<0)continue;n=o,i=e[n]}else{let a=0,o=-1;for(let l=t-1;l>=0;l--){if(Z.on)Z.n++;let c=e[l].kind;if(c===")"||c==="CALL_END"||c==="PARAM_END")a++;else if(c==="("||c==="CALL_START"||c==="PARAM_START"){if(--a===0){o=l;break}}}if(o>1&&e[o-1].kind===":"&&e[o-2]?.kind===")")n=o-2,i=e[n]}let s=0;for(let a=n-1;a>=0;a--){if(Z.on)Z.n++;let o=e[a];if(o.kind===")"||o.kind==="CALL_END"||o.kind==="INDEX_END"||o.kind==="]")s++;else if(o.kind==="("||o.kind==="CALL_START"||o.kind==="INDEX_START"||o.kind==="["){if(s>0){s--;continue}if(o.kind==="("){if(o.kind="PARAM_START",i.kind="PARAM_END",e[a-1]?.kind==="DO")e[a-1].kind="DO_IIFE"}break}}}return e}function ql(e){let t=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START","INDENT"]),r=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END","OUTDENT"]),n=[0];for(let i=0;i0)n[a]--}else if(s==="INDEX_START"&&n[n.length-1]===0){let a=1,o=i;while(++o0){if(Z.on)Z.n++;if(t.has(e[o].kind))a++;else if(r.has(e[o].kind))a--}if(a===0&&e[o]?.kind===":")e[i].kind="[",e[o-1].kind="]"}if(t.has(e[i].kind))n.push(0);else if(r.has(e[i].kind))n.pop()}return e}var Xl=new Set(["STRING","STRING_END","REGEX","HEREGEX_END","NUMBER","BOOL","NULL","UNDEFINED","]","}","SYMBOL"]);function Jl(e){let t=0;for(let r=0;r0&&(n==="->"||n==="=>")&&r>0&&(Xl.has(e[r-1].kind)||e[r-1].kind==="IDENTIFIER"&&(e[r-1].value==="Infinity"||e[r-1].value==="NaN")))e.splice(r,0,{kind:",",value:",",start:e[r].start,end:e[r].start}),r++}return e}function Zl(e){let t=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START","INDENT"]),r=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END","OUTDENT"]),n=(s)=>s!==void 0&&(s.kind==="IDENTIFIER"||s.kind==="PROPERTY"),i=[0];for(let s=0;s0)i[o]--}else if(n(e[s])&&i[i.length-1]===0&&e[s-1]?.kind!=="."&&e[s-1]?.kind!=="?."&&e[s-1]?.kind!=="@"){let o=s;for(;;){if(Z.on)Z.n++;let l=e[o+1],c=e[o+2];if(l===void 0||!n(c))break;if(l.kind==="."){o+=2;continue}if(l.kind==="-"&&l.start===e[o].end&&c.start===l.end){o+=2;continue}break}if(o>s&&e[o+1]?.kind===":"){let l="";for(let f=s;f<=o;f++)l+=e[f].value;let c={...e[s],kind:"STRING",value:JSON.stringify(l),end:e[o].end};e.splice(s,o-s+1,c)}}if(t.has(e[s].kind))i.push(0);else if(r.has(e[s].kind))i.pop()}return e}function Ql(e){for(let t=0;t>>=":"COMPOUND_ASSIGN"},Es={"**=":"COMPOUND_ASSIGN","&&=":"COMPOUND_ASSIGN","||=":"COMPOUND_ASSIGN","??=":"COMPOUND_ASSIGN","<<=":"COMPOUND_ASSIGN",">>=":"COMPOUND_ASSIGN","//=":"COMPOUND_ASSIGN","%%=":"COMPOUND_ASSIGN",">>>":"SHIFT","...":"...","<=>":"BIND"},ks={"==":"COMPARE","!=":"COMPARE","<=":"COMPARE",">=":"COMPARE","**":"**","&&":"&&","||":"||","??":"??","..":"..","+=":"COMPOUND_ASSIGN","-=":"COMPOUND_ASSIGN","*=":"COMPOUND_ASSIGN","/=":"COMPOUND_ASSIGN","%=":"COMPOUND_ASSIGN","&=":"COMPOUND_ASSIGN","^=":"COMPOUND_ASSIGN","|=":"COMPOUND_ASSIGN",":=":"REACTIVE_ASSIGN","~=":"COMPUTED_ASSIGN","<~":"GATE","=!":"READONLY_ASSIGN","<<":"SHIFT",">>":"SHIFT","//":"MATH","%%":"MATH","~>":"EFFECT","!>":"!>","=~":"MATCH","->":"->","=>":"=>","++":"++","--":"--","?.":"?.",".=":"METHOD_ASSIGN","*{":"MAP_START"},e3=new Set([".","?.","UNARY","NEW","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","??","TERNARY","EXTENDS"]),tr=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","NUMBER","STRING","]","INDEX_END","SUPER","DAMMIT","MAYBE_DAMMIT","DYNAMIC_IMPORT"]),at=new Set([...tr,"BOOL","NULL","UNDEFINED","}","PICK_END","STRING_END","REGEX","HEREGEX_END","THIS","@"]);function t3(e,t){let r=t;while(r=e.length||r3.test(e[r+1])))r++;return r}var r3=/[\s,)\]};:]/,bi=/[0-9]/,i3=/^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,n3=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,s3=/^\w*/,Ts=/^(?!.*(.).*\1)[gimsuy]*$/,a3=new Set([...at,"++","--"]);function o3(e,t="",{tolerant:r=!1}={}){Tn();let n=new ge(e,t),i=[],s=[],a=[],o=[""],l=[],c=0,f=0,h=!0,u=-1,d=!1,p=!1,m=null,g=(_)=>_?.kind==="{"||_?.kind===","||(_?.kind==="INDENT"||_?.kind==="TERMINATOR")&&l.length>0,b=(_)=>Boolean(er[_]&&_!=="own")||ys.has(_)||bs.has(_)||Boolean(gi[_])||_==="in"||_==="of"||_==="when"||_==="import"||_==="export",S=(_,z)=>w&&g(_)&&/^[^\S\n]+as[^\S\n]/.test(z)||R&&_?.kind==="AS",w=!1,R=!1,k=!1,j=0,M=0,L=[],A=(_,z,X=z)=>{let{line:t1,col:C}=n.lineColAt(z),K=Error(`${t}:${t1+1}:${C+1}: ${_}`);throw K.reason=_,K.start=z,K.end=X,K},P=(_,z,X=z)=>{try{A(_,z,X)}catch(t1){throw t1.openAtEnd=!0,t1}},v=(_,z,X,t1,C={})=>{if((_==="STRING"||_==="STRING_START")&&(w||R)){let a1=i[i.length-1];if(a1?.kind==="IDENTIFIER"&&a1.value==="from")a1.kind="FROM"}if(_==="IDENTIFIER"&&z==="from"&&i[i.length-1]?.kind==="YIELD")_="FROM";if(_==="IDENTIFIER"&&z==="from"&&i[i.length-1]?.kind==="IDENTIFIER"&&i[i.length-2]?.kind==="ACCEPT")_="FROM";if(_==="RELATION"){let a1=i[i.length-1];if(a1?.kind==="UNARY"&&a1.value==="!")i.pop(),z="!"+z,X=a1.start}let K={id:M++,kind:_,value:z,start:X,end:t1,spaced:d,newLine:p,generated:!1,origin:null,...C};if(i.push(K),!K.generated&&L.length>0){for(let a1 of L)a1.origin=K.id;L.length=0}d=!1,p=!1},V=(_,z)=>{let X={id:M++,kind:_,value:_,start:z,end:z,spaced:!1,newLine:!1,generated:!0,origin:null};L.push(X),i.push(X)},H=()=>i[i.length-1]??null,G=()=>{let _=i.length-1;while(_>=2&&i[_].kind==="."&&i[_-1].kind==="PROPERTY"&&i[_-2].kind===".")_-=2;let z=i[_-1];if(!z||z.kind==="INDENT"||z.kind==="TERMINATOR"||z.kind==="OUTDENT"||z.kind==="RENDER")return!0;return z.kind==="IDENTIFIER"&&Ie.has(String(z.value).split("#")[0])},T=()=>{let _=0,z=0;for(let X=i.length-1;X>=0;X--){let t1=i[X].kind;if(t1==="OUTDENT")_++;else if(t1==="INDENT"){if(_--,_=0;C--){let K=i[C].kind;if(K==="TERMINATOR"||K==="INDENT"||K==="OUTDENT")break;if(K==="COMPONENT")return!0}}}}return!1},N=()=>{if(!l[l.length-1]?.pickKeys)return!1;let z=H()?.kind;return z==="PICK_START"||z==="OPTPICK_START"||z===","||z===":"||z==="TERMINATOR"||z==="INDENT"||z==="OUTDENT"},F=(_,z)=>{let X=c;while(c=e.length)P("unterminated string",z);let t1=e.slice(X,c);return c+=_.length,t1},J=(_)=>_.replace(/\\[\s\S]|`|\$\{/g,(z)=>z[0]==="\\"?z:`\\${z}`),x=(_)=>{let z=null,X=/\n+([^\S\n]*)(?=\S)/g,t1;while(t1=X.exec(_))if(z===null||t1[1].length>0&&t1[1].length{if(z===null)return _??"";if(_===null)return z;return z.length<=_.length?z:_},U=(_,z)=>{if(z.length===1)return _;if(_=_.replace(/\r\n?/g,` `),!_.includes(` `))return _;let X=_.slice(_.lastIndexOf(` -`)+1),t1=/^[^\S\n]*$/.test(X)?X:null,C=Q(x(_),t1),K=C?_.split(` +`)+1),t1=/^[^\S\n]*$/.test(X)?X:null,C=e1(x(_),t1),K=C?_.split(` ${C}`).join(` -`):_;return K=K.replace(/^\n/,""),K.replace(/\n[^\S\n]*$/,"")},r1=(_)=>{let Y=c,X=-1;while(c=e.length)P("unterminated string",_.opener);let t1=e.slice(Y,X===-1?c:X);if(X===-1&&!_.started){let C=c+_.delim.length,K=U(t1,_.delim),a1=_.delim.length===3?`\`${J(K)}\``:`"${K}"`;v("STRING",a1,_.opener,C),c=C;return}if(!_.started)_.started=!0,v("STRING_START","(",_.opener,_.opener+_.delim.length);if(X===-1){_.chunkIdx.push(i.length),v("STRING",`"${t1}"`,Y,c);let C=c+_.delim.length;if(v("STRING_END",")",c,C),c=C,_.delim.length===3)q(_);return}_.chunkIdx.push(i.length),v("STRING",`"${t1}"`,Y,X),v("INTERPOLATION_START","(",X,X+2),O("interp",X,{ctx:_}),c=X+2},q=(_)=>{let Y=i[i.length-1],X=Y.start-1,t1=X<0?-1:Math.max(e.lastIndexOf(` -`,X),e.lastIndexOf("\r",X)),C=e.slice(t1+1,Y.start),K=/^[^\S\n]*$/.test(C)?C:null,a1=_.chunkIdx.map((y1)=>i[y1].value.slice(1,-1).replace(/\r\n?/g,` -`)),E1=Q(x(a1.join("")),K);_.chunkIdx.forEach((y1,S1)=>{let _1=a1[S1];if(E1)_1=_1.split(` +`):_;return K=K.replace(/^\n/,""),K.replace(/\n[^\S\n]*$/,"")},i1=(_)=>{let z=c,X=-1;while(c=e.length)P("unterminated string",_.opener);let t1=e.slice(z,X===-1?c:X);if(X===-1&&!_.started){let C=c+_.delim.length,K=U(t1,_.delim),a1=_.delim.length===3?`\`${J(K)}\``:`"${K}"`;v("STRING",a1,_.opener,C),c=C;return}if(!_.started)_.started=!0,v("STRING_START","(",_.opener,_.opener+_.delim.length);if(X===-1){_.chunkIdx.push(i.length),v("STRING",`"${t1}"`,z,c);let C=c+_.delim.length;if(v("STRING_END",")",c,C),c=C,_.delim.length===3)q(_);return}_.chunkIdx.push(i.length),v("STRING",`"${t1}"`,z,X),v("INTERPOLATION_START","(",X,X+2),O("interp",X,{ctx:_}),c=X+2},q=(_)=>{let z=i[i.length-1],X=z.start-1,t1=X<0?-1:Math.max(e.lastIndexOf(` +`,X),e.lastIndexOf("\r",X)),C=e.slice(t1+1,z.start),K=/^[^\S\n]*$/.test(C)?C:null,a1=_.chunkIdx.map((y1)=>i[y1].value.slice(1,-1).replace(/\r\n?/g,` +`)),E1=e1(x(a1.join("")),K);_.chunkIdx.forEach((y1,S1)=>{let _1=a1[S1];if(E1)_1=_1.split(` ${E1}`).join(` -`);if(S1===0)_1=_1.replace(/^\n/,"");if(S1===_.chunkIdx.length-1)_1=_1.replace(/\n[^\S\n]*$/,"");i[y1].value=`"${_1}"`})},s1=(_)=>{let Y=c,X="",t1=-1;while(c=e.length)break;X+=e.slice(c,c+2),c+=2;continue}if(C==="#"&&e[c+1]==="{"){t1=c;break}if(_.inClass){if(C===` +`);if(S1===0)_1=_1.replace(/^\n/,"");if(S1===_.chunkIdx.length-1)_1=_1.replace(/\n[^\S\n]*$/,"");i[y1].value=`"${_1}"`})},s1=(_)=>{let z=c,X="",t1=-1;while(c=e.length)break;X+=e.slice(c,c+2),c+=2;continue}if(C==="#"&&e[c+1]==="{"){t1=c;break}if(_.inClass){if(C===` `||C==="\r")A("newline inside a heregex character class (a regex literal cannot contain one)",c);if(C==="]")_.inClass=!1;X+=C,c++;continue}if(C==="["){_.inClass=!0,X+=C,c++;continue}if(/\s/.test(C)){while(c{let{out:Y,chunkStart:X,interpAt:t1}=s1(_);if(t1>=0){if(!_.started)_.started=!0,v("HEREGEX_START","///",_.opener,_.opener+3);v("STRING",`"${Y}"`,X,t1),v("INTERPOLATION_START","(",t1,t1+2),O("interp",t1,{ctx:_,heregex:!0}),c=t1+2;return}if(!e.startsWith("///",c))P("missing /// (unclosed heregex)",_.opener);let C=c;c+=3;let K=/^\w*/.exec(e.slice(c))[0];if(!Ts.test(K))A(`invalid regular expression flags ${K}`,c);let a1=c+K.length;if(!_.started)v("REGEX",`/${Y===""?"(?:)":Y}/${K}`,_.opener,a1);else v("STRING",`"${Y}"`,X,C),v("HEREGEX_END",K,C,a1);c=a1},c1=()=>{for(let _=i.length-1;_>=0;_--)if(!i[_].generated)return i[_].end;return 0},O=(_,Y,X={})=>{l.push({kind:_,at:Y,depth:o.length,...X})},D=null,H={upTo:0,ref:null,level:0,answers:new Map},z=()=>D!==null&&o.length>=D,i1=()=>{for(let _=i.length-1;_>=0;_--){let Y=i[_].kind;if(Y==="TERMINATOR"||Y==="INDENT"||Y==="OUTDENT")return!1;if(Y==="=")return Zt(i,_)}return!1},e1=()=>{if(D!==null&&o.length{let _=i.length;if(i[_-1]?.kind==="=")return Zt(i,_-1);let Y=(t1)=>i[t1]?.kind==="RESERVED"&&i[t1].value==="interface",X=Jt(i,_-1);if(X<0||i[X]?.kind!=="IDENTIFIER")return!1;if(Y(X-1))return Z1(i,X-2);if(i[X-1]?.kind==="EXTENDS"){let t1=Jt(i,X-2);if(t1>=0&&i[t1]?.kind==="IDENTIFIER"&&Y(t1-1))return Z1(i,t1-2)}return!1},f1=(_)=>e[_]===` -`||e[_]==="\r",h1=(_)=>{let Y=_+1;while(Y{let Y=_,X=1;while(Y{let Y=e[_],X=_+1;while(X{let _=l.pop();if(!_)return null;while(i.length&&i[i.length-1].kind==="TERMINATOR")i.pop();let Y=c1();while(o.length>_.depth)o.pop(),V("OUTDENT",Y);return e1(),_},d1=(_,Y,X="")=>{let t1=c1(),C=l.length>0?l[l.length-1].depth:1;while(o.length>1&&o[o.length-1].length>_.length){if(o.length<=C)A(`dedent to ${JSON.stringify(_)} crosses the enclosing bracket's indentation floor ${JSON.stringify(o[o.length-1])}`,Y);o.pop(),V("OUTDENT",t1)}if(e1(),o[o.length-1]!==_)A(`inconsistent indentation: ${JSON.stringify(_)} neither extends the enclosing block's ${JSON.stringify(o[o.length-1])} nor matches any open block${X}`,Y)};while(c=e.length)break;let a1=e[c]===` +`)c++;continue}if(C==="/"){X+="\\/",c++;continue}X+=C,c++}return{out:X,chunkStart:z,interpAt:t1}},I=(_)=>{let{out:z,chunkStart:X,interpAt:t1}=s1(_);if(t1>=0){if(!_.started)_.started=!0,v("HEREGEX_START","///",_.opener,_.opener+3);v("STRING",`"${z}"`,X,t1),v("INTERPOLATION_START","(",t1,t1+2),O("interp",t1,{ctx:_,heregex:!0}),c=t1+2;return}if(!e.startsWith("///",c))P("missing /// (unclosed heregex)",_.opener);let C=c;c+=3;let K=/^\w*/.exec(e.slice(c))[0];if(!Ts.test(K))A(`invalid regular expression flags ${K}`,c);let a1=c+K.length;if(!_.started)v("REGEX",`/${z===""?"(?:)":z}/${K}`,_.opener,a1);else v("STRING",`"${z}"`,X,C),v("HEREGEX_END",K,C,a1);c=a1},c1=()=>{for(let _=i.length-1;_>=0;_--)if(!i[_].generated)return i[_].end;return 0},O=(_,z,X={})=>{l.push({kind:_,at:z,depth:o.length,...X})},D=null,W={upTo:0,ref:null,level:0,answers:new Map},Y=()=>D!==null&&o.length>=D,r1=()=>{for(let _=i.length-1;_>=0;_--){let z=i[_].kind;if(z==="TERMINATOR"||z==="INDENT"||z==="OUTDENT")return!1;if(z==="=")return Zt(i,_)}return!1},Q=()=>{if(D!==null&&o.length{let _=i.length;if(i[_-1]?.kind==="=")return Zt(i,_-1);let z=(t1)=>i[t1]?.kind==="RESERVED"&&i[t1].value==="interface",X=Jt(i,_-1);if(X<0||i[X]?.kind!=="IDENTIFIER")return!1;if(z(X-1))return Z1(i,X-2);if(i[X-1]?.kind==="EXTENDS"){let t1=Jt(i,X-2);if(t1>=0&&i[t1]?.kind==="IDENTIFIER"&&z(t1-1))return Z1(i,t1-2)}return!1},f1=(_)=>e[_]===` +`||e[_]==="\r",h1=(_)=>{let z=_+1;while(z{let z=_,X=1;while(z{let z=e[_],X=_+1;while(X{let _=l.pop();if(!_)return null;while(i.length&&i[i.length-1].kind==="TERMINATOR")i.pop();let z=c1();while(o.length>_.depth)o.pop(),V("OUTDENT",z);return Q(),_},d1=(_,z,X="")=>{let t1=c1(),C=l.length>0?l[l.length-1].depth:1;while(o.length>1&&o[o.length-1].length>_.length){if(o.length<=C)A(`dedent to ${JSON.stringify(_)} crosses the enclosing bracket's indentation floor ${JSON.stringify(o[o.length-1])}`,z);o.pop(),V("OUTDENT",t1)}if(Q(),o[o.length-1]!==_)A(`inconsistent indentation: ${JSON.stringify(_)} neither extends the enclosing block's ${JSON.stringify(o[o.length-1])} nor matches any open block${X}`,z)};while(c=e.length)break;let a1=e[c]===` `?1:e[c]==="\r"&&e[c+1]===` `?2:0;if(a1){s.push({kind:"blank",start:C,end:c+a1,text:e.slice(C,c+a1)}),c+=a1;continue}let E1=k&&/^#[A-Za-z_]/.test(e.slice(c,c+2))&&K.length>(o[j-1]??"").length;if(e[c]==="#"&&!E1){let m1=c;if(e.startsWith("###",c)&&e[c+3]!=="#"){let pe=e.indexOf("###",c+3);if(pe<0)P("unclosed `###` block comment — close it with `###`",c,c+3);m1=pe+3;let ve=m1;while(e[ve]===" "||e[ve]==="\t")ve++;if(ve{if(S1==null||S1.kind!=="."&&S1.kind!=="?.")return!1;if(l.length>0)return!1;if(k)return!1;if(K.length>y1.length)return!1;if(!j1.test(e[c]??""))return!1;let m1=c;while(m1=0&&e[w1+1]!=="."&&!bi.test(e[w1+1]??"")&&!k;if(R1&&!v1&&K.lengthe.startsWith(D1,c)&&!G1.test(e[c+D1.length]??""));if(i.length>0&&u>=0&&!m1&&W()?.kind!=="TERMINATOR"){let D1=e[u]==="\r"?2:1;v("TERMINATOR",e.slice(u,u+D1),u,u+D1,{generated:!0})}}if(k&&o.length<=j)k=!1;if(h=!1,p=!0,m!==null&&l.length<=m)m=null;if(l.length===0)w=!1,R=!1;continue}let _=e[c];if(_===" "||_==="\t"){d=!0,c++;continue}if(_==="\r"&&e[c+1]!==` +`))m1++;let D1=m1{if(S1==null||S1.kind!=="."&&S1.kind!=="?.")return!1;if(l.length>0)return!1;if(k)return!1;if(K.length>y1.length)return!1;if(!j1.test(e[c]??""))return!1;let m1=c;while(m1=0&&e[w1+1]!=="."&&!bi.test(e[w1+1]??"")&&!k;if(R1&&!v1&&K.lengthe.startsWith(D1,c)&&!G1.test(e[c+D1.length]??""));if(i.length>0&&u>=0&&!m1&&H()?.kind!=="TERMINATOR"){let D1=e[u]==="\r"?2:1;v("TERMINATOR",e.slice(u,u+D1),u,u+D1,{generated:!0})}}if(k&&o.length<=j)k=!1;if(h=!1,p=!0,m!==null&&l.length<=m)m=null;if(l.length===0)w=!1,R=!1;continue}let _=e[c];if(_===" "||_==="\t"){d=!0,c++;continue}if(_==="\r"&&e[c+1]!==` `)A("bare carriage return (not followed by a newline) is not supported",c);if(_===` -`||_==="\r"){u=c,h=!0,c+=_==="\r"?2:1;continue}if(_==="#"){if(k&&/[A-Za-z_]/.test(e[c+1]??"")){let K=/^#([A-Za-z_][\w-]*)/.exec(e.slice(c)),a1=W();if(a1&&(a1.kind==="IDENTIFIER"||a1.kind==="PROPERTY")&&!d&&!a1.generated){a1.value+=K[0],a1.end=c+K[0].length,c+=K[0].length;continue}if(a1&&(a1.kind==="TERMINATOR"||a1.kind==="INDENT"||a1.kind==="OUTDENT"||a1.kind==="RENDER")){v("IDENTIFIER",`div${K[0]}`,c,c+K[0].length),c+=K[0].length;continue}}let C=c;while(C{let R1=c;while(e[R1]===" "||e[R1]==="\t")R1++;let w1=e[R1]??"";if(w1==="{"||w1==="*")return!0;if(!j1.test(w1))return!1;let p1=R1+1;while(p1{let R1=c;while(e[R1]===" "||e[R1]==="\t")R1++;return e[R1]==="{"})())v("EXPORT_TYPE",K,C,c);else if(K==="type"&&l[l.length-1]?.specifiers===!0&&(()=>{let R1=c;while(e[R1]===" "||e[R1]==="\t")R1++;if(!j1.test(e[R1]??""))return!1;let w1=R1+1;while(w1"}[C]??C,E1=a1!==C,y1=1,S1=c+3;while(S10){let p1=e[S1];if(p1==="\\"){S1+=2;continue}if(E1&&p1===C)y1++;if(p1===a1)y1--;if(y1>0)S1++}if(y1!==0)P(`unclosed %w${C} — never closed by '${a1}'`,c,c+3);v("[","[",c,c+3);let _1=/(?:\\\s|\S)+/g;_1.lastIndex=c+3;let v1,R1=!0,w1=c+3;while((v1=_1.exec(e))!==null&&v1.index=S1)break;_1.lastIndex=p1}v("]","]",S1,S1+1),c=S1+1;continue}}let Y=e.slice(c,c+4);if(Rs[Y]){v(Rs[Y],Y,c,c+4),c+=4;continue}let X=e.slice(c,c+3);if(X==="==="||X==="!=="){v("COMPARE",X.slice(0,2),c,c+3),c+=3;continue}if(Es[X]){v(Es[X],X,c,c+3),c+=3;continue}let t1=e.slice(c,c+2);if(t1==="?="&&e[c+2]!=="="){v("COMPOUND_ASSIGN","??=",c,c+2),c+=2;continue}if(t1==="*{"){v("MAP_START","*",c,c+1),c+=1;continue}if(ks[t1]){if(t1==="!="&&!d&&(W()?.kind==="IDENTIFIER"||W()?.kind==="PROPERTY"))A(`cannot use the '!' sigil in an assignment to '${W().value}' (write 'a != b' with a space for comparison)`,c);v(ks[t1],t1,c,c+2),c+=2;continue}if(_==="<"||_===">"){v("COMPARE",_,c,c+1),c++;continue}if(_==="*"||_==="/"||_==="%"){if(_==="*"&&w&&(W()?.kind==="IMPORT"||W()?.kind==="IMPORT_TYPE"||W()?.kind===","))v("IMPORT_ALL",_,c,c+1);else if(_==="*"&&W()?.kind==="EXPORT")v("EXPORT_ALL",_,c,c+1);else if(_==="*"&&W()?.kind==="YIELD"&&!p)v("FROM",_,c,c+1);else v("MATH",_,c,c+1);c++;continue}if(_==="!"||_==="~"){if(_==="!"&&!d&&(W()?.kind==="IDENTIFIER"||W()?.kind==="PROPERTY"||W()?.kind==="DYNAMIC_IMPORT")){v("DAMMIT","!",c,c+1),c++;continue}v("UNARY_MATH",_,c,c+1),c++;continue}if(_==="&"||_==="|"||_==="^"){v(_,_,c,c+1),c++;continue}if(_==="?"){if(!d){if(e[c+1]==="("||e[c+1]==="["){v("?.","?",c,c+1),c++;continue}let C=W();if(e[c+1]==="!"&&C&&!C.generated&&at.has(C.kind)){if(C.kind!=="IDENTIFIER"&&C.kind!=="PROPERTY")A("maybe dammit '?!' follows a name, as dammit does (`f?!`, `obj.method?!`) — bind the value to a name first",c,c+2);v("MAYBE_DAMMIT","?!",c,c+2),c+=2;continue}if(C&&!C.generated&&at.has(C.kind)){let a1=i[i.length-2]??null,E1=a1===null||a1.kind==="@"||a1.kind==="TERMINATOR"||a1.kind==="INDENT"||a1.kind==="OUTDENT";if((C.kind==="PROPERTY"||C.kind==="IDENTIFIER")&&E1&&/^[^\S\n]*(:=|~=|=!|=(?![=>!])|:(?![:=]))/.test(e.slice(c+1))){v("OPT_MARKER","?",c,c+1),c++;continue}v("?","?",c,c+1),c++;continue}let K=i[i.length-2]??null;if(C&&(C.kind==="-"||C.kind==="+")&&!C.spaced&&(K?.kind==="]"||K?.kind==="INDEX_END")&&e[c+1]===":"){v("?","?",c,c+1),c++;continue}A("unspaced '?' needs a value before it (postfix existence) — write ' ? ' for a ternary",c)}f++,v("TERNARY","?",c,c+1),c++;continue}if(_==="@"){v("@","@",c,c+1),c++;continue}if(_==="("){let C=W();if(C&&!d&&C.kind==="?."){C.kind="ES6_OPTIONAL_CALL",O("call",c),v("CALL_START","(",c,c+1),c++;continue}let K=C&&!d&&!C.generated&&tr.has(C.kind);O(K?"call":"group",c),v(K?"CALL_START":"(","(",c,c+1),c++;continue}if(_===")"){let C=l1();if(C?.kind!=="call"&&C?.kind!=="group")A("unmatched ')'",c);v(C.kind==="call"?"CALL_END":")",")",c,c+1),c++;continue}if(_==="["){let C=W();if(C&&!d&&C.kind==="?."){C.kind="ES6_OPTIONAL_INDEX",O("index",c),v("INDEX_START","[",c,c+1),c++;continue}let K=C&&!d&&!C.generated&&at.has(C.kind);O(K?"index":"array",c),v(K?"INDEX_START":"[","[",c,c+1),c++;continue}if(_==="]"){let C=l1();if(C?.kind!=="index"&&C?.kind!=="array")A("unmatched ']'",c);v(C.kind==="index"?"INDEX_END":"]","]",c,c+1),c++;continue}if(_==="{"){let C=W();if(C!=null&&(C.kind==="."||C.kind==="?.")&&!d&&!C.newLine&&i.length>=2&&at.has(i[i.length-2].kind)&&i[i.length-2].kind!=="PICK_END")i.pop(),O("object",c,{pick:!0,pickKeys:e[c+1]!==" "&&e[c+1]!=="\t"}),v(C.kind==="?."?"OPTPICK_START":"PICK_START","{",c,c+1);else{let a1=C!=null&&(C.kind==="IMPORT"||C.kind==="IMPORT_TYPE"||C.kind==="EXPORT"||C.kind==="EXPORT_TYPE"||w&&C.kind===",");O("object",c,a1?{specifiers:!0}:{}),v("{","{",c,c+1)}c++;continue}if(_==="}"){let C=l1();if(C?.kind==="interp"){if(v("INTERPOLATION_END",")",c,c+1),c++,C.heregex)I(C.ctx);else r1(C.ctx);continue}if(C?.kind!=="object")A("unmatched '}'",c);v(C.pick?"PICK_END":"}","}",c,c+1),c++;continue}if(_===":"&&e[c+1]===":"){if(!z()&&!i1()&&j1.test(e[c+2]??"")){let C=i[i.length-1];if(C?.kind==="?"&&C.end===c)C.kind="?.",C.value="?.",C.end=c+2,v("PROPERTY","prototype",c,c+2),v(".",".",c,c+2);else v(".",".",c,c+2),v("PROPERTY","prototype",c,c+2),v(".",".",c,c+2);c+=2;continue}A("type annotations use a single ':' (e.g. `x: number`), not '::'",c,c+2)}if(_===":"&&j1.test(e[c+1]??"")&&!z()&&!i1()){let C=i[i.length-1];if(!(C!==void 0&&(C.kind==="PROPERTY"||C.kind===")"||C.kind==="]"||C.kind==="}"||C.kind==="CALL_END"||C.kind==="INDEX_END"||C.kind==="PARAM_END"||C.kind==="PICK_END"||C.kind==="STRING"||C.kind==="STRING_END"||C.kind==="NUMBER"||C.kind==="REGEX"||C.kind==="HEREGEX_END"||C.kind==="BOOL"||C.kind==="NULL"||C.kind==="UNDEFINED"||C.kind==="DAMMIT"||C.kind==="?"||C.kind==="MAYBE_DAMMIT"||C.kind==="OPT_MARKER"||C.kind==="THIS"||C.kind==="@"||C.kind==="SYMBOL"||f>0&&C.kind==="IDENTIFIER"))){let a1=t3(e,c+1);v("SYMBOL",e.slice(c+1,a1),c,a1),c=a1;continue}}if(_==="="||_==="+"||_==="-"||_==="."||_===","||_===";"||_===":"){if(_===":"&&f>0)f--;v(_===";"?"TERMINATOR":_,_,c,c+1),c++;continue}if(_==="`"&&(z()||i1())){let C=h1(c);v("TYPE_TEMPLATE",e.slice(c,C),c,C),c=C;continue}A(`cannot tokenize '${_}'`,c)}if(l.length>0){if(!(r&&l.every((X)=>X.kind!=="interp"))){let X=l[0],t1={call:"(",group:"(",index:"[",array:"[",object:"{",interp:"#{"}[X.kind]??X.kind;P(`unclosed '${t1}' — never closed by end of input`,X.at,X.at+t1.length)}let Y=e.length;while(Y>0&&(e[Y-1]===` -`||e[Y-1]==="\r"))Y--;while(l.length>0){let X=l[l.length-1],t1={call:"(",group:"(",index:"[",array:"[",object:"{"}[X.kind]??X.kind;a.push({message:`unclosed '${t1}' — never closed by end of input`,start:X.at,end:X.at+t1.length,expected:[],got:"end of input"});let C=X.kind==="call"?"CALL_END":X.kind==="group"?")":X.kind==="index"?"INDEX_END":X.kind==="array"?"]":X.pick?"PICK_END":"}";l1();let K=i.length;while(K>0&&(i[K-1].kind==="OUTDENT"||i[K-1].kind==="INDENT"||i[K-1].kind==="TERMINATOR"))K--;let a1=i[K-1]?.kind,E1=X.kind==="call"&&a1==="CALL_START"||X.kind==="index"&&a1==="INDEX_START";if(a1===","||E1){let y1={id:M++,kind:"IDENTIFIER",value:"",start:Y,end:Y,spaced:!1,newLine:!1,generated:!0,origin:null};L.push(y1),i.splice(K,0,y1)}V(C,Y)}}let B=c1();while(o.length>1)o.pop(),V("OUTDENT",B);let n1=()=>M++;zl(i),ql(i),Ql(i),Mn(i,n1,e,A,r?(_)=>a.push({message:_.reason??String(_.message),start:_.start??0,end:_.end??_.start??0,expected:[],got:""}):null),Qt(i,n1,e,A);for(let _ of i)if(_.kind==="RESERVED")A(`'${_.value}' is reserved and not supported yet`,_.start);return ts(i,n1,A),Zl(i),Ht(i,n1),yi(i),Gt(i,n1),Kt(i,n1),Jl(i),{tokens:i,trivia:s,source:n,lexDiagnostics:a}}function yi(e){for(let t=0;t"&&o!=="=>"&&o!=="ELSE"&&o!=="TRY"&&o!=="FINALLY"){n=!1;break}}}if(se.has(a))i++;else if(ne.has(a)){if(i--,i<0)break}}if(n)e[t].kind=r==="IF"?"POST_IF":"POST_UNLESS"}return e}function ws(e="",{tolerant:t=!1}={}){return{setInput(r){let n=o3(r,e,{tolerant:t});this.tokens=n.tokens,this.trivia=n.trivia,this.source=n.source,this.lexDiagnostics=n.lexDiagnostics??[],this.index=0,this.text="",this.loc=null,this.token=null},lex(){let r=this.tokens[this.index];if(!r)return null;return this.index++,this.text=r.value,this.loc={start:r.start,end:r.end},this.token=r,r.kind}}}var l3={symbolIds:{$accept:0,$end:1,error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,Statement:8,Return:9,STATEMENT:10,Import:11,Export:12,TypeDecl:13,Enum:14,TYPE_DECL:15,Assignable:16,TYPE:17,OPT_MARKER:18,DEF:19,Identifier:20,OptParams:21,IMPORT:22,String:23,ImportDefaultSpecifier:24,FROM:25,ImportNamespaceSpecifier:26,"{":27,"}":28,ImportSpecifierList:29,OptComma:30,",":31,WITH:32,Object:33,IMPORT_TYPE:34,ImportSpecifier:35,INDENT:36,OUTDENT:37,AS:38,DEFAULT:39,IMPORT_ALL:40,EXPORT:41,ExportSpecifierList:42,Class:43,Def:44,ExportAssign:45,ReactiveAssign:46,ComputedAssign:47,Readonly:48,Effect:49,EXPORT_ALL:50,EXPORT_TYPE:51,"=":52,TYPE_PARAMS:53,VOID_MARKER:54,READONLY_ASSIGN:55,REACTIVE_ASSIGN:56,COMPUTED_ASSIGN:57,Block:58,EFFECT:59,ExportSpecifier:60,Value:61,Code:62,Operation:63,Assign:64,Gate:65,If:66,Try:67,For:68,Switch:69,While:70,Throw:71,Schema:72,Component:73,Render:74,Literal:75,Parenthetical:76,Range:77,Invocation:78,DoIife:79,This:80,Super:81,DAMMIT:82,NewValue:83,TEMPLATE_TAG:84,Atom:85,Regex:86,UNDEFINED:87,NULL:88,BOOL:89,NUMBER:90,SYMBOL:91,STRING:92,STRING_START:93,Interpolations:94,STRING_END:95,InterpolationChunk:96,INTERPOLATION_START:97,INTERPOLATION_END:98,REGEX:99,HEREGEX_START:100,HEREGEX_END:101,IDENTIFIER:102,Property:103,PROPERTY:104,SimpleAssignable:105,COMPOUND_ASSIGN:106,METHOD_ASSIGN:107,Array:108,Rhs:109,BlockRhs:110,GATE:111,CALL_START:112,CALL_END:113,ArgList:114,ThisProperty:115,Subjectable:116,".":117,"?.":118,INDEX_START:119,INDEX_END:120,Slice:121,ES6_OPTIONAL_INDEX:122,PICK_START:123,PickList:124,PICK_END:125,OPTPICK_START:126,IMPORT_META:127,NEW_TARGET:128,NEW:129,NewSpine:130,NewCall:131,Arguments:132,PARAM_START:133,ParamList:134,PARAM_END:135,ArrowKind:136,"->":137,"=>":138,DO_IIFE:139,THIS:140,"@":141,"[":142,"]":143,Elisions:144,ArgElisionList:145,OptElisions:146,ArgElision:147,Arg:148,Elision:149,AssignList:150,MAP_START:151,AssignObj:152,ObjAssignable:153,ObjRestValue:154,":":155,SimpleObjAssignable:156,"...":157,ObjSpreadExpr:158,SUPER:159,DYNAMIC_IMPORT:160,MAYBE_DAMMIT:161,PickItem:162,PickKey:163,RangeDots:164,"..":165,Param:166,TypedParamVar:167,ParamVar:168,Splat:169,ClassName:170,CLASS:171,EXTENDS:172,ENUM:173,SCHEMA:174,SCHEMA_BODY:175,COMPONENT:176,ComponentBlock:177,ComponentBody:178,ComponentLine:179,OFFER:180,ACCEPT:181,RENDER:182,ES6_OPTIONAL_CALL:183,"?":184,"(":185,")":186,RETURN:187,WHILE:188,UNTIL:189,WHEN:190,Loop:191,IfBlock:192,IF:193,IfElseTail:194,ELSE:195,UnlessBlock:196,UNLESS:197,POST_IF:198,POST_UNLESS:199,TRY:200,Catch:201,Finalizer:202,FINALLY:203,CATCH:204,CatchVar:205,THROW:206,SWITCH:207,Cases:208,When:209,LEADING_WHEN:210,SimpleArgs:211,FOR:212,ForVariables:213,FORIN:214,BY:215,FOROF:216,OWN:217,FORAS:218,AWAIT:219,FORASAWAIT:220,ForValue:221,LOOP:222,"--":223,"++":224,CAST:225,SATISFIES:226,TERNARY:227,UNARY:228,DO:229,UNARY_MATH:230,YIELD:231,"-":232,"+":233,"**":234,MATH:235,SHIFT:236,"&":237,"^":238,"|":239,COMPARE:240,MATCH:241,RELATION:242,"&&":243,"||":244,"??":245,THEN:246},tokenNames:{2:"error",6:"newline",10:"break/continue/debugger",15:"type/interface",17:"a type annotation",18:"?",19:"def",22:"import",25:"from",27:"{",28:"}",31:",",32:"with",34:"type",36:"indent",37:"dedent",38:"as",39:"default",40:"*",41:"export",50:"*",51:"type",52:"=",53:"<…>",54:"!",55:"=!",56:":=",57:"~=",59:"~>",82:"!",84:"$",87:"undefined",88:"null",89:"true/false",90:"a number",91:"a :symbol",92:"a string",93:"a string",95:"the closing quote",97:"#{",98:"}",99:"a regex",100:"///",101:"///",102:"a name",104:"a property name",106:"a compound assignment",107:".=",111:"<~",112:"(",113:")",117:".",118:"?.",119:"[",120:"]",122:"?.[",123:".{",125:"}",126:"?.{",127:"import.meta",128:"new.target",129:"new",133:"(",135:")",137:"->",138:"=>",139:"do",140:"this",141:"@",142:"[",143:"]",151:"*{",155:":",157:"...",159:"super",160:"import(",161:"?!",165:"..",171:"class",172:"extends",173:"enum",174:"schema",175:"a schema body",176:"component",180:"offer",181:"accept",182:"render",183:"?.(",184:"?",185:"(",186:")",187:"return",188:"while",189:"until",190:"when",193:"if",195:"else",197:"unless",198:"if",199:"unless",200:"try",203:"finally",204:"catch",206:"throw",207:"switch",210:"when",212:"for",214:"in",215:"by",216:"of",217:"own",218:"as",219:"await",220:"as!",222:"loop",223:"--",224:"++",225:"as",226:"satisfies",227:"?",228:"not/typeof/delete",229:"do",230:"!/~",231:"yield",232:"-",233:"+",234:"**",235:"a math operator",236:"a shift operator",237:"&",238:"^",239:"|",240:"a comparison",241:"=~",242:"in/of/instanceof",243:"&&",244:"||",245:"??",246:"then"},semantics:{"1":{kind:"program",roles:[]},"2":{kind:"program",roles:[{name:"body",grammarRef:1,childSlot:1,spread:!0}]},"14":{kind:"typedecl",roles:[{name:"declaration",grammarRef:1,childSlot:1,spread:!1}]},"15":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"16":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:3,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"17":{kind:"defsig",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"returnType",grammarRef:4,childSlot:3,spread:!1}]},"18":{kind:"import",roles:[{name:"source",grammarRef:2,childSlot:1,spread:!1}]},"19":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"source",grammarRef:4,childSlot:2,spread:!1}]},"20":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"source",grammarRef:4,childSlot:2,spread:!1}]},"21":{kind:"import",roles:[{name:"spec",grammarRef:null,childSlot:1,literal:"{}"},{name:"source",grammarRef:5,childSlot:2,spread:!1}]},"22":{kind:"import",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:7,childSlot:2,spread:!1}]},"23":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"extra",grammarRef:4,childSlot:2,spread:!1},{name:"source",grammarRef:6,childSlot:3,spread:!1}]},"24":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"extra",grammarRef:5,childSlot:2,spread:!1},{name:"source",grammarRef:9,childSlot:3,spread:!1}]},"25":{kind:"import",roles:[{name:"source",grammarRef:2,childSlot:2,spread:!1}],nested:[{role:"attributes",path:[1],kind:"withattrs",roles:[{name:"keyword",grammarRef:3,childSlot:0,spread:!1},{name:"value",grammarRef:4,childSlot:1,spread:!1}],nested:[]}]},"26":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"source",grammarRef:4,childSlot:3,spread:!1}],nested:[{role:"attributes",path:[2],kind:"withattrs",roles:[{name:"keyword",grammarRef:5,childSlot:0,spread:!1},{name:"value",grammarRef:6,childSlot:1,spread:!1}],nested:[]}]},"27":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"source",grammarRef:4,childSlot:3,spread:!1}],nested:[{role:"attributes",path:[2],kind:"withattrs",roles:[{name:"keyword",grammarRef:5,childSlot:0,spread:!1},{name:"value",grammarRef:6,childSlot:1,spread:!1}],nested:[]}]},"28":{kind:"import",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:7,childSlot:3,spread:!1}],nested:[{role:"attributes",path:[2],kind:"withattrs",roles:[{name:"keyword",grammarRef:8,childSlot:0,spread:!1},{name:"value",grammarRef:9,childSlot:1,spread:!1}],nested:[]}]},"29":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"extra",grammarRef:4,childSlot:2,spread:!1},{name:"source",grammarRef:6,childSlot:4,spread:!1}],nested:[{role:"attributes",path:[3],kind:"withattrs",roles:[{name:"keyword",grammarRef:7,childSlot:0,spread:!1},{name:"value",grammarRef:8,childSlot:1,spread:!1}],nested:[]}]},"30":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"extra",grammarRef:5,childSlot:2,spread:!1},{name:"source",grammarRef:9,childSlot:4,spread:!1}],nested:[{role:"attributes",path:[3],kind:"withattrs",roles:[{name:"keyword",grammarRef:10,childSlot:0,spread:!1},{name:"value",grammarRef:11,childSlot:1,spread:!1}],nested:[]}]},"31":{kind:"import",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:5,childSlot:2,spread:!1},{name:"typeOnly",grammarRef:2,childSlot:null,spread:!1}]},"32":{kind:"import",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:5,childSlot:2,spread:!1},{name:"typeOnly",grammarRef:2,childSlot:null,spread:!1}]},"33":{kind:"import",roles:[{name:"spec",grammarRef:null,childSlot:1,literal:"{}"},{name:"source",grammarRef:6,childSlot:2,spread:!1},{name:"typeOnly",grammarRef:2,childSlot:null,spread:!1}]},"34":{kind:"import",roles:[{name:"spec",grammarRef:4,childSlot:1,spread:!1},{name:"source",grammarRef:8,childSlot:2,spread:!1},{name:"typeOnly",grammarRef:2,childSlot:null,spread:!1}]},"41":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"43":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"45":{kind:"as",roles:[{name:"name",grammarRef:null,childSlot:0,literal:"*"},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"46":{kind:"export",roles:[{name:"spec",grammarRef:null,childSlot:1,literal:"{}"}]},"47":{kind:"export",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1}]},"48":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"49":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"50":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"51":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"52":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"53":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"54":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"55":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"56":{kind:"export",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1}]},"57":{kind:"export",roles:[{name:"spec",grammarRef:4,childSlot:1,spread:!1}]},"58":{kind:"export",roles:[{name:"source",grammarRef:4,childSlot:1,spread:!1}]},"59":{kind:"export",roles:[{name:"source",grammarRef:6,childSlot:1,spread:!1},{name:"alias",grammarRef:4,childSlot:2,spread:!1}]},"60":{kind:"export",roles:[{name:"source",grammarRef:6,childSlot:1,spread:!1},{name:"alias",grammarRef:4,childSlot:2,spread:!1}]},"61":{kind:"export",roles:[{name:"spec",grammarRef:null,childSlot:1,literal:"{}"},{name:"source",grammarRef:5,childSlot:2,spread:!1}]},"62":{kind:"export",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:7,childSlot:2,spread:!1}]},"63":{kind:"export",roles:[{name:"spec",grammarRef:4,childSlot:1,spread:!1},{name:"source",grammarRef:8,childSlot:2,spread:!1},{name:"typeOnly",grammarRef:2,childSlot:null,spread:!1}]},"64":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"65":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"66":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"67":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"68":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"69":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"70":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"typeParams",grammarRef:2,childSlot:null,spread:!1}]},"71":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"72":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"73":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"74":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"75":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"76":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"77":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"78":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"79":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"80":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"81":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"82":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"83":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"84":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"85":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"86":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"87":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"88":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"95":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"96":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"98":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"127":{kind:"dammit",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"129":{kind:"tagged",roles:[{name:"tag",grammarRef:1,childSlot:1,spread:!1},{name:"str",grammarRef:3,childSlot:2,spread:!1}]},"137":{kind:"symbol",roles:[{name:"name",grammarRef:1,childSlot:1,spread:!1}]},"139":{kind:"str",roles:[{name:"parts",grammarRef:2,childSlot:1,spread:!0}]},"147":{kind:"heregex",roles:[{name:"flags",grammarRef:3,childSlot:1,spread:!1},{name:"parts",grammarRef:2,childSlot:2,spread:!0}]},"150":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"151":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"152":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"153":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"154":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"155":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"156":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"157":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"158":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"159":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1}]},"160":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:6,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1}]},"161":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:6,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1}]},"162":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"163":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"164":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"typeParams",grammarRef:2,childSlot:null,spread:!1}]},"165":{kind:"assign",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"166":{kind:"assign",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"167":{kind:"assign",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"168":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:".="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"169":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"170":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"171":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"172":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"173":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"174":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"184":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"185":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"186":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"187":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1},{name:"operator",grammarRef:4,childSlot:null,spread:!1}]},"188":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"189":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"190":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"191":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1},{name:"operator",grammarRef:4,childSlot:null,spread:!1}]},"192":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"193":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"194":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"195":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"196":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:3,childSlot:2,spread:!1},{name:"key",grammarRef:5,childSlot:3,spread:!0},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"197":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:4,childSlot:2,spread:!1},{name:"key",grammarRef:6,childSlot:3,spread:!0},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"198":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"199":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"200":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"201":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1},{name:"operator",grammarRef:4,childSlot:null,spread:!1}]},"202":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"203":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"204":{kind:"effect",roles:[{name:"target",grammarRef:null,childSlot:1,literal:null},{name:"value",grammarRef:2,childSlot:2,spread:!1},{name:"operator",grammarRef:1,childSlot:null,spread:!1}]},"207":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"208":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"209":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"210":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"211":{kind:"regexindex",roles:[{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1},{name:"capture",grammarRef:5,childSlot:3,spread:!1}]},"212":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"213":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"214":{kind:"optindex",roles:[{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"215":{kind:"optindex",roles:[{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:5,childSlot:2,spread:!1}]},"216":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:3,childSlot:2,spread:!0}]},"217":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:3,childSlot:2,spread:!0}]},"218":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:4,childSlot:2,spread:!0}]},"219":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:4,childSlot:2,spread:!0}]},"220":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"221":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"222":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"223":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"224":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"225":{kind:"await",roles:[{name:"operator",grammarRef:3,childSlot:null,spread:!1}],nested:[{role:"value",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"new"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"226":{kind:"await",roles:[{name:"operator",grammarRef:3,childSlot:null,spread:!1}],nested:[{role:"value",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"new"}],nested:[{role:"operand",path:[1],kind:"call",roles:[{name:"callee",grammarRef:2,childSlot:0,spread:!1},{name:"args",grammarRef:4,childSlot:1,spread:!0}],nested:[]}]}]},"227":{kind:"call",roles:[{name:"callee",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"233":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"234":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"235":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"236":{kind:"tagged",roles:[{name:"tag",grammarRef:1,childSlot:1,spread:!1},{name:"str",grammarRef:3,childSlot:2,spread:!1}]},"239":{kind:"func",roles:[{name:"kind",grammarRef:4,childSlot:0,spread:!1},{name:"params",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:5,childSlot:2,spread:!1}]},"240":{kind:"func",roles:[{name:"kind",grammarRef:5,childSlot:0,spread:!1},{name:"params",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:6,childSlot:2,spread:!1},{name:"returnType",grammarRef:4,childSlot:null,spread:!1}]},"241":{kind:"func",roles:[{name:"kind",grammarRef:1,childSlot:0,spread:!1},{name:"body",grammarRef:2,childSlot:2,spread:!1}]},"244":{kind:"doiife",roles:[{name:"func",grammarRef:2,childSlot:1,spread:!1}]},"247":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"property",grammarRef:2,childSlot:2,spread:!1}]},"248":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"property",grammarRef:2,childSlot:2,spread:!1}]},"249":{kind:"array",roles:[]},"250":{kind:"array",roles:[{name:"elisions",grammarRef:2,childSlot:1,spread:!0}]},"251":{kind:"array",roles:[{name:"items",grammarRef:2,childSlot:1,spread:!0},{name:"elisions",grammarRef:3,childSlot:null,spread:!0}]},"265":{kind:"object",roles:[{name:"pairs",grammarRef:2,childSlot:1,spread:!0}]},"266":{kind:"map",roles:[{name:"pairs",grammarRef:3,childSlot:1,spread:!0}]},"272":{kind:"pair",roles:[{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:1,childSlot:2,spread:!1}]},"274":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:":"},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"275":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:":"},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"276":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:":"},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"277":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"278":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"279":{kind:"pair",roles:[{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"280":{kind:"pair",roles:[{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"281":{kind:"splat",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"282":{kind:"splat",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"288":{kind:"super",roles:[{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"289":{kind:"dynimport",roles:[{name:"keyword",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"290":{kind:"call",roles:[{name:"callee",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"291":{kind:"call",roles:[{name:"callee",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"292":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"293":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"294":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"295":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"296":{kind:"dammit",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"297":{kind:"maybe-dammit",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"args",grammarRef:3,childSlot:2,spread:!0},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"298":{kind:"maybe-dammit",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"299":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:3,childSlot:2,spread:!0}]},"300":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:3,childSlot:2,spread:!0}]},"301":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:4,childSlot:2,spread:!0}]},"302":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:4,childSlot:2,spread:!0}]},"307":{kind:"pickitem",roles:[{name:"key",grammarRef:1,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1}]},"308":{kind:"pickitem",roles:[{name:"key",grammarRef:1,childSlot:0,spread:!1},{name:"target",grammarRef:3,childSlot:1,spread:!1}]},"309":{kind:"pickitem",roles:[{name:"key",grammarRef:1,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"default",grammarRef:3,childSlot:2,spread:!1}]},"310":{kind:"pickitem",roles:[{name:"key",grammarRef:1,childSlot:0,spread:!1},{name:"target",grammarRef:3,childSlot:1,spread:!1},{name:"default",grammarRef:5,childSlot:2,spread:!1}]},"318":{kind:"dynamicKey",roles:[{name:"key",grammarRef:2,childSlot:1,spread:!1}]},"319":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:null,childSlot:1,literal:"this"},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"322":{kind:"range",roles:[{name:"operator",grammarRef:3,childSlot:0,spread:!1},{name:"from",grammarRef:2,childSlot:1,spread:!1},{name:"to",grammarRef:4,childSlot:2,spread:!1}]},"323":{kind:"range",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"from",grammarRef:1,childSlot:1,spread:!1},{name:"to",grammarRef:3,childSlot:2,spread:!1}]},"324":{kind:"range",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"from",grammarRef:1,childSlot:1,spread:!1},{name:"to",grammarRef:null,childSlot:2,literal:null}]},"325":{kind:"range",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"from",grammarRef:null,childSlot:1,literal:null},{name:"to",grammarRef:2,childSlot:2,spread:!1}]},"326":{kind:"range",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"from",grammarRef:null,childSlot:1,literal:null},{name:"to",grammarRef:null,childSlot:2,literal:null}]},"327":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:4,childSlot:3,spread:!1}]},"328":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"returnType",grammarRef:4,childSlot:null,spread:!1}]},"329":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"typeParams",grammarRef:3,childSlot:null,spread:!1}]},"330":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:6,childSlot:3,spread:!1},{name:"typeParams",grammarRef:3,childSlot:null,spread:!1},{name:"returnType",grammarRef:5,childSlot:null,spread:!1}]},"331":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"voidMarker",grammarRef:3,childSlot:null,spread:!1}]},"332":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:6,childSlot:3,spread:!1},{name:"voidMarker",grammarRef:3,childSlot:null,spread:!1},{name:"returnType",grammarRef:5,childSlot:null,spread:!1}]},"333":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:4,childSlot:3,spread:!1}]},"334":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"returnType",grammarRef:4,childSlot:null,spread:!1}]},"335":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"typeParams",grammarRef:3,childSlot:null,spread:!1}]},"336":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:6,childSlot:3,spread:!1},{name:"typeParams",grammarRef:3,childSlot:null,spread:!1},{name:"returnType",grammarRef:5,childSlot:null,spread:!1}]},"337":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"voidMarker",grammarRef:3,childSlot:null,spread:!1}]},"338":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:6,childSlot:3,spread:!1},{name:"voidMarker",grammarRef:3,childSlot:null,spread:!1},{name:"returnType",grammarRef:5,childSlot:null,spread:!1}]},"347":{kind:"default",roles:[{name:"name",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"348":{kind:"rest",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1}]},"349":{kind:"expansion",roles:[]},"351":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"352":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:3,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"353":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:null,childSlot:2,literal:""},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"358":{kind:"splat",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"360":{kind:"class",roles:[{name:"name",grammarRef:null,childSlot:1,literal:null},{name:"parent",grammarRef:null,childSlot:2,literal:null}]},"361":{kind:"class",roles:[{name:"name",grammarRef:null,childSlot:1,literal:null},{name:"parent",grammarRef:null,childSlot:2,literal:null},{name:"body",grammarRef:2,childSlot:3,spread:!1}]},"362":{kind:"class",roles:[{name:"name",grammarRef:null,childSlot:1,literal:null},{name:"parent",grammarRef:3,childSlot:2,spread:!1}]},"363":{kind:"class",roles:[{name:"name",grammarRef:null,childSlot:1,literal:null},{name:"parent",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:4,childSlot:3,spread:!1}]},"364":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:null,childSlot:2,literal:null}]},"365":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:null,childSlot:2,literal:null},{name:"body",grammarRef:3,childSlot:3,spread:!1}]},"366":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:4,childSlot:2,spread:!1}]},"367":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1}]},"368":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:null,childSlot:2,literal:null},{name:"body",grammarRef:3,childSlot:3,spread:!1}]},"369":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1}]},"370":{kind:"enum",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"371":{kind:"schema",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"372":{kind:"component",roles:[{name:"parent",grammarRef:null,childSlot:1,literal:null},{name:"body",grammarRef:2,childSlot:2,spread:!1}]},"373":{kind:"component",roles:[{name:"parent",grammarRef:3,childSlot:1,spread:!1},{name:"body",grammarRef:4,childSlot:2,spread:!1}]},"374":{kind:"block",roles:[{name:"statements",grammarRef:2,childSlot:1,spread:!0}]},"380":{kind:"offer",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"381":{kind:"accept",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1}]},"382":{kind:"accept",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"provider",grammarRef:4,childSlot:2,spread:!1}]},"383":{kind:"render",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"384":{kind:"render",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"385":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:null,childSlot:1,literal:"super"},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"386":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:null,childSlot:1,literal:"super"},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"387":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:null,childSlot:1,literal:"super"},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"388":{kind:"call",roles:[{name:"callee",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"389":{kind:"super",roles:[{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"390":{kind:"optcall",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"args",grammarRef:3,childSlot:2,spread:!0}]},"391":{kind:"optcall",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"args",grammarRef:3,childSlot:2,spread:!0}]},"392":{kind:"maybe-dammit",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"args",grammarRef:3,childSlot:2,spread:!0},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"393":{kind:"maybe-dammit",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"394":{kind:"dynimport",roles:[{name:"keyword",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"395":{kind:"await",roles:[{name:"operator",grammarRef:2,childSlot:null,spread:!1}],nested:[{role:"value",path:[1],kind:"dynimport",roles:[{name:"keyword",grammarRef:null,childSlot:0,literal:"import"},{name:"args",grammarRef:3,childSlot:1,spread:!0}],nested:[]}]},"407":{kind:"block",roles:[]},"408":{kind:"block",roles:[{name:"statements",grammarRef:2,childSlot:1,spread:!0}]},"411":{kind:"return",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"412":{kind:"return",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"413":{kind:"return",roles:[]},"414":{kind:"while",roles:[{name:"condition",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"415":{kind:"while",roles:[{name:"body",grammarRef:3,childSlot:2,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"416":{kind:"while",roles:[{name:"condition",grammarRef:2,childSlot:1,spread:!1},{name:"guard",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1}]},"417":{kind:"while",roles:[{name:"guard",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"418":{kind:"while",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}]},"419":{kind:"while",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}]},"420":{kind:"while",roles:[{name:"body",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"421":{kind:"while",roles:[{name:"body",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"422":{kind:"while",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"guard",grammarRef:5,childSlot:2,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}]},"423":{kind:"while",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"guard",grammarRef:5,childSlot:2,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}]},"424":{kind:"while",roles:[{name:"guard",grammarRef:5,childSlot:2,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"425":{kind:"while",roles:[{name:"guard",grammarRef:5,childSlot:2,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"427":{kind:"if",roles:[{name:"condition",grammarRef:2,childSlot:1,spread:!1},{name:"then",grammarRef:3,childSlot:2,spread:!1}]},"428":{kind:"if",roles:[{name:"condition",grammarRef:2,childSlot:1,spread:!1},{name:"then",grammarRef:3,childSlot:2,spread:!1},{name:"else",grammarRef:4,childSlot:3,spread:!1}]},"429":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:4,childSlot:2,spread:!1}]},"430":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:4,childSlot:2,spread:!1},{name:"else",grammarRef:5,childSlot:3,spread:!1}]},"432":{kind:"if",roles:[{name:"then",grammarRef:3,childSlot:2,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"433":{kind:"if",roles:[{name:"then",grammarRef:3,childSlot:2,spread:!1},{name:"else",grammarRef:5,childSlot:3,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"436":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:1,childSlot:null,spread:!1}]},"437":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:1,childSlot:null,spread:!1}]},"438":{kind:"if",roles:[{name:"then",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"439":{kind:"if",roles:[{name:"then",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"440":{kind:"ternary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?:"},{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:1,childSlot:2,spread:!1},{name:"else",grammarRef:6,childSlot:3,spread:!1}]},"441":{kind:"ternary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?:"},{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:1,childSlot:2,spread:!1},{name:"else",grammarRef:5,childSlot:3,spread:!1}]},"442":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"443":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"444":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1}]},"445":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"446":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1}]},"447":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1}]},"448":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"finalizer",grammarRef:3,childSlot:2,spread:!1}]},"449":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1},{name:"finalizer",grammarRef:4,childSlot:3,spread:!1}]},"450":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"finalizer",grammarRef:3,childSlot:2,spread:!1}]},"451":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1},{name:"finalizer",grammarRef:4,childSlot:3,spread:!1}]},"452":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"finalizer",grammarRef:3,childSlot:2,spread:!1}]},"453":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1},{name:"finalizer",grammarRef:4,childSlot:3,spread:!1}]},"455":{kind:"block",roles:[{name:"statements",grammarRef:2,childSlot:1,spread:!1}]},"456":{kind:"catch",roles:[{name:"binding",grammarRef:2,childSlot:0,spread:!1},{name:"body",grammarRef:3,childSlot:1,spread:!1}]},"457":{kind:"catch",roles:[{name:"binding",grammarRef:2,childSlot:0,spread:!1},{name:"body",grammarRef:3,childSlot:1,spread:!1}]},"458":{kind:"catch",roles:[{name:"binding",grammarRef:2,childSlot:0,spread:!1},{name:"body",grammarRef:3,childSlot:1,spread:!1}]},"459":{kind:"catch",roles:[{name:"binding",grammarRef:null,childSlot:0,literal:null},{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"461":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"462":{kind:"throw",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"463":{kind:"throw",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"464":{kind:"switch",roles:[{name:"subject",grammarRef:2,childSlot:1,spread:!1},{name:"cases",grammarRef:4,childSlot:2,spread:!1},{name:"default",grammarRef:null,childSlot:3,literal:null}]},"465":{kind:"switch",roles:[{name:"subject",grammarRef:2,childSlot:1,spread:!1},{name:"cases",grammarRef:4,childSlot:2,spread:!1},{name:"default",grammarRef:6,childSlot:3,spread:!1}]},"466":{kind:"switch",roles:[{name:"subject",grammarRef:null,childSlot:1,literal:null},{name:"cases",grammarRef:3,childSlot:2,spread:!1},{name:"default",grammarRef:null,childSlot:3,literal:null}]},"467":{kind:"switch",roles:[{name:"subject",grammarRef:null,childSlot:1,literal:null},{name:"cases",grammarRef:3,childSlot:2,spread:!1},{name:"default",grammarRef:5,childSlot:3,spread:!1}]},"470":{kind:"when",roles:[{name:"conditions",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"471":{kind:"when",roles:[{name:"conditions",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"474":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"475":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:6,childSlot:3,spread:!1},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"476":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"477":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:8,childSlot:3,spread:!1},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:9,childSlot:5,spread:!1}]},"478":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:6,childSlot:3,spread:!1},{name:"guard",grammarRef:8,childSlot:4,spread:!1},{name:"body",grammarRef:9,childSlot:5,spread:!1}]},"479":{kind:"forof",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"object",grammarRef:4,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!1},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"480":{kind:"forof",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"object",grammarRef:4,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!1},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"481":{kind:"forof",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"object",grammarRef:5,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:6,childSlot:5,spread:!1}]},"482":{kind:"forof",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"object",grammarRef:5,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:7,childSlot:4,spread:!1},{name:"body",grammarRef:8,childSlot:5,spread:!1}]},"483":{kind:"foras",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!1},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"484":{kind:"foras",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!1},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"485":{kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:6,childSlot:5,spread:!1}]},"486":{kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:7,childSlot:4,spread:!1},{name:"body",grammarRef:8,childSlot:5,spread:!1}]},"487":{kind:"foras",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"488":{kind:"foras",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"489":{kind:"forin",roles:[{name:"iterable",grammarRef:2,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:3,childSlot:5,spread:!1}]},"490":{kind:"forin",roles:[{name:"iterable",grammarRef:2,childSlot:2,spread:!1},{name:"step",grammarRef:4,childSlot:3,spread:!1},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"491":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null}],nested:[]}]},"492":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null}],nested:[]}]},"493":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:7,childSlot:3,spread:!1}],nested:[]}]},"494":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:9,childSlot:3,spread:!1}],nested:[]}]},"495":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:9,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:7,childSlot:3,spread:!1}],nested:[]}]},"496":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forof",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"object",grammarRef:5,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!1}],nested:[]}]},"497":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forof",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"object",grammarRef:5,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!1}],nested:[]}]},"498":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forof",roles:[{name:"vars",grammarRef:4,childSlot:1,spread:!1},{name:"object",grammarRef:6,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"499":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:8,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forof",roles:[{name:"vars",grammarRef:4,childSlot:1,spread:!1},{name:"object",grammarRef:6,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"500":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!1}],nested:[]}]},"501":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!1}],nested:[]}]},"502":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:4,childSlot:1,spread:!1},{name:"iterable",grammarRef:6,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"503":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:8,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:4,childSlot:1,spread:!1},{name:"iterable",grammarRef:6,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"504":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"505":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"509":{kind:"loop",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"510":{kind:"loop",roles:[{name:"count",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"511":{kind:"update",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"--"},{name:"target",grammarRef:2,childSlot:1,spread:!1},{name:"prefix",grammarRef:null,childSlot:2,literal:!1}]},"512":{kind:"update",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"++"},{name:"target",grammarRef:2,childSlot:1,spread:!1},{name:"prefix",grammarRef:null,childSlot:2,literal:!1}]},"513":{kind:"update",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"--"},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"prefix",grammarRef:null,childSlot:2,literal:!0}]},"514":{kind:"update",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"++"},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"prefix",grammarRef:null,childSlot:2,literal:!0}]},"515":{kind:"existence",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?"},{name:"value",grammarRef:1,childSlot:1,spread:!1}]},"516":{kind:"cast",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"517":{kind:"satisfies",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"518":{kind:"ternary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?:"},{name:"condition",grammarRef:1,childSlot:1,spread:!1},{name:"then",grammarRef:3,childSlot:2,spread:!1},{name:"else",grammarRef:5,childSlot:3,spread:!1}]},"519":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"520":{kind:"doiife",roles:[{name:"func",grammarRef:2,childSlot:1,spread:!1}]},"521":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"522":{kind:"await",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1},{name:"operator",grammarRef:1,childSlot:null,spread:!1}]},"523":{kind:"await",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1},{name:"operator",grammarRef:1,childSlot:null,spread:!1}]},"524":{kind:"yield",roles:[]},"525":{kind:"yield",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"526":{kind:"yield",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"527":{kind:"yieldfrom",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"528":{kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"-"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"529":{kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"+"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"530":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"**"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"531":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"+"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"532":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"-"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"533":{kind:"binary",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"534":{kind:"binary",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"535":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"536":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"^"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"537":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"|"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"538":{kind:"binary",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"539":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"=~"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"540":{kind:"relation",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"541":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"542":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"543":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"??"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"544":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"545":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"546":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"??"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"547":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"548":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"549":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"??"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"550":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"551":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"552":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"553":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"554":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"555":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]}},primitiveRefs:{"1":[],"2":[1],"3":[1],"4":[1,3],"5":[1],"6":[1],"7":[1],"8":[1],"9":[1],"10":[1],"11":[1],"12":[1],"13":[1],"14":[1],"15":[1,2],"16":[1,3],"17":[2,3,4],"18":[2],"19":[2,4],"20":[2,4],"21":[5],"22":[3,7],"23":[2,4,6],"24":[2,5,9],"25":[3,4,2],"26":[2,5,6,4],"27":[2,5,6,4],"28":[3,8,9,7],"29":[2,4,7,8,6],"30":[2,5,10,11,9],"31":[3,5],"32":[3,5],"33":[6],"34":[4,8],"35":[1],"36":[1,3],"37":[1,4],"38":[2],"39":[1,4],"40":[1],"41":[1,3],"42":[1],"43":[1,3],"44":[1],"45":[3],"46":[],"47":[3],"48":[2],"49":[2],"50":[2],"51":[2],"52":[2],"53":[2],"54":[2],"55":[2],"56":[3],"57":[4],"58":[4],"59":[6,4],"60":[6,4],"61":[5],"62":[3,7],"63":[4,8],"64":[1,3],"65":[1,4],"66":[1,4],"67":[1,4],"68":[1,5],"69":[1,5],"70":[1,4],"71":[1,4],"72":[1,5],"73":[1,5],"74":[1,4],"75":[1,5],"76":[1,5],"77":[1,4],"78":[1,5],"79":[1,5],"80":[1,4],"81":[1,5],"82":[1,4],"83":[1,4],"84":[1,5],"85":[1,5],"86":[1,4],"87":[1,5],"88":[1,4],"89":[1],"90":[1,3],"91":[1,4],"92":[2],"93":[1,4],"94":[1],"95":[1,3],"96":[1,3],"97":[1],"98":[1,3],"99":[1],"100":[1],"101":[1],"102":[1],"103":[1],"104":[1],"105":[1],"106":[1],"107":[1],"108":[1],"109":[1],"110":[1],"111":[1],"112":[1],"113":[1],"114":[1],"115":[1],"116":[1],"117":[1],"118":[1],"119":[1],"120":[1],"121":[1],"122":[1],"123":[1],"124":[1],"125":[1],"126":[1],"127":[1],"128":[1],"129":[1,3],"130":[1],"131":[1],"132":[],"133":[],"134":[1],"135":[1],"136":[1],"137":[1],"138":[1],"139":[2],"140":[1],"141":[1,2],"142":[2],"143":[3],"144":[],"145":[1],"146":[1],"147":[3,2],"148":[1],"149":[1],"150":[1,3],"151":[1,4],"152":[1,4],"153":[1,4],"154":[1,5],"155":[1,5],"156":[1,4],"157":[1,5],"158":[1,5],"159":[1,5],"160":[1,6],"161":[1,6],"162":[1,3],"163":[1,4],"164":[1,4],"165":[2,1,3],"166":[2,1,4],"167":[2,1,4],"168":[1,3],"169":[1,4],"170":[1,5],"171":[1,5],"172":[1,4],"173":[1,5],"174":[1,5],"175":[1],"176":[1],"177":[1],"178":[1],"179":[2],"180":[2],"181":[1],"182":[2],"183":[1],"184":[1,3],"185":[1,4],"186":[1,4],"187":[1,5],"188":[1,3],"189":[1,4],"190":[1,4],"191":[1,5],"192":[1,3],"193":[1,4],"194":[1,3],"195":[1,4],"196":[1,3,5],"197":[1,4,6],"198":[1,3],"199":[1,4],"200":[1,4],"201":[1,5],"202":[1,3],"203":[1,4],"204":[2],"205":[1],"206":[1],"207":[1,3],"208":[1,3],"209":[1,3],"210":[1,4],"211":[1,3,5],"212":[1,3],"213":[1,4],"214":[1,4],"215":[1,5],"216":[1,3],"217":[1,3],"218":[1,4],"219":[1,4],"220":[1,3],"221":[1,3],"222":[1,2],"223":[1,2],"224":[1,2],"225":[2],"226":[2,4],"227":[1,2],"228":[1],"229":[1],"230":[1],"231":[1],"232":[1],"233":[1,3],"234":[1,3],"235":[1,3],"236":[1,3],"237":[1],"238":[1],"239":[4,2,5],"240":[5,2,6],"241":[1,2],"242":[1],"243":[1],"244":[2],"245":[],"246":[],"247":[2],"248":[2],"249":[],"250":[2],"251":[2,3],"252":[1],"253":[1,3],"254":[1,4],"255":[2,3],"256":[1,2,4,5],"257":[1],"258":[1,2],"259":[],"260":[2],"261":[1],"262":[1,2],"263":[],"264":[1],"265":[2],"266":[3],"267":[],"268":[1],"269":[1,3],"270":[1,4],"271":[1,4],"272":[1,1],"273":[1],"274":[1,3],"275":[1,4],"276":[1,3],"277":[1,3],"278":[1,4],"279":[1,4],"280":[1,5],"281":[2],"282":[2],"283":[1],"284":[1],"285":[1],"286":[1],"287":[1],"288":[2],"289":[1,2],"290":[1,2],"291":[1,2],"292":[1,3],"293":[1,3],"294":[1,3],"295":[1,4],"296":[1],"297":[1,3],"298":[1],"299":[1,3],"300":[1,3],"301":[1,4],"302":[1,4],"303":[1],"304":[1,3],"305":[1,4],"306":[1,4],"307":[1,1],"308":[1,3],"309":[1,1,3],"310":[1,3,5],"311":[1],"312":[1],"313":[1],"314":[1],"315":[1],"316":[1],"317":[1],"318":[2],"319":[3],"320":[],"321":[],"322":[3,2,4],"323":[2,1,3],"324":[2,1],"325":[1,2],"326":[1],"327":[2,3,4],"328":[2,3,5],"329":[2,4,5],"330":[2,4,6],"331":[2,4,5],"332":[2,4,6],"333":[2,3,4],"334":[2,3,5],"335":[2,4,5],"336":[2,4,6],"337":[2,4,5],"338":[2,4,6],"339":[],"340":[2],"341":[],"342":[1],"343":[1,3],"344":[1,4],"345":[1,4],"346":[1],"347":[1,3],"348":[2],"349":[],"350":[1],"351":[1,2],"352":[1,3],"353":[1],"354":[1],"355":[1],"356":[1],"357":[1],"358":[2],"359":[1],"360":[],"361":[2],"362":[3],"363":[3,4],"364":[2],"365":[2,3],"366":[2,4],"367":[2,4,5],"368":[2,3],"369":[2,4,5],"370":[2,3],"371":[2],"372":[2],"373":[3,4],"374":[2],"375":[1],"376":[1,3],"377":[1],"378":[1],"379":[1],"380":[2],"381":[2],"382":[2,4],"383":[2],"384":[2],"385":[3],"386":[3],"387":[4],"388":[1,2],"389":[2],"390":[1,3],"391":[1,3],"392":[1,3],"393":[1],"394":[1,2],"395":[3],"396":[],"397":[2],"398":[1],"399":[1,3],"400":[1,4],"401":[2],"402":[1,4],"403":[1],"404":[1],"405":[1],"406":[1],"407":[],"408":[2],"409":[2],"410":[3],"411":[2],"412":[3],"413":[],"414":[2,3],"415":[2,3],"416":[2,4,5],"417":[2,4,5],"418":[3,1],"419":[3,1],"420":[3,1],"421":[3,1],"422":[3,5,1],"423":[3,5,1],"424":[3,5,1],"425":[3,5,1],"426":[1],"427":[2,3],"428":[2,3,4],"429":[3,4],"430":[3,4,5],"431":[2],"432":[2,3],"433":[2,3,5],"434":[1],"435":[1],"436":[3,1],"437":[3,1],"438":[3,1],"439":[3,1],"440":[3,1,6],"441":[3,1,5],"442":[2],"443":[2],"444":[2,3],"445":[2],"446":[2,3],"447":[2,3],"448":[2,3],"449":[2,3,4],"450":[2,3],"451":[2,3,4],"452":[2,3],"453":[2,3,4],"454":[2],"455":[2],"456":[2,3],"457":[2,3],"458":[2,3],"459":[2],"460":[1],"461":[1,2],"462":[2],"463":[3],"464":[2,4],"465":[2,4,6],"466":[3],"467":[3,5],"468":[1],"469":[1,2],"470":[2,3],"471":[2,3],"472":[1],"473":[1,3],"474":[2,4,5],"475":[2,4,6,7],"476":[2,4,6,7],"477":[2,4,8,6,9],"478":[2,4,6,8,9],"479":[2,4,5],"480":[2,4,6,7],"481":[3,5,6],"482":[3,5,7,8],"483":[2,4,5],"484":[2,4,6,7],"485":[3,5,6],"486":[3,5,7,8],"487":[2,4,5],"488":[2,4,6,7],"489":[2,3],"490":[2,4,5],"491":[1,3,5],"492":[1,3,5,7],"493":[1,3,5,7],"494":[1,3,5,9,7],"495":[1,3,5,7,9],"496":[1,3,5],"497":[1,3,5,7],"498":[1,4,6],"499":[1,4,6,8],"500":[1,3,5],"501":[1,3,5,7],"502":[1,4,6],"503":[1,4,6,8],"504":[1,3,5],"505":[1,3,5,7],"506":[1],"507":[1],"508":[1,3],"509":[2],"510":[2,3],"511":[2],"512":[2],"513":[1],"514":[1],"515":[1],"516":[1,2],"517":[1,2],"518":[1,3,5],"519":[1,2],"520":[2],"521":[1,2],"522":[2],"523":[3],"524":[],"525":[2],"526":[3],"527":[3],"528":[2],"529":[2],"530":[1,3],"531":[1,3],"532":[1,3],"533":[2,1,3],"534":[2,1,3],"535":[1,3],"536":[1,3],"537":[1,3],"538":[2,1,3],"539":[1,3],"540":[2,1,3],"541":[1,3],"542":[1,3],"543":[1,3],"544":[1,3],"545":[1,3],"546":[1,3],"547":[1,3],"548":[1,3],"549":[1,3],"550":[1,3],"551":[1,3],"552":[1,3],"553":[1,3],"554":[1,3],"555":[1,3]},accumulators:{"4":!0,"36":!0,"37":!0,"39":!0,"90":!0,"91":!0,"93":!0,"141":!0,"253":!0,"254":!0,"256":!0,"262":!0,"269":!0,"270":!0,"271":!0,"304":!0,"305":!0,"306":!0,"343":!0,"344":!0,"345":!0,"376":!0,"399":!0,"400":!0,"402":!0,"469":!0},parseTable:(()=>{let e=[108,1,2,1,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-1,1,2,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,1,0,2,1,5,-2,108,5,1,5,31,61,88,-3,-3,-3,-3,-3,29,1,5,31,61,88,2,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,9,1,5,31,61,88,2,1,9,1,-7,-7,-7,-7,-7,135,136,133,134,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-99,-99,-99,-99,-99,-99,137,138,-99,143,-99,-237,-237,-237,-99,-237,-237,-99,-237,140,-99,-99,-99,-99,142,-99,141,139,-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,50,1,5,22,3,5,1,61,15,4,1,1,1,2,1,2,1,9,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-100,-100,-100,-100,-100,-100,-100,-100,-238,-238,-238,-100,-238,-238,-100,-238,-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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,65,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-119,-119,145,146,-119,-119,-119,-119,144,147,151,148,149,152,-119,-119,-119,150,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,18,6,14,7,4,2,3,66,6,7,19,1,6,1,9,6,9,1,1,-341,158,100,-341,160,-341,96,159,161,153,-341,163,162,101,156,154,155,157,2,36,22,165,164,46,16,4,3,4,6,28,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,25,170,167,103,100,76,168,169,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,171,107,105,106,96,166,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,82,46,16,4,3,4,6,28,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,25,170,167,103,100,76,168,169,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,171,107,105,106,96,172,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,82,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,175,176,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,173,174,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,177,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,179,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,180,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,181,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,182,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,144,1,5,1,1,1,1,1,1,1,1,1,1,3,1,2,1,2,2,1,3,2,3,1,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,5,1,1,2,3,3,5,2,1,4,5,2,1,1,4,2,1,1,1,1,1,1,1,1,8,4,2,2,1,5,6,2,1,2,6,3,1,1,1,1,1,1,1,1,2,1,1,1,1,1,3,1,2,1,5,3,4,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-524,-524,183,178,26,27,28,29,30,31,73,32,65,54,71,103,185,100,-524,-524,76,184,-524,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,-524,105,106,96,45,75,-524,92,93,-524,-524,94,95,89,41,-524,42,90,91,86,87,88,83,-524,101,-524,-524,84,85,-524,66,74,67,68,69,82,-524,70,-524,-524,-524,63,56,97,-524,57,98,-524,-524,58,-524,-524,64,60,-524,-524,49,99,43,44,-524,-524,-524,46,47,48,50,51,52,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,186,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,187,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,58,1,5,11,11,3,5,1,15,30,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-138,-138,189,-138,-138,-138,-138,188,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,70,1,5,11,1,10,3,5,1,15,1,1,1,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,190,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,193,192,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,191,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,196,197,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,195,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,15,20,7,6,44,25,6,7,26,1,9,17,45,4,2,2,158,100,160,201,96,159,161,163,83,101,203,198,199,200,202,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,204,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,205,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,206,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,207,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,208,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,209,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,4,20,82,13,26,210,96,211,163,51,1,5,14,8,3,5,1,21,40,4,11,2,5,5,10,6,2,12,2,8,5,2,14,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-360,-360,216,-360,-360,165,-360,212,-360,96,-360,215,-360,-360,-360,163,-360,-360,-360,-360,214,213,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,1,175,217,3,36,136,5,220,219,218,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,222,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,221,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,143,1,5,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,1,3,2,3,1,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,5,1,1,2,3,3,5,2,1,4,5,2,1,1,4,2,1,1,1,1,1,1,1,1,8,4,2,2,1,5,6,2,1,2,6,3,1,1,1,1,1,1,1,1,2,1,1,1,1,1,3,1,2,1,5,3,4,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-413,-413,223,178,26,27,28,29,30,31,73,32,65,54,71,103,100,-413,-413,76,224,-413,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,-413,105,106,96,45,75,-413,92,93,-413,-413,94,95,89,41,-413,42,90,91,86,87,88,83,-413,101,-413,-413,84,85,-413,66,74,67,68,69,82,-413,70,-413,-413,-413,63,56,97,-413,57,98,-413,-413,58,-413,-413,64,60,-413,-413,49,99,43,44,-413,-413,-413,46,47,48,50,51,52,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,10,20,3,1,2,1,7,6,52,1,9,230,225,226,227,228,229,231,171,107,96,61,14,2,3,1,3,4,6,6,4,1,1,1,1,1,1,1,1,8,2,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,12,235,246,244,245,103,232,76,241,233,234,236,237,238,239,240,242,243,55,168,169,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,171,107,105,106,96,247,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,82,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-14,-14,-14,-14,-14,-14,-14,-14,2,20,82,248,96,65,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,65,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,107,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,249,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,250,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,114,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,1,1,2,1,1,2,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,251,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,257,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,252,253,254,256,259,255,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,4,112,5,2,13,143,263,264,262,3,82,30,20,266,143,265,5,62,71,3,1,1,267,41,42,90,91,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,59,1,5,22,3,5,1,45,2,8,6,5,1,8,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-246,-246,-246,-246,-246,-246,-246,-246,269,-246,268,270,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,14,20,56,4,1,2,19,13,14,1,1,9,1,18,26,274,277,276,278,272,96,275,89,271,273,87,88,279,82,1,36,-242,1,36,-243,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,6,117,1,1,3,1,3,280,281,282,283,284,285,1,117,286,1,117,287,77,1,5,11,1,7,3,3,5,1,1,14,1,1,1,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,7,11,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,3,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,288,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,289,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,291,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,290,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,26,6,14,3,5,3,5,49,1,4,1,1,1,6,1,2,1,1,11,26,1,8,2,1,1,2,1,-267,302,103,-267,-267,-267,298,296,102,104,171,107,105,106,96,303,270,304,300,299,292,293,294,295,297,301,1,27,305,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,6,23,69,1,1,2,1,309,171,107,306,307,308,6,23,69,1,1,2,1,309,171,107,310,307,308,110,1,4,1,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,5,1,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,1,1,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-5,311,-5,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-5,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,-5,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,-5,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,312,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,313,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,314,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,315,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,316,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,317,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,318,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,319,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,320,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,321,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,322,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,323,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,324,178,325,326,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,327,178,328,329,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,330,178,331,332,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,333,178,334,335,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,336,178,337,338,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,339,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,340,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,14,20,7,6,69,6,7,26,1,9,17,45,4,2,2,158,100,160,96,159,161,163,162,101,203,341,342,343,202,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,344,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,345,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,346,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,347,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,348,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,349,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,3,23,69,1,350,171,107,46,1,5,22,3,5,1,61,14,1,7,5,7,3,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-515,-515,-515,-515,-515,-515,-515,143,-515,-515,-515,351,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,2,112,20,143,352,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-393,-393,-393,-393,-393,-393,-393,-393,-393,143,-393,-393,-393,-393,-393,-393,-393,-393,-393,353,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,110,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,5,1,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,357,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,354,355,92,93,94,95,89,41,42,90,91,86,87,88,83,356,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,360,359,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,361,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,50,1,5,22,3,5,1,15,3,1,1,2,39,13,2,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-15,-15,-15,-15,-15,-15,362,366,363,364,367,-15,365,-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,5,17,35,3,1,1,369,368,372,370,371,1,52,373,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,374,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,193,192,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,378,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,46,16,4,3,4,6,28,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,25,170,167,103,100,76,379,169,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,171,107,105,106,96,247,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,82,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,380,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,193,192,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,381,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,24,1,5,99,-405,384,383,-405,382,6,6,25,5,1,76,22,-342,-342,-342,-342,-342,-342,7,6,25,5,1,15,61,22,-346,-346,-346,-346,385,-346,-346,17,6,14,7,4,2,3,1,65,6,5,2,20,6,1,9,16,1,-349,158,100,-349,160,-349,-349,96,159,-349,161,-349,163,162,101,386,157,9,6,11,1,13,5,1,15,61,22,-350,387,388,-350,-350,-350,-350,-350,-350,13,6,11,1,13,5,1,15,61,22,79,2,2,2,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,13,6,11,1,13,5,1,15,61,22,79,2,2,2,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,13,6,11,1,13,5,1,15,61,22,79,2,2,2,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,13,6,11,1,13,5,1,15,61,22,79,2,2,2,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,114,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,1,1,2,1,1,2,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,257,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,252,253,254,256,259,255,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,92,11,1,269,268,270,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,107,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,390,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,389,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-511,-511,-511,-511,-511,-511,-175,-175,-511,-175,-511,-175,-175,-175,-511,-175,-175,-511,-175,-511,-511,-511,-511,-175,-511,-175,-175,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,13,82,2,28,5,1,1,3,1,3,6,29,22,1,137,138,143,-237,-237,-237,-237,-237,-237,140,142,141,391,6,117,1,1,3,1,3,-238,-238,-238,-238,-238,-238,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,62,1,5,22,3,1,4,1,45,2,8,1,2,2,1,3,11,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-512,-512,-512,-512,-512,-512,-175,-175,-512,-175,-512,-175,-175,-175,-512,-175,-175,-512,-175,-512,-512,-512,-512,-175,-512,-175,-175,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,394,392,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,393,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,395,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,4,188,1,9,1,135,136,133,134,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,112,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,3,27,6,118,100,396,101,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-525,3,27,6,118,100,397,101,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,398,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,112,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,112,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,399,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,52,400,2,52,3,401,402,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,131,132,-181,127,128,129,-181,-181,130,-181,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,403,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,46,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,2,1,1,1,8,3,10,1,1,5,1,1,1,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,404,405,407,406,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,46,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,2,1,1,1,8,3,10,1,1,5,1,1,1,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,131,132,-443,127,128,129,408,409,407,406,130,-443,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,2,1,1,1,8,3,10,1,1,5,1,1,1,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,135,136,-445,-445,133,134,410,411,407,406,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,4,214,2,2,2,412,413,414,415,12,20,7,6,69,6,7,26,1,9,17,45,8,158,100,160,96,159,161,163,162,101,203,416,202,12,20,7,6,69,6,7,26,1,9,17,45,8,158,100,160,96,159,161,163,162,101,203,417,202,3,36,22,157,165,418,419,5,31,183,2,2,2,420,-507,-507,-507,-507,5,31,183,2,2,2,-506,-506,-506,-506,-506,25,36,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,421,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,3,208,1,1,422,423,424,27,36,22,130,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,425,131,132,426,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,27,36,22,130,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,427,131,132,428,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-462,3,27,6,118,100,429,101,6,17,4,15,17,1,58,-339,430,-339,431,432,433,6,17,4,15,17,1,58,-339,434,-339,435,436,433,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,437,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,46,1,5,22,3,5,1,21,40,15,7,5,10,8,12,2,8,7,14,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-364,-364,-364,-364,165,-364,438,-364,-364,-364,-364,-364,-364,-364,-364,-364,439,-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,3,36,22,114,165,440,441,45,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,7,14,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-359,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,442,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,2,1,1,1,1,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,445,446,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,443,444,447,448,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,131,132,-384,127,-384,-384,-384,-384,130,-384,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-384,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-411,3,27,6,118,100,449,101,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-18,-18,-18,-18,450,-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,2,25,6,451,452,1,25,453,7,20,8,1,6,1,3,63,458,454,455,456,457,459,96,6,20,4,2,1,13,62,230,460,461,462,231,96,2,25,6,-44,-44,1,38,463,29,6,14,3,5,3,5,3,3,18,25,1,4,1,1,1,6,1,2,1,1,11,26,1,8,2,1,1,2,1,-267,468,103,464,-267,467,469,465,466,298,296,102,104,171,107,105,106,96,303,270,304,300,299,292,293,294,295,297,301,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,470,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,471,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,2,25,13,472,473,1,27,474,4,20,82,13,26,475,96,211,163,21,17,1,34,1,1,1,1,1,2,23,2,28,5,1,1,3,1,3,35,22,1,477,-205,476,478,479,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,18,17,1,37,1,1,2,23,2,28,5,1,1,3,1,3,35,22,1,480,481,151,148,149,152,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,62,1,5,11,1,10,3,5,1,18,1,1,2,23,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,2,36,22,165,482,2,6,180,108,483,106,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,484,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,31,6,25,5,107,14,7,1,23,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-403,-403,-403,-403,487,485,486,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,5,1,1,5,1,1,1,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,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,110,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,5,1,2,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,488,490,489,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,6,6,24,1,5,107,3,-405,493,492,-405,-405,491,61,6,4,5,4,3,5,4,5,1,4,18,28,1,1,1,1,1,1,6,1,2,25,1,1,4,4,1,1,1,1,1,1,8,6,2,1,11,2,1,2,6,3,2,1,1,4,4,3,6,1,5,7,3,1,1,4,1,1,1,1,1,494,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,5,6,25,5,1,106,-252,-252,-252,-252,-252,113,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,2,1,2,1,1,2,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,257,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,496,495,256,259,255,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,61,6,4,5,4,3,5,4,5,1,4,18,28,1,1,1,1,1,1,6,1,2,25,1,1,4,4,1,1,1,1,1,1,8,6,2,1,11,2,1,2,6,3,2,1,1,4,4,3,6,1,5,7,3,1,1,4,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,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,5,6,25,5,1,106,-257,-257,-257,-257,-257,6,6,25,5,1,76,30,-404,-404,-404,-404,-404,-404,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,497,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,2,103,1,498,270,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,499,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,500,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,2,112,20,143,501,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,75,1,5,11,1,10,3,5,1,15,1,1,1,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,7,11,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,3,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,75,1,5,11,1,10,3,5,1,15,1,1,1,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,7,11,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,3,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,75,1,5,11,1,10,3,5,1,15,1,1,1,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,7,11,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,3,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-222,-222,-222,-222,-222,-222,502,506,-222,143,-222,503,504,505,-222,-222,-222,-222,-222,507,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,117,2,263,264,2,103,1,508,270,2,103,1,509,270,109,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,5,6,1,1,4,3,1,1,1,1,1,1,9,6,2,1,4,1,6,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,510,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,511,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,512,94,95,89,41,42,90,91,86,87,88,83,101,487,84,85,513,486,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,119,514,8,20,16,66,1,1,20,38,1,519,516,96,520,270,515,517,518,8,20,16,66,1,1,20,38,1,519,522,96,520,270,521,517,518,2,103,1,523,270,2,103,1,524,270,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,525,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,526,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,527,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,5,6,22,2,1,5,-405,-405,528,529,-405,5,6,22,3,5,1,-268,-268,-268,-268,-268,6,6,22,3,5,1,118,-272,-272,-272,-272,-272,530,5,6,22,3,5,1,-273,-273,-273,-273,-273,1,155,531,8,6,22,3,5,1,15,2,101,-316,-316,-316,-316,-316,532,533,-316,6,6,22,3,5,1,118,-317,-317,-317,-317,-317,-317,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,534,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,4,92,11,1,38,269,268,270,535,18,20,7,6,43,4,1,21,1,1,11,25,1,10,5,2,1,1,25,302,100,538,539,541,540,96,303,270,304,87,88,101,536,537,542,543,82,16,6,22,3,5,1,15,2,28,30,5,1,1,4,3,29,6,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,16,6,22,3,5,1,15,2,28,30,5,1,1,4,3,29,6,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,16,6,22,3,5,1,15,2,28,30,5,1,1,4,3,29,6,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,26,6,14,3,5,3,5,49,1,4,1,1,1,6,1,2,1,1,11,26,1,8,2,1,1,2,1,-267,302,103,-267,-267,-267,298,296,102,104,171,107,105,106,96,303,270,304,300,299,544,293,294,295,297,301,6,23,69,1,3,1,4,309,171,107,546,308,545,5,92,1,2,2,4,-140,-140,-140,-140,-140,108,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,5,1,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,547,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,548,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,549,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,92,1,2,2,4,-145,-145,-145,-145,-145,6,23,69,1,2,1,1,309,171,107,550,546,308,5,1,5,31,61,88,-4,-4,-4,-4,-4,25,155,33,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,551,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,112,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,112,115,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,112,115,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,112,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,114,113,112,115,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,109,110,-535,114,113,112,115,116,-535,-535,-535,120,121,122,-535,-535,-535,-535,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,109,110,-536,114,113,112,115,116,117,-536,-536,120,121,122,-536,-536,-536,-536,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,109,110,-537,114,113,112,115,116,117,118,-537,120,121,122,-537,-537,-537,-537,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,109,110,-538,114,113,112,115,116,-538,-538,-538,-538,-538,122,-538,-538,-538,-538,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,109,110,-539,114,113,112,115,116,-539,-539,-539,-539,-539,122,-539,-539,-539,-539,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,109,110,-540,114,113,112,115,116,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,109,110,-541,114,113,112,115,116,117,118,119,120,121,122,-541,-541,-541,-541,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,109,110,-542,114,113,112,115,116,117,118,119,120,121,122,123,-542,-542,-542,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,109,110,-543,114,113,112,115,116,117,118,119,120,121,122,123,-543,-543,-543,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,131,132,-550,127,-550,-550,-550,-550,130,-550,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-550,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,131,132,-551,127,-551,-551,-551,-551,130,-551,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-551,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,131,132,-437,552,-437,-437,-437,-437,130,-437,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,131,132,-439,127,-439,-439,-439,-439,130,-439,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,4,214,2,2,2,553,554,555,556,12,20,7,6,69,6,7,26,1,9,17,45,8,158,100,160,96,159,161,163,162,101,203,557,202,12,20,7,6,69,6,7,26,1,9,17,45,8,158,100,160,96,159,161,163,162,101,203,558,202,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,131,132,559,127,-418,-418,-418,-418,130,-418,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-418,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,131,132,560,127,-420,-420,-420,-420,130,-420,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-420,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,131,132,-436,127,-436,-436,-436,-436,130,-436,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,131,132,-438,127,-438,-438,-438,-438,130,-438,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,131,132,561,127,-419,-419,-419,-419,130,-419,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-419,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,131,132,562,127,-421,-421,-421,-421,130,-421,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-421,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,5,6,24,1,5,77,-405,563,564,-405,-405,5,6,25,5,1,76,-398,-398,-398,-398,-398,109,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,6,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,357,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,565,92,93,94,95,89,41,42,90,91,86,87,88,83,356,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,30,6,25,5,1,76,30,45,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-403,-403,-403,-403,-403,-403,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-150,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,566,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,567,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,569,568,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,570,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,571,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,193,192,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,572,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,46,16,4,3,4,6,28,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,25,170,167,103,100,76,573,169,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,171,107,105,106,96,247,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,82,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,574,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,193,192,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,575,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,577,576,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,578,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,48,1,5,22,3,5,1,15,3,1,1,41,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-16,-16,-16,-16,-16,-16,579,582,580,581,-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,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,583,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,193,192,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,584,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,585,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,586,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,131,132,-178,127,128,129,-178,-178,130,-178,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,587,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,588,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-192,-192,-192,-192,-192,-192,137,138,-192,589,-192,-237,-237,-237,-192,-237,-237,-192,-237,140,-192,-192,-192,-192,142,-192,141,391,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,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,4,17,119,1,1,591,590,90,91,16,6,14,7,6,3,1,65,6,7,26,1,9,6,9,1,1,-406,158,100,160,-406,-406,96,159,161,163,162,101,156,592,155,157,2,6,30,593,594,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,595,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,6,6,25,5,1,76,22,-348,-348,-348,-348,-348,-348,7,6,25,5,1,15,61,22,-351,-351,-351,-351,-351,-351,-351,8,6,11,14,5,1,15,61,22,-353,596,-353,-353,-353,-353,-353,-353,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,6,2,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,2,6,31,108,597,2,112,20,143,351,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-165,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,598,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,599,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-168,1,37,600,1,37,601,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-527,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-162,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,602,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,604,603,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,605,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,607,606,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,608,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,131,132,-182,127,128,129,-182,-182,130,-182,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,3,1,1,8,3,10,1,1,5,1,1,1,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,609,407,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,10,20,7,6,3,22,44,6,34,9,54,614,100,611,165,613,96,612,162,101,610,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,616,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,615,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,45,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,3,1,1,8,3,10,1,1,5,1,1,1,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,617,407,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,45,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,3,1,1,8,3,10,1,1,5,1,1,1,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,618,407,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,619,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,620,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,621,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,622,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,216,623,1,218,624,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,625,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,11,20,7,6,69,6,7,26,1,9,17,53,158,100,160,96,159,161,163,162,101,203,626,3,208,1,1,627,423,424,4,37,158,14,1,628,629,630,424,3,37,158,15,-468,-468,-468,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,4,1,7,3,1,1,4,1,1,1,1,1,632,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,631,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,633,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,634,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,37,635,3,17,19,22,637,165,636,4,17,4,15,76,-339,638,-339,433,4,17,4,15,76,-339,639,-339,433,18,6,14,7,4,2,3,66,6,5,2,19,7,1,9,6,9,1,1,-341,158,100,-341,160,-341,96,159,-341,161,640,163,162,101,156,154,155,157,3,17,19,22,642,165,641,4,17,4,15,76,-339,643,-339,433,4,17,4,15,76,-339,644,-339,433,45,1,5,22,3,5,1,21,40,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-362,-362,-362,-362,165,-362,645,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-362,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,646,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,647,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,26,36,141,11,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,220,648,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,2,6,31,650,649,2,6,31,-375,-375,26,6,31,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-378,-378,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,6,6,31,151,1,9,1,-379,-379,135,136,133,134,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,651,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,102,652,1,37,653,3,27,6,118,100,654,101,3,23,69,1,655,171,107,3,26,1,13,656,657,231,3,23,69,1,658,171,107,1,25,659,5,6,22,2,1,5,-405,-405,660,661,-405,5,6,22,3,5,1,-35,-35,-35,-35,-35,6,20,9,6,1,3,63,458,662,456,457,459,96,6,6,22,3,5,1,1,-40,-40,-40,-40,-40,663,6,6,22,3,5,1,1,-42,-42,-42,-42,-42,664,1,25,665,1,25,666,7,20,8,1,6,1,3,63,458,667,668,456,457,459,96,2,20,82,669,96,45,1,5,19,3,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-46,-46,670,-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,5,6,22,2,1,5,-405,-405,671,672,-405,5,6,22,3,5,1,-89,-89,-89,-89,-89,6,20,16,3,3,18,42,674,467,469,673,466,96,8,6,22,3,5,2,14,2,101,-94,-94,-94,-94,675,-313,-313,-313,6,6,22,3,5,1,1,-97,-97,-97,-97,-97,676,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,131,132,-56,127,128,129,-56,-56,130,-56,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,3,27,6,118,100,677,101,3,23,69,1,678,171,107,3,20,19,63,679,680,96,6,20,16,3,3,18,42,674,467,469,681,466,96,6,17,4,15,17,1,58,-339,682,-339,431,432,433,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,684,683,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,685,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,52,3,1,1,2,686,689,687,688,690,1,52,691,2,52,3,692,693,4,55,1,1,2,366,363,364,367,4,17,38,1,1,694,372,370,371,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,2,6,31,108,695,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,696,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,57,10,5,4,3,5,10,4,18,28,1,1,1,1,1,1,6,1,2,18,7,1,1,4,4,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,4,4,3,6,1,5,7,3,1,1,4,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,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,57,10,5,4,3,5,10,4,18,28,1,1,1,1,1,1,6,1,2,18,7,1,1,4,4,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,4,4,3,6,1,5,7,3,1,1,4,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,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,5,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,61,6,4,5,4,3,5,4,5,1,4,18,28,1,1,1,1,1,1,6,1,2,25,1,1,4,4,1,1,1,1,1,1,8,6,2,1,11,2,1,2,6,3,2,1,1,4,4,3,6,1,5,7,3,1,1,4,1,1,1,1,1,494,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,5,6,25,5,1,106,-258,-258,-258,-258,-258,2,36,107,698,697,115,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,1,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,1,3,1,1,2,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-406,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,-406,-406,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,-406,700,699,259,255,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,4,6,30,1,106,701,-259,-259,-259,61,6,4,5,4,3,5,4,5,1,4,18,28,1,1,1,1,1,1,6,1,2,25,1,1,4,4,1,1,1,1,1,1,8,6,2,1,11,2,1,2,6,3,2,1,1,4,4,3,6,1,5,7,3,1,1,4,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,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,6,6,24,1,5,1,109,-405,493,492,-405,-405,702,109,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,6,1,2,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,490,489,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,30,6,25,5,1,76,30,45,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-358,-358,-358,-358,-358,-358,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,25,120,68,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,703,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,704,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-225,-225,-225,-225,-225,-225,-225,-225,-225,143,-225,-225,-225,-225,-225,-225,-225,-225,-225,705,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,2,103,1,706,270,2,103,1,707,270,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,708,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,23,69,1,709,171,107,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,29,31,89,37,7,1,23,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,711,710,487,712,486,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,108,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,5,6,1,1,4,3,1,1,1,1,1,1,9,6,2,1,4,1,6,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,713,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,714,94,95,89,41,42,90,91,86,87,88,83,101,487,84,85,513,486,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,120,715,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,4,7,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,716,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-326,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,-326,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,717,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,718,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,24,1,5,89,-405,719,720,-405,-405,7,20,82,1,1,20,38,1,519,96,520,270,721,517,518,5,6,25,5,1,88,-303,-303,-303,-303,-303,7,6,25,5,1,15,73,30,-307,-307,-307,-307,723,-307,722,7,6,25,5,1,15,73,30,-311,-311,-311,-311,-311,-311,-311,7,6,25,5,1,15,73,30,-312,-312,-312,-312,-312,-312,-312,5,6,24,1,5,89,-405,724,720,-405,-405,7,20,82,1,1,20,38,1,519,96,520,270,725,517,518,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,45,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,4,1,3,1,4,1,8,3,10,1,1,5,1,1,1,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,726,727,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,728,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,3,6,22,8,730,729,731,25,6,14,3,5,8,1,48,1,4,1,1,1,6,1,2,1,1,11,26,1,10,1,1,2,1,-406,302,103,-406,-406,-406,298,296,102,104,171,107,105,106,96,303,270,304,300,299,732,294,295,297,301,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,733,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,734,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,735,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,736,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,737,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,155,738,25,143,45,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,739,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,740,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,14,6,22,3,5,1,45,30,5,1,1,4,3,6,29,-281,-281,-281,-281,-281,-283,143,-283,-283,-283,-283,-283,741,-283,14,6,22,3,5,1,45,30,5,1,1,4,3,6,29,-282,-282,-282,-282,-282,746,143,743,744,745,748,749,742,747,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,4,112,5,2,13,143,263,264,750,2,112,20,143,751,5,6,22,2,1,5,-405,-405,752,529,-405,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,5,92,1,2,2,4,-141,-141,-141,-141,-141,2,6,92,108,753,106,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,754,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,92,1,2,2,4,-144,-144,-144,-144,-144,62,1,5,22,3,1,4,1,45,2,8,1,2,2,1,3,11,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,755,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,757,178,337,338,28,29,30,31,73,32,65,54,71,103,100,76,756,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,758,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,759,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,760,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,761,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,216,762,1,218,763,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,764,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,765,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,766,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,767,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,6,30,77,769,770,768,111,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,1,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,5,2,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-406,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-406,-406,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,-406,92,93,94,95,89,41,42,90,91,86,87,88,83,771,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,24,1,5,1,-405,772,564,-405,-405,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-151,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,773,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-153,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,774,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,775,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-193,-193,-193,-193,-193,-193,137,138,-193,776,-193,-237,-237,-237,-193,-237,-237,-193,-237,140,-193,-193,-193,-193,142,-193,141,391,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-156,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,777,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,778,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,780,779,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,781,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,782,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,193,192,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,783,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,784,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-164,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,131,132,-179,127,128,129,-179,-179,130,-179,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,785,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,110,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,5,1,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,357,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,786,787,92,93,94,95,89,41,42,90,91,86,87,88,83,356,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,2,36,22,165,788,3,136,1,1,789,90,91,6,6,25,5,1,76,22,-343,-343,-343,-343,-343,-343,13,20,7,6,69,6,7,26,1,9,6,9,1,1,158,100,160,96,159,161,163,162,101,156,790,155,157,18,6,14,7,4,2,3,1,65,6,7,19,7,1,9,6,9,1,1,-341,158,100,-341,160,-341,-341,96,159,161,791,163,162,101,156,154,155,157,30,6,25,5,1,76,22,53,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-347,-347,-347,-347,-347,-347,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,7,6,25,5,1,15,61,22,-352,-352,-352,-352,-352,-352,-352,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,6,2,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,792,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-167,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-163,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-169,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,793,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,794,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,131,132,-172,127,128,129,-172,-172,130,-172,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,795,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,796,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,2,36,22,165,797,2,36,22,165,798,2,36,22,165,799,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-459,2,17,19,800,-460,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,131,132,-455,127,128,129,-455,-455,130,-455,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,28,36,22,130,1,1,5,3,1,13,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,801,131,132,803,127,128,129,130,802,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,27,36,22,130,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,804,131,132,805,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,27,36,22,130,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,806,131,132,807,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,27,36,22,130,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,808,131,132,809,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,810,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,811,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,812,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,4,214,2,2,2,-508,-508,-508,-508,4,37,158,14,1,813,814,630,424,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,2,36,22,165,815,3,37,158,15,-469,-469,-469,3,31,5,22,817,165,816,26,31,5,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-472,-472,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,818,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,819,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,45,1,5,22,3,5,1,21,40,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-17,-17,-17,-17,165,-17,820,-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,3,17,19,22,822,165,821,3,17,19,22,824,165,823,5,6,24,1,5,77,-405,384,383,-405,825,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,2,36,22,165,826,3,17,19,22,828,165,827,3,17,19,22,830,165,829,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,45,1,5,22,3,5,1,21,40,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-366,-366,-366,-366,165,-366,831,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-366,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,832,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,109,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,3,1,1,1,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-377,445,446,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,833,447,448,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,26,6,31,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-380,-380,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,3,6,19,12,-381,834,-381,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-19,-19,-19,-19,835,-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,1,25,836,6,20,9,6,1,3,63,458,837,456,457,459,96,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-20,-20,-20,-20,838,-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,3,23,69,1,839,171,107,3,6,22,8,841,840,842,8,6,14,8,7,1,1,2,63,-406,458,-406,843,-406,-406,459,96,5,6,24,1,5,1,-405,844,661,-405,-405,2,20,82,845,96,2,20,82,846,96,3,23,69,1,847,171,107,3,23,69,1,848,171,107,1,25,849,5,6,22,2,1,5,-405,-405,850,661,-405,1,25,-45,3,23,69,1,851,171,107,3,6,22,8,853,852,854,8,6,14,8,8,1,2,21,42,-406,674,-406,-406,-406,469,855,96,5,6,24,1,5,1,-405,856,672,-405,-405,6,6,22,3,5,1,1,-94,-94,-94,-94,-94,675,3,20,19,63,857,858,96,2,20,82,859,96,1,37,860,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,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,1,25,861,1,25,862,5,6,22,2,1,5,-405,-405,863,672,-405,3,17,19,22,864,165,636,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,131,132,-64,127,128,129,-64,-64,130,-64,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,865,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,866,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,868,867,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,869,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,871,870,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,872,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,874,873,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,875,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,877,876,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,878,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,880,879,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,881,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,882,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,884,883,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,885,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,887,886,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,888,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,55,1,1,582,580,581,1,186,889,25,143,45,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,890,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,5,1,1,5,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,-251,-251,-251,113,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,2,1,2,1,1,2,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,257,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,496,891,256,259,255,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,25,5,1,106,-253,-253,-253,-253,-253,112,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,1,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,5,1,2,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,-260,-260,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,-260,490,489,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,111,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,2,3,1,1,2,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,496,892,259,255,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,2,36,1,698,893,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,894,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,25,120,68,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,895,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,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,-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,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,896,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,4,7,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,897,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-324,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,-324,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,28,37,120,7,1,23,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,898,487,712,486,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,1,37,899,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,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,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,26,37,83,68,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-325,-325,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,120,68,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,900,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,901,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,6,30,89,903,904,902,10,6,14,16,1,65,1,1,21,37,1,-406,519,-406,-406,96,520,270,-406,905,518,5,6,24,1,5,1,-405,906,720,-405,-405,5,20,82,1,1,59,519,96,520,270,907,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,908,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,6,30,89,903,904,909,5,6,24,1,5,1,-405,910,720,-405,-405,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,3,36,22,135,165,912,911,2,36,22,165,913,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,5,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,21,20,3,62,1,4,1,1,1,6,1,2,1,1,11,26,1,10,1,1,2,1,302,103,298,296,102,104,171,107,105,106,96,303,270,304,300,299,914,294,295,297,301,26,6,14,3,8,5,1,48,1,4,1,1,1,6,1,2,1,1,11,26,1,8,2,1,1,2,1,-267,302,103,-267,-267,-267,298,296,102,104,171,107,105,106,96,303,270,304,300,299,915,293,294,295,297,301,5,6,22,3,5,1,-269,-269,-269,-269,-269,29,6,22,3,5,1,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-274,-274,-274,-274,-274,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,916,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,29,6,22,3,5,1,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-276,-276,-276,-276,-276,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,29,6,22,3,5,1,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-277,-277,-277,-277,-277,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,917,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,918,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,919,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,6,6,22,3,5,1,118,-318,-318,-318,-318,-318,-318,25,143,45,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,920,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,2,103,1,921,270,2,103,1,922,270,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,923,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,924,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,14,6,22,3,5,1,45,30,5,1,1,4,3,6,29,-298,-298,-298,-298,-298,-298,143,-298,-298,-298,-298,-298,925,-298,8,20,16,66,1,1,20,38,1,519,927,96,520,270,926,517,518,8,20,16,66,1,1,20,38,1,519,929,96,520,270,928,517,518,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,3,6,22,8,730,930,731,5,92,1,2,2,4,-142,-142,-142,-142,-142,2,6,31,108,931,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-518,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,932,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,131,132,-441,127,-441,-441,-441,-441,130,-441,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-441,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,933,-491,-491,-491,-491,-491,-491,934,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-491,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,935,-496,-496,-496,-496,-496,-496,-496,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-496,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,936,-500,-500,-500,-500,-500,-500,-500,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-500,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,937,-504,-504,-504,-504,-504,-504,-504,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-504,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,938,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,939,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-422,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-424,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-423,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-425,-425,-425,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-425,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,107,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,940,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,109,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,6,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,357,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,941,92,93,94,95,89,41,42,90,91,86,87,88,83,356,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,25,5,1,76,-399,-399,-399,-399,-399,3,6,30,1,769,770,942,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-154,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,943,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,110,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,5,1,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,357,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,944,945,92,93,94,95,89,41,42,90,91,86,87,88,83,356,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-157,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,946,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-159,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,947,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,948,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-194,-194,-194,-194,-194,-194,-396,-396,-194,-396,-194,-396,-396,-396,-194,-396,-396,-194,-396,-194,-194,-194,-194,-396,-194,-396,-396,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,5,6,24,1,5,77,-405,949,564,-405,-405,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,2,36,22,165,950,6,6,25,5,1,76,22,-344,-344,-344,-344,-344,-344,5,6,24,1,5,1,-405,951,383,-405,-405,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-170,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,952,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,131,132,-173,127,128,129,-173,-173,130,-173,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,953,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,1,36,-461,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,954,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,955,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,956,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,957,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,958,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,27,36,22,130,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,959,131,132,960,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,27,36,22,130,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,961,131,132,962,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,2,36,22,165,963,1,37,964,4,6,31,158,15,965,-470,-470,-470,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,966,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,2,36,22,165,967,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,2,36,22,165,968,2,17,19,-340,-340,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,2,36,22,165,969,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,2,36,22,165,970,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,2,6,31,-376,-376,1,102,971,3,27,6,118,100,972,101,3,23,69,1,973,171,107,5,6,22,2,1,5,-405,-405,974,661,-405,3,27,6,118,100,975,101,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,1,25,976,4,20,15,4,63,458,977,459,96,6,20,9,6,1,3,63,458,978,456,457,459,96,5,6,22,3,5,1,-36,-36,-36,-36,-36,3,6,30,1,841,842,979,5,6,22,3,5,1,-41,-41,-41,-41,-41,5,6,22,3,5,1,-43,-43,-43,-43,-43,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,3,23,69,1,980,171,107,3,6,22,8,841,981,842,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,45,1,5,19,3,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-47,-47,982,-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,4,20,19,21,42,674,469,983,96,6,20,16,3,3,18,42,674,467,469,984,466,96,5,6,22,3,5,1,-90,-90,-90,-90,-90,3,6,30,1,853,854,985,5,6,22,3,5,1,-95,-95,-95,-95,-95,5,6,22,3,5,1,-96,-96,-96,-96,-96,5,6,22,3,5,1,-98,-98,-98,-98,-98,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,3,23,69,1,986,171,107,3,23,69,1,987,171,107,3,6,22,8,853,988,854,2,36,22,165,820,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,131,132,-65,127,128,129,-65,-65,130,-65,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,989,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,131,132,-67,127,128,129,-67,-67,130,-67,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,990,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,991,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,131,132,-77,127,128,129,-77,-77,130,-77,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,992,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,993,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,131,132,-80,127,128,129,-80,-80,130,-80,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,994,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,131,132,-83,127,128,129,-83,-83,130,-83,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,995,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,996,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,131,132,-86,127,128,129,-86,-86,130,-86,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,997,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,131,132,-70,127,128,129,-70,-70,130,-70,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,131,132,-71,127,128,129,-71,-71,130,-71,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,998,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,999,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,131,132,-74,127,128,129,-74,-74,130,-74,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1000,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1001,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,6,6,24,1,5,1,109,-405,493,492,-405,-405,1002,5,6,25,5,1,106,-254,-254,-254,-254,-254,5,6,25,5,1,106,-255,-255,-255,-255,-255,1,120,1003,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,25,120,68,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1004,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,37,83,68,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-323,-323,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,1,120,1005,1,120,1006,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1007,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,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,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,6,20,82,1,1,58,1,519,96,520,270,1008,518,7,20,82,1,1,20,38,1,519,96,520,270,1009,517,518,5,6,25,5,1,88,-304,-304,-304,-304,-304,3,6,30,1,903,904,1010,6,6,25,5,1,15,73,-308,-308,-308,-308,1011,-308,29,6,25,5,1,88,63,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-309,-309,-309,-309,-309,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,3,6,30,1,903,904,1012,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1013,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-433,5,6,22,3,5,1,-270,-270,-270,-270,-270,5,6,24,1,5,1,-405,1014,529,-405,-405,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1015,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1016,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,29,6,22,3,5,1,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-279,-279,-279,-279,-279,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1017,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,6,6,22,3,5,1,118,-319,-319,-319,-319,-319,-319,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,25,120,68,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1018,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1019,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,5,6,24,1,5,89,-405,1020,720,-405,-405,7,20,82,1,1,20,38,1,519,96,520,270,1021,517,518,5,6,24,1,5,89,-405,1022,720,-405,-405,7,20,82,1,1,20,38,1,519,96,520,270,1023,517,518,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,5,1,1,5,1,1,1,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,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,1,98,1024,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1025,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1026,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1027,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1028,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1029,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1030,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,1031,-498,-498,-498,-498,-498,-498,-498,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-498,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,1032,-502,-502,-502,-502,-502,-502,-502,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-502,5,6,25,5,1,76,-400,-400,-400,-400,-400,5,6,24,1,5,1,-405,1033,564,-405,-405,5,6,25,5,1,76,-401,-401,-401,-401,-401,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-195,-195,-195,-195,-195,-195,-396,-396,-195,-396,-195,-396,-396,-396,-195,-396,-396,-195,-396,-195,-195,-195,-195,-396,-195,-396,-396,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,5,6,24,1,5,77,-405,1034,564,-405,-405,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-160,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1035,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,3,6,30,77,769,770,1036,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,3,6,30,1,593,594,1037,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,27,36,22,130,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1038,131,132,1039,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,27,36,22,130,1,6,3,1,13,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1040,131,132,127,128,129,130,1041,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1042,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1043,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1044,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1045,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1046,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,37,1047,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,3,37,158,15,-471,-471,-471,26,31,5,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-473,-473,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,2,6,31,-382,-382,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-23,-23,-23,-23,1048,-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,3,6,22,8,841,1049,842,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,3,23,69,1,1050,171,107,5,6,22,3,5,1,-37,-37,-37,-37,-37,5,6,24,1,5,1,-405,1051,661,-405,-405,5,6,22,3,5,1,-38,-38,-38,-38,-38,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,1,25,1052,3,23,69,1,1053,171,107,5,6,22,3,5,1,-91,-91,-91,-91,-91,5,6,24,1,5,1,-405,1054,672,-405,-405,5,6,22,3,5,1,-92,-92,-92,-92,-92,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,1,25,1055,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,131,132,-68,127,128,129,-68,-68,130,-68,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1056,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,131,132,-78,127,128,129,-78,-78,130,-78,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1057,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,131,132,-81,127,128,129,-81,-81,130,-81,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,131,132,-84,127,128,129,-84,-84,130,-84,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1058,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,131,132,-87,127,128,129,-87,-87,130,-87,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,131,132,-72,127,128,129,-72,-72,130,-72,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1059,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,131,132,-75,127,128,129,-75,-75,130,-75,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1060,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,2,36,1,698,1061,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,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,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,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,-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,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,1,120,1062,5,6,25,5,1,88,-305,-305,-305,-305,-305,5,6,24,1,5,1,-405,1063,720,-405,-405,1,125,1064,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1065,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,125,1066,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1067,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,3,6,30,1,730,731,1068,5,6,22,3,5,1,-275,-275,-275,-275,-275,5,6,22,3,5,1,-278,-278,-278,-278,-278,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1069,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1070,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,3,6,30,89,903,904,1071,5,6,24,1,5,1,-405,1072,720,-405,-405,3,6,30,89,903,904,1073,5,6,24,1,5,1,-405,1074,720,-405,-405,5,92,1,2,2,4,-143,-143,-143,-143,-143,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,1075,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-492,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,1076,-493,-493,-493,-493,-493,-493,-493,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-493,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-497,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-501,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-505,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1077,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1078,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,6,30,1,769,770,1079,3,6,30,77,769,770,1080,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-196,-196,-196,-196,-196,-196,-397,-397,-196,-397,-196,-397,-397,-397,-196,-397,-397,-196,-397,-196,-196,-196,-196,-397,-196,-397,-397,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,6,6,25,5,1,76,22,-345,-345,-345,-345,-345,-345,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1081,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1082,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1083,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1084,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,3,27,6,118,100,1085,101,1,25,1086,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-22,-22,-22,-22,1087,-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,3,6,30,1,841,842,1088,3,23,69,1,1089,171,107,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,3,6,30,1,853,854,1090,3,23,69,1,1091,171,107,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,5,6,25,5,1,106,-256,-256,-256,-256,-256,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,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,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,3,6,30,1,903,904,1092,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,29,6,25,5,1,88,63,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-310,-310,-310,-310,-310,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,45,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,4,1,3,1,4,1,8,3,10,1,1,5,1,1,1,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,1093,727,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,5,6,22,3,5,1,-271,-271,-271,-271,-271,5,6,22,3,5,1,-280,-280,-280,-280,-280,1,120,1094,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,3,6,30,1,903,904,1095,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,3,6,30,1,903,904,1096,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1097,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1098,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-499,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-503,5,6,25,5,1,76,-402,-402,-402,-402,-402,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-197,-197,-197,-197,-197,-197,-397,-397,-197,-397,-197,-397,-397,-397,-197,-397,-397,-197,-397,-197,-197,-197,-197,-397,-197,-397,-397,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1099,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1100,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,3,23,69,1,1101,171,107,3,27,6,118,100,1102,101,5,6,22,3,5,1,-39,-39,-39,-39,-39,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,5,6,22,3,5,1,-93,-93,-93,-93,-93,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,5,6,25,5,1,88,-306,-306,-306,-306,-306,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,1,125,1103,1,125,1104,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-494,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-495,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-24,-24,-24,-24,1105,-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,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,3,27,6,118,100,1106,101,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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],t=[],r=0,n,i,s,a;while(r","ArrowKind → =>","DoIife → DO_IIFE Code","This → THIS","This → @","ThisProperty → @ Property","ThisProperty → @ STRING","Array → [ ]","Array → [ Elisions ]","Array → [ ArgElisionList OptElisions ]","ArgElisionList → ArgElision","ArgElisionList → ArgElisionList , ArgElision","ArgElisionList → ArgElisionList OptComma TERMINATOR ArgElision","ArgElisionList → INDENT ArgElisionList OptElisions OUTDENT","ArgElisionList → ArgElisionList OptElisions INDENT ArgElisionList OptElisions OUTDENT","ArgElision → Arg","ArgElision → Elisions Arg","OptElisions → OptComma","OptElisions → , Elisions","Elisions → Elision","Elisions → Elisions Elision","Elision → ,","Elision → Elision TERMINATOR","Object → { AssignList OptComma }","Object → MAP_START { AssignList OptComma }","AssignList → ε","AssignList → AssignObj","AssignList → AssignList , AssignObj","AssignList → AssignList OptComma TERMINATOR AssignObj","AssignList → AssignList OptComma INDENT AssignList OptComma OUTDENT","AssignObj → ObjAssignable","AssignObj → ObjRestValue","AssignObj → ObjAssignable : Expression","AssignObj → ObjAssignable : INDENT Expression OUTDENT","AssignObj → Regex : Expression","AssignObj → SimpleObjAssignable = Expression","AssignObj → SimpleObjAssignable = INDENT Expression OUTDENT","AssignObj → SimpleObjAssignable VOID_MARKER : Expression","AssignObj → SimpleObjAssignable VOID_MARKER : INDENT Expression OUTDENT","ObjRestValue → ... SimpleObjAssignable","ObjRestValue → ... ObjSpreadExpr","ObjSpreadExpr → SimpleObjAssignable","ObjSpreadExpr → Object","ObjSpreadExpr → Parenthetical","ObjSpreadExpr → Super","ObjSpreadExpr → This","ObjSpreadExpr → SUPER Arguments","ObjSpreadExpr → DYNAMIC_IMPORT Arguments","ObjSpreadExpr → SimpleObjAssignable Arguments","ObjSpreadExpr → ObjSpreadExpr Arguments","ObjSpreadExpr → ObjSpreadExpr . Property","ObjSpreadExpr → ObjSpreadExpr ?. Property","ObjSpreadExpr → ObjSpreadExpr INDEX_START Expression INDEX_END","ObjSpreadExpr → ObjSpreadExpr INDEX_START INDENT Expression OUTDENT INDEX_END","ObjSpreadExpr → ObjSpreadExpr DAMMIT","ObjSpreadExpr → ObjSpreadExpr MAYBE_DAMMIT Arguments","ObjSpreadExpr → ObjSpreadExpr MAYBE_DAMMIT","ObjSpreadExpr → ObjSpreadExpr PICK_START PickList OptComma PICK_END","ObjSpreadExpr → ObjSpreadExpr OPTPICK_START PickList OptComma PICK_END","ObjSpreadExpr → ObjSpreadExpr PICK_START INDENT PickList OptComma OUTDENT PICK_END","ObjSpreadExpr → ObjSpreadExpr OPTPICK_START INDENT PickList OptComma OUTDENT PICK_END","PickList → PickItem","PickList → PickList , PickItem","PickList → PickList OptComma TERMINATOR PickItem","PickList → PickList OptComma INDENT PickList OptComma OUTDENT","PickItem → PickKey","PickItem → PickKey : PickKey","PickItem → PickKey = Expression","PickItem → PickKey : PickKey = Expression","PickKey → Identifier","PickKey → Property","SimpleObjAssignable → Identifier","SimpleObjAssignable → Property","SimpleObjAssignable → ThisProperty","ObjAssignable → SimpleObjAssignable","ObjAssignable → Atom","ObjAssignable → [ Expression ]","ObjAssignable → @ [ Expression ]","RangeDots → ..","RangeDots → ...","Range → [ Expression RangeDots Expression ]","Slice → Expression RangeDots Expression","Slice → Expression RangeDots","Slice → RangeDots Expression","Slice → RangeDots","Def → DEF Identifier OptParams Block","Def → DEF Identifier OptParams TYPE Block","Def → DEF Identifier TYPE_PARAMS OptParams Block","Def → DEF Identifier TYPE_PARAMS OptParams TYPE Block","Def → DEF Identifier VOID_MARKER OptParams Block","Def → DEF Identifier VOID_MARKER OptParams TYPE Block","Def → DEF ThisProperty OptParams Block","Def → DEF ThisProperty OptParams TYPE Block","Def → DEF ThisProperty TYPE_PARAMS OptParams Block","Def → DEF ThisProperty TYPE_PARAMS OptParams TYPE Block","Def → DEF ThisProperty VOID_MARKER OptParams Block","Def → DEF ThisProperty VOID_MARKER OptParams TYPE Block","OptParams → ε","OptParams → CALL_START ParamList CALL_END","ParamList → ε","ParamList → Param","ParamList → ParamList , Param","ParamList → ParamList OptComma TERMINATOR Param","ParamList → ParamList OptComma INDENT ParamList OptComma OUTDENT","Param → TypedParamVar","Param → TypedParamVar = Expression","Param → ... TypedParamVar","Param → ...","TypedParamVar → ParamVar","TypedParamVar → ParamVar TYPE","TypedParamVar → ParamVar OPT_MARKER TYPE","TypedParamVar → ParamVar OPT_MARKER","ParamVar → Identifier","ParamVar → Array","ParamVar → Object","ParamVar → ThisProperty","Splat → ... Expression","ClassName → Identifier","Class → CLASS","Class → CLASS Block","Class → CLASS EXTENDS Expression","Class → CLASS EXTENDS Expression Block","Class → CLASS ClassName","Class → CLASS ClassName Block","Class → CLASS ClassName EXTENDS Expression","Class → CLASS ClassName EXTENDS Expression Block","Class → CLASS ThisProperty Block","Class → CLASS ThisProperty EXTENDS Expression Block","Enum → ENUM Identifier Block","Schema → SCHEMA SCHEMA_BODY","Component → COMPONENT ComponentBlock","Component → COMPONENT EXTENDS Expression ComponentBlock","ComponentBlock → INDENT ComponentBody OUTDENT","ComponentBody → ComponentLine","ComponentBody → ComponentBody TERMINATOR ComponentLine","ComponentBody → ComponentBody TERMINATOR","ComponentLine → Expression","ComponentLine → Statement","ComponentLine → OFFER Expression","ComponentLine → ACCEPT IDENTIFIER","ComponentLine → ACCEPT IDENTIFIER FROM IDENTIFIER","Render → RENDER Block","Render → RENDER Expression","Super → SUPER . Property","Super → SUPER INDEX_START Expression INDEX_END","Super → SUPER INDEX_START INDENT Expression OUTDENT INDEX_END","Invocation → Value Arguments","Invocation → SUPER Arguments","Invocation → Value ES6_OPTIONAL_CALL Arguments","Invocation → Value ? Arguments","Invocation → Value MAYBE_DAMMIT Arguments","Invocation → Value MAYBE_DAMMIT","Invocation → DYNAMIC_IMPORT Arguments","Invocation → DYNAMIC_IMPORT DAMMIT Arguments","Arguments → CALL_START CALL_END","Arguments → CALL_START ArgList OptComma CALL_END","ArgList → Arg","ArgList → ArgList , Arg","ArgList → ArgList OptComma TERMINATOR Arg","ArgList → INDENT ArgList OptComma OUTDENT","ArgList → ArgList OptComma INDENT ArgList OptComma OUTDENT","Arg → Expression","Arg → Splat","OptComma → ε","OptComma → ,","Block → INDENT OUTDENT","Block → INDENT Body OUTDENT","Parenthetical → ( Body )","Parenthetical → ( INDENT Body OUTDENT )","Return → RETURN Expression","Return → RETURN INDENT Object OUTDENT","Return → RETURN","While → WHILE Expression Block","While → UNTIL Expression Block","While → WHILE Expression WHEN Expression Block","While → UNTIL Expression WHEN Expression Block","While → Expression WHILE Expression","While → Statement WHILE Expression","While → Expression UNTIL Expression","While → Statement UNTIL Expression","While → Expression WHILE Expression WHEN Expression","While → Statement WHILE Expression WHEN Expression","While → Expression UNTIL Expression WHEN Expression","While → Statement UNTIL Expression WHEN Expression","While → Loop","IfBlock → IF Expression Block","IfBlock → IF Expression Block IfElseTail","IfElseTail → ELSE IF Expression Block","IfElseTail → ELSE IF Expression Block IfElseTail","IfElseTail → ELSE Block","UnlessBlock → UNLESS Expression Block","UnlessBlock → UNLESS Expression Block ELSE Block","If → IfBlock","If → UnlessBlock","If → Statement POST_IF Expression","If → Expression POST_IF Expression","If → Statement POST_UNLESS Expression","If → Expression POST_UNLESS Expression","If → Expression POST_IF Expression ELSE INDENT Expression OUTDENT","If → Expression POST_IF Expression ELSE Expression","Try → TRY Block","Try → TRY Expression","Try → TRY Expression Catch","Try → TRY Statement","Try → TRY Statement Catch","Try → TRY Block Catch","Try → TRY Block Finalizer","Try → TRY Block Catch Finalizer","Try → TRY Expression Finalizer","Try → TRY Expression Catch Finalizer","Try → TRY Statement Finalizer","Try → TRY Statement Catch Finalizer","Finalizer → FINALLY Block","Finalizer → FINALLY Expression","Catch → CATCH CatchVar Block","Catch → CATCH Object Block","Catch → CATCH Array Block","Catch → CATCH Block","CatchVar → Identifier","CatchVar → Identifier TYPE","Throw → THROW Expression","Throw → THROW INDENT Object OUTDENT","Switch → SWITCH Expression INDENT Cases OUTDENT","Switch → SWITCH Expression INDENT Cases ELSE Block OUTDENT","Switch → SWITCH INDENT Cases OUTDENT","Switch → SWITCH INDENT Cases ELSE Block OUTDENT","Cases → When","Cases → Cases When","When → LEADING_WHEN SimpleArgs Block","When → LEADING_WHEN SimpleArgs Block TERMINATOR","SimpleArgs → Expression","SimpleArgs → SimpleArgs , Expression","For → FOR ForVariables FORIN Expression Block","For → FOR ForVariables FORIN Expression BY Expression Block","For → FOR ForVariables FORIN Expression WHEN Expression Block","For → FOR ForVariables FORIN Expression WHEN Expression BY Expression Block","For → FOR ForVariables FORIN Expression BY Expression WHEN Expression Block","For → FOR ForVariables FOROF Expression Block","For → FOR ForVariables FOROF Expression WHEN Expression Block","For → FOR OWN ForVariables FOROF Expression Block","For → FOR OWN ForVariables FOROF Expression WHEN Expression Block","For → FOR ForVariables FORAS Expression Block","For → FOR ForVariables FORAS Expression WHEN Expression Block","For → FOR AWAIT ForVariables FORAS Expression Block","For → FOR AWAIT ForVariables FORAS Expression WHEN Expression Block","For → FOR ForVariables FORASAWAIT Expression Block","For → FOR ForVariables FORASAWAIT Expression WHEN Expression Block","For → FOR Range Block","For → FOR Range BY Expression Block","For → Expression FOR ForVariables FORIN Expression","For → Expression FOR ForVariables FORIN Expression WHEN Expression","For → Expression FOR ForVariables FORIN Expression BY Expression","For → Expression FOR ForVariables FORIN Expression WHEN Expression BY Expression","For → Expression FOR ForVariables FORIN Expression BY Expression WHEN Expression","For → Expression FOR ForVariables FOROF Expression","For → Expression FOR ForVariables FOROF Expression WHEN Expression","For → Expression FOR OWN ForVariables FOROF Expression","For → Expression FOR OWN ForVariables FOROF Expression WHEN Expression","For → Expression FOR ForVariables FORAS Expression","For → Expression FOR ForVariables FORAS Expression WHEN Expression","For → Expression FOR AWAIT ForVariables FORAS Expression","For → Expression FOR AWAIT ForVariables FORAS Expression WHEN Expression","For → Expression FOR ForVariables FORASAWAIT Expression","For → Expression FOR ForVariables FORASAWAIT Expression WHEN Expression","ForValue → ParamVar","ForVariables → ForValue","ForVariables → ForValue , ForValue","Loop → LOOP Block","Loop → LOOP Expression Block","Operation → -- SimpleAssignable","Operation → ++ SimpleAssignable","Operation → SimpleAssignable --","Operation → SimpleAssignable ++","Operation → Value ?","Operation → Expression CAST","Operation → Expression SATISFIES","Operation → Expression TERNARY Expression : Expression","Operation → UNARY Expression","Operation → DO Expression","Operation → UNARY_MATH Expression","Operation → AWAIT Expression","Operation → AWAIT INDENT Object OUTDENT","Operation → YIELD","Operation → YIELD Expression","Operation → YIELD INDENT Object OUTDENT","Operation → YIELD FROM Expression","Operation → - Expression","Operation → + Expression","Operation → Expression ** Expression","Operation → Expression + Expression","Operation → Expression - Expression","Operation → Expression MATH Expression","Operation → Expression SHIFT Expression","Operation → Expression & Expression","Operation → Expression ^ Expression","Operation → Expression | Expression","Operation → Expression COMPARE Expression","Operation → Expression MATCH Expression","Operation → Expression RELATION Expression","Operation → Expression && Expression","Operation → Expression || Expression","Operation → Expression ?? Expression","Operation → Expression && Return","Operation → Expression || Return","Operation → Expression ?? Return","Operation → Expression && STATEMENT","Operation → Expression || STATEMENT","Operation → Expression ?? STATEMENT","Operation → Expression THEN Expression","Operation → Expression ELSE Expression","Operation → Expression THEN Return","Operation → Expression ELSE Return","Operation → Expression THEN STATEMENT","Operation → Expression ELSE STATEMENT"],ruleActions:(e,t,r,n)=>{let i=t,s=t.length-1;switch(e){case 1:return["program"];case 2:return["program",...i[s]];case 3:case 35:case 89:case 140:case 257:case 261:case 268:case 303:case 342:case 375:case 398:case 468:case 472:case 507:return[i[s]];case 4:case 36:case 90:case 269:case 304:case 343:case 376:case 399:{let a=i[s-2];return a.push(i[s]),a}break;case 5:case 142:case 180:case 264:case 340:case 377:return i[s-1];case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 40:case 42:case 44:case 94:case 97:case 99:case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:case 108:case 109:case 110:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 122:case 123:case 124:case 125:case 126:case 128:case 130:case 131:case 134:case 135:case 136:case 138:case 145:case 146:case 148:case 149:case 175:case 176:case 177:case 178:case 179:case 181:case 182:case 183:case 205:case 206:case 228:case 229:case 230:case 231:case 232:case 237:case 238:case 242:case 243:case 252:case 273:case 283:case 284:case 285:case 286:case 287:case 311:case 312:case 313:case 314:case 315:case 316:case 317:case 346:case 350:case 354:case 355:case 356:case 357:case 359:case 378:case 379:case 403:case 404:case 405:case 406:case 426:case 431:case 434:case 435:case 454:case 460:case 506:return i[s];case 14:return["type-decl",i[s]];case 15:case 351:case 461:return["typed-var",i[s-1],i[s]];case 16:case 352:return["typed-var",i[s-2],i[s]];case 17:return["def-sig",i[s-2],i[s-1],i[s]];case 18:return["import",i[s]];case 19:case 20:case 31:case 32:return["import",i[s-2],i[s]];case 21:case 33:return["import","{}",i[s]];case 22:case 34:return["import",i[s-4],i[s]];case 23:return["import",i[s-4],i[s-2],i[s]];case 24:return["import",i[s-7],i[s-4],i[s]];case 25:return["import",[i[s-1],i[s]],i[s-2]];case 26:case 27:return["import",i[s-4],[i[s-1],i[s]],i[s-2]];case 28:return["import",i[s-6],[i[s-1],i[s]],i[s-2]];case 29:return["import",i[s-6],i[s-4],[i[s-1],i[s]],i[s-2]];case 30:return["import",i[s-9],i[s-6],[i[s-1],i[s]],i[s-2]];case 37:case 91:case 270:case 305:case 344:case 400:{let a=i[s-3];return a.push(i[s]),a}break;case 38:case 92:case 143:case 397:case 401:return i[s-2];case 39:case 93:case 271:case 306:case 345:case 402:{let a=i[s-5];return a.push(...i[s-2]),a}break;case 41:case 43:case 95:case 96:case 98:case 508:return[i[s-2],i[s]];case 45:return["*",i[s]];case 46:return["export","{}"];case 47:return["export",i[s-2]];case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:return["export",i[s]];case 56:return["export-default",i[s]];case 57:return["export-default",i[s-1]];case 58:return["export-all",i[s]];case 59:case 60:return["export-all",i[s],i[s-2]];case 61:return["export-from","{}",i[s]];case 62:case 63:return["export-from",i[s-4],i[s]];case 64:case 150:case 162:case 277:return["=",i[s-2],i[s]];case 65:case 67:case 70:case 151:case 153:case 156:case 163:case 164:return["=",i[s-3],i[s]];case 66:case 152:case 278:return["=",i[s-4],i[s-1]];case 68:case 154:case 157:case 159:return["=",i[s-4],i[s]];case 69:case 155:case 158:return["=",i[s-5],i[s-1]];case 71:case 169:return["void-assign",i[s-3],i[s]];case 72:case 170:return["void-assign",i[s-4],i[s]];case 73:case 171:return["void-assign",i[s-5],i[s-1]];case 74:case 172:return["void-readonly",i[s-3],i[s]];case 75:case 173:return["void-readonly",i[s-4],i[s]];case 76:case 174:return["void-readonly",i[s-5],i[s-1]];case 77:case 185:case 186:return["state",i[s-3],i[s]];case 78:case 187:return["state",i[s-4],i[s]];case 79:return["state",i[s-5],i[s-1]];case 80:case 82:case 189:case 190:return["computed",i[s-3],i[s]];case 81:case 191:return["computed",i[s-4],i[s]];case 83:case 199:case 200:return["readonly",i[s-3],i[s]];case 84:case 201:return["readonly",i[s-4],i[s]];case 85:return["readonly",i[s-5],i[s-1]];case 86:case 88:case 203:return["effect",i[s-3],i[s]];case 87:return["effect",i[s-4],i[s]];case 127:case 296:return["dammit!",i[s-1]];case 129:case 236:return["tagged-template",i[s-2],i[s]];case 132:return"undefined";case 133:return"null";case 137:return["symbol",i[s]];case 139:return["str",...i[s-1]];case 141:case 262:case 469:{let a=i[s-1];return a.push(i[s]),a}break;case 144:return"";case 147:return["here-regex",i[s],...i[s-1]];case 160:return["=",i[s-5],i[s]];case 161:return["=",i[s-6],i[s-1]];case 165:case 323:case 533:case 534:case 538:case 540:return[i[s-1],i[s-2],i[s]];case 166:return[i[s-3],i[s-4],i[s-1]];case 167:return[i[s-2],i[s-3],i[s]];case 168:return[".=",i[s-2],i[s]];case 184:return["state",i[s-2],i[s]];case 188:return["computed",i[s-2],i[s]];case 192:return["gate",i[s-2],i[s]];case 193:return["gate",i[s-3],i[s]];case 194:return["gate",i[s-4],i[s-2]];case 195:return["gate",i[s-5],i[s-2]];case 196:return["gate",i[s-6],i[s-4],...i[s-2]];case 197:return["gate",i[s-7],i[s-4],...i[s-2]];case 198:return["readonly",i[s-2],i[s]];case 202:return["effect",i[s-2],i[s]];case 204:return["effect",null,i[s]];case 207:case 220:case 221:case 233:case 292:return[".",i[s-2],i[s]];case 208:case 234:case 293:return["?.",i[s-2],i[s]];case 209:case 212:case 235:case 294:return["[]",i[s-3],i[s-1]];case 210:case 213:case 295:return["[]",i[s-5],i[s-2]];case 211:return["regex-index",i[s-5],i[s-3],i[s-1]];case 214:return["optindex",i[s-4],i[s-1]];case 215:return["optindex",i[s-6],i[s-2]];case 216:case 299:return[".{}",i[s-4],...i[s-2]];case 217:case 300:return["?.{}",i[s-4],...i[s-2]];case 218:case 301:return[".{}",i[s-6],...i[s-3]];case 219:case 302:return["?.{}",i[s-6],...i[s-3]];case 222:case 223:case 224:case 456:case 457:case 458:case 519:case 521:return[i[s-1],i[s]];case 225:return["await",["new",i[s-1]]];case 226:return["await",["new",[i[s-2],...i[s]]]];case 227:case 289:case 290:case 291:case 388:case 394:return[i[s-1],...i[s]];case 239:return[i[s-1],i[s-3],i[s]];case 240:return[i[s-1],i[s-4],i[s]];case 241:return[i[s-1],[],i[s]];case 244:case 520:return["do-iife",i[s]];case 245:case 246:return"this";case 247:case 248:return[".","this",i[s]];case 249:return["array"];case 250:return["array",...i[s-1]];case 251:return["array",...i[s-2],...i[s-1]];case 253:{let a=i[s-2];return a.push(...i[s]),a}break;case 254:{let a=i[s-3];return a.push(...i[s]),a}break;case 255:return[...i[s-2],...i[s-1]];case 256:{let a=i[s-5];return a.push(...i[s-4],...i[s-2],...i[s-1]),a}break;case 258:return[...i[s-1],i[s]];case 259:case 267:case 339:case 341:case 396:return[];case 260:return[...i[s]];case 263:return null;case 265:return["object",...i[s-2]];case 266:return["map",...i[s-2]];case 272:return[null,i[s],i[s]];case 274:case 276:return[":",i[s-2],i[s]];case 275:return[":",i[s-4],i[s-1]];case 279:return["void-pair",i[s-3],i[s]];case 280:return["void-pair",i[s-5],i[s-1]];case 281:case 282:case 358:return["...",i[s]];case 288:case 389:return["super",...i[s]];case 297:case 392:return["dammit?",i[s-2],...i[s]];case 298:case 393:return["dammit?",i[s-1]];case 307:return[i[s],i[s],null];case 308:return[i[s-2],i[s],null];case 309:return[i[s-2],i[s-2],i[s]];case 310:return[i[s-4],i[s-2],i[s]];case 318:return["dynamicKey",i[s-1]];case 319:return["[]","this",i[s-1]];case 320:return"..";case 321:return"...";case 322:return[i[s-2],i[s-3],i[s-1]];case 324:return[i[s],i[s-1],null];case 325:return[i[s-1],null,i[s]];case 326:return[i[s],null,null];case 327:case 333:return["def",i[s-2],i[s-1],i[s]];case 328:case 334:return["def",i[s-3],i[s-2],i[s]];case 329:case 335:return["def",i[s-3],i[s-1],i[s]];case 330:case 336:return["def",i[s-4],i[s-2],i[s]];case 331:case 337:return["void-def",i[s-3],i[s-1],i[s]];case 332:case 338:return["void-def",i[s-4],i[s-2],i[s]];case 347:return["default",i[s-2],i[s]];case 348:return["rest",i[s]];case 349:return["expansion"];case 353:return["typed-var",i[s-1],""];case 360:return["class",null,null];case 361:return["class",null,null,i[s]];case 362:return["class",null,i[s]];case 363:return["class",null,i[s-1],i[s]];case 364:return["class",i[s],null];case 365:case 368:return["class",i[s-1],null,i[s]];case 366:return["class",i[s-2],i[s]];case 367:case 369:return["class",i[s-3],i[s-1],i[s]];case 370:return["enum",i[s-1],i[s]];case 371:return["schema",i[s]];case 372:return["component",null,i[s]];case 373:return["component",i[s-1],i[s]];case 374:case 408:return["block",...i[s-1]];case 380:return["offer",i[s]];case 381:return["accept",i[s]];case 382:return["accept",i[s-2],i[s]];case 383:case 384:return["render",i[s]];case 385:return[".","super",i[s]];case 386:return["[]","super",i[s-1]];case 387:return["[]","super",i[s-2]];case 390:case 391:return["optcall",i[s-2],...i[s]];case 395:return["await",["import",...i[s]]];case 407:return["block"];case 409:return i[s-1].length===1?(Array.isArray(i[s-1][0])&&(i[s-1][0].parenthesized=!0),i[s-1][0]):["block",...i[s-1]];case 410:return i[s-2].length===1?(Array.isArray(i[s-2][0])&&(i[s-2][0].parenthesized=!0),i[s-2][0]):["block",...i[s-2]];case 411:return["return",i[s]];case 412:return["return",i[s-1]];case 413:return["return"];case 414:return["while",i[s-1],i[s]];case 415:return["while",["!",i[s-1]],i[s]];case 416:return["while",i[s-3],i[s-1],i[s]];case 417:return["while",["!",i[s-3]],i[s-1],i[s]];case 418:case 419:return["while",i[s],[i[s-2]]];case 420:case 421:return["while",["!",i[s]],[i[s-2]]];case 422:case 423:return["while",i[s-2],i[s],[i[s-4]]];case 424:case 425:return["while",["!",i[s-2]],i[s],[i[s-4]]];case 427:case 429:return["if",i[s-1],i[s]];case 428:case 430:return["if",i[s-2],i[s-1],i[s]];case 432:return["if",["!",i[s-1]],i[s]];case 433:return["if",["!",i[s-3]],i[s-2],i[s]];case 436:case 437:return["if",i[s],[i[s-2]]];case 438:case 439:return["if",["!",i[s]],[i[s-2]]];case 440:return["?:",i[s-4],i[s-6],i[s-1]];case 441:return["?:",i[s-2],i[s-4],i[s]];case 442:case 443:case 445:return["try",i[s]];case 444:case 446:case 447:case 448:case 450:case 452:return["try",i[s-1],i[s]];case 449:case 451:case 453:return["try",i[s-2],i[s-1],i[s]];case 455:return["block",i[s]];case 459:return[null,i[s]];case 462:return["throw",i[s]];case 463:return["throw",i[s-1]];case 464:return["switch",i[s-3],i[s-1],null];case 465:return["switch",i[s-5],i[s-3],i[s-1]];case 466:return["switch",null,i[s-1],null];case 467:return["switch",null,i[s-3],i[s-1]];case 470:return["when",i[s-1],i[s]];case 471:return["when",i[s-2],i[s-1]];case 473:return[...i[s-2],i[s]];case 474:return["for-in",i[s-3],i[s-1],null,null,i[s]];case 475:return["for-in",i[s-5],i[s-3],i[s-1],null,i[s]];case 476:return["for-in",i[s-5],i[s-3],null,i[s-1],i[s]];case 477:return["for-in",i[s-7],i[s-5],i[s-1],i[s-3],i[s]];case 478:return["for-in",i[s-7],i[s-5],i[s-3],i[s-1],i[s]];case 479:return["for-of",i[s-3],i[s-1],!1,null,i[s]];case 480:return["for-of",i[s-5],i[s-3],!1,i[s-1],i[s]];case 481:return["for-of",i[s-3],i[s-1],!0,null,i[s]];case 482:return["for-of",i[s-5],i[s-3],!0,i[s-1],i[s]];case 483:return["for-as",i[s-3],i[s-1],!1,null,i[s]];case 484:return["for-as",i[s-5],i[s-3],!1,i[s-1],i[s]];case 485:case 487:return["for-as",i[s-3],i[s-1],!0,null,i[s]];case 486:case 488:return["for-as",i[s-5],i[s-3],!0,i[s-1],i[s]];case 489:return["for-in",[],i[s-1],null,null,i[s]];case 490:return["for-in",[],i[s-3],i[s-1],null,i[s]];case 491:return["comprehension",i[s-4],[["for-in",i[s-2],i[s],null]],[]];case 492:return["comprehension",i[s-6],[["for-in",i[s-4],i[s-2],null]],[i[s]]];case 493:return["comprehension",i[s-6],[["for-in",i[s-4],i[s-2],i[s]]],[]];case 494:return["comprehension",i[s-8],[["for-in",i[s-6],i[s-4],i[s]]],[i[s-2]]];case 495:return["comprehension",i[s-8],[["for-in",i[s-6],i[s-4],i[s-2]]],[i[s]]];case 496:return["comprehension",i[s-4],[["for-of",i[s-2],i[s],!1]],[]];case 497:return["comprehension",i[s-6],[["for-of",i[s-4],i[s-2],!1]],[i[s]]];case 498:return["comprehension",i[s-5],[["for-of",i[s-2],i[s],!0]],[]];case 499:return["comprehension",i[s-7],[["for-of",i[s-4],i[s-2],!0]],[i[s]]];case 500:return["comprehension",i[s-4],[["for-as",i[s-2],i[s],!1,null]],[]];case 501:return["comprehension",i[s-6],[["for-as",i[s-4],i[s-2],!1,null]],[i[s]]];case 502:return["comprehension",i[s-5],[["for-as",i[s-2],i[s],!0,null]],[]];case 503:return["comprehension",i[s-7],[["for-as",i[s-4],i[s-2],!0,null]],[i[s]]];case 504:return["comprehension",i[s-4],[["for-as",i[s-2],i[s],!0,null]],[]];case 505:return["comprehension",i[s-6],[["for-as",i[s-4],i[s-2],!0,null]],[i[s]]];case 509:return["loop",i[s]];case 510:return["loop-n",i[s-1],i[s]];case 511:return["--",i[s],!1];case 512:return["++",i[s],!1];case 513:return["--",i[s-1],!0];case 514:return["++",i[s-1],!0];case 515:return["?",i[s-1]];case 516:return["cast",i[s-1],i[s]];case 517:return["satisfies",i[s-1],i[s]];case 518:return["?:",i[s-4],i[s-2],i[s]];case 522:return["await",i[s]];case 523:return["await",i[s-1]];case 524:return["yield"];case 525:return["yield",i[s]];case 526:return["yield",i[s-1]];case 527:return["yield-from",i[s]];case 528:return["-",i[s]];case 529:return["+",i[s]];case 530:return["**",i[s-2],i[s]];case 531:return["+",i[s-2],i[s]];case 532:return["-",i[s-2],i[s]];case 535:return["&",i[s-2],i[s]];case 536:return["^",i[s-2],i[s]];case 537:return["|",i[s-2],i[s]];case 539:return["=~",i[s-2],i[s]];case 541:case 544:case 547:case 550:case 552:case 554:return["&&",i[s-2],i[s]];case 542:case 545:case 548:case 551:case 553:case 555:return["||",i[s-2],i[s]];case 543:case 546:case 549:return["??",i[s-2],i[s]]}},parse(e,{primitives:t=!1,tolerant:r=!1}={}){let n,i,s,a,o,l,c,f,h,u,d,p,m,g,b,S,w,R,k,j,M,L,A,P,v,V,[W,G,T,N]=[[0],[null],[null],[[]]],F=this.parseTable,J=1,x=[],Q=[],U=24,r1=e.length;if(r)while(r1>0&&(e[r1-1]===` -`||e[r1-1]==="\r"))r1--;let q=new Set,s1=!1,I=[],c1=[],O=[],D=new WeakMap,H=1,z=Object.create(this.lexer),i1={ctx:{}},e1=this.ctx;for(let B in e1){if(!Object.hasOwn(e1,B))continue;let n1=e1[B];i1.ctx[B]=n1}if(z.setInput(e,i1.ctx),r&&Array.isArray(z.lexDiagnostics))x.push(...z.lexDiagnostics);[i1.ctx.lexer,i1.ctx.parser]=[z,this];let o1=()=>{let B=z.lex()||J;if(typeof B!=="number")B=this.symbolIds[B]||B;return B},f1=null,h1=null,u1={},b1=()=>{f=[];let B=F[V];for(let n1 in B){if(!Object.hasOwn(B,n1))continue;if(this.tokenNames[n1]&&+n1>2){if(!f.includes(this.tokenNames[n1]))f.push(this.tokenNames[n1])}}return f},l1=[this.symbolIds.INDENT,this.symbolIds.OUTDENT,this.symbolIds.TERMINATOR],d1=()=>{if(f1===J)return"end of input";let B=this.tokenNames[f1]||f1,n1=z.text,_=typeof n1==="string"&&n1.trim().length>0&&n1.length<=24&&!l1.includes(f1)&&!/^["'`]/.test(n1);if(_&&z.token?.generated)return`implicit '${n1}'`;return _?`'${n1}'`:`'${B}'`};while(!0){if(V=W[W.length-1],f1==null)if(Q.length>0)R=Q.shift(),f1=R.symbol,h1=R.loc,z.text=R.text,z.loc=R.loc,z.token=R.token;else f1=o1(),h1=f1===J?{start:e.length,end:e.length}:z.loc??null;if(n=F[V]?.[f1],n==null&&r&&U>0){a=f1===J?r1:h1?.start??r1,j=(B=null)=>{if(s1)return;if(s1=!0,u=d1(),f=B!=null?[this.tokenNames[B]||B]:b1(),b=`Unexpected ${u}`,f.length)b+=` — expected ${f.join(", ")}`;return x.push({message:b,start:a,end:h1?.end??a,expected:f,got:u})},i=f1===J||z.token?.generated,d=function(B){return`${W.length}:${V}:${B}`},p=null;for(let B of this.repairTable[V]??[]){if(q.has(d(B)))continue;if(i||B===this.symbolIds.TERMINATOR){p=B;break}}if(p!=null)j(p),U--,q.add(d(p)),Q.unshift({symbol:f1,loc:h1,text:z.text,token:z.token}),f1=p,h1={start:a,end:a},z.text="",z.loc=h1,z.token={generated:!0,hole:!0},n=F[V]?.[f1];else if(f1!==J){if(j(),U--,!z.token?.hole)q.clear();f1=null;continue}}if(n==null){if(f=b1(),u=d1(),v=h1?.start??0,c=h1?.end??v,b=`Unexpected ${u}`,f.length)b+=` — expected ${f.join(", ")}`;return x.push({message:b,start:v,end:c,expected:f,got:u}),{sexpr:null,stores:null,diagnostics:x,trivia:z.trivia??null,tokens:z.tokens??null}}if(n>0){if(r&&!z.token?.hole)q.clear();if(W.push(f1,n),G.push(z.text),T.push(z.loc??null),t)N.push(Array.isArray(z.text?.primitiveSpans)?z.text.primitiveSpans:z.loc!=null?[{value:z.text,sourceStart:z.loc.start,sourceEnd:z.loc.end}]:[]);f1=null}else if(n<0){if(this.ctx?.onReduce)this.ctx.onReduce(-n);if(g=this.ruleTable[-n*2+1],P=(()=>{if(g)return h=T[T.length-g],m=T[T.length-1],{start:h?.start??0,end:m?.end??(h?.end??0)};else return s=h1?.start??(T[T.length-1]?.end??0),{start:s,end:s}})(),u1.$=G[G.length-(g||1)],u1._$=P,k=this.ruleActions.call(u1,-n,G,T,i1.ctx),k!=null)u1.$=k;if(o=G.length-g,l=[],t)for(let B of this.primitiveRefs[-n])l.push(...N[o+B-1]??[]);if(S=u1.$,Array.isArray(S)&&D.has(S)&&this.accumulators[-n])L=I[D.get(S)-1],L.sourceStart=P.start,L.sourceEnd=P.end;if(Array.isArray(S)&&!D.has(S))A=this.semantics[-n],o=G.length-g,M=(B,n1,_,Y,X)=>{let t1,C,K,a1,E1,y1,S1=[],_1=1/0,v1=-1/0;for(let p1 of Y){t1=B;for(let m1 of p1.path)t1=t1[m1];if(!(Array.isArray(t1)&&!D.has(t1)))throw Error(`parse: nested annotation '${p1.role}' of rule ${-n} does not address a fresh array`);C=M(t1,p1.kind,p1.roles,p1.nested,null),S1.push(C),_1=Math.min(_1,I[C-1].sourceStart),v1=Math.max(v1,I[C-1].sourceEnd)}for(let p1 of _)if(p1.grammarRef!=null){if(E1=T[o+p1.grammarRef-1],E1==null)throw Error(`parse: missing loc for grammarRef ${p1.grammarRef} of rule ${-n} — lexer protocol violation`);_1=Math.min(_1,E1.start),v1=Math.max(v1,E1.end)}let R1=X??(_1===1/0?P:{start:_1,end:v1}),w1=H++;D.set(B,w1),I.push({nodeId:w1,fileId:0,semanticKind:n1,ruleId:-n,sourceStart:R1.start,sourceEnd:R1.end});for(let p1 of _)if(p1.grammarRef!=null){if(a1=o+p1.grammarRef-1,E1=T[a1],y1={nodeId:w1,role:p1.name,grammarRef:p1.grammarRef,childSlot:p1.childSlot,sourceStart:E1.start,sourceEnd:E1.end,childNodeId:null,fileId:0},p1.spread)y1.spread=!0;else y1.childNodeId=D.get(G[a1])??null;c1.push(y1)}else c1.push({nodeId:w1,role:p1.name,grammarRef:null,childSlot:p1.childSlot,literal:p1.literal,fileId:0});for(let p1=0;p1{let t=Object.create(l3);return Object.defineProperty(t,"ctx",{value:{...e},enumerable:!1,writable:!0,configurable:!0}),t},_s=Ns();var rr=Ns,Dc=_s.parse.bind(_s);var As=()=>{throw Error("rip: filesystem access is unavailable in the browser")};class nr{constructor({nodes:e,roles:t,primitives:r=[],nodeIds:n=null}){this.nodes=e,this.roles=t,this.primitives=r,this.nodeIds=n,this.byId=new Map(e.map((i)=>[i.nodeId,i])),this.rolesByNode=new Map,this.primitivesByValue=new Map;for(let i of t){let s=this.rolesByNode.get(i.nodeId);if(!s)s={list:[],byName:new Map},this.rolesByNode.set(i.nodeId,s);s.list.push(i),s.byName.set(i.role,i)}for(let i of r){let s=this.primitivesByValue.get(i.value);if(!s)this.primitivesByValue.set(i.value,s=[]);s.push(i)}for(let i of this.primitivesByValue.values())i.sort((s,a)=>s.sourceStart-a.sourceStart)}idOf(e){return this.nodeIds?.get(e)??null}alias(e,t){let r=this.nodeIds?.get(t);if(r!=null)this.nodeIds.set(e,r);return e}node(e){return this.byId.get(e)??null}nodesByKind(e){return this.nodes.filter((t)=>t.semanticKind===e)}rolesOf(e){return this.rolesByNode.get(e)?.list??[]}role(e,t){return this.rolesByNode.get(e)?.byName.get(t)??null}primitiveSpans(e,t,r){return(this.primitivesByValue.get(e)??[]).filter((n)=>t<=n.sourceStart&&n.sourceEnd<=r)}selfSpan(e){let t=this.byId.get(e);return t?[t.sourceStart,t.sourceEnd]:null}}var ir=(e)=>{if(e.length===0)return null;let t=e[e.length>>1].start,r=[],n=[],i=[];for(let s of e){if(Z.on)Z.n++;if(s.end<=t)n.push(s);else if(s.start>t)i.push(s);else r.push(s)}return{center:t,byStart:r,byEnd:[...r].sort((s,a)=>a.end-s.end),left:ir(n),right:ir(i)}},c3=(e,t,r)=>{let n=e;while(n!==null){if(Z.on)Z.n++;if(tt)break;r.push(i)}n=n.left}else if(t>n.center){for(let i of n.byEnd){if(Z.on)Z.n++;if(i.end<=t)break;r.push(i)}n=n.right}else{for(let i of n.byStart){if(Z.on)Z.n++;r.push(i)}break}}return r},Si=new Set(["tsDirective","shorthandProp","identifier","literal"]);class ye{constructor(e){this.rows=e,this._genTree=null,this._srcTree=null,this._genCount=-1,this._srcCount=-1}_tree(e){let t=e==="generated";if((t?this._genCount:this._srcCount)!==this.rows.length){let r=[];if(this.rows.forEach((n,i)=>{if(Z.on)Z.n++;let s=t?n.generatedStart:n.sourceStart,a=t?n.generatedEnd:n.sourceEnd;if(s!=null&&sn.start-i.start||n.i-i.i),t)this._genTree=ir(r),this._genCount=this.rows.length;else this._srcTree=ir(r),this._srcCount=this.rows.length}return t?this._genTree:this._srcTree}_stab(e,t){let r=c3(this._tree(e),t,[]);return r.sort((n,i)=>n.width-i.width||n.i-i.i),r.map((n)=>this.rows[n.i])}of(e,t){return this.rows.filter((r)=>r.nodeId===e&&r.role===t).sort((r,n)=>r.generatedStart-n.generatedStart)}atGenerated(e){return this._stab("generated",e)}atSource(e){return this._stab("source",e)}static isDirect(e){return e.mappingKind==="exact"||e.mappingKind==="synthetic"}directAtGenerated(e){return this.atGenerated(e).find(ye.isDirect)??null}directAtSource(e){let t=this.atSource(e).filter(ye.isDirect);if(t.length===0)return null;let r=(i)=>i.sourceEnd-i.sourceStart;return t.filter((i)=>r(i)===r(t[0])).find((i)=>!Si.has(i.role))??t[0]}zeroWidthExactAtSource(e){if(this._zeroSrcCount!==this.rows.length){this._zeroSrc=new Map;for(let t of this.rows){if(t.mappingKind!=="exact"||t.sourceStart!==t.sourceEnd)continue;let r=this._zeroSrc.get(t.sourceStart);if(r===void 0||t.generatedStarts.mappingKind==="exact"||s.mappingKind==="cover"&&s.role==="$self"&&s.generatedStart!==s.generatedEnd,t=(s)=>s.mappingKind==="exact"?0:1,r=(s)=>s.generatedEnd-s.generatedStart,n=(s)=>s.sourceEnd-s.sourceStart,i=new Map;for(let s of this.rows){if(!e(s))continue;let a=i.get(s.generatedStart);if(!a||t(s)s.generatedStart-a.generatedStart)}}class Se{constructor(e,{source:t=null,primitives:r=!1}={}){this.stores=e,this.source=t,this.trackPrimitives=r,this.suppressClaims=!1,this.claimWithin=null,this.chunks=[],this.length=0,this.openMarks=0,this.rows=[],this.exactSourceSpans=new Set,this.markStack=[],this.exactRanges=new Map,this.tsRegions=[],this.tsDepth=0,this.echoSpans=[]}tsOnly(e){let t=this.length;if(this.tsDepth++,e(),this.tsDepth--,this.tsDepth===0&&this.length>t)this.tsRegions.push([t,this.length])}echo(e){let t=this.length;if(e(),this.length>t)this.echoSpans.push([t,this.length])}get currentMark(){return this.markStack[this.markStack.length-1]??null}get offset(){return this.length}get code(){if(this.openMarks>0)return this.chunks.join("");if(this.chunks.length!==1)this.chunks=[this.chunks.join("")],this.exactRanges.clear();return this.chunks[0]}emit(e){return this.chunks.push(e),this.length+=e.length,this}beginMark(e,t){let r,n,i=null;if(t==="$self"){let s=this.stores.node(e);r=s.sourceStart,n=s.sourceEnd}else{let s=this.stores.role(e,t);if("literal"in s)i="synthetic",r=n=this.stores.node(e).sourceStart;else r=s.sourceStart,n=s.sourceEnd}this.openMarks++,this.markStack.push({nodeId:e,role:t,sourceStart:r,sourceEnd:n,mappingKind:i,generatedStart:this.length,chunkStart:this.chunks.length})}endMark(){let e=this.markStack.pop();this.openMarks--;let{mappingKind:t}=e;if(t===null){if(t=this.matchesSource(e)?"exact":"cover",t==="cover"&&Se.NORMALIZED_ROLES.has(e.role))this.layoutTwinSegments(e)}if(this.rows.push({nodeId:e.nodeId,role:e.role,mappingKind:t,sourceStart:e.sourceStart,sourceEnd:e.sourceEnd,generatedStart:e.generatedStart,generatedEnd:this.length,fileId:0}),this.trackPrimitives&&t==="exact")this.exactSourceSpans.add(`${e.sourceStart}:${e.sourceEnd}`)}static NORMALIZED_ROLES=new Set(["annotation","returnType"]);layoutTwinSegments(e){if(this.source===null)return;let t=e.sourceEnd-e.sourceStart,r=this.length-e.generatedStart;if(t===0||r===0||t>256||r>256)return;let n=this.source.slice(e.sourceStart,e.sourceEnd),i=this.chunks.slice(e.chunkStart).join("");if(n.replace(/\s+/g," ")!==i.replace(/\s+/g," "))return;let s=0,a=0;while(s0)a=a.filter((p)=>!t.some(([m,g])=>p.sourceStart>=m&&p.sourceEnd<=g));if(a.length===0)return null;let o=r.primitiveClaims??(r.primitiveClaims=new Map),l=o.get(e);if(l===void 0)o.set(e,l=new Set);let c=a.filter((p)=>!l.has(p.sourceStart)),f=c.filter((p)=>!this.exactSourceSpans.has(`${p.sourceStart}:${p.sourceEnd}`)),h=f.length>0?f:c,u=h.filter((p)=>p.nodeId===r.nodeId),d=(u.length>0?u:h)[0];if(d===void 0){let p=[...l].pop();if(d=p===void 0?void 0:a.find((m)=>m.sourceStart===p),d===void 0){let m=a.filter((g)=>this.exactSourceSpans.has(`${g.sourceStart}:${g.sourceEnd}`));d=m[m.length-1]}if(d===void 0)return null}if(l.add(d.sourceStart),this.source!==null){let p=this.source.slice(d.sourceStart,d.sourceEnd);if(p!==e&&p.endsWith(e)&&!/[\w$]/.test(p[p.length-e.length-1]??""))return[d.sourceEnd-e.length,d.sourceEnd]}return[d.sourceStart,d.sourceEnd]}matchesSource(e){if(this.source===null)return!1;if(e.sourceStart<0||e.sourceEnd>this.source.length)throw Error(`builder: mark (nodeId ${e.nodeId}, role '${e.role}') has source span [${e.sourceStart}, ${e.sourceEnd}) outside the source text [0, ${this.source.length}) — store-protocol violation`);let t=this.length;if(t-e.generatedStart!==e.sourceEnd-e.sourceStart)return!1;let r=e.sourceStart-e.generatedStart,n=this.exactRanges.get(r),i=n!==void 0&&n.genEnd<=t,s=this.chunks.length,{generatedStart:a,chunkStart:o}=e;while(o=n.genStart&&a{throw Error("rip: schema type story is unavailable in the browser")},Os=()=>!1;var f3={__proto__:null,maxlength:"maxLength",minlength:"minLength",readonly:"readOnly",tabindex:"tabIndex",colspan:"colSpan",rowspan:"rowSpan",contenteditable:"contentEditable",formaction:"formAction",formenctype:"formEnctype",formmethod:"formMethod",formnovalidate:"formNoValidate",formtarget:"formTarget",novalidate:"noValidate",crossorigin:"crossOrigin",usemap:"useMap",srclang:"srcLang",inputmode:"inputMode",cellpadding:"cellPadding",cellspacing:"cellSpacing",bgcolor:"bgColor",valign:"vAlign",nowrap:"noWrap",for:"htmlFor",datetime:"dateTime",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",dirname:"dirName",accesskey:"accessKey",enterkeyhint:"enterKeyHint",referrerpolicy:"referrerPolicy",fetchpriority:"fetchPriority",imagesrcset:"imageSrcset",imagesizes:"imageSizes",popovertargetaction:"popoverTargetAction",allowfullscreen:"allowFullscreen"},h3="type __RipClassValue = string | boolean | null | undefined | Record | __RipClassValue[];",u3="/** What a component projects through `slot`: the DOM its parent built for it — an element, a fragment, or a text node — or a value rendered as text. */\n"+"type __RipChildren = Node | string | number | boolean | null;",Is="(...args: (__RipClassValue | __RipClassValue[])[]) => string",d3=`type __RipAV = E extends Record ? V | string : F; +`))C++;s.push({kind:"comment",start:c,end:C,text:e.slice(c,C)}),c=C;continue}if(_==="$"&&(e[c+1]==='"'||e[c+1]==="'")){let C=i[i.length-1];if(C&&Ss.has(C.kind)){v("TEMPLATE_TAG","$",c,c+1),c+=1;continue}}if(j1.test(_)){let C=c;while(c{let R1=c;while(e[R1]===" "||e[R1]==="\t")R1++;let w1=e[R1]??"";if(w1==="{"||w1==="*")return!0;if(!j1.test(w1))return!1;let p1=R1+1;while(p1{let R1=c;while(e[R1]===" "||e[R1]==="\t")R1++;return e[R1]==="{"})())v("EXPORT_TYPE",K,C,c);else if(K==="type"&&l[l.length-1]?.specifiers===!0&&(()=>{let R1=c;while(e[R1]===" "||e[R1]==="\t")R1++;if(!j1.test(e[R1]??""))return!1;let w1=R1+1;while(w1"}[C]??C,E1=a1!==C,y1=1,S1=c+3;while(S10){let p1=e[S1];if(p1==="\\"){S1+=2;continue}if(E1&&p1===C)y1++;if(p1===a1)y1--;if(y1>0)S1++}if(y1!==0)P(`unclosed %w${C} — never closed by '${a1}'`,c,c+3);v("[","[",c,c+3);let _1=/(?:\\\s|\S)+/g;_1.lastIndex=c+3;let v1,R1=!0,w1=c+3;while((v1=_1.exec(e))!==null&&v1.index=S1)break;_1.lastIndex=p1}v("]","]",S1,S1+1),c=S1+1;continue}}let z=e.slice(c,c+4);if(Rs[z]){v(Rs[z],z,c,c+4),c+=4;continue}let X=e.slice(c,c+3);if(X==="==="||X==="!=="){v("COMPARE",X.slice(0,2),c,c+3),c+=3;continue}if(Es[X]){v(Es[X],X,c,c+3),c+=3;continue}let t1=e.slice(c,c+2);if(t1==="?="&&e[c+2]!=="="){v("COMPOUND_ASSIGN","??=",c,c+2),c+=2;continue}if(t1==="*{"){v("MAP_START","*",c,c+1),c+=1;continue}if(ks[t1]){if(t1==="!="&&!d&&(H()?.kind==="IDENTIFIER"||H()?.kind==="PROPERTY"))A(`cannot use the '!' sigil in an assignment to '${H().value}' (write 'a != b' with a space for comparison)`,c);v(ks[t1],t1,c,c+2),c+=2;continue}if(_==="<"||_===">"){v("COMPARE",_,c,c+1),c++;continue}if(_==="*"||_==="/"||_==="%"){if(_==="*"&&w&&(H()?.kind==="IMPORT"||H()?.kind==="IMPORT_TYPE"||H()?.kind===","))v("IMPORT_ALL",_,c,c+1);else if(_==="*"&&H()?.kind==="EXPORT")v("EXPORT_ALL",_,c,c+1);else if(_==="*"&&H()?.kind==="YIELD"&&!p)v("FROM",_,c,c+1);else v("MATH",_,c,c+1);c++;continue}if(_==="!"||_==="~"){if(_==="!"&&!d&&(H()?.kind==="IDENTIFIER"||H()?.kind==="PROPERTY"||H()?.kind==="DYNAMIC_IMPORT")){v("DAMMIT","!",c,c+1),c++;continue}v("UNARY_MATH",_,c,c+1),c++;continue}if(_==="&"||_==="|"||_==="^"){v(_,_,c,c+1),c++;continue}if(_==="?"){if(!d){if(e[c+1]==="("||e[c+1]==="["){v("?.","?",c,c+1),c++;continue}let C=H();if(e[c+1]==="!"&&C&&!C.generated&&at.has(C.kind)){if(C.kind!=="IDENTIFIER"&&C.kind!=="PROPERTY")A("maybe dammit '?!' follows a name, as dammit does (`f?!`, `obj.method?!`) — bind the value to a name first",c,c+2);v("MAYBE_DAMMIT","?!",c,c+2),c+=2;continue}if(C&&!C.generated&&at.has(C.kind)){let a1=i[i.length-2]??null,E1=a1===null||a1.kind==="@"||a1.kind==="TERMINATOR"||a1.kind==="INDENT"||a1.kind==="OUTDENT";if((C.kind==="PROPERTY"||C.kind==="IDENTIFIER")&&E1&&/^[^\S\n]*(:=|~=|=!|=(?![=>!])|:(?![:=]))/.test(e.slice(c+1))){v("OPT_MARKER","?",c,c+1),c++;continue}v("?","?",c,c+1),c++;continue}let K=i[i.length-2]??null;if(C&&(C.kind==="-"||C.kind==="+")&&!C.spaced&&(K?.kind==="]"||K?.kind==="INDEX_END")&&e[c+1]===":"){v("?","?",c,c+1),c++;continue}A("unspaced '?' needs a value before it (postfix existence) — write ' ? ' for a ternary",c)}f++,v("TERNARY","?",c,c+1),c++;continue}if(_==="@"){v("@","@",c,c+1),c++;continue}if(_==="("){let C=H();if(C&&!d&&C.kind==="?."){C.kind="ES6_OPTIONAL_CALL",O("call",c),v("CALL_START","(",c,c+1),c++;continue}let K=C&&!d&&!C.generated&&tr.has(C.kind);O(K?"call":"group",c),v(K?"CALL_START":"(","(",c,c+1),c++;continue}if(_===")"){let C=l1();if(C?.kind!=="call"&&C?.kind!=="group")A("unmatched ')'",c);v(C.kind==="call"?"CALL_END":")",")",c,c+1),c++;continue}if(_==="["){let C=H();if(C&&!d&&C.kind==="?."){C.kind="ES6_OPTIONAL_INDEX",O("index",c),v("INDEX_START","[",c,c+1),c++;continue}let K=C&&!d&&!C.generated&&at.has(C.kind);O(K?"index":"array",c),v(K?"INDEX_START":"[","[",c,c+1),c++;continue}if(_==="]"){let C=l1();if(C?.kind!=="index"&&C?.kind!=="array")A("unmatched ']'",c);v(C.kind==="index"?"INDEX_END":"]","]",c,c+1),c++;continue}if(_==="{"){let C=H();if(C!=null&&(C.kind==="."||C.kind==="?.")&&!d&&!C.newLine&&i.length>=2&&at.has(i[i.length-2].kind)&&i[i.length-2].kind!=="PICK_END")i.pop(),O("object",c,{pick:!0,pickKeys:e[c+1]!==" "&&e[c+1]!=="\t"}),v(C.kind==="?."?"OPTPICK_START":"PICK_START","{",c,c+1);else{let a1=C!=null&&(C.kind==="IMPORT"||C.kind==="IMPORT_TYPE"||C.kind==="EXPORT"||C.kind==="EXPORT_TYPE"||w&&C.kind===",");O("object",c,a1?{specifiers:!0}:{}),v("{","{",c,c+1)}c++;continue}if(_==="}"){let C=l1();if(C?.kind==="interp"){if(v("INTERPOLATION_END",")",c,c+1),c++,C.heregex)I(C.ctx);else i1(C.ctx);continue}if(C?.kind!=="object")A("unmatched '}'",c);v(C.pick?"PICK_END":"}","}",c,c+1),c++;continue}if(_===":"&&e[c+1]===":"){if(!Y()&&!r1()&&j1.test(e[c+2]??"")){let C=i[i.length-1];if(C?.kind==="?"&&C.end===c)C.kind="?.",C.value="?.",C.end=c+2,v("PROPERTY","prototype",c,c+2),v(".",".",c,c+2);else v(".",".",c,c+2),v("PROPERTY","prototype",c,c+2),v(".",".",c,c+2);c+=2;continue}A("type annotations use a single ':' (e.g. `x: number`), not '::'",c,c+2)}if(_===":"&&j1.test(e[c+1]??"")&&!Y()&&!r1()){let C=i[i.length-1];if(!(C!==void 0&&(C.kind==="PROPERTY"||C.kind===")"||C.kind==="]"||C.kind==="}"||C.kind==="CALL_END"||C.kind==="INDEX_END"||C.kind==="PARAM_END"||C.kind==="PICK_END"||C.kind==="STRING"||C.kind==="STRING_END"||C.kind==="NUMBER"||C.kind==="REGEX"||C.kind==="HEREGEX_END"||C.kind==="BOOL"||C.kind==="NULL"||C.kind==="UNDEFINED"||C.kind==="DAMMIT"||C.kind==="?"||C.kind==="MAYBE_DAMMIT"||C.kind==="OPT_MARKER"||C.kind==="THIS"||C.kind==="@"||C.kind==="SYMBOL"||f>0&&C.kind==="IDENTIFIER"))){let a1=t3(e,c+1);v("SYMBOL",e.slice(c+1,a1),c,a1),c=a1;continue}}if(_==="="||_==="+"||_==="-"||_==="."||_===","||_===";"||_===":"){if(_===":"&&f>0)f--;v(_===";"?"TERMINATOR":_,_,c,c+1),c++;continue}if(_==="`"&&(Y()||r1())){let C=h1(c);v("TYPE_TEMPLATE",e.slice(c,C),c,C),c=C;continue}A(`cannot tokenize '${_}'`,c)}if(l.length>0){if(!(r&&l.every((X)=>X.kind!=="interp"))){let X=l[0],t1={call:"(",group:"(",index:"[",array:"[",object:"{",interp:"#{"}[X.kind]??X.kind;P(`unclosed '${t1}' — never closed by end of input`,X.at,X.at+t1.length)}let z=e.length;while(z>0&&(e[z-1]===` +`||e[z-1]==="\r"))z--;while(l.length>0){let X=l[l.length-1],t1={call:"(",group:"(",index:"[",array:"[",object:"{"}[X.kind]??X.kind;a.push({message:`unclosed '${t1}' — never closed by end of input`,start:X.at,end:X.at+t1.length,expected:[],got:"end of input"});let C=X.kind==="call"?"CALL_END":X.kind==="group"?")":X.kind==="index"?"INDEX_END":X.kind==="array"?"]":X.pick?"PICK_END":"}";l1();let K=i.length;while(K>0&&(i[K-1].kind==="OUTDENT"||i[K-1].kind==="INDENT"||i[K-1].kind==="TERMINATOR"))K--;let a1=i[K-1]?.kind,E1=X.kind==="call"&&a1==="CALL_START"||X.kind==="index"&&a1==="INDEX_START";if(a1===","||E1){let y1={id:M++,kind:"IDENTIFIER",value:"",start:z,end:z,spaced:!1,newLine:!1,generated:!0,origin:null};L.push(y1),i.splice(K,0,y1)}V(C,z)}}let B=c1();while(o.length>1)o.pop(),V("OUTDENT",B);let n1=()=>M++;zl(i),ql(i),Ql(i),Mn(i,n1,e,A,r?(_)=>a.push({message:_.reason??String(_.message),start:_.start??0,end:_.end??_.start??0,expected:[],got:""}):null),Qt(i,n1,e,A);for(let _ of i)if(_.kind==="RESERVED")A(`'${_.value}' is reserved and not supported yet`,_.start);return ts(i,n1,A),Zl(i),Ht(i,n1),yi(i),Gt(i,n1),Kt(i,n1),Jl(i),{tokens:i,trivia:s,source:n,lexDiagnostics:a}}function yi(e){for(let t=0;t"&&o!=="=>"&&o!=="ELSE"&&o!=="TRY"&&o!=="FINALLY"){n=!1;break}}}if(se.has(a))i++;else if(ne.has(a)){if(i--,i<0)break}}if(n)e[t].kind=r==="IF"?"POST_IF":"POST_UNLESS"}return e}function ws(e="",{tolerant:t=!1}={}){return{setInput(r){let n=o3(r,e,{tolerant:t});this.tokens=n.tokens,this.trivia=n.trivia,this.source=n.source,this.lexDiagnostics=n.lexDiagnostics??[],this.index=0,this.text="",this.loc=null,this.token=null},lex(){let r=this.tokens[this.index];if(!r)return null;return this.index++,this.text=r.value,this.loc={start:r.start,end:r.end},this.token=r,r.kind}}}var l3={symbolIds:{$accept:0,$end:1,error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,Statement:8,Return:9,STATEMENT:10,Import:11,Export:12,TypeDecl:13,Enum:14,TYPE_DECL:15,Assignable:16,TYPE:17,OPT_MARKER:18,DEF:19,Identifier:20,OptParams:21,IMPORT:22,String:23,ImportDefaultSpecifier:24,FROM:25,ImportNamespaceSpecifier:26,"{":27,"}":28,ImportSpecifierList:29,OptComma:30,",":31,WITH:32,Object:33,IMPORT_TYPE:34,ImportSpecifier:35,INDENT:36,OUTDENT:37,AS:38,DEFAULT:39,IMPORT_ALL:40,EXPORT:41,ExportSpecifierList:42,Class:43,Def:44,ExportAssign:45,ReactiveAssign:46,ComputedAssign:47,Readonly:48,Effect:49,EXPORT_ALL:50,EXPORT_TYPE:51,"=":52,TYPE_PARAMS:53,VOID_MARKER:54,READONLY_ASSIGN:55,REACTIVE_ASSIGN:56,COMPUTED_ASSIGN:57,Block:58,EFFECT:59,ExportSpecifier:60,Value:61,Code:62,Operation:63,Assign:64,Gate:65,If:66,Try:67,For:68,Switch:69,While:70,Throw:71,Schema:72,Component:73,Render:74,Literal:75,Parenthetical:76,Range:77,Invocation:78,DoIife:79,This:80,Super:81,DAMMIT:82,NewValue:83,TEMPLATE_TAG:84,Atom:85,Regex:86,UNDEFINED:87,NULL:88,BOOL:89,NUMBER:90,SYMBOL:91,STRING:92,STRING_START:93,Interpolations:94,STRING_END:95,InterpolationChunk:96,INTERPOLATION_START:97,INTERPOLATION_END:98,REGEX:99,HEREGEX_START:100,HEREGEX_END:101,IDENTIFIER:102,Property:103,PROPERTY:104,SimpleAssignable:105,COMPOUND_ASSIGN:106,METHOD_ASSIGN:107,Array:108,Rhs:109,BlockRhs:110,GATE:111,CALL_START:112,CALL_END:113,ArgList:114,ThisProperty:115,Subjectable:116,".":117,"?.":118,INDEX_START:119,INDEX_END:120,Slice:121,ES6_OPTIONAL_INDEX:122,PICK_START:123,PickList:124,PICK_END:125,OPTPICK_START:126,IMPORT_META:127,NEW_TARGET:128,NEW:129,NewSpine:130,NewCall:131,Arguments:132,PARAM_START:133,ParamList:134,PARAM_END:135,ArrowKind:136,"->":137,"=>":138,DO_IIFE:139,THIS:140,"@":141,"[":142,"]":143,Elisions:144,ArgElisionList:145,OptElisions:146,ArgElision:147,Arg:148,Elision:149,AssignList:150,MAP_START:151,AssignObj:152,ObjAssignable:153,ObjRestValue:154,":":155,SimpleObjAssignable:156,"...":157,ObjSpreadExpr:158,SUPER:159,DYNAMIC_IMPORT:160,MAYBE_DAMMIT:161,PickItem:162,PickKey:163,RangeDots:164,"..":165,Param:166,TypedParamVar:167,ParamVar:168,Splat:169,ClassName:170,CLASS:171,EXTENDS:172,ENUM:173,SCHEMA:174,SCHEMA_BODY:175,COMPONENT:176,ComponentBlock:177,ComponentBody:178,ComponentLine:179,OFFER:180,ACCEPT:181,RENDER:182,ES6_OPTIONAL_CALL:183,"?":184,"(":185,")":186,RETURN:187,WHILE:188,UNTIL:189,WHEN:190,Loop:191,IfBlock:192,IF:193,IfElseTail:194,ELSE:195,UnlessBlock:196,UNLESS:197,POST_IF:198,POST_UNLESS:199,TRY:200,Catch:201,Finalizer:202,FINALLY:203,CATCH:204,CatchVar:205,THROW:206,SWITCH:207,Cases:208,When:209,LEADING_WHEN:210,SimpleArgs:211,FOR:212,ForVariables:213,FORIN:214,BY:215,FOROF:216,OWN:217,FORAS:218,AWAIT:219,FORASAWAIT:220,ForValue:221,LOOP:222,"--":223,"++":224,CAST:225,SATISFIES:226,TERNARY:227,UNARY:228,DO:229,UNARY_MATH:230,YIELD:231,"-":232,"+":233,"**":234,MATH:235,SHIFT:236,"&":237,"^":238,"|":239,COMPARE:240,MATCH:241,RELATION:242,"&&":243,"||":244,"??":245,THEN:246},tokenNames:{2:"error",6:"newline",10:"break/continue/debugger",15:"type/interface",17:"a type annotation",18:"?",19:"def",22:"import",25:"from",27:"{",28:"}",31:",",32:"with",34:"type",36:"indent",37:"dedent",38:"as",39:"default",40:"*",41:"export",50:"*",51:"type",52:"=",53:"<…>",54:"!",55:"=!",56:":=",57:"~=",59:"~>",82:"!",84:"$",87:"undefined",88:"null",89:"true/false",90:"a number",91:"a :symbol",92:"a string",93:"a string",95:"the closing quote",97:"#{",98:"}",99:"a regex",100:"///",101:"///",102:"a name",104:"a property name",106:"a compound assignment",107:".=",111:"<~",112:"(",113:")",117:".",118:"?.",119:"[",120:"]",122:"?.[",123:".{",125:"}",126:"?.{",127:"import.meta",128:"new.target",129:"new",133:"(",135:")",137:"->",138:"=>",139:"do",140:"this",141:"@",142:"[",143:"]",151:"*{",155:":",157:"...",159:"super",160:"import(",161:"?!",165:"..",171:"class",172:"extends",173:"enum",174:"schema",175:"a schema body",176:"component",180:"offer",181:"accept",182:"render",183:"?.(",184:"?",185:"(",186:")",187:"return",188:"while",189:"until",190:"when",193:"if",195:"else",197:"unless",198:"if",199:"unless",200:"try",203:"finally",204:"catch",206:"throw",207:"switch",210:"when",212:"for",214:"in",215:"by",216:"of",217:"own",218:"as",219:"await",220:"as!",222:"loop",223:"--",224:"++",225:"as",226:"satisfies",227:"?",228:"not/typeof/delete",229:"do",230:"!/~",231:"yield",232:"-",233:"+",234:"**",235:"a math operator",236:"a shift operator",237:"&",238:"^",239:"|",240:"a comparison",241:"=~",242:"in/of/instanceof",243:"&&",244:"||",245:"??",246:"then"},semantics:{"1":{kind:"program",roles:[]},"2":{kind:"program",roles:[{name:"body",grammarRef:1,childSlot:1,spread:!0}]},"14":{kind:"typedecl",roles:[{name:"declaration",grammarRef:1,childSlot:1,spread:!1}]},"15":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"16":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:3,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"17":{kind:"defsig",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"returnType",grammarRef:4,childSlot:3,spread:!1}]},"18":{kind:"import",roles:[{name:"source",grammarRef:2,childSlot:1,spread:!1}]},"19":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"source",grammarRef:4,childSlot:2,spread:!1}]},"20":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"source",grammarRef:4,childSlot:2,spread:!1}]},"21":{kind:"import",roles:[{name:"spec",grammarRef:null,childSlot:1,literal:"{}"},{name:"source",grammarRef:5,childSlot:2,spread:!1}]},"22":{kind:"import",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:7,childSlot:2,spread:!1}]},"23":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"extra",grammarRef:4,childSlot:2,spread:!1},{name:"source",grammarRef:6,childSlot:3,spread:!1}]},"24":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"extra",grammarRef:5,childSlot:2,spread:!1},{name:"source",grammarRef:9,childSlot:3,spread:!1}]},"25":{kind:"import",roles:[{name:"source",grammarRef:2,childSlot:2,spread:!1}],nested:[{role:"attributes",path:[1],kind:"withattrs",roles:[{name:"keyword",grammarRef:3,childSlot:0,spread:!1},{name:"value",grammarRef:4,childSlot:1,spread:!1}],nested:[]}]},"26":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"source",grammarRef:4,childSlot:3,spread:!1}],nested:[{role:"attributes",path:[2],kind:"withattrs",roles:[{name:"keyword",grammarRef:5,childSlot:0,spread:!1},{name:"value",grammarRef:6,childSlot:1,spread:!1}],nested:[]}]},"27":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"source",grammarRef:4,childSlot:3,spread:!1}],nested:[{role:"attributes",path:[2],kind:"withattrs",roles:[{name:"keyword",grammarRef:5,childSlot:0,spread:!1},{name:"value",grammarRef:6,childSlot:1,spread:!1}],nested:[]}]},"28":{kind:"import",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:7,childSlot:3,spread:!1}],nested:[{role:"attributes",path:[2],kind:"withattrs",roles:[{name:"keyword",grammarRef:8,childSlot:0,spread:!1},{name:"value",grammarRef:9,childSlot:1,spread:!1}],nested:[]}]},"29":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"extra",grammarRef:4,childSlot:2,spread:!1},{name:"source",grammarRef:6,childSlot:4,spread:!1}],nested:[{role:"attributes",path:[3],kind:"withattrs",roles:[{name:"keyword",grammarRef:7,childSlot:0,spread:!1},{name:"value",grammarRef:8,childSlot:1,spread:!1}],nested:[]}]},"30":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"extra",grammarRef:5,childSlot:2,spread:!1},{name:"source",grammarRef:9,childSlot:4,spread:!1}],nested:[{role:"attributes",path:[3],kind:"withattrs",roles:[{name:"keyword",grammarRef:10,childSlot:0,spread:!1},{name:"value",grammarRef:11,childSlot:1,spread:!1}],nested:[]}]},"31":{kind:"import",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:5,childSlot:2,spread:!1},{name:"typeOnly",grammarRef:2,childSlot:null,spread:!1}]},"32":{kind:"import",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:5,childSlot:2,spread:!1},{name:"typeOnly",grammarRef:2,childSlot:null,spread:!1}]},"33":{kind:"import",roles:[{name:"spec",grammarRef:null,childSlot:1,literal:"{}"},{name:"source",grammarRef:6,childSlot:2,spread:!1},{name:"typeOnly",grammarRef:2,childSlot:null,spread:!1}]},"34":{kind:"import",roles:[{name:"spec",grammarRef:4,childSlot:1,spread:!1},{name:"source",grammarRef:8,childSlot:2,spread:!1},{name:"typeOnly",grammarRef:2,childSlot:null,spread:!1}]},"41":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"43":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"45":{kind:"as",roles:[{name:"name",grammarRef:null,childSlot:0,literal:"*"},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"46":{kind:"export",roles:[{name:"spec",grammarRef:null,childSlot:1,literal:"{}"}]},"47":{kind:"export",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1}]},"48":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"49":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"50":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"51":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"52":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"53":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"54":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"55":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"56":{kind:"export",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1}]},"57":{kind:"export",roles:[{name:"spec",grammarRef:4,childSlot:1,spread:!1}]},"58":{kind:"export",roles:[{name:"source",grammarRef:4,childSlot:1,spread:!1}]},"59":{kind:"export",roles:[{name:"source",grammarRef:6,childSlot:1,spread:!1},{name:"alias",grammarRef:4,childSlot:2,spread:!1}]},"60":{kind:"export",roles:[{name:"source",grammarRef:6,childSlot:1,spread:!1},{name:"alias",grammarRef:4,childSlot:2,spread:!1}]},"61":{kind:"export",roles:[{name:"spec",grammarRef:null,childSlot:1,literal:"{}"},{name:"source",grammarRef:5,childSlot:2,spread:!1}]},"62":{kind:"export",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:7,childSlot:2,spread:!1}]},"63":{kind:"export",roles:[{name:"spec",grammarRef:4,childSlot:1,spread:!1},{name:"source",grammarRef:8,childSlot:2,spread:!1},{name:"typeOnly",grammarRef:2,childSlot:null,spread:!1}]},"64":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"65":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"66":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"67":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"68":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"69":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"70":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"typeParams",grammarRef:2,childSlot:null,spread:!1}]},"71":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"72":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"73":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"74":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"75":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"76":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"77":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"78":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"79":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"80":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"81":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"82":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"83":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"84":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"85":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"86":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"87":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"88":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"95":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"96":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"98":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"127":{kind:"dammit",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"129":{kind:"tagged",roles:[{name:"tag",grammarRef:1,childSlot:1,spread:!1},{name:"str",grammarRef:3,childSlot:2,spread:!1}]},"137":{kind:"symbol",roles:[{name:"name",grammarRef:1,childSlot:1,spread:!1}]},"139":{kind:"str",roles:[{name:"parts",grammarRef:2,childSlot:1,spread:!0}]},"147":{kind:"heregex",roles:[{name:"flags",grammarRef:3,childSlot:1,spread:!1},{name:"parts",grammarRef:2,childSlot:2,spread:!0}]},"150":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"151":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"152":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"153":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"154":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"155":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"156":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"157":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"158":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"159":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1}]},"160":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:6,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1}]},"161":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:6,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1}]},"162":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"163":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"164":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"typeParams",grammarRef:2,childSlot:null,spread:!1}]},"165":{kind:"assign",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"166":{kind:"assign",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"167":{kind:"assign",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"168":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:".="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"169":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"170":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"171":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"172":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"173":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"174":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"184":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"185":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"186":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"187":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1},{name:"operator",grammarRef:4,childSlot:null,spread:!1}]},"188":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"189":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"190":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"191":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1},{name:"operator",grammarRef:4,childSlot:null,spread:!1}]},"192":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"193":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"194":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"195":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"196":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:3,childSlot:2,spread:!1},{name:"key",grammarRef:5,childSlot:3,spread:!0},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"197":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:4,childSlot:2,spread:!1},{name:"key",grammarRef:6,childSlot:3,spread:!0},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"198":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"199":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"200":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"201":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1},{name:"operator",grammarRef:4,childSlot:null,spread:!1}]},"202":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"203":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"204":{kind:"effect",roles:[{name:"target",grammarRef:null,childSlot:1,literal:null},{name:"value",grammarRef:2,childSlot:2,spread:!1},{name:"operator",grammarRef:1,childSlot:null,spread:!1}]},"207":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"208":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"209":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"210":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"211":{kind:"regexindex",roles:[{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1},{name:"capture",grammarRef:5,childSlot:3,spread:!1}]},"212":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"213":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"214":{kind:"optindex",roles:[{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"215":{kind:"optindex",roles:[{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:5,childSlot:2,spread:!1}]},"216":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:3,childSlot:2,spread:!0}]},"217":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:3,childSlot:2,spread:!0}]},"218":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:4,childSlot:2,spread:!0}]},"219":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:4,childSlot:2,spread:!0}]},"220":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"221":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"222":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"223":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"224":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"225":{kind:"await",roles:[{name:"operator",grammarRef:3,childSlot:null,spread:!1}],nested:[{role:"value",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"new"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"226":{kind:"await",roles:[{name:"operator",grammarRef:3,childSlot:null,spread:!1}],nested:[{role:"value",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"new"}],nested:[{role:"operand",path:[1],kind:"call",roles:[{name:"callee",grammarRef:2,childSlot:0,spread:!1},{name:"args",grammarRef:4,childSlot:1,spread:!0}],nested:[]}]}]},"227":{kind:"call",roles:[{name:"callee",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"233":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"234":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"235":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"236":{kind:"tagged",roles:[{name:"tag",grammarRef:1,childSlot:1,spread:!1},{name:"str",grammarRef:3,childSlot:2,spread:!1}]},"239":{kind:"func",roles:[{name:"kind",grammarRef:4,childSlot:0,spread:!1},{name:"params",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:5,childSlot:2,spread:!1}]},"240":{kind:"func",roles:[{name:"kind",grammarRef:5,childSlot:0,spread:!1},{name:"params",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:6,childSlot:2,spread:!1},{name:"returnType",grammarRef:4,childSlot:null,spread:!1}]},"241":{kind:"func",roles:[{name:"kind",grammarRef:1,childSlot:0,spread:!1},{name:"body",grammarRef:2,childSlot:2,spread:!1}]},"244":{kind:"doiife",roles:[{name:"func",grammarRef:2,childSlot:1,spread:!1}]},"247":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"property",grammarRef:2,childSlot:2,spread:!1}]},"248":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"property",grammarRef:2,childSlot:2,spread:!1}]},"249":{kind:"array",roles:[]},"250":{kind:"array",roles:[{name:"elisions",grammarRef:2,childSlot:1,spread:!0}]},"251":{kind:"array",roles:[{name:"items",grammarRef:2,childSlot:1,spread:!0},{name:"elisions",grammarRef:3,childSlot:null,spread:!0}]},"265":{kind:"object",roles:[{name:"pairs",grammarRef:2,childSlot:1,spread:!0}]},"266":{kind:"map",roles:[{name:"pairs",grammarRef:3,childSlot:1,spread:!0}]},"272":{kind:"pair",roles:[{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:1,childSlot:2,spread:!1}]},"274":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:":"},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"275":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:":"},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"276":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:":"},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"277":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"278":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"279":{kind:"pair",roles:[{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"280":{kind:"pair",roles:[{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"281":{kind:"splat",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"282":{kind:"splat",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"288":{kind:"super",roles:[{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"289":{kind:"dynimport",roles:[{name:"keyword",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"290":{kind:"call",roles:[{name:"callee",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"291":{kind:"call",roles:[{name:"callee",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"292":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"293":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"294":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"295":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"296":{kind:"dammit",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"297":{kind:"maybe-dammit",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"args",grammarRef:3,childSlot:2,spread:!0},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"298":{kind:"maybe-dammit",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"299":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:3,childSlot:2,spread:!0}]},"300":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:3,childSlot:2,spread:!0}]},"301":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:4,childSlot:2,spread:!0}]},"302":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:4,childSlot:2,spread:!0}]},"307":{kind:"pickitem",roles:[{name:"key",grammarRef:1,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1}]},"308":{kind:"pickitem",roles:[{name:"key",grammarRef:1,childSlot:0,spread:!1},{name:"target",grammarRef:3,childSlot:1,spread:!1}]},"309":{kind:"pickitem",roles:[{name:"key",grammarRef:1,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"default",grammarRef:3,childSlot:2,spread:!1}]},"310":{kind:"pickitem",roles:[{name:"key",grammarRef:1,childSlot:0,spread:!1},{name:"target",grammarRef:3,childSlot:1,spread:!1},{name:"default",grammarRef:5,childSlot:2,spread:!1}]},"318":{kind:"dynamicKey",roles:[{name:"key",grammarRef:2,childSlot:1,spread:!1}]},"319":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:null,childSlot:1,literal:"this"},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"322":{kind:"range",roles:[{name:"operator",grammarRef:3,childSlot:0,spread:!1},{name:"from",grammarRef:2,childSlot:1,spread:!1},{name:"to",grammarRef:4,childSlot:2,spread:!1}]},"323":{kind:"range",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"from",grammarRef:1,childSlot:1,spread:!1},{name:"to",grammarRef:3,childSlot:2,spread:!1}]},"324":{kind:"range",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"from",grammarRef:1,childSlot:1,spread:!1},{name:"to",grammarRef:null,childSlot:2,literal:null}]},"325":{kind:"range",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"from",grammarRef:null,childSlot:1,literal:null},{name:"to",grammarRef:2,childSlot:2,spread:!1}]},"326":{kind:"range",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"from",grammarRef:null,childSlot:1,literal:null},{name:"to",grammarRef:null,childSlot:2,literal:null}]},"327":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:4,childSlot:3,spread:!1}]},"328":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"returnType",grammarRef:4,childSlot:null,spread:!1}]},"329":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"typeParams",grammarRef:3,childSlot:null,spread:!1}]},"330":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:6,childSlot:3,spread:!1},{name:"typeParams",grammarRef:3,childSlot:null,spread:!1},{name:"returnType",grammarRef:5,childSlot:null,spread:!1}]},"331":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"voidMarker",grammarRef:3,childSlot:null,spread:!1}]},"332":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:6,childSlot:3,spread:!1},{name:"voidMarker",grammarRef:3,childSlot:null,spread:!1},{name:"returnType",grammarRef:5,childSlot:null,spread:!1}]},"333":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:4,childSlot:3,spread:!1}]},"334":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"returnType",grammarRef:4,childSlot:null,spread:!1}]},"335":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"typeParams",grammarRef:3,childSlot:null,spread:!1}]},"336":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:6,childSlot:3,spread:!1},{name:"typeParams",grammarRef:3,childSlot:null,spread:!1},{name:"returnType",grammarRef:5,childSlot:null,spread:!1}]},"337":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"voidMarker",grammarRef:3,childSlot:null,spread:!1}]},"338":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:6,childSlot:3,spread:!1},{name:"voidMarker",grammarRef:3,childSlot:null,spread:!1},{name:"returnType",grammarRef:5,childSlot:null,spread:!1}]},"347":{kind:"default",roles:[{name:"name",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"348":{kind:"rest",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1}]},"349":{kind:"expansion",roles:[]},"351":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"352":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:3,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"353":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:null,childSlot:2,literal:""},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"358":{kind:"splat",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"360":{kind:"class",roles:[{name:"name",grammarRef:null,childSlot:1,literal:null},{name:"parent",grammarRef:null,childSlot:2,literal:null}]},"361":{kind:"class",roles:[{name:"name",grammarRef:null,childSlot:1,literal:null},{name:"parent",grammarRef:null,childSlot:2,literal:null},{name:"body",grammarRef:2,childSlot:3,spread:!1}]},"362":{kind:"class",roles:[{name:"name",grammarRef:null,childSlot:1,literal:null},{name:"parent",grammarRef:3,childSlot:2,spread:!1}]},"363":{kind:"class",roles:[{name:"name",grammarRef:null,childSlot:1,literal:null},{name:"parent",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:4,childSlot:3,spread:!1}]},"364":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:null,childSlot:2,literal:null}]},"365":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:null,childSlot:2,literal:null},{name:"body",grammarRef:3,childSlot:3,spread:!1}]},"366":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:4,childSlot:2,spread:!1}]},"367":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1}]},"368":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:null,childSlot:2,literal:null},{name:"body",grammarRef:3,childSlot:3,spread:!1}]},"369":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1}]},"370":{kind:"enum",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"371":{kind:"schema",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"372":{kind:"component",roles:[{name:"parent",grammarRef:null,childSlot:1,literal:null},{name:"body",grammarRef:2,childSlot:2,spread:!1}]},"373":{kind:"component",roles:[{name:"parent",grammarRef:3,childSlot:1,spread:!1},{name:"body",grammarRef:4,childSlot:2,spread:!1}]},"374":{kind:"block",roles:[{name:"statements",grammarRef:2,childSlot:1,spread:!0}]},"380":{kind:"offer",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"381":{kind:"accept",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1}]},"382":{kind:"accept",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"provider",grammarRef:4,childSlot:2,spread:!1}]},"383":{kind:"render",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"384":{kind:"render",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"385":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:null,childSlot:1,literal:"super"},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"386":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:null,childSlot:1,literal:"super"},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"387":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:null,childSlot:1,literal:"super"},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"388":{kind:"call",roles:[{name:"callee",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"389":{kind:"super",roles:[{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"390":{kind:"optcall",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"args",grammarRef:3,childSlot:2,spread:!0}]},"391":{kind:"optcall",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"args",grammarRef:3,childSlot:2,spread:!0}]},"392":{kind:"maybe-dammit",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"args",grammarRef:3,childSlot:2,spread:!0},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"393":{kind:"maybe-dammit",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"394":{kind:"dynimport",roles:[{name:"keyword",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"395":{kind:"await",roles:[{name:"operator",grammarRef:2,childSlot:null,spread:!1}],nested:[{role:"value",path:[1],kind:"dynimport",roles:[{name:"keyword",grammarRef:null,childSlot:0,literal:"import"},{name:"args",grammarRef:3,childSlot:1,spread:!0}],nested:[]}]},"407":{kind:"block",roles:[]},"408":{kind:"block",roles:[{name:"statements",grammarRef:2,childSlot:1,spread:!0}]},"411":{kind:"return",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"412":{kind:"return",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"413":{kind:"return",roles:[]},"414":{kind:"while",roles:[{name:"condition",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"415":{kind:"while",roles:[{name:"body",grammarRef:3,childSlot:2,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"416":{kind:"while",roles:[{name:"condition",grammarRef:2,childSlot:1,spread:!1},{name:"guard",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1}]},"417":{kind:"while",roles:[{name:"guard",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"418":{kind:"while",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}]},"419":{kind:"while",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}]},"420":{kind:"while",roles:[{name:"body",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"421":{kind:"while",roles:[{name:"body",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"422":{kind:"while",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"guard",grammarRef:5,childSlot:2,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}]},"423":{kind:"while",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"guard",grammarRef:5,childSlot:2,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}]},"424":{kind:"while",roles:[{name:"guard",grammarRef:5,childSlot:2,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"425":{kind:"while",roles:[{name:"guard",grammarRef:5,childSlot:2,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"427":{kind:"if",roles:[{name:"condition",grammarRef:2,childSlot:1,spread:!1},{name:"then",grammarRef:3,childSlot:2,spread:!1}]},"428":{kind:"if",roles:[{name:"condition",grammarRef:2,childSlot:1,spread:!1},{name:"then",grammarRef:3,childSlot:2,spread:!1},{name:"else",grammarRef:4,childSlot:3,spread:!1}]},"429":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:4,childSlot:2,spread:!1}]},"430":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:4,childSlot:2,spread:!1},{name:"else",grammarRef:5,childSlot:3,spread:!1}]},"432":{kind:"if",roles:[{name:"then",grammarRef:3,childSlot:2,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"433":{kind:"if",roles:[{name:"then",grammarRef:3,childSlot:2,spread:!1},{name:"else",grammarRef:5,childSlot:3,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"436":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:1,childSlot:null,spread:!1}]},"437":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:1,childSlot:null,spread:!1}]},"438":{kind:"if",roles:[{name:"then",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"439":{kind:"if",roles:[{name:"then",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"440":{kind:"ternary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?:"},{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:1,childSlot:2,spread:!1},{name:"else",grammarRef:6,childSlot:3,spread:!1}]},"441":{kind:"ternary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?:"},{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:1,childSlot:2,spread:!1},{name:"else",grammarRef:5,childSlot:3,spread:!1}]},"442":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"443":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"444":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1}]},"445":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"446":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1}]},"447":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1}]},"448":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"finalizer",grammarRef:3,childSlot:2,spread:!1}]},"449":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1},{name:"finalizer",grammarRef:4,childSlot:3,spread:!1}]},"450":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"finalizer",grammarRef:3,childSlot:2,spread:!1}]},"451":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1},{name:"finalizer",grammarRef:4,childSlot:3,spread:!1}]},"452":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"finalizer",grammarRef:3,childSlot:2,spread:!1}]},"453":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1},{name:"finalizer",grammarRef:4,childSlot:3,spread:!1}]},"455":{kind:"block",roles:[{name:"statements",grammarRef:2,childSlot:1,spread:!1}]},"456":{kind:"catch",roles:[{name:"binding",grammarRef:2,childSlot:0,spread:!1},{name:"body",grammarRef:3,childSlot:1,spread:!1}]},"457":{kind:"catch",roles:[{name:"binding",grammarRef:2,childSlot:0,spread:!1},{name:"body",grammarRef:3,childSlot:1,spread:!1}]},"458":{kind:"catch",roles:[{name:"binding",grammarRef:2,childSlot:0,spread:!1},{name:"body",grammarRef:3,childSlot:1,spread:!1}]},"459":{kind:"catch",roles:[{name:"binding",grammarRef:null,childSlot:0,literal:null},{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"461":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"462":{kind:"throw",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"463":{kind:"throw",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"464":{kind:"switch",roles:[{name:"subject",grammarRef:2,childSlot:1,spread:!1},{name:"cases",grammarRef:4,childSlot:2,spread:!1},{name:"default",grammarRef:null,childSlot:3,literal:null}]},"465":{kind:"switch",roles:[{name:"subject",grammarRef:2,childSlot:1,spread:!1},{name:"cases",grammarRef:4,childSlot:2,spread:!1},{name:"default",grammarRef:6,childSlot:3,spread:!1}]},"466":{kind:"switch",roles:[{name:"subject",grammarRef:null,childSlot:1,literal:null},{name:"cases",grammarRef:3,childSlot:2,spread:!1},{name:"default",grammarRef:null,childSlot:3,literal:null}]},"467":{kind:"switch",roles:[{name:"subject",grammarRef:null,childSlot:1,literal:null},{name:"cases",grammarRef:3,childSlot:2,spread:!1},{name:"default",grammarRef:5,childSlot:3,spread:!1}]},"470":{kind:"when",roles:[{name:"conditions",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"471":{kind:"when",roles:[{name:"conditions",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"474":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"475":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:6,childSlot:3,spread:!1},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"476":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"477":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:8,childSlot:3,spread:!1},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:9,childSlot:5,spread:!1}]},"478":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:6,childSlot:3,spread:!1},{name:"guard",grammarRef:8,childSlot:4,spread:!1},{name:"body",grammarRef:9,childSlot:5,spread:!1}]},"479":{kind:"forof",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"object",grammarRef:4,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!1},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"480":{kind:"forof",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"object",grammarRef:4,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!1},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"481":{kind:"forof",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"object",grammarRef:5,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:6,childSlot:5,spread:!1}]},"482":{kind:"forof",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"object",grammarRef:5,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:7,childSlot:4,spread:!1},{name:"body",grammarRef:8,childSlot:5,spread:!1}]},"483":{kind:"foras",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!1},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"484":{kind:"foras",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!1},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"485":{kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:6,childSlot:5,spread:!1}]},"486":{kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:7,childSlot:4,spread:!1},{name:"body",grammarRef:8,childSlot:5,spread:!1}]},"487":{kind:"foras",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"488":{kind:"foras",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"489":{kind:"forin",roles:[{name:"iterable",grammarRef:2,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:3,childSlot:5,spread:!1}]},"490":{kind:"forin",roles:[{name:"iterable",grammarRef:2,childSlot:2,spread:!1},{name:"step",grammarRef:4,childSlot:3,spread:!1},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"491":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null}],nested:[]}]},"492":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null}],nested:[]}]},"493":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:7,childSlot:3,spread:!1}],nested:[]}]},"494":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:9,childSlot:3,spread:!1}],nested:[]}]},"495":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:9,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:7,childSlot:3,spread:!1}],nested:[]}]},"496":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forof",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"object",grammarRef:5,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!1}],nested:[]}]},"497":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forof",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"object",grammarRef:5,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!1}],nested:[]}]},"498":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forof",roles:[{name:"vars",grammarRef:4,childSlot:1,spread:!1},{name:"object",grammarRef:6,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"499":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:8,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forof",roles:[{name:"vars",grammarRef:4,childSlot:1,spread:!1},{name:"object",grammarRef:6,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"500":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!1}],nested:[]}]},"501":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!1}],nested:[]}]},"502":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:4,childSlot:1,spread:!1},{name:"iterable",grammarRef:6,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"503":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:8,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:4,childSlot:1,spread:!1},{name:"iterable",grammarRef:6,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"504":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"505":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"509":{kind:"loop",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"510":{kind:"loop",roles:[{name:"count",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"511":{kind:"update",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"--"},{name:"target",grammarRef:2,childSlot:1,spread:!1},{name:"prefix",grammarRef:null,childSlot:2,literal:!1}]},"512":{kind:"update",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"++"},{name:"target",grammarRef:2,childSlot:1,spread:!1},{name:"prefix",grammarRef:null,childSlot:2,literal:!1}]},"513":{kind:"update",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"--"},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"prefix",grammarRef:null,childSlot:2,literal:!0}]},"514":{kind:"update",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"++"},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"prefix",grammarRef:null,childSlot:2,literal:!0}]},"515":{kind:"existence",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?"},{name:"value",grammarRef:1,childSlot:1,spread:!1}]},"516":{kind:"cast",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"517":{kind:"satisfies",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"518":{kind:"ternary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?:"},{name:"condition",grammarRef:1,childSlot:1,spread:!1},{name:"then",grammarRef:3,childSlot:2,spread:!1},{name:"else",grammarRef:5,childSlot:3,spread:!1}]},"519":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"520":{kind:"doiife",roles:[{name:"func",grammarRef:2,childSlot:1,spread:!1}]},"521":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"522":{kind:"await",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1},{name:"operator",grammarRef:1,childSlot:null,spread:!1}]},"523":{kind:"await",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1},{name:"operator",grammarRef:1,childSlot:null,spread:!1}]},"524":{kind:"yield",roles:[]},"525":{kind:"yield",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"526":{kind:"yield",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"527":{kind:"yieldfrom",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"528":{kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"-"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"529":{kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"+"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"530":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"**"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"531":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"+"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"532":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"-"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"533":{kind:"binary",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"534":{kind:"binary",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"535":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"536":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"^"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"537":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"|"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"538":{kind:"binary",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"539":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"=~"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"540":{kind:"relation",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"541":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"542":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"543":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"??"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"544":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"545":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"546":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"??"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"547":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"548":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"549":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"??"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"550":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"551":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"552":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"553":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"554":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"555":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]}},primitiveRefs:{"1":[],"2":[1],"3":[1],"4":[1,3],"5":[1],"6":[1],"7":[1],"8":[1],"9":[1],"10":[1],"11":[1],"12":[1],"13":[1],"14":[1],"15":[1,2],"16":[1,3],"17":[2,3,4],"18":[2],"19":[2,4],"20":[2,4],"21":[5],"22":[3,7],"23":[2,4,6],"24":[2,5,9],"25":[3,4,2],"26":[2,5,6,4],"27":[2,5,6,4],"28":[3,8,9,7],"29":[2,4,7,8,6],"30":[2,5,10,11,9],"31":[3,5],"32":[3,5],"33":[6],"34":[4,8],"35":[1],"36":[1,3],"37":[1,4],"38":[2],"39":[1,4],"40":[1],"41":[1,3],"42":[1],"43":[1,3],"44":[1],"45":[3],"46":[],"47":[3],"48":[2],"49":[2],"50":[2],"51":[2],"52":[2],"53":[2],"54":[2],"55":[2],"56":[3],"57":[4],"58":[4],"59":[6,4],"60":[6,4],"61":[5],"62":[3,7],"63":[4,8],"64":[1,3],"65":[1,4],"66":[1,4],"67":[1,4],"68":[1,5],"69":[1,5],"70":[1,4],"71":[1,4],"72":[1,5],"73":[1,5],"74":[1,4],"75":[1,5],"76":[1,5],"77":[1,4],"78":[1,5],"79":[1,5],"80":[1,4],"81":[1,5],"82":[1,4],"83":[1,4],"84":[1,5],"85":[1,5],"86":[1,4],"87":[1,5],"88":[1,4],"89":[1],"90":[1,3],"91":[1,4],"92":[2],"93":[1,4],"94":[1],"95":[1,3],"96":[1,3],"97":[1],"98":[1,3],"99":[1],"100":[1],"101":[1],"102":[1],"103":[1],"104":[1],"105":[1],"106":[1],"107":[1],"108":[1],"109":[1],"110":[1],"111":[1],"112":[1],"113":[1],"114":[1],"115":[1],"116":[1],"117":[1],"118":[1],"119":[1],"120":[1],"121":[1],"122":[1],"123":[1],"124":[1],"125":[1],"126":[1],"127":[1],"128":[1],"129":[1,3],"130":[1],"131":[1],"132":[],"133":[],"134":[1],"135":[1],"136":[1],"137":[1],"138":[1],"139":[2],"140":[1],"141":[1,2],"142":[2],"143":[3],"144":[],"145":[1],"146":[1],"147":[3,2],"148":[1],"149":[1],"150":[1,3],"151":[1,4],"152":[1,4],"153":[1,4],"154":[1,5],"155":[1,5],"156":[1,4],"157":[1,5],"158":[1,5],"159":[1,5],"160":[1,6],"161":[1,6],"162":[1,3],"163":[1,4],"164":[1,4],"165":[2,1,3],"166":[2,1,4],"167":[2,1,4],"168":[1,3],"169":[1,4],"170":[1,5],"171":[1,5],"172":[1,4],"173":[1,5],"174":[1,5],"175":[1],"176":[1],"177":[1],"178":[1],"179":[2],"180":[2],"181":[1],"182":[2],"183":[1],"184":[1,3],"185":[1,4],"186":[1,4],"187":[1,5],"188":[1,3],"189":[1,4],"190":[1,4],"191":[1,5],"192":[1,3],"193":[1,4],"194":[1,3],"195":[1,4],"196":[1,3,5],"197":[1,4,6],"198":[1,3],"199":[1,4],"200":[1,4],"201":[1,5],"202":[1,3],"203":[1,4],"204":[2],"205":[1],"206":[1],"207":[1,3],"208":[1,3],"209":[1,3],"210":[1,4],"211":[1,3,5],"212":[1,3],"213":[1,4],"214":[1,4],"215":[1,5],"216":[1,3],"217":[1,3],"218":[1,4],"219":[1,4],"220":[1,3],"221":[1,3],"222":[1,2],"223":[1,2],"224":[1,2],"225":[2],"226":[2,4],"227":[1,2],"228":[1],"229":[1],"230":[1],"231":[1],"232":[1],"233":[1,3],"234":[1,3],"235":[1,3],"236":[1,3],"237":[1],"238":[1],"239":[4,2,5],"240":[5,2,6],"241":[1,2],"242":[1],"243":[1],"244":[2],"245":[],"246":[],"247":[2],"248":[2],"249":[],"250":[2],"251":[2,3],"252":[1],"253":[1,3],"254":[1,4],"255":[2,3],"256":[1,2,4,5],"257":[1],"258":[1,2],"259":[],"260":[2],"261":[1],"262":[1,2],"263":[],"264":[1],"265":[2],"266":[3],"267":[],"268":[1],"269":[1,3],"270":[1,4],"271":[1,4],"272":[1,1],"273":[1],"274":[1,3],"275":[1,4],"276":[1,3],"277":[1,3],"278":[1,4],"279":[1,4],"280":[1,5],"281":[2],"282":[2],"283":[1],"284":[1],"285":[1],"286":[1],"287":[1],"288":[2],"289":[1,2],"290":[1,2],"291":[1,2],"292":[1,3],"293":[1,3],"294":[1,3],"295":[1,4],"296":[1],"297":[1,3],"298":[1],"299":[1,3],"300":[1,3],"301":[1,4],"302":[1,4],"303":[1],"304":[1,3],"305":[1,4],"306":[1,4],"307":[1,1],"308":[1,3],"309":[1,1,3],"310":[1,3,5],"311":[1],"312":[1],"313":[1],"314":[1],"315":[1],"316":[1],"317":[1],"318":[2],"319":[3],"320":[],"321":[],"322":[3,2,4],"323":[2,1,3],"324":[2,1],"325":[1,2],"326":[1],"327":[2,3,4],"328":[2,3,5],"329":[2,4,5],"330":[2,4,6],"331":[2,4,5],"332":[2,4,6],"333":[2,3,4],"334":[2,3,5],"335":[2,4,5],"336":[2,4,6],"337":[2,4,5],"338":[2,4,6],"339":[],"340":[2],"341":[],"342":[1],"343":[1,3],"344":[1,4],"345":[1,4],"346":[1],"347":[1,3],"348":[2],"349":[],"350":[1],"351":[1,2],"352":[1,3],"353":[1],"354":[1],"355":[1],"356":[1],"357":[1],"358":[2],"359":[1],"360":[],"361":[2],"362":[3],"363":[3,4],"364":[2],"365":[2,3],"366":[2,4],"367":[2,4,5],"368":[2,3],"369":[2,4,5],"370":[2,3],"371":[2],"372":[2],"373":[3,4],"374":[2],"375":[1],"376":[1,3],"377":[1],"378":[1],"379":[1],"380":[2],"381":[2],"382":[2,4],"383":[2],"384":[2],"385":[3],"386":[3],"387":[4],"388":[1,2],"389":[2],"390":[1,3],"391":[1,3],"392":[1,3],"393":[1],"394":[1,2],"395":[3],"396":[],"397":[2],"398":[1],"399":[1,3],"400":[1,4],"401":[2],"402":[1,4],"403":[1],"404":[1],"405":[1],"406":[1],"407":[],"408":[2],"409":[2],"410":[3],"411":[2],"412":[3],"413":[],"414":[2,3],"415":[2,3],"416":[2,4,5],"417":[2,4,5],"418":[3,1],"419":[3,1],"420":[3,1],"421":[3,1],"422":[3,5,1],"423":[3,5,1],"424":[3,5,1],"425":[3,5,1],"426":[1],"427":[2,3],"428":[2,3,4],"429":[3,4],"430":[3,4,5],"431":[2],"432":[2,3],"433":[2,3,5],"434":[1],"435":[1],"436":[3,1],"437":[3,1],"438":[3,1],"439":[3,1],"440":[3,1,6],"441":[3,1,5],"442":[2],"443":[2],"444":[2,3],"445":[2],"446":[2,3],"447":[2,3],"448":[2,3],"449":[2,3,4],"450":[2,3],"451":[2,3,4],"452":[2,3],"453":[2,3,4],"454":[2],"455":[2],"456":[2,3],"457":[2,3],"458":[2,3],"459":[2],"460":[1],"461":[1,2],"462":[2],"463":[3],"464":[2,4],"465":[2,4,6],"466":[3],"467":[3,5],"468":[1],"469":[1,2],"470":[2,3],"471":[2,3],"472":[1],"473":[1,3],"474":[2,4,5],"475":[2,4,6,7],"476":[2,4,6,7],"477":[2,4,8,6,9],"478":[2,4,6,8,9],"479":[2,4,5],"480":[2,4,6,7],"481":[3,5,6],"482":[3,5,7,8],"483":[2,4,5],"484":[2,4,6,7],"485":[3,5,6],"486":[3,5,7,8],"487":[2,4,5],"488":[2,4,6,7],"489":[2,3],"490":[2,4,5],"491":[1,3,5],"492":[1,3,5,7],"493":[1,3,5,7],"494":[1,3,5,9,7],"495":[1,3,5,7,9],"496":[1,3,5],"497":[1,3,5,7],"498":[1,4,6],"499":[1,4,6,8],"500":[1,3,5],"501":[1,3,5,7],"502":[1,4,6],"503":[1,4,6,8],"504":[1,3,5],"505":[1,3,5,7],"506":[1],"507":[1],"508":[1,3],"509":[2],"510":[2,3],"511":[2],"512":[2],"513":[1],"514":[1],"515":[1],"516":[1,2],"517":[1,2],"518":[1,3,5],"519":[1,2],"520":[2],"521":[1,2],"522":[2],"523":[3],"524":[],"525":[2],"526":[3],"527":[3],"528":[2],"529":[2],"530":[1,3],"531":[1,3],"532":[1,3],"533":[2,1,3],"534":[2,1,3],"535":[1,3],"536":[1,3],"537":[1,3],"538":[2,1,3],"539":[1,3],"540":[2,1,3],"541":[1,3],"542":[1,3],"543":[1,3],"544":[1,3],"545":[1,3],"546":[1,3],"547":[1,3],"548":[1,3],"549":[1,3],"550":[1,3],"551":[1,3],"552":[1,3],"553":[1,3],"554":[1,3],"555":[1,3]},accumulators:{"4":!0,"36":!0,"37":!0,"39":!0,"90":!0,"91":!0,"93":!0,"141":!0,"253":!0,"254":!0,"256":!0,"262":!0,"269":!0,"270":!0,"271":!0,"304":!0,"305":!0,"306":!0,"343":!0,"344":!0,"345":!0,"376":!0,"399":!0,"400":!0,"402":!0,"469":!0},parseTable:(()=>{let e=[108,1,2,1,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-1,1,2,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,1,0,2,1,5,-2,108,5,1,5,31,61,88,-3,-3,-3,-3,-3,29,1,5,31,61,88,2,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,9,1,5,31,61,88,2,1,9,1,-7,-7,-7,-7,-7,135,136,133,134,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-99,-99,-99,-99,-99,-99,137,138,-99,143,-99,-237,-237,-237,-99,-237,-237,-99,-237,140,-99,-99,-99,-99,142,-99,141,139,-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,50,1,5,22,3,5,1,61,15,4,1,1,1,2,1,2,1,9,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-100,-100,-100,-100,-100,-100,-100,-100,-238,-238,-238,-100,-238,-238,-100,-238,-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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,65,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-119,-119,145,146,-119,-119,-119,-119,144,147,151,148,149,152,-119,-119,-119,150,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,18,6,14,7,4,2,3,66,6,7,19,1,6,1,9,6,9,1,1,-341,158,100,-341,160,-341,96,159,161,153,-341,163,162,101,156,154,155,157,2,36,22,165,164,46,16,4,3,4,6,28,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,25,170,167,103,100,76,168,169,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,171,107,105,106,96,166,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,82,46,16,4,3,4,6,28,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,25,170,167,103,100,76,168,169,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,171,107,105,106,96,172,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,82,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,175,176,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,173,174,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,177,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,179,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,180,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,181,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,182,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,144,1,5,1,1,1,1,1,1,1,1,1,1,3,1,2,1,2,2,1,3,2,3,1,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,5,1,1,2,3,3,5,2,1,4,5,2,1,1,4,2,1,1,1,1,1,1,1,1,8,4,2,2,1,5,6,2,1,2,6,3,1,1,1,1,1,1,1,1,2,1,1,1,1,1,3,1,2,1,5,3,4,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-524,-524,183,178,26,27,28,29,30,31,73,32,65,54,71,103,185,100,-524,-524,76,184,-524,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,-524,105,106,96,45,75,-524,92,93,-524,-524,94,95,89,41,-524,42,90,91,86,87,88,83,-524,101,-524,-524,84,85,-524,66,74,67,68,69,82,-524,70,-524,-524,-524,63,56,97,-524,57,98,-524,-524,58,-524,-524,64,60,-524,-524,49,99,43,44,-524,-524,-524,46,47,48,50,51,52,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,186,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,187,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,58,1,5,11,11,3,5,1,15,30,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-138,-138,189,-138,-138,-138,-138,188,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,70,1,5,11,1,10,3,5,1,15,1,1,1,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,190,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,193,192,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,191,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,196,197,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,195,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,15,20,7,6,44,25,6,7,26,1,9,17,45,4,2,2,158,100,160,201,96,159,161,163,83,101,203,198,199,200,202,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,204,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,205,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,206,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,207,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,208,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,209,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,4,20,82,13,26,210,96,211,163,51,1,5,14,8,3,5,1,21,40,4,11,2,5,5,10,6,2,12,2,8,5,2,14,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-360,-360,216,-360,-360,165,-360,212,-360,96,-360,215,-360,-360,-360,163,-360,-360,-360,-360,214,213,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,1,175,217,3,36,136,5,220,219,218,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,222,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,221,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,143,1,5,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,1,3,2,3,1,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,5,1,1,2,3,3,5,2,1,4,5,2,1,1,4,2,1,1,1,1,1,1,1,1,8,4,2,2,1,5,6,2,1,2,6,3,1,1,1,1,1,1,1,1,2,1,1,1,1,1,3,1,2,1,5,3,4,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-413,-413,223,178,26,27,28,29,30,31,73,32,65,54,71,103,100,-413,-413,76,224,-413,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,-413,105,106,96,45,75,-413,92,93,-413,-413,94,95,89,41,-413,42,90,91,86,87,88,83,-413,101,-413,-413,84,85,-413,66,74,67,68,69,82,-413,70,-413,-413,-413,63,56,97,-413,57,98,-413,-413,58,-413,-413,64,60,-413,-413,49,99,43,44,-413,-413,-413,46,47,48,50,51,52,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,10,20,3,1,2,1,7,6,52,1,9,230,225,226,227,228,229,231,171,107,96,61,14,2,3,1,3,4,6,6,4,1,1,1,1,1,1,1,1,8,2,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,12,235,246,244,245,103,232,76,241,233,234,236,237,238,239,240,242,243,55,168,169,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,171,107,105,106,96,247,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,82,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-14,-14,-14,-14,-14,-14,-14,-14,2,20,82,248,96,65,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,65,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,107,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,249,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,250,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,114,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,1,1,2,1,1,2,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,251,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,257,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,252,253,254,256,259,255,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,4,112,5,2,13,143,263,264,262,3,82,30,20,266,143,265,5,62,71,3,1,1,267,41,42,90,91,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,59,1,5,22,3,5,1,45,2,8,6,5,1,8,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-246,-246,-246,-246,-246,-246,-246,-246,269,-246,268,270,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,14,20,56,4,1,2,19,13,14,1,1,9,1,18,26,274,277,276,278,272,96,275,89,271,273,87,88,279,82,1,36,-242,1,36,-243,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,6,117,1,1,3,1,3,280,281,282,283,284,285,1,117,286,1,117,287,77,1,5,11,1,7,3,3,5,1,1,14,1,1,1,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,7,11,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,3,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,288,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,289,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,291,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,290,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,26,6,14,3,5,3,5,49,1,4,1,1,1,6,1,2,1,1,11,26,1,8,2,1,1,2,1,-267,302,103,-267,-267,-267,298,296,102,104,171,107,105,106,96,303,270,304,300,299,292,293,294,295,297,301,1,27,305,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,-136,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,6,23,69,1,1,2,1,309,171,107,306,307,308,6,23,69,1,1,2,1,309,171,107,310,307,308,110,1,4,1,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,5,1,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,1,1,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-5,311,-5,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-5,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,-5,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,-5,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,312,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,313,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,314,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,315,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,316,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,317,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,318,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,319,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,320,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,321,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,322,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,323,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,324,178,325,326,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,327,178,328,329,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,330,178,331,332,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,333,178,334,335,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,336,178,337,338,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,339,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,340,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,14,20,7,6,69,6,7,26,1,9,17,45,4,2,2,158,100,160,96,159,161,163,162,101,203,341,342,343,202,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,344,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,345,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,346,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,347,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,348,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,349,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,3,23,69,1,350,171,107,46,1,5,22,3,5,1,61,14,1,7,5,7,3,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-515,-515,-515,-515,-515,-515,-515,143,-515,-515,-515,351,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,2,112,20,143,352,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-393,-393,-393,-393,-393,-393,-393,-393,-393,143,-393,-393,-393,-393,-393,-393,-393,-393,-393,353,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,110,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,5,1,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,357,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,354,355,92,93,94,95,89,41,42,90,91,86,87,88,83,356,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,360,359,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,361,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,50,1,5,22,3,5,1,15,3,1,1,2,39,13,2,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-15,-15,-15,-15,-15,-15,362,366,363,364,367,-15,365,-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,5,17,35,3,1,1,369,368,372,370,371,1,52,373,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,374,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,193,192,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,378,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,46,16,4,3,4,6,28,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,25,170,167,103,100,76,379,169,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,171,107,105,106,96,247,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,82,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,380,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,193,192,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,381,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,24,1,5,99,-405,384,383,-405,382,6,6,25,5,1,76,22,-342,-342,-342,-342,-342,-342,7,6,25,5,1,15,61,22,-346,-346,-346,-346,385,-346,-346,17,6,14,7,4,2,3,1,65,6,5,2,20,6,1,9,16,1,-349,158,100,-349,160,-349,-349,96,159,-349,161,-349,163,162,101,386,157,9,6,11,1,13,5,1,15,61,22,-350,387,388,-350,-350,-350,-350,-350,-350,13,6,11,1,13,5,1,15,61,22,79,2,2,2,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,13,6,11,1,13,5,1,15,61,22,79,2,2,2,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,13,6,11,1,13,5,1,15,61,22,79,2,2,2,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,13,6,11,1,13,5,1,15,61,22,79,2,2,2,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,114,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,1,1,2,1,1,2,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,257,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,252,253,254,256,259,255,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,92,11,1,269,268,270,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,107,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,390,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,389,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-511,-511,-511,-511,-511,-511,-175,-175,-511,-175,-511,-175,-175,-175,-511,-175,-175,-511,-175,-511,-511,-511,-511,-175,-511,-175,-175,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,13,82,2,28,5,1,1,3,1,3,6,29,22,1,137,138,143,-237,-237,-237,-237,-237,-237,140,142,141,391,6,117,1,1,3,1,3,-238,-238,-238,-238,-238,-238,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,62,1,5,22,3,1,4,1,45,2,8,1,2,2,1,3,11,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-512,-512,-512,-512,-512,-512,-175,-175,-512,-175,-512,-175,-175,-175,-512,-175,-175,-512,-175,-512,-512,-512,-512,-175,-512,-175,-175,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,394,392,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,393,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,395,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,4,188,1,9,1,135,136,133,134,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,112,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,3,27,6,118,100,396,101,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-525,3,27,6,118,100,397,101,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,398,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,112,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,112,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,399,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,52,400,2,52,3,401,402,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,131,132,-181,127,128,129,-181,-181,130,-181,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,403,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,46,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,2,1,1,1,8,3,10,1,1,5,1,1,1,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,404,405,407,406,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,46,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,2,1,1,1,8,3,10,1,1,5,1,1,1,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,131,132,-443,127,128,129,408,409,407,406,130,-443,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,2,1,1,1,8,3,10,1,1,5,1,1,1,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,135,136,-445,-445,133,134,410,411,407,406,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,4,214,2,2,2,412,413,414,415,12,20,7,6,69,6,7,26,1,9,17,45,8,158,100,160,96,159,161,163,162,101,203,416,202,12,20,7,6,69,6,7,26,1,9,17,45,8,158,100,160,96,159,161,163,162,101,203,417,202,3,36,22,157,165,418,419,5,31,183,2,2,2,420,-507,-507,-507,-507,5,31,183,2,2,2,-506,-506,-506,-506,-506,25,36,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,421,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,3,208,1,1,422,423,424,27,36,22,130,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,425,131,132,426,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,27,36,22,130,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,427,131,132,428,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-462,3,27,6,118,100,429,101,6,17,4,15,17,1,58,-339,430,-339,431,432,433,6,17,4,15,17,1,58,-339,434,-339,435,436,433,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,437,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,46,1,5,22,3,5,1,21,40,15,7,5,10,8,12,2,8,7,14,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-364,-364,-364,-364,165,-364,438,-364,-364,-364,-364,-364,-364,-364,-364,-364,439,-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,3,36,22,114,165,440,441,45,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,7,14,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-359,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,442,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,2,1,1,1,1,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,445,446,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,443,444,447,448,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,131,132,-384,127,-384,-384,-384,-384,130,-384,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-384,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-411,3,27,6,118,100,449,101,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-18,-18,-18,-18,450,-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,2,25,6,451,452,1,25,453,7,20,8,1,6,1,3,63,458,454,455,456,457,459,96,6,20,4,2,1,13,62,230,460,461,462,231,96,2,25,6,-44,-44,1,38,463,29,6,14,3,5,3,5,3,3,18,25,1,4,1,1,1,6,1,2,1,1,11,26,1,8,2,1,1,2,1,-267,468,103,464,-267,467,469,465,466,298,296,102,104,171,107,105,106,96,303,270,304,300,299,292,293,294,295,297,301,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,470,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,471,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,2,25,13,472,473,1,27,474,4,20,82,13,26,475,96,211,163,21,17,1,34,1,1,1,1,1,2,23,2,28,5,1,1,3,1,3,35,22,1,477,-205,476,478,479,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,18,17,1,37,1,1,2,23,2,28,5,1,1,3,1,3,35,22,1,480,481,151,148,149,152,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,62,1,5,11,1,10,3,5,1,18,1,1,2,23,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,2,36,22,165,482,2,6,180,108,483,106,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,484,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,31,6,25,5,107,14,7,1,23,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-403,-403,-403,-403,487,485,486,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,5,1,1,5,1,1,1,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,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,110,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,5,1,2,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,488,490,489,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,6,6,24,1,5,107,3,-405,493,492,-405,-405,491,61,6,4,5,4,3,5,4,5,1,4,18,28,1,1,1,1,1,1,6,1,2,25,1,1,4,4,1,1,1,1,1,1,8,6,2,1,11,2,1,2,6,3,2,1,1,4,4,3,6,1,5,7,3,1,1,4,1,1,1,1,1,494,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,5,6,25,5,1,106,-252,-252,-252,-252,-252,113,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,2,1,2,1,1,2,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,257,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,496,495,256,259,255,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,61,6,4,5,4,3,5,4,5,1,4,18,28,1,1,1,1,1,1,6,1,2,25,1,1,4,4,1,1,1,1,1,1,8,6,2,1,11,2,1,2,6,3,2,1,1,4,4,3,6,1,5,7,3,1,1,4,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,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,5,6,25,5,1,106,-257,-257,-257,-257,-257,6,6,25,5,1,76,30,-404,-404,-404,-404,-404,-404,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,497,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,2,103,1,498,270,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,499,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,500,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,2,112,20,143,501,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,75,1,5,11,1,10,3,5,1,15,1,1,1,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,7,11,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,3,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,75,1,5,11,1,10,3,5,1,15,1,1,1,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,7,11,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,3,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,75,1,5,11,1,10,3,5,1,15,1,1,1,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,7,11,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,3,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-222,-222,-222,-222,-222,-222,502,506,-222,143,-222,503,504,505,-222,-222,-222,-222,-222,507,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,117,2,263,264,2,103,1,508,270,2,103,1,509,270,109,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,5,6,1,1,4,3,1,1,1,1,1,1,9,6,2,1,4,1,6,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,510,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,511,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,512,94,95,89,41,42,90,91,86,87,88,83,101,487,84,85,513,486,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,119,514,8,20,16,66,1,1,20,38,1,519,516,96,520,270,515,517,518,8,20,16,66,1,1,20,38,1,519,522,96,520,270,521,517,518,2,103,1,523,270,2,103,1,524,270,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,525,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,526,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,527,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,5,6,22,2,1,5,-405,-405,528,529,-405,5,6,22,3,5,1,-268,-268,-268,-268,-268,6,6,22,3,5,1,118,-272,-272,-272,-272,-272,530,5,6,22,3,5,1,-273,-273,-273,-273,-273,1,155,531,8,6,22,3,5,1,15,2,101,-316,-316,-316,-316,-316,532,533,-316,6,6,22,3,5,1,118,-317,-317,-317,-317,-317,-317,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,534,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,4,92,11,1,38,269,268,270,535,18,20,7,6,43,4,1,21,1,1,11,25,1,10,5,2,1,1,25,302,100,538,539,541,540,96,303,270,304,87,88,101,536,537,542,543,82,16,6,22,3,5,1,15,2,28,30,5,1,1,4,3,29,6,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,16,6,22,3,5,1,15,2,28,30,5,1,1,4,3,29,6,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,16,6,22,3,5,1,15,2,28,30,5,1,1,4,3,29,6,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,26,6,14,3,5,3,5,49,1,4,1,1,1,6,1,2,1,1,11,26,1,8,2,1,1,2,1,-267,302,103,-267,-267,-267,298,296,102,104,171,107,105,106,96,303,270,304,300,299,544,293,294,295,297,301,6,23,69,1,3,1,4,309,171,107,546,308,545,5,92,1,2,2,4,-140,-140,-140,-140,-140,108,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,5,1,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,547,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,548,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,549,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,92,1,2,2,4,-145,-145,-145,-145,-145,6,23,69,1,2,1,1,309,171,107,550,546,308,5,1,5,31,61,88,-4,-4,-4,-4,-4,25,155,33,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,551,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,112,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,112,115,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,112,115,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,112,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,114,113,112,115,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,109,110,-535,114,113,112,115,116,-535,-535,-535,120,121,122,-535,-535,-535,-535,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,109,110,-536,114,113,112,115,116,117,-536,-536,120,121,122,-536,-536,-536,-536,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,109,110,-537,114,113,112,115,116,117,118,-537,120,121,122,-537,-537,-537,-537,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,109,110,-538,114,113,112,115,116,-538,-538,-538,-538,-538,122,-538,-538,-538,-538,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,109,110,-539,114,113,112,115,116,-539,-539,-539,-539,-539,122,-539,-539,-539,-539,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,109,110,-540,114,113,112,115,116,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,109,110,-541,114,113,112,115,116,117,118,119,120,121,122,-541,-541,-541,-541,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,-544,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,-547,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,109,110,-542,114,113,112,115,116,117,118,119,120,121,122,123,-542,-542,-542,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,-548,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,-543,109,110,-543,114,113,112,115,116,117,118,119,120,121,122,123,-543,-543,-543,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,-546,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,-549,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,-550,131,132,-550,127,-550,-550,-550,-550,130,-550,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-550,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,-552,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,-554,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,-551,131,132,-551,127,-551,-551,-551,-551,130,-551,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-551,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,-553,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,-555,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,131,132,-437,552,-437,-437,-437,-437,130,-437,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,131,132,-439,127,-439,-439,-439,-439,130,-439,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,4,214,2,2,2,553,554,555,556,12,20,7,6,69,6,7,26,1,9,17,45,8,158,100,160,96,159,161,163,162,101,203,557,202,12,20,7,6,69,6,7,26,1,9,17,45,8,158,100,160,96,159,161,163,162,101,203,558,202,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,131,132,559,127,-418,-418,-418,-418,130,-418,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-418,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,131,132,560,127,-420,-420,-420,-420,130,-420,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-420,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,131,132,-436,127,-436,-436,-436,-436,130,-436,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,131,132,-438,127,-438,-438,-438,-438,130,-438,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,131,132,561,127,-419,-419,-419,-419,130,-419,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-419,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,131,132,562,127,-421,-421,-421,-421,130,-421,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-421,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,5,6,24,1,5,77,-405,563,564,-405,-405,5,6,25,5,1,76,-398,-398,-398,-398,-398,109,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,6,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,357,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,565,92,93,94,95,89,41,42,90,91,86,87,88,83,356,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,30,6,25,5,1,76,30,45,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-403,-403,-403,-403,-403,-403,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-150,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,566,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,567,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,569,568,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,570,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,571,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,193,192,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,572,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,46,16,4,3,4,6,28,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,25,170,167,103,100,76,573,169,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,171,107,105,106,96,247,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,82,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,574,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,193,192,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,575,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,577,576,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,578,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,48,1,5,22,3,5,1,15,3,1,1,41,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-16,-16,-16,-16,-16,-16,579,582,580,581,-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,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,583,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,193,192,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,584,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,585,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,586,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,131,132,-178,127,128,129,-178,-178,130,-178,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,587,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,588,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-192,-192,-192,-192,-192,-192,137,138,-192,589,-192,-237,-237,-237,-192,-237,-237,-192,-237,140,-192,-192,-192,-192,142,-192,141,391,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,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,4,17,119,1,1,591,590,90,91,16,6,14,7,6,3,1,65,6,7,26,1,9,6,9,1,1,-406,158,100,160,-406,-406,96,159,161,163,162,101,156,592,155,157,2,6,30,593,594,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,595,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,6,6,25,5,1,76,22,-348,-348,-348,-348,-348,-348,7,6,25,5,1,15,61,22,-351,-351,-351,-351,-351,-351,-351,8,6,11,14,5,1,15,61,22,-353,596,-353,-353,-353,-353,-353,-353,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,6,2,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,2,6,31,108,597,2,112,20,143,351,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-165,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,598,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,599,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-168,1,37,600,1,37,601,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-527,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-162,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,602,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,604,603,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,605,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,607,606,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,608,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,131,132,-182,127,128,129,-182,-182,130,-182,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,3,1,1,8,3,10,1,1,5,1,1,1,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,609,407,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,10,20,7,6,3,22,44,6,34,9,54,614,100,611,165,613,96,612,162,101,610,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,616,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,615,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,45,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,3,1,1,8,3,10,1,1,5,1,1,1,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,617,407,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,45,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,3,1,1,8,3,10,1,1,5,1,1,1,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,618,407,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,619,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,620,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,621,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,622,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,216,623,1,218,624,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,625,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,11,20,7,6,69,6,7,26,1,9,17,53,158,100,160,96,159,161,163,162,101,203,626,3,208,1,1,627,423,424,4,37,158,14,1,628,629,630,424,3,37,158,15,-468,-468,-468,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,4,1,7,3,1,1,4,1,1,1,1,1,632,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,631,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,633,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,634,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,37,635,3,17,19,22,637,165,636,4,17,4,15,76,-339,638,-339,433,4,17,4,15,76,-339,639,-339,433,18,6,14,7,4,2,3,66,6,5,2,19,7,1,9,6,9,1,1,-341,158,100,-341,160,-341,96,159,-341,161,640,163,162,101,156,154,155,157,3,17,19,22,642,165,641,4,17,4,15,76,-339,643,-339,433,4,17,4,15,76,-339,644,-339,433,45,1,5,22,3,5,1,21,40,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-362,-362,-362,-362,165,-362,645,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-362,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,646,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,-368,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,647,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,26,36,141,11,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,220,648,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,2,6,31,650,649,2,6,31,-375,-375,26,6,31,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-378,-378,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,6,6,31,151,1,9,1,-379,-379,135,136,133,134,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,651,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,102,652,1,37,653,3,27,6,118,100,654,101,3,23,69,1,655,171,107,3,26,1,13,656,657,231,3,23,69,1,658,171,107,1,25,659,5,6,22,2,1,5,-405,-405,660,661,-405,5,6,22,3,5,1,-35,-35,-35,-35,-35,6,20,9,6,1,3,63,458,662,456,457,459,96,6,6,22,3,5,1,1,-40,-40,-40,-40,-40,663,6,6,22,3,5,1,1,-42,-42,-42,-42,-42,664,1,25,665,1,25,666,7,20,8,1,6,1,3,63,458,667,668,456,457,459,96,2,20,82,669,96,45,1,5,19,3,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-46,-46,670,-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,5,6,22,2,1,5,-405,-405,671,672,-405,5,6,22,3,5,1,-89,-89,-89,-89,-89,6,20,16,3,3,18,42,674,467,469,673,466,96,8,6,22,3,5,2,14,2,101,-94,-94,-94,-94,675,-313,-313,-313,6,6,22,3,5,1,1,-97,-97,-97,-97,-97,676,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,131,132,-56,127,128,129,-56,-56,130,-56,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,3,27,6,118,100,677,101,3,23,69,1,678,171,107,3,20,19,63,679,680,96,6,20,16,3,3,18,42,674,467,469,681,466,96,6,17,4,15,17,1,58,-339,682,-339,431,432,433,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,684,683,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,685,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,52,3,1,1,2,686,689,687,688,690,1,52,691,2,52,3,692,693,4,55,1,1,2,366,363,364,367,4,17,38,1,1,694,372,370,371,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,2,6,31,108,695,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,696,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,57,10,5,4,3,5,10,4,18,28,1,1,1,1,1,1,6,1,2,18,7,1,1,4,4,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,4,4,3,6,1,5,7,3,1,1,4,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,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,57,10,5,4,3,5,10,4,18,28,1,1,1,1,1,1,6,1,2,18,7,1,1,4,4,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,4,4,3,6,1,5,7,3,1,1,4,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,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,5,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,61,6,4,5,4,3,5,4,5,1,4,18,28,1,1,1,1,1,1,6,1,2,25,1,1,4,4,1,1,1,1,1,1,8,6,2,1,11,2,1,2,6,3,2,1,1,4,4,3,6,1,5,7,3,1,1,4,1,1,1,1,1,494,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,5,6,25,5,1,106,-258,-258,-258,-258,-258,2,36,107,698,697,115,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,1,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,1,3,1,1,2,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-406,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,-406,-406,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,-406,700,699,259,255,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,4,6,30,1,106,701,-259,-259,-259,61,6,4,5,4,3,5,4,5,1,4,18,28,1,1,1,1,1,1,6,1,2,25,1,1,4,4,1,1,1,1,1,1,8,6,2,1,11,2,1,2,6,3,2,1,1,4,4,3,6,1,5,7,3,1,1,4,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,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,6,6,24,1,5,1,109,-405,493,492,-405,-405,702,109,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,6,1,2,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,490,489,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,30,6,25,5,1,76,30,45,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-358,-358,-358,-358,-358,-358,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,25,120,68,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,703,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,704,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-225,-225,-225,-225,-225,-225,-225,-225,-225,143,-225,-225,-225,-225,-225,-225,-225,-225,-225,705,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,2,103,1,706,270,2,103,1,707,270,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,708,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,23,69,1,709,171,107,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,29,31,89,37,7,1,23,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,711,710,487,712,486,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,108,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,5,6,1,1,4,3,1,1,1,1,1,1,9,6,2,1,4,1,6,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,713,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,714,94,95,89,41,42,90,91,86,87,88,83,101,487,84,85,513,486,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,120,715,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,4,7,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,716,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-326,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,-326,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,717,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,718,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,24,1,5,89,-405,719,720,-405,-405,7,20,82,1,1,20,38,1,519,96,520,270,721,517,518,5,6,25,5,1,88,-303,-303,-303,-303,-303,7,6,25,5,1,15,73,30,-307,-307,-307,-307,723,-307,722,7,6,25,5,1,15,73,30,-311,-311,-311,-311,-311,-311,-311,7,6,25,5,1,15,73,30,-312,-312,-312,-312,-312,-312,-312,5,6,24,1,5,89,-405,724,720,-405,-405,7,20,82,1,1,20,38,1,519,96,520,270,725,517,518,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,45,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,4,1,3,1,4,1,8,3,10,1,1,5,1,1,1,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,726,727,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,728,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,3,6,22,8,730,729,731,25,6,14,3,5,8,1,48,1,4,1,1,1,6,1,2,1,1,11,26,1,10,1,1,2,1,-406,302,103,-406,-406,-406,298,296,102,104,171,107,105,106,96,303,270,304,300,299,732,294,295,297,301,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,733,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,734,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,735,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,736,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,737,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,155,738,25,143,45,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,739,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,740,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,14,6,22,3,5,1,45,30,5,1,1,4,3,6,29,-281,-281,-281,-281,-281,-283,143,-283,-283,-283,-283,-283,741,-283,14,6,22,3,5,1,45,30,5,1,1,4,3,6,29,-282,-282,-282,-282,-282,746,143,743,744,745,748,749,742,747,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,4,112,5,2,13,143,263,264,750,2,112,20,143,751,5,6,22,2,1,5,-405,-405,752,529,-405,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,5,92,1,2,2,4,-141,-141,-141,-141,-141,2,6,92,108,753,106,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,754,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,92,1,2,2,4,-144,-144,-144,-144,-144,62,1,5,22,3,1,4,1,45,2,8,1,2,2,1,3,11,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,755,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,757,178,337,338,28,29,30,31,73,32,65,54,71,103,100,76,756,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,758,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,759,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,760,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,761,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,216,762,1,218,763,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,764,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,765,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,766,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,767,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,6,30,77,769,770,768,111,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,1,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,5,2,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-406,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-406,-406,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,-406,92,93,94,95,89,41,42,90,91,86,87,88,83,771,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,24,1,5,1,-405,772,564,-405,-405,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-151,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,773,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-153,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,774,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,775,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-193,-193,-193,-193,-193,-193,137,138,-193,776,-193,-237,-237,-237,-193,-237,-237,-193,-237,140,-193,-193,-193,-193,142,-193,141,391,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-156,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,777,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,778,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,780,779,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,781,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,782,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,193,192,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,783,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,376,375,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,784,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-164,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,131,132,-179,127,128,129,-179,-179,130,-179,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,785,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,110,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,5,1,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,357,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,786,787,92,93,94,95,89,41,42,90,91,86,87,88,83,356,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,2,36,22,165,788,3,136,1,1,789,90,91,6,6,25,5,1,76,22,-343,-343,-343,-343,-343,-343,13,20,7,6,69,6,7,26,1,9,6,9,1,1,158,100,160,96,159,161,163,162,101,156,790,155,157,18,6,14,7,4,2,3,1,65,6,7,19,7,1,9,6,9,1,1,-341,158,100,-341,160,-341,-341,96,159,161,791,163,162,101,156,154,155,157,30,6,25,5,1,76,22,53,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-347,-347,-347,-347,-347,-347,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,7,6,25,5,1,15,61,22,-352,-352,-352,-352,-352,-352,-352,57,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,6,2,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,792,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-167,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-163,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-169,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,793,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,794,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,131,132,-172,127,128,129,-172,-172,130,-172,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,795,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,796,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,2,36,22,165,797,2,36,22,165,798,2,36,22,165,799,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-459,2,17,19,800,-460,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,131,132,-455,127,128,129,-455,-455,130,-455,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,28,36,22,130,1,1,5,3,1,13,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,801,131,132,803,127,128,129,130,802,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,27,36,22,130,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,804,131,132,805,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,27,36,22,130,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,806,131,132,807,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,27,36,22,130,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,808,131,132,809,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,810,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,811,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,812,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,4,214,2,2,2,-508,-508,-508,-508,4,37,158,14,1,813,814,630,424,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,2,36,22,165,815,3,37,158,15,-469,-469,-469,3,31,5,22,817,165,816,26,31,5,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-472,-472,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,818,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,819,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,45,1,5,22,3,5,1,21,40,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-17,-17,-17,-17,165,-17,820,-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,3,17,19,22,822,165,821,3,17,19,22,824,165,823,5,6,24,1,5,77,-405,384,383,-405,825,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,2,36,22,165,826,3,17,19,22,828,165,827,3,17,19,22,830,165,829,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,45,1,5,22,3,5,1,21,40,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-366,-366,-366,-366,165,-366,831,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,-366,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-366,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,832,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,109,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,3,1,1,1,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,-377,445,446,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-377,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,833,447,448,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,26,6,31,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-380,-380,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,3,6,19,12,-381,834,-381,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-19,-19,-19,-19,835,-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,1,25,836,6,20,9,6,1,3,63,458,837,456,457,459,96,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-20,-20,-20,-20,838,-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,3,23,69,1,839,171,107,3,6,22,8,841,840,842,8,6,14,8,7,1,1,2,63,-406,458,-406,843,-406,-406,459,96,5,6,24,1,5,1,-405,844,661,-405,-405,2,20,82,845,96,2,20,82,846,96,3,23,69,1,847,171,107,3,23,69,1,848,171,107,1,25,849,5,6,22,2,1,5,-405,-405,850,661,-405,1,25,-45,3,23,69,1,851,171,107,3,6,22,8,853,852,854,8,6,14,8,8,1,2,21,42,-406,674,-406,-406,-406,469,855,96,5,6,24,1,5,1,-405,856,672,-405,-405,6,6,22,3,5,1,1,-94,-94,-94,-94,-94,675,3,20,19,63,857,858,96,2,20,82,859,96,1,37,860,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,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,1,25,861,1,25,862,5,6,22,2,1,5,-405,-405,863,672,-405,3,17,19,22,864,165,636,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,131,132,-64,127,128,129,-64,-64,130,-64,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,865,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,866,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,868,867,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,869,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,871,870,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,872,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,874,873,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,875,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,877,876,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,878,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,880,879,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,165,72,22,21,10,11,13,14,881,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,882,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,884,883,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,885,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,887,886,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,888,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,55,1,1,582,580,581,1,186,889,25,143,45,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,890,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,5,1,1,5,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,-251,-251,-251,113,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,2,1,2,1,1,2,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,257,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,496,891,256,259,255,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,25,5,1,106,-253,-253,-253,-253,-253,112,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,1,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,5,1,2,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,-260,-260,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,-260,490,489,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,111,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,2,3,1,1,2,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,258,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,496,892,259,255,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,2,36,1,698,893,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,894,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,25,120,68,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,895,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,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,-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,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,896,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,4,7,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,897,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-324,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,-324,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,28,37,120,7,1,23,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,898,487,712,486,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,1,37,899,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,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,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,26,37,83,68,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-325,-325,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,120,68,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,900,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,901,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,6,30,89,903,904,902,10,6,14,16,1,65,1,1,21,37,1,-406,519,-406,-406,96,520,270,-406,905,518,5,6,24,1,5,1,-405,906,720,-405,-405,5,20,82,1,1,59,519,96,520,270,907,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,908,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,6,30,89,903,904,909,5,6,24,1,5,1,-405,910,720,-405,-405,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,3,36,22,135,165,912,911,2,36,22,165,913,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,5,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,21,20,3,62,1,4,1,1,1,6,1,2,1,1,11,26,1,10,1,1,2,1,302,103,298,296,102,104,171,107,105,106,96,303,270,304,300,299,914,294,295,297,301,26,6,14,3,8,5,1,48,1,4,1,1,1,6,1,2,1,1,11,26,1,8,2,1,1,2,1,-267,302,103,-267,-267,-267,298,296,102,104,171,107,105,106,96,303,270,304,300,299,915,293,294,295,297,301,5,6,22,3,5,1,-269,-269,-269,-269,-269,29,6,22,3,5,1,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-274,-274,-274,-274,-274,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,916,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,29,6,22,3,5,1,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-276,-276,-276,-276,-276,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,29,6,22,3,5,1,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-277,-277,-277,-277,-277,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,917,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,918,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,919,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,6,6,22,3,5,1,118,-318,-318,-318,-318,-318,-318,25,143,45,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,920,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,2,103,1,921,270,2,103,1,922,270,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,923,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,924,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,14,6,22,3,5,1,45,30,5,1,1,4,3,6,29,-298,-298,-298,-298,-298,-298,143,-298,-298,-298,-298,-298,925,-298,8,20,16,66,1,1,20,38,1,519,927,96,520,270,926,517,518,8,20,16,66,1,1,20,38,1,519,929,96,520,270,928,517,518,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,3,6,22,8,730,930,731,5,92,1,2,2,4,-142,-142,-142,-142,-142,2,6,31,108,931,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-518,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,932,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,131,132,-441,127,-441,-441,-441,-441,130,-441,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-441,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,933,-491,-491,-491,-491,-491,-491,934,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-491,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,935,-496,-496,-496,-496,-496,-496,-496,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-496,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,936,-500,-500,-500,-500,-500,-500,-500,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-500,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,937,-504,-504,-504,-504,-504,-504,-504,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-504,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,938,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,939,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-422,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-424,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-423,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-425,-425,-425,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-425,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,107,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,940,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,109,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,6,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,357,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,941,92,93,94,95,89,41,42,90,91,86,87,88,83,356,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,25,5,1,76,-399,-399,-399,-399,-399,3,6,30,1,769,770,942,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-154,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,943,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,110,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,5,1,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,9,2,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,358,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,357,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,944,945,92,93,94,95,89,41,42,90,91,86,87,88,83,356,101,261,84,85,260,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-157,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,946,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-159,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,947,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,948,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-194,-194,-194,-194,-194,-194,-396,-396,-194,-396,-194,-396,-396,-396,-194,-396,-396,-194,-396,-194,-194,-194,-194,-396,-194,-396,-396,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,5,6,24,1,5,77,-405,949,564,-405,-405,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,2,36,22,165,950,6,6,25,5,1,76,22,-344,-344,-344,-344,-344,-344,5,6,24,1,5,1,-405,951,383,-405,-405,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-170,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,952,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,131,132,-173,127,128,129,-173,-173,130,-173,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,953,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,1,36,-461,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,954,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,955,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,956,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,957,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,958,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,27,36,22,130,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,959,131,132,960,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,27,36,22,130,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,961,131,132,962,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,2,36,22,165,963,1,37,964,4,6,31,158,15,965,-470,-470,-470,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,966,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,2,36,22,165,967,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,2,36,22,165,968,2,17,19,-340,-340,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,2,36,22,165,969,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,2,36,22,165,970,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,-367,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,2,6,31,-376,-376,1,102,971,3,27,6,118,100,972,101,3,23,69,1,973,171,107,5,6,22,2,1,5,-405,-405,974,661,-405,3,27,6,118,100,975,101,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,1,25,976,4,20,15,4,63,458,977,459,96,6,20,9,6,1,3,63,458,978,456,457,459,96,5,6,22,3,5,1,-36,-36,-36,-36,-36,3,6,30,1,841,842,979,5,6,22,3,5,1,-41,-41,-41,-41,-41,5,6,22,3,5,1,-43,-43,-43,-43,-43,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,3,23,69,1,980,171,107,3,6,22,8,841,981,842,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,45,1,5,19,3,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-47,-47,982,-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,4,20,19,21,42,674,469,983,96,6,20,16,3,3,18,42,674,467,469,984,466,96,5,6,22,3,5,1,-90,-90,-90,-90,-90,3,6,30,1,853,854,985,5,6,22,3,5,1,-95,-95,-95,-95,-95,5,6,22,3,5,1,-96,-96,-96,-96,-96,5,6,22,3,5,1,-98,-98,-98,-98,-98,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,3,23,69,1,986,171,107,3,23,69,1,987,171,107,3,6,22,8,853,988,854,2,36,22,165,820,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,131,132,-65,127,128,129,-65,-65,130,-65,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,989,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,131,132,-67,127,128,129,-67,-67,130,-67,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,990,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,991,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,131,132,-77,127,128,129,-77,-77,130,-77,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,992,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,993,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,131,132,-80,127,128,129,-80,-80,130,-80,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,994,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,131,132,-83,127,128,129,-83,-83,130,-83,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,995,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,996,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,131,132,-86,127,128,129,-86,-86,130,-86,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,997,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,131,132,-70,127,128,129,-70,-70,130,-70,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,131,132,-71,127,128,129,-71,-71,130,-71,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,998,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,999,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,131,132,-74,127,128,129,-74,-74,130,-74,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1000,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1001,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,6,6,24,1,5,1,109,-405,493,492,-405,-405,1002,5,6,25,5,1,106,-254,-254,-254,-254,-254,5,6,25,5,1,106,-255,-255,-255,-255,-255,1,120,1003,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,25,120,68,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1004,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,37,83,68,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-323,-323,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,1,120,1005,1,120,1006,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1007,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,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,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,6,20,82,1,1,58,1,519,96,520,270,1008,518,7,20,82,1,1,20,38,1,519,96,520,270,1009,517,518,5,6,25,5,1,88,-304,-304,-304,-304,-304,3,6,30,1,903,904,1010,6,6,25,5,1,15,73,-308,-308,-308,-308,1011,-308,29,6,25,5,1,88,63,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-309,-309,-309,-309,-309,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,3,6,30,1,903,904,1012,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1013,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-433,5,6,22,3,5,1,-270,-270,-270,-270,-270,5,6,24,1,5,1,-405,1014,529,-405,-405,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1015,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1016,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,29,6,22,3,5,1,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-279,-279,-279,-279,-279,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1017,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,6,6,22,3,5,1,118,-319,-319,-319,-319,-319,-319,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,25,120,68,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1018,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1019,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,5,6,24,1,5,89,-405,1020,720,-405,-405,7,20,82,1,1,20,38,1,519,96,520,270,1021,517,518,5,6,24,1,5,89,-405,1022,720,-405,-405,7,20,82,1,1,20,38,1,519,96,520,270,1023,517,518,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,2,1,1,2,2,5,1,1,5,1,1,1,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,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,1,98,1024,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1025,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1026,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1027,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1028,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1029,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1030,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,1031,-498,-498,-498,-498,-498,-498,-498,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-498,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,1032,-502,-502,-502,-502,-502,-502,-502,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-502,5,6,25,5,1,76,-400,-400,-400,-400,-400,5,6,24,1,5,1,-405,1033,564,-405,-405,5,6,25,5,1,76,-401,-401,-401,-401,-401,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-195,-195,-195,-195,-195,-195,-396,-396,-195,-396,-195,-396,-396,-396,-195,-396,-396,-195,-396,-195,-195,-195,-195,-396,-195,-396,-396,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,5,6,24,1,5,77,-405,1034,564,-405,-405,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-160,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1035,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,3,6,30,77,769,770,1036,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,3,6,30,1,593,594,1037,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,27,36,22,130,1,1,5,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1038,131,132,1039,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,27,36,22,130,1,6,3,1,13,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1040,131,132,127,128,129,130,1041,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1042,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1043,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1044,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1045,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1046,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,37,1047,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,3,37,158,15,-471,-471,-471,26,31,5,152,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-473,-473,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,2,6,31,-382,-382,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-23,-23,-23,-23,1048,-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,3,6,22,8,841,1049,842,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,3,23,69,1,1050,171,107,5,6,22,3,5,1,-37,-37,-37,-37,-37,5,6,24,1,5,1,-405,1051,661,-405,-405,5,6,22,3,5,1,-38,-38,-38,-38,-38,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,1,25,1052,3,23,69,1,1053,171,107,5,6,22,3,5,1,-91,-91,-91,-91,-91,5,6,24,1,5,1,-405,1054,672,-405,-405,5,6,22,3,5,1,-92,-92,-92,-92,-92,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,1,25,1055,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,131,132,-68,127,128,129,-68,-68,130,-68,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1056,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,131,132,-78,127,128,129,-78,-78,130,-78,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1057,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,131,132,-81,127,128,129,-81,-81,130,-81,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,131,132,-84,127,128,129,-84,-84,130,-84,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1058,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,131,132,-87,127,128,129,-87,-87,130,-87,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,131,132,-72,127,128,129,-72,-72,130,-72,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1059,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,131,132,-75,127,128,129,-75,-75,130,-75,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1060,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,2,36,1,698,1061,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,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,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,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,-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,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,1,120,1062,5,6,25,5,1,88,-305,-305,-305,-305,-305,5,6,24,1,5,1,-405,1063,720,-405,-405,1,125,1064,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1065,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,125,1066,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1067,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,3,6,30,1,730,731,1068,5,6,22,3,5,1,-275,-275,-275,-275,-275,5,6,22,3,5,1,-278,-278,-278,-278,-278,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1069,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,25,37,151,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1070,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,3,6,30,89,903,904,1071,5,6,24,1,5,1,-405,1072,720,-405,-405,3,6,30,89,903,904,1073,5,6,24,1,5,1,-405,1074,720,-405,-405,5,92,1,2,2,4,-143,-143,-143,-143,-143,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,1075,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-492,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,-493,1076,-493,-493,-493,-493,-493,-493,-493,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-493,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-497,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-501,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-505,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1077,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1078,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,6,30,1,769,770,1079,3,6,30,77,769,770,1080,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-196,-196,-196,-196,-196,-196,-397,-397,-196,-397,-196,-397,-397,-397,-196,-397,-397,-196,-397,-196,-196,-196,-196,-397,-196,-397,-397,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,6,6,25,5,1,76,22,-345,-345,-345,-345,-345,-345,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1081,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1082,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1083,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1084,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,3,27,6,118,100,1085,101,1,25,1086,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-22,-22,-22,-22,1087,-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,3,6,30,1,841,842,1088,3,23,69,1,1089,171,107,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,3,6,30,1,853,854,1090,3,23,69,1,1091,171,107,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,5,6,25,5,1,106,-256,-256,-256,-256,-256,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,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,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,3,6,30,1,903,904,1092,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,29,6,25,5,1,88,63,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-310,-310,-310,-310,-310,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,69,1,5,11,1,10,3,5,1,15,1,2,1,1,2,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,8,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,45,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,4,1,3,1,4,1,8,3,10,1,1,5,1,1,1,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,1093,727,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,5,6,22,3,5,1,-271,-271,-271,-271,-271,5,6,22,3,5,1,-280,-280,-280,-280,-280,1,120,1094,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,3,6,30,1,903,904,1095,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,3,6,30,1,903,904,1096,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1097,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,10,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,11,2,1,2,6,3,2,1,1,2,1,1,3,1,3,6,1,5,7,3,1,1,4,1,1,1,1,1,1098,178,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-499,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-503,5,6,25,5,1,76,-402,-402,-402,-402,-402,56,1,5,22,3,5,1,45,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,4,4,18,1,2,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-197,-197,-197,-197,-197,-197,-397,-397,-197,-397,-197,-397,-397,-397,-197,-397,-397,-197,-397,-197,-197,-197,-197,-397,-197,-397,-397,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1099,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,26,36,22,130,1,6,3,1,13,13,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,165,1100,131,132,127,128,129,130,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,126,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,3,23,69,1,1101,171,107,3,27,6,118,100,1102,101,5,6,22,3,5,1,-39,-39,-39,-39,-39,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,5,6,22,3,5,1,-93,-93,-93,-93,-93,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,5,6,25,5,1,88,-306,-306,-306,-306,-306,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,1,125,1103,1,125,1104,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,-494,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-494,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,-495,109,110,111,114,113,112,115,116,117,118,119,120,121,122,123,124,125,-495,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,45,1,5,22,3,1,4,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-24,-24,-24,-24,1105,-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,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,13,6,22,3,5,1,45,30,5,1,1,4,3,35,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,3,27,6,118,100,1106,101,44,1,5,22,3,5,1,61,15,7,5,10,8,12,2,8,21,2,1,1,5,3,1,4,1,8,3,10,1,1,5,1,1,1,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],t=[],r=0,n,i,s,a;while(r","ArrowKind → =>","DoIife → DO_IIFE Code","This → THIS","This → @","ThisProperty → @ Property","ThisProperty → @ STRING","Array → [ ]","Array → [ Elisions ]","Array → [ ArgElisionList OptElisions ]","ArgElisionList → ArgElision","ArgElisionList → ArgElisionList , ArgElision","ArgElisionList → ArgElisionList OptComma TERMINATOR ArgElision","ArgElisionList → INDENT ArgElisionList OptElisions OUTDENT","ArgElisionList → ArgElisionList OptElisions INDENT ArgElisionList OptElisions OUTDENT","ArgElision → Arg","ArgElision → Elisions Arg","OptElisions → OptComma","OptElisions → , Elisions","Elisions → Elision","Elisions → Elisions Elision","Elision → ,","Elision → Elision TERMINATOR","Object → { AssignList OptComma }","Object → MAP_START { AssignList OptComma }","AssignList → ε","AssignList → AssignObj","AssignList → AssignList , AssignObj","AssignList → AssignList OptComma TERMINATOR AssignObj","AssignList → AssignList OptComma INDENT AssignList OptComma OUTDENT","AssignObj → ObjAssignable","AssignObj → ObjRestValue","AssignObj → ObjAssignable : Expression","AssignObj → ObjAssignable : INDENT Expression OUTDENT","AssignObj → Regex : Expression","AssignObj → SimpleObjAssignable = Expression","AssignObj → SimpleObjAssignable = INDENT Expression OUTDENT","AssignObj → SimpleObjAssignable VOID_MARKER : Expression","AssignObj → SimpleObjAssignable VOID_MARKER : INDENT Expression OUTDENT","ObjRestValue → ... SimpleObjAssignable","ObjRestValue → ... ObjSpreadExpr","ObjSpreadExpr → SimpleObjAssignable","ObjSpreadExpr → Object","ObjSpreadExpr → Parenthetical","ObjSpreadExpr → Super","ObjSpreadExpr → This","ObjSpreadExpr → SUPER Arguments","ObjSpreadExpr → DYNAMIC_IMPORT Arguments","ObjSpreadExpr → SimpleObjAssignable Arguments","ObjSpreadExpr → ObjSpreadExpr Arguments","ObjSpreadExpr → ObjSpreadExpr . Property","ObjSpreadExpr → ObjSpreadExpr ?. Property","ObjSpreadExpr → ObjSpreadExpr INDEX_START Expression INDEX_END","ObjSpreadExpr → ObjSpreadExpr INDEX_START INDENT Expression OUTDENT INDEX_END","ObjSpreadExpr → ObjSpreadExpr DAMMIT","ObjSpreadExpr → ObjSpreadExpr MAYBE_DAMMIT Arguments","ObjSpreadExpr → ObjSpreadExpr MAYBE_DAMMIT","ObjSpreadExpr → ObjSpreadExpr PICK_START PickList OptComma PICK_END","ObjSpreadExpr → ObjSpreadExpr OPTPICK_START PickList OptComma PICK_END","ObjSpreadExpr → ObjSpreadExpr PICK_START INDENT PickList OptComma OUTDENT PICK_END","ObjSpreadExpr → ObjSpreadExpr OPTPICK_START INDENT PickList OptComma OUTDENT PICK_END","PickList → PickItem","PickList → PickList , PickItem","PickList → PickList OptComma TERMINATOR PickItem","PickList → PickList OptComma INDENT PickList OptComma OUTDENT","PickItem → PickKey","PickItem → PickKey : PickKey","PickItem → PickKey = Expression","PickItem → PickKey : PickKey = Expression","PickKey → Identifier","PickKey → Property","SimpleObjAssignable → Identifier","SimpleObjAssignable → Property","SimpleObjAssignable → ThisProperty","ObjAssignable → SimpleObjAssignable","ObjAssignable → Atom","ObjAssignable → [ Expression ]","ObjAssignable → @ [ Expression ]","RangeDots → ..","RangeDots → ...","Range → [ Expression RangeDots Expression ]","Slice → Expression RangeDots Expression","Slice → Expression RangeDots","Slice → RangeDots Expression","Slice → RangeDots","Def → DEF Identifier OptParams Block","Def → DEF Identifier OptParams TYPE Block","Def → DEF Identifier TYPE_PARAMS OptParams Block","Def → DEF Identifier TYPE_PARAMS OptParams TYPE Block","Def → DEF Identifier VOID_MARKER OptParams Block","Def → DEF Identifier VOID_MARKER OptParams TYPE Block","Def → DEF ThisProperty OptParams Block","Def → DEF ThisProperty OptParams TYPE Block","Def → DEF ThisProperty TYPE_PARAMS OptParams Block","Def → DEF ThisProperty TYPE_PARAMS OptParams TYPE Block","Def → DEF ThisProperty VOID_MARKER OptParams Block","Def → DEF ThisProperty VOID_MARKER OptParams TYPE Block","OptParams → ε","OptParams → CALL_START ParamList CALL_END","ParamList → ε","ParamList → Param","ParamList → ParamList , Param","ParamList → ParamList OptComma TERMINATOR Param","ParamList → ParamList OptComma INDENT ParamList OptComma OUTDENT","Param → TypedParamVar","Param → TypedParamVar = Expression","Param → ... TypedParamVar","Param → ...","TypedParamVar → ParamVar","TypedParamVar → ParamVar TYPE","TypedParamVar → ParamVar OPT_MARKER TYPE","TypedParamVar → ParamVar OPT_MARKER","ParamVar → Identifier","ParamVar → Array","ParamVar → Object","ParamVar → ThisProperty","Splat → ... Expression","ClassName → Identifier","Class → CLASS","Class → CLASS Block","Class → CLASS EXTENDS Expression","Class → CLASS EXTENDS Expression Block","Class → CLASS ClassName","Class → CLASS ClassName Block","Class → CLASS ClassName EXTENDS Expression","Class → CLASS ClassName EXTENDS Expression Block","Class → CLASS ThisProperty Block","Class → CLASS ThisProperty EXTENDS Expression Block","Enum → ENUM Identifier Block","Schema → SCHEMA SCHEMA_BODY","Component → COMPONENT ComponentBlock","Component → COMPONENT EXTENDS Expression ComponentBlock","ComponentBlock → INDENT ComponentBody OUTDENT","ComponentBody → ComponentLine","ComponentBody → ComponentBody TERMINATOR ComponentLine","ComponentBody → ComponentBody TERMINATOR","ComponentLine → Expression","ComponentLine → Statement","ComponentLine → OFFER Expression","ComponentLine → ACCEPT IDENTIFIER","ComponentLine → ACCEPT IDENTIFIER FROM IDENTIFIER","Render → RENDER Block","Render → RENDER Expression","Super → SUPER . Property","Super → SUPER INDEX_START Expression INDEX_END","Super → SUPER INDEX_START INDENT Expression OUTDENT INDEX_END","Invocation → Value Arguments","Invocation → SUPER Arguments","Invocation → Value ES6_OPTIONAL_CALL Arguments","Invocation → Value ? Arguments","Invocation → Value MAYBE_DAMMIT Arguments","Invocation → Value MAYBE_DAMMIT","Invocation → DYNAMIC_IMPORT Arguments","Invocation → DYNAMIC_IMPORT DAMMIT Arguments","Arguments → CALL_START CALL_END","Arguments → CALL_START ArgList OptComma CALL_END","ArgList → Arg","ArgList → ArgList , Arg","ArgList → ArgList OptComma TERMINATOR Arg","ArgList → INDENT ArgList OptComma OUTDENT","ArgList → ArgList OptComma INDENT ArgList OptComma OUTDENT","Arg → Expression","Arg → Splat","OptComma → ε","OptComma → ,","Block → INDENT OUTDENT","Block → INDENT Body OUTDENT","Parenthetical → ( Body )","Parenthetical → ( INDENT Body OUTDENT )","Return → RETURN Expression","Return → RETURN INDENT Object OUTDENT","Return → RETURN","While → WHILE Expression Block","While → UNTIL Expression Block","While → WHILE Expression WHEN Expression Block","While → UNTIL Expression WHEN Expression Block","While → Expression WHILE Expression","While → Statement WHILE Expression","While → Expression UNTIL Expression","While → Statement UNTIL Expression","While → Expression WHILE Expression WHEN Expression","While → Statement WHILE Expression WHEN Expression","While → Expression UNTIL Expression WHEN Expression","While → Statement UNTIL Expression WHEN Expression","While → Loop","IfBlock → IF Expression Block","IfBlock → IF Expression Block IfElseTail","IfElseTail → ELSE IF Expression Block","IfElseTail → ELSE IF Expression Block IfElseTail","IfElseTail → ELSE Block","UnlessBlock → UNLESS Expression Block","UnlessBlock → UNLESS Expression Block ELSE Block","If → IfBlock","If → UnlessBlock","If → Statement POST_IF Expression","If → Expression POST_IF Expression","If → Statement POST_UNLESS Expression","If → Expression POST_UNLESS Expression","If → Expression POST_IF Expression ELSE INDENT Expression OUTDENT","If → Expression POST_IF Expression ELSE Expression","Try → TRY Block","Try → TRY Expression","Try → TRY Expression Catch","Try → TRY Statement","Try → TRY Statement Catch","Try → TRY Block Catch","Try → TRY Block Finalizer","Try → TRY Block Catch Finalizer","Try → TRY Expression Finalizer","Try → TRY Expression Catch Finalizer","Try → TRY Statement Finalizer","Try → TRY Statement Catch Finalizer","Finalizer → FINALLY Block","Finalizer → FINALLY Expression","Catch → CATCH CatchVar Block","Catch → CATCH Object Block","Catch → CATCH Array Block","Catch → CATCH Block","CatchVar → Identifier","CatchVar → Identifier TYPE","Throw → THROW Expression","Throw → THROW INDENT Object OUTDENT","Switch → SWITCH Expression INDENT Cases OUTDENT","Switch → SWITCH Expression INDENT Cases ELSE Block OUTDENT","Switch → SWITCH INDENT Cases OUTDENT","Switch → SWITCH INDENT Cases ELSE Block OUTDENT","Cases → When","Cases → Cases When","When → LEADING_WHEN SimpleArgs Block","When → LEADING_WHEN SimpleArgs Block TERMINATOR","SimpleArgs → Expression","SimpleArgs → SimpleArgs , Expression","For → FOR ForVariables FORIN Expression Block","For → FOR ForVariables FORIN Expression BY Expression Block","For → FOR ForVariables FORIN Expression WHEN Expression Block","For → FOR ForVariables FORIN Expression WHEN Expression BY Expression Block","For → FOR ForVariables FORIN Expression BY Expression WHEN Expression Block","For → FOR ForVariables FOROF Expression Block","For → FOR ForVariables FOROF Expression WHEN Expression Block","For → FOR OWN ForVariables FOROF Expression Block","For → FOR OWN ForVariables FOROF Expression WHEN Expression Block","For → FOR ForVariables FORAS Expression Block","For → FOR ForVariables FORAS Expression WHEN Expression Block","For → FOR AWAIT ForVariables FORAS Expression Block","For → FOR AWAIT ForVariables FORAS Expression WHEN Expression Block","For → FOR ForVariables FORASAWAIT Expression Block","For → FOR ForVariables FORASAWAIT Expression WHEN Expression Block","For → FOR Range Block","For → FOR Range BY Expression Block","For → Expression FOR ForVariables FORIN Expression","For → Expression FOR ForVariables FORIN Expression WHEN Expression","For → Expression FOR ForVariables FORIN Expression BY Expression","For → Expression FOR ForVariables FORIN Expression WHEN Expression BY Expression","For → Expression FOR ForVariables FORIN Expression BY Expression WHEN Expression","For → Expression FOR ForVariables FOROF Expression","For → Expression FOR ForVariables FOROF Expression WHEN Expression","For → Expression FOR OWN ForVariables FOROF Expression","For → Expression FOR OWN ForVariables FOROF Expression WHEN Expression","For → Expression FOR ForVariables FORAS Expression","For → Expression FOR ForVariables FORAS Expression WHEN Expression","For → Expression FOR AWAIT ForVariables FORAS Expression","For → Expression FOR AWAIT ForVariables FORAS Expression WHEN Expression","For → Expression FOR ForVariables FORASAWAIT Expression","For → Expression FOR ForVariables FORASAWAIT Expression WHEN Expression","ForValue → ParamVar","ForVariables → ForValue","ForVariables → ForValue , ForValue","Loop → LOOP Block","Loop → LOOP Expression Block","Operation → -- SimpleAssignable","Operation → ++ SimpleAssignable","Operation → SimpleAssignable --","Operation → SimpleAssignable ++","Operation → Value ?","Operation → Expression CAST","Operation → Expression SATISFIES","Operation → Expression TERNARY Expression : Expression","Operation → UNARY Expression","Operation → DO Expression","Operation → UNARY_MATH Expression","Operation → AWAIT Expression","Operation → AWAIT INDENT Object OUTDENT","Operation → YIELD","Operation → YIELD Expression","Operation → YIELD INDENT Object OUTDENT","Operation → YIELD FROM Expression","Operation → - Expression","Operation → + Expression","Operation → Expression ** Expression","Operation → Expression + Expression","Operation → Expression - Expression","Operation → Expression MATH Expression","Operation → Expression SHIFT Expression","Operation → Expression & Expression","Operation → Expression ^ Expression","Operation → Expression | Expression","Operation → Expression COMPARE Expression","Operation → Expression MATCH Expression","Operation → Expression RELATION Expression","Operation → Expression && Expression","Operation → Expression || Expression","Operation → Expression ?? Expression","Operation → Expression && Return","Operation → Expression || Return","Operation → Expression ?? Return","Operation → Expression && STATEMENT","Operation → Expression || STATEMENT","Operation → Expression ?? STATEMENT","Operation → Expression THEN Expression","Operation → Expression ELSE Expression","Operation → Expression THEN Return","Operation → Expression ELSE Return","Operation → Expression THEN STATEMENT","Operation → Expression ELSE STATEMENT"],ruleActions:(e,t,r,n)=>{let i=t,s=t.length-1;switch(e){case 1:return["program"];case 2:return["program",...i[s]];case 3:case 35:case 89:case 140:case 257:case 261:case 268:case 303:case 342:case 375:case 398:case 468:case 472:case 507:return[i[s]];case 4:case 36:case 90:case 269:case 304:case 343:case 376:case 399:{let a=i[s-2];return a.push(i[s]),a}break;case 5:case 142:case 180:case 264:case 340:case 377:return i[s-1];case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 40:case 42:case 44:case 94:case 97:case 99:case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:case 108:case 109:case 110:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 122:case 123:case 124:case 125:case 126:case 128:case 130:case 131:case 134:case 135:case 136:case 138:case 145:case 146:case 148:case 149:case 175:case 176:case 177:case 178:case 179:case 181:case 182:case 183:case 205:case 206:case 228:case 229:case 230:case 231:case 232:case 237:case 238:case 242:case 243:case 252:case 273:case 283:case 284:case 285:case 286:case 287:case 311:case 312:case 313:case 314:case 315:case 316:case 317:case 346:case 350:case 354:case 355:case 356:case 357:case 359:case 378:case 379:case 403:case 404:case 405:case 406:case 426:case 431:case 434:case 435:case 454:case 460:case 506:return i[s];case 14:return["type-decl",i[s]];case 15:case 351:case 461:return["typed-var",i[s-1],i[s]];case 16:case 352:return["typed-var",i[s-2],i[s]];case 17:return["def-sig",i[s-2],i[s-1],i[s]];case 18:return["import",i[s]];case 19:case 20:case 31:case 32:return["import",i[s-2],i[s]];case 21:case 33:return["import","{}",i[s]];case 22:case 34:return["import",i[s-4],i[s]];case 23:return["import",i[s-4],i[s-2],i[s]];case 24:return["import",i[s-7],i[s-4],i[s]];case 25:return["import",[i[s-1],i[s]],i[s-2]];case 26:case 27:return["import",i[s-4],[i[s-1],i[s]],i[s-2]];case 28:return["import",i[s-6],[i[s-1],i[s]],i[s-2]];case 29:return["import",i[s-6],i[s-4],[i[s-1],i[s]],i[s-2]];case 30:return["import",i[s-9],i[s-6],[i[s-1],i[s]],i[s-2]];case 37:case 91:case 270:case 305:case 344:case 400:{let a=i[s-3];return a.push(i[s]),a}break;case 38:case 92:case 143:case 397:case 401:return i[s-2];case 39:case 93:case 271:case 306:case 345:case 402:{let a=i[s-5];return a.push(...i[s-2]),a}break;case 41:case 43:case 95:case 96:case 98:case 508:return[i[s-2],i[s]];case 45:return["*",i[s]];case 46:return["export","{}"];case 47:return["export",i[s-2]];case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:return["export",i[s]];case 56:return["export-default",i[s]];case 57:return["export-default",i[s-1]];case 58:return["export-all",i[s]];case 59:case 60:return["export-all",i[s],i[s-2]];case 61:return["export-from","{}",i[s]];case 62:case 63:return["export-from",i[s-4],i[s]];case 64:case 150:case 162:case 277:return["=",i[s-2],i[s]];case 65:case 67:case 70:case 151:case 153:case 156:case 163:case 164:return["=",i[s-3],i[s]];case 66:case 152:case 278:return["=",i[s-4],i[s-1]];case 68:case 154:case 157:case 159:return["=",i[s-4],i[s]];case 69:case 155:case 158:return["=",i[s-5],i[s-1]];case 71:case 169:return["void-assign",i[s-3],i[s]];case 72:case 170:return["void-assign",i[s-4],i[s]];case 73:case 171:return["void-assign",i[s-5],i[s-1]];case 74:case 172:return["void-readonly",i[s-3],i[s]];case 75:case 173:return["void-readonly",i[s-4],i[s]];case 76:case 174:return["void-readonly",i[s-5],i[s-1]];case 77:case 185:case 186:return["state",i[s-3],i[s]];case 78:case 187:return["state",i[s-4],i[s]];case 79:return["state",i[s-5],i[s-1]];case 80:case 82:case 189:case 190:return["computed",i[s-3],i[s]];case 81:case 191:return["computed",i[s-4],i[s]];case 83:case 199:case 200:return["readonly",i[s-3],i[s]];case 84:case 201:return["readonly",i[s-4],i[s]];case 85:return["readonly",i[s-5],i[s-1]];case 86:case 88:case 203:return["effect",i[s-3],i[s]];case 87:return["effect",i[s-4],i[s]];case 127:case 296:return["dammit!",i[s-1]];case 129:case 236:return["tagged-template",i[s-2],i[s]];case 132:return"undefined";case 133:return"null";case 137:return["symbol",i[s]];case 139:return["str",...i[s-1]];case 141:case 262:case 469:{let a=i[s-1];return a.push(i[s]),a}break;case 144:return"";case 147:return["here-regex",i[s],...i[s-1]];case 160:return["=",i[s-5],i[s]];case 161:return["=",i[s-6],i[s-1]];case 165:case 323:case 533:case 534:case 538:case 540:return[i[s-1],i[s-2],i[s]];case 166:return[i[s-3],i[s-4],i[s-1]];case 167:return[i[s-2],i[s-3],i[s]];case 168:return[".=",i[s-2],i[s]];case 184:return["state",i[s-2],i[s]];case 188:return["computed",i[s-2],i[s]];case 192:return["gate",i[s-2],i[s]];case 193:return["gate",i[s-3],i[s]];case 194:return["gate",i[s-4],i[s-2]];case 195:return["gate",i[s-5],i[s-2]];case 196:return["gate",i[s-6],i[s-4],...i[s-2]];case 197:return["gate",i[s-7],i[s-4],...i[s-2]];case 198:return["readonly",i[s-2],i[s]];case 202:return["effect",i[s-2],i[s]];case 204:return["effect",null,i[s]];case 207:case 220:case 221:case 233:case 292:return[".",i[s-2],i[s]];case 208:case 234:case 293:return["?.",i[s-2],i[s]];case 209:case 212:case 235:case 294:return["[]",i[s-3],i[s-1]];case 210:case 213:case 295:return["[]",i[s-5],i[s-2]];case 211:return["regex-index",i[s-5],i[s-3],i[s-1]];case 214:return["optindex",i[s-4],i[s-1]];case 215:return["optindex",i[s-6],i[s-2]];case 216:case 299:return[".{}",i[s-4],...i[s-2]];case 217:case 300:return["?.{}",i[s-4],...i[s-2]];case 218:case 301:return[".{}",i[s-6],...i[s-3]];case 219:case 302:return["?.{}",i[s-6],...i[s-3]];case 222:case 223:case 224:case 456:case 457:case 458:case 519:case 521:return[i[s-1],i[s]];case 225:return["await",["new",i[s-1]]];case 226:return["await",["new",[i[s-2],...i[s]]]];case 227:case 289:case 290:case 291:case 388:case 394:return[i[s-1],...i[s]];case 239:return[i[s-1],i[s-3],i[s]];case 240:return[i[s-1],i[s-4],i[s]];case 241:return[i[s-1],[],i[s]];case 244:case 520:return["do-iife",i[s]];case 245:case 246:return"this";case 247:case 248:return[".","this",i[s]];case 249:return["array"];case 250:return["array",...i[s-1]];case 251:return["array",...i[s-2],...i[s-1]];case 253:{let a=i[s-2];return a.push(...i[s]),a}break;case 254:{let a=i[s-3];return a.push(...i[s]),a}break;case 255:return[...i[s-2],...i[s-1]];case 256:{let a=i[s-5];return a.push(...i[s-4],...i[s-2],...i[s-1]),a}break;case 258:return[...i[s-1],i[s]];case 259:case 267:case 339:case 341:case 396:return[];case 260:return[...i[s]];case 263:return null;case 265:return["object",...i[s-2]];case 266:return["map",...i[s-2]];case 272:return[null,i[s],i[s]];case 274:case 276:return[":",i[s-2],i[s]];case 275:return[":",i[s-4],i[s-1]];case 279:return["void-pair",i[s-3],i[s]];case 280:return["void-pair",i[s-5],i[s-1]];case 281:case 282:case 358:return["...",i[s]];case 288:case 389:return["super",...i[s]];case 297:case 392:return["dammit?",i[s-2],...i[s]];case 298:case 393:return["dammit?",i[s-1]];case 307:return[i[s],i[s],null];case 308:return[i[s-2],i[s],null];case 309:return[i[s-2],i[s-2],i[s]];case 310:return[i[s-4],i[s-2],i[s]];case 318:return["dynamicKey",i[s-1]];case 319:return["[]","this",i[s-1]];case 320:return"..";case 321:return"...";case 322:return[i[s-2],i[s-3],i[s-1]];case 324:return[i[s],i[s-1],null];case 325:return[i[s-1],null,i[s]];case 326:return[i[s],null,null];case 327:case 333:return["def",i[s-2],i[s-1],i[s]];case 328:case 334:return["def",i[s-3],i[s-2],i[s]];case 329:case 335:return["def",i[s-3],i[s-1],i[s]];case 330:case 336:return["def",i[s-4],i[s-2],i[s]];case 331:case 337:return["void-def",i[s-3],i[s-1],i[s]];case 332:case 338:return["void-def",i[s-4],i[s-2],i[s]];case 347:return["default",i[s-2],i[s]];case 348:return["rest",i[s]];case 349:return["expansion"];case 353:return["typed-var",i[s-1],""];case 360:return["class",null,null];case 361:return["class",null,null,i[s]];case 362:return["class",null,i[s]];case 363:return["class",null,i[s-1],i[s]];case 364:return["class",i[s],null];case 365:case 368:return["class",i[s-1],null,i[s]];case 366:return["class",i[s-2],i[s]];case 367:case 369:return["class",i[s-3],i[s-1],i[s]];case 370:return["enum",i[s-1],i[s]];case 371:return["schema",i[s]];case 372:return["component",null,i[s]];case 373:return["component",i[s-1],i[s]];case 374:case 408:return["block",...i[s-1]];case 380:return["offer",i[s]];case 381:return["accept",i[s]];case 382:return["accept",i[s-2],i[s]];case 383:case 384:return["render",i[s]];case 385:return[".","super",i[s]];case 386:return["[]","super",i[s-1]];case 387:return["[]","super",i[s-2]];case 390:case 391:return["optcall",i[s-2],...i[s]];case 395:return["await",["import",...i[s]]];case 407:return["block"];case 409:return i[s-1].length===1?(Array.isArray(i[s-1][0])&&(i[s-1][0].parenthesized=!0),i[s-1][0]):["block",...i[s-1]];case 410:return i[s-2].length===1?(Array.isArray(i[s-2][0])&&(i[s-2][0].parenthesized=!0),i[s-2][0]):["block",...i[s-2]];case 411:return["return",i[s]];case 412:return["return",i[s-1]];case 413:return["return"];case 414:return["while",i[s-1],i[s]];case 415:return["while",["!",i[s-1]],i[s]];case 416:return["while",i[s-3],i[s-1],i[s]];case 417:return["while",["!",i[s-3]],i[s-1],i[s]];case 418:case 419:return["while",i[s],[i[s-2]]];case 420:case 421:return["while",["!",i[s]],[i[s-2]]];case 422:case 423:return["while",i[s-2],i[s],[i[s-4]]];case 424:case 425:return["while",["!",i[s-2]],i[s],[i[s-4]]];case 427:case 429:return["if",i[s-1],i[s]];case 428:case 430:return["if",i[s-2],i[s-1],i[s]];case 432:return["if",["!",i[s-1]],i[s]];case 433:return["if",["!",i[s-3]],i[s-2],i[s]];case 436:case 437:return["if",i[s],[i[s-2]]];case 438:case 439:return["if",["!",i[s]],[i[s-2]]];case 440:return["?:",i[s-4],i[s-6],i[s-1]];case 441:return["?:",i[s-2],i[s-4],i[s]];case 442:case 443:case 445:return["try",i[s]];case 444:case 446:case 447:case 448:case 450:case 452:return["try",i[s-1],i[s]];case 449:case 451:case 453:return["try",i[s-2],i[s-1],i[s]];case 455:return["block",i[s]];case 459:return[null,i[s]];case 462:return["throw",i[s]];case 463:return["throw",i[s-1]];case 464:return["switch",i[s-3],i[s-1],null];case 465:return["switch",i[s-5],i[s-3],i[s-1]];case 466:return["switch",null,i[s-1],null];case 467:return["switch",null,i[s-3],i[s-1]];case 470:return["when",i[s-1],i[s]];case 471:return["when",i[s-2],i[s-1]];case 473:return[...i[s-2],i[s]];case 474:return["for-in",i[s-3],i[s-1],null,null,i[s]];case 475:return["for-in",i[s-5],i[s-3],i[s-1],null,i[s]];case 476:return["for-in",i[s-5],i[s-3],null,i[s-1],i[s]];case 477:return["for-in",i[s-7],i[s-5],i[s-1],i[s-3],i[s]];case 478:return["for-in",i[s-7],i[s-5],i[s-3],i[s-1],i[s]];case 479:return["for-of",i[s-3],i[s-1],!1,null,i[s]];case 480:return["for-of",i[s-5],i[s-3],!1,i[s-1],i[s]];case 481:return["for-of",i[s-3],i[s-1],!0,null,i[s]];case 482:return["for-of",i[s-5],i[s-3],!0,i[s-1],i[s]];case 483:return["for-as",i[s-3],i[s-1],!1,null,i[s]];case 484:return["for-as",i[s-5],i[s-3],!1,i[s-1],i[s]];case 485:case 487:return["for-as",i[s-3],i[s-1],!0,null,i[s]];case 486:case 488:return["for-as",i[s-5],i[s-3],!0,i[s-1],i[s]];case 489:return["for-in",[],i[s-1],null,null,i[s]];case 490:return["for-in",[],i[s-3],i[s-1],null,i[s]];case 491:return["comprehension",i[s-4],[["for-in",i[s-2],i[s],null]],[]];case 492:return["comprehension",i[s-6],[["for-in",i[s-4],i[s-2],null]],[i[s]]];case 493:return["comprehension",i[s-6],[["for-in",i[s-4],i[s-2],i[s]]],[]];case 494:return["comprehension",i[s-8],[["for-in",i[s-6],i[s-4],i[s]]],[i[s-2]]];case 495:return["comprehension",i[s-8],[["for-in",i[s-6],i[s-4],i[s-2]]],[i[s]]];case 496:return["comprehension",i[s-4],[["for-of",i[s-2],i[s],!1]],[]];case 497:return["comprehension",i[s-6],[["for-of",i[s-4],i[s-2],!1]],[i[s]]];case 498:return["comprehension",i[s-5],[["for-of",i[s-2],i[s],!0]],[]];case 499:return["comprehension",i[s-7],[["for-of",i[s-4],i[s-2],!0]],[i[s]]];case 500:return["comprehension",i[s-4],[["for-as",i[s-2],i[s],!1,null]],[]];case 501:return["comprehension",i[s-6],[["for-as",i[s-4],i[s-2],!1,null]],[i[s]]];case 502:return["comprehension",i[s-5],[["for-as",i[s-2],i[s],!0,null]],[]];case 503:return["comprehension",i[s-7],[["for-as",i[s-4],i[s-2],!0,null]],[i[s]]];case 504:return["comprehension",i[s-4],[["for-as",i[s-2],i[s],!0,null]],[]];case 505:return["comprehension",i[s-6],[["for-as",i[s-4],i[s-2],!0,null]],[i[s]]];case 509:return["loop",i[s]];case 510:return["loop-n",i[s-1],i[s]];case 511:return["--",i[s],!1];case 512:return["++",i[s],!1];case 513:return["--",i[s-1],!0];case 514:return["++",i[s-1],!0];case 515:return["?",i[s-1]];case 516:return["cast",i[s-1],i[s]];case 517:return["satisfies",i[s-1],i[s]];case 518:return["?:",i[s-4],i[s-2],i[s]];case 522:return["await",i[s]];case 523:return["await",i[s-1]];case 524:return["yield"];case 525:return["yield",i[s]];case 526:return["yield",i[s-1]];case 527:return["yield-from",i[s]];case 528:return["-",i[s]];case 529:return["+",i[s]];case 530:return["**",i[s-2],i[s]];case 531:return["+",i[s-2],i[s]];case 532:return["-",i[s-2],i[s]];case 535:return["&",i[s-2],i[s]];case 536:return["^",i[s-2],i[s]];case 537:return["|",i[s-2],i[s]];case 539:return["=~",i[s-2],i[s]];case 541:case 544:case 547:case 550:case 552:case 554:return["&&",i[s-2],i[s]];case 542:case 545:case 548:case 551:case 553:case 555:return["||",i[s-2],i[s]];case 543:case 546:case 549:return["??",i[s-2],i[s]]}},parse(e,{primitives:t=!1,tolerant:r=!1}={}){let n,i,s,a,o,l,c,f,h,u,d,p,m,g,b,S,w,R,k,j,M,L,A,P,v,V,[H,G,T,N]=[[0],[null],[null],[[]]],F=this.parseTable,J=1,x=[],e1=[],U=24,i1=e.length;if(r)while(i1>0&&(e[i1-1]===` +`||e[i1-1]==="\r"))i1--;let q=new Set,s1=!1,I=[],c1=[],O=[],D=new WeakMap,W=1,Y=Object.create(this.lexer),r1={ctx:{}},Q=this.ctx;for(let B in Q){if(!Object.hasOwn(Q,B))continue;let n1=Q[B];r1.ctx[B]=n1}if(Y.setInput(e,r1.ctx),r&&Array.isArray(Y.lexDiagnostics))x.push(...Y.lexDiagnostics);[r1.ctx.lexer,r1.ctx.parser]=[Y,this];let o1=()=>{let B=Y.lex()||J;if(typeof B!=="number")B=this.symbolIds[B]||B;return B},f1=null,h1=null,u1={},b1=()=>{f=[];let B=F[V];for(let n1 in B){if(!Object.hasOwn(B,n1))continue;if(this.tokenNames[n1]&&+n1>2){if(!f.includes(this.tokenNames[n1]))f.push(this.tokenNames[n1])}}return f},l1=[this.symbolIds.INDENT,this.symbolIds.OUTDENT,this.symbolIds.TERMINATOR],d1=()=>{if(f1===J)return"end of input";let B=this.tokenNames[f1]||f1,n1=Y.text,_=typeof n1==="string"&&n1.trim().length>0&&n1.length<=24&&!l1.includes(f1)&&!/^["'`]/.test(n1);if(_&&Y.token?.generated)return`implicit '${n1}'`;return _?`'${n1}'`:`'${B}'`};while(!0){if(V=H[H.length-1],f1==null)if(e1.length>0)R=e1.shift(),f1=R.symbol,h1=R.loc,Y.text=R.text,Y.loc=R.loc,Y.token=R.token;else f1=o1(),h1=f1===J?{start:e.length,end:e.length}:Y.loc??null;if(n=F[V]?.[f1],n==null&&r&&U>0){a=f1===J?i1:h1?.start??i1,j=(B=null)=>{if(s1)return;if(s1=!0,u=d1(),f=B!=null?[this.tokenNames[B]||B]:b1(),b=`Unexpected ${u}`,f.length)b+=` — expected ${f.join(", ")}`;return x.push({message:b,start:a,end:h1?.end??a,expected:f,got:u})},i=f1===J||Y.token?.generated,d=function(B){return`${H.length}:${V}:${B}`},p=null;for(let B of this.repairTable[V]??[]){if(q.has(d(B)))continue;if(i||B===this.symbolIds.TERMINATOR){p=B;break}}if(p!=null)j(p),U--,q.add(d(p)),e1.unshift({symbol:f1,loc:h1,text:Y.text,token:Y.token}),f1=p,h1={start:a,end:a},Y.text="",Y.loc=h1,Y.token={generated:!0,hole:!0},n=F[V]?.[f1];else if(f1!==J){if(j(),U--,!Y.token?.hole)q.clear();f1=null;continue}}if(n==null){if(f=b1(),u=d1(),v=h1?.start??0,c=h1?.end??v,b=`Unexpected ${u}`,f.length)b+=` — expected ${f.join(", ")}`;return x.push({message:b,start:v,end:c,expected:f,got:u}),{sexpr:null,stores:null,diagnostics:x,trivia:Y.trivia??null,tokens:Y.tokens??null}}if(n>0){if(r&&!Y.token?.hole)q.clear();if(H.push(f1,n),G.push(Y.text),T.push(Y.loc??null),t)N.push(Array.isArray(Y.text?.primitiveSpans)?Y.text.primitiveSpans:Y.loc!=null?[{value:Y.text,sourceStart:Y.loc.start,sourceEnd:Y.loc.end}]:[]);f1=null}else if(n<0){if(this.ctx?.onReduce)this.ctx.onReduce(-n);if(g=this.ruleTable[-n*2+1],P=(()=>{if(g)return h=T[T.length-g],m=T[T.length-1],{start:h?.start??0,end:m?.end??(h?.end??0)};else return s=h1?.start??(T[T.length-1]?.end??0),{start:s,end:s}})(),u1.$=G[G.length-(g||1)],u1._$=P,k=this.ruleActions.call(u1,-n,G,T,r1.ctx),k!=null)u1.$=k;if(o=G.length-g,l=[],t)for(let B of this.primitiveRefs[-n])l.push(...N[o+B-1]??[]);if(S=u1.$,Array.isArray(S)&&D.has(S)&&this.accumulators[-n])L=I[D.get(S)-1],L.sourceStart=P.start,L.sourceEnd=P.end;if(Array.isArray(S)&&!D.has(S))A=this.semantics[-n],o=G.length-g,M=(B,n1,_,z,X)=>{let t1,C,K,a1,E1,y1,S1=[],_1=1/0,v1=-1/0;for(let p1 of z){t1=B;for(let m1 of p1.path)t1=t1[m1];if(!(Array.isArray(t1)&&!D.has(t1)))throw Error(`parse: nested annotation '${p1.role}' of rule ${-n} does not address a fresh array`);C=M(t1,p1.kind,p1.roles,p1.nested,null),S1.push(C),_1=Math.min(_1,I[C-1].sourceStart),v1=Math.max(v1,I[C-1].sourceEnd)}for(let p1 of _)if(p1.grammarRef!=null){if(E1=T[o+p1.grammarRef-1],E1==null)throw Error(`parse: missing loc for grammarRef ${p1.grammarRef} of rule ${-n} — lexer protocol violation`);_1=Math.min(_1,E1.start),v1=Math.max(v1,E1.end)}let R1=X??(_1===1/0?P:{start:_1,end:v1}),w1=W++;D.set(B,w1),I.push({nodeId:w1,fileId:0,semanticKind:n1,ruleId:-n,sourceStart:R1.start,sourceEnd:R1.end});for(let p1 of _)if(p1.grammarRef!=null){if(a1=o+p1.grammarRef-1,E1=T[a1],y1={nodeId:w1,role:p1.name,grammarRef:p1.grammarRef,childSlot:p1.childSlot,sourceStart:E1.start,sourceEnd:E1.end,childNodeId:null,fileId:0},p1.spread)y1.spread=!0;else y1.childNodeId=D.get(G[a1])??null;c1.push(y1)}else c1.push({nodeId:w1,role:p1.name,grammarRef:null,childSlot:p1.childSlot,literal:p1.literal,fileId:0});for(let p1=0;p1{let t=Object.create(l3);return Object.defineProperty(t,"ctx",{value:{...e},enumerable:!1,writable:!0,configurable:!0}),t},_s=Ns();var rr=Ns,Dc=_s.parse.bind(_s);var As=()=>{throw Error("rip: filesystem access is unavailable in the browser")};class nr{constructor({nodes:e,roles:t,primitives:r=[],nodeIds:n=null}){this.nodes=e,this.roles=t,this.primitives=r,this.nodeIds=n,this.byId=new Map(e.map((i)=>[i.nodeId,i])),this.rolesByNode=new Map,this.primitivesByValue=new Map;for(let i of t){let s=this.rolesByNode.get(i.nodeId);if(!s)s={list:[],byName:new Map},this.rolesByNode.set(i.nodeId,s);s.list.push(i),s.byName.set(i.role,i)}for(let i of r){let s=this.primitivesByValue.get(i.value);if(!s)this.primitivesByValue.set(i.value,s=[]);s.push(i)}for(let i of this.primitivesByValue.values())i.sort((s,a)=>s.sourceStart-a.sourceStart)}idOf(e){return this.nodeIds?.get(e)??null}alias(e,t){let r=this.nodeIds?.get(t);if(r!=null)this.nodeIds.set(e,r);return e}node(e){return this.byId.get(e)??null}nodesByKind(e){return this.nodes.filter((t)=>t.semanticKind===e)}rolesOf(e){return this.rolesByNode.get(e)?.list??[]}role(e,t){return this.rolesByNode.get(e)?.byName.get(t)??null}primitiveSpans(e,t,r){return(this.primitivesByValue.get(e)??[]).filter((n)=>t<=n.sourceStart&&n.sourceEnd<=r)}selfSpan(e){let t=this.byId.get(e);return t?[t.sourceStart,t.sourceEnd]:null}}var ir=(e)=>{if(e.length===0)return null;let t=e[e.length>>1].start,r=[],n=[],i=[];for(let s of e){if(Z.on)Z.n++;if(s.end<=t)n.push(s);else if(s.start>t)i.push(s);else r.push(s)}return{center:t,byStart:r,byEnd:[...r].sort((s,a)=>a.end-s.end),left:ir(n),right:ir(i)}},c3=(e,t,r)=>{let n=e;while(n!==null){if(Z.on)Z.n++;if(tt)break;r.push(i)}n=n.left}else if(t>n.center){for(let i of n.byEnd){if(Z.on)Z.n++;if(i.end<=t)break;r.push(i)}n=n.right}else{for(let i of n.byStart){if(Z.on)Z.n++;r.push(i)}break}}return r},Si=new Set(["tsDirective","shorthandProp","identifier","literal"]);class ye{constructor(e){this.rows=e,this._genTree=null,this._srcTree=null,this._genCount=-1,this._srcCount=-1}_tree(e){let t=e==="generated";if((t?this._genCount:this._srcCount)!==this.rows.length){let r=[];if(this.rows.forEach((n,i)=>{if(Z.on)Z.n++;let s=t?n.generatedStart:n.sourceStart,a=t?n.generatedEnd:n.sourceEnd;if(s!=null&&sn.start-i.start||n.i-i.i),t)this._genTree=ir(r),this._genCount=this.rows.length;else this._srcTree=ir(r),this._srcCount=this.rows.length}return t?this._genTree:this._srcTree}_stab(e,t){let r=c3(this._tree(e),t,[]);return r.sort((n,i)=>n.width-i.width||n.i-i.i),r.map((n)=>this.rows[n.i])}of(e,t){return this.rows.filter((r)=>r.nodeId===e&&r.role===t).sort((r,n)=>r.generatedStart-n.generatedStart)}atGenerated(e){return this._stab("generated",e)}atSource(e){return this._stab("source",e)}static isDirect(e){return e.mappingKind==="exact"||e.mappingKind==="synthetic"}directAtGenerated(e){return this.atGenerated(e).find(ye.isDirect)??null}directAtSource(e){let t=this.atSource(e).filter(ye.isDirect);if(t.length===0)return null;let r=(i)=>i.sourceEnd-i.sourceStart;return t.filter((i)=>r(i)===r(t[0])).find((i)=>!Si.has(i.role))??t[0]}zeroWidthExactAtSource(e){if(this._zeroSrcCount!==this.rows.length){this._zeroSrc=new Map;for(let t of this.rows){if(t.mappingKind!=="exact"||t.sourceStart!==t.sourceEnd)continue;let r=this._zeroSrc.get(t.sourceStart);if(r===void 0||t.generatedStarts.mappingKind==="exact"||s.mappingKind==="cover"&&s.role==="$self"&&s.generatedStart!==s.generatedEnd,t=(s)=>s.mappingKind==="exact"?0:1,r=(s)=>s.generatedEnd-s.generatedStart,n=(s)=>s.sourceEnd-s.sourceStart,i=new Map;for(let s of this.rows){if(!e(s))continue;let a=i.get(s.generatedStart);if(!a||t(s)s.generatedStart-a.generatedStart)}}class Se{constructor(e,{source:t=null,primitives:r=!1}={}){this.stores=e,this.source=t,this.trackPrimitives=r,this.suppressClaims=!1,this.claimWithin=null,this.chunks=[],this.length=0,this.openMarks=0,this.rows=[],this.exactSourceSpans=new Set,this.markStack=[],this.exactRanges=new Map,this.tsRegions=[],this.tsDepth=0,this.echoSpans=[]}tsOnly(e){let t=this.length;if(this.tsDepth++,e(),this.tsDepth--,this.tsDepth===0&&this.length>t)this.tsRegions.push([t,this.length])}echo(e){let t=this.length;if(e(),this.length>t)this.echoSpans.push([t,this.length])}get currentMark(){return this.markStack[this.markStack.length-1]??null}get offset(){return this.length}get code(){if(this.openMarks>0)return this.chunks.join("");if(this.chunks.length!==1)this.chunks=[this.chunks.join("")],this.exactRanges.clear();return this.chunks[0]}emit(e){return this.chunks.push(e),this.length+=e.length,this}beginMark(e,t){let r,n,i=null;if(t==="$self"){let s=this.stores.node(e);r=s.sourceStart,n=s.sourceEnd}else{let s=this.stores.role(e,t);if("literal"in s)i="synthetic",r=n=this.stores.node(e).sourceStart;else r=s.sourceStart,n=s.sourceEnd}this.openMarks++,this.markStack.push({nodeId:e,role:t,sourceStart:r,sourceEnd:n,mappingKind:i,generatedStart:this.length,chunkStart:this.chunks.length})}endMark(){let e=this.markStack.pop();this.openMarks--;let{mappingKind:t}=e;if(t===null){if(t=this.matchesSource(e)?"exact":"cover",t==="cover"&&Se.NORMALIZED_ROLES.has(e.role))this.layoutTwinSegments(e)}if(this.rows.push({nodeId:e.nodeId,role:e.role,mappingKind:t,sourceStart:e.sourceStart,sourceEnd:e.sourceEnd,generatedStart:e.generatedStart,generatedEnd:this.length,fileId:0}),this.trackPrimitives&&t==="exact")this.exactSourceSpans.add(`${e.sourceStart}:${e.sourceEnd}`)}static NORMALIZED_ROLES=new Set(["annotation","returnType"]);layoutTwinSegments(e){if(this.source===null)return;let t=e.sourceEnd-e.sourceStart,r=this.length-e.generatedStart;if(t===0||r===0||t>256||r>256)return;let n=this.source.slice(e.sourceStart,e.sourceEnd),i=this.chunks.slice(e.chunkStart).join("");if(n.replace(/\s+/g," ")!==i.replace(/\s+/g," "))return;let s=0,a=0;while(s0)a=a.filter((p)=>!t.some(([m,g])=>p.sourceStart>=m&&p.sourceEnd<=g));if(a.length===0)return null;let o=r.primitiveClaims??(r.primitiveClaims=new Map),l=o.get(e);if(l===void 0)o.set(e,l=new Set);let c=a.filter((p)=>!l.has(p.sourceStart)),f=c.filter((p)=>!this.exactSourceSpans.has(`${p.sourceStart}:${p.sourceEnd}`)),h=f.length>0?f:c,u=h.filter((p)=>p.nodeId===r.nodeId),d=(u.length>0?u:h)[0];if(d===void 0){let p=[...l].pop();if(d=p===void 0?void 0:a.find((m)=>m.sourceStart===p),d===void 0){let m=a.filter((g)=>this.exactSourceSpans.has(`${g.sourceStart}:${g.sourceEnd}`));d=m[m.length-1]}if(d===void 0)return null}if(l.add(d.sourceStart),this.source!==null){let p=this.source.slice(d.sourceStart,d.sourceEnd);if(p!==e&&p.endsWith(e)&&!/[\w$]/.test(p[p.length-e.length-1]??""))return[d.sourceEnd-e.length,d.sourceEnd]}return[d.sourceStart,d.sourceEnd]}matchesSource(e){if(this.source===null)return!1;if(e.sourceStart<0||e.sourceEnd>this.source.length)throw Error(`builder: mark (nodeId ${e.nodeId}, role '${e.role}') has source span [${e.sourceStart}, ${e.sourceEnd}) outside the source text [0, ${this.source.length}) — store-protocol violation`);let t=this.length;if(t-e.generatedStart!==e.sourceEnd-e.sourceStart)return!1;let r=e.sourceStart-e.generatedStart,n=this.exactRanges.get(r),i=n!==void 0&&n.genEnd<=t,s=this.chunks.length,{generatedStart:a,chunkStart:o}=e;while(o=n.genStart&&a{throw Error("rip: schema type story is unavailable in the browser")},Os=()=>!1;var f3={__proto__:null,maxlength:"maxLength",minlength:"minLength",readonly:"readOnly",tabindex:"tabIndex",colspan:"colSpan",rowspan:"rowSpan",contenteditable:"contentEditable",formaction:"formAction",formenctype:"formEnctype",formmethod:"formMethod",formnovalidate:"formNoValidate",formtarget:"formTarget",novalidate:"noValidate",crossorigin:"crossOrigin",usemap:"useMap",srclang:"srcLang",inputmode:"inputMode",cellpadding:"cellPadding",cellspacing:"cellSpacing",bgcolor:"bgColor",valign:"vAlign",nowrap:"noWrap",for:"htmlFor",datetime:"dateTime",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",dirname:"dirName",accesskey:"accessKey",enterkeyhint:"enterKeyHint",referrerpolicy:"referrerPolicy",fetchpriority:"fetchPriority",imagesrcset:"imageSrcset",imagesizes:"imageSizes",popovertargetaction:"popoverTargetAction",allowfullscreen:"allowFullscreen"},h3="type __RipClassValue = string | boolean | null | undefined | Record | __RipClassValue[];",u3="/** What a component projects through `slot`: the DOM its parent built for it — an element, a fragment, or a text node — or a value rendered as text. */\n"+"type __RipChildren = Node | string | number | boolean | null;",Is="(...args: (__RipClassValue | __RipClassValue[])[]) => string",d3=`type __RipAV = E extends Record ? V | string : F; type __RipProp = E extends Record ? V : any;`,m3=["animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","columnCount","columns","flex","flexGrow","flexShrink","fontWeight","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","opacity","order","orphans","scale","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","webkitLineClamp"],$s=m3.map((e)=>`'${e}'`).join(" | "),Ds=(e)=>`{ [K in Exclude]?: K extends ${e} ? string | number : string | 0 } & { [k: \`--\${string}\`]: string | number }`,p3=`type __RipUnitless = ${$s}; `+"/** An inline style as an object: CSS property names, camelCased, plus `--custom` properties. Values are written as given — no unit is appended — so a number is admitted only where CSS reads one bare: the unitless properties, and 0 anywhere. */\n"+`type __RipCSSProperties = ${Ds("__RipUnitless")};`,Vc=`(${Ds($s)})`,Ei="__RipCSSProperties | string",xs="(el: object, value: __RipCSSProperties | string | null | undefined) => void",sr="__RipClassValue | __RipClassValue[]",Cs=" [k: `data-${string}`]: string | number | boolean;\n [k: `aria-${string}`]: string | number | boolean;",ki=(e)=>/^[A-Za-z_$][\w$]*$/.test(e)?e:`'${e}'`,ar=(e,t)=>`__RipAttrVals_${t?"svg_":""}${e}`,Ti=(e,t)=>`__RipEl_${t?"svg_":""}${e}`,De=(e,t)=>`${t?"SVGElementTagNameMap":"HTMLElementTagNameMap"}['${e}']`,ot=(e,t)=>typeof e==="string"&&(t?Ve.has(e):Bt.has(e));function Ps(e,t){let r=f3[e]??e,n=e==="class"?sr:e==="style"?Ei:`__RipAV<${t}, '${r}'>`;return[` ${ki(e)}: ${n};`]}function g3(){let e=[];for(let t of $e)e.push(...Ps(t,"HTMLElement"));return`interface __RipGlobalAttrVals { ${e.join(` @@ -162,23 +162,23 @@ ${s??""}`);let h=()=>{if(f)this.b.emit(f);else this.expr(n)};if(this.b.emit("for `)))}else if(!this.scopes[0].has(i.head)){let c=_3[i.head]??"";if(this.ts)this.b.tsOnly(()=>this.mark(e,"annotation",()=>l(`declare global { interface ${i.head}${c} { `,`: ${s} } } `)))}else throw a(`emitter: the annotation on \`${i.head}::${i.member}\` cannot augment — `+`\`${i.head}\` is a module binding, not a class declaration, so the interface has nothing to merge with; declare \`class ${i.head}\`, drop the annotation, or describe the member in a workspace .d.ts`)}}if(r)this.b.emit("let ");this.mark(e,"voidMarker",()=>this.mark(e,"annotation",()=>this.mark(e,"$self",()=>{if(n)this.b.emit("(");if(this.mark(e,"target",()=>{if(t)this.withPattern(()=>this.expr(e[1]));else this.withTarget(()=>this.expr(e[1]))}),this.ts&&r){let l=E.inlineOwners.get(e),c=this.annotationText(e)??(l!==void 0?this.annotationText(l):null);if(c!==null)this.tsAnnotate(l??e,"annotation",c);else{let f=this.schemaStories?.get(e);if(f&&!f.decl.exported&&f.constType!==null){let h=this.bindingNameSpan(e,"target",f.decl.name);this.b.tsOnly(()=>{this.b.emit(": "),this.emitNamedCopies(f.constType,f.decl.name,h?.id??null,h?.span??null)})}}}this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit(e[0]==="void-assign"?"=":e[0])),this.b.emit(" ");let i=this._schemaName,s=this._componentName,a=this._componentTypeParams;if(this._componentTypeParams=null,y(e[2])&&e[2][0]==="schema"&&typeof e[1]==="string")this._schemaName=e[1];if(this.isComponentDecl(e[2])&&typeof e[1]==="string"){this._componentName=e[1];let l=this.annotationText(e,"typeParams");this._componentTypeParams=l===null?null:{text:l,owner:e}}let o=this.ts&&this.strict&&this.pinnedWrites.has(e);if(o)this.b.tsOnly(()=>this.b.emit("("));if(this.mark(e,"value",()=>this.withExpression(()=>this.expr(e[2]))),o)this.b.tsOnly(()=>this.b.emit(") satisfies unknown"));if(this._schemaName=i,this._componentName=s,this._componentTypeParams=a,n)this.b.emit(")")})))}reactiveDecl(e,t){let[r,n,i]=e,s=r==="state"?":=":"~=";if(typeof n!=="string")throw this.positionedError(e,`emitter: a reactive declaration takes a plain name — ' ${s} …' cannot declare a ${y(n)&&n[0]==="object"?"destructuring pattern":y(n)&&n[0]==="array"?"destructuring pattern":"member or index target"}`);if(r==="state"&&n==="__state"||r==="computed"&&n==="__computed")throw this.positionedError(e,`emitter: '${n} ${s} …' would bind the very runtime name its own lowering calls (const ${n} = ${n}(…) — a TDZ self-reference); rename the variable`);if(r==="computed"&&this.containsAwait(i))throw this.positionedError(e,"emitter: a computed ('~=') body cannot await — computeds evaluate synchronously (make it a state written by an effect)");if(r==="computed"&&E.containsYield(i))throw this.positionedError(e,"emitter: a computed ('~=') body cannot yield — computeds evaluate synchronously");this.mark(e,"annotation",()=>this.mark(e,"$self",()=>{this.b.emit("const ");let a=this.b.offset;if(this.mark(e,"target",()=>this.b.emit(n)),r==="state"&&this.ts)this.mutables.push([a,this.b.offset]);if(this.ts)this.noteKind(e,"target",r==="state"?"state":"computed");if(this.ts&&this.annotationText(e)!==null){let c=r==="computed"?"readonly ":"";this.tsAnnotate(e,"annotation",Ni(this.annotationText(e),c,vi))}else if(this.ts){let c=Ws(i);if(c!==null){let f=r==="computed"?"readonly ":"";this.b.tsOnly(()=>this.b.emit(`: ${Ni(c,f,vi)}`))}}this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" ");let o=this.ts?this.annotationText(e):null,l=()=>{if(o===null)return;this.b.tsOnly(()=>this.mark(e,"annotation",()=>this.emitTypeText(e,"annotation",`<${o}>`)))};if(r==="state")this.b.emit(this.runtimeName("__state")),l(),this.b.emit("("),this.mark(e,"value",()=>this.withExpression(()=>{let c=E.needsGrouping(i,"operand");if(c)this.b.emit("(");if(this.expr(i),c)this.b.emit(")")})),this.b.emit(")");else this.b.emit(this.runtimeName("__computed")),l(),this.b.emit("(() => "),this.mark(e,"value",()=>this.withExpression(()=>this.computedBody(e,i,t))),this.b.emit(")")})),this.b.emit(";")}computedBody(e,t,r){if(g1(t)&&t.length>2){let i=this.liveStmts(t.slice(1),{forwards:!0}),{entries:s,names:a}=this.scopedHoist(i,[]);for(let o of this.pushReactiveFrame(i,a))a.add(o);this.scopes.push(a),this.funcBlock(e,t,i,r,s),this.scopes.pop(),this.rframes.pop();return}let n=E.needsGrouping(t,"operand")||O1(t);if(n)this.b.emit("(");if(this.expr(t),n)this.b.emit(")")}readonlyDecl(e,t){let[r,n,i]=e;if(r==="void-readonly")this.registerVoidValue(i,e);if(typeof n!=="string")throw this.positionedError(e,`emitter: a readonly declaration takes a plain name — ' =! …' cannot declare a ${y(n)&&(n[0]==="object"||n[0]==="array")?"destructuring pattern":"member or index target"}`);this.mark(e,"voidMarker",()=>this.mark(e,"annotation",()=>this.mark(e,"$self",()=>{if(this.b.emit("const "),this.mark(e,"target",()=>this.b.emit(n)),this.ts)this.noteKind(e,"target","readonly");if(this.ts&&this.annotationText(e)!==null)this.tsAnnotate(e,"annotation",this.annotationText(e));this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.mark(e,"value",()=>this.withExpression(()=>{let s=E.needsGrouping(i,"operand");if(s)this.b.emit("(");if(this.expr(i),s)this.b.emit(")")}))}))),this.b.emit(";")}effectStatement(e,t){let[,r,n]=e;if(r!==null&&typeof r!=="string")throw this.positionedError(e,`emitter: an effect handle takes a plain name — ' ~> …' cannot bind a ${y(r)&&(r[0]==="object"||r[0]==="array")?"destructuring pattern":"member or index target"}`);if(r==="__effect")throw this.positionedError(e,"emitter: '__effect ~> …' would bind the very runtime name its own lowering calls (const __effect = __effect(…) — a TDZ self-reference); rename the handle");this.mark(e,"annotation",()=>this.mark(e,"$self",()=>{if(r!==null){if(this.b.emit("const "),this.mark(e,"target",()=>this.b.emit(r)),this.ts)this.noteKind(e,"target","effect");if(this.ts&&this.annotationText(e)!==null)this.tsAnnotate(e,"annotation",this.annotationText(e));this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.effectValue(e,n,t,!1)}else this.effectValue(e,n,t,!0)})),this.b.emit(";")}renderSyncGuard(e){let t=this.rstate;if(t&&this.scopes.length===t.scopeDepth)throw this.renderSyncError(e)}renderSyncError(e){return this.positionedError(e,"emitter: a render body evaluates synchronously — 'await'/'yield' cannot appear in a render expression "+"(text, attributes, props, and event listeners emit into non-async generated scopes); compute the value into a member (a state written by an effect), or make the handler a function ('-> await ...')",this.rstate.node)}firstAwaitIn(e){if(!y(e))return null;let t=e[0];if(t==="await"||t==="dammit!"||t==="dammit?"||t==="yield"||t==="yield-from")return e;if(t==="for-as"&&e[3]===!0)return e;if(t==="class")return this.firstAwaitIn(e[2]);if(T1(e)||k1(t)||this.isEffectDecl(e))return null;for(let r of e){let n=this.firstAwaitIn(r);if(n!==null)return n}return null}effectValue(e,t,r,n){if(E.effectBodyYields(t))throw this.positionedError(e,"emitter: an effect ('~>') body cannot yield — the runtime calls the effect function (make the generator a named function the effect calls)");let i=()=>{let l=this.runtimeName("__effect");if(n)this.mark(e,"operator",()=>this.b.emit(l));else this.b.emit(l)};if(T1(t)){i(),this.b.emit("("),this.mark(e,"value",()=>this.withExpression(()=>{let l=t[0]==="->";if(l)this.b.emit("(");if(this.expr(t),l)this.b.emit(")")})),this.b.emit(")");return}let s=this.containsAwait(t);if(i(),this.b.emit(s?"(async () => ":"(() => "),g1(t)){this.mark(e,"value",()=>this.withExpression(()=>{let l=this.liveStmts(t.slice(1),{forwards:!0}),{entries:c,names:f}=this.scopedHoist(l,[]);for(let h of this.pushReactiveFrame(l,f))f.add(h);this.scopes.push(f),this.funcBlock(e,t,l,r,c),this.scopes.pop(),this.rframes.pop()})),this.b.emit(")");return}let{entries:a,names:o}=this.scopedHoist([t],[]);if(this.checkScopeRedeclarations([t],[],e),this.scopes.push(o),this.rframes.push({reactive:new Set,bound:o}),this.b.emit("{ "),a.length)this.hoistLine(a),this.b.emit(" ");this.mark(e,"value",()=>this.withExpression(()=>{let l=E.needsGrouping(t,"operand")||O1(t);if(l)this.b.emit("(");if(this.expr(t),l)this.b.emit(")")})),this.b.emit("; })"),this.scopes.pop(),this.rframes.pop()}static effectBodyYields(e){return T1(e)?E.containsYield(e[2]):E.containsYield(e)}static COMPONENT_HOOKS=E3;static BOOLEAN_ATTRS=qn;static SVG_NS="http://www.w3.org/2000/svg";isComponentDecl(e){return E.isComponentDeclIn(this.stores,e)}static isComponentDeclIn(e,t){if(!y(t)||t[0]!=="component"||t.length!==3)return!1;let r=e.idOf(t);return(r!==null?e.node(r)?.semanticKind:null)==="component"}componentKindOf(e,t,r){if(!y(e)||e[0]!==t||e.length!==r)return!1;let n=this.stores.idOf(e);return(n!==null?this.stores.node(n)?.semanticKind:null)===t}isRenderNode(e){return this.componentKindOf(e,"render",2)}isOfferNode(e){return this.componentKindOf(e,"offer",2)}isAcceptNode(e){return this.componentKindOf(e,"accept",2)||this.componentKindOf(e,"accept",3)}static memberTarget(e){if(typeof e==="string")return{name:e,isPublic:!1};if(y(e)&&e[0]==="."&&e[1]==="this"&&e.length===3&&typeof e[2]==="string")return{name:e[2],isPublic:!0};return null}static gateChain(e){let t=[],r=e;while(y(r)&&r[0]==="."&&r.length===3&&typeof r[2]==="string")t.unshift(r[2]),r=r[1];if(typeof r!=="string")return null;return t.unshift(r),t}static gateSource(e){let t=e[2],r=e.slice(3);if(r.length>1)return{error:"arity",node:e};let n=r[0]??null,i=E.gateChain(t);if(i===null||i.length<3||i[0]!=="this"||i[1]!=="stash")return{error:"path",node:t};let s=i.slice(2).join(".");if(n===null)return{path:s,pathNode:t,key:null,keyCode:null,keyParts:null};if(typeof n==="string"&&(/^-?(?:\d+(?:\.\d+)?|\.\d+)$/.test(n.replace(/_/g,""))||/^["'][^]*["']$/.test(n)||n==="true"||n==="false"))return{path:s,pathNode:t,key:n,keyCode:n,keyParts:null};let a=E.gateChain(n);if(a===null)return{error:"key",node:n};if(a[0]==="this")a.shift();if(a[0]!=="params"&&a[0]!=="query"||a.length<2)return{error:"key",node:n};return{path:s,pathNode:t,key:n,keyCode:a.join("."),keyParts:a}}static hmrFingerprint(e){let t=JSON.stringify(e),r=2166136261;for(let n=0;n>>0).toString(16).padStart(8,"0")}emitComponentHmrMeta(e,{bindingName:t,declaredProps:r,stateVars:n,derivedVars:i,gateVars:s,extendsTag:a,methods:o,hooks:l,hasRender:c}){let f=(k)=>[...k].sort(),h=f(r),u=f(n.map((k)=>k.name)),d=f(i.map((k)=>k.name)),p=f(o.map((k)=>k.name)),m=f(l.map((k)=>k.name)),g=s.length,b=E.hmrFingerprint({props:h,state:u,computed:d,gates:g,extends:a}),S=E.hmrFingerprint({methods:p,hooks:m,render:c}),w=`${this.modulePath}#${t}`,R={shape:b,impl:S,state:u,computed:d,props:h,gates:g,extends:a};this.b.emit(`${e}static __hmrId = ${JSON.stringify(w)}; `),this.b.emit(`${e}static __hmrSig = ${JSON.stringify(R)}; -`)}componentExpr(e){let[,t,r]=e,n=null,i=null;if(t!==null){let I=typeof t==="string"?t:null;if(I!==null&&Q1(I)&&!I.includes("#"))n=I;else if(I!==null&&Ce(I)&&(this.inScope(I)||this.moduleBound.has(I))){if(I===this._componentName)throw this.positionedError(e,`emitter: component '${I}' cannot extend itself — the render would construct it without end`);i=I}else throw this.positionedError(e,"emitter: 'component extends' takes an HTML tag or a component bound in this module — rest props forward "+`onto the first one the render creates; '${typeof t==="string"?t:"…"}' is neither`)}let s=n??i,a=null,o=null;if(this.ts){let I=this.stores.idOf(e)??null,c1=I!==null?this.stores.selfSpan(I):null,O=this.b.source;if(c1!==null&&O!==null&&O.startsWith("component",c1[0])){if(this.silences.push([c1[0],c1[0]+9]),s!==null){let D=/^component(\s+)extends(\s+)/.exec(O.slice(c1[0],c1[1]));if(D!==null&&O.startsWith(s,c1[0]+D[0].length)){let H=c1[0]+9+D[1].length;this.silences.push([H,H+7]);let z=c1[0]+D[0].length;if(n!==null)this.intrinsics.push({start:z,end:z+n.length,kind:"tag",tag:n,svg:!1});else a=[z,z+i.length],o=I}}}}let l=g1(r)?r.slice(1):[],c=[],f=[],h=[],u=[],d=[],p=[],m=[],g=[],b=[],S=[],w=new Map,R=null,k=new Map,j=new Set,M=new Map,L=(I,c1,O,D)=>{if(M.has(I))throw this.positionedError(O,`emitter: duplicate component member '${I}' — it is already declared in this component body; `+"duplicates clobber silently across kinds",e);if(k3.has(I))throw this.positionedError(O,`emitter: component member '${I}' collides with component runtime state — `+"the runtime owns this exact instance field; rename the member",e);if(I==="_init"||I==="_create"||I==="_setup"||/^create_block_\d+$/.test(I))throw this.positionedError(O,`emitter: component member '${I}' collides with the generated lifecycle machinery — '_init', `+"'_create', '_setup', and 'create_block_N' are the class methods the component lowering emits (a same-named member would silently replace the generated one at runtime); rename the member",e);if(I==="mount"||I==="unmount"||I==="emit")throw this.positionedError(O,`emitter: component member '${I}' collides with the component runtime API — 'mount', 'unmount', `+"and 'emit' are __Component's own methods, and the machinery calls them on every instance (a same-named member would silently shadow them); rename the member",e);if(M.set(I,O),c1!=="hook"){if(k.set(I,c1),D)j.add(I)}},A=(I)=>{let c1="emitter: a component body line must be a member declaration — state (`x := v`, `@x := v`), a prop (`@x`, `@x?`), "+"computed (`x ~= e`), readonly (`x =! v`), a plain field (`x = v`), a method (`save = (e) ->`), a lifecycle hook "+"(beforeMount/mounted/beforeUnmount/unmounted/onError), an effect (`~> …`), `offer`/`accept`, or `render` — "+"this statement matches no category",O=this.b.source;if((!y(I)||this.stores.idOf(I)===null)&&O!==null){let D=(e1)=>{let o1=y(e1)?this.stores.idOf(e1):null;return o1!==null?this.stores.selfSpan(o1):null},H=l.indexOf(I),z=D(r),i1=null;for(let e1=H-1;e1>=0&&i1===null;e1--)i1=D(l[e1])?.[1]??null;if(i1===null)i1=z?.[0]??null;if(i1!==null){while(i1i1&&/\s/.test(O[e1-1]))e1--;throw this.positionedErrorAt(i1,e1,c1)}}throw this.positionedError(I,c1,e)},P=(I,c1,O,D)=>{let H=this.stores.idOf(I),z=H!==null?this.stores.role(H,c1):null;if(z?.sourceStart!=null)throw this.positionedErrorAt(z.sourceStart,z.sourceEnd,D);throw this.positionedError(O,D,I,e)},v=(I,c1)=>{if(this.isRenderNode(I)){if(c1)V(I);if(R!==null)throw this.positionedError(I,"emitter: duplicate render block — a component takes exactly one",e);R=I;return}if(this.isAcceptNode(I)){if(c1)V(I);if(this.noteHeadKeyword("context-channel","accept",I),I.length===2)throw this.positionedError(I,`emitter: accept names its provider — \`accept ${I[1]} from \` reads the nearest ancestor instance of that component`,e);let O=I[2];if(!(Ce(O)&&(this.inScope(O)||this.moduleBound.has(O))))throw this.positionedError(I,`emitter: accept reads from a component bound in this module — '${O}' is not one`,e);L(I[1],"accept",I,!0),S.push(I[1]),w.set(I[1],O);return}if(this.isGateDecl(I)){if(c1)V(I);let O=E.memberTarget(I[1]);if(O===null)P(I,"target",I[1],"emitter: a render gate ('<~') target must be one private component name — patterns and member chains cannot name a gate");if(O.isPublic)P(I,"target",I[1],`emitter: render gate '${O.name}' must be private — '@${O.name} <~ …' would expose route-prefetched state as a caller prop; remove '@' and pass an explicit prop where public input is intended`);let D=E.gateSource(I);if(D.error==="arity")P(I,"key",D.node,"emitter: a keyed render gate takes exactly one key argument — use @stash.name(params.id)");if(D.error==="path")P(I,"rhs",D.node,"emitter: '<~' requires a literal @stash. on the right-hand side, optionally called with one key");if(D.error==="key")P(I,"key",D.node,"emitter: a keyed render gate key may only be a literal or a params/query path (for example params.id or @query.tab)");L(O.name,"gate",I,!0),d.push({name:O.name,...D,node:I});return}if(this.isReactiveDecl(I)){let O=E.memberTarget(I[1]);if(O===null)throw this.positionedError(I,`emitter: a component ${I[0]==="state"?"state":"computed"} member takes a plain name or '@name' — `+"patterns and member chains have no member reading ",e);if(I[0]==="state"){if(this.firstAwaitIn(I[2])!==null)throw this.positionedError(I,"emitter: a component state initializer cannot await or yield — _init runs synchronously during construction",e);L(O.name,"state",I,!0),h.push({name:O.name,value:I[2],isPublic:O.isPublic,required:!1,node:I})}else{if(this.containsAwait(I[2]))throw this.positionedError(I,"emitter: a computed ('~=') body cannot await — computeds evaluate synchronously (make it a state written by an effect)",e);if(E.containsYield(I[2]))throw this.positionedError(I,"emitter: a computed ('~=') body cannot yield — computeds evaluate synchronously",e);L(O.name,"computed",I,!0),u.push({name:O.name,value:I[2],node:I})}return}if(this.isReadonlyDecl(I)){let O=E.memberTarget(I[1]);if(O===null)throw this.positionedError(I,"emitter: a component readonly member takes a plain name or '@name' — patterns and member chains have no member reading ",e);if(this.firstAwaitIn(I[2])!==null)throw this.positionedError(I,"emitter: a component readonly initializer cannot await or yield — _init runs synchronously during construction",e);L(O.name,"readonly",I,!1),c.push({name:O.name,value:I[2],isPublic:O.isPublic,node:I});return}if(this.isEffectDecl(I)){if(c1)V(I);if(I[1]!==null)throw this.positionedError(I,`emitter: a bound effect ('${typeof I[1]==="string"?I[1]:"…"} ~> …') has no component-body reading — `+"the handle would bind nothing; use a bare `~> …` effect, or bind the handle inside a method",e);if(E.effectBodyYields(I[2]))throw this.positionedError(I,"emitter: an effect ('~>') body cannot yield — the runtime calls the effect function (make the generator a named function the effect calls)",I);g.push(I);return}if(y(I)&&I[0]==="?"&&I.length===2){let O=E.memberTarget(I[1]);if(O!==null&&O.isPublic){L(O.name,"prop",I,!0),h.push({name:O.name,value:void 0,isPublic:!0,required:!1,optional:!0,node:I});return}A(I)}if(E.isTypedWrapper(I)){let O=E.memberTarget(I[1]);if(O!==null&&O.isPublic){L(O.name,"prop",I,!0),h.push({name:O.name,value:void 0,isPublic:!0,required:!0,node:I});return}A(I)}if(y(I)&&I[0]==="."&&I[1]==="this"&&I.length===3&&typeof I[2]==="string"){L(I[2],"prop",I,!0),h.push({name:I[2],value:void 0,isPublic:!0,required:!0,node:I});return}if(y(I)&&(I[0]==="="||I[0]==="void-assign")&&I.length===3){let O=E.memberTarget(I[1]);if(O===null)A(I);let D=I[0]==="void-assign";if(E.COMPONENT_HOOKS.has(O.name)){if(c1)V(I);if(!T1(I[2]))throw this.positionedError(I,`emitter: the lifecycle hook '${O.name}' takes a function value — \`${O.name} = -> …\``,e);L(O.name,"hook",I,!1),m.push({name:O.name,func:I[2],isVoid:D,node:I});return}if(T1(I[2])){L(O.name,"method",I,!1),p.push({name:O.name,func:I[2],isVoid:D,node:I});return}if(D)throw this.positionedError(I,"emitter: the void marker (a trailing '!' on the defined name) requires a function value — `save! = ->`",e);if(this.firstAwaitIn(I[2])!==null)throw this.positionedError(I,"emitter: a component member initializer cannot await or yield — _init runs synchronously during construction",e);L(O.name,"plain",I,!1),f.push({name:O.name,value:I[2],isPublic:O.isPublic,node:I});return}if(O1(I)){if(c1)V(I);for(let O of I.slice(1)){if(!y(O)||O[0]!==":"&&O[0]!=="void-pair"||typeof O[1]!=="string"||!T1(O[2]))A(I);let D=O[0]==="void-pair";if(E.COMPONENT_HOOKS.has(O[1]))L(O[1],"hook",I,!1),m.push({name:O[1],func:O[2],isVoid:D,node:O});else L(O[1],"method",I,!1),p.push({name:O[1],func:O[2],isVoid:D,node:O})}return}A(I)},V=(I)=>{throw this.positionedError(I,"emitter: offer takes a state declaration — `offer theme := v` — so every offered value is a "+"container an accept reads and writes",e)};for(let I of l){if(this.isOfferNode(I)){let c1=I[1];if(!(this.isReactiveDecl(c1)&&c1[0]==="state"))V(I);this.noteHeadKeyword("context-channel","offer",I),v(c1,!0);let O=E.memberTarget(c1[1]);b.push(O.name);continue}v(I,!1)}let W=[];for(let{name:I,isPublic:c1}of[...h,...c,...f])if(c1)W.push(I);if(s!==null){if(M.has("rest"))throw this.positionedError(M.get("rest"),"emitter: a component that extends a host cannot declare a member named 'rest' — `@rest` is the reactive "+"view of the undeclared caller props (the rest-forwarding seam)",e);k.set("rest","rest"),j.add("rest")}if(this.scopes.length===1&&typeof this._componentName==="string"){let I=this.moduleComponentNames.get(this._componentName);if(I!==void 0&&I!==e)throw this.positionedError(e,`emitter: component '${this._componentName}' is bound more than once at module scope — rebinding `+"clobbers the first class silently (existing instances keep the old identity) and the typed artifacts would merge two same-named companion interfaces; give each component its own name");this.moduleComponentNames.set(this._componentName,e)}let G=this.ts&&this.scopes.length===1&&typeof this._componentName==="string"?`__${this._componentName}__computed`:null,T=this.ts?wi(this.stores,this.b.source,e,G):null;if(T)T.hostSpan=a,T.hostNodeId=o,T.appStashSpec=this.appStashSpec,T.routesUnion=this.routesUnion,T.routeParams=this.routeParams;if(T!==null)this.componentInfo.set(e,T);let N=new Map;for(let I of T?.members??[]){let c1=E.memberLabel(I);if(c1!==null)N.set(I.name,{label:c1,optional:I.optional===!0})}if(s!==null)N.set("rest",{label:"rest",optional:!1});let F={members:k,memberReactive:j,memberKinds:N,name:this._componentName,extendsTag:n,extendsComponent:i,plainWrites:new Map,renderPlainReads:new Set},J=this.ind,x=" ".repeat(J+1),Q=x+" ";this.cframes.push(F),this.rframes.push({reactive:new Set,bound:new Set,members:k,memberReactive:j,memberKinds:N});let U=this.methodName;this.methodName=null;let r1=[...[...c,...f,...h].map((I)=>I.value),...u.map((I)=>I.value).filter((I)=>!(g1(I)&&I.length>2))].filter((I)=>I!==void 0),{entries:q,names:s1}=this.scopedHoist(r1,[],{declareInPlace:!1});this.mark(e,"$self",()=>{if(this.b.emit("class"),this.ts&&this._componentTypeParams){let{text:B,owner:n1}=this._componentTypeParams;this.b.tsOnly(()=>this.mark(n1,"typeParams",()=>this.emitTypeText(n1,"typeParams",B)))}if(this.b.emit(` extends ${this.runtimeName("__Component")} { -`),T!==null)this.tsComponentMemberDeclares(T,x);if(d.length>0)this.b.emit(`${x}static __gates = [`),d.forEach((B,n1)=>{if(n1>0)this.b.emit(", ");if(!(this.ts&&T!==null&&T.members.some((Y)=>Y.node===B.node&&this.gateTwinSource(Y,T)!==null))){this.noteVocabulary("gate-prefix","stash",B.pathNode);for(let Y of B.keyParts??[])this.noteSilence(Y,B.key)}this.mark(B.node,"$self",()=>{this.mark(B.node,"operator",()=>{}),this.mark(B.node,"rhs",()=>{if(B.key===null)this.emitQuotedPrimitive(B.path);else{if(this.b.emit("{ path: "),this.emitQuotedPrimitive(B.path),this.b.emit(", key: (params"),this.ts)this.b.tsOnly(()=>this.b.emit(": Record"));if(this.b.emit(", query"),this.ts)this.b.tsOnly(()=>this.b.emit(": Record"));this.b.emit(") => "),this.mark(B.node,"key",()=>{this.mark(B.key,"$self",()=>{if(B.keyParts===null){this.b.emit(B.keyCode);return}B.keyParts.forEach((Y,X)=>{if(X>0)this.b.emit(".");this.emitPrimitive(Y)})})}),this.b.emit(" }")}})})}),this.b.emit(`]; -`);if(W.length>0)this.b.emit(`${x}static __props = [${W.map((B)=>`'${B}'`).join(", ")}]; +`)}componentExpr(e){let[,t,r]=e,n=null,i=null;if(t!==null){let I=typeof t==="string"?t:null;if(I!==null&&Q1(I)&&!I.includes("#"))n=I;else if(I!==null&&Ce(I)&&(this.inScope(I)||this.moduleBound.has(I))){if(I===this._componentName)throw this.positionedError(e,`emitter: component '${I}' cannot extend itself — the render would construct it without end`);i=I}else throw this.positionedError(e,"emitter: 'component extends' takes an HTML tag or a component bound in this module — rest props forward "+`onto the first one the render creates; '${typeof t==="string"?t:"…"}' is neither`)}let s=n??i,a=null,o=null;if(this.ts){let I=this.stores.idOf(e)??null,c1=I!==null?this.stores.selfSpan(I):null,O=this.b.source;if(c1!==null&&O!==null&&O.startsWith("component",c1[0])){if(this.silences.push([c1[0],c1[0]+9]),s!==null){let D=/^component(\s+)extends(\s+)/.exec(O.slice(c1[0],c1[1]));if(D!==null&&O.startsWith(s,c1[0]+D[0].length)){let W=c1[0]+9+D[1].length;this.silences.push([W,W+7]);let Y=c1[0]+D[0].length;if(n!==null)this.intrinsics.push({start:Y,end:Y+n.length,kind:"tag",tag:n,svg:!1});else a=[Y,Y+i.length],o=I}}}}let l=g1(r)?r.slice(1):[],c=[],f=[],h=[],u=[],d=[],p=[],m=[],g=[],b=[],S=[],w=new Map,R=null,k=new Map,j=new Set,M=new Map,L=(I,c1,O,D)=>{if(M.has(I))throw this.positionedError(O,`emitter: duplicate component member '${I}' — it is already declared in this component body; `+"duplicates clobber silently across kinds",e);if(k3.has(I))throw this.positionedError(O,`emitter: component member '${I}' collides with component runtime state — `+"the runtime owns this exact instance field; rename the member",e);if(I==="_init"||I==="_create"||I==="_setup"||/^create_block_\d+$/.test(I))throw this.positionedError(O,`emitter: component member '${I}' collides with the generated lifecycle machinery — '_init', `+"'_create', '_setup', and 'create_block_N' are the class methods the component lowering emits (a same-named member would silently replace the generated one at runtime); rename the member",e);if(I==="mount"||I==="unmount"||I==="emit")throw this.positionedError(O,`emitter: component member '${I}' collides with the component runtime API — 'mount', 'unmount', `+"and 'emit' are __Component's own methods, and the machinery calls them on every instance (a same-named member would silently shadow them); rename the member",e);if(M.set(I,O),c1!=="hook"){if(k.set(I,c1),D)j.add(I)}},A=(I)=>{let c1="emitter: a component body line must be a member declaration — state (`x := v`, `@x := v`), a prop (`@x`, `@x?`), "+"computed (`x ~= e`), readonly (`x =! v`), a plain field (`x = v`), a method (`save = (e) ->`), a lifecycle hook "+"(beforeMount/mounted/beforeUnmount/unmounted/onError), an effect (`~> …`), `offer`/`accept`, or `render` — "+"this statement matches no category",O=this.b.source;if((!y(I)||this.stores.idOf(I)===null)&&O!==null){let D=(Q)=>{let o1=y(Q)?this.stores.idOf(Q):null;return o1!==null?this.stores.selfSpan(o1):null},W=l.indexOf(I),Y=D(r),r1=null;for(let Q=W-1;Q>=0&&r1===null;Q--)r1=D(l[Q])?.[1]??null;if(r1===null)r1=Y?.[0]??null;if(r1!==null){while(r1r1&&/\s/.test(O[Q-1]))Q--;throw this.positionedErrorAt(r1,Q,c1)}}throw this.positionedError(I,c1,e)},P=(I,c1,O,D)=>{let W=this.stores.idOf(I),Y=W!==null?this.stores.role(W,c1):null;if(Y?.sourceStart!=null)throw this.positionedErrorAt(Y.sourceStart,Y.sourceEnd,D);throw this.positionedError(O,D,I,e)},v=(I,c1)=>{if(this.isRenderNode(I)){if(c1)V(I);if(R!==null)throw this.positionedError(I,"emitter: duplicate render block — a component takes exactly one",e);R=I;return}if(this.isAcceptNode(I)){if(c1)V(I);if(this.noteHeadKeyword("context-channel","accept",I),I.length===2)throw this.positionedError(I,`emitter: accept names its provider — \`accept ${I[1]} from \` reads the nearest ancestor instance of that component`,e);let O=I[2];if(!(Ce(O)&&(this.inScope(O)||this.moduleBound.has(O))))throw this.positionedError(I,`emitter: accept reads from a component bound in this module — '${O}' is not one`,e);L(I[1],"accept",I,!0),S.push(I[1]),w.set(I[1],O);return}if(this.isGateDecl(I)){if(c1)V(I);let O=E.memberTarget(I[1]);if(O===null)P(I,"target",I[1],"emitter: a render gate ('<~') target must be one private component name — patterns and member chains cannot name a gate");if(O.isPublic)P(I,"target",I[1],`emitter: render gate '${O.name}' must be private — '@${O.name} <~ …' would expose route-prefetched state as a caller prop; remove '@' and pass an explicit prop where public input is intended`);let D=E.gateSource(I);if(D.error==="arity")P(I,"key",D.node,"emitter: a keyed render gate takes exactly one key argument — use @stash.name(params.id)");if(D.error==="path")P(I,"rhs",D.node,"emitter: '<~' requires a literal @stash. on the right-hand side, optionally called with one key");if(D.error==="key")P(I,"key",D.node,"emitter: a keyed render gate key may only be a literal or a params/query path (for example params.id or @query.tab)");L(O.name,"gate",I,!0),d.push({name:O.name,...D,node:I});return}if(this.isReactiveDecl(I)){let O=E.memberTarget(I[1]);if(O===null)throw this.positionedError(I,`emitter: a component ${I[0]==="state"?"state":"computed"} member takes a plain name or '@name' — `+"patterns and member chains have no member reading ",e);if(I[0]==="state"){if(this.firstAwaitIn(I[2])!==null)throw this.positionedError(I,"emitter: a component state initializer cannot await or yield — _init runs synchronously during construction",e);L(O.name,"state",I,!0),h.push({name:O.name,value:I[2],isPublic:O.isPublic,required:!1,node:I})}else{if(this.containsAwait(I[2]))throw this.positionedError(I,"emitter: a computed ('~=') body cannot await — computeds evaluate synchronously (make it a state written by an effect)",e);if(E.containsYield(I[2]))throw this.positionedError(I,"emitter: a computed ('~=') body cannot yield — computeds evaluate synchronously",e);L(O.name,"computed",I,!0),u.push({name:O.name,value:I[2],node:I})}return}if(this.isReadonlyDecl(I)){let O=E.memberTarget(I[1]);if(O===null)throw this.positionedError(I,"emitter: a component readonly member takes a plain name or '@name' — patterns and member chains have no member reading ",e);if(this.firstAwaitIn(I[2])!==null)throw this.positionedError(I,"emitter: a component readonly initializer cannot await or yield — _init runs synchronously during construction",e);L(O.name,"readonly",I,!1),c.push({name:O.name,value:I[2],isPublic:O.isPublic,node:I});return}if(this.isEffectDecl(I)){if(c1)V(I);if(I[1]!==null)throw this.positionedError(I,`emitter: a bound effect ('${typeof I[1]==="string"?I[1]:"…"} ~> …') has no component-body reading — `+"the handle would bind nothing; use a bare `~> …` effect, or bind the handle inside a method",e);if(E.effectBodyYields(I[2]))throw this.positionedError(I,"emitter: an effect ('~>') body cannot yield — the runtime calls the effect function (make the generator a named function the effect calls)",I);g.push(I);return}if(y(I)&&I[0]==="?"&&I.length===2){let O=E.memberTarget(I[1]);if(O!==null&&O.isPublic){L(O.name,"prop",I,!0),h.push({name:O.name,value:void 0,isPublic:!0,required:!1,optional:!0,node:I});return}A(I)}if(E.isTypedWrapper(I)){let O=E.memberTarget(I[1]);if(O!==null&&O.isPublic){L(O.name,"prop",I,!0),h.push({name:O.name,value:void 0,isPublic:!0,required:!0,node:I});return}A(I)}if(y(I)&&I[0]==="."&&I[1]==="this"&&I.length===3&&typeof I[2]==="string"){L(I[2],"prop",I,!0),h.push({name:I[2],value:void 0,isPublic:!0,required:!0,node:I});return}if(y(I)&&(I[0]==="="||I[0]==="void-assign")&&I.length===3){let O=E.memberTarget(I[1]);if(O===null)A(I);let D=I[0]==="void-assign";if(E.COMPONENT_HOOKS.has(O.name)){if(c1)V(I);if(!T1(I[2]))throw this.positionedError(I,`emitter: the lifecycle hook '${O.name}' takes a function value — \`${O.name} = -> …\``,e);L(O.name,"hook",I,!1),m.push({name:O.name,func:I[2],isVoid:D,node:I});return}if(T1(I[2])){L(O.name,"method",I,!1),p.push({name:O.name,func:I[2],isVoid:D,node:I});return}if(D)throw this.positionedError(I,"emitter: the void marker (a trailing '!' on the defined name) requires a function value — `save! = ->`",e);if(this.firstAwaitIn(I[2])!==null)throw this.positionedError(I,"emitter: a component member initializer cannot await or yield — _init runs synchronously during construction",e);L(O.name,"plain",I,!1),f.push({name:O.name,value:I[2],isPublic:O.isPublic,node:I});return}if(O1(I)){if(c1)V(I);for(let O of I.slice(1)){if(!y(O)||O[0]!==":"&&O[0]!=="void-pair"||typeof O[1]!=="string"||!T1(O[2]))A(I);let D=O[0]==="void-pair";if(E.COMPONENT_HOOKS.has(O[1]))L(O[1],"hook",I,!1),m.push({name:O[1],func:O[2],isVoid:D,node:O});else L(O[1],"method",I,!1),p.push({name:O[1],func:O[2],isVoid:D,node:O})}return}A(I)},V=(I)=>{throw this.positionedError(I,"emitter: offer takes a state declaration — `offer theme := v` — so every offered value is a "+"container an accept reads and writes",e)};for(let I of l){if(this.isOfferNode(I)){let c1=I[1];if(!(this.isReactiveDecl(c1)&&c1[0]==="state"))V(I);this.noteHeadKeyword("context-channel","offer",I),v(c1,!0);let O=E.memberTarget(c1[1]);b.push(O.name);continue}v(I,!1)}let H=[];for(let{name:I,isPublic:c1}of[...h,...c,...f])if(c1)H.push(I);if(s!==null){if(M.has("rest"))throw this.positionedError(M.get("rest"),"emitter: a component that extends a host cannot declare a member named 'rest' — `@rest` is the reactive "+"view of the undeclared caller props (the rest-forwarding seam)",e);k.set("rest","rest"),j.add("rest")}if(this.scopes.length===1&&typeof this._componentName==="string"){let I=this.moduleComponentNames.get(this._componentName);if(I!==void 0&&I!==e)throw this.positionedError(e,`emitter: component '${this._componentName}' is bound more than once at module scope — rebinding `+"clobbers the first class silently (existing instances keep the old identity) and the typed artifacts would merge two same-named companion interfaces; give each component its own name");this.moduleComponentNames.set(this._componentName,e)}let G=this.ts&&this.scopes.length===1&&typeof this._componentName==="string"?`__${this._componentName}__computed`:null,T=this.ts?wi(this.stores,this.b.source,e,G):null;if(T)T.hostSpan=a,T.hostNodeId=o,T.appStashSpec=this.appStashSpec,T.routesUnion=this.routesUnion,T.routeParams=this.routeParams;if(T!==null)this.componentInfo.set(e,T);let N=new Map;for(let I of T?.members??[]){let c1=E.memberLabel(I);if(c1!==null)N.set(I.name,{label:c1,optional:I.optional===!0})}if(s!==null)N.set("rest",{label:"rest",optional:!1});let F={members:k,memberReactive:j,memberKinds:N,name:this._componentName,extendsTag:n,extendsComponent:i,plainWrites:new Map,renderPlainReads:new Set},J=this.ind,x=" ".repeat(J+1),e1=x+" ";this.cframes.push(F),this.rframes.push({reactive:new Set,bound:new Set,members:k,memberReactive:j,memberKinds:N});let U=this.methodName;this.methodName=null;let i1=[...[...c,...f,...h].map((I)=>I.value),...u.map((I)=>I.value).filter((I)=>!(g1(I)&&I.length>2))].filter((I)=>I!==void 0),{entries:q,names:s1}=this.scopedHoist(i1,[],{declareInPlace:!1});this.mark(e,"$self",()=>{if(this.b.emit("class"),this.ts&&this._componentTypeParams){let{text:B,owner:n1}=this._componentTypeParams;this.b.tsOnly(()=>this.mark(n1,"typeParams",()=>this.emitTypeText(n1,"typeParams",B)))}if(this.b.emit(` extends ${this.runtimeName("__Component")} { +`),T!==null)this.tsComponentMemberDeclares(T,x);if(d.length>0)this.b.emit(`${x}static __gates = [`),d.forEach((B,n1)=>{if(n1>0)this.b.emit(", ");if(!(this.ts&&T!==null&&T.members.some((z)=>z.node===B.node&&this.gateTwinSource(z,T)!==null))){this.noteVocabulary("gate-prefix","stash",B.pathNode);for(let z of B.keyParts??[])this.noteSilence(z,B.key)}this.mark(B.node,"$self",()=>{this.mark(B.node,"operator",()=>{}),this.mark(B.node,"rhs",()=>{if(B.key===null)this.emitQuotedPrimitive(B.path);else{if(this.b.emit("{ path: "),this.emitQuotedPrimitive(B.path),this.b.emit(", key: (params"),this.ts)this.b.tsOnly(()=>this.b.emit(": Record"));if(this.b.emit(", query"),this.ts)this.b.tsOnly(()=>this.b.emit(": Record"));this.b.emit(") => "),this.mark(B.node,"key",()=>{this.mark(B.key,"$self",()=>{if(B.keyParts===null){this.b.emit(B.keyCode);return}B.keyParts.forEach((z,X)=>{if(X>0)this.b.emit(".");this.emitPrimitive(z)})})}),this.b.emit(" }")}})})}),this.b.emit(`]; +`);if(H.length>0)this.b.emit(`${x}static __props = [${H.map((B)=>`'${B}'`).join(", ")}]; `);if(s!==null){if(this.b.emit(`${x}static __extends = `),n!==null)this.emitQuotedPrimitive(n);else this.b.emit(`'${i}'`);this.b.emit(`; -`)}if(this.hmr&&this.modulePath&&this.scopes.length===1&&typeof this._componentName==="string")this.emitComponentHmrMeta(x,{bindingName:this._componentName,declaredProps:W,stateVars:h,derivedVars:u,gateVars:d,extendsTag:s,methods:p,hooks:m,hasRender:R!==null});if(T!==null)this.tsComponentCtor(T,x);if(this.b.emit(x),T!==null)this.b.tsOnly(()=>this.b.emit("private "));if(this.b.emit("_init(__given"),T!==null)this.b.tsOnly(()=>{this.b.emit(": "),this.emitDeclaredTypeCopies(Us(T,{road:"face"}))});if(this.b.emit(`) { -`),this.scopes.push(s1),this.rframes.push({reactive:new Set,bound:s1}),q.length)this.b.emit(Q),this.hoistLine(q,Q),this.b.emit(` -`);let I=(B,n1)=>{this.renderDirectives(B,Q),this.b.emit(Q),this.mark(B,"$self",n1),this.b.emit(`; -`)},c1=(B,n1)=>{this.mark(B,"value",()=>this.withExpression(()=>{let _=E.needsGrouping(n1,"operand");if(_)this.b.emit("(");if(this.expr(n1),_)this.b.emit(")")}))},O=(B,n1,_="target")=>{let Y=this.b.offset;if(this.b.emit("this."),this.mark(B,_,()=>this.b.emit(n1)),this.ts){let X=this.stores.idOf(B),t1=X!==null?this.stores.role(X,_):null;if(t1&&typeof t1.sourceStart==="number")this.memberInitSites.push({key:[t1.sourceStart,t1.sourceEnd],site:[Y,this.b.offset]})}},D=new Set(c),H=[];if(T!==null)T.computedBodies=H;let z=(B)=>{if(I(B.node,()=>{if(D.has(B)&&this.ts){let _=T?.members.find((Y)=>Y.node===B.node&&Y.kind==="readonly");this.b.tsOnly(()=>this.b.emit("(")),this.b.emit("this"),this.b.tsOnly(()=>{this.b.emit(" as "),this.emitDeclaredTypeCopies(_?Ks(_):"any"),this.b.emit(")")}),this.b.emit("."),this.mark(B.node,"target",()=>this.b.emit(B.name))}else O(B.node,B.name);if(this.b.emit(" = "),B.isPublic)this.b.emit(`__given.${B.name} ?? `);let n1=this._componentName;if(this.isComponentDecl(B.value))this._componentName=B.name;c1(B.node,B.value),this._componentName=n1}),G!==null&&T!==null){let n1=T.members.find((_)=>_.node===B.node);if(n1!==void 0&&Xs(n1)){let _=this.capturedExprText(()=>c1(B.node,B.value));H.push({name:B.name,code:_,block:!1})}}},i1=(B)=>{let n1=M.get(B);I(n1,()=>{O(n1,B,"name"),this.b.emit(` = ${this.runtimeName("getContext")}(`),this.mark(n1,"provider",()=>this.noteNameSpan(w.get(B))),this.b.emit(`, '${B}')`)})},e1=(B)=>{if(I(B.node,()=>{if(O(B.node,B.name,B.value===void 0?"property":"target"),this.b.emit(` = ${this.runtimeName("__state")}(`),B.isPublic&&(B.required||B.value===void 0)){if(this.b.emit(`__given.__bind_${B.name}__ ?? __given.${B.name}`),B.required&&this.ts)this.b.tsOnly(()=>this.b.emit("!"))}else if(B.isPublic)this.b.emit(`__given.__bind_${B.name}__ ?? __given.${B.name} ?? `),c1(B.node,B.value);else c1(B.node,B.value);this.b.emit(")")}),G!==null&&T!==null){let n1=T.members.find((_)=>_.node===B.node);if(n1!==void 0&&Js(n1)){let _=this.capturedExprText(()=>c1(B.node,B.value));H.push({name:B.name,code:_,block:!1})}}},o1=(B)=>{if(I(B.node,()=>{O(B.node,B.name),this.b.emit(` = ${this.runtimeName("__computed")}(() => `),this.mark(B.node,"value",()=>this.withExpression(()=>this.computedBody(B.node,B.value,J+2))),this.b.emit(")")}),G===null||T===null)return;let n1=T.members.find((Y)=>Y.node===B.node&&Y.kind==="computed");if(n1===void 0||n1.annotation!=null)return;let _=this.capturedExprText(()=>this.computedBody(B.node,B.value,0));H.push({name:B.name,code:_,block:g1(B.value)&&B.value.length>2})},f1=(B,n1)=>{I(B.node,()=>{O(B.node,B.name),this.b.emit(` = ${this.runtimeName("__gateBind")}(`),this.mark(B.node,"operator",()=>{}),this.mark(B.node,"rhs",()=>{this.b.emit(`this, ${n1}`)}),this.b.emit(")")})},h1=new Map;l.forEach((B,n1)=>{if(h1.set(B,n1),this.isOfferNode(B))h1.set(B[1],n1)});let u1=[...[...c,...f].map((B)=>({at:h1.get(B.node)??0,run:()=>z(B)})),...S.map((B)=>({at:h1.get(M.get(B))??0,run:()=>i1(B)})),...h.map((B)=>({at:h1.get(B.node)??0,run:()=>e1(B)})),...u.map((B)=>({at:h1.get(B.node)??0,run:()=>o1(B)}))].sort((B,n1)=>B.at-n1.at);for(let[B,n1]of d.entries())f1(n1,B);for(let B of u1)B.run();for(let B of b)I(M.get(B),()=>this.b.emit(`${this.runtimeName("setContext")}('${B}', this.${B})`));let b1=(B)=>{for(let n1 of g){let _=n1[2],Y=this.containsAwait(_);this.b.emit(B),this.mark(n1,"$self",()=>{if(this.mark(n1,"operator",()=>this.b.emit(this.runtimeName("__effect"))),this.b.emit(Y?"(async () => ":"(() => "),g1(_)&&_.length>2)this.mark(n1,"value",()=>this.withExpression(()=>{let X=this.liveStmts(_.slice(1),{forwards:!0}),{entries:t1,names:C}=this.scopedHoist(X,[]);for(let K of this.pushReactiveFrame(X,C))C.add(K);this.scopes.push(C),this.funcBlock(n1,_,X,J+2,t1),this.scopes.pop(),this.rframes.pop()}));else{let X=g1(_)?_[1]:_,{entries:t1,names:C}=this.scopedHoist([X],[]);if(this.scopes.push(C),this.rframes.push({reactive:new Set,bound:C}),this.b.emit("{ "),t1.length)this.hoistLine(t1),this.b.emit(" ");this.b.emit("return "),this.mark(n1,"value",()=>this.withExpression(()=>{let K=E.needsGrouping(X,"operand")||O1(X);if(K)this.b.emit("(");if(this.expr(X),K)this.b.emit(")")})),this.b.emit("; }"),this.scopes.pop(),this.rframes.pop()}this.b.emit(")")}),this.b.emit(`; -`)}};if(this.hmr&&g.length>0)this.b.emit(`${Q}this._hmrBindEffects(); -`);else b1(Q);if(this.rframes.pop(),this.scopes.pop(),this.b.emit(`${x}} +`)}if(this.hmr&&this.modulePath&&this.scopes.length===1&&typeof this._componentName==="string")this.emitComponentHmrMeta(x,{bindingName:this._componentName,declaredProps:H,stateVars:h,derivedVars:u,gateVars:d,extendsTag:s,methods:p,hooks:m,hasRender:R!==null});if(T!==null)this.tsComponentCtor(T,x);if(this.b.emit(x),T!==null)this.b.tsOnly(()=>this.b.emit("private "));if(this.b.emit("_init(__given"),T!==null)this.b.tsOnly(()=>{this.b.emit(": "),this.emitDeclaredTypeCopies(Us(T,{road:"face"}))});if(this.b.emit(`) { +`),this.scopes.push(s1),this.rframes.push({reactive:new Set,bound:s1}),q.length)this.b.emit(e1),this.hoistLine(q,e1),this.b.emit(` +`);let I=(B,n1)=>{this.renderDirectives(B,e1),this.b.emit(e1),this.mark(B,"$self",n1),this.b.emit(`; +`)},c1=(B,n1)=>{this.mark(B,"value",()=>this.withExpression(()=>{let _=E.needsGrouping(n1,"operand");if(_)this.b.emit("(");if(this.expr(n1),_)this.b.emit(")")}))},O=(B,n1,_="target")=>{let z=this.b.offset;if(this.b.emit("this."),this.mark(B,_,()=>this.b.emit(n1)),this.ts){let X=this.stores.idOf(B),t1=X!==null?this.stores.role(X,_):null;if(t1&&typeof t1.sourceStart==="number")this.memberInitSites.push({key:[t1.sourceStart,t1.sourceEnd],site:[z,this.b.offset]})}},D=new Set(c),W=[];if(T!==null)T.computedBodies=W;let Y=(B)=>{if(I(B.node,()=>{if(D.has(B)&&this.ts){let _=T?.members.find((z)=>z.node===B.node&&z.kind==="readonly");this.b.tsOnly(()=>this.b.emit("(")),this.b.emit("this"),this.b.tsOnly(()=>{this.b.emit(" as "),this.emitDeclaredTypeCopies(_?Ks(_):"any"),this.b.emit(")")}),this.b.emit("."),this.mark(B.node,"target",()=>this.b.emit(B.name))}else O(B.node,B.name);if(this.b.emit(" = "),B.isPublic)this.b.emit(`__given.${B.name} ?? `);let n1=this._componentName;if(this.isComponentDecl(B.value))this._componentName=B.name;c1(B.node,B.value),this._componentName=n1}),G!==null&&T!==null){let n1=T.members.find((_)=>_.node===B.node);if(n1!==void 0&&Xs(n1)){let _=this.capturedExprText(()=>c1(B.node,B.value));W.push({name:B.name,code:_,block:!1})}}},r1=(B)=>{let n1=M.get(B);I(n1,()=>{O(n1,B,"name"),this.b.emit(` = ${this.runtimeName("getContext")}(`),this.mark(n1,"provider",()=>this.noteNameSpan(w.get(B))),this.b.emit(`, '${B}')`)})},Q=(B)=>{if(I(B.node,()=>{if(O(B.node,B.name,B.value===void 0?"property":"target"),this.b.emit(` = ${this.runtimeName("__state")}(`),B.isPublic&&(B.required||B.value===void 0)){if(this.b.emit(`__given.__bind_${B.name}__ ?? __given.${B.name}`),B.required&&this.ts)this.b.tsOnly(()=>this.b.emit("!"))}else if(B.isPublic)this.b.emit(`__given.__bind_${B.name}__ ?? __given.${B.name} ?? `),c1(B.node,B.value);else c1(B.node,B.value);this.b.emit(")")}),G!==null&&T!==null){let n1=T.members.find((_)=>_.node===B.node);if(n1!==void 0&&Js(n1)){let _=this.capturedExprText(()=>c1(B.node,B.value));W.push({name:B.name,code:_,block:!1})}}},o1=(B)=>{if(I(B.node,()=>{O(B.node,B.name),this.b.emit(` = ${this.runtimeName("__computed")}(() => `),this.mark(B.node,"value",()=>this.withExpression(()=>this.computedBody(B.node,B.value,J+2))),this.b.emit(")")}),G===null||T===null)return;let n1=T.members.find((z)=>z.node===B.node&&z.kind==="computed");if(n1===void 0||n1.annotation!=null)return;let _=this.capturedExprText(()=>this.computedBody(B.node,B.value,0));W.push({name:B.name,code:_,block:g1(B.value)&&B.value.length>2})},f1=(B,n1)=>{I(B.node,()=>{O(B.node,B.name),this.b.emit(` = ${this.runtimeName("__gateBind")}(`),this.mark(B.node,"operator",()=>{}),this.mark(B.node,"rhs",()=>{this.b.emit(`this, ${n1}`)}),this.b.emit(")")})},h1=new Map;l.forEach((B,n1)=>{if(h1.set(B,n1),this.isOfferNode(B))h1.set(B[1],n1)});let u1=[...[...c,...f].map((B)=>({at:h1.get(B.node)??0,run:()=>Y(B)})),...S.map((B)=>({at:h1.get(M.get(B))??0,run:()=>r1(B)})),...h.map((B)=>({at:h1.get(B.node)??0,run:()=>Q(B)})),...u.map((B)=>({at:h1.get(B.node)??0,run:()=>o1(B)}))].sort((B,n1)=>B.at-n1.at);for(let[B,n1]of d.entries())f1(n1,B);for(let B of u1)B.run();for(let B of b)I(M.get(B),()=>this.b.emit(`${this.runtimeName("setContext")}('${B}', this.${B})`));let b1=(B)=>{for(let n1 of g){let _=n1[2],z=this.containsAwait(_);this.b.emit(B),this.mark(n1,"$self",()=>{if(this.mark(n1,"operator",()=>this.b.emit(this.runtimeName("__effect"))),this.b.emit(z?"(async () => ":"(() => "),g1(_)&&_.length>2)this.mark(n1,"value",()=>this.withExpression(()=>{let X=this.liveStmts(_.slice(1),{forwards:!0}),{entries:t1,names:C}=this.scopedHoist(X,[]);for(let K of this.pushReactiveFrame(X,C))C.add(K);this.scopes.push(C),this.funcBlock(n1,_,X,J+2,t1),this.scopes.pop(),this.rframes.pop()}));else{let X=g1(_)?_[1]:_,{entries:t1,names:C}=this.scopedHoist([X],[]);if(this.scopes.push(C),this.rframes.push({reactive:new Set,bound:C}),this.b.emit("{ "),t1.length)this.hoistLine(t1),this.b.emit(" ");this.b.emit("return "),this.mark(n1,"value",()=>this.withExpression(()=>{let K=E.needsGrouping(X,"operand")||O1(X);if(K)this.b.emit("(");if(this.expr(X),K)this.b.emit(")")})),this.b.emit("; }"),this.scopes.pop(),this.rframes.pop()}this.b.emit(")")}),this.b.emit(`; +`)}};if(this.hmr&&g.length>0)this.b.emit(`${e1}this._hmrBindEffects(); +`);else b1(e1);if(this.rframes.pop(),this.scopes.pop(),this.b.emit(`${x}} `),this.hmr&&g.length>0)this.b.emit(`${x}_hmrBindEffects() { -`),this.scopes.push(s1),this.rframes.push({reactive:new Set,bound:s1}),b1(Q),this.rframes.pop(),this.scopes.pop(),this.b.emit(`${x}} +`),this.scopes.push(s1),this.rframes.push({reactive:new Set,bound:s1}),b1(e1),this.rframes.pop(),this.scopes.pop(),this.b.emit(`${x}} `);if(this.hmr&&u.length>0){this.b.emit(`${x}_hmrRefreshComputeds() { -`),this.scopes.push(s1),this.rframes.push({reactive:new Set,bound:s1});for(let B of u)this.b.emit(`${Q}this.${B.name}?.kill?.(); -`),this.b.emit(Q),O(B.node,B.name),this.b.emit(` = ${this.runtimeName("__computed")}(() => `),this.mark(B.node,"value",()=>this.withExpression(()=>this.computedBody(B.node,B.value,J+2))),this.b.emit(`); +`),this.scopes.push(s1),this.rframes.push({reactive:new Set,bound:s1});for(let B of u)this.b.emit(`${e1}this.${B.name}?.kill?.(); +`),this.b.emit(e1),O(B.node,B.name),this.b.emit(` = ${this.runtimeName("__computed")}(() => `),this.mark(B.node,"value",()=>this.withExpression(()=>this.computedBody(B.node,B.value,J+2))),this.b.emit(`); `);this.rframes.pop(),this.scopes.pop(),this.b.emit(`${x}} -`)}let l1=new Map;if(this.ts&&R!==null){let B=(n1,_)=>{if(!y(n1))return;let Y=_,X=n1[0]==="switch"&&n1.length===4?null:E.templateHeadTag(n1);if(X==="object")Y=O1(n1)&&n1.slice(1).some((t1)=>y(t1)&&t1[0]===":")?_:null;else if(X!==null&&Ie.has(X))Y={tag:X,svg:_?.svg===!0||oi.has(X)};else if(typeof n1[0]==="string"&&/^[A-Z]/.test(n1[0]))Y=null;if(n1[0]===":"&&n1.length===3&&y(n1[1])&&n1[1][0]==="."&&n1[1][1]==="this"&&typeof n1[1][2]==="string"&&Ut.has(n1[1][2])){let t1=n1[2],C=typeof t1==="string"&&k.has(t1)?t1:y(t1)&&t1[0]==="."&&t1[1]==="this"&&t1.length===3&&typeof t1[2]==="string"&&k.has(t1[2])?t1[2]:null;if(C!==null){if(!l1.has(C))l1.set(C,{events:new Set,hosts:new Set,unknownHost:!1});let K=l1.get(C);if(K.events.add(n1[1][2]),_!==null&&ot(_.tag,_.svg))K.hosts.add(De(_.tag,_.svg));else K.unknownHost=!0}}for(let t1 of n1)B(t1,Y)};B(R,null)}let d1=({name:B,func:n1,isVoid:_,node:Y})=>{let[,X,t1]=n1,C=l1.get(B),K=C!==void 0&&!C.unknownHost&&C.hosts.size>0?[...C.hosts].join(" | "):null,a1=C!==void 0?this.tsEventTypeText([...C.events],K):B==="onError"?zs:null;this.b.emit(x),this.mark(Y,"$self",()=>{if(this.containsAwait(t1))this.b.emit("async ");if(E.containsYield(t1))this.b.emit("*");this.mark(Y,"target",()=>this.mark(Y,"key",()=>this.b.emit(B))),this.b.emit("("),this.emitParams(X,a1),this.b.emit(")"),this.tsReturnAnnotation(n1,this.containsAwait(t1),_,E.containsYield(t1),Y),this.b.emit(" "),this.mark(Y,"value",()=>{this.methodBlock(n1,t1,J+1,{isConstructor:!1,binds:[],methodName:B,voidBody:_})})}),this.b.emit(` +`)}let l1=new Map;if(this.ts&&R!==null){let B=(n1,_)=>{if(!y(n1))return;let z=_,X=n1[0]==="switch"&&n1.length===4?null:E.templateHeadTag(n1);if(X==="object")z=O1(n1)&&n1.slice(1).some((t1)=>y(t1)&&t1[0]===":")?_:null;else if(X!==null&&Ie.has(X))z={tag:X,svg:_?.svg===!0||oi.has(X)};else if(typeof n1[0]==="string"&&/^[A-Z]/.test(n1[0]))z=null;if(n1[0]===":"&&n1.length===3&&y(n1[1])&&n1[1][0]==="."&&n1[1][1]==="this"&&typeof n1[1][2]==="string"&&Ut.has(n1[1][2])){let t1=n1[2],C=typeof t1==="string"&&k.has(t1)?t1:y(t1)&&t1[0]==="."&&t1[1]==="this"&&t1.length===3&&typeof t1[2]==="string"&&k.has(t1[2])?t1[2]:null;if(C!==null){if(!l1.has(C))l1.set(C,{events:new Set,hosts:new Set,unknownHost:!1});let K=l1.get(C);if(K.events.add(n1[1][2]),_!==null&&ot(_.tag,_.svg))K.hosts.add(De(_.tag,_.svg));else K.unknownHost=!0}}for(let t1 of n1)B(t1,z)};B(R,null)}let d1=({name:B,func:n1,isVoid:_,node:z})=>{let[,X,t1]=n1,C=l1.get(B),K=C!==void 0&&!C.unknownHost&&C.hosts.size>0?[...C.hosts].join(" | "):null,a1=C!==void 0?this.tsEventTypeText([...C.events],K):B==="onError"?zs:null;this.b.emit(x),this.mark(z,"$self",()=>{if(this.containsAwait(t1))this.b.emit("async ");if(E.containsYield(t1))this.b.emit("*");this.mark(z,"target",()=>this.mark(z,"key",()=>this.b.emit(B))),this.b.emit("("),this.emitParams(X,a1),this.b.emit(")"),this.tsReturnAnnotation(n1,this.containsAwait(t1),_,E.containsYield(t1),z),this.b.emit(" "),this.mark(z,"value",()=>{this.methodBlock(n1,t1,J+1,{isConstructor:!1,binds:[],methodName:B,voidBody:_})})}),this.b.emit(` `)};for(let B of p)d1(B);for(let B of m)d1(B);if(R!==null)this.renderBody(R,J,F);if(n!==null&&F.inheritedBound!==!0)throw this.positionedError(e,`emitter: this component extends '${n}' but its render never creates a '<${n}>' element `+"at class scope — rest props forward onto the FIRST class-scope element of the extended tag (at any "+"nesting depth; conditional branches and loop rows never bind it), and without one every caller prop lands nowhere");if(i!==null&&F.inheritedBound!==!0)throw this.positionedError(e,`emitter: this component extends '${i}' but its render never constructs a '${i}' `+"at class scope — rest props forward onto the FIRST class-scope construction of the extended component (at "+"any nesting depth; conditional branches and loop rows never bind it), and without one every caller prop lands nowhere");this.b.emit(" ".repeat(J)+"}")}),this.methodName=U;for(let[I,c1]of F.plainWrites)if(F.renderPlainReads.has(I))throw this.positionedError(c1,`emitter: writing to '${I}' silently freezes the render — it is a plain ('=') member and render `+"reads it, but render never re-runs for a non-reactive field; declare it with ':=' (state) if it changes");this.rframes.pop(),this.cframes.pop(),this.ind=J}renderBody(e,t,r){let n=" ".repeat(t+1),i=n+" ",s=this.rstate,a={kind:"class",name:null,parent:null,self:null,creates:[],setups:[],vars:null,locals:new Set,localDecls:new Map,bindings:new Set,refs:[],loopStack:[],stmts:[],forceNonStatic:!1,root:null,originNode:e,renameHazardNames:new Set};this.rstate={elCount:0,textCount:0,blockCount:0,svgDepth:0,fragChildren:new Map,tags:new Map,svgEls:new Set,pendingClassArgs:null,pendingClassEl:null,pad:i,frame:r,node:e,records:[],sink:a,classRecord:a,transitionSlot:null,suppressedPairs:new Set,slotSeen:!1,scopeDepth:this.scopes.length};let o=e[1],l=g1(o)?o.slice(1):[o];a.stmts=l,this.rframes.push({reactive:new Set,bound:a.bindings});let c;try{c=this.walkRenderRoot(l,a)}finally{this.rframes.pop()}if(this.closeRenderScope(a),this.b.emit(n),this.ts)this.b.tsOnly(()=>this.b.emit("private "));if(this.b.emit(`_create() { `),this.mark(e,"$self",()=>this.mark(e,"body",()=>{this.withRecordContext(a,()=>{if(a.locals.size>0)this.b.emit(`${i}let ${[...a.locals].join(", ")}; `);this.replayCreates(a,i)}),this.b.emit(`${i}return ${c}; @@ -188,14 +188,16 @@ ${s??""}`);let h=()=>{if(f)this.b.emit(f);else this.expr(n)};if(this.b.emit("for `)}for(let f of this.rstate.records)this.emitFactory(f,t,e);this.rstate=s}walkRenderRoot(e,t){if(e.length===0||e.length===1&&e[0]==="null")return"null";let r=this.walkChildStmts(e);if(t.kind==="class"&&this.rstate.fragChildren.has(r))this.renderLine(null,()=>this.b.emit(`this._nodes = [...${r}.childNodes]`));return r}walkChildStmts(e){let t=this.rstate,r=()=>{if(t.transitionSlot!==null&&t.transitionSlot.record===t.sink)t.transitionSlot=null},n=e.reduce((a,o)=>a+(this.isRenderBinding(o)?0:1),0);if(n===0){for(let o of e)this.renderNode(o);let a=this.newRenderVar("empty");return this.renderLine(null,()=>this.b.emit(`${a} = document.createComment('')`)),a}if(n===1){let a=null;for(let o of e){let l=this.renderNode(o);if(l!=null)a=l,r()}return a}let i=this.newRenderVar("frag");this.renderLine(null,()=>this.b.emit(`${i} = document.createDocumentFragment()`));let s=[];for(let a of e){let o=this.renderNode(a);if(o==null)continue;r(),this.renderLine(null,()=>this.b.emit(`${i}.appendChild(${o})`)),s.push(o)}return this.rstate.fragChildren.set(i,s),i}withRecordContext(e,t){let r=this.renderSelf,n=this.renderRecord;this.renderSelf=e.self,this.renderRecord=e,this.rframes.push({reactive:new Set,bound:e.bindings,block:!0,loopVars:e.bindings,loopBindings:E.loopBindingsOf(e)});try{t()}finally{this.rframes.pop(),this.renderSelf=r,this.renderRecord=n}}renderDirectives(e,t){if(!this.ts||!this.tsDirectivesArmed||e==null||!y(e))return;let r=this.tsDirectiveMap.get(e);if(r===void 0)return;this.tsDirectiveMap.delete(e);for(let n of r)this.tsDirectiveLine(n,t,!0)}replayCreates(e,t){let r=this.replayPad;this.replayPad=t;try{for(let{node:n,fn:i,semi:s}of e.creates){if(this.renderDirectives(n,t),this.b.emit(t),n!=null)this.mark(n,"$self",i);else i();this.b.emit(s?`; `:` `)}}finally{this.replayPad=r}}replaySetups(e,t){for(let r of e.setups)if(r.kind==="effect"){this.renderDirectives(r.node,t),this.b.emit(t);let n=()=>{this.b.emit(`${this.runtimeName("__effect")}(() => { `);let i=this._narrowedReads;this._narrowedReads=this.narrowedReadNames();try{this.narrowGuard(),r.fn()}finally{this._narrowedReads=i}this.b.emit(" })")};if(r.node!=null)this.mark(r.node,"$self",n);else if(r.within!=null){let i=this.b.claimWithin;this.b.claimWithin=r.within;try{n()}finally{this.b.claimWithin=i}}else n();this.b.emit(`; -`)}else{if(r.node!=null)this.renderDirectives(r.node,t);r.fn(t)}}renderLine(e,t,r=!0){this.rstate.sink.creates.push({node:e,fn:t,semi:r})}newRenderVar(e="el"){let t=this.rstate.elCount++,r=this.rstate.sink;if(r.kind==="class")return`this._${e}${t}`;let n=`_${e}${t}`;return r.vars.add(n),n}newRenderText(){let e=this.rstate.textCount++,t=this.rstate.sink;if(t.kind==="class")return`this._t${e}`;let r=`_t${e}`;return t.vars.add(r),r}newBlockName(){let e;do e=`create_block_${this.rstate.blockCount++}`;while(this.rstate.frame.members.has(e)||this.rstate.frame.members.has(`${e}_iter`));return e}renderEffect(e,t,r){if(r!==void 0)this.checkSetupLocalRefs(r,e);let n=e==null?this._textOwner:null,i=n!=null?this.stores.idOf(n):null,s=i!=null?[this.stores.node(i).sourceStart,this.stores.node(i).sourceEnd]:null;this.rstate.sink.setups.push({kind:"effect",node:e,fn:t,within:s})}checkSetupLocalRefs(e,t){let r=this.rstate.sink;if(r.kind!=="class"||r.locals.size===0)return;if(Re(e,r.locals))throw this.positionedError(t??e,"emitter: a render local cannot appear in a LIVE binding or a dynamic block head at the render top level — "+"locals live in _create() and reactive machinery lives in _setup() (a compiled read here would be a mount-time ReferenceError); bind the value to a member instead",y(e)?e:this.rstate.node)}renderExpr(e){let t=null;return this.withExpression(()=>{let r=E.needsGrouping(e,"operand");if(r)this.b.emit("(");let n=this.b.offset;if(this.expr(e),t=[n,this.b.offset],r)this.b.emit(")")}),t}renderVarKind(e,t){let r=this.rstate;if(!r)return null;if(r.sink.locals.has(e))return"local";for(let n=r.sink.loopStack.length-1;n>=0;n--){let i=r.sink.loopStack[n];if(i.itemVar===e||i.indexVar===e)return i.reactiveSource?"loop-reactive":"loop"}if(t!==void 0){for(let n=r.sink.parent;n;n=n.parent)if(n.locals.has(e))throw this.positionedError(t,`emitter: render local '${e}' is not visible here — each dynamic block (a conditional branch, a loop body) `+"is its own factory function, and render locals never cross that boundary; declare the local inside this block, or use a member",this.rstate.node)}return null}renderReactive(e){if(typeof e==="string"){let i=this.renderVarKind(e);if(i!==null)return i==="loop-reactive";let s=this.resolveBareRead(e);return s==="reactive"||s==="member-reactive"}if(!y(e))return!1;if(e[0]==="."&&e[1]==="this"&&e.length===3&&typeof e[2]==="string")return this.memberIsReactive(e[2]);let t=(i)=>{if(typeof i!=="string"||i==="this"||this.renderVarKind(i)!==null)return!1;let s=this.resolveBareRead(i);return s==="member"||s===null&&(this.inScope(i)||this.moduleBound!==void 0&&this.moduleBound.has(i))},r=(i)=>{while(y(i)&&(i[0]==="."||i[0]==="[]")&&i.length===3)i=i[1];return i==="this"||t(i)},n=(i)=>{while(y(i)&&(i[0]==="."||i[0]==="[]"||i[0]==="?."||i[0]==="optindex")&&i.length===3)i=i[1];return typeof i==="string"&&this.renderVarKind(i)==="loop-reactive"};if(e[0]==="."&&e.length===3&&r(e[1]))return!0;if((e[0]==="."||e[0]==="[]")&&e.length===3&&n(e))return!0;if(y(e[0])&&e[0][0]==="."&&e[0][1]==="this"&&typeof e[0][2]==="string"&&this.cframes.length>0&&this.cframes[this.cframes.length-1].members.has(e[0][2]))return!0;return e.some((i)=>this.renderReactive(i))}isRenderBinding(e){return y(e)&&sa.has(e[0])&&e.length===3&&typeof e[1]==="string"&&ft.test(e[1])}renderSpreadError(e,t=null){return this.positionedError(e,t!==null?"emitter: a spread has no reading on a child component — pass each prop as a named pair; to forward the "+`caller's undeclared props onto '${t}', declare the wrapper \`component extends ${t}\` and construct it in the render`:"emitter: a spread has no render reading — an element takes named attribute pairs, and `= expr` renders ONE value",this.rstate.node)}renderNode(e){if(this.isRenderBinding(e))return this.renderBinding(e);if(dt(e))throw this.renderSpreadError(e);if(y(e)&<(e[0])&&e.length===3)throw this.positionedError(e,"emitter: an assignment at a render child position must declare a render local (`name = expr` / compound forms "+"on a plain name) — member and chain writes have no render reading here; put the write in a handler or method");if(typeof e==="string"){if(e.startsWith('"')||e.startsWith("'")||e.startsWith("`")){let o=this.newRenderText();return this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode(${e})`)),o}let n=this.renderVarKind(e,e);if(n!==null){let o=this.newRenderText();if(n==="loop-reactive")this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode('')`)),this.renderEffect(null,()=>this.b.emit(`${o}.data = ${e};`));else this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode(String(${e}))`));return o}let i=this.resolveBareRead(e);if(i==="reactive"||i==="member-reactive"){let o=this.newRenderText();return this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode('')`)),this.renderEffect(null,()=>{this.b.emit(`${o}.data = `),this.expr(e),this.b.emit(";")}),o}if(e==="slot")return this.renderSlot(e,[]);if(Ce(e))return this.renderChildComponent(e,e,[]);if(i==="member"){let o=this.newRenderText();return this.renderLine(null,()=>{this.b.emit(`${o} = document.createTextNode(String(`),this.expr(e),this.b.emit("))")}),o}let[s,a]=e.split("#");return this.renderTag(e,s||"div",[],[],a)}if(!y(e))throw this.positionedError(e,"emitter: unsupported render child");let t=e[0],r=typeof t==="string"?t:null;if(r==="if"&&e.length>=3)return this.renderCond(e);if(r==="switch"&&e.length===4)return this.renderSwitch(e);if(r==="for-in"&&e.length===6)return this.renderLoop(e);if(r==="for-of"&&e.length===6)throw this.positionedError(e,"emitter: `for … of` (object iteration) has no reconcile reading inside render — "+"__reconcile expects an array and crashes at mount; iterate entries instead: `for pair in Object.entries(obj)`");if(r==="for-as"&&e.length===6)throw this.positionedError(e,"emitter: an async loop has no render reading — reconciliation is synchronous; collect the items into a state "+"member and loop over it");if(r==="comprehension"||r==="while"||r==="loop")throw this.positionedError(e,"emitter: only `for … in` drives list rendering — while/loop/comprehensions have no reconcile reading inside "+"render");if(this.isEffectDecl(e)||this.isReactiveDecl(e)||this.isReadonlyDecl(e))throw this.positionedError(e,"emitter: declarations and effects have no render-body reading — declare members in the component body, above render");if(r==="slot")return this.renderSlot(e,e.slice(1));if(r!==null&&Ce(r))return this.renderChildComponent(e,r,e.slice(1));if(r==="."&&e[1]==="this"&&typeof e[2]==="string")throw this.positionedError(e,`emitter: bare \`@${e[2]}\` is not rendered as text — use \`= @${e[2]}\` to render it`);if(r==="."){let{tag:n,classes:i,id:s}=E.collectTemplateClasses(e);if(n!==null&&Q1(n)&&this.renderVarKind(n)===null)return this.renderTag(e,n,i,[],s);return this.renderTextExpr(e)}if(r==="__text__"){if(e.length>2)throw this.positionedError(e,"emitter: the `= expr` text form takes ONE expression — an indented continuation under the `=` line has no "+"render reading (inside render a leading `.` starts a NEW element, so the continuation cannot be a method chain; put the whole expression on the `=` line, or bind it in a method)",this.rstate.node);if(dt(e[1]))throw this.renderSpreadError(e[1]);return this.renderTextExpr(e[1]??"undefined",e,!0)}if(r!==null&&Q1(r.split("#")[0])&&e.length>=1&&this.renderVarKind(r)===null){let[n,i]=r.split("#");return this.renderTag(e,n||"div",[],e.slice(1),i)}if(y(t)){if(y(t[0])&&t[0][0]==="."&&t[0][2]==="__clsx"){let a=t[0][1],o=t.slice(1);if(y(a)){let{tag:l,classes:c,id:f}=E.collectTemplateClasses(a);if(l!==null&&Q1(l))return this.renderDynamicTag(e,l,o,e.slice(1),c,f)}else if(typeof a==="string"&&Q1(a.split("#")[0])){let[l,c]=a.split("#");return this.renderDynamicTag(e,l||"div",o,e.slice(1),[],c)}}let{tag:n,classes:i,id:s}=E.collectTemplateClasses(t);if(n!==null&&Q1(n)&&this.renderVarKind(n)===null){if(i.length>0&&i[i.length-1]==="__clsx")return this.renderDynamicTag(e,n,e.slice(1),[],i.slice(0,-1),s);return this.renderTag(e,n,i,e.slice(1),s)}}if(r==="->"||r==="=>")return this.renderChildBlock(e[2]);return this.renderTextExpr(e)}renderTextExpr(e,t=null,r=!1){let n=this.newRenderText(),i=t??(y(e)?e:null);this.checkCrossScopeLocals(e,i??this.rstate.node);let s=(a)=>{if(r&&t!==null)this.mark(t,"args",a);else a()};if(this.renderReactive(e))this.renderLine(i,()=>this.b.emit(`${n} = document.createTextNode('')`)),this.renderEffect(i,()=>{if(this.b.emit(`${n}.data = `),r)this.b.emit("String("),s(()=>this.renderExpr(e)),this.b.emit(")");else this.renderExpr(e);this.b.emit(";")},e);else this.renderLine(i,()=>{this.b.emit(`${n} = document.createTextNode(String(`),s(()=>this.withExpression(()=>this.expr(e))),this.b.emit("))")});return n}bindInheritedTarget(e,t,r,n){let i=this.rstate;if(i.frame.extendsTag!==t||i.sink.kind!=="class"||i.frame.inheritedBound===!0)return;if(i.frame.inheritedBound=!0,this.renderLine(e,()=>this.b.emit(`this._inheritedEl = ${r}`)),n.length>0)this.renderLine(e,()=>this.b.emit(`this._inheritedOwn = new Set([${n.map((s)=>JSON.stringify(s)).join(", ")}])`));this.renderLine(e,()=>this.b.emit("this._applyRestToInheritedEl()"))}elementOwnKeys(e,t,r){let n=new Set;if(r)n.add("id");if(e)n.add("class");let i=(s)=>{for(let a of s.slice(1)){if(!y(a)||a.length!==3||typeof a[1]!=="string")continue;let o=a[1];n.add(o.startsWith('"')&&o.endsWith('"')?o.slice(1,-1):o)}};for(let s of t)if(O1(s))i(s);else if(T1(s)&&g1(s[2])){for(let a of s[2].slice(1))if(O1(a))i(a)}for(let s of["ref","key"])n.delete(s);for(let s of[...n])if(s.startsWith("__"))n.delete(s);if(n.has("class")||n.has("className"))n.add("class"),n.add("className");return[...n]}renderElementPrologue(e,t){let r=this.rstate,n=this.newRenderVar();if(r.tags.set(n,t),r.transitionSlot!==null&&r.transitionSlot.record===r.sink&&r.transitionSlot.el===null)r.transitionSlot.el=n;let i=r.svgDepth>0||oi.has(t);if(i)r.svgEls.add(n);return this.renderLine(e,()=>{if(i)this.b.emit(`${n} = document.createElementNS('${E.SVG_NS}', `);else this.b.emit(`${n} = document.createElement(`);let s=this.emitQuotedPrimitive(t);if(s!==null&&ot(t,i))this.intrinsics.push({start:s[0],end:s[1],kind:"tag",tag:t,svg:i});this.b.emit(")")}),{el:n,isSvg:i}}renderElementBasics(e,t,r,n,i){let s=this.rstate;if(n)this.renderLine(e,()=>this.b.emit(`${r}.id = '${n}'`));if(this.bindInheritedTarget(e,t,r,i),s.frame.name!==null&&s.elCount===1&&s.sink.kind==="class")this.renderLine(e,()=>this.b.emit(`${r}.setAttribute('data-part', '${s.frame.name}')`))}renderTag(e,t,r,n,i){this.noteShorthandClasses(r,e);let s=this.rstate,{el:a,isSvg:o}=this.renderElementPrologue(e,t);this.renderElementBasics(e,t,a,i,this.elementOwnKeys(r.length>0,n,i));let{pendingClassArgs:l,pendingClassEl:c,pendingClassKeys:f}=s;if(r.length>0)s.pendingClassArgs=[`'${r.join(" ")}'`],s.pendingClassEl=a,s.pendingClassKeys=null;if(o)s.svgDepth++;if(this.renderChildren(a,n,e),o)s.svgDepth--;if(r.length>0){if(s.pendingClassArgs.length===1)this.renderLine(e,()=>this.b.emit(o?`${a}.setAttribute('class', '${r.join(" ")}')`:`${a}.className = '${r.join(" ")}'`));else{let h=s.pendingClassArgs.slice(1),u=s.pendingClassKeys??[],d=this.tsElReceiver(a);this.renderEffect(e,()=>{let p=this.runtimeName("__clsx");if(o){d.emit();let m=this.b.offset+1;this.b.emit(`.setAttribute('class', ${p}('${r.join(" ")}', `);for(let g of u)this.intrinsics.push({start:g[0],end:g[1],kind:"attr",name:"class",gen:m})}else{d.emit(),this.b.emit(".");let m=this.b.offset;this.b.emit(`className = ${p}('${r.join(" ")}', `);for(let g of u)this.intrinsics.push({start:g[0],end:g[1],kind:"classkey",gen:m})}h.forEach((m,g)=>{if(g>0)this.b.emit(", ");m()}),this.b.emit(o?"));":");")})}s.pendingClassKeys=f,s.pendingClassArgs=l,s.pendingClassEl=c}return a}renderDynamicTag(e,t,r,n,i,s){this.noteShorthandClasses(i,e);let a=this.rstate,{el:o,isSvg:l}=this.renderElementPrologue(e,t);this.renderElementBasics(e,t,o,s,this.elementOwnKeys(!0,n,s));for(let p of r)this.checkCrossScopeLocals(p,e);let{pendingClassArgs:c,pendingClassEl:f,pendingClassKeys:h}=a;if(a.pendingClassArgs=[...i.map((p)=>`'${p}'`),...r.map((p)=>()=>this.renderExpr(p))],a.pendingClassEl=o,a.pendingClassKeys=null,l)a.svgDepth++;if(this.renderChildren(o,n,e),l)a.svgDepth--;let u=a.pendingClassArgs,d=a.pendingClassKeys??[];if(u.length>0)this.renderEffect(e,()=>{let p=this.runtimeName("__clsx");this.b.emit(`${o}`);let m=this.b.offset+1;this.b.emit(l?`.setAttribute('class', ${p}(`:`.className = ${p}(`);for(let g of d)this.intrinsics.push(l?{start:g[0],end:g[1],kind:"attr",name:"class",gen:m}:{start:g[0],end:g[1],kind:"classkey",gen:m});u.forEach((g,b)=>{if(b>0)this.b.emit(", ");if(typeof g==="string")this.b.emit(g);else g()}),this.b.emit(l?"));":");")});return a.pendingClassKeys=h,a.pendingClassArgs=c,a.pendingClassEl=f,o}renderChildBlock(e){if(!g1(e)){let r=this.renderNode(e);if(r!=null)return r;let n=this.newRenderVar("empty");return this.renderLine(null,()=>this.b.emit(`${n} = document.createComment('')`)),n}let t=e.slice(1);if(t.length===0){let r=this.newRenderVar("empty");return this.renderLine(null,()=>this.b.emit(`${r} = document.createComment('')`)),r}return this.walkChildStmts(t)}renderChildren(e,t,r=null){let n=this._textOwner;this._textOwner=r;try{this.renderChildrenOf(e,t,r)}finally{this._textOwner=n}}renderChildrenOf(e,t,r){for(let n=0;n0)throw this.positionedError(i,"emitter: a parameterized function is not a render child — element children arrows carry no parameters "+"(an indented `.method (v) -> …` continuation re-reads as a NEW element inside render; put the chain on one "+"line or bind it in a method)",this.rstate.node);let s=i[2];if(g1(s))for(let a=1;athis.b.emit(`${e}.appendChild(${l})`))}}else if(s){if(!this.renderOwnLineWord(e,s,[s],0,r)){let a=this.renderNode(s);if(a!=null)this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${a})`))}}continue}if(O1(i)){this.renderAttributes(e,i);continue}if(typeof i==="string"){let s=i.split(/[#.]/)[0],a=s===i?this.renderVarKind(i,i):null;if(a!==null){let l=this.newRenderText();if(a==="loop-reactive")this.renderLine(null,()=>this.b.emit(`${l} = document.createTextNode('')`)),this.renderEffect(null,()=>{this.b.emit(`${l}.data = `),this.emitPrimitive(i),this.b.emit(";")});else this.renderLine(null,()=>{this.b.emit(`${l} = document.createTextNode(`),this.emitPrimitive(i),this.b.emit(")")});this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${l})`));continue}if(Q1(s||"div")){let l=this.renderNode(i);this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${l})`));continue}if(Ce(s)&&s===i){let l=this.renderChildComponent(i,i,[]);this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${l})`));continue}if(/^[A-Za-z_$][\w$]*$/.test(i)&&this.resolveBareRead(i)===null&&!this.inScope(i)){this.renderBareAttribute(e,i,t,n,r);continue}let o=this.newRenderText();if(i.startsWith('"')||i.startsWith("'")||i.startsWith("`"))this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode(${i})`));else{let l=this.resolveBareRead(i);if(l==="reactive"||l==="member-reactive")this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode('')`)),this.renderEffect(null,()=>{this.b.emit(`${o}.data = `),this.expr(i),this.b.emit(";")});else if(l==="member")this.renderLine(null,()=>{this.b.emit(`${o} = document.createTextNode(String(`),this.expr(i),this.b.emit("))")});else this.renderLine(null,()=>{this.b.emit(`${o} = document.createTextNode(`),this.expr(i),this.b.emit(")")})}this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${o})`));continue}if(i!=null){let s=this.renderNode(i);this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${s})`))}}}renderTagOf(e){return this.rstate.tags?.get(e)??"div"}renderBareAttribute(e,t,r,n,i){let s=this.renderTagOf(e),a=null;if(this.ts&&!ci(s,t)){let c=this.bareChildSpan(r,n,i);if(c!==null)a=c,this.intrinsics.push({start:c[0],end:c[1],kind:"unknown-attr",tag:s,name:t,message:this.unknownAttrMessage(s,t,{bare:!0,svg:this.rstate?.svgEls?.has(e)===!0})})}let o=this.tsElReceiver(e),l=a===null?null:this.stores.idOf(i);this.renderLine(null,()=>{if(o.emit(),this.b.emit(".setAttribute("),l!==null)this.b.markSpan(l,"identifier",a[0],a[1],()=>this.emitQuotedPrimitive(t));else this.emitQuotedPrimitive(t);this.b.emit(", '')")})}renderOwnLineWord(e,t,r,n,i){if(typeof t!=="string"||!/^[A-Za-z_$][\w$]*$/.test(t))return!1;if(Q1(t)||Ce(t))return!1;if(this.renderVarKind(t,t)!==null)return!1;if(this.resolveBareRead(t)!==null||this.inScope(t))return!1;return this.renderBareAttribute(e,t,r,n,i),!0}claimSlot(e){let t=this.rstate,r=e??this.rstate.node;if(t.sink.loopStack.length>0)throw this.positionedError(r,"emitter: `slot` inside a loop row has no working reading — `children` is ONE node, and every row would fight "+"over it; project it once, outside the loop",this.rstate.node);if(t.slotSeen)throw this.positionedError(r,"emitter: a second `slot` in one render — `children` is ONE node, and a second projection point MOVES it "+"",this.rstate.node);t.slotSeen=!0,this.noteVocabulary("render-channel","slot",r)}childrenReadText(){return`${this.renderSelf??"this"}.children${this.memberIsReactive("children")?".value":""}`}emitChildrenRead(e){if(this.b.emit(`${this.renderSelf??"this"}.`),e!==null)this.intrinsics.push({start:e[0],end:e[1],kind:"slot",gen:this.b.offset});if(this.b.emit("children"),this.memberIsReactive("children"))this.b.emit(".value")}renderSlot(e,t){let r=y(e)?e:null;if(t.length>0)throw this.positionedError(r??e,"emitter: `slot` takes no arguments — fallback content has no "+"reading here (render it through a conditional around the slot)",this.rstate.node);this.claimSlot(r);let n=this.newRenderVar("slot"),i=this.ts?this.wordSpanIn("slot",r??this.rstate.node):null;return this.renderLine(r,()=>{let s=this.childrenReadText();this.b.emit(`${n} = `),this.emitChildrenRead(i),this.b.emit(` instanceof Node ? ${s} : (${s} != null ? document.createTextNode(String(${s})) : document.createComment(''))`)}),n}renderChildComponent(e,t,r){let n=this.rstate,i=n.sink,s=y(e)?e:null,a;if(this.renderVarKind(t)!==null)a=()=>this.emitPrimitive(t);else{let O=this.resolveBareRead(t);if(O==="member"||O==="member-reactive")a=()=>{if(this.b.emit(`${this.renderSelf??"this"}.`),this.emitPrimitive(t),O==="member-reactive")this.b.emit(".value")};else if(O==="reactive")a=()=>{this.emitPrimitive(t),this.b.emit(".value")};else if(this.inScope(t)||this.moduleBound!==void 0&&this.moduleBound.has(t))a=()=>this.emitPrimitive(t);else throw this.positionedError(s??e,`emitter: component '${t}' is not defined in this module — a child component must be a module binding, `+"an import, or a component member (an undefined name would degrade to a comment placeholder at mount)",this.rstate.node)}let o=this.newRenderVar("inst"),l=this.newRenderVar("el"),c=n.frame.extendsComponent===t&&i.kind==="class"&&n.frame.inheritedBound!==!0&&this.renderVarKind(t)===null&&this.resolveBareRead(t)===null;if(c)n.frame.inheritedBound=!0;let f=[],h=[],u=[],d=[],p=new Map,m={prop:"an explicit `children:` prop",body:"element body content",slot:"a nested `slot`"},g=null,b=(O,D,H="prop")=>{let z=O.startsWith("__bind_")&&O.endsWith("__")?O.slice(7,-2):O;if(p.has(z)){if(z==="children")throw this.positionedError(D??s??e,`emitter: this child component receives \`children\` TWICE — ${m[g]} beside ${m[H]}; give the children ONE spelling: the element body (indented or inline), the explicit \`children:\` prop, or a nested \`slot\` forwarding the received children`,this.rstate.node);throw this.positionedError(D??s??e,`emitter: duplicate prop '${z}' on a child component — duplicate keys emit one object literal where the `+"last silently wins, and on an extends child the pair leaves two live writers racing over the inherited element; pass one value per prop",this.rstate.node)}if(p.set(z,D??null),z==="children")g=H},S=(O)=>{if(dt(O))throw this.renderSpreadError(O,t);if(!y(O)||O.length!==3)throw this.positionedError(O,"emitter: unsupported attribute form on a child component",s??this.rstate.node);if(n.suppressedPairs.has(O))return;let[,D,H]=O;if(y(D)&&D[0]==="."&&D[1]==="this"&&typeof D[2]==="string"){this.checkBareEventHandler(O,H),this.checkCrossScopeLocals(H,O),u.push({pair:O,event:D[2],value:H});return}if(P(O),typeof D!=="string")throw this.positionedError(O,"emitter: computed prop keys are not supported on a child component",s??this.rstate.node);let z=D.startsWith('"')&&D.endsWith('"')?D.slice(1,-1):D;if(z==="__transition__")throw this.positionedError(O,"emitter: a transition directive has no child-component reading — the enter/leave phases animate ELEMENTS "+"; put it on the branch's first element, inside the child's own render",this.rstate.node);if(z==="ref")throw this.positionedError(O,"emitter: `ref:` captures ELEMENTS — on a child component it has no reading "+"(a dead prop, silently); put the ref on an element inside the child, or emit the instance through an event",this.rstate.node);if(z==="key")throw this.positionedError(O,"emitter: `key:` identifies loop rows — it is read only on the FIRST element of a `for` body inside render; "+"anywhere else it would leak into the DOM as an attribute",this.rstate.node);if(b(z,O),z.startsWith("__bind_")&&z.endsWith("__")){this.checkUserSpelledBind(O),this.noteVocabulary("render-channel",z,O);let e1=z.slice(7,-2),o1=this.childContainerRef(H);if(o1!==null){f.push({pair:O,key:D,fn:o1});return}let f1=(h1,u1)=>this.positionedError(O,`emitter: \`${e1} <=> …\` on a child component shares a reactive CONTAINER, and ${h1} ; ${u1}`,this.rstate.node);if(typeof H==="string"&&this.renderVarKind(H)===null){let h1=this.resolveBareRead(H);if(h1==="member")throw f1(`'${H}' is a plain member`,"declare it with ':=' to share it");if(h1===null&&!this.inScope(H))throw f1(`'${H}' is not declared`,"bind a reactive member or module reactive name")}if(y(H)&&H[0]==="."&&H[1]==="this"&&H.length===3&&typeof H[2]==="string")throw f1(`'@${H[2]}' is not a reactive member`,"declare it with ':=' to share it");if(typeof H!=="string"&&!E.isChainNode(H))throw f1("this expression is never a container","bind a reactive member or module reactive name");this.checkCrossScopeLocals(H,O),f.push({pair:O,key:D,fn:()=>this.renderExpr(H)});return}this.addChildProp(f,h,O,D,z,H)},w=(O,D)=>{throw this.positionedError(O,`emitter: bare '${D}' under a child component is ambiguous — it names an HTML element AND a `+`value in scope, and the value would win silently; render the value with \`= ${D}\`, or give the element content or attributes`,this.rstate.node)},R=(O,D)=>{b(D,null),f.push({pair:null,key:D,span:L(D),fn:()=>this.b.emit("true")})},k=s!==null&&this.stores.idOf(s)!==null?this.stores.selfSpan(this.stores.idOf(s)):null,j=k!==null&&this.b.source!==null?k[0]:null,M=(O)=>{if(j===null||O==null)return;if(y(O)){let D=this.stores.idOf(O),H=D!==null?this.stores.selfSpan(D):null;j=H!==null?Math.max(j,H[1]):null;return}if(typeof O==="string"){let D=this.b.source.indexOf(O,j);j=D>=0&&D+O.length<=k[1]?D+O.length:null;return}j=null},L=(O)=>{if(j===null)return null;let D=new RegExp(`(?k[1])return null;return j=H.index+O.length,[H.index,H.index+O.length]},A=new Map,P=(O)=>{if(!this.tsDirectivesArmed)return;let D=this.tsDirectiveMap.get(O);if(D===void 0)return;this.tsDirectiveMap.delete(O),A.set(O,[...A.get(O)??[],...D])},v=(O)=>{if(!this.tsDirectivesArmed)return;let D=this.tsDirectiveMap.get(O);if(D===void 0)return;let H=O.slice(1).find((z)=>y(z));if(H===void 0||n.suppressedPairs.has(H))return;this.tsDirectiveMap.delete(O),this.tsDirectiveMap.set(H,[...D,...this.tsDirectiveMap.get(H)??[]])},V=[],W=!1,G=(O)=>!y(O)&&!(typeof O==="string"&&((Q1(O.split(/[#.]/)[0])||Ce(O.split(/[#.]/)[0]))&&this.renderVarKind(O)===null&&this.resolveBareRead(O)===null)),T=(O)=>{if(O==null)return;if(dt(O))throw this.renderSpreadError(O,t);let D=typeof O==="string"&&ft.test(O)&&this.renderVarKind(O)===null&&this.resolveBareRead(O)===null;if(D&&(Q1(O)||O==="slot")&&(this.inScope(O)||this.moduleBound.has(O)))w(s??this.rstate.node,O);if(D&&O==="slot"){W=!0,M(O),V.push(O);return}if(D&&!this.inScope(O)&&!this.moduleBound.has(O)){R(s??this.rstate.node,O);return}M(O),V.push(O)};for(let O of r)if(O1(O)){v(O);for(let D of O.slice(1))S(D);M(O)}else if(T1(O)){if(y(O[1])&&O[1].length>0)throw this.positionedError(O,`emitter: a parameterized function is not a render child — the children of '${t}' arrive as a bare block (a callback the component should run is passed as a named prop)`,this.rstate.node);let D=O[2],H=g1(D)?D.slice(1):D!=null?[D]:[];for(let z of H)if(O1(z)){v(z);for(let i1 of z.slice(1))S(i1);M(z)}else T(z)}else T(O);let N=(O)=>{if(!G(O))return this.renderNode(O);this.checkCrossScopeLocals(O,s??this.rstate.node);let D=this.newRenderText();if(this.renderReactive(O))this.renderLine(s,()=>this.b.emit(`${D} = document.createTextNode('')`)),this.renderEffect(s,()=>{this.b.emit(`${D}.data = `),this.renderExpr(O),this.b.emit(";")},O);else this.renderLine(s,()=>{this.b.emit(`${D} = document.createTextNode(`),this.renderExpr(O),this.b.emit(")")});return D},F=null,J=V.filter((O)=>!this.isRenderBinding(O));if(J.length===1&&W){b("children",null,"slot"),this.claimSlot(s);let O=this.ts?this.wordSpanIn("slot",s??this.rstate.node):null;for(let D of V)if(D!=="slot")N(D);f.push({pair:null,key:"children",fn:()=>this.emitChildrenRead(O)})}else if(J.length===1)b("children",null,"body"),F=()=>{let O=null;for(let D of V){let H=N(D);if(H!=null)O=H}return O};else if(J.length>1)b("children",null,"body"),F=()=>{let O=this.newRenderVar("frag");this.renderLine(null,()=>this.b.emit(`${O} = document.createDocumentFragment()`));for(let D of V){let H=N(D);if(H!=null)this.renderLine(null,()=>this.b.emit(`${O}.appendChild(${H})`))}return O};else for(let O of V)N(O);let x=new Set([...i.bindings,...i.locals]);if(i.vars!==null)for(let O of i.vars)x.add(O);if(y(e))E.collectLeafNames(e,x);let Q=E.mintName("__prev",x),U=E.mintName("__kid",x),r1=E.mintName("__childErr",x);if(i.kind!=="class")i.hasKids=!0;let q=(O)=>this.renderLine(s,O,!1),s1=()=>this.renderSelf??"this",I=this.projectionHost;this.threadProjectionHost(I);let c1=()=>I!==null&&I.startsWith("this.")?`${s1()}.${I.slice(5)}`:I;if(q(()=>this.b.emit(I!==null?`{ const ${Q} = ${c1()}._beginProjection(${s1()}); try {`:`{ const ${Q} = ${this.runtimeName("__pushComponent")}(${s1()}); try {`)),q(()=>this.b.emit("try {")),q(()=>{if(this.b.emit(`${o} = new `),a(),this.b.emit("("),f.length===0)this.b.emit(c?`{ ...${s1()}._rest }`:"{}");else{let O=A.size>0,D=this.replayPad+" ";if(this.b.emit(O?"{":"{ "),c)this.b.emit(O?` -${D}...${s1()}._rest,`:`...${s1()}._rest, `);f.forEach((H,z)=>{if(O){if(z>0)this.b.emit(",");this.b.emit(` -`);let e1=H.pair!==null?A.get(H.pair):void 0;if(this.ts&&e1!==void 0)for(let o1 of e1)this.tsDirectiveLine(o1,D,!0);this.b.emit(D)}else if(z>0)this.b.emit(", ");let i1=()=>{let e1=(f1)=>{let h1=this.b.offset,u1=f1();if(this.ts)this.attrNames.push([h1,this.b.offset]);if("routeKey"in H)H.routeKey=[h1,this.b.offset];if(this.ts&&u1!=null){let b1=H.pair!==null?this.stores.idOf(H.pair):null,l1=b1!==null?this.stores.selfSpan(b1):null,d1=[u1[0],u1[1]];this.renderPairs.push({key:d1,pair:l1??d1,sites:[[h1,this.b.offset]]})}},o1=y(s)?this.stores.idOf(s):null;if(this.ts&&H.span!=null&&o1!==null){e1(()=>(this.b.markSpan(o1,"shorthandProp",H.span[0],H.span[1],()=>this.b.emit(H.key)),[H.span[0],H.span[1]])),this.b.emit(": "),H.fn();return}if(H.key.startsWith("__bind_")&&H.key.endsWith("__"))e1(()=>{let f1=this.b.offset;this.b.emit("__bind_");let h1=this.emitRewrittenPrimitive(H.key,H.key.slice(7,-2));if(this.ts&&h1!==null)this.intrinsics.push({start:h1[0],end:h1[1],kind:"bind",name:H.key.slice(7,-2),gen:f1});return this.b.emit("__"),h1});else e1(()=>this.emitPrimitive(H.key));this.b.emit(": "),H.fn()};if(H.pair!==null&&this.stores.idOf(H.pair)!==null)this.mark(H.pair,"$self",i1);else i1()}),this.b.emit(O?` -${this.replayPad}}`:" }")}this.b.emit(");")}),q(()=>this.b.emit(`if (${o} && ${o}._initFailed) {`)),q(()=>this.b.emit(` ${o} = null;`)),q(()=>this.b.emit(` ${l} = document.createComment('rip:child-init-failed: ${t}');`)),F!==null){q(()=>this.b.emit("} else {")),q(()=>this.b.emit(`{ const ${U} = ${o}._beginProjection(${s1()}); try {`));let O=this.projectionHost;this.projectionHost=o;let D;try{D=F()}finally{this.projectionHost=O}q(()=>this.b.emit(`} finally { ${o}._endProjection(${U}); } }`)),q(()=>this.b.emit(`${o}._setChildren(${D});`))}if(q(()=>{this.b.emit(F!==null?"if (":"} else if (");let O=()=>this.b.emit(`${o}._mountCreate()`);if(s!==null)this.mark(s,"$self",O);else O();this.b.emit(") {")}),q(()=>this.b.emit(` ${l} = ${o}._root;`)),c){let O=[...p.keys()].filter((D)=>D!=="children").map((D)=>JSON.stringify(D)).join(", ");q(()=>this.b.emit(` ${s1()}._inheritedInst = ${o};`)),q(()=>this.b.emit(` ${s1()}._inheritedOwn = new Set([${O}]);`))}if(i.kind==="class")q(()=>this.b.emit(` (this._children || (this._children = [])).push(${o});`));else q(()=>this.b.emit(` ${i.kidsVar}.push(${o});`));if(q(()=>this.b.emit("} else {")),q(()=>this.b.emit(` ${o} = null;`)),q(()=>this.b.emit(` ${l} = document.createComment('rip:child-error: ${t}');`)),q(()=>this.b.emit("}")),F!==null)q(()=>this.b.emit("}"));q(()=>this.b.emit(`} catch (${r1}) {`)),q(()=>this.b.emit(` ${this.runtimeName("__reportChildFailure")}('${t}', ${r1});`)),q(()=>this.b.emit(` ${o} = null;`)),q(()=>this.b.emit(` ${l} = document.createComment('rip:child-error: ${t}');`)),q(()=>this.b.emit("}")),q(()=>this.b.emit(I!==null?`} finally { ${c1()}._endProjection(${Q}); } }`:`} finally { ${this.runtimeName("__popComponent")}(${Q}); } }`));for(let{pair:O,event:D,value:H}of u){if(this.ts){let e1=y(O)&&y(O[1])?O[1]:null,o1=e1!==null?this.stores.idOf(e1)??null:null,f1=o1!==null?this.stores.selfSpan(o1):null;if(f1!==null)this.intrinsics.push({start:f1[0],end:f1[1],kind:"event",name:D,type:this.tsEventTypeText([D])!==null?`HTMLElementEventMap['${D}']`:null,child:t})}let z=new Set;E.collectLeafNames(H,z);let i1=E.mintName("e",z);this.renderLine(O,()=>{let e1=`(${o}._nodes?.[0] ?? ${l})`;if(!this.ts)this.b.emit(`if (${o}) ${e1}.addEventListener('${D}', (${i1}`);else this.b.emit(`if (${o}) ${e1}.addEventListener(`),this.emitQuotedPrimitive(D),this.b.emit(`, (${i1}`);this.tsScaffoldAny(),this.b.emit(`) => ${this.runtimeName("__batch")}(() => (`),this.tsHandlerCast(()=>this.withExpression(()=>this.expr(H))),this.b.emit(`)(${i1})))`)})}i.setups.push({kind:"raw",fn:(O)=>{this.b.emit(O);let D=()=>{this.b.emit(`if (${o} && ${o}._state === 'mounting') { +`)}else{if(r.node!=null)this.renderDirectives(r.node,t);r.fn(t)}}renderLine(e,t,r=!0){this.rstate.sink.creates.push({node:e,fn:t,semi:r})}newRenderVar(e="el"){let t=this.rstate.elCount++,r=this.rstate.sink;if(r.kind==="class")return`this._${e}${t}`;let n=`_${e}${t}`;return r.vars.add(n),n}newRenderText(){let e=this.rstate.textCount++,t=this.rstate.sink;if(t.kind==="class")return`this._t${e}`;let r=`_t${e}`;return t.vars.add(r),r}newBlockName(){let e;do e=`create_block_${this.rstate.blockCount++}`;while(this.rstate.frame.members.has(e)||this.rstate.frame.members.has(`${e}_iter`));return e}renderEffect(e,t,r){if(r!==void 0)this.checkSetupLocalRefs(r,e);let n=e==null?this._textOwner:null,i=n!=null?this.stores.idOf(n):null,s=i!=null?[this.stores.node(i).sourceStart,this.stores.node(i).sourceEnd]:null;this.rstate.sink.setups.push({kind:"effect",node:e,fn:t,within:s})}checkSetupLocalRefs(e,t){let r=this.rstate.sink;if(r.kind!=="class"||r.locals.size===0)return;if(Re(e,r.locals))throw this.positionedError(t??e,"emitter: a render local cannot appear in a LIVE binding or a dynamic block head at the render top level — "+"locals live in _create() and reactive machinery lives in _setup() (a compiled read here would be a mount-time ReferenceError); bind the value to a member instead",y(e)?e:this.rstate.node)}renderExpr(e){let t=null;return this.withExpression(()=>{let r=E.needsGrouping(e,"operand");if(r)this.b.emit("(");let n=this.b.offset;if(this.expr(e),t=[n,this.b.offset],r)this.b.emit(")")}),t}renderVarKind(e,t){let r=this.rstate;if(!r)return null;if(r.sink.locals.has(e))return"local";for(let n=r.sink.loopStack.length-1;n>=0;n--){let i=r.sink.loopStack[n];if(i.itemVar===e||i.indexVar===e)return i.reactiveSource?"loop-reactive":"loop"}if(t!==void 0){for(let n=r.sink.parent;n;n=n.parent)if(n.locals.has(e))throw this.positionedError(t,`emitter: render local '${e}' is not visible here — each dynamic block (a conditional branch, a loop body) `+"is its own factory function, and render locals never cross that boundary; declare the local inside this block, or use a member",this.rstate.node)}return null}renderReactive(e){if(typeof e==="string"){let i=this.renderVarKind(e);if(i!==null)return i==="loop-reactive";let s=this.resolveBareRead(e);return s==="reactive"||s==="member-reactive"}if(!y(e))return!1;if(e[0]==="."&&e[1]==="this"&&e.length===3&&typeof e[2]==="string")return this.memberIsReactive(e[2]);let t=(i)=>{if(typeof i!=="string"||i==="this"||this.renderVarKind(i)!==null)return!1;let s=this.resolveBareRead(i);return s==="member"||s===null&&(this.inScope(i)||this.moduleBound!==void 0&&this.moduleBound.has(i))},r=(i)=>{while(y(i)&&(i[0]==="."||i[0]==="[]")&&i.length===3)i=i[1];return i==="this"||t(i)},n=(i)=>{while(y(i)&&(i[0]==="."||i[0]==="[]"||i[0]==="?."||i[0]==="optindex")&&i.length===3)i=i[1];return typeof i==="string"&&this.renderVarKind(i)==="loop-reactive"};if(e[0]==="."&&e.length===3&&r(e[1]))return!0;if((e[0]==="."||e[0]==="[]")&&e.length===3&&n(e))return!0;if(y(e[0])&&e[0][0]==="."&&e[0][1]==="this"&&typeof e[0][2]==="string"&&this.cframes.length>0&&this.cframes[this.cframes.length-1].members.has(e[0][2]))return!0;return e.some((i)=>this.renderReactive(i))}isRenderBinding(e){return y(e)&&sa.has(e[0])&&e.length===3&&typeof e[1]==="string"&&ft.test(e[1])}renderSpreadError(e,t=null){return this.positionedError(e,t!==null?"emitter: a spread has no reading on a child component — pass each prop as a named pair; to forward the "+`caller's undeclared props onto '${t}', declare the wrapper \`component extends ${t}\` and construct it in the render`:"emitter: a spread has no render reading — an element takes named attribute pairs, and `= expr` renders ONE value",this.rstate.node)}renderNode(e){if(this.isRenderBinding(e))return this.renderBinding(e);if(dt(e))throw this.renderSpreadError(e);if(y(e)&<(e[0])&&e.length===3)throw this.positionedError(e,"emitter: an assignment at a render child position must declare a render local (`name = expr` / compound forms "+"on a plain name) — member and chain writes have no render reading here; put the write in a handler or method");if(typeof e==="string"){if(e.startsWith('"')||e.startsWith("'")||e.startsWith("`")){let o=this.newRenderText();return this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode(${e})`)),o}let n=this.renderVarKind(e,e);if(n!==null){let o=this.newRenderText();if(n==="loop-reactive")this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode('')`)),this.renderEffect(null,()=>this.b.emit(`${o}.data = ${e};`));else this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode(String(${e}))`));return o}let i=this.resolveBareRead(e);if(i==="reactive"||i==="member-reactive"){let o=this.newRenderText();return this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode('')`)),this.renderEffect(null,()=>{this.b.emit(`${o}.data = `),this.expr(e),this.b.emit(";")}),o}if(e==="slot")return this.renderSlot(e,[]);if(Ce(e))return this.renderChildComponent(e,e,[]);if(i==="member"){let o=this.newRenderText();return this.renderLine(null,()=>{this.b.emit(`${o} = document.createTextNode(String(`),this.expr(e),this.b.emit("))")}),o}let[s,a]=e.split("#");return this.renderTag(e,s||"div",[],[],a)}if(!y(e))throw this.positionedError(e,"emitter: unsupported render child");let t=e[0],r=typeof t==="string"?t:null;if(r==="if"&&e.length>=3)return this.renderCond(e);if(r==="switch"&&e.length===4)return this.renderSwitch(e);if(r==="for-in"&&e.length===6)return this.renderLoop(e);if(r==="for-of"&&e.length===6)throw this.positionedError(e,"emitter: `for … of` (object iteration) has no reconcile reading inside render — "+"__reconcile expects an array and crashes at mount; iterate entries instead: `for pair in Object.entries(obj)`");if(r==="for-as"&&e.length===6)throw this.positionedError(e,"emitter: an async loop has no render reading — reconciliation is synchronous; collect the items into a state "+"member and loop over it");if(r==="comprehension"||r==="while"||r==="loop")throw this.positionedError(e,"emitter: only `for … in` drives list rendering — while/loop/comprehensions have no reconcile reading inside "+"render");if(this.isEffectDecl(e)||this.isReactiveDecl(e)||this.isReadonlyDecl(e))throw this.positionedError(e,"emitter: declarations and effects have no render-body reading — declare members in the component body, above render");if(r==="slot")return this.renderSlot(e,e.slice(1));if(r!==null&&Ce(r))return this.renderChildComponent(e,r,e.slice(1));if(r==="."&&e[1]==="this"&&typeof e[2]==="string")throw this.positionedError(e,`emitter: bare \`@${e[2]}\` is not rendered as text — use \`= @${e[2]}\` to render it`);if(r==="."){let{tag:n,classes:i,id:s}=E.collectTemplateClasses(e);if(n!==null&&Q1(n)&&this.renderVarKind(n)===null)return this.renderTag(e,n,i,[],s);return this.renderTextExpr(e)}if(r==="__text__"){if(e.length>2)throw this.positionedError(e,"emitter: the `= expr` text form takes ONE expression — an indented continuation under the `=` line has no "+"render reading (inside render a leading `.` starts a NEW element, so the continuation cannot be a method chain; put the whole expression on the `=` line, or bind it in a method)",this.rstate.node);if(dt(e[1]))throw this.renderSpreadError(e[1]);return this.renderTextExpr(e[1]??"undefined",e,!0)}if(r!==null&&Q1(r.split("#")[0])&&e.length>=1&&this.renderVarKind(r)===null){let[n,i]=r.split("#");return this.renderTag(e,n||"div",[],e.slice(1),i)}if(y(t)){if(y(t[0])&&t[0][0]==="."&&t[0][2]==="__clsx"){let a=t[0][1],o=t.slice(1);if(y(a)){let{tag:l,classes:c,id:f}=E.collectTemplateClasses(a);if(l!==null&&Q1(l))return this.renderDynamicTag(e,l,o,e.slice(1),c,f)}else if(typeof a==="string"&&Q1(a.split("#")[0])){let[l,c]=a.split("#");return this.renderDynamicTag(e,l||"div",o,e.slice(1),[],c)}}let{tag:n,classes:i,id:s}=E.collectTemplateClasses(t);if(n!==null&&Q1(n)&&this.renderVarKind(n)===null){if(i.length>0&&i[i.length-1]==="__clsx")return this.renderDynamicTag(e,n,e.slice(1),[],i.slice(0,-1),s);return this.renderTag(e,n,i,e.slice(1),s)}}if(r==="->"||r==="=>")return this.renderChildBlock(e[2]);return this.renderTextExpr(e)}renderTextExpr(e,t=null,r=!1){let n=this.newRenderText(),i=t??(y(e)?e:null);this.checkCrossScopeLocals(e,i??this.rstate.node);let s=(a)=>{if(r&&t!==null)this.mark(t,"args",a);else a()};if(this.renderReactive(e))this.renderLine(i,()=>this.b.emit(`${n} = document.createTextNode('')`)),this.renderEffect(i,()=>{if(this.b.emit(`${n}.data = `),r)this.b.emit("String("),s(()=>this.renderExpr(e)),this.b.emit(")");else this.renderExpr(e);this.b.emit(";")},e);else this.renderLine(i,()=>{this.b.emit(`${n} = document.createTextNode(String(`),s(()=>this.withExpression(()=>this.expr(e))),this.b.emit("))")});return n}bindInheritedTarget(e,t,r,n){let i=this.rstate;if(i.frame.extendsTag!==t||i.sink.kind!=="class"||i.frame.inheritedBound===!0)return;if(i.frame.inheritedBound=!0,this.renderLine(e,()=>this.b.emit(`this._inheritedEl = ${r}`)),n.length>0)this.renderLine(e,()=>this.b.emit(`this._inheritedOwn = new Set([${n.map((s)=>JSON.stringify(s)).join(", ")}])`));this.renderLine(e,()=>this.b.emit("this._applyRestToInheritedEl()"))}elementOwnKeys(e,t,r){let n=new Set;if(r)n.add("id");if(e)n.add("class");let i=(s)=>{for(let a of s.slice(1)){if(!y(a)||a.length!==3||typeof a[1]!=="string")continue;let o=a[1];n.add(o.startsWith('"')&&o.endsWith('"')?o.slice(1,-1):o)}};for(let s of t)if(O1(s))i(s);else if(T1(s)&&g1(s[2])){for(let a of s[2].slice(1))if(O1(a))i(a)}for(let s of["ref","key"])n.delete(s);for(let s of[...n])if(s.startsWith("__"))n.delete(s);if(n.has("class")||n.has("className"))n.add("class"),n.add("className");return[...n]}renderElementPrologue(e,t){let r=this.rstate,n=this.newRenderVar();if(r.tags.set(n,t),r.transitionSlot!==null&&r.transitionSlot.record===r.sink&&r.transitionSlot.el===null)r.transitionSlot.el=n;let i=r.svgDepth>0||oi.has(t);if(i)r.svgEls.add(n);return this.renderLine(e,()=>{if(i)this.b.emit(`${n} = document.createElementNS('${E.SVG_NS}', `);else this.b.emit(`${n} = document.createElement(`);let s=this.emitQuotedPrimitive(t);if(s!==null&&ot(t,i))this.intrinsics.push({start:s[0],end:s[1],kind:"tag",tag:t,svg:i});this.b.emit(")")}),{el:n,isSvg:i}}renderElementBasics(e,t,r,n,i){let s=this.rstate;if(n)this.renderLine(e,()=>this.b.emit(`${r}.id = '${n}'`));if(this.bindInheritedTarget(e,t,r,i),s.frame.name!==null&&s.elCount===1&&s.sink.kind==="class")this.renderLine(e,()=>this.b.emit(`${r}.setAttribute('data-part', '${s.frame.name}')`))}renderTag(e,t,r,n,i){this.noteShorthandClasses(r,e);let s=this.rstate,{el:a,isSvg:o}=this.renderElementPrologue(e,t);this.renderElementBasics(e,t,a,i,this.elementOwnKeys(r.length>0,n,i));let{pendingClassArgs:l,pendingClassEl:c,pendingClassKeys:f}=s;if(r.length>0)s.pendingClassArgs=[`'${r.join(" ")}'`],s.pendingClassEl=a,s.pendingClassKeys=null;if(o)s.svgDepth++;if(this.renderChildren(a,n,e),o)s.svgDepth--;if(r.length>0){if(s.pendingClassArgs.length===1)this.renderLine(e,()=>this.b.emit(o?`${a}.setAttribute('class', '${r.join(" ")}')`:`${a}.className = '${r.join(" ")}'`));else{let h=s.pendingClassArgs.slice(1),u=s.pendingClassKeys??[],d=this.tsElReceiver(a);this.renderEffect(e,()=>{let p=this.runtimeName("__clsx");if(o){d.emit();let m=this.b.offset+1;this.b.emit(`.setAttribute('class', ${p}('${r.join(" ")}', `);for(let g of u)this.intrinsics.push({start:g[0],end:g[1],kind:"attr",name:"class",gen:m})}else{d.emit(),this.b.emit(".");let m=this.b.offset;this.b.emit(`className = ${p}('${r.join(" ")}', `);for(let g of u)this.intrinsics.push({start:g[0],end:g[1],kind:"classkey",gen:m})}h.forEach((m,g)=>{if(g>0)this.b.emit(", ");m()}),this.b.emit(o?"));":");")})}s.pendingClassKeys=f,s.pendingClassArgs=l,s.pendingClassEl=c}return a}renderDynamicTag(e,t,r,n,i,s){this.noteShorthandClasses(i,e);let a=this.rstate,{el:o,isSvg:l}=this.renderElementPrologue(e,t);this.renderElementBasics(e,t,o,s,this.elementOwnKeys(!0,n,s));for(let p of r)this.checkCrossScopeLocals(p,e);let{pendingClassArgs:c,pendingClassEl:f,pendingClassKeys:h}=a;if(a.pendingClassArgs=[...i.map((p)=>`'${p}'`),...r.map((p)=>()=>this.renderExpr(p))],a.pendingClassEl=o,a.pendingClassKeys=null,l)a.svgDepth++;if(this.renderChildren(o,n,e),l)a.svgDepth--;let u=a.pendingClassArgs,d=a.pendingClassKeys??[];if(u.length>0)this.renderEffect(e,()=>{let p=this.runtimeName("__clsx");this.b.emit(`${o}`);let m=this.b.offset+1;this.b.emit(l?`.setAttribute('class', ${p}(`:`.className = ${p}(`);for(let g of d)this.intrinsics.push(l?{start:g[0],end:g[1],kind:"attr",name:"class",gen:m}:{start:g[0],end:g[1],kind:"classkey",gen:m});u.forEach((g,b)=>{if(b>0)this.b.emit(", ");if(typeof g==="string")this.b.emit(g);else g()}),this.b.emit(l?"));":");")});return a.pendingClassKeys=h,a.pendingClassArgs=c,a.pendingClassEl=f,o}renderChildBlock(e){if(!g1(e)){let r=this.renderNode(e);if(r!=null)return r;let n=this.newRenderVar("empty");return this.renderLine(null,()=>this.b.emit(`${n} = document.createComment('')`)),n}let t=e.slice(1);if(t.length===0){let r=this.newRenderVar("empty");return this.renderLine(null,()=>this.b.emit(`${r} = document.createComment('')`)),r}return this.walkChildStmts(t)}renderChildren(e,t,r=null){let n=this._textOwner;this._textOwner=r;try{this.renderChildrenOf(e,t,r)}finally{this._textOwner=n}}renderChildrenOf(e,t,r){for(let n=0;n0)throw this.positionedError(i,"emitter: a parameterized function is not a render child — element children arrows carry no parameters "+"(an indented `.method (v) -> …` continuation re-reads as a NEW element inside render; put the chain on one "+"line or bind it in a method)",this.rstate.node);let s=i[2];if(g1(s))for(let a=1;athis.b.emit(`${e}.appendChild(${l})`))}}else if(s){if(!this.renderOwnLineWord(e,s,[s],0,r)){let a=this.renderNode(s);if(a!=null)this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${a})`))}}continue}if(O1(i)){this.renderAttributes(e,i);continue}if(typeof i==="string"){let s=i.split(/[#.]/)[0],a=s===i?this.renderVarKind(i,i):null;if(a!==null){let l=this.newRenderText();if(a==="loop-reactive")this.renderLine(null,()=>this.b.emit(`${l} = document.createTextNode('')`)),this.renderEffect(null,()=>{this.b.emit(`${l}.data = `),this.emitPrimitive(i),this.b.emit(";")});else this.renderLine(null,()=>{this.b.emit(`${l} = document.createTextNode(`),this.emitPrimitive(i),this.b.emit(")")});this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${l})`));continue}if(Q1(s||"div")){let l=this.renderNode(i);this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${l})`));continue}if(Ce(s)&&s===i){let l=this.renderChildComponent(i,i,[]);this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${l})`));continue}if(/^[A-Za-z_$][\w$]*$/.test(i)&&this.resolveBareRead(i)===null&&!this.inScope(i)){this.renderBareAttribute(e,i,t,n,r);continue}let o=this.newRenderText();if(i.startsWith('"')||i.startsWith("'")||i.startsWith("`"))this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode(${i})`));else{let l=this.resolveBareRead(i);if(l==="reactive"||l==="member-reactive")this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode('')`)),this.renderEffect(null,()=>{this.b.emit(`${o}.data = `),this.expr(i),this.b.emit(";")});else if(l==="member")this.renderLine(null,()=>{this.b.emit(`${o} = document.createTextNode(String(`),this.expr(i),this.b.emit("))")});else this.renderLine(null,()=>{this.b.emit(`${o} = document.createTextNode(`),this.expr(i),this.b.emit(")")})}this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${o})`));continue}if(i!=null){let s=this.renderNode(i);this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${s})`))}}}renderTagOf(e){return this.rstate.tags?.get(e)??"div"}renderBareAttribute(e,t,r,n,i){let s=this.renderTagOf(e),a=null;if(this.ts&&!ci(s,t)){let c=this.bareChildSpan(r,n,i);if(c!==null)a=c,this.intrinsics.push({start:c[0],end:c[1],kind:"unknown-attr",tag:s,name:t,message:this.unknownAttrMessage(s,t,{bare:!0,svg:this.rstate?.svgEls?.has(e)===!0})})}let o=this.tsElReceiver(e),l=a===null?null:this.stores.idOf(i);this.renderLine(null,()=>{if(o.emit(),this.b.emit(".setAttribute("),l!==null)this.b.markSpan(l,"identifier",a[0],a[1],()=>this.emitQuotedPrimitive(t));else this.emitQuotedPrimitive(t);this.b.emit(", '')")})}renderOwnLineWord(e,t,r,n,i){if(typeof t!=="string"||!/^[A-Za-z_$][\w$]*$/.test(t))return!1;if(Q1(t)||Ce(t))return!1;if(this.renderVarKind(t,t)!==null)return!1;if(this.resolveBareRead(t)!==null||this.inScope(t))return!1;return this.renderBareAttribute(e,t,r,n,i),!0}claimSlot(e){let t=this.rstate,r=e??this.rstate.node;if(t.sink.loopStack.length>0)throw this.positionedError(r,"emitter: `slot` inside a loop row has no working reading — `children` is ONE node, and every row would fight "+"over it; project it once, outside the loop",this.rstate.node);if(t.slotSeen)throw this.positionedError(r,"emitter: a second `slot` in one render — `children` is ONE node, and a second projection point MOVES it "+"",this.rstate.node);t.slotSeen=!0,this.noteVocabulary("render-channel","slot",r)}childrenReadText(){return`${this.renderSelf??"this"}.children${this.memberIsReactive("children")?".value":""}`}emitChildrenRead(e){if(this.b.emit(`${this.renderSelf??"this"}.`),e!==null)this.intrinsics.push({start:e[0],end:e[1],kind:"slot",gen:this.b.offset});if(this.b.emit("children"),this.memberIsReactive("children"))this.b.emit(".value")}renderSlot(e,t){let r=y(e)?e:null;if(t.length>0)throw this.positionedError(r??e,"emitter: `slot` takes no arguments — fallback content has no "+"reading here (render it through a conditional around the slot)",this.rstate.node);this.claimSlot(r);let n=this.newRenderVar("slot"),i=this.ts?this.wordSpanIn("slot",r??this.rstate.node):null;return this.renderLine(r,()=>{let s=this.childrenReadText();this.b.emit(`${n} = `),this.emitChildrenRead(i),this.b.emit(` instanceof Node ? ${s} : (${s} != null ? document.createTextNode(String(${s})) : document.createComment(''))`)}),n}renderChildComponent(e,t,r){let n=this.rstate,i=n.sink,s=y(e)?e:null,a;if(this.renderVarKind(t)!==null)a=()=>this.emitPrimitive(t);else{let O=this.resolveBareRead(t);if(O==="member"||O==="member-reactive")a=()=>{if(this.b.emit(`${this.renderSelf??"this"}.`),this.emitPrimitive(t),O==="member-reactive")this.b.emit(".value")};else if(O==="reactive")a=()=>{this.emitPrimitive(t),this.b.emit(".value")};else if(this.inScope(t)||this.moduleBound!==void 0&&this.moduleBound.has(t))a=()=>this.emitPrimitive(t);else throw this.positionedError(s??e,`emitter: component '${t}' is not defined in this module — a child component must be a module binding, `+"an import, or a component member (an undefined name would degrade to a comment placeholder at mount)",this.rstate.node)}let o=this.newRenderVar("inst"),l=this.newRenderVar("el"),c=n.frame.extendsComponent===t&&i.kind==="class"&&n.frame.inheritedBound!==!0&&this.renderVarKind(t)===null&&this.resolveBareRead(t)===null;if(c)n.frame.inheritedBound=!0;let f=[],h=[],u=[],d=[],p=new Map,m={prop:"an explicit `children:` prop",body:"element body content",slot:"a nested `slot`"},g=null,b=(O,D,W="prop")=>{let Y=O.startsWith("__bind_")&&O.endsWith("__")?O.slice(7,-2):O;if(p.has(Y)){if(Y==="children")throw this.positionedError(D??s??e,`emitter: this child component receives \`children\` TWICE — ${m[g]} beside ${m[W]}; give the children ONE spelling: the element body (indented or inline), the explicit \`children:\` prop, or a nested \`slot\` forwarding the received children`,this.rstate.node);throw this.positionedError(D??s??e,`emitter: duplicate prop '${Y}' on a child component — duplicate keys emit one object literal where the `+"last silently wins, and on an extends child the pair leaves two live writers racing over the inherited element; pass one value per prop",this.rstate.node)}if(p.set(Y,D??null),Y==="children")g=W},S=(O)=>{if(dt(O))throw this.renderSpreadError(O,t);if(!y(O)||O.length!==3)throw this.positionedError(O,"emitter: unsupported attribute form on a child component",s??this.rstate.node);if(n.suppressedPairs.has(O))return;let[,D,W]=O;if(y(D)&&D[0]==="."&&D[1]==="this"&&typeof D[2]==="string"){this.checkBareEventHandler(O,W),this.checkCrossScopeLocals(W,O),u.push({pair:O,event:D[2],value:W});return}if(P(O),typeof D!=="string")throw this.positionedError(O,"emitter: computed prop keys are not supported on a child component",s??this.rstate.node);let Y=D.startsWith('"')&&D.endsWith('"')?D.slice(1,-1):D;if(Y==="__transition__")throw this.positionedError(O,"emitter: a transition directive has no child-component reading — the enter/leave phases animate ELEMENTS "+"; put it on the branch's first element, inside the child's own render",this.rstate.node);if(Y==="ref")throw this.positionedError(O,"emitter: `ref:` captures ELEMENTS — on a child component it has no reading "+"(a dead prop, silently); put the ref on an element inside the child, or emit the instance through an event",this.rstate.node);if(Y==="key")throw this.positionedError(O,"emitter: `key:` identifies loop rows — it is read only on the FIRST element of a `for` body inside render; "+"anywhere else it would leak into the DOM as an attribute",this.rstate.node);if(b(Y,O),Y.startsWith("__bind_")&&Y.endsWith("__")){this.checkUserSpelledBind(O),this.noteVocabulary("render-channel",Y,O);let Q=Y.slice(7,-2),o1=this.childContainerRef(W);if(o1!==null){f.push({pair:O,key:D,fn:o1});return}let f1=(h1,u1)=>this.positionedError(O,`emitter: \`${Q} <=> …\` on a child component shares a reactive CONTAINER, and ${h1} ; ${u1}`,this.rstate.node);if(typeof W==="string"&&this.renderVarKind(W)===null){let h1=this.resolveBareRead(W);if(h1==="member")throw f1(`'${W}' is a plain member`,"declare it with ':=' to share it");if(h1===null&&!this.inScope(W))throw f1(`'${W}' is not declared`,"bind a reactive member or module reactive name")}if(y(W)&&W[0]==="."&&W[1]==="this"&&W.length===3&&typeof W[2]==="string")throw f1(`'@${W[2]}' is not a reactive member`,"declare it with ':=' to share it");if(typeof W!=="string"&&!E.isChainNode(W))throw f1("this expression is never a container","bind a reactive member or module reactive name");this.checkCrossScopeLocals(W,O),f.push({pair:O,key:D,fn:()=>this.renderExpr(W)});return}this.addChildProp(f,h,O,D,Y,W)},w=(O,D)=>{throw this.positionedError(O,`emitter: bare '${D}' under a child component is ambiguous — it names an HTML element AND a `+`value in scope, and the value would win silently; render the value with \`= ${D}\`, or give the element content or attributes`,this.rstate.node)},R=(O,D)=>{b(D,null),f.push({pair:null,key:D,span:L(D),fn:()=>this.b.emit("true")})},k=s!==null&&this.stores.idOf(s)!==null?this.stores.selfSpan(this.stores.idOf(s)):null,j=k!==null&&this.b.source!==null?k[0]:null,M=(O)=>{if(j===null||O==null)return;if(y(O)){let D=this.stores.idOf(O),W=D!==null?this.stores.selfSpan(D):null;j=W!==null?Math.max(j,W[1]):null;return}if(typeof O==="string"){let D=this.b.source.indexOf(O,j);j=D>=0&&D+O.length<=k[1]?D+O.length:null;return}j=null},L=(O)=>{if(j===null)return null;let D=new RegExp(`(?k[1])return null;return j=W.index+O.length,[W.index,W.index+O.length]},A=new Map,P=(O)=>{if(!this.tsDirectivesArmed)return;let D=this.tsDirectiveMap.get(O);if(D===void 0)return;this.tsDirectiveMap.delete(O),A.set(O,[...A.get(O)??[],...D])},v=(O)=>{if(!this.tsDirectivesArmed)return;let D=this.tsDirectiveMap.get(O);if(D===void 0)return;let W=O.slice(1).find((Y)=>y(Y));if(W===void 0||n.suppressedPairs.has(W))return;this.tsDirectiveMap.delete(O),this.tsDirectiveMap.set(W,[...D,...this.tsDirectiveMap.get(W)??[]])},V=[],H=!1,G=(O)=>!y(O)&&!(typeof O==="string"&&((Q1(O.split(/[#.]/)[0])||Ce(O.split(/[#.]/)[0]))&&this.renderVarKind(O)===null&&this.resolveBareRead(O)===null)),T=(O)=>{if(O==null)return;if(dt(O))throw this.renderSpreadError(O,t);let D=typeof O==="string"&&ft.test(O)&&this.renderVarKind(O)===null&&this.resolveBareRead(O)===null;if(D&&(Q1(O)||O==="slot")&&(this.inScope(O)||this.moduleBound.has(O)))w(s??this.rstate.node,O);if(D&&O==="slot"){H=!0,M(O),V.push(O);return}if(D&&!this.inScope(O)&&!this.moduleBound.has(O)){R(s??this.rstate.node,O);return}M(O),V.push(O)};for(let O of r)if(O1(O)){v(O);for(let D of O.slice(1))S(D);M(O)}else if(T1(O)){if(y(O[1])&&O[1].length>0)throw this.positionedError(O,`emitter: a parameterized function is not a render child — the children of '${t}' arrive as a bare block (a callback the component should run is passed as a named prop)`,this.rstate.node);let D=O[2],W=g1(D)?D.slice(1):D!=null?[D]:[];for(let Y of W)if(O1(Y)){v(Y);for(let r1 of Y.slice(1))S(r1);M(Y)}else T(Y)}else T(O);let N=(O)=>{if(!G(O))return this.renderNode(O);this.checkCrossScopeLocals(O,s??this.rstate.node);let D=this.newRenderText();if(this.renderReactive(O))this.renderLine(s,()=>this.b.emit(`${D} = document.createTextNode('')`)),this.renderEffect(s,()=>{this.b.emit(`${D}.data = `),this.renderExpr(O),this.b.emit(";")},O);else this.renderLine(s,()=>{this.b.emit(`${D} = document.createTextNode(`),this.renderExpr(O),this.b.emit(")")});return D},F=null,J=V.filter((O)=>!this.isRenderBinding(O));if(J.length===1&&H){b("children",null,"slot"),this.claimSlot(s);let O=this.ts?this.wordSpanIn("slot",s??this.rstate.node):null;for(let D of V)if(D!=="slot")N(D);f.push({pair:null,key:"children",fn:()=>this.emitChildrenRead(O)})}else if(J.length===1)b("children",null,"body"),F=()=>{let O=null;for(let D of V){let W=N(D);if(W!=null)O=W}return O};else if(J.length>1)b("children",null,"body"),F=()=>{let O=this.newRenderVar("frag");this.renderLine(null,()=>this.b.emit(`${O} = document.createDocumentFragment()`));for(let D of V){let W=N(D);if(W!=null)this.renderLine(null,()=>this.b.emit(`${O}.appendChild(${W})`))}return O};else for(let O of V)N(O);let x=new Set([...i.bindings,...i.locals]);if(i.vars!==null)for(let O of i.vars)x.add(O);if(y(e))E.collectLeafNames(e,x);let e1=E.mintName("__prev",x),U=E.mintName("__kid",x),i1=E.mintName("__childErr",x);if(i.kind!=="class")i.hasKids=!0;let q=(O)=>this.renderLine(s,O,!1),s1=()=>this.renderSelf??"this",I=this.projectionHost;this.threadProjectionHost(I);let c1=()=>I!==null&&I.startsWith("this.")?`${s1()}.${I.slice(5)}`:I;if(q(()=>this.b.emit(I!==null?`{ const ${e1} = ${c1()}._beginProjection(${s1()}); try {`:`{ const ${e1} = ${this.runtimeName("__pushComponent")}(${s1()}); try {`)),q(()=>this.b.emit("try {")),q(()=>{if(this.b.emit(`${o} = new `),a(),this.b.emit("("),f.length===0)this.b.emit(c?`{ ...${s1()}._rest }`:"{}");else{let O=A.size>0,D=this.replayPad+" ";if(this.b.emit(O?"{":"{ "),c)this.b.emit(O?` +${D}...${s1()}._rest,`:`...${s1()}._rest, `);f.forEach((W,Y)=>{if(O){if(Y>0)this.b.emit(",");this.b.emit(` +`);let Q=W.pair!==null?A.get(W.pair):void 0;if(this.ts&&Q!==void 0)for(let o1 of Q)this.tsDirectiveLine(o1,D,!0);this.b.emit(D)}else if(Y>0)this.b.emit(", ");let r1=()=>{let Q=(f1)=>{let h1=this.b.offset,u1=f1();if(this.ts)this.attrNames.push([h1,this.b.offset]);if("routeKey"in W)W.routeKey=[h1,this.b.offset];if(this.ts&&u1!=null){let b1=W.pair!==null?this.stores.idOf(W.pair):null,l1=b1!==null?this.stores.selfSpan(b1):null,d1=[u1[0],u1[1]];this.renderPairs.push({key:d1,pair:l1??d1,sites:[[h1,this.b.offset]]})}},o1=y(s)?this.stores.idOf(s):null;if(this.ts&&W.span!=null&&o1!==null){Q(()=>(this.b.markSpan(o1,"shorthandProp",W.span[0],W.span[1],()=>this.b.emit(W.key)),[W.span[0],W.span[1]])),this.b.emit(": "),W.fn();return}if(W.key.startsWith("__bind_")&&W.key.endsWith("__"))Q(()=>{let f1=this.b.offset;this.b.emit("__bind_");let h1=this.emitRewrittenPrimitive(W.key,W.key.slice(7,-2));if(this.ts&&h1!==null)this.intrinsics.push({start:h1[0],end:h1[1],kind:"bind",name:W.key.slice(7,-2),gen:f1});return this.b.emit("__"),h1});else Q(()=>this.emitPrimitive(W.key));this.b.emit(": "),W.fn()};if(W.pair!==null&&this.stores.idOf(W.pair)!==null)this.mark(W.pair,"$self",r1);else r1()}),this.b.emit(O?` +${this.replayPad}}`:" }")}this.b.emit(");")}),q(()=>this.b.emit(`if (${o} && ${o}._initFailed) {`)),q(()=>this.b.emit(` ${o} = null;`)),q(()=>this.b.emit(` ${l} = document.createComment('rip:child-init-failed: ${t}');`)),F!==null){q(()=>this.b.emit("} else {")),q(()=>this.b.emit(`{ const ${U} = ${o}._beginProjection(${s1()}); try {`));let O=this.projectionHost;this.projectionHost=o;let D=i.setups.length,W;try{W=F()}finally{this.projectionHost=O}let Y=(Q)=>({kind:"raw",node:null,fn:(o1)=>{this.b.emit(`${o1}if (${o}) { +`),this.replaySetups({setups:Q},`${o1} `),this.b.emit(`${o1}} +`)}}),r1=[];for(let Q of i.setups.splice(D)){if(Q.latch!==!0){r1.push(Q);continue}if(r1.length>0)i.setups.push(Y(r1));r1=[],i.setups.push(Q)}if(r1.length>0)i.setups.push(Y(r1));q(()=>this.b.emit(`} finally { ${o}._endProjection(${U}); } }`)),q(()=>this.b.emit(`${o}._setChildren(${W});`))}if(q(()=>{this.b.emit(F!==null?"if (":"} else if (");let O=()=>this.b.emit(`${o}._mountCreate()`);if(s!==null)this.mark(s,"$self",O);else O();this.b.emit(") {")}),q(()=>this.b.emit(` ${l} = ${o}._root;`)),c){let O=[...p.keys()].filter((D)=>D!=="children").map((D)=>JSON.stringify(D)).join(", ");q(()=>this.b.emit(` ${s1()}._inheritedInst = ${o};`)),q(()=>this.b.emit(` ${s1()}._inheritedOwn = new Set([${O}]);`))}if(i.kind==="class")q(()=>this.b.emit(` (this._children || (this._children = [])).push(${o});`));else q(()=>this.b.emit(` ${i.kidsVar}.push(${o});`));if(q(()=>this.b.emit("} else {")),q(()=>this.b.emit(` ${o} = null;`)),q(()=>this.b.emit(` ${l} = document.createComment('rip:child-error: ${t}');`)),q(()=>this.b.emit("}")),F!==null)q(()=>this.b.emit("}"));q(()=>this.b.emit(`} catch (${i1}) {`)),q(()=>this.b.emit(` ${this.runtimeName("__reportChildFailure")}('${t}', ${i1});`)),q(()=>this.b.emit(` ${o} = null;`)),q(()=>this.b.emit(` ${l} = document.createComment('rip:child-error: ${t}');`)),q(()=>this.b.emit("}")),q(()=>this.b.emit(I!==null?`} finally { ${c1()}._endProjection(${e1}); } }`:`} finally { ${this.runtimeName("__popComponent")}(${e1}); } }`));for(let{pair:O,event:D,value:W}of u){if(this.ts){let Q=y(O)&&y(O[1])?O[1]:null,o1=Q!==null?this.stores.idOf(Q)??null:null,f1=o1!==null?this.stores.selfSpan(o1):null;if(f1!==null)this.intrinsics.push({start:f1[0],end:f1[1],kind:"event",name:D,type:this.tsEventTypeText([D])!==null?`HTMLElementEventMap['${D}']`:null,child:t})}let Y=new Set;E.collectLeafNames(W,Y);let r1=E.mintName("e",Y);this.renderLine(O,()=>{let Q=`(${o}._nodes?.[0] ?? ${l})`;if(!this.ts)this.b.emit(`if (${o}) ${Q}.addEventListener('${D}', (${r1}`);else this.b.emit(`if (${o}) ${Q}.addEventListener(`),this.emitQuotedPrimitive(D),this.b.emit(`, (${r1}`);this.tsScaffoldAny(),this.b.emit(`) => ${this.runtimeName("__batch")}(() => (`),this.tsHandlerCast(()=>this.withExpression(()=>this.expr(W))),this.b.emit(`)(${r1})))`)})}i.setups.push({kind:"raw",latch:!0,fn:(O)=>{this.b.emit(O);let D=()=>{this.b.emit(`if (${o} && ${o}._state === 'mounting') { ${O} ${l} = ${o}._mountSetup(document.createComment('rip:child-error: ${t}')); -`);let H=this.rstate.fragChildren.get(i.root),z=H!==void 0?H[0]:i.root;if(i.kind!=="class"&&z===l){if(this.b.emit(`${O} `),this.ts)this.b.tsOnly(()=>this.b.emit("("));if(this.b.emit("this"),this.ts)this.b.tsOnly(()=>this.b.emit(" as any)"));this.b.emit(`._first = ${l}; +`);let W=this.rstate.fragChildren.get(i.root),Y=W!==void 0?W[0]:i.root;if(i.kind!=="class"&&Y===l){if(this.b.emit(`${O} `),this.ts)this.b.tsOnly(()=>this.b.emit("("));if(this.b.emit("this"),this.ts)this.b.tsOnly(()=>this.b.emit(" as any)"));this.b.emit(`._first = ${l}; `)}this.b.emit(`${O}}`)};if(s!==null)this.mark(s,"$self",D);else D();this.b.emit(` -`)}});for(let{pair:O,key:D,value:H}of h){let z=D.startsWith('"')&&D.endsWith('"')?D.slice(1,-1):D;this.renderEffect(O,()=>{this.b.emit(`if (${o}) ${o}._updateProp('${z}', `),this.renderExpr(H),this.b.emit(");")},H)}return l}addChildProp(e,t,r,n,i,s){let a=this.childContainerRef(s);if(a!==null){e.push({pair:r,key:n,fn:a});return}if(this.checkCrossScopeLocals(s,r),this.ts&&this.routesUnion!==null&&i==="href"&&this.isRouteLiteralValue(s)){this._needsRouteHelper=!0;let l={pair:r,key:n,routeKey:null};l.fn=()=>{this.b.tsOnly(()=>this.b.emit("__ripRoute("));let c=this.b.offset;this.renderExpr(s);let f=this.b.offset;if(this.b.tsOnly(()=>this.b.emit(")")),l.routeKey!==null)this.routeWrapSpans.push({key:l.routeKey,value:[c,f]})},e.push(l)}else e.push({pair:r,key:n,fn:()=>this.renderExpr(s)});if(!T1(s)&&this.renderReactive(s))t.push({pair:r,key:n,value:s})}childContainerRef(e){if(typeof e==="string"){if(this.renderVarKind(e)!==null)return null;let t=this.resolveBareRead(e);if(t==="member-reactive")return this.narrowedContainer(e,()=>{this.b.emit(`${this.renderSelf??"this"}.`);let r=this.emitPrimitive(e);if(this.ts&&r!==null)this.memberDecls.push({start:r[0],end:r[1]});return r});if(t==="reactive")return this.narrowedContainer(e,()=>this.emitPrimitive(e));return null}if(y(e)&&e[0]==="."&&e[1]==="this"&&e.length===3&&typeof e[2]==="string"&&this.memberIsReactive(e[2]))return this.narrowedContainer(e[2],()=>(this.b.emit(`${this.renderSelf??"this"}.`),this.emitPrimitive(e[2])));return null}narrowedContainer(e,t){if(!this.ts)return t;return()=>{if(!this.activeNarrowed().some((i)=>i===e||y(i)&&i[0]==="."&&i[1]==="this"&&i.length===3&&i[2]===e))return t();this._needsNarrowedHelper=!0,this.b.tsOnly(()=>this.b.emit("__ripNarrowed("));let n=t();if(this.b.tsOnly(()=>this.b.emit(")")),n!=null)this.narrowedDecls.push({start:n[0],end:n[1]})}}isRouteLiteralValue(e){let t=(r)=>typeof r==="string"&&/^["'`]\//.test(r);return t(e)||y(e)&&e[0]==="str"&&t(e[1])}renderAttributes(e,t){let r=this.rstate;if(this.ts&&this.tsDirectivesArmed&&this.tsDirectiveMap.has(t)){let n=t.slice(1).find((s)=>y(s));if(n!==void 0&&n.length===3&&!r.suppressedPairs.has(n)&&(()=>{let s=n[1];if(typeof s!=="string")return!0;if(s.startsWith('"')&&s.endsWith('"'))s=s.slice(1,-1);if((s==="class"||s==="className")&&r.pendingClassArgs!==null&&r.pendingClassEl===e)return!1;if(s==="ref"&&this.rstate.sink.kind!=="class")return!1;return!0})()){let s=this.tsDirectiveMap.get(t);this.tsDirectiveMap.delete(t),this.tsDirectiveMap.set(n,[...s,...this.tsDirectiveMap.get(n)??[]])}}for(let n of t.slice(1)){if(dt(n))throw this.renderSpreadError(n);if(!y(n)||n.length!==3)throw this.positionedError(n,"emitter: unsupported attribute form in render",t);if(r.suppressedPairs.has(n))continue;let[,i,s]=n;this.checkCrossScopeLocals(s,n);let a=null;if(this.ts){let M=this.stores.idOf(n),L=M!==null?this.stores.selfSpan(M):null,A=this.b.source;if(L!==null&&A!==null){let P=L[0];while(PL[0])a={key:[L[0],P],pair:[L[0],L[1]],sites:[]},this.renderPairs.push(a)}}let o=(M)=>{if(a!==null&&M!==null&&M[1]>M[0])a.sites.push(M)},l=a!==null?a.key:null,c=(M)=>{if(l===null)return M();let L=this.b.claimWithin;this.b.claimWithin=l;try{return M()}finally{this.b.claimWithin=L}},f=(M)=>{if(l===null)return M();let L=this.primitiveAvoid;this.primitiveAvoid=[...L??[],l];try{return M()}finally{this.primitiveAvoid=L}};if(y(i)&&i[0]==="."&&i[1]==="this"&&typeof i[2]==="string"){let M=i[2];if(this.checkBareEventHandler(n,s),this.rstate.sink.kind==="loop"&&this.loopVarNames().size>0&&Re(s,this.loopVarNames()))this.rstate.sink.forceNonStatic=!0;let L=new Set;E.collectLeafNames(s,L);let A=E.mintName("e",L),P=this.tsElReceiver(e),v=this.ts?this.tsEventTypeText([M],P.hostText):null;if(this.ts){let V=this.stores.idOf(i)??null,W=V!==null?this.stores.selfSpan(V):null;if(W!==null)this.intrinsics.push({start:W[0],end:W[1],kind:"event",name:M,type:v,tag:this.rstate?.tags?.get(e)??null,svg:this.rstate?.svgEls?.has(e)===!0})}this.renderLine(n,()=>{let V=this.renderSelf??"this";if(!this.ts)this.b.emit(`${e}.addEventListener('${M}', (${A}`);else P.emit(),this.b.emit(".addEventListener("),c(()=>this.emitQuotedPrimitive(M)),this.b.emit(`, (${A}`);if(this.tsScaffoldAny(),this.b.emit(`) => ${this.runtimeName("__batch")}(() => `),typeof s==="string"&&this.renderVarKind(s)===null&&this.cframes[this.cframes.length-1].members.has(s)){if(this.ts)this.b.tsOnly(()=>this.b.emit("("));let W=this.b.offset;if(this.b.emit(`${V}.`),f(()=>this.emitPrimitive(s)),this.ts)this.b.tsOnly(()=>this.b.emit(v!==null?` as (e: ${v}) => unknown)`:" as any)"));if(this.ts&&v!==null)o([W,this.b.offset-1]);this.b.emit(`(${A})`)}else{let W=!this.ts?null:T1(s)&&(s[1].length===0||s[1].length===1&&typeof s[1][0]==="string")?v??"any":T1(s)?null:v;this.b.emit("("),o(this.tsHandlerCast(()=>f(()=>this.withExpression(()=>this.expr(s))),W)),this.b.emit(`)(${A})`)}this.b.emit("))")});continue}if(typeof i!=="string")throw this.positionedError(n,"emitter: computed attribute keys are not supported in render",t);let h=i;if(i.startsWith('"')&&i.endsWith('"'))i=i.slice(1,-1);if(i==="__transition__"){this.noteVocabulary("render-channel",i,n),this.renderTransition(e,n,s,t);continue}if(i==="ref"){this.noteVocabulary("render-channel",i,n),this.renderRef(e,n,s,t,o);continue}if(i.startsWith("__bind_")&&i.endsWith("__")){this.noteVocabulary("render-channel",i,n),this.checkUserSpelledBind(n);let M=i.slice(7,-2);this.renderBind(e,n,M,s,t,o);continue}if(i==="key")throw this.positionedError(n,"emitter: `key:` identifies loop rows — it is read only on the FIRST element of a `for` body inside render; "+"anywhere else it would leak into the DOM as an attribute",t);if(i==="class"||i==="className"){let M=(L,A)=>{if(this.ts&&L!==null)this.intrinsics.push({start:L[0],end:L[1],kind:"attr",name:"class",gen:A})};if(r.pendingClassArgs!==null&&r.pendingClassEl===e){this.checkSetupLocalRefs(s,n);let L=this.stores.idOf(n),A=L!==null?this.stores.selfSpan(L):null;if(this.ts&&A!==null)(r.pendingClassKeys??=[]).push([A[0],A[0]+i.length]);r.pendingClassArgs.push(()=>o(this.renderExpr(s)))}else if(this.renderReactive(s)){let L=r.svgDepth>0,A=this.tsElReceiver(e);this.renderEffect(n,()=>{let P=this.runtimeName("__clsx");if(A.emit(),L){let v=this.b.offset+1;this.b.emit(".setAttribute('"),M(this.emitKeyAs(i,"class"),v),this.b.emit(`', ${P}(`)}else this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitKeyAs(i,"className")),this.b.emit(` = ${P}(`);o(this.renderExpr(s)),this.b.emit(L?"));":");")},s)}else{let L=r.svgDepth>0,A=y(s),P=this.tsElReceiver(e);this.renderLine(n,()=>{let v=this.b.offset;if(P.emit(),L){let W=this.b.offset+1;this.b.emit(".setAttribute('"),M(this.emitKeyAs(i,"class"),W),this.b.emit("', ")}else{if(this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitKeyAs(i,"className")),!A)o([v,this.b.offset]);this.b.emit(" = ")}if(A)this.b.emit(`${this.runtimeName("__clsx")}(`);let V=this.renderExpr(s);if(L||A)o(V);if(A)this.b.emit(")");if(L)this.b.emit(")")})}continue}if((i==="value"||i==="checked")&&this.renderReactive(s)){let M=this.tsElReceiver(e);this.renderEffect(n,()=>{let L=this.b.offset;if(M.emit(),this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitPrimitive(i)),o([L,this.b.offset]),this.b.emit(" = "),this.renderExpr(s),i==="value"&&!E.isStringLiteral(s))this.b.emit(" ?? ''");this.b.emit(";")},s);continue}if(i==="innerHTML"||i==="textContent"||i==="innerText"){let M=this.tsElReceiver(e),L=()=>{let A=this.b.offset;M.emit(),this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitPrimitive(i)),o([A,this.b.offset]),this.b.emit(" = "),this.renderExpr(s)};if(this.renderReactive(s))this.renderEffect(n,()=>{L(),this.b.emit(";")},s);else this.renderLine(n,L);continue}if(E.BOOLEAN_ATTRS.has(i)){let M=this.tsElReceiver(e),L=()=>{let A=c(()=>this.emitKeyAs(h,i));if(this.ts&&M.surfaced&&A!==null)this.intrinsics.push({start:A[0],end:A[1],kind:"attr",name:i,type:"boolean | undefined"})};if(this.renderReactive(s))this.renderEffect(n,()=>{if(M.emit(),this.b.emit(".toggleAttribute('"),L(),this.b.emit("', !!"),this.ts)this.b.tsOnly(()=>this.b.emit("("));f(()=>this.renderExpr(s));let A=this.b.offset+1;if(this.ts)this.b.tsOnly(()=>this.b.emit(" satisfies boolean | undefined)"));if(this.ts)o([A,A+9]);this.b.emit(");")},s);else this.renderLine(n,()=>{this.b.emit("if ("),f(()=>this.withExpression(()=>this.expr(s)));let A=this.b.offset+1;if(this.ts)this.b.tsOnly(()=>this.b.emit(" satisfies boolean | undefined"));if(this.ts)o([A,A+9]);this.b.emit(") "),M.emit(),this.b.emit(".setAttribute('"),L(),this.b.emit("', '')")});continue}if(i==="style"){let M=this.tsElReceiver(e),L=()=>{if(this.b.emit("{ const __v"),o([this.b.offset-3,this.b.offset]),this.ts)this.b.tsOnly(()=>{if(M.surfaced)this.b.emit(`: ${M.valsName}['`),this.emitKeyAs(h,i),this.b.emit("'] | undefined");else this.b.emit(": any")});this.b.emit(" = "),this.renderExpr(s),this.b.emit(`; ${this.runtimeName("__style")}(`),M.emit(),this.b.emit(", __v); }")};if(this.renderReactive(s))this.renderEffect(n,L,s);else this.renderLine(n,L,!1);if(this.ts&&M.surfaced&&a!==null)this.intrinsics.push({start:a.key[0],end:a.key[1],kind:"attr",name:i,type:"string | __RipCSSProperties | undefined"});continue}let u=this.ts&&this.routesUnion!==null&&i==="href"&&this.rstate.tags?.get(e)==="a"&&this.isRouteLiteralValue(s);if(u)this._needsRouteHelper=!0;let d=this.tsElReceiver(e),p=!(typeof s==="string"&&(!be(s)||s==="true"||s==="false")||y(s)&&s[0]==="str"),m=null,g=null,b=!1,S=()=>{if(b||!this.ts||!d.surfaced||m===null||g===null)return;b=!0,this.intrinsics.push(u?{start:m[0],end:m[1],kind:"attr",name:i,type:this.routesUnion,route:!0}:{start:m[0],end:m[1],kind:"attr",name:i,gen:g});let M=this.renderTagOf(e);if(!ci(M,i))this.intrinsics.push({start:m[0],end:m[1],kind:"unknown-attr",tag:M,name:i,message:this.unknownAttrMessage(M,i,{bare:!1,svg:this.rstate?.svgEls?.has(e)===!0})})},w=()=>{g=this.b.offset+1,this.b.emit(".setAttribute('"),S()},R=()=>{let M=c(()=>this.emitKeyAs(h,i));if(m===null)m=M;S()},k=()=>f(()=>this.renderExpr(s)),j=()=>{if(!this.ts)return;this.b.tsOnly(()=>this.b.emit(d.surfaced?`: ${d.valsName}['${i}'] | undefined`:": any"))};if(this.renderReactive(s))if(p)this.renderEffect(n,()=>{this.b.emit("{ const __v"),o([this.b.offset-3,this.b.offset]),j(),this.b.emit(" = "),k(),this.b.emit("; __v == null ? "),d.emit(),this.b.emit(".removeAttribute('"),R(),this.b.emit("') : "),d.emit(),w(),R(),this.b.emit("', __v); }")},s);else this.renderEffect(n,()=>{d.emit(),w();let M=this.b.offset;R();let L=this.b.offset;if(this.b.emit("', "),u)this.b.tsOnly(()=>this.b.emit("__ripRoute("));let A=this.b.offset;o(k());let P=this.b.offset;if(this.ts){if(u)this.b.tsOnly(()=>this.b.emit(")"));else if(!d.surfaced)this.b.tsOnly(()=>this.b.emit(" as any"))}if(this.b.emit(");"),u)this.routeWrapSpans.push({key:[M,L],value:[A,P]})},s);else if(p)this.renderLine(n,()=>{this.b.emit("{ const __v"),o([this.b.offset-3,this.b.offset]),j(),this.b.emit(" = "),k(),this.b.emit("; if (__v != null) "),d.emit(),w(),R(),this.b.emit("', __v); }")},!1);else this.renderLine(n,()=>{d.emit(),w();let M=this.b.offset;R();let L=this.b.offset;if(this.b.emit("', "),u)this.b.tsOnly(()=>this.b.emit("__ripRoute("));let A=this.b.offset;o(k());let P=this.b.offset;if(this.ts){if(u)this.b.tsOnly(()=>this.b.emit(")"));else if(!d.surfaced)this.b.tsOnly(()=>this.b.emit(" as any"))}if(this.b.emit(")"),u)this.routeWrapSpans.push({key:[M,L],value:[A,P]})})}}loopVarNames(){let e=new Set;for(let t of this.rstate.sink.loopStack)e.add(t.itemVar),e.add(t.indexVar);return e}checkCrossScopeLocals(e,t){let r=this.rstate;if(!r)return;let n=this.loopVarNames(),i=(s)=>r.sink.locals.has(s)||n.has(s);for(let s=r.sink.parent;s!==null;s=s.parent){if(s.locals.size===0)continue;let a=new Set([...s.locals].filter((o)=>!i(o)));if(a.size>0&&Re(e,a))throw this.positionedError(t,"emitter: this expression reads a render local of an ENCLOSING render scope — each dynamic block (a "+"conditional branch, a loop body) is its own factory function, and render locals never cross that boundary ; declare the local inside this block, or use a member",this.rstate.node)}}renderBinding(e){let[t,r,n]=e,i=this.rstate.sink,s=this.firstAwaitIn(n);if(s!==null)throw this.renderSyncError(s);if(r.startsWith("__"))throw this.positionedError(e,`emitter: render local '${r}' — double-underscore names are the compiler/runtime namespace inside render `+"(factory scaffolding and injected helpers live there)");if(i.loopStack.some((a)=>a.itemVar===r||a.indexVar===r))throw this.positionedError(e,`emitter: '${r}' is a loop variable — a render local cannot re-declare or assign it `);if(t==="="){if(!i.locals.has(r)){if(i.locals.add(r),i.bindings.add(r),i.localDecls.set(r,e),i.kind!=="class")i.vars.add(r)}}else if(!i.locals.has(r))throw this.positionedError(e,`emitter: compound assignment to '${r}' — no render local of that name is declared in this render scope `+"(`name = expr` declares one)");return this.checkCrossScopeLocals(n,e),this.renderLine(e,()=>{this.mark(e,"target",()=>this.b.emit(r)),this.b.emit(` ${t} `),this.mark(e,"value",()=>this.withExpression(()=>this.expr(n)))}),null}closeRenderScope(e){for(let[t,r]of e.localDecls){let n=0,i=(s)=>{if(typeof s==="string"){if(s===t)n++;return}if(!y(s))return;if(sa.has(s[0])&&s.length===3&&s[1]===t){i(s[2]);return}if((s[0]===":"||s[0]==="void-pair")&&s.length===3&&typeof s[1]==="string"){i(s[2]);return}if((s[0]==="."||s[0]==="?.")&&s.length===3&&typeof s[2]==="string"){i(s[1]);return}for(let a of s)i(a)};for(let s of e.stmts)i(s);if(n===0)throw this.positionedError(r,`emitter: render local '${t}' is never read — a dead local renders NOTHING (if this line meant an `+`element with expression text, spell it \`${t}\` + indented \`= expr\`: inside render \`${t} = expr\` declares a local named the tag)`,this.rstate.node)}}static collectLeafNames(e,t){if(typeof e==="string"){if(ft.test(e))t.add(e);return}if(!y(e))return;if((e[0]===":"||e[0]==="void-pair")&&e.length===3&&typeof e[1]==="string"){E.collectLeafNames(e[2],t);return}if((e[0]==="."||e[0]==="?.")&&e.length===3&&typeof e[2]==="string"){E.collectLeafNames(e[1],t);return}for(let r of e)E.collectLeafNames(r,t)}static mintName(e,t){let r=e;while(t.has(r))r=`${r}_`;return t.add(r),r}threadProjectionHost(e){if(e===null||e.startsWith("this."))return;for(let t=this.rstate.sink;t&&t.hostParams!==void 0&&!t.vars.has(e);t=t.parent){if(t.hostParams.includes(e))continue;t.hostParams.push(e),t.paramNames.push(e)}}walkFactory(e,t,r,n=null){let i=this.rstate,s=i.sink,a=this.newBlockName(),o=n!==null?[n.itemVar,n.indexVar]:[],l=new Set(o),c=new Set;E.collectLeafNames(e,c);let f=new Set(s.renameHazardNames??[]),h=(S)=>{if(!l.has(S))return l.add(S),S;let w=`${S}_`;while(l.has(w)||c.has(w))w+="_";return l.add(w),f.add(S),f.add(w),w},u=s.loopStack.map((S)=>({...S,itemVar:h(S.itemVar),indexVar:h(S.indexVar)})),d=u.flatMap((S)=>[S.itemVar,S.indexVar]),p=n!==null?[...u,n]:u,m={kind:t,name:a,parent:s,self:"ctx",paramNames:[...o,...d],hostParams:[],frameVar:"__fr",ownerVar:"__o",creates:[],setups:[],vars:new Set,locals:new Set,localDecls:new Map,bindings:new Set([...d,...o]),refs:[],loopStack:p,stmts:[],forceNonStatic:!1,root:null,isStatic:!1,originNode:r,hasKids:!1,kidsVar:null,renameHazardNames:f,readVars:new Set,narrowed:[...s.narrowed??[],...this._narrowNext??[]]};if(this._narrowNext=null,n!==null)n.owner=m;i.records.push(m);let g=i.transitionSlot;i.transitionSlot=t==="branch"?{record:m,el:null}:null,i.sink=m,this.rframes.push({reactive:new Set,bound:m.bindings,loopVars:m.bindings,loopBindings:E.loopBindingsOf(m)});try{let S;if(g1(e))S=e.slice(1);else if(y(e)&&e.length===1&&y(e[0])&&this.stores.idOf(e)===null)S=[e[0]];else S=[e];if(m.stmts=S,m.root=S.length===0?null:this.walkChildStmts(S),m.root===null)m.root=this.newRenderVar("empty"),this.renderLine(null,()=>this.b.emit(`${m.root} = document.createComment('')`))}finally{this.rframes.pop(),i.sink=s,i.transitionSlot=g}this.closeRenderScope(m),m.isStatic=t==="loop"&&m.setups.length===0&&!m.forceNonStatic;let b=new Set([...m.bindings,...m.locals,...m.vars]);if(E.collectLeafNames(m.stmts,b),m.self=E.mintName("ctx",b),m.frameVar=E.mintName("__fr",b),m.ownerVar=E.mintName("__o",b),m.hasKids)m.kidsVar=E.mintName("_factoryChildren",b);return m}narrowConjuncts(e){if(y(e)&&e[0]==="&&"&&e.length===3)return[...this.narrowConjuncts(e[1]),...this.narrowConjuncts(e[2])];if(typeof e==="string")return this.renderVarKind(e)!==null||this.bareRewrite(e)===null?[]:[e];if(!E.isDotChain(e))return[];let t=e;while(y(t))t=t[1];if(t==="this")return[e];if(this.renderVarKind(t)!==null||this.bareRewrite(t)===null)return[];return[e]}static isDotChain(e){if(!y(e)||e[0]!=="."||e.length!==3||typeof e[2]!=="string"||e[2][0]==='"')return!1;let t=e[1];if(t==="this")return!0;if(typeof t==="string")return/^[A-Za-z_$][\w$]*$/.test(t);return E.isDotChain(t)}activeNarrowed(){let e=this.renderRecord;if(!this.ts||!e||!(e.narrowed?.length>0))return[];return e.narrowed.filter((t)=>{let r=t;while(y(r))r=r[1];return r==="this"||!(e.bindings.has(r)||e.locals.has(r))})}hasNarrow(){return this.activeNarrowed().length>0}narrowedReadNames(){let e=new Set;for(let t of this.activeNarrowed())if(typeof t==="string")e.add(t);else if(t[0]==="."&&t[1]==="this"&&t.length===3&&typeof t[2]==="string")e.add(t[2]);return e}narrowGuard(e="statement",{trailing:t=!0}={}){let r=this.activeNarrowed();if(r.length===0)return!1;this._needsNarrowHelper=!0,this.b.suppressClaims=!0;try{this.b.tsOnly(()=>this.b.echo(()=>{if(r.forEach((n,i)=>{if(i>0)this.b.emit(" ");this.b.emit(e==="statement"?"__ripNarrow(":"(__ripNarrow("),this.renderExpr(n),this.b.emit(e==="statement"?");":"),")}),t)this.b.emit(" ")}))}finally{this.b.suppressClaims=!1}return!0}narrowGuardClose(e){if(e)this.b.tsOnly(()=>this.b.emit(")".repeat(this.activeNarrowed().length)))}renderCond(e,t=e){if(e.length>4)throw this.positionedError(e,"emitter: unexpected flat conditional chain shape in render (internal)");if(this.stores.idOf(t)===null&&this._chainMarkNode)t=this._chainMarkNode;let[,r,n]=e,i=e.length===4?e[3]:null;this.checkSetupLocalRefs(r,t),this.checkCrossScopeLocals(r,t);let s=this.newRenderVar("anchor");this.renderLine(null,()=>this.b.emit(`${s} = document.createComment('if')`)),this._narrowNext=this.narrowConjuncts(r);let a=this.walkFactory(n,"branch",t),o=this._chainMarkNode;if(i!==null&&y(i)&&i[0]==="if"&&this.stores.idOf(i)===null)this._chainMarkNode=t;let l=i!==null?this.walkFactory(i,"branch",t):null;this._chainMarkNode=o;let c=a.refs.length>0||l!==null&&l.refs.length>0,f=this.rstate.sink;if(l!==null){for(let[u,d]of[[a,l],[l,a]])for(let p of u.hostParams){if(d.hostParams.includes(p))continue;d.hostParams.push(p),d.paramNames.push(p)}l.hostParams.sort((u,d)=>a.hostParams.indexOf(u)-a.hostParams.indexOf(d)),l.paramNames.splice(l.paramNames.length-l.hostParams.length,l.hostParams.length,...l.hostParams)}let h=[...f.loopStack.flatMap((u)=>[u.itemVar,u.indexVar]),...a.hostParams];return f.setups.push({kind:"raw",node:t,fn:(u)=>this.emitCondSetup(u,t,e,s,a,l,c,h)}),s}renderSwitch(e){let[,t,r,n]=e;if(E.hasMatchArms(r))this.checkMatchSwitch(e);let i=n;for(let s=r.length-1;s>=0;s--){let[,a,o]=r[s],l;if(t===null)l=a.reduce((c,f)=>c===null?f:["||",c,f],null);else l=a.map((c)=>E.matchArmSexpr(t,c)).reduce((c,f)=>c===null?f:["||",c,f],null);i=i!==null?["if",l,o,i]:["if",l,o]}if(i===null||i[0]!=="if")return i===null?this.renderNode("null"):this.renderChildBlock(i);return this.renderCond(i,e)}renderLoop(e){let[,t,r,n,i,s]=e;if(n!==null)throw this.positionedError(e,"emitter: a `by` step has no render reading — the reconciler patches whole collections; step the collection itself: `items.filter((x, i) -> i % 2 == 0)`");if(i!==null)throw this.positionedError(e,"emitter: a `when` guard has no render reading — the reconciler patches whole collections; filter the collection itself: `for x in items.filter((x) -> cond)`");if(t.length>2||t.some((w)=>typeof w!=="string"))throw this.positionedError(e,"emitter: a render loop takes plain item and index variables (`for item, i in items`) — destructuring loop "+"variables have no factory-parameter reading here; destructure inside the body");if(t.length===2&&t[0]===t[1])throw this.positionedError(e,`emitter: a render loop cannot bind '${t[0]}' as BOTH item and index — one name cannot hold two row facts `);for(let w of t)if(w.startsWith("__"))throw this.positionedError(e,`emitter: render loop variable '${w}' — double-underscore names are the compiler/runtime namespace inside `+"render (factory scaffolding and injected helpers live there)");this.checkSetupLocalRefs(r,e),this.checkCrossScopeLocals(r,e);let a=t[0],o=t[1]??null;if(o===null){let w=new Set(this.loopVarNames());w.add(a),E.collectRenderBodyBindings(s,w);let R=(k,j)=>{if(typeof k==="string")return k===j;return y(k)&&k.some((M)=>R(M,j))};for(let k of["i","j","k","l","m","n"])if(!w.has(k)&&!R(s,k)){o=k;break}o=o??`__rip_idx${this.rstate.sink.loopStack.length}`}let l=this.newRenderVar("anchor");this.renderLine(null,()=>this.b.emit(`${l} = document.createComment('for')`));let c=this.renderReactive(r),f=this.extractLoopKey(s,e),h=f!==null?this.rstate.keySpan??null:null;if(f!==null)this.checkSetupLocalRefs(f,e),this.checkCrossScopeLocals(f,e);let u=this.stores.idOf(e),d=u!==null?this.stores.role(u,"vars"):null,p=this.primitiveAvoid;if(d?.sourceStart!=null)this.primitiveAvoid=[...p??[],[d.sourceStart,d.sourceEnd]];let m;try{m=this.walkFactory(s,"loop",e,{itemVar:a,indexVar:o,reactiveSource:c,iter:r,node:e})}finally{this.primitiveAvoid=p}if(f!==null){if(m.locals.size>0&&Re(f,m.locals))throw this.positionedError(e,"emitter: a `key:` expression must be evaluable in the loop HEADER scope — it reads a render local declared "+"inside the loop body, which lives in the row factory (derive the key from the item inline: `key: item.id`)");if(!Re(f,new Set([a,o])))throw this.positionedError(e,`emitter: a loop key must derive from the row — this \`key:\` expression never reads '${a}'${t.length===2?` or '${o}'`:""} (a row-independent key cannot identify rows)`)}let g=m.refs.length>0,b=this.rstate.sink,S=[...b.loopStack.flatMap((w)=>[w.itemVar,w.indexVar]),...m.hostParams];return b.setups.push({kind:"raw",node:e,fn:(w)=>this.emitLoopSetup(w,e,l,r,m,f,a,o,g,S,h)}),l}static collectRenderBodyBindings(e,t){if(!y(e))return;if((e[0]==="for-in"||e[0]==="for-of"||e[0]==="for-as")&&y(e[1])){for(let r of e[1])if(typeof r==="string")t.add(r)}else if(e[0]==="="&&e.length===3&&typeof e[1]==="string")t.add(e[1]);for(let r of e)E.collectRenderBodyBindings(r,t)}extractLoopKey(e,t){let n=(g1(e)?e.slice(1):[e]).find((s)=>!this.isRenderBinding(s));if(!y(n))return null;let i=(s)=>{for(let a=1;athis.b.emit(e.join(", ")))}emitCondSetup(e,t,r,n,i,s,a,o){let l=this.renderSelf??"this",c=e+" ",f=c+" ",h=new Set([l,...o]);E.collectLeafNames(r[1],h);let u=E.mintName("anchor",h),d=E.mintName("currentBlock",h),p=E.mintName("showing",h),m=E.mintName("show",h),g=E.mintName("want",h),b=E.mintName("leaving",h),S=this.runtimeName("__transition"),w=(k)=>{this.b.emit(`${f} ${d} = ${l}.${k.name}(${l}`),this.emitOuterLoopArgs(o),this.b.emit(`); +`)}});for(let{pair:O,key:D,value:W}of h){let Y=D.startsWith('"')&&D.endsWith('"')?D.slice(1,-1):D;this.renderEffect(O,()=>{this.b.emit(`if (${o}) ${o}._updateProp('${Y}', `),this.renderExpr(W),this.b.emit(");")},W)}return l}addChildProp(e,t,r,n,i,s){let a=this.childContainerRef(s);if(a!==null){e.push({pair:r,key:n,fn:a});return}if(this.checkCrossScopeLocals(s,r),this.ts&&this.routesUnion!==null&&i==="href"&&this.isRouteLiteralValue(s)){this._needsRouteHelper=!0;let l={pair:r,key:n,routeKey:null};l.fn=()=>{this.b.tsOnly(()=>this.b.emit("__ripRoute("));let c=this.b.offset;this.renderExpr(s);let f=this.b.offset;if(this.b.tsOnly(()=>this.b.emit(")")),l.routeKey!==null)this.routeWrapSpans.push({key:l.routeKey,value:[c,f]})},e.push(l)}else e.push({pair:r,key:n,fn:()=>this.renderExpr(s)});if(!T1(s)&&this.renderReactive(s))t.push({pair:r,key:n,value:s})}childContainerRef(e){if(typeof e==="string"){if(this.renderVarKind(e)!==null)return null;let t=this.resolveBareRead(e);if(t==="member-reactive")return this.narrowedContainer(e,()=>{this.b.emit(`${this.renderSelf??"this"}.`);let r=this.emitPrimitive(e);if(this.ts&&r!==null)this.memberDecls.push({start:r[0],end:r[1]});return r});if(t==="reactive")return this.narrowedContainer(e,()=>this.emitPrimitive(e));return null}if(y(e)&&e[0]==="."&&e[1]==="this"&&e.length===3&&typeof e[2]==="string"&&this.memberIsReactive(e[2]))return this.narrowedContainer(e[2],()=>(this.b.emit(`${this.renderSelf??"this"}.`),this.emitPrimitive(e[2])));return null}narrowedContainer(e,t){if(!this.ts)return t;return()=>{if(!this.activeNarrowed().some((i)=>i===e||y(i)&&i[0]==="."&&i[1]==="this"&&i.length===3&&i[2]===e))return t();this._needsNarrowedHelper=!0,this.b.tsOnly(()=>this.b.emit("__ripNarrowed("));let n=t();if(this.b.tsOnly(()=>this.b.emit(")")),n!=null)this.narrowedDecls.push({start:n[0],end:n[1]})}}isRouteLiteralValue(e){let t=(r)=>typeof r==="string"&&/^["'`]\//.test(r);return t(e)||y(e)&&e[0]==="str"&&t(e[1])}renderAttributes(e,t){let r=this.rstate;if(this.ts&&this.tsDirectivesArmed&&this.tsDirectiveMap.has(t)){let n=t.slice(1).find((s)=>y(s));if(n!==void 0&&n.length===3&&!r.suppressedPairs.has(n)&&(()=>{let s=n[1];if(typeof s!=="string")return!0;if(s.startsWith('"')&&s.endsWith('"'))s=s.slice(1,-1);if((s==="class"||s==="className")&&r.pendingClassArgs!==null&&r.pendingClassEl===e)return!1;if(s==="ref"&&this.rstate.sink.kind!=="class")return!1;return!0})()){let s=this.tsDirectiveMap.get(t);this.tsDirectiveMap.delete(t),this.tsDirectiveMap.set(n,[...s,...this.tsDirectiveMap.get(n)??[]])}}for(let n of t.slice(1)){if(dt(n))throw this.renderSpreadError(n);if(!y(n)||n.length!==3)throw this.positionedError(n,"emitter: unsupported attribute form in render",t);if(r.suppressedPairs.has(n))continue;let[,i,s]=n;this.checkCrossScopeLocals(s,n);let a=null;if(this.ts){let M=this.stores.idOf(n),L=M!==null?this.stores.selfSpan(M):null,A=this.b.source;if(L!==null&&A!==null){let P=L[0];while(PL[0])a={key:[L[0],P],pair:[L[0],L[1]],sites:[]},this.renderPairs.push(a)}}let o=(M)=>{if(a!==null&&M!==null&&M[1]>M[0])a.sites.push(M)},l=a!==null?a.key:null,c=(M)=>{if(l===null)return M();let L=this.b.claimWithin;this.b.claimWithin=l;try{return M()}finally{this.b.claimWithin=L}},f=(M)=>{if(l===null)return M();let L=this.primitiveAvoid;this.primitiveAvoid=[...L??[],l];try{return M()}finally{this.primitiveAvoid=L}};if(y(i)&&i[0]==="."&&i[1]==="this"&&typeof i[2]==="string"){let M=i[2];if(this.checkBareEventHandler(n,s),this.rstate.sink.kind==="loop"&&this.loopVarNames().size>0&&Re(s,this.loopVarNames()))this.rstate.sink.forceNonStatic=!0;let L=new Set;E.collectLeafNames(s,L);let A=E.mintName("e",L),P=this.tsElReceiver(e),v=this.ts?this.tsEventTypeText([M],P.hostText):null;if(this.ts){let V=this.stores.idOf(i)??null,H=V!==null?this.stores.selfSpan(V):null;if(H!==null)this.intrinsics.push({start:H[0],end:H[1],kind:"event",name:M,type:v,tag:this.rstate?.tags?.get(e)??null,svg:this.rstate?.svgEls?.has(e)===!0})}this.renderLine(n,()=>{let V=this.renderSelf??"this";if(!this.ts)this.b.emit(`${e}.addEventListener('${M}', (${A}`);else P.emit(),this.b.emit(".addEventListener("),c(()=>this.emitQuotedPrimitive(M)),this.b.emit(`, (${A}`);if(this.tsScaffoldAny(),this.b.emit(`) => ${this.runtimeName("__batch")}(() => `),typeof s==="string"&&this.renderVarKind(s)===null&&this.cframes[this.cframes.length-1].members.has(s)){if(this.ts)this.b.tsOnly(()=>this.b.emit("("));let H=this.b.offset;if(this.b.emit(`${V}.`),f(()=>this.emitPrimitive(s)),this.ts)this.b.tsOnly(()=>this.b.emit(v!==null?` as (e: ${v}) => unknown)`:" as any)"));if(this.ts&&v!==null)o([H,this.b.offset-1]);this.b.emit(`(${A})`)}else{let H=!this.ts?null:T1(s)&&(s[1].length===0||s[1].length===1&&typeof s[1][0]==="string")?v??"any":T1(s)?null:v;this.b.emit("("),o(this.tsHandlerCast(()=>f(()=>this.withExpression(()=>this.expr(s))),H)),this.b.emit(`)(${A})`)}this.b.emit("))")});continue}if(typeof i!=="string")throw this.positionedError(n,"emitter: computed attribute keys are not supported in render",t);let h=i;if(i.startsWith('"')&&i.endsWith('"'))i=i.slice(1,-1);if(i==="__transition__"){this.noteVocabulary("render-channel",i,n),this.renderTransition(e,n,s,t);continue}if(i==="ref"){this.noteVocabulary("render-channel",i,n),this.renderRef(e,n,s,t,o);continue}if(i.startsWith("__bind_")&&i.endsWith("__")){this.noteVocabulary("render-channel",i,n),this.checkUserSpelledBind(n);let M=i.slice(7,-2);this.renderBind(e,n,M,s,t,o);continue}if(i==="key")throw this.positionedError(n,"emitter: `key:` identifies loop rows — it is read only on the FIRST element of a `for` body inside render; "+"anywhere else it would leak into the DOM as an attribute",t);if(i==="class"||i==="className"){let M=(L,A)=>{if(this.ts&&L!==null)this.intrinsics.push({start:L[0],end:L[1],kind:"attr",name:"class",gen:A})};if(r.pendingClassArgs!==null&&r.pendingClassEl===e){this.checkSetupLocalRefs(s,n);let L=this.stores.idOf(n),A=L!==null?this.stores.selfSpan(L):null;if(this.ts&&A!==null)(r.pendingClassKeys??=[]).push([A[0],A[0]+i.length]);r.pendingClassArgs.push(()=>o(this.renderExpr(s)))}else if(this.renderReactive(s)){let L=r.svgDepth>0,A=this.tsElReceiver(e);this.renderEffect(n,()=>{let P=this.runtimeName("__clsx");if(A.emit(),L){let v=this.b.offset+1;this.b.emit(".setAttribute('"),M(this.emitKeyAs(i,"class"),v),this.b.emit(`', ${P}(`)}else this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitKeyAs(i,"className")),this.b.emit(` = ${P}(`);o(this.renderExpr(s)),this.b.emit(L?"));":");")},s)}else{let L=r.svgDepth>0,A=y(s),P=this.tsElReceiver(e);this.renderLine(n,()=>{let v=this.b.offset;if(P.emit(),L){let H=this.b.offset+1;this.b.emit(".setAttribute('"),M(this.emitKeyAs(i,"class"),H),this.b.emit("', ")}else{if(this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitKeyAs(i,"className")),!A)o([v,this.b.offset]);this.b.emit(" = ")}if(A)this.b.emit(`${this.runtimeName("__clsx")}(`);let V=this.renderExpr(s);if(L||A)o(V);if(A)this.b.emit(")");if(L)this.b.emit(")")})}continue}if((i==="value"||i==="checked")&&this.renderReactive(s)){let M=this.tsElReceiver(e);this.renderEffect(n,()=>{let L=this.b.offset;if(M.emit(),this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitPrimitive(i)),o([L,this.b.offset]),this.b.emit(" = "),this.renderExpr(s),i==="value"&&!E.isStringLiteral(s))this.b.emit(" ?? ''");this.b.emit(";")},s);continue}if(i==="innerHTML"||i==="textContent"||i==="innerText"){let M=this.tsElReceiver(e),L=()=>{let A=this.b.offset;M.emit(),this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitPrimitive(i)),o([A,this.b.offset]),this.b.emit(" = "),this.renderExpr(s)};if(this.renderReactive(s))this.renderEffect(n,()=>{L(),this.b.emit(";")},s);else this.renderLine(n,L);continue}if(E.BOOLEAN_ATTRS.has(i)){let M=this.tsElReceiver(e),L=()=>{let A=c(()=>this.emitKeyAs(h,i));if(this.ts&&M.surfaced&&A!==null)this.intrinsics.push({start:A[0],end:A[1],kind:"attr",name:i,type:"boolean | undefined"})};if(this.renderReactive(s))this.renderEffect(n,()=>{if(M.emit(),this.b.emit(".toggleAttribute('"),L(),this.b.emit("', !!"),this.ts)this.b.tsOnly(()=>this.b.emit("("));f(()=>this.renderExpr(s));let A=this.b.offset+1;if(this.ts)this.b.tsOnly(()=>this.b.emit(" satisfies boolean | undefined)"));if(this.ts)o([A,A+9]);this.b.emit(");")},s);else this.renderLine(n,()=>{this.b.emit("if ("),f(()=>this.withExpression(()=>this.expr(s)));let A=this.b.offset+1;if(this.ts)this.b.tsOnly(()=>this.b.emit(" satisfies boolean | undefined"));if(this.ts)o([A,A+9]);this.b.emit(") "),M.emit(),this.b.emit(".setAttribute('"),L(),this.b.emit("', '')")});continue}if(i==="style"){let M=this.tsElReceiver(e),L=()=>{if(this.b.emit("{ const __v"),o([this.b.offset-3,this.b.offset]),this.ts)this.b.tsOnly(()=>{if(M.surfaced)this.b.emit(`: ${M.valsName}['`),this.emitKeyAs(h,i),this.b.emit("'] | undefined");else this.b.emit(": any")});this.b.emit(" = "),this.renderExpr(s),this.b.emit(`; ${this.runtimeName("__style")}(`),M.emit(),this.b.emit(", __v); }")};if(this.renderReactive(s))this.renderEffect(n,L,s);else this.renderLine(n,L,!1);if(this.ts&&M.surfaced&&a!==null)this.intrinsics.push({start:a.key[0],end:a.key[1],kind:"attr",name:i,type:"string | __RipCSSProperties | undefined"});continue}let u=this.ts&&this.routesUnion!==null&&i==="href"&&this.rstate.tags?.get(e)==="a"&&this.isRouteLiteralValue(s);if(u)this._needsRouteHelper=!0;let d=this.tsElReceiver(e),p=!(typeof s==="string"&&(!be(s)||s==="true"||s==="false")||y(s)&&s[0]==="str"),m=null,g=null,b=!1,S=()=>{if(b||!this.ts||!d.surfaced||m===null||g===null)return;b=!0,this.intrinsics.push(u?{start:m[0],end:m[1],kind:"attr",name:i,type:this.routesUnion,route:!0}:{start:m[0],end:m[1],kind:"attr",name:i,gen:g});let M=this.renderTagOf(e);if(!ci(M,i))this.intrinsics.push({start:m[0],end:m[1],kind:"unknown-attr",tag:M,name:i,message:this.unknownAttrMessage(M,i,{bare:!1,svg:this.rstate?.svgEls?.has(e)===!0})})},w=()=>{g=this.b.offset+1,this.b.emit(".setAttribute('"),S()},R=()=>{let M=c(()=>this.emitKeyAs(h,i));if(m===null)m=M;S()},k=()=>f(()=>this.renderExpr(s)),j=()=>{if(!this.ts)return;this.b.tsOnly(()=>this.b.emit(d.surfaced?`: ${d.valsName}['${i}'] | undefined`:": any"))};if(this.renderReactive(s))if(p)this.renderEffect(n,()=>{this.b.emit("{ const __v"),o([this.b.offset-3,this.b.offset]),j(),this.b.emit(" = "),k(),this.b.emit("; __v == null ? "),d.emit(),this.b.emit(".removeAttribute('"),R(),this.b.emit("') : "),d.emit(),w(),R(),this.b.emit("', __v); }")},s);else this.renderEffect(n,()=>{d.emit(),w();let M=this.b.offset;R();let L=this.b.offset;if(this.b.emit("', "),u)this.b.tsOnly(()=>this.b.emit("__ripRoute("));let A=this.b.offset;o(k());let P=this.b.offset;if(this.ts){if(u)this.b.tsOnly(()=>this.b.emit(")"));else if(!d.surfaced)this.b.tsOnly(()=>this.b.emit(" as any"))}if(this.b.emit(");"),u)this.routeWrapSpans.push({key:[M,L],value:[A,P]})},s);else if(p)this.renderLine(n,()=>{this.b.emit("{ const __v"),o([this.b.offset-3,this.b.offset]),j(),this.b.emit(" = "),k(),this.b.emit("; if (__v != null) "),d.emit(),w(),R(),this.b.emit("', __v); }")},!1);else this.renderLine(n,()=>{d.emit(),w();let M=this.b.offset;R();let L=this.b.offset;if(this.b.emit("', "),u)this.b.tsOnly(()=>this.b.emit("__ripRoute("));let A=this.b.offset;o(k());let P=this.b.offset;if(this.ts){if(u)this.b.tsOnly(()=>this.b.emit(")"));else if(!d.surfaced)this.b.tsOnly(()=>this.b.emit(" as any"))}if(this.b.emit(")"),u)this.routeWrapSpans.push({key:[M,L],value:[A,P]})})}}loopVarNames(){let e=new Set;for(let t of this.rstate.sink.loopStack)e.add(t.itemVar),e.add(t.indexVar);return e}checkCrossScopeLocals(e,t){let r=this.rstate;if(!r)return;let n=this.loopVarNames(),i=(s)=>r.sink.locals.has(s)||n.has(s);for(let s=r.sink.parent;s!==null;s=s.parent){if(s.locals.size===0)continue;let a=new Set([...s.locals].filter((o)=>!i(o)));if(a.size>0&&Re(e,a))throw this.positionedError(t,"emitter: this expression reads a render local of an ENCLOSING render scope — each dynamic block (a "+"conditional branch, a loop body) is its own factory function, and render locals never cross that boundary ; declare the local inside this block, or use a member",this.rstate.node)}}renderBinding(e){let[t,r,n]=e,i=this.rstate.sink,s=this.firstAwaitIn(n);if(s!==null)throw this.renderSyncError(s);if(r.startsWith("__"))throw this.positionedError(e,`emitter: render local '${r}' — double-underscore names are the compiler/runtime namespace inside render `+"(factory scaffolding and injected helpers live there)");if(i.loopStack.some((a)=>a.itemVar===r||a.indexVar===r))throw this.positionedError(e,`emitter: '${r}' is a loop variable — a render local cannot re-declare or assign it `);if(t==="="){if(!i.locals.has(r)){if(i.locals.add(r),i.bindings.add(r),i.localDecls.set(r,e),i.kind!=="class")i.vars.add(r)}}else if(!i.locals.has(r))throw this.positionedError(e,`emitter: compound assignment to '${r}' — no render local of that name is declared in this render scope `+"(`name = expr` declares one)");return this.checkCrossScopeLocals(n,e),this.renderLine(e,()=>{this.mark(e,"target",()=>this.b.emit(r)),this.b.emit(` ${t} `),this.mark(e,"value",()=>this.withExpression(()=>this.expr(n)))}),null}closeRenderScope(e){for(let[t,r]of e.localDecls){let n=0,i=(s)=>{if(typeof s==="string"){if(s===t)n++;return}if(!y(s))return;if(sa.has(s[0])&&s.length===3&&s[1]===t){i(s[2]);return}if((s[0]===":"||s[0]==="void-pair")&&s.length===3&&typeof s[1]==="string"){i(s[2]);return}if((s[0]==="."||s[0]==="?.")&&s.length===3&&typeof s[2]==="string"){i(s[1]);return}for(let a of s)i(a)};for(let s of e.stmts)i(s);if(n===0)throw this.positionedError(r,`emitter: render local '${t}' is never read — a dead local renders NOTHING (if this line meant an `+`element with expression text, spell it \`${t}\` + indented \`= expr\`: inside render \`${t} = expr\` declares a local named the tag)`,this.rstate.node)}}static collectLeafNames(e,t){if(typeof e==="string"){if(ft.test(e))t.add(e);return}if(!y(e))return;if((e[0]===":"||e[0]==="void-pair")&&e.length===3&&typeof e[1]==="string"){E.collectLeafNames(e[2],t);return}if((e[0]==="."||e[0]==="?.")&&e.length===3&&typeof e[2]==="string"){E.collectLeafNames(e[1],t);return}for(let r of e)E.collectLeafNames(r,t)}static mintName(e,t){let r=e;while(t.has(r))r=`${r}_`;return t.add(r),r}threadProjectionHost(e){if(e===null||e.startsWith("this."))return;for(let t=this.rstate.sink;t&&t.hostParams!==void 0&&!t.vars.has(e);t=t.parent){if(t.hostParams.includes(e))continue;t.hostParams.push(e),t.paramNames.push(e)}}walkFactory(e,t,r,n=null){let i=this.rstate,s=i.sink,a=this.newBlockName(),o=n!==null?[n.itemVar,n.indexVar]:[],l=new Set(o),c=new Set;E.collectLeafNames(e,c);let f=new Set(s.renameHazardNames??[]),h=(S)=>{if(!l.has(S))return l.add(S),S;let w=`${S}_`;while(l.has(w)||c.has(w))w+="_";return l.add(w),f.add(S),f.add(w),w},u=s.loopStack.map((S)=>({...S,itemVar:h(S.itemVar),indexVar:h(S.indexVar)})),d=u.flatMap((S)=>[S.itemVar,S.indexVar]),p=n!==null?[...u,n]:u,m={kind:t,name:a,parent:s,self:"ctx",paramNames:[...o,...d],hostParams:[],frameVar:"__fr",ownerVar:"__o",creates:[],setups:[],vars:new Set,locals:new Set,localDecls:new Map,bindings:new Set([...d,...o]),refs:[],loopStack:p,stmts:[],forceNonStatic:!1,root:null,isStatic:!1,originNode:r,hasKids:!1,kidsVar:null,renameHazardNames:f,readVars:new Set,narrowed:[...s.narrowed??[],...this._narrowNext??[]]};if(this._narrowNext=null,n!==null)n.owner=m;i.records.push(m);let g=i.transitionSlot;i.transitionSlot=t==="branch"?{record:m,el:null}:null,i.sink=m,this.rframes.push({reactive:new Set,bound:m.bindings,loopVars:m.bindings,loopBindings:E.loopBindingsOf(m)});try{let S;if(g1(e))S=e.slice(1);else if(y(e)&&e.length===1&&y(e[0])&&this.stores.idOf(e)===null)S=[e[0]];else S=[e];if(m.stmts=S,m.root=S.length===0?null:this.walkChildStmts(S),m.root===null)m.root=this.newRenderVar("empty"),this.renderLine(null,()=>this.b.emit(`${m.root} = document.createComment('')`))}finally{this.rframes.pop(),i.sink=s,i.transitionSlot=g}this.closeRenderScope(m),m.isStatic=t==="loop"&&m.setups.length===0&&!m.forceNonStatic;let b=new Set([...m.bindings,...m.locals,...m.vars]);if(E.collectLeafNames(m.stmts,b),m.self=E.mintName("ctx",b),m.frameVar=E.mintName("__fr",b),m.ownerVar=E.mintName("__o",b),m.hasKids)m.kidsVar=E.mintName("_factoryChildren",b);return m}narrowConjuncts(e){if(y(e)&&e[0]==="&&"&&e.length===3)return[...this.narrowConjuncts(e[1]),...this.narrowConjuncts(e[2])];if(typeof e==="string")return this.renderVarKind(e)!==null||this.bareRewrite(e)===null?[]:[e];if(!E.isDotChain(e))return[];let t=e;while(y(t))t=t[1];if(t==="this")return[e];if(this.renderVarKind(t)!==null||this.bareRewrite(t)===null)return[];return[e]}static isDotChain(e){if(!y(e)||e[0]!=="."||e.length!==3||typeof e[2]!=="string"||e[2][0]==='"')return!1;let t=e[1];if(t==="this")return!0;if(typeof t==="string")return/^[A-Za-z_$][\w$]*$/.test(t);return E.isDotChain(t)}activeNarrowed(){let e=this.renderRecord;if(!this.ts||!e||!(e.narrowed?.length>0))return[];return e.narrowed.filter((t)=>{let r=t;while(y(r))r=r[1];return r==="this"||!(e.bindings.has(r)||e.locals.has(r))})}hasNarrow(){return this.activeNarrowed().length>0}narrowedReadNames(){let e=new Set;for(let t of this.activeNarrowed())if(typeof t==="string")e.add(t);else if(t[0]==="."&&t[1]==="this"&&t.length===3&&typeof t[2]==="string")e.add(t[2]);return e}narrowGuard(e="statement",{trailing:t=!0}={}){let r=this.activeNarrowed();if(r.length===0)return!1;this._needsNarrowHelper=!0,this.b.suppressClaims=!0;try{this.b.tsOnly(()=>this.b.echo(()=>{if(r.forEach((n,i)=>{if(i>0)this.b.emit(" ");this.b.emit(e==="statement"?"__ripNarrow(":"(__ripNarrow("),this.renderExpr(n),this.b.emit(e==="statement"?");":"),")}),t)this.b.emit(" ")}))}finally{this.b.suppressClaims=!1}return!0}narrowGuardClose(e){if(e)this.b.tsOnly(()=>this.b.emit(")".repeat(this.activeNarrowed().length)))}renderCond(e,t=e){if(e.length>4)throw this.positionedError(e,"emitter: unexpected flat conditional chain shape in render (internal)");if(this.stores.idOf(t)===null&&this._chainMarkNode)t=this._chainMarkNode;let[,r,n]=e,i=e.length===4?e[3]:null;this.checkSetupLocalRefs(r,t),this.checkCrossScopeLocals(r,t);let s=this.newRenderVar("anchor");this.renderLine(null,()=>this.b.emit(`${s} = document.createComment('if')`)),this._narrowNext=this.narrowConjuncts(r);let a=this.walkFactory(n,"branch",t),o=this._chainMarkNode;if(i!==null&&y(i)&&i[0]==="if"&&this.stores.idOf(i)===null)this._chainMarkNode=t;let l=i!==null?this.walkFactory(i,"branch",t):null;this._chainMarkNode=o;let c=a.refs.length>0||l!==null&&l.refs.length>0,f=this.rstate.sink;if(l!==null){for(let[u,d]of[[a,l],[l,a]])for(let p of u.hostParams){if(d.hostParams.includes(p))continue;d.hostParams.push(p),d.paramNames.push(p)}l.hostParams.sort((u,d)=>a.hostParams.indexOf(u)-a.hostParams.indexOf(d)),l.paramNames.splice(l.paramNames.length-l.hostParams.length,l.hostParams.length,...l.hostParams)}let h=[...f.loopStack.flatMap((u)=>[u.itemVar,u.indexVar]),...a.hostParams];return f.setups.push({kind:"raw",node:t,fn:(u)=>this.emitCondSetup(u,t,e,s,a,l,c,h)}),s}renderSwitch(e){let[,t,r,n]=e;if(E.hasMatchArms(r))this.checkMatchSwitch(e);let i=n;for(let s=r.length-1;s>=0;s--){let[,a,o]=r[s],l;if(t===null)l=a.reduce((c,f)=>c===null?f:["||",c,f],null);else l=a.map((c)=>E.matchArmSexpr(t,c)).reduce((c,f)=>c===null?f:["||",c,f],null);i=i!==null?["if",l,o,i]:["if",l,o]}if(i===null||i[0]!=="if")return i===null?this.renderNode("null"):this.renderChildBlock(i);return this.renderCond(i,e)}renderLoop(e){let[,t,r,n,i,s]=e;if(n!==null)throw this.positionedError(e,"emitter: a `by` step has no render reading — the reconciler patches whole collections; step the collection itself: `items.filter((x, i) -> i % 2 == 0)`");if(i!==null)throw this.positionedError(e,"emitter: a `when` guard has no render reading — the reconciler patches whole collections; filter the collection itself: `for x in items.filter((x) -> cond)`");if(t.length>2||t.some((w)=>typeof w!=="string"))throw this.positionedError(e,"emitter: a render loop takes plain item and index variables (`for item, i in items`) — destructuring loop "+"variables have no factory-parameter reading here; destructure inside the body");if(t.length===2&&t[0]===t[1])throw this.positionedError(e,`emitter: a render loop cannot bind '${t[0]}' as BOTH item and index — one name cannot hold two row facts `);for(let w of t)if(w.startsWith("__"))throw this.positionedError(e,`emitter: render loop variable '${w}' — double-underscore names are the compiler/runtime namespace inside `+"render (factory scaffolding and injected helpers live there)");this.checkSetupLocalRefs(r,e),this.checkCrossScopeLocals(r,e);let a=t[0],o=t[1]??null;if(o===null){let w=new Set(this.loopVarNames());w.add(a),E.collectRenderBodyBindings(s,w);let R=(k,j)=>{if(typeof k==="string")return k===j;return y(k)&&k.some((M)=>R(M,j))};for(let k of["i","j","k","l","m","n"])if(!w.has(k)&&!R(s,k)){o=k;break}o=o??`__rip_idx${this.rstate.sink.loopStack.length}`}let l=this.newRenderVar("anchor");this.renderLine(null,()=>this.b.emit(`${l} = document.createComment('for')`));let c=this.renderReactive(r),f=this.extractLoopKey(s,e),h=f!==null?this.rstate.keySpan??null:null;if(f!==null)this.checkSetupLocalRefs(f,e),this.checkCrossScopeLocals(f,e);let u=this.stores.idOf(e),d=u!==null?this.stores.role(u,"vars"):null,p=this.primitiveAvoid;if(d?.sourceStart!=null)this.primitiveAvoid=[...p??[],[d.sourceStart,d.sourceEnd]];let m;try{m=this.walkFactory(s,"loop",e,{itemVar:a,indexVar:o,reactiveSource:c,iter:r,node:e})}finally{this.primitiveAvoid=p}if(f!==null){if(m.locals.size>0&&Re(f,m.locals))throw this.positionedError(e,"emitter: a `key:` expression must be evaluable in the loop HEADER scope — it reads a render local declared "+"inside the loop body, which lives in the row factory (derive the key from the item inline: `key: item.id`)");if(!Re(f,new Set([a,o])))throw this.positionedError(e,`emitter: a loop key must derive from the row — this \`key:\` expression never reads '${a}'${t.length===2?` or '${o}'`:""} (a row-independent key cannot identify rows)`)}let g=m.refs.length>0,b=this.rstate.sink,S=[...b.loopStack.flatMap((w)=>[w.itemVar,w.indexVar]),...m.hostParams];return b.setups.push({kind:"raw",node:e,fn:(w)=>this.emitLoopSetup(w,e,l,r,m,f,a,o,g,S,h)}),l}static collectRenderBodyBindings(e,t){if(!y(e))return;if((e[0]==="for-in"||e[0]==="for-of"||e[0]==="for-as")&&y(e[1])){for(let r of e[1])if(typeof r==="string")t.add(r)}else if(e[0]==="="&&e.length===3&&typeof e[1]==="string")t.add(e[1]);for(let r of e)E.collectRenderBodyBindings(r,t)}extractLoopKey(e,t){let n=(g1(e)?e.slice(1):[e]).find((s)=>!this.isRenderBinding(s));if(!y(n))return null;let i=(s)=>{for(let a=1;athis.b.emit(e.join(", ")))}emitCondSetup(e,t,r,n,i,s,a,o){let l=this.renderSelf??"this",c=e+" ",f=c+" ",h=new Set([l,...o]);E.collectLeafNames(r[1],h);let u=E.mintName("anchor",h),d=E.mintName("currentBlock",h),p=E.mintName("showing",h),m=E.mintName("show",h),g=E.mintName("want",h),b=E.mintName("leaving",h),S=this.runtimeName("__transition"),w=(k)=>{this.b.emit(`${f} ${d} = ${l}.${k.name}(${l}`),this.emitOuterLoopArgs(o),this.b.emit(`); `),this.b.emit(`${f} ${d}.c(); `),this.b.emit(`${f} if (${u}.parentNode) ${d}.m(${u}.parentNode, ${u}.nextSibling); `),this.b.emit(`${f} ${d}.p(${l}`),this.emitOuterLoopArgs(o),this.b.emit(`); @@ -232,7 +234,7 @@ ${O} ${l} = ${o}._mountSetup(document.createComment('rip:child-error: ${t}')); `),this.b.emit(`${u}}); `),this.b.emit(`${u}${this.runtimeName("__ownerFrame")}().add(() => { for (const ${g} of ${m}.blocks) { try { ${g}.d(true); } catch {} } ${m}.blocks = []; ${m}.keys = []; ${m}.items = []; }); `),this.b.emit(`${e}} -`)})}emitFactory(e,t,r){let n=" ".repeat(t+1),i=n+" ",s=i+" ",a=s+" ",{self:o,frameVar:l,ownerVar:c}=e,f=[o,...e.paramNames],h=e.setups.length>0,u=new Set([...e.bindings,...e.locals,...e.vars,o,l,c]);if(e.kidsVar!==null)u.add(e.kidsVar);E.collectLeafNames(e.stmts,u);let d=[o,...e.paramNames.map((L)=>E.mintName(`__${L}`,u))],p=e.kidsVar!==null?E.mintName("__c",u):null,m=e.kidsVar!==null?E.mintName("__e",u):null,g=!e.isStatic,b=this.ts?E.mintName("__Ctx",u):null,S=new Map,w=new Map;if(e.loopStack.forEach((L)=>{if(L.node!==void 0)w.set(L.itemVar,L.node),w.set(L.indexVar,L.node)}),this.ts){for(let L of e.loopStack){let A=this.tsLoopItemTypeText(L,e.self);if(A!==null)S.set(L.itemVar,A);S.set(L.indexVar,"number")}for(let L of e.hostParams)S.set(L,"any")}let R=new Map;for(let L of e.loopStack){let A=L.node?this.stores.idOf(L.node):null,P=A!==null?this.stores.role(A,"vars"):null;if(P?.sourceStart==null)continue;for(let v of[L.itemVar,L.indexVar]){if(typeof v!=="string"||R.has(v))continue;let V=this.stores.primitiveSpans(v,P.sourceStart,P.sourceEnd)[0]??null;if(V)R.set(v,{id:A,start:V.sourceStart,end:V.sourceEnd,owner:L.owner,which:v===L.itemVar?"item":"index"})}}let k=(L,A,P)=>{L.forEach((v,V)=>{if(V>0)this.b.emit(", ");let W=()=>{let T=R.get(v);if(T){let F=this.b.offset;if(this.b.markSpan(T.id,"identifier",T.start,T.end,()=>this.b.emit(v)),this.isRenderLoopName(v))this.loopVars.push([F,this.b.offset]);if(T.owner!==void 0)this.loopVarDecls.push({span:[F,this.b.offset],owner:T.owner,which:T.which})}else this.emitPrimitive(v);if(!this.ts)return;let N=V===0?A:P(v,V);if(N!=null)this.b.tsOnly(()=>this.b.echo(()=>this.b.emit(`: ${N}`)))},G=w.get(v);if(G!==void 0)this.mark(G,"$self",W);else W()})},j=e.kind==="loop"?e.loopStack.at(-1):null,M=j!==null?this.tsIterThunkName(j):null;if(M!==null){let L=e.paramNames.slice(2,e.paramNames.length-e.hostParams.length),A;this.withRecordContext(e,()=>{A=this.capturedExprText(()=>this.expr(j.iter),{source:this.b.source})});let P=[`${o}: this`,...L.map((v)=>S.has(v)?`${v}: ${S.get(v)}`:v)];this.b.tsOnly(()=>this.b.echo(()=>this.b.emit(`${n}${M}(${P.join(", ")}) { return ${A}; } +`)})}emitFactory(e,t,r){let n=" ".repeat(t+1),i=n+" ",s=i+" ",a=s+" ",{self:o,frameVar:l,ownerVar:c}=e,f=[o,...e.paramNames],h=e.setups.length>0,u=new Set([...e.bindings,...e.locals,...e.vars,o,l,c]);if(e.kidsVar!==null)u.add(e.kidsVar);E.collectLeafNames(e.stmts,u);let d=[o,...e.paramNames.map((L)=>E.mintName(`__${L}`,u))],p=e.kidsVar!==null?E.mintName("__c",u):null,m=e.kidsVar!==null?E.mintName("__e",u):null,g=!e.isStatic,b=this.ts?E.mintName("__Ctx",u):null,S=new Map,w=new Map;if(e.loopStack.forEach((L)=>{if(L.node!==void 0)w.set(L.itemVar,L.node),w.set(L.indexVar,L.node)}),this.ts){for(let L of e.loopStack){let A=this.tsLoopItemTypeText(L,e.self);if(A!==null)S.set(L.itemVar,A);S.set(L.indexVar,"number")}for(let L of e.hostParams)S.set(L,"any")}let R=new Map;for(let L of e.loopStack){let A=L.node?this.stores.idOf(L.node):null,P=A!==null?this.stores.role(A,"vars"):null;if(P?.sourceStart==null)continue;for(let v of[L.itemVar,L.indexVar]){if(typeof v!=="string"||R.has(v))continue;let V=this.stores.primitiveSpans(v,P.sourceStart,P.sourceEnd)[0]??null;if(V)R.set(v,{id:A,start:V.sourceStart,end:V.sourceEnd,owner:L.owner,which:v===L.itemVar?"item":"index"})}}let k=(L,A,P)=>{L.forEach((v,V)=>{if(V>0)this.b.emit(", ");let H=()=>{let T=R.get(v);if(T){let F=this.b.offset;if(this.b.markSpan(T.id,"identifier",T.start,T.end,()=>this.b.emit(v)),this.isRenderLoopName(v))this.loopVars.push([F,this.b.offset]);if(T.owner!==void 0)this.loopVarDecls.push({span:[F,this.b.offset],owner:T.owner,which:T.which})}else this.emitPrimitive(v);if(!this.ts)return;let N=V===0?A:P(v,V);if(N!=null)this.b.tsOnly(()=>this.b.echo(()=>this.b.emit(`: ${N}`)))},G=w.get(v);if(G!==void 0)this.mark(G,"$self",H);else H()})},j=e.kind==="loop"?e.loopStack.at(-1):null,M=j!==null?this.tsIterThunkName(j):null;if(M!==null){let L=e.paramNames.slice(2,e.paramNames.length-e.hostParams.length),A;this.withRecordContext(e,()=>{A=this.capturedExprText(()=>this.expr(j.iter),{source:this.b.source})});let P=[`${o}: this`,...L.map((v)=>S.has(v)?`${v}: ${S.get(v)}`:v)];this.b.tsOnly(()=>this.b.echo(()=>this.b.emit(`${n}${M}(${P.join(", ")}) { return ${A}; } `)))}this.mark(r,"$self",()=>{this.withRecordContext(e,()=>{if(this.b.emit(`${n}${e.name}(`),k(f,"this",(P)=>S.get(P)),this.b.emit(`) { `),this.ts&&g)this.b.tsOnly(()=>this.b.emit(`${i}type ${b} = typeof ${o}; `));if(e.vars.size>0)this.b.emit(`${i}let `),[...e.vars].forEach((P,v)=>{if(v>0)this.b.emit(", ");this.b.emit(P),this.tsScaffoldAny()}),this.b.emit(`; @@ -246,7 +248,7 @@ ${O} ${l} = ${o}._mountSetup(document.createComment('rip:child-error: ${t}')); `),this.b.emit(`${s}m(target`),this.tsScaffoldAny(),this.b.emit(", anchor"),this.tsScaffoldAny(),this.b.emit(`) { `),L!==void 0)for(let P of L)this.b.emit(`${a}if (target) target.insertBefore(${P}, anchor); `);else this.b.emit(`${a}if (target) target.insertBefore(${e.root}, anchor); -`);for(let P of e.refs)this.b.emit(a),this.mark(P.node,"$self",()=>{let v=this.ts&&typeof P.tag==="string";if(v)this.b.tsOnly(()=>this.b.emit(`${P.svg?"__ripRefCellSvg":"__ripRefCell"}('${P.tag}', `));let V=this.b.offset;this.b.emit(`${o}.`);let W=this.emitPrimitive(P.name);if(W!==null)this.memberDecls.push({start:W[0],end:W[1]});if(v)P.site([V,this.b.offset]);if(v)this.b.tsOnly(()=>this.b.emit(")"));if(this.b.emit(`.value = ${P.elVar}`),v)this.b.tsOnly(()=>this.b.emit(` as ${De(P.tag,P.svg)} | null`));this.b.emit(";")}),this.b.emit(` +`);for(let P of e.refs)this.b.emit(a),this.mark(P.node,"$self",()=>{let v=this.ts&&typeof P.tag==="string";if(v)this.b.tsOnly(()=>this.b.emit(`${P.svg?"__ripRefCellSvg":"__ripRefCell"}('${P.tag}', `));let V=this.b.offset;this.b.emit(`${o}.`);let H=this.emitPrimitive(P.name);if(H!==null)this.memberDecls.push({start:H[0],end:H[1]});if(v)P.site([V,this.b.offset]);if(v)this.b.tsOnly(()=>this.b.emit(")"));if(this.b.emit(`.value = ${P.elVar}`),v)this.b.tsOnly(()=>this.b.emit(` as ${De(P.tag,P.svg)} | null`));this.b.emit(";")}),this.b.emit(` `);if(this.b.emit(`${s}}, `),this.b.emit(`${s}p(`),g)k(d,b,(P,v)=>`typeof ${e.paramNames[v-1]}`);if(this.b.emit(`) { `),g&&e.paramNames.length>0)this.b.emit(a),this.b.echo(()=>this.b.emit(e.paramNames.map((P,v)=>`${P} = ${d[v+1]};`).join(" "))),this.b.emit(` @@ -293,19 +295,19 @@ ${" ".repeat(t)}`);i.forEach((h,u)=>{this.b.emit(`${h} = `),c(),this.b.emit(`[$ `)}implicitReturn(e,t){this.withTsDirectives(e," ".repeat(t),()=>this.implicitReturnCore(e,t))}implicitReturnCore(e,t){if(y(e)&&(e[0]==="return"||e[0]==="throw"))return this.statement(e,t);if(typeof e==="string"&&(e==="break"||e==="continue"||e==="debugger"))return this.statement(e,t);if(this.ind=t,y(e)){let r=e[0];if(r==="if"&&e.length>=3&&e.length<=4){if(E.ifIsSimple(e))this.b.emit("return ("),this.mark(e,"$self",()=>this.ifTernary(e)),this.b.emit(");");else this.mark(e,"$self",()=>this.returnifyIf(e,t));return}if(r==="try"){this.withTailReturn(()=>this.tryBranches(e,t));return}if(r==="switch"&&e.length===4){this.b.emit("return "),this.withTailReturn(()=>this.valueSwitch(e)),this.b.emit(";");return}if(r==="while"&&(e.length===3||e.length===4)||r==="loop"&&e.length===2)return this.statement(e,t);if(E.returnGuard(e)||E.stmtGuard(e)||r==="="&&e.length===3&&(E.returnGuard(e[2])||E.stmtGuard(e[2])))return this.statement(e,t);if(r===".="&&e.length===3)return this.statement(e,t);if(r==="="&&e.length===3&&E.sliceTarget(e[1])!==null)return this.statement(e,t);if(r==="enum")return this.statement(e,t);if(this.isReactiveDecl(e)||this.isReadonlyDecl(e))return this.statement(e,t);if(this.isEffectDecl(e)&&e[1]!==null)return this.statement(e,t);if((r==="for-in"||r==="for-of"||r==="for-as")&&e.length===6)return this.returnifyLoop(e,t);if(k1(r))throw this.positionedError(e,"emitter: implicit return of a 'def' body is not supported yet")}this.b.emit("return "),this.withTailReturn(()=>{let r=E.needsGrouping(e,"return");if(r)this.b.emit("(");if(this.expr(e),r)this.b.emit(")")}),this.b.emit(";")}update(e){if(typeof e[1]==="string"&&this.isComputedName(e[1]))throw this.positionedError(e,`emitter: cannot assign to computed '${e[1]}' — a '~=' binding derives from its dependencies; write to those instead`);if(typeof e[1]==="string"&&this.isAmbientReadonly(e[1]))throw this.positionedError(e,`emitter: cannot assign to readonly '${e[1]}' — a '=!' binding never changes after its declaration`);if(this.checkExportedConstWrite(e,e[1]),this.checkMemberWrite(e,e[1]),y(e[1])&&E.optionalGuard(e[1])!==null)throw this.positionedError(e,"emitter: an optional chain cannot be an update target — no reference exists for `obj?.x++`; "+"guard it explicitly (`obj.x++ if obj?`)");this.mark(e,"$self",()=>{let[t,r,n]=e;if(n)this.mark(e,"target",()=>this.withTarget(()=>this.expr(r))),this.mark(e,"operator",()=>this.b.emit(t));else this.mark(e,"operator",()=>this.b.emit(t)),this.mark(e,"target",()=>this.withTarget(()=>this.expr(r)))})}relation(e){let[t,r,n]=e,i=t[0]==="!",s=i?t.slice(1):t;this.mark(e,"$self",()=>{if(i)this.b.emit("!(");if(s==="instanceof"){if(this.operand(e,"left",r),this.b.emit(" instanceof "),this.operand(e,"right",n),i)this.b.emit(")");return}if(s==="of"||s==="in"&&O1(n))this.operand(e,"left",r),this.b.emit(" in "),this.operand(e,"right",n);else if(y(n))this.b.emit(E.MEMBER_IN+"("),this.mark(e,"left",()=>this.expr(r)),this.b.emit(", "),this.mark(e,"right",()=>this.expr(n)),this.b.emit(")");else this.b.emit("Array.isArray("),this.expr(n),this.b.emit(") || typeof "),this.expr(n),this.b.emit(" === 'string' ? "),this.expr(n),this.b.emit(".includes("),this.mark(e,"left",()=>this.expr(r)),this.b.emit(") : ("),this.expr(r),this.b.emit(" in "),this.mark(e,"right",()=>this.expr(n)),this.b.emit(")");if(i)this.b.emit(")")})}static ternaryHoists(e){let t=e;while(y(t[2])&&t[2][0]==="?:"&&t[2].length===4&&!t[2].parenthesized)t=t[2];let r=t[2];return y(r)&&r[0]==="="&&r.length===3&&typeof r[1]==="string"&&!r.parenthesized}ternary(e){let t=[e];while(!0){let a=t[t.length-1][2];if(y(a)&&a[0]==="?:"&&a.length===4&&!a.parenthesized)t.push(a);else break}let r=t[t.length-1],n=E.ternaryHoists(r),i=(a,o,l)=>{this.grouped(a,o,l,E.needsGrouping(l,"operand")||U1(l))},s=(a)=>this.grouped(a,"condition",a[1],y(a[1])&&a[1][0]==="?:");this.mark(e,"$self",()=>{if(n)this.expr(r[2][1]),this.b.emit(" = (");s(r),this.b.emit(" ? "),i(r,"then",n?r[2][2]:r[2]);for(let a=t.length-2;a>=0;a--)this.b.emit(" : ("),s(t[a]),this.b.emit(" ? "),i(t[a+1],"else",t[a+1][3]);if(this.b.emit(" : "),i(t[0],"else",t[0][3]),this.b.emit(")".repeat(t.length-1)),n)this.b.emit(")")})}strTemplate(e){this.mark(e,"$self",()=>{this.b.emit("`"),this.templateChunks(e.slice(1)),this.b.emit("`")})}templateChunks(e){for(let t of e){if(t==="")continue;if(y(t)){if(t.length!==1)throw this.positionedError(t,"emitter: multi-statement interpolations are not supported yet");this.b.emit("${"),this.mark(t,"$self",()=>{let r=E.needsGrouping(t[0],"operand")||U1(t[0]);if(r)this.b.emit("(");if(this.expr(t[0]),r)this.b.emit(")")}),this.b.emit("}")}else{let r=t.slice(1,-1);if(r!=="")this.b.emit(E.escapeTemplate(r))}}}heregex(e){let[,t,...r]=e;this.mark(e,"$self",()=>{if(this.b.emit("RegExp(`"),this.templateChunks(r),this.b.emit("`"),t!=="")this.b.emit(`, '${t}'`);this.b.emit(")")})}call(e){if(this.browserModule&&e[0]==="import"&&this.lockedHead(e,"dynimport")){let t=this.positionedError(e,"emitter: dynamic import is not supported in a browser App module — use a static import so Rip can publish and resolve the dependency");if(typeof t.start!=="number"&&this.b.currentMark)t.start=this.b.currentMark.sourceStart,t.end=this.b.currentMark.sourceEnd;throw t}if(this.repl&&e[0]==="import"&&(e.length===2||e.length===3)&&this.lockedHead(e,"dynimport")){this.mark(e,"$self",()=>{this.b.emit(`import(${this.replResolver()}(`),this.mark(e,"args",()=>{if(this.callArg(e[1]),this.b.emit(")"),e.length===3)this.b.emit(", "),this.callArg(e[2])}),this.b.emit(")")});return}if(e[0]==="rest"&&this.inPattern)throw this.positionedError(e,this.bindingPattern?"emitter: a `rest` element is only legal at an array pattern's tail":"emitter: Cannot use 'rest' expression as a destructuring target (destructuring rest is spelled '...name')");if(y(e[0])&&e[0][0]==="dammit!"){if(this.renderSyncGuard(e),e[0].parenthesized){this.mark(e,"$self",()=>{this.b.emit("("),this.dammit(e[0]),this.b.emit(")"),this.mark(e,"args",()=>{this.b.emit("("),e.slice(1).forEach((n,i)=>{if(i>0)this.b.emit(", ");this.callArg(n)}),this.b.emit(")")})});return}let t=e[0][1],r=xe(t);this.mark(e,"$self",()=>{this.b.emit(r?"await new ":"await "),this.mark(e[0],"$self",()=>{if(r)this.mark(e[0],"target",()=>this.rubyNewTarget(t));else this.head(e[0],"target",t)}),this.mark(e,"args",()=>{this.b.emit("("),e.slice(1).forEach((n,i)=>{if(i>0)this.b.emit(", ");this.callArg(n)}),this.b.emit(")")})});return}if(y(e[0])&&e[0][0]==="."&&e[0].length===3&&e[0][2]==="new"){this.mark(e,"$self",()=>{this.b.emit("new "),this.rubyNewTarget(e[0]),this.mark(e,"args",()=>{this.b.emit("("),e.slice(1).forEach((t,r)=>{if(r>0)this.b.emit(", ");this.callArg(t)}),this.b.emit(")")})});return}this.chain(e)}rubyNewTarget(e){let t=e[1];this.mark(e,"object",()=>{if(y(t))this.b.emit("("),this.expr(t),this.b.emit(E.optionalGuard(t)?" ?? undefined)":")");else this.expr(t)})}static MODULO="((n, d) => { n = +n; d = +d; return (n % d + d) % d; })";static LITERAL_WORDS=new Set(["true","false","null","undefined","NaN","Infinity"]);static ownKeyText(e,t){return t==="__proto__"?'["__proto__"]':e}static MEMBER_IN="((k, c) => Array.isArray(c) || typeof c === 'string' ? c.includes(k) : k in c)";floorDiv(e){this.mark(e,"$self",()=>{this.b.emit("Math.floor("),this.operand(e,"left",e[1]),this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("/")),this.b.emit(" "),this.operand(e,"right",e[2]),this.b.emit(")")})}returnGuardStatement(e,t){let r=e[2],n=typeof r==="string"?r:r[0];if(n==="return"&&this.scopes.length<=1)throw this.positionedError(r,"emitter: 'return' outside a function");if((n==="break"||n==="continue")&&this.ctrlDepth===0)throw this.positionedError(e,`emitter: '${n}' outside a loop${n==="break"?" or switch":""}`);let i=e[0],s=()=>{let a=()=>{if(t!==null)this.mark(t,"$self",()=>{this.mark(t,"target",()=>this.b.emit(t[1])),this.b.emit(" "),this.mark(t,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.mark(t,"value",()=>this.expr(e[1]))});else this.mark(e,"left",()=>this.expr(e[1]))},o=t!==null||E.jsTier(e[1])!=="primary";if(i==="||")if(this.b.emit("!"),o)this.b.emit("("),a(),this.b.emit(")");else a();else if(i==="??"){if(o)this.b.emit("("),a(),this.b.emit(")");else a();this.b.emit(" == null")}else if(o&&t!==null)this.b.emit("("),a(),this.b.emit(")");else a()};this.mark(e,"$self",()=>{this.b.emit("if ("),s(),this.b.emit(") ");let a=()=>{if(this.b.emit(n),y(r)&&r.length>1)this.b.emit(" "),this.mark(r,"value",()=>{if(r[0]==="return"&&E.needsGrouping(r[1],"return"))this.b.emit("("),this.expr(r[1]),this.b.emit(")");else this.expr(r[1])})};if(typeof r==="string")a();else this.mark(r,"$self",a);this.b.emit(";")})}compoundTarget(e,t,r){if(this.checkExportedConstWrite(e,t),this.repeatSafeValue(t))return this.mark(e,"target",()=>this.withTarget(()=>this.expr(t))),t;if(y(t)&&(t[0]==="."||t[0]==="[]")&&t.length===3){let n=t[1];if(!this.repeatSafeValue(n))n=this.loopTempName("_ref"),this.temps.used.add(n),this.b.emit(`const ${n} = `),this.expr(t[1]),this.b.emit(`; ${" ".repeat(r)}`);let i;if(t[0]==="[]"){let s=t[2];if(!this.repeatSafeValue(s)){let a=this.loopTempName("_key");this.temps.used.add(a),this.b.emit(`const ${a} = `),this.expr(s),this.b.emit(`; ${" ".repeat(r)}`),s=a}i=["[]",n,s]}else i=[".",n,t[2]];return this.mark(e,"target",()=>this.expr(i)),i}throw this.positionedError(e,`emitter: ${e[0]} needs a stable target — a plain name or member/index chain (an optional chain has no reference to write back to)`)}static sliceTarget(e){return y(e)&&e[0]==="[]"&&e.length===3&&y(e[2])&&(e[2][0]===".."||e[2][0]==="...")&&e[2].length===3?e:null}sliceAssignStatement(e){let[,t,r]=e,[,n,i]=t,[s,a,o]=i,l=(h)=>E.isIntegerLiteral(h)?parseInt(h.replace(/_/g,""),10):null,c=(h)=>typeof h==="string";for(let h of[a,o])if(y(h)&&h[0]==="-"&&h.length===2&&E.isIntegerLiteral(h[1]))throw this.positionedError(e,"emitter: a slice assignment cannot count from the end — `splice` takes a count, not a negative index; open the range instead (`a[i..] = v`) or compute the bound from `a.length`");let f=(h)=>{if(c(h))this.expr(h);else this.b.emit("("),this.expr(h),this.b.emit(")")};this.mark(e,"$self",()=>{this.mark(e,"target",()=>this.mark(t,"$self",()=>{this.head(t,"object",n),this.b.emit(".splice("),this.mark(t,"key",()=>{if(a===null)this.b.emit("0");else f(a);if(this.b.emit(", "),o===null)this.b.emit("Infinity");else if(l(o)!==null&&(a===null||l(a)!==null))this.b.emit(String(l(o)-(a===null?0:l(a))+(s===".."?1:0)));else{if(f(o),a!==null)this.b.emit(" - "),f(a);if(s==="..")this.b.emit(" + 1")}})})),this.mark(e,"operator",()=>{});let h=y(r)&&r[0]==="array"&&r.slice(1).every((u)=>!(y(u)&&u[0]==="...")&&u!==",");this.mark(e,"value",()=>{if(h)r.slice(1).forEach((u)=>{this.b.emit(", "),this.callArg(u)});else this.b.emit(", ...[].concat("),this.expr(r),this.b.emit(")")}),this.b.emit(")")})}methodAssignStatement(e,t){let[,r,n]=e,i=n;while(y(i)){let l=E.chainHeadSlot(i);if(l===null)break;i=i[l]}let s=y(i)?this.stores.idOf(i):null,a=s!==null?this.stores.node(s)?.semanticKind:null;if(!(y(i)&&typeof i[0]==="string"&&/^[A-Za-z_$][\w$]*$/.test(i[0])&&(a==="call"||a==null&&E.jsTier(i)==="primary")))throw this.positionedError(e,"emitter: `.=` re-binds its target to a METHOD CALL on itself — the right side must be a call chain (`x .= trim()`)");this.mark(e,"$self",()=>{let l=this.compoundTarget(e,r,t),c=(h)=>{if(h===i)return[[".",l,i[0]],...i.slice(1)];let u=E.chainHeadSlot(h),d=h.slice();return d[u]=c(h[u]),d};this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" ");let f=typeof l==="string"?this.bindingNameSpan(e,"target",l):null;if(f!==null)this.primitiveReuse={name:l,span:f.span};this.mark(e,"value",()=>this.expr(c(n))),this.primitiveReuse=null})}taggedTemplate(e){this.mark(e,"$self",()=>{let t=e[1];this.mark(e,"tag",()=>{if(E.needsGrouping(t,"head"))this.b.emit("("),this.expr(t),this.b.emit(")");else this.expr(t)});let r=e[2];this.mark(e,"str",()=>{if(typeof r==="string")if(r[0]==="`")this.b.emit(r);else this.b.emit("`"+E.escapeTemplate(r.slice(1,-1).replace(/\\"/g,'"'))+"`");else this.expr(r)})})}mapLiteral(e){this.mark(e,"$self",()=>{let t=e.slice(1);if(t.length===0){this.b.emit("new Map()");return}this.b.emit("new Map(["),t.forEach((r,n)=>{if(n>0)this.b.emit(", ");if(y(r)&&r[0]==="..."&&r.length===2){this.mark(r,"$self",()=>{this.b.emit("..."),this.expr(r[1])});return}if(!y(r)||r[0]!==":"||r.length!==3)throw this.positionedError(y(r)?r:e,"emitter: a map literal takes explicit `key: value` pairs — shorthand has no Map reading");this.mark(r,"$self",()=>{this.b.emit("[");let i=r[1];this.mark(r,"key",()=>{if(typeof i==="string"&&/^[A-Za-z_$][\w$]*$/.test(i)&&i!=="true"&&i!=="false"&&i!=="null"&&i!=="undefined")this.b.emit('"'),this.emitPrimitive(i),this.b.emit('"');else if(y(i)&&i[0]==="dynamicKey")this.expr(i[1]);else this.expr(i)}),this.b.emit(", "),this.mark(r,"value",()=>this.expr(r[2])),this.b.emit("]")})}),this.b.emit("])")})}matchReceiverClose(){this.b.emit(")"),this.b.emit(".match(")}regexIndex(e,t,r,n){this.mark(e,"$self",()=>{if(this.b.emit(`((_ = ${this.runtimeName("toMatchable")}(`),this.mark(e,"object",()=>this.expr(t)),this.matchReceiverClose(),this.mark(e,"key",()=>this.b.emit(r)),this.b.emit(")) && _["),n===null)this.b.emit("0");else this.mark(e,"capture",()=>this.expr(n));this.b.emit("])")})}static isMatchWrite(e){if(!y(e))return!1;if(e[0]==="=~"&&e.length===3)return!0;if(e[0]==="regex-index"&&e.length===4)return!0;return e[0]==="[]"&&e.length===3&&typeof e[2]==="string"&&e[2][0]==="/"}static paramMatchWrite(e){if(!y(e)||T1(e)||k1(e[0]))return null;if(E.isMatchWrite(e))return e;for(let t of e){let r=E.paramMatchWrite(t);if(r!==null)return r}return null}matchOp(e){if(y(e[1])&&e[1][0]==="=~"&&!e[1].parenthesized)throw this.positionedError(e,"emitter: `=~` does not chain — `a =~ b =~ c` would match the first match RESULT against the second pattern (parenthesize: `(a =~ b) =~ c`, or split the matches)");let t=e[2];this.mark(e,"$self",()=>{this.b.emit(`(_ = ${this.runtimeName("toMatchable")}(`),this.mark(e,"left",()=>this.expr(e[1])),this.matchReceiverClose(),this.mark(e,"right",()=>this.expr(t)),this.b.emit("))")})}modulo(e){this.mark(e,"$self",()=>{this.b.emit(E.MODULO+"("),this.mark(e,"left",()=>this.expr(e[1])),this.b.emit(", "),this.mark(e,"right",()=>this.expr(e[2])),this.b.emit(")")})}synthCompound(e,t,r,n){let i=e[1];if(this.checkExportedConstWrite(e,i),y(i)&&(i[0]==="."||i[0]==="[]")&&i.length===3){let s=this.refPlans.get(e)??{recv:null,obj:null,key:null};if(s.obj===null&&!this.repeatSafeValue(i[1]))throw this.positionedError(e,"emitter: reference plan missing for a compound target with an impure object — a capture site the planner walk did not reach");if(s.key===null&&i[0]==="[]"&&!this.repeatSafeValue(i[2]))throw this.positionedError(e,"emitter: reference plan missing for a compound target with an impure key — a capture site the planner walk did not reach");this.mark(e,"$self",()=>{let a=s.obj!==null||s.key!==null;if(a)this.b.emit("(");if(s.obj!==null)this.b.emit(`${s.obj} = `),this.mark(i,"object",()=>this.withExpression(()=>this.expr(i[1]))),this.b.emit(", ");if(s.key!==null)this.b.emit(`${s.key} = `),this.mark(i,"key",()=>this.withExpression(()=>this.expr(i[2]))),this.b.emit(", ");let o=this.stores.alias([i[0],s.obj??i[1],s.key??i[2]],i),l=()=>this.mark(e,"target",()=>this.withTarget(()=>this.expr(o)));if(l(),this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.mark(e,"operator",()=>{this.b.emit(t),l(),this.b.emit(r),this.operand(e,"value",e[2]),this.b.emit(n)}),a)this.b.emit(")")});return}this.mark(e,"$self",()=>{let s=()=>this.mark(e,"target",()=>this.withTarget(()=>this.expr(e[1])));s(),this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.mark(e,"operator",()=>{this.b.emit(t),s(),this.b.emit(r),this.operand(e,"value",e[2]),this.b.emit(n)})})}floorDivAssign(e){this.synthCompound(e,"Math.floor("," / ",")")}moduloAssign(e){this.synthCompound(e,E.MODULO+"(",", ",")")}awaitExpr(e){this.renderSyncGuard(e),this.mark(e,"$self",()=>{this.mark(e,"operator",()=>this.b.emit("await")),this.b.emit(" "),this.operand(e,"value",e[1])})}doIife(e){let[,t]=e;this.mark(e,"$self",()=>{if(this.b.emit("("),this.mark(e,"func",()=>this.expr(t)),this.b.emit(")("),T1(t)){let r=t[1],n=r.map((s)=>{let a=E.paramCore(s);if(typeof a==="string")return()=>this.expr(a);if(y(a)&&a[0]==="default"&&typeof E.paramCore(a[1])==="string")return()=>this.expr(a[2]);throw this.positionedError(s,"emitter: do-IIFE parameters must be plain names or defaulted names — patterns and rests have no capture argument",e)}),i=r.length;while(i>0&&y(r[i-1])&&r[i-1][0]==="default")i--;n.slice(0,i).forEach((s,a)=>{if(a>0)this.b.emit(", ");s()})}this.b.emit(")")})}dammit(e){if(this.renderSyncGuard(e),xe(e[1])){this.mark(e,"$self",()=>{this.mark(e,"operator",()=>this.b.emit("await")),this.b.emit(" new "),this.mark(e,"target",()=>this.rubyNewTarget(e[1])),this.b.emit("()")});return}this.mark(e,"$self",()=>{this.mark(e,"operator",()=>this.b.emit("await")),this.b.emit(" "),this.head(e,"target",e[1]),this.b.emit("()")})}maybeDammit(e){this.renderSyncGuard(e);let t=e[1];if(y(t)&&t[0]==="new"||xe(t))throw this.positionedError(e,"emitter: maybe dammit has no reading on a constructor — `?!` on a construction would make the "+"constructor an optional callee; construct and await with `new X!`");this.mark(e,"$self",()=>{this.mark(e,"operator",()=>this.b.emit("await")),this.b.emit(" "),this.head(e,"callee",e[1]),this.mark(e,"operator",()=>this.b.emit("?.")),this.mark(e,"args",()=>{this.b.emit("("),e.slice(2).forEach((r,n)=>{if(n>0)this.b.emit(", ");this.expr(r)}),this.b.emit(")")})})}yieldExpr(e){if(this.renderSyncGuard(e),this.scopes.length<=1)throw this.positionedError(e,"emitter: 'yield' outside a function");this.mark(e,"$self",()=>{this.b.emit(e[0]==="yield-from"?"yield*":"yield");let t=e[0]==="yield-from"?e[1]:e[1];if(e.length>1)this.b.emit(" "),this.operand(e,"value",t)})}}var ua=(e)=>{if(!y(e))return!1;if(e[0]==="schema"&&e.length===2&&typeof e[1]==="object")return!0;return e.some(ua)},da=(e)=>{if(!y(e))return!1;if(e[0]==="schema"&&e.length===2&&e[1]&&typeof e[1]==="object"&&e[1].kind==="model")return!0;return e.some(da)},ma=(e,t)=>{if(!y(e))return!1;if(t(e))return!0;return e.some((r)=>ma(r,t))},pa=(e,t)=>{if(!y(e))return!1;if(t(e))return!0;return e.some((r)=>pa(r,t))},ga=(e)=>{if(!y(e))return!1;if(e[0]==="object"&&E.objectComprehension(e)!==null)return!0;return e.some(ga)},ba=(e)=>{if(!y(e))return!1;if(E.isMatchWrite(e))return!0;return e.some(ba)},pt=[{key:"intrinsics",names:["__toPropertyKey","__defineOwnDataProperty"],generatedNames:["__toPropertyKey","__defineOwnDataProperty"],url:new URL("./runtime/intrinsics.js",import.meta.url),triggers:(e,t)=>ga(e)},{key:"vocab",names:[],url:new URL("./runtime/vocab.js",import.meta.url),triggers:()=>!1},{key:"schema",names:["__schema","SchemaError","registerCoercer"],url:new URL("./runtime/schema.js",import.meta.url),requires:["vocab"],triggers:(e,t)=>ua(e)},{key:"duckdb",names:[],url:new URL("./runtime/duckdb.js",import.meta.url),triggers:()=>!1},{key:"orm",names:["schema","__schemaSetAdapter"],url:new URL("./runtime/orm.js",import.meta.url),requires:["schema","duckdb","vocab"],triggers:(e,t)=>da(e)},{key:"reactive",names:["__state","__computed","__effect","__batch","__readonly","__setErrorHandler","__handleError","__catchErrors","getEffectSignal"],generatedNames:["__state","__computed","__effect","__batch"],url:new URL("./runtime/reactive.js",import.meta.url),triggers:(e,t)=>ma(e,t.isTrigger),types:{__state:"(value: T | { value: T; read(): T }) => { value: T; read(): T; touch(): void }",__computed:"(fn: () => T) => { readonly value: T; read(): T }",__effect:"(fn: () => void | (() => void)) => () => void",__batch:"(fn: () => T) => T",__readonly:"(value: T) => T",__setErrorHandler:"(handler: ((error: any, source?: string) => void) | null) => void",__handleError:"(error: any, source?: string) => void",__catchErrors:"(fn: () => T, onError?: (e: any) => void) => T | undefined",getEffectSignal:"() => AbortSignal | null"}},{key:"stdlib",names:["abort","assert","exit","kind","noop","p","pp","pj","pr","raise","rand","sleep","toMatchable","todo","warn","zip"],generatedNames:["toMatchable"],url:new URL("./runtime/stdlib.js",import.meta.url),triggers:(e,t)=>ba(e),types:{abort:"(msg?: string) => never",assert:"(v: any, msg?: string) => void",exit:"(code?: number) => never",kind:"(v: any) => string",noop:"() => void",p:"(...args: any[]) => void",pp:"(v: T) => T",pj:"(v: T) => T",pr:"(v: T) => T",raise:"(a: any, b?: any) => never",rand:"(a?: number, b?: number) => number",sleep:"(ms: number) => Promise",toMatchable:"(v: any) => string",todo:"(msg?: string) => never",warn:"(...args: any[]) => void",zip:"(...arrays: any[][]) => any[][]"}},{key:"components",names:["setContext","getContext","hasContext","__Component","__pushComponent","__popComponent","__clsx","__style","__lis","__reconcile","__transition","__handleComponentError","__gateBind","__detach","__reportChildFailure","__ownerFrame","__pushOwner","__popOwner","__detachRef"],generatedNames:["setContext","getContext","__Component","__pushComponent","__popComponent","__clsx","__style","__reconcile","__transition","__gateBind","__detach","__reportChildFailure","__ownerFrame","__pushOwner","__popOwner","__detachRef"],types:{__clsx:Is,__style:xs},url:new URL("./runtime/components.js",import.meta.url),requires:"reactive",triggers:(e,t)=>pa(e,t.isComponent)}],Ci=new Map,fa=(e)=>{if(!Ci.has(e.key)){let r=As(e.url,"utf8").replace(/^export \{[^}]*\};\s*$/gm,"").replace(/^import \{[^}]*\} from '\.\/[a-z-]+\.js';\s*$/gm,"").trimEnd(),n=/^[ \t]*(import|export)\b.*$/m.exec(r);if(n)throw Error(`emitter: runtime '${e.key}' carries a top-level ${n[1]} that inline delivery cannot strip — `+`${JSON.stringify(n[0].trim())}. Inline bodies share one IIFE scope, so it would emit unparseable output. Use the './name.js' import form, or move the dependency into RUNTIME_TABLE 'requires'.`);Ci.set(e.key,r)}return Ci.get(e.key)},Pi=(e)=>e.requires==null?[]:Array.isArray(e.requires)?e.requires:[e.requires],Re=(e,t,r=()=>!1)=>{if(t.size===0)return!1;let n=(o)=>typeof o==="string"&&t.has(o),i=(o)=>y(o)&&o.some(s),s=(o)=>{if(!y(o))return!1;let[l]=o;if(l==="object"||l==="array")return o.slice(1).some(s);if(l===null&&o.length===3)return!1;if(l===":"&&o.length===3)return y(o[1])&&a(o[1])||s(o[2]);if(l==="="&&o.length===3)return s(o[1])||a(o[2]);if((l==="rest"||l==="..."||l==="expansion")&&o.length===2)return s(o[1]);if(l==="typed-var"&&o.length===3)return s(o[1]);return a(o)},a=(o)=>{if(n(o))return!0;if(!y(o))return!1;let[l]=o;if(l==="schema"&&o.length===2&&o[1]&&typeof o[1]==="object"&&Array.isArray(o[1].entries))return!1;if(l==="."||l==="?.")return a(o[1]);if((l===":"||l==="void-pair")&&o.length===3)return y(o[1])&&a(o[1])||a(o[2]);if(T1(o))return i(o[1])||a(o[2]);if(k1(l)&&o.length===4)return i(o[2])||a(o[3]);if(r(o))return a(o[2]);if(F1.has(l)&&o.length===3)return y(o[1])&&s(o[1])||a(o[2]);if(l==="for-in"||l==="for-of"||l==="for-as")return y(o[1])&&o[1].some(s)||o.slice(2).some(a);if(l==="try")return o.slice(1).some((c)=>{if(!y(c))return!1;if(c[0]==="block")return a(c);return s(c[0])||a(c[1])});if(l==="class"&&o.length>=2)return o.slice(2).some(a);if(l==="typed-var"&&o.length===3)return y(o[1])&&a(o[1]);if((l==="cast"||l==="satisfies")&&o.length===3)return a(o[1]);if(l==="import"||l==="type-decl")return!1;return o.some(a)};return a(e)},x3=(e,t)=>{let r=[],n=(i,s,a=[])=>{let o=(h)=>E.isReactiveDeclIn(s,h)||E.isEffectDeclIn(s,h)||E.isReadonlyDeclIn(s,h)||E.isGateDeclIn(s,h),l=(h)=>E.isReactiveDeclIn(s,h)||E.isEffectDeclIn(s,h),c=(h)=>E.isComponentDeclIn(s,h);r.push({tree:i,atoms:a,isDecl:o,isTrigger:l,isComponent:c});let f=(h)=>{if(!y(h))return;if(h[0]==="schema"&&h.length===2&&h[1]&&typeof h[1]==="object"&&Array.isArray(h[1].entries)){for(let{entry:u,tokens:d,value:p}of E.schemaBodies(h[1])){let m=e.subParse(d);if(m.stmts.length)n(["program",...m.stmts],m.stores,p?[]:e.schemaBodyParams(u).map((g)=>g.name))}return}h.forEach(f)};f(i)};return n(t,e.stores),r},C3=(e,t)=>{let r=new Set,n=(s)=>{for(let a of e.patternNames(s,[],!0))r.add(a)},i=(s,a)=>{if(!y(s))return;let[o]=s;if(e.isModuleImport(s)){for(let l of E.importedNames([s]))r.add(l);return}if(T1(s)){if(y(s[1]))for(let l of s[1])n(l);i(s[2],a);return}if(k1(o)&&s.length===4){if(typeof s[1]==="string")r.add(s[1]);if(y(s[2]))for(let l of s[2])n(l);i(s[3],a);return}if(o==="class"){if(typeof s[1]==="string")r.add(s[1]);for(let l of s.slice(2)){let c=y(l)&&l[0]==="block"?l.slice(1):[l];for(let f of c)if(y(f)&&k1(f[0])&&f.length===4){if(y(f[2]))for(let h of f[2])n(h);i(f[3],a)}else i(f,a)}return}if(o==="enum"){if(typeof s[1]==="string")r.add(s[1]);for(let l of s.slice(2))i(l,a);return}if(a(s)){if(typeof s[1]==="string")r.add(s[1]);else if(y(s[1]))n(s[1]);i(s[2],a);return}if((F1.has(o)||o==="void-assign")&&s.length>=2){if(typeof s[1]==="string")r.add(s[1]);else if(E.isPattern(s[1]))n(s[1])}if((o==="for-in"||o==="for-of"||o==="for-as")&&y(s[1]))for(let l of s[1])n(l);if(o==="try"){for(let l of s.slice(2))if(y(l)&&l.length===2&&E.isPattern(l[0]))n(l[0])}for(let l of s)i(l,a)};for(let{tree:s,atoms:a,isDecl:o}of t){i(s,o);for(let l of a)n(l)}return r},P3=(e,t)=>{let r=t.slice(1),n=new Set(e.hoistTargets(r).map(([a])=>a)),i=r.filter((a)=>e.isModuleImport(a));for(let a of E.importedNames(i))n.add(a);for(let a of e.collectReactiveNames(r))n.add(a);for(let a of e.collectEffectHandles(r))n.add(a);for(let a of e.collectReadonlyNames(r))n.add(a);let s=(a)=>{if(!y(a))return;if(a[0]==="enum"&&typeof a[1]==="string")n.add(a[1]);if(a[0]==="class"&&typeof a[1]==="string")n.add(a[1]);if(k1(a[0])&&a.length===4&&typeof a[1]==="string")n.add(a[1]);if((a[0]==="="||a[0]==="void-assign")&&typeof a[1]==="string")n.add(a[1])};for(let a of r)if(s(a),y(a)&&a[0]==="export"&&y(a[1]))s(a[1]);return n},ha=new Set(["plain","state","computed","effect","readonly","import","class","def","enum"]),L3=(e)=>{if(e==null)return[];if(!Array.isArray(e))throw Error(`emitter: ambientBindings must be an array of {name, kind}; got ${typeof e}`);let t=new Set;for(let r of e){if(r===null||typeof r!=="object"||!be(r.name))throw Error(`emitter: ambientBindings entries are {name, kind} with an identifier name; got ${JSON.stringify(r)}`);if(!ha.has(r.kind))throw Error(`emitter: ambientBindings kind '${r.kind}' for '${r.name}' is not a binding kind — expected one of ${[...ha].join(", ")}`);if(t.has(r.name))throw Error(`emitter: ambientBindings names '${r.name}' twice — one binding per name`);t.add(r.name)}return e},M3=(e,t,r)=>{let n=t.slice(1),i=new Map,s=(c,f)=>{if(typeof c==="string"&&!i.has(c))i.set(c,f)},a=(c)=>{if(!r.has(c))s(c,"plain")};for(let c of n)if(e.isModuleImport(c))for(let f of E.importedNames([c]))s(f,"import");let o=e.collectComputedNames(n);for(let c of e.collectReactiveNames(n))s(c,o.has(c)?"computed":"state");for(let c of e.collectEffectHandles(n))s(c,"effect");for(let c of e.collectReadonlyNames(n))s(c,"readonly");let l=(c,f)=>{if(!y(c))return;if(c[0]==="enum"&&typeof c[1]==="string")s(c[1],"enum");if(c[0]==="class"&&typeof c[1]==="string")s(c[1],"class");if(k1(c[0])&&c.length===4&&typeof c[1]==="string")s(c[1],"def");if((c[0]==="="||c[0]==="void-assign")&&typeof c[1]==="string")if(f)s(c[1],"plain");else a(c[1])};for(let c of n)if(l(c,!1),y(c)&&c[0]==="export"&&y(c[1]))l(c[1],!0);for(let[c,,f]of e.hoistTargets(n))if(f==="target")a(c);return[...i].map(([c,f])=>({name:c,kind:f}))},Mi={field:"field",computed:"computed",derived:"derived",method:"method"};function j3(e,t,r,n){let i=[],s=(l)=>l.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");for(let l of t.story?.decl?.descriptor?.entries??[]){let c=l.tag==="union-member"?{name:l.name,start:l.start}:l.tag==="directive"&&l.name==="mixin"&&l.argTokens?.[0]?.kind==="IDENTIFIER"?{name:l.argTokens[0].value,start:l.argTokens[0].start}:null;if(c!==null&&typeof c.start==="number"){let h=new RegExp(`(= |\\| |& )(${s(c.name)})(?= \\||;| &)`).exec(r);if(h!==null)i.push({at:h.index+h[1].length,len:c.name.length,start:c.start,end:c.start+c.name.length});continue}if((Mi[l.tag]??null)===null||typeof l.start!=="number")continue;let f=new RegExp(`([{;] )((?:readonly )?)(${s(l.name)})(\\??: )`).exec(r);if(f===null)continue;if(i.push({at:f.index+f[1].length+f[2].length,len:l.name.length,start:l.start,end:l.start+l.name.length}),l.tag==="field"&&Array.isArray(l.typeSpan)&&e.b.source!==null){let h=/[A-Za-z_$][\w$]*/.exec(e.b.source.slice(l.typeSpan[0],l.typeSpan[1]));if(h!==null){let u=f.index+f[0].length,d=r.indexOf(";",u)<0?r.length:r.indexOf(";",u)+1,p=new RegExp(`(?u[1]))];for(let u of f){if(c.has(u))continue;let d=a[0]+1,p=-1;while(d>0){let m=l.lastIndexOf(u,d-1);if(m<0)break;if(!/[\w$]/.test(l[m-1]??" ")&&!/[\w$]/.test(l[m+u.length]??" ")){p=m;break}d=m}if(p>=0)c.set(u,[p,p+u.length])}let h=(u,d)=>i.some((p)=>ul.at-c.at);let o=0;for(let l of i){if(l.ate.b.emit(r.slice(l.at,l.at+l.len)));else e.b.emit(r.slice(l.at,l.at+l.len));o=l.at+l.len}e.b.emit(r.slice(o))}function F3(e,t,r,n){let i=t.story?.decl?.descriptor?.entries??null;if(i===null)return;let s=(a)=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");for(let a of i){let o=a.tag==="union-member"?{name:a.name,start:a.start}:a.tag==="directive"&&a.name==="mixin"&&a.argTokens?.[0]?.kind==="IDENTIFIER"?{name:a.argTokens[0].value,start:a.argTokens[0].start}:null;if(o===null||typeof o.start!=="number")continue;let l=new RegExp(`(= |\\| |& )(${s(o.name)})(?= \\||;| &)`).exec(r);if(l===null)continue;e.intrinsics.push({start:o.start,end:o.start+o.name.length,kind:"schema",label:null,name:o.name,gen:n+l.index+l[1].length})}for(let a of i){let o=Mi[a.tag]??null;if(o===null||typeof a.start!=="number")continue;let l=s(a.name),c=new RegExp(`([{;] )((?:readonly )?)(${l})(\\??: )`).exec(r);if(c===null)continue;let f=n+c.index+c[1].length+c[2].length;if(e.intrinsics.push({start:a.start,end:a.start+a.name.length,kind:"schema",label:o,name:a.name,gen:f,optional:c[4].startsWith("?")}),a.tag==="field"&&a.typeSpan!==null&&a.typeSpan!==void 0)e.intrinsics.push({start:a.typeSpan[0],end:a.typeSpan[1],kind:"schema",label:null,name:a.name,gen:f+c[3].length+c[4].length})}}function ya(e,{source:t="",runtimeDelivery:r="none",face:n="js",pins:i=null,strict:s=!1,script:a=!1,browserModule:o=!1,dataPayload:l=null,ambientBindings:c=null,repl:f=!1,hmr:h=!1,tolerant:u=!1,modulePath:d=null,appStashSpec:p=null,routesUnion:m=null,routeParams:g=null}={}){if(!e.sexpr)throw Error("emitter: cannot emit a failed parse");if(n!=="js"&&n!=="ts")throw Error(`emitter: unknown face '${n}' — expected 'js' (the shipping emission) or 'ts' (the editor face)`);let b=L3(c),S=new nr(e.stores),w=new Se(S,{source:t,primitives:n==="ts"}),R=new E(S,w,{face:n,pins:i,strict:s,script:a,browserModule:o,repl:f,hmr:h,tolerant:u,modulePath:d,appStashSpec:p,routesUnion:m,routeParams:g});if(R.dataPayload=l,r!=="none"&&r!=="import"&&r!=="inline")throw Error(`emitter: unknown runtimeDelivery '${r}' — expected 'none', 'import', or 'inline'`);if(R.collectTsDirectives(e.sexpr,e.trivia??[],t),R.collectTypeOnlyImports(e.sexpr,t),R.collectAppAccessors(e.sexpr),R.tsNocheck!==null){let T=S.idOf(e.sexpr),N=R.tsNocheck;w.tsOnly(()=>{let F=()=>w.emit("//"+N.text.slice(1));if(T!==null)w.markSpan(T,"tsDirective",N.start,N.end,F);else F();w.emit(` -`)})}let k=x3(R,e.sexpr),j=(T)=>{if(typeof T==="string")R.temps.used.add(T);else if(y(T))for(let N of T)j(N)};for(let{tree:T,atoms:N}of k)j(T),j(N);for(let{name:T}of b)R.temps.used.add(T);let M=C3(R,k);for(let{name:T}of b)M.add(T);let L=[...M];for(let T of pt)for(let N of T.generatedNames??[])R.runtimeAliases.set(N,E.mintName(N,M));let A=P3(R,e.sexpr),P=M3(R,e.sexpr,new Set(b.map(({name:T})=>T)));for(let{name:T}of b)A.add(T);let v=new Set;for(let T of pt){let N=new Set(T.names.filter((F)=>!A.has(F)));if(k.some(({tree:F,isDecl:J,isTrigger:x,isComponent:Q})=>T.triggers?.(F,{isTrigger:x,isComponent:Q})||Re(F,N,J)))v.add(T.key)}for(let T=!0;T;){T=!1;for(let N of pt){if(!v.has(N.key))continue;for(let F of Pi(N))if(!v.has(F))v.add(F),T=!0}}if(r!=="none"){let T=pt.filter((J)=>v.has(J.key)),N=[];if(r==="import")for(let J of T)N.push({runtimes:[J],names:J.names,imp:J.url.pathname});else{let J=new Set(T.flatMap((x)=>Pi(x)));for(let x of T){if(J.has(x.key))continue;let Q=[],U=(q)=>{if(Q.includes(q))return;for(let s1 of Pi(q)){let I=pt.find((c1)=>c1.key===s1);if(I)U(I)}Q.push(q)};if(U(x),Q.length===1){N.push({runtimes:[x],names:x.names,body:fa(x),types:x.types});continue}let r1=Q.some((q)=>q.types)?Object.assign({},...Q.map((q)=>q.types)):void 0;N.push({runtimes:Q,names:Q.flatMap((q)=>q.names),body:Q.map((q)=>fa(q)).join(` -`),types:r1})}}let F=S.idOf(e.sexpr);for(let J of N){let x=new Set(J.runtimes.flatMap((r1)=>r1.generatedNames??[])),Q=J.names.filter((r1)=>x.has(r1)||!A.has(r1)).map((r1)=>({name:r1,local:x.has(r1)?R.runtimeAliases.get(r1):r1}));if(Q.length===0)continue;let U=w.offset;if(J.imp){w.emit(`import { ${Q.map(({name:q,local:s1})=>q===s1?q:`${q} as ${s1}`).join(", ")} } from `);let r1=w.offset;w.emit(JSON.stringify(J.imp)),R.importSpans.push({start:r1,end:w.offset,specifier:JSON.stringify(J.imp)}),w.emit(`; -`)}else{w.emit(`const { ${Q.map(({name:q,local:s1})=>q===s1?q:`${q}: ${s1}`).join(", ")} }`);let r1=n==="ts"&&J.types?`{ ${Q.map(({name:q})=>`${q}: ${J.types[q]??"any"}`).join("; ")} }`:null;if(r1!==null&&r1.includes("__RipClassValue"))R._needsClassValue=!0;if(r1!==null&&r1.includes("__RipCSSProperties"))R._needsCssProperties=!0;if(w.emit(" = "),r1)w.tsOnly(()=>w.emit("("));if(w.emit(`(() => { +`)})}let k=x3(R,e.sexpr),j=(T)=>{if(typeof T==="string")R.temps.used.add(T);else if(y(T))for(let N of T)j(N)};for(let{tree:T,atoms:N}of k)j(T),j(N);for(let{name:T}of b)R.temps.used.add(T);let M=C3(R,k);for(let{name:T}of b)M.add(T);let L=[...M];for(let T of pt)for(let N of T.generatedNames??[])R.runtimeAliases.set(N,E.mintName(N,M));let A=P3(R,e.sexpr),P=M3(R,e.sexpr,new Set(b.map(({name:T})=>T)));for(let{name:T}of b)A.add(T);let v=new Set;for(let T of pt){let N=new Set(T.names.filter((F)=>!A.has(F)));if(k.some(({tree:F,isDecl:J,isTrigger:x,isComponent:e1})=>T.triggers?.(F,{isTrigger:x,isComponent:e1})||Re(F,N,J)))v.add(T.key)}for(let T=!0;T;){T=!1;for(let N of pt){if(!v.has(N.key))continue;for(let F of Pi(N))if(!v.has(F))v.add(F),T=!0}}if(r!=="none"){let T=pt.filter((J)=>v.has(J.key)),N=[];if(r==="import")for(let J of T)N.push({runtimes:[J],names:J.names,imp:J.url.pathname});else{let J=new Set(T.flatMap((x)=>Pi(x)));for(let x of T){if(J.has(x.key))continue;let e1=[],U=(q)=>{if(e1.includes(q))return;for(let s1 of Pi(q)){let I=pt.find((c1)=>c1.key===s1);if(I)U(I)}e1.push(q)};if(U(x),e1.length===1){N.push({runtimes:[x],names:x.names,body:fa(x),types:x.types});continue}let i1=e1.some((q)=>q.types)?Object.assign({},...e1.map((q)=>q.types)):void 0;N.push({runtimes:e1,names:e1.flatMap((q)=>q.names),body:e1.map((q)=>fa(q)).join(` +`),types:i1})}}let F=S.idOf(e.sexpr);for(let J of N){let x=new Set(J.runtimes.flatMap((i1)=>i1.generatedNames??[])),e1=J.names.filter((i1)=>x.has(i1)||!A.has(i1)).map((i1)=>({name:i1,local:x.has(i1)?R.runtimeAliases.get(i1):i1}));if(e1.length===0)continue;let U=w.offset;if(J.imp){w.emit(`import { ${e1.map(({name:q,local:s1})=>q===s1?q:`${q} as ${s1}`).join(", ")} } from `);let i1=w.offset;w.emit(JSON.stringify(J.imp)),R.importSpans.push({start:i1,end:w.offset,specifier:JSON.stringify(J.imp)}),w.emit(`; +`)}else{w.emit(`const { ${e1.map(({name:q,local:s1})=>q===s1?q:`${q}: ${s1}`).join(", ")} }`);let i1=n==="ts"&&J.types?`{ ${e1.map(({name:q})=>`${q}: ${J.types[q]??"any"}`).join("; ")} }`:null;if(i1!==null&&i1.includes("__RipClassValue"))R._needsClassValue=!0;if(i1!==null&&i1.includes("__RipCSSProperties"))R._needsCssProperties=!0;if(w.emit(" = "),i1)w.tsOnly(()=>w.emit("("));if(w.emit(`(() => { ${J.body} return { ${J.names.join(", ")} }; -})()`),r1)w.tsOnly(()=>w.emit(` as ${r1})`));w.emit(`; +})()`),i1)w.tsOnly(()=>w.emit(` as ${i1})`));w.emit(`; `)}if(F!==null)w.rows.push({nodeId:F,role:"runtime",mappingKind:"synthetic",sourceStart:0,sourceEnd:0,generatedStart:U,generatedEnd:w.offset,fileId:0})}}let V=null;if(n==="ts"){let T=null;try{T=vs(e.sexpr,w.source,E.importedNames(e.sexpr.slice(1).filter((N)=>R.isModuleImport(N))))}catch(N){if(N instanceof Ri){let F=Error(`emitter: ${N.message}`),J=N.node!==null?S.idOf(N.node):null,x=J!==null?S.selfSpan(J):null;if(x)F.start=x[0],F.end=x[1];else if(N.start!==null)F.start=N.start,F.end=N.start;throw F}throw N}if(V=T,T!==null){let N=S.idOf(e.sexpr),F=w.offset;if(w.tsOnly(()=>w.emit(T.intrinsicLines.join(` `)+` -`)),N!==null)w.rows.push({nodeId:N,role:"schemaTypes",mappingKind:"synthetic",sourceStart:0,sourceEnd:0,generatedStart:F,generatedEnd:w.offset,fileId:0});R.schemaStories=new Map;let J=[...T.stories.map((x)=>({node:x.decl.node,exported:x.decl.exported,story:x,lines:x.faceAliasLines??x.aliasLines})),...T.derivations.map((x)=>({node:x.decl.node,exported:x.decl.exported,story:null,lines:x.aliasLines}))];J.forEach((x,Q)=>{if(x.story!==null)R.schemaStories.set(x.node,x.story);let U=x.exported?"export ":"",r1=S.idOf(x.node),q=Q===J.length-1?` +`)),N!==null)w.rows.push({nodeId:N,role:"schemaTypes",mappingKind:"synthetic",sourceStart:0,sourceEnd:0,generatedStart:F,generatedEnd:w.offset,fileId:0});R.schemaStories=new Map;let J=[...T.stories.map((x)=>({node:x.decl.node,exported:x.decl.exported,story:x,lines:x.faceAliasLines??x.aliasLines})),...T.derivations.map((x)=>({node:x.decl.node,exported:x.decl.exported,story:null,lines:x.aliasLines}))];J.forEach((x,e1)=>{if(x.story!==null)R.schemaStories.set(x.node,x.story);let U=x.exported?"export ":"",i1=S.idOf(x.node),q=e1===J.length-1?` `:` `;w.tsOnly(()=>{let s1=()=>{let I=w.offset,c1=x.lines.map((O)=>`${U}${O}`).join(` -`);j3(R,x,c1,r1),F3(R,x,c1,I)};if(r1!==null)w.mark(r1,"$self",s1);else s1();w.emit(q)})})}}if(R.tsDirectivesArmed=!0,b.length>0){let T=new Set,N=new Set,F=new Set,J=new Set;for(let{name:x,kind:Q}of b){if(Q==="state"||Q==="computed")T.add(x);else J.add(x);if(Q==="computed")N.add(x);if(Q==="readonly")F.add(x)}R.rframes.push({reactive:T,computed:N,bound:J,ambientReadonly:F}),R.scopes.push(new Set(b.map(({name:x})=>x)))}if(R.program(e.sexpr),b.length>0)R.rframes.pop(),R.scopes.pop();if(n==="ts"&&Array.isArray(e.sexpr)){let T=(()=>{for(let N of e.sexpr){if(!Array.isArray(N)||N[0]!=="export"||!Array.isArray(N[1]))continue;let F=N[1];if(F[0]==="="){if(F[1]==="stash")return"stash";continue}if(!F.every((x)=>typeof x==="string"&&/^[A-Za-z_$][\w$]*$/.test(x)||Array.isArray(x)&&x.length===2&&typeof x[0]==="string"&&typeof x[1]==="string"))continue;for(let x of F){if(x==="stash")return"stash";if(Array.isArray(x)&&x[1]==="stash")return x[0]}}return null})();if(T!==null)R.stashKeys=E.stashKeysOf(e.sexpr,T),w.tsOnly(()=>{let N=/^(?:export\s+)?(stash)\s*=/m.exec(w.source??""),F=N!==null?S.idOf(e.sexpr):null;if(w.emit(` +`);j3(R,x,c1,i1),F3(R,x,c1,I)};if(i1!==null)w.mark(i1,"$self",s1);else s1();w.emit(q)})})}}if(R.tsDirectivesArmed=!0,b.length>0){let T=new Set,N=new Set,F=new Set,J=new Set;for(let{name:x,kind:e1}of b){if(e1==="state"||e1==="computed")T.add(x);else J.add(x);if(e1==="computed")N.add(x);if(e1==="readonly")F.add(x)}R.rframes.push({reactive:T,computed:N,bound:J,ambientReadonly:F}),R.scopes.push(new Set(b.map(({name:x})=>x)))}if(R.program(e.sexpr),b.length>0)R.rframes.pop(),R.scopes.pop();if(n==="ts"&&Array.isArray(e.sexpr)){let T=(()=>{for(let N of e.sexpr){if(!Array.isArray(N)||N[0]!=="export"||!Array.isArray(N[1]))continue;let F=N[1];if(F[0]==="="){if(F[1]==="stash")return"stash";continue}if(!F.every((x)=>typeof x==="string"&&/^[A-Za-z_$][\w$]*$/.test(x)||Array.isArray(x)&&x.length===2&&typeof x[0]==="string"&&typeof x[1]==="string"))continue;for(let x of F){if(x==="stash")return"stash";if(Array.isArray(x)&&x[1]==="stash")return x[0]}}return null})();if(T!==null)R.stashKeys=E.stashKeysOf(e.sexpr,T),w.tsOnly(()=>{let N=/^(?:export\s+)?(stash)\s*=/m.exec(w.source??""),F=N!==null?S.idOf(e.sexpr):null;if(w.emit(` export type __RipStash = typeof `),F!==null)w.markSpan(F,"identifier",N.index+N[0].indexOf("stash"),N.index+N[0].indexOf("stash")+5,()=>w.emit(T));else w.emit(T);w.emit(`; `)})}if(n==="ts"&&R.routesUnion!==null){let T=w.code;if(/\bRoutePath\b/.test(T)&&!/\b(?:type|interface)\s+RoutePath\b/.test(T)&&!/\bimport\b[^;\n]*\bRoutePath\b/.test(T))w.tsOnly(()=>w.emit(` type RoutePath = ${R.routesUnion}; @@ -319,14 +321,14 @@ declare function __ripSourceKey(v: T): asserts v is NonNullable; `));if(R._needsNarrowedHelper===!0)w.tsOnly(()=>w.emit(` declare function __ripNarrowed(c: T): { readonly value: NonNullable; read(): NonNullable }; -`));let W=[];if(n==="ts"&&y(e.sexpr)&&e.sexpr[0]==="program"){let T=/^[A-Za-z_$][A-Za-z0-9_$]*$/;for(let N of e.sexpr.slice(1)){if(!y(N)||N[0]!=="??="||N.length!==3)continue;let F=N[1];if(!y(F)||F[0]!=="."||F[1]!=="globalThis")continue;if(typeof F[2]!=="string"||!T.test(F[2]))continue;let J=new Set(["null","undefined","true","false","this"]),x=N[2];W.push({name:F[2],anchor:typeof x==="string"&&T.test(x)&&!J.has(x)?x:null})}if(W.length)w.tsOnly(()=>{for(let N of W)if(N.anchor!==null)w.emit(` +`));let H=[];if(n==="ts"&&y(e.sexpr)&&e.sexpr[0]==="program"){let T=/^[A-Za-z_$][A-Za-z0-9_$]*$/;for(let N of e.sexpr.slice(1)){if(!y(N)||N[0]!=="??="||N.length!==3)continue;let F=N[1];if(!y(F)||F[0]!=="."||F[1]!=="globalThis")continue;if(typeof F[2]!=="string"||!T.test(F[2]))continue;let J=new Set(["null","undefined","true","false","this"]),x=N[2];H.push({name:F[2],anchor:typeof x==="string"&&T.test(x)&&!J.has(x)?x:null})}if(H.length)w.tsOnly(()=>{for(let N of H)if(N.anchor!==null)w.emit(` type __ripGlobal_${N.name} = typeof ${N.anchor};`);w.emit(` -declare global {`);for(let N of W)w.emit(` +declare global {`);for(let N of H)w.emit(` var ${N.name}: ${N.anchor===null?"any":`__ripGlobal_${N.name}`};`);w.emit(` } `)})}if(n==="ts"&&!Os(e.sexpr,(T)=>R.isModuleImport(T)))w.tsOnly(()=>w.emit(` export {}; -`));let G=[];for(let{name:T,node:N,path:F,key:J}of R.pinnables){if(J===null)continue;let x=S.idOf(N);if(x===null)continue;let Q=w.rows.find((r1)=>r1.nodeId===x&&r1.role==="$self"),U=w.rows.find((r1)=>r1.nodeId===x&&r1.role==="value");if(!Q||!U)continue;G.push({name:T,key:J,path:F??"",stmtGen:[Q.generatedStart,Q.generatedEnd],valueGen:[U.generatedStart,U.generatedEnd]})}return{code:w.code,mappings:w.rows,vocabulary:R.vocabulary,silences:R.silences,memberDecls:R.memberDecls,narrowedDecls:R.narrowedDecls,enums:R.enums,importedRefs:R.importedRefs,stores:S,runtimes:v,bindings:P,bindingNames:L,replResultName:R.replResultName,replImportResolver:R.replImportResolver,tsRegions:w.tsRegions,echoSpans:w.echoSpans,globalDecls:W.map((T)=>T.name),pinnables:G,mutables:R.mutables,classDecls:R.classDecls,pinSpans:R.pinSpans,loopVars:R.loopVars,readLoopVarDecls:R.loopVarDecls.filter((T)=>T.owner.readVars.has(T.which)).map((T)=>T.span),attrNames:R.attrNames,routeWraps:R.routeWrapSpans,sourceKeys:R.sourceKeySpans,stashMembers:R.stashMemberSpans,stashKeys:R.stashKeys??null,memberInits:R.memberInitSites,imports:R.importSpans,intrinsics:R.intrinsics,renderPairs:R.renderPairs,kinds:R.kinds}}var Sa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",l5=new Map([...Sa].map((e,t)=>[e,t])),B3=/^[$_\p{ID_Start}][$\u200C\u200D_\p{ID_Continue}]*$/u;function bt(e){let t=e<0?-e<<1|1:e<<1,r="";do{let n=t&31;if(t>>>=5,t>0)n|=32;r+=Sa[n]}while(t>0);return r}function Ra({code:e,mappings:t},{source:r,file:n="output.js",sourcePath:i="input.rip"}={}){let s=new ge(r,i),a=new ge(e,n),l=(t instanceof ye?t:new ye(t)).serializableRows(),c=[],f=new Map,h=[],u=0,d=0,p=0;for(let m of l){let g=a.lineColAt(m.generatedStart),b=s.lineColAt(m.sourceStart);while(h.length<=g.line)h.push([]);let S=h[g.line],w=S.length?S[S.length-1].genCol:0,R=bt(g.col-w)+bt(0)+bt(b.line-u)+bt(b.col-d);u=b.line,d=b.col;let k=e.slice(m.generatedStart,m.generatedEnd);if(m.mappingKind==="exact"&&B3.test(k)){let j=f.get(k);if(j===void 0)j=c.length,c.push(k),f.set(k,j);R+=bt(j-p),p=j}S.push({genCol:g.col,seg:R})}return{version:3,file:n,sources:[i],sourcesContent:[r],names:c,mappings:h.map((m)=>m.map((g)=>g.seg).join(",")).join(";")}}var Ea=()=>{throw Error("rip: declaration emission is unavailable in the browser")};class He extends Error{constructor(e,{path:t,start:r=null,end:n=null,line:i=null,col:s=null}={}){super(e);this.name="CompileError",this.path=t,this.start=r,this.end=n,this.line=i,this.col=s}}var U3=(e,t)=>{let{line:r,col:n}=e.lineColAt(t),i=e.lineStarts[r],s=r+1c==="\t"?"\t":" ").join("");return` ${o} | ${a} +`));let G=[];for(let{name:T,node:N,path:F,key:J}of R.pinnables){if(J===null)continue;let x=S.idOf(N);if(x===null)continue;let e1=w.rows.find((i1)=>i1.nodeId===x&&i1.role==="$self"),U=w.rows.find((i1)=>i1.nodeId===x&&i1.role==="value");if(!e1||!U)continue;G.push({name:T,key:J,path:F??"",stmtGen:[e1.generatedStart,e1.generatedEnd],valueGen:[U.generatedStart,U.generatedEnd]})}return{code:w.code,mappings:w.rows,vocabulary:R.vocabulary,silences:R.silences,memberDecls:R.memberDecls,narrowedDecls:R.narrowedDecls,enums:R.enums,importedRefs:R.importedRefs,stores:S,runtimes:v,bindings:P,bindingNames:L,replResultName:R.replResultName,replImportResolver:R.replImportResolver,tsRegions:w.tsRegions,echoSpans:w.echoSpans,globalDecls:H.map((T)=>T.name),pinnables:G,mutables:R.mutables,classDecls:R.classDecls,pinSpans:R.pinSpans,loopVars:R.loopVars,readLoopVarDecls:R.loopVarDecls.filter((T)=>T.owner.readVars.has(T.which)).map((T)=>T.span),attrNames:R.attrNames,routeWraps:R.routeWrapSpans,sourceKeys:R.sourceKeySpans,stashMembers:R.stashMemberSpans,stashKeys:R.stashKeys??null,memberInits:R.memberInitSites,imports:R.importSpans,intrinsics:R.intrinsics,renderPairs:R.renderPairs,kinds:R.kinds}}var Sa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",l5=new Map([...Sa].map((e,t)=>[e,t])),B3=/^[$_\p{ID_Start}][$\u200C\u200D_\p{ID_Continue}]*$/u;function bt(e){let t=e<0?-e<<1|1:e<<1,r="";do{let n=t&31;if(t>>>=5,t>0)n|=32;r+=Sa[n]}while(t>0);return r}function Ra({code:e,mappings:t},{source:r,file:n="output.js",sourcePath:i="input.rip"}={}){let s=new ge(r,i),a=new ge(e,n),l=(t instanceof ye?t:new ye(t)).serializableRows(),c=[],f=new Map,h=[],u=0,d=0,p=0;for(let m of l){let g=a.lineColAt(m.generatedStart),b=s.lineColAt(m.sourceStart);while(h.length<=g.line)h.push([]);let S=h[g.line],w=S.length?S[S.length-1].genCol:0,R=bt(g.col-w)+bt(0)+bt(b.line-u)+bt(b.col-d);u=b.line,d=b.col;let k=e.slice(m.generatedStart,m.generatedEnd);if(m.mappingKind==="exact"&&B3.test(k)){let j=f.get(k);if(j===void 0)j=c.length,c.push(k),f.set(k,j);R+=bt(j-p),p=j}S.push({genCol:g.col,seg:R})}return{version:3,file:n,sources:[i],sourcesContent:[r],names:c,mappings:h.map((m)=>m.map((g)=>g.seg).join(",")).join(";")}}var Ea=()=>{throw Error("rip: declaration emission is unavailable in the browser")};class He extends Error{constructor(e,{path:t,start:r=null,end:n=null,line:i=null,col:s=null}={}){super(e);this.name="CompileError",this.path=t,this.start=r,this.end=n,this.line=i,this.col=s}}var U3=(e,t)=>{let{line:r,col:n}=e.lineColAt(t),i=e.lineStarts[r],s=r+1c==="\t"?"\t":" ").join("");return` ${o} | ${a} ${" ".repeat(o.length)} | ${l}^`},ji=(e,t,r,n,i)=>{let{line:s,col:a}=e.lineColAt(n),o=`${t}:${s+1}:${a+1}: ${r} ${U3(e,n)}`;return new He(o,{path:t,start:n,end:i,line:s+1,col:a+1})},V3=(e,t)=>{let r=e.text,n=r.slice(0,t.start),i=r.slice(t.start),s=n.slice(n.lastIndexOf(` @@ -341,7 +343,7 @@ ${U3(e,n)}`;return new He(o,{path:t,start:n,end:i,line:s+1,col:a+1})},V3=(e,t)=> `+c+"]"}if(o==="object"){let l=Object.getPrototypeOf(s);if(l!==Object.prototype&&l!==null)return null;let c=Object.keys(s);if(c.length===0)return"{}";let f=" ".repeat(a+1),h=" ".repeat(a),u=c.map((d)=>{let p=i(s[d],a+1);return p===null?null:n(d)+": "+p});if(u.some((d)=>d===null))return null;return`{ `+f+u.join(` `+f)+` -`+h+"}"}return null};return(s)=>{let a=i(s,0);if(a!==null)console.log(a);else console.dir(s,{depth:null,colors:!0});return s}})(),Da=(e,t)=>{throw t!==void 0?new e(t):Error(e)},xa=(e,t)=>t!==void 0?(e>t&&([e,t]=[t,e]),Math.floor(Math.random()*(t-e+1)+e)):e?Math.floor(Math.random()*e):Math.random(),Ca=(e)=>new Promise((t)=>setTimeout(t,e)),Pa=(e)=>{throw Error(e||"Not implemented")},La=(...e)=>console.warn(...e),Ma=(...e)=>e[0].map((t,r)=>e.map((n)=>n[r])),ja=(e)=>{if(typeof e==="string")return e;if(e==null)return"";if(typeof e==="number"||typeof e==="bigint"||typeof e==="boolean")return String(e);if(typeof e==="symbol")return e.description||"";if(e instanceof Uint8Array||e instanceof ArrayBuffer)return new TextDecoder().decode(e instanceof Uint8Array?e:new Uint8Array(e));if(Array.isArray(e))return e.join(",");if(typeof e.toString==="function"&&e.toString!==Object.prototype.toString)try{return e.toString()}catch{return""}return""};var br={};Fe(br,{SchemaDef:()=>Et,SchemaError:()=>I1,SchemaRegistry:()=>te,__schema:()=>e4,installPersistence:()=>q3,registerCoercer:()=>J3});var Wa=Symbol.for("rip.runtime.schema");if(globalThis[Wa])throw Error("two copies of the Rip schema runtime loaded in one process — schemas from different copies "+"cannot see each other (separate registries, distinct SchemaError classes). Run .rip sources through the rip CLI/loader (one shared runtime module per process), or load only one standalone-compiled file per process.");globalThis[Wa]=!0;var ke=null;function q3(e){if(ke&&ke!==e)throw Error("the Rip schema persistence runtime is already installed — two different copies met in one process");ke=e}class I1 extends Error{constructor(e,t,r){super(X3(e,t));this.name="SchemaError",this.issues=e,this.schemaName=t||null,this.schemaKind=r||null}}function X3(e,t){if(!e||!e.length)return"SchemaError";return(t?t+": ":"")+e.map((n)=>n.message||n.error||"invalid").join("; ")}var Ha={__proto__:null,string:(e)=>typeof e==="string",number:(e)=>typeof e==="number"&&!Number.isNaN(e),integer:(e)=>Number.isInteger(e),boolean:(e)=>typeof e==="boolean",date:(e)=>e instanceof Date&&!Number.isNaN(e.getTime()),datetime:(e)=>e instanceof Date&&!Number.isNaN(e.getTime()),email:(e)=>typeof e==="string"&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),url:(e)=>typeof e==="string"&&/^https?:\/\/.+/.test(e),uuid:(e)=>typeof e==="string"&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e),phone:(e)=>typeof e==="string"&&/^[\d\s\-+()]+$/.test(e),zip:(e)=>typeof e==="string"&&/^\d{5}(-\d{4})?$/.test(e),text:(e)=>typeof e==="string",json:(e)=>e!==void 0,variant:(e)=>e!==void 0,any:()=>!0},gr={integer(e){if(typeof e==="number")return Number.isInteger(e)?{ok:!0,value:e}:{ok:!1};if(typeof e==="string"&&/^[+-]?\d+$/.test(e.trim()))return{ok:!0,value:parseInt(e.trim(),10)};return{ok:!1}},number(e){if(typeof e==="number")return Number.isNaN(e)?{ok:!1}:{ok:!0,value:e};if(typeof e==="string"&&/^[+-]?(\d+\.?\d*|\.\d+)([eE][+-]?\d+)?$/.test(e.trim()))return{ok:!0,value:Number(e.trim())};return{ok:!1}},boolean(e){if(typeof e==="boolean")return{ok:!0,value:e};if(e==="true"||e==="1"||e===1)return{ok:!0,value:!0};if(e==="false"||e==="0"||e===0)return{ok:!0,value:!1};return{ok:!1}},date(e){if(e instanceof Date)return Number.isNaN(e.getTime())?{ok:!1}:{ok:!0,value:e};if(typeof e==="number"&&Number.isFinite(e))return{ok:!0,value:new Date(e)};let t=typeof e==="string"?/^(\d{4})-(\d{2})-(\d{2})/.exec(e):null;if(t){let r=+t[2],n=+t[3],i=new Date(Date.UTC(+t[1],r,0)).getUTCDate();if(r<1||r>12||n<1||n>i)return{ok:!1};let s=new Date(e);if(!Number.isNaN(s.getTime()))return{ok:!0,value:s}}return{ok:!1}}};gr.datetime=gr.date;function dr(e){if(e!==null&&typeof e==="object"&&!Array.isArray(e))return null;return{field:"",error:"object",message:"input must be an object; got "+(e===null?"null":Array.isArray(e)?"an array":"a "+typeof e)}}var Bi=new Map;function J3(e,t,r){if(typeof e!=="string"||typeof t!=="function")throw Error("registerCoercer(name, fn, opts?): name string and fn required");let n=Object.prototype.toString.call(t);if(n==="[object AsyncFunction]"||n==="[object GeneratorFunction]"||n==="[object AsyncGeneratorFunction]")throw Error("registerCoercer: coercer '~:"+e+"' must be a plain synchronous function");let i=r?.raw===!0,s=Bi.get(e);if(s){if(s.raw===i&&String(s.fn)===String(t))return t;throw Error("registerCoercer: coercer '~:"+e+"' is already registered")}return Bi.set(e,{fn:t,raw:i}),t}function St(e){if(Ha[e])return null;let t=te.get(e);return t&&(t.kind==="shape"||t.kind==="input"||t.kind==="model"||t.kind==="union")?t:null}function Ui(e,t,r){let n=Ha[t];if(n)return n(e)?{value:e}:{errors:[{field:"",error:"type",message:"must be "+t}]};let i=te.get(t);if(!i)return{value:e};if(i.kind==="enum"){let a=i._validateEnum(e,!0);return a.length?{errors:[{field:"",error:"enum",message:a[0].message}]}:{value:i._materializeEnum(e)}}if(i.kind==="mixin")return{errors:[{field:"",error:"type",message:":mixin "+t+" is not usable as a field type"}]};if(i.kind==="union"){let a=i._unionResolve(e);if(a.issue)return{errors:[a.issue]};let o=r?.existing?a.def._runExistingSync(e,{...r,materialize:!1,materializeNested:!1}):a.def._runSync(e,{...r,materialize:!1,materializeNested:!1});if(o.thrown){if(r?.derived==="throw")throw o.thrown;return{errors:[{field:"",error:"derived",message:o.thrown?.message||String(o.thrown)}]}}return o.ok?{value:o.value}:{errors:o.errors}}if(e===null||typeof e!=="object"||Array.isArray(e))return{errors:[{field:"",error:"type",message:"must be a "+t+" object"}]};let s=r?.existing?i._runExistingSync(e,{...r,materialize:!1,materializeNested:!1}):i._runSync(e,{...r,materialize:!1,materializeNested:!1});if(s.thrown){if(r?.derived==="throw")throw s.thrown;return{errors:[{field:"",error:"derived",message:s.thrown?.message||String(s.thrown)}]}}return s.ok?{value:s.value}:{errors:s.errors}}async function Fa(e,t,r){let n=St(t);if(n===null)return Ui(e,t,r);if(n.kind==="union"){let s=n._unionResolve(e);if(s.issue)return{errors:[s.issue]};let a=r?.existing?await s.def._runExistingAsync(e,{...r,materialize:!1,materializeNested:!1}):await s.def._runAsync(e,{...r,materialize:!1,materializeNested:!1});if(a.thrown){if(r?.derived==="throw")throw a.thrown;return{errors:[{field:"",error:"derived",message:a.thrown?.message||String(a.thrown)}]}}return a.ok?{value:a.value}:{errors:a.errors}}if(e===null||typeof e!=="object"||Array.isArray(e))return{errors:[{field:"",error:"type",message:"must be a "+t+" object"}]};let i=r?.existing?await n._runExistingAsync(e,{...r,materialize:!1,materializeNested:!1}):await n._runAsync(e,{...r,materialize:!1,materializeNested:!1});if(i.thrown){if(r?.derived==="throw")throw i.thrown;return{errors:[{field:"",error:"derived",message:i.thrown?.message||String(i.thrown)}]}}return i.ok?{value:i.value}:{errors:i.errors}}function Rt(e,t){if(!t)return e;return e+(t.startsWith("[")?t:"."+t)}function mr(e,t,r){if(!t)return e+" "+r;if(r.startsWith(t))return e+r.slice(t.length);return e+": "+r}var pr=Symbol("schema.materialization-error");function Ba(e,t){if(e&&e[pr])return{[pr]:!0,error:e.error,field:Rt(t,e.field)};return{[pr]:!0,error:e,field:t}}function Ge(e){return e&&e[pr]?{thrown:e.error,derivedField:e.field}:{thrown:e,derivedField:""}}var Z3=tt;function Ua(e){let t=(n)=>JSON.stringify(n??null,(i,s)=>s instanceof RegExp?String(s):typeof s==="function"?"":s),r=[e.kind];for(let n of e._desc.entries||[])switch(n.tag){case"field":r.push("f:"+n.name+":"+(n.typeName||"")+(n.array?"[]":"")+":"+(n.modifiers||[]).join("")+(n.literals?":"+n.literals.join(","):"")+":"+t(n.constraints)+(n.coerce?":~"+(n.coercer||""):"")+(n.transform?":t":""));break;case"enum-member":r.push("e:"+n.name+"="+String(n.value));break;case"directive":r.push("d:"+n.name+":"+t(n.args));break;case"ensure":r.push("n:"+(n.message||""));break;default:r.push(n.tag+":"+(n.name||""))}return r.join("|")}var Ee=0,te={_entries:new Map,replace:!1,register(e){if(!e.name)return;Ee++;let t=this._entries.get(e.name);if(t&&t.def!==e&&!this.replace){if(Ua(t.def)!==Ua(e))throw new I1([{field:e.name,error:"collision",message:"schema name '"+e.name+"' is already registered with a different definition. Schema names are app-global (they resolve nested field types and @mixin references), so two "+"different schemas cannot share one name. Rename one — or, for dev/HMR reload semantics, set "+"SchemaRegistry.replace = true before re-evaluating modules."}],e.name,e.kind)}this._entries.set(e.name,{def:e,kind:e.kind})},get(e){let t=this._entries.get(e);return t?t.def:null},getKind(e,t){let r=this._entries.get(e);return r&&r.kind===t?r.def:null},has(e){return this._entries.has(e)},names(){return[...this._entries.keys()]},reset(){this._entries.clear(),Ee++},scope(e){let t=this._entries;this._entries=new Map,Ee++;let r=()=>{this._entries=t,Ee++};try{let n=e();if(n&&typeof n.then==="function")return n.finally(r);return r(),n}catch(n){throw r(),n}}};class Et{constructor(e){if(e.kind==="model"&&!ke)throw Error("schema: kind 'model' needs the persistence runtime (src/runtime/orm.js), which is not "+"loaded in this process — reference a persistence name (schema.transaction, __schemaSetAdapter) "+"or import the module directly");if(this._desc=e,this.kind=e.kind,this.name=e.name||null,this._norm=null,this._klass=null,this._unionPlanCache=null,this._sourceModel=null,e.kind==="model")ke.decorateDef(this,e)}_normalize(){if(this._norm)return this._norm;let e=new Map,t=new Map,r=new Map,n=new Map,i=new Map,s=new Map,a=null,o=[],l=new Map,c=[],f=(S,w)=>{throw new I1([{field:S,error:"collision",message:S+" collides with "+w}],this.name,this.kind)},h=(S)=>{if(e.has(S))f(S,"field");if(t.has(S))f(S,"method");if(r.has(S))f(S,"computed");if(n.has(S))f(S,"derived");if(i.has(S))f(S,"hook")},u=(S)=>{throw new I1([{field:"",error:"kind",message:S+" is :model-only (this schema is :"+this.kind+")"}],this.name,this.kind)},d=this.kind==="union"?new Set(["on"]):new Set(["mixin"]),p=(S,w)=>{if(!Z3(S))throw new I1([{field:S,error:"invalid-name",message:w+" name '"+S+"' is not canonical camelCase. Use a lowercase-first, alphanumeric identifier with no consecutive uppercase letters (e.g. 'mdmId' not 'mdmID')."}],this.name,this.kind)};for(let S of this._desc.entries)switch(S.tag){case"field":p(S.name,"field"),h(S.name),e.set(S.name,{name:S.name,required:S.modifiers.includes("!"),optional:S.modifiers.includes("?"),unique:S.unique===!0,primary:S.primary===!0,attrs:S.attrs||null,typeName:S.typeName,literals:S.literals||null,array:S.array===!0,coerce:S.coerce===!0,coercer:S.coercer||null,constraints:S.constraints||null,transform:S.transform||null});break;case"method":h(S.name),t.set(S.name,S.fn);break;case"computed":h(S.name),r.set(S.name,S.fn);break;case"derived":h(S.name),n.set(S.name,S.fn);break;case"hook":if(this.kind!=="model")u("lifecycle hook '"+S.name+"'");if(i.has(S.name))f(S.name,"duplicate hook");i.set(S.name,S.fn);break;case"scope":if(this.kind!=="model")u("query scope '@scope :"+S.name+"'");if(s.has(S.name))f(S.name,"scope");s.set(S.name,S.fn);break;case"defaultScope":if(this.kind!=="model")u("@defaultScope");if(a)throw new I1([{field:"",error:"collision",message:"only one @defaultScope per model"}],this.name,this.kind);a=S.fn;break;case"directive":if(this.kind!=="model"&&!d.has(S.name))throw new I1([{field:"",error:"directive",message:"unknown directive '@"+S.name+"' on :"+this.kind+" — legal here: "+[...d].map((w)=>"@"+w).join(", ")}],this.name,this.kind);o.push({name:S.name,args:S.args||[]});break;case"enum-member":l.set(S.name,S.value!==void 0?S.value:S.name);break;case"union-member":break;case"ensure":c.push({message:S.message,field:S.field||"",async:S.async===!0,fn:S.fn});break;default:throw new I1([{field:"",error:"entry",message:"unknown schema entry tag '"+S.tag+"'"}],this.name,this.kind)}if(this.kind==="shape"||this.kind==="input"||this.kind==="mixin"||this.kind==="model")Ya(this,e,o,{stack:[this.name||""],seen:new Set([this.name||""])});let m=null,g=[];if(this.kind==="union"){for(let S of o)if(S.name==="on"&&S.args?.[0]?.field)m=S.args[0].field;for(let S of this._desc.entries)if(S.tag==="union-member")g.push(S.name)}let b={fields:e,methods:t,computed:r,derived:n,hooks:i,scopes:s,defaultScope:a,directives:o,enumMembers:l,ensures:c,hasAsyncEnsures:c.some((S)=>S.async),unionOn:m,unionMembers:g};if(this.kind==="model")ke.finishModelNorm(this,b);return this._norm=b,this._norm}_unionPlan(){if(this._unionPlanCache&&this._unionPlanCache.gen===Ee)return this._unionPlanCache.plan;let e=this._normalize(),t=e.unionOn;if(this.kind!=="union"||!t)throw Error("schema: '"+(this.name||"anon")+"' is not a :union");let r=new Map,n=[];for(let s of e.unionMembers){let a=te.get(s);if(!a)throw new I1([{field:"",error:"union",message:"unknown union constituent: "+s+" (import the file that declares it)"}],this.name,this.kind);n.push(a);let o=a._normalize().fields.get(t);if(!o||o.typeName!=="literal-union"||!o.literals?.length)throw new I1([{field:t,error:"union",message:s+" must declare '"+t+"' as a string-literal type (e.g. "+t+'! "click") to join union '+(this.name||"")}],this.name,this.kind);for(let l of o.literals){if(r.has(l))throw new I1([{field:t,error:"union",message:"duplicate discriminator value "+JSON.stringify(l)+" in "+(r.get(l).name||"anon")+" and "+s}],this.name,this.kind);r.set(l,a)}}let i={disc:t,map:r,expected:[...r.keys()].join(" | "),hasAsyncEnsures:n.some((s)=>s._normalize().hasAsyncEnsures)};return this._unionPlanCache={gen:Ee,plan:i},i}_unionResolve(e){let t=this._unionPlan();if(e===null||typeof e!=="object"||Array.isArray(e))return{issue:{field:t.disc,error:"union",message:"expected an object with "+t.disc}};let r=t.map.get(e[t.disc]);if(!r)return{issue:{field:t.disc,error:"union",message:"expected one of "+t.expected}};return{def:r}}_applyEagerDerived(e){let t=this._normalize();if(!t.derived.size)return;for(let[r,n]of t.derived){let i=n.call(e);Object.defineProperty(e,r,{value:i,enumerable:!0,writable:!0,configurable:!0})}}_materializeValidatedValue(e,t,r){return this._materializeNestedValues(e,t,r),this._materializeOwnValidatedValue(e,t,r)}_materializeNestedValues(e,t,r){let n=this._normalize();for(let[i,s]of n.fields){let a=St(s.typeName);if(!a)continue;let o=e[i];if(o===void 0||o===null)continue;let l=t==null?void 0:t[i];if(s.array){if(!Array.isArray(o))continue;let c=Array(o.length);for(let f=0;f{let a=()=>({field:i.field||"",error:"ensure",message:i.message||"ensure failed"});if(i.async)n.push((async()=>{let o=!1;try{o=!!await i.fn(e)}catch{o=!1}if(!o)r.push({idx:s,issue:a()})})());else{let o=!1;try{o=!!i.fn(e)}catch{o=!1}if(!o)r.push({idx:s,issue:a()})}}),await Promise.all(n),r.sort((i,s)=>i.idx-s.idx),r.map((i)=>i.issue)}_transitiveAsync(){if(this._taGen===Ee)return this._taCache;let e=new Set,t=(r)=>{if(e.has(r))return!1;e.add(r);let n=r._normalize();if(n.hasAsyncEnsures)return!0;if(r.kind==="union"){for(let i of n.unionMembers){let s=te.get(i);if(s&&t(s))return!0}return!1}for(let i of n.fields.values()){let s=St(i.typeName);if(s&&t(s))return!0}return!1};return this._taCache=t(this),this._taGen=Ee,this._taCache}_assertSyncValidatable(e){if(!this._transitiveAsync())return;let t=this.kind!=="union"&&this._normalize().hasAsyncEnsures;throw Error("schema '"+(this.name||"anon")+"' has async refinements (@ensure!"+(t?"":" in a nested or constituent schema")+"); ."+e+"() is sync. Use parseAsync/safeAsync/okAsync instead.")}_getClass(){if(this._klass)return this._klass;let e=this._normalize(),t=this.name||"Schema",r=[...e.fields.keys()],n={[t]:class{constructor(i){if(i&&typeof i==="object"){for(let s of r)if(s in i&&i[s]!==void 0)this[s]=i[s]}}}}[t];for(let[i,s]of e.methods)Object.defineProperty(n.prototype,i,{value:s,writable:!0,enumerable:!1,configurable:!0});for(let[i,s]of e.computed)Object.defineProperty(n.prototype,i,{get:s,enumerable:!1,configurable:!0});return this._klass=n,n}_coerceDates(e){let t=this._normalize(),r=(s)=>typeof s==="string"&&/^\d{4}-\d{2}-\d{2}([T ].*)?$/.test(s),n=(s)=>{let a=/^(\d{4})-(\d{2})-(\d{2})/.exec(s),o=+a[2],l=+a[3];return o>=1&&o<=12&&l>=1&&l<=new Date(Date.UTC(+a[1],o,0)).getUTCDate()},i=(s)=>{if(!n(s))return s;let a=new Date(s);return Number.isNaN(a.getTime())?s:a};for(let[s,a]of t.fields){if(a.typeName!=="date"&&a.typeName!=="datetime")continue;let o=e[s];if(a.array&&Array.isArray(o))e[s]=o.map((l)=>r(l)?i(l):l);else if(r(o))e[s]=i(o)}}_validateFields(e,t,r,n){let i=this._normalize(),s=t?[]:null;for(let[a,o]of i.fields){if(r&&r.has(a))continue;let l=e==null?void 0:e[a];if(l===void 0||l===null){if(o.required){if(!t)return!1;s.push({field:a,error:"required",message:a+" is required"})}continue}if(o.array){if(!Array.isArray(l)){if(!t)return!1;s.push({field:a,error:"type",message:a+" must be an array"});continue}let f=o.constraints;if(f){if(f.min!=null&&l.lengthf.max){if(!t)return!1;s.push({field:a,error:"max",message:a+" must have at most "+f.max+" items"})}}if(n?.deferNested&&St(o.typeName))continue;let h=!1,u=!1,d=Array(l.length);for(let p=0;pJSON.stringify(f)).join(", ")});continue}}else{if(n?.deferNested&&St(o.typeName))continue;let f=Ui(l,o.typeName,n);if(f.errors){if(!t)return!1;for(let h of f.errors){let u=Rt(a,h.field);s.push({field:u,error:h.error,message:mr(u,h.field,h.message)})}continue}if(f.value!==l)e[a]=f.value}let c=o.constraints;if(c){if(typeof l==="string"){if(c.min!=null&&l.lengthc.max){if(!t)return!1;s.push({field:a,error:"max",message:a+" must be at most "+c.max+" chars"})}if(c.regex){if(c.regex.global||c.regex.sticky)c.regex.lastIndex=0;if(!c.regex.test(l)){if(!t)return!1;s.push({field:a,error:"pattern",message:a+" is invalid"})}}}else if(typeof l==="number"){if(c.min!=null&&l= "+c.min})}if(c.max!=null&&l>c.max){if(!t)return!1;s.push({field:a,error:"max",message:a+" must be <= "+c.max})}}}}return t?s:!0}_applyDefaults(e){let t=this._normalize();for(let[r,n]of t.fields)if((e[r]===void 0||e[r]===null)&&n.constraints?.default!==void 0){let i=n.constraints.default;e[r]=typeof i==="object"&&i!==null&&!(i instanceof RegExp)?structuredClone(i):i}return e}_applyTransforms(e,t){let r=this._normalize(),n=[];for(let[i,s]of r.fields){if(!s.transform)continue;try{t[i]=s.transform(e)}catch(a){n.push({field:i,error:"transform",message:a?.message||String(a)})}}return n}_applyCoercions(e,t){let r=this._normalize(),n=[];for(let[i,s]of r.fields){if(!s.coerce)continue;let a=e[i];if(a===void 0||a===null)continue;if(s.coercer){let l=Bi.get(s.coercer);if(!l)throw Error("schema: no coercer registered for '~:"+s.coercer+"' (field '"+i+"' on "+(this.name||"anon")+"). Register it with registerCoercer('"+s.coercer+"', fn).");let c=l.raw?a:String(a).trim(),f;try{f=l.fn(c)}catch{f=null}if(f===null||f===void 0)n.push({field:i,error:"coerce",message:i+" is not a valid "+s.coercer}),t.add(i);else e[i]=f;continue}let o=gr[s.typeName]?gr[s.typeName](a):{ok:!1};if(o.ok)e[i]=o.value;else n.push({field:i,error:"coerce",message:i+" cannot be coerced to "+s.typeName}),t.add(i)}return n}_orderFieldErrors(...e){let t=new Map,r=0;for(let[n]of this._normalize().fields)t.set(n,r++);return e.flat().map((n,i)=>{let s=String(n.field||"").split(/[.[]/,1)[0];return{issue:n,seq:i,rank:t.has(s)?t.get(s):r}}).sort((n,i)=>n.rank-i.rank||n.seq-i.seq).map((n)=>n.issue)}_validateEnum(e,t){let r=this._normalize();for(let[i,s]of r.enumMembers)if(e===i||e===s)return t?[]:!0;if(!t)return!1;let n=[...r.enumMembers.keys()].join(", ");return[{field:"",error:"enum",message:(this.name||"enum")+" expected one of: "+n}]}_materializeEnum(e){let t=this._normalize();for(let[r,n]of t.enumMembers)if(e===r||e===n)return n;return e}_runSync(e,t){if(this.kind==="union"){let f=this._unionResolve(e);if(f.issue)return{ok:!1,errors:[f.issue]};let h=f.def._runSync(e,t);return h.ok?h:{...h,from:h.from||f.def}}if(this.kind==="enum"){let f=this._validateEnum(e,!0);return f.length?{ok:!1,errors:f}:{ok:!0,value:this._materializeEnum(e)}}let r=dr(e);if(r)return{ok:!1,errors:[r]};let n=e,i={...n},s=new Set,a=this._applyTransforms(n,i),o=this._applyCoercions(i,s);this._applyDefaults(i),this._coerceDates(i);let l=this._orderFieldErrors(a,o,this._validateFields(i,!0,s,t));if(l.length)return{ok:!1,errors:l};let c=t?.skipEnsures?[]:this._applyEnsures(i);if(c.length)return{ok:!1,errors:c};if(t?.materializeNested)try{this._materializeNestedValues(i,null,!1)}catch(f){return{ok:!1,errors:null,...Ge(f)}}if(!t?.materialize)return{ok:!0,value:i};try{return{ok:!0,value:this._materializeOwnValidatedValue(i,null,!1)}}catch(f){return{ok:!1,errors:null,...Ge(f)}}}async _runAsync(e,t){if(this.kind==="union"){let h=this._unionResolve(e);if(h.issue)return{ok:!1,errors:[h.issue]};let u=await h.def._runAsync(e,t);return u.ok?u:{...u,from:u.from||h.def}}if(this.kind==="enum")return this._runSync(e,t);let r=dr(e);if(r)return{ok:!1,errors:[r]};let n=e,i={...n},s=new Set,a=this._applyTransforms(n,i),o=this._applyCoercions(i,s);this._applyDefaults(i),this._coerceDates(i);let l=await this._validateFieldsAsync(i,s,t),c=this._orderFieldErrors(a,o,l);if(c.length)return{ok:!1,errors:c};let f=t?.skipEnsures?[]:await this._applyEnsuresAsync(i);if(f.length)return{ok:!1,errors:f};if(t?.materializeNested)try{this._materializeNestedValues(i,null,!1)}catch(h){return{ok:!1,errors:null,...Ge(h)}}if(!t?.materialize)return{ok:!0,value:i};try{return{ok:!0,value:this._materializeOwnValidatedValue(i,null,!1)}}catch(h){return{ok:!1,errors:null,...Ge(h)}}}async _validateFieldsAsync(e,t,r){let n=this._normalize(),i=[];for(let[s,a]of n.fields){if(t&&t.has(s))continue;let o=e[s];if(o===void 0||o===null){if(a.required)i.push({field:s,error:"required",message:s+" is required"});continue}if(a.array){if(!Array.isArray(o)){i.push({field:s,error:"type",message:s+" must be an array"});continue}let f=a.constraints;if(f?.min!=null&&o.lengthf.max)i.push({field:s,error:"max",message:s+" must have at most "+f.max+" items"});let h=Array(o.length),u=!1;for(let d=0;dJSON.stringify(f)).join(", ")})}else{let f=await Fa(o,a.typeName,r);if(f.errors)for(let h of f.errors){let u=Rt(s,h.field);i.push({field:u,error:h.error,message:mr(u,h.field,h.message)})}else e[s]=f.value}let l=e[s],c=a.constraints;if(c){if(typeof l==="string"){if(c.min!=null&&l.lengthc.max)i.push({field:s,error:"max",message:s+" must be at most "+c.max+" chars"});if(c.regex){if(c.regex.global||c.regex.sticky)c.regex.lastIndex=0;if(!c.regex.test(l))i.push({field:s,error:"pattern",message:s+" is invalid"})}}else if(typeof l==="number"){if(c.min!=null&&l= "+c.min});if(c.max!=null&&l>c.max)i.push({field:s,error:"max",message:s+" must be <= "+c.max})}}}return i}_runExistingSync(e,t){if(this.kind==="union"){let a=this._unionResolve(e);if(a.issue)return{ok:!1,errors:[a.issue]};let o=a.def._runExistingSync(e,t);return o.ok?o:{...o,from:o.from||a.def}}if(this.kind==="enum")return this._runSync(e,t);let r=dr(e);if(r)return{ok:!1,errors:[r]};let n={...e},i=this._validateFields(n,!0,null,{...t,existing:!0});if(i.length)return{ok:!1,errors:i};let s=t?.skipEnsures?[]:this._applyEnsures(n);if(s.length)return{ok:!1,errors:s};if(t?.materializeNested)try{this._materializeNestedValues(n,e,!0)}catch(a){return{ok:!1,errors:null,...Ge(a)}}return this._finishExistingValue(e,n,t)}async _runExistingAsync(e,t){if(this.kind==="union"){let a=this._unionResolve(e);if(a.issue)return{ok:!1,errors:[a.issue]};let o=await a.def._runExistingAsync(e,t);return o.ok?o:{...o,from:o.from||a.def}}if(this.kind==="enum")return this._runSync(e,t);let r=dr(e);if(r)return{ok:!1,errors:[r]};let n={...e},i=await this._validateFieldsAsync(n,null,{...t,existing:!0});if(i.length)return{ok:!1,errors:i};let s=t?.skipEnsures?[]:await this._applyEnsuresAsync(n);if(s.length)return{ok:!1,errors:s};if(t?.materializeNested)try{this._materializeNestedValues(n,e,!0)}catch(a){return{ok:!1,errors:null,...Ge(a)}}return this._finishExistingValue(e,n,t)}_finishExistingValue(e,t,r){if(!r?.materialize)return{ok:!0,value:t};let n=this._getClass(),i=!0;for(let[a]of this._normalize().fields)if(t[a]!==e[a]){i=!1;break}if(i)return{ok:!0,value:e};let s=new n(t);try{this._applyEagerDerived(s)}catch(a){return{ok:!1,errors:null,thrown:a}}return{ok:!0,value:s}}parse(e){if(this.kind==="mixin")throw Error(":mixin schema '"+(this.name||"anon")+"' is not instantiable");this._assertSyncValidatable("parse");let t=this._runSync(e,{materialize:!0,materializeNested:!0,derived:"throw"});if(t.ok)return t.value;if(t.thrown)throw t.thrown;let r=t.from||this;throw new I1(t.errors,r.name,r.kind)}get array(){let e=this,t=(s)=>({field:"",error:"not_array",message:"expected an array, received "+(s===null?"null":s===void 0?"undefined":typeof s==="object"?"an object with keys ["+Object.keys(s).join(", ")+"]":typeof s)}),r=(s)=>{let a=[],o=[];return s.forEach((l,c)=>{if(l.ok)a.push(l.value);else for(let f of l.errors)o.push({...f,field:"["+c+"]"+(f.field?"."+f.field:"")})}),{value:a,errors:o}},n=(s)=>{let a=[],o=[];return s.forEach((l,c)=>{try{a.push(e.parse(l))}catch(f){if(!(f instanceof I1))throw f;for(let h of f.issues)o.push({...h,field:"["+c+"]"+(h.field?"."+h.field:"")})}}),{value:a,errors:o}},i=async(s)=>{let a=[],o=[];for(let l=0;le.safe(l)));return o.length?{ok:!1,value:null,errors:o}:{ok:!0,value:a,errors:null}},ok(s){return Array.isArray(s)&&s.every((a)=>e.ok(a))},async parseAsync(s){if(!Array.isArray(s))throw new I1([t(s)],e.name,e.kind);let{value:a,errors:o}=await i(s);if(o.length)throw new I1(o,e.name,e.kind);return a},async safeAsync(s){if(!Array.isArray(s))return{ok:!1,value:null,errors:[t(s)]};let{value:a,errors:o}=r(await Promise.all(s.map((l)=>e.safeAsync(l))));return o.length?{ok:!1,value:null,errors:o}:{ok:!0,value:a,errors:null}},async okAsync(s){return Array.isArray(s)&&(await Promise.all(s.map((a)=>e.okAsync(a)))).every(Boolean)},toJSONSchema(){return{type:"array",items:e.toJSONSchema()}}}}safe(e){if(this.kind==="mixin")return{ok:!1,value:null,errors:[{field:"",error:"mixin",message:"not instantiable"}]};this._assertSyncValidatable("safe");let t=this._runSync(e,{materialize:!0,materializeNested:!0,derived:"issue"});if(t.ok)return{ok:!0,value:t.value,errors:null};if(t.thrown)return{ok:!1,value:null,errors:[{field:t.derivedField||"",error:"derived",message:t.thrown?.message||String(t.thrown)}]};return{ok:!1,value:null,errors:t.errors}}ok(e){if(this.kind==="mixin")return!1;return this._assertSyncValidatable("ok"),this._runSync(e,{materialize:!1,materializeNested:!1,derived:"issue"}).ok}async parseAsync(e){if(this.kind==="mixin")throw Error(":mixin schema '"+(this.name||"anon")+"' is not instantiable");let t=await this._runAsync(e,{materialize:!0,materializeNested:!0,derived:"throw"});if(t.ok)return t.value;if(t.thrown)throw t.thrown;let r=t.from||this;throw new I1(t.errors,r.name,r.kind)}async safeAsync(e){if(this.kind==="mixin")return{ok:!1,value:null,errors:[{field:"",error:"mixin",message:"not instantiable"}]};let t=await this._runAsync(e,{materialize:!0,materializeNested:!0,derived:"issue"});if(t.ok)return{ok:!0,value:t.value,errors:null};if(t.thrown)return{ok:!1,value:null,errors:[{field:t.derivedField||"",error:"derived",message:t.thrown?.message||String(t.thrown)}]};return{ok:!1,value:null,errors:t.errors}}async okAsync(e){if(this.kind==="mixin")return!1;return(await this._runAsync(e,{materialize:!1,materializeNested:!1,derived:"issue"})).ok}pick(...e){return yt(this,(t)=>{let r=Fi(e),n=new Map;for(let i of r){if(!t.has(i))throw Error("pick: unknown field '"+i+"' on "+(this.name||"schema"));n.set(i,t.get(i))}return n})}omit(...e){return yt(this,(t)=>{let r=new Set(Fi(e)),n=new Map;for(let[i,s]of t)if(!r.has(i))n.set(i,s);return n})}partial(){return yt(this,(e)=>{let t=new Map;for(let[r,n]of e)t.set(r,{...n,required:!1});return t})}required(...e){return yt(this,(t)=>{let r=new Set(Fi(e)),n=new Map;for(let[i,s]of t)n.set(i,{...s,required:r.has(i)?!0:s.required});return n})}extend(e){if(!(e instanceof Et))throw Error("extend(): argument must be a schema value");if(e.kind==="union")throw Error("extend(): :union schemas have no fields to merge");return yt(this,(t)=>{let r=new Map(t),n=e._normalize().fields;for(let[i,s]of n){if(r.has(i))throw Error("extend(): field '"+i+"' collides between "+(this.name||"schema")+" and "+(e.name||"other"));r.set(i,s)}return r})}toJSONSchema(){let e={defs:new Map,expanding:new Set},t=Ka(this,e);if(t.$schema="https://json-schema.org/draft/2020-12/schema",this.name)t.title=this.name;if(e.defs.size){t.$defs={};for(let[r,n]of e.defs)t.$defs[r]=n}return t}}var Va={__proto__:null,string:()=>({type:"string"}),text:()=>({type:"string"}),email:()=>({type:"string",format:"email"}),url:()=>({type:"string",format:"uri"}),uuid:()=>({type:"string",format:"uuid"}),phone:()=>({type:"string",pattern:"^[\\d\\s\\-+()]+$"}),zip:()=>({type:"string",pattern:"^\\d{5}(-\\d{4})?$"}),number:()=>({type:"number"}),integer:()=>({type:"integer"}),boolean:()=>({type:"boolean"}),date:()=>({type:"string",format:"date"}),datetime:()=>({type:"string",format:"date-time"}),json:()=>({}),variant:()=>({}),any:()=>({})};function Q3(e,t){let r;if(e.typeName==="literal-union"&&e.literals?.length)r=e.literals.length===1?{const:e.literals[0]}:{enum:[...e.literals]};else if(Va[e.typeName])r=Va[e.typeName]();else{let i=te.get(e.typeName);r=i?Ga(i,t):{}}let n=e.constraints;if(n&&!e.array){if(r.type==="string"){if(n.min!=null)r.minLength=n.min;if(n.max!=null)r.maxLength=n.max;if(n.regex)r.pattern=n.regex.source}else if(r.type==="number"||r.type==="integer"){if(n.min!=null)r.minimum=n.min;if(n.max!=null)r.maximum=n.max}}if(e.array){if(r={type:"array",items:r},n){if(n.min!=null)r.minItems=n.min;if(n.max!=null)r.maxItems=n.max}}if(n&&n.default!==void 0)r.default=n.default;if(e.coerce)r.description=((r.description?r.description+" ":"")+"Coerced from wire data ("+(e.coercer?"~:"+e.coercer:"~"+e.typeName)+").").trim();if(e.transform)r.description=((r.description?r.description+" ":"")+"Derived via transform; the raw input may use different keys.").trim();return r}function Ga(e,t){let r=e.name||"Anon";if(!t.defs.has(r)&&!t.expanding.has(r))t.expanding.add(r),t.defs.set(r,null),t.defs.set(r,Ka(e,t)),t.expanding.delete(r);return{$ref:"#/$defs/"+r}}function Ka(e,t){let r=e._normalize();if(e.kind==="enum")return{enum:[...new Set(r.enumMembers.values())]};if(e.kind==="union"){let a=e._unionPlan();return{oneOf:r.unionMembers.map((l)=>{let c=te.get(l);return c?Ga(c,t):{}}),discriminator:{propertyName:a.disc}}}let n={},i=[];for(let[a,o]of r.fields)if(n[a]=Q3(o,t),o.required&&o.constraints?.default===void 0)i.push(a);if(e.kind==="model")ke.jsonSchemaModelColumns(e,n);let s={type:"object",properties:n};if(i.length)s.required=i;if(r.ensures.length)s.description="Refinements (not expressible in JSON Schema): "+r.ensures.map((a)=>a.message).join("; ")+".";return s}function Fi(e){let t=[];for(let r of e)if(Array.isArray(r))for(let n of r)t.push(n);else t.push(r);return t}function yt(e,t){if(e.kind==="union")throw Error("schema algebra (.pick/.omit/.partial/.required/.extend) is not supported on :union — derive from a constituent schema instead");if(e.kind==="enum")throw Error("schema algebra is not supported on :enum — an enum has no field set");let r=e.kind==="model"?ke.projectableFields(e):e._normalize().fields,n=t(r),i=[];for(let[,o]of n){let l=[];if(o.required)l.push("!");if(o.optional&&!o.required)l.push("?");i.push({tag:"field",name:o.name,modifiers:l,unique:o.unique===!0,primary:o.primary===!0,attrs:o.attrs||null,typeName:o.typeName,array:o.array,literals:o.literals||null,coerce:o.coerce===!0,coercer:o.coercer||null,constraints:o.constraints,transform:o.transform||null})}let s=(e.name||"Schema")+"Derived",a=new Et({kind:"shape",name:s,entries:i});return a._sourceModel=e._sourceModel||(e.kind==="model"?e:null),a}function Ya(e,t,r,n){for(let i of r){if(i.name!=="mixin"||!i.args||!i.args[0])continue;let s=i.args[0].target;if(!s)continue;if(n.stack.includes(s))throw new I1([{field:"",error:"mixin-cycle",message:"mixin cycle: "+n.stack.concat(s).join(" -> ")}],e.name,e.kind);if(n.seen.has(s))continue;let a=te.getKind(s,"mixin");if(!a)throw new I1([{field:"",error:"mixin-missing",message:"unknown mixin: "+s}],e.name,e.kind);n.seen.add(s),n.stack.push(s);let o=a._desc.entries.filter((l)=>l.tag==="directive"&&l.name==="mixin").map((l)=>({name:l.name,args:l.args||[]}));Ya(e,t,o,n);for(let l of a._desc.entries){if(l.tag!=="field")continue;if(t.has(l.name))throw new I1([{field:l.name,error:"mixin-collision",message:l.name+" from mixin "+s+" collides with existing field"}],e.name,e.kind);if(e.kind!=="model"&&(l.unique===!0||l.attrs))throw new I1([{field:l.name,error:"mixin-persistence",message:l.name+" from mixin "+s+" carries persistence metadata (@unique/attrs) — :model-only; a :"+e.kind+" cannot include it"}],e.name,e.kind);t.set(l.name,{name:l.name,required:l.modifiers.includes("!"),optional:l.modifiers.includes("?"),unique:l.unique===!0,attrs:l.attrs||null,typeName:l.typeName,literals:l.literals||null,array:l.array===!0,coerce:l.coerce===!0,coercer:l.coercer||null,constraints:l.constraints||null,transform:l.transform||null})}n.stack.pop()}}function e4(e){let t=new Et(e);if(t.name)te.register(t);return t}if(typeof globalThis<"u")globalThis.__ripSchema=globalThis.__ripSchema||{},globalThis.__ripSchema.SchemaRegistry=te;var Tr={};Fe(Tr,{__batch:()=>M1,__catchErrors:()=>ue,__computed:()=>K1,__detachRef:()=>Vi,__effect:()=>x1,__handleError:()=>re,__ownerFrame:()=>Tt,__popOwner:()=>q1,__pushOwner:()=>le,__readonly:()=>fe,__setEffectErrorReporter:()=>t4,__setErrorHandler:()=>he,__state:()=>A1,getEffectSignal:()=>ce});var Xa=Symbol.for("rip.runtime.reactive");if(globalThis[Xa])throw Error("two copies of the Rip reactive runtime loaded in one process — states from different copies "+"cannot notify each other (separate dependency graphs, separate effect queues). Run .rip sources through the rip CLI/loader (one shared runtime module per process), or load only one standalone-compiled file per process.");globalThis[Xa]=!0;var N1=null,Er=[],Ke={buckets:[],cursors:[],size:0,low:0,add(e){let t=e.depth,r=this.buckets[t];if(r===void 0)r=this.buckets[t]=new Set;if(r.has(e))return;if(r.add(e),this.size++,tconsole.error(e,t);function t4(e){let t=kt;return kt=e,t}function Ja(){try{while(Ke.size>0){let e=Ke.shift();if(!e._disposed)e.run()}}catch(e){throw Ke.clear(),e}}var Za={valueOf(){return this.value},toString(){return String(this.value)},[Symbol.toPrimitive](e){return e==="string"?this.toString():this.valueOf()}};function A1(e){if(e!=null&&typeof e==="object"&&typeof e.read==="function")return e;let t=e,r=new Set,n=!1,i=!1,s=!1,a=()=>{if(N1&&typeof N1.markDirty==="function"&&N1.dependencies.has(r))throw Error("reactive runtime: computed dependency changed during evaluation — "+"computed functions must derive without writing or touching a dependency")},o=()=>{for(let f of Er)f.writtenSignals.add(r)},l=()=>{n=!0;try{for(let f of r)if(f.markDirty)f.markDirty(!0);else f._hard=!0,Ke.add(f);if(!Rr)Ja()}finally{n=!1}},c={get value(){if(s)return t;if(N1?.writtenSignals&&Er.some((f)=>f.writtenSignals.has(r)))throw Error("reactive runtime: computed dependency changed during evaluation — "+"computed functions must derive without writing or touching a dependency");if(N1)r.add(N1),N1.dependencies.add(r);return t},set value(f){if(s||i||f===t)return;if(a(),n)return;o(),t=f,l()},read(){return t},touch(){if(s)return;if(a(),n)return;o(),l()},lock(){return i=!0,c},free(){return r.clear(),c},kill(){return s=!0,r.clear(),t},...Za};return c}var yr=0,za=1,Sr=2;function Qa(e){let t=N1;N1=null;try{for(let[r,n]of e.computedDeps)if(r.value,r.version!==n)return!0;return!1}finally{N1=t}}function K1(e){let t,r=Sr,n=new Set,i=!1,s=!1,a=!1,o={dependencies:new Set,computedDeps:new Map,writtenSignals:new Set,version:0,markDirty(l){if(s||i)return;if(a)throw Error("reactive runtime: computed dependency changed during evaluation — "+"computed functions must derive without writing or touching a dependency");let c=r;if(l)r=Sr;else if(r===yr)r=za;if(c!==yr)return;for(let f of n)if(f.markDirty)f.markDirty(!1);else Ke.add(f)},get value(){if(s)return t;if(N1&&N1!==o)n.add(N1),N1.dependencies.add(n),N1.computedDeps.set(o,-1);if(a)throw Error("reactive runtime: computed value read during its own evaluation — "+"recursive computed reads are not supported");if(r===za&&!i)r=Qa(o)?Sr:yr;if(r===Sr&&!i){for(let c of o.dependencies)c.delete(o);o.dependencies.clear(),o.computedDeps.clear();let l=N1;o.writtenSignals.clear(),N1=o,Er.push(o),a=!0;try{let c=e();if(c!==t)o.version++;t=c,r=yr}finally{a=!1,Er.pop(),o.writtenSignals.clear(),N1=l}}if(N1&&N1!==o)N1.computedDeps.set(o,o.version);return t},read(){return t},lock(){return i=!0,o.value,o},free(){for(let l of o.dependencies)l.delete(o);return o.dependencies.clear(),o.computedDeps.clear(),n.clear(),o},kill(){s=!0;let l=t;return o.free(),l},...Za};return o}function qa(e){let t=e._cleanup;if(!t)return;let r=N1;N1=null;try{t()}finally{N1=r}e._cleanup=null}function x1(e){let t=null,r=0,n=B1,i={depth:n?n.depth+1:0,dependencies:new Set,computedDeps:new Map,_hard:!0,_disposed:!1,get signal(){if(!t&&typeof AbortController<"u"){if(t=new AbortController,i._disposed)t.abort()}return t?t.signal:null},run(){if(i._disposed)return;let a=i._hard;if(i._hard=!1,!a&&!Qa(i))return;if(t){try{t.abort()}catch{}t=null}let o=++r;qa(i);for(let f of i.dependencies)f.delete(i);i.dependencies.clear(),i.computedDeps.clear();let l=N1;N1=i;let c=B1;B1=n;try{let f=e();if(typeof f==="function")i._cleanup=f;else if(f&&typeof f.then==="function")f.then((h)=>{if(o!==r||i._disposed){if(typeof h==="function")try{h()}catch(u){kt("[Rip] superseded async cleanup error:",u)}return}if(typeof h==="function")i._cleanup=h},(h)=>{if(h&&h.name==="AbortError")return;if(o!==r||i._disposed)return;kt("[Rip] async effect error:",h)})}finally{N1=l,B1=c}},dispose(){if(i._disposed)return;if(i._disposed=!0,Ke.delete(i),t)try{t.abort()}catch{}qa(i);for(let a of i.dependencies)a.delete(i);i.dependencies.clear()}};try{i.run()}catch(a){throw i.dispose(),a}let s=()=>i.dispose();if(B1)B1.add(s);return s}function M1(e){if(Rr)return e();Rr=!0;try{return e()}finally{Rr=!1,Ja()}}function Tt({nested:e=!0}={}){let t=[],r=null,i={depth:B1?B1.depth+1:0,get disposed(){return t===null},get size(){return t===null?0:t.length},add(s){if(t===null)s();else t.push(s)},remove(s){if(t===null)return;let a=t.indexOf(s);if(a>=0)t.splice(a,1)},dispose(){if(t===null)return;let s=t;if(t=null,r!==null){let a=r;r=null,a()}for(let a of s)try{a()}catch(o){kt("[Rip] effect disposer error:",o)}}};if(e&&B1){let s=B1;s.add(i.dispose),r=()=>s.remove(i.dispose)}return i}function le(e){let t={frame:e,prev:B1};return B1=e,t}function q1(e){if(!e||typeof e!=="object"||!("frame"in e))throw Error("reactive runtime: __popOwner takes the token the matching __pushOwner returned");if(B1!==e.frame)throw Error("reactive runtime: __popOwner out of order — the frame being popped is not the current owner "+"(an inner push was not popped, or this token was already popped)");B1=e.prev}function ce(){return N1?N1.signal:null}function fe(e){return Object.freeze({value:e})}function Vi(e,t){if(e&&typeof e.read==="function"&&e.read()===t)e.value=null}var kr=null;function he(e){let t=kr;return kr=e,t}function re(e){if(kr)try{kr(e)}catch(t){console.error("Error in error handler:",t),console.error("Original error:",e)}else throw e}function ue(e){return function(...t){try{return e.apply(this,t)}catch(r){re(r)}}}var Nt={};Fe(Nt,{__Component:()=>yo,__claimGateConstructor:()=>Xi,__clsx:()=>vr,__detach:()=>Ar,__detachRef:()=>Vi,__gateBind:()=>E4,__handleComponentError:()=>Ki,__hmrClassify:()=>_t,__hmrEmit:()=>we,__hmrEntries:()=>Yi,__hmrEvents:()=>a4,__hmrLookup:()=>r4,__hmrMigrateDiff:()=>co,__hmrMigrateRemount:()=>f4,__hmrPatch:()=>qi,__hmrPreserveState:()=>Or,__hmrRegisterDefinition:()=>wt,__hmrRegistry:()=>Te,__hmrRestoreUi:()=>Ir,__hmrSnapshotUi:()=>zi,__lis:()=>go,__ownerFrame:()=>Tt,__popComponent:()=>de,__popOwner:()=>q1,__pushComponent:()=>Le,__pushOwner:()=>le,__reconcile:()=>m4,__reportChildFailure:()=>S4,__setChildFailureReporter:()=>y4,__style:()=>bo,__transition:()=>g4,getContext:()=>u4,hasContext:()=>d4,setContext:()=>h4});var ao=Symbol.for("rip.runtime.components");if(globalThis[ao])throw Error("two copies of the Rip component runtime loaded in one process — components from different "+"copies cannot see each other (separate component stacks: context, parent chains, and error boundaries silently break across copies). Run .rip sources through the rip CLI/loader (one shared runtime module per process), or load only one standalone-compiled file per process.");globalThis[ao]=!0;var Y1=null,oo={},_r=null,lo=new WeakMap,eo=!1,Te=new Map;function Wi(e,t){if(e===t)return!0;if(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)return!1;for(let r=0;ri.has(c)),o=n.filter((c)=>!i.has(c)),l=r.filter((c)=>!s.has(c));return{kept:a,added:o,removed:l}}var Nr=[],s4=64;function we(e,t={}){let r={type:e,at:Date.now(),...t};if(Nr.push(r),Nr.length>s4)Nr.shift();if(typeof window<"u"&&typeof window.dispatchEvent==="function"&&typeof CustomEvent==="function")try{window.dispatchEvent(new CustomEvent("rip:hmr",{detail:r}))}catch{}return r}function a4(){return Nr.slice()}function Or(e,t){let r=e?.constructor?.__hmrSig,n=t?.constructor?.__hmrSig,i=r?.state,s=n?.state,a=co(r,n);if(!Array.isArray(i)||!Array.isArray(s))return we("migrate",{id:t?.constructor?.__hmrId??null,...a,copied:[]}),a;let o=new Set(i),l=[];for(let f of s){if(!o.has(f))continue;let h=e[f],u=t[f];if(h!=null&&u!=null&&typeof h==="object"&&typeof u==="object"&&"value"in h&&"value"in u)u.value=h.value,l.push(f)}let c=t?.constructor?.__hmrId??e?.constructor?.__hmrId??null;return we("migrate",{id:c,...a,copied:l}),{...a,copied:l}}var fo=["name","type","placeholder"];function ho(e){let t=(n)=>typeof e[n]==="string"&&e[n]?e[n]:null,r={tag:e.tagName??null};for(let n of fo)r[n]=t(n);return r.label=typeof e.getAttribute==="function"?e.getAttribute("aria-label"):null,r.value=typeof e.value==="string"?e.value:null,r}function Hi(e,t,r){if(!e||!t)return!1;let n=ho(e);for(let i of["tag",...fo,"label"])if(n[i]!==t[i])return!1;return!r||t.value==null||n.value===t.value}function o4(e){let t=ho(e),r=typeof e.id==="string"&&e.id?e.id:null,n=[],i=e;while(i&&i!==document.body){let s=i.parentElement??i.parentNode??null;if(!s||!s.children)return{identity:t,id:r,path:null};n.unshift(Array.prototype.indexOf.call(s.children,i)),i=s}return{identity:t,id:r,path:i===document.body?n:null}}function l4(e){let t=e.active;if(t&&t.isConnected!==!1&&typeof document.contains==="function"&&document.contains(t))return t;let r=e.locator;if(!r)return null;if(r.id&&typeof document.getElementById==="function"){let o=document.getElementById(r.id);if(Hi(o,r.identity,!1))return o}if(!Array.isArray(r.path)||r.path.length===0)return null;let n=document.body;for(let o of r.path.slice(0,-1))if(n=n?.children?.[o]??null,!n)return null;let i=Array.from(n.children??[]),s=i[r.path[r.path.length-1]]??null;if(Hi(s,r.identity,!0))return s;let a=i.filter((o)=>Hi(o,r.identity,!0));return a.length===1?a[0]:null}function zi(){if(typeof document>"u")return null;let e=document.activeElement,t=e&&e!==document.body&&e!==document.documentElement?e:null,r=null;if(t&&typeof t.selectionStart==="number")r={start:t.selectionStart,end:t.selectionEnd,direction:t.selectionDirection};return{active:t,locator:t?o4(t):null,selection:r,scrollX:typeof window<"u"?window.scrollX:0,scrollY:typeof window<"u"?window.scrollY:0}}function Ir(e){if(!e||typeof document>"u")return;if(typeof window<"u")window.scrollTo(e.scrollX??0,e.scrollY??0);let t=l4(e);if(!t||typeof t.focus!=="function")return;try{if(t.focus({preventScroll:!0}),e.selection&&typeof t.setSelectionRange==="function")t.setSelectionRange(e.selection.start,e.selection.end,e.selection.direction??"none")}catch{}}function uo(e,t){let r=e.constructor?.__hmrId;if(typeof r==="string"&&r)Te.get(r)?.instances.delete(e);Object.setPrototypeOf(e,t.prototype),Object.defineProperty(e,"constructor",{value:t,writable:!0,configurable:!0}),wt(t),Te.get(t.__hmrId)?.instances.add(e)}function qi(e,t){if(!e||!t)throw Error("__hmrPatch requires a living instance and a replacement constructor");let r=e.constructor?.__hmrId;return uo(e,t),e._hmrRerender(),we("patch",{id:t.__hmrId??r??null}),e}function mo(e){return Object.keys(e).sort().join(",")}function c4(e,t){let n=(Y1?._projectionOwner??Y1)?._hmrOrphans;if(!n||n.length===0)return null;let i=e.__hmrId;if(typeof i!=="string")return null;let s=mo(t),a=null;for(let o of n){if(o._state!=="mounted"||o.constructor.__hmrId!==i||o._hmrPropKeys!==s)continue;if(a)return null;a=o}if(!a||_t(a.constructor,e)!=="patch")return null;if(n.splice(n.indexOf(a),1),a.constructor!==e)uo(a,e);a._hmrRelease();try{a._hmrApplyProps(t)}catch(o){throw a._teardown({state:"failed",hooks:!1,removeDOM:!0}),o}return a._hmrRebindPending=!0,a}function f4(e,t,r={}){let n=new t(r);return Or(e,n),n}function Xi(){if(eo)throw Error("[Rip] the render-gate construction capability is already claimed");return eo=!0,(e,t)=>{let r=_r;_r={brand:oo,component:e,gates:t.gates,parent:t.parent??null,stash:t.stash??null,router:t.router??null,used:!1};try{return new e({})}finally{_r=r}}}function Ar(e){if(!e||e.nodeType===11)return;if(typeof e.remove==="function")e.remove();else if(e.parentNode)e.parentNode.removeChild(e)}function Le(e){let t=Y1;if(e&&e._parent==null&&t&&t!==e)e._parent=t;return Y1=e,t}function de(e){Y1=e}function h4(e,t){if(!Y1)throw Error("setContext must be called during component initialization");if(!Y1._context)Y1._context=new Map;Y1._context.set(e,t)}function po(e,t,r){if(typeof t!=="function")throw Error(r===void 0?`${e}: a context read names its provider — ${e}(Provider, ${JSON.stringify(t)})`:`${e}: the provider named for ${JSON.stringify(r)} is not a component`);let n=typeof t.__hmrId==="string"?t.__hmrId:null,i=Y1,s=new Set;while(i&&!s.has(i)){if(s.add(i),i instanceof t||n!==null&&i.constructor?.__hmrId===n)return i._context!==void 0&&i._context.has(r)?{found:!0,value:i._context.get(r)}:{found:!1,provider:i};i=i._parent}return{found:!1,provider:null}}function u4(e,t){let r=po("getContext",e,t);if(r.found)return r.value;let n=e.name||"the provider";throw Error(r.provider!==null?`getContext: ${n} offers no ${JSON.stringify(t)}`:`getContext: no ${n} above this component — render one around it, or probe with hasContext(${n}, ${JSON.stringify(t)}) where absence is legal`)}function d4(e,t){return po("hasContext",e,t).found}function vr(...e){let t="";for(let r of e){if(!r)continue;if(typeof r==="string")t&&(t+=" "),t+=r;else if(typeof r==="object"){if(Array.isArray(r)){let n=vr(...r);n&&(t&&(t+=" "),t+=n)}else for(let n in r)if(r[n])t&&(t+=" "),t+=n}}return t}function go(e){let t=e.length;if(t===0)return[];let r=[],n=[],i=Array(t).fill(-1);for(let o=0;o>1;if(r[f]0)i[o]=n[l-1]}let s=[],a=n[r.length-1];for(let o=r.length-1;o>=0;o--)s.push(a),a=i[a];return s.reverse(),s}function m4(e,t,r,n,i,s,...a){let o=e.parentNode;if(!o)return;let l=t.keys,c=t.items||[],f=t.blocks,h=l.length,u=r.length,d=Array(u),p=s!=null,m=p?r.map((R,k)=>s(R,k)):r;if(p){let R=new Set;for(let k of m){if(R.has(k))throw Error(`__reconcile: duplicate key ${JSON.stringify(String(k))} — keyed rows need unique keys `+"(the key function must be injective over the items)");R.add(k)}}if(h===0){if(u>0){let R=document.createDocumentFragment();for(let k=0;k=g&&w>=g&&l[S]===m[w]){let R=f[S];if(!R._s)R.p(n,r[w],w,...a);d[w]=R,S--,w--}if(g>w)for(let R=g;R<=S;R++)f[R].d(!0);else if(g>S){let R=w+1=g;A--){let P=d[A];if(!M.has(A-g))P.m(o,L);L=P._first}}t.keys=p?m:r.slice(),t.items=r.slice(),t.blocks=d}var to=!1;function p4(){if(to)return;to=!0;let e=document.createElement("style");e.textContent=[".fade-enter-active,.fade-leave-active{transition:opacity .2s ease}",".fade-enter-from,.fade-leave-to{opacity:0}",".slide-enter-active,.slide-leave-active{transition:opacity .2s ease,transform .2s ease}",".slide-enter-from{opacity:0;transform:translateY(-8px)}",".slide-leave-to{opacity:0;transform:translateY(8px)}",".scale-enter-active,.scale-leave-active{transition:opacity .2s ease,transform .2s ease}",".scale-enter-from,.scale-leave-to{opacity:0;transform:scale(.95)}",".blur-enter-active,.blur-leave-active{transition:opacity .2s ease,filter .2s ease}",".blur-enter-from,.blur-leave-to{opacity:0;filter:blur(4px)}",".fly-enter-active,.fly-leave-active{transition:opacity .2s ease,transform .2s ease}",".fly-enter-from{opacity:0;transform:translateY(-20px)}",".fly-leave-to{opacity:0;transform:translateY(20px)}"].join(""),document.head.appendChild(e)}function g4(e,t,r,n){p4();let i=e.classList,s=t+"-"+r+"-from",a=t+"-"+r+"-active",o=t+"-"+r+"-to",l=!1,c=null;i.add(s,a),requestAnimationFrame(()=>{requestAnimationFrame(()=>{i.remove(s),i.add(o);let f=(u)=>{if(l||u&&u.target!==e)return;if(l=!0,clearTimeout(c),e.removeEventListener("transitionend",f),e.removeEventListener("transitioncancel",f),i.remove(a,o),n)n()};e.addEventListener("transitionend",f),e.addEventListener("transitioncancel",f);let h=0;try{let u=getComputedStyle(e),d=(p)=>Math.max(0,...String(p).split(",").map((m)=>(parseFloat(m)||0)*(/ms\s*$/.test(m.trim())?1:1000)));h=d(u.transitionDuration)+d(u.transitionDelay)}catch{}c=setTimeout(()=>f(),h+50)})})}function b4(e){let t=e!=null&&typeof e==="object"?e.name:null;if(t==="GateFailure"||t==="ComponentFailure")return e;let r=Error(e!=null&&e.message!==void 0?e.message:String(e));r.name="ComponentFailure";let n=e!=null?e.status??e.response?.status:void 0;if(n!==void 0)r.status=n;return r.error=e,r}var Gi=(e,t)=>console.error(`[Rip] ${e} construction failed:`,t);function y4(e){let t=Gi;return Gi=e,t}function S4(e,t){Gi(e,t)}function Ki(e,t){let r=b4(e),n=t,i=new Set;while(n&&!i.has(n)){if(i.add(n),n.onError){let s=Le(n),a=le(n._frame);try{n.onError(r,t);return}catch(o){}finally{q1(a),de(s)}}n=n._parent}throw e}var ro=new WeakSet;function R4(e,t){if(ro.has(e))return;let r=e.__props??[];if(!Array.isArray(r))throw Error(`${e.name||"component"}: static __props must be an array of declared prop names`);for(let n of r){if(typeof n!=="string"||n.length===0)throw Error(`${e.name||"component"}: static __props entries must be non-empty strings`);if(n.startsWith("_"))throw Error(`${e.name||"component"}: declared prop '${n}' collides with component internals — `+"underscore-prefixed names are reserved for the runtime");if(n in t)throw Error(`${e.name||"component"}: declared prop '${n}' collides with a component member (a method or lifecycle slot already answers '${n}')`)}ro.add(e)}function E4(e,t){let n=lo.get(e)?.gates?.[t];if(!n?.cell)throw Error(`[Rip] render gate ${t} has no renderer-resolved source binding — `+"gated components may only be constructed by rip/app createRenderer()");let i=n.value,s=!0;return K1(()=>{if(s)return s=!1,n.cell.read(),i;let a=n.cell.read();for(let o of n.tail){if(a==null)break;a=a[o]}if(a!=null)i=a;return i})}var wr=new WeakMap;function io(e,t,r){if(t.startsWith("--")&&typeof e.setProperty==="function")if(r==null||r==="")e.removeProperty(t);else e.setProperty(t,String(r));else e[t]=r}function bo(e,t){let r=wr.get(e);if(t==null){e.removeAttribute("style"),wr.delete(e);return}if(typeof t!=="object"){e.setAttribute("style",String(t)),wr.delete(e);return}if(r){for(let n of r)if(!(n in t))io(e.style,n,"")}wr.set(e,Object.keys(t));for(let n of Object.keys(t))io(e.style,n,t[n])}var k4=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert","ismap","nomodule","playsinline","default","itemscope","alpha","shadowrootdelegatesfocus","shadowrootclonable","shadowrootserializable"]),no=(e)=>new Proxy(e,{get(t,r){let n=t[r];return n!=null&&typeof n==="object"&&typeof n.read==="function"?n.value:n}});function so(e,t){let r=e.__props??[],n=e.__extends??null,i=null;for(let s of Object.keys(t)){if(s==="children")continue;if(s.startsWith("__bind_")&&s.endsWith("__")){let a=s.slice(7,-2);if(r.includes(a))continue;throw Error(`${e.name||"component"}: cannot bind unknown prop '${a}' — declared `+`props are [${r.join(", ")}]`)}if(r.includes(s))continue;if(n!==null){(i??={})[s]=t[s];continue}throw Error(`${e.name||"component"}: unknown prop '${s}' — declared props are `+`[${r.join(", ")}]`)}return i}class yo{constructor(e={}){let t=c4(this.constructor,e);if(t)return t;this._state="new",this._owner=Y1?._projectionOwner??Y1??null,R4(this.constructor,this);let r=this.constructor.__gates,n=_r,i=n?.brand===oo&&n.component===this.constructor&&n.used!==!0;if(i)n.used=!0;if(r?.length&&!i)throw Error("[Rip] component declares render gates (<~) and cannot be constructed directly or as an embedded child; render gates are honored only by rip/app createRenderer()");if(i){if(lo.set(this,n),n.parent)this._parent=n.parent;if(n.stash!=null)this.stash=n.stash;if(n.router!=null)this.router=n.router,Object.defineProperty(this,"params",{get:()=>n.router.params,configurable:!0}),Object.defineProperty(this,"query",{get:()=>n.router.query,configurable:!0})}if(this.stash==null&&globalThis.__ripStash!=null)this.stash=globalThis.__ripStash;if(this.router==null&&globalThis.__ripRouter!=null)this.router=globalThis.__ripRouter;let s=so(this.constructor,e);if("children"in e)this.children=e.children;if(this.constructor.__hmrId)this._hmrPropKeys=mo(e);if(this.constructor.__extends!=null)this._rest=s??{},this.rest=A1(no(this._rest));this._frame=Tt({nested:!1});let a=Le(this),o=le(this._frame);try{this._init(e)}catch(l){q1(o),de(a),this._teardown({state:"failed",hooks:!1,removeDOM:!0}),this._initFailed=!0,Ki(l,this);return}if(q1(o),de(a),this.constructor.__hmrId)i4(this)}_init(e){}_beginProjection(e){let t={prev:Le(this),owner:this._projectionOwner??null};return this._projectionOwner=e,t}_endProjection(e){this._projectionOwner=e.owner,de(e.prev)}_setChildren(e){let t=this.children;if(t!=null&&typeof t==="object"&&typeof t.read==="function"&&"value"in t){t.value=e;return}this.children=e}_updateProp(e,t){if(this._state==="failed"||this._state==="unmounted")return;let r=this.constructor.__props??[];if(!r.includes(e)){if(this.constructor.__extends){this._setRestProp(e,t);return}throw Error(`${this.constructor.name||"component"}: cannot update unknown prop '${e}' — declared `+`props are [${r.join(", ")}]`)}let n=this[e];if(n&&typeof n==="object"&&"value"in n){n.value=t;return}throw Error(`${this.constructor.name||"component"}: prop '${e}' is non-reactive — parent updates `+"cannot reach it (declare it with ':=' to receive updates)")}_setRestProp(e,t){if(e.startsWith("__bind_"))return;if(this._state==="failed"||this._state==="unmounted")return;if(this._rest||(this._rest={}),t==null)delete this._rest[e];else this._rest[e]=t;this.rest.touch();let r=le(this._frame);try{this._applyInheritedProp(this._inheritedInst??this._inheritedEl,e,t)}finally{q1(r)}}_applyRestToInheritedEl(){if(this._state==="failed"||this._state==="unmounted")return;if(!this._inheritedEl||!this._rest)return;for(let e in this._rest)this._applyInheritedProp(this._inheritedEl,e,this._rest[e])}_applyInheritedProp(e,t,r){if(this._state==="failed"||this._state==="unmounted")return;if(!e||t==="key"||t==="ref"||t==="children"||t.startsWith("__bind_"))return;if(this._inheritedOwn?.has(t))return;let n=this._restWriters?.[t];if(n){if(n(),this._frame)this._frame.remove(n);delete this._restWriters[t]}if(r!=null&&typeof r==="object"&&typeof r.read==="function"){(this._restWriters??={})[t]=x1(()=>{this._applyPlainInheritedProp(e,t,r.value)});return}this._applyPlainInheritedProp(e,t,r)}_applyPlainInheritedProp(e,t,r){if(typeof e._updateProp==="function"){if(e._state==="failed"||e._state==="unmounted")return;e._updateProp(t,r);return}let n=e;if(t[0]==="@"){let i=t.slice(1).split(".")[0];this._restHandlers||(this._restHandlers={});let s=this._restHandlers[t];if(s)n.removeEventListener(i,s);if(typeof r==="function"){let a=(o)=>M1(()=>r(o));this._restHandlers[t]=a,n.addEventListener(i,a)}else delete this._restHandlers[t];return}if(t==="class"||t==="className"){if(n instanceof SVGElement)n.setAttribute("class",vr(r));else n.className=vr(r);return}if(t==="style"){bo(n,r);return}if(t==="innerHTML"||t==="textContent"||t==="innerText"||t==="value"){n[t]=r??"";return}if(t==="checked"){n.checked=!!r;return}if(k4.has(t)){n.toggleAttribute(t,!!r);return}if(r==null)n.removeAttribute(t);else n.setAttribute(t,r)}_beginMount(){if(this._state==="new"){this._state="mounting";return}let e=this.constructor.name||"component";if(this._state==="mounting")throw Error(`${e}: cannot mount an instance whose mount is already in progress`);if(this._state==="mounted")throw Error(`${e}: cannot mount an already-mounted instance — construct a new instance for another target`);if(this._state==="failed")throw Error(`${e}: cannot mount a failed instance — its mount rolled back; construct a new instance`);throw Error(`${e}: cannot mount an unmounted instance — its effects were disposed on unmount; construct a new instance`)}_mountCreate(){if(this._beginMount(),this._hmrRebindPending){if(this._hmrRebindPending=!1,!this._hmrRebind())return!1}let e=Le(this),t=le(this._frame),r=null,n=!1;try{this._root=this._create()}catch(i){r=i,n=!0}finally{q1(t),de(e)}if(n)return this._failMount(r),!1;return!0}_mountSetup(e=null){if(this._state!=="mounting")return this._nodes?.[0]??this._root;let t=Le(this),r=le(this._frame),n=null,i=!1;try{if(e){let s=this._nodes?.[0]??this._root;if(s?.parentNode)s.parentNode.insertBefore(e,s)}if(this.beforeMount)this.beforeMount();if(this._setup)this._setup();if(this.mounted)this.mounted();this._state="mounted",Ar(e),this._hmrDrainOrphans((s,a)=>console.error(`[Rip] ${s} error:`,a))}catch(s){n=s,i=!0}finally{q1(r),de(t)}if(i)return this._failMount(n),e;return this._nodes?.[0]??this._root}_failMount(e){this._teardown({state:"failed",hooks:!1,removeDOM:!0}),Ki(e,this)}_dispose(e,t){if(this._children){for(let r of this._children)try{t(r)}catch(n){e("child teardown",n)}this._children=null}try{this._frame?.dispose()}catch(r){e("owner disposal",r)}if(this._restWriters){for(let r of Object.values(this._restWriters))try{r()}catch(n){e("rest writer cleanup",n)}this._restWriters=null}if(this._restHandlers){if(this._inheritedEl)for(let[r,n]of Object.entries(this._restHandlers))try{this._inheritedEl.removeEventListener(r.slice(1).split(".")[0],n)}catch(i){e("rest handler cleanup",i)}this._restHandlers=null}if(this._refCleanups){let r=this._refCleanups;this._refCleanups=null;try{M1(()=>{for(let n of r)try{n()}catch(i){e("ref cleanup",i)}})}catch(n){e("ref cleanup batch flush",n)}}this._children=null,this._refCleanups=null,this._restWriters=null,this._restHandlers=null}_detachDOM(e,t){if(t)if(this._nodes)for(let r of this._nodes)try{Ar(r)}catch(n){e("DOM detach",n)}else try{Ar(this._root)}catch(r){e("DOM detach",r)}this._root=null,this._nodes=null,this._inheritedEl=null,this._inheritedInst=null,this._inheritedOwn=null}_teardown({state:e,hooks:t,removeDOM:r}){if(this._state==="failed"||this._state==="unmounted")return;if(this.constructor.__hmrId)n4(this);this._state=e;let n=(i,s)=>console.error(`[Rip] ${i} error:`,s);if(this._hmrDrainOrphans(n),t)try{if(this.beforeUnmount)this.beforeUnmount()}catch(i){n("beforeUnmount",i)}if(this._dispose(n,(i)=>{if(t)i.unmount({removeDOM:r});else i._teardown({state:i._state==="mounted"?"unmounted":"failed",hooks:!1,removeDOM:!0})}),t)try{if(this.unmounted)this.unmounted()}catch(i){n("unmounted",i)}this._detachDOM(n,r),this._target=null}_hmrRelease(){let e=(t,r)=>console.error(`[Rip] ${t} error:`,r);try{if(this.beforeUnmount)this.beforeUnmount()}catch(t){e("beforeUnmount",t)}this._hmrOrphans=[],this._hmrReleasing=!0;try{this._dispose(e,(t)=>t.unmount({removeDOM:!0}))}finally{this._hmrReleasing=!1}this._detachDOM(e,!0),this._frame=Tt({nested:!1}),this._state="new"}_hmrRebind(){let e=(n,i)=>console.error(`[Rip] ${n} error:`,i),t=Le(this),r=le(this._frame);try{if(typeof this._hmrRefreshComputeds==="function")this._hmrRefreshComputeds();if(typeof this._hmrBindEffects==="function")this._hmrBindEffects()}catch(n){return q1(r),de(t),e("hmr rebind",n),this._failMount(n),!1}return q1(r),de(t),!0}_hmrApplyProps(e){let t=so(this.constructor,e);if("children"in e)this.children=e.children;for(let r of this.constructor.__props??[]){let n=`__bind_${r}__`;if(n in e){this[r]=e[n];continue}if(!(r in e))continue;let i=e[r];if(i!=null&&typeof i==="object"&&typeof i.read==="function")this[r]=i;else this._updateProp(r,i)}if(this.constructor.__extends!=null)this._rest=t??{},this.rest.value=no(this._rest)}_hmrDrainOrphans(e){let t=this._hmrOrphans;if(!t)return;this._hmrOrphans=null;for(let r of t)try{r.unmount({removeDOM:!0})}catch(n){e("orphan teardown",n)}}_hmrRerender(){let e=this.constructor.name||"component";if(this._state!=="mounted")throw Error(`${e}: _hmrRerender requires a mounted instance`);let t=this._target,r=this._nodes,i=(r?.[0]??this._root)?.parentNode??null,s=r?.length?r[r.length-1].nextSibling:this._root?this._root.nextSibling:null;if(this._hmrRelease(),!this._hmrRebind())return this;if(typeof this._create!=="function")return this._state="mounted",this._hmrDrainOrphans((a,o)=>console.error(`[Rip] ${a} error:`,o)),this;if(!this._mountCreate())return this;try{let a=i&&i.nodeType!==11?i:null;if(a&&a.isConnected===!1)a=null;if(!a&&typeof t==="string"&&typeof document<"u")a=document.querySelector(t);else if(!a&&t&&t.nodeType!==11&&t.isConnected!==!1)a=t;else if(!a&&typeof document<"u")a=document.querySelector("#content")||document.querySelector("#app");if(a){let o=s&&(typeof a.contains!=="function"||a.contains(s))?s:null;if(this._nodes)for(let l of this._nodes)a.insertBefore(l,o);else if(this._root)a.insertBefore(this._root,o);this._target=a.nodeType===11?null:a}}catch(a){return this._failMount(a),this}return this._mountSetup(),this}mount(e){if(!this._mountCreate())return this;try{if(typeof e==="string")e=document.querySelector(e);if(this._target=e,this._root)e.appendChild(this._root)}catch(t){return this._failMount(t),this}return this._mountSetup(),this}unmount({removeDOM:e=!0}={}){if(this._state==="failed"||this._state==="unmounted")return;if(this._state==="mounted"&&this._owner?._hmrReleasing){this._owner._hmrOrphans.push(this);return}if(this._state==="mounting")throw Error(`${this.constructor.name||"component"}: cannot unmount while mounting`);this._teardown({state:"unmounted",hooks:this._state==="mounted",removeDOM:e})}emit(e,t){if(this._state!=="mounted"||!this._root)throw Error(`${this.constructor.name||"component"}: emit('${e}') outside the mounted window — `+"emit dispatches on the live root; call after mount and before unmount");(this._nodes?.[0]??this._root).dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0}))}static mount(e="body"){return new this().mount(e)}}var Jr={};Fe(Jr,{ariaCurrent:()=>Ur,browserAdapter:()=>jr,buildRoutes:()=>Ct,check:()=>Xr,connectFeed:()=>zr,createApply:()=>qr,createComponents:()=>Pr,createMutation:()=>vo,createRenderer:()=>Fr,createRouter:()=>Mr,createStash:()=>xr,createWorkspace:()=>Kr,currentRouter:()=>B4,currentStash:()=>F4,debounce:()=>Oo,delay:()=>Cr,hold:()=>$o,interceptClicks:()=>Vr,launch:()=>Hr,ownsAnchor:()=>Lt,parseQuery:()=>Ze,persistStash:()=>Br,preloadLinks:()=>Wr,rash:()=>Mt,source:()=>Eo,throttle:()=>Io,unwrapStash:()=>_e,validatePrepared:()=>gn});var $r,Ji,So,Ro=Symbol.for("rip.source"),Zi=Symbol.for("rip.source.family"),T4=64,w4=30000,_4=/^(\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)$/;function C1(e){return e!=null&&(typeof e==="object"||typeof e==="function")&&(e[Ro]===!0||e[Zi]===!0)}function me(e){return e!=null&&typeof e==="function"&&e[Zi]===!0}So=function(e){let t,r;if(e==null)return 0;if(typeof e==="number"){if(!(Number.isFinite(e)&&e>=0))throw TypeError('Rip App: source staleTime must be a non-negative finite number, a duration string, or "forever"');return e}if(typeof e==="string"){if(e==="forever")return 1/0;if(r=e.match(_4),r)return t=parseFloat(r[1]),(()=>{switch(r[2][0]){case"s":return t*1000;case"m":return t*60000;case"h":return t*3600000;case"d":return t*86400000;case"w":return t*604800000;case"y":return t*31536000000}})()}throw TypeError('Rip App: source staleTime must be a non-negative number, a duration such as "5 min", or "forever"')};$r=function(e,t,r=null){let n=A1(null),i=A1(!1),s=A1(null),a=0,o=null,l=null,c=!1,f=!1,h=!1,u=0,d=0,p=async function(S=!1,w=!1){let R,k;o?.abort(),o=typeof AbortController<"u"?new AbortController:null;let j=++a;if(!S)i.value=!0;let M=h;try{if(R=e(o?.signal),!(R!=null&&typeof R.then==="function"))throw TypeError("Rip App: source fetch must return a Promise");if(k=await R,j!==a)return k;return s.value=null,n.value=k,h=!0,u=Date.now(),d=w&&!f?u+w4:0,k}catch(L){if(j!==a)return;if(L?.name==="AbortError")return;if(s.value=L,!M)throw h=!1,u=0,L;return}finally{if(j===a)i.value=!1,l=null,c=!1,f=!1,r?.()}},m=function(S=!1,w=!1){let R=p(S,w);return l=R,c=w,f=!1,R},g=function(){return t===1/0||Date.now()-uT4){o=!1;for(let[l,c]of r){if(l===a)continue;if(c.loading)continue;r.delete(l),c.reset(),o=!0;break}if(!o)break}return},i=function(a){if(a==null)throw TypeError("Rip App: keyed source requires a key");let o=N4(a),l=r.get(o);if(l)return r.delete(o),r.set(o,l),l;return l=$r(function(c){return e(a,c)},t,n),r.set(o,l),n(o),l},s=function(a){return i(a).read()};return s[Zi]=!0,s.cellFor=i,s.reset=function(){let a=Array.from(r.values());r.clear();for(let o of a)o.reset();return},s};function Eo(e){if(!(e!=null&&typeof e==="object"&&!Array.isArray(e)))throw TypeError("Rip App: source expects an options object");if(typeof e.fetch!=="function")throw TypeError("Rip App: source options require a fetch function");let t=So(e.staleTime);if(Object.prototype.hasOwnProperty.call(e,"kind")){if(!(e.kind==="singleton"||e.kind==="keyed"))throw TypeError("Rip App: source kind must be 'singleton' or 'keyed'");if(e.kind==="singleton"){if(e.fetch.length>1)throw TypeError("Rip App: singleton source fetch accepts at most one AbortSignal parameter");return $r(e.fetch,t)}if(e.fetch.length<1||e.fetch.length>2)throw TypeError("Rip App: keyed source fetch requires a key parameter and accepts one optional AbortSignal parameter");return Ji(e.fetch,t)}if(e.fetch.length>1)throw TypeError("Rip App: inferred source fetch accepts no parameters for a singleton or one key parameter for a keyed family");return e.fetch.length===1?Ji(e.fetch,t):$r(e.fetch,t)}var nn,It,Qi,vt,$1=Symbol("rip.app.stash.raw"),Ye=Symbol("rip.app.stash.signals"),A4=Symbol("rip.app.stash.keys"),wo=Symbol("rip.app.stash.defaults"),v4=Symbol.for("rip.app.stash.purge"),_o=new WeakMap,O4=0,sn=A1(0),en=function(){return sn.value++},No=function(e,t){let r=e[Ye];if(!r)r=new Map,Object.defineProperty(e,Ye,{value:r});let n=r.get(t);if(!n)n=A1(e[t]),r.set(t,n);return n},Ot=function(e){return No(e,A4)},tn=function(e){Ot(e).value=++O4;return};It=function(e){if(!(e!=null&&typeof e==="object"))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Array.isArray(e)};var ko=function(e){if(!It(e))return e;let t=_o.get(e);if(t)return t;return nn(e)},ze=function(e,t){let r=e?.[$1];if(!r)return e[t];let n=r[t];if(C1(n)){if(me(n))return n;return ko(n.read())}return ko(No(r,t).value)},rn=function(e,t,r){let n,i,s,a,o=e?.[$1];if(!o)return e[t]=r,r;if(Array.isArray(o)&&t==="length"){if(a=o.length,s=+r,o.length=s,s!==a){if(o[Ye]){for(let h=Math.min(a,s),u=Math.max(a,s);h0))throw TypeError("Rip App: stash path must be a non-empty string");let s=[],a=0;if(e[0]!=="["){i=a;while(a=e.length||a===i)throw TypeError(`Rip App: malformed stash path '${e}'`);if(r=e.slice(i,a),a++,e[a]!=="]")throw TypeError(`Rip App: malformed stash path '${e}'`);a++,s.push(r)}else{i=a;while(a{let n=[];for(let i in r){if(!Object.hasOwn(r,i))continue;let s=r[i];n.push(Qi(s,t))}return n})()};vt=function(e){if(!It(e))return e;let t=e[$1]?e[$1]:e;if(Array.isArray(t))return(()=>{let n=[];for(let i of t)if(!C1(i))n.push(vt(i));return n})();let r={};for(let n in t){if(!Object.hasOwn(t,n))continue;let i=t[n];if(C1(i))continue;r[n]=vt(i)}return r};function Ao(e){let t=e?.[$1]?e[$1]:e;if(!(t!=null&&typeof t==="object"))return;Object.defineProperty(t,wo,{value:vt(t),configurable:!0});return}function Dr(e){if(C1(e))return e;if(!It(e))return e;let t=e[$1]?e[$1]:e;if(Array.isArray(t))return(()=>{let n=[];for(let i of t)n.push(Dr(i));return n})();let r={};for(let n in t){if(!Object.hasOwn(t,n))continue;let i=t[n];Object.defineProperty(r,n,{value:Dr(i),writable:!0,enumerable:!0,configurable:!0})}return r}function Je(e,t){let r,n,i;if(!(e!=null&&typeof e==="object"))return;if(!(t!=null&&typeof t==="object"))return;let s=e[$1]?e[$1]:e;for(let a in t){if(!Object.hasOwn(t,a))continue;let o=t[a];if(r=Object.prototype.hasOwnProperty.call(s,a)?s[a]:void 0,C1(r))continue;if(Array.isArray(r)&&r.some(function(l){return C1(l)}))continue;if(n=r!=null&&typeof r==="object"&&!Array.isArray(r),i=o!=null&&typeof o==="object"&&!Array.isArray(o),n&&i)Je(e[a],o);else e[a]=vt(o)}return}var D4=function(e,t){let r,n=t[wo];if(!n)return;r=function(i,s,a){let o;for(let l in s){if(!Object.hasOwn(s,l))continue;if(o=s[l],C1(o))continue;if(!(a!=null&&Object.prototype.hasOwnProperty.call(a,l))){delete i[l];continue}if(o!=null&&typeof o==="object"&&!Array.isArray(o))r(i[l],o,a[l])}return},r(e,t,n),Je(e,n);return},x4={inc:!0,dec:!0,flip:!0,join:!0,keys:!0,has:!0,del:!0,peek:!0,reset:!0,source:!0},C4=function(e,t,r){if(r==="inc")return function(n,i=1){let s=(Me(e,n)??0)+i;return At(e,n,s),s};if(r==="dec")return function(n,i=1){let s=(Me(e,n)??0)-i;return At(e,n,s),s};if(r==="flip")return function(n){let i=!(Me(e,n)??!1);return At(e,n,i),i};if(r==="join")return function(n,i){if(!(i!=null&&typeof i==="object"&&!Array.isArray(i)))throw TypeError("Rip App: join expects a plain object");M1(function(){let s=Me(e,n);if(!(s!=null&&typeof s==="object"&&!Array.isArray(s)))At(e,n,{}),s=Me(e,n);return(()=>{let a=[];for(let o in i){if(!Object.hasOwn(i,o))continue;let l=i[o];a.push(s[o]=l)}return a})()});return};if(r==="keys")return function(n){let i=n!=null?Me(e,n):e;if(!(i!=null&&typeof i==="object"))return[];let s=i[$1]?i[$1]:i;return Ot(s).value,Object.keys(s)};if(r==="has")return function(n){let i,s,a=qe(n);if(!(a.length>0))return!1;let o=e;for(let l=0;l0))return;let a=e;for(let o=0;o0))throw TypeError("Rip App: component path must be a non-empty string");let t=e.split("/"),r=t.some(function(s){return!s||s==="."||s===".."}),n=t.at(-1),i=t.slice(0,-1).some(function(s){return s.endsWith(".rip")});if(e.includes("\\")||r||i||n===".rip"||!n.endsWith(".rip"))throw TypeError(`Rip App: invalid component path '${e}'`);return e};an=function(e){if(typeof e!=="string")throw TypeError("Rip App: component source must be a string");return e};on=function(e){if(e===""||e==null)return"";if(typeof e!=="string")throw TypeError("Rip App: component directory must be a string");let t=e.split("/");if(e.includes("\\")||t.some(function(r){return!r||r==="."||r===".."}))throw TypeError(`Rip App: invalid component directory '${e}'`);return e};function Pr(){let e=new Map,t=new Map,r=new Set,n=function(s,a){let o=[];for(let l of Array.from(r))o.push((()=>{try{return l(s,a)}catch(c){return console.error("[Rip] component watcher error:",c)}})());return o};return{read(s){return e.get(Ne(s))},write(s,a){s=Ne(s),a=an(a);let o=e.has(s)?"change":"create";e.set(s,a),t.delete(s),n(o,s);return},del(s){s=Ne(s),e.delete(s),t.delete(s),n("delete",s);return},exists(s){return e.has(Ne(s))},size(){return e.size},list(s=""){let a;s=on(s);let o=s?s+"/":"",l=[];for(let[c]of e)if(c.startsWith(o)){if(a=c.slice(o.length),!a.includes("/"))l.push(c)}return l},listAll(s=""){s=on(s);let a=s?s+"/":"",o=[];for(let[l]of e)if(l.startsWith(a))o.push(l);return o},load(s){let a,o;if(!(s!=null&&typeof s==="object"&&!Array.isArray(s)))throw TypeError("Rip App: component load expects a source object");for(let l in s){if(!Object.hasOwn(s,l))continue;let c=s[l];l=Ne(l),c=an(c),e.set(l,c),t.delete(l)}return},watch(s){if(typeof s!=="function")throw TypeError("Rip App: component watch expects a function");r.add(s);let a=!1;return function(){if(a)return;a=!0,r.delete(s);return}},getCompiled(s){return t.get(Ne(s))},setCompiled(s,a){if(s=Ne(s),!(a!=null&&typeof a==="object"&&!Array.isArray(a)))throw TypeError("Rip App: compiled component module must be an object");t.set(s,a);return}}}var xo,Co,P1,cn,Po,Lo,Mo,ln=/^\w+$/,jo={static:0,dynamic:1,optional:2,catchall:3},Do=8;P1=function(e){throw Error(`Rip App: ${e}`)};var xt=function(e){try{return decodeURIComponent(e)}catch(t){return null}};Mo=function(e){if(e==="")return"";if(typeof e!=="string")throw TypeError("Rip App: route root must be a string");let t=e.split("/");if(e.includes("\\")||t.some(function(r){return!r||r==="."||r===".."}))throw TypeError(`Rip App: invalid route root '${e}'`);return e};var Fo=function(e,t){let r;if(r=/^\[\[(.+)\]\]$/.exec(e)){if(!ln.test(r[1]))P1(`invalid optional segment '${e}' in '${t}'`);return{kind:"optional",name:r[1]}}else if(r=/^\[\.\.\.(.+)\]$/.exec(e)){if(!ln.test(r[1]))P1(`invalid catch-all segment '${e}' in '${t}'`);return{kind:"catchall",name:r[1]}}else if(e.startsWith("[..."))return P1(`invalid catch-all segment '${e}' in '${t}'`);else if(r=/^\[(.+)\]$/.exec(e)){if(!ln.test(r[1]))P1(`invalid dynamic segment '${e}' in '${t}'`);return{kind:"dynamic",name:r[1]}}else if(/^\(.+\)$/.test(e))return{kind:"group"};else if(e.includes("[")||e.includes("]"))return P1(`invalid segment '${e}' in '${t}': markers claim a whole segment`);else return{kind:"static",text:e}};xo=function(e){let t,r=(()=>{let h=[];for(let u of e.slice(0,-4).split("/"))h.push(Fo(u,e));return h})();if(r[r.length-1].kind==="group")P1(`route file name cannot be a group segment: '${e}'`);let n=r.filter(function(h){return h.kind!=="group"});for(let h=0;hDo)P1(`more than ${Do} optional segments in '${e}'`);let o="",l=[],c=[{shape:"",display:""}];for(let h of n)switch(l.push(jo[h.kind]),h.kind){case"static":t="/"+h.text,o+=t,c=c.map(function(u){return{shape:u.shape+t,display:u.display+t}});break;case"dynamic":o+=`/:${h.name}`,c=c.map(function(u){return{shape:u.shape+"/:",display:`${u.display}/:${h.name}`}});break;case"optional":o+=`/:${h.name}?`,c=c.flatMap(function(u){return[u,{shape:u.shape+"/:",display:`${u.display}/:${h.name}`}]});break;case"catchall":o+=`/*${h.name}`,c=c.map(function(u){return{shape:u.shape+"/*",display:`${u.display}/*${h.name}`}});break}if(o==="")o="/";if(new Set(c.map(function(h){return h.shape||"/"})).size{let l=[];for(let c of e)l.push(Fo(c,t));return l})().filter(function(l){return l.kind!=="group"});for(let l of n)if(l.kind==="optional"||l.kind==="catchall")P1(`not-found page under an optional or catch-all segment: '${t}'`);let i=[];for(let l of n)if(l.name!=null){if(i.includes(l.name))P1(`duplicate parameter name '${l.name}' in '${t}'`);i.push(l.name)}let s="",a="",o=[];for(let l of n)if(o.push(jo[l.kind]),l.kind==="static")s+="/"+l.text,a+="/"+l.text;else s+=`/:${l.name}`,a+="/:";return{pattern:s+"/*",shape:a+"/*",parts:n,ranks:o}};Po=function(e,t){let r;return r=function(n,i){let s,a,o,l;if(n===e.length)return i===t.length?[]:null;let c=e[n];return(()=>{switch(c.kind){case"static":if(!(if.length))continue;if(a=k.slice(f.length),l=a.split("/"),s=l.some(function(j){return!j||j==="."||j===".."}),a.includes("\\")||s||l.at(-1)===".rip")throw TypeError(`Rip App: invalid route file path '${k}'`);if(l.at(-1)==="_layout.rip"){h.set(l.slice(0,-1).join("/"),k);continue}if(l.at(-1)==="_404.rip"){if(l.slice(0,-1).some(function(j){return j.startsWith("_")}))continue;u.push({...Co(l.slice(0,-1),a),rel:a,file:k});continue}if(l.some(function(j){return j.startsWith("_")}))continue;if(!a.endsWith(".rip"))throw TypeError(`Rip App: route files must be .rip sources: '${k}'`);d.push({...xo(a),rel:a,file:k})}let p=new Map;for(let k of[...d].sort(function(j,M){return j.relj.pattern)return 1;return 0});let m=new Map;for(let k of[...u].sort(function(j,M){return j.relj.pattern)return 1;return 0});let g=d.map(function(k){return{route:Object.freeze({pattern:k.pattern,file:k.file,layouts:Object.freeze(cn(k.rel,h))}),parts:k.parts}}),b=u.map(function(k){return{route:Object.freeze({pattern:k.pattern,file:k.file,layouts:Object.freeze(cn(k.rel,h))}),parts:k.parts}}),S=function(k){if(typeof k!=="string")throw TypeError("Rip App: route match expects a path string");if(!k.startsWith("/"))return null;while(k.length>1&&k.endsWith("/"))k=k.slice(0,-1);return k==="/"?[]:k.slice(1).split("/")},w=function(k){let j;if(l=S(k),!l)return null;for(let M of g){if(j=Po(M.parts,l),!j)continue;return{route:M.route,params:Object.fromEntries(j)}}return null},R=function(k){let j;if(l=S(k),!l)return null;for(let M of b){if(j=Lo(M.parts,l),!j)continue;return{route:M.route,params:Object.fromEntries(j)}}return null};return Object.freeze({routes:Object.freeze(g.map(function(k){return k.route})),match:w,notFound:R})}function Ze(e){if(typeof e!=="string")throw TypeError("Rip App: parseQuery expects a query string");return Object.fromEntries(new URLSearchParams(e))}var z1,fn,Bo,Lr;z1=function(e){let t=e.indexOf("#"),r=t>=0?e.slice(t+1):"",n=t>=0?e.slice(0,t):e,i=n.indexOf("?"),s=i>=0?n.slice(i+1):"";return{path:i>=0?n.slice(0,i):n,query:s,hash:r}};fn=function(e,t){let r=Object.keys(t);return r.length===Object.keys(e).length&&r.every(function(i){return e[i]===t[i]})?e:t};Lr=function(e){if(!(e!=null&&typeof e.match==="function"&&Array.isArray(e.routes)))throw TypeError("Rip App: createRouter requires a route manifest");return e};Bo=function(e){if(e===""||e==null)return"";if(!(typeof e==="string"&&e.startsWith("/")&&!e.endsWith("/")))throw TypeError(`Rip App: invalid router base '${e}'`);return e};function Mr(e){let t,{routes:r,adapter:n,onError:i}=e??{};if(!(r!=null&&(typeof r==="function"||typeof r.match==="function"&&Array.isArray(r.routes))))throw TypeError("Rip App: createRouter requires a route manifest or manifest thunk");for(let N of["read","push","replace","go","listen"])if(typeof n?.[N]!=="function")throw TypeError(`Rip App: router adapter requires a ${N} function`);let s=Bo(e?.base),a=e?.hash===!0;if(s&&a)throw TypeError("Rip App: a base path does not apply in hash mode");let o=typeof r==="function"?Lr(r()):Lr(r),l=new Set,c=null,f=A1(null),h=A1(null),u=A1({}),d=A1({}),p=A1(""),m=Cr(100,A1(!1)),g=K1(function(){let N=h.value;if(!N)return null;return{route:N,layouts:N.layouts,params:u.value,query:d.value}}),b=function(N){if(!s)return N;if(N===s)return"/";if(N.startsWith(s+"/"))return N.slice(s.length);return null},S=function(N){if(!s)return N;return N==="/"?s:s+N},w=function(N){return a?n.read().split("#")[0]+"#"+N:S(N)},R=function(N){return i?.({status:404,path:N}),!1},k=0,j=function(N){return typeof N==="string"&&!N.startsWith("//")&&!N.includes("\\")},M=function(N){if(!j(N))return null;return o.match(N)},L=function(N){if(!j(N))return null;return o.match(N)??o.notFound?.(N)??null},A=function(N,F,J,x){let Q=fn(u.value,N.params),U=fn(d.value,Ze(J));M1(function(){return f.value=F,h.value=N.route,u.value=Q,d.value=U,p.value=x});let r1={path:F,route:N.route,params:Q,query:U,hash:x};k+=1;try{for(let q of Array.from(l))try{q(r1)}catch(s1){console.error("[Rip] router onNavigate error:",s1)}}finally{k-=1}return!0},P=function(){if(k>=10)throw Error("Rip App: navigation loop — ten nested navigations from onNavigate")},v=function(){let N,F,J,x,Q,U=n.read();if(a){if(N=U.indexOf("#"),J=N>=0?U.slice(N+1):"/",J==="")J="/";({path:x,query:Q,hash:F}=z1(J))}else if({path:x,query:Q,hash:F}=z1(U),x=b(x),x==null)return R(z1(U).path);let r1=L(x);if(!r1)return R(x);return A(r1,x,Q,F)},V=null,W=null,G=function(){V=null;let N=n.readState?.()??{};return n.replace(n.read(),{...N,__ripScroll:n.scroll?.save?.()??null})},T=function(){return!V?V=setTimeout(G,100):void 0};return t={init(){if(c)return t;return v(),c=n.listen(function(){if(!v())return;let N=n.readState?.();return n.scroll?.restore?.(N?.__ripScroll??null)}),W=n.scroll?.watch?.(T)??null,t},push(N,F={}){P();let{path:J,query:x,hash:Q}=z1(N),U=L(J);if(!U)return R(J);let r1=n.scroll?.save?.()??null,q=n.readState?.()??{};if(n.replace(n.read(),{...q,__ripScroll:r1}),n.push(w(N),null),A(U,J,x,Q),!F.noScroll)n.scroll?.top?.();return!0},replace(N,F={}){P();let{path:J,query:x,hash:Q}=z1(N),U=L(J);if(!U)return R(J);let r1=n.readState?.()??{};if(n.replace(w(N),{...r1,__ripScroll:null}),A(U,J,x,Q),!F.noScroll)n.scroll?.top?.();return!0},back(){return n.go(-1)},forward(){return n.go(1)},match(N){let{path:F,query:J,hash:x}=z1(N),Q=M(F);if(!Q)return null;return{route:Q.route,params:Q.params,query:Ze(J),hash:x}},claims(N){let F,J,x,Q,U;if(!(typeof N==="string"&&N.length>0))return null;if(a){if(F=N.indexOf("#"),F<0)return null;if(x=N.slice(F+1),x==="")x="/";({path:Q,query:U,hash:J}=z1(x))}else{if(!N.startsWith("/"))return null;if({path:Q,query:U,hash:J}=z1(N),Q=b(Q),Q==null)return null}let r1=M(Q);if(!r1)return null;let q=Q+(U?"?"+U:"")+(J?"#"+J:"");return{path:Q,url:q,route:r1.route,params:r1.params,query:Ze(U),hash:J}},onNavigate(N){if(typeof N!=="function")throw TypeError("Rip App: onNavigate expects a function");return l.add(N),function(){return l.delete(N)}},rebuild(){let N,F,J,x,Q;if(o=typeof r==="function"?Lr(r()):o,!c)return;let U=n.read();if(a){if(N=U.indexOf("#"),J=N>=0?U.slice(N+1):"/",J==="")J="/";({path:x,query:Q,hash:F}=z1(J))}else if({path:x,query:Q,hash:F}=z1(U),x=b(x),x==null)return R(z1(U).path);let r1=L(x);if(!r1)return R(x);let q=h.value,s1=q?.layouts??[],I=r1.route.layouts??[],c1=s1.length===I.length&&s1.every(function(O,D){return O===I[D]});if(q?.file===r1.route.file&&c1&&f.value===x)return;A(r1,x,Q,F);return},destroy(){if(c?.(),c=null,W?.(),W=null,V)clearTimeout(V);V=null;return}},Object.defineProperty(t,"current",{get(){return g.value}}),Object.defineProperty(t,"path",{get(){return f.value}}),Object.defineProperty(t,"hash",{get(){return p.value}}),Object.defineProperty(t,"params",{get(){return u.value}}),Object.defineProperty(t,"query",{get(){return d.value}}),Object.defineProperty(t,"navigating",{get(){return m.value},set(N){return m.value=N}}),t}function jr(){if(typeof window>"u"||window.history==null||window.location==null)throw Error("Rip App: browserAdapter requires a browser environment");window.history.scrollRestoration="manual";let e=function(r){return window.requestAnimationFrame?window.requestAnimationFrame(r):setTimeout(r,16)},t=0;return{read(){return window.location.pathname+window.location.search+window.location.hash},readState(){return window.history.state},push(r,n){return window.history.pushState(n,"",r)},replace(r,n){return window.history.replaceState(n,"",r)},go(r){return window.history.go(r)},listen(r){return window.addEventListener("popstate",r),function(){return window.removeEventListener("popstate",r)}},scroll:{save(){return{x:window.scrollX,y:window.scrollY}},restore(r){let n;if(r==null)return;let i=++t,s=r.x||0,a=r.y||0,o=0;n=function(){if(i!==t)return;let l=Math.max(0,(window.document?.documentElement?.scrollHeight||0)-window.innerHeight);return window.scrollTo(s,Math.min(a,l)),o+=1,a>l&&o<20?e(n):void 0},e(n);return},top(){return t+=1,window.scrollTo(0,0)},watch(r){return window.addEventListener("scroll",r,{passive:!0}),function(){return window.removeEventListener("scroll",r)}}}}}var hn,Uo,je;Uo=Xi();je=function(e,t,r,n=null){let i=n??r?.message??String(r),s=Error(i);return s.name="GateFailure",s.status=r?.status??r?.response?.status??500,s.path=e,s.file=t,s.error=r,s};hn=function(e,t){let r=e.getCompiled(t);if(!(r!=null&&typeof r==="object"))throw Error(`Rip App: no precompiled component module for '${t}'`);let n=function(s){return typeof s==="function"&&typeof s.prototype?.mount==="function"};if(n(r.default))return r.default;let i=[];for(let s in r){let a=r[s];if(s==="default")continue;if(n(a))i.push(a)}if(i.length!==1)throw Error(`Rip App: precompiled module '${t}' must export exactly one component class`);return i[0]};function Fr(e){let t;if(!(e!=null&&typeof e==="object"))throw TypeError("Rip App: createRenderer expects an options object");let{router:r,stash:n,components:i,target:s,onError:a}=e;if(!(r!=null&&typeof r==="object"))throw TypeError("Rip App: createRenderer requires a router object");if(!(n!=null&&_e(n)!==n))throw TypeError("Rip App: createRenderer requires a stash built by createStash");if(!(i!=null&&typeof i.getCompiled==="function"))throw TypeError("Rip App: createRenderer requires a component registry");if(!(s!=null&&typeof s.appendChild==="function"))throw TypeError("Rip App: createRenderer requires a target with appendChild()");if(a!=null&&typeof a!=="function")throw TypeError("Rip App: createRenderer onError must be a function");let o=[],l=null,c=0,f=null,h=[],u=null,d=null,p=null,m=!1,g=function(D,H){let z=Object.keys(D);return z.length===Object.keys(H).length&&z.every(function(i1){return D[i1]===H[i1]})},b=function(D,H){return D.length===H.length&&D.every(function(z,i1){return H[i1]===z})},S=function(D){let H=_e(n),z=D.split(".");for(let i1=0;i1",B.file,`Rip App: ${B.file} static __gates must be an array`);for(let n1=0;n10))throw w(String(u1),B.file,`Rip App: ${B.file} has a malformed render gate path`);if(h1!=null&&typeof h1!=="function")throw w(u1,B.file,`Rip App: gate '${u1}' has a non-function key`);if(b1=S(u1),!b1)throw w(u1,B.file,`Rip App: gate '${u1}' does not resolve to a source`);if(i1=b1.cell,me(i1)){if(!h1)throw w(u1,B.file,`Rip App: gate '${u1}' is keyed and requires a key function`);try{f1=h1(H,z),i1=i1.cellFor(f1)}catch(Y){throw e1=Y,je(u1,B.file,e1,`Rip App: gate '${u1}' key failed: ${e1.message}`)}}else if(h1)throw w(u1,B.file,`Rip App: gate '${u1}' is a singleton and does not accept a key function`);if(B.bindings[n1]={cell:i1,tail:b1.tail,path:u1,file:B.file},!l1.has(i1))l1.set(i1,{cell:i1,path:u1,file:B.file,entryIndex:d1})}}return Array.from(l1.values())},j=async function(D,H,z,i1){let e1,o1,f1=k(D,H,z),h1=await Promise.allSettled((()=>{let l1=[];for(let d1 of f1)l1.push(d1.cell.ensure());return l1})());if(i1!==c)return!1;let u1=null,b1=function(l1,d1){if(l1.entryIndex=d1,u1==null||d1=u1.entryIndex)break;for(let B of d1.bindings){o1=B.cell.peek();for(let n1 of B.tail){if(o1==null)break;o1=o1[n1]}if(o1==null){b1(w(B.path,B.file,`Rip App: gate '${B.path}' resolved to ${o1}; every gated subpath must exist and be non-null`),l1);break}B.value=o1}}if(u1!=null)throw u1;return!0},M=function(D,H){return Uo(D.cls,{gates:D.bindings,parent:H,stash:n,router:r})},L=function(D){let H=[];for(let z=D.length-1;z>=0;z--){let i1=D[z];try{i1.unmount?.()}catch(e1){H.push(e1);try{i1._teardown?.({state:"unmounted",hooks:!1,removeDOM:!0})}catch(o1){H.push(o1)}}}return H},A=function(){let D=o;o=[],l=null,h=[],u=null,d=null;let H=L(D);if(H.length)throw H[0];return},P=null,v=function(){P?.remove?.(),P=null;return},V=function(D){let H,z;v();let i1=D.error?.stack??D.stack??D.message??String(D);P=(()=>{if(typeof document<"u"&&typeof document.createElement==="function")return H=document.createElement("pre"),H.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",H.textContent=i1,H;else return z={nodeName:"PRE",textContent:i1,parentNode:null,remove(){let e1=z.parentNode?.children,o1=e1?.indexOf(z)??-1;if(o1>=0)e1.splice(o1,1);z.parentNode=null;return}},z})(),s.appendChild(P);return},W=function(){if(typeof document<"u"&&typeof document.createDocumentFragment==="function")return document.createDocumentFragment();let D=[];return{children:D,appendChild(H){return D.push(H),H}}},G=function(D,H=s){if(v(),D.nodeType===11)H.appendChild(D);else for(let z of D.children)H.appendChild(z);return},T=function(D,H){let z,i1=D._nodes??[D._root];for(let e1 of i1){if(!e1)continue;if(e1.matches?.("#content"))return e1;if(z=e1.querySelector?.("#content"),z)return z}return i1.find(function(e1){return e1!=null})??H},N=function(D){return D?.childNodes??D?.children??[]},F=function(D,H){D.slot=H,D.slotOwned=N(H).length;return},J=function(){let D,H,z=s;for(let i1=0;i10&&e1.slot!=null&&e1.slot!==z){H=Array.from(N(e1.slot)).slice(e1.slotOwned??0),F(e1,z);for(let o1 of H)z.appendChild(o1);D._target=z}if(i1===h.length-1)break;z=T(D,z)}if(h.length>1)u=z;return},x=function(D,H,z){let i1,e1,o1;if(!D.some(function(l1){return typeof l1.cls.prototype?.onError==="function"}))return!1;let f1=W(),h1=f1,u1=[];try{for(let l1=0;l10)F(d1,h1);if(e1.mount?.(h1),e1._state==="failed")return L(u1),!1;h1=T(e1,h1)}if(z!==c)return L(u1),!1;i1=null;for(let l1=u1.length-1;l1>=0;l1--){let d1=u1[l1];if(typeof d1.onError==="function"){i1=d1;break}}G(f1)}catch(l1){return console.error("[Rip] boundary chain failed to mount:",l1),L(u1),!1}let b1=o;o=u1,l=u1[u1.length-1]??null,h=D,u=h1,d=null;try{i1.onError(H)}catch(l1){console.error("[Rip] boundary onError error:",l1)}for(let l1 of L(b1))console.error("[Rip] boundary teardown error:",l1);return!0},Q=function(D,H){let z=null;for(let e1=D.length-1;e1>=0;e1--){let o1=D[e1];if(typeof o1.instance?.onError==="function"){z=o1.instance;break}}if(!z)return!1;let i1=o.slice(D.length);o=D.map(function(e1){return e1.instance}),l=o[o.length-1]??null,h=D,d=null;try{z.onError(H)}catch(e1){console.error("[Rip] boundary onError error:",e1)}for(let e1 of L(i1))console.error("[Rip] boundary teardown error:",e1);return!0},U=async function(D,H,z=i){let i1,e1,o1,f1,h1,u1,b1=D?.route;if(!b1?.file)throw Error("Rip App: renderer route state requires route.file");let l1=D.params??{},d1=D.query??{},B=D.layouts??[];if(!Array.isArray(B))throw Error("Rip App: renderer route state layouts must be an array");let n1=h.map(function(m1){return m1.file}),_=p;if(p=null,_==null&&l!=null&&d!=null&&b1.file===d.file){if(b([...B,b1.file],n1)&&g(l1,d.params)){if(!(g(d1,d.query)||R(h,l1,d1))){if(typeof l.load==="function")await l.load(l1,d1);if(H!==c)return null;return d={file:b1.file,params:l1,query:d1},l}}}let Y=[...B,b1.file],X=d!=null&&B.length>0&&h.length===B.length+1&&b(B,n1.slice(0,-1))&&!R(h.slice(0,-1),l1,d1),t1=_!=null?Math.max(0,Math.min(_,Y.length-1)):X?B.length:0;if(_!=null&&t1>0){if(!(h.length===Y.length&&b(Y.slice(0,t1),n1.slice(0,t1))))t1=0}let C=[];for(let m1=0;m10){if(o1=X?Q(C.slice(0,i1),e1):x(C.slice(0,i1),e1,H),o1)return null}}throw e1}let a1=W(),E1=a1,y1=[],S1=t1>0?C[t1-1].instance:null,_1=t1>0,v1=_1?T(S1,s):s;try{for(let m1=C.slice(t1),D1=0;D10)F(pe,E1);if(f1.mount?.(E1),f1._state==="failed")throw Error(`Rip App: component '${pe.file}' failed during mount`);if(t1+D11?E1:v1,h=C,d={file:b1.file,params:l1,query:d1};let p1=L(R1);if(m=p1.length>0,p1.length)for(let m1 of p1)if(e1=je("","",m1),a!=null)try{a(e1)}catch(D1){console.error("[Rip] renderer teardown reporter failed:",D1)}else console.error("[Rip] renderer teardown error:",e1);return l},r1=function(D){let H,z,i1=D?.route;if(!i1?.file)return;let e1=D.params??{},o1=D.query??{},f1=D.layouts??i1.layouts??[],h1=h.map(function(l1){return l1.file}),u1=d!=null&&b(f1,h1.slice(0,-1));if(u1&&i1.file===d.file&&g(e1,d.params))return;let b1=u1?[i1.file]:[...f1,i1.file];try{H=(()=>{let l1=[];for(let d1 of b1)l1.push({file:d1,cls:hn(i,d1)});return l1})(),z=k(H,e1,o1)}catch(l1){return}for(let l1 of z)l1.cell.preload().catch(function(){return null});return},q=function(D,H){if(!(D!=null&&typeof D==="object"&&typeof H==="string"))return null;let z=function(e1){return typeof e1==="function"&&e1.__hmrId===H},i1=D.__hmrComponents;if(i1!=null&&typeof i1==="object")for(let e1 in i1){let o1=i1[e1];if(z(o1))return o1}if(z(D.default))return D.default;for(let e1 in D){let o1=D[e1];if(z(o1))return o1}return null},s1=function(D){let H=D+"#",z=[];for(let e1 of h)if(e1.file===D&&e1.instance!=null)z.push(e1.instance);for(let[e1,o1]of Yi())if(typeof e1==="string"&&e1.startsWith(H)){for(let f1 of o1.instances)if(!z.includes(f1))z.push(f1)}let i1=[];for(let e1 of z)i1.push({instance:e1,entry:h.find(function(o1){return o1.instance===e1})??null});return i1},I=function(D,H){let z,i1,e1,o1,f1=(()=>{let l1=[];for(let d1 of D)if(typeof d1==="string"&&d1.endsWith(".rip"))l1.push(d1);return l1})();if(!(f1.length>0))return"unknown";let h1=0,u1=!1,b1=new Set;for(let l1 of f1){if(o1=H.getCompiled(l1),e1=s1(l1),o1==null){if(typeof H.exists==="function"&&!H.exists(l1)){if(e1.some(function(d1){return d1.instance._state!=="unmounted"}))return"fallback"}else u1=!0;continue}for(let{instance:d1,entry:B}of e1){if(b1.has(d1))continue;if(d1._state==="unmounted")continue;if(d1._state!=="mounted")return"fallback";if(i1=d1.constructor?.__hmrId,z=typeof i1==="string"?q(o1,i1):null,z==null)return"fallback";if(wt(z),_t(d1.constructor,z)!=="patch")return"fallback";if(qi(d1,z),b1.add(d1),h1+=1,B!=null){if(B.cls=z,B!==h[h.length-1])J()}}}if(h1>0)return"done";return u1?"unknown":"idle"},c1=async function(D,H=i){let z,i1,e1,o1,f1;if(!(Array.isArray(D)&&D.length>0))return"noop";for(let X of D)if(X==="stash.rip"||X.startsWith("stash/")||X==="seed.rip")return"escape";let h1=r.current;if(!(h1?.route?.file&&h.length>0))return"noop";let b1=[...h1.layouts??h1.route.layouts??[],h1.route.file],l1=b(b1,h.map(function(X){return X.file})),d1=zi();try{if(f1=I(D,H),f1==="done")return Ir(d1),"narrow";if(f1==="idle"&&l1)return we("noop",{paths:[...D]}),"noop"}catch(X){console.error("[Rip] HMR patch failed; falling back to remount:",X),we("reject",{reason:"patch-failed",paths:[...D],message:X?.message?String(X.message):String(X)})}let B=new Set(D),n1=-1;for(let X=0;X{if(z?.name==="GateFailure")return z;else return e1=D?.route?.file??"",je(z?.path??e1,e1,z)})(),a?.(i1),l==null)V(i1);throw i1}finally{if(o1===c&&(Array.isArray(r)||typeof r==="string"?r.includes("navigating"):("navigating"in r)))r.navigating=!1}};let O=null;return O={current:null,mount:t,preload:r1,remountDirty:c1,start(){if(f)return O;return r.init?.(),f=x1(function(){let D=r.current;if(D?.route)t(D).catch(function(){return null});return}),O},stop(){let D,H;if(c++,f?.(),f=null,Array.isArray(r)||typeof r==="string"?r.includes("navigating"):("navigating"in r))r.navigating=!1;try{A()}catch(z){throw D=z,H=je("","",D),a?.(H),H}return}},Object.defineProperty(O,"current",{get(){return l}}),O}var Wo,Ho,un=Symbol.for("rip.app.stash.persisted"),Vo=Symbol.for("rip.app.stash.purge");Ho=function(e,t){return C1(t)?void 0:t};Wo=function(e){if(e.storage!=null)return e.storage;if(!(typeof window<"u"&&window.localStorage!=null))throw Error("Rip App: persistStash requires a browser or an injected storage");return e.local?window.localStorage:window.sessionStorage};function Br(e,t={}){let r,n=_e(e)||e;if(n[un])return function(){return null};n[un]=!0;let i=Wo(t),s=t.key||"__rip_app",a=t.debounce??2000;try{if(r=i.getItem(s),r)Je(e,JSON.parse(r))}catch(u){}let o=null,l=function(){o=null;try{i.setItem(s,JSON.stringify(_e(e),Ho))}catch(u){}return},c=!1,f=x1(function(){if(sn.value,!c){c=!0;return}if(o!=null)clearTimeout(o);return o=setTimeout(l,a),function(){return o!=null?clearTimeout(o):void 0}});if(typeof window<"u")window.addEventListener("beforeunload",l);Object.defineProperty(n,Vo,{value(){if(o!=null)clearTimeout(o),o=null;try{i.removeItem(s)}catch(u){}return},configurable:!0,writable:!0});let h=!1;return function(){if(h)return;if(h=!0,f?.(),typeof window<"u")window.removeEventListener("beforeunload",l);l(),n[Vo]=null,n[un]=!1;return}}var Go,dn;dn=function(e){if(e.hasAttribute?.("data-router-ignore"))return!0;if(e.hasAttribute?.("download"))return!0;let t=e.getAttribute?.("target");if(t&&t.toLowerCase()!=="_self")return!0;return!1};function Pt(e){let t,r=e.getAttribute?.("href")??e.href;if(!(typeof r==="string"&&r.length>0))return null;if(/^[a-z][a-z0-9+.-]*:/i.test(r)){if(t=typeof location<"u"?location.origin:null,!(t!=null&&r.startsWith(t)))return null;r=r.slice(t.length)}if(r.startsWith("//")||r.includes("\\"))return null;return r}function Lt(e,t){if(t==null)return!1;if(dn(t))return!1;let r=Pt(t);if(r==null)return!1;return e.claims(r)!=null}Go=function(){if(!(typeof document<"u"&&typeof document.querySelectorAll==="function"))throw Error("Rip App: ariaCurrent requires a browser or an injected host");return{anchors(){return Array.from(document.querySelectorAll("a[href]"))},observe(e){if(typeof MutationObserver>"u")return null;let t=!1,r=new MutationObserver(function(){if(t)return;return t=!0,requestAnimationFrame(function(){return t=!1,e()})});return r.observe(document.documentElement??document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["href","target","download","data-router-ignore"]}),function(){return r.disconnect()}}}};function Ur(e,t=null){if(!(e!=null&&typeof e.claims==="function"))throw TypeError("Rip App: ariaCurrent requires a router");t=t??Go();let r=new WeakMap,n=function(){let l,c,f,h,u=e.path;for(let d of t.anchors()){if(l=dn(d)?null:e.claims(Pt(d)??""),f=l==null||u==null?null:l.path===u?"page":l.path!=="/"&&u.startsWith(l.path+"/")?"true":null,c=d.getAttribute?.("aria-current")??null,h=r.get(d),h!==void 0&&c!==h){if(r.delete(d),c!=null)continue;h=void 0}if(f!=null){if(h===void 0&&c!=null)continue;if(c!==f)d.setAttribute("aria-current",f);r.set(d,f)}else if(h!==void 0)d.removeAttribute("aria-current"),r.delete(d)}return},i=function(){try{n()}catch(l){console.error("[Rip] aria-current walk failed:",l)}return},s=x1(function(){return e.path,i()}),a=t.observe?.(i)??null,o=!1;return function(){if(o)return;o=!0,s(),a?.();try{for(let l of t.anchors())if(r.has(l)){if((l.getAttribute?.("aria-current")??null)===r.get(l))l.removeAttribute("aria-current");r.delete(l)}}catch(l){}return}}var Ko,Yo,mn,pn;Yo=50;Ko=3000;pn=function(){if(!(typeof document<"u"&&typeof document.addEventListener==="function"))throw Error("Rip App: link listeners require a browser or an injected host");return{listen(e,t,r=null){return document.addEventListener(e,t,r??!1),function(){return document.removeEventListener(e,t,r??!1)}}}};mn=function(e){while(e!=null&&e.tagName!=="A")e=e.parentElement;return e??null};function Vr(e,t=null){if(!(e!=null&&typeof e.claims==="function"&&typeof e.push==="function"))throw TypeError("Rip App: interceptClicks requires a router");t=t??pn();let r=function(s){if(s.defaultPrevented)return;if(s.button!==0||s.metaKey||s.ctrlKey||s.shiftKey||s.altKey)return;let a=mn(s.target);if(!(a!=null&&Lt(e,a)))return;let o=e.claims(Pt(a));if(o==null)return;s.preventDefault(),e.push(o.url,{noScroll:a.hasAttribute?.("data-router-noscroll")===!0});return},n=t.listen("click",r),i=!1;return function(){if(i)return;i=!0,n();return}}function Wr(e,t,r=null){if(!(e!=null&&typeof e.claims==="function"))throw TypeError("Rip App: preloadLinks requires a router");if(!(t!=null&&typeof t.preload==="function"))throw TypeError("Rip App: preloadLinks requires a renderer with preload()");r=r??pn();let n=null,i=null,s={href:null,at:0},a=function(){if(n!=null)clearTimeout(n);n=null,i=null;return},o=function(h){let u=mn(h.target);if(!(u!=null&&Lt(e,u)))return;if(u===i)return;a(),i=u;let d=Pt(u);n=setTimeout(function(){n=null,i=null;let p=Date.now();if(d===s.href&&p-s.at1)throw AggregateError(S,"Rip App: launch.destroy failed");return};globalThis.__ripStash=l,globalThis.__ripRouter=f;try{if(typeof s.replaceChildren==="function")s.replaceChildren();else if(Array.isArray(s.children))s.children.length=0;h.start()}catch(S){throw b(),S}return{stash:l,components:c,router:f,renderer:h,destroy:b}}var bn,Gr,yn,Sn,Rn,V1;V1=function(e){if(!(typeof e==="string"&&e.length>0))throw TypeError("Rip Workspace: component path must be a non-empty string");let t=e.split("/"),r=t.some(function(s){return!s||s==="."||s===".."||s.startsWith(".")}),n=t.at(-1),i=t.slice(0,-1).some(function(s){return s.endsWith(".rip")});if(e.includes("\\")||e.startsWith("/")||r||i||n===".rip"||!n.endsWith(".rip"))throw TypeError(`Rip Workspace: invalid component path '${e}'`);return e};Gr=function(e){if(typeof e!=="string")throw TypeError("Rip Workspace: component source must be a string");return e};yn=function(e){if(e===""||e==null)return"";if(typeof e!=="string")throw TypeError("Rip Workspace: component directory must be a string");let t=e.split("/");if(e.includes("\\")||e.startsWith("/")||t.some(function(r){return!r||r==="."||r===".."||r.startsWith(".")}))throw TypeError(`Rip Workspace: invalid component directory '${e}'`);return e};Sn=function(e){if(!(typeof e==="string"&&/^[A-Za-z0-9_]{6}$/.test(e)))throw TypeError("Rip Workspace: publication hash must be six Base64URL-folded characters");return e};Rn=function(e){if(!(e!=null&&typeof e==="object"&&!Array.isArray(e)))throw TypeError("Rip Workspace: compiled component module must be an object");return e};bn=function(e){let t;if(!(e!=null&&typeof e==="object"&&!Array.isArray(e)))throw TypeError("Rip Workspace: prepared state must be an object");let r=Sn(e.hash);if(!(e.sources!=null&&typeof e.sources==="object"&&!Array.isArray(e.sources)))throw TypeError("Rip Workspace: prepared sources must be an object");if(!(e.compiled!=null&&typeof e.compiled==="object"&&!Array.isArray(e.compiled)))throw TypeError("Rip Workspace: prepared compiled modules must be an object");let n=new Map,i=new Map,s=e.sources;for(let o in s){if(!Object.hasOwn(s,o))continue;let l=s[o];n.set(V1(o),Gr(l))}let a=e.compiled;for(let o in a){if(!Object.hasOwn(a,o))continue;let l=a[o];if(o=V1(o),!n.has(o))throw Error(`Rip Workspace: compiled module '${o}' has no source`);i.set(o,Rn(l))}return{hash:r,sources:n,compiled:i}};function Kr(){let e,t=new Map,r=new Map,n=new Set,i=null,s=!1,a=function(l,c){for(let f of Array.from(n))try{f(l,c)}catch(h){console.error("[Rip] workspace watcher error:",h)}return},o=function(l){t=l.sources,r=l.compiled,i=l.hash;return};return e={read(l){return t.get(V1(l))},write(l,c){if(s)throw Error("Rip Workspace: cannot write during a publication transition");l=V1(l),c=Gr(c);let f=t.has(l)?"change":"create";t.set(l,c),r.delete(l),a(f,l);return},del(l){if(s)throw Error("Rip Workspace: cannot delete during a publication transition");l=V1(l),t.delete(l),r.delete(l),a("delete",l);return},exists(l){return t.has(V1(l))},size(){return t.size},list(l=""){let c;l=yn(l);let f=l?l+"/":"",h=[];for(let[u]of t)if(u.startsWith(f)){if(c=u.slice(f.length),!c.includes("/"))h.push(u)}return h},listAll(l=""){l=yn(l);let c=l?l+"/":"",f=[];for(let[h]of t)if(h.startsWith(c))f.push(h);return f},load(l){if(s)throw Error("Rip Workspace: cannot load during a publication transition");if(!(l!=null&&typeof l==="object"&&!Array.isArray(l)))throw TypeError("Rip Workspace: component load expects a source object");let c=[];for(let f in l){if(!Object.hasOwn(l,f))continue;let h=l[f];c.push([V1(f),Gr(h)])}for(let[f,h]of c)t.set(f,h),r.delete(f);return},watch(l){if(typeof l!=="function")throw TypeError("Rip Workspace: component watch expects a function");n.add(l);let c=!1;return function(){if(c)return;c=!0,n.delete(l);return}},getCompiled(l){return r.get(V1(l))},setCompiled(l,c){if(s)throw Error("Rip Workspace: cannot compile during a publication transition");if(l=V1(l),!t.has(l))throw Error(`Rip Workspace: setCompiled for unknown component path '${l}'`);r.set(l,Rn(c));return},hash(){return i},activate(l){if(i!=null)throw Error("Rip Workspace: a publication is already active");if(s)throw Error("Rip Workspace: a publication transition is already staged");o(bn(l));return},stage(l,c,f){if(s)throw Error("Rip Workspace: a publication transition is already staged");if(l=Sn(l),i!==l)throw Error(`Rip Workspace: change starts at ${l}, not ${i}`);if(!Array.isArray(f))throw TypeError("Rip Workspace: changed paths must be an array");let h=f.map(function(g){return V1(g)});if(new Set(h).size!==h.length)throw Error("Rip Workspace: changed paths must be unique");let u=bn(c),d={sources:t,compiled:r,hash:i};s=!0;let p=!1,m=function(g){let b;if(p)throw Error("Rip Workspace: publication transition is already finished");if(p=!0,s=!1,!g)return;o(u);for(let S of h)b=!u.sources.has(S)?"delete":d.sources.has(S)?"change":"create",a(b,S);return};return{components:{getCompiled(g){return u.compiled.get(V1(g))},exists(g){return u.sources.has(V1(g))}},commit(){return m(!0)},rollback(){return m(!1)}}},commit(l,c,f){e.stage(l,c,f).commit();return}},e}var Xo,Jo,Zo,Qo,e2,t2,r2,Yr;Zo=250;Jo=8000;Xo=5000;r2=0;Yr=function(e){return typeof e==="string"&&/^[A-Za-z0-9_]{6}$/.test(e)};e2=function(){if(typeof location>"u")throw Error("Rip App: connectFeed needs a hub URL (no location to derive one from)");return`${location.protocol==="https:"?"wss":"ws"}://${location.host}/hub`};t2=function(){if(typeof WebSocket>"u")throw Error("Rip App: connectFeed needs a socket factory (no global WebSocket)");return function(e){return new WebSocket(e)}};Qo=function(){if(typeof fetch>"u")throw Error("Rip App: connectFeed needs a fetch (no global fetch)");return function(e,t){return fetch(e,t)}};function zr(e,t={}){let r;if(!(e!=null&&typeof e.hash==="function"&&typeof e.apply==="function"&&typeof e.reload==="function"))throw TypeError("Rip App: connectFeed expects hash, apply, and reload callbacks");if(!Yr(e.hash()))throw TypeError("Rip App: connectFeed client hash must be six Base64URL-folded characters");let n=t.hub??e2(),i=t.latestUrl??"/latest.json",s=t.makeSocket??t2(),a=t.fetch??Qo(),o=t.report??function(...x){return console.error(...x)},l=t.backoff?.min??Zo,c=t.backoff?.max??Jo,f=t.ackTimeout??Xo,h=!1,u=!1,d=!1,p=!1,m=null,g=0,b=null,S=null,w=0,R=null,k=[],j=Promise.resolve(),M=new Map,L=null,A=function(x){if(u||h)return;u=!0,e.reload(x);return},P=async function(x){let Q;if(u||h)return!1;try{if(Q=await e.apply(x),Q==="rejected"){if(Yr(x?.hash))L=x?.hash;return!1}if(Q==="reload"||!Q)return A("change could not be applied"),!1;return L=null,!0}catch(U){return o("[Rip] publication change failed:",U),A("change failed"),!1}},v=function(x,Q){j=j.then(async function(){if(Q!==w)return!0;return await P(x)}),j=j.catch(function(U){return o("[Rip] publication queue failed:",U),A("change queue failed"),!1});return},V=async function(x){let Q,U;if(h||u||x!==w)return;let r1=e.hash(),q=await a(i,{cache:"no-store"});if(!q?.ok)throw Error(`latest.json fetch failed (${q?.status})`);let s1=await q.json();if(!(s1!=null&&typeof s1==="object"&&!Array.isArray(s1)&&Object.keys(s1).length===1&&Object.hasOwn(s1,"hash")&&Yr(s1.hash)))throw Error("latest.json is malformed");if(h||u||x!==w)return;if(L!=null){if(s1.hash!==L){A(`a newer App generation followed rejected ${L}`);return}k=[],p=!0,g=0;return}let I=new Set([r1]),c1=0;while(c10))return"ignore";let s=(()=>{let f=[];for(let h of n)if(typeof h==="string"&&h.endsWith(".css"))f.push(h);return f})(),a=(()=>{let f=[];for(let h of n)if(typeof h==="string"&&h.endsWith(".rip"))f.push(h);return f})(),o=(()=>{let f=[];for(let h of n)if(typeof h==="string"&&!h.endsWith(".rip")&&!h.endsWith(".css"))f.push(h);return f})();if(a.length===0){if(o.length>0)return"reload";if(s.length>0)return"css";return"ignore"}let l=await e.renderer.remountDirty(a,i);if(l==="narrow")return t(`[Rip] applied ${a.join(", ")} — update`),"update";if(l==="reload")return t(`[Rip] applied ${a.join(", ")} — reload`),"reload";if(l==="noop")return"ignore";if(await e.escape(a,i)==="reload")return"reload";return t(`[Rip] applied ${a.join(", ")} — update`),"update"}}}var M4=function(e){if(e instanceof Uint8Array)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw TypeError("Rip App: rash expects bytes")},j4=function(e){let t,r,n,i,s,a,o,l,c,f,h,u,d,p,m,g,b=M4(e);if(typeof Bun<"u"&&Bun.CryptoHasher!=null)return new Uint8Array(new Bun.CryptoHasher("sha256").update(b).digest());let S=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],w=b.length*8,R=new Uint8Array(b.length+9+63&-64);R.set(b),R[b.length]=128;let k=new DataView(R.buffer);k.setUint32(R.length-4,w>>>0,!1),k.setUint32(R.length-8,Math.floor(w/4294967296)>>>0,!1);let j=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],M=function(V,W){return V>>>W|V<<32-W},L=new Uint32Array(64),A=0;while(A>>3,p=M(L[V-2],17)^M(L[V-2],19)^L[V-2]>>>10,L[V]=L[V-16]+d+L[V-7]+p>>>0;[n,i,s,o,l,c,f,h]=j;for(let V=0;V<64;V++)r=M(l,6)^M(l,11)^M(l,25),a=l&c^~l&f,m=h+r+a+S[V]+L[V]>>>0,t=M(n,2)^M(n,13)^M(n,22),u=n&i^n&s^i&s,g=t+u>>>0,h=f,f=c,c=l,l=o+m>>>0,o=s,s=i,i=n,n=m+g>>>0;j[0]=j[0]+n>>>0,j[1]=j[1]+i>>>0,j[2]=j[2]+s>>>0,j[3]=j[3]+o>>>0,j[4]=j[4]+l>>>0,j[5]=j[5]+c>>>0,j[6]=j[6]+f>>>0,j[7]=j[7]+h>>>0,A+=64}let P=new Uint8Array(32),v=new DataView(P.buffer);for(let V=0;V<8;V++)v.setUint32(V*4,j[V],!1);return P},Mt=function(e){let t=j4(e),r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";return(r[t[0]>>2]+r[(t[0]&3)<<4|t[1]>>4]+r[(t[1]&15)<<2|t[2]>>6]+r[t[2]&63]+r[t[3]>>2]+r[(t[3]&3)<<4|t[4]>>4]).replaceAll("-","_")},Xr=function(e){let t=JSON.stringify(e.map(function(r){return[r.id,r.hash]}));return Mt(new TextEncoder().encode(t))};var F4=function(){return globalThis.__ripStash},B4=function(){return globalThis.__ripRouter};(()=>{if(typeof document>"u"||typeof WebSocket>"u")return;let e=document.currentScript;if(!(e?/\bwatch\.js\b/.test(e.src||""):!!document.querySelector("script[watch]"))||globalThis.__ripWatch)return;globalThis.__ripWatch=!0;let r=location.pathname,n=(f)=>Array.isArray(f)&&(f.includes(r)||r.endsWith("/")&&f.includes(r+"index.html")),i=(f)=>f.headers.get("etag")||f.headers.get("last-modified")||"",s=null;fetch(location.href,{method:"HEAD",cache:"no-store"}).then((f)=>{s=i(f)}).catch(()=>{});let a=()=>{if(s===null)return;fetch(location.href,{method:"HEAD",cache:"no-store"}).then((f)=>{if(i(f)!==s)location.reload()}).catch(()=>{})},o=!1,l=0,c=()=>{let f=location.protocol==="https:"?"wss://":"ws://",h=new WebSocket(f+location.host+"/hub");h.onopen=()=>h.send('{"+":["/assets"],"?":"observe"}'),h.onmessage=(u)=>{let d;try{d=JSON.parse(u.data)}catch{return}for(let p of Array.isArray(d)?d:[d]){if(!p||typeof p!=="object"||"<"in p)continue;if("!"in p){if(o)a();o=!0,l=0}if(n(p.touched))location.reload()}},h.onclose=()=>{if(l+=1,!o&&l>=6)return;setTimeout(c,Math.min(8000,500*2**(l-1)))},h.onerror=()=>{}};c()})();var{__hmrEmit:U4}=Nt;function kn(e,t={}){if(t.face==="ts")throw Error("rip: TypeScript face is unavailable in the browser");return ka(e,{...t,face:"js"})}var l2={intrinsics:hr,stdlib:ur,schema:br,reactive:Tr,components:Nt},c2=Object.freeze({...hr,...ur,...br,...Tr,...Nt}),V4=Object.freeze({rash:Mt,check:Xr}),f2=Object.freeze({"rip/app":Jr,"rip/app/rash":V4});var W4=new Map(Object.keys(l2).map((e)=>[new URL(`./runtime/${e}.js`,import.meta.url).pathname,e])),H4=/(?:^|\/)src\/runtime\/(intrinsics|stdlib|schema|reactive|components)\.js$/,Zr="__ripModuleBridge",G4=(e)=>e.slice(1,-1),i2=(e,t)=>{let r=e.split("/").slice(0,-1);for(let n of t.split("/")){if(n===""||n===".")continue;if(n===".."){if(!r.length)return null;r.pop()}else r.push(n)}return r.join("/")},n2=(e)=>{if(typeof URL<"u"&&typeof URL.createObjectURL==="function"&&typeof Blob<"u")return URL.createObjectURL(new Blob([e],{type:"text/javascript"}));return`data:text/javascript;base64,${btoa(unescape(encodeURIComponent(e)))}`};function h2({components:e,embeddedPackages:t={},debug:r=!1,hmr:n=!1}={}){if(!e||typeof e.read!=="function")throw TypeError("rip: createModuleLoader requires a component registry");let i=new Map,s=new Map,a=new Map,o=new Map,l=new Map,c=new Set,f=(m)=>{if(typeof m==="string"&&m.startsWith("blob:")&&typeof URL?.revokeObjectURL==="function")URL.revokeObjectURL(m)},h=async()=>{let m=[...c];c.clear(),await Promise.allSettled(m.map(async(g)=>f(await g)))},u=(m,g)=>{if(a.has(m))return a.get(m);globalThis[Zr]??={};let b=globalThis[Zr][m];if(b&&b!==g)throw Error(`rip: two copies of embedded module '${m}' are active on one page`);globalThis[Zr][m]=g;let S=[`const ns = globalThis['${Zr}'][${JSON.stringify(m)}];`];for(let R of Object.keys(g))if(R==="default")S.push("export default ns['default'];");else if(/^[A-Za-z_$][\w$]*$/.test(R))S.push(`export const ${R} = ns[${JSON.stringify(R)}];`);else throw Error(`rip: embedded module '${m}' exports '${R}', which cannot cross the module bridge`);let w=n2(S.join(` +`+h+"}"}return null};return(s)=>{let a=i(s,0);if(a!==null)console.log(a);else console.dir(s,{depth:null,colors:!0});return s}})(),Da=(e,t)=>{throw t!==void 0?new e(t):Error(e)},xa=(e,t)=>t!==void 0?(e>t&&([e,t]=[t,e]),Math.floor(Math.random()*(t-e+1)+e)):e?Math.floor(Math.random()*e):Math.random(),Ca=(e)=>new Promise((t)=>setTimeout(t,e)),Pa=(e)=>{throw Error(e||"Not implemented")},La=(...e)=>console.warn(...e),Ma=(...e)=>e[0].map((t,r)=>e.map((n)=>n[r])),ja=(e)=>{if(typeof e==="string")return e;if(e==null)return"";if(typeof e==="number"||typeof e==="bigint"||typeof e==="boolean")return String(e);if(typeof e==="symbol")return e.description||"";if(e instanceof Uint8Array||e instanceof ArrayBuffer)return new TextDecoder().decode(e instanceof Uint8Array?e:new Uint8Array(e));if(Array.isArray(e))return e.join(",");if(typeof e.toString==="function"&&e.toString!==Object.prototype.toString)try{return e.toString()}catch{return""}return""};var br={};Fe(br,{SchemaDef:()=>Et,SchemaError:()=>I1,SchemaRegistry:()=>te,__schema:()=>e4,installPersistence:()=>q3,registerCoercer:()=>J3});var Wa=Symbol.for("rip.runtime.schema");if(globalThis[Wa])throw Error("two copies of the Rip schema runtime loaded in one process — schemas from different copies "+"cannot see each other (separate registries, distinct SchemaError classes). Run .rip sources through the rip CLI/loader (one shared runtime module per process), or load only one standalone-compiled file per process.");globalThis[Wa]=!0;var ke=null;function q3(e){if(ke&&ke!==e)throw Error("the Rip schema persistence runtime is already installed — two different copies met in one process");ke=e}class I1 extends Error{constructor(e,t,r){super(X3(e,t));this.name="SchemaError",this.issues=e,this.schemaName=t||null,this.schemaKind=r||null}}function X3(e,t){if(!e||!e.length)return"SchemaError";return(t?t+": ":"")+e.map((n)=>n.message||n.error||"invalid").join("; ")}var Ha={__proto__:null,string:(e)=>typeof e==="string",number:(e)=>typeof e==="number"&&!Number.isNaN(e),integer:(e)=>Number.isInteger(e),boolean:(e)=>typeof e==="boolean",date:(e)=>e instanceof Date&&!Number.isNaN(e.getTime()),datetime:(e)=>e instanceof Date&&!Number.isNaN(e.getTime()),email:(e)=>typeof e==="string"&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),url:(e)=>typeof e==="string"&&/^https?:\/\/.+/.test(e),uuid:(e)=>typeof e==="string"&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e),phone:(e)=>typeof e==="string"&&/^[\d\s\-+()]+$/.test(e),zip:(e)=>typeof e==="string"&&/^\d{5}(-\d{4})?$/.test(e),text:(e)=>typeof e==="string",json:(e)=>e!==void 0,variant:(e)=>e!==void 0,any:()=>!0},gr={integer(e){if(typeof e==="number")return Number.isInteger(e)?{ok:!0,value:e}:{ok:!1};if(typeof e==="string"&&/^[+-]?\d+$/.test(e.trim()))return{ok:!0,value:parseInt(e.trim(),10)};return{ok:!1}},number(e){if(typeof e==="number")return Number.isNaN(e)?{ok:!1}:{ok:!0,value:e};if(typeof e==="string"&&/^[+-]?(\d+\.?\d*|\.\d+)([eE][+-]?\d+)?$/.test(e.trim()))return{ok:!0,value:Number(e.trim())};return{ok:!1}},boolean(e){if(typeof e==="boolean")return{ok:!0,value:e};if(e==="true"||e==="1"||e===1)return{ok:!0,value:!0};if(e==="false"||e==="0"||e===0)return{ok:!0,value:!1};return{ok:!1}},date(e){if(e instanceof Date)return Number.isNaN(e.getTime())?{ok:!1}:{ok:!0,value:e};if(typeof e==="number"&&Number.isFinite(e))return{ok:!0,value:new Date(e)};let t=typeof e==="string"?/^(\d{4})-(\d{2})-(\d{2})/.exec(e):null;if(t){let r=+t[2],n=+t[3],i=new Date(Date.UTC(+t[1],r,0)).getUTCDate();if(r<1||r>12||n<1||n>i)return{ok:!1};let s=new Date(e);if(!Number.isNaN(s.getTime()))return{ok:!0,value:s}}return{ok:!1}}};gr.datetime=gr.date;function dr(e){if(e!==null&&typeof e==="object"&&!Array.isArray(e))return null;return{field:"",error:"object",message:"input must be an object; got "+(e===null?"null":Array.isArray(e)?"an array":"a "+typeof e)}}var Bi=new Map;function J3(e,t,r){if(typeof e!=="string"||typeof t!=="function")throw Error("registerCoercer(name, fn, opts?): name string and fn required");let n=Object.prototype.toString.call(t);if(n==="[object AsyncFunction]"||n==="[object GeneratorFunction]"||n==="[object AsyncGeneratorFunction]")throw Error("registerCoercer: coercer '~:"+e+"' must be a plain synchronous function");let i=r?.raw===!0,s=Bi.get(e);if(s){if(s.raw===i&&String(s.fn)===String(t))return t;throw Error("registerCoercer: coercer '~:"+e+"' is already registered")}return Bi.set(e,{fn:t,raw:i}),t}function St(e){if(Ha[e])return null;let t=te.get(e);return t&&(t.kind==="shape"||t.kind==="input"||t.kind==="model"||t.kind==="union")?t:null}function Ui(e,t,r){let n=Ha[t];if(n)return n(e)?{value:e}:{errors:[{field:"",error:"type",message:"must be "+t}]};let i=te.get(t);if(!i)return{value:e};if(i.kind==="enum"){let a=i._validateEnum(e,!0);return a.length?{errors:[{field:"",error:"enum",message:a[0].message}]}:{value:i._materializeEnum(e)}}if(i.kind==="mixin")return{errors:[{field:"",error:"type",message:":mixin "+t+" is not usable as a field type"}]};if(i.kind==="union"){let a=i._unionResolve(e);if(a.issue)return{errors:[a.issue]};let o=r?.existing?a.def._runExistingSync(e,{...r,materialize:!1,materializeNested:!1}):a.def._runSync(e,{...r,materialize:!1,materializeNested:!1});if(o.thrown){if(r?.derived==="throw")throw o.thrown;return{errors:[{field:"",error:"derived",message:o.thrown?.message||String(o.thrown)}]}}return o.ok?{value:o.value}:{errors:o.errors}}if(e===null||typeof e!=="object"||Array.isArray(e))return{errors:[{field:"",error:"type",message:"must be a "+t+" object"}]};let s=r?.existing?i._runExistingSync(e,{...r,materialize:!1,materializeNested:!1}):i._runSync(e,{...r,materialize:!1,materializeNested:!1});if(s.thrown){if(r?.derived==="throw")throw s.thrown;return{errors:[{field:"",error:"derived",message:s.thrown?.message||String(s.thrown)}]}}return s.ok?{value:s.value}:{errors:s.errors}}async function Fa(e,t,r){let n=St(t);if(n===null)return Ui(e,t,r);if(n.kind==="union"){let s=n._unionResolve(e);if(s.issue)return{errors:[s.issue]};let a=r?.existing?await s.def._runExistingAsync(e,{...r,materialize:!1,materializeNested:!1}):await s.def._runAsync(e,{...r,materialize:!1,materializeNested:!1});if(a.thrown){if(r?.derived==="throw")throw a.thrown;return{errors:[{field:"",error:"derived",message:a.thrown?.message||String(a.thrown)}]}}return a.ok?{value:a.value}:{errors:a.errors}}if(e===null||typeof e!=="object"||Array.isArray(e))return{errors:[{field:"",error:"type",message:"must be a "+t+" object"}]};let i=r?.existing?await n._runExistingAsync(e,{...r,materialize:!1,materializeNested:!1}):await n._runAsync(e,{...r,materialize:!1,materializeNested:!1});if(i.thrown){if(r?.derived==="throw")throw i.thrown;return{errors:[{field:"",error:"derived",message:i.thrown?.message||String(i.thrown)}]}}return i.ok?{value:i.value}:{errors:i.errors}}function Rt(e,t){if(!t)return e;return e+(t.startsWith("[")?t:"."+t)}function mr(e,t,r){if(!t)return e+" "+r;if(r.startsWith(t))return e+r.slice(t.length);return e+": "+r}var pr=Symbol("schema.materialization-error");function Ba(e,t){if(e&&e[pr])return{[pr]:!0,error:e.error,field:Rt(t,e.field)};return{[pr]:!0,error:e,field:t}}function Ge(e){return e&&e[pr]?{thrown:e.error,derivedField:e.field}:{thrown:e,derivedField:""}}var Z3=tt;function Ua(e){let t=(n)=>JSON.stringify(n??null,(i,s)=>s instanceof RegExp?String(s):typeof s==="function"?"":s),r=[e.kind];for(let n of e._desc.entries||[])switch(n.tag){case"field":r.push("f:"+n.name+":"+(n.typeName||"")+(n.array?"[]":"")+":"+(n.modifiers||[]).join("")+(n.literals?":"+n.literals.join(","):"")+":"+t(n.constraints)+(n.coerce?":~"+(n.coercer||""):"")+(n.transform?":t":""));break;case"enum-member":r.push("e:"+n.name+"="+String(n.value));break;case"directive":r.push("d:"+n.name+":"+t(n.args));break;case"ensure":r.push("n:"+(n.message||""));break;default:r.push(n.tag+":"+(n.name||""))}return r.join("|")}var Ee=0,te={_entries:new Map,replace:!1,register(e){if(!e.name)return;Ee++;let t=this._entries.get(e.name);if(t&&t.def!==e&&!this.replace){if(Ua(t.def)!==Ua(e))throw new I1([{field:e.name,error:"collision",message:"schema name '"+e.name+"' is already registered with a different definition. Schema names are app-global (they resolve nested field types and @mixin references), so two "+"different schemas cannot share one name. Rename one — or, for dev/HMR reload semantics, set "+"SchemaRegistry.replace = true before re-evaluating modules."}],e.name,e.kind)}this._entries.set(e.name,{def:e,kind:e.kind})},get(e){let t=this._entries.get(e);return t?t.def:null},getKind(e,t){let r=this._entries.get(e);return r&&r.kind===t?r.def:null},has(e){return this._entries.has(e)},names(){return[...this._entries.keys()]},reset(){this._entries.clear(),Ee++},scope(e){let t=this._entries;this._entries=new Map,Ee++;let r=()=>{this._entries=t,Ee++};try{let n=e();if(n&&typeof n.then==="function")return n.finally(r);return r(),n}catch(n){throw r(),n}}};class Et{constructor(e){if(e.kind==="model"&&!ke)throw Error("schema: kind 'model' needs the persistence runtime (src/runtime/orm.js), which is not "+"loaded in this process — reference a persistence name (schema.transaction, __schemaSetAdapter) "+"or import the module directly");if(this._desc=e,this.kind=e.kind,this.name=e.name||null,this._norm=null,this._klass=null,this._unionPlanCache=null,this._sourceModel=null,e.kind==="model")ke.decorateDef(this,e)}_normalize(){if(this._norm)return this._norm;let e=new Map,t=new Map,r=new Map,n=new Map,i=new Map,s=new Map,a=null,o=[],l=new Map,c=[],f=(S,w)=>{throw new I1([{field:S,error:"collision",message:S+" collides with "+w}],this.name,this.kind)},h=(S)=>{if(e.has(S))f(S,"field");if(t.has(S))f(S,"method");if(r.has(S))f(S,"computed");if(n.has(S))f(S,"derived");if(i.has(S))f(S,"hook")},u=(S)=>{throw new I1([{field:"",error:"kind",message:S+" is :model-only (this schema is :"+this.kind+")"}],this.name,this.kind)},d=this.kind==="union"?new Set(["on"]):new Set(["mixin"]),p=(S,w)=>{if(!Z3(S))throw new I1([{field:S,error:"invalid-name",message:w+" name '"+S+"' is not canonical camelCase. Use a lowercase-first, alphanumeric identifier with no consecutive uppercase letters (e.g. 'mdmId' not 'mdmID')."}],this.name,this.kind)};for(let S of this._desc.entries)switch(S.tag){case"field":p(S.name,"field"),h(S.name),e.set(S.name,{name:S.name,required:S.modifiers.includes("!"),optional:S.modifiers.includes("?"),unique:S.unique===!0,primary:S.primary===!0,attrs:S.attrs||null,typeName:S.typeName,literals:S.literals||null,array:S.array===!0,coerce:S.coerce===!0,coercer:S.coercer||null,constraints:S.constraints||null,transform:S.transform||null});break;case"method":h(S.name),t.set(S.name,S.fn);break;case"computed":h(S.name),r.set(S.name,S.fn);break;case"derived":h(S.name),n.set(S.name,S.fn);break;case"hook":if(this.kind!=="model")u("lifecycle hook '"+S.name+"'");if(i.has(S.name))f(S.name,"duplicate hook");i.set(S.name,S.fn);break;case"scope":if(this.kind!=="model")u("query scope '@scope :"+S.name+"'");if(s.has(S.name))f(S.name,"scope");s.set(S.name,S.fn);break;case"defaultScope":if(this.kind!=="model")u("@defaultScope");if(a)throw new I1([{field:"",error:"collision",message:"only one @defaultScope per model"}],this.name,this.kind);a=S.fn;break;case"directive":if(this.kind!=="model"&&!d.has(S.name))throw new I1([{field:"",error:"directive",message:"unknown directive '@"+S.name+"' on :"+this.kind+" — legal here: "+[...d].map((w)=>"@"+w).join(", ")}],this.name,this.kind);o.push({name:S.name,args:S.args||[]});break;case"enum-member":l.set(S.name,S.value!==void 0?S.value:S.name);break;case"union-member":break;case"ensure":c.push({message:S.message,field:S.field||"",async:S.async===!0,fn:S.fn});break;default:throw new I1([{field:"",error:"entry",message:"unknown schema entry tag '"+S.tag+"'"}],this.name,this.kind)}if(this.kind==="shape"||this.kind==="input"||this.kind==="mixin"||this.kind==="model")Ya(this,e,o,{stack:[this.name||""],seen:new Set([this.name||""])});let m=null,g=[];if(this.kind==="union"){for(let S of o)if(S.name==="on"&&S.args?.[0]?.field)m=S.args[0].field;for(let S of this._desc.entries)if(S.tag==="union-member")g.push(S.name)}let b={fields:e,methods:t,computed:r,derived:n,hooks:i,scopes:s,defaultScope:a,directives:o,enumMembers:l,ensures:c,hasAsyncEnsures:c.some((S)=>S.async),unionOn:m,unionMembers:g};if(this.kind==="model")ke.finishModelNorm(this,b);return this._norm=b,this._norm}_unionPlan(){if(this._unionPlanCache&&this._unionPlanCache.gen===Ee)return this._unionPlanCache.plan;let e=this._normalize(),t=e.unionOn;if(this.kind!=="union"||!t)throw Error("schema: '"+(this.name||"anon")+"' is not a :union");let r=new Map,n=[];for(let s of e.unionMembers){let a=te.get(s);if(!a)throw new I1([{field:"",error:"union",message:"unknown union constituent: "+s+" (import the file that declares it)"}],this.name,this.kind);n.push(a);let o=a._normalize().fields.get(t);if(!o||o.typeName!=="literal-union"||!o.literals?.length)throw new I1([{field:t,error:"union",message:s+" must declare '"+t+"' as a string-literal type (e.g. "+t+'! "click") to join union '+(this.name||"")}],this.name,this.kind);for(let l of o.literals){if(r.has(l))throw new I1([{field:t,error:"union",message:"duplicate discriminator value "+JSON.stringify(l)+" in "+(r.get(l).name||"anon")+" and "+s}],this.name,this.kind);r.set(l,a)}}let i={disc:t,map:r,expected:[...r.keys()].join(" | "),hasAsyncEnsures:n.some((s)=>s._normalize().hasAsyncEnsures)};return this._unionPlanCache={gen:Ee,plan:i},i}_unionResolve(e){let t=this._unionPlan();if(e===null||typeof e!=="object"||Array.isArray(e))return{issue:{field:t.disc,error:"union",message:"expected an object with "+t.disc}};let r=t.map.get(e[t.disc]);if(!r)return{issue:{field:t.disc,error:"union",message:"expected one of "+t.expected}};return{def:r}}_applyEagerDerived(e){let t=this._normalize();if(!t.derived.size)return;for(let[r,n]of t.derived){let i=n.call(e);Object.defineProperty(e,r,{value:i,enumerable:!0,writable:!0,configurable:!0})}}_materializeValidatedValue(e,t,r){return this._materializeNestedValues(e,t,r),this._materializeOwnValidatedValue(e,t,r)}_materializeNestedValues(e,t,r){let n=this._normalize();for(let[i,s]of n.fields){let a=St(s.typeName);if(!a)continue;let o=e[i];if(o===void 0||o===null)continue;let l=t==null?void 0:t[i];if(s.array){if(!Array.isArray(o))continue;let c=Array(o.length);for(let f=0;f{let a=()=>({field:i.field||"",error:"ensure",message:i.message||"ensure failed"});if(i.async)n.push((async()=>{let o=!1;try{o=!!await i.fn(e)}catch{o=!1}if(!o)r.push({idx:s,issue:a()})})());else{let o=!1;try{o=!!i.fn(e)}catch{o=!1}if(!o)r.push({idx:s,issue:a()})}}),await Promise.all(n),r.sort((i,s)=>i.idx-s.idx),r.map((i)=>i.issue)}_transitiveAsync(){if(this._taGen===Ee)return this._taCache;let e=new Set,t=(r)=>{if(e.has(r))return!1;e.add(r);let n=r._normalize();if(n.hasAsyncEnsures)return!0;if(r.kind==="union"){for(let i of n.unionMembers){let s=te.get(i);if(s&&t(s))return!0}return!1}for(let i of n.fields.values()){let s=St(i.typeName);if(s&&t(s))return!0}return!1};return this._taCache=t(this),this._taGen=Ee,this._taCache}_assertSyncValidatable(e){if(!this._transitiveAsync())return;let t=this.kind!=="union"&&this._normalize().hasAsyncEnsures;throw Error("schema '"+(this.name||"anon")+"' has async refinements (@ensure!"+(t?"":" in a nested or constituent schema")+"); ."+e+"() is sync. Use parseAsync/safeAsync/okAsync instead.")}_getClass(){if(this._klass)return this._klass;let e=this._normalize(),t=this.name||"Schema",r=[...e.fields.keys()],n={[t]:class{constructor(i){if(i&&typeof i==="object"){for(let s of r)if(s in i&&i[s]!==void 0)this[s]=i[s]}}}}[t];for(let[i,s]of e.methods)Object.defineProperty(n.prototype,i,{value:s,writable:!0,enumerable:!1,configurable:!0});for(let[i,s]of e.computed)Object.defineProperty(n.prototype,i,{get:s,enumerable:!1,configurable:!0});return this._klass=n,n}_coerceDates(e){let t=this._normalize(),r=(s)=>typeof s==="string"&&/^\d{4}-\d{2}-\d{2}([T ].*)?$/.test(s),n=(s)=>{let a=/^(\d{4})-(\d{2})-(\d{2})/.exec(s),o=+a[2],l=+a[3];return o>=1&&o<=12&&l>=1&&l<=new Date(Date.UTC(+a[1],o,0)).getUTCDate()},i=(s)=>{if(!n(s))return s;let a=new Date(s);return Number.isNaN(a.getTime())?s:a};for(let[s,a]of t.fields){if(a.typeName!=="date"&&a.typeName!=="datetime")continue;let o=e[s];if(a.array&&Array.isArray(o))e[s]=o.map((l)=>r(l)?i(l):l);else if(r(o))e[s]=i(o)}}_validateFields(e,t,r,n){let i=this._normalize(),s=t?[]:null;for(let[a,o]of i.fields){if(r&&r.has(a))continue;let l=e==null?void 0:e[a];if(l===void 0||l===null){if(o.required){if(!t)return!1;s.push({field:a,error:"required",message:a+" is required"})}continue}if(o.array){if(!Array.isArray(l)){if(!t)return!1;s.push({field:a,error:"type",message:a+" must be an array"});continue}let f=o.constraints;if(f){if(f.min!=null&&l.lengthf.max){if(!t)return!1;s.push({field:a,error:"max",message:a+" must have at most "+f.max+" items"})}}if(n?.deferNested&&St(o.typeName))continue;let h=!1,u=!1,d=Array(l.length);for(let p=0;pJSON.stringify(f)).join(", ")});continue}}else{if(n?.deferNested&&St(o.typeName))continue;let f=Ui(l,o.typeName,n);if(f.errors){if(!t)return!1;for(let h of f.errors){let u=Rt(a,h.field);s.push({field:u,error:h.error,message:mr(u,h.field,h.message)})}continue}if(f.value!==l)e[a]=f.value}let c=o.constraints;if(c){if(typeof l==="string"){if(c.min!=null&&l.lengthc.max){if(!t)return!1;s.push({field:a,error:"max",message:a+" must be at most "+c.max+" chars"})}if(c.regex){if(c.regex.global||c.regex.sticky)c.regex.lastIndex=0;if(!c.regex.test(l)){if(!t)return!1;s.push({field:a,error:"pattern",message:a+" is invalid"})}}}else if(typeof l==="number"){if(c.min!=null&&l= "+c.min})}if(c.max!=null&&l>c.max){if(!t)return!1;s.push({field:a,error:"max",message:a+" must be <= "+c.max})}}}}return t?s:!0}_applyDefaults(e){let t=this._normalize();for(let[r,n]of t.fields)if((e[r]===void 0||e[r]===null)&&n.constraints?.default!==void 0){let i=n.constraints.default;e[r]=typeof i==="object"&&i!==null&&!(i instanceof RegExp)?structuredClone(i):i}return e}_applyTransforms(e,t){let r=this._normalize(),n=[];for(let[i,s]of r.fields){if(!s.transform)continue;try{t[i]=s.transform(e)}catch(a){n.push({field:i,error:"transform",message:a?.message||String(a)})}}return n}_applyCoercions(e,t){let r=this._normalize(),n=[];for(let[i,s]of r.fields){if(!s.coerce)continue;let a=e[i];if(a===void 0||a===null)continue;if(s.coercer){let l=Bi.get(s.coercer);if(!l)throw Error("schema: no coercer registered for '~:"+s.coercer+"' (field '"+i+"' on "+(this.name||"anon")+"). Register it with registerCoercer('"+s.coercer+"', fn).");let c=l.raw?a:String(a).trim(),f;try{f=l.fn(c)}catch{f=null}if(f===null||f===void 0)n.push({field:i,error:"coerce",message:i+" is not a valid "+s.coercer}),t.add(i);else e[i]=f;continue}let o=gr[s.typeName]?gr[s.typeName](a):{ok:!1};if(o.ok)e[i]=o.value;else n.push({field:i,error:"coerce",message:i+" cannot be coerced to "+s.typeName}),t.add(i)}return n}_orderFieldErrors(...e){let t=new Map,r=0;for(let[n]of this._normalize().fields)t.set(n,r++);return e.flat().map((n,i)=>{let s=String(n.field||"").split(/[.[]/,1)[0];return{issue:n,seq:i,rank:t.has(s)?t.get(s):r}}).sort((n,i)=>n.rank-i.rank||n.seq-i.seq).map((n)=>n.issue)}_validateEnum(e,t){let r=this._normalize();for(let[i,s]of r.enumMembers)if(e===i||e===s)return t?[]:!0;if(!t)return!1;let n=[...r.enumMembers.keys()].join(", ");return[{field:"",error:"enum",message:(this.name||"enum")+" expected one of: "+n}]}_materializeEnum(e){let t=this._normalize();for(let[r,n]of t.enumMembers)if(e===r||e===n)return n;return e}_runSync(e,t){if(this.kind==="union"){let f=this._unionResolve(e);if(f.issue)return{ok:!1,errors:[f.issue]};let h=f.def._runSync(e,t);return h.ok?h:{...h,from:h.from||f.def}}if(this.kind==="enum"){let f=this._validateEnum(e,!0);return f.length?{ok:!1,errors:f}:{ok:!0,value:this._materializeEnum(e)}}let r=dr(e);if(r)return{ok:!1,errors:[r]};let n=e,i={...n},s=new Set,a=this._applyTransforms(n,i),o=this._applyCoercions(i,s);this._applyDefaults(i),this._coerceDates(i);let l=this._orderFieldErrors(a,o,this._validateFields(i,!0,s,t));if(l.length)return{ok:!1,errors:l};let c=t?.skipEnsures?[]:this._applyEnsures(i);if(c.length)return{ok:!1,errors:c};if(t?.materializeNested)try{this._materializeNestedValues(i,null,!1)}catch(f){return{ok:!1,errors:null,...Ge(f)}}if(!t?.materialize)return{ok:!0,value:i};try{return{ok:!0,value:this._materializeOwnValidatedValue(i,null,!1)}}catch(f){return{ok:!1,errors:null,...Ge(f)}}}async _runAsync(e,t){if(this.kind==="union"){let h=this._unionResolve(e);if(h.issue)return{ok:!1,errors:[h.issue]};let u=await h.def._runAsync(e,t);return u.ok?u:{...u,from:u.from||h.def}}if(this.kind==="enum")return this._runSync(e,t);let r=dr(e);if(r)return{ok:!1,errors:[r]};let n=e,i={...n},s=new Set,a=this._applyTransforms(n,i),o=this._applyCoercions(i,s);this._applyDefaults(i),this._coerceDates(i);let l=await this._validateFieldsAsync(i,s,t),c=this._orderFieldErrors(a,o,l);if(c.length)return{ok:!1,errors:c};let f=t?.skipEnsures?[]:await this._applyEnsuresAsync(i);if(f.length)return{ok:!1,errors:f};if(t?.materializeNested)try{this._materializeNestedValues(i,null,!1)}catch(h){return{ok:!1,errors:null,...Ge(h)}}if(!t?.materialize)return{ok:!0,value:i};try{return{ok:!0,value:this._materializeOwnValidatedValue(i,null,!1)}}catch(h){return{ok:!1,errors:null,...Ge(h)}}}async _validateFieldsAsync(e,t,r){let n=this._normalize(),i=[];for(let[s,a]of n.fields){if(t&&t.has(s))continue;let o=e[s];if(o===void 0||o===null){if(a.required)i.push({field:s,error:"required",message:s+" is required"});continue}if(a.array){if(!Array.isArray(o)){i.push({field:s,error:"type",message:s+" must be an array"});continue}let f=a.constraints;if(f?.min!=null&&o.lengthf.max)i.push({field:s,error:"max",message:s+" must have at most "+f.max+" items"});let h=Array(o.length),u=!1;for(let d=0;dJSON.stringify(f)).join(", ")})}else{let f=await Fa(o,a.typeName,r);if(f.errors)for(let h of f.errors){let u=Rt(s,h.field);i.push({field:u,error:h.error,message:mr(u,h.field,h.message)})}else e[s]=f.value}let l=e[s],c=a.constraints;if(c){if(typeof l==="string"){if(c.min!=null&&l.lengthc.max)i.push({field:s,error:"max",message:s+" must be at most "+c.max+" chars"});if(c.regex){if(c.regex.global||c.regex.sticky)c.regex.lastIndex=0;if(!c.regex.test(l))i.push({field:s,error:"pattern",message:s+" is invalid"})}}else if(typeof l==="number"){if(c.min!=null&&l= "+c.min});if(c.max!=null&&l>c.max)i.push({field:s,error:"max",message:s+" must be <= "+c.max})}}}return i}_runExistingSync(e,t){if(this.kind==="union"){let a=this._unionResolve(e);if(a.issue)return{ok:!1,errors:[a.issue]};let o=a.def._runExistingSync(e,t);return o.ok?o:{...o,from:o.from||a.def}}if(this.kind==="enum")return this._runSync(e,t);let r=dr(e);if(r)return{ok:!1,errors:[r]};let n={...e},i=this._validateFields(n,!0,null,{...t,existing:!0});if(i.length)return{ok:!1,errors:i};let s=t?.skipEnsures?[]:this._applyEnsures(n);if(s.length)return{ok:!1,errors:s};if(t?.materializeNested)try{this._materializeNestedValues(n,e,!0)}catch(a){return{ok:!1,errors:null,...Ge(a)}}return this._finishExistingValue(e,n,t)}async _runExistingAsync(e,t){if(this.kind==="union"){let a=this._unionResolve(e);if(a.issue)return{ok:!1,errors:[a.issue]};let o=await a.def._runExistingAsync(e,t);return o.ok?o:{...o,from:o.from||a.def}}if(this.kind==="enum")return this._runSync(e,t);let r=dr(e);if(r)return{ok:!1,errors:[r]};let n={...e},i=await this._validateFieldsAsync(n,null,{...t,existing:!0});if(i.length)return{ok:!1,errors:i};let s=t?.skipEnsures?[]:await this._applyEnsuresAsync(n);if(s.length)return{ok:!1,errors:s};if(t?.materializeNested)try{this._materializeNestedValues(n,e,!0)}catch(a){return{ok:!1,errors:null,...Ge(a)}}return this._finishExistingValue(e,n,t)}_finishExistingValue(e,t,r){if(!r?.materialize)return{ok:!0,value:t};let n=this._getClass(),i=!0;for(let[a]of this._normalize().fields)if(t[a]!==e[a]){i=!1;break}if(i)return{ok:!0,value:e};let s=new n(t);try{this._applyEagerDerived(s)}catch(a){return{ok:!1,errors:null,thrown:a}}return{ok:!0,value:s}}parse(e){if(this.kind==="mixin")throw Error(":mixin schema '"+(this.name||"anon")+"' is not instantiable");this._assertSyncValidatable("parse");let t=this._runSync(e,{materialize:!0,materializeNested:!0,derived:"throw"});if(t.ok)return t.value;if(t.thrown)throw t.thrown;let r=t.from||this;throw new I1(t.errors,r.name,r.kind)}get array(){let e=this,t=(s)=>({field:"",error:"not_array",message:"expected an array, received "+(s===null?"null":s===void 0?"undefined":typeof s==="object"?"an object with keys ["+Object.keys(s).join(", ")+"]":typeof s)}),r=(s)=>{let a=[],o=[];return s.forEach((l,c)=>{if(l.ok)a.push(l.value);else for(let f of l.errors)o.push({...f,field:"["+c+"]"+(f.field?"."+f.field:"")})}),{value:a,errors:o}},n=(s)=>{let a=[],o=[];return s.forEach((l,c)=>{try{a.push(e.parse(l))}catch(f){if(!(f instanceof I1))throw f;for(let h of f.issues)o.push({...h,field:"["+c+"]"+(h.field?"."+h.field:"")})}}),{value:a,errors:o}},i=async(s)=>{let a=[],o=[];for(let l=0;le.safe(l)));return o.length?{ok:!1,value:null,errors:o}:{ok:!0,value:a,errors:null}},ok(s){return Array.isArray(s)&&s.every((a)=>e.ok(a))},async parseAsync(s){if(!Array.isArray(s))throw new I1([t(s)],e.name,e.kind);let{value:a,errors:o}=await i(s);if(o.length)throw new I1(o,e.name,e.kind);return a},async safeAsync(s){if(!Array.isArray(s))return{ok:!1,value:null,errors:[t(s)]};let{value:a,errors:o}=r(await Promise.all(s.map((l)=>e.safeAsync(l))));return o.length?{ok:!1,value:null,errors:o}:{ok:!0,value:a,errors:null}},async okAsync(s){return Array.isArray(s)&&(await Promise.all(s.map((a)=>e.okAsync(a)))).every(Boolean)},toJSONSchema(){return{type:"array",items:e.toJSONSchema()}}}}safe(e){if(this.kind==="mixin")return{ok:!1,value:null,errors:[{field:"",error:"mixin",message:"not instantiable"}]};this._assertSyncValidatable("safe");let t=this._runSync(e,{materialize:!0,materializeNested:!0,derived:"issue"});if(t.ok)return{ok:!0,value:t.value,errors:null};if(t.thrown)return{ok:!1,value:null,errors:[{field:t.derivedField||"",error:"derived",message:t.thrown?.message||String(t.thrown)}]};return{ok:!1,value:null,errors:t.errors}}ok(e){if(this.kind==="mixin")return!1;return this._assertSyncValidatable("ok"),this._runSync(e,{materialize:!1,materializeNested:!1,derived:"issue"}).ok}async parseAsync(e){if(this.kind==="mixin")throw Error(":mixin schema '"+(this.name||"anon")+"' is not instantiable");let t=await this._runAsync(e,{materialize:!0,materializeNested:!0,derived:"throw"});if(t.ok)return t.value;if(t.thrown)throw t.thrown;let r=t.from||this;throw new I1(t.errors,r.name,r.kind)}async safeAsync(e){if(this.kind==="mixin")return{ok:!1,value:null,errors:[{field:"",error:"mixin",message:"not instantiable"}]};let t=await this._runAsync(e,{materialize:!0,materializeNested:!0,derived:"issue"});if(t.ok)return{ok:!0,value:t.value,errors:null};if(t.thrown)return{ok:!1,value:null,errors:[{field:t.derivedField||"",error:"derived",message:t.thrown?.message||String(t.thrown)}]};return{ok:!1,value:null,errors:t.errors}}async okAsync(e){if(this.kind==="mixin")return!1;return(await this._runAsync(e,{materialize:!1,materializeNested:!1,derived:"issue"})).ok}pick(...e){return yt(this,(t)=>{let r=Fi(e),n=new Map;for(let i of r){if(!t.has(i))throw Error("pick: unknown field '"+i+"' on "+(this.name||"schema"));n.set(i,t.get(i))}return n})}omit(...e){return yt(this,(t)=>{let r=new Set(Fi(e)),n=new Map;for(let[i,s]of t)if(!r.has(i))n.set(i,s);return n})}partial(){return yt(this,(e)=>{let t=new Map;for(let[r,n]of e)t.set(r,{...n,required:!1});return t})}required(...e){return yt(this,(t)=>{let r=new Set(Fi(e)),n=new Map;for(let[i,s]of t)n.set(i,{...s,required:r.has(i)?!0:s.required});return n})}extend(e){if(!(e instanceof Et))throw Error("extend(): argument must be a schema value");if(e.kind==="union")throw Error("extend(): :union schemas have no fields to merge");return yt(this,(t)=>{let r=new Map(t),n=e._normalize().fields;for(let[i,s]of n){if(r.has(i))throw Error("extend(): field '"+i+"' collides between "+(this.name||"schema")+" and "+(e.name||"other"));r.set(i,s)}return r})}toJSONSchema(){let e={defs:new Map,expanding:new Set},t=Ka(this,e);if(t.$schema="https://json-schema.org/draft/2020-12/schema",this.name)t.title=this.name;if(e.defs.size){t.$defs={};for(let[r,n]of e.defs)t.$defs[r]=n}return t}}var Va={__proto__:null,string:()=>({type:"string"}),text:()=>({type:"string"}),email:()=>({type:"string",format:"email"}),url:()=>({type:"string",format:"uri"}),uuid:()=>({type:"string",format:"uuid"}),phone:()=>({type:"string",pattern:"^[\\d\\s\\-+()]+$"}),zip:()=>({type:"string",pattern:"^\\d{5}(-\\d{4})?$"}),number:()=>({type:"number"}),integer:()=>({type:"integer"}),boolean:()=>({type:"boolean"}),date:()=>({type:"string",format:"date"}),datetime:()=>({type:"string",format:"date-time"}),json:()=>({}),variant:()=>({}),any:()=>({})};function Q3(e,t){let r;if(e.typeName==="literal-union"&&e.literals?.length)r=e.literals.length===1?{const:e.literals[0]}:{enum:[...e.literals]};else if(Va[e.typeName])r=Va[e.typeName]();else{let i=te.get(e.typeName);r=i?Ga(i,t):{}}let n=e.constraints;if(n&&!e.array){if(r.type==="string"){if(n.min!=null)r.minLength=n.min;if(n.max!=null)r.maxLength=n.max;if(n.regex)r.pattern=n.regex.source}else if(r.type==="number"||r.type==="integer"){if(n.min!=null)r.minimum=n.min;if(n.max!=null)r.maximum=n.max}}if(e.array){if(r={type:"array",items:r},n){if(n.min!=null)r.minItems=n.min;if(n.max!=null)r.maxItems=n.max}}if(n&&n.default!==void 0)r.default=n.default;if(e.coerce)r.description=((r.description?r.description+" ":"")+"Coerced from wire data ("+(e.coercer?"~:"+e.coercer:"~"+e.typeName)+").").trim();if(e.transform)r.description=((r.description?r.description+" ":"")+"Derived via transform; the raw input may use different keys.").trim();return r}function Ga(e,t){let r=e.name||"Anon";if(!t.defs.has(r)&&!t.expanding.has(r))t.expanding.add(r),t.defs.set(r,null),t.defs.set(r,Ka(e,t)),t.expanding.delete(r);return{$ref:"#/$defs/"+r}}function Ka(e,t){let r=e._normalize();if(e.kind==="enum")return{enum:[...new Set(r.enumMembers.values())]};if(e.kind==="union"){let a=e._unionPlan();return{oneOf:r.unionMembers.map((l)=>{let c=te.get(l);return c?Ga(c,t):{}}),discriminator:{propertyName:a.disc}}}let n={},i=[];for(let[a,o]of r.fields)if(n[a]=Q3(o,t),o.required&&o.constraints?.default===void 0)i.push(a);if(e.kind==="model")ke.jsonSchemaModelColumns(e,n);let s={type:"object",properties:n};if(i.length)s.required=i;if(r.ensures.length)s.description="Refinements (not expressible in JSON Schema): "+r.ensures.map((a)=>a.message).join("; ")+".";return s}function Fi(e){let t=[];for(let r of e)if(Array.isArray(r))for(let n of r)t.push(n);else t.push(r);return t}function yt(e,t){if(e.kind==="union")throw Error("schema algebra (.pick/.omit/.partial/.required/.extend) is not supported on :union — derive from a constituent schema instead");if(e.kind==="enum")throw Error("schema algebra is not supported on :enum — an enum has no field set");let r=e.kind==="model"?ke.projectableFields(e):e._normalize().fields,n=t(r),i=[];for(let[,o]of n){let l=[];if(o.required)l.push("!");if(o.optional&&!o.required)l.push("?");i.push({tag:"field",name:o.name,modifiers:l,unique:o.unique===!0,primary:o.primary===!0,attrs:o.attrs||null,typeName:o.typeName,array:o.array,literals:o.literals||null,coerce:o.coerce===!0,coercer:o.coercer||null,constraints:o.constraints,transform:o.transform||null})}let s=(e.name||"Schema")+"Derived",a=new Et({kind:"shape",name:s,entries:i});return a._sourceModel=e._sourceModel||(e.kind==="model"?e:null),a}function Ya(e,t,r,n){for(let i of r){if(i.name!=="mixin"||!i.args||!i.args[0])continue;let s=i.args[0].target;if(!s)continue;if(n.stack.includes(s))throw new I1([{field:"",error:"mixin-cycle",message:"mixin cycle: "+n.stack.concat(s).join(" -> ")}],e.name,e.kind);if(n.seen.has(s))continue;let a=te.getKind(s,"mixin");if(!a)throw new I1([{field:"",error:"mixin-missing",message:"unknown mixin: "+s}],e.name,e.kind);n.seen.add(s),n.stack.push(s);let o=a._desc.entries.filter((l)=>l.tag==="directive"&&l.name==="mixin").map((l)=>({name:l.name,args:l.args||[]}));Ya(e,t,o,n);for(let l of a._desc.entries){if(l.tag!=="field")continue;if(t.has(l.name))throw new I1([{field:l.name,error:"mixin-collision",message:l.name+" from mixin "+s+" collides with existing field"}],e.name,e.kind);if(e.kind!=="model"&&(l.unique===!0||l.attrs))throw new I1([{field:l.name,error:"mixin-persistence",message:l.name+" from mixin "+s+" carries persistence metadata (@unique/attrs) — :model-only; a :"+e.kind+" cannot include it"}],e.name,e.kind);t.set(l.name,{name:l.name,required:l.modifiers.includes("!"),optional:l.modifiers.includes("?"),unique:l.unique===!0,attrs:l.attrs||null,typeName:l.typeName,literals:l.literals||null,array:l.array===!0,coerce:l.coerce===!0,coercer:l.coercer||null,constraints:l.constraints||null,transform:l.transform||null})}n.stack.pop()}}function e4(e){let t=new Et(e);if(t.name)te.register(t);return t}if(typeof globalThis<"u")globalThis.__ripSchema=globalThis.__ripSchema||{},globalThis.__ripSchema.SchemaRegistry=te;var Tr={};Fe(Tr,{__batch:()=>M1,__catchErrors:()=>ue,__computed:()=>K1,__detachRef:()=>Vi,__effect:()=>x1,__handleError:()=>re,__ownerFrame:()=>Tt,__popOwner:()=>q1,__pushOwner:()=>le,__readonly:()=>fe,__setEffectErrorReporter:()=>t4,__setErrorHandler:()=>he,__state:()=>A1,getEffectSignal:()=>ce});var Xa=Symbol.for("rip.runtime.reactive");if(globalThis[Xa])throw Error("two copies of the Rip reactive runtime loaded in one process — states from different copies "+"cannot notify each other (separate dependency graphs, separate effect queues). Run .rip sources through the rip CLI/loader (one shared runtime module per process), or load only one standalone-compiled file per process.");globalThis[Xa]=!0;var N1=null,Er=[],Ke={buckets:[],cursors:[],size:0,low:0,add(e){let t=e.depth,r=this.buckets[t];if(r===void 0)r=this.buckets[t]=new Set;if(r.has(e))return;if(r.add(e),this.size++,tconsole.error(e,t);function t4(e){let t=kt;return kt=e,t}function Ja(){try{while(Ke.size>0){let e=Ke.shift();if(!e._disposed)e.run()}}catch(e){throw Ke.clear(),e}}var Za={valueOf(){return this.value},toString(){return String(this.value)},[Symbol.toPrimitive](e){return e==="string"?this.toString():this.valueOf()}};function A1(e){if(e!=null&&typeof e==="object"&&typeof e.read==="function")return e;let t=e,r=new Set,n=!1,i=!1,s=!1,a=()=>{if(N1&&typeof N1.markDirty==="function"&&N1.dependencies.has(r))throw Error("reactive runtime: computed dependency changed during evaluation — "+"computed functions must derive without writing or touching a dependency")},o=()=>{for(let f of Er)f.writtenSignals.add(r)},l=()=>{n=!0;try{for(let f of r)if(f.markDirty)f.markDirty(!0);else f._hard=!0,Ke.add(f);if(!Rr)Ja()}finally{n=!1}},c={get value(){if(s)return t;if(N1?.writtenSignals&&Er.some((f)=>f.writtenSignals.has(r)))throw Error("reactive runtime: computed dependency changed during evaluation — "+"computed functions must derive without writing or touching a dependency");if(N1)r.add(N1),N1.dependencies.add(r);return t},set value(f){if(s||i||f===t)return;if(a(),n)return;o(),t=f,l()},read(){return t},touch(){if(s)return;if(a(),n)return;o(),l()},lock(){return i=!0,c},free(){return r.clear(),c},kill(){return s=!0,r.clear(),t},...Za};return c}var yr=0,za=1,Sr=2;function Qa(e){let t=N1;N1=null;try{for(let[r,n]of e.computedDeps)if(r.value,r.version!==n)return!0;return!1}finally{N1=t}}function K1(e){let t,r=Sr,n=new Set,i=!1,s=!1,a=!1,o={dependencies:new Set,computedDeps:new Map,writtenSignals:new Set,version:0,markDirty(l){if(s||i)return;if(a)throw Error("reactive runtime: computed dependency changed during evaluation — "+"computed functions must derive without writing or touching a dependency");let c=r;if(l)r=Sr;else if(r===yr)r=za;if(c!==yr)return;for(let f of n)if(f.markDirty)f.markDirty(!1);else Ke.add(f)},get value(){if(s)return t;if(N1&&N1!==o)n.add(N1),N1.dependencies.add(n),N1.computedDeps.set(o,-1);if(a)throw Error("reactive runtime: computed value read during its own evaluation — "+"recursive computed reads are not supported");if(r===za&&!i)r=Qa(o)?Sr:yr;if(r===Sr&&!i){for(let c of o.dependencies)c.delete(o);o.dependencies.clear(),o.computedDeps.clear();let l=N1;o.writtenSignals.clear(),N1=o,Er.push(o),a=!0;try{let c=e();if(c!==t)o.version++;t=c,r=yr}finally{a=!1,Er.pop(),o.writtenSignals.clear(),N1=l}}if(N1&&N1!==o)N1.computedDeps.set(o,o.version);return t},read(){return t},lock(){return i=!0,o.value,o},free(){for(let l of o.dependencies)l.delete(o);return o.dependencies.clear(),o.computedDeps.clear(),n.clear(),o},kill(){s=!0;let l=t;return o.free(),l},...Za};return o}function qa(e){let t=e._cleanup;if(!t)return;let r=N1;N1=null;try{t()}finally{N1=r}e._cleanup=null}function x1(e){let t=null,r=0,n=B1,i={depth:n?n.depth+1:0,dependencies:new Set,computedDeps:new Map,_hard:!0,_disposed:!1,get signal(){if(!t&&typeof AbortController<"u"){if(t=new AbortController,i._disposed)t.abort()}return t?t.signal:null},run(){if(i._disposed)return;let a=i._hard;if(i._hard=!1,!a&&!Qa(i))return;if(t){try{t.abort()}catch{}t=null}let o=++r;qa(i);for(let f of i.dependencies)f.delete(i);i.dependencies.clear(),i.computedDeps.clear();let l=N1;N1=i;let c=B1;B1=n;try{let f=e();if(typeof f==="function")i._cleanup=f;else if(f&&typeof f.then==="function")f.then((h)=>{if(o!==r||i._disposed){if(typeof h==="function")try{h()}catch(u){kt("[Rip] superseded async cleanup error:",u)}return}if(typeof h==="function")i._cleanup=h},(h)=>{if(h&&h.name==="AbortError")return;if(o!==r||i._disposed)return;kt("[Rip] async effect error:",h)})}finally{N1=l,B1=c}},dispose(){if(i._disposed)return;if(i._disposed=!0,Ke.delete(i),t)try{t.abort()}catch{}qa(i);for(let a of i.dependencies)a.delete(i);i.dependencies.clear()}};try{i.run()}catch(a){throw i.dispose(),a}let s=()=>i.dispose();if(B1)B1.add(s);return s}function M1(e){if(Rr)return e();Rr=!0;try{return e()}finally{Rr=!1,Ja()}}function Tt({nested:e=!0}={}){let t=[],r=null,i={depth:B1?B1.depth+1:0,get disposed(){return t===null},get size(){return t===null?0:t.length},add(s){if(t===null)s();else t.push(s)},remove(s){if(t===null)return;let a=t.indexOf(s);if(a>=0)t.splice(a,1)},dispose(){if(t===null)return;let s=t;if(t=null,r!==null){let a=r;r=null,a()}for(let a of s)try{a()}catch(o){kt("[Rip] effect disposer error:",o)}}};if(e&&B1){let s=B1;s.add(i.dispose),r=()=>s.remove(i.dispose)}return i}function le(e){let t={frame:e,prev:B1};return B1=e,t}function q1(e){if(!e||typeof e!=="object"||!("frame"in e))throw Error("reactive runtime: __popOwner takes the token the matching __pushOwner returned");if(B1!==e.frame)throw Error("reactive runtime: __popOwner out of order — the frame being popped is not the current owner "+"(an inner push was not popped, or this token was already popped)");B1=e.prev}function ce(){return N1?N1.signal:null}function fe(e){return Object.freeze({value:e})}function Vi(e,t){if(e&&typeof e.read==="function"&&e.read()===t)e.value=null}var kr=null;function he(e){let t=kr;return kr=e,t}function re(e){if(kr)try{kr(e)}catch(t){console.error("Error in error handler:",t),console.error("Original error:",e)}else throw e}function ue(e){return function(...t){try{return e.apply(this,t)}catch(r){re(r)}}}var Nt={};Fe(Nt,{__Component:()=>yo,__claimGateConstructor:()=>Xi,__clsx:()=>vr,__detach:()=>Ar,__detachRef:()=>Vi,__gateBind:()=>E4,__handleComponentError:()=>Ki,__hmrClassify:()=>_t,__hmrEmit:()=>we,__hmrEntries:()=>Yi,__hmrEvents:()=>a4,__hmrLookup:()=>r4,__hmrMigrateDiff:()=>co,__hmrMigrateRemount:()=>f4,__hmrPatch:()=>qi,__hmrPreserveState:()=>Or,__hmrRegisterDefinition:()=>wt,__hmrRegistry:()=>Te,__hmrRestoreUi:()=>Ir,__hmrSnapshotUi:()=>zi,__lis:()=>go,__ownerFrame:()=>Tt,__popComponent:()=>de,__popOwner:()=>q1,__pushComponent:()=>Le,__pushOwner:()=>le,__reconcile:()=>m4,__reportChildFailure:()=>S4,__setChildFailureReporter:()=>y4,__style:()=>bo,__transition:()=>g4,getContext:()=>u4,hasContext:()=>d4,setContext:()=>h4});var ao=Symbol.for("rip.runtime.components");if(globalThis[ao])throw Error("two copies of the Rip component runtime loaded in one process — components from different "+"copies cannot see each other (separate component stacks: context, parent chains, and error boundaries silently break across copies). Run .rip sources through the rip CLI/loader (one shared runtime module per process), or load only one standalone-compiled file per process.");globalThis[ao]=!0;var Y1=null,oo={},_r=null,lo=new WeakMap,eo=!1,Te=new Map;function Wi(e,t){if(e===t)return!0;if(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)return!1;for(let r=0;ri.has(c)),o=n.filter((c)=>!i.has(c)),l=r.filter((c)=>!s.has(c));return{kept:a,added:o,removed:l}}var Nr=[],s4=64;function we(e,t={}){let r={type:e,at:Date.now(),...t};if(Nr.push(r),Nr.length>s4)Nr.shift();if(typeof window<"u"&&typeof window.dispatchEvent==="function"&&typeof CustomEvent==="function")try{window.dispatchEvent(new CustomEvent("rip:hmr",{detail:r}))}catch{}return r}function a4(){return Nr.slice()}function Or(e,t){let r=e?.constructor?.__hmrSig,n=t?.constructor?.__hmrSig,i=r?.state,s=n?.state,a=co(r,n);if(!Array.isArray(i)||!Array.isArray(s))return we("migrate",{id:t?.constructor?.__hmrId??null,...a,copied:[]}),a;let o=new Set(i),l=[];for(let f of s){if(!o.has(f))continue;let h=e[f],u=t[f];if(h!=null&&u!=null&&typeof h==="object"&&typeof u==="object"&&"value"in h&&"value"in u)u.value=h.value,l.push(f)}let c=t?.constructor?.__hmrId??e?.constructor?.__hmrId??null;return we("migrate",{id:c,...a,copied:l}),{...a,copied:l}}var fo=["name","type","placeholder"];function ho(e){let t=(n)=>typeof e[n]==="string"&&e[n]?e[n]:null,r={tag:e.tagName??null};for(let n of fo)r[n]=t(n);return r.label=typeof e.getAttribute==="function"?e.getAttribute("aria-label"):null,r.value=typeof e.value==="string"?e.value:null,r}function Hi(e,t,r){if(!e||!t)return!1;let n=ho(e);for(let i of["tag",...fo,"label"])if(n[i]!==t[i])return!1;return!r||t.value==null||n.value===t.value}function o4(e){let t=ho(e),r=typeof e.id==="string"&&e.id?e.id:null,n=[],i=e;while(i&&i!==document.body){let s=i.parentElement??i.parentNode??null;if(!s||!s.children)return{identity:t,id:r,path:null};n.unshift(Array.prototype.indexOf.call(s.children,i)),i=s}return{identity:t,id:r,path:i===document.body?n:null}}function l4(e){let t=e.active;if(t&&t.isConnected!==!1&&typeof document.contains==="function"&&document.contains(t))return t;let r=e.locator;if(!r)return null;if(r.id&&typeof document.getElementById==="function"){let o=document.getElementById(r.id);if(Hi(o,r.identity,!1))return o}if(!Array.isArray(r.path)||r.path.length===0)return null;let n=document.body;for(let o of r.path.slice(0,-1))if(n=n?.children?.[o]??null,!n)return null;let i=Array.from(n.children??[]),s=i[r.path[r.path.length-1]]??null;if(Hi(s,r.identity,!0))return s;let a=i.filter((o)=>Hi(o,r.identity,!0));return a.length===1?a[0]:null}function zi(){if(typeof document>"u")return null;let e=document.activeElement,t=e&&e!==document.body&&e!==document.documentElement?e:null,r=null;if(t&&typeof t.selectionStart==="number")r={start:t.selectionStart,end:t.selectionEnd,direction:t.selectionDirection};return{active:t,locator:t?o4(t):null,selection:r,scrollX:typeof window<"u"?window.scrollX:0,scrollY:typeof window<"u"?window.scrollY:0}}function Ir(e){if(!e||typeof document>"u")return;if(typeof window<"u")window.scrollTo(e.scrollX??0,e.scrollY??0);let t=l4(e);if(!t||typeof t.focus!=="function")return;try{if(t.focus({preventScroll:!0}),e.selection&&typeof t.setSelectionRange==="function")t.setSelectionRange(e.selection.start,e.selection.end,e.selection.direction??"none")}catch{}}function uo(e,t){let r=e.constructor?.__hmrId;if(typeof r==="string"&&r)Te.get(r)?.instances.delete(e);Object.setPrototypeOf(e,t.prototype),Object.defineProperty(e,"constructor",{value:t,writable:!0,configurable:!0}),wt(t),Te.get(t.__hmrId)?.instances.add(e)}function qi(e,t){if(!e||!t)throw Error("__hmrPatch requires a living instance and a replacement constructor");let r=e.constructor?.__hmrId;return uo(e,t),e._hmrRerender(),we("patch",{id:t.__hmrId??r??null}),e}function mo(e){return Object.keys(e).sort().join(",")}function c4(e,t){let n=(Y1?._projectionOwner??Y1)?._hmrOrphans;if(!n||n.length===0)return null;let i=e.__hmrId;if(typeof i!=="string")return null;let s=mo(t),a=null;for(let o of n){if(o._state!=="mounted"||o.constructor.__hmrId!==i||o._hmrPropKeys!==s)continue;if(a)return null;a=o}if(!a||_t(a.constructor,e)!=="patch")return null;if(n.splice(n.indexOf(a),1),a.constructor!==e)uo(a,e);a._hmrRelease();try{a._hmrApplyProps(t)}catch(o){throw a._teardown({state:"failed",hooks:!1,removeDOM:!0}),o}return a._hmrRebindPending=!0,a}function f4(e,t,r={}){let n=new t(r);return Or(e,n),n}function Xi(){if(eo)throw Error("[Rip] the render-gate construction capability is already claimed");return eo=!0,(e,t)=>{let r=_r;_r={brand:oo,component:e,gates:t.gates,parent:t.parent??null,stash:t.stash??null,router:t.router??null,used:!1};try{return new e({})}finally{_r=r}}}function Ar(e){if(!e||e.nodeType===11)return;if(typeof e.remove==="function")e.remove();else if(e.parentNode)e.parentNode.removeChild(e)}function Le(e){let t=Y1;if(e&&e._parent==null&&t&&t!==e)e._parent=t;return Y1=e,t}function de(e){Y1=e}function h4(e,t){if(!Y1)throw Error("setContext must be called during component initialization");if(!Y1._context)Y1._context=new Map;Y1._context.set(e,t)}function po(e,t,r){if(typeof t!=="function")throw Error(r===void 0?`${e}: a context read names its provider — ${e}(Provider, ${JSON.stringify(t)})`:`${e}: the provider named for ${JSON.stringify(r)} is not a component`);let n=typeof t.__hmrId==="string"?t.__hmrId:null,i=Y1,s=new Set;while(i&&!s.has(i)){if(s.add(i),i instanceof t||n!==null&&i.constructor?.__hmrId===n)return i._context!==void 0&&i._context.has(r)?{found:!0,value:i._context.get(r)}:{found:!1,provider:i};i=i._parent}return{found:!1,provider:null}}function u4(e,t){let r=po("getContext",e,t);if(r.found)return r.value;let n=e.name||"the provider";throw Error(r.provider!==null?`getContext: ${n} offers no ${JSON.stringify(t)}`:`getContext: no ${n} above this component — render one around it, or probe with hasContext(${n}, ${JSON.stringify(t)}) where absence is legal`)}function d4(e,t){return po("hasContext",e,t).found}function vr(...e){let t="";for(let r of e){if(!r)continue;if(typeof r==="string")t&&(t+=" "),t+=r;else if(typeof r==="object"){if(Array.isArray(r)){let n=vr(...r);n&&(t&&(t+=" "),t+=n)}else for(let n in r)if(r[n])t&&(t+=" "),t+=n}}return t}function go(e){let t=e.length;if(t===0)return[];let r=[],n=[],i=Array(t).fill(-1);for(let o=0;o>1;if(r[f]0)i[o]=n[l-1]}let s=[],a=n[r.length-1];for(let o=r.length-1;o>=0;o--)s.push(a),a=i[a];return s.reverse(),s}function m4(e,t,r,n,i,s,...a){if(e==null)throw Error("__reconcile: no anchor — the list's create phase never placed one");let o=e.parentNode;if(!o)return;let l=t.keys,c=t.items||[],f=t.blocks,h=l.length,u=r.length,d=Array(u),p=s!=null,m=p?r.map((R,k)=>s(R,k)):r;if(p){let R=new Set;for(let k of m){if(R.has(k))throw Error(`__reconcile: duplicate key ${JSON.stringify(String(k))} — keyed rows need unique keys `+"(the key function must be injective over the items)");R.add(k)}}if(h===0){if(u>0){let R=document.createDocumentFragment();for(let k=0;k=g&&w>=g&&l[S]===m[w]){let R=f[S];if(!R._s)R.p(n,r[w],w,...a);d[w]=R,S--,w--}if(g>w)for(let R=g;R<=S;R++)f[R].d(!0);else if(g>S){let R=w+1=g;A--){let P=d[A];if(!M.has(A-g))P.m(o,L);L=P._first}}t.keys=p?m:r.slice(),t.items=r.slice(),t.blocks=d}var to=!1;function p4(){if(to)return;to=!0;let e=document.createElement("style");e.textContent=[".fade-enter-active,.fade-leave-active{transition:opacity .2s ease}",".fade-enter-from,.fade-leave-to{opacity:0}",".slide-enter-active,.slide-leave-active{transition:opacity .2s ease,transform .2s ease}",".slide-enter-from{opacity:0;transform:translateY(-8px)}",".slide-leave-to{opacity:0;transform:translateY(8px)}",".scale-enter-active,.scale-leave-active{transition:opacity .2s ease,transform .2s ease}",".scale-enter-from,.scale-leave-to{opacity:0;transform:scale(.95)}",".blur-enter-active,.blur-leave-active{transition:opacity .2s ease,filter .2s ease}",".blur-enter-from,.blur-leave-to{opacity:0;filter:blur(4px)}",".fly-enter-active,.fly-leave-active{transition:opacity .2s ease,transform .2s ease}",".fly-enter-from{opacity:0;transform:translateY(-20px)}",".fly-leave-to{opacity:0;transform:translateY(20px)}"].join(""),document.head.appendChild(e)}function g4(e,t,r,n){p4();let i=e.classList,s=t+"-"+r+"-from",a=t+"-"+r+"-active",o=t+"-"+r+"-to",l=!1,c=null;i.add(s,a),requestAnimationFrame(()=>{requestAnimationFrame(()=>{i.remove(s),i.add(o);let f=(u)=>{if(l||u&&u.target!==e)return;if(l=!0,clearTimeout(c),e.removeEventListener("transitionend",f),e.removeEventListener("transitioncancel",f),i.remove(a,o),n)n()};e.addEventListener("transitionend",f),e.addEventListener("transitioncancel",f);let h=0;try{let u=getComputedStyle(e),d=(p)=>Math.max(0,...String(p).split(",").map((m)=>(parseFloat(m)||0)*(/ms\s*$/.test(m.trim())?1:1000)));h=d(u.transitionDuration)+d(u.transitionDelay)}catch{}c=setTimeout(()=>f(),h+50)})})}function b4(e){let t=e!=null&&typeof e==="object"?e.name:null;if(t==="GateFailure"||t==="ComponentFailure")return e;let r=Error(e!=null&&e.message!==void 0?e.message:String(e));r.name="ComponentFailure";let n=e!=null?e.status??e.response?.status:void 0;if(n!==void 0)r.status=n;return r.error=e,r}var Gi=(e,t)=>console.error(`[Rip] ${e} construction failed:`,t);function y4(e){let t=Gi;return Gi=e,t}function S4(e,t){Gi(e,t)}function Ki(e,t){let r=b4(e),n=t,i=new Set;while(n&&!i.has(n)){if(i.add(n),n.onError){let s=Le(n),a=le(n._frame);try{n.onError(r,t);return}catch(o){}finally{q1(a),de(s)}}n=n._parent}throw e}var ro=new WeakSet;function R4(e,t){if(ro.has(e))return;let r=e.__props??[];if(!Array.isArray(r))throw Error(`${e.name||"component"}: static __props must be an array of declared prop names`);for(let n of r){if(typeof n!=="string"||n.length===0)throw Error(`${e.name||"component"}: static __props entries must be non-empty strings`);if(n.startsWith("_"))throw Error(`${e.name||"component"}: declared prop '${n}' collides with component internals — `+"underscore-prefixed names are reserved for the runtime");if(n in t)throw Error(`${e.name||"component"}: declared prop '${n}' collides with a component member (a method or lifecycle slot already answers '${n}')`)}ro.add(e)}function E4(e,t){let n=lo.get(e)?.gates?.[t];if(!n?.cell)throw Error(`[Rip] render gate ${t} has no renderer-resolved source binding — `+"gated components may only be constructed by rip/app createRenderer()");let i=n.value,s=!0;return K1(()=>{if(s)return s=!1,n.cell.read(),i;let a=n.cell.read();for(let o of n.tail){if(a==null)break;a=a[o]}if(a!=null)i=a;return i})}var wr=new WeakMap;function io(e,t,r){if(t.startsWith("--")&&typeof e.setProperty==="function")if(r==null||r==="")e.removeProperty(t);else e.setProperty(t,String(r));else e[t]=r}function bo(e,t){let r=wr.get(e);if(t==null){e.removeAttribute("style"),wr.delete(e);return}if(typeof t!=="object"){e.setAttribute("style",String(t)),wr.delete(e);return}if(r){for(let n of r)if(!(n in t))io(e.style,n,"")}wr.set(e,Object.keys(t));for(let n of Object.keys(t))io(e.style,n,t[n])}var k4=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert","ismap","nomodule","playsinline","default","itemscope","alpha","shadowrootdelegatesfocus","shadowrootclonable","shadowrootserializable"]),no=(e)=>new Proxy(e,{get(t,r){let n=t[r];return n!=null&&typeof n==="object"&&typeof n.read==="function"?n.value:n}});function so(e,t){let r=e.__props??[],n=e.__extends??null,i=null;for(let s of Object.keys(t)){if(s==="children")continue;if(s.startsWith("__bind_")&&s.endsWith("__")){let a=s.slice(7,-2);if(r.includes(a))continue;throw Error(`${e.name||"component"}: cannot bind unknown prop '${a}' — declared `+`props are [${r.join(", ")}]`)}if(r.includes(s))continue;if(n!==null){(i??={})[s]=t[s];continue}throw Error(`${e.name||"component"}: unknown prop '${s}' — declared props are `+`[${r.join(", ")}]`)}return i}class yo{constructor(e={}){let t=c4(this.constructor,e);if(t)return t;this._state="new",this._owner=Y1?._projectionOwner??Y1??null,R4(this.constructor,this);let r=this.constructor.__gates,n=_r,i=n?.brand===oo&&n.component===this.constructor&&n.used!==!0;if(i)n.used=!0;if(r?.length&&!i)throw Error("[Rip] component declares render gates (<~) and cannot be constructed directly or as an embedded child; render gates are honored only by rip/app createRenderer()");if(i){if(lo.set(this,n),n.parent)this._parent=n.parent;if(n.stash!=null)this.stash=n.stash;if(n.router!=null)this.router=n.router,Object.defineProperty(this,"params",{get:()=>n.router.params,configurable:!0}),Object.defineProperty(this,"query",{get:()=>n.router.query,configurable:!0})}if(this.stash==null&&globalThis.__ripStash!=null)this.stash=globalThis.__ripStash;if(this.router==null&&globalThis.__ripRouter!=null)this.router=globalThis.__ripRouter;let s=so(this.constructor,e);if("children"in e)this.children=e.children;if(this.constructor.__hmrId)this._hmrPropKeys=mo(e);if(this.constructor.__extends!=null)this._rest=s??{},this.rest=A1(no(this._rest));this._frame=Tt({nested:!1});let a=Le(this),o=le(this._frame);try{this._init(e)}catch(l){q1(o),de(a),this._teardown({state:"failed",hooks:!1,removeDOM:!0}),this._initFailed=!0,Ki(l,this);return}if(q1(o),de(a),this.constructor.__hmrId)i4(this)}_init(e){}_beginProjection(e){let t={prev:Le(this),owner:this._projectionOwner??null};return this._projectionOwner=e,t}_endProjection(e){this._projectionOwner=e.owner,de(e.prev)}_setChildren(e){let t=this.children;if(t!=null&&typeof t==="object"&&typeof t.read==="function"&&"value"in t){t.value=e;return}this.children=e}_updateProp(e,t){if(this._state==="failed"||this._state==="unmounted")return;let r=this.constructor.__props??[];if(!r.includes(e)){if(this.constructor.__extends){this._setRestProp(e,t);return}throw Error(`${this.constructor.name||"component"}: cannot update unknown prop '${e}' — declared `+`props are [${r.join(", ")}]`)}let n=this[e];if(n&&typeof n==="object"&&"value"in n){n.value=t;return}throw Error(`${this.constructor.name||"component"}: prop '${e}' is non-reactive — parent updates `+"cannot reach it (declare it with ':=' to receive updates)")}_setRestProp(e,t){if(e.startsWith("__bind_"))return;if(this._state==="failed"||this._state==="unmounted")return;if(this._rest||(this._rest={}),t==null)delete this._rest[e];else this._rest[e]=t;this.rest.touch();let r=le(this._frame);try{this._applyInheritedProp(this._inheritedInst??this._inheritedEl,e,t)}finally{q1(r)}}_applyRestToInheritedEl(){if(this._state==="failed"||this._state==="unmounted")return;if(!this._inheritedEl||!this._rest)return;for(let e in this._rest)this._applyInheritedProp(this._inheritedEl,e,this._rest[e])}_applyInheritedProp(e,t,r){if(this._state==="failed"||this._state==="unmounted")return;if(!e||t==="key"||t==="ref"||t==="children"||t.startsWith("__bind_"))return;if(this._inheritedOwn?.has(t))return;let n=this._restWriters?.[t];if(n){if(n(),this._frame)this._frame.remove(n);delete this._restWriters[t]}if(r!=null&&typeof r==="object"&&typeof r.read==="function"){(this._restWriters??={})[t]=x1(()=>{this._applyPlainInheritedProp(e,t,r.value)});return}this._applyPlainInheritedProp(e,t,r)}_applyPlainInheritedProp(e,t,r){if(typeof e._updateProp==="function"){if(e._state==="failed"||e._state==="unmounted")return;e._updateProp(t,r);return}let n=e;if(t[0]==="@"){let i=t.slice(1).split(".")[0];this._restHandlers||(this._restHandlers={});let s=this._restHandlers[t];if(s)n.removeEventListener(i,s);if(typeof r==="function"){let a=(o)=>M1(()=>r(o));this._restHandlers[t]=a,n.addEventListener(i,a)}else delete this._restHandlers[t];return}if(t==="class"||t==="className"){if(n instanceof SVGElement)n.setAttribute("class",vr(r));else n.className=vr(r);return}if(t==="style"){bo(n,r);return}if(t==="innerHTML"||t==="textContent"||t==="innerText"||t==="value"){n[t]=r??"";return}if(t==="checked"){n.checked=!!r;return}if(k4.has(t)){n.toggleAttribute(t,!!r);return}if(r==null)n.removeAttribute(t);else n.setAttribute(t,r)}_beginMount(){if(this._state==="new"){this._state="mounting";return}let e=this.constructor.name||"component";if(this._state==="mounting")throw Error(`${e}: cannot mount an instance whose mount is already in progress`);if(this._state==="mounted")throw Error(`${e}: cannot mount an already-mounted instance — construct a new instance for another target`);if(this._state==="failed")throw Error(`${e}: cannot mount a failed instance — its mount rolled back; construct a new instance`);throw Error(`${e}: cannot mount an unmounted instance — its effects were disposed on unmount; construct a new instance`)}_mountCreate(){if(this._beginMount(),this._hmrRebindPending){if(this._hmrRebindPending=!1,!this._hmrRebind())return!1}let e=Le(this),t=le(this._frame),r=null,n=!1;try{this._root=this._create()}catch(i){r=i,n=!0}finally{q1(t),de(e)}if(n)return this._failMount(r),!1;return!0}_mountSetup(e=null){if(this._state!=="mounting")return this._nodes?.[0]??this._root;let t=Le(this),r=le(this._frame),n=null,i=!1;try{if(e){let s=this._nodes?.[0]??this._root;if(s?.parentNode)s.parentNode.insertBefore(e,s)}if(this.beforeMount)this.beforeMount();if(this._setup)this._setup();if(this.mounted)this.mounted();this._state="mounted",Ar(e),this._hmrDrainOrphans((s,a)=>console.error(`[Rip] ${s} error:`,a))}catch(s){n=s,i=!0}finally{q1(r),de(t)}if(i)return this._failMount(n),e;return this._nodes?.[0]??this._root}_failMount(e){this._teardown({state:"failed",hooks:!1,removeDOM:!0}),Ki(e,this)}_dispose(e,t){if(this._children){for(let r of this._children)try{t(r)}catch(n){e("child teardown",n)}this._children=null}try{this._frame?.dispose()}catch(r){e("owner disposal",r)}if(this._restWriters){for(let r of Object.values(this._restWriters))try{r()}catch(n){e("rest writer cleanup",n)}this._restWriters=null}if(this._restHandlers){if(this._inheritedEl)for(let[r,n]of Object.entries(this._restHandlers))try{this._inheritedEl.removeEventListener(r.slice(1).split(".")[0],n)}catch(i){e("rest handler cleanup",i)}this._restHandlers=null}if(this._refCleanups){let r=this._refCleanups;this._refCleanups=null;try{M1(()=>{for(let n of r)try{n()}catch(i){e("ref cleanup",i)}})}catch(n){e("ref cleanup batch flush",n)}}this._children=null,this._refCleanups=null,this._restWriters=null,this._restHandlers=null}_detachDOM(e,t){if(t)if(this._nodes)for(let r of this._nodes)try{Ar(r)}catch(n){e("DOM detach",n)}else try{Ar(this._root)}catch(r){e("DOM detach",r)}this._root=null,this._nodes=null,this._inheritedEl=null,this._inheritedInst=null,this._inheritedOwn=null}_teardown({state:e,hooks:t,removeDOM:r}){if(this._state==="failed"||this._state==="unmounted")return;if(this.constructor.__hmrId)n4(this);this._state=e;let n=(i,s)=>console.error(`[Rip] ${i} error:`,s);if(this._hmrDrainOrphans(n),t)try{if(this.beforeUnmount)this.beforeUnmount()}catch(i){n("beforeUnmount",i)}if(this._dispose(n,(i)=>{if(t)i.unmount({removeDOM:r});else i._teardown({state:i._state==="mounted"?"unmounted":"failed",hooks:!1,removeDOM:!0})}),t)try{if(this.unmounted)this.unmounted()}catch(i){n("unmounted",i)}this._detachDOM(n,r),this._target=null}_hmrRelease(){let e=(t,r)=>console.error(`[Rip] ${t} error:`,r);try{if(this.beforeUnmount)this.beforeUnmount()}catch(t){e("beforeUnmount",t)}this._hmrOrphans=[],this._hmrReleasing=!0;try{this._dispose(e,(t)=>t.unmount({removeDOM:!0}))}finally{this._hmrReleasing=!1}this._detachDOM(e,!0),this._frame=Tt({nested:!1}),this._state="new"}_hmrRebind(){let e=(n,i)=>console.error(`[Rip] ${n} error:`,i),t=Le(this),r=le(this._frame);try{if(typeof this._hmrRefreshComputeds==="function")this._hmrRefreshComputeds();if(typeof this._hmrBindEffects==="function")this._hmrBindEffects()}catch(n){return q1(r),de(t),e("hmr rebind",n),this._failMount(n),!1}return q1(r),de(t),!0}_hmrApplyProps(e){let t=so(this.constructor,e);if("children"in e)this.children=e.children;for(let r of this.constructor.__props??[]){let n=`__bind_${r}__`;if(n in e){this[r]=e[n];continue}if(!(r in e))continue;let i=e[r];if(i!=null&&typeof i==="object"&&typeof i.read==="function")this[r]=i;else this._updateProp(r,i)}if(this.constructor.__extends!=null)this._rest=t??{},this.rest.value=no(this._rest)}_hmrDrainOrphans(e){let t=this._hmrOrphans;if(!t)return;this._hmrOrphans=null;for(let r of t)try{r.unmount({removeDOM:!0})}catch(n){e("orphan teardown",n)}}_hmrRerender(){let e=this.constructor.name||"component";if(this._state!=="mounted")throw Error(`${e}: _hmrRerender requires a mounted instance`);let t=this._target,r=this._nodes,i=(r?.[0]??this._root)?.parentNode??null,s=r?.length?r[r.length-1].nextSibling:this._root?this._root.nextSibling:null;if(this._hmrRelease(),!this._hmrRebind())return this;if(typeof this._create!=="function")return this._state="mounted",this._hmrDrainOrphans((a,o)=>console.error(`[Rip] ${a} error:`,o)),this;if(!this._mountCreate())return this;try{let a=i&&i.nodeType!==11?i:null;if(a&&a.isConnected===!1)a=null;if(!a&&typeof t==="string"&&typeof document<"u")a=document.querySelector(t);else if(!a&&t&&t.nodeType!==11&&t.isConnected!==!1)a=t;else if(!a&&typeof document<"u")a=document.querySelector("#content")||document.querySelector("#app");if(a){let o=s&&(typeof a.contains!=="function"||a.contains(s))?s:null;if(this._nodes)for(let l of this._nodes)a.insertBefore(l,o);else if(this._root)a.insertBefore(this._root,o);this._target=a.nodeType===11?null:a}}catch(a){return this._failMount(a),this}return this._mountSetup(),this}mount(e){if(!this._mountCreate())return this;try{if(typeof e==="string")e=document.querySelector(e);if(this._target=e,this._root)e.appendChild(this._root)}catch(t){return this._failMount(t),this}return this._mountSetup(),this}unmount({removeDOM:e=!0}={}){if(this._state==="failed"||this._state==="unmounted")return;if(this._state==="mounted"&&this._owner?._hmrReleasing){this._owner._hmrOrphans.push(this);return}if(this._state==="mounting")throw Error(`${this.constructor.name||"component"}: cannot unmount while mounting`);this._teardown({state:"unmounted",hooks:this._state==="mounted",removeDOM:e})}emit(e,t){if(this._state!=="mounted"||!this._root)throw Error(`${this.constructor.name||"component"}: emit('${e}') outside the mounted window — `+"emit dispatches on the live root; call after mount and before unmount");(this._nodes?.[0]??this._root).dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0}))}static mount(e="body"){return new this().mount(e)}}var Jr={};Fe(Jr,{ariaCurrent:()=>Ur,browserAdapter:()=>jr,buildRoutes:()=>Ct,check:()=>Xr,connectFeed:()=>zr,createApply:()=>qr,createComponents:()=>Pr,createMutation:()=>vo,createRenderer:()=>Fr,createRouter:()=>Mr,createStash:()=>xr,createWorkspace:()=>Kr,currentRouter:()=>B4,currentStash:()=>F4,debounce:()=>Oo,delay:()=>Cr,hold:()=>$o,interceptClicks:()=>Vr,launch:()=>Hr,ownsAnchor:()=>Lt,parseQuery:()=>Ze,persistStash:()=>Br,preloadLinks:()=>Wr,rash:()=>Mt,source:()=>Eo,throttle:()=>Io,unwrapStash:()=>_e,validatePrepared:()=>gn});var $r,Ji,So,Ro=Symbol.for("rip.source"),Zi=Symbol.for("rip.source.family"),T4=64,w4=30000,_4=/^(\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)$/;function C1(e){return e!=null&&(typeof e==="object"||typeof e==="function")&&(e[Ro]===!0||e[Zi]===!0)}function me(e){return e!=null&&typeof e==="function"&&e[Zi]===!0}So=function(e){let t,r;if(e==null)return 0;if(typeof e==="number"){if(!(Number.isFinite(e)&&e>=0))throw TypeError('Rip App: source staleTime must be a non-negative finite number, a duration string, or "forever"');return e}if(typeof e==="string"){if(e==="forever")return 1/0;if(r=e.match(_4),r)return t=parseFloat(r[1]),(()=>{switch(r[2][0]){case"s":return t*1000;case"m":return t*60000;case"h":return t*3600000;case"d":return t*86400000;case"w":return t*604800000;case"y":return t*31536000000}})()}throw TypeError('Rip App: source staleTime must be a non-negative number, a duration such as "5 min", or "forever"')};$r=function(e,t,r=null){let n=A1(null),i=A1(!1),s=A1(null),a=0,o=null,l=null,c=!1,f=!1,h=!1,u=0,d=0,p=async function(S=!1,w=!1){let R,k;o?.abort(),o=typeof AbortController<"u"?new AbortController:null;let j=++a;if(!S)i.value=!0;let M=h;try{if(R=e(o?.signal),!(R!=null&&typeof R.then==="function"))throw TypeError("Rip App: source fetch must return a Promise");if(k=await R,j!==a)return k;return s.value=null,n.value=k,h=!0,u=Date.now(),d=w&&!f?u+w4:0,k}catch(L){if(j!==a)return;if(L?.name==="AbortError")return;if(s.value=L,!M)throw h=!1,u=0,L;return}finally{if(j===a)i.value=!1,l=null,c=!1,f=!1,r?.()}},m=function(S=!1,w=!1){let R=p(S,w);return l=R,c=w,f=!1,R},g=function(){return t===1/0||Date.now()-uT4){o=!1;for(let[l,c]of r){if(l===a)continue;if(c.loading)continue;r.delete(l),c.reset(),o=!0;break}if(!o)break}return},i=function(a){if(a==null)throw TypeError("Rip App: keyed source requires a key");let o=N4(a),l=r.get(o);if(l)return r.delete(o),r.set(o,l),l;return l=$r(function(c){return e(a,c)},t,n),r.set(o,l),n(o),l},s=function(a){return i(a).read()};return s[Zi]=!0,s.cellFor=i,s.reset=function(){let a=Array.from(r.values());r.clear();for(let o of a)o.reset();return},s};function Eo(e){if(!(e!=null&&typeof e==="object"&&!Array.isArray(e)))throw TypeError("Rip App: source expects an options object");if(typeof e.fetch!=="function")throw TypeError("Rip App: source options require a fetch function");let t=So(e.staleTime);if(Object.prototype.hasOwnProperty.call(e,"kind")){if(!(e.kind==="singleton"||e.kind==="keyed"))throw TypeError("Rip App: source kind must be 'singleton' or 'keyed'");if(e.kind==="singleton"){if(e.fetch.length>1)throw TypeError("Rip App: singleton source fetch accepts at most one AbortSignal parameter");return $r(e.fetch,t)}if(e.fetch.length<1||e.fetch.length>2)throw TypeError("Rip App: keyed source fetch requires a key parameter and accepts one optional AbortSignal parameter");return Ji(e.fetch,t)}if(e.fetch.length>1)throw TypeError("Rip App: inferred source fetch accepts no parameters for a singleton or one key parameter for a keyed family");return e.fetch.length===1?Ji(e.fetch,t):$r(e.fetch,t)}var nn,It,Qi,vt,$1=Symbol("rip.app.stash.raw"),Ye=Symbol("rip.app.stash.signals"),A4=Symbol("rip.app.stash.keys"),wo=Symbol("rip.app.stash.defaults"),v4=Symbol.for("rip.app.stash.purge"),_o=new WeakMap,O4=0,sn=A1(0),en=function(){return sn.value++},No=function(e,t){let r=e[Ye];if(!r)r=new Map,Object.defineProperty(e,Ye,{value:r});let n=r.get(t);if(!n)n=A1(e[t]),r.set(t,n);return n},Ot=function(e){return No(e,A4)},tn=function(e){Ot(e).value=++O4;return};It=function(e){if(!(e!=null&&typeof e==="object"))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Array.isArray(e)};var ko=function(e){if(!It(e))return e;let t=_o.get(e);if(t)return t;return nn(e)},ze=function(e,t){let r=e?.[$1];if(!r)return e[t];let n=r[t];if(C1(n)){if(me(n))return n;return ko(n.read())}return ko(No(r,t).value)},rn=function(e,t,r){let n,i,s,a,o=e?.[$1];if(!o)return e[t]=r,r;if(Array.isArray(o)&&t==="length"){if(a=o.length,s=+r,o.length=s,s!==a){if(o[Ye]){for(let h=Math.min(a,s),u=Math.max(a,s);h0))throw TypeError("Rip App: stash path must be a non-empty string");let s=[],a=0;if(e[0]!=="["){i=a;while(a=e.length||a===i)throw TypeError(`Rip App: malformed stash path '${e}'`);if(r=e.slice(i,a),a++,e[a]!=="]")throw TypeError(`Rip App: malformed stash path '${e}'`);a++,s.push(r)}else{i=a;while(a{let n=[];for(let i in r){if(!Object.hasOwn(r,i))continue;let s=r[i];n.push(Qi(s,t))}return n})()};vt=function(e){if(!It(e))return e;let t=e[$1]?e[$1]:e;if(Array.isArray(t))return(()=>{let n=[];for(let i of t)if(!C1(i))n.push(vt(i));return n})();let r={};for(let n in t){if(!Object.hasOwn(t,n))continue;let i=t[n];if(C1(i))continue;r[n]=vt(i)}return r};function Ao(e){let t=e?.[$1]?e[$1]:e;if(!(t!=null&&typeof t==="object"))return;Object.defineProperty(t,wo,{value:vt(t),configurable:!0});return}function Dr(e){if(C1(e))return e;if(!It(e))return e;let t=e[$1]?e[$1]:e;if(Array.isArray(t))return(()=>{let n=[];for(let i of t)n.push(Dr(i));return n})();let r={};for(let n in t){if(!Object.hasOwn(t,n))continue;let i=t[n];Object.defineProperty(r,n,{value:Dr(i),writable:!0,enumerable:!0,configurable:!0})}return r}function Je(e,t){let r,n,i;if(!(e!=null&&typeof e==="object"))return;if(!(t!=null&&typeof t==="object"))return;let s=e[$1]?e[$1]:e;for(let a in t){if(!Object.hasOwn(t,a))continue;let o=t[a];if(r=Object.prototype.hasOwnProperty.call(s,a)?s[a]:void 0,C1(r))continue;if(Array.isArray(r)&&r.some(function(l){return C1(l)}))continue;if(n=r!=null&&typeof r==="object"&&!Array.isArray(r),i=o!=null&&typeof o==="object"&&!Array.isArray(o),n&&i)Je(e[a],o);else e[a]=vt(o)}return}var D4=function(e,t){let r,n=t[wo];if(!n)return;r=function(i,s,a){let o;for(let l in s){if(!Object.hasOwn(s,l))continue;if(o=s[l],C1(o))continue;if(!(a!=null&&Object.prototype.hasOwnProperty.call(a,l))){delete i[l];continue}if(o!=null&&typeof o==="object"&&!Array.isArray(o))r(i[l],o,a[l])}return},r(e,t,n),Je(e,n);return},x4={inc:!0,dec:!0,flip:!0,join:!0,keys:!0,has:!0,del:!0,peek:!0,reset:!0,source:!0},C4=function(e,t,r){if(r==="inc")return function(n,i=1){let s=(Me(e,n)??0)+i;return At(e,n,s),s};if(r==="dec")return function(n,i=1){let s=(Me(e,n)??0)-i;return At(e,n,s),s};if(r==="flip")return function(n){let i=!(Me(e,n)??!1);return At(e,n,i),i};if(r==="join")return function(n,i){if(!(i!=null&&typeof i==="object"&&!Array.isArray(i)))throw TypeError("Rip App: join expects a plain object");M1(function(){let s=Me(e,n);if(!(s!=null&&typeof s==="object"&&!Array.isArray(s)))At(e,n,{}),s=Me(e,n);return(()=>{let a=[];for(let o in i){if(!Object.hasOwn(i,o))continue;let l=i[o];a.push(s[o]=l)}return a})()});return};if(r==="keys")return function(n){let i=n!=null?Me(e,n):e;if(!(i!=null&&typeof i==="object"))return[];let s=i[$1]?i[$1]:i;return Ot(s).value,Object.keys(s)};if(r==="has")return function(n){let i,s,a=qe(n);if(!(a.length>0))return!1;let o=e;for(let l=0;l0))return;let a=e;for(let o=0;o0))throw TypeError("Rip App: component path must be a non-empty string");let t=e.split("/"),r=t.some(function(s){return!s||s==="."||s===".."}),n=t.at(-1),i=t.slice(0,-1).some(function(s){return s.endsWith(".rip")});if(e.includes("\\")||r||i||n===".rip"||!n.endsWith(".rip"))throw TypeError(`Rip App: invalid component path '${e}'`);return e};an=function(e){if(typeof e!=="string")throw TypeError("Rip App: component source must be a string");return e};on=function(e){if(e===""||e==null)return"";if(typeof e!=="string")throw TypeError("Rip App: component directory must be a string");let t=e.split("/");if(e.includes("\\")||t.some(function(r){return!r||r==="."||r===".."}))throw TypeError(`Rip App: invalid component directory '${e}'`);return e};function Pr(){let e=new Map,t=new Map,r=new Set,n=function(s,a){let o=[];for(let l of Array.from(r))o.push((()=>{try{return l(s,a)}catch(c){return console.error("[Rip] component watcher error:",c)}})());return o};return{read(s){return e.get(Ne(s))},write(s,a){s=Ne(s),a=an(a);let o=e.has(s)?"change":"create";e.set(s,a),t.delete(s),n(o,s);return},del(s){s=Ne(s),e.delete(s),t.delete(s),n("delete",s);return},exists(s){return e.has(Ne(s))},size(){return e.size},list(s=""){let a;s=on(s);let o=s?s+"/":"",l=[];for(let[c]of e)if(c.startsWith(o)){if(a=c.slice(o.length),!a.includes("/"))l.push(c)}return l},listAll(s=""){s=on(s);let a=s?s+"/":"",o=[];for(let[l]of e)if(l.startsWith(a))o.push(l);return o},load(s){let a,o;if(!(s!=null&&typeof s==="object"&&!Array.isArray(s)))throw TypeError("Rip App: component load expects a source object");for(let l in s){if(!Object.hasOwn(s,l))continue;let c=s[l];l=Ne(l),c=an(c),e.set(l,c),t.delete(l)}return},watch(s){if(typeof s!=="function")throw TypeError("Rip App: component watch expects a function");r.add(s);let a=!1;return function(){if(a)return;a=!0,r.delete(s);return}},getCompiled(s){return t.get(Ne(s))},setCompiled(s,a){if(s=Ne(s),!(a!=null&&typeof a==="object"&&!Array.isArray(a)))throw TypeError("Rip App: compiled component module must be an object");t.set(s,a);return}}}var xo,Co,P1,cn,Po,Lo,Mo,ln=/^\w+$/,jo={static:0,dynamic:1,optional:2,catchall:3},Do=8;P1=function(e){throw Error(`Rip App: ${e}`)};var xt=function(e){try{return decodeURIComponent(e)}catch(t){return null}};Mo=function(e){if(e==="")return"";if(typeof e!=="string")throw TypeError("Rip App: route root must be a string");let t=e.split("/");if(e.includes("\\")||t.some(function(r){return!r||r==="."||r===".."}))throw TypeError(`Rip App: invalid route root '${e}'`);return e};var Fo=function(e,t){let r;if(r=/^\[\[(.+)\]\]$/.exec(e)){if(!ln.test(r[1]))P1(`invalid optional segment '${e}' in '${t}'`);return{kind:"optional",name:r[1]}}else if(r=/^\[\.\.\.(.+)\]$/.exec(e)){if(!ln.test(r[1]))P1(`invalid catch-all segment '${e}' in '${t}'`);return{kind:"catchall",name:r[1]}}else if(e.startsWith("[..."))return P1(`invalid catch-all segment '${e}' in '${t}'`);else if(r=/^\[(.+)\]$/.exec(e)){if(!ln.test(r[1]))P1(`invalid dynamic segment '${e}' in '${t}'`);return{kind:"dynamic",name:r[1]}}else if(/^\(.+\)$/.test(e))return{kind:"group"};else if(e.includes("[")||e.includes("]"))return P1(`invalid segment '${e}' in '${t}': markers claim a whole segment`);else return{kind:"static",text:e}};xo=function(e){let t,r=(()=>{let h=[];for(let u of e.slice(0,-4).split("/"))h.push(Fo(u,e));return h})();if(r[r.length-1].kind==="group")P1(`route file name cannot be a group segment: '${e}'`);let n=r.filter(function(h){return h.kind!=="group"});for(let h=0;hDo)P1(`more than ${Do} optional segments in '${e}'`);let o="",l=[],c=[{shape:"",display:""}];for(let h of n)switch(l.push(jo[h.kind]),h.kind){case"static":t="/"+h.text,o+=t,c=c.map(function(u){return{shape:u.shape+t,display:u.display+t}});break;case"dynamic":o+=`/:${h.name}`,c=c.map(function(u){return{shape:u.shape+"/:",display:`${u.display}/:${h.name}`}});break;case"optional":o+=`/:${h.name}?`,c=c.flatMap(function(u){return[u,{shape:u.shape+"/:",display:`${u.display}/:${h.name}`}]});break;case"catchall":o+=`/*${h.name}`,c=c.map(function(u){return{shape:u.shape+"/*",display:`${u.display}/*${h.name}`}});break}if(o==="")o="/";if(new Set(c.map(function(h){return h.shape||"/"})).size{let l=[];for(let c of e)l.push(Fo(c,t));return l})().filter(function(l){return l.kind!=="group"});for(let l of n)if(l.kind==="optional"||l.kind==="catchall")P1(`not-found page under an optional or catch-all segment: '${t}'`);let i=[];for(let l of n)if(l.name!=null){if(i.includes(l.name))P1(`duplicate parameter name '${l.name}' in '${t}'`);i.push(l.name)}let s="",a="",o=[];for(let l of n)if(o.push(jo[l.kind]),l.kind==="static")s+="/"+l.text,a+="/"+l.text;else s+=`/:${l.name}`,a+="/:";return{pattern:s+"/*",shape:a+"/*",parts:n,ranks:o}};Po=function(e,t){let r;return r=function(n,i){let s,a,o,l;if(n===e.length)return i===t.length?[]:null;let c=e[n];return(()=>{switch(c.kind){case"static":if(!(if.length))continue;if(a=k.slice(f.length),l=a.split("/"),s=l.some(function(j){return!j||j==="."||j===".."}),a.includes("\\")||s||l.at(-1)===".rip")throw TypeError(`Rip App: invalid route file path '${k}'`);if(l.at(-1)==="_layout.rip"){h.set(l.slice(0,-1).join("/"),k);continue}if(l.at(-1)==="_404.rip"){if(l.slice(0,-1).some(function(j){return j.startsWith("_")}))continue;u.push({...Co(l.slice(0,-1),a),rel:a,file:k});continue}if(l.some(function(j){return j.startsWith("_")}))continue;if(!a.endsWith(".rip"))throw TypeError(`Rip App: route files must be .rip sources: '${k}'`);d.push({...xo(a),rel:a,file:k})}let p=new Map;for(let k of[...d].sort(function(j,M){return j.relj.pattern)return 1;return 0});let m=new Map;for(let k of[...u].sort(function(j,M){return j.relj.pattern)return 1;return 0});let g=d.map(function(k){return{route:Object.freeze({pattern:k.pattern,file:k.file,layouts:Object.freeze(cn(k.rel,h))}),parts:k.parts}}),b=u.map(function(k){return{route:Object.freeze({pattern:k.pattern,file:k.file,layouts:Object.freeze(cn(k.rel,h))}),parts:k.parts}}),S=function(k){if(typeof k!=="string")throw TypeError("Rip App: route match expects a path string");if(!k.startsWith("/"))return null;while(k.length>1&&k.endsWith("/"))k=k.slice(0,-1);return k==="/"?[]:k.slice(1).split("/")},w=function(k){let j;if(l=S(k),!l)return null;for(let M of g){if(j=Po(M.parts,l),!j)continue;return{route:M.route,params:Object.fromEntries(j)}}return null},R=function(k){let j;if(l=S(k),!l)return null;for(let M of b){if(j=Lo(M.parts,l),!j)continue;return{route:M.route,params:Object.fromEntries(j)}}return null};return Object.freeze({routes:Object.freeze(g.map(function(k){return k.route})),match:w,notFound:R})}function Ze(e){if(typeof e!=="string")throw TypeError("Rip App: parseQuery expects a query string");return Object.fromEntries(new URLSearchParams(e))}var z1,fn,Bo,Lr;z1=function(e){let t=e.indexOf("#"),r=t>=0?e.slice(t+1):"",n=t>=0?e.slice(0,t):e,i=n.indexOf("?"),s=i>=0?n.slice(i+1):"";return{path:i>=0?n.slice(0,i):n,query:s,hash:r}};fn=function(e,t){let r=Object.keys(t);return r.length===Object.keys(e).length&&r.every(function(i){return e[i]===t[i]})?e:t};Lr=function(e){if(!(e!=null&&typeof e.match==="function"&&Array.isArray(e.routes)))throw TypeError("Rip App: createRouter requires a route manifest");return e};Bo=function(e){if(e===""||e==null)return"";if(!(typeof e==="string"&&e.startsWith("/")&&!e.endsWith("/")))throw TypeError(`Rip App: invalid router base '${e}'`);return e};function Mr(e){let t,{routes:r,adapter:n,onError:i}=e??{};if(!(r!=null&&(typeof r==="function"||typeof r.match==="function"&&Array.isArray(r.routes))))throw TypeError("Rip App: createRouter requires a route manifest or manifest thunk");for(let N of["read","push","replace","go","listen"])if(typeof n?.[N]!=="function")throw TypeError(`Rip App: router adapter requires a ${N} function`);let s=Bo(e?.base),a=e?.hash===!0;if(s&&a)throw TypeError("Rip App: a base path does not apply in hash mode");let o=typeof r==="function"?Lr(r()):Lr(r),l=new Set,c=null,f=A1(null),h=A1(null),u=A1({}),d=A1({}),p=A1(""),m=Cr(100,A1(!1)),g=K1(function(){let N=h.value;if(!N)return null;return{route:N,layouts:N.layouts,params:u.value,query:d.value}}),b=function(N){if(!s)return N;if(N===s)return"/";if(N.startsWith(s+"/"))return N.slice(s.length);return null},S=function(N){if(!s)return N;return N==="/"?s:s+N},w=function(N){return a?n.read().split("#")[0]+"#"+N:S(N)},R=function(N){return i?.({status:404,path:N}),!1},k=0,j=function(N){return typeof N==="string"&&!N.startsWith("//")&&!N.includes("\\")},M=function(N){if(!j(N))return null;return o.match(N)},L=function(N){if(!j(N))return null;return o.match(N)??o.notFound?.(N)??null},A=function(N,F,J,x){let e1=fn(u.value,N.params),U=fn(d.value,Ze(J));M1(function(){return f.value=F,h.value=N.route,u.value=e1,d.value=U,p.value=x});let i1={path:F,route:N.route,params:e1,query:U,hash:x};k+=1;try{for(let q of Array.from(l))try{q(i1)}catch(s1){console.error("[Rip] router onNavigate error:",s1)}}finally{k-=1}return!0},P=function(){if(k>=10)throw Error("Rip App: navigation loop — ten nested navigations from onNavigate")},v=function(){let N,F,J,x,e1,U=n.read();if(a){if(N=U.indexOf("#"),J=N>=0?U.slice(N+1):"/",J==="")J="/";({path:x,query:e1,hash:F}=z1(J))}else if({path:x,query:e1,hash:F}=z1(U),x=b(x),x==null)return R(z1(U).path);let i1=L(x);if(!i1)return R(x);return A(i1,x,e1,F)},V=null,H=null,G=function(){V=null;let N=n.readState?.()??{};return n.replace(n.read(),{...N,__ripScroll:n.scroll?.save?.()??null})},T=function(){return!V?V=setTimeout(G,100):void 0};return t={init(){if(c)return t;return v(),c=n.listen(function(){if(!v())return;let N=n.readState?.();return n.scroll?.restore?.(N?.__ripScroll??null)}),H=n.scroll?.watch?.(T)??null,t},push(N,F={}){P();let{path:J,query:x,hash:e1}=z1(N),U=L(J);if(!U)return R(J);let i1=n.scroll?.save?.()??null,q=n.readState?.()??{};if(n.replace(n.read(),{...q,__ripScroll:i1}),n.push(w(N),null),A(U,J,x,e1),!F.noScroll)n.scroll?.top?.();return!0},replace(N,F={}){P();let{path:J,query:x,hash:e1}=z1(N),U=L(J);if(!U)return R(J);let i1=n.readState?.()??{};if(n.replace(w(N),{...i1,__ripScroll:null}),A(U,J,x,e1),!F.noScroll)n.scroll?.top?.();return!0},back(){return n.go(-1)},forward(){return n.go(1)},match(N){let{path:F,query:J,hash:x}=z1(N),e1=M(F);if(!e1)return null;return{route:e1.route,params:e1.params,query:Ze(J),hash:x}},claims(N){let F,J,x,e1,U;if(!(typeof N==="string"&&N.length>0))return null;if(a){if(F=N.indexOf("#"),F<0)return null;if(x=N.slice(F+1),x==="")x="/";({path:e1,query:U,hash:J}=z1(x))}else{if(!N.startsWith("/"))return null;if({path:e1,query:U,hash:J}=z1(N),e1=b(e1),e1==null)return null}let i1=M(e1);if(!i1)return null;let q=e1+(U?"?"+U:"")+(J?"#"+J:"");return{path:e1,url:q,route:i1.route,params:i1.params,query:Ze(U),hash:J}},onNavigate(N){if(typeof N!=="function")throw TypeError("Rip App: onNavigate expects a function");return l.add(N),function(){return l.delete(N)}},rebuild(){let N,F,J,x,e1;if(o=typeof r==="function"?Lr(r()):o,!c)return;let U=n.read();if(a){if(N=U.indexOf("#"),J=N>=0?U.slice(N+1):"/",J==="")J="/";({path:x,query:e1,hash:F}=z1(J))}else if({path:x,query:e1,hash:F}=z1(U),x=b(x),x==null)return R(z1(U).path);let i1=L(x);if(!i1)return R(x);let q=h.value,s1=q?.layouts??[],I=i1.route.layouts??[],c1=s1.length===I.length&&s1.every(function(O,D){return O===I[D]});if(q?.file===i1.route.file&&c1&&f.value===x)return;A(i1,x,e1,F);return},destroy(){if(c?.(),c=null,H?.(),H=null,V)clearTimeout(V);V=null;return}},Object.defineProperty(t,"current",{get(){return g.value}}),Object.defineProperty(t,"path",{get(){return f.value}}),Object.defineProperty(t,"hash",{get(){return p.value}}),Object.defineProperty(t,"params",{get(){return u.value}}),Object.defineProperty(t,"query",{get(){return d.value}}),Object.defineProperty(t,"navigating",{get(){return m.value},set(N){return m.value=N}}),t}function jr(){if(typeof window>"u"||window.history==null||window.location==null)throw Error("Rip App: browserAdapter requires a browser environment");window.history.scrollRestoration="manual";let e=function(r){return window.requestAnimationFrame?window.requestAnimationFrame(r):setTimeout(r,16)},t=0;return{read(){return window.location.pathname+window.location.search+window.location.hash},readState(){return window.history.state},push(r,n){return window.history.pushState(n,"",r)},replace(r,n){return window.history.replaceState(n,"",r)},go(r){return window.history.go(r)},listen(r){return window.addEventListener("popstate",r),function(){return window.removeEventListener("popstate",r)}},scroll:{save(){return{x:window.scrollX,y:window.scrollY}},restore(r){let n;if(r==null)return;let i=++t,s=r.x||0,a=r.y||0,o=0;n=function(){if(i!==t)return;let l=Math.max(0,(window.document?.documentElement?.scrollHeight||0)-window.innerHeight);return window.scrollTo(s,Math.min(a,l)),o+=1,a>l&&o<20?e(n):void 0},e(n);return},top(){return t+=1,window.scrollTo(0,0)},watch(r){return window.addEventListener("scroll",r,{passive:!0}),function(){return window.removeEventListener("scroll",r)}}}}}var hn,Uo,je;Uo=Xi();je=function(e,t,r,n=null){let i=n??r?.message??String(r),s=Error(i);return s.name="GateFailure",s.status=r?.status??r?.response?.status??500,s.path=e,s.file=t,s.error=r,s};hn=function(e,t){let r=e.getCompiled(t);if(!(r!=null&&typeof r==="object"))throw Error(`Rip App: no precompiled component module for '${t}'`);let n=function(s){return typeof s==="function"&&typeof s.prototype?.mount==="function"};if(n(r.default))return r.default;let i=[];for(let s in r){let a=r[s];if(s==="default")continue;if(n(a))i.push(a)}if(i.length!==1)throw Error(`Rip App: precompiled module '${t}' must export exactly one component class`);return i[0]};function Fr(e){let t;if(!(e!=null&&typeof e==="object"))throw TypeError("Rip App: createRenderer expects an options object");let{router:r,stash:n,components:i,target:s,onError:a}=e;if(!(r!=null&&typeof r==="object"))throw TypeError("Rip App: createRenderer requires a router object");if(!(n!=null&&_e(n)!==n))throw TypeError("Rip App: createRenderer requires a stash built by createStash");if(!(i!=null&&typeof i.getCompiled==="function"))throw TypeError("Rip App: createRenderer requires a component registry");if(!(s!=null&&typeof s.appendChild==="function"))throw TypeError("Rip App: createRenderer requires a target with appendChild()");if(a!=null&&typeof a!=="function")throw TypeError("Rip App: createRenderer onError must be a function");let o=[],l=null,c=0,f=null,h=[],u=null,d=null,p=null,m=!1,g=function(D,W){let Y=Object.keys(D);return Y.length===Object.keys(W).length&&Y.every(function(r1){return D[r1]===W[r1]})},b=function(D,W){return D.length===W.length&&D.every(function(Y,r1){return W[r1]===Y})},S=function(D){let W=_e(n),Y=D.split(".");for(let r1=0;r1",B.file,`Rip App: ${B.file} static __gates must be an array`);for(let n1=0;n10))throw w(String(u1),B.file,`Rip App: ${B.file} has a malformed render gate path`);if(h1!=null&&typeof h1!=="function")throw w(u1,B.file,`Rip App: gate '${u1}' has a non-function key`);if(b1=S(u1),!b1)throw w(u1,B.file,`Rip App: gate '${u1}' does not resolve to a source`);if(r1=b1.cell,me(r1)){if(!h1)throw w(u1,B.file,`Rip App: gate '${u1}' is keyed and requires a key function`);try{f1=h1(W,Y),r1=r1.cellFor(f1)}catch(z){throw Q=z,je(u1,B.file,Q,`Rip App: gate '${u1}' key failed: ${Q.message}`)}}else if(h1)throw w(u1,B.file,`Rip App: gate '${u1}' is a singleton and does not accept a key function`);if(B.bindings[n1]={cell:r1,tail:b1.tail,path:u1,file:B.file},!l1.has(r1))l1.set(r1,{cell:r1,path:u1,file:B.file,entryIndex:d1})}}return Array.from(l1.values())},j=async function(D,W,Y,r1){let Q,o1,f1=k(D,W,Y),h1=await Promise.allSettled((()=>{let l1=[];for(let d1 of f1)l1.push(d1.cell.ensure());return l1})());if(r1!==c)return!1;let u1=null,b1=function(l1,d1){if(l1.entryIndex=d1,u1==null||d1=u1.entryIndex)break;for(let B of d1.bindings){o1=B.cell.peek();for(let n1 of B.tail){if(o1==null)break;o1=o1[n1]}if(o1==null){b1(w(B.path,B.file,`Rip App: gate '${B.path}' resolved to ${o1}; every gated subpath must exist and be non-null`),l1);break}B.value=o1}}if(u1!=null)throw u1;return!0},M=function(D,W){return Uo(D.cls,{gates:D.bindings,parent:W,stash:n,router:r})},L=function(D){let W=[];for(let Y=D.length-1;Y>=0;Y--){let r1=D[Y];try{r1.unmount?.()}catch(Q){W.push(Q);try{r1._teardown?.({state:"unmounted",hooks:!1,removeDOM:!0})}catch(o1){W.push(o1)}}}return W},A=function(){let D=o;o=[],l=null,h=[],u=null,d=null;let W=L(D);if(W.length)throw W[0];return},P=null,v=function(){P?.remove?.(),P=null;return},V=function(D){let W,Y;v();let r1=D.error?.stack??D.stack??D.message??String(D);P=(()=>{if(typeof document<"u"&&typeof document.createElement==="function")return W=document.createElement("pre"),W.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",W.textContent=r1,W;else return Y={nodeName:"PRE",textContent:r1,parentNode:null,remove(){let Q=Y.parentNode?.children,o1=Q?.indexOf(Y)??-1;if(o1>=0)Q.splice(o1,1);Y.parentNode=null;return}},Y})(),s.appendChild(P);return},H=function(){if(typeof document<"u"&&typeof document.createDocumentFragment==="function")return document.createDocumentFragment();let D=[];return{children:D,appendChild(W){return D.push(W),W}}},G=function(D,W=s){if(v(),D.nodeType===11)W.appendChild(D);else for(let Y of D.children)W.appendChild(Y);return},T=function(D,W){let Y,r1=D._nodes??[D._root];for(let Q of r1){if(!Q)continue;if(Q.matches?.("#content"))return Q;if(Y=Q.querySelector?.("#content"),Y)return Y}return r1.find(function(Q){return Q!=null})??W},N=function(D){return D?.childNodes??D?.children??[]},F=function(D,W){D.slot=W,D.slotOwned=N(W).length;return},J=function(){let D,W,Y=s;for(let r1=0;r10&&Q.slot!=null&&Q.slot!==Y){W=Array.from(N(Q.slot)).slice(Q.slotOwned??0),F(Q,Y);for(let o1 of W)Y.appendChild(o1);D._target=Y}if(r1===h.length-1)break;Y=T(D,Y)}if(h.length>1)u=Y;return},x=function(D,W,Y){let r1,Q,o1;if(!D.some(function(l1){return typeof l1.cls.prototype?.onError==="function"}))return!1;let f1=H(),h1=f1,u1=[];try{for(let l1=0;l10)F(d1,h1);if(Q.mount?.(h1),Q._state==="failed")return L(u1),!1;h1=T(Q,h1)}if(Y!==c)return L(u1),!1;r1=null;for(let l1=u1.length-1;l1>=0;l1--){let d1=u1[l1];if(typeof d1.onError==="function"){r1=d1;break}}G(f1)}catch(l1){return console.error("[Rip] boundary chain failed to mount:",l1),L(u1),!1}let b1=o;o=u1,l=u1[u1.length-1]??null,h=D,u=h1,d=null;try{r1.onError(W)}catch(l1){console.error("[Rip] boundary onError error:",l1)}for(let l1 of L(b1))console.error("[Rip] boundary teardown error:",l1);return!0},e1=function(D,W){let Y=null;for(let Q=D.length-1;Q>=0;Q--){let o1=D[Q];if(typeof o1.instance?.onError==="function"){Y=o1.instance;break}}if(!Y)return!1;let r1=o.slice(D.length);o=D.map(function(Q){return Q.instance}),l=o[o.length-1]??null,h=D,d=null;try{Y.onError(W)}catch(Q){console.error("[Rip] boundary onError error:",Q)}for(let Q of L(r1))console.error("[Rip] boundary teardown error:",Q);return!0},U=async function(D,W,Y=i){let r1,Q,o1,f1,h1,u1,b1=D?.route;if(!b1?.file)throw Error("Rip App: renderer route state requires route.file");let l1=D.params??{},d1=D.query??{},B=D.layouts??[];if(!Array.isArray(B))throw Error("Rip App: renderer route state layouts must be an array");let n1=h.map(function(m1){return m1.file}),_=p;if(p=null,_==null&&l!=null&&d!=null&&b1.file===d.file){if(b([...B,b1.file],n1)&&g(l1,d.params)){if(!(g(d1,d.query)||R(h,l1,d1))){if(typeof l.load==="function")await l.load(l1,d1);if(W!==c)return null;return d={file:b1.file,params:l1,query:d1},l}}}let z=[...B,b1.file],X=d!=null&&B.length>0&&h.length===B.length+1&&b(B,n1.slice(0,-1))&&!R(h.slice(0,-1),l1,d1),t1=_!=null?Math.max(0,Math.min(_,z.length-1)):X?B.length:0;if(_!=null&&t1>0){if(!(h.length===z.length&&b(z.slice(0,t1),n1.slice(0,t1))))t1=0}let C=[];for(let m1=0;m10){if(o1=X?e1(C.slice(0,r1),Q):x(C.slice(0,r1),Q,W),o1)return null}}throw Q}let a1=H(),E1=a1,y1=[],S1=t1>0?C[t1-1].instance:null,_1=t1>0,v1=_1?T(S1,s):s;try{for(let m1=C.slice(t1),D1=0;D10)F(pe,E1);if(f1.mount?.(E1),f1._state==="failed")throw Error(`Rip App: component '${pe.file}' failed during mount`);if(t1+D11?E1:v1,h=C,d={file:b1.file,params:l1,query:d1};let p1=L(R1);if(m=p1.length>0,p1.length)for(let m1 of p1)if(Q=je("","",m1),a!=null)try{a(Q)}catch(D1){console.error("[Rip] renderer teardown reporter failed:",D1)}else console.error("[Rip] renderer teardown error:",Q);return l},i1=function(D){let W,Y,r1=D?.route;if(!r1?.file)return;let Q=D.params??{},o1=D.query??{},f1=D.layouts??r1.layouts??[],h1=h.map(function(l1){return l1.file}),u1=d!=null&&b(f1,h1.slice(0,-1));if(u1&&r1.file===d.file&&g(Q,d.params))return;let b1=u1?[r1.file]:[...f1,r1.file];try{W=(()=>{let l1=[];for(let d1 of b1)l1.push({file:d1,cls:hn(i,d1)});return l1})(),Y=k(W,Q,o1)}catch(l1){return}for(let l1 of Y)l1.cell.preload().catch(function(){return null});return},q=function(D,W){if(!(D!=null&&typeof D==="object"&&typeof W==="string"))return null;let Y=function(Q){return typeof Q==="function"&&Q.__hmrId===W},r1=D.__hmrComponents;if(r1!=null&&typeof r1==="object")for(let Q in r1){let o1=r1[Q];if(Y(o1))return o1}if(Y(D.default))return D.default;for(let Q in D){let o1=D[Q];if(Y(o1))return o1}return null},s1=function(D){let W=D+"#",Y=[];for(let Q of h)if(Q.file===D&&Q.instance!=null)Y.push(Q.instance);for(let[Q,o1]of Yi())if(typeof Q==="string"&&Q.startsWith(W)){for(let f1 of o1.instances)if(!Y.includes(f1))Y.push(f1)}let r1=[];for(let Q of Y)r1.push({instance:Q,entry:h.find(function(o1){return o1.instance===Q})??null});return r1},I=function(D,W){let Y,r1,Q,o1,f1=(()=>{let l1=[];for(let d1 of D)if(typeof d1==="string"&&d1.endsWith(".rip"))l1.push(d1);return l1})();if(!(f1.length>0))return"unknown";let h1=0,u1=!1,b1=new Set;for(let l1 of f1){if(o1=W.getCompiled(l1),Q=s1(l1),o1==null){if(typeof W.exists==="function"&&!W.exists(l1)){if(Q.some(function(d1){return d1.instance._state!=="unmounted"}))return"fallback"}else u1=!0;continue}for(let{instance:d1,entry:B}of Q){if(b1.has(d1))continue;if(d1._state==="unmounted")continue;if(d1._state!=="mounted")return"fallback";if(r1=d1.constructor?.__hmrId,Y=typeof r1==="string"?q(o1,r1):null,Y==null)return"fallback";if(wt(Y),_t(d1.constructor,Y)!=="patch")return"fallback";if(qi(d1,Y),b1.add(d1),h1+=1,B!=null){if(B.cls=Y,B!==h[h.length-1])J()}}}if(h1>0)return"done";return u1?"unknown":"idle"},c1=async function(D,W=i){let Y,r1,Q,o1,f1;if(!(Array.isArray(D)&&D.length>0))return"noop";for(let X of D)if(X==="stash.rip"||X.startsWith("stash/")||X==="seed.rip")return"escape";let h1=r.current;if(!(h1?.route?.file&&h.length>0))return"noop";let b1=[...h1.layouts??h1.route.layouts??[],h1.route.file],l1=b(b1,h.map(function(X){return X.file})),d1=zi();try{if(f1=I(D,W),f1==="done")return Ir(d1),"narrow";if(f1==="idle"&&l1)return we("noop",{paths:[...D]}),"noop"}catch(X){console.error("[Rip] HMR patch failed; falling back to remount:",X),we("reject",{reason:"patch-failed",paths:[...D],message:X?.message?String(X.message):String(X)})}let B=new Set(D),n1=-1;for(let X=0;X{if(Y?.name==="GateFailure")return Y;else return Q=D?.route?.file??"",je(Y?.path??Q,Q,Y)})(),a?.(r1),l==null)V(r1);throw r1}finally{if(o1===c&&(Array.isArray(r)||typeof r==="string"?r.includes("navigating"):("navigating"in r)))r.navigating=!1}};let O=null;return O={current:null,mount:t,preload:i1,remountDirty:c1,start(){if(f)return O;return r.init?.(),f=x1(function(){let D=r.current;if(D?.route)t(D).catch(function(){return null});return}),O},stop(){let D,W;if(c++,f?.(),f=null,Array.isArray(r)||typeof r==="string"?r.includes("navigating"):("navigating"in r))r.navigating=!1;try{A()}catch(Y){throw D=Y,W=je("","",D),a?.(W),W}return}},Object.defineProperty(O,"current",{get(){return l}}),O}var Wo,Ho,un=Symbol.for("rip.app.stash.persisted"),Vo=Symbol.for("rip.app.stash.purge");Ho=function(e,t){return C1(t)?void 0:t};Wo=function(e){if(e.storage!=null)return e.storage;if(!(typeof window<"u"&&window.localStorage!=null))throw Error("Rip App: persistStash requires a browser or an injected storage");return e.local?window.localStorage:window.sessionStorage};function Br(e,t={}){let r,n=_e(e)||e;if(n[un])return function(){return null};n[un]=!0;let i=Wo(t),s=t.key||"__rip_app",a=t.debounce??2000;try{if(r=i.getItem(s),r)Je(e,JSON.parse(r))}catch(u){}let o=null,l=function(){o=null;try{i.setItem(s,JSON.stringify(_e(e),Ho))}catch(u){}return},c=!1,f=x1(function(){if(sn.value,!c){c=!0;return}if(o!=null)clearTimeout(o);return o=setTimeout(l,a),function(){return o!=null?clearTimeout(o):void 0}});if(typeof window<"u")window.addEventListener("beforeunload",l);Object.defineProperty(n,Vo,{value(){if(o!=null)clearTimeout(o),o=null;try{i.removeItem(s)}catch(u){}return},configurable:!0,writable:!0});let h=!1;return function(){if(h)return;if(h=!0,f?.(),typeof window<"u")window.removeEventListener("beforeunload",l);l(),n[Vo]=null,n[un]=!1;return}}var Go,dn;dn=function(e){if(e.hasAttribute?.("data-router-ignore"))return!0;if(e.hasAttribute?.("download"))return!0;let t=e.getAttribute?.("target");if(t&&t.toLowerCase()!=="_self")return!0;return!1};function Pt(e){let t,r=e.getAttribute?.("href")??e.href;if(!(typeof r==="string"&&r.length>0))return null;if(/^[a-z][a-z0-9+.-]*:/i.test(r)){if(t=typeof location<"u"?location.origin:null,!(t!=null&&r.startsWith(t)))return null;r=r.slice(t.length)}if(r.startsWith("//")||r.includes("\\"))return null;return r}function Lt(e,t){if(t==null)return!1;if(dn(t))return!1;let r=Pt(t);if(r==null)return!1;return e.claims(r)!=null}Go=function(){if(!(typeof document<"u"&&typeof document.querySelectorAll==="function"))throw Error("Rip App: ariaCurrent requires a browser or an injected host");return{anchors(){return Array.from(document.querySelectorAll("a[href]"))},observe(e){if(typeof MutationObserver>"u")return null;let t=!1,r=new MutationObserver(function(){if(t)return;return t=!0,requestAnimationFrame(function(){return t=!1,e()})});return r.observe(document.documentElement??document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["href","target","download","data-router-ignore"]}),function(){return r.disconnect()}}}};function Ur(e,t=null){if(!(e!=null&&typeof e.claims==="function"))throw TypeError("Rip App: ariaCurrent requires a router");t=t??Go();let r=new WeakMap,n=function(){let l,c,f,h,u=e.path;for(let d of t.anchors()){if(l=dn(d)?null:e.claims(Pt(d)??""),f=l==null||u==null?null:l.path===u?"page":l.path!=="/"&&u.startsWith(l.path+"/")?"true":null,c=d.getAttribute?.("aria-current")??null,h=r.get(d),h!==void 0&&c!==h){if(r.delete(d),c!=null)continue;h=void 0}if(f!=null){if(h===void 0&&c!=null)continue;if(c!==f)d.setAttribute("aria-current",f);r.set(d,f)}else if(h!==void 0)d.removeAttribute("aria-current"),r.delete(d)}return},i=function(){try{n()}catch(l){console.error("[Rip] aria-current walk failed:",l)}return},s=x1(function(){return e.path,i()}),a=t.observe?.(i)??null,o=!1;return function(){if(o)return;o=!0,s(),a?.();try{for(let l of t.anchors())if(r.has(l)){if((l.getAttribute?.("aria-current")??null)===r.get(l))l.removeAttribute("aria-current");r.delete(l)}}catch(l){}return}}var Ko,Yo,mn,pn;Yo=50;Ko=3000;pn=function(){if(!(typeof document<"u"&&typeof document.addEventListener==="function"))throw Error("Rip App: link listeners require a browser or an injected host");return{listen(e,t,r=null){return document.addEventListener(e,t,r??!1),function(){return document.removeEventListener(e,t,r??!1)}}}};mn=function(e){while(e!=null&&e.tagName!=="A")e=e.parentElement;return e??null};function Vr(e,t=null){if(!(e!=null&&typeof e.claims==="function"&&typeof e.push==="function"))throw TypeError("Rip App: interceptClicks requires a router");t=t??pn();let r=function(s){if(s.defaultPrevented)return;if(s.button!==0||s.metaKey||s.ctrlKey||s.shiftKey||s.altKey)return;let a=mn(s.target);if(!(a!=null&&Lt(e,a)))return;let o=e.claims(Pt(a));if(o==null)return;s.preventDefault(),e.push(o.url,{noScroll:a.hasAttribute?.("data-router-noscroll")===!0});return},n=t.listen("click",r),i=!1;return function(){if(i)return;i=!0,n();return}}function Wr(e,t,r=null){if(!(e!=null&&typeof e.claims==="function"))throw TypeError("Rip App: preloadLinks requires a router");if(!(t!=null&&typeof t.preload==="function"))throw TypeError("Rip App: preloadLinks requires a renderer with preload()");r=r??pn();let n=null,i=null,s={href:null,at:0},a=function(){if(n!=null)clearTimeout(n);n=null,i=null;return},o=function(h){let u=mn(h.target);if(!(u!=null&&Lt(e,u)))return;if(u===i)return;a(),i=u;let d=Pt(u);n=setTimeout(function(){n=null,i=null;let p=Date.now();if(d===s.href&&p-s.at1)throw AggregateError(S,"Rip App: launch.destroy failed");return};globalThis.__ripStash=l,globalThis.__ripRouter=f;try{if(typeof s.replaceChildren==="function")s.replaceChildren();else if(Array.isArray(s.children))s.children.length=0;h.start()}catch(S){throw b(),S}return{stash:l,components:c,router:f,renderer:h,destroy:b}}var bn,Gr,yn,Sn,Rn,V1;V1=function(e){if(!(typeof e==="string"&&e.length>0))throw TypeError("Rip Workspace: component path must be a non-empty string");let t=e.split("/"),r=t.some(function(s){return!s||s==="."||s===".."||s.startsWith(".")}),n=t.at(-1),i=t.slice(0,-1).some(function(s){return s.endsWith(".rip")});if(e.includes("\\")||e.startsWith("/")||r||i||n===".rip"||!n.endsWith(".rip"))throw TypeError(`Rip Workspace: invalid component path '${e}'`);return e};Gr=function(e){if(typeof e!=="string")throw TypeError("Rip Workspace: component source must be a string");return e};yn=function(e){if(e===""||e==null)return"";if(typeof e!=="string")throw TypeError("Rip Workspace: component directory must be a string");let t=e.split("/");if(e.includes("\\")||e.startsWith("/")||t.some(function(r){return!r||r==="."||r===".."||r.startsWith(".")}))throw TypeError(`Rip Workspace: invalid component directory '${e}'`);return e};Sn=function(e){if(!(typeof e==="string"&&/^[A-Za-z0-9_]{6}$/.test(e)))throw TypeError("Rip Workspace: publication hash must be six Base64URL-folded characters");return e};Rn=function(e){if(!(e!=null&&typeof e==="object"&&!Array.isArray(e)))throw TypeError("Rip Workspace: compiled component module must be an object");return e};bn=function(e){let t;if(!(e!=null&&typeof e==="object"&&!Array.isArray(e)))throw TypeError("Rip Workspace: prepared state must be an object");let r=Sn(e.hash);if(!(e.sources!=null&&typeof e.sources==="object"&&!Array.isArray(e.sources)))throw TypeError("Rip Workspace: prepared sources must be an object");if(!(e.compiled!=null&&typeof e.compiled==="object"&&!Array.isArray(e.compiled)))throw TypeError("Rip Workspace: prepared compiled modules must be an object");let n=new Map,i=new Map,s=e.sources;for(let o in s){if(!Object.hasOwn(s,o))continue;let l=s[o];n.set(V1(o),Gr(l))}let a=e.compiled;for(let o in a){if(!Object.hasOwn(a,o))continue;let l=a[o];if(o=V1(o),!n.has(o))throw Error(`Rip Workspace: compiled module '${o}' has no source`);i.set(o,Rn(l))}return{hash:r,sources:n,compiled:i}};function Kr(){let e,t=new Map,r=new Map,n=new Set,i=null,s=!1,a=function(l,c){for(let f of Array.from(n))try{f(l,c)}catch(h){console.error("[Rip] workspace watcher error:",h)}return},o=function(l){t=l.sources,r=l.compiled,i=l.hash;return};return e={read(l){return t.get(V1(l))},write(l,c){if(s)throw Error("Rip Workspace: cannot write during a publication transition");l=V1(l),c=Gr(c);let f=t.has(l)?"change":"create";t.set(l,c),r.delete(l),a(f,l);return},del(l){if(s)throw Error("Rip Workspace: cannot delete during a publication transition");l=V1(l),t.delete(l),r.delete(l),a("delete",l);return},exists(l){return t.has(V1(l))},size(){return t.size},list(l=""){let c;l=yn(l);let f=l?l+"/":"",h=[];for(let[u]of t)if(u.startsWith(f)){if(c=u.slice(f.length),!c.includes("/"))h.push(u)}return h},listAll(l=""){l=yn(l);let c=l?l+"/":"",f=[];for(let[h]of t)if(h.startsWith(c))f.push(h);return f},load(l){if(s)throw Error("Rip Workspace: cannot load during a publication transition");if(!(l!=null&&typeof l==="object"&&!Array.isArray(l)))throw TypeError("Rip Workspace: component load expects a source object");let c=[];for(let f in l){if(!Object.hasOwn(l,f))continue;let h=l[f];c.push([V1(f),Gr(h)])}for(let[f,h]of c)t.set(f,h),r.delete(f);return},watch(l){if(typeof l!=="function")throw TypeError("Rip Workspace: component watch expects a function");n.add(l);let c=!1;return function(){if(c)return;c=!0,n.delete(l);return}},getCompiled(l){return r.get(V1(l))},setCompiled(l,c){if(s)throw Error("Rip Workspace: cannot compile during a publication transition");if(l=V1(l),!t.has(l))throw Error(`Rip Workspace: setCompiled for unknown component path '${l}'`);r.set(l,Rn(c));return},hash(){return i},activate(l){if(i!=null)throw Error("Rip Workspace: a publication is already active");if(s)throw Error("Rip Workspace: a publication transition is already staged");o(bn(l));return},stage(l,c,f){if(s)throw Error("Rip Workspace: a publication transition is already staged");if(l=Sn(l),i!==l)throw Error(`Rip Workspace: change starts at ${l}, not ${i}`);if(!Array.isArray(f))throw TypeError("Rip Workspace: changed paths must be an array");let h=f.map(function(g){return V1(g)});if(new Set(h).size!==h.length)throw Error("Rip Workspace: changed paths must be unique");let u=bn(c),d={sources:t,compiled:r,hash:i};s=!0;let p=!1,m=function(g){let b;if(p)throw Error("Rip Workspace: publication transition is already finished");if(p=!0,s=!1,!g)return;o(u);for(let S of h)b=!u.sources.has(S)?"delete":d.sources.has(S)?"change":"create",a(b,S);return};return{components:{getCompiled(g){return u.compiled.get(V1(g))},exists(g){return u.sources.has(V1(g))}},commit(){return m(!0)},rollback(){return m(!1)}}},commit(l,c,f){e.stage(l,c,f).commit();return}},e}var Xo,Jo,Zo,Qo,e2,t2,r2,Yr;Zo=250;Jo=8000;Xo=5000;r2=0;Yr=function(e){return typeof e==="string"&&/^[A-Za-z0-9_]{6}$/.test(e)};e2=function(){if(typeof location>"u")throw Error("Rip App: connectFeed needs a hub URL (no location to derive one from)");return`${location.protocol==="https:"?"wss":"ws"}://${location.host}/hub`};t2=function(){if(typeof WebSocket>"u")throw Error("Rip App: connectFeed needs a socket factory (no global WebSocket)");return function(e){return new WebSocket(e)}};Qo=function(){if(typeof fetch>"u")throw Error("Rip App: connectFeed needs a fetch (no global fetch)");return function(e,t){return fetch(e,t)}};function zr(e,t={}){let r;if(!(e!=null&&typeof e.hash==="function"&&typeof e.apply==="function"&&typeof e.reload==="function"))throw TypeError("Rip App: connectFeed expects hash, apply, and reload callbacks");if(!Yr(e.hash()))throw TypeError("Rip App: connectFeed client hash must be six Base64URL-folded characters");let n=t.hub??e2(),i=t.latestUrl??"/latest.json",s=t.makeSocket??t2(),a=t.fetch??Qo(),o=t.report??function(...x){return console.error(...x)},l=t.backoff?.min??Zo,c=t.backoff?.max??Jo,f=t.ackTimeout??Xo,h=!1,u=!1,d=!1,p=!1,m=null,g=0,b=null,S=null,w=0,R=null,k=[],j=Promise.resolve(),M=new Map,L=null,A=function(x){if(u||h)return;u=!0,e.reload(x);return},P=async function(x){let e1;if(u||h)return!1;try{if(e1=await e.apply(x),e1==="rejected"){if(Yr(x?.hash))L=x?.hash;return!1}if(e1==="reload"||!e1)return A("change could not be applied"),!1;return L=null,!0}catch(U){return o("[Rip] publication change failed:",U),A("change failed"),!1}},v=function(x,e1){j=j.then(async function(){if(e1!==w)return!0;return await P(x)}),j=j.catch(function(U){return o("[Rip] publication queue failed:",U),A("change queue failed"),!1});return},V=async function(x){let e1,U;if(h||u||x!==w)return;let i1=e.hash(),q=await a(i,{cache:"no-store"});if(!q?.ok)throw Error(`latest.json fetch failed (${q?.status})`);let s1=await q.json();if(!(s1!=null&&typeof s1==="object"&&!Array.isArray(s1)&&Object.keys(s1).length===1&&Object.hasOwn(s1,"hash")&&Yr(s1.hash)))throw Error("latest.json is malformed");if(h||u||x!==w)return;if(L!=null){if(s1.hash!==L){A(`a newer App generation followed rejected ${L}`);return}k=[],p=!0,g=0;return}let I=new Set([i1]),c1=0;while(c10))return"ignore";let s=(()=>{let f=[];for(let h of n)if(typeof h==="string"&&h.endsWith(".css"))f.push(h);return f})(),a=(()=>{let f=[];for(let h of n)if(typeof h==="string"&&h.endsWith(".rip"))f.push(h);return f})(),o=(()=>{let f=[];for(let h of n)if(typeof h==="string"&&!h.endsWith(".rip")&&!h.endsWith(".css"))f.push(h);return f})();if(a.length===0){if(o.length>0)return"reload";if(s.length>0)return"css";return"ignore"}let l=await e.renderer.remountDirty(a,i);if(l==="narrow")return t(`[Rip] applied ${a.join(", ")} — update`),"update";if(l==="reload")return t(`[Rip] applied ${a.join(", ")} — reload`),"reload";if(l==="noop")return"ignore";if(await e.escape(a,i)==="reload")return"reload";return t(`[Rip] applied ${a.join(", ")} — update`),"update"}}}var M4=function(e){if(e instanceof Uint8Array)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw TypeError("Rip App: rash expects bytes")},j4=function(e){let t,r,n,i,s,a,o,l,c,f,h,u,d,p,m,g,b=M4(e);if(typeof Bun<"u"&&Bun.CryptoHasher!=null)return new Uint8Array(new Bun.CryptoHasher("sha256").update(b).digest());let S=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],w=b.length*8,R=new Uint8Array(b.length+9+63&-64);R.set(b),R[b.length]=128;let k=new DataView(R.buffer);k.setUint32(R.length-4,w>>>0,!1),k.setUint32(R.length-8,Math.floor(w/4294967296)>>>0,!1);let j=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],M=function(V,H){return V>>>H|V<<32-H},L=new Uint32Array(64),A=0;while(A>>3,p=M(L[V-2],17)^M(L[V-2],19)^L[V-2]>>>10,L[V]=L[V-16]+d+L[V-7]+p>>>0;[n,i,s,o,l,c,f,h]=j;for(let V=0;V<64;V++)r=M(l,6)^M(l,11)^M(l,25),a=l&c^~l&f,m=h+r+a+S[V]+L[V]>>>0,t=M(n,2)^M(n,13)^M(n,22),u=n&i^n&s^i&s,g=t+u>>>0,h=f,f=c,c=l,l=o+m>>>0,o=s,s=i,i=n,n=m+g>>>0;j[0]=j[0]+n>>>0,j[1]=j[1]+i>>>0,j[2]=j[2]+s>>>0,j[3]=j[3]+o>>>0,j[4]=j[4]+l>>>0,j[5]=j[5]+c>>>0,j[6]=j[6]+f>>>0,j[7]=j[7]+h>>>0,A+=64}let P=new Uint8Array(32),v=new DataView(P.buffer);for(let V=0;V<8;V++)v.setUint32(V*4,j[V],!1);return P},Mt=function(e){let t=j4(e),r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";return(r[t[0]>>2]+r[(t[0]&3)<<4|t[1]>>4]+r[(t[1]&15)<<2|t[2]>>6]+r[t[2]&63]+r[t[3]>>2]+r[(t[3]&3)<<4|t[4]>>4]).replaceAll("-","_")},Xr=function(e){let t=JSON.stringify(e.map(function(r){return[r.id,r.hash]}));return Mt(new TextEncoder().encode(t))};var F4=function(){return globalThis.__ripStash},B4=function(){return globalThis.__ripRouter};(()=>{if(typeof document>"u"||typeof WebSocket>"u")return;let e=document.currentScript;if(!(e?/\bwatch\.js\b/.test(e.src||""):!!document.querySelector("script[watch]"))||globalThis.__ripWatch)return;globalThis.__ripWatch=!0;let r=location.pathname,n=(f)=>Array.isArray(f)&&(f.includes(r)||r.endsWith("/")&&f.includes(r+"index.html")),i=(f)=>f.headers.get("etag")||f.headers.get("last-modified")||"",s=null;fetch(location.href,{method:"HEAD",cache:"no-store"}).then((f)=>{s=i(f)}).catch(()=>{});let a=()=>{if(s===null)return;fetch(location.href,{method:"HEAD",cache:"no-store"}).then((f)=>{if(i(f)!==s)location.reload()}).catch(()=>{})},o=!1,l=0,c=()=>{let f=location.protocol==="https:"?"wss://":"ws://",h=new WebSocket(f+location.host+"/hub");h.onopen=()=>h.send('{"+":["/assets"],"?":"observe"}'),h.onmessage=(u)=>{let d;try{d=JSON.parse(u.data)}catch{return}for(let p of Array.isArray(d)?d:[d]){if(!p||typeof p!=="object"||"<"in p)continue;if("!"in p){if(o)a();o=!0,l=0}if(n(p.touched))location.reload()}},h.onclose=()=>{if(l+=1,!o&&l>=6)return;setTimeout(c,Math.min(8000,500*2**(l-1)))},h.onerror=()=>{}};c()})();var{__hmrEmit:U4}=Nt;function kn(e,t={}){if(t.face==="ts")throw Error("rip: TypeScript face is unavailable in the browser");return ka(e,{...t,face:"js"})}var l2={intrinsics:hr,stdlib:ur,schema:br,reactive:Tr,components:Nt},c2=Object.freeze({...hr,...ur,...br,...Tr,...Nt}),V4=Object.freeze({rash:Mt,check:Xr}),f2=Object.freeze({"rip/app":Jr,"rip/app/rash":V4});var W4=new Map(Object.keys(l2).map((e)=>[new URL(`./runtime/${e}.js`,import.meta.url).pathname,e])),H4=/(?:^|\/)src\/runtime\/(intrinsics|stdlib|schema|reactive|components)\.js$/,Zr="__ripModuleBridge",G4=(e)=>e.slice(1,-1),i2=(e,t)=>{let r=e.split("/").slice(0,-1);for(let n of t.split("/")){if(n===""||n===".")continue;if(n===".."){if(!r.length)return null;r.pop()}else r.push(n)}return r.join("/")},n2=(e)=>{if(typeof URL<"u"&&typeof URL.createObjectURL==="function"&&typeof Blob<"u")return URL.createObjectURL(new Blob([e],{type:"text/javascript"}));return`data:text/javascript;base64,${btoa(unescape(encodeURIComponent(e)))}`};function h2({components:e,embeddedPackages:t={},debug:r=!1,hmr:n=!1}={}){if(!e||typeof e.read!=="function")throw TypeError("rip: createModuleLoader requires a component registry");let i=new Map,s=new Map,a=new Map,o=new Map,l=new Map,c=new Set,f=(m)=>{if(typeof m==="string"&&m.startsWith("blob:")&&typeof URL?.revokeObjectURL==="function")URL.revokeObjectURL(m)},h=async()=>{let m=[...c];c.clear(),await Promise.allSettled(m.map(async(g)=>f(await g)))},u=(m,g)=>{if(a.has(m))return a.get(m);globalThis[Zr]??={};let b=globalThis[Zr][m];if(b&&b!==g)throw Error(`rip: two copies of embedded module '${m}' are active on one page`);globalThis[Zr][m]=g;let S=[`const ns = globalThis['${Zr}'][${JSON.stringify(m)}];`];for(let R of Object.keys(g))if(R==="default")S.push("export default ns['default'];");else if(/^[A-Za-z_$][\w$]*$/.test(R))S.push(`export const ${R} = ns[${JSON.stringify(R)}];`);else throw Error(`rip: embedded module '${m}' exports '${R}', which cannot cross the module bridge`);let w=n2(S.join(` `));return a.set(m,w),w},d=(m,g)=>{let b=G4(m),S=W4.get(b)??b.match(H4)?.[1];if(S)return{bridge:`runtime:${S}`,namespace:l2[S]};let w=(j)=>{try{return e.exists(j)}catch{return!1}},R=b.endsWith(".rip")?"":` — did you mean '${b}.rip'?`;if(b.startsWith("./")||b.startsWith("../")){let j=i2(g,b);if(j&&w(j))return{path:j};if(!g.startsWith("rip/")){let M=i2(`app/${g}`,b),L=M?.startsWith("app/")?M.slice(4):M;if(L&&w(L))return{path:L}}throw Error(`rip: '${g}' imports '${b}', which is not in the bundle${R}`)}let k=b.match(/^rip\/([\w-]+)(?:\/(.+))?$/);if(k){if(w(b))return{path:b};let j=`rip/${k[1]}`,M=t[b];if(M)return{bridge:`package:${b}`,namespace:M};if(t[j])throw Error(`rip: '${g}' imports '${b}', which '${j}' does not export in the browser`);let L=k[2]?k[2].endsWith(".rip")?k[2]:`${k[2]}.rip`:"index.rip",A=`${j}/${L}`;if(!w(A))throw Error(`rip: '${g}' imports '${b}', but '${A}' is not in the bundle — `+"only packages declaring browser safety travel to the browser");return{path:A}}throw Error(`rip: '${g}' imports '${b}', which is not loadable in a browser — `+"server-only and unknown modules never travel to the browser")},p=(m,g)=>{if(g.includes(m))throw Error(`rip: import cycle through '${m}' (${g.join(" -> ")} -> ${m})`);if(i.has(m))return i.get(m);let b=(async()=>{let S=e.read(m);if(S===void 0)throw Error(`rip: '${m}' is not in the bundle`);let w=kn(S,{path:m,runtimeDelivery:"import",browserModule:!0,...n?{hmr:!0}:null}),R=w.code;for(let k of[...w.imports].reverse()){let j=d(k.specifier,m);if(j.path){let L=o.get(j.path);if(!L)o.set(j.path,L=new Set);L.add(m);let A=l.get(m);if(!A)l.set(m,A=new Set);A.add(j.path)}let M=j.bridge?u(j.bridge,j.namespace):await p(j.path,[...g,m]);R=`${R.slice(0,k.start)}${JSON.stringify(M)}${R.slice(k.end)}`}if(r){let k=btoa(unescape(encodeURIComponent(JSON.stringify(w.map))));R+=` //# sourceMappingURL=data:application/json;charset=utf-8;base64,${k}`}return n2(R)})();return i.set(m,b),b.catch(()=>i.delete(m)),b};return{async import(m){if(s.has(m))return s.get(m);let b=await import(await p(m,[]));return s.set(m,b),e.setCompiled(m,{...b}),b},invalidate(m){let g=[m],b=new Set;while(g.length){let S=g.pop();if(b.has(S))continue;if(b.add(S),i.has(S))c.add(i.get(S));i.delete(S),s.delete(S);for(let w of o.get(S)??[])g.push(w);o.delete(S);for(let w of l.get(S)??[]){let R=o.get(w);if(R?.delete(S),R?.size===0)o.delete(w)}l.delete(S)}return b},collect:h,dispose(){for(let m of i.values())c.add(m);i.clear(),s.clear(),o.clear(),l.clear();for(let m of a.values())f(m);a.clear(),h()}}}var u2=Object.keys(c2),K4=u2.map((e)=>c2[e]),Y4=()=>{if(typeof document>"u"||typeof document.querySelectorAll!=="function")throw Error("rip: processRipScripts requires a browser or an injected host");return{scripts(){return Array.from(document.querySelectorAll('script[type="text/rip"]')).map((e)=>({src:e.getAttribute("src"),text:e.textContent??""}))},async fetchText(e){let t=await fetch(e);if(!t.ok)throw Error(`${t.status} ${t.statusText}`);return t.text()},prepare(e,t){return Function(...t,e)},async ready(){if(document.readyState==="loading")await new Promise((e)=>document.addEventListener("DOMContentLoaded",e,{once:!0}))},report(e){console.error("[Rip]",String(e))}}},z4=(e)=>{let t=e.split(` `),r=null;for(let n of t){if(!n.trim())continue;let i=n.match(/^[ \t]*/)[0];if(r===null){r=i;continue}let s=0;while(sn.trim()?n.slice(r.length):n).join(` @@ -356,4 +358,4 @@ ${o} `:`${a} -`;s.textContent=l+s2(t);let c=document.createElement("button");c.type="button",c.textContent="Dismiss",c.style.cssText=["position:absolute","top:0.5rem","right:0.5rem","padding:0.4rem 0.75rem","font:12px/1.2 system-ui,sans-serif","color:#0f172a","background:#fff","border:1px solid #cbd5e1","border-radius:6px","cursor:pointer"].join(";"),c.addEventListener("click",()=>Ae()),i.appendChild(s),i.appendChild(c),n.appendChild(i),n.addEventListener("click",(h)=>{if(h.target===n)Ae()});let f=(h)=>{if(h.key==="Escape")Ae()};if(n._ripOnKey=f,typeof document.addEventListener==="function")document.addEventListener("keydown",f);return r.appendChild(n),et=n,U4("reject",{kind:e||"compile",path:a2(t),message:s2(t).slice(0,500)}),n}function Ae(){if(!et)return;let e=et._ripOnKey;if(e&&typeof document<"u"&&typeof document.removeEventListener==="function")document.removeEventListener("keydown",e);et.remove?.(),et=null}function xf(){return et}var{validatePrepared:J4}=Jr,d2=(e)=>e!==null&&typeof e==="object"&&!Array.isArray(e),En=(e)=>typeof e==="string"&&/^[A-Za-z0-9_]{6}$/.test(e),m2=(e,t=!1)=>{if(typeof e!=="string"||e.length===0||e.startsWith("/")||e.includes("\\"))return!1;let r=e.split("/");if(r.some((n)=>!n||n==="."||n===".."||n.startsWith(".")))return!1;if(t){let n=r.at(-1);if(n===".rip"||!n.endsWith(".rip")||r.slice(0,-1).some((i)=>i.endsWith(".rip")))return!1}return!0},p2=(e,t)=>{let r=Object.keys(e).sort(),n=[...t].sort();return r.length===n.length&&r.every((i,s)=>i===n[s])},Z4=(e)=>{if(!d2(e)||!p2(e,["hash","list"])||!En(e.hash)||!Array.isArray(e.list))throw Error("rip: bundle must contain exactly one hash and one source list");let t={},r=null;for(let n of e.list){if(!Array.isArray(n)||n.length!==2||!m2(n[0],!0)||typeof n[1]!=="string"||r!==null&&r>=n[0])throw Error(`rip: bundle has a malformed or unsorted source entry: ${JSON.stringify(n)}`);if(n[0]==="rip/app"||n[0].startsWith("rip/app/"))throw Error(`rip: bundle source '${n[0]}' collides with embedded package 'rip/app'`);r=n[0],t[n[0]]=n[1]}return t},Q4=(e)=>{if(!d2(e)||!p2(e,["from","hash","list"])||!En(e.from)||!En(e.hash)||!Array.isArray(e.list))throw Error("rip: publication change must contain exactly from, hash, and list");let t=null,r=[];for(let n of e.list){if(!Array.isArray(n)||n.length<1||n.length>2||!m2(n[0])||t!==null&&t>=n[0])throw Error(`rip: publication change has a malformed or unsorted entry: ${JSON.stringify(n)}`);let[i]=n,s=n.length===2&&n[1]===null;if(i.endsWith(".rip")){if(n.length!==2||!s&&typeof n[1]!=="string")throw Error(`rip: Rip change '${i}' must carry source or null`)}else if(n.length===2&&!s)throw Error(`rip: ordinary asset change '${i}' cannot carry content`);t=i,r.push({path:i,source:n[1],deletion:s})}return{from:e.from,hash:e.hash,entries:r}},ec=async(e)=>{let t=await fetch(e);if(!t.ok)throw Error(`rip: failed to fetch bundle '${e}': ${t.status} ${t.statusText}`);return t.text()};async function tc(e,{fetchText:t=ec}={}){if(!e)throw Error("rip: fetchBundle requires a url");let r=await t(e),n=typeof r==="string"?r:r?.text;if(typeof n!=="string")throw Error(`rip: bundle '${e}' fetch did not return text`);try{return JSON.parse(n)}catch(i){throw Error(`rip: bundle '${e}' is not valid JSON: ${i.message}`)}}var rc=(e,t,{hmr:r=!1}={})=>{let n=new Map(Object.entries(e)),i=new Map,a=h2({components:{read:(o)=>n.get(o),exists:(o)=>n.has(o),getCompiled:(o)=>i.get(o),setCompiled:(o,l)=>void i.set(o,l)},embeddedPackages:f2,debug:t,hmr:r});return{sources(o){n=new Map(Object.entries(o))},async compile(o=[]){let l=new Set;for(let c of o)for(let f of a.invalidate(c))l.add(f);try{let c={};for(let f of n.keys())if(!f.startsWith("rip/"))c[f]={...await a.import(f)};return{compiled:c,invalidated:[...l]}}finally{await a.collect()}},dispose:()=>a.dispose()}},ic=(e,t)=>{let r=e.split("?")[0];return`${r.slice(0,r.lastIndexOf("/")+1)}${t}`};async function Cf(e={}){if(!e.bundle&&!e.url)throw Error("rip: bootApp requires a bundle or a url");let t=e.bundle??await tc(e.url,{fetchText:e.fetchText}),r=Z4(t),n=e.debug===!0,i=e.watch===!0||e.feed!=null,s=rc(r,n,{hmr:i}),a=Kr(),o=(M)=>M["seed.rip"]?.seed,l=(M)=>Hr({bundle:{compiled:M,seed:o(M)},components:a,target:e.target,adapter:e.adapter,base:e.base,hash:e.hash,persist:e.persist,storage:e.storage,onError:e.onError}),c;try{let{compiled:M}=await s.compile();a.activate({hash:t.hash,sources:r,compiled:M}),c=l(M)}catch(M){throw s.dispose(),M}let f=null,h=!1,u={},d=e.feed?.report??((...M)=>console.error(...M)),p=e.feed?.report??((...M)=>console.info(...M)),m=(M)=>{if(Ae(),p(`[Rip] reloading${M?` — ${M}`:""}`),typeof e.reload==="function")e.reload(M);else if(typeof location<"u")location.reload()},g=(M)=>{if(typeof document>"u"||typeof document.querySelectorAll!=="function")return[];let L=new Set,A=new URL(typeof location>"u"?"http://rip.invalid/":location.href),P=new URL("/",A);P.pathname=`/${M.replaceAll("%","%25")}`;let v=P.pathname;for(let V of document.querySelectorAll('link[rel="stylesheet"]')){let W=V.getAttribute("data-rip-css")===M;if(W)L.add(V);let G=V.getAttribute("href")||"";if(!G)continue;let T;try{T=new URL(G,A)}catch{continue}if(!W&&T.origin===A.origin&&(T.pathname===v||T.pathname.endsWith(v)))L.add(V)}return[...L]},b=(M,L)=>{for(let A of g(M)){let P=A.getAttribute("href")||A.href,v=P.indexOf("#"),V=v<0?"":P.slice(v),G=(v<0?P:P.slice(0,v)).split("?")[0];A.setAttribute("href",`${G}?hash=${encodeURIComponent(L)}${V}`),A.disabled=!1}},S=qr({renderer:{remountDirty:(M,L)=>c.renderer.remountDirty(M,L)},escape:async()=>"reload",report:p}),w=new Set,R=async(M)=>{let L;try{L=Q4(M)}catch(U){return d("[Rip] malformed publication change:",U),"reload"}if(a.hash()===L.hash)return w.clear(),Ae(),!0;if(w.has(L.hash))return!0;let A=L.from;if(a.hash()!==L.from)if(w.has(L.from))A=a.hash();else return"reload";let P=()=>Object.fromEntries(a.listAll().map((U)=>[U,a.read(U)])),v=P(),V=[];for(let U of L.entries){if(!U.path.endsWith(".rip"))continue;if(V.push(U.path),U.deletion)delete v[U.path];else v[U.path]=U.source}let W,G;try{s.sources(v);let U=await s.compile(V);W=U.compiled,G=U.invalidated.filter((r1)=>!r1.startsWith("rip/")),J4({compiled:W,seed:o(W)})}catch(U){return s.sources(P()),w.add(L.hash),d("[Rip] changed Rip program failed to compile:",U),o2("compile",U),"rejected"}let T=L.entries.some((U)=>!U.path.endsWith(".rip")&&(!U.path.endsWith(".css")||U.deletion)),N=c.router.current,F=new Set([...N?.layouts??N?.route?.layouts??[],N?.route?.file].filter(Boolean)),J=L.entries.some((U)=>U.deletion&&U.path.endsWith(".rip")&&F.has(U.path));if(T||J)return s.sources(P()),"reload";let x=null,Q=!1;try{x=a.stage(A,{hash:L.hash,sources:v,compiled:W},V);let U=G.length?await S.absorb(G,x.components):"ignore";x.commit(),Q=!0,w.clear();for(let r1 of L.entries)if(r1.path.endsWith(".css"))b(r1.path,L.hash);if(Ae(),U==="reload")return p("[Rip] committed App update requires a document reload"),"reload";return!0}catch(U){if(x&&!Q)x.rollback();return s.sources(P()),w.add(L.hash),d("[Rip] changed Rip program failed to activate:",U),o2("activate",U),"rejected"}};if(i){let M=e.latestUrl??e.feed?.latestUrl??(e.url?ic(e.url,"latest.json"):"/latest.json");f=zr({hash:()=>a.hash(),apply:R,reload:m},{...e.feed??{},latestUrl:M,report:d})}return Object.assign(u,c,{workspace:a,feed:f,destroy:()=>{if(h)return;h=!0,Ae(),f?.close(),c.destroy(),s.dispose()}})}function Pf(e={}){return h2({...e,embeddedPackages:{...f2,...e.embeddedPackages}})}function Lf(e,t={}){if(t.runtimeDelivery!==void 0&&t.runtimeDelivery!=="none")throw Error(`rip: browser compilation delivers runtimes by scope; runtimeDelivery '${t.runtimeDelivery}' is not available here`);return kn(e,{...t,runtimeDelivery:"none"})}export{Jr as app,Cf as bootApp,Ae as clearHmrOverlay,kn as compile,Lf as compileToJS,Pf as createModuleLoader,f2 as embeddedPackages,tc as fetchBundle,xf as hmrOverlayElement,Df as processRipScripts,c2 as runtimes,o2 as showHmrOverlay}; +`;s.textContent=l+s2(t);let c=document.createElement("button");c.type="button",c.textContent="Dismiss",c.style.cssText=["position:absolute","top:0.5rem","right:0.5rem","padding:0.4rem 0.75rem","font:12px/1.2 system-ui,sans-serif","color:#0f172a","background:#fff","border:1px solid #cbd5e1","border-radius:6px","cursor:pointer"].join(";"),c.addEventListener("click",()=>Ae()),i.appendChild(s),i.appendChild(c),n.appendChild(i),n.addEventListener("click",(h)=>{if(h.target===n)Ae()});let f=(h)=>{if(h.key==="Escape")Ae()};if(n._ripOnKey=f,typeof document.addEventListener==="function")document.addEventListener("keydown",f);return r.appendChild(n),et=n,U4("reject",{kind:e||"compile",path:a2(t),message:s2(t).slice(0,500)}),n}function Ae(){if(!et)return;let e=et._ripOnKey;if(e&&typeof document<"u"&&typeof document.removeEventListener==="function")document.removeEventListener("keydown",e);et.remove?.(),et=null}function xf(){return et}var{validatePrepared:J4}=Jr,d2=(e)=>e!==null&&typeof e==="object"&&!Array.isArray(e),En=(e)=>typeof e==="string"&&/^[A-Za-z0-9_]{6}$/.test(e),m2=(e,t=!1)=>{if(typeof e!=="string"||e.length===0||e.startsWith("/")||e.includes("\\"))return!1;let r=e.split("/");if(r.some((n)=>!n||n==="."||n===".."||n.startsWith(".")))return!1;if(t){let n=r.at(-1);if(n===".rip"||!n.endsWith(".rip")||r.slice(0,-1).some((i)=>i.endsWith(".rip")))return!1}return!0},p2=(e,t)=>{let r=Object.keys(e).sort(),n=[...t].sort();return r.length===n.length&&r.every((i,s)=>i===n[s])},Z4=(e)=>{if(!d2(e)||!p2(e,["hash","list"])||!En(e.hash)||!Array.isArray(e.list))throw Error("rip: bundle must contain exactly one hash and one source list");let t={},r=null;for(let n of e.list){if(!Array.isArray(n)||n.length!==2||!m2(n[0],!0)||typeof n[1]!=="string"||r!==null&&r>=n[0])throw Error(`rip: bundle has a malformed or unsorted source entry: ${JSON.stringify(n)}`);if(n[0]==="rip/app"||n[0].startsWith("rip/app/"))throw Error(`rip: bundle source '${n[0]}' collides with embedded package 'rip/app'`);r=n[0],t[n[0]]=n[1]}return t},Q4=(e)=>{if(!d2(e)||!p2(e,["from","hash","list"])||!En(e.from)||!En(e.hash)||!Array.isArray(e.list))throw Error("rip: publication change must contain exactly from, hash, and list");let t=null,r=[];for(let n of e.list){if(!Array.isArray(n)||n.length<1||n.length>2||!m2(n[0])||t!==null&&t>=n[0])throw Error(`rip: publication change has a malformed or unsorted entry: ${JSON.stringify(n)}`);let[i]=n,s=n.length===2&&n[1]===null;if(i.endsWith(".rip")){if(n.length!==2||!s&&typeof n[1]!=="string")throw Error(`rip: Rip change '${i}' must carry source or null`)}else if(n.length===2&&!s)throw Error(`rip: ordinary asset change '${i}' cannot carry content`);t=i,r.push({path:i,source:n[1],deletion:s})}return{from:e.from,hash:e.hash,entries:r}},ec=async(e)=>{let t=await fetch(e);if(!t.ok)throw Error(`rip: failed to fetch bundle '${e}': ${t.status} ${t.statusText}`);return t.text()};async function tc(e,{fetchText:t=ec}={}){if(!e)throw Error("rip: fetchBundle requires a url");let r=await t(e),n=typeof r==="string"?r:r?.text;if(typeof n!=="string")throw Error(`rip: bundle '${e}' fetch did not return text`);try{return JSON.parse(n)}catch(i){throw Error(`rip: bundle '${e}' is not valid JSON: ${i.message}`)}}var rc=(e,t,{hmr:r=!1}={})=>{let n=new Map(Object.entries(e)),i=new Map,a=h2({components:{read:(o)=>n.get(o),exists:(o)=>n.has(o),getCompiled:(o)=>i.get(o),setCompiled:(o,l)=>void i.set(o,l)},embeddedPackages:f2,debug:t,hmr:r});return{sources(o){n=new Map(Object.entries(o))},async compile(o=[]){let l=new Set;for(let c of o)for(let f of a.invalidate(c))l.add(f);try{let c={};for(let f of n.keys())if(!f.startsWith("rip/"))c[f]={...await a.import(f)};return{compiled:c,invalidated:[...l]}}finally{await a.collect()}},dispose:()=>a.dispose()}},ic=(e,t)=>{let r=e.split("?")[0];return`${r.slice(0,r.lastIndexOf("/")+1)}${t}`};async function Cf(e={}){if(!e.bundle&&!e.url)throw Error("rip: bootApp requires a bundle or a url");let t=e.bundle??await tc(e.url,{fetchText:e.fetchText}),r=Z4(t),n=e.debug===!0,i=e.watch===!0||e.feed!=null,s=rc(r,n,{hmr:i}),a=Kr(),o=(M)=>M["seed.rip"]?.seed,l=(M)=>Hr({bundle:{compiled:M,seed:o(M)},components:a,target:e.target,adapter:e.adapter,base:e.base,hash:e.hash,persist:e.persist,storage:e.storage,onError:e.onError}),c;try{let{compiled:M}=await s.compile();a.activate({hash:t.hash,sources:r,compiled:M}),c=l(M)}catch(M){throw s.dispose(),M}let f=null,h=!1,u={},d=e.feed?.report??((...M)=>console.error(...M)),p=e.feed?.report??((...M)=>console.info(...M)),m=(M)=>{if(Ae(),p(`[Rip] reloading${M?` — ${M}`:""}`),typeof e.reload==="function")e.reload(M);else if(typeof location<"u")location.reload()},g=(M)=>{if(typeof document>"u"||typeof document.querySelectorAll!=="function")return[];let L=new Set,A=new URL(typeof location>"u"?"http://rip.invalid/":location.href),P=new URL("/",A);P.pathname=`/${M.replaceAll("%","%25")}`;let v=P.pathname;for(let V of document.querySelectorAll('link[rel="stylesheet"]')){let H=V.getAttribute("data-rip-css")===M;if(H)L.add(V);let G=V.getAttribute("href")||"";if(!G)continue;let T;try{T=new URL(G,A)}catch{continue}if(!H&&T.origin===A.origin&&(T.pathname===v||T.pathname.endsWith(v)))L.add(V)}return[...L]},b=(M,L)=>{for(let A of g(M)){let P=A.getAttribute("href")||A.href,v=P.indexOf("#"),V=v<0?"":P.slice(v),G=(v<0?P:P.slice(0,v)).split("?")[0];A.setAttribute("href",`${G}?hash=${encodeURIComponent(L)}${V}`),A.disabled=!1}},S=qr({renderer:{remountDirty:(M,L)=>c.renderer.remountDirty(M,L)},escape:async()=>"reload",report:p}),w=new Set,R=async(M)=>{let L;try{L=Q4(M)}catch(U){return d("[Rip] malformed publication change:",U),"reload"}if(a.hash()===L.hash)return w.clear(),Ae(),!0;if(w.has(L.hash))return!0;let A=L.from;if(a.hash()!==L.from)if(w.has(L.from))A=a.hash();else return"reload";let P=()=>Object.fromEntries(a.listAll().map((U)=>[U,a.read(U)])),v=P(),V=[];for(let U of L.entries){if(!U.path.endsWith(".rip"))continue;if(V.push(U.path),U.deletion)delete v[U.path];else v[U.path]=U.source}let H,G;try{s.sources(v);let U=await s.compile(V);H=U.compiled,G=U.invalidated.filter((i1)=>!i1.startsWith("rip/")),J4({compiled:H,seed:o(H)})}catch(U){return s.sources(P()),w.add(L.hash),d("[Rip] changed Rip program failed to compile:",U),o2("compile",U),"rejected"}let T=L.entries.some((U)=>!U.path.endsWith(".rip")&&(!U.path.endsWith(".css")||U.deletion)),N=c.router.current,F=new Set([...N?.layouts??N?.route?.layouts??[],N?.route?.file].filter(Boolean)),J=L.entries.some((U)=>U.deletion&&U.path.endsWith(".rip")&&F.has(U.path));if(T||J)return s.sources(P()),"reload";let x=null,e1=!1;try{x=a.stage(A,{hash:L.hash,sources:v,compiled:H},V);let U=G.length?await S.absorb(G,x.components):"ignore";x.commit(),e1=!0,w.clear();for(let i1 of L.entries)if(i1.path.endsWith(".css"))b(i1.path,L.hash);if(Ae(),U==="reload")return p("[Rip] committed App update requires a document reload"),"reload";return!0}catch(U){if(x&&!e1)x.rollback();return s.sources(P()),w.add(L.hash),d("[Rip] changed Rip program failed to activate:",U),o2("activate",U),"rejected"}};if(i){let M=e.latestUrl??e.feed?.latestUrl??(e.url?ic(e.url,"latest.json"):"/latest.json");f=zr({hash:()=>a.hash(),apply:R,reload:m},{...e.feed??{},latestUrl:M,report:d})}return Object.assign(u,c,{workspace:a,feed:f,destroy:()=>{if(h)return;h=!0,Ae(),f?.close(),c.destroy(),s.dispose()}})}function Pf(e={}){return h2({...e,embeddedPackages:{...f2,...e.embeddedPackages}})}function Lf(e,t={}){if(t.runtimeDelivery!==void 0&&t.runtimeDelivery!=="none")throw Error(`rip: browser compilation delivers runtimes by scope; runtimeDelivery '${t.runtimeDelivery}' is not available here`);return kn(e,{...t,runtimeDelivery:"none"})}export{Jr as app,Cf as bootApp,Ae as clearHmrOverlay,kn as compile,Lf as compileToJS,Pf as createModuleLoader,f2 as embeddedPackages,tc as fetchBundle,xf as hmrOverlayElement,Df as processRipScripts,c2 as runtimes,o2 as showHmrOverlay}; diff --git a/dist/@rip/rip.min.js.br b/dist/@rip/rip.min.js.br index 8ff9b2ff..8e2e139c 100644 Binary files a/dist/@rip/rip.min.js.br and b/dist/@rip/rip.min.js.br differ diff --git a/packages/tui/TODO.md b/packages/tui/TODO.md index 8ceaa2f2..c1da200f 100644 --- a/packages/tui/TODO.md +++ b/packages/tui/TODO.md @@ -94,7 +94,3 @@ steps are in [PLAN.md](PLAN.md). - A spelling for a capture listener in a render block. The package reads a type that ends in `Capture` (`@keydownCapture:`), since `@name:` is always `addEventListener(name, handler)` with no third argument. -- A name that is not defined, read as a prop of an element that holds a - keyed `for`, surfaces as a reconciler `TypeError` (`anchor.parentNode`, - `src/runtime/components.js:590`) with no node named, where the same - read on an element without the `for` surfaces as the `ReferenceError`. diff --git a/packages/tui/test.rip b/packages/tui/test.rip index 5d78cdc6..0c0b2859 100644 --- a/packages/tui/test.rip +++ b/packages/tui/test.rip @@ -260,6 +260,23 @@ test "a child that fails to construct fails the mount, through the runtime's rep console.error = held eq printed, [] +test "a child that fails to construct while holding a keyed for fails the mount with its own error", -> + Listed = component + @items := ['a'] + render + Box flexDirection: 'column' + Box contentOffsetY: nosuchname + for item, n in @items + Text key: n, "#{item}" + held = console.error + printed = [] + console.error = (label) -> printed.push label + try + throws (-> renderToString Listed), ReferenceError, 'nosuchname is not defined' + finally + console.error = held + eq printed, [] + test "restore hands the runtime its own reporter back", -> renderToString (component render diff --git a/src/emitter.js b/src/emitter.js index 77cb76b8..868b48ad 100644 --- a/src/emitter.js +++ b/src/emitter.js @@ -12104,8 +12104,33 @@ class Emitter { line(() => this.b.emit(`{ const ${kidV} = ${instVar}._beginProjection(${self()}); try {`)); const outerHost = this.projectionHost; this.projectionHost = instVar; + const from = rec.setups.length; let childrenVar; try { childrenVar = projection(); } finally { this.projectionHost = outerHost; } + // The projection's setups — its lists, its branches, its text + // bindings — run only while the child stands: a child whose + // construction failed is null at its construct site, and the + // nodes and anchors those setups drive may never have been made. + // Their error would mask the child's own. A projected child's + // latch is the exception, in its place: it guards itself, and a + // child the projection made must leave `mounting` to unmount. + const guard = (setups) => ({ + kind: 'raw', + node: null, + fn: (pad) => { + this.b.emit(`${pad}if (${instVar}) {\n`); + this.replaySetups({ setups }, `${pad} `); + this.b.emit(`${pad}}\n`); + }, + }); + let run = []; + for (const s of rec.setups.splice(from)) { + if (s.latch !== true) { run.push(s); continue; } + if (run.length > 0) rec.setups.push(guard(run)); + run = []; + rec.setups.push(s); + } + if (run.length > 0) rec.setups.push(guard(run)); line(() => this.b.emit(`} finally { ${instVar}._endProjection(${kidV}); } }`)); line(() => this.b.emit(`${instVar}._setChildren(${childrenVar});`)); } @@ -12191,6 +12216,7 @@ class Emitter { // the placeholder rather than the detached failed root. ── rec.setups.push({ kind: 'raw', + latch: true, fn: (pad) => { this.b.emit(pad); const emitLatch = () => { diff --git a/src/runtime/components.js b/src/runtime/components.js index 350bc293..1f12034c 100644 --- a/src/runtime/components.js +++ b/src/runtime/components.js @@ -587,6 +587,12 @@ function __lis(arr) { } function __reconcile(anchor, state, items, ctx, factory, keyFn, ...outer) { + // The anchor is the comment the list's create phase placed; a list + // whose create phase never ran has none, and reconciling against + // nothing is a contract violation, not a list with no parent. + if (anchor == null) { + throw new Error('__reconcile: no anchor — the list\'s create phase never placed one'); + } const parent = anchor.parentNode; if (!parent) return; diff --git a/test/ui/components.test.js b/test/ui/components.test.js index ea308a24..7da77564 100644 --- a/test/ui/components.test.js +++ b/test/ui/components.test.js @@ -1730,6 +1730,103 @@ describe('child components: the instantiation protocol', () => { } }); + test('a child whose construction throws while holding projected blocks is contained at its construct site: the report is its own error, and the mount stands', () => { + const source = `Kid = component + render + b "kid" +Wrap = component + render + div + slot +Broken = component + render + div title: missing + slot +App = component + items := ['a'] + show := true + name := 'n' + render + div + Wrap title: nosuchname + for item, i in items + span key: i, "#{item}" + if show + em "shown" + span "#{name}" + Broken + Kid + for item, i in items + span key: i, "#{item}" + strong "kept" +`; + const { code } = compile(source, { runtimeDelivery: 'none' }); + const names = Object.keys(RT); + const { App } = new Function(...names, `${code}\nreturn { App };`)(...names.map((name) => RT[name])); + const target = document.createElement('main'); + const app = new App({}); + const prior = console.error; + const reported = []; + console.error = (label, error) => reported.push([label, error]); + try { + app.mount(target); + const stood = '
kept
'; + expect(serialize(target)).toBe(stood); + app.items.value = ['a', 'b']; + app.show.value = false; + app.name.value = 'm'; + expect(serialize(target)).toBe(stood); + app.unmount(); + } finally { + console.error = prior; + } + expect(reported.map(([label, error]) => [label, error?.constructor, error?.message])).toEqual([ + ['[Rip] Wrap construction failed:', ReferenceError, 'nosuchname is not defined'], + ['[Rip] Broken construction failed:', ReferenceError, 'missing is not defined'], + ]); + }); + + test('a child whose _init a boundary contained holds no projected blocks: the mount stands on the init placeholder', () => { + const source = `caught = [] +Bad = component + x := nosuchname + render + div + slot +App = component + items := ['a'] + onError = (failure) -> caught.push failure + render + div + Bad + for item, i in items + span key: i, "#{item}" +`; + const { code } = compile(source, { runtimeDelivery: 'none' }); + const names = Object.keys(RT); + const { App, caught } = new Function(...names, `${code}\nreturn { App, caught };`)(...names.map((name) => RT[name])); + const target = document.createElement('main'); + const app = new App({}); + const prior = console.error; + const printed = []; + console.error = (...args) => printed.push(args); + try { + app.mount(target); + } finally { + console.error = prior; + } + try { + expect(printed).toEqual([]); + expect(caught).toHaveLength(1); + expect(caught[0].error).toBeInstanceOf(ReferenceError); + expect(serialize(target)).toBe('
'); + app.items.value = ['a', 'b']; + expect(serialize(target)).toBe('
'); + } finally { + app.unmount(); + } + }); + test('failed factory children transfer ownership to their placeholders across keyed moves, removal, and branch replacement', () => { const source = `failedRoots = [] Bad = component