UNPKG

dataquery

Version:

An implementation of the datalog query language with user-provided indexes.

143 lines (142 loc) 164 kB
/** * Dataquery * Copyright 2014 David Alan Hjelle & Icon Systems, Inc. * * Query Engine originally from Datascript v0.4.0 <https://github.com/tonsky/datascript> * which is Copyright 2014 Nikita Prokopov * * Licensed under Eclipse Public License; * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * https://github.com/dahjelle/dataquery/blob/master/LICENSE * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ if(typeof Math.imul == "undefined" || (Math.imul(0xffffffff,5) == 0)) { Math.imul = function (a, b) { var ah = (a >>> 16) & 0xffff; var al = a & 0xffff; var bh = (b >>> 16) & 0xffff; var bl = b & 0xffff; // the shift by 0 fixes the sign on the high part // the final |0 converts the unsigned value into a signed value return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0)|0); } } ;(function(){ var k; function p(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"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}var aa="closure_uid_"+(1E9*Math.random()>>>0),ba=0;function ca(a,b){for(var c in a)b.call(void 0,a[c],c,a)};function da(a,b){null!=a&&this.append.apply(this,arguments)}da.prototype.Ra="";da.prototype.append=function(a,b,c){this.Ra+=a;if(null!=b)for(var d=1;d<arguments.length;d++)this.Ra+=arguments[d];return this};da.prototype.toString=function(){return this.Ra};function fa(a,b){a.sort(b||ga)}function ja(a,b){for(var c=0;c<a.length;c++)a[c]={index:c,value:a[c]};var d=b||ga;fa(a,function(a,b){return d(a.value,b.value)||a.index-b.index});for(c=0;c<a.length;c++)a[c]=a[c].value}function ga(a,b){return a>b?1:a<b?-1:0};var ka=null;function la(){return new ma(null,5,[na,!0,oa,!0,pa,!1,qa,!1,ra,null],null)}function s(a){return null!=a&&!1!==a}function sa(a){return null==a}function ua(a){return s(a)?!1:!0}function t(a,b){return a[p(null==b?null:b)]?!0:a._?!0:!1}function va(a){return null==a?null:a.constructor}function u(a,b){var c=va(b),c=s(s(c)?c.Tb:c)?c.Sb:p(b);return Error(["No protocol method ",a," defined for type ",c,": ",b].join(""))}function wa(a){var b=a.Sb;return s(b)?b:""+x.b(a)} function xa(a){for(var b=a.length,c=Array(b),d=0;;)if(d<b)c[d]=a[d],d+=1;else break;return c}var ya=function(){function a(a,b){function c(a,b){a.push(b);return a}var g=[];return z.c?z.c(c,g,b):z.call(null,c,g,b)}function b(a){return c.a(null,a)}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,0,e)}throw Error("Invalid arity: "+arguments.length);};c.b=b;c.a=a;return c}(),za={},Aa={}; function Ba(a){if(a?a.L:a)return a.L(a);var b;b=Ba[p(null==a?null:a)];if(!b&&(b=Ba._,!b))throw u("ICounted.-count",a);return b.call(null,a)}function Ca(a){if(a?a.N:a)return a.N(a);var b;b=Ca[p(null==a?null:a)];if(!b&&(b=Ca._,!b))throw u("IEmptyableCollection.-empty",a);return b.call(null,a)}var Da={};function Ea(a,b){if(a?a.G:a)return a.G(a,b);var c;c=Ea[p(null==a?null:a)];if(!c&&(c=Ea._,!c))throw u("ICollection.-conj",a);return c.call(null,a,b)} var Ha={},A=function(){function a(a,b,c){if(a?a.Z:a)return a.Z(a,b,c);var g;g=A[p(null==a?null:a)];if(!g&&(g=A._,!g))throw u("IIndexed.-nth",a);return g.call(null,a,b,c)}function b(a,b){if(a?a.O:a)return a.O(a,b);var c;c=A[p(null==a?null:a)];if(!c&&(c=A._,!c))throw u("IIndexed.-nth",a);return c.call(null,a,b)}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length);};c.a=b;c.c=a;return c}(), Ja={};function Ka(a){if(a?a.P:a)return a.P(a);var b;b=Ka[p(null==a?null:a)];if(!b&&(b=Ka._,!b))throw u("ISeq.-first",a);return b.call(null,a)}function La(a){if(a?a.V:a)return a.V(a);var b;b=La[p(null==a?null:a)];if(!b&&(b=La._,!b))throw u("ISeq.-rest",a);return b.call(null,a)} var Ma={},Na={},Oa=function(){function a(a,b,c){if(a?a.D:a)return a.D(a,b,c);var g;g=Oa[p(null==a?null:a)];if(!g&&(g=Oa._,!g))throw u("ILookup.-lookup",a);return g.call(null,a,b,c)}function b(a,b){if(a?a.C:a)return a.C(a,b);var c;c=Oa[p(null==a?null:a)];if(!c&&(c=Oa._,!c))throw u("ILookup.-lookup",a);return c.call(null,a,b)}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length);};c.a=b;c.c= a;return c}();function Pa(a,b){if(a?a.jb:a)return a.jb(a,b);var c;c=Pa[p(null==a?null:a)];if(!c&&(c=Pa._,!c))throw u("IAssociative.-contains-key?",a);return c.call(null,a,b)}function Qa(a,b,c){if(a?a.Da:a)return a.Da(a,b,c);var d;d=Qa[p(null==a?null:a)];if(!d&&(d=Qa._,!d))throw u("IAssociative.-assoc",a);return d.call(null,a,b,c)}var Ra={};function Sa(a,b){if(a?a.Ta:a)return a.Ta(a,b);var c;c=Sa[p(null==a?null:a)];if(!c&&(c=Sa._,!c))throw u("IMap.-dissoc",a);return c.call(null,a,b)}var Ta={}; function Ua(a){if(a?a.ob:a)return a.ob();var b;b=Ua[p(null==a?null:a)];if(!b&&(b=Ua._,!b))throw u("IMapEntry.-key",a);return b.call(null,a)}function Va(a){if(a?a.ub:a)return a.ub();var b;b=Va[p(null==a?null:a)];if(!b&&(b=Va._,!b))throw u("IMapEntry.-val",a);return b.call(null,a)}var Wa={};function Xa(a,b){if(a?a.wb:a)return a.wb(0,b);var c;c=Xa[p(null==a?null:a)];if(!c&&(c=Xa._,!c))throw u("ISet.-disjoin",a);return c.call(null,a,b)}var Ya={}; function Za(a,b,c){if(a?a.pb:a)return a.pb(a,b,c);var d;d=Za[p(null==a?null:a)];if(!d&&(d=Za._,!d))throw u("IVector.-assoc-n",a);return d.call(null,a,b,c)}function $a(a){if(a?a.nb:a)return a.nb(a);var b;b=$a[p(null==a?null:a)];if(!b&&(b=$a._,!b))throw u("IDeref.-deref",a);return b.call(null,a)}var ab={};function cb(a){if(a?a.F:a)return a.F(a);var b;b=cb[p(null==a?null:a)];if(!b&&(b=cb._,!b))throw u("IMeta.-meta",a);return b.call(null,a)}var db={}; function eb(a,b){if(a?a.I:a)return a.I(a,b);var c;c=eb[p(null==a?null:a)];if(!c&&(c=eb._,!c))throw u("IWithMeta.-with-meta",a);return c.call(null,a,b)} var fb={},gb=function(){function a(a,b,c){if(a?a.T:a)return a.T(a,b,c);var g;g=gb[p(null==a?null:a)];if(!g&&(g=gb._,!g))throw u("IReduce.-reduce",a);return g.call(null,a,b,c)}function b(a,b){if(a?a.S:a)return a.S(a,b);var c;c=gb[p(null==a?null:a)];if(!c&&(c=gb._,!c))throw u("IReduce.-reduce",a);return c.call(null,a,b)}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length);};c.a=b;c.c=a;return c}(); function ib(a,b){if(a?a.t:a)return a.t(a,b);var c;c=ib[p(null==a?null:a)];if(!c&&(c=ib._,!c))throw u("IEquiv.-equiv",a);return c.call(null,a,b)}function jb(a){if(a?a.w:a)return a.w(a);var b;b=jb[p(null==a?null:a)];if(!b&&(b=jb._,!b))throw u("IHash.-hash",a);return b.call(null,a)}var kb={};function lb(a){if(a?a.H:a)return a.H(a);var b;b=lb[p(null==a?null:a)];if(!b&&(b=lb._,!b))throw u("ISeqable.-seq",a);return b.call(null,a)}var nb={},ob={}; function pb(a){if(a?a.gb:a)return a.gb(a);var b;b=pb[p(null==a?null:a)];if(!b&&(b=pb._,!b))throw u("IReversible.-rseq",a);return b.call(null,a)}function rb(a,b){if(a?a.zb:a)return a.zb(0,b);var c;c=rb[p(null==a?null:a)];if(!c&&(c=rb._,!c))throw u("IWriter.-write",a);return c.call(null,a,b)}var sb={};function tb(a,b,c){if(a?a.u:a)return a.u(a,b,c);var d;d=tb[p(null==a?null:a)];if(!d&&(d=tb._,!d))throw u("IPrintWithWriter.-pr-writer",a);return d.call(null,a,b,c)} function ub(a,b,c){if(a?a.yb:a)return a.yb(0,b,c);var d;d=ub[p(null==a?null:a)];if(!d&&(d=ub._,!d))throw u("IWatchable.-notify-watches",a);return d.call(null,a,b,c)}function vb(a){if(a?a.Sa:a)return a.Sa(a);var b;b=vb[p(null==a?null:a)];if(!b&&(b=vb._,!b))throw u("IEditableCollection.-as-transient",a);return b.call(null,a)}function wb(a,b){if(a?a.Ma:a)return a.Ma(a,b);var c;c=wb[p(null==a?null:a)];if(!c&&(c=wb._,!c))throw u("ITransientCollection.-conj!",a);return c.call(null,a,b)} function xb(a){if(a?a.Na:a)return a.Na(a);var b;b=xb[p(null==a?null:a)];if(!b&&(b=xb._,!b))throw u("ITransientCollection.-persistent!",a);return b.call(null,a)}function yb(a,b,c){if(a?a.Za:a)return a.Za(a,b,c);var d;d=yb[p(null==a?null:a)];if(!d&&(d=yb._,!d))throw u("ITransientAssociative.-assoc!",a);return d.call(null,a,b,c)}function zb(a,b,c){if(a?a.xb:a)return a.xb(0,b,c);var d;d=zb[p(null==a?null:a)];if(!d&&(d=zb._,!d))throw u("ITransientVector.-assoc-n!",a);return d.call(null,a,b,c)} function Ab(a){if(a?a.rb:a)return a.rb();var b;b=Ab[p(null==a?null:a)];if(!b&&(b=Ab._,!b))throw u("IChunk.-drop-first",a);return b.call(null,a)}function Bb(a){if(a?a.lb:a)return a.lb(a);var b;b=Bb[p(null==a?null:a)];if(!b&&(b=Bb._,!b))throw u("IChunkedSeq.-chunked-first",a);return b.call(null,a)}function Db(a){if(a?a.mb:a)return a.mb(a);var b;b=Db[p(null==a?null:a)];if(!b&&(b=Db._,!b))throw u("IChunkedSeq.-chunked-rest",a);return b.call(null,a)} function Eb(a){if(a?a.kb:a)return a.kb(a);var b;b=Eb[p(null==a?null:a)];if(!b&&(b=Eb._,!b))throw u("IChunkedNext.-chunked-next",a);return b.call(null,a)}function Fb(a,b){if(a?a.Mb:a)return a.Mb(a,b);var c;c=Fb[p(null==a?null:a)];if(!c&&(c=Fb._,!c))throw u("IReset.-reset!",a);return c.call(null,a,b)} var Gb=function(){function a(a,b,c,d,e){if(a?a.Qb:a)return a.Qb(a,b,c,d,e);var n;n=Gb[p(null==a?null:a)];if(!n&&(n=Gb._,!n))throw u("ISwap.-swap!",a);return n.call(null,a,b,c,d,e)}function b(a,b,c,d){if(a?a.Pb:a)return a.Pb(a,b,c,d);var e;e=Gb[p(null==a?null:a)];if(!e&&(e=Gb._,!e))throw u("ISwap.-swap!",a);return e.call(null,a,b,c,d)}function c(a,b,c){if(a?a.Ob:a)return a.Ob(a,b,c);var d;d=Gb[p(null==a?null:a)];if(!d&&(d=Gb._,!d))throw u("ISwap.-swap!",a);return d.call(null,a,b,c)}function d(a,b){if(a? a.Nb:a)return a.Nb(a,b);var c;c=Gb[p(null==a?null:a)];if(!c&&(c=Gb._,!c))throw u("ISwap.-swap!",a);return c.call(null,a,b)}var e=null,e=function(e,g,h,l,m){switch(arguments.length){case 2:return d.call(this,e,g);case 3:return c.call(this,e,g,h);case 4:return b.call(this,e,g,h,l);case 5:return a.call(this,e,g,h,l,m)}throw Error("Invalid arity: "+arguments.length);};e.a=d;e.c=c;e.j=b;e.s=a;return e}();function Hb(a){this.Ub=a;this.p=0;this.i=1073741824}Hb.prototype.zb=function(a,b){return this.Ub.append(b)}; function Ib(a){var b=new da;a.u(null,new Hb(b),la());return""+x.b(b)}var Jb="undefined"!==typeof Math.imul&&0!==(Math.imul.a?Math.imul.a(4294967295,5):Math.imul.call(null,4294967295,5))?function(a,b){return Math.imul.a?Math.imul.a(a,b):Math.imul.call(null,a,b)}:function(a,b){var c=a&65535,d=b&65535;return c*d+((a>>>16&65535)*d+c*(b>>>16&65535)<<16>>>0)|0};function Kb(a){a=Jb(a,3432918353);return Jb(a<<15|a>>>-15,461845907)}function Lb(a,b){var c=a^b;return Jb(c<<13|c>>>-13,5)+3864292196} function Mb(a,b){var c=a^b,c=Jb(c^c>>>16,2246822507),c=Jb(c^c>>>13,3266489909);return c^c>>>16}function Nb(a){var b;a:{b=1;for(var c=0;;)if(b<a.length){var d=b+2,c=Lb(c,Kb(a.charCodeAt(b-1)|a.charCodeAt(b)<<16));b=d}else{b=c;break a}b=void 0}b=1===(a.length&1)?b^Kb(a.charCodeAt(a.length-1)):b;return Mb(b,Jb(2,a.length))}var Ob={},Pb=0; function Rb(a){255<Pb&&(Ob={},Pb=0);var b=Ob[a];if("number"!==typeof b){a:if(null!=a)if(b=a.length,0<b){for(var c=0,d=0;;)if(c<b)var e=c+1,d=Jb(31,d)+a.charCodeAt(c),c=e;else{b=d;break a}b=void 0}else b=0;else b=0;Ob[a]=b;Pb+=1}return a=b}function Sb(a){a&&(a.i&4194304||a.Xb)?a=a.w(null):"number"===typeof a?a=(Math.floor.b?Math.floor.b(a):Math.floor.call(null,a))%2147483647:!0===a?a=1:!1===a?a=0:"string"===typeof a?(a=Rb(a),0!==a&&(a=Kb(a),a=Lb(0,a),a=Mb(a,4))):a=null==a?0:jb(a);return a} function Tb(a,b){return a^b+2654435769+(a<<6)+(a>>2)}function Ub(a){return a instanceof B}function Vb(a,b){if(s(C.a?C.a(a,b):C.call(null,a,b)))return 0;if(s(function(){var c=ua(a.ja);return c?b.ja:c}()))return-1;if(s(a.ja)){if(ua(b.ja))return 1;var c=function(){var c=a.ja,d=b.ja;return Wb.a?Wb.a(c,d):Wb.call(null,c,d)}();if(0===c){var c=a.name,d=b.name;return Wb.a?Wb.a(c,d):Wb.call(null,c,d)}return c}c=a.name;d=b.name;return Wb.a?Wb.a(c,d):Wb.call(null,c,d)} function B(a,b,c,d,e){this.ja=a;this.name=b;this.Ka=c;this.Qa=d;this.ea=e;this.i=2154168321;this.p=4096}k=B.prototype;k.u=function(a,b){return rb(b,this.Ka)};k.w=function(){var a=this.Qa;return null!=a?a:this.Qa=a=Tb(Nb(this.name),Rb(this.ja))};k.I=function(a,b){return new B(this.ja,this.name,this.Ka,this.Qa,b)};k.F=function(){return this.ea}; k.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return Oa.c(c,this,null);case 3:return Oa.c(c,this,d)}throw Error("Invalid arity: "+arguments.length);};a.a=function(a,c){return Oa.c(c,this,null)};a.c=function(a,c,d){return Oa.c(c,this,d)};return a}();k.apply=function(a,b){return this.call.apply(this,[this].concat(xa(b)))};k.b=function(a){return Oa.c(a,this,null)};k.a=function(a,b){return Oa.c(a,this,b)};k.t=function(a,b){return b instanceof B?this.Ka===b.Ka:!1}; k.toString=function(){return this.Ka};var Xb=function(){function a(a,b){var c=null!=a?""+x.b(a)+"/"+x.b(b):b;return new B(a,b,c,null,null)}function b(a){return a instanceof B?a:c.a(null,a)}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length);};c.b=b;c.a=a;return c}(); function D(a){if(null==a)return null;if(a&&(a.i&8388608||a.$b))return a.H(null);if(a instanceof Array||"string"===typeof a)return 0===a.length?null:new Yb(a,0);if(t(kb,a))return lb(a);throw Error(""+x.b(a)+" is not ISeqable");}function H(a){if(null==a)return null;if(a&&(a.i&64||a.Ya))return a.P(null);a=D(a);return null==a?null:Ka(a)}function I(a){return null!=a?a&&(a.i&64||a.Ya)?a.V(null):(a=D(a))?La(a):J:J}function L(a){return null==a?null:a&&(a.i&128||a.vb)?a.Y(null):D(I(a))} var C=function(){function a(a,b){return null==a?null==b:a===b||ib(a,b)}var b=null,c=function(){function a(b,d,h){var l=null;2<arguments.length&&(l=M(Array.prototype.slice.call(arguments,2),0));return c.call(this,b,d,l)}function c(a,d,e){for(;;)if(b.a(a,d))if(L(e))a=d,d=H(e),e=L(e);else return b.a(d,H(e));else return!1}a.h=2;a.e=function(a){var b=H(a);a=L(a);var d=H(a);a=I(a);return c(b,d,a)};a.d=c;return a}(),b=function(b,e,f){switch(arguments.length){case 1:return!0;case 2:return a.call(this,b,e); default:return c.d(b,e,M(arguments,2))}throw Error("Invalid arity: "+arguments.length);};b.h=2;b.e=c.e;b.b=function(){return!0};b.a=a;b.d=c.d;return b}();function Zb(a,b){var c=Kb(a),c=Lb(0,c);return Mb(c,b)}function $b(a){var b=0,c=1;for(a=D(a);;)if(null!=a)b+=1,c=Jb(31,c)+Sb(H(a))|0,a=L(a);else return Zb(c,b)}function cc(a){var b=0,c=0;for(a=D(a);;)if(null!=a)b+=1,c=c+Sb(H(a))|0,a=L(a);else return Zb(c,b)}Aa["null"]=!0;Ba["null"]=function(){return 0}; Date.prototype.t=function(a,b){return b instanceof Date&&this.toString()===b.toString()};ib.number=function(a,b){return a===b};ab["function"]=!0;cb["function"]=function(){return null};za["function"]=!0;jb._=function(a){return a[aa]||(a[aa]=++ba)};function dc(a){return a+1}function ec(a){this.da=a;this.p=0;this.i=32768}ec.prototype.nb=function(){return this.da};function fc(a){return a instanceof ec}function N(a){return $a(a)} var gc=function(){function a(a,b,c,d){for(var l=Ba(a);;)if(d<l){var m=A.a(a,d);c=b.a?b.a(c,m):b.call(null,c,m);if(fc(c))return $a(c);d+=1}else return c}function b(a,b,c){var d=Ba(a),l=c;for(c=0;;)if(c<d){var m=A.a(a,c),l=b.a?b.a(l,m):b.call(null,l,m);if(fc(l))return $a(l);c+=1}else return l}function c(a,b){var c=Ba(a);if(0===c)return b.m?b.m():b.call(null);for(var d=A.a(a,0),l=1;;)if(l<c){var m=A.a(a,l),d=b.a?b.a(d,m):b.call(null,d,m);if(fc(d))return $a(d);l+=1}else return d}var d=null,d=function(d, f,g,h){switch(arguments.length){case 2:return c.call(this,d,f);case 3:return b.call(this,d,f,g);case 4:return a.call(this,d,f,g,h)}throw Error("Invalid arity: "+arguments.length);};d.a=c;d.c=b;d.j=a;return d}(),hc=function(){function a(a,b,c,d){for(var l=a.length;;)if(d<l){var m=a[d];c=b.a?b.a(c,m):b.call(null,c,m);if(fc(c))return $a(c);d+=1}else return c}function b(a,b,c){var d=a.length,l=c;for(c=0;;)if(c<d){var m=a[c],l=b.a?b.a(l,m):b.call(null,l,m);if(fc(l))return $a(l);c+=1}else return l}function c(a, b){var c=a.length;if(0===a.length)return b.m?b.m():b.call(null);for(var d=a[0],l=1;;)if(l<c){var m=a[l],d=b.a?b.a(d,m):b.call(null,d,m);if(fc(d))return $a(d);l+=1}else return d}var d=null,d=function(d,f,g,h){switch(arguments.length){case 2:return c.call(this,d,f);case 3:return b.call(this,d,f,g);case 4:return a.call(this,d,f,g,h)}throw Error("Invalid arity: "+arguments.length);};d.a=c;d.c=b;d.j=a;return d}();function ic(a){return a?a.i&2||a.Fb?!0:a.i?!1:t(Aa,a):t(Aa,a)} function jc(a){return a?a.i&16||a.sb?!0:a.i?!1:t(Ha,a):t(Ha,a)}function Yb(a,b){this.f=a;this.o=b;this.i=166199550;this.p=8192}k=Yb.prototype;k.toString=function(){return Ib(this)};k.O=function(a,b){var c=b+this.o;return c<this.f.length?this.f[c]:null};k.Z=function(a,b,c){a=b+this.o;return a<this.f.length?this.f[a]:c};k.Y=function(){return this.o+1<this.f.length?new Yb(this.f,this.o+1):null};k.L=function(){return this.f.length-this.o}; k.gb=function(){var a=Ba(this);return 0<a?new kc(this,a-1,null):null};k.w=function(){return $b(this)};k.t=function(a,b){return lc.a?lc.a(this,b):lc.call(null,this,b)};k.N=function(){return J};k.S=function(a,b){return hc.j(this.f,b,this.f[this.o],this.o+1)};k.T=function(a,b,c){return hc.j(this.f,b,c,this.o)};k.P=function(){return this.f[this.o]};k.V=function(){return this.o+1<this.f.length?new Yb(this.f,this.o+1):J};k.H=function(){return this}; k.G=function(a,b){return O.a?O.a(b,this):O.call(null,b,this)}; var mc=function(){function a(a,b){return b<a.length?new Yb(a,b):null}function b(a){return c.a(a,0)}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length);};c.b=b;c.a=a;return c}(),M=function(){function a(a,b){return mc.a(a,b)}function b(a){return mc.a(a,0)}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+ arguments.length);};c.b=b;c.a=a;return c}();function kc(a,b,c){this.bb=a;this.o=b;this.l=c;this.i=32374990;this.p=8192}k=kc.prototype;k.toString=function(){return Ib(this)};k.F=function(){return this.l};k.Y=function(){return 0<this.o?new kc(this.bb,this.o-1,null):null};k.L=function(){return this.o+1};k.w=function(){return $b(this)};k.t=function(a,b){return lc.a?lc.a(this,b):lc.call(null,this,b)};k.N=function(){var a=this.l;return nc.a?nc.a(J,a):nc.call(null,J,a)}; k.S=function(a,b){return oc.a?oc.a(b,this):oc.call(null,b,this)};k.T=function(a,b,c){return oc.c?oc.c(b,c,this):oc.call(null,b,c,this)};k.P=function(){return A.a(this.bb,this.o)};k.V=function(){return 0<this.o?new kc(this.bb,this.o-1,null):J};k.H=function(){return this};k.I=function(a,b){return new kc(this.bb,this.o,b)};k.G=function(a,b){return O.a?O.a(b,this):O.call(null,b,this)};function pc(a){return H(L(a))}function qc(a){return H(H(a))} function rc(a){for(;;){var b=L(a);if(null!=b)a=b;else return H(a)}}ib._=function(a,b){return a===b}; var tc=function(){function a(a,b){return null!=a?Ea(a,b):Ea(J,b)}var b=null,c=function(){function a(b,d,h){var l=null;2<arguments.length&&(l=M(Array.prototype.slice.call(arguments,2),0));return c.call(this,b,d,l)}function c(a,d,e){for(;;)if(s(e))a=b.a(a,d),d=H(e),e=L(e);else return b.a(a,d)}a.h=2;a.e=function(a){var b=H(a);a=L(a);var d=H(a);a=I(a);return c(b,d,a)};a.d=c;return a}(),b=function(b,e,f){switch(arguments.length){case 0:return sc;case 1:return b;case 2:return a.call(this,b,e);default:return c.d(b, e,M(arguments,2))}throw Error("Invalid arity: "+arguments.length);};b.h=2;b.e=c.e;b.m=function(){return sc};b.b=function(a){return a};b.a=a;b.d=c.d;return b}();function Q(a){if(null!=a)if(a&&(a.i&2||a.Fb))a=a.L(null);else if(a instanceof Array)a=a.length;else if("string"===typeof a)a=a.length;else if(t(Aa,a))a=Ba(a);else a:{a=D(a);for(var b=0;;){if(ic(a)){a=b+Ba(a);break a}a=L(a);b+=1}a=void 0}else a=0;return a} var uc=function(){function a(a,b,c){for(;;){if(null==a)return c;if(0===b)return D(a)?H(a):c;if(jc(a))return A.c(a,b,c);if(D(a))a=L(a),b-=1;else return c}}function b(a,b){for(;;){if(null==a)throw Error("Index out of bounds");if(0===b){if(D(a))return H(a);throw Error("Index out of bounds");}if(jc(a))return A.a(a,b);if(D(a)){var c=L(a),g=b-1;a=c;b=g}else throw Error("Index out of bounds");}}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this, c,e,f)}throw Error("Invalid arity: "+arguments.length);};c.a=b;c.c=a;return c}(),R=function(){function a(a,b,c){if("number"!==typeof b)throw Error("index argument to nth must be a number.");if(null==a)return c;if(a&&(a.i&16||a.sb))return a.Z(null,b,c);if(a instanceof Array||"string"===typeof a)return b<a.length?a[b]:c;if(t(Ha,a))return A.a(a,b);if(a?a.i&64||a.Ya||(a.i?0:t(Ja,a)):t(Ja,a))return uc.c(a,b,c);throw Error("nth not supported on this type "+x.b(wa(va(a))));}function b(a,b){if("number"!== typeof b)throw Error("index argument to nth must be a number");if(null==a)return a;if(a&&(a.i&16||a.sb))return a.O(null,b);if(a instanceof Array||"string"===typeof a)return b<a.length?a[b]:null;if(t(Ha,a))return A.a(a,b);if(a?a.i&64||a.Ya||(a.i?0:t(Ja,a)):t(Ja,a))return uc.a(a,b);throw Error("nth not supported on this type "+x.b(wa(va(a))));}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length); };c.a=b;c.c=a;return c}(),S=function(){function a(a,b,c){return null!=a?a&&(a.i&256||a.tb)?a.D(null,b,c):a instanceof Array?b<a.length?a[b]:c:"string"===typeof a?b<a.length?a[b]:c:t(Na,a)?Oa.c(a,b,c):c:c}function b(a,b){return null==a?null:a&&(a.i&256||a.tb)?a.C(null,b):a instanceof Array?b<a.length?a[b]:null:"string"===typeof a?b<a.length?a[b]:null:t(Na,a)?Oa.a(a,b):null}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+ arguments.length);};c.a=b;c.c=a;return c}(),xc=function(){function a(a,b,c){return null!=a?Qa(a,b,c):vc([b],[c])}var b=null,c=function(){function a(b,d,h,l){var m=null;3<arguments.length&&(m=M(Array.prototype.slice.call(arguments,3),0));return c.call(this,b,d,h,m)}function c(a,d,e,l){for(;;)if(a=b.c(a,d,e),s(l))d=H(l),e=pc(l),l=L(L(l));else return a}a.h=3;a.e=function(a){var b=H(a);a=L(a);var d=H(a);a=L(a);var l=H(a);a=I(a);return c(b,d,l,a)};a.d=c;return a}(),b=function(b,e,f,g){switch(arguments.length){case 3:return a.call(this, b,e,f);default:return c.d(b,e,f,M(arguments,3))}throw Error("Invalid arity: "+arguments.length);};b.h=3;b.e=c.e;b.c=a;b.d=c.d;return b}(),yc=function(){function a(a,b){return null==a?null:Sa(a,b)}var b=null,c=function(){function a(b,d,h){var l=null;2<arguments.length&&(l=M(Array.prototype.slice.call(arguments,2),0));return c.call(this,b,d,l)}function c(a,d,e){for(;;){if(null==a)return null;a=b.a(a,d);if(s(e))d=H(e),e=L(e);else return a}}a.h=2;a.e=function(a){var b=H(a);a=L(a);var d=H(a);a=I(a);return c(b, d,a)};a.d=c;return a}(),b=function(b,e,f){switch(arguments.length){case 1:return b;case 2:return a.call(this,b,e);default:return c.d(b,e,M(arguments,2))}throw Error("Invalid arity: "+arguments.length);};b.h=2;b.e=c.e;b.b=function(a){return a};b.a=a;b.d=c.d;return b}();function zc(a){var b="function"==p(a);return s(b)?b:a?s(s(null)?null:a.Eb)?!0:a.ec?!1:t(za,a):t(za,a)}function Ac(a,b){this.g=a;this.l=b;this.p=0;this.i=393217}k=Ac.prototype; k.call=function(){function a(a,b,c,d,e,f,g,h,l,m,n,q,v,r,w,y,E,G,K,P,ea,F){a=this.g;return T.fb?T.fb(a,b,c,d,e,f,g,h,l,m,n,q,v,r,w,y,E,G,K,P,ea,F):T.call(null,a,b,c,d,e,f,g,h,l,m,n,q,v,r,w,y,E,G,K,P,ea,F)}function b(a,b,c,d,e,f,g,h,l,m,n,q,v,r,w,y,E,G,K,P,ea){a=this;return a.g.va?a.g.va(b,c,d,e,f,g,h,l,m,n,q,v,r,w,y,E,G,K,P,ea):a.g.call(null,b,c,d,e,f,g,h,l,m,n,q,v,r,w,y,E,G,K,P,ea)}function c(a,b,c,d,e,f,g,h,l,m,n,q,v,r,w,y,E,G,K,P){a=this;return a.g.ua?a.g.ua(b,c,d,e,f,g,h,l,m,n,q,v,r,w,y,E,G,K, P):a.g.call(null,b,c,d,e,f,g,h,l,m,n,q,v,r,w,y,E,G,K,P)}function d(a,b,c,d,e,f,g,h,l,m,n,q,v,r,w,y,E,G,K){a=this;return a.g.ta?a.g.ta(b,c,d,e,f,g,h,l,m,n,q,v,r,w,y,E,G,K):a.g.call(null,b,c,d,e,f,g,h,l,m,n,q,v,r,w,y,E,G,K)}function e(a,b,c,d,e,f,g,h,l,m,n,q,v,r,w,y,E,G){a=this;return a.g.sa?a.g.sa(b,c,d,e,f,g,h,l,m,n,q,v,r,w,y,E,G):a.g.call(null,b,c,d,e,f,g,h,l,m,n,q,v,r,w,y,E,G)}function f(a,b,c,d,e,f,g,h,l,m,n,q,v,r,w,y,E){a=this;return a.g.ra?a.g.ra(b,c,d,e,f,g,h,l,m,n,q,v,r,w,y,E):a.g.call(null, b,c,d,e,f,g,h,l,m,n,q,v,r,w,y,E)}function g(a,b,c,d,e,f,g,h,l,m,n,q,v,r,w,y){a=this;return a.g.qa?a.g.qa(b,c,d,e,f,g,h,l,m,n,q,v,r,w,y):a.g.call(null,b,c,d,e,f,g,h,l,m,n,q,v,r,w,y)}function h(a,b,c,d,e,f,g,h,l,m,n,q,v,r,w){a=this;return a.g.pa?a.g.pa(b,c,d,e,f,g,h,l,m,n,q,v,r,w):a.g.call(null,b,c,d,e,f,g,h,l,m,n,q,v,r,w)}function l(a,b,c,d,e,f,g,h,l,m,n,q,v,r){a=this;return a.g.oa?a.g.oa(b,c,d,e,f,g,h,l,m,n,q,v,r):a.g.call(null,b,c,d,e,f,g,h,l,m,n,q,v,r)}function m(a,b,c,d,e,f,g,h,l,m,n,q,v){a=this; return a.g.na?a.g.na(b,c,d,e,f,g,h,l,m,n,q,v):a.g.call(null,b,c,d,e,f,g,h,l,m,n,q,v)}function n(a,b,c,d,e,f,g,h,l,m,n,q){a=this;return a.g.ma?a.g.ma(b,c,d,e,f,g,h,l,m,n,q):a.g.call(null,b,c,d,e,f,g,h,l,m,n,q)}function q(a,b,c,d,e,f,g,h,l,m,n){a=this;return a.g.la?a.g.la(b,c,d,e,f,g,h,l,m,n):a.g.call(null,b,c,d,e,f,g,h,l,m,n)}function r(a,b,c,d,e,f,g,h,l,m){a=this;return a.g.xa?a.g.xa(b,c,d,e,f,g,h,l,m):a.g.call(null,b,c,d,e,f,g,h,l,m)}function v(a,b,c,d,e,f,g,h,l){a=this;return a.g.wa?a.g.wa(b,c, d,e,f,g,h,l):a.g.call(null,b,c,d,e,f,g,h,l)}function w(a,b,c,d,e,f,g,h){a=this;return a.g.ca?a.g.ca(b,c,d,e,f,g,h):a.g.call(null,b,c,d,e,f,g,h)}function y(a,b,c,d,e,f,g){a=this;return a.g.U?a.g.U(b,c,d,e,f,g):a.g.call(null,b,c,d,e,f,g)}function E(a,b,c,d,e,f){a=this;return a.g.s?a.g.s(b,c,d,e,f):a.g.call(null,b,c,d,e,f)}function G(a,b,c,d,e){a=this;return a.g.j?a.g.j(b,c,d,e):a.g.call(null,b,c,d,e)}function K(a,b,c,d){a=this;return a.g.c?a.g.c(b,c,d):a.g.call(null,b,c,d)}function P(a,b,c){a=this; return a.g.a?a.g.a(b,c):a.g.call(null,b,c)}function ea(a,b){a=this;return a.g.b?a.g.b(b):a.g.call(null,b)}function Ia(a){a=this;return a.g.m?a.g.m():a.g.call(null)}var F=null,F=function(F,U,X,W,ha,ta,Fa,ia,Ga,bb,hb,mb,qb,Cb,Qb,bc,wc,Rc,Jd,we,wf,Ng){switch(arguments.length){case 1:return Ia.call(this,F);case 2:return ea.call(this,F,U);case 3:return P.call(this,F,U,X);case 4:return K.call(this,F,U,X,W);case 5:return G.call(this,F,U,X,W,ha);case 6:return E.call(this,F,U,X,W,ha,ta);case 7:return y.call(this, F,U,X,W,ha,ta,Fa);case 8:return w.call(this,F,U,X,W,ha,ta,Fa,ia);case 9:return v.call(this,F,U,X,W,ha,ta,Fa,ia,Ga);case 10:return r.call(this,F,U,X,W,ha,ta,Fa,ia,Ga,bb);case 11:return q.call(this,F,U,X,W,ha,ta,Fa,ia,Ga,bb,hb);case 12:return n.call(this,F,U,X,W,ha,ta,Fa,ia,Ga,bb,hb,mb);case 13:return m.call(this,F,U,X,W,ha,ta,Fa,ia,Ga,bb,hb,mb,qb);case 14:return l.call(this,F,U,X,W,ha,ta,Fa,ia,Ga,bb,hb,mb,qb,Cb);case 15:return h.call(this,F,U,X,W,ha,ta,Fa,ia,Ga,bb,hb,mb,qb,Cb,Qb);case 16:return g.call(this, F,U,X,W,ha,ta,Fa,ia,Ga,bb,hb,mb,qb,Cb,Qb,bc);case 17:return f.call(this,F,U,X,W,ha,ta,Fa,ia,Ga,bb,hb,mb,qb,Cb,Qb,bc,wc);case 18:return e.call(this,F,U,X,W,ha,ta,Fa,ia,Ga,bb,hb,mb,qb,Cb,Qb,bc,wc,Rc);case 19:return d.call(this,F,U,X,W,ha,ta,Fa,ia,Ga,bb,hb,mb,qb,Cb,Qb,bc,wc,Rc,Jd);case 20:return c.call(this,F,U,X,W,ha,ta,Fa,ia,Ga,bb,hb,mb,qb,Cb,Qb,bc,wc,Rc,Jd,we);case 21:return b.call(this,F,U,X,W,ha,ta,Fa,ia,Ga,bb,hb,mb,qb,Cb,Qb,bc,wc,Rc,Jd,we,wf);case 22:return a.call(this,F,U,X,W,ha,ta,Fa,ia,Ga,bb, hb,mb,qb,Cb,Qb,bc,wc,Rc,Jd,we,wf,Ng)}throw Error("Invalid arity: "+arguments.length);};F.b=Ia;F.a=ea;F.c=P;F.j=K;F.s=G;F.U=E;F.ca=y;F.wa=w;F.xa=v;F.la=r;F.ma=q;F.na=n;F.oa=m;F.pa=l;F.qa=h;F.ra=g;F.sa=f;F.ta=e;F.ua=d;F.va=c;F.Hb=b;F.fb=a;return F}();k.apply=function(a,b){return this.call.apply(this,[this].concat(xa(b)))};k.m=function(){return this.g.m?this.g.m():this.g.call(null)};k.b=function(a){return this.g.b?this.g.b(a):this.g.call(null,a)}; k.a=function(a,b){return this.g.a?this.g.a(a,b):this.g.call(null,a,b)};k.c=function(a,b,c){return this.g.c?this.g.c(a,b,c):this.g.call(null,a,b,c)};k.j=function(a,b,c,d){return this.g.j?this.g.j(a,b,c,d):this.g.call(null,a,b,c,d)};k.s=function(a,b,c,d,e){return this.g.s?this.g.s(a,b,c,d,e):this.g.call(null,a,b,c,d,e)};k.U=function(a,b,c,d,e,f){return this.g.U?this.g.U(a,b,c,d,e,f):this.g.call(null,a,b,c,d,e,f)}; k.ca=function(a,b,c,d,e,f,g){return this.g.ca?this.g.ca(a,b,c,d,e,f,g):this.g.call(null,a,b,c,d,e,f,g)};k.wa=function(a,b,c,d,e,f,g,h){return this.g.wa?this.g.wa(a,b,c,d,e,f,g,h):this.g.call(null,a,b,c,d,e,f,g,h)};k.xa=function(a,b,c,d,e,f,g,h,l){return this.g.xa?this.g.xa(a,b,c,d,e,f,g,h,l):this.g.call(null,a,b,c,d,e,f,g,h,l)};k.la=function(a,b,c,d,e,f,g,h,l,m){return this.g.la?this.g.la(a,b,c,d,e,f,g,h,l,m):this.g.call(null,a,b,c,d,e,f,g,h,l,m)}; k.ma=function(a,b,c,d,e,f,g,h,l,m,n){return this.g.ma?this.g.ma(a,b,c,d,e,f,g,h,l,m,n):this.g.call(null,a,b,c,d,e,f,g,h,l,m,n)};k.na=function(a,b,c,d,e,f,g,h,l,m,n,q){return this.g.na?this.g.na(a,b,c,d,e,f,g,h,l,m,n,q):this.g.call(null,a,b,c,d,e,f,g,h,l,m,n,q)};k.oa=function(a,b,c,d,e,f,g,h,l,m,n,q,r){return this.g.oa?this.g.oa(a,b,c,d,e,f,g,h,l,m,n,q,r):this.g.call(null,a,b,c,d,e,f,g,h,l,m,n,q,r)}; k.pa=function(a,b,c,d,e,f,g,h,l,m,n,q,r,v){return this.g.pa?this.g.pa(a,b,c,d,e,f,g,h,l,m,n,q,r,v):this.g.call(null,a,b,c,d,e,f,g,h,l,m,n,q,r,v)};k.qa=function(a,b,c,d,e,f,g,h,l,m,n,q,r,v,w){return this.g.qa?this.g.qa(a,b,c,d,e,f,g,h,l,m,n,q,r,v,w):this.g.call(null,a,b,c,d,e,f,g,h,l,m,n,q,r,v,w)};k.ra=function(a,b,c,d,e,f,g,h,l,m,n,q,r,v,w,y){return this.g.ra?this.g.ra(a,b,c,d,e,f,g,h,l,m,n,q,r,v,w,y):this.g.call(null,a,b,c,d,e,f,g,h,l,m,n,q,r,v,w,y)}; k.sa=function(a,b,c,d,e,f,g,h,l,m,n,q,r,v,w,y,E){return this.g.sa?this.g.sa(a,b,c,d,e,f,g,h,l,m,n,q,r,v,w,y,E):this.g.call(null,a,b,c,d,e,f,g,h,l,m,n,q,r,v,w,y,E)};k.ta=function(a,b,c,d,e,f,g,h,l,m,n,q,r,v,w,y,E,G){return this.g.ta?this.g.ta(a,b,c,d,e,f,g,h,l,m,n,q,r,v,w,y,E,G):this.g.call(null,a,b,c,d,e,f,g,h,l,m,n,q,r,v,w,y,E,G)}; k.ua=function(a,b,c,d,e,f,g,h,l,m,n,q,r,v,w,y,E,G,K){return this.g.ua?this.g.ua(a,b,c,d,e,f,g,h,l,m,n,q,r,v,w,y,E,G,K):this.g.call(null,a,b,c,d,e,f,g,h,l,m,n,q,r,v,w,y,E,G,K)};k.va=function(a,b,c,d,e,f,g,h,l,m,n,q,r,v,w,y,E,G,K,P){return this.g.va?this.g.va(a,b,c,d,e,f,g,h,l,m,n,q,r,v,w,y,E,G,K,P):this.g.call(null,a,b,c,d,e,f,g,h,l,m,n,q,r,v,w,y,E,G,K,P)}; k.Hb=function(a,b,c,d,e,f,g,h,l,m,n,q,r,v,w,y,E,G,K,P,ea){var Ia=this.g;return T.fb?T.fb(Ia,a,b,c,d,e,f,g,h,l,m,n,q,r,v,w,y,E,G,K,P,ea):T.call(null,Ia,a,b,c,d,e,f,g,h,l,m,n,q,r,v,w,y,E,G,K,P,ea)};k.Eb=!0;k.I=function(a,b){return new Ac(this.g,b)};k.F=function(){return this.l};function nc(a,b){return zc(a)&&!(a?a.i&262144||a.Rb||(a.i?0:t(db,a)):t(db,a))?new Ac(a,b):null==a?null:eb(a,b)}function Bc(a){var b=null!=a;return(b?a?a.i&131072||a.Jb||(a.i?0:t(ab,a)):t(ab,a):b)?cb(a):null} var Cc=function(){function a(a,b){return null==a?null:Xa(a,b)}var b=null,c=function(){function a(b,d,h){var l=null;2<arguments.length&&(l=M(Array.prototype.slice.call(arguments,2),0));return c.call(this,b,d,l)}function c(a,d,e){for(;;){if(null==a)return null;a=b.a(a,d);if(s(e))d=H(e),e=L(e);else return a}}a.h=2;a.e=function(a){var b=H(a);a=L(a);var d=H(a);a=I(a);return c(b,d,a)};a.d=c;return a}(),b=function(b,e,f){switch(arguments.length){case 1:return b;case 2:return a.call(this,b,e);default:return c.d(b, e,M(arguments,2))}throw Error("Invalid arity: "+arguments.length);};b.h=2;b.e=c.e;b.b=function(a){return a};b.a=a;b.d=c.d;return b}();function Dc(a){return null==a||ua(D(a))}function Ec(a){return null==a?!1:a?a.i&4096||a.bc?!0:a.i?!1:t(Wa,a):t(Wa,a)}function Fc(a){return a?a.i&16777216||a.ac?!0:a.i?!1:t(nb,a):t(nb,a)}function Gc(a){return null==a?!1:a?a.i&1024||a.Yb?!0:a.i?!1:t(Ra,a):t(Ra,a)}function Hc(a){return a?a.i&16384||a.cc?!0:a.i?!1:t(Ya,a):t(Ya,a)} function Ic(a){return a?a.p&512||a.Vb?!0:!1:!1}function Jc(a){var b=[];ca(a,function(a,b){return function(a,c){return b.push(c)}}(a,b));return b}function Kc(a,b,c,d,e){for(;0!==e;)c[d]=a[b],d+=1,e-=1,b+=1}function Lc(a,b,c,d,e){b+=e-1;for(d+=e-1;0!==e;)c[d]=a[b],d-=1,e-=1,b-=1}var Mc={};function Nc(a){return null==a?!1:a?a.i&64||a.Ya?!0:a.i?!1:t(Ja,a):t(Ja,a)}function Oc(a){return s(a)?!0:!1}function Pc(a,b){return S.c(a,b,Mc)===Mc?!1:!0} function Wb(a,b){if(a===b)return 0;if(null==a)return-1;if(null==b)return 1;if(va(a)===va(b))return a&&(a.p&2048||a.cb)?a.eb(null,b):ga(a,b);throw Error("compare on non-nil objects of different types");} var Qc=function(){function a(a,b,c,g){for(;;){var h=Wb(R.a(a,g),R.a(b,g));if(0===h&&g+1<c)g+=1;else return h}}function b(a,b){var f=Q(a),g=Q(b);return f<g?-1:f>g?1:c.j(a,b,f,0)}var c=null,c=function(c,e,f,g){switch(arguments.length){case 2:return b.call(this,c,e);case 4:return a.call(this,c,e,f,g)}throw Error("Invalid arity: "+arguments.length);};c.a=b;c.j=a;return c}(); function Sc(a){return C.a(a,Wb)?Wb:function(b,c){var d=a.a?a.a(b,c):a.call(null,b,c);return"number"===typeof d?d:s(d)?-1:s(a.a?a.a(c,b):a.call(null,c,b))?1:0}} var Uc=function(){function a(a,b){if(D(b)){var c=Tc.b?Tc.b(b):Tc.call(null,b),g=Sc(a);ja(c,g);return D(c)}return J}function b(a){return c.a(Wb,a)}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this,c,e)}throw Error("Invalid arity: "+arguments.length);};c.b=b;c.a=a;return c}(),oc=function(){function a(a,b,c){for(c=D(c);;)if(c){var g=H(c);b=a.a?a.a(b,g):a.call(null,b,g);if(fc(b))return $a(b);c=L(c)}else return b}function b(a,b){var c=D(b);if(c){var g= H(c),c=L(c);return z.c?z.c(a,g,c):z.call(null,a,g,c)}return a.m?a.m():a.call(null)}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length);};c.a=b;c.c=a;return c}();function Vc(a){a=Tc.b?Tc.b(a):Tc.call(null,a);for(var b=Math.random,c=a.length-1;0<c;c--){var d=Math.floor(b()*(c+1)),e=a[c];a[c]=a[d];a[d]=e}return Wc.b?Wc.b(a):Wc.call(null,a)} var z=function(){function a(a,b,c){return c&&(c.i&524288||c.Lb)?c.T(null,a,b):c instanceof Array?hc.c(c,a,b):"string"===typeof c?hc.c(c,a,b):t(fb,c)?gb.c(c,a,b):oc.c(a,b,c)}function b(a,b){return b&&(b.i&524288||b.Lb)?b.S(null,a):b instanceof Array?hc.a(b,a):"string"===typeof b?hc.a(b,a):t(fb,b)?gb.a(b,a):oc.a(a,b)}var c=null,c=function(c,e,f){switch(arguments.length){case 2:return b.call(this,c,e);case 3:return a.call(this,c,e,f)}throw Error("Invalid arity: "+arguments.length);};c.a=b;c.c=a;return c}(); function Xc(a){return a} var Yc=function(){function a(a,b,c,g){a=a.b?a.b(b):a.call(null,b);c=z.c(a,c,g);return a.b?a.b(c):a.call(null,c)}function b(a,b,f){return c.j(a,b,b.m?b.m():b.call(null),f)}var c=null,c=function(c,e,f,g){switch(arguments.length){case 3:return b.call(this,c,e,f);case 4:return a.call(this,c,e,f,g)}throw Error("Invalid arity: "+arguments.length);};c.c=b;c.j=a;return c}(),Zc=function(){var a=null,b=function(){function b(a,c,g){var h=null;2<arguments.length&&(h=M(Array.prototype.slice.call(arguments,2), 0));return d.call(this,a,c,h)}function d(b,c,d){return z.c(a,b+c,d)}b.h=2;b.e=function(a){var b=H(a);a=L(a);var c=H(a);a=I(a);return d(b,c,a)};b.d=d;return b}(),a=function(a,d,e){switch(arguments.length){case 0:return 0;case 1:return a;case 2:return a+d;default:return b.d(a,d,M(arguments,2))}throw Error("Invalid arity: "+arguments.length);};a.h=2;a.e=b.e;a.m=function(){return 0};a.b=function(a){return a};a.a=function(a,b){return a+b};a.d=b.d;return a}(),$c=function(){var a=null,b=function(){function b(a, c,g){var h=null;2<arguments.length&&(h=M(Array.prototype.slice.call(arguments,2),0));return d.call(this,a,c,h)}function d(b,c,d){return z.c(a,b-c,d)}b.h=2;b.e=function(a){var b=H(a);a=L(a);var c=H(a);a=I(a);return d(b,c,a)};b.d=d;return b}(),a=function(a,d,e){switch(arguments.length){case 1:return-a;case 2:return a-d;default:return b.d(a,d,M(arguments,2))}throw Error("Invalid arity: "+arguments.length);};a.h=2;a.e=b.e;a.b=function(a){return-a};a.a=function(a,b){return a-b};a.d=b.d;return a}(),ad= function(){var a=null,b=function(){function b(a,c,g){var h=null;2<arguments.length&&(h=M(Array.prototype.slice.call(arguments,2),0));return d.call(this,a,c,h)}function d(b,c,d){return z.c(a,b*c,d)}b.h=2;b.e=function(a){var b=H(a);a=L(a);var c=H(a);a=I(a);return d(b,c,a)};b.d=d;return b}(),a=function(a,d,e){switch(arguments.length){case 0:return 1;case 1:return a;case 2:return a*d;default:return b.d(a,d,M(arguments,2))}throw Error("Invalid arity: "+arguments.length);};a.h=2;a.e=b.e;a.m=function(){return 1}; a.b=function(a){return a};a.a=function(a,b){return a*b};a.d=b.d;return a}(),bd=function(){function a(a){return b.a(1,a)}var b=null,c=function(){function a(b,d,h){var l=null;2<arguments.length&&(l=M(Array.prototype.slice.call(arguments,2),0));return c.call(this,b,d,l)}function c(a,d,e){return z.c(b,b.a(a,d),e)}a.h=2;a.e=function(a){var b=H(a);a=L(a);var d=H(a);a=I(a);return c(b,d,a)};a.d=c;return a}(),b=function(b,e,f){switch(arguments.length){case 1:return a.call(this,b);case 2:return b/e;default:return c.d(b, e,M(arguments,2))}throw Error("Invalid arity: "+arguments.length);};b.h=2;b.e=c.e;b.b=a;b.a=function(a,b){return a/b};b.d=c.d;return b}(),cd=function(){var a=null,b=function(){function a(c,f,g){var h=null;2<arguments.length&&(h=M(Array.prototype.slice.call(arguments,2),0));return b.call(this,c,f,h)}function b(a,c,d){for(;;)if(a<c)if(L(d))a=c,c=H(d),d=L(d);else return c<H(d);else return!1}a.h=2;a.e=function(a){var c=H(a);a=L(a);var g=H(a);a=I(a);return b(c,g,a)};a.d=b;return a}(),a=function(a,d,e){switch(arguments.length){case 1:return!0; case 2:return a<d;default:return b.d(a,d,M(arguments,2))}throw Error("Invalid arity: "+arguments.length);};a.h=2;a.e=b.e;a.b=function(){return!0};a.a=function(a,b){return a<b};a.d=b.d;return a}(),dd=function(){var a=null,b=function(){function a(c,f,g){var h=null;2<arguments.length&&(h=M(Array.prototype.slice.call(arguments,2),0));return b.call(this,c,f,h)}function b(a,c,d){for(;;)if(a<=c)if(L(d))a=c,c=H(d),d=L(d);else return c<=H(d);else return!1}a.h=2;a.e=function(a){var c=H(a);a=L(a);var g=H(a); a=I(a);return b(c,g,a)};a.d=b;return a}(),a=function(a,d,e){switch(arguments.length){case 1:return!0;case 2:return a<=d;default:return b.d(a,d,M(arguments,2))}throw Error("Invalid arity: "+arguments.length);};a.h=2;a.e=b.e;a.b=function(){return!0};a.a=function(a,b){return a<=b};a.d=b.d;return a}(),ed=function(){var a=null,b=function(){function a(c,f,g){var h=null;2<arguments.length&&(h=M(Array.prototype.slice.call(arguments,2),0));return b.call(this,c,f,h)}function b(a,c,d){for(;;)if(a>c)if(L(d))a= c,c=H(d),d=L(d);else return c>H(d);else return!1}a.h=2;a.e=function(a){var c=H(a);a=L(a);var g=H(a);a=I(a);return b(c,g,a)};a.d=b;return a}(),a=function(a,d,e){switch(arguments.length){case 1:return!0;case 2:return a>d;default:return b.d(a,d,M(arguments,2))}throw Error("Invalid arity: "+arguments.length);};a.h=2;a.e=b.e;a.b=function(){return!0};a.a=function(a,b){return a>b};a.d=b.d;return a}(),fd=function(){var a=null,b=function(){function a(c,f,g){var h=null;2<arguments.length&&(h=M(Array.prototype.slice.call(arguments, 2),0));return b.call(this,c,f,h)}function b(a,c,d){for(;;)if(a>=c)if(L(d))a=c,c=H(d),d=L(d);else return c>=H(d);else return!1}a.h=2;a.e=function(a){var c=H(a);a=L(a);var g=H(a);a=I(a);return b(c,g,a)};a.d=b;return a}(),a=function(a,d,e){switch(arguments.length){case 1:return!0;case 2:return a>=d;default:return b.d(a,d,M(arguments,2))}throw Error("Invalid arity: "+arguments.length);};a.h=2;a.e=b.e;a.b=function(){return!0};a.a=function(a,b){return a>=b};a.d=b.d;return a}(); function gd(a){return a-1} var hd=function(){function a(a,b){return a>b?a:b}var b=null,c=function(){function a(b,d,h){var l=null;2<arguments.length&&(l=M(Array.prototype.slice.call(arguments,2),0));return c.call(this,b,d,l)}function c(a,d,e){return z.c(b,a>d?a:d,e)}a.h=2;a.e=function(a){var b=H(a);a=L(a);var d=H(a);a=I(a);return c(b,d,a)};a.d=c;return a}(),b=function(b,e,f){switch(arguments.length){case 1:return b;case 2:return a.call(this,b,e);default:return c.d(b,e,M(arguments,2))}throw Error("Invalid arity: "+arguments.length); };b.h=2;b.e=c.e;b.b=function(a){return a};b.a=a;b.d=c.d;return b}(),id=function(){function a(a,b){return a<b?a:b}var b=null,c=function(){function a(b,d,h){var l=null;2<arguments.length&&(l=M(Array.prototype.slice.call(arguments,2),0));return c.call(this,b,d,l)}function c(a,d,e){return z.c(b,a<d?a:d,e)}a.h=2;a.e=function(a){var b=H(a);a=L(a);var d=H(a);a=I(a);return c(b,d,a)};a.d=c;return a}(),b=function(b,e,f){switch(arguments.length){case 1:return b;case 2:return a.call(this,b,e);default:return c.d(b, e,M(arguments,2))}throw Error("Invalid arity: "+arguments.length);};b.h=2;b.e=c.e;b.b=function(a){return a};b.a=a;b.d=c.d;return b}();function jd(a){return 0<=a?Math.floor.b?Math.floor.b(a):Math.floor.call(null,a):Math.ceil.b?Math.ceil.b(a):Math.ceil.call(null,a)}function kd(a,b){return(a%b+b)%b}function ld(a,b){return jd((a-a%b)/b)} var md=function(){function a(a){return a*c.m()}function b(){return Math.random.m?Math.random.m():Math.random.call(null)}var c=null,c=function(c){switch(arguments.length){case 0:return b.call(this);case 1:return a.call(this,c)}throw Error("Invalid arity: "+arguments.length);};c.m=b;c.b=a;return c}();function nd(a){return jd(md.b(a))}function od(a){a-=a>>1&1431655765;a=(a&858993459)+(a>>2&858993459);return 16843009*(a+(a>>4)&252645135)>>24} var pd=function(){var a=null,b=function(){function b(a,c,g){var h=null;2<arguments.length&&(h=M(Array.prototype.slice.call(arguments,2),0));return d.call(this,a,c,h)}function d(b,c,d){for(;;)if(a.a(b,c))if(L(d))b=c,c=H(d),d=L(d);else return a.a(c,H(d));else return!1}b.h=2;b.e=function(a){var b=H(a);a=L(a);var c=H(a);a=I(a);return d(b,c,a)};b.d=d;return b}(),a=function(a,d,e){switch(arguments.length){case 1:return!0;case 2:return ib(a,d);default:return b.d(a,d,M(arguments,2))}throw Error("Invalid arity: "+ arguments.length);};a.h=2;a.e=b.e;a.b=function(){return!0};a.a=function(a,b){return ib(a,b)};a.d=b.d;return a}();function qd(a){var b=1;for(a=D(a);;)if(a&&0<b)b-=1,a=L(a);else return a} var x=function(){function a(a){return null==a?"":""+a}var b=null,c=function(){function a(b,d){var h=null;1<arguments.length&&(h=M(Array.prototype.slice.call(arguments,1),0));return c.call(this,b,h)}function c(a,d){for(var e=new da(b.b(a)),l=d;;)if(s(l))e=e.append(b.b(H(l))),l=L(l);else return e.toString()}a.h=1;a.e=function(a){var b=H(a);a=I(a);return c(b,a)};a.d=c;return a}(),b=function(b,e){switch(arguments.length){case 0:return"";case 1:return a.call(this,b);default:return c.d(b,M(arguments,1))}throw Error("Invalid arity: "+ arguments.length);};b.h=1;b.e=c.e;b.m=function(){return""};b.b=a;b.d=c.d;return b}(),rd=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return a.substring(c);case 3:return a.substring(c,d)}throw Error("Invalid arity: "+arguments.length);};a.a=function(a,c){return a.substring(c)};a.c=function(a,c,d){return a.substring(c,d)};return a}(); function lc(a,b){var c;if(Fc(b))if(ic(a)&&ic(b)&&Q(a)!==Q(b))c=!1;else a:{c=D(a);for(var d=D(b);;){if(null==c){c=null==d;break a}if(null!=d&&C.a(H(c),H(d)))c=L(c),d=L(d);else{c=!1;break a}}c=void 0}else c=null;return Oc(c)}function sd(a){var b=0;for(a=D(a);;)if(a){var c=H(a),b=(b+(Sb(function(){var a=c;return td.b?td.b(a):td.call(null,a)}())^Sb(function(){var a=c;return ud.b?ud.b(a):ud.call(null,a)}())))%4503599627370496;a=L(a)}else return b} function vd(a,b,c,d,e){this.l=a;this.first=b;this.Aa=c;this.count=d;this.n=e;this.i=65937646;this.p=8192}k=vd.prototype;k.toString=function(){return Ib(this)};k.F=function(){return this.l};k.Y=function(){return 1===this.count?null:this.Aa};k.L=function(){return this.count};k.w=function(){var a=this.n;return null!=a?a:this.n=a=$b(this)};k.t=function(a,b){return lc(this,b)};k.N=function(){return J};k.S=function(a,b){return oc.a(b,this)};k.T=function(a,b,c){return oc.c(b,c,this)};k.P=function(){return this.first}; k.V=function(){return 1===this.count?J:this.Aa};k.H=function(){return this};k.I=function(a,b){return new vd(b,this.first,this.Aa,this.count,this.n)};k.G=function(a,b){return new vd(this.l,b,this,this.count+1,null)};function wd(a){this.l=a;this.i=65937614;this.p=8192}k=wd.prototype;k.toString=function(){return Ib(this)};k.F=function(){return this.l};k.Y=function(){return null};k.L=function(){return 0};k.w=function(){return 0};k.t=function(a,b){return lc(this,b)};k.N=function(){return this}; k.S=function(a,b){return oc.a(b,this)};k.T=function(a,b,c){return oc.c(b,c,this)};k.P=function(){return null};k.V=function(){return J};k.H=function(){return null};k.I=function(a,b){return new wd(b)};k.G=function(a,b){return new vd(this.l,b,null,1,null)};var J=new wd(null);function xd(a){return(a?a.i&134217728||a.Zb||(a.i?0:t(ob,a)):t(ob,a))?pb(a):z.c(tc,J,a)} var yd=function(){function a(a){var d=null;0<arguments.length&&(d=M(Array.prototype.slice.call(arguments,0),0));return b.call(this,d)}function b(a){var b;if(a instanceof Yb&&0===a.o)b=a.f;else a:{for(b=[];;)if(null!=a)b.push(a.P(null)),a=a.Y(null);else break a;b=void 0}a=b.length;for(var e=J;;)if(0<a){var f=a-1,e=e.G(null,b[a-1]);a=f}else return e}a.h=0;a.e=function(a){a=D(a);return b(a)};a.d=b;return a}();function zd(a,b,c,d){this.l=a;this.first=b;this.Aa=c;this.n=d;this.i=65929452;this.p=8192} k=zd.prototype;k.toString=function(){return Ib(this)};k.F=function(){return this.l};k.Y=function(){return null==this.Aa?null:D(this.Aa)};k.w=function(){var a=this.n;return null!=a?a:this.n=a=$b(this)};k.t=function(a,b){return lc(this,b)};k.N=function(){return nc(J,this.l)};k.S=function(a,b){return oc.a(b,this)};k.T=function(a,b,c){return oc.c(b,c,this)};k.P=function(){return this.first};k.V=function(){return null==this.Aa?J:this.Aa};k.H=function(){return this}; k.I=function(a,b){return new zd(b,this.first,this.Aa,this.n)};k.G=function(a,b){return new zd(null,b,this,this.n)};function O(a,b){var c=null==b;return(c?c:b&&(b.i&64||b.Ya))?new zd(null,a,b,null):new zd(null,a,D(b),null)}function V(a,b,c,d){this.ja=a;this.name=b;this.fa=c;this.Qa=d;this.i=2153775105;this.p=4096}k=V.prototype;k.u=function(a,b){return rb(b,":"+x.b(this.fa))};k.w=function(){var a=this.Qa;return null!=a?a:this.Qa=a=Tb(Nb(this.name),Rb(this.ja))+2654435769|0}; k.call=function(){var a=null,a=function(a,c,d){switch(arguments.length){case 2:return S.a(c,this);case 3:return S.c(c,this,d)}throw Error("Invalid arity: "+arguments.length);};a.a=function(a,c){return S.a(c,this)};a.c=function(a,c,d){return S.c(c,this,d)};return a}();k.apply=function(a,b){return this.call.apply(this,[this].concat(xa(b)))};k.b=function(a){return S.a(a,this)};k.a=function(a,b){return S.c(a,this,b)};k.t=function(a,b){return b instanceof V?this.fa===b.fa:!1}; k.toString=function(){return":"+x.b(this.fa)};function Ad(a,b){return a===b?!0:a instanceof V&&b instanceof V?a.fa===b.fa:!1} var Cd=function(){function a(a,b){return new V(a,b,""+x.b(s(a)?""+x.b(a)+"/":null)+x.b(b),null)}function b(a){if(a instanceof V)return a;if(a instanceof B){var b;if(a&&(a.p&4096||a.Kb))b=a.ja;else throw Error("Doesn't support namespace: "+x.b(a));return new V(b,Bd.b?Bd.b(a):Bd.call(null,a),a.Ka,null)}return"string"===typeof a?(b=a.split("/"),2===b.length?new V(b[0],b[1],a,null):new V(null,b[0],a,null)):null}var c=null,c=function(c,e){switch(arguments.length){case 1:return b.call(this,c);case 2:return a.call(this, c,e)}throw Error("Invalid arity: "+arguments.length);};c.b=b;c.a=a;return c}();function Dd(a,b,c,d){this.l=a;this.Wa=b;this.J=c;this.n=d;this.p=0;this.i=32374988}k=Dd.prototype;k.toString=function(){return Ib(this)};function Ed(a){null!=a.Wa&&(a.J=a.Wa.m?a.Wa.m():a.Wa.call(null),a.Wa=null);return a.J}k.F=function(){return this.l};k.Y=function(){lb(this);return null==this.J?null:L(this.J)};k.w=function(){var a=this.n;return null!=a?a:this.n=a=$b(this)};k.t=function(a,b){return lc(this,b)}; k.N=function(){return nc(J,this.l)};k.S=function(a,b){return oc.a(b,this)};k.T=function(a,b,c){return oc.c(b,c,this)};k.P=function(){lb(this);return null==this.J?null:H(this.J)};k.V=function(){lb(this);return null!=this.J?I(this.J):J};k.H=function(){Ed(this);if(null==this.J)return null;for(var a=this.J;;)if(a instanceof Dd)a=Ed(a);else return this.J=a,D(this.J)};k.I=function(a,b){return new Dd(b,this.Wa,this.J,this.n)};k.G=function(a,b){return O(b,this)}; function Fd(a,b){this.ib=a;this.end=b;this.p=0;this.i=2}Fd.prototype.L=function(){return this.end};Fd.prototype.add=function(a){this.ib[this.end]=a;return this.end+=1};Fd.prototype.K=function(){var a=new Gd(this.ib,0,this.end);this.ib=null;return a};function Hd(a){return new Fd(Array(a),0)}function Gd(a,b,c){this.f=a;this.R=b;this.end=c;this.p=0;this.i=524306}k=Gd.prototype;k.S=function(a,b){return hc.j(this.f,b,this.f[this.R],this.R+1)};k.T=function(a,b,c){return hc.j(this.f,b,c,this.R)}; k.rb=function(){if(this.R===this.end)throw Error("-drop-first of empty chunk");return new Gd(this.f,this.R+1,this.end)};k.O=function(a,b){return this.f[this.R+b]};k.Z=function(a,b,c){return 0<=b&&b<this.end-this.R?this.f[this.R+b]:c};k.L=function(){return this.end-this.R}; var Id=function(){function a(a,b,c){return new Gd(a,b,c)}function b(a,b){return new Gd(a,b,a.length)}function c(a){return new Gd(a,0,a.length)}var d=null,d=function(d,f,g){sw