rip-lang 3.13.129 → 3.13.130
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -6
- package/docs/RIP-LANG.md +12 -0
- package/docs/dist/rip.js +469 -364
- package/docs/dist/rip.min.js +151 -149
- package/docs/dist/rip.min.js.br +0 -0
- package/docs/ui/hljs-rip.js +7 -0
- package/package.json +1 -1
- package/src/AGENTS.md +1 -0
- package/src/compiler.js +36 -4
- package/src/components.js +17 -8
- package/src/grammar/grammar.rip +40 -0
- package/src/lexer.js +31 -8
- package/src/parser.js +223 -221
- package/src/sourcemap-utils.js +46 -2
- package/src/typecheck.js +39 -9
- package/src/types.js +5 -5
package/docs/dist/rip.min.js
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
(()=>{var{defineProperty:m1,getOwnPropertyNames:G3,getOwnPropertyDescriptor:H3}=Object,O3=Object.prototype.hasOwnProperty;function q3(f){return this[f]}var E3=(f)=>{var w=(
|
|
2
|
-
`):[];for(let M=0;M<f.length;M++){let I=f[M][0];if(I==="REACTIVE_ASSIGN")Z=!0;else if(I==="COMPUTED_ASSIGN")Y=!0}let Q=(M,I,E)=>{if(I.startsWith("{ ")&&I.endsWith(" }")){let D=0,H=-1;for(let P=0;P<I.length;P++)if(I[P]==="{")D++;else if(I[P]==="}"){if(D--,D===0){H=P;break}}if(H===I.length-1){let P=I.slice(2,-2).split("; ").filter((N)=>N.trim());if(P.length>0){_.push(`${F()}${M}{`),u++;for(let N of P)_.push(`${F()}${N};`);u--,_.push(`${F()}}${E}`);return}}}_.push(`${F()}${M}${I}${E}`)},X=(M,I)=>{I++;let E=0;while(I<M.length){let D=M[I];if(D[0]==="("||D[0]==="["||D[0]==="{")E++;if(D[0]===")"||D[0]==="]"||D[0]==="}"){if(E===0)break;E--}if(E===0&&D[1]===",")break;I++}return I},J=(M,I)=>{let E=[],D=!1,H=I+1,P=1;while(H<M.length&&P>0){if(M[H][0]==="{")P++;if(M[H][0]==="}")P--;if(P<=0){H++;break}if(M[H][0]==="..."||M[H][0]==="SPREAD"){if(H++,M[H]?.[0]==="IDENTIFIER")E.push({kind:"rest",propName:M[H][1]}),H++;continue}if(M[H][0]==="PROPERTY"&&M[H+1]?.[0]===":"){let B=M[H][1];if(H+=2,M[H]?.[0]==="{"){let h=J(M,H);if(h.hasAnyType)D=!0;E.push({kind:"nested-obj",propName:B,inner:h}),H=h.endJ;continue}if(M[H]?.[0]==="["){let h=O(M,H);if(h.hasAnyType)D=!0;E.push({kind:"nested-arr",propName:B,inner:h}),H=h.endJ;continue}if(M[H]?.[0]==="IDENTIFIER"){let h=M[H][1],j=M[H].data?.type;if(j)D=!0;let S=M[H+1]?.[0]==="=";if(E.push({kind:"rename",propName:B,localName:h,type:j?u1(j):null,hasDefault:S}),H++,S)H=X(M,H)}continue}if(M[H][0]==="IDENTIFIER"){let B=M[H][1],h=M[H].data?.type;if(h)D=!0;let j=M[H+1]?.[0]==="=";if(E.push({kind:"simple",propName:B,type:h?u1(h):null,hasDefault:j}),H++,j)H=X(M,H);continue}H++}let N=[],L=[];for(let B of E)if(B.kind==="rest")N.push(`...${B.propName}`),L.push("[key: string]: unknown");else if(B.kind==="nested-obj"||B.kind==="nested-arr")N.push(`${B.propName}: ${B.inner.patternStr}`),L.push(`${B.propName}: ${B.inner.typeStr}`);else if(B.kind==="rename")N.push(`${B.propName}: ${B.localName}`),L.push(`${B.propName}${B.hasDefault?"?":""}: ${B.type||"any"}`);else N.push(B.propName),L.push(`${B.propName}${B.hasDefault?"?":""}: ${B.type||"any"}`);return{patternStr:`{${N.join(", ")}}`,typeStr:`{${L.join(", ")}}`,endJ:H,hasAnyType:D}},O=(M,I)=>{let E=[],D=[],H=!1,P=I+1,N=1;while(P<M.length&&N>0){if(M[P][0]==="[")N++;if(M[P][0]==="]")N--;if(N>0&&M[P][0]==="IDENTIFIER"){let L=M[P][1],B=M[P].data?.type;if(E.push(L),D.push(B?u1(B):null),B)H=!0}P++}return{patternStr:`[${E.join(", ")}]`,typeStr:`[${D.map((L)=>L||"any").join(", ")}]`,endJ:P,hasAnyType:H}},K=(M,I)=>{let E=[],D=[],H=I,P=M[H]?.[0];if(P!=="CALL_START"&&P!=="PARAM_START")return{params:E,fields:D,endIdx:H};let N=P==="CALL_START"?"CALL_END":"PARAM_END";H++;let L=0;while(H<M.length&&!(M[H][0]===N&&L===0)){let B=M[H];if(B[1]===","&&L===0){H++;continue}if(B[0]==="{"||B[0]==="["||B[0]==="CALL_START"||B[0]==="PARAM_START"||B[0]==="INDEX_START")L++;if(B[0]==="}"||B[0]==="]"||B[0]==="CALL_END"||B[0]==="PARAM_END"||B[0]==="INDEX_END"){L--,H++;continue}if(B[0]==="@"){if(H++,M[H]?.[0]==="PROPERTY"||M[H]?.[0]==="IDENTIFIER"){let h=M[H][1],j=M[H].data?.type;if(E.push(j?`${h}: ${u1(j)}`:h),j)D.push({name:h,type:u1(j)});H++}continue}if(B[0]==="SPREAD"||B[1]==="..."){if(H++,M[H]?.[0]==="IDENTIFIER"){let h=M[H][1],j=M[H].data?.type;E.push(j?`...${h}: ${u1(j)}`:`...${h}: any[]`),H++}continue}if(B[0]==="{"){L--;let h=J(M,H);if(H=h.endJ,h.hasAnyType)E.push(`${h.patternStr}: ${h.typeStr}`);else E.push(h.patternStr);continue}if(B[0]==="["){L--;let h=O(M,H);if(H=h.endJ,h.hasAnyType)E.push(`${h.patternStr}: ${h.typeStr}`);else E.push(h.patternStr);continue}if(B[0]==="IDENTIFIER"){let h=B[1],j=B.data?.type,S=!1;if(M[H+1]?.[0]==="=")S=!0;let p=S||B.data?.predicate;if(j)E.push(`${h}${p?"?":""}: ${u1(j)}`);else E.push(h);if(H++,S){H++;let T=0;while(H<M.length){let C=M[H];if(C[0]==="("||C[0]==="["||C[0]==="{")T++;if(C[0]===")"||C[0]==="]"||C[0]==="}")T--;if(T===0&&(C[1]===","||C[0]==="CALL_END"))break;H++}}continue}H++}return{params:E,fields:D,endIdx:H}};for(let M=0;M<f.length;M++){let I=f[M],E=I[0],D=!1;if(E==="EXPORT"){if(D=!0,M++,M>=f.length)break;if(I=f[M],E=I[0],E==="DEFAULT"){if(M++,M>=f.length)break;if(I=f[M],E=I[0],E==="IDENTIFIER")_.push(`${F()}export default ${I[1]};`);continue}}if(E==="IMPORT"){let H=[],P=M+1;while(P<f.length&&f[P][0]!=="TERMINATOR")H.push(f[P]),P++;let N="import "+H.map((L)=>L[1]).join(" ");N=N.replace(/\s+/g," ").replace(/\s*,\s*/g,", ").replace(/\{\s*/g,"{ ").replace(/\s*\}/g," }").trim(),_.push(`${F()}${N};`),M=P;continue}if(E==="TYPE_DECL"){let H=I.data;if(!H)continue;let P=D||H.exported?"export ":"",N=H.typeParams||"";if(H.kind==="interface"){let L=H.extends?` extends ${H.extends}`:"";Q(`${P}interface ${H.name}${N}${L} `,H.typeText||"{}","")}else{let L=u1(H.typeText||"");Q(`${P}type ${H.name}${N} = `,L,";")}continue}if(E==="ENUM"){let H=D?"export ":"",P=f[M+1];if(!P)continue;let N=P[1],L=M+2;if(f[L]?.[0]==="INDENT"){_.push(`${F()}${H}enum ${N} {`),u++,L++;let B=[];while(L<f.length&&f[L][0]!=="OUTDENT"){if(f[L][0]==="TERMINATOR"){L++;continue}if(f[L][0]==="IDENTIFIER"){let h=f[L][1];if(L++,f[L]?.[1]==="="){L++;let j=f[L]?.[1];B.push(`${h} = ${j}`),L++}else B.push(h)}else L++}for(let h=0;h<B.length;h++){let j=h<B.length-1?",":"";_.push(`${F()}${B[h]}${j}`)}u--,_.push(`${F()}}`)}continue}if(E==="CLASS"){let H=D?"export ":"",P=f[M+1];if(!P)continue;let N=P[1],L="",B=M+2;if(f[B]?.[0]==="EXTENDS")L=` extends ${f[B+1]?.[1]||""}`,B+=2;if(f[B]?.[0]==="INDENT"){let h=!1,j=B+1;while(j<f.length&&f[j][0]!=="OUTDENT"){if(f[j].data?.type||f[j].data?.returnType){h=!0;break}j++}if(h)_.push(`${F()}${H}declare class ${N}${L} {`),A=!0,W.clear(),u++}continue}if(E==="DEF"){let H=f[M+1];if(!H)continue;let P=H[1],N=H.data?.returnType;if(!N&&H.data?.await===!0)N="void";let L=H.data?.typeParams||"",{params:B,endIdx:h}=K(f,M+2);if(N||B.some((j)=>j.includes(":"))){let j=D?"export ":"",S=A?"":D?"":"declare ",p=N?`: ${u1(N)}`:"",T=B.join(", ");if(A)_.push(`${F()}${P}${L}(${T})${p};`);else _.push(`${F()}${j}${S}function ${P}${L}(${T})${p};`)}M=h;continue}if(E==="{"&&A){let H=M+1,P=1;while(H<f.length&&P>0){let N=f[H];if(N[0]==="{"){P++,H++;continue}if(N[0]==="}"){P--,H++;continue}if(N[0]==="TERMINATOR"){H++;continue}if(N[0]==="PROPERTY"&&P===1){let L=N[1],B=N.data?.returnType;if(H++,f[H]?.[1]===":")H++;let h=[],j=[];if(f[H]?.[0]==="PARAM_START"){let S=K(f,H);h=S.params,j=S.fields,H=S.endIdx+1}if(f[H]?.[0]==="->"||f[H]?.[0]==="=>")H++;if(f[H]?.[0]==="INDENT"){let S=1;H++;while(H<f.length&&S>0){if(f[H][0]==="INDENT")S++;if(f[H][0]==="OUTDENT")S--;H++}}if(B||h.some((S)=>S.includes(":"))){let S=B?`: ${u1(B)}`:"",p=h.join(", ");if(L==="constructor"&&j.length){for(let T of j)if(!W.has(T.name))_.push(`${F()}${T.name}: ${T.type};`),W.add(T.name)}_.push(`${F()}${L}(${p})${S};`)}continue}H++}M=H-1;continue}if(E==="INDENT")continue;if(E==="OUTDENT"){if(A)u--,_.push(`${F()}}`),A=!1;continue}if(E==="IDENTIFIER"&&!A&&f[M+1]?.[0]==="="&&(f[M+2]?.[0]==="PARAM_START"||f[M+2]?.[0]==="(")){let H=I[1],P=M+2,{params:N}=K(f,P),L=P,B=0;while(L<f.length){if(f[L][0]==="PARAM_START"||f[L][0]==="(")B++;if(f[L][0]==="PARAM_END"||f[L][0]===")")B--;if(B===0&&(f[L][0]==="->"||f[L][0]==="=>"))break;L++}let h=f[L]?.data?.returnType;if(h||N.some((j)=>j.includes(":"))){let j=D?"export ":"",S=D?"":"declare ",p=h?`: ${u1(h)}`:"",T=N.join(", ");_.push(`${F()}${j}${S}function ${H}(${T})${p};`);continue}}if(E==="IDENTIFIER"&&I.data?.type){let H=I[1],P=u1(I.data.type),N=f[M+1];if(N){let L=D?"export ":"",B=D?"":"declare ";if(N[0]==="READONLY_ASSIGN")_.push(`${F()}${L}${B}const ${H}: ${P};`);else if(N[0]==="REACTIVE_ASSIGN")Z=!0,_.push(`${F()}${L}${B}const ${H}: Signal<${P}>;`);else if(N[0]==="COMPUTED_ASSIGN")Y=!0,_.push(`${F()}${L}${B}const ${H}: Computed<${P}>;`);else if(N[0]==="EFFECT")_.push(`${F()}${L}${B}const ${H}: () => void;`);else if(N[0]==="="){let h=M+2;if(f[h]?.[0]==="PARAM_START"){let S=1,p=h+1;while(p<f.length&&S>0){if(f[p][0]==="PARAM_START")S++;if(f[p][0]==="PARAM_END")S--;p++}h=p}let j=f[h];if(j&&(j[0]==="->"||j[0]==="=>")&&j.data?.returnType){let S=u1(j.data.returnType),{params:p}=K(f,M+2),T=p.join(", ");_.push(`${F()}${L}${B}function ${H}(${T}): ${S};`)}else if(A)_.push(`${F()}${H}: ${P};`),W.add(H);else _.push(`${F()}${L}let ${H}: ${P};`)}else if(A)_.push(`${F()}${H}: ${P};`),W.add(H)}else if(A)_.push(`${F()}${H}: ${P};`)}}let q=new Set;if(w){if(R=i1(w,_,F,u,q,z)||R,q.size>0)for(let M=_.length-1;M>=0;M--){let I=_[M].match(/(?:declare |export )*(?:const|let) (\w+)/);if(I&&q.has(I[1]))_.splice(M,1)}}if(_.length===0)return null;let G=[];if(R)G.push("type __RipElementMap = HTMLElementTagNameMap & Omit<SVGElementTagNameMap, keyof HTMLElementTagNameMap>;"),G.push("type __RipTag = keyof __RipElementMap;"),G.push("type __RipBrowserElement = Omit<HTMLElement, 'querySelector' | 'querySelectorAll' | 'closest' | 'setAttribute' | 'hidden'> & { hidden: boolean | 'until-found'; setAttribute(qualifiedName: string, value: any): void; querySelector(selectors: string): __RipBrowserElement | null; querySelectorAll(selectors: string): NodeListOf<__RipBrowserElement>; closest(selectors: string): __RipBrowserElement | null; };"),G.push("type __RipDomEl<K extends __RipTag> = Omit<__RipElementMap[K], 'querySelector' | 'querySelectorAll' | 'closest' | 'setAttribute' | 'hidden'> & __RipBrowserElement;"),G.push("type __RipAttrKeys<T> = { [K in keyof T]-?: K extends 'style' ? never : T[K] extends (...args: any[]) => any ? never : K }[keyof T] & string;"),G.push("type __RipEvents = { [K in keyof HTMLElementEventMap as `@${K}`]?: ((event: HTMLElementEventMap[K]) => void) | null };"),G.push("type __RipProps<K extends __RipTag> = { [P in __RipAttrKeys<__RipElementMap[K]>]?: __RipElementMap[K][P] } & __RipEvents & { ref?: string; class?: string; style?: string; [k: `data-${string}`]: any; [k: `aria-${string}`]: any };");if(/\bARIA\./.test(U))G.push("type __RipAriaNavHandlers = { next?: () => void; prev?: () => void; first?: () => void; last?: () => void; select?: () => void; dismiss?: () => void; tab?: () => void; char?: () => void; };"),G.push("declare const ARIA: {"),G.push(" bindPopover(open: boolean, popover: () => Element | null | undefined, setOpen: (isOpen: boolean) => void, source?: (() => Element | null | undefined) | null): void;"),G.push(" bindDialog(open: boolean, dialog: () => Element | null | undefined, setOpen: (isOpen: boolean) => void, dismissable?: boolean): void;"),G.push(" popupDismiss(open: boolean, popup: () => Element | null | undefined, close: () => void, els?: Array<() => Element | null | undefined>, repos?: (() => void) | null): void;"),G.push(" popupGuard(delay?: number): any;"),G.push(" listNav(event: KeyboardEvent, handlers: __RipAriaNavHandlers): void;"),G.push(" rovingNav(event: KeyboardEvent, handlers: __RipAriaNavHandlers, orientation?: 'vertical' | 'horizontal' | 'both'): void;"),G.push(" positionBelow(trigger: Element | null | undefined, popup: Element | null | undefined, gap?: number, setVisible?: boolean): void;"),G.push(" position(trigger: Element | null | undefined, floating: Element | null | undefined, opts?: any): void;"),G.push(" trapFocus(panel: Element | null | undefined): void;"),G.push(" wireAria(panel: Element, id: string): void;"),G.push(" lockScroll(instance: any): void;"),G.push(" unlockScroll(instance: any): void;"),G.push(" hasAnchor: boolean;"),G.push(" [key: string]: any;"),G.push("};");if(Z)G.push("interface Signal<T> { value: T; read(): T; lock(): Signal<T>; free(): Signal<T>; kill(): T; }"),G.push("declare function __state<T>(value: T | Signal<T>): Signal<T>;");if(Y)G.push("interface Computed<T> { readonly value: T; read(): T; lock(): Computed<T>; free(): Computed<T>; kill(): T; }"),G.push("declare function __computed<T>(fn: () => T): Computed<T>;");if(Z||Y)G.push("declare function __effect(fn: () => void | (() => void)): () => void;");if(G.length>0)G.push("");return G.concat(_).join(`
|
|
1
|
+
(()=>{var{defineProperty:m1,getOwnPropertyNames:G3,getOwnPropertyDescriptor:H3}=Object,O3=Object.prototype.hasOwnProperty;function q3(f){return this[f]}var E3=(f)=>{var w=(R2??=new WeakMap).get(f),A;if(w)return w;if(w=m1({},"__esModule",{value:!0}),f&&typeof f==="object"||typeof f==="function"){for(var _ of G3(f))if(!O3.call(w,_))m1(w,_,{get:q3.bind(f,_),enumerable:!(A=H3(f,_))||A.enumerable})}return R2.set(f,w),w},R2;var P3=(f)=>f;function I3(f,w){this[f]=P3.bind(null,w)}var Z2=(f,w)=>{for(var A in w)m1(f,A,{get:w[A],enumerable:!0,configurable:!0,set:I3.bind(w,A)})};var T4={};Z2(T4,{rip:()=>b2,processRipScripts:()=>y2,parser:()=>M1,importRip:()=>J1,getStdlibCode:()=>B1,getReactiveRuntime:()=>L1,getComponentRuntime:()=>N1,formatSExpr:()=>F1,compileToJS:()=>Y1,compile:()=>y1,VERSION:()=>c2,Lexer:()=>Z1,Compiler:()=>I1,CodeGenerator:()=>f1,BUILD_DATE:()=>j2});function D2(f){let w=f.prototype;w.rewriteTypes=function(){let A=this.tokens,_=(u,$,F)=>{let U=[u,$];if(U.pre=0,U.data=null,U.loc=F?.loc??{r:0,c:0,n:0},U.spaced=!1,U.newLine=!1,U.generated=!0,F)U.origin=F;return U};this.scanTokens((u,$,F)=>{let U=u[0];if(U==="IDENTIFIER"){let W=F[$+1];if(W&&W[0]==="COMPARE"&&W[1]==="<"&&!W.spaced){let Z=F[$-1]?.[0]==="DEF",Y=M2(F,$+1);if(Y&&Z){if(!u.data)u.data={};if(u.data.typeParams=X1(Y),F.splice($+1,Y.length),F[$+1]?.[0]==="("){F[$+1][0]="CALL_START";let R=1,z=$+2;while(z<F.length&&R>0){if(F[z][0]==="("||F[z][0]==="CALL_START")R++;if(F[z][0]===")"||F[z][0]==="CALL_END")R--;if(R===0)F[z][0]="CALL_END";z++}}}}}if(U==="TYPE_ANNOTATION"){let W=F[$-1];if(!W)return 1;let Z=z2(F,$+1),Y=X1(Z),R=W,z="type";if(W[0]==="CALL_END"||W[0]===")"){let D=1,J=$-2;while(J>=0&&D>0){let O=F[J][0];if(O==="CALL_END"||O===")")D++;if(O==="CALL_START"||O==="(")D--;J--}if(J>=0)R=F[J];z="returnType"}else if(W[0]==="PARAM_END"){let D=$+1+Z.length,J=F[D];if(J&&(J[0]==="->"||J[0]==="=>"))R=J;z="returnType"}else if(W[0]==="IDENTIFIER"&&$>=2&&F[$-2]?.[0]==="DEF")z="returnType";if(!R.data)R.data={};R.data[z]=Y;let M=1+Z.length;return F.splice($,M),0}if(U==="IDENTIFIER"&&u[1]==="type"){let W=F[$-1]?.[0];if(!(!W||W==="TERMINATOR"||W==="INDENT"||W==="EXPORT"))return 1;let Y=$+1,R=F[Y];if(!R||R[0]!=="IDENTIFIER")return 1;let z=R[1],M=W==="EXPORT",D=M?$-1:$,J=Y+1;if(F[J]?.[0]==="COMPARE"&&F[J]?.[1]==="<"&&!F[J].spaced){let G=M2(F,J);if(G){if(!R.data)R.data={};R.data.typeParams=X1(G),F.splice(J,G.length)}}if(F[J]?.[0]!=="=")return 1;let O=(G)=>{let I=_("TYPE_DECL",z,R);if(I.data={name:z,typeText:G,exported:M},R.data?.typeParams)I.data.typeParams=R.data.typeParams;return I},Q=J+1,q=F[Q];if(q&&(q[0]==="TERMINATOR"||q[0]==="INDENT")){let G=B3(F,Q);if(G)return F.splice(D,G.endIdx-D+1,O(G.typeText)),0}if(q&&q[0]==="INDENT"){let G=k1(F,Q);return F.splice(D,G-D+1,O(Q2(F,Q))),0}let X=z2(F,Q);return F.splice(D,Q+X.length-D,O(X1(X))),0}if(U==="INTERFACE"){let W=$>=1&&F[$-1]?.[0]==="EXPORT",Z=$+1,Y=F[Z];if(!Y)return 1;let R=Y[1],z=null,M=Z+1;if(F[M]?.[0]==="EXTENDS")z=F[M+1]?.[1],M=M+2;if(F[M]?.[0]==="INDENT"){let D=Q2(F,M),J=k1(F,M),O=_("TYPE_DECL",R,Y);O.data={name:R,kind:"interface",extends:z,typeText:D,exported:W};let Q=W?$-1:$,q=J-Q+1;return F.splice(Q,q,O),0}return 1}return 1})}}function z2(f,w){let A=[],_=0;while(w<f.length){let u=f[w],$=u[0],F=$==="("||$==="["||$==="{"||$==="CALL_START"||$==="PARAM_START"||$==="INDEX_START"||$==="COMPARE"&&u[1]==="<",U=$===")"||$==="]"||$==="}"||$==="CALL_END"||$==="PARAM_END"||$==="INDEX_END"||$==="COMPARE"&&u[1]===">";if($==="SHIFT"&&u[1]===">>"&&_>=2){_-=2,A.push(u),w++;continue}if(F){_++,A.push(u),w++;continue}if(U){if(_>0){_--,A.push(u),w++;continue}break}if(_===0){if($==="="||$==="REACTIVE_ASSIGN"||$==="COMPUTED_ASSIGN"||$==="READONLY_ASSIGN"||$==="EFFECT"||$==="TERMINATOR"||$==="INDENT"||$==="OUTDENT"||$==="->"||$===",")break}A.push(u),w++}return A}function X1(f){if(f.length===0)return"";if(f[0]?.[0]==="=>")f.unshift(["","()"]);let w=f.map((A)=>A[1]).join(" ").replace(/\s+/g," ").trim();return w=w.replace(/\s*<\s*/g,"<").replace(/\s*>\s*/g,">").replace(/\s*\[\s*/g,"[").replace(/\s*\]\s*/g,"]").replace(/\s*\(\s*/g,"(").replace(/\s*\)\s*/g,")").replace(/\s*,\s*/g,", ").replace(/\s*=>\s*/g," => ").replace(/ :: /g,": ").replace(/:: /g,": "),w}function M2(f,w){if(w>=f.length)return null;let A=f[w];if(A[0]!=="COMPARE"||A[1]!=="<")return null;let _=[A],u=1,$=w+1;while($<f.length&&u>0){let F=f[$];if(_.push(F),F[0]==="COMPARE"&&F[1]==="<")u++;else if(F[0]==="COMPARE"&&F[1]===">")u--;$++}return u===0?_:null}function Q2(f,w){let A=[],_=w+1,u=1;while(_<f.length&&u>0){let $=f[_];if($[0]==="INDENT"){u++,_++;continue}if($[0]==="OUTDENT"){if(u--,u===0)break;_++;continue}if($[0]==="TERMINATOR"){_++;continue}let F=$[0]==="PROPERTY"||$[0]==="IDENTIFIER"||u===1&&/^[a-zA-Z_$]/.test($[1])&&f[_+1]?.[0]==="TYPE_ANNOTATION";if(u===1&&F){let U=$[1],W=!1,Z=!1;if(_++,U==="readonly"&&f[_]&&(f[_][0]==="PROPERTY"||f[_][0]==="IDENTIFIER"||/^[a-zA-Z_$]/.test(f[_][1])&&f[_+1]?.[0]==="TYPE_ANNOTATION")){if(Z=!0,U=f[_][1],f[_].data?.predicate)W=!0;_++}if($.data?.predicate)W=!0;if(f[_]?.[1]==="?"&&!f[_]?.spaced)W=!0,_++;if(f[_]?.[1]===":"||f[_]?.[0]==="TYPE_ANNOTATION")_++;let Y=[],R=0;while(_<f.length){let J=f[_];if(J[0]==="INDENT"){R++,_++;continue}if(J[0]==="OUTDENT"){if(R>0){R--,_++;continue}break}if(J[0]==="TERMINATOR"&&R===0)break;Y.push(J),_++}let z=X1(Y),M=Z?"readonly ":"",D=W?"?":"";A.push(`${M}${U}${D}: ${z}`)}else _++}return"{ "+A.join("; ")+" }"}function k1(f,w){let A=0;for(let _=w;_<f.length;_++){if(f[_][0]==="INDENT")A++;if(f[_][0]==="OUTDENT"){if(A--,A===0)return _}}return f.length-1}function B3(f,w){let A=w;if(f[A]?.[0]==="TERMINATOR")A++;if(f[A]?.[0]!=="INDENT")return null;let _=A;A++;while(A<f.length&&f[A][0]==="TERMINATOR")A++;if(!f[A]||f[A][1]!=="|")return null;let u=[],$=1;A=_+1;while(A<f.length&&$>0){let U=f[A];if(U[0]==="INDENT"){$++,A++;continue}if(U[0]==="OUTDENT"){if($--,$===0)break;A++;continue}if(U[0]==="TERMINATOR"){A++;continue}if(U[1]==="|"&&$===1){A++;let W=[];while(A<f.length){let Z=f[A];if(Z[0]==="TERMINATOR"||Z[0]==="OUTDENT"||Z[1]==="|"&&$===1)break;W.push(Z),A++}if(W.length>0)u.push(X1(W));continue}A++}if(u.length===0)return null;let F=k1(f,_);return{typeText:u.join(" | "),endIdx:F}}function n1(f,w=null,A=""){let _=[],u=0,$=" ",F=()=>$.repeat(u),U=!1,W=new Set,Z=!1,Y=!1,R=!1,z=typeof A==="string"?A.split(`
|
|
2
|
+
`):[];for(let G=0;G<f.length;G++){let I=f[G][0];if(I==="REACTIVE_ASSIGN")Z=!0;else if(I==="COMPUTED_ASSIGN")Y=!0}let M=(G,I,E)=>{if(I.startsWith("{ ")&&I.endsWith(" }")){let K=0,H=-1;for(let P=0;P<I.length;P++)if(I[P]==="{")K++;else if(I[P]==="}"){if(K--,K===0){H=P;break}}if(H===I.length-1){let P=I.slice(2,-2).split("; ").filter((N)=>N.trim());if(P.length>0){_.push(`${F()}${G}{`),u++;for(let N of P)_.push(`${F()}${N};`);u--,_.push(`${F()}}${E}`);return}}}_.push(`${F()}${G}${I}${E}`)},D=(G,I)=>{I++;let E=0;while(I<G.length){let K=G[I];if(K[0]==="("||K[0]==="["||K[0]==="{")E++;if(K[0]===")"||K[0]==="]"||K[0]==="}"){if(E===0)break;E--}if(E===0&&K[1]===",")break;I++}return I},J=(G,I)=>{let E=[],K=!1,H=I+1,P=1;while(H<G.length&&P>0){if(G[H][0]==="{")P++;if(G[H][0]==="}")P--;if(P<=0){H++;break}if(G[H][0]==="..."||G[H][0]==="SPREAD"){if(H++,G[H]?.[0]==="IDENTIFIER")E.push({kind:"rest",propName:G[H][1]}),H++;continue}if(G[H][0]==="PROPERTY"&&G[H+1]?.[0]===":"){let B=G[H][1];if(H+=2,G[H]?.[0]==="{"){let h=J(G,H);if(h.hasAnyType)K=!0;E.push({kind:"nested-obj",propName:B,inner:h}),H=h.endJ;continue}if(G[H]?.[0]==="["){let h=O(G,H);if(h.hasAnyType)K=!0;E.push({kind:"nested-arr",propName:B,inner:h}),H=h.endJ;continue}if(G[H]?.[0]==="IDENTIFIER"){let h=G[H][1],j=G[H].data?.type;if(j)K=!0;let T=G[H+1]?.[0]==="=";if(E.push({kind:"rename",propName:B,localName:h,type:j?u1(j):null,hasDefault:T}),H++,T)H=D(G,H)}continue}if(G[H][0]==="IDENTIFIER"){let B=G[H][1],h=G[H].data?.type;if(h)K=!0;let j=G[H+1]?.[0]==="=";if(E.push({kind:"simple",propName:B,type:h?u1(h):null,hasDefault:j}),H++,j)H=D(G,H);continue}H++}let N=[],L=[];for(let B of E)if(B.kind==="rest")N.push(`...${B.propName}`),L.push("[key: string]: unknown");else if(B.kind==="nested-obj"||B.kind==="nested-arr")N.push(`${B.propName}: ${B.inner.patternStr}`),L.push(`${B.propName}: ${B.inner.typeStr}`);else if(B.kind==="rename")N.push(`${B.propName}: ${B.localName}`),L.push(`${B.propName}${B.hasDefault?"?":""}: ${B.type||"any"}`);else N.push(B.propName),L.push(`${B.propName}${B.hasDefault?"?":""}: ${B.type||"any"}`);return{patternStr:`{${N.join(", ")}}`,typeStr:`{${L.join(", ")}}`,endJ:H,hasAnyType:K}},O=(G,I)=>{let E=[],K=[],H=!1,P=I+1,N=1;while(P<G.length&&N>0){if(G[P][0]==="[")N++;if(G[P][0]==="]")N--;if(N>0&&G[P][0]==="IDENTIFIER"){let L=G[P][1],B=G[P].data?.type;if(E.push(L),K.push(B?u1(B):null),B)H=!0}P++}return{patternStr:`[${E.join(", ")}]`,typeStr:`[${K.map((L)=>L||"any").join(", ")}]`,endJ:P,hasAnyType:H}},Q=(G,I)=>{let E=[],K=[],H=I,P=G[H]?.[0];if(P!=="CALL_START"&&P!=="PARAM_START")return{params:E,fields:K,endIdx:H};let N=P==="CALL_START"?"CALL_END":"PARAM_END";H++;let L=0;while(H<G.length&&!(G[H][0]===N&&L===0)){let B=G[H];if(B[1]===","&&L===0){H++;continue}if(B[0]==="{"||B[0]==="["||B[0]==="CALL_START"||B[0]==="PARAM_START"||B[0]==="INDEX_START")L++;if(B[0]==="}"||B[0]==="]"||B[0]==="CALL_END"||B[0]==="PARAM_END"||B[0]==="INDEX_END"){L--,H++;continue}if(B[0]==="@"){if(H++,G[H]?.[0]==="PROPERTY"||G[H]?.[0]==="IDENTIFIER"){let h=G[H][1],j=G[H].data?.type;if(E.push(j?`${h}: ${u1(j)}`:h),j)K.push({name:h,type:u1(j)});H++}continue}if(B[0]==="SPREAD"||B[1]==="..."){if(H++,G[H]?.[0]==="IDENTIFIER"){let h=G[H][1],j=G[H].data?.type;E.push(j?`...${h}: ${u1(j)}`:`...${h}: any[]`),H++}continue}if(B[0]==="{"){L--;let h=J(G,H);if(H=h.endJ,h.hasAnyType)E.push(`${h.patternStr}: ${h.typeStr}`);else E.push(h.patternStr);continue}if(B[0]==="["){L--;let h=O(G,H);if(H=h.endJ,h.hasAnyType)E.push(`${h.patternStr}: ${h.typeStr}`);else E.push(h.patternStr);continue}if(B[0]==="IDENTIFIER"){let h=B[1],j=B.data?.type,T=!1;if(G[H+1]?.[0]==="=")T=!0;let p=T||B.data?.predicate;if(j)E.push(`${h}${p?"?":""}: ${u1(j)}`);else E.push(h);if(H++,T){H++;let S=0;while(H<G.length){let C=G[H];if(C[0]==="("||C[0]==="["||C[0]==="{")S++;if(C[0]===")"||C[0]==="]"||C[0]==="}")S--;if(S===0&&(C[1]===","||C[0]==="CALL_END"))break;H++}}continue}H++}return{params:E,fields:K,endIdx:H}};for(let G=0;G<f.length;G++){let I=f[G],E=I[0],K=!1;if(E==="EXPORT"){if(K=!0,G++,G>=f.length)break;if(I=f[G],E=I[0],E==="DEFAULT"){if(G++,G>=f.length)break;if(I=f[G],E=I[0],E==="IDENTIFIER")_.push(`${F()}export default ${I[1]};`);continue}}if(E==="IMPORT"){let H=[],P=G+1;while(P<f.length&&f[P][0]!=="TERMINATOR")H.push(f[P]),P++;let N="import "+H.map((L)=>L[1]).join(" ");N=N.replace(/\s+/g," ").replace(/\s*,\s*/g,", ").replace(/\{\s*/g,"{ ").replace(/\s*\}/g," }").trim(),_.push(`${F()}${N};`),G=P;continue}if(E==="TYPE_DECL"){let H=I.data;if(!H)continue;let P=K||H.exported?"export ":"",N=H.typeParams||"";if(H.kind==="interface"){let L=H.extends?` extends ${H.extends}`:"";M(`${P}interface ${H.name}${N}${L} `,H.typeText||"{}","")}else{let L=u1(H.typeText||"");M(`${P}type ${H.name}${N} = `,L,";")}continue}if(E==="ENUM"){let H=K?"export ":"",P=f[G+1];if(!P)continue;let N=P[1],L=G+2;if(f[L]?.[0]==="INDENT"){_.push(`${F()}${H}enum ${N} {`),u++,L++;let B=[];while(L<f.length&&f[L][0]!=="OUTDENT"){if(f[L][0]==="TERMINATOR"){L++;continue}if(f[L][0]==="IDENTIFIER"){let h=f[L][1];if(L++,f[L]?.[1]==="="){L++;let j=f[L]?.[1];B.push(`${h} = ${j}`),L++}else B.push(h)}else L++}for(let h=0;h<B.length;h++){let j=h<B.length-1?",":"";_.push(`${F()}${B[h]}${j}`)}u--,_.push(`${F()}}`)}continue}if(E==="CLASS"){let H=K?"export ":"",P=f[G+1];if(!P)continue;let N=P[1],L="",B=G+2;if(f[B]?.[0]==="EXTENDS")L=` extends ${f[B+1]?.[1]||""}`,B+=2;if(f[B]?.[0]==="INDENT"){let h=!1,j=B+1;while(j<f.length&&f[j][0]!=="OUTDENT"){if(f[j].data?.type||f[j].data?.returnType){h=!0;break}j++}if(h)_.push(`${F()}${H}declare class ${N}${L} {`),U=!0,W.clear(),u++}continue}if(E==="DEF"){let H=f[G+1];if(!H)continue;let P=H[1],N=H.data?.returnType;if(!N&&H.data?.await===!0)N="void";let L=H.data?.typeParams||"",{params:B,endIdx:h}=Q(f,G+2);if(N||B.some((j)=>j.includes(":"))){let j=K?"export ":"",T=U?"":K?"":"declare ",p=N?`: ${u1(N)}`:"",S=B.join(", ");if(U)_.push(`${F()}${P}${L}(${S})${p};`);else _.push(`${F()}${j}${T}function ${P}${L}(${S})${p};`)}G=h;continue}if(E==="{"&&U){let H=G+1,P=1;while(H<f.length&&P>0){let N=f[H];if(N[0]==="{"){P++,H++;continue}if(N[0]==="}"){P--,H++;continue}if(N[0]==="TERMINATOR"){H++;continue}if(N[0]==="PROPERTY"&&P===1){let L=N[1],B=N.data?.returnType;if(H++,f[H]?.[1]===":")H++;let h=[],j=[];if(f[H]?.[0]==="PARAM_START"){let T=Q(f,H);h=T.params,j=T.fields,H=T.endIdx+1}if(f[H]?.[0]==="->"||f[H]?.[0]==="=>")H++;if(f[H]?.[0]==="INDENT"){let T=1;H++;while(H<f.length&&T>0){if(f[H][0]==="INDENT")T++;if(f[H][0]==="OUTDENT")T--;H++}}if(B||h.some((T)=>T.includes(":"))){let T=B?`: ${u1(B)}`:"",p=h.join(", ");if(L==="constructor"&&j.length){for(let S of j)if(!W.has(S.name))_.push(`${F()}${S.name}: ${S.type};`),W.add(S.name)}_.push(`${F()}${L}(${p})${T};`)}continue}H++}G=H-1;continue}if(E==="INDENT")continue;if(E==="OUTDENT"){if(U)u--,_.push(`${F()}}`),U=!1;continue}if(E==="IDENTIFIER"&&!U&&f[G+1]?.[0]==="="&&(f[G+2]?.[0]==="PARAM_START"||f[G+2]?.[0]==="(")){let H=I[1],P=G+2,{params:N}=Q(f,P),L=P,B=0;while(L<f.length){if(f[L][0]==="PARAM_START"||f[L][0]==="(")B++;if(f[L][0]==="PARAM_END"||f[L][0]===")")B--;if(B===0&&(f[L][0]==="->"||f[L][0]==="=>"))break;L++}let h=f[L]?.data?.returnType;if(h||N.some((j)=>j.includes(":"))){let j=K?"export ":"",T=K?"":"declare ",p=h?`: ${u1(h)}`:"",S=N.join(", ");_.push(`${F()}${j}${T}function ${H}(${S})${p};`);continue}}if(E==="IDENTIFIER"&&I.data?.type){let H=I[1],P=u1(I.data.type),N=f[G+1];if(N){let L=K?"export ":"",B=K?"":"declare ";if(N[0]==="READONLY_ASSIGN")_.push(`${F()}${L}${B}const ${H}: ${P};`);else if(N[0]==="REACTIVE_ASSIGN")Z=!0,_.push(`${F()}${L}${B}const ${H}: Signal<${P}>;`);else if(N[0]==="COMPUTED_ASSIGN")Y=!0,_.push(`${F()}${L}${B}const ${H}: Computed<${P}>;`);else if(N[0]==="EFFECT")_.push(`${F()}${L}${B}const ${H}: () => void;`);else if(N[0]==="="){let h=G+2;if(f[h]?.[0]==="PARAM_START"){let T=1,p=h+1;while(p<f.length&&T>0){if(f[p][0]==="PARAM_START")T++;if(f[p][0]==="PARAM_END")T--;p++}h=p}let j=f[h];if(j&&(j[0]==="->"||j[0]==="=>")&&j.data?.returnType){let T=u1(j.data.returnType),{params:p}=Q(f,G+2),S=p.join(", ");_.push(`${F()}${L}${B}function ${H}(${S}): ${T};`)}else if(U)_.push(`${F()}${H}: ${P};`),W.add(H);else _.push(`${F()}${L}let ${H}: ${P};`)}else if(U)_.push(`${F()}${H}: ${P};`),W.add(H)}else if(U)_.push(`${F()}${H}: ${P};`)}}let q=new Set;if(w){if(R=i1(w,_,F,u,q,z)||R,q.size>0)for(let G=_.length-1;G>=0;G--){let I=_[G].match(/(?:declare |export )*(?:const|let) (\w+)/);if(I&&q.has(I[1]))_.splice(G,1)}}if(_.length===0)return null;let X=[];if(R)X.push("type __RipElementMap = HTMLElementTagNameMap & Omit<SVGElementTagNameMap, keyof HTMLElementTagNameMap>;"),X.push("type __RipTag = keyof __RipElementMap;"),X.push("type __RipBrowserElement = Omit<HTMLElement, 'querySelector' | 'querySelectorAll' | 'closest' | 'setAttribute' | 'hidden'> & { hidden: boolean | 'until-found'; setAttribute(qualifiedName: string, value: any): void; querySelector(selectors: string): __RipBrowserElement | null; querySelectorAll(selectors: string): NodeListOf<__RipBrowserElement>; closest(selectors: string): __RipBrowserElement | null; };"),X.push("type __RipDomEl<K extends __RipTag> = Omit<__RipElementMap[K], 'querySelector' | 'querySelectorAll' | 'closest' | 'setAttribute' | 'hidden'> & __RipBrowserElement;"),X.push("type __RipAttrKeys<T> = { [K in keyof T]-?: K extends 'style' ? never : T[K] extends (...args: any[]) => any ? never : K }[keyof T] & string;"),X.push("type __RipEvents = { [K in keyof HTMLElementEventMap as `@${K}`]?: ((event: HTMLElementEventMap[K]) => void) | null };"),X.push("type __RipClassValue = string | boolean | null | undefined | Record<string, boolean> | __RipClassValue[]"),X.push("type __RipProps<K extends __RipTag> = { [P in __RipAttrKeys<__RipElementMap[K]>]?: __RipElementMap[K][P] } & __RipEvents & { ref?: string; class?: __RipClassValue | __RipClassValue[]; style?: string; [k: `data-${string}`]: any; [k: `aria-${string}`]: any };");if(/\bARIA\./.test(A))X.push("type __RipAriaNavHandlers = { next?: () => void; prev?: () => void; first?: () => void; last?: () => void; select?: () => void; dismiss?: () => void; tab?: () => void; char?: () => void; };"),X.push("declare const ARIA: {"),X.push(" bindPopover(open: boolean, popover: () => Element | null | undefined, setOpen: (isOpen: boolean) => void, source?: (() => Element | null | undefined) | null): void;"),X.push(" bindDialog(open: boolean, dialog: () => Element | null | undefined, setOpen: (isOpen: boolean) => void, dismissable?: boolean): void;"),X.push(" popupDismiss(open: boolean, popup: () => Element | null | undefined, close: () => void, els?: Array<() => Element | null | undefined>, repos?: (() => void) | null): void;"),X.push(" popupGuard(delay?: number): any;"),X.push(" listNav(event: KeyboardEvent, handlers: __RipAriaNavHandlers): void;"),X.push(" rovingNav(event: KeyboardEvent, handlers: __RipAriaNavHandlers, orientation?: 'vertical' | 'horizontal' | 'both'): void;"),X.push(" positionBelow(trigger: Element | null | undefined, popup: Element | null | undefined, gap?: number, setVisible?: boolean): void;"),X.push(" position(trigger: Element | null | undefined, floating: Element | null | undefined, opts?: any): void;"),X.push(" trapFocus(panel: Element | null | undefined): void;"),X.push(" wireAria(panel: Element, id: string): void;"),X.push(" lockScroll(instance: any): void;"),X.push(" unlockScroll(instance: any): void;"),X.push(" hasAnchor: boolean;"),X.push(" [key: string]: any;"),X.push("};");if(Z)X.push("interface Signal<T> { value: T; read(): T; lock(): Signal<T>; free(): Signal<T>; kill(): T; }"),X.push("declare function __state<T>(value: T | Signal<T>): Signal<T>;");if(Y)X.push("interface Computed<T> { readonly value: T; read(): T; lock(): Computed<T>; free(): Computed<T>; kill(): T; }"),X.push("declare function __computed<T>(fn: () => T): Computed<T>;");if(Z||Y)X.push("declare function __effect(fn: () => void | (() => void)): () => void;");if(X.length>0)X.push("");return X.concat(_).join(`
|
|
3
3
|
`)+`
|
|
4
|
-
`}function u1(f){if(!f)return f;return f=f.replace(/::/g,":"),f=f.replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined"),f=f.replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined"),f=f.replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"),f}function i1(f,w,
|
|
5
|
-
`),f=f.replace(
|
|
6
|
-
`+f;return f}advance(f){let w=this.code.slice(this.pos,this.pos+f);for(let
|
|
7
|
-
`)this.row++,this.col=0;else this.col++;this.pos+=f}emit(f,w,{len:
|
|
8
|
-
`)return 0;let w=this.prev();if(w)if(f)w.spaced=!0,w.pre=f[0].length;else w.newLine=!0;return f?f[0].length:0}lineToken(){let f=p3.exec(this.chunk);if(!f)return 0;let w=f[0],
|
|
9
|
-
`);if(this.isUnfinished()){if(
|
|
10
|
-
`,{len:0})}isUnfinished(){if(this.inRenderBlock&&
|
|
11
|
-
`)u--;u++;let $=this.chunk.slice(u,_),F=/^\s*$/.test($)?$.length:null,
|
|
12
|
-
`)}if($===0&&w?.length===3)W=W.replace(/^\n/,"");if($===f.length-1&&w?.length===3)W=W.replace(/\n[^\S\n]*$/,"");if(u)W=W.replace(/\\([nrtbfv0\\'"`xu])/g,"\\\\$1");this.emit("STRING",`"${W}"`,{len:A.length,data:{quote:w}})}}if(f.length>1)this.emit("STRING_END",")",{len:w?.length||0});return _}numberToken(){let f=i3.exec(this.chunk);if(!f)return 0;let w=f[0],U=w.length,_={row:this.row,col:this.col};if(/^0[BOX]/.test(w))A1(`radix prefix in '${w}' must be lowercase`,{..._,col:_.col+1});if(/^0\d*[89]/.test(w))A1(`decimal literal '${w}' must not be prefixed with '0'`,{..._,len:U});if(/^0\d+/.test(w))A1(`octal literal '${w}' must be prefixed with '0o'`,{..._,len:U});let u=Y7(w),$=u===1/0?"INFINITY":"NUMBER",F={parsedValue:u};if($==="INFINITY")F.original=w;return this.emit($,w,{len:U,data:F}),U}regexToken(){let f=this.matchWithInterpolations(_7,"///");if(f){let{tokens:Z,index:Y}=f,[R]=I2.exec(this.chunk.slice(Y)),z=Y+R.length;if(Z.length===1||!Z.some((Q)=>Q[0]==="TOKENS")){let Q=(Z[0]?.[1]||"").replace(/(?<!\\)\//g,"\\/");this.emit("REGEX",`/${Q}/${R}`,{len:z,data:{delimiter:"///",heregex:{flags:R}}})}else{if(this.emit("REGEX_START","(",{len:0}),this.emit("IDENTIFIER","RegExp",{len:0}),this.emit("CALL_START","(",{len:0}),this.mergeInterpolationTokens(Z,{quote:"///",endOffset:z-R.length}),R)this.emit(",",",",{len:0}),this.emit("STRING",`"${R}"`,{len:R.length});this.emit(")",")",{len:0}),this.emit("REGEX_END",")",{len:0})}return z}let w=$7.exec(this.chunk);if(!w)return 0;let[U,_,u]=w,$=this.prev();if($){if($.spaced&&V1.has($[0])&&(!u||/^\/=?\s/.test(U)))return 0;if(g3.has($[0])&&!($.spaced&&V1.has($[0])))return 0}if(!u)A1("missing / (unclosed regex)",{row:this.row,col:this.col});let F=U.length,[A]=I2.exec(this.chunk.slice(F)),W=F+A.length;if(!w7.test(A))A1(`invalid regular expression flags ${A}`,{row:this.row,col:this.col+F,len:A.length});return this.emit("REGEX",`/${_}/${A}`,{len:W,data:{delimiter:"/"}}),W}jsToken(){if(this.chunk[0]!=="`")return 0;let f=A7.exec(this.chunk)||U7.exec(this.chunk);if(!f)return 0;let w=f[1],U=f[0].length;return this.emit("JS",w,{len:U,data:{here:f[0].startsWith("```")}}),U}wordLiteral(){if(this.chunk[0]!=="%"||this.chunk[1]!=="w")return 0;let f=this.chunk[2];if(!f||/\s/.test(f))return 0;let U={"[":"]","(":")","{":"}","<":">"}[f]||f,_=U!==f,u=1,$=3;while($<this.chunk.length&&u>0){let Z=this.chunk[$];if(Z==="\\"){$+=2;continue}if(_&&Z===f)u++;if(Z===U)u--;if(u>0)$++}if(u!==0)return 0;let F=this.chunk.slice(3,$),A=$+1,W=[];if(F.trim()){let Z=F.trim().split(/(?<!\\)\s+/);for(let Y of Z)W.push(Y.replace(/\\ /g," "))}this.emit("[","[",{len:A});for(let Z=0;Z<W.length;Z++){if(Z>0)this.emit(",",",");this.emit("STRING",`"${W[Z]}"`)}return this.emit("]","]"),A}literalToken(){let f=this.wordLiteral();if(f)return f;let w=n3.exec(this.chunk),U=w?w[0]:this.chunk.charAt(0),_=U,u=this.prev();if(o3.test(U))this.tagParameters();if(U==="="&&u&&u[1]==="."&&!u.spaced){let $=this.tokens,F=$.length-2;while(F>=1&&$[F][0]==="PROPERTY"&&$[F-1]?.[1]===".")F-=2;if(F>=0&&($[F][0]==="IDENTIFIER"||$[F][0]===")"||$[F][0]==="]")){let A=$.slice(F,$.length-1);u[0]="=",u[1]="=";for(let W of A)this.tokens.push(c1(W[0],W[1],{pre:0,row:W[2],col:W[3],len:W[4]}));return this.tokens.push(c1(".",".",{pre:0,row:this.row,col:this.col,len:1})),U.length}}if(u&&(U==="="||E2.has(U))){if(U==="="&&(u[1]==="||"||u[1]==="&&"||u[1]==="??")&&!u.spaced)return u[0]="COMPOUND_ASSIGN",u[1]+="=",U.length}if(U==="("&&u?.[0]==="IMPORT")u[0]="DYNAMIC_IMPORT";if(U==="{"&&this.seenImport)this.importSpecifierList=!0;if(U==="}"&&this.importSpecifierList)this.importSpecifierList=!1;if(U==="{"&&u?.[0]==="EXPORT")this.exportSpecifierList=!0;if(U==="}"&&this.exportSpecifierList)this.exportSpecifierList=!1;if(U===";")this.seenFor=this.seenImport=this.seenExport=!1,this.inTypeAnnotation=!1,_="TERMINATOR";else if(U==="|>")_="PIPE";else if(U==="::"&&/^[a-zA-Z_$]/.test(this.chunk[2]||""))return this.emit(".","."),this.emit("PROPERTY","prototype"),this.emit(".","."),2;else if(U==="::")_="TYPE_ANNOTATION",this.inTypeAnnotation=!0;else if(U==="~=")_="COMPUTED_ASSIGN";else if(U===":=")_="REACTIVE_ASSIGN";else if(U===":>")_="RIGHTWARD_ASSIGN";else if(U==="<=>")_="BIND";else if(U==="~>")_="EFFECT",this.inTypeAnnotation=!1;else if(U==="=!")_="READONLY_ASSIGN",this.inTypeAnnotation=!1;else if(U==="*>"&&(!u||u[0]==="TERMINATOR"||u[0]==="INDENT"||u[0]==="OUTDENT")&&(/^[a-zA-Z_$]/.test(this.chunk[2]||"")||this.chunk[2]==="@")){let $=this.chunk.slice(2),F=/^@(\s*)=(?!=)/.exec($);if(F){let W=F[1];this.emit("IDENTIFIER","Object"),this.emit(".",".");let Z=this.emit("PROPERTY","assign");return Z.spaced=!0,this.emit("@","@"),this.emit(",",","),3+W.length+1}let A=/^(@?(?:(?!\s)[$\w\x7f-\uffff])+(?:\.[a-zA-Z_$][\w]*)*)(\s*)=(?!=)/.exec($);if(A){let W=A[1],Z=A[2],Y=W[0]==="@",R=Y?W.slice(1):W,z=R?R.split("."):[],Q=()=>{if(Y){if(this.emit("@","@"),z.length>0)this.emit("PROPERTY",z[0])}else this.emit("IDENTIFIER",z[0]);for(let J=1;J<z.length;J++)this.emit(".","."),this.emit("PROPERTY",z[J])};Q(),this.emit("=","="),this.emit("IDENTIFIER","Object"),this.emit(".","."),this.emit("PROPERTY","assign"),this.emit("CALL_START","("),Q(),this.emit("COMPOUND_ASSIGN","??="),this.emit("{","{"),this.emit("}","}"),this.emit(",",",");let X=this.prev();return X.mergeClose=!0,2+W.length+Z.length+1}}else if(U==="*"&&u?.[0]==="EXPORT")_="EXPORT_ALL";else if(v3.has(U))_="MATH";else if(l3.has(U))_="COMPARE";else if(E2.has(U))_="COMPOUND_ASSIGN";else if(m3.has(U))_="UNARY_MATH";else if(x3.has(U))_="SHIFT";else if(U==="?"&&u?.spaced)_="TERNARY";else if(U==="!?"&&u&&!u.spaced)_="DEFINED";else if(U==="?!"&&u&&!u.spaced)_="PRESENCE";else if(U==="?"&&(this.chunk[1]==="["||this.chunk[1]==="("))_="?.";else if(u){if(U==="("&&!u.spaced&&V1.has(u[0])){if(u[0]==="?.")u[0]="ES6_OPTIONAL_CALL";_="CALL_START"}if(U==="["&&!u.spaced&&L2.has(u[0])){if(_="INDEX_START",u[0]==="?.")u[0]="ES6_OPTIONAL_INDEX"}}if(this.inTypeAnnotation&&(U==="="||_==="COMPOUND_ASSIGN"))this.inTypeAnnotation=!1;if(U==="("||U==="{"||U==="[")this.ends.push({tag:c3[U],origin:[_,U]});else if(U===")"||U==="}"||U==="]")this.pair(U);return this.emit(_,U,{len:U.length}),U.length}tagParameters(){if(this.prevTag()!==")")return this.tagDoIife();let f=this.tokens.length-1,w=[];this.tokens[f][0]="PARAM_END";while(f-- >0){let U=this.tokens[f];if(U[0]===")")w.push(U);else if(U[0]==="("||U[0]==="CALL_START")if(w.length)w.pop();else if(U[0]==="(")return U[0]="PARAM_START",this.tagDoIife(f-1);else{this.tokens[this.tokens.length-1][0]="CALL_END";return}}}tagDoIife(f){let w=this.tokens[f??this.tokens.length-1];if(w?.[0]==="DO")w[0]="DO_IIFE"}rewrite(f){return this.tokens=f,this.removeLeadingNewlines(),this.closeMergeAssignments(),this.closeOpenCalls(),this.closeOpenIndexes(),this.normalizeLines(),this.rewriteRender?.(),this.rewriteTypes(),this.tagPostfixConditionals(),this.rewriteTaggedTemplates(),this.addImplicitBracesAndParens(),this.addImplicitCallCommas(),this.tokens}removeLeadingNewlines(){let f=0;while(this.tokens[f]?.[0]==="TERMINATOR")f++;if(f>0)this.tokens.splice(0,f)}closeOpenCalls(){this.scanTokens((f,w)=>{if(f[0]==="CALL_START")this.detectEnd(w+1,(U)=>U[0]===")"||U[0]==="CALL_END",(U)=>U[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens((f,w)=>{if(f[0]==="INDEX_START")this.detectEnd(w+1,(U)=>U[0]==="]"||U[0]==="INDEX_END",(U,_)=>{if(this.tokens[_+1]?.[0]===":")f[0]="[",U[0]="]";else U[0]="INDEX_END"});return 1})}normalizeLines(){let f=null,w=null,U=null,_=($,F)=>{return $[1]!==";"&&b3.has($[0])&&!($[0]==="TERMINATOR"&&G2.has(this.tokens[F+1]?.[0]))&&!($[0]==="ELSE"&&f!=="THEN")||$[0]==="INDENT"&&!$.generated&&(f==="->"||f==="=>")||$[0]===","&&(f==="->"||f==="=>")&&!this.commaInImplicitCall(F)&&!this.commaInImplicitObject(F)||O2.has($[0])&&(this.tokens[F-1]?.newLine||this.tokens[F-1]?.[0]==="OUTDENT")},u=($,F)=>{let A=this.tokens[F-1]?.[0]===","?F-1:F;this.tokens.splice(A,0,U)};this.scanTokens(($,F,A)=>{let[W]=$;if(W==="TERMINATOR"){if(this.tokens[F+1]?.[0]==="ELSE"&&this.tokens[F-1]?.[0]!=="OUTDENT")return A.splice(F,1,...this.makeIndentation()),1;if(G2.has(this.tokens[F+1]?.[0]))return A.splice(F,1),0}if(W==="CATCH")for(let Z=1;Z<=2;Z++){let Y=this.tokens[F+Z]?.[0];if(Y==="OUTDENT"||Y==="TERMINATOR"||Y==="FINALLY")return A.splice(F+Z,0,...this.makeIndentation()),2+Z}if((W==="->"||W==="=>")&&(this.tokens[F+1]?.[0]===","||this.tokens[F+1]?.[0]==="]"))return[w,U]=this.makeIndentation(),A.splice(F+1,0,w,U),1;if(H2.has(W)&&this.tokens[F+1]?.[0]!=="INDENT"&&!(W==="ELSE"&&this.tokens[F+1]?.[0]==="IF")&&!(W==="ELSE"&&this.tokens[F-1]?.[0]!=="OUTDENT")){if(f=W,[w,U]=this.makeIndentation(),W==="THEN")w.fromThen=!0;if(A.splice(F+1,0,w),W==="THEN"&&this.singleLineOwner(F)==="LEADING_WHEN")this.detectWhenThenEnd(F+2,_,u);else this.detectEnd(F+2,_,u);if(W==="THEN")A.splice(F,1);return 1}return 1})}singleLineOwner(f){let w=new Set(["LEADING_WHEN","IF","POST_IF","UNLESS","POST_UNLESS","ELSE","CATCH","TRY","FINALLY","->","=>"]);for(let U=f-1;U>=0;U--){let _=this.tokens[U],u=_?.[0];if(w.has(u))return u;if(G1.has(u)||_?.newLine)return null}return null}detectWhenThenEnd(f,w,U){let _=0,u=0;while(f<this.tokens.length){let $=this.tokens[f],F=$[0];if(_===0){if(F==="THEN"&&this.singleLineOwner(f)!=="LEADING_WHEN")u++;else if(F==="ELSE"&&u>0)u--;else if(w.call(this,$,f))return U.call(this,$,f)}if(R1.has(F))_++;if(W1.has(F))_--;if(_<0)return U.call(this,$,f);f++}}tagPostfixConditionals(){let f=null,w=(_,u)=>{return _[0]==="TERMINATOR"||_[0]==="INDENT"&&!H2.has(this.tokens[u-1]?.[0])},U=(_)=>{if(_[0]!=="INDENT"||_.generated&&!_.fromThen)f[0]="POST_"+f[0]};this.scanTokens((_,u)=>{if(_[0]!=="IF"&&_[0]!=="UNLESS")return 1;if(this.tokens[u-1]?.[0]==="INTERPOLATION_START")return 1;return f=_,this.detectEnd(u+1,w,U),1})}rewriteTaggedTemplates(){let f=this.tokens;for(let w=f.length-2;w>=0;w--)if(f[w][0]==="IDENTIFIER"&&f[w][1]==="$"&&(f[w+1]?.[0]==="STRING"||f[w+1]?.[0]==="STRING_START")){let U=f[w-1];if(U&&j3.has(U[0])){if(f.splice(w,1),U.spaced=!1,f[w].spaced=!1,f[w].pre=0,f[w].newLine)f[w].newLine=!1}}}addImplicitBracesAndParens(){let f=[],w=!1;this.scanTokens((U,_,u)=>{let[$]=U,F=u[_-1]||[],A=u[_+1]||[],[W]=F,[Z]=A,Y=_,R=(D)=>_-Y+D,z=()=>f[f.length-1],Q=(D)=>D?.[2]?.ours,X=()=>Q(z())&&z()?.[0]==="(",J=()=>Q(z())&&z()?.[0]==="{",O=(D)=>{f.push(["(",D,{ours:!0}]),u.splice(D,0,U1("CALL_START","("))},K=()=>{f.pop(),u.splice(_,0,U1("CALL_END",")")),_+=1},q=(D,H={})=>{f.push(["{",D,{sameLine:!0,startsLine:H.startsLine??!0,ours:!0}]);let P=U1("{","{");if(!P.data)P.data={};P.data.generated=!0,u.splice(D,0,P)},G=(D)=>{D=D??_,f.pop(),u.splice(D,0,U1("}","}")),_+=1};if((X()||J())&&y3.has($))return f.push(["CONTROL",_,{ours:!0}]),R(1);if($==="INDENT"&&Q(z())){if(W!=="=>"&&W!=="->"&&W!=="["&&W!=="("&&W!==","&&W!=="{"&&W!=="ELSE"&&W!=="=")while(X()||J()&&W!==":")if(X())K();else G();if(z()?.[2]?.ours&&z()[0]==="CONTROL")f.pop();return f.push([$,_]),R(1)}if(R1.has($))return f.push([$,_]),R(1);if(W1.has($)){while(Q(z()))if(X())K();else if(J())G();else f.pop();f.pop()}if(d1.has($)&&U.spaced&&(C1.has(Z)||Z==="..."&&C1.has(u[_+2]?.[0])||h3.has(Z)&&!A.spaced&&!A.newLine)&&!(($==="]"||$==="}")&&(Z==="->"||Z==="=>")))return O(_+1),R(2);if(d1.has($)&&this.tokens[_+1]?.[0]==="INDENT"&&this.looksObjectish(_+2)&&!this.findTagsBackwards(_,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return O(_+1),f.push(["INDENT",_+2]),R(3);if($==="TERNARY")w=!0;if($===":"){if(w)return w=!1,R(1);if(u[_-1]?.[0]==="PROPERTY"&&u[_-2]?.[0]==="."){let P=_-2;while(P>=2&&u[P]?.[0]==="."&&(u[P-1]?.[0]==="PROPERTY"||u[P-1]?.[0]==="IDENTIFIER"))P-=2;if(P+=1,u[P]?.[0]==="IDENTIFIER"||u[P]?.[0]==="PROPERTY"){let N=[];for(let B=P;B<_;B+=2)N.push(u[B][1]);let L=U1("STRING",`"${N.join(".")}"`,u[P]);L.pre=u[P].pre,L.spaced=u[P].spaced,L.newLine=u[P].newLine,L.loc=u[P].loc,u.splice(P,_-P,L),_=P+1}}let D=W1.has(this.tokens[_-1]?.[0])?f[f.length-1]?.[1]??_-1:_-1;if(this.tokens[_-2]?.[0]==="@")D=_-2;let H=D<=0||G1.has(this.tokens[D-1]?.[0])||this.tokens[D-1]?.newLine;if(z()){let[P,N]=z(),L=f[f.length-2];if((P==="{"||P==="INDENT"&&L?.[0]==="{"&&!Q(L))&&(H||this.tokens[D-1]?.[0]===","||this.tokens[D-1]?.[0]==="{"||this.tokens[D]?.[0]==="{"))return R(1)}return q(D,{startsLine:!!H}),R(2)}if(G1.has($))for(let D=f.length-1;D>=0;D--){if(!Q(f[D]))break;if(f[D][0]==="{")f[D][2].sameLine=!1}let M=W==="OUTDENT"||F.newLine,I=$==="||"||$==="&&",E=!1;if(I){let D=_+1,H=u[D]?.[0];if(H==="("||H==="["||H==="{"){for(let P=1;++D<u.length&&P>0;)if(H=u[D][0],H==="("||H==="["||H==="{")P++;else if(H===")"||H==="]"||H==="}")P--}else if(H&&H!=="TERMINATOR"&&H!=="OUTDENT"&&H!==",")D++;E=u[D]?.[0]===","}if(C3.has($)&&!E||O2.has($)&&M)while(Q(z())){let[D,,{sameLine:H,startsLine:P}]=z();if(X()&&W!==",")K();else if(J()&&!I&&H&&$!=="TERMINATOR"&&W!==":")G();else if(J()&&$==="TERMINATOR"&&W!==","&&!(P&&this.looksObjectish(_+1)))G();else if(z()?.[2]?.ours&&z()[0]==="CONTROL"&&u[z()[1]]?.[0]==="CLASS"&&$==="TERMINATOR")f.pop();else break}if($===","&&!this.looksObjectish(_+1)&&J()&&(Z!=="TERMINATOR"||!this.looksObjectish(_+2))){let D=Z==="OUTDENT"?1:0;while(J())G(_+D)}return R(1)})}addImplicitCallCommas(){let f=0,w=0,U=this.tokens;while(w<U.length){let _=U[w][0],u=w>0?U[w-1][0]:null;if(_==="CALL_START"||_==="(")f++;if(_==="CALL_END"||_===")")f--;if(f>0&&(_==="->"||_==="=>")&&V3.has(u))U.splice(w,0,U1(",",",")),w++;w++}}scanTokens(f){let w=0;while(w<this.tokens.length)w+=f.call(this,this.tokens[w],w,this.tokens)}detectEnd(f,w,U,_={}){let u=0;while(f<this.tokens.length){let $=this.tokens[f];if(u===0&&w.call(this,$,f))return U.call(this,$,f);if(R1.has($[0]))u++;if(W1.has($[0]))u--;if(u<0){if(_.returnOnNegativeLevel)return;return U.call(this,$,f)}f++}}closeMergeAssignments(){let f=this.tokens;for(let w=0;w<f.length;w++){if(!f[w].mergeClose)continue;let U=0;for(let _=w+1;_<f.length;_++){let u=f[_][0];if(u==="("||u==="["||u==="{"||u==="CALL_START"||u==="INDEX_START"||u==="INDENT")U++;if(u===")"||u==="]"||u==="}"||u==="CALL_END"||u==="INDEX_END"||u==="OUTDENT")U--;if(U<0||U===0&&u==="TERMINATOR"){f.splice(_,0,U1("CALL_END",")",f[_-1]));break}if(_===f.length-1){f.splice(_+1,0,U1("CALL_END",")",f[_]));break}}}}commaInImplicitCall(f){let w=0;for(let U=f-1;U>=0;U--){let _=this.tokens[U][0];if(W1.has(_)){w++;continue}if(R1.has(_)){if(_==="INDENT")return!1;if(w--,w<0)return!1;continue}if(w>0)continue;if(d1.has(_)&&this.tokens[U].spaced){let u=this.tokens[U+1]?.[0];return C1.has(u)||u==="..."&&C1.has(this.tokens[U+2]?.[0])}}return!1}commaInImplicitObject(f){let w=0;for(let U=f-1;U>=0;U--){let _=this.tokens[U][0];if(W1.has(_)){w++;continue}if(R1.has(_)){if(w--,w<0)return!1;continue}if(w>0)continue;if(_===":"&&U>0&&this.tokens[U-1][0]==="PROPERTY")return this.looksObjectish(f+1);if(G1.has(_))return!1}return!1}looksObjectish(f){if(!this.tokens[f])return!1;if(this.tokens[f]?.[0]==="@"&&this.tokens[f+2]?.[0]===":")return!0;if(this.tokens[f+1]?.[0]===":")return!0;if((this.tokens[f]?.[0]==="IDENTIFIER"||this.tokens[f]?.[0]==="PROPERTY")&&this.tokens[f+1]?.[0]==="."){let w=f+2;while(this.tokens[w]?.[0]==="PROPERTY"&&this.tokens[w+1]?.[0]===".")w+=2;if(this.tokens[w]?.[0]==="PROPERTY"&&this.tokens[w+1]?.[0]===":")return!0}if(R1.has(this.tokens[f]?.[0])){let w=null;if(this.detectEnd(f+1,(U)=>W1.has(U[0]),(U,_)=>w=_),w&&this.tokens[w+1]?.[0]===":")return!0}return!1}findTagsBackwards(f,w){let U=new Set(w),_=[];while(f>=0){let u=this.tokens[f]?.[0];if(!_.length&&U.has(u))return!0;if(W1.has(u))_.push(u);if(R1.has(u)&&_.length)_.pop();if(!_.length&&(R1.has(u)&&!this.tokens[f]?.generated||G1.has(u)))break;f--}return!1}makeIndentation(f){let w=U1("INDENT",2),U=U1("OUTDENT",2);if(f)w.generated=U.generated=!0,w.origin=U.origin=f;else w.explicit=U.explicit=!0;return[w,U]}}K2(Z1);var R7={symbolIds:{$accept:0,$end:1,error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,ExpressionLine:8,Statement:9,Return:10,STATEMENT:11,Import:12,Export:13,Value:14,Code:15,Operation:16,Assign:17,RightwardAssign:18,ReactiveAssign:19,ComputedAssign:20,ReadonlyAssign:21,Effect:22,If:23,Try:24,While:25,For:26,Switch:27,Class:28,Component:29,Render:30,Throw:31,Yield:32,Def:33,Enum:34,CodeLine:35,OperationLine:36,Assignable:37,Literal:38,Parenthetical:39,Range:40,Invocation:41,DoIife:42,This:43,Super:44,MetaProperty:45,AlphaNumeric:46,JS:47,Regex:48,UNDEFINED:49,NULL:50,BOOL:51,INFINITY:52,NAN:53,NUMBER:54,String:55,Identifier:56,IDENTIFIER:57,Property:58,PROPERTY:59,STRING:60,STRING_START:61,Interpolations:62,STRING_END:63,InterpolationChunk:64,INTERPOLATION_START:65,INTERPOLATION_END:66,INDENT:67,OUTDENT:68,REGEX:69,REGEX_START:70,REGEX_END:71,RegexWithIndex:72,",":73,"=":74,RIGHTWARD_ASSIGN:75,REACTIVE_ASSIGN:76,COMPUTED_ASSIGN:77,Block:78,READONLY_ASSIGN:79,EFFECT:80,SimpleAssignable:81,Array:82,Object:83,ThisProperty:84,".":85,"?.":86,INDEX_START:87,INDEX_END:88,Slice:89,ES6_OPTIONAL_INDEX:90,"{":91,ObjAssignable:92,":":93,FOR:94,ForVariables:95,FOROF:96,OptComma:97,"}":98,WHEN:99,OWN:100,AssignList:101,AssignObj:102,ObjRestValue:103,SimpleObjAssignable:104,"[":105,"]":106,"@":107,"...":108,ObjSpreadExpr:109,SUPER:110,Arguments:111,DYNAMIC_IMPORT:112,Elisions:113,ArgElisionList:114,OptElisions:115,ArgElision:116,Arg:117,Elision:118,RangeDots:119,"..":120,DEF:121,CALL_START:122,ParamList:123,CALL_END:124,PARAM_START:125,PARAM_END:126,FuncGlyph:127,"->":128,"=>":129,Param:130,ParamVar:131,Splat:132,ES6_OPTIONAL_CALL:133,ArgList:134,SimpleArgs:135,THIS:136,NEW_TARGET:137,IMPORT_META:138,"(":139,")":140,RETURN:141,THROW:142,YIELD:143,FROM:144,IfBlock:145,IF:146,ELSE:147,UnlessBlock:148,UNLESS:149,POST_IF:150,POST_UNLESS:151,TRY:152,Catch:153,FINALLY:154,CATCH:155,SWITCH:156,Whens:157,When:158,LEADING_WHEN:159,WhileSource:160,WHILE:161,UNTIL:162,Loop:163,LOOP:164,FORIN:165,BY:166,FORAS:167,AWAIT:168,FORASAWAIT:169,ForValue:170,CLASS:171,EXTENDS:172,ENUM:173,COMPONENT:174,ComponentBody:175,ComponentLine:176,OFFER:177,ACCEPT:178,RENDER:179,IMPORT:180,ImportDefaultSpecifier:181,ImportNamespaceSpecifier:182,ImportSpecifierList:183,ImportSpecifier:184,AS:185,DEFAULT:186,IMPORT_ALL:187,EXPORT:188,ExportSpecifierList:189,EXPORT_ALL:190,ExportSpecifier:191,UNARY:192,DO:193,DO_IIFE:194,UNARY_MATH:195,"-":196,"+":197,"?":198,DEFINED:199,PRESENCE:200,"--":201,"++":202,MATH:203,"**":204,SHIFT:205,COMPARE:206,"&":207,"^":208,"|":209,"||":210,"??":211,"&&":212,"!?":213,PIPE:214,RELATION:215,TERNARY:216,COMPOUND_ASSIGN:217},tokenNames:{2:"error",6:"TERMINATOR",11:"STATEMENT",47:"JS",49:"UNDEFINED",50:"NULL",51:"BOOL",52:"INFINITY",53:"NAN",54:"NUMBER",57:"IDENTIFIER",59:"PROPERTY",60:"STRING",61:"STRING_START",63:"STRING_END",65:"INTERPOLATION_START",66:"INTERPOLATION_END",67:"INDENT",68:"OUTDENT",69:"REGEX",70:"REGEX_START",71:"REGEX_END",73:",",74:"=",75:"RIGHTWARD_ASSIGN",76:"REACTIVE_ASSIGN",77:"COMPUTED_ASSIGN",79:"READONLY_ASSIGN",80:"EFFECT",85:".",86:"?.",87:"INDEX_START",88:"INDEX_END",90:"ES6_OPTIONAL_INDEX",91:"{",93:":",94:"FOR",96:"FOROF",98:"}",99:"WHEN",100:"OWN",105:"[",106:"]",107:"@",108:"...",110:"SUPER",112:"DYNAMIC_IMPORT",120:"..",121:"DEF",122:"CALL_START",124:"CALL_END",125:"PARAM_START",126:"PARAM_END",128:"->",129:"=>",133:"ES6_OPTIONAL_CALL",136:"THIS",137:"NEW_TARGET",138:"IMPORT_META",139:"(",140:")",141:"RETURN",142:"THROW",143:"YIELD",144:"FROM",146:"IF",147:"ELSE",149:"UNLESS",150:"POST_IF",151:"POST_UNLESS",152:"TRY",154:"FINALLY",155:"CATCH",156:"SWITCH",159:"LEADING_WHEN",161:"WHILE",162:"UNTIL",164:"LOOP",165:"FORIN",166:"BY",167:"FORAS",168:"AWAIT",169:"FORASAWAIT",171:"CLASS",172:"EXTENDS",173:"ENUM",174:"COMPONENT",177:"OFFER",178:"ACCEPT",179:"RENDER",180:"IMPORT",185:"AS",186:"DEFAULT",187:"IMPORT_ALL",188:"EXPORT",190:"EXPORT_ALL",192:"UNARY",193:"DO",194:"DO_IIFE",195:"UNARY_MATH",196:"-",197:"+",198:"?",199:"DEFINED",200:"PRESENCE",201:"--",202:"++",203:"MATH",204:"**",205:"SHIFT",206:"COMPARE",207:"&",208:"^",209:"|",210:"||",211:"??",212:"&&",213:"!?",214:"PIPE",215:"RELATION",216:"TERNARY",217:"COMPOUND_ASSIGN"},parseTable:(()=>{let f=[108,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,-1,1,2,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,43,44,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,1,1,0,2,1,5,-2,108,5,1,5,60,2,72,-3,-3,-3,-3,-3,32,1,5,60,1,1,5,2,19,12,18,16,10,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,-6,125,129,-6,-6,-6,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,9,1,5,60,1,1,5,33,18,16,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,60,1,1,5,33,18,16,10,1,9,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,130,131,132,97,98,57,1,5,49,5,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,3,9,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,136,106,107,-13,-13,-13,-13,-13,139,140,141,-13,142,-13,-13,-13,-13,-13,-13,-13,137,-13,143,-13,-13,138,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,133,134,135,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,47,1,5,60,1,1,5,2,10,1,1,1,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,-14,144,145,146,-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,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,9,1,5,60,1,1,5,33,18,16,-34,-34,-34,-34,-34,-34,-34,-34,-34,9,1,5,60,1,1,5,33,18,16,-35,-35,-35,-35,-35,-35,-35,-35,-35,13,1,5,60,1,1,5,33,18,16,10,1,10,1,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,13,1,5,60,1,1,5,33,18,16,10,1,10,1,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,13,1,5,60,1,1,5,33,18,16,10,1,10,1,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,13,1,5,60,1,1,5,33,18,16,10,1,10,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,60,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,147,-36,148,149,150,151,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,18,6,50,1,10,1,5,9,1,1,7,14,2,1,15,1,2,4,1,-175,156,105,-175,-175,-175,158,159,157,100,161,160,155,152,-175,-175,153,154,107,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,8,2,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,163,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,164,103,104,162,54,53,73,74,94,100,60,84,88,85,86,67,43,44,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,104,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,165,166,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,43,44,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,104,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,168,169,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,43,44,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,170,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,176,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,177,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,178,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,179,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,45,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,11,1,1,1,7,14,2,3,2,13,2,1,1,7,1,1,1,55,181,182,183,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,180,73,74,94,100,84,88,85,86,171,172,91,92,87,89,90,83,175,45,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,11,1,1,1,7,14,2,3,2,13,2,1,1,7,1,1,1,55,181,182,183,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,184,73,74,94,100,84,88,85,86,171,172,91,92,87,89,90,83,175,63,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,1,1,1,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,-88,-88,185,186,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,187,104,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,8,2,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,189,188,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,164,103,104,190,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,191,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,2,67,11,164,192,2,67,11,164,193,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,14,40,16,1,25,1,1,7,4,5,5,2,24,37,2,197,156,105,158,159,157,100,194,195,84,160,199,196,198,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,200,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,201,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,91,1,5,8,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,2,3,3,1,1,1,4,3,2,1,2,2,1,6,1,1,1,2,2,8,4,1,1,1,1,1,7,1,1,1,1,7,3,1,10,1,3,1,1,2,3,22,2,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-307,-307,181,182,183,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,-307,164,-307,103,104,-307,-307,202,204,73,74,94,-307,100,-307,-307,-307,-307,-307,84,-307,88,-307,85,86,-307,-307,171,-307,172,91,92,87,89,90,83,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,203,175,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,2,67,105,205,206,2,67,11,164,207,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,208,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,209,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,141,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,2,5,1,1,1,1,4,3,2,1,2,2,1,6,1,1,1,2,2,8,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,2,2,1,5,1,8,4,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-226,-226,210,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,-226,211,-226,103,104,-226,-226,54,53,73,74,94,-226,100,-226,-226,-226,-226,-226,84,-226,88,-226,85,86,-226,67,-226,171,-226,172,91,92,87,89,90,83,-226,70,65,66,212,55,95,-226,56,96,-226,-226,57,61,58,-226,-226,59,99,-226,-226,-226,50,-226,62,68,63,64,71,72,173,174,175,47,48,49,51,52,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,2,56,1,213,105,2,56,1,214,105,6,15,20,90,2,1,1,216,215,43,44,91,92,140,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,2,5,1,1,1,1,4,3,2,1,2,2,1,6,1,1,1,2,2,8,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,2,2,1,5,1,8,4,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-223,-223,217,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,-223,218,-223,103,104,-223,-223,54,53,73,74,94,-223,100,-223,-223,-223,-223,-223,84,-223,88,-223,85,86,-223,67,-223,171,-223,172,91,92,87,89,90,83,-223,70,65,66,55,95,-223,56,96,-223,-223,57,61,58,-223,-223,59,99,-223,-223,-223,50,-223,62,68,63,64,71,72,173,174,175,47,48,49,51,52,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,9,55,1,1,3,1,30,90,1,5,219,223,105,106,107,222,220,221,224,60,14,1,4,1,1,1,6,1,4,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,14,2,3,2,9,4,2,1,1,7,1,1,1,32,2,1,12,4,4,181,182,231,232,233,234,226,227,228,229,237,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,230,105,106,107,103,104,54,238,73,74,94,225,84,88,85,86,67,171,172,91,92,87,89,90,83,62,68,63,235,236,175,60,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,60,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,107,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,239,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,240,103,104,54,53,73,74,94,100,60,84,88,85,86,67,43,44,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,114,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,7,1,1,1,1,7,3,11,1,1,1,2,2,1,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,241,250,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,247,103,104,248,54,53,73,74,94,100,60,84,242,88,252,85,86,243,244,246,249,245,67,43,44,91,92,251,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,4,85,2,24,11,254,255,253,143,2,111,11,256,143,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,57,1,5,52,1,1,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-208,-208,257,258,-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,1,85,259,1,85,260,54,11,36,2,1,1,1,1,1,3,3,1,6,2,1,10,11,3,11,2,3,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,54,11,36,2,1,1,1,1,1,3,3,1,6,2,1,10,11,3,11,2,3,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,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,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,64,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,64,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,261,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,262,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,263,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,264,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,8,2,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,266,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,164,103,104,265,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,23,6,40,8,1,1,1,1,1,1,1,6,1,5,11,8,6,3,1,1,1,1,2,1,-111,272,101,102,274,105,275,258,106,107,-111,-111,-111,276,267,-111,268,273,277,269,270,271,278,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,45,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,11,1,1,1,7,14,2,3,2,13,2,1,1,7,1,1,1,55,181,182,183,35,36,37,279,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,238,73,74,94,100,84,88,85,86,171,172,91,92,87,89,90,83,175,66,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,4,3,3,1,10,1,3,1,1,2,3,13,11,1,1,1,1,1,1,1,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,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,58,1,5,54,1,2,2,1,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,6,55,5,1,1,2,1,283,106,107,280,281,282,110,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,2,1,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,1,1,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,-5,284,-5,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,-5,-5,103,104,54,53,73,74,94,100,60,84,88,85,86,67,43,44,91,92,87,89,90,83,-5,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,285,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,286,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,287,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,288,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,289,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,290,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,291,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,292,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,293,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,296,167,294,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,295,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,299,167,297,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,298,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,302,167,300,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,301,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,303,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,304,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,305,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,306,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,45,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,11,1,1,1,7,14,2,3,2,13,2,1,1,7,1,1,1,55,181,182,307,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,238,73,74,94,100,84,88,85,86,171,172,91,92,87,89,90,83,175,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,308,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,309,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,14,40,16,1,25,1,1,7,4,5,5,2,24,37,2,313,156,105,158,159,157,100,310,311,84,160,199,312,198,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,314,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,315,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,56,1,5,54,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,56,1,5,54,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,2,111,11,316,143,2,58,1,317,258,2,58,1,318,258,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,2,8,1,1,1,1,5,2,3,11,2,1,2,2,7,1,1,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,319,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,324,78,79,80,81,82,101,102,93,105,106,107,320,103,104,322,54,53,73,74,94,321,100,60,84,88,326,85,86,323,325,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,1,87,327,110,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,1,2,2,5,4,3,1,2,1,1,3,2,2,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,332,250,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,331,103,104,54,53,73,74,94,100,60,84,88,252,85,86,330,67,328,43,44,91,92,251,329,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,2,58,1,333,258,2,58,1,334,258,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,335,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,336,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,103,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,338,337,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,339,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,103,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,341,340,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,342,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,104,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,8,2,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,344,343,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,164,103,104,345,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,103,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,347,346,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,348,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,104,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,8,2,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,350,349,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,164,103,104,351,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,9,6,61,1,5,24,1,8,18,2,-219,-219,-219,353,354,-219,-219,-219,352,6,6,61,1,5,51,2,-176,-176,-176,-176,-176,-176,7,6,61,1,5,1,50,2,-180,-180,-180,-180,355,-180,-180,15,6,50,1,10,1,5,9,1,1,7,14,2,17,2,5,-183,156,105,-183,-183,-183,158,159,157,100,161,160,-183,-183,356,11,6,61,1,5,1,22,28,2,39,2,2,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,11,6,61,1,5,1,22,28,2,39,2,2,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,11,6,61,1,5,1,22,28,2,39,2,2,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,11,6,61,1,5,1,22,28,2,39,2,2,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,2,58,1,257,258,114,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,7,1,1,1,1,7,3,11,1,1,1,2,2,1,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,332,250,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,247,103,104,248,54,53,73,74,94,100,60,84,242,88,252,85,86,243,244,246,249,245,67,43,44,91,92,251,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-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,-170,-170,-170,9,1,5,60,1,1,5,33,18,16,-172,-172,-172,-172,-172,-172,-172,-172,-172,107,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,358,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,357,103,104,54,53,73,74,94,100,60,84,88,85,86,67,43,44,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,128,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,119,-376,121,-376,-376,-376,9,1,5,60,1,1,5,33,18,16,-373,-373,-373,-373,-373,-373,-373,-373,-373,5,150,1,9,1,1,130,131,132,97,98,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,128,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,119,-377,121,-377,-377,-377,9,1,5,60,1,1,5,33,18,16,-374,-374,-374,-374,-374,-374,-374,-374,-374,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,128,-378,-378,-378,-378,-378,-378,-378,-378,-378,112,-378,-378,-378,-378,-378,-378,119,-378,121,-378,-378,-378,18,6,50,1,10,1,5,9,1,1,7,14,2,1,15,1,2,4,1,-175,156,105,-175,-175,-175,158,159,157,100,161,160,155,359,-175,-175,153,154,2,67,11,164,162,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,165,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,168,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,5,15,110,2,1,1,216,171,172,91,92,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,128,-379,-379,-379,-379,-379,-379,-379,-379,-379,112,-379,-379,-379,-379,-379,-379,119,-379,121,-379,-379,-379,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,128,-380,-380,-380,-380,-380,-380,-380,-380,-380,112,-380,-380,-380,-380,-380,-380,119,-380,121,-380,-380,-380,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,-384,-384,-384,-384,-384,-384,128,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,119,-384,121,-384,-384,-384,2,83,8,360,100,60,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-386,-386,-88,-88,-386,-386,-386,-386,-88,-386,-88,-88,-88,-88,-88,-88,-88,-386,-88,-386,-386,-386,-386,-386,-386,-386,-386,-88,-386,-386,-88,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-88,-88,-88,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,10,55,5,1,24,1,1,3,21,11,11,136,106,107,139,140,141,142,137,143,138,3,85,1,1,144,145,146,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,60,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-387,-387,-88,-88,-387,-387,-387,-387,-88,-387,-88,-88,-88,-88,-88,-88,-88,-387,-88,-387,-387,-387,-387,-387,-387,-387,-387,-88,-387,-387,-88,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-88,-88,-88,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,103,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,363,361,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,362,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-85,-85,-85,-85,-85,-85,125,-85,-85,129,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,126,127,128,97,98,-85,-85,-85,-85,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,364,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,3,67,11,68,164,365,366,47,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,2,1,1,6,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,367,368,369,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,4,96,69,2,2,371,370,372,373,11,56,1,25,1,1,7,4,10,2,24,39,156,105,158,159,157,100,374,161,160,199,198,11,56,1,25,1,1,7,4,10,2,24,39,156,105,158,159,157,100,375,161,160,199,198,3,67,11,88,164,376,377,5,73,23,69,2,2,378,-305,-305,-305,-305,6,73,1,22,69,2,2,-303,379,-303,-303,-303,-303,24,67,8,19,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,380,125,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,3,157,1,1,381,382,383,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,384,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,62,1,5,54,1,5,1,1,5,1,1,1,1,1,1,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-311,-311,-88,-88,-311,164,-311,-311,-88,-311,-88,-88,385,-88,-88,-88,-88,-88,-311,-88,-311,-311,-311,-311,-311,-311,-311,-311,-88,-311,-311,-88,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,386,-311,-311,-88,-88,-88,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,108,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,1,1,1,1,1,1,8,4,1,1,1,1,1,4,1,389,390,391,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,43,44,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,387,388,392,393,64,71,72,45,46,69,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,394,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-224,-224,-224,-224,-224,-224,125,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,128,-224,-224,-224,-224,-224,-224,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,2,83,8,395,100,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,128,-227,-227,-227,-227,-227,-227,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,2,83,8,396,100,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,397,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,3,67,11,44,164,399,398,2,67,11,164,400,9,1,5,60,1,1,5,33,18,16,-375,-375,-375,-375,-375,-375,-375,-375,-375,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-221,-221,-221,-221,-221,-221,125,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,128,-221,-221,-221,-221,-221,-221,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,2,83,8,401,100,13,1,5,60,1,1,5,33,18,16,10,1,10,1,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,2,73,71,403,402,1,144,404,7,56,1,10,31,85,1,2,409,105,408,405,406,407,410,2,73,71,-343,-343,1,185,411,26,6,40,8,1,1,1,1,1,1,1,6,1,5,11,8,6,3,1,1,1,1,2,1,78,3,2,-111,272,101,102,416,105,275,258,106,107,415,-111,-111,276,267,412,268,273,277,269,270,271,278,417,413,414,13,1,5,60,1,1,5,33,18,16,10,1,10,1,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,13,1,5,60,1,1,5,33,18,16,10,1,10,1,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,13,1,5,60,1,1,5,33,18,16,10,1,10,1,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,13,1,5,60,1,1,5,33,18,16,10,1,10,1,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,64,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-91,-91,-91,-91,-91,-91,-91,-91,418,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,13,1,5,60,1,1,5,33,18,16,10,1,10,1,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,13,1,5,60,1,1,5,33,18,16,10,1,10,1,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,13,1,5,60,1,1,5,33,18,16,10,1,10,1,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,13,1,5,60,1,1,5,33,18,16,10,1,10,1,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,419,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,420,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,1,144,421,59,1,5,54,1,5,1,1,5,2,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,-36,148,149,150,151,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,60,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,2,6,134,108,422,106,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,423,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,43,44,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,32,6,61,1,5,2,19,12,2,11,1,4,26,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-201,-201,-201,-201,125,129,-201,326,424,325,-201,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,60,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,110,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,7,1,1,1,1,7,3,11,1,1,1,2,2,5,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,332,250,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,248,54,53,73,74,94,100,60,84,425,88,252,85,86,427,426,67,43,44,91,92,251,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,9,6,61,1,5,24,1,8,9,9,-219,-219,-219,429,430,-219,-219,428,-219,59,6,5,36,2,1,1,1,1,1,3,3,1,6,1,1,1,3,7,11,3,11,1,1,1,2,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,431,-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,-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,-156,-156,-156,-156,-156,-156,5,6,61,1,5,33,-147,-147,-147,-147,-147,113,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,7,1,1,1,1,7,3,11,2,1,2,2,1,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,332,250,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,247,103,104,248,54,53,73,74,94,100,60,84,88,252,85,86,433,432,246,249,245,67,43,44,91,92,251,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,59,6,5,36,2,1,1,1,1,1,3,3,1,6,1,1,1,3,7,11,3,11,1,1,1,2,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,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,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,5,6,61,1,5,33,-152,-152,-152,-152,-152,6,6,61,1,5,33,18,-202,-202,-202,-202,-202,-202,6,6,61,1,5,33,18,-203,-203,-203,-203,-203,-203,107,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,7,1,1,1,1,7,3,11,1,1,3,2,9,3,1,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,-204,434,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,-204,-204,103,104,-204,54,53,73,74,94,100,60,84,-204,88,85,86,67,-204,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,56,1,5,54,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-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,2,58,1,435,258,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,436,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,437,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,56,1,5,54,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-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,64,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,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,64,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,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,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,2,58,1,438,258,2,58,1,439,258,25,67,8,3,16,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,164,125,440,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,25,67,8,3,16,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,164,125,441,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-258,-258,-258,-258,-258,-258,125,-258,-258,129,-258,-258,442,-258,-258,-258,-258,-258,-258,-258,-258,-258,128,97,98,-258,-258,-258,-258,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-260,-260,-260,-260,-260,-260,125,-260,-260,129,-260,-260,443,-260,-260,-260,-260,-260,-260,-260,-260,-260,128,97,98,-260,-260,-260,-260,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,46,1,5,60,1,1,5,2,3,10,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-267,-267,-267,164,-267,-267,125,444,-267,-267,129,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,128,97,98,-267,-267,-267,-267,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,6,6,61,1,5,20,5,-116,-116,-116,-116,445,-116,8,6,61,1,5,24,1,8,18,-219,-219,-219,447,446,-219,-219,-219,7,6,61,1,5,1,19,5,-125,-125,-125,-125,448,-125,-125,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,449,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,3,58,1,46,257,258,450,6,6,61,1,5,20,5,-128,-128,-128,-128,-128,-128,5,6,61,1,5,25,-112,-112,-112,-112,-112,11,6,61,1,5,1,11,1,1,6,5,24,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,11,6,61,1,5,1,11,1,1,6,5,24,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,11,6,61,1,5,1,11,1,1,6,5,24,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,5,6,61,1,5,25,-117,-117,-117,-117,-117,17,39,4,1,12,1,1,1,24,1,7,13,3,2,1,2,24,3,454,456,455,274,105,275,258,453,276,100,451,88,452,457,458,87,83,56,1,5,54,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,459,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,6,55,5,1,2,1,1,283,106,107,460,461,282,4,60,1,2,2,-59,-59,-59,-59,108,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,2,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,462,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,464,463,103,104,54,53,73,74,94,100,60,84,88,85,86,67,43,44,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,4,60,1,2,2,-64,-64,-64,-64,5,1,5,60,2,72,-4,-4,-4,-4,-4,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,128,-390,-390,-390,-390,-390,-390,-390,-390,111,112,-390,-390,-390,-390,-390,-390,119,-390,121,-390,-390,-390,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,128,-391,-391,-391,-391,-391,-391,-391,-391,111,112,-391,-391,-391,-391,-391,-391,119,-391,121,-391,-391,-391,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,128,-392,-392,-392,-392,-392,-392,-392,-392,-392,112,-392,-392,-392,-392,-392,-392,119,-392,121,-392,-392,-392,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,128,-393,-393,-393,-393,-393,-393,-393,-393,-393,112,-393,-393,-393,-393,-393,-393,119,-393,121,-393,-393,-393,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,128,-394,-394,-394,-394,-394,-394,110,109,111,112,-394,-394,-394,-394,-394,-394,119,-394,121,-394,-394,-394,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,128,-395,-395,-395,-395,-395,-395,110,109,111,112,113,-395,-395,-395,-395,-395,119,-395,121,-395,123,-395,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,128,-396,-396,-396,-396,-396,-396,110,109,111,112,113,114,-396,-396,-396,-396,119,-396,121,-396,123,-396,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,128,-397,-397,-397,-397,-397,-397,110,109,111,112,113,114,115,-397,-397,-397,119,-397,121,-397,123,-397,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,128,-398,-398,-398,-398,-398,-398,110,109,111,112,113,114,115,116,-398,-398,119,-398,121,-398,123,-398,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,128,-406,-406,-406,-406,-406,-406,110,109,111,112,113,114,115,116,117,-406,119,120,121,-406,123,-406,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-407,-407,-407,-407,-407,-407,125,-407,-407,129,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,126,127,128,97,98,-407,-407,-407,-407,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,128,-405,-405,-405,-405,-405,-405,110,109,111,112,113,114,115,116,117,-405,119,-405,121,-405,123,-405,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-408,-408,-408,-408,-408,-408,125,-408,-408,129,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,126,127,128,97,98,-408,-408,-408,-408,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,128,-409,-409,-409,-409,-409,-409,110,109,111,112,113,114,115,116,117,118,119,120,121,-409,123,-409,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,128,-410,-410,-410,-410,-410,-410,110,109,111,112,113,-410,-410,-410,-410,-410,119,-410,121,-410,-410,-410,24,75,18,1,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,125,465,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-72,-72,-36,-36,-72,-72,-72,-72,-72,-36,-36,-36,-72,-36,-72,-72,-72,-72,-72,-72,-72,-72,-36,-72,-72,-36,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-36,-36,-36,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-238,-238,-238,-238,-238,-238,125,-238,-238,129,-238,-238,-238,-238,-238,-238,-238,-238,-238,466,-238,-238,128,97,98,-238,-238,-238,-238,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-242,-242,-242,-242,-242,-242,125,-242,-242,129,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,128,97,98,-242,-242,-242,-242,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,4,96,69,2,2,468,467,469,470,11,56,1,25,1,1,7,4,10,2,24,39,156,105,158,159,157,100,471,161,160,199,198,11,56,1,25,1,1,7,4,10,2,24,39,156,105,158,159,157,100,472,161,160,199,198,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,473,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-237,-237,-237,-237,-237,-237,125,-237,-237,129,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,128,97,98,-237,-237,-237,-237,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-241,-241,-241,-241,-241,-241,125,-241,-241,129,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,128,97,98,-241,-241,-241,-241,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,56,1,5,54,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,64,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,64,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,27,75,13,6,14,11,1,30,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,125,474,129,326,475,325,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,5,2,3,11,2,1,2,2,7,1,1,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,476,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,477,100,60,84,88,326,85,86,323,325,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,1,88,478,1,88,479,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,10,1,1,1,1,4,3,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,480,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,-166,103,104,54,53,73,74,94,-166,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-47,-47,-47,-47,-47,-47,-47,481,-47,-47,-47,-47,-68,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,55,11,36,2,1,1,1,1,1,3,3,1,7,1,1,10,8,3,3,11,2,3,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,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,-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,-160,-160,-160,55,11,36,2,1,1,1,1,1,3,3,1,7,1,1,10,8,3,3,11,2,3,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,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,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,482,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,483,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,56,1,5,54,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-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,8,6,61,1,5,24,1,8,18,-219,-219,-219,485,484,-219,-219,-219,5,6,61,1,5,51,-196,-196,-196,-196,-196,109,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,1,2,2,5,4,4,2,1,1,3,2,2,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,332,250,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,331,103,104,54,53,73,74,94,100,60,84,88,252,85,86,330,67,43,44,91,92,251,486,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,29,6,61,1,5,2,19,12,18,26,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-201,-201,-201,-201,125,129,-201,-201,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,64,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,64,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,24,75,13,6,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,125,487,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,488,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-69,-69,-69,-69,-69,-69,125,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,128,-69,-69,-69,-69,-69,-69,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,489,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,490,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-73,-73,-73,-73,-73,-73,125,-73,-73,129,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,126,127,128,97,98,-73,-73,-73,-73,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,491,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,492,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-76,-76,-76,-76,-76,-76,125,-76,-76,129,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,126,127,128,97,98,-76,-76,-76,-76,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,493,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-79,-79,-79,-79,-79,-79,125,-79,-79,129,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,126,127,128,97,98,-79,-79,-79,-79,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,494,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,495,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-82,-82,-82,-82,-82,-82,125,-82,-82,129,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,126,127,128,97,98,-82,-82,-82,-82,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,496,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,3,127,1,1,497,91,92,17,6,50,1,10,1,14,1,1,7,7,7,1,1,1,16,6,1,-220,156,105,-220,-220,158,159,157,100,-220,161,-220,160,155,-220,498,154,2,6,61,499,500,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,501,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,6,6,61,1,5,51,2,-182,-182,-182,-182,-182,-182,58,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,3,1,4,2,1,3,1,1,2,27,1,1,1,1,3,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,2,6,62,108,502,9,6,61,1,5,24,1,8,18,2,-219,-219,-219,353,354,-219,-219,-219,503,1,68,504,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-412,-412,-412,-412,-412,-412,125,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,128,-412,-412,-412,-412,-412,-412,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,505,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,506,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,-86,-86,125,-86,-86,129,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,126,127,128,97,98,-86,-86,-86,-86,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,507,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,3,7,1,3,1,1,2,27,1,6,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,508,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,2,67,11,164,509,6,56,1,10,11,5,8,510,105,164,512,511,100,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,513,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,514,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,515,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,516,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,1,96,517,1,167,518,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,519,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,10,56,1,25,1,1,7,14,2,24,39,156,105,158,159,157,100,161,160,199,520,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,521,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,3,157,1,1,522,382,383,4,68,79,11,1,523,524,525,383,3,68,79,12,-254,-254,-254,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,6,1,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,527,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,526,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,46,1,5,60,1,1,5,2,3,10,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-309,-309,-309,164,-309,-309,125,528,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,128,-309,-309,-309,-309,-309,-309,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,529,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,2,6,62,531,530,2,6,62,-318,-318,25,6,62,7,19,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-321,-321,125,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,2,6,62,-322,-322,7,6,62,82,1,9,1,1,-323,-323,130,131,132,97,98,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,532,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,1,57,533,24,67,8,19,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,534,125,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,1,68,535,1,68,536,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,128,-229,-229,-229,-229,-229,-229,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,18,6,50,1,10,1,5,9,1,1,7,14,2,1,15,1,2,4,1,-175,156,105,-175,-175,-175,158,159,157,100,161,160,155,537,-175,-175,153,154,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,1,68,538,3,55,5,1,539,106,107,3,91,91,5,541,540,224,3,55,5,1,542,106,107,1,144,543,8,6,61,1,5,24,1,8,18,-219,-219,-219,545,544,-219,-219,-219,5,6,61,1,5,25,-334,-334,-334,-334,-334,6,56,1,10,116,1,2,409,105,408,546,407,410,6,6,61,1,5,25,87,-339,-339,-339,-339,-339,547,6,6,61,1,5,25,87,-341,-341,-341,-341,-341,548,2,56,1,549,105,14,1,5,60,1,1,5,33,18,16,4,6,1,10,1,-345,-345,-345,-345,-345,-345,-345,-345,-345,550,-345,-345,-345,-345,8,6,61,1,5,24,1,8,18,-219,-219,-219,552,551,-219,-219,-219,5,6,61,1,5,25,-363,-363,-363,-363,-363,6,56,1,10,119,3,2,554,105,415,417,553,414,12,6,61,1,5,1,11,1,1,6,5,24,63,-368,-368,-368,-368,-122,-122,-122,-122,-122,-368,-122,555,6,6,61,1,5,25,87,-371,-371,-371,-371,-371,556,103,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,558,557,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,559,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,32,1,5,60,1,1,5,2,19,12,18,16,10,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-358,-358,-358,-358,-358,-358,125,129,-358,-358,-358,-358,-358,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,2,83,8,560,100,3,55,5,1,561,106,107,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,2,6,62,108,562,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,563,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,60,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,59,6,5,36,2,1,1,1,1,1,3,3,1,6,1,1,1,3,7,11,3,11,1,1,1,2,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,431,-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,-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,-157,-157,-157,-157,-157,-157,5,6,61,1,5,33,-153,-153,-153,-153,-153,2,67,39,565,564,117,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,7,1,1,1,1,7,3,4,7,1,1,1,2,2,1,3,1,1,3,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,-220,332,250,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,-220,-220,103,104,248,54,53,73,74,94,100,60,-220,84,-220,88,252,85,86,567,566,249,245,67,-220,43,44,91,92,251,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,4,6,61,1,38,568,-154,-154,-154,59,6,5,36,2,1,1,1,1,1,3,3,1,6,1,1,1,3,7,11,3,11,1,1,1,2,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,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,-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,-159,-159,-159,-159,-159,-159,-159,9,6,61,1,5,24,1,8,9,9,-219,-219,-219,429,430,-219,-219,569,-219,109,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,7,1,1,1,1,7,3,11,2,1,2,2,5,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,332,250,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,248,54,53,73,74,94,100,60,84,88,252,85,86,427,426,67,43,44,91,92,251,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,29,6,61,1,5,2,19,12,18,26,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-188,-188,-188,-188,125,129,-188,-188,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,24,75,13,6,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,125,570,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,571,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,572,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,573,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,574,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,575,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,576,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,3,6,61,31,578,579,577,23,6,40,8,1,1,1,1,1,1,1,6,1,16,8,6,4,1,1,1,1,1,1,16,-220,272,101,102,274,105,275,258,106,107,-220,-220,276,581,-220,580,277,269,270,-220,271,278,-220,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,582,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,583,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,24,75,19,12,44,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,125,129,584,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,585,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,10,6,61,1,5,12,1,1,11,13,11,-129,-129,-129,-129,-131,-131,-131,-129,586,143,10,6,61,1,5,12,1,1,11,13,11,-130,-130,-130,-130,588,589,590,-130,587,143,9,6,61,1,5,12,1,1,11,24,-132,-132,-132,-132,-132,-132,-132,-132,-132,9,6,61,1,5,12,1,1,11,24,-133,-133,-133,-133,-133,-133,-133,-133,-133,9,6,61,1,5,12,1,1,11,24,-134,-134,-134,-134,-134,-134,-134,-134,-134,9,6,61,1,5,12,1,1,11,24,-135,-135,-135,-135,-135,-135,-135,-135,-135,4,85,2,24,11,254,255,591,143,2,111,11,592,143,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,58,1,5,54,1,2,2,1,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,4,60,1,2,2,-60,-60,-60,-60,2,6,60,108,593,106,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,594,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,43,44,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,4,60,1,2,2,-63,-63,-63,-63,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,595,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,597,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,596,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,598,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,599,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,600,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,601,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,1,96,602,1,167,603,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,604,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,64,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,10,1,1,1,1,4,3,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,605,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,-164,103,104,54,53,73,74,94,-164,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,27,68,7,19,14,11,1,30,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,606,125,129,326,475,325,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,1,68,607,64,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,64,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,25,68,7,13,6,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-165,125,-165,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,608,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,24,75,13,6,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,125,609,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,610,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,3,6,61,57,612,613,611,113,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,10,1,1,1,1,7,3,4,7,1,1,1,2,2,5,4,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,-220,332,250,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,-220,-220,103,104,54,53,73,74,94,100,60,-220,84,-220,88,252,85,86,614,67,-220,43,44,91,92,251,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,8,6,61,1,5,24,1,8,18,-219,-219,-219,485,615,-219,-219,-219,64,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,24,68,7,19,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,616,125,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-70,-70,-70,-70,-70,-70,125,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,128,-70,-70,-70,-70,-70,-70,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,24,68,7,19,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,617,125,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-74,-74,-74,-74,-74,-74,125,-74,-74,129,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,126,127,128,97,98,-74,-74,-74,-74,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,24,68,7,19,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,618,125,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-77,-77,-77,-77,-77,-77,125,-77,-77,129,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,126,127,128,97,98,-77,-77,-77,-77,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-80,-80,-80,-80,-80,-80,125,-80,-80,129,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,126,127,128,97,98,-80,-80,-80,-80,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,24,68,7,19,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,619,125,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-83,-83,-83,-83,-83,-83,125,-83,-83,129,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,126,127,128,97,98,-83,-83,-83,-83,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,107,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,8,2,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,621,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,164,103,104,620,54,53,73,74,94,100,60,84,88,85,86,67,43,44,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,6,6,61,1,5,51,2,-177,-177,-177,-177,-177,-177,11,56,1,25,1,1,7,14,2,1,22,1,156,105,158,159,157,100,161,160,155,622,154,18,6,50,1,10,1,5,9,1,1,7,14,2,1,15,1,2,4,1,-175,156,105,-175,-175,-175,158,159,157,100,161,160,155,623,-175,-175,153,154,29,6,61,1,5,2,19,30,2,24,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-181,-181,-181,-181,125,129,-181,-181,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,58,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,3,1,4,2,1,3,1,1,2,27,1,1,1,1,3,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,3,127,1,1,624,91,92,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,24,68,7,19,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,625,125,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-414,-414,-414,-414,-414,-414,125,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,128,-414,-414,-414,-414,-414,-414,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,25,67,8,3,16,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,164,125,626,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,2,67,11,164,627,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,2,67,11,164,628,2,67,11,164,629,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,3,7,1,3,1,1,2,27,1,6,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,27,67,8,3,16,5,51,1,9,1,1,4,30,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,164,125,630,129,631,126,127,128,97,98,632,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,26,67,8,3,16,5,51,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,164,125,633,129,634,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,26,67,8,3,16,5,51,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,164,125,635,129,636,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,26,67,8,3,16,5,51,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,164,125,637,129,638,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,639,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,640,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,25,67,8,3,16,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,164,125,641,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,4,96,69,2,2,-306,-306,-306,-306,28,73,2,19,2,54,1,9,1,1,3,2,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-304,125,129,-304,126,127,128,97,98,-304,-304,-304,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,4,68,79,11,1,642,643,525,383,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,2,67,11,164,644,3,68,79,12,-255,-255,-255,3,67,6,5,164,646,645,25,67,6,2,19,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-205,-205,125,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,46,1,5,60,1,1,5,2,3,10,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-313,-313,-313,164,-313,-313,125,647,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,128,-313,-313,-313,-313,-313,-313,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,109,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,1,1,1,1,8,4,1,1,1,1,1,4,1,-320,389,390,391,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,-320,103,104,54,53,73,74,94,100,60,84,88,85,86,67,43,44,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,648,392,393,64,71,72,45,46,69,47,48,49,51,52,25,6,62,7,19,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-324,-324,125,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,2,6,62,-325,-325,108,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,1,1,1,1,1,1,8,4,1,1,1,1,1,4,1,389,390,391,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,43,44,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,649,388,392,393,64,71,72,45,46,69,47,48,49,51,52,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-225,-225,-225,-225,-225,-225,-225,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,8,6,61,1,5,24,1,8,18,-219,-219,-219,353,354,-219,-219,650,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-222,-222,-222,-222,-222,-222,-222,13,1,5,60,1,1,5,33,18,16,10,1,10,1,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,1,144,651,6,56,1,10,116,1,2,409,105,408,652,407,410,13,1,5,60,1,1,5,33,18,16,10,1,10,1,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,3,55,5,1,653,106,107,3,6,61,31,655,656,654,10,6,50,1,10,1,30,8,18,60,2,-220,409,105,-220,-220,-220,-220,-220,657,410,8,6,61,1,5,24,1,8,18,-219,-219,-219,545,658,-219,-219,-219,2,56,1,659,105,2,56,1,660,105,1,144,-344,3,55,5,1,661,106,107,3,6,61,31,663,664,662,10,6,50,1,10,1,30,8,18,62,5,-220,554,105,-220,-220,-220,-220,-220,417,665,8,6,61,1,5,24,1,8,18,-219,-219,-219,552,666,-219,-219,-219,6,6,61,1,5,25,87,-368,-368,-368,-368,-368,555,3,56,1,129,667,105,668,2,56,1,669,105,32,1,5,60,1,1,5,2,19,12,18,16,10,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-351,-351,-351,-351,-351,-351,125,129,-351,-351,-351,-351,-351,128,-351,-351,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,670,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,671,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,1,68,672,13,1,5,60,1,1,5,33,18,16,10,1,10,1,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,1,140,673,24,75,19,12,44,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,125,129,674,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,60,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-146,-146,-146,-146,113,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,7,1,1,1,1,7,3,11,2,1,2,2,1,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,332,250,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,247,103,104,248,54,53,73,74,94,100,60,84,88,252,85,86,433,675,246,249,245,67,43,44,91,92,251,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,5,6,61,1,5,33,-148,-148,-148,-148,-148,112,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,7,1,1,1,1,7,3,11,1,1,1,2,2,5,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,332,250,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,-155,-155,103,104,248,54,53,73,74,94,100,60,84,-155,88,252,85,86,427,426,67,43,44,91,92,251,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,111,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,7,1,1,1,1,7,3,11,2,1,2,2,1,3,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,332,250,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,248,54,53,73,74,94,100,60,84,88,252,85,86,433,676,249,245,67,43,44,91,92,251,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,2,67,1,565,677,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,24,68,7,19,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,678,125,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,2,67,11,164,679,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-259,-259,-259,-259,-259,-259,125,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,128,-259,-259,-259,-259,-259,-259,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-261,-261,-261,-261,-261,-261,125,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,128,-261,-261,-261,-261,-261,-261,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,28,6,61,1,5,2,19,4,52,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-118,-118,-118,-118,125,680,-118,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,681,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,60,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,17,46,8,1,1,1,1,1,1,1,23,8,10,1,1,1,2,1,272,101,102,274,105,275,258,106,107,276,581,682,277,269,270,271,278,23,6,40,8,1,1,1,1,1,1,1,6,1,5,11,8,6,3,1,1,1,1,2,1,-111,272,101,102,274,105,275,258,106,107,-111,-111,-111,276,581,-111,683,273,277,269,270,271,278,5,6,61,1,5,25,-113,-113,-113,-113,-113,6,6,61,1,5,20,5,-116,-116,-116,-116,684,-116,28,6,61,1,5,2,19,4,52,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-120,-120,-120,-120,125,129,-120,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,685,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,6,6,61,1,5,20,5,-126,-126,-126,-126,-126,-126,24,75,19,12,44,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,125,129,686,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,9,6,61,1,5,12,1,1,11,24,-138,-138,-138,-138,-138,-138,-138,-138,-138,9,6,61,1,5,12,1,1,11,24,-139,-139,-139,-139,-139,-139,-139,-139,-139,2,58,1,687,258,2,58,1,688,258,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,689,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,690,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,9,6,61,1,5,12,1,1,11,24,-136,-136,-136,-136,-136,-136,-136,-136,-136,9,6,61,1,5,12,1,1,11,24,-137,-137,-137,-137,-137,-137,-137,-137,-137,4,60,1,2,2,-61,-61,-61,-61,2,6,62,108,691,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-411,-411,-411,-411,-411,-411,125,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,128,-411,-411,-411,-411,-411,-411,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,692,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-240,-240,-240,-240,-240,-240,125,-240,-240,129,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,128,97,98,-240,-240,-240,-240,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-286,-286,-286,-286,-286,-286,125,-286,-286,-286,-286,-286,693,-286,-286,-286,-286,-286,-286,-286,-286,-286,128,-286,-286,-286,694,-286,-286,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-291,-291,-291,-291,-291,-291,125,-291,-291,-291,-291,-291,695,-291,-291,-291,-291,-291,-291,-291,-291,-291,128,-291,-291,-291,-291,-291,-291,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-295,-295,-295,-295,-295,-295,125,-295,-295,-295,-295,-295,696,-295,-295,-295,-295,-295,-295,-295,-295,-295,128,-295,-295,-295,-295,-295,-295,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-299,-299,-299,-299,-299,-299,125,-299,-299,-299,-299,-299,697,-299,-299,-299,-299,-299,-299,-299,-299,-299,128,-299,-299,-299,-299,-299,-299,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,698,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,699,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-302,-302,-302,-302,-302,-302,125,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,128,-302,-302,-302,-302,-302,-302,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,25,68,7,13,6,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-163,125,-163,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,1,88,700,1,88,701,24,75,13,6,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,125,-67,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,64,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,24,68,7,19,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,702,125,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,56,1,5,54,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-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,107,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,1,2,2,5,4,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,332,250,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,252,85,86,703,67,43,44,91,92,251,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,109,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,1,2,2,5,4,4,2,1,1,3,2,2,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,332,250,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,331,103,104,54,53,73,74,94,100,60,84,88,252,85,86,330,67,43,44,91,92,251,704,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,5,6,61,1,5,51,-197,-197,-197,-197,-197,3,6,61,1,612,613,705,1,88,706,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-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,-169,-169,-169,9,1,5,60,1,1,5,33,18,16,-171,-171,-171,-171,-171,-171,-171,-171,-171,6,6,61,1,5,51,2,-178,-178,-178,-178,-178,-178,8,6,61,1,5,24,1,8,18,-219,-219,-219,353,707,-219,-219,-219,2,67,11,164,620,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,3,7,1,3,1,1,2,27,1,6,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,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,3,7,1,3,1,1,2,27,1,6,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,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,708,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,709,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,710,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,711,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,712,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,26,67,8,3,16,5,51,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,164,125,713,129,714,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,26,67,8,3,16,5,51,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,164,125,715,129,716,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,2,67,11,164,717,1,68,718,4,6,62,79,12,719,-256,-256,-256,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,720,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,2,6,62,-319,-319,2,6,62,531,721,2,67,11,164,722,3,55,5,1,723,106,107,8,6,61,1,5,24,1,8,18,-219,-219,-219,545,724,-219,-219,-219,13,1,5,60,1,1,5,33,18,16,10,1,10,1,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,1,144,725,4,56,1,127,2,409,105,726,410,6,56,1,10,116,1,2,409,105,408,727,407,410,5,6,61,1,5,25,-335,-335,-335,-335,-335,3,6,61,1,655,656,728,5,6,61,1,5,25,-340,-340,-340,-340,-340,5,6,61,1,5,25,-342,-342,-342,-342,-342,13,1,5,60,1,1,5,33,18,16,10,1,10,1,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,14,1,5,60,1,1,5,33,18,16,4,6,1,10,1,-346,-346,-346,-346,-346,-346,-346,-346,-346,729,-346,-346,-346,-346,4,56,1,129,5,554,105,417,730,6,56,1,10,119,3,2,554,105,415,417,731,414,5,6,61,1,5,25,-364,-364,-364,-364,-364,3,6,61,1,663,664,732,5,6,61,1,5,25,-369,-369,-369,-369,-369,5,6,61,1,5,25,-370,-370,-370,-370,-370,5,6,61,1,5,25,-372,-372,-372,-372,-372,32,1,5,60,1,1,5,2,19,12,18,16,10,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-352,-352,-352,-352,-352,-352,125,129,-352,-352,-352,-352,-352,128,-352,-352,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,24,68,7,19,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,733,125,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,13,1,5,60,1,1,5,33,18,16,10,1,10,1,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-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,-162,-162,-162,9,6,61,1,5,24,1,8,9,9,-219,-219,-219,429,430,-219,-219,734,-219,5,6,61,1,5,33,-149,-149,-149,-149,-149,5,6,61,1,5,33,-150,-150,-150,-150,-150,1,88,735,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,14,40,16,1,25,1,1,7,4,5,5,2,24,37,2,313,156,105,158,159,157,100,736,737,84,160,199,312,198,24,68,7,19,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,738,125,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,5,6,61,1,5,25,-114,-114,-114,-114,-114,8,6,61,1,5,24,1,8,18,-219,-219,-219,447,739,-219,-219,-219,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,740,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,576,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,24,68,7,19,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,741,125,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,6,6,61,1,5,20,5,-127,-127,-127,-127,-127,-127,9,6,61,1,5,12,1,1,11,24,-140,-140,-140,-140,-140,-140,-140,-140,-140,9,6,61,1,5,12,1,1,11,24,-141,-141,-141,-141,-141,-141,-141,-141,-141,24,75,13,6,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,125,742,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,743,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,1,66,744,24,68,7,19,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,745,125,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,746,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,747,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,748,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,749,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,750,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-293,-293,-293,-293,-293,-293,125,-293,-293,-293,-293,-293,751,-293,-293,-293,-293,-293,-293,-293,-293,-293,128,-293,-293,-293,-293,-293,-293,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-297,-297,-297,-297,-297,-297,125,-297,-297,-297,-297,-297,752,-297,-297,-297,-297,-297,-297,-297,-297,-297,128,-297,-297,-297,-297,-297,-297,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,64,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,64,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,1,88,753,5,6,61,1,5,51,-198,-198,-198,-198,-198,8,6,61,1,5,24,1,8,18,-219,-219,-219,485,754,-219,-219,-219,5,6,61,1,5,51,-199,-199,-199,-199,-199,64,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,3,6,61,1,499,500,755,26,67,8,3,16,56,1,9,1,1,4,30,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,164,125,756,129,126,127,128,97,98,757,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,26,67,8,3,16,5,51,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,164,125,758,129,759,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,25,67,8,3,16,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,164,125,760,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,25,67,8,3,16,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,164,125,761,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,25,67,8,3,16,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,164,125,762,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,763,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,764,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,1,68,765,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,3,68,79,12,-257,-257,-257,25,67,6,2,19,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-206,-206,125,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,13,1,5,60,1,1,5,33,18,16,10,1,10,1,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,3,6,61,31,655,656,766,3,55,5,1,767,106,107,5,6,61,1,5,25,-336,-336,-336,-336,-336,8,6,61,1,5,24,1,8,18,-219,-219,-219,545,768,-219,-219,-219,5,6,61,1,5,25,-337,-337,-337,-337,-337,3,55,5,1,769,106,107,5,6,61,1,5,25,-365,-365,-365,-365,-365,8,6,61,1,5,24,1,8,18,-219,-219,-219,552,770,-219,-219,-219,5,6,61,1,5,25,-366,-366,-366,-366,-366,13,1,5,60,1,1,5,33,18,16,10,1,10,1,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,2,67,1,565,771,55,1,5,54,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,4,96,69,2,2,772,467,469,470,11,56,1,25,1,1,7,4,10,2,24,39,156,105,158,159,157,100,773,161,160,199,198,5,6,61,1,5,25,-119,-119,-119,-119,-119,3,6,61,1,578,579,774,28,6,61,1,5,2,19,4,52,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-118,-118,-118,-118,125,129,-118,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,5,6,61,1,5,25,-121,-121,-121,-121,-121,9,6,61,1,5,12,1,1,11,24,-142,-142,-142,-142,-142,-142,-142,-142,-142,24,68,7,19,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,775,125,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,4,60,1,2,2,-62,-62,-62,-62,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-287,-287,-287,-287,-287,-287,125,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,128,-287,-287,-287,776,-287,-287,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-288,-288,-288,-288,-288,-288,125,-288,-288,-288,-288,-288,777,-288,-288,-288,-288,-288,-288,-288,-288,-288,128,-288,-288,-288,-288,-288,-288,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-292,-292,-292,-292,-292,-292,125,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,128,-292,-292,-292,-292,-292,-292,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-296,-296,-296,-296,-296,-296,125,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,128,-296,-296,-296,-296,-296,-296,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-300,-300,-300,-300,-300,-300,125,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,128,-300,-300,-300,-300,-300,-300,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,778,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,779,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,64,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,3,6,61,1,612,613,780,6,6,61,1,5,51,2,-179,-179,-179,-179,-179,-179,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,781,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,782,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,25,67,8,3,16,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,164,125,783,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,25,67,8,3,16,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,164,125,784,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,1,144,785,13,1,5,60,1,1,5,33,18,16,10,1,10,1,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,3,6,61,1,655,656,786,13,1,5,60,1,1,5,33,18,16,10,1,10,1,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,3,6,61,1,663,664,787,5,6,61,1,5,33,-151,-151,-151,-151,-151,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,788,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,1,96,789,5,6,61,1,5,25,-115,-115,-115,-115,-115,1,88,790,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,791,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,792,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-294,-294,-294,-294,-294,-294,125,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,128,-294,-294,-294,-294,-294,-294,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-298,-298,-298,-298,-298,-298,125,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,128,-298,-298,-298,-298,-298,-298,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,5,6,61,1,5,51,-200,-200,-200,-200,-200,25,67,8,3,16,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,164,125,793,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,25,67,8,3,16,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,164,125,794,129,126,127,128,97,98,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,3,55,5,1,795,106,107,5,6,61,1,5,25,-338,-338,-338,-338,-338,5,6,61,1,5,25,-367,-367,-367,-367,-367,46,1,5,60,1,1,5,2,13,5,1,2,1,1,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-291,-291,-291,-291,-291,798,125,-291,-291,-291,-291,796,-291,797,-291,-291,-291,-291,-291,-291,-291,-291,-291,128,-291,-291,-291,-291,-291,-291,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,799,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,9,6,61,1,5,12,1,1,11,24,-143,-143,-143,-143,-143,-143,-143,-143,-143,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-289,-289,-289,-289,-289,-289,125,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,128,-289,-289,-289,-289,-289,-289,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,45,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-290,-290,-290,-290,-290,-290,125,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,128,-290,-290,-290,-290,-290,-290,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,44,1,5,60,1,1,5,2,13,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,13,1,5,60,1,1,5,33,18,16,10,1,10,1,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,1,98,800,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,801,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,6,6,61,1,30,8,18,-220,-220,-220,-220,-220,-220,46,1,5,60,1,1,5,2,13,5,1,2,1,1,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-293,-293,-293,-293,-293,798,125,-293,-293,-293,-293,802,-293,803,-293,-293,-293,-293,-293,-293,-293,-293,-293,128,-293,-293,-293,-293,-293,-293,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,60,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,46,1,5,60,1,1,5,2,13,5,1,2,1,1,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-292,-292,-292,-292,-292,798,125,-292,-292,-292,-292,804,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,128,-292,-292,-292,-292,-292,-292,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,1,98,805,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,806,167,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,101,102,93,105,106,107,103,104,54,53,73,74,94,100,60,84,88,85,86,67,171,172,91,92,87,89,90,83,70,65,66,55,95,56,96,57,61,58,97,98,59,99,50,62,68,63,64,71,72,173,174,175,47,48,49,51,52,1,98,807,60,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,46,1,5,60,1,1,5,2,13,5,1,2,1,1,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-294,-294,-294,-294,-294,798,125,-294,-294,-294,-294,808,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,128,-294,-294,-294,-294,-294,-294,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,60,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,1,98,809,60,1,5,54,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109],w=[],U=0,_,u,$,F;while(U<f.length){_=f[U++],u={},$=0,F=[];while(_--)$+=f[U++],F.push($);for($ of F)u[$]=f[U++];w.push(u)}return w})(),ruleTable:[0,0,3,0,3,1,4,1,4,3,4,2,5,1,5,1,5,1,9,1,9,1,9,1,9,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,46,1,46,1,56,1,58,1,55,1,55,3,62,1,62,2,64,3,64,5,64,2,64,1,48,1,48,3,72,3,72,1,17,3,17,4,17,5,18,3,19,3,19,4,19,5,20,3,20,4,20,3,21,3,21,4,21,5,22,3,22,4,22,3,22,2,22,3,22,2,37,1,37,1,37,1,81,1,81,1,81,3,81,3,81,4,81,6,81,4,81,6,81,4,81,5,81,7,81,3,81,3,81,4,81,6,83,10,83,12,83,11,83,13,83,4,101,0,101,1,101,3,101,4,101,6,102,1,102,1,102,3,102,5,102,3,102,5,104,1,104,1,104,1,92,1,92,3,92,4,92,1,103,2,103,2,109,1,109,1,109,1,109,1,109,1,109,2,109,2,109,2,109,2,109,3,109,3,109,4,109,6,82,2,82,3,82,4,114,1,114,3,114,4,114,4,114,6,116,1,116,2,115,1,115,2,113,1,113,2,118,1,118,2,119,1,119,1,40,5,89,3,89,2,89,2,89,1,33,6,33,3,15,5,15,2,35,5,35,2,127,1,127,1,123,0,123,1,123,3,123,4,123,6,130,1,130,3,130,2,130,1,131,1,131,1,131,1,131,1,132,2,41,2,41,2,41,3,41,2,41,2,111,2,111,4,134,1,134,3,134,4,134,4,134,6,117,1,117,1,117,1,117,1,135,1,135,3,43,1,43,1,84,2,44,3,44,4,44,6,45,3,45,3,78,2,78,3,39,3,39,5,97,0,97,1,10,2,10,4,10,1,31,2,31,4,32,1,32,2,32,4,32,3,145,3,145,5,148,3,148,5,23,1,23,3,23,1,23,3,23,3,23,7,23,5,23,3,23,3,24,2,24,3,24,4,24,5,153,3,153,3,153,2,27,5,27,7,27,4,27,6,157,1,157,2,158,3,158,4,160,2,160,4,160,2,160,4,25,2,25,2,25,2,25,1,163,2,163,2,163,3,26,5,26,7,26,7,26,9,26,9,26,5,26,7,26,6,26,8,26,5,26,7,26,6,26,8,26,5,26,7,26,3,26,5,26,5,26,7,26,7,26,9,26,9,26,5,26,7,26,6,26,8,26,5,26,7,26,6,26,8,26,5,26,7,26,3,26,5,170,1,170,3,95,1,95,3,28,1,28,2,28,3,28,4,28,2,28,3,28,4,28,5,34,3,29,4,29,6,175,1,175,3,175,2,176,1,176,1,176,1,176,2,176,2,30,2,12,2,12,4,12,4,12,5,12,7,12,6,12,9,183,1,183,3,183,4,183,4,183,6,184,1,184,3,184,1,184,3,181,1,182,3,13,3,13,5,13,2,13,2,13,2,13,2,13,4,13,5,13,6,13,2,13,2,13,2,13,2,13,3,13,5,13,4,13,5,13,7,189,1,189,3,189,4,189,4,189,6,191,1,191,3,191,3,191,1,191,3,36,2,36,2,36,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,4,16,2,16,2,16,2,16,2,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,5,16,3,16,5,16,4,42,2],ruleActions:(f,w,U,_)=>{let u=w,$=w.length-1;switch(f){case 1:return["program"];case 2:return["program",...u[$]];case 3:case 59:case 112:case 152:case 156:case 176:case 196:case 205:case 254:case 305:case 318:case 334:case 363:return[u[$]];case 4:case 113:case 177:case 197:case 206:case 319:case 335:case 364:return[...u[$-2],u[$]];case 5:case 61:case 159:case 320:return u[$-1];case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 64:case 65:case 88:case 89:case 90:case 91:case 92:case 117:case 122:case 123:case 124:case 125:case 128:case 131:case 132:case 133:case 134:case 135:case 147:case 173:case 174:case 180:case 184:case 185:case 186:case 187:case 201:case 202:case 203:case 219:case 220:case 234:case 236:case 265:case 303:case 321:case 322:case 323:case 339:case 341:case 343:case 368:case 371:return u[$];case 48:return"undefined";case 49:return"null";case 58:return["str",...u[$-1]];case 60:case 153:case 157:case 255:return[...u[$-1],u[$]];case 62:case 195:case 199:case 337:case 366:return u[$-2];case 63:return"";case 66:return["regex",u[$-1]];case 67:return["regex-index",u[$-2],u[$]];case 68:return["regex-index",u[$],null];case 69:case 120:return["=",u[$-2],u[$]];case 70:return["=",u[$-3],u[$]];case 71:case 121:return["=",u[$-4],u[$-1]];case 72:return["=",u[$],u[$-2]];case 73:return["state",u[$-2],u[$]];case 74:return["state",u[$-3],u[$]];case 75:return["state",u[$-4],u[$-1]];case 76:case 78:return["computed",u[$-2],u[$]];case 77:return["computed",u[$-3],u[$]];case 79:return["readonly",u[$-2],u[$]];case 80:return["readonly",u[$-3],u[$]];case 81:return["readonly",u[$-4],u[$-1]];case 82:case 84:return["effect",u[$-2],u[$]];case 83:return["effect",u[$-3],u[$]];case 85:case 86:case 87:return["effect",null,u[$]];case 93:case 102:case 140:return[".",u[$-2],u[$]];case 94:case 103:case 141:return["?.",u[$-2],u[$]];case 95:case 97:case 104:case 142:return["[]",u[$-3],u[$-1]];case 96:case 98:case 105:case 143:return["[]",u[$-5],u[$-2]];case 99:return[u[$-1][0],u[$-3],...u[$-1].slice(1)];case 100:return["optindex",u[$-4],u[$-1]];case 101:return["optindex",u[$-6],u[$-2]];case 106:return["object-comprehension",u[$-8],u[$-6],[["for-of",u[$-4],u[$-2],!1]],[]];case 107:return["object-comprehension",u[$-10],u[$-8],[["for-of",u[$-6],u[$-4],!1]],[u[$-2]]];case 108:return["object-comprehension",u[$-9],u[$-7],[["for-of",u[$-4],u[$-2],!0]],[]];case 109:return["object-comprehension",u[$-11],u[$-9],[["for-of",u[$-6],u[$-4],!0]],[u[$-2]]];case 110:return["object",...u[$-2]];case 111:case 154:case 175:case 194:return[];case 114:case 178:case 198:case 336:case 365:return[...u[$-3],u[$]];case 115:case 179:case 200:case 338:case 367:return[...u[$-5],...u[$-2]];case 116:return[null,u[$],u[$]];case 118:return[":",u[$-2],u[$]];case 119:return[":",u[$-4],u[$-1]];case 126:return["dynamicKey",u[$-1]];case 127:return["[]","this",u[$-1]];case 129:case 130:case 188:return["...",u[$]];case 136:case 192:return["super",...u[$]];case 137:case 138:case 139:case 190:case 193:return[u[$-1],...u[$]];case 144:return["array"];case 145:return["array",...u[$-1]];case 146:return["array",...u[$-2],...u[$-1]];case 148:return[...u[$-2],...u[$]];case 149:return[...u[$-3],...u[$]];case 150:return[...u[$-2],...u[$-1]];case 151:return[...u[$-5],...u[$-4],...u[$-2],...u[$-1]];case 155:return[...u[$]];case 158:return null;case 160:return"..";case 161:case 204:return"...";case 162:return[u[$-2],u[$-3],u[$-1]];case 163:case 392:case 394:case 395:case 410:case 412:return[u[$-1],u[$-2],u[$]];case 164:return[u[$],u[$-1],null];case 165:return[u[$-1],null,u[$]];case 166:return[u[$],null,null];case 167:return["def",u[$-4],u[$-2],u[$]];case 168:return["def",u[$-1],[],u[$]];case 169:case 171:return[u[$-1],u[$-3],u[$]];case 170:case 172:return[u[$-1],[],u[$]];case 181:case 304:return["default",u[$-2],u[$]];case 182:return["rest",u[$]];case 183:return["expansion"];case 189:return["tagged-template",u[$-1],u[$]];case 191:return["optcall",u[$-2],...u[$]];case 207:case 208:return"this";case 209:return[".","this",u[$]];case 210:return[".","super",u[$]];case 211:return["[]","super",u[$-1]];case 212:return["[]","super",u[$-2]];case 213:return[".","new",u[$]];case 214:return[".","import",u[$]];case 215:return["block"];case 216:return["block",...u[$-1]];case 217:return u[$-1].length===1?u[$-1][0]:["block",...u[$-1]];case 218:return u[$-2].length===1?u[$-2][0]:["block",...u[$-2]];case 221:return["return",u[$]];case 222:return["return",u[$-1]];case 223:return["return"];case 224:return["throw",u[$]];case 225:return["throw",u[$-1]];case 226:return["yield"];case 227:return["yield",u[$]];case 228:return["yield",u[$-1]];case 229:return["yield-from",u[$]];case 230:return["if",u[$-1],u[$]];case 231:return u[$-4].length===3?["if",u[$-4][1],u[$-4][2],["if",u[$-1],u[$]]]:[...u[$-4],["if",u[$-1],u[$]]];case 232:return["if",["!",u[$-1]],u[$]];case 233:return["if",["!",u[$-3]],u[$-2],u[$]];case 235:return u[$-2].length===3?["if",u[$-2][1],u[$-2][2],u[$]]:[...u[$-2],u[$]];case 237:case 238:return["if",u[$],[u[$-2]]];case 239:return["?:",u[$-4],u[$-6],u[$-1]];case 240:return["?:",u[$-2],u[$-4],u[$]];case 241:case 242:return["if",["!",u[$]],[u[$-2]]];case 243:return["try",u[$]];case 244:return["try",u[$-1],u[$]];case 245:return["try",u[$-2],u[$]];case 246:return["try",u[$-3],u[$-2],u[$]];case 247:case 248:case 373:case 376:case 378:return[u[$-1],u[$]];case 249:return[null,u[$]];case 250:return["switch",u[$-3],u[$-1],null];case 251:return["switch",u[$-5],u[$-3],u[$-1]];case 252:return["switch",null,u[$-1],null];case 253:return["switch",null,u[$-3],u[$-1]];case 256:return["when",u[$-1],u[$]];case 257:return["when",u[$-2],u[$-1]];case 258:return["while",u[$]];case 259:return["while",u[$-2],u[$]];case 260:return["while",["!",u[$]]];case 261:return["while",["!",u[$-2]],u[$]];case 262:return u[$-1].length===2?[u[$-1][0],u[$-1][1],u[$]]:[u[$-1][0],u[$-1][1],u[$-1][2],u[$]];case 263:case 264:return u[$].length===2?[u[$][0],u[$][1],[u[$-1]]]:[u[$][0],u[$][1],u[$][2],[u[$-1]]];case 266:return["loop",u[$]];case 267:return["loop",[u[$]]];case 268:return["loop-n",u[$-1],u[$]];case 269:return["for-in",u[$-3],u[$-1],null,null,u[$]];case 270:return["for-in",u[$-5],u[$-3],null,u[$-1],u[$]];case 271:return["for-in",u[$-5],u[$-3],u[$-1],null,u[$]];case 272:return["for-in",u[$-7],u[$-5],u[$-1],u[$-3],u[$]];case 273:return["for-in",u[$-7],u[$-5],u[$-3],u[$-1],u[$]];case 274:return["for-of",u[$-3],u[$-1],!1,null,u[$]];case 275:return["for-of",u[$-5],u[$-3],!1,u[$-1],u[$]];case 276:return["for-of",u[$-3],u[$-1],!0,null,u[$]];case 277:return["for-of",u[$-5],u[$-3],!0,u[$-1],u[$]];case 278:return["for-as",u[$-3],u[$-1],!1,null,u[$]];case 279:return["for-as",u[$-5],u[$-3],!1,u[$-1],u[$]];case 280:case 282:return["for-as",u[$-3],u[$-1],!0,null,u[$]];case 281:case 283:return["for-as",u[$-5],u[$-3],!0,u[$-1],u[$]];case 284:return["for-in",[],u[$-1],null,null,u[$]];case 285:return["for-in",[],u[$-3],u[$-1],null,u[$]];case 286:return["comprehension",u[$-4],[["for-in",u[$-2],u[$],null]],[]];case 287:return["comprehension",u[$-6],[["for-in",u[$-4],u[$-2],null]],[u[$]]];case 288:return["comprehension",u[$-6],[["for-in",u[$-4],u[$-2],u[$]]],[]];case 289:return["comprehension",u[$-8],[["for-in",u[$-6],u[$-4],u[$]]],[u[$-2]]];case 290:return["comprehension",u[$-8],[["for-in",u[$-6],u[$-4],u[$-2]]],[u[$]]];case 291:return["comprehension",u[$-4],[["for-of",u[$-2],u[$],!1]],[]];case 292:return["comprehension",u[$-6],[["for-of",u[$-4],u[$-2],!1]],[u[$]]];case 293:return["comprehension",u[$-5],[["for-of",u[$-2],u[$],!0]],[]];case 294:return["comprehension",u[$-7],[["for-of",u[$-4],u[$-2],!0]],[u[$]]];case 295:return["comprehension",u[$-4],[["for-as",u[$-2],u[$],!1,null]],[]];case 296:return["comprehension",u[$-6],[["for-as",u[$-4],u[$-2],!1,null]],[u[$]]];case 297:return["comprehension",u[$-5],[["for-as",u[$-2],u[$],!0,null]],[]];case 298:return["comprehension",u[$-7],[["for-as",u[$-4],u[$-2],!0,null]],[u[$]]];case 299:return["comprehension",u[$-4],[["for-as",u[$-2],u[$],!0,null]],[]];case 300:return["comprehension",u[$-6],[["for-as",u[$-4],u[$-2],!0,null]],[u[$]]];case 301:return["comprehension",u[$-2],[["for-in",[],u[$],null]],[]];case 302:return["comprehension",u[$-4],[["for-in",[],u[$-2],u[$]]],[]];case 306:case 340:case 342:case 369:case 370:case 372:return[u[$-2],u[$]];case 307:return["class",null,null];case 308:return["class",null,null,u[$]];case 309:return["class",null,u[$]];case 310:return["class",null,u[$-1],u[$]];case 311:return["class",u[$],null];case 312:return["class",u[$-1],null,u[$]];case 313:return["class",u[$-2],u[$]];case 314:return["class",u[$-3],u[$-1],u[$]];case 315:return["enum",u[$-1],u[$]];case 316:return["component",null,["block",...u[$-1]]];case 317:return["component",u[$-3],["block",...u[$-1]]];case 324:return["offer",u[$]];case 325:return["accept",u[$]];case 326:return["render",u[$]];case 327:case 330:return["import","{}",u[$]];case 328:case 329:return["import",u[$-2],u[$]];case 331:return["import",u[$-4],u[$]];case 332:return["import",u[$-4],u[$-2],u[$]];case 333:return["import",u[$-7],u[$-4],u[$]];case 344:return["*",u[$]];case 345:return["export","{}"];case 346:return["export",u[$-2]];case 347:case 348:case 349:case 350:case 354:case 355:case 356:case 357:return["export",u[$]];case 351:return["export",["=",u[$-2],u[$]]];case 352:return["export",["=",u[$-3],u[$]]];case 353:return["export",["=",u[$-4],u[$-1]]];case 358:return["export-default",u[$]];case 359:return["export-default",u[$-1]];case 360:return["export-all",u[$]];case 361:return["export-from","{}",u[$]];case 362:return["export-from",u[$-4],u[$]];case 374:case 375:case 377:case 415:return["do-iife",u[$]];case 379:return["-",u[$]];case 380:return["+",u[$]];case 381:return["?",u[$-1]];case 382:return["defined",u[$-1]];case 383:return["presence",u[$-1]];case 384:return["await",u[$]];case 385:return["await",u[$-1]];case 386:return["--",u[$],!1];case 387:return["++",u[$],!1];case 388:return["--",u[$-1],!0];case 389:return["++",u[$-1],!0];case 390:return["+",u[$-2],u[$]];case 391:return["-",u[$-2],u[$]];case 393:return["**",u[$-2],u[$]];case 396:return["&",u[$-2],u[$]];case 397:return["^",u[$-2],u[$]];case 398:return["|",u[$-2],u[$]];case 399:case 400:case 401:case 402:case 403:case 404:return["control",u[$-1],u[$-2],u[$]];case 405:return["&&",u[$-2],u[$]];case 406:return["||",u[$-2],u[$]];case 407:return["??",u[$-2],u[$]];case 408:return["!?",u[$-2],u[$]];case 409:return["|>",u[$-2],u[$]];case 411:return["?:",u[$-4],u[$-2],u[$]];case 413:return[u[$-3],u[$-4],u[$-1]];case 414:return[u[$-2],u[$-3],u[$]]}},parseError(f,w){let U,_,u,$,F,A,W;if(w.recoverable)return this.trace(f);else throw u=(w.line||0)+1,U=w.loc?.c||0,W=w.token?` (token: ${w.token})`:"",A=w.text?` near '${w.text}'`:"",$=`line ${u}, column ${U}`,F=`Parse error at ${$}${W}${A}: ${f}`,_=Error(F),_.hash=w,_},parse(f){let w,U,_,u,$,F,A,W,Z,Y,R,z,Q,X,J,O,K,q,G,M,I,E,D,H,P,N;[M,N,Y]=[[0],[null],[]],[Q,P,D,E,O]=[this.parseTable,"",0,0,0],[U,w]=[2,1],W=Object.create(this.lexer),q={ctx:{}};for(let L in this.ctx){if(!Object.hasOwn(this.ctx,L))continue;let B=this.ctx[L];q.ctx[L]=B}if(W.setInput(f,q.ctx),[q.ctx.lexer,q.ctx.parser]=[W,this],W.loc==null)W.loc={};H=W.loc,Y.push(H),this.parseError=typeof q.ctx.parseError==="function"?q.ctx.parseError:Object.getPrototypeOf(this).parseError,A=()=>{let L;if(L=W.lex()||w,typeof L!=="number")L=this.symbolIds[L]||L;return L},I=X=G=_=J=z=F=R=$=null,K={};while(!0){if(G=M[M.length-1],I==null)I=A();if(_=Q[G]?.[I],_==null){if(u="",!O)$=(()=>{let L=[];for(let B in Q[G]){if(!Object.hasOwn(Q[G],B))continue;if(this.tokenNames[B]&&B>U)L.push(`'${this.tokenNames[B]}'`)}return L})();throw u=(()=>{if(W.showPosition)return`Parse error on line ${D+1}:
|
|
4
|
+
`}function u1(f){if(!f)return f;return f=f.replace(/::/g,":"),f=f.replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined"),f=f.replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined"),f=f.replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"),f}function i1(f,w,A,_,u,$){if(!Array.isArray(f))return!1;let F=f[0]?.valueOf?.()??f[0],U=!1,W=new Map,Z=(D)=>typeof D==="string"&&/^[a-z]/.test(D),Y=(D)=>{if(!Array.isArray(D))return;let J=D[0]?.valueOf?.()??D[0];if(Z(J))for(let O=1;O<D.length;O++){let Q=D[O];if(!Array.isArray(Q))continue;if((Q[0]?.valueOf?.()??Q[0])!=="object")continue;for(let X=1;X<Q.length;X++){let G=Q[X];if(!Array.isArray(G))continue;if((G[0]?.valueOf?.()??G[0])!=="ref")continue;let E=G[1]?.valueOf?.()??G[1];if(typeof E==="string")E=E.replace(/^["']|["']$/g,"");if(typeof E==="string"&&!W.has(E))W.set(E,`__RipDomEl<'${J}'> | null`)}}for(let O=1;O<D.length;O++)if(Array.isArray(D[O]))Y(D[O])},R=!1,z=null,M=null;if(F==="export"&&Array.isArray(f[1])){R=!0;let D=f[1];if((D[0]?.valueOf?.()??D[0])==="="&&Array.isArray(D[2])&&(D[2][0]?.valueOf?.()??D[2][0])==="component")z=D[1]?.valueOf?.()??D[1],M=D[2]}else if(F==="="&&Array.isArray(f[2])&&(f[2][0]?.valueOf?.()??f[2][0])==="component")z=f[1]?.valueOf?.()??f[1],M=f[2];if(z&&M){let D=R?"export ":"",J=M[1]?.valueOf?.()??null,O=J?`__RipProps<'${J}'>`:null;if(O)U=!0;let Q=M[2],q=Array.isArray(Q)&&(Q[0]?.valueOf?.()??Q[0])==="block"?Q.slice(1):Q?[Q]:[],X=[],G=[],I=!1,E=(K)=>{let H=K?.valueOf?.()??K;if(typeof H!=="string")return null;if(H==="true"||H==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(H))return"number";if(H.startsWith('"')||H.startsWith("'"))return"string";return null};for(let K of q){if(!Array.isArray(K))continue;let H=K[0]?.valueOf?.()??K[0],P,N,L,B,h;if(H==="state"||H==="readonly"||H==="computed"){if(P=K[1],L=Array.isArray(P)&&(P[0]?.valueOf?.()??P[0])==="."&&(P[1]?.valueOf?.()??P[1])==="this",N=L?P[2]?.valueOf?.()??P[2]:P?.valueOf?.()??P,B=L?P[2]?.type:P?.type,h=!0,!L){u.add(N);let p=H==="computed"?"Computed":"Signal",S=B?u1(B):E(K[2])||"any";G.push(` ${N}: ${p}<${S}>;`);continue}}else if(H==="."){if(L=(K[1]?.valueOf?.()??K[1])==="this",N=L?K[2]?.valueOf?.()??K[2]:null,B=L?K[2]?.type:null,h=!1,!L&&N)u.add(N)}else if(H==="object"){for(let p=1;p<K.length;p++){let S=K[p];if(!Array.isArray(S)||S.length<3)continue;let C=S[1]?.valueOf?.()??S[1],V=S[2];if(!Array.isArray(V))continue;let l=V[0]?.valueOf?.()??V[0];if(l!=="->"&&l!=="=>")continue;let n=V[1];if(!Array.isArray(n))continue;if(!n.some((b)=>b?.type))continue;let y=[];for(let b of n){let g=b?.valueOf?.()??b,i=b?.type?u1(b.type):"any";y.push(`${g}: ${i}`)}G.push(` ${C}(${y.join(", ")}): void;`)}continue}else if(H==="render"){U=!0,Y(K[1]);continue}else continue;if(!L||!N)continue;let j=B?u1(B):"any",T=h?"?":"";if(!h)I=!0;if(X.push(` ${N}${T}: ${j};`),H==="state")X.push(` __bind_${N}__?: Signal<${j}>;`)}if(w.push(`${D}declare class ${z} {`),X.length>0||O){let K=I?"":"?";if(X.length>0){w.push(` constructor(props${K}: {`);for(let H of X)w.push(H);w.push(O?` } & ${O});`:" });")}else w.push(` constructor(props${K}: ${O});`)}for(let[K,H]of W)G.push(` ${K}: ${H};`);for(let K of G)w.push(K);w.push("}")}if(F==="program"||F==="block"){for(let D=1;D<f.length;D++)if(Array.isArray(f[D]))U=i1(f[D],w,A,_,u,$)||U}if(F==="export"&&Array.isArray(f[1])&&!M)U=i1(f[1],w,A,_,u,$)||U;return U}function J2(f,w,A){let[_,u]=w,$=_?.valueOf?.()??_,F=[];if(Array.isArray(u)){let Z=u[0]==="block"?u.slice(1):[u];for(let Y of Z)if(Array.isArray(Y)){if(Y[0]?.valueOf?.()==="="){let R=Y[1]?.valueOf?.()??Y[1],z=Y[2]?.valueOf?.()??Y[2];F.push([R,z])}}}if(F.length===0)return`const ${$} = {}`;let U=F.map(([Z,Y])=>`${Z}: ${Y}`).join(", "),W=F.map(([Z,Y])=>`${Y}: "${Z}"`).join(", ");return`const ${$} = {${U}, ${W}}`}var K2=new Set(["true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","yield","await","if","else","switch","for","while","do","try","catch","finally","class","extends","super","import","export","default"]),X2=new Set(["undefined","Infinity","NaN","then","unless","until","loop","of","by","when","def","component","render","enum","interface"]),p1={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},G2=new Set(Object.keys(p1)),L3=new Set(["case","function","var","void","with","const","let","native","implements","package","private","protected","public","static"]),N3=new Set(["break","continue","debugger"]),T3=new Set(["NEW","TYPEOF","DELETE"]),S3=new Set(["IN","OF","INSTANCEOF"]),V1=new Set(["IDENTIFIER","PROPERTY",")","]","@","THIS","SUPER","DYNAMIC_IMPORT","?."]),r1=new Set([...V1,"NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","MAP_END"]),C1=new Set(["IDENTIFIER","PROPERTY","NUMBER","INFINITY","NAN","STRING","STRING_START","REGEX","REGEX_START","JS","NEW","PARAM_START","CLASS","IF","TRY","SWITCH","THIS","DYNAMIC_IMPORT","IMPORT_META","NEW_TARGET","UNDEFINED","NULL","BOOL","UNARY","DO","DO_IIFE","YIELD","AWAIT","UNARY_MATH","SUPER","THROW","@","->","=>","[","(","{","MAP_START","--","++"]),h3=new Set(["+","-"]),C3=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","PIPE"]),V3=new Set(["STRING","STRING_END","REGEX","REGEX_END","NUMBER","BOOL","NULL","UNDEFINED","INFINITY","NAN","]","}","MAP_END"]),R1=new Set(["(","[","{","MAP_START","INDENT","CALL_START","PARAM_START","INDEX_START","STRING_START","INTERPOLATION_START","REGEX_START"]),W1=new Set([")","]","}","MAP_END","OUTDENT","CALL_END","PARAM_END","INDEX_END","STRING_END","INTERPOLATION_END","REGEX_END"]),c3={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{",INDENT:"OUTDENT",OUTDENT:"INDENT",CALL_START:"CALL_END",CALL_END:"CALL_START",PARAM_START:"PARAM_END",PARAM_END:"PARAM_START",INDEX_START:"INDEX_END",INDEX_END:"INDEX_START",STRING_START:"STRING_END",STRING_END:"STRING_START",INTERPOLATION_START:"INTERPOLATION_END",INTERPOLATION_END:"INTERPOLATION_START",REGEX_START:"REGEX_END",REGEX_END:"REGEX_START",MAP_START:"MAP_END",MAP_END:"MAP_START"},H2=new Set(["CATCH","THEN","ELSE","FINALLY",...W1]),d1=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"]),j3=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","]","INDEX_END"]),y3=new Set(["IF","TRY","FINALLY","CATCH","CLASS","SWITCH","COMPONENT"]),O2=new Set(["ELSE","->","=>","TRY","FINALLY","THEN"]),b3=new Set(["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]),G1=new Set(["INDENT","OUTDENT","TERMINATOR"]),q2=new Set([".","?."]),E2=new Set(["\\",".","?.","UNARY","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","TERNARY","EXTENDS"]),g3=new Set([...r1,"++","--"]),P2=new Set(["-=","+=","/=","*=","%=","||=","&&=","?=","??=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="]),v3=new Set(["*","/","%","//","%%"]),l3=new Set(["==","!=","===","!==","<",">","<=",">=","=~"]),x3=new Set(["<<",">>",">>>"]),m3=new Set(["!","~"]),k3=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+(?:!(?!\?)|[?](?![.?![(]))?)([^\n\S]*:(?![=:>]))?/,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=/^(?:<=>|::|\*>|[-=]>|~>|~=|:>|:=|=!|===|!==|!\?|\?\!|\?\?|=~|\|>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?\.?|\.{2,3})/,d3=/^[^\n\S]+/,p3=/^(?:\n[^\n\S]*)+/,r3=/^(\s*)###([^#][\s\S]*?)(?:###([^\n\S]*)|###$)|^((?:\s*#(?!##[^#]).*)+)/,o3=/^[-=]>/,a3=/^(?:~[=>]|=!)/,s3=/^(?:'''\\|"""\\|'''|"""|'|")/,t3=/^(?:[^\\']|\\[\s\S])*/,e3=/^(?:[^\\"#$]|\\[\s\S]|\#(?!\{)|\$(?!\{))*/,u4=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,f4=/^(?:[^\\"#$]|\\[\s\S]|"(?!"")|\#(?!\{)|\$(?!\{))*/,I2=/\n+([^\n\S]*)(?=\S)/g,$4=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,B2=/^\w*/,w4=/^(?!.*(.).*\1)[gimsuy]*$/,_4=/^(?:[^\\\/#\s]|\\[\s\S]|\/(?!\/\/)|\#(?!\{)|\s+(?:#(?!\{).*)?)*/,A4=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,U4=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,F4=/\s+$/,L2=/^\s*(?:,|\??\.(?![.\d]))/,W4=65279;function c1(f,w,{pre:A=0,row:_=0,col:u=0,len:$=0,data:F=null}={}){let U=[f,w];return U.pre=A,U.data=F,U.loc={r:_,c:u,n:$},U.spaced=A>0,U.newLine=!1,U}function A1(f,w,A){let _=c1(f,w);if(_.generated=!0,A)_.origin=A;return _}function U1(f,{row:w=0,col:A=0,len:_=1}={}){let u=SyntaxError(f);throw u.location={first_line:w,first_column:A,last_column:A+_-1},u}function Y4(f){if(f==null)return NaN;switch(f.charAt(1)){case"b":return parseInt(f.slice(2).replace(/_/g,""),2);case"o":return parseInt(f.slice(2).replace(/_/g,""),8);case"x":return parseInt(f.slice(2).replace(/_/g,""),16);default:return parseFloat(f.replace(/_/g,""))}}class Z1{tokenize(f,w={}){this.code=f,this.tokens=[],this.ends=[],this.chunk="",this.pos=0,this.row=w.row||0,this.col=w.col||0,this.indent=0,this.indents=[],this.seenFor=!1,this.seenImport=!1,this.seenExport=!1,this.importSpecifierList=!1,this.exportSpecifierList=!1,this.inRenderBlock=!1,this.renderIndent=0,this.inTypeAnnotation=!1,f=this.clean(f),this.code=f;while(this.pos<f.length){this.chunk=f.slice(this.pos);let A=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken();if(A===0)U1(`unexpected character: ${this.chunk.charAt(0)}`,{row:this.row,col:this.col});if(this.advance(A),w.untilBalanced&&this.ends.length===0)return{tokens:this.tokens,index:this.pos}}if(this.closeIndentation(),this.ends.length>0){let A=this.ends[this.ends.length-1];U1(`missing ${A.tag}`,{row:this.row,col:this.col})}if(w.rewrite===!1)return this.tokens;return this.rewrite(this.tokens)}clean(f){if(f.charCodeAt(0)===W4)f=f.slice(1);if(f=f.replace(/\r\n?/g,`
|
|
5
|
+
`),f=f.replace(F4,""),/^[^\n\S]/.test(f))f=`
|
|
6
|
+
`+f;return f}advance(f){let w=this.code.slice(this.pos,this.pos+f);for(let A=0;A<w.length;A++)if(w[A]===`
|
|
7
|
+
`)this.row++,this.col=0;else this.col++;this.pos+=f}emit(f,w,{len:A,data:_,pre:u}={}){let $=c1(f,w,{pre:u??0,row:this.row,col:this.col,len:A??(typeof w==="string"?w.length:0),data:_});return this.tokens.push($),$}prev(){return this.tokens[this.tokens.length-1]}prevTag(){let f=this.prev();return f?f[0]:void 0}prevVal(){let f=this.prev();return f?f[1]:void 0}identifierToken(){if(a3.test(this.chunk))return 0;let f=k3.exec(this.chunk);if(!f)return 0;let[,w,A]=f,_=w.length,u={},$;if(w==="own"&&this.prevTag()==="FOR")return this.emit("OWN",w,{len:_}),_;if(w==="from"&&this.prevTag()==="YIELD")return this.emit("FROM",w,{len:_}),_;if(w==="as"&&!this.seenFor&&(this.seenImport||this.seenExport)){if(this.seenImport){if(this.prevVal()==="*")this.prev()[0]="IMPORT_ALL"}let Y=this.prevTag();if(Y==="DEFAULT"||Y==="IMPORT_ALL"||Y==="IDENTIFIER")return this.emit("AS",w,{len:_}),_}if((w==="as"||w==="as!")&&this.seenFor)return this.seenFor=!1,this.emit(w==="as!"?"FORASAWAIT":"FORAS","as",{len:_}),_;if(w==="default"&&this.seenExport&&(this.prevTag()==="EXPORT"||this.prevTag()==="AS"))return this.emit("DEFAULT",w,{len:_}),_;let F;if(w==="do"&&(F=/^(\s*super)(?!\(\))/.exec(this.chunk.slice(3))))return this.emit("SUPER","super"),this.emit("CALL_START","("),this.emit("CALL_END",")"),F[1].length+3;let U=this.prev();if(A&&U&&U[0]==="TERNARY")A=null;if(A||U&&(U[0]==="."||U[0]==="?."||!U.spaced&&U[0]==="@")){if($="PROPERTY",this.inRenderBlock&&U&&U[0]==="."&&!A){let Y=this.chunk.slice(_);while(Y[0]==="-"&&/^-[a-zA-Z]/.test(Y)){let R=/^-([a-zA-Z][\w]*)/.exec(Y);if(!R)break;w+="-"+R[1],_+=1+R[1].length,Y=this.chunk.slice(_)}}}else $="IDENTIFIER";let W=w.endsWith("!")||w.endsWith("?")?w.slice(0,-1):w;if($==="IDENTIFIER"&&!w.endsWith("!")&&!w.endsWith("?")&&(K2.has(w)||X2.has(w)||G2.has(w))&&!(this.exportSpecifierList&&G2.has(w))){if(p1[w]!==void 0)u.original=w,w=p1[w];$=this.classifyKeyword(w,$,u)}if($==="IDENTIFIER"&&L3.has(W)&&!(W==="void"&&this.inTypeAnnotation))U1(`reserved word '${W}'`,{row:this.row,col:this.col,len:_});if($==="PROPERTY"&&U){if(U[0]==="."&&this.tokens.length>1){let Y=this.tokens[this.tokens.length-2];if(Y[0]==="UNARY"&&Y[1]==="new")Y[0]="NEW_TARGET";if(Y[0]==="IMPORT"&&Y[1]==="import")this.seenImport=!1,Y[0]="IMPORT_META"}}if(w.length>1&&w.endsWith("!"))u.await=!0,w=w.slice(0,-1);if(w.length>1&&w.endsWith("?"))u.predicate=!0,w=w.slice(0,-1);let Z=this.emit($,w,{len:_,data:Object.keys(u).length?u:null});if($==="RENDER")this.inRenderBlock=!0,this.renderIndent=this.indent;if(A)return this.emit(":",":",{len:1}),_+A.length;return _}classifyKeyword(f,w,A){switch(f){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"true":case"false":return"BOOL";case"&&":case"||":return f}if(N3.has(f))return"STATEMENT";let _=f.toUpperCase();if(_==="WHEN"&&G1.has(this.prevTag()))return"LEADING_WHEN";if(_==="FOR")return this.seenFor={endsLength:this.ends.length},"FOR";if(_==="UNLESS")return"UNLESS";if(_==="IMPORT")return this.seenImport=!0,"IMPORT";if(_==="EXPORT")return this.seenExport=!0,"EXPORT";if(T3.has(_))return"UNARY";if(S3.has(_)){if(_!=="INSTANCEOF"&&this.seenFor)return this.seenFor=!1,"FOR"+_;if(this.prevVal()==="!"){let u=this.tokens.pop();A.invert=u.data?.original||u[1]}return"RELATION"}if(K2.has(f)||X2.has(f))return _;return w}commentToken(){if(this.inRenderBlock){if(/^#[a-zA-Z_]/.test(this.chunk)){let w=this.prev();if(w&&(w[0]==="IDENTIFIER"||w[0]==="PROPERTY"))return 0;let A=/^#([a-zA-Z_][\w-]*)/.exec(this.chunk);if(A)return this.emit("IDENTIFIER","div#"+A[1]),A[0].length}if(/^\s+#[a-zA-Z_]/.test(this.chunk))return 0}let f=r3.exec(this.chunk);if(!f)return 0;return f[0].length}whitespaceToken(){let f=d3.exec(this.chunk);if(!f&&this.chunk[0]!==`
|
|
8
|
+
`)return 0;let w=this.prev();if(w)if(f)w.spaced=!0,w.pre=f[0].length;else w.newLine=!0;return f?f[0].length:0}lineToken(){let f=p3.exec(this.chunk);if(!f)return 0;let w=f[0],A=w.length-1-w.lastIndexOf(`
|
|
9
|
+
`);if(this.isUnfinished()){if(A<this.indent&&/^\s*,/.test(this.chunk)&&!E2.has(this.prevTag())){if(this.outdentTo(A,w.length),this.prevTag()==="TERMINATOR")this.tokens.pop();return w.length}return w.length}if(this.seenFor&&!(this.seenFor.endsLength<this.ends.length))this.seenFor=!1;if(!this.importSpecifierList)this.seenImport=!1;if(!this.exportSpecifierList)this.seenExport=!1;if(this.inTypeAnnotation=!1,A===this.indent)return this.emitNewline(),w.length;if(A>this.indent){if(!this.tokens.length)return this.indent=A,w.length;let _=A-this.indent;return this.emit("INDENT",_,{len:A}),this.indents.push(_),this.ends.push({tag:"OUTDENT"}),this.indent=A,w.length}return this.outdentTo(A,w.length),w.length}outdentTo(f,w=0){if(this.inRenderBlock&&f<=this.renderIndent)this.inRenderBlock=!1;let A=this.indent-f;while(A>0){let _=this.indents[this.indents.length-1];if(!_)A=0;else this.indents.pop(),this.pair("OUTDENT"),this.emit("OUTDENT",A,{len:w}),A-=_}this.emitNewline(),this.indent=f}closeIndentation(){this.outdentTo(0)}emitNewline(){if(this.prevTag()!=="TERMINATOR")this.emit("TERMINATOR",`
|
|
10
|
+
`,{len:0})}isUnfinished(){if(this.inRenderBlock&&L2.test(this.chunk)&&/^\s*\./.test(this.chunk))return!1;if(this.inRenderBlock&&this.prevTag()==="."){let w=this.tokens.length;if(w>=2){let A=this.tokens[w-2][0];if(A==="INDENT"||A==="TERMINATOR"||A==="OUTDENT")return!1}}let f=this.tokens[this.tokens.length-1];if(f?.[0]==="COMPARE"&&f[1]===">"){let w=0;for(let A=this.tokens.length-1;A>=0;A--){let _=this.tokens[A];if(_[0]==="COMPARE"&&_[1]===">")w++;else if(_[0]==="COMPARE"&&_[1]==="<")w--;if(w===0&&_[0]==="TYPE_ANNOTATION")return!1;if(_[0]==="TERMINATOR"||_[0]==="INDENT"||_[0]==="OUTDENT")break}}return L2.test(this.chunk)||E2.has(this.prevTag())}pair(f){let w=this.ends[this.ends.length-1];if(!w||f!==w.tag){if(w?.tag==="OUTDENT"){let A=this.indents[this.indents.length-1];if(A)this.outdentTo(this.indent-A);return this.pair(f)}U1(`unmatched ${f}`,{row:this.row,col:this.col})}return this.ends.pop()}stringToken(){let f=s3.exec(this.chunk);if(!f)return 0;let w=f[0],A=w.length>1&&w.endsWith("\\"),_=A?w.slice(0,-1):w,u=this.prev();if(u&&this.prevVal()==="from"&&(this.seenImport||this.seenExport))u[0]="FROM";let $;switch(_){case"'":$=t3;break;case'"':$=e3;break;case"'''":$=u4;break;case'"""':$=f4;break}let{tokens:F,index:U}=this.matchWithInterpolations($,w,_),W=_.length===3,Z=null;if(W)Z=this.processHeredocIndent(U,_,F);return this.mergeInterpolationTokens(F,{quote:_,indent:Z,endOffset:U,raw:A}),U}processHeredocIndent(f,w,A){let _=f-w.length,u=_-1;while(u>=0&&this.chunk[u]!==`
|
|
11
|
+
`)u--;u++;let $=this.chunk.slice(u,_),F=/^\s*$/.test($)?$.length:null,U="";for(let Y of A)if(Y[0]==="NEOSTRING")U+=Y[1];let W=null,Z;I2.lastIndex=0;while(Z=I2.exec(U))if(W===null||Z[1].length>0&&Z[1].length<W.length)W=Z[1];if(F===null)return W;if(W===null)return" ".repeat(F);if(F<=W.length)return" ".repeat(F);return W}matchWithInterpolations(f,w,A,_){if(!A)A=w;if(!_)_=/^[#$]\{/;let u=[],$=w.length;if(this.chunk.slice(0,$)!==w)return null;let F=this.chunk.slice($);while(!0){let[U]=f.exec(F);u.push(["NEOSTRING",U,{offset:$}]),F=F.slice(U.length),$+=U.length;let W=_.exec(F);if(!W)break;let Y=W[0].length-1,R=F.slice(Y),z=new Z1().tokenize(R,{row:this.row,col:this.col+$+Y,untilBalanced:!0,rewrite:!1}),M=z.index+Y;if(F[M-1]==="}"){let J=z.tokens[0],O=z.tokens[z.tokens.length-1];J[0]="INTERPOLATION_START",J[1]="(",O[0]="INTERPOLATION_END",O[1]=")"}if(z.tokens[1]?.[0]==="TERMINATOR")z.tokens.splice(1,1);let D=z.tokens.length;if(D>2&&z.tokens[D-3]?.[0]==="INDENT"&&z.tokens[D-2]?.[0]==="OUTDENT")z.tokens.splice(D-3,2);u.push(["TOKENS",z.tokens]),F=F.slice(M),$+=M}if(F.slice(0,A.length)!==A)U1(`missing ${A}`,{row:this.row,col:this.col});return{tokens:u,index:$+A.length}}mergeInterpolationTokens(f,{quote:w,indent:A,endOffset:_,raw:u}){if(f.length>1)this.emit("STRING_START","(",{len:w?.length||0,data:{quote:w}});for(let $=0;$<f.length;$++){let[F,U]=f[$];if(F==="TOKENS")for(let W of U)this.tokens.push(W);else if(F==="NEOSTRING"){let W=U;if(A){let Z=new RegExp("\\n"+A,"g");W=W.replace(Z,`
|
|
12
|
+
`)}if($===0&&w?.length===3)W=W.replace(/^\n/,"");if($===f.length-1&&w?.length===3)W=W.replace(/\n[^\S\n]*$/,"");if(u)W=W.replace(/\\([nrtbfv0\\'"`xu])/g,"\\\\$1");this.emit("STRING",`"${W}"`,{len:U.length,data:{quote:w}})}}if(f.length>1)this.emit("STRING_END",")",{len:w?.length||0});return _}numberToken(){let f=i3.exec(this.chunk);if(!f)return 0;let w=f[0],A=w.length,_={row:this.row,col:this.col};if(/^0[BOX]/.test(w))U1(`radix prefix in '${w}' must be lowercase`,{..._,col:_.col+1});if(/^0\d*[89]/.test(w))U1(`decimal literal '${w}' must not be prefixed with '0'`,{..._,len:A});if(/^0\d+/.test(w))U1(`octal literal '${w}' must be prefixed with '0o'`,{..._,len:A});let u=Y4(w),$=u===1/0?"INFINITY":"NUMBER",F={parsedValue:u};if($==="INFINITY")F.original=w;return this.emit($,w,{len:A,data:F}),A}regexToken(){let f=this.matchWithInterpolations(_4,"///");if(f){let{tokens:Z,index:Y}=f,[R]=B2.exec(this.chunk.slice(Y)),z=Y+R.length;if(Z.length===1||!Z.some((M)=>M[0]==="TOKENS")){let M=(Z[0]?.[1]||"").replace(/(?<!\\)\//g,"\\/");this.emit("REGEX",`/${M}/${R}`,{len:z,data:{delimiter:"///",heregex:{flags:R}}})}else{if(this.emit("REGEX_START","(",{len:0}),this.emit("IDENTIFIER","RegExp",{len:0}),this.emit("CALL_START","(",{len:0}),this.mergeInterpolationTokens(Z,{quote:"///",endOffset:z-R.length}),R)this.emit(",",",",{len:0}),this.emit("STRING",`"${R}"`,{len:R.length});this.emit(")",")",{len:0}),this.emit("REGEX_END",")",{len:0})}return z}let w=$4.exec(this.chunk);if(!w)return 0;let[A,_,u]=w,$=this.prev();if($){if($.spaced&&V1.has($[0])&&(!u||/^\/=?\s/.test(A)))return 0;if(g3.has($[0])&&!($.spaced&&V1.has($[0])))return 0}if(!u)U1("missing / (unclosed regex)",{row:this.row,col:this.col});let F=A.length,[U]=B2.exec(this.chunk.slice(F)),W=F+U.length;if(!w4.test(U))U1(`invalid regular expression flags ${U}`,{row:this.row,col:this.col+F,len:U.length});return this.emit("REGEX",`/${_}/${U}`,{len:W,data:{delimiter:"/"}}),W}jsToken(){if(this.chunk[0]!=="`")return 0;let f=U4.exec(this.chunk)||A4.exec(this.chunk);if(!f)return 0;let w=f[1],A=f[0].length;return this.emit("JS",w,{len:A,data:{here:f[0].startsWith("```")}}),A}wordLiteral(){if(this.chunk[0]!=="%"||this.chunk[1]!=="w")return 0;let f=this.chunk[2];if(!f||/\s/.test(f))return 0;let A={"[":"]","(":")","{":"}","<":">"}[f]||f,_=A!==f,u=1,$=3;while($<this.chunk.length&&u>0){let Z=this.chunk[$];if(Z==="\\"){$+=2;continue}if(_&&Z===f)u++;if(Z===A)u--;if(u>0)$++}if(u!==0)return 0;let F=this.chunk.slice(3,$),U=$+1,W=[];if(F.trim()){let Z=F.trim().split(/(?<!\\)\s+/);for(let Y of Z)W.push(Y.replace(/\\ /g," "))}this.emit("[","[",{len:U});for(let Z=0;Z<W.length;Z++){if(Z>0)this.emit(",",",");this.emit("STRING",`"${W[Z]}"`)}return this.emit("]","]"),U}literalToken(){let f=this.wordLiteral();if(f)return f;let w=n3.exec(this.chunk),A=w?w[0]:this.chunk.charAt(0),_=A,u=this.prev();if(o3.test(A))this.tagParameters();if(A==="="&&u&&u[1]==="."&&!u.spaced){let $=this.tokens,F=$.length-2;while(F>=1&&$[F][0]==="PROPERTY"&&$[F-1]?.[1]===".")F-=2;if(F>=0&&($[F][0]==="IDENTIFIER"||$[F][0]===")"||$[F][0]==="]")){let U=$.slice(F,$.length-1);u[0]="=",u[1]="=";for(let W of U)this.tokens.push(c1(W[0],W[1],{pre:0,row:W[2],col:W[3],len:W[4]}));return this.tokens.push(c1(".",".",{pre:0,row:this.row,col:this.col,len:1})),A.length}}if(u&&(A==="="||P2.has(A))){if(A==="="&&(u[1]==="||"||u[1]==="&&"||u[1]==="??")&&!u.spaced)return u[0]="COMPOUND_ASSIGN",u[1]+="=",A.length}if(A==="("&&u?.[0]==="IMPORT")u[0]="DYNAMIC_IMPORT";if(A==="{"&&this.seenImport)this.importSpecifierList=!0;if(A==="}"&&this.importSpecifierList)this.importSpecifierList=!1;if(A==="{"&&u?.[0]==="EXPORT")this.exportSpecifierList=!0;if(A==="}"&&this.exportSpecifierList)this.exportSpecifierList=!1;if(A===";")this.seenFor=this.seenImport=this.seenExport=!1,this.inTypeAnnotation=!1,_="TERMINATOR";else if(A==="|>")_="PIPE";else if(A==="::"&&/^[a-zA-Z_$]/.test(this.chunk[2]||""))return this.emit(".","."),this.emit("PROPERTY","prototype"),this.emit(".","."),2;else if(A==="::")_="TYPE_ANNOTATION",this.inTypeAnnotation=!0;else if(A==="~=")_="COMPUTED_ASSIGN";else if(A===":=")_="REACTIVE_ASSIGN";else if(A===":>")_="RIGHTWARD_ASSIGN";else if(A==="<=>")_="BIND";else if(A==="~>")_="EFFECT",this.inTypeAnnotation=!1;else if(A==="=!")_="READONLY_ASSIGN",this.inTypeAnnotation=!1;else if(A==="*>"&&(!u||u[0]==="TERMINATOR"||u[0]==="INDENT"||u[0]==="OUTDENT")&&(/^[a-zA-Z_$]/.test(this.chunk[2]||"")||this.chunk[2]==="@")){let $=this.chunk.slice(2),F=/^@(\s*)=(?!=)/.exec($);if(F){let W=F[1];this.emit("IDENTIFIER","Object"),this.emit(".",".");let Z=this.emit("PROPERTY","assign");return Z.spaced=!0,this.emit("@","@"),this.emit(",",","),3+W.length+1}let U=/^(@?(?:(?!\s)[$\w\x7f-\uffff])+(?:\.[a-zA-Z_$][\w]*)*)(\s*)=(?!=)/.exec($);if(U){let W=U[1],Z=U[2],Y=W[0]==="@",R=Y?W.slice(1):W,z=R?R.split("."):[],M=()=>{if(Y){if(this.emit("@","@"),z.length>0)this.emit("PROPERTY",z[0])}else this.emit("IDENTIFIER",z[0]);for(let J=1;J<z.length;J++)this.emit(".","."),this.emit("PROPERTY",z[J])};M(),this.emit("=","="),this.emit("IDENTIFIER","Object"),this.emit(".","."),this.emit("PROPERTY","assign"),this.emit("CALL_START","("),M(),this.emit("COMPOUND_ASSIGN","??="),this.emit("{","{"),this.emit("}","}"),this.emit(",",",");let D=this.prev();return D.mergeClose=!0,2+W.length+Z.length+1}}else if(A==="*"&&u?.[0]==="EXPORT")_="EXPORT_ALL";else if(v3.has(A))_="MATH";else if(l3.has(A))_="COMPARE";else if(P2.has(A))_="COMPOUND_ASSIGN";else if(m3.has(A))_="UNARY_MATH";else if(x3.has(A))_="SHIFT";else if(A==="?"&&u?.spaced)_="TERNARY";else if(A==="!?"&&u&&!u.spaced)_="DEFINED";else if(A==="?!"&&u&&!u.spaced)_="PRESENCE";else if(A==="?"&&(this.chunk[1]==="["||this.chunk[1]==="("))_="?.";else if(u){if(A==="("&&!u.spaced&&V1.has(u[0])){if(u[0]==="?.")u[0]="ES6_OPTIONAL_CALL";_="CALL_START"}if(A==="["&&!u.spaced&&r1.has(u[0])){if(_="INDEX_START",u[0]==="?.")u[0]="ES6_OPTIONAL_INDEX"}}if(this.inTypeAnnotation&&(A==="="||_==="COMPOUND_ASSIGN"))this.inTypeAnnotation=!1;if(A==="("||A==="{"||A==="[")this.ends.push({tag:c3[A],origin:[_,A]});else if(A===")"||A==="}"||A==="]")this.pair(A);return this.emit(_,A,{len:A.length}),A.length}tagParameters(){if(this.prevTag()!==")")return this.tagDoIife();let f=this.tokens.length-1,w=[];this.tokens[f][0]="PARAM_END";while(f-- >0){let A=this.tokens[f];if(A[0]===")")w.push(A);else if(A[0]==="("||A[0]==="CALL_START")if(w.length)w.pop();else if(A[0]==="(")return A[0]="PARAM_START",this.tagDoIife(f-1);else{this.tokens[this.tokens.length-1][0]="CALL_END";return}}}tagDoIife(f){let w=this.tokens[f??this.tokens.length-1];if(w?.[0]==="DO")w[0]="DO_IIFE"}rewrite(f){return this.tokens=f,this.removeLeadingNewlines(),this.rewriteMapLiterals(),this.closeMergeAssignments(),this.closeOpenCalls(),this.closeOpenIndexes(),this.normalizeLines(),this.rewriteRender?.(),this.rewriteTypes(),this.tagPostfixConditionals(),this.rewriteTaggedTemplates(),this.addImplicitBracesAndParens(),this.addImplicitCallCommas(),this.tokens}removeLeadingNewlines(){let f=0;while(this.tokens[f]?.[0]==="TERMINATOR")f++;if(f>0)this.tokens.splice(0,f)}rewriteMapLiterals(){let f=this.tokens;for(let w=0;w<f.length;w++){if(f[w][0]!=="MATH"||f[w][1]!=="*")continue;let A=f[w+1];if(!A||A[0]!=="{")continue;if(f[w].spaced||f[w].newLine)continue;let _=f[w-1];if(_&&r1.has(_[0]))continue;f.splice(w,1),f[w][0]="MAP_START";let u=1;for(let $=w+1;$<f.length&&u>0;$++){let F=f[$][0];if(F==="{"||F==="MAP_START")u++;if(F==="}"){if(u--,u===0)f[$][0]="MAP_END"}}}}closeOpenCalls(){this.scanTokens((f,w)=>{if(f[0]==="CALL_START")this.detectEnd(w+1,(A)=>A[0]===")"||A[0]==="CALL_END",(A)=>A[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens((f,w)=>{if(f[0]==="INDEX_START")this.detectEnd(w+1,(A)=>A[0]==="]"||A[0]==="INDEX_END",(A,_)=>{if(this.tokens[_+1]?.[0]===":")f[0]="[",A[0]="]";else A[0]="INDEX_END"});return 1})}normalizeLines(){let f=null,w=null,A=null,_=($,F)=>{return $[1]!==";"&&b3.has($[0])&&!($[0]==="TERMINATOR"&&H2.has(this.tokens[F+1]?.[0]))&&!($[0]==="ELSE"&&f!=="THEN")||$[0]==="INDENT"&&!$.generated&&(f==="->"||f==="=>")||$[0]===","&&(f==="->"||f==="=>")&&!this.commaInImplicitCall(F)&&!this.commaInImplicitObject(F)||q2.has($[0])&&(this.tokens[F-1]?.newLine||this.tokens[F-1]?.[0]==="OUTDENT")},u=($,F)=>{let U=this.tokens[F-1]?.[0]===","?F-1:F;this.tokens.splice(U,0,A)};this.scanTokens(($,F,U)=>{let[W]=$;if(W==="TERMINATOR"){if(this.tokens[F+1]?.[0]==="ELSE"&&this.tokens[F-1]?.[0]!=="OUTDENT")return U.splice(F,1,...this.makeIndentation()),1;if(H2.has(this.tokens[F+1]?.[0]))return U.splice(F,1),0}if(W==="CATCH")for(let Z=1;Z<=2;Z++){let Y=this.tokens[F+Z]?.[0];if(Y==="OUTDENT"||Y==="TERMINATOR"||Y==="FINALLY")return U.splice(F+Z,0,...this.makeIndentation()),2+Z}if((W==="->"||W==="=>")&&(this.tokens[F+1]?.[0]===","||this.tokens[F+1]?.[0]==="]"))return[w,A]=this.makeIndentation(),U.splice(F+1,0,w,A),1;if(O2.has(W)&&this.tokens[F+1]?.[0]!=="INDENT"&&!(W==="ELSE"&&this.tokens[F+1]?.[0]==="IF")&&!(W==="ELSE"&&this.tokens[F-1]?.[0]!=="OUTDENT")){if(f=W,[w,A]=this.makeIndentation(),W==="THEN")w.fromThen=!0;if(U.splice(F+1,0,w),W==="THEN"&&this.singleLineOwner(F)==="LEADING_WHEN")this.detectWhenThenEnd(F+2,_,u);else this.detectEnd(F+2,_,u);if(W==="THEN")U.splice(F,1);return 1}return 1})}singleLineOwner(f){let w=new Set(["LEADING_WHEN","IF","POST_IF","UNLESS","POST_UNLESS","ELSE","CATCH","TRY","FINALLY","->","=>"]);for(let A=f-1;A>=0;A--){let _=this.tokens[A],u=_?.[0];if(w.has(u))return u;if(G1.has(u)||_?.newLine)return null}return null}detectWhenThenEnd(f,w,A){let _=0,u=0;while(f<this.tokens.length){let $=this.tokens[f],F=$[0];if(_===0){if(F==="THEN"&&this.singleLineOwner(f)!=="LEADING_WHEN")u++;else if(F==="ELSE"&&u>0)u--;else if(w.call(this,$,f))return A.call(this,$,f)}if(R1.has(F))_++;if(W1.has(F))_--;if(_<0)return A.call(this,$,f);f++}}tagPostfixConditionals(){let f=null,w=(_,u)=>{return _[0]==="TERMINATOR"||_[0]==="INDENT"&&!O2.has(this.tokens[u-1]?.[0])},A=(_)=>{if(_[0]!=="INDENT"||_.generated&&!_.fromThen)f[0]="POST_"+f[0]};this.scanTokens((_,u)=>{if(_[0]!=="IF"&&_[0]!=="UNLESS")return 1;if(this.tokens[u-1]?.[0]==="INTERPOLATION_START")return 1;return f=_,this.detectEnd(u+1,w,A),1})}rewriteTaggedTemplates(){let f=this.tokens;for(let w=f.length-2;w>=0;w--)if(f[w][0]==="IDENTIFIER"&&f[w][1]==="$"&&(f[w+1]?.[0]==="STRING"||f[w+1]?.[0]==="STRING_START")){let A=f[w-1];if(A&&j3.has(A[0])){if(f.splice(w,1),A.spaced=!1,f[w].spaced=!1,f[w].pre=0,f[w].newLine)f[w].newLine=!1}}}addImplicitBracesAndParens(){let f=[],w=!1;this.scanTokens((A,_,u)=>{let[$]=A,F=u[_-1]||[],U=u[_+1]||[],[W]=F,[Z]=U,Y=_,R=(K)=>_-Y+K,z=()=>f[f.length-1],M=(K)=>K?.[2]?.ours,D=()=>M(z())&&z()?.[0]==="(",J=()=>M(z())&&z()?.[0]==="{",O=(K)=>{f.push(["(",K,{ours:!0}]),u.splice(K,0,A1("CALL_START","("))},Q=()=>{f.pop(),u.splice(_,0,A1("CALL_END",")")),_+=1},q=(K,H={})=>{f.push(["{",K,{sameLine:!0,startsLine:H.startsLine??!0,ours:!0}]);let P=A1("{","{");if(!P.data)P.data={};P.data.generated=!0,u.splice(K,0,P)},X=(K)=>{K=K??_,f.pop(),u.splice(K,0,A1("}","}")),_+=1};if((D()||J())&&y3.has($))return f.push(["CONTROL",_,{ours:!0}]),R(1);if($==="INDENT"&&M(z())){if(W!=="=>"&&W!=="->"&&W!=="["&&W!=="("&&W!==","&&W!=="{"&&W!=="ELSE"&&W!=="=")while(D()||J()&&W!==":")if(D())Q();else X();if(z()?.[2]?.ours&&z()[0]==="CONTROL")f.pop();return f.push([$,_]),R(1)}if(R1.has($))return f.push([$,_]),R(1);if(W1.has($)){while(M(z()))if(D())Q();else if(J())X();else f.pop();f.pop()}if(d1.has($)&&A.spaced&&(C1.has(Z)||Z==="..."&&C1.has(u[_+2]?.[0])||h3.has(Z)&&!U.spaced&&!U.newLine)&&!(($==="]"||$==="}")&&(Z==="->"||Z==="=>")))return O(_+1),R(2);if(d1.has($)&&this.tokens[_+1]?.[0]==="INDENT"&&this.looksObjectish(_+2)&&!this.findTagsBackwards(_,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return O(_+1),f.push(["INDENT",_+2]),R(3);if($==="TERNARY")w=!0;if($===":"){if(w)return w=!1,R(1);if(u[_-1]?.[0]==="PROPERTY"&&u[_-2]?.[0]==="."){let P=_-2;while(P>=2&&u[P]?.[0]==="."&&(u[P-1]?.[0]==="PROPERTY"||u[P-1]?.[0]==="IDENTIFIER"))P-=2;if(P+=1,u[P]?.[0]==="IDENTIFIER"||u[P]?.[0]==="PROPERTY"){let N=[];for(let B=P;B<_;B+=2)N.push(u[B][1]);let L=A1("STRING",`"${N.join(".")}"`,u[P]);L.pre=u[P].pre,L.spaced=u[P].spaced,L.newLine=u[P].newLine,L.loc=u[P].loc,u.splice(P,_-P,L),_=P+1}}let K=W1.has(this.tokens[_-1]?.[0])?f[f.length-1]?.[1]??_-1:_-1;if(this.tokens[_-2]?.[0]==="@")K=_-2;let H=K<=0||G1.has(this.tokens[K-1]?.[0])||this.tokens[K-1]?.newLine;if(z()){let[P,N]=z(),L=f[f.length-2],B=(h)=>h==="{"||h==="MAP_START";if((B(P)||P==="INDENT"&&B(L?.[0])&&!M(L))&&(H||this.tokens[K-1]?.[0]===","||B(this.tokens[K-1]?.[0])||B(this.tokens[K]?.[0])))return R(1)}return q(K,{startsLine:!!H}),R(2)}if(G1.has($))for(let K=f.length-1;K>=0;K--){if(!M(f[K]))break;if(f[K][0]==="{")f[K][2].sameLine=!1}let G=W==="OUTDENT"||F.newLine,I=$==="||"||$==="&&",E=!1;if(I){let K=_+1,H=u[K]?.[0];if(H==="("||H==="["||H==="{"){for(let P=1;++K<u.length&&P>0;)if(H=u[K][0],H==="("||H==="["||H==="{")P++;else if(H===")"||H==="]"||H==="}")P--}else if(H&&H!=="TERMINATOR"&&H!=="OUTDENT"&&H!==",")K++;E=u[K]?.[0]===","}if(C3.has($)&&!E||q2.has($)&&G)while(M(z())){let[K,,{sameLine:H,startsLine:P}]=z();if(D()&&W!==",")Q();else if(J()&&!I&&H&&$!=="TERMINATOR"&&W!==":")X();else if(J()&&$==="TERMINATOR"&&W!==","&&!(P&&this.looksObjectish(_+1)))X();else if(z()?.[2]?.ours&&z()[0]==="CONTROL"&&u[z()[1]]?.[0]==="CLASS"&&$==="TERMINATOR")f.pop();else break}if($===","&&!this.looksObjectish(_+1)&&J()&&(Z!=="TERMINATOR"||!this.looksObjectish(_+2))){let K=Z==="OUTDENT"?1:0;while(J())X(_+K)}return R(1)})}addImplicitCallCommas(){let f=0,w=0,A=this.tokens;while(w<A.length){let _=A[w][0],u=w>0?A[w-1][0]:null;if(_==="CALL_START"||_==="(")f++;if(_==="CALL_END"||_===")")f--;if(f>0&&(_==="->"||_==="=>")&&V3.has(u))A.splice(w,0,A1(",",",")),w++;w++}}scanTokens(f){let w=0;while(w<this.tokens.length)w+=f.call(this,this.tokens[w],w,this.tokens)}detectEnd(f,w,A,_={}){let u=0;while(f<this.tokens.length){let $=this.tokens[f];if(u===0&&w.call(this,$,f))return A.call(this,$,f);if(R1.has($[0]))u++;if(W1.has($[0]))u--;if(u<0){if(_.returnOnNegativeLevel)return;return A.call(this,$,f)}f++}}closeMergeAssignments(){let f=this.tokens;for(let w=0;w<f.length;w++){if(!f[w].mergeClose)continue;let A=0;for(let _=w+1;_<f.length;_++){let u=f[_][0];if(u==="("||u==="["||u==="{"||u==="CALL_START"||u==="INDEX_START"||u==="INDENT")A++;if(u===")"||u==="]"||u==="}"||u==="CALL_END"||u==="INDEX_END"||u==="OUTDENT")A--;if(A<0||A===0&&u==="TERMINATOR"){f.splice(_,0,A1("CALL_END",")",f[_-1]));break}if(_===f.length-1){f.splice(_+1,0,A1("CALL_END",")",f[_]));break}}}}commaInImplicitCall(f){let w=0;for(let A=f-1;A>=0;A--){let _=this.tokens[A][0];if(W1.has(_)){w++;continue}if(R1.has(_)){if(_==="INDENT")return!1;if(w--,w<0)return!1;continue}if(w>0)continue;if(d1.has(_)&&this.tokens[A].spaced){let u=this.tokens[A+1]?.[0];return C1.has(u)||u==="..."&&C1.has(this.tokens[A+2]?.[0])}}return!1}commaInImplicitObject(f){let w=0;for(let A=f-1;A>=0;A--){let _=this.tokens[A][0];if(W1.has(_)){w++;continue}if(R1.has(_)){if(w--,w<0)return!1;continue}if(w>0)continue;if(_===":"&&A>0&&this.tokens[A-1][0]==="PROPERTY")return this.looksObjectish(f+1);if(G1.has(_))return!1}return!1}looksObjectish(f){if(!this.tokens[f])return!1;if(this.tokens[f]?.[0]==="@"&&this.tokens[f+2]?.[0]===":")return!0;if(this.tokens[f+1]?.[0]===":")return!0;if((this.tokens[f]?.[0]==="IDENTIFIER"||this.tokens[f]?.[0]==="PROPERTY")&&this.tokens[f+1]?.[0]==="."){let w=f+2;while(this.tokens[w]?.[0]==="PROPERTY"&&this.tokens[w+1]?.[0]===".")w+=2;if(this.tokens[w]?.[0]==="PROPERTY"&&this.tokens[w+1]?.[0]===":")return!0}if(R1.has(this.tokens[f]?.[0])){let w=null;if(this.detectEnd(f+1,(A)=>W1.has(A[0]),(A,_)=>w=_),w&&this.tokens[w+1]?.[0]===":")return!0}return!1}findTagsBackwards(f,w){let A=new Set(w),_=[];while(f>=0){let u=this.tokens[f]?.[0];if(!_.length&&A.has(u))return!0;if(W1.has(u))_.push(u);if(R1.has(u)&&_.length)_.pop();if(!_.length&&(R1.has(u)&&!this.tokens[f]?.generated||G1.has(u)))break;f--}return!1}makeIndentation(f){let w=A1("INDENT",2),A=A1("OUTDENT",2);if(f)w.generated=A.generated=!0,w.origin=A.origin=f;else w.explicit=A.explicit=!0;return[w,A]}}D2(Z1);var R4={symbolIds:{$accept:0,$end:1,error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,ExpressionLine:8,Statement:9,Return:10,STATEMENT:11,Import:12,Export:13,Value:14,Code:15,Operation:16,Assign:17,RightwardAssign:18,ReactiveAssign:19,ComputedAssign:20,ReadonlyAssign:21,Effect:22,If:23,Try:24,While:25,For:26,Switch:27,Class:28,Component:29,Render:30,Throw:31,Yield:32,Def:33,Enum:34,CodeLine:35,OperationLine:36,Assignable:37,Literal:38,Parenthetical:39,Range:40,Invocation:41,DoIife:42,This:43,Super:44,MetaProperty:45,MapLiteral:46,AlphaNumeric:47,JS:48,Regex:49,UNDEFINED:50,NULL:51,BOOL:52,INFINITY:53,NAN:54,NUMBER:55,String:56,Identifier:57,IDENTIFIER:58,Property:59,PROPERTY:60,STRING:61,STRING_START:62,Interpolations:63,STRING_END:64,InterpolationChunk:65,INTERPOLATION_START:66,INTERPOLATION_END:67,INDENT:68,OUTDENT:69,REGEX:70,REGEX_START:71,REGEX_END:72,RegexWithIndex:73,",":74,"=":75,RIGHTWARD_ASSIGN:76,REACTIVE_ASSIGN:77,COMPUTED_ASSIGN:78,Block:79,READONLY_ASSIGN:80,EFFECT:81,SimpleAssignable:82,Array:83,Object:84,ThisProperty:85,".":86,"?.":87,INDEX_START:88,INDEX_END:89,Slice:90,ES6_OPTIONAL_INDEX:91,"{":92,ObjAssignable:93,":":94,FOR:95,ForVariables:96,FOROF:97,OptComma:98,"}":99,WHEN:100,OWN:101,AssignList:102,AssignObj:103,ObjRestValue:104,SimpleObjAssignable:105,"[":106,"]":107,"@":108,"...":109,ObjSpreadExpr:110,SUPER:111,Arguments:112,DYNAMIC_IMPORT:113,MAP_START:114,MAP_END:115,MapAssignList:116,MapAssignObj:117,MapAssignable:118,Elisions:119,ArgElisionList:120,OptElisions:121,ArgElision:122,Arg:123,Elision:124,RangeDots:125,"..":126,DEF:127,CALL_START:128,ParamList:129,CALL_END:130,PARAM_START:131,PARAM_END:132,FuncGlyph:133,"->":134,"=>":135,Param:136,ParamVar:137,Splat:138,ES6_OPTIONAL_CALL:139,ArgList:140,SimpleArgs:141,THIS:142,NEW_TARGET:143,IMPORT_META:144,"(":145,")":146,RETURN:147,THROW:148,YIELD:149,FROM:150,IfBlock:151,IF:152,ELSE:153,UnlessBlock:154,UNLESS:155,POST_IF:156,POST_UNLESS:157,TRY:158,Catch:159,FINALLY:160,CATCH:161,SWITCH:162,Whens:163,When:164,LEADING_WHEN:165,WhileSource:166,WHILE:167,UNTIL:168,Loop:169,LOOP:170,FORIN:171,BY:172,FORAS:173,AWAIT:174,FORASAWAIT:175,ForValue:176,CLASS:177,EXTENDS:178,ENUM:179,COMPONENT:180,ComponentBody:181,ComponentLine:182,OFFER:183,ACCEPT:184,RENDER:185,IMPORT:186,ImportDefaultSpecifier:187,ImportNamespaceSpecifier:188,ImportSpecifierList:189,ImportSpecifier:190,AS:191,DEFAULT:192,IMPORT_ALL:193,EXPORT:194,ExportSpecifierList:195,EXPORT_ALL:196,ExportSpecifier:197,UNARY:198,DO:199,DO_IIFE:200,UNARY_MATH:201,"-":202,"+":203,"?":204,DEFINED:205,PRESENCE:206,"--":207,"++":208,MATH:209,"**":210,SHIFT:211,COMPARE:212,"&":213,"^":214,"|":215,"||":216,"??":217,"&&":218,"!?":219,PIPE:220,RELATION:221,TERNARY:222,COMPOUND_ASSIGN:223},tokenNames:{2:"error",6:"TERMINATOR",11:"STATEMENT",48:"JS",50:"UNDEFINED",51:"NULL",52:"BOOL",53:"INFINITY",54:"NAN",55:"NUMBER",58:"IDENTIFIER",60:"PROPERTY",61:"STRING",62:"STRING_START",64:"STRING_END",66:"INTERPOLATION_START",67:"INTERPOLATION_END",68:"INDENT",69:"OUTDENT",70:"REGEX",71:"REGEX_START",72:"REGEX_END",74:",",75:"=",76:"RIGHTWARD_ASSIGN",77:"REACTIVE_ASSIGN",78:"COMPUTED_ASSIGN",80:"READONLY_ASSIGN",81:"EFFECT",86:".",87:"?.",88:"INDEX_START",89:"INDEX_END",91:"ES6_OPTIONAL_INDEX",92:"{",94:":",95:"FOR",97:"FOROF",99:"}",100:"WHEN",101:"OWN",106:"[",107:"]",108:"@",109:"...",111:"SUPER",113:"DYNAMIC_IMPORT",114:"MAP_START",115:"MAP_END",126:"..",127:"DEF",128:"CALL_START",130:"CALL_END",131:"PARAM_START",132:"PARAM_END",134:"->",135:"=>",139:"ES6_OPTIONAL_CALL",142:"THIS",143:"NEW_TARGET",144:"IMPORT_META",145:"(",146:")",147:"RETURN",148:"THROW",149:"YIELD",150:"FROM",152:"IF",153:"ELSE",155:"UNLESS",156:"POST_IF",157:"POST_UNLESS",158:"TRY",160:"FINALLY",161:"CATCH",162:"SWITCH",165:"LEADING_WHEN",167:"WHILE",168:"UNTIL",170:"LOOP",171:"FORIN",172:"BY",173:"FORAS",174:"AWAIT",175:"FORASAWAIT",177:"CLASS",178:"EXTENDS",179:"ENUM",180:"COMPONENT",183:"OFFER",184:"ACCEPT",185:"RENDER",186:"IMPORT",191:"AS",192:"DEFAULT",193:"IMPORT_ALL",194:"EXPORT",196:"EXPORT_ALL",198:"UNARY",199:"DO",200:"DO_IIFE",201:"UNARY_MATH",202:"-",203:"+",204:"?",205:"DEFINED",206:"PRESENCE",207:"--",208:"++",209:"MATH",210:"**",211:"SHIFT",212:"COMPARE",213:"&",214:"^",215:"|",216:"||",217:"??",218:"&&",219:"!?",220:"PIPE",221:"RELATION",222:"TERNARY",223:"COMPOUND_ASSIGN"},parseTable:(()=>{let f=[110,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,-1,1,2,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,1,1,0,2,1,5,-2,110,5,1,5,61,2,77,-3,-3,-3,-3,-3,32,1,5,61,1,1,5,2,19,12,23,16,10,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,-6,127,131,-6,-6,-6,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,9,1,5,61,1,1,5,33,23,16,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,61,1,1,5,33,23,16,10,1,9,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,132,133,134,99,100,58,1,5,50,5,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,3,3,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,138,108,109,-13,-13,-13,-13,-13,141,142,143,-13,144,-13,-13,-13,-13,-13,-13,-13,139,-13,-13,145,-13,-13,140,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,135,136,137,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,48,1,5,61,1,1,5,2,10,1,1,1,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,-14,146,147,148,-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,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-21,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-25,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-26,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-27,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-28,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-29,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-30,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-31,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-32,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-33,9,1,5,61,1,1,5,33,23,16,-34,-34,-34,-34,-34,-34,-34,-34,-34,9,1,5,61,1,1,5,33,23,16,-35,-35,-35,-35,-35,-35,-35,-35,-35,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,149,-36,150,151,152,153,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,18,6,51,1,10,1,5,9,1,1,7,14,2,1,20,1,2,4,1,-199,158,107,-199,-199,-199,160,161,159,102,163,162,157,154,-199,-199,155,156,109,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,8,2,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,165,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,166,105,106,164,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,106,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,167,168,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,106,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,170,171,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,172,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,178,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,179,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,180,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,181,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,47,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,11,1,1,1,7,14,2,3,2,1,17,2,1,1,7,1,1,1,55,183,184,185,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,182,74,75,96,102,85,89,86,87,92,173,174,93,94,88,90,91,84,177,47,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,11,1,1,1,7,14,2,3,2,1,17,2,1,1,7,1,1,1,55,183,184,185,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,186,74,75,96,102,85,89,86,87,92,173,174,93,94,88,90,91,84,177,64,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,187,188,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,189,106,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,8,2,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,191,190,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,166,105,106,192,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,193,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,2,68,11,166,194,2,68,11,166,195,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,14,40,17,1,25,1,1,7,4,5,5,2,29,37,2,199,158,107,160,161,159,102,196,197,85,162,201,198,200,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,202,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,203,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,94,1,5,8,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,2,3,3,1,1,1,4,3,2,1,2,2,1,6,1,1,1,2,2,1,1,11,4,1,1,1,1,1,7,1,1,1,1,7,3,1,10,1,3,1,1,2,3,22,2,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-331,-331,183,184,185,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-331,166,-331,105,106,-331,-331,204,206,74,75,96,-331,102,-331,-331,-331,-331,-331,85,-331,89,-331,86,87,92,-331,-331,-331,173,-331,174,93,94,88,90,91,84,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,205,177,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,2,68,110,207,208,2,68,11,166,209,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,210,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,211,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,144,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,2,5,1,1,1,1,4,3,2,1,2,2,1,6,1,1,1,2,2,1,1,11,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,2,2,1,5,1,8,4,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-250,-250,212,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-250,213,-250,105,106,-250,-250,55,54,74,75,96,-250,102,-250,-250,-250,-250,-250,85,-250,89,-250,86,87,92,-250,-250,68,-250,173,-250,174,93,94,88,90,91,84,-250,71,66,67,214,56,97,-250,57,98,-250,-250,58,62,59,-250,-250,60,101,-250,-250,-250,51,-250,63,69,64,65,72,73,175,176,177,48,49,50,52,53,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,2,57,1,215,107,2,57,1,216,107,6,15,20,96,2,1,1,218,217,44,45,93,94,143,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,2,5,1,1,1,1,4,3,2,1,2,2,1,6,1,1,1,2,2,1,1,11,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,2,2,1,5,1,8,4,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-247,-247,219,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-247,220,-247,105,106,-247,-247,55,54,74,75,96,-247,102,-247,-247,-247,-247,-247,85,-247,89,-247,86,87,92,-247,-247,68,-247,173,-247,174,93,94,88,90,91,84,-247,71,66,67,56,97,-247,57,98,-247,-247,58,62,59,-247,-247,60,101,-247,-247,-247,51,-247,63,69,64,65,72,73,175,176,177,48,49,50,52,53,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,9,56,1,1,3,1,30,95,1,5,221,225,107,108,109,224,222,223,226,62,14,1,4,1,1,1,6,1,4,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,14,2,3,2,1,13,4,2,1,1,7,1,1,1,32,2,1,12,4,4,183,184,233,234,235,236,228,229,230,231,239,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,232,107,108,109,105,106,55,240,74,75,96,227,85,89,86,87,92,68,173,174,93,94,88,90,91,84,63,69,64,237,238,177,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,109,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,241,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,242,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,116,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,7,1,1,1,1,7,3,11,1,1,1,2,2,1,5,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,243,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,249,105,106,250,55,54,74,75,96,102,61,85,244,89,254,86,87,92,245,246,248,251,247,68,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,4,86,2,24,16,256,257,255,145,2,112,16,258,145,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,58,1,5,53,1,1,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-232,-232,259,260,-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,1,86,261,1,86,262,34,6,33,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,9,1,1,7,14,2,1,6,1,1,1,27,-147,280,271,272,275,274,273,276,277,103,104,268,107,269,260,108,109,-147,-147,105,106,-147,278,279,270,102,163,162,267,263,264,265,266,84,55,11,37,2,1,1,1,1,1,3,3,1,6,2,1,10,11,3,11,2,3,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,-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,-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,55,11,37,2,1,1,1,1,1,3,3,1,6,2,1,10,11,3,11,2,3,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,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,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,281,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,282,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,283,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,284,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,8,2,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,286,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,166,105,106,285,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,23,6,41,8,1,1,1,1,1,1,1,6,1,5,11,8,6,3,1,1,1,1,2,1,-112,292,103,104,294,107,295,260,108,109,-112,-112,-112,296,287,-112,288,293,297,289,290,291,298,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,47,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,11,1,1,1,7,14,2,3,2,1,17,2,1,1,7,1,1,1,55,183,184,185,35,36,37,299,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,240,74,75,96,102,85,89,86,87,92,173,174,93,94,88,90,91,84,177,67,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,4,3,3,1,10,1,3,1,1,2,3,13,11,1,1,1,1,1,1,1,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,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,59,1,5,55,1,2,2,1,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,6,56,5,1,1,2,1,303,108,109,300,301,302,112,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,2,1,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,1,1,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,-5,304,-5,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-5,-5,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,-5,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,305,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,306,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,307,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,308,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,309,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,310,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,311,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,312,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,313,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,316,169,314,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,315,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,319,169,317,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,318,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,322,169,320,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,321,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,323,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,324,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,325,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,326,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,47,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,11,1,1,1,7,14,2,3,2,1,17,2,1,1,7,1,1,1,55,183,184,327,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,240,74,75,96,102,85,89,86,87,92,173,174,93,94,88,90,91,84,177,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,328,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,329,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,14,40,17,1,25,1,1,7,4,5,5,2,29,37,2,333,158,107,160,161,159,102,330,331,85,162,201,332,200,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,334,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,335,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,57,1,5,55,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,57,1,5,55,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,2,112,16,336,145,2,59,1,337,260,2,59,1,338,260,109,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,2,8,1,1,1,1,5,2,3,11,2,1,2,2,1,11,1,1,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,339,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,344,79,80,81,82,83,103,104,95,107,108,109,340,105,106,342,55,54,74,75,96,341,102,61,85,89,346,86,87,92,343,345,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,88,347,112,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,1,2,2,1,9,4,3,1,2,1,1,3,2,2,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,351,105,106,55,54,74,75,96,102,61,85,89,254,86,87,92,350,68,348,44,45,93,94,253,349,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,2,59,1,353,260,2,59,1,354,260,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,355,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,356,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,105,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,358,357,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,359,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,105,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,361,360,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,362,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,106,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,8,2,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,364,363,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,166,105,106,365,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,105,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,367,366,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,368,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,106,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,8,2,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,370,369,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,166,105,106,371,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,10,6,62,1,5,24,1,8,8,15,2,-243,-243,-243,373,374,-243,-243,-243,-243,372,6,6,62,1,5,56,2,-200,-200,-200,-200,-200,-200,7,6,62,1,5,1,55,2,-204,-204,-204,-204,375,-204,-204,15,6,51,1,10,1,5,9,1,1,7,14,2,22,2,5,-207,158,107,-207,-207,-207,160,161,159,102,163,162,-207,-207,376,11,6,62,1,5,1,22,33,2,39,2,2,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,11,6,62,1,5,1,22,33,2,39,2,2,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,11,6,62,1,5,1,22,33,2,39,2,2,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,11,6,62,1,5,1,22,33,2,39,2,2,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,2,59,1,259,260,116,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,7,1,1,1,1,7,3,11,1,1,1,2,2,1,5,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,249,105,106,250,55,54,74,75,96,102,61,85,244,89,254,86,87,92,245,246,248,251,247,68,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-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,9,1,5,61,1,1,5,33,23,16,-196,-196,-196,-196,-196,-196,-196,-196,-196,109,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,378,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,377,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,130,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,121,-400,123,-400,-400,-400,9,1,5,61,1,1,5,33,23,16,-397,-397,-397,-397,-397,-397,-397,-397,-397,5,156,1,9,1,1,132,133,134,99,100,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,130,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,121,-401,123,-401,-401,-401,9,1,5,61,1,1,5,33,23,16,-398,-398,-398,-398,-398,-398,-398,-398,-398,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,130,-402,-402,-402,-402,-402,-402,-402,-402,-402,114,-402,-402,-402,-402,-402,-402,121,-402,123,-402,-402,-402,18,6,51,1,10,1,5,9,1,1,7,14,2,1,20,1,2,4,1,-199,158,107,-199,-199,-199,160,161,159,102,163,162,157,379,-199,-199,155,156,2,68,11,166,164,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,167,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,170,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,5,15,116,2,1,1,218,173,174,93,94,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,130,-403,-403,-403,-403,-403,-403,-403,-403,-403,114,-403,-403,-403,-403,-403,-403,121,-403,123,-403,-403,-403,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,130,-404,-404,-404,-404,-404,-404,-404,-404,-404,114,-404,-404,-404,-404,-404,-404,121,-404,123,-404,-404,-404,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,130,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,121,-408,123,-408,-408,-408,2,84,8,380,102,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-410,-410,-89,-89,-410,-410,-410,-410,-89,-410,-89,-89,-89,-89,-89,-89,-89,-410,-89,-410,-410,-410,-410,-410,-410,-410,-410,-410,-89,-410,-410,-89,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-89,-89,-89,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,10,56,5,1,24,1,1,3,21,16,11,138,108,109,141,142,143,144,139,145,140,3,86,1,1,146,147,148,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-411,-411,-89,-89,-411,-411,-411,-411,-89,-411,-89,-89,-89,-89,-89,-89,-89,-411,-89,-411,-411,-411,-411,-411,-411,-411,-411,-411,-89,-411,-411,-89,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-89,-89,-89,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-412,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,105,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,383,381,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,382,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,-86,-86,127,-86,-86,131,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,128,129,130,99,100,-86,-86,-86,-86,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,384,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-88,3,68,11,73,166,385,386,48,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,2,1,1,6,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,387,388,389,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,4,97,74,2,2,391,390,392,393,11,57,1,25,1,1,7,4,10,2,29,39,158,107,160,161,159,102,394,163,162,201,200,11,57,1,25,1,1,7,4,10,2,29,39,158,107,160,161,159,102,395,163,162,201,200,3,68,11,93,166,396,397,5,74,23,74,2,2,398,-329,-329,-329,-329,6,74,1,22,74,2,2,-327,399,-327,-327,-327,-327,24,68,8,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,400,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,3,163,1,1,401,402,403,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-332,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,404,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,63,1,5,55,1,5,1,1,5,1,1,1,1,1,1,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-89,-89,-335,166,-335,-335,-89,-335,-89,-89,405,-89,-89,-89,-89,-89,-335,-89,-335,-335,-335,-335,-335,-335,-335,-335,-335,-89,-335,-335,-89,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,406,-335,-335,-89,-89,-89,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,110,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,1,1,1,1,1,1,8,4,1,1,1,1,1,4,1,409,410,411,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,407,408,412,413,65,72,73,46,47,70,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,414,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-248,-248,-248,-248,-248,-248,127,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,130,-248,-248,-248,-248,-248,-248,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,2,84,8,415,102,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,130,-251,-251,-251,-251,-251,-251,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,2,84,8,416,102,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,417,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,3,68,11,49,166,419,418,2,68,11,166,420,9,1,5,61,1,1,5,33,23,16,-399,-399,-399,-399,-399,-399,-399,-399,-399,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-245,-245,-245,-245,-245,-245,127,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,130,-245,-245,-245,-245,-245,-245,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,2,84,8,421,102,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,2,74,76,423,422,1,150,424,7,57,1,10,31,90,1,2,429,107,428,425,426,427,430,2,74,76,-367,-367,1,191,431,26,6,41,8,1,1,1,1,1,1,1,6,1,5,11,8,6,3,1,1,1,1,2,1,83,3,2,-112,292,103,104,436,107,295,260,108,109,435,-112,-112,296,287,432,288,293,297,289,290,291,298,437,433,434,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-92,-92,-92,-92,-92,-92,-92,-92,438,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,439,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,440,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,150,441,60,1,5,55,1,5,1,1,5,2,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,-36,150,151,152,153,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,2,6,140,110,442,108,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,443,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,32,6,62,1,5,2,19,12,2,16,1,4,26,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-225,-225,-225,-225,127,131,-225,346,444,345,-225,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-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,-168,-168,-168,-168,-168,-168,-168,-168,-168,112,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,7,1,1,1,1,7,3,11,1,1,1,2,2,1,9,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,250,55,54,74,75,96,102,61,85,445,89,254,86,87,92,447,446,68,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,10,6,62,1,5,24,1,8,8,6,9,-243,-243,-243,449,450,-243,-243,-243,448,-243,60,6,5,37,2,1,1,1,1,1,3,3,1,6,1,1,1,3,7,11,3,11,1,1,1,2,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,451,-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,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,5,6,62,1,5,33,-171,-171,-171,-171,-171,115,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,7,1,1,1,1,7,3,11,2,1,2,2,1,5,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,249,105,106,250,55,54,74,75,96,102,61,85,89,254,86,87,92,453,452,248,251,247,68,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,60,6,5,37,2,1,1,1,1,1,3,3,1,6,1,1,1,3,7,11,3,11,1,1,1,2,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,5,6,62,1,5,33,-176,-176,-176,-176,-176,6,6,62,1,5,33,23,-226,-226,-226,-226,-226,-226,6,6,62,1,5,33,23,-227,-227,-227,-227,-227,-227,109,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,7,1,1,1,1,7,3,11,1,1,3,2,1,13,3,1,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,-228,454,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-228,-228,105,106,-228,55,54,74,75,96,102,61,85,-228,89,86,87,92,68,-228,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,57,1,5,55,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,2,59,1,455,260,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,456,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,457,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,57,1,5,55,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,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,-233,-233,-233,-233,-233,-233,-233,-233,-233,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,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,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,2,59,1,458,260,2,59,1,459,260,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,461,460,-243,-243,-243,-243,5,6,62,1,5,41,-148,-148,-148,-148,-148,1,94,462,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,463,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,94,-155,1,94,-156,1,94,-157,1,94,-158,1,94,-159,1,94,-160,1,94,-161,1,94,-162,1,94,-163,1,94,-164,1,94,-165,1,94,-166,1,94,-167,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,464,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,465,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-282,-282,-282,-282,-282,-282,127,-282,-282,131,-282,-282,466,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,130,99,100,-282,-282,-282,-282,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-284,-284,-284,-284,-284,-284,127,-284,-284,131,-284,-284,467,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,130,99,100,-284,-284,-284,-284,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,47,1,5,61,1,1,5,2,3,10,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-291,-291,-291,166,-291,-291,127,468,-291,-291,131,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,130,99,100,-291,-291,-291,-291,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,6,6,62,1,5,20,5,-117,-117,-117,-117,469,-117,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,471,470,-243,-243,-243,-243,7,6,62,1,5,1,19,5,-126,-126,-126,-126,472,-126,-126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,473,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,3,59,1,46,259,260,474,6,6,62,1,5,20,5,-129,-129,-129,-129,-129,-129,5,6,62,1,5,25,-113,-113,-113,-113,-113,11,6,62,1,5,1,11,1,1,6,5,29,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,11,6,62,1,5,1,11,1,1,6,5,29,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,11,6,62,1,5,1,11,1,1,6,5,29,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,5,6,62,1,5,25,-118,-118,-118,-118,-118,17,39,4,1,13,1,1,1,24,1,7,13,3,2,1,2,29,3,478,480,479,294,107,295,260,477,296,102,475,89,476,481,482,88,84,57,1,5,55,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,483,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,6,56,5,1,2,1,1,303,108,109,484,485,302,4,61,1,2,2,-60,-60,-60,-60,110,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,486,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,488,487,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,4,61,1,2,2,-65,-65,-65,-65,5,1,5,61,2,77,-4,-4,-4,-4,-4,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,130,-414,-414,-414,-414,-414,-414,-414,-414,113,114,-414,-414,-414,-414,-414,-414,121,-414,123,-414,-414,-414,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,130,-415,-415,-415,-415,-415,-415,-415,-415,113,114,-415,-415,-415,-415,-415,-415,121,-415,123,-415,-415,-415,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,130,-416,-416,-416,-416,-416,-416,-416,-416,-416,114,-416,-416,-416,-416,-416,-416,121,-416,123,-416,-416,-416,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,130,-417,-417,-417,-417,-417,-417,-417,-417,-417,114,-417,-417,-417,-417,-417,-417,121,-417,123,-417,-417,-417,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,-418,-418,-418,-418,-418,-418,-418,130,-418,-418,-418,-418,-418,-418,112,111,113,114,-418,-418,-418,-418,-418,-418,121,-418,123,-418,-418,-418,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,-419,-419,-419,-419,-419,-419,-419,130,-419,-419,-419,-419,-419,-419,112,111,113,114,115,-419,-419,-419,-419,-419,121,-419,123,-419,125,-419,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,-420,-420,-420,-420,-420,-420,-420,130,-420,-420,-420,-420,-420,-420,112,111,113,114,115,116,-420,-420,-420,-420,121,-420,123,-420,125,-420,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,-421,-421,-421,-421,-421,-421,-421,130,-421,-421,-421,-421,-421,-421,112,111,113,114,115,116,117,-421,-421,-421,121,-421,123,-421,125,-421,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,130,-422,-422,-422,-422,-422,-422,112,111,113,114,115,116,117,118,-422,-422,121,-422,123,-422,125,-422,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,130,-430,-430,-430,-430,-430,-430,112,111,113,114,115,116,117,118,119,-430,121,122,123,-430,125,-430,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-426,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-431,-431,-431,-431,-431,-431,127,-431,-431,131,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,128,129,130,99,100,-431,-431,-431,-431,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-428,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,-429,-429,-429,-429,130,-429,-429,-429,-429,-429,-429,112,111,113,114,115,116,117,118,119,-429,121,-429,123,-429,125,-429,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-432,-432,-432,-432,-432,-432,127,-432,-432,131,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,128,129,130,99,100,-432,-432,-432,-432,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,130,-433,-433,-433,-433,-433,-433,112,111,113,114,115,116,117,118,119,120,121,122,123,-433,125,-433,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,130,-434,-434,-434,-434,-434,-434,112,111,113,114,115,-434,-434,-434,-434,-434,121,-434,123,-434,-434,-434,24,76,18,1,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,489,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-73,-73,-36,-36,-73,-73,-73,-73,-73,-36,-36,-36,-73,-36,-73,-73,-73,-73,-73,-73,-73,-73,-73,-36,-73,-73,-36,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-36,-36,-36,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-262,-262,-262,-262,-262,-262,127,-262,-262,131,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,490,-262,-262,130,99,100,-262,-262,-262,-262,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-266,-266,-266,-266,-266,-266,127,-266,-266,131,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,130,99,100,-266,-266,-266,-266,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,4,97,74,2,2,492,491,493,494,11,57,1,25,1,1,7,4,10,2,29,39,158,107,160,161,159,102,495,163,162,201,200,11,57,1,25,1,1,7,4,10,2,29,39,158,107,160,161,159,102,496,163,162,201,200,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,497,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-261,-261,-261,-261,-261,-261,127,-261,-261,131,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,130,99,100,-261,-261,-261,-261,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-265,-265,-265,-265,-265,-265,127,-265,-265,131,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,130,99,100,-265,-265,-265,-265,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,57,1,5,55,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,27,76,13,6,14,16,1,30,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,498,131,346,499,345,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,5,2,3,11,2,1,2,2,1,11,1,1,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,500,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,501,102,61,85,89,346,86,87,92,343,345,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,89,502,1,89,503,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,10,1,1,1,1,4,3,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,504,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-190,105,106,55,54,74,75,96,-190,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-48,-48,-48,-48,-48,-48,-48,505,-48,-48,-48,-48,-69,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,56,11,37,2,1,1,1,1,1,3,3,1,7,1,1,10,8,3,3,11,2,3,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,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,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,56,11,37,2,1,1,1,1,1,3,3,1,7,1,1,10,8,3,3,11,2,3,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,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,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,506,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,507,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,57,1,5,55,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,509,508,-243,-243,-243,-243,5,6,62,1,5,56,-220,-220,-220,-220,-220,111,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,1,2,2,1,9,4,4,2,1,1,3,2,2,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,351,105,106,55,54,74,75,96,102,61,85,89,254,86,87,92,350,68,44,45,93,94,253,510,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,29,6,62,1,5,2,19,12,23,26,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-225,-225,-225,-225,127,131,-225,-225,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,24,76,13,6,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,511,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,512,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-70,-70,-70,-70,-70,-70,127,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,130,-70,-70,-70,-70,-70,-70,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,513,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,514,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-74,-74,-74,-74,-74,-74,127,-74,-74,131,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,128,129,130,99,100,-74,-74,-74,-74,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,515,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,516,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-77,-77,-77,-77,-77,-77,127,-77,-77,131,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,128,129,130,99,100,-77,-77,-77,-77,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,517,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-79,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-80,-80,-80,-80,-80,-80,127,-80,-80,131,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,128,129,130,99,100,-80,-80,-80,-80,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,518,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,519,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-83,-83,-83,-83,-83,-83,127,-83,-83,131,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,128,129,130,99,100,-83,-83,-83,-83,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,520,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-85,3,133,1,1,521,93,94,18,6,51,1,10,1,14,1,1,7,7,7,1,1,1,6,15,6,1,-244,158,107,-244,-244,160,161,159,102,-244,163,-244,162,157,-244,-244,522,156,2,6,62,523,524,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,525,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,6,6,62,1,5,56,2,-206,-206,-206,-206,-206,-206,59,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,3,1,4,2,1,3,1,1,2,27,1,1,1,1,3,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,-239,-239,-239,2,6,63,110,526,10,6,62,1,5,24,1,8,8,15,2,-243,-243,-243,373,374,-243,-243,-243,-243,527,1,69,528,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-436,-436,-436,-436,-436,-436,127,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,130,-436,-436,-436,-436,-436,-436,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,529,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,530,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-87,-87,-87,-87,-87,-87,127,-87,-87,131,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,128,129,130,99,100,-87,-87,-87,-87,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,531,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,3,7,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,532,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,2,68,11,166,533,6,57,1,10,11,5,8,534,107,166,536,535,102,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,537,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,538,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,539,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,540,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,97,541,1,173,542,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,543,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,10,57,1,25,1,1,7,14,2,29,39,158,107,160,161,159,102,163,162,201,544,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,545,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,3,163,1,1,546,402,403,4,69,84,11,1,547,548,549,403,3,69,84,12,-278,-278,-278,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,6,1,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,551,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,550,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,47,1,5,61,1,1,5,2,3,10,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-333,166,-333,-333,127,552,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,130,-333,-333,-333,-333,-333,-333,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-336,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,553,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,2,6,63,555,554,2,6,63,-342,-342,25,6,63,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-345,-345,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,2,6,63,-346,-346,7,6,63,87,1,9,1,1,-347,-347,132,133,134,99,100,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,556,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,58,557,24,68,8,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,558,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,1,69,559,1,69,560,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,130,-253,-253,-253,-253,-253,-253,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,18,6,51,1,10,1,5,9,1,1,7,14,2,1,20,1,2,4,1,-199,158,107,-199,-199,-199,160,161,159,102,163,162,157,561,-199,-199,155,156,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,1,69,562,3,56,5,1,563,108,109,3,92,96,5,565,564,226,3,56,5,1,566,108,109,1,150,567,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,569,568,-243,-243,-243,-243,5,6,62,1,5,25,-358,-358,-358,-358,-358,6,57,1,10,121,1,2,429,107,428,570,427,430,6,6,62,1,5,25,92,-363,-363,-363,-363,-363,571,6,6,62,1,5,25,92,-365,-365,-365,-365,-365,572,2,57,1,573,107,14,1,5,61,1,1,5,33,23,16,4,6,1,10,1,-369,-369,-369,-369,-369,-369,-369,-369,-369,574,-369,-369,-369,-369,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,576,575,-243,-243,-243,-243,5,6,62,1,5,25,-387,-387,-387,-387,-387,6,57,1,10,124,3,2,578,107,435,437,577,434,12,6,62,1,5,1,11,1,1,6,5,29,63,-392,-392,-392,-392,-123,-123,-123,-123,-123,-392,-123,579,6,6,62,1,5,25,92,-395,-395,-395,-395,-395,580,105,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,582,581,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,583,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,32,1,5,61,1,1,5,2,19,12,23,16,10,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-382,-382,-382,-382,-382,-382,127,131,-382,-382,-382,-382,-382,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,2,84,8,584,102,3,56,5,1,585,108,109,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,2,6,63,110,586,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,587,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-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,-169,-169,-169,-169,-169,-169,-169,-169,-169,60,6,5,37,2,1,1,1,1,1,3,3,1,6,1,1,1,3,7,11,3,11,1,1,1,2,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,451,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,5,6,62,1,5,33,-177,-177,-177,-177,-177,2,68,39,589,588,120,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,7,1,1,1,1,7,3,4,7,1,1,1,2,2,1,1,4,3,1,1,3,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,-244,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-244,-244,105,106,250,55,54,74,75,96,102,61,-244,85,-244,89,254,86,87,92,-244,591,590,251,247,68,-244,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,4,6,62,1,38,592,-178,-178,-178,60,6,5,37,2,1,1,1,1,1,3,3,1,6,1,1,1,3,7,11,3,11,1,1,1,2,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,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,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,10,6,62,1,5,24,1,8,8,6,9,-243,-243,-243,449,450,-243,-243,-243,593,-243,111,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,7,1,1,1,1,7,3,11,2,1,2,2,1,9,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,250,55,54,74,75,96,102,61,85,89,254,86,87,92,447,446,68,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,29,6,62,1,5,2,19,12,23,26,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-212,-212,-212,-212,127,131,-212,-212,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,24,76,13,6,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,594,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,595,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,3,6,62,47,597,598,596,35,6,33,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,12,1,1,7,7,7,1,1,1,6,2,1,12,15,-244,280,271,272,275,274,273,276,277,103,104,268,107,269,260,108,109,-244,-244,105,106,278,279,270,102,-244,163,-244,162,267,-244,599,266,-244,84,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,600,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,601,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,28,6,62,1,5,2,19,20,41,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-154,-154,-154,-154,127,131,-154,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,602,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,603,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,604,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,605,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,606,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,3,6,62,31,608,609,607,24,6,41,8,1,1,1,1,1,1,1,6,1,16,8,6,4,1,1,1,1,1,1,6,15,-244,292,103,104,294,107,295,260,108,109,-244,-244,296,611,-244,610,297,289,290,-244,291,298,-244,-244,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,612,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,613,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,24,76,19,12,49,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,131,614,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,615,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,10,6,62,1,5,12,1,1,11,13,16,-130,-130,-130,-130,-132,-132,-132,-130,616,145,10,6,62,1,5,12,1,1,11,13,16,-131,-131,-131,-131,618,619,620,-131,617,145,9,6,62,1,5,12,1,1,11,29,-133,-133,-133,-133,-133,-133,-133,-133,-133,9,6,62,1,5,12,1,1,11,29,-134,-134,-134,-134,-134,-134,-134,-134,-134,9,6,62,1,5,12,1,1,11,29,-135,-135,-135,-135,-135,-135,-135,-135,-135,9,6,62,1,5,12,1,1,11,29,-136,-136,-136,-136,-136,-136,-136,-136,-136,4,86,2,24,16,256,257,621,145,2,112,16,622,145,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,59,1,5,55,1,2,2,1,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,4,61,1,2,2,-61,-61,-61,-61,2,6,61,110,623,108,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,624,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,4,61,1,2,2,-64,-64,-64,-64,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,625,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,627,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,626,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,628,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,629,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,630,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,631,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,97,632,1,173,633,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,634,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,10,1,1,1,1,4,3,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,635,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-188,105,106,55,54,74,75,96,-188,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,27,69,7,19,14,16,1,30,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,636,127,131,346,499,345,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,1,69,637,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,25,69,7,13,6,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-189,127,-189,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,638,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,24,76,13,6,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,639,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,640,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,3,6,62,62,642,643,641,116,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,10,1,1,1,1,7,3,4,7,1,1,1,2,2,1,1,8,4,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,-244,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-244,-244,105,106,55,54,74,75,96,102,61,-244,85,-244,89,254,86,87,92,-244,644,68,-244,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,509,645,-243,-243,-243,-243,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,646,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-71,-71,-71,-71,-71,-71,127,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,130,-71,-71,-71,-71,-71,-71,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,647,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,127,-75,-75,131,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,128,129,130,99,100,-75,-75,-75,-75,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,648,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,127,-78,-78,131,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,128,129,130,99,100,-78,-78,-78,-78,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,127,-81,-81,131,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,128,129,130,99,100,-81,-81,-81,-81,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,649,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,127,-84,-84,131,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,128,129,130,99,100,-84,-84,-84,-84,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,109,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,8,2,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,651,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,166,105,106,650,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,6,6,62,1,5,56,2,-201,-201,-201,-201,-201,-201,11,57,1,25,1,1,7,14,2,1,27,1,158,107,160,161,159,102,163,162,157,652,156,18,6,51,1,10,1,5,9,1,1,7,14,2,1,20,1,2,4,1,-199,158,107,-199,-199,-199,160,161,159,102,163,162,157,653,-199,-199,155,156,29,6,62,1,5,2,19,35,2,24,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-205,-205,-205,-205,127,131,-205,-205,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,59,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,3,1,4,2,1,3,1,1,2,27,1,1,1,1,3,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,-240,-240,-240,3,133,1,1,654,93,94,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,655,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-438,-438,-438,-438,-438,-438,127,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,130,-438,-438,-438,-438,-438,-438,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,656,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,2,68,11,166,657,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,2,68,11,166,658,2,68,11,166,659,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,3,7,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,27,68,8,3,16,5,56,1,9,1,1,4,30,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,660,131,661,128,129,130,99,100,662,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,26,68,8,3,16,5,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,663,131,664,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,26,68,8,3,16,5,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,665,131,666,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,26,68,8,3,16,5,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,667,131,668,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,669,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,670,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,671,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,4,97,74,2,2,-330,-330,-330,-330,28,74,2,19,2,59,1,9,1,1,3,2,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-328,127,131,-328,128,129,130,99,100,-328,-328,-328,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,4,69,84,11,1,672,673,549,403,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,2,68,11,166,674,3,69,84,12,-279,-279,-279,3,68,6,5,166,676,675,25,68,6,2,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-229,-229,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-334,47,1,5,61,1,1,5,2,3,10,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-337,-337,-337,166,-337,-337,127,677,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,130,-337,-337,-337,-337,-337,-337,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,111,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,1,1,1,1,8,4,1,1,1,1,1,4,1,-344,409,410,411,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-344,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,678,412,413,65,72,73,46,47,70,48,49,50,52,53,25,6,63,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-348,-348,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,2,6,63,-349,-349,110,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,1,1,1,1,1,1,8,4,1,1,1,1,1,4,1,409,410,411,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,679,408,412,413,65,72,73,46,47,70,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,373,374,-243,-243,-243,680,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,1,150,681,6,57,1,10,121,1,2,429,107,428,682,427,430,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,3,56,5,1,683,108,109,3,6,62,31,685,686,684,11,6,51,1,10,1,30,8,8,15,60,2,-244,429,107,-244,-244,-244,-244,-244,-244,687,430,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,569,688,-243,-243,-243,-243,2,57,1,689,107,2,57,1,690,107,1,150,-368,3,56,5,1,691,108,109,3,6,62,31,693,694,692,11,6,51,1,10,1,30,8,8,15,62,5,-244,578,107,-244,-244,-244,-244,-244,-244,437,695,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,576,696,-243,-243,-243,-243,6,6,62,1,5,25,92,-392,-392,-392,-392,-392,579,3,57,1,134,697,107,698,2,57,1,699,107,32,1,5,61,1,1,5,2,19,12,23,16,10,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-375,-375,-375,-375,-375,-375,127,131,-375,-375,-375,-375,-375,130,-375,-375,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,700,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,701,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,69,702,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,1,146,703,24,76,19,12,49,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,131,704,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-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,-170,-170,-170,-170,-170,-170,-170,-170,-170,115,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,7,1,1,1,1,7,3,11,2,1,2,2,1,5,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,249,105,106,250,55,54,74,75,96,102,61,85,89,254,86,87,92,453,705,248,251,247,68,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,5,6,62,1,5,33,-172,-172,-172,-172,-172,114,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,7,1,1,1,1,7,3,11,1,1,1,2,2,1,9,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-179,-179,105,106,250,55,54,74,75,96,102,61,85,-179,89,254,86,87,92,447,446,68,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,113,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,7,1,1,1,1,7,3,11,2,1,2,2,1,5,3,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,250,55,54,74,75,96,102,61,85,89,254,86,87,92,453,706,251,247,68,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,2,68,1,589,707,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,708,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,28,39,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,12,1,1,7,14,2,1,8,1,27,280,271,272,275,274,273,276,277,103,104,268,107,269,260,108,109,105,106,278,279,270,102,163,162,267,709,266,84,34,6,33,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,9,1,1,7,14,2,1,6,1,1,1,27,-147,280,271,272,275,274,273,276,277,103,104,268,107,269,260,108,109,-147,-147,105,106,-147,278,279,270,102,163,162,267,-147,710,265,266,84,5,6,62,1,5,41,-149,-149,-149,-149,-149,28,6,62,1,5,2,19,20,41,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-152,-152,-152,-152,127,131,-152,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,711,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,2,68,11,166,712,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-283,-283,-283,-283,-283,-283,127,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,130,-283,-283,-283,-283,-283,-283,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-285,-285,-285,-285,-285,-285,127,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,130,-285,-285,-285,-285,-285,-285,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,28,6,62,1,5,2,19,4,57,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-119,-119,-119,-119,127,713,-119,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,714,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,17,47,8,1,1,1,1,1,1,1,23,8,10,1,1,1,2,1,292,103,104,294,107,295,260,108,109,296,611,715,297,289,290,291,298,23,6,41,8,1,1,1,1,1,1,1,6,1,5,11,8,6,3,1,1,1,1,2,1,-112,292,103,104,294,107,295,260,108,109,-112,-112,-112,296,611,-112,716,293,297,289,290,291,298,5,6,62,1,5,25,-114,-114,-114,-114,-114,6,6,62,1,5,20,5,-117,-117,-117,-117,717,-117,28,6,62,1,5,2,19,4,57,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-121,-121,-121,-121,127,131,-121,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,718,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,6,6,62,1,5,20,5,-127,-127,-127,-127,-127,-127,24,76,19,12,49,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,131,719,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,9,6,62,1,5,12,1,1,11,29,-139,-139,-139,-139,-139,-139,-139,-139,-139,9,6,62,1,5,12,1,1,11,29,-140,-140,-140,-140,-140,-140,-140,-140,-140,2,59,1,720,260,2,59,1,721,260,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,722,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,723,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,9,6,62,1,5,12,1,1,11,29,-137,-137,-137,-137,-137,-137,-137,-137,-137,9,6,62,1,5,12,1,1,11,29,-138,-138,-138,-138,-138,-138,-138,-138,-138,4,61,1,2,2,-62,-62,-62,-62,2,6,63,110,724,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-435,-435,-435,-435,-435,-435,127,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,130,-435,-435,-435,-435,-435,-435,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,725,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-264,-264,-264,-264,-264,-264,127,-264,-264,131,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,130,99,100,-264,-264,-264,-264,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-310,-310,-310,-310,-310,-310,127,-310,-310,-310,-310,-310,726,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,130,-310,-310,-310,727,-310,-310,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-315,-315,-315,-315,-315,-315,127,-315,-315,-315,-315,-315,728,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,130,-315,-315,-315,-315,-315,-315,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-319,-319,-319,-319,-319,-319,127,-319,-319,-319,-319,-319,729,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,130,-319,-319,-319,-319,-319,-319,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-323,-323,-323,-323,-323,-323,127,-323,-323,-323,-323,-323,730,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,130,-323,-323,-323,-323,-323,-323,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,731,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,732,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-326,-326,-326,-326,-326,-326,127,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,130,-326,-326,-326,-326,-326,-326,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,25,69,7,13,6,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-187,127,-187,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,1,89,733,1,89,734,24,76,13,6,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,-68,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,735,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,57,1,5,55,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,109,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,1,2,2,1,9,4,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,254,86,87,92,736,68,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,111,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,1,2,2,1,9,4,4,2,1,1,3,2,2,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,351,105,106,55,54,74,75,96,102,61,85,89,254,86,87,92,350,68,44,45,93,94,253,737,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,5,6,62,1,5,56,-221,-221,-221,-221,-221,3,6,62,1,642,643,738,1,89,739,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-76,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-82,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-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,9,1,5,61,1,1,5,33,23,16,-195,-195,-195,-195,-195,-195,-195,-195,-195,6,6,62,1,5,56,2,-202,-202,-202,-202,-202,-202,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,373,740,-243,-243,-243,-243,2,68,11,166,650,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,3,7,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,3,7,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,741,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,742,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,743,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,744,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,745,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,26,68,8,3,16,5,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,746,131,747,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,26,68,8,3,16,5,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,748,131,749,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,2,68,11,166,750,1,69,751,4,6,63,84,12,752,-280,-280,-280,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,753,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-338,2,6,63,-343,-343,2,6,63,555,754,2,68,11,166,755,3,56,5,1,756,108,109,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,569,757,-243,-243,-243,-243,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,1,150,758,4,57,1,132,2,429,107,759,430,6,57,1,10,121,1,2,429,107,428,760,427,430,5,6,62,1,5,25,-359,-359,-359,-359,-359,3,6,62,1,685,686,761,5,6,62,1,5,25,-364,-364,-364,-364,-364,5,6,62,1,5,25,-366,-366,-366,-366,-366,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,14,1,5,61,1,1,5,33,23,16,4,6,1,10,1,-370,-370,-370,-370,-370,-370,-370,-370,-370,762,-370,-370,-370,-370,4,57,1,134,5,578,107,437,763,6,57,1,10,124,3,2,578,107,435,437,764,434,5,6,62,1,5,25,-388,-388,-388,-388,-388,3,6,62,1,693,694,765,5,6,62,1,5,25,-393,-393,-393,-393,-393,5,6,62,1,5,25,-394,-394,-394,-394,-394,5,6,62,1,5,25,-396,-396,-396,-396,-396,32,1,5,61,1,1,5,2,19,12,23,16,10,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-376,-376,-376,-376,-376,-376,127,131,-376,-376,-376,-376,-376,130,-376,-376,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,766,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,10,6,62,1,5,24,1,8,8,6,9,-243,-243,-243,449,450,-243,-243,-243,767,-243,5,6,62,1,5,33,-173,-173,-173,-173,-173,5,6,62,1,5,33,-174,-174,-174,-174,-174,1,89,768,5,6,62,1,5,41,-150,-150,-150,-150,-150,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,461,769,-243,-243,-243,-243,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,770,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,14,40,17,1,25,1,1,7,4,5,5,2,29,37,2,333,158,107,160,161,159,102,771,772,85,162,201,332,200,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,773,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,5,6,62,1,5,25,-115,-115,-115,-115,-115,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,471,774,-243,-243,-243,-243,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,775,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,606,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,776,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,6,6,62,1,5,20,5,-128,-128,-128,-128,-128,-128,9,6,62,1,5,12,1,1,11,29,-141,-141,-141,-141,-141,-141,-141,-141,-141,9,6,62,1,5,12,1,1,11,29,-142,-142,-142,-142,-142,-142,-142,-142,-142,24,76,13,6,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,777,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,778,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,67,779,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,780,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,781,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,782,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,783,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,784,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,785,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-317,-317,-317,-317,-317,-317,127,-317,-317,-317,-317,-317,786,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,130,-317,-317,-317,-317,-317,-317,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-321,-321,-321,-321,-321,-321,127,-321,-321,-321,-321,-321,787,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,130,-321,-321,-321,-321,-321,-321,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,1,89,788,5,6,62,1,5,56,-222,-222,-222,-222,-222,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,509,789,-243,-243,-243,-243,5,6,62,1,5,56,-223,-223,-223,-223,-223,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,3,6,62,1,523,524,790,26,68,8,3,16,61,1,9,1,1,4,30,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,791,131,128,129,130,99,100,792,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,26,68,8,3,16,5,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,793,131,794,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,795,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,796,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,797,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,798,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,799,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,69,800,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,3,69,84,12,-281,-281,-281,25,68,6,2,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-230,-230,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-191,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,3,6,62,31,685,686,801,3,56,5,1,802,108,109,5,6,62,1,5,25,-360,-360,-360,-360,-360,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,569,803,-243,-243,-243,-243,5,6,62,1,5,25,-361,-361,-361,-361,-361,3,56,5,1,804,108,109,5,6,62,1,5,25,-389,-389,-389,-389,-389,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,576,805,-243,-243,-243,-243,5,6,62,1,5,25,-390,-390,-390,-390,-390,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,2,68,1,589,806,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,3,6,62,1,597,598,807,5,6,62,1,5,41,-153,-153,-153,-153,-153,4,97,74,2,2,808,491,493,494,11,57,1,25,1,1,7,4,10,2,29,39,158,107,160,161,159,102,809,163,162,201,200,5,6,62,1,5,25,-120,-120,-120,-120,-120,3,6,62,1,608,609,810,28,6,62,1,5,2,19,4,57,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-119,-119,-119,-119,127,131,-119,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,5,6,62,1,5,25,-122,-122,-122,-122,-122,9,6,62,1,5,12,1,1,11,29,-143,-143,-143,-143,-143,-143,-143,-143,-143,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,811,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,4,61,1,2,2,-63,-63,-63,-63,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-311,-311,-311,-311,-311,-311,127,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,130,-311,-311,-311,812,-311,-311,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-312,-312,-312,-312,-312,-312,127,-312,-312,-312,-312,-312,813,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,130,-312,-312,-312,-312,-312,-312,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-316,-316,-316,-316,-316,-316,127,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,130,-316,-316,-316,-316,-316,-316,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-320,-320,-320,-320,-320,-320,127,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,130,-320,-320,-320,-320,-320,-320,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-324,-324,-324,-324,-324,-324,127,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,130,-324,-324,-324,-324,-324,-324,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,814,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,815,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,3,6,62,1,642,643,816,6,6,62,1,5,56,2,-203,-203,-203,-203,-203,-203,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,817,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,818,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,819,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,820,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,1,150,821,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,3,6,62,1,685,686,822,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,3,6,62,1,693,694,823,5,6,62,1,5,33,-175,-175,-175,-175,-175,5,6,62,1,5,41,-151,-151,-151,-151,-151,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,824,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,97,825,5,6,62,1,5,25,-116,-116,-116,-116,-116,1,89,826,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,827,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,828,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-318,-318,-318,-318,-318,-318,127,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,130,-318,-318,-318,-318,-318,-318,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-322,-322,-322,-322,-322,-322,127,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,130,-322,-322,-322,-322,-322,-322,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,5,6,62,1,5,56,-224,-224,-224,-224,-224,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,829,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,830,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,3,56,5,1,831,108,109,5,6,62,1,5,25,-362,-362,-362,-362,-362,5,6,62,1,5,25,-391,-391,-391,-391,-391,47,1,5,61,1,1,5,2,13,5,1,2,1,1,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-315,-315,-315,-315,-315,834,127,-315,-315,-315,-315,832,-315,833,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,130,-315,-315,-315,-315,-315,-315,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,835,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,9,6,62,1,5,12,1,1,11,29,-144,-144,-144,-144,-144,-144,-144,-144,-144,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-313,-313,-313,-313,-313,-313,127,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,130,-313,-313,-313,-313,-313,-313,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-314,-314,-314,-314,-314,-314,127,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,130,-314,-314,-314,-314,-314,-314,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,1,99,836,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,837,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,7,6,62,1,30,8,8,15,-244,-244,-244,-244,-244,-244,-244,47,1,5,61,1,1,5,2,13,5,1,2,1,1,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-317,-317,-317,-317,-317,834,127,-317,-317,-317,-317,838,-317,839,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,130,-317,-317,-317,-317,-317,-317,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,47,1,5,61,1,1,5,2,13,5,1,2,1,1,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-316,-316,-316,-316,-316,834,127,-316,-316,-316,-316,840,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,130,-316,-316,-316,-316,-316,-316,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,1,99,841,103,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,842,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,99,843,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,47,1,5,61,1,1,5,2,13,5,1,2,1,1,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-318,-318,-318,-318,-318,834,127,-318,-318,-318,-318,844,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,130,-318,-318,-318,-318,-318,-318,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,1,99,845,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110],w=[],A=0,_,u,$,F;while(A<f.length){_=f[A++],u={},$=0,F=[];while(_--)$+=f[A++],F.push($);for($ of F)u[$]=f[A++];w.push(u)}return w})(),ruleTable:[0,0,3,0,3,1,4,1,4,3,4,2,5,1,5,1,5,1,9,1,9,1,9,1,9,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,47,1,47,1,57,1,59,1,56,1,56,3,63,1,63,2,65,3,65,5,65,2,65,1,49,1,49,3,73,3,73,1,17,3,17,4,17,5,18,3,19,3,19,4,19,5,20,3,20,4,20,3,21,3,21,4,21,5,22,3,22,4,22,3,22,2,22,3,22,2,37,1,37,1,37,1,82,1,82,1,82,3,82,3,82,4,82,6,82,4,82,6,82,4,82,5,82,7,82,3,82,3,82,4,82,6,84,10,84,12,84,11,84,13,84,4,102,0,102,1,102,3,102,4,102,6,103,1,103,1,103,3,103,5,103,3,103,5,105,1,105,1,105,1,93,1,93,3,93,4,93,1,104,2,104,2,110,1,110,1,110,1,110,1,110,1,110,2,110,2,110,2,110,2,110,3,110,3,110,4,110,6,46,2,46,4,116,0,116,1,116,3,116,4,116,6,117,3,117,5,117,2,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,83,2,83,3,83,4,120,1,120,3,120,4,120,4,120,6,122,1,122,2,121,1,121,2,119,1,119,2,124,1,124,2,125,1,125,1,40,5,90,3,90,2,90,2,90,1,33,6,33,3,15,5,15,2,35,5,35,2,133,1,133,1,129,0,129,1,129,3,129,4,129,6,136,1,136,3,136,2,136,1,137,1,137,1,137,1,137,1,138,2,41,2,41,2,41,3,41,2,41,2,112,2,112,4,140,1,140,3,140,4,140,4,140,6,123,1,123,1,123,1,123,1,141,1,141,3,43,1,43,1,85,2,44,3,44,4,44,6,45,3,45,3,79,2,79,3,39,3,39,5,98,0,98,1,10,2,10,4,10,1,31,2,31,4,32,1,32,2,32,4,32,3,151,3,151,5,154,3,154,5,23,1,23,3,23,1,23,3,23,3,23,7,23,5,23,3,23,3,24,2,24,3,24,4,24,5,159,3,159,3,159,2,27,5,27,7,27,4,27,6,163,1,163,2,164,3,164,4,166,2,166,4,166,2,166,4,25,2,25,2,25,2,25,1,169,2,169,2,169,3,26,5,26,7,26,7,26,9,26,9,26,5,26,7,26,6,26,8,26,5,26,7,26,6,26,8,26,5,26,7,26,3,26,5,26,5,26,7,26,7,26,9,26,9,26,5,26,7,26,6,26,8,26,5,26,7,26,6,26,8,26,5,26,7,26,3,26,5,176,1,176,3,96,1,96,3,28,1,28,2,28,3,28,4,28,2,28,3,28,4,28,5,34,3,29,4,29,6,181,1,181,3,181,2,182,1,182,1,182,1,182,2,182,2,30,2,12,2,12,4,12,4,12,5,12,7,12,6,12,9,189,1,189,3,189,4,189,4,189,6,190,1,190,3,190,1,190,3,187,1,188,3,13,3,13,5,13,2,13,2,13,2,13,2,13,4,13,5,13,6,13,2,13,2,13,2,13,2,13,3,13,5,13,4,13,5,13,7,195,1,195,3,195,4,195,4,195,6,197,1,197,3,197,3,197,1,197,3,36,2,36,2,36,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,4,16,2,16,2,16,2,16,2,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,5,16,3,16,5,16,4,42,2],ruleActions:(f,w,A,_)=>{let u=w,$=w.length-1;switch(f){case 1:return["program"];case 2:return["program",...u[$]];case 3:case 60:case 113:case 148:case 176:case 180:case 200:case 220:case 229:case 278:case 329:case 342:case 358:case 387:return[u[$]];case 4:case 114:case 149:case 201:case 221:case 230:case 343:case 359:case 388:return[...u[$-2],u[$]];case 5:case 62:case 183:case 344:return u[$-1];case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 48:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 65:case 66:case 89:case 90:case 91:case 92:case 93:case 118:case 123:case 124:case 125:case 126:case 129:case 132:case 133:case 134:case 135:case 136:case 155:case 156:case 157:case 158:case 159:case 160:case 163:case 164:case 165:case 166:case 167:case 171:case 197:case 198:case 204:case 208:case 209:case 210:case 211:case 225:case 226:case 227:case 243:case 244:case 258:case 260:case 289:case 327:case 345:case 346:case 347:case 363:case 365:case 367:case 392:case 395:return u[$];case 49:case 162:return"undefined";case 50:case 161:return"null";case 59:return["str",...u[$-1]];case 61:case 177:case 181:case 279:return[...u[$-1],u[$]];case 63:case 219:case 223:case 361:case 390:return u[$-2];case 64:return"";case 67:return["regex",u[$-1]];case 68:return["regex-index",u[$-2],u[$]];case 69:return["regex-index",u[$],null];case 70:case 121:return["=",u[$-2],u[$]];case 71:return["=",u[$-3],u[$]];case 72:case 122:return["=",u[$-4],u[$-1]];case 73:return["=",u[$],u[$-2]];case 74:return["state",u[$-2],u[$]];case 75:return["state",u[$-3],u[$]];case 76:return["state",u[$-4],u[$-1]];case 77:case 79:return["computed",u[$-2],u[$]];case 78:return["computed",u[$-3],u[$]];case 80:return["readonly",u[$-2],u[$]];case 81:return["readonly",u[$-3],u[$]];case 82:return["readonly",u[$-4],u[$-1]];case 83:case 85:return["effect",u[$-2],u[$]];case 84:return["effect",u[$-3],u[$]];case 86:case 87:case 88:return["effect",null,u[$]];case 94:case 103:case 141:return[".",u[$-2],u[$]];case 95:case 104:case 142:return["?.",u[$-2],u[$]];case 96:case 98:case 105:case 143:return["[]",u[$-3],u[$-1]];case 97:case 99:case 106:case 144:return["[]",u[$-5],u[$-2]];case 100:return[u[$-1][0],u[$-3],...u[$-1].slice(1)];case 101:return["optindex",u[$-4],u[$-1]];case 102:return["optindex",u[$-6],u[$-2]];case 107:return["object-comprehension",u[$-8],u[$-6],[["for-of",u[$-4],u[$-2],!1]],[]];case 108:return["object-comprehension",u[$-10],u[$-8],[["for-of",u[$-6],u[$-4],!1]],[u[$-2]]];case 109:return["object-comprehension",u[$-9],u[$-7],[["for-of",u[$-4],u[$-2],!0]],[]];case 110:return["object-comprehension",u[$-11],u[$-9],[["for-of",u[$-6],u[$-4],!0]],[u[$-2]]];case 111:return["object",...u[$-2]];case 112:case 147:case 178:case 199:case 218:return[];case 115:case 150:case 202:case 222:case 360:case 389:return[...u[$-3],u[$]];case 116:case 151:case 203:case 224:case 362:case 391:return[...u[$-5],...u[$-2]];case 117:return[null,u[$],u[$]];case 119:case 152:return[":",u[$-2],u[$]];case 120:case 153:return[":",u[$-4],u[$-1]];case 127:return["dynamicKey",u[$-1]];case 128:return["[]","this",u[$-1]];case 130:case 131:case 154:case 212:return["...",u[$]];case 137:case 216:return["super",...u[$]];case 138:case 139:case 140:case 214:case 217:return[u[$-1],...u[$]];case 145:return["map-literal"];case 146:return["map-literal",...u[$-2]];case 168:return["array"];case 169:return["array",...u[$-1]];case 170:return["array",...u[$-2],...u[$-1]];case 172:return[...u[$-2],...u[$]];case 173:return[...u[$-3],...u[$]];case 174:return[...u[$-2],...u[$-1]];case 175:return[...u[$-5],...u[$-4],...u[$-2],...u[$-1]];case 179:return[...u[$]];case 182:return null;case 184:return"..";case 185:case 228:return"...";case 186:return[u[$-2],u[$-3],u[$-1]];case 187:case 416:case 418:case 419:case 434:case 436:return[u[$-1],u[$-2],u[$]];case 188:return[u[$],u[$-1],null];case 189:return[u[$-1],null,u[$]];case 190:return[u[$],null,null];case 191:return["def",u[$-4],u[$-2],u[$]];case 192:return["def",u[$-1],[],u[$]];case 193:case 195:return[u[$-1],u[$-3],u[$]];case 194:case 196:return[u[$-1],[],u[$]];case 205:case 328:return["default",u[$-2],u[$]];case 206:return["rest",u[$]];case 207:return["expansion"];case 213:return["tagged-template",u[$-1],u[$]];case 215:return["optcall",u[$-2],...u[$]];case 231:case 232:return"this";case 233:return[".","this",u[$]];case 234:return[".","super",u[$]];case 235:return["[]","super",u[$-1]];case 236:return["[]","super",u[$-2]];case 237:return[".","new",u[$]];case 238:return[".","import",u[$]];case 239:return["block"];case 240:return["block",...u[$-1]];case 241:return u[$-1].length===1?u[$-1][0]:["block",...u[$-1]];case 242:return u[$-2].length===1?u[$-2][0]:["block",...u[$-2]];case 245:return["return",u[$]];case 246:return["return",u[$-1]];case 247:return["return"];case 248:return["throw",u[$]];case 249:return["throw",u[$-1]];case 250:return["yield"];case 251:return["yield",u[$]];case 252:return["yield",u[$-1]];case 253:return["yield-from",u[$]];case 254:return["if",u[$-1],u[$]];case 255:return u[$-4].length===3?["if",u[$-4][1],u[$-4][2],["if",u[$-1],u[$]]]:[...u[$-4],["if",u[$-1],u[$]]];case 256:return["if",["!",u[$-1]],u[$]];case 257:return["if",["!",u[$-3]],u[$-2],u[$]];case 259:return u[$-2].length===3?["if",u[$-2][1],u[$-2][2],u[$]]:[...u[$-2],u[$]];case 261:case 262:return["if",u[$],[u[$-2]]];case 263:return["?:",u[$-4],u[$-6],u[$-1]];case 264:return["?:",u[$-2],u[$-4],u[$]];case 265:case 266:return["if",["!",u[$]],[u[$-2]]];case 267:return["try",u[$]];case 268:return["try",u[$-1],u[$]];case 269:return["try",u[$-2],u[$]];case 270:return["try",u[$-3],u[$-2],u[$]];case 271:case 272:case 397:case 400:case 402:return[u[$-1],u[$]];case 273:return[null,u[$]];case 274:return["switch",u[$-3],u[$-1],null];case 275:return["switch",u[$-5],u[$-3],u[$-1]];case 276:return["switch",null,u[$-1],null];case 277:return["switch",null,u[$-3],u[$-1]];case 280:return["when",u[$-1],u[$]];case 281:return["when",u[$-2],u[$-1]];case 282:return["while",u[$]];case 283:return["while",u[$-2],u[$]];case 284:return["while",["!",u[$]]];case 285:return["while",["!",u[$-2]],u[$]];case 286:return u[$-1].length===2?[u[$-1][0],u[$-1][1],u[$]]:[u[$-1][0],u[$-1][1],u[$-1][2],u[$]];case 287:case 288:return u[$].length===2?[u[$][0],u[$][1],[u[$-1]]]:[u[$][0],u[$][1],u[$][2],[u[$-1]]];case 290:return["loop",u[$]];case 291:return["loop",[u[$]]];case 292:return["loop-n",u[$-1],u[$]];case 293:return["for-in",u[$-3],u[$-1],null,null,u[$]];case 294:return["for-in",u[$-5],u[$-3],null,u[$-1],u[$]];case 295:return["for-in",u[$-5],u[$-3],u[$-1],null,u[$]];case 296:return["for-in",u[$-7],u[$-5],u[$-1],u[$-3],u[$]];case 297:return["for-in",u[$-7],u[$-5],u[$-3],u[$-1],u[$]];case 298:return["for-of",u[$-3],u[$-1],!1,null,u[$]];case 299:return["for-of",u[$-5],u[$-3],!1,u[$-1],u[$]];case 300:return["for-of",u[$-3],u[$-1],!0,null,u[$]];case 301:return["for-of",u[$-5],u[$-3],!0,u[$-1],u[$]];case 302:return["for-as",u[$-3],u[$-1],!1,null,u[$]];case 303:return["for-as",u[$-5],u[$-3],!1,u[$-1],u[$]];case 304:case 306:return["for-as",u[$-3],u[$-1],!0,null,u[$]];case 305:case 307:return["for-as",u[$-5],u[$-3],!0,u[$-1],u[$]];case 308:return["for-in",[],u[$-1],null,null,u[$]];case 309:return["for-in",[],u[$-3],u[$-1],null,u[$]];case 310:return["comprehension",u[$-4],[["for-in",u[$-2],u[$],null]],[]];case 311:return["comprehension",u[$-6],[["for-in",u[$-4],u[$-2],null]],[u[$]]];case 312:return["comprehension",u[$-6],[["for-in",u[$-4],u[$-2],u[$]]],[]];case 313:return["comprehension",u[$-8],[["for-in",u[$-6],u[$-4],u[$]]],[u[$-2]]];case 314:return["comprehension",u[$-8],[["for-in",u[$-6],u[$-4],u[$-2]]],[u[$]]];case 315:return["comprehension",u[$-4],[["for-of",u[$-2],u[$],!1]],[]];case 316:return["comprehension",u[$-6],[["for-of",u[$-4],u[$-2],!1]],[u[$]]];case 317:return["comprehension",u[$-5],[["for-of",u[$-2],u[$],!0]],[]];case 318:return["comprehension",u[$-7],[["for-of",u[$-4],u[$-2],!0]],[u[$]]];case 319:return["comprehension",u[$-4],[["for-as",u[$-2],u[$],!1,null]],[]];case 320:return["comprehension",u[$-6],[["for-as",u[$-4],u[$-2],!1,null]],[u[$]]];case 321:return["comprehension",u[$-5],[["for-as",u[$-2],u[$],!0,null]],[]];case 322:return["comprehension",u[$-7],[["for-as",u[$-4],u[$-2],!0,null]],[u[$]]];case 323:return["comprehension",u[$-4],[["for-as",u[$-2],u[$],!0,null]],[]];case 324:return["comprehension",u[$-6],[["for-as",u[$-4],u[$-2],!0,null]],[u[$]]];case 325:return["comprehension",u[$-2],[["for-in",[],u[$],null]],[]];case 326:return["comprehension",u[$-4],[["for-in",[],u[$-2],u[$]]],[]];case 330:case 364:case 366:case 393:case 394:case 396:return[u[$-2],u[$]];case 331:return["class",null,null];case 332:return["class",null,null,u[$]];case 333:return["class",null,u[$]];case 334:return["class",null,u[$-1],u[$]];case 335:return["class",u[$],null];case 336:return["class",u[$-1],null,u[$]];case 337:return["class",u[$-2],u[$]];case 338:return["class",u[$-3],u[$-1],u[$]];case 339:return["enum",u[$-1],u[$]];case 340:return["component",null,["block",...u[$-1]]];case 341:return["component",u[$-3],["block",...u[$-1]]];case 348:return["offer",u[$]];case 349:return["accept",u[$]];case 350:return["render",u[$]];case 351:case 354:return["import","{}",u[$]];case 352:case 353:return["import",u[$-2],u[$]];case 355:return["import",u[$-4],u[$]];case 356:return["import",u[$-4],u[$-2],u[$]];case 357:return["import",u[$-7],u[$-4],u[$]];case 368:return["*",u[$]];case 369:return["export","{}"];case 370:return["export",u[$-2]];case 371:case 372:case 373:case 374:case 378:case 379:case 380:case 381:return["export",u[$]];case 375:return["export",["=",u[$-2],u[$]]];case 376:return["export",["=",u[$-3],u[$]]];case 377:return["export",["=",u[$-4],u[$-1]]];case 382:return["export-default",u[$]];case 383:return["export-default",u[$-1]];case 384:return["export-all",u[$]];case 385:return["export-from","{}",u[$]];case 386:return["export-from",u[$-4],u[$]];case 398:case 399:case 401:case 439:return["do-iife",u[$]];case 403:return["-",u[$]];case 404:return["+",u[$]];case 405:return["?",u[$-1]];case 406:return["defined",u[$-1]];case 407:return["presence",u[$-1]];case 408:return["await",u[$]];case 409:return["await",u[$-1]];case 410:return["--",u[$],!1];case 411:return["++",u[$],!1];case 412:return["--",u[$-1],!0];case 413:return["++",u[$-1],!0];case 414:return["+",u[$-2],u[$]];case 415:return["-",u[$-2],u[$]];case 417:return["**",u[$-2],u[$]];case 420:return["&",u[$-2],u[$]];case 421:return["^",u[$-2],u[$]];case 422:return["|",u[$-2],u[$]];case 423:case 424:case 425:case 426:case 427:case 428:return["control",u[$-1],u[$-2],u[$]];case 429:return["&&",u[$-2],u[$]];case 430:return["||",u[$-2],u[$]];case 431:return["??",u[$-2],u[$]];case 432:return["!?",u[$-2],u[$]];case 433:return["|>",u[$-2],u[$]];case 435:return["?:",u[$-4],u[$-2],u[$]];case 437:return[u[$-3],u[$-4],u[$-1]];case 438:return[u[$-2],u[$-3],u[$]]}},parseError(f,w){let A,_,u,$,F,U,W;if(w.recoverable)return this.trace(f);else throw u=(w.line||0)+1,A=w.loc?.c||0,W=w.token?` (token: ${w.token})`:"",U=w.text?` near '${w.text}'`:"",$=`line ${u}, column ${A}`,F=`Parse error at ${$}${W}${U}: ${f}`,_=Error(F),_.hash=w,_},parse(f){let w,A,_,u,$,F,U,W,Z,Y,R,z,M,D,J,O,Q,q,X,G,I,E,K,H,P,N;[G,N,Y]=[[0],[null],[]],[M,P,K,E,O]=[this.parseTable,"",0,0,0],[A,w]=[2,1],W=Object.create(this.lexer),q={ctx:{}};for(let L in this.ctx){if(!Object.hasOwn(this.ctx,L))continue;let B=this.ctx[L];q.ctx[L]=B}if(W.setInput(f,q.ctx),[q.ctx.lexer,q.ctx.parser]=[W,this],W.loc==null)W.loc={};H=W.loc,Y.push(H),this.parseError=typeof q.ctx.parseError==="function"?q.ctx.parseError:Object.getPrototypeOf(this).parseError,U=()=>{let L;if(L=W.lex()||w,typeof L!=="number")L=this.symbolIds[L]||L;return L},I=D=X=_=J=z=F=R=$=null,Q={};while(!0){if(X=G[G.length-1],I==null)I=U();if(_=M[X]?.[I],_==null){if(u="",!O)$=(()=>{let L=[];for(let B in M[X]){if(!Object.hasOwn(M[X],B))continue;if(this.tokenNames[B]&&B>A)L.push(`'${this.tokenNames[B]}'`)}return L})();throw u=(()=>{if(W.showPosition)return`Parse error on line ${K+1}:
|
|
13
13
|
${W.showPosition()}
|
|
14
|
-
Expecting ${$.join(", ")}, got '${this.tokenNames[I]||I}'`;else return`Parse error on line ${D+1}: Unexpected ${I===w?"end of input":`'${this.tokenNames[I]||I}'`}`,this.parseError(u,{text:W.match,token:this.tokenNames[I]||I,line:W.line,loc:H,expected:$})})(),Error(u)}if(_>0)if(M.push(I,_),N.push(W.text),Y.push(W.loc),I=null,!X){if([E,P,D,H]=[W.len,W.text,W.line,W.loc],O>0)O--}else[I,X]=[X,null];else if(_<0){if(F=this.ruleTable[-_*2+1],K.$=N[N.length-F],Z=Y[Y.length-(F||1)],K._$={r:Z.r,c:Z.c},J=this.ruleActions.call(K,-_,N,Y,q.ctx),J!=null)K.$=J;if(Array.isArray(K.$))K.$.loc=K._$;if(F)M.length-=F*2,N.length-=F,Y.length-=F;M.push(this.ruleTable[-_*2]),N.push(K.$),Y.push(K._$),R=Q[M[M.length-2]][M[M.length-1]],M.push(R)}else if(_===0)return N[N.length-1]}},trace(){},ctx:{}},Z7=(f={})=>{let w=Object.create(R7);return Object.defineProperty(w,"ctx",{value:{...f},enumerable:!1,writable:!0,configurable:!0}),w},Q1=Z7();var V7=Q1.parse.bind(Q1);var z7=["abort","animationcancel","animationend","animationiteration","animationstart","auxclick","beforeinput","beforematch","beforetoggle","blur","cancel","canplay","canplaythrough","change","click","close","compositionend","compositionstart","compositionupdate","contextlost","contextmenu","contextrestored","copy","cuechange","cut","dblclick","drag","dragend","dragenter","dragleave","dragover","dragstart","drop","durationchange","emptied","ended","error","focus","focusin","focusout","formdata","fullscreenchange","fullscreenerror","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadeddata","loadedmetadata","loadstart","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","paste","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointermove","pointerout","pointerover","pointerrawupdate","pointerup","progress","ratechange","reset","resize","scroll","scrollend","securitypolicyviolation","seeked","seeking","select","selectionchange","selectstart","slotchange","stalled","submit","suspend","timeupdate","toggle","touchcancel","touchend","touchmove","touchstart","transitioncancel","transitionend","transitionrun","transitionstart","volumechange","waiting","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend","wheel"],N2=new Set(z7);var Q7=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","menu","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","script","search","section","select","slot","small","source","span","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"];var K7=["animate","animateMotion","animateTransform","circle","clipPath","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","foreignObject","g","image","line","linearGradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialGradient","rect","set","stop","svg","switch","symbol","text","textPath","tspan","use","view"],X7=["math","param","portal"],S2=new Set([...Q7,...X7]),K1=new Set(K7),E1=new Set([...S2,...K1]);var T2="__bind_",h2="__",r1=new Set(["beforeMount","mounted","updated","beforeUnmount","unmounted","onError"]),J7=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert"]),o1="http://www.w3.org/2000/svg";function D7(f){for(let w of f){if(!Array.isArray(w))continue;let U=w[1]instanceof String?w[1].valueOf():w[1],_=w[2]instanceof String?w[2].valueOf():w[2];if(U==="type"&&typeof _==="string")return _.replace(/^["']|["']$/g,"")}return null}function X1(f){if(typeof f==="string"||f instanceof String)return f.valueOf();if(Array.isArray(f)&&f[0]==="."&&f[1]==="this"&&(typeof f[2]==="string"||f[2]instanceof String))return f[2].valueOf();return null}function a1(f){return Array.isArray(f)&&f[0]==="."&&f[1]==="this"}function C2(f){if(f instanceof String&&f.type)return f.type;if(Array.isArray(f)&&f[2]instanceof String&&f[2].type)return f[2].type;return null}function V2(f,w){let U=(A,W)=>A instanceof String?A[W]:void 0,_=w.prototype.classifyKeyword;w.prototype.classifyKeyword=function(A,W,Z){if(A==="offer"||A==="accept"){let Y=0;for(let R=this.tokens.length-1;R>=0;R--){let z=this.tokens[R][0];if(z==="OUTDENT")Y++;else if(z==="INDENT")Y--;if(Y<0&&this.tokens[R-1]?.[0]==="COMPONENT")return A.toUpperCase()}return W}return _.call(this,A,W,Z)},w.prototype.rewriteRender=function(){let A=(K,q,G)=>{let M=[K,q];if(M.pre=0,M.data=null,M.loc=G?.loc??{r:0,c:0,n:0},M.spaced=!1,M.newLine=!1,M.generated=!0,G)M.origin=G;return M},W=!1,Z=0,Y=0,R=[],z=(K)=>{let q=K.split("#")[0];return E1.has(q)},Q=(K)=>{if(!K||typeof K!=="string")return!1;return/^[A-Z]/.test(K)},X=(K)=>{return z(K)||Q(K)},J=(K,q,G,M)=>{let I=1,E=q;while(E>=0&&I>0){let D=K[E][0];if(D===G)I++;else if(D===M)I--;if(I>0)E--}return E},O=(K,q)=>{let G=q;while(G>0){let M=K[G-1][0];if(M==="TERMINATOR"||M==="RENDER")break;if(M==="INDENT"||M==="OUTDENT"){let I=K[G][0];if(I==="CALL_END"||I===")"){G=J(K,G-1,I,I==="CALL_END"?"CALL_START":"(");continue}break}if(M==="CALL_END"||M===")"){G=J(K,G-2,M,M==="CALL_END"?"CALL_START":"(");continue}if(M==="INTERPOLATION_END"){G=J(K,G-2,"INTERPOLATION_END","INTERPOLATION_START");continue}if(M==="STRING_END"){G=J(K,G-2,"STRING_END","STRING_START");continue}G--}return K[G]&&K[G][0]==="IDENTIFIER"&&X(K[G][1])};this.scanTokens(function(K,q,G){let M=K[0],I=q<G.length-1?G[q+1]:null;if(M==="RENDER")return W=!0,Z=Y+1,1;if(M==="INDENT")return Y++,1;if(M==="OUTDENT"){Y--;let E=0;while(R.length>0&&R[R.length-1]>Y){let D=A("CALL_END",")",K);G.splice(q+1+E,0,D),R.pop(),E++}if(W&&Y<Z)W=!1;return 1+E}if(!W)return 1;if(M==="="&&q>0){let E=G[q-1][0];if(E==="TERMINATOR"||E==="INDENT"||E==="RENDER"){let D=A("IDENTIFIER","__text__",K),H=A("CALL_START","(",K);return G.splice(q,1,D,H),this.detectEnd(q+2,(P)=>P[0]==="TERMINATOR"||P[0]==="OUTDENT",(P,N)=>G.splice(N,0,A("CALL_END",")",P)),{returnOnNegativeLevel:!0}),2}}if(M==="UNARY_MATH"&&K[1]==="~"&&I&&I[0]==="IDENTIFIER"){K[0]="PROPERTY",K[1]="__transition__";let E=A(":",":",K),D=A("STRING",`"${I[1]}"`,I);return G.splice(q+1,1,E,D),1}if(M==="PROPERTY"&&K[1][0]==="$"&&K[1].length>1)return K[0]="STRING",K[1]=`"data-${K[1].slice(1)}"`,1;if(M==="IDENTIFIER"&&!K.spaced){let E=[K[1]],D=q+1;while(D+1<G.length){let H=G[D],P=G[D+1];if(H[0]==="-"&&!H.spaced&&(P[0]==="IDENTIFIER"||P[0]==="PROPERTY")){if(E.push(P[1]),D+=2,P[0]==="PROPERTY")break}else break}if(E.length>1&&D>q+1&&G[D-1][0]==="PROPERTY"){let H=E.join("-");if(H[0]==="$")H="data-"+H.slice(1);return K[0]="STRING",K[1]=`"${H}"`,G.splice(q+1,D-q-1),1}}if(M==="."){let E=q>0?G[q-1]:null,D=E?E[0]:null;if(D==="INDENT"||D==="TERMINATOR"){if(I&&I[0]==="PROPERTY"){let H=q+2<G.length?G[q+2]:null;if(!H||H[0]!==":"){let P=A("IDENTIFIER","div",K);return G.splice(q,0,P),2}}if(!I||I[0]!=="(")return K[0]="IDENTIFIER",K[1]="div",0}}if(M==="IDENTIFIER"||M==="PROPERTY"){let E=G[q+1],D=G[q+2];if(E&&E[0]==="#"&&D&&(D[0]==="PROPERTY"||D[0]==="IDENTIFIER")){if(K[1]=K[1]+"#"+D[1],D.spaced)K.spaced=!0;return G.splice(q+1,2),0}}if(M==="BIND"){let E=q>0?G[q-1]:null,D=G[q+1];if(E&&(E[0]==="IDENTIFIER"||E[0]==="PROPERTY")&&D&&D[0]==="IDENTIFIER")return E[1]=`__bind_${E[1]}__`,K[0]=":",K[1]=":",1}if(M==="@"){let E=q+1;if(E<G.length&&G[E][0]==="PROPERTY"){E++;while(E+1<G.length&&G[E][0]==="."&&G[E+1][0]==="PROPERTY")E+=2;if(E>q+2&&E<G.length&&G[E][0]===":"){let D=A("[","[",K);G.splice(q,0,D);let H=A("]","]",G[E+1]);return G.splice(E+1,0,H),2}}}if(M==="."&&I&&I[0]==="("){let E=q>0?G[q-1]:null,D=E?E[0]:null,H=D==="INDENT"||D==="TERMINATOR",P=A("PROPERTY","__clsx",K);I[0]="CALL_START";let N=1;for(let L=q+2;L<G.length&&N>0;L++)if(G[L][0]==="("||G[L][0]==="CALL_START")N++;else if(G[L][0]===")"){if(N--,N===0)G[L][0]="CALL_END"}else if(G[L][0]==="CALL_END")N--;if(H){let L=A("IDENTIFIER","div",K);return G.splice(q,0,L),G.splice(q+2,0,P),3}else if(D===":")return G[q]=A("IDENTIFIER","__clsx",K),1;else return G.splice(q+1,0,P),2}if(I&&I[0]==="INDENT"){if(I.fromThen)return 1;if(M==="->"||M==="=>"||M==="CALL_START"||M==="(")return 1;let E=!1,D=q>0?G[q-1][0]:null,H=D==="IF"||D==="UNLESS"||D==="WHILE"||D==="UNTIL"||D==="WHEN"||D==="FORIN"||D==="FOROF"||D==="FORAS"||D==="FORASAWAIT"||D==="BY",P=!1;if(M==="CALL_END"){let L=1;for(let B=q-1;B>=0&&L>0;B--)if(G[B][0]==="CALL_END")L++;else if(G[B][0]==="CALL_START"){if(L--,L===0&&B>0&&G[B-1][0]==="PROPERTY"&&G[B-1][1]==="__clsx")P=!0}}let N=M==="IDENTIFIER"&&(D==="INDENT"||D==="TERMINATOR"||D==="RENDER");if(P)E=!0;else if(M==="IDENTIFIER"&&X(K[1])&&!H)E=!0;else if(M==="IDENTIFIER"&&!H)E=N||O(G,q);else if(M==="PROPERTY"||M==="STRING"||M==="STRING_END"||M==="NUMBER"||M==="BOOL"||M==="CALL_END"||M===")"||M==="PRESENCE")E=O(G,q);if(E){let L=!1;if(M==="PROPERTY"&&q>0&&G[q-1][0]==="."){let h=q;while(h>=2&&G[h-1][0]==="."&&G[h-2][0]==="PROPERTY")h-=2;if(h>=2&&G[h-1][0]==="."&&G[h-2][0]==="IDENTIFIER"&&X(G[h-2][1])){let j=h>=3?G[h-3][0]:null;if(!j||j==="INDENT"||j==="OUTDENT"||j==="TERMINATOR"||j==="RENDER")L=!0}}if(P||M==="IDENTIFIER"&&(X(K[1])||N)||L){let h=A("CALL_START","(",K),j=A("->","->",K);return j.newLine=!0,G.splice(q+1,0,h,j),R.push(Y+1),3}else{let h=A(",",",",K),j=A("->","->",K);return j.newLine=!0,G.splice(q+1,0,h,j),3}}}if(M==="IDENTIFIER"&&Q(K[1])&&I&&(I[0]==="OUTDENT"||I[0]==="TERMINATOR"))return G.splice(q+1,0,A("CALL_START","(",K),A("CALL_END",")",K)),3;return 1})};let u=f.prototype;u.isHtmlTag=function(A){let W=A.split("#")[0];return E1.has(W.toLowerCase())},u.isComponent=function(A){if(!A||typeof A!=="string")return!1;return/^[A-Z]/.test(A)},u.collectTemplateClasses=function(A){let W=[],Z=A;while(this.is(Z,".")){let Q=Z[2];if(typeof Q==="string"||Q instanceof String)W.unshift(Q.valueOf());Z=Z[1]}let Y=typeof Z==="string"?Z:Z instanceof String?Z.valueOf():null;if(Y===null)return{tag:null,classes:W,id:void 0,base:Z};let[R,z]=Y.split("#");if(!R)R="div";return{tag:R,classes:W,id:z,base:Z}};let $=(A)=>typeof A==="string"?A:A instanceof String?A.valueOf():null,F=(A,W)=>{if(!(A instanceof String))return W;let Z=new String(W);if(A.predicate)Z.predicate=!0;if(A.await)Z.await=!0;return Z.predicate||Z.await?Z:W};u.transformComponentMembers=function(A,W=new Set){let Z=this._self;if(!Array.isArray(A)){let Y=$(A);if(Y&&W.has(Y))return A;if(Y&&this.reactiveMembers&&this.reactiveMembers.has(Y))return[".",[".",Z,Y],F(A,"value")];if(Y&&this.componentMembers&&this.componentMembers.has(Y))return[".",Z,F(A,Y)];return A}if(A[0]==="."&&A[1]==="this"&&$(A[2])!=null){let Y=A[2],R=$(Y);if(this.reactiveMembers&&this.reactiveMembers.has(R))return[".",[".",Z,R],F(Y,"value")];return this._factoryMode?[".",Z,Y]:A}if(A[0]==="."||A[0]==="?.")return[A[0],this.transformComponentMembers(A[1]),A[2]];if(A[0]==="->"){let Y=A[1],R=new Set(W);if(Array.isArray(Y))for(let z of Y){let Q=$(Array.isArray(z)&&z[0]==="default"?z[1]:z);if(Q)R.add(Q)}return["=>",A[1],this.transformComponentMembers(A[2],R)]}if(A[0]==="object")return["object",...A.slice(1).map((Y)=>{if(Array.isArray(Y)&&Y.length>=2){let R=Y[1],z=Array.isArray(R)?this.transformComponentMembers(R,W):R,Q=this.transformComponentMembers(Y[2],W);return[Y[0],z,Q]}return this.transformComponentMembers(Y,W)})];if(A[0]==="block"||A[0]==="program"){let Y=new Set(W),R=[A[0]];for(let z=1;z<A.length;z++){let Q=A[z];if(Array.isArray(Q)&&Q[0]==="="){let X=$(Q[1]);if(X&&!(this.reactiveMembers&&this.reactiveMembers.has(X))){R.push(["=",Q[1],this.transformComponentMembers(Q[2],Y)]),Y.add(X);continue}}R.push(this.transformComponentMembers(Q,Y))}return R}return A.map((Y)=>this.transformComponentMembers(Y,W))},u.generateComponent=function(A,W,Z,Y){let[,R]=W,z=this.is(R,"block")?R.slice(1):[],Q=[],X=[],J=[],O=[],K=[],q=[],G=[],M=[],I=null,E=new Set,D=new Set;for(let T of z){if(!Array.isArray(T))continue;let[C]=T;if(C==="offer"){if(T=T[1],!Array.isArray(T))continue;C=T[0];let V=X1(T[1]);if(V)G.push(V)}if(C==="accept"){let V=typeof T[1]==="string"?T[1]:X1(T[1]);if(V)M.push(V),E.add(V),D.add(V)}else if(C==="."&&T[1]==="this"&&X1(T)){let V=typeof T[2]==="string"||T[2]instanceof String?T[2].valueOf():null;if(V)Q.push({name:V,value:void 0,isPublic:!0,type:T[2]?.type||null,required:!0}),E.add(V),D.add(V)}else if(C==="state"){let V=X1(T[1]);if(V)Q.push({name:V,value:T[2],isPublic:a1(T[1]),type:C2(T[1])}),E.add(V),D.add(V)}else if(C==="computed"){let V=X1(T[1]);if(V)X.push({name:V,expr:T[2]}),E.add(V),D.add(V)}else if(C==="readonly"){let V=X1(T[1]);if(V)J.push({name:V,value:T[2],isPublic:a1(T[1]),type:C2(T[1])}),E.add(V)}else if(C==="="){let V=X1(T[1]);if(V)if(r1.has(V))K.push({name:V,value:T[2]});else{let l=T[2];if(Array.isArray(l)&&(l[0]==="->"||l[0]==="=>"))O.push({name:V,func:l}),E.add(V);else Q.push({name:V,value:l,isPublic:a1(T[1])}),E.add(V),D.add(V)}}else if(C==="effect")q.push(T);else if(C==="render")I=T;else if(C==="object")for(let V=1;V<T.length;V++){let l=T[V];if(!Array.isArray(l))continue;let[,d,c]=l;if(typeof d==="string"&&r1.has(d))K.push({name:d,value:c});else if(typeof d==="string")O.push({name:d,func:c}),E.add(d)}}let H=new Map;for(let{name:T}of O)if(/^on[A-Z]/.test(T)&&!r1.has(T)){let C=T[2].toLowerCase()+T.slice(3);if(N2.has(C))H.set(C,T)}let P=W[0]?.valueOf?.()??null,N=new Set;for(let{name:T,isPublic:C}of Q)if(C)N.add(T);for(let{name:T,isPublic:C}of J)if(C)N.add(T);let L=this.componentMembers,B=this.reactiveMembers,h=this._autoEventHandlers,j=this._inheritsTag;if(this.componentMembers=E,this.reactiveMembers=D,this._autoEventHandlers=H.size>0?H:null,this._inheritsTag=P||null,this.options.stubComponents){let T=(c)=>c?c.replace(/::/g,":").replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined").replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined").replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"):null,C=[];C.push("class {"),C.push(" declare _root: Element | null;"),C.push(" emit(name: string, detail?: any): void {}");let V=[];for(let{name:c,type:y,isPublic:b,required:g}of Q){if(!b)continue;let n=T(y),i=g?"":"?";V.push(`${c}${i}: ${n||"any"}`),V.push(`__bind_${c}__?: Signal<${n||"any"}>`)}for(let{name:c,type:y,isPublic:b}of J){if(!b)continue;let g=T(y);V.push(`${c}?: ${g||"any"}`)}{let y=V.length>0&&Q.some((g)=>g.isPublic&&g.required)?"":"?",b=V.length>0?`{${V.join("; ")}}`:"{}";if(P)b+=` & __RipProps<'${P}'>`;C.push(` constructor(props${y}: ${b}) {}`)}let l=(c)=>{let y=c?.valueOf?.()??c;if(typeof y!=="string")return null;if(y==="true"||y==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(y))return"number";if(y.startsWith('"')||y.startsWith("'"))return"string";return null};for(let{name:c,type:y,value:b}of Q){let g=T(y)||l(b);C.push(g?` declare ${c}: Signal<${g}>;`:` declare ${c}: Signal<any>;`)}for(let{name:c,type:y,value:b}of J){let g=T(y)||l(b);C.push(g?` declare ${c}: ${g};`:` declare ${c}: any;`)}for(let{name:c,expr:y}of X)if(this.is(y,"block")){let b=this.transformComponentMembers(y),g=this.generateFunctionBody(b);C.push(` ${c} = __computed(() => ${g});`)}else{let b=this.generateInComponent(y,"value");C.push(` ${c} = __computed(() => ${b});`)}C.push(" _init(props) {");for(let{name:c,value:y,isPublic:b}of J){let g=this.generateInComponent(y,"value");C.push(b?` this.${c} = props.${c} ?? ${g};`:` this.${c} = ${g};`)}for(let{name:c,value:y,isPublic:b,required:g,type:n}of Q)if(b&&g)C.push(` this.${c} = __state(props.__bind_${c}__ ?? props.${c});`);else if(b){let i=this.generateInComponent(y,"value");C.push(` this.${c} = __state(props.__bind_${c}__ ?? props.${c} ?? ${i});`)}else{let i=this.generateInComponent(y,"value");C.push(` this.${c} = __state(${i});`)}for(let c of q){let y=c[2],b=this.containsAwait(y)?"async ":"";if(this.is(y,"block")){let g=this.transformComponentMembers(y),n=this.generateFunctionBody(g,[],!0);C.push(` __effect(${b}() => ${n});`)}else{let g=this.generateInComponent(y,"value");C.push(` __effect(${b}() => { ${g}; });`)}}C.push(" }");let d=new Map;for(let[c,y]of H)d.set(y,c);if(I){let c=(y)=>{if(!Array.isArray(y))return;let b=y[0]?.valueOf?.()??y[0];if(typeof b==="string"&&b!=="object"&&b!=="switch"&&E1.has(b.split(/[.#]/)[0]))for(let g=1;g<y.length;g++){let n=y[g],i=this.is(n,"object")?n:null;if(!i&&Array.isArray(n)&&(n[0]==="->"||n[0]==="=>")&&this.is(n[2],"block")){for(let r=1;r<n[2].length;r++)if(this.is(n[2][r],"object")){i=n[2][r];break}}if(!i)continue;for(let r=1;r<i.length;r++){let v=i[r];if(!Array.isArray(v)||v.length<2)continue;let[,x,k]=v;if(Array.isArray(x)&&x[0]==="."&&x[1]==="this"&&Array.isArray(k)&&k[0]==="."&&k[1]==="this"){let s=typeof x[2]==="string"?x[2]:x[2]?.valueOf?.(),o=typeof k[2]==="string"?k[2]:k[2]?.valueOf?.();if(s&&o&&!d.has(o))d.set(o,s)}}}for(let g=1;g<y.length;g++)c(y[g])};c(I)}for(let{name:c,func:y}of O)if(Array.isArray(y)&&(y[0]==="->"||y[0]==="=>")){let[,b,g]=y;if((!b||Array.isArray(b)&&b.length===0)&&this.containsIt(g))b=["it"];let n=Array.isArray(b)?b.map((k)=>this.formatParam(k)).join(", "):"",i=d.get(c);if(i&&Array.isArray(b)&&b.length>0){let k=b[0];if(!(k?.type||k instanceof String&&k.type)&&typeof(k?.valueOf?.()??k)==="string"){let o=k?.valueOf?.()??k;n=n.replace(o,`${o}: HTMLElementEventMap['${i}']`)}}let r=this.reactiveMembers?this.transformComponentMembers(g):g,v=this.containsAwait(g),x=this.generateFunctionBody(r,b||[]);C.push(` ${v?"async ":""}${c}(${n}) ${x}`)}for(let{name:c,value:y}of K)if(Array.isArray(y)&&(y[0]==="->"||y[0]==="=>")){let[,b,g]=y,n=Array.isArray(b)?b.map((x)=>this.formatParam(x)).join(", "):"",i=this.reactiveMembers?this.transformComponentMembers(g):g,r=this.containsAwait(g),v=this.generateFunctionBody(i,b||[]);C.push(` ${r?"async ":""}${c}(${n}) ${v}`)}if(I){let c=[],y=0,b=(i)=>{let r=[];for(let v of i){let x=null;if(this.is(v,"object"))x=v;else if(Array.isArray(v)&&(v[0]==="->"||v[0]==="=>")&&this.is(v[2],"block")){for(let k=1;k<v[2].length;k++)if(this.is(v[2][k],"object")){x=v[2][k];break}}if(x)for(let k=1;k<x.length;k++){let s=x[k],[,o,a]=s;if(typeof o==="string"&&!o.startsWith("@")){let _1=s.loc?.r??x.loc?.r;if(o.startsWith("__bind_")&&o.endsWith("__")){let w1=typeof a==="string"&&this.reactiveMembers?.has(a)?`this.${a}`:this.generateInComponent(a,"value");r.push({code:`${o}: ${w1}`,srcLine:_1})}else{let w1=this.generateInComponent(a,"value");r.push({code:`${o}: ${w1}`,srcLine:_1})}}}}return r},g=(i)=>{let r=[];for(let v of i){let x=null;if(this.is(v,"object"))x=v;else if(Array.isArray(v)&&(v[0]==="->"||v[0]==="=>")&&this.is(v[2],"block")){for(let k=1;k<v[2].length;k++)if(this.is(v[2][k],"object")){x=v[2][k];break}}if(x)for(let k=1;k<x.length;k++){let s=x[k];if(!Array.isArray(s)||s.length<2)continue;let[,o,a]=s,_1=s.loc?.r??x.loc?.r;if(Array.isArray(o)&&o[0]==="."&&o[1]==="this"){let w1=typeof o[2]==="string"?o[2]:o[2]?.valueOf?.();if(!w1)continue;let x1="@"+w1.split(".")[0],M3=this.generateInComponent(a,"value");r.push({code:`'${x1}': ${M3}`,srcLine:_1})}else if(typeof o==="string"){if(o==="key")continue;if(o.startsWith("__bind_")&&o.endsWith("__")){let w1=o.slice(7,-2),x1=this.generateInComponent(a,"value");r.push({code:`${w1}: ${x1}`,srcLine:_1})}else{let w1=this.generateInComponent(a,"value");r.push({code:`${o}: ${w1}`,srcLine:_1})}}}}return r},n=(i)=>{if(!Array.isArray(i))return;let r=i[0]?.valueOf?.()??i[0];if(typeof r==="string"&&/^[A-Z]/.test(r)){let v=b(i.slice(1)),x=`_${y++}`,k=`ConstructorParameters<typeof ${r}>[0] & {}`;if(v.length===0){let s=i.loc?.r;c.push(` const ${x}: ${k} = {};`+(s!=null?` // @rip-src:${s}`:""))}else if(v.length===1){let s=i.loc?.r??v[0].srcLine;c.push(` const ${x}: ${k} = {${v[0].code}};`+(s!=null?` // @rip-src:${s}`:""))}else{let s=i.loc?.r;if(new Set(v.map((a)=>a.srcLine).filter((a)=>a!=null)).size<=1){let a=v[0].srcLine??s;c.push(` const ${x}: ${k} = {${v.map((_1)=>_1.code).join(", ")}};`+(a!=null?` // @rip-src:${a}`:""))}else{c.push(` const ${x}: ${k} = {`+(s!=null?` // @rip-src:${s}`:""));for(let a of v)c.push(` ${a.code},`+(a.srcLine!=null?` // @rip-src:${a.srcLine}`:""));c.push(" };")}}}else if(typeof r==="string"&&r!=="object"&&r!=="switch"&&(E1.has(r.split(/[.#]/)[0])||/^[a-z]/.test(r)&&i.length>1&&Array.isArray(i[1])&&(i[1][0]==="->"||i[1][0]==="=>"))){let v=r.split(/[.#]/)[0],x=g(i.slice(1)),k=i.loc?.r,s=k!=null?` // @rip-src:${k}`:"";if(x.length===0)c.push(` __ripEl('${v}');${s}`);else if(x.length===1){let o=x[0].srcLine??k,a=o!=null?` // @rip-src:${o}`:"";c.push(` __ripEl('${v}', {${x[0].code}});${a}`)}else if(new Set(x.map((a)=>a.srcLine).filter((a)=>a!=null)).size<=1){let a=x[0].srcLine??k,_1=a!=null?` // @rip-src:${a}`:"";c.push(` __ripEl('${v}', {${x.map((w1)=>w1.code).join(", ")}});${_1}`)}else{c.push(` __ripEl('${v}', {${s}`);for(let a of x)c.push(` ${a.code},`+(a.srcLine!=null?` // @rip-src:${a.srcLine}`:""));c.push(" });")}}for(let v=1;v<i.length;v++)n(i[v])};if(n(I),c.length>0){C.push(" _render() {");for(let i of c)C.push(i);C.push(" }")}}return C.push("}"),this.componentMembers=L,this.reactiveMembers=B,this._autoEventHandlers=h,this._inheritsTag=j,C.join(`
|
|
15
|
-
`)}this.usesTemplates=!0,this.usesReactivity=!0;let
|
|
14
|
+
Expecting ${$.join(", ")}, got '${this.tokenNames[I]||I}'`;else return`Parse error on line ${K+1}: Unexpected ${I===w?"end of input":`'${this.tokenNames[I]||I}'`}`,this.parseError(u,{text:W.match,token:this.tokenNames[I]||I,line:W.line,loc:H,expected:$})})(),Error(u)}if(_>0)if(G.push(I,_),N.push(W.text),Y.push(W.loc),I=null,!D){if([E,P,K,H]=[W.len,W.text,W.line,W.loc],O>0)O--}else[I,D]=[D,null];else if(_<0){if(F=this.ruleTable[-_*2+1],Q.$=N[N.length-F],Z=Y[Y.length-(F||1)],Q._$={r:Z.r,c:Z.c},J=this.ruleActions.call(Q,-_,N,Y,q.ctx),J!=null)Q.$=J;if(Array.isArray(Q.$))Q.$.loc=Q._$;if(F)G.length-=F*2,N.length-=F,Y.length-=F;G.push(this.ruleTable[-_*2]),N.push(Q.$),Y.push(Q._$),R=M[G[G.length-2]][G[G.length-1]],G.push(R)}else if(_===0)return N[N.length-1]}},trace(){},ctx:{}},Z4=(f={})=>{let w=Object.create(R4);return Object.defineProperty(w,"ctx",{value:{...f},enumerable:!1,writable:!0,configurable:!0}),w},M1=Z4();var c4=M1.parse.bind(M1);var z4=["abort","animationcancel","animationend","animationiteration","animationstart","auxclick","beforeinput","beforematch","beforetoggle","blur","cancel","canplay","canplaythrough","change","click","close","compositionend","compositionstart","compositionupdate","contextlost","contextmenu","contextrestored","copy","cuechange","cut","dblclick","drag","dragend","dragenter","dragleave","dragover","dragstart","drop","durationchange","emptied","ended","error","focus","focusin","focusout","formdata","fullscreenchange","fullscreenerror","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadeddata","loadedmetadata","loadstart","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","paste","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointermove","pointerout","pointerover","pointerrawupdate","pointerup","progress","ratechange","reset","resize","scroll","scrollend","securitypolicyviolation","seeked","seeking","select","selectionchange","selectstart","slotchange","stalled","submit","suspend","timeupdate","toggle","touchcancel","touchend","touchmove","touchstart","transitioncancel","transitionend","transitionrun","transitionstart","volumechange","waiting","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend","wheel"],N2=new Set(z4);var M4=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","menu","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","script","search","section","select","slot","small","source","span","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"];var Q4=["animate","animateMotion","animateTransform","circle","clipPath","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","foreignObject","g","image","line","linearGradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialGradient","rect","set","stop","svg","switch","symbol","text","textPath","tspan","use","view"],D4=["math","param","portal"],T2=new Set([...M4,...D4]),Q1=new Set(Q4),E1=new Set([...T2,...Q1]);var S2="__bind_",h2="__",o1=new Set(["beforeMount","mounted","updated","beforeUnmount","unmounted","onError"]),J4=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert"]),a1="http://www.w3.org/2000/svg";function K4(f){for(let w of f){if(!Array.isArray(w))continue;let A=w[1]instanceof String?w[1].valueOf():w[1],_=w[2]instanceof String?w[2].valueOf():w[2];if(A==="type"&&typeof _==="string")return _.replace(/^["']|["']$/g,"")}return null}function D1(f){if(typeof f==="string"||f instanceof String)return f.valueOf();if(Array.isArray(f)&&f[0]==="."&&f[1]==="this"&&(typeof f[2]==="string"||f[2]instanceof String))return f[2].valueOf();return null}function s1(f){return Array.isArray(f)&&f[0]==="."&&f[1]==="this"}function C2(f){if(f instanceof String&&f.type)return f.type;if(Array.isArray(f)&&f[2]instanceof String&&f[2].type)return f[2].type;return null}function V2(f,w){let A=(U,W)=>U instanceof String?U[W]:void 0,_=w.prototype.classifyKeyword;w.prototype.classifyKeyword=function(U,W,Z){if(U==="offer"||U==="accept"){let Y=0;for(let R=this.tokens.length-1;R>=0;R--){let z=this.tokens[R][0];if(z==="OUTDENT")Y++;else if(z==="INDENT")Y--;if(Y<0&&this.tokens[R-1]?.[0]==="COMPONENT")return U.toUpperCase()}return W}return _.call(this,U,W,Z)},w.prototype.rewriteRender=function(){let U=(Q,q,X)=>{let G=[Q,q];if(G.pre=0,G.data=null,G.loc=X?.loc??{r:0,c:0,n:0},G.spaced=!1,G.newLine=!1,G.generated=!0,X)G.origin=X;return G},W=!1,Z=0,Y=0,R=[],z=(Q)=>{let q=Q.split("#")[0];return E1.has(q)},M=(Q)=>{if(!Q||typeof Q!=="string")return!1;return/^[A-Z]/.test(Q)},D=(Q)=>{return z(Q)||M(Q)},J=(Q,q,X,G)=>{let I=1,E=q;while(E>=0&&I>0){let K=Q[E][0];if(K===X)I++;else if(K===G)I--;if(I>0)E--}return E},O=(Q,q)=>{let X=q;while(X>0){let G=Q[X-1][0];if(G==="TERMINATOR"||G==="RENDER")break;if(G==="INDENT"||G==="OUTDENT"){let I=Q[X][0];if(I==="CALL_END"||I===")"){X=J(Q,X-1,I,I==="CALL_END"?"CALL_START":"(");continue}break}if(G==="CALL_END"||G===")"){X=J(Q,X-2,G,G==="CALL_END"?"CALL_START":"(");continue}if(G==="INTERPOLATION_END"){X=J(Q,X-2,"INTERPOLATION_END","INTERPOLATION_START");continue}if(G==="STRING_END"){X=J(Q,X-2,"STRING_END","STRING_START");continue}X--}return Q[X]&&Q[X][0]==="IDENTIFIER"&&(D(Q[X][1])||(X===0||Q[X-1][0]==="INDENT"||Q[X-1][0]==="TERMINATOR"||Q[X-1][0]==="RENDER"))};this.scanTokens(function(Q,q,X){let G=Q[0],I=q<X.length-1?X[q+1]:null;if(G==="RENDER")return W=!0,Z=Y+1,1;if(G==="INDENT")return Y++,1;if(G==="OUTDENT"){Y--;let E=0;while(R.length>0&&R[R.length-1]>Y){let K=U("CALL_END",")",Q);X.splice(q+1+E,0,K),R.pop(),E++}if(W&&Y<Z)W=!1;return 1+E}if(!W)return 1;if(G==="="&&q>0){let E=X[q-1][0];if(E==="TERMINATOR"||E==="INDENT"||E==="RENDER"){let K=U("IDENTIFIER","__text__",Q),H=U("CALL_START","(",Q);return X.splice(q,1,K,H),this.detectEnd(q+2,(P)=>P[0]==="TERMINATOR"||P[0]==="OUTDENT",(P,N)=>X.splice(N,0,U("CALL_END",")",P)),{returnOnNegativeLevel:!0}),2}}if(G==="UNARY_MATH"&&Q[1]==="~"&&I&&I[0]==="IDENTIFIER"){Q[0]="PROPERTY",Q[1]="__transition__";let E=U(":",":",Q),K=U("STRING",`"${I[1]}"`,I);return X.splice(q+1,1,E,K),1}if(G==="PROPERTY"&&Q[1][0]==="$"&&Q[1].length>1)return Q[0]="STRING",Q[1]=`"data-${Q[1].slice(1)}"`,1;if(G==="IDENTIFIER"&&!Q.spaced){let E=[Q[1]],K=q+1;while(K+1<X.length){let H=X[K],P=X[K+1];if(H[0]==="-"&&!H.spaced&&(P[0]==="IDENTIFIER"||P[0]==="PROPERTY")){if(E.push(P[1]),K+=2,P[0]==="PROPERTY")break}else break}if(E.length>1&&K>q+1&&X[K-1][0]==="PROPERTY"){let H=E.join("-");if(H[0]==="$")H="data-"+H.slice(1);return Q[0]="STRING",Q[1]=`"${H}"`,X.splice(q+1,K-q-1),1}}if(G==="."){let E=q>0?X[q-1]:null,K=E?E[0]:null;if(K==="INDENT"||K==="TERMINATOR"){if(I&&I[0]==="PROPERTY"){let H=q+2<X.length?X[q+2]:null;if(!H||H[0]!==":"){let P=U("IDENTIFIER","div",Q);return X.splice(q,0,P),2}}if(!I||I[0]!=="(")return Q[0]="IDENTIFIER",Q[1]="div",0}}if(G==="IDENTIFIER"||G==="PROPERTY"){let E=X[q+1],K=X[q+2];if(E&&E[0]==="#"&&K&&(K[0]==="PROPERTY"||K[0]==="IDENTIFIER")){if(Q[1]=Q[1]+"#"+K[1],K.spaced)Q.spaced=!0;return X.splice(q+1,2),0}}if(G==="BIND"){let E=q>0?X[q-1]:null,K=X[q+1];if(E&&(E[0]==="IDENTIFIER"||E[0]==="PROPERTY")&&K&&K[0]==="IDENTIFIER")return E[1]=`__bind_${E[1]}__`,Q[0]=":",Q[1]=":",1}if(G==="@"){let E=q+1;if(E<X.length&&X[E][0]==="PROPERTY"){E++;while(E+1<X.length&&X[E][0]==="."&&X[E+1][0]==="PROPERTY")E+=2;if(E>q+2&&E<X.length&&X[E][0]===":"){let K=U("[","[",Q);X.splice(q,0,K);let H=U("]","]",X[E+1]);return X.splice(E+1,0,H),2}}}if(G==="."&&I&&I[0]==="("){let E=q>0?X[q-1]:null,K=E?E[0]:null,H=K==="INDENT"||K==="TERMINATOR",P=U("PROPERTY","__clsx",Q);I[0]="CALL_START";let N=1;for(let L=q+2;L<X.length&&N>0;L++)if(X[L][0]==="("||X[L][0]==="CALL_START")N++;else if(X[L][0]===")"){if(N--,N===0)X[L][0]="CALL_END"}else if(X[L][0]==="CALL_END")N--;if(H){let L=U("IDENTIFIER","div",Q);return X.splice(q,0,L),X.splice(q+2,0,P),3}else if(K===":")return X[q]=U("IDENTIFIER","__clsx",Q),1;else return X.splice(q+1,0,P),2}if(I&&I[0]==="INDENT"){if(I.fromThen)return 1;if(G==="->"||G==="=>"||G==="CALL_START"||G==="(")return 1;let E=!1,K=q>0?X[q-1][0]:null,H=K==="IF"||K==="UNLESS"||K==="WHILE"||K==="UNTIL"||K==="WHEN"||K==="FORIN"||K==="FOROF"||K==="FORAS"||K==="FORASAWAIT"||K==="BY",P=!1;if(G==="CALL_END"){let L=1;for(let B=q-1;B>=0&&L>0;B--)if(X[B][0]==="CALL_END")L++;else if(X[B][0]==="CALL_START"){if(L--,L===0&&B>0&&X[B-1][0]==="PROPERTY"&&X[B-1][1]==="__clsx")P=!0}}let N=G==="IDENTIFIER"&&(K==="INDENT"||K==="TERMINATOR"||K==="RENDER");if(P)E=!0;else if(G==="IDENTIFIER"&&D(Q[1])&&!H)E=!0;else if(G==="IDENTIFIER"&&!H)E=N||O(X,q);else if(G==="PROPERTY"||G==="STRING"||G==="STRING_END"||G==="NUMBER"||G==="BOOL"||G==="CALL_END"||G===")"||G==="PRESENCE")E=O(X,q);if(E){let L=!1;if(G==="PROPERTY"&&q>0&&X[q-1][0]==="."){let h=q;while(h>=2&&X[h-1][0]==="."&&X[h-2][0]==="PROPERTY")h-=2;if(h>=2&&X[h-1][0]==="."&&X[h-2][0]==="IDENTIFIER"&&D(X[h-2][1])){let j=h>=3?X[h-3][0]:null;if(!j||j==="INDENT"||j==="OUTDENT"||j==="TERMINATOR"||j==="RENDER")L=!0}}if(P||G==="IDENTIFIER"&&(D(Q[1])||N)||L){let h=U("CALL_START","(",Q),j=U("->","->",Q);return j.newLine=!0,X.splice(q+1,0,h,j),R.push(Y+1),3}else{let h=U(",",",",Q),j=U("->","->",Q);return j.newLine=!0,X.splice(q+1,0,h,j),3}}}if(G==="IDENTIFIER"&&M(Q[1])&&I&&(I[0]==="OUTDENT"||I[0]==="TERMINATOR"))return X.splice(q+1,0,U("CALL_START","(",Q),U("CALL_END",")",Q)),3;return 1})};let u=f.prototype;u.isHtmlTag=function(U){let W=U.split("#")[0];return E1.has(W.toLowerCase())},u.isComponent=function(U){if(!U||typeof U!=="string")return!1;return/^[A-Z]/.test(U)},u.collectTemplateClasses=function(U){let W=[],Z=U;while(this.is(Z,".")){let M=Z[2];if(typeof M==="string"||M instanceof String)W.unshift(M.valueOf());Z=Z[1]}let Y=typeof Z==="string"?Z:Z instanceof String?Z.valueOf():null;if(Y===null)return{tag:null,classes:W,id:void 0,base:Z};let[R,z]=Y.split("#");if(!R)R="div";return{tag:R,classes:W,id:z,base:Z}};let $=(U)=>typeof U==="string"?U:U instanceof String?U.valueOf():null,F=(U,W)=>{if(!(U instanceof String))return W;let Z=new String(W);if(U.predicate)Z.predicate=!0;if(U.await)Z.await=!0;return Z.predicate||Z.await?Z:W};u.transformComponentMembers=function(U,W=new Set){let Z=this._self;if(!Array.isArray(U)){let Y=$(U);if(Y&&W.has(Y))return U;if(Y&&this.reactiveMembers&&this.reactiveMembers.has(Y))return[".",[".",Z,Y],F(U,"value")];if(Y&&this.componentMembers&&this.componentMembers.has(Y))return[".",Z,F(U,Y)];return U}if(U[0]==="."&&U[1]==="this"&&$(U[2])!=null){let Y=U[2],R=$(Y);if(this.reactiveMembers&&this.reactiveMembers.has(R))return[".",[".",Z,R],F(Y,"value")];return this._factoryMode?[".",Z,Y]:U}if(U[0]==="."||U[0]==="?.")return[U[0],this.transformComponentMembers(U[1]),U[2]];if(U[0]==="->"){let Y=U[1],R=new Set(W);if(Array.isArray(Y))for(let z of Y){let M=$(Array.isArray(z)&&z[0]==="default"?z[1]:z);if(M)R.add(M)}return["=>",U[1],this.transformComponentMembers(U[2],R)]}if(U[0]==="object"||U[0]==="map-literal")return[U[0],...U.slice(1).map((Y)=>{if(Array.isArray(Y)&&Y[0]==="...")return["...",this.transformComponentMembers(Y[1],W)];if(Array.isArray(Y)&&Y.length>=2){let R=Y[1],z=Array.isArray(R)?this.transformComponentMembers(R,W):R,M=this.transformComponentMembers(Y[2],W);return[Y[0],z,M]}return this.transformComponentMembers(Y,W)})];if(U[0]==="block"||U[0]==="program"){let Y=new Set(W),R=[U[0]];for(let z=1;z<U.length;z++){let M=U[z];if(Array.isArray(M)&&M[0]==="="){let D=$(M[1]);if(D&&!(this.reactiveMembers&&this.reactiveMembers.has(D))){R.push(["=",M[1],this.transformComponentMembers(M[2],Y)]),Y.add(D);continue}}R.push(this.transformComponentMembers(M,Y))}return R}return U.map((Y)=>this.transformComponentMembers(Y,W))},u.generateComponent=function(U,W,Z,Y){let[,R]=W,z=this.is(R,"block")?R.slice(1):[],M=[],D=[],J=[],O=[],Q=[],q=[],X=[],G=[],I=null,E=new Set,K=new Set;for(let S of z){if(!Array.isArray(S))continue;let[C]=S;if(C==="offer"){if(S=S[1],!Array.isArray(S))continue;C=S[0];let V=D1(S[1]);if(V)X.push(V)}if(C==="accept"){let V=typeof S[1]==="string"?S[1]:D1(S[1]);if(V)G.push(V),E.add(V),K.add(V)}else if(C==="."&&S[1]==="this"&&D1(S)){let V=typeof S[2]==="string"||S[2]instanceof String?S[2].valueOf():null;if(V)M.push({name:V,value:void 0,isPublic:!0,type:S[2]?.type||null,required:!0}),E.add(V),K.add(V)}else if(C==="state"){let V=D1(S[1]);if(V)M.push({name:V,value:S[2],isPublic:s1(S[1]),type:C2(S[1])}),E.add(V),K.add(V)}else if(C==="computed"){let V=D1(S[1]);if(V)D.push({name:V,expr:S[2]}),E.add(V),K.add(V)}else if(C==="readonly"){let V=D1(S[1]);if(V)J.push({name:V,value:S[2],isPublic:s1(S[1]),type:C2(S[1])}),E.add(V)}else if(C==="="){let V=D1(S[1]);if(V)if(o1.has(V))Q.push({name:V,value:S[2]});else{let l=S[2];if(Array.isArray(l)&&(l[0]==="->"||l[0]==="=>"))O.push({name:V,func:l}),E.add(V);else M.push({name:V,value:l,isPublic:s1(S[1])}),E.add(V),K.add(V)}}else if(C==="effect")q.push(S);else if(C==="render")I=S;else if(C==="object")for(let V=1;V<S.length;V++){let l=S[V];if(!Array.isArray(l))continue;let[,n,c]=l;if(typeof n==="string"&&o1.has(n))Q.push({name:n,value:c});else if(typeof n==="string")O.push({name:n,func:c}),E.add(n)}}let H=new Map;for(let{name:S}of O)if(/^on[A-Z]/.test(S)&&!o1.has(S)){let C=S[2].toLowerCase()+S.slice(3);if(N2.has(C))H.set(C,S)}let P=W[0]?.valueOf?.()??null,N=new Set;for(let{name:S,isPublic:C}of M)if(C)N.add(S);for(let{name:S,isPublic:C}of J)if(C)N.add(S);let L=this.componentMembers,B=this.reactiveMembers,h=this._autoEventHandlers,j=this._inheritsTag;if(this.componentMembers=E,this.reactiveMembers=K,this._autoEventHandlers=H.size>0?H:null,this._inheritsTag=P||null,this.options.stubComponents){let S=(c)=>c?c.replace(/::/g,":").replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined").replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined").replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"):null,C=[];C.push("class {"),C.push(" declare _root: Element | null;"),C.push(" emit(_name: string, _detail?: any): void {}");let V=[];for(let{name:c,type:y,isPublic:b,required:g}of M){if(!b)continue;let i=S(y),d=g?"":"?";V.push(`${c}${d}: ${i||"any"}`),V.push(`__bind_${c}__?: Signal<${i||"any"}>`)}for(let{name:c,type:y,isPublic:b}of J){if(!b)continue;let g=S(y);V.push(`${c}?: ${g||"any"}`)}{let y=V.length>0&&M.some((g)=>g.isPublic&&g.required)?"":"?",b=V.length>0?`{${V.join("; ")}}`:"{}";if(P)b+=` & __RipProps<'${P}'>`;C.push(` constructor(_props${y}: ${b}) {}`)}let l=(c)=>{let y=c?.valueOf?.()??c;if(typeof y!=="string")return null;if(y==="true"||y==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(y))return"number";if(y.startsWith('"')||y.startsWith("'"))return"string";return null};for(let{name:c,type:y,value:b}of M){let g=S(y)||l(b);C.push(g?` declare ${c}: Signal<${g}>;`:` declare ${c}: Signal<any>;`)}for(let{name:c,type:y,value:b}of J){let g=S(y)||l(b);C.push(g?` declare ${c}: ${g};`:` declare ${c}: any;`)}for(let{name:c,expr:y}of D)if(this.is(y,"block")){let b=this.transformComponentMembers(y),g=this.generateFunctionBody(b);C.push(` ${c} = __computed(() => ${g});`)}else{let b=this.generateInComponent(y,"value");C.push(` ${c} = __computed(() => ${b});`)}C.push(" _init(props) {");for(let{name:c,value:y,isPublic:b}of J){let g=this.generateInComponent(y,"value");C.push(b?` this.${c} = props.${c} ?? ${g};`:` this.${c} = ${g};`)}for(let{name:c,value:y,isPublic:b,required:g,type:i}of M)if(b&&g)C.push(` this.${c} = __state(props.__bind_${c}__ ?? props.${c});`);else if(b){let d=this.generateInComponent(y,"value");C.push(` this.${c} = __state(props.__bind_${c}__ ?? props.${c} ?? ${d});`)}else{let d=this.generateInComponent(y,"value");C.push(` this.${c} = __state(${d});`)}for(let c of q){let y=c[2],b=this.containsAwait(y)?"async ":"";if(this.is(y,"block")){let g=this.transformComponentMembers(y),i=this.generateFunctionBody(g,[],!0);C.push(` __effect(${b}() => ${i});`)}else{let g=this.generateInComponent(y,"value");C.push(` __effect(${b}() => { ${g}; });`)}}C.push(" }");let n=new Map;for(let[c,y]of H)n.set(y,c);if(I){let c=(y)=>{if(!Array.isArray(y))return;let b=y[0]?.valueOf?.()??y[0];if(typeof b==="string"&&b!=="object"&&b!=="switch"&&E1.has(b.split(/[.#]/)[0]))for(let g=1;g<y.length;g++){let i=y[g],d=this.is(i,"object")?i:null;if(!d&&Array.isArray(i)&&(i[0]==="->"||i[0]==="=>")&&this.is(i[2],"block")){for(let r=1;r<i[2].length;r++)if(this.is(i[2][r],"object")){d=i[2][r];break}}if(!d)continue;for(let r=1;r<d.length;r++){let v=d[r];if(!Array.isArray(v)||v.length<2)continue;let[,k,x]=v;if(Array.isArray(k)&&k[0]==="."&&k[1]==="this"&&Array.isArray(x)&&x[0]==="."&&x[1]==="this"){let s=typeof k[2]==="string"?k[2]:k[2]?.valueOf?.(),o=typeof x[2]==="string"?x[2]:x[2]?.valueOf?.();if(s&&o&&!n.has(o))n.set(o,s)}}}for(let g=1;g<y.length;g++)c(y[g])};c(I)}for(let{name:c,func:y}of O)if(Array.isArray(y)&&(y[0]==="->"||y[0]==="=>")){let[,b,g]=y;if((!b||Array.isArray(b)&&b.length===0)&&this.containsIt(g))b=["it"];let i=Array.isArray(b)?b.map((x)=>{let s=this.formatParam(x);if(x?.type)s+=`: ${x.type}`;return s}).join(", "):"",d=n.get(c);if(d&&Array.isArray(b)&&b.length>0){let x=b[0];if(!(x?.type||x instanceof String&&x.type)&&typeof(x?.valueOf?.()??x)==="string"){let o=x?.valueOf?.()??x;i=i.replace(o,`${o}: HTMLElementEventMap['${d}']`)}}let r=this.reactiveMembers?this.transformComponentMembers(g):g,v=this.containsAwait(g),k=this.generateFunctionBody(r,b||[]);C.push(` ${v?"async ":""}${c}(${i}) ${k}`)}for(let{name:c,value:y}of Q)if(Array.isArray(y)&&(y[0]==="->"||y[0]==="=>")){let[,b,g]=y,i=Array.isArray(b)?b.map((k)=>this.formatParam(k)).join(", "):"",d=this.reactiveMembers?this.transformComponentMembers(g):g,r=this.containsAwait(g),v=this.generateFunctionBody(d,b||[]);C.push(` ${r?"async ":""}${c}(${i}) ${v}`)}if(I){let c=[],y=0,b=(d)=>{let r=[];for(let v of d){let k=null;if(this.is(v,"object"))k=v;else if(Array.isArray(v)&&(v[0]==="->"||v[0]==="=>")&&this.is(v[2],"block")){for(let x=1;x<v[2].length;x++)if(this.is(v[2][x],"object")){k=v[2][x];break}}if(k)for(let x=1;x<k.length;x++){let s=k[x],[,o,a]=s;if(typeof o==="string"&&!o.startsWith("@")){let _1=s.loc?.r??k.loc?.r;if(o.startsWith("__bind_")&&o.endsWith("__")){let w1=typeof a==="string"&&this.reactiveMembers?.has(a)?`this.${a}`:this.generateInComponent(a,"value");r.push({code:`${o}: ${w1}`,srcLine:_1})}else{let w1=this.generateInComponent(a,"value");r.push({code:`${o}: ${w1}`,srcLine:_1})}}}}return r},g=(d)=>{let r=[];for(let v of d){let k=null;if(this.is(v,"object"))k=v;else if(Array.isArray(v)&&(v[0]==="->"||v[0]==="=>")&&this.is(v[2],"block")){for(let x=1;x<v[2].length;x++)if(this.is(v[2][x],"object")){k=v[2][x];break}}if(k)for(let x=1;x<k.length;x++){let s=k[x];if(!Array.isArray(s)||s.length<2)continue;let[,o,a]=s,_1=s.loc?.r??k.loc?.r;if(Array.isArray(o)&&o[0]==="."&&o[1]==="this"){let w1=typeof o[2]==="string"?o[2]:o[2]?.valueOf?.();if(!w1)continue;let x1="@"+w1.split(".")[0],X3=this.generateInComponent(a,"value");r.push({code:`'${x1}': ${X3}`,srcLine:_1})}else if(typeof o==="string"){if(o==="key")continue;if(o.startsWith("__bind_")&&o.endsWith("__")){let w1=o.slice(7,-2),x1=this.generateInComponent(a,"value");r.push({code:`${w1}: ${x1}`,srcLine:_1})}else{let w1=this.generateInComponent(a,"value");r.push({code:`${o}: ${w1}`,srcLine:_1})}}}}return r},i=(d)=>{if(!Array.isArray(d))return;let r=d[0]?.valueOf?.()??d[0];if(typeof r==="string"&&/^[A-Z]/.test(r)){let v=b(d.slice(1)),k=`_${y++}`,x=`ConstructorParameters<typeof ${r}>[0] & {}`;if(v.length===0){let s=d.loc?.r;c.push(` const ${k}: ${x} = {};`+(s!=null?` // @rip-src:${s}`:""))}else if(v.length===1){let s=d.loc?.r??v[0].srcLine;c.push(` const ${k}: ${x} = {${v[0].code}};`+(s!=null?` // @rip-src:${s}`:""))}else{let s=d.loc?.r;if(new Set(v.map((a)=>a.srcLine).filter((a)=>a!=null)).size<=1){let a=v[0].srcLine??s;c.push(` const ${k}: ${x} = {${v.map((_1)=>_1.code).join(", ")}};`+(a!=null?` // @rip-src:${a}`:""))}else{c.push(` const ${k}: ${x} = {`+(s!=null?` // @rip-src:${s}`:""));for(let a of v)c.push(` ${a.code},`+(a.srcLine!=null?` // @rip-src:${a.srcLine}`:""));c.push(" };")}}}else if(typeof r==="string"&&!f.GENERATORS[r]&&(E1.has(r.split(/[.#]/)[0])||/^[a-z][\w-]*$/.test(r)&&d.length>1)){let v=r.split(/[.#]/)[0],k=g(d.slice(1)),x=d.loc?.r,s=x!=null?` // @rip-src:${x}`:"";if(k.length===0)c.push(` __ripEl('${v}');${s}`);else if(k.length===1){let o=k[0].srcLine??x,a=o!=null?` // @rip-src:${o}`:"";c.push(` __ripEl('${v}', {${k[0].code}});${a}`)}else if(new Set(k.map((a)=>a.srcLine).filter((a)=>a!=null)).size<=1){let a=k[0].srcLine??x,_1=a!=null?` // @rip-src:${a}`:"";c.push(` __ripEl('${v}', {${k.map((w1)=>w1.code).join(", ")}});${_1}`)}else{c.push(` __ripEl('${v}', {${s}`);for(let a of k)c.push(` ${a.code},`+(a.srcLine!=null?` // @rip-src:${a.srcLine}`:""));c.push(" });")}}for(let v=1;v<d.length;v++)i(d[v])};if(i(I),c.length>0){C.push(" _render() {");for(let d of c)C.push(d);C.push(" }")}}return C.push("}"),this.componentMembers=L,this.reactiveMembers=B,this._autoEventHandlers=h,this._inheritsTag=j,C.join(`
|
|
15
|
+
`)}this.usesTemplates=!0,this.usesReactivity=!0;let T=[],p="";T.push("class extends __Component {"),T.push(" _init(props) {");for(let{name:S,value:C,isPublic:V}of J){let l=this.generateInComponent(C,"value");T.push(V?` this.${S} = props.${S} ?? ${l};`:` this.${S} = ${l};`)}for(let S of G)T.push(` this.${S} = getContext('${S}');`);for(let{name:S,value:C,isPublic:V,required:l}of M)if(V&&l)T.push(` this.${S} = __state(props.__bind_${S}__ ?? props.${S});`);else if(V){let n=this.generateInComponent(C,"value");T.push(` this.${S} = __state(props.__bind_${S}__ ?? props.${S} ?? ${n});`)}else{let n=this.generateInComponent(C,"value");T.push(` this.${S} = __state(${n});`)}if(P){if(T.push(" this._rest = {};"),T.push(" for (const __k in props) {"),N.size>0){let S=[...N].map((C)=>`__k !== '${C}'`).join(" && ");T.push(` if (${S} && !__k.startsWith('__bind_')) this._rest[__k] = props[__k];`)}else T.push(" if (!__k.startsWith('__bind_')) this._rest[__k] = props[__k];");T.push(" }")}for(let{name:S,expr:C}of D)if(this.is(C,"block")){let V=this.transformComponentMembers(C),l=this.generateFunctionBody(V);T.push(` this.${S} = __computed(() => ${l});`)}else{let V=this.generateInComponent(C,"value");T.push(` this.${S} = __computed(() => ${V});`)}for(let S of X)T.push(` setContext('${S}', this.${S});`);for(let S of q){let C=S[2],V=this.containsAwait(C)?"async ":"";if(this.is(C,"block")){let l=this.transformComponentMembers(C),n=this.generateFunctionBody(l,[],!0);T.push(` __effect(${V}() => ${n});`)}else{let l=this.generateInComponent(C,"value");T.push(` __effect(${V}() => { ${l}; });`)}}if(T.push(" }"),P)T.push(" _setRestProp(key, value) {"),T.push(" if (key.startsWith('__bind_')) return;"),T.push(" this._rest || (this._rest = {});"),T.push(" if (value == null) delete this._rest[key];"),T.push(" else this._rest[key] = value;"),T.push(" this._applyInheritedProp(this._inheritedEl, key, value);"),T.push(" }"),T.push(" _applyRestToInheritedEl() {"),T.push(" if (!this._inheritedEl || !this._rest) return;"),T.push(" for (const key in this._rest) this._applyInheritedProp(this._inheritedEl, key, this._rest[key]);"),T.push(" }"),T.push(" _applyInheritedProp(el, key, value) {"),T.push(" if (!el || key === 'key' || key === 'ref' || key === 'children' || key.startsWith('__bind_')) return;"),T.push(" if (key[0] === '@') {"),T.push(" const event = key.slice(1).split('.')[0];"),T.push(" this._restHandlers || (this._restHandlers = {});"),T.push(" const prev = this._restHandlers[key];"),T.push(" if (prev) el.removeEventListener(event, prev);"),T.push(" if (typeof value === 'function') {"),T.push(" const next = (e) => __batch(() => value(e));"),T.push(" this._restHandlers[key] = next;"),T.push(" el.addEventListener(event, next);"),T.push(" } else {"),T.push(" delete this._restHandlers[key];"),T.push(" }"),T.push(" return;"),T.push(" }"),T.push(" if (key === 'class' || key === 'className') {"),T.push(" if (el instanceof SVGElement) el.setAttribute('class', __clsx(value));"),T.push(" else el.className = __clsx(value);"),T.push(" return;"),T.push(" }"),T.push(" if (key === 'style') {"),T.push(" if (value == null) { el.removeAttribute('style'); return; }"),T.push(" if (typeof value === 'string') { el.setAttribute('style', value); return; }"),T.push(" if (typeof value === 'object') { Object.assign(el.style, value); return; }"),T.push(" }"),T.push(" if (key === 'innerHTML' || key === 'textContent' || key === 'innerText') {"),T.push(" el[key] = value ?? '';"),T.push(" return;"),T.push(" }"),T.push(" if (key in el && !key.includes('-')) {"),T.push(" el[key] = value;"),T.push(" return;"),T.push(" }"),T.push(" if (value == null || value === false) {"),T.push(" el.removeAttribute(key);"),T.push(" return;"),T.push(" }"),T.push(" if (value === true) {"),T.push(" el.setAttribute(key, '');"),T.push(" return;"),T.push(" }"),T.push(" el.setAttribute(key, value);"),T.push(" }");for(let{name:S,func:C}of O)if(Array.isArray(C)&&(C[0]==="->"||C[0]==="=>")){let[,V,l]=C;if((!V||Array.isArray(V)&&V.length===0)&&this.containsIt(l))V=["it"];let n=Array.isArray(V)?V.map((g)=>this.formatParam(g)).join(", "):"",c=this.reactiveMembers?this.transformComponentMembers(l):l,y=this.containsAwait(l),b=this.generateFunctionBody(c,V||[]);T.push(` ${y?"async ":""}${S}(${n}) ${b}`)}for(let{name:S,value:C}of Q)if(Array.isArray(C)&&(C[0]==="->"||C[0]==="=>")){let[,V,l]=C,n=Array.isArray(V)?V.map((g)=>this.formatParam(g)).join(", "):"",c=this.reactiveMembers?this.transformComponentMembers(l):l,y=this.containsAwait(l),b=this.generateFunctionBody(c,V||[]);T.push(` ${y?"async ":""}${S}(${n}) ${b}`)}if(I){let S=I[1],C=this.buildRender(S);if(C.blockFactories.length>0)p=C.blockFactories.join(`
|
|
16
16
|
|
|
17
17
|
`)+`
|
|
18
18
|
|
|
19
|
-
`;
|
|
20
|
-
${p}return ${
|
|
19
|
+
`;T.push(" _create() {");for(let V of C.createLines)T.push(` ${V}`);if(T.push(` return ${C.rootVar};`),T.push(" }"),C.setupLines.length>0){T.push(" _setup() {");for(let V of C.setupLines)T.push(` ${V}`);T.push(" }")}}if(T.push("}"),this.componentMembers=L,this.reactiveMembers=B,this._autoEventHandlers=h,this._inheritsTag=j,p)return`(() => {
|
|
20
|
+
${p}return ${T.join(`
|
|
21
21
|
`)};
|
|
22
|
-
})()`;return
|
|
23
|
-
`)},u.generateInComponent=function(A,W){if(typeof A==="string"&&this.reactiveMembers&&this.reactiveMembers.has(A))return`${this._self}.${A}.value`;if(typeof A==="string"&&this.componentMembers&&this.componentMembers.has(A))return`${this._self}.${A}`;if(Array.isArray(A)&&this.reactiveMembers){let Z=this.transformComponentMembers(A);return this.generate(Z,W)}return this.generate(A,W)},u.generateRender=function(A,W,Z,Y){throw Error("render blocks can only be used inside a component")},u.generateOffer=function(A,W,Z,Y){throw Error("offer can only be used inside a component")},u.generateAccept=function(A,W,Z,Y){throw Error("accept can only be used inside a component")},u.buildRender=function(A){this._elementCount=0,this._textCount=0,this._blockCount=0,this._createLines=[],this._setupLines=[],this._blockFactories=[],this._loopVarStack=[],this._factoryMode=!1,this._factoryVars=null,this._fragChildren=new Map,this._pendingAutoWire=!1,this._autoWireEl=null,this._autoWireExplicit=null,this._inheritsTargetBound=!1;let W=this.is(A,"block")?A.slice(1):[A],Z;if(W.length===0)Z="null";else if(W.length===1)this._pendingAutoWire=!!this._autoEventHandlers,Z=this.generateNode(W[0]),this._pendingAutoWire=!1;else{Z=this.newElementVar("frag"),this._createLines.push(`${Z} = document.createDocumentFragment();`);let Y=[];for(let R of W){let z=this.generateNode(R);this._createLines.push(`${Z}.appendChild(${z});`),Y.push(z)}this._fragChildren.set(Z,Y)}return{createLines:this._createLines,setupLines:this._setupLines,blockFactories:this._blockFactories,rootVar:Z}},u.newBlockVar=function(){return`create_block_${this._blockCount++}`},u.newElementVar=function(A="el"){let W=`_${A}${this._elementCount++}`;if(this._factoryVars)this._factoryVars.add(W);return this._factoryMode?W:`this.${W}`},u.newTextVar=function(){let A=`_t${this._textCount++}`;if(this._factoryVars)this._factoryVars.add(A);return this._factoryMode?A:`this.${A}`},Object.defineProperty(u,"_self",{get(){return this._factoryMode?"ctx":"this"}}),u._pushEffect=function(A){if(this._factoryMode)this._setupLines.push(`disposers.push(__effect(() => { ${A} }));`);else this._setupLines.push(`__effect(() => { ${A} });`)},u.generateNode=function(A){if(typeof A==="string"||A instanceof String){let Q=A.valueOf();if(Q.startsWith('"')||Q.startsWith("'")||Q.startsWith("`")){let q=this.newTextVar();return this._createLines.push(`${q} = document.createTextNode(${Q});`),q}if(this.reactiveMembers&&this.reactiveMembers.has(Q)){let q=this.newTextVar();return this._createLines.push(`${q} = document.createTextNode('');`),this._pushEffect(`${q}.data = ${this._self}.${Q}.value;`),q}if(Q==="slot"&&this.componentMembers){let q=this._self,G=this.newElementVar("slot");return this._createLines.push(`${G} = ${q}.children instanceof Node ? ${q}.children : (${q}.children != null ? document.createTextNode(String(${q}.children)) : document.createComment(''));`),G}let[X,J]=Q.split("#"),O=this.newElementVar(),K=X||"div";if(K1.has(K)||this._svgDepth>0)this._createLines.push(`${O} = document.createElementNS('${o1}', '${K}');`);else this._createLines.push(`${O} = document.createElement('${K}');`);if(J)this._createLines.push(`${O}.id = '${J}';`);return this._bindInheritedTarget(K,O),O}if(!Array.isArray(A)){let Q=this.newElementVar("c");return this._createLines.push(`${Q} = document.createComment('unknown');`),Q}let[W,...Z]=A,Y=typeof W==="string"?W:W instanceof String?W.valueOf():null;if(Y&&this.isComponent(Y))return this.generateChildComponent(Y,Z);if(Y==="slot"&&this.componentMembers){let Q=this._self,X=this.newElementVar("slot");return this._createLines.push(`${X} = ${Q}.children instanceof Node ? ${Q}.children : (${Q}.children != null ? document.createTextNode(String(${Q}.children)) : document.createComment(''));`),X}if(Y==="switch"){let Q=Z[0],X=Z[1]||[],O=Z[2]||null;for(let q=X.length-1;q>=0;q--){let[,G,M]=X[q],I;if(Q===null)I=G.length===1?G[0]:G.reduce((E,D)=>E?["||",E,D]:D,null);else I=G.length===1?["==",Q,G[0]]:G.map((E)=>["==",Q,E]).reduce((E,D)=>E?["||",E,D]:D,null);O=["if",I,M,O]}if(O){if(Array.isArray(O)&&O[0]==="if")return this.generateConditional(O);return this.generateTemplateBlock(O)}let K=this.newElementVar("c");return this._createLines.push(`${K} = document.createComment('switch');`),K}if(Y&&this.isHtmlTag(Y)&&!U(W,"text")){let[Q,X]=Y.split("#");return this.generateTag(Q||"div",[],Z,X)}if(Y==="."){let[,Q,X]=A;if(Q==="this"&&typeof X==="string"){let I=this._self;if(this.reactiveMembers&&this.reactiveMembers.has(X)){let D=this.newTextVar();return this._createLines.push(`${D} = document.createTextNode('');`),this._pushEffect(`${D}.data = ${I}.${X}.value;`),D}let E=this.newElementVar("slot");return this._createLines.push(`${E} = ${I}.${X} instanceof Node ? ${I}.${X} : (${I}.${X} != null ? document.createTextNode(String(${I}.${X})) : document.createComment(''));`),E}let{tag:J,classes:O,id:K,base:q}=this.collectTemplateClasses(A);if(!U(q,"text")&&J&&this.isHtmlTag(J))return this.generateTag(J,O,[],K);let G=this.newTextVar(),M=this.generateInComponent(A,"value");return this._createLines.push(`${G} = document.createTextNode(String(${M}));`),G}if(Array.isArray(W)){if(Array.isArray(W[0])&&W[0][0]==="."&&(W[0][2]==="__clsx"||W[0][2]instanceof String&&W[0][2].valueOf()==="__clsx")){let O=W[0][1],K=W.slice(1);if(Array.isArray(O)){let{tag:G,classes:M,id:I}=this.collectTemplateClasses(O);if(G){let E=M.map((D)=>`"${D}"`);return this.generateDynamicTag(G,K,Z,E,I)}}let q=typeof O==="string"?O:O.valueOf();return this.generateDynamicTag(q,K,Z)}let{tag:Q,classes:X,id:J}=this.collectTemplateClasses(W);if(Q&&this.isHtmlTag(Q)){if(X.length>0&&X[X.length-1]==="__clsx"){let K=X.slice(0,-1).map((q)=>`"${q}"`);return this.generateDynamicTag(Q,Z,[],K,J)}return this.generateTag(Q,X,Z,J)}}if(Y==="->"||Y==="=>")return this.generateTemplateBlock(Z[1]);if(Y==="if")return this.generateConditional(A);if(Y==="for"||Y==="for-in"||Y==="for-of"||Y==="for-as")return this.generateTemplateLoop(A);if(Y==="__text__"){let Q=Z[0]??"undefined",X=this.newTextVar(),J=this.generateInComponent(Q,"value");if(this.hasReactiveDeps(Q))this._createLines.push(`${X} = document.createTextNode('');`),this._pushEffect(`${X}.data = String(${J});`);else this._createLines.push(`${X} = document.createTextNode(String(${J}));`);return X}let R=this.newTextVar(),z=this.generateInComponent(A,"value");if(this.hasReactiveDeps(A))this._createLines.push(`${R} = document.createTextNode('');`),this._pushEffect(`${R}.data = ${z};`);else this._createLines.push(`${R} = document.createTextNode(String(${z}));`);return R},u.appendChildren=function(A,W){for(let Z of W)if(this.is(Z,"->")||this.is(Z,"=>")){let Y=Z[2];if(this.is(Y,"block"))for(let R of Y.slice(1))if(this.is(R,"object"))this.generateAttributes(A,R);else{let z=this.generateNode(R);this._createLines.push(`${A}.appendChild(${z});`)}else if(Y){let R=this.generateNode(Y);this._createLines.push(`${A}.appendChild(${R});`)}}else if(this.is(Z,"object"))this.generateAttributes(A,Z);else if(typeof Z==="string"||Z instanceof String){let Y=Z.valueOf(),R=Y.split(/[#.]/)[0];if(this.isHtmlTag(R||"div")||this.isComponent(R)){let z=this.generateNode(Z);this._createLines.push(`${A}.appendChild(${z});`)}else{let z=this.newTextVar();if(Y.startsWith('"')||Y.startsWith("'")||Y.startsWith("`"))this._createLines.push(`${z} = document.createTextNode(${Y});`);else if(this.reactiveMembers&&this.reactiveMembers.has(Y))this._createLines.push(`${z} = document.createTextNode('');`),this._pushEffect(`${z}.data = ${this._self}.${Y}.value;`);else if(this.componentMembers&&this.componentMembers.has(Y))this._createLines.push(`${z} = document.createTextNode(String(${this._self}.${Y}));`);else this._createLines.push(`${z} = document.createTextNode(${this.generateInComponent(Z,"value")});`);this._createLines.push(`${A}.appendChild(${z});`)}}else if(Z){let Y=this.generateNode(Z);this._createLines.push(`${A}.appendChild(${Y});`)}},u._claimAutoWire=function(A){if(!this._pendingAutoWire||!this._autoEventHandlers?.size)return!1;return this._pendingAutoWire=!1,this._autoWireEl=A,this._autoWireExplicit=new Set,!0},u._emitAutoWire=function(A,W){if(!W)return;for(let[Z,Y]of this._autoEventHandlers)if(!this._autoWireExplicit.has(Z))this._createLines.push(`${A}.addEventListener('${Z}', (e) => __batch(() => ${this._self}.${Y}(e)));`);this._autoWireEl=null,this._autoWireExplicit=null},u._bindInheritedTarget=function(A,W){if(!this._inheritsTag||this._factoryMode||this._inheritsTargetBound)return;if(A!==this._inheritsTag)return;this._inheritsTargetBound=!0,this._createLines.push(`this._inheritedEl = ${W};`),this._createLines.push("this._applyRestToInheritedEl();")},u.generateTag=function(A,W,Z,Y){let R=this.newElementVar(),z=K1.has(A)||this._svgDepth>0;if(z)this._createLines.push(`${R} = document.createElementNS('${o1}', '${A}');`);else this._createLines.push(`${R} = document.createElement('${A}');`);if(Y)this._createLines.push(`${R}.id = '${Y}';`);if(this._bindInheritedTarget(A,R),this._componentName&&this._elementCount===1&&!this._factoryMode&&!this.options.skipDataPart)this._createLines.push(`${R}.setAttribute('data-part', '${this._componentName}');`);let Q=this._claimAutoWire(R),X=this._pendingClassArgs,J=this._pendingClassEl;if(W.length>0)this._pendingClassArgs=[`'${W.join(" ")}'`],this._pendingClassEl=R;if(A==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(R,Z),A==="svg")this._svgDepth--;if(W.length>0){if(this._pendingClassArgs.length===1)if(z)this._createLines.push(`${R}.setAttribute('class', '${W.join(" ")}');`);else this._createLines.push(`${R}.className = '${W.join(" ")}';`);else{let O=this._pendingClassArgs.join(", ");if(z)this._pushEffect(`${R}.setAttribute('class', __clsx(${O}));`);else this._pushEffect(`${R}.className = __clsx(${O});`)}this._pendingClassArgs=X,this._pendingClassEl=J}return this._emitAutoWire(R,Q),R},u.generateDynamicTag=function(A,W,Z,Y,R){let z=this.newElementVar();if(K1.has(A)||this._svgDepth>0)this._createLines.push(`${z} = document.createElementNS('${o1}', '${A}');`);else this._createLines.push(`${z} = document.createElement('${A}');`);if(R)this._createLines.push(`${z}.id = '${R}';`);this._bindInheritedTarget(A,z);let Q=this._claimAutoWire(z),X=[...Y||[],...W.map((K)=>this.generateInComponent(K,"value"))],J=this._pendingClassArgs,O=this._pendingClassEl;if(this._pendingClassArgs=X,this._pendingClassEl=z,A==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(z,Z),A==="svg")this._svgDepth--;if(this._pendingClassArgs.length>0){let K=this._pendingClassArgs.join(", ");if(K1.has(A)||this._svgDepth>0)this._pushEffect(`${z}.setAttribute('class', __clsx(${K}));`);else this._pushEffect(`${z}.className = __clsx(${K});`)}return this._pendingClassArgs=J,this._pendingClassEl=O,this._emitAutoWire(z,Q),z},u.generateAttributes=function(A,W){let Z=D7(W.slice(1));for(let Y=1;Y<W.length;Y++){let[,R,z]=W[Y];if(this.is(R,".")&&R[1]==="this"){let Q=R[2];if(this._autoWireExplicit&&this._autoWireEl===A)this._autoWireExplicit.add(Q);if(typeof z==="string"&&this.componentMembers?.has(z))this._createLines.push(`${A}.addEventListener('${Q}', (e) => __batch(() => ${this._self}.${z}(e)));`);else{let X=this.generateInComponent(z,"value");this._createLines.push(`${A}.addEventListener('${Q}', (e) => __batch(() => (${X})(e)));`)}continue}if(typeof R==="string"||R instanceof String){if(R.startsWith('"')&&R.endsWith('"'))R=R.slice(1,-1);if(R==="class"||R==="className"){let X=this.generateInComponent(z,"value");if(this._pendingClassArgs&&this._pendingClassEl===A)this._pendingClassArgs.push(X);else if(this.hasReactiveDeps(z))if(this._svgDepth>0)this._pushEffect(`${A}.setAttribute('class', __clsx(${X}));`);else this._pushEffect(`${A}.className = __clsx(${X});`);else if(this._svgDepth>0)this._createLines.push(`${A}.setAttribute('class', ${X});`);else this._createLines.push(`${A}.className = ${X};`);continue}if(R==="__transition__"){let X=String(z).replace(/^["']|["']$/g,"");this._createLines.push(`this._t = "${X}";`);continue}if(R==="ref"){let X=String(z).replace(/^["']|["']$/g,"");this._createLines.push(`${this._self}.${X} = ${A};`);continue}if(R.startsWith(T2)&&R.endsWith(h2)){let X=R.slice(T2.length,-h2.length),J=this.generateInComponent(z,"value"),O,K;if(X==="checked")O="change",K="e.target.checked";else O="input",K=Z==="number"||Z==="range"?"e.target.valueAsNumber":"e.target.value";this._pushEffect(`${A}.${X} = ${J};`);let q=`${J} = ${K}`,G=!this.isSimpleAssignable(z)&&this.findRootReactiveMember(z);if(G)q+=`; ${this._self}.${G}.touch?.()`;this._createLines.push(`${A}.addEventListener('${O}', (e) => { ${q}; });`);continue}let Q=this.generateInComponent(z,"value");if((R==="value"||R==="checked")&&this.hasReactiveDeps(z)){this._pushEffect(`${A}.${R} = ${Q};`);continue}if(R==="innerHTML"||R==="textContent"||R==="innerText")if(this.hasReactiveDeps(z))this._pushEffect(`${A}.${R} = ${Q};`);else this._createLines.push(`${A}.${R} = ${Q};`);else if(J7.has(R))if(this.hasReactiveDeps(z))this._pushEffect(`${A}.toggleAttribute('${R}', !!${Q});`);else this._createLines.push(`if (${Q}) ${A}.setAttribute('${R}', '');`);else if(this.hasReactiveDeps(z))if(Array.isArray(z)&&z[0]==="presence")this._pushEffect(`{ const __v = ${Q}; __v == null ? ${A}.removeAttribute('${R}') : ${A}.setAttribute('${R}', __v); }`);else this._pushEffect(`${A}.setAttribute('${R}', ${Q});`);else if(Array.isArray(z)&&z[0]==="presence")this._createLines.push(`{ const __v = ${Q}; if (__v != null) ${A}.setAttribute('${R}', __v); }`);else this._createLines.push(`${A}.setAttribute('${R}', ${Q});`)}}},u.generateTemplateBlock=function(A){if(!Array.isArray(A)||A[0]!=="block")return this.generateNode(A);let W=A.slice(1);if(W.length===0){let R=this.newElementVar("empty");return this._createLines.push(`${R} = document.createComment('');`),R}if(W.length===1)return this.generateNode(W[0]);let Z=this.newElementVar("frag");this._createLines.push(`${Z} = document.createDocumentFragment();`);let Y=[];for(let R of W){let z=this.generateNode(R);this._createLines.push(`${Z}.appendChild(${z});`),Y.push(z)}return this._fragChildren.set(Z,Y),Z},u.generateConditional=function(A){this._pendingAutoWire=!1;let[,W,Z,Y]=A,R=this.newElementVar("anchor");this._createLines.push(`${R} = document.createComment('if');`);let z=this.generateInComponent(W,"value"),Q=this._loopVarStack.map((M)=>`${M.itemVar}, ${M.indexVar}`).join(", "),X=Q?`, ${Q}`:"",J=this.newBlockVar();this.generateConditionBranch(J,Z);let O=null;if(Y)O=this.newBlockVar(),this.generateConditionBranch(O,Y);let K=[];K.push(`// Conditional: ${J}${O?" / "+O:""}`),K.push("{"),K.push(` const anchor = ${R};`),K.push(" let currentBlock = null;"),K.push(" let showing = null;");let q=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",G=this._factoryMode?"}));":"});";if(K.push(` ${q}`),K.push(` const show = !!(${z});`),K.push(` const want = show ? 'then' : ${Y?"'else'":"null"};`),K.push(" if (want === showing) return;"),K.push(""),K.push(" if (currentBlock) {"),K.push(" const leaving = currentBlock;"),K.push(" if (leaving._t) { __transition(leaving._first, leaving._t, 'leave', () => leaving.d(true)); }"),K.push(" else { leaving.d(true); }"),K.push(" currentBlock = null;"),K.push(" }"),K.push(" showing = want;"),K.push(""),K.push(" if (want === 'then') {"),K.push(` currentBlock = ${J}(${this._self}${X});`),K.push(" currentBlock.c();"),K.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),K.push(` currentBlock.p(${this._self}${X});`),K.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),K.push(" }"),Y)K.push(" if (want === 'else') {"),K.push(` currentBlock = ${O}(${this._self}${X});`),K.push(" currentBlock.c();"),K.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),K.push(` currentBlock.p(${this._self}${X});`),K.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),K.push(" }");return K.push(` ${G}`),K.push("}"),this._setupLines.push(K.join(`
|
|
24
|
-
`)),R},u.generateConditionBranch=function(
|
|
25
|
-
`))},u.generateTemplateLoop=function(
|
|
26
|
-
`)),J},u.generateChildComponent=function(
|
|
22
|
+
})()`;return T.join(`
|
|
23
|
+
`)},u.generateInComponent=function(U,W){if(typeof U==="string"&&this.reactiveMembers&&this.reactiveMembers.has(U))return`${this._self}.${U}.value`;if(typeof U==="string"&&this.componentMembers&&this.componentMembers.has(U))return`${this._self}.${U}`;if(Array.isArray(U)&&this.reactiveMembers){let Z=this.transformComponentMembers(U);return this.generate(Z,W)}return this.generate(U,W)},u.generateRender=function(U,W,Z,Y){throw Error("render blocks can only be used inside a component")},u.generateOffer=function(U,W,Z,Y){throw Error("offer can only be used inside a component")},u.generateAccept=function(U,W,Z,Y){throw Error("accept can only be used inside a component")},u.buildRender=function(U){this._elementCount=0,this._textCount=0,this._blockCount=0,this._createLines=[],this._setupLines=[],this._blockFactories=[],this._loopVarStack=[],this._factoryMode=!1,this._factoryVars=null,this._fragChildren=new Map,this._pendingAutoWire=!1,this._autoWireEl=null,this._autoWireExplicit=null,this._inheritsTargetBound=!1;let W=this.is(U,"block")?U.slice(1):[U],Z;if(W.length===0)Z="null";else if(W.length===1)this._pendingAutoWire=!!this._autoEventHandlers,Z=this.generateNode(W[0]),this._pendingAutoWire=!1;else{Z=this.newElementVar("frag"),this._createLines.push(`${Z} = document.createDocumentFragment();`);let Y=[];for(let R of W){let z=this.generateNode(R);this._createLines.push(`${Z}.appendChild(${z});`),Y.push(z)}this._fragChildren.set(Z,Y)}return{createLines:this._createLines,setupLines:this._setupLines,blockFactories:this._blockFactories,rootVar:Z}},u.newBlockVar=function(){return`create_block_${this._blockCount++}`},u.newElementVar=function(U="el"){let W=`_${U}${this._elementCount++}`;if(this._factoryVars)this._factoryVars.add(W);return this._factoryMode?W:`this.${W}`},u.newTextVar=function(){let U=`_t${this._textCount++}`;if(this._factoryVars)this._factoryVars.add(U);return this._factoryMode?U:`this.${U}`},Object.defineProperty(u,"_self",{get(){return this._factoryMode?"ctx":"this"}}),u._pushEffect=function(U){if(this._factoryMode)this._setupLines.push(`disposers.push(__effect(() => { ${U} }));`);else this._setupLines.push(`__effect(() => { ${U} });`)},u.generateNode=function(U){if(typeof U==="string"||U instanceof String){let M=U.valueOf();if(M.startsWith('"')||M.startsWith("'")||M.startsWith("`")){let q=this.newTextVar();return this._createLines.push(`${q} = document.createTextNode(${M});`),q}if(this.reactiveMembers&&this.reactiveMembers.has(M)){let q=this.newTextVar();return this._createLines.push(`${q} = document.createTextNode('');`),this._pushEffect(`${q}.data = ${this._self}.${M}.value;`),q}if(M==="slot"&&this.componentMembers){let q=this._self,X=this.newElementVar("slot");return this._createLines.push(`${X} = ${q}.children instanceof Node ? ${q}.children : (${q}.children != null ? document.createTextNode(String(${q}.children)) : document.createComment(''));`),X}let[D,J]=M.split("#"),O=this.newElementVar(),Q=D||"div";if(Q1.has(Q)||this._svgDepth>0)this._createLines.push(`${O} = document.createElementNS('${a1}', '${Q}');`);else this._createLines.push(`${O} = document.createElement('${Q}');`);if(J)this._createLines.push(`${O}.id = '${J}';`);return this._bindInheritedTarget(Q,O),O}if(!Array.isArray(U)){let M=this.newElementVar("c");return this._createLines.push(`${M} = document.createComment('unknown');`),M}let[W,...Z]=U,Y=typeof W==="string"?W:W instanceof String?W.valueOf():null;if(Y&&this.isComponent(Y))return this.generateChildComponent(Y,Z);if(Y==="slot"&&this.componentMembers){let M=this._self,D=this.newElementVar("slot");return this._createLines.push(`${D} = ${M}.children instanceof Node ? ${M}.children : (${M}.children != null ? document.createTextNode(String(${M}.children)) : document.createComment(''));`),D}if(Y==="switch"){let M=Z[0],D=Z[1]||[],O=Z[2]||null;for(let q=D.length-1;q>=0;q--){let[,X,G]=D[q],I;if(M===null)I=X.length===1?X[0]:X.reduce((E,K)=>E?["||",E,K]:K,null);else I=X.length===1?["==",M,X[0]]:X.map((E)=>["==",M,E]).reduce((E,K)=>E?["||",E,K]:K,null);O=["if",I,G,O]}if(O){if(Array.isArray(O)&&O[0]==="if")return this.generateConditional(O);return this.generateTemplateBlock(O)}let Q=this.newElementVar("c");return this._createLines.push(`${Q} = document.createComment('switch');`),Q}if(Y&&this.isHtmlTag(Y)&&!A(W,"text")){let[M,D]=Y.split("#");return this.generateTag(M||"div",[],Z,D)}if(Y==="."){let[,M,D]=U;if(M==="this"&&typeof D==="string"){let I=this._self;if(this.reactiveMembers&&this.reactiveMembers.has(D)){let K=this.newTextVar();return this._createLines.push(`${K} = document.createTextNode('');`),this._pushEffect(`${K}.data = ${I}.${D}.value;`),K}let E=this.newElementVar("slot");return this._createLines.push(`${E} = ${I}.${D} instanceof Node ? ${I}.${D} : (${I}.${D} != null ? document.createTextNode(String(${I}.${D})) : document.createComment(''));`),E}let{tag:J,classes:O,id:Q,base:q}=this.collectTemplateClasses(U);if(!A(q,"text")&&J&&this.isHtmlTag(J))return this.generateTag(J,O,[],Q);let X=this.newTextVar(),G=this.generateInComponent(U,"value");return this._createLines.push(`${X} = document.createTextNode(String(${G}));`),X}if(Array.isArray(W)){if(Array.isArray(W[0])&&W[0][0]==="."&&(W[0][2]==="__clsx"||W[0][2]instanceof String&&W[0][2].valueOf()==="__clsx")){let O=W[0][1],Q=W.slice(1);if(Array.isArray(O)){let{tag:X,classes:G,id:I}=this.collectTemplateClasses(O);if(X){let E=G.map((K)=>`"${K}"`);return this.generateDynamicTag(X,Q,Z,E,I)}}let q=typeof O==="string"?O:O.valueOf();return this.generateDynamicTag(q,Q,Z)}let{tag:M,classes:D,id:J}=this.collectTemplateClasses(W);if(M&&this.isHtmlTag(M)){if(D.length>0&&D[D.length-1]==="__clsx"){let Q=D.slice(0,-1).map((q)=>`"${q}"`);return this.generateDynamicTag(M,Z,[],Q,J)}return this.generateTag(M,D,Z,J)}}if(Y==="->"||Y==="=>")return this.generateTemplateBlock(Z[1]);if(Y==="if")return this.generateConditional(U);if(Y==="for"||Y==="for-in"||Y==="for-of"||Y==="for-as")return this.generateTemplateLoop(U);if(Y==="__text__"){let M=Z[0]??"undefined",D=this.newTextVar(),J=this.generateInComponent(M,"value");if(this.hasReactiveDeps(M))this._createLines.push(`${D} = document.createTextNode('');`),this._pushEffect(`${D}.data = String(${J});`);else this._createLines.push(`${D} = document.createTextNode(String(${J}));`);return D}let R=this.newTextVar(),z=this.generateInComponent(U,"value");if(this.hasReactiveDeps(U))this._createLines.push(`${R} = document.createTextNode('');`),this._pushEffect(`${R}.data = ${z};`);else this._createLines.push(`${R} = document.createTextNode(String(${z}));`);return R},u.appendChildren=function(U,W){for(let Z of W)if(this.is(Z,"->")||this.is(Z,"=>")){let Y=Z[2];if(this.is(Y,"block"))for(let R of Y.slice(1))if(this.is(R,"object"))this.generateAttributes(U,R);else{let z=this.generateNode(R);this._createLines.push(`${U}.appendChild(${z});`)}else if(Y){let R=this.generateNode(Y);this._createLines.push(`${U}.appendChild(${R});`)}}else if(this.is(Z,"object"))this.generateAttributes(U,Z);else if(typeof Z==="string"||Z instanceof String){let Y=Z.valueOf(),R=Y.split(/[#.]/)[0];if(this.isHtmlTag(R||"div")||this.isComponent(R)){let z=this.generateNode(Z);this._createLines.push(`${U}.appendChild(${z});`)}else{let z=this.newTextVar();if(Y.startsWith('"')||Y.startsWith("'")||Y.startsWith("`"))this._createLines.push(`${z} = document.createTextNode(${Y});`);else if(this.reactiveMembers&&this.reactiveMembers.has(Y))this._createLines.push(`${z} = document.createTextNode('');`),this._pushEffect(`${z}.data = ${this._self}.${Y}.value;`);else if(this.componentMembers&&this.componentMembers.has(Y))this._createLines.push(`${z} = document.createTextNode(String(${this._self}.${Y}));`);else this._createLines.push(`${z} = document.createTextNode(${this.generateInComponent(Z,"value")});`);this._createLines.push(`${U}.appendChild(${z});`)}}else if(Z){let Y=this.generateNode(Z);this._createLines.push(`${U}.appendChild(${Y});`)}},u._claimAutoWire=function(U){if(!this._pendingAutoWire||!this._autoEventHandlers?.size)return!1;return this._pendingAutoWire=!1,this._autoWireEl=U,this._autoWireExplicit=new Set,!0},u._emitAutoWire=function(U,W){if(!W)return;for(let[Z,Y]of this._autoEventHandlers)if(!this._autoWireExplicit.has(Z))this._createLines.push(`${U}.addEventListener('${Z}', (e) => __batch(() => ${this._self}.${Y}(e)));`);this._autoWireEl=null,this._autoWireExplicit=null},u._bindInheritedTarget=function(U,W){if(!this._inheritsTag||this._factoryMode||this._inheritsTargetBound)return;if(U!==this._inheritsTag)return;this._inheritsTargetBound=!0,this._createLines.push(`this._inheritedEl = ${W};`),this._createLines.push("this._applyRestToInheritedEl();")},u.generateTag=function(U,W,Z,Y){let R=this.newElementVar(),z=Q1.has(U)||this._svgDepth>0;if(z)this._createLines.push(`${R} = document.createElementNS('${a1}', '${U}');`);else this._createLines.push(`${R} = document.createElement('${U}');`);if(Y)this._createLines.push(`${R}.id = '${Y}';`);if(this._bindInheritedTarget(U,R),this._componentName&&this._elementCount===1&&!this._factoryMode&&!this.options.skipDataPart)this._createLines.push(`${R}.setAttribute('data-part', '${this._componentName}');`);let M=this._claimAutoWire(R),D=this._pendingClassArgs,J=this._pendingClassEl;if(W.length>0)this._pendingClassArgs=[`'${W.join(" ")}'`],this._pendingClassEl=R;if(U==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(R,Z),U==="svg")this._svgDepth--;if(W.length>0){if(this._pendingClassArgs.length===1)if(z)this._createLines.push(`${R}.setAttribute('class', '${W.join(" ")}');`);else this._createLines.push(`${R}.className = '${W.join(" ")}';`);else{let O=this._pendingClassArgs.join(", ");if(z)this._pushEffect(`${R}.setAttribute('class', __clsx(${O}));`);else this._pushEffect(`${R}.className = __clsx(${O});`)}this._pendingClassArgs=D,this._pendingClassEl=J}return this._emitAutoWire(R,M),R},u.generateDynamicTag=function(U,W,Z,Y,R){let z=this.newElementVar();if(Q1.has(U)||this._svgDepth>0)this._createLines.push(`${z} = document.createElementNS('${a1}', '${U}');`);else this._createLines.push(`${z} = document.createElement('${U}');`);if(R)this._createLines.push(`${z}.id = '${R}';`);this._bindInheritedTarget(U,z);let M=this._claimAutoWire(z),D=[...Y||[],...W.map((Q)=>this.generateInComponent(Q,"value"))],J=this._pendingClassArgs,O=this._pendingClassEl;if(this._pendingClassArgs=D,this._pendingClassEl=z,U==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(z,Z),U==="svg")this._svgDepth--;if(this._pendingClassArgs.length>0){let Q=this._pendingClassArgs.join(", ");if(Q1.has(U)||this._svgDepth>0)this._pushEffect(`${z}.setAttribute('class', __clsx(${Q}));`);else this._pushEffect(`${z}.className = __clsx(${Q});`)}return this._pendingClassArgs=J,this._pendingClassEl=O,this._emitAutoWire(z,M),z},u.generateAttributes=function(U,W){let Z=K4(W.slice(1));for(let Y=1;Y<W.length;Y++){let[,R,z]=W[Y];if(this.is(R,".")&&R[1]==="this"){let M=R[2];if(this._autoWireExplicit&&this._autoWireEl===U)this._autoWireExplicit.add(M);if(typeof z==="string"&&this.componentMembers?.has(z))this._createLines.push(`${U}.addEventListener('${M}', (e) => __batch(() => ${this._self}.${z}(e)));`);else{let D=this.generateInComponent(z,"value");this._createLines.push(`${U}.addEventListener('${M}', (e) => __batch(() => (${D})(e)));`)}continue}if(typeof R==="string"||R instanceof String){if(R.startsWith('"')&&R.endsWith('"'))R=R.slice(1,-1);if(R==="class"||R==="className"){let D=this.generateInComponent(z,"value");if(this._pendingClassArgs&&this._pendingClassEl===U)this._pendingClassArgs.push(D);else if(this.hasReactiveDeps(z))if(this._svgDepth>0)this._pushEffect(`${U}.setAttribute('class', __clsx(${D}));`);else this._pushEffect(`${U}.className = __clsx(${D});`);else if(this._svgDepth>0)this._createLines.push(`${U}.setAttribute('class', ${D});`);else this._createLines.push(`${U}.className = ${D};`);continue}if(R==="__transition__"){let D=String(z).replace(/^["']|["']$/g,"");this._createLines.push(`this._t = "${D}";`);continue}if(R==="ref"){let D=String(z).replace(/^["']|["']$/g,"");this._createLines.push(`${this._self}.${D} = ${U};`);continue}if(R.startsWith(S2)&&R.endsWith(h2)){let D=R.slice(S2.length,-h2.length),J=this.generateInComponent(z,"value"),O,Q;if(D==="checked")O="change",Q="e.target.checked";else O="input",Q=Z==="number"||Z==="range"?"e.target.valueAsNumber":"e.target.value";this._pushEffect(`${U}.${D} = ${J};`);let q=`${J} = ${Q}`,X=!this.isSimpleAssignable(z)&&this.findRootReactiveMember(z);if(X)q+=`; ${this._self}.${X}.touch?.()`;this._createLines.push(`${U}.addEventListener('${O}', (e) => { ${q}; });`);continue}let M=this.generateInComponent(z,"value");if((R==="value"||R==="checked")&&this.hasReactiveDeps(z)){this._pushEffect(`${U}.${R} = ${M};`);continue}if(R==="innerHTML"||R==="textContent"||R==="innerText")if(this.hasReactiveDeps(z))this._pushEffect(`${U}.${R} = ${M};`);else this._createLines.push(`${U}.${R} = ${M};`);else if(J4.has(R))if(this.hasReactiveDeps(z))this._pushEffect(`${U}.toggleAttribute('${R}', !!${M});`);else this._createLines.push(`if (${M}) ${U}.setAttribute('${R}', '');`);else if(this.hasReactiveDeps(z))if(Array.isArray(z)&&z[0]==="presence")this._pushEffect(`{ const __v = ${M}; __v == null ? ${U}.removeAttribute('${R}') : ${U}.setAttribute('${R}', __v); }`);else this._pushEffect(`${U}.setAttribute('${R}', ${M});`);else if(Array.isArray(z)&&z[0]==="presence")this._createLines.push(`{ const __v = ${M}; if (__v != null) ${U}.setAttribute('${R}', __v); }`);else this._createLines.push(`${U}.setAttribute('${R}', ${M});`)}}},u.generateTemplateBlock=function(U){if(!Array.isArray(U)||U[0]!=="block")return this.generateNode(U);let W=U.slice(1);if(W.length===0){let R=this.newElementVar("empty");return this._createLines.push(`${R} = document.createComment('');`),R}if(W.length===1)return this.generateNode(W[0]);let Z=this.newElementVar("frag");this._createLines.push(`${Z} = document.createDocumentFragment();`);let Y=[];for(let R of W){let z=this.generateNode(R);this._createLines.push(`${Z}.appendChild(${z});`),Y.push(z)}return this._fragChildren.set(Z,Y),Z},u.generateConditional=function(U){this._pendingAutoWire=!1;let[,W,Z,Y]=U,R=this.newElementVar("anchor");this._createLines.push(`${R} = document.createComment('if');`);let z=this.generateInComponent(W,"value"),M=this._loopVarStack.map((G)=>`${G.itemVar}, ${G.indexVar}`).join(", "),D=M?`, ${M}`:"",J=this.newBlockVar();this.generateConditionBranch(J,Z);let O=null;if(Y)O=this.newBlockVar(),this.generateConditionBranch(O,Y);let Q=[];Q.push(`// Conditional: ${J}${O?" / "+O:""}`),Q.push("{"),Q.push(` const anchor = ${R};`),Q.push(" let currentBlock = null;"),Q.push(" let showing = null;");let q=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",X=this._factoryMode?"}));":"});";if(Q.push(` ${q}`),Q.push(` const show = !!(${z});`),Q.push(` const want = show ? 'then' : ${Y?"'else'":"null"};`),Q.push(" if (want === showing) return;"),Q.push(""),Q.push(" if (currentBlock) {"),Q.push(" const leaving = currentBlock;"),Q.push(" if (leaving._t) { __transition(leaving._first, leaving._t, 'leave', () => leaving.d(true)); }"),Q.push(" else { leaving.d(true); }"),Q.push(" currentBlock = null;"),Q.push(" }"),Q.push(" showing = want;"),Q.push(""),Q.push(" if (want === 'then') {"),Q.push(` currentBlock = ${J}(${this._self}${D});`),Q.push(" currentBlock.c();"),Q.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),Q.push(` currentBlock.p(${this._self}${D});`),Q.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),Q.push(" }"),Y)Q.push(" if (want === 'else') {"),Q.push(` currentBlock = ${O}(${this._self}${D});`),Q.push(" currentBlock.c();"),Q.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),Q.push(` currentBlock.p(${this._self}${D});`),Q.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),Q.push(" }");return Q.push(` ${X}`),Q.push("}"),this._setupLines.push(Q.join(`
|
|
24
|
+
`)),R},u.generateConditionBranch=function(U,W){let Z=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let Y=this.generateTemplateBlock(W),R=this._createLines,z=this._setupLines,M=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=Z;let D=this._loopVarStack.map((O)=>`${O.itemVar}, ${O.indexVar}`).join(", "),J=D?`, ${D}`:"";this.emitBlockFactory(U,`ctx${J}`,Y,R,z,M)},u.emitBlockFactory=function(U,W,Z,Y,R,z,M){let D=[];if(D.push(`function ${U}(${W}) {`),z.size>0)D.push(` let ${[...z].join(", ")};`);let J=R.length>0;if(J)D.push(" let disposers = [];");if(D.push(" return {"),M)D.push(" _s: true,");let O=this._fragChildren.get(Z),Q=O?O[0]:Z;D.push(" c() {");for(let q of Y)D.push(` ${q}`);if(D.push(` this._first = ${Q};`),D.push(" },"),D.push(" m(target, anchor) {"),O)for(let q of O)D.push(` if (target) target.insertBefore(${q}, anchor);`);else D.push(` if (target) target.insertBefore(${Z}, anchor);`);if(D.push(" },"),D.push(` p(${W}) {`),J){D.push(" disposers.forEach(d => d());"),D.push(" disposers = [];");for(let q of R)D.push(` ${q}`)}if(D.push(" },"),D.push(" d(detaching) {"),J)D.push(" disposers.forEach(d => d());");if(O)for(let q of O)D.push(` if (detaching && ${q}) ${q}.remove();`);else D.push(` if (detaching && ${Z}) ${Z}.remove();`);D.push(" }"),D.push(" };"),D.push("}"),this._blockFactories.push(D.join(`
|
|
25
|
+
`))},u.generateTemplateLoop=function(U){this._pendingAutoWire=!1;let[W,Z,Y,R,z,M]=U,D=this.newBlockVar(),J=this.newElementVar("anchor");this._createLines.push(`${J} = document.createComment('for');`);let O=Array.isArray(Z)?Z:[Z],Q=O[0],q=O[1]||null;if(!q){let l=new Set(this._loopVarStack.flatMap((n)=>[n.itemVar,n.indexVar]));l.add(Q);for(let n of["i","j","k","l","m","n"])if(!l.has(n)){q=n;break}q=q||`_i${this._loopVarStack.length}`}let X=this.generateInComponent(Y,"value"),G=Q;if(this.is(M,"block")&&M.length>1){let l=M[1];if(Array.isArray(l))for(let n of l){if(this.is(n,"object"))for(let c=1;c<n.length;c++){let[y,b]=n[c];if(y==="key"){G=this.generate(b,"value");break}}if(G!==Q)break}}let I=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let E=this._loopVarStack.map((l)=>`${l.itemVar}, ${l.indexVar}`).join(", "),K=E?`, ${E}`:"";this._loopVarStack.push({itemVar:Q,indexVar:q});let H=this.generateTemplateBlock(M);this._loopVarStack.pop();let P=this._createLines,N=this._setupLines,L=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=I;let B=N.length===0,h=`ctx, ${Q}, ${q}${K}`;this.emitBlockFactory(D,h,H,P,N,L,B);let T=G!==Q?`(${Q}, ${q}) => ${G}`:"null",p=E?`, ${E}`:"",S=[];S.push(`// Loop: ${D}`),S.push("{"),S.push(" const __s = { blocks: [], keys: [] };");let C=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",V=this._factoryMode?"}));":"});";return S.push(` ${C}`),S.push(` __reconcile(${J}, __s, ${X}, ${this._self}, ${D}, ${T}${p});`),S.push(` ${V}`),S.push("}"),this._setupLines.push(S.join(`
|
|
26
|
+
`)),J},u.generateChildComponent=function(U,W){this._pendingAutoWire=!1;let Z=this.newElementVar("inst"),Y=this.newElementVar("el"),{propsCode:R,reactiveProps:z,eventBindings:M,childrenSetupLines:D}=this.buildComponentProps(W),J=this._self;this._createLines.push(`{ const __prev = __pushComponent(${J}); try {`),this._createLines.push(`${Z} = new ${U}(${R});`),this._createLines.push(`${Y} = ${Z}._root = ${Z}._create();`),this._createLines.push(`(${J}._children || (${J}._children = [])).push(${Z});`),this._createLines.push("} finally { __popComponent(__prev); } }");for(let{event:O,value:Q}of M){let q=this.generateInComponent(Q,"value");this._createLines.push(`${Y}.addEventListener('${O}', (e) => __batch(() => (${q})(e)));`)}this._setupLines.push(`try { if (${Z}._setup) ${Z}._setup(); if (${Z}.mounted) ${Z}.mounted(); } catch (__e) { __handleComponentError(__e, ${Z}); }`);for(let{key:O,valueCode:Q}of z)this._pushEffect(`if (${Z}.${O} && typeof ${Z}.${O} === 'object' && 'value' in ${Z}.${O}) ${Z}.${O}.value = ${Q}; else if (${Z}._setRestProp) ${Z}._setRestProp('${O}', ${Q});`);for(let O of D)this._setupLines.push(O);return Y},u.buildComponentProps=function(U){let W=[],Z=[],Y=[],R=null,z=[],M=(O,Q)=>{if(O.startsWith("@")){Y.push({event:O.slice(1).split(".")[0],value:Q});return}if(this.reactiveMembers&&(typeof Q==="string"&&this.reactiveMembers.has(Q)||Array.isArray(Q)&&Q[0]==="."&&Q[1]==="this"&&typeof Q[2]==="string"&&this.reactiveMembers.has(Q[2]))){let X=typeof Q==="string"?Q:Q[2];W.push(`${O}: ${this._self}.${X}`)}else{let X=this.generateInComponent(Q,"value");if(W.push(`${O}: ${X}`),this.hasReactiveDeps(Q))Z.push({key:O,valueCode:X})}},D=(O)=>{for(let Q=1;Q<O.length;Q++){let[,q,X]=O[Q];if(typeof q==="string")M(q,X);else if(Array.isArray(q)&&q[0]==="."&&q[1]==="this"&&typeof q[2]==="string")Y.push({event:q[2],value:X})}};for(let O of U)if(this.is(O,"object"))D(O);else if(Array.isArray(O)&&(O[0]==="->"||O[0]==="=>")){let Q=O[2];if(Q){if(this.is(Q,"block")){let q=[];for(let X of Q.slice(1))if(this.is(X,"object"))D(X);else q.push(X);Q=q.length>0?["block",...q]:null}if(Q){let q=this._createLines,X=this._setupLines;this._createLines=[],this._setupLines=[],R=this.generateTemplateBlock(Q);let G=this._createLines,I=this._setupLines;this._createLines=q,this._setupLines=X;for(let E of G)this._createLines.push(E);z.push(...I),W.push(`children: ${R}`)}}}else if(O&&!R){let Q=this.newTextVar(),q=this.generateInComponent(O,"value");if(this.hasReactiveDeps(O)){this._createLines.push(`${Q} = document.createTextNode('');`);let X=`${Q}.data = ${q};`,G=this._factoryMode?`disposers.push(__effect(() => { ${X} }));`:`__effect(() => { ${X} });`;z.push(G)}else this._createLines.push(`${Q} = document.createTextNode(${q});`);R=Q,W.push(`children: ${R}`)}return{propsCode:W.length>0?`{ ${W.join(", ")} }`:"{}",reactiveProps:Z,eventBindings:Y,childrenSetupLines:z}},u.hasReactiveDeps=function(U){if(typeof U==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(U));if(!Array.isArray(U))return!1;if(U[0]==="."&&U[1]==="this"&&typeof U[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(U[2]));if(U[0]==="."&&this._rootsAtThis(U[1]))return!0;if(Array.isArray(U[0])&&U[0][0]==="."&&U[0][1]==="this"){let W=$(U[0][2]);if(W&&this.componentMembers?.has(W))return!0}for(let W of U)if(this.hasReactiveDeps(W))return!0;return!1},u.isSimpleAssignable=function(U){if(typeof U==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(U));if(Array.isArray(U)&&U[0]==="."&&U[1]==="this"&&typeof U[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(U[2]));return!1},u.findRootReactiveMember=function(U){if(typeof U==="string")return this.reactiveMembers?.has(U)?U:null;if(!Array.isArray(U))return null;if(U[0]==="."&&U[1]==="this"&&typeof U[2]==="string")return this.reactiveMembers?.has(U[2])?U[2]:null;if(U[0]==="."||U[0]==="[]")return this.findRootReactiveMember(U[1]);return null},u._rootsAtThis=function(U){if(typeof U==="string")return U==="this";if(!Array.isArray(U)||U[0]!==".")return!1;return this._rootsAtThis(U[1])},u.getComponentRuntime=function(){return`
|
|
27
27
|
// ============================================================================
|
|
28
28
|
// Rip Component Runtime
|
|
29
29
|
// ============================================================================
|
|
@@ -304,26 +304,28 @@ if (typeof globalThis !== 'undefined') {
|
|
|
304
304
|
globalThis.__ripComponent = { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component };
|
|
305
305
|
}
|
|
306
306
|
|
|
307
|
-
`}}function H1(f){let w="",
|
|
308
|
-
`)>=0){let
|
|
309
|
-
`).map((
|
|
307
|
+
`}}function H1(f){let w="",A=f<0?-f<<1|1:f<<1;do{let _=A&31;if(A>>>=5,A>0)_|=32;w+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[_]}while(A>0);return w}class t1{constructor(f,w,A=null){this.file=f,this.source=w,this.sourceContent=A,this.names=[],this.nameIndex=new Map,this.lines=[],this.mappings=[],this.prevGenCol=0,this.prevOrigLine=0,this.prevOrigCol=0,this.prevNameIdx=0,this.currentLine=-1}ensureLine(f){while(this.lines.length<=f)this.lines.push([])}addName(f){if(this.nameIndex.has(f))return this.nameIndex.get(f);let w=this.names.length;return this.names.push(f),this.nameIndex.set(f,w),w}addMapping(f,w,A,_,u){if(this.ensureLine(f),this.currentLine!==f)this.prevGenCol=0,this.currentLine=f;if(A==null){this.lines[f].push(H1(w-this.prevGenCol)),this.prevGenCol=w;return}this.mappings.push({genLine:f,genCol:w,origLine:A,origCol:_});let $=H1(w-this.prevGenCol);if(this.prevGenCol=w,$+=H1(0),$+=H1(A-this.prevOrigLine),this.prevOrigLine=A,$+=H1(_-this.prevOrigCol),this.prevOrigCol=_,u!=null){let F=this.addName(u);$+=H1(F-this.prevNameIdx),this.prevNameIdx=F}this.lines[f].push($)}toReverseMap(){let f=new Map;for(let w of this.mappings){if(!f.has(w.origLine))f.set(w.origLine,[]);f.get(w.origLine).push({origCol:w.origCol,genLine:w.genLine,genCol:w.genCol})}return f}toJSON(){let f=this.lines.map((A)=>A.join(",")).join(";"),w={version:3,file:this.file,sources:[this.source],names:this.names,mappings:f};if(this.sourceContent!=null)w.sourcesContent=[this.sourceContent];return JSON.stringify(w)}}var t=(f,w)=>f instanceof String?f[w]:void 0,m=(f)=>f instanceof String?f.valueOf():f,X4=new Set(["+","-","*","/","%","//","%%","**","==","!=","<",">","<=",">=","===","!==","&&","||","??","!?","not","&","|","^","<<",">>",">>>","=",".","?.","[]","!","typeof","void","delete","new","...","rest","expansion","optindex","optcall"]),G4=new Set(["def","class","if","unless","for-in","for-of","for-as","while","until","loop","switch","try","throw"]),H4=new Set(["true","false","null","undefined","Infinity","NaN"]);function j1(f){if(!Array.isArray(f)||f.length===0)return!1;let w=f[0]?.valueOf?.()??f[0];if(X4.has(w))return!0;return f.length<=4&&!f.some(Array.isArray)}function P1(f){if(Array.isArray(f))return"(???)";if(typeof f==="number")return String(f);if(f===null)return"null";if(f==="")return'""';let w=String(f);if(w[0]==="/"&&w.indexOf(`
|
|
308
|
+
`)>=0){let A=w.match(/\/([gimsuvy]*)$/),_=A?A[1]:"",u=w.slice(1);return u=_?u.slice(0,-_.length-1):u.slice(0,-1),`"/${u.split(`
|
|
309
|
+
`).map((U)=>U.replace(/#.*$/,"").trim()).join("")}/${_}"`}return w}function F1(f,w=0,A=!1){if(!Array.isArray(f))return P1(f);if(A&&f[0]==="program"){let Z=f[1],R=[Array.isArray(Z)?"(program":"(program "+P1(Z)],z=Array.isArray(Z)?1:2;for(let M=z;M<f.length;M++){let D=F1(f[M],2,!1);R.push(D[0]==="("?" "+D:D)}return R.push(")"),R.join(`
|
|
310
310
|
`)}let _=f[0];if(j1(f)&&f.slice(1).every((Z)=>!Array.isArray(Z)||j1(Z))){let Y=`(${f.map((R)=>Array.isArray(R)?F1(R,0,!1):P1(R)).join(" ")})`;if(!Y.includes(`
|
|
311
311
|
`))return" ".repeat(w)+Y}let $=" ".repeat(w),F;if(Array.isArray(_)){if(F=F1(_,0,!1),F.includes(`
|
|
312
312
|
`))F=F.split(`
|
|
313
313
|
`).map((Y,R)=>R===0?Y:" ".repeat(w+2)+Y).join(`
|
|
314
|
-
`)}else F=P1(_);let
|
|
315
|
-
`)){
|
|
316
|
-
`)}class
|
|
317
|
-
`).length}}recordSubMappings(f,w,
|
|
318
|
-
`),O=
|
|
319
|
-
`))return`\`${F.replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}\``;let
|
|
320
|
-
`),Y=!1;if($.length>0)u+=$.map((
|
|
321
|
-
`),Y=!0;if(this.programVars.size>0){let
|
|
322
|
-
`;u+=`let ${
|
|
323
|
-
`,Y=!0}
|
|
324
|
-
`;u
|
|
325
|
-
`,Y=!0
|
|
326
|
-
|
|
314
|
+
`)}else F=P1(_);let U=[`${$}(${F}`],W=_==="block";for(let Z=1;Z<f.length;Z++){let Y=f[Z];if(!Array.isArray(Y))U[U.length-1]+=" "+P1(Y);else{let R=j1(Y)&&Y.every((z)=>!Array.isArray(z)||j1(z));if(!W&&R){let z=F1(Y,0,!1);if(!z.includes(`
|
|
315
|
+
`)){U[U.length-1]+=" "+z;continue}}U.push(F1(Y,w+2,!1))}}return U[U.length-1]+=")",U.join(`
|
|
316
|
+
`)}class f1{static ASSIGNMENT_OPS=new Set(["=","+=","-=","*=","/=","?=","&=","|=","^=","%=","**=","??=","&&=","||=","<<=",">>=",">>>="]);static NUMBER_LITERAL_RE=/^-?\d+(\.\d+)?([eE][+-]?\d+)?$/;static NUMBER_START_RE=/^-?\d/;static GENERATORS={program:"generateProgram","&&":"generateLogicalAnd","||":"generateLogicalOr","+":"generateBinaryOp","-":"generateBinaryOp","*":"generateBinaryOp","/":"generateBinaryOp","%":"generateBinaryOp","**":"generateBinaryOp","==":"generateBinaryOp","===":"generateBinaryOp","!=":"generateBinaryOp","!==":"generateBinaryOp","<":"generateBinaryOp",">":"generateBinaryOp","<=":"generateBinaryOp",">=":"generateBinaryOp","??":"generateBinaryOp","!?":"generateBinaryOp","&":"generateBinaryOp","|":"generateBinaryOp","^":"generateBinaryOp","<<":"generateBinaryOp",">>":"generateBinaryOp",">>>":"generateBinaryOp","%%":"generateModulo","%%=":"generateModuloAssign","//":"generateFloorDiv","//=":"generateFloorDivAssign","..":"generateRange","=":"generateAssignment","+=":"generateAssignment","-=":"generateAssignment","*=":"generateAssignment","/=":"generateAssignment","%=":"generateAssignment","**=":"generateAssignment","&&=":"generateAssignment","||=":"generateAssignment","??=":"generateAssignment","?=":"generateAssignment","&=":"generateAssignment","|=":"generateAssignment","^=":"generateAssignment","<<=":"generateAssignment",">>=":"generateAssignment",">>>=":"generateAssignment","...":"generateRange","!":"generateNot","~":"generateBitwiseNot","++":"generateIncDec","--":"generateIncDec","=~":"generateRegexMatch",instanceof:"generateInstanceof",in:"generateIn",of:"generateOf",typeof:"generateTypeof",delete:"generateDelete",new:"generateNew",array:"generateArray",object:"generateObject","map-literal":"generateMap",block:"generateBlock",".":"generatePropertyAccess","?.":"generateOptionalProperty","[]":"generateIndexAccess",optindex:"generateOptIndex",optcall:"generateOptCall","regex-index":"generateRegexIndex",def:"generateDef","->":"generateThinArrow","=>":"generateFatArrow",return:"generateReturn",state:"generateState",computed:"generateComputed",readonly:"generateReadonly",effect:"generateEffect",break:"generateBreak",continue:"generateContinue","?":"generateExistential",defined:"generateDefined",presence:"generatePresence","?:":"generateTernary","|>":"generatePipe",loop:"generateLoop","loop-n":"generateLoopN",await:"generateAwait",yield:"generateYield","yield-from":"generateYieldFrom",if:"generateIf","for-in":"generateForIn","for-of":"generateForOf","for-as":"generateForAs",while:"generateWhile",try:"generateTry",throw:"generateThrow",control:"generateControl",switch:"generateSwitch",when:"generateWhen",comprehension:"generateComprehension","object-comprehension":"generateObjectComprehension",class:"generateClass",super:"generateSuper",component:"generateComponent",render:"generateRender",offer:"generateOffer",accept:"generateAccept",enum:"generateEnum",import:"generateImport",export:"generateExport","export-default":"generateExportDefault","export-all":"generateExportAll","export-from":"generateExportFrom","do-iife":"generateDoIIFE",regex:"generateRegex","tagged-template":"generateTaggedTemplate",str:"generateString"};constructor(f={}){if(this.options=f,this.indentLevel=0,this.indentString=" ",this.comprehensionDepth=0,this.dataSection=f.dataSection,this.sourceMap=f.sourceMap||null,f.reactiveVars)this.reactiveVars=new Set(f.reactiveVars)}compile(f){this.programVars=new Set,this.functionVars=new Map,this.helpers=new Set,this.scopeStack=[],this.collectProgramVariables(f);let w=this.generate(f);if(this.sourceMap)this.buildMappings();return w}buildMappings(){if(!this._stmtEntries)return;let f=this._preambleLines;for(let w of this._stmtEntries){if(w.loc)this.sourceMap.addMapping(f,0,w.loc.r,w.loc.c);if(w.sexpr&&w.loc)this.recordSubMappings(w.code,w.sexpr,f);f+=w.code.split(`
|
|
317
|
+
`).length}}recordSubMappings(f,w,A){let _=w.loc?w.loc.r:0,u=[];this.collectSubExprs(w,u);for(let{name:$,origLine:F,origCol:U}of u){let W=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Z=new RegExp("\\b"+W+"\\b","g"),Y,R=null,z=1/0,M=F-_;while((Y=Z.exec(f))!==null){let J=f.substring(0,Y.index).split(`
|
|
318
|
+
`),O=A+J.length-1,Q=J[J.length-1].length,q=J.length-1,X=Math.abs(q-M)*1e4+Math.abs(Q-U);if(X<z)z=X,R={genLine:O,genCol:Q}}if(R)this.sourceMap.addMapping(R.genLine,R.genCol,F,U)}}collectSubExprs(f,w){if(!Array.isArray(f))return;let A=f[0];if(Array.isArray(A)||A!=null&&typeof A!=="string"&&!(A instanceof String)){for(let _=0;_<f.length;_++)if(Array.isArray(f[_]))this.collectSubExprs(f[_],w);return}if(f.loc){A=m(A);let _=null;if(A==="."){if(typeof f[2]==="string")_=f[2]}else if(typeof A==="string"&&/^[=+\-*/%<>!&|?~^]|^\.\.?$|^def$|^class$|^state$|^computed$|^readonly$|^for-/.test(A)){if(typeof f[1]==="string"&&/^[a-zA-Z_$]/.test(f[1]))_=f[1]}else if(typeof A==="string"&&/^[a-zA-Z_$]/.test(A))_=A;if(_)w.push({name:_,origLine:f.loc.r,origCol:f.loc.c})}for(let _=1;_<f.length;_++)if(Array.isArray(f[_]))this.collectSubExprs(f[_],w)}collectProgramVariables(f){if(!Array.isArray(f))return;let[w,...A]=f;if(w=m(w),Array.isArray(w)){f.forEach((_)=>this.collectProgramVariables(_));return}if(w==="export"||w==="export-default"||w==="export-all"||w==="export-from")return;if(w==="state"||w==="computed"){let[_]=A,u=m(_)??_;if(!this.reactiveVars)this.reactiveVars=new Set;this.reactiveVars.add(u);return}if(w==="readonly"){let[_]=A,u=m(_)??_;if(!this.readonlyVars)this.readonlyVars=new Set;this.readonlyVars.add(u);return}if(w==="component")return;if(w==="enum")return;if(f1.ASSIGNMENT_OPS.has(w)){let[_,u]=A;if(typeof _==="string"||_ instanceof String){let $=m(_);if(!this.reactiveVars?.has($)&&!this.readonlyVars?.has($))this.programVars.add($)}else if(this.is(_,"array"))this.collectVarsFromArray(_,this.programVars);else if(this.is(_,"object"))this.collectVarsFromObject(_,this.programVars);this.collectProgramVariables(u);return}if(w==="def"||w==="->"||w==="=>"||w==="effect")return;if(w==="if"){let[_,u,$]=A;if(this.collectProgramVariables(_),this.collectProgramVariables(u),$)this.collectProgramVariables($);return}if(w==="try"){if(this.collectProgramVariables(A[0]),A.length>=2&&Array.isArray(A[1])&&A[1].length===2&&A[1][0]!=="block"){let[_,u]=A[1];if(_&&this.is(_,"object"))_.slice(1).forEach(($)=>{if(Array.isArray($)&&$.length===2&&typeof $[1]==="string")this.programVars.add($[1])});else if(_&&this.is(_,"array"))_.slice(1).forEach(($)=>{if(typeof $==="string")this.programVars.add($)});this.collectProgramVariables(u)}if(A.length===3)this.collectProgramVariables(A[2]);else if(A.length===2&&(!Array.isArray(A[1])||A[1][0]==="block"))this.collectProgramVariables(A[1]);return}A.forEach((_)=>this.collectProgramVariables(_))}collectFunctionVariables(f){let w=new Set,A=(_)=>{if(!Array.isArray(_))return;let[u,...$]=_;if(u=m(u),Array.isArray(u)){_.forEach((F)=>A(F));return}if(f1.ASSIGNMENT_OPS.has(u)){let[F,U]=$;if(typeof F==="string")w.add(F);else if(this.is(F,"array"))this.collectVarsFromArray(F,w);else if(this.is(F,"object"))this.collectVarsFromObject(F,w);A(U);return}if(u==="def"||u==="->"||u==="=>"||u==="effect")return;if(u==="try"){if(A($[0]),$.length>=2&&Array.isArray($[1])&&$[1].length===2&&$[1][0]!=="block"){let[F,U]=$[1];if(F&&this.is(F,"object"))F.slice(1).forEach((W)=>{if(Array.isArray(W)&&W.length===2&&typeof W[1]==="string")w.add(W[1])});else if(F&&this.is(F,"array"))F.slice(1).forEach((W)=>{if(typeof W==="string")w.add(W)});A(U)}if($.length===3)A($[2]);else if($.length===2&&(!Array.isArray($[1])||$[1][0]==="block"))A($[1]);return}$.forEach((F)=>A(F))};return A(f),w}generate(f,w="statement"){if(f instanceof String){if(t(f,"await")===!0)return`await ${m(f)}()`;if(t(f,"predicate"))return`(${m(f)} != null)`;if(t(f,"delimiter")==="///"&&t(f,"heregex")){let U=m(f),W=U.match(/^\/(.*)\/([gimsuvy]*)$/s);if(W){let[,Z,Y]=W;return`/${this.processHeregex(Z)}/${Y}`}return U}let F=t(f,"quote");if(F){let U=m(f);if(F==='"""'||F==="'''"){let Z=this.extractStringContent(f);return Z=Z.replace(/`/g,"\\`").replace(/\${/g,"\\${"),`\`${Z}\``}if(U[0]===F)return U;let W=U.slice(1,-1);return`${F}${W}${F}`}f=m(f)}if(typeof f==="string"){if(f.startsWith('"')||f.startsWith("'")||f.startsWith("`")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive:",f);let F=f.slice(1,-1);if(F.includes(`
|
|
319
|
+
`))return`\`${F.replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}\``;let U=F.includes("'")&&!F.includes('"')?'"':"'",W=F.replace(new RegExp(U,"g"),`\\${U}`);return`${U}${W}${U}`}if(this.reactiveVars?.has(f)&&!this.suppressReactiveUnwrap)return`${f}.value`;return f}if(typeof f==="number")return String(f);if(f===null||f===void 0)return"null";if(!Array.isArray(f))throw Error(`Invalid s-expression: ${JSON.stringify(f)}`);let[A,..._]=f,u=t(A,"await");A=m(A);let $=f1.GENERATORS[A];if($)return this[$](A,_,w,f);if(typeof A==="string"&&!A.startsWith('"')&&!A.startsWith("'")){if(f1.NUMBER_START_RE.test(A))return A;if(A==="super"&&this.currentMethodName&&this.currentMethodName!=="constructor"){let Y=_.map((R)=>this.unwrap(this.generate(R,"value"))).join(", ");return`super.${this.currentMethodName}(${Y})`}if(w==="statement"&&_.length===1){let Y=this.findPostfixConditional(_[0]);if(Y){let R=this.rebuildWithoutConditional(Y),z=this.generate(A,"value"),M=this.generate(Y.condition,"value"),D=this.generate(R,"value"),J=`${z}(${D})`;return`if (${M}) ${J}`}}let F=u===!0,U=this.generate(A,"value"),W=_.map((Y)=>this.unwrap(this.generate(Y,"value"))).join(", "),Z=`${U}(${W})`;return F?`await ${Z}`:Z}if(Array.isArray(A)&&typeof A[0]==="string"){if(["=","+=","-=","*=","/=","%=","**=","&&=","||=","??=","if","return","throw"].includes(A[0]))return`(${f.map((W)=>this.generate(W,"value")).join(", ")})`}if(Array.isArray(A)){if(A[0]==="."&&(A[2]==="new"||m(A[2])==="new")){let Y=A[1],R=this.generate(Y,"value"),z=_.map((D)=>this.unwrap(this.generate(D,"value"))).join(", ");return`new ${Array.isArray(Y)?`(${R})`:R}(${z})`}if(w==="statement"&&_.length===1){let Y=this.findPostfixConditional(_[0]);if(Y){let R=this.rebuildWithoutConditional(Y),z=this.generate(A,"value"),M=this.generate(Y.condition,"value"),D=this.generate(R,"value"),J=`${z}(${D})`;return`if (${M}) ${J}`}}let F=!1,U;if(A[0]==="."&&t(A[2],"await")===!0){F=!0;let[Y,R]=A.slice(1),z=this.generate(Y,"value");U=`${f1.NUMBER_LITERAL_RE.test(z)||(this.is(Y,"object")||this.is(Y,"await")||this.is(Y,"yield"))?`(${z})`:z}.${m(R)}`}else U=this.generate(A,"value");let W=_.map((Y)=>this.unwrap(this.generate(Y,"value"))).join(", "),Z=`${U}(${W})`;return F?`await ${Z}`:Z}throw Error(`Unknown s-expression type: ${A}`)}generateProgram(f,w,A,_){let u="",$=[],F=[];for(let M of w){if(!Array.isArray(M)){F.push(M);continue}if(M[0]==="import")$.push(M);else F.push(M)}let U=["def","class","if","for-in","for-of","for-as","while","loop","switch","try"],W=F.map((M,D)=>{let J=F.length===1&&$.length===0,O=this.is(M,"object"),Q=O&&M.length===2&&Array.isArray(M[1])&&Array.isArray(M[1][2])&&M[1][2][0]==="comprehension",q=this.is(M,"comprehension")||this.is(M,"object-comprehension")||this.is(M,"do-iife"),X=this.programVars.size===0,G=J&&O&&X&&!q&&!Q,E=D===F.length-1&&q,K;if(G)K=`(${this.generate(M,"value")})`;else if(E)K=this.generate(M,"value");else K=this.generate(M,"statement");if(K&&!K.endsWith(";")){let P=Array.isArray(M)?M[0]:null;if(!U.includes(P)||!K.endsWith("}"))K+=";"}let H=Array.isArray(M)?M.loc:null;return{code:K,loc:H,sexpr:Array.isArray(M)?M:null}}),Z=W.map((M)=>M.code).join(`
|
|
320
|
+
`),Y=!1;if($.length>0)u+=$.map((M)=>this.addSemicolon(M,this.generate(M,"statement"))).join(`
|
|
321
|
+
`),Y=!0;if(this.programVars.size>0){let M=this.programVars.has("_");if(M)this.programVars.delete("_");if(this.programVars.size>0){let D=Array.from(this.programVars).sort().join(", ");if(Y)u+=`
|
|
322
|
+
`;u+=`let ${D};
|
|
323
|
+
`,Y=!0}if(M){if(Y)u+=`
|
|
324
|
+
`;u+=`var _;
|
|
325
|
+
`,Y=!0}}let R=this.options.skipPreamble,z=this.options.skipRuntimes;if(!R){if(Y)u+=`
|
|
326
|
+
`;u+=B1(),Y=!0;let M=z?"var":"const";if(this.helpers.has("slice"))u+=`${M} slice = [].slice;
|
|
327
|
+
`,Y=!0;if(this.helpers.has("modulo"))u+=`${M} modulo = (n, d) => { n = +n; d = +d; return (n % d + d) % d; };
|
|
328
|
+
`,Y=!0;if(this.helpers.has("toMatchable"))u+=`${M} toMatchable = (v, allowNewlines) => {
|
|
327
329
|
`,u+=` if (typeof v === "string") return !allowNewlines && /[\\n\\r]/.test(v) ? null : v;
|
|
328
330
|
`,u+=` if (v == null) return "";
|
|
329
331
|
`,u+=` if (typeof v === "number" || typeof v === "bigint" || typeof v === "boolean") return String(v);
|
|
@@ -349,143 +351,143 @@ _setDataSection();
|
|
|
349
351
|
|
|
350
352
|
function _setDataSection() {
|
|
351
353
|
DATA = ${JSON.stringify(this.dataSection)};
|
|
352
|
-
}`;return u}generateBinaryOp(f,w,U,_){if((f==="+"||f==="-")&&w.length===1)return`(${f}${this.generate(w[0],"value")})`;let[u,$]=w;if(f==="*"){let A=u?.valueOf?.()??u;if(typeof A==="string"&&/^["']/.test(A))return`${this.generate(u,"value")}.repeat(${this.generate($,"value")})`}let F=new Set(["<",">","<=",">="]);if(F.has(f)&&Array.isArray(u)){let A=u[0]?.valueOf?.()??u[0];if(F.has(A)){let W=this.generate(u[1],"value"),Z=this.generate(u[2],"value"),Y=this.generate($,"value");return`((${W} ${A} ${Z}) && (${Z} ${f} ${Y}))`}}if(f==="!?"){let A=this.generate(u,"value"),W=this.generate($,"value");return`(${A} !== undefined ? ${A} : ${W})`}if(f==="==")f="===";if(f==="!=")f="!==";return`(${this.generate(u,"value")} ${f} ${this.generate($,"value")})`}generateModulo(f,w){let[U,_]=w;return this.helpers.add("modulo"),`modulo(${this.generate(U,"value")}, ${this.generate(_,"value")})`}generateModuloAssign(f,w){let[U,_]=w;this.helpers.add("modulo");let u=this.generate(U,"value"),$=this.generate(_,"value");return`${u} = modulo(${u}, ${$})`}generateFloorDiv(f,w){let[U,_]=w;return`Math.floor(${this.generate(U,"value")} / ${this.generate(_,"value")})`}generateFloorDivAssign(f,w){let[U,_]=w,u=this.generate(U,"value"),$=this.generate(_,"value");return`${u} = Math.floor(${u} / ${$})`}generateAssignment(f,w,U,_){let[u,$]=w,F=f==="?="?"??=":f,A=this._findOptionalInTarget(u);if(A){let K=this.generate(A.guard,"value"),q=this.generate(A.rewritten,"value"),G=this.generate($,"value");if(U==="value")return`(${K} != null ? (${q} ${F} ${G}) : undefined)`;return`if (${K} != null) ${q} ${F} ${G}`}let W=this.is($,"->")||this.is($,"=>")||this.is($,"def");if(u instanceof String&&t(u,"await")!==void 0&&!W){let K=t(u,"await")===!0?"!":"&";throw Error(`Cannot use ${K} sigil in variable declaration '${m(u)}'.`)}if(u instanceof String&&t(u,"await")===!0&&W)this.nextFunctionIsVoid=!0;let Z=this.is(u,"array",0),Y=this.is(u,"object",0);if(Z||Y){let K=this.generate($,"value");return Y&&U==="statement"?`(${K})`:K}if(Array.isArray($)&&F==="="&&$[0]==="control"){let[,K,q,G]=$,M=m(K),I=G[0]==="return",E=this.generate(u,"value"),D=this.generate(q,"value"),H=G.length>1?G[1]:null,P=I?H?`return ${this.generate(H,"value")}`:"return":H?`throw ${this.generate(H,"value")}`:"throw new Error()";if(U==="value"){if(M==="??")return`(() => { const __v = ${D}; if (__v == null) ${P}; return (${E} = __v); })()`;if(M==="||")return`(() => { const __v = ${D}; if (!__v) ${P}; return (${E} = __v); })()`;return`(() => { const __v = ${D}; if (__v) ${P}; return (${E} = __v); })()`}if(M==="??")return`if ((${E} = ${D}) == null) ${P}`;if(M==="||")return`if (!(${E} = ${D})) ${P}`;return`if ((${E} = ${D})) ${P}`}if(this.is(u,"array")){let K=u.slice(1).findIndex((q)=>this.is(q,"...")||q==="...");if(K!==-1&&K<u.length-2){let q=u.slice(1),G=q.slice(K+1),M=G.length;if(M>0){let I=this.generate($,"value"),D=q.slice(0,K).map((B)=>B===","?"":typeof B==="string"?B:this.generate(B,"value")).join(", "),H=G.map((B)=>B===","?"":typeof B==="string"?B:this.generate(B,"value")).join(", ");this.helpers.add("slice"),q.forEach((B)=>{if(B===","||B==="...")return;if(typeof B==="string")this.programVars.add(B);else if(this.is(B,"...")&&typeof B[1]==="string")this.programVars.add(B[1])});let P=q[K],N=this.is(P,"...")?P[1]:null,L=[];if(D)L.push(`[${D}] = ${I}`);if(N)L.push(`[...${N}] = ${I}.slice(${K}, -${M})`);return L.push(`[${H}] = slice.call(${I}, -${M})`),L.join(", ")}}}if(U==="statement"&&f==="="&&Array.isArray($)&&($[0]==="||"||$[0]==="&&")&&$.length===3){let[K,q,G]=$;if(this.is(G,"if")&&G.length===3){let[,M,I]=G,E=Array.isArray(I)&&I.length===1?I[0]:I,D=[K,q,E],H=this.generate(u,"value"),P=this.generate(M,"value"),N=this.generate(D,"value");return`if (${P}) ${H} = ${N}`}}if(U==="statement"&&f==="="&&Array.isArray($)&&$.length===3){let[K,q,G]=$,M=Array.isArray(G)&&G.length===1&&(!Array.isArray(G[0])||G[0][0]!=="block");if(K==="if"&&M){let I=Array.isArray(G)&&G.length===1?G[0]:G,E=this.generate(u,"value"),D=this.unwrapLogical(this.generate(q,"value")),H=this.generate(I,"value");return`if (${D}) ${E} = ${H}`}}let R;if(u instanceof String&&t(u,"await")!==void 0)R=m(u);else if(typeof u==="string"&&this.reactiveVars?.has(u))R=`${u}.value`;else R=this.generate(u,"value");let z=this._componentName;if(this.is($,"component")&&(typeof u==="string"||u instanceof String))this._componentName=m(u);let Q=this.generate($,"value");if(this._componentName=z,!this.is($,"object"))Q=this.unwrap(Q);let J=U==="value",O=U==="statement"&&this.is(u,"object");if(J||O)return`(${R} ${F} ${Q})`;return`${R} ${F} ${Q}`}generatePropertyAccess(f,w,U,_){let[u,$]=w;if(this._atParamMap&&u==="this"){let Z=this._atParamMap.get(m($));if(Z)return Z}let F=this.generate(u,"value"),W=$1.NUMBER_LITERAL_RE.test(F)||F.startsWith("await ")||(this.is(u,"object")||this.is(u,"yield"))?`(${F})`:F;if(t($,"await")===!0)return`await ${W}.${m($)}()`;if(t($,"predicate"))return`(${W}.${m($)} != null)`;return`${W}.${m($)}`}generateOptionalProperty(f,w){let[U,_]=w;return`${this.generate(U,"value")}?.${_}`}generateRegexIndex(f,w){let[U,_,u]=w;this.helpers.add("toMatchable"),this.programVars.add("_");let $=this.generate(U,"value"),F=this.generate(_,"value"),A=u!==null?this.generate(u,"value"):"0",W=F.includes("/m")?", true":"";return`(_ = toMatchable(${$}${W}).match(${F})) && _[${A}]`}generateIndexAccess(f,w){let[U,_]=w;if(this.is(_,"..")||this.is(_,"...")){let u=_[0]==="..",$=this.generate(U,"value"),[F,A]=_.slice(1),W=(z)=>{if(z===null)return null;let Q=m(z)??z;if(typeof Q==="number")return Q;if(typeof Q==="string"&&/^\d+$/.test(Q))return+Q;if(Array.isArray(z)&&z[0]==="-"&&z.length===2){let X=m(z[1])??z[1];if(typeof X==="number")return-X;if(typeof X==="string"&&/^\d+$/.test(X))return-X}return null},Z=(z,Q,X)=>{let J=W(X);if(J!==null&&J!==-1)return`${$}.slice(${z}, ${J+1})`;return`${$}.slice(${z}, +${Q} + 1 || 9e9)`};if(F===null&&A===null)return`${$}.slice()`;if(F===null){if(u&&this.is(A,"-",1)&&(m(A[1])??A[1])==1)return`${$}.slice(0)`;let z=this.generate(A,"value");return u?Z("0",z,A):`${$}.slice(0, ${z})`}if(A===null)return`${$}.slice(${this.generate(F,"value")})`;let Y=this.generate(F,"value");if(u&&this.is(A,"-",1)&&(m(A[1])??A[1])==1)return`${$}.slice(${Y})`;let R=this.generate(A,"value");return u?Z(Y,R,A):`${$}.slice(${Y}, ${R})`}if(this.is(_,"-",1)){let u=m(_[1])??_[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.generate(U,"value")}.at(-${u})`}return`${this.generate(U,"value")}[${this.unwrap(this.generate(_,"value"))}]`}generateOptIndex(f,w){let[U,_]=w;if(this.is(_,"-",1)){let u=m(_[1])??_[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.generate(U,"value")}?.at(-${u})`}return`${this.generate(U,"value")}?.[${this.generate(_,"value")}]`}generateOptCall(f,w){let[U,..._]=w;return`${this.generate(U,"value")}?.(${_.map((u)=>this.generate(u,"value")).join(", ")})`}generateDef(f,w,U,_){let[u,$,F]=w,A=t(u,"await")===!0,W=m(u),Z=this.generateParamList($),Y=this.generateFunctionBody(F,$,A),R=this.containsAwait(F),z=this.containsYield(F);return`${R?"async ":""}function${z?"*":""} ${W}(${Z}) ${Y}`}generateThinArrow(f,w,U,_){let[u,$]=w;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt($))u=["it"];let F=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let A=this.generateParamList(u),W=this.generateFunctionBody($,u,F),Z=this.containsAwait($),Y=this.containsYield($),R=`${Z?"async ":""}function${Y?"*":""}(${A}) ${W}`;return U==="value"?`(${R})`:R}generateFatArrow(f,w,U,_){let[u,$]=w;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt($))u=["it"];let F=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let A=this.generateParamList(u),Z=u.length===1&&typeof u[0]==="string"&&!A.includes("=")&&!A.includes("...")&&!A.includes("[")&&!A.includes("{")?A:`(${A})`,R=this.containsAwait($)?"async ":"";if(!F){if(this.is($,"block")&&$.length===2){let Q=$[1],X=Array.isArray(Q)?Q[0]:null;if(X!=="return"&&!G7.has(X)){let J=this.generate(Q,"value");if(J[0]==="{")J=`(${J})`;return`${R}${Z} => ${J}`}}if(!Array.isArray($)||$[0]!=="block"){let Q=this.generate($,"value");if(Q[0]==="{")Q=`(${Q})`;return`${R}${Z} => ${Q}`}}let z=this.generateFunctionBody($,u,F);return`${R}${Z} => ${z}`}generateReturn(f,w,U,_){if(w.length===0)return"return";let[u]=w;if(this.sideEffectOnly&&!(this.is(u,"->")||this.is(u,"=>")))throw Error("Cannot return a value from a void function (declared with !)");if(this.is(u,"if")){let[,$,F,...A]=u;if(A.length===0){let W=Array.isArray(F)&&F.length===1?F[0]:F;return`if (${this.generate($,"value")}) return ${this.generate(W,"value")}`}}if(this.is(u,"new")&&Array.isArray(u[1])&&u[1][0]==="if"){let[,$,F]=u[1],A=Array.isArray(F)&&F.length===1?F[0]:F;return`if (${this.generate($,"value")}) return ${this.generate(["new",A],"value")}`}return`return ${this.generate(u,"value")}`}generateState(f,w){let[U,_]=w;this.usesReactivity=!0;let u=m(U)??U;if(!this.reactiveVars)this.reactiveVars=new Set;return this.reactiveVars.add(u),`const ${u} = __state(${this.generate(_,"value")})`}generateComputed(f,w){let[U,_]=w;if(this.usesReactivity=!0,!this.reactiveVars)this.reactiveVars=new Set;let u=m(U)??U;if(this.reactiveVars.add(u),this.is(_,"block")&&_.length>2)return`const ${u} = __computed(() => ${this.generateFunctionBody(_)})`;return`const ${u} = __computed(() => ${this.generate(_,"value")})`}generateReadonly(f,w){let[U,_]=w;return`const ${m(U)??U} = ${this.generate(_,"value")}`}generateEffect(f,w){let[U,_]=w;this.usesReactivity=!0;let u;if(this.is(_,"block"))u=this.generateFunctionBody(_);else if(this.is(_,"->")||this.is(_,"=>")){let F=this.generate(_,"value");if(U)return`const ${m(U)??this.generate(U,"value")} = __effect(${F})`;return`__effect(${F})`}else u=`{ ${this.generate(_,"value")}; }`;let $=`__effect(() => ${u})`;if(U)return`const ${m(U)??this.generate(U,"value")} = ${$}`;return $}generateBreak(){return"break"}generateContinue(){return"continue"}generateExistential(f,w){return`(${this.generate(w[0],"value")} != null)`}generateDefined(f,w){return`(${this.generate(w[0],"value")} !== undefined)`}generatePresence(f,w){return`(${this.generate(w[0],"value")} ? true : undefined)`}generateTernary(f,w,U){let[_,u,$]=w;if((u?.[0]?.valueOf?.()??u?.[0])==="="&&Array.isArray(u)){let A=this.generate(u[1],"value"),W=this.generate(u[2],"value"),Z=this.generate($,"value");return`${A} = (${this.unwrap(this.generate(_,"value"))} ? ${W} : ${Z})`}return`(${this.unwrap(this.generate(_,"value"))} ? ${this.generate(u,"value")} : ${this.generate($,"value")})`}generatePipe(f,w){let[U,_]=w,u=this.generate(U,"value");if(Array.isArray(_)&&_.length>1){let $=_[0];if(Array.isArray($)||typeof $==="string"&&/^[a-zA-Z_$]/.test($)){let A=this.generate($,"value"),W=_.slice(1).map((Z)=>this.generate(Z,"value"));return`${A}(${u}, ${W.join(", ")})`}}return`${this.generate(_,"value")}(${u})`}generateLoop(f,w){return`while (true) ${this.generateLoopBody(w[0])}`}generateLoopN(f,w){let[U,_]=w;return`for (let it = 0; it < ${this.generate(U,"value")}; it++) ${this.generateLoopBody(_)}`}generateAwait(f,w){return`await ${this.generate(w[0],"value")}`}generateYield(f,w){return w.length===0?"yield":`yield ${this.generate(w[0],"value")}`}generateYieldFrom(f,w){return`yield* ${this.generate(w[0],"value")}`}generateIf(f,w,U,_){let[u,$,...F]=w;return U==="value"?this.generateIfAsExpression(u,$,F):this.generateIfAsStatement(u,$,F)}generateForIn(f,w,U,_){let[u,$,F,A,W]=w;if(U==="value"&&this.comprehensionDepth===0){let O=["for-in",u,$,F];return this.generate(["comprehension",W,[O],A?[A]:[]],U)}let Z=Array.isArray(u)?u:[u],Y=Z.length===0,[R,z]=Y?["_i",null]:Z,Q=this.is(R,"array")||this.is(R,"object")?this.generateDestructuringPattern(R):R;if(F&&F!==null){let O=this.generate($,"value"),K=z||"_i",q=this.generate(F,"value"),G=this.is(F,"-",1),M=G&&(F[1]==="1"||F[1]===1||m(F[1])==="1"),I=!G&&(F==="1"||F===1||m(F)==="1"),E;if(M)E=`for (let ${K} = ${O}.length - 1; ${K} >= 0; ${K}--) `;else if(I)E=`for (let ${K} = 0; ${K} < ${O}.length; ${K}++) `;else if(G)E=`for (let ${K} = ${O}.length - 1; ${K} >= 0; ${K} += ${q}) `;else E=`for (let ${K} = 0; ${K} < ${O}.length; ${K} += ${q}) `;if(this.is(W,"block")){let D=W.slice(1);this.indentLevel++;let H=[];if(!Y)H.push(`const ${Q} = ${O}[${K}];`);if(A)H.push(`if (${this.generate(A,"value")}) {`),this.indentLevel++,H.push(...this.formatStatements(D)),this.indentLevel--,H.push(this.indent()+"}");else H.push(...D.map((P)=>this.addSemicolon(P,this.generate(P,"statement"))));return this.indentLevel--,E+`{
|
|
354
|
+
}`;return u}generateBinaryOp(f,w,A,_){if((f==="+"||f==="-")&&w.length===1)return`(${f}${this.generate(w[0],"value")})`;let[u,$]=w;if(f==="*"){let U=u?.valueOf?.()??u;if(typeof U==="string"&&/^["']/.test(U))return`${this.generate(u,"value")}.repeat(${this.generate($,"value")})`}let F=new Set(["<",">","<=",">="]);if(F.has(f)&&Array.isArray(u)){let U=u[0]?.valueOf?.()??u[0];if(F.has(U)){let W=this.generate(u[1],"value"),Z=this.generate(u[2],"value"),Y=this.generate($,"value");return`((${W} ${U} ${Z}) && (${Z} ${f} ${Y}))`}}if(f==="!?"){let U=this.generate(u,"value"),W=this.generate($,"value");return`(${U} !== undefined ? ${U} : ${W})`}if(f==="==")f="===";if(f==="!=")f="!==";return`(${this.generate(u,"value")} ${f} ${this.generate($,"value")})`}generateModulo(f,w){let[A,_]=w;return this.helpers.add("modulo"),`modulo(${this.generate(A,"value")}, ${this.generate(_,"value")})`}generateModuloAssign(f,w){let[A,_]=w;this.helpers.add("modulo");let u=this.generate(A,"value"),$=this.generate(_,"value");return`${u} = modulo(${u}, ${$})`}generateFloorDiv(f,w){let[A,_]=w;return`Math.floor(${this.generate(A,"value")} / ${this.generate(_,"value")})`}generateFloorDivAssign(f,w){let[A,_]=w,u=this.generate(A,"value"),$=this.generate(_,"value");return`${u} = Math.floor(${u} / ${$})`}generateAssignment(f,w,A,_){let[u,$]=w,F=f==="?="?"??=":f,U=this._findOptionalInTarget(u);if(U){let Q=this.generate(U.guard,"value"),q=this.generate(U.rewritten,"value"),X=this.generate($,"value");if(A==="value")return`(${Q} != null ? (${q} ${F} ${X}) : undefined)`;return`if (${Q} != null) ${q} ${F} ${X}`}let W=this.is($,"->")||this.is($,"=>")||this.is($,"def");if(u instanceof String&&t(u,"await")!==void 0&&!W){let Q=t(u,"await")===!0?"!":"&";throw Error(`Cannot use ${Q} sigil in variable declaration '${m(u)}'.`)}if(u instanceof String&&t(u,"await")===!0&&W)this.nextFunctionIsVoid=!0;let Z=this.is(u,"array",0),Y=this.is(u,"object",0);if(Z||Y){let Q=this.generate($,"value");return Y&&A==="statement"?`(${Q})`:Q}if(Array.isArray($)&&F==="="&&$[0]==="control"){let[,Q,q,X]=$,G=m(Q),I=X[0]==="return",E=this.generate(u,"value"),K=this.generate(q,"value"),H=X.length>1?X[1]:null,P=I?H?`return ${this.generate(H,"value")}`:"return":H?`throw ${this.generate(H,"value")}`:"throw new Error()";if(A==="value"){if(G==="??")return`(() => { const __v = ${K}; if (__v == null) ${P}; return (${E} = __v); })()`;if(G==="||")return`(() => { const __v = ${K}; if (!__v) ${P}; return (${E} = __v); })()`;return`(() => { const __v = ${K}; if (__v) ${P}; return (${E} = __v); })()`}if(G==="??")return`if ((${E} = ${K}) == null) ${P}`;if(G==="||")return`if (!(${E} = ${K})) ${P}`;return`if ((${E} = ${K})) ${P}`}if(this.is(u,"array")){let Q=u.slice(1).findIndex((q)=>this.is(q,"...")||q==="...");if(Q!==-1&&Q<u.length-2){let q=u.slice(1),X=q.slice(Q+1),G=X.length;if(G>0){let I=this.generate($,"value"),K=q.slice(0,Q).map((B)=>B===","?"":typeof B==="string"?B:this.generate(B,"value")).join(", "),H=X.map((B)=>B===","?"":typeof B==="string"?B:this.generate(B,"value")).join(", ");this.helpers.add("slice"),q.forEach((B)=>{if(B===","||B==="...")return;if(typeof B==="string")this.programVars.add(B);else if(this.is(B,"...")&&typeof B[1]==="string")this.programVars.add(B[1])});let P=q[Q],N=this.is(P,"...")?P[1]:null,L=[];if(K)L.push(`[${K}] = ${I}`);if(N)L.push(`[...${N}] = ${I}.slice(${Q}, -${G})`);return L.push(`[${H}] = slice.call(${I}, -${G})`),L.join(", ")}}}if(A==="statement"&&f==="="&&Array.isArray($)&&($[0]==="||"||$[0]==="&&")&&$.length===3){let[Q,q,X]=$;if(this.is(X,"if")&&X.length===3){let[,G,I]=X,E=Array.isArray(I)&&I.length===1?I[0]:I,K=[Q,q,E],H=this.generate(u,"value"),P=this.generate(G,"value"),N=this.generate(K,"value");return`if (${P}) ${H} = ${N}`}}if(A==="statement"&&f==="="&&Array.isArray($)&&$.length===3){let[Q,q,X]=$,G=Array.isArray(X)&&X.length===1&&(!Array.isArray(X[0])||X[0][0]!=="block");if(Q==="if"&&G){let I=Array.isArray(X)&&X.length===1?X[0]:X,E=this.generate(u,"value"),K=this.unwrapLogical(this.generate(q,"value")),H=this.generate(I,"value");return`if (${K}) ${E} = ${H}`}}let R;if(u instanceof String&&t(u,"await")!==void 0)R=m(u);else if(typeof u==="string"&&this.reactiveVars?.has(u))R=`${u}.value`;else R=this.generate(u,"value");let z=this._componentName;if(this.is($,"component")&&(typeof u==="string"||u instanceof String))this._componentName=m(u);let M=this.generate($,"value");if(this._componentName=z,!this.is($,"object"))M=this.unwrap(M);let J=A==="value",O=A==="statement"&&this.is(u,"object");if(J||O)return`(${R} ${F} ${M})`;return`${R} ${F} ${M}`}generatePropertyAccess(f,w,A,_){let[u,$]=w;if(this._atParamMap&&u==="this"){let Z=this._atParamMap.get(m($));if(Z)return Z}let F=this.generate(u,"value"),W=f1.NUMBER_LITERAL_RE.test(F)||F.startsWith("await ")||(this.is(u,"object")||this.is(u,"yield"))?`(${F})`:F;if(t($,"await")===!0)return`await ${W}.${m($)}()`;if(t($,"predicate"))return`(${W}.${m($)} != null)`;return`${W}.${m($)}`}generateOptionalProperty(f,w){let[A,_]=w;return`${this.generate(A,"value")}?.${_}`}generateRegexIndex(f,w){let[A,_,u]=w;this.helpers.add("toMatchable"),this.programVars.add("_");let $=this.generate(A,"value"),F=this.generate(_,"value"),U=u!==null?this.generate(u,"value"):"0",W=F.includes("/m")?", true":"";return`(_ = toMatchable(${$}${W}).match(${F})) && _[${U}]`}generateIndexAccess(f,w){let[A,_]=w;if(this.is(_,"..")||this.is(_,"...")){let u=_[0]==="..",$=this.generate(A,"value"),[F,U]=_.slice(1),W=(z)=>{if(z===null)return null;let M=m(z)??z;if(typeof M==="number")return M;if(typeof M==="string"&&/^\d+$/.test(M))return+M;if(Array.isArray(z)&&z[0]==="-"&&z.length===2){let D=m(z[1])??z[1];if(typeof D==="number")return-D;if(typeof D==="string"&&/^\d+$/.test(D))return-D}return null},Z=(z,M,D)=>{let J=W(D);if(J!==null&&J!==-1)return`${$}.slice(${z}, ${J+1})`;return`${$}.slice(${z}, +${M} + 1 || 9e9)`};if(F===null&&U===null)return`${$}.slice()`;if(F===null){if(u&&this.is(U,"-",1)&&(m(U[1])??U[1])==1)return`${$}.slice(0)`;let z=this.generate(U,"value");return u?Z("0",z,U):`${$}.slice(0, ${z})`}if(U===null)return`${$}.slice(${this.generate(F,"value")})`;let Y=this.generate(F,"value");if(u&&this.is(U,"-",1)&&(m(U[1])??U[1])==1)return`${$}.slice(${Y})`;let R=this.generate(U,"value");return u?Z(Y,R,U):`${$}.slice(${Y}, ${R})`}if(this.is(_,"-",1)){let u=m(_[1])??_[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.generate(A,"value")}.at(-${u})`}return`${this.generate(A,"value")}[${this.unwrap(this.generate(_,"value"))}]`}generateOptIndex(f,w){let[A,_]=w;if(this.is(_,"-",1)){let u=m(_[1])??_[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.generate(A,"value")}?.at(-${u})`}return`${this.generate(A,"value")}?.[${this.generate(_,"value")}]`}generateOptCall(f,w){let[A,..._]=w;return`${this.generate(A,"value")}?.(${_.map((u)=>this.generate(u,"value")).join(", ")})`}generateDef(f,w,A,_){let[u,$,F]=w,U=t(u,"await")===!0,W=m(u),Z=this.generateParamList($),Y=this.generateFunctionBody(F,$,U),R=this.containsAwait(F),z=this.containsYield(F);return`${R?"async ":""}function${z?"*":""} ${W}(${Z}) ${Y}`}generateThinArrow(f,w,A,_){let[u,$]=w;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt($))u=["it"];let F=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let U=this.generateParamList(u),W=this.generateFunctionBody($,u,F),Z=this.containsAwait($),Y=this.containsYield($),R=`${Z?"async ":""}function${Y?"*":""}(${U}) ${W}`;return A==="value"?`(${R})`:R}generateFatArrow(f,w,A,_){let[u,$]=w;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt($))u=["it"];let F=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let U=this.generateParamList(u),Z=u.length===1&&typeof u[0]==="string"&&!U.includes("=")&&!U.includes("...")&&!U.includes("[")&&!U.includes("{")?U:`(${U})`,R=this.containsAwait($)?"async ":"";if(!F){if(this.is($,"block")&&$.length===2){let M=$[1],D=Array.isArray(M)?M[0]:null;if(D!=="return"&&!G4.has(D)){let J=this.generate(M,"value");if(J[0]==="{")J=`(${J})`;return`${R}${Z} => ${J}`}}if(!Array.isArray($)||$[0]!=="block"){let M=this.generate($,"value");if(M[0]==="{")M=`(${M})`;return`${R}${Z} => ${M}`}}let z=this.generateFunctionBody($,u,F);return`${R}${Z} => ${z}`}generateReturn(f,w,A,_){if(w.length===0)return"return";let[u]=w;if(this.sideEffectOnly&&!(this.is(u,"->")||this.is(u,"=>")))throw Error("Cannot return a value from a void function (declared with !)");if(this.is(u,"if")){let[,$,F,...U]=u;if(U.length===0){let W=Array.isArray(F)&&F.length===1?F[0]:F;return`if (${this.generate($,"value")}) return ${this.generate(W,"value")}`}}if(this.is(u,"new")&&Array.isArray(u[1])&&u[1][0]==="if"){let[,$,F]=u[1],U=Array.isArray(F)&&F.length===1?F[0]:F;return`if (${this.generate($,"value")}) return ${this.generate(["new",U],"value")}`}return`return ${this.generate(u,"value")}`}generateState(f,w){let[A,_]=w;this.usesReactivity=!0;let u=m(A)??A;if(!this.reactiveVars)this.reactiveVars=new Set;return this.reactiveVars.add(u),`const ${u} = __state(${this.generate(_,"value")})`}generateComputed(f,w){let[A,_]=w;if(this.usesReactivity=!0,!this.reactiveVars)this.reactiveVars=new Set;let u=m(A)??A;if(this.reactiveVars.add(u),this.is(_,"block")&&_.length>2)return`const ${u} = __computed(() => ${this.generateFunctionBody(_)})`;return`const ${u} = __computed(() => ${this.generate(_,"value")})`}generateReadonly(f,w){let[A,_]=w;return`const ${m(A)??A} = ${this.generate(_,"value")}`}generateEffect(f,w){let[A,_]=w;this.usesReactivity=!0;let u;if(this.is(_,"block"))u=this.generateFunctionBody(_);else if(this.is(_,"->")||this.is(_,"=>")){let F=this.generate(_,"value");if(A)return`const ${m(A)??this.generate(A,"value")} = __effect(${F})`;return`__effect(${F})`}else u=`{ ${this.generate(_,"value")}; }`;let $=`__effect(() => ${u})`;if(A)return`const ${m(A)??this.generate(A,"value")} = ${$}`;return $}generateBreak(){return"break"}generateContinue(){return"continue"}generateExistential(f,w){return`(${this.generate(w[0],"value")} != null)`}generateDefined(f,w){return`(${this.generate(w[0],"value")} !== undefined)`}generatePresence(f,w){return`(${this.generate(w[0],"value")} ? true : undefined)`}generateTernary(f,w,A){let[_,u,$]=w;if((u?.[0]?.valueOf?.()??u?.[0])==="="&&Array.isArray(u)){let U=this.generate(u[1],"value"),W=this.generate(u[2],"value"),Z=this.generate($,"value");return`${U} = (${this.unwrap(this.generate(_,"value"))} ? ${W} : ${Z})`}return`(${this.unwrap(this.generate(_,"value"))} ? ${this.generate(u,"value")} : ${this.generate($,"value")})`}generatePipe(f,w){let[A,_]=w,u=this.generate(A,"value");if(Array.isArray(_)&&_.length>1){let $=_[0];if(Array.isArray($)||typeof $==="string"&&/^[a-zA-Z_$]/.test($)){let U=this.generate($,"value"),W=_.slice(1).map((Z)=>this.generate(Z,"value"));return`${U}(${u}, ${W.join(", ")})`}}return`${this.generate(_,"value")}(${u})`}generateLoop(f,w){return`while (true) ${this.generateLoopBody(w[0])}`}generateLoopN(f,w){let[A,_]=w;return`for (let it = 0; it < ${this.generate(A,"value")}; it++) ${this.generateLoopBody(_)}`}generateAwait(f,w){return`await ${this.generate(w[0],"value")}`}generateYield(f,w){return w.length===0?"yield":`yield ${this.generate(w[0],"value")}`}generateYieldFrom(f,w){return`yield* ${this.generate(w[0],"value")}`}generateIf(f,w,A,_){let[u,$,...F]=w;return A==="value"?this.generateIfAsExpression(u,$,F):this.generateIfAsStatement(u,$,F)}generateForIn(f,w,A,_){let[u,$,F,U,W]=w;if(A==="value"&&this.comprehensionDepth===0){let O=["for-in",u,$,F];return this.generate(["comprehension",W,[O],U?[U]:[]],A)}let Z=Array.isArray(u)?u:[u],Y=Z.length===0,[R,z]=Y?["_i",null]:Z,M=this.is(R,"array")||this.is(R,"object")?this.generateDestructuringPattern(R):R;if(F&&F!==null){let O=this.generate($,"value"),Q=z||"_i",q=this.generate(F,"value"),X=this.is(F,"-",1),G=X&&(F[1]==="1"||F[1]===1||m(F[1])==="1"),I=!X&&(F==="1"||F===1||m(F)==="1"),E;if(G)E=`for (let ${Q} = ${O}.length - 1; ${Q} >= 0; ${Q}--) `;else if(I)E=`for (let ${Q} = 0; ${Q} < ${O}.length; ${Q}++) `;else if(X)E=`for (let ${Q} = ${O}.length - 1; ${Q} >= 0; ${Q} += ${q}) `;else E=`for (let ${Q} = 0; ${Q} < ${O}.length; ${Q} += ${q}) `;if(this.is(W,"block")){let K=W.slice(1);this.indentLevel++;let H=[];if(!Y)H.push(`const ${M} = ${O}[${Q}];`);if(U)H.push(`if (${this.generate(U,"value")}) {`),this.indentLevel++,H.push(...this.formatStatements(K)),this.indentLevel--,H.push(this.indent()+"}");else H.push(...K.map((P)=>this.addSemicolon(P,this.generate(P,"statement"))));return this.indentLevel--,E+`{
|
|
353
355
|
${H.map((P)=>this.indent()+P).join(`
|
|
354
356
|
`)}
|
|
355
|
-
${this.indent()}}`}if(Y)return
|
|
356
|
-
`,this.indentLevel++,
|
|
357
|
-
`,
|
|
358
|
-
`,this.indentLevel++,
|
|
357
|
+
${this.indent()}}`}if(Y)return U?E+`{ if (${this.generate(U,"value")}) ${this.generate(W,"statement")}; }`:E+`{ ${this.generate(W,"statement")}; }`;return U?E+`{ const ${M} = ${O}[${Q}]; if (${this.generate(U,"value")}) ${this.generate(W,"statement")}; }`:E+`{ const ${M} = ${O}[${Q}]; ${this.generate(W,"statement")}; }`}if(z){let O=this.generate($,"value"),Q=`for (let ${z} = 0; ${z} < ${O}.length; ${z}++) `;if(this.is(W,"block")){if(Q+=`{
|
|
358
|
+
`,this.indentLevel++,Q+=this.indent()+`const ${M} = ${O}[${z}];
|
|
359
|
+
`,U)Q+=this.indent()+`if (${this.unwrap(this.generate(U,"value"))}) {
|
|
360
|
+
`,this.indentLevel++,Q+=this.formatStatements(W.slice(1)).join(`
|
|
359
361
|
`)+`
|
|
360
|
-
`,this.indentLevel--,
|
|
361
|
-
`;else
|
|
362
|
+
`,this.indentLevel--,Q+=this.indent()+`}
|
|
363
|
+
`;else Q+=this.formatStatements(W.slice(1)).join(`
|
|
362
364
|
`)+`
|
|
363
|
-
`;this.indentLevel--,
|
|
364
|
-
${
|
|
365
|
+
`;this.indentLevel--,Q+=this.indent()+"}"}else Q+=U?`{ const ${M} = ${O}[${z}]; if (${this.unwrap(this.generate(U,"value"))}) ${this.generate(W,"statement")}; }`:`{ const ${M} = ${O}[${z}]; ${this.generate(W,"statement")}; }`;return Q}let D=Array.isArray($)&&$[0];if(D instanceof String)D=m(D);if(D===".."||D==="..."){let O=D==="...",[Q,q]=$.slice(1),X=(G)=>typeof G==="number"||typeof G==="string"&&!G.includes("(")||G instanceof String&&!m(G).includes("(")||this.is(G,".");if(X(Q)&&X(q)){let G=this.generate(Q,"value"),I=this.generate(q,"value"),E=O?"<":"<=",K=F?`${M} += ${this.generate(F,"value")}`:`${M}++`,H=`for (let ${M} = ${G}; ${M} ${E} ${I}; ${K}) `;return H+=U?this.generateLoopBodyWithGuard(W,U):this.generateLoopBody(W),H}}let J=`for (const ${M} of ${this.generate($,"value")}) `;return J+=U?this.generateLoopBodyWithGuard(W,U):this.generateLoopBody(W),J}generateForOf(f,w,A,_){let[u,$,F,U,W]=w;if(A==="value"&&this.comprehensionDepth===0){let M=["for-of",u,$,F];return this.generate(["comprehension",W,[M],U?[U]:[]],A)}let[Z,Y]=Array.isArray(u)?u:[u],R=this.generate($,"value"),z=`for (const ${Z} in ${R}) `;if(F&&!Y&&!U){if(this.is(W,"block")){this.indentLevel++;let M=[`if (!Object.hasOwn(${R}, ${Z})) continue;`,...W.slice(1).map((D)=>this.addSemicolon(D,this.generate(D,"statement")))];return this.indentLevel--,z+`{
|
|
366
|
+
${M.map((D)=>this.indent()+D).join(`
|
|
365
367
|
`)}
|
|
366
|
-
${this.indent()}}`}return z+`{ if (!Object.hasOwn(${R}, ${Z})) continue; ${this.generate(W,"statement")}; }`}if(Y){if(this.is(W,"block")){let
|
|
368
|
+
${this.indent()}}`}return z+`{ if (!Object.hasOwn(${R}, ${Z})) continue; ${this.generate(W,"statement")}; }`}if(Y){if(this.is(W,"block")){let D=W.slice(1);this.indentLevel++;let J=[];if(F)J.push(`if (!Object.hasOwn(${R}, ${Z})) continue;`);if(J.push(`const ${Y} = ${R}[${Z}];`),U)J.push(`if (${this.generate(U,"value")}) {`),this.indentLevel++,J.push(...D.map((O)=>this.addSemicolon(O,this.generate(O,"statement")))),this.indentLevel--,J.push(this.indent()+"}");else J.push(...D.map((O)=>this.addSemicolon(O,this.generate(O,"statement"))));return this.indentLevel--,z+`{
|
|
367
369
|
${J.map((O)=>this.indent()+O).join(`
|
|
368
370
|
`)}
|
|
369
|
-
${this.indent()}}`}let
|
|
370
|
-
${
|
|
371
|
+
${this.indent()}}`}let M="";if(F)M+=`if (!Object.hasOwn(${R}, ${Z})) continue; `;if(M+=`const ${Y} = ${R}[${Z}]; `,U)M+=`if (${this.generate(U,"value")}) `;return M+=`${this.generate(W,"statement")};`,z+`{ ${M} }`}return z+=U?this.generateLoopBodyWithGuard(W,U):this.generateLoopBody(W),z}generateForAs(f,w,A,_){let u=Array.isArray(w[0])?w[0]:[w[0]],[$]=u,F=w[1],U=w[2],W=w[3],Z=w[4],Y=!1,R=[];if(this.is($,"array")){let O=$.slice(1),Q=O.findIndex((q)=>this.is(q,"...")||q==="...");if(Q!==-1&&Q<O.length-1){Y=!0;let q=O.slice(Q+1),X=q.length,G=O.slice(0,Q),I=O[Q],E=this.is(I,"...")?I[1]:"_rest",K=G.map((N)=>N===","?"":typeof N==="string"?N:this.generate(N,"value")).join(", "),H=K?`${K}, ...${E}`:`...${E}`,P=q.map((N)=>N===","?"":typeof N==="string"?N:this.generate(N,"value")).join(", ");R.push(`[${H}] = _item`),R.push(`[${P}] = ${E}.splice(-${X})`),this.helpers.add("slice"),O.forEach((N)=>{if(N===","||N==="...")return;if(typeof N==="string")this.programVars.add(N);else if(this.is(N,"...")&&typeof N[1]==="string")this.programVars.add(N[1])})}}let z=this.generate(F,"value"),M=U?"await ":"",D;if(Y)D="_item";else if(this.is($,"array")||this.is($,"object"))D=this.generateDestructuringPattern($);else D=$;let J=`for ${M}(const ${D} of ${z}) `;if(Y&&R.length>0){let O=this.unwrapBlock(Z),Q=this.withIndent(()=>[...R.map((q)=>this.indent()+q+";"),...this.formatStatements(O)]);J+=`{
|
|
372
|
+
${Q.join(`
|
|
371
373
|
`)}
|
|
372
|
-
${this.indent()}}`}else J+=W?this.generateLoopBodyWithGuard(Z,W):this.generateLoopBody(Z);return J}generateWhile(f,w){let
|
|
374
|
+
${this.indent()}}`}else J+=W?this.generateLoopBodyWithGuard(Z,W):this.generateLoopBody(Z);return J}generateWhile(f,w){let A=w[0],_=w.length===3?w[1]:null,u=w[w.length-1];return`while (${this.unwrap(this.generate(A,"value"))}) `+(_?this.generateLoopBodyWithGuard(u,_):this.generateLoopBody(u))}generateRange(f,w){if(f==="..."){if(w.length===1)return`...${this.generate(w[0],"value")}`;let[F,U]=w,W=this.generate(F,"value"),Z=this.generate(U,"value");return`((s, e) => Array.from({length: Math.max(0, Math.abs(e - s))}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${W}, ${Z})`}let[A,_]=w,u=this.generate(A,"value"),$=this.generate(_,"value");return`((s, e) => Array.from({length: Math.abs(e - s) + 1}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${u}, ${$})`}generateNot(f,w){let[A]=w;if(typeof A==="string"||A instanceof String)return`!${this.generate(A,"value")}`;if(Array.isArray(A)){if([".","?.","[]","optindex","optcall"].includes(A[0]))return`!${this.generate(A,"value")}`}let _=this.generate(A,"value");return _.startsWith("(")?`!${_}`:`(!${_})`}generateBitwiseNot(f,w){return`(~${this.generate(w[0],"value")})`}generateIncDec(f,w){let[A,_]=w,u=this.generate(A,"value");return _?`(${u}${f})`:`(${f}${u})`}generateTypeof(f,w){return`typeof ${this.generate(w[0],"value")}`}generateDelete(f,w){return`(delete ${this.generate(w[0],"value")})`}generateInstanceof(f,w,A,_){let[u,$]=w,F=t(_[0],"invert"),U=`(${this.generate(u,"value")} instanceof ${this.generate($,"value")})`;return F?`(!${U})`:U}generateIn(f,w,A,_){let[u,$]=w,F=this.generate(u,"value"),U=t(_[0],"invert");if(this.is($,"object")){let Y=`(${F} in ${this.generate($,"value")})`;return U?`(!${Y})`:Y}let W=this.generate($,"value"),Z=`(Array.isArray(${W}) || typeof ${W} === 'string' ? ${W}.includes(${F}) : (${F} in ${W}))`;return U?`(!${Z})`:Z}generateOf(f,w,A,_){let[u,$]=w,F=this.generate(u,"value"),U=this.generate($,"value"),W=t(_[0],"invert"),Z=`(${F} in ${U})`;return W?`(!${Z})`:Z}generateRegexMatch(f,w){let[A,_]=w;this.helpers.add("toMatchable"),this.programVars.add("_");let u=this.generate(_,"value"),$=u.includes("/m")?", true":"";return`(_ = toMatchable(${this.generate(A,"value")}${$}).match(${u}))`}generateNew(f,w){let[A]=w;if(this.is(A,".")||this.is(A,"?.")){let[_,u,$]=A;if(Array.isArray(u)&&!u[0].startsWith)return`(${this.generate(["new",u],"value")}).${$}`;return`new ${this.generate(u,"value")}.${$}`}if(Array.isArray(A)){let[_,...u]=A;return`new ${this.generate(_,"value")}(${u.map(($)=>this.unwrap(this.generate($,"value"))).join(", ")})`}return`new ${this.generate(A,"value")}()`}generateLogicalAnd(f,w,A,_){let u=this.flattenBinaryChain(_).slice(1);if(u.length===0)return"true";if(u.length===1)return this.generate(u[0],"value");return`(${u.map(($)=>this.generate($,"value")).join(" && ")})`}generateLogicalOr(f,w,A,_){let u=this.flattenBinaryChain(_).slice(1);if(u.length===0)return"true";if(u.length===1)return this.generate(u[0],"value");return`(${u.map(($)=>this.generate($,"value")).join(" || ")})`}generateArray(f,w){let A=w.length>0&&w[w.length-1]===",",_=w.map((u)=>{if(u===",")return"";if(u==="...")return"";if(this.is(u,"..."))return`...${this.generate(u[1],"value")}`;return this.generate(u,"value")}).join(", ");return A?`[${_},]`:`[${_}]`}generateObject(f,w,A){if(w.length===1&&Array.isArray(w[0])&&Array.isArray(w[0][2])&&w[0][2][0]==="comprehension"){let[,u,$]=w[0],[,F,U,W]=$;return this.generate(["object-comprehension",u,F,U,W],A)}return`{${w.map((u)=>{if(this.is(u,"..."))return`...${this.generate(u[1],"value")}`;let[$,F,U]=u,W;if(this.is(F,"dynamicKey"))W=`[${this.generate(F[1],"value")}]`;else if(this.is(F,"str"))W=`[${this.generate(F,"value")}]`;else this.suppressReactiveUnwrap=!0,W=this.generate(F,"value"),this.suppressReactiveUnwrap=!1;let Z=this.generate(U,"value");if($==="=")return`${W} = ${Z}`;if($===":")return`${W}: ${Z}`;if(W===Z&&!Array.isArray(F))return W;return`${W}: ${Z}`}).join(", ")}}`}generateMap(f,w,A){if(w.length===0)return"new Map()";return`new Map([${w.map((u)=>{if(this.is(u,"..."))return`...${this.generate(u[1],"value")}`;let[,$,F]=u,U;if(Array.isArray($))U=this.generate($,"value");else{let Z=m($)??$;U=!Z.startsWith('"')&&!Z.startsWith("'")&&!Z.startsWith("/")&&!f1.NUMBER_START_RE.test(Z)&&!H4.has(Z)?`"${Z}"`:this.generate($,"value")}let W=this.generate(F,"value");return`[${U}, ${W}]`}).join(", ")}])`}generateBlock(f,w,A){if(A==="statement")return`{
|
|
373
375
|
${this.withIndent(()=>this.formatStatements(w)).join(`
|
|
374
376
|
`)}
|
|
375
|
-
${this.indent()}}`;if(w.length===0)return"undefined";if(w.length===1)return this.generate(w[0],
|
|
377
|
+
${this.indent()}}`;if(w.length===0)return"undefined";if(w.length===1)return this.generate(w[0],A);let _=w[w.length-1];if(Array.isArray(_)&&["break","continue","return","throw"].includes(_[0])){let $=w.map((F)=>this.addSemicolon(F,this.generate(F,"statement")));return`{
|
|
376
378
|
${this.withIndent(()=>$.map((F)=>this.indent()+F).join(`
|
|
377
379
|
`))}
|
|
378
|
-
${this.indent()}}`}return`(${w.map(($)=>this.generate($,"value")).join(", ")})`}generateTry(f,w,
|
|
380
|
+
${this.indent()}}`}return`(${w.map(($)=>this.generate($,"value")).join(", ")})`}generateTry(f,w,A){let _=A==="value",u="try ",$=w[0];if(u+=_&&this.is($,"block")?this.generateBlockWithReturns($):this.generate($,"statement"),w.length>=2&&Array.isArray(w[1])&&w[1].length===2&&w[1][0]!=="block"){let[F,U]=w[1];if(u+=" catch",F&&(this.is(F,"object")||this.is(F,"array"))){u+=" (error)";let W=`(${this.generate(F,"value")} = error)`;U=this.is(U,"block")?["block",W,...U.slice(1)]:["block",W,U]}else if(F)u+=` (${F})`;u+=" "+(_&&this.is(U,"block")?this.generateBlockWithReturns(U):this.generate(U,"statement"))}else if(w.length===2)u+=" finally "+this.generate(w[1],"statement");if(w.length===3)u+=" finally "+this.generate(w[2],"statement");if(w.length===1)u+=" catch {}";if(_)return`(${this.containsAwait(w[0])||w[1]&&this.containsAwait(w[1])?"async ":""}() => { ${u} })()`;return u}generateThrow(f,w,A){let[_]=w;if(Array.isArray(_)){let $=_,F=null;if(_[0]==="new"&&Array.isArray(_[1])&&_[1][0]==="if")F="new",$=_[1];else if(_[0]==="if")$=_;if($[0]==="if"){let[,U,W]=$,Z=Array.isArray(W)&&W.length===1?W[0]:W;_=F==="new"?["new",Z]:Z;let Y=this.generate(U,"value"),R=`throw ${this.generate(_,"value")}`;return`if (${Y}) {
|
|
379
381
|
${this.indent()} ${R};
|
|
380
|
-
${this.indent()}}`}}let u=`throw ${this.generate(_,"value")}`;return
|
|
381
|
-
`;this.indentLevel++;for(let
|
|
382
|
-
`}this.indentLevel++,F+=this.generateSwitchCaseBody(Z,
|
|
383
|
-
`,this.indentLevel++,F+=this.generateSwitchCaseBody($,
|
|
384
|
-
`;this.indentLevel++,this.comprehensionDepth++,
|
|
385
|
-
`;for(let Y of u){let[R,z,
|
|
386
|
-
`,this.indentLevel++,O)
|
|
387
|
-
`}else if(R==="for-of"){let{header:J,own:O,vv:
|
|
388
|
-
`,this.indentLevel++,O)
|
|
389
|
-
`;if(
|
|
390
|
-
`}else if(R==="for-as"){let{header:J}=this._forAsHeader(z,
|
|
391
|
-
`,this.indentLevel++}}for(let Y of $)
|
|
392
|
-
`,this.indentLevel++;let W=(Y)=>{if(typeof Y==="string"&&(Y==="break"||Y==="continue"))return!0;if(!Array.isArray(Y))return!1;if(["break","continue","return","throw"].includes(Y[0]))return!0;if(Y[0]==="if")return Y.slice(1).some(W);return Y.some(W)},Z=["for-in","for-of","for-as","while","loop"];if(this.is(_,"block"))for(let Y=0;Y<_.length-1;Y++){let R=_[Y+1];if(Y!==_.length-2||W(R))
|
|
393
|
-
`;else if(Array.isArray(R)&&Z.includes(R[0]))
|
|
394
|
-
`;else
|
|
395
|
-
`}else if(W(_))
|
|
396
|
-
`;else if(Array.isArray(_)&&Z.includes(_[0]))
|
|
397
|
-
`;else
|
|
398
|
-
`;for(let Y=0;Y<$.length;Y++)this.indentLevel--,
|
|
399
|
-
`;for(let Y=0;Y<u.length;Y++)this.indentLevel--,
|
|
400
|
-
`;return
|
|
401
|
-
`,this.indentLevel--,this.comprehensionDepth--,
|
|
402
|
-
`;this.indentLevel++,
|
|
403
|
-
`;for(let W of $){let[Z,Y,R,z]=W;if(Z==="for-of"){let[
|
|
404
|
-
`,this.indentLevel++,z)
|
|
405
|
-
`;if(
|
|
406
|
-
`}}for(let W of F)
|
|
407
|
-
`,this.indentLevel++;
|
|
408
|
-
`;for(let W=0;W<F.length;W++)this.indentLevel--,
|
|
409
|
-
`;for(let W=0;W<$.length;W++)this.indentLevel--,
|
|
410
|
-
`;return
|
|
411
|
-
`,this.indentLevel--,
|
|
412
|
-
`,$.length>0&&Array.isArray($[0])){let
|
|
413
|
-
`}else if(
|
|
414
|
-
`;else F+=this.indent()+`${O} = ${this.generate(
|
|
415
|
-
`}this.indentLevel--}else if(Z){let Y=W[0].slice(1),R=W.slice(1);this.indentLevel++;for(let[,z,
|
|
416
|
-
`}else if(
|
|
417
|
-
`;else F+=this.indent()+`${J} = ${this.generate(
|
|
418
|
-
`}for(let z of R)if(this.is(z,"class")){let[,
|
|
382
|
+
${this.indent()}}`}}let u=`throw ${this.generate(_,"value")}`;return A==="value"?`(() => { ${u}; })()`:u}generateControl(f,w,A){let[_,u,$]=w,F=m(_),U=$[0]==="return",W=this.generate(u,"value"),Z=$.length>1?$[1]:null,Y=U?Z?`return ${this.generate(Z,"value")}`:"return":Z?`throw ${this.generate(Z,"value")}`:"throw new Error()",R=this.wrapForCondition(W);if(A==="value"){if(F==="??")return`(() => { const __v = ${W}; if (__v == null) ${Y}; return __v; })()`;if(F==="||")return`(() => { const __v = ${W}; if (!__v) ${Y}; return __v; })()`;return`(() => { const __v = ${W}; if (__v) ${Y}; return __v; })()`}if(F==="??")return`if (${R} == null) ${Y}`;if(F==="||")return`if (!${R}) ${Y}`;return`if (${R}) ${Y}`}generateSwitch(f,w,A){let[_,u,$]=w;if(_===null)return this.generateSwitchAsIfChain(u,$,A);let F=`switch (${this.generate(_,"value")}) {
|
|
383
|
+
`;this.indentLevel++;for(let U of u){let[,W,Z]=U;for(let Y of W){let R=m(Y)??Y,z;if(Array.isArray(R))z=this.generate(R,"value");else if(typeof R==="string"&&(R.startsWith('"')||R.startsWith("'")))z=`'${R.slice(1,-1)}'`;else z=this.generate(R,"value");F+=this.indent()+`case ${z}:
|
|
384
|
+
`}this.indentLevel++,F+=this.generateSwitchCaseBody(Z,A),this.indentLevel--}if($)F+=this.indent()+`default:
|
|
385
|
+
`,this.indentLevel++,F+=this.generateSwitchCaseBody($,A),this.indentLevel--;if(this.indentLevel--,F+=this.indent()+"}",A==="value")return`(${u.some((W)=>this.containsAwait(W[2]))||$&&this.containsAwait($)?"async ":""}() => { ${F} })()`;return F}generateWhen(){throw Error("when clause should be handled by switch")}_forInHeader(f,w,A){let _=Array.isArray(f)?f:[f],u=_.length===0,[$,F]=u?["_i",null]:_,U=this.is($,"array")||this.is($,"object")?this.generateDestructuringPattern($):$;if(A&&A!==null){let W=Array.isArray(w)&&w[0];if(W instanceof String)W=m(W);if(W===".."||W==="..."){let q=W==="...",[X,G]=w.slice(1),I=this.generate(X,"value"),E=this.generate(G,"value"),K=this.generate(A,"value");return{header:`for (let ${U} = ${I}; ${U} ${q?"<":"<="} ${E}; ${U} += ${K})`,setup:null}}let Y=this.generate(w,"value"),R=F||"_i",z=this.generate(A,"value"),M=this.is(A,"-",1),D=M&&(A[1]==="1"||A[1]===1||m(A[1])==="1"),J=!M&&(A==="1"||A===1||m(A)==="1"),O=D?`${R}--`:J?`${R}++`:`${R} += ${z}`;return{header:M?`for (let ${R} = ${Y}.length - 1; ${R} >= 0; ${O})`:`for (let ${R} = 0; ${R} < ${Y}.length; ${O})`,setup:u?null:`const ${U} = ${Y}[${R}];`}}if(F){let W=this.generate(w,"value");return{header:`for (let ${F} = 0; ${F} < ${W}.length; ${F}++)`,setup:`const ${U} = ${W}[${F}];`}}return{header:`for (const ${U} of ${this.generate(w,"value")})`,setup:null}}_forOfHeader(f,w,A){let _=Array.isArray(f)?f:[f],[u,$]=_,F=this.is(u,"array")||this.is(u,"object")?this.generateDestructuringPattern(u):u,U=this.generate(w,"value");return{header:`for (const ${F} in ${U})`,own:A,vv:$,oc:U,kvp:F}}_forAsHeader(f,w,A){let _=Array.isArray(f)?f:[f],[u]=_,$=this.is(u,"array")||this.is(u,"object")?this.generateDestructuringPattern(u):u;return{header:`for ${A?"await ":""}(const ${$} of ${this.generate(w,"value")})`}}generateComprehension(f,w,A){let[_,u,$]=w;if(A==="statement")return this.generateComprehensionAsLoop(_,u,$);if(this.comprehensionTarget)return this.generateComprehensionWithTarget(_,u,$,this.comprehensionTarget);let U=`(${this.containsAwait(_)?"async ":""}() => {
|
|
386
|
+
`;this.indentLevel++,this.comprehensionDepth++,U+=this.indent()+`const result = [];
|
|
387
|
+
`;for(let Y of u){let[R,z,M,D]=Y;if(R==="for-in"){let{header:J,setup:O}=this._forInHeader(z,M,D);if(U+=this.indent()+J+` {
|
|
388
|
+
`,this.indentLevel++,O)U+=this.indent()+O+`
|
|
389
|
+
`}else if(R==="for-of"){let{header:J,own:O,vv:Q,oc:q,kvp:X}=this._forOfHeader(z,M,D);if(U+=this.indent()+J+` {
|
|
390
|
+
`,this.indentLevel++,O)U+=this.indent()+`if (!Object.hasOwn(${q}, ${X})) continue;
|
|
391
|
+
`;if(Q)U+=this.indent()+`const ${Q} = ${q}[${X}];
|
|
392
|
+
`}else if(R==="for-as"){let{header:J}=this._forAsHeader(z,M,Y[3]);U+=this.indent()+J+` {
|
|
393
|
+
`,this.indentLevel++}}for(let Y of $)U+=this.indent()+`if (${this.generate(Y,"value")}) {
|
|
394
|
+
`,this.indentLevel++;let W=(Y)=>{if(typeof Y==="string"&&(Y==="break"||Y==="continue"))return!0;if(!Array.isArray(Y))return!1;if(["break","continue","return","throw"].includes(Y[0]))return!0;if(Y[0]==="if")return Y.slice(1).some(W);return Y.some(W)},Z=["for-in","for-of","for-as","while","loop"];if(this.is(_,"block"))for(let Y=0;Y<_.length-1;Y++){let R=_[Y+1];if(Y!==_.length-2||W(R))U+=this.indent()+this.generate(R,"statement")+`;
|
|
395
|
+
`;else if(Array.isArray(R)&&Z.includes(R[0]))U+=this.indent()+this.generate(R,"statement")+`;
|
|
396
|
+
`;else U+=this.indent()+`result.push(${this.generate(R,"value")});
|
|
397
|
+
`}else if(W(_))U+=this.indent()+this.generate(_,"statement")+`;
|
|
398
|
+
`;else if(Array.isArray(_)&&Z.includes(_[0]))U+=this.indent()+this.generate(_,"statement")+`;
|
|
399
|
+
`;else U+=this.indent()+`result.push(${this.generate(_,"value")});
|
|
400
|
+
`;for(let Y=0;Y<$.length;Y++)this.indentLevel--,U+=this.indent()+`}
|
|
401
|
+
`;for(let Y=0;Y<u.length;Y++)this.indentLevel--,U+=this.indent()+`}
|
|
402
|
+
`;return U+=this.indent()+`return result;
|
|
403
|
+
`,this.indentLevel--,this.comprehensionDepth--,U+=this.indent()+"})()",U}generateObjectComprehension(f,w,A){let[_,u,$,F]=w,U=`(() => {
|
|
404
|
+
`;this.indentLevel++,U+=this.indent()+`const result = {};
|
|
405
|
+
`;for(let W of $){let[Z,Y,R,z]=W;if(Z==="for-of"){let[M,D]=Y,J=this.generate(R,"value");if(U+=this.indent()+`for (const ${M} in ${J}) {
|
|
406
|
+
`,this.indentLevel++,z)U+=this.indent()+`if (!Object.hasOwn(${J}, ${M})) continue;
|
|
407
|
+
`;if(D)U+=this.indent()+`const ${D} = ${J}[${M}];
|
|
408
|
+
`}}for(let W of F)U+=this.indent()+`if (${this.generate(W,"value")}) {
|
|
409
|
+
`,this.indentLevel++;U+=this.indent()+`result[${this.generate(_,"value")}] = ${this.generate(u,"value")};
|
|
410
|
+
`;for(let W=0;W<F.length;W++)this.indentLevel--,U+=this.indent()+`}
|
|
411
|
+
`;for(let W=0;W<$.length;W++)this.indentLevel--,U+=this.indent()+`}
|
|
412
|
+
`;return U+=this.indent()+`return result;
|
|
413
|
+
`,this.indentLevel--,U+=this.indent()+"})()",U}generateClass(f,w,A){let[_,u,...$]=w,F=_?`class ${_}`:"class";if(u)F+=` extends ${this.generate(u,"value")}`;if(F+=` {
|
|
414
|
+
`,$.length>0&&Array.isArray($[0])){let U=$[0];if(U[0]==="block"){let W=U.slice(1),Z=W.length>0&&Array.isArray(W[0])&&W[0][0]==="object";if(Z&&W.length===1){let Y=W[0].slice(1);this.indentLevel++;let R=[];for(let[,z,M]of Y){let D=this.is(z,".")&&z[1]==="this",J=this.is(z,"computed"),O=this.extractMemberName(z);if(this.is(M,"=>")&&!D&&!J&&O!=="constructor")R.push(O)}for(let[,z,M]of Y){let D=this.is(z,".")&&z[1]==="this",J=this.is(z,"computed"),O=this.extractMemberName(z);if(this.is(M,"->")||this.is(M,"=>")){let[,Q,q]=M,X=this.containsAwait(q),G=this.containsYield(q),I=Q,E=[];if(O==="constructor"){let P=!!u,N=P?new Map:null;I=Q.map((L)=>{if(this.is(L,".")&&L[1]==="this"){let B=L[2],h=P?`_${B}`:B;if(E.push(`this.${B} = ${h}`),P)N.set(B,h);return h}if(this.is(L,"default")&&this.is(L[1],".")&&L[1][1]==="this"){let B=L[1][2],h=P?`_${B}`:B;if(E.push(`this.${B} = ${h}`),P)N.set(B,h);return["default",h,L[2]]}return L});for(let L of R)E.unshift(`this.${L} = this.${L}.bind(this)`);if(N?.size>0)this._atParamMap=N}let K=this.generateParamList(I),H=(D?"static ":"")+(X?"async ":"")+(G?"*":"");if(F+=this.indent()+`${H}${O}(${K}) `,!J)this.currentMethodName=O;F+=this.generateMethodBody(q,E,O==="constructor",I),this._atParamMap=null,this.currentMethodName=null,F+=`
|
|
415
|
+
`}else if(D)F+=this.indent()+`static ${O} = ${this.generate(M,"value")};
|
|
416
|
+
`;else F+=this.indent()+`${O} = ${this.generate(M,"value")};
|
|
417
|
+
`}this.indentLevel--}else if(Z){let Y=W[0].slice(1),R=W.slice(1);this.indentLevel++;for(let[,z,M]of Y){let D=this.is(z,".")&&z[1]==="this",J=this.extractMemberName(z);if(this.is(M,"->")||this.is(M,"=>")){let[,O,Q]=M,q=this.generateParamList(O),X=(D?"static ":"")+(this.containsAwait(Q)?"async ":"")+(this.containsYield(Q)?"*":"");F+=this.indent()+`${X}${J}(${q}) `,this.currentMethodName=J,F+=this.generateMethodBody(Q,[],J==="constructor",O),this.currentMethodName=null,F+=`
|
|
418
|
+
`}else if(D)F+=this.indent()+`static ${J} = ${this.generate(M,"value")};
|
|
419
|
+
`;else F+=this.indent()+`${J} = ${this.generate(M,"value")};
|
|
420
|
+
`}for(let z of R)if(this.is(z,"class")){let[,M,D,...J]=z;if(this.is(M,".")&&M[1]==="this")F+=this.indent()+`static ${M[2]} = ${this.generate(["class",null,D,...J],"value")};
|
|
419
421
|
`}else F+=this.indent()+this.generate(z,"statement")+`;
|
|
420
422
|
`;this.indentLevel--}else{this.indentLevel++;for(let Y of W)if(this.is(Y,"=")&&Array.isArray(Y[1])&&Y[1][0]==="."&&Y[1][1]==="this")F+=this.indent()+`static ${Y[1][2]} = ${this.generate(Y[2],"value")};
|
|
421
423
|
`;else F+=this.indent()+this.generate(Y,"statement")+`;
|
|
422
|
-
`;this.indentLevel--}}}return F+=this.indent()+"}",F}generateSuper(f,w){if(w.length===0){if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}()`;return"super"}let
|
|
423
|
-
export default ${
|
|
424
|
+
`;this.indentLevel--}}}return F+=this.indent()+"}",F}generateSuper(f,w){if(w.length===0){if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}()`;return"super"}let A=w.map((_)=>this.unwrap(this.generate(_,"value"))).join(", ");if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${A})`;return`super(${A})`}generateImport(f,w,A,_){if(w.length===1){let U=`import(${this.generate(w[0],"value")})`;if(t(_[0],"await")===!0)return`(await ${U})`;return U}if(this.options.skipImports)return"";if(w.length===3){let[U,W,Z]=w,Y=this.addJsExtensionAndAssertions(Z);if(W[0]==="*"&&W.length===2)return`import ${U}, * as ${W[1]} from ${Y}`;let R=W.map((z)=>Array.isArray(z)&&z.length===2?`${z[0]} as ${z[1]}`:z).join(", ");return`import ${U}, { ${R} } from ${Y}`}let[u,$]=w,F=this.addJsExtensionAndAssertions($);if(typeof u==="string")return`import ${u} from ${F}`;if(Array.isArray(u)){if(u[0]==="*"&&u.length===2)return`import * as ${u[1]} from ${F}`;return`import { ${u.map((W)=>Array.isArray(W)&&W.length===2?`${W[0]} as ${W[1]}`:W).join(", ")} } from ${F}`}return`import ${this.generate(u,"value")} from ${F}`}generateExport(f,w){let[A]=w;if(this.options.skipExports){if(Array.isArray(A)&&A.every((_)=>typeof _==="string"))return"";if(this.is(A,"=")){let _=this._componentName;if(this.is(A[2],"component"))this._componentName=m(A[1]);let u=`const ${A[1]} = ${this.generate(A[2],"value")}`;return this._componentName=_,u}return this.generate(A,"statement")}if(Array.isArray(A)&&A.every((_)=>typeof _==="string"))return`export { ${A.join(", ")} }`;if(this.is(A,"=")){let _=this._componentName;if(this.is(A[2],"component"))this._componentName=m(A[1]);let u=`export const ${A[1]} = ${this.generate(A[2],"value")}`;return this._componentName=_,u}return`export ${this.generate(A,"statement")}`}generateExportDefault(f,w){let[A]=w;if(this.options.skipExports){if(this.is(A,"="))return`const ${A[1]} = ${this.generate(A[2],"value")}`;return this.generate(A,"statement")}if(this.is(A,"="))return`const ${A[1]} = ${this.generate(A[2],"value")};
|
|
425
|
+
export default ${A[1]}`;return`export default ${this.generate(A,"statement")}`}generateExportAll(f,w){if(this.options.skipExports)return"";return`export * from ${this.addJsExtensionAndAssertions(w[0])}`}generateExportFrom(f,w){if(this.options.skipExports)return"";let[A,_]=w,u=this.addJsExtensionAndAssertions(_);if(Array.isArray(A))return`export { ${A.map((F)=>Array.isArray(F)&&F.length===2?`${F[0]} as ${F[1]}`:F).join(", ")} } from ${u}`;return`export ${A} from ${u}`}generateDoIIFE(f,w){return`(${this.generate(w[0],"statement")})()`}generateRegex(f,w){return w.length===0?f:this.generate(w[0],"value")}generateTaggedTemplate(f,w){let[A,_]=w,u=this.generate(A,"value"),$=this.generate(_,"value");if($.startsWith("`"))return`${u}${$}`;if($.startsWith('"')||$.startsWith("'"))return`${u}\`${$.slice(1,-1)}\``;return`${u}\`${$}\``}generateString(f,w){let A="`";for(let _ of w)if(_ instanceof String)A+=this.extractStringContent(_);else if(typeof _==="string")if(_.startsWith('"')||_.startsWith("'")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive in str:",_);A+=_.slice(1,-1)}else A+=_;else if(Array.isArray(_))if(_.length===1&&typeof _[0]==="string"&&!Array.isArray(_[0])){let u=_[0];A+=/^[\d"']/.test(u)?"${"+this.generate(u,"value")+"}":"${"+u+"}"}else{let u=_.length===1&&Array.isArray(_[0])?_[0]:_;A+="${"+this.generate(u,"value")+"}"}return A+"`"}findPostfixConditional(f){if(!Array.isArray(f))return null;let w=f[0];if(w==="if"&&f.length===3)return{type:w,condition:f[1],value:f[2]};if(w==="+"||w==="-"||w==="*"||w==="/")for(let A=1;A<f.length;A++){let _=this.findPostfixConditional(f[A]);if(_)return _.parentOp=w,_.operandIndex=A,_.otherOperands=f.slice(1).filter((u,$)=>$!==A-1),_}return null}rebuildWithoutConditional(f){let w=Array.isArray(f.value)&&f.value.length===1?f.value[0]:f.value;if(f.parentOp)return[f.parentOp,...f.otherOperands,w];return w}generateDestructuringPattern(f){return this.formatParam(f)}generateParamList(f){let w=f.findIndex((_)=>this.is(_,"expansion"));if(w!==-1){let _=f.slice(0,w),u=f.slice(w+1),$=_.map((F)=>this.formatParam(F)).join(", ");return this.expansionAfterParams=u,$?`${$}, ..._rest`:"..._rest"}let A=f.findIndex((_)=>this.is(_,"rest"));if(A!==-1&&A<f.length-1){let _=f.slice(0,A),u=f[A],$=f.slice(A+1),F=_.map((U)=>this.formatParam(U));return this.restMiddleParam={restName:u[1],afterParams:$,beforeCount:_.length},F.length>0?`${F.join(", ")}, ...${u[1]}`:`...${u[1]}`}return this.expansionAfterParams=null,this.restMiddleParam=null,f.map((_)=>this.formatParam(_)).join(", ")}formatParam(f){if(typeof f==="string")return f;if(f instanceof String)return f.valueOf();if(this.is(f,"rest"))return`...${f[1]}`;if(this.is(f,"default"))return`${f[1]} = ${this.generate(f[2],"value")}`;if(this.is(f,".")&&f[1]==="this")return f[2];if(this.is(f,"array"))return`[${f.slice(1).map((A)=>{if(A===",")return"";if(A==="...")return"";if(this.is(A,"..."))return`...${A[1]}`;if(this.is(A,"=")&&typeof A[1]==="string")return`${A[1]} = ${this.generate(A[2],"value")}`;if(typeof A==="string")return A;return this.formatParam(A)}).join(", ")}]`;if(this.is(f,"object"))return`{${f.slice(1).map((A)=>{if(this.is(A,"..."))return`...${A[1]}`;if(this.is(A,"default"))return`${A[1]} = ${this.generate(A[2],"value")}`;let[_,u,$]=A;if(_==="=")return`${u} = ${this.generate($,"value")}`;if(u===$)return u;return`${u}: ${this.formatParam($)}`}).join(", ")}}`;return JSON.stringify(f)}generateBodyWithReturns(f,w=[],A={}){let{sideEffectOnly:_=!1,autoAssignments:u=[],isConstructor:$=!1,hasExpansionParams:F=!1}=A,U=this.sideEffectOnly;this.sideEffectOnly=_;let W=new Set,Z=(J)=>{if(typeof J==="string")W.add(J);else if(Array.isArray(J)){if(J[0]==="rest"||J[0]==="..."){if(typeof J[1]==="string")W.add(J[1])}else if(J[0]==="default"){if(typeof J[1]==="string")W.add(J[1])}else if(J[0]==="array"||J[0]==="object")this.collectVarsFromArray(J,W)}};if(Array.isArray(w))w.forEach(Z);let Y=this.collectFunctionVariables(f),R=new Set([...Y].filter((J)=>!this.programVars.has(J)&&!this.reactiveVars?.has(J)&&!W.has(J)&&!this.scopeStack.some((O)=>O.has(J)))),z=["return","throw","break","continue"],M=["for-in","for-of","for-as","while","loop"];if(this.scopeStack.push(new Set([...R,...W])),this.is(f,"block")){let J=this.unwrapBlock(f);if(F&&this.expansionAfterParams?.length>0)J=[...this.expansionAfterParams.map((G,I)=>{return`const ${typeof G==="string"?G:JSON.stringify(G)} = _rest[_rest.length - ${this.expansionAfterParams.length-I}]`}),...J],this.expansionAfterParams=null;if(this.restMiddleParam){let{restName:X,afterParams:G}=this.restMiddleParam,I=G.length,E=[];if(G.forEach((K,H)=>{let P=typeof K==="string"?K:this.is(K,"default")?K[1]:JSON.stringify(K);E.push(`const ${P} = ${X}[${X}.length - ${I-H}]`)}),I>0)E.push(`${X} = ${X}.slice(0, -${I})`);J=[...E,...J],this.restMiddleParam=null}this.indentLevel++;let O=`{
|
|
424
426
|
`;if(R.size>0)O+=this.indent()+`let ${Array.from(R).sort().join(", ")};
|
|
425
|
-
`;let
|
|
426
|
-
`;return}if(!$&&!_&&E&&
|
|
427
|
-
`;return}}if(!$&&!_&&E&&
|
|
428
|
-
`;return}}}let H=!$&&!_&&E&&!z.includes(
|
|
429
|
-
`;else O+=this.indent()+this.addSemicolon(
|
|
430
|
-
`})};if(
|
|
427
|
+
`;let Q=u.length>0&&J.length>0&&Array.isArray(J[0])&&J[0][0]==="super",q=(X)=>{X.forEach((G,I)=>{let E=I===X.length-1,K=Array.isArray(G)?G[0]:null;if(!E&&K==="comprehension"){let[,L,B,h]=G;O+=this.indent()+this.generateComprehensionAsLoop(L,B,h)+`
|
|
428
|
+
`;return}if(!$&&!_&&E&&K==="if"){let[L,B,...h]=G.slice(1),j=(p)=>this.is(p,"block")&&p.length>2;if(this.hasStatementInBranch(B)||h.some((p)=>this.hasStatementInBranch(p))||j(B)||h.some(j)){O+=this.generateIfElseWithEarlyReturns(G)+`
|
|
429
|
+
`;return}}if(!$&&!_&&E&&K==="="){let[L,B]=G.slice(1);if(typeof L==="string"&&Array.isArray(B)){let h=B[0];if(h==="comprehension"||h==="for-in"){this.comprehensionTarget=L,O+=this.generate(B,"value"),this.comprehensionTarget=null,O+=this.indent()+`return ${L};
|
|
430
|
+
`;return}}}let H=!$&&!_&&E&&!z.includes(K)&&!M.includes(K)&&!this.hasExplicitControlFlow(G),P=H?"value":"statement",N=this.generate(G,P);if(H)O+=this.indent()+"return "+N+`;
|
|
431
|
+
`;else O+=this.indent()+this.addSemicolon(G,N)+`
|
|
432
|
+
`})};if(Q){if(J.length===1&&!$)O+=this.indent()+"return "+this.generate(J[0],"value")+`;
|
|
431
433
|
`;else O+=this.indent()+this.generate(J[0],"statement")+`;
|
|
432
|
-
`;for(let
|
|
433
|
-
`;q(J.slice(1))}else{for(let
|
|
434
|
-
`;q(J)}if(_&&J.length>0){let
|
|
435
|
-
`}return this.indentLevel--,O+=this.indent()+"}",this.scopeStack.pop(),this.sideEffectOnly=
|
|
436
|
-
${this.withIndent(()=>w.map((_,u)=>{let $=u===w.length-1,F=Array.isArray(_)?_[0]:null,
|
|
434
|
+
`;for(let G of u)O+=this.indent()+G+`;
|
|
435
|
+
`;q(J.slice(1))}else{for(let X of u)O+=this.indent()+X+`;
|
|
436
|
+
`;q(J)}if(_&&J.length>0){let X=Array.isArray(J[J.length-1])?J[J.length-1][0]:null;if(!z.includes(X))O+=this.indent()+`return;
|
|
437
|
+
`}return this.indentLevel--,O+=this.indent()+"}",this.scopeStack.pop(),this.sideEffectOnly=U,O}this.sideEffectOnly=U;let D;if($&&u.length>0){let J=Array.isArray(f)&&f[0]==="super",O=this.generate(f,"statement"),Q=u.map((q)=>`${q};`).join(" ");D=J?`{ ${O}; ${Q} }`:`{ ${Q} ${O}; }`}else if($||this.hasExplicitControlFlow(f))D=`{ ${this.generate(f,"statement")}; }`;else if(Array.isArray(f)&&(z.includes(f[0])||M.includes(f[0])))D=`{ ${this.generate(f,"statement")}; }`;else if(_)D=`{ ${this.generate(f,"statement")}; return; }`;else D=`{ return ${this.generate(f,"value")}; }`;return this.scopeStack.pop(),D}generateFunctionBody(f,w=[],A=!1){return this.generateBodyWithReturns(f,w,{sideEffectOnly:A,hasExpansionParams:this.expansionAfterParams?.length>0})}generateMethodBody(f,w=[],A=!1,_=[]){return this.generateBodyWithReturns(f,_,{autoAssignments:w,isConstructor:A})}generateBlockWithReturns(f){if(!Array.isArray(f)||f[0]!=="block")return this.generate(f,"statement");let w=this.unwrapBlock(f);return`{
|
|
438
|
+
${this.withIndent(()=>w.map((_,u)=>{let $=u===w.length-1,F=Array.isArray(_)?_[0]:null,U=$&&!["return","throw","break","continue"].includes(F),W=this.generate(_,U?"value":"statement");return U?this.indent()+"return "+W+";":this.indent()+W+";"})).join(`
|
|
437
439
|
`)}
|
|
438
440
|
${this.indent()}}`}generateLoopBody(f){if(!Array.isArray(f))return`{ ${this.generate(f,"statement")}; }`;if(f[0]==="block"||Array.isArray(f[0])){let w=f[0]==="block"?f.slice(1):f;return`{
|
|
439
441
|
${this.withIndent(()=>w.map((_)=>{if(this.is(_,"comprehension")){let[,u,$,F]=_;return this.indent()+this.generateComprehensionAsLoop(u,$,F)}return this.indent()+this.addSemicolon(_,this.generate(_,"statement"))})).join(`
|
|
440
442
|
`)}
|
|
441
|
-
${this.indent()}}`}return`{ ${this.generate(f,"statement")}; }`}generateLoopBodyWithGuard(f,w){let
|
|
442
|
-
`,F=this.withIndent(()=>{this.indentLevel++;let W=this.formatStatements(_);return this.indentLevel--,W}),
|
|
443
|
+
${this.indent()}}`}return`{ ${this.generate(f,"statement")}; }`}generateLoopBodyWithGuard(f,w){let A=this.unwrap(this.generate(w,"value"));if(!Array.isArray(f))return`{ if (${A}) ${this.generate(f,"statement")}; }`;if(f[0]==="block"||Array.isArray(f[0])){let _=f[0]==="block"?f.slice(1):f,u=this.withIndent(()=>this.indent()),$=`if (${A}) {
|
|
444
|
+
`,F=this.withIndent(()=>{this.indentLevel++;let W=this.formatStatements(_);return this.indentLevel--,W}),U=this.withIndent(()=>this.indent()+"}");return`{
|
|
443
445
|
${u}${$}${F.join(`
|
|
444
446
|
`)}
|
|
445
|
-
${
|
|
446
|
-
${this.indent()}}`}return`{ if (${this.generate(w,"value")}) ${this.generate(f,"statement")}; }`}generateComprehensionWithTarget(f,w,
|
|
447
|
-
`;let $=this.is(f,"block")&&f.length===2?f[1]:f;if(w.length===1){let[F,
|
|
447
|
+
${U}
|
|
448
|
+
${this.indent()}}`}return`{ if (${this.generate(w,"value")}) ${this.generate(f,"statement")}; }`}generateComprehensionWithTarget(f,w,A,_){let u="";u+=this.indent()+`${_} = [];
|
|
449
|
+
`;let $=this.is(f,"block")&&f.length===2?f[1]:f;if(w.length===1){let[F,U,W,Z]=w[0];if(F==="for-in"){let{header:Y,setup:R}=this._forInHeader(U,W,Z);if(u+=this.indent()+Y+` {
|
|
448
450
|
`,this.indentLevel++,R)u+=this.indent()+R+`
|
|
449
|
-
`;if(
|
|
451
|
+
`;if(A&&A.length>0)u+=this.indent()+`if (${A.map((z)=>this.generate(z,"value")).join(" && ")}) {
|
|
450
452
|
`,this.indentLevel++;if(u+=this.indent()+`${_}.push(${this.unwrap(this.generate($,"value"))});
|
|
451
|
-
`,
|
|
453
|
+
`,A&&A.length>0)this.indentLevel--,u+=this.indent()+`}
|
|
452
454
|
`;return this.indentLevel--,u+=this.indent()+`}
|
|
453
455
|
`,u}}return this.indent()+`${_} = (() => { /* complex comprehension */ })();
|
|
454
|
-
`}generateComprehensionAsLoop(f,w,
|
|
456
|
+
`}generateComprehensionAsLoop(f,w,A){let _="",u=A?.length?A.map((F)=>this.generate(F,"value")).join(" && "):null,$=()=>{if(u)_+=this.indent()+`if (${u}) {
|
|
455
457
|
`,this.indentLevel++,_+=this.indent()+this.generate(f,"statement")+`;
|
|
456
458
|
`,this.indentLevel--,_+=this.indent()+`}
|
|
457
459
|
`;else _+=this.indent()+this.generate(f,"statement")+`;
|
|
458
|
-
`};if(w.length===1){let[F,
|
|
460
|
+
`};if(w.length===1){let[F,U,W,Z]=w[0];if(F==="for-in"){let{header:Y,setup:R}=this._forInHeader(U,W,Z);if(_+=Y+` {
|
|
459
461
|
`,this.indentLevel++,R)_+=this.indent()+R+`
|
|
460
|
-
`;return $(),this.indentLevel--,_+=this.indent()+"}",_}if(F==="for-as"){let{header:Y}=this._forAsHeader(
|
|
461
|
-
`,this.indentLevel++,$(),this.indentLevel--,_+=this.indent()+"}",_}if(F==="for-of"){let{header:Y,own:R,vv:z,oc:
|
|
462
|
-
`,this.indentLevel++,R)_+=this.indent()+`if (!Object.hasOwn(${
|
|
463
|
-
`;if(z)_+=this.indent()+`const ${z} = ${
|
|
464
|
-
`;return $(),this.indentLevel--,_+=this.indent()+"}",_}}return this.generate(["comprehension",f,w,
|
|
465
|
-
`,$+=this.withIndent(()=>this.generateBranchWithReturn(_)),$+=this.indent()+"}";for(let
|
|
462
|
+
`;return $(),this.indentLevel--,_+=this.indent()+"}",_}if(F==="for-as"){let{header:Y}=this._forAsHeader(U,W,Z);return _+=Y+` {
|
|
463
|
+
`,this.indentLevel++,$(),this.indentLevel--,_+=this.indent()+"}",_}if(F==="for-of"){let{header:Y,own:R,vv:z,oc:M,kvp:D}=this._forOfHeader(U,W,Z);if(_+=Y+` {
|
|
464
|
+
`,this.indentLevel++,R)_+=this.indent()+`if (!Object.hasOwn(${M}, ${D})) continue;
|
|
465
|
+
`;if(z)_+=this.indent()+`const ${z} = ${M}[${D}];
|
|
466
|
+
`;return $(),this.indentLevel--,_+=this.indent()+"}",_}}return this.generate(["comprehension",f,w,A],"value")}generateIfElseWithEarlyReturns(f){let[w,A,_,...u]=f,$="",F=this.generate(A,"value");$+=this.indent()+`if (${F}) {
|
|
467
|
+
`,$+=this.withIndent(()=>this.generateBranchWithReturn(_)),$+=this.indent()+"}";for(let U of u)if($+=" else ",this.is(U,"if")){let[,W,Z,...Y]=U;$+=`if (${this.generate(W,"value")}) {
|
|
466
468
|
`,$+=this.withIndent(()=>this.generateBranchWithReturn(Z)),$+=this.indent()+"}";for(let R of Y)$+=` else {
|
|
467
469
|
`,$+=this.withIndent(()=>this.generateBranchWithReturn(R)),$+=this.indent()+"}"}else $+=`{
|
|
468
|
-
`,$+=this.withIndent(()=>this.generateBranchWithReturn(
|
|
469
|
-
`;else
|
|
470
|
-
`}return
|
|
471
|
-
`;else if(w==="value")if(this.is(f,"block")&&f.length>2)for(let $=0;$<u.length;$++)if($===u.length-1)
|
|
472
|
-
`;else
|
|
473
|
-
`;else
|
|
474
|
-
`;else{if(u.length===1&&this.is(u[0],"if")&&!this.hasStatementInBranch(u[0])&&!this.hasNestedMultiStatement(u[0])){let[$,F,
|
|
475
|
-
`}else if(this.is(f,"block")&&f.length>1)for(let $ of u)
|
|
476
|
-
`;else
|
|
477
|
-
`;
|
|
478
|
-
`}return
|
|
479
|
-
`,this.indentLevel++,
|
|
470
|
+
`,$+=this.withIndent(()=>this.generateBranchWithReturn(U)),$+=this.indent()+"}";return $}generateBranchWithReturn(f){f=this.unwrapIfBranch(f);let w=this.unwrapBlock(f),A="";for(let _=0;_<w.length;_++){let u=_===w.length-1,$=w[_],F=Array.isArray($)?$[0]:null;if(u&&!(F==="return"||F==="throw"||F==="break"||F==="continue"))A+=this.indent()+`return ${this.generate($,"value")};
|
|
471
|
+
`;else A+=this.indent()+this.generate($,"statement")+`;
|
|
472
|
+
`}return A}generateIfAsExpression(f,w,A){if(this.is(w,"block")&&w.length>2||this.hasStatementInBranch(w)||A.some((U)=>this.is(U,"block")&&U.length>2||this.hasStatementInBranch(U)||this.hasNestedMultiStatement(U))){let U=this.containsAwait(f)||this.containsAwait(w)||A.some((Z)=>this.containsAwait(Z)),W=`${U?"await ":""}(${U?"async ":""}() => { `;W+=`if (${this.generate(f,"value")}) `,W+=this.generateBlockWithReturns(w);for(let Z of A)if(W+=" else ",this.is(Z,"if")){let[Y,R,z,...M]=Z;W+=`if (${this.generate(R,"value")}) `,W+=this.generateBlockWithReturns(z);for(let D of M)if(W+=" else ",this.is(D,"if")){let[J,O,Q,...q]=D;W+=`if (${this.generate(O,"value")}) `,W+=this.generateBlockWithReturns(Q),A.push(...q)}else W+=this.generateBlockWithReturns(D)}else W+=this.generateBlockWithReturns(Z);return W+" })()"}let u=this.extractExpression(this.unwrapIfBranch(w)),$=this.buildTernaryChain(A),F=this.generate(f,"value");if(this.is(f,"yield")||this.is(f,"await"))F=`(${F})`;return`(${F} ? ${u} : ${$})`}generateIfAsStatement(f,w,A){let _=`if (${this.unwrap(this.generate(f,"value"))}) `;_+=this.generate(this.unwrapIfBranch(w),"statement");for(let u of A)_+=" else "+this.generate(this.unwrapIfBranch(u),"statement");return _}generateSwitchCaseBody(f,w){let A="",_=this.hasExplicitControlFlow(f),u=this.unwrapBlock(f);if(_)for(let $ of u)A+=this.indent()+this.generate($,"statement")+`;
|
|
473
|
+
`;else if(w==="value")if(this.is(f,"block")&&f.length>2)for(let $=0;$<u.length;$++)if($===u.length-1)A+=this.indent()+`return ${this.generate(u[$],"value")};
|
|
474
|
+
`;else A+=this.indent()+this.generate(u[$],"statement")+`;
|
|
475
|
+
`;else A+=this.indent()+`return ${this.extractExpression(f)};
|
|
476
|
+
`;else{if(u.length===1&&this.is(u[0],"if")&&!this.hasStatementInBranch(u[0])&&!this.hasNestedMultiStatement(u[0])){let[$,F,U,...W]=u[0],Z=this.extractExpression(this.unwrapIfBranch(U)),Y=this.buildTernaryChain(W);A+=this.indent()+`(${this.unwrap(this.generate(F,"value"))} ? ${Z} : ${Y});
|
|
477
|
+
`}else if(this.is(f,"block")&&f.length>1)for(let $ of u)A+=this.indent()+this.generate($,"statement")+`;
|
|
478
|
+
`;else A+=this.indent()+this.generate(f,"statement")+`;
|
|
479
|
+
`;A+=this.indent()+`break;
|
|
480
|
+
`}return A}generateSwitchAsIfChain(f,w,A){let _="";for(let u=0;u<f.length;u++){let[,$,F]=f[u],U=Array.isArray($)?$[0]:$;if(_+=(u===0?"":" else ")+`if (${this.generate(U,"value")}) {
|
|
481
|
+
`,this.indentLevel++,A==="value")_+=this.indent()+`return ${this.extractExpression(F)};
|
|
480
482
|
`;else for(let W of this.unwrapBlock(F))_+=this.indent()+this.generate(W,"statement")+`;
|
|
481
483
|
`;this.indentLevel--,_+=this.indent()+"}"}if(w){if(_+=` else {
|
|
482
|
-
`,this.indentLevel++,
|
|
484
|
+
`,this.indentLevel++,A==="value")_+=this.indent()+`return ${this.extractExpression(w)};
|
|
483
485
|
`;else for(let u of this.unwrapBlock(w))_+=this.indent()+this.generate(u,"statement")+`;
|
|
484
|
-
`;this.indentLevel--,_+=this.indent()+"}"}return
|
|
486
|
+
`;this.indentLevel--,_+=this.indent()+"}"}return A==="value"?`(() => { ${_} })()`:_}extractExpression(f){let w=this.unwrapBlock(f);return w.length>0?this.generate(w[w.length-1],"value"):"undefined"}unwrapBlock(f){if(!Array.isArray(f))return[f];if(f[0]==="block")return f.slice(1);if(Array.isArray(f[0])){if(typeof f[0][0]==="string")return[f];return f}return[f]}indent(){return this.indentString.repeat(this.indentLevel)}needsSemicolon(f,w){if(!w||w.endsWith(";"))return!1;if(!w.endsWith("}"))return!0;let A=Array.isArray(f)?f[0]:null;return!["def","class","if","for-in","for-of","for-as","while","loop","switch","try"].includes(A)}addSemicolon(f,w){return w+(this.needsSemicolon(f,w)?";":"")}formatStatements(f,w="statement"){return f.map((A)=>this.indent()+this.addSemicolon(A,this.generate(A,w)))}wrapForCondition(f){if(/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(f))return f;if(f.startsWith("(")&&f.endsWith(")"))return f;return`(${f})`}hasExplicitControlFlow(f){if(!Array.isArray(f))return!1;let w=f[0];if(w==="return"||w==="throw"||w==="break"||w==="continue")return!0;if(w==="block")return f.slice(1).some((A)=>Array.isArray(A)&&["return","throw","break","continue"].includes(A[0]));if(w==="switch"){let[,,A]=f;return A?.some((_)=>{return this.unwrapBlock(_[2]).some(($)=>Array.isArray($)&&["return","throw","break","continue"].includes($[0]))})}if(w==="if"){let[,,A,_]=f;return this.branchHasControlFlow(A)&&_&&this.branchHasControlFlow(_)}return!1}branchHasControlFlow(f){if(!Array.isArray(f))return!1;let w=this.unwrapBlock(f);if(w.length===0)return!1;let A=w[w.length-1];return Array.isArray(A)&&["return","throw","break","continue"].includes(A[0])}withIndent(f){this.indentLevel++;let w=f();return this.indentLevel--,w}is(f,w,A){if(!Array.isArray(f))return null;if((m(f[0])??f[0])!==w)return null;let _=f.slice(1);if(A!=null&&_.length!==A)return null;return _}unwrap(f){if(typeof f!=="string")return f;while(f.startsWith("(")&&f.endsWith(")")){let w=0,A=0,_=!0,u=!1;for(let $=0;$<f.length;$++){if(f[$]==="(")w++;if(f[$]===")")w--;if(f[$]==="["||f[$]==="{")A++;if(f[$]==="]"||f[$]==="}")A--;if(f[$]===","&&w===1&&A===0)u=!0;if(w===0&&$<f.length-1){_=!1;break}}if(u)_=!1;if(_)f=f.slice(1,-1);else break}return f}_findOptionalInTarget(f){if(!Array.isArray(f))return null;if(f[0]==="?.")return{guard:f[1],rewritten:[".",f[1],f[2]]};if(f[0]==="optindex")return{guard:f[1],rewritten:["[]",f[1],f[2]]};if(f[0]==="."||f[0]==="[]"){let w=this._findOptionalInTarget(f[1]);if(w)return{guard:w.guard,rewritten:[f[0],w.rewritten,f[2]]}}return null}unwrapLogical(f){if(typeof f!=="string")return f;while(f.startsWith("(")&&f.endsWith(")")){let w=0,A=1/0;for(let _=1;_<f.length-1;_++){if(f[_]==="(")w++;if(f[_]===")")w--;A=Math.min(A,w)}if(A>=0)f=f.slice(1,-1);else break}return f}unwrapIfBranch(f){if(Array.isArray(f)&&f.length===1&&(!Array.isArray(f[0])||f[0][0]!=="block"))return f[0];return f}flattenBinaryChain(f){if(!Array.isArray(f)||f.length<3)return f;let[w,...A]=f;if(w!=="&&"&&w!=="||")return f;let _=[],u=($)=>{if(Array.isArray($)&&$[0]===w)for(let F=1;F<$.length;F++)u($[F]);else _.push($)};for(let $ of A)u($);return[w,..._]}hasStatementInBranch(f){if(!Array.isArray(f))return!1;if(f.length===1&&Array.isArray(f[0]))return this.hasStatementInBranch(f[0]);let w=f[0];if(w==="return"||w==="throw"||w==="break"||w==="continue")return!0;if(w==="block")return f.slice(1).some((A)=>this.hasStatementInBranch(A));return!1}hasNestedMultiStatement(f){if(!Array.isArray(f))return!1;if(f[0]==="if"){let[w,A,_,...u]=f;return this.is(_,"block")&&_.length>2||u.some(($)=>this.hasNestedMultiStatement($))}return!1}buildTernaryChain(f){if(f.length===0)return"undefined";if(f.length===1)return this.extractExpression(this.unwrapIfBranch(f[0]));let w=f[0];if(this.is(w,"if")){let[A,_,u,...$]=w,F=this.extractExpression(this.unwrapIfBranch(u)),U=this.buildTernaryChain([...$,...f.slice(1)]);return`(${this.generate(_,"value")} ? ${F} : ${U})`}return this.extractExpression(this.unwrapIfBranch(w))}collectVarsFromArray(f,w){f.slice(1).forEach((A)=>{if(A===","||A==="...")return;if(typeof A==="string"){w.add(A);return}if(Array.isArray(A)){if(A[0]==="..."&&typeof A[1]==="string")w.add(A[1]);else if(A[0]==="array")this.collectVarsFromArray(A,w);else if(A[0]==="object")this.collectVarsFromObject(A,w)}})}collectVarsFromObject(f,w){f.slice(1).forEach((A)=>{if(!Array.isArray(A))return;if(A[0]==="..."&&typeof A[1]==="string"){w.add(A[1]);return}if(A.length>=2){let[_,u,$]=A;if(_==="="){if(typeof u==="string")w.add(u)}else if(typeof $==="string")w.add($);else if(Array.isArray($)){if($[0]==="array")this.collectVarsFromArray($,w);else if($[0]==="object")this.collectVarsFromObject($,w)}}})}extractStringContent(f){let w=m(f).slice(1,-1),A=t(f,"indent");if(A)w=w.replace(new RegExp(`\\n${A}`,"g"),`
|
|
485
487
|
`);if(t(f,"initialChunk")&&w.startsWith(`
|
|
486
488
|
`))w=w.slice(1);if(t(f,"finalChunk")&&w.endsWith(`
|
|
487
|
-
`))w=w.slice(0,-1);return w}processHeregex(f){let w="",
|
|
488
|
-
`)_++;continue}w+=$,_++}return w}addJsExtensionAndAssertions(f){if(f instanceof String)f=m(f);if(typeof f!=="string")return f;let
|
|
489
|
+
`))w=w.slice(0,-1);return w}processHeregex(f){let w="",A=!1,_=0,u=()=>{let $=0,F=_-1;while(F>=0&&f[F]==="\\")$++,F--;return $%2===1};while(_<f.length){let $=f[_];if($==="["&&!u()){A=!0,w+=$,_++;continue}if($==="]"&&A&&!u()){A=!1,w+=$,_++;continue}if(A){w+=$,_++;continue}if(/\s/.test($)){_++;continue}if($==="#"){if(u()){w+=$,_++;continue}let F=_-1;while(F>=0&&f[F]==="\\")F--;if(F<_-1){w+=$,_++;continue}while(_<f.length&&f[_]!==`
|
|
490
|
+
`)_++;continue}w+=$,_++}return w}addJsExtensionAndAssertions(f){if(f instanceof String)f=m(f);if(typeof f!=="string")return f;let A=f.startsWith('"')||f.startsWith("'")?f.slice(1,-1):f,_=A.startsWith("./")||A.startsWith("../"),u=A,$="";if(_){let F=A.lastIndexOf("/"),U=F>=0?A.substring(F+1):A;if(U.includes(".")){if(U.endsWith(".json"))$=" with { type: 'json' }"}else u=A+".js"}return`'${u}'`+$}containsIt(f){if(!f)return!1;if(f==="it"||f instanceof String&&m(f)==="it")return!0;if(typeof f!=="object")return!1;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>"))return!1;if(Array.isArray(f))return f.some((w)=>this.containsIt(w));return!1}containsAwait(f){if(!f)return!1;if(f instanceof String&&t(f,"await")===!0)return!0;if(typeof f!=="object")return!1;if(this.is(f,"await"))return!0;if(this.is(f,"for-as")&&f[3]===!0)return!0;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>")||this.is(f,"class"))return!1;if(Array.isArray(f))return f.some((w)=>this.containsAwait(w));return!1}containsYield(f){if(!f)return!1;if(typeof f!=="object")return!1;if(this.is(f,"yield")||this.is(f,"yield-from"))return!0;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>")||this.is(f,"class"))return!1;if(Array.isArray(f))return f.some((w)=>this.containsYield(w));return!1}extractMemberName(f){if(this.is(f,".")&&f[1]==="this")return f[2];if(this.is(f,"computed"))return`[${this.generate(f[1],"value")}]`;return f}getReactiveRuntime(){return`// ============================================================================
|
|
489
491
|
// Rip Reactive Runtime
|
|
490
492
|
// A minimal, fine-grained reactivity system
|
|
491
493
|
//
|
|
@@ -714,13 +716,13 @@ if (typeof globalThis !== 'undefined') {
|
|
|
714
716
|
}
|
|
715
717
|
|
|
716
718
|
// === End Reactive Runtime ===
|
|
717
|
-
`}}class I1{constructor(f={}){this.options={showTokens:!1,showSExpr:!1,...f}}compile(f,w){if(w)this.options={...this.options,...w};let
|
|
718
|
-
`),u=_.findIndex((J)=>J==="__DATA__");if(u!==-1){let J=_.slice(u+1);
|
|
719
|
+
`}}class I1{constructor(f={}){this.options={showTokens:!1,showSExpr:!1,...f}}compile(f,w){if(w)this.options={...this.options,...w};let A=null,_=f.split(`
|
|
720
|
+
`),u=_.findIndex((J)=>J==="__DATA__");if(u!==-1){let J=_.slice(u+1);A=J.length>0?J.join(`
|
|
719
721
|
`)+`
|
|
720
722
|
`:"",f=_.slice(0,u).join(`
|
|
721
|
-
`)}let F=new Z1().tokenize(f);if(this.options.showTokens)F.forEach((J)=>console.log(`${J[0].padEnd(12)} ${JSON.stringify(J[1])}`)),console.log();let
|
|
722
|
-
//# sourceMappingURL=data:application/json;base64,${J}`}else if(
|
|
723
|
-
//# sourceMappingURL=${this.options.filename}.js.map`;if(W)
|
|
723
|
+
`)}let F=new Z1().tokenize(f);if(this.options.showTokens)F.forEach((J)=>console.log(`${J[0].padEnd(12)} ${JSON.stringify(J[1])}`)),console.log();let U=null,W=null;if(this.options.types==="emit"||this.options.types==="check"||this.options.types===!0)W=[...F];F=F.filter((J)=>J[0]!=="TYPE_DECL");while(F.length>0&&F[0][0]==="TERMINATOR")F.shift();if(F.every((J)=>J[0]==="TERMINATOR")){if(W)U=n1(W,["program"],f);return{tokens:F,sexpr:["program"],code:"",dts:U,data:A,reactiveVars:{}}}M1.lexer={tokens:F,pos:0,setInput:function(){},lex:function(){if(this.pos>=this.tokens.length)return 1;let J=this.tokens[this.pos++],O=J[1];if(J.data)O=new String(O),Object.assign(O,J.data);return this.text=O,this.loc=J.loc,J[0]}};let Z;try{Z=M1.parse(f)}catch(J){if(/\?\s*\([^)]*\?[^)]*:[^)]*\)\s*:/.test(f)||/\?\s+\w+\s+\?\s+/.test(f))throw Error("Nested ternary operators are not supported. Use if/else statements instead.");throw J}if(this.options.showSExpr)console.log(F1(Z,0,!0)),console.log();let Y=null;if(this.options.sourceMap){let J=(this.options.filename||"output")+".js",O=this.options.filename||"input.rip";Y=new t1(J,O,f)}let R=new f1({dataSection:A,source:f,skipPreamble:this.options.skipPreamble,skipRuntimes:this.options.skipRuntimes,skipExports:this.options.skipExports,skipImports:this.options.skipImports,skipDataPart:this.options.skipDataPart,stubComponents:this.options.stubComponents,reactiveVars:this.options.reactiveVars,sourceMap:Y}),z=R.compile(Z),M=Y?Y.toJSON():null,D=Y?Y.toReverseMap():null;if(M&&this.options.sourceMap==="inline"){let J=typeof Buffer<"u"?Buffer.from(M).toString("base64"):btoa(M);z+=`
|
|
724
|
+
//# sourceMappingURL=data:application/json;base64,${J}`}else if(M&&this.options.filename)z+=`
|
|
725
|
+
//# sourceMappingURL=${this.options.filename}.js.map`;if(W)U=n1(W,Z,f);return{tokens:F,sexpr:Z,code:z,dts:U,map:M,reverseMap:D,data:A,reactiveVars:R.reactiveVars}}compileToJS(f){return this.compile(f).code}compileToSExpr(f){return this.compile(f).sexpr}}V2(f1,Z1);f1.prototype.generateEnum=J2;function y1(f,w={}){return new I1(w).compile(f)}function Y1(f,w={}){return new I1(w).compileToJS(f)}function B1(){return`globalThis.abort ??= (msg) => { if (msg) console.error(msg); process.exit(1); };
|
|
724
726
|
globalThis.assert ??= (v, msg) => { if (!v) throw new Error(msg || "Assertion failed"); };
|
|
725
727
|
globalThis.exit ??= (code) => process.exit(code || 0);
|
|
726
728
|
globalThis.kind ??= (v) => v != null ? (v.constructor?.name || Object.prototype.toString.call(v).slice(8, -1)).toLowerCase() : String(v);
|
|
@@ -733,17 +735,17 @@ globalThis.sleep ??= (ms) => new Promise(r => setTimeout(r, ms));
|
|
|
733
735
|
globalThis.todo ??= (msg) => { throw new Error(msg || "Not implemented"); };
|
|
734
736
|
globalThis.warn ??= console.warn;
|
|
735
737
|
globalThis.zip ??= (...a) => a[0].map((_, i) => a.map(b => b[i]));
|
|
736
|
-
`}function L1(){return new
|
|
738
|
+
`}function L1(){return new f1({}).getReactiveRuntime()}function N1(){return new f1({}).getComponentRuntime()}var c2="3.13.130",j2="2026-04-02@23:49:11GMT";if(typeof globalThis<"u"){if(!globalThis.__rip)Function(L1())();if(!globalThis.__ripComponent)Function(N1())()}var O4=(f)=>{let w=f.match(/^[ \t]*(?=\S)/gm),A=Math.min(...(w||[]).map((_)=>_.length));return f.replace(RegExp(`^[ ]{${A}}`,"gm"),"").trim()};async function y2(){let f=[],w=document.querySelector('script[src$="rip.min.js"], script[src$="rip.js"]'),A=w?.getAttribute("data-src");if(A){for(let _ of A.trim().split(/\s+/))if(_)f.push({url:_})}for(let _ of document.querySelectorAll('script[type="text/rip"]'))if(_.src)f.push({url:_.src});else{let u=O4(_.textContent);if(u)f.push({code:u})}if(f.length>0){let _=await Promise.allSettled(f.map(async(W)=>{if(!W.url)return;let Z=await fetch(W.url);if(!Z.ok)throw Error(`${W.url} (${Z.status})`);if(W.url.endsWith(".rip"))W.code=await Z.text();else{let Y=await Z.json();W.bundle=Y}}));for(let W of _)if(W.status==="rejected")console.warn("Rip: fetch failed:",W.reason.message);let u=[],$=[];for(let W of f)if(W.bundle)u.push(W.bundle);else if(W.code)$.push(W);let F=w?.getAttribute("data-router");if(F!=null&&u.length>0){let W={skipRuntimes:!0,skipExports:!0,skipImports:!0};if($.length>0){let Y="";for(let R of $)try{Y+=Y1(R.code,W)+`
|
|
737
739
|
`}catch(z){console.error(`Rip compile error in ${R.url||"inline"}:`,z.message)}if(Y)try{await(0,eval)(`(async()=>{
|
|
738
740
|
${Y}
|
|
739
|
-
})()`)}catch(R){console.error("Rip runtime error:",R)}}let Z=J1.modules?.["ui.rip"];if(Z?.launch){let Y=u[u.length-1],R=w.getAttribute("data-persist"),z={bundle:Y,hash:F==="hash"};if(R!=null)z.persist=R==="local"?"local":!0;await Z.launch("",z)}}else{let W=[];for(let R of u){for(let[z,
|
|
740
|
-
`),z=w?.getAttribute("data-mount");if(z){let
|
|
741
|
-
${z}.mount(${JSON.stringify(
|
|
741
|
+
})()`)}catch(R){console.error("Rip runtime error:",R)}}let Z=J1.modules?.["ui.rip"];if(Z?.launch){let Y=u[u.length-1],R=w.getAttribute("data-persist"),z={bundle:Y,hash:F==="hash"};if(R!=null)z.persist=R==="local"?"local":!0;await Z.launch("",z)}}else{let W=[];for(let R of u){for(let[z,M]of Object.entries(R.components||{}))W.push({code:M,url:z});if(R.data){let z=w?.getAttribute("data-state"),M={};if(z)try{M=JSON.parse(z)}catch{}Object.assign(M,R.data),w?.setAttribute("data-state",JSON.stringify(M))}}W.push(...$);let Z={skipRuntimes:!0,skipExports:!0,skipImports:!0},Y=[];for(let R of W){if(!R.code)continue;try{let z=Y1(R.code,Z);Y.push({js:z,url:R.url||"inline"})}catch(z){console.error(`Rip compile error in ${R.url||"inline"}:`,z.message)}}if(!globalThis.__ripApp&&w){let R=globalThis.stash;if(R){let z={},M=w.getAttribute("data-state");if(M)try{z=JSON.parse(M)}catch(O){console.error("Rip: invalid data-state JSON:",O.message)}let D=R({data:z});if(globalThis.__ripApp=D,typeof window<"u")window.app=D;let J=w.getAttribute("data-persist");if(J!=null&&globalThis.persistStash)globalThis.persistStash(D,{local:J==="local"})}}if(Y.length>0){let R=Y.map((M)=>M.js).join(`
|
|
742
|
+
`),z=w?.getAttribute("data-mount");if(z){let M=w.getAttribute("data-target")||"body";R+=`
|
|
743
|
+
${z}.mount(${JSON.stringify(M)});`}try{await(0,eval)(`(async()=>{
|
|
742
744
|
${R}
|
|
743
|
-
})()`),document.body.classList.add("ready")}catch(
|
|
744
|
-
${
|
|
745
|
-
})()`)}catch(J){console.error(` → source: ${
|
|
746
|
-
`,u=new Blob([_+
|
|
747
|
-
${w}`).replace(/^let\s+[^;]+;\s*\n\s*/m,"");_=_.replace(/^const\s+(\w+)\s*=/gm,"globalThis.$1 =");let u=(0,eval)(_);if(u&&typeof u.then==="function")return u.then(($)=>{if($!==void 0)globalThis._=$;return $});if(u!==void 0)globalThis._=u;return u}catch(w){console.error("Rip compilation error:",w.message);return}}if(typeof globalThis<"u")globalThis.rip=b2,globalThis.importRip=J1,globalThis.compileToJS=Y1,globalThis.__ripExports={compile:y1,compileToJS:Y1,formatSExpr:F1,getStdlibCode:B1,VERSION:c2,BUILD_DATE:j2,getReactiveRuntime:L1,getComponentRuntime:N1};if(typeof document<"u")globalThis.__ripScriptsReady=new Promise((f)=>{let w=()=>y2().then(f);if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",()=>queueMicrotask(w));else queueMicrotask(w)});var l1={};R2(l1,{throttle:()=>P7,stash:()=>z3,setContext:()=>W3,raw:()=>$2,persistStash:()=>Q3,launch:()=>B7,isStash:()=>O7,hold:()=>I7,hasContext:()=>U3,getContext:()=>w3,delay:()=>K3,debounce:()=>E7,createRouter:()=>J3,createResource:()=>q7,createRenderer:()=>D3,createComponents:()=>X3});var g2,t1,w2,O1,z1,v1,v2,D1,e,l2,x2,_2,m2,k2,q1,f1,i2,n2,d2,p2,r2,o2,a2,s2,e1,T1,h1,U2,t2,e2,b1,g1,u3,f3,$3,u2,f2,w3,_3,A2,U3,S1,F2,A3,F3,W3,Y3,R3,W2,Z3;globalThis.abort??=(f)=>{if(f)console.error(f);process.exit(1)};globalThis.assert??=(f,w)=>{if(!f)throw Error(w||"Assertion failed")};globalThis.exit??=(f)=>process.exit(f||0);globalThis.kind??=(f)=>f!=null?(f.constructor?.name||Object.prototype.toString.call(f).slice(8,-1)).toLowerCase():String(f);globalThis.noop??=()=>{};globalThis.p??=console.log;globalThis.pp??=(f)=>{return console.log(JSON.stringify(f,null,2)),f};globalThis.raise??=(f,w)=>{throw w!==void 0?new f(w):Error(f)};globalThis.rand??=(f,w)=>w!==void 0?(f>w&&([f,w]=[w,f]),Math.floor(Math.random()*(w-f+1)+f)):f?Math.floor(Math.random()*f):Math.random();globalThis.sleep??=(f)=>new Promise((w)=>setTimeout(w,f));globalThis.todo??=(f)=>{throw Error(f||"Not implemented")};globalThis.warn??=console.warn;globalThis.zip??=(...f)=>f[0].map((w,U)=>f.map((_)=>_[U]));({__state:e,__effect:D1,__batch:v2}=globalThis.__rip);({setContext:W3,getContext:w3,hasContext:U3}=globalThis.__ripComponent||{});v1=Symbol("stash");z1=Symbol("signals");O1=Symbol("raw");t1=Symbol("persisted");w2=new WeakMap;e1=0;U2=e(0);A2=function(f,w){let U;if(!f[z1])Object.defineProperty(f,z1,{value:new Map,enumerable:!1});if(U=f[z1].get(w),!U)U=e(f[w]),f[z1].set(w,U);return U};S1=function(f){return A2(f,Symbol.for("keys"))};Z3=function(f){let w;if(!(f!=null&&typeof f==="object"))return f;if(f[v1])return f;if(f instanceof Date||f instanceof RegExp||f instanceof Map||f instanceof Set||f instanceof Promise)return f;if(w=w2.get(f),w)return w;return F2(f)};F2=function(f){let w,U;return U=null,w={get:function(_,u){let $,F;if(u===v1)return!0;if(u===O1)return _;if(typeof u==="symbol")return Reflect.get(_,u);if(u==="length"&&Array.isArray(_))return S1(_).value,_.length;if(u==="get")return function(A){return Y3(U,A)};if(u==="set")return function(A,W){return R3(U,A,W)};if($=A2(_,u),F=$.value,F!=null&&typeof F==="object")return Z3(F);return F},set:function(_,u,$){let F,A;if(F=_[u],A=$?.[O1]?$[O1]:$,A===F)return!0;if(_[u]=A,_[z1]?.has(u))_[z1].get(u).value=A;if(F===void 0&&A!==void 0)S1(_).value=++e1;return U2.value++,!0},deleteProperty:function(_,u){let $;if(delete _[u],$=_[z1]?.get(u),$!=null)$.value=void 0;return S1(_).value=++e1,!0},ownKeys:function(_){return S1(_).value,Reflect.ownKeys(_)}},U=new Proxy(f,w),w2.set(f,U),U};g2=/([./][^./\[\s]+|\[[-+]?\d+\]|\[(?:"[^"]+"|'[^']+')\])/;W2=function(f){let w,U,_,u,$;_=("."+f).split(g2),_.shift(),$=[],U=0;while(U<_.length){if(u=_[U],w=u[0],w==="."||w==="/")$.push(u.slice(1));else if(w==="[")if(u[1]==='"'||u[1]==="'")$.push(u.slice(2,-2));else $.push(+u.slice(1,-1));U+=2}return $};Y3=function(f,w){let U,_;_=W2(w),U=f;for(let u of _){if(U==null)return;U=U[u]}return U};R3=function(f,w,U){let _,u;u=W2(w),_=f;for(let $=0;$<u.length;$++){let F=u[$];if($===u.length-1)_[F]=U;else{if(_[F]==null)_[F]={};_=_[F]}}return U};var z3=function(f={}){return F2(f)},$2=function(f){return f?.[O1]?f[O1]:f},O7=function(f){return f?.[v1]===!0},Q3=function(f,w={}){let U,_,u,$,F,A;if(A=$2(f)||f,A[t1])return;A[t1]=!0,$=w.local?localStorage:sessionStorage,F=w.key||"__rip_app";try{if(_=$.getItem(F),_){u=JSON.parse(_);for(let W in u){let Z=u[W];f.data[W]=Z}}}catch{}return U=function(){return(()=>{try{return $.setItem(F,JSON.stringify($2(f.data)))}catch{return null}})()},D1(function(){let W;return U2.value,W=setTimeout(U,2000),function(){return clearTimeout(W)}}),window.addEventListener("beforeunload",U)},q7=function(f,w={}){let U,_,u,$,F;if(U=e(w.initial||null),u=e(!1),_=e(null),$=async function(){let A;return u.value=!0,_.value=null,(async()=>{try{return A=await f(),U.value=A}catch(W){return _.value=W}finally{u.value=!1}})()},F={data:void 0,loading:void 0,error:void 0,refetch:$},Object.defineProperty(F,"data",{get:function(){return U.value}}),Object.defineProperty(F,"loading",{get:function(){return u.value}}),Object.defineProperty(F,"error",{get:function(){return _.value}}),!w.lazy)$();return F};h1=function(f){return typeof f==="function"?f:function(){return f.value}};T1=function(f,w){let U;return U={read:function(){return f.read()}},Object.defineProperty(U,"value",{get:function(){return f.value},set:function(_){return w.value=_}}),U};var K3=function(f,w){let U,_;return U=h1(w),_=e(!!U()),D1(function(){let u;if(U())return u=setTimeout(function(){return _.value=!0},f),function(){return clearTimeout(u)};else return _.value=!1}),typeof w!=="function"?T1(_,w):_},E7=function(f,w){let U,_;return U=h1(w),_=e(U()),D1(function(){let u,$;return $=U(),u=setTimeout(function(){return _.value=$},f),function(){return clearTimeout(u)}}),typeof w!=="function"?T1(_,w):_},P7=function(f,w){let U,_,u;return U=h1(w),u=e(U()),_=0,D1(function(){let $,F,A,W;if(W=U(),$=Date.now(),F=f-($-_),F<=0)return u.value=W,_=$;else return A=setTimeout(function(){return u.value=U(),_=Date.now()},F),function(){return clearTimeout(A)}}),typeof w!=="function"?T1(u,w):u},I7=function(f,w){let U,_;return U=h1(w),_=e(!!U()),D1(function(){let u;if(U())return _.value=!0;else return u=setTimeout(function(){return _.value=!1},f),function(){return clearTimeout(u)}}),typeof w!=="function"?T1(_,w):_},X3=function(){let f,w,U,_;return w=new Map,_=[],f=new Map,U=function(u,$){for(let F of _)F(u,$)},{read:function(u){return w.get(u)},write:function(u,$){let F;return F=!w.has(u),w.set(u,$),f.delete(u),U(F?"create":"change",u)},del:function(u){return w.delete(u),f.delete(u),U("delete",u)},exists:function(u){return w.has(u)},size:function(){return w.size},list:function(u=""){let $,F,A;A=[],$=u?u+"/":"";for(let[W]of w)if(W.startsWith($)){if(F=W.slice($.length),F.includes("/"))continue;A.push(W)}return A},listAll:function(u=""){let $,F;F=[],$=u?u+"/":"";for(let[A]of w)if(A.startsWith($))F.push(A);return F},load:function(u){for(let $ in u){let F=u[$];w.set($,F)}},watch:function(u){return _.push(u),function(){return _.splice(_.indexOf(u),1)}},getCompiled:function(u){return f.get(u)},setCompiled:function(u,$){return f.set(u,$)}}};$3=function(f){let w;if(w=f.replace(/\.rip$/,""),w=w.replace(/\[\.\.\.(\w+)\]/g,"*$1"),w=w.replace(/\[(\w+)\]/g,":$1"),w==="index")return"/";return w=w.replace(/\/index$/,""),"/"+w};F3=function(f){let w,U;return w=[],U=f.replace(/\*(\w+)/g,function(_,u){return w.push(u),"(.+)"}).replace(/:(\w+)/g,function(_,u){return w.push(u),"([^/]+)"}),{regex:new RegExp("^"+U+"$"),names:w}};A3=function(f,w){let U,_;for(let u of w)if(U=f.match(u.regex.regex),U){_={};for(let $=0;$<u.regex.names.length;$++){let F=u.regex.names[$];_[F]=decodeURIComponent(U[$+1])}return{route:u,params:_}}return null};b1=function(f,w="components"){let U,_,u,$,F,A,W,Z,Y;W=[],u=new Map,U=f.listAll(w);for(let R of U){if(A=R.slice(w.length+1),!A.endsWith(".rip"))continue;if($=A.split("/").pop(),$==="_layout.rip"){_=A==="_layout.rip"?"":A.slice(0,-12),u.set(_,R);continue}if($.startsWith("_"))continue;if(Z=A.split("/"),Z.length>1&&Z.some(function(z,Q){return Q<Z.length-1&&z.startsWith("_")}))continue;Y=$3(A),F=F3(Y),W.push({pattern:Y,regex:F,file:R,rel:A})}return W.sort(function(R,z){let Q,X,J,O;if(X=(R.pattern.match(/:/g)||[]).length,O=(z.pattern.match(/:/g)||[]).length,Q=R.pattern.includes("*")?1:0,J=z.pattern.includes("*")?1:0,Q!==J)return Q-J;if(X!==O)return X-O;return R.pattern.localeCompare(z.pattern)}),{routes:W,layouts:u}};_3=function(f,w,U){let _,u,$,F;if(_=[],$=f.slice(w.length+1),F=$.split("/"),u="",U.has(""))_.push(U.get(""));for(let A=0;A<F.length;A++){let W=F[A];if(A===F.length-1)break;if(u=u?u+"/"+W:W,U.has(u))_.push(U.get(u))}return _};var J3=function(f,w={}){let U,_,u,$,F,A,W,Z,Y,R,z,Q,X,J,O,K,q,G,M,I,E;if(q=w.root||"components",Y=w.base||"",R=w.hash||!1,X=w.onError||null,M=function(D){return Y&&D.startsWith(Y)?D.slice(Y.length)||"/":D},Z=function(D){return Y?Y+D:D},O=function(){let D;if(R){if(D=location.hash.slice(1),!D)return"/";return D[0]==="/"?D:"/"+D}else return location.pathname+location.search+location.hash},E=function(D){return R?D==="/"?location.pathname:"#"+D.slice(1):Z(D)},F=e(M(R?O():location.pathname)),$=e({}),W=e(null),_=e([]),A=e({}),U=e(""),u=K3(100,e(!1)),I=b1(f,q),z=new Set,f.watch(function(D,H){if(!H.startsWith(q+"/"))return;return I=b1(f,q)}),K=function(D){let H,P,N,L,B;if(L=D.split("?")[0].split("#")[0],P=M(L),P=P[0]==="/"?P:"/"+P,N=D.split("?")[1]?.split("#")[0]||"",H=D.includes("#")?D.split("#")[1]:"",B=A3(P,I.routes),B){v2(function(){return F.value=P,$.value=B.params,W.value=B.route,_.value=_3(B.route.file,q,I.layouts),A.value=Object.fromEntries(new URLSearchParams(N)),U.value=H});for(let h of z)h(G.current);return!0}if(X)X({status:404,path:P});return!1},J=function(){return K(O())},typeof window<"u")window.addEventListener("popstate",J);if(Q=function(D){let H,P,N;if(D.button!==0||D.metaKey||D.ctrlKey||D.shiftKey||D.altKey)return;P=D.target;while(P&&P.tagName!=="A")P=P.parentElement;if(!P?.href)return;if(N=new URL(P.href,location.origin),N.origin!==location.origin)return;if(P.target==="_blank"||P.hasAttribute("data-external"))return;return D.preventDefault(),H=R&&N.hash?N.hash.slice(1)||"/":N.pathname+N.search+N.hash,G.push(H)},typeof document<"u")document.addEventListener("click",Q);return G={push:function(D){return K(D)?history.pushState(null,"",E(F.read())):void 0},replace:function(D){return K(D)?history.replaceState(null,"",E(F.read())):void 0},back:function(){return history.back()},forward:function(){return history.forward()},current:void 0,path:void 0,params:void 0,route:void 0,layouts:void 0,query:void 0,hash:void 0,navigating:void 0,onNavigate:function(D){return z.add(D),function(){return z.delete(D)}},rebuild:function(){return I=b1(f,q)},routes:void 0,init:function(){return K(O()),G},destroy:function(){if(typeof window<"u")window.removeEventListener("popstate",J);if(typeof document<"u")document.removeEventListener("click",Q);return z.clear()}},Object.defineProperty(G,"current",{get:function(){return{path:F.value,params:$.value,route:W.value,layouts:_.value,query:A.value,hash:U.value}}}),Object.defineProperty(G,"path",{get:function(){return F.value}}),Object.defineProperty(G,"params",{get:function(){return $.value}}),Object.defineProperty(G,"route",{get:function(){return W.value}}),Object.defineProperty(G,"layouts",{get:function(){return _.value}}),Object.defineProperty(G,"query",{get:function(){return A.value}}),Object.defineProperty(G,"hash",{get:function(){return U.value}}),Object.defineProperty(G,"navigating",{get:function(){return u.value},set:function(D){return u.value=D}}),Object.defineProperty(G,"routes",{get:function(){return I.routes}}),G};t2=function(f,w){if(f.length!==w.length)return!1;for(let U=0;U<f.length;U++)if(f[U]!==w[U])return!1;return!0};f2=function(f){for(let w in f){let U=f[w];if(typeof U==="function"&&(U.prototype?.mount||U.prototype?._create))return U}return typeof f.default==="function"?f.default:void 0};u2=function(f){let w;w={};for(let U in f){let _=f[U];if(typeof _==="function"&&(_.prototype?.mount||_.prototype?._create))w[U]=_}return w};f3=function(f){let w;return w=f.split("/").pop().replace(/\.rip$/,""),w.replace(/(^|[-_])([a-z])/g,function(U,_,u){return u.toUpperCase()})};e2=function(f,w="components"){let U,_,u;_={};for(let $ of f.listAll(w)){if(!$.endsWith(".rip"))continue;if(U=$.split("/").pop(),U.startsWith("_"))continue;if(u=f3($),_[u])console.warn(`[Rip] Component name collision: ${u} (${_[u]} vs ${$})`);_[u]=$}return _};g1=async function(f,w,U=null,_=null,u=null){let $,F,A,W,Z,Y,R,z,Q,X,J,O;if(U&&_){if(F=U.getCompiled(_),F)return F}if(R=w(f),u){X={};for(let K in u.map){let q=u.map[K];if(q!==_&&R.includes(`new ${K}(`)){if(!u.classes[K]){if(W=U.read(q),W){A=await g1(W,w,U,q,u),Z=u2(A);for(let G in Z){let M=Z[G];u.classes[G]=M}}}if(u.classes[K])X[K]=!0}}if(Q=Object.keys(X),Q.length>0)J=`const {${Q.join(", ")}} = globalThis['${u.key}'];
|
|
745
|
+
})()`),document.body.classList.add("ready")}catch(M){if(M instanceof SyntaxError){console.error(`Rip syntax error in combined output: ${M.message}`);for(let D of Y)try{Function(`(async()=>{
|
|
746
|
+
${D.js}
|
|
747
|
+
})()`)}catch(J){console.error(` → source: ${D.url}`,J.message)}}else console.error("Rip runtime error:",M)}}}}if(w?.hasAttribute("data-reload")&&!globalThis.__ripLaunched){let _=!1,u=1000,$=30000,F=()=>{let U=new EventSource("/watch");U.addEventListener("connected",()=>{if(u=1000,_)location.reload();_=!0}),U.addEventListener("reload",(W)=>{if(W.data==="styles"){let Z=Date.now(),Y=0;if(document.querySelectorAll('link[rel="stylesheet"]').forEach((R)=>{if(new URL(R.href).origin!==location.origin)return;let z=new URL(R.href);z.searchParams.set("_r",Z),R.href=z.toString(),Y++}),!Y)location.reload()}else location.reload()}),U.onerror=()=>{U.close(),setTimeout(F,u),u=Math.min(u*2,$)}};F()}}async function J1(f){for(let[F,U]of Object.entries(J1.modules))if(f.includes(F))return U;let w=await fetch(f).then((F)=>{if(!F.ok)throw Error(`importRip: ${f} (${F.status})`);return F.text()}),A=Y1(w),_=`// ${f}
|
|
748
|
+
`,u=new Blob([_+A],{type:"application/javascript"});return await import(URL.createObjectURL(u))}J1.modules={};function b2(f){try{let w=f.replace(/^/gm," "),_=Y1(`do ->
|
|
749
|
+
${w}`).replace(/^let\s+[^;]+;\s*\n\s*/m,"");_=_.replace(/^const\s+(\w+)\s*=/gm,"globalThis.$1 =");let u=(0,eval)(_);if(u&&typeof u.then==="function")return u.then(($)=>{if($!==void 0)globalThis._=$;return $});if(u!==void 0)globalThis._=u;return u}catch(w){console.error("Rip compilation error:",w.message);return}}if(typeof globalThis<"u")globalThis.rip=b2,globalThis.importRip=J1,globalThis.compileToJS=Y1,globalThis.__ripExports={compile:y1,compileToJS:Y1,formatSExpr:F1,getStdlibCode:B1,VERSION:c2,BUILD_DATE:j2,getReactiveRuntime:L1,getComponentRuntime:N1};if(typeof document<"u")globalThis.__ripScriptsReady=new Promise((f)=>{let w=()=>y2().then(f);if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",()=>queueMicrotask(w));else queueMicrotask(w)});var l1={};Z2(l1,{throttle:()=>I4,stash:()=>z3,setContext:()=>W3,raw:()=>w2,persistStash:()=>M3,launch:()=>L4,isStash:()=>q4,hold:()=>B4,hasContext:()=>A3,getContext:()=>w3,delay:()=>Q3,debounce:()=>P4,createRouter:()=>J3,createResource:()=>E4,createRenderer:()=>K3,createComponents:()=>D3});var g2,e1,_2,O1,z1,v1,v2,K1,e,l2,x2,A2,m2,k2,q1,$1,i2,n2,d2,p2,r2,o2,a2,s2,u2,S1,h1,U2,t2,e2,b1,g1,u3,f3,$3,f2,$2,w3,_3,F2,A3,T1,W2,U3,F3,W3,Y3,R3,Y2,Z3;globalThis.abort??=(f)=>{if(f)console.error(f);process.exit(1)};globalThis.assert??=(f,w)=>{if(!f)throw Error(w||"Assertion failed")};globalThis.exit??=(f)=>process.exit(f||0);globalThis.kind??=(f)=>f!=null?(f.constructor?.name||Object.prototype.toString.call(f).slice(8,-1)).toLowerCase():String(f);globalThis.noop??=()=>{};globalThis.p??=console.log;globalThis.pp??=(f)=>{return console.log(JSON.stringify(f,null,2)),f};globalThis.raise??=(f,w)=>{throw w!==void 0?new f(w):Error(f)};globalThis.rand??=(f,w)=>w!==void 0?(f>w&&([f,w]=[w,f]),Math.floor(Math.random()*(w-f+1)+f)):f?Math.floor(Math.random()*f):Math.random();globalThis.sleep??=(f)=>new Promise((w)=>setTimeout(w,f));globalThis.todo??=(f)=>{throw Error(f||"Not implemented")};globalThis.warn??=console.warn;globalThis.zip??=(...f)=>f[0].map((w,A)=>f.map((_)=>_[A]));({__state:e,__effect:K1,__batch:v2}=globalThis.__rip);({setContext:W3,getContext:w3,hasContext:A3}=globalThis.__ripComponent||{});v1=Symbol("stash");z1=Symbol("signals");O1=Symbol("raw");e1=Symbol("persisted");_2=new WeakMap;u2=0;U2=e(0);F2=function(f,w){let A;if(!f[z1])Object.defineProperty(f,z1,{value:new Map,enumerable:!1});if(A=f[z1].get(w),!A)A=e(f[w]),f[z1].set(w,A);return A};T1=function(f){return F2(f,Symbol.for("keys"))};Z3=function(f){let w;if(!(f!=null&&typeof f==="object"))return f;if(f[v1])return f;if(f instanceof Date||f instanceof RegExp||f instanceof Map||f instanceof Set||f instanceof Promise)return f;if(w=_2.get(f),w)return w;return W2(f)};W2=function(f){let w,A;return A=null,w={get:function(_,u){let $,F;if(u===v1)return!0;if(u===O1)return _;if(typeof u==="symbol")return Reflect.get(_,u);if(u==="length"&&Array.isArray(_))return T1(_).value,_.length;if(u==="get")return function(U){return Y3(A,U)};if(u==="set")return function(U,W){return R3(A,U,W)};if($=F2(_,u),F=$.value,F!=null&&typeof F==="object")return Z3(F);return F},set:function(_,u,$){let F,U;if(F=_[u],U=$?.[O1]?$[O1]:$,U===F)return!0;if(_[u]=U,_[z1]?.has(u))_[z1].get(u).value=U;if(F===void 0&&U!==void 0)T1(_).value=++u2;return U2.value++,!0},deleteProperty:function(_,u){let $;if(delete _[u],$=_[z1]?.get(u),$!=null)$.value=void 0;return T1(_).value=++u2,!0},ownKeys:function(_){return T1(_).value,Reflect.ownKeys(_)}},A=new Proxy(f,w),_2.set(f,A),A};g2=/([./][^./\[\s]+|\[[-+]?\d+\]|\[(?:"[^"]+"|'[^']+')\])/;Y2=function(f){let w,A,_,u,$;_=("."+f).split(g2),_.shift(),$=[],A=0;while(A<_.length){if(u=_[A],w=u[0],w==="."||w==="/")$.push(u.slice(1));else if(w==="[")if(u[1]==='"'||u[1]==="'")$.push(u.slice(2,-2));else $.push(+u.slice(1,-1));A+=2}return $};Y3=function(f,w){let A,_;_=Y2(w),A=f;for(let u of _){if(A==null)return;A=A[u]}return A};R3=function(f,w,A){let _,u;u=Y2(w),_=f;for(let $=0;$<u.length;$++){let F=u[$];if($===u.length-1)_[F]=A;else{if(_[F]==null)_[F]={};_=_[F]}}return A};var z3=function(f={}){return W2(f)},w2=function(f){return f?.[O1]?f[O1]:f},q4=function(f){return f?.[v1]===!0},M3=function(f,w={}){let A,_,u,$,F,U;if(U=w2(f)||f,U[e1])return;U[e1]=!0,$=w.local?localStorage:sessionStorage,F=w.key||"__rip_app";try{if(_=$.getItem(F),_){u=JSON.parse(_);for(let W in u){let Z=u[W];f.data[W]=Z}}}catch{}return A=function(){return(()=>{try{return $.setItem(F,JSON.stringify(w2(f.data)))}catch{return null}})()},K1(function(){let W;return U2.value,W=setTimeout(A,2000),function(){return clearTimeout(W)}}),window.addEventListener("beforeunload",A)},E4=function(f,w={}){let A,_,u,$,F;if(A=e(w.initial||null),u=e(!1),_=e(null),$=async function(){let U;return u.value=!0,_.value=null,(async()=>{try{return U=await f(),A.value=U}catch(W){return _.value=W}finally{u.value=!1}})()},F={data:void 0,loading:void 0,error:void 0,refetch:$},Object.defineProperty(F,"data",{get:function(){return A.value}}),Object.defineProperty(F,"loading",{get:function(){return u.value}}),Object.defineProperty(F,"error",{get:function(){return _.value}}),!w.lazy)$();return F};h1=function(f){return typeof f==="function"?f:function(){return f.value}};S1=function(f,w){let A;return A={read:function(){return f.read()}},Object.defineProperty(A,"value",{get:function(){return f.value},set:function(_){return w.value=_}}),A};var Q3=function(f,w){let A,_;return A=h1(w),_=e(!!A()),K1(function(){let u;if(A())return u=setTimeout(function(){return _.value=!0},f),function(){return clearTimeout(u)};else return _.value=!1}),typeof w!=="function"?S1(_,w):_},P4=function(f,w){let A,_;return A=h1(w),_=e(A()),K1(function(){let u,$;return $=A(),u=setTimeout(function(){return _.value=$},f),function(){return clearTimeout(u)}}),typeof w!=="function"?S1(_,w):_},I4=function(f,w){let A,_,u;return A=h1(w),u=e(A()),_=0,K1(function(){let $,F,U,W;if(W=A(),$=Date.now(),F=f-($-_),F<=0)return u.value=W,_=$;else return U=setTimeout(function(){return u.value=A(),_=Date.now()},F),function(){return clearTimeout(U)}}),typeof w!=="function"?S1(u,w):u},B4=function(f,w){let A,_;return A=h1(w),_=e(!!A()),K1(function(){let u;if(A())return _.value=!0;else return u=setTimeout(function(){return _.value=!1},f),function(){return clearTimeout(u)}}),typeof w!=="function"?S1(_,w):_},D3=function(){let f,w,A,_;return w=new Map,_=[],f=new Map,A=function(u,$){for(let F of _)F(u,$)},{read:function(u){return w.get(u)},write:function(u,$){let F;return F=!w.has(u),w.set(u,$),f.delete(u),A(F?"create":"change",u)},del:function(u){return w.delete(u),f.delete(u),A("delete",u)},exists:function(u){return w.has(u)},size:function(){return w.size},list:function(u=""){let $,F,U;U=[],$=u?u+"/":"";for(let[W]of w)if(W.startsWith($)){if(F=W.slice($.length),F.includes("/"))continue;U.push(W)}return U},listAll:function(u=""){let $,F;F=[],$=u?u+"/":"";for(let[U]of w)if(U.startsWith($))F.push(U);return F},load:function(u){for(let $ in u){let F=u[$];w.set($,F)}},watch:function(u){return _.push(u),function(){return _.splice(_.indexOf(u),1)}},getCompiled:function(u){return f.get(u)},setCompiled:function(u,$){return f.set(u,$)}}};$3=function(f){let w;if(w=f.replace(/\.rip$/,""),w=w.replace(/\[\.\.\.(\w+)\]/g,"*$1"),w=w.replace(/\[(\w+)\]/g,":$1"),w==="index")return"/";return w=w.replace(/\/index$/,""),"/"+w};F3=function(f){let w,A;return w=[],A=f.replace(/\*(\w+)/g,function(_,u){return w.push(u),"(.+)"}).replace(/:(\w+)/g,function(_,u){return w.push(u),"([^/]+)"}),{regex:new RegExp("^"+A+"$"),names:w}};U3=function(f,w){let A,_;for(let u of w)if(A=f.match(u.regex.regex),A){_={};for(let $=0;$<u.regex.names.length;$++){let F=u.regex.names[$];_[F]=decodeURIComponent(A[$+1])}return{route:u,params:_}}return null};b1=function(f,w="components"){let A,_,u,$,F,U,W,Z,Y;W=[],u=new Map,A=f.listAll(w);for(let R of A){if(U=R.slice(w.length+1),!U.endsWith(".rip"))continue;if($=U.split("/").pop(),$==="_layout.rip"){_=U==="_layout.rip"?"":U.slice(0,-12),u.set(_,R);continue}if($.startsWith("_"))continue;if(Z=U.split("/"),Z.length>1&&Z.some(function(z,M){return M<Z.length-1&&z.startsWith("_")}))continue;Y=$3(U),F=F3(Y),W.push({pattern:Y,regex:F,file:R,rel:U})}return W.sort(function(R,z){let M,D,J,O;if(D=(R.pattern.match(/:/g)||[]).length,O=(z.pattern.match(/:/g)||[]).length,M=R.pattern.includes("*")?1:0,J=z.pattern.includes("*")?1:0,M!==J)return M-J;if(D!==O)return D-O;return R.pattern.localeCompare(z.pattern)}),{routes:W,layouts:u}};_3=function(f,w,A){let _,u,$,F;if(_=[],$=f.slice(w.length+1),F=$.split("/"),u="",A.has(""))_.push(A.get(""));for(let U=0;U<F.length;U++){let W=F[U];if(U===F.length-1)break;if(u=u?u+"/"+W:W,A.has(u))_.push(A.get(u))}return _};var J3=function(f,w={}){let A,_,u,$,F,U,W,Z,Y,R,z,M,D,J,O,Q,q,X,G,I,E;if(q=w.root||"components",Y=w.base||"",R=w.hash||!1,D=w.onError||null,G=function(K){return Y&&K.startsWith(Y)?K.slice(Y.length)||"/":K},Z=function(K){return Y?Y+K:K},O=function(){let K;if(R){if(K=location.hash.slice(1),!K)return"/";return K[0]==="/"?K:"/"+K}else return location.pathname+location.search+location.hash},E=function(K){return R?K==="/"?location.pathname:"#"+K.slice(1):Z(K)},F=e(G(R?O():location.pathname)),$=e({}),W=e(null),_=e([]),U=e({}),A=e(""),u=Q3(100,e(!1)),I=b1(f,q),z=new Set,f.watch(function(K,H){if(!H.startsWith(q+"/"))return;return I=b1(f,q)}),Q=function(K){let H,P,N,L,B;if(L=K.split("?")[0].split("#")[0],P=G(L),P=P[0]==="/"?P:"/"+P,N=K.split("?")[1]?.split("#")[0]||"",H=K.includes("#")?K.split("#")[1]:"",B=U3(P,I.routes),B){v2(function(){return F.value=P,$.value=B.params,W.value=B.route,_.value=_3(B.route.file,q,I.layouts),U.value=Object.fromEntries(new URLSearchParams(N)),A.value=H});for(let h of z)h(X.current);return!0}if(D)D({status:404,path:P});return!1},J=function(){return Q(O())},typeof window<"u")window.addEventListener("popstate",J);if(M=function(K){let H,P,N;if(K.button!==0||K.metaKey||K.ctrlKey||K.shiftKey||K.altKey)return;P=K.target;while(P&&P.tagName!=="A")P=P.parentElement;if(!P?.href)return;if(N=new URL(P.href,location.origin),N.origin!==location.origin)return;if(P.target==="_blank"||P.hasAttribute("data-external"))return;return K.preventDefault(),H=R&&N.hash?N.hash.slice(1)||"/":N.pathname+N.search+N.hash,X.push(H)},typeof document<"u")document.addEventListener("click",M);return X={push:function(K){return Q(K)?history.pushState(null,"",E(F.read())):void 0},replace:function(K){return Q(K)?history.replaceState(null,"",E(F.read())):void 0},back:function(){return history.back()},forward:function(){return history.forward()},current:void 0,path:void 0,params:void 0,route:void 0,layouts:void 0,query:void 0,hash:void 0,navigating:void 0,onNavigate:function(K){return z.add(K),function(){return z.delete(K)}},rebuild:function(){return I=b1(f,q)},routes:void 0,init:function(){return Q(O()),X},destroy:function(){if(typeof window<"u")window.removeEventListener("popstate",J);if(typeof document<"u")document.removeEventListener("click",M);return z.clear()}},Object.defineProperty(X,"current",{get:function(){return{path:F.value,params:$.value,route:W.value,layouts:_.value,query:U.value,hash:A.value}}}),Object.defineProperty(X,"path",{get:function(){return F.value}}),Object.defineProperty(X,"params",{get:function(){return $.value}}),Object.defineProperty(X,"route",{get:function(){return W.value}}),Object.defineProperty(X,"layouts",{get:function(){return _.value}}),Object.defineProperty(X,"query",{get:function(){return U.value}}),Object.defineProperty(X,"hash",{get:function(){return A.value}}),Object.defineProperty(X,"navigating",{get:function(){return u.value},set:function(K){return u.value=K}}),Object.defineProperty(X,"routes",{get:function(){return I.routes}}),X};t2=function(f,w){if(f.length!==w.length)return!1;for(let A=0;A<f.length;A++)if(f[A]!==w[A])return!1;return!0};$2=function(f){for(let w in f){let A=f[w];if(typeof A==="function"&&(A.prototype?.mount||A.prototype?._create))return A}return typeof f.default==="function"?f.default:void 0};f2=function(f){let w;w={};for(let A in f){let _=f[A];if(typeof _==="function"&&(_.prototype?.mount||_.prototype?._create))w[A]=_}return w};f3=function(f){let w;return w=f.split("/").pop().replace(/\.rip$/,""),w.replace(/(^|[-_])([a-z])/g,function(A,_,u){return u.toUpperCase()})};e2=function(f,w="components"){let A,_,u;_={};for(let $ of f.listAll(w)){if(!$.endsWith(".rip"))continue;if(A=$.split("/").pop(),A.startsWith("_"))continue;if(u=f3($),_[u])console.warn(`[Rip] Component name collision: ${u} (${_[u]} vs ${$})`);_[u]=$}return _};g1=async function(f,w,A=null,_=null,u=null){let $,F,U,W,Z,Y,R,z,M,D,J,O;if(A&&_){if(F=A.getCompiled(_),F)return F}if(R=w(f),u){D={};for(let Q in u.map){let q=u.map[Q];if(q!==_&&R.includes(`new ${Q}(`)){if(!u.classes[Q]){if(W=A.read(q),W){U=await g1(W,w,A,q,u),Z=f2(U);for(let X in Z){let G=Z[X];u.classes[X]=G}}}if(u.classes[Q])D[Q]=!0}}if(M=Object.keys(D),M.length>0)J=`const {${M.join(", ")}} = globalThis['${u.key}'];
|
|
748
750
|
`,R=J+R}if(Y=_?`// ${_}
|
|
749
|
-
`:"",$=new Blob([Y+R],{type:"application/javascript"}),O=URL.createObjectURL($),z=await import(O),u){Z=u2(z);for(let K in Z){let q=Z[K];u.classes[K]=q}}if(U&&_)U.setCompiled(_,z);return z};var D3=function(f={}){let w,U,_,u,$,F,A,W,Z,Y,R,z,Q,X,J,O,K,q,G,M,I,E;if({router:M,app:w,components:$,resolver:G,compile:_,target:I,onError:K}=f,F=typeof I==="string"?document.querySelector(I):I||document.getElementById("app"),!F)F=document.createElement("div"),F.id="app",document.body.appendChild(F);return F.style.opacity="0",A=null,Y=null,Z=null,W=[],Q=[],J=F,z=0,R=null,u=new Map,X=f.cacheSize||10,U=function(){let D,H;if(A&&Y){if(A.beforeUnmount)A.beforeUnmount();if(u.set(Y,A),u.size>X){if(H=u.keys().next().value,D=u.get(H),D.unmounted)D.unmounted();u.delete(H)}return A=null,Y=null}},E=function(){U();for(let D=Q.length-1;D>=0;D--){let H=Q[D];if(H.beforeUnmount)H.beforeUnmount();if(H.unmounted)H.unmounted();H._target?.remove()}return Q=[],J=F},$.watch(function(D,H){let P;if(u.has(H)){if(P=u.get(H),P.unmounted)P.unmounted();return u.delete(H)}}),O=async function(D){let H,P,N,L,B,h,j,S,p,T,C,V,l,d,c,y,b,g,n,i,r,v;if({route:n,params:y,layouts:S,query:g}=D,!n)return;if(n.file===Y&&JSON.stringify(y)===JSON.stringify(Z))return;return Z=y,L=++z,M.navigating=!0,(async()=>{try{if(r=$.read(n.file),!r){if(K)K({status:404,message:`File not found: ${n.file}`});M.navigating=!1;return}if(V=await g1(r,_,$,n.file,G),L!==z){M.navigating=!1;return}if(H=f2(V),!H){if(K)K({status:500,message:`No component found in ${n.file}`});M.navigating=!1;return}if(C=!t2(S,W),d=A?._target,C)E();else U();if(l=C?F:J,C&&S.length>0){F.innerHTML="",l=F;for(let x of S){if(T=$.read(x),!T)continue;if(p=await g1(T,_,$,x,G),L!==z){M.navigating=!1;return}if(P=f2(p),!P)continue;if(h=new P({app:w,params:y,router:M}),h.beforeMount)h.beforeMount();v=document.createElement("div"),v.setAttribute("data-layout",x),l.appendChild(v),h.mount(v),Q.push(h),i=v.querySelector("#content")||v,l=i}W=[...S],J=l}else if(C)F.innerHTML="",W=[],J=F;if(N=u.get(n.file),N)u.delete(n.file),l.appendChild(N._target),A=N,Y=n.file;else{if(c=document.createElement("div"),c.setAttribute("data-component",n.file),l.appendChild(c),j=new H({app:w,params:y,query:g,router:M}),j.beforeMount)j.beforeMount();if(j.mount(c),A=j,Y=n.file,j.load)await j.load(y,g)}return d?.remove(),M.navigating=!1,F.style.opacity==="0"?document.fonts.ready.then(function(){return requestAnimationFrame(function(){return F.style.transition="opacity 150ms ease-in",F.style.opacity="1"})}):void 0}catch(x){if(M.navigating=!1,F.style.opacity="1",console.error(`Renderer: error mounting ${n.file}:`,x),K)K({status:500,message:x.message,error:x});B=!1;for(let k=Q.length-1;k>=0;k--){let s=Q[k];if(s.onError)try{s.onError(x),B=!0;break}catch(o){console.error("Renderer: error boundary failed:",o)}}return(()=>{if(!B)return b=document.createElement("pre"),b.style.cssText="color:red;padding:1em",b.textContent=x.stack||x.message,F.innerHTML="",F.appendChild(b)})()}})()},q={start:function(){return R=D1(function(){let D;return D=M.current,D.route?O(D):void 0}),M.init(),q},stop:function(){if(E(),R)R(),R=null;return F.innerHTML=""},remount:function(){let D;return D=M.current,D.route?O(D):void 0},cache:u},q};u3=function(f){let w,U,_;return _=1000,U=30000,w=function(){let u;return u=new EventSource(f),u.addEventListener("connected",function(){return _=1000,console.log("[Rip] Hot reload connected")}),u.addEventListener("reload",function(){return console.log("[Rip] Reloading..."),location.reload()}),u.addEventListener("css",function(){for(let $ of document.querySelectorAll('link[rel="stylesheet"]'))f=new URL($.href),f.searchParams.set("_t",Date.now()),$.href=f.toString()}),u.onerror=function(){return u.close(),setTimeout(w,_),_=Math.min(_*2,U)}},w()};var B7=async function(f="",w={}){let U,_,u,$,F,A,W,Z,Y,R,z,Q,X,J,O,K,q;if(globalThis.__ripLaunched=!0,typeof f==="object")w=f,f="";if(f=f.replace(/\/+$/,""),q=w.target||"#app",A=w.compile||null,Q=w.persist||!1,R=w.hash||!1,!A)A=globalThis?.compileToJS||null;if(typeof document<"u"&&!document.querySelector(q))W=document.createElement("div"),W.id=q.replace(/^#/,""),document.body.prepend(W);if(w.bundle)u=w.bundle;else if(w.bundleUrl){if(z={},Y=`__rip_etag_${w.bundleUrl}`,$=sessionStorage.getItem(Y),$)z["If-None-Match"]=$;if(J=await fetch(w.bundleUrl,{headers:z}),J.status===304)u=JSON.parse(sessionStorage.getItem(`${Y}_data`));else if(J.ok){if(u=await J.json(),Z=J.headers.get("etag"),Z)sessionStorage.setItem(Y,Z),sessionStorage.setItem(`${Y}_data`,JSON.stringify(u))}else throw Error(`launch: ${w.bundleUrl} (${J.status})`)}else throw Error("launch: no bundle or bundleUrl provided");if(U=z3({components:{},routes:{},data:{}}),globalThis.__ripApp=U,u.data)U.data=u.data;if(u.routes)U.routes=u.routes;if(Q&&typeof sessionStorage<"u")Q3(U,{local:Q==="local",key:`__rip_${f}`});if(_=X3(),u.components)_.load(u.components);if(F=`__rip_${f.replace(/\//g,"_")||"app"}`,O={map:e2(_),classes:{},key:F},typeof globalThis<"u")globalThis[F]=O.classes;if(U.data.title&&typeof document<"u")document.title=U.data.title;if(K=J3(_,{root:"components",base:f,hash:R,onError:function(G){return console.error(`[Rip] Error ${G.status}: ${G.message||G.path}`)}}),X=D3({router:K,app:U,components:_,resolver:O,compile:A,target:q,onError:function(G){return console.error(`[Rip] ${G.message}`,G.error)}}),X.start(),u.data?.watch)u3(`${f}/watch`);if(typeof window<"u")window.app=U,window.__RIP__={app:U,components:_,router:K,renderer:X,cache:X.cache,version:"0.3.0"};return{app:U,components:_,router:K,renderer:X}};f1=function(f,w){if(!w)return;return f.preventDefault(),f.stopPropagation(),w()};globalThis.__ariaLastFocusedEl??=null;if(typeof document<"u"&&!globalThis.__ariaFocusTrackerBound)document.addEventListener("focusin",function(f){return globalThis.__ariaLastFocusedEl=f.target},!0),globalThis.__ariaFocusTrackerBound=!0;m2=function(f,w){if(f.isComposing)return;return(()=>{switch(f.key){case"ArrowDown":return f1(f,w.next);case"ArrowUp":return f1(f,w.prev);case"Home":case"PageUp":return f1(f,w.first);case"End":case"PageDown":return f1(f,w.last);case"Enter":case" ":return f1(f,w.select);case"Escape":return f1(f,w.dismiss);case"Tab":return w.tab?.();default:return f.key.length===1?w.char?.(f.key):void 0}})()};i2=function(f,w,U,_=[],u=null){let $,F,A;if(!f)return;return $=function(W){return typeof W==="function"?W():W},F=(W)=>{return![$(w),..._.map($)].some(function(Z){return Z?.contains(W.target)})?U():void 0},A=(W)=>{if($(w)?.contains(W.target))return;return u?u():U()},document.addEventListener("mousedown",F),window.addEventListener("scroll",A,!0),function(){return document.removeEventListener("mousedown",F),window.removeEventListener("scroll",A,!0)}};n2=function(f=250){let w;return w=0,{block:function(U=f){return w=Date.now()+U},canOpen:function(){return Date.now()>=w}}};x2=function(f,w,U,_=null){let u,$,F,A,W,Z,Y,R,z,Q,X;if(A=function(J){return typeof J==="function"?J():J},u=function(){let J,O;if(J=document.activeElement,J&&J!==document.body)return J;if(O=globalThis.__ariaLastFocusedEl,O?.isConnected!==!1)return O;return null},F=A(w),!F)return;if(!Object.hasOwn(HTMLElement.prototype,"togglePopover"))return;if(Y=null,X=function(J){if(J){F.hidden=!1;try{F.inert=!1}catch{}return F.removeAttribute("aria-hidden")}else{try{F.inert=!0}catch{}return F.setAttribute("aria-hidden","true"),F.hidden=!0}},R=function(){let J,O;if(O=Y,Y=null,!O?.focus)return;return J=function(K=6){if(O.isConnected===!1)return;try{O.focus({preventScroll:!0})}catch{O.focus()}if(document.activeElement===O||K<=1)return;return setTimeout(function(){return J(K-1)},16)},requestAnimationFrame(function(){return J()})},W=function(J){let O;if(O=J.newState==="open",O)Y=A(_)||u(),X(!0);else X(!1),R();return U?.(O)},F.addEventListener("toggle",W),z=F.matches(":popover-open"),$=!!f,z!==$){if(Q=A(_),$)Y=Q||u(),X(!0);Z=Q&&$?{force:$,source:Q}:{force:$};try{F.togglePopover(Z)}catch{}}else X($);return function(){return F.removeEventListener("toggle",W)}};l2=function(f,w,U,_=!0){let u,$,F,A,W,Z,Y,R;if(F=function(z){return typeof z==="function"?z():z},u=function(){let z,Q;if(z=document.activeElement,z&&z!==document.body)return z;if(Q=globalThis.__ariaLastFocusedEl,Q?.isConnected!==!1)return Q;return null},$=F(w),!$?.showModal)return;if(Z=null,R=function(z){if(z){$.hidden=!1;try{$.inert=!1}catch{}return $.removeAttribute("aria-hidden")}else{try{$.inert=!0}catch{}return $.setAttribute("aria-hidden","true"),$.hidden=!0}},Y=function(){let z,Q;if(Q=Z,Z=null,!Q?.focus)return;return z=function(X=6){if(Q.isConnected===!1)return;try{Q.focus({preventScroll:!0})}catch{Q.focus()}if(document.activeElement===Q||X<=1)return;return setTimeout(function(){return z(X-1)},16)},requestAnimationFrame(function(){return z()})},A=function(z){if(!_){z.preventDefault();return}return U?.(!1)},W=function(){return U?.(!1),R(!1),Y()},$.addEventListener("cancel",A),$.addEventListener("close",W),f&&!$.open){if(!Z)Z=u();R(!0);try{$.showModal()}catch{}}else if(!f&&$.open)$.close();else R(!!f);return function(){return $.removeEventListener("cancel",A),$.removeEventListener("close",W)}};r2=function(f,w,U="vertical"){let _,u;if(f.isComposing)return;return u=U!=="horizontal",_=U!=="vertical",(()=>{switch(f.key){case"ArrowDown":return u?f1(f,w.next):void 0;case"ArrowUp":return u?f1(f,w.prev):void 0;case"ArrowRight":return _?f1(f,w.next):void 0;case"ArrowLeft":return _?f1(f,w.prev):void 0;case"Home":case"PageUp":return f1(f,w.first);case"End":case"PageDown":return f1(f,w.last);case"Enter":case" ":return f1(f,w.select);case"Escape":return f1(f,w.dismiss);default:return f.key.length===1?w.char?.(f.key):void 0}})()};p2=function(f,w,U=4,_=!0){let u,$;if(!(f&&w))return;if($=f.getBoundingClientRect(),w.style.position="fixed",w.style.left=`${$.left}px`,w.style.top=`${$.bottom+U}px`,w.style.minWidth=`${$.width}px`,u=w.getBoundingClientRect(),u.bottom>window.innerHeight)w.style.top=`${$.top-u.height-U}px`;if(u.right>window.innerWidth)w.style.left=`${window.innerWidth-u.width-U}px`;return _?w.style.visibility="visible":void 0};var L7='a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])';o2=function(f){let w;return w=function(U){let _,u,$;if(U.key!=="Tab")return;if($=Array.from(f.querySelectorAll(L7)).filter(function(F){return F.offsetParent!==null}),!$.length)return;return _=$[0],u=$[$.length-1],U.shiftKey?document.activeElement===_?(U.preventDefault(),u.focus()):void 0:document.activeElement===u?(U.preventDefault(),_.focus()):void 0},f.addEventListener("keydown",w),function(){return f.removeEventListener("keydown",w)}};s2=function(f,w){let U,_;if(!f)return;if(_=f.querySelector("h1,h2,h3,h4,h5,h6"),_)_.id??=`${w}-title`,f.setAttribute("aria-labelledby",_.id);if(U=f.querySelector("p"),U)return U.id??=`${w}-desc`,f.setAttribute("aria-describedby",U.id)};q1=[];k2=function(f){let w;if(w=window.scrollY,q1.push({instance:f,scrollY:w}),q1.length===1)return document.body.style.position="fixed",document.body.style.top=`-${w}px`,document.body.style.width="100%"};a2=function(f){let w,U;if(w=q1.findIndex(function(_){return _.instance===f}),w<0)return;if({scrollY:U}=q1.splice(w,1)[0],!q1.length)return document.body.style.position="",document.body.style.top="",document.body.style.width="",window.scrollTo(0,U)};_2=function(){let f,w,U;return(()=>{try{if(!document?.createElement)return!1;return f=document.createElement("div"),w=document.createElement("div"),f.style.cssText="position:fixed;top:100px;left:100px;width:10px;height:10px;anchor-name:--probe",w.style.cssText="position:fixed;inset:auto;margin:0;position-anchor:--probe;position-area:bottom start;width:10px;height:10px",document.body.appendChild(f),document.body.appendChild(w),U=w.getBoundingClientRect(),f.remove(),w.remove(),U.top>50}catch{return!1}})()}();d2=function(f,w,U={}){let _,u,$,F,A,W,Z;if(!(f&&w))return;if(A=U.placement??"bottom start",F=U.offset??4,u=U.matchWidth??!1,_2){switch($=`--anchor-${w.id||Math.random().toString(36).slice(2,8)}`,f.style.anchorName=$,w.style.positionAnchor=$,w.style.position="fixed",w.style.inset="auto",w.style.margin="0",w.style.positionArea=A,w.style.positionTry="flip-block, flip-inline, flip-block flip-inline",w.style.positionVisibility="anchors-visible",[Z]=A.split(" "),w.style.marginTop="",w.style.marginBottom="",w.style.marginLeft="",w.style.marginRight="",Z){case"bottom":w.style.marginTop=`${F}px`;break;case"top":w.style.marginBottom=`${F}px`;break;case"left":w.style.marginRight=`${F}px`;break;case"right":w.style.marginLeft=`${F}px`;break}return u?w.style.minWidth="anchor-size(width)":void 0}else{switch(W=f.getBoundingClientRect(),w.style.position="fixed",w.style.inset="auto",w.style.margin="0",[Z,_]=A.split(" "),_??="start",Z){case"bottom":w.style.top=`${W.bottom+F}px`;break;case"top":w.style.bottom=`${window.innerHeight-W.top+F}px`;break;case"left":w.style.right=`${window.innerWidth-W.left+F}px`;break;case"right":w.style.left=`${W.right+F}px`;break}if(Array.isArray(["bottom","top"])?["bottom","top"].includes(Z):(Z in["bottom","top"]))switch(_){case"start":w.style.left=`${W.left}px`;break;case"center":w.style.left=`${W.left+W.width/2}px`,w.style.transform="translateX(-50%)";break;case"end":w.style.right=`${window.innerWidth-W.right}px`;break}else switch(_){case"start":w.style.top=`${W.top}px`;break;case"center":w.style.top=`${W.top+W.height/2}px`,w.style.transform="translateY(-50%)";break;case"end":w.style.bottom=`${window.innerHeight-W.bottom}px`;break}return u?w.style.minWidth=`${W.width}px`:void 0}};globalThis.__aria??={listNav:m2,rovingNav:r2,popupDismiss:i2,popupGuard:n2,bindPopover:x2,bindDialog:l2,positionBelow:p2,trapFocus:o2,wireAria:s2,lockScroll:k2,unlockScroll:a2,position:d2,hasAnchor:_2};globalThis.ARIA??=globalThis.__aria;J1.modules["ui.rip"]=l1;for(let[f,w]of Object.entries(l1))if(typeof w==="function")globalThis[f]=w;})();
|
|
751
|
+
`:"",$=new Blob([Y+R],{type:"application/javascript"}),O=URL.createObjectURL($),z=await import(O),u){Z=f2(z);for(let Q in Z){let q=Z[Q];u.classes[Q]=q}}if(A&&_)A.setCompiled(_,z);return z};var K3=function(f={}){let w,A,_,u,$,F,U,W,Z,Y,R,z,M,D,J,O,Q,q,X,G,I,E;if({router:G,app:w,components:$,resolver:X,compile:_,target:I,onError:Q}=f,F=typeof I==="string"?document.querySelector(I):I||document.getElementById("app"),!F)F=document.createElement("div"),F.id="app",document.body.appendChild(F);return F.style.opacity="0",U=null,Y=null,Z=null,W=[],M=[],J=F,z=0,R=null,u=new Map,D=f.cacheSize||10,A=function(){let K,H;if(U&&Y){if(U.beforeUnmount)U.beforeUnmount();if(u.set(Y,U),u.size>D){if(H=u.keys().next().value,K=u.get(H),K.unmounted)K.unmounted();u.delete(H)}return U=null,Y=null}},E=function(){A();for(let K=M.length-1;K>=0;K--){let H=M[K];if(H.beforeUnmount)H.beforeUnmount();if(H.unmounted)H.unmounted();H._target?.remove()}return M=[],J=F},$.watch(function(K,H){let P;if(u.has(H)){if(P=u.get(H),P.unmounted)P.unmounted();return u.delete(H)}}),O=async function(K){let H,P,N,L,B,h,j,T,p,S,C,V,l,n,c,y,b,g,i,d,r,v;if({route:i,params:y,layouts:T,query:g}=K,!i)return;if(i.file===Y&&JSON.stringify(y)===JSON.stringify(Z))return;return Z=y,L=++z,G.navigating=!0,(async()=>{try{if(r=$.read(i.file),!r){if(Q)Q({status:404,message:`File not found: ${i.file}`});G.navigating=!1;return}if(V=await g1(r,_,$,i.file,X),L!==z){G.navigating=!1;return}if(H=$2(V),!H){if(Q)Q({status:500,message:`No component found in ${i.file}`});G.navigating=!1;return}if(C=!t2(T,W),n=U?._target,C)E();else A();if(l=C?F:J,C&&T.length>0){F.innerHTML="",l=F;for(let k of T){if(S=$.read(k),!S)continue;if(p=await g1(S,_,$,k,X),L!==z){G.navigating=!1;return}if(P=$2(p),!P)continue;if(h=new P({app:w,params:y,router:G}),h.beforeMount)h.beforeMount();v=document.createElement("div"),v.setAttribute("data-layout",k),l.appendChild(v),h.mount(v),M.push(h),d=v.querySelector("#content")||v,l=d}W=[...T],J=l}else if(C)F.innerHTML="",W=[],J=F;if(N=u.get(i.file),N)u.delete(i.file),l.appendChild(N._target),U=N,Y=i.file;else{if(c=document.createElement("div"),c.setAttribute("data-component",i.file),l.appendChild(c),j=new H({app:w,params:y,query:g,router:G}),j.beforeMount)j.beforeMount();if(j.mount(c),U=j,Y=i.file,j.load)await j.load(y,g)}return n?.remove(),G.navigating=!1,F.style.opacity==="0"?document.fonts.ready.then(function(){return requestAnimationFrame(function(){return F.style.transition="opacity 150ms ease-in",F.style.opacity="1"})}):void 0}catch(k){if(G.navigating=!1,F.style.opacity="1",console.error(`Renderer: error mounting ${i.file}:`,k),Q)Q({status:500,message:k.message,error:k});B=!1;for(let x=M.length-1;x>=0;x--){let s=M[x];if(s.onError)try{s.onError(k),B=!0;break}catch(o){console.error("Renderer: error boundary failed:",o)}}return(()=>{if(!B)return b=document.createElement("pre"),b.style.cssText="color:red;padding:1em",b.textContent=k.stack||k.message,F.innerHTML="",F.appendChild(b)})()}})()},q={start:function(){return R=K1(function(){let K;return K=G.current,K.route?O(K):void 0}),G.init(),q},stop:function(){if(E(),R)R(),R=null;return F.innerHTML=""},remount:function(){let K;return K=G.current,K.route?O(K):void 0},cache:u},q};u3=function(f){let w,A,_;return _=1000,A=30000,w=function(){let u;return u=new EventSource(f),u.addEventListener("connected",function(){return _=1000,console.log("[Rip] Hot reload connected")}),u.addEventListener("reload",function(){return console.log("[Rip] Reloading..."),location.reload()}),u.addEventListener("css",function(){for(let $ of document.querySelectorAll('link[rel="stylesheet"]'))f=new URL($.href),f.searchParams.set("_t",Date.now()),$.href=f.toString()}),u.onerror=function(){return u.close(),setTimeout(w,_),_=Math.min(_*2,A)}},w()};var L4=async function(f="",w={}){let A,_,u,$,F,U,W,Z,Y,R,z,M,D,J,O,Q,q;if(globalThis.__ripLaunched=!0,typeof f==="object")w=f,f="";if(f=f.replace(/\/+$/,""),q=w.target||"#app",U=w.compile||null,M=w.persist||!1,R=w.hash||!1,!U)U=globalThis?.compileToJS||null;if(typeof document<"u"&&!document.querySelector(q))W=document.createElement("div"),W.id=q.replace(/^#/,""),document.body.prepend(W);if(w.bundle)u=w.bundle;else if(w.bundleUrl){if(z={},Y=`__rip_etag_${w.bundleUrl}`,$=sessionStorage.getItem(Y),$)z["If-None-Match"]=$;if(J=await fetch(w.bundleUrl,{headers:z}),J.status===304)u=JSON.parse(sessionStorage.getItem(`${Y}_data`));else if(J.ok){if(u=await J.json(),Z=J.headers.get("etag"),Z)sessionStorage.setItem(Y,Z),sessionStorage.setItem(`${Y}_data`,JSON.stringify(u))}else throw Error(`launch: ${w.bundleUrl} (${J.status})`)}else throw Error("launch: no bundle or bundleUrl provided");if(A=z3({components:{},routes:{},data:{}}),globalThis.__ripApp=A,u.data)A.data=u.data;if(u.routes)A.routes=u.routes;if(M&&typeof sessionStorage<"u")M3(A,{local:M==="local",key:`__rip_${f}`});if(_=D3(),u.components)_.load(u.components);if(F=`__rip_${f.replace(/\//g,"_")||"app"}`,O={map:e2(_),classes:{},key:F},typeof globalThis<"u")globalThis[F]=O.classes;if(A.data.title&&typeof document<"u")document.title=A.data.title;if(Q=J3(_,{root:"components",base:f,hash:R,onError:function(X){return console.error(`[Rip] Error ${X.status}: ${X.message||X.path}`)}}),D=K3({router:Q,app:A,components:_,resolver:O,compile:U,target:q,onError:function(X){return console.error(`[Rip] ${X.message}`,X.error)}}),D.start(),u.data?.watch)u3(`${f}/watch`);if(typeof window<"u")window.app=A,window.__RIP__={app:A,components:_,router:Q,renderer:D,cache:D.cache,version:"0.3.0"};return{app:A,components:_,router:Q,renderer:D}};$1=function(f,w){if(!w)return;return f.preventDefault(),f.stopPropagation(),w()};globalThis.__ariaLastFocusedEl??=null;if(typeof document<"u"&&!globalThis.__ariaFocusTrackerBound)document.addEventListener("focusin",function(f){return globalThis.__ariaLastFocusedEl=f.target},!0),globalThis.__ariaFocusTrackerBound=!0;m2=function(f,w){if(f.isComposing)return;return(()=>{switch(f.key){case"ArrowDown":return $1(f,w.next);case"ArrowUp":return $1(f,w.prev);case"Home":case"PageUp":return $1(f,w.first);case"End":case"PageDown":return $1(f,w.last);case"Enter":case" ":return $1(f,w.select);case"Escape":return $1(f,w.dismiss);case"Tab":return w.tab?.();default:return f.key.length===1?w.char?.(f.key):void 0}})()};i2=function(f,w,A,_=[],u=null){let $,F,U;if(!f)return;return $=function(W){return typeof W==="function"?W():W},F=(W)=>{return![$(w),..._.map($)].some(function(Z){return Z?.contains(W.target)})?A():void 0},U=(W)=>{if($(w)?.contains(W.target))return;return u?u():A()},document.addEventListener("mousedown",F),window.addEventListener("scroll",U,!0),function(){return document.removeEventListener("mousedown",F),window.removeEventListener("scroll",U,!0)}};n2=function(f=250){let w;return w=0,{block:function(A=f){return w=Date.now()+A},canOpen:function(){return Date.now()>=w}}};x2=function(f,w,A,_=null){let u,$,F,U,W,Z,Y,R,z,M,D;if(U=function(J){return typeof J==="function"?J():J},u=function(){let J,O;if(J=document.activeElement,J&&J!==document.body)return J;if(O=globalThis.__ariaLastFocusedEl,O?.isConnected!==!1)return O;return null},F=U(w),!F)return;if(!Object.hasOwn(HTMLElement.prototype,"togglePopover"))return;if(Y=null,D=function(J){if(J){F.hidden=!1;try{F.inert=!1}catch{}return F.removeAttribute("aria-hidden")}else{try{F.inert=!0}catch{}return F.setAttribute("aria-hidden","true"),F.hidden=!0}},R=function(){let J,O;if(O=Y,Y=null,!O?.focus)return;return J=function(Q=6){if(O.isConnected===!1)return;try{O.focus({preventScroll:!0})}catch{O.focus()}if(document.activeElement===O||Q<=1)return;return setTimeout(function(){return J(Q-1)},16)},requestAnimationFrame(function(){return J()})},W=function(J){let O;if(O=J.newState==="open",O)Y=U(_)||u(),D(!0);else D(!1),R();return A?.(O)},F.addEventListener("toggle",W),z=F.matches(":popover-open"),$=!!f,z!==$){if(M=U(_),$)Y=M||u(),D(!0);Z=M&&$?{force:$,source:M}:{force:$};try{F.togglePopover(Z)}catch{}}else D($);return function(){return F.removeEventListener("toggle",W)}};l2=function(f,w,A,_=!0){let u,$,F,U,W,Z,Y,R;if(F=function(z){return typeof z==="function"?z():z},u=function(){let z,M;if(z=document.activeElement,z&&z!==document.body)return z;if(M=globalThis.__ariaLastFocusedEl,M?.isConnected!==!1)return M;return null},$=F(w),!$?.showModal)return;if(Z=null,R=function(z){if(z){$.hidden=!1;try{$.inert=!1}catch{}return $.removeAttribute("aria-hidden")}else{try{$.inert=!0}catch{}return $.setAttribute("aria-hidden","true"),$.hidden=!0}},Y=function(){let z,M;if(M=Z,Z=null,!M?.focus)return;return z=function(D=6){if(M.isConnected===!1)return;try{M.focus({preventScroll:!0})}catch{M.focus()}if(document.activeElement===M||D<=1)return;return setTimeout(function(){return z(D-1)},16)},requestAnimationFrame(function(){return z()})},U=function(z){if(!_){z.preventDefault();return}return A?.(!1)},W=function(){return A?.(!1),R(!1),Y()},$.addEventListener("cancel",U),$.addEventListener("close",W),f&&!$.open){if(!Z)Z=u();R(!0);try{$.showModal()}catch{}}else if(!f&&$.open)$.close();else R(!!f);return function(){return $.removeEventListener("cancel",U),$.removeEventListener("close",W)}};r2=function(f,w,A="vertical"){let _,u;if(f.isComposing)return;return u=A!=="horizontal",_=A!=="vertical",(()=>{switch(f.key){case"ArrowDown":return u?$1(f,w.next):void 0;case"ArrowUp":return u?$1(f,w.prev):void 0;case"ArrowRight":return _?$1(f,w.next):void 0;case"ArrowLeft":return _?$1(f,w.prev):void 0;case"Home":case"PageUp":return $1(f,w.first);case"End":case"PageDown":return $1(f,w.last);case"Enter":case" ":return $1(f,w.select);case"Escape":return $1(f,w.dismiss);default:return f.key.length===1?w.char?.(f.key):void 0}})()};p2=function(f,w,A=4,_=!0){let u,$;if(!(f&&w))return;if($=f.getBoundingClientRect(),w.style.position="fixed",w.style.left=`${$.left}px`,w.style.top=`${$.bottom+A}px`,w.style.minWidth=`${$.width}px`,u=w.getBoundingClientRect(),u.bottom>window.innerHeight)w.style.top=`${$.top-u.height-A}px`;if(u.right>window.innerWidth)w.style.left=`${window.innerWidth-u.width-A}px`;return _?w.style.visibility="visible":void 0};var N4='a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])';o2=function(f){let w;return w=function(A){let _,u,$;if(A.key!=="Tab")return;if($=Array.from(f.querySelectorAll(N4)).filter(function(F){return F.offsetParent!==null}),!$.length)return;return _=$[0],u=$[$.length-1],A.shiftKey?document.activeElement===_?(A.preventDefault(),u.focus()):void 0:document.activeElement===u?(A.preventDefault(),_.focus()):void 0},f.addEventListener("keydown",w),function(){return f.removeEventListener("keydown",w)}};s2=function(f,w){let A,_;if(!f)return;if(_=f.querySelector("h1,h2,h3,h4,h5,h6"),_)_.id??=`${w}-title`,f.setAttribute("aria-labelledby",_.id);if(A=f.querySelector("p"),A)return A.id??=`${w}-desc`,f.setAttribute("aria-describedby",A.id)};q1=[];k2=function(f){let w;if(w=window.scrollY,q1.push({instance:f,scrollY:w}),q1.length===1)return document.body.style.position="fixed",document.body.style.top=`-${w}px`,document.body.style.width="100%"};a2=function(f){let w,A;if(w=q1.findIndex(function(_){return _.instance===f}),w<0)return;if({scrollY:A}=q1.splice(w,1)[0],!q1.length)return document.body.style.position="",document.body.style.top="",document.body.style.width="",window.scrollTo(0,A)};A2=function(){let f,w,A;return(()=>{try{if(!document?.createElement)return!1;return f=document.createElement("div"),w=document.createElement("div"),f.style.cssText="position:fixed;top:100px;left:100px;width:10px;height:10px;anchor-name:--probe",w.style.cssText="position:fixed;inset:auto;margin:0;position-anchor:--probe;position-area:bottom start;width:10px;height:10px",document.body.appendChild(f),document.body.appendChild(w),A=w.getBoundingClientRect(),f.remove(),w.remove(),A.top>50}catch{return!1}})()}();d2=function(f,w,A={}){let _,u,$,F,U,W,Z;if(!(f&&w))return;if(U=A.placement??"bottom start",F=A.offset??4,u=A.matchWidth??!1,A2){switch($=`--anchor-${w.id||Math.random().toString(36).slice(2,8)}`,f.style.anchorName=$,w.style.positionAnchor=$,w.style.position="fixed",w.style.inset="auto",w.style.margin="0",w.style.positionArea=U,w.style.positionTry="flip-block, flip-inline, flip-block flip-inline",w.style.positionVisibility="anchors-visible",[Z]=U.split(" "),w.style.marginTop="",w.style.marginBottom="",w.style.marginLeft="",w.style.marginRight="",Z){case"bottom":w.style.marginTop=`${F}px`;break;case"top":w.style.marginBottom=`${F}px`;break;case"left":w.style.marginRight=`${F}px`;break;case"right":w.style.marginLeft=`${F}px`;break}return u?w.style.minWidth="anchor-size(width)":void 0}else{switch(W=f.getBoundingClientRect(),w.style.position="fixed",w.style.inset="auto",w.style.margin="0",[Z,_]=U.split(" "),_??="start",Z){case"bottom":w.style.top=`${W.bottom+F}px`;break;case"top":w.style.bottom=`${window.innerHeight-W.top+F}px`;break;case"left":w.style.right=`${window.innerWidth-W.left+F}px`;break;case"right":w.style.left=`${W.right+F}px`;break}if(Array.isArray(["bottom","top"])?["bottom","top"].includes(Z):(Z in["bottom","top"]))switch(_){case"start":w.style.left=`${W.left}px`;break;case"center":w.style.left=`${W.left+W.width/2}px`,w.style.transform="translateX(-50%)";break;case"end":w.style.right=`${window.innerWidth-W.right}px`;break}else switch(_){case"start":w.style.top=`${W.top}px`;break;case"center":w.style.top=`${W.top+W.height/2}px`,w.style.transform="translateY(-50%)";break;case"end":w.style.bottom=`${window.innerHeight-W.bottom}px`;break}return u?w.style.minWidth=`${W.width}px`:void 0}};globalThis.__aria??={listNav:m2,rovingNav:r2,popupDismiss:i2,popupGuard:n2,bindPopover:x2,bindDialog:l2,positionBelow:p2,trapFocus:o2,wireAria:s2,lockScroll:k2,unlockScroll:a2,position:d2,hasAnchor:A2};globalThis.ARIA??=globalThis.__aria;J1.modules["ui.rip"]=l1;for(let[f,w]of Object.entries(l1))if(typeof w==="function")globalThis[f]=w;})();
|