purs-backend-es
Version:
A modern ECMAScript optimizing backend for PureScript
6 lines • 313 kB
JavaScript
function Aa(t){let e=0,r;return()=>{if(e===2)return r;if(e===1)throw new Error("Binding demanded before initialized");return e=1,r=t(),e=2,r}}function*yf(t,e){for(let r=t;r<e;r++)yield r}function u(){throw new Error("Failed pattern match")}function ma(t,e){return e>0?Math.floor(t/e):e<0?-Math.floor(t/-e):0}var Wt=t=>e=>t;var Qu=t=>e=>e(t),Sf=t=>e=>t(e);var ci={compose:t=>e=>r=>t(e(r))};var cS=()=>({}),jt=cS();var M=function(t){return function(e){for(var r=e.length,a=new Array(r),n=0;n<r;n++)a[n]=t(e[n]);return a}};var bf={map:ci.compose},po={map:M};var Md=t=>t;var ju={apply:t=>e=>r=>t(r)(e(r)),Functor0:()=>bf};var ye=function(t){return function(e){for(var r=[],a=0,n=t.length;a<n;a++)Array.prototype.push.apply(r,e(t[a]));return r}};var Ef=t=>t;var Fa={pure:t=>e=>t,Apply0:()=>ju};var Ur=function(t){return function(e){return e[t]}},xa=function(t){return function(e){return function(r){var a={};for(var n in r)({}).hasOwnProperty.call(r,n)&&(a[n]=r[n]);return a[t]=e,a}}};var gt=function(t){return t.toString()},an=function(t){var e=t.toString();return isNaN(e+".0")?e:e+".0"},Td=function(t){var e=t.charCodeAt(0);if(e<32||e===127){switch(t){case"\x07":return"'\\a'";case"\b":return"'\\b'";case"\f":return"'\\f'";case`
`:return"'\\n'";case"\r":return"'\\r'";case" ":return"'\\t'";case"\v":return"'\\v'"}return"'\\"+e.toString(10)+"'"}return t==="'"||t==="\\"?"'\\"+t+"'":"'"+t+"'"},vr=function(t){var e=t.length;return'"'+t.replace(/[\0-\x1F\x7F"\\]/g,function(r,a){switch(r){case'"':case"\\":return"\\"+r;case"\x07":return"\\a";case"\b":return"\\b";case"\f":return"\\f";case`
`:return"\\n";case"\r":return"\\r";case" ":return"\\t";case"\v":return"\\v"}var n=a+1,o=n<e&&t[n]>="0"&&t[n]<="9"?"\\&":"";return"\\"+r.charCodeAt(0).toString(10)+o})+'"'};var If={show:gt};var Hu=t=>t,W=Hu(0),U=Hu(1),_t=Hu(2);var _=(t,e)=>({tag:t,_1:e}),g=_(0),pt=t=>_(1,t);var v$=t=>{if(t.tag===0)return!0;if(t.tag===1)return!1;u()},ta=t=>{if(t.tag===0)return!1;if(t.tag===1)return!0;u()};var si={map:t=>e=>e.tag===1?_(1,t(e._1)):g};var Vu={apply:t=>e=>{if(t.tag===1)return e.tag===1?_(1,t._1(e._1)):g;if(t.tag===0)return g;u()},Functor0:()=>si};var lo={pure:pt,Apply0:()=>Vu};var y=(t,e)=>({tag:t,_1:e}),La=t=>y(0,t),Ae=t=>y(1,t);var Ku={map:t=>e=>{if(e.tag===0)return y(0,e._1);if(e.tag===1)return y(1,t(e._1));u()}};var _S={apply:t=>e=>{if(t.tag===0)return y(0,t._1);if(t.tag===1){if(e.tag===0)return y(0,e._1);if(e.tag===1)return y(1,t._1(e._1))}u()},Functor0:()=>Ku};var Id={pure:Ae,Apply0:()=>_S};var Pf=function(t){return function(){return t}};var mS={apply:t=>e=>()=>{let r=t(),a=e();return Yu.pure(r(a))()},Functor0:()=>gS},Yu={pure:Pf,Apply0:()=>mS},gS={map:t=>e=>()=>{let r=e();return t(r)}};var Bf=function(e){return function(r){return function(a){return function(){return e(r,a)}}}};var kf=function(t,e){return e.push.apply(e,t)};var Af=t=>Bf(kf)([t]);var li=(t,e)=>({_1:t,_2:e});var Ff=t=>e=>r=>()=>{let a=!1,n=e._2;for(;!a;){let o=n.value,i=e._1(o);if(i.tag===1&&t(i._1)){r.push(i._1),e._2.value;let d=e._2.value;e._2.value=d+1|0;continue}a=!0}};var fi=t=>e=>()=>{let r=!1,a=t._2;for(;!r;){let n=a.value,o=a.value;a.value=o+1|0;let i=t._1(n);if(i.tag===1){e(i._1)();continue}if(i.tag===0){r=!0;continue}u()}};var BS={append:t=>e=>t.tag===1?t:e};var zf={mempty:g,Semigroup0:()=>BS};var tt=function(t){return function(e){return function(r){for(var a=e,n=r.length,o=n-1;o>=0;o--)a=t(r[o])(a);return a}}},Tt=function(t){return function(e){return function(r){for(var a=e,n=r.length,o=0;o<n;o++)a=t(a)(r[o]);return a}}};var cr=t=>t,vu=(()=>{let t={append:e=>r=>a=>e(r(a))};return{mempty:e=>e,Semigroup0:()=>t}})(),kS=(()=>{let t=vu.Semigroup0(),e={append:r=>a=>t.append(a)(r)};return{mempty:vu.mempty,Semigroup0:()=>e}})();var ts=t=>{let e=t.Apply0();return r=>a=>r.foldr(n=>{let o=a(n);return i=>e.apply(e.Functor0().map(d=>Md)(o))(i)})(t.pure())},_i=t=>{let e=ts(t);return r=>{let a=e(r);return n=>o=>a(o)(n)}};var ec={foldr:t=>e=>r=>t(r._2)(e),foldl:t=>e=>r=>t(e)(r._2),foldMap:t=>e=>r=>e(r._2)};var mi={foldr:t=>e=>r=>{if(r.tag===0)return e;if(r.tag===1)return t(r._1)(e);u()},foldl:t=>e=>r=>{if(r.tag===0)return e;if(r.tag===1)return t(e)(r._1);u()},foldMap:t=>{let e=t.mempty;return r=>a=>{if(a.tag===0)return e;if(a.tag===1)return r(a._1);u()}}};var q={foldr:tt,foldl:Tt,foldMap:t=>{let e=t.mempty;return r=>q.foldr(a=>n=>t.Semigroup0().append(r(a))(n))(e)}};var Da=t=>{let e=t.foldMap(kS);return r=>a=>n=>e(o=>i=>r(i)(o))(n)(a)},kn=t=>{let e=t.foldMap(vu);return r=>a=>n=>e(o=>r(o))(n)(a)},Nf=t=>{let e=t.foldMap(zf);return r=>a=>e(n=>r.eq(a)(n._1)?_(1,n._2):g)};var wf=t=>e=>t.foldMap((()=>{let r={append:a=>n=>e.disj(a)(n)};return{mempty:e.ff,Semigroup0:()=>r}})())(cr);var qf=t=>e=>t.foldMap((()=>{let r={append:a=>n=>e.conj(a)(n)};return{mempty:e.tt,Semigroup0:()=>r}})())(cr);var m=(t,e)=>({_1:t,_2:e}),Lt=t=>e=>m(t,e);var ur=t=>t._2;var as={map:t=>e=>m(e._1,t(e._2))};var Ar=t=>t._1;var sr=function(t){return function(e){for(var r=e.length,a=Array(r),n=0;n<r;n++)a[n]=t(n)(e[n]);return a}};var ns={mapWithIndex:sr,Functor0:()=>po};var Od=function(t){return function(e){return t===e}},Qf=Od,jf=Od,Jf=Od,Hf=Od,Na=Od,Bt=function(t){return function(e){return function(r){if(e.length!==r.length)return!1;for(var a=0;a<e.length;a++)if(!t(e[a])(r[a]))return!1;return!0}}};var Fn={eq:Na};var os={eq:Jf},Pd={eq:jf},Vf={eq:Hf},Kf={eq:Qf};var Cd=function(t){return function(e){return function(r){return function(a){return function(n){return a<n?t:a===n?e:r}}}}},Yf=Cd,Xf=Cd,Zf=Cd,vf=Cd,t1=Cd,e1=function(t){return function(e){return function(r){for(var a=0,n=e.length,o=r.length;a<n&&a<o;){var i=e[a],d=r[a],$=t(i)(d);if($!==0)return $;a++}return n===o?0:n>o?-1:1}}};var L={compare:vf(W)(_t)(U),Eq0:()=>Fn};var wa={compare:Zf(W)(_t)(U),Eq0:()=>os},at={compare:Xf(W)(_t)(U),Eq0:()=>Pd},gi={compare:t1(W)(_t)(U),Eq0:()=>Vf},fo={compare:Yf(W)(_t)(U),Eq0:()=>Kf};var xn=t=>{let e={eq:Bt(t.Eq0().eq)};return{compare:r=>a=>at.compare(0)(e1(n=>o=>{let i=t.compare(n)(o);if(i===2)return 0;if(i===0)return 1;if(i===1)return-1;u()})(r)(a)),Eq0:()=>e}};var ya=function(t){return t};var GS={map:t=>e=>r=>{let a=e(r);return{accum:a.accum,value:t(a.value)}}},QS={map:t=>e=>r=>{let a=e(r);return{accum:a.accum,value:t(a.value)}}},jS={apply:t=>e=>r=>{let a=e(r),n=t(a.accum);return{accum:n.accum,value:n.value(a.value)}},Functor0:()=>GS},JS={apply:t=>e=>r=>{let a=t(r),n=e(a.accum);return{accum:n.accum,value:a.value(n.value)}},Functor0:()=>QS},is={pure:t=>e=>({accum:e,value:t}),Apply0:()=>jS},ds={pure:t=>e=>({accum:e,value:t}),Apply0:()=>JS};var i1=function(){function t(n){return[n]}function e(n){return function(o){return[n,o]}}function r(n){return function(o){return function(i){return[n,o,i]}}}function a(n){return function(o){return n.concat(o)}}return function(n){return function(o){return function(i){return function(d){return function($){function c(f,l){switch(l-f){case 0:return i([]);case 1:return o(t)(d($[f]));case 2:return n(o(e)(d($[f])))(d($[f+1]));case 3:return n(n(o(r)(d($[f])))(d($[f+1])))(d($[f+2]));default:var p=f+Math.floor((l-f)/4)*2;return n(o(a)(c(f,p)))(c(p,l))}}return c(0,$.length)}}}}}}();var ea=t=>t;var _o={traverse:t=>e=>r=>t.Apply0().Functor0().map(Lt(r._1))(e(r._2)),sequence:t=>e=>t.Apply0().Functor0().map(Lt(e._1))(e._2),Functor0:()=>as,Foldable1:()=>ec};var $s={traverse:t=>e=>r=>{if(r.tag===0)return t.pure(g);if(r.tag===1)return t.Apply0().Functor0().map(pt)(e(r._1));u()},sequence:t=>e=>{if(e.tag===0)return t.pure(g);if(e.tag===1)return t.Apply0().Functor0().map(pt)(e._1);u()},Functor0:()=>si,Foldable1:()=>mi};var re={traverse:t=>{let e=t.Apply0();return i1(e.apply)(e.Functor0().map)(t.pure)},sequence:t=>re.traverse(t)(ea),Functor0:()=>po,Foldable1:()=>q};var s1=t=>{let e=t.traverse(is);return r=>a=>n=>e(o=>i=>r(i)(o))(n)(a)};var Bd=t=>{let e=t.traverse(ds);return r=>a=>n=>e(o=>i=>r(i)(o))(n)(a)};var nn=function(t,e){for(var r=t>e?-1:1,a=new Array(r*(e-t)+1),n=t,o=0;n!==e;)a[o++]=n,n+=r;return a[o]=n,a},d2=function(t,e){if(t<1)return[];var r=new Array(t);return r.fill(e)},$2=function(t,e){for(var r=[],a=0,n=0;n<t;n++)r[a++]=e;return r},mo=typeof Array.prototype.fill=="function"?d2:$2;var Ir=function(t,e,r){return r.length===0?t({}):e(r[0])(r.slice(1))};var ra=function(t,e,r,a){for(var n=0;n<a.length;n++){var o=r(a[n]);if(e(o))return o}return t},go=function(t,e,r,a){for(var n=0,o=a.length;n<o;n++)if(r(a[n]))return t(n);return e};var rc=function(t){return t.slice().reverse()};var aa=function(t,e){return e.filter(t)},kd=function(t,e){for(var r=[],a=[],n=0;n<e.length;n++){var o=e[n];t(o)?r.push(o):a.push(o)}return{yes:r,no:a}};var p1=function(){function t(e,r,a,n,o,i){var d,$,c,f,l,p,D;for(d=o+(i-o>>1),d-o>1&&t(e,r,n,a,o,d),i-d>1&&t(e,r,n,a,d,i),$=o,c=d,f=o;$<d&&c<i;)l=n[$],p=n[c],D=r(e(l)(p)),D>0?(a[f++]=p,++c):(a[f++]=l,++$);for(;$<d;)a[f++]=n[$++];for(;c<i;)a[f++]=n[c++]}return function(e,r,a){var n;return a.length<2?a:(n=a.slice(0),t(e,r,n,a.slice(0),0,a.length),n)}}(),ne=function(t,e,r){return r.slice(t,e)},Se=function(t,e,r){for(var a=e.length<r.length?e.length:r.length,n=new Array(a),o=0;o<a;o++)n[o]=t(e[o])(r[o]);return n},na=function(t,e){for(var r=e.length,a=0;a<r;a++)if(t(e[a]))return!0;return!1},Ra=function(t,e){for(var r=e.length,a=0;a<r;a++)if(!t(e[a]))return!1;return!0};var us=t=>{let e=t.Semigroup0(),r=t.mempty;return a=>n=>Tt(o=>i=>o.init?{init:!1,acc:i}:{init:!1,acc:e.append(o.acc)(e.append(a)(i))})({init:!0,acc:r})(n).acc};var ss=t=>{let e=re.traverse(t)(ea);return r=>a=>n=>e(Se(r,a,n))};var Or=t=>e=>p1(t,r=>{if(r===1)return 1;if(r===2)return 0;if(r===0)return-1;u()},e),ps=t=>e=>Or(r=>a=>t.compare(e(r))(e(a)));var F=t=>e=>(()=>{let r=Af(e);return()=>{let a=[...t];return r(a)(),a}})()();var ls=t=>e=>{let r=e.length;if(r<2)return e;let a=[];a.push(e[0]);for(let n of yf(1,r))a.push(t),a.push(e[n]);return a};var fs=t=>{if(t.length===0){let r=t.length-1|0;return g}let e=t.length-1|0;return e>=0&&e<t.length?_(1,{init:ne(0,t.length-1|0,t),last:t[e]}):g};var _s=t=>{let e=[],r=[];return fi(li(n=>n>=0&&n<t.length?_(1,t[n]):g,{value:0}))(n=>{let o=n._2;return()=>{e.push(n._1),r.push(o)}})(),m(e,r)};var ms=t=>e=>{let r=Or(a=>n=>t(a._2)(n._2))(sr(Lt)(e));return 0<r.length?M(ur)(ps(at)(Ar)((()=>{let a=[r[0]];for(let n of r){let o=t((()=>{let i=a.length-1|0;if(i>=0&&i<a.length)return a[i]._2;u()})())(n._2);(o===0||o===1||o!==2)&&a.push(n)}return a})())):[]};var Di=t=>e=>{let r=[],n=li(o=>o>=0&&o<e.length?_(1,e[o]):g,{value:0});return fi(n)(o=>()=>{let i=[];i.push(o),Ff(t(o))(n)(i)(),r.push(i)})(),r},on=t=>{let e=Di(r=>a=>t(r)(a)===2);return r=>e(Or(t)(r))};var zn=t=>e=>r=>{let a=go(pt,g,n=>t.eq(n)(e),r);if(a.tag===0)return!1;if(a.tag===1)return!0;u()};var m2=t=>e=>ye(e)(t),Wa=t=>m2(e=>{let r=t(e);if(r.tag===0)return[];if(r.tag===1)return[r._1];u()});var f1=t=>e=>na(t,e);var _1=function(t){return function(e){return t+e}},gs=function(t){return function(e){return t.length===0?e:e.length===0?t:t.concat(e)}};var m1={append:t=>e=>{}},g1={append:_1};var Ad={append:gs};var D2=t=>{let e=t.Apply0();return r=>a=>r.foldrWithIndex(n=>{let o=a(n);return i=>{let d=o(i);return $=>e.apply(e.Functor0().map(c=>Md)(d))($)}})(t.pure())},Ds=t=>{let e=D2(t);return r=>{let a=e(r);return n=>o=>a(o)(n)}};var dn={foldrWithIndex:t=>e=>{let r=tt(n=>{let o=n._1,i=n._2;return d=>t(o)(i)(d)})(e),a=sr(Lt);return n=>r(a(n))},foldlWithIndex:t=>e=>{let r=Tt(n=>o=>t(o._1)(n)(o._2))(e),a=sr(Lt);return n=>r(a(n))},foldMapWithIndex:t=>{let e=t.mempty;return r=>dn.foldrWithIndex(a=>n=>o=>t.Semigroup0().append(r(a)(n))(o))(e)},Foldable0:()=>q};var nc=t=>{let e={append:r=>a=>{let n=t.compare(r)(a);if(n===0)return a;if(n===2||n===1)return r;u()}};return r=>r.foldMap1(e)(ya)};var Do={traverseWithIndex:t=>{let e=Do.Traversable2().sequence(t);return r=>{let a=Do.FunctorWithIndex0().mapWithIndex(r);return n=>e(a(n))}},FunctorWithIndex0:()=>ns,FoldableWithIndex1:()=>dn,Traversable2:()=>re};var D1=function(t){return function(e){return function(r){return function(a){return function(n){return function(o){for(var i=[],d=o;;){var $=n(d);i.push(r($));var c=a($);if(t(c))return i;d=e(c)}}}}}}};var E2=t=>{if(t.tag===1)return t._1;u()};var Ss={unfoldr1:D1(v$)(E2)(Ar)(ur)};var oc=function(t,e){for(var r=e[e.length-1],a=e.length-2;a>=0;a--)r=t(e[a])(r);return r},S1=function(t,e){for(var r=e[0],a=e.length,n=1;n<a;n++)r=t(r)(e[n]);return r};var Si={foldMap1:t=>{let e=t.append;return r=>{let a=M(r),n=Si.foldl1(e);return o=>n(a(o))}},foldr1:t=>e=>oc(t,e),foldl1:t=>e=>S1(t,e),Foldable0:()=>q};var bi=isFinite;function dc(t,e,r,a){var n=parseFloat(t);return e(n)?r(n):a}var xd=Math.ceil;var $c=Math.floor;var b1=function(t){return function(e){return function(r){return(r|0)===r?t(r):e}}},$n=function(t){return t},h1=function(t){return function(e){return function(r){var a;r<11?a="[0-"+(r-1).toString()+"]":r===11?a="[0-9a]":a="[0-9a-"+String.fromCharCode(86+r)+"]";var n=new RegExp("^[\\+\\-]?"+a+"+$","i");return function(o){if(n.test(o)){var i=parseInt(o,r);return(i|0)===i?t(i):e}else return e}}}};var zd=h1(pt)(g),bs=zd(10),So=b1(pt)(g),bo=t=>{if(!bi(t))return 0;if(t>=$n(2147483647))return 2147483647;if(t<=$n(-2147483648))return-2147483648;let e=So(t);if(e.tag===0)return 0;if(e.tag===1)return e._1;u()};var B=(t,e,r)=>({tag:t,_1:e,_2:r});var G=B(0),pr=t=>e=>B(1,t,e);var E1=t=>(r=>a=>{let n=r,o=a,i=!0,d;for(;i;){let $=n,c=o;if(c.tag===1&&c._2.tag===1&&c._2._2.tag===1){n=B(1,c,$),o=c._2._2._2;continue}let f=l=>p=>{let D=l,h=p,E=!0,b;for(;E;){let S=D,x=h;if(S.tag===1&&S._1.tag===1&&S._1._2.tag===1&&S._1._2._2.tag===1){D=S._2,h=B(1,t(S._1._1),B(1,t(S._1._2._1),B(1,t(S._1._2._2._1),x)));continue}E=!1,b=x}return b};i=!1,d=f($)((()=>{if(c.tag===1){if(c._2.tag===1)return c._2._2.tag===0?B(1,t(c._1),B(1,t(c._2._1),G)):G;if(c._2.tag===0)return B(1,t(c._1),G)}return G})())}return d})(G);var Ye={foldr:t=>e=>{let r=Ye.foldl(o=>i=>t(i)(o))(e),n=(o=>i=>{let d=o,$=i,c=!0,f;for(;c;){let l=d,p=$;if(p.tag===0){c=!1,f=l;continue}if(p.tag===1){d=B(1,p._1,l),$=p._2;continue}u()}return f})(G);return o=>r(n(o))},foldl:t=>r=>a=>{let n=r,o=a,i=!0,d;for(;i;){let $=n,c=o;if(c.tag===0){i=!1,d=$;continue}if(c.tag===1){n=t($)(c._1),o=c._2;continue}u()}return d},foldMap:t=>{let e=t.mempty;return r=>Ye.foldl(a=>{let n=t.Semigroup0().append(a);return o=>n(r(o))})(e)}};var Nd=t=>{let e=t.Eq0(),r={eq:a=>n=>{let o=i=>d=>$=>$?i.tag===0?d.tag===0&&$:i.tag===1&&d.tag===1&&o(i._2)(d._2)($&&e.eq(d._1)(i._1)):!1;return o(a)(n)(!0)}};return{compare:a=>n=>(i=>d=>{let $=i,c=d,f=!0,l;for(;f;){let p=$,D=c;if(p.tag===0){if(D.tag===0){f=!1,l=_t;continue}f=!1,l=W;continue}if(D.tag===0){f=!1,l=U;continue}if(p.tag===1&&D.tag===1){let h=t.compare(p._1)(D._1);if(h===2){$=p._2,c=D._2;continue}f=!1,l=h;continue}u()}return l})(a)(n),Eq0:()=>r}};var cc=function(t){return function(e){return t+e|0}},M1=function(t){return function(e){return t*e|0}};var hs={addRecord:t=>e=>r=>({}),mulRecord:t=>e=>r=>({}),oneRecord:t=>e=>({}),zeroRecord:t=>e=>({})};var uc={add:cc,zero:0,mul:M1,one:1};var sc=t=>()=>e=>r=>{let a=r.one,n=r.zero;return{addRecord:o=>i=>d=>{let $=t.reflectSymbol(jt),c=Ur($);return xa($)(r.add(c(i))(c(d)))(e.addRecord(jt)(i)(d))},mulRecord:o=>i=>d=>{let $=t.reflectSymbol(jt),c=Ur($);return xa($)(r.mul(c(i))(c(d)))(e.mulRecord(jt)(i)(d))},oneRecord:o=>i=>xa(t.reflectSymbol(jt))(a)(e.oneRecord(jt)(jt)),zeroRecord:o=>i=>xa(t.reflectSymbol(jt))(n)(e.zeroRecord(jt)(jt))}};var Ei=function(t){return function(e){if(e===0)return 0;var r=Math.abs(e);return(t%r+r)%r}};var T1={mempty:void 0,Semigroup0:()=>m1},Sa={mempty:"",Semigroup0:()=>g1};var ba={mempty:[],Semigroup0:()=>Ad};var oa=t=>{let e=t.mempty,r=t.Semigroup0();return a=>{let n=o=>{if(o<=0)return e;if(o===1)return a;if(Ei(o)(2)===0){let d=n(ma(o,2));return r.append(d)(d)}let i=n(ma(o,2));return r.append(i)(r.append(i)(a))};return n}};var Rx=Number.POSITIVE_INFINITY,Wx=Number.NEGATIVE_INFINITY;function Ua(t){return t.charCodeAt(0)}function wd(t){return String.fromCharCode(t)}var I1=t=>t>=0&&t<=65535?_(1,wd(t)):g;var ho=function(t){return function(e){if(t>=0&&t<e.length)return e.charAt(t);throw new Error("Data.String.Unsafe.charAt: Invalid index.")}};var Ts=function(t){return t.split("")},cn=function(t){return t},P1=function(t){return function(e){return function(r){return function(a){return r>=0&&r<a.length?t(a.charAt(r)):e}}}};var Nt=function(t){return t.length};var C1=function(t){return function(e){return function(r){return function(a){var n=a.indexOf(r);return n===-1?e:t(n)}}}},B1=function(t){return function(e){return function(r){return function(a){return function(n){if(a<0||a>n.length)return e;var o=n.indexOf(r,a);return o===-1?e:t(o)}}}}};var yr=function(t){return function(e){return e.substr(0,t)}},lr=function(t){return function(e){return e.substring(t)}};var Is=function(t){return function(e){return{before:e.substring(0,t),after:e.substring(t)}}};var k1=t=>e=>{let r=Is(Nt(e)-Nt(t)|0)(e);return r.after===t?_(1,r.before):g},Ln=t=>e=>{let r=Is(Nt(t))(e);return r.before===t?_(1,r.after):g};var A1=B1(pt)(g),Os=C1(pt)(g);var Ps=P1(pt)(g);var Mi=function(t){return function(e){return function(r){return r.replace(new RegExp(t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"g"),e)}}},Eo=function(t){return function(e){return e.split(t)}};var lc=function(t){return t.trim()},fc=function(t){return function(e){return e.join(t)}};var F1=function(t){return function(e){return function(r){return function(a){return function(n){return function(o){for(var i=[],d=o;;){var $=n(d);if(t($))return i;var c=e($);i.push(r(c)),d=a(c)}}}}}}};var k2=t=>{if(t.tag===1)return t._1;u()};var Me={unfoldr:F1(v$)(k2)(Ar)(ur),Unfoldable10:()=>Ss};var A2=typeof Array.from=="function",F2=typeof Symbol<"u"&&Symbol!=null&&typeof Symbol.iterator<"u"&&typeof String.prototype[Symbol.iterator]=="function",x2=typeof String.prototype.fromCodePoint=="function",z2=typeof String.prototype.codePointAt=="function",x1=function(t){return z2?function(e){return e.codePointAt(0)}:t};var z1=function(t){return x2?String.fromCodePoint:t},L1=function(t){return function(e){return F2?function(r){for(var a="",n=r[Symbol.iterator](),o=0;o<e;++o){var i=n.next();if(i.done)return a;a+=i.value}return a}:t(e)}},N1=function(t){return function(e){return A2?function(r){return Array.from(r,e)}:t}};var w1=t=>{let e=Nt(t);if(e===0)return g;if(e===1)return _(1,{head:Ua(ho(0)(t)),tail:""});let r=Ua(ho(1)(t)),a=Ua(ho(0)(t));return 55296<=a&&a<=56319&&56320<=r&&r<=57343?_(1,{head:(((a-55296|0)*1024|0)+(r-56320|0)|0)+65536|0,tail:lr(2)(t)}):_(1,{head:a,tail:lr(1)(t)})},N2=t=>{let e=w1(t);return e.tag===1?_(1,m(e._1.head,e._1.tail)):g},w2=t=>Me.unfoldr(N2)(t),q2=t=>{let e=Ua(ho(0)(t));if(55296<=e&&e<=56319&&Nt(t)>1){let r=Ua(ho(1)(t));if(56320<=r&&r<=57343)return(((e-55296|0)*1024|0)+(r-56320|0)|0)+65536|0}return e},R2=x1(q2),Q=N1(w2)(R2);var Cs=t=>cn(t>=0&&t<=65535?wd(t):t<0?"\0":"\uFFFF"),W2=t=>t<=65535?Cs(t):Cs(ma(t-65536|0,1024)+55296|0)+Cs(Ei(t-65536|0)(1024)+56320|0);var Bs=z1(W2),q1=t=>e=>{if(t<1)return"";let r=w1(e);return r.tag===1?Bs(r._1.head)+q1(t-1|0)(r._1.tail):e},Mo=L1(q1);var U2={eq:t=>e=>t===e},R1={compare:t=>e=>at.compare(t)(e),Eq0:()=>U2};var W1=t=>Ua(t);var G2={bottom:0,top:1114111,Ord0:()=>R1},U1={cardinality:1114112,fromEnum:t=>t,toEnum:t=>t>=0&&t<=1114111?_(1,t):g,Bounded0:()=>G2,Enum1:()=>Q2},Q2={succ:t=>{let e=t+1|0;return e>=0&&e<=1114111?_(1,e):g},pred:t=>{let e=t-1|0;return e>=0&&e<=1114111?_(1,e):g},Ord0:()=>R1};function ks(t){return function(e){return function(r){return r[t]=e,r}}}var G1=t=>t({});var ca=(t,e)=>({_1:t,_2:e}),Nn=(t,e)=>({tag:t,_1:e}),ue=(t,e,r,a)=>({tag:t,_1:e,_2:r,_3:a}),Ht=(t,e)=>({_1:t,_2:e}),Ft=(t,e,r)=>({tag:t,_1:e,_2:r}),Ti=(t,e)=>({tag:t,_1:e}),Mt=(t,e)=>({tag:t,_1:e}),Rd=us(Sa),Y2=oa(Sa),_c=t=>e=>{let r=at.compare(t)(e);if(r===0)return e;if(r===2||r===1)return t;u()},Q1=Bt(Na),j1=xn(L).compare,X2=us(ba),Z2=tt(pr)(G),v2=t=>t;var tb=Nn(0),eb=Nn(1);var J1=Nn(3),xs=Nn(4);var rb=Nn(7);var ab=t=>e=>ca(t,e);var fr=Ft(2);var gc=t=>e=>r=>{let a=n=>({step:o=>i=>{let d=n.step(o)(i);if(d.tag===0)return d._1._1.tag===1?Ft(0,ca(B(1,ue(2,t,r._1),d._1._1._2),d._1._2)):Ft(0,d._1);if(d.tag===1)return Ft(1,a(d._1),d._2);if(d.tag===2)return fr;u()},done:o=>{let i=n.done(B(1,ue(2,t,r._1),o));return(()=>{if(i.tag===0){let d=i._1;return $=>y(0,d)}if(i.tag===1){let d=i._1;return $=>$(d)}u()})()(d=>{let $=ab(B(1,ue(2,t,r._1),o)),c=e(d);if(c.tag===0)return y(0,$(Nn(5,c._1)));if(c.tag===1)return y(1,c._1);u()})},saturated:n.saturated});return Ht(ue(2,t,r._1),a(r._2))};var nb={append:t=>e=>t.tag===3?e.tag===3?ue(3,[...t._1,...e._1]):ue(3,F(t._1)(e)):e.tag===3?ue(3,[t,...e._1]):ue(3,[t,e])},mc=t=>e=>{if(e.tag===0){let r=Rd(",")(e._1);return t.tag===1&&t._1.tag===2?[m(Ti(0,e._1),[Mt(4,r+" "+t._1._1),Mt(4,e._2)])]:[m(Ti(0,e._1),[Mt(4,r),Mt(4,e._2)])]}if(e.tag===1)return t.tag===1&&t._1.tag===2?[m(Ti(1,t._1._1),[Mt(4,t._1._1),Mt(4,e._1)])]:[m(Ti(1,"ANY"),[Mt(4,"ANY"),Mt(4,e._1)])];if(e.tag===6)return[m(Ti(1,"--"),[Mt(4,"--"),Mt(4,e._1)])];if(e.tag===5)return[m(Ti(2,e._1),[Mt(4,Rd(",")(e._1)),Mt(4,e._2)])];if(e.tag===2)return mc(B(1,ue(2,e._1,e._2),t))(e._2);if(e.tag===4)return ye(e._2)(mc(t));if(e.tag===3)return ye(e._1)(mc(t));u()},ob=t=>t._1,H1=t=>e=>r=>{let a=t,n=e,o=r,i=!0,d;for(;i;){let $=a,c=n,f=o,l=$.step(c)(f);if(l.tag===0){i=!1,d=y(0,l._1);continue}if(l.tag===1){a=l._1,n=c,o=l._2;continue}if(l.tag===2){if(f.tag===0){i=!1,d=$.done(c);continue}if(f.tag===1){i=!1,d=y(0,ca(c,Nn(6,f._1)));continue}}u()}return d},V1=t=>{let e=t.foldr(pr)(G);return r=>a=>n=>o=>H1(n._2)(B(1,ue(5,[r],a,n._1),G))(e(o))};var ib=t=>e=>r=>a=>{let n=i=>d=>{let $=Q(i).length;return $<t?i+Y2(" ")(t-$|0)+e+d:$>t?Mo(t)(i)+e+d:i+e+d},o=r.length-a.length|0;return o<0?Se(n,[...r,...mo(o>=0?o:-o,"")],a):Se(n,r,[...a,...mo(o,"")])},qd=t=>e=>{if(e.tag===0)return ye(ls([""])(aa(r=>r.length!==0,M(qd(t))(e._1))))(Ef);if(e.tag===1)return ye(e._1)(qd(t));if(e.tag===4)return M(r=>t+r)(Eo(`
`)(e._1));if(e.tag===3)return qd(t+" ")(e._1);if(e.tag===2)return db(t)(e._1);u()},db=t=>e=>{let r=M(M(qd("")))(e),a=M(n=>tt((()=>{let o=tt(i=>_c(Q(i).length))(0);return i=>n>=0&&n<i.length?_c(o(i[n])):_c(o([]))})())(0)(r))(nn(0,tt(n=>_c(n.length))(0)(e)-1|0));return ye(r)(n=>{let o=Se(Lt,a,n);return o.length>0?M(i=>t+i)(oc(i=>{let d=i._2,$=i._1;return c=>m($+c._1|0,ib($)(" ")(d)(c._2))},o)._2):[]})},$b=(()=>{let t=Rd(`
`);return e=>t(qd("")(e))})();var Sr={map:t=>e=>({...e,done:r=>{let a=e.done(r);if(a.tag===0)return y(0,a._1);if(a.tag===1)return y(1,t(a._1));u()},step:(()=>{let r=ci.compose((()=>{let a=Sr.map(t);return n=>{if(n.tag===0)return Ft(0,n._1);if(n.tag===1)return Ft(1,a(n._1),n._2);if(n.tag===2)return fr;u()}})());return a=>r(e.step(a))})()})},K1={map:t=>e=>Ht(e._1,Sr.map(t)(e._2))},Dc=t=>e=>e.tag===1&&zn(Fn)(e._1)(t)?Ft(1,void 0,e._2):fr,Wd=(()=>{let t=["--help","-h"];return Ht(ue(0,t,"Show this help message."),{step:e=>r=>{let a=Dc(t)(r);if(a.tag===0)return Ft(0,a._1);if(a.tag===2)return fr;if(a.tag===1)return Ft(0,ca(e,rb));u()},done:e=>y(1,void 0),saturated:!0})})(),Y1=t=>e=>r=>Ht(ue(0,t,e),{step:a=>n=>{let o=Dc(t)(n);if(o.tag===0)return Ft(0,o._1);if(o.tag===2)return fr;if(o.tag===1)return Ft(0,ca(B(1,ue(0,t,e),a),Nn(8,r)));u()},done:a=>y(1,void 0),saturated:!0}),Ii=t=>e=>{let r=a=>n=>{let o=Dc(t)(n);if(o.tag===0)return Ft(0,o._1);if(o.tag===1)return Ft(1,(()=>{let i=o._1;return{step:d=>$=>{let c=r(d)($);if(c.tag===0)return Ft(0,c._1);if(c.tag===2)return fr;if(c.tag===1)return Ft(0,ca(B(1,ue(0,t,e),d),xs));u()},done:d=>y(1,i),saturated:!0}})(),o._2);if(o.tag===2)return fr;u()};return Ht(ue(0,t,e),{step:r,done:a=>y(0,ca(B(1,ue(0,t,e),a),tb)),saturated:!1})},cb=t=>{let e=t._2,r=n=>o=>i=>{if(i.saturated){let d=i.done(o);if(d.tag===0){let $=d._1;return{step:c=>f=>Ft(0,$),done:c=>y(0,$),saturated:!0}}if(d.tag===1)return a(B(1,d._1,n))(!1)(e);u()}return a(n)(!0)(i)},a=n=>o=>i=>({step:d=>{let $=r(n)(d),c=i.step(d);return f=>{let l=c(f);if(l.tag===0)return Ft(0,l._1);if(l.tag===1)return Ft(1,$(l._1),l._2);if(l.tag===2)return fr;u()}},done:d=>{if(o){let $=i.done(d);return(()=>{if($.tag===0){let c=$._1;return f=>y(0,c)}if($.tag===1){let c=$._1;return f=>f(c)}u()})()(c=>y(1,(l=>p=>{let D=l,h=p,E=!0,b;for(;E;){let S=D,x=h;if(x.tag===0){E=!1,b=S;continue}if(x.tag===1){D=B(1,x._1,S),h=x._2;continue}u()}return b})(G)(B(1,c,n))))}return y(1,(c=>f=>{let l=c,p=f,D=!0,h;for(;D;){let E=l,b=p;if(b.tag===0){D=!1,h=E;continue}if(b.tag===1){l=B(1,b._1,E),p=b._2;continue}u()}return h})(G)(n))},saturated:!1});return Ht(t._1,a(G)(!1)(e))},X1=t=>{let e=K1.map(Ye.foldMap(t)(cr));return r=>e(cb(r))};var ub={eq:t=>e=>t.tag===0?e.tag===0&&Q1(t._1)(e._1):t.tag===1?e.tag===1&&t._1===e._1:t.tag===2&&e.tag===2&&Q1(t._1)(e._1)},sb={compare:t=>e=>{if(t.tag===0)return e.tag===0?j1(t._1)(e._1):W;if(e.tag===0)return U;if(t.tag===1)return e.tag===1?L.compare(t._1)(e._1):W;if(e.tag===1)return U;if(t.tag===2&&e.tag===2)return j1(t._1)(e._1);u()},Eq0:()=>ub},pb=t=>{let e=Or(o=>i=>sb.compare(o._1)(i._1)),r=Di(o=>i=>o._1.tag===0?i._1.tag===0:o._1.tag===1?i._1.tag===1:o._1.tag===2&&i._1.tag===2),a=M(M(ur)),n=X2([[Mt(4,"")]]);return o=>n(a(r(e(mc(t)(o)))))},As=t=>e=>e.tag===2?As(B(1,ue(2,e._1,e._2),t))(e._2):e.tag===5?Mt(0,[Mt(1,[Mt(4,Rd(",")(e._1)),Mt(3,Mt(4,e._2))]),Mt(3,As(t)(e._3))]):Mt(2,pb(t)(e)),Z1=t=>{let e=t._1,r=n=>o=>i=>d=>{let $=n,c=o,f=i,l=d,p=!0,D;for(;p;){let h=$,E=c,b=f,S=l;if(S.tag===0){p=!1,D={cmd:h,desc:E,help:b};continue}if(S.tag===1){if(S._1.tag===5){$=B(1,S._1._1,h),c=E.tag===0?_(1,S._1._2):E,f=b.tag===0?_(1,S._1._3):b,l=S._2;continue}if(S._1.tag===0){$=B(1,S._1._1,h),c=g,f=_(1,ue(0,S._1._1,S._1._2)),l=S._2;continue}if(S._1.tag===1){$=h,c=g,f=_(1,ue(1,S._1._1)),l=S._2;continue}if(S._1.tag===2){$=h,c=E,f=b,l=B(1,S._1._2,S._2);continue}$=h,c=E,f=b,l=S._2;continue}u()}return D},a=n=>{let o=r(G)(g)(g)(e);return Mt(1,[Mt(4,(d=>$=>{let c=d,f=$,l=!0,p;for(;l;){let D=c,h=f;if(h.tag===0){l=!1,p=D;continue}if(h.tag===1){c=D.init?{init:!1,acc:h._1}:{init:!1,acc:D.acc+" "+h._1},f=h._2;continue}u()}return p})({init:!0,acc:""})(E1(Rd(","))(o.cmd)).acc),Mt(3,Mt(0,[n,(()=>{if(o.desc.tag===0)return Mt(1,[]);if(o.desc.tag===1)return Mt(4,o.desc._1);u()})(),(()=>{if(o.help.tag===0)return Mt(1,[]);if(o.help.tag===1)return As(e)(o.help._1);u()})()]))])};return $b((()=>{if(t._2.tag===0)return a(Mt(4,"Expected flag."));if(t._2.tag===1)return e.tag===1&&e._1.tag===2?a(Mt(4,"Expected "+e._1._1+".")):a(Mt(4,"Expected argument value."));if(t._2.tag===3)return e.tag===1&&(e._1.tag===2||e._1.tag===4)?a(Mt(4,"Expected "+e._1._1+".")):a(Mt(4,"Expected argument."));if(t._2.tag===2)return a(Mt(4,"Expected rest arguments."));if(t._2.tag===4)return e.tag===1&&e._1.tag===4?a(Mt(4,"Duplicate "+e._1._1+".")):a(Mt(4,"Duplicate argument."));if(t._2.tag===5)return a(Mt(4,t._2._1));if(t._2.tag===7)return a(Mt(1,[]));if(t._2.tag===8)return Mt(4,t._2._1);if(t._2.tag===6)return a(Mt(1,[Mt(4,"Unexpected argument:"),Mt(3,Mt(4,t._2._1))]));u()})())};var zs=t=>{let e=Sr.map(pt)(t._2);return Ht(t._1,{step:e.step,done:r=>{let a=e.done(r);if(a.tag===0)return y(1,g);if(a.tag===1)return y(1,a._1);u()},saturated:!0})},v1=t=>e=>{let r=ue(4,t,M(ob)(e)),a=o=>i=>d=>$=>{if($.tag===1){let c=$._1.step(o)(i);if(c.tag===0)return Ft(0,c._1);if(c.tag===2)return a(o)(i)(B(1,$._1,d))($._2);if(c.tag===1)return c._1.saturated?Ft(1,(()=>{let f=n(Ye.foldr(pr)(B(1,c._1,$._2))(d));return{step:l=>p=>{let D=f(l)(p);if(D.tag===0)return Ft(0,D._1);if(D.tag===2)return fr;if(D.tag===1)return Ft(0,ca(B(1,r,l),xs));u()},done:c._1.done,saturated:!0}})(),c._2):Ft(1,{step:f=>l=>a(f)(l)(d)(B(1,c._1,$._2)),done:c._1.done,saturated:!1},c._2);u()}if($.tag===0)return fr;u()},n=o=>i=>d=>a(i)(d)(G)(o);return Ht(r,{step:n(Z2(M(o=>o._2)(e))),done:o=>y(0,ca(B(1,r,o),J1)),saturated:!1})};var Ls=()=>t=>{let e=t.buildRecordArgs(jt);return r=>{let a=e(r);return Ht(a._1,Sr.map(G1)(a._2))}},Oi=t=>{let e=Sr.map(r=>!0)(t._2);return Ht(t._1,{step:e.step,done:r=>{let a=e.done(r);if(a.tag===0)return y(1,!1);if(a.tag===1)return y(1,a._1);u()},saturated:!0})},lb=t=>e=>r=>{if(r.tag===1){let a=r._1,n=ra(g,ta,o=>Ln(o)(a),e);if(n.tag===1){if(yr(1)(n._1)==="=")return Ft(1,lr(1)(n._1),r._2);if(n._1==="")return r._2.tag===1?Ft(1,r._2._1,r._2._2):Ft(0,ca(t,eb))}}return fr},un=t=>e=>{let r=a=>n=>{let o=lb(B(1,ue(0,t,e),a))(t)(n);if(o.tag===0)return Ft(0,o._1);if(o.tag===1)return Ft(1,(()=>{let i=o._1;return{step:d=>$=>{let c=r(d)($);if(c.tag===0)return Ft(0,c._1);if(c.tag===2)return fr;if(c.tag===1)return Ft(0,ca(B(1,ue(0,t,e),d),xs));u()},done:d=>y(1,i),saturated:!0}})(),o._2);if(o.tag===2)return fr;u()};return Ht(ue(0,t,e),{step:r,done:a=>y(0,ca(B(1,ue(0,t,e),a),J1)),saturated:!1})},Fs={apply:t=>e=>({step:r=>a=>{let n=t.step(r)(a);if(n.tag===0)return Ft(0,n._1);if(n.tag===1)return Ft(1,Fs.apply(n._1)(e),n._2);if(n.tag===2){let o=e.step(r)(a);if(o.tag===0)return Ft(0,o._1);if(o.tag===1)return Ft(1,Fs.apply(t)(o._1),o._2);if(o.tag===2)return fr}u()},done:r=>{let a=t.done(r),n=e.done(r);if(a.tag===0)return y(0,a._1);if(a.tag===1){if(n.tag===0)return y(0,n._1);if(n.tag===1)return y(1,a._1(n._1))}u()},saturated:t.saturated&&e.saturated}),Functor0:()=>Sr},sn={apply:t=>e=>Ht(nb.append(t._1)(e._1),Fs.apply(t._2)(e._2)),Functor0:()=>K1},xr=t=>()=>()=>()=>e=>({buildRecordArgs:r=>a=>sn.apply((()=>{let n=Ur(t.reflectSymbol(jt))(a);return Ht(n._1,Sr.map(o=>i=>d=>i(ks(t.reflectSymbol(jt))(o)(d)))(n._2))})())(e.buildRecordArgs(jt)(a))}),Ns={buildRecordArgs:t=>e=>Ht(ue(3,[]),{step:r=>a=>fr,done:r=>y(1,v2),saturated:!0})},yc=t=>e=>r=>{let a=r._2;return Ht(ue(5,t,e,r._1),{step:n=>o=>{let i=Dc(t)(o);if(i.tag===0)return Ft(0,i._1);if(i.tag===2)return fr;if(i.tag===1){let d=H1(a)(B(1,ue(5,t,e,r._1),n))(i._2);if(d.tag===0)return Ft(0,d._1);if(d.tag===1){let $=d._1;return Ft(1,{step:c=>f=>fr,done:c=>y(1,$),saturated:!0},G)}}u()},done:a.done,saturated:!1})};var lt=(t,e,r,a,n,o,i)=>({tag:t,_1:e,_2:r,_3:a,_4:n,_5:o,_6:i}),jr=(t,e,r,a)=>({tag:t,_1:e,_2:r,_3:a});var Sc=(t,e,r)=>({_1:t,_2:e,_3:r}),t_=(t,e,r)=>({_1:t,_2:e,_3:r});var A=lt(0);var pn=jr(0);var Fe=(t,e,r,a)=>{if(r.tag===0){if(a.tag===0)return lt(1,1,1,t,e,r,a);if(a.tag===1)return lt(1,1+a._1|0,1+a._2|0,t,e,r,a);u()}if(r.tag===1){if(a.tag===0)return lt(1,1+r._1|0,1+r._2|0,t,e,r,a);if(a.tag===1)return lt(1,r._1>a._1?1+r._1|0:1+a._1|0,(1+r._2|0)+a._2|0,t,e,r,a)}u()};var br=(t,e,r,a)=>{if(r.tag===0)return a.tag===0?lt(1,1,1,t,e,A,A):a.tag===1&&a._1>1?a._5.tag===1&&(()=>{if(a._6.tag===0)return a._5._1>0;if(a._6.tag===1)return a._5._1>a._6._1;u()})()?Fe(a._5._3,a._5._4,Fe(t,e,r,a._5._5),Fe(a._3,a._4,a._5._6,a._6)):Fe(a._3,a._4,Fe(t,e,r,a._5),a._6):Fe(t,e,r,a);if(r.tag===1)return a.tag===1?a._1>(r._1+1|0)?a._5.tag===1&&(()=>{if(a._6.tag===0)return a._5._1>0;if(a._6.tag===1)return a._5._1>a._6._1;u()})()?Fe(a._5._3,a._5._4,Fe(t,e,r,a._5._5),Fe(a._3,a._4,a._5._6,a._6)):Fe(a._3,a._4,Fe(t,e,r,a._5),a._6):r._1>(a._1+1|0)?r._6.tag===1&&(()=>{if(r._5.tag===0)return 0<=r._6._1;if(r._5.tag===1)return r._5._1<=r._6._1;u()})()?Fe(r._6._3,r._6._4,Fe(r._3,r._4,r._5,r._6._5),Fe(t,e,r._6._6,a)):Fe(r._3,r._4,r._5,Fe(t,e,r._6,a)):Fe(t,e,r,a):a.tag===0&&r._1>1?r._6.tag===1&&(()=>{if(r._5.tag===0)return 0<=r._6._1;if(r._5.tag===1)return r._5._1<=r._6._1;u()})()?Fe(r._6._3,r._6._4,Fe(r._3,r._4,r._5,r._6._5),Fe(t,e,r._6._6,a)):Fe(r._3,r._4,r._5,Fe(t,e,r._6,a)):Fe(t,e,r,a);u()},Ud=(t,e,r)=>{if(r.tag===0)return Sc(g,A,A);if(r.tag===1){let a=t(e)(r._3);if(a===0){let n=Ud(t,e,r._5);return Sc(n._1,n._2,br(r._3,r._4,n._3,r._6))}if(a===1){let n=Ud(t,e,r._6);return Sc(n._1,br(r._3,r._4,r._5,n._2),n._3)}if(a===2)return Sc(_(1,r._4),r._5,r._6)}u()},e_=(t,e,r,a)=>{if(a.tag===0)return t_(t,e,r);if(a.tag===1){let n=e_(a._3,a._4,a._5,a._6);return t_(n._1,n._2,br(t,e,r,n._3))}u()},Gd=(t,e)=>{if(t.tag===0)return e;if(t.tag===1){let r=e_(t._3,t._4,t._5,t._6);return br(r._1,r._2,r._3,e)}u()};var Vt=(t,e,r,a)=>{if(r.tag===0)return a;if(a.tag===0)return r;if(a.tag===1){let n=Ud(t,a._3,r),o=Vt(t,e,n._2,a._5),i=Vt(t,e,n._3,a._6);if(n._1.tag===1)return br(a._3,e(n._1._1)(a._4),o,i);if(n._1.tag===0)return br(a._3,a._4,o,i)}u()};var To=t=>e=>r=>{let a=n=>{if(n.tag===0)return A;if(n.tag===1){let o=t.compare(r)(n._3);if(o===0)return br(n._3,n._4,a(n._5),n._6);if(o===1)return br(n._3,n._4,n._5,a(n._6));if(o===2){let i=e(n._4);if(i.tag===0)return Gd(n._5,n._6);if(i.tag===1)return lt(1,n._1,n._2,n._3,i._1,n._5,n._6)}}u()};return a};var r_=t=>{let e=t.compare;return r=>a=>{let n=Ud(e,r,a);return n._1.tag===1?_(1,m(n._1._1,Gd(n._2,n._3))):g}};var _b=t=>e=>a=>{let n=a,o=!0,i;for(;o;){let d=n;if(d.tag===0){o=!1,i=e();continue}if(d.tag===1){o=!1,i=t(d._1,d._2,d._3);continue}if(d.tag===2){n=(c=>f=>{let l=c,p=f,D=!0,h;for(;D;){let E=l,b=p;if(b.tag===0){D=!1,h=E;continue}if(b.tag===1){if(b._6.tag===0){l=jr(1,b._3,b._4,E),p=b._5;continue}l=jr(1,b._3,b._4,jr(2,b._6,E)),p=b._5;continue}u()}return h})(d._2)(d._1);continue}u()}return i};var ln=_b((t,e,r)=>_(1,m(m(t,e),r)))(t=>g);var bc=t=>e=>r=>a=>{let n=o=>{if(o.tag===0)return lt(1,1,1,r,a,A,A);if(o.tag===1){let i=t.compare(r)(o._3);if(i===0)return br(o._3,o._4,n(o._5),o._6);if(i===1)return br(o._3,o._4,o._5,n(o._6));if(i===2)return lt(1,o._1,o._2,r,e(o._4)(a),o._5,o._6)}u()};return n},ot=t=>e=>r=>{let a=n=>{if(n.tag===0)return lt(1,1,1,e,r,A,A);if(n.tag===1){let o=t.compare(e)(n._3);if(o===0)return br(n._3,n._4,a(n._5),n._6);if(o===1)return br(n._3,n._4,n._5,a(n._6));if(o===2)return lt(1,n._1,n._2,e,r,n._5,n._6)}u()};return a};var a_={foldr:t=>e=>{let r=(a,n)=>{if(a.tag===0)return n;if(a.tag===1)return r(a._5,t(a._4)(r(a._6,n)));u()};return a=>r(a,e)},foldl:t=>e=>{let r=(a,n)=>{if(n.tag===0)return a;if(n.tag===1)return r(t(r(a,n._5))(n._4),n._6);u()};return a=>r(e,a)},foldMap:t=>{let e=t.mempty,r=t.Semigroup0();return a=>{let n=o=>{if(o.tag===0)return e;if(o.tag===1)return r.append(n(o._5))(r.append(a(o._4))(n(o._6)));u()};return n}}},hc={foldrWithIndex:t=>e=>{let r=(a,n)=>{if(a.tag===0)return n;if(a.tag===1)return r(a._5,t(a._3)(a._4)(r(a._6,n)));u()};return a=>r(a,e)},foldlWithIndex:t=>e=>{let r=(a,n)=>{if(n.tag===0)return a;if(n.tag===1)return r(t(n._3)(r(a,n._5))(n._4),n._6);u()};return a=>r(e,a)},foldMapWithIndex:t=>{let e=t.mempty,r=t.Semigroup0();return a=>{let n=o=>{if(o.tag===0)return e;if(o.tag===1)return r.append(n(o._5))(r.append(a(o._3)(o._4))(n(o._6)));u()};return n}},Foldable0:()=>a_};var n_=t=>e=>{let r=a=>{if(a.tag===0)return A;if(a.tag===1)return e(a._3)(a._4)?br(a._3,a._4,r(a._5),r(a._6)):Gd(r(a._5),r(a._6));u()};return r};var Ga=t=>e=>e.foldl(r=>a=>ot(t)(a._1)(a._2)(r))(A),o_=t=>e=>r=>{let a=bc(t)(n=>o=>r(o)(n));return e.foldl(n=>o=>a(o._1)(o._2)(n))(A)};var er=t=>e=>{let r=a=>{if(a.tag===0)return A;if(a.tag===1){let n=t.compare(e)(a._3);if(n===0)return br(a._3,a._4,r(a._5),a._6);if(n===1)return br(a._3,a._4,a._5,r(a._6));if(n===2)return Gd(a._5,a._6)}u()};return r};var Pi=t=>{let e=t.compare;return r=>a=>n=>{let o=Ud(e,a,n),i=r(o._1);if(i.tag===0)return Gd(o._2,o._3);if(i.tag===1)return br(a,i._1,o._2,o._3);u()}};function Cr(t,e,r){return t==null?e:r(t)}var d_=t=>({show:e=>{let r=Cr(e,g,pt);if(r.tag===0)return"null";if(r.tag===1)return t.show(r._1);u()}});function ws(t){return function(e){return function(r){return t.apply(r,[e])}}}var gb=ws(Number.prototype.toPrecision),Db=ws(Number.prototype.toFixed),yb=ws(Number.prototype.toExponential);function Qd(t){return t.toString()}var bb=t=>t,$_=bb(0);var Ec=t=>{if(t===0)return"SIGABRT";if(t===1)return"SIGALRM";if(t===2)return"SIGBUS";if(t===3)return"SIGCHLD";if(t===4)return"SIGCLD";if(t===5)return"SIGCONT";if(t===6)return"SIGEMT";if(t===7)return"SIGFPE";if(t===8)return"SIGHUP";if(t===9)return"SIGILL";if(t===10)return"SIGINFO";if(t===11)return"SIGINT";if(t===12)return"SIGIO";if(t===13)return"SIGIOT";if(t===14)return"SIGKILL";if(t===15)return"SIGLOST";if(t===16)return"SIGPIPE";if(t===17)return"SIGPOLL";if(t===18)return"SIGPROF";if(t===19)return"SIGPWR";if(t===20)return"SIGQUIT";if(t===21)return"SIGSEGV";if(t===22)return"SIGSTKFLT";if(t===23)return"SIGSTOP";if(t===24)return"SIGSYS";if(t===25)return"SIGTERM";if(t===26)return"SIGTRAP";if(t===27)return"SIGTSTP";if(t===28)return"SIGTTIN";if(t===29)return"SIGTTOU";if(t===30)return"SIGUNUSED";if(t===31)return"SIGURG";if(t===32)return"SIGUSR1";if(t===33)return"SIGUSR2";if(t===34)return"SIGVTALRM";if(t===35)return"SIGWINCH";if(t===36)return"SIGXCPU";if(t===37)return"SIGXFSZ";u()};var wn={foldMap:t=>{let e=Ye.foldMap(t);return r=>{let a=e(r);return n=>a((()=>{let o=(i,d)=>{if(i.tag===0)return d;if(i.tag===1)return o(i._5,B(1,i._3,o(i._6,d)));u()};return o(n,G)})())}},foldl:t=>e=>{let a=(n=>o=>{let i=n,d=o,$=!0,c;for(;$;){let f=i,l=d;if(l.tag===0){$=!1,c=f;continue}if(l.tag===1){i=t(f)(l._1),d=l._2;continue}u()}return c})(e);return n=>a((()=>{let o=(i,d)=>{if(i.tag===0)return d;if(i.tag===1)return o(i._5,B(1,i._3,o(i._6,d)));u()};return o(n,G)})())},foldr:t=>e=>{let r=Ye.foldr(t)(e);return a=>r((()=>{let n=(o,i)=>{if(o.tag===0)return i;if(o.tag===1)return n(o._5,B(1,o._3,n(o._6,i)));u()};return n(a,G)})())}};var Rs=t=>e=>wn.foldr(r=>a=>{let n=e(r);if(n.tag===0)return a;if(n.tag===1)return ot(t)(n._1)()(a);u()})(A),Ea=t=>{let e={append:(()=>{let r=t.compare;return a=>n=>Vt(r,Wt,a,n)})()};return{mempty:A,Semigroup0:()=>e}};var c_=function(t){return function(e){return function(r){return function(a){try{return e(new RegExp(r,a))}catch(n){return t(n.message)}}}}};var u_=function(t){return function(e){var r=t.lastIndex,a=t.test(e);return t.lastIndex=r,a}},s_=function(t){return function(e){return function(r){return function(a){var n=a.match(r);if(n==null||n.length===0)return e;for(var o=0;o<n.length;o++)n[o]=n[o]==null?e:t(n[o]);return t(n)}}}};var p_=function(t){return function(e){return function(r){return function(a){return function(n){return n.replace(r,function(o){for(var i=[],d,$=1;typeof(d=arguments[$++])!="number";)i.push(d==null?e:t(d));return a(o)(i)})}}}}};var l_=p_(pt)(g);var f_=t=>e=>c_(La)(Ae)(t)((e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.dotAll?"s":"")+(e.sticky?"y":"")+(e.unicode?"u":""));var __=s_(pt)(g);var m_={global:!1,ignoreCase:!1,multiline:!1,dotAll:!1,sticky:!1,unicode:!0};var g_={global:!1,ignoreCase:!1,multiline:!1,dotAll:!1,sticky:!1,unicode:!1};var Ut=function(t){throw new Error(t)};var Bi=t=>e=>{let r=f_(t)(e);if(r.tag===0)return Ut(r._1);if(r.tag===1)return r._1;u()};var s=(t,e,r,a)=>({tag:t,_1:e,_2:r,_3:a});var D_=t=>e=>s(2,t,e),Tc=t=>e=>s(3,t,e);var Y=s(9),C=s(10);var Mb={append:t=>e=>t.tag===10?e:e.tag===10?t:t.tag===8&&e.tag===8?s(8,t._1+e._1|0,t._2+e._2):s(0,t,e)},qn={mempty:C,Semigroup0:()=>Mb};var Gs=t=>e=>r=>a=>{if(a.tag===0)return t.Applicative0().pure(r);if(a.tag===1){let n=a._2;return t.Bind1().bind(e(r)(a._1))(o=>Gs(t)(e)(o)(n))}u()};var Ic=t=>({buffer:Ye.foldr(e=>r=>Ye.foldr(Sf)(r)(e))(t.buffer)(t.queue),queue:G});var oe=(t,e,r)=>({tag:t,_1:e,_2:r}),Oc=(t,e)=>({tag:t,_1:e}),Pb=t=>e=>{let r=at.compare(t)(e);if(r===0)return e;if(r===2||r===1)return t;u()},Cb=t=>e=>{let r=wa.compare(t)(e);if(r===0)return e;if(r===2||r===1)return t;u()},Bb=t=>e=>{let r=wa.compare(t)(e);if(r===0||r===2)return t;if(r===1)return e;u()},y_=oa(Sa);var ki=Oc(0),kb=Oc(1);var Ai={pageWidth:80,ribbonRatio:1,indentUnit:" ",indentWidth:2};var Jd={emptyBuffer:"",writeText:t=>e=>r=>r+e,writeIndent:t=>e=>r=>r+e,writeBreak:t=>t+`
`,enterAnnotation:t=>e=>r=>r,leaveAnnotation:t=>e=>r=>r,flushBuffer:t=>t};var Ne=t=>e=>t.foldr(r=>a=>{if(r.tag===10)return a;if(a.tag===10)return r;let n=e.tag===10?a:a.tag===10?e:e.tag===8&&a.tag===8?s(8,e._1+a._1|0,e._2+a._2):s(0,e,a);return r.tag===10?n:n.tag===10?r:r.tag===8&&n.tag===8?s(8,r._1+n._1|0,r._2+n._2):s(0,r,n)})(C);var b_=t=>e=>r=>a=>n=>{let o=Ne(t)(a)(n),i=o.tag===10?r:r.tag===10?o:o.tag===8&&r.tag===8?s(8,o._1+r._1|0,o._2+r._2):s(0,o,r);return e.tag===10?i:i.tag===10?e:e.tag===8&&i.tag===8?s(8,e._1+i._1|0,e._2+i._2):s(0,e,i)};var jd=t=>e=>Pb(0)(bo(xd(t.ribbonRatio*$n(t.pageWidth-e|0)))),S_=t=>e=>r=>{let a={indentUnit:e.indentUnit,indentWidth:e.indentWidth,pageWidth:e.pageWidth,ribbonRatio:e.ribbonRatio};return{...r,indentSpaces:e.indentSpaces,options:a,position:{...r.position,pageWidth:a.pageWidth,ribbonWidth:jd(a)(t),nextIndent:e.indent}}},Fi=t=>e=>{let r={...e,ribbonRatio:Cb(0)(Bb(1)(e.ribbonRatio))},a=o=>i=>{let d=o,$=i,c=!0,f;for(;c;){let l=d,p=$;if(l.tag===0){c=!1,f=t.flushBuffer(Ic(p.buffer).buffer);continue}if(l.tag===1){if(l._1.tag===0){if(l._1._1.tag===0){d=B(1,oe(0,l._1._1._1),B(1,oe(0,l._1._1._2),l._2)),$=p;continue}if(l._1._1.tag===8){if(p.position.column===0&&p.position.indent>0){d=l,$={...p,position:{...p.position,column:p.position.indent},buffer:(()=>{let D=t.writeIndent(p.position.indent)(p.indentSpaces);return p.buffer.queue.tag===1?{...p.buffer,queue:B(1,B(1,D,p.buffer.queue._1),p.buffer.queue._2)}:{...p.buffer,buffer:D(p.buffer.buffer)}})()};continue}if((p.position.column+l._1._1._1|0)<=(p.position.indent+p.position.ribbonWidth|0)){d=l._2,$={...p,position:{...p.position,column:p.position.column+l._1._1._1|0},buffer:(()=>{let D=t.writeText(l._1._1._1)(l._1._1._2);return p.buffer.queue.tag===1?{...p.buffer,queue:B(1,B(1,D,p.buffer.queue._1),p.buffer.queue._2)}:{...p.buffer,buffer:D(p.buffer.buffer)}})()};continue}if(p.flexGroup.tag===2){d=p.flexGroup._1.stack,$={position:p.flexGroup._1.position,buffer:p.flexGroup._1.buffer,annotations:p.flexGroup._1.annotations,indentSpaces:p.flexGroup._1.indentSpaces,flexGroup:ki,options:p.flexGroup._1.options};continue}d=l._2,$={...p,position:{...p.position,column:p.position.column+l._1._1._1|0},flexGroup:ki,buffer:(()=>{let D=t.writeText(l._1._1._1)(l._1._1._2);return p.buffer.queue.tag===1?{...p.buffer,queue:B(1,B(1,D,p.buffer.queue._1),p.buffer.queue._2)}:{...p.buffer,buffer:D(p.buffer.buffer)}})()};continue}if(l._1._1.tag===9){if(p.flexGroup.tag===2){d=p.flexGroup._1.stack,$={position:p.flexGroup._1.position,buffer:p.flexGroup._1.buffer,annotations:p.flexGroup._1.annotations,indentSpaces:p.flexGroup._1.indentSpaces,flexGroup:ki,options:p.flexGroup._1.options};continue}d=l._2,$={...p,position:{...p.position,line:p.position.line+1|0,column:0,indent:p.position.nextIndent,ribbonWidth:jd(p.options)(p.position.nextIndent)},buffer:p.buffer.queue.tag===1?{...p.buffer,queue:B(1,B(1,t.writeBreak,p.buffer.queue._1),p.buffer.queue._2)}:{...p.buffer,buffer:t.writeBreak(p.buffer.buffer)},flexGroup:ki};continue}if(l._1._1.tag===1){if(p.position.column===0){d=B(1,oe(0,l._1._1._1),B(1,oe(1,p.indentSpaces,p.position.nextIndent),l._2)),$={...p,position:{...p.position,indent:p.position.nextIndent+e.indentWidth|0,nextIndent:p.position.nextIndent+e.indentWidth|0,ribbonWidth:jd(p.options)(p.position.nextIndent+e.indentWidth|0)},indentSpaces:p.indentSpaces+e.indentUnit};continue}d=B(1,oe(0,l._1._1._1),B(1,oe(1,p.indentSpaces,p.position.nextIndent),l._2)),$={...p,position:{...p.position,nextIndent:p.position.nextIndent+e.indentWidth|0},indentSpaces:p.indentSpaces+e.indentUnit};continue}if(l._1._1.tag===2){if(p.position.column===0){d=B(1,oe(0,l._1._1._2),B(1,oe(1,p.indentSpaces,p.position.nextIndent),l._2)),$={...p,position:{...p.position,indent:p.position.nextIndent+l._1._1._1|0,nextIndent:p.position.nextIndent+l._1._1._1|0,ribbonWidth:jd(p.options)(p.position.nextIndent+l._1._1._1|0)},indentSpaces:p.indentSpaces+y_(" ")(l._1._1._1)};continue}d=B(1,oe(0,l._1._1._2),B(1,oe(1,p.indentSpaces,p.position.nextIndent),l._2)),$={...p,position:{...p.position,nextIndent:p.position.nextIndent+l._1._1._1|0},indentSpaces:p.indentSpaces+y_(" ")(l._1._1._1)};continue}if(l._1._1.tag===4){if(p.flexGroup.tag===0){d=B(1,oe(0,l._1._1._1),B(1,oe(3,l._1._1._2,l._1._1._3),l._2)),$={...p,flexGroup:kb};continue}if(p.flexGroup.tag===1&&p.position.ribbonWidth>0){d=B(1,oe(0,l._1._1._1),B(1,oe(0,l._1._1._2),l._2)),$={...p,flexGroup:Oc(2,{position:p.position,buffer:p.buffer,annotations:p.annotations,indentSpaces:p.indentSpaces,stack:l,options:p.options}),buffer:{...p.buffer,queue:B(1,G,p.buffer.queue)}};continue}d=B(1,oe(0,l._1._1._1),B(1,oe(0,l._1._1._2),l._2)),$=p;continue}if(l._1._1.tag===5){if(p.flexGroup.tag===2){d=B(1,oe(0,l._1._1._1),l._2),$=p;continue}if(p.flexGroup.tag===1&&p.position.ribbonWidth>0){d=B(1,oe(0,l._1._1._1),l._2),$={...p,flexGroup:Oc(2,{position:p.position,buffer:p.buffer,annotations:p.annotations,indentSpaces:p.indentSpaces,stack:B(1,oe(0,l._1._1._2),l._2),options:p.options}),buffer:{...p.buffer,queue:B(1,G,p.buffer.queue)}};continue}d=B(1,oe(0,l._1._1._2),l._2),$=p;continue}if(l._1._1.tag===6){if(p.position.column===0&&p.position.nextIndent>0){d=B(1,oe(0,l._1._1._1({...p.position,column:p.position.nextIndent})),l._2),$=p;continue}d=B(1,oe(0,l._1._1._1(p.position)),l._2),$=p;continue}if(l._1._1.tag===3){d=B(1,oe(0,l._1._1._2),B(1,oe(2,l._1._1._1,p.annotations),l._2)),$={...p,annotations:B(1,l._1._1._1,p.annotations),buffer:(()=>{let D=t.enterAnnotation(l._1._1._1)(p.annotations);return p.buffer.queue.tag===1?{...p.buffer,queue:B(1,B(1,D,p.buffer.queue._1),p.buffer.queue._2)}:{...p.buffer,buffer:D(p.buffer.buffer)}})()};continue}if(l._1._1.tag===7){let D={indent:p.position.indent,indentSpaces:p.indentSpaces,indentUnit:p.options.indentUnit,indentWidth:p.options.indentWidth,pageWidth:p.options.pageWidth,ribbonRatio:p.options.ribbonRatio},h=l._1._1._1(D);d=B(1,oe(0,h._2),B(1,oe(4,D),l._2)),$=S_(p.position.indent)(h._1)(p);continue}if(l._1._1.tag===10){d=l._2,$=p;continue}u()}if(l._1.tag===3){if(p.flexGroup.tag===0){d=B(1,oe(0,l._1._2),l._2),$={...p,buffer:Ic(p.buffer)};continue}d=B(1,oe(0,l._1._1),l._2),$={...p,flexGroup:ki,buffer:Ic(p.buffer)};continue}if(l._1.tag===1){d=l._2,$={...p,position:{...p.position,nextIndent:l._1._2},indentSpaces:l._1._1};continue}if(l._1.tag===2){d=l._2,$={...p,annotations:l._1._2,buffer:(()=>{let D=t.leaveAnnotation(l._1._1)(l._1._2);return p.buffer.queue.tag===1?{...p.buffer,queue:B(1,B(1,D,p.buffer.queue._1),p.buffer.queue._2)}:{...p.buffer,buffer:D(p.buffer.buffer)}})()};continue}if(l._1.tag===4){d=l._2,$=S_(p.position.indent)(l._1._1)(p);continue}}u()}return f},n={position:{line:0,column:0,indent:0,nextIndent:0,pageWidth:r.pageWidth,ribbonWidth:jd(r)(0)},buffer:{buffer:t.emptyBuffer,queue:G},annotations:G,indentSpaces:"",flexGroup:ki,options:r};return o=>a(B(1,oe(0,o),G))(n)};var xi=t=>e=>{if(t.tag===10)return e;if(e.tag===10)return t;let r=e.tag===10?s(8,1," "):e.tag===8?s(8,1+e._1|0," "+e._2):s(0,s(8,1," "),e);return t.tag===10?r:r.tag===10?t:t.tag===8&&r.tag===8?s(8,t._1+r._1|0,t._2+r._2):s(0,t,r)};var zi=t=>e=>{if(t.tag===10)return e;if(e.tag===10)return t;let r=e.tag===10?Y:s(0,Y,e);return t.tag===10?r:r.tag===10?t:t.tag===8&&r.tag===8?s(8,t._1+r._1|0,t._2+r._2):s(0,t,r)};var Io=t=>e=>{if(t>0){let r=D_(t);return e.tag===10?C:r(e)}return e};var M_=t=>t,_r=(t,e,r,a)=>({tag:t,_1:e,_2:r,_3:a}),Ni=(t,e,r,a)=>({tag:t,_1:e,_2:r,_3:a}),zr=(t,e,r,a)=>({tag:t,_1:e,_2:r,_3:a}),Vd=(t,e)=>({tag:t,_1:e}),Li=(t,e,r,a,n)=>({tag:t,_1:e,_2:r,_3:a,_4:n}),js=(t,e,r)=>({tag:t,_1:e,_2:r}),_n=(t,e)=>({tag:t,_1:e}),Hs=(t,e,r,a)=>({tag:t,_1:e,_2:r,_3:a}),Pc=t=>e=>{let r=at.compare(t)(e);if(r===0)return e;if(r===2||r===1)return t;u()},Ab=oa(qn);var Vs=Vd(2),Kd=Ni(0);var Fb=Hs(2),ja=M_(0);var Ks=M_(2);var Oo=_r(5);var xb=Li(3);var zb=t=>t<=0?Oo:_r(4,{height:t,width:0});var Wn=t=>{let e=t,r=!0,a;for(;r;){let n=e;if(n.tag===0){r=!1,a={width:n._2,height:1};continue}if(n.tag===1){r=!1,a=n._3;continue}if(n.tag===2){r=!1,a=n._3;continue}if(n.tag===3){e=n._3;continue}if(n.tag===4){r=!1,a=n._1;continue}if(n.tag===5){r=!1,a={width:0,height:0};continue}u()}return a},Yd=t=>e=>t.tag===5?e:e.tag===5?t:t.tag===4&&e.tag===4?_r(4,{width:Pc(t._1.width)(e._1.width),height:t._1.height+e._1.height|0}):_r(1,t,e,(()=>{let r=Wn(t),a=Wn(e);return{width:Pc(r.width)(a.width),height:r.height+a.height|0}})());var Js=(()=>{let t=e=>r=>{let a=e,n=r,o=!0,i;for(;o;){let d=a,$=n;if(d.tag===0){if(d._1.tag===0){a=_n(1,g),n=$;continue}if(d._1.tag===1){a=_n(1,_(1,{line:js(1,d._1._1),next:d._1._2})),n=$;continue}if(d._1.tag===2){if(d._1._2===0){a=_n(0,d._1._3),n=$;continue}a=_n(1,_(1,{line:js(0,d._1._1),next:Ni(2,d._1._1,d._1._2-1|0,d._1._3)})),n=$;continue}if(d._1.tag===3){a=_n(0,d._1._2),n=Hs(0,d._1._1,d._1._3,$);continue}u()}if(d.tag===1){if($.tag===0){a=_n(0,$._1),n=Hs(1,d._1,$._2,$._3);continue}if($.tag===1){if(d._1.tag===1&&$._1.tag===1){a=_n(1,_(1,{line:js(2,d._1._1.line,$._1._1.line),next:Ni(3,d._1._1.next,$._1._1.next,$._2)})),n=$._3;continue}a=_n(0,$._2),n=$._3;continue}if($.tag===2){o=!1,i=d._1;continue}}u()}return i};return e=>t(_n(0,e))(Fb)})(),h_=t=>e=>r=>a=>n=>{if(n===0)return t(a)(e(r));if(n===1){let o=$n(r)/2;return t(t(e(bo($c(o))))(a))(e(bo(xd(o))))}if(n===2)return t(e(r))(a);u()};var Lb=t=>t<=0?Oo:_r(4,{height:1,width:t}),Ys=t=>e=>t.tag===5?e:e.tag===5?t:t.tag===4&&e.tag===4?_r(4,{width:t._1.width+e._1.width|0,height:Pc(t._1.height)(e._1.height)}):_r(2,t,e,(()=>{let r=Wn(t),a=Wn(e);return{width:r.width+a.width|0,height:Pc(r.height)(a.height)}})());var Xd=t=>e=>{let r=Wn(e),a=t.height-r.height|0,n=t.width-r.width|0,o=e.tag===3?e._3:e,i=n<=0?o.tag===3&&o._2===0?o._3:o.tag===3?_r(3,ja,o._2,o._3):_r(3,ja,ja,o):h_(Ys)(Lb)(n)(e)(e.tag===3?e._2:ja);return a<=0?i.tag===3&&i._1===0?i._3:i.tag===3?_r(3,i._1,ja,i._3):_r(3,ja,ja,i):h_(Yd)(zb)(a)(i)(e.tag===3?e._1:ja)};var E_=(()=>{let e=(r=>a=>{let n=r,o=a,i=!0,d;for(;i;){let $=n,c=o;if(c.tag===0){i=!1,d=$;continue}if(c.tag===1){if(c._1.tag===0){if($.tag===10){n=$,o=c._2;continue}n=(()=>{let f=Ab(s(8,1," "))(c._1._1);return f.tag===10?$:$.tag===10?f:f.tag===8&&$.tag===8?s(8,f._1+$._1|0,f._2+$._2):s(0,f,$)})(),o=c._2;continue}if(c._1.tag===1){n=c._1._1.tag===10?$:$.tag===10?c._1._1:c._1._1.tag===8&&$.tag===8?s(8,c._1._1._1+$._1|0,c._1._1._2+$._2):s(0,c._1._1,$),o=c._2;continue}if(c._1.tag===2){n=$,o=B(1,c._1._2,B(1,c._1._1,c._2));continue}}u()}return d})(C);return r=>e(B(1,r,G))})();var T_=(()=>{let e=(r=>a=>{let n=r,o=a,i=!0,d;for(;i;){let $=n,c=o;if(c.tag===0){i=!1,d=$;continue}if(c.tag===1){n=(()=>{if(c._1.tag===0){let f=Tc(c._1._1);return $.tag===10?C:f($)}if(c._1.tag===1)return c._1._1.tag===10?$:$.tag===10?c._1._1:c._1._1.tag===8&&$.tag===8?s(8,c._1._1._1+$._1|0,c._1._1._2+$._2):s(0,c._1._1,$);u()})(),o=c._2;continue}u()}return d})(C);return{emptyBuffer:{currentIndent:C,currentLine:G,currentWidth:0,lines:Oo},writeT