cljs-persistent-hash-map-vs-js-object-small

JavaScript performance comparison

Test case created by Michał Marczyk

Preparation code

<script>
function c(a){throw a;}var g=!0,k=null,l=!1;function aa(){return function(a){return a}}function m(a){return function(){return this[a]}}function n(a){return function(){return a}}var o,ba=this;
function q(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var d=Object.prototype.toString.call(a);if("[object Window]"==d)return"object";if("[object Array]"==d||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==d||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
else if("function"==b&&"undefined"==typeof a.call)return"object";return b}function r(a){return void 0!==a}function ca(a){return"string"==typeof a}function da(a){return a[ea]||(a[ea]=++fa)}var ea="closure_uid_"+Math.floor(2147483648*Math.random()).toString(36),fa=0;function s(a,b){var d=a.split("."),e=ba;!(d[0]in e)&&e.execScript&&e.execScript("var "+d[0]);for(var f;d.length&&(f=d.shift());)!d.length&&r(b)?e[f]=b:e=e[f]?e[f]:e[f]={}};var ga={"\x00":"\\0","\u0008":"\\b","\u000c":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\u000b":"\\x0B",'"':'\\"',"\\":"\\\\"},ha={"'":"\\'"};
function ia(a){var p;a=""+a;if(a.quote)return a.quote();for(var b=['"'],d=0;d<a.length;d++){var e=a.charAt(d),f=e.charCodeAt(0),h=b,i=d+1,j;if(!(j=ga[e])){if(!(31<f&&127>f))if(e in ha)e=ha[e];else if(e in ga)p=ha[e]=ga[e],e=p;else{f=e;j=e.charCodeAt(0);if(31<j&&127>j)f=e;else{if(256>j){if(f="\\x",16>j||256<j)f+="0"}else f="\\u",4096>j&&(f+="0");f+=j.toString(16).toUpperCase()}e=ha[e]=f}j=e}h[i]=j}b.push('"');return b.join("")}
function ja(a){for(var b=0,d=0;d<a.length;++d)b=31*b+a.charCodeAt(d),b%=4294967296;return b};function ka(a,b,d){for(var e in a)b.call(d,a[e],e,a)}function la(a){var b={},d;for(d in a)b[d]=a[d];return b};var ma;(ma="ScriptEngine"in ba&&"JScript"==ba.ScriptEngine())&&(ba.ScriptEngineMajorVersion(),ba.ScriptEngineMinorVersion(),ba.ScriptEngineBuildVersion());function na(a,b){this.p=ma?[]:"";a!=k&&this.append.apply(this,arguments)}ma?(na.prototype.$=0,na.prototype.append=function(a,b,d){b==k?this.p[this.$++]=a:(this.p.push.apply(this.p,arguments),this.$=this.p.length);return this}):na.prototype.append=function(a,b,d){this.p+=a;if(b!=k)for(var e=1;e<arguments.length;e++)this.p+=arguments[e];return this};na.prototype.clear=function(){ma?this.$=this.p.length=0:this.p=""};
na.prototype.toString=function(){if(ma){var a=this.p.join("");this.clear();a&&this.append(a);return a}return this.p};function t(a){return a!=k&&a!==l}function oa(a,b){var d=a[q.call(k,b)];if(t(d))return d;d=a._;return t(d)?d:l}function v(a,b){return Error("No protocol method "+a+" defined for type "+q.call(k,b)+": "+b)}function w(a){return Array.prototype.slice.call(a)}function x(a){return Array(a)}function y(a){if(a?a.D:a)a=a.D(a);else{var b;var d=y[q.call(k,a)];d?b=d:(d=y._)?b=d:c(v.call(k,"ICounted.-count",a));a=b.call(k,a)}return a}
function pa(a,b){var d;if(a?a.B:a)d=a.B(a,b);else{var e=pa[q.call(k,a)];e?d=e:(e=pa._)?d=e:c(v.call(k,"ICollection.-conj",a));d=d.call(k,a,b)}return d}
var z=function(){function a(a,b,d){if(a?a.ba:a)a=a.ba(a,b,d);else{var i;var j=z[q.call(k,a)];j?i=j:(j=z._)?i=j:c(v.call(k,"IIndexed.-nth",a));a=i.call(k,a,b,d)}return a}function b(a,b){var d;if(a?a.aa:a)d=a.aa(a,b);else{var i=z[q.call(k,a)];i?d=i:(i=z._)?d=i:c(v.call(k,"IIndexed.-nth",a));d=d.call(k,a,b)}return d}var d=k,d=function(e,d,h){switch(arguments.length){case 2:return b.call(this,e,d);case 3:return a.call(this,e,d,h)}c("Invalid arity: "+arguments.length)};d.g=b;d.h=a;return d}(),qa={};
function ra(a){if(a?a.J:a)a=a.J(a);else{var b;var d=ra[q.call(k,a)];d?b=d:(d=ra._)?b=d:c(v.call(k,"ISeq.-first",a));a=b.call(k,a)}return a}function sa(a){if(a?a.K:a)a=a.K(a);else{var b;var d=sa[q.call(k,a)];d?b=d:(d=sa._)?b=d:c(v.call(k,"ISeq.-rest",a));a=b.call(k,a)}return a}
var A=function(){function a(a,b,d){if(a?a.T:a)a=a.T(a,b,d);else{var i;var j=A[q.call(k,a)];j?i=j:(j=A._)?i=j:c(v.call(k,"ILookup.-lookup",a));a=i.call(k,a,b,d)}return a}function b(a,b){var d;if(a?a.S:a)d=a.S(a,b);else{var i=A[q.call(k,a)];i?d=i:(i=A._)?d=i:c(v.call(k,"ILookup.-lookup",a));d=d.call(k,a,b)}return d}var d=k,d=function(d,f,h){switch(arguments.length){case 2:return b.call(this,d,f);case 3:return a.call(this,d,f,h)}c("Invalid arity: "+arguments.length)};d.g=b;d.h=a;return d}();
function ta(a,b,d){if(a?a.V:a)a=a.V(a,b,d);else{var e;var f=ta[q.call(k,a)];f?e=f:(f=ta._)?e=f:c(v.call(k,"IAssociative.-assoc",a));a=e.call(k,a,b,d)}return a}var ua={};function va(a,b){var d;if(a?a.Z:a)d=a.Z(a,b);else{var e=va[q.call(k,a)];e?d=e:(e=va._)?d=e:c(v.call(k,"IMap.-dissoc",a));d=d.call(k,a,b)}return d}var wa={},xa={};function ya(a){if(a?a.v:a)a=a.d;else{var b;var d=ya[q.call(k,a)];d?b=d:(d=ya._)?b=d:c(v.call(k,"IMeta.-meta",a));a=b.call(k,a)}return a}
function za(a,b){var d;if(a?a.w:a)d=a.w(a,b);else{var e=za[q.call(k,a)];e?d=e:(e=za._)?d=e:c(v.call(k,"IWithMeta.-with-meta",a));d=d.call(k,a,b)}return d}
var B=function(){function a(a,b,d){if(a?a.ea:a)a=a.ea(a,b,d);else{var i;var j=B[q.call(k,a)];j?i=j:(j=B._)?i=j:c(v.call(k,"IReduce.-reduce",a));a=i.call(k,a,b,d)}return a}function b(a,b){var d;if(a?a.da:a)d=a.da(a,b);else{var i=B[q.call(k,a)];i?d=i:(i=B._)?d=i:c(v.call(k,"IReduce.-reduce",a));d=d.call(k,a,b)}return d}var d=k,d=function(d,f,h){switch(arguments.length){case 2:return b.call(this,d,f);case 3:return a.call(this,d,f,h)}c("Invalid arity: "+arguments.length)};d.g=b;d.h=a;return d}();
function Ba(a,b){var d;if(a?a.k:a)d=a.k(a,b);else{var e=Ba[q.call(k,a)];e?d=e:(e=Ba._)?d=e:c(v.call(k,"IEquiv.-equiv",a));d=d.call(k,a,b)}return d}function Ca(a){if(a?a.u:a)a=a.u(a);else{var b;var d=Ca[q.call(k,a)];d?b=d:(d=Ca._)?b=d:c(v.call(k,"IHash.-hash",a));a=b.call(k,a)}return a}function Da(a){if(a?a.s:a)a=a.s(a);else{var b;var d=Da[q.call(k,a)];d?b=d:(d=Da._)?b=d:c(v.call(k,"ISeqable.-seq",a));a=b.call(k,a)}return a}var Ea={},Fa={};
function C(a,b){var d;if(a?a.m:a)d=a.m(a,b);else{var e=C[q.call(k,a)];e?d=e:(e=C._)?d=e:c(v.call(k,"IPrintable.-pr-seq",a));d=d.call(k,a,b)}return d}function Ga(a){if(a?a.ha:a)a=a.ha();else{var b;var d=Ga[q.call(k,a)];d?b=d:(d=Ga._)?b=d:c(v.call(k,"IEditableCollection.-as-transient",a));a=b.call(k,a)}return a}function Ha(a){if(a?a.ja:a)a=a.ja(a);else{var b;var d=Ha[q.call(k,a)];d?b=d:(d=Ha._)?b=d:c(v.call(k,"ITransientCollection.-persistent!",a));a=b.call(k,a)}return a}
function Ia(a,b,d){if(a?a.ia:a)a=a.ia(a,b,d);else{var e;var f=Ia[q.call(k,a)];f?e=f:(f=Ia._)?e=f:c(v.call(k,"ITransientAssociative.-assoc!",a));a=e.call(k,a,b,d)}return a}
var I=function(){function a(a,b){return Ba.call(k,a,b)}var b=k,d=function(){function a(d,e,j){var p=k;r(j)&&(p=D(Array.prototype.slice.call(arguments,2),0));return b.call(this,d,e,p)}function b(a,d,e){for(;;)if(t(Ba.call(k,a,d)))if(t(E.call(k,e)))a=d,d=F.call(k,e),e=E.call(k,e);else return Ba.call(k,d,F.call(k,e));else return l}a.e=2;a.c=function(a){var d=F(a),e=F(E(a)),a=G(E(a));return b.call(this,d,e,a)};return a}(),b=function(b,f,h){switch(arguments.length){case 1:return g;case 2:return a.call(this,
b,f);default:return d.apply(this,arguments)}c("Invalid arity: "+arguments.length)};b.e=2;b.c=d.c;b.F=n(g);b.g=a;b.h=d;return b}();Ca["null"]=n(0);A["null"]=function(){return function(a,b,d){switch(arguments.length){case 2:return k;case 3:return d}c("Invalid arity: "+arguments.length)}}();ta["null"]=function(a,b,d){return Ja.call(k,b,d)};pa["null"]=function(a,b){return J.call(k,b)};
B["null"]=function(){return function(a,b,d){switch(arguments.length){case 2:return b.call(k);case 3:return d}c("Invalid arity: "+arguments.length)}}();Fa["null"]=g;C["null"]=function(){return J.call(k,"nil")};y["null"]=n(0);qa["null"]=g;ra["null"]=n(k);sa["null"]=function(){return J.call(k)};Ba["null"]=function(a,b){return b===k};za["null"]=n(k);xa["null"]=g;ya["null"]=n(k);z["null"]=function(){return function(a,b,d){switch(arguments.length){case 2:return k;case 3:return d}c("Invalid arity: "+arguments.length)}}();
ua["null"]=g;va["null"]=n(k);Date.prototype.k=function(a,b){return a.toString()===b.toString()};Ca.number=aa();Ba.number=function(a,b){return a===b};Ca["boolean"]=function(a){return a===g?1:0};Ca["function"]=function(a){return da.call(k,a)};
var Ka=function(){function a(a,b,d,e){for(;;)if(e<y.call(k,a))d=b.call(k,d,z.call(k,a,e)),e+=1;else return d}function b(a,b,d){for(var e=0;;)if(e<y.call(k,a))d=b.call(k,d,z.call(k,a,e)),e+=1;else return d}function d(a,b){if(I.call(k,0,y.call(k,a)))return b.call(k);for(var d=z.call(k,a,0),e=1;;)if(e<y.call(k,a))d=b.call(k,d,z.call(k,a,e)),e+=1;else return d}var e=k,e=function(e,h,i,j){switch(arguments.length){case 2:return d.call(this,e,h);case 3:return b.call(this,e,h,i);case 4:return a.call(this,
e,h,i,j)}c("Invalid arity: "+arguments.length)};e.g=d;e.h=b;e.M=a;return e}();function La(a,b){this.t=a;this.j=b}o=La.prototype;o.u=function(a){return Ma.call(k,a)};o.L=g;o.B=function(a,b){return K.call(k,b,a)};o.toString=function(){return Na.call(k,this)};o.da=function(a,b){return Ka.call(k,this.t,b,this.t[this.j],this.j+1)};o.ea=function(a,b,d){return Ka.call(k,this.t,b,d,this.j)};o.s=aa();o.D=function(){return this.t.length-this.j};o.O=g;o.J=function(){return this.t[this.j]};
o.K=function(){return this.j+1<this.t.length?new La(this.t,this.j+1):J.call(k)};o.k=function(a,b){return Oa.call(k,a,b)};o.aa=function(a,b){var d=b+this.j;return d<this.t.length?this.t[d]:k};o.ba=function(a,b,d){a=b+this.j;return a<this.t.length?this.t[a]:d};function Pa(a,b){return I.call(k,0,a.length)?k:new La(a,b)}function D(a,b){return Pa.call(k,a,b)}
B.array=function(){return function(a,b,d){switch(arguments.length){case 2:return Ka.call(k,a,b);case 3:return Ka.call(k,a,b,d)}c("Invalid arity: "+arguments.length)}}();A.array=function(){return function(a,b,d){switch(arguments.length){case 2:return a[b];case 3:return z.call(k,a,b,d)}c("Invalid arity: "+arguments.length)}}();z.array=function(){return function(a,b,d){switch(arguments.length){case 2:return b<a.length?a[b]:k;case 3:return b<a.length?a[b]:d}c("Invalid arity: "+arguments.length)}}();
y.array=function(a){return a.length};Da.array=function(a){return D.call(k,a,0)};function L(a){return t(a)?Da.call(k,a):k}function F(a){a=L.call(k,a);return t(a)?ra.call(k,a):k}function G(a){return sa.call(k,L.call(k,a))}function E(a){return t(a)?L.call(k,G.call(k,a)):k}function Qa(a){return F.call(k,E.call(k,a))}function Ra(a){return E.call(k,E.call(k,a))}y._=function(a){for(var a=L.call(k,a),b=0;;)if(t(a))a=E.call(k,a),b+=1;else return b};Ba._=function(a,b){return a===b};
function Sa(a){return t(a)?l:g}
var Ta=function(){function a(a,b){return pa.call(k,a,b)}var b=k,d=function(){function a(b,e,j){var p=k;r(j)&&(p=D(Array.prototype.slice.call(arguments,2),0));return d.call(this,b,e,p)}function d(a,e,f){for(;;)if(t(f))a=b.call(k,a,e),e=F.call(k,f),f=E.call(k,f);else return b.call(k,a,e)}a.e=2;a.c=function(a){var b=F(a),e=F(E(a)),a=G(E(a));return d.call(this,b,e,a)};return a}(),b=function(b,f,h){switch(arguments.length){case 2:return a.call(this,b,f);default:return d.apply(this,arguments)}c("Invalid arity: "+
arguments.length)};b.e=2;b.c=d.c;b.g=a;b.h=d;return b}();function Ua(a){return y.call(k,a)}
var Va=function(){function a(a,b,d){return z.call(k,a,Math.floor(b),d)}function b(a,b){return z.call(k,a,Math.floor(b))}var d=k,d=function(d,f,h){switch(arguments.length){case 2:return b.call(this,d,f);case 3:return a.call(this,d,f,h)}c("Invalid arity: "+arguments.length)};d.g=b;d.h=a;return d}(),M=function(){function a(a,b,d){return A.call(k,a,b,d)}function b(a,b){return A.call(k,a,b)}var d=k,d=function(d,f,h){switch(arguments.length){case 2:return b.call(this,d,f);case 3:return a.call(this,d,f,
h)}c("Invalid arity: "+arguments.length)};d.g=b;d.h=a;return d}(),Wa=function(){function a(a,b,d){return ta.call(k,a,b,d)}var b=k,d=function(){function a(b,e,j,p){var u=k;r(p)&&(u=D(Array.prototype.slice.call(arguments,3),0));return d.call(this,b,e,j,u)}function d(a,e,f,p){for(;;)if(a=b.call(k,a,e,f),t(p))e=F.call(k,p),f=Qa.call(k,p),p=Ra.call(k,p);else return a}a.e=3;a.c=function(a){var b=F(a),e=F(E(a)),p=F(E(E(a))),a=G(E(E(a)));return d.call(this,b,e,p,a)};return a}(),b=function(b,f,h,i){switch(arguments.length){case 3:return a.call(this,
b,f,h);default:return d.apply(this,arguments)}c("Invalid arity: "+arguments.length)};b.e=3;b.c=d.c;b.h=a;b.M=d;return b}(),Xa=function(){function a(a,b){return va.call(k,a,b)}var b=k,d=function(){function a(b,e,j){var p=k;r(j)&&(p=D(Array.prototype.slice.call(arguments,2),0));return d.call(this,b,e,p)}function d(a,e,f){for(;;)if(a=b.call(k,a,e),t(f))e=F.call(k,f),f=E.call(k,f);else return a}a.e=2;a.c=function(a){var b=F(a),e=F(E(a)),a=G(E(a));return d.call(this,b,e,a)};return a}(),b=function(b,f,
h){switch(arguments.length){case 1:return b;case 2:return a.call(this,b,f);default:return d.apply(this,arguments)}c("Invalid arity: "+arguments.length)};b.e=2;b.c=d.c;b.F=aa();b.g=a;b.h=d;return b}();function Ya(a,b){return za.call(k,a,b)}function Za(a){var b;t(a)?(b=a.q,b=t(b)?Sa.call(k,a.hasOwnProperty("cljs$core$IMeta$")):b):b=a;b=t(b)?g:oa.call(k,xa,a);return t(b)?ya.call(k,a):k}function N(a){return Ca.call(k,a)}
function $a(a){var b;t(a)?(b=a.L,b=t(b)?Sa.call(k,a.hasOwnProperty("cljs$core$ISequential$")):b):b=a;return t(b)?g:oa.call(k,Ea,a)}function ab(a){if(a===k)a=l;else{var b;t(a)?(b=a.ca,b=t(b)?Sa.call(k,a.hasOwnProperty("cljs$core$IMap$")):b):b=a;a=t(b)?g:oa.call(k,ua,a)}return a}function bb(a){var b;t(a)?(b=a.ma,b=t(b)?Sa.call(k,a.hasOwnProperty("cljs$core$IVector$")):b):b=a;return t(b)?g:oa.call(k,wa,a)}function cb(){return{}}
function db(a){var b=[];ka.call(k,a,function(a,e){return b.push(e)});return b}function eb(a,b){return delete a[b]}function fb(a){if(a===k)a=l;else{var b;t(a)?(b=a.O,b=t(b)?Sa.call(k,a.hasOwnProperty("cljs$core$ISeq$")):b):b=a;a=t(b)?g:oa.call(k,qa,a)}return a}function gb(a){return t(a)?g:l}function hb(a){var b=ca.call(k,a);return t(b)?Sa.call(k,function(){var b=I.call(k,a.charAt(0),"\ufdd0");return b?b:I.call(k,a.charAt(0),"\ufdd1")}()):b}
function ib(a){var b=ca.call(k,a);return t(b)?I.call(k,a.charAt(0),"\ufdd0"):b}function jb(a){var b=ca.call(k,a);return t(b)?I.call(k,a.charAt(0),"\ufdd1"):b}
var O=function(){function a(a,b,d){return B.call(k,d,a,b)}function b(a,b){return B.call(k,b,a)}var d=k,d=function(d,f,h){switch(arguments.length){case 2:return b.call(this,d,f);case 3:return a.call(this,d,f,h)}c("Invalid arity: "+arguments.length)};d.g=b;d.h=a;return d}(),kb=function(){function a(a,b,d){for(d=L.call(k,d);;)if(t(d))b=a.call(k,b,F.call(k,d)),d=E.call(k,d);else return b}function b(a,b){var d=L.call(k,b);return t(d)?O.call(k,a,F.call(k,d),E.call(k,d)):a.call(k)}var d=k,d=function(d,f,
h){switch(arguments.length){case 2:return b.call(this,d,f);case 3:return a.call(this,d,f,h)}c("Invalid arity: "+arguments.length)};d.g=b;d.h=a;return d}();B._=function(){return function(a,b,d){switch(arguments.length){case 2:return kb.call(k,b,a);case 3:return kb.call(k,b,d,a)}c("Invalid arity: "+arguments.length)}}();function lb(a){return 0<=a?Math.floor.call(k,a):Math.ceil.call(k,a)}function mb(a,b){return lb.call(k,(a-a%b)/b)}function nb(a){for(var b=0;;){if(0===a)return b;a&=a-1;b+=1}}
function ob(a,b){for(var d=b,e=L.call(k,a);;){var f=e;if(t(t(f)?0<d:f))d-=1,e=E.call(k,e);else return e}}z._=function(){return function(a,b,d){switch(arguments.length){case 2:var e;var f=ob.call(k,a,b);t(f)?e=F.call(k,f):c(Error("Index out of bounds"));return e;case 3:return e=ob.call(k,a,b),t(e)?F.call(k,e):d}c("Invalid arity: "+arguments.length)}}();
var pb=function(){function a(a){return a===k?"":a.toString()}var b=k,d=function(){function a(b,e){var j=k;r(e)&&(j=D(Array.prototype.slice.call(arguments,1),0));return d.call(this,b,j)}function d(a,e){return function(a,d){for(;;)if(t(d))var e=a.append(b.call(k,F.call(k,d))),f=E.call(k,d),a=e,d=f;else return b.call(k,a)}.call(k,new na(b.call(k,a)),e)}a.e=1;a.c=function(a){var b=F(a),a=G(a);return d.call(this,b,a)};return a}(),b=function(b,f){switch(arguments.length){case 0:return"";case 1:return a.call(this,
b);default:return d.apply(this,arguments)}c("Invalid arity: "+arguments.length)};b.e=1;b.c=d.c;b.ka=n("");b.F=a;b.g=d;return b}(),P=function(){function a(a){return jb.call(k,a)?a.substring(2,a.length):ib.call(k,a)?pb.call(k,":",a.substring(2,a.length)):a===k?"":a.toString()}var b=k,d=function(){function a(b,e){var j=k;r(e)&&(j=D(Array.prototype.slice.call(arguments,1),0));return d.call(this,b,j)}function d(a,e){return function(a,d){for(;;)if(t(d))var e=a.append(b.call(k,F.call(k,d))),f=E.call(k,d),
a=e,d=f;else return pb.call(k,a)}.call(k,new na(b.call(k,a)),e)}a.e=1;a.c=function(a){var b=F(a),a=G(a);return d.call(this,b,a)};return a}(),b=function(b,f){switch(arguments.length){case 0:return"";case 1:return a.call(this,b);default:return d.apply(this,arguments)}c("Invalid arity: "+arguments.length)};b.e=1;b.c=d.c;b.ka=n("");b.F=a;b.g=d;return b}(),qb=function(){var a=k,a=function(a,d,e){switch(arguments.length){case 2:return a.substring(d);case 3:return a.substring(d,e)}c("Invalid arity: "+arguments.length)};
a.g=function(a,d){return a.substring(d)};a.h=function(a,d,e){return a.substring(d,e)};return a}();function Oa(a,b){return gb.call(k,$a.call(k,b)?function(){for(var d=L.call(k,a),e=L.call(k,b);;){if(d===k)return e===k;if(e!==k&&I.call(k,F.call(k,d),F.call(k,e)))d=E.call(k,d),e=E.call(k,e);else return l}}():k)}function rb(a,b){return a^b+2654435769+(a<<6)+(a>>2)}function Ma(a){return O.call(k,function(a,d){return rb.call(k,a,N.call(k,d))},N.call(k,F.call(k,a)),E.call(k,a))}
function sb(a,b,d,e){this.d=a;this.W=b;this.U=d;this.i=e}o=sb.prototype;o.u=function(a){return Ma.call(k,a)};o.L=g;o.B=function(a,b){return new sb(this.d,b,a,this.i+1)};o.toString=function(){return Na.call(k,this)};o.s=aa();o.D=m("i");o.O=g;o.J=m("W");o.K=m("U");o.k=function(a,b){return Oa.call(k,a,b)};o.w=function(a,b){return new sb(b,this.W,this.U,this.i)};o.q=g;o.v=m("d");function tb(a){this.d=a}o=tb.prototype;o.u=function(a){return Ma.call(k,a)};o.L=g;
o.B=function(a,b){return new sb(this.d,b,k,1)};o.toString=function(){return Na.call(k,this)};o.s=n(k);o.D=n(0);o.O=g;o.J=n(k);o.K=n(k);o.k=function(a,b){return Oa.call(k,a,b)};o.w=function(a,b){return new tb(b)};o.q=g;o.v=m("d");var ub=new tb(k);function vb(a){return O.call(k,Ta,ub,a)}var J=function(){function a(a){var d=k;r(a)&&(d=D(Array.prototype.slice.call(arguments,0),0));return O.call(k,Ta,ub,vb.call(k,d))}a.e=0;a.c=function(a){a=L(a);return O.call(k,Ta,ub,vb.call(k,a))};return a}();
function wb(a,b,d){this.d=a;this.W=b;this.U=d}o=wb.prototype;o.u=function(a){return Ma.call(k,a)};o.L=g;o.B=function(a,b){return new wb(k,b,a)};o.toString=function(){return Na.call(k,this)};o.s=aa();o.O=g;o.J=m("W");o.K=function(){return this.U===k?ub:this.U};o.k=function(a,b){return Oa.call(k,a,b)};o.w=function(a,b){return new wb(b,this.W,this.U)};o.q=g;o.v=m("d");function K(a,b){return new wb(k,a,b)}
B.string=function(){return function(a,b,d){switch(arguments.length){case 2:return Ka.call(k,a,b);case 3:return Ka.call(k,a,b,d)}c("Invalid arity: "+arguments.length)}}();A.string=function(){return function(a,b,d){switch(arguments.length){case 2:return z.call(k,a,b);case 3:return z.call(k,a,b,d)}c("Invalid arity: "+arguments.length)}}();
z.string=function(){return function(a,b,d){switch(arguments.length){case 2:return b<y.call(k,a)?a.charAt(b):k;case 3:return b<y.call(k,a)?a.charAt(b):d}c("Invalid arity: "+arguments.length)}}();y.string=function(a){return a.length};Da.string=function(a){return Pa.call(k,a,0)};Ca.string=function(a){return ja.call(k,a)};
String.prototype.call=function(){return function(a,b,d){switch(arguments.length){case 2:return M.call(k,b,this.toString());case 3:return M.call(k,b,this.toString(),d)}c("Invalid arity: "+arguments.length)}}();String.prototype.apply=function(a,b){return 2>Ua.call(k,b)?M.call(k,b[0],a):M.call(k,b[0],a,b[1])};function xb(a){var b=a.x;if(t(a.ga))return b;a.x=b.call(k);a.ga=g;return a.x}function R(a,b,d){this.d=a;this.ga=b;this.x=d}o=R.prototype;o.u=function(a){return Ma.call(k,a)};o.L=g;
o.B=function(a,b){return K.call(k,b,a)};o.toString=function(){return Na.call(k,this)};o.s=function(a){return L.call(k,xb.call(k,a))};o.O=g;o.J=function(a){return F.call(k,xb.call(k,a))};o.K=function(a){return G.call(k,xb.call(k,a))};o.k=function(a,b){return Oa.call(k,a,b)};o.w=function(a,b){return new R(b,this.ga,this.x)};o.q=g;o.v=m("d");function S(a){for(var b=[];;)if(t(L.call(k,a)))b.push(F.call(k,a)),a=E.call(k,a);else return b}
function yb(a,b){for(var d=a,e=b,f=0;;){var h;h=(h=0<e)?L.call(k,d):h;if(t(h))d=E.call(k,d),e-=1,f+=1;else return f}}
var Ab=function zb(b){return b===k?k:E.call(k,b)===k?L.call(k,F.call(k,b)):K.call(k,F.call(k,b),zb.call(k,E.call(k,b)))},Bb=function(){function a(a,b){return new R(k,l,function(){var d=L.call(k,a);return t(d)?K.call(k,F.call(k,d),e.call(k,G.call(k,d),b)):b})}function b(a){return new R(k,l,function(){return a})}function d(){return new R(k,l,n(k))}var e=k,f=function(){function a(d,e,f){var h=k;r(f)&&(h=D(Array.prototype.slice.call(arguments,2),0));return b.call(this,d,e,h)}function b(a,d,f){return function Q(a,
b){return new R(k,l,function(){var d=L.call(k,a);return t(d)?K.call(k,F.call(k,d),Q.call(k,G.call(k,d),b)):t(b)?Q.call(k,F.call(k,b),E.call(k,b)):k})}.call(k,e.call(k,a,d),f)}a.e=2;a.c=function(a){var d=F(a),e=F(E(a)),a=G(E(a));return b.call(this,d,e,a)};return a}(),e=function(e,i,j){switch(arguments.length){case 0:return d.call(this);case 1:return b.call(this,e);case 2:return a.call(this,e,i);default:return f.apply(this,arguments)}c("Invalid arity: "+arguments.length)};e.e=2;e.c=f.c;e.ka=d;e.F=b;
e.g=a;e.h=f;return e}(),Cb=function(){function a(a,b,d,e){return K.call(k,a,K.call(k,b,K.call(k,d,e)))}function b(a,b,d){return K.call(k,a,K.call(k,b,d))}function d(a,b){return K.call(k,a,b)}function e(a){return L.call(k,a)}var f=k,h=function(){function a(d,e,f,h,i){var Aa=k;r(i)&&(Aa=D(Array.prototype.slice.call(arguments,4),0));return b.call(this,d,e,f,h,Aa)}function b(a,d,e,f,h){return K.call(k,a,K.call(k,d,K.call(k,e,K.call(k,f,Ab.call(k,h)))))}a.e=4;a.c=function(a){var d=F(a),e=F(E(a)),f=F(E(E(a))),
h=F(E(E(E(a)))),a=G(E(E(E(a))));return b.call(this,d,e,f,h,a)};return a}(),f=function(f,j,p,u,H){switch(arguments.length){case 1:return e.call(this,f);case 2:return d.call(this,f,j);case 3:return b.call(this,f,j,p);case 4:return a.call(this,f,j,p,u);default:return h.apply(this,arguments)}c("Invalid arity: "+arguments.length)};f.e=4;f.c=h.c;f.F=e;f.g=d;f.h=b;f.M=a;f.fa=h;return f}(),Db=function(){function a(a,b,d,e,f){b=Cb.call(k,b,d,e,f);d=a.e;return t(a.c)?yb.call(k,b,d)<=d?a.apply(a,S.call(k,b)):
a.c(b):a.apply(a,S.call(k,b))}function b(a,b,d,e){b=Cb.call(k,b,d,e);d=a.e;return t(a.c)?yb.call(k,b,d)<=d?a.apply(a,S.call(k,b)):a.c(b):a.apply(a,S.call(k,b))}function d(a,b,d){b=Cb.call(k,b,d);d=a.e;return t(a.c)?yb.call(k,b,d)<=d?a.apply(a,S.call(k,b)):a.c(b):a.apply(a,S.call(k,b))}function e(a,b){var d=a.e;return t(a.c)?yb.call(k,b,d+1)<=d?a.apply(a,S.call(k,b)):a.c(b):a.apply(a,S.call(k,b))}var f=k,h=function(){function a(d,e,f,h,i,Aa){var Pb=k;r(Aa)&&(Pb=D(Array.prototype.slice.call(arguments,
5),0));return b.call(this,d,e,f,h,i,Pb)}function b(a,d,e,f,h,i){d=K.call(k,d,K.call(k,e,K.call(k,f,K.call(k,h,Ab.call(k,i)))));e=a.e;return t(a.c)?yb.call(k,d,e)<=e?a.apply(a,S.call(k,d)):a.c(d):a.apply(a,S.call(k,d))}a.e=5;a.c=function(a){var d=F(a),e=F(E(a)),f=F(E(E(a))),h=F(E(E(E(a)))),i=F(E(E(E(E(a))))),a=G(E(E(E(E(a)))));return b.call(this,d,e,f,h,i,a)};return a}(),f=function(f,j,p,u,H,Q){switch(arguments.length){case 2:return e.call(this,f,j);case 3:return d.call(this,f,j,p);case 4:return b.call(this,
f,j,p,u);case 5:return a.call(this,f,j,p,u,H);default:return h.apply(this,arguments)}c("Invalid arity: "+arguments.length)};f.e=5;f.c=h.c;f.g=e;f.h=d;f.M=b;f.fa=a;f.la=h;return f}();function Eb(a,b){for(;;){if(L.call(k,b)===k)return g;if(t(a.call(k,F.call(k,b))))var d=a,e=E.call(k,b),a=d,b=e;else return l}}function Fb(a){return a}
var T=function(){function a(a,b,d,f){return new R(k,l,function(){var u=L.call(k,b),H=L.call(k,d),Q=L.call(k,f);return t(t(u)?t(H)?Q:H:u)?K.call(k,a.call(k,F.call(k,u),F.call(k,H),F.call(k,Q)),e.call(k,a,G.call(k,u),G.call(k,H),G.call(k,Q))):k})}function b(a,b,d){return new R(k,l,function(){var f=L.call(k,b),u=L.call(k,d);return t(t(f)?u:f)?K.call(k,a.call(k,F.call(k,f),F.call(k,u)),e.call(k,a,G.call(k,f),G.call(k,u))):k})}function d(a,b){return new R(k,l,function(){var d=L.call(k,b);return t(d)?K.call(k,
a.call(k,F.call(k,d)),e.call(k,a,G.call(k,d))):k})}var e=k,f=function(){function a(d,e,f,h,Q){var Ob=k;r(Q)&&(Ob=D(Array.prototype.slice.call(arguments,4),0));return b.call(this,d,e,f,h,Ob)}function b(a,d,f,h,i){return e.call(k,function(b){return Db.call(k,a,b)},function Aa(a){return new R(k,l,function(){var b=e.call(k,L,a);return Eb.call(k,Fb,b)?K.call(k,e.call(k,F,b),Aa.call(k,e.call(k,G,b))):k})}.call(k,Ta.call(k,i,h,f,d)))}a.e=4;a.c=function(a){var d=F(a),e=F(E(a)),f=F(E(E(a))),h=F(E(E(E(a)))),
a=G(E(E(E(a))));return b.call(this,d,e,f,h,a)};return a}(),e=function(e,i,j,p,u){switch(arguments.length){case 2:return d.call(this,e,i);case 3:return b.call(this,e,i,j);case 4:return a.call(this,e,i,j,p);default:return f.apply(this,arguments)}c("Invalid arity: "+arguments.length)};e.e=4;e.c=f.c;e.g=d;e.h=b;e.M=a;e.fa=f;return e}(),Hb=function Gb(b,d){return new R(k,l,function(){if(0<b){var e=L.call(k,d);return t(e)?K.call(k,F.call(k,e),Gb.call(k,b-1,G.call(k,e))):k}return k})};
function Ib(a,b){function d(a,b){for(;;){var d=L.call(k,b),i=0<a;if(t(i?d:i))i=a-1,d=G.call(k,d),a=i,b=d;else return d}}return new R(k,l,function(){return d.call(k,a,b)})}
var Jb=function(){function a(a,b){return Hb.call(k,a,d.call(k,b))}function b(a){return new R(k,l,function(){return K.call(k,a,d.call(k,a))})}var d=k,d=function(d,f){switch(arguments.length){case 1:return b.call(this,d);case 2:return a.call(this,d,f)}c("Invalid arity: "+arguments.length)};d.F=b;d.g=a;return d}(),Kb=function(){function a(a,d){return new R(k,l,function(){var h=L.call(k,a),i=L.call(k,d);return t(t(h)?i:h)?K.call(k,F.call(k,h),K.call(k,F.call(k,i),b.call(k,G.call(k,h),G.call(k,i)))):k})}
var b=k,d=function(){function a(b,e,j){var p=k;r(j)&&(p=D(Array.prototype.slice.call(arguments,2),0));return d.call(this,b,e,p)}function d(a,e,f){return new R(k,l,function(){var d=T.call(k,L,Ta.call(k,f,e,a));return Eb.call(k,Fb,d)?Bb.call(k,T.call(k,F,d),Db.call(k,b,T.call(k,G,d))):k})}a.e=2;a.c=function(a){var b=F(a),e=F(E(a)),a=G(E(a));return d.call(this,b,e,a)};return a}(),b=function(b,f,h){switch(arguments.length){case 2:return a.call(this,b,f);default:return d.apply(this,arguments)}c("Invalid arity: "+
arguments.length)};b.e=2;b.c=d.c;b.g=a;b.h=d;return b}();function Lb(a,b){return Ib.call(k,1,Kb.call(k,Jb.call(k,a),b))}function Mb(a){return function d(a,f){return new R(k,l,function(){var h=L.call(k,a);return t(h)?K.call(k,F.call(k,h),d.call(k,G.call(k,h),f)):t(L.call(k,f))?d.call(k,F.call(k,f),G.call(k,f)):k})}.call(k,k,a)}
var Nb=function(){function a(a,b){return Mb.call(k,T.call(k,a,b))}var b=k,d=function(){function a(b,d,e){var j=k;r(e)&&(j=D(Array.prototype.slice.call(arguments,2),0));return Mb.call(k,Db.call(k,T,b,d,j))}a.e=2;a.c=function(a){var b=F(a),d=F(E(a)),a=G(E(a));return Mb.call(k,Db.call(k,T,b,d,a))};return a}(),b=function(b,f,h){switch(arguments.length){case 2:return a.call(this,b,f);default:return d.apply(this,arguments)}c("Invalid arity: "+arguments.length)};b.e=2;b.c=d.c;b.g=a;b.h=d;return b}();
function Qb(a,b){return O.call(k,pa,a,b)}
var Rb=function(){function a(a,b,d,j){return new R(k,l,function(){var p=L.call(k,j);if(t(p)){var u=Hb.call(k,a,p);return I.call(k,a,Ua.call(k,u))?K.call(k,u,e.call(k,a,b,d,Ib.call(k,b,p))):J.call(k,Hb.call(k,a,Bb.call(k,u,d)))}return k})}function b(a,b,d){return new R(k,l,function(){var j=L.call(k,d);if(t(j)){var p=Hb.call(k,a,j);return I.call(k,a,Ua.call(k,p))?K.call(k,p,e.call(k,a,b,Ib.call(k,b,j))):k}return k})}function d(a,b){return e.call(k,a,a,b)}var e=k,e=function(e,h,i,j){switch(arguments.length){case 2:return d.call(this,
e,h);case 3:return b.call(this,e,h,i);case 4:return a.call(this,e,h,i,j)}c("Invalid arity: "+arguments.length)};e.g=d;e.h=b;e.M=a;return e}();function Sb(a){a=a.b;return 32>a?0:a-1>>5<<5}function Tb(a,b){for(var d=a,e=b;;){if(0===d)return e;var f=w.call(k,Ub);f[0]=e;e=f;d-=5}}var Wb=function Vb(b,d,e,f){var h=w.call(k,e),i=b.b-1>>d&31;5===d?h[i]=f:(e=e[i],b=t(e)?Vb.call(k,b,d-5,e,f):Tb.call(k,d-5,f),h[i]=b);return h};
function Xb(a,b){var d=0<=b;if(d?b<a.b:d){if(b>=Sb.call(k,a))return a.R;for(var d=a.root,e=a.shift;;)if(0<e)var f=e-5,d=d[b>>e&31],e=f;else return d}else c(Error(P.call(k,"No item ",b," in vector of length ",a.b)))}var Zb=function Yb(b,d,e,f,h){var i=w.call(k,e);if(0===d)i[f&31]=h;else{var j=f>>d&31;i[j]=Yb.call(k,b,d-5,e[j],f,h)}return i};function $b(a,b,d,e,f){this.d=a;this.b=b;this.shift=d;this.root=e;this.R=f}o=$b.prototype;o.u=function(a){return Ma.call(k,a)};
o.S=function(a,b){return z.call(k,a,b,k)};o.T=function(a,b,d){return z.call(k,a,b,d)};o.V=function(a,b,d){var e=0<=b;if(e?b<this.b:e)return Sb.call(k,a)<=b?(a=w.call(k,this.R),a[b&31]=d,new $b(this.d,this.b,this.shift,this.root,a)):new $b(this.d,this.b,this.shift,Zb.call(k,a,this.shift,this.root,b,d),this.R);if(b===this.b)return pa.call(k,a,d);c(Error(P.call(k,"Index ",b," out of bounds  [0,",this.b,"]")))};
o.call=function(){return function(a,b,d){switch(arguments.length){case 2:return A.call(k,this,b);case 3:return A.call(k,this,b,d)}c("Invalid arity: "+arguments.length)}}();o.L=g;
o.B=function(a,b){if(32>this.b-Sb.call(k,a)){var d=w.call(k,this.R);d.push(b);return new $b(this.d,this.b+1,this.shift,this.root,d)}var e=this.b>>5>1<<this.shift,d=e?this.shift+5:this.shift;e?(e=w.call(k,Ub),e[0]=this.root,e[1]=Tb.call(k,this.shift,this.R)):e=Wb.call(k,a,this.shift,this.root,this.R);return new $b(this.d,this.b+1,d,e,[b])};o.toString=function(){return Na.call(k,this)};o.da=function(a,b){return Ka.call(k,a,b)};o.ea=function(a,b,d){return Ka.call(k,a,b,d)};
o.s=function(a){var b=this;return 0<b.b?function e(f){return new R(k,l,function(){return f<b.b?K.call(k,z.call(k,a,f),e.call(k,f+1)):k})}.call(k,0):k};o.D=m("b");o.ma=g;o.k=function(a,b){return Oa.call(k,a,b)};o.w=function(a,b){return new $b(b,this.b,this.shift,this.root,this.R)};o.q=g;o.v=m("d");o.aa=function(a,b){return Xb.call(k,a,b)[b&31]};o.ba=function(a,b,d){var e=0<=b;return(e?b<this.b:e)?z.call(k,a,b):d};var Ub=x.call(k,32),ac=new $b(k,0,5,Ub,[]);function U(a){return Qb.call(k,ac,a)}
function bc(a){return O.call(k,Ta,ac,a)}var cc=function(){function a(a){var d=k;r(a)&&(d=D(Array.prototype.slice.call(arguments,0),0));return bc.call(k,d)}a.e=0;a.c=function(a){a=L(a);return bc.call(k,a)};return a}();U([]);function dc(){}dc.prototype.k=n(l);var ec=new dc;function fc(a,b){return gb.call(k,ab.call(k,b)?I.call(k,Ua.call(k,a),Ua.call(k,b))?Eb.call(k,Fb,T.call(k,function(a){return I.call(k,M.call(k,b,F.call(k,a),ec),Qa.call(k,a))},a)):k:k)}
function gc(a,b,d){for(var e=d.length,f=0;;)if(f<e){if(I.call(k,b,d[f]))return f;f+=a}else return k}var hc=function(){function a(a,b,d,i){var j=ca.call(k,a);return t(t(j)?b.hasOwnProperty(a):j)?d:i}function b(a,b){return d.call(k,a,b,g,l)}var d=k,d=function(d,f,h,i){switch(arguments.length){case 2:return b.call(this,d,f);case 4:return a.call(this,d,f,h,i)}c("Invalid arity: "+arguments.length)};d.g=b;d.M=a;return d}();function ic(a,b){var d=N.call(k,a),e=N.call(k,b);return d<e?-1:d>e?1:0}
function jc(a,b,d){this.d=a;this.keys=b;this.Q=d}o=jc.prototype;o.u=function(a){return Ma.call(k,a)};o.S=function(a,b){return A.call(k,a,b,k)};o.T=function(a,b,d){return hc.call(k,b,this.Q,this.Q[b],d)};o.V=function(a,b,d){if(t(ca.call(k,b))){var a=la.call(k,this.Q),e=a.hasOwnProperty(b);a[b]=d;if(t(e))return new jc(this.d,this.keys,a);d=w.call(k,this.keys);d.push(b);return new jc(this.d,d,a)}return Ya.call(k,Qb.call(k,Ja.call(k,b,d),L.call(k,a)),this.d)};
o.call=function(){return function(a,b,d){switch(arguments.length){case 2:return A.call(k,this,b);case 3:return A.call(k,this,b,d)}c("Invalid arity: "+arguments.length)}}();o.B=function(a,b){return bb.call(k,b)?ta.call(k,a,z.call(k,b,0),z.call(k,b,1)):O.call(k,pa,a,b)};o.toString=function(){return Na.call(k,this)};o.s=function(){var a=this;return 0<a.keys.length?T.call(k,function(b){return cc.call(k,b,a.Q[b])},a.keys.sort(ic)):k};o.D=function(){return this.keys.length};
o.k=function(a,b){return fc.call(k,a,b)};o.w=function(a,b){return new jc(b,this.keys,this.Q)};o.q=g;o.v=m("d");o.ca=g;o.Z=function(a,b){var d=ca.call(k,b);if(t(t(d)?this.Q.hasOwnProperty(b):d)){var d=w.call(k,this.keys),e=la.call(k,this.Q);d.splice(gc.call(k,1,b,d),1);eb.call(k,e,b);return new jc(this.d,d,e)}return a};var kc=new jc(k,[],cb.call(k));function lc(a,b,d){this.d=a;this.i=b;this.G=d}o=lc.prototype;o.u=function(a){return Ma.call(k,a)};o.S=function(a,b){return A.call(k,a,b,k)};
o.T=function(a,b,d){a=this.G[N.call(k,b)];b=t(a)?gc.call(k,2,b,a):k;return t(b)?a[b+1]:d};o.V=function(a,b,d){var a=N.call(k,b),e=this.G[a];if(t(e)){var e=w.call(k,e),f=la.call(k,this.G);f[a]=e;a=gc.call(k,2,b,e);if(t(a))return e[a+1]=d,new lc(this.d,this.i,f);e.push(b,d);return new lc(this.d,this.i+1,f)}e=la.call(k,this.G);e[a]=[b,d];return new lc(this.d,this.i+1,e)};
o.call=function(){return function(a,b,d){switch(arguments.length){case 2:return A.call(k,this,b);case 3:return A.call(k,this,b,d)}c("Invalid arity: "+arguments.length)}}();o.B=function(a,b){return bb.call(k,b)?ta.call(k,a,z.call(k,b,0),z.call(k,b,1)):O.call(k,pa,a,b)};o.toString=function(){return Na.call(k,this)};o.s=function(){var a=this;if(0<a.i){var b=db.call(k,a.G).sort();return Nb.call(k,function(b){return T.call(k,bc,Rb.call(k,2,a.G[b]))},b)}return k};o.D=m("i");
o.k=function(a,b){return fc.call(k,a,b)};o.w=function(a,b){return new lc(b,this.i,this.G)};o.q=g;o.v=m("d");o.ca=g;o.Z=function(a,b){var d=N.call(k,b),e=this.G[d],f=t(e)?gc.call(k,2,b,e):k;if(Sa.call(k,f))return a;var h=la.call(k,this.G);3>e.length?eb.call(k,h,d):(e=w.call(k,e),e.splice(f,2),h[d]=e);return new lc(this.d,this.i-1,h)};var mc=new lc(k,0,cb.call(k));function nc(a){return Ga.call(k,a)}function oc(a){return Ha.call(k,a)}function pc(a,b,d){return Ia.call(k,a,b,d)}
var qc=function(){function a(a,b,d,i,j){a=w.call(k,a);a[b]=d;a[i]=j;return a}function b(a,b,d){a=w.call(k,a);a[b]=d;return a}var d=k,d=function(d,f,h,i,j){switch(arguments.length){case 3:return b.call(this,d,f,h);case 5:return a.call(this,d,f,h,i,j)}c("Invalid arity: "+arguments.length)};d.h=b;d.fa=a;return d}();function V(a,b,d,e,f){for(;;){if(0===f)return d;d[e]=a[b];e+=1;f-=1;b+=1}}function rc(a,b,d,e,f){b+=f-1;for(e+=f-1;;){if(0===f)return d;d[e]=a[b];e-=1;f-=1;b-=1}}
function sc(a,b){var d=x.call(k,a.length-2);V.call(k,a,0,d,0,2*b);V.call(k,a,2*(b+1),d,2*b,d.length-2*b);return d}function tc(a,b){return nb.call(k,a&b-1)}var uc=function(){function a(a,b,d,i,j,p){a=a.P(b);a.a[d]=i;a.a[j]=p;return a}function b(a,b,d,i){a=a.P(b);a.a[d]=i;return a}var d=k,d=function(d,f,h,i,j,p){switch(arguments.length){case 4:return b.call(this,d,f,h,i);case 6:return a.call(this,d,f,h,i,j,p)}c("Invalid arity: "+arguments.length)};d.M=b;d.la=a;return d}();
function W(a,b,d){this.n=a;this.f=b;this.a=d}o=W.prototype;
o.z=function(a,b,d,e,f){var h=1<<(b>>>a&31),i=tc.call(k,this.f,h);if(0===(this.f&h)){var j=nb.call(k,this.f);if(16<=j){i=x.call(k,32);i[b>>>a&31]=X.z(a+5,b,d,e,f);for(e=d=0;;)if(32>d)0!==(this.f>>>d&1)&&(i[d]=k!=this.a[e]?X.z(a+5,N.call(k,this.a[e]),this.a[e],this.a[e+1],f):this.a[e+1],e+=2),d+=1;else break;return new vc(k,j+1,i)}a=x.call(k,2*(j+1));V.call(k,this.a,0,a,0,2*i);a[2*i]=d;f[0]=g;a[2*i+1]=e;V.call(k,this.a,2*i,a,2*(i+1),2*(j-i));return new W(k,this.f|h,a)}h=this.a[2*i];j=this.a[2*i+1];
if(k==h)return f=j.z(a+5,b,d,e,f),f===j?this:new W(k,this.f,qc.call(k,this.a,2*i+1,f));if(I.call(k,d,h))return e===j?this:new W(k,this.f,qc.call(k,this.a,2*i+1,e));f[0]=g;return new W(k,this.f,qc.call(k,this.a,2*i,k,2*i+1,wc.call(k,a+5,h,j,b,d,e)))};
o.Y=function(a,b,d){var e=1<<(b>>>a&31);if(0===(this.f&e))return this;var f=tc.call(k,this.f,e),h=this.a[2*f],i=this.a[2*f+1];return k==h?(a=i.Y(a+5,b,d),a===i?this:k!=a?new W(k,this.f,qc.call(k,this.a,2*f+1,a)):this.f===e?k:new W(k,this.f^e,sc.call(k,this.a,f))):I.call(k,d,h)?new W(k,this.f^e,sc.call(k,this.a,f)):this};
o.H=function(){return function(a,b,d,e){switch(arguments.length){case 3:var f;f=1<<(b>>>a&31);if(0===(this.f&f))f=k;else{var h=tc.call(k,this.f,f);f=this.a[2*h];h=this.a[2*h+1];f=k==f?h.H(a+5,b,d):I.call(k,d,f)?U([f,h]):k}return f;case 4:return f=1<<(b>>>a&31),0===(this.f&f)?f=e:(h=tc.call(k,this.f,f),f=this.a[2*h],h=this.a[2*h+1],f=k==f?h.H(a+5,b,d,e):I.call(k,d,f)?U([f,h]):e),f}c("Invalid arity: "+arguments.length)}}();o.X=function(){return xc.call(k,this.a)};
o.P=function(a){if(a===this.n)return this;var b=nb.call(k,this.f),d=x.call(k,0>b?4:2*(b+1));V.call(k,this.a,0,d,0,2*b);return new W(a,this.f,d)};
o.A=function(a,b,d,e,f,h){var i=1<<(d>>>b&31),j=tc.call(k,this.f,i);if(0===(this.f&i)){var p=nb.call(k,this.f);if(2*p<this.a.length)return a=this.P(a),b=a.a,h[0]=g,rc.call(k,b,2*j,b,2*(j+1),2*(p-j)),b[2*j]=e,b[2*j+1]=f,a.f|=i,a;if(16<=p){j=x.call(k,32);j[d>>>b&31]=X.A(a,b+5,d,e,f,h);for(f=e=0;;)if(32>e)0!==(this.f>>>e&1)&&(j[e]=k!=this.a[f]?X.A(a,b+5,N.call(k,this.a[f]),this.a[f],this.a[f+1],h):this.a[f+1],f+=2),e+=1;else break;return new vc(a,p+1,j)}b=x.call(k,2*(p+4));V.call(k,this.a,0,b,0,2*j);
b[2*j]=e;h[0]=g;b[2*j+1]=f;V.call(k,this.a,2*j,b,2*(j+1),2*(p-j));h=this.P(a);h.a=b;h.f|=i;return h}p=this.a[2*j];i=this.a[2*j+1];if(k==p)return i.A(a,b+5,d,e,f,h)===i?this:uc.call(k,this,a,2*j+1,f);if(I.call(k,e,p))return f===i?this:uc.call(k,this,a,2*j+1,f);h[0]=g;return uc.call(k,this,a,2*j,k,2*j+1,wc.call(k,a,b+5,p,i,d,e,f))};var X=new W(k,0,x.call(k,0));
function yc(a,b,d){for(var e=a.a,a=2*(a.b-1),f=x.call(k,a),h=0,i=1,j=0;;)if(h<a){var p=h!=d;if(p?k!=e[h]:p)f[i]=e[h],i+=2,j|=1<<h;h+=1}else return new W(b,j,f)}function vc(a,b,d){this.n=a;this.b=b;this.a=d}o=vc.prototype;o.z=function(a,b,d,e,f){var h=b>>>a&31,i=this.a[h];if(k==i)return new vc(k,this.b+1,qc.call(k,this.a,h,X.z(a+5,b,d,e,f)));a=i.z(a+5,b,d,e,f);return a===i?this:new vc(k,this.b,qc.call(k,this.a,h,a))};
o.Y=function(a,b,d){var e=b>>>a&31,f=this.a[e];return k!=f?(a=f.Y(a+5,b,d),a===f?this:a===k?8>=this.b?yc.call(k,this,e):new vc(k,this.b-1,qc.call(k,this.a,e,a)):new vc(k,this.b,qc.call(k,this.a,e,a))):this};o.H=function(){return function(a,b,d,e){switch(arguments.length){case 3:var f=this.a[b>>>a&31];return k!=f?f.H(a+5,b,d):k;case 4:return f=this.a[b>>>a&31],k!=f?f.H(a+5,b,d,e):e}c("Invalid arity: "+arguments.length)}}();o.X=function(){return zc.call(k,this.a)};
o.P=function(a){return a===this.n?this:new vc(a,this.b,w.call(k,this.a))};o.A=function(a,b,d,e,f,h){var i=d>>>b&31,j=this.a[i];if(k==j)return a=uc.call(k,this,a,i,X.A(a,b+5,d,e,f,h)),a.b+=1,a;b=j.A(a,b+5,d,e,f,h);return b===j?this:uc.call(k,this,a,i,b)};function Ac(a,b,d){for(var b=2*b,e=0;;)if(e<b){if(I.call(k,d,a[e]))return e;e+=2}else return-1}function Bc(a,b,d,e){this.n=a;this.C=b;this.b=d;this.a=e}o=Bc.prototype;
o.z=function(a,b,d,e,f){if(b===this.C){a=Ac.call(k,this.a,this.b,d);return-1===a?(a=this.a.length,b=x.call(k,a+2),V.call(k,this.a,0,b,0,a),b[a]=d,b[a+1]=e,f[0]=g,new Bc(k,this.C,this.b+1,b)):I.call(k,this.a[a],e)?this:new Bc(k,this.C,this.b,qc.call(k,this.a,a+1,e))}return(new W(k,1<<(this.C>>>a&31),[k,this])).z(a,b,d,e,f)};o.Y=function(a,b,d){a=Ac.call(k,this.a,this.b,d);return-1===a?this:1===this.b?k:new Bc(k,this.C,this.b-1,sc.call(k,this.a,mb.call(k,a,2)))};
o.H=function(){return function(a,b,d,e){switch(arguments.length){case 3:var f=Ac.call(k,this.a,this.b,d);return 0>f?k:I.call(k,d,this.a[f])?U([this.a[f],this.a[f+1]]):k;case 4:return f=Ac.call(k,this.a,this.b,d),0>f?k:I.call(k,d,this.a[f])?U([this.a[f],this.a[f+1]]):e}c("Invalid arity: "+arguments.length)}}();o.X=function(){return xc.call(k,this.a)};
o.P=function(){return function(a,b,d){switch(arguments.length){case 1:var e;a===this.n?e=this:(e=x.call(k,2*(this.b+1)),V.call(k,this.a,0,e,0,2*this.b),e=new Bc(a,this.C,this.b,e));return e;case 3:return a===this.n?(this.a=d,this.b=b,e=this):e=new Bc(this.n,this.C,b,d),e}c("Invalid arity: "+arguments.length)}}();
o.A=function(a,b,d,e,f,h){if(d===this.C){b=Ac.call(k,this.a,this.b,e);if(-1===b){if(this.a.length>2*this.b)return a=uc.call(k,this,a,2*this.b,e,2*this.b+1,f),h[0]=g,a.b+=1,a;b=this.a.length;d=x.call(k,b+2);V.call(k,this.a,0,d,0,b);d[b]=e;d[b+1]=f;h[0]=g;return this.P(a,this.b+1,d)}return I.call(k,this.a[b+1],f)?this:uc.call(k,this,a,b+1,f)}return(new W(a,1<<(this.C>>>b&31),[k,this,k,k])).A(a,b,d,e,f,h)};
var wc=function(){function a(a,b,d,i,j,p,u){var H=N.call(k,d);if(H===j)return new Bc(k,H,2,[d,i,p,u]);var Q=[l];return X.A(a,b,H,d,i,Q).A(a,b,j,p,u,Q)}function b(a,b,d,i,j,p){var u=N.call(k,b);if(u===i)return new Bc(k,u,2,[b,d,j,p]);var H=[l];return X.z(a,u,b,d,H).z(a,i,j,p,H)}var d=k,d=function(d,f,h,i,j,p,u){switch(arguments.length){case 6:return b.call(this,d,f,h,i,j,p);case 7:return a.call(this,d,f,h,i,j,p,u)}c("Invalid arity: "+arguments.length)};d.la=b;d.na=a;return d}();
function Cc(a,b,d,e){this.d=a;this.N=b;this.j=d;this.I=e}o=Cc.prototype;o.k=function(a,b){return Oa.call(k,a,b)};o.s=aa();o.O=g;o.J=function(){return this.I===k?U([this.N[this.j],this.N[this.j+1]]):F.call(k,this.I)};o.K=function(){return this.I===k?xc.call(k,this.N,this.j+2,k):xc.call(k,this.N,this.j,E.call(k,this.I))};o.L=g;o.w=function(a,b){return new Cc(b,this.N,this.j,this.I)};o.q=g;o.v=m("d");
var xc=function(){function a(a,b,d){if(d===k)for(d=a.length;;)if(b<d){if(k!=a[b])return new Cc(k,a,b,k);var i=a[b+1];if(t(i)&&(i=i.X(),t(i)))return new Cc(k,a,b+2,i);b+=2}else return k;else return new Cc(k,a,b,d)}function b(a){return d.call(k,a,0,k)}var d=k,d=function(d,f,h){switch(arguments.length){case 1:return b.call(this,d);case 3:return a.call(this,d,f,h)}c("Invalid arity: "+arguments.length)};d.F=b;d.h=a;return d}();function Dc(a,b,d,e){this.d=a;this.N=b;this.j=d;this.I=e}o=Dc.prototype;
o.k=function(a,b){return Oa.call(k,a,b)};o.s=aa();o.O=g;o.J=function(){return F.call(k,this.I)};o.K=function(){return zc.call(k,k,this.N,this.j,E.call(k,this.I))};o.L=g;o.w=function(a,b){return new Dc(b,this.N,this.j,this.I)};o.q=g;o.v=m("d");
var zc=function(){function a(a,b,d,i){if(i===k)for(i=b.length;;)if(d<i){var j=b[d];if(t(j)&&(j=j.X(),t(j)))return new Dc(a,b,d+1,j);d+=1}else return k;else return new Dc(a,b,d,i)}function b(a){return d.call(k,k,a,0,k)}var d=k,d=function(d,f,h,i){switch(arguments.length){case 1:return b.call(this,d);case 4:return a.call(this,d,f,h,i)}c("Invalid arity: "+arguments.length)};d.F=b;d.M=a;return d}();function Y(a,b,d,e,f){this.d=a;this.b=b;this.root=d;this.l=e;this.o=f}o=Y.prototype;
o.ha=function(){return new Ec(cb.call(k),this.root,this.b,this.l,this.o)};o.u=function(a){return Ma.call(k,a)};o.S=function(a,b){return A.call(k,a,b,k)};o.T=function(a,b,d){return b===k?t(this.l)?this.o:d:this.root===k?d:Va.call(k,this.root.H(0,N.call(k,b),b,[k,d]),1)};
o.V=function(a,b,d){if(b===k){var e=this.l;return t(t(e)?d===this.o:e)?a:new Y(this.d,t(this.l)?this.b:this.b+1,this.root,g,d)}e=[l];d=(this.root===k?X:this.root).z(0,N.call(k,b),b,d,e);return d===this.root?a:new Y(this.d,t(e[0])?this.b+1:this.b,d,this.l,this.o)};o.call=function(){return function(a,b,d){switch(arguments.length){case 2:return A.call(k,this,b);case 3:return A.call(k,this,b,d)}c("Invalid arity: "+arguments.length)}}();
o.B=function(a,b){return bb.call(k,b)?ta.call(k,a,z.call(k,b,0),z.call(k,b,1)):O.call(k,pa,a,b)};o.toString=function(){return Na.call(k,this)};o.s=function(){if(0<this.b){var a=k!=this.root?this.root.X():k;return t(this.l)?K.call(k,U([k,this.o]),a):a}return k};o.D=m("b");o.k=function(a,b){return fc.call(k,a,b)};o.w=function(a,b){return new Y(b,this.b,this.root,this.l,this.o)};o.q=g;o.v=m("d");o.ca=g;
o.Z=function(a,b){if(b===k)return t(this.l)?new Y(this.d,this.b-1,this.root,l,k):a;if(this.root===k)return a;var d=this.root.Y(0,N.call(k,b),b);return d===this.root?a:new Y(this.d,this.b-1,d,this.l,this.o)};var Fc=new Y(k,0,k,l,k);function Gc(a,b){for(var d=a.length,e=0,f=nc.call(k,Fc);;)if(e<d)var h=e+1,f=pc.call(k,f,a[e],b[e]),e=h;else return oc.call(k,f)}function Ec(a,b,d,e,f){this.n=a;this.root=b;this.i=d;this.l=e;this.o=f}o=Ec.prototype;
o.ia=function(a,b,d){if(t(a.n))if(b===k){if(a.o!==d)a.o=d;if(!t(a.l))a.i+=1,a.l=g}else{var e=[l],b=(a.root===k?X:a.root).A(a.n,0,N.call(k,b),b,d,e);if(b!==a.root)a.root=b;t(e[0])&&(a.i+=1)}else c(Error("assoc! after persistent!"));return a};o.ja=function(a){var b;t(a.n)?(a.n=k,b=new Y(k,a.i,a.root,a.l,a.o)):c(Error("persistent! called twice"));return b};o.S=function(a,b){return b===k?t(this.l)?this.o:k:this.root===k?k:this.root.H(0,N.call(k,b),b)[1]};
o.T=function(a,b,d){return b===k?t(this.l)?this.o:d:this.root===k?d:this.root.H(0,N.call(k,b),b,d)[1]};o.D=function(){if(t(this.n))return this.i;c(Error("count after persistent!"))};
var Ja=function(){function a(a){var e=k;r(a)&&(e=D(Array.prototype.slice.call(arguments,0),0));return b.call(this,e)}function b(a){for(var a=L.call(k,a),b=nc.call(k,Fc);;)if(t(a))var f=Ra.call(k,a),b=pc.call(k,b,F.call(k,a),Qa.call(k,a)),a=f;else return oc.call(k,b)}a.e=0;a.c=function(a){a=L(a);return b.call(this,a)};return a}();Ja.call(k);
function Hc(a){if(hb.call(k,a))return a;var b=ib.call(k,a);if(b?b:jb.call(k,a))return b=a.lastIndexOf("/"),0>b?qb.call(k,a,2):qb.call(k,a,b+1);c(Error(P.call(k,"Doesn't support name: ",a)))}function Ic(a){var b=ib.call(k,a);if(b?b:jb.call(k,a))return b=a.lastIndexOf("/"),-1<b?qb.call(k,a,2,b):k;c(Error(P.call(k,"Doesn't support namespace: ",a)))}function Z(a,b,d,e,f,h){return Bb.call(k,U([b]),Mb.call(k,Lb.call(k,U([d]),T.call(k,function(b){return a.call(k,b,f)},h))),U([e]))}
var $=function Jc(b,d){return b===k?J.call(k,"nil"):void 0===b?J.call(k,"#<undefined>"):Bb.call(k,t(function(){var e=M.call(k,d,"\ufdd0'meta");return t(e)?(t(b)?(e=b.q,e=t(e)?Sa.call(k,b.hasOwnProperty("cljs$core$IMeta$")):e):e=b,e=t(e)?g:oa.call(k,xa,b),t(e)?Za.call(k,b):e):e}())?Bb.call(k,U(["^"]),Jc.call(k,Za.call(k,b),d),U([" "])):k,t(function(){var d;t(b)?(d=b.r,d=t(d)?Sa.call(k,b.hasOwnProperty("cljs$core$IPrintable$")):d):d=b;return t(d)?g:oa.call(k,Fa,b)}())?C.call(k,b,d):J.call(k,"#<",P.call(k,
b),">"))};function Kc(a,b){var d=F.call(k,a),e=new na,f=L.call(k,a);if(t(f))for(var h=F.call(k,f);;){h!==d&&e.append(" ");var i=L.call(k,$.call(k,h,b));if(t(i))for(h=F.call(k,i);;)if(e.append(h),h=E.call(k,i),t(h))i=h,h=F.call(k,i);else break;f=E.call(k,f);if(t(f))h=f,f=F.call(k,h),i=h,h=f,f=i;else break}return e}function Lc(a,b){return P.call(k,Kc.call(k,a,b))}function Mc(){return Gc(["\ufdd0'flush-on-newline","\ufdd0'readably","\ufdd0'meta","\ufdd0'dup"],[g,g,l,l])}
var Na=function(){function a(a){var d=k;r(a)&&(d=D(Array.prototype.slice.call(arguments,0),0));return Lc.call(k,d,Mc.call(k))}a.e=0;a.c=function(a){a=L(a);return Lc.call(k,a,Mc.call(k))};return a}();lc.prototype.r=g;lc.prototype.m=function(a,b){return Z.call(k,function(a){return Z.call(k,$,""," ","",b,a)},"{",", ","}",b,a)};Fa.number=g;C.number=function(a){return J.call(k,P.call(k,a))};La.prototype.r=g;La.prototype.m=function(a,b){return Z.call(k,$,"("," ",")",b,a)};R.prototype.r=g;
R.prototype.m=function(a,b){return Z.call(k,$,"("," ",")",b,a)};Fa["boolean"]=g;C["boolean"]=function(a){return J.call(k,P.call(k,a))};Fa.string=g;C.string=function(a,b){return ib.call(k,a)?J.call(k,P.call(k,":",function(){var b=Ic.call(k,a);return t(b)?P.call(k,b,"/"):k}(),Hc.call(k,a))):jb.call(k,a)?J.call(k,P.call(k,function(){var b=Ic.call(k,a);return t(b)?P.call(k,b,"/"):k}(),Hc.call(k,a))):J.call(k,t("\ufdd0'readably".call(k,b))?ia.call(k,a):a)};Cc.prototype.r=g;
Cc.prototype.m=function(a,b){return Z.call(k,$,"("," ",")",b,a)};Y.prototype.r=g;Y.prototype.m=function(a,b){return Z.call(k,function(a){return Z.call(k,$,""," ","",b,a)},"{",", ","}",b,a)};$b.prototype.r=g;$b.prototype.m=function(a,b){return Z.call(k,$,"["," ","]",b,a)};sb.prototype.r=g;sb.prototype.m=function(a,b){return Z.call(k,$,"("," ",")",b,a)};Fa.array=g;C.array=function(a,b){return Z.call(k,$,"#<Array [",", ","]>",b,a)};Fa["function"]=g;
C["function"]=function(a){return J.call(k,"#<",P.call(k,a),">")};tb.prototype.r=g;tb.prototype.m=function(){return J.call(k,"()")};wb.prototype.r=g;wb.prototype.m=function(a,b){return Z.call(k,$,"("," ",")",b,a)};Dc.prototype.r=g;Dc.prototype.m=function(a,b){return Z.call(k,$,"("," ",")",b,a)};jc.prototype.r=g;jc.prototype.m=function(a,b){return Z.call(k,function(a){return Z.call(k,$,""," ","",b,a)},"{",", ","}",b,a)};function Nc(a,b,d,e){this.state=a;this.d=b;this.oa=d;this.pa=e}o=Nc.prototype;
o.u=function(a){return da.call(k,a)};o.r=g;o.m=function(a,b){return Bb.call(k,U(["#<Atom: "]),C.call(k,this.state,b),">")};o.q=g;o.v=m("d");o.k=function(a,b){return a===b};
(function(){function a(a){return new Nc(a,k,k,k)}var b=k,d=function(){function a(d,e){var j=k;r(e)&&(j=D(Array.prototype.slice.call(arguments,1),0));return b.call(this,d,j)}function b(a,d){var e=fb.call(k,d)?Db.call(k,Ja,d):d,f=M.call(k,e,"\ufdd0'validator"),e=M.call(k,e,"\ufdd0'meta");return new Nc(a,e,f,k)}a.e=1;a.c=function(a){var d=F(a),a=G(a);return b.call(this,d,a)};return a}(),b=function(b,f){switch(arguments.length){case 1:return a.call(this,b);default:return d.apply(this,arguments)}c("Invalid arity: "+
arguments.length)};b.e=1;b.c=d.c;b.F=a;b.g=d;return b})().call(k,function(){return Gc(["\ufdd0'parents","\ufdd0'descendants","\ufdd0'ancestors"],[Gc([],[]),Gc([],[]),Gc([],[])])}.call(k));s("phm.empty_obj_map",function(){return kc});s("phm.empty_hash_map",function(){return mc});s("phm.empty_persistent_hash_map",function(){return Fc});s("phm.assocwrapper",function(a,b,d){return Wa.h(a,b,d)});s("phm.dissocwrapper",function(a,b){return Xa.g(a,b)});s("phm.getwrapper",function(a,b){return M.g(a,b)});s("phm.getwrapperdefault",function(a,b,d){return M.h(a,b,d)});s("phm.invokewrapper",function(a,b){return a.call(k,b)});s("phm.invokewrapperdefault",function(a,b,d){return a.call(k,b,d)});
s("phm.transientwrapper",function(a){return nc(a)});s("phm.persistentwrapper",function(a){return oc(a)});s("phm.assocbangwrapper",function(a,b,d){return pc(a,b,d)});
</script>
<script>
Benchmark.prototype.setup = function() {
    m = null;
    k1 = "foo1";
    k2 = "foo2";
    k3 = "foo3";
    k4 = "foo4";
    k5 = "foo5";
    k6 = "foo6";
    k7 = "foo7";
    k8 = "foo8";
    k9 = "foo9";
    k10 = "foo10";
    k11 = "foo11";
    k12 = "foo12";
    k13 = "foo13";
    k14 = "foo14";
    k15 = "foo15";
    k16 = "foo16";
    k17 = "foo17";
    k18 = "foo18";
    k19 = "foo19";
    k20 = "foo20";
};
</script>

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
JS object
m = {};
m[k1] = 1;
m[k2] = 2;
m[k3] = 3;
m[k4] = 4;
m[k5] = 5;
m[k6] = 6;
m[k7] = 7;
m[k8] = 8;
m[k9] = 9;
m[k10] = 10;
m[k11] = 11;
m[k12] = 12;
m[k13] = 13;
m[k14] = 14;
m[k15] = 15;
m[k16] = 16;
m[k17] = 17;
m[k18] = 18;
m[k19] = 19;
m[k20] = 20;
pending…
ObjMap
m = phm.empty_obj_map();
m = phm.assocwrapper(m, k1, 1);
m = phm.assocwrapper(m, k2, 2);
m = phm.assocwrapper(m, k3, 3);
m = phm.assocwrapper(m, k4, 4);
m = phm.assocwrapper(m, k5, 5);
m = phm.assocwrapper(m, k6, 6);
m = phm.assocwrapper(m, k7, 7);
m = phm.assocwrapper(m, k8, 8);
m = phm.assocwrapper(m, k9, 9);
m = phm.assocwrapper(m, k10, 10);
m = phm.assocwrapper(m, k11, 11);
m = phm.assocwrapper(m, k12, 12);
m = phm.assocwrapper(m, k13, 13);
m = phm.assocwrapper(m, k14, 14);
m = phm.assocwrapper(m, k15, 15);
m = phm.assocwrapper(m, k16, 16);
m = phm.assocwrapper(m, k17, 17);
m = phm.assocwrapper(m, k18, 18);
m = phm.assocwrapper(m, k19, 19);
m = phm.assocwrapper(m, k20, 20);
pending…
HashMap
m = phm.empty_hash_map();
m = phm.assocwrapper(m, k1, 1);
m = phm.assocwrapper(m, k2, 2);
m = phm.assocwrapper(m, k3, 3);
m = phm.assocwrapper(m, k4, 4);
m = phm.assocwrapper(m, k5, 5);
m = phm.assocwrapper(m, k6, 6);
m = phm.assocwrapper(m, k7, 7);
m = phm.assocwrapper(m, k8, 8);
m = phm.assocwrapper(m, k9, 9);
m = phm.assocwrapper(m, k10, 10);
m = phm.assocwrapper(m, k11, 11);
m = phm.assocwrapper(m, k12, 12);
m = phm.assocwrapper(m, k13, 13);
m = phm.assocwrapper(m, k14, 14);
m = phm.assocwrapper(m, k15, 15);
m = phm.assocwrapper(m, k16, 16);
m = phm.assocwrapper(m, k17, 17);
m = phm.assocwrapper(m, k18, 18);
m = phm.assocwrapper(m, k19, 19);
m = phm.assocwrapper(m, k20, 20);
pending…
PersistentHashMap
m = phm.empty_persistent_hash_map();
m = phm.assocwrapper(m, k1, 1);
m = phm.assocwrapper(m, k2, 2);
m = phm.assocwrapper(m, k3, 3);
m = phm.assocwrapper(m, k4, 4);
m = phm.assocwrapper(m, k5, 5);
m = phm.assocwrapper(m, k6, 6);
m = phm.assocwrapper(m, k7, 7);
m = phm.assocwrapper(m, k8, 8);
m = phm.assocwrapper(m, k9, 9);
m = phm.assocwrapper(m, k10, 10);
m = phm.assocwrapper(m, k11, 11);
m = phm.assocwrapper(m, k12, 12);
m = phm.assocwrapper(m, k13, 13);
m = phm.assocwrapper(m, k14, 14);
m = phm.assocwrapper(m, k15, 15);
m = phm.assocwrapper(m, k16, 16);
m = phm.assocwrapper(m, k17, 17);
m = phm.assocwrapper(m, k18, 18);
m = phm.assocwrapper(m, k19, 19);
m = phm.assocwrapper(m, k20, 20);
pending…
TransientHashMap
m = phm.empty_persistent_hash_map();
m = phm.transientwrapper(m);
m = phm.assocbangwrapper(m, k1, 1);
m = phm.assocbangwrapper(m, k2, 2);
m = phm.assocbangwrapper(m, k3, 3);
m = phm.assocbangwrapper(m, k4, 4);
m = phm.assocbangwrapper(m, k5, 5);
m = phm.assocbangwrapper(m, k6, 6);
m = phm.assocbangwrapper(m, k7, 7);
m = phm.assocbangwrapper(m, k8, 8);
m = phm.assocbangwrapper(m, k9, 9);
m = phm.assocbangwrapper(m, k10, 10);
m = phm.assocbangwrapper(m, k11, 11);
m = phm.assocbangwrapper(m, k12, 12);
m = phm.assocbangwrapper(m, k13, 13);
m = phm.assocbangwrapper(m, k14, 14);
m = phm.assocbangwrapper(m, k15, 15);
m = phm.assocbangwrapper(m, k16, 16);
m = phm.assocbangwrapper(m, k17, 17);
m = phm.assocbangwrapper(m, k18, 18);
m = phm.assocbangwrapper(m, k19, 19);
m = phm.assocbangwrapper(m, k20, 20);
m = phm.persistentwrapper(m);
pending…

You can edit these tests or add even more tests to this page by appending /edit to the URL.

Compare results of other browsers

0 comments

Add a comment