squint-cljs 0.4.79 → 0.4.81
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +40 -40
- package/lib/cljs.pprint.js +142 -142
- package/lib/compiler.js +377 -376
- package/lib/compiler.node.js +25 -25
- package/lib/compiler.sci.js +1022 -1022
- package/lib/node.nrepl_server.js +14 -14
- package/lib/squint.core.umd.js +1 -1
- package/package.json +1 -1
- package/src/squint/core.js +197 -7
- package/src/squint/set.js +26 -11
package/lib/node.nrepl_server.js
CHANGED
|
@@ -4,20 +4,20 @@ import "./node.js";
|
|
|
4
4
|
import "./compiler.node.js";
|
|
5
5
|
const shadow_esm_import = function(x) { return import(x) };
|
|
6
6
|
import*as esm_import$fs from"fs";import*as esm_import$net from"net";
|
|
7
|
-
var K9=function(a,b){a=a.indexOf(b);if(0>a)throw Error("out of input");return a},L9=function(a,b){if(a.length<b)throw Error("out of input");return a.slice(b)},M9=function(a,b){if(b>a.length)throw Error("out of input");return a.slice(0,b)},N9=function(a){return console.debug($APP.wp.g(" ",a))},
|
|
8
|
-
|
|
9
|
-
"version-string",a)},
|
|
10
|
-
$APP.Oi.l($APP.F([c]));else return $APP.Oi.l($APP.F([c]))},
|
|
11
|
-
$APP.fe.g(c,
|
|
12
|
-
2,["ex",$APP.t.h(d),"ns",$APP.t.h($APP.vq)],null);return b.g?b.g(c,d):b.call(null,c,d)}).finally(function(){var d=new $APP.n(null,2,["ns",$APP.t.h($APP.u(R9)),"status",new $APP.J(null,1,5,$APP.N,["done"],null)],null);return b.g?b.g(c,d):b.call(null,c,d)})},S9=function(a){a=$APP.jf(a);$APP.fe.g(a,$APP.S);return null},
|
|
13
|
-
c=new $APP.n(null,1,["status",new $APP.J(null,3,5,$APP.N,["error","unknown-op","done"],null)],null);return b.g?b.g(a,c):b.call(null,a,c)},
|
|
14
|
-
l,f);l=$APP.B.j(m,0,null);m=$APP.B.j(m,1,null);if(null==l){k=new $APP.J(null,2,5,$APP.N,[k,m],null);break a}k=$APP.Ee.g(k,l);l=m}f=$APP.B.j(k,0,null);k=$APP.B.j(k,1,null);$APP.
|
|
15
|
-
N9($APP.F(["Connection closed"]))})},
|
|
16
|
-
"code","code",1586293142),
|
|
7
|
+
var K9=function(a,b){a=a.indexOf(b);if(0>a)throw Error("out of input");return a},L9=function(a,b){if(a.length<b)throw Error("out of input");return a.slice(b)},M9=function(a,b){if(b>a.length)throw Error("out of input");return a.slice(0,b)},N9=function(a){return console.debug($APP.wp.g(" ",a))},sga=function(a){return function(b,c){b=$APP.jf(b);var d=$APP.fe.g(b,$APP.UG),e=$APP.fe.g(b,rga);c=$APP.zi.j(c,"id",d);c=$APP.r(e)?$APP.zi.j(c,"session",e):c;return a.g?a.g(b,c):a.call(null,b,c)}},uga=function(){var a=
|
|
8
|
+
tga;return function(b,c){b=$APP.Pm.j(b,O9,$APP.ri);return a.g?a.g(b,c):a.call(null,b,c)}},wga=function(){var a=vga();return function(b,c){N9($APP.F(["request",b]));return a.g?a.g(b,c):a.call(null,b,c)}},xga=function(a){return function(b,c){N9($APP.F(["response",c]));return a.g?a.g(b,c):a.call(null,b,c)}},vga=function(){var a=uga();return function(b,c){return a.g?a.g(b,c):a.call(null,b,c)}},P9=function(a){return $APP.zi.j($APP.Yh(new $APP.J(null,3,5,$APP.N,["major","minor","incremental"],null),$APP.Zt.h(a.split("."))),
|
|
9
|
+
"version-string",a)},yga=function(a,b,c){if($APP.r(a))if(a=Q9.h?Q9.h(a):Q9.call(null,a),$APP.r(a)){b=$APP.jf(b);var d=$APP.fe.g(b,$APP.s9),e=$APP.fe.g(b,$APP.l9),f=$APP.fe.g(b,$APP.u9);b=$APP.Qa;var k=$APP.hi,l=$APP.T6;$APP.Qa=e;$APP.hi=f;$APP.T6=d;try{var m=new $APP.Fa;d=$APP.Ta;e=$APP.Ua;$APP.Ta=!0;$APP.Ua=function(h){return m.append(h)};try{a.h?a.h(c):a.call(null,c)}finally{$APP.Ua=e,$APP.Ta=d}return $APP.t.h(m)}finally{$APP.T6=l,$APP.hi=k,$APP.Qa=b}}else return N9($APP.F(["Pretty-Printing is only supported for cider.nrepl.pprint/pprint"])),
|
|
10
|
+
$APP.Oi.l($APP.F([c]));else return $APP.Oi.l($APP.F([c]))},Aga=function(a){a:{var b=$APP.vq;$APP.vq=$APP.u(R9);try{var c=$APP.Yt(a,new $APP.n(null,5,[$APP.np,$APP.mp,$APP.Oq,zga,$APP.Nt,!0,$APP.jt,!0,$APP.vs,!0],null),null);break a}finally{$APP.vq=b}c=void 0}c=$APP.jf(c);a=$APP.fe.g(c,$APP.Xt);c=$APP.fe.g(c,$APP.S);a=$APP.Wj("(async function () {\n%s\n}) ()","%s",a);$APP.Jf(R9,c);return a},Gga=function(a,b){var c=$APP.jf(a);$APP.fe.g(c,$APP.S);a=$APP.fe.g(c,Bga);$APP.fe.g(c,$APP.Wk);$APP.fe.g(c,Cga);
|
|
11
|
+
$APP.fe.g(c,Dga);return Promise.resolve(a).then(Aga).then(function(d){$APP.PG.l($APP.F(["About to eval:"]));$APP.PG.l($APP.F([d]));return eval(d)}).then(function(d){d=new $APP.n(null,2,["ns",$APP.t.h($APP.u(R9)),"value",yga(Ega.h(c),Fga.h(c),d)],null);return b.g?b.g(c,d):b.call(null,c,d)}).catch(function(d){console.error(d);var e=$APP.TG.h($APP.mj(d));e=$APP.r(e)?e:d.message;$APP.r(e)&&(e=new $APP.n(null,1,["err",[$APP.t.h(e),"\n"].join("")],null),b.g?b.g(c,e):b.call(null,c,e));d=new $APP.n(null,
|
|
12
|
+
2,["ex",$APP.t.h(d),"ns",$APP.t.h($APP.vq)],null);return b.g?b.g(c,d):b.call(null,c,d)}).finally(function(){var d=new $APP.n(null,2,["ns",$APP.t.h($APP.u(R9)),"status",new $APP.J(null,1,5,$APP.N,["done"],null)],null);return b.g?b.g(c,d):b.call(null,c,d)})},S9=function(a){a=$APP.jf(a);$APP.fe.g(a,$APP.S);return null},tga=function(a,b){a=$APP.jf(a);var c=$APP.fe.g(a,O9),d=$APP.fe.g(T9,c);if($APP.r(d))return d.g?d.g(a,b):d.call(null,a,b);console.warn($APP.wp.g(" ",$APP.F(["Unhandled operation",c])));
|
|
13
|
+
c=new $APP.n(null,1,["status",new $APP.J(null,3,5,$APP.N,["error","unknown-op","done"],null)],null);return b.g?b.g(a,c):b.call(null,a,c)},Hga=function(a){return function(b,c){return a.write(U9(c))}},Iga=function(a,b){N9($APP.F(["Connection accepted"]));b.setNoDelay(!0);var c=wga(),d=sga(xga(Hga(b))),e=$APP.Si.h(null);b.on("data",function(f){var k=$APP.u(e);if($APP.r(k)){f=[$APP.t.h(k),$APP.t.h(f)].join("");$APP.Jf(e,null);var l=f}else l=f;a:for(f=$APP.F([$APP.$t,!0]),k=$APP.lg;;){var m=$APP.Gf.j(V9,
|
|
14
|
+
l,f);l=$APP.B.j(m,0,null);m=$APP.B.j(m,1,null);if(null==l){k=new $APP.J(null,2,5,$APP.N,[k,m],null);break a}k=$APP.Ee.g(k,l);l=m}f=$APP.B.j(k,0,null);k=$APP.B.j(k,1,null);$APP.pG(k)||$APP.Jf(e,k);f=$APP.x(f);k=null;for(var h=m=0;;)if(h<m)l=k.ba(null,h),c(l,d),h+=1;else if(f=$APP.x(f))k=f,$APP.Yd(k)?(f=$APP.uc(k),m=$APP.vc(k),k=f,l=$APP.xd(f),f=m,m=l):(l=$APP.y(k),c(l,d),f=$APP.z(k),k=null,m=0),h=0;else return null});return b.on("close",function(f){return $APP.r(f)?N9($APP.F(["Connection lost"])):
|
|
15
|
+
N9($APP.F(["Connection closed"]))})},Dga=new $APP.H(null,"_line","_line",232847719),Fga=new $APP.H("nrepl.middleware.print","options","nrepl.middleware.print/options",868480159),rga=new $APP.H(null,"session","session",1008279103),Jga=new $APP.H(null,"lookup","lookup",1225356838),Kga=new $APP.H(null,"load-file","load-file",-424586670),Cga=new $APP.H(null,"_load-file?","_load-file?",-1198848711),O9=new $APP.H(null,"op","op",-1882987955),Lga=new $APP.H(null,"describe","describe",1369790582),Bga=new $APP.H(null,
|
|
16
|
+
"code","code",1586293142),Mga=new $APP.H(null,"eldoc","eldoc",-1321421900),Nga=new $APP.H(null,"log_level","log_level",-1756736313),Ega=new $APP.H("nrepl.middleware.print","print","nrepl.middleware.print/print",-1616742548),Oga=new $APP.H(null,"clone","clone",711747572),Pga=new $APP.H(null,"close","close",1835149582),Qga=new $APP.H(null,"info","info",-317069002),Rga=new $APP.H(null,"host","host",-1558485167),Sga=new $APP.H(null,"complete","complete",-500388775);var W9=function W9(a,b){switch($APP.t.h(M9(a,1))){case "i":return a=L9(a,1),b=K9(a,"e"),new $APP.J(null,2,5,$APP.N,[parseInt(M9(a,b)),L9(a,b+1)],null);case "l":var d=a=L9(a,1);for(a=$APP.mc($APP.lg);;){if($APP.A.g($APP.t.h(M9(d,1)),"e"))return new $APP.J(null,2,5,$APP.N,[$APP.oc(a),L9(d,1)],null);var e=W9.g?W9.g(d,b):W9.call(null,d,b),f=$APP.B.j(e,0,null),k=$APP.B.j(e,1,null);e=k;a=$APP.fg.g(a,f);d=e}case "d":for(a=L9(a,1),f=$APP.jf(b),f=$APP.fe.g(f,$APP.$t),d=a,e=$APP.mc($APP.hf);;){if($APP.A.g($APP.t.h(M9(d,
|
|
17
17
|
1)),"e"))return new $APP.J(null,2,5,$APP.N,[$APP.oc(e),L9(d,1)],null);a=W9.g?W9.g(d,b):W9.call(null,d,b);d=$APP.B.j(a,0,null);k=$APP.B.j(a,1,null);k=W9.g?W9.g(k,b):W9.call(null,k,b);a=$APP.B.j(k,0,null);k=$APP.B.j(k,1,null);d=$APP.r(f)?$APP.ri.h(d):d;a=$APP.Ug.j(e,d,a);d=k;e=a}default:return b=K9(a,":"),f=parseInt(M9(a,b)),a=L9(a,b+1),new $APP.J(null,2,5,$APP.N,[$APP.t.h(M9(a,f)),L9(a,f)],null)}},V9=function V9(a){for(var c=[],d=arguments.length,e=0;;)if(e<d)c.push(arguments[e]),e+=1;else break;return V9.l(arguments[0],
|
|
18
18
|
1<c.length?new $APP.Xc(c.slice(1),0,null):null)};V9.l=function(a,b){try{return W9(a,b)}catch(c){if(c instanceof Error)return new $APP.J(null,2,5,$APP.N,[null,a],null);throw c;}};V9.m=1;V9.o=function(a){var b=$APP.y(a);a=$APP.z(a);return this.l(b,a)};
|
|
19
19
|
var U9=function U9(a){for(;;){if("string"===typeof a)return[$APP.t.h(Buffer.from(a).length),":",a].join("");if(a instanceof $APP.H||a instanceof $APP.w)a=[function(){var c=$APP.Oe(a);return $APP.r(c)?[c,"/"].join(""):null}(),$APP.Xh(a)].join("");else return"number"===typeof a?["i",$APP.t.h(a),"e"].join(""):$APP.Td(a)||$APP.Xd(a)||null==a?["l",$APP.t.h($APP.Gf.g($APP.t,$APP.qi.g(U9,a))),"e"].join(""):$APP.Vd(a)?["d",$APP.t.h($APP.Gf.g($APP.t,$APP.qi.g(function(){return function(c){var d=$APP.B.j(c,
|
|
20
|
-
0,null);c=$APP.B.j(c,1,null);return[$APP.t.h(U9.h?U9.h(d):U9.call(null,d)),$APP.t.h(U9.h?U9.h(c):U9.call(null,c))].join("")}}(a),$APP.
|
|
21
|
-
var
|
|
22
|
-
2,["nbb-nrepl",P9("TODO"),"node",P9(process.version)],null),"aux",$APP.hf,"ops",$APP.Yh($APP.qi.g($APP.Xh,$APP.Mh(T9)),$APP.
|
|
23
|
-
":",$APP.t.h(f)].join("")]));try{return esm_import$fs.writeFileSync(".nrepl-port",$APP.t.h(f))}catch(k){return console.warn($APP.wp.g(" ",$APP.F(["Could not write .nrepl-port",k])))}});return $APP.Jf(
|
|
20
|
+
0,null);c=$APP.B.j(c,1,null);return[$APP.t.h(U9.h?U9.h(d):U9.call(null,d)),$APP.t.h(U9.h?U9.h(c):U9.call(null,c))].join("")}}(a),$APP.NG.g($APP.y,a)))),"e"].join(""):null}};var R9=$APP.Si.h($APP.vq),Q9=new $APP.n(null,1,["cider.nrepl.pprint/pprint",$APP.B9],null);$APP.Si.h(!1);
|
|
21
|
+
var zga=$APP.Si.h($APP.hf),T9=$APP.vh([Jga,Pga,Kga,Mga,Oga,Lga,Qga,Sga,$APP.VG],[S9,function(a,b){var c=new $APP.n(null,1,["status",new $APP.J(null,1,5,$APP.N,["done"],null)],null);return b.g?b.g(a,c):b.call(null,a,c)},function(a){a=$APP.jf(a);$APP.fe.g(a,$APP.Wk);return null},S9,function(a,b){var c=new $APP.n(null,2,["new-session",$APP.t.h($APP.mG()),"status",new $APP.J(null,1,5,$APP.N,["done"],null)],null);return b.g?b.g(a,c):b.call(null,a,c)},function(a,b){var c=new $APP.n(null,4,["versions",new $APP.n(null,
|
|
22
|
+
2,["nbb-nrepl",P9("TODO"),"node",P9(process.version)],null),"aux",$APP.hf,"ops",$APP.Yh($APP.qi.g($APP.Xh,$APP.Mh(T9)),$APP.xu.h($APP.hf)),"status",new $APP.J(null,1,5,$APP.N,["done"],null)],null);return b.g?b.g(a,c):b.call(null,a,c)},S9,function(){return null},function(a,b){a=$APP.jf(a);var c=$APP.fe.g(a,$APP.S);$APP.OG.l($APP.F([$APP.S,c]));return Gga($APP.zi.j(a,$APP.S,$APP.u(R9)),b)}]),Tga=$APP.Si.h(null);export const startServer=function(a){return Promise.resolve(null).then(function(){var b=function(){var e=$APP.RG.h(a);return $APP.r(e)?e:0}(),c=function(){var e=Rga.h(a);return $APP.r(e)?e:"127.0.0.1"}();(function(){var e=$APP.$a(a)?a.bg:Nga.h(a);return $APP.r(e)?e:"info"})();var d=esm_import$net.createServer($APP.Pk.g(Iga,$APP.hf));d.listen(b,c,function(){var e=d.address(),f=e.port;e=e.address;$APP.PG.l($APP.F([["nREPL server started on port ",$APP.t.h(f)," on host ",$APP.t.h(e)," - nrepl://",$APP.t.h(e),
|
|
23
|
+
":",$APP.t.h(f)].join("")]));try{return esm_import$fs.writeFileSync(".nrepl-port",$APP.t.h(f))}catch(k){return console.warn($APP.wp.g(" ",$APP.F(["Could not write .nrepl-port",k])))}});return $APP.Jf(Tga,d)})};
|
package/lib/squint.core.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var squint;(squint||={}).core=(()=>{var Y=Object.defineProperty;var te=Object.getOwnPropertyDescriptor;var ee=Object.getOwnPropertyNames;var ne=Object.prototype.hasOwnProperty;var re=(t,e)=>{for(var n in e)Y(t,n,{get:e[n],enumerable:!0})},oe=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of ee(e))!ne.call(t,o)&&o!==n&&Y(t,o,{get:()=>e[o],enumerable:!(r=te(e,o))||r.enumerable});return t};var ue=t=>oe(Y({},"__esModule",{value:!0}),t);var kr={};re(kr,{Atom:()=>At,Cons:()=>yt,IIterable:()=>V,IIterable__iterator:()=>_t,LazySeq:()=>Qn,NaN_QMARK_:()=>ur,PROTOCOL_SENTINEL:()=>Oe,_:()=>pe,_GT_:()=>ie,_GT__EQ_:()=>ce,_LT_:()=>fe,_LT__EQ_:()=>se,_PLUS_:()=>ae,_STAR_:()=>le,_iterator:()=>O,aclone:()=>Fn,add_watch:()=>Vn,alength:()=>zn,apply:()=>We,array_QMARK_:()=>Qt,aset:()=>Pn,assoc:()=>M,assoc_BANG_:()=>A,assoc_in:()=>ot,assoc_in_BANG_:()=>he,atom:()=>Be,boolean$:()=>Gn,boolean_QMARK_:()=>yr,bounded_count:()=>mr,butlast:()=>Kn,coll_QMARK_:()=>fr,comp:()=>ye,compare:()=>P,complement:()=>U,concat:()=>Kt,conj:()=>ut,conj_BANG_:()=>N,cons:()=>mt,constantly:()=>De,contains_QMARK_:()=>ct,count:()=>K,counted_QMARK_:()=>Zt,cycle:()=>an,dec:()=>Ae,deref:()=>gt,disj:()=>me,disj_BANG_:()=>it,dissoc:()=>be,dissoc_BANG_:()=>we,distinct:()=>ln,doall:()=>Cn,dorun:()=>Yn,drop:()=>z,drop_last:()=>kn,drop_while:()=>Bt,empty:()=>jt,empty_QMARK_:()=>gn,es6_iterator:()=>G,even_QMARK_:()=>Rt,every_QMARK_:()=>qt,every_pred:()=>Xn,ex_cause:()=>pr,ex_data:()=>ar,ex_info:()=>_r,ex_message:()=>lr,false_QMARK_:()=>Nn,ffirst:()=>ve,filter:()=>L,filterv:()=>Ke,find:()=>wr,first:()=>R,flatten:()=>Kr,fn_QMARK_:()=>or,fnil:()=>H,frequencies:()=>Sn,get:()=>d,get_in:()=>$t,group_by:()=>Rn,identical_QMARK_:()=>cn,identity:()=>kt,inc:()=>ft,int_QMARK_:()=>Ut,integer_QMARK_:()=>xr,interleave:()=>It,interpose:()=>Ze,into:()=>Gt,into_array:()=>Ft,iterable:()=>c,iterate:()=>Hn,js_keys:()=>ir,js_obj:()=>qn,juxt:()=>tr,keep:()=>dn,keep_indexed:()=>Te,key:()=>Nt,keys:()=>Dt,last:()=>Me,lazy:()=>a,list:()=>St,list_QMARK_:()=>Ue,map:()=>E,map_QMARK_:()=>Un,map_indexed:()=>Ie,mapcat:()=>Xe,mapv:()=>Mt,max:()=>Ct,max_key:()=>gr,merge:()=>rn,merge_with:()=>on,meta:()=>dr,min:()=>Dn,min_key:()=>Ar,mod:()=>br,neg_QMARK_:()=>Bn,next:()=>er,nil_QMARK_:()=>Ne,not:()=>wt,not_any_QMARK_:()=>bn,not_empty:()=>Qr,not_every_QMARK_:()=>xn,nth:()=>at,number_QMARK_:()=>Jt,object_QMARK_:()=>xe,odd_QMARK_:()=>Je,parse_long:()=>Mr,partial:()=>sn,partition:()=>en,partition_all:()=>tn,partition_by:()=>nn,pos_QMARK_:()=>$n,pr_str:()=>bt,println:()=>st,prn:()=>Le,quot:()=>Rr,rand_int:()=>Yt,rand_nth:()=>vn,range:()=>qe,re_find:()=>Pe,re_matches:()=>ze,re_pattern:()=>Ye,re_seq:()=>Wt,reduce:()=>Q,reduce_kv:()=>Jn,reduced:()=>Ee,reduced_QMARK_:()=>xt,reductions:()=>Se,regexp_QMARK_:()=>sr,remove:()=>ke,remove_watch:()=>Wn,repeat:()=>Z,repeatedly:()=>En,replace:()=>An,reset_BANG_:()=>vt,rest:()=>W,reverse:()=>hn,satisfies_QMARK_:()=>_e,second:()=>ge,select_keys:()=>He,seq:()=>v,seq_QMARK_:()=>lt,seqable_QMARK_:()=>pt,sequential_QMARK_:()=>C,set:()=>Ve,shuffle:()=>wn,some:()=>Pt,some_QMARK_:()=>On,some_fn:()=>Zn,sort:()=>zt,sort_by:()=>mn,split_at:()=>In,split_with:()=>Tn,str:()=>je,string_QMARK_:()=>et,subs:()=>Vt,subvec:()=>Ce,swap_BANG_:()=>$e,system_time:()=>un,t:()=>rr,take:()=>q,take_nth:()=>fn,take_while:()=>Lt,to_array:()=>nr,transduce:()=>rt,tree_seq:()=>Ht,true_QMARK_:()=>jn,truth_:()=>h,update:()=>pn,update_BANG_:()=>tt,update_in:()=>_n,val:()=>Ot,vals:()=>cr,vec:()=>B,vector:()=>D,vector_QMARK_:()=>Fe,warn_on_lazy_reusage_BANG_:()=>Qe,with_meta:()=>hr,zero_QMARK_:()=>Ln,zipmap:()=>Sr});function s(t){if(t==null||t instanceof Function)return t;const e=typeof t;return e==="string"?(n,r)=>d(n,t,r):e==="object"?(n,r)=>d(t,n,r):t}function k(t,e){return t.every(function(n,r){return r===0||e(t[r-1],n)})}function ie(...t){return k(t,(e,n)=>e>n)}function ce(...t){return k(t,(e,n)=>e>=n)}function fe(...t){return k(t,(e,n)=>e<n)}function se(...t){return k(t,(e,n)=>e<=n)}function ae(...t){return t.reduce((e,n)=>e+n,0)}function le(...t){return t.reduce((e,n)=>e*n,1)}function pe(...t){return t.length==1?0-t[0]:t.reduce((e,n)=>e-n)}function _e(t,e){return e[t]}function A(t,e,n,...r){if(r.length%2!==0)throw new Error("Illegal argument: assoc expects an odd number of arguments.");switch(p(t)){case _:t.set(e,n);for(let o=0;o<r.length;o+=2)t.set(r[o],r[o+1]);break;case x:case m:t[e]=n;for(let o=0;o<r.length;o+=2)t[r[o]]=r[o+1];break;default:throw new Error(`Illegal argument: assoc! expects a Map, Array, or Object as the first argument, but got ${typeof t}.`)}return t}function I(t){switch(p(t)){case _:return new Map(t);case w:return new Set(t);case x:return[...t];case m:return{...t};default:throw new Error(`Don't know how to copy object of type ${typeof t}.`)}}function M(t,e,n,...r){t||(t={});const o=I(t);return A(o,e,n,...r),o}const _=1,x=2,m=3,g=4,w=5,T=6;function j(t){switch(t){case _:return new Map;case x:return[];case m:return{};case g:return new $;case w:return new Set;case T:return a(function*(){})}}function F(t){return t.constructor===Object}function xe(t){return t!=null&&F(t)}function p(t){if(t!=null){if(F(t))return m;if(t instanceof Map)return _;if(t instanceof Set)return w;if(t instanceof $)return g;if(Array.isArray(t))return x;if(t instanceof J)return T;if(t instanceof Object)return m}}function de(t,e,n,r,o){const u=p(n);if(u!==_&&u!==x&&u!==m)throw new Error(`Illegal argument: ${e} expects the first argument to be a Map, Array, or Object.`);const i=[n];let f=n;for(let l=0;l<r.length-1;l+=1){const b=r[l];let y;f instanceof Map?y=f.get(b):y=f[b],y||(y=j(u)),i.push(y),f=y}i.push(o);for(let l=i.length-2;l>=0;l-=1)i[l]=t(i[l],r[l],i[l+1]);return i[0]}function ot(t,e,n){return de(M,"assoc-in",t,e,n)}function he(t,e,n){var r=t;const o=p(t);for(const u of e.splice(0,e.length-1)){let i=d(r,u);i===void 0&&(i=j(o),A(r,u,i)),r=i}return A(r,e[e.length-1],n),t}function ye(...t){if(t=t.map(s),t.length===0)return kt;if(t.length===1)return t[0];const[e,...n]=t.slice().reverse();return function(...r){let o=e(...r);for(const u of n)o=u(o);return o}}function N(...t){if(t.length===0)return D();const[e,...n]=t;let r=e;switch(r==null&&(r=[]),p(r)){case w:for(const o of n)r.add(o);break;case g:r.unshift(...n.reverse());break;case x:r.push(...n);break;case _:for(const o of n)Array.isArray(o)?r.set(o[0],o[1]):c(o).forEach(u=>{r.set(u[0],u[1])});break;case m:for(const o of n)Array.isArray(o)?r[o[0]]=o[1]:Object.assign(r,o);break;default:throw new Error("Illegal argument: conj! expects a Set, Array, List, Map, or Object as the first argument.")}return r}function ut(...t){if(t.length===0)return D();const[e,...n]=t;let r=e;r==null&&(r=St());let o,u;switch(p(r)){case w:return new Set([...r,...n]);case g:return new $(...n.reverse(),...r);case x:return[...r,...n];case _:o=new Map(r);for(const i of n)Array.isArray(i)?o.set(i[0],i[1]):c(i).forEach(f=>{o.set(f[0],f[1])});return o;case T:return a(function*(){yield*n,yield*r});case m:u={...r};for(const i of n)Array.isArray(i)?u[i[0]]=i[1]:Object.assign(u,i);return u;default:throw new Error("Illegal argument: conj expects a Set, Array, List, Map, or Object as the first argument.")}}function it(t,...e){for(const n of e)t.delete(n);return t}function me(t,...e){const n=new Set([...t]);return it(n,...e)}function ct(t,e){switch(p(t)){case w:case _:return t.has(e);case void 0:return!1;default:return e in t}}function we(t,...e){for(const n of e)delete t[n];return t}function be(t,...e){const n=I(t);switch(p(t)){case _:for(const r of e)n.delete(r);break;default:for(const r of e)delete n[r];break}return n}function ft(t){return t+1}function Ae(t){return t-1}function st(...t){console.log(...t)}function at(t,e,n){if(t){var r=void 0;if(Array.isArray(t))r=t[e];else{const o=c(t);let u=0;for(const i of o)if(u++==e){r=i;break}}if(r!==void 0)return r}return n}function d(t,e,n=void 0){if(t==null)return n;let r;if(F(t))return r=t[e],r===void 0?n:r;let o;switch(p(t)){case w:t.has(e)&&(r=e);break;case _:r=t.get(e);break;case x:r=t[e];break;default:if(o=t.get,o instanceof Function)try{r=t.get(e);break}catch{}r=t[e];break}return r!==void 0?r:n}function lt(t){return t!=null&&!!t[Symbol.iterator]}const C=lt;function pt(t){return t==null||!!t[Symbol.iterator]}function c(t){if(t==null)return[];if(pt(t))return t;if(t instanceof Object)return Object.entries(t);throw new TypeError(`${t} is not iterable`)}const V=Symbol("Iterable"),_t=Symbol.iterator;function O(t){return t[Symbol.iterator]()}const G=O;function v(t){if(t==null)return t;const e=c(t);return e.length===0||e.size===0||e[Symbol.iterator]().next().done?null:e}function R(t){const[e]=c(t);return e}function ge(t){const[e,n]=c(t);return n}function ve(t){return R(R(t))}function W(t){return a(function*(){let e=!0;for(const n of c(t))e?e=!1:yield n})}class S{value;constructor(e){this.value=e}_deref(){return this.value}}function Me(t){t=c(t);let e;switch(p(t)){case x:return t[t.length-1];default:for(const n of t)e=n;return e}}function Ee(t){return new S(t)}function xt(t){return t instanceof S}function Q(t,e,n){t=s(t);let r,o;if(n===void 0){const u=c(e)[Symbol.iterator](),i=u.next();i.done?o=t():o=i.value,r=u}else o=e,r=c(n);if(o instanceof S)return o.value;for(const u of r)if(o=t(o,u),o instanceof S){o=o.value;break}return o}function*Re(t,e){const n=e.next();n.done?yield t():yield*dt(t,n.value,e)}function*dt(t,e,n){let r=e,o=n;for(;;){if(xt(r)){yield r.value;return}else yield r;const u=o.next();if(u.done)break;r=t(r,u.value)}}function Se(t,e,n){return t=s(t),a(n===void 0?function*(){yield*Re(t,c(e)[Symbol.iterator]())}:function*(){yield*dt(t,e,c(n)[Symbol.iterator]())})}var ht=!1;function Qe(){ht=!0}class J{constructor(e){this.gen=e,this.usages=0}[Symbol.iterator](){if(this.usages++,this.usages>=2&&ht)try{throw new Error}catch(e){console.warn("Re-use of lazy value",e.stack)}return this.gen()}}J.prototype[V]=!0;function a(t){return new J(t)}class yt{constructor(e,n){this.x=e,this.coll=n}*[Symbol.iterator](){yield this.x,yield*c(this.coll)}}function mt(t,e){return new yt(t,e)}function E(t,...e){switch(t=s(t),e.length){case 0:return n=>(...r)=>{switch(r.length){case 0:return n();case 1:return n(r[0]);case 2:return n(r[0],t(r[1]));default:return n(r[0],t(...r.slice(1)))}};case 1:return a(function*(){for(const n of c(e[0]))yield t(n)});default:return a(function*(){const n=e.map(r=>G(c(r)));for(;;){const r=[];for(const o of n){const u=o.next();if(u.done)return;r.push(u.value)}yield t(...r)}})}}function L(t,e){return t=s(t),a(function*(){for(const n of c(e))h(t(n))&&(yield n)})}function Ke(t,e){return[...L(t,e)]}function ke(t,e){return L(U(t),e)}function Ie(t,e){t=s(t);const n=[];let r=0;for(const o of c(e))n.push(t(r,o)),r++;return n}function Te(t,e){t=s(t);const n=[];let r=0;for(const o of c(e)){const u=t(r,o);h(u)&&n.push(u),r++}return n}function je(...t){return t.join("")}function wt(t){return!h(t)}function Ne(t){return t==null}const Oe={};function Ge(t){return t===null?"null":JSON.stringify(t,(e,n)=>{switch(p(n)){case w:case T:return[...n];case _:return Object.fromEntries(n);default:return n}})}function bt(...t){return t.map(Ge).join(" ")}function Le(...t){st(bt(...t))}function At(t){this.val=t,this._watches={},this._deref=()=>this.val,this._hasWatches=!1,this._reset_BANG_=e=>{const n=this.val;if(this.val=e,this._hasWatches)for(const r of Object.entries(this._watches)){const o=r[0],u=r[1];u(o,this,n,e)}return e},this._add_watch=(e,n)=>{this._watches[e]=n,this._hasWatches=!0},this._remove_watch=e=>{delete this._watches[e]}}function Be(t){return new At(t)}function gt(t){return t._deref()}function vt(t,e){t._reset_BANG_(e)}function $e(t,e,...n){e=s(e);const r=e(gt(t),...n);return vt(t,r),r}function qe(t,e,n){return a(function*(){let r=t,o=e,u=n;e===void 0&&(r=0,o=t);let i=r||0;for(u=n||1;o===void 0||i<o;)yield i,i+=u})}function ze(t,e){const n=t.exec(e);return n&&e===n[0]?n.length===1?n[0]:n:null}function Pe(t,e){if(et(e)){const n=t.exec(e);return n!=null?n.length===1?n[0]:[...n]:null}else throw new TypeError("re-find must match against a string.")}function Ye(t){if(t instanceof RegExp)return t;const e=t.match(/^\(\?([dgimsuvy]*)\)/);return e?new RegExp(t.slice(e[0].length),e[1]):new RegExp(t)}function Ce(t,e,n){return t.slice(e,n)}function D(...t){return t}function Fe(t){return p(t)===x}function Mt(...t){return[...E(...t)]}function B(t){return Qt(t)?t:[...c(t)]}function Ve(t){return new Set(c(t))}const Et=Symbol("IApply__apply");function We(t,...e){t=s(t);const n=e.slice(0,e.length-1),r=c(e[e.length-1]),o=t[Et];return o?o(...n,r):t(...n,...r)}function Rt(t){return t%2==0}function Je(t){return!Rt(t)}function U(t){return t=s(t),(...e)=>wt(t(...e))}function De(t){return(...e)=>t}class $ extends Array{constructor(...e){super(),this.push(...e)}}function Ue(t){return p(t)===g}function St(...t){return new $(...t)}function Qt(t){return Array.isArray(t)}function X(t){return a(function*(){for(const e of t)yield*c(e)})}function Kt(...t){return X(t)}Kt[Et]=t=>X(t);function Xe(t,...e){const n=E(t,...e);return X(n)}function kt(t){return t}function It(...t){return a(function*(){const e=t.map(n=>G(c(n)));for(;;){const n=[];for(const r of e){const o=r.next();if(o.done)return;n.push(o.value)}yield*n}})}function Ze(t,e){return z(1,It(Z(t),e))}function He(t,e){const n=p(t),r=j(n)||{};for(const o of e){const u=d(t,o);u!=null&&A(r,o,u)}return r}function tn(t,...e){let n=t,r=e[0];return e.length===2&&([n,r]=e),Tt(t,n,[],r,!0)}function en(t,...e){let n=t,r=[],o=e[0];return e.length===2?[n,o]=e:e.length>2&&([n,r,o]=e),Tt(t,n,r,o,!1)}function Tt(t,e,n,r,o){return a(function*(){let u=[],i=0;for(const f of c(r))i<t&&(u.push(f),u.length===t&&(yield u,u=e<t?u.slice(e):[])),i++,i===e&&(i=0);u.length>0&&(u.length===t||o?yield u:n.length&&(u.push(...n.slice(0,t-u.length)),yield u))})}function nn(t,e){return t=s(t),a(function*(){const n=G(e),r=n.next();r.done&&(yield*null);const o=r.value;let u=t(o),i=[o],f=[];for(;;){const l=n.next();if(l.done){yield i;break}const b=l.value,y=t(b);u==y?i.push(b):(yield i,f.push(b),i=f,u=y,f=[])}})}function jt(t){const e=p(t);if(e!=null)return j(e);throw new Error(`Can't create empty of ${typeof t}`)}function rn(...t){const e=t[0];let n;return e==null?n={}:n=Gt(jt(e),e),N(n,...t.slice(1))}function Nt(t){return t[0]}function Ot(t){return t[1]}function on(t,...e){t=s(t);var n=!1;for(const r of e)if(r!=null){n=!0;break}if(n){const r=(u,i)=>{const f=Nt(i),l=Ot(i);return ct(u,f)?M(u,f,t(d(u,f),l)):M(u,f,l)};return Q((u,i)=>Q(r,u||{},v(i)),e)}else return null}function un(){return performance.now()}function Gt(...t){let e,n,r,o,u;switch(t.length){case 0:return[];case 1:return t[0];case 2:return ut(t[0]??[],...c(t[1]));case 3:return e=t[0],n=t[1],r=t[2],o=I(e),u=(i,f)=>f===void 0?i:N(i,f),rt(n,u,o,r);default:throw TypeError(`Invalid arity call of into: ${t.length}`)}}function cn(t,e){return t===e}function Z(...t){if(t.length==0||t.length>2)throw new Error(`Invalid arity: ${t.length}`);return{[V]:!0,[_t]:t.length==1?function*(){const e=t[0];for(;;)yield e}:function*(){const[e,n]=t;for(var r=0;r<e;r++)yield n}}}function q(t,e){return a(function*(){let n=t-1;for(const r of c(e))if(n-->=0&&(yield r),n<0)return})}function Lt(t,e){return t=s(t),a(function*(){for(const n of c(e))if(h(t(n)))yield n;else return})}function fn(t,e){return t<=0?Z(R(e)):a(function*(){let n=0;for(const r of c(e))n%t===0&&(yield r),n++})}function sn(t,...e){return t=s(t),function(...n){return t(...e,...n)}}function an(t){return a(function*(){for(;;)yield*t})}function z(t,e){return a(function*(){const n=O(c(e));for(let r=0;r<t;r++)n.next();yield*n})}function Bt(t,e){return t=s(t),a(function*(){const n=O(c(e));for(;;){const r=n.next();if(r.done)break;const o=r.value;if(!h(t(o))){yield o;break}}yield*n})}function ln(t){return a(function*(){const e=new Set;for(const n of c(t))e.has(n)||(yield n),e.add(n)})}function pn(t,e,n,...r){return n=s(n),M(t,e,n(d(t,e),...r))}function $t(t,e,n){let r=t;for(const o of e)r=d(r,o);return r===void 0?n:r}function _n(t,e,n,...r){return n=s(n),ot(t,e,n($t(t,e),...r))}function H(t,e,...n){return t=s(t),function(r,...o){return r?t(r,...n,...o):t(e,...n,...o)}}function qt(t,e){t=s(t);for(const n of c(e))if(!t(n))return!1;return!0}function xn(t,e){return!qt(t,e)}function dn(t,e){return t=s(t),a(function*(){for(const n of c(e)){const r=t(n);h(r)&&(yield r)}})}function hn(t){return t=c(t),[...t].reverse()}function zt(t,e){return e===void 0&&(e=t,t=void 0),t=s(t),e=c(e),[...e].sort(t||P)}function yn(t){return t===P?t:(e,n)=>{const r=t(e,n);return Jt(r)?r:r?-1:t(n,e)?1:0}}function mn(t,e,n){return n===void 0&&(n=e,e=P),t=s(t),e=s(e),zt((r,o)=>{const u=yn(e),i=t(r),f=t(o);return u(i,f)},n)}function wn(t){return[...t].sort(function(e,n){return Math.random()-.5})}function Pt(t,e){t=s(t);for(const n of c(e)){const r=t(n);if(h(r))return r}}function bn(t,e){return t=s(t),!Pt(t,e)}function An(t,e){return(Array.isArray(e)?Mt:E)(r=>{const o=t[r];return o!==void 0?o:r},e)}function gn(t){return!v(t)}function Yt(t){return Math.floor(Math.random()*t)}function vn(t){const e=Yt(K(t));return at(t,e)}function Mn(t){return a(function*(){for(;;)yield t()})}function En(t,e){e===void 0&&(e=t,t=void 0);const n=Mn(e);return t?q(t,n):n}function tt(t,e,n,...r){const o=d(t,e);return A(t,e,n(o,...r))}function Rn(t,e){t=s(t);const n={};for(const r of c(e)){const o=t(r);tt(n,o,H(N,[]),r)}return n}function Sn(t){const e={},n=H(ft,0);for(const r of c(t))tt(e,r,n);return e}class Qn{constructor(e){this.f=e,this.res=void 0}*[Symbol.iterator](){this.res===void 0&&(this.res=this.f(),this.f=null),yield*c(this.res)}}function Kn(t){const e=[...c(t)];return e.pop(),e.length>0?e:null}function kn(...t){const[e,n]=t.length>1?t:[1,t[0]];return E((r,o)=>r,n,z(e,n))}function In(t,e){return[q(t,e),z(t,e)]}function Tn(t,e){return[Lt(t,e),Bt(t,e)]}function K(t){if(!t)return 0;const e=t.length||t.size;if(typeof e=="number")return e;let n=0;for(const r of c(t))n++;return n}function jn(t){return t===!0}function Nn(t){return t===!1}function On(t){return t!=null}function Gn(t){return!!t}function Ln(t){return t===0}function Bn(t){return t<0}function $n(t){return t>0}function qn(...t){let e=0;const n={};for(;!(e>=t.length);)n[t[e]]=t[e+1],e=e+2;return n}function zn(t){return t.length}function Pn(t,e,n,...r){if(r.length==0)return t[e]=n,n;{const o=[e,n,...r],u=o[o.length-1];let i=t,f=0;const l=o.length-2;for(;f<l;f++)i=i[o[f]];return i[o[f]]=u,n}}function Yn(t){for(const e of c(t));return null}function Cn(t){return B(t)}function Fn(t){return[...t]}function Vn(t,e,n){return t._add_watch(e,n)}function Wn(t,e){return t._remove_watch(e)}function Jn(t,e,n){if(!n)return e;var r=e;for(const o of c(n))r=t(r,o[0],o[1]);return r}function Ct(t,e,...n){return e==null?t:Math.max(t,e,...n)}function Dn(t,e,...n){return e==null?t:Math.min(t,e,...n)}function Un(t){return t instanceof Object}function Xn(...t){return(...e)=>{for(const n of t)for(const r of e)if(!n(r))return!1;return!0}}function Zn(...t){return(...e)=>{for(const n of t)for(const r of e){const o=n(r);if(o)return o}}}function Ft(t,e){return B(e||t)}function Hn(t,e){var n=e;return a(function*(){for(;;)yield n,n=t(n)})}function tr(...t){return t=t.map(s),(...e)=>{const n=[];for(const r of t)n.push(r(...e));return n}}function er(t){if(Array.isArray(t)){const e=t.slice(1);return e.length>0?e:null}else return v(W(t))}function P(t,e){if(t===e)return 0;{if(t==null)return-1;if(e==null)return 1;const n=typeof t,r=typeof e;if(n==="number"&&r==="number"||n==="string"&&r==="string")return t===e?0:t<e?-1:1;throw new Error(`comparing ${n} to ${r}`)}}function nr(t){return Ft(t)}function h(t){return t!=null&&t!==!1}const rr=h;function Vt(t,e,n){return t.substring(e,n)}function or(t){return typeof t=="function"}function*Wt(t,e){const n=t.exec(e);if(n){const r=n[0],o=n.length===1?r:B(n);yield*mt(o,a(function*(){const u=n.index+Ct(1,r.length);u<=e.length&&(yield*Wt(t,Vt(e,u)))}))}}function ur(t){return Number.isNaN(t)}function Jt(t){return typeof t=="number"}function Dt(t){return t?Object.keys(t):null}function ir(t){return Dt(t)}function cr(t){return t?Object.values(t):null}function et(t){return typeof t=="string"}function fr(t){return p(t)!=null}function sr(t){return t instanceof RegExp}class nt extends Error{constructor(e,n,r){super(e),this._data=n,this._cause=r}}function ar(t){return t instanceof nt?t._data:null}function lr(t){return t instanceof Error?t.message:null}function pr(t){return t instanceof nt?t._cause:null}function _r(t,e,n){return new nt(t,e,n)}function Ut(t){return Number.isInteger(t)}const xr=Ut,Xt=Symbol("meta");function dr(t){return t instanceof Object?t[Xt]:null}function hr(t,e){const n=I(t);return n[Xt]=e,n}function yr(t){return t===!0||t===!1}function Zt(t){switch(p(t)){case x:case _:case m:case g:case w:return!0}return!1}function mr(t,e){return Zt(e)?K(e):K(q(t,e))}function wr(t,e){const n=d(t,e);if(n!==void 0)return[e,n]}function br(t,e){return(t%e+e)%e}function Ar(t,e,...n){if(n.length==0)return e;var r=t(e),o=e;return n.forEach(u=>{var i=t(u);i<=r&&(r=i,o=u)}),o}function gr(t,e,...n){if(n.length==0)return e;var r=t(e),o=e;return n.forEach(u=>{var i=t(u);i>=r&&(r=i,o=u)}),o}function vr(t){throw new Error(`Expected string, got: ${typeof t}`)}function Mr(t){if(et(t)){if(/^[+-]?\d+$/.test(t)){const e=parseInt(t);if(Number.MIN_SAFE_INTEGER<=e<=Number.MAX_SAFE_INTEGER)return e}return null}return vr(t)}function Er(t){return t>=0?Math.floor(t):Math.ceil(t)}function Rr(t,e){const n=t%e;return Er((t-n)/e)}function rt(t,...e){switch(e.length){case 2:{const n=e[0],r=e[1];return rt(t,n,n(),r)}default:{let n=e[0];const r=e[1],o=e[2];n=t(n);const u=Q(n,r,o);return n(u)}}}function Sr(t,e){const n={},r=c(t)[Symbol.iterator](),o=c(e)[Symbol.iterator]();let u,i;for(;u=r.next(),!(u.done||(i=o.next(),i.done));)n[u.value]=i.value;return n}function Qr(t){return v(t)?t:null}function Ht(t,e,n){const r=function*(o){if(yield o,h(t(o)))for(const u of c(e(o)))yield*r(u)};return a(function*(){yield*r(n)})}function Kr(t){return L(U(C),W(Ht(C,v,t)))}return ue(kr);})();
|
|
1
|
+
var squint;(squint||={}).core=(()=>{var C=Object.defineProperty;var ce=Object.getOwnPropertyDescriptor;var se=Object.getOwnPropertyNames;var fe=Object.prototype.hasOwnProperty;var ae=(t,e)=>{for(var n in e)C(t,n,{get:e[n],enumerable:!0})},le=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of se(e))!fe.call(t,o)&&o!==n&&C(t,o,{get:()=>e[o],enumerable:!(r=ce(e,o))||r.enumerable});return t};var pe=t=>le(C({},"__esModule",{value:!0}),t);var Cr={};ae(Cr,{Atom:()=>Qt,Cons:()=>Mt,IIterable:()=>D,IIterable__iterator:()=>bt,LazySeq:()=>Tn,NaN_QMARK_:()=>pr,PROTOCOL_SENTINEL:()=>Fe,_:()=>ye,_GT_:()=>st,_GT__EQ_:()=>ft,_LT_:()=>_e,_LT__EQ_:()=>he,_PLUS_:()=>de,_STAR_:()=>xe,_iterator:()=>q,abs:()=>Fr,aclone:()=>Zn,add_watch:()=>Hn,alength:()=>Jn,apply:()=>tn,array_QMARK_:()=>Tt,aset:()=>Dn,assoc:()=>E,assoc_BANG_:()=>g,assoc_in:()=>at,assoc_in_BANG_:()=>Ae,atom:()=>Ce,boolean$:()=>Pn,boolean_QMARK_:()=>Mr,bounded_count:()=>Er,butlast:()=>Gn,coll_QMARK_:()=>dr,comp:()=>ge,compare:()=>b,complement:()=>H,concat:()=>Gt,conj:()=>pt,conj_BANG_:()=>G,cons:()=>Et,constantly:()=>nn,contains_QMARK_:()=>ht,count:()=>N,counted_QMARK_:()=>re,cycle:()=>yn,dec:()=>Re,deref:()=>Kt,disj:()=>ve,disj_BANG_:()=>_t,dissoc:()=>Ee,dissoc_BANG_:()=>Me,distinct:()=>wn,doall:()=>Xn,dorun:()=>Un,drop:()=>Y,drop_last:()=>qn,drop_while:()=>Yt,empty:()=>$t,empty_QMARK_:()=>Kn,es6_iterator:()=>B,even_QMARK_:()=>jt,every_QMARK_:()=>Vt,every_pred:()=>or,ex_cause:()=>mr,ex_data:()=>yr,ex_info:()=>br,ex_message:()=>wr,false_QMARK_:()=>zn,ffirst:()=>Qe,filter:()=>L,filterv:()=>Oe,find:()=>Rr,first:()=>K,flatten:()=>Tr,fn_QMARK_:()=>lr,fnil:()=>nt,frequencies:()=>On,get:()=>x,get_in:()=>Ct,group_by:()=>jn,identical_QMARK_:()=>hn,identity:()=>qt,inc:()=>dt,int_QMARK_:()=>ee,integer_QMARK_:()=>Ar,interleave:()=>Bt,interpose:()=>un,into:()=>Pt,into_array:()=>Ut,iterable:()=>c,iterate:()=>ir,js_keys:()=>_r,js_obj:()=>Wn,juxt:()=>cr,keep:()=>gn,keep_indexed:()=>Le,key:()=>zt,keys:()=>te,last:()=>Ke,lazy:()=>a,list:()=>Ot,list_QMARK_:()=>rn,long$:()=>Pr,map:()=>S,map_QMARK_:()=>rr,map_indexed:()=>Ge,mapcat:()=>on,mapv:()=>It,max:()=>Dt,max_key:()=>Kr,merge:()=>ln,merge_with:()=>pn,meta:()=>gr,min:()=>nr,min_key:()=>Qr,mod:()=>Sr,neg_QMARK_:()=>Cn,next:()=>sr,nil_QMARK_:()=>ze,not:()=>Rt,not_any_QMARK_:()=>Sn,not_empty:()=>Or,not_every_QMARK_:()=>An,nth:()=>yt,number_QMARK_:()=>Ht,object_QMARK_:()=>me,odd_QMARK_:()=>en,parse_long:()=>Ir,partial:()=>xn,partition:()=>fn,partition_all:()=>sn,partition_by:()=>an,persistent_BANG_:()=>qr,pos_QMARK_:()=>Vn,pr_str:()=>St,println:()=>xt,prn:()=>Ye,quot:()=>Nr,rand_int:()=>Jt,rand_nth:()=>kn,range:()=>We,re_find:()=>De,re_matches:()=>Je,re_pattern:()=>Ue,re_seq:()=>Zt,reduce:()=>I,reduce_kv:()=>er,reduced:()=>ke,reduced_QMARK_:()=>At,reductions:()=>Ne,regexp_QMARK_:()=>xr,remove:()=>Te,remove_watch:()=>tr,repeat:()=>et,repeatedly:()=>Nn,replace:()=>Qn,reset_BANG_:()=>kt,rest:()=>U,reverse:()=>vn,satisfies_QMARK_:()=>we,second:()=>Se,select_keys:()=>cn,seq:()=>M,seq_QMARK_:()=>wt,seqable_QMARK_:()=>mt,sequential_QMARK_:()=>V,set:()=>He,shuffle:()=>Rn,some:()=>Wt,some_QMARK_:()=>Fn,some_fn:()=>ur,sort:()=>rt,sort_by:()=>En,sorted_set:()=>Br,split_at:()=>Bn,split_with:()=>Ln,str:()=>$e,string_QMARK_:()=>ut,subs:()=>Xt,subseq:()=>zr,subvec:()=>Xe,swap_BANG_:()=>Ve,system_time:()=>_n,t:()=>ar,take:()=>F,take_nth:()=>dn,take_while:()=>P,to_array:()=>fr,transduce:()=>ct,transient$:()=>Gr,tree_seq:()=>ue,true_QMARK_:()=>$n,truth_:()=>y,type:()=>Yr,update:()=>mn,update_BANG_:()=>ot,update_in:()=>bn,val:()=>Ft,vals:()=>hr,vec:()=>$,vector:()=>Z,vector_QMARK_:()=>Ze,warn_on_lazy_reusage_BANG_:()=>je,with_meta:()=>vr,zero_QMARK_:()=>Yn,zipmap:()=>jr});function f(t){if(t==null||t instanceof Function)return t;const e=typeof t;return e==="string"?(n,r)=>x(n,t,r):e==="object"?(n,r)=>x(t,n,r):t}function j(t,e){return t.every(function(n,r){return r===0||e(t[r-1],n)})}function st(...t){return j(t,(e,n)=>e>n)}function ft(...t){return j(t,(e,n)=>e>=n)}function _e(...t){return j(t,(e,n)=>e<n)}function he(...t){return j(t,(e,n)=>e<=n)}function de(...t){return t.reduce((e,n)=>e+n,0)}function xe(...t){return t.reduce((e,n)=>e*n,1)}function ye(...t){return t.length==1?0-t[0]:t.reduce((e,n)=>e-n)}function we(t,e){return e[t]}function g(t,e,n,...r){if(r.length%2!==0)throw new Error("Illegal argument: assoc expects an odd number of arguments.");switch(p(t)){case _:t.set(e,n);for(let o=0;o<r.length;o+=2)t.set(r[o],r[o+1]);break;case h:case m:t[e]=n;for(let o=0;o<r.length;o+=2)t[r[o]]=r[o+1];break;default:throw new Error(`Illegal argument: assoc! expects a Map, Array, or Object as the first argument, but got ${typeof t}.`)}return t}function R(t){switch(p(t)){case _:return new Map(t);case d:return new t.constructor(t);case h:return[...t];case m:return{...t};default:throw new Error(`Don't know how to copy object of type ${typeof t}.`)}}function E(t,e,n,...r){t||(t={});const o=R(t);return g(o,e,n,...r),o}const _=1,h=2,m=3,v=4,d=5,O=6;function T(t){switch(t){case _:return new Map;case h:return[];case m:return{};case v:return new z;case d:return new Set;case O:return a(function*(){})}}function J(t){return t.constructor===Object}function me(t){return t!=null&&J(t)}function p(t){if(t!=null){if(J(t))return m;if(t instanceof Map)return _;if(t instanceof Set)return d;if(t instanceof z)return v;if(Array.isArray(t))return h;if(t instanceof X)return O;if(t instanceof Q)return d;if(t instanceof Object)return m}}function be(t,e,n,r,o){const u=p(n);if(u!==_&&u!==h&&u!==m)throw new Error(`Illegal argument: ${e} expects the first argument to be a Map, Array, or Object.`);const i=[n];let s=n;for(let l=0;l<r.length-1;l+=1){const A=r[l];let w;s instanceof Map?w=s.get(A):w=s[A],w||(w=T(u)),i.push(w),s=w}i.push(o);for(let l=i.length-2;l>=0;l-=1)i[l]=t(i[l],r[l],i[l+1]);return i[0]}function at(t,e,n){return be(E,"assoc-in",t,e,n)}function Ae(t,e,n){var r=t;const o=p(t);for(const u of e.splice(0,e.length-1)){let i=x(r,u);i===void 0&&(i=T(o),g(r,u,i)),r=i}return g(r,e[e.length-1],n),t}function ge(...t){if(t=t.map(f),t.length===0)return qt;if(t.length===1)return t[0];const[e,...n]=t.slice().reverse();return function(...r){let o=e(...r);for(const u of n)o=u(o);return o}}function lt(t,e){for(const n of e)t.add(n);return t}function G(...t){if(t.length===0)return Z();const[e,...n]=t;let r=e;switch(r==null&&(r=[]),p(r)){case d:lt(r,n);break;case v:r.unshift(...n.reverse());break;case h:r.push(...n);break;case _:for(const o of n)Array.isArray(o)?r.set(o[0],o[1]):c(o).forEach(u=>{r.set(u[0],u[1])});break;case m:for(const o of n)Array.isArray(o)?r[o[0]]=o[1]:Object.assign(r,o);break;default:throw new Error("Illegal argument: conj! expects a Set, Array, List, Map, or Object as the first argument.")}return r}function pt(...t){if(t.length===0)return Z();const[e,...n]=t;let r=e;r==null&&(r=Ot());let o,u;switch(p(r)){case d:return r instanceof Q?lt(new r.constructor(r),n):new r.constructor([...r,...n]);case v:return new z(...n.reverse(),...r);case h:return[...r,...n];case _:o=new Map(r);for(const i of n)Array.isArray(i)?o.set(i[0],i[1]):c(i).forEach(s=>{o.set(s[0],s[1])});return o;case O:return a(function*(){yield*n,yield*r});case m:u={...r};for(const i of n)Array.isArray(i)?u[i[0]]=i[1]:Object.assign(u,i);return u;default:throw new Error("Illegal argument: conj expects a Set, Array, List, Map, or Object as the first argument.")}}function _t(t,...e){for(const n of e)t.delete(n);return t}function ve(t,...e){const n=new t.constructor([...t]);return _t(n,...e)}function ht(t,e){switch(p(t)){case d:case _:return t.has(e);case void 0:return!1;default:return e in t}}function Me(t,...e){for(const n of e)delete t[n];return t}function Ee(t,...e){if(e.length===0)return t;const n=R(t);switch(p(t)){case _:for(const r of e)n.delete(r);break;default:for(const r of e)delete n[r];break}return n}function dt(t){return t+1}function Re(t){return t-1}function xt(...t){console.log(...t)}function yt(t,e,n){if(t){var r=void 0;if(Array.isArray(t))r=t[e];else{const o=c(t);let u=0;for(const i of o)if(u++==e){r=i;break}}if(r!==void 0)return r}return n}function x(t,e,n=void 0){if(t==null)return n;let r;if(J(t))return r=t[e],r===void 0?n:r;let o;switch(p(t)){case d:t.has(e)&&(r=e);break;case _:r=t.get(e);break;case h:r=t[e];break;default:if(o=t.get,o instanceof Function)try{r=t.get(e);break}catch{}r=t[e];break}return r!==void 0?r:n}function wt(t){return t!=null&&!!t[Symbol.iterator]}const V=wt;function mt(t){return t==null||!!t[Symbol.iterator]}function c(t){if(t==null)return[];if(mt(t))return t;if(t instanceof Object)return Object.entries(t);throw new TypeError(`${t} is not iterable`)}const D=Symbol("Iterable"),bt=Symbol.iterator;function q(t){return t[Symbol.iterator]()}const B=q;function M(t){if(t==null)return t;const e=c(t);return e.length===0||e.size===0||e[Symbol.iterator]().next().done?null:e}function K(t){const[e]=c(t);return e}function Se(t){const[e,n]=c(t);return n}function Qe(t){return K(K(t))}function U(t){return a(function*(){let e=!0;for(const n of c(t))e?e=!1:yield n})}class k{value;constructor(e){this.value=e}_deref(){return this.value}}function Ke(t){t=c(t);let e;switch(p(t)){case h:return t[t.length-1];default:for(const n of t)e=n;return e}}function ke(t){return new k(t)}function At(t){return t instanceof k}function I(t,e,n){t=f(t);let r,o;if(n===void 0){const u=c(e)[Symbol.iterator](),i=u.next();i.done?o=t():o=i.value,r=u}else o=e,r=c(n);if(o instanceof k)return o.value;for(const u of r)if(o=t(o,u),o instanceof k){o=o.value;break}return o}function*Ie(t,e){const n=e.next();n.done?yield t():yield*gt(t,n.value,e)}function*gt(t,e,n){let r=e,o=n;for(;;){if(At(r)){yield r.value;return}else yield r;const u=o.next();if(u.done)break;r=t(r,u.value)}}function Ne(t,e,n){return t=f(t),a(n===void 0?function*(){yield*Ie(t,c(e)[Symbol.iterator]())}:function*(){yield*gt(t,e,c(n)[Symbol.iterator]())})}var vt=!1;function je(){vt=!0}class X{constructor(e){this.gen=e,this.usages=0}[Symbol.iterator](){if(this.usages++,this.usages>=2&&vt)try{throw new Error}catch(e){console.warn("Re-use of lazy value",e.stack)}return this.gen()}}X.prototype[D]=!0;function a(t){return new X(t)}class Mt{constructor(e,n){this.x=e,this.coll=n}*[Symbol.iterator](){yield this.x,yield*c(this.coll)}}function Et(t,e){return new Mt(t,e)}function S(t,...e){switch(t=f(t),e.length){case 0:return n=>(...r)=>{switch(r.length){case 0:return n();case 1:return n(r[0]);case 2:return n(r[0],t(r[1]));default:return n(r[0],t(...r.slice(1)))}};case 1:return a(function*(){for(const n of c(e[0]))yield t(n)});default:return a(function*(){const n=e.map(r=>B(c(r)));for(;;){const r=[];for(const o of n){const u=o.next();if(u.done)return;r.push(u.value)}yield t(...r)}})}}function L(t,e){return t=f(t),a(function*(){for(const n of c(e))y(t(n))&&(yield n)})}function Oe(t,e){return[...L(t,e)]}function Te(t,e){return L(H(t),e)}function Ge(t,e){t=f(t);const n=[];let r=0;for(const o of c(e))n.push(t(r,o)),r++;return n}function qe(t,e){t=f(t);const n=[];let r=0;for(const o of c(e)){const u=t(r,o);y(u)&&n.push(u),r++}return n}function Be(t){return e=>{let n=-1;return(r,o)=>{if(r===void 0)return e();if(o===void 0)return e(r);n++;const u=t(n,o);return u==null?r:e(r,u)}}}function Le(t,e){return e===void 0?Be(t):qe(t,e)}function $e(...t){return t.join("")}function Rt(t){return!y(t)}function ze(t){return t==null}const Fe={};function Pe(t){return t===null?"null":JSON.stringify(t,(e,n)=>{switch(p(n)){case d:case O:return[...n];case _:return Object.fromEntries(n);default:return n}})}function St(...t){return t.map(Pe).join(" ")}function Ye(...t){xt(St(...t))}function Qt(t){this.val=t,this._watches={},this._deref=()=>this.val,this._hasWatches=!1,this._reset_BANG_=e=>{const n=this.val;if(this.val=e,this._hasWatches)for(const r of Object.entries(this._watches)){const o=r[0],u=r[1];u(o,this,n,e)}return e},this._add_watch=(e,n)=>{this._watches[e]=n,this._hasWatches=!0},this._remove_watch=e=>{delete this._watches[e]}}function Ce(t){return new Qt(t)}function Kt(t){return t._deref()}function kt(t,e){t._reset_BANG_(e)}function Ve(t,e,...n){e=f(e);const r=e(Kt(t),...n);return kt(t,r),r}function We(t,e,n){return a(function*(){let r=t,o=e,u=n;e===void 0&&(r=0,o=t);let i=r||0;for(u=n||1;o===void 0||i<o;)yield i,i+=u})}function Je(t,e){const n=t.exec(e);return n&&e===n[0]?n.length===1?n[0]:n:null}function De(t,e){if(ut(e)){const n=t.exec(e);return n!=null?n.length===1?n[0]:[...n]:null}else throw new TypeError("re-find must match against a string.")}function Ue(t){if(t instanceof RegExp)return t;const e=t.match(/^\(\?([dgimsuvy]*)\)/);return e?new RegExp(t.slice(e[0].length),e[1]):new RegExp(t)}function Xe(t,e,n){return t.slice(e,n)}function Z(...t){return t}function Ze(t){return p(t)===h}function It(...t){return[...S(...t)]}function $(t){return Tt(t)?t:[...c(t)]}function He(t){return new Set(c(t))}const Nt=Symbol("IApply__apply");function tn(t,...e){t=f(t);const n=e.slice(0,e.length-1),r=c(e[e.length-1]),o=t[Nt];return o?o(...n,r):t(...n,...r)}function jt(t){return t%2==0}function en(t){return!jt(t)}function H(t){return t=f(t),(...e)=>Rt(t(...e))}function nn(t){return(...e)=>t}class z extends Array{constructor(...e){super(),this.push(...e)}}function rn(t){return p(t)===v}function Ot(...t){return new z(...t)}function Tt(t){return Array.isArray(t)}function tt(t){return a(function*(){for(const e of t)yield*c(e)})}function Gt(...t){return tt(t)}Gt[Nt]=t=>tt(t);function on(t,...e){const n=S(t,...e);return tt(n)}function qt(t){return t}function Bt(...t){return a(function*(){const e=t.map(n=>B(c(n)));for(;;){const n=[];for(const r of e){const o=r.next();if(o.done)return;n.push(o.value)}yield*n}})}function un(t,e){return Y(1,Bt(et(t),e))}function cn(t,e){const n=p(t),r=T(n)||{};for(const o of e){const u=x(t,o);u!=null&&g(r,o,u)}return r}function sn(t,...e){let n=t,r=e[0];return e.length===2&&([n,r]=e),Lt(t,n,[],r,!0)}function fn(t,...e){let n=t,r=[],o=e[0];return e.length===2?[n,o]=e:e.length>2&&([n,r,o]=e),Lt(t,n,r,o,!1)}function Lt(t,e,n,r,o){return a(function*(){let u=[],i=0;for(const s of c(r))i<t&&(u.push(s),u.length===t&&(yield u,u=e<t?u.slice(e):[])),i++,i===e&&(i=0);u.length>0&&(u.length===t||o?yield u:n.length&&(u.push(...n.slice(0,t-u.length)),yield u))})}function an(t,e){return t=f(t),a(function*(){const n=B(e),r=n.next();r.done&&(yield*null);const o=r.value;let u=t(o),i=[o],s=[];for(;;){const l=n.next();if(l.done){yield i;break}const A=l.value,w=t(A);u==w?i.push(A):(yield i,s.push(A),i=s,u=w,s=[])}})}function $t(t){const e=p(t);if(e!=null)return T(e);throw new Error(`Can't create empty of ${typeof t}`)}function ln(...t){const e=t[0];let n;return e==null?n={}:n=Pt($t(e),e),G(n,...t.slice(1))}function zt(t){return t[0]}function Ft(t){return t[1]}function pn(t,...e){t=f(t);var n=!1;for(const r of e)if(r!=null){n=!0;break}if(n){const r=(u,i)=>{const s=zt(i),l=Ft(i);return ht(u,s)?E(u,s,t(x(u,s),l)):E(u,s,l)};return I((u,i)=>I(r,u||{},M(i)),e)}else return null}function _n(){return performance.now()}function Pt(...t){let e,n,r,o,u;switch(t.length){case 0:return[];case 1:return t[0];case 2:return pt(t[0]??[],...c(t[1]));case 3:return e=t[0],n=t[1],r=t[2],o=R(e),u=(i,s)=>s===void 0?i:G(i,s),ct(n,u,o,r);default:throw TypeError(`Invalid arity call of into: ${t.length}`)}}function hn(t,e){return t===e}function et(...t){if(t.length==0||t.length>2)throw new Error(`Invalid arity: ${t.length}`);return{[D]:!0,[bt]:t.length==1?function*(){const e=t[0];for(;;)yield e}:function*(){const[e,n]=t;for(var r=0;r<e;r++)yield n}}}function F(t,e){return a(function*(){let n=t-1;for(const r of c(e))if(n-->=0&&(yield r),n<0)return})}function P(t,e){return t=f(t),a(function*(){for(const n of c(e))if(y(t(n)))yield n;else return})}function dn(t,e){return t<=0?et(K(e)):a(function*(){let n=0;for(const r of c(e))n%t===0&&(yield r),n++})}function xn(t,...e){return t=f(t),function(...n){return t(...e,...n)}}function yn(t){return a(function*(){for(;;)yield*t})}function Y(t,e){return a(function*(){const n=q(c(e));for(let r=0;r<t;r++)n.next();yield*n})}function Yt(t,e){return t=f(t),a(function*(){const n=q(c(e));for(;;){const r=n.next();if(r.done)break;const o=r.value;if(!y(t(o))){yield o;break}}yield*n})}function wn(t){return a(function*(){const e=new Set;for(const n of c(t))e.has(n)||(yield n),e.add(n)})}function mn(t,e,n,...r){return n=f(n),E(t,e,n(x(t,e),...r))}function Ct(t,e,n){let r=t;for(const o of e)r=x(r,o);return r===void 0?n:r}function bn(t,e,n,...r){return n=f(n),at(t,e,n(Ct(t,e),...r))}function nt(t,e,...n){return t=f(t),function(r,...o){return r?t(r,...n,...o):t(e,...n,...o)}}function Vt(t,e){t=f(t);for(const n of c(e))if(!t(n))return!1;return!0}function An(t,e){return!Vt(t,e)}function gn(t,e){return t=f(t),a(function*(){for(const n of c(e)){const r=t(n);y(r)&&(yield r)}})}function vn(t){return t=c(t),[...t].reverse()}function rt(t,e){return e===void 0&&(e=t,t=void 0),t=f(t),e=c(e),[...e].sort(t||b)}function Mn(t){return t===b?t:(e,n)=>{const r=t(e,n);return Ht(r)?r:r?-1:t(n,e)?1:0}}function En(t,e,n){return n===void 0&&(n=e,e=b),t=f(t),e=f(e),rt((r,o)=>{const u=Mn(e),i=t(r),s=t(o);return u(i,s)},n)}function Rn(t){return[...t].sort(function(e,n){return Math.random()-.5})}function Wt(t,e){t=f(t);for(const n of c(e)){const r=t(n);if(y(r))return r}}function Sn(t,e){return t=f(t),!Wt(t,e)}function Qn(t,e){return(Array.isArray(e)?It:S)(r=>{const o=t[r];return o!==void 0?o:r},e)}function Kn(t){return!M(t)}function Jt(t){return Math.floor(Math.random()*t)}function kn(t){const e=Jt(N(t));return yt(t,e)}function In(t){return a(function*(){for(;;)yield t()})}function Nn(t,e){e===void 0&&(e=t,t=void 0);const n=In(e);return t?F(t,n):n}function ot(t,e,n,...r){const o=x(t,e);return g(t,e,n(o,...r))}function jn(t,e){t=f(t);const n={};for(const r of c(e)){const o=t(r);ot(n,o,nt(G,[]),r)}return n}function On(t){const e={},n=nt(dt,0);for(const r of c(t))ot(e,r,n);return e}class Tn{constructor(e){this.f=e,this.res=void 0}*[Symbol.iterator](){this.res===void 0&&(this.res=this.f(),this.f=null),yield*c(this.res)}}function Gn(t){const e=[...c(t)];return e.pop(),e.length>0?e:null}function qn(...t){const[e,n]=t.length>1?t:[1,t[0]];return S((r,o)=>r,n,Y(e,n))}function Bn(t,e){return[F(t,e),Y(t,e)]}function Ln(t,e){return[P(t,e),Yt(t,e)]}function N(t){if(!t)return 0;const e=t.length||t.size;if(typeof e=="number")return e;let n=0;for(const r of c(t))n++;return n}function $n(t){return t===!0}function zn(t){return t===!1}function Fn(t){return t!=null}function Pn(t){return!!t}function Yn(t){return t===0}function Cn(t){return t<0}function Vn(t){return t>0}function Wn(...t){let e=0;const n={};for(;!(e>=t.length);)n[t[e]]=t[e+1],e=e+2;return n}function Jn(t){return t.length}function Dn(t,e,n,...r){if(r.length==0)return t[e]=n,n;{const o=[e,n,...r],u=o[o.length-1];let i=t,s=0;const l=o.length-2;for(;s<l;s++)i=i[o[s]];return i[o[s]]=u,n}}function Un(t){for(const e of c(t));return null}function Xn(t){return $(t)}function Zn(t){return[...t]}function Hn(t,e,n){return t._add_watch(e,n)}function tr(t,e){return t._remove_watch(e)}function er(t,e,n){if(!n)return e;var r=e;for(const o of c(n))r=t(r,o[0],o[1]);return r}function Dt(t,e,...n){return e==null?t:Math.max(t,e,...n)}function nr(t,e,...n){return e==null?t:Math.min(t,e,...n)}function rr(t){return t instanceof Object}function or(...t){return(...e)=>{for(const n of t)for(const r of e)if(!n(r))return!1;return!0}}function ur(...t){return(...e)=>{for(const n of t)for(const r of e){const o=n(r);if(o)return o}}}function Ut(t,e){return $(e||t)}function ir(t,e){var n=e;return a(function*(){for(;;)yield n,n=t(n)})}function cr(...t){return t=t.map(f),(...e)=>{const n=[];for(const r of t)n.push(r(...e));return n}}function sr(t){if(Array.isArray(t)){const e=t.slice(1);return e.length>0?e:null}else return M(U(t))}function b(t,e){if(t===e)return 0;{if(t==null)return-1;if(e==null)return 1;const n=typeof t,r=typeof e;if(n==="number"&&r==="number"||n==="string"&&r==="string")return t===e?0:t<e?-1:1;throw new Error(`comparing ${n} to ${r}`)}}function fr(t){return Ut(t)}function y(t){return t!=null&&t!==!1}const ar=y;function Xt(t,e,n){return t.substring(e,n)}function lr(t){return typeof t=="function"}function*Zt(t,e){const n=t.exec(e);if(n){const r=n[0],o=n.length===1?r:$(n);yield*Et(o,a(function*(){const u=n.index+Dt(1,r.length);u<=e.length&&(yield*Zt(t,Xt(e,u)))}))}}function pr(t){return Number.isNaN(t)}function Ht(t){return typeof t=="number"}function te(t){return t?Object.keys(t):null}function _r(t){return te(t)}function hr(t){return t?Object.values(t):null}function ut(t){return typeof t=="string"}function dr(t){return p(t)!=null}function xr(t){return t instanceof RegExp}class it extends Error{constructor(e,n,r){super(e),this._data=n,this._cause=r}}function yr(t){return t instanceof it?t._data:null}function wr(t){return t instanceof Error?t.message:null}function mr(t){return t instanceof it?t._cause:null}function br(t,e,n){return new it(t,e,n)}function ee(t){return Number.isInteger(t)}const Ar=ee,ne=Symbol("meta");function gr(t){return t instanceof Object?t[ne]:null}function vr(t,e){const n=R(t);return n[ne]=e,n}function Mr(t){return t===!0||t===!1}function re(t){switch(p(t)){case h:case _:case m:case v:case d:return!0}return!1}function Er(t,e){return re(e)?N(e):N(F(t,e))}function Rr(t,e){const n=x(t,e);if(n!==void 0)return[e,n]}function Sr(t,e){return(t%e+e)%e}function Qr(t,e,...n){if(n.length==0)return e;var r=t(e),o=e;return n.forEach(u=>{var i=t(u);i<=r&&(r=i,o=u)}),o}function Kr(t,e,...n){if(n.length==0)return e;var r=t(e),o=e;return n.forEach(u=>{var i=t(u);i>=r&&(r=i,o=u)}),o}function kr(t){throw new Error(`Expected string, got: ${typeof t}`)}function Ir(t){if(ut(t)){if(/^[+-]?\d+$/.test(t)){const e=parseInt(t);if(Number.MIN_SAFE_INTEGER<=e<=Number.MAX_SAFE_INTEGER)return e}return null}return kr(t)}function oe(t){return t>=0?Math.floor(t):Math.ceil(t)}function Nr(t,e){const n=t%e;return oe((t-n)/e)}function ct(t,...e){switch(e.length){case 2:{const n=e[0],r=e[1];return ct(t,n,n(),r)}default:{let n=e[0];const r=e[1],o=e[2];n=t(n);const u=I(n,r,o);return n(u)}}}function jr(t,e){const n={},r=c(t)[Symbol.iterator](),o=c(e)[Symbol.iterator]();let u,i;for(;u=r.next(),!(u.done||(i=o.next(),i.done));)n[u.value]=i.value;return n}function Or(t){return M(t)?t:null}function ue(t,e,n){const r=function*(o){if(yield o,y(t(o)))for(const u of c(e(o)))yield*r(u)};return a(function*(){yield*r(n)})}function Tr(t){return L(H(V),U(ue(V,M,t)))}function Gr(t){return R(t)}function qr(t){return Object.freeze(t)}class Q{constructor(e){e instanceof Q||(e=rt(e));const r=new Set(e);this._elts=[...r],this._set=r}add(e){if(this._set.has(e))return this;const n=this._elts;let r=!1;for(let o=0;o<n.length;o++)if(b(e,n[o])<=0){n.splice(o,0,e),r=!0;break}return r?this._set=new Set(n):(n.push(e),this._set.add(e)),this.size=n.length,this}delete(e){if(!this._set.has(e))return this;const n=this._elts,r=n.indexOf(e);return n.splice(r,1),this._set=new Set(n),this.size=n.length,this}has(e){return this._set.has(e)}keys(){return this.values()}values(){return this._elts[Symbol.iterator]()}entries(){return this._set.entries()}forEach(...e){return this.set.forEach(...e)}clear(){this._elts=[],this._set=new Set(this._elts)}[Symbol.iterator](){return this.keys()}}function Br(...t){return new Q(t)}function W(t,e,n){return r=>e(b(r,n),0)}function ie(t,e,n=!0){let r=0;for(;r<t.length&&b(e,t[r])>0;r++);return r}function Lr([t,e,n]){const r=W(t,e,n);if(e===st||e===ft){const o=[...t],u=ie(o,n,!0);return o.splice(0,u),r(o[0])||o.splice(0,1),o}else return[...P(r,t)]}function $r([t,e,n,r,o]){const u=[...t],i=ie(u,n,!0);u.splice(0,i);const s=W(t,r,o);return W(t,e,n)(u[0])||u.splice(0,1),[...P(s,u)]}function zr(...t){if(t.length===3)return Lr(t);if(t.length===5)return $r(t)}function Fr(t){return Math.abs(t)}function Pr(t){return oe(t)}function Yr(t){return t!=null&&t.constructor}return pe(Cr);})();
|
package/package.json
CHANGED
package/src/squint/core.js
CHANGED
|
@@ -94,7 +94,7 @@ function copy(o) {
|
|
|
94
94
|
case MAP_TYPE:
|
|
95
95
|
return new Map(o);
|
|
96
96
|
case SET_TYPE:
|
|
97
|
-
return new
|
|
97
|
+
return new o.constructor(o);
|
|
98
98
|
case ARRAY_TYPE:
|
|
99
99
|
return [...o];
|
|
100
100
|
case OBJECT_TYPE:
|
|
@@ -161,7 +161,11 @@ function typeConst(obj) {
|
|
|
161
161
|
if (obj instanceof List) return LIST_TYPE;
|
|
162
162
|
if (Array.isArray(obj)) return ARRAY_TYPE;
|
|
163
163
|
if (obj instanceof LazyIterable) return LAZY_ITERABLE_TYPE;
|
|
164
|
+
if (obj instanceof SortedSet) return SET_TYPE;
|
|
165
|
+
|
|
166
|
+
// everything more specific than Object should go before this
|
|
164
167
|
if (obj instanceof Object) return OBJECT_TYPE;
|
|
168
|
+
|
|
165
169
|
return undefined;
|
|
166
170
|
}
|
|
167
171
|
|
|
@@ -232,6 +236,13 @@ export function comp(...fs) {
|
|
|
232
236
|
};
|
|
233
237
|
}
|
|
234
238
|
|
|
239
|
+
function conj_BANG_set(o, rest) {
|
|
240
|
+
for (const x of rest) {
|
|
241
|
+
o.add(x);
|
|
242
|
+
}
|
|
243
|
+
return o;
|
|
244
|
+
}
|
|
245
|
+
|
|
235
246
|
export function conj_BANG_(...xs) {
|
|
236
247
|
if (xs.length === 0) {
|
|
237
248
|
return vector();
|
|
@@ -246,9 +257,7 @@ export function conj_BANG_(...xs) {
|
|
|
246
257
|
|
|
247
258
|
switch (typeConst(o)) {
|
|
248
259
|
case SET_TYPE:
|
|
249
|
-
|
|
250
|
-
o.add(x);
|
|
251
|
-
}
|
|
260
|
+
conj_BANG_set(o, rest);
|
|
252
261
|
break;
|
|
253
262
|
case LIST_TYPE:
|
|
254
263
|
o.unshift(...rest.reverse());
|
|
@@ -295,7 +304,12 @@ export function conj(...xs) {
|
|
|
295
304
|
|
|
296
305
|
switch (typeConst(o)) {
|
|
297
306
|
case SET_TYPE:
|
|
298
|
-
|
|
307
|
+
if (o instanceof SortedSet) {
|
|
308
|
+
// prevent re-sorting of collection
|
|
309
|
+
return conj_BANG_set(new o.constructor(o), rest);
|
|
310
|
+
} else {
|
|
311
|
+
return new o.constructor([...o, ...rest]);
|
|
312
|
+
}
|
|
299
313
|
case LIST_TYPE:
|
|
300
314
|
return new List(...rest.reverse(), ...o);
|
|
301
315
|
case ARRAY_TYPE:
|
|
@@ -340,7 +354,7 @@ export function disj_BANG_(s, ...xs) {
|
|
|
340
354
|
}
|
|
341
355
|
|
|
342
356
|
export function disj(s, ...xs) {
|
|
343
|
-
const s1 = new
|
|
357
|
+
const s1 = new s.constructor([...s]);
|
|
344
358
|
return disj_BANG_(s1, ...xs);
|
|
345
359
|
}
|
|
346
360
|
|
|
@@ -365,6 +379,7 @@ export function dissoc_BANG_(m, ...ks) {
|
|
|
365
379
|
}
|
|
366
380
|
|
|
367
381
|
export function dissoc(m, ...ks) {
|
|
382
|
+
if (ks.length === 0) return m;
|
|
368
383
|
const m2 = copy(m);
|
|
369
384
|
switch (typeConst(m)) {
|
|
370
385
|
case MAP_TYPE:
|
|
@@ -757,7 +772,7 @@ export function map_indexed(f, coll) {
|
|
|
757
772
|
return ret;
|
|
758
773
|
}
|
|
759
774
|
|
|
760
|
-
|
|
775
|
+
function keep_indexed2(f, coll) {
|
|
761
776
|
f = toFn(f);
|
|
762
777
|
const ret = [];
|
|
763
778
|
let i = 0;
|
|
@@ -771,6 +786,34 @@ export function keep_indexed(f, coll) {
|
|
|
771
786
|
return ret;
|
|
772
787
|
}
|
|
773
788
|
|
|
789
|
+
function keep_indexed1(f) {
|
|
790
|
+
return (rf) => {
|
|
791
|
+
let ia = -1;
|
|
792
|
+
return (result, input) => {
|
|
793
|
+
if (result === undefined) {
|
|
794
|
+
return rf();
|
|
795
|
+
}
|
|
796
|
+
if (input === undefined) {
|
|
797
|
+
return rf(result);
|
|
798
|
+
}
|
|
799
|
+
ia++;
|
|
800
|
+
const v = f(ia, input);
|
|
801
|
+
if (v == null) {
|
|
802
|
+
return result;
|
|
803
|
+
}
|
|
804
|
+
return rf(result, v);
|
|
805
|
+
};
|
|
806
|
+
};
|
|
807
|
+
}
|
|
808
|
+
|
|
809
|
+
export function keep_indexed(f, coll) {
|
|
810
|
+
if (coll === undefined) {
|
|
811
|
+
return keep_indexed1(f);
|
|
812
|
+
} else {
|
|
813
|
+
return keep_indexed2(f, coll);
|
|
814
|
+
}
|
|
815
|
+
}
|
|
816
|
+
|
|
774
817
|
export function str(...xs) {
|
|
775
818
|
return xs.join('');
|
|
776
819
|
}
|
|
@@ -2064,4 +2107,151 @@ export function tree_seq(isBranch, children, root) {
|
|
|
2064
2107
|
export function flatten(x) {
|
|
2065
2108
|
return filter(complement(sequential_QMARK_),
|
|
2066
2109
|
rest(tree_seq(sequential_QMARK_, seq, x)));
|
|
2110
|
+
}
|
|
2111
|
+
|
|
2112
|
+
export function transient$(x) {
|
|
2113
|
+
return copy(x);
|
|
2114
|
+
}
|
|
2115
|
+
|
|
2116
|
+
export function persistent_BANG_(x) {
|
|
2117
|
+
return Object.freeze(x);
|
|
2118
|
+
}
|
|
2119
|
+
|
|
2120
|
+
class SortedSet {
|
|
2121
|
+
constructor(xs) {
|
|
2122
|
+
const isSorted = xs instanceof SortedSet;
|
|
2123
|
+
if (!isSorted) {
|
|
2124
|
+
xs = sort(xs);
|
|
2125
|
+
}
|
|
2126
|
+
const s = new Set(xs);
|
|
2127
|
+
// we don't re-use xs since xs can contain duplicates
|
|
2128
|
+
this._elts = [...s];
|
|
2129
|
+
this._set = s;
|
|
2130
|
+
}
|
|
2131
|
+
add(x) {
|
|
2132
|
+
if (this._set.has(x)) return this;
|
|
2133
|
+
const xs = this._elts;
|
|
2134
|
+
let added = false;
|
|
2135
|
+
for (let i = 0; i < xs.length; i++) {
|
|
2136
|
+
if (compare(x, xs[i]) <= 0) {
|
|
2137
|
+
xs.splice(i, 0, x);
|
|
2138
|
+
added = true;
|
|
2139
|
+
break;
|
|
2140
|
+
}
|
|
2141
|
+
}
|
|
2142
|
+
if (!added) {
|
|
2143
|
+
xs.push(x);
|
|
2144
|
+
// in this case we can re-use the set, since we add the element last
|
|
2145
|
+
this._set.add(x);
|
|
2146
|
+
}
|
|
2147
|
+
else {
|
|
2148
|
+
this._set = new Set(xs);
|
|
2149
|
+
}
|
|
2150
|
+
this.size = xs.length;
|
|
2151
|
+
return this;
|
|
2152
|
+
}
|
|
2153
|
+
delete(x) {
|
|
2154
|
+
if (!this._set.has(x)) return this;
|
|
2155
|
+
const xs = this._elts;
|
|
2156
|
+
const idx = xs.indexOf(x);
|
|
2157
|
+
xs.splice(idx, 1);
|
|
2158
|
+
this._set = new Set(xs);
|
|
2159
|
+
this.size = xs.length;
|
|
2160
|
+
return this;
|
|
2161
|
+
}
|
|
2162
|
+
has(x) {
|
|
2163
|
+
return this._set.has(x);
|
|
2164
|
+
}
|
|
2165
|
+
keys() {
|
|
2166
|
+
return this.values();
|
|
2167
|
+
}
|
|
2168
|
+
values() {
|
|
2169
|
+
return this._elts[Symbol.iterator]();
|
|
2170
|
+
}
|
|
2171
|
+
entries() {
|
|
2172
|
+
return this._set.entries();
|
|
2173
|
+
}
|
|
2174
|
+
forEach(...xs) {
|
|
2175
|
+
return this.set.forEach(...xs);
|
|
2176
|
+
}
|
|
2177
|
+
clear() {
|
|
2178
|
+
this._elts = [];
|
|
2179
|
+
this._set = new Set(this._elts);
|
|
2180
|
+
}
|
|
2181
|
+
[Symbol.iterator]() {
|
|
2182
|
+
return this.keys();
|
|
2183
|
+
}
|
|
2184
|
+
}
|
|
2185
|
+
|
|
2186
|
+
export function sorted_set(...xs) {
|
|
2187
|
+
return new SortedSet(xs);
|
|
2188
|
+
}
|
|
2189
|
+
|
|
2190
|
+
function mkBoundFn(_sc, test, key) {
|
|
2191
|
+
return (e) => {
|
|
2192
|
+
return test(compare(e, key), 0);
|
|
2193
|
+
};
|
|
2194
|
+
}
|
|
2195
|
+
|
|
2196
|
+
function indexFrom(sc, startKey, _asc = true) {
|
|
2197
|
+
let i = 0;
|
|
2198
|
+
for (; i < sc.length; i++) {
|
|
2199
|
+
if (!(compare(startKey, sc[i]) > 0)) {
|
|
2200
|
+
break;
|
|
2201
|
+
}
|
|
2202
|
+
}
|
|
2203
|
+
return i;
|
|
2204
|
+
}
|
|
2205
|
+
|
|
2206
|
+
function subseq3([sc, test, key]) {
|
|
2207
|
+
const includeFn = mkBoundFn(sc, test, key);
|
|
2208
|
+
if (test === _GT_ || test === _GT__EQ_) {
|
|
2209
|
+
const seqFrom = [...sc];
|
|
2210
|
+
const startIdx = indexFrom(seqFrom, key, true);
|
|
2211
|
+
// delete startIdx items from the start;
|
|
2212
|
+
seqFrom.splice(0, startIdx);
|
|
2213
|
+
if (includeFn(seqFrom[0])) {
|
|
2214
|
+
return seqFrom;
|
|
2215
|
+
} else {
|
|
2216
|
+
// delete 1 item from the start;
|
|
2217
|
+
seqFrom.splice(0, 1);
|
|
2218
|
+
return seqFrom;
|
|
2219
|
+
}
|
|
2220
|
+
} else {
|
|
2221
|
+
return [...take_while(includeFn, sc)];
|
|
2222
|
+
}
|
|
2223
|
+
}
|
|
2224
|
+
|
|
2225
|
+
function subseq5([sc, startTest, startKey, endTest, endKey]) {
|
|
2226
|
+
const seqFrom = [...sc];
|
|
2227
|
+
const startIdx = indexFrom(seqFrom, startKey, true);
|
|
2228
|
+
// delete startIdx items from the start
|
|
2229
|
+
seqFrom.splice(0, startIdx);
|
|
2230
|
+
const whileFn = mkBoundFn(sc, endTest, endKey);
|
|
2231
|
+
if (!mkBoundFn(sc, startTest, startKey)(seqFrom[0])) {
|
|
2232
|
+
// delete 1 item from the start
|
|
2233
|
+
seqFrom.splice(0, 1);
|
|
2234
|
+
}
|
|
2235
|
+
return [...take_while(whileFn, seqFrom)];
|
|
2236
|
+
}
|
|
2237
|
+
|
|
2238
|
+
export function subseq(...xs) {
|
|
2239
|
+
if (xs.length === 3) {
|
|
2240
|
+
return subseq3(xs);
|
|
2241
|
+
}
|
|
2242
|
+
if (xs.length === 5) {
|
|
2243
|
+
return subseq5(xs);
|
|
2244
|
+
}
|
|
2245
|
+
}
|
|
2246
|
+
|
|
2247
|
+
export function abs(x) {
|
|
2248
|
+
return Math.abs(x);
|
|
2249
|
+
}
|
|
2250
|
+
|
|
2251
|
+
export function long$(x) {
|
|
2252
|
+
return fix(x);
|
|
2253
|
+
}
|
|
2254
|
+
|
|
2255
|
+
export function type(x) {
|
|
2256
|
+
return x != null && x.constructor;
|
|
2067
2257
|
}
|
package/src/squint/set.js
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import * as core from './core.js';
|
|
2
2
|
|
|
3
|
+
function _bubble_max_key(k, coll) {
|
|
4
|
+
const max = core.max_key(k, ...coll);
|
|
5
|
+
return [max, ...coll.filter(x => x !== max)];
|
|
6
|
+
}
|
|
7
|
+
|
|
3
8
|
function _intersection2(x, y) {
|
|
4
9
|
if (x.size > y.size) {
|
|
5
10
|
const tmp = y;
|
|
@@ -19,8 +24,10 @@ export function intersection(...xs) {
|
|
|
19
24
|
switch (xs.length) {
|
|
20
25
|
case 0: return null;
|
|
21
26
|
case 1: return xs[0];
|
|
22
|
-
case 2: return
|
|
23
|
-
|
|
27
|
+
case 2: return xs[0].length > xs[1].length ?
|
|
28
|
+
_intersection2(xs[0], xs[1]) :
|
|
29
|
+
_intersection2(xs[1], xs[0]);
|
|
30
|
+
default: return _bubble_max_key((x) => 0 - x.size, xs).reduce(_intersection2);
|
|
24
31
|
}
|
|
25
32
|
}
|
|
26
33
|
|
|
@@ -55,8 +62,10 @@ export function union(...xs) {
|
|
|
55
62
|
switch (xs.length) {
|
|
56
63
|
case 0: return null;
|
|
57
64
|
case 1: return xs[0];
|
|
58
|
-
case 2: return
|
|
59
|
-
|
|
65
|
+
case 2: return xs[0].length > xs[1].length ?
|
|
66
|
+
_union2(xs[0], xs[1]) :
|
|
67
|
+
_union2(xs[1], xs[0]);
|
|
68
|
+
default: return _bubble_max_key((x) => x.size, xs).reduce(_union2);
|
|
60
69
|
}
|
|
61
70
|
}
|
|
62
71
|
|
|
@@ -119,13 +128,17 @@ export function select(pred, xset) {
|
|
|
119
128
|
|
|
120
129
|
export function rename_keys(map, kmap) {
|
|
121
130
|
const ks = core.keys(kmap);
|
|
131
|
+
let without = core.dissoc(map, ...ks);
|
|
132
|
+
if (without === map) {
|
|
133
|
+
without = {...map};
|
|
134
|
+
}
|
|
122
135
|
return ks.reduce((m, k) => {
|
|
123
136
|
const newKey = core.get(kmap, k);
|
|
124
137
|
if (core.contains_QMARK_(map, k)) {
|
|
125
|
-
return core.
|
|
138
|
+
return core.assoc_BANG_(m, newKey, core.get(map, k));
|
|
126
139
|
}
|
|
127
140
|
return m;
|
|
128
|
-
},
|
|
141
|
+
}, without);
|
|
129
142
|
}
|
|
130
143
|
|
|
131
144
|
export function rename(xrel, kmap) {
|
|
@@ -148,10 +161,11 @@ export function join(xrel, yrel, kmap) {
|
|
|
148
161
|
if (core.seq(xrel) && core.seq(yrel)) {
|
|
149
162
|
const ks = intersection(core.set(core.keys(core.first(xrel))), core.set(core.keys(core.first(yrel))));
|
|
150
163
|
const [r, s] = core.count(xrel) <= core.count(yrel) ? [xrel, yrel] : [yrel, xrel];
|
|
151
|
-
const
|
|
164
|
+
const select = core.juxt(...ks);
|
|
165
|
+
const idx = core.group_by(select, r);
|
|
152
166
|
return core.reduce((ret, x) => {
|
|
153
|
-
const found = core.get(idx,
|
|
154
|
-
return found ? core.reduce((acc, y) =>
|
|
167
|
+
const found = core.get(idx, select(x));
|
|
168
|
+
return found ? core.reduce((acc, y) => acc.add(core.merge(y, x)), ret, found) : ret;
|
|
155
169
|
}, new Set(), s);
|
|
156
170
|
} else {
|
|
157
171
|
return new Set();
|
|
@@ -159,9 +173,10 @@ export function join(xrel, yrel, kmap) {
|
|
|
159
173
|
} else { // arbitrary key mapping
|
|
160
174
|
const [r, s, k] = core.count(xrel) <= core.count(yrel) ? [xrel, yrel, map_invert(kmap)] : [yrel, xrel, kmap];
|
|
161
175
|
const idx = core.group_by(core.juxt(...core.vals(k)), r);
|
|
176
|
+
const select = core.juxt(...core.keys(k));
|
|
162
177
|
return core.reduce((ret, x) => {
|
|
163
|
-
const found = core.get(idx,
|
|
164
|
-
return found ? core.reduce((acc, y) =>
|
|
178
|
+
const found = core.get(idx, select(x));
|
|
179
|
+
return found ? core.reduce((acc, y) => acc.add(core.merge(y, x)), ret, found) : ret;
|
|
165
180
|
}, new Set(), s);
|
|
166
181
|
}
|
|
167
182
|
}
|