cubing 0.25.0 → 0.25.1

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.
Files changed (47) hide show
  1. package/dist/esm/{2x2x2.sgs.json-TCTAV5XU.js → 2x2x2.sgs.json-QKP2WRPT.js} +2 -2
  2. package/dist/esm/{2x2x2.sgs.json-TCTAV5XU.js.map → 2x2x2.sgs.json-QKP2WRPT.js.map} +0 -0
  3. package/dist/esm/{3d-dynamic-inside-MLJKFLGH.js → 3d-dynamic-inside-GKERM3IG.js} +3 -3
  4. package/dist/esm/{3d-dynamic-inside-MLJKFLGH.js.map → 3d-dynamic-inside-GKERM3IG.js.map} +0 -0
  5. package/dist/esm/bluetooth/index.js +1 -1
  6. package/dist/esm/{chunk-U2R5E2A4.js → chunk-37NJ765B.js} +6 -4
  7. package/dist/esm/{chunk-U2R5E2A4.js.map → chunk-37NJ765B.js.map} +2 -2
  8. package/dist/esm/{chunk-4SUQM4XH.js → chunk-GXV3K7MX.js} +2 -2
  9. package/dist/esm/{chunk-4SUQM4XH.js.map → chunk-GXV3K7MX.js.map} +0 -0
  10. package/dist/esm/{chunk-TVY3UOOK.js → chunk-HCNUMBT5.js} +2 -2
  11. package/dist/esm/{chunk-TVY3UOOK.js.map → chunk-HCNUMBT5.js.map} +0 -0
  12. package/dist/esm/{chunk-AAB2V4UB.js → chunk-QUTXXRPT.js} +2 -2
  13. package/dist/esm/{chunk-AAB2V4UB.js.map → chunk-QUTXXRPT.js.map} +0 -0
  14. package/dist/esm/{chunk-V7Z6KRM2.js → chunk-Z5INA5XR.js} +3 -3
  15. package/dist/esm/{chunk-V7Z6KRM2.js.map → chunk-Z5INA5XR.js.map} +0 -0
  16. package/dist/esm/{entry-Y2R6JXV7.js → entry-RSZSKW5X.js} +17 -9
  17. package/dist/esm/{entry-Y2R6JXV7.js.map → entry-RSZSKW5X.js.map} +3 -3
  18. package/dist/esm/{fto.sgs.json-2IU2J6W7.js → fto.sgs.json-T5WY2HR7.js} +2 -2
  19. package/dist/esm/{fto.sgs.json-2IU2J6W7.js.map → fto.sgs.json-T5WY2HR7.js.map} +0 -0
  20. package/dist/esm/{ftosolver-smaller-phase3-table-PUTNXKKW.js → ftosolver-smaller-phase3-table-UTQRO776.js} +283 -76
  21. package/dist/esm/ftosolver-smaller-phase3-table-UTQRO776.js.map +7 -0
  22. package/dist/esm/masterpyra-QOJCNGZM.js +732 -0
  23. package/dist/esm/masterpyra-QOJCNGZM.js.map +7 -0
  24. package/dist/esm/{module-entry-3WBGTDCZ.js → module-entry-UDFTQHXX.js} +2 -2
  25. package/dist/esm/{module-entry-3WBGTDCZ.js.map → module-entry-UDFTQHXX.js.map} +0 -0
  26. package/dist/esm/puzzles/index.js +1 -1
  27. package/dist/esm/{pyraminx.sgs.json-NZWNQPLL.js → pyraminx.sgs.json-5HPDQAOM.js} +3 -3
  28. package/dist/esm/{pyraminx.sgs.json-NZWNQPLL.js.map → pyraminx.sgs.json-5HPDQAOM.js.map} +0 -0
  29. package/dist/esm/scramble/index.js +3 -3
  30. package/dist/esm/{scramble_444-Q334Y5FH.js → scramble_444-FXLLIDCW.js} +3 -3
  31. package/dist/esm/{scramble_444-Q334Y5FH.js.map → scramble_444-FXLLIDCW.js.map} +0 -0
  32. package/dist/esm/search/index.js +3 -3
  33. package/dist/esm/twisty/index.js +2 -2
  34. package/dist/esm/worker-inside-generated-string-WGUQ4QSO.js +2828 -0
  35. package/dist/esm/worker-inside-generated-string-WGUQ4QSO.js.map +7 -0
  36. package/dist/types/puzzles/async/async-pg3d.d.ts +2 -0
  37. package/dist/types/search/inside/solve/puzzles/master_tetraminx.d.ts +2 -0
  38. package/dist/types/search/worker-inside-generated-string.d.ts +1 -1
  39. package/dist/types/vendor/xyzzy/ftosolver-smaller-phase3-table.d.ts +1 -1
  40. package/dist/types/vendor/xyzzy/ftosolver.d.ts +4 -25
  41. package/dist/types/vendor/xyzzy/kilosolver.d.ts +1 -19
  42. package/dist/types/vendor/xyzzy/masterpyra.d.ts +1 -217
  43. package/dist/types/vendor/xyzzy/rediscrambler.d.ts +1 -37
  44. package/package.json +2 -2
  45. package/dist/esm/ftosolver-smaller-phase3-table-PUTNXKKW.js.map +0 -7
  46. package/dist/esm/worker-inside-generated-string-BERQU3U7.js +0 -2828
  47. package/dist/esm/worker-inside-generated-string-BERQU3U7.js.map +0 -7
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/cubing/search/worker-inside-generated-string.js"],
4
+ "sourcesContent": ["export const workerSource = \"var w0=Object.defineProperty;var km=e=>w0(e,\\\"__esModule\\\",{value:!0});var w=(e,t)=>()=>(e&&(t=e(e=0)),t);var Be=(e,t)=>{km(e);for(var r in t)w0(e,r,{get:t[r],enumerable:!0})};var ta=(e,t,r)=>{if(!t.has(e))throw TypeError(\\\"Cannot \\\"+r)};var A=(e,t,r)=>(ta(e,t,\\\"read from private field\\\"),r?r.call(e):t.get(e)),ne=(e,t,r)=>{if(t.has(e))throw TypeError(\\\"Cannot add the same private member more than once\\\");t instanceof WeakSet?t.add(e):t.set(e,r)},q=(e,t,r,n)=>(ta(e,t,\\\"write to private field\\\"),n?n.call(e,r):t.set(e,r),r),ra=(e,t,r,n)=>({set _(o){q(e,t,o,r)},get _(){return A(e,t,n)}}),x0=(e,t,r)=>(ta(e,t,\\\"access private method\\\"),r);var _0={};Be(_0,{default:()=>Km});function Wm(e){let t=new WeakMap;return{postMessage:e.postMessage.bind(e),addEventListener:(r,n)=>{let o=l=>{\\\"handleEvent\\\"in n?n.handleEvent({data:l}):n({data:l})};e.on(\\\"message\\\",o),t.set(n,o)},removeEventListener:(r,n)=>{let o=t.get(n);!o||(e.off(\\\"message\\\",o),t.delete(n))},start:e.start&&e.start.bind(e)}}var Km,C0=w(()=>{Km=Wm});var P0={};Be(P0,{port:()=>qm});async function qm(){let{parentPort:e}=await import(jm()).catch();return(await Promise.resolve().then(()=>(C0(),_0))).default(e)}var Qm,jm,M0=w(()=>{Qm=\\\"w-orker-_threa-ds\\\",jm=()=>Qm.replace(/-/g,\\\"\\\")});var Hm,pl,Pe,Ot=w(()=>{Hm=!1,pl=class{is(t){return this instanceof t}as(t){return this instanceof t?this:null}},Pe=class extends pl{constructor(){super();Hm&&Object.defineProperty(this,\\\"_debugStr\\\",{get:()=>this.toString()})}get log(){return console.log.bind(console,this,this.toString())}}});function T0(e,t=!0){if(!t)return e;switch(e){case 1:return-1;case-1:return 1}}function ia(e,t){return t===-1?Array.from(e).reverse():e}function I0(e){return Array.from(e).reverse()}var V,Dt=w(()=>{(function(r){r[r.Forwards=1]=\\\"Forwards\\\",r[r.Backwards=-1]=\\\"Backwards\\\"})(V||(V={}))});var uo,mn,N0,aa=w(()=>{uo=2147483647,mn=\\\"2^31 - 1\\\",N0=-2147483648});var kr,pt,sa=w(()=>{Wt();pt=class{constructor(){ne(this,kr,[])}push(t){A(this,kr).push(t)}experimentalPushAlg(t){for(let r of t.units())this.push(r)}experimentalNumUnits(){return A(this,kr).length}toAlg(){return new z(A(this,kr))}reset(){q(this,kr,[])}};kr=new WeakMap});var zr,_r,gl,Me,co=w(()=>{Wt();Ot();Dt();gl=class extends Pe{constructor(t,r){super();ne(this,zr,void 0);ne(this,_r,void 0);q(this,zr,or(t)),q(this,_r,or(r))}get A(){return A(this,zr)}get B(){return A(this,_r)}isIdentical(t){let r=t.as(gl);return!!(r?.A.isIdentical(this.A)&&r?.B.isIdentical(this.B))}invert(){return new gl(A(this,_r),A(this,zr))}*experimentalExpand(t=V.Forwards,r){r??(r=1/0),r===0?yield t===V.Forwards?this:this.invert():t===V.Forwards?(yield*this.A.experimentalExpand(V.Forwards,r-1),yield*this.B.experimentalExpand(V.Forwards,r-1),yield*this.A.experimentalExpand(V.Backwards,r-1),yield*this.B.experimentalExpand(V.Backwards,r-1)):(yield*this.B.experimentalExpand(V.Forwards,r-1),yield*this.A.experimentalExpand(V.Forwards,r-1),yield*this.B.experimentalExpand(V.Backwards,r-1),yield*this.A.experimentalExpand(V.Backwards,r-1))}toString(){return`[${A(this,zr).toString()}, ${A(this,_r).toString()}]`}},Me=gl;zr=new WeakMap,_r=new WeakMap});var pn,gn,dl,Ge,mo=w(()=>{Wt();Ot();Dt();dl=class extends Pe{constructor(t,r){super();ne(this,pn,void 0);ne(this,gn,void 0);q(this,pn,or(t)),q(this,gn,or(r))}get A(){return A(this,pn)}get B(){return A(this,gn)}isIdentical(t){let r=t.as(dl);return!!(r?.A.isIdentical(this.A)&&r?.B.isIdentical(this.B))}invert(){return new dl(A(this,pn),A(this,gn).invert())}*experimentalExpand(t,r){r??(r=1/0),r===0?yield t===V.Forwards?this:this.invert():(yield*this.A.experimentalExpand(V.Forwards,r-1),yield*this.B.experimentalExpand(t,r-1),yield*this.A.experimentalExpand(V.Backwards,r-1))}toString(){return`[${this.A}: ${this.B}]`}},Ge=dl;pn=new WeakMap,gn=new WeakMap});var lr,fa,yt,po=w(()=>{Ot();Dt();fa=class extends Pe{constructor(t){super();ne(this,lr,void 0);if(t.includes(`\\n`)||t.includes(\\\"\\\\r\\\"))throw new Error(\\\"LineComment cannot contain newline\\\");q(this,lr,t)}get text(){return A(this,lr)}isIdentical(t){let r=t;return t.is(fa)&&A(this,lr)===A(r,lr)}invert(){return this}*experimentalExpand(t=V.Forwards,r=1/0){yield this}toString(){return`//${A(this,lr)}`}},yt=fa;lr=new WeakMap});var Ye,go=w(()=>{Ot();Dt();Ye=class extends Pe{toString(){return`\\n`}isIdentical(t){return t.is(Ye)}invert(){return this}*experimentalExpand(t=V.Forwards,r=1/0){yield this}}});var Ze,ho=w(()=>{Ot();Dt();Ze=class extends Pe{toString(){return\\\".\\\"}isIdentical(t){return t.is(Ze)}invert(){return this}*experimentalExpand(t=V.Forwards,r=1/0){yield this}}});function hl(e,t){return e?parseInt(e):t}function ua(e){return new Ll().parseAlg(e)}function W0(e){return new Ll().parseMove(e)}function K0(e){return new Ll().parseQuantumMove(e)}function Xe(e,t,r){let n=e;return n.startCharIndex=t,n.endCharIndex=r,n}function Q0(e,t){return\\\"startCharIndex\\\"in e&&(t.startCharIndex=e.startCharIndex),\\\"endCharIndex\\\"in e&&(t.endCharIndex=e.endCharIndex),t}var O0,Ym,Zm,Xm,Jm,$m,nt,N,Ll,ca=w(()=>{Wt();sa();co();mo();Al();po();Kt();go();ho();O0=/^(\\\\d+)?('?)/,Ym=/^[_\\\\dA-Za-z]/,Zm=/^((([1-9]\\\\d*)-)?([1-9]\\\\d*))?([_A-Za-z]+)?/,Xm=/^[^\\\\n]*/,Jm=/^(-?\\\\d+), ?/,$m=/^(-?\\\\d+)\\\\)/;Ll=class{constructor(){ne(this,nt,\\\"\\\");ne(this,N,0)}parseAlg(t){q(this,nt,t),q(this,N,0);let r=this.parseAlgWithStopping([]);return this.mustBeAtEndOfInput(),r}parseMove(t){q(this,nt,t),q(this,N,0);let r=this.parseMoveImpl();return this.mustBeAtEndOfInput(),r}parseQuantumMove(t){q(this,nt,t),q(this,N,0);let r=this.parseQuantumMoveImpl();return this.mustBeAtEndOfInput(),r}mustBeAtEndOfInput(){if(A(this,N)!==A(this,nt).length)throw new Error(\\\"parsing unexpectedly ended early\\\")}parseAlgWithStopping(t){let r=A(this,N),n=A(this,N),o=new pt,l=!1,i=a=>{if(l)throw new Error(`Unexpected character at index ${a}. Are you missing a space?`)};e:for(;A(this,N)<A(this,nt).length;){let a=A(this,N);if(t.includes(A(this,nt)[A(this,N)]))return Xe(o.toAlg(),r,n);if(this.tryConsumeNext(\\\" \\\")){l=!1,o.experimentalNumUnits()===0&&(r=A(this,N));continue e}else if(Ym.test(A(this,nt)[A(this,N)])){i(a);let f=this.parseMoveImpl();o.push(f),l=!0,n=A(this,N);continue e}else if(this.tryConsumeNext(\\\"(\\\")){i(a);let f=this.tryRegex(Jm);if(f){let s=f[1],c=A(this,N),m=this.parseRegex($m),u=Xe(new h(new P(\\\"U_SQ_\\\"),parseInt(s)),a+1,a+1+s.length),p=Xe(new h(new P(\\\"D_SQ_\\\"),parseInt(m[1])),c,A(this,N)-1),g=Xe(new z([u,p]),a+1,A(this,N)-1);o.push(Xe(new ut(g),a,A(this,N))),l=!0,n=A(this,N);continue e}else{let s=this.parseAlgWithStopping([\\\")\\\"]);this.mustConsumeNext(\\\")\\\");let c=this.parseAmount();o.push(Xe(new ut(s,c),a,A(this,N))),l=!0,n=A(this,N);continue e}}else if(this.tryConsumeNext(\\\"[\\\")){i(a);let f=this.parseAlgWithStopping([\\\",\\\",\\\":\\\"]),s=this.popNext(),c=this.parseAlgWithStopping([\\\"]\\\"]);switch(this.mustConsumeNext(\\\"]\\\"),s){case\\\":\\\":o.push(Xe(new Ge(f,c),a,A(this,N))),l=!0,n=A(this,N);continue e;case\\\",\\\":o.push(Xe(new Me(f,c),a,A(this,N))),l=!0,n=A(this,N);continue e;default:throw\\\"unexpected parsing error\\\"}}else if(this.tryConsumeNext(`\\n`)){o.push(Xe(new Ye,a,A(this,N))),l=!1,n=A(this,N);continue e}else if(this.tryConsumeNext(\\\"/\\\"))if(this.tryConsumeNext(\\\"/\\\")){i(a);let[f]=this.parseRegex(Xm);o.push(Xe(new yt(f),a,A(this,N))),l=!1,n=A(this,N);continue e}else{o.push(Xe(new h(\\\"_SLASH_\\\"),a,A(this,N))),l=!0,n=A(this,N);continue e}else if(this.tryConsumeNext(\\\".\\\")){i(a),o.push(Xe(new Ze,a,A(this,N))),l=!0,n=A(this,N);continue e}else throw new Error(`Unexpected character: ${this.popNext()}`)}if(A(this,N)!==A(this,nt).length)throw new Error(\\\"did not finish parsing?\\\");if(t.length>0)throw new Error(\\\"expected stopping\\\");return Xe(o.toAlg(),r,n)}parseQuantumMoveImpl(){let[,,,t,r,n]=this.parseRegex(Zm);return new P(n,hl(r,void 0),hl(t,void 0))}parseMoveImpl(){let t=A(this,N);if(this.tryConsumeNext(\\\"/\\\"))return Xe(new h(\\\"_SLASH_\\\"),t,A(this,N));let r=this.parseQuantumMoveImpl(),[n,o]=this.parseAmountAndTrackEmptyAbsAmount(),l=this.parseMoveSuffix();if(l){if(n<0)throw new Error(\\\"uh-oh\\\");if((l===\\\"++\\\"||l===\\\"--\\\")&&n!==1)throw new Error(\\\"Pochmann ++ or -- moves cannot have an amount other than 1.\\\");if((l===\\\"++\\\"||l===\\\"--\\\")&&!o)throw new Error(\\\"Pochmann ++ or -- moves cannot have an amount written as a number.\\\");if((l===\\\"+\\\"||l===\\\"-\\\")&&o)throw new Error(\\\"Clock dial moves must have an amount written as a natural number followed by + or -.\\\");l.startsWith(\\\"+\\\")&&(r=r.modified({family:`${r.family}_${l===\\\"+\\\"?\\\"PLUS\\\":\\\"PLUSPLUS\\\"}_`})),l.startsWith(\\\"-\\\")&&(r=r.modified({family:`${r.family}_${l===\\\"-\\\"?\\\"PLUS\\\":\\\"PLUSPLUS\\\"}_`}),n*=-1)}return Xe(new h(r,n),t,A(this,N))}parseMoveSuffix(){return this.tryConsumeNext(\\\"+\\\")?this.tryConsumeNext(\\\"+\\\")?\\\"++\\\":\\\"+\\\":this.tryConsumeNext(\\\"-\\\")?this.tryConsumeNext(\\\"-\\\")?\\\"--\\\":\\\"-\\\":null}parseAmountAndTrackEmptyAbsAmount(){let t=A(this,N),[,r,n]=this.parseRegex(O0);if(r?.startsWith(\\\"0\\\")&&r!==\\\"0\\\")throw new Error(`Error at char index ${t}: An amount can only start with 0 if it's exactly the digit 0.`);return[hl(r,1)*(n===\\\"'\\\"?-1:1),!r]}parseAmount(){let t=A(this,N),[,r,n]=this.parseRegex(O0);if(r?.startsWith(\\\"0\\\")&&r!==\\\"0\\\")throw new Error(`Error at char index ${t}: An amount number can only start with 0 if it's exactly the digit 0.`);return hl(r,1)*(n===\\\"'\\\"?-1:1)}parseRegex(t){let r=t.exec(this.remaining());if(r===null)throw new Error(\\\"internal parsing error\\\");return q(this,N,A(this,N)+r[0].length),r}tryRegex(t){let r=t.exec(this.remaining());return r===null?null:(q(this,N,A(this,N)+r[0].length),r)}remaining(){return A(this,nt).slice(A(this,N))}popNext(){let t=A(this,nt)[A(this,N)];return ra(this,N)._++,t}tryConsumeNext(t){return A(this,nt)[A(this,N)]===t?(ra(this,N)._++,!0):!1}mustConsumeNext(t){let r=this.popNext();if(r!==t)throw new Error(`expected \\\\`${t}\\\\` while parsing, encountered ${r}`);return r}};nt=new WeakMap,N=new WeakMap});function Dl(e){j0.has(e)||(console.warn(e),j0.add(e))}var j0,ma=w(()=>{j0=new Set});var dn,pa=w(()=>{Dt();aa();dn=class{constructor(t,r=1){if(this.quantum=t,this.amount=r,!Number.isInteger(this.amount)||this.amount<N0||this.amount>uo)throw new Error(`Unit amount absolute value must be a non-negative integer from ${mn} to ${mn}.`)}suffix(){let t=\\\"\\\",r=Math.abs(this.amount);return r!==1&&(t+=r),this.amount<0&&(t+=\\\"'\\\"),t}isIdentical(t){return this.quantum.isIdentical(t.quantum)&&this.amount===t.amount}*experimentalExpand(t,r){let n=Math.abs(this.amount),o=T0(t,this.amount<0);for(let l=0;l<n;l++)yield*this.quantum.experimentalExpand(o,r)}}});var Qt,Te,Ie,yl,P,Ue,hn,h,Kt=w(()=>{Ot();Dt();aa();ca();ma();pa();yl=class extends pl{constructor(t,r,n){super();ne(this,Qt,void 0);ne(this,Te,void 0);ne(this,Ie,void 0);if(q(this,Qt,t),q(this,Te,r??null),q(this,Ie,n??null),Object.freeze(this),A(this,Te)!==null&&(!Number.isInteger(A(this,Te))||A(this,Te)<1||A(this,Te)>uo))throw new Error(`QuantumMove inner layer must be a positive integer below ${mn}.`);if(A(this,Ie)!==null&&(!Number.isInteger(A(this,Ie))||A(this,Ie)<1||A(this,Ie)>uo))throw new Error(`QuantumMove outer layer must be a positive integer below ${mn}.`);if(A(this,Ie)!==null&&A(this,Te)!==null&&A(this,Te)<=A(this,Ie))throw new Error(\\\"QuantumMove outer layer must be smaller than inner layer.\\\");if(A(this,Ie)!==null&&A(this,Te)===null)throw new Error(\\\"QuantumMove with an outer layer must have an inner layer\\\")}static fromString(t){return K0(t)}modified(t){return new yl(t.family??A(this,Qt),t.innerLayer??A(this,Te),t.outerLayer??A(this,Ie))}isIdentical(t){let r=t;return t.is(yl)&&A(this,Qt)===A(r,Qt)&&A(this,Te)===A(r,Te)&&A(this,Ie)===A(r,Ie)}get family(){return A(this,Qt)}get outerLayer(){return A(this,Ie)}get innerLayer(){return A(this,Te)}experimentalExpand(){throw new Error(\\\"experimentalExpand() cannot be called on a `QuantumMove` directly.\\\")}toString(){let t=A(this,Qt);return A(this,Te)!==null&&(t=String(A(this,Te))+t,A(this,Ie)!==null&&(t=String(A(this,Ie))+\\\"-\\\"+t)),t}},P=yl;Qt=new WeakMap,Te=new WeakMap,Ie=new WeakMap;hn=class extends Pe{constructor(...t){super();ne(this,Ue,void 0);if(typeof t[0]==\\\"string\\\")if(t[1]??null){q(this,Ue,new dn(P.fromString(t[0]),t[1]));return}else return hn.fromString(t[0]);q(this,Ue,new dn(t[0],t[1]))}isIdentical(t){let r=t.as(hn);return!!r&&A(this,Ue).isIdentical(A(r,Ue))}invert(){return Q0(this,new hn(A(this,Ue).quantum,-this.amount))}*experimentalExpand(t=V.Forwards){t===V.Forwards?yield this:yield this.modified({amount:-this.amount})}get quantum(){return A(this,Ue).quantum}modified(t){return new hn(A(this,Ue).quantum.modified(t),t.amount??this.amount)}static fromString(t){return W0(t)}get amount(){return A(this,Ue).amount}get type(){return Dl(\\\"deprecated: type\\\"),\\\"blockMove\\\"}get family(){return A(this,Ue).quantum.family??void 0}get outerLayer(){return A(this,Ue).quantum.outerLayer??void 0}get innerLayer(){return A(this,Ue).quantum.innerLayer??void 0}toString(){if(this.family===\\\"_SLASH_\\\")return\\\"/\\\";if(this.family.endsWith(\\\"_PLUS_\\\"))return A(this,Ue).quantum.toString().slice(0,-6)+Math.abs(this.amount)+(this.amount<0?\\\"-\\\":\\\"+\\\");if(this.family.endsWith(\\\"_PLUSPLUS_\\\")){let t=Math.abs(this.amount);return A(this,Ue).quantum.toString().slice(0,-10)+(t===1?\\\"\\\":t)+(this.amount<0?\\\"--\\\":\\\"++\\\")}return A(this,Ue).quantum.toString()+A(this,Ue).suffix()}},h=hn;Ue=new WeakMap});var q0,V0,ot,Rl,ut,Al=w(()=>{Wt();Ot();Dt();Kt();pa();q0=class{constructor(){this.quantumU_SQ_=null;this.quantumD_SQ_=null}format(t){let r=this.tuple(t);return r?`(${r.map(n=>n.amount).join(\\\", \\\")})`:null}tuple(t){this.quantumU_SQ_||(this.quantumU_SQ_=new P(\\\"U_SQ_\\\")),this.quantumD_SQ_||(this.quantumD_SQ_=new P(\\\"D_SQ_\\\"));let r=t.alg;if(r.experimentalNumUnits()===2){let[n,o]=r.units();if(n.as(h)?.quantum.isIdentical(this.quantumU_SQ_)&&o.as(h)?.quantum.isIdentical(this.quantumD_SQ_)){if(t.amount!==1)throw new Error(\\\"Square-1 tuples cannot have an amount other than 1.\\\");return[n,o]}}return null}},V0=new q0,Rl=class extends Pe{constructor(t,r){super();ne(this,ot,void 0);let n=or(t);q(this,ot,new dn(n,r))}isIdentical(t){let r=t;return t.is(Rl)&&A(this,ot).isIdentical(A(r,ot))}get alg(){return A(this,ot).quantum}get amount(){return A(this,ot).amount}get experimentalRepetitionSuffix(){return A(this,ot).suffix()}invert(){return new Rl(A(this,ot).quantum,-A(this,ot).amount)}*experimentalExpand(t=V.Forwards,r){r??(r=1/0),r===0?yield t===V.Forwards?this:this.invert():yield*A(this,ot).experimentalExpand(t,r-1)}static fromString(){throw new Error(\\\"unimplemented\\\")}toString(){return V0.format(this)??`(${A(this,ot).quantum.toString()})${A(this,ot).suffix()}`}experimentalAsSquare1Tuple(){return V0.tuple(this)}},ut=Rl;ot=new WeakMap});var Fl=w(()=>{Al();po();co();mo();Kt();go();ho()});function Rt(e,t){return e instanceof t}function H0(e){return Rt(e,ut)||Rt(e,yt)||Rt(e,Me)||Rt(e,Ge)||Rt(e,h)||Rt(e,Ye)||Rt(e,Ze)}var ga=w(()=>{Fl()});function Y0(e,t,r){if(t.is(ut))return e.traverseGrouping(t,r);if(t.is(h))return e.traverseMove(t,r);if(t.is(Me))return e.traverseCommutator(t,r);if(t.is(Ge))return e.traverseConjugate(t,r);if(t.is(Ze))return e.traversePause(t,r);if(t.is(Ye))return e.traverseNewline(t,r);if(t.is(yt))return e.traverseLineComment(t,r);throw new Error(\\\"unknown unit\\\")}function Z0(e){if(e.is(ut)||e.is(h)||e.is(Me)||e.is(Ge)||e.is(Ze)||e.is(Ye)||e.is(yt))return e;throw\\\"internal error: expected unit\\\"}var Ln,An,Bl,ep,ha,da,X0,J0,La=w(()=>{Al();co();Kt();go();ho();mo();po();Ln=class{traverseUnit(t,r){return Y0(this,t,r)}traverseIntoUnit(t,r){return Z0(this.traverseUnit(t,r))}},An=class extends Ln{traverseUnit(t){return Y0(this,t,void 0)}traverseIntoUnit(t){return Z0(this.traverseUnit(t))}},ha=class extends Ln{*traverseAlg(t,r){if(r.depth===0){yield*t.units();return}let n=[],o=null,l=r?.collapseMoves??!0;function i(s,c){var p;let m=x0(p=ha,Bl,ep).call(p,s,c,r);if(m===0)return!1;let u=new h(s.quantum,m);return n.push(u),o=u,!0}function a(s){l&&o?.is(h)&&s.is(h)&&o.quantum.isIdentical(s.quantum)?(n.pop(),i(o,s.amount)||(o=n.slice(-1)[0])):s.is(h)?i(s,0):(n.push(s),o=s)}let f={depth:r.depth?r.depth-1:null};for(let s of t.units())for(let c of this.traverseUnit(s,f))a(c);for(let s of n)yield s}*traverseGrouping(t,r){if(r.depth===0){yield t;return}let n={depth:r.depth?r.depth-1:null};yield new ut(this.traverseAlg(t.alg,n))}*traverseMove(t,r){yield t}*traverseCommutator(t,r){if(r.depth===0){yield t;return}let n={depth:r.depth?r.depth-1:null};yield new Me(this.traverseAlg(t.A,n),this.traverseAlg(t.B,n))}*traverseConjugate(t,r){if(r.depth===0){yield t;return}let n={depth:r.depth?r.depth-1:null};yield new Ge(this.traverseAlg(t.A,n),this.traverseAlg(t.B,n))}*traversePause(t,r){yield t}*traverseNewline(t,r){yield t}*traverseLineComment(t,r){yield t}},da=ha;Bl=new WeakSet,ep=function(t,r,n){let o=t.amount+r;if(n?.quantumMoveOrder){let l=n.quantumMoveOrder(t.quantum),i=Math.floor(l/2)+1-l;o=(o%l+l-i)%l+i}return o},ne(da,Bl);X0=new da,J0=X0.traverseAlg.bind(X0)});function $0(e){if(!e)return[];if(Rt(e,z))return e.units();if(typeof e==\\\"string\\\")return ua(e).units();let t=e;if(typeof t[Symbol.iterator]==\\\"function\\\")return t;throw\\\"Invalid unit\\\"}function or(e){return Rt(e,z)?e:new z(e)}function tp(e,t){return e.is(Ye)||t.is(Ye)?\\\"\\\":e.is(yt)&&!t.is(Ye)?`\\n`:\\\" \\\"}var lt,Cr,z,Wt=w(()=>{Ot();ga();Dt();ca();La();po();Kt();go();ma();Cr=class extends Pe{constructor(t){super();ne(this,lt,void 0);q(this,lt,Array.from($0(t)));for(let r of A(this,lt))if(!H0(r))throw new Error(\\\"An alg can only contain units.\\\")}isIdentical(t){let r=t;if(!t.is(Cr))return!1;let n=Array.from(A(this,lt)),o=Array.from(A(r,lt));if(n.length!==o.length)return!1;for(let l=0;l<n.length;l++)if(!n[l].isIdentical(o[l]))return!1;return!0}invert(){return new Cr(I0(Array.from(A(this,lt)).map(t=>t.invert())))}*experimentalExpand(t=V.Forwards,r){r??(r=1/0);for(let n of ia(A(this,lt),t))yield*n.experimentalExpand(t,r)}expand(t){return new Cr(this.experimentalExpand(V.Forwards,t?.depth??1/0))}*experimentalLeafMoves(){for(let t of this.experimentalExpand())t.is(h)&&(yield t)}concat(t){return new Cr(Array.from(A(this,lt)).concat(Array.from($0(t))))}experimentalIsEmpty(){for(let t of A(this,lt))return!1;return!0}static fromString(t){return ua(t)}*units(){for(let t of A(this,lt))yield t}experimentalNumUnits(){return Array.from(A(this,lt)).length}get type(){return Dl(\\\"deprecated: type\\\"),\\\"sequence\\\"}toString(){let t=\\\"\\\",r=null;for(let n of A(this,lt))r&&(t+=tp(r,n)),t+=n.toString(),r=n;return t}simplify(t){return new Cr(J0(this,t??{}))}},z=Cr;lt=new WeakMap});var rp,e2=w(()=>{Wt();Fl();co();mo();Kt();ho();rp={Sune:new z([new h(\\\"R\\\",1),new h(\\\"U\\\",1),new h(\\\"R\\\",-1),new h(\\\"U\\\",1),new h(\\\"R\\\",1),new h(\\\"U\\\",-2),new h(\\\"R\\\",-1)]),AntiSune:new z([new h(\\\"R\\\",1),new h(\\\"U\\\",2),new h(\\\"R\\\",-1),new h(\\\"U\\\",-1),new h(\\\"R\\\",1),new h(\\\"U\\\",-1),new h(\\\"R\\\",-1)]),SuneCommutator:new z([new Me(new z([new h(\\\"R\\\",1),new h(\\\"U\\\",1),new h(\\\"R\\\",-2)]),new z([new Ge(new z([new h(\\\"R\\\",1)]),new z([new h(\\\"U\\\",1)]))]))]),Niklas:new z([new h(\\\"R\\\",1),new h(\\\"U\\\",-1),new h(\\\"L\\\",-1),new h(\\\"U\\\",1),new h(\\\"R\\\",-1),new h(\\\"U\\\",-1),new h(\\\"L\\\",1),new h(\\\"U\\\",1)]),EPerm:new z([new h(\\\"x\\\",-1),new Me(new z([new Ge(new z([new h(\\\"R\\\",1)]),new z([new h(\\\"U\\\",-1)]))]),new z([new h(\\\"D\\\",1)])),new Me(new z([new Ge(new z([new h(\\\"R\\\",1)]),new z([new h(\\\"U\\\",1)]))]),new z([new h(\\\"D\\\",1)])),new h(\\\"x\\\",1)]),FURURFCompact:new z([new Ge(new z([new h(\\\"F\\\",1)]),new z([new Me(new z([new h(\\\"U\\\",1)]),new z([new h(\\\"R\\\",1)]))]))]),APermCompact:new z([new Ge(new z([new h(\\\"R\\\",2)]),new z([new Me(new z([new h(\\\"F\\\",2)]),new z([new h(\\\"R\\\",-1),new h(\\\"B\\\",-1),new h(\\\"R\\\",1)]))]))]),FURURFMoves:new z([new h(\\\"F\\\",1),new h(\\\"U\\\",1),new h(\\\"R\\\",1),new h(\\\"U\\\",-1),new h(\\\"R\\\",-1),new h(\\\"F\\\",-1)]),TPerm:new z([new h(\\\"R\\\",1),new h(\\\"U\\\",1),new h(\\\"R\\\",-1),new h(\\\"U\\\",-1),new h(\\\"R\\\",-1),new h(\\\"F\\\",1),new h(\\\"R\\\",2),new h(\\\"U\\\",-1),new h(\\\"R\\\",-1),new h(\\\"U\\\",-1),new h(\\\"R\\\",1),new h(\\\"U\\\",1),new h(\\\"R\\\",-1),new h(\\\"F\\\",-1)]),HeadlightSwaps:new z([new Ge(new z([new h(\\\"F\\\",1)]),new z([new ut(new z([new Me(new z([new h(\\\"R\\\",1)]),new z([new h(\\\"U\\\",1)]))]),3)]))]),TriplePause:new z([new Ze,new Ze,new Ze])}});var GD,t2=w(()=>{Kt();GD={73:new h(\\\"R\\\"),75:new h(\\\"R'\\\"),87:new h(\\\"B\\\"),79:new h(\\\"B'\\\"),83:new h(\\\"D\\\"),76:new h(\\\"D'\\\"),68:new h(\\\"L\\\"),69:new h(\\\"L'\\\"),74:new h(\\\"U\\\"),70:new h(\\\"U'\\\"),72:new h(\\\"F\\\"),71:new h(\\\"F'\\\"),78:new h(\\\"x'\\\"),67:new h(\\\"l\\\"),82:new h(\\\"l'\\\"),85:new h(\\\"r\\\"),77:new h(\\\"r'\\\"),88:new h(\\\"d\\\"),188:new h(\\\"d'\\\"),84:new h(\\\"x\\\"),89:new h(\\\"x\\\"),66:new h(\\\"x'\\\"),186:new h(\\\"y\\\"),59:new h(\\\"y\\\"),65:new h(\\\"y'\\\"),80:new h(\\\"z\\\"),81:new h(\\\"z'\\\"),90:new h(\\\"M'\\\"),190:new h(\\\"M'\\\")}});var r2=w(()=>{});var n2=w(()=>{Wt()});var Le=w(()=>{Wt();sa();La();e2();t2();Fl();Kt();r2();n2();ga();Dt()});function Lo(e,t,r){let n={};for(let o in e.orbits){let l=e.orbits[o],i=t[o],a=r[o];if(Ao(l.numOrientations,a))n[o]=i;else if(Ao(l.numOrientations,i))n[o]=a;else{let f=new Array(l.numPieces);if(l.numOrientations===1){for(let s=0;s<l.numPieces;s++)f[s]=i.permutation[a.permutation[s]];n[o]={permutation:f,orientation:i.orientation}}else{let s=new Array(l.numPieces);for(let c=0;c<l.numPieces;c++)s[c]=(i.orientation[a.permutation[c]]+a.orientation[c])%l.numOrientations,f[c]=i.permutation[a.permutation[c]];n[o]={permutation:f,orientation:s}}}}return n}function Aa(e,t,r){let n={};for(let o in e.orbits){let l=e.orbits[o],i=t[o],a=r[o];if(Ao(l.numOrientations,a))n[o]=i;else{let f=new Array(l.numPieces);if(l.numOrientations===1){for(let s=0;s<l.numPieces;s++)f[s]=i.pieces[a.permutation[s]];n[o]={pieces:f,orientation:i.orientation}}else{let s=new Array(l.numPieces);for(let c=0;c<l.numPieces;c++)s[c]=(i.orientation[a.permutation[c]]+a.orientation[c])%l.numOrientations,f[c]=i.pieces[a.permutation[c]];n[o]={pieces:f,orientation:s}}}}return n}var bl=w(()=>{Do()});function np(e){let t=l2.get(e);if(t)return t;let r=new Array(e),n=new Array(e);for(let l=0;l<e;l++)r[l]=l,n[l]=0;let o={permutation:r,orientation:n};return o2&&(Object.freeze(r),Object.freeze(n),Object.freeze(o)),l2.set(e,o),o}function i2(e){let t={};for(let[r,n]of Object.entries(e.orbits))t[r]=np(n.numPieces);return o2&&Object.freeze(t),t}function a2(e,t){let r=t.quantum.toString(),n=e.definition.moves[r];if(n)return ir(e,n,t.amount);let o=e.definition.moves[t.toString()];if(o)return o;let l=e.definition.moves[t.invert().toString()];if(l)return ir(e,l,-1);throw new Error(`Invalid move for KPuzzle (${e.name()}): ${t}`)}var o2,l2,Da=w(()=>{Do();o2=!1,l2=new Map});var ge,wl=w(()=>{bl();yo();ge=class{constructor(t,r){this.kpuzzle=t;this.stateData=r}static fromTransformation(t){let r=Aa(t.kpuzzle.definition,t.kpuzzle.definition.startStateData,t.transformationData);return new ge(t.kpuzzle,r)}apply(t){return this.applyTransformation(this.kpuzzle.toTransformation(t))}applyTransformation(t){if(t.isIdentityTransformation())return new ge(this.kpuzzle,this.stateData);let r=Aa(this.kpuzzle.definition,this.stateData,t.transformationData);return new ge(this.kpuzzle,r)}applyMove(t){return this.applyTransformation(this.kpuzzle.moveToTransformation(t))}applyAlg(t){return this.applyTransformation(this.kpuzzle.algToTransformation(t))}experimentalToTransformation(){if(!this.kpuzzle.canConvertStateToUniqueTransformation())return null;let t={};for(let[r,n]of Object.entries(this.stateData)){let o={permutation:n.pieces,orientation:n.orientation};t[r]=o}return new Ft(this.kpuzzle,t)}}});var Pr,ar,Ft,yo=w(()=>{Do();bl();Da();wl();ar=class{constructor(t,r){this.kpuzzle=t;this.transformationData=r;ne(this,Pr,void 0)}invert(){return new ar(this.kpuzzle,ya(this.kpuzzle,this.transformationData))}isIdentityTransformation(){return A(this,Pr)??q(this,Pr,this.isIdentical(this.kpuzzle.identityTransformation()))}static experimentalConstructIdentity(t){let r=new ar(t,i2(t.definition));return q(r,Pr,!0),r}isIdentical(t){return s2(this.kpuzzle,this.transformationData,t.transformationData)}apply(t){return this.applyTransformation(this.kpuzzle.toTransformation(t))}applyTransformation(t){if(this.kpuzzle!==t.kpuzzle)throw new Error(`Tried to apply a transformation for a KPuzzle (${t.kpuzzle.name()}) to a different KPuzzle (${this.kpuzzle.name()}).`);return A(this,Pr)?new ar(this.kpuzzle,t.transformationData):A(t,Pr)?new ar(this.kpuzzle,this.transformationData):new ar(this.kpuzzle,Lo(this.kpuzzle.definition,this.transformationData,t.transformationData))}applyMove(t){return this.applyTransformation(this.kpuzzle.moveToTransformation(t))}applyAlg(t){return this.applyTransformation(this.kpuzzle.algToTransformation(t))}toKState(){return ge.fromTransformation(this)}repetitionOrder(){return f2(this.kpuzzle.definition,this)}selfMultiply(t){return new ar(this.kpuzzle,ir(this.kpuzzle,this.transformationData,t))}},Ft=ar;Pr=new WeakMap});function Ao(e,t){let{permutation:r}=t,n=r.length;for(let o=0;o<n;o++)if(r[o]!==o)return!1;if(e>1){let{orientation:o}=t;for(let l=0;l<n;l++)if(o[l]!==0)return!1}return!0}function op(e,t,r,n={}){for(let o=0;o<e.numPieces;o++)if(!n?.ignoreOrientation&&t.orientation[o]!==r.orientation[o]||!n?.ignorePermutation&&t.permutation[o]!==r.permutation[o])return!1;return!0}function s2(e,t,r){for(let[n,o]of Object.entries(e.definition.orbits))if(!op(o,t[n],r[n]))return!1;return!0}function ya(e,t){let r={};for(let n in e.definition.orbits){let o=e.definition.orbits[n],l=t[n];if(Ao(o.numOrientations,l))r[n]=l;else if(o.numOrientations===1){let i=new Array(o.numPieces);for(let a=0;a<o.numPieces;a++)i[l.permutation[a]]=a;r[n]={permutation:i,orientation:l.orientation}}else{let i=new Array(o.numPieces),a=new Array(o.numPieces);for(let f=0;f<o.numPieces;f++){let s=l.permutation[f];i[s]=f,a[s]=(o.numOrientations-l.orientation[f]+o.numOrientations)%o.numOrientations}r[n]={permutation:i,orientation:a}}}return r}function ir(e,t,r){if(r===1)return t;if(r<0)return ir(e,ya(e,t),-r);if(r===0){let{transformationData:l}=e.identityTransformation();return l}let n=t;r!==2&&(n=ir(e,t,Math.floor(r/2)));let o=Lo(e.definition,n,n);return r%2==0?o:Lo(e.definition,t,o)}function Ra(e,t){return t?Ra(t,e%t):e}function f2(e,t){let r=1;for(let n in e.orbits){let o=e.orbits[n],l=t.transformationData[n],i=new Array(o.numPieces);for(let a=0;a<o.numPieces;a++)if(!i[a]){let f=a,s=0,c=0;for(;i[f]=!0,s=s+l.orientation[f],c=c+1,f=l.permutation[f],f!==a;);s!==0&&(c=c*o.numOrientations/Ra(o.numOrientations,s)),r=r*c/Ra(r,c)}}return r}var u2,c2,m2,Do=w(()=>{Le();bl();yo();u2=class extends Ln{traverseAlg(t,r){let n=null;for(let o of t.units())n?n=n.applyTransformation(this.traverseUnit(o,r)):n=this.traverseUnit(o,r);return n??r.identityTransformation()}traverseGrouping(t,r){let n=this.traverseAlg(t.alg,r);return new Ft(r,ir(r,n.transformationData,t.amount))}traverseMove(t,r){return r.moveToTransformation(t)}traverseCommutator(t,r){let n=this.traverseAlg(t.A,r),o=this.traverseAlg(t.B,r);return n.applyTransformation(o).applyTransformation(n.invert()).applyTransformation(o.invert())}traverseConjugate(t,r){let n=this.traverseAlg(t.A,r),o=this.traverseAlg(t.B,r);return n.applyTransformation(o).applyTransformation(n.invert())}traversePause(t,r){return r.identityTransformation()}traverseNewline(t,r){return r.identityTransformation()}traverseLineComment(t,r){return r.identityTransformation()}},c2=new u2,m2=c2.traverseAlg.bind(c2)});var Dn,xl,Ne,Fa=w(()=>{Le();Do();Da();wl();yo();Ne=class{constructor(t,r){this.definition=t;ne(this,Dn,new Map);ne(this,xl,void 0);this.experimentalPGNotation=r?.experimentalPGNotation}name(){return this.definition.name}identityTransformation(){return Ft.experimentalConstructIdentity(this)}moveToTransformation(t){typeof t==\\\"string\\\"&&(t=new h(t));let r=t.toString(),n=A(this,Dn).get(r);if(n)return new Ft(this,n);if(this.experimentalPGNotation){let l=this.experimentalPGNotation.lookupMove(t);if(!l)throw new Error(`could not map to internal move: ${t}`);return A(this,Dn).set(r,l),new Ft(this,l)}let o=a2(this,t);return A(this,Dn).set(r,o),new Ft(this,o)}algToTransformation(t){return typeof t==\\\"string\\\"&&(t=new z(t)),m2(t,this)}toTransformation(t){return typeof t==\\\"string\\\"?this.algToTransformation(t):t?.is?.(z)?this.algToTransformation(t):t?.is?.(h)?this.moveToTransformation(t):t}startState(){return new ge(this,this.definition.startStateData)}canConvertStateToUniqueTransformation(){return A(this,xl)??q(this,xl,(()=>{for(let[t,r]of Object.entries(this.definition.orbits)){let n=new Array(r.numPieces).fill(!1);for(let o of this.definition.startStateData[t].pieces)n[o]=!0;for(let o of n)if(!o)return!1}return!0})())}get state(){throw new Error(\\\"KPuzzle is now a different (stateless) class.\\\")}reset(){throw new Error(\\\"KPuzzle is now a different (stateless) class.\\\")}applyMove(t){throw new Error(\\\"KPuzzle is now a different class. Try `.moveToTransformation()` to get the transformation for a move.\\\")}applyAlg(t){throw new Error(\\\"KPuzzle is now a different class. Try `.algToTransformation()` to get the transformation for an alg.\\\")}};Dn=new WeakMap,xl=new WeakMap});var Ae,p2=w(()=>{Ae={name:\\\"3x3x3\\\",orbits:{EDGES:{numPieces:12,numOrientations:2},CORNERS:{numPieces:8,numOrientations:3},CENTERS:{numPieces:6,numOrientations:4}},startStateData:{EDGES:{pieces:[0,1,2,3,4,5,6,7,8,9,10,11],orientation:[0,0,0,0,0,0,0,0,0,0,0,0]},CORNERS:{pieces:[0,1,2,3,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{pieces:[0,1,2,3,4,5],orientation:[0,0,0,0,0,0]}},moves:{U:{EDGES:{permutation:[1,2,3,0,4,5,6,7,8,9,10,11],orientation:[0,0,0,0,0,0,0,0,0,0,0,0]},CORNERS:{permutation:[1,2,3,0,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[1,0,0,0,0,0]}},y:{EDGES:{permutation:[1,2,3,0,5,6,7,4,10,8,11,9],orientation:[0,0,0,0,0,0,0,0,1,1,1,1]},CORNERS:{permutation:[1,2,3,0,7,4,5,6],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,2,3,4,1,5],orientation:[1,0,0,0,0,3]}},x:{EDGES:{permutation:[4,8,0,9,6,10,2,11,5,7,1,3],orientation:[1,0,1,0,1,0,1,0,0,0,0,0]},CORNERS:{permutation:[4,0,3,5,7,6,2,1],orientation:[2,1,2,1,1,2,1,2]},CENTERS:{permutation:[2,1,5,3,0,4],orientation:[0,3,0,1,2,2]}},L:{EDGES:{permutation:[0,1,2,11,4,5,6,9,8,3,10,7],orientation:[0,0,0,0,0,0,0,0,0,0,0,0]},CORNERS:{permutation:[0,1,6,2,4,3,5,7],orientation:[0,0,2,1,0,2,1,0]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[0,1,0,0,0,0]}},F:{EDGES:{permutation:[9,1,2,3,8,5,6,7,0,4,10,11],orientation:[1,0,0,0,1,0,0,0,1,1,0,0]},CORNERS:{permutation:[3,1,2,5,0,4,6,7],orientation:[1,0,0,2,2,1,0,0]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[0,0,1,0,0,0]}},R:{EDGES:{permutation:[0,8,2,3,4,10,6,7,5,9,1,11],orientation:[0,0,0,0,0,0,0,0,0,0,0,0]},CORNERS:{permutation:[4,0,2,3,7,5,6,1],orientation:[2,1,0,0,1,0,0,2]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[0,0,0,1,0,0]}},B:{EDGES:{permutation:[0,1,10,3,4,5,11,7,8,9,6,2],orientation:[0,0,1,0,0,0,1,0,0,0,1,1]},CORNERS:{permutation:[0,7,1,3,4,5,2,6],orientation:[0,2,1,0,0,0,2,1]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[0,0,0,0,1,0]}},D:{EDGES:{permutation:[0,1,2,3,7,4,5,6,8,9,10,11],orientation:[0,0,0,0,0,0,0,0,0,0,0,0]},CORNERS:{permutation:[0,1,2,3,5,6,7,4],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,1,2,3,4,5],orientation:[0,0,0,0,0,1]}},z:{EDGES:{permutation:[9,3,11,7,8,1,10,5,0,4,2,6],orientation:[1,1,1,1,1,1,1,1,1,1,1,1]},CORNERS:{permutation:[3,2,6,5,0,4,7,1],orientation:[1,2,1,2,2,1,2,1]},CENTERS:{permutation:[1,5,2,0,4,3],orientation:[1,1,1,1,3,1]}},M:{EDGES:{permutation:[2,1,6,3,0,5,4,7,8,9,10,11],orientation:[1,0,1,0,1,0,1,0,0,0,0,0]},CORNERS:{permutation:[0,1,2,3,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[4,1,0,3,5,2],orientation:[2,0,0,0,2,0]}},E:{EDGES:{permutation:[0,1,2,3,4,5,6,7,9,11,8,10],orientation:[0,0,0,0,0,0,0,0,1,1,1,1]},CORNERS:{permutation:[0,1,2,3,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,4,1,2,3,5],orientation:[0,0,0,0,0,0]}},S:{EDGES:{permutation:[0,3,2,7,4,1,6,5,8,9,10,11],orientation:[0,1,0,1,0,1,0,1,0,0,0,0]},CORNERS:{permutation:[0,1,2,3,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[1,5,2,0,4,3],orientation:[1,1,0,1,0,1]}},u:{EDGES:{permutation:[1,2,3,0,4,5,6,7,10,8,11,9],orientation:[0,0,0,0,0,0,0,0,1,1,1,1]},CORNERS:{permutation:[1,2,3,0,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,2,3,4,1,5],orientation:[1,0,0,0,0,0]}},l:{EDGES:{permutation:[2,1,6,11,0,5,4,9,8,3,10,7],orientation:[1,0,1,0,1,0,1,0,0,0,0,0]},CORNERS:{permutation:[0,1,6,2,4,3,5,7],orientation:[0,0,2,1,0,2,1,0]},CENTERS:{permutation:[4,1,0,3,5,2],orientation:[2,1,0,0,2,0]}},f:{EDGES:{permutation:[9,3,2,7,8,1,6,5,0,4,10,11],orientation:[1,1,0,1,1,1,0,1,1,1,0,0]},CORNERS:{permutation:[3,1,2,5,0,4,6,7],orientation:[1,0,0,2,2,1,0,0]},CENTERS:{permutation:[1,5,2,0,4,3],orientation:[1,1,1,1,0,1]}},r:{EDGES:{permutation:[4,8,0,3,6,10,2,7,5,9,1,11],orientation:[1,0,1,0,1,0,1,0,0,0,0,0]},CORNERS:{permutation:[4,0,2,3,7,5,6,1],orientation:[2,1,0,0,1,0,0,2]},CENTERS:{permutation:[2,1,5,3,0,4],orientation:[0,0,0,1,2,2]}},b:{EDGES:{permutation:[0,5,10,1,4,7,11,3,8,9,6,2],orientation:[0,1,1,1,0,1,1,1,0,0,1,1]},CORNERS:{permutation:[0,7,1,3,4,5,2,6],orientation:[0,2,1,0,0,0,2,1]},CENTERS:{permutation:[3,0,2,5,4,1],orientation:[3,3,0,3,1,3]}},d:{EDGES:{permutation:[0,1,2,3,7,4,5,6,9,11,8,10],orientation:[0,0,0,0,0,0,0,0,1,1,1,1]},CORNERS:{permutation:[0,1,2,3,5,6,7,4],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,4,1,2,3,5],orientation:[0,0,0,0,0,1]}}}};Ae.moves.Uw=Ae.moves.u;Ae.moves.Lw=Ae.moves.l;Ae.moves.Fw=Ae.moves.f;Ae.moves.Rw=Ae.moves.r;Ae.moves.Bw=Ae.moves.b;Ae.moves.Dw=Ae.moves.d;Ae.moves.Rv=Ae.moves.x;Ae.moves.Uv=Ae.moves.y;Ae.moves.Fv=Ae.moves.z;Ae.moves.Lv={EDGES:{permutation:[2,10,6,11,0,8,4,9,1,3,5,7],orientation:[1,0,1,0,1,0,1,0,0,0,0,0]},CORNERS:{permutation:[1,7,6,2,0,3,5,4],orientation:[2,1,2,1,1,2,1,2]},CENTERS:{permutation:[4,1,0,3,5,2],orientation:[2,1,0,3,2,0]}};Ae.moves.Dv={EDGES:{permutation:[3,0,1,2,7,4,5,6,9,11,8,10],orientation:[0,0,0,0,0,0,0,0,1,1,1,1]},CORNERS:{permutation:[3,0,1,2,5,6,7,4],orientation:[0,0,0,0,0,0,0,0]},CENTERS:{permutation:[0,4,1,2,3,5],orientation:[3,0,0,0,0,1]}};Ae.moves.Bv={EDGES:{permutation:[8,5,10,1,9,7,11,3,4,0,6,2],orientation:[1,1,1,1,1,1,1,1,1,1,1,1]},CORNERS:{permutation:[4,7,1,0,5,3,2,6],orientation:[1,2,1,2,2,1,2,1]},CENTERS:{permutation:[3,0,2,5,4,1],orientation:[3,3,3,3,1,3]}}});var Ba,Je=w(()=>{Fa();wl();yo();p2();Fa();Ba=new Ne(Ae)});var g2=w(()=>{Je()});function gp(e){switch(e){case x.Regular:return lp;case x.Dim:return cp;case x.Ignored:return ip;case x.OrientationStickers:return ap;case x.Invisible:return sp;case x.IgnoreNonPrimary:return fp;case x.PermuteNonPrimary:return up;case x.Ignoriented:return mp;case x.OrientationWithoutPermutation:return pp}}var x,yn,zt,Oe,Rn,Sl,Mr,lp,ip,ap,sp,fp,up,cp,mp,pp,Ro,Fo,Bo=w(()=>{(function(s){s.Regular=\\\"Regular\\\",s.Dim=\\\"Dim\\\",s.Ignored=\\\"Ignored\\\",s.OrientationStickers=\\\"OrientationStickers\\\",s.Invisible=\\\"Invisible\\\",s.Ignoriented=\\\"Ignoriented\\\",s.IgnoreNonPrimary=\\\"IgnoreNonPrimary\\\",s.PermuteNonPrimary=\\\"PermuteNonPrimary\\\",s.OrientationWithoutPermutation=\\\"OrientationWithoutPermutation\\\"})(x||(x={}));yn=class{constructor(t,r){this.stickerings=new Map;for(let[n,o]of Object.entries(t.definition.orbits))this.stickerings.set(n,new Array(o.numPieces).fill(r))}},zt=\\\"regular\\\",Oe=\\\"ignored\\\",Rn=\\\"oriented\\\",Sl=\\\"invisible\\\",Mr=\\\"dim\\\",lp={facelets:[zt,zt,zt,zt,zt]},ip={facelets:[Oe,Oe,Oe,Oe,Oe]},ap={facelets:[Rn,Rn,Rn,Rn,Rn]},sp={facelets:[Sl,Sl,Sl,Sl]},fp={facelets:[zt,Oe,Oe,Oe,Oe]},up={facelets:[Mr,zt,zt,zt,zt]},cp={facelets:[Mr,Mr,Mr,Mr,Mr]},mp={facelets:[Mr,Oe,Oe,Oe,Oe]},pp={facelets:[Rn,Oe,Oe,Oe,Oe]};Ro=class extends yn{constructor(t){super(t,x.Regular)}set(t,r){for(let[n,o]of this.stickerings.entries())for(let l=0;l<o.length;l++)t.stickerings.get(n)[l]&&(o[l]=r);return this}toAppearance(){let t={orbits:{}};for(let[r,n]of this.stickerings.entries()){let o=[],l={pieces:o};t.orbits[r]=l;for(let i of n)o.push(gp(i))}return t}},Fo=class{constructor(t){this.kpuzzle=t}and(t){let r=new yn(this.kpuzzle,!1);for(let[n,o]of Object.entries(this.kpuzzle.definition.orbits)){e:for(let l=0;l<o.numPieces;l++){r.stickerings.get(n)[l]=!0;for(let i of t)if(!i.stickerings.get(n)[l]){r.stickerings.get(n)[l]=!1;continue e}}}return r}or(t){let r=new yn(this.kpuzzle,!1);for(let[n,o]of Object.entries(this.kpuzzle.definition.orbits)){e:for(let l=0;l<o.numPieces;l++){r.stickerings.get(n)[l]=!1;for(let i of t)if(i.stickerings.get(n)[l]){r.stickerings.get(n)[l]=!0;continue e}}}return r}not(t){let r=new yn(this.kpuzzle,!1);for(let[n,o]of Object.entries(this.kpuzzle.definition.orbits))for(let l=0;l<o.numPieces;l++)r.stickerings.get(n)[l]=!t.stickerings.get(n)[l];return r}all(){return this.and(this.moves([]))}move(t){let r=this.kpuzzle.moveToTransformation(t),n=new yn(this.kpuzzle,!1);for(let[o,l]of Object.entries(this.kpuzzle.definition.orbits))for(let i=0;i<l.numPieces;i++)(r.transformationData[o].permutation[i]!==i||r.transformationData[o].orientation[i]!==0)&&(n.stickerings.get(o)[i]=!0);return n}moves(t){return t.map(r=>this.move(r))}}});function dp(e){(async()=>{d2=e;let t=Array.from(document.body.querySelectorAll(\\\"twisty-player\\\"));console.log(`Setting the custom stickering for ${t.length} players!`);let r=[];for(let n of t)r.push((async()=>{let o=await n.experimentalModel.stickering.get();n.experimentalStickering=o===\\\"experimental-global-custom-1\\\"?\\\"experimental-global-custom-2\\\":\\\"experimental-global-custom-1\\\"})());await Promise.all(r),console.log(\\\"Success!\\\")})()}function h2(e,t){d2(e,t)}var d2,L2=w(()=>{Bo();d2=()=>{};globalThis.location&&new URL(location.href).searchParams.get(\\\"global-custom-stickerer\\\")===\\\"true\\\"&&(window.setGlobalCustomStickerer=dp,window.PieceStickering=x,console.log(\\\"Global custom stickerer enabled! (using: global-custom-stickerer=true)\\\"),console.log(\\\"Look here for inspiration:\\\",\\\"https://github.com/cubing/cubing.js/blob/81b5cab3e27d8defb39dd1e0a10bc9e8ba894d26/src/cubing/puzzles/stickerings/cube-stickerings.ts#L67\\\"))});async function _t(e,t){let r=await e.kpuzzle(),n=new Ro(r),o=new Fo(r),l=()=>o.move(\\\"U\\\"),i=()=>o.or(o.moves([\\\"U\\\",\\\"D\\\"])),a=()=>o.not(i()),f=()=>o.or(o.moves([\\\"L\\\",\\\"R\\\"])),s=()=>o.not(f()),c=()=>o.or(o.moves([\\\"F\\\",\\\"B\\\"])),m=()=>o.not(c()),u=()=>o.not(l()),p=()=>o.and([l(),s(),m()]),g=()=>o.and([o.and(o.moves([\\\"F\\\",\\\"R\\\"])),o.not(i())]),d=()=>o.and(o.moves([\\\"D\\\",\\\"R\\\",\\\"F\\\"])),L=()=>o.or([d(),g()]),D=()=>o.or([o.and([s(),a()]),o.and([s(),m()]),o.and([a(),m()])]),F=()=>o.or([o.and([s(),i(),c()]),o.and([a(),f(),c()]),o.and([m(),i(),f()])]),B=()=>o.not(o.or([D(),F()])),k=()=>o.or([s(),o.and([l(),F()])]);function E(){n.set(u(),x.Dim)}function Q(){n.set(l(),x.PermuteNonPrimary),n.set(p(),x.Dim)}function $(){n.set(l(),x.IgnoreNonPrimary),n.set(p(),x.Regular)}function G(){n.set(l(),x.Ignoriented),n.set(p(),x.Dim)}switch(t){case\\\"full\\\":break;case\\\"PLL\\\":E(),Q();break;case\\\"CLS\\\":E(),n.set(o.and(o.moves([\\\"D\\\",\\\"R\\\",\\\"F\\\"])),x.Regular),n.set(l(),x.Ignoriented),n.set(o.and([l(),s(),m()]),x.Dim),n.set(o.and([l(),B()]),x.IgnoreNonPrimary);break;case\\\"OLL\\\":E(),$();break;case\\\"COLL\\\":E(),Q(),n.set(o.and([l(),B()]),x.Regular);break;case\\\"OCLL\\\":E(),G(),n.set(o.and([l(),B()]),x.IgnoreNonPrimary);break;case\\\"CLL\\\":E(),n.set(o.not(o.and([B(),l()])),x.Dim);break;case\\\"ELL\\\":E(),n.set(l(),x.Dim),n.set(o.and([l(),F()]),x.Regular);break;case\\\"ELS\\\":E(),$(),n.set(o.and([l(),B()]),x.Ignored),n.set(g(),x.Regular),n.set(d(),x.Ignored);break;case\\\"LL\\\":E();break;case\\\"F2L\\\":n.set(l(),x.Ignored);break;case\\\"ZBLL\\\":E(),n.set(l(),x.PermuteNonPrimary),n.set(p(),x.Dim),n.set(o.and([l(),B()]),x.Regular);break;case\\\"ZBLS\\\":E(),n.set(L(),x.Regular),$(),n.set(o.and([l(),B()]),x.Ignored);break;case\\\"WVLS\\\":case\\\"VLS\\\":E(),n.set(L(),x.Regular),$();break;case\\\"LS\\\":E(),n.set(L(),x.Regular),n.set(l(),x.Ignored),n.set(p(),x.Dim);break;case\\\"EO\\\":n.set(B(),x.Ignored),n.set(F(),x.OrientationWithoutPermutation);break;case\\\"EOline\\\":n.set(B(),x.Ignored),n.set(F(),x.OrientationWithoutPermutation),n.set(o.and(o.moves([\\\"D\\\",\\\"M\\\"])),x.Regular);break;case\\\"EOcross\\\":n.set(F(),x.OrientationWithoutPermutation),n.set(o.move(\\\"D\\\"),x.Regular),n.set(B(),x.Ignored);break;case\\\"CMLL\\\":n.set(u(),x.Dim),n.set(k(),x.Ignored),n.set(o.and([l(),B()]),x.Regular);break;case\\\"L6E\\\":n.set(o.not(k()),x.Dim);break;case\\\"L6EO\\\":n.set(o.not(k()),x.Dim),n.set(k(),x.OrientationWithoutPermutation),n.set(o.and([D(),i()]),x.OrientationStickers);break;case\\\"Daisy\\\":n.set(o.all(),x.Ignored),n.set(D(),x.Dim),n.set(o.and([o.move(\\\"D\\\"),D()]),x.Regular),n.set(o.and([o.move(\\\"U\\\"),F()]),x.IgnoreNonPrimary);break;case\\\"Cross\\\":n.set(o.all(),x.Ignored),n.set(D(),x.Dim),n.set(o.and([o.move(\\\"D\\\"),D()]),x.Regular),n.set(o.and([o.move(\\\"D\\\"),F()]),x.Regular);break;case\\\"2x2x2\\\":n.set(o.or(o.moves([\\\"U\\\",\\\"F\\\",\\\"R\\\"])),x.Ignored),n.set(o.and([o.or(o.moves([\\\"U\\\",\\\"F\\\",\\\"R\\\"])),D()]),x.Dim);break;case\\\"2x2x3\\\":n.set(o.all(),x.Dim),n.set(o.or(o.moves([\\\"U\\\",\\\"F\\\",\\\"R\\\"])),x.Ignored),n.set(o.and([o.or(o.moves([\\\"U\\\",\\\"F\\\",\\\"R\\\"])),D()]),x.Dim),n.set(o.and([o.move(\\\"F\\\"),o.not(o.or(o.moves([\\\"U\\\",\\\"R\\\"])))]),x.Regular);break;case\\\"Void Cube\\\":n.set(D(),x.Invisible);break;case\\\"picture\\\":case\\\"invisible\\\":n.set(o.all(),x.Invisible);break;case\\\"centers-only\\\":n.set(o.not(D()),x.Ignored);break;case\\\"experimental-global-custom-1\\\":case\\\"experimental-global-custom-2\\\":h2(n,o);break;default:console.warn(`Unsupported stickering for ${e.id}: ${t}. Setting all pieces to dim.`),n.set(o.and(o.moves([])),x.Dim)}return n.toAppearance()}async function Fn(){return[\\\"full\\\",\\\"PLL\\\",\\\"CLS\\\",\\\"OLL\\\",\\\"COLL\\\",\\\"OCLL\\\",\\\"ELL\\\",\\\"ELS\\\",\\\"LL\\\",\\\"F2L\\\",\\\"ZBLL\\\",\\\"ZBLS\\\",\\\"WVLS\\\",\\\"VLS\\\",\\\"LS\\\",\\\"EO\\\",\\\"EOline\\\",\\\"EOcross\\\",\\\"CMLL\\\",\\\"L6E\\\",\\\"L6EO\\\",\\\"Daisy\\\",\\\"Cross\\\",\\\"2x2x2\\\",\\\"2x2x3\\\",\\\"Void Cube\\\",\\\"picture\\\",\\\"invisible\\\",\\\"centers-only\\\"]}var Bn=w(()=>{Bo();L2()});function We(e){let t=null;return()=>t??(t=e())}var Gr=w(()=>{});var bo,A2=w(()=>{bo=class{constructor(t,r){this.facenames=t;this.prefixFree=!0;this.gripnames=[];r&&(this.gripnames=r);for(let n=0;this.prefixFree&&n<t.length;n++)for(let o=0;this.prefixFree&&o<t.length;o++)n!==o&&t[n].startsWith(t[o])&&(this.prefixFree=!1)}setGripNames(t){this.gripnames=t}splitByFaceNames(t){let r=[],n=0;for(;n<t.length;){n>0&&n<t.length&&t[n]===\\\"_\\\"&&n++;let o=-1;for(let l=0;l<this.facenames.length;l++)t.substr(n).startsWith(this.facenames[l])&&(o<0||this.facenames[l].length>this.facenames[o].length)&&(o=l);if(o>=0)r.push(o),n+=this.facenames[o].length;else throw new Error(\\\"Could not split \\\"+t+\\\" into face names.\\\")}return r}joinByFaceIndices(t){let r=\\\"\\\",n=[];for(let o=0;o<t.length;o++)n.push(r),n.push(this.facenames[t[o]]),this.prefixFree||(r=\\\"_\\\");return n.join(\\\"\\\")}spinmatch(t,r){if(t===r)return!0;try{let n=this.splitByFaceNames(t),o=this.splitByFaceNames(r);if(n.length!==o.length&&n.length<3)return!1;for(let l=0;l<n.length;l++){for(let a=0;a<l;a++)if(n[l]===n[a])return!1;let i=!1;for(let a=0;a<o.length;a++)if(n[l]===o[a]){i=!0;break}if(!i)return!1}return!0}catch(n){return!1}}spinmatchv(t,r){return t.endsWith(\\\"v\\\")&&r.endsWith(\\\"v\\\")?this.spinmatch(t.slice(0,t.length-1),r.slice(0,r.length-1)):this.spinmatch(t,r)}unswizzle(t){(t.endsWith(\\\"v\\\")||t.endsWith(\\\"w\\\"))&&t[0]<=\\\"Z\\\"&&(t=t.slice(0,t.length-1));let r=t.toUpperCase();for(let n=0;n<this.gripnames.length;n++){let o=this.gripnames[n];if(this.spinmatch(r,o))return o}return t}}});var bn,D2=w(()=>{bn=class{notationToInternal(t){return t}notationToExternal(t){return t}}});var vl,y2=w(()=>{Le();vl=class{constructor(t,r){this.child=t;this.sw=r}notationToInternal(t){return t.family===\\\"T\\\"&&t.innerLayer===void 0&&t.outerLayer===void 0?new h(new P(\\\"FLRv\\\",t.innerLayer,t.outerLayer),t.amount):this.child.notationToInternal(t)}notationToExternal(t){let r=t.family;return r.length>0&&r[r.length-1]===\\\"v\\\"&&(r=r.substring(0,r.length-1)),this.sw.spinmatch(r,\\\"FLUR\\\")?new h(new P(\\\"T\\\",t.innerLayer,t.outerLayer),t.amount):this.child.notationToExternal(t)}}});var wo,R2=w(()=>{Le();wo=class{constructor(t,r){this.internalNames=t;this.externalNames=r}convertString(t,r,n){let o=\\\"\\\";(t.endsWith(\\\"v\\\")||t.endsWith(\\\"v\\\"))&&t<=\\\"_\\\"&&(o=t.slice(t.length-1),t=t.slice(0,t.length-1));let l=t.toUpperCase(),i=!1;return t!==l&&(i=!0,t=l),t=n.joinByFaceIndices(r.splitByFaceNames(t)),i&&(t=t.toLowerCase()),t+o}convert(t,r,n){let o=t.family,l=this.convertString(o,r,n);return o===l?t:new h(new P(l,t.innerLayer,t.outerLayer),t.amount)}notationToInternal(t){return this.convert(t,this.externalNames,this.internalNames)}notationToExternal(t){return this.convert(t,this.internalNames,this.externalNames)}}});var Ul,F2=w(()=>{Le();Ul=class{constructor(t){this.child=t}notationToInternal(t){if(t.innerLayer===void 0&&t.outerLayer===void 0){if(Math.abs(t.amount)===1){if(t.family===\\\"R++\\\")return new h(new P(\\\"L\\\",3,2),-2*t.amount);if(t.family===\\\"R--\\\")return new h(new P(\\\"L\\\",3,2),2*t.amount);if(t.family===\\\"D++\\\")return new h(new P(\\\"U\\\",3,2),-2*t.amount);if(t.family===\\\"D--\\\")return new h(new P(\\\"U\\\",3,2),2*t.amount);if(t.family===\\\"R_PLUSPLUS_\\\")return new h(new P(\\\"L\\\",3,2),-2*t.amount);if(t.family===\\\"D_PLUSPLUS_\\\")return new h(new P(\\\"U\\\",3,2),-2*t.amount)}if(t.family===\\\"y\\\")return new h(\\\"Uv\\\",t.amount)}return this.child.notationToInternal(t)}notationToExternal(t){return t.family===\\\"Uv\\\"?new h(new P(\\\"y\\\",t.innerLayer,t.outerLayer),t.amount):t.family===\\\"Dv\\\"?new h(\\\"y\\\",-t.amount):this.child.notationToExternal(t)}}});var El,B2=w(()=>{Le();El=class{constructor(t){this.slices=t}notationToInternal(t){let r=t.family;return!t.innerLayer&&!t.outerLayer&&(r===\\\"x\\\"?t=new h(\\\"Rv\\\",t.amount):r===\\\"y\\\"?t=new h(\\\"Uv\\\",t.amount):r===\\\"z\\\"&&(t=new h(\\\"Fv\\\",t.amount)),(this.slices&1)==1&&(r===\\\"E\\\"?t=new h(new P(\\\"D\\\",(this.slices+1)/2),t.amount):r===\\\"M\\\"?t=new h(new P(\\\"L\\\",(this.slices+1)/2),t.amount):r===\\\"S\\\"&&(t=new h(new P(\\\"F\\\",(this.slices+1)/2),t.amount))),this.slices>2&&(r===\\\"e\\\"?t=new h(new P(\\\"D\\\",this.slices-1,2),t.amount):r===\\\"m\\\"?t=new h(new P(\\\"L\\\",this.slices-1,2),t.amount):r===\\\"s\\\"&&(t=new h(new P(\\\"F\\\",this.slices-1,2),t.amount)))),t}notationToExternal(t){let r=t.family;if(!t.innerLayer&&!t.outerLayer){if(r===\\\"Rv\\\")return new h(\\\"x\\\",t.amount);if(r===\\\"Uv\\\")return new h(\\\"y\\\",t.amount);if(r===\\\"Fv\\\")return new h(\\\"z\\\",t.amount);if(r===\\\"Lv\\\")return new h(\\\"x\\\",-t.amount);if(r===\\\"Dv\\\")return new h(\\\"y\\\",-t.amount);if(r===\\\"Bv\\\")return new h(\\\"z\\\",-t.amount)}return t}}});var hp,Lp,b2,w2,x2,xo,kl,S2=w(()=>{Le();hp={U:\\\"frl\\\",L:\\\"fld\\\",R:\\\"fdr\\\",B:\\\"dlr\\\",u:\\\"FRL\\\",l:\\\"FLD\\\",r:\\\"FDR\\\",b:\\\"DLR\\\",Uv:\\\"FRLv\\\",Lv:\\\"FLDv\\\",Rv:\\\"FDRv\\\",Bv:\\\"DLRv\\\",D:\\\"D\\\",F:\\\"F\\\",BL:\\\"L\\\",BR:\\\"R\\\"},Lp={U:\\\"FRL\\\",L:\\\"FLD\\\",R:\\\"FDR\\\",B:\\\"DLR\\\",u:\\\"frl\\\",l:\\\"fld\\\",r:\\\"fdr\\\",b:\\\"dlr\\\",Uv:\\\"FRLv\\\",Lv:\\\"FLDv\\\",Rv:\\\"FDRv\\\",Bv:\\\"DLRv\\\",D:\\\"D\\\",F:\\\"F\\\",BL:\\\"L\\\",BR:\\\"R\\\",d:\\\"d\\\",f:\\\"f\\\",bl:\\\"l\\\",br:\\\"r\\\"},b2={U:\\\"FRL\\\",L:\\\"FLD\\\",R:\\\"FDR\\\",B:\\\"DLR\\\"},w2=new P(\\\"y\\\"),x2=new P(\\\"Dv\\\"),xo=class{constructor(t){this.child=t;this.wcaHack=!1;this.map=hp}notationToInternal(t){if(this.wcaHack&&t.innerLayer===2&&t.outerLayer===null){let n=b2[t.family];if(n)return new h(new P(n,t.innerLayer,t.outerLayer),t.amount)}let r=this.map[t.family];return r?new h(new P(r,t.innerLayer,t.outerLayer),t.amount):w2.isIdentical(t.quantum)?new h(x2,-t.amount):null}notationToExternal(t){if(this.wcaHack&&t.innerLayer===2&&t.outerLayer===null){for(let[r,n]of Object.entries(b2))if(this.child.spinmatch(t.family,n))return new h(new P(r,t.innerLayer,t.outerLayer),t.amount)}for(let[r,n]of Object.entries(this.map))if(this.child.spinmatch(t.family,n))return new h(new P(r,t.innerLayer,t.outerLayer),t.amount);return x2.isIdentical(t.quantum)?new h(w2,-t.amount):null}},kl=class extends xo{constructor(t){super(t);this.map=Lp}}});var v2,ba,U2,Ap,wa,E2,Dp,xa,k2,yp,zl,z2=w(()=>{Le();v2={U:\\\"UBL\\\",UL:\\\"ULF\\\",F:\\\"UFR\\\",UR:\\\"URB\\\",B:\\\"DBL\\\",D:\\\"DFR\\\",L:\\\"DLF\\\",R:\\\"DRB\\\",Uv:\\\"UBLv\\\",ULv:\\\"ULFv\\\",Fv:\\\"UFRv\\\",URv:\\\"URBv\\\",Bv:\\\"DBLv\\\",Dv:\\\"DFRv\\\",Lv:\\\"DLFv\\\",Rv:\\\"DRBv\\\"},ba=new P(\\\"x\\\"),U2=new P(\\\"Rv\\\"),Ap=new P(\\\"Lv\\\"),wa=new P(\\\"y\\\"),E2=new P(\\\"Uv\\\"),Dp=new P(\\\"Dv\\\"),xa=new P(\\\"z\\\"),k2=new P(\\\"Fv\\\"),yp=new P(\\\"Bv\\\"),zl=class{constructor(t){this.child=t}notationToInternal(t){if(t.innerLayer||t.outerLayer)return null;let r=v2[t.family];return r?new h(new P(r,t.outerLayer,t.innerLayer),t.amount):ba.isIdentical(t.quantum)?new h(U2,t.amount):wa.isIdentical(t.quantum)?new h(E2,t.amount):xa.isIdentical(t.quantum)?new h(k2,t.amount):null}notationToExternal(t){for(let[r,n]of Object.entries(v2))if(this.child.spinmatchv(t.family,n))return new h(new P(r,t.innerLayer,t.outerLayer),t.amount);return U2.isIdentical(t.quantum)?new h(ba,t.amount):Ap.isIdentical(t.quantum)?new h(ba,-t.amount):E2.isIdentical(t.quantum)?new h(wa,t.amount):Dp.isIdentical(t.quantum)?new h(wa,-t.amount):k2.isIdentical(t.quantum)?new h(xa,t.amount):yp.isIdentical(t.quantum)?new h(xa,-t.amount):null}}});var Sa=w(()=>{D2();y2();R2();F2();B2();S2();z2()});function _2(e){let t=0,r={};for(;t<e.length&&e[t][0]===\\\"-\\\";){let o=e[t++];if(o===\\\"--rotations\\\")r.addRotations=!0;else if(o===\\\"--allmoves\\\")r.allMoves=!0;else if(o===\\\"--outerblockmoves\\\")r.outerBlockMoves=!0;else if(o===\\\"--vertexmoves\\\")r.vertexMoves=!0;else if(o===\\\"--nocorners\\\")r.includeCornerOrbits=!1;else if(o===\\\"--noedges\\\")r.includeEdgeOrbits=!1;else if(o===\\\"--noorientation\\\")r.fixedOrientation=!0;else if(o===\\\"--nocenters\\\")r.includeCenterOrbits=!1;else if(o===\\\"--omit\\\")r.excludeOrbits=e[t].split(\\\",\\\"),t++;else if(o===\\\"--moves\\\")r.moveList=e[t].split(\\\",\\\"),t++;else if(o===\\\"--optimize\\\")r.optimizeOrbits=!0;else if(o===\\\"--scramble\\\")r.scrambleAmount=100;else if(o===\\\"--fixcorner\\\")r.fixedPieceType=\\\"v\\\";else if(o===\\\"--fixedge\\\")r.fixedPieceType=\\\"e\\\";else if(o===\\\"--fixcenter\\\")r.fixedPieceType=\\\"f\\\";else if(o===\\\"--orientcenters\\\")r.orientCenters=!0;else if(o===\\\"--puzzleorientation\\\")r.puzzleOrientation=JSON.parse(e[t]),t++;else throw new Error(\\\"Bad option: \\\"+o)}return{puzzleDescription:So(e.slice(t).join(\\\" \\\")),options:r}}var va,Ua=w(()=>{_l();va=class{constructor(t={}){this.verbosity=0;this.allMoves=!1;this.vertexMoves=!1;this.addRotations=!1;this.moveList=null;this.fixedOrientation=!1;this.fixedPieceType=null;this.orientCenters=!1;this.includeCornerOrbits=!0;this.includeCenterOrbits=!0;this.includeEdgeOrbits=!0;this.excludeOrbits=[];this.optimizeOrbits=!1;this.grayCorners=!1;this.grayCenters=!1;this.grayEdges=!1;this.puzzleOrientation=null;this.puzzleOrientations=null;this.scrambleAmount=0;Object.assign(this,t)}}});function sr(e){if(!Ea[e]){let t=Array(e);for(let r=0;r<e;r++)t[r]=0;Ea[e]=t}return Ea[e]}function Ct(e){if(!ka[e]){let t=Array(e);for(let r=0;r<e;r++)t[r]=r;ka[e]=t}return ka[e]}function C2(e){return new gt(Ct(e))}function P2(e){let t=1;for(;e>1;)t*=e,e--;return t}function Rp(e,t){if(e>t){let r=e;e=t,t=r}for(;e>0;){let r=t%e;t=e,e=r}return t}function za(e,t){return e/Rp(e,t)*t}var Ea,ka,gt,Cl=w(()=>{Ea=[],ka=[];gt=class{constructor(t){this.n=t.length,this.p=t}toString(){return\\\"Perm[\\\"+this.p.join(\\\" \\\")+\\\"]\\\"}mul(t){let r=Array(this.n);for(let n=0;n<this.n;n++)r[n]=t.p[this.p[n]];return new gt(r)}rmul(t){let r=Array(this.n);for(let n=0;n<this.n;n++)r[n]=this.p[t.p[n]];return new gt(r)}inv(){let t=Array(this.n);for(let r=0;r<this.n;r++)t[this.p[r]]=r;return new gt(t)}compareTo(t){for(let r=0;r<this.n;r++)if(this.p[r]!==t.p[r])return this.p[r]-t.p[r];return 0}toGap(){let t=new Array,r=new Array(this.n);for(let n=0;n<this.p.length;n++){if(r[n]||this.p[n]===n)continue;let o=new Array;for(let l=n;!r[l];l=this.p[l])o.push(1+l),r[l]=!0;t.push(\\\"(\\\"+o.join(\\\",\\\")+\\\")\\\")}return t.join(\\\"\\\")}order(){let t=1,r=new Array(this.n);for(let n=0;n<this.p.length;n++){if(r[n]||this.p[n]===n)continue;let o=0;for(let l=n;!r[l];l=this.p[l])o++,r[l]=!0;t=za(t,o)}return t}}});function _a(e,t){let r=h.fromString(t),n=e.notationToExternal(r);return n===null||r===n?t:n.toString()}function M2(e,t){let r=e.moveops.length;if(r>30)throw new Error(\\\"Canon info too big for bitmask\\\");let n=[],o=[];for(let i=0;i<r;i++){let a=e.moveops[i];n.push(a.order());let f=0;for(let s=0;s<r;s++){if(s===i)continue;let c=e.moveops[s];a.mul(c).equal(c.mul(a))&&(f|=1<<s)}o.push(f)}let l={};l[0]=1;for(let i=0;i<100;i++){let a=0,f={},s=0;for(let c in l){let m=+c,u=l[m];a+=u,s++;for(let p=0;p<n.length;p++)if((m>>p&1)==0&&(m&o[p]&(1<<p)-1)==0){let g=m&o[p]|1<<p;f[g]===void 0&&(f[g]=0),f[g]+=(n[p]-1)*u}}t(`${i}: canonseq ${a} states ${s}`),l=f}}var vo,Fp,wn,Bt,jt,Ca,fr,xn,Pa,G2=w(()=>{Le();Sa();Cl();vo=class{constructor(t,r){this.size=t;this.mod=r}reassemblySize(){return P2(this.size)*Math.pow(this.mod,this.size)}},Fp=0;wn=class{constructor(t,r,n,o,l){this.orbitnames=t;this.orbitdefs=r;this.solved=n;this.movenames=o;this.moveops=l}transformToKTransformationData(t){let r={};for(let n=0;n<this.orbitnames.length;n++)r[this.orbitnames[n]]=t.orbits[n].toKPuzzle();return r}static transformToKTransformationData(t,r){let n={};for(let o=0;o<t.length;o++)n[t[o]]=r.orbits[o].toKPuzzle();return n}toKsolve(t,r=new bn){let n=[];n.push(\\\"Name \\\"+t),n.push(\\\"\\\");for(let o=0;o<this.orbitnames.length;o++)n.push(`Set ${this.orbitnames[o]} ${this.orbitdefs[o].size} ${this.orbitdefs[o].mod}`);n.push(\\\"\\\"),n.push(\\\"Solved\\\");for(let o=0;o<this.orbitnames.length;o++)this.solved.orbits[o].appendDefinition(n,this.orbitnames[o],!1,!1);n.push(\\\"End\\\");for(let o=0;o<this.movenames.length;o++){n.push(\\\"\\\");let l=_a(r,this.movenames[o]),i=!1;l[l.length-1]===\\\"'\\\"&&(i=!0,l=l.substring(0,l.length-1)),n.push(\\\"Move \\\"+l);for(let a=0;a<this.orbitnames.length;a++)i?this.moveops[o].orbits[a].inv().appendDefinition(n,this.orbitnames[a],!0):this.moveops[o].orbits[a].appendDefinition(n,this.orbitnames[a],!0);n.push(\\\"End\\\")}return n}toKPuzzleDefinition(t){let r={},n={};for(let l=0;l<this.orbitnames.length;l++){r[this.orbitnames[l]]={numPieces:this.orbitdefs[l].size,numOrientations:this.orbitdefs[l].mod};let i=this.solved.orbits[l].toKPuzzle();n[this.orbitnames[l]]={pieces:i.permutation,orientation:i.orientation}}let o={};if(t)for(let l=0;l<this.movenames.length;l++)o[this.movenames[l]]=this.transformToKTransformationData(this.moveops[l]);return{name:`PG3D #${++Fp}`,orbits:r,startStateData:n,moves:o}}optimize(){let t=[],r=[],n=[],o=[];for(let l=0;l<this.moveops.length;l++)o.push([]);for(let l=0;l<this.orbitdefs.length;l++){let i=this.orbitdefs[l].mod,a=this.orbitdefs[l].size,f=new Pa(a),s=new Array(this.orbitdefs[l].size);for(let p=0;p<a;p++)s[p]=!1;for(let p=0;p<this.moveops.length;p++)for(let g=0;g<a;g++)(this.moveops[p].orbits[l].perm[g]!==g||this.moveops[p].orbits[l].ori[g]!==0)&&(s[g]=!0,f.union(g,this.moveops[p].orbits[l].perm[g]));let c=!0;if(i>1){c=!1;let p=new Pa(this.orbitdefs[l].size*i);for(let g=0;g<this.moveops.length;g++)for(let d=0;d<a;d++)if(this.moveops[g].orbits[l].perm[d]!==d||this.moveops[g].orbits[l].ori[d]!==0)for(let L=0;L<i;L++)p.union(d*i+L,this.moveops[g].orbits[l].perm[d]*i+(L+this.moveops[g].orbits[l].ori[d])%i);for(let g=0;!c&&g<a;g++)for(let d=1;d<i;d++)p.find(g*i)===p.find(g*i+d)&&(c=!0);for(let g=0;!c&&g<a;g++)for(let d=0;d<g;d++)this.solved.orbits[l].perm[g]===this.solved.orbits[l].perm[d]&&(c=!0)}let m=-1,u=!1;for(let p=0;p<this.orbitdefs[l].size;p++)if(s[p]){let g=f.find(p);m<0?m=g:m!==g&&(u=!0)}for(let p=0;p<this.orbitdefs[l].size;p++){if(!s[p]||f.find(p)!==p)continue;let d=[],L=[],D=0;for(let F=0;F<this.orbitdefs[l].size;F++)f.find(F)===p&&(d[D]=F,L[F]=D,D++);if(u?t.push(`${this.orbitnames[l]}_p${p}`):t.push(this.orbitnames[l]),c){r.push(new vo(D,this.orbitdefs[l].mod)),n.push(this.solved.orbits[l].remapVS(d,D));for(let F=0;F<this.moveops.length;F++)o[F].push(this.moveops[F].orbits[l].remap(d,L,D))}else{r.push(new vo(D,1)),n.push(this.solved.orbits[l].remapVS(d,D).killOri());for(let F=0;F<this.moveops.length;F++)o[F].push(this.moveops[F].orbits[l].remap(d,L,D).killOri())}}}return new wn(t,r,new xn(n),this.movenames,o.map(l=>new fr(l)))}scramble(t){this.solved=this.solved.mul(this.getScrambleTransformation(t))}getScrambleTransformation(t){t<100&&(t=100);let r=[];for(let o=0;o<this.moveops.length;o++)r[o]=this.moveops[o];for(let o=0;o<r.length;o++){let l=Math.floor(Math.random()*r.length),i=r[o];r[o]=r[l],r[l]=i}t<r.length&&(t=r.length);for(let o=0;o<t;o++){let l=Math.floor(Math.random()*r.length),i=Math.floor(Math.random()*r.length),a=Math.floor(Math.random()*this.moveops.length);r[l]=r[l].mul(r[i]).mul(this.moveops[a]),Math.random()<.1&&(r[l]=r[l].mul(this.moveops[a]))}let n=r[0];for(let o=1;o<r.length;o++)n=n.mul(r[o]);return n}reassemblySize(){let t=1;for(let r=0;r<this.orbitdefs.length;r++)t*=this.orbitdefs[r].reassemblySize();return t}},Bt=class{constructor(t,r,n){this.perm=t;this.ori=r;this.orimod=n}static e(t,r){return new Bt(Ct(t),sr(t),r)}mul(t){let r=this.perm.length,n=new Array(r);if(this.orimod===1){for(let o=0;o<r;o++)n[o]=this.perm[t.perm[o]];return new Bt(n,this.ori,this.orimod)}else{let o=new Array(r);for(let l=0;l<r;l++)n[l]=this.perm[t.perm[l]],o[l]=(this.ori[t.perm[l]]+t.ori[l])%this.orimod;return new Bt(n,o,this.orimod)}}inv(){let t=this.perm.length,r=new Array(t),n=new Array(t);for(let o=0;o<t;o++)r[this.perm[o]]=o,n[this.perm[o]]=(this.orimod-this.ori[o])%this.orimod;return new Bt(r,n,this.orimod)}equal(t){let r=this.perm.length;for(let n=0;n<r;n++)if(this.perm[n]!==t.perm[n]||this.ori[n]!==t.ori[n])return!1;return!0}killOri(){let t=this.perm.length;for(let r=0;r<t;r++)this.ori[r]=0;return this.orimod=1,this}toPerm(){let t=this.orimod;if(t===1)return new gt(this.perm);let r=this.perm.length,n=new Array(r*t);for(let o=0;o<r;o++)for(let l=0;l<t;l++)n[o*t+l]=t*this.perm[o]+(this.ori[o]+l)%t;return new gt(n)}identicalPieces(){let t=[],r=this.perm.length,n=[];for(let o=0;o<r;o++){let l=this.perm[o];if(t[l]===void 0){let i=[o];t[l]=!0;for(let a=o+1;a<r;a++)this.perm[a]===l&&i.push(a);n.push(i)}}return n}order(){return this.toPerm().order()}isIdentity(){let t=this.perm.length;if(this.perm===Ct(t)&&this.ori===sr(t))return!0;for(let r=0;r<t;r++)if(this.perm[r]!==r||this.ori[r]!==0)return!1;return!0}zeroOris(){let t=this.perm.length;if(this.ori===sr(t))return!0;for(let r=0;r<t;r++)if(this.ori[r]!==0)return!1;return!0}remap(t,r,n){let o=new Array(n),l=new Array(n);for(let i=0;i<n;i++)o[i]=r[this.perm[t[i]]],l[i]=this.ori[t[i]];return new Bt(o,l,this.orimod)}remapVS(t,r){let n=new Array(r),o=new Array(r),l=0,i=[];for(let a=0;a<r;a++){let f=this.perm[t[a]];i[f]===void 0&&(i[f]=l++),n[a]=i[f],o[a]=this.ori[t[a]]}return new Bt(n,o,this.orimod)}appendDefinition(t,r,n,o=!0){if(!(o&&this.isIdentity())&&(t.push(r),t.push(this.perm.map(l=>l+1).join(\\\" \\\")),!this.zeroOris()))if(n){let l=new Array(this.ori.length);for(let i=0;i<l.length;i++)l[this.perm[i]]=this.ori[i];t.push(l.join(\\\" \\\"))}else t.push(this.ori.join(\\\" \\\"))}toKPuzzle(){let t=this.perm.length;return this.isIdentity()?(Bt.kcache[t]||(Bt.kcache[t]={permutation:Ct(t),orientation:sr(t)}),Bt.kcache[t]):{permutation:this.perm,orientation:this.ori}}},jt=Bt;jt.kcache=[];Ca=class{constructor(t){this.orbits=t}internalMul(t){let r=[];for(let n=0;n<this.orbits.length;n++)r.push(this.orbits[n].mul(t.orbits[n]));return r}internalInv(){let t=[];for(let r of this.orbits)t.push(r.inv());return t}equal(t){for(let r=0;r<this.orbits.length;r++)if(!this.orbits[r].equal(t.orbits[r]))return!1;return!0}killOri(){for(let t of this.orbits)t.killOri();return this}toPerm(){let t=new Array,r=0;for(let o of this.orbits){let l=o.toPerm();t.push(l),r+=l.n}let n=new Array(r);r=0;for(let o of t){for(let l=0;l<o.n;l++)n[r+l]=r+o.p[l];r+=o.n}return new gt(n)}identicalPieces(){let t=[],r=0;for(let n of this.orbits){let o=n.orimod,l=n.identicalPieces();for(let i=0;i<l.length;i++)t.push(l[i].map(a=>a*o+r));r+=o*n.perm.length}return t}order(){let t=1;for(let r of this.orbits)t=za(t,r.order());return t}},fr=class extends Ca{constructor(t){super(t)}mul(t){return new fr(this.internalMul(t))}mulScalar(t){if(t===0)return this.e();let r=this;for(t<0&&(r=r.inv(),t=-t);(t&1)==0;)r=r.mul(r),t>>=1;if(t===1)return r;let n=r,o=this.e();for(;t>0;)t&1&&(o=o.mul(n)),t>1&&(n=n.mul(n)),t>>=1;return o}inv(){return new fr(this.internalInv())}e(){return new fr(this.orbits.map(t=>jt.e(t.perm.length,t.orimod)))}},xn=class extends Ca{constructor(t){super(t)}mul(t){return new xn(this.internalMul(t))}},Pa=class{constructor(t){this.n=t;this.heads=new Array(t);for(let r=0;r<t;r++)this.heads[r]=r}find(t){let r=this.heads[t];return this.heads[r]===r||(r=this.find(this.heads[r]),this.heads[t]=r),r}union(t,r){let n=this.find(t),o=this.find(r);n<o?this.heads[o]=n:n>o&&(this.heads[n]=o)}}});var Pl,T2=w(()=>{Pl={\\\"2x2x2\\\":\\\"c f 0\\\",\\\"3x3x3\\\":\\\"c f 0.333333333333333\\\",\\\"4x4x4\\\":\\\"c f 0.5 f 0\\\",\\\"5x5x5\\\":\\\"c f 0.6 f 0.2\\\",\\\"6x6x6\\\":\\\"c f 0.666666666666667 f 0.333333333333333 f 0\\\",\\\"7x7x7\\\":\\\"c f 0.714285714285714 f 0.428571428571429 f 0.142857142857143\\\",\\\"8x8x8\\\":\\\"c f 0.75 f 0.5 f 0.25 f 0\\\",\\\"9x9x9\\\":\\\"c f 0.777777777777778 f 0.555555555555556 f 0.333333333333333 f 0.111111111111111\\\",\\\"10x10x10\\\":\\\"c f 0.8 f 0.6 f 0.4 f 0.2 f 0\\\",\\\"11x11x11\\\":\\\"c f 0.818181818181818 f 0.636363636363636 f 0.454545454545455 f 0.272727272727273 f 0.0909090909090909\\\",\\\"12x12x12\\\":\\\"c f 0.833333333333333 f 0.666666666666667 f 0.5 f 0.333333333333333 f 0.166666666666667 f 0\\\",\\\"13x13x13\\\":\\\"c f 0.846153846153846 f 0.692307692307692 f 0.538461538461538 f 0.384615384615385 f 0.230769230769231 f 0.0769230769230769\\\",\\\"20x20x20\\\":\\\"c f 0 f .1 f .2 f .3 f .4 f .5 f .6 f .7 f .8 f .9\\\",\\\"30x30x30\\\":\\\"c f 0 f .066667 f .133333 f .2 f .266667 f .333333 f .4 f .466667 f .533333 f .6 f .666667 f .733333 f .8 f .866667 f .933333\\\",\\\"40x40x40\\\":\\\"c f 0 f .05 f .1 f .15 f .2 f .25 f .3 f .35 f .4 f .45 f .5 f .55 f .6 f .65 f .7 f .75 f .8 f .85 f .9 f .95\\\",skewb:\\\"c v 0\\\",\\\"master skewb\\\":\\\"c v 0.275\\\",\\\"professor skewb\\\":\\\"c v 0 v 0.38\\\",\\\"compy cube\\\":\\\"c v 0.915641442663986\\\",helicopter:\\\"c e 0.707106781186547\\\",\\\"curvy copter\\\":\\\"c e 0.83\\\",dino:\\\"c v 0.577350269189626\\\",\\\"little chop\\\":\\\"c e 0\\\",pyramorphix:\\\"t e 0\\\",mastermorphix:\\\"t e 0.346184634065199\\\",pyraminx:\\\"t v 0.333333333333333 v 1.66666666666667\\\",tetraminx:\\\"t v 0.333333333333333\\\",\\\"master pyraminx\\\":\\\"t v 0 v 1 v 2\\\",\\\"master tetraminx\\\":\\\"t v 0 v 1\\\",\\\"professor pyraminx\\\":\\\"t v -0.2 v 0.6 v 1.4 v 2.2\\\",\\\"professor tetraminx\\\":\\\"t v -0.2 v 0.6 v 1.4\\\",\\\"Jing pyraminx\\\":\\\"t f 0\\\",\\\"master pyramorphix\\\":\\\"t e 0.866025403784437\\\",megaminx:\\\"d f 0.7\\\",gigaminx:\\\"d f 0.64 f 0.82\\\",teraminx:\\\"d f 0.64 f 0.76 f 0.88\\\",petaminx:\\\"d f 0.64 f 0.73 f 0.82 f 0.91\\\",examinx:\\\"d f 0.64 f 0.712 f 0.784 f 0.856 f 0.928\\\",zetaminx:\\\"d f 0.64 f 0.7 f 0.76 f 0.82 f 0.88 f 0.94\\\",yottaminx:\\\"d f 0.64 f 0.6914 f 0.7429 f 0.7943 f 0.8457 f 0.8971 f 0.9486\\\",pentultimate:\\\"d f 0\\\",\\\"master pentultimate\\\":\\\"d f 0.1\\\",\\\"elite pentultimate\\\":\\\"d f 0 f 0.145905\\\",starminx:\\\"d v 0.937962370425399\\\",\\\"starminx 2\\\":\\\"d f 0.23606797749979\\\",\\\"pyraminx crystal\\\":\\\"d f 0.447213595499989\\\",chopasaurus:\\\"d v 0\\\",\\\"big chop\\\":\\\"d e 0\\\",\\\"skewb diamond\\\":\\\"o f 0\\\",FTO:\\\"o f 0.333333333333333\\\",\\\"master FTO\\\":\\\"o f 0.5 f 0\\\",\\\"Christopher's jewel\\\":\\\"o v 0.577350269189626\\\",octastar:\\\"o e 0\\\",\\\"Trajber's octahedron\\\":\\\"o v 0.433012701892219\\\",\\\"radio chop\\\":\\\"i f 0\\\",icosamate:\\\"i v 0\\\",\\\"icosahedron 2\\\":\\\"i v 0.18759247376021\\\",\\\"icosahedron 3\\\":\\\"i v 0.18759247376021 e 0\\\",\\\"icosahedron static faces\\\":\\\"i v 0.84\\\",\\\"icosahedron moving faces\\\":\\\"i v 0.73\\\",\\\"Eitan's star\\\":\\\"i f 0.61803398874989\\\",\\\"2x2x2 + dino\\\":\\\"c f 0 v 0.577350269189626\\\",\\\"2x2x2 + little chop\\\":\\\"c f 0 e 0\\\",\\\"dino + little chop\\\":\\\"c v 0.577350269189626 e 0\\\",\\\"2x2x2 + dino + little chop\\\":\\\"c f 0 v 0.577350269189626 e 0\\\",\\\"megaminx + chopasaurus\\\":\\\"d f 0.61803398875 v 0\\\",\\\"starminx combo\\\":\\\"d f 0.23606797749979 v 0.937962370425399\\\"}});function Ml(e){let t=new O(0,0,0,0);for(let r=0;r<e.length;r++)t=t.sum(e[r]);return t.smul(1/e.length)}function I2(e,t,r,n){let o=n[e].intersect3(n[t],n[r]);if(!o)return o;for(let l=0;l<n.length;l++)if(l!==e&&l!==t&&l!==r){let i=n[l].b*o.b+n[l].c*o.c+n[l].d*o.d;if(n[l].a>0&&i>n[l].a||n[l].a<0&&i<n[l].a)return!1}return o}var Tr,O,Gl=w(()=>{Tr=1e-9;O=class{constructor(t,r,n,o){this.a=t;this.b=r;this.c=n;this.d=o}mul(t){return new O(this.a*t.a-this.b*t.b-this.c*t.c-this.d*t.d,this.a*t.b+this.b*t.a+this.c*t.d-this.d*t.c,this.a*t.c-this.b*t.d+this.c*t.a+this.d*t.b,this.a*t.d+this.b*t.c-this.c*t.b+this.d*t.a)}toString(){return`Q[${this.a},${this.b},${this.c},${this.d}]`}dist(t){return Math.hypot(this.a-t.a,this.b-t.b,this.c-t.c,this.d-t.d)}len(){return Math.hypot(this.a,this.b,this.c,this.d)}cross(t){return new O(0,this.c*t.d-this.d*t.c,this.d*t.b-this.b*t.d,this.b*t.c-this.c*t.b)}dot(t){return this.b*t.b+this.c*t.c+this.d*t.d}normalize(){let t=Math.sqrt(this.dot(this));return new O(this.a/t,this.b/t,this.c/t,this.d/t)}makenormal(){return new O(0,this.b,this.c,this.d).normalize()}normalizeplane(){let t=Math.hypot(this.b,this.c,this.d);return new O(this.a/t,this.b/t,this.c/t,this.d/t)}smul(t){return new O(this.a*t,this.b*t,this.c*t,this.d*t)}sum(t){return new O(this.a+t.a,this.b+t.b,this.c+t.c,this.d+t.d)}sub(t){return new O(this.a-t.a,this.b-t.b,this.c-t.c,this.d-t.d)}angle(){return 2*Math.acos(this.a)}invrot(){return new O(this.a,-this.b,-this.c,-this.d)}det3x3(t,r,n,o,l,i,a,f,s){return t*(l*s-i*f)+r*(i*a-o*s)+n*(o*f-l*a)}rotateplane(t){let r=t.mul(new O(0,this.b,this.c,this.d)).mul(t.invrot());return r.a=this.a,r}orthogonal(){let t=Math.abs(this.b),r=Math.abs(this.c),n=Math.abs(this.d);return t<r&&t<n?this.cross(new O(0,1,0,0)).normalize():r<t&&r<n?this.cross(new O(0,0,1,0)).normalize():this.cross(new O(0,0,0,1)).normalize()}pointrotation(t){let r=this.normalize();if(t=t.normalize(),r.sub(t).len()<Tr)return new O(1,0,0,0);let n=r.sum(t);n.len()<Tr?n=n.orthogonal():n=n.normalize();let o=r.cross(n);return o.a=r.dot(n),o}unproject(t){return this.sum(t.smul(-this.dot(t)/(this.len()*t.len())))}rotatepoint(t){return t.mul(this).mul(t.invrot())}rotateface(t){return t.map(r=>r.rotatepoint(this))}intersect3(t,r){let n=this.det3x3(this.b,this.c,this.d,t.b,t.c,t.d,r.b,r.c,r.d);return Math.abs(n)<Tr?!1:new O(0,this.det3x3(this.a,this.c,this.d,t.a,t.c,t.d,r.a,r.c,r.d)/n,this.det3x3(this.b,this.a,this.d,t.b,t.a,t.d,r.b,r.a,r.d)/n,this.det3x3(this.b,this.c,this.a,t.b,t.c,t.a,r.b,r.c,r.a)/n)}side(t){return t>Tr?1:t<-Tr?-1:0}cutface(t){let r=this.a,n=0,o=null;for(let l=0;l<t.length;l++)n|=1<<this.side(t[l].dot(this)-r)+1;if((n&5)==5){o=[];let l=t.map(i=>this.side(i.dot(this)-r));for(let i=-1;i<=1;i+=2){let a=[];for(let f=0;f<t.length;f++){(l[f]===i||l[f]===0)&&a.push(t[f]);let s=(f+1)%t.length;if(l[f]+l[s]===0&&l[f]!==0){let c=t[f].dot(this)-r,m=t[s].dot(this)-r,u=c/(c-m),p=t[f].smul(1-u).sum(t[s].smul(u));a.push(p)}}o.push(a)}}return o}cutfaces(t){let r=[];for(let n=0;n<t.length;n++){let o=t[n],l=this.cutface(o);l?(r.push(l[0]),r.push(l[1])):r.push(o)}return r}faceside(t){let r=this.a;for(let n=0;n<t.length;n++){let o=this.side(t[n].dot(this)-r);if(o!==0)return o}throw new Error(\\\"Could not determine side of plane in faceside\\\")}sameplane(t){let r=this.normalize(),n=t.normalize();return r.dist(n)<Tr||r.dist(n.smul(-1))<Tr}makecut(t){return new O(t,this.b,this.c,this.d)}}});function N2(){let e=Math.sqrt(.5);return[new O(e,e,0,0),new O(e,0,e,0)]}function O2(){return[new O(.5,.5,.5,.5),new O(.5,.5,.5,-.5)]}function W2(){let e=2*Math.PI/10,t=.5+.3*Math.sqrt(5),r=.5+.1*Math.sqrt(5),n=Math.sqrt(t*t+r*r);return t/=n,r/=n,[new O(Math.cos(e),t*Math.sin(e),r*Math.sin(e),0),new O(.5,.5,.5,.5)]}function K2(){let e=1/6+Math.sqrt(5)/6,t=2/3+Math.sqrt(5)/3,r=Math.sqrt(e*e+t*t);e/=r,t/=r;let n=2*Math.PI/6;return[new O(Math.cos(n),e*Math.sin(n),t*Math.sin(n),0),new O(Math.cos(n),-e*Math.sin(n),t*Math.sin(n),0)]}function Q2(){let e=Math.sqrt(.5);return[new O(.5,.5,.5,.5),new O(e,0,0,e)]}function j2(e){let t=[new O(1,0,0,0)];for(let r=0;r<t.length;r++)for(let n=0;n<e.length;n++){let o=e[n].mul(t[r]),l=o.smul(-1),i=!1;for(let a=0;a<t.length;a++)if(o.dist(t[a])<Tl||l.dist(t[a])<Tl){i=!0;break}i||t.push(o)}return t}function Ma(e,t){let r=[],n=[];for(let o=0;o<t.length;o++){let l=e.rotateplane(t[o]),i=!1;for(let a=0;a<r.length;a++)if(l.dist(r[a])<Tl){i=!0;break}i||(r.push(l),n.push(t[o]))}return n}function Ga(e){let t=[];for(let r=1;r<e.length;r++)for(let n=r+1;n<e.length;n++){let o=I2(0,r,n,e);if(o){let l=!1;for(let i=0;i<t.length;i++)if(o.dist(t[i])<Tl){l=!0;break}l||t.push(o)}}for(;;){let r=!1;for(let n=0;n<t.length;n++){let o=(n+1)%t.length;if(e[0].dot(t[n].cross(t[o]))<0){let l=t[n];t[n]=t[o],t[o]=l,r=!0}}if(!r)break}return t}var Tl,q2=w(()=>{Gl();Tl=1e-9});function Il(e,t){let r=e[0].p.length,n=C2(r),o=[],l=[],i=[],a=[],f=[];function s(p){for(let g=p.p.length-1;g>=0;g--){let d=p.p[g];if(d!==g){if(!o[g][d])return!1;p=p.mul(l[g][d])}}return!0}function c(p,g,d){a[p].push(g),f[p].push(d);for(let L=0;L<o[p].length;L++)o[p][L]&&m(p,o[p][L].mul(g),d+i[p][L])}function m(p,g,d){let L=g.p[p];if(!o[p][L]){o[p][L]=g,l[p][L]=g.inv(),i[p][L]=d;for(let F=0;F<a[p].length;F++)m(p,g.mul(a[p][F]),d+f[p][F]);return}let D=g.mul(l[p][L]);s(D)||c(p-1,D,d+i[p][L])}function u(){o=[],l=[],a=[],i=[],f=[];for(let d=0;d<r;d++)o.push([]),l.push([]),i.push([]),a.push([]),f.push([]),o[d][d]=n,l[d][d]=n,i[d][d]=0;let p=0,g=1;for(let d=0;d<e.length;d++){c(r-1,e[d],1),g=1;let L=0,D=0,F=[],B=new V2;for(let k=0;k<r;k++){let E=0,Q=0;for(let G=0;G<r;G++)o[k][G]&&(E++,Q+=i[k][G],k!==G&&p++);L+=a[k].length,g*=E,E>1&&B.multiply(E);let $=Q/E;F.push($),D+=$}t(`${d}: sz ${g} T ${L} sol ${D} none ${p} mults ${B.toString()}`)}return g}return u()}var V2,Ta=w(()=>{Cl();V2=class{constructor(){this.mult=[]}multiply(t){for(let r=2;r*r<=t;r++)for(;t%r==0;)this.mult[r]!==void 0?this.mult[r]++:this.mult[r]=1,t/=r;t>1&&(this.mult[t]!==void 0?this.mult[t]++:this.mult[t]=1)}toString(){let t=\\\"\\\";for(let r=0;r<this.mult.length;r++)this.mult[r]!==void 0&&(t!==\\\"\\\"&&(t+=\\\"*\\\"),t+=r,this.mult[r]>1&&(t+=`^${this.mult[r]}`));return t}}});function Ia(e){return e}function Na(e){}function Bp(e,t){let r=[];for(let n of e)for(let o of t)r.push(o.rotate(n));return r}function xp(){return{4:[[\\\"F\\\",\\\"D\\\",\\\"L\\\",\\\"R\\\"]],6:[[\\\"F\\\",\\\"D\\\",\\\"L\\\",\\\"U\\\",\\\"R\\\"],[\\\"R\\\",\\\"F\\\",\\\"\\\",\\\"B\\\",\\\"\\\"]],8:[[\\\"F\\\",\\\"D\\\",\\\"L\\\",\\\"R\\\"],[\\\"D\\\",\\\"F\\\",\\\"BR\\\",\\\"\\\"],[\\\"BR\\\",\\\"D\\\",\\\"\\\",\\\"BB\\\"],[\\\"BB\\\",\\\"BR\\\",\\\"U\\\",\\\"BL\\\"]],12:[[\\\"U\\\",\\\"F\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\"],[\\\"F\\\",\\\"U\\\",\\\"R\\\",\\\"C\\\",\\\"A\\\",\\\"L\\\"],[\\\"R\\\",\\\"F\\\",\\\"\\\",\\\"\\\",\\\"E\\\",\\\"\\\"],[\\\"E\\\",\\\"R\\\",\\\"\\\",\\\"BF\\\",\\\"\\\",\\\"\\\"],[\\\"BF\\\",\\\"E\\\",\\\"BR\\\",\\\"BL\\\",\\\"I\\\",\\\"D\\\"]],20:[[\\\"R\\\",\\\"C\\\",\\\"F\\\",\\\"E\\\"],[\\\"F\\\",\\\"R\\\",\\\"L\\\",\\\"U\\\"],[\\\"L\\\",\\\"F\\\",\\\"A\\\",\\\"\\\"],[\\\"E\\\",\\\"R\\\",\\\"G\\\",\\\"I\\\"],[\\\"I\\\",\\\"E\\\",\\\"S\\\",\\\"H\\\"],[\\\"S\\\",\\\"I\\\",\\\"J\\\",\\\"B\\\"],[\\\"B\\\",\\\"S\\\",\\\"K\\\",\\\"D\\\"],[\\\"K\\\",\\\"B\\\",\\\"M\\\",\\\"O\\\"],[\\\"O\\\",\\\"K\\\",\\\"P\\\",\\\"N\\\"],[\\\"P\\\",\\\"O\\\",\\\"Q\\\",\\\"\\\"]]}}function Sp(){return{4:{F:\\\"#00ff00\\\",D:\\\"#ffff00\\\",L:\\\"#ff0000\\\",R:\\\"#0000ff\\\"},6:{U:\\\"#ffffff\\\",F:\\\"#00ff00\\\",R:\\\"#ff0000\\\",D:\\\"#ffff00\\\",B:\\\"#0000ff\\\",L:\\\"#ff8000\\\"},8:{U:\\\"#ffffff\\\",F:\\\"#ff0000\\\",R:\\\"#00bb00\\\",D:\\\"#ffff00\\\",BB:\\\"#1122ff\\\",L:\\\"#9524c5\\\",BL:\\\"#ff8800\\\",BR:\\\"#aaaaaa\\\"},12:{U:\\\"#ffffff\\\",F:\\\"#006633\\\",R:\\\"#ff0000\\\",C:\\\"#ffffd0\\\",A:\\\"#3399ff\\\",L:\\\"#660099\\\",E:\\\"#ff66cc\\\",BF:\\\"#99ff00\\\",BR:\\\"#0000ff\\\",BL:\\\"#ffff00\\\",I:\\\"#ff6633\\\",D:\\\"#999999\\\"},20:{R:\\\"#db69f0\\\",C:\\\"#178fde\\\",F:\\\"#23238b\\\",E:\\\"#9cc726\\\",L:\\\"#2c212d\\\",U:\\\"#177fa7\\\",A:\\\"#e0de7f\\\",G:\\\"#2b57c0\\\",I:\\\"#41126b\\\",S:\\\"#4b8c28\\\",H:\\\"#7c098d\\\",J:\\\"#7fe7b4\\\",B:\\\"#85fb74\\\",K:\\\"#3f4bc3\\\",D:\\\"#0ff555\\\",M:\\\"#f1c2c8\\\",O:\\\"#58d340\\\",P:\\\"#c514f2\\\",N:\\\"#14494e\\\",Q:\\\"#8b1be1\\\"}}}function vp(){return{4:[\\\"F\\\",\\\"D\\\",\\\"L\\\",\\\"R\\\"],6:[\\\"U\\\",\\\"D\\\",\\\"F\\\",\\\"B\\\",\\\"L\\\",\\\"R\\\"],8:[\\\"F\\\",\\\"BB\\\",\\\"D\\\",\\\"U\\\",\\\"BR\\\",\\\"L\\\",\\\"R\\\",\\\"BL\\\"],12:[\\\"L\\\",\\\"E\\\",\\\"F\\\",\\\"BF\\\",\\\"R\\\",\\\"I\\\",\\\"U\\\",\\\"D\\\",\\\"BR\\\",\\\"A\\\",\\\"BL\\\",\\\"C\\\"],20:[\\\"L\\\",\\\"S\\\",\\\"E\\\",\\\"O\\\",\\\"F\\\",\\\"B\\\",\\\"I\\\",\\\"P\\\",\\\"R\\\",\\\"K\\\",\\\"U\\\",\\\"D\\\",\\\"J\\\",\\\"A\\\",\\\"Q\\\",\\\"H\\\",\\\"G\\\",\\\"N\\\",\\\"M\\\",\\\"C\\\"]}}function Up(){return{4:[[\\\"FLR\\\",[0,1,0]],[\\\"F\\\",[0,0,1]]],6:[[\\\"U\\\",[0,1,0]],[\\\"F\\\",[0,0,1]]],8:[[\\\"U\\\",[0,1,0]],[\\\"F\\\",[0,0,1]]],12:[[\\\"U\\\",[0,1,0]],[\\\"F\\\",[0,0,1]]],20:[[\\\"GUQMJ\\\",[0,1,0]],[\\\"F\\\",[0,0,1]]]}}function Nl(e,t){for(let r=0;r<e.length;r++)if(e[r][0].dist(t)<xe)return r;throw new Error(\\\"Element not found\\\")}function H2(){return Pl}function Y2(e){return Pl[e]}function So(e){let t=e.split(/ /).filter(Boolean);if(t.length%2==0)return null;let r=t[0];if(r!==\\\"o\\\"&&r!==\\\"c\\\"&&r!==\\\"i\\\"&&r!==\\\"d\\\"&&r!==\\\"t\\\")return null;let n=[];for(let o=1;o<t.length;o+=2){if(t[o]!==\\\"f\\\"&&t[o]!==\\\"v\\\"&&t[o]!==\\\"e\\\")return null;n.push({cutType:t[o],distance:parseFloat(t[o+1])})}return{shape:r,cuts:n}}function Oa(e,t={}){let r=So(e);if(r===null)throw new Error(\\\"Could not parse the puzzle description\\\");let n=new Wl(r,Object.assign({},{allMoves:!0},t));return n.allstickers(),n.genperms(),n}function vn(e,t){return Oa(Pl[e],t)}function Ep(e,t,r){let n=!1;r-t[1]<t[0]&&(e=[e[2],e[3],e[0],e[1]],t=[r-t[1],r-t[0]],n=!0);let o=e[0],l=\\\"\\\";if(t[0]===0&&t[1]===r)o=o+\\\"v\\\";else if(t[0]===t[1])t[1]>0&&(l=String(t[1]+1));else if(t[0]===0)o=o.toLowerCase(),t[1]>1&&(l=String(t[1]+1));else throw`We only support slice and outer block moves right now. ${t}`;return[l+o,n]}function kp(e,t){let r=[],n=0;for(;n<e.length;){n>0&&n<e.length&&e[n]===\\\"_\\\"&&n++;let o=\\\"\\\";for(let l of t)e.substr(n).startsWith(l[1])&&l[1].length>o.length&&(o=l[1]);if(o!==\\\"\\\")r.push(o),n+=o.length;else throw new Error(\\\"Could not split \\\"+e+\\\" into face names.\\\")}return r}function Ol(e,t){return[e.b/t,-e.c/t,e.d/t]}function Wa(e,t){let r=[],n=e.length;for(let o=0;o<n;o++){let l=Ol(e.get(n-o-1),t);r[3*o]=l[0],r[3*o+1]=l[1],r[3*o+2]=l[2]}return r}var Sn,Uo,xe,bp,wp,Wl,Ir,_l=w(()=>{Le();A2();Sa();Ua();Cl();G2();T2();q2();Gl();Ta();Sn=class{constructor(t){this.coords=new Array(t.length*3);for(let r=0;r<t.length;r++)this.coords[3*r]=t[r].b,this.coords[3*r+1]=t[r].c,this.coords[3*r+2]=t[r].d;this.length=t.length}get(t){return new O(0,this.coords[3*t],this.coords[3*t+1],this.coords[3*t+2])}centermass(){let t=0,r=0,n=0;for(let o=0;o<this.length;o++)t+=this.coords[3*o],r+=this.coords[3*o+1],n+=this.coords[3*o+2];return new O(0,t/this.length,r/this.length,n/this.length)}rotate(t){let r=[];for(let n=0;n<this.length;n++)r.push(this.get(n).rotatepoint(t));return new Sn(r)}rotateforward(){let t=[];for(let r=1;r<this.length;r++)t.push(this.get(r));return t.push(this.get(0)),new Sn(t)}},Uo=class{constructor(t,r,n){this.face=t;this.left=r;this.right=n}split(t){let r=t.cutface(this.face);return r!==null&&(this.left===void 0?(this.left=new Uo(r[0]),this.right=new Uo(r[1])):(this.left=this.left?.split(t),this.right=this.right?.split(t))),this}collect(t,r){return this.left===void 0?t.push(new Sn(this.face)):r?(this.left?.collect(t,!1),this.right?.collect(t,!0)):(this.right?.collect(t,!1),this.left?.collect(t,!0)),t}};xe=1e-9,bp=\\\"PuzzleGeometry 0.1 Copyright 2018 Tomas Rokicki.\\\",wp=!1;Wl=class{constructor(t,r){this.puzzleDescription=t;this.cmovesbyslice=[];this.duplicatedFaces=[];this.duplicatedCubies=[];this.fixedCubie=-1;this.net=[];this.colors=[];this.faceorder=[];this.faceprecedence=[];this.notationMapper=new bn;this.addNotationMapper=\\\"\\\";this.setReidOrder=!1;let n=Ia(\\\"genperms\\\");this.options=new va(r),this.options.verbosity>0&&console.log(this.header(\\\"# \\\")),this.create(t),Na(n)}create(t){let{shape:r,cuts:n}=t;this.moveplanes=[],this.moveplanes2=[],this.faces=[],this.cubies=[];let o=null;switch(r){case\\\"c\\\":o=N2();break;case\\\"o\\\":o=Q2();break;case\\\"i\\\":o=K2();break;case\\\"t\\\":o=O2();break;case\\\"d\\\":o=W2();break;default:throw new Error(\\\"Bad shape argument: \\\"+r)}this.rotations=j2(o),this.options.verbosity&&console.log(\\\"# Rotations: \\\"+this.rotations.length);let l=o[0];this.baseplanerot=Ma(l,this.rotations);let i=this.baseplanerot.map(R=>l.rotateplane(R));this.baseplanes=i,this.baseFaceCount=i.length;let a=xp()[i.length];this.net=a,this.colors=Sp()[i.length],this.faceorder=vp()[i.length],this.options.verbosity>0&&console.log(\\\"# Base planes: \\\"+i.length);let f=Ga(i),s=new O(0,0,0,0);this.options.verbosity>0&&console.log(\\\"# Face vertices: \\\"+f.length);let c=i[0].makenormal(),m=f[0].sum(f[1]).makenormal(),u=f[0].makenormal(),p=new O(1,c.b,c.c,c.d);this.options.verbosity>0&&console.log(\\\"# Boundary is \\\"+p);let d=Ma(p,this.rotations).map(R=>p.rotateplane(R)),L=Ga(d);this.edgedistance=L[0].sum(L[1]).smul(.5).dist(s),this.vertexdistance=L[0].dist(s);let D=[],F=[],B=!1,k=!1,E=!1;for(let R of n){let U=null,I=0;switch(R.cutType){case\\\"f\\\":U=c,I=1,B=!0;break;case\\\"v\\\":U=u,I=this.vertexdistance,E=!0;break;case\\\"e\\\":U=m,I=this.edgedistance,k=!0;break;default:throw new Error(\\\"Bad cut argument: \\\"+R.cutType)}D.push(U.makecut(R.distance)),F.push(R.distance<I)}this.options.addRotations&&(B||D.push(c.makecut(10)),E||D.push(u.makecut(10)),k||D.push(m.makecut(10))),this.basefaces=[];for(let R of this.baseplanerot){let U=R.rotateface(L);this.basefaces.push(new Sn(U))}let Q=[],$=[],G=[],oe=[],b=L.length;function _(R,U,I){for(let K of R)if(K[0].dist(U)<xe){K.push(I);return}R.push([U,I])}for(let R=0;R<this.baseplanerot.length;R++){let U=this.baseplanerot[R].rotateface(L);for(let I=0;I<U.length;I++){let K=(I+1)%U.length,le=U[I].sum(U[K]).smul(.5);_(oe,le,R)}}let M=[];for(let R=0;R<this.baseplanerot.length;R++){let U=this.baseplanerot[R].rotateface(L),I=[];for(let K=0;K<U.length;K++){let le=(K+1)%U.length,qe=U[K].sum(U[le]).smul(.5),ft=oe[Nl(oe,qe)];if(R===ft[1])I.push(ft[2]);else if(R===ft[2])I.push(ft[1]);else throw new Error(\\\"Could not find edge\\\")}M.push(I)}let S={},v=[];v.push(a[0][0]),S[a[0][0]]=0,v[M[0][0]]=a[0][1],S[a[0][1]]=M[0][0];for(let R of a){let U=R[0],I=S[U];if(I===void 0)throw new Error(\\\"Bad edge description; first edge not connected\\\");let K=-1;for(let le=0;le<M[I].length;le++){let qe=v[M[I][le]];if(qe!==void 0&&qe===R[1]){K=le;break}}if(K<0)throw new Error(\\\"First element of a net not known\\\");for(let le=2;le<R.length;le++){if(R[le]===\\\"\\\")continue;let qe=M[I][(le+K-1)%b],ft=v[qe];if(ft!==void 0&&ft!==R[le])throw new Error(\\\"Face mismatch in net\\\");v[qe]=R[le],S[R[le]]=qe}}for(let R=0;R<v.length;R++){let U=!1;for(let I=0;I<this.faceorder.length;I++)if(v[R]===this.faceorder[I]){this.faceprecedence[R]=I,U=!0;break}if(!U)throw new Error(\\\"Could not find face \\\"+v[R]+\\\" in face order list \\\"+this.faceorder)}for(let R=0;R<this.baseplanerot.length;R++){let U=this.baseplanerot[R].rotateface(L),I=p.rotateplane(this.baseplanerot[R]),K=v[R];Q.push([U,K]),$.push([I,K])}for(let R=0;R<this.baseplanerot.length;R++){let U=this.baseplanerot[R].rotateface(L),I=v[R];for(let K=0;K<U.length;K++){let le=(K+1)%U.length,qe=U[K].sum(U[le]).smul(.5),ft=(K+2)%U.length,vm=U[le].sum(U[ft]).smul(.5),Um=Nl(oe,qe),Em=Nl(oe,vm);_(G,U[le],[I,Em,Um])}}this.swizzler=new bo(Q.map(R=>R[1]));let C=this.swizzler.prefixFree?\\\"\\\":\\\"_\\\";for(let R=0;R<oe.length;R++){if(oe[R].length!==3)throw new Error(\\\"Bad length in edge names \\\"+oe[R]);let U=v[oe[R][1]],I=v[oe[R][2]];this.faceprecedence[oe[R][1]]<this.faceprecedence[oe[R][2]]?U=U+C+I:U=I+C+U,oe[R]=[oe[R][0],U]}for(let R=0;R<G.length;R++){if(G[R].length<4)throw new Error(\\\"Bad length in vertex names\\\");let U=1;for(let K=2;K<G[R].length;K++)this.faceprecedence[S[G[R][K][0]]]<this.faceprecedence[S[G[R][U][0]]]&&(U=K);let I=\\\"\\\";for(let K=1;K<G[R].length;K++){K===1?I=G[R][U][0]:I=I+C+G[R][U][0];for(let le=1;le<G[R].length;le++)if(G[R][U][1]===G[R][le][2]){U=le;break}}G[R]=[G[R][0],I]}this.options.verbosity>1&&(console.log(\\\"# Face precedence list: \\\"+this.faceorder.join(\\\" \\\")),console.log(\\\"# Face names: \\\"+Q.map(R=>R[1]).join(\\\" \\\")),console.log(\\\"# Edge names: \\\"+oe.map(R=>R[1]).join(\\\" \\\")),console.log(\\\"# Vertex names: \\\"+G.map(R=>R[1]).join(\\\" \\\")));let j=[];for(let R of $)j.push([R[0].makenormal(),R[1],\\\"f\\\"]);for(let R of oe)j.push([R[0].makenormal(),R[1],\\\"e\\\"]);for(let R of G)j.push([R[0].makenormal(),R[1],\\\"v\\\"]);this.facenames=Q,this.faceplanes=$,this.edgenames=oe,this.vertexnames=G,this.geonormals=j;let Z=j.map(R=>R[1]);this.swizzler.setGripNames(Z),this.options.verbosity>0&&console.log(\\\"# Distances: face \\\"+1+\\\" edge \\\"+this.edgedistance+\\\" vertex \\\"+this.vertexdistance);for(let R=0;R<D.length;R++)for(let U of this.rotations){let I=D[R].rotateplane(U),K=!1;for(let le of this.moveplanes)if(I.sameplane(le)){K=!0;break}K||(this.moveplanes.push(I),F[R]&&this.moveplanes2.push(I))}let me=new Uo(L),de=this.moveplanes2.slice(),Fe=31;for(let R=0;R<de.length;R++){let U=R+Math.floor((de.length-R)*(Fe/65536));me=me.split(de[U]),de[U]=de[R],Fe=(Fe*1657+101)%65536}let we=me.collect([],!0);this.faces=we,this.options.verbosity>0&&console.log(\\\"# Faces is now \\\"+we.length),this.stickersperface=we.length;let kt=[],Ce=Ml(L);for(let R of this.rotations){let U=R.rotateface(L);Ce.dist(Ml(U))<xe&&kt.push(R)}let rt=new Array(we.length),ve=[];for(let R=0;R<we.length;R++){let U=we[R].centermass();ve.push([Ce.dist(U),U,R])}ve.sort((R,U)=>R[0]-U[0]);for(let R=0;R<we.length;R++){let U=ve[R][2];if(!rt[U]){rt[U]=!0;for(let I of kt){let K=we[U].rotate(I),le=K.centermass();for(let qe=R+1;qe<we.length&&!(ve[qe][0]-ve[R][0]>xe);qe++){let ft=ve[qe][2];if(!rt[ft]&&le.dist(ve[qe][1])<xe){rt[ft]=!0,we[ft]=K;break}}}}}this.shortedge=1e99;for(let R of we)for(let U=0;U<R.length;U++){let I=(U+1)%R.length,K=R.get(U).dist(R.get(I));K<this.shortedge&&(this.shortedge=K)}this.options.verbosity>0&&console.log(\\\"# Short edge is \\\"+this.shortedge),r===\\\"c\\\"&&B&&!k&&!E&&(this.addNotationMapper=\\\"NxNxNCubeMapper\\\",this.setReidOrder=!0),r===\\\"c\\\"&&E&&!B&&!k&&(this.addNotationMapper=\\\"SkewbMapper\\\"),r===\\\"t\\\"&&(E||B)&&!k&&(this.addNotationMapper=\\\"PyraminxOrTetraminxMapper\\\"),r===\\\"o\\\"&&B&&(this.notationMapper=new wo(this.swizzler,new bo([\\\"F\\\",\\\"D\\\",\\\"L\\\",\\\"BL\\\",\\\"R\\\",\\\"U\\\",\\\"BR\\\",\\\"B\\\"])),!k&&!E&&(this.addNotationMapper=\\\"FTOMapper\\\")),r===\\\"d\\\"&&B&&(this.addNotationMapper=\\\"MegaminxMapper\\\",this.notationMapper=new wo(this.swizzler,new bo([\\\"U\\\",\\\"F\\\",\\\"L\\\",\\\"BL\\\",\\\"BR\\\",\\\"R\\\",\\\"FR\\\",\\\"FL\\\",\\\"DL\\\",\\\"B\\\",\\\"DR\\\",\\\"D\\\"])))}keyface(t){return this.keyface2(t.centermass())}keyface2(t){let r=\\\"\\\",n=String.fromCharCode;for(let o of this.moveplanesets)if(o.length>0){let l=t.dot(o[0]),i=0,a=1;for(;a*2<=o.length;)a*=2;for(;a>0;a>>=1)i+a<=o.length&&l>o[i+a-1].a&&(i+=a);if(i<47)r=r+n(33+i);else if(i<47+47*47)r=r+n(33+47+Math.floor(i/47)-1)+n(33+i%47);else if(i<47+47*47+47*47*47)r=r+n(33+47+Math.floor((i-47)/(47*47)-1))+n(33+47+Math.floor((i-47)/47)%47)+n(33+i%47);else throw Error(\\\"Too many slices for cubie encoding\\\")}return r}keyface3(t){let r=t.centermass(),n=[];for(let o of this.moveplanesets)if(o.length>0){let l=r.dot(o[0]),i=0,a=1;for(;a*2<=o.length;)a*=2;for(;a>0;a>>=1)i+a<=o.length&&l>o[i+a-1].a&&(i+=a);n.push(i)}return n}findface(t){let r=this.keyface2(t),n=this.facelisthash.get(r);if(n.length===1)return n[0];for(let o=0;o+1<n.length;o++){let l=this.facelisthash.get(r)[o];if(Math.abs(t.dist(this.facecentermass[l]))<xe)return l}return n[n.length-1]}project2d(t,r,n){let o=this.facenames[t][0],l=(r+1)%o.length,i=this.baseplanes[t],a=o[l].sub(o[r]),f=a.len();a=a.normalize();let s=a.cross(i).normalize(),c=n[1].sub(n[0]),m=c.len()/f;c=c.normalize();let u=c.b,p=c.c,g=a.smul(u).sub(s.smul(p)).smul(m),d=s.smul(u).sum(a.smul(p)).smul(m),L=new O(0,n[0].b-g.dot(o[r]),n[0].c-d.dot(o[r]),0);return[g,d,L]}allstickers(){let t=Ia(\\\"allstickers\\\");this.faces=Bp(this.baseplanerot,this.faces),this.options.verbosity>0&&console.log(\\\"# Total stickers is now \\\"+this.faces.length),this.facecentermass=new Array(this.faces.length);for(let b=0;b<this.faces.length;b++)this.facecentermass[b]=this.faces[b].centermass();let r=[],n=[];for(let b of this.moveplanes){let _=b.makenormal(),M=!1;for(let S of n)_.sameplane(S.makenormal())&&(M=!0);M||(n.push(_),r.push([]))}for(let b of this.moveplanes2){let _=b.makenormal();for(let M=0;M<n.length;M++)if(_.sameplane(n[M])){r[M].push(b);break}}for(let b=0;b<r.length;b++){let _=r[b].map(S=>S.normalizeplane()),M=n[b];for(let S=0;S<_.length;S++)_[S].makenormal().dist(M)>xe&&(_[S]=_[S].smul(-1));_.sort((S,v)=>S.a-v.a),r[b]=_}this.moveplanesets=r,this.moveplanenormals=n;let o=r.map(b=>b.length);this.options.verbosity>0&&console.log(\\\"# Move plane sets: \\\"+o);let l=[];for(let b=0;b<r.length;b++)l.push([]);for(let b of this.rotations){if(Math.abs(Math.abs(b.a)-1)<xe)continue;let _=b.makenormal();for(let M=0;M<r.length;M++)if(_.sameplane(n[M])){l[M].push(b);break}}this.moverotations=l;for(let b=0;b<l.length;b++){let _=l[b],M=_[0].makenormal();for(let S=0;S<_.length;S++)M.dist(_[S].makenormal())>xe&&(_[S]=_[S].smul(-1));_.sort((S,v)=>S.angle()-v.angle()),l[b][0].dot(n[b])<0&&_.reverse()}let i=l.map(b=>1+b.length);this.movesetorders=i;let a=[],f=\\\"?\\\";for(let b=0;b<r.length;b++){let _=n[b],M=null,S=null;for(let v of this.geonormals){let C=_.dot(v[0]);Math.abs(C-1)<xe?(S=[v[1],v[2]],f=v[2]):Math.abs(C+1)<xe&&(M=[v[1],v[2]],f=v[2])}if(S===null||M===null)throw new Error(\\\"Saw positive or negative sides as null\\\");a.push([S[0],S[1],M[0],M[1],1+r[b].length]),this.addNotationMapper===\\\"NxNxNCubeMapper\\\"&&f===\\\"f\\\"&&(this.notationMapper=new El(1+r[b].length),this.addNotationMapper=\\\"\\\"),this.addNotationMapper===\\\"SkewbMapper\\\"&&r[0].length===1&&(this.notationMapper=new zl(this.swizzler),this.addNotationMapper=\\\"\\\"),this.addNotationMapper===\\\"PyraminxOrTetraminxMapper\\\"&&(r[0].length===2&&r[0][0].a===.333333333333333&&r[0][1].a===1.66666666666667?(this.notationMapper=new xo(this.swizzler),this.addNotationMapper=\\\"\\\"):(this.notationMapper=new kl(this.swizzler),this.addNotationMapper=\\\"\\\")),this.addNotationMapper===\\\"MegaminxMapper\\\"&&f===\\\"f\\\"&&(1+r[b].length===3&&(this.notationMapper=new Ul(this.notationMapper)),this.addNotationMapper=\\\"\\\"),this.addNotationMapper===\\\"FTOMapper\\\"&&f===\\\"f\\\"&&(1+r[b].length===3&&(this.notationMapper=new vl(this.notationMapper,this.swizzler)),this.addNotationMapper=\\\"\\\")}this.movesetgeos=a;let s=new Map,c=this.faces;for(let b=0;b<c.length;b++){let _=c[b],M=this.keyface(_);if(!s.get(M))s.set(M,[b]);else{let S=s.get(M);if(S.push(b),S.length===this.baseFaceCount){this.options.verbosity>0&&console.log(\\\"# Splitting core.\\\");for(let v=0;v<S.length;v++){let C=M+\\\" \\\"+v;s.set(C,[S[v]])}}}}this.facelisthash=s,this.options.verbosity>0&&console.log(\\\"# Cubies: \\\"+s.size);let m=[],u=[],p=[];for(let b of s.values())if(b.length!==this.baseFaceCount){if(b.length>1){let _=b.map(C=>c[C].centermass()),M=Ml(_);for(let C=0;b.length>2;C++){let j=!1;for(let Z=0;Z<b.length;Z++){let me=(Z+1)%b.length;if(M.dot(_[Z].cross(_[me]))<0){let de=_[Z];_[Z]=_[me],_[me]=de;let Fe=b[Z];b[Z]=b[me],b[me]=Fe,j=!0}}if(!j)break;if(C>1e3)throw new Error(\\\"Bad epsilon math; too close to border\\\")}let S=0,v=b[S];for(let C=1;C<b.length;C++){let j=b[C];this.faceprecedence[this.getfaceindex(j)]<this.faceprecedence[this.getfaceindex(v)]&&(S=C,v=j)}if(S!==0){let C=b.slice();for(let j=0;j<b.length;j++)b[j]=C[(S+j)%b.length]}}for(let _=0;_<b.length;_++){let M=b[_];u[M]=m.length,p[M]=_}m.push(b)}this.cubies=m,this.facetocubie=u,this.facetoord=p;let g=[\\\"?\\\",\\\"CENTERS\\\",\\\"EDGES\\\",\\\"CORNERS\\\",\\\"C4RNER\\\",\\\"C5RNER\\\"],d=[],L=[0,0,0,0,0,0],D=[],F=[],B=0,k=[],E=[],Q=[],$=[],G=b=>m[b].map(_=>this.getfaceindex(_)).join(\\\" \\\"),oe=[];for(let b=0;b<m.length;b++){if(F[b])continue;let _=m[b];if(_.length===0)continue;let M={},S=0;Q.push(0),oe.push([]);let v=_.length,C=L[v]++,j=g[v];(j===void 0||v===this.baseFaceCount)&&(j=\\\"CORE\\\"),j=j+(C===0?\\\"\\\":C+1),d[B]=j,D[B]=v;let Z=[b],me=0;for(F[b]=!0;me<Z.length;){let de=Z[me++],Fe=G(de);if((_.length>1||M[Fe]===void 0)&&(M[Fe]=S++),$[de]=M[Fe],k[de]=B,oe[B].push(de),E[de]=Q[B]++,Z.length<this.rotations.length){let we=this.facecentermass[m[de][0]];for(let kt of l){let Ce=this.facetocubie[this.findface(we.rotatepoint(kt[0]))];F[Ce]||(Z.push(Ce),F[Ce]=!0)}}}B++}if(this.setReidOrder&&4<=this.stickersperface&&this.stickersperface<=9){let b=[[\\\"UF\\\",\\\"UR\\\",\\\"UB\\\",\\\"UL\\\",\\\"DF\\\",\\\"DR\\\",\\\"DB\\\",\\\"DL\\\",\\\"FR\\\",\\\"FL\\\",\\\"BR\\\",\\\"BL\\\"],[\\\"UFR\\\",\\\"URB\\\",\\\"UBL\\\",\\\"ULF\\\",\\\"DRF\\\",\\\"DFL\\\",\\\"DLB\\\",\\\"DBR\\\"],[\\\"U\\\",\\\"L\\\",\\\"F\\\",\\\"R\\\",\\\"B\\\",\\\"D\\\"]],_={};for(let M of b)for(let S=0;S<M.length;S++){let v=0;for(let C=0;C<M[S].length;C++)v|=1<<M[S].charCodeAt(C)-65;_[v]=S}for(let M of oe)for(let S of M){let v=0;for(let C of m[S])v|=1<<this.facenames[this.getfaceindex(C)][1].charCodeAt(0)-65;E[S]=_[v]}}if(this.cubiesetnums=k,this.cubieordnums=E,this.cubiesetnames=d,this.cubieords=Q,this.orbitoris=D,this.cubievaluemap=$,this.cubiesetcubies=oe,this.options.fixedPieceType!==null){for(let b=0;b<m.length;b++)if(this.options.fixedPieceType===\\\"v\\\"&&m[b].length>2||this.options.fixedPieceType===\\\"e\\\"&&m[b].length===2||this.options.fixedPieceType===\\\"f\\\"&&m[b].length===1){this.fixedCubie=b;break}if(this.fixedCubie<0)throw new Error(\\\"Could not find a cubie of type \\\"+this.options.fixedPieceType+\\\" to fix.\\\")}this.options.verbosity>0&&console.log(\\\"# Cubie orbit sizes \\\"+Q),Na(t)}unswizzle(t){let r=this.notationMapper.notationToInternal(t);return r===null?\\\"\\\":this.swizzler.unswizzle(r.family)}stringToBlockMove(t){let r=RegExp(\\\"^(([0-9]+)-)?([0-9]+)?([^0-9]+)([0-9]+'?)?$\\\"),n=t.match(r);if(n===null)throw new Error(\\\"Bad move passed \\\"+t);let o=n[4],l,i;if(n[2]!==void 0){if(n[3]===void 0)throw new Error(\\\"Missing second number in range\\\");l=parseInt(n[2],10)}n[3]!==void 0&&(i=parseInt(n[3],10));let a=\\\"1\\\",f=1;return n[5]!==void 0&&(a=n[5],a[0]===\\\"'\\\"&&(a=\\\"-\\\"+a.substring(1)),f=parseInt(a,10)),new h(new P(o,i,l),f)}parseMove(t){let r=this.notationMapper.notationToInternal(t);if(r===null)throw new Error(\\\"Bad move \\\"+t.family);t=r;let n=t.family,o=!1;if(n.endsWith(\\\"v\\\")&&n[0]<=\\\"Z\\\"){if(t.innerLayer!==void 0||t.outerLayer!==void 0)throw new Error(\\\"Cannot use a prefix with full cube rotations\\\");n=n.slice(0,-1),o=!0}n.endsWith(\\\"w\\\")&&n[0]<=\\\"Z\\\"&&(n=n.slice(0,-1).toLowerCase());let l,i=-1,a=this.swizzler.unswizzle(n),f=!1;for(let m=0;m<this.movesetgeos.length;m++){let u=this.movesetgeos[m];a===u[0]&&(f=!0,l=u,i=m),a===u[2]&&(f=!1,l=u,i=m)}let s=1,c=1;if(n.toUpperCase()!==n&&(c=2),l===void 0)throw new Error(\\\"Bad grip in move \\\"+t.family);if(t.outerLayer!==void 0&&(s=t.outerLayer),t.innerLayer!==void 0&&(t.outerLayer===void 0?(c=t.innerLayer,n<=\\\"Z\\\"?s=c:s=1):c=t.innerLayer),s--,c--,o&&(s=0,c=this.moveplanesets[i].length),s<0||s>this.moveplanesets[i].length||c<0||c>this.moveplanesets[i].length)throw new Error(\\\"Bad slice spec \\\"+s+\\\" \\\"+c+\\\" vs \\\"+this.moveplanesets[i].length);if(!wp&&s===0&&c===this.moveplanesets[i].length&&!o)throw new Error(\\\"! full puzzle rotations must be specified with v suffix.\\\");return[void 0,i,s,c,f,t.amount]}parsemove(t){let r=this.parseMove(this.stringToBlockMove(t));return r[0]=t,r}genperms(){let t=Ia(\\\"genperms\\\");if(this.cmovesbyslice.length>0)return;let r=[];if(this.options.orientCenters){for(let n=0;n<this.cubies.length;n++)if(this.cubies[n].length===1){let o=this.cubies[n][0],l=this.getfaceindex(o);if(this.basefaces[l].centermass().dist(this.facecentermass[o])<xe){let i=this.basefaces[l].length;for(let a=1;a<i;a++)this.cubies[n].push(this.cubies[n][a-1]);this.duplicatedFaces[o]=i,this.duplicatedCubies[n]=i,this.orbitoris[this.cubiesetnums[n]]=i}}}for(let n=0;n<this.moveplanesets.length;n++){let o=this.moveplanesets[n],l=[],i=[o.length+1,0],a=1;for(;a*2<=o.length;)a*=2;for(let c=0;c<this.faces.length;c++){let m=0;if(o.length>0){let u=this.facecentermass[c].dot(o[0]);for(let p=a;p>0;p>>=1)m+p<=o.length&&u>o[m+p-1].a&&(m+=p);m=o.length-m}for(l.push(m);i.length<=m;)i.push(0);i[m]++}let f=new Array(i.length);for(let c=0;c<i.length;c++)f[c]=[];let s=[];for(let c=0;c<this.faces.length;c++){if(l[c]<0)continue;let m=[this.facetocubie[c],this.facetoord[c]],u=this.facecentermass[c],p=u,g=c,d=l[g];for(;;){l[g]=-1;let L=u.rotatepoint(this.moverotations[n][0]);if(L.dist(p)<xe)break;g=this.findface(L),m.push(this.facetocubie[g],this.facetoord[g]),u=L}if(m.length>2&&this.options.orientCenters&&(this.cubies[m[0]].length===1||this.duplicatedCubies[m[0]]>1)&&this.facecentermass[c].dist(this.basefaces[this.getfaceindex(c)].centermass())<xe){let L=this.faces[this.cubies[m[0]][0]];for(let D=0;D<m.length;D+=2){let F=this.faces[this.cubies[m[D]][0]],B=-1;for(let k=0;k<L.length;k++)if(F.get(k).dist(L.get(0))<xe){B=k;break}if(B<0)throw new Error(\\\"Couldn't find rotation of center faces; ignoring for now.\\\");m[D+1]=B,L=L.rotate(this.moverotations[n][0])}}if(m.length===2&&this.options.orientCenters)for(let L=1;L<this.movesetorders[n];L++)d===0?m.push(m[0],L):m.push(m[0],(this.movesetorders[n]-L)%this.movesetorders[n]);if(m.length>2&&!s[m[0]]){if(m.length!==2*this.movesetorders[n])throw new Error(\\\"Bad length in perm gen\\\");for(let L of m)f[d].push(L)}for(let L=0;L<m.length;L+=2)s[m[L]]=!0}for(let c=0;c<f.length;c++)f[c]=f[c].slice();r.push(f)}if(this.cmovesbyslice=r,this.options.moveList){let n=[];for(let o of this.options.moveList)n.push(this.parsemove(o));this.parsedmovelist=n}this.facelisthash.clear(),this.facecentermass=[],Na(t)}getboundarygeometry(){return{baseplanes:this.baseplanes,facenames:this.facenames,faceplanes:this.faceplanes,vertexnames:this.vertexnames,edgenames:this.edgenames,geonormals:this.geonormals}}getmovesets(t){let r=this.moveplanesets[t].length,n=[];if(this.parsedmovelist!==void 0)for(let o of this.parsedmovelist)o[1]===t&&(o[4]?n.push([o[2],o[3]]):n.push([r-o[3],r-o[2]]),n.push(o[5]));else if(this.options.vertexMoves&&!this.options.allMoves){let o=this.movesetgeos[t];if(o[1]!==o[3])for(let l=0;l<r;l++)o[1]!==\\\"v\\\"?(this.options.outerBlockMoves?n.push([l+1,r]):n.push([l+1]),n.push(1)):(this.options.outerBlockMoves?n.push([0,l]):n.push([l,l]),n.push(1))}else for(let o=0;o<=r;o++)!this.options.allMoves&&o+o===r||(this.options.outerBlockMoves?o+o>r?n.push([o,r]):n.push([0,o]):n.push([o,o]),n.push(1));if(this.fixedCubie>=0){let o=this.keyface3(this.faces[this.cubies[this.fixedCubie][0]])[t],l=[];for(let i=0;i<n.length;i+=2){let a=n[i];if(o>=a[0]&&o<=a[1])if(a[0]===0)a=[a[1]+1,r];else if(r===a[1])a=[0,a[0]-1];else throw Error(\\\"fixed cubie option would disconnect move\\\");let f=!1;for(let s=0;s<l.length;s+=2)if(l[s][0]===a[0]&&l[s][1]===a[1]&&l[s+1]===n[i+1]){f=!0;break}f||(l.push(a),l.push(n[i+1]))}n=l}return n}graybyori(t){let r=this.cubies[t].length;return this.duplicatedCubies[t]&&(r=1),r===1&&(this.options.grayCenters||!this.options.includeCenterOrbits)||r===2&&(this.options.grayEdges||!this.options.includeEdgeOrbits)||r>2&&(this.options.grayCorners||!this.options.includeCornerOrbits)}skipbyori(t){let r=this.cubies[t].length;return this.duplicatedCubies[t]&&(r=1),r===1&&!this.options.includeCenterOrbits||r===2&&!this.options.includeEdgeOrbits||r>2&&!this.options.includeCornerOrbits}skipcubie(t){return this.skipbyori(t)}header(t){return t+bp+`\\n`+t+`\\n`}writegap(){let t=this.getOrbitsDef(!1),r=[],n=[];for(let l=0;l<t.moveops.length;l++){let i=\\\"M_\\\"+_a(this.notationMapper,t.movenames[l]),a=!1;i[i.length-1]===\\\"'\\\"&&(i=i.substring(0,i.length-1),a=!0),n.push(i),a?r.push(i+\\\":=\\\"+t.moveops[l].toPerm().inv().toGap()+\\\";\\\"):r.push(i+\\\":=\\\"+t.moveops[l].toPerm().toGap()+\\\";\\\")}r.push(\\\"Gen:=[\\\"),r.push(n.join(\\\",\\\")),r.push(\\\"];\\\");let o=t.solved.identicalPieces();return r.push(\\\"ip:=[\\\"+o.map(l=>\\\"[\\\"+l.map(i=>i+1).join(\\\",\\\")+\\\"]\\\").join(\\\",\\\")+\\\"];\\\"),r.push(\\\"# Size(Group(Gen));\\\"),r.push(\\\"# Size(Stabilizer(Group(Gen), ip, OnTuplesSets));\\\"),r.push(\\\"\\\"),this.header(\\\"# \\\")+r.join(`\\n`)}writeksolve(t=\\\"PuzzleGeometryPuzzle\\\"){let r=this.getOrbitsDef(!1);return this.header(\\\"# \\\")+r.toKsolve(t,this.notationMapper).join(`\\n`)}getKPuzzleDefinition(t=!0,r=!0){let o=this.getOrbitsDef(t,r).toKPuzzleDefinition(r);if(o.exprimentalPuzzleDescription=this.puzzleDescription,!o)throw new Error(\\\"Missing definition!\\\");return o}getMoveFromBits(t,r,n,o,l,i){let a=[],f=[],s=[];for(let u of this.cubieords)f.push(Ct(u)),s.push(sr(u));for(let u=t[0];u<=t[1];u++){let p=o[u];for(let g=0;g<p.length;g+=2*i){let d=p.slice(g,g+2*i),L=this.cubiesetnums[d[0]];for(let B=0;B<d.length;B+=2)d[B]=this.cubieordnums[d[B]];let D=2,F=3;n&&(D=d.length-2,F=d.length-1),f[L]===Ct(this.cubieords[L])&&(f[L]=f[L].slice(),this.orbitoris[L]>1&&!this.options.fixedOrientation&&(s[L]=s[L].slice()));for(let B=0;B<d.length;B+=2)f[L][d[(B+D)%d.length]]=d[B],this.orbitoris[L]>1&&!this.options.fixedOrientation&&(s[L][d[B]]=(d[(B+F)%d.length]-d[(B+1)%d.length]+2*this.orbitoris[L])%this.orbitoris[L])}}let c=new jt(Ct(24),sr(24),1);for(let u=0;u<this.cubiesetnames.length;u++)if(!(l&&!l[u]))if(this.orbitoris[u]===1||this.options.fixedOrientation)f[u]===Ct(c.perm.length)?(f[u]!==c.perm&&(c=new jt(f[u],s[u],1)),a.push(c)):a.push(new jt(f[u],s[u],1));else{let p=new Array(s[u].length);for(let g=0;g<f[u].length;g++)p[g]=s[u][f[u][g]];a.push(new jt(f[u],p,this.orbitoris[u]))}let m=new fr(a);return r!==1&&(m=m.mulScalar(r)),m}omitSet(t){for(let r of this.options.excludeOrbits)if(r===t)return!0;return!1}diffmvsets(t,r,n,o){for(let l=0;l<t.length;l+=2){let i=!1;for(let a=0;!i&&a<r.length;a+=2)o?t[l][0]+r[a][1]===n&&t[l][1]+r[a][0]===n&&t[l+1]===r[a+1]&&(i=!0):t[l][0]===r[a][0]&&t[l][1]===r[a][1]&&t[l+1]===r[a+1]&&(i=!0);if(!i)return!0}return!1}getOrbitsDef(t,r=!0){let n=[];if(t)for(let u=0;u<this.cubiesetnames.length;u++)n.push(1);let o=[],l=[],i=[],a=[];for(let u=0;u<this.moveplanesets.length;u++){let p=this.getmovesets(u);i.push(p),this.options.addRotations?a.push(1):a.push(0)}if(this.options.moveList&&this.options.addRotations){for(let u=0;u<this.moverotations.length;u++)a[u]=0;for(let u=0;u<this.moveplanesets.length;u++)for(let p=0;p<this.moverotations.length;p++){let g=this.moveplanenormals[u];for(let d=1;d*2<=this.movesetorders[p];d++){if(g=g.rotatepoint(this.moverotations[p][0]),a[p]&d)continue;let L=-1,D=!1;for(let B=0;B<this.moveplanenormals.length;B++)if(g.dist(this.moveplanenormals[B])<xe){L=B;break}else if(g.dist(this.moveplanenormals[B].smul(-1))<xe){L=B,D=!0;break}if(L<0)throw new Error(\\\"Could not find rotation\\\");let F=i[L];(F.length!==i[u].length||this.moveplanesets[u].length!==this.moveplanesets[L].length||this.diffmvsets(F,i[u],this.moveplanesets[L].length,D))&&(a[p]|=d)}}for(let u=0;u<this.moverotations.length;u++)if(a[u]===0)a[u]=1;else if(a[u]===1)this.movesetorders[u]>3?a[u]=2:a[u]=0;else if(a[u]===3)a[u]=0;else throw new Error(\\\"Impossible addrot val\\\")}for(let u=0;u<this.moveplanesets.length;u++)a[u]!==0&&(i[u].push([0,this.moveplanesets[u].length]),i[u].push(a[u]));for(let u=0;u<this.moveplanesets.length;u++){let p=i[u],g=this.movesetorders[u];for(let D=0;D<p.length;D+=2)for(let F=0;F<D;F+=2)if(p[D]===p[F]&&p[D+1]===p[F+1])throw new Error(\\\"Redundant moves in moveset.\\\");let d=[];for(let D=0;D<p.length;D+=2)for(let F=p[D][0];F<=p[D][1];F++)d[F]=1;let L=this.cmovesbyslice[u];for(let D=0;D<L.length;D++){if(d[D]!==1)continue;let F=L[D];for(let B=0;B<F.length;B+=2*g){if(this.skipcubie(F[B]))continue;let k=this.cubiesetnums[F[B]];n[k]=1}}}for(let u=0;u<this.cubiesetnames.length;u++)if(!!n[u]){if(this.omitSet(this.cubiesetnames[u])){n[u]=0;continue}o.push(this.cubiesetnames[u]),l.push(new vo(this.cubieords[u],this.options.fixedOrientation?1:this.orbitoris[u]))}let f=[];for(let u=0;u<this.cubiesetnames.length;u++){if(!n[u]||this.omitSet(this.cubiesetnames[u]))continue;let p=[],g=[];for(let d=0;d<this.cubieords[u];d++){if(t)p.push(d);else{let L=this.cubiesetcubies[u][d];p.push(this.cubievaluemap[L])}g.push(0)}f.push(new jt(p,g,this.options.fixedOrientation?1:this.orbitoris[u]))}let s=[],c=[];if(r)for(let u=0;u<this.moveplanesets.length;u++){let g=this.moveplanesets[u].length,d=i[u],L=this.movesetgeos[u];for(let D=0;D<d.length;D+=2){let F=d[D],B=Ep(L,F,g),k=B[0],E=B[1];d[D+1]===1?s.push(k):s.push(k+d[D+1]);let Q=this.getMoveFromBits(F,d[D+1],E,this.cmovesbyslice[u],n,this.movesetorders[u]);c.push(Q)}}let m=new wn(o,l,new xn(f),s,c);return this.options.optimizeOrbits&&(m=m.optimize()),this.options.scrambleAmount!==0&&m.scramble(this.options.scrambleAmount),m}getScramble(t=0){let r=this.getOrbitsDef(!1);return r.transformToKTransformationData(r.getScrambleTransformation(t))}getMovesAsPerms(){return this.getOrbitsDef(!1).moveops.map(t=>t.toPerm())}showcanon(t){M2(this.getOrbitsDef(!1),t)}getsolved(){let t=[];for(let r=0;r<this.baseFaceCount;r++)for(let n=0;n<this.stickersperface;n++)t.push(r);return new gt(t)}getOrientationRotation(t){let[r,[n,o,l]]=t[0],i=new O(0,n,-o,l),[a,[f,s,c]]=t[1],m=new O(0,f,-s,c),u=null,p=null,g=this.swizzler.unswizzle(r),d=this.swizzler.unswizzle(a);for(let B of this.geonormals)g===B[1]&&(u=B[0]),d===B[1]&&(p=B[0]);if(!u)throw new Error(\\\"Could not find feature \\\"+r);if(!p)throw new Error(\\\"Could not find feature \\\"+a);let L=u.pointrotation(i);return p.rotatepoint(L).unproject(i).pointrotation(m.unproject(i)).mul(L)}getInitial3DRotation(){let t=this.baseFaceCount,r=null;if(this.options.puzzleOrientation?r=this.options.puzzleOrientation:this.options.puzzleOrientations&&(r=this.options.puzzleOrientations[t]),r||(r=Up()[t]),!r)throw new Error(\\\"No default orientation?\\\");return this.getOrientationRotation(r)}generate2dmapping(t=800,r=500,n=10,o=!1,l=.92){t-=2*n,r-=2*n;function i(S,v){let C=S[1][0]-S[0][0],j=S[1][1]-S[0][1],Z=2*Math.PI/v,me=Math.cos(Z),de=Math.sin(Z);for(let Fe=2;Fe<v;Fe++){let we=C*me+j*de;j=j*me-C*de,C=we,S.push([S[Fe-1][0]+C,S[Fe-1][1]+j])}}this.genperms();let s=this.getboundarygeometry().facenames[0][0].length,c=this.net;if(c===null)throw new Error(\\\"No net?\\\");let m={},u=0,p=0,g=1,d=0;m[c[0][0]]=[[1,0],[0,0]],i(m[c[0][0]],s);for(let S of c){let v=S[0];if(!m[v])throw new Error(\\\"Bad edge description; first edge not connected.\\\");for(let C=1;C<S.length;C++){let j=S[C];j===\\\"\\\"||m[j]||(m[j]=[m[v][C%s],m[v][(C+s-1)%s]],i(m[j],s))}}for(let S in m){let v=m[S];for(let C of v)u=Math.min(u,C[0]),g=Math.max(g,C[0]),p=Math.min(p,C[1]),d=Math.max(d,C[1])}let L=Math.min(t/(g-u),r/(d-p)),D=.5*(t-L*(g+u)),F=.5*(r-L*(d+p)),B={},k=this.getboundarygeometry(),E={},Q=[[L+D,F],[D,F]];E[c[0][0]]=Q,i(E[c[0][0]],s),B[this.facenames[0][1]]=this.project2d(0,0,[new O(0,Q[0][0],Q[0][1],0),new O(0,Q[1][0],Q[1][1],0)]);let $=[];$[0]=0;for(let S of c){let v=S[0];if(!E[v])throw new Error(\\\"Bad edge description; first edge not connected.\\\");let C=-1;for(let Z=0;Z<k.facenames.length;Z++)if(v===k.facenames[Z][1]){C=Z;break}if(C<0)throw new Error(\\\"Could not find first face name \\\"+v);let j=k.facenames[C][0];for(let Z=1;Z<S.length;Z++){let me=S[Z];if(me===\\\"\\\"||E[me])continue;E[me]=[E[v][Z%s],E[v][(Z+s-1)%s]],i(E[me],s);let de=$[C],Fe=j[(de+Z)%s].sum(j[(de+Z+s-1)%s]).smul(.5),we=Nl(k.edgenames,Fe),kt=k.edgenames[we][1],Ce=kp(kt,this.facenames),rt=Ce[v===Ce[0]?1:0],ve=-1;for(let U=0;U<k.facenames.length;U++)if(rt===k.facenames[U][1]){ve=U;break}if(ve<0)throw new Error(\\\"Could not find second face name\\\");let R=k.facenames[ve][0];for(let U=0;U<R.length;U++)if(R[U].sum(R[(U+1)%s]).smul(.5).dist(Fe)<=xe){let K=E[v][(Z+s-1)%s],le=E[v][Z%s];$[ve]=U,B[rt]=this.project2d(ve,U,[new O(0,le[0],le[1],0),new O(0,K[0],K[1],0)]);break}}}let G=0,oe=0,b=this.getInitial3DRotation();for(let S of this.faces){o&&(S=S.rotate(b));for(let v=0;v<S.length;v++)G=Math.max(G,Math.abs(S.get(v).b)),oe=Math.max(oe,Math.abs(S.get(v).c))}let _=Math.min(r/oe/2,(t-n)/G/4);return(S,v)=>{if(o){v=v.rotatepoint(b);let C=.5*n+.25*t,j=this.baseplanes[S].rotateplane(b).d<0?1:-1;return[n+t*.5+j*(C-v.b*_),n+r*.5+v.c*_]}else{let C=B[this.facenames[S][1]];return[n+l*v.dot(C[0])+C[2].b,n+r-l*v.dot(C[1])-C[2].c]}}}generatesvg(t=800,r=500,n=10,o=!1){let l=this.generate2dmapping(t,r,n,o);function i(u,p,g){return'<polygon id=\\\"'+u+'\\\" class=\\\"sticker\\\" style=\\\"fill: '+g+'\\\" points=\\\"'+p.map(d=>d[0]+\\\" \\\"+d[1]).join(\\\" \\\")+`\\\"/>\\n`}let a=this.getsolved(),f=[],s=[];for(let u=0;u<this.baseFaceCount;u++)f[u]=this.colors[this.facenames[u][1]];for(let u=0;u<this.faces.length;u++){let p=this.faces[u],g=Math.floor(u/this.stickersperface),d=[];for(let L=0;L<p.length;L++)d.push(l(g,p.get(L)));s.push(d)}let c=[];for(let u=0;u<this.baseFaceCount;u++){c.push(\\\"<g>\\\"),c.push(\\\"<title>\\\"+this.facenames[u][1]+`</title>\\n`);for(let p=0;p<this.stickersperface;p++){let g=u*this.stickersperface+p,d=this.facetocubie[g],L=this.facetoord[g],D=this.cubiesetnums[d],F=this.cubieordnums[d],B=this.graybyori(d)?\\\"#808080\\\":f[a.p[g]],k=this.cubiesetnames[D]+\\\"-l\\\"+F+\\\"-o\\\"+L;if(c.push(i(k,s[g],B)),this.duplicatedFaces[g])for(let E=1;E<this.duplicatedFaces[g];E++)k=this.cubiesetnames[D]+\\\"-l\\\"+F+\\\"-o\\\"+E,c.push(i(k,s[g],B))}c.push(\\\"</g>\\\")}return`<svg id=\\\"svg\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" viewBox=\\\"0 0 800 500\\\">\\n<style type=\\\"text/css\\\"><![CDATA[.sticker { stroke: #000000; stroke-width: 1px; }]]></style>\\n`+c.join(\\\"\\\")+\\\"</svg>\\\"}get3d(t){let r=[],n=this.getInitial3DRotation(),o=[],l=.52*this.basefaces[0].get(0).len();for(let s=0;s<this.basefaces.length;s++){let c=this.basefaces[s].rotate(n),m=this.facenames[s][1];o.push({coords:Wa(c,l),name:m})}for(let s=0;s<this.faces.length;s++){let c=Math.floor(s/this.stickersperface),m=this.facetocubie[s],u=this.facetoord[s],p=this.cubiesetnums[m],g=this.cubieordnums[m],d=this.graybyori(m)?\\\"#808080\\\":this.colors[this.facenames[c][1]];t?.stickerColors&&(d=t.stickerColors[s]);let L=this.faces[s].rotate(n);r.push({coords:Wa(L,l),color:d,orbit:this.cubiesetnames[p],ord:g,ori:u,face:c});let D=L;if(this.duplicatedFaces[s]){let F=D.length/this.duplicatedFaces[s];for(let B=1;B<this.duplicatedFaces[s];B++){for(let k=0;k<F;k++)D=D.rotateforward();r.push({coords:Wa(D,l),color:d,orbit:this.cubiesetnames[p],ord:g,ori:B,face:c,isDup:!0})}}}let i=[];for(let s=0;s<this.movesetgeos.length;s++){let c=this.movesetgeos[s],m=this.movesetorders[s];for(let u of this.geonormals)c[0]===u[1]&&c[1]===u[2]&&(i.push({coordinates:Ol(u[0].rotatepoint(n),1),quantumMove:new h(c[0]),order:m}),i.push({coordinates:Ol(u[0].rotatepoint(n).smul(-1),1),quantumMove:new h(c[2]),order:m}))}let a=this.generate2dmapping(2880,2160,0,!1,1),f=function(){let s=n.invrot();return function(c,m){let u=new O(0,m[0]*l,-m[1]*l,m[2]*l);u=u.rotatepoint(s);let p=a(c,u);return p[0]/=2880,p[1]=1-p[1]/2160,p}}().bind(this);return{stickers:r,faces:o,axis:i,unswizzle:this.unswizzle.bind(this),notationMapper:this.notationMapper,textureMapper:{getuv:f}}}getGeoNormal(t){let r=this.getInitial3DRotation(),n=this.swizzler.unswizzle(t);for(let o of this.geonormals)if(n===o[1]){let l=Ol(o[0].rotatepoint(r),1);return Math.abs(l[0])<xe&&Math.abs(l[2])<xe&&(l[0]=0,l[2]=1e-6),l}}getfaceindex(t){let r=this.stickersperface;return Math.floor(t/r)}textForTwizzleExplorer(){return`Faces ${this.baseplanerot.length}\\nStickers per face ${this.stickersperface}\\nShort edge ${this.shortedge}\\nCubies ${this.cubies.length}\\nEdge distance ${this.edgedistance}\\nVertex distance ${this.vertexdistance}`}writeSchreierSims(t){let n=this.getOrbitsDef(!1).reassemblySize();t(`Reassembly size is ${n}`);let o=Il(this.getMovesAsPerms(),t),l=n/o;t(`Ratio is ${l}`)}},Ir=class{constructor(t,r){this.pg=t;this.orbitNames=r.orbitnames}lookupMove(t){let r=this.pg.parseMove(t);if(this.pg.parsedmovelist){let i=!1;for(let a of this.pg.parsedmovelist)a[1]===r[1]&&a[2]===r[2]&&a[3]===r[3]&&a[4]===r[4]&&(i=!0);if(!i)return null}let n=[r[2],r[3]];if(!r[4]){let i=this.pg.moveplanesets[r[1]].length;n=[i-r[3],i-r[2]]}let o=this.pg.getMoveFromBits(n,r[5],!r[4],this.pg.cmovesbyslice[r[1]],void 0,this.pg.movesetorders[r[1]]);return wn.transformToKTransformationData(this.orbitNames,o)}}});var Ka={};Be(Ka,{ExperimentalPGNotation:()=>Ir,PuzzleGeometry:()=>Wl,Quat:()=>O,getPG3DNamedPuzzles:()=>H2,getPuzzleDescriptionString:()=>Y2,getPuzzleGeometryByDesc:()=>Oa,getPuzzleGeometryByName:()=>vn,parseOptions:()=>_2,parsePuzzleDescription:()=>So,schreierSims:()=>Il});var Eo=w(()=>{_l();Ua();Gl();Ta();_l()});async function ko(e){return(await Promise.resolve().then(()=>(Eo(),Ka))).getPuzzleGeometryByName(e,{allMoves:!0,orientCenters:!0,addRotations:!0})}async function zp(e,t){let r=await e,n=r.getKPuzzleDefinition(!0);n.name=t;let o=await Promise.resolve().then(()=>(Eo(),Ka)),l=new o.ExperimentalPGNotation(r,r.getOrbitsDef(!0));return new Ne(n,{experimentalPGNotation:l})}var Kl,Ql,jl,dt,Nr,Or=w(()=>{Je();Bn();Gr();dt=class{constructor(t){ne(this,Kl,void 0);ne(this,Ql,void 0);ne(this,jl,void 0);this.pgId=t.pgID,this.id=t.id,this.fullName=t.fullName,this.inventedBy=t.inventedBy,this.inventionYear=t.inventionYear}pg(){return A(this,Kl)??q(this,Kl,ko(this.pgId??this.id))}kpuzzle(){return A(this,Ql)??q(this,Ql,zp(this.pg(),this.id))}svg(){return A(this,jl)??q(this,jl,(async()=>(await this.pg()).generatesvg())())}};Kl=new WeakMap,Ql=new WeakMap,jl=new WeakMap;Nr=class extends dt{constructor(){super(...arguments);this.stickerings=Fn}appearance(t){return _t(this,t)}}});var Z2={};Be(Z2,{cube2x2x2KPuzzleDefinition:()=>Pt});var Pt,X2=w(()=>{Pt={name:\\\"2x2x2\\\",orbits:{CORNERS:{numPieces:8,numOrientations:3}},startStateData:{CORNERS:{pieces:[0,1,2,3,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]}},moves:{U:{CORNERS:{permutation:[1,2,3,0,4,5,6,7],orientation:[0,0,0,0,0,0,0,0]}},y:{CORNERS:{permutation:[1,2,3,0,7,4,5,6],orientation:[0,0,0,0,0,0,0,0]}},x:{CORNERS:{permutation:[4,0,3,5,7,6,2,1],orientation:[2,1,2,1,1,2,1,2]}},L:{CORNERS:{permutation:[0,1,6,2,4,3,5,7],orientation:[0,0,2,1,0,2,1,0]}},F:{CORNERS:{permutation:[3,1,2,5,0,4,6,7],orientation:[1,0,0,2,2,1,0,0]}},R:{CORNERS:{permutation:[4,0,2,3,7,5,6,1],orientation:[2,1,0,0,1,0,0,2]}},B:{CORNERS:{permutation:[0,7,1,3,4,5,2,6],orientation:[0,2,1,0,0,0,2,1]}},D:{CORNERS:{permutation:[0,1,2,3,5,6,7,4],orientation:[0,0,0,0,0,0,0,0]}},z:{CORNERS:{permutation:[3,2,6,5,0,4,7,1],orientation:[1,2,1,2,2,1,2,1]}}}};Pt.moves.Rv=Pt.moves.x;Pt.moves.Uv=Pt.moves.y;Pt.moves.Fv=Pt.moves.z;Pt.moves.Lv={CORNERS:{permutation:[1,7,6,2,0,3,5,4],orientation:[2,1,2,1,1,2,1,2]}};Pt.moves.Dv={CORNERS:{permutation:[3,0,1,2,5,6,7,4],orientation:[0,0,0,0,0,0,0,0]}};Pt.moves.Bv={CORNERS:{permutation:[4,7,1,0,5,3,2,6],orientation:[1,2,1,2,2,1,2,1]}}});var J2={};Be(J2,{default:()=>_p});var _p,$2=w(()=>{_p=`<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.0//EN\\\"\\n \\\"http://www.w3.org/TR/2001/REC-SVG-20050904/DTD/svg11.dtd\\\">\\n<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" viewBox=\\\"0 0 520 394\\\" preserveAspectRatio=\\\"xMidYMid meet\\\">\\n <title>2x2x2</title>\\n <defs>\\n <g id=\\\"sticker\\\">\\n <rect x=\\\"0\\\" y=\\\"0\\\" width=\\\"1\\\" height=\\\"1\\\" stroke=\\\"black\\\" stroke-width=\\\"0.04px\\\" />\\n </g>\\n </defs>\\n <g id=\\\"puzzle\\\" transform=\\\"translate(5, 5) scale(60)\\\">\\n <use id=\\\"CORNERS-l0-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.2, 1)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"CORNERS-l0-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.4, 2.2)\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CORNERS-l0-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.2, 2.2)\\\" style=\\\"fill: limegreen\\\"/>\\n\\n <use id=\\\"CORNERS-l1-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.2, 0)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"CORNERS-l1-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(6.6, 2.2)\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"CORNERS-l1-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(5.4, 2.2)\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"CORNERS-l2-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(2.2, 0)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"CORNERS-l2-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(0, 2.2)\\\" style=\\\"fill: orange\\\"/>\\n <use id=\\\"CORNERS-l2-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(7.6, 2.2)\\\" style=\\\"fill: #26f\\\"/>\\n\\n <use id=\\\"CORNERS-l3-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(2.2, 1)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"CORNERS-l3-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(2.2, 2.2)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CORNERS-l3-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(1, 2.2)\\\" style=\\\"fill: orange\\\"/>\\n\\n <use id=\\\"CORNERS-l4-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.2, 4.4)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS-l4-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.2, 3.2)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CORNERS-l4-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.4, 3.2)\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"CORNERS-l5-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(2.2, 4.4)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS-l5-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(1, 3.2)\\\" style=\\\"fill: orange\\\"/>\\n <use id=\\\"CORNERS-l5-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(2.2, 3.2)\\\" style=\\\"fill: limegreen\\\"/>\\n\\n <use id=\\\"CORNERS-l6-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(2.2, 5.4)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS-l6-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(7.6, 3.2)\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"CORNERS-l6-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(0, 3.2)\\\" style=\\\"fill: orange\\\"/>\\n\\n <use id=\\\"CORNERS-l7-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.2, 5.4)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS-l7-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(5.4, 3.2)\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CORNERS-l7-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(6.6, 3.2)\\\" style=\\\"fill: #26f\\\"/>\\n </g>\\n\\n</svg>`});var zo,ef=w(()=>{Je();Or();Gr();Bn();zo={id:\\\"2x2x2\\\",fullName:\\\"2\\\\xD72\\\\xD72 Cube\\\",kpuzzle:We(async()=>new Ne((await Promise.resolve().then(()=>(X2(),Z2))).cube2x2x2KPuzzleDefinition)),svg:async()=>(await Promise.resolve().then(()=>($2(),J2))).default,pg:We(async()=>ko(\\\"2x2x2\\\")),appearance:e=>_t(zo,e),stickerings:Fn}});var tf={};Be(tf,{default:()=>Cp});var Cp,rf=w(()=>{Cp=`<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.0//EN\\\"\\n \\\"http://www.w3.org/TR/2001/REC-SVG-20050904/DTD/svg11.dtd\\\">\\n<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" viewBox=\\\"0 0 518 392\\\" preserveAspectRatio=\\\"xMidYMid meet\\\">\\n <title>3x3x3</title>\\n <defs>\\n <g id=\\\"sticker\\\">\\n <rect x=\\\"0\\\" y=\\\"0\\\" width=\\\"1\\\" height=\\\"1\\\" stroke=\\\"black\\\" stroke-width=\\\"0.04px\\\" />\\n </g>\\n </defs>\\n\\n<!-- 0 1 2 3 4 5 6 7 8 9 10 11 -->\\n<!-- | | | | | | | | | | | |<- -->\\n<!-- 0 - . . . -->\\n<!-- 1 - . . . -->\\n<!-- 2 - . . . -->\\n<!-- 3 - . . . . . . . . . . . . -->\\n<!-- 4 - . . . . . . . . . . . . -->\\n<!-- 5 - . . . . . . . . . . . . -->\\n<!-- 6 - . . . -->\\n<!-- 7 - . . . -->\\n<!-- 8 - . . . -->\\n\\n <g id=\\\"puzzle\\\" transform=\\\"translate(5,5) scale(40)\\\">\\n <!-- CORNERS -->\\n <use id=\\\"CORNERS-l0-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(5.3,2.1)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"CORNERS-l0-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(6.5,3.3)\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CORNERS-l0-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(5.3,3.3)\\\" style=\\\"fill: limegreen\\\"/>\\n\\n <use id=\\\"CORNERS-l1-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(5.3,0.1)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"CORNERS-l1-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(9.7,3.3)\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"CORNERS-l1-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(8.5,3.3)\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"CORNERS-l2-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.3,0.1)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"CORNERS-l2-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(0.1,3.3)\\\" style=\\\"fill: orange\\\"/>\\n <use id=\\\"CORNERS-l2-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(11.7,3.3)\\\" style=\\\"fill: #26f\\\"/>\\n\\n <use id=\\\"CORNERS-l3-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.3,2.1)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"CORNERS-l3-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.3,3.3)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CORNERS-l3-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(2.1,3.3)\\\" style=\\\"fill: orange\\\"/>\\n\\n <use id=\\\"CORNERS-l4-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(5.3,6.5)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS-l4-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(5.3,5.3)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CORNERS-l4-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(6.5,5.3)\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"CORNERS-l5-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.3,6.5)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS-l5-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(2.1,5.3)\\\" style=\\\"fill: orange\\\"/>\\n <use id=\\\"CORNERS-l5-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.3,5.3)\\\" style=\\\"fill: limegreen\\\"/>\\n\\n <use id=\\\"CORNERS-l6-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.3,8.5)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS-l6-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(11.7,5.3)\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"CORNERS-l6-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(0.1,5.3)\\\" style=\\\"fill: orange\\\"/>\\n\\n <use id=\\\"CORNERS-l7-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(5.3,8.5)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS-l7-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(8.5,5.3)\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CORNERS-l7-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(9.7,5.3)\\\" style=\\\"fill: #26f\\\"/>\\n\\n <!-- EDGES -->\\n <use id=\\\"EDGES-l0-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,2.1)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"EDGES-l0-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,3.3)\\\" style=\\\"fill: limegreen\\\"/>\\n\\n <use id=\\\"EDGES-l1-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(5.3,1.1)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"EDGES-l1-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(7.5,3.3)\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"EDGES-l2-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,0.1)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"EDGES-l2-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(10.7,3.3)\\\" style=\\\"fill: #26f\\\"/>\\n\\n <use id=\\\"EDGES-l3-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.3,1.1)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"EDGES-l3-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(1.1,3.3)\\\" style=\\\"fill: orange\\\"/>\\n\\n <use id=\\\"EDGES-l4-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,6.5)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"EDGES-l4-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,5.3)\\\" style=\\\"fill: limegreen\\\"/>\\n\\n <use id=\\\"EDGES-l5-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(5.3,7.5)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"EDGES-l5-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(7.5,5.3)\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"EDGES-l6-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,8.5)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"EDGES-l6-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(10.7,5.3)\\\" style=\\\"fill: #26f\\\"/>\\n\\n <use id=\\\"EDGES-l7-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.3,7.5)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"EDGES-l7-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(1.1,5.3)\\\" style=\\\"fill: orange\\\"/>\\n\\n <use id=\\\"EDGES-l8-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(5.3,4.3)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"EDGES-l8-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(6.5,4.3)\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"EDGES-l9-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(3.3,4.3)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"EDGES-l9-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(2.1,4.3)\\\" style=\\\"fill: orange\\\"/>\\n\\n <use id=\\\"EDGES-l10-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(9.7,4.3)\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"EDGES-l10-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(8.5,4.3)\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"EDGES-l11-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(11.7,4.3)\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"EDGES-l11-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(0.1,4.3)\\\" style=\\\"fill: orange\\\"/>\\n\\n <!-- CENTERS -->\\n <!-- TODO: Allow the same sticker to be reused for multiple orientations -->\\n <use id=\\\"CENTERS-l0-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,1.1)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"CENTERS-l0-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,1.1)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"CENTERS-l0-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,1.1)\\\" style=\\\"fill: white\\\"/>\\n <use id=\\\"CENTERS-l0-o3\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,1.1)\\\" style=\\\"fill: white\\\"/>\\n\\n <use id=\\\"CENTERS-l1-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(1.1,4.3)\\\" style=\\\"fill: orange\\\"/>\\n <use id=\\\"CENTERS-l1-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(1.1,4.3)\\\" style=\\\"fill: orange\\\"/>\\n <use id=\\\"CENTERS-l1-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(1.1,4.3)\\\" style=\\\"fill: orange\\\"/>\\n <use id=\\\"CENTERS-l1-o3\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(1.1,4.3)\\\" style=\\\"fill: orange\\\"/>\\n\\n <use id=\\\"CENTERS-l2-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,4.3)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CENTERS-l2-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,4.3)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CENTERS-l2-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,4.3)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CENTERS-l2-o3\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,4.3)\\\" style=\\\"fill: limegreen\\\"/>\\n\\n <use id=\\\"CENTERS-l3-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(7.5,4.3)\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CENTERS-l3-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(7.5,4.3)\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CENTERS-l3-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(7.5,4.3)\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CENTERS-l3-o3\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(7.5,4.3)\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"CENTERS-l4-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(10.7,4.3)\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"CENTERS-l4-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(10.7,4.3)\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"CENTERS-l4-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(10.7,4.3)\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"CENTERS-l4-o3\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(10.7,4.3)\\\" style=\\\"fill: #26f\\\"/>\\n\\n <use id=\\\"CENTERS-l5-o0\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,7.5)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CENTERS-l5-o1\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,7.5)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CENTERS-l5-o2\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,7.5)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CENTERS-l5-o3\\\" xlink:href=\\\"#sticker\\\" transform=\\\"translate(4.3,7.5)\\\" style=\\\"fill: yellow\\\"/>\\n </g>\\n\\n</svg>`});var nf={};Be(nf,{default:()=>Pp});var Pp,of=w(()=>{Pp=`<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<svg width=\\\"288px\\\" height=\\\"288px\\\" viewBox=\\\"-16 -16 288 288\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\">\\n <title>3x3x3 LL</title>\\n <defs>\\n <g id=\\\"sticker\\\">\\n <rect x=\\\"-10\\\" y=\\\"-10\\\" width=\\\"1\\\" height=\\\"1\\\" stroke=\\\"black\\\" stroke-width=\\\"0.04px\\\" />\\n </g>\\n </defs>\\n <g id=\\\"3x3x3-LL\\\" stroke=\\\"none\\\" stroke-width=\\\"4\\\" style=\\\"none\\\" stroke-linejoin=\\\"round\\\">\\n <rect id=\\\"CENTERS-l0-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: white\\\" x=\\\"96\\\" y=\\\"96\\\" width=\\\"64\\\" height=\\\"64\\\"></rect>\\n <rect id=\\\"CENTERS-l0-o1\\\" stroke=\\\"#000000\\\" style=\\\"fill: white\\\" x=\\\"96\\\" y=\\\"96\\\" width=\\\"64\\\" height=\\\"64\\\"></rect>\\n <rect id=\\\"CENTERS-l0-o2\\\" stroke=\\\"#000000\\\" style=\\\"fill: white\\\" x=\\\"96\\\" y=\\\"96\\\" width=\\\"64\\\" height=\\\"64\\\"></rect>\\n <rect id=\\\"CENTERS-l0-o3\\\" stroke=\\\"#000000\\\" style=\\\"fill: white\\\" x=\\\"96\\\" y=\\\"96\\\" width=\\\"64\\\" height=\\\"64\\\"></rect>\\n\\n <rect id=\\\"CORNERS-l0-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: white\\\" x=\\\"160\\\" y=\\\"160\\\" width=\\\"64\\\" height=\\\"64\\\"></rect>\\n <polygon id=\\\"CORNERS-l0-o1\\\" stroke=\\\"#000000\\\" style=\\\"fill: red\\\" points=\\\"224 160 252 160 252 252 224 224\\\"></polygon>\\n <polygon id=\\\"CORNERS-l0-o2\\\" stroke=\\\"#000000\\\" style=\\\"fill: limegreen\\\" transform=\\\"translate(206, 238) scale(1, -1) rotate(-90) translate(-206, -238) \\\" points=\\\"192 192 220 192 220 284 192 256\\\"></polygon>\\n <rect id=\\\"CORNERS-l1-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: white\\\" x=\\\"160\\\" y=\\\"32\\\" width=\\\"64\\\" height=\\\"64\\\"></rect>\\n <polygon id=\\\"CORNERS-l1-o1\\\" stroke=\\\"#000000\\\" style=\\\"fill: #26f\\\" transform=\\\"translate(206, 18) rotate(-90) translate(-206, -18) \\\" points=\\\"192 -28 220 -28 220 64 192 36\\\"></polygon>\\n <polygon id=\\\"CORNERS-l1-o2\\\" stroke=\\\"#000000\\\" style=\\\"fill: red\\\" transform=\\\"translate(238, 50) scale(1, -1) translate(-238, -50) \\\" points=\\\"224 4 252 4 252 96 224 68\\\"></polygon>\\n <rect id=\\\"CORNERS-l2-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: white\\\" x=\\\"32\\\" y=\\\"32\\\" width=\\\"64\\\" height=\\\"64\\\"></rect>\\n <polygon id=\\\"CORNERS-l2-o1\\\" stroke=\\\"#000000\\\" style=\\\"fill: orange\\\" transform=\\\"translate(18, 50) scale(-1, -1) translate(-18, -50) \\\" points=\\\"4 4 32 4 32 96 4 68\\\"></polygon>\\n <polygon id=\\\"CORNERS-l2-o2\\\" stroke=\\\"#000000\\\" style=\\\"fill: #26f\\\" transform=\\\"translate(50, 18) scale(1, -1) rotate(90) translate(-50, -18) \\\" points=\\\"36 -28 64 -28 64 64 36 36\\\"></polygon>\\n <rect id=\\\"CORNERS-l3-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: white\\\" x=\\\"32\\\" y=\\\"160\\\" width=\\\"64\\\" height=\\\"64\\\"></rect>\\n <polygon id=\\\"CORNERS-l3-o1\\\" stroke=\\\"#000000\\\" style=\\\"fill: limegreen\\\" transform=\\\"translate(50, 238) rotate(90) translate(-50, -238) \\\" points=\\\"36 192 64 192 64 284 36 256\\\"></polygon>\\n <polygon id=\\\"CORNERS-l3-o2\\\" stroke=\\\"#000000\\\" style=\\\"fill: orange\\\" transform=\\\"translate(18, 206) scale(-1, 1) translate(-18, -206) \\\" points=\\\"4 160 32 160 32 252 4 224\\\"></polygon>\\n\\n <rect id=\\\"EDGES-l0-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: white\\\" x=\\\"96\\\" y=\\\"160\\\" width=\\\"64\\\" height=\\\"64\\\"></rect>\\n <rect id=\\\"EDGES-l0-o1\\\" stroke=\\\"#000000\\\" style=\\\"fill: limegreen\\\" transform=\\\"translate(128, 238) scale(1, -1) rotate(90) translate(-128, -238) \\\" x=\\\"114\\\" y=\\\"206\\\" width=\\\"28\\\" height=\\\"64\\\"></rect>\\n <rect id=\\\"EDGES-l1-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: white\\\" x=\\\"160\\\" y=\\\"96\\\" width=\\\"64\\\" height=\\\"64\\\"></rect>\\n <rect id=\\\"EDGES-l1-o1\\\" stroke=\\\"#000000\\\" style=\\\"fill: red\\\" x=\\\"224\\\" y=\\\"96\\\" width=\\\"28\\\" height=\\\"64\\\"></rect>\\n <rect id=\\\"EDGES-l2-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: white\\\" x=\\\"96\\\" y=\\\"32\\\" width=\\\"64\\\" height=\\\"64\\\"></rect>\\n <rect id=\\\"EDGES-l2-o1\\\" stroke=\\\"#000000\\\" style=\\\"fill: #26f\\\" transform=\\\"translate(128, 18) scale(1, -1) rotate(90) translate(-128, -18) \\\" x=\\\"114\\\" y=\\\"-14\\\" width=\\\"28\\\" height=\\\"64\\\"></rect>\\n <rect id=\\\"EDGES-l3-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: white\\\" x=\\\"32\\\" y=\\\"96\\\" width=\\\"64\\\" height=\\\"64\\\"></rect>\\n <rect id=\\\"EDGES-l3-o1\\\" stroke=\\\"#000000\\\" style=\\\"fill: orange\\\" x=\\\"4\\\" y=\\\"96\\\" width=\\\"28\\\" height=\\\"64\\\"></rect>\\n\\n </g>\\n <g style=\\\"opacity: 0\\\">\\n <!-- CORNERS -->\\n <use id=\\\"CORNERS-l4-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS-l4-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CORNERS-l4-o2\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"CORNERS-l5-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS-l5-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: orange\\\"/>\\n <use id=\\\"CORNERS-l5-o2\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: limegreen\\\"/>\\n\\n <use id=\\\"CORNERS-l6-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS-l6-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"CORNERS-l6-o2\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: orange\\\"/>\\n\\n <use id=\\\"CORNERS-l7-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS-l7-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CORNERS-l7-o2\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: #26f\\\"/>\\n\\n <!-- EDGES -->\\n <use id=\\\"EDGES-l4-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"EDGES-l4-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: limegreen\\\"/>\\n\\n <use id=\\\"EDGES-l5-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"EDGES-l5-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"EDGES-l6-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"EDGES-l6-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: #26f\\\"/>\\n\\n <use id=\\\"EDGES-l7-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"EDGES-l7-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: orange\\\"/>\\n\\n <use id=\\\"EDGES-l8-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"EDGES-l8-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"EDGES-l9-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"EDGES-l9-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: orange\\\"/>\\n\\n <use id=\\\"EDGES-l10-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"EDGES-l10-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"EDGES-l11-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"EDGES-l11-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: orange\\\"/>\\n\\n <!-- CENTERS -->\\n <!-- TODO: Allow the same sticker to be reused for multiple orientations -->\\n <use id=\\\"CENTERS-l1-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: orange\\\"/>\\n <use id=\\\"CENTERS-l1-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: orange\\\"/>\\n <use id=\\\"CENTERS-l1-o2\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: orange\\\"/>\\n <use id=\\\"CENTERS-l1-o3\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: orange\\\"/>\\n\\n <use id=\\\"CENTERS-l2-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CENTERS-l2-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CENTERS-l2-o2\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CENTERS-l2-o3\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: limegreen\\\"/>\\n\\n <use id=\\\"CENTERS-l3-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CENTERS-l3-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CENTERS-l3-o2\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CENTERS-l3-o3\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"CENTERS-l4-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"CENTERS-l4-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"CENTERS-l4-o2\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: #26f\\\"/>\\n <use id=\\\"CENTERS-l4-o3\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: #26f\\\"/>\\n\\n <use id=\\\"CENTERS-l5-o0\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CENTERS-l5-o1\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CENTERS-l5-o2\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CENTERS-l5-o3\\\" xlink:href=\\\"#sticker\\\" style=\\\"fill: yellow\\\"/>\\n </g>\\n</svg>`});var Qa,lf=w(()=>{Je();Or();Gr();Bn();Qa={id:\\\"3x3x3\\\",fullName:\\\"3\\\\xD73\\\\xD73 Cube\\\",inventedBy:[\\\"Ern\\\\u0151 Rubik\\\"],inventionYear:1974,kpuzzle:We(async()=>Ba),svg:We(async()=>(await Promise.resolve().then(()=>(rf(),tf))).default),llSVG:We(async()=>(await Promise.resolve().then(()=>(of(),nf))).default),pg:We(async()=>ko(\\\"3x3x3\\\")),appearance:e=>_t(Qa,e),stickerings:Fn}});var af={};Be(af,{clockKPuzzleDefinition:()=>Mp});var Mp,sf=w(()=>{Mp={name:\\\"Clock\\\",orbits:{DIALS:{numPieces:18,numOrientations:12},FACES:{numPieces:18,numOrientations:1},FRAME:{numPieces:1,numOrientations:2}},startStateData:{DIALS:{pieces:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{pieces:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{pieces:[0],orientation:[0]}},moves:{UR_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,1,1,0,1,1,0,0,0,-1,0,0,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},DR_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,-1,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},DL_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,-1]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},UL_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[1,1,0,1,1,0,0,0,0,0,0,-1,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},U_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[1,1,1,1,1,1,0,0,0,-1,0,-1,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},R_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,1,1,0,1,1,0,1,1,-1,0,0,0,0,0,-1,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},D_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,-1,0,-1]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},L_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[1,1,0,1,1,0,1,1,0,0,0,-1,0,0,0,0,0,-1]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},ALL_PLUS_:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[1,1,1,1,1,1,1,1,1,-1,0,-1,0,0,0,-1,0,-1]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},y2:{DIALS:{permutation:[9,10,11,12,13,14,15,16,17,0,1,2,3,4,5,6,7,8],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{permutation:[9,10,11,12,13,14,15,16,17,0,1,2,3,4,5,6,7,8],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[1]}},UL:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},UR:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},DL:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}},DR:{DIALS:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FACES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},FRAME:{permutation:[0],orientation:[0]}}}}});var ff={};Be(ff,{default:()=>Gp});var Gp,uf=w(()=>{Gp=`<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" viewBox=\\\"0 0 480 240\\\" preserveAspectRatio=\\\"xMidYMid meet\\\">\\n <title>clock</title>\\n <defs>\\n <g id=\\\"hand\\\" transform=\\\"translate(-20, -20)\\\">\\n <path d=\\\"M19.9995197,2.22079449 L23.8791657,19.0203611 C23.9580836,19.3338406 24,19.6620253 24,20 C24,22.209139 22.209139,24 20,24 C17.790861,24 16,22.209139 16,20 C16,19.6620253 16.0419164,19.3338406 16.1208343,19.0203611 L19.9995197,2.22079449 Z\\\"></path>\\n </g>\\n <g id=\\\"cardinal_hours\\\" style=\\\"fill: #FFFFFF\\\">\\n <circle cx=\\\"0\\\" cy=\\\"24\\\" r=\\\"2\\\"></circle>\\n <circle cx=\\\"-24\\\" cy=\\\"0\\\" r=\\\"2\\\"></circle>\\n <circle cx=\\\"24\\\" cy=\\\"0\\\" r=\\\"2\\\"></circle>\\n <circle cx=\\\"0\\\" cy=\\\"-24\\\" r=\\\"2\\\"></circle>\\n </g>\\n <g id=\\\"face_hours\\\">\\n <g>\\n <use xlink:href=\\\"#cardinal_hours\\\"/>\\n </g>\\n <g transform=\\\"rotate(30)\\\">\\n <use xlink:href=\\\"#cardinal_hours\\\"/>\\n </g>\\n <g transform=\\\"rotate(60)\\\">\\n <use xlink:href=\\\"#cardinal_hours\\\"/>\\n </g>\\n </g>\\n <g id=\\\"pegs\\\" stroke=\\\"#000000\\\" style=\\\"fill: #FFD000\\\">\\n <circle id=\\\"PEG4\\\" cx=\\\"90\\\" cy=\\\"90\\\" r=\\\"10\\\"></circle>\\n <circle id=\\\"PEG3\\\" cx=\\\"30\\\" cy=\\\"90\\\" r=\\\"10\\\"></circle>\\n <circle id=\\\"PEG2\\\" cx=\\\"90\\\" cy=\\\"30\\\" r=\\\"10\\\"></circle>\\n <circle id=\\\"PEG1\\\" cx=\\\"30\\\" cy=\\\"30\\\" r=\\\"10\\\"></circle>\\n </g>\\n <g id=\\\"frame\\\" transform=\\\"translate(-24, -24)\\\">\\n <path stroke=\\\"#000000\\\" d=\\\"M120,20 C137.495665,20 153.941932,24.4930026 168.247913,32.3881183 C171.855881,30.8514056 175.828512,30 180,30 C196.568542,30 210,43.4314575 210,60 C210,64.1714878 209.148594,68.1441192 207.610077,71.7536009 C215.506997,86.0580678 220,102.504335 220,120 C220,137.495665 215.506997,153.941932 207.611882,168.247913 C209.148594,171.855881 210,175.828512 210,180 C210,196.568542 196.568542,210 180,210 C175.828512,210 171.855881,209.148594 168.246399,207.610077 C153.941932,215.506997 137.495665,220 120,220 C102.504335,220 86.0580678,215.506997 71.7520869,207.611882 C68.1441192,209.148594 64.1714878,210 60,210 C43.4314575,210 30,196.568542 30,180 C30,175.828512 30.8514056,171.855881 32.3899234,168.246399 C24.4930026,153.941932 20,137.495665 20,120 C20,102.504335 24.4930026,86.0580678 32.3881183,71.7520869 C30.8514056,68.1441192 30,64.1714878 30,60 C30,43.4314575 43.4314575,30 60,30 C64.1714878,30 68.1441192,30.8514056 71.7536009,32.3899234 C86.0580678,24.4930026 102.504335,20 120,20 Z\\\"></path>\\n </g>\\n </defs>\\n <g>\\n <g transform=\\\"translate(24, 24)\\\">\\n <use xlink:href=\\\"#frame\\\" id=\\\"FRAME-l0-o0\\\" style=\\\"fill: #0C5093\\\"/>\\n <use xlink:href=\\\"#pegs\\\" transform=\\\"translate(36, 36)\\\"/>\\n <g transform=\\\"translate(36, 36)\\\">\\n <circle id=\\\"FACES-l0-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #90B8DF\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l0-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l0-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l0-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l0-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l0-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l0-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l0-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l0-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l0-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l0-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l0-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l0-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(96, 36)\\\">\\n <circle id=\\\"FACES-l1-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #90B8DF\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l1-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l1-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l1-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l1-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l1-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l1-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l1-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l1-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l1-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l1-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l1-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l1-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(156, 36)\\\">\\n <circle id=\\\"FACES-l2-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #90B8DF\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l2-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l2-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l2-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l2-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l2-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l2-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l2-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l2-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l2-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l2-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l2-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l2-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(36, 96)\\\">\\n <circle id=\\\"FACES-l3-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #90B8DF\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l3-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l3-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l3-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l3-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l3-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l3-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l3-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l3-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l3-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l3-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l3-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l3-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(96, 96)\\\">\\n <circle id=\\\"FACES-l4-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #90B8DF\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l4-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l4-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l4-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l4-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l4-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l4-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l4-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l4-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l4-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l4-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l4-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l4-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(156, 96)\\\">\\n <circle id=\\\"FACES-l5-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #90B8DF\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l5-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l5-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l5-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l5-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l5-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l5-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l5-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l5-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l5-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l5-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l5-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l5-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(36, 156)\\\">\\n <circle id=\\\"FACES-l6-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #90B8DF\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l6-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l6-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l6-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l6-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l6-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l6-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l6-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l6-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l6-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l6-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l6-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l6-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(96, 156)\\\">\\n <circle id=\\\"FACES-l7-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #90B8DF\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l7-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l7-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l7-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l7-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l7-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l7-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l7-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l7-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l7-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l7-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l7-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l7-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(156, 156)\\\">\\n <circle id=\\\"FACES-l8-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #90B8DF\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l8-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l8-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l8-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l8-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l8-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l8-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l8-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l8-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l8-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l8-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l8-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l8-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n </g>\\n <g transform=\\\"translate(264, 24)\\\">\\n <use xlink:href=\\\"#frame\\\" id=\\\"FRAME-l0-o1\\\" style=\\\"fill: #90B8DF\\\"/>\\n <use xlink:href=\\\"#pegs\\\" transform=\\\"translate(36, 36)\\\"/>\\n <g transform=\\\"translate(36, 36)\\\">\\n <circle id=\\\"FACES-l9-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #0C5093\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l9-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l9-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l9-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l9-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l9-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l9-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l9-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l9-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l9-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l9-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l9-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l9-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(96, 36)\\\">\\n <circle id=\\\"FACES-l10-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #0C5093\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l10-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l10-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l10-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l10-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l10-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l10-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l10-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l10-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l10-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l10-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l10-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l10-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(156, 36)\\\">\\n <circle id=\\\"FACES-l11-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #0C5093\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l11-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l11-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l11-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l11-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l11-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l11-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l11-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l11-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l11-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l11-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l11-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l11-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(36, 96)\\\">\\n <circle id=\\\"FACES-l12-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #0C5093\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l12-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l12-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l12-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l12-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l12-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l12-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l12-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l12-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l12-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l12-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l12-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l12-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(96, 96)\\\">\\n <circle id=\\\"FACES-l13-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #0C5093\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l13-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l13-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l13-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l13-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l13-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l13-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l13-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l13-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l13-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l13-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l13-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l13-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(156, 96)\\\">\\n <circle id=\\\"FACES-l14-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #0C5093\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l14-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l14-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l14-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l14-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l14-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l14-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l14-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l14-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l14-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l14-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l14-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l14-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(36, 156)\\\">\\n <circle id=\\\"FACES-l15-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #0C5093\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l15-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l15-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l15-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l15-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l15-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l15-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l15-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l15-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l15-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l15-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l15-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l15-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(96, 156)\\\">\\n <circle id=\\\"FACES-l16-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #0C5093\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l16-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l16-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l16-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l16-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l16-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l16-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l16-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l16-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l16-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l16-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l16-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l16-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n <g transform=\\\"translate(156, 156)\\\">\\n <circle id=\\\"FACES-l17-o0\\\" stroke=\\\"#000000\\\" style=\\\"fill: #0C5093\\\" r=\\\"20\\\"></circle>\\n <use xlink:href=\\\"#face_hours\\\"/>\\n <g>\\n <use id=\\\"DIALS-l17-o0\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(0)\\\" style=\\\"fill: #FFD000\\\"/>\\n <use id=\\\"DIALS-l17-o1\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(30)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l17-o2\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(60)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l17-o3\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(90)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l17-o4\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(120)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l17-o5\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(150)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l17-o6\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(180)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l17-o7\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(210)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l17-o8\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(240)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l17-o9\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(270)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l17-o10\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(300)\\\" style=\\\"fill: #0000\\\"/>\\n <use id=\\\"DIALS-l17-o11\\\" xlink:href=\\\"#hand\\\" transform=\\\"rotate(330)\\\" style=\\\"fill: #0000\\\"/>\\n </g>\\n </g>\\n </g>\\n </g>\\n</svg>`});var cf,mf=w(()=>{Je();Gr();cf={id:\\\"clock\\\",fullName:\\\"Clock\\\",inventedBy:[\\\"Christopher C. Wiggs\\\",\\\"Christopher J. Taylor\\\"],inventionYear:1988,kpuzzle:We(async()=>new Ne((await Promise.resolve().then(()=>(sf(),af))).clockKPuzzleDefinition)),svg:We(async()=>(await Promise.resolve().then(()=>(uf(),ff))).default)}});async function pf(e,t){let r=await e.kpuzzle(),n=new Ro(r),o=new Fo(r),l=()=>o.and([o.move(\\\"U\\\"),o.not(o.or(o.moves([\\\"F\\\",\\\"BL\\\",\\\"BR\\\"])))]),i=()=>o.and([o.move(\\\"U\\\"),o.not(o.move(\\\"F\\\"))]),a=()=>o.or([i(),o.and([o.move(\\\"F\\\"),o.not(o.or(o.moves([\\\"U\\\",\\\"BL\\\",\\\"BR\\\"])))])]),f=()=>o.not(o.or([o.and([o.move(\\\"U\\\"),o.move(\\\"F\\\")]),o.and([o.move(\\\"F\\\"),o.move(\\\"BL\\\")]),o.and([o.move(\\\"F\\\"),o.move(\\\"BR\\\")]),o.and([o.move(\\\"BL\\\"),o.move(\\\"BR\\\")])])),s=()=>o.not(o.or([o.and([o.move(\\\"F\\\"),o.move(\\\"BL\\\")]),o.and([o.move(\\\"F\\\"),o.move(\\\"BR\\\")]),o.and([o.move(\\\"BL\\\"),o.move(\\\"BR\\\")])]));switch(t){case\\\"full\\\":break;case\\\"experimental-fto-fc\\\":n.set(o.not(l()),x.Ignored);break;case\\\"experimental-fto-f2t\\\":n.set(o.not(i()),x.Ignored),n.set(l(),x.Dim);break;case\\\"experimental-fto-sc\\\":n.set(o.not(a()),x.Ignored),n.set(i(),x.Dim);break;case\\\"experimental-fto-l2c\\\":n.set(o.not(f()),x.Ignored),n.set(a(),x.Dim);break;case\\\"experimental-fto-lbt\\\":n.set(o.not(s()),x.Ignored),n.set(f(),x.Dim);break;case\\\"experimental-fto-l3t\\\":n.set(s(),x.Dim);break;default:console.warn(`Unsupported stickering for ${e.id}: ${t}. Setting all pieces to dim.`),n.set(o.and(o.moves([])),x.Dim)}return n.toAppearance()}async function gf(){return[\\\"full\\\",\\\"experimental-fto-fc\\\",\\\"experimental-fto-f2t\\\",\\\"experimental-fto-sc\\\",\\\"experimental-fto-l2c\\\",\\\"experimental-fto-lbt\\\",\\\"experimental-fto-l3t\\\"]}var df=w(()=>{Bo()});var hf,Lf,Af=w(()=>{Or();df();hf=class extends dt{constructor(){super({pgID:\\\"FTO\\\",id:\\\"fto\\\",fullName:\\\"Face-Turning Octahedron\\\",inventedBy:[\\\"Karl Rohrbach\\\",\\\"David Pitcher\\\"],inventionYear:1983});this.stickerings=gf}appearance(t){return pf(this,t)}},Lf=new hf});async function Df(e,t){switch(t){case\\\"full\\\":case\\\"F2L\\\":case\\\"LL\\\":return _t(e,t);default:console.warn(`Unsupported stickering for ${e.id}: ${t}. Setting all pieces to dim.`)}return _t(e,\\\"full\\\")}async function yf(){return[\\\"full\\\",\\\"F2L\\\",\\\"LL\\\"]}var Rf=w(()=>{Bn()});var Ff,Bf,bf=w(()=>{Or();Rf();Ff=class extends dt{constructor(){super({id:\\\"megaminx\\\",fullName:\\\"Megaminx\\\",inventionYear:1981});this.stickerings=yf}appearance(t){return Df(this,t)}},Bf=new Ff});var wf={};Be(wf,{default:()=>Tp});var Tp,xf=w(()=>{Tp=`<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.0//EN\\\"\\n \\\"http://www.w3.org/TR/2001/REC-SVG-20050904/DTD/svg11.dtd\\\">\\n<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" viewBox=\\\"-20 -20 546 480\\\" preserveAspectRatio=\\\"xMidYMid meet\\\">\\n <defs>\\n </defs>\\n <title>pyraminx</title>\\n <defs>\\n <g id=\\\"stickerA\\\" transform=\\\"scale(1, 0.577350269)\\\">\\n <path\\n d=\\\"m 0,1.732050808 1,-1.732050808 1,1.732050808 z\\\"\\n stroke=\\\"black\\\" stroke-width=\\\"0.04px\\\" stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"round\\\"\\n />\\n </g>\\n <g id=\\\"stickerV\\\" transform=\\\"scale(1, 0.577350269)\\\">\\n <path\\n d=\\\"m 0,0 1,1.732050808 1,-1.732050808 z\\\"\\n stroke=\\\"black\\\" stroke-width=\\\"0.04px\\\" stroke-linecap=\\\"butt\\\" stroke-linejoin=\\\"round\\\"\\n />\\n </g>\\n </defs>\\n\\n<!-- 0 1 2 3 4 5 6 7 8 9 10 -->\\n<!-- | | | | | | | | | | | -->\\n<!-- 0 - L L L L L F R R R R R -->\\n<!-- 1 - L L L F F F R R R -->\\n<!-- 2 - L F F F F F R -->\\n<!-- 3 - D D D D D -->\\n<!-- 4 - D D D -->\\n<!-- 5 - D -->\\n\\n <g id=\\\"puzzle\\\" transform=\\\"translate(5, 5) scale(40, 69.28203232)\\\">\\n <!-- CORNERS -->\\n <use id=\\\"CORNERS-l0-o0\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(5.2, 1.066666667)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CORNERS-l0-o1\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(3, 0)\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CORNERS-l0-o2\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(7.4, 0)\\\" style=\\\"fill: blue\\\"/>\\n\\n <use id=\\\"CORNERS-l3-o0\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(4.2, 2.066666667)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CORNERS-l3-o1\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(4.2, 3.2)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS-l3-o2\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(2, 1)\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"CORNERS-l2-o0\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(6.2, 2.066666667)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CORNERS-l2-o1\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(8.4, 1)\\\" style=\\\"fill: blue\\\"/>\\n <use id=\\\"CORNERS-l2-o2\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(6.2, 3.2)\\\" style=\\\"fill: yellow\\\"/>\\n\\n <use id=\\\"CORNERS-l1-o1\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(9.4, 0)\\\" style=\\\"fill: blue\\\"/>\\n <use id=\\\"CORNERS-l1-o2\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(1, 0)\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CORNERS-l1-o0\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(5.2, 4.2)\\\" style=\\\"fill: yellow\\\"/>\\n\\n <!-- \\\"TIPS\\\" -->\\n <!-- CORNERS2 -->\\n <use id=\\\"CORNERS2-l0-o0\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(5.2, 0.066666667)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CORNERS2-l0-o1\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(4, 0)\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CORNERS2-l0-o2\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(6.4, 0)\\\" style=\\\"fill: blue\\\"/>\\n\\n <use id=\\\"CORNERS2-l3-o0\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(3.2, 2.066666667)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"CORNERS2-l3-o1\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(3.2, 3.2)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS2-l3-o2\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(2, 2)\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"CORNERS2-l2-o1\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(8.4, 2)\\\" style=\\\"fill: blue\\\"/>\\n <use id=\\\"CORNERS2-l2-o2\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(7.2, 3.2)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"CORNERS2-l2-o0\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(7.2, 2.066666667)\\\" style=\\\"fill: limegreen\\\"/>\\n\\n <use id=\\\"CORNERS2-l1-o1\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(10.4,0)\\\" style=\\\"fill: blue\\\"/>\\n <use id=\\\"CORNERS2-l1-o2\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(0, 0)\\\" style=\\\"fill: red\\\"/>\\n <use id=\\\"CORNERS2-l1-o0\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(5.2, 5.2)\\\" style=\\\"fill: yellow\\\"/>\\n\\n <!-- EDGES -->\\n <use id=\\\"EDGES-l0-o0\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(4.2, 1.066666667)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"EDGES-l0-o1\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(3, 1)\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"EDGES-l5-o0\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(6.2, 1.066666667)\\\" style=\\\"fill: limegreen\\\"/>\\n <use id=\\\"EDGES-l5-o1\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(7.4, 1)\\\" style=\\\"fill: blue\\\"/>\\n\\n <use id=\\\"EDGES-l1-o1\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(8.4, 0)\\\" style=\\\"fill: blue\\\"/>\\n <use id=\\\"EDGES-l1-o0\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(2, 0)\\\" style=\\\"fill: red\\\"/>\\n\\n <use id=\\\"EDGES-l2-o1\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(5.2, 3.2)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"EDGES-l2-o0\\\" xlink:href=\\\"#stickerA\\\" transform=\\\"translate(5.2, 2.066666667)\\\" style=\\\"fill: limegreen\\\"/>\\n\\n <use id=\\\"EDGES-l3-o0\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(6.2, 4.2)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"EDGES-l3-o1\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(9.4, 1)\\\" style=\\\"fill: blue\\\"/>\\n\\n <use id=\\\"EDGES-l4-o0\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(4.2, 4.2)\\\" style=\\\"fill: yellow\\\"/>\\n <use id=\\\"EDGES-l4-o1\\\" xlink:href=\\\"#stickerV\\\" transform=\\\"translate(1, 1)\\\" style=\\\"fill: red\\\"/>\\n </g>\\n\\n</svg>`});var Sf,vf,Uf=w(()=>{Or();Gr();Sf=class extends dt{constructor(){super({id:\\\"pyraminx\\\",fullName:\\\"Pyraminx\\\",inventedBy:[\\\"Uwe Meffert\\\"]});this.svg=We(async()=>(await Promise.resolve().then(()=>(xf(),wf))).default)}},vf=new Sf});var Ef={};Be(Ef,{sq1HyperOrbitKPuzzleDefinition:()=>Ip});var Ip,kf=w(()=>{Ip={name:\\\"Square-1\\\",orbits:{WEDGES:{numPieces:24,numOrientations:9},EQUATOR:{numPieces:2,numOrientations:6}},startStateData:{WEDGES:{pieces:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},EQUATOR:{pieces:[0,1],orientation:[0,0]}},moves:{U_SQ_:{WEDGES:{permutation:[11,0,1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},EQUATOR:{permutation:[0,1],orientation:[0,0]}},D_SQ_:{WEDGES:{permutation:[0,1,2,3,4,5,6,7,8,9,10,11,23,12,13,14,15,16,17,18,19,20,21,22],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},EQUATOR:{permutation:[0,1],orientation:[0,0]}},_SLASH_:{WEDGES:{permutation:[0,1,2,3,4,5,12,13,14,15,16,17,6,7,8,9,10,11,18,19,20,21,22,23],orientation:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},EQUATOR:{permutation:[0,1],orientation:[0,3]}}}}});var zf={};Be(zf,{default:()=>Np});var Np,_f=w(()=>{Np=`<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<svg width=\\\"360px\\\" height=\\\"552px\\\" viewBox=\\\"0 0 360 552\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\">\\n <!-- Generator: Sketch 59.1 (86144) - https://sketch.com -->\\n <title>sq1-fancy</title>\\n <desc>Created with Sketch.</desc>\\n <!-- stroke=\\\"none\\\" -->\\n <g id=\\\"sq1-fancy\\\" stroke=\\\"#888\\\" stroke-width=\\\"0.25\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\">\\n <g id=\\\"EQUATOR\\\" transform=\\\"translate(24.000000, 264.000000)\\\">\\n <rect id=\\\"EQUATOR-l1-o3\\\" style=\\\"fill: red\\\" x=\\\"168\\\" y=\\\"0\\\" width=\\\"24\\\" height=\\\"24\\\"></rect>\\n <rect id=\\\"EQUATOR-l1-o4\\\" style=\\\"fill: red\\\" x=\\\"192\\\" y=\\\"0\\\" width=\\\"24\\\" height=\\\"24\\\"></rect>\\n <rect id=\\\"EQUATOR-l1-o5\\\" style=\\\"fill: limegreen\\\" x=\\\"216\\\" y=\\\"0\\\" width=\\\"24\\\" height=\\\"24\\\"></rect>\\n <rect id=\\\"EQUATOR-l1-o2\\\" style=\\\"fill: limegreen\\\" x=\\\"240\\\" y=\\\"0\\\" width=\\\"24\\\" height=\\\"24\\\"></rect>\\n <rect id=\\\"EQUATOR-l1-o1\\\" style=\\\"fill: limegreen\\\" x=\\\"264\\\" y=\\\"0\\\" width=\\\"24\\\" height=\\\"24\\\"></rect>\\n <rect id=\\\"EQUATOR-l1-o0\\\" style=\\\"fill: orange\\\" x=\\\"288\\\" y=\\\"0\\\" width=\\\"24\\\" height=\\\"24\\\"></rect>\\n <rect id=\\\"EQUATOR-l0-o3\\\" style=\\\"fill: orange\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"24\\\" height=\\\"24\\\"></rect>\\n <rect id=\\\"EQUATOR-l0-o4\\\" style=\\\"fill: orange\\\" x=\\\"24\\\" y=\\\"0\\\" width=\\\"24\\\" height=\\\"24\\\"></rect>\\n <rect id=\\\"EQUATOR-l0-o5\\\" style=\\\"fill: limegreen\\\" x=\\\"48\\\" y=\\\"0\\\" width=\\\"24\\\" height=\\\"24\\\"></rect>\\n <rect id=\\\"EQUATOR-l0-o2\\\" style=\\\"fill: limegreen\\\" x=\\\"72\\\" y=\\\"0\\\" width=\\\"24\\\" height=\\\"24\\\"></rect>\\n <rect id=\\\"EQUATOR-l0-o1\\\" style=\\\"fill: limegreen\\\" x=\\\"96\\\" y=\\\"0\\\" width=\\\"24\\\" height=\\\"24\\\"></rect>\\n <rect id=\\\"EQUATOR-l0-o0\\\" style=\\\"fill: red\\\" x=\\\"120\\\" y=\\\"0\\\" width=\\\"24\\\" height=\\\"24\\\"></rect>\\n </g>\\n <g id=\\\"BOTTOM\\\" transform=\\\"translate(41.000000, 257.000000)\\\" stroke-linejoin=\\\"round\\\">\\n <g id=\\\"WEDGES-23\\\" transform=\\\"translate(130.000000, 88.588457) rotate(120.000000) translate(-130.000000, -88.588457) translate(82.000000, 22.588457)\\\">\\n <polygon id=\\\"WEDGES-l23-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l23-o7\\\" style=\\\"fill: red\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l23-o6\\\" style=\\\"fill: red\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l23-o5\\\" style=\\\"fill: red\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l23-o4\\\" style=\\\"fill: red\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l23-o3\\\" style=\\\"fill: white\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l23-o2\\\" style=\\\"fill: white\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l23-o1\\\" style=\\\"fill: white\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l23-o0\\\" style=\\\"fill: red\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-22\\\" transform=\\\"translate(97.157677, 115.157677) rotate(90.000000) translate(-97.157677, -115.157677) translate(49.157677, 49.157677)\\\">\\n <polygon id=\\\"WEDGES-l22-o8\\\" style=\\\"fill: blue\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l22-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l22-o6\\\" style=\\\"fill: blue\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l22-o5\\\" style=\\\"fill: blue\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l22-o4\\\" style=\\\"fill: white\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l22-o3\\\" style=\\\"fill: blue\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l22-o2\\\" style=\\\"fill: white\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l22-o1\\\" style=\\\"fill: white\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l22-o0\\\" style=\\\"fill: blue\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-21\\\" transform=\\\"translate(82.000000, 154.588457) rotate(60.000000) translate(-82.000000, -154.588457) translate(34.000000, 88.588457)\\\">\\n <polygon id=\\\"WEDGES-l21-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l21-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l21-o6\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l21-o5\\\" style=\\\"fill: blue\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l21-o4\\\" style=\\\"fill: blue\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l21-o3\\\" style=\\\"fill: blue\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l21-o2\\\" style=\\\"fill: blue\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l21-o1\\\" style=\\\"fill: white\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l21-o0\\\" style=\\\"fill: blue\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-20\\\" transform=\\\"translate(88.588457, 196.315353) rotate(30.000000) translate(-88.588457, -196.315353) translate(40.588457, 130.315353)\\\">\\n <polygon id=\\\"WEDGES-l20-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l20-o7\\\" style=\\\"fill: blue\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l20-o6\\\" style=\\\"fill: blue\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l20-o5\\\" style=\\\"fill: blue\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l20-o4\\\" style=\\\"fill: blue\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l20-o3\\\" style=\\\"fill: white\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l20-o2\\\" style=\\\"fill: white\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l20-o1\\\" style=\\\"fill: white\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l20-o0\\\" style=\\\"fill: blue\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-19\\\" transform=\\\"translate(67.157677, 163.157677)\\\">\\n <polygon id=\\\"WEDGES-l19-o8\\\" style=\\\"fill: orange\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l19-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l19-o6\\\" style=\\\"fill: orange\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l19-o5\\\" style=\\\"fill: orange\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l19-o4\\\" style=\\\"fill: white\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l19-o3\\\" style=\\\"fill: orange\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l19-o2\\\" style=\\\"fill: white\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l19-o1\\\" style=\\\"fill: white\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l19-o0\\\" style=\\\"fill: orange\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-18\\\" transform=\\\"translate(154.588457, 244.315353) scale(-1, -1) rotate(150.000000) translate(-154.588457, -244.315353) translate(106.588457, 178.315353)\\\">\\n <polygon id=\\\"WEDGES-l18-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l18-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l18-o6\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l18-o5\\\" style=\\\"fill: orange\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l18-o4\\\" style=\\\"fill: orange\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l18-o3\\\" style=\\\"fill: orange\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l18-o2\\\" style=\\\"fill: orange\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l18-o1\\\" style=\\\"fill: white\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l18-o0\\\" style=\\\"fill: orange\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-17\\\" transform=\\\"translate(196.315353, 237.726896) scale(-1, -1) rotate(120.000000) translate(-196.315353, -237.726896) translate(148.315353, 171.726896)\\\">\\n <polygon id=\\\"WEDGES-l17-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l17-o7\\\" style=\\\"fill: orange\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l17-o6\\\" style=\\\"fill: orange\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l17-o5\\\" style=\\\"fill: orange\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l17-o4\\\" style=\\\"fill: orange\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l17-o3\\\" style=\\\"fill: white\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l17-o2\\\" style=\\\"fill: white\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l17-o1\\\" style=\\\"fill: white\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l17-o0\\\" style=\\\"fill: orange\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-16\\\" transform=\\\"translate(229.157677, 211.157677) scale(-1, -1) rotate(90.000000) translate(-229.157677, -211.157677) translate(181.157677, 145.157677)\\\">\\n <polygon id=\\\"WEDGES-l16-o8\\\" style=\\\"fill: limegreen\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l16-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l16-o6\\\" style=\\\"fill: limegreen\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l16-o5\\\" style=\\\"fill: limegreen\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l16-o4\\\" style=\\\"fill: white\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l16-o3\\\" style=\\\"fill: limegreen\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l16-o2\\\" style=\\\"fill: white\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l16-o1\\\" style=\\\"fill: white\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l16-o0\\\" style=\\\"fill: limegreen\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-15\\\" transform=\\\"translate(244.315353, 171.726896) scale(-1, -1) rotate(60.000000) translate(-244.315353, -171.726896) translate(196.315353, 105.726896)\\\">\\n <polygon id=\\\"WEDGES-l15-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l15-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l15-o6\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l15-o5\\\" style=\\\"fill: limegreen\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l15-o4\\\" style=\\\"fill: limegreen\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l15-o3\\\" style=\\\"fill: limegreen\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l15-o2\\\" style=\\\"fill: limegreen\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l15-o1\\\" style=\\\"fill: white\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l15-o0\\\" style=\\\"fill: limegreen\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-14\\\" transform=\\\"translate(237.726896, 130.000000) scale(-1, -1) rotate(30.000000) translate(-237.726896, -130.000000) translate(189.726896, 64.000000)\\\">\\n <polygon id=\\\"WEDGES-l14-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l14-o7\\\" style=\\\"fill: limegreen\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l14-o6\\\" style=\\\"fill: limegreen\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l14-o5\\\" style=\\\"fill: limegreen\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l14-o4\\\" style=\\\"fill: limegreen\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l14-o3\\\" style=\\\"fill: white\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l14-o2\\\" style=\\\"fill: white\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l14-o1\\\" style=\\\"fill: white\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l14-o0\\\" style=\\\"fill: limegreen\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-13\\\" transform=\\\"translate(211.157677, 97.157677) scale(-1, -1) translate(-211.157677, -97.157677) translate(163.157677, 31.157677)\\\">\\n <polygon id=\\\"WEDGES-l13-o8\\\" style=\\\"fill: red\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l13-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l13-o6\\\" style=\\\"fill: red\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l13-o5\\\" style=\\\"fill: red\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l13-o4\\\" style=\\\"fill: white\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l13-o3\\\" style=\\\"fill: red\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l13-o2\\\" style=\\\"fill: white\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l13-o1\\\" style=\\\"fill: white\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l13-o0\\\" style=\\\"fill: red\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-12\\\" transform=\\\"translate(171.726896, 82.000000) rotate(150.000000) translate(-171.726896, -82.000000) translate(123.726896, 16.000000)\\\">\\n <polygon id=\\\"WEDGES-l12-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l12-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l12-o6\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l12-o5\\\" style=\\\"fill: red\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l12-o4\\\" style=\\\"fill: red\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l12-o3\\\" style=\\\"fill: red\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l12-o2\\\" style=\\\"fill: red\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l12-o1\\\" style=\\\"fill: white\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l12-o0\\\" style=\\\"fill: red\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n </g>\\n <g id=\\\"TOP\\\" transform=\\\"translate(41.000000, -31.000000)\\\" stroke-linejoin=\\\"round\\\">\\n <g id=\\\"WEDGES-11\\\" transform=\\\"translate(154.588457, 244.315353) scale(-1, -1) rotate(150.000000) translate(-154.588457, -244.315353) translate(106.588457, 178.315353)\\\">\\n <polygon id=\\\"WEDGES-l11-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l11-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l11-o6\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l11-o5\\\" style=\\\"fill: red\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l11-o4\\\" style=\\\"fill: red\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l11-o3\\\" style=\\\"fill: red\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l11-o2\\\" style=\\\"fill: red\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l11-o1\\\" style=\\\"fill: yellow\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l11-o0\\\" style=\\\"fill: red\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-10\\\" transform=\\\"translate(196.315353, 237.726896) scale(-1, -1) rotate(120.000000) translate(-196.315353, -237.726896) translate(148.315353, 171.726896)\\\">\\n <polygon id=\\\"WEDGES-l10-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l10-o7\\\" style=\\\"fill: red\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l10-o6\\\" style=\\\"fill: red\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l10-o5\\\" style=\\\"fill: red\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l10-o4\\\" style=\\\"fill: red\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l10-o3\\\" style=\\\"fill: yellow\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l10-o2\\\" style=\\\"fill: yellow\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l10-o1\\\" style=\\\"fill: yellow\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l10-o0\\\" style=\\\"fill: red\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-9\\\" transform=\\\"translate(229.157677, 211.157677) scale(-1, -1) rotate(90.000000) translate(-229.157677, -211.157677) translate(181.157677, 145.157677)\\\">\\n <polygon id=\\\"WEDGES-l9-o8\\\" style=\\\"fill: limegreen\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l9-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l9-o6\\\" style=\\\"fill: limegreen\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l9-o5\\\" style=\\\"fill: limegreen\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l9-o4\\\" style=\\\"fill: yellow\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l9-o3\\\" style=\\\"fill: limegreen\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l9-o2\\\" style=\\\"fill: yellow\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l9-o1\\\" style=\\\"fill: yellow\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l9-o0\\\" style=\\\"fill: limegreen\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-8\\\" transform=\\\"translate(244.315353, 171.726896) scale(-1, -1) rotate(60.000000) translate(-244.315353, -171.726896) translate(196.315353, 105.726896)\\\">\\n <polygon id=\\\"WEDGES-l8-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l8-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l8-o6\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l8-o5\\\" style=\\\"fill: limegreen\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l8-o4\\\" style=\\\"fill: limegreen\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l8-o3\\\" style=\\\"fill: limegreen\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l8-o2\\\" style=\\\"fill: limegreen\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l8-o1\\\" style=\\\"fill: yellow\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l8-o0\\\" style=\\\"fill: limegreen\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-7\\\" transform=\\\"translate(237.726896, 130.000000) scale(-1, -1) rotate(30.000000) translate(-237.726896, -130.000000) translate(189.726896, 64.000000)\\\">\\n <polygon id=\\\"WEDGES-l7-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l7-o7\\\" style=\\\"fill: limegreen\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l7-o6\\\" style=\\\"fill: limegreen\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l7-o5\\\" style=\\\"fill: limegreen\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l7-o4\\\" style=\\\"fill: limegreen\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l7-o3\\\" style=\\\"fill: yellow\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l7-o2\\\" style=\\\"fill: yellow\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l7-o1\\\" style=\\\"fill: yellow\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l7-o0\\\" style=\\\"fill: limegreen\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-6\\\" transform=\\\"translate(211.157677, 97.157677) scale(-1, -1) translate(-211.157677, -97.157677) translate(163.157677, 31.157677)\\\">\\n <polygon id=\\\"WEDGES-l6-o8\\\" style=\\\"fill: orange\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l6-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l6-o6\\\" style=\\\"fill: orange\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l6-o5\\\" style=\\\"fill: orange\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l6-o4\\\" style=\\\"fill: yellow\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l6-o3\\\" style=\\\"fill: orange\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l6-o2\\\" style=\\\"fill: yellow\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l6-o1\\\" style=\\\"fill: yellow\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l6-o0\\\" style=\\\"fill: orange\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-5\\\" transform=\\\"translate(171.726896, 82.000000) rotate(150.000000) translate(-171.726896, -82.000000) translate(123.726896, 16.000000)\\\">\\n <polygon id=\\\"WEDGES-l5-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l5-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l5-o6\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l5-o5\\\" style=\\\"fill: orange\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l5-o4\\\" style=\\\"fill: orange\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l5-o3\\\" style=\\\"fill: orange\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l5-o2\\\" style=\\\"fill: orange\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l5-o1\\\" style=\\\"fill: yellow\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l5-o0\\\" style=\\\"fill: orange\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-4\\\" transform=\\\"translate(130.000000, 88.588457) rotate(120.000000) translate(-130.000000, -88.588457) translate(82.000000, 22.588457)\\\">\\n <polygon id=\\\"WEDGES-l4-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l4-o7\\\" style=\\\"fill: orange\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l4-o6\\\" style=\\\"fill: orange\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l4-o5\\\" style=\\\"fill: orange\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l4-o4\\\" style=\\\"fill: orange\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l4-o3\\\" style=\\\"fill: yellow\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l4-o2\\\" style=\\\"fill: yellow\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l4-o1\\\" style=\\\"fill: yellow\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l4-o0\\\" style=\\\"fill: orange\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-3\\\" transform=\\\"translate(97.157677, 115.157677) rotate(90.000000) translate(-97.157677, -115.157677) translate(49.157677, 49.157677)\\\">\\n <polygon id=\\\"WEDGES-l3-o8\\\" style=\\\"fill: blue\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l3-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l3-o6\\\" style=\\\"fill: blue\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l3-o5\\\" style=\\\"fill: blue\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l3-o4\\\" style=\\\"fill: yellow\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l3-o3\\\" style=\\\"fill: blue\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l3-o2\\\" style=\\\"fill: yellow\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l3-o1\\\" style=\\\"fill: yellow\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l3-o0\\\" style=\\\"fill: blue\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-2\\\" transform=\\\"translate(82.000000, 154.588457) rotate(60.000000) translate(-82.000000, -154.588457) translate(34.000000, 88.588457)\\\">\\n <polygon id=\\\"WEDGES-l2-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l2-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l2-o6\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l2-o5\\\" style=\\\"fill: blue\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l2-o4\\\" style=\\\"fill: blue\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l2-o3\\\" style=\\\"fill: blue\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l2-o2\\\" style=\\\"fill: blue\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l2-o1\\\" style=\\\"fill: yellow\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l2-o0\\\" style=\\\"fill: blue\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-1\\\" transform=\\\"translate(88.588457, 196.315353) rotate(30.000000) translate(-88.588457, -196.315353) translate(40.588457, 130.315353)\\\">\\n <polygon id=\\\"WEDGES-l1-o8\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l1-o7\\\" style=\\\"fill: blue\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l1-o6\\\" style=\\\"fill: blue\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l1-o5\\\" style=\\\"fill: blue\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l1-o4\\\" style=\\\"fill: blue\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l1-o3\\\" style=\\\"fill: yellow\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l1-o2\\\" style=\\\"fill: yellow\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l1-o1\\\" style=\\\"fill: yellow\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l1-o0\\\" style=\\\"fill: blue\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n <g id=\\\"WEDGES-0\\\" transform=\\\"translate(67.157677, 163.157677)\\\">\\n <polygon id=\\\"WEDGES-l0-o8\\\" style=\\\"fill: red\\\" points=\\\"25.723 70.277 40.574 95.999 -2.27373675e-13 96\\\"></polygon>\\n <polygon id=\\\"WEDGES-l0-o7\\\" style=\\\"fill: #D8D8D8\\\" points=\\\"70.2768775 96 60.8615612 131.138439 40.5741225 95.9988775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l0-o6\\\" style=\\\"fill: red\\\" points=\\\"70.2768775 96 40.574 95.999 25.7231225 70.2768775\\\"></polygon>\\n <polygon id=\\\"WEDGES-l0-o5\\\" style=\\\"fill: red\\\" points=\\\"48.0001225 47.9995 68.287 47.9995 78.4307806 65.5692194\\\"></polygon>\\n <polygon id=\\\"WEDGES-l0-o4\\\" style=\\\"fill: yellow\\\" points=\\\"60.8615 35.1385 68.287 47.9995 48 48\\\"></polygon>\\n <polygon id=\\\"WEDGES-l0-o3\\\" style=\\\"fill: red\\\" points=\\\"83.1384388 48 78.4307806 65.5692194 68.2870612 47.9994388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l0-o2\\\" style=\\\"fill: yellow\\\" points=\\\"83.1384388 48 68.287 47.9995 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l0-o1\\\" style=\\\"fill: yellow\\\" points=\\\"96 0 83.1384388 48 60.8615612 35.1384388\\\"></polygon>\\n <polygon id=\\\"WEDGES-l0-o0\\\" style=\\\"fill: red\\\" points=\\\"70.2768775 96 25.7231225 70.2768775 48.0001225 47.9995 78.4307806 65.5692194\\\"></polygon>\\n </g>\\n </g>\\n <g id=\\\"DIAGONALS\\\" transform=\\\"translate(168.861561, 1.019238)\\\" stroke=\\\"#000000\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\">\\n <line x1=\\\"0\\\" y1=\\\"287.842323\\\" x2=\\\"70.2768775\\\" y2=\\\"550.119201\\\" id=\\\"BOTTOM\\\"></line>\\n <line x1=\\\"0.15767665\\\" y1=\\\"262.276878\\\" x2=\\\"70.4345542\\\" y2=\\\"2.27488928e-16\\\" id=\\\"TOP\\\"></line>\\n </g>\\n </g>\\n</svg>`});var Cf,Pf=w(()=>{Je();Gr();Cf={id:\\\"square1\\\",fullName:\\\"Square-1\\\",inventedBy:[\\\"Karel Hr\\\\u0161el\\\",\\\"Vojtech Kopsk\\\\xFD\\\"],inventionYear:1990,kpuzzle:We(async()=>new Ne((await Promise.resolve().then(()=>(kf(),Ef))).sq1HyperOrbitKPuzzleDefinition)),svg:We(async()=>(await Promise.resolve().then(()=>(_f(),zf))).default)}});var Ke,ur=w(()=>{g2();Je();Bn();Or();ef();lf();mf();Af();bf();Uf();Pf();Bo();Ke={\\\"3x3x3\\\":Qa,\\\"2x2x2\\\":zo,\\\"4x4x4\\\":new Nr({id:\\\"4x4x4\\\",fullName:\\\"4\\\\xD74\\\\xD74 Cube\\\"}),\\\"5x5x5\\\":new Nr({id:\\\"5x5x5\\\",fullName:\\\"5\\\\xD75\\\\xD75 Cube\\\"}),\\\"6x6x6\\\":new Nr({id:\\\"6x6x6\\\",fullName:\\\"6\\\\xD76\\\\xD76 Cube\\\"}),\\\"7x7x7\\\":new Nr({id:\\\"7x7x7\\\",fullName:\\\"7\\\\xD77\\\\xD77 Cube\\\"}),\\\"40x40x40\\\":new Nr({id:\\\"40x40x40\\\",fullName:\\\"40\\\\xD740\\\\xD740 Cube\\\"}),clock:cf,megaminx:Bf,pyraminx:vf,skewb:new dt({id:\\\"skewb\\\",fullName:\\\"Skewb\\\",inventedBy:[\\\"Tony Durham\\\"]}),square1:Cf,fto:Lf,gigaminx:new dt({id:\\\"gigaminx\\\",fullName:\\\"Gigaminx\\\",inventedBy:[\\\"Tyler Fox\\\"],inventionYear:2006}),master_tetraminx:new dt({pgID:\\\"master tetraminx\\\",id:\\\"master_tetraminx\\\",fullName:\\\"Master Tetraminx\\\",inventedBy:[\\\"Katsuhiko Okamoto\\\"],inventionYear:2002})}});function Gf(e){Mf=e}function ct(){if(!Mf)throw new Error(\\\"Must be called from inside a worker, to avoid impact on page performance. Try importing from the top level of `cubing/solve`?\\\")}var Mf,qt=w(()=>{Mf=!1});async function Tf(){return globalThis?.crypto?.getRandomValues?crypto.getRandomValues.bind(crypto):(await(Op??(Op=import(Kp())))).webcrypto.getRandomValues}var Op,Wp,Kp,If=w(()=>{Op=null,Wp=\\\"cr-yp-to\\\",Kp=()=>Wp.replace(/-/g,\\\"\\\")});function qp(e){let t=new Uint32Array(2);e(t);let r=t[0],n=t[1];return Math.floor(r*Qp)+Math.floor(n/jp)}function Vp(e){if(typeof e!=\\\"number\\\"||e<0||Math.floor(e)!==e)throw new Error(\\\"randomInt.below() not called with a positive integer value.\\\");if(e>Nf)throw new Error(`Called randomInt.below() with max == ${e}, which is larger than JavaScript can handle with integer precision.`)}async function Qe(){let e=await Tf(),t=r=>{Vp(r);let n=qp(e),o=Math.floor(Nf/r)*r;return n<o?n%r:t(r)};return t}var Nf,Qp,jp,ql=w(()=>{If();Nf=9007199254740992,Qp=2097152,jp=2048});async function Vt(){let e=await Qe();return t=>t[e(t.length)]}var Of=w(()=>{ql()});async function Wf(e){for(let t=1;t<e.length;t++){let r=(await Hp)(t);[e[t],e[r]]=[e[r],e[t]]}}var Hp,Mt=w(()=>{Of();ql();ql();Hp=Qe()});function cr(e,t){let r=[],n=[];for(let c of t.split(`\\n`)){let m=c.split(\\\" \\\");if(!c.startsWith(\\\"SetOrder \\\")){if(c.startsWith(\\\"Alg \\\")){let u=z.fromString(c.substring(4));n.push({alg:u,transformation:e.algToTransformation(u)})}else if(c.startsWith(\\\"SubgroupSizes \\\"))for(let u=1;u<m.length;u++)r.push(parseInt(m[u]))}}let o={ordering:new Array(r.length)},l=[],i=0;l.push(0);let a=z.fromString(\\\"\\\"),f=e.identityTransformation();for(let c=0;c<r.length;c++)i+=r[c],l.push(i),n.splice(i-1,0,{alg:a,transformation:f});if(n.length!==i)throw Error(`Bad sgs; expected ${i-r.length} algs but saw ${n.length-r.length}`);let s={};for(let c in e.definition.orbits){let m=e.definition.orbits[c];s[c]=new Array(m.numPieces).fill(!1)}for(let c=r.length-1;c>=0;c--){let m=[];for(let p=l[c];p<l[c+1];p++){let g=n[p].transformation;for(let d in e.definition.orbits){let L=e.definition.orbits[d];for(let D=0;D<L.numPieces;D++)(g.transformationData[d].permutation[D]!==D||g.transformationData[d].orientation[D]!==0)&&(s[d][D]||(m.push({orbitName:d,permutationIdx:D}),s[d][D]=!0))}}let u={};for(let p=l[c];p<l[c+1];p++){let g=n[p].transformation.invert(),d=\\\"\\\";for(let L=0;L<m.length;L++){let D=m[L];d=`${d} ${g.transformationData[D.orbitName].permutation[D.permutationIdx]} ${g.transformationData[D.orbitName].orientation[D.permutationIdx]}`}u[d]=n[p],n[p].alg=n[p].alg.invert(),n[p].transformation=n[p].transformation.invert()}o.ordering[c]={pieceOrdering:m,lookup:u}}return o}var _o=w(()=>{Le()});var Yf={};Be(Yf,{cachedData222:()=>og,data222:()=>Hf});async function og(){return ng??(ng=Hf())}async function Hf(){return cr(await zo.kpuzzle(),`SubgroupSizes 24 21 18 15 12 9 6\\n\\nAlg F\\nAlg F2\\nAlg F'\\nAlg D\\nAlg D2\\nAlg D'\\nAlg L\\nAlg L2\\nAlg L'\\nAlg F U\\nAlg F U2\\nAlg F U'\\nAlg F L\\nAlg F L2\\nAlg F L'\\nAlg F2 U\\nAlg F2 U'\\nAlg F2 R\\nAlg F2 R'\\nAlg F' D\\nAlg F' D'\\nAlg F' R\\nAlg F' R'\\nAlg B\\nAlg B2\\nAlg B'\\nAlg B R\\nAlg B R2\\nAlg B R'\\nAlg B2 U\\nAlg B2 U2\\nAlg B2 U'\\nAlg B2 R\\nAlg B2 R2\\nAlg B2 R'\\nAlg B' U\\nAlg B' U'\\nAlg F D' F'\\nAlg F2 L F2\\nAlg B R' B2\\nAlg B R' U2\\nAlg B2 U R'\\nAlg B2 R B'\\nAlg R\\nAlg R2\\nAlg R'\\nAlg R2 U\\nAlg R2 U2\\nAlg R2 U'\\nAlg R' U\\nAlg R' U2\\nAlg R' U'\\nAlg F R F'\\nAlg F R2 F'\\nAlg L2 D' L2\\nAlg L' B L\\nAlg R2 U' R\\nAlg R' U R2\\nAlg R' U R'\\nAlg F R F' U2\\nAlg F' U F\\nAlg F' U2 F\\nAlg F' U' F\\nAlg L F L'\\nAlg L F2 L'\\nAlg L F' L'\\nAlg F' D R D'\\nAlg F' U2 F U'\\nAlg F D2 B D2 F'\\nAlg F2 D' L2 D F2\\nAlg F2 L F L' F\\nAlg L' F2 L' F2 L\\nAlg F L' U' L2 F L'\\nAlg F2 L F L' U2 F\\nAlg U\\nAlg U2\\nAlg U'\\nAlg F2 D2 B D2 F2\\nAlg F2 D2 B' D2 F2\\nAlg L2 D2 R D2 L2\\nAlg L2 D2 R' D2 L2\\nAlg F2 D2 B D2 F2 U\\nAlg F2 D2 B D2 F2 U'\\nAlg U F2 D2 B D2 F2\\nAlg U F2 D2 B' D2 F2\\nAlg F D B D' R' F' U\\nAlg F' D L F U B' L'\\nAlg F' L' F U L U L'\\nAlg D' L F D R' U' F'\\nAlg L F L' U' F' U' F\\nAlg L D' F' L' U' R F\\nAlg F D F U F' L' F' R'\\nAlg F2 D' F L F2 D F' R'\\nAlg F D' F L' D F R2 U2 F' U'\\nAlg F D' L D' L F D2 L2 B' R'\\nAlg F L' D F R2 D2 L D F' U2\\nAlg F L' D F2 D' L F L2 F2 U\\nAlg F D F' D L2 F R' F' D' B2 U'`)}var ng,Zf=w(()=>{ur();_o();ng=null});async function Un(e,t){let r=new pt;r.experimentalPushAlg(e);for(let n of t){let o=(await Vt())(n);o!==null&&r.push(h.fromString(o))}return r.toAlg()}var Hl=w(()=>{Le();Mt()});function tu(e,t){return e.slice(t)+e.slice(0,t)}function mg(e){let t=[[],[]];for(let r=0;r<6;r++)if(e.stateData.CENTERS.pieces[r]!==r)throw new Error(\\\"non-oriented puzzles are not supported\\\");for(let r=0;r<12;r++)t[0].push(tu(sg[e.stateData.EDGES.pieces[r]],e.stateData.EDGES.orientation[r]));for(let r=0;r<8;r++)t[1].push(tu(fg[e.stateData.CORNERS.pieces[r]],e.stateData.CORNERS.orientation[r]));return t.push(ug),t}function ru(e){let t=mg(e);return cg.map(([r,n,o])=>t[r][n][o]).join(\\\"\\\")}var sg,fg,ug,cg,nu=w(()=>{sg=\\\"UF UR UB UL DF DR DB DL FR FL BR BL\\\".split(\\\" \\\"),fg=\\\"UFR URB UBL ULF DRF DFL DLB DBR\\\".split(\\\" \\\"),ug=\\\"U L F R B D\\\".split(\\\" \\\"),cg=[[1,2,0],[0,2,0],[1,1,0],[0,3,0],[2,0,0],[0,1,0],[1,3,0],[0,0,0],[1,0,0],[1,0,2],[0,1,1],[1,1,1],[0,8,1],[2,3,0],[0,10,1],[1,4,1],[0,5,1],[1,7,2],[1,3,2],[0,0,1],[1,0,1],[0,9,0],[2,2,0],[0,8,0],[1,5,1],[0,4,1],[1,4,2],[1,5,0],[0,4,0],[1,4,0],[0,7,0],[2,5,0],[0,5,0],[1,6,0],[0,6,0],[1,7,0],[1,2,2],[0,3,1],[1,3,1],[0,11,1],[2,1,0],[0,9,1],[1,6,1],[0,7,1],[1,5,2],[1,1,2],[0,2,1],[1,2,1],[0,10,0],[2,4,0],[0,11,0],[1,7,1],[0,6,1],[1,6,2]]});function ou(e,t){let r=new ge(e.kpuzzle,{EDGES:e.stateData.EDGES,CORNERS:e.stateData.CORNERS,CENTERS:{pieces:e.stateData.CENTERS.pieces,orientation:new Array(6).fill(0)}}).experimentalToTransformation(),n=new ge(t.kpuzzle,{EDGES:t.stateData.EDGES,CORNERS:t.stateData.CORNERS,CENTERS:{pieces:t.stateData.CENTERS.pieces,orientation:new Array(6).fill(0)}}).experimentalToTransformation();return r.isIdentical(n)}function lu(e,t){if(ou(e.startState(),t))return!1;for(let r of\\\"ULFRBD\\\")for(let n=1;n<4;n++){let o=e.moveToTransformation(new h(r,n)).toKState();if(ou(o,t))return!1}return!0}var iu=w(()=>{Le();Je()});var au,su=w(()=>{au=[[\\\"R U'\\\",\\\"R2 B\\\",\\\"D2 B2\\\",\\\"D' L B'\\\",\\\"R' U'\\\",\\\"B\\\",\\\"D B2\\\",\\\"R' B\\\",\\\"L' U\\\",\\\"L2 B'\\\",\\\"B2\\\",\\\"D L B'\\\",\\\"L U\\\",\\\"B'\\\",\\\"U'\\\",\\\"R B\\\",\\\"D' B2\\\",\\\"L B'\\\",\\\"U2\\\",\\\"U L' B'\\\",\\\"\\\",\\\"U' L' B'\\\",\\\"U\\\",\\\"L' B'\\\"],[\\\"F2 L2\\\",\\\"F' L'\\\",\\\"R' F L2\\\",\\\"D' L2\\\",\\\"F L2\\\",\\\"F2 L'\\\",\\\"R' F' L'\\\",\\\"R2 F L2\\\",\\\"R2 F2 L'\\\",\\\"L2\\\",\\\"F L'\\\",\\\"D' L\\\",\\\"D2 L2\\\",\\\"R2 F' L'\\\",\\\"D L\\\",\\\"\\\",\\\"L2 F L'\\\",\\\"L F' L2\\\",\\\"L F L'\\\",\\\"F' L2\\\",\\\"L'\\\",\\\"D L2\\\",\\\"D F L'\\\",\\\"L\\\"],[\\\"R B U2 B'\\\",\\\"R2 B U' B'\\\",\\\"F2 B U B'\\\",\\\"F B2 L' B2\\\",\\\"B2 L B2\\\",\\\"B U' B'\\\",\\\"R2 B U2 B'\\\",\\\"R' B U' B'\\\",\\\"B2 L' B2\\\",\\\"F B U B'\\\",\\\"B2 U' B2\\\",\\\"B' L B\\\",\\\"L F' B D' B'\\\",\\\"B' U' B2 D B'\\\",\\\"B U2 B'\\\",\\\"R B U' B'\\\",\\\"B2 L2 B2\\\",\\\"D' B' L B\\\",\\\"B U B'\\\",\\\"F' B2 L' B2\\\",\\\"\\\",\\\"B2 L' B' U' B'\\\"],[\\\"U F2 L2 U'\\\",\\\"F' U L' U'\\\",\\\"F2 U L' U'\\\",\\\"U F L2 U'\\\",\\\"U2 B2 U2\\\",\\\"R' U' B U\\\",\\\"D2 U L U'\\\",\\\"D U2 B' U2\\\",\\\"U L2 U'\\\",\\\"F U L' U'\\\",\\\"D U L U'\\\",\\\"U2 B' U2\\\",\\\"\\\",\\\"U2 B' U' L' U'\\\",\\\"U2 L' U2\\\",\\\"U' B U\\\",\\\"U L U'\\\",\\\"D' U2 B' U2\\\",\\\"U L' U'\\\",\\\"U2 B U2\\\"],[\\\"R' D' F2\\\",\\\"F'\\\",\\\"F2\\\",\\\"D R F'\\\",\\\"R D' F2\\\",\\\"R2 F'\\\",\\\"D' F2\\\",\\\"R F'\\\",\\\"F2 R' D' F2\\\",\\\"F\\\",\\\"D2 F2\\\",\\\"D' R F'\\\",\\\"R2 D' F2\\\",\\\"R' F'\\\",\\\"D F2\\\",\\\"D2 R F'\\\",\\\"\\\",\\\"F R' D' F2\\\"],[\\\"R' D2 F' D F\\\",\\\"R F2 R2 F2\\\",\\\"R2 F' D2 F\\\",\\\"F' R2 D2 F\\\",\\\"L D' L'\\\",\\\"D F' D2 F\\\",\\\"F2 R2 F2\\\",\\\"R F' D2 F\\\",\\\"F' R2 D' F\\\",\\\"F' R' D2 F\\\",\\\"F2 R' F2\\\",\\\"L D L'\\\",\\\"F' R D' F\\\",\\\"F2 R F2\\\",\\\"F' D2 F\\\",\\\"\\\",\\\"L D2 R D' L'\\\",\\\"F' D2 F' R F2\\\",\\\"D2 R2 F2 R2 F2\\\",\\\"D F' D' F\\\",\\\"F' D F\\\"],[\\\"U F2 U'\\\",\\\"R U F' U'\\\",\\\"D R U F2 U'\\\",\\\"U F U'\\\",\\\"R2 U F2 U'\\\",\\\"R' U F' U'\\\",\\\"R U F2 U'\\\",\\\"R2 U F' U'\\\",\\\"\\\",\\\"U L D L' F U'\\\",\\\"F2 D' R D F2\\\",\\\"D2 U F U'\\\",\\\"R' U F2 U'\\\",\\\"U F' U'\\\",\\\"F2 D2 R D2 F2\\\",\\\"D U F U'\\\"],[\\\"R2\\\",\\\"R' B' D B\\\",\\\"D R'\\\",\\\"F' R2 F\\\",\\\"\\\",\\\"R B' D B\\\",\\\"R'\\\",\\\"B' D B\\\",\\\"D' R'\\\",\\\"D2 F' R2 F\\\",\\\"R\\\",\\\"R2 B' D B\\\",\\\"D2 R'\\\",\\\"B' D' B\\\"],[\\\"R2 D' R2\\\",\\\"F' R' F R\\\",\\\"R D' R2 D R'\\\",\\\"D2 R2 D2 R2\\\",\\\"R' D' F' R F\\\",\\\"U F D F' U'\\\",\\\"\\\",\\\"R2 D2 B R' B' R'\\\",\\\"R' F D' F2 R F\\\",\\\"R2 D R2\\\",\\\"F2 U F U' F\\\",\\\"R' D F' R F\\\",\\\"D R2 D2 R2\\\",\\\"U F D' F' U'\\\",\\\"D R' D2 F' R F\\\",\\\"R2 D2 R2\\\",\\\"U F D2 F' U'\\\",\\\"R' D2 F' R F\\\"],[\\\"B R B'\\\",\\\"F D F' B R2 B'\\\",\\\"D B R2 B'\\\",\\\"D2 B R' B'\\\",\\\"B R2 B'\\\",\\\"D B R' B'\\\",\\\"D' B R2 B'\\\",\\\"B R' B'\\\",\\\"\\\",\\\"B R2 B' D B R' B'\\\",\\\"D2 B R2 B'\\\",\\\"D' B R' B'\\\"],[\\\"\\\",\\\"R' D R F D2 F'\\\",\\\"R' D R\\\",\\\"D F D' F'\\\",\\\"R F' R' F\\\",\\\"F D' F'\\\",\\\"R' D' R\\\",\\\"F D2 F'\\\",\\\"R' D2 R\\\",\\\"F D F'\\\"],[\\\"\\\",\\\"F2 D2 R F' R' D2 F' D2 F'\\\",\\\"F2 D2 F' D' F D' F' D2 F'\\\",\\\"F2 D F2 D F2 D2 F2\\\",\\\"D2 F L D2 L' D2 F'\\\",\\\"D F D2 L D2 L' F'\\\",\\\"R' D B' D2 B D' R\\\",\\\"R' D2 B' D2 B R\\\",\\\"F D2 F' D F D F'\\\",\\\"F D' L D2 L' D F'\\\",\\\"B D' F D B' D' F'\\\",\\\"F D2 L D2 L' F'\\\",\\\"F D' L D L' D F'\\\",\\\"F L D2 L' D2 F'\\\",\\\"R' B' D2 B D2 R\\\"],[\\\"D'\\\",\\\"F L D L' D' F'\\\",\\\"D2\\\",\\\"L B D B' D' L'\\\",\\\"D\\\",\\\"B' L' D' L D B\\\",\\\"\\\",\\\"D F L D L' D' F'\\\"],[\\\"F' D2 F D F' D F\\\",\\\"F' D' R' D R F\\\",\\\"F' R' D' R D F\\\",\\\"B D R D' R' B'\\\",\\\"\\\",\\\"D B' D' L' D L B\\\"],[\\\"D F D F' D F D2 F'\\\",\\\"F' U2 B' R' B U2 F' L F' L' F'\\\",\\\"\\\",\\\"D2 L D L2 F L F2 D F\\\"],[\\\"L B' L' F L B L' F'\\\",\\\"F2 U F' D2 F U' F' D2 F'\\\",\\\"D' F' D B D' F D B'\\\",\\\"F L2 F R2 F' L2 F R2 F2\\\",\\\"D B D' F' D B' D' F\\\",\\\"R F L F' R' F L' F'\\\",\\\"\\\",\\\"D2 B L' U2 L B' D2 B L' U2 L B'\\\",\\\"D2 F R' U2 R F' D2 F R' U2 R F'\\\",\\\"R F L' F' R' F L F'\\\",\\\"D F D' B' D F' D' B\\\",\\\"L2 F2 L' B2 L F2 L' B2 L'\\\"],[\\\"L B R' B' L' B R B'\\\",\\\"R' B R F' R' B' R F\\\",\\\"L D2 L U L' D2 L U' L2\\\",\\\"\\\",\\\"D2 B' D2 F D' L2 F L2 F' D2 B D' F'\\\",\\\"D2 F' R' F R2 B' D2 B D2 R' F D2 F'\\\",\\\"L B L' F L B' L' F'\\\",\\\"F' D2 F' U' F D2 F' U F2\\\",\\\"D' B' D F D' B D F'\\\"],[\\\"\\\",\\\"D2 F' L U2 L' F D2 F' L U2 L' F\\\",\\\"D2 B' R U2 R' B D2 B' R U2 R' B\\\"]]});var Nu={};Be(Nu,{initialize:()=>rd,solveState:()=>nd});function fu(){}function gg(e){function t(){}return t.prototype=e||{},new t}function dg(e){return e instanceof Array?e[0]:null}function Po(e,t,r){var n=Yl,o=hg,l=dg,i=n[e],a=l(i);i&&!a?H=i:(H=n[e]=t?o(t):{},H.castableTypeMap$=r,H.constructor=H,!t&&(H.typeMarker$=fu));for(var f=3;f<arguments.length;++f)arguments[f].prototype=H;a&&(H.___clazz$=a)}function hg(e){var t=Yl;return gg(t[e])}function Lg(){}function Zl(e){return e<<24>>24}function Ya(){this.typeName=null,this.simpleName=null,this.packageName=null,this.compoundName=null,this.canonicalName=null,this.typeId=null,this.arrayLiterals=null}function Za(e,t){var r;return r=new Ya,r.packageName=e,r.compoundName=t,r}function pr(e,t,r){var n;return n=Za(e,t),yg(r,n),n}function Ag(e,t){var r;return r=Za(e,t),r.modifiers=2,r}function Xl(e,t){var r;return r=Za(\\\"\\\",e),r.typeId=t,r.modifiers=1,r}function uu(e,t){var r=e.arrayLiterals=e.arrayLiterals||[];return r[t]||(r[t]=e.createClassLiteralForArray(t))}function Dg(e){if(e.isPrimitive())return null;var t=e.typeId,r=Yl[t];return r}function yg(e,t){if(!!e){t.typeId=e;var r=Dg(t);if(!r){Yl[e]=[t];return}r.___clazz$=t}}function ee(e,t){return uu(e,t)}function X(e,t,r,n,o,l){var i;return i=mu(o,n),te(ee(e,l),t,r,o,i),i}function et(e,t,r,n,o,l){return cu(e,t,r,n,o,0,l)}function cu(e,t,r,n,o,l,i){var a,f,s,c,m;if(c=o[l],s=l==i-1,a=s?n:0,m=mu(a,c),te(ee(e,i-l),t[l],r[l],a,m),!s)for(++l,f=0;f<c;++f)m[f]=cu(e,t,r,n,o,l,i);return m}function te(e,t,r,n,o){return o.___clazz$=e,o.castableTypeMap$=t,o.typeMarker$=fu,o.__elementTypeId$=r,o.__elementTypeCategory$=n,o}function mu(e,t){var r=new Array(t),n;switch(e){case 6:n={l:0,m:0,h:0};break;case 7:n=0;break;case 8:n=!1;break;default:return r}for(var o=0;o<t;++o)r[o]=n;return r}function pu(e){var t,r,n;return t=e&$e,r=e>>22&$e,n=e<0?mr:0,Rg(t,r,n)}function Rg(e,t,r){return{l:e,m:t,h:r}}function Fg(e,t){var r,n,o;return r=e.l+t.l,n=e.m+t.m+(r>>22),o=e.h+t.h+(n>>22),{l:r&$e,m:n&$e,h:o&mr}}function Tt(e,t){return{l:e.l&t.l,m:e.m&t.m,h:e.h&t.h}}function Xa(e){var t,r;return e>-129&&e<128?(t=e+128,$l==null&&($l=X(ed,se,293,256,0,1)),r=$l[t],!r&&(r=$l[t]=pu(e)),r):pu(e)}function gu(e,t){var r,n;return r=e.h>>19,n=t.h>>19,r==0?n!=0||e.h>t.h||e.h==t.h&&e.m>t.m||e.h==t.h&&e.m==t.m&&e.l>=t.l:!(n==0||e.h<t.h||e.h==t.h&&e.m<t.m||e.h==t.h&&e.m==t.m&&e.l<t.l)}function Ja(e,t){return e.l!=t.l||e.m!=t.m||e.h!=t.h}function $a(e,t){return{l:e.l|t.l,m:e.m|t.m,h:e.h|t.h}}function Jl(e,t){var r,n,o;return t&=63,t<22?(r=e.l<<t,n=e.m<<t|e.l>>22-t,o=e.h<<t|e.m>>22-t):t<44?(r=0,n=e.l<<t-22,o=e.m<<t-22|e.l>>44-t):(r=0,n=0,o=e.l<<t-44),{l:r&$e,m:n&$e,h:o&mr}}function Wr(e,t){var r,n,o,l,i;return t&=63,r=e.h,n=(r&pg)!=0,n&&(r|=-1048576),t<22?(i=r>>t,l=e.m>>t|r<<22-t,o=e.l>>t|e.m<<22-t):t<44?(i=n?mr:0,l=r>>t-22,o=e.m>>t-22|r<<44-t):(i=n?mr:0,l=n?$e:0,o=r>>t-44),{l:o&$e,m:l&$e,h:i&mr}}function du(e,t){var r,n,o;return r=e.l-t.l,n=e.m-t.m+(r>>22),o=e.h-t.h+(n>>22),{l:r&$e,m:n&$e,h:o&mr}}function Kr(e){return e.l|e.m<<22}function Bg(e){this.string=e}function gr(e,t){return e>t?e:t}function es(e,t){return e<t?e:t}function bg(e,t){return e.indexOf(t)}function wg(e){return xg(e,0,e.length)}function xg(e,t,r){for(var n=\\\"\\\",o=t;o<r;){var l=Math.min(o+1e4,r);n+=String.fromCharCode.apply(null,e.slice(o,l)),o=l}return n}function Sg(e){return String.fromCharCode(e&je)}function hu(e){return e.string+=\\\" \\\",e}function Lu(e,t){return e.string+=t,e}function Ug(){Bg.call(this,\\\"\\\")}function ei(e,t){var r;if(e===t)return!0;if(e.length!=t.length)return!1;for(r=0;r<e.length;++r)if(e[r]!=t[r])return!1;return!0}function Qr(){Au||(Au=!0,hr=et(ye,[se,De],[11,0],7,[495,18],2),Mn=et(ye,[se,De],[11,0],7,[324,18],2),_n=et(ye,[se,De],[11,0],7,[336,18],2),dr=et(ye,[se,De],[11,0],7,[495,8],2),ni=X(ke,Ee,0,20048,7,1),ri=X(ke,Ee,0,20791,7,1),Pn=X(ke,Ee,0,82945,7,1),En=et(ye,[se,De],[11,0],7,[2768,10],2),zn=et(ye,[se,De],[11,0],7,[2768,10],2),Cn=et(ye,[se,De],[11,0],7,[24,10],2),To=et(ye,[se,De],[11,0],7,[24,16],2),jr=et(ye,[se,De],[11,0],7,[140,16],2),ti=X(ke,Ee,0,8305,7,1),kn=X(ke,Ee,0,48441,7,1))}function Eg(e,t,r){return e.slice_0=hr[t.slice_0][r],e.flip=_n[t.flip][(J(),Vr)[r<<3|t.fsym]],e.fsym=e.flip&7^t.fsym,e.flip>>=3,e.twist=Mn[t.twist][Vr[r<<3|t.tsym]],e.tsym=e.twist&7^t.tsym,e.twist>>=3,e.prun=gr(gr(it(ni,e.twist*495+dr[e.slice_0][e.tsym]),it(ri,e.flip*495+dr[e.slice_0][e.fsym])),it(Pn,e.twist<<11|Dr[e.flip<<3|e.fsym^e.tsym])),e.prun}function kg(e,t,r){return r=(J(),Oo)[3][r],e.flipc=_n[t.flipc>>3][Vr[r<<3|t.flipc&7]]^t.flipc&7,e.twistc=Mn[t.twistc>>3][Vr[r<<3|t.twistc&7]]^t.twistc&7,it(Pn,e.twistc>>3<<11|Dr[e.flipc^e.twistc&7])}function Du(e,t,r){var n;return e.twist=(J(),Wo)[ai(t)],e.flip=qr[ii(t)],e.tsym=e.twist&7,e.twist=e.twist>>3,e.prun=it(Pn,e.twist<<11|Dr[e.flip^e.tsym]),e.prun>r||(e.fsym=e.flip&7,e.flip=e.flip>>3,e.slice_0=494-In(t.ea,8,!0),e.prun=gr(e.prun,gr(it(ni,e.twist*495+dr[e.slice_0][e.tsym]),it(ri,e.flip*495+dr[e.slice_0][e.fsym]))),e.prun>r)?!1:(n=new ue,Io(t,1,n),No(t,1,n),e.twistc=Wo[ai(n)],e.flipc=qr[ii(n)],e.prun=gr(e.prun,it(Pn,e.twistc>>3<<11|Dr[e.flipc^e.twistc&7])),e.prun<=r)}function Mo(){Qr()}function it(e,t){return Qr(),e[t>>3]>>(t<<2)&15}function yu(e){Qr(),!(oi==2||oi==1&&!e)&&(oi==0&&(Qg(),zg(),Cg(),Mg(),_g(),J(),is(2048,as,qr,Su=X(ye,De,0,336,7,1),0),is(2187,cs,Wo,us=X(ye,De,0,324,7,1),1),Pg(),Gg(),Tg()),Go(ti,Cn,To,En,(J(),fs),584244,e),Go(kn,ts,jr,zn,fs,514084,e),Go(ni,hr,dr,Mn,us,431619,e),Go(ri,hr,dr,_n,Su,431619,e),Go(Pn,null,null,Mn,us,103939,e),oi=e?2:1)}function zg(){var e,t,r,n;for(e=new ue,t=new ue,r=0;r<2768;r++)for(Og(e,(J(),Gn)[r]),n=0;n<10;n++)Lr(e,ce[(Ve(),wt)[n]],t),En[r][n]=ui(Yt[st(t.ca,8,!1)])&je}function _g(){var e,t,r,n,o;for(e=new ue,t=new ue,ts=et(ye,[se,De],[11,0],7,[140,10],2),r=0;r<140;r++){for(Mu(e.ca,r%70,0,!1),o=0;o<10;o++)Lr(e,(J(),ce)[(Ve(),wt)[o]],t),ts[r][o]=In(t.ca,0,!1)+70*(165>>o&1^~~(r/70))&je;for(n=0;n<16;n++)Io(e,(J(),at)[0][n],t),jr[r][n]=In(t.ca,0,!1)+70*~~(r/70)&je}}function Cg(){var e,t,r,n;for(e=new ue,t=new ue,r=0;r<2768;r++)for(bu(e,(J(),Gn)[r]),n=0;n<10;n++)ht(e,ce[(Ve(),wt)[n]],t),zn[r][n]=Yt[st(t.ea,8,!0)]}function Pg(){var e,t,r,n;for(e=new ue,t=new ue,r=0;r<336;r++)for(os(e,(J(),as)[r]),n=0;n<18;n++)ht(e,ce[n],t),_n[r][n]=qr[ii(t)]}function Mg(){var e,t,r,n,o;for(e=new ue,t=new ue,r=0;r<24;r++){for(Hr(e.ea,r,12,!0),o=0;o<10;o++)ht(e,(J(),ce)[(Ve(),wt)[o]],t),Cn[r][o]=st(t.ea,12,!0)%24&je;for(n=0;n<16;n++)No(e,(J(),at)[0][n],t),To[r][n]=st(t.ea,12,!0)%24&je}}function Go(e,t,r,n,o,l,i){var a,f,s,c,m,u,p,g,d,L,D,F,B,k,E,Q,$,G,oe,b,_,M,S,v,C,j,Z,me,de,Fe,we,kt,Ce,rt,ve,R;if(B=l&15,D=(l>>4&1)==1?Ha:0,s=(l>>5&1)==1,a=l>>8&15,c=l>>12&15,m=l>>16&15,L=i?c:m,F=(1<<B)-1,f=t==null,g=f?2048:t.length,d=g*n.length,p=s?10:18,u=p==10?66:599186,E=(e[d>>3]>>(d<<2)&15)-1,E==-1){for(G=0;G<~~(d/8)+1;G++)e[G]=Co;e[0]^=1,E=0}for(;E<L;){for(C=(E+1)*Co^-1,oe=0;oe<e.length;oe++)ve=e[oe]^C,ve&=ve>>1,e[oe]+=ve&ve>>2&Co;for(M=E>a,Fe=M?E+2:E,de=Fe*Co,k=M?E:E+2,++E,R=E^E+1,rt=0,G=0;G<d;++G,rt>>=4){if((G&7)==0&&(rt=e[G>>3],((rt^de)-Co&~(rt^de)&-2004318072)==0)){G+=7;continue}if((rt&15)==Fe)for(Z=G%g,we=~~(G/g),Q=0,$=0,f&&(Q=(J(),qr)[Z],$=Q&7,Q>>=3),v=0;v<p;v++){if(Ce=n[we][v],f?me=(J(),Dr)[_n[Q][Vr[v<<3|$]]^$^Ce&F]:me=r[t[Z][v]][Ce&F],Ce>>=B,b=Ce*g+me,j=e[b>>3]>>(b<<2)&15,j!=k){j<E-1&&(v+=u>>v&3);continue}if(M){e[G>>3]^=R<<(G<<2);break}for(e[b>>3]^=R<<(b<<2),S=1,kt=o[Ce];(kt>>=1)!=0;S++)(kt&1)==1&&(_=Ce*g,f?_+=(J(),Dr)[qr[me]^S]:_+=r[me][S^D>>(S<<1)&3],(e[_>>3]>>(_<<2)&15)==k&&(e[_>>3]^=R<<(_<<2)))}}}}function Gg(){var e,t,r,n;for(e=new ue,t=new ue,r=0;r<324;r++)for(ls(e,(J(),cs)[r]),n=0;n<18;n++)Lr(e,ce[n],t),Mn[r][n]=Wo[ai(t)]}function Tg(){var e,t,r,n,o,l,i,a;for(e=new ue,t=new ue,n=0;n<495;n++){for(Mu(e.ea,494-n,8,!0),l=0;l<18;l+=3)ht(e,(J(),ce)[l],t),hr[n][l]=494-In(t.ea,8,!0)&je;for(o=0;o<16;o+=2)No(e,(J(),at)[0][o],t),dr[n][o>>1]=494-In(t.ea,8,!0)&je}for(r=0;r<495;r++)for(o=0;o<18;o+=3)for(a=hr[r][o],i=1;i<3;i++)a=hr[a][o],hr[r][o+i]=a&je}function J(){Ru||(Ru=!0,Ht=X(Ko,se,7,16,0,1),ce=X(Ko,se,7,18,0,1),mi=X(td,se,0,18,6,1),vu=X(ke,Ee,0,48,7,1),Zt=et(ke,[se,Ee],[17,0],7,[16,16],2),at=et(ke,[se,Ee],[17,0],7,[16,16],2),Oo=et(ke,[se,Ee],[17,0],7,[16,18],2),Vr=X(ke,Ee,0,144,7,1),yr=et(ke,[se,Ee],[17,0],7,[16,18],2),as=X(ye,De,0,336,7,1),cs=X(ye,De,0,324,7,1),Gn=X(ye,De,0,2768,7,1),Tn=X(re,ae,0,2768,7,1),ss=X(ye,De,0,2768,7,1),ci=X(re,ae,0,24,7,1),qr=X(ye,De,0,2048,7,1),Wo=X(ye,De,0,2187,7,1),Yt=X(ye,De,0,40320,7,1),Dr=X(ye,De,0,2688,7,1),ms=new bt(2531,1373,67026819,1367),ps=new bt(2089,1906,322752913,2040),pi=te(ee(re,2),se,10,0,[te(ee(re,1),ae,0,7,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]),te(ee(re,1),ae,0,7,[6,7,8,0,1,2,3,4,5,15,16,17,9,10,11,12,13,14]),te(ee(re,1),ae,0,7,[3,4,5,6,7,8,0,1,2,12,13,14,15,16,17,9,10,11]),te(ee(re,1),ae,0,7,[2,1,0,5,4,3,8,7,6,11,10,9,14,13,12,17,16,15]),te(ee(re,1),ae,0,7,[8,7,6,2,1,0,5,4,3,17,16,15,11,10,9,14,13,12]),te(ee(re,1),ae,0,7,[5,4,3,8,7,6,2,1,0,14,13,12,17,16,15,11,10,9])]),Kg(),jg())}function rs(e){e.ca=te(ee(re,1),ae,0,7,[0,1,2,3,4,5,6,7]),e.ea=te(ee(re,1),ae,0,7,[0,2,4,6,8,10,12,14,16,18,20,22])}function Fu(e){!e.temps&&(e.temps=new ue),Lr(ps,e,e.temps),Lr(e.temps,ms,e),ht(ps,e,e.temps),ht(e.temps,ms,e)}function ns(e,t){var r,n;for(n=0;n<8;n++)e.ca[n]=t.ca[n];for(r=0;r<12;r++)e.ea[r]=t.ea[r]}function Ig(e){return ui(Yt[st(e.ca,8,!1)])}function Ng(e){return Yt[st(e.ea,8,!0)]}function ii(e){var t,r;for(r=0,t=0;t<11;t++)r=r<<1|e.ea[t]&1;return r}function ai(e){var t,r;for(r=0,t=0;t<7;t++)r+=(r<<1)+(e.ca[t]>>3);return r}function si(e){var t,r;for(!e.temps&&(e.temps=new ue),r=0;r<12;r++)e.temps.ea[e.ea[r]>>1]=(r<<1|e.ea[r]&1)<<24>>24;for(t=0;t<8;t++)e.temps.ca[e.ca[t]&7]=(t|32>>(e.ca[t]>>3)&24)<<24>>24;ns(e,e.temps)}function Bu(e){var t,r,n,o,l,i,a;for(t=new wu(e),o=new ue,r=ui(Yt[st(t.ca,8,!1)])>>4,i={l:0,m:0,h:0},a=0;a<6;a++){if(n=ui(Yt[st(t.ca,8,!1)])>>4,r==n)for(l=0;l<16;l++)Io(t,at[0][l],o),ei(o.ca,e.ca)&&(No(t,at[0][l],o),ei(o.ea,e.ea)&&(i=$a(i,Jl({l:1,m:0,h:0},(a<<4|l)<48?a<<4|l:48))));Fu(t),a%3==2&&si(t)}return i}function Og(e,t){Hr(e.ca,t,8,!1)}function bu(e,t){Hr(e.ea,t,8,!0)}function os(e,t){var r,n,o;for(n=0,r=10;r>=0;--r,t>>=1)n^=o=t&1,e.ea[r]=(e.ea[r]&-2|o)<<24>>24;e.ea[11]=(e.ea[11]&-2|n)<<24>>24}function ls(e,t){var r,n,o;for(n=15,r=6;r>=0;--r,t=~~(t/3))n-=o=t%3,e.ca[r]=(e.ca[r]&7|o<<3)<<24>>24;e.ca[7]=(e.ca[7]&7|n%3<<3)<<24>>24}function Wg(e){var t,r,n,o,l;for(l=0,o=0,n=0;n<12;n++)o|=1<<(e.ea[n]>>1),l^=e.ea[n]&1;if(o!=4095)return-2;if(l!=0)return-3;for(r=0,l=0,t=0;t<8;t++)r|=1<<(e.ca[t]&7),l+=e.ca[t]>>3;return r!=255?-4:l%3!=0?-5:(ds(st(e.ea,12,!0),12)^ds(st(e.ca,8,!1),8))!=0?-6:0}function Io(e,t,r){J();var n,o,l,i,a,f;for(f=Ht[at[0][t]],a=Ht[t],n=0;n<8;n++)l=f.ca[e.ca[a.ca[n]&7]&7]>>3,i=e.ca[a.ca[n]&7]>>3,o=l<3?i:(3-i)%3,r.ca[n]=(f.ca[e.ca[a.ca[n]&7]&7]&7|o<<3)<<24>>24}function Lr(e,t,r){J();var n,o,l;for(n=0;n<8;n++)o=e.ca[t.ca[n]&7]>>3,l=t.ca[n]>>3,r.ca[n]=(e.ca[t.ca[n]&7]&7|(o+l)%3<<3)<<24>>24}function fi(e,t,r){var n,o,l,i;for(n=0;n<8;n++)l=e.ca[t.ca[n]&7]>>3,i=t.ca[n]>>3,o=l+(l<3?i:6-i),o=o%3+(l<3==i<3?0:3),r.ca[n]=(e.ca[t.ca[n]&7]&7|o<<3)<<24>>24}function ue(){J(),rs(this)}function bt(e,t,r,n){rs(this),Hr(this.ca,e,8,!1),ls(this,t),Hr(this.ea,r,12,!0),os(this,n)}function wu(e){rs(this),ns(this,e)}function ui(e){return J(),e^Ha>>((e&15)<<1)&3}function No(e,t,r){J();var n,o,l;for(l=Ht[at[0][t]],o=Ht[t],n=0;n<12;n++)r.ea[n]=(l.ea[e.ea[o.ea[n]>>1]>>1]^e.ea[o.ea[n]>>1]&1^o.ea[n]&1)<<24>>24}function ht(e,t,r){J();var n;for(n=0;n<12;n++)r.ea[n]=(e.ea[t.ea[n]>>1]^t.ea[n]&1)<<24>>24}function Ar(e,t,r){J();var n;return n=ss[e],r&&(n=n^Ha>>((n&15)<<1)&3),n&65520|Zt[n&15][t]}function xu(){return J(),0}function Kg(){var e,t;for(ce[0]=new bt(15120,0,119750400,0),ce[3]=new bt(21021,1494,323403417,0),ce[6]=new bt(8064,1236,29441808,550),ce[9]=new bt(9,0,5880,0),ce[12]=new bt(1230,412,2949660,0),ce[15]=new bt(224,137,328552,137),e=0;e<18;e+=3)for(t=0;t<2;t++)ce[e+t+1]=new ue,ht(ce[e+t],ce[e],ce[e+t+1]),Lr(ce[e+t],ce[e],ce[e+t+1])}function Qg(){J();var e,t,r;for(is(40320,Gn,Yt,fs=X(ye,De,0,2768,7,1),2),e=new ue,r=0;r<2768;r++)bu(e,Gn[r]),Tn[r]=In(e.ea,0,!0)+ds(Gn[r],8)*70<<24>>24,si(e),ss[r]=Yt[st(e.ea,8,!0)];for(t=0;t<24;t++)Hr(e.ea,t,12,!0),si(e),ci[t]=st(e.ea,12,!0)%24<<24>>24}function jg(){var e,t,r,n,o,l,i,a,f,s,c,m,u,p,g,d;for(e=new ue,t=new ue,r=new bt(28783,0,259268407,0),d=new bt(15138,0,119765538,7),m=new bt(5167,0,83473207,0),o=0;o<8;o++)m.ca[o]=Zl(m.ca[o]|24);for(l=0;l<16;l++)Ht[l]=new wu(e),fi(e,d,t),ht(e,d,t),g=t,t=e,e=g,l%4==3&&(fi(g,m,t),ht(g,m,t),g=t,t=e,e=g),l%8==7&&(fi(g,r,t),ht(g,r,t),g=t,t=e,e=g);for(i=0;i<16;i++)for(f=0;f<16;f++)for(fi(Ht[i],Ht[f],e),c=0;c<16;c++)if(ei(Ht[c].ca,e.ca)){Zt[i][f]=c,at[c][f]=i;break}for(s=0;s<18;s++)for(p=0;p<16;p++){for(Io(ce[s],at[0][p],e),u=0;u<18;u++)if(ei(ce[u].ca,e.ca)){Oo[p][s]=u,yr[p][(Ve(),Nn)[s]]=Nn[u];break}p%2==0&&(Vr[s<<3|p>>1]=Oo[p][s])}for(n=0;n<18;n++)for(mi[n]=Bu(ce[n]),a=n,p=0;p<48;p++)Oo[p%16][a]<n&&(vu[p]|=1<<n),p%16==15&&(a=pi[2][a])}function is(e,t,r,n,o){J();var l,i,a,f,s,c,m,u,p;for(l=new ue,a=new ue,i=0,s=0,p=o>=2?1:2,c=o!=1,f=0;f<e;f++)if(r[f]==0){switch(o){case 0:os(l,f);break;case 1:ls(l,f);break;case 2:Hr(l.ea,f,8,!0)}for(m=0;m<16;m+=p){switch(c?No(l,m,a):Io(l,m,a),o){case 0:s=ii(a);break;case 1:s=ai(a);break;case 2:s=st(a.ea,8,!0)}o==0&&(Dr[i<<3|m>>1]=s&je),s==f&&(n[i]=(n[i]|1<<~~(m/p))&je),u=~~((i<<4|m)/p),r[s]=u&je}t[i++]=f&je}return i}function qg(e,t,r,n,o,l,i,a){var f,s,c,m,u;if(m=gr(it((Qr(),kn),(i>>4)*140+jr[(J(),Tn)[a>>4]&255][at[i&15][a&15]]),gr(it(kn,n*140+jr[Tn[t]&255][at[o][r]]),it(ti,t*24+To[l][r]))),m>e.maxDep2)return m-e.maxDep2;for(f=e.maxDep2;f>=m&&(u=ku(e,n,o,t,r,l,f,e.depth1,10),!(u<0));f--){for(f-=u,e.solLen=0,e.solution=new Iu,$g(e.solution,e.verbose,e.urfIdx,e.depth1),c=0;c<e.depth1+f;c++)Gu(e.solution,e.move[c]);for(s=e.preMoveLen-1;s>=0;s--)Gu(e.solution,e.preMoves[s]);e.solLen=e.solution.length_0}return f!=e.maxDep2?(e.maxDep2=es(_u,e.solLen-e.length1-1),gu(e.probe,e.probeMin)?0:1):1}function Vg(e){var t,r,n,o,l,i,a,f,s,c,m,u,p,g,d;if(e.isRec=!1,gu(e.probe,e.solution?e.probeMin:e.probeMax))return 0;for(e.probe=Fg(e.probe,{l:1,m:0,h:0}),n=e.valid1;n<e.depth1;n++)Lr(e.phase1Cubie[n],(J(),ce)[e.move[n]],e.phase1Cubie[n+1]),ht(e.phase1Cubie[n],ce[e.move[n]],e.phase1Cubie[n+1]);for(e.valid1=e.depth1,a=Ig(e.phase1Cubie[e.depth1]),f=a&15,a>>=4,s=Ng(e.phase1Cubie[e.depth1]),c=s&15,s>>=4,m=st(e.phase1Cubie[e.depth1].ea,12,!0)%24,r=Ar(s,c,!1),t=Ar(a,f,!0),o=e.depth1==0?-1:e.move[e.depth1-1],l=e.preMoveLen==0?-1:e.preMoves[e.preMoveLen-1],d=0,g=(e.preMoveLen==0?1:2)*(e.depth1==0?1:2),u=0,p=(1<<g)-1;u<g;u++){if((p>>u&1)!=0){if(p&=~(1<<u),d=qg(e,a,f,s,c,m,r,t),d==0||d>2)break;d==2&&(p&=4<<u)}if(p==0)break;(u&1)==0&&e.depth1>0?(i=(Ve(),Nn)[~~(o/3)*3+1],e.move[e.depth1-1]=wt[i]*2-e.move[e.depth1-1],m=(Qr(),Cn)[m][i],a=En[a][(J(),yr)[f][i]],f=Zt[a&15][f],a>>=4,s=zn[s][yr[c][i]],c=Zt[s&15][c],s>>=4,t=Ar(a,f,!0),r=Ar(s,c,!1)):e.preMoveLen>0&&(i=(Ve(),Nn)[~~(l/3)*3+1],e.preMoves[e.preMoveLen-1]=wt[i]*2-e.preMoves[e.preMoveLen-1],m=(J(),ci)[(Qr(),Cn)[ci[m]][i]],a=En[t>>4][yr[t&15][i]],t=a&-16|Zt[a&15][t&15],a=Ar(t>>4,t&15,!0),f=a&15,a>>=4,s=zn[r>>4][yr[r&15][i]],r=s&-16|Zt[s&15][r&15],s=Ar(r>>4,r&15,!1),c=s&15,s>>=4)}return e.depth1>0&&(e.move[e.depth1-1]=o),e.preMoveLen>0&&(e.preMoves[e.preMoveLen-1]=l),d==0?0:2}function Hg(e){var t;for(e.conjMask=0,e.selfSym=Bu(e.cc),e.conjMask|=Ja(Tt(Wr(e.selfSym,16),{l:je,m:0,h:0}),{l:0,m:0,h:0})?18:0,e.conjMask|=Ja(Tt(Wr(e.selfSym,32),{l:je,m:0,h:0}),{l:0,m:0,h:0})?36:0,e.conjMask|=Ja(Tt(Wr(e.selfSym,48),{l:je,m:0,h:0}),{l:0,m:0,h:0})?56:0,e.selfSym=Tt(e.selfSym,{l:$e,m:$e,h:15}),e.maxPreMoves=e.conjMask>7?0:20,t=0;t<6;t++)ns(e.urfCubieCube[t],e.cc),Du(e.urfCoordCube[t],e.urfCubieCube[t],20),Fu(e.cc),t%3==2&&si(e.cc)}function Uu(e,t,r,n,o){var l,i,a,f,s,c;if(t.prun==0&&n<5)return e.allowShorter||n==0?(e.depth1-=n,s=Vg(e),e.depth1+=n,s):1;for(c=xu(Xa(r)),l=0;l<18;l+=3)if(!(l==o||l==o-9)){for(a=0;a<3;a++)if(i=l+a,!(e.isRec&&i!=e.move[e.depth1-n]||c!=0&&(c&1<<i)!=0)){if(f=Eg(e.nodeUD[n],t,i),f>n)break;if(f==n)continue;if(f=kg(e.nodeUD[n],t,i),f>n)break;if(f==n)continue;if(e.move[e.depth1-n]=i,e.valid1=es(e.valid1,e.depth1-n),s=Uu(e,e.nodeUD[n],r&Kr((J(),mi)[i]),n-1,l),s==0)return 0;if(s>=2)break}}return 1}function Eu(e,t,r,n,o){var l,i,a;if(e.preMoveLen=e.maxPreMoves-t,(e.isRec?e.depth1==e.length1-e.preMoveLen:e.preMoveLen==0||(225207>>r&1)==0)&&(e.depth1=e.length1-e.preMoveLen,e.phase1Cubie[0]=n,e.allowShorter=e.depth1==gs&&e.preMoveLen!=0,Du(e.nodeUD[e.depth1+1],n,e.depth1)&&Uu(e,e.nodeUD[e.depth1+1],o,e.depth1,-1)==0))return 0;if(t==0||e.preMoveLen+gs>=e.length1)return 1;for(a=xu(Xa(o)),(t==1||e.preMoveLen+1+gs>=e.length1)&&(a|=225207),r=~~(r/3)*3,l=0;l<18;l++){if(l==r||l==r-9||l==r+9){l+=2;continue}if(!(e.isRec&&l!=e.preMoves[e.maxPreMoves-t]||(a&1<<l)!=0)&&(Lr((J(),ce)[l],n,e.preMoveCubes[t]),ht(ce[l],n,e.preMoveCubes[t]),e.preMoves[e.maxPreMoves-t]=l,i=Eu(e,t-1,l,e.preMoveCubes[t],o&Kr(mi[l])),i==0))return 0}return 1}function ku(e,t,r,n,o,l,i,a,f){var s,c,m,u,p,g,d,L,D,F,B;if(t==0&&n==0&&l==0)return i;for(D=(Ve(),Qo)[f],d=0;d<10;d++){if((D>>d&1)!=0){d+=66>>d&3;continue}if(L=(Qr(),Cn)[l][d],c=En[n][(J(),yr)[o][d]],m=Zt[c&15][o],c>>=4,p=zn[t][yr[r][d]],g=Zt[p&15][r],p>>=4,u=Ar(p,g,!1),s=Ar(c,m,!0),F=it(kn,(u>>4)*140+jr[Tn[s>>4]&255][at[u&15][s&15]]),F>i+1)return i-F+1;if(F>=i){d+=66>>d&3&i-F;continue}if(F=gr(it(ti,c*24+To[L][m]),it(kn,p*140+jr[Tn[c]&255][at[g][m]])),F>=i){d+=66>>d&3&i-F;continue}if(B=ku(e,p,g,c,m,L,i-1,a+1,d),B>=0)return e.move[a]=wt[d],B;if(B<-2)break;B<-1&&(d+=66>>d&3)}return-1}function Yg(e){for(e.length1=e.isRec?e.length1:0;e.length1<e.solLen;e.length1++)for(e.maxDep2=es(_u,e.solLen-e.length1-1),e.urfIdx=e.isRec?e.urfIdx:0;e.urfIdx<6;e.urfIdx++)if((e.conjMask&1<<e.urfIdx)==0&&Eu(e,e.maxPreMoves,-30,e.urfCubieCube[e.urfIdx],Kr(Tt(e.selfSym,{l:je,m:0,h:0})))==0)return e.solution?Tu(e.solution):\\\"Error 8\\\";return e.solution?Tu(e.solution):\\\"Error 7\\\"}function Zg(e,t){var r;return r=Xg(e,t),r!=0?\\\"Error \\\"+(r<0?-r:r):(e.solLen=22,e.probe={l:0,m:0,h:0},e.probeMax={l:3531008,m:23,h:0},e.probeMin={l:0,m:0,h:0},e.verbose=0,e.solution=null,e.isRec=!1,yu(!1),Hg(e),Yg(e))}function Xg(e,t){var r,n,o,l;for(n=0,o=X(re,ae,0,54,7,1),r=wg(te(ee(ye,1),De,0,7,[t.charCodeAt(4),t.charCodeAt(13),t.charCodeAt(22),t.charCodeAt(31),t.charCodeAt(40),t.charCodeAt(49)])),l=0;l<54;l++){if(o[l]=bg(r,Sg(t.charCodeAt(l)))<<24>>24,o[l]==-1)return-1;n+=1<<(o[l]<<2)}return n!=10066329?-1:(Jg(o,e.cc),Wg(e.cc))}function zu(){var e,t,r;for(this.move=X(ke,Ee,0,31,7,1),this.nodeUD=X(li,se,31,21,0,1),this.nodeRL=X(li,se,31,21,0,1),this.nodeFB=X(li,se,31,21,0,1),this.cc=new ue,this.urfCubieCube=X(Ko,se,7,6,0,1),this.urfCoordCube=X(li,se,31,6,0,1),this.phase1Cubie=X(Ko,se,7,21,0,1),this.preMoveCubes=X(Ko,se,7,21,0,1),this.preMoves=X(ke,Ee,0,20,7,1),t=0;t<21;t++)this.nodeUD[t]=new Mo,this.nodeRL[t]=new Mo,this.nodeFB[t]=new Mo,this.phase1Cubie[t]=new ue;for(r=0;r<6;r++)this.urfCubieCube[r]=new ue,this.urfCoordCube[r]=new Mo;for(e=0;e<20;e++)this.preMoveCubes[e+1]=new ue}function Ve(){if(!Cu){Cu=!0;var e,t,r,n,o,l;for(Yr=te(ee(re,2),se,10,0,[te(ee(re,1),ae,0,7,[8,9,20]),te(ee(re,1),ae,0,7,[6,18,38]),te(ee(re,1),ae,0,7,[0,36,47]),te(ee(re,1),ae,0,7,[2,45,11]),te(ee(re,1),ae,0,7,[29,26,15]),te(ee(re,1),ae,0,7,[27,44,24]),te(ee(re,1),ae,0,7,[33,53,42]),te(ee(re,1),ae,0,7,[35,17,51])]),Jt=te(ee(re,2),se,10,0,[te(ee(re,1),ae,0,7,[5,10]),te(ee(re,1),ae,0,7,[7,19]),te(ee(re,1),ae,0,7,[3,37]),te(ee(re,1),ae,0,7,[1,46]),te(ee(re,1),ae,0,7,[32,16]),te(ee(re,1),ae,0,7,[28,25]),te(ee(re,1),ae,0,7,[30,43]),te(ee(re,1),ae,0,7,[34,52]),te(ee(re,1),ae,0,7,[23,12]),te(ee(re,1),ae,0,7,[21,41]),te(ee(re,1),ae,0,7,[50,39]),te(ee(re,1),ae,0,7,[48,14])]),Xt=et(ke,[se,Ee],[17,0],7,[13,13],2),hs=te(ee(vg,1),se,2,4,[\\\"U \\\",\\\"U2\\\",\\\"U'\\\",\\\"R \\\",\\\"R2\\\",\\\"R'\\\",\\\"F \\\",\\\"F2\\\",\\\"F'\\\",\\\"D \\\",\\\"D2\\\",\\\"D'\\\",\\\"L \\\",\\\"L2\\\",\\\"L'\\\",\\\"B \\\",\\\"B2\\\",\\\"B'\\\"]),wt=te(ee(ke,1),Ee,0,7,[0,1,2,4,7,9,10,11,13,16,3,5,6,8,12,14,15,17]),Nn=X(ke,Ee,0,18,7,1),Qo=X(ke,Ee,0,11,7,1),t=0;t<18;t++)Nn[wt[t]]=t;for(r=0;r<10;r++)for(n=~~(wt[r]/3),Qo[r]=0,o=0;o<10;o++)l=~~(wt[o]/3),Qo[r]|=(n==l||n%3==l%3&&n>=l?1:0)<<o;for(Qo[10]=0,e=0;e<13;e++)for(Xt[e][0]=Xt[e][e]=1,o=1;o<e;o++)Xt[e][o]=Xt[e-1][o-1]+Xt[e-1][o]}}function In(e,t,r){Ve();var n,o,l,i,a;for(n=e.length-1,l=0,a=4,o=n;o>=0;o--)i=Pu(e[o],r),(i&12)==t&&(l+=Xt[o][a--]);return l}function ds(e,t){Ve();var r,n;for(n=0,r=t-2;r>=0;r--)n^=e%(t-r),e=~~(e/(t-r));return n&1}function st(e,t,r){Ve();var n,o,l,i;for(o=0,i={l:1323536,m:2777561,h:1043915},n=0;n<t-1;n++)l=Pu(e[n],r)<<2,o=(t-n)*o+Kr(Tt(Wr(i,l),{l:15,m:0,h:0})),i=du(i,Jl({l:1118480,m:279620,h:69905},l));return o}function Pu(e,t){return t?e>>1:e&7}function Mu(e,t,r,n){Ve();var o,l,i,a;for(o=e.length-1,a=4,l=o,i=o;i>=0;i--)t>=Xt[i][a]?(t-=Xt[i][a--],e[i]=gi(e[i],a|r,n)):((l&12)==r&&(l-=4),e[i]=gi(e[i],l--,n))}function Hr(e,t,r,n){Ve();var o,l,i,a,f,s;for(s={l:1323536,m:2777561,h:1043915},o={l:0,m:0,h:0},a=2;a<=r;a++)o=$a(Jl(o,4),Xa(t%a)),t=~~(t/a);for(l=0;l<r-1;l++)f=(Kr(o)&15)<<2,o=Wr(o,4),e[l]=gi(e[l],Kr(Tt(Wr(s,f),{l:15,m:0,h:0})),n),i=du(Jl({l:1,m:0,h:0},f),{l:1,m:0,h:0}),s=$a(Tt(s,i),Tt(Wr(s,4),{l:~i.l&$e,m:~i.m&$e,h:~i.h&mr}));e[r-1]=gi(e[r-1],Kr(Tt(s,{l:15,m:0,h:0})),n)}function gi(e,t,r){return(r?t<<1|e&1:t|e&-8)<<24>>24}function Jg(e,t){Ve();var r,n,o,l,i,a,f,s;for(l=0;l<8;l++)t.ca[l]=0;for(i=0;i<12;i++)t.ea[i]=0;for(a=0;a<8;a++){for(s=0;s<3&&!(e[Yr[a][s]]==0||e[Yr[a][s]]==3);s++);for(r=e[Yr[a][(s+1)%3]],n=e[Yr[a][(s+2)%3]],f=0;f<8;f++)if(r==~~(Yr[f][1]/9)&&n==~~(Yr[f][2]/9)){t.ca[a]=Zl(s%3<<3|f);break}}for(o=0;o<12;o++)for(f=0;f<12;f++){if(e[Jt[o][0]]==~~(Jt[f][0]/9)&&e[Jt[o][1]]==~~(Jt[f][1]/9)){t.ea[o]=Zl(f<<1);break}if(e[Jt[o][0]]==~~(Jt[f][1]/9)&&e[Jt[o][1]]==~~(Jt[f][0]/9)){t.ea[o]=Zl(f<<1|1);break}}}function Gu(e,t){var r,n,o;if(e.length_0==0){e.moves[e.length_0++]=t;return}if(r=~~(t/3),n=~~(e.moves[e.length_0-1]/3),r==n){o=(t%3+e.moves[e.length_0-1]%3+1)%4,o==3?--e.length_0:e.moves[e.length_0-1]=r*3+o;return}if(e.length_0>1&&r%3==n%3&&r==~~(e.moves[e.length_0-2]/3)){o=(t%3+e.moves[e.length_0-2]%3+1)%4,o==3?(e.moves[e.length_0-2]=e.moves[e.length_0-1],--e.length_0):e.moves[e.length_0-2]=r*3+o;return}e.moves[e.length_0++]=t}function $g(e,t,r,n){e.verbose=t,e.urfIdx=r,e.depth1=n}function Tu(e){var t,r,n;if(r=new Ug,n=(e.verbose&2)!=0?(e.urfIdx+3)%6:e.urfIdx,n<3)for(t=0;t<e.length_0;t++)(e.verbose&1)!=0&&t==e.depth1&&(r.string+=\\\". \\\"),hu(Lu(r,(Ve(),hs)[(J(),pi)[n][e.moves[t]]]));else for(t=e.length_0-1;t>=0;t--)hu(Lu(r,(Ve(),hs)[(J(),pi)[n][e.moves[t]]])),(e.verbose&1)!=0&&t==e.depth1&&(r.string+=\\\". \\\");return r.string}function Iu(){this.moves=X(ke,Ee,0,31,7,1)}var se,$e,mr,pg,je,De,Ee,Ha,Co,ae,H,Yl,$l,vg,Au,jr,ts,En,kn,zn,_n,ti,To,Cn,Pn,Mn,dr,ri,hr,ni,oi,li,Ru,Ht,Yt,Gn,qr,as,Dr,ci,Tn,ss,Vr,Oo,yr,Zt,at,Su,fs,us,Wo,cs,vu,ce,mi,ms,ps,pi,Ko,_u,gs,Cu,Xt,Qo,Yr,Jt,hs,Nn,wt,ke,ed,re,td,ye,rd,nd,Ou=w(()=>{se={3:1},$e=4194303,mr=1048575,pg=524288,je=65535,De={11:1,3:1},Ee={17:1,3:1},Ha=14540032,Co=286331153,ae={10:1,3:1},Yl={};Po(1,null,{},Lg);Po(79,1,{},Ya);H.createClassLiteralForArray=function(t){var r;return r=new Ya,r.modifiers=4,t>1?r.componentType=uu(this,t-1):r.componentType=this,r};H.isPrimitive=function(){return(this.modifiers&1)!=0};vg=pr(\\\"java.lang\\\",\\\"String\\\",2);Au=!1;Po(31,1,{31:1},Mo);H.flip=0;H.flipc=0;H.fsym=0;H.prun=0;H.slice_0=0;H.tsym=0;H.twist=0;H.twistc=0;oi=0,li=pr(\\\"org.cubing.min2phase.client\\\",\\\"CoordCube\\\",31),Ru=!1;Ko=pr(\\\"org.cubing.min2phase.client\\\",\\\"CubieCube\\\",7);Po(72,1,{},zu);H.allowShorter=!1;H.conjMask=0;H.depth1=0;H.isRec=!1;H.length1=0;H.maxDep2=0;H.maxPreMoves=0;H.preMoveLen=0;H.probe={l:0,m:0,h:0};H.probeMax={l:0,m:0,h:0};H.probeMin={l:0,m:0,h:0};H.selfSym={l:0,m:0,h:0};H.solLen=0;H.urfIdx=0;H.valid1=0;H.verbose=0;_u=12,gs=7,Cu=!1;Po(150,1,{},Iu);H.depth1=0;H.length_0=0;H.urfIdx=0;H.verbose=0;ke=Xl(\\\"int\\\",\\\"I\\\");pr(\\\"com.google.gwt.lang\\\",\\\"CollapsedPropertyHolder\\\",252);pr(\\\"com.google.gwt.lang\\\",\\\"JavaClassHierarchySetupUtil\\\",254);ed=pr(\\\"com.google.gwt.lang\\\",\\\"LongLibBase/LongEmul\\\",null);pr(\\\"com.google.gwt.lang\\\",\\\"ModuleUtils\\\",257);re=Xl(\\\"byte\\\",\\\"B\\\"),td=Xl(\\\"long\\\",\\\"J\\\"),ye=Xl(\\\"char\\\",\\\"C\\\");pr(\\\"com.google.gwt.user.client.rpc\\\",\\\"XsrfToken\\\",null),Ag(\\\"java.util\\\",\\\"Map/Entry\\\");rd=function(){yu(!1)},nd=function(e){return Zg(new zu,e)}});async function Wu(){let e=await Ke[\\\"3x3x3\\\"].kpuzzle(),t=e.startState();for(let r of au)t=t.applyAlg(z.fromString((await Vt())(r)));return lu(e,t)?t:Wu()}function Ku(){return od??(od=Promise.resolve().then(()=>(Ou(),Nu)))}async function Ls(e){return ct(),z.fromString((await Ku()).solveState(ru(e)))}async function On(){return Ls(await Wu())}async function Qu(){(await Ku()).initialize()}async function ju(){return Un(await On(),ld)}async function Vu(){let e=new pt,t=await On();return e.experimentalPushAlg(qu),e.experimentalPushAlg(t),e.experimentalPushAlg(qu),e.toAlg()}var od,ld,qu,As=w(()=>{Le();ur();Mt();qt();Hl();nu();iu();su();od=null;ld=[[null,\\\"Rw\\\",\\\"Rw2\\\",\\\"Rw'\\\",\\\"Fw\\\",\\\"Fw'\\\"],[null,\\\"Dw\\\",\\\"Dw2\\\",\\\"Dw'\\\"]];qu=new z(\\\"R' U' F\\\")});function fe(e,...t){let r=t.length,n=e[t[r-1]];for(let o=r;o>0;o--)e[t[o]]=e[t[o-1]];return e[t[0]]=n,fe}function Hu(e,t,r,n){r=(r||8)-1;let o=1985229328,l=0;n??(n=0),n<0&&(t<<=1);for(let i=0;i<r;++i){let a=Ds[r-i],f=~~(t/a);l^=f,t%=a,f<<=2,e[i]=o>>f&7;let s=(1<<f)-1;o=(o&s)+(o>>4&~s)}return n<0&&(l&1)!=0?(e[r]=e[r-1],e[r-1]=o&7):e[r]=o&7,e}var pe,Ds,Yu=w(()=>{pe=[],Ds=[1];for(let e=0;e<32;++e){pe[e]=[];for(let t=0;t<32;++t)pe[e][t]=0}for(let e=0;e<32;++e){pe[e][0]=pe[e][e]=1,Ds[e+1]=Ds[e]*(e+1);for(let t=1;t<e;++t)pe[e][t]=pe[e-1][t-1]+pe[e-1][t]}});var rc={};Be(rc,{initialize:()=>yh,random444Scramble:()=>Rh});function T(e,t){let r=new Array(e);if(t!==void 0)for(let n=0;n<e;n++)r[n]=new Array(t);return r}function md(e){return new jo[e]}function mt(e,t,r,...n){let o=jo[e];o&&!o.___clazz$?Y=o.prototype:(!o&&(o=jo[e]=function(){}),Y=o.prototype=t<0?{}:md(t),Y.castableTypeMap$=r);for(let l of n)l.prototype=Y;o.___clazz$&&(Y.___clazz$=o.___clazz$,o.___clazz$=null)}function Rr(e){let t={};for(let r=0,n=e.length;r<n;++r)t[e[r]]=1;return t}function $u(){}function pd(e,t){let r=e1(0,t);return t1(e.___clazz$,e.castableTypeMap$,e.queryId$,r),r}function e1(e,t){let r=new Array(t);if(e===3)for(let n=0;n<t;++n){let o={m:0,l:0,h:0};o.l=o.m=o.h=0,r[n]=o}else if(e>0){let n=[null,0,!1][e];for(let o=0;o<t;++o)r[o]=n}return r}function Fs(e,t,r,n,o){let l=e1(o,n);return t1(e,t,r,l),l}function t1(e,t,r,n){return n1(),dd(n,Bs,bs),n.___clazz$=e,n.castableTypeMap$=t,n.queryId$=r,n}function di(e,t,r){return e[t]=r}function n1(){r1||(r1=!0,Bs=[],bs=[],gd(new $u,Bs,bs))}function gd(e,t,r){let n=0,o;for(let l in e)(o=e[l])&&(t[n]=l,r[n]=o,++n)}function dd(e,t,r){n1();for(let n=0,o=t.length;n<o;++n)e[t[n]]=r[n]}function hd(e,t){return e.castableTypeMap$&&!!e.castableTypeMap$[t]}function Ld(e,t){return e!==null&&hd(e,t)}function Ad(){if(o1)return!1;o1=!0,yi=T(15582,36),Ri=T(15582),St=T(15582),Qn=T(48,48),vt=T(48,36),Kn=T(48),Ss=T(48)}function ws(e){e.ct=T(24)}function l1(e,t){let r,n;if(Ld(t,Xu)){for(r=t,n=0;n<24;++n)if(e.ct[n]!==r.ct[n])return!1;return!0}return!1}function hi(e){let t,r,n;for(r=0,n=8,t=23;t>=0;--t)e.ct[t]===1&&(r+=pe[t][n--]);return r}function Li(e){let t,r;if(Wn!==null)return Wn[hi(e)];for(r=0;r<48;++r){if(t=bd(hi(e)),t!==-1)return t*64+r;ie(e,0),r%2==1&&ie(e,1),r%8==7&&ie(e,2),r%16==15&&ie(e,3)}}function xt(e,t){let r=t%3;switch(t=~~(t/3),t){case 0:y(e.ct,0,1,2,3,r);break;case 1:y(e.ct,16,17,18,19,r);break;case 2:y(e.ct,8,9,10,11,r);break;case 3:y(e.ct,4,5,6,7,r);break;case 4:y(e.ct,20,21,22,23,r);break;case 5:y(e.ct,12,13,14,15,r);break;case 6:y(e.ct,0,1,2,3,r),y(e.ct,8,20,12,16,r),y(e.ct,9,21,13,17,r);break;case 7:y(e.ct,16,17,18,19,r),y(e.ct,1,15,5,9,r),y(e.ct,2,12,6,10,r);break;case 8:y(e.ct,8,9,10,11,r),y(e.ct,2,19,4,21,r),y(e.ct,3,16,5,22,r);break;case 9:y(e.ct,4,5,6,7,r),y(e.ct,10,18,14,22,r),y(e.ct,11,19,15,23,r);break;case 10:y(e.ct,20,21,22,23,r),y(e.ct,0,8,4,14,r),y(e.ct,3,11,7,13,r);break;case 11:y(e.ct,12,13,14,15,r),y(e.ct,1,20,7,18,r),y(e.ct,0,23,6,17,r)}}function ie(e,t){switch(t){case 0:xt(e,19),xt(e,28);break;case 1:xt(e,21),xt(e,32);break;case 2:y(e.ct,0,3,1,2,1),y(e.ct,8,11,9,10,1),y(e.ct,4,7,5,6,1),y(e.ct,12,15,13,14,1),y(e.ct,16,19,21,22,1),y(e.ct,17,18,20,23,1);break;case 3:xt(e,18),xt(e,29),xt(e,24),xt(e,35)}}function i1(e,t){let r;for(r=0;r<t;++r)ie(e,0),r%2==1&&ie(e,1),r%8==7&&ie(e,2),r%16==15&&ie(e,3)}function xs(e,t){let r,n;for(n=8,r=23;r>=0;--r)e.ct[r]=0,t>=pe[r][n]&&(t-=pe[r][n--],e.ct[r]=1)}function Ai(e,t){let r;for(r=0;r<24;++r)e.ct[r]=t.ct[r]}function qo(){let e;for(ws(this),e=0;e<8;++e)this.ct[e]=1;for(e=8;e<24;++e)this.ct[e]=0}function Di(e,t){let r;for(ws(this),r=0;r<24;++r)this.ct[r]=~~(e.ct[r]/2)===t?1:0}function Vo(e){let t;for(ws(this),t=0;t<24;++t)this.ct[t]=e[t]}function Dd(){let e,t,r=new qo,n=new qo;for(e=0;e<15582;++e)for(xs(n,Ri[e]),t=0;t<36;++t)Ai(r,n),xt(r,t),yi[e][t]=Li(r)}function yd(){let e,t,r,n,o,l,i,a;for(Ii(St),St[0]=0,t=0,r=1;r!==15582;)for(l=t>4,a=l?-1:t,e=l?t:-1,++t,n=0;n<15582;++n)if(St[n]===a){for(i=0;i<27;++i)if(o=~~yi[n][i]>>>6,St[o]===e)if(++r,l){St[n]=t;break}else St[o]=t}}function Rd(e){let t,r,n,o=new Vo(e.ct);for(n=0;n<48;++n){for(t=!0,r=0;r<24;++r)if(o.ct[r]!==~~(r/4)){t=!1;break}if(t)return n;ie(o,0),n%2==1&&ie(o,1),n%8==7&&ie(o,2),n%16==15&&ie(o,3)}return-1}function Fd(){let e,t,r,n=new qo;for(e=0;e<24;++e)n.ct[e]=e;let o=new Vo(n.ct),l=new Vo(n.ct),i=new Vo(n.ct);for(e=0;e<48;++e){for(t=0;t<48;++t){for(r=0;r<48;++r)l1(n,o)&&(Qn[e][t]=r,r===0&&(Kn[e]=t)),ie(o,0),r%2==1&&ie(o,1),r%8==7&&ie(o,2),r%16==15&&ie(o,3);ie(n,0),t%2==1&&ie(n,1),t%8==7&&ie(n,2),t%16==15&&ie(n,3)}ie(n,0),e%2==1&&ie(n,1),e%8==7&&ie(n,2),e%16==15&&ie(n,3)}for(e=0;e<48;++e)for(Ai(n,l),i1(n,Kn[e]),t=0;t<36;++t)for(Ai(o,n),xt(o,t),i1(o,e),r=0;r<36;++r)if(Ai(i,l),xt(i,r),l1(i,o)){vt[e][t]=r;break}for(xs(n,0),e=0;e<48;++e)Ss[Kn[e]]=hi(n),ie(n,0),e%2==1&&ie(n,1),e%8==7&&ie(n,2),e%16==15&&ie(n,3)}function Bd(){let e,t,r,n,o=new qo,l=T(22984);for(t=0;t<22984;t++)l[t]=0;for(e=0,t=0;t<735471;++t)if((l[~~t>>>5]&1<<(t&31))==0){for(xs(o,t),n=0;n<48;++n)r=hi(o),l[~~r>>>5]|=1<<(r&31),Wn!==null&&(Wn[r]=e<<6|Kn[n]),ie(o,0),n%2==1&&ie(o,1),n%8==7&&ie(o,2),n%16==15&&ie(o,3);Ri[e++]=t}}function bd(e){let t=ch(Ri,e);return t>=0?t:-1}function wd(){a1||(a1=!0,wi=T(70,28),bi=T(6435,28),p1=T(70,16),c1=T(6435,16),tt=T(450450),m1=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,1,0,0,0])}function Fi(e){let t,r,n;for(r=0,n=8,t=14;t>=0;--t)e.ct[t]!==e.ct[15]&&(r+=pe[t][n--]);return r}function Bi(e){let t,r,n;for(r=0,n=4,t=6;t>=0;--t)e.rl[t]!==e.rl[7]&&(r+=pe[t][n--]);return r*2+e.parity}function jn(e,t){e.parity^=m1[t];let r=t%3;switch(t=~~(t/3),t){case 0:y(e.ct,0,1,2,3,r);break;case 1:y(e.rl,0,1,2,3,r);break;case 2:y(e.ct,8,9,10,11,r);break;case 3:y(e.ct,4,5,6,7,r);break;case 4:y(e.rl,4,5,6,7,r);break;case 5:y(e.ct,12,13,14,15,r);break;case 6:y(e.ct,0,1,2,3,r),y(e.rl,0,5,4,1,r),y(e.ct,8,9,12,13,r);break;case 7:y(e.rl,0,1,2,3,r),y(e.ct,1,15,5,9,r),y(e.ct,2,12,6,10,r);break;case 8:y(e.ct,8,9,10,11,r),y(e.rl,0,3,6,5,r),y(e.ct,3,2,5,4,r);break;case 9:y(e.ct,4,5,6,7,r),y(e.rl,3,2,7,6,r),y(e.ct,11,10,15,14,r);break;case 10:y(e.rl,4,5,6,7,r),y(e.ct,0,8,4,14,r),y(e.ct,3,11,7,13,r);break;case 11:y(e.ct,12,13,14,15,r),y(e.rl,1,4,7,2,r),y(e.ct,1,0,7,6,r)}}function qn(e,t){switch(t){case 0:jn(e,19),jn(e,28);break;case 1:jn(e,21),jn(e,32);break;case 2:y(e.ct,0,3,1,2,1),y(e.ct,8,11,9,10,1),y(e.ct,4,7,5,6,1),y(e.ct,12,15,13,14,1),y(e.rl,0,3,5,6,1),y(e.rl,1,2,4,7,1)}}function s1(e,t,r){let n;for(n=0;n<16;++n)e.ct[n]=~~(t.ct[n]/2);for(n=0;n<8;++n)e.rl[n]=t.ct[n+16];e.parity=r}function f1(e,t){let r,n;for(n=8,e.ct[15]=0,r=14;r>=0;--r)t>=pe[r][n]?(t-=pe[r][n--],e.ct[r]=1):e.ct[r]=0}function u1(e,t){let r,n;for(e.parity=t&1,t>>>=1,n=4,e.rl[7]=0,r=6;r>=0;--r)t>=pe[r][n]?(t-=pe[r][n--],e.rl[r]=1):e.rl[r]=0}function vs(){this.rl=T(8),this.ct=T(16)}function xd(){let e,t,r,n,o,l,i,a,f,s,c=new vs;for(o=0;o<70;++o)for(a=0;a<28;++a)u1(c,o),jn(c,Xr[a]),wi[o][a]=Bi(c);for(o=0;o<70;++o)for(u1(c,o),i=0;i<16;++i)p1[o][i]=Bi(c),qn(c,0),i%2==1&&qn(c,1),i%8==7&&qn(c,2);for(o=0;o<6435;++o)for(f1(c,o),i=0;i<16;++i)c1[o][i]=Fi(c)&65535,qn(c,0),i%2==1&&qn(c,1),i%8==7&&qn(c,2);for(o=0;o<6435;++o)for(a=0;a<28;++a)f1(c,o),jn(c,Xr[a]),bi[o][a]=Fi(c)&65535;for(Ii(tt),tt[0]=tt[18]=tt[28]=tt[46]=tt[54]=tt[56]=0,r=0,n=6;n!==450450;){let m=r>6,u=m?-1:r,p=m?r:-1;for(++r,o=0;o<450450;++o)if(tt[o]===u){for(e=~~(o/70),f=o%70,a=0;a<23;++a)if(t=bi[e][a],s=wi[f][a],l=t*70+s,tt[l]===p)if(++n,m){tt[o]=r;break}else tt[l]=r}}}function Sd(){g1||(g1=!0,Ho=T(29400,20),h1=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1],Fr=T(29400),ks=[0,9,14,23,27,28,41,42,46,55,60,69],zs=T(70))}function Us(e){let t,r,n,o;for(r=0,o=4,t=6;t>=0;--t)e.ud[t]!==e.ud[7]&&(r+=pe[t][o--]);for(r*=35,o=4,t=6;t>=0;--t)e.fb[t]!==e.fb[7]&&(r+=pe[t][o--]);r*=12;let l=e.fb[7]^e.ud[7];for(n=0,o=4,t=7;t>=0;--t)e.rl[t]!==l&&(n+=pe[t][o--]);return e.parity+2*(r+zs[n])}function vd(e,t){switch(e.parity^=h1[t],t){case 0:case 1:case 2:y(e.ud,0,1,2,3,t%3);break;case 3:y(e.rl,0,1,2,3,1);break;case 4:case 5:case 6:y(e.fb,0,1,2,3,(t-1)%3);break;case 7:case 8:case 9:y(e.ud,4,5,6,7,(t-1)%3);break;case 10:y(e.rl,4,5,6,7,1);break;case 11:case 12:case 13:y(e.fb,4,5,6,7,(t+1)%3);break;case 14:y(e.ud,0,1,2,3,1),y(e.rl,0,5,4,1,1),y(e.fb,0,5,4,1,1);break;case 15:y(e.rl,0,1,2,3,1),y(e.fb,1,4,7,2,1),y(e.ud,1,6,5,2,1);break;case 16:y(e.fb,0,1,2,3,1),y(e.ud,3,2,5,4,1),y(e.rl,0,3,6,5,1);break;case 17:y(e.ud,4,5,6,7,1),y(e.rl,3,2,7,6,1),y(e.fb,3,2,7,6,1);break;case 18:y(e.rl,4,5,6,7,1),y(e.fb,0,3,6,5,1),y(e.ud,0,3,4,7,1);break;case 19:y(e.fb,4,5,6,7,1),y(e.ud,0,7,6,1,1),y(e.rl,1,4,7,2,1)}}function d1(e,t,r){let n,o=(t.ct[0]>t.ct[8]?1:0)^(t.ct[8]>t.ct[16]?1:0)^(t.ct[0]>t.ct[16]?1:0)?1:0;for(n=0;n<8;++n)e.ud[n]=t.ct[n]&1^1,e.fb[n]=t.ct[n+8]&1^1,e.rl[n]=t.ct[n+16]&1^1^o;e.parity=o^r}function Ud(e,t){let r,n,o,l;for(e.parity=t&1,t>>>=1,o=ks[t%12],t=~~(t/12),l=4,r=7;r>=0;--r)e.rl[r]=0,o>=pe[r][l]&&(o-=pe[r][l--],e.rl[r]=1);for(n=t%35,t=~~(t/35),l=4,e.fb[7]=0,r=6;r>=0;--r)n>=pe[r][l]?(n-=pe[r][l--],e.fb[r]=1):e.fb[r]=0;for(l=4,e.ud[7]=0,r=6;r>=0;--r)t>=pe[r][l]?(t-=pe[r][l--],e.ud[r]=1):e.ud[r]=0}function Es(){this.ud=T(8),this.rl=T(8),this.fb=T(8)}function Ed(){let e,t,r,n;for(r=0;r<12;++r)zs[ks[r]]=r;let o=new Es;for(r=0;r<29400;++r)for(n=0;n<20;++n)Ud(o,r),vd(o,n),Ho[r][n]=Us(o)&65535;for(Ii(Fr),Fr[0]=0,e=0,t=1;t!==29400;){for(r=0;r<29400;++r)if(Fr[r]===e)for(n=0;n<17;++n)Fr[Ho[r][n]]===-1&&(Fr[Ho[r][n]]=e+1,++t);++e}}function kd(e,t){let r;for(r=0;r<24;++r)e.ct[r]=t.ct[r]}function zd(e,t){let r=t%3;switch(t=~~(t/3),t){case 0:y(e.ct,0,1,2,3,r);break;case 1:y(e.ct,16,17,18,19,r);break;case 2:y(e.ct,8,9,10,11,r);break;case 3:y(e.ct,4,5,6,7,r);break;case 4:y(e.ct,20,21,22,23,r);break;case 5:y(e.ct,12,13,14,15,r);break;case 6:y(e.ct,0,1,2,3,r),y(e.ct,8,20,12,16,r),y(e.ct,9,21,13,17,r);break;case 7:y(e.ct,16,17,18,19,r),y(e.ct,1,15,5,9,r),y(e.ct,2,12,6,10,r);break;case 8:y(e.ct,8,9,10,11,r),y(e.ct,2,19,4,21,r),y(e.ct,3,16,5,22,r);break;case 9:y(e.ct,4,5,6,7,r),y(e.ct,10,18,14,22,r),y(e.ct,11,19,15,23,r);break;case 10:y(e.ct,20,21,22,23,r),y(e.ct,0,8,4,14,r),y(e.ct,3,11,7,13,r);break;case 11:y(e.ct,12,13,14,15,r),y(e.ct,1,20,7,18,r),y(e.ct,0,23,6,17,r)}}function _s(){let e;for(this.ct=T(24),e=0;e<24;++e)this.ct[e]=~~(e/4)}function L1(e){let t,r,n;for(_s.call(this),t=0;t<23;++t)n=t+e(24-t),this.ct[n]!==this.ct[t]&&(r=this.ct[t],this.ct[t]=this.ct[n],this.ct[n]=r)}function _d(){A1||(A1=!0,Lt=T(18),Md())}function D1(e){e.cp=[0,1,2,3,4,5,6,7],e.co=[0,0,0,0,0,0,0,0]}function y1(e,t){let r;for(r=0;r<8;++r)e.cp[r]=t.cp[r],e.co[r]=t.co[r]}function Cd(e,t){!e.temps&&(e.temps=new xi),R1(e,Lt[t],e.temps),y1(e,e.temps)}function Pd(e,t){let r,n;for(n=0,r=6;r>=0;--r)n+=e.co[r]=t%3,t=~~(t/3);e.co[7]=(15-n)%3}function R1(e,t,r){let n,o,l,i;for(n=0;n<8;++n)r.cp[n]=e.cp[t.cp[n]],l=e.co[t.cp[n]],i=t.co[n],o=l,o=o+(l<3?i:6-i),o=o%3,(l>=3?1:0)^(i>=3?1:0)&&(o=o+3),r.co[n]=o}function xi(){D1(this)}function Br(e,t){D1(this),Hu(this.cp,e),Pd(this,t)}function F1(e){Br.call(this,e(40320),e(2187))}function Md(){let e,t;for(Lt[0]=new Br(15120,0),Lt[3]=new Br(21021,1494),Lt[6]=new Br(8064,1236),Lt[9]=new Br(9,0),Lt[12]=new Br(1230,412),Lt[15]=new Br(224,137),e=0;e<18;e+=3)for(t=0;t<2;++t)Lt[e+t+1]=new xi,R1(Lt[e+t],Lt[e],Lt[e+t+1])}function Gd(){B1||(B1=!0,Ut=T(1937880),Ei=T(1538),ki=T(1538),Xn=T(11880),U1=[0,1,6,3,4,5,2,7],Gs=T(160,12),Ts=T(160,12),Ms=[1,1,1,3,12,60,360,2520,20160,181440,1814400,19958400,239500800],Ps=[0,2,4,6,1,3,7,5,8,9,10,11])}function Vn(e,t,r,n,o){let l=e.edgeo[o];e.edgeo[o]=e.edge[n],e.edge[n]=e.edgeo[r],e.edgeo[r]=e.edge[t],e.edge[t]=l}function Hn(e,t){let r,n,o,l,i;for(e.isStd||S1(e),n=0,i=1985229328,l=47768,r=0;r<t;++r)o=e.edge[r]<<2,n*=12-r,o>=32?(n+=l>>o-32&15,l-=4368<<o-32):(n+=i>>o&15,l-=4369,i-=286331152<<o);return n}function b1(e){let t,r=Hn(e,4);t=Xn[r];let n=t&7;t>>=3,vi(e,n);let o=Hn(e,10)%20160;return t*20160+o}function Si(e,t){switch(e.isStd=!1,t){case 0:fe(e.edge,0,4,1,5),fe(e.edgeo,0,4,1,5);break;case 1:he(e.edge,0,4,1,5),he(e.edgeo,0,4,1,5);break;case 2:fe(e.edge,0,5,1,4),fe(e.edgeo,0,5,1,4);break;case 3:he(e.edge,5,10,6,11),he(e.edgeo,5,10,6,11);break;case 4:fe(e.edge,0,11,3,8),fe(e.edgeo,0,11,3,8);break;case 5:he(e.edge,0,11,3,8),he(e.edgeo,0,11,3,8);break;case 6:fe(e.edge,0,8,3,11),fe(e.edgeo,0,8,3,11);break;case 7:fe(e.edge,2,7,3,6),fe(e.edgeo,2,7,3,6);break;case 8:he(e.edge,2,7,3,6),he(e.edgeo,2,7,3,6);break;case 9:fe(e.edge,2,6,3,7),fe(e.edgeo,2,6,3,7);break;case 10:he(e.edge,4,8,7,9),he(e.edgeo,4,8,7,9);break;case 11:fe(e.edge,1,9,2,10),fe(e.edgeo,1,9,2,10);break;case 12:he(e.edge,1,9,2,10),he(e.edgeo,1,9,2,10);break;case 13:fe(e.edge,1,10,2,9),fe(e.edgeo,1,10,2,9);break;case 14:he(e.edge,0,4,1,5),he(e.edgeo,0,4,1,5),fe(e.edge,9,11),fe(e.edgeo,8,10);break;case 15:he(e.edge,5,10,6,11),he(e.edgeo,5,10,6,11),fe(e.edge,1,3),fe(e.edgeo,0,2);break;case 16:he(e.edge,0,11,3,8),he(e.edgeo,0,11,3,8),fe(e.edge,5,7),fe(e.edgeo,4,6);break;case 17:he(e.edge,2,7,3,6),he(e.edgeo,2,7,3,6),fe(e.edge,8,10),fe(e.edgeo,9,11);break;case 18:he(e.edge,4,8,7,9),he(e.edgeo,4,8,7,9),fe(e.edge,0,2),fe(e.edgeo,1,3);break;case 19:he(e.edge,1,9,2,10),he(e.edgeo,1,9,2,10),fe(e.edge,4,6),fe(e.edgeo,5,7)}}function Yn(e,t){switch(e.isStd=!1,t){case 0:Si(e,14),Si(e,17);break;case 1:Vn(e,11,5,10,6),Vn(e,5,10,6,11),Vn(e,1,2,3,0),Vn(e,4,9,7,8),Vn(e,8,4,9,7),Vn(e,0,1,2,3);break;case 2:At(e,4,5),At(e,5,4),At(e,11,8),At(e,8,11),At(e,7,6),At(e,6,7),At(e,9,10),At(e,10,9),At(e,1,1),At(e,0,0),At(e,3,3),At(e,2,2)}}function vi(e,t){for(;t>=2;)t-=2,Yn(e,1),Yn(e,2);t!==0&&Yn(e,0)}function Yo(e,t){let r,n,o,l,i,a;for(i=1985229328,a=47768,o=0,r=0;r<11;++r)if(n=Ms[11-r],l=~~(t/n),t=t%n,o^=l,l<<=2,l>=32){l=l-32,e.edge[r]=a>>l&15;let f=(1<<l)-1;a=(a&f)+(a>>4&~f)}else{e.edge[r]=i>>l&15;let f=(1<<l)-1;i=(i&f)+(i>>>4&~f)+(a<<28),a=a>>4}for((o&1)==0?e.edge[11]=i:(e.edge[11]=e.edge[10],e.edge[10]=i),r=0;r<12;++r)e.edgeo[r]=r;e.isStd=!0}function w1(e,t){let r;for(r=0;r<12;++r)e.edge[r]=t.edge[r],e.edgeo[r]=t.edgeo[r];e.isStd=t.isStd}function x1(e,t){let r,n,o,l;for(e.temp===null&&(e.temp=T(12)),r=0;r<12;++r)e.temp[r]=r,e.edge[r]=t.ep[Ps[r]+12]%12;for(n=1,r=0;r<12;++r)for(;e.edge[r]!==r;)l=e.edge[r],e.edge[r]=e.edge[l],e.edge[l]=l,o=e.temp[r],e.temp[r]=e.temp[l],e.temp[l]=o,n^=1;for(r=0;r<12;++r)e.edge[r]=e.temp[t.ep[Ps[r]]%12];return n}function S1(e){let t;for(e.temp===null&&(e.temp=T(12)),t=0;t<12;++t)e.temp[e.edgeo[t]]=t;for(t=0;t<12;++t)e.edge[t]=e.temp[e.edge[t]],e.edgeo[t]=t;e.isStd=!0}function he(e,t,r,n,o){let l;l=e[t],e[t]=e[n],e[n]=l,l=e[r],e[r]=e[o],e[o]=l}function At(e,t,r){let n=e.edge[t];e.edge[t]=e.edgeo[r],e.edgeo[r]=n}function $t(){this.edge=T(12),this.edgeo=T(12)}function Td(){let e,t,r,n,o,l,i,a,f,s,c,m,u,p,g,d,L,D,F,B,k,E,Q=new $t,$=new $t,G=new $t;for(Ii(Ut),a=0,Ui=1,Cs(Ut,0,0);Ui!==31006080&&(g=a>9,i=a%3,l=(a+1)%3,s=g?3:i,e=g?i:3,!(a>=9));){for(m=0;m<31006080;m+=16)if(E=Ut[~~m>>4],!(!g&&E===-1)){for(c=m,f=m+16;c<f;++c,E>>=2)if((E&3)===s){for(F=~~(c/20160),t=Ei[F],n=c%20160,Yo(Q,t*20160+n),L=0;L<17;++L)if(r=Zn(Q.edge,L<<3,4),B=Xn[r],k=B&7,B>>=3,o=Zn(Q.edge,L<<3|k,10)%20160,u=B*20160+o,Zo(Ut,u)===e){if(Cs(Ut,g?c:u,l),++Ui,g)break;if(D=ki[B],D!==1)for(w1($,Q),Si($,L),vi($,k),d=1;(D=~~D>>1&65535)!=0;++d)(D&1)==1&&(w1(G,$),vi(G,d),p=B*20160+Hn(G,10)%20160,Zo(Ut,p)===e&&(Cs(Ut,p,l),++Ui))}}}++a}}function Zo(e,t){return e[t>>4]>>((t&15)<<1)&3}function Zn(e,t,r){let n,o,l,i,a,f=Ts[t],s=Gs[t];for(o=0,a=1985229328,i=47768,n=0;n<r;++n)l=f[e[s[n]]]<<2,o*=12-n,l>=32?(o+=i>>l-32&15,i-=4368<<l-32):(o+=a>>l&15,i-=4369,a-=286331152<<l);return o}function v1(e){let t,r,n,o,l,i,a,f,s,c,m,u=new $t;if(i=0,l=Zo(Ut,e),l===3)return 10;for(;e!==0;)for(l===0?l=2:--l,s=~~(e/20160),t=Ei[s],n=e%20160,Yo(u,t*20160+n),f=0;f<17;++f)if(r=Zn(u.edge,f<<3,4),c=Xn[r],m=c&7,c>>=3,o=Zn(u.edge,f<<3|m,10)%20160,a=c*20160+o,Zo(Ut,a)===l){++i,e=a;break}return i}function Id(e,t){let r=Zo(Ut,e);return r===3?10:(1227133513<<r>>t&3)+t-1}function Nd(){let e,t,r,n=new $t;for(t=0;t<20;++t)for(r=0;r<8;++r){for(Yo(n,0),Si(n,t),vi(n,r),e=0;e<12;++e)Gs[t<<3|r][e]=n.edge[e];for(S1(n),e=0;e<12;++e)Ts[t<<3|r][e]=n.temp[e]}}function Od(){let e,t,r,n,o=new $t,l=T(1485);for(t=0;t<1485;t++)l[t]=0;for(e=0,t=0;t<11880;++t)if((l[~~t>>>3]&1<<(t&7))==0){for(Yo(o,t*Ms[8]),n=0;n<8;++n)r=Hn(o,4),r===t&&(ki[e]=(ki[e]|1<<n)&65535),l[~~r>>3]=l[~~r>>3]|1<<(r&7),Xn[r]=e<<3|U1[n],Yn(o,0),n%2==1&&(Yn(o,1),Yn(o,2));Ei[e++]=t}}function Cs(e,t,r){e[t>>4]^=(3^r)<<((t&15)<<1)}function Wd(){E1||(E1=!0)}function Kd(e){let t,r,n;for(t=0,n=!1,r=0;r<12;++r)t|=1<<e.ep[r],n=n!==e.ep[r]>=12;return t&=~~t>>12,t===0&&!n}function Qd(e,t){let r;for(r=0;r<24;++r)e.ep[r]=t.ep[r]}function jd(e,t){let r=t%3;switch(t=~~(t/3),t){case 0:y(e.ep,0,1,2,3,r),y(e.ep,12,13,14,15,r);break;case 1:y(e.ep,11,15,10,19,r),y(e.ep,23,3,22,7,r);break;case 2:y(e.ep,0,11,6,8,r),y(e.ep,12,23,18,20,r);break;case 3:y(e.ep,4,5,6,7,r),y(e.ep,16,17,18,19,r);break;case 4:y(e.ep,1,20,5,21,r),y(e.ep,13,8,17,9,r);break;case 5:y(e.ep,2,9,4,10,r),y(e.ep,14,21,16,22,r);break;case 6:y(e.ep,0,1,2,3,r),y(e.ep,12,13,14,15,r),y(e.ep,9,22,11,20,r);break;case 7:y(e.ep,11,15,10,19,r),y(e.ep,23,3,22,7,r),y(e.ep,2,16,6,12,r);break;case 8:y(e.ep,0,11,6,8,r),y(e.ep,12,23,18,20,r),y(e.ep,3,19,5,13,r);break;case 9:y(e.ep,4,5,6,7,r),y(e.ep,16,17,18,19,r),y(e.ep,8,23,10,21,r);break;case 10:y(e.ep,1,20,5,21,r),y(e.ep,13,8,17,9,r),y(e.ep,14,0,18,4,r);break;case 11:y(e.ep,2,9,4,10,r),y(e.ep,14,21,16,22,r),y(e.ep,7,15,1,17,r)}}function Is(){let e;for(this.ep=T(24),e=0;e<24;++e)this.ep[e]=e}function k1(e){let t,r,n;for(Is.call(this),t=0;t<23;++t)n=t+e(24-t),n!==t&&(r=this.ep[t],this.ep[t]=this.ep[n],this.ep[n]=r)}function qd(){z1||(z1=!0,Ns=[35,1,34,2,4,6,22,5,19])}function _1(e){e.moveBuffer=T(60)}function Vd(e,t){return e.value-t.value}function Jn(e,t){let r;for(Qd(e.edge,t.edge),kd(e.center,t.center),y1(e.corner,t.corner),e.value=t.value,e.add1=t.add1,e.length1=t.length1,e.length2=t.length2,e.length3=t.length3,e.sym=t.sym,r=0;r<60;++r)e.moveBuffer[r]=t.moveBuffer[r];e.moveLength=t.moveLength,e.edgeAvail=t.edgeAvail,e.centerAvail=t.centerAvail,e.cornerAvail=t.cornerAvail}function br(e){for(;e.centerAvail<e.moveLength;)zd(e.center,e.moveBuffer[e.centerAvail++]);return e.center}function C1(e){for(;e.cornerAvail<e.moveLength;)Cd(e.corner,e.moveBuffer[e.cornerAvail++]%18);return e.corner}function Xo(e){for(;e.edgeAvail<e.moveLength;)jd(e.edge,e.moveBuffer[e.edgeAvail++]);return e.edge}function Hd(e){let t,r,n,o,l,i,a=new Array(e.moveLength-(e.add1?2:0));for(r=0,t=0;t<e.length1;++t)a[r++]=e.moveBuffer[t];for(i=e.sym,t=e.length1+(e.add1?2:0);t<e.moveLength;++t)vt[i][e.moveBuffer[t]]>=27?(a[r++]=vt[i][e.moveBuffer[t]]-9,o=Ns[vt[i][e.moveBuffer[t]]-27],i=Qn[i][o]):a[r++]=vt[i][e.moveBuffer[t]];let f=Qn[Kn[i]][Rd(br(e))];for(l=\\\"\\\",i=f,t=r-1;t>=0;--t)n=a[t],n=~~(n/3)*3+(2-n%3),vt[i][n]>=27?(l=l+Os[vt[i][n]-9]+\\\" \\\",o=Ns[vt[i][n]-27],i=Qn[i][o]):l=l+Os[vt[i][n]]+\\\" \\\";return l}function Zr(e,t){e.moveBuffer[e.moveLength++]=t}function zi(){_1(this),this.edge=new Is,this.center=new _s,this.corner=new xi}function _i(e){zi.call(this),Jn(this,e)}function P1(e){_1(this),this.edge=new k1(e),this.center=new L1(e),this.corner=new F1(e)}function Yd(e,t){return t.value-e.value}function Ci(e,t){return Yd(e,t)}function M1(){}function Zd(){if(G1)return;G1=!0;let e,t;for(Os=[\\\"U \\\",\\\"U2 \\\",\\\"U' \\\",\\\"R \\\",\\\"R2 \\\",\\\"R' \\\",\\\"F \\\",\\\"F2 \\\",\\\"F' \\\",\\\"D \\\",\\\"D2 \\\",\\\"D' \\\",\\\"L \\\",\\\"L2 \\\",\\\"L' \\\",\\\"B \\\",\\\"B2 \\\",\\\"B' \\\",\\\"Uw \\\",\\\"Uw2\\\",\\\"Uw'\\\",\\\"Rw \\\",\\\"Rw2\\\",\\\"Rw'\\\",\\\"Fw \\\",\\\"Fw2\\\",\\\"Fw'\\\",\\\"Dw \\\",\\\"Dw2\\\",\\\"Dw'\\\",\\\"Lw \\\",\\\"Lw2\\\",\\\"Lw'\\\",\\\"Bw \\\",\\\"Bw2\\\",\\\"Bw'\\\"],Xr=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,21,22,23,25,28,30,31,32,34,36],Jo=[0,1,2,4,6,7,8,9,10,11,13,15,16,17,19,22,25,28,31,34,36],T1=T(37),I1=T(37),$n=T(37,36),Pi=T(29,28),Mi=T(21,20),Ws=T(36),$o=T(28),eo=T(20),e=0;e<29;++e)T1[Xr[e]]=e;for(e=0;e<21;++e)I1[Jo[e]]=e;for(e=0;e<36;++e){for(t=0;t<36;++t)$n[e][t]=~~(e/3)==~~(t/3)||~~(e/3)%3==~~(t/3)%3&&e>t;$n[36][e]=!1}for(e=0;e<29;++e)for(t=0;t<28;++t)Pi[e][t]=$n[Xr[e]][Xr[t]];for(e=0;e<21;++e)for(t=0;t<20;++t)Mi[e][t]=$n[Jo[e]][Jo[t]];for(e=0;e<36;++e)for(Ws[e]=36,t=e;t<36;++t)if(!$n[e][t]){Ws[e]=t-1;break}for(e=0;e<28;++e)for($o[e]=28,t=e;t<28;++t)if(!Pi[e][t]){$o[e]=t-1;break}for(e=0;e<20;++e)for(eo[e]=20,t=e;t<20;++t)if(!Mi[e][t]){eo[e]=t-1;break}}function Xd(e){let t,r,n,o,l,i,a,f,s,c,m,u;e.solution=\\\"\\\";let p=Li(new Di(br(e.c),0)),g=Li(new Di(br(e.c),1)),d=Li(new Di(br(e.c),2)),L=St[~~p>>6],D=St[~~g>>6],F=St[~~d>>6];for(e.p1SolsCnt=0,e.arr2idx=0,ih(e.p1sols.heap),e.length1=(L<D?L:D)<F?L<D?L:D:F;e.length1<100&&!(F<=e.length1&&Gi(e,~~d>>>6,d&63,e.length1,-1,0)||L<=e.length1&&Gi(e,~~p>>>6,p&63,e.length1,-1,0)||D<=e.length1&&Gi(e,~~g>>>6,g&63,e.length1,-1,0));++e.length1);let B=Lh(e.p1sols,Fs(Dh,Rr([fd,ys,Rs]),Ju,0,0));B.sort(function(Q,$){return Q.value-$.value}),t=9;do{e:for(f=B[0].value;f<100;++f)for(i=0;i<B.length&&!(B[i].value>f);++i)if(!(f-B[i].length1>t)&&(Jn(e.c1,B[i]),s1(e.ct2,br(e.c1),Ti(Xo(e.c1).ep)),m=Fi(e.ct2),u=Bi(e.ct2),e.length1=B[i].length1,e.length2=f-B[i].length1,N1(e,m,u,e.length2,28,0)))break e;++t}while(f===100);e.arr2.sort(function(Q,$){return Q.value-$.value}),a=0,r=13;do{e:for(s=e.arr2[0].value;s<100;++s)for(i=0;i<Math.min(e.arr2idx,100)&&!(e.arr2[i].value>s);++i)if(!(s-e.arr2[i].length1-e.arr2[i].length2>r)&&(l=x1(e.e12,Xo(e.arr2[i])),d1(e.ct3,br(e.arr2[i]),l^Ti(C1(e.arr2[i]).cp)),n=Us(e.ct3),o=Hn(e.e12,10),c=v1(b1(e.e12)),c<=s-e.arr2[i].length1-e.arr2[i].length2&&O1(e,o,n,c,s-e.arr2[i].length1-e.arr2[i].length2,20,0))){a=i;break e}++r}while(s===100);let k=new _i(e.arr2[a]);e.length1=k.length1,e.length2=k.length2;let E=s-e.length1-e.length2;for(i=0;i<E;++i)Zr(k,Jo[e.move3[i]]);e.solution=Hd(k)}function Jd(e,t){let r,n;for(Jn(e.c1,e.c),r=0;r<e.length1;++r)Zr(e.c1,e.move1[r]);switch(Ss[t]){case 0:Zr(e.c1,24),Zr(e.c1,35),e.move1[e.length1]=24,e.move1[e.length1+1]=35,e.add1=!0,t=19;break;case 12869:Zr(e.c1,18),Zr(e.c1,29),e.move1[e.length1]=18,e.move1[e.length1+1]=29,e.add1=!0,t=34;break;case 735470:e.add1=!1,t=0}s1(e.ct2,br(e.c1),Ti(Xo(e.c1).ep));let o=Fi(e.ct2),l=Bi(e.ct2),i=tt[o*70+l];return e.c1.value=i+e.length1,e.c1.length1=e.length1,e.c1.add1=e.add1,e.c1.sym=t,++e.p1SolsCnt,e.p1sols.heap.size<500?n=new _i(e.c1):(n=dh(e.p1sols),n.value>e.c1.value&&Jn(n,e.c1)),nh(e.p1sols,n),e.p1SolsCnt===1e4}function $d(e){let t;for(Jn(e.c2,e.c1),t=0;t<e.length2;++t)Zr(e.c2,e.move2[t]);if(!Kd(Xo(e.c2)))return!1;let r=x1(e.e12,Xo(e.c2));d1(e.ct3,br(e.c2),r^Ti(C1(e.c2).cp));let n=Us(e.ct3);Hn(e.e12,10);let o=v1(b1(e.e12));return e.arr2[e.arr2idx]?Jn(e.arr2[e.arr2idx],e.c2):e.arr2[e.arr2idx]=new _i(e.c2),e.arr2[e.arr2idx].value=e.length1+e.length2+Math.max(o,Fr[n]),e.arr2[e.arr2idx].length2=e.length2,++e.arr2idx,e.arr2idx===e.arr2.length}function eh(e,t){return K1(),e.c=new P1(t),Xd(e),e.solution}function Gi(e,t,r,n,o,l){let i,a,f,s,c,m;if(t===0)return n===0&&Jd(e,r);for(i=0;i<27;i+=3)if(!(i===o||i===o-9||i===o-18))for(s=0;s<3;++s){if(f=i+s,a=yi[t][vt[r][f]],c=St[~~a>>>6],c>=n){if(c>n)break;continue}if(m=Qn[r][a&63],a>>>=6,e.move1[l]=f,Gi(e,a,m,n-1,i,l+1))return!0}return!1}function N1(e,t,r,n,o,l){let i,a,f,s;if(t===0&&tt[r]===0)return n===0&&$d(e);for(a=0;a<23;++a){if(Pi[o][a]){a=$o[a];continue}if(i=bi[t][a],s=wi[r][a],f=tt[i*70+s],f>=n){f>n&&(a=$o[a]);continue}if(e.move2[l]=Xr[a],N1(e,i,s,n-1,a,l+1))return!0}return!1}function O1(e,t,r,n,o,l,i){let a,f,s,c,m,u,p,g,d;if(o===0)return t===0&&r===0;for(Yo(e.tempe[i],t),m=0;m<17;++m){if(Mi[l][m]){m=eo[m];continue}if(s=Ho[r][m],u=Fr[s],u>=o){u>o&&m<14&&(m=eo[m]);continue}if(c=Zn(e.tempe[i].edge,m<<3,10),a=~~(c/20160),g=Xn[a],d=g&7,g>>=3,f=Zn(e.tempe[i].edge,m<<3|d,10)%20160,p=Id(g*20160+f,n),p>=o){p>o&&m<14&&(m=eo[m]);continue}if(O1(e,c,s,p,o-1,m,i+1))return e.move3[i]=m,!0}return!1}function W1(){let e;for(this.p1sols=new X1(new M1),this.move1=T(15),this.move2=T(20),this.move3=T(20),this.c1=new zi,this.c2=new zi,this.ct2=new vs,this.ct3=new Es,this.e12=new $t,this.tempe=T(20),this.arr2=T(100),e=0;e<20;++e)this.tempe[e]=new $t}function K1(){Q1||(Fd(),Wn=T(735471),Bd(),Dd(),Wn=null,yd(),xd(),Ed(),Nd(),Od(),Td(),Q1=!0)}function th(){j1||(j1=!0)}function Ti(e){let t,r,n,o;for(o=0,t=0,n=e.length;t<n;++t)for(r=t;r<n;++r)e[t]>e[r]&&(o^=1);return o}function y(e,t,r,n,o,l){let i;switch(l){case 0:i=e[o],e[o]=e[n],e[n]=e[r],e[r]=e[t],e[t]=i;return;case 1:i=e[t],e[t]=e[n],e[n]=i,i=e[r],e[r]=e[o],e[o]=i;return;case 2:i=e[t],e[t]=e[r],e[r]=e[n],e[n]=e[o],e[o]=i;return}}function q1(){}function V1(e,t,r,n){let o=new q1;return o.typeName=e+t,Y1(r!==0?-r:0)&&Z1(r!==0?-r:0,o),o.modifiers=4,o.superclass=Ks,o.componentType=n,o}function H1(e,t,r,n){let o=new q1;return o.typeName=e+t,Y1(r)&&Z1(r,o),o.superclass=n,o}function rh(e){let t=jo[e.seedId];return e=null,t}function Y1(e){return typeof e==\\\"number\\\"&&e>0}function Z1(e,t){let r;if(t.seedId=e,e===2)r=String.prototype;else if(e>0){let n=rh(t);if(n)r=n.prototype;else{n=jo[e]=function(){},n.___clazz$=t;return}}else return;r.___clazz$=t}function nh(e,t){if(gh(e,t))return!0}function oh(e){e.array=Fs(J1,Rr([ys,Rs]),Zu,0,0)}function lh(e,t){return di(e.array,e.size++,t),!0}function ih(e){e.array=Fs(J1,Rr([ys,Rs]),Zu,0,0),e.size=0}function wr(e,t){return e.array[t]}function ah(e,t){let r=e.array[t];return uh(e.array,t,1),--e.size,r}function to(e,t,r){let n=e.array[t];return di(e.array,t,r),n}function sh(e,t){let r;for(t.length<e.size&&(t=pd(t,e.size)),r=0;r<e.size;++r)di(t,r,e.array[r]);return t.length>e.size&&di(t,e.size,null),t}function fh(){oh(this),this.array.length=500}function uh(e,t,r){e.splice(t,r)}function ch(e,t){let r,n,o,l;for(n=0,r=e.length-1;n<=r;)if(o=n+(~~(r-n)>>1),l=e[o],l<t)n=o+1;else if(l>t)r=o-1;else return o;return-n-1}function Ii(e){mh(e,e.length)}function mh(e,t){let r;for(r=0;r<t;++r)e[r]=-1}function ph(e,t){let r,n,o,l,i=e.heap.size,a=wr(e.heap,t);for(;t*2+1<i&&(r=(n=2*t+1,o=n+1,l=n,o<i&&Ci(wr(e.heap,o),wr(e.heap,n))<0&&(l=o),l),!(Ci(a,wr(e.heap,r))<0));)to(e.heap,t,wr(e.heap,r)),t=r;to(e.heap,t,a)}function gh(e,t){let r,n;for(n=e.heap.size,lh(e.heap,t);n>0;){if(r=n,n=~~((n-1)/2),Ci(wr(e.heap,n),t)<=0)return to(e.heap,r,t),!0;to(e.heap,r,wr(e.heap,n))}return to(e.heap,n,t),!0}function dh(e){if(e.heap.size===0)return null;let t=wr(e.heap,0);return hh(e),t}function hh(e){let t=ah(e.heap,e.heap.size-1);0<e.heap.size&&(to(e.heap,0,t),ph(e,0))}function Lh(e,t){return sh(e.heap,t)}function X1(e){this.heap=new fh,this.cmp=e}function tc(){ec||(ec=!0,Zd(),th(),Ad(),wd(),Sd(),Gd(),_d(),Wd(),qd(),$1=new W1)}function yh(){tc(),K1()}async function Rh(){ct(),tc();let e=z.fromString(eh($1,await Qe()));return(await On()).concat(e)}var Y,jo,id,Zu,ys,Xu,ad,sd,Ju,fd,ud,cd,Rs,r1,Bs,bs,o1,St,yi,Ss,Wn,Ri,Kn,vt,Qn,a1,bi,tt,c1,m1,wi,p1,g1,Ho,h1,Fr,ks,zs,A1,Lt,B1,Ps,Ui,Ut,Ms,Gs,Ts,Xn,Ei,U1,ki,E1,z1,Ns,G1,$n,Pi,Mi,Xr,Os,Jo,Ws,$o,eo,T1,I1,Q1,j1,Ks,J1,Ah,Dh,$1,ec,nc=w(()=>{Le();As();Yu();Mt();qt();jo={},id={},Zu=0,ys=30,Xu=21,ad=22,sd=23,Ju=24,fd=25,ud=34,cd=26,Rs=40;mt(1,-1,id);Y.value=null;mt(73,1,{},$u);Y.queryId$=0;r1=!1;o1=!1;mt(153,1,Rr([Xu]),qo,Di,Vo);Wn=null,a1=!1;mt(154,1,{},vs);Y.parity=0;g1=!1;mt(155,1,{},Es);Y.parity=0;mt(156,1,{},_s,L1);A1=!1;mt(157,1,Rr([ad]),xi,Br,F1);Y.temps=null;B1=!1;mt(158,1,Rr([sd]),$t);Y.isStd=!0;Y.temp=null;Ui=0,E1=!1;mt(159,1,{},Is,k1);z1=!1;mt(160,1,Rr([Ju,ud]),zi,_i,P1);Y.compareTo$=function(t){return Vd(this,t)};Y.add1=!1;Y.center=null;Y.centerAvail=0;Y.corner=null;Y.cornerAvail=0;Y.edge=null;Y.edgeAvail=0;Y.length1=0;Y.length2=0;Y.length3=0;Y.moveLength=0;Y.sym=0;Y.value=0;mt(161,1,{},M1);Y.compare=function(t,r){return Ci(t,r)};G1=!1;mt(163,1,Rr([cd]),W1);Y.add1=!1;Y.arr2idx=0;Y.c=null;Y.length1=0;Y.length2=0;Y.p1SolsCnt=0;Y.solution=\\\"\\\";Q1=!1,j1=!1;Y.val$outerIter=null;Y.size=0;mt(239,1,{},X1);Y.cmp=null;Y.heap=null;Ks=H1(\\\"java.lang.\\\",\\\"Object\\\",1,null),J1=V1(\\\"[Ljava.lang.\\\",\\\"Object;\\\",356,Ks),Ah=H1(\\\"cs.threephase.\\\",\\\"FullCube\\\",160,Ks),Dh=V1(\\\"[Lcs.threephase.\\\",\\\"FullCube;\\\",381,Ah),ec=!1});var Ic={};Be(Ic,{randomFTOScrambleString:()=>RL});function el(e){if(e<2)return e;let t=1;for(let r=2;r<=e;r++)t*=r;return t}function Ni(e,t){if(t<0||t>e)return 0;if(t===0||t===e)return 1;let r=1;for(let n=0;n<t;n++)r=r*(e-n)/(n+1)|0;return r}function fc(e,t,r,n,o=e-t-r-n){return Ni(e,t+r)*Ni(t+r,t)*Ni(n+o,n)}function vh(e){e=e.slice();let t=e.length,r=el(t-1),n=0;for(;t>1;){t--;let o=e[0];n+=o*r;for(let l=0;l<t;l++){let i=e[l+1];e[l]=i-(i>o)}r/=t}return n}function Uh(e){let t=e.length,r=0;for(let n=0;n<t-1;n++)for(let o=n;o<t;o++)e[n]>e[o]&&(r^=1);return r}function js(e,t){let r=[],n=el(t-1)/2,o=0;for(let l=0;l<t-1;l++)r[l]=e/n|0,e%=n,n/=t-1-l;r[t-1]=0;for(let l=t-2;l>=0;l--)for(let i=l+1;i<t;i++)r[i]>=r[l]?r[i]++:o^=1;return o===1&&([r[t-2],r[t-1]]=[r[t-1],r[t-2]]),r}function Jr(e){return vh(e)>>1}function qs(e,t){let r=[0];for(let n=1;n<e;n++){let o=t(n+1);r[n]=r[o],r[o]=n}return r}function uc(e,t){let r=qs(e,t);return Uh(r)===1&&([r[0],r[1]]=[r[1],r[0]]),r}function Eh(e){return e|=0,31-Math.clz32(e^e-1)}function cc(e,t){e|=0,t|=0;let r=e+\\\" \\\"+t;if(Vs[r])return Vs[r];let n=Ni(e,t),o=new Uint32Array(n),l=new Uint32Array(1<<e).fill(-1);for(let i=0,a=(1<<t)-1;i<n;i++){o[i]=a,l[a]=i;let f=a|a-1;a=f+1|(~f&-~f)-1>>Eh(a)+1}return Vs[r]=[o,l]}function kh(e){e|=0;let t=0;for(;e!==0;)e&=e-1,t++;return t}function mc(e){return e&=65535,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,e}function zh(e,t){return mc(e)|mc(t)<<1}function ro(e,t,r,n,o){if(e|=0,t|=0,r|=0,n|=0,o|=0,e!==t+r+n+o)throw\\\"generate_comb4_lookup_tables: invalid parameters\\\";let l=[e,t,r,n,o].join(\\\" \\\");if(Hs[l])return Hs[l];let[i,a]=cc(e,r+o),[f,s]=cc(e,n+o),c=fc(e,t,r,n,o),m=new Uint32Array(c),u=new Uint32Array(4**e).fill(-1);for(let p=0,g=0;p<f.length;p++){let d=f[p];for(let L=0;L<i.length;L++){let D=i[L];if(kh(D&d)===o){let F=zh(D,d);m[g]=F,u[F]=g,g++}}}return Hs[l]=[m,u]}function He(e,t){let r=[];for(let n=0;n<t.length;n++)r[n]=e[t[n]];return r}function no(e,t,r){let n=[];for(let o=0;o<r.length;o++)n[o]=e[t[r[o]]];return n}function Ys(e,t){let r=[];for(let n=0;n<t;n++)r[n]=n;for(let n of e)for(let o=0;o<n.length;o++)r[n[o]]=n[(o+1)%n.length];return r}function $r(e,t){let r=e.length,n=Array(r).fill(0);for(let i=1;i<r;i++)n[i]=n[i-1]+t[i-1];let o=n[r-1]+t[r-1],l=Array(o);for(let i=0;i<r;i++)t[i]&&(l[n[i]]=n[e[i]]);return l}function Zs(e){let t=e.length,r=Array(t);for(let n=0;n<t;n++)r[e[n]]=n;return r}function _h(e,t){for(;e&&t;)[e,t]=[t%e,e];return Math.abs(e+t)}function Ch(e,t){return e*t/_h(e,t)}function Ph(e){let t=1,r=e.length,n=Array(r).fill(!1),o=-1;for(;o=n.indexOf(!1,o+1),o!==-1;){let l=0,i=o;for(;!n[i];)n[i]=!0,i=e[i],l++;t=Ch(t,l)}return t}function Kh(e,t){for(let r=0;r<6;r++){if(e===Et[xr[r][0]]&&t===Et[xr[r][2]])return[r,0];if(e===Et[xr[r][2]]&&t===Et[xr[r][0]])return[r,1]}throw\\\"unknown corner piece\\\"}function Qh(e,t){for(let r=0;r<12;r++)if(e===Et[Sr[r][0]]&&t===Et[Sr[r][1]]||t===Et[Sr[r][0]]&&e===Et[Sr[r][1]])return r;throw\\\"unknown edge piece\\\"}function Xs(e,t){return Kh(e[xr[t][0]],e[xr[t][2]])}function Ki(e,t){return Qh(e[Sr[t][0]],e[Sr[t][1]])}function jh(e,t,r,n){let o=xr[t],l=xr[r].map(i=>Et[i]);n%2!=0&&(l=[l[2],l[3],l[0],l[1]]);for(let i=0;i<4;i++)e[o[i]]=l[i]}function qh(e,t,r){let n=Sr[t],o=Sr[r].map(l=>Et[l]);for(let l=0;l<2;l++)e[n[l]]=o[l]}function dc(e){let t=e.map(f=>Et[f]),n=Array(6).fill().map((f,s)=>Xs(t,s)).map(([f,s])=>f+6*s),o=n.concat(n.map(f=>(f+6)%12)),l=Array(12).fill().map((f,s)=>Ki(t,s)),i=Array(12).fill().map((f,s)=>en.indexOf(e[en[s]])),a=Array(12).fill().map((f,s)=>oo.indexOf(e[oo[s]]));return{cp:o,ep:l,ap:i,bp:a}}function Hh(e){let t=Array(72),r=uc(5,e);r.push(5);let n=Array(4).fill().map(a=>e(2));n.push(n.reduce((a,f)=>a^f)),n.push(0);for(let a=0;a<6;a++)jh(t,a,r[a],n[a]);let o=uc(12,e);for(let a=0;a<12;a++)qh(t,a,o[a]);let l=qs(12,e).map(a=>a/3|0),i=qs(12,e).map(a=>4+(a/3|0));for(let a=0;a<12;a++)t[en[a]]=l[a],t[oo[a]]=i[a];return t}function Lc(e,t=!1){if(t){let l=0,i=1,a=2,f=3,s=4,c=5,m=6,u=7;e=e.map(d=>d.slice());let p=[l,i,a,f,s,c,m,u],g=[[l,f,c,m,s,u,i,a],[u,i,l,m,f,c,s,a],[u,s,a,i,f,l,m,c],[a,s,c,f,m,l,i,u]];g=g.concat(g.map(d=>Zs(d)));for(let d=0;d<e.length;d++)if(e[d][0]<4)e[d][0]=p[e[d][0]];else{let L=p[e[d][0]],D=e[d][1];e[d][0]=L,p=He(D===1?g[L^4]:g[L],p)}}let r=t?\\\"U L F R D BR B BL\\\".split(\\\" \\\"):Vh,n=[\\\"0\\\",\\\"\\\",\\\"'\\\"];return e.map(([l,i])=>r[l]+n[i]).join(\\\" \\\")}function vr(e,t){for(let[r,n]of t)for(let o=0;o<n;o++)e=He(e,hc[r]);return e}function Ac(e){return e.map(([t,r])=>[t,(3-r)%3]).reverse()}function Qi(e,t=!1){if(e.length===0)return[];let r=[],n;for(let[o,l]of e)n&&n[0]===o?(n[1]+=l,n[1]%=3,n[1]===0&&(r.pop(),n=r.length===0?void 0:r[r.length-1])):r.length>=2&&(n[0]^o)==4&&r[r.length-2][0]===o?(r[r.length-2][1]+=l,r[r.length-2][1]%=3,r[r.length-2][1]===0&&r.splice(r.length-2,1)):(n=[o,l],r.push(n));return t&&\\\"\\\"+e!=\\\"\\\"+r&&console.log(`simplified ${e} to ${r}`),r}function Yh(e){return Lc(Ac(Jh(Hh(e),!0)),!0)}function lo(e,t,r,n,o,l){let i=fc(e,t,r,n,o),a=l.length,[f,s]=ro(e,t,r,n,o),c=Array(a).fill().map(()=>new Uint32Array(i));for(let m=0;m<i;m++){let u=f[m],p=Array(e);for(let g=0;g<e;g++)p[g]=u>>2*g&3;for(let g=0;g<a;g++){let L=He(p,l[g]).reduce((D,F,B)=>D|F<<2*B,0);c[g][m]=s[L]}}return c}function Dc(e){let t=e[0].length,r=e.length,n=Array(r).fill().map(()=>new Uint32Array(t));for(let o=0;o<t;o++)for(let l=0;l<r;l++)n[l][e[l][o]]=o;return n}function rn(e,t){let r=e[0].length,n=t[0].length,o=e.length,l=Array(o).fill().map(()=>new Uint32Array(r*n));for(let i=0;i<n;i++)for(let a=0;a<r;a++){let f=a+r*i;for(let s=0;s<o;s++)l[s][f]=e[s][a]+r*t[s][i]}return l}function Zh(e,t){let r=e.length,n=e[0].length,o=new Uint8Array(n);o[t]=1;let l=!1;for(;!l;){l=!0;for(let a=0;a<n;a++)if(!!o[a])for(let f=0;f<r;f++)o[e[f][a]]||(o[e[f][a]]=1,l=!1)}let i=new Int32Array(n).fill(-1);for(let a=0,f=0;a<n;a++)!o[a]||(i[a]=f,f++);return[e.map(a=>$r(a,o)),i]}function Xh(e,t){let r=e.length,n=e[0].length,o=new Int32Array(n).fill(-1);t.forEach(f=>{o[f]=0});let l=[t];for(let f=0;f<l.length;f++){let s=l[f];for(let c=0;c<r;c++){let m=e[c][s[0]];if(o[m]!==-1)continue;let u=s.map(g=>e[c][g]),p=l.length;l.push(u);for(let g of u){if(o[g]!==-1)throw\\\"quotienting failed\\\";o[g]=p}}}let i=l.length,a=Array(r).fill().map(()=>new Int32Array(i));for(let f=0;f<r;f++)for(let s=0;s<i;s++)a[f][s]=o[e[f][l[s][0]]];return[a,o]}function yc(e,t,r){let n=e[0].length,o=e.length,l=new Int32Array(n).fill(-1);l[t]=r,l[r]=t;let i=!1;for(;!i;){i=!0;for(let a=0;a<n;a++){if(l[a]===-1)continue;let f=l[a];for(let s=0;s<o;s++){let c=s^1,m=e[s][a],u=e[c][e[c][f]];if(l[m]===-1)i=!1,l[m]=u,l[u]=m;else if(l[m]!==u)throw\\\"mirroring failed - is the initial map correct?\\\"}}}return l}function Rc(e,t){let r=e[0].length,n=e.length,o=new Int8Array(r).fill(-1);for(let a of t)o[a]=0;let l=0,i=!1;for(;!i;){i=!0;for(let a=0;a<r;a++)if(o[a]===l)for(let f=0;f<n;f++){let s=e[f][a];for(;s!==a;)o[s]===-1&&(i=!1,o[s]=l+1),s=e[f][s]}l++}return o}function Jh(e,t=!1){let r=nL(e).next().value,n=vr(e,r),o=(t?DL:AL)(n),l=Qi(r.concat(o),!1);return vr(e,l).join(\\\"\\\")!==tl.join(\\\"\\\")&&(console.log(\\\"solving failed!\\\"),console.log(e),console.log(r),console.log(n),console.log(o),console.log(vr(e,l))),l}function eL(e){let[t,r]=ro(12,6,0,3,3),n=Array(12).fill().map((a,f)=>Ki(e,f)),o=n.indexOf(8)+12*n.indexOf(9)+12**2*n.indexOf(10)+12**3*n.indexOf(11),[l,i]=[en,oo].map(a=>{let f=a.map(s=>$h[e[s]]);return r[f.reduce((s,c,m)=>s|c<<2*m,0)]});return[o,l,i]}function Fc(){if(W.phase1_edge)return W.phase1_edge;let e=Dc(tn.map(n=>n.ep)),t=rn(e,e),r=rn(t,t);return W.phase1_edge=r}function tL(){return tr.phase1_edge?tr.phase1_edge:tr.phase1_edge=Rc(Fc(),[8+12*9+12**2*10+12**3*11])}function rL(){return W.phase1_centreA?W.phase1_centreA:W.phase1_centreA=lo(12,6,0,3,3,tn.map(e=>e.ap))}function Bc(){return W.phase1_centreB?W.phase1_centreB:W.phase1_centreB=lo(12,6,0,3,3,tn.map(e=>e.bp))}function bc(){if(tr.phase1_centre)return tr.phase1_centre;let[e,t]=ro(12,6,0,3,3),r=e.filter(n=>{let o=n>>12&3,l=n>>18&3;return o===2&&l===3}).map(n=>t[n]);return tr.phase1_centre=Rc(Bc(),r)}function*nL(e){let t=[Fc(),rL(),Bc()],r=[tL(),bc(),bc()];yield*oL(eL(e),t,r,15)}function*oL(e,t,r,n){let o=e.length,l=0;for(let i=0;i<o;i++)l=Math.max(l,r[i][e[i]]);for(;l<=n;)yield*wc(e,t,r,l,-1),l++}function*wc(e,t,r,n,o){let l=3,i=8,a=Math.max(r[0][e[0]],r[1][e[1]],r[2][e[2]]);if(!(a>n)){if(n===0){yield[];return}if(!(a===0&&n===1))for(let f=0;f<i;f++){if(f===o||f===o-4)continue;let s=[];s[0]=t[0][f][e[0]],s[1]=t[1][f][e[1]],s[2]=t[2][f][e[2]];let c=1;for(;e.some((m,u)=>e[u]!=s[u]);){let m=wc(s,t,r,n-1,f);for(;;){let{value:u,done:p}=m.next();if(p)break;yield[[f,c]].concat(u)}s[0]=t[0][f][s[0]],s[1]=t[1][f][s[1]],s[2]=t[2][f][s[2]],c++}}}}function Js(e){let[t,r]=ro(10,5,3,2,0),n=Array(8).fill().map((u,p)=>Ki(e,p)),o=n.indexOf(5)+8*n.indexOf(6)+8**2*n.indexOf(7),l=Array(5).fill().map((u,p)=>Xs(e,p)),i=Zs(l.map(([u,p])=>u+5*p).concat(l.map(([u,p])=>u+5*(p^1)))),a=i.slice(0,5).map(u=>u%5),f=i.slice(0,5).map(u=>u/5|0),s=Jr(a)*8+(f[0]^f[2])+2*(f[0]^f[3])+4*f[4],[c,m]=[en,oo].map(u=>{let p=He(u,iL).map(g=>lL[e[g]]);return r[p.reduce((g,d,L)=>g|d<<2*L,0)]});return Uc(),zc(),[c,m,kc[s]+40*vc[o]]}function*ji(e){yield*cL(Js(e),30)}function Sc(){if(W.phase2_centre)return W.phase2_centre;let e=lo(10,5,3,2,0,tn.slice(0,4).map(r=>$r(r.ap,xc))),t=lo(10,5,3,2,0,tn.slice(0,4).map(r=>$r(r.bp,xc)));return W.phase2_centre=[e,t]}function Uc(){if(W.phase2_edge)return W.phase2_edge;let e=Dc(tn.slice(0,4).map(n=>n.ep.slice(0,8))),t=rn(e,rn(e,e)),r;return[r,vc]=Zh(t,501),W.phase2_edge=r}function Ec(){if(W.phase2_corner)return W.phase2_corner;let t=el(5)/2*8,r=[!0,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!1],n=Array(4).fill().map(()=>new Uint32Array(t)),o=tn.slice(0,4).map(l=>Zs($r(l.cp,r)));for(let l=0;l<t;l++){let i=js(l>>3,5),a=[0,0,l&1,l>>1&1,l>>2&1];a[1]=a[2]^a[3]^a[4];let f=Array(10);for(let s=0;s<5;s++)f[s]=i[s]+5*a[s],f[s+5]=i[s]+5*(a[s]^1);for(let s=0;s<4;s++){let c=He(o[s],f),m=c.slice(0,5).map(g=>g%5),u=c.slice(0,5).map(g=>g/5|0),p=(u[0]^u[2])+2*(u[0]^u[3])+4*u[4];n[s][l]=Jr(m)*8+p}}return W.phase2_corner=n}function zc(){return W.phase2_corner_compact||([W.phase2_corner_compact,kc]=Xh(Ec(),fL())),W.phase2_corner_compact}function $s(){if(W.phase2_ce)return W.phase2_ce;let e=zc(),t=Uc();return W.phase2_ce=rn(e,t)}function aL(){if(e0)return e0;let e=Js(tl)[2];return e0=yc($s(),e,e)}function sL(){let[e,t]=ro(10,5,3,2,0);return e.filter(r=>(r>>10&63)==41).map(r=>t[r])}function fL(){let e=Ec(),t=e[0].length,r=Array(t).fill(!1);r[0]=!0;let n=!1;for(;!n;){n=!0;for(let o=0;o<t;o++)r[o]&&(r[e[0][o]]||(n=!1,r[e[0][o]]=!0),r[e[1][o]]||(n=!1,r[e[1][o]]=!0))}return r.map((o,l)=>l).filter(o=>r[o])}function uL(){if(tr.phase2_ace)return tr.phase2_ace;let[e,t]=Sc(),r=$s(),n=2520,o=40*336,l=n*o,i=Js(tl)[2],a=9,f=new Int8Array(l).fill(a);for(let s of sL())f[s+n*i]=0;for(let s=0;s<a-1;s++)for(let c=f.indexOf(s);c!==-1;c=f.indexOf(s,c+1)){let m=c%n,u=c/n|0;for(let p=0;p<4;p++){let g=e[p][m],d=r[p][u],L=g+n*d;f[L]===a&&(f[L]=s+1),g=e[p][g],d=r[p][d],L=g+n*d,f[L]===a&&(f[L]=s+1)}}return tr.phase2_ace=f}function*cL(e,t){let[r,n]=Sc(),o=$s(),l=uL(),i=aL(),[a,f,s]=e,c=i[s],m=Math.max(l[a+2520*s],l[f+2520*c]);for(;m<=t;)yield*_c(a,f,s,r,n,o,l,i,m,-1),m++}function*_c(e,t,r,n,o,l,i,a,f,s){let c=Math.max(i[e+2520*r],i[t+2520*a[r]]);if(!(c>f)){if(f===0){yield[];return}else if(c===0)return;for(let m=0;m<4;m++){if(m===s)continue;let u=e,p=t,g=r;for(let d=1;d<=2;d++){u=n[m][u],p=o[m][p],g=l[m][g];let L=_c(u,p,g,n,o,l,i,a,f-1,m);for(;;){let{value:D,done:F}=L.next();if(F)break;yield[[m,d]].concat(D)}}}}}function Vi(e){let[t,r]=ro(7,3,2,0,2),n=Array(5).fill().map((s,c)=>Ki(e,c)),o=Jr(n),l=Array(4).fill().map((s,c)=>Xs(e,c)),i=Jr(l.map(s=>s[0]))*2+l.find(s=>s[0]===0)[1],[a,f]=[en,oo].map(s=>{let c=He(s,mL).map(m=>e[m]%4);return r[c.reduce((m,u,p)=>m|u<<2*p,0)]});return[a+210*f,i+24*o]}function gL(){if(W.phase3_2gen_edge)return W.phase3_2gen_edge;let e=el(5)/2,t=Array(io).fill().map(()=>new Uint32Array(e)),r=qi.map(n=>n.ep.slice(0,5));for(let n=0;n<e;n++){let o=js(n,5);for(let l=0;l<io;l++)t[l][n]=Jr(He(o,r[l]))}return W.phase3_2gen_edge=t}function dL(){if(W.phase3_2gen_corner)return W.phase3_2gen_corner;let t=el(4)/2*2,r=[!0,!0,!0,!0,!1,!1,!0,!0,!0,!0,!1,!1],n=Array(io).fill().map(()=>new Uint32Array(t)),o=qi.map(l=>$r(l.cp,r).slice(0,4));for(let l=0;l<t;l+=2){let i=js(l>>1,4),a=i.concat(i.map(f=>f+4));for(let f=0;f<io;f++){let s=He(a,o[f]),c=s.map(u=>u%4),m=s.find(u=>u%4==0)>>2;n[f][l]=Jr(c)*2+m,n[f][l+1]=Jr(c)*2+(m^1)}}return W.phase3_2gen_corner=n}function Hi(){return W.phase3_2gen_corneredge?W.phase3_2gen_corneredge:W.phase3_2gen_corneredge=rn(dL(),gL())}function t0(){if(W.phase3_2gen_centre)return W.phase3_2gen_centre;let e=lo(7,3,2,0,2,qi.map(r=>$r(r.ap,Cc))),t=lo(7,3,2,0,2,qi.map(r=>$r(r.bp,Cc)));return W.phase3_2gen_centreA=e,W.phase3_2gen_centreB=t,W.phase3_2gen_centre=rn(e,t)}function Mc(){if(r0)return r0;let e=t0(),t=W.phase3_2gen_centreA,r=Hi(),n=t[0].length,o=r[0].length,l=n*o,i=25,a=rr.map(u=>u.length),f=new Int8Array(l).fill(i),s=Vi(tl);f[s[0]%n+n*s[1]]=0;let c=0,m=!1;for(;!m&&c<i-1;){m=!0;let u=Array(io).fill().map((D,F)=>F).filter(D=>a[D]+c<i);u.sort((D,F)=>a[D]-a[F]);let p=He(a,u),g=He(t,u),d=He(r,u),L=u.length;for(let D=f.indexOf(c);D!==-1;D=f.indexOf(c,D+1)){let F=D%n,B=D/n|0;for(let k=0;k<L;k++){let E=p[k],Q=g[k][F],$=d[k][B],G=Q+n*$;f[G]>c+E&&(m=!1,f[G]=c+E)}}c++}return r0=f}function Gc(){if(n0)return n0;let e=Hi().slice(0,2),t=Vi(tl);return n0=yc(e,t[1],t[1])}function o0(e,t=Vi(e)){let[r,n]=t,o=r%210,l=Math.floor(r/210),i=t0(),a=W.phase3_2gen_centreA,f=W.phase3_2gen_centreB,s=Hi(),c=Mc(),m=Gc(),u=0;for(;;){let p=i0(o,l,n,a,f,s,c,m,u);for(let g of p)return g.map(d=>rr[d]).flat();u++}}function Tc(e,t=Vi(e)){let[r,n]=t,o=r%210,l=Math.floor(r/210),i=t0(),a=W.phase3_2gen_centreA,f=W.phase3_2gen_centreB,s=Hi(),c=Mc(),m=Gc(),u=o0(e).length,p=1/0,g;for(let d=u;d<=u+0;d++){let L=i0(o,l,n,a,f,s,c,m,d);for(let D of L){let F=D.map(E=>rr[E]).flat(),B=Qi(F),k=l0(B);k<p&&(p=k,g=B)}}return g}function hL(e){return(e-1)*(e-2)/2}function l0(e){let t=Lc(e,!0).replace(/'/g,\\\"\\\").split(\\\" \\\");return e.length+LL(t).map(hL).reduce((r,n)=>r+n,0)}function LL(e){if(e.length<3)return[];let t=e.length,r=[];for(let l=0;l<t-2;l++)r[l]=e[l]===e[l+2];r.push(!1);let n=-1,o=[];for(;n<t-2&&(n=r.indexOf(!0,n+1),n!==-1);){let l=r.indexOf(!1,n+1);o.push(l-n),n=l}return o}function*i0(e,t,r,n,o,l,i,a,f,s=-1){let c=i[e+210*r],m=i[t+210*a[r]],u=Math.max(c,m);if(!(u>f)){if(f===0){yield[];return}if(u!==0)for(let p=0;p<io;p++){if(p===s&&pL[p]<=3)continue;let g=n[p][e],d=o[p][t],L=l[p][r],D=f-rr[p].length;if(D<0)continue;let F=i0(g,d,L,n,o,l,i,a,D,p);for(;;){let{value:B,done:k}=F.next();if(k)break;yield[p].concat(B)}}}}function AL(e,t=200,r=24){let n=[],o=ji(e),l=He(e,It).map(f=>f^1),i=ji(l),a=Array(1e3);for(let f=0;f<t;f++){{let{value:s,done:c}=o.next();if(!c){let m=vr(e,s),u=s.concat(o0(m));if(u.length<=r)return u;u.length<a.length&&(a=u)}}{let{value:s,done:c}=i.next();if(!c){let m=vr(l,s),u=s.concat(o0(m)).map(([p,g])=>[p^2,g]);if(u.length<=r)return u;u.length<a.length&&(a=u)}}}return a}function DL(e,t=20,r=30){let n=[],o=ji(e),l=He(e,It).map(s=>s^1),i=ji(l),a,f=1/0;for(let s=0;s<t;s++){{let{value:c,done:m}=o.next();if(!m){let u=vr(e,c),p=Qi(c.concat(Tc(u))),g=l0(p);if(g<=r)return p;g<f&&(a=p,f=g)}}{let{value:c,done:m}=i.next();if(!m){let u=vr(l,c),p=Qi(c.concat(Tc(u)));p=p.map(([d,L])=>[d^2,L]);let g=l0(p);if(g<=r)return p;g<f&&(a=p,f=g)}}}return a}async function RL(){return Yh(await yL)}var P7,M7,Vs,Hs,tl,rl,Mh,It,G7,Oi,pc,Gh,Th,Ih,Wi,Nh,gc,Oh,Wh,Et,xr,Sr,en,oo,hc,Vh,tn,W,tr,$h,lL,iL,xc,vc,kc,e0,mL,Cc,rr,io,Pc,qi,pL,r0,n0,yL,Nc=w(()=>{Mt();[P7,M7]=(()=>{let e=new Int8Array(256*8),t=new Int8Array(256*8);for(let o=0;o<256;o++)for(let l=0,i=0;l<8;l++)(o>>>l&1)!=0&&(e[l<<8|o]=i,t[i<<8|o]=l,i++);function r(o){let l=255,i=2520,a=0;for(let f=0;f<6;f++){let s=o[f];a+=e[l|s<<8]*i,l&=~(1<<s),i/=7-f}return a}function n(o,l){let i=255,a=2520,f=0;for(let s=0;s<6;s++){let c=o/a|0;o-=c*a,f^=c&1;let m=t[i|c<<8];l[s]=m,i&=~(1<<m),a/=7-s}return l[6]=t[i|f<<8],l[7]=t[i|(f^1)<<8],l}return[r,n]})();Vs={};Hs={};tl=Array(72).fill().map((e,t)=>t/9|0),rl=Ys([[0,4,8],[1,6,3],[2,5,7],[9,22,35],[45,67,44],[47,68,43],[46,69,39],[50,70,38],[49,71,36]],72),Mh=He(rl,rl),It=Array(72).fill().map((e,t)=>(t/18|0)*18+(t+9)%18),G7=Array(72).fill().map((e,t)=>(t/36|0)*36+(t+18)%36),Oi=Array(72).fill().map((e,t)=>(t+36)%72),pc=no(Oi,Mh,Oi),Gh=no(It,rl,It),Th=no(It,pc,It),Ih=Ys([[10,24,30],[11,23,34],[12,19,33],[42,48,64],[41,52,65],[37,51,66]],72),Wi=He(rl,Ih),Nh=He(Wi,Wi),gc=no(Oi,Nh,Oi),Oh=no(It,Wi,It),Wh=no(It,gc,It),Et=Array(72).fill().map((e,t)=>t/9|0),xr=[[0,45,9,36],[4,67,22,49],[8,44,35,71],[13,58,31,40],[17,53,26,62],[18,63,27,54]],Sr=[[1,46],[3,39],[6,69],[10,37],[33,42],[12,48],[15,60],[24,51],[19,64],[28,55],[30,66],[21,57]],en=Array(12).fill().map((e,t)=>(t/3|0)*9+[2,5,7][t%3]),oo=en.map(e=>e+36);hc=[rl,pc,Gh,Th,Wi,gc,Oh,Wh],Vh=[\\\"U\\\",\\\"L\\\",\\\"F\\\",\\\"R\\\",\\\"u\\\",\\\"l\\\",\\\"f\\\",\\\"r\\\"],tn=hc.map(dc);W={},tr={},$h=[0,0,2,3,0,0,2,3];lL=[0,1,2,0,0,1,2,0],iL=[0,1,2,3,4,5,7,8,10,11],xc=[!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!0,!0];mL=[0,1,2,3,4,10,11],Cc=[!0,!0,!0,!0,!0,!1,!1,!1,!1,!1,!0,!0],rr=[[[0,1]],[[1,1]],[[2,1],[0,1],[3,1],[0,2],[3,2],[2,2]],[[3,2],[1,2],[2,2],[1,1],[2,1],[3,1]],[[6,1],[0,1],[3,1],[0,2],[3,2],[6,2]],[[7,2],[1,2],[2,2],[1,1],[2,1],[7,1]],[[2,1],[0,1],[2,2],[0,1],[2,1],[0,1],[2,2]],[[3,2],[1,1],[3,1],[1,1],[3,2],[1,1],[3,1]],[[2,1],[3,1],[2,2],[1,2],[0,2],[2,1],[3,1],[2,2]],[[3,2],[2,2],[3,1],[0,1],[1,1],[3,2],[2,2],[3,1]],[[6,1],[0,1],[6,2],[0,2],[1,2],[6,1],[0,1],[6,2]],[[7,2],[1,2],[7,1],[1,1],[0,1],[7,2],[1,2],[7,1]],[[2,1],[3,2],[2,2],[3,1],[0,1],[2,2],[1,1],[2,1]],[[3,2],[2,1],[3,1],[2,2],[1,2],[3,1],[0,2],[3,2]],[[6,1],[0,2],[6,2],[7,1],[6,1],[1,2],[7,1],[6,1]],[[7,2],[1,1],[7,1],[6,2],[7,2],[0,1],[6,2],[7,2]],[[2,2],[1,2],[2,2],[3,2],[2,2],[3,2],[0,2],[3,2]],[[6,2],[7,2],[1,2],[0,2],[1,2],[0,2],[6,2],[7,2]]];rr=rr.concat(rr.map(e=>Ac(e)));io=rr.length,Pc=rr.map(e=>vr(Ys([],72),e)),qi=Pc.map(dc),pL=Pc.map(Ph);yL=Qe()});var em={};Be(em,{randomMasterTetraminxScrambleString:()=>$c});function nl(e){if(e<2)return e;let t=1;for(let r=2;r<=e;r++)t*=r;return t}function nn(e){let t=Array(e);for(let r=0;r<e;r++)t[r]=r;return t}function FL(e){e=e.slice();let t=e.length,r=nl(t-1),n=0;for(;t>1;){t--;let o=e[0];n+=o*r;for(let l=0;l<t;l++){let i=e[l+1];e[l]=i-(i>o)}r/=t}return n}function Yi(e,t){let r=[],n=nl(t-1)/2,o=0;for(let l=0;l<t-1;l++)r[l]=e/n|0,e%=n,n/=t-1-l;r[t-1]=0;for(let l=t-2;l>=0;l--)for(let i=l+1;i<t;i++)r[i]>=r[l]?r[i]++:o^=1;return o===1&&([r[t-2],r[t-1]]=[r[t-1],r[t-2]]),r}function Wc(e){return FL(e)>>1}function on(e,t){let r=[];for(let n=0;n<t.length;n++)r[n]=e[t[n]];return r}function a0(e){let t=[];for(let r=0;r<e.length;r++)t[e[r]]=r;return t}function ol(e,t){let r=[];for(let n=0;n<t;n++)r[n]=n;for(let n=0;n<e.length;n++)r[e[n]]=e[(n+1)%e.length];return r}function Ur(e,t){return e.length===0?nn(t):e.map(r=>ol(r,t)).reduce(on)}function BL(e,t){let r=Array(4);for(let i=0;i<4;i++)r[i]=(e.co[i]+t.co[i])%3;let n=on(e.mp,t.mp),o=on(e.wp,t.wp),l=on(e.cp,t.cp);return{co:r,mp:n,wp:o,cp:l}}function Kc(e,t){return e>=4&&t>=4?!0:e<4&&t<4?e===t:(e^t)==4}function _L(e){let t=[\\\"0\\\",\\\"\\\",\\\"'\\\"];return e.map(([n,o])=>zL[n]+t[o]).join(\\\" \\\")}function CL(e){let t=Array(4);for(let l=0;l<4;l++)t[l]=e(3);let r=Yi(e(nl(6)/2),6);for(let l=0,i=0;l<6;l++){let a=l===5?i:e(2);i^=a,r[l]+=a*6,r[l+6]=(r[l]+6)%12}let n=Yi(e(nl(12)/2),12),o=Yi(e(nl(4)/2),4);return{co:t,mp:r,wp:n,cp:o}}function PL(e){return GL(CL(e))}function ML(e,t=!0,r=!1){let n=_L(PL(e));if(!t)return n;let o=[\\\"u\\\",\\\"l\\\",\\\"r\\\",\\\"b\\\"],l=[\\\"0\\\",\\\"\\\",\\\"'\\\"];if(!r){for(let u=0;u<4;u++){let p=e(3);p!==0&&(n+=\\\" \\\"+o[u]+l[p])}return n.trim()}let i=[],a=[],f=[];for(let u=0;u<4;u++)i[u]=e(3),a[u]=e(3),f[u]=(i[u]-a[u]+3)%3;let s=u=>u.filter(p=>p!==0).length;for(;!(s(a)>=1&&s(f)>=1&&s(a)+s(f)>=4);)for(let u=0;u<4;u++)a[u]=e(3),f[u]=(i[u]-a[u]+3)%3;let c=a.map((u,p)=>u!==0?o[p]+l[u]+\\\" \\\":\\\"\\\").join(\\\"\\\"),m=f.map((u,p)=>u!==0?\\\" \\\"+o[p]+l[u]:\\\"\\\").join(\\\"\\\");return c+n+m}function GL(e){let t=IL(e),r=[Yc(),Zc()],n=[jL(),qL()],o=WL(t),l,i=new Set,a=performance.now();for(let f=0;f<22;f++){let{value:s,done:c}=o.next(),m=e;for(let[L,D]of s)for(let F=0;F<D;F++)m=BL(m,ao[L]);let u=JSON.stringify(m);if(i.has(u))continue;i.add(u);let p=KL(m),g=l?l.length-s.length-1:999999,d=VL(p,r,n,g).next().value;if(d!==void 0&&((l===void 0||l.length>s.length+d.length)&&(l=s.concat(d)),performance.now()-a>300))break}return l}function TL(e){return e[3^e.indexOf(3)]}function IL(e){let t=on(a0(e.mp),e.wp),r=(e.co.reduce((n,o)=>n+o)-TL(e.cp)+3)%3;return[0,1,2,3,4,5].map(n=>n+6*t.indexOf(n)+72*t.indexOf(n+6)+864*r)}function*WL(e){let t=0,r=Hc(),n=QL();for(;;)yield*qc(...e,r,n,t,-1),t++}function*qc(e,t,r,n,o,l,i,a,f,s){let c=ln,m=nr[e]+nr[t]+nr[r]+nr[n]+nr[o]+nr[l],u=Math.max(a[e%864+t*864],a[r%864+t*864],a[o%864+t*864],a[e%864+n*864],a[r%864+n*864],a[o%864+n*864],a[e%864+l*864],a[r%864+l*864],a[o%864+l*864],a[e%864+r*864],a[e%864+o*864],a[r%864+o*864],a[t%864+n*864],a[t%864+l*864],a[n%864+l*864],u0[m]);if(!(u>f)){if(f===0){yield[];return}if(!(u===0&&f===1))for(let p=0;p<c;p++){if(p===s||p<s&&Kc(p,s))continue;let g=e,d=t,L=r,D=n,F=o,B=l;for(let k=1;k<=2;k++){g=i[g][p],d=i[d][p],L=i[L][p],D=i[D][p],F=i[F][p],B=i[B][p];let E=qc(g,d,L,D,F,B,i,a,f-1,p);for(;;){let{value:Q,done:$}=E.next();if($)break;yield[[p,k]].concat(Q)}}}}}function KL(e){let t=e.mp,r=Wc(t.slice(0,6).map(i=>i%6)),n=t.slice(0,5).map((i,a)=>(i>=6)*2**a).reduce((i,a)=>i+a),o=e.co.map((i,a)=>i*3**a).reduce((i,a)=>i+a),l=e.cp.indexOf(0);return[r+360*l,n+32*o]}function Vc(){if(be.phase1pm)return be.phase1pm;let e=Array(6*12*12).fill().map(()=>Array(ln).fill(-1));for(let t=0;t<6;t++)for(let r=0;r<12;r++)for(let n=0;n<12;n++){if(r===n)continue;let o=t+6*r+72*n;for(let l=0;l<ln;l++){let i=Qc[l][t],a=s0[l][r],f=s0[l][n];i<6?e[o][l]=i+6*a+72*f:e[o][l]=i-6+6*f+72*a}}return be.phase1pm=e}function Hc(){if(be.phase1pcm)return be.phase1pcm;let e=Vc(),t=Array(e.length*3).fill().map(()=>Array(ln).fill(-1));for(let r=0;r<e.length;r++)for(let n=0;n<ln;n++){let o=e[r][n];t[r][n]=o+6*12*12*f0[n],t[r+6*12*12][n]=o+6*12*12*((f0[n]+1)%3),t[r+2*6*12*12][n]=o+6*12*12*((f0[n]+2)%3)}return be.phase1pcm=t}function QL(){if(be.phase1p2cp)return be.phase1p2cp;let e=Vc(),t=Hc(),r=new Int8Array((6*12*12)**2*3);r.fill(-1);let n=[0,1,2,3,4,5].map(l=>l+6*l+72*(l+6));for(let l=0;l<6;l++)for(let i=0;i<6;i++)l!==i&&(r[n[l]+864*n[i]]=0);let o=0;for(;;){let l=!1;for(let i=0;i<r.length;i++){if(r[i]!==o)continue;let a=i%864,f=Math.floor(i/864);for(let s=0;s<ln;s++){let c=a,m=f;for(let u=1;u<=2;u++){c=e[c][s],m=t[m][s];let p=c+864*m;r[p]===-1&&(l=!0,r[p]=o+1)}}}if(!l)break;o++}return be.phase1p2cp=r}function Yc(){if(be.phase2pm)return be.phase2pm;let e=Array(1440).fill().map(()=>Array(Zi));for(let t=0;t<360;t++){let r=Yi(t,6);for(let n=0;n<6;n++)r[n+6]=r[n]+6;for(let n=0;n<Zi;n++){let o=on(r,ao[n].mp),l=Wc(o.slice(0,6).map(i=>i%6));for(let i=0;i<4;i++){let a=ao[n].cp[i];e[t+360*a][n]=l+360*i}}}return be.phase2pm=e}function Zc(){if(be.phase2om)return be.phase2om;let e=Array(32*81).fill().map(()=>Array(Zi));for(let t=0;t<32;t++){let r=[0,1,2,3,4].map(o=>t>>o&1);r[5]=r.reduce((o,l)=>o^l);let n=[];for(let o=0;o<6;o++)n[o]=o+6*r[o],n[o+6]=o+6*(r[o]^1);for(let o=0;o<81;o++){let l=[0,1,2,3].map(i=>Math.floor(o/3**i)%3);for(let i=0;i<Zi;i++){let f=on(n,ao[i].mp).slice(0,5).map(u=>+(u>=6)),s=0;for(let u=0;u<5;u++)s+=f[u]<<u;let c=l.map((u,p)=>(u+ao[i].co[p])%3),m=0;for(let u=0;u<4;u++)m+=c[u]*3**u;e[t+32*o][i]=s+32*m}}}return be.phase2om=e}function jL(){return be.phase2pp?be.phase2pp:be.phase2pp=Xc(Yc(),[0])}function qL(){return be.phase2op?be.phase2op:be.phase2op=Xc(Zc(),[0])}function Xc(e,t){let r=e.length,n=e[0].length,o=Array(r).fill(-1),l=t.slice(),i=[],a=0;for(;l.length>0;){i.length=0;for(let f of l)if(o[f]===-1){o[f]=a;for(let s=0;s<n;s++){let c=e[f][s];for(;c!=f;)i.push(c),c=e[c][s]}}[l,i]=[i,l],a+=1}return o}function*VL(e,t,r,n){let o=e.length,l=0;for(let i=0;i<o;i++)l=Math.max(l,r[i][e[i]]);for(;l<=n;)yield*Jc(e,t,r,l,-1),l++}function*Jc(e,t,r,n,o){let l=e.length,i=t[0][0].length,a=0;for(let f=0;f<l;f++)a=Math.max(a,r[f][e[f]]);if(!(a>n)){if(n===0){yield[];return}if(!(a===0&&n===1))for(let f=0;f<i;f++){if(f===o||f<o&&Kc(f,o))continue;let s=e.slice();for(let m=0;m<l;m++)s[m]=t[m][e[m]][f];let c=1;for(;e.some((m,u)=>e[u]!=s[u]);){let m=Jc(s,t,r,n-1,f);for(;;){let{value:u,done:p}=m.next();if(p)break;yield[[f,c]].concat(u)}for(let u=0;u<l;u++)s[u]=t[u][s[u]][f];c++}}}}async function $c(){return ML(await HL,!1)}var Q7,j7,q7,bL,wL,xL,SL,vL,UL,EL,kL,ao,zL,ln,Zi,NL,Qc,OL,s0,f0,jc,u0,nr,be,HL,tm=w(()=>{Mt();\\\"use strict\\\";[Q7,j7]=(()=>{let e=new Int8Array(4096*12),t=new Int8Array(4096*12);for(let o=0;o<4096;o++)for(let l=0,i=0;l<12;l++)(o>>>l&1)!=0&&(e[l<<12|o]=i,t[i<<12|o]=l,i++);function r(o){let l=4095,i=19958400,a=0;for(let f=0;f<10;f++){let s=o[f];a+=e[l|s<<12]*i,l&=~(1<<s),i/=11-f}return a}function n(o,l){let i=4095,a=19958400,f=0;for(let s=0;s<10;s++){let c=o/a|0;o-=c*a,f^=c&1;let m=t[i|c<<12];l[s]=m,i&=~(1<<m),a/=11-s}return l[10]=t[i|f<<12],l[11]=t[i|(f^1)<<12],l}return[r,n]})();q7={co:[0,0,0,0],mp:nn(12),wp:nn(12),cp:[0,1,2,3]},bL={co:[2,0,0,0],mp:nn(12),wp:ol([1,9,11],12),cp:[0,1,2,3]},wL={co:[0,2,0,0],mp:nn(12),wp:ol([0,7,2],12),cp:[0,1,2,3]},xL={co:[0,0,2,0],mp:nn(12),wp:ol([3,6,10],12),cp:[0,1,2,3]},SL={co:[0,0,0,2],mp:nn(12),wp:ol([4,8,5],12),cp:[0,1,2,3]},vL={co:[2,0,0,0],mp:Ur([[1,9,11],[7,3,5]],12),wp:Ur([[1,9,11],[7,3,5]],12),cp:[0,2,3,1]},UL={co:[0,2,0,0],mp:Ur([[0,7,2],[6,1,8]],12),wp:Ur([[0,7,2],[6,1,8]],12),cp:[3,1,0,2]},EL={co:[0,0,2,0],mp:Ur([[3,6,10],[9,0,4]],12),wp:Ur([[3,6,10],[9,0,4]],12),cp:[1,3,2,0]},kL={co:[0,0,0,2],mp:Ur([[4,8,5],[10,2,11]],12),wp:Ur([[4,8,5],[10,2,11]],12),cp:[2,0,1,3]},ao=[vL,UL,EL,kL,bL,wL,xL,SL],zL=[\\\"u\\\",\\\"l\\\",\\\"r\\\",\\\"b\\\",\\\"U\\\",\\\"L\\\",\\\"R\\\",\\\"B\\\"],ln=8,Zi=4;NL=[],Qc=[],OL=[],s0=[];for(let e=0;e<ln;e++){let t=ao[e];NL[e]=t.mp,Qc[e]=a0(t.mp),OL[e]=t.wp,s0[e]=a0(t.wp)}f0=[0,0,0,0,2,2,2,2],jc=[[14,-1,-1,11,11,10,9,8,8,7,7,6,4,5,5,3,4,4,2,3,4,3,-1,-1,0],[13,-1,-1,11,10,10,9,8,8,7,7,6,4,5,5,3,4,4,2,3,3,1,-1,-1,6]],u0=new Int8Array(55);for(let e=0;e<25;e++)u0[e]=jc[0][e],u0[e+30]=jc[1][e];nr=new Int8Array(6*12*12*3);for(let e=0;e<6;e++)for(let t=0;t<12;t++)for(let r=0;r<12;r++){let n=e+6*t+72*r,o=2;t===e?o++:t===(e+6)%12&&o--,r===(e+6)%12?o++:r===e&&o--,nr[n]=o,nr[n+6*12*12]=nr[n+2*6*12*12]=o+5}be={};HL=Qe();(async()=>{console.log(await $c())})()});var om={};Be(om,{cachedMegaminxKPuzzleWithoutMO:()=>ll,cachedSGSDataMegaminx:()=>JL,sgsDataMegaminx:()=>nm});async function YL(){let e=vn(\\\"megaminx\\\",{allMoves:!0,addRotations:!0}),t=new Ne(e.getKPuzzleDefinition(!0),{experimentalPGNotation:new Ir(e,e.getOrbitsDef(!0))});return t.definition.name=\\\"megaminx\\\",t}async function ll(){return ZL??(ZL=YL())}async function JL(){return XL??(XL=nm())}async function nm(){return cr(await ll(),`SubgroupSizes 12 5 60 58 60 56 54 57 52 50 54 48 46 51 44 42 48 40 45 38 36 42 34 32 39 30 36 28 26 33 24 30 22 20 27 18 24 16 14 21 12 18 10 15 8 6 2 12 9 3\\n\\nAlg Rv\\nAlg Rv2\\nAlg Rv2'\\nAlg Rv'\\nAlg Lv'\\nAlg Lv2\\nAlg Lv2'\\nAlg Fv\\nAlg Fv'\\nAlg BRv2\\nAlg Lv2 Rv'\\n\\nAlg Uv\\nAlg Uv2\\nAlg Uv2'\\nAlg Uv'\\n\\nAlg D\\nAlg D2\\nAlg D2'\\nAlg D'\\nAlg B\\nAlg B2\\nAlg B2'\\nAlg B'\\nAlg D DL\\nAlg D DL2\\nAlg D DL2'\\nAlg D DL'\\nAlg D2 FL\\nAlg D2 FL2\\nAlg D2 FL2'\\nAlg D2 FL'\\nAlg D2' FR\\nAlg D2' FR2\\nAlg D2' FR2'\\nAlg D2' FR'\\nAlg D' DR\\nAlg D' DR2\\nAlg D' DR2'\\nAlg D' DR'\\nAlg B DR\\nAlg B DR2'\\nAlg B DR'\\nAlg B2 BR2\\nAlg B2 BR2'\\nAlg B2 BR'\\nAlg B2' BL\\nAlg B2' BL2\\nAlg B2' BL2'\\nAlg B' DL\\nAlg B' DL2\\nAlg B' DL'\\nAlg D DL B\\nAlg D DL B2'\\nAlg D DL B'\\nAlg D DL2' L\\nAlg D DL2' L2\\nAlg D DL2' L2'\\nAlg D DL' FL\\nAlg D DL' FL2\\nAlg D DL' FL'\\nAlg D2 FL2' F\\nAlg D2 FL2' F2\\nAlg D2 FL2' F2'\\nAlg D2 FL' FR\\nAlg D2 FL' FR2\\nAlg D2 FL' FR'\\nAlg D2' FR2' R\\nAlg D2' FR2' R2\\nAlg D2' FR2' R2'\\nAlg B DR2' R2'\\nAlg B DR' BR2\\nAlg B2 BR' BL\\nAlg B2' BL2' L\\nAlg D DL2' L2' F\\nAlg DL\\nAlg DL2\\nAlg DL2'\\nAlg DL'\\nAlg DL BL\\nAlg DL BL2\\nAlg DL BL2'\\nAlg DL BL'\\nAlg DL2 L\\nAlg DL2 L2\\nAlg DL2 L2'\\nAlg DL2 L'\\nAlg DL2' FL\\nAlg DL2' FL2\\nAlg DL2' FL2'\\nAlg DL2' FL'\\nAlg D B D'\\nAlg D B2 D'\\nAlg D B2' D'\\nAlg D B' D'\\nAlg D2 B D2'\\nAlg D2 DL' D2'\\nAlg D2' DL' D2\\nAlg D' B D\\nAlg D' DL' D\\nAlg B2 DR2 B2'\\nAlg B2 DR2' B2'\\nAlg B2 DR' B2'\\nAlg B2' BR B2\\nAlg B2' BR2 B2\\nAlg B2' BR2' B2\\nAlg B' BL B\\nAlg B' BL2 B\\nAlg B' BL' B\\nAlg DL BL2' U\\nAlg DL BL2' U2\\nAlg DL BL2' U2'\\nAlg DL BL' L\\nAlg DL BL' L2\\nAlg DL BL' L'\\nAlg DL2 L2' F\\nAlg DL2 L2' F2\\nAlg DL2 L2' F2'\\nAlg DL2 L' FL\\nAlg DL2 L' FL2\\nAlg DL2 L' FL'\\nAlg DL2' FL2' FR\\nAlg DL2' FL2' FR2\\nAlg DL2' FL2' FR2'\\nAlg D B D' DR2\\nAlg D B D' DR'\\nAlg D2 B D2' FR2'\\nAlg D' B D DL\\nAlg B2 DR' B2' BR\\nAlg B2 DR' B2' BR'\\nAlg B2' BR2' B2 U\\nAlg DL BL2' U2' F\\nAlg D FL D'\\nAlg D FL2 D'\\nAlg D FL2' D'\\nAlg D FL' D'\\nAlg D2 FR D2'\\nAlg D2 FR2 D2'\\nAlg D2 FR2' D2'\\nAlg D2' DR D2\\nAlg D2' DR2 D2\\nAlg D2' DR2' D2\\nAlg DL2 BL DL2'\\nAlg DL2 BL2 DL2'\\nAlg DL2 BL2' DL2'\\nAlg DL2 BL' DL2'\\nAlg DL2' L2 DL2\\nAlg DL2' L2' DL2\\nAlg DL' FL2 DL\\nAlg DL' FL' DL\\nAlg D FL D' FL2'\\nAlg D FL L D'\\nAlg D FL L2 D'\\nAlg D FL L2' D'\\nAlg D FL2 F D'\\nAlg D FL2 F2 D'\\nAlg D FL2 F2' D'\\nAlg D FL2 L D'\\nAlg D FL2 L2 D'\\nAlg D FL2' D' FR\\nAlg D FL2' D' FR2\\nAlg D FL2' D' FR2'\\nAlg D FL2' F D'\\nAlg D FL2' F2' D'\\nAlg D FL2' FR2' D'\\nAlg D FL2' FR' D'\\nAlg D FL' D' FL\\nAlg D FL' FR D'\\nAlg D2 FR D2' FR2'\\nAlg D2 FR2 R D2'\\nAlg D2 FR2 R2 D2'\\nAlg D2 FR2 R2' D2'\\nAlg D2 FR2' D2' DR\\nAlg D2 FR2' D2' DR2\\nAlg D2 FR2' D2' DR2'\\nAlg D2 FR2' D2' DR'\\nAlg D2 FR2' R2' D2'\\nAlg D2 FR' DR2' D2'\\nAlg D2' DR D2 DR2'\\nAlg D2' DR2 BR D2\\nAlg D2' DR2 BR2' D2\\nAlg D2' DR2' BR2' D2\\nAlg D2' DR2' BR' D2\\nAlg DL2 BL2 DL2' BL'\\nAlg DL2 BL2 DL2' BR'\\nAlg DL2 BL' DL2' L'\\nAlg DL2' L2 DL2 BL2\\nAlg D FL L2 BL2 D'\\nAlg D FL L' FL2' D'\\nAlg D FL2 L FL' D'\\nAlg D FL2' D' FR2 DR2'\\nAlg B DL B'\\nAlg B DL2 B'\\nAlg B DL2' B'\\nAlg B DL' B'\\nAlg B2 D B2'\\nAlg B2 D2 B2'\\nAlg B2 D2' B2'\\nAlg B2 D' B2'\\nAlg B2 DL B2'\\nAlg B2' D' B2\\nAlg B2' DL B2\\nAlg B' D' B\\nAlg B DL B' BL\\nAlg B DL B' BL2\\nAlg B DL B' BL2'\\nAlg B DL B' BL'\\nAlg B DL2 B' BL2\\nAlg B DL2 B' BL2'\\nAlg B DL2 B' BL'\\nAlg B DL2' L2 B'\\nAlg B DL2' L2' B'\\nAlg B DL2' L' B'\\nAlg B DL' FL B'\\nAlg B DL' FL2 B'\\nAlg B DL' FL2' B'\\nAlg B DL' FL' B'\\nAlg B2 D FL B2'\\nAlg B2 D FL2' B2'\\nAlg B2 D FL' B2'\\nAlg B2 D2 FR2 B2'\\nAlg B2 D2 FR2' B2'\\nAlg B2 D2 FR' B2'\\nAlg B2 D2' B2' DR\\nAlg B2 D2' B2' DR2\\nAlg B2 D2' B2' DR2'\\nAlg B2 DL B2' BR\\nAlg B2 DL B2' BR2\\nAlg B2 DL B2' BR2'\\nAlg B2' D' B2 BR2\\nAlg B2' D' B2 BR2'\\nAlg B' D' B DR\\nAlg B' D' B DR2'\\nAlg D FL' D FR D2'\\nAlg D DL FL DL' D'\\nAlg D2' FR DR FR' D2\\nAlg B DL B D B2'\\nAlg B DL B D2' B2'\\nAlg B DL B' BL2 U2\\nAlg B DL B' BL2 U2'\\nAlg B DL B' BL2 U'\\nAlg B DL2 B' BL2' U2\\nAlg B DL2 B' BL2' U2'\\nAlg B DL2 B' BL' L2\\nAlg B DL2' L2' B' F2\\nAlg B2 D FL2' B2' F2'\\nAlg DR\\nAlg DR2\\nAlg DR2'\\nAlg DR'\\nAlg DR2 FR\\nAlg DR2 FR2\\nAlg DR2 FR2'\\nAlg DR2 FR'\\nAlg DR2' R\\nAlg DR2' R2\\nAlg DR2' R2'\\nAlg DR2' R'\\nAlg DR' BR\\nAlg DR' BR2\\nAlg DR' BR2'\\nAlg DR' BR'\\nAlg D DR D'\\nAlg D2 DR D2'\\nAlg B BR B'\\nAlg B BR2' B'\\nAlg B BR' B'\\nAlg B2 BL2 B2'\\nAlg B2 BL2' B2'\\nAlg B2 BL' B2'\\nAlg DR2 FR2 FL2\\nAlg DR2 FR2 FL2'\\nAlg DR2 FR2 FL'\\nAlg DR2 FR2' F\\nAlg DR2 FR2' F2\\nAlg DR2 FR2' F2'\\nAlg DR2 FR' R\\nAlg DR2 FR' R2\\nAlg DR2 FR' R'\\nAlg DR2' R FR\\nAlg DR2' R FR2'\\nAlg DR2' R FR'\\nAlg DR2' R2' U\\nAlg DR2' R2' U2\\nAlg DR2' R2' U2'\\nAlg DR2' R' BR2'\\nAlg DR' BR2' BL'\\nAlg D DR2 FR D'\\nAlg B BR B' DR\\nAlg B BR B' DR2\\nAlg B BR2' B' U2'\\nAlg B BR' B' BL2\\nAlg B BR' B' BL2'\\nAlg B BR' B' BL'\\nAlg B2 BL2' L' B2'\\nAlg DR2 FR2 FL' F\\nAlg DR2 FR2' F FL2'\\nAlg DR2 FR2' F FL'\\nAlg B BR2' U2' L2' B'\\nAlg D2' FL D2\\nAlg D2' FL2 D2\\nAlg D2' FL2' D2\\nAlg D2' FL' D2\\nAlg D' FR2 D\\nAlg D' FR2' D\\nAlg D' FR' D\\nAlg DR FR DR'\\nAlg DR FR2' DR'\\nAlg DR FR' DR'\\nAlg DR2 R2 DR2'\\nAlg DR2 R2' DR2'\\nAlg DR2' BR DR2\\nAlg DR2' BR2 DR2\\nAlg DR2' BR2' DR2\\nAlg D DR2 D' DR2'\\nAlg D DR2' D' DR2\\nAlg D2' FL D2 FR'\\nAlg D2' FL2 D2 FL2'\\nAlg D2' FL2 D2 FL'\\nAlg D2' FL2 L D2\\nAlg D2' FL2 L2 D2\\nAlg D2' FL2 L2' D2\\nAlg D2' FL2 L' D2\\nAlg D2' FL2' F D2\\nAlg D2' FL2' F2 D2\\nAlg D2' FL2' F2' D2\\nAlg D2' FL2' L D2\\nAlg D2' FL2' L2 D2\\nAlg D2' FL2' L2' D2\\nAlg D2' FL2' L' D2\\nAlg D2' FL' F D2\\nAlg D2' FL' F2' D2\\nAlg D' FR FL' D\\nAlg D' FR2 D FR'\\nAlg D' FR2 D FL2\\nAlg D' FR2 D FL2'\\nAlg D' FR2 FL D\\nAlg D' FR2' R2' D\\nAlg D' FR' R2' D\\nAlg DR2 R2 DR2' U2'\\nAlg DR2 R2' DR2' BR\\nAlg DR2 R2' DR2' BR2\\nAlg DR2 R2' DR2' BR2'\\nAlg DR2 R2' DR2' BR'\\nAlg DR2 R' BR2' DR2'\\nAlg DR2' BR DR2 BR2'\\nAlg DR2' BR2 BL DR2\\nAlg DR2' BR2 BL2' DR2\\nAlg DR2' BR2' BL' DR2\\nAlg D B2' BL2' B2 D'\\nAlg D2 B2 DL2 B2' D2'\\nAlg D2' FL2 L' FL2 D2\\nAlg D2' FL2' L D2 FL'\\nAlg D2' FL2' L FL2' D2\\nAlg D2' FL2' L2' BL2 D2\\nAlg B2' DR B2\\nAlg B2' DR2 B2\\nAlg B2' DR2' B2\\nAlg B2' DR' B2\\nAlg B' DR' B\\nAlg B2' DR FR B2\\nAlg B2' DR FR2 B2\\nAlg B2' DR FR2' B2\\nAlg B2' DR FR' B2\\nAlg B2' DR2 R B2\\nAlg B2' DR2 R2 B2\\nAlg B2' DR2 R2' B2\\nAlg B2' DR2 R' B2\\nAlg B2' DR2' B2 BR\\nAlg B2' DR2' B2 BR2\\nAlg B2' DR2' B2 BR2'\\nAlg B2' DR2' B2 BR'\\nAlg B2' DR' B2 BL2\\nAlg B2' DR' B2 BL2'\\nAlg B2' DR' B2 BL'\\nAlg B' DR2' BR' B\\nAlg B' DR' B BR\\nAlg B' DR' B BR2'\\nAlg B' DR' B BR'\\nAlg D2' FR2' FL FR2 D2\\nAlg D2' FR2' FL2 FR2 D2\\nAlg D2' FR2' FL2' FR2 D2\\nAlg D' DR2' FR DR2 D\\nAlg D' DR2' FR2 DR2 D\\nAlg D' DR' FR' DR D\\nAlg D' FR D' FL' D2\\nAlg B2 D2 DL2 D2' B2'\\nAlg B2 D2 DL2' D2' B2'\\nAlg B2 D2 DL' D2' B2'\\nAlg B2 D' FR' D B2'\\nAlg B2 DL D2' DL' B2'\\nAlg B2 DL D' DL' B2'\\nAlg B2' DR FR2' B2 F2\\nAlg B2' DR FR2' B2 F2'\\nAlg B2' DR FR' R B2\\nAlg B2' DR FR' R2 B2\\nAlg B2' DR2 R2' B2 U\\nAlg B2' DR2 R2' B2 U2\\nAlg B2' DR2 R2' B2 U2'\\nAlg B2' DR' B2 BL2 U'\\nAlg B' DR2' BR' B BL2'\\nAlg DR D FR D' DR'\\nAlg DL2' B D B' DL2\\nAlg D2' FR2' FL2' FR2 F D2\\nAlg D' DR2' FR DR2 D FL2'\\nAlg B2 D B D' DR B2\\nAlg FR\\nAlg FR2\\nAlg FR2'\\nAlg FR'\\nAlg FR2 FL\\nAlg FR2 FL2\\nAlg FR2 FL2'\\nAlg FR2 FL'\\nAlg FR2' F\\nAlg FR2' F2\\nAlg FR2' F2'\\nAlg FR2' F'\\nAlg FR' R\\nAlg FR' R2\\nAlg FR' R2'\\nAlg FR' R'\\nAlg D FR D'\\nAlg DR R DR'\\nAlg DR R2' DR'\\nAlg DR R' DR'\\nAlg DR2 BR2 DR2'\\nAlg DR2 BR2' DR2'\\nAlg DR2 BR' DR2'\\nAlg FR2 FL2' L\\nAlg FR2 FL2' L2\\nAlg FR2 FL2' L2'\\nAlg FR2 FL' F\\nAlg FR2 FL' F2\\nAlg FR2 FL' F'\\nAlg FR2' F FL\\nAlg FR2' F FL2'\\nAlg FR2' F FL'\\nAlg FR2' F2' U\\nAlg FR2' F2' U2\\nAlg FR2' F2' U2'\\nAlg FR2' F' R2'\\nAlg FR' R2' BR'\\nAlg DR R DR' FR\\nAlg DR R DR' FR2\\nAlg DR R2' DR' U2'\\nAlg DR R' DR' BR2\\nAlg DR R' DR' BR2'\\nAlg DR R' DR' BR'\\nAlg DR2 BR2' BL2' DR2'\\nAlg DR2 BR2' BL' DR2'\\nAlg FR2 FL' F L2\\nAlg FR2 FL' F L2'\\nAlg B' DR2 BR' DR2' B\\nAlg DR R2' U2' BL2 DR'\\nAlg D' FL D\\nAlg D' FL2 D\\nAlg D' FL2' D\\nAlg D' FL' D\\nAlg FR FL FR'\\nAlg FR FL2 FR'\\nAlg FR FL2' FR'\\nAlg FR FL' FR'\\nAlg FR2 F2 FR2'\\nAlg FR2 F2' FR2'\\nAlg FR2' R FR2\\nAlg FR2' R2 FR2\\nAlg FR2' R2' FR2\\nAlg D FR2 D' FR2'\\nAlg D FR2' D' FR2\\nAlg D' FL D FL'\\nAlg D' FL2 D FL'\\nAlg D' FL2 L D\\nAlg D' FL2 L2 D\\nAlg D' FL2 L2' D\\nAlg D' FL2 L' D\\nAlg D' FL2' F2' D\\nAlg D' FL2' L2 D\\nAlg D' FL2' L2' D\\nAlg D' FL2' L' D\\nAlg D' FL' F2' D\\nAlg FR FL2' F' FR'\\nAlg FR FL2' FR' L\\nAlg FR FL2' FR' L2\\nAlg FR FL2' FR' L2'\\nAlg FR2 F2 FR2' U2\\nAlg FR2 F2 FR2' U2'\\nAlg FR2 F2' FR2' U2'\\nAlg FR2 F2' FR2' R\\nAlg FR2 F2' FR2' R2\\nAlg FR2 F2' FR2' R2'\\nAlg FR2 F2' FR2' R'\\nAlg FR2 F' R2' FR2'\\nAlg FR2' R FR2 R2'\\nAlg FR2' R2 BR FR2\\nAlg FR2' R2 BR2 FR2\\nAlg FR2' R2 BR2' FR2\\nAlg FR2' R2' BR2' FR2\\nAlg FR2' R2' BR' FR2\\nAlg D DR2' BR2' DR2 D'\\nAlg D FR2' D' FR2 FL2\\nAlg D2' B DL B' D2\\nAlg D2' B2' D' B2 D2'\\nAlg D' FL2 L BL D\\nAlg D' FL2 L' FL2 D\\nAlg D' FL2' F2' R' D\\nAlg D' FL2' L FL2' D\\nAlg D' FL2' L2' BL2 D\\nAlg DR2' FR DR2\\nAlg DR2' FR2 DR2\\nAlg DR2' FR2' DR2\\nAlg DR2' FR' DR2\\nAlg DR' FR' DR\\nAlg DR2' FR FL DR2\\nAlg DR2' FR FL2 DR2\\nAlg DR2' FR FL2' DR2\\nAlg DR2' FR FL' DR2\\nAlg DR2' FR2 DR2 F\\nAlg DR2' FR2 DR2 F2\\nAlg DR2' FR2 DR2 F2'\\nAlg DR2' FR2 DR2 F'\\nAlg DR2' FR2' DR2 R\\nAlg DR2' FR2' DR2 R2\\nAlg DR2' FR2' DR2 R2'\\nAlg DR2' FR2' DR2 R'\\nAlg DR2' FR' DR2 BR2\\nAlg DR2' FR' DR2 BR2'\\nAlg DR2' FR' DR2 BR'\\nAlg DR' FR2' R' DR\\nAlg DR' FR' DR R\\nAlg DR' FR' DR R2'\\nAlg DR' FR' DR R'\\nAlg D' FR2' FL FR2 D\\nAlg D' FR2' FL2 FR2 D\\nAlg D' FR' FL' FR D\\nAlg B2' DR2 FR' DR2' B2\\nAlg B' DR2 FR' DR2' B\\nAlg DR2 D' FL' D DR2'\\nAlg DR2' FR FL2' DR2 L\\nAlg DR2' FR FL2' DR2 L2\\nAlg DR2' FR FL2' DR2 L2'\\nAlg DR2' FR FL' DR2 F\\nAlg DR2' FR FL' DR2 F2\\nAlg DR2' FR2 F FL2 DR2\\nAlg DR2' FR2 DR2 F2' U\\nAlg DR2' FR2 DR2 F2' U2\\nAlg DR2' FR2 DR2 F2' U2'\\nAlg DR2' FR' DR2 BR2 U'\\nAlg DR2' FR' DR2 BR2' BL2'\\nAlg DR' FR2' R' DR BR2'\\nAlg D' FR2' FL2 FR2 L D\\nAlg D' FR2' FL2 FR2 L2 D\\nAlg B2' DR2' FR2' R' DR2 B2\\nAlg DR2 D DR D' FR DR2\\nAlg DR2' FR' DR2 BR2 U' BL2\\nAlg FL\\nAlg FL2\\nAlg FL2'\\nAlg FL'\\nAlg FL L\\nAlg FL L2\\nAlg FL L2'\\nAlg FL L'\\nAlg FL2 F\\nAlg FL2 F2\\nAlg FL2 F2'\\nAlg FL2 F'\\nAlg FR2' FL2' FR2\\nAlg FR' FL2' FR\\nAlg FL L2 BL\\nAlg FL L2 BL2\\nAlg FL L2 BL2'\\nAlg FL L2 BL'\\nAlg FL L2' U\\nAlg FL L2' U2\\nAlg FL L2' U2'\\nAlg FL L' F\\nAlg FL L' F2\\nAlg FL L' F'\\nAlg FL2 F L\\nAlg FL2 F L2\\nAlg FL2 F L2'\\nAlg FL2 F L'\\nAlg FL2 F2' R\\nAlg FL2 F2' R2\\nAlg FL2 F2' R2'\\nAlg FR' FL2 F' FR\\nAlg FL L2 BL2' BR\\nAlg FL L2 BL2' BR2\\nAlg FL L2 BL' U\\nAlg FL L2' U BL2\\nAlg FL L2' U BL2'\\nAlg FL L2' U BL'\\nAlg FL L2' U2' R\\nAlg FL L2' U2' R2\\nAlg FL L' F' FL\\nAlg FL L' F' FL2\\nAlg FL L' F' FL2'\\nAlg B DL2' BL DL2 B'\\nAlg FL L2 BL' U BR2'\\nAlg FL2 L FL2'\\nAlg FL2 L2 FL2'\\nAlg FL2 L2' FL2'\\nAlg FL2 L' FL2'\\nAlg FL2' F2 FL2\\nAlg FL2' F2' FL2\\nAlg FL2' F' FL2\\nAlg FR2' FL' FR2 FL\\nAlg FL2 L2 FL2' L2'\\nAlg FL2 L2 FL2' L'\\nAlg FL2 L2 FL2' BL\\nAlg FL2 L2 FL2' BL2\\nAlg FL2 L2 FL2' BL2'\\nAlg FL2 L2 FL2' BL'\\nAlg FL2 L2' FL2' U\\nAlg FL2 L2' FL2' U2\\nAlg FL2 L2' FL2' U2'\\nAlg FL2 L2' FL2' BL\\nAlg FL2 L2' FL2' BL2\\nAlg FL2 L2' FL2' BL2'\\nAlg FL2 L2' FL2' BL'\\nAlg FL2 L' FL2' U\\nAlg FL2 L' FL2' U2'\\nAlg FL2 L' FL2' F\\nAlg FL2 L' FL2' F2\\nAlg FL2 L' FL2' F2'\\nAlg FL2 L' FL2' F'\\nAlg FL2' F L FL2\\nAlg FL2' F L' FL2\\nAlg FL2' F2 L FL2\\nAlg FL2' F2 L2 FL2\\nAlg FL2' F2 L2' FL2\\nAlg FL2' F2 FL2 F'\\nAlg FL2' F2 FL2 L2\\nAlg FL2' F2' R FL2\\nAlg FL2' F2' R2 FL2\\nAlg FL2' F2' R2' FL2\\nAlg FL2' F' R2' FL2\\nAlg FL2' F' R' FL2\\nAlg FL' FR2' FL FR2\\nAlg D DR2' FR2' DR2 D'\\nAlg D FR2' R' FR2 D'\\nAlg D' DL2 BL2 DL2' D\\nAlg B2 D2' B D2 B2\\nAlg DR2 D2 DR D2' DR2\\nAlg FR2 D FR D' FR2\\nAlg FL2 L2 BL' L2 FL2'\\nAlg FL2 L2 FL2' BL2 BR\\nAlg FL2 L2' BL L2' FL2'\\nAlg FL2 L2' FL2' BL L'\\nAlg DL FL DL'\\nAlg DL FL2 DL'\\nAlg DL FL2' DL'\\nAlg DL FL' DL'\\nAlg DL2 FL DL2'\\nAlg DL FL DL' L\\nAlg DL FL DL' L2\\nAlg DL FL DL' L2'\\nAlg DL FL DL' L'\\nAlg DL FL2 L DL'\\nAlg DL FL2 L2 DL'\\nAlg DL FL2 L2' DL'\\nAlg DL FL2 L' DL'\\nAlg DL FL2 DL' L\\nAlg DL FL2' DL' F2\\nAlg DL FL2' DL' F2'\\nAlg DL FL2' DL' F'\\nAlg DL2 FL DL2' BL\\nAlg DL2 FL DL2' BL2\\nAlg DL2 FL DL2' BL2'\\nAlg B DL2' FL DL2 B'\\nAlg B2 DL2' FL DL2 B2'\\nAlg FL2 F2 L' F2' FL2'\\nAlg FL2 F2' L' F2 FL2'\\nAlg FL2 F' L' F FL2'\\nAlg FL2' FR2' FL FR2 FL2\\nAlg FL2' FR' F' FR FL2\\nAlg DL FL DL' L BL2'\\nAlg DL FL DL' L BL'\\nAlg DL FL DL' L2 U2\\nAlg DL FL DL' L2 U2'\\nAlg DL FL2 L2' DL' U2\\nAlg DL FL2 L2' DL' U2'\\nAlg DL FL2 L' DL' F'\\nAlg DL FL2' DL' F2' R2\\nAlg DL FL2' DL' F2' R2'\\nAlg DL2 FL DL2' BL2 BR2\\nAlg B DL2 FL DL2' BL B'\\nAlg FL2 F2' L' F2 R2 FL2'\\nAlg FL2 F2' L' F2 R2' FL2'\\nAlg FL2' FR' F FR L FL2\\nAlg DL FL DL' L BL2' BR2\\nAlg DL FL2 L DL FL' DL2'\\nAlg FR F FR'\\nAlg FR F2 FR'\\nAlg FR F2' FR'\\nAlg FR F' FR'\\nAlg FR2 R FR2'\\nAlg FR2 R2 FR2'\\nAlg FR2 R2' FR2'\\nAlg FR2 R' FR2'\\nAlg FL2' L FL2\\nAlg FL2' L2 FL2\\nAlg FL2' L2' FL2\\nAlg FL' F FL\\nAlg FL' F2 FL\\nAlg FL' F' FL\\nAlg FR F FR' F'\\nAlg FR F2 FR' L\\nAlg FR F2' FR' U\\nAlg FR F2' FR' U2\\nAlg FR F2' FR' U2'\\nAlg FR F' FR' R\\nAlg FR F' FR' R2\\nAlg FR F' FR' R2'\\nAlg FR F' FR' R'\\nAlg FR2 R FR2' F2\\nAlg FR2 R FR2' R'\\nAlg FR2 R2' BR FR2'\\nAlg FR2 R2' BR2 FR2'\\nAlg FR2 R2' BR2' FR2'\\nAlg FR2 R2' BR' FR2'\\nAlg FL2' L2 FL2 BL\\nAlg FL2' L2 FL2 BL2\\nAlg FL2' L2' FL2 U\\nAlg FL' F L2 FL\\nAlg FL' F L2' FL\\nAlg FL' F FL L\\nAlg DR' FR2 R' FR2' DR\\nAlg FR F2' U2' BR FR'\\nAlg FR F2' U2' BR2 FR'\\nAlg FR F' FR R' FR2'\\nAlg FL2' L2' FL2 U BL2\\nAlg FL2' L2' FL2 U BL2'\\nAlg FR F L F' FR'\\nAlg FR F L2 F' FR'\\nAlg FR F L2' F' FR'\\nAlg FR F L' F' FR'\\nAlg FR F2 U F2' FR'\\nAlg FR F2 U2 F2' FR'\\nAlg FR F2 U2' F2' FR'\\nAlg FR F2' R F2 FR'\\nAlg FR F2' R2 F2 FR'\\nAlg FR F2' R2' F2 FR'\\nAlg FR FL' L FL FR'\\nAlg FR FL' L2 FL FR'\\nAlg FR FL' L' FL FR'\\nAlg FR2 F2' L F2 FR2'\\nAlg FR2 F2' L2 F2 FR2'\\nAlg FR2 F' U2 F FR2'\\nAlg FR2 F' U2' F FR2'\\nAlg FR2 R U R' FR2'\\nAlg FR2 R U' R' FR2'\\nAlg FR2 R2 BR2 R2' FR2'\\nAlg FR2 R2 BR2' R2' FR2'\\nAlg FR2' DR BR DR' FR2\\nAlg FR2' R2' U R2 FR2\\nAlg FR2' R2' U2 R2 FR2\\nAlg FR2' R' BR2 R FR2\\nAlg FR2' R' BR2' R FR2\\nAlg FR2' R' BR' R FR2\\nAlg FL2 L BL L' FL2'\\nAlg FL2 L2 U2' L2' FL2'\\nAlg FL2 DL' BL2 DL FL2'\\nAlg FL2' F2 R2' F2' FL2\\nAlg FL2' L2' BL2 L2 FL2\\nAlg FL' F2 L F2' FL\\nAlg FL' F2 L2 F2' FL\\nAlg FL' F' R' F FL\\nAlg FL' FR R' FR' FL\\nAlg FR F L2' F' FR' BL\\nAlg FR F L2' F' FR' BL2\\nAlg FR F L' F' FR' F'\\nAlg FR F2 U2 BR2 F2' FR'\\nAlg FR F2 U2 BR2' F2' FR'\\nAlg FR F2' R F2 R2' FR'\\nAlg FR F2' R2' F2 FR' R'\\nAlg FR FL' L FL FR' F'\\nAlg FR2 F' U2 F FR2' L2'\\nAlg FR F L2 BL' L2 F' FR'\\nAlg FR F L2' F U' F2' FR'\\nAlg R\\nAlg R2\\nAlg R2'\\nAlg R'\\nAlg R2 F\\nAlg R2 F2\\nAlg R2 F2'\\nAlg R2 F'\\nAlg R2' U\\nAlg R2' U2\\nAlg R2' U2'\\nAlg R2' U'\\nAlg R' BR\\nAlg R' BR2\\nAlg R' BR2'\\nAlg R' BR'\\nAlg DR BR DR'\\nAlg DR BR2' DR'\\nAlg DR BR' DR'\\nAlg FR R FR'\\nAlg R2 F2' L\\nAlg R2 F2' L2\\nAlg R2 F2' L2'\\nAlg R2 F' U\\nAlg R2 F' U2\\nAlg R2 F' U'\\nAlg R2' U F\\nAlg R2' U F2'\\nAlg R2' U F'\\nAlg R2' U2' BL\\nAlg R2' U2' BL2\\nAlg R2' U2' BL2'\\nAlg R2' U' BR2'\\nAlg DR BR DR' R\\nAlg DR BR DR' R2\\nAlg DR BR2' BL2' DR'\\nAlg DR BR2' BL' DR'\\nAlg R2 F' U L2\\nAlg R2 F' U L2'\\nAlg FR' F FR\\nAlg FR' F2 FR\\nAlg FR' F2' FR\\nAlg FR' F' FR\\nAlg R F R'\\nAlg R F2 R'\\nAlg R F2' R'\\nAlg R F' R'\\nAlg R2 U2 R2'\\nAlg R2 U2' R2'\\nAlg R2' BR R2\\nAlg R2' BR2 R2\\nAlg R2' BR2' R2\\nAlg FR R2 FR' R2'\\nAlg FR R2' FR' R2\\nAlg FR' F FR F'\\nAlg FR' F2 FR F'\\nAlg FR' F2 FR L\\nAlg FR' F2 FR L2\\nAlg FR' F2 FR L2'\\nAlg FR' F2 FR L'\\nAlg FR' F2' FR U2'\\nAlg FR' F2' FR L2\\nAlg FR' F2' FR L2'\\nAlg FR' F2' FR L'\\nAlg FR' F' FR U2'\\nAlg R F2' U' R'\\nAlg R F2' R' L\\nAlg R F2' R' L2\\nAlg R F2' R' L2'\\nAlg R2 U2 R2' BL2\\nAlg R2 U2 R2' BL2'\\nAlg R2 U2' BR R2'\\nAlg R2 U2' BR2 R2'\\nAlg R2 U2' R2' BL2'\\nAlg R2 U2' R2' BR2'\\nAlg R2 U2' R2' BR'\\nAlg R2 U' BR2' R2'\\nAlg R2' BR R2 BR2'\\nAlg DR BR2 BL2' BR2' DR'\\nAlg FR R2' FR' R2 F2\\nAlg FR' F2 L' F2 FR\\nAlg FR' F2' U2' BR' FR\\nAlg FR' F2' L F2' FR\\nAlg DR' R DR\\nAlg DR' R2 DR\\nAlg DR' R2' DR\\nAlg DR' R' DR\\nAlg DR' R DR F\\nAlg DR' R DR F2\\nAlg DR' R DR F2'\\nAlg DR' R DR F'\\nAlg DR' R2 DR U\\nAlg DR' R2 DR U2\\nAlg DR' R2 DR U2'\\nAlg DR' R2 DR U'\\nAlg DR' R2' DR BR\\nAlg DR' R2' DR BR2\\nAlg DR' R2' DR BR2'\\nAlg DR' R2' DR BR'\\nAlg DR' R' DR BR\\nAlg DR' R' DR BR2'\\nAlg DR' R' DR BR'\\nAlg B2' DR2' R' DR2 B2\\nAlg DR2' FR' F FR DR2\\nAlg DR2' FR' F2 FR DR2\\nAlg DR2' FR' F' FR DR2\\nAlg DR' R DR F2' L\\nAlg DR' R DR F2' L2\\nAlg DR' R DR F2' L2'\\nAlg DR' R DR F' U\\nAlg DR' R DR F' U2\\nAlg DR' R DR F' U'\\nAlg DR' R2 U2' BL DR\\nAlg DR' R2 U2' BL2 DR\\nAlg DR' R2 U2' BL2' DR\\nAlg DR' R2 DR U F2\\nAlg DR' R' DR BR2' BL2'\\nAlg DR2' FR' F2 FR DR2 L\\nAlg DR2' FR' F2 FR DR2 L2\\nAlg DR' FR' F' FR R' DR\\nAlg BR\\nAlg BR2\\nAlg BR2'\\nAlg BR'\\nAlg BR2' U\\nAlg BR2' U2\\nAlg BR2' U2'\\nAlg BR2' U'\\nAlg BR' BL\\nAlg BR' BL2\\nAlg BR' BL2'\\nAlg BR' BL'\\nAlg B BL B'\\nAlg B BL2' B'\\nAlg B BL' B'\\nAlg BR2' U2 F\\nAlg BR2' U2 F2\\nAlg BR2' U2 F2'\\nAlg BR2' U2 F'\\nAlg BR2' U2' L\\nAlg BR2' U2' L2\\nAlg BR2' U2' L2'\\nAlg BR2' U' BL2'\\nAlg BR' BL U\\nAlg BR' BL U2\\nAlg BR' BL U2'\\nAlg BR' BL U'\\nAlg B BL B' BR\\nAlg B BL B' BR2\\nAlg B BL B' BR2'\\nAlg B BL2' L2' B'\\nAlg B BL2' L' B'\\nAlg BR2' U2' L F2\\nAlg BR2' U2' L F2'\\nAlg BR2' U2' L F'\\nAlg BR2 U BR2'\\nAlg BR2 U2 BR2'\\nAlg BR2 U2' BR2'\\nAlg BR2 U' BR2'\\nAlg BR2' BL BR2\\nAlg BR2' BL2 BR2\\nAlg BR2' BL2' BR2\\nAlg BR R BR' R'\\nAlg BR2 U BR2' U2'\\nAlg BR2 U BR2' U'\\nAlg BR2 U BR2' F\\nAlg BR2 U BR2' F2\\nAlg BR2 U BR2' F2'\\nAlg BR2 U BR2' F'\\nAlg BR2 U2 BR2' F\\nAlg BR2 U2 BR2' F2\\nAlg BR2 U2 BR2' F2'\\nAlg BR2 U2 BR2' F'\\nAlg BR2 U2 BR2' L\\nAlg BR2 U2 BR2' L2\\nAlg BR2 U2 BR2' L2'\\nAlg BR2 U2' BL BR2'\\nAlg BR2 U2' BL2 BR2'\\nAlg BR2 U2' BL' BR2'\\nAlg BR2 U2' BR2' L\\nAlg BR2 U2' BR2' L2'\\nAlg BR2 U2' BR2' BL2'\\nAlg BR2 U2' BR2' BL'\\nAlg BR2 U' BL BR2'\\nAlg BR2 U' BL2' BR2'\\nAlg BR2 U' BL' BR2'\\nAlg BR2' BL BR2 U2\\nAlg BR2' BL BR2 U2'\\nAlg BR2' BL BR2 BL2'\\nAlg BR2' BL BR2 BL'\\nAlg B BL2 L2' BL2' B'\\nAlg DR' R2 F R2' DR\\nAlg BR2 U F' U2' BR2'\\nAlg BR2 U BR2' U2' BL'\\nAlg BR2 U2 F U' BR2'\\nAlg BR2 U2 BR2' L F2'\\nAlg B' BR B\\nAlg B' BR2 B\\nAlg B' BR2' B\\nAlg B' BR' B\\nAlg B' BR2 B U\\nAlg B' BR2 B U2\\nAlg B' BR2 B U2'\\nAlg B' BR2 B U'\\nAlg B' BR2' B BL\\nAlg B' BR2' B BL2\\nAlg B' BR2' B BL2'\\nAlg B' BR2' B BL'\\nAlg B' BR' B BL\\nAlg B' BR' B BL2'\\nAlg B' BR' B BL'\\nAlg B' BR2 U2' L B\\nAlg B' BR2 U2' L2 B\\nAlg B' BR2 U2' L2' B\\nAlg B' BR2 B U2 F\\nAlg B' BR2 B U2 F2\\nAlg B' BR2 B U2 F2'\\nAlg B' BR2 B U2 F'\\nAlg B' BR2' B BL U\\nAlg B' BR2' B BL U2\\nAlg B' BR2' B BL U2'\\nAlg B' BR2' B BL U'\\nAlg B' BR' B BL2' L2'\\nAlg B' BR' B BL2' L'\\nAlg BR2 R U R' BR2'\\nAlg B' BR2 U2' L B F2'\\nAlg B' BR2 U2' L B F'\\nAlg B' BR' B BR2 BL BR2'\\nAlg B' BR2 U R BR' R' B\\nAlg BR U BR'\\nAlg BR U2 BR'\\nAlg BR U2' BR'\\nAlg BR U' BR'\\nAlg BR2 BL BR2'\\nAlg BR2 BL2 BR2'\\nAlg BR2 BL2' BR2'\\nAlg BR2 BL' BR2'\\nAlg R2' F R2\\nAlg R2' F2 R2\\nAlg R2' F2' R2\\nAlg R' U R\\nAlg R' U2 R\\nAlg R' U' R\\nAlg BR U BR' U'\\nAlg BR U2 BR' F\\nAlg BR U2' BR' L\\nAlg BR U2' BR' L2\\nAlg BR U2' BR' L2'\\nAlg BR U' BL BR'\\nAlg BR U' BL2 BR'\\nAlg BR U' BL2' BR'\\nAlg BR U' BR' BL'\\nAlg BR2 BL BR2' U2\\nAlg BR2 BL BR2' BL'\\nAlg R2' F2' R2 L\\nAlg R2' F2' R2 L2\\nAlg R' U F2 R\\nAlg R' U F2' R\\nAlg R' U R F\\nAlg BR U' BR BL' BR2'\\nAlg BR U F U' BR'\\nAlg BR U F2 U' BR'\\nAlg BR U F2' U' BR'\\nAlg BR U F' U' BR'\\nAlg BR U2 L U2' BR'\\nAlg BR U2 L2 U2' BR'\\nAlg BR U2 L2' U2' BR'\\nAlg BR U2' BL U2 BR'\\nAlg BR U2' BL2 U2 BR'\\nAlg BR U2' BL2' U2 BR'\\nAlg BR R' F R BR'\\nAlg BR R' F2 R BR'\\nAlg BR R' F' R BR'\\nAlg BR2 U2' F U2 BR2'\\nAlg BR2 U2' F2 U2 BR2'\\nAlg BR2 U' L2 U BR2'\\nAlg BR2 U' L2' U BR2'\\nAlg BR2 BL L BL' BR2'\\nAlg BR2 BL L' BL' BR2'\\nAlg BR2' BL2' L BL2 BR2\\nAlg BR2' BL2' L2 BL2 BR2\\nAlg R2 F2 L F2' R2'\\nAlg R2 F2 L2 F2' R2'\\nAlg R2 F2 L2' F2' R2'\\nAlg R2' U2 BL2' U2' R2\\nAlg R' U2 F U2' R\\nAlg R' U2 F2 U2' R\\nAlg R' U' BL' U R\\nAlg R' BR BL' BR' R\\nAlg BR U F' U' BR' U'\\nAlg BR U2 L' BL2 U2' BR'\\nAlg BR U2' BL U2 BL2' BR'\\nAlg BR U2' BL2' U2 BR' BL'\\nAlg BR R' F R BR' U'\\nAlg BR2 U' L2 U BR2' F2'\\nAlg BR2 U' L2 U BR2' F'\\nAlg BR U F2' U L' U2' BR'\\nAlg BR U F2' L' F U' BR'\\nAlg F\\nAlg F2\\nAlg F2'\\nAlg F'\\nAlg F L\\nAlg F L2\\nAlg F L2'\\nAlg F L'\\nAlg F2 U\\nAlg F2 U2\\nAlg F2 U2'\\nAlg F2 U'\\nAlg F L2' BL\\nAlg F L2' BL2\\nAlg F L2' BL2'\\nAlg F L' U\\nAlg F L' U2\\nAlg F L' U2'\\nAlg F L' U'\\nAlg F2 U L\\nAlg F2 U L2\\nAlg F2 U L2'\\nAlg F2 U L'\\nAlg F L' U BL2\\nAlg F L' U BL2'\\nAlg F L' U BL'\\nAlg F L' U' F\\nAlg F L' U' F2\\nAlg F L' U' F2'\\nAlg F2 L F2'\\nAlg F2 L2 F2'\\nAlg F2 L2' F2'\\nAlg F2 L' F2'\\nAlg F2' U2 F2\\nAlg F2' U2' F2\\nAlg F2' U' F2\\nAlg F2 L2 F2' L2'\\nAlg F2 L2 F2' L'\\nAlg F2 L2' BL F2'\\nAlg F2 L2' BL2 F2'\\nAlg F2 L2' BL2' F2'\\nAlg F2 L' F2' U\\nAlg F2 L' F2' U2\\nAlg F2 L' F2' U2'\\nAlg F2 L' F2' U'\\nAlg F2 L' BL F2'\\nAlg F2 L' BL2 F2'\\nAlg F2 L' BL2' F2'\\nAlg F2' U L F2\\nAlg F2' U L2 F2\\nAlg F2' U L' F2\\nAlg F2' U2 F2 U2'\\nAlg F2' U2 F2 U'\\nAlg F2' U2 F2 L2\\nAlg F2' U2 F2 L2'\\nAlg F2' U2 F2 L'\\nAlg F2' U2 L F2\\nAlg F' R' F R\\nAlg F L2 BL L2' F'\\nAlg F L2 BL2 L2' F'\\nAlg F2 L2 F2' L2' U2'\\nAlg F2 L2' BL' L F2'\\nAlg F2 L' F U2' F2\\nAlg F2 L' F' U' F'\\nAlg FL F FL'\\nAlg FL F2 FL'\\nAlg FL F2' FL'\\nAlg FL F' FL'\\nAlg FL F FL' L\\nAlg FL F FL' L2\\nAlg FL F FL' L2'\\nAlg FL F FL' L'\\nAlg FL F2 FL' L\\nAlg FL F2 FL' L2\\nAlg FL F2 FL' L2'\\nAlg FL F2 FL' L'\\nAlg FL F2' FL' U2\\nAlg FL F2' FL' U2'\\nAlg FL F2' FL' U'\\nAlg F2 U2 L' U2' F2'\\nAlg F2 U2' L' U2 F2'\\nAlg F2 U' L' U F2'\\nAlg FL F FL' L2 BL\\nAlg FL F FL' L2 BL2\\nAlg FL F FL' L2 BL2'\\nAlg FL F2 FL' L2' BL\\nAlg FL F2 FL' L2' BL2\\nAlg FL F2 FL' L2' BL2'\\nAlg FL F2 FL' L' U'\\nAlg FL F FL' F2' L' F2\\nAlg F2 U F U L U2' F2'\\nAlg F2' L F2\\nAlg F2' L2 F2\\nAlg F2' L2' F2\\nAlg F2' L' F2\\nAlg F' U F\\nAlg F' U2 F\\nAlg F' U2' F\\nAlg F' U' F\\nAlg R U R'\\nAlg R U2' R'\\nAlg R U' R'\\nAlg F R' F' R\\nAlg F2' L F2 L'\\nAlg F2' L2' BL F2\\nAlg F2' L2' BL2 F2\\nAlg F2' L2' BL2' F2\\nAlg F' U F U'\\nAlg F' U F L\\nAlg F' U F L2\\nAlg F' U F L2'\\nAlg F' U F L'\\nAlg R U2' R' BL2\\nAlg R U2' R' BL2'\\nAlg R U2' R' BL'\\nAlg F2' L' F U' F\\nAlg F2 L2 BL L2' F2'\\nAlg F2 L2 BL2 L2' F2'\\nAlg F2 L2 BL2' L2' F2'\\nAlg F2 L2 BL' L2' F2'\\nAlg F2' U BL U' F2\\nAlg F2' U BL' U' F2\\nAlg F2' L' BL L F2\\nAlg F2' L' BL2 L F2\\nAlg F2' L' BL2' L F2\\nAlg F2' L' BL' L F2\\nAlg F' U2 L U2' F\\nAlg F' U2 L2 U2' F\\nAlg F' U2 L2' U2' F\\nAlg F' U2' BL2 U2 F\\nAlg R U L U' R'\\nAlg R U L' U' R'\\nAlg R F' L F R'\\nAlg R2 U2' L2 U2 R2'\\nAlg R2 U' BL2 U R2'\\nAlg R2 U' BL2' U R2'\\nAlg R2 U' BL' U R2'\\nAlg R2 BR BL' BR' R2'\\nAlg F2 L2 BL2' L2' F2' U2\\nAlg F2' U BL U' F2 L\\nAlg F2' U BL' U' F2 L2\\nAlg F2' U BL' U' F2 L2'\\nAlg F2' L' BL L F2 U2\\nAlg F2' L' BL L F2 U2'\\nAlg F2' L' BL' L F2 U\\nAlg F2' L' BL' L F2 U2\\nAlg F' U2 L' U BL2' U2 F\\nAlg F' U2' BL L' BL2' U2 F\\nAlg U\\nAlg U2\\nAlg U2'\\nAlg U'\\nAlg U L\\nAlg U L2\\nAlg U L2'\\nAlg U L'\\nAlg U2 BL\\nAlg U2 BL2\\nAlg U2 BL2'\\nAlg U2 BL'\\nAlg U L' BL\\nAlg U L' BL2\\nAlg U L' BL2'\\nAlg U L' BL'\\nAlg U2 BL L\\nAlg U2 BL L2\\nAlg U2 BL L2'\\nAlg U2 BL L'\\nAlg U F' L F\\nAlg U L' BL' U\\nAlg U L' BL' U2\\nAlg U2 L U2'\\nAlg U2 L2 U2'\\nAlg U2 L2' U2'\\nAlg U2 L' U2'\\nAlg U2' BL2 U2\\nAlg U2' BL2' U2\\nAlg U2' BL' U2\\nAlg U2 L2 U2' L2'\\nAlg U2 L2 U2' L'\\nAlg U2 L' U2' BL\\nAlg U2 L' U2' BL2\\nAlg U2 L' U2' BL2'\\nAlg U2 L' U2' BL'\\nAlg U2' BL L U2\\nAlg U2' BL L2 U2\\nAlg U2' BL L2' U2\\nAlg U2' BL L' U2\\nAlg U2' BL2 U2 L2\\nAlg U2' BL2 U2 L2'\\nAlg U2' BL2 U2 L'\\nAlg U2' BL2 U2 BL2'\\nAlg U2' BL2 U2 BL'\\nAlg U2' BL2 L U2\\nAlg U' BR' U BR\\nAlg U2 L' U BL2' U2\\nAlg U2 L2' U2' L2 BL2\\nAlg U2 L2' U2' L2 BL2'\\nAlg U2 L' U' BL' U'\\nAlg U2' BL2 U' L U2'\\nAlg F U F'\\nAlg F U2 F'\\nAlg F U2' F'\\nAlg F U' F'\\nAlg F U F' L\\nAlg F U F' L2\\nAlg F U F' L2'\\nAlg F U F' L'\\nAlg F U2 F' L\\nAlg F U2 F' L2\\nAlg F U2 F' L2'\\nAlg F U2 F' L'\\nAlg F U2' BL2 F'\\nAlg F U2' BL2' F'\\nAlg F U2' BL' F'\\nAlg U2 BL2 L' BL2' U2'\\nAlg U2 BL' L' BL U2'\\nAlg U2 BL2' L' BL2 U2'\\nAlg F U2 F' L' BL'\\nAlg F U F' U2' L' U2\\nAlg U2 L U2 L2' U' BL' U2\\nAlg U2' L U2\\nAlg U2' L2 U2\\nAlg U2' L2' U2\\nAlg U2' L' U2\\nAlg U' BL U\\nAlg U' BL2 U\\nAlg U' BL2' U\\nAlg U' BL' U\\nAlg BR BL BR'\\nAlg BR BL2' BR'\\nAlg BR BL' BR'\\nAlg U BR' U' BR\\nAlg U2' L U2 L'\\nAlg U' BL U L\\nAlg U' BL U L2\\nAlg U' BL U L2'\\nAlg U' BL U L'\\nAlg U' BL U BL'\\nAlg U2' L' U BL' U\\nAlg U' BL2 L BL2' U\\nAlg U' BL2 L2 BL2' U\\nAlg U' BL2 L2' BL2' U\\nAlg U' BL2 L' BL2' U\\nAlg BR U' L U BR'\\nAlg BR U' L2 U BR'\\nAlg BR U' L2' U BR'\\nAlg BR U' L' U BR'\\nAlg BR BL L BL' BR'\\nAlg BR BL L' BL' BR'\\nAlg BR2 BL2' L BL2 BR2'\\nAlg BR2 BL2' L2 BL2 BR2'\\nAlg U2' L BL2' L' BL2 U2\\nAlg U2' L2 F' L2' F U2\\nAlg U2' L' DL L DL' U2\\nAlg U2' BL2' L BL2 L' U2\\nAlg U2' BL2' L2 BL2 L2' U2\\nAlg U' BL2 L BL2' U BL\\nAlg U' BL2 L2 BL2' U L\\nAlg U' BL2 L2 BL2' U BL2'\\nAlg U' BL2 L2 BL2' U BL'\\nAlg U' BL2 L2 BL2' L2' U\\nAlg BR BL L' BL' BR' BL2'\\nAlg BR BL L' BL' BR' BL'\\nAlg U' BL U BL U' L2' BL2' U\\nAlg U' BL2 U' L2 U L' BL2' U\\nAlg L\\nAlg L2\\nAlg L2'\\nAlg L'\\nAlg L' BL\\nAlg L' BL2\\nAlg L' BL2'\\nAlg L' BL'\\nAlg U BL U'\\nAlg U BL2 U'\\nAlg U BL2' U'\\nAlg U BL' U'\\nAlg U BL U' L\\nAlg U BL U' L2\\nAlg U BL U' L2'\\nAlg U BL U' L'\\nAlg U BL U' BL'\\nAlg L2' BL L2\\nAlg L2' BL2 L2\\nAlg L2' BL2' L2\\nAlg L2' BL' L2\\nAlg L2 DL L2' DL'\\nAlg L2' BL L2 BL2'\\nAlg L2' BL L2 BL'\\nAlg F' L2 BL L2' F\\nAlg F' L2 BL2 L2' F\\nAlg F' L2 BL2' L2' F\\nAlg F' L2 BL' L2' F\\nAlg L2 DL L' DL' L'\\nAlg L2' U BL2' U' L2\\nAlg L2' BL L2' BL2' L'\\nAlg L2' BL L' BL2' L2'\\nAlg L2' DL L' DL' L2\\nAlg L' U' L' U L2\\nAlg U L' DL L DL' U'\\nAlg F' L2 BL L2' BL2' F\\nAlg L2 DL' BL DL2 L2' DL'\\nAlg L2' U BL2' U' BL L2\\nAlg L2' BL' U BL' U' L2\\nAlg L2' BL' L2 U' L' U\\nAlg U' L U\\nAlg U' L2 U\\nAlg U' L2' U\\nAlg U' L' U\\nAlg U' L2' U BL\\nAlg U' L2' U BL2\\nAlg U' L2' U BL2'\\nAlg U' L2' U BL'\\nAlg U' L' U BL\\nAlg U' L' U BL2\\nAlg U' L' U BL2'\\nAlg U' L' U BL'\\nAlg U' L' U L BL L'\\nAlg U' L' U L2 BL L2'\\nAlg U' L' U BL U' L2 U\\nAlg L2 BL L2'\\nAlg L2 BL2 L2'\\nAlg L2 BL2' L2'\\nAlg L2 BL' L2'\\nAlg L2 BL L2' BL'\\nAlg L DL L' DL'\\nAlg DL L DL' L'\\nAlg L U' L2 U L2\\nAlg L DL' BL DL L'\\nAlg L DL' BL2 DL L'\\nAlg L DL' BL' DL L'\\nAlg DL L DL' L' BL'\\nAlg L2 BL L' DL L' DL'\\nAlg FL' L BL L' FL\\nAlg FL' L BL2 L' FL\\nAlg FL' L BL2' L' FL\\nAlg FL' L BL' L' FL\\nAlg FL' DL' BL DL FL\\nAlg FL' DL' BL2 DL FL\\nAlg FL' DL' BL2' DL FL\\nAlg FL' DL' BL' DL FL\\nAlg L2 BL2' U BL2 U' L2'\\nAlg FL' L BL L' FL BL2'\\nAlg FL' L BL' L' FL BL\\nAlg U' F U BL U' F' U\\nAlg U' F U BL2 U' F' U\\nAlg U' F U BL2' U' F' U\\nAlg F' FL2' DL' BL' DL FL2 F\\nAlg L2' BL2 L2' BL' L2 BL' L2\\nAlg DL L DL2' BL' DL2 L' DL'\\nAlg DL2 FL2' DL2 BL' DL2' FL2 DL2'\\nAlg FL' L U BL2' U' BL L' FL\\nAlg FL' L2 U' L' U BL2 L' FL\\nAlg L BL L'\\nAlg L BL2 L'\\nAlg L BL2' L'\\nAlg L BL' L'\\nAlg DL' BL DL\\nAlg DL' BL2 DL\\nAlg DL' BL2' DL\\nAlg DL' BL' DL\\nAlg L BL L' BL'\\nAlg L' DL L DL'\\nAlg L BL2 L' DL' BL' DL\\nAlg L U BL2' U' BL2 L'\\nAlg L BL2' U BL2 U' L'\\nAlg DL' B' BL2 B BL2' DL\\nAlg DL' BL2 B' BL2' B DL\\nAlg U BL2' DL2' BL2 U' BL2' DL2\\nAlg B' BL2 L2 BL2' B BL2 L2'\\nAlg L U BL2' U' BL2 L' BL2'\\nAlg L U BL2' U' BL2 L' BL'\\nAlg L BL B BL' L' BL B'\\nAlg L BL2' U BL2 U' L' BL2\\nAlg L BL' U BL2 U' BL L'\\nAlg L BL' U BL2' U' BL L'\\nAlg L BL' U BL' U' BL L'\\nAlg L2 BL2 L2' BL' L2 BL' L2'\\nAlg DL' BL B' BL2' B BL' DL\\nAlg L BL2' L U2 BR' U' BR U' L2'\\nAlg L BL2' L BL L' BL L BL2' L2'\\nAlg BL\\nAlg BL2\\nAlg BL2'\\nAlg BL'\\nAlg U BR BL2 BR' BL2' U'\\nAlg B BL DL BL' DL' B'\\nAlg L' BL2' DL' BL2 DL L\\nAlg BR B BL B' BL' BR'\\nAlg U BR BL2 BR' BL2' U' BL2\\nAlg U BL BR BL' BR' U'\\nAlg U BR BL BR' BL' U'\\nAlg U' L' BL2' L BL2 U\\nAlg B' BR' BL2' BR BL2 B\\nAlg L BL2 U BL2' U' L'\\nAlg BR B BL2 B' BL2' BR'\\nAlg U BL2 U' BL' U BL' U'\\nAlg B BL DL BL DL' BL2' B'\\nAlg B BL2 DL BL' DL' BL' B'\\nAlg B' BL' B BL2' B' BL2' B\\nAlg U BL U' BL2 U BL2 U' BL2\\nAlg U BR2 B' BR2' U' BR B BR'\\nAlg BL2 BR B DL' B DL B2' BR'\\nAlg B BL2' B2' BR B BR' B BL2 B'\\nAlg U' BL' L' BL L U BL\\nAlg B' BL2 B BL B' BL2 B\\nAlg B' BL2' B BL' B' BL2' B\\nAlg B' BL' BR' BL' BR BL2 B\\nAlg B' BL2' BR' BL BR BL B\\nAlg U' BL' L' BL' L BL2 U BL'\\nAlg L' BL' L' DL L DL' BL L BL\\nAlg L U BL U' BL' L'\\nAlg L BL U BL' U' L'\\nAlg BR' U' BL' U BL BR\\nAlg L U2 BR' U' BR U' L'\\nAlg U BL U2' L U L2' BL L BL2'\\nAlg U' L2 F' L' F2 U' F' U2 L'\\nAlg U BR' U' L U BR U' L'\\nAlg U BR B BR' U' BR B' BR'\\nAlg U' L U BR' U' L' U BR\\nAlg B DL' B' BR B DL B' BR'\\nAlg L' DL' B DL L DL' B' DL\\nAlg BR B BR' U BR B' BR' U'\\nAlg BR B DL' B' BR' B DL B'\\nAlg U BR2' U2 L2 U2' BR2 U2 L2' U2\\nAlg U2' L2 U2' BR2' U2 L2' U2' BR2 U'\\nAlg U BL' B' BL U' L U2 BL' B BL U2' L'\\nAlg U BR' U' L F' L2' U BR U' L2 F L'\\nAlg U BR U' L U BR' U' L'\\nAlg U' BL2 B BL2' U BL2 B' BL2'\\nAlg L U BR U' L' U BR' U'\\nAlg L BL2' B' BL2 L' BL2' B BL2\\nAlg U BR' U2 L2 U2' BR U2 L2' U2\\nAlg L' BL2 L2' F' L2 BL2' L2' F L2'\\nAlg U BL2' U R U' BL2 U' L U2 R' U2' L'\\nAlg U BR U' L2 F L' U BR' U' L F' L2'\\nAlg U L' BL2 L' FL' L BL2' L U' L2' FL L2\\nAlg U BR2' U R' U2' L U2 R U' BR2 U' L'`)}var ZL,XL,c0=w(()=>{Je();Eo();_o();ZL=null;XL=null});var sm={};Be(sm,{sgsDataPyraminx:()=>am,sgsDataPyraminxFixedOrientation:()=>m0});async function am(){return t3??(t3=r3())}async function m0(){return{ordering:(await am()).ordering.slice(2)}}async function r3(){return cr(await Ke.pyraminx.kpuzzle(),`SubgroupSizes 12 9 12 3 10 3 8 6 2 3 3 3 3\\n\\nAlg B\\nAlg B'\\nAlg y\\nAlg B y\\nAlg B' y\\nAlg y'\\nAlg B y'\\nAlg B' y'\\nAlg BR'\\nAlg B BR'\\nAlg B' BR'\\n\\nAlg L\\nAlg L'\\nAlg L F\\nAlg L' F\\nAlg F\\nAlg L F'\\nAlg L' F'\\nAlg F'\\n\\nAlg L B' U L' B\\nAlg L U L'\\nAlg L U' L'\\nAlg L U L' U'\\nAlg B' U B\\nAlg B' U' B\\nAlg B' U' B U\\nAlg L U' L' R\\nAlg L U' L' R'\\nAlg L' R' L\\nAlg L' R' L R\\n\\nAlg R\\nAlg R'\\n\\nAlg R' U R\\nAlg R' U' R\\nAlg R' U R U'\\nAlg B U B'\\nAlg B U' B'\\nAlg R B' R' B\\nAlg L R L' R U' R\\nAlg R L R' L'\\nAlg L' R' U R L\\n\\nAlg U\\nAlg U'\\n\\nAlg R U R' U'\\nAlg U R U' R'\\nAlg L' U' L U\\nAlg U' L' U L\\nAlg U L R' L' R U'\\nAlg U' R' L R L' U\\nAlg L' U' L U' R U' R'\\n\\nAlg R U' R' U\\nAlg L' U L U'\\nAlg U' R U R'\\nAlg U L' U' L\\nAlg L R' L' R L' U L U'\\n\\nAlg L' U L U' L R' L' R\\n\\nAlg b\\nAlg b'\\n\\nAlg l\\nAlg l'\\n\\nAlg r\\nAlg r'\\n\\nAlg u\\nAlg u'`)}var t3,p0=w(()=>{ur();_o();t3=null});var mm={};Be(mm,{sgsDataSkewb:()=>cm,sgsDataSkewbFixedCorner:()=>d0,skewbKPuzzleWithoutMOCached:()=>Xi});async function i3(){let e=vn(\\\"skewb\\\",{allMoves:!0,addRotations:!0});return new Ne(e.getKPuzzleDefinition(!0),{experimentalPGNotation:new Ir(e,e.getOrbitsDef(!0))})}async function Xi(){return a3??(a3=i3())}async function cm(){return s3??(s3=f3())}async function d0(){return{ordering:(await cm()).ordering.slice(1)}}async function f3(){return cr(await Xi(),`SubgroupSizes 24 6 5 12 9 3 4 9 3 3\\n\\nAlg y\\nAlg y2\\nAlg y'\\nAlg F\\nAlg F'\\nAlg y U\\nAlg y U'\\nAlg y L\\nAlg y L'\\nAlg y F\\nAlg y F'\\nAlg y2 U\\nAlg y2 U'\\nAlg y2 B\\nAlg y2 B'\\nAlg y' U\\nAlg y' F'\\nAlg y U L'\\nAlg y U B\\nAlg y2 U B\\nAlg y2 U B'\\nAlg y2 U' B\\nAlg y2 U' B'\\n\\nAlg U\\nAlg U'\\nAlg U L\\nAlg U L'\\nAlg U' R'\\n\\nAlg R\\nAlg R'\\nAlg R B\\nAlg R' L'\\n\\nAlg U B' U\\nAlg U' L U\\nAlg U' L' U\\nAlg U' B U'\\nAlg R L R'\\nAlg R B' R\\nAlg U B L U'\\nAlg U B' U B'\\nAlg U B' L' U\\nAlg U' L B U'\\nAlg R' B L' R'\\n\\nAlg L\\nAlg L'\\nAlg L B\\nAlg L B'\\nAlg L B L\\nAlg L B L'\\nAlg L B' L\\nAlg L B' L'\\n\\nAlg B\\nAlg B'\\n\\nAlg L' B L\\nAlg L' B' L\\nAlg R' L' B L R\\n\\nAlg B L' B L B'\\nAlg B L' B' L B'\\nAlg U L U B U' L' U'\\nAlg R L R' B' R L' R'\\nAlg U B' R L R' B' U B\\nAlg U' B U L U' B' U L'\\nAlg L U' B U L' U' B' U\\nAlg R B' U R B L U' B\\n\\nAlg U L U' B' U L' U' B\\nAlg U' B L U L B' U' L'\\n\\nAlg U R' U' L B R' B' R\\nAlg R' U' R U B' U' B L`)}var a3,s3,h0=w(()=>{Je();Eo();_o();a3=null;s3=null});var Bm={};Be(Bm,{getRandomSquare1ScrambleString:()=>M3});function g3(e,t){e.ul=t.ul,e.ur=t.ur,e.dl=t.dl,e.dr=t.dr,e.ml=t.ml}function dm(e,t){var r;t<<=2,t>24?(t=48-t,r=e.ul,e.ul=(~~e.ul>>t|e.ur<<24-t)&16777215,e.ur=(~~e.ur>>t|r<<24-t)&16777215):t>0?(r=e.ul,e.ul=(e.ul<<t|~~e.ur>>24-t)&16777215,e.ur=(e.ur<<t|~~r>>24-t)&16777215):t==0?(r=e.ur,e.ur=e.dl,e.dl=r,e.ml=1-e.ml):t>=-24?(t=-t,r=e.dl,e.dl=(e.dl<<t|~~e.dr>>24-t)&16777215,e.dr=(e.dr<<t|~~r>>24-t)&16777215):t<-24&&(t=48+t,r=e.dl,e.dl=(~~e.dl>>t|e.dr<<24-t)&16777215,e.dr=(~~e.dr>>t|r<<24-t)&16777215)}function d3(e){var t,r,n,o,l;for(n=0,e.arr[0]=Nt(e,0),o=1;o<24;++o)Nt(e,o)!=e.arr[n]&&(e.arr[++n]=Nt(e,o));for(l=0,t=0;t<16;++t)for(r=t+1;r<16;++r)e.arr[t]>e.arr[r]&&(l^=1);return l}function h3(e){var t,r,n,o;return o=e.ur&1118481,o|=~~o>>3,o|=~~o>>6,o=o&15|~~o>>12&48,n=e.ul&1118481,n|=~~n>>3,n|=~~n>>6,n=n&15|~~n>>12&48,r=e.dr&1118481,r|=~~r>>3,r|=~~r>>6,r=r&15|~~r>>12&48,t=e.dl&1118481,t|=~~t>>3,t|=~~t>>6,t=t&15|~~t>>12&48,il(d3(e)<<24|n<<18|o<<12|t<<6|r)}function L3(e,t){var r,n;for(r=0;r<8;++r)e.prm[r]=~~(~~Nt(e,r*3+1)>>1<<24)>>24;for(t.cornperm=ul(e.prm),t.topEdgeFirst=Nt(e,0)==Nt(e,1),r=t.topEdgeFirst?2:0,n=0;n<4;r+=3,++n)e.prm[n]=~~(~~Nt(e,r)>>1<<24)>>24;for(t.botEdgeFirst=Nt(e,12)==Nt(e,13),r=t.botEdgeFirst?14:12;n<8;r+=3,++n)e.prm[n]=~~(~~Nt(e,r)>>1<<24)>>24;t.edgeperm=ul(e.prm),t.ml=e.ml}function Nt(e,t){var r;return t<6?r=~~e.ul>>(5-t<<2):t<12?r=~~e.ur>>(11-t<<2):t<18?r=~~e.dl>>(17-t<<2):r=~~e.dr>>(23-t<<2),~~((r&15)<<24)>>24}function A0(e,t,r){t<6?(e.ul&=~(15<<(5-t<<2)),e.ul|=r<<(5-t<<2)):t<12?(e.ur&=~(15<<(11-t<<2)),e.ur|=r<<(11-t<<2)):t<18?(e.dl&=~(15<<(17-t<<2)),e.dl|=r<<(17-t<<2)):(e.dr&=~(15<<(23-t<<2)),e.dr|=r<<(23-t<<2))}function D0(){this.arr=[],this.prm=[]}async function A3(){let e=await Qe();var t,r,n,o,l,i,a,f,s;for(t=new D0,n=so[e(3678)],l=19088743<<1|286331153,o=19088743<<1,a=i=8,r=0;r<24;r++)(n>>r&1)==0?(f=e(i)<<2,A0(t,23-r,o>>f&15),s=(1<<f)-1,o=(o&s)+(o>>4&~s),--i):(f=e(a)<<2,A0(t,23-r,l>>f&15),A0(t,22-r,l>>f&15),s=(1<<f)-1,l=(l&s)+(l>>4&~s),--a,++r);return t.ml=e(2),t}function D3(){}function y3(e){var t,r,n,o,l,i;for(g3(e.Search_d,e.Search_c),n=0;n<e.Search_length1;++n)dm(e.Search_d,e.Search_move[n]);for(L3(e.Search_d,e.Search_sq),r=e.Search_sq.edgeperm,t=e.Search_sq.cornperm,l=e.Search_sq.ml,i=Math.max(Re[e.Search_sq.edgeperm<<1|l],Re[e.Search_sq.cornperm<<1|l]),n=i;n<e.Search_maxlen2;++n)if($i(e,r,t,e.Search_sq.topEdgeFirst,e.Search_sq.botEdgeFirst,l,n,e.Search_length1,0)){for(o=0;o<n;++o)dm(e.Search_d,e.Search_move[e.Search_length1+o]);return e.Search_sol_string=R3(e,n+e.Search_length1),!0}return!1}function R3(e,t){for(var r=\\\"\\\",n=0,o=0,l=t-1;l>=0;l--){var i=e.Search_move[l];i>0?(i=12-i,n=i>6?i-12:i):i<0?(i=12+i,o=i>6?i-12:i):(n==0&&o==0?r+=\\\" / \\\":r+=\\\"(\\\"+n+\\\", \\\"+o+\\\") / \\\",n=o=0)}return(n!==0||o!==0)&&(r+=\\\"(\\\"+n+\\\", \\\"+o+\\\")\\\"),r}function Ji(e,t,r,n,o,l){var i,a,f;if(r==0&&n<4)return n==0&&y3(e);if(l!=0&&(f=ea[t],a=ze[f],a<n&&(e.Search_move[o]=0,Ji(e,f,a,n-1,o+1,0))))return!0;if(f=t,l<=0){for(i=0;i+=sl[f],f=~~i>>4,i&=15,!(i>=12||(a=ze[f],a>n));)if(a<n&&(e.Search_move[o]=i,Ji(e,f,a,n-1,o+1,1)))return!0}if(f=t,l<=1){for(i=0;i+=al[f],f=~~i>>4,i&=15,!(i>=6||(a=ze[f],a>n));)if(a<n&&(e.Search_move[o]=-i,Ji(e,f,a,n-1,o+1,2)))return!0}return!1}function $i(e,t,r,n,o,l,i,a,f){var s,c,m,u,p,g,d;if(i==0&&!n&&o||f!=0&&n==o&&(m=cl[t],c=cl[r],Re[m<<1|1-l]<i&&Re[c<<1|1-l]<i&&(e.Search_move[a]=0,$i(e,m,c,n,o,1-l,i-1,a+1,0))))return!0;if(f<=0)for(d=!n,m=d?fn[t]:t,c=d?r:fn[r],u=d?1:2,p=Re[m<<1|l],g=Re[c<<1|l];u<12&&p<=i&&p<=i;){if(p<i&&g<i&&(e.Search_move[a]=u,$i(e,m,c,d,o,l,i-1,a+1,1)))return!0;d=!d,d?(m=fn[m],p=Re[m<<1|l],u+=1):(c=fn[c],g=Re[c<<1|l],u+=2)}if(f<=1)for(s=!o,m=s?an[t]:t,c=s?r:an[r],u=s?1:2,p=Re[m<<1|l],g=Re[c<<1|l];u<(i>3?6:12)&&p<=i&&p<=i;){if(p<i&&g<i&&(e.Search_move[a]=-u,$i(e,m,c,n,s,l,i-1,a+1,2)))return!0;s=!s,s?(m=an[m],p=Re[m<<1|l],u+=1):(c=an[c],g=Re[c<<1|l],u+=2)}return!1}function F3(e,t){var r;for(e.Search_c=t,r=h3(t),e.Search_length1=ze[r];e.Search_length1<100&&(e.Search_maxlen2=Math.min(31-e.Search_length1,17),!Ji(e,r,ze[r],e.Search_length1,0,-1));++e.Search_length1);return e.Search_sol_string}function hm(){this.Search_move=[],this.Search_d=new D0,this.Search_sq=new ym}function B3(){}function b3(){Lm||(Lm=!0,fl=[0,3,6,12,15,24,27,30,48,51,54,60,63],so=[],ze=[],sl=[],al=[],ea=[],S3())}function w3(e){var t,r;t=0,r=0;do(e.bottom&2048)==0?(t+=1,e.bottom=e.bottom<<1):(t+=2,e.bottom=e.bottom<<2^12291),r=1-r;while((un(e.bottom&63)&1)!=0);return(un(e.bottom)&2)==0&&(e.Shape_parity^=r),t}function y0(e){var t;return t=Fm(so,e.top<<12|e.bottom)<<1|e.Shape_parity,t}function R0(e,t){e.Shape_parity=t&1,e.top=so[~~t>>1],e.bottom=e.top&4095,e.top>>=12}function x3(e){var t,r;t=0,r=0;do(e.top&2048)==0?(t+=1,e.top=e.top<<1):(t+=2,e.top=e.top<<2^12291),r=1-r;while((un(e.top&63)&1)!=0);return(un(e.top)&2)==0&&(e.Shape_parity^=r),t}function Am(){}function il(e){var t;return t=Fm(so,e&16777215)<<1|~~e>>24,t}function S3(){var e,t,r,n,o,l,i,a,f,s,c,m,u,p,g,d;for(e=0,i=0;i<28561;++i)l=fl[i%13],r=fl[~~(i/13)%13],m=fl[~~(~~(i/13)/13)%13],c=fl[~~(~~(~~(i/13)/13)/13)],u=c<<18|m<<12|r<<6|l,un(u)==16&&(so[e++]=u);for(s=new Am,i=0;i<7356;++i)R0(s,i),sl[i]=x3(s),sl[i]|=y0(s)<<4,R0(s,i),al[i]=w3(s),al[i]|=y0(s)<<4,R0(s,i),d=s.top&63,p=un(d),g=un(s.bottom&4032),s.Shape_parity^=1&~~(p&g)>>1,s.top=s.top&4032|~~s.bottom>>6&63,s.bottom=s.bottom&63|d<<6,ea[i]=y0(s);for(i=0;i<7536;++i)ze[i]=-1;for(ze[il(14378715)]=0,ze[il(31157686)]=0,ze[il(23967451)]=0,ze[il(7191990)]=0,n=4,o=0,t=-1;n!=o;)for(o=n,++t,i=0;i<7536;++i)if(ze[i]==t){f=0,a=i;do a=sl[a],f+=a&15,a>>=4,ze[a]==-1&&(++n,ze[a]=t+1);while(f!=12);f=0,a=i;do a=al[a],f+=a&15,a>>=4,ze[a]==-1&&(++n,ze[a]=t+1);while(f!=12);a=ea[i],ze[a]==-1&&(++n,ze[a]=t+1)}}function v3(){}function U3(){if(!Dm){Dm=!0,Re=[],cl=[],fn=[],an=[],Rm=[1,1,2,6,24,120,720,5040],sn=[];for(var e=0;e<12;++e)sn[e]=[];E3()}}function ym(){}function ul(e){var t,r,n,o;for(r=0,o=1985229328,t=0;t<7;++t)n=e[t]<<2,r=(8-t)*r+(~~o>>n&7),o-=286331152<<n;return r&65535}function E3(){var e,t,r,n,o,l,i,a,f,s,c,m,u;for(o=0;o<12;++o)for(sn[o][0]=1,sn[o][o]=1,f=1;f<o;++f)sn[o][f]=sn[o-1][f-1]+sn[o-1][f];for(m=[],o=0;o<40320;++o)F0(m,o),u=m[2],m[2]=m[4],m[4]=u,u=m[3],m[3]=m[5],m[5]=u,cl[o]=ul(m),F0(m,o),u=m[0],m[0]=m[1],m[1]=m[2],m[2]=m[3],m[3]=u,fn[o]=ul(m),F0(m,o),u=m[4],m[4]=m[5],m[5]=m[6],m[6]=m[7],m[7]=u,an[o]=ul(m);for(o=0;o<80640;++o)Re[o]=-1;for(Re[0]=0,t=0,r=1;r<80640;){a=t>=11,n=a?-1:t,e=a?t:-1,++t;e:for(o=0;o<80640;++o)if(Re[o]==n){if(l=~~o>>1,c=o&1,i=cl[l]<<1|1-c,Re[i]==e&&(++r,Re[a?o:i]=~~(t<<24)>>24,a))continue e;for(i=l,s=0;s<4;++s)if(i=fn[i],Re[i<<1|c]==e&&(++r,Re[a?o:i<<1|c]=~~(t<<24)>>24,a))continue e;for(s=0;s<4;++s)if(i=an[i],Re[i<<1|c]==e&&(++r,Re[a?o:i<<1|c]=~~(t<<24)>>24,a))continue e}}}function F0(e,t){var r,n,o,l,i;for(i=1985229328,r=0;r<7;++r)o=Rm[7-r],l=~~(t/o),t-=l*o,l<<=2,e[r]=~~((~~i>>l&7)<<24)>>24,n=(1<<l)-1,i=(i&n)+(~~i>>4&~n);e[7]=~~(i<<24)>>24}function k3(){}function un(e){return e-=~~e>>1&1431655765,e=(~~e>>2&858993459)+(e&858993459),e=(~~e>>4)+e&252645135,e+=~~e>>8,e+=~~e>>16,e&63}function Fm(e,t){var r,n,o,l;for(n=0,r=e.length-1;n<=r;)if(o=n+(~~(r-n)>>1),l=e[o],l<t)n=o+1;else if(l>t)r=o-1;else return o;return-n-1}async function M3(){return(await P3()).scramble_string}var Se,Lm,al,so,ze,sl,ea,fl,Dm,an,sn,Re,fn,cl,Rm,B0,z3,_3,C3,P3,bm=w(()=>{Mt();Se=D0.prototype=D3.prototype;Se.dl=10062778;Se.dr=14536702;Se.ml=0;Se.ul=70195;Se.ur=4544119;Se=hm.prototype=B3.prototype;Se.Search_c=null;Se.Search_length1=0;Se.Search_maxlen2=0;Se.Search_sol_string=null;Lm=!1;Se=Am.prototype=v3.prototype;Se.bottom=0;Se.Shape_parity=0;Se.top=0;Dm=!1;Se=ym.prototype=k3.prototype;Se.botEdgeFirst=!1;Se.cornperm=0;Se.edgeperm=0;Se.ml=0;Se.topEdgeFirst=!1;B0=!1,z3=function(e,t,r){B0||(b3(),U3()),r&&r(\\\"Done initializing Square-1.\\\"),B0=!0,e!=null&&e()},_3=async function(){return B0||z3(),A3()},C3=function(e){var t=new hm;return F3(t,e)},P3=async function(){var e=await _3(),t=C3(e);return{state:e,scramble_string:t}}});var S0=Symbol(\\\"Comlink.proxy\\\"),zm=Symbol(\\\"Comlink.endpoint\\\"),_m=Symbol(\\\"Comlink.releaseProxy\\\"),na=Symbol(\\\"Comlink.thrown\\\"),v0=e=>typeof e==\\\"object\\\"&&e!==null||typeof e==\\\"function\\\",Cm={canHandle:e=>v0(e)&&e[S0],serialize(e){let{port1:t,port2:r}=new MessageChannel;return fo(e,t),[r,[r]]},deserialize(e){return e.start(),Gm(e)}},Pm={canHandle:e=>v0(e)&&na in e,serialize({value:e}){let t;return e instanceof Error?t={isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:t={isError:!1,value:e},[t,[]]},deserialize(e){throw e.isError?Object.assign(new Error(e.value.message),e.value):e.value}},U0=new Map([[\\\"proxy\\\",Cm],[\\\"throw\\\",Pm]]);function fo(e,t=self){t.addEventListener(\\\"message\\\",function r(n){if(!n||!n.data)return;let{id:o,type:l,path:i}=Object.assign({path:[]},n.data),a=(n.data.argumentList||[]).map(Er),f;try{let s=i.slice(0,-1).reduce((m,u)=>m[u],e),c=i.reduce((m,u)=>m[u],e);switch(l){case\\\"GET\\\":f=c;break;case\\\"SET\\\":s[i.slice(-1)[0]]=Er(n.data.value),f=!0;break;case\\\"APPLY\\\":f=c.apply(s,a);break;case\\\"CONSTRUCT\\\":{let m=new c(...a);f=Nm(m)}break;case\\\"ENDPOINT\\\":{let{port1:m,port2:u}=new MessageChannel;fo(e,u),f=Im(m,[m])}break;case\\\"RELEASE\\\":f=void 0;break;default:return}}catch(s){f={value:s,[na]:0}}Promise.resolve(f).catch(s=>({value:s,[na]:0})).then(s=>{let[c,m]=la(s);t.postMessage(Object.assign(Object.assign({},c),{id:o}),m),l===\\\"RELEASE\\\"&&(t.removeEventListener(\\\"message\\\",r),E0(t))})}),t.start&&t.start()}function Mm(e){return e.constructor.name===\\\"MessagePort\\\"}function E0(e){Mm(e)&&e.close()}function Gm(e,t){return oa(e,[],t)}function ml(e){if(e)throw new Error(\\\"Proxy has been released and is not useable\\\")}function oa(e,t=[],r=function(){}){let n=!1,o=new Proxy(r,{get(l,i){if(ml(n),i===_m)return()=>cn(e,{type:\\\"RELEASE\\\",path:t.map(a=>a.toString())}).then(()=>{E0(e),n=!0});if(i===\\\"then\\\"){if(t.length===0)return{then:()=>o};let a=cn(e,{type:\\\"GET\\\",path:t.map(f=>f.toString())}).then(Er);return a.then.bind(a)}return oa(e,[...t,i])},set(l,i,a){ml(n);let[f,s]=la(a);return cn(e,{type:\\\"SET\\\",path:[...t,i].map(c=>c.toString()),value:f},s).then(Er)},apply(l,i,a){ml(n);let f=t[t.length-1];if(f===zm)return cn(e,{type:\\\"ENDPOINT\\\"}).then(Er);if(f===\\\"bind\\\")return oa(e,t.slice(0,-1));let[s,c]=k0(a);return cn(e,{type:\\\"APPLY\\\",path:t.map(m=>m.toString()),argumentList:s},c).then(Er)},construct(l,i){ml(n);let[a,f]=k0(i);return cn(e,{type:\\\"CONSTRUCT\\\",path:t.map(s=>s.toString()),argumentList:a},f).then(Er)}});return o}function Tm(e){return Array.prototype.concat.apply([],e)}function k0(e){let t=e.map(la);return[t.map(r=>r[0]),Tm(t.map(r=>r[1]))]}var z0=new WeakMap;function Im(e,t){return z0.set(e,t),e}function Nm(e){return Object.assign(e,{[S0]:!0})}function la(e){for(let[t,r]of U0)if(r.canHandle(e)){let[n,o]=r.serialize(e);return[{type:\\\"HANDLER\\\",name:t,value:n},o]}return[{type:\\\"RAW\\\",value:e},z0.get(e)||[]]}function Er(e){switch(e.type){case\\\"HANDLER\\\":return U0.get(e.name).deserialize(e.value);case\\\"RAW\\\":return e.value}}function cn(e,t,r){return new Promise(n=>{let o=Om();e.addEventListener(\\\"message\\\",function l(i){!i.data||!i.data.id||i.data.id!==o||(e.removeEventListener(\\\"message\\\",l),n(i.data))}),e.start&&e.start(),e.postMessage(Object.assign({id:o},t),r)})}function Om(){return new Array(4).fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join(\\\"-\\\")}var Vm=typeof globalThis.Worker==\\\"undefined\\\"&&typeof globalThis.WorkerNavigator==\\\"undefined\\\";function G0(e){Vm?(async()=>{let{port:t}=await Promise.resolve().then(()=>(M0(),P0));fo(e,await t())})():fo(e)}Je();ur();qt();Je();ur();Mt();qt();Le();Le();var ja=class extends An{constructor(t){super();this.metric=t}traverseAlg(t){let r=0;for(let n of t.units())r+=this.traverseUnit(n);return r}traverseGrouping(t){let r=t.alg;return this.traverseAlg(r)*Math.abs(t.amount)}traverseMove(t){return this.metric(t)}traverseCommutator(t){return 2*(this.traverseAlg(t.A)+this.traverseAlg(t.B))}traverseConjugate(t){return 2*this.traverseAlg(t.A)+this.traverseAlg(t.B)}traversePause(t){return 0}traverseNewline(t){return 0}traverseLineComment(t){return 0}};function Kf(e){return\\\"A\\\"<=e&&e<=\\\"Z\\\"}function Yp(e){let t=e.family;return Kf(t[0])&&t[t.length-1]===\\\"v\\\"||t===\\\"x\\\"||t===\\\"y\\\"||t===\\\"z\\\"||t===\\\"T\\\"?0:1}function Zp(e){let t=e.family;return Kf(t[0])&&t[t.length-1]===\\\"v\\\"||t===\\\"x\\\"||t===\\\"y\\\"||t===\\\"z\\\"||t===\\\"T\\\"?0:Math.abs(e.amount)}var Qf=new ja(Yp),qa=Qf.traverseAlg.bind(Qf),jf=new ja(Zp),Xp=jf.traverseAlg.bind(jf);Le();var qf=class extends An{traverseAlg(t){let r=0;for(let n of t.units())r+=this.traverseUnit(n);return r}traverseGrouping(t){return this.traverseAlg(t.alg)*Math.abs(t.amount)}traverseMove(t){return 1}traverseCommutator(t){return 2*(this.traverseAlg(t.A)+this.traverseAlg(t.B))}traverseConjugate(t){return 2*this.traverseAlg(t.A)+this.traverseAlg(t.B)}traversePause(t){return 1}traverseNewline(t){return 0}traverseLineComment(t){return 0}},Vf=new qf,Jp=Vf.traverseAlg.bind(Vf);Mt();var $p=2,eg=!0,tg=!1;function rg(e,t){let r=[];return t.forEach(function(n){let o=new h(n);if(o.amount!==1)throw new Error(\\\"SGS cannot handle def moves with an amount other than 1 yet.\\\");let l=e.identityTransformation();for(let i=1;l=l.applyMove(o),!l.isIdentityTransformation();i++)r.push({move:o.modified({amount:i}),transformation:l})}),r}var Gt=class{constructor(t,r,n){this.kpuzzle=t;this.sgs=r;this.searchMoves=rg(this.kpuzzle,n??Object.keys(this.kpuzzle.definition.moves))}async solve(t,r=$p,n){let o=t.experimentalToTransformation();if(!o)throw new Error(\\\"distinguishable pieces are not supported in tremble solver yt\\\");let l=null,i=1e6,a=(f,s,c)=>{if(s===0){let m=this.sgsPhaseSolve(f,i);if(!m)return;let u=c.concat(m).simplify({collapseMoves:!0,quantumMoveOrder:n}),p=qa(u);(l===null||p<i)&&(tg&&(console.log(`New best (${p} moves): ${u.toString()}`),console.log(`Tremble moves are: ${c.toString()}`)),l=u,i=p);return}for(let m of this.searchMoves)a(f.applyTransformation(m.transformation),s-1,c.concat([m.move]))};for(let f=0;f<=r;f++)a(o,f,new z);if(l===null)throw new Error(\\\"SGS search failed.\\\");return l}sgsPhaseSolve(t,r){let n=new pt,o=t;for(let l of this.sgs.ordering){let i=l.pieceOrdering,a=\\\"\\\",f=o.invert();for(let c=0;c<i.length;c++){let m=i[c],u=m.orbitName,p=m.permutationIdx;a+=` ${f.transformationData[u].permutation[p]} ${f.transformationData[u].orientation[p]}`}let s=l.lookup[a];if(!s)throw new Error(\\\"Missing algorithm in sgs or esgs?\\\");if(n.experimentalPushAlg(s.alg),n.experimentalNumUnits()>=r)return null;if(o=o.applyTransformation(s.transformation),eg)for(let c=0;c<i.length;c++){let m=i[c],u=m.orbitName,p=m.permutationIdx;if(o.transformationData[u].permutation[p]!==p||o.transformationData[u].orientation[p]!==0)throw new Error(\\\"bad SGS :-(\\\")}}return n.toAlg()}};async function Vl(e,t){let r=await Vt(),n=e.identityTransformation();for(let o of t.ordering){let l=r(Object.values(o.lookup));n=n.applyTransformation(l.transformation)}return n.toKState()}var lg=3,Xf=null;async function Jf(){return Xf||(Xf=(async()=>{let e=await(await Promise.resolve().then(()=>(Zf(),Yf))).cachedData222();return new Gt(await Ke[\\\"2x2x2\\\"].kpuzzle(),e,\\\"URFLBD\\\".split(\\\"\\\"))})())}async function $f(){await Jf()}async function Va(e){return ct(),await(await Jf()).solve(e,lg,()=>4)}async function ig(e,t,r,n){let o=await Qe();await Wf(r.stateData[t].pieces);let l=e.definition.orbits[t],i=r.stateData[t].orientation,a=0;for(let f=0;f<l.numPieces;f++){let s=o(l.numOrientations);i[f]=s,a+=s}n&&\\\"orientationSum\\\"in n&&(i[0]=((i[0]+n.orientationSum-a)%l.numOrientations+l.numOrientations)%l.numOrientations)}async function ag(){let e=await Ke[\\\"2x2x2\\\"].kpuzzle(),t=new ge(e,JSON.parse(JSON.stringify(e.startState().stateData)));return await ig(e,\\\"CORNERS\\\",t,{orientationSum:0}),t}async function eu(){return await Va(await ag())}As();Hl();var Fh=[[null,\\\"x\\\",\\\"x2\\\",\\\"x'\\\",\\\"z\\\",\\\"z'\\\"],[null,\\\"y\\\",\\\"y2\\\",\\\"y'\\\"]],Bh=null;function oc(){return Bh??(Bh=Promise.resolve().then(()=>(nc(),rc)))}async function lc(){return(await oc()).initialize()}async function Qs(){return(await oc()).random444Scramble()}async function ic(){return Un(await Qs(),Fh)}Hl();Le();Mt();function bh(e){switch(e){case 5:return 60;case 6:return 80;default:return 100}}var wh=[[\\\"U\\\",\\\"D\\\"],[\\\"L\\\",\\\"R\\\"],[\\\"F\\\",\\\"B\\\"]],ac=new Map;function xh(e){let t=ac.get(e);if(t)return t;let r=[];for(let n of wh){let o=[];r.push(o);for(let l of n){o.push(new P(l)),e>3&&o.push(new P(`${l}w`));for(let i=3;i<=e/2;i++)o.push(new P(`${l}w`,i))}}return ac.set(e,r),r}async function er(e){let t=await Qe(),r=await Vt(),n=r,o=xh(e),l=bh(e),i=new pt,a=0,f=new Set;for(;i.experimentalNumUnits()<l;){let s=t(3);s!==a&&f.clear(),a=s;let c=r(o[a]),m=c.toString();f.has(m)||(f.add(m),i.push(new h(c,n([1,2,-1]))))}return i.toAlg()}var Sh=[[null,\\\"3Rw\\\",\\\"3Rw2\\\",\\\"3Rw'\\\",\\\"3Fw\\\",\\\"3Fw'\\\"],[null,\\\"3Dw\\\",\\\"3Dw2\\\",\\\"3Dw'\\\"]];async function sc(){return Un(await er(5),Sh)}Le();ur();qt();async function Oc(){let{randomFTOScrambleString:e}=await Promise.resolve().then(()=>(Nc(),Ic));return new z(await e())}Le();async function rm(){let{randomMasterTetraminxScrambleString:e}=await Promise.resolve().then(()=>(tm(),em));return new z(await e())}Je();qt();c0();var $L=2,lm=null;async function e3(){return lm||(lm=(async()=>{let t=await(await Promise.resolve().then(()=>(c0(),om))).cachedSGSDataMegaminx();return new Gt(await ll(),t,[\\\"U\\\",\\\"R\\\",\\\"F\\\",\\\"L\\\",\\\"BR\\\",\\\"BL\\\",\\\"FR\\\",\\\"FL\\\",\\\"DR\\\",\\\"DL\\\",\\\"B\\\",\\\"D\\\"])})())}async function im(e){ct();let t=await e3(),r=JSON.parse(JSON.stringify(e.stateData));r.CENTERS.orientation=new Array(12).fill(0);let n=new ge(await ll(),r);return await t.solve(n,$L,()=>5)}ur();qt();p0();var n3=3,fm=null;async function o3(){return fm||(fm=(async()=>{let t=await(await Promise.resolve().then(()=>(p0(),sm))).sgsDataPyraminx();return new Gt(await Ke.pyraminx.kpuzzle(),t,\\\"RLUB\\\".split(\\\"\\\"))})())}async function g0(e){return ct(),await(await o3()).solve(e,n3,()=>3)}async function l3(){return Vl(await Ke.pyraminx.kpuzzle(),await m0())}async function um(){return g0(await l3())}Je();qt();h0();var u3=3,pm=null;async function c3(){return pm||(pm=(async()=>{let e=await Promise.resolve().then(()=>(h0(),mm)),t=await e.sgsDataSkewb();return new Gt(await e.skewbKPuzzleWithoutMOCached(),t,\\\"RLUB\\\".split(\\\"\\\"))})())}function m3(e){return new ge(e.kpuzzle,{CORNERS:e.stateData.CORNERS,CENTERS:{pieces:e.stateData.CENTERS.pieces,orientation:new Array(6).fill(0)}})}async function L0(e){return ct(),await(await c3()).solve(m3(e),u3,n=>n.family===\\\"y\\\"?4:3)}async function p3(){return Vl(await Xi(),await d0())}async function gm(){return L0(await p3())}Le();var G3=null;function T3(){return G3??(G3=Promise.resolve().then(()=>(bm(),Bm)))}async function wm(){return z.fromString(await(await T3()).getRandomSquare1ScrambleString())}Gf(!0);var xm=!0;function I3(e){xm=e}function Sm(){return(typeof performance==\\\"undefined\\\"?Date:performance).now()}async function _e(e,t){if(!xm)return t();let r=Sm(),n=t();n?.then&&await n;let o=Sm();return console.warn(`${e}: ${Math.round(o-r)}ms`),n}var b0={initialize:async e=>{switch(e){case\\\"222\\\":return _e(\\\"preInitialize222\\\",$f);case\\\"333\\\":case\\\"333oh\\\":case\\\"333ft\\\":return _e(\\\"initialize333\\\",Qu);case\\\"444\\\":return _e(\\\"initialize444\\\",lc);default:throw new Error(`unsupported event: ${e}`)}},randomScrambleForEvent:async e=>{switch(e){case\\\"222\\\":return _e(\\\"random222Scramble\\\",eu);case\\\"333\\\":case\\\"333oh\\\":case\\\"333ft\\\":return _e(\\\"random333Scramble\\\",On);case\\\"333fm\\\":return _e(\\\"random333FewestMovesScramble\\\",Vu);case\\\"333bf\\\":case\\\"333mb\\\":return _e(\\\"random333OrientedScramble\\\",ju);case\\\"444\\\":return _e(\\\"random444Scramble\\\",Qs);case\\\"444bf\\\":return _e(\\\"random444OrientedScramble\\\",ic);case\\\"555\\\":return _e(\\\"bigCubeScramble(5)\\\",er.bind(er,5));case\\\"555bf\\\":return _e(\\\"oriented555RandomMoves\\\",sc);case\\\"666\\\":return _e(\\\"bigCubeScramble(6)\\\",er.bind(er,6));case\\\"777\\\":return _e(\\\"bigCubeScramble(7)\\\",er.bind(er,7));case\\\"skewb\\\":return _e(\\\"randomSkewbFixedCornerScramble\\\",gm);case\\\"pyram\\\":return _e(\\\"randomPyraminxScrambleFixedOrientation\\\",um);case\\\"sq1\\\":return _e(\\\"getRandomSquare1Scramble\\\",wm);case\\\"fto\\\":return _e(\\\"randomFTOScramble\\\",Oc);case\\\"master_tetraminx\\\":return _e(\\\"randomMasterTetraminxScramble\\\",rm);default:throw new Error(`unsupported event: ${e}`)}},randomScrambleStringForEvent:async e=>(await b0.randomScrambleForEvent(e)).toString(),solve333ToString:async e=>{let t=new ge(await Ke[\\\"3x3x3\\\"].kpuzzle(),e);return(await Ls(t)).toString()},solve222ToString:async e=>{let t=new ge(await Ke[\\\"2x2x2\\\"].kpuzzle(),e);return(await Va(t)).toString()},solveSkewbToString:async e=>{let t=new ge(await Ke.skewb.kpuzzle(),e);return(await L0(t)).toString()},solvePyraminxToString:async e=>{let t=new ge(await Ke.pyraminx.kpuzzle(),e);return(await g0(t)).toString()},solveMegaminxToString:async e=>{let t=new ge(await Ke.megaminx.kpuzzle(),e);return(await im(t)).toString()},setDebugMeasurePerf:async e=>{I3(e)}};G0(b0);\\n\";"],
5
+ "mappings": ";;;AAAO,IAAM,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
6
+ "names": []
7
+ }