mirror of
https://github.com/publiclab/image-sequencer.git
synced 2025-12-11 10:49:59 +01:00
1 line
1.0 MiB
1 line
1.0 MiB
!function(){return function t(e,r,n){function i(a,s){if(!r[a]){if(!e[a]){var u="function"==typeof require&&require;if(!s&&u)return u(a,!0);if(o)return o(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var c=r[a]={exports:{}};e[a][0].call(c.exports,function(t){return i(e[a][1][t]||t)},c,c.exports,t,e,r,n)}return r[a].exports}for(var o="function"==typeof require&&require,a=0;a<n.length;a++)i(n[a]);return i}}()({1:[function(t,e,r){var n,i;n=this,i=function(t){"use strict";var e={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},r="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",n={5:r,6:r+" const class extends export import super"},i=/^in(stanceof)?$/,o="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࢽऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿯ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞹꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭥꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",a="·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ංඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ູົຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭ᳲ-᳴᳷-᳹᷀-᷹᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_",s=new RegExp("["+o+"]"),u=new RegExp("["+o+a+"]");o=a=null;var l=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,477,28,11,0,9,21,190,52,76,44,33,24,27,35,30,0,12,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,54,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,86,26,230,43,117,63,32,0,257,0,11,39,8,0,22,0,12,39,3,3,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,270,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,68,12,0,67,12,65,1,31,6129,15,754,9486,286,82,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,4149,196,60,67,1213,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,3,5761,15,7472,3104,541],c=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,525,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,4,9,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,280,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1016,45,17,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,2214,6,110,6,6,9,792487,239];function h(t,e){for(var r=65536,n=0;n<e.length;n+=2){if((r+=e[n])>t)return!1;if((r+=e[n+1])>=t)return!0}}function p(t,e){return t<65?36===t:t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&s.test(String.fromCharCode(t)):!1!==e&&h(t,l)))}function f(t,e){return t<48?36===t:t<58||!(t<65)&&(t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&u.test(String.fromCharCode(t)):!1!==e&&(h(t,l)||h(t,c)))))}var d=function(t,e){void 0===e&&(e={}),this.label=t,this.keyword=e.keyword,this.beforeExpr=!!e.beforeExpr,this.startsExpr=!!e.startsExpr,this.isLoop=!!e.isLoop,this.isAssign=!!e.isAssign,this.prefix=!!e.prefix,this.postfix=!!e.postfix,this.binop=e.binop||null,this.updateContext=null};function m(t,e){return new d(t,{beforeExpr:!0,binop:e})}var g={beforeExpr:!0},v={startsExpr:!0},_={};function y(t,e){return void 0===e&&(e={}),e.keyword=t,_[t]=new d(t,e)}var b={num:new d("num",v),regexp:new d("regexp",v),string:new d("string",v),name:new d("name",v),eof:new d("eof"),bracketL:new d("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new d("]"),braceL:new d("{",{beforeExpr:!0,startsExpr:!0}),braceR:new d("}"),parenL:new d("(",{beforeExpr:!0,startsExpr:!0}),parenR:new d(")"),comma:new d(",",g),semi:new d(";",g),colon:new d(":",g),dot:new d("."),question:new d("?",g),arrow:new d("=>",g),template:new d("template"),invalidTemplate:new d("invalidTemplate"),ellipsis:new d("...",g),backQuote:new d("`",v),dollarBraceL:new d("${",{beforeExpr:!0,startsExpr:!0}),eq:new d("=",{beforeExpr:!0,isAssign:!0}),assign:new d("_=",{beforeExpr:!0,isAssign:!0}),incDec:new d("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new d("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:m("||",1),logicalAND:m("&&",2),bitwiseOR:m("|",3),bitwiseXOR:m("^",4),bitwiseAND:m("&",5),equality:m("==/!=/===/!==",6),relational:m("</>/<=/>=",7),bitShift:m("<</>>/>>>",8),plusMin:new d("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:m("%",10),star:m("*",10),slash:m("/",10),starstar:new d("**",{beforeExpr:!0}),_break:y("break"),_case:y("case",g),_catch:y("catch"),_continue:y("continue"),_debugger:y("debugger"),_default:y("default",g),_do:y("do",{isLoop:!0,beforeExpr:!0}),_else:y("else",g),_finally:y("finally"),_for:y("for",{isLoop:!0}),_function:y("function",v),_if:y("if"),_return:y("return",g),_switch:y("switch"),_throw:y("throw",g),_try:y("try"),_var:y("var"),_const:y("const"),_while:y("while",{isLoop:!0}),_with:y("with"),_new:y("new",{beforeExpr:!0,startsExpr:!0}),_this:y("this",v),_super:y("super",v),_class:y("class",v),_extends:y("extends",g),_export:y("export"),_import:y("import"),_null:y("null",v),_true:y("true",v),_false:y("false",v),_in:y("in",{beforeExpr:!0,binop:7}),_instanceof:y("instanceof",{beforeExpr:!0,binop:7}),_typeof:y("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:y("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:y("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},x=/\r\n?|\n|\u2028|\u2029/,w=new RegExp(x.source,"g");function k(t,e){return 10===t||13===t||!e&&(8232===t||8233===t)}var E=/[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/,T=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,S=Object.prototype,A=S.hasOwnProperty,C=S.toString;function R(t,e){return A.call(t,e)}var B=Array.isArray||function(t){return"[object Array]"===C.call(t)},P=function(t,e){this.line=t,this.column=e};P.prototype.offset=function(t){return new P(this.line,this.column+t)};var I=function(t,e,r){this.start=e,this.end=r,null!==t.sourceFile&&(this.source=t.sourceFile)};function M(t,e){for(var r=1,n=0;;){w.lastIndex=n;var i=w.exec(t);if(!(i&&i.index<e))return new P(r,e-n);++r,n=i.index+i[0].length}}var D={ecmaVersion:7,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:!1,allowHashBang:!1,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1,plugins:{}};function F(t){var e={};for(var r in D)e[r]=t&&R(t,r)?t[r]:D[r];if(e.ecmaVersion>=2015&&(e.ecmaVersion-=2009),null==e.allowReserved&&(e.allowReserved=e.ecmaVersion<5),B(e.onToken)){var n=e.onToken;e.onToken=function(t){return n.push(t)}}return B(e.onComment)&&(e.onComment=function(t,e){return function(r,n,i,o,a,s){var u={type:r?"Block":"Line",value:n,start:i,end:o};t.locations&&(u.loc=new I(this,a,s)),t.ranges&&(u.range=[i,o]),e.push(u)}}(e,e.onComment)),e}var L={};function O(t){return new RegExp("^(?:"+t.replace(/ /g,"|")+")$")}var N=function(t,r,i){this.options=t=F(t),this.sourceFile=t.sourceFile,this.keywords=O(n[t.ecmaVersion>=6?6:5]);var o="";if(!t.allowReserved){for(var a=t.ecmaVersion;!(o=e[a]);a--);"module"===t.sourceType&&(o+=" await")}this.reservedWords=O(o);var s=(o?o+" ":"")+e.strict;this.reservedWordsStrict=O(s),this.reservedWordsStrictBind=O(s+" "+e.strictBind),this.input=String(r),this.containsEsc=!1,this.loadPlugins(t.plugins),i?(this.pos=i,this.lineStart=this.input.lastIndexOf("\n",i-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(x).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=b.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule="module"===t.sourceType,this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.inFunction=this.inGenerator=this.inAsync=!1,this.yieldPos=this.awaitPos=0,this.labels=[],0===this.pos&&t.allowHashBang&&"#!"===this.input.slice(0,2)&&this.skipLineComment(2),this.scopeStack=[],this.enterFunctionScope(),this.regexpState=null};N.prototype.isKeyword=function(t){return this.keywords.test(t)},N.prototype.isReservedWord=function(t){return this.reservedWords.test(t)},N.prototype.extend=function(t,e){this[t]=e(this[t])},N.prototype.loadPlugins=function(t){for(var e in t){var r=L[e];if(!r)throw new Error("Plugin '"+e+"' not found");r(this,t[e])}},N.prototype.parse=function(){var t=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(t)};var j=N.prototype,U=/^(?:'((?:\\.|[^'])*?)'|"((?:\\.|[^"])*?)"|;)/;function z(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1}j.strictDirective=function(t){for(;;){T.lastIndex=t,t+=T.exec(this.input)[0].length;var e=U.exec(this.input.slice(t));if(!e)return!1;if("use strict"===(e[1]||e[2]))return!0;t+=e[0].length}},j.eat=function(t){return this.type===t&&(this.next(),!0)},j.isContextual=function(t){return this.type===b.name&&this.value===t&&!this.containsEsc},j.eatContextual=function(t){return!!this.isContextual(t)&&(this.next(),!0)},j.expectContextual=function(t){this.eatContextual(t)||this.unexpected()},j.canInsertSemicolon=function(){return this.type===b.eof||this.type===b.braceR||x.test(this.input.slice(this.lastTokEnd,this.start))},j.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},j.semicolon=function(){this.eat(b.semi)||this.insertSemicolon()||this.unexpected()},j.afterTrailingComma=function(t,e){if(this.type===t)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),e||this.next(),!0},j.expect=function(t){this.eat(t)||this.unexpected()},j.unexpected=function(t){this.raise(null!=t?t:this.start,"Unexpected token")},j.checkPatternErrors=function(t,e){if(t){t.trailingComma>-1&&this.raiseRecoverable(t.trailingComma,"Comma is not permitted after the rest element");var r=e?t.parenthesizedAssign:t.parenthesizedBind;r>-1&&this.raiseRecoverable(r,"Parenthesized pattern")}},j.checkExpressionErrors=function(t,e){if(!t)return!1;var r=t.shorthandAssign,n=t.doubleProto;if(!e)return r>=0||n>=0;r>=0&&this.raise(r,"Shorthand property assignments are valid only in destructuring patterns"),n>=0&&this.raiseRecoverable(n,"Redefinition of __proto__ property")},j.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos<this.awaitPos)&&this.raise(this.yieldPos,"Yield expression cannot be a default value"),this.awaitPos&&this.raise(this.awaitPos,"Await expression cannot be a default value")},j.isSimpleAssignTarget=function(t){return"ParenthesizedExpression"===t.type?this.isSimpleAssignTarget(t.expression):"Identifier"===t.type||"MemberExpression"===t.type};var G=N.prototype;G.parseTopLevel=function(t){var e={};for(t.body||(t.body=[]);this.type!==b.eof;){var r=this.parseStatement(!0,!0,e);t.body.push(r)}return this.adaptDirectivePrologue(t.body),this.next(),this.options.ecmaVersion>=6&&(t.sourceType=this.options.sourceType),this.finishNode(t,"Program")};var $={kind:"loop"},V={kind:"switch"};G.isLet=function(){if(this.options.ecmaVersion<6||!this.isContextual("let"))return!1;T.lastIndex=this.pos;var t=T.exec(this.input),e=this.pos+t[0].length,r=this.input.charCodeAt(e);if(91===r||123===r)return!0;if(p(r,!0)){for(var n=e+1;f(this.input.charCodeAt(n),!0);)++n;var o=this.input.slice(e,n);if(!i.test(o))return!0}return!1},G.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;T.lastIndex=this.pos;var t=T.exec(this.input),e=this.pos+t[0].length;return!(x.test(this.input.slice(this.pos,e))||"function"!==this.input.slice(e,e+8)||e+8!==this.input.length&&f(this.input.charAt(e+8)))},G.parseStatement=function(t,e,r){var n,i=this.type,o=this.startNode();switch(this.isLet()&&(i=b._var,n="let"),i){case b._break:case b._continue:return this.parseBreakContinueStatement(o,i.keyword);case b._debugger:return this.parseDebuggerStatement(o);case b._do:return this.parseDoStatement(o);case b._for:return this.parseForStatement(o);case b._function:return!t&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(o,!1);case b._class:return t||this.unexpected(),this.parseClass(o,!0);case b._if:return this.parseIfStatement(o);case b._return:return this.parseReturnStatement(o);case b._switch:return this.parseSwitchStatement(o);case b._throw:return this.parseThrowStatement(o);case b._try:return this.parseTryStatement(o);case b._const:case b._var:return n=n||this.value,t||"var"===n||this.unexpected(),this.parseVarStatement(o,n);case b._while:return this.parseWhileStatement(o);case b._with:return this.parseWithStatement(o);case b.braceL:return this.parseBlock();case b.semi:return this.parseEmptyStatement(o);case b._export:case b._import:return this.options.allowImportExportEverywhere||(e||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),i===b._import?this.parseImport(o):this.parseExport(o,r);default:if(this.isAsyncFunction())return t||this.unexpected(),this.next(),this.parseFunctionStatement(o,!0);var a=this.value,s=this.parseExpression();return i===b.name&&"Identifier"===s.type&&this.eat(b.colon)?this.parseLabeledStatement(o,a,s):this.parseExpressionStatement(o,s)}},G.parseBreakContinueStatement=function(t,e){var r="break"===e;this.next(),this.eat(b.semi)||this.insertSemicolon()?t.label=null:this.type!==b.name?this.unexpected():(t.label=this.parseIdent(),this.semicolon());for(var n=0;n<this.labels.length;++n){var i=this.labels[n];if(null==t.label||i.name===t.label.name){if(null!=i.kind&&(r||"loop"===i.kind))break;if(t.label&&r)break}}return n===this.labels.length&&this.raise(t.start,"Unsyntactic "+e),this.finishNode(t,r?"BreakStatement":"ContinueStatement")},G.parseDebuggerStatement=function(t){return this.next(),this.semicolon(),this.finishNode(t,"DebuggerStatement")},G.parseDoStatement=function(t){return this.next(),this.labels.push($),t.body=this.parseStatement(!1),this.labels.pop(),this.expect(b._while),t.test=this.parseParenExpression(),this.options.ecmaVersion>=6?this.eat(b.semi):this.semicolon(),this.finishNode(t,"DoWhileStatement")},G.parseForStatement=function(t){this.next();var e=this.options.ecmaVersion>=9&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction)&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push($),this.enterLexicalScope(),this.expect(b.parenL),this.type===b.semi)return e>-1&&this.unexpected(e),this.parseFor(t,null);var r=this.isLet();if(this.type===b._var||this.type===b._const||r){var n=this.startNode(),i=r?"let":this.value;return this.next(),this.parseVar(n,!0,i),this.finishNode(n,"VariableDeclaration"),!(this.type===b._in||this.options.ecmaVersion>=6&&this.isContextual("of"))||1!==n.declarations.length||"var"!==i&&n.declarations[0].init?(e>-1&&this.unexpected(e),this.parseFor(t,n)):(this.options.ecmaVersion>=9&&(this.type===b._in?e>-1&&this.unexpected(e):t.await=e>-1),this.parseForIn(t,n))}var o=new z,a=this.parseExpression(!0,o);return this.type===b._in||this.options.ecmaVersion>=6&&this.isContextual("of")?(this.options.ecmaVersion>=9&&(this.type===b._in?e>-1&&this.unexpected(e):t.await=e>-1),this.toAssignable(a,!1,o),this.checkLVal(a),this.parseForIn(t,a)):(this.checkExpressionErrors(o,!0),e>-1&&this.unexpected(e),this.parseFor(t,a))},G.parseFunctionStatement=function(t,e){return this.next(),this.parseFunction(t,!0,!1,e)},G.parseIfStatement=function(t){return this.next(),t.test=this.parseParenExpression(),t.consequent=this.parseStatement(!this.strict&&this.type===b._function),t.alternate=this.eat(b._else)?this.parseStatement(!this.strict&&this.type===b._function):null,this.finishNode(t,"IfStatement")},G.parseReturnStatement=function(t){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(b.semi)||this.insertSemicolon()?t.argument=null:(t.argument=this.parseExpression(),this.semicolon()),this.finishNode(t,"ReturnStatement")},G.parseSwitchStatement=function(t){var e;this.next(),t.discriminant=this.parseParenExpression(),t.cases=[],this.expect(b.braceL),this.labels.push(V),this.enterLexicalScope();for(var r=!1;this.type!==b.braceR;)if(this.type===b._case||this.type===b._default){var n=this.type===b._case;e&&this.finishNode(e,"SwitchCase"),t.cases.push(e=this.startNode()),e.consequent=[],this.next(),n?e.test=this.parseExpression():(r&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),r=!0,e.test=null),this.expect(b.colon)}else e||this.unexpected(),e.consequent.push(this.parseStatement(!0));return this.exitLexicalScope(),e&&this.finishNode(e,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(t,"SwitchStatement")},G.parseThrowStatement=function(t){return this.next(),x.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),t.argument=this.parseExpression(),this.semicolon(),this.finishNode(t,"ThrowStatement")};var X=[];G.parseTryStatement=function(t){if(this.next(),t.block=this.parseBlock(),t.handler=null,this.type===b._catch){var e=this.startNode();this.next(),this.eat(b.parenL)?(e.param=this.parseBindingAtom(),this.enterLexicalScope(),this.checkLVal(e.param,"let"),this.expect(b.parenR)):(this.options.ecmaVersion<10&&this.unexpected(),e.param=null,this.enterLexicalScope()),e.body=this.parseBlock(!1),this.exitLexicalScope(),t.handler=this.finishNode(e,"CatchClause")}return t.finalizer=this.eat(b._finally)?this.parseBlock():null,t.handler||t.finalizer||this.raise(t.start,"Missing catch or finally clause"),this.finishNode(t,"TryStatement")},G.parseVarStatement=function(t,e){return this.next(),this.parseVar(t,!1,e),this.semicolon(),this.finishNode(t,"VariableDeclaration")},G.parseWhileStatement=function(t){return this.next(),t.test=this.parseParenExpression(),this.labels.push($),t.body=this.parseStatement(!1),this.labels.pop(),this.finishNode(t,"WhileStatement")},G.parseWithStatement=function(t){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),t.object=this.parseParenExpression(),t.body=this.parseStatement(!1),this.finishNode(t,"WithStatement")},G.parseEmptyStatement=function(t){return this.next(),this.finishNode(t,"EmptyStatement")},G.parseLabeledStatement=function(t,e,r){for(var n=0,i=this.labels;n<i.length;n+=1){i[n].name===e&&this.raise(r.start,"Label '"+e+"' is already declared")}for(var o=this.type.isLoop?"loop":this.type===b._switch?"switch":null,a=this.labels.length-1;a>=0;a--){var s=this.labels[a];if(s.statementStart!==t.start)break;s.statementStart=this.start,s.kind=o}return this.labels.push({name:e,kind:o,statementStart:this.start}),t.body=this.parseStatement(!0),("ClassDeclaration"===t.body.type||"VariableDeclaration"===t.body.type&&"var"!==t.body.kind||"FunctionDeclaration"===t.body.type&&(this.strict||t.body.generator||t.body.async))&&this.raiseRecoverable(t.body.start,"Invalid labeled declaration"),this.labels.pop(),t.label=r,this.finishNode(t,"LabeledStatement")},G.parseExpressionStatement=function(t,e){return t.expression=e,this.semicolon(),this.finishNode(t,"ExpressionStatement")},G.parseBlock=function(t){void 0===t&&(t=!0);var e=this.startNode();for(e.body=[],this.expect(b.braceL),t&&this.enterLexicalScope();!this.eat(b.braceR);){var r=this.parseStatement(!0);e.body.push(r)}return t&&this.exitLexicalScope(),this.finishNode(e,"BlockStatement")},G.parseFor=function(t,e){return t.init=e,this.expect(b.semi),t.test=this.type===b.semi?null:this.parseExpression(),this.expect(b.semi),t.update=this.type===b.parenR?null:this.parseExpression(),this.expect(b.parenR),this.exitLexicalScope(),t.body=this.parseStatement(!1),this.labels.pop(),this.finishNode(t,"ForStatement")},G.parseForIn=function(t,e){var r=this.type===b._in?"ForInStatement":"ForOfStatement";return this.next(),"ForInStatement"===r&&("AssignmentPattern"===e.type||"VariableDeclaration"===e.type&&null!=e.declarations[0].init&&(this.strict||"Identifier"!==e.declarations[0].id.type))&&this.raise(e.start,"Invalid assignment in for-in loop head"),t.left=e,t.right="ForInStatement"===r?this.parseExpression():this.parseMaybeAssign(),this.expect(b.parenR),this.exitLexicalScope(),t.body=this.parseStatement(!1),this.labels.pop(),this.finishNode(t,r)},G.parseVar=function(t,e,r){for(t.declarations=[],t.kind=r;;){var n=this.startNode();if(this.parseVarId(n,r),this.eat(b.eq)?n.init=this.parseMaybeAssign(e):"const"!==r||this.type===b._in||this.options.ecmaVersion>=6&&this.isContextual("of")?"Identifier"===n.id.type||e&&(this.type===b._in||this.isContextual("of"))?n.init=null:this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):this.unexpected(),t.declarations.push(this.finishNode(n,"VariableDeclarator")),!this.eat(b.comma))break}return t},G.parseVarId=function(t,e){t.id=this.parseBindingAtom(e),this.checkLVal(t.id,e,!1)},G.parseFunction=function(t,e,r,n){this.initFunction(t),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!n)&&(t.generator=this.eat(b.star)),this.options.ecmaVersion>=8&&(t.async=!!n),e&&(t.id="nullableID"===e&&this.type!==b.name?null:this.parseIdent(),t.id&&this.checkLVal(t.id,this.inModule&&!this.inFunction?"let":"var"));var i=this.inGenerator,o=this.inAsync,a=this.yieldPos,s=this.awaitPos,u=this.inFunction;return this.inGenerator=t.generator,this.inAsync=t.async,this.yieldPos=0,this.awaitPos=0,this.inFunction=!0,this.enterFunctionScope(),e||(t.id=this.type===b.name?this.parseIdent():null),this.parseFunctionParams(t),this.parseFunctionBody(t,r),this.inGenerator=i,this.inAsync=o,this.yieldPos=a,this.awaitPos=s,this.inFunction=u,this.finishNode(t,e?"FunctionDeclaration":"FunctionExpression")},G.parseFunctionParams=function(t){this.expect(b.parenL),t.params=this.parseBindingList(b.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},G.parseClass=function(t,e){this.next(),this.parseClassId(t,e),this.parseClassSuper(t);var r=this.startNode(),n=!1;for(r.body=[],this.expect(b.braceL);!this.eat(b.braceR);){var i=this.parseClassMember(r);i&&"MethodDefinition"===i.type&&"constructor"===i.kind&&(n&&this.raise(i.start,"Duplicate constructor in the same class"),n=!0)}return t.body=this.finishNode(r,"ClassBody"),this.finishNode(t,e?"ClassDeclaration":"ClassExpression")},G.parseClassMember=function(t){var e=this;if(this.eat(b.semi))return null;var r=this.startNode(),n=function(t,n){void 0===n&&(n=!1);var i=e.start,o=e.startLoc;return!!e.eatContextual(t)&&(!(e.type===b.parenL||n&&e.canInsertSemicolon())||(r.key&&e.unexpected(),r.computed=!1,r.key=e.startNodeAt(i,o),r.key.name=t,e.finishNode(r.key,"Identifier"),!1))};r.kind="method",r.static=n("static");var i=this.eat(b.star),o=!1;i||(this.options.ecmaVersion>=8&&n("async",!0)?(o=!0,i=this.options.ecmaVersion>=9&&this.eat(b.star)):n("get")?r.kind="get":n("set")&&(r.kind="set")),r.key||this.parsePropertyName(r);var a=r.key;return r.computed||r.static||!("Identifier"===a.type&&"constructor"===a.name||"Literal"===a.type&&"constructor"===a.value)?r.static&&"Identifier"===a.type&&"prototype"===a.name&&this.raise(a.start,"Classes may not have a static property named prototype"):("method"!==r.kind&&this.raise(a.start,"Constructor can't have get/set modifier"),i&&this.raise(a.start,"Constructor can't be a generator"),o&&this.raise(a.start,"Constructor can't be an async method"),r.kind="constructor"),this.parseClassMethod(t,r,i,o),"get"===r.kind&&0!==r.value.params.length&&this.raiseRecoverable(r.value.start,"getter should have no params"),"set"===r.kind&&1!==r.value.params.length&&this.raiseRecoverable(r.value.start,"setter should have exactly one param"),"set"===r.kind&&"RestElement"===r.value.params[0].type&&this.raiseRecoverable(r.value.params[0].start,"Setter cannot use rest params"),r},G.parseClassMethod=function(t,e,r,n){e.value=this.parseMethod(r,n),t.body.push(this.finishNode(e,"MethodDefinition"))},G.parseClassId=function(t,e){t.id=this.type===b.name?this.parseIdent():!0===e?this.unexpected():null},G.parseClassSuper=function(t){t.superClass=this.eat(b._extends)?this.parseExprSubscripts():null},G.parseExport=function(t,e){if(this.next(),this.eat(b.star))return this.expectContextual("from"),this.type!==b.string&&this.unexpected(),t.source=this.parseExprAtom(),this.semicolon(),this.finishNode(t,"ExportAllDeclaration");if(this.eat(b._default)){var r;if(this.checkExport(e,"default",this.lastTokStart),this.type===b._function||(r=this.isAsyncFunction())){var n=this.startNode();this.next(),r&&this.next(),t.declaration=this.parseFunction(n,"nullableID",!1,r)}else if(this.type===b._class){var i=this.startNode();t.declaration=this.parseClass(i,"nullableID")}else t.declaration=this.parseMaybeAssign(),this.semicolon();return this.finishNode(t,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement())t.declaration=this.parseStatement(!0),"VariableDeclaration"===t.declaration.type?this.checkVariableExport(e,t.declaration.declarations):this.checkExport(e,t.declaration.id.name,t.declaration.id.start),t.specifiers=[],t.source=null;else{if(t.declaration=null,t.specifiers=this.parseExportSpecifiers(e),this.eatContextual("from"))this.type!==b.string&&this.unexpected(),t.source=this.parseExprAtom();else{for(var o=0,a=t.specifiers;o<a.length;o+=1){var s=a[o];this.checkUnreserved(s.local)}t.source=null}this.semicolon()}return this.finishNode(t,"ExportNamedDeclaration")},G.checkExport=function(t,e,r){t&&(R(t,e)&&this.raiseRecoverable(r,"Duplicate export '"+e+"'"),t[e]=!0)},G.checkPatternExport=function(t,e){var r=e.type;if("Identifier"===r)this.checkExport(t,e.name,e.start);else if("ObjectPattern"===r)for(var n=0,i=e.properties;n<i.length;n+=1){var o=i[n];this.checkPatternExport(t,o)}else if("ArrayPattern"===r)for(var a=0,s=e.elements;a<s.length;a+=1){var u=s[a];u&&this.checkPatternExport(t,u)}else"Property"===r?this.checkPatternExport(t,e.value):"AssignmentPattern"===r?this.checkPatternExport(t,e.left):"RestElement"===r?this.checkPatternExport(t,e.argument):"ParenthesizedExpression"===r&&this.checkPatternExport(t,e.expression)},G.checkVariableExport=function(t,e){if(t)for(var r=0,n=e;r<n.length;r+=1){var i=n[r];this.checkPatternExport(t,i.id)}},G.shouldParseExportStatement=function(){return"var"===this.type.keyword||"const"===this.type.keyword||"class"===this.type.keyword||"function"===this.type.keyword||this.isLet()||this.isAsyncFunction()},G.parseExportSpecifiers=function(t){var e=[],r=!0;for(this.expect(b.braceL);!this.eat(b.braceR);){if(r)r=!1;else if(this.expect(b.comma),this.afterTrailingComma(b.braceR))break;var n=this.startNode();n.local=this.parseIdent(!0),n.exported=this.eatContextual("as")?this.parseIdent(!0):n.local,this.checkExport(t,n.exported.name,n.exported.start),e.push(this.finishNode(n,"ExportSpecifier"))}return e},G.parseImport=function(t){return this.next(),this.type===b.string?(t.specifiers=X,t.source=this.parseExprAtom()):(t.specifiers=this.parseImportSpecifiers(),this.expectContextual("from"),t.source=this.type===b.string?this.parseExprAtom():this.unexpected()),this.semicolon(),this.finishNode(t,"ImportDeclaration")},G.parseImportSpecifiers=function(){var t=[],e=!0;if(this.type===b.name){var r=this.startNode();if(r.local=this.parseIdent(),this.checkLVal(r.local,"let"),t.push(this.finishNode(r,"ImportDefaultSpecifier")),!this.eat(b.comma))return t}if(this.type===b.star){var n=this.startNode();return this.next(),this.expectContextual("as"),n.local=this.parseIdent(),this.checkLVal(n.local,"let"),t.push(this.finishNode(n,"ImportNamespaceSpecifier")),t}for(this.expect(b.braceL);!this.eat(b.braceR);){if(e)e=!1;else if(this.expect(b.comma),this.afterTrailingComma(b.braceR))break;var i=this.startNode();i.imported=this.parseIdent(!0),this.eatContextual("as")?i.local=this.parseIdent():(this.checkUnreserved(i.imported),i.local=i.imported),this.checkLVal(i.local,"let"),t.push(this.finishNode(i,"ImportSpecifier"))}return t},G.adaptDirectivePrologue=function(t){for(var e=0;e<t.length&&this.isDirectiveCandidate(t[e]);++e)t[e].directive=t[e].expression.raw.slice(1,-1)},G.isDirectiveCandidate=function(t){return"ExpressionStatement"===t.type&&"Literal"===t.expression.type&&"string"==typeof t.expression.value&&('"'===this.input[t.start]||"'"===this.input[t.start])};var W=N.prototype;W.toAssignable=function(t,e,r){if(this.options.ecmaVersion>=6&&t)switch(t.type){case"Identifier":this.inAsync&&"await"===t.name&&this.raise(t.start,"Can not use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"RestElement":break;case"ObjectExpression":t.type="ObjectPattern",r&&this.checkPatternErrors(r,!0);for(var n=0,i=t.properties;n<i.length;n+=1){var o=i[n];this.toAssignable(o,e),"RestElement"!==o.type||"ArrayPattern"!==o.argument.type&&"ObjectPattern"!==o.argument.type||this.raise(o.argument.start,"Unexpected token")}break;case"Property":"init"!==t.kind&&this.raise(t.key.start,"Object pattern can't contain getter or setter"),this.toAssignable(t.value,e);break;case"ArrayExpression":t.type="ArrayPattern",r&&this.checkPatternErrors(r,!0),this.toAssignableList(t.elements,e);break;case"SpreadElement":t.type="RestElement",this.toAssignable(t.argument,e),"AssignmentPattern"===t.argument.type&&this.raise(t.argument.start,"Rest elements cannot have a default value");break;case"AssignmentExpression":"="!==t.operator&&this.raise(t.left.end,"Only '=' operator can be used for specifying default value."),t.type="AssignmentPattern",delete t.operator,this.toAssignable(t.left,e);case"AssignmentPattern":break;case"ParenthesizedExpression":this.toAssignable(t.expression,e);break;case"MemberExpression":if(!e)break;default:this.raise(t.start,"Assigning to rvalue")}else r&&this.checkPatternErrors(r,!0);return t},W.toAssignableList=function(t,e){for(var r=t.length,n=0;n<r;n++){var i=t[n];i&&this.toAssignable(i,e)}if(r){var o=t[r-1];6===this.options.ecmaVersion&&e&&o&&"RestElement"===o.type&&"Identifier"!==o.argument.type&&this.unexpected(o.argument.start)}return t},W.parseSpread=function(t){var e=this.startNode();return this.next(),e.argument=this.parseMaybeAssign(!1,t),this.finishNode(e,"SpreadElement")},W.parseRestBinding=function(){var t=this.startNode();return this.next(),6===this.options.ecmaVersion&&this.type!==b.name&&this.unexpected(),t.argument=this.parseBindingAtom(),this.finishNode(t,"RestElement")},W.parseBindingAtom=function(){if(this.options.ecmaVersion>=6)switch(this.type){case b.bracketL:var t=this.startNode();return this.next(),t.elements=this.parseBindingList(b.bracketR,!0,!0),this.finishNode(t,"ArrayPattern");case b.braceL:return this.parseObj(!0)}return this.parseIdent()},W.parseBindingList=function(t,e,r){for(var n=[],i=!0;!this.eat(t);)if(i?i=!1:this.expect(b.comma),e&&this.type===b.comma)n.push(null);else{if(r&&this.afterTrailingComma(t))break;if(this.type===b.ellipsis){var o=this.parseRestBinding();this.parseBindingListItem(o),n.push(o),this.type===b.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.expect(t);break}var a=this.parseMaybeDefault(this.start,this.startLoc);this.parseBindingListItem(a),n.push(a)}return n},W.parseBindingListItem=function(t){return t},W.parseMaybeDefault=function(t,e,r){if(r=r||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(b.eq))return r;var n=this.startNodeAt(t,e);return n.left=r,n.right=this.parseMaybeAssign(),this.finishNode(n,"AssignmentPattern")},W.checkLVal=function(t,e,r){switch(t.type){case"Identifier":this.strict&&this.reservedWordsStrictBind.test(t.name)&&this.raiseRecoverable(t.start,(e?"Binding ":"Assigning to ")+t.name+" in strict mode"),r&&(R(r,t.name)&&this.raiseRecoverable(t.start,"Argument name clash"),r[t.name]=!0),e&&"none"!==e&&(("var"===e&&!this.canDeclareVarName(t.name)||"var"!==e&&!this.canDeclareLexicalName(t.name))&&this.raiseRecoverable(t.start,"Identifier '"+t.name+"' has already been declared"),"var"===e?this.declareVarName(t.name):this.declareLexicalName(t.name));break;case"MemberExpression":e&&this.raiseRecoverable(t.start,"Binding member expression");break;case"ObjectPattern":for(var n=0,i=t.properties;n<i.length;n+=1){var o=i[n];this.checkLVal(o,e,r)}break;case"Property":this.checkLVal(t.value,e,r);break;case"ArrayPattern":for(var a=0,s=t.elements;a<s.length;a+=1){var u=s[a];u&&this.checkLVal(u,e,r)}break;case"AssignmentPattern":this.checkLVal(t.left,e,r);break;case"RestElement":this.checkLVal(t.argument,e,r);break;case"ParenthesizedExpression":this.checkLVal(t.expression,e,r);break;default:this.raise(t.start,(e?"Binding":"Assigning to")+" rvalue")}};var q=N.prototype;q.checkPropClash=function(t,e,r){if(!(this.options.ecmaVersion>=9&&"SpreadElement"===t.type||this.options.ecmaVersion>=6&&(t.computed||t.method||t.shorthand))){var n,i=t.key;switch(i.type){case"Identifier":n=i.name;break;case"Literal":n=String(i.value);break;default:return}var o=t.kind;if(this.options.ecmaVersion>=6)"__proto__"===n&&"init"===o&&(e.proto&&(r&&r.doubleProto<0?r.doubleProto=i.start:this.raiseRecoverable(i.start,"Redefinition of __proto__ property")),e.proto=!0);else{var a=e[n="$"+n];if(a)("init"===o?this.strict&&a.init||a.get||a.set:a.init||a[o])&&this.raiseRecoverable(i.start,"Redefinition of property");else a=e[n]={init:!1,get:!1,set:!1};a[o]=!0}}},q.parseExpression=function(t,e){var r=this.start,n=this.startLoc,i=this.parseMaybeAssign(t,e);if(this.type===b.comma){var o=this.startNodeAt(r,n);for(o.expressions=[i];this.eat(b.comma);)o.expressions.push(this.parseMaybeAssign(t,e));return this.finishNode(o,"SequenceExpression")}return i},q.parseMaybeAssign=function(t,e,r){if(this.inGenerator&&this.isContextual("yield"))return this.parseYield();var n=!1,i=-1,o=-1;e?(i=e.parenthesizedAssign,o=e.trailingComma,e.parenthesizedAssign=e.trailingComma=-1):(e=new z,n=!0);var a=this.start,s=this.startLoc;this.type!==b.parenL&&this.type!==b.name||(this.potentialArrowAt=this.start);var u=this.parseMaybeConditional(t,e);if(r&&(u=r.call(this,u,a,s)),this.type.isAssign){var l=this.startNodeAt(a,s);return l.operator=this.value,l.left=this.type===b.eq?this.toAssignable(u,!1,e):u,n||z.call(e),e.shorthandAssign=-1,this.checkLVal(u),this.next(),l.right=this.parseMaybeAssign(t),this.finishNode(l,"AssignmentExpression")}return n&&this.checkExpressionErrors(e,!0),i>-1&&(e.parenthesizedAssign=i),o>-1&&(e.trailingComma=o),u},q.parseMaybeConditional=function(t,e){var r=this.start,n=this.startLoc,i=this.parseExprOps(t,e);if(this.checkExpressionErrors(e))return i;if(this.eat(b.question)){var o=this.startNodeAt(r,n);return o.test=i,o.consequent=this.parseMaybeAssign(),this.expect(b.colon),o.alternate=this.parseMaybeAssign(t),this.finishNode(o,"ConditionalExpression")}return i},q.parseExprOps=function(t,e){var r=this.start,n=this.startLoc,i=this.parseMaybeUnary(e,!1);return this.checkExpressionErrors(e)?i:i.start===r&&"ArrowFunctionExpression"===i.type?i:this.parseExprOp(i,r,n,-1,t)},q.parseExprOp=function(t,e,r,n,i){var o=this.type.binop;if(null!=o&&(!i||this.type!==b._in)&&o>n){var a=this.type===b.logicalOR||this.type===b.logicalAND,s=this.value;this.next();var u=this.start,l=this.startLoc,c=this.parseExprOp(this.parseMaybeUnary(null,!1),u,l,o,i),h=this.buildBinary(e,r,t,c,s,a);return this.parseExprOp(h,e,r,n,i)}return t},q.buildBinary=function(t,e,r,n,i,o){var a=this.startNodeAt(t,e);return a.left=r,a.operator=i,a.right=n,this.finishNode(a,o?"LogicalExpression":"BinaryExpression")},q.parseMaybeUnary=function(t,e){var r,n=this.start,i=this.startLoc;if(this.isContextual("await")&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction))r=this.parseAwait(),e=!0;else if(this.type.prefix){var o=this.startNode(),a=this.type===b.incDec;o.operator=this.value,o.prefix=!0,this.next(),o.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(t,!0),a?this.checkLVal(o.argument):this.strict&&"delete"===o.operator&&"Identifier"===o.argument.type?this.raiseRecoverable(o.start,"Deleting local variable in strict mode"):e=!0,r=this.finishNode(o,a?"UpdateExpression":"UnaryExpression")}else{if(r=this.parseExprSubscripts(t),this.checkExpressionErrors(t))return r;for(;this.type.postfix&&!this.canInsertSemicolon();){var s=this.startNodeAt(n,i);s.operator=this.value,s.prefix=!1,s.argument=r,this.checkLVal(r),this.next(),r=this.finishNode(s,"UpdateExpression")}}return!e&&this.eat(b.starstar)?this.buildBinary(n,i,r,this.parseMaybeUnary(null,!1),"**",!1):r},q.parseExprSubscripts=function(t){var e=this.start,r=this.startLoc,n=this.parseExprAtom(t),i="ArrowFunctionExpression"===n.type&&")"!==this.input.slice(this.lastTokStart,this.lastTokEnd);if(this.checkExpressionErrors(t)||i)return n;var o=this.parseSubscripts(n,e,r);return t&&"MemberExpression"===o.type&&(t.parenthesizedAssign>=o.start&&(t.parenthesizedAssign=-1),t.parenthesizedBind>=o.start&&(t.parenthesizedBind=-1)),o},q.parseSubscripts=function(t,e,r,n){for(var i=this.options.ecmaVersion>=8&&"Identifier"===t.type&&"async"===t.name&&this.lastTokEnd===t.end&&!this.canInsertSemicolon()&&"async"===this.input.slice(t.start,t.end),o=void 0;;)if((o=this.eat(b.bracketL))||this.eat(b.dot)){var a=this.startNodeAt(e,r);a.object=t,a.property=o?this.parseExpression():this.parseIdent(!0),a.computed=!!o,o&&this.expect(b.bracketR),t=this.finishNode(a,"MemberExpression")}else if(!n&&this.eat(b.parenL)){var s=new z,u=this.yieldPos,l=this.awaitPos;this.yieldPos=0,this.awaitPos=0;var c=this.parseExprList(b.parenR,this.options.ecmaVersion>=8,!1,s);if(i&&!this.canInsertSemicolon()&&this.eat(b.arrow))return this.checkPatternErrors(s,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=u,this.awaitPos=l,this.parseArrowExpression(this.startNodeAt(e,r),c,!0);this.checkExpressionErrors(s,!0),this.yieldPos=u||this.yieldPos,this.awaitPos=l||this.awaitPos;var h=this.startNodeAt(e,r);h.callee=t,h.arguments=c,t=this.finishNode(h,"CallExpression")}else{if(this.type!==b.backQuote)return t;var p=this.startNodeAt(e,r);p.tag=t,p.quasi=this.parseTemplate({isTagged:!0}),t=this.finishNode(p,"TaggedTemplateExpression")}},q.parseExprAtom=function(t){var e,r=this.potentialArrowAt===this.start;switch(this.type){case b._super:return this.inFunction||this.raise(this.start,"'super' outside of function or class"),e=this.startNode(),this.next(),this.type!==b.dot&&this.type!==b.bracketL&&this.type!==b.parenL&&this.unexpected(),this.finishNode(e,"Super");case b._this:return e=this.startNode(),this.next(),this.finishNode(e,"ThisExpression");case b.name:var n=this.start,i=this.startLoc,o=this.containsEsc,a=this.parseIdent(this.type!==b.name);if(this.options.ecmaVersion>=8&&!o&&"async"===a.name&&!this.canInsertSemicolon()&&this.eat(b._function))return this.parseFunction(this.startNodeAt(n,i),!1,!1,!0);if(r&&!this.canInsertSemicolon()){if(this.eat(b.arrow))return this.parseArrowExpression(this.startNodeAt(n,i),[a],!1);if(this.options.ecmaVersion>=8&&"async"===a.name&&this.type===b.name&&!o)return a=this.parseIdent(),!this.canInsertSemicolon()&&this.eat(b.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(n,i),[a],!0)}return a;case b.regexp:var s=this.value;return(e=this.parseLiteral(s.value)).regex={pattern:s.pattern,flags:s.flags},e;case b.num:case b.string:return this.parseLiteral(this.value);case b._null:case b._true:case b._false:return(e=this.startNode()).value=this.type===b._null?null:this.type===b._true,e.raw=this.type.keyword,this.next(),this.finishNode(e,"Literal");case b.parenL:var u=this.start,l=this.parseParenAndDistinguishExpression(r);return t&&(t.parenthesizedAssign<0&&!this.isSimpleAssignTarget(l)&&(t.parenthesizedAssign=u),t.parenthesizedBind<0&&(t.parenthesizedBind=u)),l;case b.bracketL:return e=this.startNode(),this.next(),e.elements=this.parseExprList(b.bracketR,!0,!0,t),this.finishNode(e,"ArrayExpression");case b.braceL:return this.parseObj(!1,t);case b._function:return e=this.startNode(),this.next(),this.parseFunction(e,!1);case b._class:return this.parseClass(this.startNode(),!1);case b._new:return this.parseNew();case b.backQuote:return this.parseTemplate();default:this.unexpected()}},q.parseLiteral=function(t){var e=this.startNode();return e.value=t,e.raw=this.input.slice(this.start,this.end),this.next(),this.finishNode(e,"Literal")},q.parseParenExpression=function(){this.expect(b.parenL);var t=this.parseExpression();return this.expect(b.parenR),t},q.parseParenAndDistinguishExpression=function(t){var e,r=this.start,n=this.startLoc,i=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var o,a=this.start,s=this.startLoc,u=[],l=!0,c=!1,h=new z,p=this.yieldPos,f=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==b.parenR;){if(l?l=!1:this.expect(b.comma),i&&this.afterTrailingComma(b.parenR,!0)){c=!0;break}if(this.type===b.ellipsis){o=this.start,u.push(this.parseParenItem(this.parseRestBinding())),this.type===b.comma&&this.raise(this.start,"Comma is not permitted after the rest element");break}u.push(this.parseMaybeAssign(!1,h,this.parseParenItem))}var d=this.start,m=this.startLoc;if(this.expect(b.parenR),t&&!this.canInsertSemicolon()&&this.eat(b.arrow))return this.checkPatternErrors(h,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=p,this.awaitPos=f,this.parseParenArrowList(r,n,u);u.length&&!c||this.unexpected(this.lastTokStart),o&&this.unexpected(o),this.checkExpressionErrors(h,!0),this.yieldPos=p||this.yieldPos,this.awaitPos=f||this.awaitPos,u.length>1?((e=this.startNodeAt(a,s)).expressions=u,this.finishNodeAt(e,"SequenceExpression",d,m)):e=u[0]}else e=this.parseParenExpression();if(this.options.preserveParens){var g=this.startNodeAt(r,n);return g.expression=e,this.finishNode(g,"ParenthesizedExpression")}return e},q.parseParenItem=function(t){return t},q.parseParenArrowList=function(t,e,r){return this.parseArrowExpression(this.startNodeAt(t,e),r)};var K=[];q.parseNew=function(){var t=this.startNode(),e=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(b.dot)){t.meta=e;var r=this.containsEsc;return t.property=this.parseIdent(!0),("target"!==t.property.name||r)&&this.raiseRecoverable(t.property.start,"The only valid meta property for new is new.target"),this.inFunction||this.raiseRecoverable(t.start,"new.target can only be used in functions"),this.finishNode(t,"MetaProperty")}var n=this.start,i=this.startLoc;return t.callee=this.parseSubscripts(this.parseExprAtom(),n,i,!0),this.eat(b.parenL)?t.arguments=this.parseExprList(b.parenR,this.options.ecmaVersion>=8,!1):t.arguments=K,this.finishNode(t,"NewExpression")},q.parseTemplateElement=function(t){var e=t.isTagged,r=this.startNode();return this.type===b.invalidTemplate?(e||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),r.value={raw:this.value,cooked:null}):r.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value},this.next(),r.tail=this.type===b.backQuote,this.finishNode(r,"TemplateElement")},q.parseTemplate=function(t){void 0===t&&(t={});var e=t.isTagged;void 0===e&&(e=!1);var r=this.startNode();this.next(),r.expressions=[];var n=this.parseTemplateElement({isTagged:e});for(r.quasis=[n];!n.tail;)this.type===b.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(b.dollarBraceL),r.expressions.push(this.parseExpression()),this.expect(b.braceR),r.quasis.push(n=this.parseTemplateElement({isTagged:e}));return this.next(),this.finishNode(r,"TemplateLiteral")},q.isAsyncProp=function(t){return!t.computed&&"Identifier"===t.key.type&&"async"===t.key.name&&(this.type===b.name||this.type===b.num||this.type===b.string||this.type===b.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===b.star)&&!x.test(this.input.slice(this.lastTokEnd,this.start))},q.parseObj=function(t,e){var r=this.startNode(),n=!0,i={};for(r.properties=[],this.next();!this.eat(b.braceR);){if(n)n=!1;else if(this.expect(b.comma),this.afterTrailingComma(b.braceR))break;var o=this.parseProperty(t,e);t||this.checkPropClash(o,i,e),r.properties.push(o)}return this.finishNode(r,t?"ObjectPattern":"ObjectExpression")},q.parseProperty=function(t,e){var r,n,i,o,a=this.startNode();if(this.options.ecmaVersion>=9&&this.eat(b.ellipsis))return t?(a.argument=this.parseIdent(!1),this.type===b.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.finishNode(a,"RestElement")):(this.type===b.parenL&&e&&(e.parenthesizedAssign<0&&(e.parenthesizedAssign=this.start),e.parenthesizedBind<0&&(e.parenthesizedBind=this.start)),a.argument=this.parseMaybeAssign(!1,e),this.type===b.comma&&e&&e.trailingComma<0&&(e.trailingComma=this.start),this.finishNode(a,"SpreadElement"));this.options.ecmaVersion>=6&&(a.method=!1,a.shorthand=!1,(t||e)&&(i=this.start,o=this.startLoc),t||(r=this.eat(b.star)));var s=this.containsEsc;return this.parsePropertyName(a),!t&&!s&&this.options.ecmaVersion>=8&&!r&&this.isAsyncProp(a)?(n=!0,r=this.options.ecmaVersion>=9&&this.eat(b.star),this.parsePropertyName(a,e)):n=!1,this.parsePropertyValue(a,t,r,n,i,o,e,s),this.finishNode(a,"Property")},q.parsePropertyValue=function(t,e,r,n,i,o,a,s){if((r||n)&&this.type===b.colon&&this.unexpected(),this.eat(b.colon))t.value=e?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,a),t.kind="init";else if(this.options.ecmaVersion>=6&&this.type===b.parenL)e&&this.unexpected(),t.kind="init",t.method=!0,t.value=this.parseMethod(r,n);else if(e||s||!(this.options.ecmaVersion>=5)||t.computed||"Identifier"!==t.key.type||"get"!==t.key.name&&"set"!==t.key.name||this.type===b.comma||this.type===b.braceR)this.options.ecmaVersion>=6&&!t.computed&&"Identifier"===t.key.type?(this.checkUnreserved(t.key),t.kind="init",e?t.value=this.parseMaybeDefault(i,o,t.key):this.type===b.eq&&a?(a.shorthandAssign<0&&(a.shorthandAssign=this.start),t.value=this.parseMaybeDefault(i,o,t.key)):t.value=t.key,t.shorthand=!0):this.unexpected();else{(r||n)&&this.unexpected(),t.kind=t.key.name,this.parsePropertyName(t),t.value=this.parseMethod(!1);var u="get"===t.kind?0:1;if(t.value.params.length!==u){var l=t.value.start;"get"===t.kind?this.raiseRecoverable(l,"getter should have no params"):this.raiseRecoverable(l,"setter should have exactly one param")}else"set"===t.kind&&"RestElement"===t.value.params[0].type&&this.raiseRecoverable(t.value.params[0].start,"Setter cannot use rest params")}},q.parsePropertyName=function(t){if(this.options.ecmaVersion>=6){if(this.eat(b.bracketL))return t.computed=!0,t.key=this.parseMaybeAssign(),this.expect(b.bracketR),t.key;t.computed=!1}return t.key=this.type===b.num||this.type===b.string?this.parseExprAtom():this.parseIdent(!0)},q.initFunction=function(t){t.id=null,this.options.ecmaVersion>=6&&(t.generator=!1,t.expression=!1),this.options.ecmaVersion>=8&&(t.async=!1)},q.parseMethod=function(t,e){var r=this.startNode(),n=this.inGenerator,i=this.inAsync,o=this.yieldPos,a=this.awaitPos,s=this.inFunction;return this.initFunction(r),this.options.ecmaVersion>=6&&(r.generator=t),this.options.ecmaVersion>=8&&(r.async=!!e),this.inGenerator=r.generator,this.inAsync=r.async,this.yieldPos=0,this.awaitPos=0,this.inFunction=!0,this.enterFunctionScope(),this.expect(b.parenL),r.params=this.parseBindingList(b.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(r,!1),this.inGenerator=n,this.inAsync=i,this.yieldPos=o,this.awaitPos=a,this.inFunction=s,this.finishNode(r,"FunctionExpression")},q.parseArrowExpression=function(t,e,r){var n=this.inGenerator,i=this.inAsync,o=this.yieldPos,a=this.awaitPos,s=this.inFunction;return this.enterFunctionScope(),this.initFunction(t),this.options.ecmaVersion>=8&&(t.async=!!r),this.inGenerator=!1,this.inAsync=t.async,this.yieldPos=0,this.awaitPos=0,this.inFunction=!0,t.params=this.toAssignableList(e,!0),this.parseFunctionBody(t,!0),this.inGenerator=n,this.inAsync=i,this.yieldPos=o,this.awaitPos=a,this.inFunction=s,this.finishNode(t,"ArrowFunctionExpression")},q.parseFunctionBody=function(t,e){var r=e&&this.type!==b.braceL,n=this.strict,i=!1;if(r)t.body=this.parseMaybeAssign(),t.expression=!0,this.checkParams(t,!1);else{var o=this.options.ecmaVersion>=7&&!this.isSimpleParamList(t.params);n&&!o||(i=this.strictDirective(this.end))&&o&&this.raiseRecoverable(t.start,"Illegal 'use strict' directive in function with non-simple parameter list");var a=this.labels;this.labels=[],i&&(this.strict=!0),this.checkParams(t,!n&&!i&&!e&&this.isSimpleParamList(t.params)),t.body=this.parseBlock(!1),t.expression=!1,this.adaptDirectivePrologue(t.body.body),this.labels=a}this.exitFunctionScope(),this.strict&&t.id&&this.checkLVal(t.id,"none"),this.strict=n},q.isSimpleParamList=function(t){for(var e=0,r=t;e<r.length;e+=1){if("Identifier"!==r[e].type)return!1}return!0},q.checkParams=function(t,e){for(var r={},n=0,i=t.params;n<i.length;n+=1){var o=i[n];this.checkLVal(o,"var",e?null:r)}},q.parseExprList=function(t,e,r,n){for(var i=[],o=!0;!this.eat(t);){if(o)o=!1;else if(this.expect(b.comma),e&&this.afterTrailingComma(t))break;var a=void 0;r&&this.type===b.comma?a=null:this.type===b.ellipsis?(a=this.parseSpread(n),n&&this.type===b.comma&&n.trailingComma<0&&(n.trailingComma=this.start)):a=this.parseMaybeAssign(!1,n),i.push(a)}return i},q.checkUnreserved=function(t){var e=t.start,r=t.end,n=t.name;(this.inGenerator&&"yield"===n&&this.raiseRecoverable(e,"Can not use 'yield' as identifier inside a generator"),this.inAsync&&"await"===n&&this.raiseRecoverable(e,"Can not use 'await' as identifier inside an async function"),this.isKeyword(n)&&this.raise(e,"Unexpected keyword '"+n+"'"),this.options.ecmaVersion<6&&-1!==this.input.slice(e,r).indexOf("\\"))||(this.strict?this.reservedWordsStrict:this.reservedWords).test(n)&&(this.inAsync||"await"!==n||this.raiseRecoverable(e,"Can not use keyword 'await' outside an async function"),this.raiseRecoverable(e,"The keyword '"+n+"' is reserved"))},q.parseIdent=function(t,e){var r=this.startNode();return t&&"never"===this.options.allowReserved&&(t=!1),this.type===b.name?r.name=this.value:this.type.keyword?(r.name=this.type.keyword,"class"!==r.name&&"function"!==r.name||this.lastTokEnd===this.lastTokStart+1&&46===this.input.charCodeAt(this.lastTokStart)||this.context.pop()):this.unexpected(),this.next(),this.finishNode(r,"Identifier"),t||this.checkUnreserved(r),r},q.parseYield=function(){this.yieldPos||(this.yieldPos=this.start);var t=this.startNode();return this.next(),this.type===b.semi||this.canInsertSemicolon()||this.type!==b.star&&!this.type.startsExpr?(t.delegate=!1,t.argument=null):(t.delegate=this.eat(b.star),t.argument=this.parseMaybeAssign()),this.finishNode(t,"YieldExpression")},q.parseAwait=function(){this.awaitPos||(this.awaitPos=this.start);var t=this.startNode();return this.next(),t.argument=this.parseMaybeUnary(null,!0),this.finishNode(t,"AwaitExpression")};var H=N.prototype;H.raise=function(t,e){var r=M(this.input,t);e+=" ("+r.line+":"+r.column+")";var n=new SyntaxError(e);throw n.pos=t,n.loc=r,n.raisedAt=this.pos,n},H.raiseRecoverable=H.raise,H.curPosition=function(){if(this.options.locations)return new P(this.curLine,this.pos-this.lineStart)};var Y=N.prototype,Z=Object.assign||function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n<i.length;n+=1){var o=i[n];for(var a in o)R(o,a)&&(t[a]=o[a])}return t};Y.enterFunctionScope=function(){this.scopeStack.push({var:{},lexical:{},childVar:{},parentLexical:{}})},Y.exitFunctionScope=function(){this.scopeStack.pop()},Y.enterLexicalScope=function(){var t=this.scopeStack[this.scopeStack.length-1],e={var:{},lexical:{},childVar:{},parentLexical:{}};this.scopeStack.push(e),Z(e.parentLexical,t.lexical,t.parentLexical)},Y.exitLexicalScope=function(){var t=this.scopeStack.pop(),e=this.scopeStack[this.scopeStack.length-1];Z(e.childVar,t.var,t.childVar)},Y.canDeclareVarName=function(t){var e=this.scopeStack[this.scopeStack.length-1];return!R(e.lexical,t)&&!R(e.parentLexical,t)},Y.canDeclareLexicalName=function(t){var e=this.scopeStack[this.scopeStack.length-1];return!R(e.lexical,t)&&!R(e.var,t)&&!R(e.childVar,t)},Y.declareVarName=function(t){this.scopeStack[this.scopeStack.length-1].var[t]=!0},Y.declareLexicalName=function(t){this.scopeStack[this.scopeStack.length-1].lexical[t]=!0};var J=function(t,e,r){this.type="",this.start=e,this.end=0,t.options.locations&&(this.loc=new I(t,r)),t.options.directSourceFile&&(this.sourceFile=t.options.directSourceFile),t.options.ranges&&(this.range=[e,0])},Q=N.prototype;function tt(t,e,r,n){return t.type=e,t.end=r,this.options.locations&&(t.loc.end=n),this.options.ranges&&(t.range[1]=r),t}Q.startNode=function(){return new J(this,this.start,this.startLoc)},Q.startNodeAt=function(t,e){return new J(this,t,e)},Q.finishNode=function(t,e){return tt.call(this,t,e,this.lastTokEnd,this.lastTokEndLoc)},Q.finishNodeAt=function(t,e,r,n){return tt.call(this,t,e,r,n)};var et=function(t,e,r,n,i){this.token=t,this.isExpr=!!e,this.preserveSpace=!!r,this.override=n,this.generator=!!i},rt={b_stat:new et("{",!1),b_expr:new et("{",!0),b_tmpl:new et("${",!1),p_stat:new et("(",!1),p_expr:new et("(",!0),q_tmpl:new et("`",!0,!0,function(t){return t.tryReadTemplateToken()}),f_stat:new et("function",!1),f_expr:new et("function",!0),f_expr_gen:new et("function",!0,!1,null,!0),f_gen:new et("function",!1,!1,null,!0)},nt=N.prototype;nt.initialContext=function(){return[rt.b_stat]},nt.braceIsBlock=function(t){var e=this.curContext();return e===rt.f_expr||e===rt.f_stat||(t!==b.colon||e!==rt.b_stat&&e!==rt.b_expr?t===b._return||t===b.name&&this.exprAllowed?x.test(this.input.slice(this.lastTokEnd,this.start)):t===b._else||t===b.semi||t===b.eof||t===b.parenR||t===b.arrow||(t===b.braceL?e===rt.b_stat:t!==b._var&&t!==b.name&&!this.exprAllowed):!e.isExpr)},nt.inGeneratorContext=function(){for(var t=this.context.length-1;t>=1;t--){var e=this.context[t];if("function"===e.token)return e.generator}return!1},nt.updateContext=function(t){var e,r=this.type;r.keyword&&t===b.dot?this.exprAllowed=!1:(e=r.updateContext)?e.call(this,t):this.exprAllowed=r.beforeExpr},b.parenR.updateContext=b.braceR.updateContext=function(){if(1!==this.context.length){var t=this.context.pop();t===rt.b_stat&&"function"===this.curContext().token&&(t=this.context.pop()),this.exprAllowed=!t.isExpr}else this.exprAllowed=!0},b.braceL.updateContext=function(t){this.context.push(this.braceIsBlock(t)?rt.b_stat:rt.b_expr),this.exprAllowed=!0},b.dollarBraceL.updateContext=function(){this.context.push(rt.b_tmpl),this.exprAllowed=!0},b.parenL.updateContext=function(t){var e=t===b._if||t===b._for||t===b._with||t===b._while;this.context.push(e?rt.p_stat:rt.p_expr),this.exprAllowed=!0},b.incDec.updateContext=function(){},b._function.updateContext=b._class.updateContext=function(t){t.beforeExpr&&t!==b.semi&&t!==b._else&&(t!==b.colon&&t!==b.braceL||this.curContext()!==rt.b_stat)?this.context.push(rt.f_expr):this.context.push(rt.f_stat),this.exprAllowed=!1},b.backQuote.updateContext=function(){this.curContext()===rt.q_tmpl?this.context.pop():this.context.push(rt.q_tmpl),this.exprAllowed=!1},b.star.updateContext=function(t){if(t===b._function){var e=this.context.length-1;this.context[e]===rt.f_expr?this.context[e]=rt.f_expr_gen:this.context[e]=rt.f_gen}this.exprAllowed=!0},b.name.updateContext=function(t){var e=!1;this.options.ecmaVersion>=6&&t!==b.dot&&("of"===this.value&&!this.exprAllowed||"yield"===this.value&&this.inGeneratorContext())&&(e=!0),this.exprAllowed=e};var it={$LONE:["ASCII","ASCII_Hex_Digit","AHex","Alphabetic","Alpha","Any","Assigned","Bidi_Control","Bidi_C","Bidi_Mirrored","Bidi_M","Case_Ignorable","CI","Cased","Changes_When_Casefolded","CWCF","Changes_When_Casemapped","CWCM","Changes_When_Lowercased","CWL","Changes_When_NFKC_Casefolded","CWKCF","Changes_When_Titlecased","CWT","Changes_When_Uppercased","CWU","Dash","Default_Ignorable_Code_Point","DI","Deprecated","Dep","Diacritic","Dia","Emoji","Emoji_Component","Emoji_Modifier","Emoji_Modifier_Base","Emoji_Presentation","Extender","Ext","Grapheme_Base","Gr_Base","Grapheme_Extend","Gr_Ext","Hex_Digit","Hex","IDS_Binary_Operator","IDSB","IDS_Trinary_Operator","IDST","ID_Continue","IDC","ID_Start","IDS","Ideographic","Ideo","Join_Control","Join_C","Logical_Order_Exception","LOE","Lowercase","Lower","Math","Noncharacter_Code_Point","NChar","Pattern_Syntax","Pat_Syn","Pattern_White_Space","Pat_WS","Quotation_Mark","QMark","Radical","Regional_Indicator","RI","Sentence_Terminal","STerm","Soft_Dotted","SD","Terminal_Punctuation","Term","Unified_Ideograph","UIdeo","Uppercase","Upper","Variation_Selector","VS","White_Space","space","XID_Continue","XIDC","XID_Start","XIDS"],General_Category:["Cased_Letter","LC","Close_Punctuation","Pe","Connector_Punctuation","Pc","Control","Cc","cntrl","Currency_Symbol","Sc","Dash_Punctuation","Pd","Decimal_Number","Nd","digit","Enclosing_Mark","Me","Final_Punctuation","Pf","Format","Cf","Initial_Punctuation","Pi","Letter","L","Letter_Number","Nl","Line_Separator","Zl","Lowercase_Letter","Ll","Mark","M","Combining_Mark","Math_Symbol","Sm","Modifier_Letter","Lm","Modifier_Symbol","Sk","Nonspacing_Mark","Mn","Number","N","Open_Punctuation","Ps","Other","C","Other_Letter","Lo","Other_Number","No","Other_Punctuation","Po","Other_Symbol","So","Paragraph_Separator","Zp","Private_Use","Co","Punctuation","P","punct","Separator","Z","Space_Separator","Zs","Spacing_Mark","Mc","Surrogate","Cs","Symbol","S","Titlecase_Letter","Lt","Unassigned","Cn","Uppercase_Letter","Lu"],Script:["Adlam","Adlm","Ahom","Anatolian_Hieroglyphs","Hluw","Arabic","Arab","Armenian","Armn","Avestan","Avst","Balinese","Bali","Bamum","Bamu","Bassa_Vah","Bass","Batak","Batk","Bengali","Beng","Bhaiksuki","Bhks","Bopomofo","Bopo","Brahmi","Brah","Braille","Brai","Buginese","Bugi","Buhid","Buhd","Canadian_Aboriginal","Cans","Carian","Cari","Caucasian_Albanian","Aghb","Chakma","Cakm","Cham","Cherokee","Cher","Common","Zyyy","Coptic","Copt","Qaac","Cuneiform","Xsux","Cypriot","Cprt","Cyrillic","Cyrl","Deseret","Dsrt","Devanagari","Deva","Duployan","Dupl","Egyptian_Hieroglyphs","Egyp","Elbasan","Elba","Ethiopic","Ethi","Georgian","Geor","Glagolitic","Glag","Gothic","Goth","Grantha","Gran","Greek","Grek","Gujarati","Gujr","Gurmukhi","Guru","Han","Hani","Hangul","Hang","Hanunoo","Hano","Hatran","Hatr","Hebrew","Hebr","Hiragana","Hira","Imperial_Aramaic","Armi","Inherited","Zinh","Qaai","Inscriptional_Pahlavi","Phli","Inscriptional_Parthian","Prti","Javanese","Java","Kaithi","Kthi","Kannada","Knda","Katakana","Kana","Kayah_Li","Kali","Kharoshthi","Khar","Khmer","Khmr","Khojki","Khoj","Khudawadi","Sind","Lao","Laoo","Latin","Latn","Lepcha","Lepc","Limbu","Limb","Linear_A","Lina","Linear_B","Linb","Lisu","Lycian","Lyci","Lydian","Lydi","Mahajani","Mahj","Malayalam","Mlym","Mandaic","Mand","Manichaean","Mani","Marchen","Marc","Masaram_Gondi","Gonm","Meetei_Mayek","Mtei","Mende_Kikakui","Mend","Meroitic_Cursive","Merc","Meroitic_Hieroglyphs","Mero","Miao","Plrd","Modi","Mongolian","Mong","Mro","Mroo","Multani","Mult","Myanmar","Mymr","Nabataean","Nbat","New_Tai_Lue","Talu","Newa","Nko","Nkoo","Nushu","Nshu","Ogham","Ogam","Ol_Chiki","Olck","Old_Hungarian","Hung","Old_Italic","Ital","Old_North_Arabian","Narb","Old_Permic","Perm","Old_Persian","Xpeo","Old_South_Arabian","Sarb","Old_Turkic","Orkh","Oriya","Orya","Osage","Osge","Osmanya","Osma","Pahawh_Hmong","Hmng","Palmyrene","Palm","Pau_Cin_Hau","Pauc","Phags_Pa","Phag","Phoenician","Phnx","Psalter_Pahlavi","Phlp","Rejang","Rjng","Runic","Runr","Samaritan","Samr","Saurashtra","Saur","Sharada","Shrd","Shavian","Shaw","Siddham","Sidd","SignWriting","Sgnw","Sinhala","Sinh","Sora_Sompeng","Sora","Soyombo","Soyo","Sundanese","Sund","Syloti_Nagri","Sylo","Syriac","Syrc","Tagalog","Tglg","Tagbanwa","Tagb","Tai_Le","Tale","Tai_Tham","Lana","Tai_Viet","Tavt","Takri","Takr","Tamil","Taml","Tangut","Tang","Telugu","Telu","Thaana","Thaa","Thai","Tibetan","Tibt","Tifinagh","Tfng","Tirhuta","Tirh","Ugaritic","Ugar","Vai","Vaii","Warang_Citi","Wara","Yi","Yiii","Zanabazar_Square","Zanb"]};Array.prototype.push.apply(it.$LONE,it.General_Category),it.gc=it.General_Category,it.sc=it.Script_Extensions=it.scx=it.Script;var ot=N.prototype,at=function(t){this.parser=t,this.validFlags="gim"+(t.options.ecmaVersion>=6?"uy":"")+(t.options.ecmaVersion>=9?"s":""),this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};function st(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t)))}function ut(t){return 36===t||t>=40&&t<=43||46===t||63===t||t>=91&&t<=94||t>=123&&t<=125}function lt(t){return t>=65&&t<=90||t>=97&&t<=122}function ct(t){return lt(t)||95===t}function ht(t){return ct(t)||pt(t)}function pt(t){return t>=48&&t<=57}function ft(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function dt(t){return t>=65&&t<=70?t-65+10:t>=97&&t<=102?t-97+10:t-48}function mt(t){return t>=48&&t<=55}at.prototype.reset=function(t,e,r){var n=-1!==r.indexOf("u");this.start=0|t,this.source=e+"",this.flags=r,this.switchU=n&&this.parser.options.ecmaVersion>=6,this.switchN=n&&this.parser.options.ecmaVersion>=9},at.prototype.raise=function(t){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+t)},at.prototype.at=function(t){var e=this.source,r=e.length;if(t>=r)return-1;var n=e.charCodeAt(t);return!this.switchU||n<=55295||n>=57344||t+1>=r?n:(n<<10)+e.charCodeAt(t+1)-56613888},at.prototype.nextIndex=function(t){var e=this.source,r=e.length;if(t>=r)return r;var n=e.charCodeAt(t);return!this.switchU||n<=55295||n>=57344||t+1>=r?t+1:t+2},at.prototype.current=function(){return this.at(this.pos)},at.prototype.lookahead=function(){return this.at(this.nextIndex(this.pos))},at.prototype.advance=function(){this.pos=this.nextIndex(this.pos)},at.prototype.eat=function(t){return this.current()===t&&(this.advance(),!0)},ot.validateRegExpFlags=function(t){for(var e=t.validFlags,r=t.flags,n=0;n<r.length;n++){var i=r.charAt(n);-1===e.indexOf(i)&&this.raise(t.start,"Invalid regular expression flag"),r.indexOf(i,n+1)>-1&&this.raise(t.start,"Duplicate regular expression flag")}},ot.validateRegExpPattern=function(t){this.regexp_pattern(t),!t.switchN&&this.options.ecmaVersion>=9&&t.groupNames.length>0&&(t.switchN=!0,this.regexp_pattern(t))},ot.regexp_pattern=function(t){t.pos=0,t.lastIntValue=0,t.lastStringValue="",t.lastAssertionIsQuantifiable=!1,t.numCapturingParens=0,t.maxBackReference=0,t.groupNames.length=0,t.backReferenceNames.length=0,this.regexp_disjunction(t),t.pos!==t.source.length&&(t.eat(41)&&t.raise("Unmatched ')'"),(t.eat(93)||t.eat(125))&&t.raise("Lone quantifier brackets")),t.maxBackReference>t.numCapturingParens&&t.raise("Invalid escape");for(var e=0,r=t.backReferenceNames;e<r.length;e+=1){var n=r[e];-1===t.groupNames.indexOf(n)&&t.raise("Invalid named capture referenced")}},ot.regexp_disjunction=function(t){for(this.regexp_alternative(t);t.eat(124);)this.regexp_alternative(t);this.regexp_eatQuantifier(t,!0)&&t.raise("Nothing to repeat"),t.eat(123)&&t.raise("Lone quantifier brackets")},ot.regexp_alternative=function(t){for(;t.pos<t.source.length&&this.regexp_eatTerm(t););},ot.regexp_eatTerm=function(t){return this.regexp_eatAssertion(t)?(t.lastAssertionIsQuantifiable&&this.regexp_eatQuantifier(t)&&t.switchU&&t.raise("Invalid quantifier"),!0):!(t.switchU?!this.regexp_eatAtom(t):!this.regexp_eatExtendedAtom(t))&&(this.regexp_eatQuantifier(t),!0)},ot.regexp_eatAssertion=function(t){var e=t.pos;if(t.lastAssertionIsQuantifiable=!1,t.eat(94)||t.eat(36))return!0;if(t.eat(92)){if(t.eat(66)||t.eat(98))return!0;t.pos=e}if(t.eat(40)&&t.eat(63)){var r=!1;if(this.options.ecmaVersion>=9&&(r=t.eat(60)),t.eat(61)||t.eat(33))return this.regexp_disjunction(t),t.eat(41)||t.raise("Unterminated group"),t.lastAssertionIsQuantifiable=!r,!0}return t.pos=e,!1},ot.regexp_eatQuantifier=function(t,e){return void 0===e&&(e=!1),!!this.regexp_eatQuantifierPrefix(t,e)&&(t.eat(63),!0)},ot.regexp_eatQuantifierPrefix=function(t,e){return t.eat(42)||t.eat(43)||t.eat(63)||this.regexp_eatBracedQuantifier(t,e)},ot.regexp_eatBracedQuantifier=function(t,e){var r=t.pos;if(t.eat(123)){var n=0,i=-1;if(this.regexp_eatDecimalDigits(t)&&(n=t.lastIntValue,t.eat(44)&&this.regexp_eatDecimalDigits(t)&&(i=t.lastIntValue),t.eat(125)))return-1!==i&&i<n&&!e&&t.raise("numbers out of order in {} quantifier"),!0;t.switchU&&!e&&t.raise("Incomplete quantifier"),t.pos=r}return!1},ot.regexp_eatAtom=function(t){return this.regexp_eatPatternCharacters(t)||t.eat(46)||this.regexp_eatReverseSolidusAtomEscape(t)||this.regexp_eatCharacterClass(t)||this.regexp_eatUncapturingGroup(t)||this.regexp_eatCapturingGroup(t)},ot.regexp_eatReverseSolidusAtomEscape=function(t){var e=t.pos;if(t.eat(92)){if(this.regexp_eatAtomEscape(t))return!0;t.pos=e}return!1},ot.regexp_eatUncapturingGroup=function(t){var e=t.pos;if(t.eat(40)){if(t.eat(63)&&t.eat(58)){if(this.regexp_disjunction(t),t.eat(41))return!0;t.raise("Unterminated group")}t.pos=e}return!1},ot.regexp_eatCapturingGroup=function(t){if(t.eat(40)){if(this.options.ecmaVersion>=9?this.regexp_groupSpecifier(t):63===t.current()&&t.raise("Invalid group"),this.regexp_disjunction(t),t.eat(41))return t.numCapturingParens+=1,!0;t.raise("Unterminated group")}return!1},ot.regexp_eatExtendedAtom=function(t){return t.eat(46)||this.regexp_eatReverseSolidusAtomEscape(t)||this.regexp_eatCharacterClass(t)||this.regexp_eatUncapturingGroup(t)||this.regexp_eatCapturingGroup(t)||this.regexp_eatInvalidBracedQuantifier(t)||this.regexp_eatExtendedPatternCharacter(t)},ot.regexp_eatInvalidBracedQuantifier=function(t){return this.regexp_eatBracedQuantifier(t,!0)&&t.raise("Nothing to repeat"),!1},ot.regexp_eatSyntaxCharacter=function(t){var e=t.current();return!!ut(e)&&(t.lastIntValue=e,t.advance(),!0)},ot.regexp_eatPatternCharacters=function(t){for(var e=t.pos,r=0;-1!==(r=t.current())&&!ut(r);)t.advance();return t.pos!==e},ot.regexp_eatExtendedPatternCharacter=function(t){var e=t.current();return!(-1===e||36===e||e>=40&&e<=43||46===e||63===e||91===e||94===e||124===e)&&(t.advance(),!0)},ot.regexp_groupSpecifier=function(t){if(t.eat(63)){if(this.regexp_eatGroupName(t))return-1!==t.groupNames.indexOf(t.lastStringValue)&&t.raise("Duplicate capture group name"),void t.groupNames.push(t.lastStringValue);t.raise("Invalid group")}},ot.regexp_eatGroupName=function(t){if(t.lastStringValue="",t.eat(60)){if(this.regexp_eatRegExpIdentifierName(t)&&t.eat(62))return!0;t.raise("Invalid capture group name")}return!1},ot.regexp_eatRegExpIdentifierName=function(t){if(t.lastStringValue="",this.regexp_eatRegExpIdentifierStart(t)){for(t.lastStringValue+=st(t.lastIntValue);this.regexp_eatRegExpIdentifierPart(t);)t.lastStringValue+=st(t.lastIntValue);return!0}return!1},ot.regexp_eatRegExpIdentifierStart=function(t){var e=t.pos,r=t.current();return t.advance(),92===r&&this.regexp_eatRegExpUnicodeEscapeSequence(t)&&(r=t.lastIntValue),function(t){return p(t,!0)||36===t||95===t}(r)?(t.lastIntValue=r,!0):(t.pos=e,!1)},ot.regexp_eatRegExpIdentifierPart=function(t){var e=t.pos,r=t.current();return t.advance(),92===r&&this.regexp_eatRegExpUnicodeEscapeSequence(t)&&(r=t.lastIntValue),function(t){return f(t,!0)||36===t||95===t||8204===t||8205===t}(r)?(t.lastIntValue=r,!0):(t.pos=e,!1)},ot.regexp_eatAtomEscape=function(t){return!!(this.regexp_eatBackReference(t)||this.regexp_eatCharacterClassEscape(t)||this.regexp_eatCharacterEscape(t)||t.switchN&&this.regexp_eatKGroupName(t))||(t.switchU&&(99===t.current()&&t.raise("Invalid unicode escape"),t.raise("Invalid escape")),!1)},ot.regexp_eatBackReference=function(t){var e=t.pos;if(this.regexp_eatDecimalEscape(t)){var r=t.lastIntValue;if(t.switchU)return r>t.maxBackReference&&(t.maxBackReference=r),!0;if(r<=t.numCapturingParens)return!0;t.pos=e}return!1},ot.regexp_eatKGroupName=function(t){if(t.eat(107)){if(this.regexp_eatGroupName(t))return t.backReferenceNames.push(t.lastStringValue),!0;t.raise("Invalid named reference")}return!1},ot.regexp_eatCharacterEscape=function(t){return this.regexp_eatControlEscape(t)||this.regexp_eatCControlLetter(t)||this.regexp_eatZero(t)||this.regexp_eatHexEscapeSequence(t)||this.regexp_eatRegExpUnicodeEscapeSequence(t)||!t.switchU&&this.regexp_eatLegacyOctalEscapeSequence(t)||this.regexp_eatIdentityEscape(t)},ot.regexp_eatCControlLetter=function(t){var e=t.pos;if(t.eat(99)){if(this.regexp_eatControlLetter(t))return!0;t.pos=e}return!1},ot.regexp_eatZero=function(t){return 48===t.current()&&!pt(t.lookahead())&&(t.lastIntValue=0,t.advance(),!0)},ot.regexp_eatControlEscape=function(t){var e=t.current();return 116===e?(t.lastIntValue=9,t.advance(),!0):110===e?(t.lastIntValue=10,t.advance(),!0):118===e?(t.lastIntValue=11,t.advance(),!0):102===e?(t.lastIntValue=12,t.advance(),!0):114===e&&(t.lastIntValue=13,t.advance(),!0)},ot.regexp_eatControlLetter=function(t){var e=t.current();return!!lt(e)&&(t.lastIntValue=e%32,t.advance(),!0)},ot.regexp_eatRegExpUnicodeEscapeSequence=function(t){var e,r=t.pos;if(t.eat(117)){if(this.regexp_eatFixedHexDigits(t,4)){var n=t.lastIntValue;if(t.switchU&&n>=55296&&n<=56319){var i=t.pos;if(t.eat(92)&&t.eat(117)&&this.regexp_eatFixedHexDigits(t,4)){var o=t.lastIntValue;if(o>=56320&&o<=57343)return t.lastIntValue=1024*(n-55296)+(o-56320)+65536,!0}t.pos=i,t.lastIntValue=n}return!0}if(t.switchU&&t.eat(123)&&this.regexp_eatHexDigits(t)&&t.eat(125)&&((e=t.lastIntValue)>=0&&e<=1114111))return!0;t.switchU&&t.raise("Invalid unicode escape"),t.pos=r}return!1},ot.regexp_eatIdentityEscape=function(t){if(t.switchU)return!!this.regexp_eatSyntaxCharacter(t)||!!t.eat(47)&&(t.lastIntValue=47,!0);var e=t.current();return!(99===e||t.switchN&&107===e)&&(t.lastIntValue=e,t.advance(),!0)},ot.regexp_eatDecimalEscape=function(t){t.lastIntValue=0;var e=t.current();if(e>=49&&e<=57){do{t.lastIntValue=10*t.lastIntValue+(e-48),t.advance()}while((e=t.current())>=48&&e<=57);return!0}return!1},ot.regexp_eatCharacterClassEscape=function(t){var e=t.current();if(function(t){return 100===t||68===t||115===t||83===t||119===t||87===t}(e))return t.lastIntValue=-1,t.advance(),!0;if(t.switchU&&this.options.ecmaVersion>=9&&(80===e||112===e)){if(t.lastIntValue=-1,t.advance(),t.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(t)&&t.eat(125))return!0;t.raise("Invalid property name")}return!1},ot.regexp_eatUnicodePropertyValueExpression=function(t){var e=t.pos;if(this.regexp_eatUnicodePropertyName(t)&&t.eat(61)){var r=t.lastStringValue;if(this.regexp_eatUnicodePropertyValue(t)){var n=t.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(t,r,n),!0}}if(t.pos=e,this.regexp_eatLoneUnicodePropertyNameOrValue(t)){var i=t.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(t,i),!0}return!1},ot.regexp_validateUnicodePropertyNameAndValue=function(t,e,r){it.hasOwnProperty(e)&&-1!==it[e].indexOf(r)||t.raise("Invalid property name")},ot.regexp_validateUnicodePropertyNameOrValue=function(t,e){-1===it.$LONE.indexOf(e)&&t.raise("Invalid property name")},ot.regexp_eatUnicodePropertyName=function(t){var e=0;for(t.lastStringValue="";ct(e=t.current());)t.lastStringValue+=st(e),t.advance();return""!==t.lastStringValue},ot.regexp_eatUnicodePropertyValue=function(t){var e=0;for(t.lastStringValue="";ht(e=t.current());)t.lastStringValue+=st(e),t.advance();return""!==t.lastStringValue},ot.regexp_eatLoneUnicodePropertyNameOrValue=function(t){return this.regexp_eatUnicodePropertyValue(t)},ot.regexp_eatCharacterClass=function(t){if(t.eat(91)){if(t.eat(94),this.regexp_classRanges(t),t.eat(93))return!0;t.raise("Unterminated character class")}return!1},ot.regexp_classRanges=function(t){for(;this.regexp_eatClassAtom(t);){var e=t.lastIntValue;if(t.eat(45)&&this.regexp_eatClassAtom(t)){var r=t.lastIntValue;!t.switchU||-1!==e&&-1!==r||t.raise("Invalid character class"),-1!==e&&-1!==r&&e>r&&t.raise("Range out of order in character class")}}},ot.regexp_eatClassAtom=function(t){var e=t.pos;if(t.eat(92)){if(this.regexp_eatClassEscape(t))return!0;if(t.switchU){var r=t.current();(99===r||mt(r))&&t.raise("Invalid class escape"),t.raise("Invalid escape")}t.pos=e}var n=t.current();return 93!==n&&(t.lastIntValue=n,t.advance(),!0)},ot.regexp_eatClassEscape=function(t){var e=t.pos;if(t.eat(98))return t.lastIntValue=8,!0;if(t.switchU&&t.eat(45))return t.lastIntValue=45,!0;if(!t.switchU&&t.eat(99)){if(this.regexp_eatClassControlLetter(t))return!0;t.pos=e}return this.regexp_eatCharacterClassEscape(t)||this.regexp_eatCharacterEscape(t)},ot.regexp_eatClassControlLetter=function(t){var e=t.current();return!(!pt(e)&&95!==e)&&(t.lastIntValue=e%32,t.advance(),!0)},ot.regexp_eatHexEscapeSequence=function(t){var e=t.pos;if(t.eat(120)){if(this.regexp_eatFixedHexDigits(t,2))return!0;t.switchU&&t.raise("Invalid escape"),t.pos=e}return!1},ot.regexp_eatDecimalDigits=function(t){var e=t.pos,r=0;for(t.lastIntValue=0;pt(r=t.current());)t.lastIntValue=10*t.lastIntValue+(r-48),t.advance();return t.pos!==e},ot.regexp_eatHexDigits=function(t){var e=t.pos,r=0;for(t.lastIntValue=0;ft(r=t.current());)t.lastIntValue=16*t.lastIntValue+dt(r),t.advance();return t.pos!==e},ot.regexp_eatLegacyOctalEscapeSequence=function(t){if(this.regexp_eatOctalDigit(t)){var e=t.lastIntValue;if(this.regexp_eatOctalDigit(t)){var r=t.lastIntValue;e<=3&&this.regexp_eatOctalDigit(t)?t.lastIntValue=64*e+8*r+t.lastIntValue:t.lastIntValue=8*e+r}else t.lastIntValue=e;return!0}return!1},ot.regexp_eatOctalDigit=function(t){var e=t.current();return mt(e)?(t.lastIntValue=e-48,t.advance(),!0):(t.lastIntValue=0,!1)},ot.regexp_eatFixedHexDigits=function(t,e){var r=t.pos;t.lastIntValue=0;for(var n=0;n<e;++n){var i=t.current();if(!ft(i))return t.pos=r,!1;t.lastIntValue=16*t.lastIntValue+dt(i),t.advance()}return!0};var gt=function(t){this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,t.options.locations&&(this.loc=new I(t,t.startLoc,t.endLoc)),t.options.ranges&&(this.range=[t.start,t.end])},vt=N.prototype;function _t(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t)))}vt.next=function(){this.options.onToken&&this.options.onToken(new gt(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},vt.getToken=function(){return this.next(),new gt(this)},"undefined"!=typeof Symbol&&(vt[Symbol.iterator]=function(){var t=this;return{next:function(){var e=t.getToken();return{done:e.type===b.eof,value:e}}}}),vt.curContext=function(){return this.context[this.context.length-1]},vt.nextToken=function(){var t=this.curContext();return t&&t.preserveSpace||this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length?this.finishToken(b.eof):t.override?t.override(this):void this.readToken(this.fullCharCodeAtPos())},vt.readToken=function(t){return p(t,this.options.ecmaVersion>=6)||92===t?this.readWord():this.getTokenFromCode(t)},vt.fullCharCodeAtPos=function(){var t=this.input.charCodeAt(this.pos);return t<=55295||t>=57344?t:(t<<10)+this.input.charCodeAt(this.pos+1)-56613888},vt.skipBlockComment=function(){var t,e=this.options.onComment&&this.curPosition(),r=this.pos,n=this.input.indexOf("*/",this.pos+=2);if(-1===n&&this.raise(this.pos-2,"Unterminated comment"),this.pos=n+2,this.options.locations)for(w.lastIndex=r;(t=w.exec(this.input))&&t.index<this.pos;)++this.curLine,this.lineStart=t.index+t[0].length;this.options.onComment&&this.options.onComment(!0,this.input.slice(r+2,n),r,this.pos,e,this.curPosition())},vt.skipLineComment=function(t){for(var e=this.pos,r=this.options.onComment&&this.curPosition(),n=this.input.charCodeAt(this.pos+=t);this.pos<this.input.length&&!k(n);)n=this.input.charCodeAt(++this.pos);this.options.onComment&&this.options.onComment(!1,this.input.slice(e+t,this.pos),e,this.pos,r,this.curPosition())},vt.skipSpace=function(){t:for(;this.pos<this.input.length;){var t=this.input.charCodeAt(this.pos);switch(t){case 32:case 160:++this.pos;break;case 13:10===this.input.charCodeAt(this.pos+1)&&++this.pos;case 10:case 8232:case 8233:++this.pos,this.options.locations&&(++this.curLine,this.lineStart=this.pos);break;case 47:switch(this.input.charCodeAt(this.pos+1)){case 42:this.skipBlockComment();break;case 47:this.skipLineComment(2);break;default:break t}break;default:if(!(t>8&&t<14||t>=5760&&E.test(String.fromCharCode(t))))break t;++this.pos}}},vt.finishToken=function(t,e){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var r=this.type;this.type=t,this.value=e,this.updateContext(r)},vt.readToken_dot=function(){var t=this.input.charCodeAt(this.pos+1);if(t>=48&&t<=57)return this.readNumber(!0);var e=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&46===t&&46===e?(this.pos+=3,this.finishToken(b.ellipsis)):(++this.pos,this.finishToken(b.dot))},vt.readToken_slash=function(){var t=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===t?this.finishOp(b.assign,2):this.finishOp(b.slash,1)},vt.readToken_mult_modulo_exp=function(t){var e=this.input.charCodeAt(this.pos+1),r=1,n=42===t?b.star:b.modulo;return this.options.ecmaVersion>=7&&42===t&&42===e&&(++r,n=b.starstar,e=this.input.charCodeAt(this.pos+2)),61===e?this.finishOp(b.assign,r+1):this.finishOp(n,r)},vt.readToken_pipe_amp=function(t){var e=this.input.charCodeAt(this.pos+1);return e===t?this.finishOp(124===t?b.logicalOR:b.logicalAND,2):61===e?this.finishOp(b.assign,2):this.finishOp(124===t?b.bitwiseOR:b.bitwiseAND,1)},vt.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(b.assign,2):this.finishOp(b.bitwiseXOR,1)},vt.readToken_plus_min=function(t){var e=this.input.charCodeAt(this.pos+1);return e===t?45!==e||this.inModule||62!==this.input.charCodeAt(this.pos+2)||0!==this.lastTokEnd&&!x.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(b.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===e?this.finishOp(b.assign,2):this.finishOp(b.plusMin,1)},vt.readToken_lt_gt=function(t){var e=this.input.charCodeAt(this.pos+1),r=1;return e===t?(r=62===t&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+r)?this.finishOp(b.assign,r+1):this.finishOp(b.bitShift,r)):33!==e||60!==t||this.inModule||45!==this.input.charCodeAt(this.pos+2)||45!==this.input.charCodeAt(this.pos+3)?(61===e&&(r=2),this.finishOp(b.relational,r)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},vt.readToken_eq_excl=function(t){var e=this.input.charCodeAt(this.pos+1);return 61===e?this.finishOp(b.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===t&&62===e&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(b.arrow)):this.finishOp(61===t?b.eq:b.prefix,1)},vt.getTokenFromCode=function(t){switch(t){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(b.parenL);case 41:return++this.pos,this.finishToken(b.parenR);case 59:return++this.pos,this.finishToken(b.semi);case 44:return++this.pos,this.finishToken(b.comma);case 91:return++this.pos,this.finishToken(b.bracketL);case 93:return++this.pos,this.finishToken(b.bracketR);case 123:return++this.pos,this.finishToken(b.braceL);case 125:return++this.pos,this.finishToken(b.braceR);case 58:return++this.pos,this.finishToken(b.colon);case 63:return++this.pos,this.finishToken(b.question);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(b.backQuote);case 48:var e=this.input.charCodeAt(this.pos+1);if(120===e||88===e)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(111===e||79===e)return this.readRadixNumber(8);if(98===e||66===e)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(t);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(t);case 124:case 38:return this.readToken_pipe_amp(t);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(t);case 60:case 62:return this.readToken_lt_gt(t);case 61:case 33:return this.readToken_eq_excl(t);case 126:return this.finishOp(b.prefix,1)}this.raise(this.pos,"Unexpected character '"+_t(t)+"'")},vt.finishOp=function(t,e){var r=this.input.slice(this.pos,this.pos+e);return this.pos+=e,this.finishToken(t,r)},vt.readRegexp=function(){for(var t,e,r=this.pos;;){this.pos>=this.input.length&&this.raise(r,"Unterminated regular expression");var n=this.input.charAt(this.pos);if(x.test(n)&&this.raise(r,"Unterminated regular expression"),t)t=!1;else{if("["===n)e=!0;else if("]"===n&&e)e=!1;else if("/"===n&&!e)break;t="\\"===n}++this.pos}var i=this.input.slice(r,this.pos);++this.pos;var o=this.pos,a=this.readWord1();this.containsEsc&&this.unexpected(o);var s=this.regexpState||(this.regexpState=new at(this));s.reset(r,i,a),this.validateRegExpFlags(s),this.validateRegExpPattern(s);var u=null;try{u=new RegExp(i,a)}catch(t){}return this.finishToken(b.regexp,{pattern:i,flags:a,value:u})},vt.readInt=function(t,e){for(var r=this.pos,n=0,i=0,o=null==e?1/0:e;i<o;++i){var a=this.input.charCodeAt(this.pos),s=void 0;if((s=a>=97?a-97+10:a>=65?a-65+10:a>=48&&a<=57?a-48:1/0)>=t)break;++this.pos,n=n*t+s}return this.pos===r||null!=e&&this.pos-r!==e?null:n},vt.readRadixNumber=function(t){this.pos+=2;var e=this.readInt(t);return null==e&&this.raise(this.start+2,"Expected number in radix "+t),p(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(b.num,e)},vt.readNumber=function(t){var e=this.pos;t||null!==this.readInt(10)||this.raise(e,"Invalid number");var r=this.pos-e>=2&&48===this.input.charCodeAt(e);r&&this.strict&&this.raise(e,"Invalid number"),r&&/[89]/.test(this.input.slice(e,this.pos))&&(r=!1);var n=this.input.charCodeAt(this.pos);46!==n||r||(++this.pos,this.readInt(10),n=this.input.charCodeAt(this.pos)),69!==n&&101!==n||r||(43!==(n=this.input.charCodeAt(++this.pos))&&45!==n||++this.pos,null===this.readInt(10)&&this.raise(e,"Invalid number")),p(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var i=this.input.slice(e,this.pos),o=r?parseInt(i,8):parseFloat(i);return this.finishToken(b.num,o)},vt.readCodePoint=function(){var t;if(123===this.input.charCodeAt(this.pos)){this.options.ecmaVersion<6&&this.unexpected();var e=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(e,"Code point out of bounds")}else t=this.readHexChar(4);return t},vt.readString=function(t){for(var e="",r=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var n=this.input.charCodeAt(this.pos);if(n===t)break;92===n?(e+=this.input.slice(r,this.pos),e+=this.readEscapedChar(!1),r=this.pos):(k(n,this.options.ecmaVersion>=10)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return e+=this.input.slice(r,this.pos++),this.finishToken(b.string,e)};var yt={};vt.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(t){if(t!==yt)throw t;this.readInvalidTemplateToken()}this.inTemplateElement=!1},vt.invalidStringToken=function(t,e){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw yt;this.raise(t,e)},vt.readTmplToken=function(){for(var t="",e=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var r=this.input.charCodeAt(this.pos);if(96===r||36===r&&123===this.input.charCodeAt(this.pos+1))return this.pos!==this.start||this.type!==b.template&&this.type!==b.invalidTemplate?(t+=this.input.slice(e,this.pos),this.finishToken(b.template,t)):36===r?(this.pos+=2,this.finishToken(b.dollarBraceL)):(++this.pos,this.finishToken(b.backQuote));if(92===r)t+=this.input.slice(e,this.pos),t+=this.readEscapedChar(!0),e=this.pos;else if(k(r)){switch(t+=this.input.slice(e,this.pos),++this.pos,r){case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:t+="\n";break;default:t+=String.fromCharCode(r)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),e=this.pos}else++this.pos}},vt.readInvalidTemplateToken=function(){for(;this.pos<this.input.length;this.pos++)switch(this.input[this.pos]){case"\\":++this.pos;break;case"$":if("{"!==this.input[this.pos+1])break;case"`":return this.finishToken(b.invalidTemplate,this.input.slice(this.start,this.pos))}this.raise(this.start,"Unterminated template")},vt.readEscapedChar=function(t){var e=this.input.charCodeAt(++this.pos);switch(++this.pos,e){case 110:return"\n";case 114:return"\r";case 120:return String.fromCharCode(this.readHexChar(2));case 117:return _t(this.readCodePoint());case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),"";default:if(e>=48&&e<=55){var r=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],n=parseInt(r,8);return n>255&&(r=r.slice(0,-1),n=parseInt(r,8)),this.pos+=r.length-1,e=this.input.charCodeAt(this.pos),"0"===r&&56!==e&&57!==e||!this.strict&&!t||this.invalidStringToken(this.pos-1-r.length,t?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(n)}return String.fromCharCode(e)}},vt.readHexChar=function(t){var e=this.pos,r=this.readInt(16,t);return null===r&&this.invalidStringToken(e,"Bad character escape sequence"),r},vt.readWord1=function(){this.containsEsc=!1;for(var t="",e=!0,r=this.pos,n=this.options.ecmaVersion>=6;this.pos<this.input.length;){var i=this.fullCharCodeAtPos();if(f(i,n))this.pos+=i<=65535?1:2;else{if(92!==i)break;this.containsEsc=!0,t+=this.input.slice(r,this.pos);var o=this.pos;117!==this.input.charCodeAt(++this.pos)&&this.invalidStringToken(this.pos,"Expecting Unicode escape sequence \\uXXXX"),++this.pos;var a=this.readCodePoint();(e?p:f)(a,n)||this.invalidStringToken(o,"Invalid Unicode escape"),t+=_t(a),r=this.pos}e=!1}return t+this.input.slice(r,this.pos)},vt.readWord=function(){var t=this.readWord1(),e=b.name;return this.keywords.test(t)&&(this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword "+t),e=_[t]),this.finishToken(e,t)};t.version="5.7.3",t.parse=function(t,e){return new N(e,t).parse()},t.parseExpressionAt=function(t,e,r){var n=new N(r,t,e);return n.nextToken(),n.parseExpression()},t.tokenizer=function(t,e){return new N(e,t)},t.addLooseExports=function(e,r,n){t.parse_dammit=e,t.LooseParser=r,t.pluginsLoose=n},t.Parser=N,t.plugins=L,t.defaultOptions=D,t.Position=P,t.SourceLocation=I,t.getLineInfo=M,t.Node=J,t.TokenType=d,t.tokTypes=b,t.keywordTypes=_,t.TokContext=et,t.tokContexts=rt,t.isIdentifierChar=f,t.isIdentifierStart=p,t.Token=gt,t.isNewLine=k,t.lineBreak=x,t.lineBreakG=w,t.nonASCIIwhitespace=E,Object.defineProperty(t,"__esModule",{value:!0})},"object"==typeof r&&void 0!==e?i(r):"function"==typeof define&&define.amd?define(["exports"],i):i(n.acorn={})},{}],2:[function(t,e,r){"use strict";r.byteLength=function(t){var e=l(t),r=e[0],n=e[1];return 3*(r+n)/4-n},r.toByteArray=function(t){for(var e,r=l(t),n=r[0],a=r[1],s=new o(function(t,e,r){return 3*(e+r)/4-r}(0,n,a)),u=0,c=a>0?n-4:n,h=0;h<c;h+=4)e=i[t.charCodeAt(h)]<<18|i[t.charCodeAt(h+1)]<<12|i[t.charCodeAt(h+2)]<<6|i[t.charCodeAt(h+3)],s[u++]=e>>16&255,s[u++]=e>>8&255,s[u++]=255&e;2===a&&(e=i[t.charCodeAt(h)]<<2|i[t.charCodeAt(h+1)]>>4,s[u++]=255&e);1===a&&(e=i[t.charCodeAt(h)]<<10|i[t.charCodeAt(h+1)]<<4|i[t.charCodeAt(h+2)]>>2,s[u++]=e>>8&255,s[u++]=255&e);return s},r.fromByteArray=function(t){for(var e,r=t.length,i=r%3,o=[],a=0,s=r-i;a<s;a+=16383)o.push(c(t,a,a+16383>s?s:a+16383));1===i?(e=t[r-1],o.push(n[e>>2]+n[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],o.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"="));return o.join("")};for(var n=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,u=a.length;s<u;++s)n[s]=a[s],i[a.charCodeAt(s)]=s;function l(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t,e,r){for(var i,o,a=[],s=e;s<r;s+=3)i=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),a.push(n[(o=i)>>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return a.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},{}],3:[function(t,e,r){(function(t,n,i){!function(t){if("object"==typeof r&&void 0!==e)e.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var i;"undefined"!=typeof window?i=window:void 0!==n?i=n:"undefined"!=typeof self&&(i=self),i.Promise=t()}}(function(){var e,r,o;return function t(e,r,n){function i(a,s){if(!r[a]){if(!e[a]){var u="function"==typeof _dereq_&&_dereq_;if(!s&&u)return u(a,!0);if(o)return o(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var c=r[a]={exports:{}};e[a][0].call(c.exports,function(t){var r=e[a][1][t];return i(r||t)},c,c.exports,t,e,r,n)}return r[a].exports}for(var o="function"==typeof _dereq_&&_dereq_,a=0;a<n.length;a++)i(n[a]);return i}({1:[function(t,e,r){"use strict";e.exports=function(t){var e=t._SomePromiseArray;function r(t){var r=new e(t),n=r.promise();return r.setHowMany(1),r.setUnwrap(),r.init(),n}t.any=function(t){return r(t)},t.prototype.any=function(){return r(this)}}},{}],2:[function(e,r,n){"use strict";var i;try{throw new Error}catch(t){i=t}var o=e("./schedule"),a=e("./queue"),s=e("./util");function u(){this._customScheduler=!1,this._isTickUsed=!1,this._lateQueue=new a(16),this._normalQueue=new a(16),this._haveDrainedQueues=!1,this._trampolineEnabled=!0;var t=this;this.drainQueues=function(){t._drainQueues()},this._schedule=o}function l(t,e,r){this._lateQueue.push(t,e,r),this._queueTick()}function c(t,e,r){this._normalQueue.push(t,e,r),this._queueTick()}function h(t){this._normalQueue._pushOne(t),this._queueTick()}function p(t){for(;t.length()>0;)f(t)}function f(t){var e=t.shift();if("function"!=typeof e)e._settlePromises();else{var r=t.shift(),n=t.shift();e.call(r,n)}}u.prototype.setScheduler=function(t){var e=this._schedule;return this._schedule=t,this._customScheduler=!0,e},u.prototype.hasCustomScheduler=function(){return this._customScheduler},u.prototype.enableTrampoline=function(){this._trampolineEnabled=!0},u.prototype.disableTrampolineIfNecessary=function(){s.hasDevTools&&(this._trampolineEnabled=!1)},u.prototype.haveItemsQueued=function(){return this._isTickUsed||this._haveDrainedQueues},u.prototype.fatalError=function(e,r){r?(t.stderr.write("Fatal "+(e instanceof Error?e.stack:e)+"\n"),t.exit(2)):this.throwLater(e)},u.prototype.throwLater=function(t,e){if(1===arguments.length&&(e=t,t=function(){throw e}),"undefined"!=typeof setTimeout)setTimeout(function(){t(e)},0);else try{this._schedule(function(){t(e)})}catch(t){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")}},s.hasDevTools?(u.prototype.invokeLater=function(t,e,r){this._trampolineEnabled?l.call(this,t,e,r):this._schedule(function(){setTimeout(function(){t.call(e,r)},100)})},u.prototype.invoke=function(t,e,r){this._trampolineEnabled?c.call(this,t,e,r):this._schedule(function(){t.call(e,r)})},u.prototype.settlePromises=function(t){this._trampolineEnabled?h.call(this,t):this._schedule(function(){t._settlePromises()})}):(u.prototype.invokeLater=l,u.prototype.invoke=c,u.prototype.settlePromises=h),u.prototype._drainQueues=function(){p(this._normalQueue),this._reset(),this._haveDrainedQueues=!0,p(this._lateQueue)},u.prototype._queueTick=function(){this._isTickUsed||(this._isTickUsed=!0,this._schedule(this.drainQueues))},u.prototype._reset=function(){this._isTickUsed=!1},r.exports=u,r.exports.firstLineError=i},{"./queue":26,"./schedule":29,"./util":36}],3:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var i=!1,o=function(t,e){this._reject(e)},a=function(t,e){e.promiseRejectionQueued=!0,e.bindingPromise._then(o,o,null,this,t)},s=function(t,e){0==(50397184&this._bitField)&&this._resolveCallback(e.target)},u=function(t,e){e.promiseRejectionQueued||this._reject(t)};t.prototype.bind=function(o){i||(i=!0,t.prototype._propagateFrom=n.propagateFromFunction(),t.prototype._boundValue=n.boundValueFunction());var l=r(o),c=new t(e);c._propagateFrom(this,1);var h=this._target();if(c._setBoundTo(l),l instanceof t){var p={promiseRejectionQueued:!1,promise:c,target:h,bindingPromise:l};h._then(e,a,void 0,c,p),l._then(s,u,void 0,c,p),c._setOnCancel(l)}else c._resolveCallback(h);return c},t.prototype._setBoundTo=function(t){void 0!==t?(this._bitField=2097152|this._bitField,this._boundTo=t):this._bitField=-2097153&this._bitField},t.prototype._isBound=function(){return 2097152==(2097152&this._bitField)},t.bind=function(e,r){return t.resolve(r).bind(e)}}},{}],4:[function(t,e,r){"use strict";var n;"undefined"!=typeof Promise&&(n=Promise);var i=t("./promise")();i.noConflict=function(){try{Promise===i&&(Promise=n)}catch(t){}return i},e.exports=i},{"./promise":22}],5:[function(t,e,r){"use strict";var n=Object.create;if(n){var i=n(null),o=n(null);i[" size"]=o[" size"]=0}e.exports=function(e){var r,n=t("./util"),i=n.canEvaluate;n.isIdentifier;function o(t,r){var i;if(null!=t&&(i=t[r]),"function"!=typeof i){var o="Object "+n.classString(t)+" has no method '"+n.toString(r)+"'";throw new e.TypeError(o)}return i}function a(t){return o(t,this.pop()).apply(t,this)}function s(t){return t[this]}function u(t){var e=+this;return e<0&&(e=Math.max(0,e+t.length)),t[e]}e.prototype.call=function(t){var e=[].slice.call(arguments,1);return e.push(t),this._then(a,void 0,void 0,e,void 0)},e.prototype.get=function(t){var e;if("number"==typeof t)e=u;else if(i){var n=r(t);e=null!==n?n:s}else e=s;return this._then(e,void 0,void 0,t,void 0)}}},{"./util":36}],6:[function(t,e,r){"use strict";e.exports=function(e,r,n,i){var o=t("./util"),a=o.tryCatch,s=o.errorObj,u=e._async;e.prototype.break=e.prototype.cancel=function(){if(!i.cancellation())return this._warn("cancellation is disabled");for(var t=this,e=t;t._isCancellable();){if(!t._cancelBy(e)){e._isFollowing()?e._followee().cancel():e._cancelBranched();break}var r=t._cancellationParent;if(null==r||!r._isCancellable()){t._isFollowing()?t._followee().cancel():t._cancelBranched();break}t._isFollowing()&&t._followee().cancel(),t._setWillBeCancelled(),e=t,t=r}},e.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--},e.prototype._enoughBranchesHaveCancelled=function(){return void 0===this._branchesRemainingToCancel||this._branchesRemainingToCancel<=0},e.prototype._cancelBy=function(t){return t===this?(this._branchesRemainingToCancel=0,this._invokeOnCancel(),!0):(this._branchHasCancelled(),!!this._enoughBranchesHaveCancelled()&&(this._invokeOnCancel(),!0))},e.prototype._cancelBranched=function(){this._enoughBranchesHaveCancelled()&&this._cancel()},e.prototype._cancel=function(){this._isCancellable()&&(this._setCancelled(),u.invoke(this._cancelPromises,this,void 0))},e.prototype._cancelPromises=function(){this._length()>0&&this._settlePromises()},e.prototype._unsetOnCancel=function(){this._onCancelField=void 0},e.prototype._isCancellable=function(){return this.isPending()&&!this._isCancelled()},e.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()},e.prototype._doInvokeOnCancel=function(t,e){if(o.isArray(t))for(var r=0;r<t.length;++r)this._doInvokeOnCancel(t[r],e);else if(void 0!==t)if("function"==typeof t){if(!e){var n=a(t).call(this._boundValue());n===s&&(this._attachExtraTrace(n.e),u.throwLater(n.e))}}else t._resultCancelled(this)},e.prototype._invokeOnCancel=function(){var t=this._onCancel();this._unsetOnCancel(),u.invoke(this._doInvokeOnCancel,this,t)},e.prototype._invokeInternalOnCancel=function(){this._isCancellable()&&(this._doInvokeOnCancel(this._onCancel(),!0),this._unsetOnCancel())},e.prototype._resultCancelled=function(){this.cancel()}}},{"./util":36}],7:[function(t,e,r){"use strict";e.exports=function(e){var r=t("./util"),n=t("./es5").keys,i=r.tryCatch,o=r.errorObj;return function(t,a,s){return function(u){var l=s._boundValue();t:for(var c=0;c<t.length;++c){var h=t[c];if(h===Error||null!=h&&h.prototype instanceof Error){if(u instanceof h)return i(a).call(l,u)}else if("function"==typeof h){var p=i(h).call(l,u);if(p===o)return p;if(p)return i(a).call(l,u)}else if(r.isObject(u)){for(var f=n(h),d=0;d<f.length;++d){var m=f[d];if(h[m]!=u[m])continue t}return i(a).call(l,u)}}return e}}}},{"./es5":13,"./util":36}],8:[function(t,e,r){"use strict";e.exports=function(t){var e=!1,r=[];function n(){this._trace=new n.CapturedTrace(i())}function i(){var t=r.length-1;if(t>=0)return r[t]}return t.prototype._promiseCreated=function(){},t.prototype._pushContext=function(){},t.prototype._popContext=function(){return null},t._peekContext=t.prototype._peekContext=function(){},n.prototype._pushContext=function(){void 0!==this._trace&&(this._trace._promiseCreated=null,r.push(this._trace))},n.prototype._popContext=function(){if(void 0!==this._trace){var t=r.pop(),e=t._promiseCreated;return t._promiseCreated=null,e}return null},n.CapturedTrace=null,n.create=function(){if(e)return new n},n.deactivateLongStackTraces=function(){},n.activateLongStackTraces=function(){var r=t.prototype._pushContext,o=t.prototype._popContext,a=t._peekContext,s=t.prototype._peekContext,u=t.prototype._promiseCreated;n.deactivateLongStackTraces=function(){t.prototype._pushContext=r,t.prototype._popContext=o,t._peekContext=a,t.prototype._peekContext=s,t.prototype._promiseCreated=u,e=!1},e=!0,t.prototype._pushContext=n.prototype._pushContext,t.prototype._popContext=n.prototype._popContext,t._peekContext=t.prototype._peekContext=i,t.prototype._promiseCreated=function(){var t=this._peekContext();t&&null==t._promiseCreated&&(t._promiseCreated=this)}},n}},{}],9:[function(e,r,n){"use strict";r.exports=function(r,n){var i,o,a,s=r._getDomain,u=r._async,l=e("./errors").Warning,c=e("./util"),h=e("./es5"),p=c.canAttachTrace,f=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/,d=/\((?:timers\.js):\d+:\d+\)/,m=/[\/<\(](.+?):(\d+):(\d+)\)?\s*$/,g=null,v=null,_=!1,y=!(0==c.env("BLUEBIRD_DEBUG")),b=!(0==c.env("BLUEBIRD_WARNINGS")||!y&&!c.env("BLUEBIRD_WARNINGS")),x=!(0==c.env("BLUEBIRD_LONG_STACK_TRACES")||!y&&!c.env("BLUEBIRD_LONG_STACK_TRACES")),w=0!=c.env("BLUEBIRD_W_FORGOTTEN_RETURN")&&(b||!!c.env("BLUEBIRD_W_FORGOTTEN_RETURN"));r.prototype.suppressUnhandledRejections=function(){var t=this._target();t._bitField=-1048577&t._bitField|524288},r.prototype._ensurePossibleRejectionHandled=function(){if(0==(524288&this._bitField)){this._setRejectionIsUnhandled();var t=this;setTimeout(function(){t._notifyUnhandledRejection()},1)}},r.prototype._notifyUnhandledRejectionIsHandled=function(){X("rejectionHandled",i,void 0,this)},r.prototype._setReturnedNonUndefined=function(){this._bitField=268435456|this._bitField},r.prototype._returnedNonUndefined=function(){return 0!=(268435456&this._bitField)},r.prototype._notifyUnhandledRejection=function(){if(this._isRejectionUnhandled()){var t=this._settledValue();this._setUnhandledRejectionIsNotified(),X("unhandledRejection",o,t,this)}},r.prototype._setUnhandledRejectionIsNotified=function(){this._bitField=262144|this._bitField},r.prototype._unsetUnhandledRejectionIsNotified=function(){this._bitField=-262145&this._bitField},r.prototype._isUnhandledRejectionNotified=function(){return(262144&this._bitField)>0},r.prototype._setRejectionIsUnhandled=function(){this._bitField=1048576|this._bitField},r.prototype._unsetRejectionIsUnhandled=function(){this._bitField=-1048577&this._bitField,this._isUnhandledRejectionNotified()&&(this._unsetUnhandledRejectionIsNotified(),this._notifyUnhandledRejectionIsHandled())},r.prototype._isRejectionUnhandled=function(){return(1048576&this._bitField)>0},r.prototype._warn=function(t,e,r){return z(t,e,r||this)},r.onPossiblyUnhandledRejection=function(t){var e=s();o="function"==typeof t?null===e?t:c.domainBind(e,t):void 0},r.onUnhandledRejectionHandled=function(t){var e=s();i="function"==typeof t?null===e?t:c.domainBind(e,t):void 0};var k=function(){};r.longStackTraces=function(){if(u.haveItemsQueued()&&!Q.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");if(!Q.longStackTraces&&q()){var t=r.prototype._captureStackTrace,e=r.prototype._attachExtraTrace,i=r.prototype._dereferenceTrace;Q.longStackTraces=!0,k=function(){if(u.haveItemsQueued()&&!Q.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");r.prototype._captureStackTrace=t,r.prototype._attachExtraTrace=e,r.prototype._dereferenceTrace=i,n.deactivateLongStackTraces(),u.enableTrampoline(),Q.longStackTraces=!1},r.prototype._captureStackTrace=N,r.prototype._attachExtraTrace=j,r.prototype._dereferenceTrace=U,n.activateLongStackTraces(),u.disableTrampolineIfNecessary()}},r.hasLongStackTraces=function(){return Q.longStackTraces&&q()};var E=function(){try{if("function"==typeof CustomEvent){var t=new CustomEvent("CustomEvent");return c.global.dispatchEvent(t),function(t,e){var r={detail:e,cancelable:!0};h.defineProperty(r,"promise",{value:e.promise}),h.defineProperty(r,"reason",{value:e.reason});var n=new CustomEvent(t.toLowerCase(),r);return!c.global.dispatchEvent(n)}}if("function"==typeof Event){t=new Event("CustomEvent");return c.global.dispatchEvent(t),function(t,e){var r=new Event(t.toLowerCase(),{cancelable:!0});return r.detail=e,h.defineProperty(r,"promise",{value:e.promise}),h.defineProperty(r,"reason",{value:e.reason}),!c.global.dispatchEvent(r)}}return(t=document.createEvent("CustomEvent")).initCustomEvent("testingtheevent",!1,!0,{}),c.global.dispatchEvent(t),function(t,e){var r=document.createEvent("CustomEvent");return r.initCustomEvent(t.toLowerCase(),!1,!0,e),!c.global.dispatchEvent(r)}}catch(t){}return function(){return!1}}(),T=c.isNode?function(){return t.emit.apply(t,arguments)}:c.global?function(t){var e="on"+t.toLowerCase(),r=c.global[e];return!!r&&(r.apply(c.global,[].slice.call(arguments,1)),!0)}:function(){return!1};function S(t,e){return{promise:e}}var A={promiseCreated:S,promiseFulfilled:S,promiseRejected:S,promiseResolved:S,promiseCancelled:S,promiseChained:function(t,e,r){return{promise:e,child:r}},warning:function(t,e){return{warning:e}},unhandledRejection:function(t,e,r){return{reason:e,promise:r}},rejectionHandled:S},C=function(t){var e=!1;try{e=T.apply(null,arguments)}catch(t){u.throwLater(t),e=!0}var r=!1;try{r=E(t,A[t].apply(null,arguments))}catch(t){u.throwLater(t),r=!0}return r||e};function R(){return!1}function B(t,e,r){var n=this;try{t(e,r,function(t){if("function"!=typeof t)throw new TypeError("onCancel must be a function, got: "+c.toString(t));n._attachCancellationCallback(t)})}catch(t){return t}}function P(t){if(!this._isCancellable())return this;var e=this._onCancel();void 0!==e?c.isArray(e)?e.push(t):this._setOnCancel([e,t]):this._setOnCancel(t)}function I(){return this._onCancelField}function M(t){this._onCancelField=t}function D(){this._cancellationParent=void 0,this._onCancelField=void 0}function F(t,e){if(0!=(1&e)){this._cancellationParent=t;var r=t._branchesRemainingToCancel;void 0===r&&(r=0),t._branchesRemainingToCancel=r+1}0!=(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}r.config=function(t){if("longStackTraces"in(t=Object(t))&&(t.longStackTraces?r.longStackTraces():!t.longStackTraces&&r.hasLongStackTraces()&&k()),"warnings"in t){var e=t.warnings;Q.warnings=!!e,w=Q.warnings,c.isObject(e)&&"wForgottenReturn"in e&&(w=!!e.wForgottenReturn)}if("cancellation"in t&&t.cancellation&&!Q.cancellation){if(u.haveItemsQueued())throw new Error("cannot enable cancellation after promises are in use");r.prototype._clearCancellationData=D,r.prototype._propagateFrom=F,r.prototype._onCancel=I,r.prototype._setOnCancel=M,r.prototype._attachCancellationCallback=P,r.prototype._execute=B,L=F,Q.cancellation=!0}return"monitoring"in t&&(t.monitoring&&!Q.monitoring?(Q.monitoring=!0,r.prototype._fireEvent=C):!t.monitoring&&Q.monitoring&&(Q.monitoring=!1,r.prototype._fireEvent=R)),r},r.prototype._fireEvent=R,r.prototype._execute=function(t,e,r){try{t(e,r)}catch(t){return t}},r.prototype._onCancel=function(){},r.prototype._setOnCancel=function(t){},r.prototype._attachCancellationCallback=function(t){},r.prototype._captureStackTrace=function(){},r.prototype._attachExtraTrace=function(){},r.prototype._dereferenceTrace=function(){},r.prototype._clearCancellationData=function(){},r.prototype._propagateFrom=function(t,e){};var L=function(t,e){0!=(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)};function O(){var t=this._boundTo;return void 0!==t&&t instanceof r?t.isFulfilled()?t.value():void 0:t}function N(){this._trace=new Z(this._peekContext())}function j(t,e){if(p(t)){var r=this._trace;if(void 0!==r&&e&&(r=r._parent),void 0!==r)r.attachExtraTrace(t);else if(!t.__stackCleaned__){var n=$(t);c.notEnumerableProp(t,"stack",n.message+"\n"+n.stack.join("\n")),c.notEnumerableProp(t,"__stackCleaned__",!0)}}}function U(){this._trace=void 0}function z(t,e,n){if(Q.warnings){var i,o=new l(t);if(e)n._attachExtraTrace(o);else if(Q.longStackTraces&&(i=r._peekContext()))i.attachExtraTrace(o);else{var a=$(o);o.stack=a.message+"\n"+a.stack.join("\n")}C("warning",o)||V(o,"",!0)}}function G(t){for(var e=[],r=0;r<t.length;++r){var n=t[r],i=" (No stack trace)"===n||g.test(n),o=i&&K(n);i&&!o&&(_&&" "!==n.charAt(0)&&(n=" "+n),e.push(n))}return e}function $(t){var e=t.stack,r=t.toString();return e="string"==typeof e&&e.length>0?function(t){for(var e=t.stack.replace(/\s+$/g,"").split("\n"),r=0;r<e.length;++r){var n=e[r];if(" (No stack trace)"===n||g.test(n))break}return r>0&&"SyntaxError"!=t.name&&(e=e.slice(r)),e}(t):[" (No stack trace)"],{message:r,stack:"SyntaxError"==t.name?e:G(e)}}function V(t,e,r){if("undefined"!=typeof console){var n;if(c.isObject(t)){var i=t.stack;n=e+v(i,t)}else n=e+String(t);"function"==typeof a?a(n,r):"function"!=typeof console.log&&"object"!=typeof console.log||console.log(n)}}function X(t,e,r,n){var i=!1;try{"function"==typeof e&&(i=!0,"rejectionHandled"===t?e(n):e(r,n))}catch(t){u.throwLater(t)}"unhandledRejection"===t?C(t,r,n)||i||V(r,"Unhandled rejection "):C(t,n)}function W(t){var e;if("function"==typeof t)e="[function "+(t.name||"anonymous")+"]";else{e=t&&"function"==typeof t.toString?t.toString():c.toString(t);if(/\[object [a-zA-Z0-9$_]+\]/.test(e))try{e=JSON.stringify(t)}catch(t){}0===e.length&&(e="(empty array)")}return"(<"+function(t){if(t.length<41)return t;return t.substr(0,38)+"..."}(e)+">, no stack trace)"}function q(){return"function"==typeof J}var K=function(){return!1},H=/[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/;function Y(t){var e=t.match(H);if(e)return{fileName:e[1],line:parseInt(e[2],10)}}function Z(t){this._parent=t,this._promisesCreated=0;var e=this._length=1+(void 0===t?0:t._length);J(this,Z),e>32&&this.uncycle()}c.inherits(Z,Error),n.CapturedTrace=Z,Z.prototype.uncycle=function(){var t=this._length;if(!(t<2)){for(var e=[],r={},n=0,i=this;void 0!==i;++n)e.push(i),i=i._parent;for(n=(t=this._length=n)-1;n>=0;--n){var o=e[n].stack;void 0===r[o]&&(r[o]=n)}for(n=0;n<t;++n){var a=r[e[n].stack];if(void 0!==a&&a!==n){a>0&&(e[a-1]._parent=void 0,e[a-1]._length=1),e[n]._parent=void 0,e[n]._length=1;var s=n>0?e[n-1]:this;a<t-1?(s._parent=e[a+1],s._parent.uncycle(),s._length=s._parent._length+1):(s._parent=void 0,s._length=1);for(var u=s._length+1,l=n-2;l>=0;--l)e[l]._length=u,u++;return}}}},Z.prototype.attachExtraTrace=function(t){if(!t.__stackCleaned__){this.uncycle();for(var e=$(t),r=e.message,n=[e.stack],i=this;void 0!==i;)n.push(G(i.stack.split("\n"))),i=i._parent;!function(t){for(var e=t[0],r=1;r<t.length;++r){for(var n=t[r],i=e.length-1,o=e[i],a=-1,s=n.length-1;s>=0;--s)if(n[s]===o){a=s;break}for(s=a;s>=0;--s){var u=n[s];if(e[i]!==u)break;e.pop(),i--}e=n}}(n),function(t){for(var e=0;e<t.length;++e)(0===t[e].length||e+1<t.length&&t[e][0]===t[e+1][0])&&(t.splice(e,1),e--)}(n),c.notEnumerableProp(t,"stack",function(t,e){for(var r=0;r<e.length-1;++r)e[r].push("From previous event:"),e[r]=e[r].join("\n");return r<e.length&&(e[r]=e[r].join("\n")),t+"\n"+e.join("\n")}(r,n)),c.notEnumerableProp(t,"__stackCleaned__",!0)}};var J=function(){var t=/^\s*at\s*/,e=function(t,e){return"string"==typeof t?t:void 0!==e.name&&void 0!==e.message?e.toString():W(e)};if("number"==typeof Error.stackTraceLimit&&"function"==typeof Error.captureStackTrace){Error.stackTraceLimit+=6,g=t,v=e;var r=Error.captureStackTrace;return K=function(t){return f.test(t)},function(t,e){Error.stackTraceLimit+=6,r(t,e),Error.stackTraceLimit-=6}}var n,i=new Error;if("string"==typeof i.stack&&i.stack.split("\n")[0].indexOf("stackDetection@")>=0)return g=/@/,v=e,_=!0,function(t){t.stack=(new Error).stack};try{throw new Error}catch(t){n="stack"in t}return"stack"in i||!n||"number"!=typeof Error.stackTraceLimit?(v=function(t,e){return"string"==typeof t?t:"object"!=typeof e&&"function"!=typeof e||void 0===e.name||void 0===e.message?W(e):e.toString()},null):(g=t,v=e,function(t){Error.stackTraceLimit+=6;try{throw new Error}catch(e){t.stack=e.stack}Error.stackTraceLimit-=6})}();"undefined"!=typeof console&&void 0!==console.warn&&(a=function(t){console.warn(t)},c.isNode&&t.stderr.isTTY?a=function(t,e){var r=e?"[33m":"[31m";console.warn(r+t+"[0m\n")}:c.isNode||"string"!=typeof(new Error).stack||(a=function(t,e){console.warn("%c"+t,e?"color: darkorange":"color: red")}));var Q={warnings:b,longStackTraces:!1,cancellation:!1,monitoring:!1};return x&&r.longStackTraces(),{longStackTraces:function(){return Q.longStackTraces},warnings:function(){return Q.warnings},cancellation:function(){return Q.cancellation},monitoring:function(){return Q.monitoring},propagateFromFunction:function(){return L},boundValueFunction:function(){return O},checkForgottenReturns:function(t,e,r,n,i){if(void 0===t&&null!==e&&w){if(void 0!==i&&i._returnedNonUndefined())return;if(0==(65535&n._bitField))return;r&&(r+=" ");var o="",a="";if(e._trace){for(var s=e._trace.stack.split("\n"),u=G(s),l=u.length-1;l>=0;--l){var c=u[l];if(!d.test(c)){var h=c.match(m);h&&(o="at "+h[1]+":"+h[2]+":"+h[3]+" ");break}}if(u.length>0){var p=u[0];for(l=0;l<s.length;++l)if(s[l]===p){l>0&&(a="\n"+s[l-1]);break}}}var f="a promise was created in a "+r+"handler "+o+"but was not returned from it, see http://goo.gl/rRqMUw"+a;n._warn(f,!0,e)}},setBounds:function(t,e){if(q()){for(var r,n,i=t.stack.split("\n"),o=e.stack.split("\n"),a=-1,s=-1,u=0;u<i.length;++u)if(l=Y(i[u])){r=l.fileName,a=l.line;break}for(u=0;u<o.length;++u){var l;if(l=Y(o[u])){n=l.fileName,s=l.line;break}}a<0||s<0||!r||!n||r!==n||a>=s||(K=function(t){if(f.test(t))return!0;var e=Y(t);return!!(e&&e.fileName===r&&a<=e.line&&e.line<=s)})}},warn:z,deprecated:function(t,e){var r=t+" is deprecated and will be removed in a future version.";return e&&(r+=" Use "+e+" instead."),z(r)},CapturedTrace:Z,fireDomEvent:E,fireGlobalEvent:T}}},{"./errors":12,"./es5":13,"./util":36}],10:[function(t,e,r){"use strict";e.exports=function(t){function e(){return this.value}function r(){throw this.reason}t.prototype.return=t.prototype.thenReturn=function(r){return r instanceof t&&r.suppressUnhandledRejections(),this._then(e,void 0,void 0,{value:r},void 0)},t.prototype.throw=t.prototype.thenThrow=function(t){return this._then(r,void 0,void 0,{reason:t},void 0)},t.prototype.catchThrow=function(t){if(arguments.length<=1)return this._then(void 0,r,void 0,{reason:t},void 0);var e=arguments[1];return this.caught(t,function(){throw e})},t.prototype.catchReturn=function(r){if(arguments.length<=1)return r instanceof t&&r.suppressUnhandledRejections(),this._then(void 0,e,void 0,{value:r},void 0);var n=arguments[1];n instanceof t&&n.suppressUnhandledRejections();return this.caught(r,function(){return n})}}},{}],11:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.reduce,n=t.all;function i(){return n(this)}t.prototype.each=function(t){return r(this,t,e,0)._then(i,void 0,void 0,this,void 0)},t.prototype.mapSeries=function(t){return r(this,t,e,e)},t.each=function(t,n){return r(t,n,e,0)._then(i,void 0,void 0,t,void 0)},t.mapSeries=function(t,n){return r(t,n,e,e)}}},{}],12:[function(t,e,r){"use strict";var n,i,o=t("./es5"),a=o.freeze,s=t("./util"),u=s.inherits,l=s.notEnumerableProp;function c(t,e){function r(n){if(!(this instanceof r))return new r(n);l(this,"message","string"==typeof n?n:e),l(this,"name",t),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):Error.call(this)}return u(r,Error),r}var h=c("Warning","warning"),p=c("CancellationError","cancellation error"),f=c("TimeoutError","timeout error"),d=c("AggregateError","aggregate error");try{n=TypeError,i=RangeError}catch(t){n=c("TypeError","type error"),i=c("RangeError","range error")}for(var m="join pop push shift unshift slice filter forEach some every map indexOf lastIndexOf reduce reduceRight sort reverse".split(" "),g=0;g<m.length;++g)"function"==typeof Array.prototype[m[g]]&&(d.prototype[m[g]]=Array.prototype[m[g]]);o.defineProperty(d.prototype,"length",{value:0,configurable:!1,writable:!0,enumerable:!0}),d.prototype.isOperational=!0;var v=0;function _(t){if(!(this instanceof _))return new _(t);l(this,"name","OperationalError"),l(this,"message",t),this.cause=t,this.isOperational=!0,t instanceof Error?(l(this,"message",t.message),l(this,"stack",t.stack)):Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}d.prototype.toString=function(){var t=Array(4*v+1).join(" "),e="\n"+t+"AggregateError of:\n";v++,t=Array(4*v+1).join(" ");for(var r=0;r<this.length;++r){for(var n=this[r]===this?"[Circular AggregateError]":this[r]+"",i=n.split("\n"),o=0;o<i.length;++o)i[o]=t+i[o];e+=(n=i.join("\n"))+"\n"}return v--,e},u(_,Error);var y=Error.__BluebirdErrorTypes__;y||(y=a({CancellationError:p,TimeoutError:f,OperationalError:_,RejectionError:_,AggregateError:d}),o.defineProperty(Error,"__BluebirdErrorTypes__",{value:y,writable:!1,enumerable:!1,configurable:!1})),e.exports={Error:Error,TypeError:n,RangeError:i,CancellationError:y.CancellationError,OperationalError:y.OperationalError,TimeoutError:y.TimeoutError,AggregateError:y.AggregateError,Warning:h}},{"./es5":13,"./util":36}],13:[function(t,e,r){var n=function(){"use strict";return void 0===this}();if(n)e.exports={freeze:Object.freeze,defineProperty:Object.defineProperty,getDescriptor:Object.getOwnPropertyDescriptor,keys:Object.keys,names:Object.getOwnPropertyNames,getPrototypeOf:Object.getPrototypeOf,isArray:Array.isArray,isES5:n,propertyIsWritable:function(t,e){var r=Object.getOwnPropertyDescriptor(t,e);return!(r&&!r.writable&&!r.set)}};else{var i={}.hasOwnProperty,o={}.toString,a={}.constructor.prototype,s=function(t){var e=[];for(var r in t)i.call(t,r)&&e.push(r);return e};e.exports={isArray:function(t){try{return"[object Array]"===o.call(t)}catch(t){return!1}},keys:s,names:s,defineProperty:function(t,e,r){return t[e]=r.value,t},getDescriptor:function(t,e){return{value:t[e]}},freeze:function(t){return t},getPrototypeOf:function(t){try{return Object(t).constructor.prototype}catch(t){return a}},isES5:n,propertyIsWritable:function(){return!0}}}},{}],14:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.map;t.prototype.filter=function(t,n){return r(this,t,n,e)},t.filter=function(t,n,i){return r(t,n,i,e)}}},{}],15:[function(t,e,r){"use strict";e.exports=function(e,r,n){var i=t("./util"),o=e.CancellationError,a=i.errorObj,s=t("./catch_filter")(n);function u(t,e,r){this.promise=t,this.type=e,this.handler=r,this.called=!1,this.cancelPromise=null}function l(t){this.finallyHandler=t}function c(t,e){return null!=t.cancelPromise&&(arguments.length>1?t.cancelPromise._reject(e):t.cancelPromise._cancel(),t.cancelPromise=null,!0)}function h(){return f.call(this,this.promise._target()._settledValue())}function p(t){if(!c(this,t))return a.e=t,a}function f(t){var i=this.promise,s=this.handler;if(!this.called){this.called=!0;var u=this.isFinallyHandler()?s.call(i._boundValue()):s.call(i._boundValue(),t);if(u===n)return u;if(void 0!==u){i._setReturnedNonUndefined();var f=r(u,i);if(f instanceof e){if(null!=this.cancelPromise){if(f._isCancelled()){var d=new o("late cancellation observer");return i._attachExtraTrace(d),a.e=d,a}f.isPending()&&f._attachCancellationCallback(new l(this))}return f._then(h,p,void 0,this,void 0)}}}return i.isRejected()?(c(this),a.e=t,a):(c(this),t)}return u.prototype.isFinallyHandler=function(){return 0===this.type},l.prototype._resultCancelled=function(){c(this.finallyHandler)},e.prototype._passThrough=function(t,e,r,n){return"function"!=typeof t?this.then():this._then(r,n,void 0,new u(this,e,t),void 0)},e.prototype.lastly=e.prototype.finally=function(t){return this._passThrough(t,0,f,f)},e.prototype.tap=function(t){return this._passThrough(t,1,f)},e.prototype.tapCatch=function(t){var r=arguments.length;if(1===r)return this._passThrough(t,1,void 0,f);var n,o=new Array(r-1),a=0;for(n=0;n<r-1;++n){var u=arguments[n];if(!i.isObject(u))return e.reject(new TypeError("tapCatch statement predicate: expecting an object but got "+i.classString(u)));o[a++]=u}o.length=a;var l=arguments[n];return this._passThrough(s(o,l,this),1,void 0,f)},u}},{"./catch_filter":7,"./util":36}],16:[function(t,e,r){"use strict";e.exports=function(e,r,n,i,o,a){var s=t("./errors").TypeError,u=t("./util"),l=u.errorObj,c=u.tryCatch,h=[];function p(t,r,i,o){if(a.cancellation()){var s=new e(n),u=this._finallyPromise=new e(n);this._promise=s.lastly(function(){return u}),s._captureStackTrace(),s._setOnCancel(this)}else{(this._promise=new e(n))._captureStackTrace()}this._stack=o,this._generatorFunction=t,this._receiver=r,this._generator=void 0,this._yieldHandlers="function"==typeof i?[i].concat(h):h,this._yieldedPromise=null,this._cancellationPhase=!1}u.inherits(p,o),p.prototype._isResolved=function(){return null===this._promise},p.prototype._cleanup=function(){this._promise=this._generator=null,a.cancellation()&&null!==this._finallyPromise&&(this._finallyPromise._fulfill(),this._finallyPromise=null)},p.prototype._promiseCancelled=function(){if(!this._isResolved()){var t;if(void 0!==this._generator.return)this._promise._pushContext(),t=c(this._generator.return).call(this._generator,void 0),this._promise._popContext();else{var r=new e.CancellationError("generator .return() sentinel");e.coroutine.returnSentinel=r,this._promise._attachExtraTrace(r),this._promise._pushContext(),t=c(this._generator.throw).call(this._generator,r),this._promise._popContext()}this._cancellationPhase=!0,this._yieldedPromise=null,this._continue(t)}},p.prototype._promiseFulfilled=function(t){this._yieldedPromise=null,this._promise._pushContext();var e=c(this._generator.next).call(this._generator,t);this._promise._popContext(),this._continue(e)},p.prototype._promiseRejected=function(t){this._yieldedPromise=null,this._promise._attachExtraTrace(t),this._promise._pushContext();var e=c(this._generator.throw).call(this._generator,t);this._promise._popContext(),this._continue(e)},p.prototype._resultCancelled=function(){if(this._yieldedPromise instanceof e){var t=this._yieldedPromise;this._yieldedPromise=null,t.cancel()}},p.prototype.promise=function(){return this._promise},p.prototype._run=function(){this._generator=this._generatorFunction.call(this._receiver),this._receiver=this._generatorFunction=void 0,this._promiseFulfilled(void 0)},p.prototype._continue=function(t){var r=this._promise;if(t===l)return this._cleanup(),this._cancellationPhase?r.cancel():r._rejectCallback(t.e,!1);var n=t.value;if(!0===t.done)return this._cleanup(),this._cancellationPhase?r.cancel():r._resolveCallback(n);var o=i(n,this._promise);if(o instanceof e||null!==(o=function(t,r,n){for(var o=0;o<r.length;++o){n._pushContext();var a=c(r[o])(t);if(n._popContext(),a===l){n._pushContext();var s=e.reject(l.e);return n._popContext(),s}var u=i(a,n);if(u instanceof e)return u}return null}(o,this._yieldHandlers,this._promise))){var a=(o=o._target())._bitField;0==(50397184&a)?(this._yieldedPromise=o,o._proxy(this,null)):0!=(33554432&a)?e._async.invoke(this._promiseFulfilled,this,o._value()):0!=(16777216&a)?e._async.invoke(this._promiseRejected,this,o._reason()):this._promiseCancelled()}else this._promiseRejected(new s("A value %s was yielded that could not be treated as a promise\n\n See http://goo.gl/MqrFmX\n\n".replace("%s",String(n))+"From coroutine:\n"+this._stack.split("\n").slice(1,-7).join("\n")))},e.coroutine=function(t,e){if("function"!=typeof t)throw new s("generatorFunction must be a function\n\n See http://goo.gl/MqrFmX\n");var r=Object(e).yieldHandler,n=p,i=(new Error).stack;return function(){var e=t.apply(this,arguments),o=new n(void 0,void 0,r,i),a=o.promise();return o._generator=e,o._promiseFulfilled(void 0),a}},e.coroutine.addYieldHandler=function(t){if("function"!=typeof t)throw new s("expecting a function but got "+u.classString(t));h.push(t)},e.spawn=function(t){if(a.deprecated("Promise.spawn()","Promise.coroutine()"),"function"!=typeof t)return r("generatorFunction must be a function\n\n See http://goo.gl/MqrFmX\n");var n=new p(t,this),i=n.promise();return n._run(e.spawn),i}}},{"./errors":12,"./util":36}],17:[function(t,e,r){"use strict";e.exports=function(e,r,n,i,o,a){var s=t("./util");s.canEvaluate,s.tryCatch,s.errorObj;e.join=function(){var t,e=arguments.length-1;e>0&&"function"==typeof arguments[e]&&(t=arguments[e]);var n=[].slice.call(arguments);t&&n.pop();var i=new r(n).promise();return void 0!==t?i.spread(t):i}}},{"./util":36}],18:[function(t,e,r){"use strict";e.exports=function(e,r,n,i,o,a){var s=e._getDomain,u=t("./util"),l=u.tryCatch,c=u.errorObj,h=e._async;function p(t,e,r,n){this.constructor$(t),this._promise._captureStackTrace();var i=s();this._callback=null===i?e:u.domainBind(i,e),this._preservedValues=n===o?new Array(this.length()):null,this._limit=r,this._inFlight=0,this._queue=[],h.invoke(this._asyncInit,this,void 0)}function f(t,r,i,o){if("function"!=typeof r)return n("expecting a function but got "+u.classString(r));var a=0;if(void 0!==i){if("object"!=typeof i||null===i)return e.reject(new TypeError("options argument must be an object but it is "+u.classString(i)));if("number"!=typeof i.concurrency)return e.reject(new TypeError("'concurrency' must be a number but it is "+u.classString(i.concurrency)));a=i.concurrency}return new p(t,r,a="number"==typeof a&&isFinite(a)&&a>=1?a:0,o).promise()}u.inherits(p,r),p.prototype._asyncInit=function(){this._init$(void 0,-2)},p.prototype._init=function(){},p.prototype._promiseFulfilled=function(t,r){var n=this._values,o=this.length(),s=this._preservedValues,u=this._limit;if(r<0){if(n[r=-1*r-1]=t,u>=1&&(this._inFlight--,this._drainQueue(),this._isResolved()))return!0}else{if(u>=1&&this._inFlight>=u)return n[r]=t,this._queue.push(r),!1;null!==s&&(s[r]=t);var h=this._promise,p=this._callback,f=h._boundValue();h._pushContext();var d=l(p).call(f,t,r,o),m=h._popContext();if(a.checkForgottenReturns(d,m,null!==s?"Promise.filter":"Promise.map",h),d===c)return this._reject(d.e),!0;var g=i(d,this._promise);if(g instanceof e){var v=(g=g._target())._bitField;if(0==(50397184&v))return u>=1&&this._inFlight++,n[r]=g,g._proxy(this,-1*(r+1)),!1;if(0==(33554432&v))return 0!=(16777216&v)?(this._reject(g._reason()),!0):(this._cancel(),!0);d=g._value()}n[r]=d}return++this._totalResolved>=o&&(null!==s?this._filter(n,s):this._resolve(n),!0)},p.prototype._drainQueue=function(){for(var t=this._queue,e=this._limit,r=this._values;t.length>0&&this._inFlight<e;){if(this._isResolved())return;var n=t.pop();this._promiseFulfilled(r[n],n)}},p.prototype._filter=function(t,e){for(var r=e.length,n=new Array(r),i=0,o=0;o<r;++o)t[o]&&(n[i++]=e[o]);n.length=i,this._resolve(n)},p.prototype.preservedValues=function(){return this._preservedValues},e.prototype.map=function(t,e){return f(this,t,e,null)},e.map=function(t,e,r,n){return f(t,e,r,n)}}},{"./util":36}],19:[function(t,e,r){"use strict";e.exports=function(e,r,n,i,o){var a=t("./util"),s=a.tryCatch;e.method=function(t){if("function"!=typeof t)throw new e.TypeError("expecting a function but got "+a.classString(t));return function(){var n=new e(r);n._captureStackTrace(),n._pushContext();var i=s(t).apply(this,arguments),a=n._popContext();return o.checkForgottenReturns(i,a,"Promise.method",n),n._resolveFromSyncValue(i),n}},e.attempt=e.try=function(t){if("function"!=typeof t)return i("expecting a function but got "+a.classString(t));var n,u=new e(r);if(u._captureStackTrace(),u._pushContext(),arguments.length>1){o.deprecated("calling Promise.try with more than 1 argument");var l=arguments[1],c=arguments[2];n=a.isArray(l)?s(t).apply(c,l):s(t).call(c,l)}else n=s(t)();var h=u._popContext();return o.checkForgottenReturns(n,h,"Promise.try",u),u._resolveFromSyncValue(n),u},e.prototype._resolveFromSyncValue=function(t){t===a.errorObj?this._rejectCallback(t.e,!1):this._resolveCallback(t,!0)}}},{"./util":36}],20:[function(t,e,r){"use strict";var n=t("./util"),i=n.maybeWrapAsError,o=t("./errors").OperationalError,a=t("./es5");var s=/^(?:name|message|stack|cause)$/;function u(t){var e;if(function(t){return t instanceof Error&&a.getPrototypeOf(t)===Error.prototype}(t)){(e=new o(t)).name=t.name,e.message=t.message,e.stack=t.stack;for(var r=a.keys(t),i=0;i<r.length;++i){var u=r[i];s.test(u)||(e[u]=t[u])}return e}return n.markAsOriginatingFromRejection(t),t}e.exports=function(t,e){return function(r,n){if(null!==t){if(r){var o=u(i(r));t._attachExtraTrace(o),t._reject(o)}else if(e){var a=[].slice.call(arguments,1);t._fulfill(a)}else t._fulfill(n);t=null}}}},{"./errors":12,"./es5":13,"./util":36}],21:[function(t,e,r){"use strict";e.exports=function(e){var r=t("./util"),n=e._async,i=r.tryCatch,o=r.errorObj;function a(t,e){if(!r.isArray(t))return s.call(this,t,e);var a=i(e).apply(this._boundValue(),[null].concat(t));a===o&&n.throwLater(a.e)}function s(t,e){var r=this._boundValue(),a=void 0===t?i(e).call(r,null):i(e).call(r,null,t);a===o&&n.throwLater(a.e)}function u(t,e){if(!t){var r=new Error(t+"");r.cause=t,t=r}var a=i(e).call(this._boundValue(),t);a===o&&n.throwLater(a.e)}e.prototype.asCallback=e.prototype.nodeify=function(t,e){if("function"==typeof t){var r=s;void 0!==e&&Object(e).spread&&(r=a),this._then(r,u,void 0,this,t)}return this}}},{"./util":36}],22:[function(e,r,n){"use strict";r.exports=function(){var n=function(){return new d("circular promise resolution chain\n\n See http://goo.gl/MqrFmX\n")},i=function(){return new R.PromiseInspection(this._target())},o=function(t){return R.reject(new d(t))};function a(){}var s,u={},l=e("./util");s=l.isNode?function(){var e=t.domain;return void 0===e&&(e=null),e}:function(){return null},l.notEnumerableProp(R,"_getDomain",s);var c=e("./es5"),h=e("./async"),p=new h;c.defineProperty(R,"_async",{value:p});var f=e("./errors"),d=R.TypeError=f.TypeError;R.RangeError=f.RangeError;var m=R.CancellationError=f.CancellationError;R.TimeoutError=f.TimeoutError,R.OperationalError=f.OperationalError,R.RejectionError=f.OperationalError,R.AggregateError=f.AggregateError;var g=function(){},v={},_={},y=e("./thenables")(R,g),b=e("./promise_array")(R,g,y,o,a),x=e("./context")(R),w=x.create,k=e("./debuggability")(R,x),E=(k.CapturedTrace,e("./finally")(R,y,_)),T=e("./catch_filter")(_),S=e("./nodeback"),A=l.errorObj,C=l.tryCatch;function R(t){t!==g&&function(t,e){if(null==t||t.constructor!==R)throw new d("the promise constructor cannot be invoked directly\n\n See http://goo.gl/MqrFmX\n");if("function"!=typeof e)throw new d("expecting a function but got "+l.classString(e))}(this,t),this._bitField=0,this._fulfillmentHandler0=void 0,this._rejectionHandler0=void 0,this._promise0=void 0,this._receiver0=void 0,this._resolveFromExecutor(t),this._promiseCreated(),this._fireEvent("promiseCreated",this)}function B(t){this.promise._resolveCallback(t)}function P(t){this.promise._rejectCallback(t,!1)}function I(t){var e=new R(g);e._fulfillmentHandler0=t,e._rejectionHandler0=t,e._promise0=t,e._receiver0=t}return R.prototype.toString=function(){return"[object Promise]"},R.prototype.caught=R.prototype.catch=function(t){var e=arguments.length;if(e>1){var r,n=new Array(e-1),i=0;for(r=0;r<e-1;++r){var a=arguments[r];if(!l.isObject(a))return o("Catch statement predicate: expecting an object but got "+l.classString(a));n[i++]=a}return n.length=i,t=arguments[r],this.then(void 0,T(n,t,this))}return this.then(void 0,t)},R.prototype.reflect=function(){return this._then(i,i,void 0,this,void 0)},R.prototype.then=function(t,e){if(k.warnings()&&arguments.length>0&&"function"!=typeof t&&"function"!=typeof e){var r=".then() only accepts functions but was passed: "+l.classString(t);arguments.length>1&&(r+=", "+l.classString(e)),this._warn(r)}return this._then(t,e,void 0,void 0,void 0)},R.prototype.done=function(t,e){this._then(t,e,void 0,void 0,void 0)._setIsFinal()},R.prototype.spread=function(t){return"function"!=typeof t?o("expecting a function but got "+l.classString(t)):this.all()._then(t,void 0,void 0,v,void 0)},R.prototype.toJSON=function(){var t={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(t.fulfillmentValue=this.value(),t.isFulfilled=!0):this.isRejected()&&(t.rejectionReason=this.reason(),t.isRejected=!0),t},R.prototype.all=function(){return arguments.length>0&&this._warn(".all() was passed arguments but it does not take any"),new b(this).promise()},R.prototype.error=function(t){return this.caught(l.originatesFromRejection,t)},R.getNewLibraryCopy=r.exports,R.is=function(t){return t instanceof R},R.fromNode=R.fromCallback=function(t){var e=new R(g);e._captureStackTrace();var r=arguments.length>1&&!!Object(arguments[1]).multiArgs,n=C(t)(S(e,r));return n===A&&e._rejectCallback(n.e,!0),e._isFateSealed()||e._setAsyncGuaranteed(),e},R.all=function(t){return new b(t).promise()},R.cast=function(t){var e=y(t);return e instanceof R||((e=new R(g))._captureStackTrace(),e._setFulfilled(),e._rejectionHandler0=t),e},R.resolve=R.fulfilled=R.cast,R.reject=R.rejected=function(t){var e=new R(g);return e._captureStackTrace(),e._rejectCallback(t,!0),e},R.setScheduler=function(t){if("function"!=typeof t)throw new d("expecting a function but got "+l.classString(t));return p.setScheduler(t)},R.prototype._then=function(t,e,r,n,i){var o=void 0!==i,a=o?i:new R(g),u=this._target(),c=u._bitField;o||(a._propagateFrom(this,3),a._captureStackTrace(),void 0===n&&0!=(2097152&this._bitField)&&(n=0!=(50397184&c)?this._boundValue():u===this?void 0:this._boundTo),this._fireEvent("promiseChained",this,a));var h=s();if(0!=(50397184&c)){var f,d,v=u._settlePromiseCtx;0!=(33554432&c)?(d=u._rejectionHandler0,f=t):0!=(16777216&c)?(d=u._fulfillmentHandler0,f=e,u._unsetRejectionIsUnhandled()):(v=u._settlePromiseLateCancellationObserver,d=new m("late cancellation observer"),u._attachExtraTrace(d),f=e),p.invoke(v,u,{handler:null===h?f:"function"==typeof f&&l.domainBind(h,f),promise:a,receiver:n,value:d})}else u._addCallbacks(t,e,a,n,h);return a},R.prototype._length=function(){return 65535&this._bitField},R.prototype._isFateSealed=function(){return 0!=(117506048&this._bitField)},R.prototype._isFollowing=function(){return 67108864==(67108864&this._bitField)},R.prototype._setLength=function(t){this._bitField=-65536&this._bitField|65535&t},R.prototype._setFulfilled=function(){this._bitField=33554432|this._bitField,this._fireEvent("promiseFulfilled",this)},R.prototype._setRejected=function(){this._bitField=16777216|this._bitField,this._fireEvent("promiseRejected",this)},R.prototype._setFollowing=function(){this._bitField=67108864|this._bitField,this._fireEvent("promiseResolved",this)},R.prototype._setIsFinal=function(){this._bitField=4194304|this._bitField},R.prototype._isFinal=function(){return(4194304&this._bitField)>0},R.prototype._unsetCancelled=function(){this._bitField=-65537&this._bitField},R.prototype._setCancelled=function(){this._bitField=65536|this._bitField,this._fireEvent("promiseCancelled",this)},R.prototype._setWillBeCancelled=function(){this._bitField=8388608|this._bitField},R.prototype._setAsyncGuaranteed=function(){p.hasCustomScheduler()||(this._bitField=134217728|this._bitField)},R.prototype._receiverAt=function(t){var e=0===t?this._receiver0:this[4*t-4+3];if(e!==u)return void 0===e&&this._isBound()?this._boundValue():e},R.prototype._promiseAt=function(t){return this[4*t-4+2]},R.prototype._fulfillmentHandlerAt=function(t){return this[4*t-4+0]},R.prototype._rejectionHandlerAt=function(t){return this[4*t-4+1]},R.prototype._boundValue=function(){},R.prototype._migrateCallback0=function(t){t._bitField;var e=t._fulfillmentHandler0,r=t._rejectionHandler0,n=t._promise0,i=t._receiverAt(0);void 0===i&&(i=u),this._addCallbacks(e,r,n,i,null)},R.prototype._migrateCallbackAt=function(t,e){var r=t._fulfillmentHandlerAt(e),n=t._rejectionHandlerAt(e),i=t._promiseAt(e),o=t._receiverAt(e);void 0===o&&(o=u),this._addCallbacks(r,n,i,o,null)},R.prototype._addCallbacks=function(t,e,r,n,i){var o=this._length();if(o>=65531&&(o=0,this._setLength(0)),0===o)this._promise0=r,this._receiver0=n,"function"==typeof t&&(this._fulfillmentHandler0=null===i?t:l.domainBind(i,t)),"function"==typeof e&&(this._rejectionHandler0=null===i?e:l.domainBind(i,e));else{var a=4*o-4;this[a+2]=r,this[a+3]=n,"function"==typeof t&&(this[a+0]=null===i?t:l.domainBind(i,t)),"function"==typeof e&&(this[a+1]=null===i?e:l.domainBind(i,e))}return this._setLength(o+1),o},R.prototype._proxy=function(t,e){this._addCallbacks(void 0,void 0,e,t,null)},R.prototype._resolveCallback=function(t,e){if(0==(117506048&this._bitField)){if(t===this)return this._rejectCallback(n(),!1);var r=y(t,this);if(!(r instanceof R))return this._fulfill(t);e&&this._propagateFrom(r,2);var i=r._target();if(i!==this){var o=i._bitField;if(0==(50397184&o)){var a=this._length();a>0&&i._migrateCallback0(this);for(var s=1;s<a;++s)i._migrateCallbackAt(this,s);this._setFollowing(),this._setLength(0),this._setFollowee(i)}else if(0!=(33554432&o))this._fulfill(i._value());else if(0!=(16777216&o))this._reject(i._reason());else{var u=new m("late cancellation observer");i._attachExtraTrace(u),this._reject(u)}}else this._reject(n())}},R.prototype._rejectCallback=function(t,e,r){var n=l.ensureErrorObject(t),i=n===t;if(!i&&!r&&k.warnings()){var o="a promise was rejected with a non-error: "+l.classString(t);this._warn(o,!0)}this._attachExtraTrace(n,!!e&&i),this._reject(t)},R.prototype._resolveFromExecutor=function(t){if(t!==g){var e=this;this._captureStackTrace(),this._pushContext();var r=!0,n=this._execute(t,function(t){e._resolveCallback(t)},function(t){e._rejectCallback(t,r)});r=!1,this._popContext(),void 0!==n&&e._rejectCallback(n,!0)}},R.prototype._settlePromiseFromHandler=function(t,e,r,n){var i=n._bitField;if(0==(65536&i)){var o;n._pushContext(),e===v?r&&"number"==typeof r.length?o=C(t).apply(this._boundValue(),r):(o=A).e=new d("cannot .spread() a non-array: "+l.classString(r)):o=C(t).call(e,r);var a=n._popContext();0==(65536&(i=n._bitField))&&(o===_?n._reject(r):o===A?n._rejectCallback(o.e,!1):(k.checkForgottenReturns(o,a,"",n,this),n._resolveCallback(o)))}},R.prototype._target=function(){for(var t=this;t._isFollowing();)t=t._followee();return t},R.prototype._followee=function(){return this._rejectionHandler0},R.prototype._setFollowee=function(t){this._rejectionHandler0=t},R.prototype._settlePromise=function(t,e,r,n){var o=t instanceof R,s=this._bitField,u=0!=(134217728&s);0!=(65536&s)?(o&&t._invokeInternalOnCancel(),r instanceof E&&r.isFinallyHandler()?(r.cancelPromise=t,C(e).call(r,n)===A&&t._reject(A.e)):e===i?t._fulfill(i.call(r)):r instanceof a?r._promiseCancelled(t):o||t instanceof b?t._cancel():r.cancel()):"function"==typeof e?o?(u&&t._setAsyncGuaranteed(),this._settlePromiseFromHandler(e,r,n,t)):e.call(r,n,t):r instanceof a?r._isResolved()||(0!=(33554432&s)?r._promiseFulfilled(n,t):r._promiseRejected(n,t)):o&&(u&&t._setAsyncGuaranteed(),0!=(33554432&s)?t._fulfill(n):t._reject(n))},R.prototype._settlePromiseLateCancellationObserver=function(t){var e=t.handler,r=t.promise,n=t.receiver,i=t.value;"function"==typeof e?r instanceof R?this._settlePromiseFromHandler(e,n,i,r):e.call(n,i,r):r instanceof R&&r._reject(i)},R.prototype._settlePromiseCtx=function(t){this._settlePromise(t.promise,t.handler,t.receiver,t.value)},R.prototype._settlePromise0=function(t,e,r){var n=this._promise0,i=this._receiverAt(0);this._promise0=void 0,this._receiver0=void 0,this._settlePromise(n,t,i,e)},R.prototype._clearCallbackDataAtIndex=function(t){var e=4*t-4;this[e+2]=this[e+3]=this[e+0]=this[e+1]=void 0},R.prototype._fulfill=function(t){var e=this._bitField;if(!((117506048&e)>>>16)){if(t===this){var r=n();return this._attachExtraTrace(r),this._reject(r)}this._setFulfilled(),this._rejectionHandler0=t,(65535&e)>0&&(0!=(134217728&e)?this._settlePromises():p.settlePromises(this),this._dereferenceTrace())}},R.prototype._reject=function(t){var e=this._bitField;if(!((117506048&e)>>>16)){if(this._setRejected(),this._fulfillmentHandler0=t,this._isFinal())return p.fatalError(t,l.isNode);(65535&e)>0?p.settlePromises(this):this._ensurePossibleRejectionHandled()}},R.prototype._fulfillPromises=function(t,e){for(var r=1;r<t;r++){var n=this._fulfillmentHandlerAt(r),i=this._promiseAt(r),o=this._receiverAt(r);this._clearCallbackDataAtIndex(r),this._settlePromise(i,n,o,e)}},R.prototype._rejectPromises=function(t,e){for(var r=1;r<t;r++){var n=this._rejectionHandlerAt(r),i=this._promiseAt(r),o=this._receiverAt(r);this._clearCallbackDataAtIndex(r),this._settlePromise(i,n,o,e)}},R.prototype._settlePromises=function(){var t=this._bitField,e=65535&t;if(e>0){if(0!=(16842752&t)){var r=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,r,t),this._rejectPromises(e,r)}else{var n=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,n,t),this._fulfillPromises(e,n)}this._setLength(0)}this._clearCancellationData()},R.prototype._settledValue=function(){var t=this._bitField;return 0!=(33554432&t)?this._rejectionHandler0:0!=(16777216&t)?this._fulfillmentHandler0:void 0},R.defer=R.pending=function(){return k.deprecated("Promise.defer","new Promise"),{promise:new R(g),resolve:B,reject:P}},l.notEnumerableProp(R,"_makeSelfResolutionError",n),e("./method")(R,g,y,o,k),e("./bind")(R,g,y,k),e("./cancel")(R,b,o,k),e("./direct_resolve")(R),e("./synchronous_inspection")(R),e("./join")(R,b,y,g,p,s),R.Promise=R,R.version="3.5.3",e("./map.js")(R,b,o,y,g,k),e("./call_get.js")(R),e("./using.js")(R,o,y,w,g,k),e("./timers.js")(R,g,k),e("./generators.js")(R,o,g,y,a,k),e("./nodeify.js")(R),e("./promisify.js")(R,g),e("./props.js")(R,b,y,o),e("./race.js")(R,g,y,o),e("./reduce.js")(R,b,o,y,g,k),e("./settle.js")(R,b,k),e("./some.js")(R,b,o),e("./filter.js")(R,g),e("./each.js")(R,g),e("./any.js")(R),l.toFastProperties(R),l.toFastProperties(R.prototype),I({a:1}),I({b:2}),I({c:3}),I(1),I(function(){}),I(void 0),I(!1),I(new R(g)),k.setBounds(h.firstLineError,l.lastLineError),R}},{"./any.js":1,"./async":2,"./bind":3,"./call_get.js":5,"./cancel":6,"./catch_filter":7,"./context":8,"./debuggability":9,"./direct_resolve":10,"./each.js":11,"./errors":12,"./es5":13,"./filter.js":14,"./finally":15,"./generators.js":16,"./join":17,"./map.js":18,"./method":19,"./nodeback":20,"./nodeify.js":21,"./promise_array":23,"./promisify.js":24,"./props.js":25,"./race.js":27,"./reduce.js":28,"./settle.js":30,"./some.js":31,"./synchronous_inspection":32,"./thenables":33,"./timers.js":34,"./using.js":35,"./util":36}],23:[function(t,e,r){"use strict";e.exports=function(e,r,n,i,o){var a=t("./util");a.isArray;function s(t){var n=this._promise=new e(r);t instanceof e&&n._propagateFrom(t,3),n._setOnCancel(this),this._values=t,this._length=0,this._totalResolved=0,this._init(void 0,-2)}return a.inherits(s,o),s.prototype.length=function(){return this._length},s.prototype.promise=function(){return this._promise},s.prototype._init=function t(r,o){var s=n(this._values,this._promise);if(s instanceof e){var u=(s=s._target())._bitField;if(this._values=s,0==(50397184&u))return this._promise._setAsyncGuaranteed(),s._then(t,this._reject,void 0,this,o);if(0==(33554432&u))return 0!=(16777216&u)?this._reject(s._reason()):this._cancel();s=s._value()}if(null!==(s=a.asArray(s)))0!==s.length?this._iterate(s):-5===o?this._resolveEmptyArray():this._resolve(function(t){switch(t){case-2:return[];case-3:return{};case-6:return new Map}}(o));else{var l=i("expecting an array or an iterable object but got "+a.classString(s)).reason();this._promise._rejectCallback(l,!1)}},s.prototype._iterate=function(t){var r=this.getActualLength(t.length);this._length=r,this._values=this.shouldCopyValues()?new Array(r):this._values;for(var i=this._promise,o=!1,a=null,s=0;s<r;++s){var u=n(t[s],i);a=u instanceof e?(u=u._target())._bitField:null,o?null!==a&&u.suppressUnhandledRejections():null!==a?0==(50397184&a)?(u._proxy(this,s),this._values[s]=u):o=0!=(33554432&a)?this._promiseFulfilled(u._value(),s):0!=(16777216&a)?this._promiseRejected(u._reason(),s):this._promiseCancelled(s):o=this._promiseFulfilled(u,s)}o||i._setAsyncGuaranteed()},s.prototype._isResolved=function(){return null===this._values},s.prototype._resolve=function(t){this._values=null,this._promise._fulfill(t)},s.prototype._cancel=function(){!this._isResolved()&&this._promise._isCancellable()&&(this._values=null,this._promise._cancel())},s.prototype._reject=function(t){this._values=null,this._promise._rejectCallback(t,!1)},s.prototype._promiseFulfilled=function(t,e){return this._values[e]=t,++this._totalResolved>=this._length&&(this._resolve(this._values),!0)},s.prototype._promiseCancelled=function(){return this._cancel(),!0},s.prototype._promiseRejected=function(t){return this._totalResolved++,this._reject(t),!0},s.prototype._resultCancelled=function(){if(!this._isResolved()){var t=this._values;if(this._cancel(),t instanceof e)t.cancel();else for(var r=0;r<t.length;++r)t[r]instanceof e&&t[r].cancel()}},s.prototype.shouldCopyValues=function(){return!0},s.prototype.getActualLength=function(t){return t},s}},{"./util":36}],24:[function(t,e,r){"use strict";e.exports=function(e,r){var n={},i=t("./util"),o=t("./nodeback"),a=i.withAppended,s=i.maybeWrapAsError,u=i.canEvaluate,l=t("./errors").TypeError,c={__isPromisified__:!0},h=new RegExp("^(?:"+["arity","length","name","arguments","caller","callee","prototype","__isPromisified__"].join("|")+")$"),p=function(t){return i.isIdentifier(t)&&"_"!==t.charAt(0)&&"constructor"!==t};function f(t){return!h.test(t)}function d(t){try{return!0===t.__isPromisified__}catch(t){return!1}}function m(t,e,r){var n=i.getDataPropertyOrDefault(t,e+r,c);return!!n&&d(n)}function g(t,e,r,n){for(var o=i.inheritedDataKeys(t),a=[],s=0;s<o.length;++s){var u=o[s],c=t[u],h=n===p||p(u,c,t);"function"!=typeof c||d(c)||m(t,u,e)||!n(u,c,t,h)||a.push(u,c)}return function(t,e,r){for(var n=0;n<t.length;n+=2){var i=t[n];if(r.test(i))for(var o=i.replace(r,""),a=0;a<t.length;a+=2)if(t[a]===o)throw new l("Cannot promisify an API that has normal methods with '%s'-suffix\n\n See http://goo.gl/MqrFmX\n".replace("%s",e))}}(a,e,r),a}var v,_=function(t){return t.replace(/([$])/,"\\$")};var y=u?v:function(t,u,l,c,h,p){var f=function(){return this}(),d=t;function m(){var i=u;u===n&&(i=this);var l=new e(r);l._captureStackTrace();var c="string"==typeof d&&this!==f?this[d]:t,h=o(l,p);try{c.apply(i,a(arguments,h))}catch(t){l._rejectCallback(s(t),!0,!0)}return l._isFateSealed()||l._setAsyncGuaranteed(),l}return"string"==typeof d&&(t=c),i.notEnumerableProp(m,"__isPromisified__",!0),m};function b(t,e,r,o,a){for(var s=new RegExp(_(e)+"$"),u=g(t,e,s,r),l=0,c=u.length;l<c;l+=2){var h=u[l],p=u[l+1],f=h+e;if(o===y)t[f]=y(h,n,h,p,e,a);else{var d=o(p,function(){return y(h,n,h,p,e,a)});i.notEnumerableProp(d,"__isPromisified__",!0),t[f]=d}}return i.toFastProperties(t),t}e.promisify=function(t,e){if("function"!=typeof t)throw new l("expecting a function but got "+i.classString(t));if(d(t))return t;var r=function(t,e,r){return y(t,e,void 0,t,null,r)}(t,void 0===(e=Object(e)).context?n:e.context,!!e.multiArgs);return i.copyDescriptors(t,r,f),r},e.promisifyAll=function(t,e){if("function"!=typeof t&&"object"!=typeof t)throw new l("the target of promisifyAll must be an object or a function\n\n See http://goo.gl/MqrFmX\n");var r=!!(e=Object(e)).multiArgs,n=e.suffix;"string"!=typeof n&&(n="Async");var o=e.filter;"function"!=typeof o&&(o=p);var a=e.promisifier;if("function"!=typeof a&&(a=y),!i.isIdentifier(n))throw new RangeError("suffix must be a valid identifier\n\n See http://goo.gl/MqrFmX\n");for(var s=i.inheritedDataKeys(t),u=0;u<s.length;++u){var c=t[s[u]];"constructor"!==s[u]&&i.isClass(c)&&(b(c.prototype,n,o,a,r),b(c,n,o,a,r))}return b(t,n,o,a,r)}}},{"./errors":12,"./nodeback":20,"./util":36}],25:[function(t,e,r){"use strict";e.exports=function(e,r,n,i){var o,a=t("./util"),s=a.isObject,u=t("./es5");"function"==typeof Map&&(o=Map);var l=function(){var t=0,e=0;function r(r,n){this[t]=r,this[t+e]=n,t++}return function(n){e=n.size,t=0;var i=new Array(2*n.size);return n.forEach(r,i),i}}();function c(t){var e,r=!1;if(void 0!==o&&t instanceof o)e=l(t),r=!0;else{var n=u.keys(t),i=n.length;e=new Array(2*i);for(var a=0;a<i;++a){var s=n[a];e[a]=t[s],e[a+i]=s}}this.constructor$(e),this._isMap=r,this._init$(void 0,r?-6:-3)}function h(t){var r,o=n(t);return s(o)?(r=o instanceof e?o._then(e.props,void 0,void 0,void 0,void 0):new c(o).promise(),o instanceof e&&r._propagateFrom(o,2),r):i("cannot await properties of a non-object\n\n See http://goo.gl/MqrFmX\n")}a.inherits(c,r),c.prototype._init=function(){},c.prototype._promiseFulfilled=function(t,e){if(this._values[e]=t,++this._totalResolved>=this._length){var r;if(this._isMap)r=function(t){for(var e=new o,r=t.length/2|0,n=0;n<r;++n){var i=t[r+n],a=t[n];e.set(i,a)}return e}(this._values);else{r={};for(var n=this.length(),i=0,a=this.length();i<a;++i)r[this._values[i+n]]=this._values[i]}return this._resolve(r),!0}return!1},c.prototype.shouldCopyValues=function(){return!1},c.prototype.getActualLength=function(t){return t>>1},e.prototype.props=function(){return h(this)},e.props=function(t){return h(t)}}},{"./es5":13,"./util":36}],26:[function(t,e,r){"use strict";function n(t){this._capacity=t,this._length=0,this._front=0}n.prototype._willBeOverCapacity=function(t){return this._capacity<t},n.prototype._pushOne=function(t){var e=this.length();this._checkCapacity(e+1),this[this._front+e&this._capacity-1]=t,this._length=e+1},n.prototype.push=function(t,e,r){var n=this.length()+3;if(this._willBeOverCapacity(n))return this._pushOne(t),this._pushOne(e),void this._pushOne(r);var i=this._front+n-3;this._checkCapacity(n);var o=this._capacity-1;this[i+0&o]=t,this[i+1&o]=e,this[i+2&o]=r,this._length=n},n.prototype.shift=function(){var t=this._front,e=this[t];return this[t]=void 0,this._front=t+1&this._capacity-1,this._length--,e},n.prototype.length=function(){return this._length},n.prototype._checkCapacity=function(t){this._capacity<t&&this._resizeTo(this._capacity<<1)},n.prototype._resizeTo=function(t){var e=this._capacity;this._capacity=t,function(t,e,r,n,i){for(var o=0;o<i;++o)r[o+n]=t[o+e],t[o+e]=void 0}(this,0,this,e,this._front+this._length&e-1)},e.exports=n},{}],27:[function(t,e,r){"use strict";e.exports=function(e,r,n,i){var o=t("./util"),a=function(t){return t.then(function(e){return s(e,t)})};function s(t,s){var u=n(t);if(u instanceof e)return a(u);if(null===(t=o.asArray(t)))return i("expecting an array or an iterable object but got "+o.classString(t));var l=new e(r);void 0!==s&&l._propagateFrom(s,3);for(var c=l._fulfill,h=l._reject,p=0,f=t.length;p<f;++p){var d=t[p];(void 0!==d||p in t)&&e.cast(d)._then(c,h,void 0,l,null)}return l}e.race=function(t){return s(t,void 0)},e.prototype.race=function(){return s(this,void 0)}}},{"./util":36}],28:[function(t,e,r){"use strict";e.exports=function(e,r,n,i,o,a){var s=e._getDomain,u=t("./util"),l=u.tryCatch;function c(t,r,n,i){this.constructor$(t);var a=s();this._fn=null===a?r:u.domainBind(a,r),void 0!==n&&(n=e.resolve(n))._attachCancellationCallback(this),this._initialValue=n,this._currentCancellable=null,this._eachValues=i===o?Array(this._length):0===i?null:void 0,this._promise._captureStackTrace(),this._init$(void 0,-5)}function h(t,e){this.isFulfilled()?e._resolve(t):e._reject(t)}function p(t,e,r,i){return"function"!=typeof e?n("expecting a function but got "+u.classString(e)):new c(t,e,r,i).promise()}function f(t){this.accum=t,this.array._gotAccum(t);var r=i(this.value,this.array._promise);return r instanceof e?(this.array._currentCancellable=r,r._then(d,void 0,void 0,this,void 0)):d.call(this,r)}function d(t){var r,n=this.array,i=n._promise,o=l(n._fn);i._pushContext(),(r=void 0!==n._eachValues?o.call(i._boundValue(),t,this.index,this.length):o.call(i._boundValue(),this.accum,t,this.index,this.length))instanceof e&&(n._currentCancellable=r);var s=i._popContext();return a.checkForgottenReturns(r,s,void 0!==n._eachValues?"Promise.each":"Promise.reduce",i),r}u.inherits(c,r),c.prototype._gotAccum=function(t){void 0!==this._eachValues&&null!==this._eachValues&&t!==o&&this._eachValues.push(t)},c.prototype._eachComplete=function(t){return null!==this._eachValues&&this._eachValues.push(t),this._eachValues},c.prototype._init=function(){},c.prototype._resolveEmptyArray=function(){this._resolve(void 0!==this._eachValues?this._eachValues:this._initialValue)},c.prototype.shouldCopyValues=function(){return!1},c.prototype._resolve=function(t){this._promise._resolveCallback(t),this._values=null},c.prototype._resultCancelled=function(t){if(t===this._initialValue)return this._cancel();this._isResolved()||(this._resultCancelled$(),this._currentCancellable instanceof e&&this._currentCancellable.cancel(),this._initialValue instanceof e&&this._initialValue.cancel())},c.prototype._iterate=function(t){var r,n;this._values=t;var i=t.length;if(void 0!==this._initialValue?(r=this._initialValue,n=0):(r=e.resolve(t[0]),n=1),this._currentCancellable=r,!r.isRejected())for(;n<i;++n){var o={accum:null,value:t[n],index:n,length:i,array:this};r=r._then(f,void 0,void 0,o,void 0)}void 0!==this._eachValues&&(r=r._then(this._eachComplete,void 0,void 0,this,void 0)),r._then(h,h,void 0,r,this)},e.prototype.reduce=function(t,e){return p(this,t,e,null)},e.reduce=function(t,e,r,n){return p(t,e,r,n)}}},{"./util":36}],29:[function(e,r,o){"use strict";var a,s=e("./util"),u=s.getNativePromise();if(s.isNode&&"undefined"==typeof MutationObserver){var l=n.setImmediate,c=t.nextTick;a=s.isRecentNode?function(t){l.call(n,t)}:function(e){c.call(t,e)}}else if("function"==typeof u&&"function"==typeof u.resolve){var h=u.resolve();a=function(t){h.then(t)}}else a="undefined"==typeof MutationObserver||"undefined"!=typeof window&&window.navigator&&(window.navigator.standalone||window.cordova)?void 0!==i?function(t){i(t)}:"undefined"!=typeof setTimeout?function(t){setTimeout(t,0)}:function(){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")}:function(){var t=document.createElement("div"),e={attributes:!0},r=!1,n=document.createElement("div");new MutationObserver(function(){t.classList.toggle("foo"),r=!1}).observe(n,e);return function(i){var o=new MutationObserver(function(){o.disconnect(),i()});o.observe(t,e),r||(r=!0,n.classList.toggle("foo"))}}();r.exports=a},{"./util":36}],30:[function(t,e,r){"use strict";e.exports=function(e,r,n){var i=e.PromiseInspection;function o(t){this.constructor$(t)}t("./util").inherits(o,r),o.prototype._promiseResolved=function(t,e){return this._values[t]=e,++this._totalResolved>=this._length&&(this._resolve(this._values),!0)},o.prototype._promiseFulfilled=function(t,e){var r=new i;return r._bitField=33554432,r._settledValueField=t,this._promiseResolved(e,r)},o.prototype._promiseRejected=function(t,e){var r=new i;return r._bitField=16777216,r._settledValueField=t,this._promiseResolved(e,r)},e.settle=function(t){return n.deprecated(".settle()",".reflect()"),new o(t).promise()},e.prototype.settle=function(){return e.settle(this)}}},{"./util":36}],31:[function(t,e,r){"use strict";e.exports=function(e,r,n){var i=t("./util"),o=t("./errors").RangeError,a=t("./errors").AggregateError,s=i.isArray,u={};function l(t){this.constructor$(t),this._howMany=0,this._unwrap=!1,this._initialized=!1}function c(t,e){if((0|e)!==e||e<0)return n("expecting a positive integer\n\n See http://goo.gl/MqrFmX\n");var r=new l(t),i=r.promise();return r.setHowMany(e),r.init(),i}i.inherits(l,r),l.prototype._init=function(){if(this._initialized)if(0!==this._howMany){this._init$(void 0,-5);var t=s(this._values);!this._isResolved()&&t&&this._howMany>this._canPossiblyFulfill()&&this._reject(this._getRangeError(this.length()))}else this._resolve([])},l.prototype.init=function(){this._initialized=!0,this._init()},l.prototype.setUnwrap=function(){this._unwrap=!0},l.prototype.howMany=function(){return this._howMany},l.prototype.setHowMany=function(t){this._howMany=t},l.prototype._promiseFulfilled=function(t){return this._addFulfilled(t),this._fulfilled()===this.howMany()&&(this._values.length=this.howMany(),1===this.howMany()&&this._unwrap?this._resolve(this._values[0]):this._resolve(this._values),!0)},l.prototype._promiseRejected=function(t){return this._addRejected(t),this._checkOutcome()},l.prototype._promiseCancelled=function(){return this._values instanceof e||null==this._values?this._cancel():(this._addRejected(u),this._checkOutcome())},l.prototype._checkOutcome=function(){if(this.howMany()>this._canPossiblyFulfill()){for(var t=new a,e=this.length();e<this._values.length;++e)this._values[e]!==u&&t.push(this._values[e]);return t.length>0?this._reject(t):this._cancel(),!0}return!1},l.prototype._fulfilled=function(){return this._totalResolved},l.prototype._rejected=function(){return this._values.length-this.length()},l.prototype._addRejected=function(t){this._values.push(t)},l.prototype._addFulfilled=function(t){this._values[this._totalResolved++]=t},l.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()},l.prototype._getRangeError=function(t){var e="Input array must contain at least "+this._howMany+" items but contains only "+t+" items";return new o(e)},l.prototype._resolveEmptyArray=function(){this._reject(this._getRangeError(0))},e.some=function(t,e){return c(t,e)},e.prototype.some=function(t){return c(this,t)},e._SomePromiseArray=l}},{"./errors":12,"./util":36}],32:[function(t,e,r){"use strict";e.exports=function(t){function e(t){void 0!==t?(t=t._target(),this._bitField=t._bitField,this._settledValueField=t._isFateSealed()?t._settledValue():void 0):(this._bitField=0,this._settledValueField=void 0)}e.prototype._settledValue=function(){return this._settledValueField};var r=e.prototype.value=function(){if(!this.isFulfilled())throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\n\n See http://goo.gl/MqrFmX\n");return this._settledValue()},n=e.prototype.error=e.prototype.reason=function(){if(!this.isRejected())throw new TypeError("cannot get rejection reason of a non-rejected promise\n\n See http://goo.gl/MqrFmX\n");return this._settledValue()},i=e.prototype.isFulfilled=function(){return 0!=(33554432&this._bitField)},o=e.prototype.isRejected=function(){return 0!=(16777216&this._bitField)},a=e.prototype.isPending=function(){return 0==(50397184&this._bitField)},s=e.prototype.isResolved=function(){return 0!=(50331648&this._bitField)};e.prototype.isCancelled=function(){return 0!=(8454144&this._bitField)},t.prototype.__isCancelled=function(){return 65536==(65536&this._bitField)},t.prototype._isCancelled=function(){return this._target().__isCancelled()},t.prototype.isCancelled=function(){return 0!=(8454144&this._target()._bitField)},t.prototype.isPending=function(){return a.call(this._target())},t.prototype.isRejected=function(){return o.call(this._target())},t.prototype.isFulfilled=function(){return i.call(this._target())},t.prototype.isResolved=function(){return s.call(this._target())},t.prototype.value=function(){return r.call(this._target())},t.prototype.reason=function(){var t=this._target();return t._unsetRejectionIsUnhandled(),n.call(t)},t.prototype._value=function(){return this._settledValue()},t.prototype._reason=function(){return this._unsetRejectionIsUnhandled(),this._settledValue()},t.PromiseInspection=e}},{}],33:[function(t,e,r){"use strict";e.exports=function(e,r){var n=t("./util"),i=n.errorObj,o=n.isObject;var a={}.hasOwnProperty;return function(t,s){if(o(t)){if(t instanceof e)return t;var u=function(t){try{return function(t){return t.then}(t)}catch(t){return i.e=t,i}}(t);if(u===i){s&&s._pushContext();var l=e.reject(u.e);return s&&s._popContext(),l}if("function"==typeof u)return function(t){try{return a.call(t,"_promise0")}catch(t){return!1}}(t)?(l=new e(r),t._then(l._fulfill,l._reject,void 0,l,null),l):function(t,o,a){var s=new e(r),u=s;a&&a._pushContext(),s._captureStackTrace(),a&&a._popContext();var l=!0,c=n.tryCatch(o).call(t,function(t){s&&(s._resolveCallback(t),s=null)},function(t){s&&(s._rejectCallback(t,l,!0),s=null)});return l=!1,s&&c===i&&(s._rejectCallback(c.e,!0,!0),s=null),u}(t,u,s)}return t}}},{"./util":36}],34:[function(t,e,r){"use strict";e.exports=function(e,r,n){var i=t("./util"),o=e.TimeoutError;function a(t){this.handle=t}a.prototype._resultCancelled=function(){clearTimeout(this.handle)};var s=function(t){return u(+this).thenReturn(t)},u=e.delay=function(t,i){var o,u;return void 0!==i?(o=e.resolve(i)._then(s,null,null,t,void 0),n.cancellation()&&i instanceof e&&o._setOnCancel(i)):(o=new e(r),u=setTimeout(function(){o._fulfill()},+t),n.cancellation()&&o._setOnCancel(new a(u)),o._captureStackTrace()),o._setAsyncGuaranteed(),o};e.prototype.delay=function(t){return u(t,this)};function l(t){return clearTimeout(this.handle),t}function c(t){throw clearTimeout(this.handle),t}e.prototype.timeout=function(t,e){var r,s;t=+t;var u=new a(setTimeout(function(){r.isPending()&&function(t,e,r){var n;n="string"!=typeof e?e instanceof Error?e:new o("operation timed out"):new o(e),i.markAsOriginatingFromRejection(n),t._attachExtraTrace(n),t._reject(n),null!=r&&r.cancel()}(r,e,s)},t));return n.cancellation()?(s=this.then(),(r=s._then(l,c,void 0,u,void 0))._setOnCancel(u)):r=this._then(l,c,void 0,u,void 0),r}}},{"./util":36}],35:[function(t,e,r){"use strict";e.exports=function(e,r,n,i,o,a){var s=t("./util"),u=t("./errors").TypeError,l=t("./util").inherits,c=s.errorObj,h=s.tryCatch,p={};function f(t){setTimeout(function(){throw t},0)}function d(t,r){var i=0,a=t.length,s=new e(o);return function o(){if(i>=a)return s._fulfill();var u=function(t){var e=n(t);return e!==t&&"function"==typeof t._isDisposable&&"function"==typeof t._getDisposer&&t._isDisposable()&&e._setDisposable(t._getDisposer()),e}(t[i++]);if(u instanceof e&&u._isDisposable()){try{u=n(u._getDisposer().tryDispose(r),t.promise)}catch(t){return f(t)}if(u instanceof e)return u._then(o,f,null,null,null)}o()}(),s}function m(t,e,r){this._data=t,this._promise=e,this._context=r}function g(t,e,r){this.constructor$(t,e,r)}function v(t){return m.isDisposer(t)?(this.resources[this.index]._setDisposable(t),t.promise()):t}function _(t){this.length=t,this.promise=null,this[t-1]=null}m.prototype.data=function(){return this._data},m.prototype.promise=function(){return this._promise},m.prototype.resource=function(){return this.promise().isFulfilled()?this.promise().value():p},m.prototype.tryDispose=function(t){var e=this.resource(),r=this._context;void 0!==r&&r._pushContext();var n=e!==p?this.doDispose(e,t):null;return void 0!==r&&r._popContext(),this._promise._unsetDisposable(),this._data=null,n},m.isDisposer=function(t){return null!=t&&"function"==typeof t.resource&&"function"==typeof t.tryDispose},l(g,m),g.prototype.doDispose=function(t,e){return this.data().call(t,t,e)},_.prototype._resultCancelled=function(){for(var t=this.length,r=0;r<t;++r){var n=this[r];n instanceof e&&n.cancel()}},e.using=function(){var t=arguments.length;if(t<2)return r("you must pass at least 2 arguments to Promise.using");var i,o=arguments[t-1];if("function"!=typeof o)return r("expecting a function but got "+s.classString(o));var u=!0;2===t&&Array.isArray(arguments[0])?(t=(i=arguments[0]).length,u=!1):(i=arguments,t--);for(var l=new _(t),p=0;p<t;++p){var f=i[p];if(m.isDisposer(f)){var g=f;(f=f.promise())._setDisposable(g)}else{var y=n(f);y instanceof e&&(f=y._then(v,null,null,{resources:l,index:p},void 0))}l[p]=f}var b=new Array(l.length);for(p=0;p<b.length;++p)b[p]=e.resolve(l[p]).reflect();var x=e.all(b).then(function(t){for(var e=0;e<t.length;++e){var r=t[e];if(r.isRejected())return c.e=r.error(),c;if(!r.isFulfilled())return void x.cancel();t[e]=r.value()}w._pushContext(),o=h(o);var n=u?o.apply(void 0,t):o(t),i=w._popContext();return a.checkForgottenReturns(n,i,"Promise.using",w),n}),w=x.lastly(function(){var t=new e.PromiseInspection(x);return d(l,t)});return l.promise=w,w._setOnCancel(l),w},e.prototype._setDisposable=function(t){this._bitField=131072|this._bitField,this._disposer=t},e.prototype._isDisposable=function(){return(131072&this._bitField)>0},e.prototype._getDisposer=function(){return this._disposer},e.prototype._unsetDisposable=function(){this._bitField=-131073&this._bitField,this._disposer=void 0},e.prototype.disposer=function(t){if("function"==typeof t)return new g(t,this,i());throw new u}}},{"./errors":12,"./util":36}],36:[function(e,r,i){"use strict";var o=e("./es5"),a="undefined"==typeof navigator,s={e:{}},u,l="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==n?n:void 0!==this?this:null;function c(){try{var t=u;return u=null,t.apply(this,arguments)}catch(t){return s.e=t,s}}function h(t){return u=t,c}var p=function(t,e){var r={}.hasOwnProperty;function n(){for(var n in this.constructor=t,this.constructor$=e,e.prototype)r.call(e.prototype,n)&&"$"!==n.charAt(n.length-1)&&(this[n+"$"]=e.prototype[n])}return n.prototype=e.prototype,t.prototype=new n,t.prototype};function f(t){return null==t||!0===t||!1===t||"string"==typeof t||"number"==typeof t}function d(t){return"function"==typeof t||"object"==typeof t&&null!==t}function m(t){return f(t)?new Error(A(t)):t}function g(t,e){var r,n=t.length,i=new Array(n+1);for(r=0;r<n;++r)i[r]=t[r];return i[r]=e,i}function v(t,e,r){if(!o.isES5)return{}.hasOwnProperty.call(t,e)?t[e]:void 0;var n=Object.getOwnPropertyDescriptor(t,e);return null!=n?null==n.get&&null==n.set?n.value:r:void 0}function _(t,e,r){if(f(t))return t;var n={value:r,configurable:!0,enumerable:!1,writable:!0};return o.defineProperty(t,e,n),t}function y(t){throw t}var b=function(){var t=[Array.prototype,Object.prototype,Function.prototype],e=function(e){for(var r=0;r<t.length;++r)if(t[r]===e)return!0;return!1};if(o.isES5){var r=Object.getOwnPropertyNames;return function(t){for(var n=[],i=Object.create(null);null!=t&&!e(t);){var a;try{a=r(t)}catch(t){return n}for(var s=0;s<a.length;++s){var u=a[s];if(!i[u]){i[u]=!0;var l=Object.getOwnPropertyDescriptor(t,u);null!=l&&null==l.get&&null==l.set&&n.push(u)}}t=o.getPrototypeOf(t)}return n}}var n={}.hasOwnProperty;return function(r){if(e(r))return[];var i=[];t:for(var o in r)if(n.call(r,o))i.push(o);else{for(var a=0;a<t.length;++a)if(n.call(t[a],o))continue t;i.push(o)}return i}}(),x=/this\s*\.\s*\S+\s*=/;function w(t){try{if("function"==typeof t){var e=o.names(t.prototype),r=o.isES5&&e.length>1,n=e.length>0&&!(1===e.length&&"constructor"===e[0]),i=x.test(t+"")&&o.names(t).length>0;if(r||n||i)return!0}return!1}catch(t){return!1}}function k(t){function e(){}e.prototype=t;var r=new e;function n(){return typeof r.foo}return n(),n(),t}var E=/^[a-z$_][a-z$_0-9]*$/i;function T(t){return E.test(t)}function S(t,e,r){for(var n=new Array(t),i=0;i<t;++i)n[i]=e+i+r;return n}function A(t){try{return t+""}catch(t){return"[no string representation]"}}function C(t){return t instanceof Error||null!==t&&"object"==typeof t&&"string"==typeof t.message&&"string"==typeof t.name}function R(t){try{_(t,"isOperational",!0)}catch(t){}}function B(t){return null!=t&&(t instanceof Error.__BluebirdErrorTypes__.OperationalError||!0===t.isOperational)}function P(t){return C(t)&&o.propertyIsWritable(t,"stack")}var I="stack"in new Error?function(t){return P(t)?t:new Error(A(t))}:function(t){if(P(t))return t;try{throw new Error(A(t))}catch(t){return t}};function M(t){return{}.toString.call(t)}function D(t,e,r){for(var n=o.names(t),i=0;i<n.length;++i){var a=n[i];if(r(a))try{o.defineProperty(e,a,o.getDescriptor(t,a))}catch(t){}}}var F=function(t){return o.isArray(t)?t:null};if("undefined"!=typeof Symbol&&Symbol.iterator){var L="function"==typeof Array.from?function(t){return Array.from(t)}:function(t){for(var e,r=[],n=t[Symbol.iterator]();!(e=n.next()).done;)r.push(e.value);return r};F=function(t){return o.isArray(t)?t:null!=t&&"function"==typeof t[Symbol.iterator]?L(t):null}}var O=void 0!==t&&"[object process]"===M(t).toLowerCase(),N=void 0!==t&&void 0!==t.env;function j(e){return N?t.env[e]:void 0}function U(){if("function"==typeof Promise)try{var t=new Promise(function(){});if("[object Promise]"==={}.toString.call(t))return Promise}catch(t){}}function z(t,e){return t.bind(e)}var G={isClass:w,isIdentifier:T,inheritedDataKeys:b,getDataPropertyOrDefault:v,thrower:y,isArray:o.isArray,asArray:F,notEnumerableProp:_,isPrimitive:f,isObject:d,isError:C,canEvaluate:a,errorObj:s,tryCatch:h,inherits:p,withAppended:g,maybeWrapAsError:m,toFastProperties:k,filledRange:S,toString:A,canAttachTrace:P,ensureErrorObject:I,originatesFromRejection:B,markAsOriginatingFromRejection:R,classString:M,copyDescriptors:D,hasDevTools:"undefined"!=typeof chrome&&chrome&&"function"==typeof chrome.loadTimes,isNode:O,hasEnvVariables:N,env:j,global:l,getNativePromise:U,domainBind:z},$;G.isRecentNode=G.isNode&&($=t.versions.node.split(".").map(Number),0===$[0]&&$[1]>10||$[0]>0),G.isNode&&G.toFastProperties(t);try{throw new Error}catch(t){G.lastLineError=t}r.exports=G},{"./es5":13}]},{},[4])(4)}),"undefined"!=typeof window&&null!==window?window.P=window.Promise:"undefined"!=typeof self&&null!==self&&(self.P=self.Promise)}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("timers").setImmediate)},{_process:136,timers:190}],4:[function(t,e,r){},{}],5:[function(t,e,r){(function(r){"use strict";var n=t("readable-stream").Readable,i=t("util");function o(t,e){if(!(this instanceof o))return new o(t,e);n.call(this,e),null!==t&&void 0!==t||(t=String(t)),this._obj=t}e.exports=o,i.inherits(o,n),o.prototype._read=function(t){var e=this._obj;"string"==typeof e?this.push(new r(e)):r.isBuffer(e)?this.push(e):this.push(new r(JSON.stringify(e))),this.push(null)}}).call(this,t("buffer").Buffer)},{buffer:71,"readable-stream":11,util:196}],6:[function(t,e,r){(function(r){e.exports=s;var n=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e},i=t("core-util-is");i.inherits=t("inherits");var o=t("./_stream_readable"),a=t("./_stream_writable");function s(t){if(!(this instanceof s))return new s(t);o.call(this,t),a.call(this,t),t&&!1===t.readable&&(this.readable=!1),t&&!1===t.writable&&(this.writable=!1),this.allowHalfOpen=!0,t&&!1===t.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",u)}function u(){this.allowHalfOpen||this._writableState.ended||r.nextTick(this.end.bind(this))}i.inherits(s,o),function(t,e){for(var r=0,n=t.length;r<n;r++)e(t[r],r)}(n(a.prototype),function(t){s.prototype[t]||(s.prototype[t]=a.prototype[t])})}).call(this,t("_process"))},{"./_stream_readable":8,"./_stream_writable":10,_process:136,"core-util-is":12,inherits:94}],7:[function(t,e,r){e.exports=o;var n=t("./_stream_transform"),i=t("core-util-is");function o(t){if(!(this instanceof o))return new o(t);n.call(this,t)}i.inherits=t("inherits"),i.inherits(o,n),o.prototype._transform=function(t,e,r){r(null,t)}},{"./_stream_transform":9,"core-util-is":12,inherits:94}],8:[function(t,e,r){(function(r){e.exports=c;var n=t("isarray"),i=t("buffer").Buffer;c.ReadableState=l;var o=t("events").EventEmitter;o.listenerCount||(o.listenerCount=function(t,e){return t.listeners(e).length});var a,s=t("stream"),u=t("core-util-is");function l(e,r){var n=(e=e||{}).highWaterMark;this.highWaterMark=n||0===n?n:16384,this.highWaterMark=~~this.highWaterMark,this.buffer=[],this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=!1,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.calledRead=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.objectMode=!!e.objectMode,this.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(a||(a=t("string_decoder/").StringDecoder),this.decoder=new a(e.encoding),this.encoding=e.encoding)}function c(t){if(!(this instanceof c))return new c(t);this._readableState=new l(t,this),this.readable=!0,s.call(this)}function h(t,e,n,o,a){var s=function(t,e){var r=null;i.isBuffer(e)||"string"==typeof e||null===e||void 0===e||t.objectMode||(r=new TypeError("Invalid non-string/buffer chunk"));return r}(e,n);if(s)t.emit("error",s);else if(null===n||void 0===n)e.reading=!1,e.ended||function(t,e){if(e.decoder&&!e.ended){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.length>0?d(t):b(t)}(t,e);else if(e.objectMode||n&&n.length>0)if(e.ended&&!a){var u=new Error("stream.push() after EOF");t.emit("error",u)}else if(e.endEmitted&&a){u=new Error("stream.unshift() after end event");t.emit("error",u)}else!e.decoder||a||o||(n=e.decoder.write(n)),e.length+=e.objectMode?1:n.length,a?e.buffer.unshift(n):(e.reading=!1,e.buffer.push(n)),e.needReadable&&d(t),function(t,e){e.readingMore||(e.readingMore=!0,r.nextTick(function(){!function(t,e){var r=e.length;for(;!e.reading&&!e.flowing&&!e.ended&&e.length<e.highWaterMark&&(t.read(0),r!==e.length);)r=e.length;e.readingMore=!1}(t,e)}))}(t,e);else a||(e.reading=!1);return function(t){return!t.ended&&(t.needReadable||t.length<t.highWaterMark||0===t.length)}(e)}u.inherits=t("inherits"),u.inherits(c,s),c.prototype.push=function(t,e){var r=this._readableState;return"string"!=typeof t||r.objectMode||(e=e||r.defaultEncoding)!==r.encoding&&(t=new i(t,e),e=""),h(this,r,t,e,!1)},c.prototype.unshift=function(t){return h(this,this._readableState,t,"",!0)},c.prototype.setEncoding=function(e){a||(a=t("string_decoder/").StringDecoder),this._readableState.decoder=new a(e),this._readableState.encoding=e};var p=8388608;function f(t,e){return 0===e.length&&e.ended?0:e.objectMode?0===t?0:1:null===t||isNaN(t)?e.flowing&&e.buffer.length?e.buffer[0].length:e.length:t<=0?0:(t>e.highWaterMark&&(e.highWaterMark=function(t){if(t>=p)t=p;else{t--;for(var e=1;e<32;e<<=1)t|=t>>e;t++}return t}(t)),t>e.length?e.ended?e.length:(e.needReadable=!0,0):t)}function d(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,e.sync?r.nextTick(function(){m(t)}):m(t))}function m(t){t.emit("readable")}function g(t){var e,r=t._readableState;function n(t,n,i){!1===t.write(e)&&r.awaitDrain++}for(r.awaitDrain=0;r.pipesCount&&null!==(e=t.read());)if(1===r.pipesCount?n(r.pipes):x(r.pipes,n),t.emit("data",e),r.awaitDrain>0)return;if(0===r.pipesCount)return r.flowing=!1,void(o.listenerCount(t,"data")>0&&_(t));r.ranOut=!0}function v(){this._readableState.ranOut&&(this._readableState.ranOut=!1,g(this))}function _(t,e){if(t._readableState.flowing)throw new Error("Cannot switch to old mode now.");var n=e||!1,i=!1;t.readable=!0,t.pipe=s.prototype.pipe,t.on=t.addListener=s.prototype.on,t.on("readable",function(){var e;for(i=!0;!n&&null!==(e=t.read());)t.emit("data",e);null===e&&(i=!1,t._readableState.needReadable=!0)}),t.pause=function(){n=!0,this.emit("pause")},t.resume=function(){n=!1,i?r.nextTick(function(){t.emit("readable")}):this.read(0),this.emit("resume")},t.emit("readable")}function y(t,e){var r,n=e.buffer,o=e.length,a=!!e.decoder,s=!!e.objectMode;if(0===n.length)return null;if(0===o)r=null;else if(s)r=n.shift();else if(!t||t>=o)r=a?n.join(""):i.concat(n,o),n.length=0;else{if(t<n[0].length)r=(h=n[0]).slice(0,t),n[0]=h.slice(t);else if(t===n[0].length)r=n.shift();else{r=a?"":new i(t);for(var u=0,l=0,c=n.length;l<c&&u<t;l++){var h=n[0],p=Math.min(t-u,h.length);a?r+=h.slice(0,p):h.copy(r,u,0,p),p<h.length?n[0]=h.slice(p):n.shift(),u+=p}}}return r}function b(t){var e=t._readableState;if(e.length>0)throw new Error("endReadable called on non-empty stream");!e.endEmitted&&e.calledRead&&(e.ended=!0,r.nextTick(function(){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}))}function x(t,e){for(var r=0,n=t.length;r<n;r++)e(t[r],r)}c.prototype.read=function(t){var e=this._readableState;e.calledRead=!0;var r,n=t;if(("number"!=typeof t||t>0)&&(e.emittedReadable=!1),0===t&&e.needReadable&&(e.length>=e.highWaterMark||e.ended))return d(this),null;if(0===(t=f(t,e))&&e.ended)return r=null,e.length>0&&e.decoder&&(r=y(t,e),e.length-=r.length),0===e.length&&b(this),r;var i=e.needReadable;return e.length-t<=e.highWaterMark&&(i=!0),(e.ended||e.reading)&&(i=!1),i&&(e.reading=!0,e.sync=!0,0===e.length&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1),i&&!e.reading&&(t=f(n,e)),null===(r=t>0?y(t,e):null)&&(e.needReadable=!0,t=0),e.length-=t,0!==e.length||e.ended||(e.needReadable=!0),e.ended&&!e.endEmitted&&0===e.length&&b(this),r},c.prototype._read=function(t){this.emit("error",new Error("not implemented"))},c.prototype.pipe=function(t,e){var i=this,a=this._readableState;switch(a.pipesCount){case 0:a.pipes=t;break;case 1:a.pipes=[a.pipes,t];break;default:a.pipes.push(t)}a.pipesCount+=1;var s=(!e||!1!==e.end)&&t!==r.stdout&&t!==r.stderr?l:h;function u(t){t===i&&h()}function l(){t.end()}a.endEmitted?r.nextTick(s):i.once("end",s),t.on("unpipe",u);var c=function(t){return function(){var e=t._readableState;e.awaitDrain--,0===e.awaitDrain&&g(t)}}(i);function h(){t.removeListener("close",f),t.removeListener("finish",d),t.removeListener("drain",c),t.removeListener("error",p),t.removeListener("unpipe",u),i.removeListener("end",l),i.removeListener("end",h),t._writableState&&!t._writableState.needDrain||c()}function p(e){m(),t.removeListener("error",p),0===o.listenerCount(t,"error")&&t.emit("error",e)}function f(){t.removeListener("finish",d),m()}function d(){t.removeListener("close",f),m()}function m(){i.unpipe(t)}return t.on("drain",c),t._events&&t._events.error?n(t._events.error)?t._events.error.unshift(p):t._events.error=[p,t._events.error]:t.on("error",p),t.once("close",f),t.once("finish",d),t.emit("pipe",i),a.flowing||(this.on("readable",v),a.flowing=!0,r.nextTick(function(){g(i)})),t},c.prototype.unpipe=function(t){var e=this._readableState;if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,this.removeListener("readable",v),e.flowing=!1,t&&t.emit("unpipe",this),this);if(!t){var r=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,this.removeListener("readable",v),e.flowing=!1;for(var i=0;i<n;i++)r[i].emit("unpipe",this);return this}return-1===(i=function(t,e){for(var r=0,n=t.length;r<n;r++)if(t[r]===e)return r;return-1}(e.pipes,t))?this:(e.pipes.splice(i,1),e.pipesCount-=1,1===e.pipesCount&&(e.pipes=e.pipes[0]),t.emit("unpipe",this),this)},c.prototype.on=function(t,e){var r=s.prototype.on.call(this,t,e);if("data"!==t||this._readableState.flowing||_(this),"readable"===t&&this.readable){var n=this._readableState;n.readableListening||(n.readableListening=!0,n.emittedReadable=!1,n.needReadable=!0,n.reading?n.length&&d(this):this.read(0))}return r},c.prototype.addListener=c.prototype.on,c.prototype.resume=function(){_(this),this.read(0),this.emit("resume")},c.prototype.pause=function(){_(this,!0),this.emit("pause")},c.prototype.wrap=function(t){var e=this._readableState,r=!1,n=this;for(var i in t.on("end",function(){if(e.decoder&&!e.ended){var t=e.decoder.end();t&&t.length&&n.push(t)}n.push(null)}),t.on("data",function(i){(e.decoder&&(i=e.decoder.write(i)),!e.objectMode||null!==i&&void 0!==i)&&((e.objectMode||i&&i.length)&&(n.push(i)||(r=!0,t.pause())))}),t)"function"==typeof t[i]&&void 0===this[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));return x(["error","close","destroy","pause","resume"],function(e){t.on(e,n.emit.bind(n,e))}),n._read=function(e){r&&(r=!1,t.resume())},n},c._fromList=y}).call(this,t("_process"))},{_process:136,buffer:71,"core-util-is":12,events:72,inherits:94,isarray:97,stream:187,"string_decoder/":188}],9:[function(t,e,r){e.exports=a;var n=t("./_stream_duplex"),i=t("core-util-is");function o(t,e){this.afterTransform=function(t,r){return function(t,e,r){var n=t._transformState;n.transforming=!1;var i=n.writecb;if(!i)return t.emit("error",new Error("no writecb in Transform class"));n.writechunk=null,n.writecb=null,null!==r&&void 0!==r&&t.push(r);i&&i(e);var o=t._readableState;o.reading=!1,(o.needReadable||o.length<o.highWaterMark)&&t._read(o.highWaterMark)}(e,t,r)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null}function a(t){if(!(this instanceof a))return new a(t);n.call(this,t);this._transformState=new o(t,this);var e=this;this._readableState.needReadable=!0,this._readableState.sync=!1,this.once("finish",function(){"function"==typeof this._flush?this._flush(function(t){s(e,t)}):s(e)})}function s(t,e){if(e)return t.emit("error",e);var r=t._writableState,n=(t._readableState,t._transformState);if(r.length)throw new Error("calling transform done when ws.length != 0");if(n.transforming)throw new Error("calling transform done when still transforming");return t.push(null)}i.inherits=t("inherits"),i.inherits(a,n),a.prototype.push=function(t,e){return this._transformState.needTransform=!1,n.prototype.push.call(this,t,e)},a.prototype._transform=function(t,e,r){throw new Error("not implemented")},a.prototype._write=function(t,e,r){var n=this._transformState;if(n.writecb=r,n.writechunk=t,n.writeencoding=e,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},a.prototype._read=function(t){var e=this._transformState;null!==e.writechunk&&e.writecb&&!e.transforming?(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform)):e.needTransform=!0}},{"./_stream_duplex":6,"core-util-is":12,inherits:94}],10:[function(t,e,r){(function(r){e.exports=s;var n=t("buffer").Buffer;s.WritableState=a;var i=t("core-util-is");i.inherits=t("inherits");var o=t("stream");function a(t,e){var n=(t=t||{}).highWaterMark;this.highWaterMark=n||0===n?n:16384,this.objectMode=!!t.objectMode,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var i=!1===t.decodeStrings;this.decodeStrings=!i,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var n=t._writableState,i=n.sync,o=n.writecb;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(n),e)!function(t,e,n,i,o){n?r.nextTick(function(){o(i)}):o(i);t._writableState.errorEmitted=!0,t.emit("error",i)}(t,0,i,e,o);else{var a=c(t,n);a||n.bufferProcessing||!n.buffer.length||function(t,e){e.bufferProcessing=!0;for(var r=0;r<e.buffer.length;r++){var n=e.buffer[r],i=n.chunk,o=n.encoding,a=n.callback,s=e.objectMode?1:i.length;if(u(t,e,s,i,o,a),e.writing){r++;break}}e.bufferProcessing=!1,r<e.buffer.length?e.buffer=e.buffer.slice(r):e.buffer.length=0}(t,n),i?r.nextTick(function(){l(t,n,a,o)}):l(t,n,a,o)}}(e,t)},this.writecb=null,this.writelen=0,this.buffer=[],this.errorEmitted=!1}function s(e){var r=t("./_stream_duplex");if(!(this instanceof s||this instanceof r))return new s(e);this._writableState=new a(e,this),this.writable=!0,o.call(this)}function u(t,e,r,n,i,o){e.writelen=r,e.writecb=o,e.writing=!0,e.sync=!0,t._write(n,i,e.onwrite),e.sync=!1}function l(t,e,r,n){r||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),n(),r&&h(t,e)}function c(t,e){return e.ending&&0===e.length&&!e.finished&&!e.writing}function h(t,e){var r=c(0,e);return r&&(e.finished=!0,t.emit("finish")),r}i.inherits(s,o),s.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe. Not readable."))},s.prototype.write=function(t,e,i){var o=this._writableState,a=!1;return"function"==typeof e&&(i=e,e=null),n.isBuffer(t)?e="buffer":e||(e=o.defaultEncoding),"function"!=typeof i&&(i=function(){}),o.ended?function(t,e,n){var i=new Error("write after end");t.emit("error",i),r.nextTick(function(){n(i)})}(this,0,i):function(t,e,i,o){var a=!0;if(!n.isBuffer(i)&&"string"!=typeof i&&null!==i&&void 0!==i&&!e.objectMode){var s=new TypeError("Invalid non-string/buffer chunk");t.emit("error",s),r.nextTick(function(){o(s)}),a=!1}return a}(this,o,t,i)&&(a=function(t,e,r,i,o){r=function(t,e,r){return t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=new n(e,r)),e}(e,r,i),n.isBuffer(r)&&(i="buffer");var a=e.objectMode?1:r.length;e.length+=a;var s=e.length<e.highWaterMark;s||(e.needDrain=!0);e.writing?e.buffer.push(new function(t,e,r){this.chunk=t,this.encoding=e,this.callback=r}(r,i,o)):u(t,e,a,r,i,o);return s}(this,o,t,e,i)),a},s.prototype._write=function(t,e,r){r(new Error("not implemented"))},s.prototype.end=function(t,e,n){var i=this._writableState;"function"==typeof t?(n=t,t=null,e=null):"function"==typeof e&&(n=e,e=null),void 0!==t&&null!==t&&this.write(t,e),i.ending||i.finished||function(t,e,n){e.ending=!0,h(t,e),n&&(e.finished?r.nextTick(n):t.once("finish",n));e.ended=!0}(this,i,n)}}).call(this,t("_process"))},{"./_stream_duplex":6,_process:136,buffer:71,"core-util-is":12,inherits:94,stream:187}],11:[function(t,e,r){(function(n){var i=t("stream");(r=e.exports=t("./lib/_stream_readable.js")).Stream=i,r.Readable=r,r.Writable=t("./lib/_stream_writable.js"),r.Duplex=t("./lib/_stream_duplex.js"),r.Transform=t("./lib/_stream_transform.js"),r.PassThrough=t("./lib/_stream_passthrough.js"),n.browser||"disable"!==n.env.READABLE_STREAM||(e.exports=t("stream"))}).call(this,t("_process"))},{"./lib/_stream_duplex.js":6,"./lib/_stream_passthrough.js":7,"./lib/_stream_readable.js":8,"./lib/_stream_transform.js":9,"./lib/_stream_writable.js":10,_process:136,stream:187}],12:[function(t,e,r){(function(t){function e(t){return Object.prototype.toString.call(t)}r.isArray=function(t){return Array.isArray?Array.isArray(t):"[object Array]"===e(t)},r.isBoolean=function(t){return"boolean"==typeof t},r.isNull=function(t){return null===t},r.isNullOrUndefined=function(t){return null==t},r.isNumber=function(t){return"number"==typeof t},r.isString=function(t){return"string"==typeof t},r.isSymbol=function(t){return"symbol"==typeof t},r.isUndefined=function(t){return void 0===t},r.isRegExp=function(t){return"[object RegExp]"===e(t)},r.isObject=function(t){return"object"==typeof t&&null!==t},r.isDate=function(t){return"[object Date]"===e(t)},r.isError=function(t){return"[object Error]"===e(t)||t instanceof Error},r.isFunction=function(t){return"function"==typeof t},r.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},r.isBuffer=t.isBuffer}).call(this,{isBuffer:t("../../is-buffer/index.js")})},{"../../is-buffer/index.js":96}],13:[function(t,e,r){"use strict";var n=t("./lib/thunk.js");e.exports=function(t){var e=new function(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName="",this.pre=null,this.body=null,this.post=null,this.debug=!1};e.pre=t.pre,e.body=t.body,e.post=t.post;var r=t.args.slice(0);e.argTypes=r;for(var i=0;i<r.length;++i){var o=r[i];if("array"===o||"object"==typeof o&&o.blockIndices){if(e.argTypes[i]="array",e.arrayArgs.push(i),e.arrayBlockIndices.push(o.blockIndices?o.blockIndices:0),e.shimArgs.push("array"+i),i<e.pre.args.length&&e.pre.args[i].count>0)throw new Error("cwise: pre() block may not reference array args");if(i<e.post.args.length&&e.post.args[i].count>0)throw new Error("cwise: post() block may not reference array args")}else if("scalar"===o)e.scalarArgs.push(i),e.shimArgs.push("scalar"+i);else if("index"===o){if(e.indexArgs.push(i),i<e.pre.args.length&&e.pre.args[i].count>0)throw new Error("cwise: pre() block may not reference array index");if(i<e.body.args.length&&e.body.args[i].lvalue)throw new Error("cwise: body() block may not write to array index");if(i<e.post.args.length&&e.post.args[i].count>0)throw new Error("cwise: post() block may not reference array index")}else if("shape"===o){if(e.shapeArgs.push(i),i<e.pre.args.length&&e.pre.args[i].lvalue)throw new Error("cwise: pre() block may not write to array shape");if(i<e.body.args.length&&e.body.args[i].lvalue)throw new Error("cwise: body() block may not write to array shape");if(i<e.post.args.length&&e.post.args[i].lvalue)throw new Error("cwise: post() block may not write to array shape")}else{if("object"!=typeof o||!o.offset)throw new Error("cwise: Unknown argument type "+r[i]);e.argTypes[i]="offset",e.offsetArgs.push({array:o.array,offset:o.offset}),e.offsetArgIndex.push(i)}}if(e.arrayArgs.length<=0)throw new Error("cwise: No array arguments specified");if(e.pre.args.length>r.length)throw new Error("cwise: Too many arguments in pre() block");if(e.body.args.length>r.length)throw new Error("cwise: Too many arguments in body() block");if(e.post.args.length>r.length)throw new Error("cwise: Too many arguments in post() block");return e.debug=!!t.printCode||!!t.debug,e.funcName=t.funcName||"cwise",e.blockSize=t.blockSize||64,n(e)}},{"./lib/thunk.js":15}],14:[function(t,e,r){"use strict";var n=t("uniq");function i(t,e,r){var n,i,o=t.length,a=e.arrayArgs.length,s=e.indexArgs.length>0,u=[],l=[],c=0,h=0;for(n=0;n<o;++n)l.push(["i",n,"=0"].join(""));for(i=0;i<a;++i)for(n=0;n<o;++n)h=c,c=t[n],0===n?l.push(["d",i,"s",n,"=t",i,"p",c].join("")):l.push(["d",i,"s",n,"=(t",i,"p",c,"-s",h,"*t",i,"p",h,")"].join(""));for(l.length>0&&u.push("var "+l.join(",")),n=o-1;n>=0;--n)c=t[n],u.push(["for(i",n,"=0;i",n,"<s",c,";++i",n,"){"].join(""));for(u.push(r),n=0;n<o;++n){for(h=c,c=t[n],i=0;i<a;++i)u.push(["p",i,"+=d",i,"s",n].join(""));s&&(n>0&&u.push(["index[",h,"]-=s",h].join("")),u.push(["++index[",c,"]"].join(""))),u.push("}")}return u.join("\n")}function o(t,e,r){for(var n=t.body,i=[],o=[],a=0;a<t.args.length;++a){var s=t.args[a];if(!(s.count<=0)){var u=new RegExp(s.name,"g"),l="",c=e.arrayArgs.indexOf(a);switch(e.argTypes[a]){case"offset":var h=e.offsetArgIndex.indexOf(a);c=e.offsetArgs[h].array,l="+q"+h;case"array":l="p"+c+l;var p="l"+a,f="a"+c;if(0===e.arrayBlockIndices[c])1===s.count?"generic"===r[c]?s.lvalue?(i.push(["var ",p,"=",f,".get(",l,")"].join("")),n=n.replace(u,p),o.push([f,".set(",l,",",p,")"].join(""))):n=n.replace(u,[f,".get(",l,")"].join("")):n=n.replace(u,[f,"[",l,"]"].join("")):"generic"===r[c]?(i.push(["var ",p,"=",f,".get(",l,")"].join("")),n=n.replace(u,p),s.lvalue&&o.push([f,".set(",l,",",p,")"].join(""))):(i.push(["var ",p,"=",f,"[",l,"]"].join("")),n=n.replace(u,p),s.lvalue&&o.push([f,"[",l,"]=",p].join("")));else{for(var d=[s.name],m=[l],g=0;g<Math.abs(e.arrayBlockIndices[c]);g++)d.push("\\s*\\[([^\\]]+)\\]"),m.push("$"+(g+1)+"*t"+c+"b"+g);if(u=new RegExp(d.join(""),"g"),l=m.join("+"),"generic"===r[c])throw new Error("cwise: Generic arrays not supported in combination with blocks!");n=n.replace(u,[f,"[",l,"]"].join(""))}break;case"scalar":n=n.replace(u,"Y"+e.scalarArgs.indexOf(a));break;case"index":n=n.replace(u,"index");break;case"shape":n=n.replace(u,"shape")}}}return[i.join("\n"),n,o.join("\n")].join("\n").trim()}e.exports=function(t,e){for(var r=e[1].length-Math.abs(t.arrayBlockIndices[0])|0,a=new Array(t.arrayArgs.length),s=new Array(t.arrayArgs.length),u=0;u<t.arrayArgs.length;++u)s[u]=e[2*u],a[u]=e[2*u+1];var l=[],c=[],h=[],p=[],f=[];for(u=0;u<t.arrayArgs.length;++u){t.arrayBlockIndices[u]<0?(h.push(0),p.push(r),l.push(r),c.push(r+t.arrayBlockIndices[u])):(h.push(t.arrayBlockIndices[u]),p.push(t.arrayBlockIndices[u]+r),l.push(0),c.push(t.arrayBlockIndices[u]));for(var d=[],m=0;m<a[u].length;m++)h[u]<=a[u][m]&&a[u][m]<p[u]&&d.push(a[u][m]-h[u]);f.push(d)}var g=["SS"],v=["'use strict'"],_=[];for(m=0;m<r;++m)_.push(["s",m,"=SS[",m,"]"].join(""));for(u=0;u<t.arrayArgs.length;++u){for(g.push("a"+u),g.push("t"+u),g.push("p"+u),m=0;m<r;++m)_.push(["t",u,"p",m,"=t",u,"[",h[u]+m,"]"].join(""));for(m=0;m<Math.abs(t.arrayBlockIndices[u]);++m)_.push(["t",u,"b",m,"=t",u,"[",l[u]+m,"]"].join(""))}for(u=0;u<t.scalarArgs.length;++u)g.push("Y"+u);if(t.shapeArgs.length>0&&_.push("shape=SS.slice(0)"),t.indexArgs.length>0){var y=new Array(r);for(u=0;u<r;++u)y[u]="0";_.push(["index=[",y.join(","),"]"].join(""))}for(u=0;u<t.offsetArgs.length;++u){var b=t.offsetArgs[u],x=[];for(m=0;m<b.offset.length;++m)0!==b.offset[m]&&(1===b.offset[m]?x.push(["t",b.array,"p",m].join("")):x.push([b.offset[m],"*t",b.array,"p",m].join("")));0===x.length?_.push("q"+u+"=0"):_.push(["q",u,"=",x.join("+")].join(""))}var w=n([].concat(t.pre.thisVars).concat(t.body.thisVars).concat(t.post.thisVars));for((_=_.concat(w)).length>0&&v.push("var "+_.join(",")),u=0;u<t.arrayArgs.length;++u)v.push("p"+u+"|=0");t.pre.body.length>3&&v.push(o(t.pre,t,s));var k=o(t.body,t,s),E=function(t){for(var e=0,r=t[0].length;e<r;){for(var n=1;n<t.length;++n)if(t[n][e]!==t[0][e])return e;++e}return e}(f);E<r?v.push(function(t,e,r,n){for(var o=e.length,a=r.arrayArgs.length,s=r.blockSize,u=r.indexArgs.length>0,l=[],c=0;c<a;++c)l.push(["var offset",c,"=p",c].join(""));for(c=t;c<o;++c)l.push(["for(var j"+c+"=SS[",e[c],"]|0;j",c,">0;){"].join("")),l.push(["if(j",c,"<",s,"){"].join("")),l.push(["s",e[c],"=j",c].join("")),l.push(["j",c,"=0"].join("")),l.push(["}else{s",e[c],"=",s].join("")),l.push(["j",c,"-=",s,"}"].join("")),u&&l.push(["index[",e[c],"]=j",c].join(""));for(c=0;c<a;++c){for(var h=["offset"+c],p=t;p<o;++p)h.push(["j",p,"*t",c,"p",e[p]].join(""));l.push(["p",c,"=(",h.join("+"),")"].join(""))}for(l.push(i(e,r,n)),c=t;c<o;++c)l.push("}");return l.join("\n")}(E,f[0],t,k)):v.push(i(f[0],t,k)),t.post.body.length>3&&v.push(o(t.post,t,s)),t.debug&&console.log("-----Generated cwise routine for ",e,":\n"+v.join("\n")+"\n----------");var T=[t.funcName||"unnamed","_cwise_loop_",a[0].join("s"),"m",E,function(t){for(var e=new Array(t.length),r=!0,n=0;n<t.length;++n){var i=t[n],o=i.match(/\d+/);o=o?o[0]:"",0===i.charAt(0)?e[n]="u"+i.charAt(1)+o:e[n]=i.charAt(0)+o,n>0&&(r=r&&e[n]===e[n-1])}return r?e[0]:e.join("")}(s)].join("");return new Function(["function ",T,"(",g.join(","),"){",v.join("\n"),"} return ",T].join(""))()}},{uniq:192}],15:[function(t,e,r){"use strict";var n=t("./compile.js");e.exports=function(t){var e=["'use strict'","var CACHED={}"],r=[],i=t.funcName+"_cwise_thunk";e.push(["return function ",i,"(",t.shimArgs.join(","),"){"].join(""));for(var o=[],a=[],s=[["array",t.arrayArgs[0],".shape.slice(",Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]<0?","+t.arrayBlockIndices[0]+")":")"].join("")],u=[],l=[],c=0;c<t.arrayArgs.length;++c){var h=t.arrayArgs[c];r.push(["t",h,"=array",h,".dtype,","r",h,"=array",h,".order"].join("")),o.push("t"+h),o.push("r"+h),a.push("t"+h),a.push("r"+h+".join()"),s.push("array"+h+".data"),s.push("array"+h+".stride"),s.push("array"+h+".offset|0"),c>0&&(u.push("array"+t.arrayArgs[0]+".shape.length===array"+h+".shape.length+"+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[c]))),l.push("array"+t.arrayArgs[0]+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[0])+"]===array"+h+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[c])+"]"))}for(t.arrayArgs.length>1&&(e.push("if (!("+u.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same dimensionality!')"),e.push("for(var shapeIndex=array"+t.arrayArgs[0]+".shape.length-"+Math.abs(t.arrayBlockIndices[0])+"; shapeIndex--\x3e0;) {"),e.push("if (!("+l.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same shape!')"),e.push("}")),c=0;c<t.scalarArgs.length;++c)s.push("scalar"+t.scalarArgs[c]);return r.push(["type=[",a.join(","),"].join()"].join("")),r.push("proc=CACHED[type]"),e.push("var "+r.join(",")),e.push(["if(!proc){","CACHED[type]=proc=compile([",o.join(","),"])}","return proc(",s.join(","),")}"].join("")),t.debug&&console.log("-----Generated thunk:\n"+e.join("\n")+"\n----------"),new Function("compile",e.join("\n"))(n.bind(void 0,t))}},{"./compile.js":14}],16:[function(t,e,r){(function(t){"use strict";e.exports=function(e){if(!/^data\:/i.test(e))throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');var r=(e=e.replace(/\r?\n/g,"")).indexOf(",");if(-1===r||r<=4)throw new TypeError("malformed data: URI");for(var n=e.substring(5,r).split(";"),i=n[0]||"text/plain",o=i,a=!1,s="",u=1;u<n.length;u++)"base64"==n[u]?a=!0:(o+=";"+n[u],0==n[u].indexOf("charset=")&&(s=n[u].substring(8)));n[0]||s.length||(o+=";charset=US-ASCII",s="US-ASCII");var l=unescape(e.substring(r+1)),c=new t(l,a?"base64":"ascii");return c.type=i,c.typeFull=o,c.charset=s,c}}).call(this,t("buffer").Buffer)},{buffer:71}],17:[function(t,e,r){"use strict";var n={single_source_shortest_paths:function(t,e,r){var i={},o={};o[e]=0;var a,s,u,l,c,h,p,f=n.PriorityQueue.make();for(f.push(e,0);!f.empty();)for(u in s=(a=f.pop()).value,l=a.cost,c=t[s]||{})c.hasOwnProperty(u)&&(h=l+c[u],p=o[u],(void 0===o[u]||p>h)&&(o[u]=h,f.push(u,h),i[u]=s));if(void 0!==r&&void 0===o[r]){var d=["Could not find a path from ",e," to ",r,"."].join("");throw new Error(d)}return i},extract_shortest_path_from_predecessor_list:function(t,e){for(var r=[],n=e;n;)r.push(n),t[n],n=t[n];return r.reverse(),r},find_path:function(t,e,r){var i=n.single_source_shortest_paths(t,e,r);return n.extract_shortest_path_from_predecessor_list(i,r)},PriorityQueue:{make:function(t){var e,r=n.PriorityQueue,i={};for(e in t=t||{},r)r.hasOwnProperty(e)&&(i[e]=r[e]);return i.queue=[],i.sorter=t.sorter||r.default_sorter,i},default_sorter:function(t,e){return t.cost-e.cost},push:function(t,e){var r={value:t,cost:e};this.queue.push(r),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}};void 0!==e&&(e.exports=n)},{}],18:[function(t,e,r){var n=function(e){(e=e||{}).width=e.width||800,e.height=e.height||600;var r=e.model||{vertex:[-1,-1,0,1,-1,0,1,1,0,-1,1,0],indices:[0,1,2,0,2,3,2,1,0,3,2,0],textureCoords:[0,0,1,0,1,1,0,1]},n=e.lens||{a:1,b:1,Fx:0,Fy:0,scale:1.5},i=e.fov||{x:1,y:1},o=e.image||"images/barrel-distortion.png",a=function(t){var e=document.querySelector(t);if(null==e)throw new Error("there is no canvas on this page");for(var r=["webgl","experimental-webgl","webkit-3d","moz-webgl"],n=0;n<r.length;++n){var i;try{i=e.getContext(r[n],{preserveDrawingBuffer:!0})}catch(t){continue}if(i)return i}throw new Error("WebGL is not supported!")}(e.selector||"#canvas"),s=t("./shaders"),u=x(e.vertexSrc||"vertex"),l=x(e.fragmentSrc||"fragment3"),c=function(t,e,r){var n=t.createShader(t.VERTEX_SHADER);t.shaderSource(n,e),t.compileShader(n),a(n);var i=t.createShader(t.FRAGMENT_SHADER);t.shaderSource(i,r),t.compileShader(i),a(i);var o=t.createProgram();return t.attachShader(o,n),t.attachShader(o,i),t.linkProgram(o),o;function a(e){if(!t.getShaderParameter(e,t.COMPILE_STATUS))throw new Error(t.getShaderInfoLog(e))}}(a,u,l);a.useProgram(c);var h,p,f,d,m=a.getAttribLocation(c,"aVertexPosition"),g=a.getAttribLocation(c,"aTextureCoord"),v=a.getUniformLocation(c,"uSampler"),_=a.getUniformLocation(c,"uLensS"),y=a.getUniformLocation(c,"uLensF"),b=a.getUniformLocation(c,"uFov");function x(t,e){if(s.hasOwnProperty(t))return s[t];var r=new XMLHttpRequest;if(e)r.addEventListener("readystatechange",function(){4===r.readyState&&(200===r.status?e(null,r.responseText):e(new Error("fail to load!")))}),r.open("GET",t,!0),r.send(null);else if(r.open("GET",t,!1),r.send(null),200==r.status)return r.responseText}function w(t,r){var n=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame;if(!0===t){if(!n)throw new Error("do not support 'requestAnimationFram'");n(o)}else n(o);var i=null;function o(a){i||(i=a);var s=a-i;i=a,e.runner(s),r&&r(),!0===t&&n(o)}}function k(t,e){a.viewport(0,0,t,e),a.canvas.width=t,a.canvas.height=e}function E(t,r){d=function(t,r,n){var i=t.createTexture(),o=new Image;return o.addEventListener("load",function(){!function(t,e,r,n){n=n||t.createTexture(),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.bindTexture(t.TEXTURE_2D,null),r&&r(null,n)}(t,o,n,i),e.width=o.width,e.height=o.height,k(e.width,e.height)}),o.src=r,i}(a,t,function(){w(e.animate,r)})}return h=a.createBuffer(),a.bindBuffer(a.ARRAY_BUFFER,h),a.bufferData(a.ARRAY_BUFFER,new Float32Array(r.vertex),a.STATIC_DRAW),a.bindBuffer(a.ARRAY_BUFFER,null),p=a.createBuffer(),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,p),a.bufferData(a.ELEMENT_ARRAY_BUFFER,new Uint16Array(r.indices),a.STATIC_DRAW),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,null),f=a.createBuffer(),a.bindBuffer(a.ARRAY_BUFFER,f),a.bufferData(a.ARRAY_BUFFER,new Float32Array(r.textureCoords),a.STATIC_DRAW),a.bindBuffer(a.ARRAY_BUFFER,null),e.runner=e.runner||function(t){a.clearColor(0,0,0,1),a.enable(a.DEPTH_TEST),a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT),a.enableVertexAttribArray(m),a.bindBuffer(a.ARRAY_BUFFER,h),a.vertexAttribPointer(m,3,a.FLOAT,!1,0,0),a.enableVertexAttribArray(g),a.bindBuffer(a.ARRAY_BUFFER,f),a.vertexAttribPointer(g,2,a.FLOAT,!1,0,0),a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,d),a.uniform1i(v,0),a.uniform3fv(_,[n.a,n.b,n.scale]),a.uniform2fv(y,[n.Fx,n.Fy]),a.uniform2fv(b,[i.x,i.y]),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,p),a.drawElements(a.TRIANGLES,r.indices.length,a.UNSIGNED_SHORT,0)},E(o),{options:e,gl:a,lens:n,fov:i,run:w,getImage:function(t){var e=new Image;return e.src=a.canvas.toDataURL(t||"image/jpeg"),e},setImage:E}};"undefined"!=typeof document?window.FisheyeGl=n:e.exports=n},{"./shaders":19}],19:[function(t,e,r){e.exports={fragment:t("./shaders/fragment.glfs"),fragment2:t("./shaders/fragment2.glfs"),fragment3:t("./shaders/fragment3.glfs"),method1:t("./shaders/method1.glfs"),method2:t("./shaders/method2.glfs"),vertex:t("./shaders/vertex.glvs")}},{"./shaders/fragment.glfs":20,"./shaders/fragment2.glfs":21,"./shaders/fragment3.glfs":22,"./shaders/method1.glfs":23,"./shaders/method2.glfs":24,"./shaders/vertex.glvs":25}],20:[function(t,e,r){e.exports="#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec4 uLens;\nuniform vec2 uFov;\nuniform sampler2D uSampler;\nvarying vec3 vPosition;\nvarying vec2 vTextureCoord;\nvec2 GLCoord2TextureCoord(vec2 glCoord) {\n\treturn glCoord * vec2(1.0, -1.0)/ 2.0 + vec2(0.5, 0.5);\n}\nvoid main(void){\n\tfloat scale = uLens.w;\n\tfloat F = uLens.z;\n\t\n\tfloat L = length(vec3(vPosition.xy/scale, F));\n\tvec2 vMapping = vPosition.xy * F / L;\n\tvMapping = vMapping * uLens.xy;\n\tvMapping = GLCoord2TextureCoord(vMapping/scale);\n\tvec4 texture = texture2D(uSampler, vMapping);\n\tif(vMapping.x > 0.99 || vMapping.x < 0.01 || vMapping.y > 0.99 || vMapping.y < 0.01){\n\t\ttexture = vec4(0.0, 0.0, 0.0, 1.0);\n\t} \n\tgl_FragColor = texture;\n}\n"},{}],21:[function(t,e,r){e.exports="#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec4 uLens;\nuniform vec2 uFov;\nuniform sampler2D uSampler;\nvarying vec3 vPosition;\nvarying vec2 vTextureCoord;\nvec2 TextureCoord2GLCoord(vec2 textureCoord) {\n\treturn (textureCoord - vec2(0.5, 0.5)) * 2.0;\n}\nvec2 GLCoord2TextureCoord(vec2 glCoord) {\n\treturn glCoord / 2.0 + vec2(0.5, 0.5);\n}\nvoid main(void){\n\tfloat correctionRadius = 0.5;\n\tfloat distance = sqrt(vPosition.x * vPosition.x + vPosition.y * vPosition.y) / correctionRadius;\n\tfloat theta = 1.0;\n\tif(distance != 0.0){\n\t\ttheta = atan(distance);\n\t}\n\tvec2 vMapping = theta * vPosition.xy;\n\tvMapping = GLCoord2TextureCoord(vMapping);\n\t\t\n\tvec4 texture = texture2D(uSampler, vMapping);\n\tif(vMapping.x > 0.99 || vMapping.x < 0.01 || vMapping.y > 0.99 || vMapping.y < 0.01){\n\t\ttexture = vec4(0.0, 0.0, 0.0, 1.0);\n\t} \n\tgl_FragColor = texture;\n}\n"},{}],22:[function(t,e,r){e.exports="#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec3 uLensS;\nuniform vec2 uLensF;\nuniform vec2 uFov;\nuniform sampler2D uSampler;\nvarying vec3 vPosition;\nvarying vec2 vTextureCoord;\nvec2 GLCoord2TextureCoord(vec2 glCoord) {\n\treturn glCoord * vec2(1.0, -1.0)/ 2.0 + vec2(0.5, 0.5);\n}\nvoid main(void){\n\tfloat scale = uLensS.z;\n\tvec3 vPos = vPosition;\n\tfloat Fx = uLensF.x;\n\tfloat Fy = uLensF.y;\n\tvec2 vMapping = vPos.xy;\n\tvMapping.x = vMapping.x + ((pow(vPos.y, 2.0)/scale)*vPos.x/scale)*-Fx;\n\tvMapping.y = vMapping.y + ((pow(vPos.x, 2.0)/scale)*vPos.y/scale)*-Fy;\n\tvMapping = vMapping * uLensS.xy;\n\tvMapping = GLCoord2TextureCoord(vMapping/scale);\n\tvec4 texture = texture2D(uSampler, vMapping);\n\tif(vMapping.x > 0.99 || vMapping.x < 0.01 || vMapping.y > 0.99 || vMapping.y < 0.01){\n\t\ttexture = vec4(0.0, 0.0, 0.0, 1.0);\n\t}\n\tgl_FragColor = texture;\n}\n"},{}],23:[function(t,e,r){e.exports="#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec4 uLens;\nuniform vec2 uFov;\nuniform sampler2D uSampler;\nvarying vec3 vPosition;\nvarying vec2 vTextureCoord;\nvec2 TextureCoord2GLCoord(vec2 textureCoord) {\n\treturn (textureCoord - vec2(0.5, 0.5)) * 2.0;\n}\nvec2 GLCoord2TextureCoord(vec2 glCoord) {\n\treturn glCoord / 2.0 + vec2(0.5, 0.5);\n}\nvoid main(void){\n\tvec2 vMapping = vec2(vTextureCoord.x, 1.0 - vTextureCoord.y);\n\tvMapping = TextureCoord2GLCoord(vMapping);\n\t//TODO insert Code\n\tfloat F = uLens.x/ uLens.w;\n\tfloat seta = length(vMapping) / F;\n\tvMapping = sin(seta) * F / length(vMapping) * vMapping;\n\tvMapping *= uLens.w * 1.414;\n\tvMapping = GLCoord2TextureCoord(vMapping);\n\tvec4 texture = texture2D(uSampler, vMapping);\n\tif(vMapping.x > 0.99 || vMapping.x < 0.01 || vMapping.y > 0.99 || vMapping.y < 0.01){\n\t\ttexture = vec4(0.0, 0.0, 0.0, 1.0);\n\t} \n\tgl_FragColor = texture;\n}\n"},{}],24:[function(t,e,r){e.exports="#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec4 uLens;\nuniform vec2 uFov;\nuniform sampler2D uSampler;\nvarying vec3 vPosition;\nvarying vec2 vTextureCoord;\nvec2 TextureCoord2GLCoord(vec2 textureCoord) {\n\treturn (textureCoord - vec2(0.5, 0.5)) * 2.0;\n}\nvec2 GLCoord2TextureCoord(vec2 glCoord) {\n\treturn glCoord / 2.0 + vec2(0.5, 0.5);\n}\nvoid main(void){\n\tvec2 vMapping = vec2(vTextureCoord.x, 1.0 - vTextureCoord.y);\n\tvMapping = TextureCoord2GLCoord(vMapping);\n\t//TOD insert Code\n\tfloat F = uLens.x/ uLens.w;\n\tfloat seta = length(vMapping) / F;\n\tvMapping = sin(seta) * F / length(vMapping) * vMapping;\n\tvMapping *= uLens.w * 1.414;\n\tvMapping = GLCoord2TextureCoord(vMapping);\n\tvec4 texture = texture2D(uSampler, vMapping);\n\tif(vMapping.x > 0.99 || vMapping.x < 0.01 || vMapping.y > 0.99 || vMapping.y < 0.01){\n\t\ttexture = vec4(0.0, 0.0, 0.0, 1.0);\n\t} \n\tgl_FragColor = texture;\n}\n"},{}],25:[function(t,e,r){e.exports="#ifdef GL_ES\nprecision highp float;\n#endif\nattribute vec3 aVertexPosition;\nattribute vec2 aTextureCoord;\nvarying vec3 vPosition;\nvarying vec2 vTextureCoord;\nvoid main(void){\n\tvPosition = aVertexPosition;\n\tvTextureCoord = aTextureCoord;\n\tgl_Position = vec4(vPosition,1.0);\n}\n"},{}],26:[function(t,e,r){(function(r,n){"use strict";var i=t("path"),o=t("ndarray"),a=t("omggif").GifReader,s=(t("ndarray-pack"),t("through"),t("data-uri-to-buffer"));function u(t,e){var r;try{r=new a(t)}catch(t){return void e(t)}if(r.numFrames()>0){var n=[r.numFrames(),r.height,r.width,4],i=new Uint8Array(n[0]*n[1]*n[2]*n[3]),s=o(i,n);try{for(var u=0;u<r.numFrames();++u)r.decodeAndBlitFrameRGBA(u,i.subarray(s.index(u,0,0,0),s.index(u+1,0,0,0)))}catch(t){return void e(t)}e(null,s.transpose(0,2,1))}else{n=[r.height,r.width,4],i=new Uint8Array(n[0]*n[1]*n[2]),s=o(i,n);try{r.decodeAndBlitFrameRGBA(0,i)}catch(t){return void e(t)}e(null,s.transpose(1,0))}}function l(t,e){n.nextTick(function(){try{var r=s(t);r?u(function(t){if(void 0===t[0]){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;++n)r[n]=t.get(n);return r}return new Uint8Array(t)}(r),e):e(new Error("Error parsing data URI"))}catch(t){e(t)}})}e.exports=function(t,e,n){n||(n=e,e="");var a=i.extname(t);switch(e||a.toUpperCase()){case".GIF":!function(t,e){var r=new XMLHttpRequest;r.open("GET",t,!0),r.responseType="arraybuffer",r.overrideMimeType&&r.overrideMimeType("application/binary"),r.onerror=function(t){e(t)},r.onload=function(){4===r.readyState&&u(new Uint8Array(r.response),e)},r.send()}(t,n);break;default:r.isBuffer(t)&&(t="data:"+e+";base64,"+t.toString("base64")),0===t.indexOf("data:image/gif;")?l(t,n):function(t,e){var r=new Image;r.crossOrigin="Anonymous",r.onload=function(){var t=document.createElement("canvas");t.width=r.width,t.height=r.height;var n=t.getContext("2d");n.drawImage(r,0,0);var i=n.getImageData(0,0,r.width,r.height);e(null,o(new Uint8Array(i.data),[r.width,r.height,4],[4,4*r.width,1],0))},r.onerror=function(t){e(t)},r.src=t}(t,n)}}}).call(this,{isBuffer:t("../is-buffer/index.js")},t("_process"))},{"../is-buffer/index.js":96,_process:136,"data-uri-to-buffer":27,ndarray:105,"ndarray-pack":103,omggif:113,path:114,through:189}],27:[function(t,e,r){(function(t){e.exports=function(e){if(!/^data\:/i.test(e))throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');var r=(e=e.replace(/\r?\n/g,"")).indexOf(",");if(-1===r||r<=4)throw new TypeError("malformed data: URI");for(var n=e.substring(5,r).split(";"),i=!1,o="US-ASCII",a=0;a<n.length;a++)"base64"==n[a]?i=!0:0==n[a].indexOf("charset=")&&(o=n[a].substring(8));var s=unescape(e.substring(r+1)),u=new t(s,i?"base64":"ascii");return u.type=n[0]||"text/plain",u.charset=o,u}}).call(this,t("buffer").Buffer)},{buffer:71}],28:[function(t,e,r){(function(r){t("assert"),t("events").EventEmitter;var n=t("readable-stream"),i=t("util"),o=t("./TypedNeuQuant.js"),a=t("./LZWEncoder.js");function s(t){n.call(this,t),this.okayToPush=!0,this.resetData()}function u(t,e,r){var n=(r=r||{}).highWaterMark;s.call(this,{highWaterMark:n||0===n?n:65536}),this.width=~~t,this.height=~~e,this.transparent=null,this.transIndex=0,this.repeat=-1,this.delay=0,this.pixels=null,this.indexedPixels=null,this.colorDepth=null,this.colorTab=null,this.usedEntry=[],this.palSize=7,this.dispose=-1,this.firstFrame=!0,this.sample=10;var i=this;function o(){i.flushData()}this.on("writeHeader#stop",o),this.on("frame#stop",o),this.on("finish#stop",function(){o(),i.push(null)})}i.inherits(s,n),s.prototype._read=function(){this.okayToPush=!0},s.prototype.resetData=function(){this.data=[]},s.prototype.flushData=function(){if(!this.okayToPush){var t=new Error("GIF memory limit exceeded. Please `read` from GIF before writing additional frames/information.");return this.emit("error",t)}var e=new r(this.data);this.resetData(),this.okayToPush=this.push(e)},s.prototype.writeByte=function(t){this.data.push(t)},s.prototype.writeUTFBytes=function(t){for(var e=t.length,r=0;r<e;r++)this.writeByte(t.charCodeAt(r))},s.prototype.writeBytes=function(t,e,r){for(var n=r||t.length,i=e||0;i<n;i++)this.writeByte(t[i])},i.inherits(u,s),u.prototype.setDelay=function(t){this.delay=Math.round(t/10)},u.prototype.setFrameRate=function(t){this.delay=Math.round(100/t)},u.prototype.setDispose=function(t){t>=0&&(this.dispose=t)},u.prototype.setRepeat=function(t){this.repeat=t},u.prototype.setTransparent=function(t){this.transparent=t},u.prototype.analyzeImage=function(t){this.setImagePixels(this.removeAlphaChannel(t)),this.analyzePixels()},u.prototype.writeImageInfo=function(){this.firstFrame&&(this.writeLSD(),this.writePalette(),this.repeat>=0&&this.writeNetscapeExt()),this.writeGraphicCtrlExt(),this.writeImageDesc(),this.firstFrame||this.writePalette(),this.firstFrame=!1},u.prototype.outputImage=function(){this.writePixels()},u.prototype.addFrame=function(t){this.emit("frame#start"),this.analyzeImage(t),this.writeImageInfo(),this.outputImage(),this.emit("frame#stop")},u.prototype.finish=function(){this.emit("finish#start"),this.writeByte(59),this.emit("finish#stop")},u.prototype.setQuality=function(t){t<1&&(t=1),this.sample=t},u.prototype.writeHeader=function(){this.emit("writeHeader#start"),this.writeUTFBytes("GIF89a"),this.emit("writeHeader#stop")},u.prototype.analyzePixels=function(){var t=this.pixels.length/3;this.indexedPixels=new Uint8Array(t);var e=new o(this.pixels,this.sample);e.buildColormap(),this.colorTab=e.getColormap();for(var r=0,n=0;n<t;n++){var i=e.lookupRGB(255&this.pixels[r++],255&this.pixels[r++],255&this.pixels[r++]);this.usedEntry[i]=!0,this.indexedPixels[n]=i}this.pixels=null,this.colorDepth=8,this.palSize=7,null!==this.transparent&&(this.transIndex=this.findClosest(this.transparent))},u.prototype.findClosest=function(t){if(null===this.colorTab)return-1;for(var e=(16711680&t)>>16,r=(65280&t)>>8,n=255&t,i=0,o=16777216,a=this.colorTab.length,s=0;s<a;){var u=e-(255&this.colorTab[s++]),l=r-(255&this.colorTab[s++]),c=n-(255&this.colorTab[s]),h=u*u+l*l+c*c,p=s/3;this.usedEntry[p]&&h<o&&(o=h,i=p),s++}return i},u.prototype.removeAlphaChannel=function(t){for(var e=this.width,r=this.height,n=new Uint8Array(e*r*3),i=0,o=0;o<r;o++)for(var a=0;a<e;a++){var s=o*e*4+4*a;n[i++]=t[s],n[i++]=t[s+1],n[i++]=t[s+2]}return n},u.prototype.setImagePixels=function(t){this.pixels=t},u.prototype.writeGraphicCtrlExt=function(){var t,e;this.writeByte(33),this.writeByte(249),this.writeByte(4),null===this.transparent?(t=0,e=0):(t=1,e=2),this.dispose>=0&&(e=7&dispose),e<<=2,this.writeByte(0|e|t),this.writeShort(this.delay),this.writeByte(this.transIndex),this.writeByte(0)},u.prototype.writeImageDesc=function(){this.writeByte(44),this.writeShort(0),this.writeShort(0),this.writeShort(this.width),this.writeShort(this.height),this.firstFrame?this.writeByte(0):this.writeByte(128|this.palSize)},u.prototype.writeLSD=function(){this.writeShort(this.width),this.writeShort(this.height),this.writeByte(240|this.palSize),this.writeByte(0),this.writeByte(0)},u.prototype.writeNetscapeExt=function(){this.writeByte(33),this.writeByte(255),this.writeByte(11),this.writeUTFBytes("NETSCAPE2.0"),this.writeByte(3),this.writeByte(1),this.writeShort(this.repeat),this.writeByte(0)},u.prototype.writePalette=function(){this.writeBytes(this.colorTab);for(var t=768-this.colorTab.length,e=0;e<t;e++)this.writeByte(0)},u.prototype.writeShort=function(t){this.writeByte(255&t),this.writeByte(t>>8&255)},u.prototype.writePixels=function(){new a(this.width,this.height,this.indexedPixels,this.colorDepth).encode(this)},u.prototype.stream=function(){return this},u.ByteCapacitor=s,e.exports=u}).call(this,t("buffer").Buffer)},{"./LZWEncoder.js":29,"./TypedNeuQuant.js":30,assert:64,buffer:71,events:72,"readable-stream":36,util:196}],29:[function(t,e,r){var n=-1,i=12,o=5003,a=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535];e.exports=function(t,e,r,s){var u,l,c,h,p,f,d,m,g,v=Math.max(2,s),_=new Uint8Array(256),y=new Int32Array(o),b=new Int32Array(o),x=0,w=0,k=!1;function E(t,e){_[l++]=t,l>=254&&A(e)}function T(t){S(o),w=m+2,k=!0,B(m,t)}function S(t){for(var e=0;e<t;++e)y[e]=-1}function A(t){l>0&&(t.writeByte(l),t.writeBytes(_,0,l),l=0)}function C(t){return(1<<t)-1}function R(){return 0===h?n:(--h,255&r[p++])}function B(t,e){for(u&=a[x],x>0?u|=t<<x:u=t,x+=f;x>=8;)E(255&u,e),u>>=8,x-=8;if((w>c||k)&&(k?(c=C(f=d),k=!1):c=++f==i?1<<i:C(f)),t==g){for(;x>0;)E(255&u,e),u>>=8,x-=8;A(e)}}this.encode=function(r){r.writeByte(v),h=t*e,p=0,function(t,e){var r,a,s,u,h,p,v;for(k=!1,c=C(f=d=t),g=1+(m=1<<t-1),w=m+2,l=0,u=R(),v=0,r=o;r<65536;r*=2)++v;v=8-v,S(p=o),B(m,e);t:for(;(a=R())!=n;)if(r=(a<<i)+u,y[s=a<<v^u]!==r){if(y[s]>=0){h=p-s,0===s&&(h=1);do{if((s-=h)<0&&(s+=p),y[s]===r){u=b[s];continue t}}while(y[s]>=0)}B(u,e),u=a,w<1<<i?(b[s]=w++,y[s]=r):T(e)}else u=b[s];B(u,e),B(g,e)}(v+1,r),r.writeByte(0)}}},{}],30:[function(t,e,r){var n=100,i=256,o=i-1,a=4,s=16,u=1<<s,l=10,c=10,h=u>>c,p=u<<l-c,f=6,d=(i>>3)*(1<<f),m=30,g=1024,v=256,_=1<<18,y=499,b=491,x=487,w=503,k=3*w;e.exports=function(t,e){var r,E,T,S,A;function C(t,e,n,i,o){r[e][0]-=t*(r[e][0]-n)/g,r[e][1]-=t*(r[e][1]-i)/g,r[e][2]-=t*(r[e][2]-o)/g}function R(t,e,n,o,a){for(var s,u,l=Math.abs(e-t),c=Math.min(e+t,i),h=e+1,p=e-1,f=1;h<c||p>l;)u=A[f++],h<c&&((s=r[h++])[0]-=u*(s[0]-n)/_,s[1]-=u*(s[1]-o)/_,s[2]-=u*(s[2]-a)/_),p>l&&((s=r[p--])[0]-=u*(s[0]-n)/_,s[1]-=u*(s[1]-o)/_,s[2]-=u*(s[2]-a)/_)}function B(t,e,n){var o,u,f,d,m,g=~(1<<31),v=g,_=-1,y=_;for(o=0;o<i;o++)u=r[o],(f=Math.abs(u[0]-t)+Math.abs(u[1]-e)+Math.abs(u[2]-n))<g&&(g=f,_=o),(d=f-(T[o]>>s-a))<v&&(v=d,y=o),m=S[o]>>c,S[o]-=m,T[o]+=m<<l;return S[_]+=h,T[_]-=p,y}this.buildColormap=function(){!function(){var t,e;for(r=[],E=new Int32Array(256),T=new Int32Array(i),S=new Int32Array(i),A=new Int32Array(i>>3),t=0;t<i;t++)e=(t<<a+8)/i,r[t]=new Float64Array([e,e,e,0]),S[t]=u/i,T[t]=0}(),function(){var r,i,o,s,u,l,c=t.length,h=30+(e-1)/3,p=c/(3*e),_=~~(p/n),E=g,T=d,S=T>>f;for(S<=1&&(S=0),r=0;r<S;r++)A[r]=E*((S*S-r*r)*v/(S*S));c<k?(e=1,i=3):i=c%y!=0?3*y:c%b!=0?3*b:c%x!=0?3*x:3*w;var P=0;for(r=0;r<p;)if(C(E,l=B(o=(255&t[P])<<a,s=(255&t[P+1])<<a,u=(255&t[P+2])<<a),o,s,u),0!==S&&R(S,l,o,s,u),(P+=i)>=c&&(P-=c),r++,0===_&&(_=1),r%_==0)for(E-=E/h,(S=(T-=T/m)>>f)<=1&&(S=0),l=0;l<S;l++)A[l]=E*((S*S-l*l)*v/(S*S))}(),function(){for(var t=0;t<i;t++)r[t][0]>>=a,r[t][1]>>=a,r[t][2]>>=a,r[t][3]=t}(),function(){var t,e,n,a,s,u,l=0,c=0;for(t=0;t<i;t++){for(s=t,u=(n=r[t])[1],e=t+1;e<i;e++)(a=r[e])[1]<u&&(s=e,u=a[1]);if(a=r[s],t!=s&&(e=a[0],a[0]=n[0],n[0]=e,e=a[1],a[1]=n[1],n[1]=e,e=a[2],a[2]=n[2],n[2]=e,e=a[3],a[3]=n[3],n[3]=e),u!=l){for(E[l]=c+t>>1,e=l+1;e<u;e++)E[e]=t;l=u,c=t}}for(E[l]=c+o>>1,e=l+1;e<256;e++)E[e]=o}()},this.getColormap=function(){for(var t=[],e=[],n=0;n<i;n++)e[r[n][3]]=n;for(var o=0,a=0;a<i;a++){var s=e[a];t[o++]=r[s][0],t[o++]=r[s][1],t[o++]=r[s][2]}return t},this.lookupRGB=function(t,e,n){for(var o,a,s,u=1e3,l=-1,c=E[e],h=c-1;c<i||h>=0;)c<i&&((s=(a=r[c])[1]-e)>=u?c=i:(c++,s<0&&(s=-s),(o=a[0]-t)<0&&(o=-o),(s+=o)<u&&((o=a[2]-n)<0&&(o=-o),(s+=o)<u&&(u=s,l=a[3])))),h>=0&&((s=e-(a=r[h])[1])>=u?h=-1:(h--,s<0&&(s=-s),(o=a[0]-t)<0&&(o=-o),(s+=o)<u&&((o=a[2]-n)<0&&(o=-o),(s+=o)<u&&(u=s,l=a[3]))));return l}}},{}],31:[function(t,e,r){arguments[4][6][0].apply(r,arguments)},{"./_stream_readable":33,"./_stream_writable":35,_process:136,"core-util-is":12,dup:6,inherits:94}],32:[function(t,e,r){arguments[4][7][0].apply(r,arguments)},{"./_stream_transform":34,"core-util-is":12,dup:7,inherits:94}],33:[function(t,e,r){(function(r){e.exports=h;var n=t("isarray"),i=t("buffer").Buffer;h.ReadableState=c;var o=t("events").EventEmitter;o.listenerCount||(o.listenerCount=function(t,e){return t.listeners(e).length});var a,s=t("stream"),u=t("core-util-is");u.inherits=t("inherits");var l=t("util");function c(e,r){var n=t("./_stream_duplex"),i=(e=e||{}).highWaterMark,o=e.objectMode?16:16384;this.highWaterMark=i||0===i?i:o,this.highWaterMark=~~this.highWaterMark,this.buffer=[],this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.objectMode=!!e.objectMode,r instanceof n&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(a||(a=t("string_decoder/").StringDecoder),this.decoder=new a(e.encoding),this.encoding=e.encoding)}function h(e){t("./_stream_duplex");if(!(this instanceof h))return new h(e);this._readableState=new c(e,this),this.readable=!0,s.call(this)}function p(t,e,n,i,o){var a=function(t,e){var r=null;u.isBuffer(e)||u.isString(e)||u.isNullOrUndefined(e)||t.objectMode||(r=new TypeError("Invalid non-string/buffer chunk"));return r}(e,n);if(a)t.emit("error",a);else if(u.isNullOrUndefined(n))e.reading=!1,e.ended||function(t,e){if(e.decoder&&!e.ended){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,m(t)}(t,e);else if(e.objectMode||n&&n.length>0)if(e.ended&&!o){var s=new Error("stream.push() after EOF");t.emit("error",s)}else if(e.endEmitted&&o){s=new Error("stream.unshift() after end event");t.emit("error",s)}else!e.decoder||o||i||(n=e.decoder.write(n)),o||(e.reading=!1),e.flowing&&0===e.length&&!e.sync?(t.emit("data",n),t.read(0)):(e.length+=e.objectMode?1:n.length,o?e.buffer.unshift(n):e.buffer.push(n),e.needReadable&&m(t)),function(t,e){e.readingMore||(e.readingMore=!0,r.nextTick(function(){!function(t,e){var r=e.length;for(;!e.reading&&!e.flowing&&!e.ended&&e.length<e.highWaterMark&&(l("maybeReadMore read 0"),t.read(0),r!==e.length);)r=e.length;e.readingMore=!1}(t,e)}))}(t,e);else o||(e.reading=!1);return function(t){return!t.ended&&(t.needReadable||t.length<t.highWaterMark||0===t.length)}(e)}l=l&&l.debuglog?l.debuglog("stream"):function(){},u.inherits(h,s),h.prototype.push=function(t,e){var r=this._readableState;return u.isString(t)&&!r.objectMode&&(e=e||r.defaultEncoding)!==r.encoding&&(t=new i(t,e),e=""),p(this,r,t,e,!1)},h.prototype.unshift=function(t){return p(this,this._readableState,t,"",!0)},h.prototype.setEncoding=function(e){return a||(a=t("string_decoder/").StringDecoder),this._readableState.decoder=new a(e),this._readableState.encoding=e,this};var f=8388608;function d(t,e){return 0===e.length&&e.ended?0:e.objectMode?0===t?0:1:isNaN(t)||u.isNull(t)?e.flowing&&e.buffer.length?e.buffer[0].length:e.length:t<=0?0:(t>e.highWaterMark&&(e.highWaterMark=function(t){if(t>=f)t=f;else{t--;for(var e=1;e<32;e<<=1)t|=t>>e;t++}return t}(t)),t>e.length?e.ended?e.length:(e.needReadable=!0,0):t)}function m(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(l("emitReadable",e.flowing),e.emittedReadable=!0,e.sync?r.nextTick(function(){g(t)}):g(t))}function g(t){l("emit readable"),t.emit("readable"),v(t)}function v(t){var e=t._readableState;if(l("flow",e.flowing),e.flowing)do{var r=t.read()}while(null!==r&&e.flowing)}function _(t,e){var r,n=e.buffer,o=e.length,a=!!e.decoder,s=!!e.objectMode;if(0===n.length)return null;if(0===o)r=null;else if(s)r=n.shift();else if(!t||t>=o)r=a?n.join(""):i.concat(n,o),n.length=0;else{if(t<n[0].length)r=(h=n[0]).slice(0,t),n[0]=h.slice(t);else if(t===n[0].length)r=n.shift();else{r=a?"":new i(t);for(var u=0,l=0,c=n.length;l<c&&u<t;l++){var h=n[0],p=Math.min(t-u,h.length);a?r+=h.slice(0,p):h.copy(r,u,0,p),p<h.length?n[0]=h.slice(p):n.shift(),u+=p}}}return r}function y(t){var e=t._readableState;if(e.length>0)throw new Error("endReadable called on non-empty stream");e.endEmitted||(e.ended=!0,r.nextTick(function(){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}))}h.prototype.read=function(t){l("read",t);var e=this._readableState,r=t;if((!u.isNumber(t)||t>0)&&(e.emittedReadable=!1),0===t&&e.needReadable&&(e.length>=e.highWaterMark||e.ended))return l("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?y(this):m(this),null;if(0===(t=d(t,e))&&e.ended)return 0===e.length&&y(this),null;var n,i=e.needReadable;return l("need readable",i),(0===e.length||e.length-t<e.highWaterMark)&&l("length less than watermark",i=!0),(e.ended||e.reading)&&l("reading or ended",i=!1),i&&(l("do read"),e.reading=!0,e.sync=!0,0===e.length&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1),i&&!e.reading&&(t=d(r,e)),n=t>0?_(t,e):null,u.isNull(n)&&(e.needReadable=!0,t=0),e.length-=t,0!==e.length||e.ended||(e.needReadable=!0),r!==t&&e.ended&&0===e.length&&y(this),u.isNull(n)||this.emit("data",n),n},h.prototype._read=function(t){this.emit("error",new Error("not implemented"))},h.prototype.pipe=function(t,e){var i=this,a=this._readableState;switch(a.pipesCount){case 0:a.pipes=t;break;case 1:a.pipes=[a.pipes,t];break;default:a.pipes.push(t)}a.pipesCount+=1,l("pipe count=%d opts=%j",a.pipesCount,e);var s=(!e||!1!==e.end)&&t!==r.stdout&&t!==r.stderr?c:p;function u(t){l("onunpipe"),t===i&&p()}function c(){l("onend"),t.end()}a.endEmitted?r.nextTick(s):i.once("end",s),t.on("unpipe",u);var h=function(t){return function(){var e=t._readableState;l("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&o.listenerCount(t,"data")&&(e.flowing=!0,v(t))}}(i);function p(){l("cleanup"),t.removeListener("close",m),t.removeListener("finish",g),t.removeListener("drain",h),t.removeListener("error",d),t.removeListener("unpipe",u),i.removeListener("end",c),i.removeListener("end",p),i.removeListener("data",f),!a.awaitDrain||t._writableState&&!t._writableState.needDrain||h()}function f(e){l("ondata"),!1===t.write(e)&&(l("false write response, pause",i._readableState.awaitDrain),i._readableState.awaitDrain++,i.pause())}function d(e){l("onerror",e),_(),t.removeListener("error",d),0===o.listenerCount(t,"error")&&t.emit("error",e)}function m(){t.removeListener("finish",g),_()}function g(){l("onfinish"),t.removeListener("close",m),_()}function _(){l("unpipe"),i.unpipe(t)}return t.on("drain",h),i.on("data",f),t._events&&t._events.error?n(t._events.error)?t._events.error.unshift(d):t._events.error=[d,t._events.error]:t.on("error",d),t.once("close",m),t.once("finish",g),t.emit("pipe",i),a.flowing||(l("pipe resume"),i.resume()),t},h.prototype.unpipe=function(t){var e=this._readableState;if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this),this);if(!t){var r=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var i=0;i<n;i++)r[i].emit("unpipe",this);return this}return-1===(i=function(t,e){for(var r=0,n=t.length;r<n;r++)if(t[r]===e)return r;return-1}(e.pipes,t))?this:(e.pipes.splice(i,1),e.pipesCount-=1,1===e.pipesCount&&(e.pipes=e.pipes[0]),t.emit("unpipe",this),this)},h.prototype.on=function(t,e){var n=s.prototype.on.call(this,t,e);if("data"===t&&!1!==this._readableState.flowing&&this.resume(),"readable"===t&&this.readable){var i=this._readableState;if(!i.readableListening)if(i.readableListening=!0,i.emittedReadable=!1,i.needReadable=!0,i.reading)i.length&&m(this);else{var o=this;r.nextTick(function(){l("readable nexttick read 0"),o.read(0)})}}return n},h.prototype.addListener=h.prototype.on,h.prototype.resume=function(){var t=this._readableState;return t.flowing||(l("resume"),t.flowing=!0,t.reading||(l("resume read 0"),this.read(0)),function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,r.nextTick(function(){!function(t,e){e.resumeScheduled=!1,t.emit("resume"),v(t),e.flowing&&!e.reading&&t.read(0)}(t,e)}))}(this,t)),this},h.prototype.pause=function(){return l("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(l("pause"),this._readableState.flowing=!1,this.emit("pause")),this},h.prototype.wrap=function(t){var e=this._readableState,r=!1,n=this;for(var i in t.on("end",function(){if(l("wrapped end"),e.decoder&&!e.ended){var t=e.decoder.end();t&&t.length&&n.push(t)}n.push(null)}),t.on("data",function(i){(l("wrapped data"),e.decoder&&(i=e.decoder.write(i)),i&&(e.objectMode||i.length))&&(n.push(i)||(r=!0,t.pause()))}),t)u.isFunction(t[i])&&u.isUndefined(this[i])&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));return function(t,e){for(var r=0,n=t.length;r<n;r++)e(t[r],r)}(["error","close","destroy","pause","resume"],function(e){t.on(e,n.emit.bind(n,e))}),n._read=function(e){l("wrapped _read",e),r&&(r=!1,t.resume())},n},h._fromList=_}).call(this,t("_process"))},{"./_stream_duplex":31,_process:136,buffer:71,"core-util-is":12,events:72,inherits:94,isarray:97,stream:187,"string_decoder/":188,util:4}],34:[function(t,e,r){e.exports=a;var n=t("./_stream_duplex"),i=t("core-util-is");function o(t,e){this.afterTransform=function(t,r){return function(t,e,r){var n=t._transformState;n.transforming=!1;var o=n.writecb;if(!o)return t.emit("error",new Error("no writecb in Transform class"));n.writechunk=null,n.writecb=null,i.isNullOrUndefined(r)||t.push(r);o&&o(e);var a=t._readableState;a.reading=!1,(a.needReadable||a.length<a.highWaterMark)&&t._read(a.highWaterMark)}(e,t,r)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null}function a(t){if(!(this instanceof a))return new a(t);n.call(this,t),this._transformState=new o(t,this);var e=this;this._readableState.needReadable=!0,this._readableState.sync=!1,this.once("prefinish",function(){i.isFunction(this._flush)?this._flush(function(t){s(e,t)}):s(e)})}function s(t,e){if(e)return t.emit("error",e);var r=t._writableState,n=t._transformState;if(r.length)throw new Error("calling transform done when ws.length != 0");if(n.transforming)throw new Error("calling transform done when still transforming");return t.push(null)}i.inherits=t("inherits"),i.inherits(a,n),a.prototype.push=function(t,e){return this._transformState.needTransform=!1,n.prototype.push.call(this,t,e)},a.prototype._transform=function(t,e,r){throw new Error("not implemented")},a.prototype._write=function(t,e,r){var n=this._transformState;if(n.writecb=r,n.writechunk=t,n.writeencoding=e,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},a.prototype._read=function(t){var e=this._transformState;i.isNull(e.writechunk)||!e.writecb||e.transforming?e.needTransform=!0:(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform))}},{"./_stream_duplex":31,"core-util-is":12,inherits:94}],35:[function(t,e,r){(function(r){e.exports=s;var n=t("buffer").Buffer;s.WritableState=a;var i=t("core-util-is");i.inherits=t("inherits");var o=t("stream");function a(e,n){var i=t("./_stream_duplex"),o=(e=e||{}).highWaterMark,a=e.objectMode?16:16384;this.highWaterMark=o||0===o?o:a,this.objectMode=!!e.objectMode,n instanceof i&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var s=!1===e.decodeStrings;this.decodeStrings=!s,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var n=t._writableState,i=n.sync,o=n.writecb;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(n),e)!function(t,e,n,i,o){n?r.nextTick(function(){e.pendingcb--,o(i)}):(e.pendingcb--,o(i));t._writableState.errorEmitted=!0,t.emit("error",i)}(t,n,i,e,o);else{var a=h(t,n);a||n.corked||n.bufferProcessing||!n.buffer.length||c(t,n),i?r.nextTick(function(){l(t,n,a,o)}):l(t,n,a,o)}}(n,t)},this.writecb=null,this.writelen=0,this.buffer=[],this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1}function s(e){var r=t("./_stream_duplex");if(!(this instanceof s||this instanceof r))return new s(e);this._writableState=new a(e,this),this.writable=!0,o.call(this)}function u(t,e,r,n,i,o,a){e.writelen=n,e.writecb=a,e.writing=!0,e.sync=!0,r?t._writev(i,e.onwrite):t._write(i,o,e.onwrite),e.sync=!1}function l(t,e,r,n){r||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,n(),f(t,e)}function c(t,e){if(e.bufferProcessing=!0,t._writev&&e.buffer.length>1){for(var r=[],n=0;n<e.buffer.length;n++)r.push(e.buffer[n].callback);e.pendingcb++,u(t,e,!0,e.length,e.buffer,"",function(t){for(var n=0;n<r.length;n++)e.pendingcb--,r[n](t)}),e.buffer=[]}else{for(n=0;n<e.buffer.length;n++){var i=e.buffer[n],o=i.chunk,a=i.encoding,s=i.callback,l=e.objectMode?1:o.length;if(u(t,e,!1,l,o,a,s),e.writing){n++;break}}n<e.buffer.length?e.buffer=e.buffer.slice(n):e.buffer.length=0}e.bufferProcessing=!1}function h(t,e){return e.ending&&0===e.length&&!e.finished&&!e.writing}function p(t,e){e.prefinished||(e.prefinished=!0,t.emit("prefinish"))}function f(t,e){var r=h(0,e);return r&&(0===e.pendingcb?(p(t,e),e.finished=!0,t.emit("finish")):p(t,e)),r}i.inherits(s,o),s.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe. Not readable."))},s.prototype.write=function(t,e,o){var a=this._writableState,s=!1;return i.isFunction(e)&&(o=e,e=null),i.isBuffer(t)?e="buffer":e||(e=a.defaultEncoding),i.isFunction(o)||(o=function(){}),a.ended?function(t,e,n){var i=new Error("write after end");t.emit("error",i),r.nextTick(function(){n(i)})}(this,0,o):function(t,e,n,o){var a=!0;if(!(i.isBuffer(n)||i.isString(n)||i.isNullOrUndefined(n)||e.objectMode)){var s=new TypeError("Invalid non-string/buffer chunk");t.emit("error",s),r.nextTick(function(){o(s)}),a=!1}return a}(this,a,t,o)&&(a.pendingcb++,s=function(t,e,r,o,a){r=function(t,e,r){return!t.objectMode&&!1!==t.decodeStrings&&i.isString(e)&&(e=new n(e,r)),e}(e,r,o),i.isBuffer(r)&&(o="buffer");var s=e.objectMode?1:r.length;e.length+=s;var l=e.length<e.highWaterMark;l||(e.needDrain=!0);e.writing||e.corked?e.buffer.push(new function(t,e,r){this.chunk=t,this.encoding=e,this.callback=r}(r,o,a)):u(t,e,!1,s,r,o,a);return l}(this,a,t,e,o)),s},s.prototype.cork=function(){this._writableState.corked++},s.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,t.writing||t.corked||t.finished||t.bufferProcessing||!t.buffer.length||c(this,t))},s.prototype._write=function(t,e,r){r(new Error("not implemented"))},s.prototype._writev=null,s.prototype.end=function(t,e,n){var o=this._writableState;i.isFunction(t)?(n=t,t=null,e=null):i.isFunction(e)&&(n=e,e=null),i.isNullOrUndefined(t)||this.write(t,e),o.corked&&(o.corked=1,this.uncork()),o.ending||o.finished||function(t,e,n){e.ending=!0,f(t,e),n&&(e.finished?r.nextTick(n):t.once("finish",n));e.ended=!0}(this,o,n)}}).call(this,t("_process"))},{"./_stream_duplex":31,_process:136,buffer:71,"core-util-is":12,inherits:94,stream:187}],36:[function(t,e,r){(function(n){(r=e.exports=t("./lib/_stream_readable.js")).Stream=t("stream"),r.Readable=r,r.Writable=t("./lib/_stream_writable.js"),r.Duplex=t("./lib/_stream_duplex.js"),r.Transform=t("./lib/_stream_transform.js"),r.PassThrough=t("./lib/_stream_passthrough.js"),n.browser||"disable"!==n.env.READABLE_STREAM||(e.exports=t("stream"))}).call(this,t("_process"))},{"./lib/_stream_duplex.js":31,"./lib/_stream_passthrough.js":32,"./lib/_stream_readable.js":33,"./lib/_stream_transform.js":34,"./lib/_stream_writable.js":35,_process:136,stream:187}],37:[function(t,e,r){"use strict";e.exports=function(t,e,r){if(e|=0,!((t|=0)>0&&e>0))return null;var n,i=document.createElement("canvas");if(!i)return null;i.width=t,i.height=e;try{n=i.getContext("webgl",r)}catch(t){try{n=i.getContext("experimental-webgl",r)}catch(t){return null}}var o=n.getExtension,a={destroy:function(){var t=o.call(n,"WEBGL_lose_context");t&&t.loseContext()}},s={resize:function(t,e){i.width=t,i.height=e}},u=n.getSupportedExtensions().slice();return u.push("STACKGL_destroy_context","STACKGL_resize_drawingbuffer"),n.getSupportedExtensions=function(){return u.slice()},n.getExtension=function(t){var e=t.toLowerCase();return"stackgl_resize_drawingbuffer"===e?s:"stackgl_destroy_context"===e?a:o.call(n,t)},n||null}},{}],38:[function(t,e,r){"use strict";e.exports=function(t,e){let r=null;r=e.output.length?3===e.output.length?{x:e.output[0],y:e.output[1],z:e.output[2]}:2===e.output.length?{x:e.output[0],y:e.output[1]}:{x:e.output[0]}:e.output;const n={_fn:t,constants:e.constants,output:r,thread:{x:0,y:0,z:0}};return r.z?function(){const t=[];for(let e=0;e<this.output.z;e++){const r=[];for(let t=0;t<this.output.y;t++){const n=[];for(let r=0;r<this.output.x;r++)this.thread.x=r,this.thread.y=t,this.thread.z=e,n.push(this._fn.apply(this,arguments));r.push(n)}t.push(r)}return t}.bind(n):r.y?function(){const t=[];for(let e=0;e<this.output.y;e++){const r=[];for(let t=0;t<this.output.x;t++)this.thread.x=t,this.thread.y=e,this.thread.z=0,r.push(this._fn.apply(this,arguments));t.push(r)}return t}.bind(n):function(){const t=[];for(let e=0;e<this.output.x;e++)this.thread.x=e,this.thread.y=0,this.thread.z=0,t.push(this._fn.apply(this,arguments));return t}.bind(n)}},{}],39:[function(t,e,r){const{utils:n}=t("./utils");e.exports={alias:function(t,e){const r=e.toString();return new Function(`return function ${t} (${n.getArgumentNamesFromString(r).join(", ")}) {\n ${n.getFunctionBodyFromString(r)}\n}`)()}}},{"./utils":63}],40:[function(t,e,r){const{FunctionNode:n}=t("../function-node");e.exports={CPUFunctionNode:class extends n{astFunctionExpression(t,e){if(!this.isRootKernel){e.push("function"),e.push(" "),e.push(this.name),e.push("(");for(let t=0;t<this.argumentNames.length;++t){const r=this.argumentNames[t];t>0&&e.push(", "),e.push("user_"),e.push(r)}e.push(") {\n")}for(let r=0;r<t.body.body.length;++r)this.astGeneric(t.body.body[r],e),e.push("\n");return this.isRootKernel||e.push("}\n"),e}astReturnStatement(t,e){return this.isRootKernel?(e.push(this.leadingReturnStatement),this.astGeneric(t.argument,e),e.push(";\n"),e.push(this.followingReturnStatement),e.push("continue;\n")):this.isSubKernel?(e.push(`subKernelResult_${this.name} = `),this.astGeneric(t.argument,e),e.push(";"),e.push(`return subKernelResult_${this.name};`)):(e.push("return "),this.astGeneric(t.argument,e),e.push(";")),e}astLiteral(t,e){if(isNaN(t.value))throw this.astErrorOutput("Non-numeric literal not supported : "+t.value,t);return e.push(t.value),e}astBinaryExpression(t,e){return e.push("("),this.astGeneric(t.left,e),e.push(t.operator),this.astGeneric(t.right,e),e.push(")"),e}astIdentifierExpression(t,e){if("Identifier"!==t.type)throw this.astErrorOutput("IdentifierExpression - not an Identifier",t);switch(t.name){case"Infinity":e.push("Infinity");break;default:if(this.constants&&this.constants.hasOwnProperty(t.name))e.push("constants_"+t.name);else{const r=this.getKernelArgumentName(t.name);r?e.push("user_"+r):e.push("user_"+t.name)}}return e}astForStatement(t,e){if("ForStatement"!==t.type)throw this.astErrorOutput("Invalid for statement",t);const r=[],n=[],i=[],o=[];let a=null;if(t.init){this.pushState("in-for-loop-init"),this.astGeneric(t.init,r);for(let t=0;t<r.length;t++)r[t].includes&&r[t].includes(",")&&(a=!1);this.popState("in-for-loop-init")}else a=!1;if(t.test?this.astGeneric(t.test,n):a=!1,t.update?this.astGeneric(t.update,i):a=!1,t.body&&(this.pushState("loop-body"),this.astGeneric(t.body,o),this.popState("loop-body")),null===a&&(a=this.isSafe(t.init)&&this.isSafe(t.test)),a)e.push(`for (${r.join("")};${n.join("")};${i.join("")}){\n`),e.push(o.join("")),e.push("}\n");else{const t=this.getInternalVariableName("safeI");r.length>0&&e.push(r.join(""),";\n"),e.push(`for (let ${t}=0;${t}<LOOP_MAX;${t}++){\n`),n.length>0&&e.push(`if (!${n.join("")}) break;\n`),e.push(o.join("")),e.push(`\n${i.join("")};`),e.push("}\n")}return e}astWhileStatement(t,e){if("WhileStatement"!==t.type)throw this.astErrorOutput("Invalid while statement",t);return e.push("for (let i = 0; i < LOOP_MAX; i++) {"),e.push("if ("),this.astGeneric(t.test,e),e.push(") {\n"),this.astGeneric(t.body,e),e.push("} else {\n"),e.push("break;\n"),e.push("}\n"),e.push("}\n"),e}astDoWhileStatement(t,e){if("DoWhileStatement"!==t.type)throw this.astErrorOutput("Invalid while statement",t);return e.push("for (let i = 0; i < LOOP_MAX; i++) {"),this.astGeneric(t.body,e),e.push("if (!"),this.astGeneric(t.test,e),e.push(") {\n"),e.push("break;\n"),e.push("}\n"),e.push("}\n"),e}astAssignmentExpression(t,e){return this.astGeneric(t.left,e),e.push(t.operator),this.astGeneric(t.right,e),e}astBlockStatement(t,e){if(this.isState("loop-body")){this.pushState("block-body");for(let r=0;r<t.body.length;r++)this.astGeneric(t.body[r],e);this.popState("block-body")}else{e.push("{\n");for(let r=0;r<t.body.length;r++)this.astGeneric(t.body[r],e);e.push("}\n")}return e}astVariableDeclaration(t,e){"var"===t.kind&&this.varWarn(),e.push(`${t.kind} `);const r=t.declarations[0],n=this.getType(r.init);for(let r=0;r<t.declarations.length;r++)this.declarations[t.declarations[r].id.name]={type:"LiteralInteger"===n?"Number":n,dependencies:{constants:[],arguments:[]},isUnsafe:!1},r>0&&e.push(","),this.astGeneric(t.declarations[r],e);return this.isState("in-for-loop-init")||e.push(";"),e}astIfStatement(t,e){return e.push("if ("),this.astGeneric(t.test,e),e.push(")"),"BlockStatement"===t.consequent.type?this.astGeneric(t.consequent,e):(e.push(" {\n"),this.astGeneric(t.consequent,e),e.push("\n}\n")),t.alternate&&(e.push("else "),"BlockStatement"===t.alternate.type?this.astGeneric(t.alternate,e):(e.push(" {\n"),this.astGeneric(t.alternate,e),e.push("\n}\n"))),e}astThisExpression(t,e){return e.push("_this"),e}astMemberExpression(t,e){const{signature:r,type:n,property:i,xProperty:o,yProperty:a,zProperty:s,name:u,origin:l}=this.getMemberExpressionDetails(t);switch(r){case"this.thread.value":return e.push(`_this.thread.${u}`),e;case"this.output.value":switch(u){case"x":e.push(this.output[0]);break;case"y":e.push(this.output[1]);break;case"z":e.push(this.output[2]);break;default:throw this.astErrorOutput("Unexpected expression",t)}return e;case"value":throw this.astErrorOutput("Unexpected expression",t);case"value[]":case"value[][]":case"value[][][]":case"value.value":if("Math"===l)return e.push(Math[u]),e;switch(i){case"r":return e.push(`user_${u}[0]`),e;case"g":return e.push(`user_${u}[1]`),e;case"b":return e.push(`user_${u}[2]`),e;case"a":return e.push(`user_${u}[3]`),e}break;case"this.constants.value":case"this.constants.value[]":case"this.constants.value[][]":case"this.constants.value[][][]":break;case"fn()[]":return this.astGeneric(t.object,e),e.push("["),this.astGeneric(t.property,e),e.push("]"),e;default:throw this.astErrorOutput("Unexpected expression",t)}switch(n){case"Number":case"Integer":case"Float":case"Boolean":return e.push(`${l}_${u}`),e}const c=this.getKernelArgumentName(u),h=`${l}_${c||u}`;switch(n){case"Array(2)":case"Array(3)":case"Array(4)":case"HTMLImageArray":case"ArrayTexture(1)":case"ArrayTexture(2)":case"ArrayTexture(3)":case"ArrayTexture(4)":case"HTMLImage":default:const t=this.isInput(c||u);if(e.push(`${h}`),s&&a)if(t){const t=this.argumentSizes[this.argumentNames.indexOf(u)];e.push("[("),this.astGeneric(s,e),e.push(`*${t[1]*t[0]})+(`),this.astGeneric(a,e),e.push(`*${t[0]})+`),this.astGeneric(o,e),e.push("]")}else e.push("["),this.astGeneric(s,e),e.push("]"),e.push("["),this.astGeneric(a,e),e.push("]"),e.push("["),this.astGeneric(o,e),e.push("]");else if(a)if(t){const t=this.argumentSizes[this.argumentNames.indexOf(u)];e.push("[("),this.astGeneric(a,e),e.push(`*${t[0]})+`),this.astGeneric(o,e),e.push("]")}else e.push("["),this.astGeneric(a,e),e.push("]"),e.push("["),this.astGeneric(o,e),e.push("]");else e.push("["),this.astGeneric(o,e),e.push("]")}return e}astCallExpression(t,e){if(t.callee){let r=this.astMemberExpressionUnroll(t.callee);this.calledFunctions.indexOf(r)<0&&this.calledFunctions.push(r),this.calledFunctionsArguments[r]||(this.calledFunctionsArguments[r]=[]);const n=[];this.calledFunctionsArguments[r].push(n),e.push(r),e.push("(");for(let r=0;r<t.arguments.length;++r){const i=t.arguments[r];r>0&&e.push(", "),this.astGeneric(i,e);const o=this.getType(i);o?n.push({name:i.name||null,type:o}):n.push(null)}return e.push(")"),e}throw this.astErrorOutput("Unknown CallExpression",t)}astArrayExpression(t,e){const r=t.elements.length;e.push("[");for(let n=0;n<r;++n){n>0&&e.push(", ");const r=t.elements[n];this.astGeneric(r,e)}return e.push("]"),e}astDebuggerStatement(t,e){return e.push("debugger;"),e}}}},{"../function-node":44}],41:[function(t,e,r){const{utils:n}=t("../../utils"),{kernelRunShortcut:i}=t("../../kernel-run-shortcut");function o(t){return/^function /.test(t)&&(t=t.substring(9)),t.replace(/[_]typeof/g,"typeof")}function a(t){return t.replace(/^[A-Za-z]+/,"function").replace(/[_]typeof/g,"typeof")}e.exports={cpuKernelString:function(t,e){return`() => {\n ${i.toString()};\n const utils = {\n allPropertiesOf: ${a(n.allPropertiesOf.toString())},\n clone: ${a(n.clone.toString())},\n };\n let Input = function() {};\n class ${e||"Kernel"} {\n constructor() { \n this.argumentsLength = 0;\n this.canvas = null;\n this.context = null;\n this.built = false;\n this.program = null;\n this.argumentNames = ${JSON.stringify(t.argumentNames)};\n this.argumentTypes = ${JSON.stringify(t.argumentTypes)};\n this.argumentSizes = ${JSON.stringify(t.argumentSizes)};\n this.output = ${JSON.stringify(t.output)};\n this._kernelString = \`${t._kernelString}\`;\n this.output = ${JSON.stringify(t.output)};\n\t\t this.run = function() {\n this.run = null;\n this.build(arguments);\n return this.run.apply(this, arguments);\n }.bind(this);\n this.thread = {\n x: 0,\n y: 0,\n z: 0\n };\n }\n setCanvas(canvas) { this.canvas = canvas; return this; }\n setContext(context) { this.context = context; return this; }\n setInput(Type) { Input = Type; }\n ${o(t.build.toString())}\n setupArguments() {}\n ${o(t.setupConstants.toString())}\n translateSource() {}\n pickRenderStrategy() {}\n run () { ${t.kernelString} }\n getKernelString() { return this._kernelString; }\n ${o(t.validateSettings.toString())}\n ${o(t.checkOutput.toString())}\n };\n return kernelRunShortcut(new Kernel());\n };`}}},{"../../kernel-run-shortcut":60,"../../utils":63}],42:[function(t,e,r){const{Kernel:n}=t("../kernel"),{FunctionBuilder:i}=t("../function-builder"),{CPUFunctionNode:o}=t("./function-node"),{utils:a}=t("../../utils"),{cpuKernelString:s}=t("./kernel-string");e.exports={CPUKernel:class extends n{static getFeatures(){return this.features}static get features(){return Object.freeze({kernelMap:!0,isIntegerDivisionAccurate:!0})}static get isSupported(){return!0}static isContextMatch(t){return!1}static get mode(){return"cpu"}static nativeFunctionArguments(){return null}static nativeFunctionReturnType(){return null}static combineKernels(t){return t}constructor(t,e){super(t,e),this.mergeSettings(t.settings||e),this._imageData=null,this._colorData=null,this._kernelString=null,this.thread={x:0,y:0,z:0},this.translatedSources=null,this.run=function(){return this.run=null,this.build.apply(this,arguments),this.run.apply(this,arguments)}.bind(this)}initCanvas(){return"undefined"!=typeof document?document.createElement("canvas"):"undefined"!=typeof OffscreenCanvas?new OffscreenCanvas(0,0):void 0}initContext(){return this.canvas?this.canvas.getContext("2d"):null}initPlugins(t){return[]}validateSettings(){if(!this.output||0===this.output.length){if(1!==arguments.length)throw"Auto dimensions only supported for kernels with only one input";const t=a.getVariableType(arguments[0]);if("Array"===t)this.output=a.getDimensions(t);else{if("NumberTexture"!==t&&"ArrayTexture(4)"!==t)throw"Auto dimensions not supported for input type: "+t;this.output=arguments[0].output}}if(this.graphical&&2!==this.output.length)throw new Error("Output must have 2 dimensions on graphical mode");this.checkOutput()}translateSource(){if(this.leadingReturnStatement=this.output.length>1?"resultX[x] = ":"result[x] = ",this.subKernels){const t=[];for(let e=0;e<this.subKernels.length;e++){const{name:r}=this.subKernels[e];t.push(this.output.length>1?`resultX_${r}[x] = subKernelResult_${r};\n`:`result_${r}[x] = subKernelResult_${r};\n`)}this.followingReturnStatement=t.join("")}const t=i.fromKernel(this,o);this.translatedSources=t.getPrototypes("kernel"),this.graphical||this.returnType||(this.returnType=t.getKernelResultType())}build(){if(this.setupConstants(),this.setupArguments(arguments),this.validateSettings(),this.translateSource(),this.graphical){const{canvas:t,output:e}=this;if(!t)throw new Error("no canvas available for using graphical output");const r=e[0],n=e[1]||1;t.width=r,t.height=n,this._imageData=this.context.createImageData(r,n),this._colorData=new Uint8ClampedArray(r*n*4)}const t=this.getKernelString();this.kernelString=t,this.debug&&(console.log("Function output:"),console.log(t));try{this.run=new Function([],t).bind(this)()}catch(t){console.error("An error occurred compiling the javascript: ",t)}}color(t,e,r,n){void 0===n&&(n=1),t=Math.floor(255*t),e=Math.floor(255*e),r=Math.floor(255*r),n=Math.floor(255*n);const i=this.output[0],o=this.output[1],a=this.thread.x+(o-this.thread.y-1)*i;this._colorData[4*a+0]=t,this._colorData[4*a+1]=e,this._colorData[4*a+2]=r,this._colorData[4*a+3]=n}getKernelString(){if(null!==this._kernelString)return this._kernelString;let t=null,{translatedSources:e}=this;return e.length>1?e=e.filter(e=>/^function/.test(e)?e:(t=e,!1)):t=e.shift(),this._kernelString=` const LOOP_MAX = ${this._getLoopMaxString()}\n const constants = this.constants;\n const _this = this;\n return (${this.argumentNames.map(t=>"user_"+t).join(", ")}) => {\n ${this._processConstants()}\n ${this._processArguments()}\n ${this.graphical?this._graphicalKernelBody(t):this._resultKernelBody(t)}\n ${e.length>0?e.join("\n"):""}\n };`}toString(){return s(this)}_getLoopMaxString(){return this.loopMaxIterations?` ${parseInt(this.loopMaxIterations)};`:" 1000;"}_processConstants(){if(!this.constants)return"";const t=[];for(let e in this.constants)switch(this.constantTypes[e]){case"HTMLImage":t.push(` const constants_${e} = this._imageTo2DArray(this.constants.${e});\n`);break;case"HTMLImageArray":t.push(` const constants_${e} = this._imageTo3DArray(this.constants.${e});\n`);break;case"Input":t.push(` const constants_${e} = this.constants.${e}.value;\n`);break;default:t.push(` const constants_${e} = this.constants.${e};\n`)}return t.join("")}_processArguments(){const t=[];for(let e=0;e<this.argumentTypes.length;e++)switch(this.argumentTypes[e]){case"HTMLImage":t.push(` user_${this.argumentNames[e]} = this._imageTo2DArray(user_${this.argumentNames[e]});\n`);break;case"HTMLImageArray":t.push(` user_${this.argumentNames[e]} = this._imageTo3DArray(user_${this.argumentNames[e]});\n`);break;case"Input":t.push(` user_${this.argumentNames[e]} = user_${this.argumentNames[e]}.value;\n`)}return t.join("")}_imageTo2DArray(t){const e=this.canvas;e.width<t.width&&(e.width=t.width),e.height<t.height&&(e.height=t.height);const r=this.context;r.drawImage(t,0,0,t.width,t.height);const n=r.getImageData(0,0,t.width,t.height).data,i=new Array(t.height);let o=0;for(let e=t.height-1;e>=0;e--){const r=i[e]=new Array(t.width);for(let e=0;e<t.width;e++){const t=new Float32Array(4);t[0]=n[o++]/255,t[1]=n[o++]/255,t[2]=n[o++]/255,t[3]=n[o++]/255,r[e]=t}}return i}getPixels(){const[t,e]=this.output,r=e/2|0,n=4*t,i=new Uint8Array(4*t),o=this._imageData.data.slice(0);for(let t=0;t<r;++t){var a=t*n,s=(e-t-1)*n;i.set(o.subarray(a,a+n)),o.copyWithin(a,s,s+n),o.set(i,s)}return o}_imageTo3DArray(t){const e=new Array(t.length);for(let r=0;r<t.length;r++)e[r]=this._imageTo2DArray(t[r]);return e}_resultKernelBody(t){switch(this.output.length){case 1:return this._resultKernel1DLoop(t)+this._kernelOutput();case 2:return this._resultKernel2DLoop(t)+this._kernelOutput();case 3:return this._resultKernel3DLoop(t)+this._kernelOutput();default:throw new Error("unsupported size kernel")}}_graphicalKernelBody(t){switch(this.output.length){case 2:return this._graphicalKernel2DLoop(t)+this._graphicalOutput();default:throw new Error("unsupported size kernel")}}_graphicalOutput(){return"\n this._imageData.data.set(this._colorData);\n this.context.putImageData(this._imageData, 0, 0);\n return;"}_getKernelResultTypeConstructorString(){switch(this.returnType){case"LiteralInteger":case"Number":case"Integer":case"Float":return"Float32Array";case"Array(2)":case"Array(3)":case"Array(4)":return"Array";default:if(this.graphical)return"Float32Array";throw new Error(`unhandled returnType ${this.returnType}`)}}_resultKernel1DLoop(t){const{output:e}=this,r=this._getKernelResultTypeConstructorString();return`const result = new ${r}(${e[0]});\n ${this._mapSubKernels(t=>`const result_${t.name} = new ${r}(${e[0]});\n`).join(" ")}\n ${this._mapSubKernels(t=>`let subKernelResult_${t.name};\n`).join(" ")}\n for (let x = 0; x < ${e[0]}; x++) {\n this.thread.x = x;\n this.thread.y = 0;\n this.thread.z = 0;\n ${t}\n }`}_resultKernel2DLoop(t){const{output:e}=this,r=this._getKernelResultTypeConstructorString();return`const result = new Array(${e[1]});\n\t\t${this._mapSubKernels(t=>`const result_${t.name} = new Array(${e[1]});\n`).join(" ")}\n\t\t${this._mapSubKernels(t=>`let subKernelResult_${t.name};\n`).join(" ")}\n for (let y = 0; y < ${e[1]}; y++) {\n this.thread.z = 0;\n this.thread.y = y;\n const resultX = result[y] = new ${r}(${e[0]});\n ${this._mapSubKernels(t=>`const resultX_${t.name} = result_${t.name}[y] = new ${r}(${e[0]});\n`).join("")}\n for (let x = 0; x < ${e[0]}; x++) {\n \tthis.thread.x = x;\n ${t}\n }\n }`}_graphicalKernel2DLoop(t){const{output:e}=this,r=this._getKernelResultTypeConstructorString();return` ${this._mapSubKernels(t=>`const result_${t.name} = new Array(${e[1]});\n`).join(" ")}\n\t\t${this._mapSubKernels(t=>`let subKernelResult_${t.name};\n`).join(" ")}\n for (let y = 0; y < ${e[1]}; y++) {\n this.thread.z = 0;\n this.thread.y = y;\n ${this._mapSubKernels(t=>`const resultX_${t.name} = result_${t.name}[y] = new ${r}(${e[0]});\n`).join("")}\n for (let x = 0; x < ${e[0]}; x++) {\n \tthis.thread.x = x;\n ${t}\n }\n }`}_resultKernel3DLoop(t){const{output:e}=this,r=this._getKernelResultTypeConstructorString();return`const result = new Array(${e[2]});\n ${this._mapSubKernels(t=>`const result_${t.name} = new Array(${e[2]});\n`).join(" ")}\n ${this._mapSubKernels(t=>`let subKernelResult_${t.name};\n`).join(" ")}\n for (let z = 0; z < ${e[2]}; z++) {\n this.thread.z = z;\n const resultY = result[z] = new Array(${e[1]});\n ${this._mapSubKernels(t=>`const resultY_${t.name} = result_${t.name}[z] = new Array(${e[1]});\n`).join(" ")}\n for (let y = 0; y < ${e[1]}; y++) {\n this.thread.y = y;\n const resultX = resultY[y] = new ${r}(${e[0]});\n ${this._mapSubKernels(t=>`const resultX_${t.name} = resultY_${t.name}[y] = new ${r}(${e[0]});\n`).join(" ")}\n for (let x = 0; x < ${e[0]}; x++) {\n \tthis.thread.x = x;\n ${t}\n }\n }\n }`}_kernelOutput(){return this.subKernels?`\n return {\n result: result,\n ${this.subKernels.map(t=>`${t.property}: result_${t.name}`).join(",\n ")}\n };`:"\n return result;"}_mapSubKernels(t){return null===this.subKernels?[""]:this.subKernels.map(t)}destroy(t){t&&delete this.canvas}static destroyContext(t){}toJSON(){const t=super.toJSON();return t.functionNodes=i.fromKernel(this,o).toJSON(),t}}}},{"../../utils":63,"../function-builder":43,"../kernel":47,"./function-node":40,"./kernel-string":41}],43:[function(t,e,r){class n{static fromKernel(t,e,r){const{argumentNames:i,argumentTypes:o,argumentSizes:a,argumentBitRatios:s,constants:u,constantTypes:l,constantBitRatios:c,debug:h,loopMaxIterations:p,nativeFunctions:f,output:d,optimizeFloatMemory:m,precision:g,plugins:v,source:_,subKernels:y,functions:b,leadingReturnStatement:x,followingReturnStatement:w}=t,k=(t,e,r)=>O.lookupReturnType(t,e,r),E=(t,e)=>O.lookupArgumentType(t,e),T=t=>O.lookupFunctionArgumentTypes(t),S=(t,e)=>O.lookupFunctionArgumentName(t,e),A=(t,e)=>O.lookupFunctionArgumentBitRatio(t,e),C=(t,e,r,n)=>{O.assignArgumentType(t,e,r,n)},R=(t,e,r,n)=>{O.trackArgumentSynonym(t,e,r,n)},B=(t,e,r)=>O.lookupArgumentSynonym(t,e,r),P=(t,e)=>{O.trackFunctionCall(t,e)},I=Object.assign({isRootKernel:!1,onNestedFunction:(t,r)=>{O.addFunctionNode(new e(t,Object.assign({},I,{returnType:r||"Number",lookupReturnType:k,lookupArgumentType:E,lookupFunctionArgumentTypes:T,lookupFunctionArgumentName:S,lookupFunctionArgumentBitRatio:A,triggerImplyArgumentType:C,triggerTrackArgumentSynonym:R,lookupArgumentSynonym:B,onFunctionCall:P})))},lookupReturnType:k,lookupArgumentType:E,lookupFunctionArgumentTypes:T,lookupFunctionArgumentName:S,lookupFunctionArgumentBitRatio:A,triggerImplyArgumentType:C,triggerTrackArgumentSynonym:R,lookupArgumentSynonym:B,onFunctionCall:P,optimizeFloatMemory:m,precision:g,constants:u,constantTypes:l,constantBitRatios:c,debug:h,loopMaxIterations:p,output:d,plugins:v},r||{}),M=Object.assign({},I,{isRootKernel:!0,name:"kernel",argumentNames:i,argumentTypes:o,argumentSizes:a,argumentBitRatios:s,leadingReturnStatement:x,followingReturnStatement:w});if("object"==typeof _&&_.functionNodes)return(new n).fromJSON(_.functionNodes,e);const D=new e(_,M);let F=null;b&&(F=b.map(t=>new e(t.source,{returnType:t.returnType,argumentTypes:t.argumentTypes,output:d,plugins:v,constants:u,constantTypes:l,constantBitRatios:c,optimizeFloatMemory:m,precision:g,lookupReturnType:k,lookupArgumentType:E,lookupFunctionArgumentTypes:T,lookupFunctionArgumentName:S,lookupFunctionArgumentBitRatio:A,triggerImplyArgumentType:C,triggerTrackArgumentSynonym:R,lookupArgumentSynonym:B,onFunctionCall:P})));let L=null;y&&(L=y.map(t=>{const{name:r,source:n}=t;return new e(n,Object.assign({},I,{name:r,isSubKernel:!0,isRootKernel:!1,returnType:"Number"}))}));const O=new n({kernel:t,rootNode:D,functionNodes:F,nativeFunctions:f,subKernelNodes:L});return O}constructor(t){if(t=t||{},this.kernel=t.kernel,this.rootNode=t.rootNode,this.functionNodes=t.functionNodes||[],this.subKernelNodes=t.subKernelNodes||[],this.nativeFunctions=t.nativeFunctions||[],this.functionMap={},this.nativeFunctionNames=[],this.lookupChain=[],this.argumentChain=[],this.functionNodeDependencies={},this.rootNode&&(this.functionMap.kernel=this.rootNode),this.functionNodes)for(let t=0;t<this.functionNodes.length;t++)this.functionMap[this.functionNodes[t].name]=this.functionNodes[t];if(this.subKernelNodes)for(let t=0;t<this.subKernelNodes.length;t++)this.functionMap[this.subKernelNodes[t].name]=this.subKernelNodes[t];if(this.nativeFunctions)for(let t=0;t<this.nativeFunctions.length;t++){const e=this.nativeFunctions[t];this.nativeFunctionNames.push(e.name)}}addFunctionNode(t){this.functionMap[t.name]=t,t.isRootKernel&&(this.rootNode=t)}traceFunctionCalls(t,e){if(t=t||"kernel",e=e||[],this.nativeFunctionNames.indexOf(t)>-1)return-1===e.indexOf(t)&&e.push(t),e;const r=this.functionMap[t];if(r){const n=e.indexOf(t);if(-1===n){e.push(t),r.toString();for(let t=0;t<r.calledFunctions.length;++t)this.traceFunctionCalls(r.calledFunctions[t],e)}else{const t=e.splice(n,1)[0];e.push(t)}}return e}getPrototypeString(t){return this.getPrototypes(t).join("\n")}getPrototypes(t){return this.rootNode&&this.rootNode.toString(),t?this.getPrototypesFromFunctionNames(this.traceFunctionCalls(t,[]).reverse()):this.getPrototypesFromFunctionNames(Object.keys(this.functionMap))}getStringFromFunctionNames(t){const e=[];for(let r=0;r<t.length;++r){this.functionMap[t[r]]&&e.push(this.functionMap[t[r]].toString())}return e.join("\n")}getPrototypesFromFunctionNames(t){const e=[];for(let r=0;r<t.length;++r){const n=t[r],i=this.nativeFunctionNames.indexOf(n);if(i>-1){e.push(this.nativeFunctions[i].source);continue}const o=this.functionMap[n];o&&e.push(o.toString())}return e}toJSON(){return this.traceFunctionCalls(this.rootNode.name).reverse().map(t=>{const e=this.nativeFunctions.indexOf(t);if(e>-1)return{name:t,source:this.nativeFunctions[e].source};if(this.functionMap[t])return this.functionMap[t].toJSON();throw new Error(`function ${t} not found`)})}fromJSON(t,e){this.functionMap={};for(let r=0;r<t.length;r++){const n=t[r];this.functionMap[n.settings.name]=new e(n.ast,n.settings)}return this}getString(t){return t?this.getStringFromFunctionNames(this.traceFunctionCalls(t).reverse()):this.getStringFromFunctionNames(Object.keys(this.functionMap))}lookupArgumentType(t,e){const r=e.argumentNames.indexOf(t);if(-1===r)return null;if(0===this.lookupChain.length)return null;let n=this.lookupChain[this.lookupChain.length-1-this.argumentChain.length];if(!n)return null;const{ast:i,requestingNode:o}=n;if(0===i.arguments.length)return null;const a=i.arguments[r];if(!a)return null;this.argumentChain.push(t);const s=o.getType(a);return this.argumentChain.pop(),s}lookupReturnType(t,e,r){if("CallExpression"!==e.type)throw new Error(`expected ast type of "CallExpression", but is ${e.type}`);if(this._isNativeFunction(t))return this._lookupNativeFunctionReturnType(t);if(this._isFunction(t)){const n=this._getFunction(t);if(n.returnType)return n.returnType;{this.lookupChain.push({name:r.name,ast:e,requestingNode:r});const t=n.getType(n.getJsAST());return this.lookupChain.pop(),n.returnType=t}}return null}_getFunction(t){return this._isFunction(t)||new Error(`Function ${t} not found`),this.functionMap[t]}_isFunction(t){return Boolean(this.functionMap[t])}_getNativeFunction(t){for(let e=0;e<this.nativeFunctions.length;e++)if(this.nativeFunctions[e].name===t)return this.nativeFunctions[e];return null}_isNativeFunction(t){return Boolean(this._getNativeFunction(t))}_lookupNativeFunctionReturnType(t){let e=this._getNativeFunction(t);if(e)return e.returnType;throw new Error(`Native function ${t} not found`)}lookupFunctionArgumentTypes(t){return this._isNativeFunction(t)?this._getNativeFunction(t).argumentTypes:this._isFunction(t)?this._getFunction(t).argumentTypes:null}lookupFunctionArgumentName(t,e){return this._getFunction(t).argumentNames[e]}lookupFunctionArgumentBitRatio(t,e){if(!this._isFunction(t))throw new Error("function not found");if(this.rootNode.name===t){const t=this.rootNode.argumentNames.indexOf(e);if(-1!==t)return this.rootNode.argumentBitRatios[t];throw new Error("argument bit ratio not found")}{const e=this._getFunction(t),r=e.argumentSynonym[e.synonymIndex];if(!r)throw new Error("argument synonym not found");return this.lookupFunctionArgumentBitRatio(r.functionName,r.argumentName)}}assignArgumentType(t,e,r,n){this._isFunction(t)&&(this._getFunction(t).argumentTypes[e]=r)}trackArgumentSynonym(t,e,r,n){if(!this._isFunction(r))return;const i=this._getFunction(r);i.argumentSynonym||(i.argumentSynonym={});const o=i.argumentNames[n];i.argumentSynonym[o]||(i.argumentSynonym[o]={}),i.synonymIndex++,i.argumentSynonym[i.synonymIndex]={functionName:t,argumentName:e,calleeArgumentName:o,calleeFunctionName:r}}lookupArgumentSynonym(t,e,r){if(t===e)return r;if(!this._isFunction(e))return null;const n=this._getFunction(e),i=n.argumentSynonym[n.synonymUseIndex];return i?i.calleeArgumentName!==r?null:(n.synonymUseIndex++,t!==e?this.lookupArgumentSynonym(t,i.functionName,i.argumentName):i.argumentName):null}trackFunctionCall(t,e){this.functionNodeDependencies[t]||(this.functionNodeDependencies[t]=new Set),this.functionNodeDependencies[t].add(e)}getKernelResultType(){return this.rootNode.getType(this.rootNode.ast)}getReturnTypes(){const t={[this.rootNode.name]:this.rootNode.getType(this.rootNode.ast)},e=this.traceFunctionCalls(this.rootNode.name);for(let r=0;r<e.length;r++){const n=e[r],i=this.functionMap[n];t[n]=i.getType(i.ast)}return t}}e.exports={FunctionBuilder:n}},{}],44:[function(t,e,r){const{utils:n}=t("../utils"),i=t("acorn");const o={Array:"Number","Array(2)":"Number","Array(3)":"Number","Array(4)":"Number",Array2D:"Number",Array3D:"Number",Input:"Number",HTMLImage:"Array(4)",HTMLImageArray:"Array(4)",NumberTexture:"Number",MemoryOptimizedNumberTexture:"Number","ArrayTexture(1)":"Number","ArrayTexture(2)":"Array(2)","ArrayTexture(3)":"Array(3)","ArrayTexture(4)":"Array(4)"};e.exports={FunctionNode:class{constructor(t,e){if(!t)throw new Error("source parameter is missing");if(e=e||{},this.source=t,this.name="string"==typeof t?e.isRootKernel?"kernel":e.name||n.getFunctionNameFromString(t):null,this.calledFunctions=[],this.calledFunctionsArguments={},this.constants={},this.constantTypes={},this.constantBitRatios={},this.isRootKernel=!1,this.isSubKernel=!1,this.debug=null,this.declarations={},this.states=[],this.lookupReturnType=null,this.lookupArgumentType=null,this.lookupFunctionArgumentTypes=null,this.lookupFunctionArgumentBitRatio=null,this.triggerImplyArgumentType=null,this.triggerTrackArgumentSynonym=null,this.lookupArgumentSynonym=null,this.onNestedFunction=null,this.onFunctionCall=null,this.optimizeFloatMemory=null,this.precision=null,this.loopMaxIterations=null,this.argumentNames="string"==typeof this.source?n.getArgumentNamesFromString(this.source):null,this.argumentTypes=[],this.argumentSizes=[],this.argumentBitRatios=null,this.returnType=null,this.output=[],this.plugins=null,this.leadingReturnStatement=null,this.followingReturnStatement=null,e)for(const t in e)e.hasOwnProperty(t)&&this.hasOwnProperty(t)&&(this[t]=e[t]);this.synonymIndex=-1,this.synonymUseIndex=0,this.argumentSynonym={},this.literalTypes={},this.isRootKernel&&!this.returnType&&(this.returnType="Number"),this.validate(),this._string=null,this._internalVariableNames={}}validate(){if("string"!=typeof this.source)throw new Error("this.source not a string");if(!n.isFunctionString(this.source))throw new Error("this.source not a function string");if(!this.name)throw new Error("this.name could not be set");if(this.argumentTypes.length>0&&this.argumentTypes.length!==this.argumentNames.length)throw new Error(`argumentTypes count of ${this.argumentTypes.length} exceeds ${this.argumentNames.length}`);if(this.output.length<1)throw new Error("this.output is not big enough")}isIdentifierConstant(t){return!!this.constants&&this.constants.hasOwnProperty(t)}isInput(t){return"Input"===this.argumentTypes[this.argumentNames.indexOf(t)]}pushState(t){this.states.push(t)}popState(t){if(this.state!==t)throw new Error(`Cannot popState ${t} when in ${this.state}`);this.states.pop()}isState(t){return this.state===t}get state(){return this.states[this.states.length-1]}astMemberExpressionUnroll(t){if("Identifier"===t.type)return t.name;if("ThisExpression"===t.type)return"this";if("MemberExpression"===t.type&&t.object&&t.property)return t.object.hasOwnProperty("name")&&"_"===t.object.name[0]?this.astMemberExpressionUnroll(t.property):this.astMemberExpressionUnroll(t.object)+"."+this.astMemberExpressionUnroll(t.property);if(t.hasOwnProperty("expressions")){const e=t.expressions[0];if("Literal"===e.type&&0===e.value&&2===t.expressions.length)return this.astMemberExpressionUnroll(t.expressions[1])}throw this.astErrorOutput("Unknown astMemberExpressionUnroll",t)}getJsAST(t){if("object"==typeof this.source)return this.ast=this.source;if(this.ast)return this.ast;if(null===(t=t||i))throw"Missing JS to AST parser";const e=Object.freeze(t.parse(`const parser_${this.name} = ${this.source};`,{locations:!0})),r=e.body[0].declarations[0].init;if(!e)throw new Error("Failed to parse JS code");return this.ast=r}getVariableType(t){let e=null;const r=this.argumentNames.indexOf(t);if(-1===r){if(this.declarations[t])return this.declarations[t].type}else{const n=this.argumentTypes[r];n?e=n:this.lookupArgumentType&&(e=this.argumentTypes[r]=this.lookupArgumentType(t,this))}return e}getConstantType(t){if(this.constantTypes[t]){const e=this.constantTypes[t];return"Float"===e?"Number":e}throw new Error(`Type for constant "${t}" not declared`)}getKernelArgumentName(t){return this.lookupArgumentSynonym?-1===this.argumentNames.indexOf(t)?null:this.lookupArgumentSynonym("kernel",this.name,t):null}toString(){return this._string?this._string:this._string=this.astGeneric(this.getJsAST(),[]).join("").trim()}toJSON(){const t={source:this.source,name:this.name,constants:this.constants,constantTypes:this.constantTypes,isRootKernel:this.isRootKernel,isSubKernel:this.isSubKernel,debug:this.debug,output:this.output,loopMaxIterations:this.loopMaxIterations,argumentNames:this.argumentNames,argumentTypes:this.argumentTypes,argumentSizes:this.argumentSizes,returnType:this.returnType,leadingReturnStatement:this.leadingReturnStatement,followingReturnStatement:this.followingReturnStatement};return{ast:this.ast,settings:t}}getType(t){if(Array.isArray(t))return this.getType(t[t.length-1]);switch(t.type){case"BlockStatement":return this.getType(t.body);case"ArrayExpression":return`Array(${t.elements.length})`;case"Literal":const e=`${t.start},${t.end}`;return this.literalTypes[e]?this.literalTypes[e]:Number.isInteger(t.value)?"LiteralInteger":!0===t.value||!1===t.value?"Boolean":"Number";case"CallExpression":if(this.isAstMathFunction(t))return"Number";if(!t.callee||!t.callee.name){if("SequenceExpression"===t.callee.type&&t.callee.expressions[t.callee.expressions.length-1].property.name)return this.lookupReturnType(t.callee.expressions[t.callee.expressions.length-1].property.name,t,this);throw this.astErrorOutput("Unknown call expression",t)}if(t.callee&&t.callee.name)return this.lookupReturnType(t.callee.name,t,this);throw this.astErrorOutput(`Unhandled getType Type "${t.type}"`,t);case"BinaryExpression":switch(t.operator){case"%":return"Number";case">":case"<":return"Boolean"}const r=this.getType(t.left);return o[r]||r;case"UpdateExpression":case"UnaryExpression":return this.getType(t.argument);case"VariableDeclaration":return this.getType(t.declarations[0]);case"VariableDeclarator":return this.getType(t.id);case"Identifier":if(this.isAstVariable(t)&&"value"===this.getVariableSignature(t)){if(this.argumentNames.indexOf(t.name)>-1)return this.getVariableType(t.name);if(this.declarations[t.name])return this.declarations[t.name].type}if("Infinity"===t.name)return"Number";const n=this.findIdentifierOrigin(t);return n&&n.init?this.getType(n.init):null;case"ReturnStatement":return this.getType(t.argument);case"MemberExpression":if(this.isAstMathFunction(t)){switch(t.property.name){case"ceil":case"floor":case"round":return"Integer"}return"Number"}if(this.isAstVariable(t)){switch(this.getVariableSignature(t)){case"value[]":return o[this.getVariableType(t.object.name)];case"value[][]":return o[this.getVariableType(t.object.object.name)];case"value[][][]":return o[this.getVariableType(t.object.object.object.name)];case"value[][][][]":return o[this.getVariableType(t.object.object.object.object.name)];case"this.thread.value":return"Integer";case"this.output.value":return"LiteralInteger";case"this.constants.value":return this.getConstantType(t.property.name);case"this.constants.value[]":return o[this.getConstantType(t.object.property.name)];case"this.constants.value[][]":return o[this.getConstantType(t.object.object.property.name)];case"this.constants.value[][][]":return o[this.getConstantType(t.object.object.object.property.name)];case"this.constants.value[][][][]":return o[this.getConstantType(t.object.object.object.object.property.name)];case"fn()[]":case"fn()[][]":case"fn()[][][]":return o[this.getType(t.object)];case"value.value":if(this.isAstMathVariable(t))return"Number";switch(t.property.name){case"r":case"g":case"b":case"a":return o[this.getVariableType(t.object.name)]}case"[][]":return"Number"}throw this.astErrorOutput("Unhandled getType MemberExpression",t)}throw this.astErrorOutput("Unhandled getType MemberExpression",t);case"ConditionalExpression":return this.getType(t.consequent);case"FunctionDeclaration":case"FunctionExpression":const i=this.findLastReturn(t.body);return i?this.getType(i):null;case"IfStatement":return this.getType(t.consequent);default:throw this.astErrorOutput(`Unhandled getType Type "${t.type}"`,t)}}isAstMathVariable(t){return"MemberExpression"===t.type&&t.object&&"Identifier"===t.object.type&&"Math"===t.object.name&&t.property&&"Identifier"===t.property.type&&["E","PI","SQRT2","SQRT1_2","LN2","LN10","LOG2E","LOG10E"].indexOf(t.property.name)>-1}isAstMathFunction(t){return"CallExpression"===t.type&&t.callee&&"MemberExpression"===t.callee.type&&t.callee.object&&"Identifier"===t.callee.object.type&&"Math"===t.callee.object.name&&t.callee.property&&"Identifier"===t.callee.property.type&&["abs","acos","asin","atan","atan2","ceil","cos","exp","floor","log","log2","max","min","pow","random","round","sign","sin","sqrt","tan"].indexOf(t.callee.property.name)>-1}isAstVariable(t){return"Identifier"===t.type||"MemberExpression"===t.type}isSafe(t){return this.isSafeDependencies(this.getDependencies(t))}isSafeDependencies(t){return!t||!t.every||t.every(t=>t.isSafe)}getDependencies(t,e,r){if(e||(e=[]),!t)return null;if(Array.isArray(t)){for(let n=0;n<t.length;n++)this.getDependencies(t[n],e,r);return e}switch(t.type){case"Literal":e.push({origin:"literal",value:t.value,isSafe:!0!==r&&t.value>-1/0&&t.value<1/0&&!isNaN(t.value)});break;case"VariableDeclarator":return this.getDependencies(t.init,e,r);case"Identifier":this.declarations[t.name]?e.push({name:t.name,origin:"declaration",isSafe:!r&&this.isSafeDependencies(this.declarations[t.name].dependencies)}):this.argumentNames.indexOf(t.name)>-1&&e.push({name:t.name,origin:"argument",isSafe:!1});break;case"FunctionDeclaration":return this.getDependencies(t.body.body[t.body.body.length-1],e,r);case"ReturnStatement":return this.getDependencies(t.argument,e);case"BinaryExpression":return r="/"===t.operator||"*"===t.operator,this.getDependencies(t.left,e,r),this.getDependencies(t.right,e,r),e;case"UnaryExpression":case"UpdateExpression":return this.getDependencies(t.argument,e,r);case"VariableDeclaration":return this.getDependencies(t.declarations,e,r);case"ArrayExpression":return e.push({origin:"declaration",isSafe:!0}),e;case"CallExpression":return e.push({origin:"function",isSafe:!0}),e;case"MemberExpression":const n=this.getMemberExpressionDetails(t);if(n)return n.type;default:throw this.astErrorOutput(`Unhandled type ${t.type} in getAllVariables`,t)}return e}getVariableSignature(t){if(!this.isAstVariable(t))throw new Error(`ast of type "${t.type}" is not a variable signature`);if("Identifier"===t.type)return"value";const e=[];for(;t;)t.computed?e.push("[]"):"ThisExpression"===t.type?e.unshift("this"):t.property&&t.property.name?"x"===t.property.name||"y"===t.property.name||"z"===t.property.name?e.unshift(".value"):"constants"===t.property.name||"thread"===t.property.name||"output"===t.property.name?e.unshift("."+t.property.name):e.unshift(".value"):t.name?e.unshift("value"):t.callee&&t.callee.name?e.unshift("fn()"):t.elements?e.unshift("[]"):e.unshift("unknown"),t=t.object;const r=e.join("");return["value","value[]","value[][]","value[][][]","value[][][][]","value.value","this.thread.value","this.output.value","this.constants.value","this.constants.value[]","this.constants.value[][]","this.constants.value[][][]","this.constants.value[][][][]","fn()[]","fn()[][]","fn()[][][]","[][]"].indexOf(r)>-1?r:null}build(){return this.toString().length>0}astGeneric(t,e){if(null===t)throw this.astErrorOutput("NULL ast",t);if(Array.isArray(t)){for(let r=0;r<t.length;r++)this.astGeneric(t[r],e);return e}switch(t.type){case"FunctionDeclaration":return this.astFunctionDeclaration(t,e);case"FunctionExpression":return this.astFunctionExpression(t,e);case"ReturnStatement":return this.astReturnStatement(t,e);case"Literal":return this.astLiteral(t,e);case"BinaryExpression":return this.astBinaryExpression(t,e);case"Identifier":return this.astIdentifierExpression(t,e);case"AssignmentExpression":return this.astAssignmentExpression(t,e);case"ExpressionStatement":return this.astExpressionStatement(t,e);case"EmptyStatement":return this.astEmptyStatement(t,e);case"BlockStatement":return this.astBlockStatement(t,e);case"IfStatement":return this.astIfStatement(t,e);case"BreakStatement":return this.astBreakStatement(t,e);case"ContinueStatement":return this.astContinueStatement(t,e);case"ForStatement":return this.astForStatement(t,e);case"WhileStatement":return this.astWhileStatement(t,e);case"DoWhileStatement":return this.astDoWhileStatement(t,e);case"VariableDeclaration":return this.astVariableDeclaration(t,e);case"VariableDeclarator":return this.astVariableDeclarator(t,e);case"ThisExpression":return this.astThisExpression(t,e);case"SequenceExpression":return this.astSequenceExpression(t,e);case"UnaryExpression":return this.astUnaryExpression(t,e);case"UpdateExpression":return this.astUpdateExpression(t,e);case"LogicalExpression":return this.astLogicalExpression(t,e);case"MemberExpression":return this.astMemberExpression(t,e);case"CallExpression":return this.astCallExpression(t,e);case"ArrayExpression":return this.astArrayExpression(t,e);case"DebuggerStatement":return this.astDebuggerStatement(t,e);case"ConditionalExpression":return this.astConditionalExpression(t,e)}throw this.astErrorOutput("Unknown ast type : "+t.type,t)}astErrorOutput(t,e){if("string"!=typeof this.source)return new Error(t);const r=n.getAstString(this.source,e),i=this.source.substr(e.start).split(/\n/),o=i.length>0?i[i.length-1]:0;return new Error(`${t} on line ${i.length}, position ${o.length}:\n ${r}`)}astDebuggerStatement(t,e){return e}astConditionalExpression(t,e){if("ConditionalExpression"!==t.type)throw this.astErrorOutput("Not a conditional expression",t);return e.push("("),this.astGeneric(t.test,e),e.push("?"),this.astGeneric(t.consequent,e),e.push(":"),this.astGeneric(t.alternate,e),e.push(")"),e}astFunctionDeclaration(t,e){if(this.onNestedFunction){let e=this.getType(t);"LiteralInteger"===e&&(e="Number"),this.onNestedFunction(n.getAstString(this.source,t),e)}return e}astFunctionExpression(t,e){return e}astReturnStatement(t,e){return e}astLiteral(t,e){return this.literalTypes[`${t.start},${t.end}`]="Number",e}astBinaryExpression(t,e){return e}astIdentifierExpression(t,e){return e}astAssignmentExpression(t,e){return e}astExpressionStatement(t,e){return this.astGeneric(t.expression,e),e.push(";"),e}astEmptyStatement(t,e){return e}astBlockStatement(t,e){return e}astIfStatement(t,e){return e}astBreakStatement(t,e){return e.push("break;"),e}astContinueStatement(t,e){return e.push("continue;\n"),e}astForStatement(t,e){return e}astWhileStatement(t,e){return e}astDoWhileStatement(t,e){return e}astVariableDeclaration(t,e){const r=t.declarations;if(!r||!r[0]||!r[0].init)throw this.astErrorOutput("Unexpected expression",t);const n=[],i=r[0],o=i.init;let a=this.isState("in-for-loop-init")?"Integer":this.getType(o);"LiteralInteger"===a&&(a="Number");const s=typeMap[a];if(!s)throw this.astErrorOutput(`Markup type ${s} not handled`,t);let u=this.getDependencies(i.init);this.declarations[i.id.name]=Object.freeze({type:a,dependencies:u,isSafe:u.every(t=>t.isSafe)});const l=[`${a} user_${i.id.name}=`];this.astGeneric(o,l),n.push(l.join(""));for(let t=1;t<r.length;t++){const e=r[t];u=this.getDependencies(e),this.declarations[e.id.name]=Object.freeze({type:a,dependencies:u,isSafe:!1}),this.astGeneric(e,n)}return e.push(e,n.join(",")),e.push(";"),e}astVariableDeclarator(t,e){return this.astGeneric(t.id,e),null!==t.init&&(e.push("="),this.astGeneric(t.init,e)),e}astThisExpression(t,e){return e}astSequenceExpression(t,e){for(let r=0;r<t.expressions.length;r++)r>0&&e.push(","),this.astGeneric(t.expressions,e);return e}astUnaryExpression(t,e){return t.prefix?(e.push(t.operator),this.astGeneric(t.argument,e)):(this.astGeneric(t.argument,e),e.push(t.operator)),e}astUpdateExpression(t,e){return t.prefix?(e.push(t.operator),this.astGeneric(t.argument,e)):(this.astGeneric(t.argument,e),e.push(t.operator)),e}astLogicalExpression(t,e){return e.push("("),this.astGeneric(t.left,e),e.push(t.operator),this.astGeneric(t.right,e),e.push(")"),e}astMemberExpression(t,e){return e}astCallExpression(t,e){return e}astArrayExpression(t,e){return e}getMemberExpressionDetails(t){if("MemberExpression"!==t.type)throw this.astErrorOutput(`Expression ${t.type} not a MemberExpression`,t);let e=null,r=null;const n=this.getVariableSignature(t);switch(n){case"value":return null;case"this.thread.value":case"this.output.value":return{signature:n,type:"Integer",name:t.property.name};case"value[]":if("string"!=typeof t.object.name)throw this.astErrorOutput("Unexpected expression",t);return{name:e=t.object.name,origin:"user",signature:n,type:this.getVariableType(e),xProperty:t.property};case"value[][]":if("string"!=typeof t.object.object.name)throw this.astErrorOutput("Unexpected expression",t);return{name:e=t.object.object.name,origin:"user",signature:n,type:this.getVariableType(e),yProperty:t.object.property,xProperty:t.property};case"value[][][]":if("string"!=typeof t.object.object.object.name)throw this.astErrorOutput("Unexpected expression",t);return{name:e=t.object.object.object.name,origin:"user",signature:n,type:this.getVariableType(e),zProperty:t.object.object.property,yProperty:t.object.property,xProperty:t.property};case"value[][][][]":if("string"!=typeof t.object.object.object.object.name)throw this.astErrorOutput("Unexpected expression",t);return{name:e=t.object.object.object.object.name,origin:"user",signature:n,type:this.getVariableType(e),zProperty:t.object.object.property,yProperty:t.object.property,xProperty:t.property};case"value.value":if("string"!=typeof t.property.name)throw this.astErrorOutput("Unexpected expression",t);if(this.isAstMathVariable(t))return{name:e=t.property.name,origin:"Math",type:"Number",signature:n};switch(t.property.name){case"r":case"g":case"b":case"a":return{name:e=t.object.name,property:t.property.name,origin:"user",signature:n,type:"Number"};default:throw this.astErrorOutput("Unexpected expression",t)}case"this.constants.value":if("string"!=typeof t.property.name)throw this.astErrorOutput("Unexpected expression",t);if(e=t.property.name,!(r=this.getConstantType(e)))throw this.astErrorOutput("Constant has no type",t);return{name:e,type:r,origin:"constants",signature:n};case"this.constants.value[]":if("string"!=typeof t.object.property.name)throw this.astErrorOutput("Unexpected expression",t);if(e=t.object.property.name,!(r=this.getConstantType(e)))throw this.astErrorOutput("Constant has no type",t);return{name:e,type:r,origin:"constants",signature:n,xProperty:t.property};case"this.constants.value[][]":if("string"!=typeof t.object.object.property.name)throw this.astErrorOutput("Unexpected expression",t);if(e=t.object.object.property.name,!(r=this.getConstantType(e)))throw this.astErrorOutput("Constant has no type",t);return{name:e,type:r,origin:"constants",signature:n,yProperty:t.object.property,xProperty:t.property};case"this.constants.value[][][]":if("string"!=typeof t.object.object.object.property.name)throw this.astErrorOutput("Unexpected expression",t);if(e=t.object.object.object.property.name,!(r=this.getConstantType(e)))throw this.astErrorOutput("Constant has no type",t);return{name:e,type:r,origin:"constants",signature:n,zProperty:t.object.object.property,yProperty:t.object.property,xProperty:t.property};case"fn()[]":case"[][]":return{signature:n,property:t.property};default:throw this.astErrorOutput("Unexpected expression",t)}}findIdentifierOrigin(t){const e=[this.ast];for(;e.length>0;){const r=e[0];if("VariableDeclarator"===r.type&&r.id&&r.id.name&&r.id.name===t.name)return r;if(e.shift(),r.argument)e.push(r.argument);else if(r.body)e.push(r.body);else if(r.declarations)e.push(r.declarations);else if(Array.isArray(r))for(let t=0;t<r.length;t++)e.push(r[t])}return null}findLastReturn(t){const e=[t||this.ast];for(;e.length>0;){const t=e.pop();if("ReturnStatement"===t.type)return t;if(t.argument)e.push(t.argument);else if(t.body)e.push(t.body);else if(t.declarations)e.push(t.declarations);else if(Array.isArray(t))for(let r=0;r<t.length;r++)e.push(t[r]);else t.consequent&&e.push(t.consequent)}return null}getInternalVariableName(t){return this._internalVariableNames.hasOwnProperty(t)||(this._internalVariableNames[t]=0),this._internalVariableNames[t]++,1===this._internalVariableNames[t]?t:t+this._internalVariableNames[t]}varWarn(){console.warn("var declarations are deprecated, weird things happen when falling back to CPU because var scope differs in javascript than in most languages. Use const or let")}}}},{"../utils":63,acorn:1}],45:[function(t,e,r){const{Kernel:n}=t("./kernel"),{Texture:i}=t("../texture"),{utils:o}=t("../utils");const a=Object.freeze({PackedPixelToUint8Array:Symbol("PackedPixelToUint8Array"),PackedPixelToFloat:Symbol("PackedPixelToFloat"),PackedPixelTo2DFloat:Symbol("PackedPixelTo2DFloat"),PackedPixelTo3DFloat:Symbol("PackedPixelTo3DFloat"),PackedTexture:Symbol("PackedTexture"),FloatPixelToFloat32Array:Symbol("FloatPixelToFloat32Array"),FloatPixelToFloat:Symbol("FloatPixelToFloat"),FloatPixelTo2DFloat:Symbol("FloatPixelTo2DFloat"),FloatPixelTo3DFloat:Symbol("FloatPixelTo3DFloat"),FloatPixelToArray2:Symbol("FloatPixelToArray2"),FloatPixelTo2DArray2:Symbol("FloatPixelTo2DArray2"),FloatPixelTo3DArray2:Symbol("FloatPixelTo3DArray2"),FloatPixelToArray3:Symbol("FloatPixelToArray3"),FloatPixelTo2DArray3:Symbol("FloatPixelTo2DArray3"),FloatPixelTo3DArray3:Symbol("FloatPixelTo3DArray3"),FloatPixelToArray4:Symbol("FloatPixelToArray4"),FloatPixelTo2DArray4:Symbol("FloatPixelTo2DArray4"),FloatPixelTo3DArray4:Symbol("FloatPixelTo3DArray4"),FloatTexture:Symbol("FloatTexture"),MemoryOptimizedFloatPixelToMemoryOptimizedFloat:Symbol("MemoryOptimizedFloatPixelToFloat"),MemoryOptimizedFloatPixelToMemoryOptimized2DFloat:Symbol("MemoryOptimizedFloatPixelTo2DFloat"),MemoryOptimizedFloatPixelToMemoryOptimized3DFloat:Symbol("MemoryOptimizedFloatPixelTo3DFloat")}),s={int:"Integer",float:"Number",vec2:"Array(2)",vec3:"Array(3)",vec4:"Array(4)"};e.exports={GLKernel:class extends n{static get mode(){return"gpu"}static getIsFloatRead(){const t=new this("function kernelFunction() {\n\t\t\treturn 1;\n\t\t}",{context:this.testContext,canvas:this.testCanvas,validate:!1,output:[1],precision:"single",floatOutputForce:!0,returnType:"Number"}),e=t.run();return t.destroy(!0),1===e[0]}static getIsIntegerDivisionAccurate(){const t=new this(function(t,e){return t[this.thread.x]/e[this.thread.x]}.toString(),{context:this.testContext,canvas:this.testCanvas,validate:!1,output:[2],returnType:"Number",precision:"unsigned"}),e=t.run([6,6030401],[3,3991]);return t.destroy(!0),2===e[0]&&1511===e[1]}static get testCanvas(){throw new Error(`"testCanvas" not defined on ${this.name}`)}static get testContext(){throw new Error(`"testContext" not defined on ${this.name}`)}static get features(){throw new Error(`"features" not defined on ${this.name}`)}static setupFeatureChecks(){throw new Error(`"setupFeatureChecks" not defined on ${this.name}`)}setFixIntegerDivisionAccuracy(t){return this.fixIntegerDivisionAccuracy=t,this}setPrecision(t){return this.precision=t,this}setFloatOutputForce(t){return this.floatOutputForce=t,this}setFloatTextures(t){return o.warnDeprecated("method","setFloatTextures","setOptimizeFloatMemory"),this.floatTextures=t,this}setOptimizeFloatMemory(t){return this.optimizeFloatMemory=t,this}static nativeFunctionArguments(t){const e=[],r=[],n=[],i=/^[a-zA-Z_]/,o=/[a-zA-Z_0-9]/;let a=0,u=null,l=null;for(;a<t.length;){const c=t[a],h=t[a+1],p=n.length>0?n[n.length-1]:null;if("FUNCTION_ARGUMENTS"!==p||"/"!==c||"*"!==h)if("MULTI_LINE_COMMENT"!==p||"*"!==c||"/"!==h)if("FUNCTION_ARGUMENTS"!==p||"/"!==c||"/"!==h)if("COMMENT"!==p||"\n"!==c)if(null!==p||"("!==c){if("FUNCTION_ARGUMENTS"===p){if(")"===c){n.pop();break}if("f"===c&&"l"===h&&"o"===t[a+2]&&"a"===t[a+3]&&"t"===t[a+4]&&" "===t[a+5]){n.push("DECLARE_VARIABLE"),l="float",u="",a+=6;continue}if("i"===c&&"n"===h&&"t"===t[a+2]&&" "===t[a+3]){n.push("DECLARE_VARIABLE"),l="int",u="",a+=4;continue}if("v"===c&&"e"===h&&"c"===t[a+2]&&"2"===t[a+3]&&" "===t[a+4]){n.push("DECLARE_VARIABLE"),l="vec2",u="",a+=5;continue}if("v"===c&&"e"===h&&"c"===t[a+2]&&"3"===t[a+3]&&" "===t[a+4]){n.push("DECLARE_VARIABLE"),l="vec3",u="",a+=5;continue}if("v"===c&&"e"===h&&"c"===t[a+2]&&"4"===t[a+3]&&" "===t[a+4]){n.push("DECLARE_VARIABLE"),l="vec4",u="",a+=5;continue}}else if("DECLARE_VARIABLE"===p){if(""===u){if(" "===c){a++;continue}if(!i.test(c))throw new Error("variable name is not expected string")}u+=c,o.test(h)||(n.pop(),r.push(u),e.push(s[l]))}a++}else n.push("FUNCTION_ARGUMENTS"),a++;else n.pop(),a++;else n.push("COMMENT"),a+=2;else n.pop(),a+=2;else n.push("MULTI_LINE_COMMENT"),a+=2}if(n.length>0)throw new Error("GLSL function was not parsable");return{argumentNames:r,argumentTypes:e}}static nativeFunctionReturnType(t){return s[t.match(/int|float|vec[2-4]/)[0]]}static combineKernels(t,e){t.apply(null,arguments);const{texSize:r,context:n,threadDim:i}=e.texSize;let a;if("single"===e.precision){const t=r[0],e=Math.ceil(r[1]/4);a=new Float32Array(t*e*4*4),n.readPixels(0,0,t,4*e,n.RGBA,n.FLOAT,a)}else{const t=new Uint8Array(r[0]*r[1]*4);n.readPixels(0,0,r[0],r[1],n.RGBA,n.UNSIGNED_BYTE,t),a=new Float32Array(t.buffer)}return a=a.subarray(0,i[0]*i[1]*i[2]),1===e.output.length?a:2===e.output.length?o.splitArray(a,e.output[0]):3===e.output.length?o.splitArray(a,e.output[0]*e.output[1]).map(function(t){return o.splitArray(t,e.output[0])}):void 0}constructor(t,e){super(t,e),this.texSize=null,this.floatOutputForce=null,this.fixIntegerDivisionAccuracy=null,this.translatedSource=null,this.renderStrategy=null,this.compiledFragmentShader=null,this.compiledVertexShader=null,this.optimizeFloatMemory=null}translateSource(){throw new Error(`"translateSource" not defined on ${this.constructor.name}`)}pickRenderStrategy(t){if(!this.graphical){if("unsigned"===this.precision)switch(this.returnType){case"LiteralInteger":case"Float":case"Number":case"Integer":return this.pipeline?(this.renderStrategy=a.PackedTexture,this.renderOutput=this.renderTexture):this.output[2]>0?(this.renderStrategy=a.PackedPixelTo3DFloat,this.renderOutput=this.render3DPackedFloat):this.output[1]>0?(this.renderStrategy=a.PackedPixelTo2DFloat,this.renderOutput=this.render2DPackedFloat):(this.renderStrategy=a.PackedPixelToFloat,this.renderOutput=this.renderPackedFloat),!0;case"Array(2)":case"Array(3)":case"Array(4)":return this.onRequestFallback(t),!1}else{if("single"!==this.precision)throw new Error(`unhandled precision of "${this.precision}"`);if(this.pipeline)return this.renderStrategy=a.FloatTexture,this.renderOutput=this.renderTexture,!0;switch(this.returnType){case"LiteralInteger":case"Float":case"Number":case"Integer":return this.output[2]>0?this.optimizeFloatMemory?(this.renderStrategy=a.MemoryOptimizedFloatPixelToMemoryOptimized3DFloat,this.renderOutput=this.renderMemoryOptimized3DFloat):(this.renderStrategy=a.FloatPixelTo3DFloat,this.renderOutput=this.render3DFloat):this.output[1]>0?this.optimizeFloatMemory?(this.renderStrategy=a.MemoryOptimizedFloatPixelToMemoryOptimized2DFloat,this.renderOutput=this.renderMemoryOptimized2DFloat):(this.renderStrategy=a.FloatPixelTo2DFloat,this.renderOutput=this.render2DFloat):this.optimizeFloatMemory?(this.renderStrategy=a.MemoryOptimizedFloatPixelToMemoryOptimizedFloat,this.renderOutput=this.renderMemoryOptimizedFloat):(this.renderStrategy=a.FloatPixelToFloat,this.renderOutput=this.renderFloat),!0;case"Array(2)":return this.output[2]>0?(this.renderStrategy=a.FloatPixelTo3DArray2,this.renderOutput=this.render3DArray2):this.output[1]>0?(this.renderStrategy=a.FloatPixelTo2DArray2,this.renderOutput=this.render2DArray2):(this.renderStrategy=a.FloatPixelToArray2,this.renderOutput=this.renderArray2),!0;case"Array(3)":return this.output[2]>0?(this.renderStrategy=a.FloatPixelTo3DArray3,this.renderOutput=this.render3DArray3):this.output[1]>0?(this.renderStrategy=a.FloatPixelTo2DArray3,this.renderOutput=this.render2DArray3):(this.renderStrategy=a.FloatPixelToArray3,this.renderOutput=this.renderArray3),!0;case"Array(4)":return this.output[2]>0?(this.renderStrategy=a.FloatPixelTo3DArray4,this.renderOutput=this.render3DArray4):this.output[1]>0?(this.renderStrategy=a.FloatPixelTo2DArray4,this.renderOutput=this.render2DArray4):(this.renderStrategy=a.FloatPixelToArray4,this.renderOutput=this.renderArray4),!0}}throw new Error(`unhandled return type "${this.returnType}"`)}}getKernelString(){throw new Error("abstract method call")}getMainResultTexture(){switch(this.returnType){case"LiteralInteger":case"Float":case"Integer":case"Number":return this.getMainResultNumberTexture();case"Array(2)":return this.getMainResultArray2Texture();case"Array(3)":return this.getMainResultArray3Texture();case"Array(4)":return this.getMainResultArray4Texture();default:throw new Error(`unhandled returnType type ${this.returnType}`)}}getMainResultKernelNumberTexture(){throw new Error("abstract method call")}getMainResultSubKernelNumberTexture(){throw new Error("abstract method call")}getMainResultKernelArray2Texture(){throw new Error("abstract method call")}getMainResultSubKernelArray2Texture(){throw new Error("abstract method call")}getMainResultKernelArray3Texture(){throw new Error("abstract method call")}getMainResultSubKernelArray3Texture(){throw new Error("abstract method call")}getMainResultKernelArray4Texture(){throw new Error("abstract method call")}getMainResultSubKernelArray4Texture(){throw new Error("abstract method call")}getMainResultGraphical(){throw new Error("abstract method call")}getMainResultMemoryOptimizedFloats(){throw new Error("abstract method call")}getMainResultPackedPixels(){throw new Error("abstract method call")}getMainResultString(){return this.graphical?this.getMainResultGraphical():"single"===this.precision?this.optimizeFloatMemory?this.getMainResultMemoryOptimizedFloats():this.getMainResultTexture():this.getMainResultPackedPixels()}getMainResultNumberTexture(){return o.linesToString(this.getMainResultKernelNumberTexture())+o.linesToString(this.getMainResultSubKernelNumberTexture())}getMainResultArray2Texture(){return o.linesToString(this.getMainResultKernelArray2Texture())+o.linesToString(this.getMainResultSubKernelArray2Texture())}getMainResultArray3Texture(){return o.linesToString(this.getMainResultKernelArray3Texture())+o.linesToString(this.getMainResultSubKernelArray3Texture())}getMainResultArray4Texture(){return o.linesToString(this.getMainResultKernelArray4Texture())+o.linesToString(this.getMainResultSubKernelArray4Texture())}getReturnTextureType(){if(this.graphical)return"ArrayTexture(4)";if("single"===this.precision)switch(this.returnType){case"Float":case"Number":case"Integer":return this.optimizeFloatMemory?"MemoryOptimizedNumberTexture":"ArrayTexture(1)";case"Array(2)":return"ArrayTexture(2)";case"Array(3)":return"ArrayTexture(3)";case"Array(4)":return"ArrayTexture(4)";default:throw new Error(`unsupported returnType ${this.returnType}`)}else switch(this.returnType){case"Float":case"Number":case"Integer":return"NumberTexture";case"Array(2)":case"Array(3)":case"Array(4)":default:throw new Error(`unsupported returnType ${this.returnType}`)}}renderTexture(){return new i({texture:this.outputTexture,size:this.texSize,dimensions:this.threadDim,output:this.output,context:this.context,gpu:this.gpu,type:this.getReturnTextureType()})}readPackedPixelsToUint8Array(){if("unsigned"!==this.precision)throw new Error('Requires this.precision to be "unsigned"');const{texSize:t,context:e}=this,r=new Uint8Array(t[0]*t[1]*4);return e.readPixels(0,0,t[0],t[1],e.RGBA,e.UNSIGNED_BYTE,r),r}readPackedPixelsToFloat32Array(){return new Float32Array(this.readPackedPixelsToUint8Array().buffer)}readFloatPixelsToFloat32Array(){if("single"!==this.precision)throw new Error('Requires this.precision to be "single"');const{texSize:t,context:e}=this,r=t[0],n=t[1],i=new Float32Array(r*n*4);return e.readPixels(0,0,r,n,e.RGBA,e.FLOAT,i),i}readMemoryOptimizedFloatPixelsToFloat32Array(){if("single"!==this.precision)throw new Error('Requires this.precision to be "single"');const{texSize:t,context:e}=this,r=t[0],n=t[1],i=new Float32Array(r*n*4);return e.readPixels(0,0,r,n,e.RGBA,e.FLOAT,i),i}renderPackedFloat(){const[t]=this.output;return this.readPackedPixelsToFloat32Array().subarray(0,t)}render2DPackedFloat(){const t=this.readPackedPixelsToFloat32Array(),[e,r]=this.output,n=new Array(r);for(let i=0;i<r;i++){const r=i*e,o=r+e;n[i]=t.subarray(r,o)}return n}render3DPackedFloat(){const t=this.readPackedPixelsToFloat32Array(),[e,r,n]=this.output,i=new Array(n);for(let o=0;o<n;o++){const n=new Array(r);for(let i=0;i<r;i++){const a=o*r*e+i*e,s=a+e;n[i]=t.subarray(a,s)}i[o]=n}return i}renderFloat(){const t=this.readFloatPixelsToFloat32Array(),[e]=this.output,r=new Float32Array(e);let n=0;for(let i=0;i<e;i++)r[i]=t[n],n+=4;return r}renderMemoryOptimizedFloat(){const t=this.readMemoryOptimizedFloatPixelsToFloat32Array(),[e]=this.output;return t.subarray(0,e)}render2DFloat(){const t=this.readFloatPixelsToFloat32Array(),[e,r]=this.output,n=new Array(r);let i=0;for(let o=0;o<r;o++){const r=new Float32Array(e);for(let n=0;n<e;n++)r[n]=t[i],i+=4;n[o]=r}return n}renderMemoryOptimized2DFloat(){const t=this.readFloatPixelsToFloat32Array(),[e,r]=this.output,n=new Array(r);for(let i=0;i<r;i++){const r=i*e;n[i]=t.subarray(r,r+e)}return n}render3DFloat(){const t=this.readFloatPixelsToFloat32Array(),[e,r,n]=this.output,i=new Array(n);let o=0;for(let a=0;a<n;a++){const n=new Array(r);for(let i=0;i<r;i++){const r=new Float32Array(e);for(let n=0;n<e;n++)r[n]=t[o],o+=4;n[i]=r}i[a]=n}return i}renderMemoryOptimized3DFloat(){const t=this.readFloatPixelsToFloat32Array(),[e,r,n]=this.output,i=new Array(n);for(let o=0;o<n;o++){const n=new Array(r);for(let i=0;i<r;i++){const a=o*r*e+i*e;n[i]=t.subarray(a,a+e)}i[o]=n}return i}renderArray2(){const t=this.readFloatPixelsToFloat32Array(),[e]=this.output,r=new Array(e),n=4*e;let i=0;for(let e=0;e<n;e+=4)r[i++]=t.subarray(e,e+2);return r}render2DArray2(){const t=this.readFloatPixelsToFloat32Array(),[e,r]=this.output,n=new Array(r),i=4*e;for(let o=0;o<r;o++){const r=new Array(e);let a=0;for(let e=0;e<i;e+=4)r[a++]=t.subarray(e,e+2);n[o]=r}return n}render3DArray2(){const t=this.readFloatPixelsToFloat32Array(),[e,r,n]=this.output,i=4*e,o=new Array(n);for(let a=0;a<n;a++){const n=new Array(r);for(let o=0;o<r;o++){const r=new Array(e);let a=0;for(let e=0;e<i;e+=4)r[a++]=t.subarray(e,e+2);n[o]=r}o[a]=n}return o}renderArray3(){const t=this.readFloatPixelsToFloat32Array(),[e]=this.output,r=new Array(e),n=4*e;let i=0;for(let e=0;e<n;e+=4)r[i++]=t.subarray(e,e+3);return r}render2DArray3(){const t=this.readFloatPixelsToFloat32Array(),[e,r]=this.output,n=4*e,i=new Array(r);for(let o=0;o<r;o++){const r=new Array(e);let a=0;for(let e=0;e<n;e+=4)r[a++]=t.subarray(e,e+3);i[o]=r}return i}render3DArray3(){const t=this.readFloatPixelsToFloat32Array(),[e,r,n]=this.output,i=4*e,o=new Array(n);for(let a=0;a<n;a++){const n=new Array(r);for(let o=0;o<r;o++){const r=new Array(e);let a=0;for(let e=0;e<i;e+=4)r[a++]=t.subarray(e,e+3);n[o]=r}o[a]=n}return o}renderArray4(){const t=this.readFloatPixelsToFloat32Array(),[e]=this.output,r=new Array(e),n=4*e;let i=0;for(let e=0;e<n;e+=4)r[i++]=t.subarray(e,e+4);return r}render2DArray4(){const t=this.readFloatPixelsToFloat32Array(),[e,r]=this.output,n=4*e,i=new Array(r);for(let o=0;o<r;o++){const r=new Array(e);let a=0;for(let e=0;e<n;e+=4)r[a++]=t.subarray(e,e+4);i[o]=r}return i}render3DArray4(){const t=this.readFloatPixelsToFloat32Array(),[e,r,n]=this.output,i=4*e,o=new Array(n);for(let a=0;a<n;a++){const n=new Array(r);for(let o=0;o<r;o++){const r=new Array(e);let a=0;for(let e=0;e<i;e+=4)r[a++]=t.subarray(e,e+4);n[o]=r}o[a]=n}return o}getPixels(){const{context:t,output:e}=this,[r,n]=e,i=new Uint8Array(r*n*4);return t.readPixels(0,0,r,n,t.RGBA,t.UNSIGNED_BYTE,i),i}},renderStrategy:a}},{"../texture":62,"../utils":63,"./kernel":47}],46:[function(t,e,r){const n=t("gl"),{WebGLKernel:i}=t("../web-gl/kernel");let o=null,a=null,s=null,u=null,l=null;e.exports={HeadlessGLKernel:class extends i{static get isSupported(){return null!==o?o:(this.setupFeatureChecks(),o=null!==s)}static setupFeatureChecks(){if(a=null,u=null,"function"==typeof n)try{if(!(s=n(2,2,{preserveDrawingBuffer:!0}))||!s.getExtension)return;u={STACKGL_resize_drawingbuffer:s.getExtension("STACKGL_resize_drawingbuffer"),STACKGL_destroy_context:s.getExtension("STACKGL_destroy_context"),OES_texture_float:s.getExtension("OES_texture_float"),OES_texture_float_linear:s.getExtension("OES_texture_float_linear"),OES_element_index_uint:s.getExtension("OES_element_index_uint"),WEBGL_draw_buffers:s.getExtension("WEBGL_draw_buffers")},l=this.getFeatures()}catch(t){}}static isContextMatch(t){try{return"ANGLE"===t.getParameter(t.RENDERER)}catch(t){return!1}}static getFeatures(){const t=this.getIsDrawBuffers();return Object.freeze({isFloatRead:this.getIsFloatRead(),isIntegerDivisionAccurate:this.getIsIntegerDivisionAccurate(),isTextureFloat:this.getIsTextureFloat(),isDrawBuffers:t,kernelMap:t})}static getIsTextureFloat(){return Boolean(u.OES_texture_float)}static getIsDrawBuffers(){return Boolean(u.WEBGL_draw_buffers)}static get testCanvas(){return a}static get testContext(){return s}static get features(){return l}initCanvas(){return{}}initContext(){return n(2,2,{preserveDrawingBuffer:!0})}initExtensions(){this.extensions={STACKGL_resize_drawingbuffer:this.context.getExtension("STACKGL_resize_drawingbuffer"),STACKGL_destroy_context:this.context.getExtension("STACKGL_destroy_context"),OES_texture_float:this.context.getExtension("OES_texture_float"),OES_texture_float_linear:this.context.getExtension("OES_texture_float_linear"),OES_element_index_uint:this.context.getExtension("OES_element_index_uint"),WEBGL_draw_buffers:this.context.getExtension("WEBGL_draw_buffers")}}destroyExtensions(){this.extensions.STACKGL_resize_drawingbuffer=null,this.extensions.STACKGL_destroy_context=null,this.extensions.OES_texture_float=null,this.extensions.OES_texture_float_linear=null,this.extensions.OES_element_index_uint=null,this.extensions.WEBGL_draw_buffers=null}static destroyContext(t){const e=t.getExtension("STACKGL_destroy_context");e&&e.destroy&&e.destroy()}}}},{"../web-gl/kernel":51,gl:37}],47:[function(t,e,r){const{utils:n}=t("../utils"),{Input:i}=t("../input");e.exports={Kernel:class{static get isSupported(){throw new Error(`"isSupported" not implemented on ${this.name}`)}static isContextMatch(t){throw new Error(`"isContextMatch" not implemented on ${this.name}`)}static getFeatures(){throw new Error(`"getFeatures" not implemented on ${this.name}`)}static destroyContext(t){throw new Error(`"destroyContext" called on ${this.name}`)}static nativeFunctionArguments(){throw new Error(`"nativeFunctionArguments" called on ${this.name}`)}static nativeFunctionReturnType(){throw new Error(`"nativeFunctionReturnType" called on ${this.name}`)}static combineKernels(){throw new Error(`"combineKernels" called on ${this.name}`)}constructor(t,e){if("object"!=typeof t){if("string"!=typeof t)throw new Error("source not a string");if(!n.isFunctionString(t))throw new Error("source not a function string")}this.onRequestFallback=null,this.argumentNames="string"==typeof t?n.getArgumentNamesFromString(t):null,this.argumentTypes=null,this.argumentSizes=null,this.argumentBitRatios=null,this.argumentsLength=0,this.constantsLength=0,this.source=t,this.output=null,this.debug=!1,this.graphical=!1,this.loopMaxIterations=0,this.constants=null,this.constantTypes=null,this.constantBitRatios=null,this.hardcodeConstants=!1,this.canvas=null,this.context=null,this.gpu=null,this.functions=null,this.nativeFunctions=null,this.subKernels=null,this.validate=!0,this.immutable=!1,this.pipeline=!1,this.precision=null,this.plugins=null,this.returnType=null,this.leadingReturnStatement=null,this.followingReturnStatement=null}mergeSettings(t){for(let e in t)if(t.hasOwnProperty(e)&&this.hasOwnProperty(e)){if("output"===e){if(!Array.isArray(t.output)){this.setOutput(t.output);continue}}else if("functions"===e&&"function"==typeof t.functions[0]){this.functions=t.functions.map(t=>n.functionToIFunction(t));continue}this[e]=t[e]}this.canvas||(this.canvas=this.initCanvas()),this.context||(this.context=this.initContext()),this.plugins||(this.plugins=this.initPlugins(t))}build(){throw new Error(`"build" not defined on ${this.constructor.name}`)}run(){throw new Error(`"run" not defined on ${this.constructor.name}`)}initCanvas(){throw new Error(`"initCanvas" not defined on ${this.constructor.name}`)}initContext(){throw new Error(`"initContext" not defined on ${this.constructor.name}`)}initPlugins(t){throw new Error(`"initPlugins" not defined on ${this.constructor.name}`)}setupArguments(t){if(!this.argumentTypes){this.argumentTypes=[];for(let e=0;e<t.length;e++){const r=n.getVariableType(t[e]);this.argumentTypes.push("Integer"===r?"Number":r)}}this.argumentSizes=new Array(t.length),this.argumentBitRatios=new Int32Array(t.length);for(let e=0;e<t.length;e++){const r=t[e];this.argumentSizes[e]=r.constructor===i?r.size:null,this.argumentBitRatios[e]=this.getBitRatio(r)}if(this.argumentNames.length!==t.length)throw new Error("arguments are miss-aligned")}setupConstants(){if(this.constantTypes={},this.constantBitRatios={},this.constants)for(let t in this.constants)this.constantTypes[t]=n.getVariableType(this.constants[t]),this.constantBitRatios[t]=this.getBitRatio(this.constants[t])}setOptimizeFloatMemory(t){return this.optimizeFloatMemory=t,this}setOutput(t){return t.hasOwnProperty("x")?t.hasOwnProperty("y")?t.hasOwnProperty("z")?this.output=[t.x,t.y,t.z]:this.output=[t.x,t.y]:this.output=[t.x]:this.output=t,this}setDebug(t){return this.debug=t,this}setGraphical(t){return this.graphical=t,this}setLoopMaxIterations(t){return this.loopMaxIterations=t,this}setConstants(t){return this.constants=t,this}setFunctions(t){return"function"==typeof t[0]?this.functions=t.map(t=>n.functionToIFunction(t)):this.functions=t,this}setPipeline(t){return this.pipeline=t,this}setPrecision(t){return this.precision=t,this}setOutputToTexture(t){return n.warnDeprecated("method","setOutputToTexture","setPipeline"),this.pipeline=t,this}setImmutable(t){return this.immutable=t,this}setCanvas(t){return this.canvas=t,this}getCanvas(){return n.warnDeprecated("method","getCanvas"),this.canvas}getWebGl(){return n.warnDeprecated("method","getWebGl"),this.context}setContext(t){return this.context=t,this}setArgumentTypes(t){return this.argumentTypes=t,this}requestFallback(t){if(!this.onRequestFallback)throw new Error(`"onRequestFallback" not defined on ${this.constructor.name}`);return this.onRequestFallback(t)}validateSettings(){throw new Error(`"validateSettings" not defined on ${this.constructor.name}`)}exec(){const t=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);return new Promise((e,r)=>{try{e(this.run.apply(this,t))}catch(t){r(t)}})}addSubKernel(t){if(null===this.subKernels&&(this.subKernels=[]),!t.source)throw new Error('subKernel missing "source" property');if(!t.property&&isNaN(t.property))throw new Error('subKernel missing "property" property');if(!t.name)throw new Error('subKernel missing "name" property');return this.subKernels.push(t),this}destroy(t){throw new Error(`"destroy" called on ${this.constructor.name}`)}getBitRatio(t){if("single"===this.precision)return 4;if(Array.isArray(t[0]))return this.getBitRatio(t[0]);if(t.constructor===i)return this.getBitRatio(t.value);switch(t.constructor){case Uint8Array:case Int8Array:return 1;case Uint16Array:case Int16Array:return 2;case Float32Array:case Int32Array:default:return 4}}getPixels(){throw new Error(`"getPixels" called on ${this.constructor.name}`)}checkOutput(){if(!this.output||!Array.isArray(this.output))throw new Error("kernel.output not an array");if(this.output.length<1)throw new Error("kernel.output is empty, needs at least 1 value");for(let t=0;t<this.output.length;t++)if(isNaN(this.output[t])||this.output[t]<1)throw new Error(`${this.constructor.name}.output[${t}] incorrectly defined as \`${this.output[t]}\`, needs to be numeric, and greater than 0`)}toJSON(){return{settings:{output:this.output,threadDim:this.threadDim,pipeline:this.pipeline,argumentNames:this.argumentNames,argumentsTypes:this.argumentTypes,argumentsLength:this.argumentsLength,constants:this.constants,constantsLength:this.constantsLength,pluginNames:this.plugins?this.plugins.map(t=>t.name):null,returnType:this.returnType}}}}}},{"../input":59,"../utils":63}],48:[function(t,e,r){e.exports={fragmentShader:"__HEADER__;\nprecision highp float;\nprecision highp int;\nprecision highp sampler2D;\n\nconst int LOOP_MAX = __LOOP_MAX__;\n\n__PLUGINS__;\n__CONSTANTS__;\n\nvarying vec2 vTexCoord;\n\nvec4 round(vec4 x) {\n return floor(x + 0.5);\n}\n\nfloat round(float x) {\n return floor(x + 0.5);\n}\n\nvec2 integerMod(vec2 x, float y) {\n vec2 res = floor(mod(x, y));\n return res * step(1.0 - floor(y), -res);\n}\n\nvec3 integerMod(vec3 x, float y) {\n vec3 res = floor(mod(x, y));\n return res * step(1.0 - floor(y), -res);\n}\n\nvec4 integerMod(vec4 x, vec4 y) {\n vec4 res = floor(mod(x, y));\n return res * step(1.0 - floor(y), -res);\n}\n\nfloat integerMod(float x, float y) {\n float res = floor(mod(x, y));\n return res * (res > floor(y) - 1.0 ? 0.0 : 1.0);\n}\n\nint integerMod(int x, int y) {\n return x - (y * int(x / y));\n}\n\n__DIVIDE_WITH_INTEGER_CHECK__;\n\n// Here be dragons!\n// DO NOT OPTIMIZE THIS CODE\n// YOU WILL BREAK SOMETHING ON SOMEBODY'S MACHINE\n// LEAVE IT AS IT IS, LEST YOU WASTE YOUR OWN TIME\nconst vec2 MAGIC_VEC = vec2(1.0, -256.0);\nconst vec4 SCALE_FACTOR = vec4(1.0, 256.0, 65536.0, 0.0);\nconst vec4 SCALE_FACTOR_INV = vec4(1.0, 0.00390625, 0.0000152587890625, 0.0); // 1, 1/256, 1/65536\nfloat decode32(vec4 texel) {\n __DECODE32_ENDIANNESS__;\n texel *= 255.0;\n vec2 gte128;\n gte128.x = texel.b >= 128.0 ? 1.0 : 0.0;\n gte128.y = texel.a >= 128.0 ? 1.0 : 0.0;\n float exponent = 2.0 * texel.a - 127.0 + dot(gte128, MAGIC_VEC);\n float res = exp2(round(exponent));\n texel.b = texel.b - 128.0 * gte128.x;\n res = dot(texel, SCALE_FACTOR) * exp2(round(exponent-23.0)) + res;\n res *= gte128.y * -2.0 + 1.0;\n return res;\n}\n\nfloat decode16(vec4 texel, int index) {\n\tint channel = integerMod(index, 2);\n\tif (channel == 0) return texel.r * 255.0 + texel.g * 65280.0;\n\tif (channel == 1) return texel.b * 255.0 + texel.a * 65280.0;\n\treturn 0.0;\n}\n\nfloat decode8(vec4 texel, int index) {\n int channel = integerMod(index, 4);\n if (channel == 0) return texel.r * 255.0;\n if (channel == 1) return texel.g * 255.0;\n if (channel == 2) return texel.b * 255.0;\n if (channel == 3) return texel.a * 255.0;\n return 0.0;\n}\n\nvec4 encode32(float f) {\n float F = abs(f);\n float sign = f < 0.0 ? 1.0 : 0.0;\n float exponent = floor(log2(F));\n float mantissa = (exp2(-exponent) * F);\n // exponent += floor(log2(mantissa));\n vec4 texel = vec4(F * exp2(23.0-exponent)) * SCALE_FACTOR_INV;\n texel.rg = integerMod(texel.rg, 256.0);\n texel.b = integerMod(texel.b, 128.0);\n texel.a = exponent*0.5 + 63.5;\n texel.ba += vec2(integerMod(exponent+127.0, 2.0), sign) * 128.0;\n texel = floor(texel);\n texel *= 0.003921569; // 1/255\n __ENCODE32_ENDIANNESS__;\n return texel;\n}\n// Dragons end here\n\nint index;\nivec3 threadId;\n\nivec3 indexTo3D(int idx, ivec3 texDim) {\n int z = int(idx / (texDim.x * texDim.y));\n idx -= z * int(texDim.x * texDim.y);\n int y = int(idx / texDim.x);\n int x = int(integerMod(idx, texDim.x));\n return ivec3(x, y, z);\n}\n\nfloat get32(sampler2D tex, ivec2 texSize, ivec3 texDim, int z, int y, int x) {\n ivec3 xyz = ivec3(x, y, z);\n int index = xyz.x + texDim.x * (xyz.y + texDim.y * xyz.z);\n int w = texSize.x;\n vec2 st = vec2(float(integerMod(index, w)), float(index / w)) + 0.5;\n vec4 texel = texture2D(tex, st / vec2(texSize));\n return decode32(texel);\n}\n\nfloat get16(sampler2D tex, ivec2 texSize, ivec3 texDim, int z, int y, int x) {\n ivec3 xyz = ivec3(x, y, z);\n int index = xyz.x + texDim.x * (xyz.y + texDim.y * xyz.z);\n int w = texSize.x * 2;\n vec2 st = vec2(float(integerMod(index, w)), float(index / w)) + 0.5;\n vec4 texel = texture2D(tex, st / vec2(texSize.x * 2, texSize.y));\n return decode16(texel, index);\n}\n\nfloat get8(sampler2D tex, ivec2 texSize, ivec3 texDim, int z, int y, int x) {\n ivec3 xyz = ivec3(x, y, z);\n int index = xyz.x + texDim.x * (xyz.y + texDim.y * xyz.z);\n int w = texSize.x * 4;\n vec2 st = vec2(float(integerMod(index, w)), float(index / w)) + 0.5;\n vec4 texel = texture2D(tex, st / vec2(texSize.x * 4, texSize.y));\n return decode8(texel, index);\n}\n\nfloat getMemoryOptimized32(sampler2D tex, ivec2 texSize, ivec3 texDim, int z, int y, int x) {\n ivec3 xyz = ivec3(x, y, z);\n int index = xyz.x + texDim.x * (xyz.y + texDim.y * xyz.z);\n int channel = integerMod(index, 4);\n index = index / 4;\n int w = texSize.x;\n vec2 st = vec2(float(integerMod(index, w)), float(index / w)) + 0.5;\n vec4 texel = texture2D(tex, st / vec2(texSize));\n if (channel == 0) return texel.r;\n if (channel == 1) return texel.g;\n if (channel == 2) return texel.b;\n if (channel == 3) return texel.a;\n return 0.0;\n}\n\nvec4 getImage2D(sampler2D tex, ivec2 texSize, ivec3 texDim, int z, int y, int x) {\n ivec3 xyz = ivec3(x, y, z);\n int index = xyz.x + texDim.x * (xyz.y + texDim.y * xyz.z);\n int w = texSize.x;\n vec2 st = vec2(float(integerMod(index, w)), float(index / w)) + 0.5;\n return texture2D(tex, st / vec2(texSize));\n}\n\nfloat getFloatFromSampler2D(sampler2D tex, ivec2 texSize, ivec3 texDim, int z, int y, int x) {\n vec4 result = getImage2D(tex, texSize, texDim, z, y, x);\n return result[0];\n}\n\nvec2 getVec2FromSampler2D(sampler2D tex, ivec2 texSize, ivec3 texDim, int z, int y, int x) {\n vec4 result = getImage2D(tex, texSize, texDim, z, y, x);\n return vec2(result[0], result[1]);\n}\n\nvec3 getVec3FromSampler2D(sampler2D tex, ivec2 texSize, ivec3 texDim, int z, int y, int x) {\n vec4 result = getImage2D(tex, texSize, texDim, z, y, x);\n return vec3(result[0], result[1], result[2]);\n}\n\nvec4 getVec4FromSampler2D(sampler2D tex, ivec2 texSize, ivec3 texDim, int z, int y, int x) {\n return getImage2D(tex, texSize, texDim, z, y, x);\n}\n\nvec4 actualColor;\nvoid color(float r, float g, float b, float a) {\n actualColor = vec4(r,g,b,a);\n}\n\nvoid color(float r, float g, float b) {\n color(r,g,b,1.0);\n}\n\nvoid color(sampler2D image) {\n actualColor = texture2D(image, vTexCoord);\n}\n\n__MAIN_CONSTANTS__;\n__MAIN_ARGUMENTS__;\n__KERNEL__;\n\nvoid main(void) {\n index = int(vTexCoord.s * float(uTexSize.x)) + int(vTexCoord.t * float(uTexSize.y)) * uTexSize.x;\n __MAIN_RESULT__;\n}"}},{}],49:[function(t,e,r){const{FunctionNode:n}=t("../function-node"),i="Math.",o="this.";const a={Array:"sampler2D","Array(2)":"vec2","Array(3)":"vec3","Array(4)":"vec4",Array2D:"sampler2D",Array3D:"sampler2D",Boolean:"bool",Float:"float",Input:"sampler2D",Integer:"int",Number:"float",LiteralInteger:"float",NumberTexture:"sampler2D",MemoryOptimizedNumberTexture:"sampler2D","ArrayTexture(1)":"sampler2D","ArrayTexture(2)":"sampler2D","ArrayTexture(3)":"sampler2D","ArrayTexture(4)":"sampler2D"},s={"===":"==","!==":"!="};e.exports={WebGLFunctionNode:class extends n{constructor(t,e){super(t,e),this.fixIntegerDivisionAccuracy=null,e&&e.hasOwnProperty("fixIntegerDivisionAccuracy")&&(this.fixIntegerDivisionAccuracy=e.fixIntegerDivisionAccuracy)}astFunctionExpression(t,e){if(this.isRootKernel)e.push("void");else{this.returnType||this.findLastReturn()&&(this.returnType=this.getType(t.body),"LiteralInteger"===this.returnType&&(this.returnType="Number"));const{returnType:r}=this;if(r){const t=a[r];if(!t)throw new Error(`unknown type ${r}`);e.push(t)}else e.push("void")}if(e.push(" "),e.push(this.name),e.push("("),!this.isRootKernel)for(let r=0;r<this.argumentNames.length;++r){const n=this.argumentNames[r];r>0&&e.push(", ");let i=this.getVariableType(n);i&&"LiteralInteger"!==i||(i="Number");const o=a[i];if(!o)throw this.astErrorOutput("Unexpected expression",t);e.push(o),e.push(" "),e.push("user_"),e.push(n)}e.push(") {\n");for(let r=0;r<t.body.body.length;++r)this.astGeneric(t.body.body[r],e),e.push("\n");return e.push("}\n"),e}astReturnStatement(t,e){if(!t.argument)throw this.astErrorOutput("Unexpected return statement",t);const r=this.getType(t.argument),n=[];switch(this.returnType||(this.isRootKernel?this.returnType="Number":this.returnType=r),this.returnType){case"LiteralInteger":case"Number":case"Float":switch(r){case"Integer":n.push("float("),this.astGeneric(t.argument,n),n.push(")");break;case"LiteralInteger":this.pushState("casting-to-float"),this.astGeneric(t.argument,n),this.popState("casting-to-float"),"Integer"===this.getType(t)&&(n.unshift("float("),n.push(")"));break;default:this.astGeneric(t.argument,n)}break;case"Integer":switch(r){case"Number":this.pushState("casting-to-integer"),n.push("int("),this.astGeneric(t.argument,n),n.push(")"),this.popState("casting-to-integer");break;case"LiteralInteger":this.pushState("casting-to-integer"),this.astGeneric(t.argument,n),this.popState("casting-to-integer");break;default:this.astGeneric(t.argument,n)}break;case"Array(4)":case"Array(3)":case"Array(2)":case"Input":this.astGeneric(t.argument,n);break;default:throw this.astErrorOutput(`unhandled return type ${this.returnType}`,t)}return this.isRootKernel?(e.push(`kernelResult = ${n.join("")};`),e.push("return;")):this.isSubKernel?(e.push(`subKernelResult_${this.name} = ${n.join("")};`),e.push(`return subKernelResult_${this.name};`)):e.push(`return ${n.join("")};`),e}astLiteral(t,e){if(isNaN(t.value))throw this.astErrorOutput("Non-numeric literal not supported : "+t.value,t);return Number.isInteger(t.value)?this.isState("in-for-loop-init")||this.isState("casting-to-integer")?(this.literalTypes[`${t.start},${t.end}`]="Integer",e.push(`${t.value}`)):(this.isState("casting-to-float"),this.literalTypes[`${t.start},${t.end}`]="Number",e.push(`${t.value}.0`)):this.isState("casting-to-integer")?(this.literalTypes[`${t.start},${t.end}`]="Integer",e.push(parseInt(t.raw))):(this.literalTypes[`${t.start},${t.end}`]="Number",e.push(`${t.value}`)),e}astBinaryExpression(t,e){if("%"===t.operator){e.push("mod(");const r=this.getType(t.left);"Integer"===r?(e.push("float("),this.astGeneric(t.left,e),e.push(")")):"LiteralInteger"===r?(this.pushState("casting-to-float"),this.astGeneric(t.left,e),this.popState("casting-to-float")):this.astGeneric(t.left,e),e.push(",");const n=this.getType(t.right);return"Integer"===n?(e.push("float("),this.astGeneric(t.right,e),e.push(")")):"LiteralInteger"===n?(this.pushState("casting-to-float"),this.astGeneric(t.right,e),this.popState("casting-to-float")):this.astGeneric(t.right,e),e.push(")"),e}if(e.push("("),this.fixIntegerDivisionAccuracy&&"/"===t.operator){switch(e.push("div_with_int_check("),this.getType(t.left)){case"Integer":e.push("float("),this.pushState("casting-to-float"),this.astGeneric(t.left,e),this.popState("casting-to-float"),e.push(")");break;case"LiteralInteger":this.pushState("casting-to-float"),this.astGeneric(t.left,e),this.popState("casting-to-float");break;default:this.astGeneric(t.left,e)}switch(e.push(", "),this.getType(t.right)){case"Integer":e.push("float("),this.pushState("casting-to-float"),this.astGeneric(t.right,e),this.popState("casting-to-float"),e.push(")");break;case"LiteralInteger":this.pushState("casting-to-float"),this.astGeneric(t.right,e),this.popState("casting-to-float");break;default:this.astGeneric(t.right,e)}e.push(")")}else{const r=this.getType(t.left)||"Number",n=this.getType(t.right)||"Number";if(!r||!n)throw this.astErrorOutput("Unhandled binary expression",t);const i=r+" & "+n;switch(i){case"Integer & Integer":this.astGeneric(t.left,e),e.push(s[t.operator]||t.operator),this.astGeneric(t.right,e);break;case"Number & Float":case"Float & Number":case"Float & Float":case"Number & Number":this.astGeneric(t.left,e),e.push(s[t.operator]||t.operator),this.astGeneric(t.right,e);break;case"LiteralInteger & LiteralInteger":this.pushState("casting-to-float"),this.astGeneric(t.left,e),e.push(s[t.operator]||t.operator),this.astGeneric(t.right,e),this.popState("casting-to-float");break;case"Integer & Float":case"Integer & Number":if((">"===t.operator||"<"===t.operator&&"Literal"===t.right.type)&&!Number.isInteger(t.right.value)){this.pushState("casting-to-float"),e.push("float("),this.astGeneric(t.left,e),e.push(")"),this.popState("casting-to-float"),e.push(s[t.operator]||t.operator),this.astGeneric(t.right,e);break}if(this.astGeneric(t.left,e),e.push(s[t.operator]||t.operator),this.pushState("casting-to-integer"),"Literal"===t.right.type){const r=[];if(this.astGeneric(t.right,r),"Integer"!==this.getType(t.right))throw this.astErrorOutput("Unhandled binary expression with literal",t);e.push(r.join(""))}else e.push("int("),this.astGeneric(t.right,e),e.push(")");this.popState("casting-to-integer");break;case"Integer & LiteralInteger":this.astGeneric(t.left,e),e.push(s[t.operator]||t.operator),this.pushState("casting-to-integer"),this.astGeneric(t.right,e),this.popState("casting-to-integer");break;case"Number & Integer":this.astGeneric(t.left,e),e.push(s[t.operator]||t.operator),this.pushState("casting-to-float"),e.push("float("),this.astGeneric(t.right,e),e.push(")"),this.popState("casting-to-float");break;case"Float & LiteralInteger":case"Number & LiteralInteger":this.isState("in-for-loop-test")?(e.push("int("),this.astGeneric(t.left,e),e.push(")"),e.push(s[t.operator]||t.operator),this.pushState("casting-to-integer"),this.astGeneric(t.right,e),this.popState("casting-to-integer")):(this.astGeneric(t.left,e),e.push(s[t.operator]||t.operator),this.pushState("casting-to-float"),this.astGeneric(t.right,e),this.popState("casting-to-float"));break;case"LiteralInteger & Float":case"LiteralInteger & Number":this.isState("in-for-loop-test")||this.isState("in-for-loop-init")||this.isState("casting-to-integer")?(this.pushState("casting-to-integer"),this.astGeneric(t.left,e),e.push(s[t.operator]||t.operator),e.push("int("),this.astGeneric(t.right,e),e.push(")"),this.popState("casting-to-integer")):(this.astGeneric(t.left,e),e.push(s[t.operator]||t.operator),this.pushState("casting-to-float"),this.astGeneric(t.right,e),this.popState("casting-to-float"));break;case"LiteralInteger & Integer":this.pushState("casting-to-integer"),this.astGeneric(t.left,e),this.popState("casting-to-integer"),e.push(s[t.operator]||t.operator),this.astGeneric(t.right,e);break;case"Boolean & Boolean":this.astGeneric(t.left,e),e.push(s[t.operator]||t.operator),this.astGeneric(t.right,e);break;default:throw this.astErrorOutput(`Unhandled binary expression between ${i}`,t)}}return e.push(")"),e}astIdentifierExpression(t,e){if("Identifier"!==t.type)throw this.astErrorOutput("IdentifierExpression - not an Identifier",t);const r=this.getType(t);if("Infinity"===t.name)e.push("3.402823466e+38");else if("Boolean"===r)this.argumentNames.indexOf(t.name)>-1?e.push(`bool(user_${t.name})`):e.push(`user_${t.name}`);else{const r=this.getKernelArgumentName(t.name);r?e.push(`user_${r}`):e.push(`user_${t.name}`)}return e}astForStatement(t,e){if("ForStatement"!==t.type)throw this.astErrorOutput("Invalid for statement",t);const r=[],n=[],i=[],o=[];let a=null;if(t.init){this.pushState("in-for-loop-init"),this.astGeneric(t.init,r);for(let t=0;t<r.length;t++)r[t].includes&&r[t].includes(",")&&(a=!1);this.popState("in-for-loop-init")}else a=!1;if(t.test?(this.pushState("in-for-loop-test"),this.astGeneric(t.test,n),this.popState("in-for-loop-test")):a=!1,t.update?this.astGeneric(t.update,i):a=!1,t.body&&(this.pushState("loop-body"),this.astGeneric(t.body,o),this.popState("loop-body")),null===a&&(a=this.isSafe(t.init)&&this.isSafe(t.test)),a)e.push(`for (${r.join("")};${n.join("")};${i.join("")}){\n`),e.push(o.join("")),e.push("}\n");else{const t=this.getInternalVariableName("safeI");r.length>0&&e.push(r.join(""),";\n"),e.push(`for (int ${t}=0;${t}<LOOP_MAX;${t}++){\n`),n.length>0&&e.push(`if (!${n.join("")}) break;\n`),e.push(o.join("")),e.push(`\n${i.join("")};`),e.push("}\n")}return e}astWhileStatement(t,e){if("WhileStatement"!==t.type)throw this.astErrorOutput("Invalid while statement",t);const r=this.getInternalVariableName("safeI");return e.push(`for (int ${r}=0;${r}<LOOP_MAX;${r}++){\n`),e.push("if (!"),this.astGeneric(t.test,e),e.push(") break;\n"),this.astGeneric(t.body,e),e.push("}\n"),e}astDoWhileStatement(t,e){if("DoWhileStatement"!==t.type)throw this.astErrorOutput("Invalid while statement",t);const r=this.getInternalVariableName("safeI");return e.push(`for (int ${r}=0;${r}<LOOP_MAX;${r}++){\n`),this.astGeneric(t.body,e),e.push("if (!"),this.astGeneric(t.test,e),e.push(") break;\n"),e.push("}\n"),e}astAssignmentExpression(t,e){if("%="!==t.operator){const r=this.getType(t.left),n=this.getType(t.right);return this.astGeneric(t.left,e),e.push(t.operator),"Integer"!==r&&"Integer"===n?(e.push("float("),this.astGeneric(t.right,e),e.push(")")):this.astGeneric(t.right,e),e}this.astGeneric(t.left,e),e.push("="),e.push("mod("),this.astGeneric(t.left,e),e.push(","),this.astGeneric(t.right,e),e.push(")")}astBlockStatement(t,e){if(this.isState("loop-body")){this.pushState("block-body");for(let r=0;r<t.body.length;r++)this.astGeneric(t.body[r],e);this.popState("block-body")}else{e.push("{\n");for(let r=0;r<t.body.length;r++)this.astGeneric(t.body[r],e);e.push("}\n")}return e}astVariableDeclaration(t,e){"var"===t.kind&&this.varWarn();const r=t.declarations;if(!r||!r[0]||!r[0].init)throw this.astErrorOutput("Unexpected expression",t);const n=[],i=r[0],o=i.init,s=this.getType(o),u=this.isState("in-for-loop-init");let l=u?"Integer":s;"LiteralInteger"===l&&(l="Number");const c=a[l];if(!c)throw this.astErrorOutput(`Markup type ${c} not handled`,t);let h=this.getDependencies(i.init);const p=[];"Integer"!==s||"Integer"!==l||u?(this.declarations[i.id.name]=Object.freeze({type:l,dependencies:h,isSafe:this.isSafeDependencies(h)}),p.push(`${c} `),p.push(`user_${i.id.name}=`),"Number"===s&&"Integer"===l?(p.push("int("),this.astGeneric(o,p),p.push(")")):this.astGeneric(o,p)):(this.declarations[i.id.name]=Object.freeze({type:"Number",dependencies:h,isSafe:this.isSafeDependencies(h)}),p.push("float "),p.push(`user_${i.id.name}=`),p.push("float("),this.astGeneric(o,p),p.push(")")),n.push(p.join(""));let f=l;for(let t=1;t<r.length;t++){const e=r[t],i=[];if(u)i.push(",");else{let t=this.getType(e.init);"LiteralInteger"===t&&(t="Number"),t!==f?(i.push(";"),i.push(a[t]," "),f=t):i.push(",")}h=this.getDependencies(e),this.declarations[e.id.name]=Object.freeze({type:f,dependencies:h,isSafe:this.isSafeDependencies(h)}),this.astGeneric(e,i),n.push(i.join(""))}return e.push(n.join("")),u||e.push(";"),e}astIfStatement(t,e){return e.push("if ("),this.astGeneric(t.test,e),e.push(")"),"BlockStatement"===t.consequent.type?this.astGeneric(t.consequent,e):(e.push(" {\n"),this.astGeneric(t.consequent,e),e.push("\n}\n")),t.alternate&&(e.push("else "),"BlockStatement"===t.alternate.type?this.astGeneric(t.alternate,e):(e.push(" {\n"),this.astGeneric(t.alternate,e),e.push("\n}\n"))),e}astThisExpression(t,e){return e.push("this"),e}astMemberExpression(t,e){const{property:r,name:n,signature:i,origin:o,type:a,xProperty:s,yProperty:u,zProperty:l}=this.getMemberExpressionDetails(t);switch(i){case"this.thread.value":if("x"!==n&&"y"!==n&&"z"!==n)throw this.astErrorOutput("Unexpected expression, expected `this.thread.x`, `this.thread.y`, or `this.thread.z`",t);return e.push(`threadId.${n}`),e;case"this.output.value":switch(n){case"x":this.isState("casting-to-integer")?e.push(this.output[0]):e.push(this.output[0],".0");break;case"y":this.isState("casting-to-integer")?e.push(this.output[1]):e.push(this.output[1],".0");break;case"z":this.isState("casting-to-integer")?e.push(this.output[2]):e.push(this.output[2],".0");break;default:throw this.astErrorOutput("Unexpected expression",t)}return e;case"value":throw this.astErrorOutput("Unexpected expression",t);case"value[]":case"value[][]":case"value[][][]":case"value[][][][]":case"value.value":if("Math"===o)return e.push(Math[n]),e;switch(r){case"r":return e.push(`user_${n}.r`),e;case"g":return e.push(`user_${n}.g`),e;case"b":return e.push(`user_${n}.b`),e;case"a":return e.push(`user_${n}.a`),e}break;case"this.constants.value":case"this.constants.value[]":case"this.constants.value[][]":case"this.constants.value[][][]":case"this.constants.value[][][][]":break;case"fn()[]":return this.astCallExpression(t.object,e),e.push("["),e.push(this.memberExpressionPropertyMarkup(r)),e.push("]"),e;case"[][]":return this.astArrayExpression(t.object,e),e.push("["),e.push(this.memberExpressionPropertyMarkup(r)),e.push("]"),e;default:throw this.astErrorOutput("Unexpected expression",t)}switch(a){case"Number":case"Integer":case"Float":return e.push(`${o}_${n}`),e;case"Boolean":return e.push(`bool(${o}_${n})`),e}const c=`${o}_${this.getKernelArgumentName(n)||n}`;switch(a){case"Array(2)":case"Array(3)":case"Array(4)":this.astGeneric(t.object,e),e.push("["),e.push(this.memberExpressionPropertyMarkup(s)),e.push("]");break;case"HTMLImageArray":e.push(`getImage3D(${c}, ${c}Size, ${c}Dim, `),this.memberExpressionXYZ(s,u,l,e),e.push(")");break;case"ArrayTexture(1)":e.push(`getFloatFromSampler2D(${c}, ${c}Size, ${c}Dim, `),this.memberExpressionXYZ(s,u,l,e),e.push(")");break;case"ArrayTexture(2)":e.push(`getVec2FromSampler2D(${c}, ${c}Size, ${c}Dim, `),this.memberExpressionXYZ(s,u,l,e),e.push(")");break;case"ArrayTexture(3)":e.push(`getVec3FromSampler2D(${c}, ${c}Size, ${c}Dim, `),this.memberExpressionXYZ(s,u,l,e),e.push(")");break;case"ArrayTexture(4)":case"HTMLImage":e.push(`getVec4FromSampler2D(${c}, ${c}Size, ${c}Dim, `),this.memberExpressionXYZ(s,u,l,e),e.push(")");break;case"NumberTexture":case"Array":case"Array2D":case"Array3D":case"Array4D":case"Input":if("single"===this.precision)e.push(`getMemoryOptimized32(${c}, ${c}Size, ${c}Dim, `),this.memberExpressionXYZ(s,u,l,e),e.push(")");else{const t="user"===o?this.lookupFunctionArgumentBitRatio(this.name,n):this.constantBitRatios[n];switch(t){case 1:e.push(`get8(${c}, ${c}Size, ${c}Dim, `);break;case 2:e.push(`get16(${c}, ${c}Size, ${c}Dim, `);break;case 4:case 0:e.push(`get32(${c}, ${c}Size, ${c}Dim, `);break;default:throw new Error(`unhandled bit ratio of ${t}`)}this.memberExpressionXYZ(s,u,l,e),e.push(")")}break;case"MemoryOptimizedNumberTexture":e.push(`getMemoryOptimized32(${c}, ${c}Size, ${c}Dim, `),this.memberExpressionXYZ(s,u,l,e),e.push(")");break;default:throw new Error(`unhandled member expression "${a}"`)}return e}astCallExpression(t,e){if(!t.callee)throw this.astErrorOutput("Unknown CallExpression",t);let r=this.astMemberExpressionUnroll(t.callee);const n=0===r.indexOf(i);if(n&&(r=r.slice(i.length)),0===r.indexOf(o)&&(r=r.slice(o.length)),"atan2"===r&&(r="atan"),this.calledFunctions.indexOf(r)<0&&this.calledFunctions.push(r),"random"===r&&this.plugins&&this.plugins.length>0)for(let t=0;t<this.plugins.length;t++){const r=this.plugins[t];if("Math.random()"===r.functionMatch&&r.functionReplace)return e.push(r.functionReplace),e}if(this.onFunctionCall&&this.onFunctionCall(this.name,r),e.push(r),e.push("("),n)for(let r=0;r<t.arguments.length;++r){const n=t.arguments[r],i=this.getType(n);switch(r>0&&e.push(", "),i){case"Integer":this.pushState("casting-to-float"),e.push("float("),this.astGeneric(n,e),e.push(")"),this.popState("casting-to-float");break;default:this.astGeneric(n,e)}}else{const n=this.lookupFunctionArgumentTypes(r)||[];for(let i=0;i<t.arguments.length;++i){const o=t.arguments[i];let a=n[i];i>0&&e.push(", ");const s=this.getType(o);switch(a||(this.triggerImplyArgumentType(r,i,s,this),a=s),s){case"Number":case"Float":if("Integer"===a){e.push("int("),this.astGeneric(o,e),e.push(")");continue}if("Number"===a||"Float"===a){this.astGeneric(o,e);continue}if("LiteralInteger"===a){this.pushState("casting-to-float"),this.astGeneric(o,e),this.popState("casting-to-float");continue}break;case"Integer":if("Number"===a||"Float"===a){e.push("float("),this.astGeneric(o,e),e.push(")");continue}if("Integer"===a){this.astGeneric(o,e);continue}break;case"LiteralInteger":if("Integer"===a){this.pushState("casting-to-integer"),this.astGeneric(o,e),this.popState("casting-to-integer");continue}if("Number"===a||"Float"===a){this.pushState("casting-to-float"),this.astGeneric(o,e),this.popState("casting-to-float");continue}if("LiteralInteger"===a){this.astGeneric(o,e);continue}break;case"Array(2)":case"Array(3)":case"Array(4)":if(a===s){this.astGeneric(o,e);continue}break;case"Array":case"Input":if(a===s){this.triggerTrackArgumentSynonym(this.name,o.name,r,i),this.astGeneric(o,e);continue}}throw new Error(`Unhandled argument combination of ${s} and ${a}`)}}return e.push(")"),e}astArrayExpression(t,e){const r=t.elements.length;e.push("vec"+r+"(");for(let n=0;n<r;++n){n>0&&e.push(", ");const r=t.elements[n];this.astGeneric(r,e)}return e.push(")"),e}memberExpressionXYZ(t,e,r,n){return r?n.push(this.memberExpressionPropertyMarkup(r),", "):n.push("0, "),e?n.push(this.memberExpressionPropertyMarkup(e),", "):n.push("0, "),n.push(this.memberExpressionPropertyMarkup(t)),n}memberExpressionPropertyMarkup(t){if(!t)throw new Error("Property not set");const e=this.getType(t),r=[];return"Number"===e?(this.pushState("casting-to-integer"),r.push("int("),this.astGeneric(t,r),r.push(")"),this.popState("casting-to-integer")):"LiteralInteger"===e?(this.pushState("casting-to-integer"),this.astGeneric(t,r),this.popState("casting-to-integer")):this.astGeneric(t,r),r.join("")}}}},{"../function-node":44}],50:[function(t,e,r){const{utils:n}=t("../../utils"),{kernelRunShortcut:i}=t("../../kernel-run-shortcut");function o(t){return/^function /.test(t)&&(t=t.substring(9)),t.replace(/[_]typeof/g,"typeof")}function a(t){return t.replace(/^[A-Za-z23]+/,"function").replace(/[_]typeof/g,"typeof")}function s(t){return t?"true":!1===t?"false":"null"}e.exports={webGLKernelString:function(t,e){return`() => {\n ${i.toString()};\n const utils = {\n allPropertiesOf: ${a(n.allPropertiesOf.toString())},\n clone: ${a(n.clone.toString())},\n splitArray: ${a(n.splitArray.toString())},\n getVariableType: ${a(n.getVariableType.toString())},\n getDimensions: ${a(n.getDimensions.toString())},\n dimToTexSize: ${a(n.dimToTexSize.toString())},\n closestSquareDimensions: ${a(n.closestSquareDimensions.toString())},\n getMemoryOptimizedFloatTextureSize: ${a(n.getMemoryOptimizedFloatTextureSize.toString())},\n getMemoryOptimizedPackedTextureSize: ${a(n.getMemoryOptimizedPackedTextureSize.toString())},\n roundTo: ${a(n.roundTo.toString())},\n flattenTo: ${a(n.flattenTo.toString())},\n flatten2dArrayTo: ${a(n.flatten2dArrayTo.toString())},\n flatten3dArrayTo: ${a(n.flatten3dArrayTo.toString())},\n systemEndianness: ${a(n.getSystemEndianness.toString())},\n isArray: ${a(n.isArray.toString())}\n };\n const canvases = [];\n const maxTexSizes = {};\n let Texture = function() {};\n let Input = function() {}; \n class ${e||"Kernel"} {\n constructor() {\n this.maxTexSize = null;\n this.argumentsLength = 0;\n this.constantsLength = 0;\n this.constantBitRatios = ${t.constantBitRatios?JSON.stringify(t.constantBitRatios):"null"};\n this.canvas = null;\n this.context = null;\n this.program = null;\n this.subKernels = null;\n this.subKernelNames = null;\n this.drawBuffersMap = ${t.drawBuffersMap?JSON.stringify(t.drawBuffersMap):"null"};\n this.endianness = '${t.endianness}';\n this.graphical = ${s(t.graphical)};\n this.optimizeFloatMemory = ${s(t.optimizeFloatMemory)};\n this.precision = "${t.precision}";\n // TODO: not sure how to handle\n this.floatOutputForce = ${s(t.floatOutputForce)};\n this.hardcodeConstants = ${s(t.hardcodeConstants)};\n this.pipeline = ${s(t.pipeline)};\n this.argumentNames = ${JSON.stringify(t.argumentNames)};\n this.argumentTypes = ${JSON.stringify(t.argumentTypes)};\n this.argumentBitRatios = ${JSON.stringify(t.argumentBitRatios)};\n \n this.texSize = ${JSON.stringify(Array.from(t.texSize))};\n this.output = ${JSON.stringify(t.output)};\n this.compiledFragmentShader = \`${t.compiledFragmentShader}\`;\n\t\t this.compiledVertexShader = \`${t.compiledVertexShader}\`;\n\t\t this.returnType = '${t.returnType}';\n\t\t this.programUniformLocationCache = {};\n\t\t this.textureCache = {};\n\t\t this.subKernelOutputTextures = null;\n\t\t this.extensions = {};\n\t\t this.uniform1fCache = {};\n\t\t this.uniform1iCache = {};\n\t\t this.uniform2fCache = {};\n\t\t this.uniform2fvCache = {};\n\t\t this.uniform2ivCache = {};\n\t\t this.uniform3fvCache = {};\n\t\t this.uniform3ivCache = {};\n }\n getFragmentShader() { return this.compiledFragmentShader; }\n getVertexShader() { return this.compiledVertexShader; }\n validateSettings() {}\n initExtensions() {}\n setupArguments() {}\n setupConstants() {}\n setCanvas(canvas) { this.canvas = canvas; return this; }\n setContext(context) { this.context = context; return this; }\n setTexture(Type) { Texture = Type; }\n setInput(Type) { Input = Type; }\n ${o(t.getUniformLocation.toString())}\n ${o(t.build.toString())}\n translateSource() {}\n pickRenderStrategy() {}\n\t\t ${o(t.run.toString())}\n\t\t ${o(t.addArgument.toString())}\n\t\t ${o(t.formatArrayTransfer.toString())}\n\t\t ${o(t.checkOutput.toString())}\n\t\t ${o(t.getArgumentTexture.toString())}\n\t\t ${o(t.getTextureCache.toString())}\n\t\t ${o(t.getOutputTexture.toString())}\n\t\t renderOutput() { ${n.getFunctionBodyFromString(o(t.renderOutput.toString()))} }\n\t\t ${o(t.readPackedPixelsToFloat32Array.toString())}\n\t\t ${o(t.readPackedPixelsToUint8Array.toString())}\n\t\t ${o(t.readFloatPixelsToFloat32Array.toString())}\n\t\t ${o(t.updateMaxTexSize.toString())}\n\t\t ${o(t._setupOutputTexture.toString())}\n\t\t ${o(t.detachTextureCache.toString())}\n\t\t ${o(t.setUniform1f.toString())}\n\t\t ${o(t.setUniform1i.toString())}\n\t\t ${o(t.setUniform2f.toString())}\n\t\t ${o(t.setUniform2fv.toString())}\n\t\t ${o(t.setUniform2iv.toString())}\n\t\t ${o(t.setUniform3fv.toString())}\n\t\t ${o(t.setUniform3iv.toString())}\n\t\t getReturnTextureType() { return "${t.getReturnTextureType()}"; }\n };\n return kernelRunShortcut(new ${e||"Kernel"}());\n };`}}},{"../../kernel-run-shortcut":60,"../../utils":63}],51:[function(t,e,r){const{GLKernel:n}=t("../gl-kernel"),{FunctionBuilder:i}=t("../function-builder"),{WebGLFunctionNode:o}=t("./function-node"),{utils:a}=t("../../utils"),{Texture:s}=t("../../texture"),u=t("../../plugins/triangle-noise"),{fragmentShader:l}=t("./fragment-shader"),{vertexShader:c}=t("./vertex-shader"),{webGLKernelString:h}=t("./kernel-string");let p=null,f=null,d=null,m=null,g=null;const v=[u],_=[],y={};e.exports={WebGLKernel:class extends n{static get isSupported(){return null!==p?p:(this.setupFeatureChecks(),p=this.isContextMatch(d))}static setupFeatureChecks(){"undefined"!=typeof document?f=document.createElement("canvas"):"undefined"!=typeof OffscreenCanvas&&(f=new OffscreenCanvas(0,0)),f&&(d=f.getContext("webgl")||f.getContext("experimental-webgl"))&&d.getExtension&&(m={OES_texture_float:d.getExtension("OES_texture_float"),OES_texture_float_linear:d.getExtension("OES_texture_float_linear"),OES_element_index_uint:d.getExtension("OES_element_index_uint"),WEBGL_draw_buffers:d.getExtension("WEBGL_draw_buffers")},g=this.getFeatures())}static isContextMatch(t){return"undefined"!=typeof WebGLRenderingContext&&t instanceof WebGLRenderingContext}static getFeatures(){const t=this.getIsDrawBuffers();return Object.freeze({isFloatRead:this.getIsFloatRead(),isIntegerDivisionAccurate:this.getIsIntegerDivisionAccurate(),isTextureFloat:this.getIsTextureFloat(),isDrawBuffers:t,kernelMap:t,channelCount:this.getChannelCount()})}static getIsTextureFloat(){return Boolean(m.OES_texture_float)}static getIsDrawBuffers(){return Boolean(m.WEBGL_draw_buffers)}static getChannelCount(){return m.WEBGL_draw_buffers?m.WEBGL_draw_buffers.MAX_DRAW_BUFFERS_WEBGL:1}static get testCanvas(){return f}static get testContext(){return d}static get features(){return g}static get fragmentShader(){return l}static get vertexShader(){return c}constructor(t,e){super(t,e),this.textureCache={},this.threadDim={},this.programUniformLocationCache={},this.framebuffer=null,this.buffer=null,this.program=null,this.pipeline=e.pipeline,this.endianness=a.systemEndianness(),this.extensions={},this.subKernelOutputTextures=null,this.argumentsLength=0,this.constantsLength=0,this.compiledFragmentShader=null,this.compiledVertexShader=null,this.fragShader=null,this.vertShader=null,this.drawBuffersMap=null,this.outputTexture=null,this.maxTexSize=null,this.uniform1fCache={},this.uniform1iCache={},this.uniform2fCache={},this.uniform2fvCache={},this.uniform2ivCache={},this.uniform3fvCache={},this.uniform3ivCache={},this.mergeSettings(t.settings||e)}initCanvas(){if("undefined"!=typeof document){const t=document.createElement("canvas");return t.width=2,t.height=2,t}if("undefined"!=typeof OffscreenCanvas)return new OffscreenCanvas(0,0)}initContext(){const t={alpha:!1,depth:!1,antialias:!1};return this.canvas.getContext("webgl",t)||this.canvas.getContext("experimental-webgl",t)}initPlugins(t){const e=[],{source:r}=this;if("string"==typeof r)for(let t=0;t<v.length;t++){const n=v[t];r.match(n.functionMatch)&&e.push(n)}else if("object"==typeof r&&t.pluginNames)for(let r=0;r<v.length;r++){const n=v[r];t.pluginNames.some(t=>t===n.name)&&e.push(n)}return e}initExtensions(){this.extensions={OES_texture_float:this.context.getExtension("OES_texture_float"),OES_texture_float_linear:this.context.getExtension("OES_texture_float_linear"),OES_element_index_uint:this.context.getExtension("OES_element_index_uint"),WEBGL_draw_buffers:this.context.getExtension("WEBGL_draw_buffers"),WEBGL_color_buffer_float:this.context.getExtension("WEBGL_color_buffer_float")}}validateSettings(){if(!this.validate)return void(this.texSize=a.dimToTexSize({floatTextures:this.optimizeFloatMemory,floatOutput:"single"===this.precision},this.output,!0));const{features:t}=this.constructor;if(!0===this.optimizeFloatMemory&&!t.isTextureFloat)throw new Error("Float textures are not supported");if("single"===this.precision&&!0!==this.floatOutputForce&&!t.isFloatRead)throw new Error("Single precision not supported");if(!this.graphical&&null===this.precision&&t.isTextureFloat&&(this.precision=t.isFloatRead?"single":"unsigned"),this.subKernels&&this.subKernels.length>0&&!this.extensions.WEBGL_draw_buffers)throw new Error("could not instantiate draw buffers extension");if(null===this.fixIntegerDivisionAccuracy?this.fixIntegerDivisionAccuracy=!t.isIntegerDivisionAccurate:this.fixIntegerDivisionAccuracy&&t.isIntegerDivisionAccurate&&(this.fixIntegerDivisionAccuracy=!1),this.checkOutput(),!this.output||0===this.output.length){if(1!==arguments.length)throw new Error("Auto output only supported for kernels with only one input");const t=a.getVariableType(arguments[0]);if("Array"===t)this.output=a.getDimensions(t);else{if("NumberTexture"!==t&&"ArrayTexture(4)"!==t)throw new Error("Auto output not supported for input type: "+t);this.output=arguments[0].output}}if(this.graphical){if(2!==this.output.length)throw new Error("Output must have 2 dimensions on graphical mode");return"precision"===this.precision&&(this.precision="unsigned",console.warn("Cannot use graphical mode and single precision at the same time")),void(this.texSize=a.clone(this.output))}null===this.precision&&t.isTextureFloat&&(this.precision="single"),this.texSize=a.dimToTexSize({floatTextures:this.floatTextures,floatOutput:"single"===this.precision},this.output,!0)}updateMaxTexSize(){const{texSize:t,canvas:e}=this;if(null===this.maxTexSize){let r=_.indexOf(e);-1===r&&(r=_.length,_.push(e),y[r]=[t[0],t[1]]),this.maxTexSize=y[r]}this.maxTexSize[0]<t[0]&&(this.maxTexSize[0]=t[0]),this.maxTexSize[1]<t[1]&&(this.maxTexSize[1]=t[1])}_oldtranslateSource(){const t=i.fromKernel(this,o,{fixIntegerDivisionAccuracy:this.fixIntegerDivisionAccuracy}),e=t.getPrototypeString("kernel");this.returnType||(this.returnType=t.getKernelResultType());let r=0;const n=t.getReturnTypes();for(let t=0;t<n.length;t++)switch(n[t]){case"Float":case"Number":case"Integer":r++;break;case"Array(2)":r+=2;break;case"Array(3)":r+=3;break;case"Array(4)":r+=4}if(g&&r>g.channelCount)throw new Error("Too many channels!");return this.translatedSource=e}build(){this.initExtensions(),this.validateSettings(),this.setupConstants(),this.setupArguments(arguments),this.updateMaxTexSize(),this.translateSource(),this.pickRenderStrategy();const t=this.texSize,e=this.context,r=this.canvas;e.enable(e.SCISSOR_TEST),this.pipeline&&this.precision,e.viewport(0,0,this.maxTexSize[0],this.maxTexSize[1]),r.width=this.maxTexSize[0],r.height=this.maxTexSize[1];const n=this.threadDim=Array.from(this.output);for(;n.length<3;)n.push(1);const i=this.getVertexShader(arguments),o=e.createShader(e.VERTEX_SHADER);e.shaderSource(o,i),e.compileShader(o),this.vertShader=o;const s=this.getFragmentShader(arguments),u=e.createShader(e.FRAGMENT_SHADER);if(e.shaderSource(u,s),e.compileShader(u),this.fragShader=u,this.debug&&(console.log("GLSL Shader Output:"),console.log(s)),!e.getShaderParameter(o,e.COMPILE_STATUS))throw new Error("Error compiling vertex shader: "+e.getShaderInfoLog(o));if(!e.getShaderParameter(u,e.COMPILE_STATUS))throw new Error("Error compiling fragment shader: "+e.getShaderInfoLog(u));const l=this.program=e.createProgram();e.attachShader(l,o),e.attachShader(l,u),e.linkProgram(l),this.framebuffer=e.createFramebuffer(),this.framebuffer.width=t[0],this.framebuffer.height=t[1];const c=new Float32Array([-1,-1,1,-1,-1,1,1,1]),h=new Float32Array([0,0,1,0,0,1,1,1]),p=c.byteLength;let f=this.buffer;f?e.bindBuffer(e.ARRAY_BUFFER,f):(f=this.buffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,f),e.bufferData(e.ARRAY_BUFFER,c.byteLength+h.byteLength,e.STATIC_DRAW)),e.bufferSubData(e.ARRAY_BUFFER,0,c),e.bufferSubData(e.ARRAY_BUFFER,p,h);const d=e.getAttribLocation(this.program,"aPos");e.enableVertexAttribArray(d),e.vertexAttribPointer(d,2,e.FLOAT,!1,0,0);const m=e.getAttribLocation(this.program,"aTexCoord");e.enableVertexAttribArray(m),e.vertexAttribPointer(m,2,e.FLOAT,!1,0,p),e.bindFramebuffer(e.FRAMEBUFFER,this.framebuffer);for(let t in this.constants){const r=this.constants[t],n=a.getVariableType(r);"Float"!==n&&"Integer"!==n&&"Boolean"!==n&&(e.useProgram(this.program),this.addConstant(this.constants[t],n,t))}this.immutable||(this._setupOutputTexture(),null!==this.subKernels&&this.subKernels.length>0&&this._setupSubOutputTextures(this.subKernels.length))}translateSource(){const t=i.fromKernel(this,o,{fixIntegerDivisionAccuracy:this.fixIntegerDivisionAccuracy});this.translatedSource=t.getPrototypeString("kernel"),this.graphical||this.returnType||(this.returnType=t.getKernelResultType())}run(){null===this.program&&this.build.apply(this,arguments);const t=this.argumentNames,e=this.argumentTypes,r=this.texSize,n=this.context;n.useProgram(this.program),n.scissor(0,0,r[0],r[1]),this.hardcodeConstants||(this.setUniform3iv("uOutputDim",this.threadDim),this.setUniform2iv("uTexSize",r)),this.setUniform2f("ratio",r[0]/this.maxTexSize[0],r[1]/this.maxTexSize[1]),this.argumentsLength=0;for(let r=0;r<t.length;r++)this.addArgument(arguments[r],e[r],t[r]);if(this.plugins)for(let t=0;t<this.plugins.length;t++){const e=this.plugins[t];e.onBeforeRun&&e.onBeforeRun(this)}if(this.graphical)return this.pipeline?(n.bindRenderbuffer(n.RENDERBUFFER,null),n.bindFramebuffer(n.FRAMEBUFFER,this.framebuffer),this.outputTexture&&!this.immutable||this._setupOutputTexture(),n.drawArrays(n.TRIANGLE_STRIP,0,4),new s({texture:this.outputTexture,size:r,dimensions:this.threadDim,output:this.output,context:this.context,gpu:this.gpu,type:this.getReturnTextureType()})):(n.bindRenderbuffer(n.RENDERBUFFER,null),n.bindFramebuffer(n.FRAMEBUFFER,null),void n.drawArrays(n.TRIANGLE_STRIP,0,4));if(n.bindFramebuffer(n.FRAMEBUFFER,this.framebuffer),this.immutable&&this._setupOutputTexture(),null!==this.subKernels&&(this.immutable&&(this.subKernelOutputTextures=[],this._setupSubOutputTextures(this.subKernels.length)),this.extensions.WEBGL_draw_buffers.drawBuffersWEBGL(this.drawBuffersMap)),n.drawArrays(n.TRIANGLE_STRIP,0,4),null!==this.subKernelOutputTextures&&null!==this.subKernels){const t={result:this.renderOutput()};if(this.pipeline)for(let e=0;e<this.subKernels.length;e++)t[this.subKernels[e].property]=new s({texture:this.subKernelOutputTextures[e],size:r,dimensions:this.threadDim,output:this.output,context:this.context,gpu:this.gpu,type:this.getReturnTextureType()});else for(let e=0;e<this.subKernels.length;e++)t[this.subKernels[e].property]=new s({texture:this.subKernelOutputTextures[e],size:r,dimensions:this.threadDim,output:this.output,context:this.context,gpu:this.gpu,type:this.getReturnTextureType()}).toArray();return t}return this.renderOutput()}getOutputTexture(){return this.outputTexture}_setupOutputTexture(){const t=this.context,e=this.texSize,r=this.outputTexture=this.context.createTexture();if(t.activeTexture(t.TEXTURE0+this.constantsLength+this.argumentNames.length),t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),"single"===this.precision)if(this.pipeline)switch(this.returnType){case"Number":case"Float":case"Integer":this.optimizeFloatMemory,t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e[0],e[1],0,t.RGBA,t.FLOAT,null);break;case"Array(2)":case"Array(3)":case"Array(4)":t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e[0],e[1],0,t.RGBA,t.FLOAT,null);break;default:if(!this.graphical)throw new Error("Unhandled return type")}else t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e[0],e[1],0,t.RGBA,t.FLOAT,null);else t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e[0],e[1],0,t.RGBA,t.UNSIGNED_BYTE,null);t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,r,0)}_setupSubOutputTextures(t){const e=this.context,r=this.texSize,n=this.drawBuffersMap=[e.COLOR_ATTACHMENT0],i=this.subKernelOutputTextures=[];for(let o=0;o<t;o++){const t=this.context.createTexture();i.push(t),n.push(e.COLOR_ATTACHMENT0+o+1),e.activeTexture(e.TEXTURE0+this.constantsLength+this.argumentNames.length+o),e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),"single"===this.precision?e.texImage2D(e.TEXTURE_2D,0,e.RGBA,r[0],r[1],0,e.RGBA,e.FLOAT,null):e.texImage2D(e.TEXTURE_2D,0,e.RGBA,r[0],r[1],0,e.RGBA,e.UNSIGNED_BYTE,null),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0+o+1,e.TEXTURE_2D,t,0)}}getArgumentTexture(t){return this.getTextureCache(`ARGUMENT_${t}`)}getTextureCache(t){return this.textureCache.hasOwnProperty(t)?this.textureCache[t]:this.textureCache[t]=this.context.createTexture()}detachTextureCache(t){delete this.textureCache[t]}setUniform1f(t,e){if(this.uniform1fCache.hasOwnProperty(t)&&e===this.uniform1fCache[t])return;this.uniform1fCache[t]=e;const r=this.getUniformLocation(t);this.context.uniform1f(r,e)}setUniform1i(t,e){if(this.uniform1iCache.hasOwnProperty(t)&&e===this.uniform1iCache[t])return;this.uniform1iCache[t]=e;const r=this.getUniformLocation(t);this.context.uniform1i(r,e)}setUniform2f(t,e,r){if(this.uniform2fCache.hasOwnProperty(t)){const n=this.uniform2fCache[t];if(e===n[0]&&r===n[1])return}this.uniform2fCache[t]=[e,r];const n=this.getUniformLocation(t);this.context.uniform2f(n,e,r)}setUniform2fv(t,e){if(this.uniform2fvCache.hasOwnProperty(t)){const r=this.uniform2fvCache[t];if(e[0]===r[0]&&e[1]===r[1])return}this.uniform2fvCache[t]=e;const r=this.getUniformLocation(t);this.context.uniform2fv(r,e)}setUniform2iv(t,e){if(this.uniform2ivCache.hasOwnProperty(t)){const r=this.uniform2ivCache[t];if(e[0]===r[0]&&e[1]===r[1])return}this.uniform2ivCache[t]=e;const r=this.getUniformLocation(t);this.context.uniform2iv(r,e)}setUniform3fv(t,e){if(this.uniform3fvCache.hasOwnProperty(t)){const r=this.uniform3fvCache[t];if(e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2])return}this.uniform3fvCache[t]=e;const r=this.getUniformLocation(t);this.context.uniform3fv(r,e)}setUniform3iv(t,e){if(this.uniform3ivCache.hasOwnProperty(t)){const r=this.uniform3ivCache[t];if(e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2])return}this.uniform3ivCache[t]=e;const r=this.getUniformLocation(t);this.context.uniform3iv(r,e)}getUniformLocation(t){return this.programUniformLocationCache.hasOwnProperty(t)?this.programUniformLocationCache[t]:this.programUniformLocationCache[t]=this.context.getUniformLocation(this.program,t)}_getFragShaderArtifactMap(t){return{HEADER:this._getHeaderString(),LOOP_MAX:this._getLoopMaxString(),PLUGINS:this._getPluginsString(),CONSTANTS:this._getConstantsString(),DECODE32_ENDIANNESS:this._getDecode32EndiannessString(),ENCODE32_ENDIANNESS:this._getEncode32EndiannessString(),DIVIDE_WITH_INTEGER_CHECK:this._getDivideWithIntegerCheckString(),MAIN_CONSTANTS:this._getMainConstantsString(),MAIN_ARGUMENTS:this._getMainArgumentsString(t),KERNEL:this.getKernelString(),MAIN_RESULT:this.getMainResultString()}}addArgument(t,e,r){const n=this.context,i=this.getArgumentTexture(r);switch(t instanceof s&&(e=t.type),e){case"Array":case"Array(2)":case"Array(3)":case"Array(4)":case"Array2D":case"Array3D":{const e=a.getDimensions(t,!0),o=this.argumentBitRatios[this.argumentsLength];if("single"===this.precision){const s=a.getMemoryOptimizedFloatTextureSize(e,o);n.activeTexture(n.TEXTURE0+this.constantsLength+this.argumentsLength),n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST);const u=s[0]*s[1]*o,l=this.formatArrayTransfer(t,u,Float32Array);n.texImage2D(n.TEXTURE_2D,0,n.RGBA,s[0],s[1],0,n.RGBA,n.FLOAT,l),this.hardcodeConstants||(this.setUniform3iv(`user_${r}Dim`,e),this.setUniform2iv(`user_${r}Size`,s)),this.setUniform1i(`user_${r}`,this.argumentsLength)}else{const s=a.getMemoryOptimizedPackedTextureSize(e,o);n.activeTexture(n.TEXTURE0+this.constantsLength+this.argumentsLength),n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST);const u=s[0]*s[1]*(4/o),l=this.formatArrayTransfer(t,u),c=new Uint8Array(l.buffer);n.texImage2D(n.TEXTURE_2D,0,n.RGBA,s[0],s[1],0,n.RGBA,n.UNSIGNED_BYTE,c),this.hardcodeConstants||(this.setUniform3iv(`user_${r}Dim`,e),this.setUniform2iv(`user_${r}Size`,s)),this.setUniform1i(`user_${r}`,this.argumentsLength)}break}case"Integer":this.setUniform1i(`user_${r}`,t);break;case"Float":case"Number":this.setUniform1f(`user_${r}`,t);break;case"Input":{const e=t,o=a.getDimensions(e,!0),s=this.argumentBitRatios[this.argumentsLength];if("single"===this.precision){const t=a.getMemoryOptimizedFloatTextureSize(o,s);n.activeTexture(n.TEXTURE0+this.constantsLength+this.argumentsLength),n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST);const u=t[0]*t[1]*s,l=this.formatArrayTransfer(e.value,u,Float32Array);n.texImage2D(n.TEXTURE_2D,0,n.RGBA,t[0],t[1],0,n.RGBA,n.FLOAT,l),this.hardcodeConstants||(this.setUniform3iv(`user_${r}Dim`,o),this.setUniform2iv(`user_${r}Size`,t)),this.setUniform1i(`user_${r}`,this.argumentsLength)}else{const t=a.getMemoryOptimizedPackedTextureSize(o,s);n.activeTexture(n.TEXTURE0+this.constantsLength+this.argumentsLength),n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST);const u=t[0]*t[1]*(4/s),l=this.formatArrayTransfer(e.value,u),c=new Uint8Array(l.buffer);n.texImage2D(n.TEXTURE_2D,0,n.RGBA,t[0],t[1],0,n.RGBA,n.UNSIGNED_BYTE,c),this.hardcodeConstants||(this.setUniform3iv(`user_${r}Dim`,o),this.setUniform2iv(`user_${r}Size`,t)),this.setUniform1i(`user_${r}`,this.argumentsLength)}break}case"HTMLImage":{const e=t,o=[e.width,e.height,1],a=[e.width,e.height];n.activeTexture(n.TEXTURE0+this.constantsLength+this.argumentsLength),n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST),n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!0);const s=0,u=n.RGBA,l=n.RGBA,c=n.UNSIGNED_BYTE;n.texImage2D(n.TEXTURE_2D,s,u,l,c,e),this.setUniform3iv(`user_${r}Dim`,o),this.setUniform2iv(`user_${r}Size`,a),this.setUniform1i(`user_${r}`,this.argumentsLength);break}case"ArrayTexture(1)":case"ArrayTexture(2)":case"ArrayTexture(3)":case"ArrayTexture(4)":{const i=t;if(i.context!==this.context)throw new Error(`argument ${r} (${e}) must be from same context`);const o=i.dimensions,a=i.size;n.activeTexture(n.TEXTURE0+this.constantsLength+this.argumentsLength),n.bindTexture(n.TEXTURE_2D,i.texture),this.setUniform3iv(`user_${r}Dim`,o),this.setUniform2iv(`user_${r}Size`,a),this.setUniform1i(`user_${r}`,this.argumentsLength);break}case"MemoryOptimizedNumberTexture":case"NumberTexture":{const i=t;if(i.context!==this.context)throw new Error(`argument ${r} (${e}) must be from same context`);const o=i.dimensions,a=i.size;n.activeTexture(n.TEXTURE0+this.constantsLength+this.argumentsLength),n.bindTexture(n.TEXTURE_2D,i.texture),this.setUniform3iv(`user_${r}Dim`,o),this.setUniform2iv(`user_${r}Size`,a),this.setUniform1i(`user_${r}`,this.argumentsLength);break}case"Boolean":this.setUniform1i(`user_${r}`,t?1:0);break;default:throw new Error("Argument type not supported: "+t)}this.argumentsLength++}addConstant(t,e,r){const n=this.context,i=this.getArgumentTexture(r);switch(t instanceof s&&(e=t.type),e){case"Array":case"Array(2)":case"Array(3)":case"Array(4)":case"Array2D":case"Array3D":{const e=a.getDimensions(t,!0),o=this.constantBitRatios[r];if("single"===this.precision){const s=a.getMemoryOptimizedFloatTextureSize(e,o);n.activeTexture(n.TEXTURE0+this.constantsLength),n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST);const u=s[0]*s[1]*o,l=this.formatArrayTransfer(t,u,Float32Array);n.texImage2D(n.TEXTURE_2D,0,n.RGBA,s[0],s[1],0,n.RGBA,n.FLOAT,l),this.hardcodeConstants||(this.setUniform3iv(`constants_${r}Dim`,e),this.setUniform2iv(`constants_${r}Size`,s)),this.setUniform1i(`constants_${r}`,this.constantsLength)}else{const s=a.getMemoryOptimizedPackedTextureSize(e,o);n.activeTexture(n.TEXTURE0+this.constantsLength),n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST);const u=s[0]*s[1]*(4/o),l=this.formatArrayTransfer(t,u),c=new Uint8Array(l.buffer);n.texImage2D(n.TEXTURE_2D,0,n.RGBA,s[0],s[1],0,n.RGBA,n.UNSIGNED_BYTE,c),this.hardcodeConstants||(this.setUniform3iv(`constants_${r}Dim`,e),this.setUniform2iv(`constants_${r}Size`,s)),this.setUniform1i(`constants_${r}`,this.constantsLength)}break}case"Input":{const e=t,o=a.getDimensions(e,!0),s=this.constantBitRatios[r];if("single"===this.precision){const t=a.getMemoryOptimizedFloatTextureSize(o,s);n.activeTexture(n.TEXTURE0+this.constantsLength),n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST);const u=t[0]*t[1]*s,l=this.formatArrayTransfer(e.value,u,Float32Array);n.texImage2D(n.TEXTURE_2D,0,n.RGBA,t[0],t[1],0,n.RGBA,n.FLOAT,l),this.hardcodeConstants||(this.setUniform3iv(`constants_${r}Dim`,o),this.setUniform2iv(`constants_${r}Size`,t)),this.setUniform1i(`constants_${r}`,this.constantsLength)}else{const t=a.getMemoryOptimizedPackedTextureSize(o,s);n.activeTexture(n.TEXTURE0+this.constantsLength),n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST);const u=t[0]*t[1]*(4/s),l=this.formatArrayTransfer(e.value,u),c=new Uint8Array(l.buffer);n.texImage2D(n.TEXTURE_2D,0,n.RGBA,t[0],t[1],0,n.RGBA,n.UNSIGNED_BYTE,c),this.hardcodeConstants||(this.setUniform3iv(`constants_${r}Dim`,o),this.setUniform2iv(`constants_${r}Size`,t)),this.setUniform1i(`constants_${r}`,this.argumentsLength)}break}case"HTMLImage":{const e=t,o=[e.width,e.height,1],a=[e.width,e.height];n.activeTexture(n.TEXTURE0+this.constantsLength),n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST),n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!0);const s=0,u=n.RGBA,l=n.RGBA,c=n.UNSIGNED_BYTE;n.texImage2D(n.TEXTURE_2D,s,u,l,c,e),this.setUniform3iv(`constants_${r}Dim`,o),this.setUniform2iv(`constants_${r}Size`,a),this.setUniform1i(`constants_${r}`,this.constantsLength);break}case"ArrayTexture(1)":case"ArrayTexture(2)":case"ArrayTexture(3)":case"ArrayTexture(4)":{const i=t;if(i.context!==this.context)throw new Error(`constant ${r} (${e}) must be from same context`);const o=i.dimensions,a=i.size;n.activeTexture(n.TEXTURE0+this.constantsLength),n.bindTexture(n.TEXTURE_2D,i.texture),this.setUniform3iv(`constants_${r}Dim`,o),this.setUniform2iv(`constants_${r}Size`,a),this.setUniform1i(`constants_${r}`,this.constantsLength);break}case"MemoryOptimizedNumberTexture":case"NumberTexture":{const i=t;if(i.context!==this.context)throw new Error(`constant ${r} (${e}) must be from same context`);const o=i.dimensions,a=i.size;n.activeTexture(n.TEXTURE0+this.constantsLength),n.bindTexture(n.TEXTURE_2D,i.texture),this.setUniform3iv(`constants_${r}Dim`,o),this.setUniform2iv(`constants_${r}Size`,a),this.setUniform1i(`constants_${r}`,this.constantsLength);break}case"Integer":case"Float":case"Boolean":default:throw new Error("constant type not supported: "+t)}this.constantsLength++}formatArrayTransfer(t,e,r){if(this.floatTextures,a.isArray(t[0])||this.optimizeFloatMemory){const r=new Float32Array(e);return a.flattenTo(t,r),r}switch(t.constructor){case Uint8Array:case Int8Array:case Uint16Array:case Int16Array:case Float32Array:case Int32Array:const n=new(r||t.constructor)(e);return a.flattenTo(t,n),n;default:{const r=new Float32Array(e);return a.flattenTo(t,r),r}}}_getHeaderString(){return null!==this.subKernels?"#extension GL_EXT_draw_buffers : require\n":""}_getLoopMaxString(){return this.loopMaxIterations?` ${parseInt(this.loopMaxIterations)};\n`:" 1000;\n"}_getPluginsString(){return this.plugins?this.plugins.map(t=>t.source&&this.source.match(t.functionMatch)?t.source:"").join("\n"):"\n"}_getConstantsString(){const t=[],{threadDim:e,texSize:r}=this;return this.hardcodeConstants?t.push(`ivec3 uOutputDim = ivec3(${e[0]}, ${e[1]}, ${e[2]})`,`ivec2 uTexSize = ivec2(${r[0]}, ${r[1]})`):t.push("uniform ivec3 uOutputDim","uniform ivec2 uTexSize"),a.linesToString(t)}_getTextureCoordinate(){const t=this.subKernels;return null===t||t.length<1?"varying vec2 vTexCoord;\n":"out vec2 vTexCoord;\n"}_getDecode32EndiannessString(){return"LE"===this.endianness?"":" texel.rgba = texel.abgr;\n"}_getEncode32EndiannessString(){return"LE"===this.endianness?"":" texel.rgba = texel.abgr;\n"}_getDivideWithIntegerCheckString(){return this.fixIntegerDivisionAccuracy?"float div_with_int_check(float x, float y) {\n if (floor(x) == x && floor(y) == y && integerMod(x, y) == 0.0) {\n return float(int(x)/int(y));\n }\n return x / y;\n}":""}_getMainArgumentsString(t){const e=[],{argumentTypes:r,argumentNames:n,hardcodeConstants:i,optimizeFloatMemory:o,precision:s}=this;for(let u=0;u<n.length;u++){const l=t[u],c=n[u],h=r[u];if(i)switch(h){case"Array":case"NumberTexture":case"MemoryOptimizedNumberTexture":case"ArrayTexture(1)":case"ArrayTexture(2)":case"ArrayTexture(3)":case"ArrayTexture(4)":case"Input":case"HTMLImage":const t=a.getDimensions(l,!0),r=a.dimToTexSize({floatTextures:o,floatOutput:"single"===s},t);e.push(`uniform sampler2D user_${c}`,`ivec2 user_${c}Size = ivec2(${r[0]}, ${r[1]})`,`ivec3 user_${c}Dim = ivec3(${t[0]}, ${t[1]}, ${t[2]})`);break;case"Integer":e.push(`float user_${c} = ${l}.0`);break;case"Float":case"Number":e.push(`float user_${c} = ${Number.isInteger(l)?l+".0":l}`);break;default:throw new Error(`Argument type ${h} not supported in WebGL`)}else switch(h){case"Array":case"NumberTexture":case"MemoryOptimizedNumberTexture":case"ArrayTexture(1)":case"ArrayTexture(2)":case"ArrayTexture(3)":case"ArrayTexture(4)":case"Input":case"HTMLImage":e.push(`uniform sampler2D user_${c}`,`uniform ivec2 user_${c}Size`,`uniform ivec3 user_${c}Dim`);break;case"Integer":e.push(`uniform int user_${c}`);break;case"Float":case"Number":e.push(`uniform float user_${c}`);break;case"Boolean":e.push(`uniform int user_${c}`);break;default:throw new Error(`Argument type ${h} not supported in WebGL`)}}return a.linesToString(e)}_getMainConstantsString(){const t=[],{constants:e}=this;if(e)for(let r in e){if(!e.hasOwnProperty(r))continue;let n=e[r],i=a.getVariableType(n);switch(i){case"Integer":t.push("const int constants_"+r+" = "+parseInt(n));break;case"Float":t.push("const float constants_"+r+" = "+parseFloat(n));break;case"Array":case"Input":case"HTMLImage":case"ArrayTexture(1)":case"ArrayTexture(2)":case"ArrayTexture(3)":case"ArrayTexture(4)":case"NumberTexture":t.push(`uniform sampler2D constants_${r}`,`uniform ivec2 constants_${r}Size`,`uniform ivec3 constants_${r}Dim`);break;case"Boolean":t.push("const bool constants_"+r+" = "+(n?"true":"false"));break;default:throw new Error(`Unsupported constant ${r} type ${i}`)}}return a.linesToString(t)}getKernelString(){let t;switch(this.returnType){case"Array(2)":t="vec2 kernelResult";break;case"Array(3)":t="vec3 kernelResult";break;case"Array(4)":t="vec4 kernelResult";break;case"LiteralInteger":case"Float":case"Number":case"Integer":t="float kernelResult";break;default:if(!this.graphical)throw new Error(`unrecognized output type "${this.returnType}"`);t="float kernelResult"}const e=[],r=this.subKernels;if(null!==r){e.push(t);for(let t=0;t<r.length;t++)e.push(`float subKernelResult_${r[t].name} = 0.0`)}else e.push(t);return a.linesToString(e)+this.translatedSource}getMainResultGraphical(){return a.linesToString([" threadId = indexTo3D(index, uOutputDim)"," kernel()"," gl_FragColor = actualColor"])}getMainResultPackedPixels(){switch(this.returnType){case"LiteralInteger":case"Number":case"Integer":case"Float":return a.linesToString(this.getMainResultKernelPackedPixels())+a.linesToString(this.getMainResultSubKernelPackedPixels());default:throw new Error(`packed output only usable with Numbers, "${this.returnType}" specified`)}}getMainResultKernelPackedPixels(){return[" threadId = indexTo3D(index, uOutputDim)"," kernel()"," gl_FragData[0] = encode32(kernelResult)"]}getMainResultSubKernelPackedPixels(){const t=[];if(!this.subKernels)return t;for(let e=0;e<this.subKernels.length;e++)t.push(` gl_FragData[${e+1}] = encode32(subKernelResult_${this.subKernels[e].name})`);return t}getMainResultMemoryOptimizedFloats(){const t=[" index *= 4"];switch(this.returnType){case"Number":case"Integer":case"Float":const e=["r","g","b","a"];for(let r=0;r<e.length;r++){const n=e[r];this.getMainResultKernelMemoryOptimizedFloats(t,n),this.getMainResultSubKernelMemoryOptimizedFloats(t,n),r+1<e.length&&t.push(" index += 1")}break;default:throw new Error(`optimized output only usable with Numbers, ${this.returnType} specified`)}return a.linesToString(t)}getMainResultKernelMemoryOptimizedFloats(t,e){t.push(" threadId = indexTo3D(index, uOutputDim)"," kernel()",` gl_FragData[0].${e} = kernelResult`)}getMainResultSubKernelMemoryOptimizedFloats(t,e){if(!this.subKernels)return t;for(let r=0;r<this.subKernels.length;r++)t.push(` gl_FragData[${r+1}].${e} = subKernelResult_${this.subKernels[r].name}`)}getMainResultKernelNumberTexture(){return[" threadId = indexTo3D(index, uOutputDim)"," kernel()"," gl_FragData[0][0] = kernelResult"]}getMainResultSubKernelNumberTexture(){const t=[];if(!this.subKernels)return t;for(let e=0;e<this.subKernels.length;++e)t.push(` gl_FragData[${e+1}][0] = subKernelResult_${this.subKernels[e].name}`);return t}getMainResultKernelArray2Texture(){return[" threadId = indexTo3D(index, uOutputDim)"," kernel()"," gl_FragData[0][0] = kernelResult[0]"," gl_FragData[0][1] = kernelResult[1]"]}getMainResultSubKernelArray2Texture(){const t=[];if(!this.subKernels)return t;for(let e=0;e<this.subKernels.length;++e)t.push(` gl_FragData[${e+1}][0] = subKernelResult_${this.subKernels[e].name}[0]`,` gl_FragData[${e+1}][1] = subKernelResult_${this.subKernels[e].name}[1]`);return t}getMainResultKernelArray3Texture(){return[" threadId = indexTo3D(index, uOutputDim)"," kernel()"," gl_FragData[0][0] = kernelResult[0]"," gl_FragData[0][1] = kernelResult[1]"," gl_FragData[0][2] = kernelResult[2]"]}getMainResultSubKernelArray3Texture(){const t=[];if(!this.subKernels)return t;for(let e=0;e<this.subKernels.length;++e)t.push(` gl_FragData[${e+1}][0] = subKernelResult_${this.subKernels[e].name}[0]`,` gl_FragData[${e+1}][1] = subKernelResult_${this.subKernels[e].name}[1]`,` gl_FragData[${e+1}][2] = subKernelResult_${this.subKernels[e].name}[2]`);return t}getMainResultKernelArray4Texture(){return[" threadId = indexTo3D(index, uOutputDim)"," kernel()"," gl_FragData[0] = kernelResult"]}getMainResultSubKernelArray4Texture(){const t=[];if(!this.subKernels)return t;for(let e=0;e<this.subKernels.length;++e)t.push(` gl_FragData[${e+1}] = subKernelResult_${this.subKernels[e].name}`);return t}_getMainResultString(){const{subKernels:t,precision:e,floatTextures:r,graphical:n,pipeline:i}=this,o=[];if("single"===e&&o.push(" index *= 4"),n)o.push(" threadId = indexTo3D(index, uOutputDim)"," kernel()"," gl_FragColor = actualColor");else if("single"===e){const e=["r","g","b","a"];for(let r=0;r<e.length;++r){if(o.push(" threadId = indexTo3D(index, uOutputDim)"),o.push(" kernel()"),t){o.push(` gl_FragData[0].${e[r]} = kernelResult`);for(let n=0;n<t.length;++n)o.push(` gl_FragData[${n+1}].${e[r]} = subKernelResult_${t[n].name}`)}else o.push(` gl_FragColor.${e[r]} = kernelResult`);r<e.length-1&&o.push(" index += 1")}}else if(null!==t){o.push(" threadId = indexTo3D(index, uOutputDim)"),o.push(" kernel()"),o.push(" gl_FragData[0] = encode32(kernelResult)");for(let e=0;e<t.length;e++)o.push(` gl_FragData[${e+1}] = encode32(subKernelResult_${t[e].name})`)}else o.push(" threadId = indexTo3D(index, uOutputDim)"," kernel()"," gl_FragColor = encode32(kernelResult)");return a.linesToString(o)}replaceArtifacts(t,e){return t.replace(/[ ]*__([A-Z]+[0-9]*([_]?[A-Z])*)__;\n/g,(t,r)=>{if(e.hasOwnProperty(r))return e[r];throw`unhandled artifact ${r}`})}getFragmentShader(t){return null!==this.compiledFragmentShader?this.compiledFragmentShader:this.compiledFragmentShader=this.replaceArtifacts(this.constructor.fragmentShader,this._getFragShaderArtifactMap(t))}getVertexShader(t){return null!==this.compiledVertexShader?this.compiledVertexShader:this.compiledVertexShader=this.constructor.vertexShader}toString(){return h(this)}destroy(t){this.outputTexture&&this.context.deleteTexture(this.outputTexture),this.buffer&&this.context.deleteBuffer(this.buffer),this.framebuffer&&this.context.deleteFramebuffer(this.framebuffer),this.vertShader&&this.context.deleteShader(this.vertShader),this.fragShader&&this.context.deleteShader(this.fragShader),this.program&&this.context.deleteProgram(this.program);const e=Object.keys(this.textureCache);for(let t=0;t<e.length;t++){const r=e[t];this.context.deleteTexture(this.textureCache[r])}if(this.subKernelOutputTextures)for(let t=0;t<this.subKernelOutputTextures.length;t++)this.context.deleteTexture(this.subKernelOutputTextures[t]);if(t){const t=_.indexOf(this.canvas);t>=0&&(_[t]=null,y[t]=null)}this.destroyExtensions(),delete this.context,delete this.canvas}destroyExtensions(){this.extensions.OES_texture_float=null,this.extensions.OES_texture_float_linear=null,this.extensions.OES_element_index_uint=null,this.extensions.WEBGL_draw_buffers=null}static destroyContext(t){const e=t.getExtension("WEBGL_lose_context");e&&e.loseContext()}toJSON(){const t=super.toJSON();return t.functionNodes=i.fromKernel(this,o).toJSON(),t}}}},{"../../plugins/triangle-noise":61,"../../texture":62,"../../utils":63,"../function-builder":43,"../gl-kernel":45,"./fragment-shader":48,"./function-node":49,"./kernel-string":50,"./vertex-shader":52}],52:[function(t,e,r){e.exports={vertexShader:"precision highp float;\nprecision highp int;\nprecision highp sampler2D;\n\nattribute vec2 aPos;\nattribute vec2 aTexCoord;\n\nvarying vec2 vTexCoord;\nuniform vec2 ratio;\n\nvoid main(void) {\n gl_Position = vec4((aPos + vec2(1)) * ratio + vec2(-1), 0, 1);\n vTexCoord = aTexCoord;\n}"}},{}],53:[function(t,e,r){e.exports={fragmentShader:"#version 300 es\n__HEADER__;\nprecision highp float;\nprecision highp int;\nprecision highp sampler2D;\n\nconst int LOOP_MAX = __LOOP_MAX__;\n\n__PLUGINS__;\n__CONSTANTS__;\n\nin vec2 vTexCoord;\n\nvec2 integerMod(vec2 x, float y) {\n vec2 res = floor(mod(x, y));\n return res * step(1.0 - floor(y), -res);\n}\n\nvec3 integerMod(vec3 x, float y) {\n vec3 res = floor(mod(x, y));\n return res * step(1.0 - floor(y), -res);\n}\n\nvec4 integerMod(vec4 x, vec4 y) {\n vec4 res = floor(mod(x, y));\n return res * step(1.0 - floor(y), -res);\n}\n\nfloat integerMod(float x, float y) {\n float res = floor(mod(x, y));\n return res * (res > floor(y) - 1.0 ? 0.0 : 1.0);\n}\n\nint integerMod(int x, int y) {\n return x - (y * int(x/y));\n}\n\n__DIVIDE_WITH_INTEGER_CHECK__;\n\n// Here be dragons!\n// DO NOT OPTIMIZE THIS CODE\n// YOU WILL BREAK SOMETHING ON SOMEBODY'S MACHINE\n// LEAVE IT AS IT IS, LEST YOU WASTE YOUR OWN TIME\nconst vec2 MAGIC_VEC = vec2(1.0, -256.0);\nconst vec4 SCALE_FACTOR = vec4(1.0, 256.0, 65536.0, 0.0);\nconst vec4 SCALE_FACTOR_INV = vec4(1.0, 0.00390625, 0.0000152587890625, 0.0); // 1, 1/256, 1/65536\nfloat decode32(vec4 texel) {\n __DECODE32_ENDIANNESS__;\n texel *= 255.0;\n vec2 gte128;\n gte128.x = texel.b >= 128.0 ? 1.0 : 0.0;\n gte128.y = texel.a >= 128.0 ? 1.0 : 0.0;\n float exponent = 2.0 * texel.a - 127.0 + dot(gte128, MAGIC_VEC);\n float res = exp2(round(exponent));\n texel.b = texel.b - 128.0 * gte128.x;\n res = dot(texel, SCALE_FACTOR) * exp2(round(exponent-23.0)) + res;\n res *= gte128.y * -2.0 + 1.0;\n return res;\n}\n\nfloat decode16(vec4 texel, int index) {\n int channel = integerMod(index, 2);\n return texel[channel*2] * 255.0 + texel[channel*2 + 1] * 65280.0;\n}\n\nfloat decode8(vec4 texel, int index) {\n\tint channel = integerMod(index, 4);\n return texel[channel] * 255.0;\n}\n\nvec4 encode32(float f) {\n float F = abs(f);\n float sign = f < 0.0 ? 1.0 : 0.0;\n float exponent = floor(log2(F));\n float mantissa = (exp2(-exponent) * F);\n // exponent += floor(log2(mantissa));\n vec4 texel = vec4(F * exp2(23.0 - exponent)) * SCALE_FACTOR_INV;\n texel.rg = integerMod(texel.rg, 256.0);\n texel.b = integerMod(texel.b, 128.0);\n texel.a = exponent * 0.5 + 63.5;\n texel.ba += vec2(integerMod(exponent+127.0, 2.0), sign) * 128.0;\n texel = floor(texel);\n texel *= 0.003921569; // 1/255\n __ENCODE32_ENDIANNESS__;\n return texel;\n}\n// Dragons end here\n\nint index;\nivec3 threadId;\n\nivec3 indexTo3D(int idx, ivec3 texDim) {\n int z = int(idx / (texDim.x * texDim.y));\n idx -= z * int(texDim.x * texDim.y);\n int y = int(idx / texDim.x);\n int x = int(integerMod(idx, texDim.x));\n return ivec3(x, y, z);\n}\n\nfloat get32(sampler2D tex, ivec2 texSize, ivec3 texDim, int z, int y, int x) {\n ivec3 xyz = ivec3(x, y, z);\n int index = xyz.x + texDim.x * (xyz.y + texDim.y * xyz.z);\n int w = texSize.x;\n vec2 st = vec2(float(integerMod(index, w)), float(index / w)) + 0.5;\n vec4 texel = texture(tex, st / vec2(texSize));\n return decode32(texel);\n}\n\nfloat get16(sampler2D tex, ivec2 texSize, ivec3 texDim, int z, int y, int x) {\n ivec3 xyz = ivec3(x, y, z);\n int index = xyz.x + (texDim.x * (xyz.y + (texDim.y * xyz.z)));\n int w = texSize.x * 2;\n vec2 st = vec2(float(integerMod(index, w)), float(index / w)) + 0.5;\n vec4 texel = texture(tex, st / vec2(texSize.x * 2, texSize.y));\n return decode16(texel, index);\n}\n\nfloat get8(sampler2D tex, ivec2 texSize, ivec3 texDim, int z, int y, int x) {\n ivec3 xyz = ivec3(x, y, z);\n int index = xyz.x + (texDim.x * (xyz.y + (texDim.y * xyz.z)));\n int w = texSize.x * 4;\n vec2 st = vec2(float(integerMod(index, w)), float(index / w)) + 0.5;\n vec4 texel = texture(tex, st / vec2(texSize.x * 4, texSize.y));\n return decode8(texel, index);\n}\n\nfloat getMemoryOptimized32(sampler2D tex, ivec2 texSize, ivec3 texDim, int z, int y, int x) {\n ivec3 xyz = ivec3(x, y, z);\n int index = xyz.x + (texDim.x * (xyz.y + (texDim.y * xyz.z)));\n int channel = integerMod(index, 4);\n index = index / 4;\n int w = texSize.x;\n vec2 st = vec2(float(integerMod(index, w)), float(index / w)) + 0.5;\n index = index / 4;\n vec4 texel = texture(tex, st / vec2(texSize));\n return texel[channel];\n}\n\nvec4 getImage2D(sampler2D tex, ivec2 texSize, ivec3 texDim, int z, int y, int x) {\n ivec3 xyz = ivec3(x, y, z);\n int index = xyz.x + texDim.x * (xyz.y + texDim.y * xyz.z);\n int w = texSize.x;\n vec2 st = vec2(float(integerMod(index, w)), float(index / w)) + 0.5;\n return texture(tex, st / vec2(texSize));\n}\n\nvec4 getImage3D(sampler2DArray tex, ivec2 texSize, ivec3 texDim, int z, int y, int x) {\n ivec3 xyz = ivec3(x, y, z);\n int index = xyz.x + texDim.x * (xyz.y + texDim.y * xyz.z);\n int w = texSize.x;\n vec2 st = vec2(float(integerMod(index, w)), float(index / w)) + 0.5;\n return texture(tex, vec3(st / vec2(texSize), z));\n}\n\nfloat getFloatFromSampler2D(sampler2D tex, ivec2 texSize, ivec3 texDim, int z, int y, int x) {\n vec4 result = getImage2D(tex, texSize, texDim, z, y, x);\n return result[0];\n}\n\nvec2 getVec2FromSampler2D(sampler2D tex, ivec2 texSize, ivec3 texDim, int z, int y, int x) {\n vec4 result = getImage2D(tex, texSize, texDim, z, y, x);\n return vec2(result[0], result[1]);\n}\n\nvec3 getVec3FromSampler2D(sampler2D tex, ivec2 texSize, ivec3 texDim, int z, int y, int x) {\n vec4 result = getImage2D(tex, texSize, texDim, z, y, x);\n return vec3(result[0], result[1], result[2]);\n}\n\nvec4 getVec4FromSampler2D(sampler2D tex, ivec2 texSize, ivec3 texDim, int z, int y, int x) {\n return getImage2D(tex, texSize, texDim, z, y, x);\n}\n\nvec4 actualColor;\nvoid color(float r, float g, float b, float a) {\n actualColor = vec4(r,g,b,a);\n}\n\nvoid color(float r, float g, float b) {\n color(r,g,b,1.0);\n}\n\n__MAIN_CONSTANTS__;\n__MAIN_ARGUMENTS__;\n__KERNEL__;\n\nvoid main(void) {\n index = int(vTexCoord.s * float(uTexSize.x)) + int(vTexCoord.t * float(uTexSize.y)) * uTexSize.x;\n __MAIN_RESULT__;\n}"}},{}],54:[function(t,e,r){const{WebGLFunctionNode:n}=t("../web-gl/function-node");e.exports={WebGL2FunctionNode:class extends n{astIdentifierExpression(t,e){if("Identifier"!==t.type)throw this.astErrorOutput("IdentifierExpression - not an Identifier",t);const r=this.getType(t);if("Infinity"===t.name)e.push("intBitsToFloat(2139095039)");else if("Boolean"===r)this.argumentNames.indexOf(t.name)>-1?e.push(`bool(user_${t.name})`):e.push(`user_${t.name}`);else{const r=this.getKernelArgumentName(t.name);r?e.push(`user_${r}`):e.push(`user_${t.name}`)}return e}}}},{"../web-gl/function-node":49}],55:[function(t,e,r){const{WebGLKernel:n}=t("../web-gl/kernel"),{WebGL2FunctionNode:i}=t("./function-node"),{FunctionBuilder:o}=t("../function-builder"),{utils:a}=t("../../utils"),{Texture:s}=t("../../texture"),{fragmentShader:u}=t("./fragment-shader"),{vertexShader:l}=t("./vertex-shader");let c=null,h=null,p=null,f=null,d=null;e.exports={WebGL2Kernel:class extends n{static get isSupported(){return null!==c?c:(this.setupFeatureChecks(),c=this.isContextMatch(p))}static setupFeatureChecks(){"undefined"!=typeof document?h=document.createElement("canvas"):"undefined"!=typeof OffscreenCanvas&&(h=new OffscreenCanvas(0,0)),h&&(p=h.getContext("webgl2"))&&p.getExtension&&(f={EXT_color_buffer_float:p.getExtension("EXT_color_buffer_float"),OES_texture_float_linear:p.getExtension("OES_texture_float_linear")},d=this.getFeatures())}static isContextMatch(t){return"undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext}static getFeatures(){return Object.freeze({isFloatRead:this.getIsFloatRead(),isIntegerDivisionAccurate:this.getIsIntegerDivisionAccurate(),kernelMap:!0,isTextureFloat:!0})}static getIsTextureFloat(){return!0}static getIsIntegerDivisionAccurate(){return super.getIsIntegerDivisionAccurate()}static get testCanvas(){return h}static get testContext(){return p}static get features(){return d}static get fragmentShader(){return u}static get vertexShader(){return l}initContext(){return this.canvas.getContext("webgl2",{alpha:!1,depth:!1,antialias:!1})}initExtensions(){this.extensions={EXT_color_buffer_float:this.context.getExtension("EXT_color_buffer_float"),OES_texture_float_linear:this.context.getExtension("OES_texture_float_linear")}}validateSettings(){if(!this.validate)return void(this.texSize=a.dimToTexSize({floatTextures:this.optimizeFloatMemory,floatOutput:"single"===this.precision},this.output,!0));const t=this.constructor.features;if("single"===this.precision&&!0!==this.floatOutputForce&&!t.isFloatRead)throw new Error("Float texture outputs are not supported");if(this.graphical||null!==this.precision||(this.precision=t.isFloatRead?"single":"unsigned"),null===this.fixIntegerDivisionAccuracy?this.fixIntegerDivisionAccuracy=!t.isIntegerDivisionAccurate:this.fixIntegerDivisionAccuracy&&t.isIntegerDivisionAccurate&&(this.fixIntegerDivisionAccuracy=!1),this.checkOutput(),!this.output||0===this.output.length){if(1!==arguments.length)throw new Error("Auto output only supported for kernels with only one input");const t=a.getVariableType(arguments[0]);switch(t){case"Array":this.output=a.getDimensions(t);break;case"NumberTexture":case"MemoryOptimizedNumberTexture":case"ArrayTexture(1)":case"ArrayTexture(2)":case"ArrayTexture(3)":case"ArrayTexture(4)":this.output=arguments[0].output;break;default:throw new Error("Auto output not supported for input type: "+t)}}if(this.graphical){if(2!==this.output.length)throw new Error("Output must have 2 dimensions on graphical mode");return"single"===this.precision&&(console.warn("Cannot use graphical mode and single precision at the same time"),this.precision="unsigned"),void(this.texSize=a.clone(this.output))}!this.graphical&&null===this.precision&&t.isTextureFloat&&(this.precision="single"),this.texSize=a.dimToTexSize({floatTextures:!this.optimizeFloatMemory,floatOutput:"single"===this.precision},this.output,!0),("single"===this.precision||this.floatOutputForce)&&this.context.getExtension("EXT_color_buffer_float")}translateSource(){const t=o.fromKernel(this,i,{fixIntegerDivisionAccuracy:this.fixIntegerDivisionAccuracy});this.translatedSource=t.getPrototypeString("kernel"),this.graphical||this.returnType||(this.returnType=t.getKernelResultType())}run(){null===this.program&&this.build.apply(this,arguments);const{argumentNames:t,argumentTypes:e,texSize:r}=this,n=this.context;n.useProgram(this.program),n.scissor(0,0,r[0],r[1]),this.hardcodeConstants||(this.setUniform3iv("uOutputDim",new Int32Array(this.threadDim)),this.setUniform2iv("uTexSize",r)),this.setUniform2f("ratio",r[0]/this.maxTexSize[0],r[1]/this.maxTexSize[1]),this.argumentsLength=0;for(let r=0;r<t.length;r++)this.addArgument(arguments[r],e[r],t[r]);if(this.plugins)for(let t=0;t<this.plugins.length;t++){const e=this.plugins[t];e.onBeforeRun&&e.onBeforeRun(this)}if(this.graphical)return this.pipeline?(n.bindRenderbuffer(n.RENDERBUFFER,null),n.bindFramebuffer(n.FRAMEBUFFER,this.framebuffer),this.outputTexture&&!this.immutable||this._setupOutputTexture(),n.drawArrays(n.TRIANGLE_STRIP,0,4),new s({texture:this.outputTexture,size:r,dimensions:this.threadDim,output:this.output,context:this.context,gpu:this.gpu,type:this.getReturnTextureType()})):(n.bindRenderbuffer(n.RENDERBUFFER,null),n.bindFramebuffer(n.FRAMEBUFFER,null),void n.drawArrays(n.TRIANGLE_STRIP,0,4));if(n.bindFramebuffer(n.FRAMEBUFFER,this.framebuffer),this.immutable&&this._setupOutputTexture(),null!==this.subKernels&&(this.immutable&&(this.subKernelOutputTextures=[],this._setupSubOutputTextures(this.subKernels.length)),n.drawBuffers(this.drawBuffersMap)),n.drawArrays(n.TRIANGLE_STRIP,0,4),null!==this.subKernelOutputTextures&&null!==this.subKernels){const t={result:this.renderOutput()};if(this.pipeline)for(let e=0;e<this.subKernels.length;e++)t[this.subKernels[e].property]=new s({texture:this.subKernelOutputTextures[e],size:r,dimensions:this.threadDim,output:this.output,context:this.context,gpu:this.gpu,type:this.getReturnTextureType()});else for(let e=0;e<this.subKernels.length;e++)t[this.subKernels[e].property]=new s({texture:this.subKernelOutputTextures[e],size:r,dimensions:this.threadDim,output:this.output,context:this.context,gpu:this.gpu,type:this.getReturnTextureType()}).toArray();return t}return this.renderOutput()}drawBuffers(){this.context.drawBuffers(this.drawBuffersMap)}getOutputTexture(){return this.outputTexture}_setupOutputTexture(){const{texSize:t}=this,e=this.context,r=this.outputTexture=e.createTexture();if(e.activeTexture(e.TEXTURE0+this.constantsLength+this.argumentNames.length),e.bindTexture(e.TEXTURE_2D,r),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),"single"===this.precision)if(this.pipeline)switch(this.returnType){case"Number":case"Float":case"Integer":this.optimizeFloatMemory?e.texImage2D(e.TEXTURE_2D,0,e.RGBA32F,t[0],t[1],0,e.RGBA,e.FLOAT,null):e.texImage2D(e.TEXTURE_2D,0,e.R32F,t[0],t[1],0,e.RED,e.FLOAT,null);break;case"Array(2)":e.texImage2D(e.TEXTURE_2D,0,e.RG32F,t[0],t[1],0,e.RG,e.FLOAT,null);break;case"Array(3)":e.texImage2D(e.TEXTURE_2D,0,e.RGB32F,t[0],t[1],0,e.RGB,e.FLOAT,null);break;case"Array(4)":e.texImage2D(e.TEXTURE_2D,0,e.RGBA32F,t[0],t[1],0,e.RGBA,e.FLOAT,null);break;default:throw new Error("Unhandled return type")}else e.texImage2D(e.TEXTURE_2D,0,e.RGBA32F,t[0],t[1],0,e.RGBA,e.FLOAT,null);else e.texImage2D(e.TEXTURE_2D,0,e.RGBA,t[0],t[1],0,e.RGBA,e.UNSIGNED_BYTE,null);e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,r,0)}_setupSubOutputTextures(t){const{texSize:e}=this,r=this.context,n=this.drawBuffersMap=[r.COLOR_ATTACHMENT0],i=this.subKernelOutputTextures=[];for(let o=0;o<t;o++){const t=this.context.createTexture();i.push(t),n.push(r.COLOR_ATTACHMENT0+o+1),r.activeTexture(r.TEXTURE0+this.constantsLength+this.argumentNames.length+o),r.bindTexture(r.TEXTURE_2D,t),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.NEAREST),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.NEAREST),"single"===this.precision?r.texImage2D(r.TEXTURE_2D,0,r.RGBA32F,e[0],e[1],0,r.RGBA,r.FLOAT,null):r.texImage2D(r.TEXTURE_2D,0,r.RGBA,e[0],e[1],0,r.RGBA,r.UNSIGNED_BYTE,null),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0+o+1,r.TEXTURE_2D,t,0)}}addArgument(t,e,r){const n=this.context,i=this.getArgumentTexture(r);switch(t instanceof s&&(e=t.type),e){case"Array":case"Array(2)":case"Array(3)":case"Array(4)":case"Array2D":case"Array3D":{const e=a.getDimensions(t,!0),o=this.argumentBitRatios[this.argumentsLength];if("single"===this.precision){const s=a.getMemoryOptimizedFloatTextureSize(e,o);n.activeTexture(n.TEXTURE0+this.constantsLength+this.argumentsLength),n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST);const u=s[0]*s[1]*o,l=this.formatArrayTransfer(t,u,Float32Array);n.texImage2D(n.TEXTURE_2D,0,n.RGBA32F,s[0],s[1],0,n.RGBA,n.FLOAT,l),this.hardcodeConstants||(this.setUniform3iv(`user_${r}Dim`,e),this.setUniform2iv(`user_${r}Size`,s)),this.setUniform1i(`user_${r}`,this.argumentsLength)}else{const s=a.getMemoryOptimizedPackedTextureSize(e,o);n.activeTexture(n.TEXTURE0+this.constantsLength+this.argumentsLength),n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST);const u=s[0]*s[1]*(4/o),l=this.formatArrayTransfer(t,u),c=new Uint8Array(l.buffer);n.texImage2D(n.TEXTURE_2D,0,n.RGBA,s[0],s[1],0,n.RGBA,n.UNSIGNED_BYTE,c),this.hardcodeConstants||(this.setUniform3iv(`user_${r}Dim`,e),this.setUniform2iv(`user_${r}Size`,s)),this.setUniform1i(`user_${r}`,this.argumentsLength)}break}case"Integer":case"Float":case"Number":this.setUniform1f(`user_${r}`,t);break;case"Input":{const e=t,o=a.getDimensions(e,!0),s=this.argumentBitRatios[this.argumentsLength];if("single"===this.precision){const t=a.getMemoryOptimizedFloatTextureSize(o,s);n.activeTexture(n.TEXTURE0+this.constantsLength+this.argumentsLength),n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST);const u=t[0]*t[1]*s,l=this.formatArrayTransfer(e.value,u,Float32Array);n.texImage2D(n.TEXTURE_2D,0,n.RGBA32F,t[0],t[1],0,n.RGBA,n.FLOAT,l),this.hardcodeConstants||(this.setUniform3iv(`user_${r}Dim`,o),this.setUniform2iv(`user_${r}Size`,t)),this.setUniform1i(`user_${r}`,this.argumentsLength)}else{const t=a.getMemoryOptimizedPackedTextureSize(o,s);n.activeTexture(n.TEXTURE0+this.constantsLength+this.argumentsLength),n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST);const u=t[0]*t[1]*(4/s),l=this.formatArrayTransfer(e.value,u),c=new Uint8Array(l.buffer);n.texImage2D(n.TEXTURE_2D,0,n.RGBA,t[0],t[1],0,n.RGBA,n.UNSIGNED_BYTE,c),this.hardcodeConstants||(this.setUniform3iv(`user_${r}Dim`,o),this.setUniform2iv(`user_${r}Size`,t)),this.setUniform1i(`user_${r}`,this.argumentsLength)}break}case"HTMLImage":{const e=t,o=[e.width,e.height,1],a=[e.width,e.height];n.activeTexture(n.TEXTURE0+this.constantsLength+this.argumentsLength),n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST),n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!0);const s=0,u=n.RGBA,l=n.RGBA,c=n.UNSIGNED_BYTE;n.texImage2D(n.TEXTURE_2D,s,u,l,c,e),this.setUniform3iv(`user_${r}Dim`,o),this.setUniform2iv(`user_${r}Size`,a),this.setUniform1i(`user_${r}`,this.argumentsLength);break}case"HTMLImageArray":{const e=t,o=[e[0].width,e[0].height,e.length],a=[e[0].width,e[0].height];n.activeTexture(n.TEXTURE0+this.constantsLength+this.argumentsLength),n.bindTexture(n.TEXTURE_2D_ARRAY,i),n.texParameteri(n.TEXTURE_2D_ARRAY,n.TEXTURE_MAG_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D_ARRAY,n.TEXTURE_MIN_FILTER,n.NEAREST),n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!0);const s=0,u=n.RGBA,l=e[0].width,c=e[0].height,h=e.length,p=0,f=n.RGBA,d=n.UNSIGNED_BYTE;n.texImage3D(n.TEXTURE_2D_ARRAY,s,u,l,c,h,p,f,d,null);for(let t=0;t<e.length;t++){const r=0,i=0,o=1;n.texSubImage3D(n.TEXTURE_2D_ARRAY,s,r,i,t,e[t].width,e[t].height,o,f,d,e[t])}this.setUniform3iv(`user_${r}Dim`,o),this.setUniform2iv(`user_${r}Size`,a),this.setUniform1i(`user_${r}`,this.argumentsLength);break}case"ArrayTexture(1)":case"ArrayTexture(2)":case"ArrayTexture(3)":case"ArrayTexture(4)":{const i=t;if(i.context!==this.context)throw new Error(`argument ${r} (${e}) must be from same context`);const o=i.dimensions,a=i.size;n.activeTexture(n.TEXTURE0+this.constantsLength+this.argumentsLength),n.bindTexture(n.TEXTURE_2D,i.texture),this.setUniform3iv(`user_${r}Dim`,o),this.setUniform2iv(`user_${r}Size`,a),this.setUniform1i(`user_${r}`,this.argumentsLength);break}case"MemoryOptimizedNumberTexture":case"NumberTexture":{const i=t;if(i.context!==this.context)throw new Error(`argument ${r} (${e}) must be from same context`);const o=i.dimensions,a=i.size;n.activeTexture(n.TEXTURE0+this.constantsLength+this.argumentsLength),n.bindTexture(n.TEXTURE_2D,i.texture),this.setUniform3iv(`user_${r}Dim`,o),this.setUniform2iv(`user_${r}Size`,a),this.setUniform1i(`user_${r}`,this.argumentsLength);break}case"Boolean":this.setUniform1i(`user_${r}`,t?1:0);break;default:throw new Error("Argument type not supported: "+t)}this.argumentsLength++}_getMainConstantsString(){const t=[];if(this.constants)for(let e in this.constants){if(!this.constants.hasOwnProperty(e))continue;let r=this.constants[e],n=a.getVariableType(r);switch(n){case"Integer":t.push("const int constants_"+e+" = "+parseInt(r));break;case"Float":t.push("const float constants_"+e+" = "+parseFloat(r));break;case"Array":case"Input":case"HTMLImage":case"ArrayTexture(1)":case"ArrayTexture(2)":case"ArrayTexture(3)":case"ArrayTexture(4)":case"NumberTexture":t.push(`uniform highp sampler2D constants_${e}`,`uniform highp ivec2 constants_${e}Size`,`uniform highp ivec3 constants_${e}Dim`);break;case"HTMLImageArray":t.push(`uniform highp sampler2DArray constants_${e}`,`uniform highp ivec2 constants_${e}Size`,`uniform highp ivec3 constants_${e}Dim`);break;case"Boolean":t.push("const bool constants_"+e+" = "+(r?"true":"false"));break;default:throw new Error(`Unsupported constant ${e} type ${n}`)}}return a.linesToString(t)}addConstant(t,e,r){const n=this.context,i=this.getArgumentTexture(r);switch(t instanceof s&&(e=t.type),e){case"Array":case"Array(2)":case"Array(3)":case"Array(4)":case"Array2D":case"Array3D":{const e=a.getDimensions(t,!0),o=this.constantBitRatios[r];if("single"===this.precision){const s=a.getMemoryOptimizedFloatTextureSize(e,o);n.activeTexture(n.TEXTURE0+this.constantsLength),n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST);const u=s[0]*s[1]*o,l=this.formatArrayTransfer(t,u,Float32Array);n.texImage2D(n.TEXTURE_2D,0,n.RGBA32F,s[0],s[1],0,n.RGBA,n.FLOAT,l),this.hardcodeConstants||(this.setUniform3iv(`constants_${r}Dim`,e),this.setUniform2iv(`constants_${r}Size`,s)),this.setUniform1i(`constants_${r}`,this.constantsLength)}else{const s=a.getMemoryOptimizedPackedTextureSize(e,o);n.activeTexture(n.TEXTURE0+this.constantsLength),n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST);const u=s[0]*s[1]*(4/o),l=this.formatArrayTransfer(t,u),c=new Uint8Array(l.buffer);n.texImage2D(n.TEXTURE_2D,0,n.RGBA,s[0],s[1],0,n.RGBA,n.UNSIGNED_BYTE,c),this.hardcodeConstants||(this.setUniform3iv(`constants_${r}Dim`,e),this.setUniform2iv(`constants_${r}Size`,s)),this.setUniform1i(`constants_${r}`,this.constantsLength)}}break;case"Input":{const e=t,o=a.getDimensions(e,!0),s=this.constantBitRatios[r];if("single"===this.precision){const t=a.getMemoryOptimizedFloatTextureSize(o,s);n.activeTexture(n.TEXTURE0+this.constantsLength),n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST);const u=t[0]*t[1]*s,l=this.formatArrayTransfer(e.value,u,Float32Array);n.texImage2D(n.TEXTURE_2D,0,n.RGBA32F,t[0],t[1],0,n.RGBA,n.FLOAT,l),this.hardcodeConstants||(this.setUniform3iv(`constants_${r}Dim`,o),this.setUniform2iv(`constants_${r}Size`,t)),this.setUniform1i(`constants_${r}`,this.constantsLength)}else{const t=a.getMemoryOptimizedPackedTextureSize(o,s);n.activeTexture(n.TEXTURE0+this.constantsLength),n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST);const u=t[0]*t[1]*(4/s),l=this.formatArrayTransfer(e.value,u),c=new Uint8Array(l.buffer);n.texImage2D(n.TEXTURE_2D,0,n.RGBA,t[0],t[1],0,n.RGBA,n.UNSIGNED_BYTE,c),this.hardcodeConstants||(this.setUniform3iv(`constants_${r}Dim`,o),this.setUniform2iv(`constants_${r}Size`,t)),this.setUniform1i(`constants_${r}`,this.argumentsLength)}break}case"HTMLImage":{const e=t,o=[e.width,e.height,1],a=[e.width,e.height];n.activeTexture(n.TEXTURE0+this.constantsLength),n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST),n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!0);const s=0,u=n.RGBA,l=n.RGBA,c=n.UNSIGNED_BYTE;n.texImage2D(n.TEXTURE_2D,s,u,l,c,e),this.setUniform3iv(`constants_${r}Dim`,o),this.setUniform2iv(`constants_${r}Size`,a),this.setUniform1i(`constants_${r}`,this.constantsLength);break}case"HTMLImageArray":{const e=t,o=[e[0].width,e[0].height,e.length],a=[e[0].width,e[0].height];n.activeTexture(n.TEXTURE0+this.constantsLength),n.bindTexture(n.TEXTURE_2D_ARRAY,i),n.texParameteri(n.TEXTURE_2D_ARRAY,n.TEXTURE_MAG_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D_ARRAY,n.TEXTURE_MIN_FILTER,n.NEAREST),n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!0);const s=0,u=n.RGBA,l=e[0].width,c=e[0].height,h=e.length,p=0,f=n.RGBA,d=n.UNSIGNED_BYTE;n.texImage3D(n.TEXTURE_2D_ARRAY,s,u,l,c,h,p,f,d,null);for(let t=0;t<e.length;t++){const r=0,i=0,o=1;n.texSubImage3D(n.TEXTURE_2D_ARRAY,s,r,i,t,e[t].width,e[t].height,o,f,d,e[t])}this.setUniform3iv(`constants_${r}Dim`,o),this.setUniform2iv(`constants_${r}Size`,a),this.setUniform1i(`constants_${r}`,this.constantsLength);break}case"ArrayTexture(1)":case"ArrayTexture(2)":case"ArrayTexture(3)":case"ArrayTexture(4)":{const i=t;if(i.context!==this.context)throw new Error(`constant ${r} (${e}) must be from same context`);const o=i.dimensions,a=i.size;n.activeTexture(n.TEXTURE0+this.constantsLength),n.bindTexture(n.TEXTURE_2D,i.texture),this.setUniform3iv(`constants_${r}Dim`,o),this.setUniform2iv(`constants_${r}Size`,a),this.setUniform1i(`constants_${r}`,this.constantsLength);break}case"MemoryOptimizedNumberTexture":case"NumberTexture":{const i=t;if(i.context!==this.context)throw new Error(`constant ${r} (${e}) must be from same context`);const o=i.dimensions,a=i.size;n.activeTexture(n.TEXTURE0+this.constantsLength),n.bindTexture(n.TEXTURE_2D,i.texture),this.setUniform3iv(`constants_${r}Dim`,o),this.setUniform2iv(`constants_${r}Size`,a),this.setUniform1i(`constants_${r}`,this.constantsLength);break}case"Integer":case"Float":default:throw new Error("constant type not supported: "+t)}this.constantsLength++}_getHeaderString(){return""}_getTextureCoordinate(){const t=this.subKernels;return null===t||t.length<1?"in highp vec2 vTexCoord;\n":"out highp vec2 vTexCoord;\n"}_getMainArgumentsString(t){const e=[],r=this.argumentTypes,n=this.argumentNames;for(let i=0;i<n.length;i++){const o=t[i],s=n[i],u=r[i];if(this.hardcodeConstants)switch(u){case"Array":case"NumberTexture":case"MemoryOptimizedNumberTexture":case"ArrayTexture(1)":case"ArrayTexture(2)":case"ArrayTexture(3)":case"ArrayTexture(4)":case"Input":case"HTMLImage":const t=a.getDimensions(o,!0),r=a.dimToTexSize({floatTextures:this.optimizeFloatMemory,floatOutput:"single"===this.precision},t);e.push(`uniform highp sampler2D user_${s}`,`highp ivec2 user_${s}Size = ivec2(${r[0]}, ${r[1]})`,`highp ivec3 user_${s}Dim = ivec3(${t[0]}, ${t[1]}, ${t[2]})`);break;case"Integer":e.push(`highp float user_${s} = ${o}.0`);break;case"Float":case"Number":e.push(`highp float user_${s} = ${Number.isInteger(o)?o+".0":o}`);break;case"Boolean":e.push(`uniform int user_${s}`);break;default:throw new Error(`Argument type ${u} not supported in WebGL2`)}else switch(u){case"Array":case"NumberTexture":case"MemoryOptimizedNumberTexture":case"ArrayTexture(1)":case"ArrayTexture(2)":case"ArrayTexture(3)":case"ArrayTexture(4)":case"Input":case"HTMLImage":e.push(`uniform highp sampler2D user_${s}`,`uniform highp ivec2 user_${s}Size`,`uniform highp ivec3 user_${s}Dim`);break;case"HTMLImageArray":e.push(`uniform highp sampler2DArray user_${s}`,`uniform highp ivec2 user_${s}Size`,`uniform highp ivec3 user_${s}Dim`);break;case"Integer":case"Float":case"Number":e.push(`uniform float user_${s}`);break;case"Boolean":e.push(`uniform int user_${s}`);break;default:throw new Error(`Argument type ${u} not supported in WebGL2`)}}return a.linesToString(e)}getKernelString(){let t;switch(this.returnType){case"Array(2)":t="vec2 kernelResult";break;case"Array(3)":t="vec3 kernelResult";break;case"Array(4)":t="vec4 kernelResult";break;case"LiteralInteger":case"Float":case"Number":case"Integer":t="float kernelResult";break;default:if(!this.graphical)throw new Error(`unrecognized output type "${this.returnType}"`);t="float kernelResult"}const e=[],r=this.subKernels;if(null!==r){e.push(t,"layout(location = 0) out vec4 data0");for(let t=0;t<r.length;t++)e.push(`float subKernelResult_${r[t].name} = 0.0`,`layout(location = ${t+1}) out vec4 data${t+1}`)}else e.push("out vec4 data0",t);return a.linesToString(e)+this.translatedSource}getMainResultGraphical(){return a.linesToString([" threadId = indexTo3D(index, uOutputDim)"," kernel()"," data0 = actualColor"])}getMainResultPackedPixels(){switch(this.returnType){case"LiteralInteger":case"Number":case"Integer":case"Float":return a.linesToString(this.getMainResultKernelPackedPixels())+a.linesToString(this.getMainResultSubKernelPackedPixels());default:throw new Error(`packed output only usable with Numbers, "${this.returnType}" specified`)}}getMainResultKernelPackedPixels(){return[" threadId = indexTo3D(index, uOutputDim)"," kernel()"," data0 = encode32(kernelResult)"]}getMainResultSubKernelPackedPixels(){const t=[];if(!this.subKernels)return t;for(let e=0;e<this.subKernels.length;e++)t.push(` data${e+1} = encode32(subKernelResult_${this.subKernels[e].name})`);return t}getMainResultMemoryOptimizedFloats(){const t=[" index *= 4"];switch(this.returnType){case"Number":case"Integer":case"Float":const e=["r","g","b","a"];for(let r=0;r<e.length;r++){const n=e[r];this.getMainResultKernelMemoryOptimizedFloats(t,n),this.getMainResultSubKernelMemoryOptimizedFloats(t,n),r+1<e.length&&t.push(" index += 1")}break;default:throw new Error(`optimized output only usable with Numbers, ${this.returnType} specified`)}return a.linesToString(t)}getMainResultKernelMemoryOptimizedFloats(t,e){t.push(" threadId = indexTo3D(index, uOutputDim)"," kernel()",` data0.${e} = kernelResult`)}getMainResultSubKernelMemoryOptimizedFloats(t,e){if(!this.subKernels)return t;for(let r=0;r<this.subKernels.length;r++)t.push(` data${r+1}.${e} = subKernelResult_${this.subKernels[r].name}`)}getMainResultKernelNumberTexture(){return[" threadId = indexTo3D(index, uOutputDim)"," kernel()"," data0[0] = kernelResult"]}getMainResultSubKernelNumberTexture(){const t=[];if(!this.subKernels)return t;for(let e=0;e<this.subKernels.length;++e)t.push(` data${e+1}[0] = subKernelResult_${this.subKernels[e].name}`);return t}getMainResultKernelArray2Texture(){return[" threadId = indexTo3D(index, uOutputDim)"," kernel()"," data0[0] = kernelResult[0]"," data0[1] = kernelResult[1]"]}getMainResultSubKernelArray2Texture(){const t=[];if(!this.subKernels)return t;for(let e=0;e<this.subKernels.length;++e)t.push(` data${e+1}[0] = subKernelResult_${this.subKernels[e].name}[0]`,` data${e+1}[1] = subKernelResult_${this.subKernels[e].name}[1]`);return t}getMainResultKernelArray3Texture(){return[" threadId = indexTo3D(index, uOutputDim)"," kernel()"," data0[0] = kernelResult[0]"," data0[1] = kernelResult[1]"," data0[2] = kernelResult[2]"]}getMainResultSubKernelArray3Texture(){const t=[];if(!this.subKernels)return t;for(let e=0;e<this.subKernels.length;++e)t.push(` data${e+1}[0] = subKernelResult_${this.subKernels[e].name}[0]`,` data${e+1}[1] = subKernelResult_${this.subKernels[e].name}[1]`,` data${e+1}[2] = subKernelResult_${this.subKernels[e].name}[2]`);return t}getMainResultKernelArray4Texture(){return[" threadId = indexTo3D(index, uOutputDim)"," kernel()"," data0 = kernelResult"]}getMainResultSubKernelArray4Texture(){const t=[];if(!this.subKernels)return t;for(let e=0;e<this.subKernels.length;++e)t.push(` data${e+1} = subKernelResult_${this.subKernels[e].name}`);return t}getFragmentShader(t){return null!==this.compiledFragmentShader?this.compiledFragmentShader:this.compiledFragmentShader=this.replaceArtifacts(this.constructor.fragmentShader,this._getFragShaderArtifactMap(t))}getVertexShader(t){return null!==this.compiledVertexShader?this.compiledVertexShader:this.compiledVertexShader=this.constructor.vertexShader}destroyExtensions(){this.extensions.EXT_color_buffer_float=null,this.extensions.OES_texture_float_linear=null}toJSON(){const t=super.toJSON();return t.functionNodes=o.fromKernel(this,i).toJSON(),t}}}},{"../../texture":62,"../../utils":63,"../function-builder":43,"../web-gl/kernel":51,"./fragment-shader":53,"./function-node":54,"./vertex-shader":56}],56:[function(t,e,r){e.exports={vertexShader:"#version 300 es\nprecision highp float;\nprecision highp int;\nprecision highp sampler2D;\n\nin vec2 aPos;\nin vec2 aTexCoord;\n\nout vec2 vTexCoord;\nuniform vec2 ratio;\n\nvoid main(void) {\n gl_Position = vec4((aPos + vec2(1)) * ratio + vec2(-1), 0, 1);\n vTexCoord = aTexCoord;\n}"}},{}],57:[function(t,e,r){const n=t("gpu-mock.js"),{utils:i}=t("./utils"),{CPUKernel:o}=t("./backend/cpu/kernel"),{HeadlessGLKernel:a}=t("./backend/headless-gl/kernel"),{WebGL2Kernel:s}=t("./backend/web-gl2/kernel"),{WebGLKernel:u}=t("./backend/web-gl/kernel"),{kernelRunShortcut:l}=t("./kernel-run-shortcut"),c=[a,s,u],h=["gpu","cpu"],p={headlessgl:a,webgl2:s,webgl:u};let f=!0;function d(t){if(!t)return;const e=Object.assign({},t);return t.hasOwnProperty("floatOutput")&&(i.warnDeprecated("setting","floatOutput","precision"),e.precision=t.floatOutput?"single":"unsigned"),t.hasOwnProperty("outputToTexture")&&(i.warnDeprecated("setting","outputToTexture","pipeline"),e.pipeline=Boolean(t.outputToTexture)),t.hasOwnProperty("outputImmutable")&&(i.warnDeprecated("setting","outputImmutable","immutable"),e.immutable=Boolean(t.outputImmutable)),t.hasOwnProperty("floatTextures")&&(i.warnDeprecated("setting","floatTextures","optimizeFloatMemory"),e.optimizeFloatMemory=Boolean(t.floatTextures)),e}e.exports={GPU:class{static disableValidation(){f=!1}static enableValidation(){f=!0}static get isGPUSupported(){return c.some(t=>t.isSupported)}static get isKernelMapSupported(){return c.some(t=>t.isSupported&&t.features.kernelMap)}static get isOffscreenCanvasSupported(){return"undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas||"undefined"!=typeof importScripts}static get isWebGLSupported(){return u.isSupported}static get isWebGL2Supported(){return s.isSupported}static get isHeadlessGLSupported(){return a.isSupported}static get isCanvasSupported(){return"undefined"!=typeof HTMLCanvasElement}static get isGPUHTMLImageArraySupported(){return s.isSupported}static get isSinglePrecisionSupported(){return c.some(t=>t.isSupported&&t.features.isFloatRead&&t.features.isTextureFloat)}constructor(t){if(t=t||{},this.canvas=t.canvas||null,this.context=t.context||null,this.mode=t.mode,"dev"!==this.mode){if(this.Kernel=null,this.kernels=[],this.functions=[],this.nativeFunctions=[],this.chooseKernel(),t.functions)for(let e=0;e<t.functions.length;e++)this.addFunction(t.functions[e]);if(t.nativeFunctions)for(const e in t.nativeFunctions)this.addNativeFunction(e,t.nativeFunctions[e])}}chooseKernel(){if(this.Kernel)return;let t=null;if(this.context){for(let e=0;e<c.length;e++){const r=c[e];if(r.isContextMatch(this.context)){if(!r.isSupported)throw new Error(`Kernel type ${r.name} not supported`);t=r;break}}if(null===t)throw new Error("unknown Context")}else if(this.mode){if(this.mode in p)p[this.mode].isSupported&&(t=p[this.mode]);else if("gpu"===this.mode){for(let e=0;e<c.length;e++)if(c[e].isSupported){t=c[e];break}}else"cpu"===this.mode&&(t=o);if(!t)throw new Error(`A requested mode of "${this.mode}" and is not supported`)}else{for(let e=0;e<c.length;e++)if(c[e].isSupported){t=c[e];break}t||(t=o)}this.mode||(this.mode=t.mode),this.Kernel=t}createKernel(t,e){if(void 0===t)throw new Error("Missing source parameter");if("object"!=typeof t&&!i.isFunction(t)&&"string"!=typeof t)throw new Error("source parameter not a function");if("dev"===this.mode)return n(t,d(e));t="function"==typeof t?t.toString():t;const r=Object.assign({context:this.context,canvas:this.canvas,functions:this.functions,nativeFunctions:this.nativeFunctions,gpu:this,validate:f,onRequestFallback:e=>{const n=new o(t,r);return n.apply(n,e)}},d(e)||{}),a=l(new this.Kernel(t,r));return this.canvas||(this.canvas=a.canvas),this.context||(this.context=a.context),this.kernels.push(a),a}createKernelMap(){let t,e;if("function"==typeof arguments[arguments.length-2]?(t=arguments[arguments.length-2],e=arguments[arguments.length-1]):t=arguments[arguments.length-1],(!this.Kernel.isSupported||!this.Kernel.features.kernelMap)&&this.mode&&h.indexOf(this.mode)<0)throw new Error(`kernelMap not supported on ${this.Kernel.name}`);const r=this.createKernel(t,d(e));if(Array.isArray(arguments[0])){const t=arguments[0];for(let e=0;e<t.length;e++){const n=t[e].toString(),o=i.getFunctionNameFromString(n);r.addSubKernel({name:o,source:n,property:e})}}else{const t=arguments[0];for(let e in t){if(!t.hasOwnProperty(e))continue;const n=t[e].toString(),o=i.getFunctionNameFromString(n);r.addSubKernel({name:o||e,source:n,property:e})}}return r}combineKernels(){const t=arguments[0],e=arguments[arguments.length-1];if("cpu"===t.kernel.constructor.mode)return e;const r=arguments[0].canvas,n=arguments[0].context,i=arguments.length-1;for(let t=0;t<i;t++)arguments[t].setCanvas(r).setContext(n).setPipeline(!0);return function(){const t=e.apply(this,arguments);return t.toArray?t.toArray():t}}addFunction(t,e){return this.functions.push(i.functionToIFunction(t,e)),this}addNativeFunction(t,e,r){if(this.kernels.length>0)throw new Error('Cannot call "addNativeFunction" after "createKernels" has been called.');r=r||{};const{argumentTypes:n,argumentNames:i}=this.Kernel.nativeFunctionArguments(e)||{};return this.nativeFunctions.push({name:t,source:e,settings:r,argumentTypes:n,argumentNames:i,returnType:r.returnType||this.Kernel.nativeFunctionReturnType(e)}),this}destroy(){setTimeout(()=>{for(let t=0;t<this.kernels.length;t++)this.kernels[t].destroy(!0);this.kernels[0].kernel.constructor.destroyContext(this.context)},0)}},kernelOrder:c,kernelTypes:h}},{"./backend/cpu/kernel":42,"./backend/headless-gl/kernel":46,"./backend/web-gl/kernel":51,"./backend/web-gl2/kernel":55,"./kernel-run-shortcut":60,"./utils":63,"gpu-mock.js":38}],58:[function(t,e,r){const{GPU:n}=t("./gpu"),{alias:i}=t("./alias"),{utils:o}=t("./utils"),{Input:a,input:s}=t("./input"),{Texture:u}=t("./texture"),{FunctionBuilder:l}=t("./backend/function-builder"),{FunctionNode:c}=t("./backend/function-node"),{CPUFunctionNode:h}=t("./backend/cpu/function-node"),{CPUKernel:p}=t("./backend/cpu/kernel"),{HeadlessGLKernel:f}=t("./backend/headless-gl/kernel"),{WebGLFunctionNode:d}=t("./backend/web-gl/function-node"),{WebGLKernel:m}=t("./backend/web-gl/kernel"),{WebGL2FunctionNode:g}=t("./backend/web-gl2/function-node"),{WebGL2Kernel:v}=t("./backend/web-gl2/kernel"),{GLKernel:_}=t("./backend/gl-kernel"),{Kernel:y}=t("./backend/kernel");e.exports={alias:i,CPUFunctionNode:h,CPUKernel:p,GPU:n,FunctionBuilder:l,FunctionNode:c,HeadlessGLKernel:f,Input:a,input:s,Texture:u,utils:o,WebGL2FunctionNode:g,WebGL2Kernel:v,WebGLFunctionNode:d,WebGLKernel:m,GLKernel:_,Kernel:y}},{"./alias":39,"./backend/cpu/function-node":40,"./backend/cpu/kernel":42,"./backend/function-builder":43,"./backend/function-node":44,"./backend/gl-kernel":45,"./backend/headless-gl/kernel":46,"./backend/kernel":47,"./backend/web-gl/function-node":49,"./backend/web-gl/kernel":51,"./backend/web-gl2/function-node":54,"./backend/web-gl2/kernel":55,"./gpu":57,"./input":59,"./texture":62,"./utils":63}],59:[function(t,e,r){class n{constructor(t,e){if(this.value=t,this.size=new Int32Array(3),Array.isArray(e))for(let t=0;t<this.size.length;t++)this.size[t]=e[t]||1;else e.z?this.size=new Int32Array([e.x,e.y,e.z]):e.y?this.size=new Int32Array([e.x,e.y,1]):this.size=new Int32Array([e.x,1,1]);const[r,n,i]=this.size;if(this.value.length!==r*n*i)throw new Error(`Input size ${this.value.length} does not match ${n} * ${r} * ${i} = ${r*n*i}`)}}e.exports={Input:n,input:function(t,e){return new n(t,e)}}},{}],60:[function(t,e,r){const{utils:n}=t("./utils");e.exports={kernelRunShortcut:function(t){const e=function(){return t.run.apply(t,arguments)};return n.allPropertiesOf(t).forEach(r=>{if("_"!==r[0]||"_"!==r[1])if("function"==typeof t[r])if("add"===r.substring(0,3)||"set"===r.substring(0,3))e[r]=function(){return t[r].apply(t,arguments),e};else if("requestFallback"===r){const n=t[r].bind(t);e[r]=(()=>{t=n()})}else e[r]=t[r].bind(t);else e.__defineGetter__(r,()=>t[r]),e.__defineSetter__(r,e=>{t[r]=e})}),e.kernel=t,e}}},{"./utils":63}],61:[function(t,e,r){e.exports={name:"triangle-noise-noise",onBeforeRun:t=>{t.setUniform1f("triangle_noise_seed",Math.random())},functionMatch:"Math.random()",functionReplace:"n4rand(vTexCoord)",functionReturnType:"Number",source:"\n\nuniform highp float triangle_noise_seed;\nhighp float triangle_noise_shift = 0.000001;\n\n//https://www.shadertoy.com/view/4t2SDh\n//note: uniformly distributed, normalized rand, [0;1[\nfloat nrand( vec2 n )\n{\n\treturn fract(sin(dot(n.xy, vec2(12.9898, 78.233)))* 43758.5453);\n}\n//note: remaps v to [0;1] in interval [a;b]\nfloat remap( float a, float b, float v )\n{\n\treturn clamp( (v-a) / (b-a), 0.0, 1.0 );\n}\n\nfloat n4rand( vec2 n )\n{\n\tfloat t = fract( triangle_noise_seed + triangle_noise_shift );\n\tfloat nrnd0 = nrand( n + 0.07*t );\n\tfloat nrnd1 = nrand( n + 0.11*t );\t\n\tfloat nrnd2 = nrand( n + 0.13*t );\n\tfloat nrnd3 = nrand( n + 0.17*t );\n\tfloat result = (nrnd0+nrnd1+nrnd2+nrnd3) / 4.0;\n\ttriangle_noise_shift = result + 0.000001;\n\treturn result;\n}"}},{}],62:[function(t,e,r){e.exports={Texture:class{constructor(t){const{texture:e,size:r,dimensions:n,output:i,context:o,gpu:a,type:s="NumberTexture"}=t;if(!i)throw new Error('settings property "output" required.');if(!o)throw new Error('settings property "context" required.');this.texture=e,this.size=r,this.dimensions=n,this.output=i,this.context=o,this.gpu=a,this.kernel=null,this.type=s}toArray(t){let{kernel:e}=this;if(e)return e(this);if(!(t=t||this.gpu))throw new Error('settings property "gpu" or argument required.');return e=t.createKernel(function(t){return t[this.thread.z][this.thread.y][this.thread.x]},{output:this.output,precision:this.getPrecision(),optimizeFloatMemory:"MemoryOptimizedNumberTexture"===this.type}),this.kernel=e,e(this)}getPrecision(){switch(this.type){case"NumberTexture":return"unsigned";case"MemoryOptimizedNumberTexture":case"ArrayTexture(1)":case"ArrayTexture(2)":case"ArrayTexture(3)":case"ArrayTexture(4)":return"single";default:throw new Error("Unknown texture type")}}delete(){return this.context.deleteTexture(this.texture)}}}},{}],63:[function(t,e,r){const{Input:n}=t("./input"),{Texture:i}=t("./texture"),o=/function ([^(]*)/,a=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,s=/([^\s,]+)/g,u={systemEndianness:()=>l,getSystemEndianness(){const t=new ArrayBuffer(4),e=new Uint32Array(t),r=new Uint8Array(t);if(e[0]=3735928559,239===r[0])return"LE";if(222===r[0])return"BE";throw new Error("unknown endianness")},isFunction:t=>"function"==typeof t,isFunctionString:t=>"string"==typeof t&&"function"===t.slice(0,"function".length).toLowerCase(),getFunctionNameFromString:t=>o.exec(t)[1].trim(),getFunctionBodyFromString:t=>t.substring(t.indexOf("{")+1,t.lastIndexOf("}")),getArgumentNamesFromString(t){const e=t.replace(a,"");let r=e.slice(e.indexOf("(")+1,e.indexOf(")")).match(s);return null===r&&(r=[]),r},clone(t){if(null===t||"object"!=typeof t||t.hasOwnProperty("isActiveClone"))return t;const e=t.constructor();for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&(t.isActiveClone=null,e[r]=u.clone(t[r]),delete t.isActiveClone);return e},isArray:t=>!isNaN(t.length),getVariableType:t=>u.isArray(t)?"IMG"===t[0].nodeName?"HTMLImageArray":"Array":"number"==typeof t?Number.isInteger(t)?"Integer":"Float":"boolean"==typeof t?"Boolean":t instanceof i?t.type:t instanceof n?"Input":"IMG"===t.nodeName?"HTMLImage":"Unknown",dimToTexSize(t,e,r){let[n,i,o]=e,a=(n||1)*(i||1)*(o||1);return!t.floatTextures||r&&"single"!==t.precision||(n=a=Math.ceil(a/4)),i>1&&n*i===a?new Int32Array([n,i]):u.closestSquareDimensions(a)},closestSquareDimensions(t){const e=Math.sqrt(t);let r=Math.ceil(e),n=Math.floor(e);for(;r*n<t;)r--,n=Math.ceil(t/r);return new Int32Array([n,Math.ceil(t/n)])},getMemoryOptimizedFloatTextureSize(t,e){const[r,n,i]=t,o=u.roundTo((r||1)*(n||1)*(i||1),4)/e;return u.closestSquareDimensions(o)},getMemoryOptimizedPackedTextureSize(t,e){const[r,n,i]=t,o=u.roundTo((r||1)*(n||1)*(i||1),4)/(4/e);return u.closestSquareDimensions(o)},roundTo:(t,e)=>Math.floor((t+e-1)/e)*e,getDimensions(t,e){let r;if(u.isArray(t)){const e=[];let n=t;for(;u.isArray(n);)e.push(n.length),n=n[0];r=e.reverse()}else if(t instanceof i)r=t.output;else{if(!(t instanceof n))throw new Error(`Unknown dimensions of ${t}`);r=t.size}if(e)for(r=Array.from(r);r.length<3;)r.push(1);return new Int32Array(r)},flatten2dArrayTo(t,e){let r=0;for(let n=0;n<t.length;n++)e.set(t[n],r),r+=t[n].length},flatten3dArrayTo(t,e){let r=0;for(let n=0;n<t.length;n++)for(let i=0;i<t[n].length;i++)e.set(t[n][i],r),r+=t[n][i].length},flattenTo(t,e){u.isArray(t[0])?u.isArray(t[0][0])?u.flatten3dArrayTo(t,e):u.flatten2dArrayTo(t,e):e.set(t)},splitArray(t,e){const r=[];for(let n=0;n<t.length;n+=e)r.push(new t.constructor(t.buffer,4*n+t.byteOffset,e));return r},getAstString(t,e){const r=Array.isArray(t)?t:t.split(/\r?\n/g),n=e.loc.start,i=e.loc.end,o=[];o.push(r[n.line-1].slice(n.column));for(let t=n.line;t<i.line-1;t++)o.push(r[t]);return o.push(r[i.line-1].slice(0,i.column)),o.join("\n")},allPropertiesOf(t){const e=[];do{e.push.apply(e,Object.getOwnPropertyNames(t))}while(t=Object.getPrototypeOf(t));return e},linesToString:t=>t.length>0?t.join(";\n")+";\n":"\n",warnDeprecated(t,e,r){r?console.warn(`You are using a deprecated ${t} "${e}". It has been replaced with "${r}". Fixing, but please upgrade as it will soon be removed.`):console.warn(`You are using a deprecated ${t} "${e}". It has been removed. Fixing, but please upgrade as it will soon be removed.`)},functionToIFunction(t,e){if(e=e||{},"string"!=typeof t&&"function"!=typeof t)throw new Error("source not a string or function");const r="string"==typeof t?t:t.toString();let n=[];return{source:r,argumentTypes:n=Array.isArray(e.argumentTypes)?e.argumentTypes:"object"==typeof e.argumentTypes?u.getArgumentNamesFromString(r).map(t=>e.argumentTypes[t])||[]:e.argumentTypes||[],returnType:e.returnType||null}}},l=u.getSystemEndianness();e.exports={utils:u}},{"./input":59,"./texture":62}],64:[function(t,e,r){(function(r){"use strict";function n(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,o=Math.min(r,n);i<o;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0}function i(t){return r.Buffer&&"function"==typeof r.Buffer.isBuffer?r.Buffer.isBuffer(t):!(null==t||!t._isBuffer)}var o=t("util/"),a=Object.prototype.hasOwnProperty,s=Array.prototype.slice,u="foo"===function(){}.name;function l(t){return Object.prototype.toString.call(t)}function c(t){return!i(t)&&("function"==typeof r.ArrayBuffer&&("function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):!!t&&(t instanceof DataView||!!(t.buffer&&t.buffer instanceof ArrayBuffer))))}var h=e.exports=v,p=/\s*function\s+([^\(\s]*)\s*/;function f(t){if(o.isFunction(t)){if(u)return t.name;var e=t.toString().match(p);return e&&e[1]}}function d(t,e){return"string"==typeof t?t.length<e?t:t.slice(0,e):t}function m(t){if(u||!o.isFunction(t))return o.inspect(t);var e=f(t);return"[Function"+(e?": "+e:"")+"]"}function g(t,e,r,n,i){throw new h.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:i})}function v(t,e){t||g(t,!0,e,"==",h.ok)}function _(t,e,r,a){if(t===e)return!0;if(i(t)&&i(e))return 0===n(t,e);if(o.isDate(t)&&o.isDate(e))return t.getTime()===e.getTime();if(o.isRegExp(t)&&o.isRegExp(e))return t.source===e.source&&t.global===e.global&&t.multiline===e.multiline&&t.lastIndex===e.lastIndex&&t.ignoreCase===e.ignoreCase;if(null!==t&&"object"==typeof t||null!==e&&"object"==typeof e){if(c(t)&&c(e)&&l(t)===l(e)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===n(new Uint8Array(t.buffer),new Uint8Array(e.buffer));if(i(t)!==i(e))return!1;var u=(a=a||{actual:[],expected:[]}).actual.indexOf(t);return-1!==u&&u===a.expected.indexOf(e)||(a.actual.push(t),a.expected.push(e),function(t,e,r,n){if(null===t||void 0===t||null===e||void 0===e)return!1;if(o.isPrimitive(t)||o.isPrimitive(e))return t===e;if(r&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var i=y(t),a=y(e);if(i&&!a||!i&&a)return!1;if(i)return t=s.call(t),e=s.call(e),_(t,e,r);var u,l,c=w(t),h=w(e);if(c.length!==h.length)return!1;for(c.sort(),h.sort(),l=c.length-1;l>=0;l--)if(c[l]!==h[l])return!1;for(l=c.length-1;l>=0;l--)if(u=c[l],!_(t[u],e[u],r,n))return!1;return!0}(t,e,r,a))}return r?t===e:t==e}function y(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function b(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function x(t,e,r,n){var i;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),i=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),t&&!i&&g(i,r,"Missing expected exception"+n);var a="string"==typeof n,s=!t&&o.isError(i),u=!t&&i&&!r;if((s&&a&&b(i,r)||u)&&g(i,r,"Got unwanted exception"+n),t&&i&&r&&!b(i,r)||!t&&i)throw i}h.AssertionError=function(t){var e;this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=d(m((e=this).actual),128)+" "+e.operator+" "+d(m(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||g;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var n=new Error;if(n.stack){var i=n.stack,o=f(r),a=i.indexOf("\n"+o);if(a>=0){var s=i.indexOf("\n",a+1);i=i.substring(s+1)}this.stack=i}}},o.inherits(h.AssertionError,Error),h.fail=g,h.ok=v,h.equal=function(t,e,r){t!=e&&g(t,e,r,"==",h.equal)},h.notEqual=function(t,e,r){t==e&&g(t,e,r,"!=",h.notEqual)},h.deepEqual=function(t,e,r){_(t,e,!1)||g(t,e,r,"deepEqual",h.deepEqual)},h.deepStrictEqual=function(t,e,r){_(t,e,!0)||g(t,e,r,"deepStrictEqual",h.deepStrictEqual)},h.notDeepEqual=function(t,e,r){_(t,e,!1)&&g(t,e,r,"notDeepEqual",h.notDeepEqual)},h.notDeepStrictEqual=function t(e,r,n){_(e,r,!0)&&g(e,r,n,"notDeepStrictEqual",t)},h.strictEqual=function(t,e,r){t!==e&&g(t,e,r,"===",h.strictEqual)},h.notStrictEqual=function(t,e,r){t===e&&g(t,e,r,"!==",h.notStrictEqual)},h.throws=function(t,e,r){x(!0,t,e,r)},h.doesNotThrow=function(t,e,r){x(!1,t,e,r)},h.ifError=function(t){if(t)throw t};var w=Object.keys||function(t){var e=[];for(var r in t)a.call(t,r)&&e.push(r);return e}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"util/":67}],65:[function(t,e,r){"function"==typeof Object.create?e.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}},{}],66:[function(t,e,r){e.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8}},{}],67:[function(t,e,r){(function(e,n){var i=/%[sdj%]/g;r.format=function(t){if(!v(t)){for(var e=[],r=0;r<arguments.length;r++)e.push(s(arguments[r]));return e.join(" ")}r=1;for(var n=arguments,o=n.length,a=String(t).replace(i,function(t){if("%%"===t)return"%";if(r>=o)return t;switch(t){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(t){return"[Circular]"}default:return t}}),u=n[r];r<o;u=n[++r])m(u)||!b(u)?a+=" "+u:a+=" "+s(u);return a},r.deprecate=function(t,i){if(_(n.process))return function(){return r.deprecate(t,i).apply(this,arguments)};if(!0===e.noDeprecation)return t;var o=!1;return function(){if(!o){if(e.throwDeprecation)throw new Error(i);e.traceDeprecation?console.trace(i):console.error(i),o=!0}return t.apply(this,arguments)}};var o,a={};function s(t,e){var n={seen:[],stylize:l};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(e)?n.showHidden=e:e&&r._extend(n,e),_(n.showHidden)&&(n.showHidden=!1),_(n.depth)&&(n.depth=2),_(n.colors)&&(n.colors=!1),_(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=u),c(n,t,n.depth)}function u(t,e){var r=s.styles[e];return r?"["+s.colors[r][0]+"m"+t+"["+s.colors[r][1]+"m":t}function l(t,e){return t}function c(t,e,n){if(t.customInspect&&e&&k(e.inspect)&&e.inspect!==r.inspect&&(!e.constructor||e.constructor.prototype!==e)){var i=e.inspect(n,t);return v(i)||(i=c(t,i,n)),i}var o=function(t,e){if(_(e))return t.stylize("undefined","undefined");if(v(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(g(e))return t.stylize(""+e,"number");if(d(e))return t.stylize(""+e,"boolean");if(m(e))return t.stylize("null","null")}(t,e);if(o)return o;var a=Object.keys(e),s=function(t){var e={};return t.forEach(function(t,r){e[t]=!0}),e}(a);if(t.showHidden&&(a=Object.getOwnPropertyNames(e)),w(e)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return h(e);if(0===a.length){if(k(e)){var u=e.name?": "+e.name:"";return t.stylize("[Function"+u+"]","special")}if(y(e))return t.stylize(RegExp.prototype.toString.call(e),"regexp");if(x(e))return t.stylize(Date.prototype.toString.call(e),"date");if(w(e))return h(e)}var l,b="",E=!1,T=["{","}"];(f(e)&&(E=!0,T=["[","]"]),k(e))&&(b=" [Function"+(e.name?": "+e.name:"")+"]");return y(e)&&(b=" "+RegExp.prototype.toString.call(e)),x(e)&&(b=" "+Date.prototype.toUTCString.call(e)),w(e)&&(b=" "+h(e)),0!==a.length||E&&0!=e.length?n<0?y(e)?t.stylize(RegExp.prototype.toString.call(e),"regexp"):t.stylize("[Object]","special"):(t.seen.push(e),l=E?function(t,e,r,n,i){for(var o=[],a=0,s=e.length;a<s;++a)A(e,String(a))?o.push(p(t,e,r,n,String(a),!0)):o.push("");return i.forEach(function(i){i.match(/^\d+$/)||o.push(p(t,e,r,n,i,!0))}),o}(t,e,n,s,a):a.map(function(r){return p(t,e,n,s,r,E)}),t.seen.pop(),function(t,e,r){if(t.reduce(function(t,e){return 0,e.indexOf("\n")>=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(l,b,T)):T[0]+b+T[1]}function h(t){return"["+Error.prototype.toString.call(t)+"]"}function p(t,e,r,n,i,o){var a,s,u;if((u=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=u.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):u.set&&(s=t.stylize("[Setter]","special")),A(n,i)||(a="["+i+"]"),s||(t.seen.indexOf(u.value)<0?(s=m(r)?c(t,u.value,null):c(t,u.value,r-1)).indexOf("\n")>-1&&(s=o?s.split("\n").map(function(t){return" "+t}).join("\n").substr(2):"\n"+s.split("\n").map(function(t){return" "+t}).join("\n")):s=t.stylize("[Circular]","special")),_(a)){if(o&&i.match(/^\d+$/))return s;(a=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=t.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=t.stylize(a,"string"))}return a+": "+s}function f(t){return Array.isArray(t)}function d(t){return"boolean"==typeof t}function m(t){return null===t}function g(t){return"number"==typeof t}function v(t){return"string"==typeof t}function _(t){return void 0===t}function y(t){return b(t)&&"[object RegExp]"===E(t)}function b(t){return"object"==typeof t&&null!==t}function x(t){return b(t)&&"[object Date]"===E(t)}function w(t){return b(t)&&("[object Error]"===E(t)||t instanceof Error)}function k(t){return"function"==typeof t}function E(t){return Object.prototype.toString.call(t)}function T(t){return t<10?"0"+t.toString(10):t.toString(10)}r.debuglog=function(t){if(_(o)&&(o=e.env.NODE_DEBUG||""),t=t.toUpperCase(),!a[t])if(new RegExp("\\b"+t+"\\b","i").test(o)){var n=e.pid;a[t]=function(){var e=r.format.apply(r,arguments);console.error("%s %d: %s",t,n,e)}}else a[t]=function(){};return a[t]},r.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},r.isArray=f,r.isBoolean=d,r.isNull=m,r.isNullOrUndefined=function(t){return null==t},r.isNumber=g,r.isString=v,r.isSymbol=function(t){return"symbol"==typeof t},r.isUndefined=_,r.isRegExp=y,r.isObject=b,r.isDate=x,r.isError=w,r.isFunction=k,r.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},r.isBuffer=t("./support/isBuffer");var S=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function A(t,e){return Object.prototype.hasOwnProperty.call(t,e)}r.log=function(){var t,e;console.log("%s - %s",(t=new Date,e=[T(t.getHours()),T(t.getMinutes()),T(t.getSeconds())].join(":"),[t.getDate(),S[t.getMonth()],e].join(" ")),r.format.apply(r,arguments))},r.inherits=t("inherits"),r._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":66,_process:136,inherits:65}],68:[function(t,e,r){(function(e,n){"use strict";var i=t("assert"),o=t("pako/lib/zlib/zstream"),a=t("pako/lib/zlib/deflate.js"),s=t("pako/lib/zlib/inflate.js"),u=t("pako/lib/zlib/constants");for(var l in u)r[l]=u[l];r.NONE=0,r.DEFLATE=1,r.INFLATE=2,r.GZIP=3,r.GUNZIP=4,r.DEFLATERAW=5,r.INFLATERAW=6,r.UNZIP=7;function c(t){if("number"!=typeof t||t<r.DEFLATE||t>r.UNZIP)throw new TypeError("Bad argument");this.dictionary=null,this.err=0,this.flush=0,this.init_done=!1,this.level=0,this.memLevel=0,this.mode=t,this.strategy=0,this.windowBits=0,this.write_in_progress=!1,this.pending_close=!1,this.gzip_id_bytes_read=0}c.prototype.close=function(){this.write_in_progress?this.pending_close=!0:(this.pending_close=!1,i(this.init_done,"close before init"),i(this.mode<=r.UNZIP),this.mode===r.DEFLATE||this.mode===r.GZIP||this.mode===r.DEFLATERAW?a.deflateEnd(this.strm):this.mode!==r.INFLATE&&this.mode!==r.GUNZIP&&this.mode!==r.INFLATERAW&&this.mode!==r.UNZIP||s.inflateEnd(this.strm),this.mode=r.NONE,this.dictionary=null)},c.prototype.write=function(t,e,r,n,i,o,a){return this._write(!0,t,e,r,n,i,o,a)},c.prototype.writeSync=function(t,e,r,n,i,o,a){return this._write(!1,t,e,r,n,i,o,a)},c.prototype._write=function(t,o,a,s,u,l,c,h){if(i.equal(arguments.length,8),i(this.init_done,"write before init"),i(this.mode!==r.NONE,"already finalized"),i.equal(!1,this.write_in_progress,"write already in progress"),i.equal(!1,this.pending_close,"close is pending"),this.write_in_progress=!0,i.equal(!1,void 0===o,"must provide flush value"),this.write_in_progress=!0,o!==r.Z_NO_FLUSH&&o!==r.Z_PARTIAL_FLUSH&&o!==r.Z_SYNC_FLUSH&&o!==r.Z_FULL_FLUSH&&o!==r.Z_FINISH&&o!==r.Z_BLOCK)throw new Error("Invalid flush value");if(null==a&&(a=n.alloc(0),u=0,s=0),this.strm.avail_in=u,this.strm.input=a,this.strm.next_in=s,this.strm.avail_out=h,this.strm.output=l,this.strm.next_out=c,this.flush=o,!t)return this._process(),this._checkError()?this._afterSync():void 0;var p=this;return e.nextTick(function(){p._process(),p._after()}),this},c.prototype._afterSync=function(){var t=this.strm.avail_out,e=this.strm.avail_in;return this.write_in_progress=!1,[e,t]},c.prototype._process=function(){var t=null;switch(this.mode){case r.DEFLATE:case r.GZIP:case r.DEFLATERAW:this.err=a.deflate(this.strm,this.flush);break;case r.UNZIP:switch(this.strm.avail_in>0&&(t=this.strm.next_in),this.gzip_id_bytes_read){case 0:if(null===t)break;if(31!==this.strm.input[t]){this.mode=r.INFLATE;break}if(this.gzip_id_bytes_read=1,t++,1===this.strm.avail_in)break;case 1:if(null===t)break;139===this.strm.input[t]?(this.gzip_id_bytes_read=2,this.mode=r.GUNZIP):this.mode=r.INFLATE;break;default:throw new Error("invalid number of gzip magic number bytes read")}case r.INFLATE:case r.GUNZIP:case r.INFLATERAW:for(this.err=s.inflate(this.strm,this.flush),this.err===r.Z_NEED_DICT&&this.dictionary&&(this.err=s.inflateSetDictionary(this.strm,this.dictionary),this.err===r.Z_OK?this.err=s.inflate(this.strm,this.flush):this.err===r.Z_DATA_ERROR&&(this.err=r.Z_NEED_DICT));this.strm.avail_in>0&&this.mode===r.GUNZIP&&this.err===r.Z_STREAM_END&&0!==this.strm.next_in[0];)this.reset(),this.err=s.inflate(this.strm,this.flush);break;default:throw new Error("Unknown mode "+this.mode)}},c.prototype._checkError=function(){switch(this.err){case r.Z_OK:case r.Z_BUF_ERROR:if(0!==this.strm.avail_out&&this.flush===r.Z_FINISH)return this._error("unexpected end of file"),!1;break;case r.Z_STREAM_END:break;case r.Z_NEED_DICT:return null==this.dictionary?this._error("Missing dictionary"):this._error("Bad dictionary"),!1;default:return this._error("Zlib error"),!1}return!0},c.prototype._after=function(){if(this._checkError()){var t=this.strm.avail_out,e=this.strm.avail_in;this.write_in_progress=!1,this.callback(e,t),this.pending_close&&this.close()}},c.prototype._error=function(t){this.strm.msg&&(t=this.strm.msg),this.onerror(t,this.err),this.write_in_progress=!1,this.pending_close&&this.close()},c.prototype.init=function(t,e,n,o,a){i(4===arguments.length||5===arguments.length,"init(windowBits, level, memLevel, strategy, [dictionary])"),i(t>=8&&t<=15,"invalid windowBits"),i(e>=-1&&e<=9,"invalid compression level"),i(n>=1&&n<=9,"invalid memlevel"),i(o===r.Z_FILTERED||o===r.Z_HUFFMAN_ONLY||o===r.Z_RLE||o===r.Z_FIXED||o===r.Z_DEFAULT_STRATEGY,"invalid strategy"),this._init(e,t,n,o,a),this._setDictionary()},c.prototype.params=function(){throw new Error("deflateParams Not supported")},c.prototype.reset=function(){this._reset(),this._setDictionary()},c.prototype._init=function(t,e,n,i,u){switch(this.level=t,this.windowBits=e,this.memLevel=n,this.strategy=i,this.flush=r.Z_NO_FLUSH,this.err=r.Z_OK,this.mode!==r.GZIP&&this.mode!==r.GUNZIP||(this.windowBits+=16),this.mode===r.UNZIP&&(this.windowBits+=32),this.mode!==r.DEFLATERAW&&this.mode!==r.INFLATERAW||(this.windowBits=-1*this.windowBits),this.strm=new o,this.mode){case r.DEFLATE:case r.GZIP:case r.DEFLATERAW:this.err=a.deflateInit2(this.strm,this.level,r.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case r.INFLATE:case r.GUNZIP:case r.INFLATERAW:case r.UNZIP:this.err=s.inflateInit2(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}this.err!==r.Z_OK&&this._error("Init error"),this.dictionary=u,this.write_in_progress=!1,this.init_done=!0},c.prototype._setDictionary=function(){if(null!=this.dictionary){switch(this.err=r.Z_OK,this.mode){case r.DEFLATE:case r.DEFLATERAW:this.err=a.deflateSetDictionary(this.strm,this.dictionary)}this.err!==r.Z_OK&&this._error("Failed to set dictionary")}},c.prototype._reset=function(){switch(this.err=r.Z_OK,this.mode){case r.DEFLATE:case r.DEFLATERAW:case r.GZIP:this.err=a.deflateReset(this.strm);break;case r.INFLATE:case r.INFLATERAW:case r.GUNZIP:this.err=s.inflateReset(this.strm)}this.err!==r.Z_OK&&this._error("Failed to reset stream")},r.Zlib=c}).call(this,t("_process"),t("buffer").Buffer)},{_process:136,assert:64,buffer:71,"pako/lib/zlib/constants":75,"pako/lib/zlib/deflate.js":77,"pako/lib/zlib/inflate.js":79,"pako/lib/zlib/zstream":83}],69:[function(t,e,r){(function(e){"use strict";var n=t("buffer").Buffer,i=t("stream").Transform,o=t("./binding"),a=t("util"),s=t("assert").ok,u=t("buffer").kMaxLength,l="Cannot create final Buffer. It would be larger than 0x"+u.toString(16)+" bytes";o.Z_MIN_WINDOWBITS=8,o.Z_MAX_WINDOWBITS=15,o.Z_DEFAULT_WINDOWBITS=15,o.Z_MIN_CHUNK=64,o.Z_MAX_CHUNK=1/0,o.Z_DEFAULT_CHUNK=16384,o.Z_MIN_MEMLEVEL=1,o.Z_MAX_MEMLEVEL=9,o.Z_DEFAULT_MEMLEVEL=8,o.Z_MIN_LEVEL=-1,o.Z_MAX_LEVEL=9,o.Z_DEFAULT_LEVEL=o.Z_DEFAULT_COMPRESSION;for(var c=Object.keys(o),h=0;h<c.length;h++){var p=c[h];p.match(/^Z/)&&Object.defineProperty(r,p,{enumerable:!0,value:o[p],writable:!1})}for(var f={Z_OK:o.Z_OK,Z_STREAM_END:o.Z_STREAM_END,Z_NEED_DICT:o.Z_NEED_DICT,Z_ERRNO:o.Z_ERRNO,Z_STREAM_ERROR:o.Z_STREAM_ERROR,Z_DATA_ERROR:o.Z_DATA_ERROR,Z_MEM_ERROR:o.Z_MEM_ERROR,Z_BUF_ERROR:o.Z_BUF_ERROR,Z_VERSION_ERROR:o.Z_VERSION_ERROR},d=Object.keys(f),m=0;m<d.length;m++){var g=d[m];f[f[g]]=g}function v(t,e,r){var i=[],o=0;function a(){for(var e;null!==(e=t.read());)i.push(e),o+=e.length;t.once("readable",a)}function s(){var e,a=null;o>=u?a=new RangeError(l):e=n.concat(i,o),i=[],t.close(),r(a,e)}t.on("error",function(e){t.removeListener("end",s),t.removeListener("readable",a),r(e)}),t.on("end",s),t.end(e),a()}function _(t,e){if("string"==typeof e&&(e=n.from(e)),!n.isBuffer(e))throw new TypeError("Not a string or buffer");var r=t._finishFlushFlag;return t._processChunk(e,r)}function y(t){if(!(this instanceof y))return new y(t);A.call(this,t,o.DEFLATE)}function b(t){if(!(this instanceof b))return new b(t);A.call(this,t,o.INFLATE)}function x(t){if(!(this instanceof x))return new x(t);A.call(this,t,o.GZIP)}function w(t){if(!(this instanceof w))return new w(t);A.call(this,t,o.GUNZIP)}function k(t){if(!(this instanceof k))return new k(t);A.call(this,t,o.DEFLATERAW)}function E(t){if(!(this instanceof E))return new E(t);A.call(this,t,o.INFLATERAW)}function T(t){if(!(this instanceof T))return new T(t);A.call(this,t,o.UNZIP)}function S(t){return t===o.Z_NO_FLUSH||t===o.Z_PARTIAL_FLUSH||t===o.Z_SYNC_FLUSH||t===o.Z_FULL_FLUSH||t===o.Z_FINISH||t===o.Z_BLOCK}function A(t,e){var a=this;if(this._opts=t=t||{},this._chunkSize=t.chunkSize||r.Z_DEFAULT_CHUNK,i.call(this,t),t.flush&&!S(t.flush))throw new Error("Invalid flush flag: "+t.flush);if(t.finishFlush&&!S(t.finishFlush))throw new Error("Invalid flush flag: "+t.finishFlush);if(this._flushFlag=t.flush||o.Z_NO_FLUSH,this._finishFlushFlag=void 0!==t.finishFlush?t.finishFlush:o.Z_FINISH,t.chunkSize&&(t.chunkSize<r.Z_MIN_CHUNK||t.chunkSize>r.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+t.chunkSize);if(t.windowBits&&(t.windowBits<r.Z_MIN_WINDOWBITS||t.windowBits>r.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+t.windowBits);if(t.level&&(t.level<r.Z_MIN_LEVEL||t.level>r.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+t.level);if(t.memLevel&&(t.memLevel<r.Z_MIN_MEMLEVEL||t.memLevel>r.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+t.memLevel);if(t.strategy&&t.strategy!=r.Z_FILTERED&&t.strategy!=r.Z_HUFFMAN_ONLY&&t.strategy!=r.Z_RLE&&t.strategy!=r.Z_FIXED&&t.strategy!=r.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+t.strategy);if(t.dictionary&&!n.isBuffer(t.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._handle=new o.Zlib(e);var s=this;this._hadError=!1,this._handle.onerror=function(t,e){C(s),s._hadError=!0;var n=new Error(t);n.errno=e,n.code=r.codes[e],s.emit("error",n)};var u=r.Z_DEFAULT_COMPRESSION;"number"==typeof t.level&&(u=t.level);var l=r.Z_DEFAULT_STRATEGY;"number"==typeof t.strategy&&(l=t.strategy),this._handle.init(t.windowBits||r.Z_DEFAULT_WINDOWBITS,u,t.memLevel||r.Z_DEFAULT_MEMLEVEL,l,t.dictionary),this._buffer=n.allocUnsafe(this._chunkSize),this._offset=0,this._level=u,this._strategy=l,this.once("end",this.close),Object.defineProperty(this,"_closed",{get:function(){return!a._handle},configurable:!0,enumerable:!0})}function C(t,r){r&&e.nextTick(r),t._handle&&(t._handle.close(),t._handle=null)}function R(t){t.emit("close")}Object.defineProperty(r,"codes",{enumerable:!0,value:Object.freeze(f),writable:!1}),r.Deflate=y,r.Inflate=b,r.Gzip=x,r.Gunzip=w,r.DeflateRaw=k,r.InflateRaw=E,r.Unzip=T,r.createDeflate=function(t){return new y(t)},r.createInflate=function(t){return new b(t)},r.createDeflateRaw=function(t){return new k(t)},r.createInflateRaw=function(t){return new E(t)},r.createGzip=function(t){return new x(t)},r.createGunzip=function(t){return new w(t)},r.createUnzip=function(t){return new T(t)},r.deflate=function(t,e,r){return"function"==typeof e&&(r=e,e={}),v(new y(e),t,r)},r.deflateSync=function(t,e){return _(new y(e),t)},r.gzip=function(t,e,r){return"function"==typeof e&&(r=e,e={}),v(new x(e),t,r)},r.gzipSync=function(t,e){return _(new x(e),t)},r.deflateRaw=function(t,e,r){return"function"==typeof e&&(r=e,e={}),v(new k(e),t,r)},r.deflateRawSync=function(t,e){return _(new k(e),t)},r.unzip=function(t,e,r){return"function"==typeof e&&(r=e,e={}),v(new T(e),t,r)},r.unzipSync=function(t,e){return _(new T(e),t)},r.inflate=function(t,e,r){return"function"==typeof e&&(r=e,e={}),v(new b(e),t,r)},r.inflateSync=function(t,e){return _(new b(e),t)},r.gunzip=function(t,e,r){return"function"==typeof e&&(r=e,e={}),v(new w(e),t,r)},r.gunzipSync=function(t,e){return _(new w(e),t)},r.inflateRaw=function(t,e,r){return"function"==typeof e&&(r=e,e={}),v(new E(e),t,r)},r.inflateRawSync=function(t,e){return _(new E(e),t)},a.inherits(A,i),A.prototype.params=function(t,n,i){if(t<r.Z_MIN_LEVEL||t>r.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+t);if(n!=r.Z_FILTERED&&n!=r.Z_HUFFMAN_ONLY&&n!=r.Z_RLE&&n!=r.Z_FIXED&&n!=r.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+n);if(this._level!==t||this._strategy!==n){var a=this;this.flush(o.Z_SYNC_FLUSH,function(){s(a._handle,"zlib binding closed"),a._handle.params(t,n),a._hadError||(a._level=t,a._strategy=n,i&&i())})}else e.nextTick(i)},A.prototype.reset=function(){return s(this._handle,"zlib binding closed"),this._handle.reset()},A.prototype._flush=function(t){this._transform(n.alloc(0),"",t)},A.prototype.flush=function(t,r){var i=this,a=this._writableState;("function"==typeof t||void 0===t&&!r)&&(r=t,t=o.Z_FULL_FLUSH),a.ended?r&&e.nextTick(r):a.ending?r&&this.once("end",r):a.needDrain?r&&this.once("drain",function(){return i.flush(t,r)}):(this._flushFlag=t,this.write(n.alloc(0),"",r))},A.prototype.close=function(t){C(this,t),e.nextTick(R,this)},A.prototype._transform=function(t,e,r){var i,a=this._writableState,s=(a.ending||a.ended)&&(!t||a.length===t.length);return null===t||n.isBuffer(t)?this._handle?(s?i=this._finishFlushFlag:(i=this._flushFlag,t.length>=a.length&&(this._flushFlag=this._opts.flush||o.Z_NO_FLUSH)),void this._processChunk(t,i,r)):r(new Error("zlib binding closed")):r(new Error("invalid input"))},A.prototype._processChunk=function(t,e,r){var i=t&&t.length,o=this._chunkSize-this._offset,a=0,c=this,h="function"==typeof r;if(!h){var p,f=[],d=0;this.on("error",function(t){p=t}),s(this._handle,"zlib binding closed");do{var m=this._handle.writeSync(e,t,a,i,this._buffer,this._offset,o)}while(!this._hadError&&_(m[0],m[1]));if(this._hadError)throw p;if(d>=u)throw C(this),new RangeError(l);var g=n.concat(f,d);return C(this),g}s(this._handle,"zlib binding closed");var v=this._handle.write(e,t,a,i,this._buffer,this._offset,o);function _(u,l){if(this&&(this.buffer=null,this.callback=null),!c._hadError){var p=o-l;if(s(p>=0,"have should not go down"),p>0){var m=c._buffer.slice(c._offset,c._offset+p);c._offset+=p,h?c.push(m):(f.push(m),d+=m.length)}if((0===l||c._offset>=c._chunkSize)&&(o=c._chunkSize,c._offset=0,c._buffer=n.allocUnsafe(c._chunkSize)),0===l){if(a+=i-u,i=u,!h)return!0;var g=c._handle.write(e,t,a,i,c._buffer,c._offset,c._chunkSize);return g.callback=_,void(g.buffer=t)}if(!h)return!1;r()}}v.buffer=t,v.callback=_},a.inherits(y,A),a.inherits(b,A),a.inherits(x,A),a.inherits(w,A),a.inherits(k,A),a.inherits(E,A),a.inherits(T,A)}).call(this,t("_process"))},{"./binding":68,_process:136,assert:64,buffer:71,stream:187,util:196}],70:[function(t,e,r){arguments[4][4][0].apply(r,arguments)},{dup:4}],71:[function(t,e,r){"use strict";var n=t("base64-js"),i=t("ieee754");r.Buffer=s,r.SlowBuffer=function(t){+t!=t&&(t=0);return s.alloc(+t)},r.INSPECT_MAX_BYTES=50;var o=2147483647;function a(t){if(t>o)throw new RangeError("Invalid typed array length");var e=new Uint8Array(t);return e.__proto__=s.prototype,e}function s(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return c(t)}return u(t,e,r)}function u(t,e,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return U(t)?function(t,e,r){if(e<0||t.byteLength<e)throw new RangeError("'offset' is out of bounds");if(t.byteLength<e+(r||0))throw new RangeError("'length' is out of bounds");var n;n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r);return n.__proto__=s.prototype,n}(t,e,r):"string"==typeof t?function(t,e){"string"==typeof e&&""!==e||(e="utf8");if(!s.isEncoding(e))throw new TypeError('"encoding" must be a valid string encoding');var r=0|f(t,e),n=a(r),i=n.write(t,e);i!==r&&(n=n.slice(0,i));return n}(t,e):function(t){if(s.isBuffer(t)){var e=0|p(t.length),r=a(e);return 0===r.length?r:(t.copy(r,0,0,e),r)}if(t){if(z(t)||"length"in t)return"number"!=typeof t.length||G(t.length)?a(0):h(t);if("Buffer"===t.type&&Array.isArray(t.data))return h(t.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(t)}function l(t){if("number"!=typeof t)throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative')}function c(t){return l(t),a(t<0?0:0|p(t))}function h(t){for(var e=t.length<0?0:0|p(t.length),r=a(e),n=0;n<e;n+=1)r[n]=255&t[n];return r}function p(t){if(t>=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|t}function f(t,e){if(s.isBuffer(t))return t.length;if(z(t)||U(t))return t.byteLength;"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return O(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return N(t).length;default:if(n)return O(t).length;e=(""+e).toLowerCase(),n=!0}}function d(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function m(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),G(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=s.from(e,n)),s.isBuffer(e))return 0===e.length?-1:g(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):g(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function g(t,e,r,n,i){var o,a=1,s=t.length,u=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;a=2,s/=2,u/=2,r/=2}function l(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(i){var c=-1;for(o=r;o<s;o++)if(l(t,o)===l(e,-1===c?0:o-c)){if(-1===c&&(c=o),o-c+1===u)return c*a}else-1!==c&&(o-=o-c),c=-1}else for(r+u>s&&(r=s-u),o=r;o>=0;o--){for(var h=!0,p=0;p<u;p++)if(l(t,o+p)!==l(e,p)){h=!1;break}if(h)return o}return-1}function v(t,e,r,n){r=Number(r)||0;var i=t.length-r;n?(n=Number(n))>i&&(n=i):n=i;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var a=0;a<n;++a){var s=parseInt(e.substr(2*a,2),16);if(G(s))return a;t[r+a]=s}return a}function _(t,e,r,n){return j(O(e,t.length-r),t,r,n)}function y(t,e,r,n){return j(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,n)}function b(t,e,r,n){return y(t,e,r,n)}function x(t,e,r,n){return j(N(e),t,r,n)}function w(t,e,r,n){return j(function(t,e){for(var r,n,i,o=[],a=0;a<t.length&&!((e-=2)<0);++a)r=t.charCodeAt(a),n=r>>8,i=r%256,o.push(i),o.push(n);return o}(e,t.length-r),t,r,n)}function k(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function E(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i<r;){var o,a,s,u,l=t[i],c=null,h=l>239?4:l>223?3:l>191?2:1;if(i+h<=r)switch(h){case 1:l<128&&(c=l);break;case 2:128==(192&(o=t[i+1]))&&(u=(31&l)<<6|63&o)>127&&(c=u);break;case 3:o=t[i+1],a=t[i+2],128==(192&o)&&128==(192&a)&&(u=(15&l)<<12|(63&o)<<6|63&a)>2047&&(u<55296||u>57343)&&(c=u);break;case 4:o=t[i+1],a=t[i+2],s=t[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(u=(15&l)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(c=u)}null===c?(c=65533,h=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),i+=h}return function(t){var e=t.length;if(e<=T)return String.fromCharCode.apply(String,t);var r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=T));return r}(n)}r.kMaxLength=o,s.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()}catch(t){return!1}}(),s.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),"undefined"!=typeof Symbol&&Symbol.species&&s[Symbol.species]===s&&Object.defineProperty(s,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),s.poolSize=8192,s.from=function(t,e,r){return u(t,e,r)},s.prototype.__proto__=Uint8Array.prototype,s.__proto__=Uint8Array,s.alloc=function(t,e,r){return function(t,e,r){return l(t),t<=0?a(t):void 0!==e?"string"==typeof r?a(t).fill(e,r):a(t).fill(e):a(t)}(t,e,r)},s.allocUnsafe=function(t){return c(t)},s.allocUnsafeSlow=function(t){return c(t)},s.isBuffer=function(t){return null!=t&&!0===t._isBuffer},s.compare=function(t,e){if(!s.isBuffer(t)||!s.isBuffer(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var r=t.length,n=e.length,i=0,o=Math.min(r,n);i<o;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0},s.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},s.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return s.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var n=s.allocUnsafe(e),i=0;for(r=0;r<t.length;++r){var o=t[r];if(!s.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(n,i),i+=o.length}return n},s.byteLength=f,s.prototype._isBuffer=!0,s.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)d(this,e,e+1);return this},s.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)d(this,e,e+3),d(this,e+1,e+2);return this},s.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)d(this,e,e+7),d(this,e+1,e+6),d(this,e+2,e+5),d(this,e+3,e+4);return this},s.prototype.toString=function(){var t=this.length;return 0===t?"":0===arguments.length?E(this,0,t):function(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return C(this,e,r);case"utf8":case"utf-8":return E(this,e,r);case"ascii":return S(this,e,r);case"latin1":case"binary":return A(this,e,r);case"base64":return k(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}.apply(this,arguments)},s.prototype.equals=function(t){if(!s.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===s.compare(this,t)},s.prototype.inspect=function(){var t="",e=r.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString("hex",0,e).match(/.{2}/g).join(" "),this.length>e&&(t+=" ... ")),"<Buffer "+t+">"},s.prototype.compare=function(t,e,r,n,i){if(!s.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(e>>>=0,r>>>=0,n>>>=0,i>>>=0,this===t)return 0;for(var o=i-n,a=r-e,u=Math.min(o,a),l=this.slice(n,i),c=t.slice(e,r),h=0;h<u;++h)if(l[h]!==c[h]){o=l[h],a=c[h];break}return o<a?-1:a<o?1:0},s.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},s.prototype.indexOf=function(t,e,r){return m(this,t,e,r,!0)},s.prototype.lastIndexOf=function(t,e,r){return m(this,t,e,r,!1)},s.prototype.write=function(t,e,r,n){if(void 0===e)n="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return v(this,t,e,r);case"utf8":case"utf-8":return _(this,t,e,r);case"ascii":return y(this,t,e,r);case"latin1":case"binary":return b(this,t,e,r);case"base64":return x(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return w(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var T=4096;function S(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(127&t[i]);return n}function A(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function C(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var i="",o=e;o<r;++o)i+=L(t[o]);return i}function R(t,e,r){for(var n=t.slice(e,r),i="",o=0;o<n.length;o+=2)i+=String.fromCharCode(n[o]+256*n[o+1]);return i}function B(t,e,r){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function P(t,e,r,n,i,o){if(!s.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<o)throw new RangeError('"value" argument is out of bounds');if(r+n>t.length)throw new RangeError("Index out of range")}function I(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function M(t,e,r,n,o){return e=+e,r>>>=0,o||I(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function D(t,e,r,n,o){return e=+e,r>>>=0,o||I(t,0,r,8),i.write(t,e,r,n,52,8),r+8}s.prototype.slice=function(t,e){var r=this.length;t=~~t,e=void 0===e?r:~~e,t<0?(t+=r)<0&&(t=0):t>r&&(t=r),e<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t);var n=this.subarray(t,e);return n.__proto__=s.prototype,n},s.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t],i=1,o=0;++o<e&&(i*=256);)n+=this[t+o]*i;return n},s.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},s.prototype.readUInt8=function(t,e){return t>>>=0,e||B(t,1,this.length),this[t]},s.prototype.readUInt16LE=function(t,e){return t>>>=0,e||B(t,2,this.length),this[t]|this[t+1]<<8},s.prototype.readUInt16BE=function(t,e){return t>>>=0,e||B(t,2,this.length),this[t]<<8|this[t+1]},s.prototype.readUInt32LE=function(t,e){return t>>>=0,e||B(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},s.prototype.readUInt32BE=function(t,e){return t>>>=0,e||B(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},s.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t],i=1,o=0;++o<e&&(i*=256);)n+=this[t+o]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*e)),n},s.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||B(t,e,this.length);for(var n=e,i=1,o=this[t+--n];n>0&&(i*=256);)o+=this[t+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},s.prototype.readInt8=function(t,e){return t>>>=0,e||B(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},s.prototype.readInt16LE=function(t,e){t>>>=0,e||B(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt16BE=function(t,e){t>>>=0,e||B(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt32LE=function(t,e){return t>>>=0,e||B(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},s.prototype.readInt32BE=function(t,e){return t>>>=0,e||B(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},s.prototype.readFloatLE=function(t,e){return t>>>=0,e||B(t,4,this.length),i.read(this,t,!0,23,4)},s.prototype.readFloatBE=function(t,e){return t>>>=0,e||B(t,4,this.length),i.read(this,t,!1,23,4)},s.prototype.readDoubleLE=function(t,e){return t>>>=0,e||B(t,8,this.length),i.read(this,t,!0,52,8)},s.prototype.readDoubleBE=function(t,e){return t>>>=0,e||B(t,8,this.length),i.read(this,t,!1,52,8)},s.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||P(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[e]=255&t;++o<r&&(i*=256);)this[e+o]=t/i&255;return e+r},s.prototype.writeUIntBE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||P(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+r},s.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,1,255,0),this[e]=255&t,e+1},s.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},s.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},s.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},s.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},s.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);P(this,t,e,r,i-1,-i)}var o=0,a=1,s=0;for(this[e]=255&t;++o<r&&(a*=256);)t<0&&0===s&&0!==this[e+o-1]&&(s=1),this[e+o]=(t/a>>0)-s&255;return e+r},s.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);P(this,t,e,r,i-1,-i)}var o=r-1,a=1,s=0;for(this[e+o]=255&t;--o>=0&&(a*=256);)t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/a>>0)-s&255;return e+r},s.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},s.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},s.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},s.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},s.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},s.prototype.writeFloatLE=function(t,e,r){return M(this,t,e,!0,r)},s.prototype.writeFloatBE=function(t,e,r){return M(this,t,e,!1,r)},s.prototype.writeDoubleLE=function(t,e,r){return D(this,t,e,!0,r)},s.prototype.writeDoubleBE=function(t,e,r){return D(this,t,e,!1,r)},s.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);var i,o=n-r;if(this===t&&r<e&&e<n)for(i=o-1;i>=0;--i)t[i+e]=this[i+r];else if(o<1e3)for(i=0;i<o;++i)t[i+e]=this[i+r];else Uint8Array.prototype.set.call(t,this.subarray(r,r+o),e);return o},s.prototype.fill=function(t,e,r,n){if("string"==typeof t){if("string"==typeof e?(n=e,e=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),1===t.length){var i=t.charCodeAt(0);i<256&&(t=i)}if(void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!s.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else"number"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<r)throw new RangeError("Out of range index");if(r<=e)return this;var o;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o<r;++o)this[o]=t;else{var a=s.isBuffer(t)?t:new s(t,n),u=a.length;for(o=0;o<r-e;++o)this[o+e]=a[o%u]}return this};var F=/[^+/0-9A-Za-z-_]/g;function L(t){return t<16?"0"+t.toString(16):t.toString(16)}function O(t,e){var r;e=e||1/0;for(var n=t.length,i=null,o=[],a=0;a<n;++a){if((r=t.charCodeAt(a))>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function N(t){return n.toByteArray(function(t){if((t=t.trim().replace(F,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function j(t,e,r,n){for(var i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function U(t){return t instanceof ArrayBuffer||null!=t&&null!=t.constructor&&"ArrayBuffer"===t.constructor.name&&"number"==typeof t.byteLength}function z(t){return"function"==typeof ArrayBuffer.isView&&ArrayBuffer.isView(t)}function G(t){return t!=t}},{"base64-js":2,ieee754:84}],72:[function(t,e,r){var n=Object.create||function(t){var e=function(){};return e.prototype=t,new e},i=Object.keys||function(t){var e=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.push(r);return r},o=Function.prototype.bind||function(t){var e=this;return function(){return e.apply(t,arguments)}};function a(){this._events&&Object.prototype.hasOwnProperty.call(this,"_events")||(this._events=n(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}e.exports=a,a.EventEmitter=a,a.prototype._events=void 0,a.prototype._maxListeners=void 0;var s,u=10;try{var l={};Object.defineProperty&&Object.defineProperty(l,"x",{value:0}),s=0===l.x}catch(t){s=!1}function c(t){return void 0===t._maxListeners?a.defaultMaxListeners:t._maxListeners}function h(t,e,r,i){var o,a,s;if("function"!=typeof r)throw new TypeError('"listener" argument must be a function');if((a=t._events)?(a.newListener&&(t.emit("newListener",e,r.listener?r.listener:r),a=t._events),s=a[e]):(a=t._events=n(null),t._eventsCount=0),s){if("function"==typeof s?s=a[e]=i?[r,s]:[s,r]:i?s.unshift(r):s.push(r),!s.warned&&(o=c(t))&&o>0&&s.length>o){s.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+s.length+' "'+String(e)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');u.name="MaxListenersExceededWarning",u.emitter=t,u.type=e,u.count=s.length,"object"==typeof console&&console.warn&&console.warn("%s: %s",u.name,u.message)}}else s=a[e]=r,++t._eventsCount;return t}function p(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var t=new Array(arguments.length),e=0;e<t.length;++e)t[e]=arguments[e];this.listener.apply(this.target,t)}}function f(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=o.call(p,n);return i.listener=r,n.wrapFn=i,i}function d(t,e,r){var n=t._events;if(!n)return[];var i=n[e];return i?"function"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}(i):g(i,i.length):[]}function m(t){var e=this._events;if(e){var r=e[t];if("function"==typeof r)return 1;if(r)return r.length}return 0}function g(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}s?Object.defineProperty(a,"defaultMaxListeners",{enumerable:!0,get:function(){return u},set:function(t){if("number"!=typeof t||t<0||t!=t)throw new TypeError('"defaultMaxListeners" must be a positive number');u=t}}):a.defaultMaxListeners=u,a.prototype.setMaxListeners=function(t){if("number"!=typeof t||t<0||isNaN(t))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=t,this},a.prototype.getMaxListeners=function(){return c(this)},a.prototype.emit=function(t){var e,r,n,i,o,a,s="error"===t;if(a=this._events)s=s&&null==a.error;else if(!s)return!1;if(s){if(arguments.length>1&&(e=arguments[1]),e instanceof Error)throw e;var u=new Error('Unhandled "error" event. ('+e+")");throw u.context=e,u}if(!(r=a[t]))return!1;var l="function"==typeof r;switch(n=arguments.length){case 1:!function(t,e,r){if(e)t.call(r);else for(var n=t.length,i=g(t,n),o=0;o<n;++o)i[o].call(r)}(r,l,this);break;case 2:!function(t,e,r,n){if(e)t.call(r,n);else for(var i=t.length,o=g(t,i),a=0;a<i;++a)o[a].call(r,n)}(r,l,this,arguments[1]);break;case 3:!function(t,e,r,n,i){if(e)t.call(r,n,i);else for(var o=t.length,a=g(t,o),s=0;s<o;++s)a[s].call(r,n,i)}(r,l,this,arguments[1],arguments[2]);break;case 4:!function(t,e,r,n,i,o){if(e)t.call(r,n,i,o);else for(var a=t.length,s=g(t,a),u=0;u<a;++u)s[u].call(r,n,i,o)}(r,l,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(n-1),o=1;o<n;o++)i[o-1]=arguments[o];!function(t,e,r,n){if(e)t.apply(r,n);else for(var i=t.length,o=g(t,i),a=0;a<i;++a)o[a].apply(r,n)}(r,l,this,i)}return!0},a.prototype.addListener=function(t,e){return h(this,t,e,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(t,e){return h(this,t,e,!0)},a.prototype.once=function(t,e){if("function"!=typeof e)throw new TypeError('"listener" argument must be a function');return this.on(t,f(this,t,e)),this},a.prototype.prependOnceListener=function(t,e){if("function"!=typeof e)throw new TypeError('"listener" argument must be a function');return this.prependListener(t,f(this,t,e)),this},a.prototype.removeListener=function(t,e){var r,i,o,a,s;if("function"!=typeof e)throw new TypeError('"listener" argument must be a function');if(!(i=this._events))return this;if(!(r=i[t]))return this;if(r===e||r.listener===e)0==--this._eventsCount?this._events=n(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,r.listener||e));else if("function"!=typeof r){for(o=-1,a=r.length-1;a>=0;a--)if(r[a]===e||r[a].listener===e){s=r[a].listener,o=a;break}if(o<0)return this;0===o?r.shift():function(t,e){for(var r=e,n=r+1,i=t.length;n<i;r+=1,n+=1)t[r]=t[n];t.pop()}(r,o),1===r.length&&(i[t]=r[0]),i.removeListener&&this.emit("removeListener",t,s||e)}return this},a.prototype.removeAllListeners=function(t){var e,r,o;if(!(r=this._events))return this;if(!r.removeListener)return 0===arguments.length?(this._events=n(null),this._eventsCount=0):r[t]&&(0==--this._eventsCount?this._events=n(null):delete r[t]),this;if(0===arguments.length){var a,s=i(r);for(o=0;o<s.length;++o)"removeListener"!==(a=s[o])&&this.removeAllListeners(a);return this.removeAllListeners("removeListener"),this._events=n(null),this._eventsCount=0,this}if("function"==typeof(e=r[t]))this.removeListener(t,e);else if(e)for(o=e.length-1;o>=0;o--)this.removeListener(t,e[o]);return this},a.prototype.listeners=function(t){return d(this,t,!0)},a.prototype.rawListeners=function(t){return d(this,t,!1)},a.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):m.call(t,e)},a.prototype.listenerCount=m,a.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},{}],73:[function(t,e,r){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function i(t,e){return Object.prototype.hasOwnProperty.call(t,e)}r.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var r=e.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(var n in r)i(r,n)&&(t[n]=r[n])}}return t},r.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var o={arraySet:function(t,e,r,n,i){if(e.subarray&&t.subarray)t.set(e.subarray(r,r+n),i);else for(var o=0;o<n;o++)t[i+o]=e[r+o]},flattenChunks:function(t){var e,r,n,i,o,a;for(n=0,e=0,r=t.length;e<r;e++)n+=t[e].length;for(a=new Uint8Array(n),i=0,e=0,r=t.length;e<r;e++)o=t[e],a.set(o,i),i+=o.length;return a}},a={arraySet:function(t,e,r,n,i){for(var o=0;o<n;o++)t[i+o]=e[r+o]},flattenChunks:function(t){return[].concat.apply([],t)}};r.setTyped=function(t){t?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,o)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,a))},r.setTyped(n)},{}],74:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){for(var i=65535&t|0,o=t>>>16&65535|0,a=0;0!==r;){r-=a=r>2e3?2e3:r;do{o=o+(i=i+e[n++]|0)|0}while(--a);i%=65521,o%=65521}return i|o<<16|0}},{}],75:[function(t,e,r){"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],76:[function(t,e,r){"use strict";var n=function(){for(var t,e=[],r=0;r<256;r++){t=r;for(var n=0;n<8;n++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e}();e.exports=function(t,e,r,i){var o=n,a=i+r;t^=-1;for(var s=i;s<a;s++)t=t>>>8^o[255&(t^e[s])];return-1^t}},{}],77:[function(t,e,r){"use strict";var n,i=t("../utils/common"),o=t("./trees"),a=t("./adler32"),s=t("./crc32"),u=t("./messages"),l=0,c=1,h=3,p=4,f=5,d=0,m=1,g=-2,v=-3,_=-5,y=-1,b=1,x=2,w=3,k=4,E=0,T=2,S=8,A=9,C=15,R=8,B=286,P=30,I=19,M=2*B+1,D=15,F=3,L=258,O=L+F+1,N=32,j=42,U=69,z=73,G=91,$=103,V=113,X=666,W=1,q=2,K=3,H=4,Y=3;function Z(t,e){return t.msg=u[e],e}function J(t){return(t<<1)-(t>4?9:0)}function Q(t){for(var e=t.length;--e>=0;)t[e]=0}function tt(t){var e=t.state,r=e.pending;r>t.avail_out&&(r=t.avail_out),0!==r&&(i.arraySet(t.output,e.pending_buf,e.pending_out,r,t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,0===e.pending&&(e.pending_out=0))}function et(t,e){o._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,tt(t.strm)}function rt(t,e){t.pending_buf[t.pending++]=e}function nt(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function it(t,e){var r,n,i=t.max_chain_length,o=t.strstart,a=t.prev_length,s=t.nice_match,u=t.strstart>t.w_size-O?t.strstart-(t.w_size-O):0,l=t.window,c=t.w_mask,h=t.prev,p=t.strstart+L,f=l[o+a-1],d=l[o+a];t.prev_length>=t.good_match&&(i>>=2),s>t.lookahead&&(s=t.lookahead);do{if(l[(r=e)+a]===d&&l[r+a-1]===f&&l[r]===l[o]&&l[++r]===l[o+1]){o+=2,r++;do{}while(l[++o]===l[++r]&&l[++o]===l[++r]&&l[++o]===l[++r]&&l[++o]===l[++r]&&l[++o]===l[++r]&&l[++o]===l[++r]&&l[++o]===l[++r]&&l[++o]===l[++r]&&o<p);if(n=L-(p-o),o=p-L,n>a){if(t.match_start=e,a=n,n>=s)break;f=l[o+a-1],d=l[o+a]}}}while((e=h[e&c])>u&&0!=--i);return a<=t.lookahead?a:t.lookahead}function ot(t){var e,r,n,o,u,l,c,h,p,f,d=t.w_size;do{if(o=t.window_size-t.lookahead-t.strstart,t.strstart>=d+(d-O)){i.arraySet(t.window,t.window,d,d,0),t.match_start-=d,t.strstart-=d,t.block_start-=d,e=r=t.hash_size;do{n=t.head[--e],t.head[e]=n>=d?n-d:0}while(--r);e=r=d;do{n=t.prev[--e],t.prev[e]=n>=d?n-d:0}while(--r);o+=d}if(0===t.strm.avail_in)break;if(l=t.strm,c=t.window,h=t.strstart+t.lookahead,p=o,f=void 0,(f=l.avail_in)>p&&(f=p),r=0===f?0:(l.avail_in-=f,i.arraySet(c,l.input,l.next_in,f,h),1===l.state.wrap?l.adler=a(l.adler,c,f,h):2===l.state.wrap&&(l.adler=s(l.adler,c,f,h)),l.next_in+=f,l.total_in+=f,f),t.lookahead+=r,t.lookahead+t.insert>=F)for(u=t.strstart-t.insert,t.ins_h=t.window[u],t.ins_h=(t.ins_h<<t.hash_shift^t.window[u+1])&t.hash_mask;t.insert&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[u+F-1])&t.hash_mask,t.prev[u&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=u,u++,t.insert--,!(t.lookahead+t.insert<F)););}while(t.lookahead<O&&0!==t.strm.avail_in)}function at(t,e){for(var r,n;;){if(t.lookahead<O){if(ot(t),t.lookahead<O&&e===l)return W;if(0===t.lookahead)break}if(r=0,t.lookahead>=F&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+F-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==r&&t.strstart-r<=t.w_size-O&&(t.match_length=it(t,r)),t.match_length>=F)if(n=o._tr_tally(t,t.strstart-t.match_start,t.match_length-F),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=F){t.match_length--;do{t.strstart++,t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+F-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+1])&t.hash_mask;else n=o._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(n&&(et(t,!1),0===t.strm.avail_out))return W}return t.insert=t.strstart<F-1?t.strstart:F-1,e===p?(et(t,!0),0===t.strm.avail_out?K:H):t.last_lit&&(et(t,!1),0===t.strm.avail_out)?W:q}function st(t,e){for(var r,n,i;;){if(t.lookahead<O){if(ot(t),t.lookahead<O&&e===l)return W;if(0===t.lookahead)break}if(r=0,t.lookahead>=F&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+F-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=F-1,0!==r&&t.prev_length<t.max_lazy_match&&t.strstart-r<=t.w_size-O&&(t.match_length=it(t,r),t.match_length<=5&&(t.strategy===b||t.match_length===F&&t.strstart-t.match_start>4096)&&(t.match_length=F-1)),t.prev_length>=F&&t.match_length<=t.prev_length){i=t.strstart+t.lookahead-F,n=o._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-F),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=i&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+F-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=F-1,t.strstart++,n&&(et(t,!1),0===t.strm.avail_out))return W}else if(t.match_available){if((n=o._tr_tally(t,0,t.window[t.strstart-1]))&&et(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return W}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(n=o._tr_tally(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<F-1?t.strstart:F-1,e===p?(et(t,!0),0===t.strm.avail_out?K:H):t.last_lit&&(et(t,!1),0===t.strm.avail_out)?W:q}function ut(t,e,r,n,i){this.good_length=t,this.max_lazy=e,this.nice_length=r,this.max_chain=n,this.func=i}function lt(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=T,(e=t.state).pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?j:V,t.adler=2===e.wrap?0:1,e.last_flush=l,o._tr_init(e),d):Z(t,g)}function ct(t){var e,r=lt(t);return r===d&&((e=t.state).window_size=2*e.w_size,Q(e.head),e.max_lazy_match=n[e.level].max_lazy,e.good_match=n[e.level].good_length,e.nice_match=n[e.level].nice_length,e.max_chain_length=n[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=F-1,e.match_available=0,e.ins_h=0),r}function ht(t,e,r,n,o,a){if(!t)return g;var s=1;if(e===y&&(e=6),n<0?(s=0,n=-n):n>15&&(s=2,n-=16),o<1||o>A||r!==S||n<8||n>15||e<0||e>9||a<0||a>k)return Z(t,g);8===n&&(n=9);var u=new function(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=S,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new i.Buf16(2*M),this.dyn_dtree=new i.Buf16(2*(2*P+1)),this.bl_tree=new i.Buf16(2*(2*I+1)),Q(this.dyn_ltree),Q(this.dyn_dtree),Q(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new i.Buf16(D+1),this.heap=new i.Buf16(2*B+1),Q(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new i.Buf16(2*B+1),Q(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0};return t.state=u,u.strm=t,u.wrap=s,u.gzhead=null,u.w_bits=n,u.w_size=1<<u.w_bits,u.w_mask=u.w_size-1,u.hash_bits=o+7,u.hash_size=1<<u.hash_bits,u.hash_mask=u.hash_size-1,u.hash_shift=~~((u.hash_bits+F-1)/F),u.window=new i.Buf8(2*u.w_size),u.head=new i.Buf16(u.hash_size),u.prev=new i.Buf16(u.w_size),u.lit_bufsize=1<<o+6,u.pending_buf_size=4*u.lit_bufsize,u.pending_buf=new i.Buf8(u.pending_buf_size),u.d_buf=1*u.lit_bufsize,u.l_buf=3*u.lit_bufsize,u.level=e,u.strategy=a,u.method=r,ct(t)}n=[new ut(0,0,0,0,function(t,e){var r=65535;for(r>t.pending_buf_size-5&&(r=t.pending_buf_size-5);;){if(t.lookahead<=1){if(ot(t),0===t.lookahead&&e===l)return W;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var n=t.block_start+r;if((0===t.strstart||t.strstart>=n)&&(t.lookahead=t.strstart-n,t.strstart=n,et(t,!1),0===t.strm.avail_out))return W;if(t.strstart-t.block_start>=t.w_size-O&&(et(t,!1),0===t.strm.avail_out))return W}return t.insert=0,e===p?(et(t,!0),0===t.strm.avail_out?K:H):(t.strstart>t.block_start&&(et(t,!1),t.strm.avail_out),W)}),new ut(4,4,8,4,at),new ut(4,5,16,8,at),new ut(4,6,32,32,at),new ut(4,4,16,16,st),new ut(8,16,32,32,st),new ut(8,16,128,128,st),new ut(8,32,128,256,st),new ut(32,128,258,1024,st),new ut(32,258,258,4096,st)],r.deflateInit=function(t,e){return ht(t,e,S,C,R,E)},r.deflateInit2=ht,r.deflateReset=ct,r.deflateResetKeep=lt,r.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?g:(t.state.gzhead=e,d):g},r.deflate=function(t,e){var r,i,a,u;if(!t||!t.state||e>f||e<0)return t?Z(t,g):g;if(i=t.state,!t.output||!t.input&&0!==t.avail_in||i.status===X&&e!==p)return Z(t,0===t.avail_out?_:g);if(i.strm=t,r=i.last_flush,i.last_flush=e,i.status===j)if(2===i.wrap)t.adler=0,rt(i,31),rt(i,139),rt(i,8),i.gzhead?(rt(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),rt(i,255&i.gzhead.time),rt(i,i.gzhead.time>>8&255),rt(i,i.gzhead.time>>16&255),rt(i,i.gzhead.time>>24&255),rt(i,9===i.level?2:i.strategy>=x||i.level<2?4:0),rt(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(rt(i,255&i.gzhead.extra.length),rt(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(t.adler=s(t.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=U):(rt(i,0),rt(i,0),rt(i,0),rt(i,0),rt(i,0),rt(i,9===i.level?2:i.strategy>=x||i.level<2?4:0),rt(i,Y),i.status=V);else{var v=S+(i.w_bits-8<<4)<<8;v|=(i.strategy>=x||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(v|=N),v+=31-v%31,i.status=V,nt(i,v),0!==i.strstart&&(nt(i,t.adler>>>16),nt(i,65535&t.adler)),t.adler=1}if(i.status===U)if(i.gzhead.extra){for(a=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>a&&(t.adler=s(t.adler,i.pending_buf,i.pending-a,a)),tt(t),a=i.pending,i.pending!==i.pending_buf_size));)rt(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>a&&(t.adler=s(t.adler,i.pending_buf,i.pending-a,a)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=z)}else i.status=z;if(i.status===z)if(i.gzhead.name){a=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>a&&(t.adler=s(t.adler,i.pending_buf,i.pending-a,a)),tt(t),a=i.pending,i.pending===i.pending_buf_size)){u=1;break}u=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,rt(i,u)}while(0!==u);i.gzhead.hcrc&&i.pending>a&&(t.adler=s(t.adler,i.pending_buf,i.pending-a,a)),0===u&&(i.gzindex=0,i.status=G)}else i.status=G;if(i.status===G)if(i.gzhead.comment){a=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>a&&(t.adler=s(t.adler,i.pending_buf,i.pending-a,a)),tt(t),a=i.pending,i.pending===i.pending_buf_size)){u=1;break}u=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,rt(i,u)}while(0!==u);i.gzhead.hcrc&&i.pending>a&&(t.adler=s(t.adler,i.pending_buf,i.pending-a,a)),0===u&&(i.status=$)}else i.status=$;if(i.status===$&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&tt(t),i.pending+2<=i.pending_buf_size&&(rt(i,255&t.adler),rt(i,t.adler>>8&255),t.adler=0,i.status=V)):i.status=V),0!==i.pending){if(tt(t),0===t.avail_out)return i.last_flush=-1,d}else if(0===t.avail_in&&J(e)<=J(r)&&e!==p)return Z(t,_);if(i.status===X&&0!==t.avail_in)return Z(t,_);if(0!==t.avail_in||0!==i.lookahead||e!==l&&i.status!==X){var y=i.strategy===x?function(t,e){for(var r;;){if(0===t.lookahead&&(ot(t),0===t.lookahead)){if(e===l)return W;break}if(t.match_length=0,r=o._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(et(t,!1),0===t.strm.avail_out))return W}return t.insert=0,e===p?(et(t,!0),0===t.strm.avail_out?K:H):t.last_lit&&(et(t,!1),0===t.strm.avail_out)?W:q}(i,e):i.strategy===w?function(t,e){for(var r,n,i,a,s=t.window;;){if(t.lookahead<=L){if(ot(t),t.lookahead<=L&&e===l)return W;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=F&&t.strstart>0&&(n=s[i=t.strstart-1])===s[++i]&&n===s[++i]&&n===s[++i]){a=t.strstart+L;do{}while(n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&i<a);t.match_length=L-(a-i),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=F?(r=o._tr_tally(t,1,t.match_length-F),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=o._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(et(t,!1),0===t.strm.avail_out))return W}return t.insert=0,e===p?(et(t,!0),0===t.strm.avail_out?K:H):t.last_lit&&(et(t,!1),0===t.strm.avail_out)?W:q}(i,e):n[i.level].func(i,e);if(y!==K&&y!==H||(i.status=X),y===W||y===K)return 0===t.avail_out&&(i.last_flush=-1),d;if(y===q&&(e===c?o._tr_align(i):e!==f&&(o._tr_stored_block(i,0,0,!1),e===h&&(Q(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),tt(t),0===t.avail_out))return i.last_flush=-1,d}return e!==p?d:i.wrap<=0?m:(2===i.wrap?(rt(i,255&t.adler),rt(i,t.adler>>8&255),rt(i,t.adler>>16&255),rt(i,t.adler>>24&255),rt(i,255&t.total_in),rt(i,t.total_in>>8&255),rt(i,t.total_in>>16&255),rt(i,t.total_in>>24&255)):(nt(i,t.adler>>>16),nt(i,65535&t.adler)),tt(t),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?d:m)},r.deflateEnd=function(t){var e;return t&&t.state?(e=t.state.status)!==j&&e!==U&&e!==z&&e!==G&&e!==$&&e!==V&&e!==X?Z(t,g):(t.state=null,e===V?Z(t,v):d):g},r.deflateSetDictionary=function(t,e){var r,n,o,s,u,l,c,h,p=e.length;if(!t||!t.state)return g;if(2===(s=(r=t.state).wrap)||1===s&&r.status!==j||r.lookahead)return g;for(1===s&&(t.adler=a(t.adler,e,p,0)),r.wrap=0,p>=r.w_size&&(0===s&&(Q(r.head),r.strstart=0,r.block_start=0,r.insert=0),h=new i.Buf8(r.w_size),i.arraySet(h,e,p-r.w_size,r.w_size,0),e=h,p=r.w_size),u=t.avail_in,l=t.next_in,c=t.input,t.avail_in=p,t.next_in=0,t.input=e,ot(r);r.lookahead>=F;){n=r.strstart,o=r.lookahead-(F-1);do{r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+F-1])&r.hash_mask,r.prev[n&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=n,n++}while(--o);r.strstart=n,r.lookahead=F-1,ot(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=F-1,r.match_available=0,t.next_in=l,t.input=c,t.avail_in=u,r.wrap=s,d},r.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":73,"./adler32":74,"./crc32":76,"./messages":81,"./trees":82}],78:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n,i,o,a,s,u,l,c,h,p,f,d,m,g,v,_,y,b,x,w,k,E,T,S;r=t.state,n=t.next_in,T=t.input,i=n+(t.avail_in-5),o=t.next_out,S=t.output,a=o-(e-t.avail_out),s=o+(t.avail_out-257),u=r.dmax,l=r.wsize,c=r.whave,h=r.wnext,p=r.window,f=r.hold,d=r.bits,m=r.lencode,g=r.distcode,v=(1<<r.lenbits)-1,_=(1<<r.distbits)-1;t:do{d<15&&(f+=T[n++]<<d,d+=8,f+=T[n++]<<d,d+=8),y=m[f&v];e:for(;;){if(f>>>=b=y>>>24,d-=b,0===(b=y>>>16&255))S[o++]=65535&y;else{if(!(16&b)){if(0==(64&b)){y=m[(65535&y)+(f&(1<<b)-1)];continue e}if(32&b){r.mode=12;break t}t.msg="invalid literal/length code",r.mode=30;break t}x=65535&y,(b&=15)&&(d<b&&(f+=T[n++]<<d,d+=8),x+=f&(1<<b)-1,f>>>=b,d-=b),d<15&&(f+=T[n++]<<d,d+=8,f+=T[n++]<<d,d+=8),y=g[f&_];r:for(;;){if(f>>>=b=y>>>24,d-=b,!(16&(b=y>>>16&255))){if(0==(64&b)){y=g[(65535&y)+(f&(1<<b)-1)];continue r}t.msg="invalid distance code",r.mode=30;break t}if(w=65535&y,d<(b&=15)&&(f+=T[n++]<<d,(d+=8)<b&&(f+=T[n++]<<d,d+=8)),(w+=f&(1<<b)-1)>u){t.msg="invalid distance too far back",r.mode=30;break t}if(f>>>=b,d-=b,w>(b=o-a)){if((b=w-b)>c&&r.sane){t.msg="invalid distance too far back",r.mode=30;break t}if(k=0,E=p,0===h){if(k+=l-b,b<x){x-=b;do{S[o++]=p[k++]}while(--b);k=o-w,E=S}}else if(h<b){if(k+=l+h-b,(b-=h)<x){x-=b;do{S[o++]=p[k++]}while(--b);if(k=0,h<x){x-=b=h;do{S[o++]=p[k++]}while(--b);k=o-w,E=S}}}else if(k+=h-b,b<x){x-=b;do{S[o++]=p[k++]}while(--b);k=o-w,E=S}for(;x>2;)S[o++]=E[k++],S[o++]=E[k++],S[o++]=E[k++],x-=3;x&&(S[o++]=E[k++],x>1&&(S[o++]=E[k++]))}else{k=o-w;do{S[o++]=S[k++],S[o++]=S[k++],S[o++]=S[k++],x-=3}while(x>2);x&&(S[o++]=S[k++],x>1&&(S[o++]=S[k++]))}break}}break}}while(n<i&&o<s);n-=x=d>>3,f&=(1<<(d-=x<<3))-1,t.next_in=n,t.next_out=o,t.avail_in=n<i?i-n+5:5-(n-i),t.avail_out=o<s?s-o+257:257-(o-s),r.hold=f,r.bits=d}},{}],79:[function(t,e,r){"use strict";var n=t("../utils/common"),i=t("./adler32"),o=t("./crc32"),a=t("./inffast"),s=t("./inftrees"),u=0,l=1,c=2,h=4,p=5,f=6,d=0,m=1,g=2,v=-2,_=-3,y=-4,b=-5,x=8,w=1,k=2,E=3,T=4,S=5,A=6,C=7,R=8,B=9,P=10,I=11,M=12,D=13,F=14,L=15,O=16,N=17,j=18,U=19,z=20,G=21,$=22,V=23,X=24,W=25,q=26,K=27,H=28,Y=29,Z=30,J=31,Q=32,tt=852,et=592,rt=15;function nt(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function it(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=w,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new n.Buf32(tt),e.distcode=e.distdyn=new n.Buf32(et),e.sane=1,e.back=-1,d):v}function ot(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,it(t)):v}function at(t,e){var r,n;return t&&t.state?(n=t.state,e<0?(r=0,e=-e):(r=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?v:(null!==n.window&&n.wbits!==e&&(n.window=null),n.wrap=r,n.wbits=e,ot(t))):v}function st(t,e){var r,i;return t?(i=new function(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new n.Buf16(320),this.work=new n.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0},t.state=i,i.window=null,(r=at(t,e))!==d&&(t.state=null),r):v}var ut,lt,ct=!0;function ht(t){if(ct){var e;for(ut=new n.Buf32(512),lt=new n.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(s(l,t.lens,0,288,ut,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;s(c,t.lens,0,32,lt,0,t.work,{bits:5}),ct=!1}t.lencode=ut,t.lenbits=9,t.distcode=lt,t.distbits=5}function pt(t,e,r,i){var o,a=t.state;return null===a.window&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new n.Buf8(a.wsize)),i>=a.wsize?(n.arraySet(a.window,e,r-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):((o=a.wsize-a.wnext)>i&&(o=i),n.arraySet(a.window,e,r-i,o,a.wnext),(i-=o)?(n.arraySet(a.window,e,r-i,i,0),a.wnext=i,a.whave=a.wsize):(a.wnext+=o,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=o))),0}r.inflateReset=ot,r.inflateReset2=at,r.inflateResetKeep=it,r.inflateInit=function(t){return st(t,rt)},r.inflateInit2=st,r.inflate=function(t,e){var r,tt,et,rt,it,ot,at,st,ut,lt,ct,ft,dt,mt,gt,vt,_t,yt,bt,xt,wt,kt,Et,Tt,St=0,At=new n.Buf8(4),Ct=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return v;(r=t.state).mode===M&&(r.mode=D),it=t.next_out,et=t.output,at=t.avail_out,rt=t.next_in,tt=t.input,ot=t.avail_in,st=r.hold,ut=r.bits,lt=ot,ct=at,kt=d;t:for(;;)switch(r.mode){case w:if(0===r.wrap){r.mode=D;break}for(;ut<16;){if(0===ot)break t;ot--,st+=tt[rt++]<<ut,ut+=8}if(2&r.wrap&&35615===st){r.check=0,At[0]=255&st,At[1]=st>>>8&255,r.check=o(r.check,At,2,0),st=0,ut=0,r.mode=k;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&st)<<8)+(st>>8))%31){t.msg="incorrect header check",r.mode=Z;break}if((15&st)!==x){t.msg="unknown compression method",r.mode=Z;break}if(ut-=4,wt=8+(15&(st>>>=4)),0===r.wbits)r.wbits=wt;else if(wt>r.wbits){t.msg="invalid window size",r.mode=Z;break}r.dmax=1<<wt,t.adler=r.check=1,r.mode=512&st?P:M,st=0,ut=0;break;case k:for(;ut<16;){if(0===ot)break t;ot--,st+=tt[rt++]<<ut,ut+=8}if(r.flags=st,(255&r.flags)!==x){t.msg="unknown compression method",r.mode=Z;break}if(57344&r.flags){t.msg="unknown header flags set",r.mode=Z;break}r.head&&(r.head.text=st>>8&1),512&r.flags&&(At[0]=255&st,At[1]=st>>>8&255,r.check=o(r.check,At,2,0)),st=0,ut=0,r.mode=E;case E:for(;ut<32;){if(0===ot)break t;ot--,st+=tt[rt++]<<ut,ut+=8}r.head&&(r.head.time=st),512&r.flags&&(At[0]=255&st,At[1]=st>>>8&255,At[2]=st>>>16&255,At[3]=st>>>24&255,r.check=o(r.check,At,4,0)),st=0,ut=0,r.mode=T;case T:for(;ut<16;){if(0===ot)break t;ot--,st+=tt[rt++]<<ut,ut+=8}r.head&&(r.head.xflags=255&st,r.head.os=st>>8),512&r.flags&&(At[0]=255&st,At[1]=st>>>8&255,r.check=o(r.check,At,2,0)),st=0,ut=0,r.mode=S;case S:if(1024&r.flags){for(;ut<16;){if(0===ot)break t;ot--,st+=tt[rt++]<<ut,ut+=8}r.length=st,r.head&&(r.head.extra_len=st),512&r.flags&&(At[0]=255&st,At[1]=st>>>8&255,r.check=o(r.check,At,2,0)),st=0,ut=0}else r.head&&(r.head.extra=null);r.mode=A;case A:if(1024&r.flags&&((ft=r.length)>ot&&(ft=ot),ft&&(r.head&&(wt=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),n.arraySet(r.head.extra,tt,rt,ft,wt)),512&r.flags&&(r.check=o(r.check,tt,ft,rt)),ot-=ft,rt+=ft,r.length-=ft),r.length))break t;r.length=0,r.mode=C;case C:if(2048&r.flags){if(0===ot)break t;ft=0;do{wt=tt[rt+ft++],r.head&&wt&&r.length<65536&&(r.head.name+=String.fromCharCode(wt))}while(wt&&ft<ot);if(512&r.flags&&(r.check=o(r.check,tt,ft,rt)),ot-=ft,rt+=ft,wt)break t}else r.head&&(r.head.name=null);r.length=0,r.mode=R;case R:if(4096&r.flags){if(0===ot)break t;ft=0;do{wt=tt[rt+ft++],r.head&&wt&&r.length<65536&&(r.head.comment+=String.fromCharCode(wt))}while(wt&&ft<ot);if(512&r.flags&&(r.check=o(r.check,tt,ft,rt)),ot-=ft,rt+=ft,wt)break t}else r.head&&(r.head.comment=null);r.mode=B;case B:if(512&r.flags){for(;ut<16;){if(0===ot)break t;ot--,st+=tt[rt++]<<ut,ut+=8}if(st!==(65535&r.check)){t.msg="header crc mismatch",r.mode=Z;break}st=0,ut=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=M;break;case P:for(;ut<32;){if(0===ot)break t;ot--,st+=tt[rt++]<<ut,ut+=8}t.adler=r.check=nt(st),st=0,ut=0,r.mode=I;case I:if(0===r.havedict)return t.next_out=it,t.avail_out=at,t.next_in=rt,t.avail_in=ot,r.hold=st,r.bits=ut,g;t.adler=r.check=1,r.mode=M;case M:if(e===p||e===f)break t;case D:if(r.last){st>>>=7&ut,ut-=7&ut,r.mode=K;break}for(;ut<3;){if(0===ot)break t;ot--,st+=tt[rt++]<<ut,ut+=8}switch(r.last=1&st,ut-=1,3&(st>>>=1)){case 0:r.mode=F;break;case 1:if(ht(r),r.mode=z,e===f){st>>>=2,ut-=2;break t}break;case 2:r.mode=N;break;case 3:t.msg="invalid block type",r.mode=Z}st>>>=2,ut-=2;break;case F:for(st>>>=7&ut,ut-=7&ut;ut<32;){if(0===ot)break t;ot--,st+=tt[rt++]<<ut,ut+=8}if((65535&st)!=(st>>>16^65535)){t.msg="invalid stored block lengths",r.mode=Z;break}if(r.length=65535&st,st=0,ut=0,r.mode=L,e===f)break t;case L:r.mode=O;case O:if(ft=r.length){if(ft>ot&&(ft=ot),ft>at&&(ft=at),0===ft)break t;n.arraySet(et,tt,rt,ft,it),ot-=ft,rt+=ft,at-=ft,it+=ft,r.length-=ft;break}r.mode=M;break;case N:for(;ut<14;){if(0===ot)break t;ot--,st+=tt[rt++]<<ut,ut+=8}if(r.nlen=257+(31&st),st>>>=5,ut-=5,r.ndist=1+(31&st),st>>>=5,ut-=5,r.ncode=4+(15&st),st>>>=4,ut-=4,r.nlen>286||r.ndist>30){t.msg="too many length or distance symbols",r.mode=Z;break}r.have=0,r.mode=j;case j:for(;r.have<r.ncode;){for(;ut<3;){if(0===ot)break t;ot--,st+=tt[rt++]<<ut,ut+=8}r.lens[Ct[r.have++]]=7&st,st>>>=3,ut-=3}for(;r.have<19;)r.lens[Ct[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,Et={bits:r.lenbits},kt=s(u,r.lens,0,19,r.lencode,0,r.work,Et),r.lenbits=Et.bits,kt){t.msg="invalid code lengths set",r.mode=Z;break}r.have=0,r.mode=U;case U:for(;r.have<r.nlen+r.ndist;){for(;vt=(St=r.lencode[st&(1<<r.lenbits)-1])>>>16&255,_t=65535&St,!((gt=St>>>24)<=ut);){if(0===ot)break t;ot--,st+=tt[rt++]<<ut,ut+=8}if(_t<16)st>>>=gt,ut-=gt,r.lens[r.have++]=_t;else{if(16===_t){for(Tt=gt+2;ut<Tt;){if(0===ot)break t;ot--,st+=tt[rt++]<<ut,ut+=8}if(st>>>=gt,ut-=gt,0===r.have){t.msg="invalid bit length repeat",r.mode=Z;break}wt=r.lens[r.have-1],ft=3+(3&st),st>>>=2,ut-=2}else if(17===_t){for(Tt=gt+3;ut<Tt;){if(0===ot)break t;ot--,st+=tt[rt++]<<ut,ut+=8}ut-=gt,wt=0,ft=3+(7&(st>>>=gt)),st>>>=3,ut-=3}else{for(Tt=gt+7;ut<Tt;){if(0===ot)break t;ot--,st+=tt[rt++]<<ut,ut+=8}ut-=gt,wt=0,ft=11+(127&(st>>>=gt)),st>>>=7,ut-=7}if(r.have+ft>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=Z;break}for(;ft--;)r.lens[r.have++]=wt}}if(r.mode===Z)break;if(0===r.lens[256]){t.msg="invalid code -- missing end-of-block",r.mode=Z;break}if(r.lenbits=9,Et={bits:r.lenbits},kt=s(l,r.lens,0,r.nlen,r.lencode,0,r.work,Et),r.lenbits=Et.bits,kt){t.msg="invalid literal/lengths set",r.mode=Z;break}if(r.distbits=6,r.distcode=r.distdyn,Et={bits:r.distbits},kt=s(c,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,Et),r.distbits=Et.bits,kt){t.msg="invalid distances set",r.mode=Z;break}if(r.mode=z,e===f)break t;case z:r.mode=G;case G:if(ot>=6&&at>=258){t.next_out=it,t.avail_out=at,t.next_in=rt,t.avail_in=ot,r.hold=st,r.bits=ut,a(t,ct),it=t.next_out,et=t.output,at=t.avail_out,rt=t.next_in,tt=t.input,ot=t.avail_in,st=r.hold,ut=r.bits,r.mode===M&&(r.back=-1);break}for(r.back=0;vt=(St=r.lencode[st&(1<<r.lenbits)-1])>>>16&255,_t=65535&St,!((gt=St>>>24)<=ut);){if(0===ot)break t;ot--,st+=tt[rt++]<<ut,ut+=8}if(vt&&0==(240&vt)){for(yt=gt,bt=vt,xt=_t;vt=(St=r.lencode[xt+((st&(1<<yt+bt)-1)>>yt)])>>>16&255,_t=65535&St,!(yt+(gt=St>>>24)<=ut);){if(0===ot)break t;ot--,st+=tt[rt++]<<ut,ut+=8}st>>>=yt,ut-=yt,r.back+=yt}if(st>>>=gt,ut-=gt,r.back+=gt,r.length=_t,0===vt){r.mode=q;break}if(32&vt){r.back=-1,r.mode=M;break}if(64&vt){t.msg="invalid literal/length code",r.mode=Z;break}r.extra=15&vt,r.mode=$;case $:if(r.extra){for(Tt=r.extra;ut<Tt;){if(0===ot)break t;ot--,st+=tt[rt++]<<ut,ut+=8}r.length+=st&(1<<r.extra)-1,st>>>=r.extra,ut-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=V;case V:for(;vt=(St=r.distcode[st&(1<<r.distbits)-1])>>>16&255,_t=65535&St,!((gt=St>>>24)<=ut);){if(0===ot)break t;ot--,st+=tt[rt++]<<ut,ut+=8}if(0==(240&vt)){for(yt=gt,bt=vt,xt=_t;vt=(St=r.distcode[xt+((st&(1<<yt+bt)-1)>>yt)])>>>16&255,_t=65535&St,!(yt+(gt=St>>>24)<=ut);){if(0===ot)break t;ot--,st+=tt[rt++]<<ut,ut+=8}st>>>=yt,ut-=yt,r.back+=yt}if(st>>>=gt,ut-=gt,r.back+=gt,64&vt){t.msg="invalid distance code",r.mode=Z;break}r.offset=_t,r.extra=15&vt,r.mode=X;case X:if(r.extra){for(Tt=r.extra;ut<Tt;){if(0===ot)break t;ot--,st+=tt[rt++]<<ut,ut+=8}r.offset+=st&(1<<r.extra)-1,st>>>=r.extra,ut-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=Z;break}r.mode=W;case W:if(0===at)break t;if(ft=ct-at,r.offset>ft){if((ft=r.offset-ft)>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=Z;break}ft>r.wnext?(ft-=r.wnext,dt=r.wsize-ft):dt=r.wnext-ft,ft>r.length&&(ft=r.length),mt=r.window}else mt=et,dt=it-r.offset,ft=r.length;ft>at&&(ft=at),at-=ft,r.length-=ft;do{et[it++]=mt[dt++]}while(--ft);0===r.length&&(r.mode=G);break;case q:if(0===at)break t;et[it++]=r.length,at--,r.mode=G;break;case K:if(r.wrap){for(;ut<32;){if(0===ot)break t;ot--,st|=tt[rt++]<<ut,ut+=8}if(ct-=at,t.total_out+=ct,r.total+=ct,ct&&(t.adler=r.check=r.flags?o(r.check,et,ct,it-ct):i(r.check,et,ct,it-ct)),ct=at,(r.flags?st:nt(st))!==r.check){t.msg="incorrect data check",r.mode=Z;break}st=0,ut=0}r.mode=H;case H:if(r.wrap&&r.flags){for(;ut<32;){if(0===ot)break t;ot--,st+=tt[rt++]<<ut,ut+=8}if(st!==(4294967295&r.total)){t.msg="incorrect length check",r.mode=Z;break}st=0,ut=0}r.mode=Y;case Y:kt=m;break t;case Z:kt=_;break t;case J:return y;case Q:default:return v}return t.next_out=it,t.avail_out=at,t.next_in=rt,t.avail_in=ot,r.hold=st,r.bits=ut,(r.wsize||ct!==t.avail_out&&r.mode<Z&&(r.mode<K||e!==h))&&pt(t,t.output,t.next_out,ct-t.avail_out)?(r.mode=J,y):(lt-=t.avail_in,ct-=t.avail_out,t.total_in+=lt,t.total_out+=ct,r.total+=ct,r.wrap&&ct&&(t.adler=r.check=r.flags?o(r.check,et,ct,t.next_out-ct):i(r.check,et,ct,t.next_out-ct)),t.data_type=r.bits+(r.last?64:0)+(r.mode===M?128:0)+(r.mode===z||r.mode===L?256:0),(0===lt&&0===ct||e===h)&&kt===d&&(kt=b),kt)},r.inflateEnd=function(t){if(!t||!t.state)return v;var e=t.state;return e.window&&(e.window=null),t.state=null,d},r.inflateGetHeader=function(t,e){var r;return t&&t.state?0==(2&(r=t.state).wrap)?v:(r.head=e,e.done=!1,d):v},r.inflateSetDictionary=function(t,e){var r,n=e.length;return t&&t.state?0!==(r=t.state).wrap&&r.mode!==I?v:r.mode===I&&i(1,e,n,0)!==r.check?_:pt(t,e,n,n)?(r.mode=J,y):(r.havedict=1,d):v},r.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":73,"./adler32":74,"./crc32":76,"./inffast":78,"./inftrees":80}],80:[function(t,e,r){"use strict";var n=t("../utils/common"),i=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],o=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],a=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],s=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function(t,e,r,u,l,c,h,p){var f,d,m,g,v,_,y,b,x,w=p.bits,k=0,E=0,T=0,S=0,A=0,C=0,R=0,B=0,P=0,I=0,M=null,D=0,F=new n.Buf16(16),L=new n.Buf16(16),O=null,N=0;for(k=0;k<=15;k++)F[k]=0;for(E=0;E<u;E++)F[e[r+E]]++;for(A=w,S=15;S>=1&&0===F[S];S--);if(A>S&&(A=S),0===S)return l[c++]=20971520,l[c++]=20971520,p.bits=1,0;for(T=1;T<S&&0===F[T];T++);for(A<T&&(A=T),B=1,k=1;k<=15;k++)if(B<<=1,(B-=F[k])<0)return-1;if(B>0&&(0===t||1!==S))return-1;for(L[1]=0,k=1;k<15;k++)L[k+1]=L[k]+F[k];for(E=0;E<u;E++)0!==e[r+E]&&(h[L[e[r+E]]++]=E);if(0===t?(M=O=h,_=19):1===t?(M=i,D-=257,O=o,N-=257,_=256):(M=a,O=s,_=-1),I=0,E=0,k=T,v=c,C=A,R=0,m=-1,g=(P=1<<A)-1,1===t&&P>852||2===t&&P>592)return 1;for(;;){y=k-R,h[E]<_?(b=0,x=h[E]):h[E]>_?(b=O[N+h[E]],x=M[D+h[E]]):(b=96,x=0),f=1<<k-R,T=d=1<<C;do{l[v+(I>>R)+(d-=f)]=y<<24|b<<16|x|0}while(0!==d);for(f=1<<k-1;I&f;)f>>=1;if(0!==f?(I&=f-1,I+=f):I=0,E++,0==--F[k]){if(k===S)break;k=e[r+h[E]]}if(k>A&&(I&g)!==m){for(0===R&&(R=A),v+=T,B=1<<(C=k-R);C+R<S&&!((B-=F[C+R])<=0);)C++,B<<=1;if(P+=1<<C,1===t&&P>852||2===t&&P>592)return 1;l[m=I&g]=A<<24|C<<16|v-c|0}}return 0!==I&&(l[v+I]=k-R<<24|64<<16|0),p.bits=A,0}},{"../utils/common":73}],81:[function(t,e,r){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],82:[function(t,e,r){"use strict";var n=t("../utils/common"),i=4,o=0,a=1,s=2;function u(t){for(var e=t.length;--e>=0;)t[e]=0}var l=0,c=1,h=2,p=29,f=256,d=f+1+p,m=30,g=19,v=2*d+1,_=15,y=16,b=7,x=256,w=16,k=17,E=18,T=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],S=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],A=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],C=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],R=new Array(2*(d+2));u(R);var B=new Array(2*m);u(B);var P=new Array(512);u(P);var I=new Array(256);u(I);var M=new Array(p);u(M);var D,F,L,O=new Array(m);function N(t,e,r,n,i){this.static_tree=t,this.extra_bits=e,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=t&&t.length}function j(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function U(t){return t<256?P[t]:P[256+(t>>>7)]}function z(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function G(t,e,r){t.bi_valid>y-r?(t.bi_buf|=e<<t.bi_valid&65535,z(t,t.bi_buf),t.bi_buf=e>>y-t.bi_valid,t.bi_valid+=r-y):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=r)}function $(t,e,r){G(t,r[2*e],r[2*e+1])}function V(t,e){var r=0;do{r|=1&t,t>>>=1,r<<=1}while(--e>0);return r>>>1}function X(t,e,r){var n,i,o=new Array(_+1),a=0;for(n=1;n<=_;n++)o[n]=a=a+r[n-1]<<1;for(i=0;i<=e;i++){var s=t[2*i+1];0!==s&&(t[2*i]=V(o[s]++,s))}}function W(t){var e;for(e=0;e<d;e++)t.dyn_ltree[2*e]=0;for(e=0;e<m;e++)t.dyn_dtree[2*e]=0;for(e=0;e<g;e++)t.bl_tree[2*e]=0;t.dyn_ltree[2*x]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function q(t){t.bi_valid>8?z(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function K(t,e,r,n){var i=2*e,o=2*r;return t[i]<t[o]||t[i]===t[o]&&n[e]<=n[r]}function H(t,e,r){for(var n=t.heap[r],i=r<<1;i<=t.heap_len&&(i<t.heap_len&&K(e,t.heap[i+1],t.heap[i],t.depth)&&i++,!K(e,n,t.heap[i],t.depth));)t.heap[r]=t.heap[i],r=i,i<<=1;t.heap[r]=n}function Y(t,e,r){var n,i,o,a,s=0;if(0!==t.last_lit)do{n=t.pending_buf[t.d_buf+2*s]<<8|t.pending_buf[t.d_buf+2*s+1],i=t.pending_buf[t.l_buf+s],s++,0===n?$(t,i,e):($(t,(o=I[i])+f+1,e),0!==(a=T[o])&&G(t,i-=M[o],a),$(t,o=U(--n),r),0!==(a=S[o])&&G(t,n-=O[o],a))}while(s<t.last_lit);$(t,x,e)}function Z(t,e){var r,n,i,o=e.dyn_tree,a=e.stat_desc.static_tree,s=e.stat_desc.has_stree,u=e.stat_desc.elems,l=-1;for(t.heap_len=0,t.heap_max=v,r=0;r<u;r++)0!==o[2*r]?(t.heap[++t.heap_len]=l=r,t.depth[r]=0):o[2*r+1]=0;for(;t.heap_len<2;)o[2*(i=t.heap[++t.heap_len]=l<2?++l:0)]=1,t.depth[i]=0,t.opt_len--,s&&(t.static_len-=a[2*i+1]);for(e.max_code=l,r=t.heap_len>>1;r>=1;r--)H(t,o,r);i=u;do{r=t.heap[1],t.heap[1]=t.heap[t.heap_len--],H(t,o,1),n=t.heap[1],t.heap[--t.heap_max]=r,t.heap[--t.heap_max]=n,o[2*i]=o[2*r]+o[2*n],t.depth[i]=(t.depth[r]>=t.depth[n]?t.depth[r]:t.depth[n])+1,o[2*r+1]=o[2*n+1]=i,t.heap[1]=i++,H(t,o,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],function(t,e){var r,n,i,o,a,s,u=e.dyn_tree,l=e.max_code,c=e.stat_desc.static_tree,h=e.stat_desc.has_stree,p=e.stat_desc.extra_bits,f=e.stat_desc.extra_base,d=e.stat_desc.max_length,m=0;for(o=0;o<=_;o++)t.bl_count[o]=0;for(u[2*t.heap[t.heap_max]+1]=0,r=t.heap_max+1;r<v;r++)(o=u[2*u[2*(n=t.heap[r])+1]+1]+1)>d&&(o=d,m++),u[2*n+1]=o,n>l||(t.bl_count[o]++,a=0,n>=f&&(a=p[n-f]),s=u[2*n],t.opt_len+=s*(o+a),h&&(t.static_len+=s*(c[2*n+1]+a)));if(0!==m){do{for(o=d-1;0===t.bl_count[o];)o--;t.bl_count[o]--,t.bl_count[o+1]+=2,t.bl_count[d]--,m-=2}while(m>0);for(o=d;0!==o;o--)for(n=t.bl_count[o];0!==n;)(i=t.heap[--r])>l||(u[2*i+1]!==o&&(t.opt_len+=(o-u[2*i+1])*u[2*i],u[2*i+1]=o),n--)}}(t,e),X(o,l,t.bl_count)}function J(t,e,r){var n,i,o=-1,a=e[1],s=0,u=7,l=4;for(0===a&&(u=138,l=3),e[2*(r+1)+1]=65535,n=0;n<=r;n++)i=a,a=e[2*(n+1)+1],++s<u&&i===a||(s<l?t.bl_tree[2*i]+=s:0!==i?(i!==o&&t.bl_tree[2*i]++,t.bl_tree[2*w]++):s<=10?t.bl_tree[2*k]++:t.bl_tree[2*E]++,s=0,o=i,0===a?(u=138,l=3):i===a?(u=6,l=3):(u=7,l=4))}function Q(t,e,r){var n,i,o=-1,a=e[1],s=0,u=7,l=4;for(0===a&&(u=138,l=3),n=0;n<=r;n++)if(i=a,a=e[2*(n+1)+1],!(++s<u&&i===a)){if(s<l)do{$(t,i,t.bl_tree)}while(0!=--s);else 0!==i?(i!==o&&($(t,i,t.bl_tree),s--),$(t,w,t.bl_tree),G(t,s-3,2)):s<=10?($(t,k,t.bl_tree),G(t,s-3,3)):($(t,E,t.bl_tree),G(t,s-11,7));s=0,o=i,0===a?(u=138,l=3):i===a?(u=6,l=3):(u=7,l=4)}}u(O);var tt=!1;function et(t,e,r,i){G(t,(l<<1)+(i?1:0),3),function(t,e,r,i){q(t),i&&(z(t,r),z(t,~r)),n.arraySet(t.pending_buf,t.window,e,r,t.pending),t.pending+=r}(t,e,r,!0)}r._tr_init=function(t){tt||(function(){var t,e,r,n,i,o=new Array(_+1);for(r=0,n=0;n<p-1;n++)for(M[n]=r,t=0;t<1<<T[n];t++)I[r++]=n;for(I[r-1]=n,i=0,n=0;n<16;n++)for(O[n]=i,t=0;t<1<<S[n];t++)P[i++]=n;for(i>>=7;n<m;n++)for(O[n]=i<<7,t=0;t<1<<S[n]-7;t++)P[256+i++]=n;for(e=0;e<=_;e++)o[e]=0;for(t=0;t<=143;)R[2*t+1]=8,t++,o[8]++;for(;t<=255;)R[2*t+1]=9,t++,o[9]++;for(;t<=279;)R[2*t+1]=7,t++,o[7]++;for(;t<=287;)R[2*t+1]=8,t++,o[8]++;for(X(R,d+1,o),t=0;t<m;t++)B[2*t+1]=5,B[2*t]=V(t,5);D=new N(R,T,f+1,d,_),F=new N(B,S,0,m,_),L=new N(new Array(0),A,0,g,b)}(),tt=!0),t.l_desc=new j(t.dyn_ltree,D),t.d_desc=new j(t.dyn_dtree,F),t.bl_desc=new j(t.bl_tree,L),t.bi_buf=0,t.bi_valid=0,W(t)},r._tr_stored_block=et,r._tr_flush_block=function(t,e,r,n){var u,l,p=0;t.level>0?(t.strm.data_type===s&&(t.strm.data_type=function(t){var e,r=4093624447;for(e=0;e<=31;e++,r>>>=1)if(1&r&&0!==t.dyn_ltree[2*e])return o;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return a;for(e=32;e<f;e++)if(0!==t.dyn_ltree[2*e])return a;return o}(t)),Z(t,t.l_desc),Z(t,t.d_desc),p=function(t){var e;for(J(t,t.dyn_ltree,t.l_desc.max_code),J(t,t.dyn_dtree,t.d_desc.max_code),Z(t,t.bl_desc),e=g-1;e>=3&&0===t.bl_tree[2*C[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(t),u=t.opt_len+3+7>>>3,(l=t.static_len+3+7>>>3)<=u&&(u=l)):u=l=r+5,r+4<=u&&-1!==e?et(t,e,r,n):t.strategy===i||l===u?(G(t,(c<<1)+(n?1:0),3),Y(t,R,B)):(G(t,(h<<1)+(n?1:0),3),function(t,e,r,n){var i;for(G(t,e-257,5),G(t,r-1,5),G(t,n-4,4),i=0;i<n;i++)G(t,t.bl_tree[2*C[i]+1],3);Q(t,t.dyn_ltree,e-1),Q(t,t.dyn_dtree,r-1)}(t,t.l_desc.max_code+1,t.d_desc.max_code+1,p+1),Y(t,t.dyn_ltree,t.dyn_dtree)),W(t),n&&q(t)},r._tr_tally=function(t,e,r){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&r,t.last_lit++,0===e?t.dyn_ltree[2*r]++:(t.matches++,e--,t.dyn_ltree[2*(I[r]+f+1)]++,t.dyn_dtree[2*U(e)]++),t.last_lit===t.lit_bufsize-1},r._tr_align=function(t){G(t,c<<1,3),$(t,x,R),function(t){16===t.bi_valid?(z(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}(t)}},{"../utils/common":73}],83:[function(t,e,r){"use strict";e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],84:[function(t,e,r){r.read=function(t,e,r,n,i){var o,a,s=8*i-n-1,u=(1<<s)-1,l=u>>1,c=-7,h=r?i-1:0,p=r?-1:1,f=t[e+h];for(h+=p,o=f&(1<<-c)-1,f>>=-c,c+=s;c>0;o=256*o+t[e+h],h+=p,c-=8);for(a=o&(1<<-c)-1,o>>=-c,c+=n;c>0;a=256*a+t[e+h],h+=p,c-=8);if(0===o)o=1-l;else{if(o===u)return a?NaN:1/0*(f?-1:1);a+=Math.pow(2,n),o-=l}return(f?-1:1)*a*Math.pow(2,o-n)},r.write=function(t,e,r,n,i,o){var a,s,u,l=8*o-i-1,c=(1<<l)-1,h=c>>1,p=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:o-1,d=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=c):(a=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-a))<1&&(a--,u*=2),(e+=a+h>=1?p/u:p*Math.pow(2,1-h))*u>=2&&(a++,u/=2),a+h>=c?(s=0,a=c):a+h>=1?(s=(e*u-1)*Math.pow(2,i),a+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;t[r+f]=255&s,f+=d,s/=256,i-=8);for(a=a<<i|s,l+=i;l>0;t[r+f]=255&a,f+=d,a/=256,l-=8);t[r+f-d]|=128*m}},{}],85:[function(t,e,r){e.exports=[function(t,e){return{options:t,draw:function(e,r,n){n.stop(!0),n.overrideFlag=!0;var i=this;return e.pixelManipulation({output:function(t,e,r){i.output={src:e,format:r}},changePixel:function(t,e,r,n){return[255-t,255-e,255-r,n]},format:e.format,image:t.image,inBrowser:t.inBrowser,callback:r})},output:void 0,UI:e}},{name:"Invert",description:"Inverts the image.",inputs:{}}]},{}],86:[function(t,e,r){"use strict";var n=t("underscore"),i=e.exports={Bitmap:t("./lib/bitmap")};n.extend(i,t("./lib/enums"))},{"./lib/bitmap":87,"./lib/enums":88,underscore:191}],87:[function(t,e,r){(function(r){"use strict";var n=t("fs"),i=(t("underscore"),t("bluebird")),o=t("jpeg-js"),a=t("node-png").PNG,s=t("./enums"),u=t("./utils"),l=t("./resize"),c={r:0,g:0,b:0,a:0},h=e.exports=function(t){t&&(t instanceof h?this._data={data:new r(t.data.data),width:t.width,height:t.height}:t.data?this._data=t:t.width&&t.height&&(this._data={data:new r(4*t.width*t.height),width:t.width,height:t.height},t.color&&this._fill(t.color)))};h.prototype={get width(){return this._data.width},get height(){return this._data.height},attach:function(t){var e=this._data;return this._data=t,e},detach:function(){var t=this._data;return delete this._data,t},_deduceFileType:function(t){if(!t)throw new Error("Can't determine image type");switch(t.substr(-4).toLowerCase()){case".jpg":return s.ImageType.JPG;case".png":return s.ImageType.PNG}if(".jpeg"==t.substr(-5).toLowerCase())return s.ImageType.JPG;throw new Error("Can't recognise image type: "+t)},_readStream:function(t){var e=i.defer(),n=[];return t.on("data",function(t){n.push(t)}),t.on("end",function(){var t=r.concat(n);e.resolve(t)}),t.on("error",function(t){e.reject(t)}),e.promise},_readPNG:function(t){var e=i.defer(),r=new a({filterType:4});return r.on("parsed",function(){e.resolve(r)}),r.on("error",function(t){e.rejecyt(t)}),t.pipe(r),e.promise},_parseOptions:function(t,e){return"number"==typeof(t=t||{})&&(t={type:t}),t.type=t.type||this._deduceFileType(e),t},read:function(t,e){var r=this;switch((e=this._parseOptions(e)).type){case s.ImageType.JPG:return this._readStream(t).then(function(t){r._data=o.decode(t)});case s.ImageType.PNG:return this._readPNG(t).then(function(t){r._data={data:t.data,width:t.width,height:t.height}});default:return i.reject(new Error("Not supported: ImageType "+e.type))}},readFile:function(t,e){var r=this;return u.fs.exists(t).then(function(i){if(i){e=r._parseOptions(e,t);var o=n.createReadStream(t);return r.read(o,e)}throw new Error("File Not Found: "+t)})},write:function(t,e){e=this._parseOptions(e);var r=i.defer();try{switch(t.on("finish",function(){r.resolve()}),t.on("error",function(t){r.reject(t)}),e.type){case s.ImageType.JPG:var n=o.encode(this._data,e.quality||90).data;t.write(n),t.end();break;case s.ImageType.PNG:var u=new a;u.width=this.width,u.height=this.height,u.data=this._data.data,u.on("end",function(){r.resolve()}),u.on("error",function(t){r.reject(t)}),u.pack().pipe(t);break;default:throw new Error("Not supported: ImageType "+e.type)}}catch(t){r.reject(t)}return r.promise},writeFile:function(t,e){e=this._parseOptions(e,t);var r=n.createWriteStream(t);return this.write(r,e)},clone:function(){return new h({width:this.width,height:this.height,data:new r(this._data.data)})},setPixel:function(t,e,r,n,i,o){if(void 0===n){var a=r;r=a.r,n=a.g,i=a.b,o=a.a}void 0===o&&(o=255);var s=4*(e*this.width+t),u=this._data.data;u[s++]=r,u[s++]=n,u[s++]=i,u[s++]=o},getPixel:function(t,e,r){var n=4*(e*this.width+t);r=r||{};var i=this._data.data;return r.r=i[n++],r.g=i[n++],r.b=i[n++],r.a=i[n++],r},negative:function(){for(var t=new h({width:this.width,height:this.height}),e=this.width*this.height,r=this._data.data,n=t._data.data,i=0,o=0,a=0;a<e;a++)n[o++]=255-r[i++],n[o++]=255-r[i++],n[o++]=255-r[i++],n[o++]=r[i++];return t},resize:function(t){var e,r=new h(t);switch(t.fit){case"pad":var n=t.padColor||c,i=this.width/this.height,o=Math.round(i*r.height),a=Math.round(r.width/i),s=0,u=0;o<r.width?(e=new h({width:o,height:r.height}),s=(r.width-o)/2,r._fill(n,0,0,Math.floor(s),r.height),r._fill(n,r.width-Math.ceil(s),0,Math.ceil(s),r.height),l[t.algorithm](this,e,t),r._blt(e,{left:Math.floor(s),top:Math.floor(u)})):a<r.height?(e=new h({width:r.width,height:a}),u=(r.height-a)/2,r._fill(n,0,0,r.width,Math.floor(u)),r._fill(n,0,r.height-Math.ceil(u),r.width,Math.ceil(u)),l[t.algorithm](this,e,t),r._blt(e,{left:Math.floor(s),top:Math.floor(u)})):l[t.algorithm](this,r,t);break;case"crop":var p=t.gravity||{x:.5,y:.5},f=r.width/r.height;o=Math.round(f*this.height),a=Math.round(this.width/f);if(o<this.width){var d=this.width-o;e=this.crop({left:Math.round(p.x*d),top:0,width:o,height:this.height})}else if(a<this.height){var m=this.height-a;e=this.crop({left:0,top:Math.round(p.y*m),width:this.width,height:a})}else e=this;l[t.algorithm](e,r,t);break;case"stretch":default:l[t.algorithm](this,r,t)}return r},rotate:function(t){var e=void 0!==t.radians?t.radians:3.141592653589793*t.degrees/180;if(e<1e-9)return new h(this);var r,n,i={forward:{cos:Math.cos(e),sin:Math.sin(e)},backward:{cos:Math.cos(-e),sin:Math.sin(-e)}},o=this.width,a=this.height,s=o/2,u=a/2,l=t.padColor||c,p=[l.r,l.g,l.b,l.a],f=function(t,e){var r=e.cos*t.x-e.sin*t.y,n=e.sin*t.x+e.cos*t.y;return t.x=r,t.y=n,t},d=function(t){var e=Math.abs(t.x/s),r=Math.abs(t.y/u);return Math.max(e,r)};switch(t.fit){case"custom":r=t.width,n=t.height;break;case"pad":var m=f({x:-s,y:u},i.forward),g=f({x:s,y:u},i.forward),v=f({x:-s,y:-u},i.forward),_=f({x:s,y:-u},i.forward);r=Math.round(Math.max(m.x,g.x,v.x,_.x)-Math.min(m.x,g.x,v.x,_.x)),n=Math.round(Math.max(m.y,g.y,v.y,_.y)-Math.min(m.y,g.y,v.y,_.y));break;case"crop":m=f({x:-s,y:u},i.forward),g=f({x:s,y:u},i.forward),v=f({x:-s,y:-u},i.forward),_=f({x:s,y:-u},i.forward);var y=Math.max(d(m),d(g),d(v),d(_));r=Math.floor(o/y),n=Math.floor(a/y);break;case"same":default:r=o,n=a}for(var b=new h({width:r,height:n}),x=this._data.data,w=b._data.data,k={},E=r/2,T=n/2,S=4*o,A=0;A<n;A++)for(var C=0;C<r;C++){k.x=C-E,k.y=T-A,f(k,i.backward);var R=k.x+s,B=u-k.y,P=4*(A*r+C);if(R>-1&&R<o&&B>-1&&B<a)for(var I=Math.floor(R),M=Math.floor(B),D=4*(M*o+I),F=0;F<4;F++){var L=D+F,O=p[F],N=R-I,j=B-M,U=(1-N)*(m=R>=0&&B>=0?x[L]:O)+N*(g=R<o-1&&B>=0?x[L+4]:O),z=(1-N)*(v=R>=0&&B<a-1?x[L+S]:O)+N*(_=R<o-1&&B<a-1?x[L+S+4]:O);w[P++]=(1-j)*U+j*z}else w[P++]=l.r,w[P++]=l.g,w[P++]=l.b,w[P++]=l.a}return b},crop:function(t){for(var e=t.top,r=t.left,n=t.width,i=t.height,o=new h({width:n,height:i}),a=this._data.data,s=o._data.data,u=4*n,l=0;l<i;l++){var c=4*((l+e)*this.width+r),p=l*n*4;a.copy(s,p,c,c+u)}return o},blur:function(t){for(var e=new h({width:this.width,height:this.height}),r=this.width,n=this.height,i=r-1,o=n-1,a=4*r,s=this._data.data,u=e._data.data,l=0;l<n;l++)for(var c=0;c<r;c++)for(var p=0;p<4;p++){var f=4*(l*r+c)+p,d=1*s[f-(l>0?a:0)-(c>0?4:0)]+2*s[f-(l>0?a:0)]+1*s[f-(l>0?a:0)+(c<i?4:0)]+2*s[f-(c>0?4:0)]+4*s[f]+2*s[f+(c<i?4:0)]+1*s[f+(l<o?a:0)-(c>0?4:0)]+2*s[f+(l<o?a:0)]+1*s[f+(l<o?a:0)+(c<i?4:0)];u[f]=Math.round(d/16)}return e},_fill:function(t,e,r,n,i){e=e||0,r=r||0,n=n||this.width-e,i=i||this.height-r;for(var o=(t=t||c).r||0,a=t.g||0,s=t.b||0,u=t.a||0,l=this._data.data,h=r+i,p=e+n,f=this.width,d=4*(r*f+e),m=d,g=e;g<p;g++)l[m++]=o,l[m++]=a,l[m++]=s,l[m++]=u;for(var v=d+4*n,_=r;_<h;_++){m=4*(_*f+e);l.copy(l,m,d,v)}},_blt:function(t,e){for(var r=e.left,n=e.top,i=Math.min(this.width-r,t.width),o=Math.min(this.height-n,t.height),a=4*i,s=t._data.data,u=this._data.data,l=0;l<o;l++){var c=l*t.width*4,h=4*((l+n)*this.width+r);s.copy(u,h,c,c+a)}}}}).call(this,t("buffer").Buffer)},{"./enums":88,"./resize":89,"./utils":90,bluebird:3,buffer:71,fs:70,"jpeg-js":91,"node-png":112,underscore:191}],88:[function(t,e,r){"use strict";e.exports={ImageType:{JPG:1,PNG:2}}},{}],89:[function(t,e,r){(function(r){"use strict";t("underscore"),t("bluebird");e.exports={_writeFile:function(e,r,n,i){new(t("./bitmap"))({width:e,height:r,data:n}).writeFile(i)},nearestNeighbor:function(t,e,r){for(var n=t.width,i=t.height,o=e.width,a=e.height,s=t._data.data,u=e._data.data,l=0;l<a;l++)for(var c=0;c<o;c++){var h=4*(l*o+c),p=4*(Math.round(l*i/a)*n+Math.round(c*n/o));u[h++]=s[p++],u[h++]=s[p++],u[h++]=s[p++],u[h++]=s[p++]}},bilinearInterpolation:function(t,e,r){for(var n=t.width,i=t.height,o=e.width,a=e.height,s=t._data.data,u=e._data.data,l=function(t,e,r,n,i){return e===n?r:Math.round((t-e)*i+(n-t)*r)},c=function(t,e,r,i,o,a,c,h){var p=4*(c*n+i)+e,f=4*(c*n+o)+e,d=l(r,i,s[p],o,s[f]);if(h===c)u[t+e]=d;else{f=4*(h*n+o)+e;var m=l(r,i,s[p=4*(h*n+i)+e],o,s[f]);u[t+e]=l(a,c,d,h,m)}},h=0;h<a;h++)for(var p=0;p<o;p++){var f=4*(h*o+p),d=p*n/o,m=Math.floor(d),g=Math.min(Math.ceil(d),n-1),v=h*i/a,_=Math.floor(v),y=Math.min(Math.ceil(v),i-1);c(f,0,d,m,g,v,_,y),c(f,1,d,m,g,v,_,y),c(f,2,d,m,g,v,_,y),c(f,3,d,m,g,v,_,y)}},_interpolate2D:function(t,e,n,i){for(var o=t._data.data,a=e._data.data,s=t.width,u=t.height,l=e.width,c=e.height,h=Math.max(1,Math.floor(s/l)),p=l*h,f=Math.max(1,Math.floor(u/c)),d=c*f,m=new r(p*u*4),g=0;g<u;g++)for(var v=0;v<p;v++)for(var _=(U=v*(s-1)/p)-(z=Math.floor(U)),y=4*(g*s+z),b=4*(g*p+v),x=0;x<4;x++){var w=y+x,k=z>0?o[w-4]:2*o[w]-o[w+4],E=o[w],T=o[w+4],S=z<s-2?o[w+8]:2*o[w+4]-o[w];m[b+x]=i(k,E,T,S,_)}var A=new r(p*d*4);for(g=0;g<d;g++)for(v=0;v<p;v++){_=(N=g*(u-1)/d)-(j=Math.floor(N)),b=4*(j*p+v);var C=4*(g*p+v);for(x=0;x<4;x++){w=b+x;var R=j>0?m[w-4*p]:2*m[w]-m[w+4*p],B=m[w],P=m[w+4*p],I=j<u-2?m[w+8*p]:2*m[w+4*p]-m[w];A[C+x]=i(R,B,P,I,_)}}var M=h*f;if(M>1)for(g=0;g<c;g++)for(v=0;v<l;v++){for(var D=0,F=0,L=0,O=0,N=0;N<f;N++)for(var j=g*f+N,U=0;U<h;U++){var z,G=4*(j*p+(z=v*h+U));D+=A[G],F+=A[G+1],L+=A[G+2],O+=A[G+3]}var $=4*(g*l+v);a[$]=Math.round(D/M),a[$+1]=Math.round(F/M),a[$+2]=Math.round(L/M),a[$+3]=Math.round(O/M)}else e._data.data=A},bicubicInterpolation:function(t,e,r){return this._interpolate2D(t,e,r,function(t,e,r,n,i){var o=n-r-t+e,a=t-e-o,s=r-t,u=e;return Math.max(0,Math.min(255,o*(i*i*i)+a*(i*i)+s*i+u))})},hermiteInterpolation:function(t,e,r){return this._interpolate2D(t,e,r,function(t,e,r,n,i){var o=e,a=.5*(r-t),s=t-2.5*e+2*r-.5*n,u=.5*(n-t)+1.5*(e-r);return Math.max(0,Math.min(255,Math.round(((u*i+s)*i+a)*i+o)))})},bezierInterpolation:function(t,e,r){return this._interpolate2D(t,e,r,function(t,e,r,n,i){var o=1-i,a=e*o*o*o,s=3*(e+(r-t)/4)*o*o*i,u=3*(r-(n-e)/4)*o*i*i,l=r*i*i*i;return Math.max(0,Math.min(255,Math.round(a+s+u+l)))})}}}).call(this,t("buffer").Buffer)},{"./bitmap":87,bluebird:3,buffer:71,underscore:191}],90:[function(t,e,r){"use strict";var n=t("fs"),i=(t("underscore"),t("bluebird"));e.exports={fs:{exists:function(t){var e=i.defer();return n.exists(t,function(t){e.resolve(t)}),e.promise}}}},{bluebird:3,fs:70,underscore:191}],91:[function(t,e,r){var n=t("./lib/encoder"),i=t("./lib/decoder");e.exports={encode:n,decode:i}},{"./lib/decoder":92,"./lib/encoder":93}],92:[function(t,e,r){(function(t){var r=function(){"use strict";var t=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),e=4017,r=799,n=3406,i=2276,o=1567,a=3784,s=5793,u=2896;function l(){}function c(t,e){for(var r,n,i=0,o=[],a=16;a>0&&!t[a-1];)a--;o.push({children:[],index:0});var s,u=o[0];for(r=0;r<a;r++){for(n=0;n<t[r];n++){for((u=o.pop()).children[u.index]=e[i];u.index>0;)u=o.pop();for(u.index++,o.push(u);o.length<=r;)o.push(s={children:[],index:0}),u.children[u.index]=s.children,u=s;i++}r+1<a&&(o.push(s={children:[],index:0}),u.children[u.index]=s.children,u=s)}return o[0].children}function h(e,r,n,i,o,a,s,u,l){n.precision,n.samplesPerLine,n.scanLines;var c=n.mcusPerLine,h=n.progressive,p=(n.maxH,n.maxV,r),f=0,d=0;function m(){if(d>0)return f>>--d&1;if(255==(f=e[r++])){var t=e[r++];if(t)throw"unexpected marker: "+(f<<8|t).toString(16)}return d=7,f>>>7}function g(t){for(var e,r=t;null!==(e=m());){if("number"==typeof(r=r[e]))return r;if("object"!=typeof r)throw"invalid huffman sequence"}return null}function v(t){for(var e=0;t>0;){var r=m();if(null===r)return;e=e<<1|r,t--}return e}function _(t){var e=v(t);return e>=1<<t-1?e:e+(-1<<t)+1}var y=0;var b,x=0;function w(t,e,r,n,i){var o=r%c,a=(r/c|0)*t.v+n,s=o*t.h+i;e(t,t.blocks[a][s])}function k(t,e,r){var n=r/t.blocksPerLine|0,i=r%t.blocksPerLine;e(t,t.blocks[n][i])}var E,T,S,A,C,R,B=i.length;R=h?0===a?0===u?function(t,e){var r=g(t.huffmanTableDC),n=0===r?0:_(r)<<l;e[0]=t.pred+=n}:function(t,e){e[0]|=m()<<l}:0===u?function(e,r){if(y>0)y--;else for(var n=a,i=s;n<=i;){var o=g(e.huffmanTableAC),u=15&o,c=o>>4;if(0!==u)r[t[n+=c]]=_(u)*(1<<l),n++;else{if(c<15){y=v(c)+(1<<c)-1;break}n+=16}}}:function(e,r){for(var n=a,i=s,o=0;n<=i;){var u=t[n];switch(x){case 0:var c=g(e.huffmanTableAC),h=15&c;if(o=c>>4,0===h)o<15?(y=v(o)+(1<<o),x=4):(o=16,x=1);else{if(1!==h)throw"invalid ACn encoding";b=_(h),x=o?2:3}continue;case 1:case 2:r[u]?r[u]+=m()<<l:0==--o&&(x=2==x?3:0);break;case 3:r[u]?r[u]+=m()<<l:(r[u]=b<<l,x=0);break;case 4:r[u]&&(r[u]+=m()<<l)}n++}4===x&&0==--y&&(x=0)}:function(e,r){var n=g(e.huffmanTableDC),i=0===n?0:_(n);r[0]=e.pred+=i;for(var o=1;o<64;){var a=g(e.huffmanTableAC),s=15&a,u=a>>4;if(0!==s)r[t[o+=u]]=_(s),o++;else{if(u<15)break;o+=16}}};var P,I,M,D,F=0;for(I=1==B?i[0].blocksPerLine*i[0].blocksPerColumn:c*n.mcusPerColumn,o||(o=I);F<I;){for(T=0;T<B;T++)i[T].pred=0;if(y=0,1==B)for(E=i[0],C=0;C<o;C++)k(E,R,F),F++;else for(C=0;C<o;C++){for(T=0;T<B;T++)for(M=(E=i[T]).h,D=E.v,S=0;S<D;S++)for(A=0;A<M;A++)w(E,R,F,S,A);if(++F===I)break}if(d=0,(P=e[r]<<8|e[r+1])<65280)throw"marker was not found";if(!(P>=65488&&P<=65495))break;r+=2}return r-p}function p(t,l){var c,h,p=[],f=l.blocksPerLine,d=l.blocksPerColumn,m=f<<3,g=new Int32Array(64),v=new Uint8Array(64);function _(t,c,h){var p,f,d,m,g,v,_,y,b,x,w=l.quantizationTable,k=h;for(x=0;x<64;x++)k[x]=t[x]*w[x];for(x=0;x<8;++x){var E=8*x;0!=k[1+E]||0!=k[2+E]||0!=k[3+E]||0!=k[4+E]||0!=k[5+E]||0!=k[6+E]||0!=k[7+E]?(p=s*k[0+E]+128>>8,f=s*k[4+E]+128>>8,d=k[2+E],m=k[6+E],g=u*(k[1+E]-k[7+E])+128>>8,y=u*(k[1+E]+k[7+E])+128>>8,v=k[3+E]<<4,_=k[5+E]<<4,b=p-f+1>>1,p=p+f+1>>1,f=b,b=d*a+m*o+128>>8,d=d*o-m*a+128>>8,m=b,b=g-_+1>>1,g=g+_+1>>1,_=b,b=y+v+1>>1,v=y-v+1>>1,y=b,b=p-m+1>>1,p=p+m+1>>1,m=b,b=f-d+1>>1,f=f+d+1>>1,d=b,b=g*i+y*n+2048>>12,g=g*n-y*i+2048>>12,y=b,b=v*r+_*e+2048>>12,v=v*e-_*r+2048>>12,_=b,k[0+E]=p+y,k[7+E]=p-y,k[1+E]=f+_,k[6+E]=f-_,k[2+E]=d+v,k[5+E]=d-v,k[3+E]=m+g,k[4+E]=m-g):(b=s*k[0+E]+512>>10,k[0+E]=b,k[1+E]=b,k[2+E]=b,k[3+E]=b,k[4+E]=b,k[5+E]=b,k[6+E]=b,k[7+E]=b)}for(x=0;x<8;++x){var T=x;0!=k[8+T]||0!=k[16+T]||0!=k[24+T]||0!=k[32+T]||0!=k[40+T]||0!=k[48+T]||0!=k[56+T]?(p=s*k[0+T]+2048>>12,f=s*k[32+T]+2048>>12,d=k[16+T],m=k[48+T],g=u*(k[8+T]-k[56+T])+2048>>12,y=u*(k[8+T]+k[56+T])+2048>>12,v=k[24+T],_=k[40+T],b=p-f+1>>1,p=p+f+1>>1,f=b,b=d*a+m*o+2048>>12,d=d*o-m*a+2048>>12,m=b,b=g-_+1>>1,g=g+_+1>>1,_=b,b=y+v+1>>1,v=y-v+1>>1,y=b,b=p-m+1>>1,p=p+m+1>>1,m=b,b=f-d+1>>1,f=f+d+1>>1,d=b,b=g*i+y*n+2048>>12,g=g*n-y*i+2048>>12,y=b,b=v*r+_*e+2048>>12,v=v*e-_*r+2048>>12,_=b,k[0+T]=p+y,k[56+T]=p-y,k[8+T]=f+_,k[48+T]=f-_,k[16+T]=d+v,k[40+T]=d-v,k[24+T]=m+g,k[32+T]=m-g):(b=s*h[x+0]+8192>>14,k[0+T]=b,k[8+T]=b,k[16+T]=b,k[24+T]=b,k[32+T]=b,k[40+T]=b,k[48+T]=b,k[56+T]=b)}for(x=0;x<64;++x){var S=128+(k[x]+8>>4);c[x]=S<0?0:S>255?255:S}}for(var y=0;y<d;y++){var b=y<<3;for(c=0;c<8;c++)p.push(new Uint8Array(m));for(var x=0;x<f;x++){_(l.blocks[y][x],v,g);var w=0,k=x<<3;for(h=0;h<8;h++){var E=p[b+h];for(c=0;c<8;c++)E[k+c]=v[w++]}}}return p}function f(t){return t<0?0:t>255?255:t}return l.prototype={load:function(t){var e=new XMLHttpRequest;e.open("GET",t,!0),e.responseType="arraybuffer",e.onload=function(){var t=new Uint8Array(e.response||e.mozResponseArrayBuffer);this.parse(t),this.onload&&this.onload()}.bind(this),e.send(null)},parse:function(e){var r=0;e.length;function n(){var t=e[r]<<8|e[r+1];return r+=2,t}function i(){var t=n(),i=e.subarray(r,r+t-2);return r+=i.length,i}function o(t){var e,r,n=0,i=0;for(r in t.components)t.components.hasOwnProperty(r)&&(n<(e=t.components[r]).h&&(n=e.h),i<e.v&&(i=e.v));var o=Math.ceil(t.samplesPerLine/8/n),a=Math.ceil(t.scanLines/8/i);for(r in t.components)if(t.components.hasOwnProperty(r)){e=t.components[r];for(var s=Math.ceil(Math.ceil(t.samplesPerLine/8)*e.h/n),u=Math.ceil(Math.ceil(t.scanLines/8)*e.v/i),l=o*e.h,c=a*e.v,h=[],p=0;p<c;p++){for(var f=[],d=0;d<l;d++)f.push(new Int32Array(64));h.push(f)}e.blocksPerLine=s,e.blocksPerColumn=u,e.blocks=h}t.maxH=n,t.maxV=i,t.mcusPerLine=o,t.mcusPerColumn=a}var a,s,u=null,l=null,f=[],d=[],m=[],g=[],v=n();if(65496!=v)throw"SOI not found";for(v=n();65497!=v;){switch(v){case 65280:break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var _=i();65504===v&&74===_[0]&&70===_[1]&&73===_[2]&&70===_[3]&&0===_[4]&&(u={version:{major:_[5],minor:_[6]},densityUnits:_[7],xDensity:_[8]<<8|_[9],yDensity:_[10]<<8|_[11],thumbWidth:_[12],thumbHeight:_[13],thumbData:_.subarray(14,14+3*_[12]*_[13])}),65518===v&&65===_[0]&&100===_[1]&&111===_[2]&&98===_[3]&&101===_[4]&&0===_[5]&&(l={version:_[6],flags0:_[7]<<8|_[8],flags1:_[9]<<8|_[10],transformCode:_[11]});break;case 65499:for(var y=n()+r-2;r<y;){var b=e[r++],x=new Int32Array(64);if(b>>4==0)for(z=0;z<64;z++){x[t[z]]=e[r++]}else{if(b>>4!=1)throw"DQT: invalid table spec";for(z=0;z<64;z++){x[t[z]]=n()}}f[15&b]=x}break;case 65472:case 65473:case 65474:n(),(a={}).extended=65473===v,a.progressive=65474===v,a.precision=e[r++],a.scanLines=n(),a.samplesPerLine=n(),a.components={},a.componentsOrder=[];var w,k=e[r++];for(j=0;j<k;j++){w=e[r];var E=e[r+1]>>4,T=15&e[r+1],S=e[r+2];a.componentsOrder.push(w),a.components[w]={h:E,v:T,quantizationIdx:S},r+=3}o(a),d.push(a);break;case 65476:var A=n();for(j=2;j<A;){var C=e[r++],R=new Uint8Array(16),B=0;for(z=0;z<16;z++,r++)B+=R[z]=e[r];var P=new Uint8Array(B);for(z=0;z<B;z++,r++)P[z]=e[r];j+=17+B,(C>>4==0?g:m)[15&C]=c(R,P)}break;case 65501:n(),s=n();break;case 65498:n();var I=e[r++],M=[];for(j=0;j<I;j++){G=a.components[e[r++]];var D=e[r++];G.huffmanTableDC=g[D>>4],G.huffmanTableAC=m[15&D],M.push(G)}var F=e[r++],L=e[r++],O=e[r++],N=h(e,r,a,M,s,F,L,O>>4,15&O);r+=N;break;default:if(255==e[r-3]&&e[r-2]>=192&&e[r-2]<=254){r-=3;break}throw"unknown JPEG marker "+v.toString(16)}v=n()}if(1!=d.length)throw"only single frame JPEGs supported";for(var j=0;j<d.length;j++){var U=d[j].components;for(var z in U)U[z].quantizationTable=f[U[z].quantizationIdx],delete U[z].quantizationIdx}this.width=a.samplesPerLine,this.height=a.scanLines,this.jfif=u,this.adobe=l,this.components=[];for(j=0;j<a.componentsOrder.length;j++){var G=a.components[a.componentsOrder[j]];this.components.push({lines:p(0,G),scaleX:G.h/a.maxH,scaleY:G.v/a.maxV})}},getData:function(t,e){var r,n,i,o,a,s,u,l,c,h,p,d,m,g,v,_,y,b,x,w,k,E=this.width/t,T=this.height/e,S=0,A=t*e*this.components.length,C=new Uint8Array(A);switch(this.components.length){case 1:for(r=this.components[0],h=0;h<e;h++)for(a=r.lines[0|h*r.scaleY*T],c=0;c<t;c++)p=a[0|c*r.scaleX*E],C[S++]=p;break;case 2:for(r=this.components[0],n=this.components[1],h=0;h<e;h++)for(a=r.lines[0|h*r.scaleY*T],s=n.lines[0|h*n.scaleY*T],c=0;c<t;c++)p=a[0|c*r.scaleX*E],C[S++]=p,p=s[0|c*n.scaleX*E],C[S++]=p;break;case 3:for(k=!0,this.adobe&&this.adobe.transformCode?k=!0:void 0!==this.colorTransform&&(k=!!this.colorTransform),r=this.components[0],n=this.components[1],i=this.components[2],h=0;h<e;h++)for(a=r.lines[0|h*r.scaleY*T],s=n.lines[0|h*n.scaleY*T],u=i.lines[0|h*i.scaleY*T],c=0;c<t;c++)k?(p=a[0|c*r.scaleX*E],d=s[0|c*n.scaleX*E],b=f(p+1.402*((m=u[0|c*i.scaleX*E])-128)),x=f(p-.3441363*(d-128)-.71413636*(m-128)),w=f(p+1.772*(d-128))):(b=a[0|c*r.scaleX*E],x=s[0|c*n.scaleX*E],w=u[0|c*i.scaleX*E]),C[S++]=b,C[S++]=x,C[S++]=w;break;case 4:if(!this.adobe)throw"Unsupported color mode (4 components)";for(k=!1,this.adobe&&this.adobe.transformCode?k=!0:void 0!==this.colorTransform&&(k=!!this.colorTransform),r=this.components[0],n=this.components[1],i=this.components[2],o=this.components[3],h=0;h<e;h++)for(a=r.lines[0|h*r.scaleY*T],s=n.lines[0|h*n.scaleY*T],u=i.lines[0|h*i.scaleY*T],l=o.lines[0|h*o.scaleY*T],c=0;c<t;c++)k?(p=a[0|c*r.scaleX*E],d=s[0|c*n.scaleX*E],m=u[0|c*i.scaleX*E],g=l[0|c*o.scaleX*E],v=255-f(p+1.402*(m-128)),_=255-f(p-.3441363*(d-128)-.71413636*(m-128)),y=255-f(p+1.772*(d-128))):(v=a[0|c*r.scaleX*E],_=s[0|c*n.scaleX*E],y=u[0|c*i.scaleX*E],g=l[0|c*o.scaleX*E]),C[S++]=v,C[S++]=_,C[S++]=y,C[S++]=g;break;default:throw"Unsupported color mode"}return C},copyToImageData:function(t){var e,r,n,i,o,a,s,u,l,c=t.width,h=t.height,p=t.data,d=this.getData(c,h),m=0,g=0;switch(this.components.length){case 1:for(r=0;r<h;r++)for(e=0;e<c;e++)n=d[m++],p[g++]=n,p[g++]=n,p[g++]=n,p[g++]=255;break;case 3:for(r=0;r<h;r++)for(e=0;e<c;e++)s=d[m++],u=d[m++],l=d[m++],p[g++]=s,p[g++]=u,p[g++]=l,p[g++]=255;break;case 4:for(r=0;r<h;r++)for(e=0;e<c;e++)o=d[m++],a=d[m++],n=d[m++],s=255-f(o*(1-(i=d[m++])/255)+i),u=255-f(a*(1-i/255)+i),l=255-f(n*(1-i/255)+i),p[g++]=s,p[g++]=u,p[g++]=l,p[g++]=255;break;default:throw"Unsupported color mode"}}},l}();e.exports=function(e){var n=new Uint8Array(e),i=new r;i.parse(n);var o={width:i.width,height:i.height,data:new t(i.width*i.height*4)};return i.copyToImageData(o),o}}).call(this,t("buffer").Buffer)},{buffer:71}],93:[function(t,e,r){(function(t){function r(e){Math.round;var r,n,i,o,a,s=Math.floor,u=new Array(64),l=new Array(64),c=new Array(64),h=new Array(64),p=new Array(65535),f=new Array(65535),d=new Array(64),m=new Array(64),g=[],v=0,_=7,y=new Array(64),b=new Array(64),x=new Array(64),w=new Array(256),k=new Array(2048),E=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63],T=[0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0],S=[0,1,2,3,4,5,6,7,8,9,10,11],A=[0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125],C=[1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250],R=[0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0],B=[0,1,2,3,4,5,6,7,8,9,10,11],P=[0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119],I=[0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250];function M(t,e){for(var r=0,n=0,i=new Array,o=1;o<=16;o++){for(var a=1;a<=t[o];a++)i[e[n]]=[],i[e[n]][0]=r,i[e[n]][1]=o,n++,r++;r*=2}return i}function D(t){for(var e=t[0],r=t[1]-1;r>=0;)e&1<<r&&(v|=1<<_),r--,--_<0&&(255==v?(F(255),F(0)):F(v),_=7,v=0)}function F(t){g.push(t)}function L(t){F(t>>8&255),F(255&t)}function O(t,e,r,n,i){var o,a=i[0],s=i[240];for(var u=function(t,e){var r,n,i,o,a,s,u,l,c,h,p=0;for(c=0;c<8;++c){r=t[p],n=t[p+1],i=t[p+2],o=t[p+3],a=t[p+4],s=t[p+5],u=t[p+6];var f=r+(l=t[p+7]),m=r-l,g=n+u,v=n-u,_=i+s,y=i-s,b=o+a,x=o-a,w=f+b,k=f-b,E=g+_,T=g-_;t[p]=w+E,t[p+4]=w-E;var S=.707106781*(T+k);t[p+2]=k+S,t[p+6]=k-S;var A=.382683433*((w=x+y)-(T=v+m)),C=.5411961*w+A,R=1.306562965*T+A,B=.707106781*(E=y+v),P=m+B,I=m-B;t[p+5]=I+C,t[p+3]=I-C,t[p+1]=P+R,t[p+7]=P-R,p+=8}for(p=0,c=0;c<8;++c){r=t[p],n=t[p+8],i=t[p+16],o=t[p+24],a=t[p+32],s=t[p+40],u=t[p+48];var M=r+(l=t[p+56]),D=r-l,F=n+u,L=n-u,O=i+s,N=i-s,j=o+a,U=o-a,z=M+j,G=M-j,$=F+O,V=F-O;t[p]=z+$,t[p+32]=z-$;var X=.707106781*(V+G);t[p+16]=G+X,t[p+48]=G-X;var W=.382683433*((z=U+N)-(V=L+D)),q=.5411961*z+W,K=1.306562965*V+W,H=.707106781*($=N+L),Y=D+H,Z=D-H;t[p+40]=Z+q,t[p+24]=Z-q,t[p+8]=Y+K,t[p+56]=Y-K,p++}for(c=0;c<64;++c)h=t[c]*e[c],d[c]=h>0?h+.5|0:h-.5|0;return d}(t,e),l=0;l<64;++l)m[E[l]]=u[l];var c=m[0]-r;r=m[0],0==c?D(n[0]):(D(n[f[o=32767+c]]),D(p[o]));for(var h=63;h>0&&0==m[h];h--);if(0==h)return D(a),r;for(var g,v=1;v<=h;){for(var _=v;0==m[v]&&v<=h;++v);var y=v-_;if(y>=16){g=y>>4;for(var b=1;b<=g;++b)D(s);y&=15}o=32767+m[v],D(i[(y<<4)+f[o]]),D(p[o]),v++}return 63!=h&&D(a),r}function N(t){if(t<=0&&(t=1),t>100&&(t=100),a!=t){(function(t){for(var e=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],r=0;r<64;r++){var n=s((e[r]*t+50)/100);n<1?n=1:n>255&&(n=255),u[E[r]]=n}for(var i=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],o=0;o<64;o++){var a=s((i[o]*t+50)/100);a<1?a=1:a>255&&(a=255),l[E[o]]=a}for(var p=[1,1.387039845,1.306562965,1.175875602,1,.785694958,.5411961,.275899379],f=0,d=0;d<8;d++)for(var m=0;m<8;m++)c[f]=1/(u[E[f]]*p[d]*p[m]*8),h[f]=1/(l[E[f]]*p[d]*p[m]*8),f++})(t<50?Math.floor(5e3/t):Math.floor(200-2*t)),a=t}}this.encode=function(e,a){(new Date).getTime();a&&N(a),g=new Array,v=0,_=7,L(65496),L(65504),L(16),F(74),F(70),F(73),F(70),F(0),F(1),F(1),F(0),L(1),L(1),F(0),F(0),function(){L(65499),L(132),F(0);for(var t=0;t<64;t++)F(u[t]);F(1);for(var e=0;e<64;e++)F(l[e])}(),function(t,e){L(65472),L(17),F(8),L(e),L(t),F(3),F(1),F(17),F(0),F(2),F(17),F(1),F(3),F(17),F(1)}(e.width,e.height),function(){L(65476),L(418),F(0);for(var t=0;t<16;t++)F(T[t+1]);for(var e=0;e<=11;e++)F(S[e]);F(16);for(var r=0;r<16;r++)F(A[r+1]);for(var n=0;n<=161;n++)F(C[n]);F(1);for(var i=0;i<16;i++)F(R[i+1]);for(var o=0;o<=11;o++)F(B[o]);F(17);for(var a=0;a<16;a++)F(P[a+1]);for(var s=0;s<=161;s++)F(I[s])}(),L(65498),L(12),F(3),F(1),F(0),F(2),F(17),F(3),F(17),F(0),F(63),F(0);var s=0,p=0,f=0;v=0,_=7,this.encode.displayName="_encode_";for(var d,m,w,E,M,j,U,z,G,$=e.data,V=e.width,X=e.height,W=4*V,q=0;q<X;){for(d=0;d<W;){for(j=M=W*q+d,U=-1,z=0,G=0;G<64;G++)j=M+(z=G>>3)*W+(U=4*(7&G)),q+z>=X&&(j-=W*(q+1+z-X)),d+U>=W&&(j-=d+U-W+4),m=$[j++],w=$[j++],E=$[j++],y[G]=(k[m]+k[w+256>>0]+k[E+512>>0]>>16)-128,b[G]=(k[m+768>>0]+k[w+1024>>0]+k[E+1280>>0]>>16)-128,x[G]=(k[m+1280>>0]+k[w+1536>>0]+k[E+1792>>0]>>16)-128;s=O(y,c,s,r,i),p=O(b,h,p,n,o),f=O(x,h,f,n,o),d+=32}q+=8}if(_>=0){var K=[];K[1]=_+1,K[0]=(1<<_+1)-1,D(K)}return L(65497),new t(g)},function(){(new Date).getTime();e||(e=50),function(){for(var t=String.fromCharCode,e=0;e<256;e++)w[e]=t(e)}(),r=M(T,S),n=M(R,B),i=M(A,C),o=M(P,I),function(){for(var t=1,e=2,r=1;r<=15;r++){for(var n=t;n<e;n++)f[32767+n]=r,p[32767+n]=[],p[32767+n][1]=r,p[32767+n][0]=n;for(var i=-(e-1);i<=-t;i++)f[32767+i]=r,p[32767+i]=[],p[32767+i][1]=r,p[32767+i][0]=e-1+i;t<<=1,e<<=1}}(),function(){for(var t=0;t<256;t++)k[t]=19595*t,k[t+256>>0]=38470*t,k[t+512>>0]=7471*t+32768,k[t+768>>0]=-11059*t,k[t+1024>>0]=-21709*t,k[t+1280>>0]=32768*t+8421375,k[t+1536>>0]=-27439*t,k[t+1792>>0]=-5329*t}(),N(e),(new Date).getTime()}()}e.exports=function(t,e){void 0===e&&(e=50);return{data:new r(e).encode(t,e),width:t.width,height:t.height}}}).call(this,t("buffer").Buffer)},{buffer:71}],94:[function(t,e,r){arguments[4][65][0].apply(r,arguments)},{dup:65}],95:[function(t,e,r){"use strict";e.exports=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=r;return e}},{}],96:[function(t,e,r){function n(t){return!!t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}e.exports=function(t){return null!=t&&(n(t)||function(t){return"function"==typeof t.readFloatLE&&"function"==typeof t.slice&&n(t.slice(0,0))}(t)||!!t._isBuffer)}},{}],97:[function(t,e,r){e.exports=Array.isArray||function(t){return"[object Array]"==Object.prototype.toString.call(t)}},{}],98:[function(t,e,r){var n,i;n="undefined"!=typeof self?self:this,i=function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=3)}([function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){this.width=e,this.height=t.length/e,this.data=t}return t.createEmpty=function(e,r){return new t(new Uint8ClampedArray(e*r),e)},t.prototype.get=function(t,e){return!(t<0||t>=this.width||e<0||e>=this.height)&&!!this.data[e*this.width+t]},t.prototype.set=function(t,e,r){this.data[e*this.width+t]=r?1:0},t.prototype.setRegion=function(t,e,r,n,i){for(var o=e;o<e+n;o++)for(var a=t;a<t+r;a++)this.set(a,o,!!i)},t.prototype.getInverted=function(){return new t(this.data.map(function(t){return 0===t?1:0}),this.width)},t}();e.BitMatrix=n},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(2);e.addOrSubtractGF=function(t,e){return t^e};var i=function(){function t(t,e,r){this.primitive=t,this.size=e,this.generatorBase=r,this.expTable=new Array(this.size),this.logTable=new Array(this.size);for(var i=1,o=0;o<this.size;o++)this.expTable[o]=i,(i*=2)>=this.size&&(i=(i^this.primitive)&this.size-1);for(o=0;o<this.size-1;o++)this.logTable[this.expTable[o]]=o;this.zero=new n.default(this,Uint8ClampedArray.from([0])),this.one=new n.default(this,Uint8ClampedArray.from([1]))}return t.prototype.multiply=function(t,e){return 0===t||0===e?0:this.expTable[(this.logTable[t]+this.logTable[e])%(this.size-1)]},t.prototype.inverse=function(t){if(0===t)throw new Error("Can't invert 0");return this.expTable[this.size-this.logTable[t]-1]},t.prototype.buildMonomial=function(t,e){if(t<0)throw new Error("Invalid monomial degree less than 0");if(0===e)return this.zero;var r=new Uint8ClampedArray(t+1);return r[0]=e,new n.default(this,r)},t.prototype.log=function(t){if(0===t)throw new Error("Can't take log(0)");return this.logTable[t]},t.prototype.exp=function(t){return this.expTable[t]},t}();e.default=i},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(1),i=function(){function t(t,e){if(0===e.length)throw new Error("No coefficients.");this.field=t;var r=e.length;if(r>1&&0===e[0]){for(var n=1;n<r&&0===e[n];)n++;if(n===r)this.coefficients=t.zero.coefficients;else{this.coefficients=new Uint8ClampedArray(r-n);for(var i=0;i<this.coefficients.length;i++)this.coefficients[i]=e[n+i]}}else this.coefficients=e}return t.prototype.degree=function(){return this.coefficients.length-1},t.prototype.isZero=function(){return 0===this.coefficients[0]},t.prototype.getCoefficient=function(t){return this.coefficients[this.coefficients.length-1-t]},t.prototype.addOrSubtract=function(e){if(this.isZero())return e;if(e.isZero())return this;var r=this.coefficients,i=e.coefficients;r.length>i.length&&(r=(o=[i,r])[0],i=o[1]);for(var o,a=new Uint8ClampedArray(i.length),s=i.length-r.length,u=0;u<s;u++)a[u]=i[u];for(u=s;u<i.length;u++)a[u]=n.addOrSubtractGF(r[u-s],i[u]);return new t(this.field,a)},t.prototype.multiply=function(e){if(0===e)return this.field.zero;if(1===e)return this;for(var r=this.coefficients.length,n=new Uint8ClampedArray(r),i=0;i<r;i++)n[i]=this.field.multiply(this.coefficients[i],e);return new t(this.field,n)},t.prototype.multiplyPoly=function(e){if(this.isZero()||e.isZero())return this.field.zero;for(var r=this.coefficients,i=r.length,o=e.coefficients,a=o.length,s=new Uint8ClampedArray(i+a-1),u=0;u<i;u++)for(var l=r[u],c=0;c<a;c++)s[u+c]=n.addOrSubtractGF(s[u+c],this.field.multiply(l,o[c]));return new t(this.field,s)},t.prototype.multiplyByMonomial=function(e,r){if(e<0)throw new Error("Invalid degree less than 0");if(0===r)return this.field.zero;for(var n=this.coefficients.length,i=new Uint8ClampedArray(n+e),o=0;o<n;o++)i[o]=this.field.multiply(this.coefficients[o],r);return new t(this.field,i)},t.prototype.evaluateAt=function(t){var e=0;if(0===t)return this.getCoefficient(0);var r=this.coefficients.length;if(1===t)return this.coefficients.forEach(function(t){e=n.addOrSubtractGF(e,t)}),e;e=this.coefficients[0];for(var i=1;i<r;i++)e=n.addOrSubtractGF(this.field.multiply(t,e),this.coefficients[i]);return e},t}();e.default=i},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(4),i=r(5),o=r(11),a=r(12);function s(t){var e=a.locate(t);if(!e)return null;var r=o.extract(t,e),n=i.decode(r.matrix);return n?{binaryData:n.bytes,data:n.text,chunks:n.chunks,location:{topRightCorner:r.mappingFunction(e.dimension,0),topLeftCorner:r.mappingFunction(0,0),bottomRightCorner:r.mappingFunction(e.dimension,e.dimension),bottomLeftCorner:r.mappingFunction(0,e.dimension),topRightFinderPattern:e.topRight,topLeftFinderPattern:e.topLeft,bottomLeftFinderPattern:e.bottomLeft,bottomRightAlignmentPattern:e.alignmentPattern}}:null}function u(t,e,r){var i=n.binarize(t,e,r),o=s(i);return o||(o=s(i.getInverted())),o}u.default=u,e.default=u},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(0),i=8,o=24;function a(t,e,r){return t<e?e:t>r?r:t}var s=function(){function t(t,e){this.width=t,this.data=new Uint8ClampedArray(t*e)}return t.prototype.get=function(t,e){return this.data[e*this.width+t]},t.prototype.set=function(t,e,r){this.data[e*this.width+t]=r},t}();e.binarize=function(t,e,r){if(t.length!==e*r*4)throw new Error("Malformed data passed to binarizer.");for(var u=new s(e,r),l=0;l<e;l++)for(var c=0;c<r;c++){var h=t[4*(c*e+l)+0],p=t[4*(c*e+l)+1],f=t[4*(c*e+l)+2];u.set(l,c,.2126*h+.7152*p+.0722*f)}for(var d=Math.ceil(e/i),m=Math.ceil(r/i),g=new s(d,m),v=0;v<m;v++)for(var _=0;_<d;_++){var y=0,b=1/0,x=0;for(c=0;c<i;c++)for(l=0;l<i;l++){var w=u.get(_*i+l,v*i+c);y+=w,b=Math.min(b,w),x=Math.max(x,w)}var k=y/Math.pow(i,2);if(x-b<=o&&(k=b/2,v>0&&_>0)){var E=(g.get(_,v-1)+2*g.get(_-1,v)+g.get(_-1,v-1))/4;b<E&&(k=E)}g.set(_,v,k)}var T=n.BitMatrix.createEmpty(e,r);for(v=0;v<m;v++)for(_=0;_<d;_++){for(var S=a(_,2,d-3),A=a(v,2,m-3),C=(y=0,-2);C<=2;C++)for(var R=-2;R<=2;R++)y+=g.get(S+C,A+R);var B=y/25;for(l=0;l<i;l++)for(c=0;c<i;c++){var P=u.get(_*i+l,v*i+c);T.set(_*i+l,v*i+c,P<=B)}}return T}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(0),i=r(6),o=r(9),a=r(10);function s(t,e){for(var r=t^e,n=0;r;)n++,r&=r-1;return n}function u(t,e){return e<<1|t}var l=[{bits:21522,formatInfo:{errorCorrectionLevel:1,dataMask:0}},{bits:20773,formatInfo:{errorCorrectionLevel:1,dataMask:1}},{bits:24188,formatInfo:{errorCorrectionLevel:1,dataMask:2}},{bits:23371,formatInfo:{errorCorrectionLevel:1,dataMask:3}},{bits:17913,formatInfo:{errorCorrectionLevel:1,dataMask:4}},{bits:16590,formatInfo:{errorCorrectionLevel:1,dataMask:5}},{bits:20375,formatInfo:{errorCorrectionLevel:1,dataMask:6}},{bits:19104,formatInfo:{errorCorrectionLevel:1,dataMask:7}},{bits:30660,formatInfo:{errorCorrectionLevel:0,dataMask:0}},{bits:29427,formatInfo:{errorCorrectionLevel:0,dataMask:1}},{bits:32170,formatInfo:{errorCorrectionLevel:0,dataMask:2}},{bits:30877,formatInfo:{errorCorrectionLevel:0,dataMask:3}},{bits:26159,formatInfo:{errorCorrectionLevel:0,dataMask:4}},{bits:25368,formatInfo:{errorCorrectionLevel:0,dataMask:5}},{bits:27713,formatInfo:{errorCorrectionLevel:0,dataMask:6}},{bits:26998,formatInfo:{errorCorrectionLevel:0,dataMask:7}},{bits:5769,formatInfo:{errorCorrectionLevel:3,dataMask:0}},{bits:5054,formatInfo:{errorCorrectionLevel:3,dataMask:1}},{bits:7399,formatInfo:{errorCorrectionLevel:3,dataMask:2}},{bits:6608,formatInfo:{errorCorrectionLevel:3,dataMask:3}},{bits:1890,formatInfo:{errorCorrectionLevel:3,dataMask:4}},{bits:597,formatInfo:{errorCorrectionLevel:3,dataMask:5}},{bits:3340,formatInfo:{errorCorrectionLevel:3,dataMask:6}},{bits:2107,formatInfo:{errorCorrectionLevel:3,dataMask:7}},{bits:13663,formatInfo:{errorCorrectionLevel:2,dataMask:0}},{bits:12392,formatInfo:{errorCorrectionLevel:2,dataMask:1}},{bits:16177,formatInfo:{errorCorrectionLevel:2,dataMask:2}},{bits:14854,formatInfo:{errorCorrectionLevel:2,dataMask:3}},{bits:9396,formatInfo:{errorCorrectionLevel:2,dataMask:4}},{bits:8579,formatInfo:{errorCorrectionLevel:2,dataMask:5}},{bits:11994,formatInfo:{errorCorrectionLevel:2,dataMask:6}},{bits:11245,formatInfo:{errorCorrectionLevel:2,dataMask:7}}],c=[function(t){return(t.y+t.x)%2==0},function(t){return t.y%2==0},function(t){return t.x%3==0},function(t){return(t.y+t.x)%3==0},function(t){return(Math.floor(t.y/2)+Math.floor(t.x/3))%2==0},function(t){return t.x*t.y%2+t.x*t.y%3==0},function(t){return(t.y*t.x%2+t.y*t.x%3)%2==0},function(t){return((t.y+t.x)%2+t.y*t.x%3)%2==0}];function h(t,e,r){for(var i=c[r.dataMask],o=t.height,a=function(t){var e=17+4*t.versionNumber,r=n.BitMatrix.createEmpty(e,e);r.setRegion(0,0,9,9,!0),r.setRegion(e-8,0,8,9,!0),r.setRegion(0,e-8,9,8,!0);for(var i=0,o=t.alignmentPatternCenters;i<o.length;i++)for(var a=o[i],s=0,u=t.alignmentPatternCenters;s<u.length;s++){var l=u[s];6===a&&6===l||6===a&&l===e-7||a===e-7&&6===l||r.setRegion(a-2,l-2,5,5,!0)}return r.setRegion(6,9,1,e-17,!0),r.setRegion(9,6,e-17,1,!0),t.versionNumber>6&&(r.setRegion(e-11,0,3,6,!0),r.setRegion(0,e-11,6,3,!0)),r}(e),s=[],l=0,h=0,p=!0,f=o-1;f>0;f-=2){6===f&&f--;for(var d=0;d<o;d++)for(var m=p?o-1-d:d,g=0;g<2;g++){var v=f-g;if(!a.get(v,m)){h++;var _=t.get(v,m);i({y:m,x:v})&&(_=!_),l=u(_,l),8===h&&(s.push(l),h=0,l=0)}}p=!p}return s}function p(t){var e=function(t){var e=t.height,r=Math.floor((e-17)/4);if(r<=6)return a.VERSIONS[r-1];for(var n=0,i=5;i>=0;i--)for(var o=e-9;o>=e-11;o--)n=u(t.get(o,i),n);var l=0;for(o=5;o>=0;o--)for(i=e-9;i>=e-11;i--)l=u(t.get(o,i),l);for(var c,h=1/0,p=0,f=a.VERSIONS;p<f.length;p++){var d=f[p];if(d.infoBits===n||d.infoBits===l)return d;var m=s(n,d.infoBits);m<h&&(c=d,h=m),(m=s(l,d.infoBits))<h&&(c=d,h=m)}return h<=3?c:void 0}(t);if(!e)return null;var r=function(t){for(var e=0,r=0;r<=8;r++)6!==r&&(e=u(t.get(r,8),e));for(var n=7;n>=0;n--)6!==n&&(e=u(t.get(8,n),e));var i=t.height,o=0;for(n=i-1;n>=i-7;n--)o=u(t.get(8,n),o);for(r=i-8;r<i;r++)o=u(t.get(r,8),o);for(var a=1/0,c=null,h=0,p=l;h<p.length;h++){var f=p[h],d=f.bits,m=f.formatInfo;if(d===e||d===o)return m;var g=s(e,d);g<a&&(c=m,a=g),e!==o&&(g=s(o,d))<a&&(c=m,a=g)}return a<=3?c:null}(t);if(!r)return null;var n=function(t,e,r){var n=e.errorCorrectionLevels[r],i=[],o=0;if(n.ecBlocks.forEach(function(t){for(var e=0;e<t.numBlocks;e++)i.push({numDataCodewords:t.dataCodewordsPerBlock,codewords:[]}),o+=t.dataCodewordsPerBlock+n.ecCodewordsPerBlock}),t.length<o)return null;t=t.slice(0,o);for(var a=n.ecBlocks[0].dataCodewordsPerBlock,s=0;s<a;s++)for(var u=0,l=i;u<l.length;u++)l[u].codewords.push(t.shift());if(n.ecBlocks.length>1){var c=n.ecBlocks[0].numBlocks,h=n.ecBlocks[1].numBlocks;for(s=0;s<h;s++)i[c+s].codewords.push(t.shift())}for(;t.length>0;)for(var p=0,f=i;p<f.length;p++)f[p].codewords.push(t.shift());return i}(h(t,e,r),e,r.errorCorrectionLevel);if(!n)return null;for(var c=n.reduce(function(t,e){return t+e.numDataCodewords},0),p=new Uint8ClampedArray(c),f=0,d=0,m=n;d<m.length;d++){var g=m[d],v=o.decode(g.codewords,g.codewords.length-g.numDataCodewords);if(!v)return null;for(var _=0;_<g.numDataCodewords;_++)p[f++]=v[_]}try{return i.decode(p,e.versionNumber)}catch(t){return null}}e.decode=function(t){if(null==t)return null;var e=p(t);if(e)return e;for(var r=0;r<t.width;r++)for(var n=r+1;n<t.height;n++)t.get(r,n)!==t.get(n,r)&&(t.set(r,n,!t.get(r,n)),t.set(n,r,!t.get(n,r)));return p(t)}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n,i,o=r(7),a=r(8);function s(t,e){for(var r=[],n="",i=[10,12,14][e],o=t.readBits(i);o>=3;){if((l=t.readBits(10))>=1e3)throw new Error("Invalid numeric value above 999");var a=Math.floor(l/100),s=Math.floor(l/10)%10,u=l%10;r.push(48+a,48+s,48+u),n+=a.toString()+s.toString()+u.toString(),o-=3}if(2===o){if((l=t.readBits(7))>=100)throw new Error("Invalid numeric value above 99");a=Math.floor(l/10),s=l%10;r.push(48+a,48+s),n+=a.toString()+s.toString()}else if(1===o){var l;if((l=t.readBits(4))>=10)throw new Error("Invalid numeric value above 9");r.push(48+l),n+=l.toString()}return{bytes:r,text:n}}!function(t){t.Numeric="numeric",t.Alphanumeric="alphanumeric",t.Byte="byte",t.Kanji="kanji",t.ECI="eci"}(n=e.Mode||(e.Mode={})),function(t){t[t.Terminator=0]="Terminator",t[t.Numeric=1]="Numeric",t[t.Alphanumeric=2]="Alphanumeric",t[t.Byte=4]="Byte",t[t.Kanji=8]="Kanji",t[t.ECI=7]="ECI"}(i||(i={}));var u=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function l(t,e){for(var r=[],n="",i=[9,11,13][e],o=t.readBits(i);o>=2;){var a=t.readBits(11),s=Math.floor(a/45),l=a%45;r.push(u[s].charCodeAt(0),u[l].charCodeAt(0)),n+=u[s]+u[l],o-=2}if(1===o){s=t.readBits(6);r.push(u[s].charCodeAt(0)),n+=u[s]}return{bytes:r,text:n}}function c(t,e){for(var r=[],n="",i=[8,16,16][e],o=t.readBits(i),a=0;a<o;a++){var s=t.readBits(8);r.push(s)}try{n+=decodeURIComponent(r.map(function(t){return"%"+("0"+t.toString(16)).substr(-2)}).join(""))}catch(t){}return{bytes:r,text:n}}function h(t,e){for(var r=[],n="",i=[8,10,12][e],o=t.readBits(i),s=0;s<o;s++){var u=t.readBits(13),l=Math.floor(u/192)<<8|u%192;l+=l<7936?33088:49472,r.push(l>>8,255&l),n+=String.fromCharCode(a.shiftJISTable[l])}return{bytes:r,text:n}}e.decode=function(t,e){for(var r,a,u,p,f=new o.BitStream(t),d=e<=9?0:e<=26?1:2,m={text:"",bytes:[],chunks:[]};f.available()>=4;){var g=f.readBits(4);if(g===i.Terminator)return m;if(g===i.ECI)0===f.readBits(1)?m.chunks.push({type:n.ECI,assignmentNumber:f.readBits(7)}):0===f.readBits(1)?m.chunks.push({type:n.ECI,assignmentNumber:f.readBits(14)}):0===f.readBits(1)?m.chunks.push({type:n.ECI,assignmentNumber:f.readBits(21)}):m.chunks.push({type:n.ECI,assignmentNumber:-1});else if(g===i.Numeric){var v=s(f,d);m.text+=v.text,(r=m.bytes).push.apply(r,v.bytes),m.chunks.push({type:n.Numeric,text:v.text})}else if(g===i.Alphanumeric){var _=l(f,d);m.text+=_.text,(a=m.bytes).push.apply(a,_.bytes),m.chunks.push({type:n.Alphanumeric,text:_.text})}else if(g===i.Byte){var y=c(f,d);m.text+=y.text,(u=m.bytes).push.apply(u,y.bytes),m.chunks.push({type:n.Byte,bytes:y.bytes,text:y.text})}else if(g===i.Kanji){var b=h(f,d);m.text+=b.text,(p=m.bytes).push.apply(p,b.bytes),m.chunks.push({type:n.Kanji,bytes:b.bytes,text:b.text})}}}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t){this.byteOffset=0,this.bitOffset=0,this.bytes=t}return t.prototype.readBits=function(t){if(t<1||t>32||t>this.available())throw new Error("Cannot read "+t.toString()+" bits");var e=0;if(this.bitOffset>0){var r=8-this.bitOffset,n=t<r?t:r,i=255>>8-n<<(o=r-n);e=(this.bytes[this.byteOffset]&i)>>o,t-=n,this.bitOffset+=n,8===this.bitOffset&&(this.bitOffset=0,this.byteOffset++)}if(t>0){for(;t>=8;)e=e<<8|255&this.bytes[this.byteOffset],this.byteOffset++,t-=8;if(t>0){var o;i=255>>(o=8-t)<<o;e=e<<t|(this.bytes[this.byteOffset]&i)>>o,this.bitOffset+=t}}return e},t.prototype.available=function(){return 8*(this.bytes.length-this.byteOffset)-this.bitOffset},t}();e.BitStream=n},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.shiftJISTable={32:32,33:33,34:34,35:35,36:36,37:37,38:38,39:39,40:40,41:41,42:42,43:43,44:44,45:45,46:46,47:47,48:48,49:49,50:50,51:51,52:52,53:53,54:54,55:55,56:56,57:57,58:58,59:59,60:60,61:61,62:62,63:63,64:64,65:65,66:66,67:67,68:68,69:69,70:70,71:71,72:72,73:73,74:74,75:75,76:76,77:77,78:78,79:79,80:80,81:81,82:82,83:83,84:84,85:85,86:86,87:87,88:88,89:89,90:90,91:91,92:165,93:93,94:94,95:95,96:96,97:97,98:98,99:99,100:100,101:101,102:102,103:103,104:104,105:105,106:106,107:107,108:108,109:109,110:110,111:111,112:112,113:113,114:114,115:115,116:116,117:117,118:118,119:119,120:120,121:121,122:122,123:123,124:124,125:125,126:8254,33088:12288,33089:12289,33090:12290,33091:65292,33092:65294,33093:12539,33094:65306,33095:65307,33096:65311,33097:65281,33098:12443,33099:12444,33100:180,33101:65344,33102:168,33103:65342,33104:65507,33105:65343,33106:12541,33107:12542,33108:12445,33109:12446,33110:12291,33111:20189,33112:12293,33113:12294,33114:12295,33115:12540,33116:8213,33117:8208,33118:65295,33119:92,33120:12316,33121:8214,33122:65372,33123:8230,33124:8229,33125:8216,33126:8217,33127:8220,33128:8221,33129:65288,33130:65289,33131:12308,33132:12309,33133:65339,33134:65341,33135:65371,33136:65373,33137:12296,33138:12297,33139:12298,33140:12299,33141:12300,33142:12301,33143:12302,33144:12303,33145:12304,33146:12305,33147:65291,33148:8722,33149:177,33150:215,33152:247,33153:65309,33154:8800,33155:65308,33156:65310,33157:8806,33158:8807,33159:8734,33160:8756,33161:9794,33162:9792,33163:176,33164:8242,33165:8243,33166:8451,33167:65509,33168:65284,33169:162,33170:163,33171:65285,33172:65283,33173:65286,33174:65290,33175:65312,33176:167,33177:9734,33178:9733,33179:9675,33180:9679,33181:9678,33182:9671,33183:9670,33184:9633,33185:9632,33186:9651,33187:9650,33188:9661,33189:9660,33190:8251,33191:12306,33192:8594,33193:8592,33194:8593,33195:8595,33196:12307,33208:8712,33209:8715,33210:8838,33211:8839,33212:8834,33213:8835,33214:8746,33215:8745,33224:8743,33225:8744,33226:172,33227:8658,33228:8660,33229:8704,33230:8707,33242:8736,33243:8869,33244:8978,33245:8706,33246:8711,33247:8801,33248:8786,33249:8810,33250:8811,33251:8730,33252:8765,33253:8733,33254:8757,33255:8747,33256:8748,33264:8491,33265:8240,33266:9839,33267:9837,33268:9834,33269:8224,33270:8225,33271:182,33276:9711,33359:65296,33360:65297,33361:65298,33362:65299,33363:65300,33364:65301,33365:65302,33366:65303,33367:65304,33368:65305,33376:65313,33377:65314,33378:65315,33379:65316,33380:65317,33381:65318,33382:65319,33383:65320,33384:65321,33385:65322,33386:65323,33387:65324,33388:65325,33389:65326,33390:65327,33391:65328,33392:65329,33393:65330,33394:65331,33395:65332,33396:65333,33397:65334,33398:65335,33399:65336,33400:65337,33401:65338,33409:65345,33410:65346,33411:65347,33412:65348,33413:65349,33414:65350,33415:65351,33416:65352,33417:65353,33418:65354,33419:65355,33420:65356,33421:65357,33422:65358,33423:65359,33424:65360,33425:65361,33426:65362,33427:65363,33428:65364,33429:65365,33430:65366,33431:65367,33432:65368,33433:65369,33434:65370,33439:12353,33440:12354,33441:12355,33442:12356,33443:12357,33444:12358,33445:12359,33446:12360,33447:12361,33448:12362,33449:12363,33450:12364,33451:12365,33452:12366,33453:12367,33454:12368,33455:12369,33456:12370,33457:12371,33458:12372,33459:12373,33460:12374,33461:12375,33462:12376,33463:12377,33464:12378,33465:12379,33466:12380,33467:12381,33468:12382,33469:12383,33470:12384,33471:12385,33472:12386,33473:12387,33474:12388,33475:12389,33476:12390,33477:12391,33478:12392,33479:12393,33480:12394,33481:12395,33482:12396,33483:12397,33484:12398,33485:12399,33486:12400,33487:12401,33488:12402,33489:12403,33490:12404,33491:12405,33492:12406,33493:12407,33494:12408,33495:12409,33496:12410,33497:12411,33498:12412,33499:12413,33500:12414,33501:12415,33502:12416,33503:12417,33504:12418,33505:12419,33506:12420,33507:12421,33508:12422,33509:12423,33510:12424,33511:12425,33512:12426,33513:12427,33514:12428,33515:12429,33516:12430,33517:12431,33518:12432,33519:12433,33520:12434,33521:12435,33600:12449,33601:12450,33602:12451,33603:12452,33604:12453,33605:12454,33606:12455,33607:12456,33608:12457,33609:12458,33610:12459,33611:12460,33612:12461,33613:12462,33614:12463,33615:12464,33616:12465,33617:12466,33618:12467,33619:12468,33620:12469,33621:12470,33622:12471,33623:12472,33624:12473,33625:12474,33626:12475,33627:12476,33628:12477,33629:12478,33630:12479,33631:12480,33632:12481,33633:12482,33634:12483,33635:12484,33636:12485,33637:12486,33638:12487,33639:12488,33640:12489,33641:12490,33642:12491,33643:12492,33644:12493,33645:12494,33646:12495,33647:12496,33648:12497,33649:12498,33650:12499,33651:12500,33652:12501,33653:12502,33654:12503,33655:12504,33656:12505,33657:12506,33658:12507,33659:12508,33660:12509,33661:12510,33662:12511,33664:12512,33665:12513,33666:12514,33667:12515,33668:12516,33669:12517,33670:12518,33671:12519,33672:12520,33673:12521,33674:12522,33675:12523,33676:12524,33677:12525,33678:12526,33679:12527,33680:12528,33681:12529,33682:12530,33683:12531,33684:12532,33685:12533,33686:12534,33695:913,33696:914,33697:915,33698:916,33699:917,33700:918,33701:919,33702:920,33703:921,33704:922,33705:923,33706:924,33707:925,33708:926,33709:927,33710:928,33711:929,33712:931,33713:932,33714:933,33715:934,33716:935,33717:936,33718:937,33727:945,33728:946,33729:947,33730:948,33731:949,33732:950,33733:951,33734:952,33735:953,33736:954,33737:955,33738:956,33739:957,33740:958,33741:959,33742:960,33743:961,33744:963,33745:964,33746:965,33747:966,33748:967,33749:968,33750:969,33856:1040,33857:1041,33858:1042,33859:1043,33860:1044,33861:1045,33862:1025,33863:1046,33864:1047,33865:1048,33866:1049,33867:1050,33868:1051,33869:1052,33870:1053,33871:1054,33872:1055,33873:1056,33874:1057,33875:1058,33876:1059,33877:1060,33878:1061,33879:1062,33880:1063,33881:1064,33882:1065,33883:1066,33884:1067,33885:1068,33886:1069,33887:1070,33888:1071,33904:1072,33905:1073,33906:1074,33907:1075,33908:1076,33909:1077,33910:1105,33911:1078,33912:1079,33913:1080,33914:1081,33915:1082,33916:1083,33917:1084,33918:1085,33920:1086,33921:1087,33922:1088,33923:1089,33924:1090,33925:1091,33926:1092,33927:1093,33928:1094,33929:1095,33930:1096,33931:1097,33932:1098,33933:1099,33934:1100,33935:1101,33936:1102,33937:1103,33951:9472,33952:9474,33953:9484,33954:9488,33955:9496,33956:9492,33957:9500,33958:9516,33959:9508,33960:9524,33961:9532,33962:9473,33963:9475,33964:9487,33965:9491,33966:9499,33967:9495,33968:9507,33969:9523,33970:9515,33971:9531,33972:9547,33973:9504,33974:9519,33975:9512,33976:9527,33977:9535,33978:9501,33979:9520,33980:9509,33981:9528,33982:9538,34975:20124,34976:21782,34977:23043,34978:38463,34979:21696,34980:24859,34981:25384,34982:23030,34983:36898,34984:33909,34985:33564,34986:31312,34987:24746,34988:25569,34989:28197,34990:26093,34991:33894,34992:33446,34993:39925,34994:26771,34995:22311,34996:26017,34997:25201,34998:23451,34999:22992,35000:34427,35001:39156,35002:32098,35003:32190,35004:39822,35005:25110,35006:31903,35007:34999,35008:23433,35009:24245,35010:25353,35011:26263,35012:26696,35013:38343,35014:38797,35015:26447,35016:20197,35017:20234,35018:20301,35019:20381,35020:20553,35021:22258,35022:22839,35023:22996,35024:23041,35025:23561,35026:24799,35027:24847,35028:24944,35029:26131,35030:26885,35031:28858,35032:30031,35033:30064,35034:31227,35035:32173,35036:32239,35037:32963,35038:33806,35039:34915,35040:35586,35041:36949,35042:36986,35043:21307,35044:20117,35045:20133,35046:22495,35047:32946,35048:37057,35049:30959,35050:19968,35051:22769,35052:28322,35053:36920,35054:31282,35055:33576,35056:33419,35057:39983,35058:20801,35059:21360,35060:21693,35061:21729,35062:22240,35063:23035,35064:24341,35065:39154,35066:28139,35067:32996,35068:34093,35136:38498,35137:38512,35138:38560,35139:38907,35140:21515,35141:21491,35142:23431,35143:28879,35144:32701,35145:36802,35146:38632,35147:21359,35148:40284,35149:31418,35150:19985,35151:30867,35152:33276,35153:28198,35154:22040,35155:21764,35156:27421,35157:34074,35158:39995,35159:23013,35160:21417,35161:28006,35162:29916,35163:38287,35164:22082,35165:20113,35166:36939,35167:38642,35168:33615,35169:39180,35170:21473,35171:21942,35172:23344,35173:24433,35174:26144,35175:26355,35176:26628,35177:27704,35178:27891,35179:27945,35180:29787,35181:30408,35182:31310,35183:38964,35184:33521,35185:34907,35186:35424,35187:37613,35188:28082,35189:30123,35190:30410,35191:39365,35192:24742,35193:35585,35194:36234,35195:38322,35196:27022,35197:21421,35198:20870,35200:22290,35201:22576,35202:22852,35203:23476,35204:24310,35205:24616,35206:25513,35207:25588,35208:27839,35209:28436,35210:28814,35211:28948,35212:29017,35213:29141,35214:29503,35215:32257,35216:33398,35217:33489,35218:34199,35219:36960,35220:37467,35221:40219,35222:22633,35223:26044,35224:27738,35225:29989,35226:20985,35227:22830,35228:22885,35229:24448,35230:24540,35231:25276,35232:26106,35233:27178,35234:27431,35235:27572,35236:29579,35237:32705,35238:35158,35239:40236,35240:40206,35241:40644,35242:23713,35243:27798,35244:33659,35245:20740,35246:23627,35247:25014,35248:33222,35249:26742,35250:29281,35251:20057,35252:20474,35253:21368,35254:24681,35255:28201,35256:31311,35257:38899,35258:19979,35259:21270,35260:20206,35261:20309,35262:20285,35263:20385,35264:20339,35265:21152,35266:21487,35267:22025,35268:22799,35269:23233,35270:23478,35271:23521,35272:31185,35273:26247,35274:26524,35275:26550,35276:27468,35277:27827,35278:28779,35279:29634,35280:31117,35281:31166,35282:31292,35283:31623,35284:33457,35285:33499,35286:33540,35287:33655,35288:33775,35289:33747,35290:34662,35291:35506,35292:22057,35293:36008,35294:36838,35295:36942,35296:38686,35297:34442,35298:20420,35299:23784,35300:25105,35301:29273,35302:30011,35303:33253,35304:33469,35305:34558,35306:36032,35307:38597,35308:39187,35309:39381,35310:20171,35311:20250,35312:35299,35313:22238,35314:22602,35315:22730,35316:24315,35317:24555,35318:24618,35319:24724,35320:24674,35321:25040,35322:25106,35323:25296,35324:25913,35392:39745,35393:26214,35394:26800,35395:28023,35396:28784,35397:30028,35398:30342,35399:32117,35400:33445,35401:34809,35402:38283,35403:38542,35404:35997,35405:20977,35406:21182,35407:22806,35408:21683,35409:23475,35410:23830,35411:24936,35412:27010,35413:28079,35414:30861,35415:33995,35416:34903,35417:35442,35418:37799,35419:39608,35420:28012,35421:39336,35422:34521,35423:22435,35424:26623,35425:34510,35426:37390,35427:21123,35428:22151,35429:21508,35430:24275,35431:25313,35432:25785,35433:26684,35434:26680,35435:27579,35436:29554,35437:30906,35438:31339,35439:35226,35440:35282,35441:36203,35442:36611,35443:37101,35444:38307,35445:38548,35446:38761,35447:23398,35448:23731,35449:27005,35450:38989,35451:38990,35452:25499,35453:31520,35454:27179,35456:27263,35457:26806,35458:39949,35459:28511,35460:21106,35461:21917,35462:24688,35463:25324,35464:27963,35465:28167,35466:28369,35467:33883,35468:35088,35469:36676,35470:19988,35471:39993,35472:21494,35473:26907,35474:27194,35475:38788,35476:26666,35477:20828,35478:31427,35479:33970,35480:37340,35481:37772,35482:22107,35483:40232,35484:26658,35485:33541,35486:33841,35487:31909,35488:21e3,35489:33477,35490:29926,35491:20094,35492:20355,35493:20896,35494:23506,35495:21002,35496:21208,35497:21223,35498:24059,35499:21914,35500:22570,35501:23014,35502:23436,35503:23448,35504:23515,35505:24178,35506:24185,35507:24739,35508:24863,35509:24931,35510:25022,35511:25563,35512:25954,35513:26577,35514:26707,35515:26874,35516:27454,35517:27475,35518:27735,35519:28450,35520:28567,35521:28485,35522:29872,35523:29976,35524:30435,35525:30475,35526:31487,35527:31649,35528:31777,35529:32233,35530:32566,35531:32752,35532:32925,35533:33382,35534:33694,35535:35251,35536:35532,35537:36011,35538:36996,35539:37969,35540:38291,35541:38289,35542:38306,35543:38501,35544:38867,35545:39208,35546:33304,35547:20024,35548:21547,35549:23736,35550:24012,35551:29609,35552:30284,35553:30524,35554:23721,35555:32747,35556:36107,35557:38593,35558:38929,35559:38996,35560:39e3,35561:20225,35562:20238,35563:21361,35564:21916,35565:22120,35566:22522,35567:22855,35568:23305,35569:23492,35570:23696,35571:24076,35572:24190,35573:24524,35574:25582,35575:26426,35576:26071,35577:26082,35578:26399,35579:26827,35580:26820,35648:27231,35649:24112,35650:27589,35651:27671,35652:27773,35653:30079,35654:31048,35655:23395,35656:31232,35657:32e3,35658:24509,35659:35215,35660:35352,35661:36020,35662:36215,35663:36556,35664:36637,35665:39138,35666:39438,35667:39740,35668:20096,35669:20605,35670:20736,35671:22931,35672:23452,35673:25135,35674:25216,35675:25836,35676:27450,35677:29344,35678:30097,35679:31047,35680:32681,35681:34811,35682:35516,35683:35696,35684:25516,35685:33738,35686:38816,35687:21513,35688:21507,35689:21931,35690:26708,35691:27224,35692:35440,35693:30759,35694:26485,35695:40653,35696:21364,35697:23458,35698:33050,35699:34384,35700:36870,35701:19992,35702:20037,35703:20167,35704:20241,35705:21450,35706:21560,35707:23470,35708:24339,35709:24613,35710:25937,35712:26429,35713:27714,35714:27762,35715:27875,35716:28792,35717:29699,35718:31350,35719:31406,35720:31496,35721:32026,35722:31998,35723:32102,35724:26087,35725:29275,35726:21435,35727:23621,35728:24040,35729:25298,35730:25312,35731:25369,35732:28192,35733:34394,35734:35377,35735:36317,35736:37624,35737:28417,35738:31142,35739:39770,35740:20136,35741:20139,35742:20140,35743:20379,35744:20384,35745:20689,35746:20807,35747:31478,35748:20849,35749:20982,35750:21332,35751:21281,35752:21375,35753:21483,35754:21932,35755:22659,35756:23777,35757:24375,35758:24394,35759:24623,35760:24656,35761:24685,35762:25375,35763:25945,35764:27211,35765:27841,35766:29378,35767:29421,35768:30703,35769:33016,35770:33029,35771:33288,35772:34126,35773:37111,35774:37857,35775:38911,35776:39255,35777:39514,35778:20208,35779:20957,35780:23597,35781:26241,35782:26989,35783:23616,35784:26354,35785:26997,35786:29577,35787:26704,35788:31873,35789:20677,35790:21220,35791:22343,35792:24062,35793:37670,35794:26020,35795:27427,35796:27453,35797:29748,35798:31105,35799:31165,35800:31563,35801:32202,35802:33465,35803:33740,35804:34943,35805:35167,35806:35641,35807:36817,35808:37329,35809:21535,35810:37504,35811:20061,35812:20534,35813:21477,35814:21306,35815:29399,35816:29590,35817:30697,35818:33510,35819:36527,35820:39366,35821:39368,35822:39378,35823:20855,35824:24858,35825:34398,35826:21936,35827:31354,35828:20598,35829:23507,35830:36935,35831:38533,35832:20018,35833:27355,35834:37351,35835:23633,35836:23624,35904:25496,35905:31391,35906:27795,35907:38772,35908:36705,35909:31402,35910:29066,35911:38536,35912:31874,35913:26647,35914:32368,35915:26705,35916:37740,35917:21234,35918:21531,35919:34219,35920:35347,35921:32676,35922:36557,35923:37089,35924:21350,35925:34952,35926:31041,35927:20418,35928:20670,35929:21009,35930:20804,35931:21843,35932:22317,35933:29674,35934:22411,35935:22865,35936:24418,35937:24452,35938:24693,35939:24950,35940:24935,35941:25001,35942:25522,35943:25658,35944:25964,35945:26223,35946:26690,35947:28179,35948:30054,35949:31293,35950:31995,35951:32076,35952:32153,35953:32331,35954:32619,35955:33550,35956:33610,35957:34509,35958:35336,35959:35427,35960:35686,35961:36605,35962:38938,35963:40335,35964:33464,35965:36814,35966:39912,35968:21127,35969:25119,35970:25731,35971:28608,35972:38553,35973:26689,35974:20625,35975:27424,35976:27770,35977:28500,35978:31348,35979:32080,35980:34880,35981:35363,35982:26376,35983:20214,35984:20537,35985:20518,35986:20581,35987:20860,35988:21048,35989:21091,35990:21927,35991:22287,35992:22533,35993:23244,35994:24314,35995:25010,35996:25080,35997:25331,35998:25458,35999:26908,36000:27177,36001:29309,36002:29356,36003:29486,36004:30740,36005:30831,36006:32121,36007:30476,36008:32937,36009:35211,36010:35609,36011:36066,36012:36562,36013:36963,36014:37749,36015:38522,36016:38997,36017:39443,36018:40568,36019:20803,36020:21407,36021:21427,36022:24187,36023:24358,36024:28187,36025:28304,36026:29572,36027:29694,36028:32067,36029:33335,36030:35328,36031:35578,36032:38480,36033:20046,36034:20491,36035:21476,36036:21628,36037:22266,36038:22993,36039:23396,36040:24049,36041:24235,36042:24359,36043:25144,36044:25925,36045:26543,36046:28246,36047:29392,36048:31946,36049:34996,36050:32929,36051:32993,36052:33776,36053:34382,36054:35463,36055:36328,36056:37431,36057:38599,36058:39015,36059:40723,36060:20116,36061:20114,36062:20237,36063:21320,36064:21577,36065:21566,36066:23087,36067:24460,36068:24481,36069:24735,36070:26791,36071:27278,36072:29786,36073:30849,36074:35486,36075:35492,36076:35703,36077:37264,36078:20062,36079:39881,36080:20132,36081:20348,36082:20399,36083:20505,36084:20502,36085:20809,36086:20844,36087:21151,36088:21177,36089:21246,36090:21402,36091:21475,36092:21521,36160:21518,36161:21897,36162:22353,36163:22434,36164:22909,36165:23380,36166:23389,36167:23439,36168:24037,36169:24039,36170:24055,36171:24184,36172:24195,36173:24218,36174:24247,36175:24344,36176:24658,36177:24908,36178:25239,36179:25304,36180:25511,36181:25915,36182:26114,36183:26179,36184:26356,36185:26477,36186:26657,36187:26775,36188:27083,36189:27743,36190:27946,36191:28009,36192:28207,36193:28317,36194:30002,36195:30343,36196:30828,36197:31295,36198:31968,36199:32005,36200:32024,36201:32094,36202:32177,36203:32789,36204:32771,36205:32943,36206:32945,36207:33108,36208:33167,36209:33322,36210:33618,36211:34892,36212:34913,36213:35611,36214:36002,36215:36092,36216:37066,36217:37237,36218:37489,36219:30783,36220:37628,36221:38308,36222:38477,36224:38917,36225:39321,36226:39640,36227:40251,36228:21083,36229:21163,36230:21495,36231:21512,36232:22741,36233:25335,36234:28640,36235:35946,36236:36703,36237:40633,36238:20811,36239:21051,36240:21578,36241:22269,36242:31296,36243:37239,36244:40288,36245:40658,36246:29508,36247:28425,36248:33136,36249:29969,36250:24573,36251:24794,36252:39592,36253:29403,36254:36796,36255:27492,36256:38915,36257:20170,36258:22256,36259:22372,36260:22718,36261:23130,36262:24680,36263:25031,36264:26127,36265:26118,36266:26681,36267:26801,36268:28151,36269:30165,36270:32058,36271:33390,36272:39746,36273:20123,36274:20304,36275:21449,36276:21766,36277:23919,36278:24038,36279:24046,36280:26619,36281:27801,36282:29811,36283:30722,36284:35408,36285:37782,36286:35039,36287:22352,36288:24231,36289:25387,36290:20661,36291:20652,36292:20877,36293:26368,36294:21705,36295:22622,36296:22971,36297:23472,36298:24425,36299:25165,36300:25505,36301:26685,36302:27507,36303:28168,36304:28797,36305:37319,36306:29312,36307:30741,36308:30758,36309:31085,36310:25998,36311:32048,36312:33756,36313:35009,36314:36617,36315:38555,36316:21092,36317:22312,36318:26448,36319:32618,36320:36001,36321:20916,36322:22338,36323:38442,36324:22586,36325:27018,36326:32948,36327:21682,36328:23822,36329:22524,36330:30869,36331:40442,36332:20316,36333:21066,36334:21643,36335:25662,36336:26152,36337:26388,36338:26613,36339:31364,36340:31574,36341:32034,36342:37679,36343:26716,36344:39853,36345:31545,36346:21273,36347:20874,36348:21047,36416:23519,36417:25334,36418:25774,36419:25830,36420:26413,36421:27578,36422:34217,36423:38609,36424:30352,36425:39894,36426:25420,36427:37638,36428:39851,36429:30399,36430:26194,36431:19977,36432:20632,36433:21442,36434:23665,36435:24808,36436:25746,36437:25955,36438:26719,36439:29158,36440:29642,36441:29987,36442:31639,36443:32386,36444:34453,36445:35715,36446:36059,36447:37240,36448:39184,36449:26028,36450:26283,36451:27531,36452:20181,36453:20180,36454:20282,36455:20351,36456:21050,36457:21496,36458:21490,36459:21987,36460:22235,36461:22763,36462:22987,36463:22985,36464:23039,36465:23376,36466:23629,36467:24066,36468:24107,36469:24535,36470:24605,36471:25351,36472:25903,36473:23388,36474:26031,36475:26045,36476:26088,36477:26525,36478:27490,36480:27515,36481:27663,36482:29509,36483:31049,36484:31169,36485:31992,36486:32025,36487:32043,36488:32930,36489:33026,36490:33267,36491:35222,36492:35422,36493:35433,36494:35430,36495:35468,36496:35566,36497:36039,36498:36060,36499:38604,36500:39164,36501:27503,36502:20107,36503:20284,36504:20365,36505:20816,36506:23383,36507:23546,36508:24904,36509:25345,36510:26178,36511:27425,36512:28363,36513:27835,36514:29246,36515:29885,36516:30164,36517:30913,36518:31034,36519:32780,36520:32819,36521:33258,36522:33940,36523:36766,36524:27728,36525:40575,36526:24335,36527:35672,36528:40235,36529:31482,36530:36600,36531:23437,36532:38635,36533:19971,36534:21489,36535:22519,36536:22833,36537:23241,36538:23460,36539:24713,36540:28287,36541:28422,36542:30142,36543:36074,36544:23455,36545:34048,36546:31712,36547:20594,36548:26612,36549:33437,36550:23649,36551:34122,36552:32286,36553:33294,36554:20889,36555:23556,36556:25448,36557:36198,36558:26012,36559:29038,36560:31038,36561:32023,36562:32773,36563:35613,36564:36554,36565:36974,36566:34503,36567:37034,36568:20511,36569:21242,36570:23610,36571:26451,36572:28796,36573:29237,36574:37196,36575:37320,36576:37675,36577:33509,36578:23490,36579:24369,36580:24825,36581:20027,36582:21462,36583:23432,36584:25163,36585:26417,36586:27530,36587:29417,36588:29664,36589:31278,36590:33131,36591:36259,36592:37202,36593:39318,36594:20754,36595:21463,36596:21610,36597:23551,36598:25480,36599:27193,36600:32172,36601:38656,36602:22234,36603:21454,36604:21608,36672:23447,36673:23601,36674:24030,36675:20462,36676:24833,36677:25342,36678:27954,36679:31168,36680:31179,36681:32066,36682:32333,36683:32722,36684:33261,36685:33311,36686:33936,36687:34886,36688:35186,36689:35728,36690:36468,36691:36655,36692:36913,36693:37195,36694:37228,36695:38598,36696:37276,36697:20160,36698:20303,36699:20805,36700:21313,36701:24467,36702:25102,36703:26580,36704:27713,36705:28171,36706:29539,36707:32294,36708:37325,36709:37507,36710:21460,36711:22809,36712:23487,36713:28113,36714:31069,36715:32302,36716:31899,36717:22654,36718:29087,36719:20986,36720:34899,36721:36848,36722:20426,36723:23803,36724:26149,36725:30636,36726:31459,36727:33308,36728:39423,36729:20934,36730:24490,36731:26092,36732:26991,36733:27529,36734:28147,36736:28310,36737:28516,36738:30462,36739:32020,36740:24033,36741:36981,36742:37255,36743:38918,36744:20966,36745:21021,36746:25152,36747:26257,36748:26329,36749:28186,36750:24246,36751:32210,36752:32626,36753:26360,36754:34223,36755:34295,36756:35576,36757:21161,36758:21465,36759:22899,36760:24207,36761:24464,36762:24661,36763:37604,36764:38500,36765:20663,36766:20767,36767:21213,36768:21280,36769:21319,36770:21484,36771:21736,36772:21830,36773:21809,36774:22039,36775:22888,36776:22974,36777:23100,36778:23477,36779:23558,36780:23567,36781:23569,36782:23578,36783:24196,36784:24202,36785:24288,36786:24432,36787:25215,36788:25220,36789:25307,36790:25484,36791:25463,36792:26119,36793:26124,36794:26157,36795:26230,36796:26494,36797:26786,36798:27167,36799:27189,36800:27836,36801:28040,36802:28169,36803:28248,36804:28988,36805:28966,36806:29031,36807:30151,36808:30465,36809:30813,36810:30977,36811:31077,36812:31216,36813:31456,36814:31505,36815:31911,36816:32057,36817:32918,36818:33750,36819:33931,36820:34121,36821:34909,36822:35059,36823:35359,36824:35388,36825:35412,36826:35443,36827:35937,36828:36062,36829:37284,36830:37478,36831:37758,36832:37912,36833:38556,36834:38808,36835:19978,36836:19976,36837:19998,36838:20055,36839:20887,36840:21104,36841:22478,36842:22580,36843:22732,36844:23330,36845:24120,36846:24773,36847:25854,36848:26465,36849:26454,36850:27972,36851:29366,36852:30067,36853:31331,36854:33976,36855:35698,36856:37304,36857:37664,36858:22065,36859:22516,36860:39166,36928:25325,36929:26893,36930:27542,36931:29165,36932:32340,36933:32887,36934:33394,36935:35302,36936:39135,36937:34645,36938:36785,36939:23611,36940:20280,36941:20449,36942:20405,36943:21767,36944:23072,36945:23517,36946:23529,36947:24515,36948:24910,36949:25391,36950:26032,36951:26187,36952:26862,36953:27035,36954:28024,36955:28145,36956:30003,36957:30137,36958:30495,36959:31070,36960:31206,36961:32051,36962:33251,36963:33455,36964:34218,36965:35242,36966:35386,36967:36523,36968:36763,36969:36914,36970:37341,36971:38663,36972:20154,36973:20161,36974:20995,36975:22645,36976:22764,36977:23563,36978:29978,36979:23613,36980:33102,36981:35338,36982:36805,36983:38499,36984:38765,36985:31525,36986:35535,36987:38920,36988:37218,36989:22259,36990:21416,36992:36887,36993:21561,36994:22402,36995:24101,36996:25512,36997:27700,36998:28810,36999:30561,37000:31883,37001:32736,37002:34928,37003:36930,37004:37204,37005:37648,37006:37656,37007:38543,37008:29790,37009:39620,37010:23815,37011:23913,37012:25968,37013:26530,37014:36264,37015:38619,37016:25454,37017:26441,37018:26905,37019:33733,37020:38935,37021:38592,37022:35070,37023:28548,37024:25722,37025:23544,37026:19990,37027:28716,37028:30045,37029:26159,37030:20932,37031:21046,37032:21218,37033:22995,37034:24449,37035:24615,37036:25104,37037:25919,37038:25972,37039:26143,37040:26228,37041:26866,37042:26646,37043:27491,37044:28165,37045:29298,37046:29983,37047:30427,37048:31934,37049:32854,37050:22768,37051:35069,37052:35199,37053:35488,37054:35475,37055:35531,37056:36893,37057:37266,37058:38738,37059:38745,37060:25993,37061:31246,37062:33030,37063:38587,37064:24109,37065:24796,37066:25114,37067:26021,37068:26132,37069:26512,37070:30707,37071:31309,37072:31821,37073:32318,37074:33034,37075:36012,37076:36196,37077:36321,37078:36447,37079:30889,37080:20999,37081:25305,37082:25509,37083:25666,37084:25240,37085:35373,37086:31363,37087:31680,37088:35500,37089:38634,37090:32118,37091:33292,37092:34633,37093:20185,37094:20808,37095:21315,37096:21344,37097:23459,37098:23554,37099:23574,37100:24029,37101:25126,37102:25159,37103:25776,37104:26643,37105:26676,37106:27849,37107:27973,37108:27927,37109:26579,37110:28508,37111:29006,37112:29053,37113:26059,37114:31359,37115:31661,37116:32218,37184:32330,37185:32680,37186:33146,37187:33307,37188:33337,37189:34214,37190:35438,37191:36046,37192:36341,37193:36984,37194:36983,37195:37549,37196:37521,37197:38275,37198:39854,37199:21069,37200:21892,37201:28472,37202:28982,37203:20840,37204:31109,37205:32341,37206:33203,37207:31950,37208:22092,37209:22609,37210:23720,37211:25514,37212:26366,37213:26365,37214:26970,37215:29401,37216:30095,37217:30094,37218:30990,37219:31062,37220:31199,37221:31895,37222:32032,37223:32068,37224:34311,37225:35380,37226:38459,37227:36961,37228:40736,37229:20711,37230:21109,37231:21452,37232:21474,37233:20489,37234:21930,37235:22766,37236:22863,37237:29245,37238:23435,37239:23652,37240:21277,37241:24803,37242:24819,37243:25436,37244:25475,37245:25407,37246:25531,37248:25805,37249:26089,37250:26361,37251:24035,37252:27085,37253:27133,37254:28437,37255:29157,37256:20105,37257:30185,37258:30456,37259:31379,37260:31967,37261:32207,37262:32156,37263:32865,37264:33609,37265:33624,37266:33900,37267:33980,37268:34299,37269:35013,37270:36208,37271:36865,37272:36973,37273:37783,37274:38684,37275:39442,37276:20687,37277:22679,37278:24974,37279:33235,37280:34101,37281:36104,37282:36896,37283:20419,37284:20596,37285:21063,37286:21363,37287:24687,37288:25417,37289:26463,37290:28204,37291:36275,37292:36895,37293:20439,37294:23646,37295:36042,37296:26063,37297:32154,37298:21330,37299:34966,37300:20854,37301:25539,37302:23384,37303:23403,37304:23562,37305:25613,37306:26449,37307:36956,37308:20182,37309:22810,37310:22826,37311:27760,37312:35409,37313:21822,37314:22549,37315:22949,37316:24816,37317:25171,37318:26561,37319:33333,37320:26965,37321:38464,37322:39364,37323:39464,37324:20307,37325:22534,37326:23550,37327:32784,37328:23729,37329:24111,37330:24453,37331:24608,37332:24907,37333:25140,37334:26367,37335:27888,37336:28382,37337:32974,37338:33151,37339:33492,37340:34955,37341:36024,37342:36864,37343:36910,37344:38538,37345:40667,37346:39899,37347:20195,37348:21488,37349:22823,37350:31532,37351:37261,37352:38988,37353:40441,37354:28381,37355:28711,37356:21331,37357:21828,37358:23429,37359:25176,37360:25246,37361:25299,37362:27810,37363:28655,37364:29730,37365:35351,37366:37944,37367:28609,37368:35582,37369:33592,37370:20967,37371:34552,37372:21482,37440:21481,37441:20294,37442:36948,37443:36784,37444:22890,37445:33073,37446:24061,37447:31466,37448:36799,37449:26842,37450:35895,37451:29432,37452:40008,37453:27197,37454:35504,37455:20025,37456:21336,37457:22022,37458:22374,37459:25285,37460:25506,37461:26086,37462:27470,37463:28129,37464:28251,37465:28845,37466:30701,37467:31471,37468:31658,37469:32187,37470:32829,37471:32966,37472:34507,37473:35477,37474:37723,37475:22243,37476:22727,37477:24382,37478:26029,37479:26262,37480:27264,37481:27573,37482:30007,37483:35527,37484:20516,37485:30693,37486:22320,37487:24347,37488:24677,37489:26234,37490:27744,37491:30196,37492:31258,37493:32622,37494:33268,37495:34584,37496:36933,37497:39347,37498:31689,37499:30044,37500:31481,37501:31569,37502:33988,37504:36880,37505:31209,37506:31378,37507:33590,37508:23265,37509:30528,37510:20013,37511:20210,37512:23449,37513:24544,37514:25277,37515:26172,37516:26609,37517:27880,37518:34411,37519:34935,37520:35387,37521:37198,37522:37619,37523:39376,37524:27159,37525:28710,37526:29482,37527:33511,37528:33879,37529:36015,37530:19969,37531:20806,37532:20939,37533:21899,37534:23541,37535:24086,37536:24115,37537:24193,37538:24340,37539:24373,37540:24427,37541:24500,37542:25074,37543:25361,37544:26274,37545:26397,37546:28526,37547:29266,37548:30010,37549:30522,37550:32884,37551:33081,37552:33144,37553:34678,37554:35519,37555:35548,37556:36229,37557:36339,37558:37530,37559:38263,37560:38914,37561:40165,37562:21189,37563:25431,37564:30452,37565:26389,37566:27784,37567:29645,37568:36035,37569:37806,37570:38515,37571:27941,37572:22684,37573:26894,37574:27084,37575:36861,37576:37786,37577:30171,37578:36890,37579:22618,37580:26626,37581:25524,37582:27131,37583:20291,37584:28460,37585:26584,37586:36795,37587:34086,37588:32180,37589:37716,37590:26943,37591:28528,37592:22378,37593:22775,37594:23340,37595:32044,37596:29226,37597:21514,37598:37347,37599:40372,37600:20141,37601:20302,37602:20572,37603:20597,37604:21059,37605:35998,37606:21576,37607:22564,37608:23450,37609:24093,37610:24213,37611:24237,37612:24311,37613:24351,37614:24716,37615:25269,37616:25402,37617:25552,37618:26799,37619:27712,37620:30855,37621:31118,37622:31243,37623:32224,37624:33351,37625:35330,37626:35558,37627:36420,37628:36883,37696:37048,37697:37165,37698:37336,37699:40718,37700:27877,37701:25688,37702:25826,37703:25973,37704:28404,37705:30340,37706:31515,37707:36969,37708:37841,37709:28346,37710:21746,37711:24505,37712:25764,37713:36685,37714:36845,37715:37444,37716:20856,37717:22635,37718:22825,37719:23637,37720:24215,37721:28155,37722:32399,37723:29980,37724:36028,37725:36578,37726:39003,37727:28857,37728:20253,37729:27583,37730:28593,37731:3e4,37732:38651,37733:20814,37734:21520,37735:22581,37736:22615,37737:22956,37738:23648,37739:24466,37740:26007,37741:26460,37742:28193,37743:30331,37744:33759,37745:36077,37746:36884,37747:37117,37748:37709,37749:30757,37750:30778,37751:21162,37752:24230,37753:22303,37754:22900,37755:24594,37756:20498,37757:20826,37758:20908,37760:20941,37761:20992,37762:21776,37763:22612,37764:22616,37765:22871,37766:23445,37767:23798,37768:23947,37769:24764,37770:25237,37771:25645,37772:26481,37773:26691,37774:26812,37775:26847,37776:30423,37777:28120,37778:28271,37779:28059,37780:28783,37781:29128,37782:24403,37783:30168,37784:31095,37785:31561,37786:31572,37787:31570,37788:31958,37789:32113,37790:21040,37791:33891,37792:34153,37793:34276,37794:35342,37795:35588,37796:35910,37797:36367,37798:36867,37799:36879,37800:37913,37801:38518,37802:38957,37803:39472,37804:38360,37805:20685,37806:21205,37807:21516,37808:22530,37809:23566,37810:24999,37811:25758,37812:27934,37813:30643,37814:31461,37815:33012,37816:33796,37817:36947,37818:37509,37819:23776,37820:40199,37821:21311,37822:24471,37823:24499,37824:28060,37825:29305,37826:30563,37827:31167,37828:31716,37829:27602,37830:29420,37831:35501,37832:26627,37833:27233,37834:20984,37835:31361,37836:26932,37837:23626,37838:40182,37839:33515,37840:23493,37841:37193,37842:28702,37843:22136,37844:23663,37845:24775,37846:25958,37847:27788,37848:35930,37849:36929,37850:38931,37851:21585,37852:26311,37853:37389,37854:22856,37855:37027,37856:20869,37857:20045,37858:20970,37859:34201,37860:35598,37861:28760,37862:25466,37863:37707,37864:26978,37865:39348,37866:32260,37867:30071,37868:21335,37869:26976,37870:36575,37871:38627,37872:27741,37873:20108,37874:23612,37875:24336,37876:36841,37877:21250,37878:36049,37879:32905,37880:34425,37881:24319,37882:26085,37883:20083,37884:20837,37952:22914,37953:23615,37954:38894,37955:20219,37956:22922,37957:24525,37958:35469,37959:28641,37960:31152,37961:31074,37962:23527,37963:33905,37964:29483,37965:29105,37966:24180,37967:24565,37968:25467,37969:25754,37970:29123,37971:31896,37972:20035,37973:24316,37974:20043,37975:22492,37976:22178,37977:24745,37978:28611,37979:32013,37980:33021,37981:33075,37982:33215,37983:36786,37984:35223,37985:34468,37986:24052,37987:25226,37988:25773,37989:35207,37990:26487,37991:27874,37992:27966,37993:29750,37994:30772,37995:23110,37996:32629,37997:33453,37998:39340,37999:20467,38000:24259,38001:25309,38002:25490,38003:25943,38004:26479,38005:30403,38006:29260,38007:32972,38008:32954,38009:36649,38010:37197,38011:20493,38012:22521,38013:23186,38014:26757,38016:26995,38017:29028,38018:29437,38019:36023,38020:22770,38021:36064,38022:38506,38023:36889,38024:34687,38025:31204,38026:30695,38027:33833,38028:20271,38029:21093,38030:21338,38031:25293,38032:26575,38033:27850,38034:30333,38035:31636,38036:31893,38037:33334,38038:34180,38039:36843,38040:26333,38041:28448,38042:29190,38043:32283,38044:33707,38045:39361,38046:40614,38047:20989,38048:31665,38049:30834,38050:31672,38051:32903,38052:31560,38053:27368,38054:24161,38055:32908,38056:30033,38057:30048,38058:20843,38059:37474,38060:28300,38061:30330,38062:37271,38063:39658,38064:20240,38065:32624,38066:25244,38067:31567,38068:38309,38069:40169,38070:22138,38071:22617,38072:34532,38073:38588,38074:20276,38075:21028,38076:21322,38077:21453,38078:21467,38079:24070,38080:25644,38081:26001,38082:26495,38083:27710,38084:27726,38085:29256,38086:29359,38087:29677,38088:30036,38089:32321,38090:33324,38091:34281,38092:36009,38093:31684,38094:37318,38095:29033,38096:38930,38097:39151,38098:25405,38099:26217,38100:30058,38101:30436,38102:30928,38103:34115,38104:34542,38105:21290,38106:21329,38107:21542,38108:22915,38109:24199,38110:24444,38111:24754,38112:25161,38113:25209,38114:25259,38115:26e3,38116:27604,38117:27852,38118:30130,38119:30382,38120:30865,38121:31192,38122:32203,38123:32631,38124:32933,38125:34987,38126:35513,38127:36027,38128:36991,38129:38750,38130:39131,38131:27147,38132:31800,38133:20633,38134:23614,38135:24494,38136:26503,38137:27608,38138:29749,38139:30473,38140:32654,38208:40763,38209:26570,38210:31255,38211:21305,38212:30091,38213:39661,38214:24422,38215:33181,38216:33777,38217:32920,38218:24380,38219:24517,38220:30050,38221:31558,38222:36924,38223:26727,38224:23019,38225:23195,38226:32016,38227:30334,38228:35628,38229:20469,38230:24426,38231:27161,38232:27703,38233:28418,38234:29922,38235:31080,38236:34920,38237:35413,38238:35961,38239:24287,38240:25551,38241:30149,38242:31186,38243:33495,38244:37672,38245:37618,38246:33948,38247:34541,38248:39981,38249:21697,38250:24428,38251:25996,38252:27996,38253:28693,38254:36007,38255:36051,38256:38971,38257:25935,38258:29942,38259:19981,38260:20184,38261:22496,38262:22827,38263:23142,38264:23500,38265:20904,38266:24067,38267:24220,38268:24598,38269:25206,38270:25975,38272:26023,38273:26222,38274:28014,38275:29238,38276:31526,38277:33104,38278:33178,38279:33433,38280:35676,38281:36e3,38282:36070,38283:36212,38284:38428,38285:38468,38286:20398,38287:25771,38288:27494,38289:33310,38290:33889,38291:34154,38292:37096,38293:23553,38294:26963,38295:39080,38296:33914,38297:34135,38298:20239,38299:21103,38300:24489,38301:24133,38302:26381,38303:31119,38304:33145,38305:35079,38306:35206,38307:28149,38308:24343,38309:25173,38310:27832,38311:20175,38312:29289,38313:39826,38314:20998,38315:21563,38316:22132,38317:22707,38318:24996,38319:25198,38320:28954,38321:22894,38322:31881,38323:31966,38324:32027,38325:38640,38326:25991,38327:32862,38328:19993,38329:20341,38330:20853,38331:22592,38332:24163,38333:24179,38334:24330,38335:26564,38336:20006,38337:34109,38338:38281,38339:38491,38340:31859,38341:38913,38342:20731,38343:22721,38344:30294,38345:30887,38346:21029,38347:30629,38348:34065,38349:31622,38350:20559,38351:22793,38352:29255,38353:31687,38354:32232,38355:36794,38356:36820,38357:36941,38358:20415,38359:21193,38360:23081,38361:24321,38362:38829,38363:20445,38364:33303,38365:37610,38366:22275,38367:25429,38368:27497,38369:29995,38370:35036,38371:36628,38372:31298,38373:21215,38374:22675,38375:24917,38376:25098,38377:26286,38378:27597,38379:31807,38380:33769,38381:20515,38382:20472,38383:21253,38384:21574,38385:22577,38386:22857,38387:23453,38388:23792,38389:23791,38390:23849,38391:24214,38392:25265,38393:25447,38394:25918,38395:26041,38396:26379,38464:27861,38465:27873,38466:28921,38467:30770,38468:32299,38469:32990,38470:33459,38471:33804,38472:34028,38473:34562,38474:35090,38475:35370,38476:35914,38477:37030,38478:37586,38479:39165,38480:40179,38481:40300,38482:20047,38483:20129,38484:20621,38485:21078,38486:22346,38487:22952,38488:24125,38489:24536,38490:24537,38491:25151,38492:26292,38493:26395,38494:26576,38495:26834,38496:20882,38497:32033,38498:32938,38499:33192,38500:35584,38501:35980,38502:36031,38503:37502,38504:38450,38505:21536,38506:38956,38507:21271,38508:20693,38509:21340,38510:22696,38511:25778,38512:26420,38513:29287,38514:30566,38515:31302,38516:37350,38517:21187,38518:27809,38519:27526,38520:22528,38521:24140,38522:22868,38523:26412,38524:32763,38525:20961,38526:30406,38528:25705,38529:30952,38530:39764,38531:40635,38532:22475,38533:22969,38534:26151,38535:26522,38536:27598,38537:21737,38538:27097,38539:24149,38540:33180,38541:26517,38542:39850,38543:26622,38544:40018,38545:26717,38546:20134,38547:20451,38548:21448,38549:25273,38550:26411,38551:27819,38552:36804,38553:20397,38554:32365,38555:40639,38556:19975,38557:24930,38558:28288,38559:28459,38560:34067,38561:21619,38562:26410,38563:39749,38564:24051,38565:31637,38566:23724,38567:23494,38568:34588,38569:28234,38570:34001,38571:31252,38572:33032,38573:22937,38574:31885,38575:27665,38576:30496,38577:21209,38578:22818,38579:28961,38580:29279,38581:30683,38582:38695,38583:40289,38584:26891,38585:23167,38586:23064,38587:20901,38588:21517,38589:21629,38590:26126,38591:30431,38592:36855,38593:37528,38594:40180,38595:23018,38596:29277,38597:28357,38598:20813,38599:26825,38600:32191,38601:32236,38602:38754,38603:40634,38604:25720,38605:27169,38606:33538,38607:22916,38608:23391,38609:27611,38610:29467,38611:30450,38612:32178,38613:32791,38614:33945,38615:20786,38616:26408,38617:40665,38618:30446,38619:26466,38620:21247,38621:39173,38622:23588,38623:25147,38624:31870,38625:36016,38626:21839,38627:24758,38628:32011,38629:38272,38630:21249,38631:20063,38632:20918,38633:22812,38634:29242,38635:32822,38636:37326,38637:24357,38638:30690,38639:21380,38640:24441,38641:32004,38642:34220,38643:35379,38644:36493,38645:38742,38646:26611,38647:34222,38648:37971,38649:24841,38650:24840,38651:27833,38652:30290,38720:35565,38721:36664,38722:21807,38723:20305,38724:20778,38725:21191,38726:21451,38727:23461,38728:24189,38729:24736,38730:24962,38731:25558,38732:26377,38733:26586,38734:28263,38735:28044,38736:29494,38737:29495,38738:30001,38739:31056,38740:35029,38741:35480,38742:36938,38743:37009,38744:37109,38745:38596,38746:34701,38747:22805,38748:20104,38749:20313,38750:19982,38751:35465,38752:36671,38753:38928,38754:20653,38755:24188,38756:22934,38757:23481,38758:24248,38759:25562,38760:25594,38761:25793,38762:26332,38763:26954,38764:27096,38765:27915,38766:28342,38767:29076,38768:29992,38769:31407,38770:32650,38771:32768,38772:33865,38773:33993,38774:35201,38775:35617,38776:36362,38777:36965,38778:38525,38779:39178,38780:24958,38781:25233,38782:27442,38784:27779,38785:28020,38786:32716,38787:32764,38788:28096,38789:32645,38790:34746,38791:35064,38792:26469,38793:33713,38794:38972,38795:38647,38796:27931,38797:32097,38798:33853,38799:37226,38800:20081,38801:21365,38802:23888,38803:27396,38804:28651,38805:34253,38806:34349,38807:35239,38808:21033,38809:21519,38810:23653,38811:26446,38812:26792,38813:29702,38814:29827,38815:30178,38816:35023,38817:35041,38818:37324,38819:38626,38820:38520,38821:24459,38822:29575,38823:31435,38824:33870,38825:25504,38826:30053,38827:21129,38828:27969,38829:28316,38830:29705,38831:30041,38832:30827,38833:31890,38834:38534,38835:31452,38836:40845,38837:20406,38838:24942,38839:26053,38840:34396,38841:20102,38842:20142,38843:20698,38844:20001,38845:20940,38846:23534,38847:26009,38848:26753,38849:28092,38850:29471,38851:30274,38852:30637,38853:31260,38854:31975,38855:33391,38856:35538,38857:36988,38858:37327,38859:38517,38860:38936,38861:21147,38862:32209,38863:20523,38864:21400,38865:26519,38866:28107,38867:29136,38868:29747,38869:33256,38870:36650,38871:38563,38872:40023,38873:40607,38874:29792,38875:22593,38876:28057,38877:32047,38878:39006,38879:20196,38880:20278,38881:20363,38882:20919,38883:21169,38884:23994,38885:24604,38886:29618,38887:31036,38888:33491,38889:37428,38890:38583,38891:38646,38892:38666,38893:40599,38894:40802,38895:26278,38896:27508,38897:21015,38898:21155,38899:28872,38900:35010,38901:24265,38902:24651,38903:24976,38904:28451,38905:29001,38906:31806,38907:32244,38908:32879,38976:34030,38977:36899,38978:37676,38979:21570,38980:39791,38981:27347,38982:28809,38983:36034,38984:36335,38985:38706,38986:21172,38987:23105,38988:24266,38989:24324,38990:26391,38991:27004,38992:27028,38993:28010,38994:28431,38995:29282,38996:29436,38997:31725,38998:32769,38999:32894,39000:34635,39001:37070,39002:20845,39003:40595,39004:31108,39005:32907,39006:37682,39007:35542,39008:20525,39009:21644,39010:35441,39011:27498,39012:36036,39013:33031,39014:24785,39015:26528,39016:40434,39017:20121,39018:20120,39019:39952,39020:35435,39021:34241,39022:34152,39023:26880,39024:28286,39025:30871,39026:33109,39071:24332,39072:19984,39073:19989,39074:20010,39075:20017,39076:20022,39077:20028,39078:20031,39079:20034,39080:20054,39081:20056,39082:20098,39083:20101,39084:35947,39085:20106,39086:33298,39087:24333,39088:20110,39089:20126,39090:20127,39091:20128,39092:20130,39093:20144,39094:20147,39095:20150,39096:20174,39097:20173,39098:20164,39099:20166,39100:20162,39101:20183,39102:20190,39103:20205,39104:20191,39105:20215,39106:20233,39107:20314,39108:20272,39109:20315,39110:20317,39111:20311,39112:20295,39113:20342,39114:20360,39115:20367,39116:20376,39117:20347,39118:20329,39119:20336,39120:20369,39121:20335,39122:20358,39123:20374,39124:20760,39125:20436,39126:20447,39127:20430,39128:20440,39129:20443,39130:20433,39131:20442,39132:20432,39133:20452,39134:20453,39135:20506,39136:20520,39137:20500,39138:20522,39139:20517,39140:20485,39141:20252,39142:20470,39143:20513,39144:20521,39145:20524,39146:20478,39147:20463,39148:20497,39149:20486,39150:20547,39151:20551,39152:26371,39153:20565,39154:20560,39155:20552,39156:20570,39157:20566,39158:20588,39159:20600,39160:20608,39161:20634,39162:20613,39163:20660,39164:20658,39232:20681,39233:20682,39234:20659,39235:20674,39236:20694,39237:20702,39238:20709,39239:20717,39240:20707,39241:20718,39242:20729,39243:20725,39244:20745,39245:20737,39246:20738,39247:20758,39248:20757,39249:20756,39250:20762,39251:20769,39252:20794,39253:20791,39254:20796,39255:20795,39256:20799,39257:20800,39258:20818,39259:20812,39260:20820,39261:20834,39262:31480,39263:20841,39264:20842,39265:20846,39266:20864,39267:20866,39268:22232,39269:20876,39270:20873,39271:20879,39272:20881,39273:20883,39274:20885,39275:20886,39276:20900,39277:20902,39278:20898,39279:20905,39280:20906,39281:20907,39282:20915,39283:20913,39284:20914,39285:20912,39286:20917,39287:20925,39288:20933,39289:20937,39290:20955,39291:20960,39292:34389,39293:20969,39294:20973,39296:20976,39297:20981,39298:20990,39299:20996,39300:21003,39301:21012,39302:21006,39303:21031,39304:21034,39305:21038,39306:21043,39307:21049,39308:21071,39309:21060,39310:21067,39311:21068,39312:21086,39313:21076,39314:21098,39315:21108,39316:21097,39317:21107,39318:21119,39319:21117,39320:21133,39321:21140,39322:21138,39323:21105,39324:21128,39325:21137,39326:36776,39327:36775,39328:21164,39329:21165,39330:21180,39331:21173,39332:21185,39333:21197,39334:21207,39335:21214,39336:21219,39337:21222,39338:39149,39339:21216,39340:21235,39341:21237,39342:21240,39343:21241,39344:21254,39345:21256,39346:30008,39347:21261,39348:21264,39349:21263,39350:21269,39351:21274,39352:21283,39353:21295,39354:21297,39355:21299,39356:21304,39357:21312,39358:21318,39359:21317,39360:19991,39361:21321,39362:21325,39363:20950,39364:21342,39365:21353,39366:21358,39367:22808,39368:21371,39369:21367,39370:21378,39371:21398,39372:21408,39373:21414,39374:21413,39375:21422,39376:21424,39377:21430,39378:21443,39379:31762,39380:38617,39381:21471,39382:26364,39383:29166,39384:21486,39385:21480,39386:21485,39387:21498,39388:21505,39389:21565,39390:21568,39391:21548,39392:21549,39393:21564,39394:21550,39395:21558,39396:21545,39397:21533,39398:21582,39399:21647,39400:21621,39401:21646,39402:21599,39403:21617,39404:21623,39405:21616,39406:21650,39407:21627,39408:21632,39409:21622,39410:21636,39411:21648,39412:21638,39413:21703,39414:21666,39415:21688,39416:21669,39417:21676,39418:21700,39419:21704,39420:21672,39488:21675,39489:21698,39490:21668,39491:21694,39492:21692,39493:21720,39494:21733,39495:21734,39496:21775,39497:21780,39498:21757,39499:21742,39500:21741,39501:21754,39502:21730,39503:21817,39504:21824,39505:21859,39506:21836,39507:21806,39508:21852,39509:21829,39510:21846,39511:21847,39512:21816,39513:21811,39514:21853,39515:21913,39516:21888,39517:21679,39518:21898,39519:21919,39520:21883,39521:21886,39522:21912,39523:21918,39524:21934,39525:21884,39526:21891,39527:21929,39528:21895,39529:21928,39530:21978,39531:21957,39532:21983,39533:21956,39534:21980,39535:21988,39536:21972,39537:22036,39538:22007,39539:22038,39540:22014,39541:22013,39542:22043,39543:22009,39544:22094,39545:22096,39546:29151,39547:22068,39548:22070,39549:22066,39550:22072,39552:22123,39553:22116,39554:22063,39555:22124,39556:22122,39557:22150,39558:22144,39559:22154,39560:22176,39561:22164,39562:22159,39563:22181,39564:22190,39565:22198,39566:22196,39567:22210,39568:22204,39569:22209,39570:22211,39571:22208,39572:22216,39573:22222,39574:22225,39575:22227,39576:22231,39577:22254,39578:22265,39579:22272,39580:22271,39581:22276,39582:22281,39583:22280,39584:22283,39585:22285,39586:22291,39587:22296,39588:22294,39589:21959,39590:22300,39591:22310,39592:22327,39593:22328,39594:22350,39595:22331,39596:22336,39597:22351,39598:22377,39599:22464,39600:22408,39601:22369,39602:22399,39603:22409,39604:22419,39605:22432,39606:22451,39607:22436,39608:22442,39609:22448,39610:22467,39611:22470,39612:22484,39613:22482,39614:22483,39615:22538,39616:22486,39617:22499,39618:22539,39619:22553,39620:22557,39621:22642,39622:22561,39623:22626,39624:22603,39625:22640,39626:27584,39627:22610,39628:22589,39629:22649,39630:22661,39631:22713,39632:22687,39633:22699,39634:22714,39635:22750,39636:22715,39637:22712,39638:22702,39639:22725,39640:22739,39641:22737,39642:22743,39643:22745,39644:22744,39645:22757,39646:22748,39647:22756,39648:22751,39649:22767,39650:22778,39651:22777,39652:22779,39653:22780,39654:22781,39655:22786,39656:22794,39657:22800,39658:22811,39659:26790,39660:22821,39661:22828,39662:22829,39663:22834,39664:22840,39665:22846,39666:31442,39667:22869,39668:22864,39669:22862,39670:22874,39671:22872,39672:22882,39673:22880,39674:22887,39675:22892,39676:22889,39744:22904,39745:22913,39746:22941,39747:20318,39748:20395,39749:22947,39750:22962,39751:22982,39752:23016,39753:23004,39754:22925,39755:23001,39756:23002,39757:23077,39758:23071,39759:23057,39760:23068,39761:23049,39762:23066,39763:23104,39764:23148,39765:23113,39766:23093,39767:23094,39768:23138,39769:23146,39770:23194,39771:23228,39772:23230,39773:23243,39774:23234,39775:23229,39776:23267,39777:23255,39778:23270,39779:23273,39780:23254,39781:23290,39782:23291,39783:23308,39784:23307,39785:23318,39786:23346,39787:23248,39788:23338,39789:23350,39790:23358,39791:23363,39792:23365,39793:23360,39794:23377,39795:23381,39796:23386,39797:23387,39798:23397,39799:23401,39800:23408,39801:23411,39802:23413,39803:23416,39804:25992,39805:23418,39806:23424,39808:23427,39809:23462,39810:23480,39811:23491,39812:23495,39813:23497,39814:23508,39815:23504,39816:23524,39817:23526,39818:23522,39819:23518,39820:23525,39821:23531,39822:23536,39823:23542,39824:23539,39825:23557,39826:23559,39827:23560,39828:23565,39829:23571,39830:23584,39831:23586,39832:23592,39833:23608,39834:23609,39835:23617,39836:23622,39837:23630,39838:23635,39839:23632,39840:23631,39841:23409,39842:23660,39843:23662,39844:20066,39845:23670,39846:23673,39847:23692,39848:23697,39849:23700,39850:22939,39851:23723,39852:23739,39853:23734,39854:23740,39855:23735,39856:23749,39857:23742,39858:23751,39859:23769,39860:23785,39861:23805,39862:23802,39863:23789,39864:23948,39865:23786,39866:23819,39867:23829,39868:23831,39869:23900,39870:23839,39871:23835,39872:23825,39873:23828,39874:23842,39875:23834,39876:23833,39877:23832,39878:23884,39879:23890,39880:23886,39881:23883,39882:23916,39883:23923,39884:23926,39885:23943,39886:23940,39887:23938,39888:23970,39889:23965,39890:23980,39891:23982,39892:23997,39893:23952,39894:23991,39895:23996,39896:24009,39897:24013,39898:24019,39899:24018,39900:24022,39901:24027,39902:24043,39903:24050,39904:24053,39905:24075,39906:24090,39907:24089,39908:24081,39909:24091,39910:24118,39911:24119,39912:24132,39913:24131,39914:24128,39915:24142,39916:24151,39917:24148,39918:24159,39919:24162,39920:24164,39921:24135,39922:24181,39923:24182,39924:24186,39925:40636,39926:24191,39927:24224,39928:24257,39929:24258,39930:24264,39931:24272,39932:24271,40000:24278,40001:24291,40002:24285,40003:24282,40004:24283,40005:24290,40006:24289,40007:24296,40008:24297,40009:24300,40010:24305,40011:24307,40012:24304,40013:24308,40014:24312,40015:24318,40016:24323,40017:24329,40018:24413,40019:24412,40020:24331,40021:24337,40022:24342,40023:24361,40024:24365,40025:24376,40026:24385,40027:24392,40028:24396,40029:24398,40030:24367,40031:24401,40032:24406,40033:24407,40034:24409,40035:24417,40036:24429,40037:24435,40038:24439,40039:24451,40040:24450,40041:24447,40042:24458,40043:24456,40044:24465,40045:24455,40046:24478,40047:24473,40048:24472,40049:24480,40050:24488,40051:24493,40052:24508,40053:24534,40054:24571,40055:24548,40056:24568,40057:24561,40058:24541,40059:24755,40060:24575,40061:24609,40062:24672,40064:24601,40065:24592,40066:24617,40067:24590,40068:24625,40069:24603,40070:24597,40071:24619,40072:24614,40073:24591,40074:24634,40075:24666,40076:24641,40077:24682,40078:24695,40079:24671,40080:24650,40081:24646,40082:24653,40083:24675,40084:24643,40085:24676,40086:24642,40087:24684,40088:24683,40089:24665,40090:24705,40091:24717,40092:24807,40093:24707,40094:24730,40095:24708,40096:24731,40097:24726,40098:24727,40099:24722,40100:24743,40101:24715,40102:24801,40103:24760,40104:24800,40105:24787,40106:24756,40107:24560,40108:24765,40109:24774,40110:24757,40111:24792,40112:24909,40113:24853,40114:24838,40115:24822,40116:24823,40117:24832,40118:24820,40119:24826,40120:24835,40121:24865,40122:24827,40123:24817,40124:24845,40125:24846,40126:24903,40127:24894,40128:24872,40129:24871,40130:24906,40131:24895,40132:24892,40133:24876,40134:24884,40135:24893,40136:24898,40137:24900,40138:24947,40139:24951,40140:24920,40141:24921,40142:24922,40143:24939,40144:24948,40145:24943,40146:24933,40147:24945,40148:24927,40149:24925,40150:24915,40151:24949,40152:24985,40153:24982,40154:24967,40155:25004,40156:24980,40157:24986,40158:24970,40159:24977,40160:25003,40161:25006,40162:25036,40163:25034,40164:25033,40165:25079,40166:25032,40167:25027,40168:25030,40169:25018,40170:25035,40171:32633,40172:25037,40173:25062,40174:25059,40175:25078,40176:25082,40177:25076,40178:25087,40179:25085,40180:25084,40181:25086,40182:25088,40183:25096,40184:25097,40185:25101,40186:25100,40187:25108,40188:25115,40256:25118,40257:25121,40258:25130,40259:25134,40260:25136,40261:25138,40262:25139,40263:25153,40264:25166,40265:25182,40266:25187,40267:25179,40268:25184,40269:25192,40270:25212,40271:25218,40272:25225,40273:25214,40274:25234,40275:25235,40276:25238,40277:25300,40278:25219,40279:25236,40280:25303,40281:25297,40282:25275,40283:25295,40284:25343,40285:25286,40286:25812,40287:25288,40288:25308,40289:25292,40290:25290,40291:25282,40292:25287,40293:25243,40294:25289,40295:25356,40296:25326,40297:25329,40298:25383,40299:25346,40300:25352,40301:25327,40302:25333,40303:25424,40304:25406,40305:25421,40306:25628,40307:25423,40308:25494,40309:25486,40310:25472,40311:25515,40312:25462,40313:25507,40314:25487,40315:25481,40316:25503,40317:25525,40318:25451,40320:25449,40321:25534,40322:25577,40323:25536,40324:25542,40325:25571,40326:25545,40327:25554,40328:25590,40329:25540,40330:25622,40331:25652,40332:25606,40333:25619,40334:25638,40335:25654,40336:25885,40337:25623,40338:25640,40339:25615,40340:25703,40341:25711,40342:25718,40343:25678,40344:25898,40345:25749,40346:25747,40347:25765,40348:25769,40349:25736,40350:25788,40351:25818,40352:25810,40353:25797,40354:25799,40355:25787,40356:25816,40357:25794,40358:25841,40359:25831,40360:33289,40361:25824,40362:25825,40363:25260,40364:25827,40365:25839,40366:25900,40367:25846,40368:25844,40369:25842,40370:25850,40371:25856,40372:25853,40373:25880,40374:25884,40375:25861,40376:25892,40377:25891,40378:25899,40379:25908,40380:25909,40381:25911,40382:25910,40383:25912,40384:30027,40385:25928,40386:25942,40387:25941,40388:25933,40389:25944,40390:25950,40391:25949,40392:25970,40393:25976,40394:25986,40395:25987,40396:35722,40397:26011,40398:26015,40399:26027,40400:26039,40401:26051,40402:26054,40403:26049,40404:26052,40405:26060,40406:26066,40407:26075,40408:26073,40409:26080,40410:26081,40411:26097,40412:26482,40413:26122,40414:26115,40415:26107,40416:26483,40417:26165,40418:26166,40419:26164,40420:26140,40421:26191,40422:26180,40423:26185,40424:26177,40425:26206,40426:26205,40427:26212,40428:26215,40429:26216,40430:26207,40431:26210,40432:26224,40433:26243,40434:26248,40435:26254,40436:26249,40437:26244,40438:26264,40439:26269,40440:26305,40441:26297,40442:26313,40443:26302,40444:26300,40512:26308,40513:26296,40514:26326,40515:26330,40516:26336,40517:26175,40518:26342,40519:26345,40520:26352,40521:26357,40522:26359,40523:26383,40524:26390,40525:26398,40526:26406,40527:26407,40528:38712,40529:26414,40530:26431,40531:26422,40532:26433,40533:26424,40534:26423,40535:26438,40536:26462,40537:26464,40538:26457,40539:26467,40540:26468,40541:26505,40542:26480,40543:26537,40544:26492,40545:26474,40546:26508,40547:26507,40548:26534,40549:26529,40550:26501,40551:26551,40552:26607,40553:26548,40554:26604,40555:26547,40556:26601,40557:26552,40558:26596,40559:26590,40560:26589,40561:26594,40562:26606,40563:26553,40564:26574,40565:26566,40566:26599,40567:27292,40568:26654,40569:26694,40570:26665,40571:26688,40572:26701,40573:26674,40574:26702,40576:26803,40577:26667,40578:26713,40579:26723,40580:26743,40581:26751,40582:26783,40583:26767,40584:26797,40585:26772,40586:26781,40587:26779,40588:26755,40589:27310,40590:26809,40591:26740,40592:26805,40593:26784,40594:26810,40595:26895,40596:26765,40597:26750,40598:26881,40599:26826,40600:26888,40601:26840,40602:26914,40603:26918,40604:26849,40605:26892,40606:26829,40607:26836,40608:26855,40609:26837,40610:26934,40611:26898,40612:26884,40613:26839,40614:26851,40615:26917,40616:26873,40617:26848,40618:26863,40619:26920,40620:26922,40621:26906,40622:26915,40623:26913,40624:26822,40625:27001,40626:26999,40627:26972,40628:27e3,40629:26987,40630:26964,40631:27006,40632:26990,40633:26937,40634:26996,40635:26941,40636:26969,40637:26928,40638:26977,40639:26974,40640:26973,40641:27009,40642:26986,40643:27058,40644:27054,40645:27088,40646:27071,40647:27073,40648:27091,40649:27070,40650:27086,40651:23528,40652:27082,40653:27101,40654:27067,40655:27075,40656:27047,40657:27182,40658:27025,40659:27040,40660:27036,40661:27029,40662:27060,40663:27102,40664:27112,40665:27138,40666:27163,40667:27135,40668:27402,40669:27129,40670:27122,40671:27111,40672:27141,40673:27057,40674:27166,40675:27117,40676:27156,40677:27115,40678:27146,40679:27154,40680:27329,40681:27171,40682:27155,40683:27204,40684:27148,40685:27250,40686:27190,40687:27256,40688:27207,40689:27234,40690:27225,40691:27238,40692:27208,40693:27192,40694:27170,40695:27280,40696:27277,40697:27296,40698:27268,40699:27298,40700:27299,40768:27287,40769:34327,40770:27323,40771:27331,40772:27330,40773:27320,40774:27315,40775:27308,40776:27358,40777:27345,40778:27359,40779:27306,40780:27354,40781:27370,40782:27387,40783:27397,40784:34326,40785:27386,40786:27410,40787:27414,40788:39729,40789:27423,40790:27448,40791:27447,40792:30428,40793:27449,40794:39150,40795:27463,40796:27459,40797:27465,40798:27472,40799:27481,40800:27476,40801:27483,40802:27487,40803:27489,40804:27512,40805:27513,40806:27519,40807:27520,40808:27524,40809:27523,40810:27533,40811:27544,40812:27541,40813:27550,40814:27556,40815:27562,40816:27563,40817:27567,40818:27570,40819:27569,40820:27571,40821:27575,40822:27580,40823:27590,40824:27595,40825:27603,40826:27615,40827:27628,40828:27627,40829:27635,40830:27631,40832:40638,40833:27656,40834:27667,40835:27668,40836:27675,40837:27684,40838:27683,40839:27742,40840:27733,40841:27746,40842:27754,40843:27778,40844:27789,40845:27802,40846:27777,40847:27803,40848:27774,40849:27752,40850:27763,40851:27794,40852:27792,40853:27844,40854:27889,40855:27859,40856:27837,40857:27863,40858:27845,40859:27869,40860:27822,40861:27825,40862:27838,40863:27834,40864:27867,40865:27887,40866:27865,40867:27882,40868:27935,40869:34893,40870:27958,40871:27947,40872:27965,40873:27960,40874:27929,40875:27957,40876:27955,40877:27922,40878:27916,40879:28003,40880:28051,40881:28004,40882:27994,40883:28025,40884:27993,40885:28046,40886:28053,40887:28644,40888:28037,40889:28153,40890:28181,40891:28170,40892:28085,40893:28103,40894:28134,40895:28088,40896:28102,40897:28140,40898:28126,40899:28108,40900:28136,40901:28114,40902:28101,40903:28154,40904:28121,40905:28132,40906:28117,40907:28138,40908:28142,40909:28205,40910:28270,40911:28206,40912:28185,40913:28274,40914:28255,40915:28222,40916:28195,40917:28267,40918:28203,40919:28278,40920:28237,40921:28191,40922:28227,40923:28218,40924:28238,40925:28196,40926:28415,40927:28189,40928:28216,40929:28290,40930:28330,40931:28312,40932:28361,40933:28343,40934:28371,40935:28349,40936:28335,40937:28356,40938:28338,40939:28372,40940:28373,40941:28303,40942:28325,40943:28354,40944:28319,40945:28481,40946:28433,40947:28748,40948:28396,40949:28408,40950:28414,40951:28479,40952:28402,40953:28465,40954:28399,40955:28466,40956:28364,161:65377,162:65378,163:65379,164:65380,165:65381,166:65382,167:65383,168:65384,169:65385,170:65386,171:65387,172:65388,173:65389,174:65390,175:65391,176:65392,177:65393,178:65394,179:65395,180:65396,181:65397,182:65398,183:65399,184:65400,185:65401,186:65402,187:65403,188:65404,189:65405,190:65406,191:65407,192:65408,193:65409,194:65410,195:65411,196:65412,197:65413,198:65414,199:65415,200:65416,201:65417,202:65418,203:65419,204:65420,205:65421,206:65422,207:65423,208:65424,209:65425,210:65426,211:65427,212:65428,213:65429,214:65430,215:65431,216:65432,217:65433,218:65434,219:65435,220:65436,221:65437,222:65438,223:65439,57408:28478,57409:28435,57410:28407,57411:28550,57412:28538,57413:28536,57414:28545,57415:28544,57416:28527,57417:28507,57418:28659,57419:28525,57420:28546,57421:28540,57422:28504,57423:28558,57424:28561,57425:28610,57426:28518,57427:28595,57428:28579,57429:28577,57430:28580,57431:28601,57432:28614,57433:28586,57434:28639,57435:28629,57436:28652,57437:28628,57438:28632,57439:28657,57440:28654,57441:28635,57442:28681,57443:28683,57444:28666,57445:28689,57446:28673,57447:28687,57448:28670,57449:28699,57450:28698,57451:28532,57452:28701,57453:28696,57454:28703,57455:28720,57456:28734,57457:28722,57458:28753,57459:28771,57460:28825,57461:28818,57462:28847,57463:28913,57464:28844,57465:28856,57466:28851,57467:28846,57468:28895,57469:28875,57470:28893,57472:28889,57473:28937,57474:28925,57475:28956,57476:28953,57477:29029,57478:29013,57479:29064,57480:29030,57481:29026,57482:29004,57483:29014,57484:29036,57485:29071,57486:29179,57487:29060,57488:29077,57489:29096,57490:29100,57491:29143,57492:29113,57493:29118,57494:29138,57495:29129,57496:29140,57497:29134,57498:29152,57499:29164,57500:29159,57501:29173,57502:29180,57503:29177,57504:29183,57505:29197,57506:29200,57507:29211,57508:29224,57509:29229,57510:29228,57511:29232,57512:29234,57513:29243,57514:29244,57515:29247,57516:29248,57517:29254,57518:29259,57519:29272,57520:29300,57521:29310,57522:29314,57523:29313,57524:29319,57525:29330,57526:29334,57527:29346,57528:29351,57529:29369,57530:29362,57531:29379,57532:29382,57533:29380,57534:29390,57535:29394,57536:29410,57537:29408,57538:29409,57539:29433,57540:29431,57541:20495,57542:29463,57543:29450,57544:29468,57545:29462,57546:29469,57547:29492,57548:29487,57549:29481,57550:29477,57551:29502,57552:29518,57553:29519,57554:40664,57555:29527,57556:29546,57557:29544,57558:29552,57559:29560,57560:29557,57561:29563,57562:29562,57563:29640,57564:29619,57565:29646,57566:29627,57567:29632,57568:29669,57569:29678,57570:29662,57571:29858,57572:29701,57573:29807,57574:29733,57575:29688,57576:29746,57577:29754,57578:29781,57579:29759,57580:29791,57581:29785,57582:29761,57583:29788,57584:29801,57585:29808,57586:29795,57587:29802,57588:29814,57589:29822,57590:29835,57591:29854,57592:29863,57593:29898,57594:29903,57595:29908,57596:29681,57664:29920,57665:29923,57666:29927,57667:29929,57668:29934,57669:29938,57670:29936,57671:29937,57672:29944,57673:29943,57674:29956,57675:29955,57676:29957,57677:29964,57678:29966,57679:29965,57680:29973,57681:29971,57682:29982,57683:29990,57684:29996,57685:30012,57686:30020,57687:30029,57688:30026,57689:30025,57690:30043,57691:30022,57692:30042,57693:30057,57694:30052,57695:30055,57696:30059,57697:30061,57698:30072,57699:30070,57700:30086,57701:30087,57702:30068,57703:30090,57704:30089,57705:30082,57706:30100,57707:30106,57708:30109,57709:30117,57710:30115,57711:30146,57712:30131,57713:30147,57714:30133,57715:30141,57716:30136,57717:30140,57718:30129,57719:30157,57720:30154,57721:30162,57722:30169,57723:30179,57724:30174,57725:30206,57726:30207,57728:30204,57729:30209,57730:30192,57731:30202,57732:30194,57733:30195,57734:30219,57735:30221,57736:30217,57737:30239,57738:30247,57739:30240,57740:30241,57741:30242,57742:30244,57743:30260,57744:30256,57745:30267,57746:30279,57747:30280,57748:30278,57749:30300,57750:30296,57751:30305,57752:30306,57753:30312,57754:30313,57755:30314,57756:30311,57757:30316,57758:30320,57759:30322,57760:30326,57761:30328,57762:30332,57763:30336,57764:30339,57765:30344,57766:30347,57767:30350,57768:30358,57769:30355,57770:30361,57771:30362,57772:30384,57773:30388,57774:30392,57775:30393,57776:30394,57777:30402,57778:30413,57779:30422,57780:30418,57781:30430,57782:30433,57783:30437,57784:30439,57785:30442,57786:34351,57787:30459,57788:30472,57789:30471,57790:30468,57791:30505,57792:30500,57793:30494,57794:30501,57795:30502,57796:30491,57797:30519,57798:30520,57799:30535,57800:30554,57801:30568,57802:30571,57803:30555,57804:30565,57805:30591,57806:30590,57807:30585,57808:30606,57809:30603,57810:30609,57811:30624,57812:30622,57813:30640,57814:30646,57815:30649,57816:30655,57817:30652,57818:30653,57819:30651,57820:30663,57821:30669,57822:30679,57823:30682,57824:30684,57825:30691,57826:30702,57827:30716,57828:30732,57829:30738,57830:31014,57831:30752,57832:31018,57833:30789,57834:30862,57835:30836,57836:30854,57837:30844,57838:30874,57839:30860,57840:30883,57841:30901,57842:30890,57843:30895,57844:30929,57845:30918,57846:30923,57847:30932,57848:30910,57849:30908,57850:30917,57851:30922,57852:30956,57920:30951,57921:30938,57922:30973,57923:30964,57924:30983,57925:30994,57926:30993,57927:31001,57928:31020,57929:31019,57930:31040,57931:31072,57932:31063,57933:31071,57934:31066,57935:31061,57936:31059,57937:31098,57938:31103,57939:31114,57940:31133,57941:31143,57942:40779,57943:31146,57944:31150,57945:31155,57946:31161,57947:31162,57948:31177,57949:31189,57950:31207,57951:31212,57952:31201,57953:31203,57954:31240,57955:31245,57956:31256,57957:31257,57958:31264,57959:31263,57960:31104,57961:31281,57962:31291,57963:31294,57964:31287,57965:31299,57966:31319,57967:31305,57968:31329,57969:31330,57970:31337,57971:40861,57972:31344,57973:31353,57974:31357,57975:31368,57976:31383,57977:31381,57978:31384,57979:31382,57980:31401,57981:31432,57982:31408,57984:31414,57985:31429,57986:31428,57987:31423,57988:36995,57989:31431,57990:31434,57991:31437,57992:31439,57993:31445,57994:31443,57995:31449,57996:31450,57997:31453,57998:31457,57999:31458,58000:31462,58001:31469,58002:31472,58003:31490,58004:31503,58005:31498,58006:31494,58007:31539,58008:31512,58009:31513,58010:31518,58011:31541,58012:31528,58013:31542,58014:31568,58015:31610,58016:31492,58017:31565,58018:31499,58019:31564,58020:31557,58021:31605,58022:31589,58023:31604,58024:31591,58025:31600,58026:31601,58027:31596,58028:31598,58029:31645,58030:31640,58031:31647,58032:31629,58033:31644,58034:31642,58035:31627,58036:31634,58037:31631,58038:31581,58039:31641,58040:31691,58041:31681,58042:31692,58043:31695,58044:31668,58045:31686,58046:31709,58047:31721,58048:31761,58049:31764,58050:31718,58051:31717,58052:31840,58053:31744,58054:31751,58055:31763,58056:31731,58057:31735,58058:31767,58059:31757,58060:31734,58061:31779,58062:31783,58063:31786,58064:31775,58065:31799,58066:31787,58067:31805,58068:31820,58069:31811,58070:31828,58071:31823,58072:31808,58073:31824,58074:31832,58075:31839,58076:31844,58077:31830,58078:31845,58079:31852,58080:31861,58081:31875,58082:31888,58083:31908,58084:31917,58085:31906,58086:31915,58087:31905,58088:31912,58089:31923,58090:31922,58091:31921,58092:31918,58093:31929,58094:31933,58095:31936,58096:31941,58097:31938,58098:31960,58099:31954,58100:31964,58101:31970,58102:39739,58103:31983,58104:31986,58105:31988,58106:31990,58107:31994,58108:32006,58176:32002,58177:32028,58178:32021,58179:32010,58180:32069,58181:32075,58182:32046,58183:32050,58184:32063,58185:32053,58186:32070,58187:32115,58188:32086,58189:32078,58190:32114,58191:32104,58192:32110,58193:32079,58194:32099,58195:32147,58196:32137,58197:32091,58198:32143,58199:32125,58200:32155,58201:32186,58202:32174,58203:32163,58204:32181,58205:32199,58206:32189,58207:32171,58208:32317,58209:32162,58210:32175,58211:32220,58212:32184,58213:32159,58214:32176,58215:32216,58216:32221,58217:32228,58218:32222,58219:32251,58220:32242,58221:32225,58222:32261,58223:32266,58224:32291,58225:32289,58226:32274,58227:32305,58228:32287,58229:32265,58230:32267,58231:32290,58232:32326,58233:32358,58234:32315,58235:32309,58236:32313,58237:32323,58238:32311,58240:32306,58241:32314,58242:32359,58243:32349,58244:32342,58245:32350,58246:32345,58247:32346,58248:32377,58249:32362,58250:32361,58251:32380,58252:32379,58253:32387,58254:32213,58255:32381,58256:36782,58257:32383,58258:32392,58259:32393,58260:32396,58261:32402,58262:32400,58263:32403,58264:32404,58265:32406,58266:32398,58267:32411,58268:32412,58269:32568,58270:32570,58271:32581,58272:32588,58273:32589,58274:32590,58275:32592,58276:32593,58277:32597,58278:32596,58279:32600,58280:32607,58281:32608,58282:32616,58283:32617,58284:32615,58285:32632,58286:32642,58287:32646,58288:32643,58289:32648,58290:32647,58291:32652,58292:32660,58293:32670,58294:32669,58295:32666,58296:32675,58297:32687,58298:32690,58299:32697,58300:32686,58301:32694,58302:32696,58303:35697,58304:32709,58305:32710,58306:32714,58307:32725,58308:32724,58309:32737,58310:32742,58311:32745,58312:32755,58313:32761,58314:39132,58315:32774,58316:32772,58317:32779,58318:32786,58319:32792,58320:32793,58321:32796,58322:32801,58323:32808,58324:32831,58325:32827,58326:32842,58327:32838,58328:32850,58329:32856,58330:32858,58331:32863,58332:32866,58333:32872,58334:32883,58335:32882,58336:32880,58337:32886,58338:32889,58339:32893,58340:32895,58341:32900,58342:32902,58343:32901,58344:32923,58345:32915,58346:32922,58347:32941,58348:20880,58349:32940,58350:32987,58351:32997,58352:32985,58353:32989,58354:32964,58355:32986,58356:32982,58357:33033,58358:33007,58359:33009,58360:33051,58361:33065,58362:33059,58363:33071,58364:33099,58432:38539,58433:33094,58434:33086,58435:33107,58436:33105,58437:33020,58438:33137,58439:33134,58440:33125,58441:33126,58442:33140,58443:33155,58444:33160,58445:33162,58446:33152,58447:33154,58448:33184,58449:33173,58450:33188,58451:33187,58452:33119,58453:33171,58454:33193,58455:33200,58456:33205,58457:33214,58458:33208,58459:33213,58460:33216,58461:33218,58462:33210,58463:33225,58464:33229,58465:33233,58466:33241,58467:33240,58468:33224,58469:33242,58470:33247,58471:33248,58472:33255,58473:33274,58474:33275,58475:33278,58476:33281,58477:33282,58478:33285,58479:33287,58480:33290,58481:33293,58482:33296,58483:33302,58484:33321,58485:33323,58486:33336,58487:33331,58488:33344,58489:33369,58490:33368,58491:33373,58492:33370,58493:33375,58494:33380,58496:33378,58497:33384,58498:33386,58499:33387,58500:33326,58501:33393,58502:33399,58503:33400,58504:33406,58505:33421,58506:33426,58507:33451,58508:33439,58509:33467,58510:33452,58511:33505,58512:33507,58513:33503,58514:33490,58515:33524,58516:33523,58517:33530,58518:33683,58519:33539,58520:33531,58521:33529,58522:33502,58523:33542,58524:33500,58525:33545,58526:33497,58527:33589,58528:33588,58529:33558,58530:33586,58531:33585,58532:33600,58533:33593,58534:33616,58535:33605,58536:33583,58537:33579,58538:33559,58539:33560,58540:33669,58541:33690,58542:33706,58543:33695,58544:33698,58545:33686,58546:33571,58547:33678,58548:33671,58549:33674,58550:33660,58551:33717,58552:33651,58553:33653,58554:33696,58555:33673,58556:33704,58557:33780,58558:33811,58559:33771,58560:33742,58561:33789,58562:33795,58563:33752,58564:33803,58565:33729,58566:33783,58567:33799,58568:33760,58569:33778,58570:33805,58571:33826,58572:33824,58573:33725,58574:33848,58575:34054,58576:33787,58577:33901,58578:33834,58579:33852,58580:34138,58581:33924,58582:33911,58583:33899,58584:33965,58585:33902,58586:33922,58587:33897,58588:33862,58589:33836,58590:33903,58591:33913,58592:33845,58593:33994,58594:33890,58595:33977,58596:33983,58597:33951,58598:34009,58599:33997,58600:33979,58601:34010,58602:34e3,58603:33985,58604:33990,58605:34006,58606:33953,58607:34081,58608:34047,58609:34036,58610:34071,58611:34072,58612:34092,58613:34079,58614:34069,58615:34068,58616:34044,58617:34112,58618:34147,58619:34136,58620:34120,58688:34113,58689:34306,58690:34123,58691:34133,58692:34176,58693:34212,58694:34184,58695:34193,58696:34186,58697:34216,58698:34157,58699:34196,58700:34203,58701:34282,58702:34183,58703:34204,58704:34167,58705:34174,58706:34192,58707:34249,58708:34234,58709:34255,58710:34233,58711:34256,58712:34261,58713:34269,58714:34277,58715:34268,58716:34297,58717:34314,58718:34323,58719:34315,58720:34302,58721:34298,58722:34310,58723:34338,58724:34330,58725:34352,58726:34367,58727:34381,58728:20053,58729:34388,58730:34399,58731:34407,58732:34417,58733:34451,58734:34467,58735:34473,58736:34474,58737:34443,58738:34444,58739:34486,58740:34479,58741:34500,58742:34502,58743:34480,58744:34505,58745:34851,58746:34475,58747:34516,58748:34526,58749:34537,58750:34540,58752:34527,58753:34523,58754:34543,58755:34578,58756:34566,58757:34568,58758:34560,58759:34563,58760:34555,58761:34577,58762:34569,58763:34573,58764:34553,58765:34570,58766:34612,58767:34623,58768:34615,58769:34619,58770:34597,58771:34601,58772:34586,58773:34656,58774:34655,58775:34680,58776:34636,58777:34638,58778:34676,58779:34647,58780:34664,58781:34670,58782:34649,58783:34643,58784:34659,58785:34666,58786:34821,58787:34722,58788:34719,58789:34690,58790:34735,58791:34763,58792:34749,58793:34752,58794:34768,58795:38614,58796:34731,58797:34756,58798:34739,58799:34759,58800:34758,58801:34747,58802:34799,58803:34802,58804:34784,58805:34831,58806:34829,58807:34814,58808:34806,58809:34807,58810:34830,58811:34770,58812:34833,58813:34838,58814:34837,58815:34850,58816:34849,58817:34865,58818:34870,58819:34873,58820:34855,58821:34875,58822:34884,58823:34882,58824:34898,58825:34905,58826:34910,58827:34914,58828:34923,58829:34945,58830:34942,58831:34974,58832:34933,58833:34941,58834:34997,58835:34930,58836:34946,58837:34967,58838:34962,58839:34990,58840:34969,58841:34978,58842:34957,58843:34980,58844:34992,58845:35007,58846:34993,58847:35011,58848:35012,58849:35028,58850:35032,58851:35033,58852:35037,58853:35065,58854:35074,58855:35068,58856:35060,58857:35048,58858:35058,58859:35076,58860:35084,58861:35082,58862:35091,58863:35139,58864:35102,58865:35109,58866:35114,58867:35115,58868:35137,58869:35140,58870:35131,58871:35126,58872:35128,58873:35148,58874:35101,58875:35168,58876:35166,58944:35174,58945:35172,58946:35181,58947:35178,58948:35183,58949:35188,58950:35191,58951:35198,58952:35203,58953:35208,58954:35210,58955:35219,58956:35224,58957:35233,58958:35241,58959:35238,58960:35244,58961:35247,58962:35250,58963:35258,58964:35261,58965:35263,58966:35264,58967:35290,58968:35292,58969:35293,58970:35303,58971:35316,58972:35320,58973:35331,58974:35350,58975:35344,58976:35340,58977:35355,58978:35357,58979:35365,58980:35382,58981:35393,58982:35419,58983:35410,58984:35398,58985:35400,58986:35452,58987:35437,58988:35436,58989:35426,58990:35461,58991:35458,58992:35460,58993:35496,58994:35489,58995:35473,58996:35493,58997:35494,58998:35482,58999:35491,59000:35524,59001:35533,59002:35522,59003:35546,59004:35563,59005:35571,59006:35559,59008:35556,59009:35569,59010:35604,59011:35552,59012:35554,59013:35575,59014:35550,59015:35547,59016:35596,59017:35591,59018:35610,59019:35553,59020:35606,59021:35600,59022:35607,59023:35616,59024:35635,59025:38827,59026:35622,59027:35627,59028:35646,59029:35624,59030:35649,59031:35660,59032:35663,59033:35662,59034:35657,59035:35670,59036:35675,59037:35674,59038:35691,59039:35679,59040:35692,59041:35695,59042:35700,59043:35709,59044:35712,59045:35724,59046:35726,59047:35730,59048:35731,59049:35734,59050:35737,59051:35738,59052:35898,59053:35905,59054:35903,59055:35912,59056:35916,59057:35918,59058:35920,59059:35925,59060:35938,59061:35948,59062:35960,59063:35962,59064:35970,59065:35977,59066:35973,59067:35978,59068:35981,59069:35982,59070:35988,59071:35964,59072:35992,59073:25117,59074:36013,59075:36010,59076:36029,59077:36018,59078:36019,59079:36014,59080:36022,59081:36040,59082:36033,59083:36068,59084:36067,59085:36058,59086:36093,59087:36090,59088:36091,59089:36100,59090:36101,59091:36106,59092:36103,59093:36111,59094:36109,59095:36112,59096:40782,59097:36115,59098:36045,59099:36116,59100:36118,59101:36199,59102:36205,59103:36209,59104:36211,59105:36225,59106:36249,59107:36290,59108:36286,59109:36282,59110:36303,59111:36314,59112:36310,59113:36300,59114:36315,59115:36299,59116:36330,59117:36331,59118:36319,59119:36323,59120:36348,59121:36360,59122:36361,59123:36351,59124:36381,59125:36382,59126:36368,59127:36383,59128:36418,59129:36405,59130:36400,59131:36404,59132:36426,59200:36423,59201:36425,59202:36428,59203:36432,59204:36424,59205:36441,59206:36452,59207:36448,59208:36394,59209:36451,59210:36437,59211:36470,59212:36466,59213:36476,59214:36481,59215:36487,59216:36485,59217:36484,59218:36491,59219:36490,59220:36499,59221:36497,59222:36500,59223:36505,59224:36522,59225:36513,59226:36524,59227:36528,59228:36550,59229:36529,59230:36542,59231:36549,59232:36552,59233:36555,59234:36571,59235:36579,59236:36604,59237:36603,59238:36587,59239:36606,59240:36618,59241:36613,59242:36629,59243:36626,59244:36633,59245:36627,59246:36636,59247:36639,59248:36635,59249:36620,59250:36646,59251:36659,59252:36667,59253:36665,59254:36677,59255:36674,59256:36670,59257:36684,59258:36681,59259:36678,59260:36686,59261:36695,59262:36700,59264:36706,59265:36707,59266:36708,59267:36764,59268:36767,59269:36771,59270:36781,59271:36783,59272:36791,59273:36826,59274:36837,59275:36834,59276:36842,59277:36847,59278:36999,59279:36852,59280:36869,59281:36857,59282:36858,59283:36881,59284:36885,59285:36897,59286:36877,59287:36894,59288:36886,59289:36875,59290:36903,59291:36918,59292:36917,59293:36921,59294:36856,59295:36943,59296:36944,59297:36945,59298:36946,59299:36878,59300:36937,59301:36926,59302:36950,59303:36952,59304:36958,59305:36968,59306:36975,59307:36982,59308:38568,59309:36978,59310:36994,59311:36989,59312:36993,59313:36992,59314:37002,59315:37001,59316:37007,59317:37032,59318:37039,59319:37041,59320:37045,59321:37090,59322:37092,59323:25160,59324:37083,59325:37122,59326:37138,59327:37145,59328:37170,59329:37168,59330:37194,59331:37206,59332:37208,59333:37219,59334:37221,59335:37225,59336:37235,59337:37234,59338:37259,59339:37257,59340:37250,59341:37282,59342:37291,59343:37295,59344:37290,59345:37301,59346:37300,59347:37306,59348:37312,59349:37313,59350:37321,59351:37323,59352:37328,59353:37334,59354:37343,59355:37345,59356:37339,59357:37372,59358:37365,59359:37366,59360:37406,59361:37375,59362:37396,59363:37420,59364:37397,59365:37393,59366:37470,59367:37463,59368:37445,59369:37449,59370:37476,59371:37448,59372:37525,59373:37439,59374:37451,59375:37456,59376:37532,59377:37526,59378:37523,59379:37531,59380:37466,59381:37583,59382:37561,59383:37559,59384:37609,59385:37647,59386:37626,59387:37700,59388:37678,59456:37657,59457:37666,59458:37658,59459:37667,59460:37690,59461:37685,59462:37691,59463:37724,59464:37728,59465:37756,59466:37742,59467:37718,59468:37808,59469:37804,59470:37805,59471:37780,59472:37817,59473:37846,59474:37847,59475:37864,59476:37861,59477:37848,59478:37827,59479:37853,59480:37840,59481:37832,59482:37860,59483:37914,59484:37908,59485:37907,59486:37891,59487:37895,59488:37904,59489:37942,59490:37931,59491:37941,59492:37921,59493:37946,59494:37953,59495:37970,59496:37956,59497:37979,59498:37984,59499:37986,59500:37982,59501:37994,59502:37417,59503:38e3,59504:38005,59505:38007,59506:38013,59507:37978,59508:38012,59509:38014,59510:38017,59511:38015,59512:38274,59513:38279,59514:38282,59515:38292,59516:38294,59517:38296,59518:38297,59520:38304,59521:38312,59522:38311,59523:38317,59524:38332,59525:38331,59526:38329,59527:38334,59528:38346,59529:28662,59530:38339,59531:38349,59532:38348,59533:38357,59534:38356,59535:38358,59536:38364,59537:38369,59538:38373,59539:38370,59540:38433,59541:38440,59542:38446,59543:38447,59544:38466,59545:38476,59546:38479,59547:38475,59548:38519,59549:38492,59550:38494,59551:38493,59552:38495,59553:38502,59554:38514,59555:38508,59556:38541,59557:38552,59558:38549,59559:38551,59560:38570,59561:38567,59562:38577,59563:38578,59564:38576,59565:38580,59566:38582,59567:38584,59568:38585,59569:38606,59570:38603,59571:38601,59572:38605,59573:35149,59574:38620,59575:38669,59576:38613,59577:38649,59578:38660,59579:38662,59580:38664,59581:38675,59582:38670,59583:38673,59584:38671,59585:38678,59586:38681,59587:38692,59588:38698,59589:38704,59590:38713,59591:38717,59592:38718,59593:38724,59594:38726,59595:38728,59596:38722,59597:38729,59598:38748,59599:38752,59600:38756,59601:38758,59602:38760,59603:21202,59604:38763,59605:38769,59606:38777,59607:38789,59608:38780,59609:38785,59610:38778,59611:38790,59612:38795,59613:38799,59614:38800,59615:38812,59616:38824,59617:38822,59618:38819,59619:38835,59620:38836,59621:38851,59622:38854,59623:38856,59624:38859,59625:38876,59626:38893,59627:40783,59628:38898,59629:31455,59630:38902,59631:38901,59632:38927,59633:38924,59634:38968,59635:38948,59636:38945,59637:38967,59638:38973,59639:38982,59640:38991,59641:38987,59642:39019,59643:39023,59644:39024,59712:39025,59713:39028,59714:39027,59715:39082,59716:39087,59717:39089,59718:39094,59719:39108,59720:39107,59721:39110,59722:39145,59723:39147,59724:39171,59725:39177,59726:39186,59727:39188,59728:39192,59729:39201,59730:39197,59731:39198,59732:39204,59733:39200,59734:39212,59735:39214,59736:39229,59737:39230,59738:39234,59739:39241,59740:39237,59741:39248,59742:39243,59743:39249,59744:39250,59745:39244,59746:39253,59747:39319,59748:39320,59749:39333,59750:39341,59751:39342,59752:39356,59753:39391,59754:39387,59755:39389,59756:39384,59757:39377,59758:39405,59759:39406,59760:39409,59761:39410,59762:39419,59763:39416,59764:39425,59765:39439,59766:39429,59767:39394,59768:39449,59769:39467,59770:39479,59771:39493,59772:39490,59773:39488,59774:39491,59776:39486,59777:39509,59778:39501,59779:39515,59780:39511,59781:39519,59782:39522,59783:39525,59784:39524,59785:39529,59786:39531,59787:39530,59788:39597,59789:39600,59790:39612,59791:39616,59792:39631,59793:39633,59794:39635,59795:39636,59796:39646,59797:39647,59798:39650,59799:39651,59800:39654,59801:39663,59802:39659,59803:39662,59804:39668,59805:39665,59806:39671,59807:39675,59808:39686,59809:39704,59810:39706,59811:39711,59812:39714,59813:39715,59814:39717,59815:39719,59816:39720,59817:39721,59818:39722,59819:39726,59820:39727,59821:39730,59822:39748,59823:39747,59824:39759,59825:39757,59826:39758,59827:39761,59828:39768,59829:39796,59830:39827,59831:39811,59832:39825,59833:39830,59834:39831,59835:39839,59836:39840,59837:39848,59838:39860,59839:39872,59840:39882,59841:39865,59842:39878,59843:39887,59844:39889,59845:39890,59846:39907,59847:39906,59848:39908,59849:39892,59850:39905,59851:39994,59852:39922,59853:39921,59854:39920,59855:39957,59856:39956,59857:39945,59858:39955,59859:39948,59860:39942,59861:39944,59862:39954,59863:39946,59864:39940,59865:39982,59866:39963,59867:39973,59868:39972,59869:39969,59870:39984,59871:40007,59872:39986,59873:40006,59874:39998,59875:40026,59876:40032,59877:40039,59878:40054,59879:40056,59880:40167,59881:40172,59882:40176,59883:40201,59884:40200,59885:40171,59886:40195,59887:40198,59888:40234,59889:40230,59890:40367,59891:40227,59892:40223,59893:40260,59894:40213,59895:40210,59896:40257,59897:40255,59898:40254,59899:40262,59900:40264,59968:40285,59969:40286,59970:40292,59971:40273,59972:40272,59973:40281,59974:40306,59975:40329,59976:40327,59977:40363,59978:40303,59979:40314,59980:40346,59981:40356,59982:40361,59983:40370,59984:40388,59985:40385,59986:40379,59987:40376,59988:40378,59989:40390,59990:40399,59991:40386,59992:40409,59993:40403,59994:40440,59995:40422,59996:40429,59997:40431,59998:40445,59999:40474,60000:40475,60001:40478,60002:40565,60003:40569,60004:40573,60005:40577,60006:40584,60007:40587,60008:40588,60009:40594,60010:40597,60011:40593,60012:40605,60013:40613,60014:40617,60015:40632,60016:40618,60017:40621,60018:38753,60019:40652,60020:40654,60021:40655,60022:40656,60023:40660,60024:40668,60025:40670,60026:40669,60027:40672,60028:40677,60029:40680,60030:40687,60032:40692,60033:40694,60034:40695,60035:40697,60036:40699,60037:40700,60038:40701,60039:40711,60040:40712,60041:30391,60042:40725,60043:40737,60044:40748,60045:40766,60046:40778,60047:40786,60048:40788,60049:40803,60050:40799,60051:40800,60052:40801,60053:40806,60054:40807,60055:40812,60056:40810,60057:40823,60058:40818,60059:40822,60060:40853,60061:40860,60062:40864,60063:22575,60064:27079,60065:36953,60066:29796,60067:20956,60068:29081}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(1),i=r(2);e.decode=function(t,e){var r=new Uint8ClampedArray(t.length);r.set(t);for(var o=new n.default(285,256,0),a=new i.default(o,r),s=new Uint8ClampedArray(e),u=!1,l=0;l<e;l++){var c=a.evaluateAt(o.exp(l+o.generatorBase));s[s.length-1-l]=c,0!==c&&(u=!0)}if(!u)return r;var h=new i.default(o,s),p=function(t,e,r,n){e.degree()<r.degree()&&(e=(g=[r,e])[0],r=g[1]);for(var i=e,o=r,a=t.zero,s=t.one;o.degree()>=n/2;){var u=i,l=a;if(a=s,(i=o).isZero())return null;o=u;for(var c=t.zero,h=i.getCoefficient(i.degree()),p=t.inverse(h);o.degree()>=i.degree()&&!o.isZero();){var f=o.degree()-i.degree(),d=t.multiply(o.getCoefficient(o.degree()),p);c=c.addOrSubtract(t.buildMonomial(f,d)),o=o.addOrSubtract(i.multiplyByMonomial(f,d))}if(s=c.multiplyPoly(a).addOrSubtract(l),o.degree()>=i.degree())return null}var m=s.getCoefficient(0);if(0===m)return null;var g,v=t.inverse(m);return[s.multiply(v),o.multiply(v)]}(o,o.buildMonomial(e,1),h,e);if(null===p)return null;var f=function(t,e){var r=e.degree();if(1===r)return[e.getCoefficient(1)];for(var n=new Array(r),i=0,o=1;o<t.size&&i<r;o++)0===e.evaluateAt(o)&&(n[i]=t.inverse(o),i++);return i!==r?null:n}(o,p[0]);if(null==f)return null;for(var d=function(t,e,r){for(var i=r.length,o=new Array(i),a=0;a<i;a++){for(var s=t.inverse(r[a]),u=1,l=0;l<i;l++)a!==l&&(u=t.multiply(u,n.addOrSubtractGF(1,t.multiply(r[l],s))));o[a]=t.multiply(e.evaluateAt(s),t.inverse(u)),0!==t.generatorBase&&(o[a]=t.multiply(o[a],s))}return o}(o,p[1],f),m=0;m<f.length;m++){var g=r.length-1-o.log(f[m]);if(g<0)return null;r[g]=n.addOrSubtractGF(r[g],d[m])}return r}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.VERSIONS=[{infoBits:null,versionNumber:1,alignmentPatternCenters:[],errorCorrectionLevels:[{ecCodewordsPerBlock:7,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:10,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:16}]},{ecCodewordsPerBlock:13,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:13}]},{ecCodewordsPerBlock:17,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:9}]}]},{infoBits:null,versionNumber:2,alignmentPatternCenters:[6,18],errorCorrectionLevels:[{ecCodewordsPerBlock:10,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:34}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:28}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:22}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:16}]}]},{infoBits:null,versionNumber:3,alignmentPatternCenters:[6,22],errorCorrectionLevels:[{ecCodewordsPerBlock:15,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:55}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:13}]}]},{infoBits:null,versionNumber:4,alignmentPatternCenters:[6,26],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:80}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:32}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:9}]}]},{infoBits:null,versionNumber:5,alignmentPatternCenters:[6,30],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:43}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:15},{numBlocks:2,dataCodewordsPerBlock:16}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:11},{numBlocks:2,dataCodewordsPerBlock:12}]}]},{infoBits:null,versionNumber:6,alignmentPatternCenters:[6,34],errorCorrectionLevels:[{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:68}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:27}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:15}]}]},{infoBits:31892,versionNumber:7,alignmentPatternCenters:[6,22,38],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:78}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:31}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:4,dataCodewordsPerBlock:15}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:13},{numBlocks:1,dataCodewordsPerBlock:14}]}]},{infoBits:34236,versionNumber:8,alignmentPatternCenters:[6,24,42],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:97}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:38},{numBlocks:2,dataCodewordsPerBlock:39}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:18},{numBlocks:2,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:14},{numBlocks:2,dataCodewordsPerBlock:15}]}]},{infoBits:39577,versionNumber:9,alignmentPatternCenters:[6,26,46],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:36},{numBlocks:2,dataCodewordsPerBlock:37}]},{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:16},{numBlocks:4,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:12},{numBlocks:4,dataCodewordsPerBlock:13}]}]},{infoBits:42195,versionNumber:10,alignmentPatternCenters:[6,28,50],errorCorrectionLevels:[{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:68},{numBlocks:2,dataCodewordsPerBlock:69}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:43},{numBlocks:1,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:19},{numBlocks:2,dataCodewordsPerBlock:20}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:15},{numBlocks:2,dataCodewordsPerBlock:16}]}]},{infoBits:48118,versionNumber:11,alignmentPatternCenters:[6,30,54],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:81}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:50},{numBlocks:4,dataCodewordsPerBlock:51}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:22},{numBlocks:4,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:12},{numBlocks:8,dataCodewordsPerBlock:13}]}]},{infoBits:51042,versionNumber:12,alignmentPatternCenters:[6,32,58],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:92},{numBlocks:2,dataCodewordsPerBlock:93}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:36},{numBlocks:2,dataCodewordsPerBlock:37}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:20},{numBlocks:6,dataCodewordsPerBlock:21}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:14},{numBlocks:4,dataCodewordsPerBlock:15}]}]},{infoBits:55367,versionNumber:13,alignmentPatternCenters:[6,34,62],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:107}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:37},{numBlocks:1,dataCodewordsPerBlock:38}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:20},{numBlocks:4,dataCodewordsPerBlock:21}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:11},{numBlocks:4,dataCodewordsPerBlock:12}]}]},{infoBits:58893,versionNumber:14,alignmentPatternCenters:[6,26,46,66],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:115},{numBlocks:1,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:40},{numBlocks:5,dataCodewordsPerBlock:41}]},{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:16},{numBlocks:5,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:12},{numBlocks:5,dataCodewordsPerBlock:13}]}]},{infoBits:63784,versionNumber:15,alignmentPatternCenters:[6,26,48,70],errorCorrectionLevels:[{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:87},{numBlocks:1,dataCodewordsPerBlock:88}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:41},{numBlocks:5,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:24},{numBlocks:7,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:12},{numBlocks:7,dataCodewordsPerBlock:13}]}]},{infoBits:68472,versionNumber:16,alignmentPatternCenters:[6,26,50,74],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:98},{numBlocks:1,dataCodewordsPerBlock:99}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:45},{numBlocks:3,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:19},{numBlocks:2,dataCodewordsPerBlock:20}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:15},{numBlocks:13,dataCodewordsPerBlock:16}]}]},{infoBits:70749,versionNumber:17,alignmentPatternCenters:[6,30,54,78],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:107},{numBlocks:5,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:46},{numBlocks:1,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:22},{numBlocks:15,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:17,dataCodewordsPerBlock:15}]}]},{infoBits:76311,versionNumber:18,alignmentPatternCenters:[6,30,56,82],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:120},{numBlocks:1,dataCodewordsPerBlock:121}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:9,dataCodewordsPerBlock:43},{numBlocks:4,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:22},{numBlocks:1,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:19,dataCodewordsPerBlock:15}]}]},{infoBits:79154,versionNumber:19,alignmentPatternCenters:[6,30,58,86],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:113},{numBlocks:4,dataCodewordsPerBlock:114}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:44},{numBlocks:11,dataCodewordsPerBlock:45}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:21},{numBlocks:4,dataCodewordsPerBlock:22}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:9,dataCodewordsPerBlock:13},{numBlocks:16,dataCodewordsPerBlock:14}]}]},{infoBits:84390,versionNumber:20,alignmentPatternCenters:[6,34,62,90],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:107},{numBlocks:5,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:41},{numBlocks:13,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:24},{numBlocks:5,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:15},{numBlocks:10,dataCodewordsPerBlock:16}]}]},{infoBits:87683,versionNumber:21,alignmentPatternCenters:[6,28,50,72,94],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:116},{numBlocks:4,dataCodewordsPerBlock:117}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:22},{numBlocks:6,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:16},{numBlocks:6,dataCodewordsPerBlock:17}]}]},{infoBits:92361,versionNumber:22,alignmentPatternCenters:[6,26,50,74,98],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:111},{numBlocks:7,dataCodewordsPerBlock:112}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:24},{numBlocks:16,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:34,dataCodewordsPerBlock:13}]}]},{infoBits:96236,versionNumber:23,alignmentPatternCenters:[6,30,54,74,102],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:121},{numBlocks:5,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:47},{numBlocks:14,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:16,dataCodewordsPerBlock:15},{numBlocks:14,dataCodewordsPerBlock:16}]}]},{infoBits:102084,versionNumber:24,alignmentPatternCenters:[6,28,54,80,106],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:117},{numBlocks:4,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:45},{numBlocks:14,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:24},{numBlocks:16,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:30,dataCodewordsPerBlock:16},{numBlocks:2,dataCodewordsPerBlock:17}]}]},{infoBits:102881,versionNumber:25,alignmentPatternCenters:[6,32,58,84,110],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:106},{numBlocks:4,dataCodewordsPerBlock:107}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:47},{numBlocks:13,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:24},{numBlocks:22,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:15},{numBlocks:13,dataCodewordsPerBlock:16}]}]},{infoBits:110507,versionNumber:26,alignmentPatternCenters:[6,30,58,86,114],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:114},{numBlocks:2,dataCodewordsPerBlock:115}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:46},{numBlocks:4,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:28,dataCodewordsPerBlock:22},{numBlocks:6,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:33,dataCodewordsPerBlock:16},{numBlocks:4,dataCodewordsPerBlock:17}]}]},{infoBits:110734,versionNumber:27,alignmentPatternCenters:[6,34,62,90,118],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:122},{numBlocks:4,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:45},{numBlocks:3,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:23},{numBlocks:26,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:15},{numBlocks:28,dataCodewordsPerBlock:16}]}]},{infoBits:117786,versionNumber:28,alignmentPatternCenters:[6,26,50,74,98,122],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:117},{numBlocks:10,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:45},{numBlocks:23,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:24},{numBlocks:31,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:15},{numBlocks:31,dataCodewordsPerBlock:16}]}]},{infoBits:119615,versionNumber:29,alignmentPatternCenters:[6,30,54,78,102,126],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:116},{numBlocks:7,dataCodewordsPerBlock:117}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:21,dataCodewordsPerBlock:45},{numBlocks:7,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:23},{numBlocks:37,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:15},{numBlocks:26,dataCodewordsPerBlock:16}]}]},{infoBits:126325,versionNumber:30,alignmentPatternCenters:[6,26,52,78,104,130],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:115},{numBlocks:10,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:47},{numBlocks:10,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:24},{numBlocks:25,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:23,dataCodewordsPerBlock:15},{numBlocks:25,dataCodewordsPerBlock:16}]}]},{infoBits:127568,versionNumber:31,alignmentPatternCenters:[6,30,56,82,108,134],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:115},{numBlocks:3,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:46},{numBlocks:29,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:42,dataCodewordsPerBlock:24},{numBlocks:1,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:23,dataCodewordsPerBlock:15},{numBlocks:28,dataCodewordsPerBlock:16}]}]},{infoBits:133589,versionNumber:32,alignmentPatternCenters:[6,34,60,86,112,138],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:115}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:46},{numBlocks:23,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:24},{numBlocks:35,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:15},{numBlocks:35,dataCodewordsPerBlock:16}]}]},{infoBits:136944,versionNumber:33,alignmentPatternCenters:[6,30,58,86,114,142],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:115},{numBlocks:1,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:14,dataCodewordsPerBlock:46},{numBlocks:21,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:29,dataCodewordsPerBlock:24},{numBlocks:19,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:15},{numBlocks:46,dataCodewordsPerBlock:16}]}]},{infoBits:141498,versionNumber:34,alignmentPatternCenters:[6,34,62,90,118,146],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:115},{numBlocks:6,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:14,dataCodewordsPerBlock:46},{numBlocks:23,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:44,dataCodewordsPerBlock:24},{numBlocks:7,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:59,dataCodewordsPerBlock:16},{numBlocks:1,dataCodewordsPerBlock:17}]}]},{infoBits:145311,versionNumber:35,alignmentPatternCenters:[6,30,54,78,102,126,150],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:121},{numBlocks:7,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:47},{numBlocks:26,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:39,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:15},{numBlocks:41,dataCodewordsPerBlock:16}]}]},{infoBits:150283,versionNumber:36,alignmentPatternCenters:[6,24,50,76,102,128,154],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:121},{numBlocks:14,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:47},{numBlocks:34,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:46,dataCodewordsPerBlock:24},{numBlocks:10,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:15},{numBlocks:64,dataCodewordsPerBlock:16}]}]},{infoBits:152622,versionNumber:37,alignmentPatternCenters:[6,28,54,80,106,132,158],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:122},{numBlocks:4,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:29,dataCodewordsPerBlock:46},{numBlocks:14,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:49,dataCodewordsPerBlock:24},{numBlocks:10,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:24,dataCodewordsPerBlock:15},{numBlocks:46,dataCodewordsPerBlock:16}]}]},{infoBits:158308,versionNumber:38,alignmentPatternCenters:[6,32,58,84,110,136,162],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:122},{numBlocks:18,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:46},{numBlocks:32,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:48,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:42,dataCodewordsPerBlock:15},{numBlocks:32,dataCodewordsPerBlock:16}]}]},{infoBits:161089,versionNumber:39,alignmentPatternCenters:[6,26,54,82,110,138,166],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:20,dataCodewordsPerBlock:117},{numBlocks:4,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:40,dataCodewordsPerBlock:47},{numBlocks:7,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:43,dataCodewordsPerBlock:24},{numBlocks:22,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:15},{numBlocks:67,dataCodewordsPerBlock:16}]}]},{infoBits:167017,versionNumber:40,alignmentPatternCenters:[6,30,58,86,114,142,170],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:118},{numBlocks:6,dataCodewordsPerBlock:119}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:18,dataCodewordsPerBlock:47},{numBlocks:31,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:34,dataCodewordsPerBlock:24},{numBlocks:34,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:20,dataCodewordsPerBlock:15},{numBlocks:61,dataCodewordsPerBlock:16}]}]}]},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(0);function i(t,e,r,n){var i=t.x-e.x+r.x-n.x,o=t.y-e.y+r.y-n.y;if(0===i&&0===o)return{a11:e.x-t.x,a12:e.y-t.y,a13:0,a21:r.x-e.x,a22:r.y-e.y,a23:0,a31:t.x,a32:t.y,a33:1};var a=e.x-r.x,s=n.x-r.x,u=e.y-r.y,l=n.y-r.y,c=a*l-s*u,h=(i*l-s*o)/c,p=(a*o-i*u)/c;return{a11:e.x-t.x+h*e.x,a12:e.y-t.y+h*e.y,a13:h,a21:n.x-t.x+p*n.x,a22:n.y-t.y+p*n.y,a23:p,a31:t.x,a32:t.y,a33:1}}e.extract=function(t,e){for(var r,o,a=function(t,e,r,n){var o=i(t,e,r,n);return{a11:o.a22*o.a33-o.a23*o.a32,a12:o.a13*o.a32-o.a12*o.a33,a13:o.a12*o.a23-o.a13*o.a22,a21:o.a23*o.a31-o.a21*o.a33,a22:o.a11*o.a33-o.a13*o.a31,a23:o.a13*o.a21-o.a11*o.a23,a31:o.a21*o.a32-o.a22*o.a31,a32:o.a12*o.a31-o.a11*o.a32,a33:o.a11*o.a22-o.a12*o.a21}}({x:3.5,y:3.5},{x:e.dimension-3.5,y:3.5},{x:e.dimension-6.5,y:e.dimension-6.5},{x:3.5,y:e.dimension-3.5}),s=i(e.topLeft,e.topRight,e.alignmentPattern,e.bottomLeft),u=(o=a,{a11:(r=s).a11*o.a11+r.a21*o.a12+r.a31*o.a13,a12:r.a12*o.a11+r.a22*o.a12+r.a32*o.a13,a13:r.a13*o.a11+r.a23*o.a12+r.a33*o.a13,a21:r.a11*o.a21+r.a21*o.a22+r.a31*o.a23,a22:r.a12*o.a21+r.a22*o.a22+r.a32*o.a23,a23:r.a13*o.a21+r.a23*o.a22+r.a33*o.a23,a31:r.a11*o.a31+r.a21*o.a32+r.a31*o.a33,a32:r.a12*o.a31+r.a22*o.a32+r.a32*o.a33,a33:r.a13*o.a31+r.a23*o.a32+r.a33*o.a33}),l=n.BitMatrix.createEmpty(e.dimension,e.dimension),c=function(t,e){var r=u.a13*t+u.a23*e+u.a33;return{x:(u.a11*t+u.a21*e+u.a31)/r,y:(u.a12*t+u.a22*e+u.a32)/r}},h=0;h<e.dimension;h++)for(var p=0;p<e.dimension;p++){var f=c(p+.5,h+.5);l.set(p,h,t.get(Math.floor(f.x),Math.floor(f.y)))}return{matrix:l,mappingFunction:c}}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=4,i=.5,o=1.5,a=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))};function s(t){return t.reduce(function(t,e){return t+e})}function u(t,e,r,n){var i,o,s,u,l=[{x:Math.floor(t.x),y:Math.floor(t.y)}],c=Math.abs(e.y-t.y)>Math.abs(e.x-t.x);c?(i=Math.floor(t.y),o=Math.floor(t.x),s=Math.floor(e.y),u=Math.floor(e.x)):(i=Math.floor(t.x),o=Math.floor(t.y),s=Math.floor(e.x),u=Math.floor(e.y));for(var h=Math.abs(s-i),p=Math.abs(u-o),f=Math.floor(-h/2),d=i<s?1:-1,m=o<u?1:-1,g=!0,v=i,_=o;v!==s+d;v+=d){var y=c?_:v,b=c?v:_;if(r.get(y,b)!==g&&(g=!g,l.push({x:y,y:b}),l.length===n+1))break;if((f+=p)>0){if(_===u)break;_+=m,f-=h}}for(var x=[],w=0;w<n;w++)l[w]&&l[w+1]?x.push(a(l[w],l[w+1])):x.push(0);return x}function l(t,e,r,n){var i,o=e.y-t.y,a=e.x-t.x,s=u(t,e,r,Math.ceil(n/2)),l=u(t,{x:t.x-a,y:t.y-o},r,Math.ceil(n/2)),c=s.shift()+l.shift()-1;return(i=l.concat(c)).concat.apply(i,s)}function c(t,e){var r=s(t)/s(e),n=0;return e.forEach(function(e,i){n+=Math.pow(t[i]-e*r,2)}),{averageSize:r,error:n}}function h(t,e,r){try{var n=l(t,{x:-1,y:t.y},r,e.length),i=l(t,{x:t.x,y:-1},r,e.length),o=l(t,{x:Math.max(0,t.x-t.y)-1,y:Math.max(0,t.y-t.x)-1},r,e.length),a=l(t,{x:Math.min(r.width,t.x+t.y)+1,y:Math.min(r.height,t.y+t.x)+1},r,e.length),s=c(n,e),u=c(i,e),h=c(o,e),p=c(a,e),f=Math.sqrt(s.error*s.error+u.error*u.error+h.error*h.error+p.error*p.error),d=(s.averageSize+u.averageSize+h.averageSize+p.averageSize)/4;return f+(Math.pow(s.averageSize-d,2)+Math.pow(u.averageSize-d,2)+Math.pow(h.averageSize-d,2)+Math.pow(p.averageSize-d,2))/d}catch(t){return 1/0}}e.locate=function(t){for(var e=[],r=[],u=[],c=[],p=function(n){for(var a=0,l=!1,h=[0,0,0,0,0],p=function(e){var u=t.get(e,n);if(u===l)a++;else{h=[h[1],h[2],h[3],h[4],a],a=1,l=u;var p=s(h)/7,f=Math.abs(h[0]-p)<p&&Math.abs(h[1]-p)<p&&Math.abs(h[2]-3*p)<3*p&&Math.abs(h[3]-p)<p&&Math.abs(h[4]-p)<p&&!u,d=s(h.slice(-3))/3,m=Math.abs(h[2]-d)<d&&Math.abs(h[3]-d)<d&&Math.abs(h[4]-d)<d&&u;if(f){var g=e-h[3]-h[4],v=g-h[2],_={startX:v,endX:g,y:n};(y=r.filter(function(t){return v>=t.bottom.startX&&v<=t.bottom.endX||g>=t.bottom.startX&&v<=t.bottom.endX||v<=t.bottom.startX&&g>=t.bottom.endX&&h[2]/(t.bottom.endX-t.bottom.startX)<o&&h[2]/(t.bottom.endX-t.bottom.startX)>i})).length>0?y[0].bottom=_:r.push({top:_,bottom:_})}if(m){var y,b=e-h[4],x=b-h[3];_={startX:x,y:n,endX:b},(y=c.filter(function(t){return x>=t.bottom.startX&&x<=t.bottom.endX||b>=t.bottom.startX&&x<=t.bottom.endX||x<=t.bottom.startX&&b>=t.bottom.endX&&h[2]/(t.bottom.endX-t.bottom.startX)<o&&h[2]/(t.bottom.endX-t.bottom.startX)>i})).length>0?y[0].bottom=_:c.push({top:_,bottom:_})}}},f=-1;f<=t.width;f++)p(f);e.push.apply(e,r.filter(function(t){return t.bottom.y!==n&&t.bottom.y-t.top.y>=2})),r=r.filter(function(t){return t.bottom.y===n}),u.push.apply(u,c.filter(function(t){return t.bottom.y!==n})),c=c.filter(function(t){return t.bottom.y===n})},f=0;f<=t.height;f++)p(f);e.push.apply(e,r.filter(function(t){return t.bottom.y-t.top.y>=2})),u.push.apply(u,c);var d=e.filter(function(t){return t.bottom.y-t.top.y>=2}).map(function(e){var r=(e.top.startX+e.top.endX+e.bottom.startX+e.bottom.endX)/4,n=(e.top.y+e.bottom.y+1)/2;if(t.get(Math.round(r),Math.round(n))){var i=[e.top.endX-e.top.startX,e.bottom.endX-e.bottom.startX,e.bottom.y-e.top.y+1],o=s(i)/i.length;return{score:h({x:Math.round(r),y:Math.round(n)},[1,1,3,1,1],t),x:r,y:n,size:o}}}).filter(function(t){return!!t}).sort(function(t,e){return t.score-e.score}).map(function(t,e,r){if(e>n)return null;var i=r.filter(function(t,r){return e!==r}).map(function(e){return{x:e.x,y:e.y,score:e.score+Math.pow(e.size-t.size,2)/t.size,size:e.size}}).sort(function(t,e){return t.score-e.score});if(i.length<2)return null;var o=t.score+i[0].score+i[1].score;return{points:[t].concat(i.slice(0,2)),score:o}}).filter(function(t){return!!t}).sort(function(t,e){return t.score-e.score});if(0===d.length)return null;var m,g,v=function(t,e,r){var n,i,o,s,u,l,c,h=a(t,e),p=a(e,r),f=a(t,r);return p>=h&&p>=f?(n=(s=[e,t,r])[0],i=s[1],o=s[2]):f>=p&&f>=h?(n=(u=[t,e,r])[0],i=u[1],o=u[2]):(n=(l=[t,r,e])[0],i=l[1],o=l[2]),(o.x-i.x)*(n.y-i.y)-(o.y-i.y)*(n.x-i.x)<0&&(n=(c=[o,n])[0],o=c[1]),{bottomLeft:n,topLeft:i,topRight:o}}(d[0].points[0],d[0].points[1],d[0].points[2]),_=v.topRight,y=v.topLeft,b=v.bottomLeft;try{x=function(t,e,r,n){var i=(s(l(t,r,n,5))/7+s(l(t,e,n,5))/7+s(l(r,t,n,5))/7+s(l(e,t,n,5))/7)/4;if(i<1)throw new Error("Invalid module size");var o=Math.round(a(t,e)/i),u=Math.round(a(t,r)/i),c=Math.floor((o+u)/2)+7;switch(c%4){case 0:c++;break;case 2:c--}return{dimension:c,moduleSize:i}}(y,_,b,t),m=x.dimension,g=x.moduleSize}catch(t){return null}var x,w=_.x-y.x+b.x,k=_.y-y.y+b.y,E=(a(y,b)+a(y,_))/2/g,T=1-3/E,S={x:y.x+T*(w-y.x),y:y.y+T*(k-y.y)},A=u.map(function(e){var r=(e.top.startX+e.top.endX+e.bottom.startX+e.bottom.endX)/4,n=(e.top.y+e.bottom.y+1)/2;if(t.get(Math.floor(r),Math.floor(n))){var i=[e.top.endX-e.top.startX,e.bottom.endX-e.bottom.startX,e.bottom.y-e.top.y+1];return s(i),{x:r,y:n,score:h({x:Math.floor(r),y:Math.floor(n)},[1,1,1],t)+a({x:r,y:n},S)}}}).filter(function(t){return!!t}).sort(function(t,e){return t.score-e.score}),C=E>=15&&A.length?A[0]:S;return{alignmentPattern:{x:C.x,y:C.y},bottomLeft:{x:b.x,y:b.y},dimension:m,topLeft:{x:y.x,y:y.y},topRight:{x:_.x,y:_.y}}}}]).default},"object"==typeof r&&"object"==typeof e?e.exports=i():"function"==typeof define&&define.amd?define([],i):"object"==typeof r?r.jsQR=i():n.jsQR=i()},{}],99:[function(t,e,r){(function(t){(function(){var n,i=200,o="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",a="Expected a function",s="__lodash_hash_undefined__",u=500,l="__lodash_placeholder__",c=1,h=2,p=4,f=1,d=2,m=1,g=2,v=4,_=8,y=16,b=32,x=64,w=128,k=256,E=512,T=30,S="...",A=800,C=16,R=1,B=2,P=1/0,I=9007199254740991,M=1.7976931348623157e308,D=NaN,F=4294967295,L=F-1,O=F>>>1,N=[["ary",w],["bind",m],["bindKey",g],["curry",_],["curryRight",y],["flip",E],["partial",b],["partialRight",x],["rearg",k]],j="[object Arguments]",U="[object Array]",z="[object AsyncFunction]",G="[object Boolean]",$="[object Date]",V="[object DOMException]",X="[object Error]",W="[object Function]",q="[object GeneratorFunction]",K="[object Map]",H="[object Number]",Y="[object Null]",Z="[object Object]",J="[object Proxy]",Q="[object RegExp]",tt="[object Set]",et="[object String]",rt="[object Symbol]",nt="[object Undefined]",it="[object WeakMap]",ot="[object WeakSet]",at="[object ArrayBuffer]",st="[object DataView]",ut="[object Float32Array]",lt="[object Float64Array]",ct="[object Int8Array]",ht="[object Int16Array]",pt="[object Int32Array]",ft="[object Uint8Array]",dt="[object Uint8ClampedArray]",mt="[object Uint16Array]",gt="[object Uint32Array]",vt=/\b__p \+= '';/g,_t=/\b(__p \+=) '' \+/g,yt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,bt=/&(?:amp|lt|gt|quot|#39);/g,xt=/[&<>"']/g,wt=RegExp(bt.source),kt=RegExp(xt.source),Et=/<%-([\s\S]+?)%>/g,Tt=/<%([\s\S]+?)%>/g,St=/<%=([\s\S]+?)%>/g,At=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ct=/^\w*$/,Rt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Bt=/[\\^$.*+?()[\]{}|]/g,Pt=RegExp(Bt.source),It=/^\s+|\s+$/g,Mt=/^\s+/,Dt=/\s+$/,Ft=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Lt=/\{\n\/\* \[wrapped with (.+)\] \*/,Ot=/,? & /,Nt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,jt=/\\(\\)?/g,Ut=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,zt=/\w*$/,Gt=/^[-+]0x[0-9a-f]+$/i,$t=/^0b[01]+$/i,Vt=/^\[object .+?Constructor\]$/,Xt=/^0o[0-7]+$/i,Wt=/^(?:0|[1-9]\d*)$/,qt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Kt=/($^)/,Ht=/['\n\r\u2028\u2029\\]/g,Yt="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Zt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Jt="[\\ud800-\\udfff]",Qt="["+Zt+"]",te="["+Yt+"]",ee="\\d+",re="[\\u2700-\\u27bf]",ne="[a-z\\xdf-\\xf6\\xf8-\\xff]",ie="[^\\ud800-\\udfff"+Zt+ee+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",oe="\\ud83c[\\udffb-\\udfff]",ae="[^\\ud800-\\udfff]",se="(?:\\ud83c[\\udde6-\\uddff]){2}",ue="[\\ud800-\\udbff][\\udc00-\\udfff]",le="[A-Z\\xc0-\\xd6\\xd8-\\xde]",ce="(?:"+ne+"|"+ie+")",he="(?:"+le+"|"+ie+")",pe="(?:"+te+"|"+oe+")"+"?",fe="[\\ufe0e\\ufe0f]?"+pe+("(?:\\u200d(?:"+[ae,se,ue].join("|")+")[\\ufe0e\\ufe0f]?"+pe+")*"),de="(?:"+[re,se,ue].join("|")+")"+fe,me="(?:"+[ae+te+"?",te,se,ue,Jt].join("|")+")",ge=RegExp("['’]","g"),ve=RegExp(te,"g"),_e=RegExp(oe+"(?="+oe+")|"+me+fe,"g"),ye=RegExp([le+"?"+ne+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[Qt,le,"$"].join("|")+")",he+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[Qt,le+ce,"$"].join("|")+")",le+"?"+ce+"+(?:['’](?:d|ll|m|re|s|t|ve))?",le+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ee,de].join("|"),"g"),be=RegExp("[\\u200d\\ud800-\\udfff"+Yt+"\\ufe0e\\ufe0f]"),xe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,we=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ke=-1,Ee={};Ee[ut]=Ee[lt]=Ee[ct]=Ee[ht]=Ee[pt]=Ee[ft]=Ee[dt]=Ee[mt]=Ee[gt]=!0,Ee[j]=Ee[U]=Ee[at]=Ee[G]=Ee[st]=Ee[$]=Ee[X]=Ee[W]=Ee[K]=Ee[H]=Ee[Z]=Ee[Q]=Ee[tt]=Ee[et]=Ee[it]=!1;var Te={};Te[j]=Te[U]=Te[at]=Te[st]=Te[G]=Te[$]=Te[ut]=Te[lt]=Te[ct]=Te[ht]=Te[pt]=Te[K]=Te[H]=Te[Z]=Te[Q]=Te[tt]=Te[et]=Te[rt]=Te[ft]=Te[dt]=Te[mt]=Te[gt]=!0,Te[X]=Te[W]=Te[it]=!1;var Se={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Ae=parseFloat,Ce=parseInt,Re="object"==typeof t&&t&&t.Object===Object&&t,Be="object"==typeof self&&self&&self.Object===Object&&self,Pe=Re||Be||Function("return this")(),Ie="object"==typeof r&&r&&!r.nodeType&&r,Me=Ie&&"object"==typeof e&&e&&!e.nodeType&&e,De=Me&&Me.exports===Ie,Fe=De&&Re.process,Le=function(){try{var t=Me&&Me.require&&Me.require("util").types;return t||Fe&&Fe.binding&&Fe.binding("util")}catch(t){}}(),Oe=Le&&Le.isArrayBuffer,Ne=Le&&Le.isDate,je=Le&&Le.isMap,Ue=Le&&Le.isRegExp,ze=Le&&Le.isSet,Ge=Le&&Le.isTypedArray;function $e(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}function Ve(t,e,r,n){for(var i=-1,o=null==t?0:t.length;++i<o;){var a=t[i];e(n,a,r(a),t)}return n}function Xe(t,e){for(var r=-1,n=null==t?0:t.length;++r<n&&!1!==e(t[r],r,t););return t}function We(t,e){for(var r=null==t?0:t.length;r--&&!1!==e(t[r],r,t););return t}function qe(t,e){for(var r=-1,n=null==t?0:t.length;++r<n;)if(!e(t[r],r,t))return!1;return!0}function Ke(t,e){for(var r=-1,n=null==t?0:t.length,i=0,o=[];++r<n;){var a=t[r];e(a,r,t)&&(o[i++]=a)}return o}function He(t,e){return!!(null==t?0:t.length)&&or(t,e,0)>-1}function Ye(t,e,r){for(var n=-1,i=null==t?0:t.length;++n<i;)if(r(e,t[n]))return!0;return!1}function Ze(t,e){for(var r=-1,n=null==t?0:t.length,i=Array(n);++r<n;)i[r]=e(t[r],r,t);return i}function Je(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}function Qe(t,e,r,n){var i=-1,o=null==t?0:t.length;for(n&&o&&(r=t[++i]);++i<o;)r=e(r,t[i],i,t);return r}function tr(t,e,r,n){var i=null==t?0:t.length;for(n&&i&&(r=t[--i]);i--;)r=e(r,t[i],i,t);return r}function er(t,e){for(var r=-1,n=null==t?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}var rr=lr("length");function nr(t,e,r){var n;return r(t,function(t,r,i){if(e(t,r,i))return n=r,!1}),n}function ir(t,e,r,n){for(var i=t.length,o=r+(n?1:-1);n?o--:++o<i;)if(e(t[o],o,t))return o;return-1}function or(t,e,r){return e==e?function(t,e,r){var n=r-1,i=t.length;for(;++n<i;)if(t[n]===e)return n;return-1}(t,e,r):ir(t,sr,r)}function ar(t,e,r,n){for(var i=r-1,o=t.length;++i<o;)if(n(t[i],e))return i;return-1}function sr(t){return t!=t}function ur(t,e){var r=null==t?0:t.length;return r?pr(t,e)/r:D}function lr(t){return function(e){return null==e?n:e[t]}}function cr(t){return function(e){return null==t?n:t[e]}}function hr(t,e,r,n,i){return i(t,function(t,i,o){r=n?(n=!1,t):e(r,t,i,o)}),r}function pr(t,e){for(var r,i=-1,o=t.length;++i<o;){var a=e(t[i]);a!==n&&(r=r===n?a:r+a)}return r}function fr(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}function dr(t){return function(e){return t(e)}}function mr(t,e){return Ze(e,function(e){return t[e]})}function gr(t,e){return t.has(e)}function vr(t,e){for(var r=-1,n=t.length;++r<n&&or(e,t[r],0)>-1;);return r}function _r(t,e){for(var r=t.length;r--&&or(e,t[r],0)>-1;);return r}var yr=cr({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),br=cr({"&":"&","<":"<",">":">",'"':""","'":"'"});function xr(t){return"\\"+Se[t]}function wr(t){return be.test(t)}function kr(t){var e=-1,r=Array(t.size);return t.forEach(function(t,n){r[++e]=[n,t]}),r}function Er(t,e){return function(r){return t(e(r))}}function Tr(t,e){for(var r=-1,n=t.length,i=0,o=[];++r<n;){var a=t[r];a!==e&&a!==l||(t[r]=l,o[i++]=r)}return o}function Sr(t){var e=-1,r=Array(t.size);return t.forEach(function(t){r[++e]=t}),r}function Ar(t){var e=-1,r=Array(t.size);return t.forEach(function(t){r[++e]=[t,t]}),r}function Cr(t){return wr(t)?function(t){var e=_e.lastIndex=0;for(;_e.test(t);)++e;return e}(t):rr(t)}function Rr(t){return wr(t)?function(t){return t.match(_e)||[]}(t):function(t){return t.split("")}(t)}var Br=cr({"&":"&","<":"<",">":">",""":'"',"'":"'"});var Pr=function t(e){var r,Yt=(e=null==e?Pe:Pr.defaults(Pe.Object(),e,Pr.pick(Pe,we))).Array,Zt=e.Date,Jt=e.Error,Qt=e.Function,te=e.Math,ee=e.Object,re=e.RegExp,ne=e.String,ie=e.TypeError,oe=Yt.prototype,ae=Qt.prototype,se=ee.prototype,ue=e["__core-js_shared__"],le=ae.toString,ce=se.hasOwnProperty,he=0,pe=(r=/[^.]+$/.exec(ue&&ue.keys&&ue.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"",fe=se.toString,de=le.call(ee),me=Pe._,_e=re("^"+le.call(ce).replace(Bt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),be=De?e.Buffer:n,Se=e.Symbol,Re=e.Uint8Array,Be=be?be.allocUnsafe:n,Ie=Er(ee.getPrototypeOf,ee),Me=ee.create,Fe=se.propertyIsEnumerable,Le=oe.splice,rr=Se?Se.isConcatSpreadable:n,cr=Se?Se.iterator:n,Ir=Se?Se.toStringTag:n,Mr=function(){try{var t=jo(ee,"defineProperty");return t({},"",{}),t}catch(t){}}(),Dr=e.clearTimeout!==Pe.clearTimeout&&e.clearTimeout,Fr=Zt&&Zt.now!==Pe.Date.now&&Zt.now,Lr=e.setTimeout!==Pe.setTimeout&&e.setTimeout,Or=te.ceil,Nr=te.floor,jr=ee.getOwnPropertySymbols,Ur=be?be.isBuffer:n,zr=e.isFinite,Gr=oe.join,$r=Er(ee.keys,ee),Vr=te.max,Xr=te.min,Wr=Zt.now,qr=e.parseInt,Kr=te.random,Hr=oe.reverse,Yr=jo(e,"DataView"),Zr=jo(e,"Map"),Jr=jo(e,"Promise"),Qr=jo(e,"Set"),tn=jo(e,"WeakMap"),en=jo(ee,"create"),rn=tn&&new tn,nn={},on=ha(Yr),an=ha(Zr),sn=ha(Jr),un=ha(Qr),ln=ha(tn),cn=Se?Se.prototype:n,hn=cn?cn.valueOf:n,pn=cn?cn.toString:n;function fn(t){if(Cs(t)&&!vs(t)&&!(t instanceof vn)){if(t instanceof gn)return t;if(ce.call(t,"__wrapped__"))return pa(t)}return new gn(t)}var dn=function(){function t(){}return function(e){if(!As(e))return{};if(Me)return Me(e);t.prototype=e;var r=new t;return t.prototype=n,r}}();function mn(){}function gn(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=n}function vn(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=F,this.__views__=[]}function _n(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function yn(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function bn(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function xn(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new bn;++e<r;)this.add(t[e])}function wn(t){var e=this.__data__=new yn(t);this.size=e.size}function kn(t,e){var r=vs(t),n=!r&&gs(t),i=!r&&!n&&xs(t),o=!r&&!n&&!i&&Ls(t),a=r||n||i||o,s=a?fr(t.length,ne):[],u=s.length;for(var l in t)!e&&!ce.call(t,l)||a&&("length"==l||i&&("offset"==l||"parent"==l)||o&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||Wo(l,u))||s.push(l);return s}function En(t){var e=t.length;return e?t[xi(0,e-1)]:n}function Tn(t,e){return ua(ro(t),Dn(e,0,t.length))}function Sn(t){return ua(ro(t))}function An(t,e,r){(r===n||fs(t[e],r))&&(r!==n||e in t)||In(t,e,r)}function Cn(t,e,r){var i=t[e];ce.call(t,e)&&fs(i,r)&&(r!==n||e in t)||In(t,e,r)}function Rn(t,e){for(var r=t.length;r--;)if(fs(t[r][0],e))return r;return-1}function Bn(t,e,r,n){return jn(t,function(t,i,o){e(n,t,r(t),o)}),n}function Pn(t,e){return t&&no(e,iu(e),t)}function In(t,e,r){"__proto__"==e&&Mr?Mr(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}function Mn(t,e){for(var r=-1,i=e.length,o=Yt(i),a=null==t;++r<i;)o[r]=a?n:Qs(t,e[r]);return o}function Dn(t,e,r){return t==t&&(r!==n&&(t=t<=r?t:r),e!==n&&(t=t>=e?t:e)),t}function Fn(t,e,r,i,o,a){var s,u=e&c,l=e&h,f=e&p;if(r&&(s=o?r(t,i,o,a):r(t)),s!==n)return s;if(!As(t))return t;var d=vs(t);if(d){if(s=function(t){var e=t.length,r=new t.constructor(e);return e&&"string"==typeof t[0]&&ce.call(t,"index")&&(r.index=t.index,r.input=t.input),r}(t),!u)return ro(t,s)}else{var m=Go(t),g=m==W||m==q;if(xs(t))return Yi(t,u);if(m==Z||m==j||g&&!o){if(s=l||g?{}:Vo(t),!u)return l?function(t,e){return no(t,zo(t),e)}(t,function(t,e){return t&&no(e,ou(e),t)}(s,t)):function(t,e){return no(t,Uo(t),e)}(t,Pn(s,t))}else{if(!Te[m])return o?t:{};s=function(t,e,r){var n,i,o,a=t.constructor;switch(e){case at:return Zi(t);case G:case $:return new a(+t);case st:return function(t,e){var r=e?Zi(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}(t,r);case ut:case lt:case ct:case ht:case pt:case ft:case dt:case mt:case gt:return Ji(t,r);case K:return new a;case H:case et:return new a(t);case Q:return(o=new(i=t).constructor(i.source,zt.exec(i))).lastIndex=i.lastIndex,o;case tt:return new a;case rt:return n=t,hn?ee(hn.call(n)):{}}}(t,m,u)}}a||(a=new wn);var v=a.get(t);if(v)return v;if(a.set(t,s),Ms(t))return t.forEach(function(n){s.add(Fn(n,e,r,n,t,a))}),s;if(Rs(t))return t.forEach(function(n,i){s.set(i,Fn(n,e,r,i,t,a))}),s;var _=d?n:(f?l?Io:Po:l?ou:iu)(t);return Xe(_||t,function(n,i){_&&(n=t[i=n]),Cn(s,i,Fn(n,e,r,i,t,a))}),s}function Ln(t,e,r){var i=r.length;if(null==t)return!i;for(t=ee(t);i--;){var o=r[i],a=e[o],s=t[o];if(s===n&&!(o in t)||!a(s))return!1}return!0}function On(t,e,r){if("function"!=typeof t)throw new ie(a);return ia(function(){t.apply(n,r)},e)}function Nn(t,e,r,n){var o=-1,a=He,s=!0,u=t.length,l=[],c=e.length;if(!u)return l;r&&(e=Ze(e,dr(r))),n?(a=Ye,s=!1):e.length>=i&&(a=gr,s=!1,e=new xn(e));t:for(;++o<u;){var h=t[o],p=null==r?h:r(h);if(h=n||0!==h?h:0,s&&p==p){for(var f=c;f--;)if(e[f]===p)continue t;l.push(h)}else a(e,p,n)||l.push(h)}return l}fn.templateSettings={escape:Et,evaluate:Tt,interpolate:St,variable:"",imports:{_:fn}},fn.prototype=mn.prototype,fn.prototype.constructor=fn,gn.prototype=dn(mn.prototype),gn.prototype.constructor=gn,vn.prototype=dn(mn.prototype),vn.prototype.constructor=vn,_n.prototype.clear=function(){this.__data__=en?en(null):{},this.size=0},_n.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},_n.prototype.get=function(t){var e=this.__data__;if(en){var r=e[t];return r===s?n:r}return ce.call(e,t)?e[t]:n},_n.prototype.has=function(t){var e=this.__data__;return en?e[t]!==n:ce.call(e,t)},_n.prototype.set=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=en&&e===n?s:e,this},yn.prototype.clear=function(){this.__data__=[],this.size=0},yn.prototype.delete=function(t){var e=this.__data__,r=Rn(e,t);return!(r<0||(r==e.length-1?e.pop():Le.call(e,r,1),--this.size,0))},yn.prototype.get=function(t){var e=this.__data__,r=Rn(e,t);return r<0?n:e[r][1]},yn.prototype.has=function(t){return Rn(this.__data__,t)>-1},yn.prototype.set=function(t,e){var r=this.__data__,n=Rn(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this},bn.prototype.clear=function(){this.size=0,this.__data__={hash:new _n,map:new(Zr||yn),string:new _n}},bn.prototype.delete=function(t){var e=Oo(this,t).delete(t);return this.size-=e?1:0,e},bn.prototype.get=function(t){return Oo(this,t).get(t)},bn.prototype.has=function(t){return Oo(this,t).has(t)},bn.prototype.set=function(t,e){var r=Oo(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this},xn.prototype.add=xn.prototype.push=function(t){return this.__data__.set(t,s),this},xn.prototype.has=function(t){return this.__data__.has(t)},wn.prototype.clear=function(){this.__data__=new yn,this.size=0},wn.prototype.delete=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},wn.prototype.get=function(t){return this.__data__.get(t)},wn.prototype.has=function(t){return this.__data__.has(t)},wn.prototype.set=function(t,e){var r=this.__data__;if(r instanceof yn){var n=r.__data__;if(!Zr||n.length<i-1)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new bn(n)}return r.set(t,e),this.size=r.size,this};var jn=ao(qn),Un=ao(Kn,!0);function zn(t,e){var r=!0;return jn(t,function(t,n,i){return r=!!e(t,n,i)}),r}function Gn(t,e,r){for(var i=-1,o=t.length;++i<o;){var a=t[i],s=e(a);if(null!=s&&(u===n?s==s&&!Fs(s):r(s,u)))var u=s,l=a}return l}function $n(t,e){var r=[];return jn(t,function(t,n,i){e(t,n,i)&&r.push(t)}),r}function Vn(t,e,r,n,i){var o=-1,a=t.length;for(r||(r=Xo),i||(i=[]);++o<a;){var s=t[o];e>0&&r(s)?e>1?Vn(s,e-1,r,n,i):Je(i,s):n||(i[i.length]=s)}return i}var Xn=so(),Wn=so(!0);function qn(t,e){return t&&Xn(t,e,iu)}function Kn(t,e){return t&&Wn(t,e,iu)}function Hn(t,e){return Ke(e,function(e){return Es(t[e])})}function Yn(t,e){for(var r=0,i=(e=Wi(e,t)).length;null!=t&&r<i;)t=t[ca(e[r++])];return r&&r==i?t:n}function Zn(t,e,r){var n=e(t);return vs(t)?n:Je(n,r(t))}function Jn(t){return null==t?t===n?nt:Y:Ir&&Ir in ee(t)?function(t){var e=ce.call(t,Ir),r=t[Ir];try{t[Ir]=n;var i=!0}catch(t){}var o=fe.call(t);return i&&(e?t[Ir]=r:delete t[Ir]),o}(t):function(t){return fe.call(t)}(t)}function Qn(t,e){return t>e}function ti(t,e){return null!=t&&ce.call(t,e)}function ei(t,e){return null!=t&&e in ee(t)}function ri(t,e,r){for(var i=r?Ye:He,o=t[0].length,a=t.length,s=a,u=Yt(a),l=1/0,c=[];s--;){var h=t[s];s&&e&&(h=Ze(h,dr(e))),l=Xr(h.length,l),u[s]=!r&&(e||o>=120&&h.length>=120)?new xn(s&&h):n}h=t[0];var p=-1,f=u[0];t:for(;++p<o&&c.length<l;){var d=h[p],m=e?e(d):d;if(d=r||0!==d?d:0,!(f?gr(f,m):i(c,m,r))){for(s=a;--s;){var g=u[s];if(!(g?gr(g,m):i(t[s],m,r)))continue t}f&&f.push(m),c.push(d)}}return c}function ni(t,e,r){var i=null==(t=ea(t,e=Wi(e,t)))?t:t[ca(ka(e))];return null==i?n:$e(i,t,r)}function ii(t){return Cs(t)&&Jn(t)==j}function oi(t,e,r,i,o){return t===e||(null==t||null==e||!Cs(t)&&!Cs(e)?t!=t&&e!=e:function(t,e,r,i,o,a){var s=vs(t),u=vs(e),l=s?U:Go(t),c=u?U:Go(e),h=(l=l==j?Z:l)==Z,p=(c=c==j?Z:c)==Z,m=l==c;if(m&&xs(t)){if(!xs(e))return!1;s=!0,h=!1}if(m&&!h)return a||(a=new wn),s||Ls(t)?Ro(t,e,r,i,o,a):function(t,e,r,n,i,o,a){switch(r){case st:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case at:return!(t.byteLength!=e.byteLength||!o(new Re(t),new Re(e)));case G:case $:case H:return fs(+t,+e);case X:return t.name==e.name&&t.message==e.message;case Q:case et:return t==e+"";case K:var s=kr;case tt:var u=n&f;if(s||(s=Sr),t.size!=e.size&&!u)return!1;var l=a.get(t);if(l)return l==e;n|=d,a.set(t,e);var c=Ro(s(t),s(e),n,i,o,a);return a.delete(t),c;case rt:if(hn)return hn.call(t)==hn.call(e)}return!1}(t,e,l,r,i,o,a);if(!(r&f)){var g=h&&ce.call(t,"__wrapped__"),v=p&&ce.call(e,"__wrapped__");if(g||v){var _=g?t.value():t,y=v?e.value():e;return a||(a=new wn),o(_,y,r,i,a)}}return!!m&&(a||(a=new wn),function(t,e,r,i,o,a){var s=r&f,u=Po(t),l=u.length,c=Po(e).length;if(l!=c&&!s)return!1;for(var h=l;h--;){var p=u[h];if(!(s?p in e:ce.call(e,p)))return!1}var d=a.get(t);if(d&&a.get(e))return d==e;var m=!0;a.set(t,e),a.set(e,t);for(var g=s;++h<l;){p=u[h];var v=t[p],_=e[p];if(i)var y=s?i(_,v,p,e,t,a):i(v,_,p,t,e,a);if(!(y===n?v===_||o(v,_,r,i,a):y)){m=!1;break}g||(g="constructor"==p)}if(m&&!g){var b=t.constructor,x=e.constructor;b!=x&&"constructor"in t&&"constructor"in e&&!("function"==typeof b&&b instanceof b&&"function"==typeof x&&x instanceof x)&&(m=!1)}return a.delete(t),a.delete(e),m}(t,e,r,i,o,a))}(t,e,r,i,oi,o))}function ai(t,e,r,i){var o=r.length,a=o,s=!i;if(null==t)return!a;for(t=ee(t);o--;){var u=r[o];if(s&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++o<a;){var l=(u=r[o])[0],c=t[l],h=u[1];if(s&&u[2]){if(c===n&&!(l in t))return!1}else{var p=new wn;if(i)var m=i(c,h,l,t,e,p);if(!(m===n?oi(h,c,f|d,i,p):m))return!1}}return!0}function si(t){return!(!As(t)||pe&&pe in t)&&(Es(t)?_e:Vt).test(ha(t))}function ui(t){return"function"==typeof t?t:null==t?Bu:"object"==typeof t?vs(t)?di(t[0],t[1]):fi(t):ju(t)}function li(t){if(!Zo(t))return $r(t);var e=[];for(var r in ee(t))ce.call(t,r)&&"constructor"!=r&&e.push(r);return e}function ci(t){if(!As(t))return function(t){var e=[];if(null!=t)for(var r in ee(t))e.push(r);return e}(t);var e=Zo(t),r=[];for(var n in t)("constructor"!=n||!e&&ce.call(t,n))&&r.push(n);return r}function hi(t,e){return t<e}function pi(t,e){var r=-1,n=ys(t)?Yt(t.length):[];return jn(t,function(t,i,o){n[++r]=e(t,i,o)}),n}function fi(t){var e=No(t);return 1==e.length&&e[0][2]?Qo(e[0][0],e[0][1]):function(r){return r===t||ai(r,t,e)}}function di(t,e){return Ko(t)&&Jo(e)?Qo(ca(t),e):function(r){var i=Qs(r,t);return i===n&&i===e?tu(r,t):oi(e,i,f|d)}}function mi(t,e,r,i,o){t!==e&&Xn(e,function(a,s){if(As(a))o||(o=new wn),function(t,e,r,i,o,a,s){var u=ra(t,r),l=ra(e,r),c=s.get(l);if(c)An(t,r,c);else{var h=a?a(u,l,r+"",t,e,s):n,p=h===n;if(p){var f=vs(l),d=!f&&xs(l),m=!f&&!d&&Ls(l);h=l,f||d||m?vs(u)?h=u:bs(u)?h=ro(u):d?(p=!1,h=Yi(l,!0)):m?(p=!1,h=Ji(l,!0)):h=[]:Ps(l)||gs(l)?(h=u,gs(u)?h=Vs(u):As(u)&&!Es(u)||(h=Vo(l))):p=!1}p&&(s.set(l,h),o(h,l,i,a,s),s.delete(l)),An(t,r,h)}}(t,e,s,r,mi,i,o);else{var u=i?i(ra(t,s),a,s+"",t,e,o):n;u===n&&(u=a),An(t,s,u)}},ou)}function gi(t,e){var r=t.length;if(r)return Wo(e+=e<0?r:0,r)?t[e]:n}function vi(t,e,r){var n=-1;return e=Ze(e.length?e:[Bu],dr(Lo())),function(t,e){var r=t.length;for(t.sort(e);r--;)t[r]=t[r].value;return t}(pi(t,function(t,r,i){return{criteria:Ze(e,function(e){return e(t)}),index:++n,value:t}}),function(t,e){return function(t,e,r){for(var n=-1,i=t.criteria,o=e.criteria,a=i.length,s=r.length;++n<a;){var u=Qi(i[n],o[n]);if(u){if(n>=s)return u;var l=r[n];return u*("desc"==l?-1:1)}}return t.index-e.index}(t,e,r)})}function _i(t,e,r){for(var n=-1,i=e.length,o={};++n<i;){var a=e[n],s=Yn(t,a);r(s,a)&&Si(o,Wi(a,t),s)}return o}function yi(t,e,r,n){var i=n?ar:or,o=-1,a=e.length,s=t;for(t===e&&(e=ro(e)),r&&(s=Ze(t,dr(r)));++o<a;)for(var u=0,l=e[o],c=r?r(l):l;(u=i(s,c,u,n))>-1;)s!==t&&Le.call(s,u,1),Le.call(t,u,1);return t}function bi(t,e){for(var r=t?e.length:0,n=r-1;r--;){var i=e[r];if(r==n||i!==o){var o=i;Wo(i)?Le.call(t,i,1):Ni(t,i)}}return t}function xi(t,e){return t+Nr(Kr()*(e-t+1))}function wi(t,e){var r="";if(!t||e<1||e>I)return r;do{e%2&&(r+=t),(e=Nr(e/2))&&(t+=t)}while(e);return r}function ki(t,e){return oa(ta(t,e,Bu),t+"")}function Ei(t){return En(fu(t))}function Ti(t,e){var r=fu(t);return ua(r,Dn(e,0,r.length))}function Si(t,e,r,i){if(!As(t))return t;for(var o=-1,a=(e=Wi(e,t)).length,s=a-1,u=t;null!=u&&++o<a;){var l=ca(e[o]),c=r;if(o!=s){var h=u[l];(c=i?i(h,l,u):n)===n&&(c=As(h)?h:Wo(e[o+1])?[]:{})}Cn(u,l,c),u=u[l]}return t}var Ai=rn?function(t,e){return rn.set(t,e),t}:Bu,Ci=Mr?function(t,e){return Mr(t,"toString",{configurable:!0,enumerable:!1,value:Au(e),writable:!0})}:Bu;function Ri(t){return ua(fu(t))}function Bi(t,e,r){var n=-1,i=t.length;e<0&&(e=-e>i?0:i+e),(r=r>i?i:r)<0&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var o=Yt(i);++n<i;)o[n]=t[n+e];return o}function Pi(t,e){var r;return jn(t,function(t,n,i){return!(r=e(t,n,i))}),!!r}function Ii(t,e,r){var n=0,i=null==t?n:t.length;if("number"==typeof e&&e==e&&i<=O){for(;n<i;){var o=n+i>>>1,a=t[o];null!==a&&!Fs(a)&&(r?a<=e:a<e)?n=o+1:i=o}return i}return Mi(t,e,Bu,r)}function Mi(t,e,r,i){e=r(e);for(var o=0,a=null==t?0:t.length,s=e!=e,u=null===e,l=Fs(e),c=e===n;o<a;){var h=Nr((o+a)/2),p=r(t[h]),f=p!==n,d=null===p,m=p==p,g=Fs(p);if(s)var v=i||m;else v=c?m&&(i||f):u?m&&f&&(i||!d):l?m&&f&&!d&&(i||!g):!d&&!g&&(i?p<=e:p<e);v?o=h+1:a=h}return Xr(a,L)}function Di(t,e){for(var r=-1,n=t.length,i=0,o=[];++r<n;){var a=t[r],s=e?e(a):a;if(!r||!fs(s,u)){var u=s;o[i++]=0===a?0:a}}return o}function Fi(t){return"number"==typeof t?t:Fs(t)?D:+t}function Li(t){if("string"==typeof t)return t;if(vs(t))return Ze(t,Li)+"";if(Fs(t))return pn?pn.call(t):"";var e=t+"";return"0"==e&&1/t==-P?"-0":e}function Oi(t,e,r){var n=-1,o=He,a=t.length,s=!0,u=[],l=u;if(r)s=!1,o=Ye;else if(a>=i){var c=e?null:ko(t);if(c)return Sr(c);s=!1,o=gr,l=new xn}else l=e?[]:u;t:for(;++n<a;){var h=t[n],p=e?e(h):h;if(h=r||0!==h?h:0,s&&p==p){for(var f=l.length;f--;)if(l[f]===p)continue t;e&&l.push(p),u.push(h)}else o(l,p,r)||(l!==u&&l.push(p),u.push(h))}return u}function Ni(t,e){return null==(t=ea(t,e=Wi(e,t)))||delete t[ca(ka(e))]}function ji(t,e,r,n){return Si(t,e,r(Yn(t,e)),n)}function Ui(t,e,r,n){for(var i=t.length,o=n?i:-1;(n?o--:++o<i)&&e(t[o],o,t););return r?Bi(t,n?0:o,n?o+1:i):Bi(t,n?o+1:0,n?i:o)}function zi(t,e){var r=t;return r instanceof vn&&(r=r.value()),Qe(e,function(t,e){return e.func.apply(e.thisArg,Je([t],e.args))},r)}function Gi(t,e,r){var n=t.length;if(n<2)return n?Oi(t[0]):[];for(var i=-1,o=Yt(n);++i<n;)for(var a=t[i],s=-1;++s<n;)s!=i&&(o[i]=Nn(o[i]||a,t[s],e,r));return Oi(Vn(o,1),e,r)}function $i(t,e,r){for(var i=-1,o=t.length,a=e.length,s={};++i<o;){var u=i<a?e[i]:n;r(s,t[i],u)}return s}function Vi(t){return bs(t)?t:[]}function Xi(t){return"function"==typeof t?t:Bu}function Wi(t,e){return vs(t)?t:Ko(t,e)?[t]:la(Xs(t))}var qi=ki;function Ki(t,e,r){var i=t.length;return r=r===n?i:r,!e&&r>=i?t:Bi(t,e,r)}var Hi=Dr||function(t){return Pe.clearTimeout(t)};function Yi(t,e){if(e)return t.slice();var r=t.length,n=Be?Be(r):new t.constructor(r);return t.copy(n),n}function Zi(t){var e=new t.constructor(t.byteLength);return new Re(e).set(new Re(t)),e}function Ji(t,e){var r=e?Zi(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}function Qi(t,e){if(t!==e){var r=t!==n,i=null===t,o=t==t,a=Fs(t),s=e!==n,u=null===e,l=e==e,c=Fs(e);if(!u&&!c&&!a&&t>e||a&&s&&l&&!u&&!c||i&&s&&l||!r&&l||!o)return 1;if(!i&&!a&&!c&&t<e||c&&r&&o&&!i&&!a||u&&r&&o||!s&&o||!l)return-1}return 0}function to(t,e,r,n){for(var i=-1,o=t.length,a=r.length,s=-1,u=e.length,l=Vr(o-a,0),c=Yt(u+l),h=!n;++s<u;)c[s]=e[s];for(;++i<a;)(h||i<o)&&(c[r[i]]=t[i]);for(;l--;)c[s++]=t[i++];return c}function eo(t,e,r,n){for(var i=-1,o=t.length,a=-1,s=r.length,u=-1,l=e.length,c=Vr(o-s,0),h=Yt(c+l),p=!n;++i<c;)h[i]=t[i];for(var f=i;++u<l;)h[f+u]=e[u];for(;++a<s;)(p||i<o)&&(h[f+r[a]]=t[i++]);return h}function ro(t,e){var r=-1,n=t.length;for(e||(e=Yt(n));++r<n;)e[r]=t[r];return e}function no(t,e,r,i){var o=!r;r||(r={});for(var a=-1,s=e.length;++a<s;){var u=e[a],l=i?i(r[u],t[u],u,r,t):n;l===n&&(l=t[u]),o?In(r,u,l):Cn(r,u,l)}return r}function io(t,e){return function(r,n){var i=vs(r)?Ve:Bn,o=e?e():{};return i(r,t,Lo(n,2),o)}}function oo(t){return ki(function(e,r){var i=-1,o=r.length,a=o>1?r[o-1]:n,s=o>2?r[2]:n;for(a=t.length>3&&"function"==typeof a?(o--,a):n,s&&qo(r[0],r[1],s)&&(a=o<3?n:a,o=1),e=ee(e);++i<o;){var u=r[i];u&&t(e,u,i,a)}return e})}function ao(t,e){return function(r,n){if(null==r)return r;if(!ys(r))return t(r,n);for(var i=r.length,o=e?i:-1,a=ee(r);(e?o--:++o<i)&&!1!==n(a[o],o,a););return r}}function so(t){return function(e,r,n){for(var i=-1,o=ee(e),a=n(e),s=a.length;s--;){var u=a[t?s:++i];if(!1===r(o[u],u,o))break}return e}}function uo(t){return function(e){var r=wr(e=Xs(e))?Rr(e):n,i=r?r[0]:e.charAt(0),o=r?Ki(r,1).join(""):e.slice(1);return i[t]()+o}}function lo(t){return function(e){return Qe(Eu(gu(e).replace(ge,"")),t,"")}}function co(t){return function(){var e=arguments;switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3]);case 5:return new t(e[0],e[1],e[2],e[3],e[4]);case 6:return new t(e[0],e[1],e[2],e[3],e[4],e[5]);case 7:return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6])}var r=dn(t.prototype),n=t.apply(r,e);return As(n)?n:r}}function ho(t){return function(e,r,i){var o=ee(e);if(!ys(e)){var a=Lo(r,3);e=iu(e),r=function(t){return a(o[t],t,o)}}var s=t(e,r,i);return s>-1?o[a?e[s]:s]:n}}function po(t){return Bo(function(e){var r=e.length,i=r,o=gn.prototype.thru;for(t&&e.reverse();i--;){var s=e[i];if("function"!=typeof s)throw new ie(a);if(o&&!u&&"wrapper"==Do(s))var u=new gn([],!0)}for(i=u?i:r;++i<r;){var l=Do(s=e[i]),c="wrapper"==l?Mo(s):n;u=c&&Ho(c[0])&&c[1]==(w|_|b|k)&&!c[4].length&&1==c[9]?u[Do(c[0])].apply(u,c[3]):1==s.length&&Ho(s)?u[l]():u.thru(s)}return function(){var t=arguments,n=t[0];if(u&&1==t.length&&vs(n))return u.plant(n).value();for(var i=0,o=r?e[i].apply(this,t):n;++i<r;)o=e[i].call(this,o);return o}})}function fo(t,e,r,i,o,a,s,u,l,c){var h=e&w,p=e&m,f=e&g,d=e&(_|y),v=e&E,b=f?n:co(t);return function m(){for(var g=arguments.length,_=Yt(g),y=g;y--;)_[y]=arguments[y];if(d)var x=Fo(m),w=function(t,e){for(var r=t.length,n=0;r--;)t[r]===e&&++n;return n}(_,x);if(i&&(_=to(_,i,o,d)),a&&(_=eo(_,a,s,d)),g-=w,d&&g<c){var k=Tr(_,x);return xo(t,e,fo,m.placeholder,r,_,k,u,l,c-g)}var E=p?r:this,T=f?E[t]:t;return g=_.length,u?_=function(t,e){for(var r=t.length,i=Xr(e.length,r),o=ro(t);i--;){var a=e[i];t[i]=Wo(a,r)?o[a]:n}return t}(_,u):v&&g>1&&_.reverse(),h&&l<g&&(_.length=l),this&&this!==Pe&&this instanceof m&&(T=b||co(T)),T.apply(E,_)}}function mo(t,e){return function(r,n){return function(t,e,r,n){return qn(t,function(t,i,o){e(n,r(t),i,o)}),n}(r,t,e(n),{})}}function go(t,e){return function(r,i){var o;if(r===n&&i===n)return e;if(r!==n&&(o=r),i!==n){if(o===n)return i;"string"==typeof r||"string"==typeof i?(r=Li(r),i=Li(i)):(r=Fi(r),i=Fi(i)),o=t(r,i)}return o}}function vo(t){return Bo(function(e){return e=Ze(e,dr(Lo())),ki(function(r){var n=this;return t(e,function(t){return $e(t,n,r)})})})}function _o(t,e){var r=(e=e===n?" ":Li(e)).length;if(r<2)return r?wi(e,t):e;var i=wi(e,Or(t/Cr(e)));return wr(e)?Ki(Rr(i),0,t).join(""):i.slice(0,t)}function yo(t){return function(e,r,i){return i&&"number"!=typeof i&&qo(e,r,i)&&(r=i=n),e=Us(e),r===n?(r=e,e=0):r=Us(r),function(t,e,r,n){for(var i=-1,o=Vr(Or((e-t)/(r||1)),0),a=Yt(o);o--;)a[n?o:++i]=t,t+=r;return a}(e,r,i=i===n?e<r?1:-1:Us(i),t)}}function bo(t){return function(e,r){return"string"==typeof e&&"string"==typeof r||(e=$s(e),r=$s(r)),t(e,r)}}function xo(t,e,r,i,o,a,s,u,l,c){var h=e&_;e|=h?b:x,(e&=~(h?x:b))&v||(e&=~(m|g));var p=[t,e,o,h?a:n,h?s:n,h?n:a,h?n:s,u,l,c],f=r.apply(n,p);return Ho(t)&&na(f,p),f.placeholder=i,aa(f,t,e)}function wo(t){var e=te[t];return function(t,r){if(t=$s(t),r=null==r?0:Xr(zs(r),292)){var n=(Xs(t)+"e").split("e");return+((n=(Xs(e(n[0]+"e"+(+n[1]+r)))+"e").split("e"))[0]+"e"+(+n[1]-r))}return e(t)}}var ko=Qr&&1/Sr(new Qr([,-0]))[1]==P?function(t){return new Qr(t)}:Fu;function Eo(t){return function(e){var r=Go(e);return r==K?kr(e):r==tt?Ar(e):function(t,e){return Ze(e,function(e){return[e,t[e]]})}(e,t(e))}}function To(t,e,r,i,o,s,u,c){var h=e&g;if(!h&&"function"!=typeof t)throw new ie(a);var p=i?i.length:0;if(p||(e&=~(b|x),i=o=n),u=u===n?u:Vr(zs(u),0),c=c===n?c:zs(c),p-=o?o.length:0,e&x){var f=i,d=o;i=o=n}var E=h?n:Mo(t),T=[t,e,r,i,o,f,d,s,u,c];if(E&&function(t,e){var r=t[1],n=e[1],i=r|n,o=i<(m|g|w),a=n==w&&r==_||n==w&&r==k&&t[7].length<=e[8]||n==(w|k)&&e[7].length<=e[8]&&r==_;if(!o&&!a)return t;n&m&&(t[2]=e[2],i|=r&m?0:v);var s=e[3];if(s){var u=t[3];t[3]=u?to(u,s,e[4]):s,t[4]=u?Tr(t[3],l):e[4]}(s=e[5])&&(u=t[5],t[5]=u?eo(u,s,e[6]):s,t[6]=u?Tr(t[5],l):e[6]),(s=e[7])&&(t[7]=s),n&w&&(t[8]=null==t[8]?e[8]:Xr(t[8],e[8])),null==t[9]&&(t[9]=e[9]),t[0]=e[0],t[1]=i}(T,E),t=T[0],e=T[1],r=T[2],i=T[3],o=T[4],!(c=T[9]=T[9]===n?h?0:t.length:Vr(T[9]-p,0))&&e&(_|y)&&(e&=~(_|y)),e&&e!=m)S=e==_||e==y?function(t,e,r){var i=co(t);return function o(){for(var a=arguments.length,s=Yt(a),u=a,l=Fo(o);u--;)s[u]=arguments[u];var c=a<3&&s[0]!==l&&s[a-1]!==l?[]:Tr(s,l);return(a-=c.length)<r?xo(t,e,fo,o.placeholder,n,s,c,n,n,r-a):$e(this&&this!==Pe&&this instanceof o?i:t,this,s)}}(t,e,c):e!=b&&e!=(m|b)||o.length?fo.apply(n,T):function(t,e,r,n){var i=e&m,o=co(t);return function e(){for(var a=-1,s=arguments.length,u=-1,l=n.length,c=Yt(l+s),h=this&&this!==Pe&&this instanceof e?o:t;++u<l;)c[u]=n[u];for(;s--;)c[u++]=arguments[++a];return $e(h,i?r:this,c)}}(t,e,r,i);else var S=function(t,e,r){var n=e&m,i=co(t);return function e(){return(this&&this!==Pe&&this instanceof e?i:t).apply(n?r:this,arguments)}}(t,e,r);return aa((E?Ai:na)(S,T),t,e)}function So(t,e,r,i){return t===n||fs(t,se[r])&&!ce.call(i,r)?e:t}function Ao(t,e,r,i,o,a){return As(t)&&As(e)&&(a.set(e,t),mi(t,e,n,Ao,a),a.delete(e)),t}function Co(t){return Ps(t)?n:t}function Ro(t,e,r,i,o,a){var s=r&f,u=t.length,l=e.length;if(u!=l&&!(s&&l>u))return!1;var c=a.get(t);if(c&&a.get(e))return c==e;var h=-1,p=!0,m=r&d?new xn:n;for(a.set(t,e),a.set(e,t);++h<u;){var g=t[h],v=e[h];if(i)var _=s?i(v,g,h,e,t,a):i(g,v,h,t,e,a);if(_!==n){if(_)continue;p=!1;break}if(m){if(!er(e,function(t,e){if(!gr(m,e)&&(g===t||o(g,t,r,i,a)))return m.push(e)})){p=!1;break}}else if(g!==v&&!o(g,v,r,i,a)){p=!1;break}}return a.delete(t),a.delete(e),p}function Bo(t){return oa(ta(t,n,_a),t+"")}function Po(t){return Zn(t,iu,Uo)}function Io(t){return Zn(t,ou,zo)}var Mo=rn?function(t){return rn.get(t)}:Fu;function Do(t){for(var e=t.name+"",r=nn[e],n=ce.call(nn,e)?r.length:0;n--;){var i=r[n],o=i.func;if(null==o||o==t)return i.name}return e}function Fo(t){return(ce.call(fn,"placeholder")?fn:t).placeholder}function Lo(){var t=fn.iteratee||Pu;return t=t===Pu?ui:t,arguments.length?t(arguments[0],arguments[1]):t}function Oo(t,e){var r,n,i=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?i["string"==typeof e?"string":"hash"]:i.map}function No(t){for(var e=iu(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,Jo(i)]}return e}function jo(t,e){var r=function(t,e){return null==t?n:t[e]}(t,e);return si(r)?r:n}var Uo=jr?function(t){return null==t?[]:(t=ee(t),Ke(jr(t),function(e){return Fe.call(t,e)}))}:Gu,zo=jr?function(t){for(var e=[];t;)Je(e,Uo(t)),t=Ie(t);return e}:Gu,Go=Jn;function $o(t,e,r){for(var n=-1,i=(e=Wi(e,t)).length,o=!1;++n<i;){var a=ca(e[n]);if(!(o=null!=t&&r(t,a)))break;t=t[a]}return o||++n!=i?o:!!(i=null==t?0:t.length)&&Ss(i)&&Wo(a,i)&&(vs(t)||gs(t))}function Vo(t){return"function"!=typeof t.constructor||Zo(t)?{}:dn(Ie(t))}function Xo(t){return vs(t)||gs(t)||!!(rr&&t&&t[rr])}function Wo(t,e){var r=typeof t;return!!(e=null==e?I:e)&&("number"==r||"symbol"!=r&&Wt.test(t))&&t>-1&&t%1==0&&t<e}function qo(t,e,r){if(!As(r))return!1;var n=typeof e;return!!("number"==n?ys(r)&&Wo(e,r.length):"string"==n&&e in r)&&fs(r[e],t)}function Ko(t,e){if(vs(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!Fs(t))||Ct.test(t)||!At.test(t)||null!=e&&t in ee(e)}function Ho(t){var e=Do(t),r=fn[e];if("function"!=typeof r||!(e in vn.prototype))return!1;if(t===r)return!0;var n=Mo(r);return!!n&&t===n[0]}(Yr&&Go(new Yr(new ArrayBuffer(1)))!=st||Zr&&Go(new Zr)!=K||Jr&&"[object Promise]"!=Go(Jr.resolve())||Qr&&Go(new Qr)!=tt||tn&&Go(new tn)!=it)&&(Go=function(t){var e=Jn(t),r=e==Z?t.constructor:n,i=r?ha(r):"";if(i)switch(i){case on:return st;case an:return K;case sn:return"[object Promise]";case un:return tt;case ln:return it}return e});var Yo=ue?Es:$u;function Zo(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||se)}function Jo(t){return t==t&&!As(t)}function Qo(t,e){return function(r){return null!=r&&r[t]===e&&(e!==n||t in ee(r))}}function ta(t,e,r){return e=Vr(e===n?t.length-1:e,0),function(){for(var n=arguments,i=-1,o=Vr(n.length-e,0),a=Yt(o);++i<o;)a[i]=n[e+i];i=-1;for(var s=Yt(e+1);++i<e;)s[i]=n[i];return s[e]=r(a),$e(t,this,s)}}function ea(t,e){return e.length<2?t:Yn(t,Bi(e,0,-1))}function ra(t,e){if("__proto__"!=e)return t[e]}var na=sa(Ai),ia=Lr||function(t,e){return Pe.setTimeout(t,e)},oa=sa(Ci);function aa(t,e,r){var n=e+"";return oa(t,function(t,e){var r=e.length;if(!r)return t;var n=r-1;return e[n]=(r>1?"& ":"")+e[n],e=e.join(r>2?", ":" "),t.replace(Ft,"{\n/* [wrapped with "+e+"] */\n")}(n,function(t,e){return Xe(N,function(r){var n="_."+r[0];e&r[1]&&!He(t,n)&&t.push(n)}),t.sort()}(function(t){var e=t.match(Lt);return e?e[1].split(Ot):[]}(n),r)))}function sa(t){var e=0,r=0;return function(){var i=Wr(),o=C-(i-r);if(r=i,o>0){if(++e>=A)return arguments[0]}else e=0;return t.apply(n,arguments)}}function ua(t,e){var r=-1,i=t.length,o=i-1;for(e=e===n?i:e;++r<e;){var a=xi(r,o),s=t[a];t[a]=t[r],t[r]=s}return t.length=e,t}var la=function(t){var e=ss(t,function(t){return r.size===u&&r.clear(),t}),r=e.cache;return e}(function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(Rt,function(t,r,n,i){e.push(n?i.replace(jt,"$1"):r||t)}),e});function ca(t){if("string"==typeof t||Fs(t))return t;var e=t+"";return"0"==e&&1/t==-P?"-0":e}function ha(t){if(null!=t){try{return le.call(t)}catch(t){}try{return t+""}catch(t){}}return""}function pa(t){if(t instanceof vn)return t.clone();var e=new gn(t.__wrapped__,t.__chain__);return e.__actions__=ro(t.__actions__),e.__index__=t.__index__,e.__values__=t.__values__,e}var fa=ki(function(t,e){return bs(t)?Nn(t,Vn(e,1,bs,!0)):[]}),da=ki(function(t,e){var r=ka(e);return bs(r)&&(r=n),bs(t)?Nn(t,Vn(e,1,bs,!0),Lo(r,2)):[]}),ma=ki(function(t,e){var r=ka(e);return bs(r)&&(r=n),bs(t)?Nn(t,Vn(e,1,bs,!0),n,r):[]});function ga(t,e,r){var n=null==t?0:t.length;if(!n)return-1;var i=null==r?0:zs(r);return i<0&&(i=Vr(n+i,0)),ir(t,Lo(e,3),i)}function va(t,e,r){var i=null==t?0:t.length;if(!i)return-1;var o=i-1;return r!==n&&(o=zs(r),o=r<0?Vr(i+o,0):Xr(o,i-1)),ir(t,Lo(e,3),o,!0)}function _a(t){return null!=t&&t.length?Vn(t,1):[]}function ya(t){return t&&t.length?t[0]:n}var ba=ki(function(t){var e=Ze(t,Vi);return e.length&&e[0]===t[0]?ri(e):[]}),xa=ki(function(t){var e=ka(t),r=Ze(t,Vi);return e===ka(r)?e=n:r.pop(),r.length&&r[0]===t[0]?ri(r,Lo(e,2)):[]}),wa=ki(function(t){var e=ka(t),r=Ze(t,Vi);return(e="function"==typeof e?e:n)&&r.pop(),r.length&&r[0]===t[0]?ri(r,n,e):[]});function ka(t){var e=null==t?0:t.length;return e?t[e-1]:n}var Ea=ki(Ta);function Ta(t,e){return t&&t.length&&e&&e.length?yi(t,e):t}var Sa=Bo(function(t,e){var r=null==t?0:t.length,n=Mn(t,e);return bi(t,Ze(e,function(t){return Wo(t,r)?+t:t}).sort(Qi)),n});function Aa(t){return null==t?t:Hr.call(t)}var Ca=ki(function(t){return Oi(Vn(t,1,bs,!0))}),Ra=ki(function(t){var e=ka(t);return bs(e)&&(e=n),Oi(Vn(t,1,bs,!0),Lo(e,2))}),Ba=ki(function(t){var e=ka(t);return e="function"==typeof e?e:n,Oi(Vn(t,1,bs,!0),n,e)});function Pa(t){if(!t||!t.length)return[];var e=0;return t=Ke(t,function(t){if(bs(t))return e=Vr(t.length,e),!0}),fr(e,function(e){return Ze(t,lr(e))})}function Ia(t,e){if(!t||!t.length)return[];var r=Pa(t);return null==e?r:Ze(r,function(t){return $e(e,n,t)})}var Ma=ki(function(t,e){return bs(t)?Nn(t,e):[]}),Da=ki(function(t){return Gi(Ke(t,bs))}),Fa=ki(function(t){var e=ka(t);return bs(e)&&(e=n),Gi(Ke(t,bs),Lo(e,2))}),La=ki(function(t){var e=ka(t);return e="function"==typeof e?e:n,Gi(Ke(t,bs),n,e)}),Oa=ki(Pa);var Na=ki(function(t){var e=t.length,r=e>1?t[e-1]:n;return Ia(t,r="function"==typeof r?(t.pop(),r):n)});function ja(t){var e=fn(t);return e.__chain__=!0,e}function Ua(t,e){return e(t)}var za=Bo(function(t){var e=t.length,r=e?t[0]:0,i=this.__wrapped__,o=function(e){return Mn(e,t)};return!(e>1||this.__actions__.length)&&i instanceof vn&&Wo(r)?((i=i.slice(r,+r+(e?1:0))).__actions__.push({func:Ua,args:[o],thisArg:n}),new gn(i,this.__chain__).thru(function(t){return e&&!t.length&&t.push(n),t})):this.thru(o)});var Ga=io(function(t,e,r){ce.call(t,r)?++t[r]:In(t,r,1)});var $a=ho(ga),Va=ho(va);function Xa(t,e){return(vs(t)?Xe:jn)(t,Lo(e,3))}function Wa(t,e){return(vs(t)?We:Un)(t,Lo(e,3))}var qa=io(function(t,e,r){ce.call(t,r)?t[r].push(e):In(t,r,[e])});var Ka=ki(function(t,e,r){var n=-1,i="function"==typeof e,o=ys(t)?Yt(t.length):[];return jn(t,function(t){o[++n]=i?$e(e,t,r):ni(t,e,r)}),o}),Ha=io(function(t,e,r){In(t,r,e)});function Ya(t,e){return(vs(t)?Ze:pi)(t,Lo(e,3))}var Za=io(function(t,e,r){t[r?0:1].push(e)},function(){return[[],[]]});var Ja=ki(function(t,e){if(null==t)return[];var r=e.length;return r>1&&qo(t,e[0],e[1])?e=[]:r>2&&qo(e[0],e[1],e[2])&&(e=[e[0]]),vi(t,Vn(e,1),[])}),Qa=Fr||function(){return Pe.Date.now()};function ts(t,e,r){return e=r?n:e,e=t&&null==e?t.length:e,To(t,w,n,n,n,n,e)}function es(t,e){var r;if("function"!=typeof e)throw new ie(a);return t=zs(t),function(){return--t>0&&(r=e.apply(this,arguments)),t<=1&&(e=n),r}}var rs=ki(function(t,e,r){var n=m;if(r.length){var i=Tr(r,Fo(rs));n|=b}return To(t,n,e,r,i)}),ns=ki(function(t,e,r){var n=m|g;if(r.length){var i=Tr(r,Fo(ns));n|=b}return To(e,n,t,r,i)});function is(t,e,r){var i,o,s,u,l,c,h=0,p=!1,f=!1,d=!0;if("function"!=typeof t)throw new ie(a);function m(e){var r=i,a=o;return i=o=n,h=e,u=t.apply(a,r)}function g(t){var r=t-c;return c===n||r>=e||r<0||f&&t-h>=s}function v(){var t=Qa();if(g(t))return _(t);l=ia(v,function(t){var r=e-(t-c);return f?Xr(r,s-(t-h)):r}(t))}function _(t){return l=n,d&&i?m(t):(i=o=n,u)}function y(){var t=Qa(),r=g(t);if(i=arguments,o=this,c=t,r){if(l===n)return function(t){return h=t,l=ia(v,e),p?m(t):u}(c);if(f)return l=ia(v,e),m(c)}return l===n&&(l=ia(v,e)),u}return e=$s(e)||0,As(r)&&(p=!!r.leading,s=(f="maxWait"in r)?Vr($s(r.maxWait)||0,e):s,d="trailing"in r?!!r.trailing:d),y.cancel=function(){l!==n&&Hi(l),h=0,i=c=o=l=n},y.flush=function(){return l===n?u:_(Qa())},y}var os=ki(function(t,e){return On(t,1,e)}),as=ki(function(t,e,r){return On(t,$s(e)||0,r)});function ss(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new ie(a);var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var a=t.apply(this,n);return r.cache=o.set(i,a)||o,a};return r.cache=new(ss.Cache||bn),r}function us(t){if("function"!=typeof t)throw new ie(a);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}ss.Cache=bn;var ls=qi(function(t,e){var r=(e=1==e.length&&vs(e[0])?Ze(e[0],dr(Lo())):Ze(Vn(e,1),dr(Lo()))).length;return ki(function(n){for(var i=-1,o=Xr(n.length,r);++i<o;)n[i]=e[i].call(this,n[i]);return $e(t,this,n)})}),cs=ki(function(t,e){var r=Tr(e,Fo(cs));return To(t,b,n,e,r)}),hs=ki(function(t,e){var r=Tr(e,Fo(hs));return To(t,x,n,e,r)}),ps=Bo(function(t,e){return To(t,k,n,n,n,e)});function fs(t,e){return t===e||t!=t&&e!=e}var ds=bo(Qn),ms=bo(function(t,e){return t>=e}),gs=ii(function(){return arguments}())?ii:function(t){return Cs(t)&&ce.call(t,"callee")&&!Fe.call(t,"callee")},vs=Yt.isArray,_s=Oe?dr(Oe):function(t){return Cs(t)&&Jn(t)==at};function ys(t){return null!=t&&Ss(t.length)&&!Es(t)}function bs(t){return Cs(t)&&ys(t)}var xs=Ur||$u,ws=Ne?dr(Ne):function(t){return Cs(t)&&Jn(t)==$};function ks(t){if(!Cs(t))return!1;var e=Jn(t);return e==X||e==V||"string"==typeof t.message&&"string"==typeof t.name&&!Ps(t)}function Es(t){if(!As(t))return!1;var e=Jn(t);return e==W||e==q||e==z||e==J}function Ts(t){return"number"==typeof t&&t==zs(t)}function Ss(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=I}function As(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Cs(t){return null!=t&&"object"==typeof t}var Rs=je?dr(je):function(t){return Cs(t)&&Go(t)==K};function Bs(t){return"number"==typeof t||Cs(t)&&Jn(t)==H}function Ps(t){if(!Cs(t)||Jn(t)!=Z)return!1;var e=Ie(t);if(null===e)return!0;var r=ce.call(e,"constructor")&&e.constructor;return"function"==typeof r&&r instanceof r&&le.call(r)==de}var Is=Ue?dr(Ue):function(t){return Cs(t)&&Jn(t)==Q};var Ms=ze?dr(ze):function(t){return Cs(t)&&Go(t)==tt};function Ds(t){return"string"==typeof t||!vs(t)&&Cs(t)&&Jn(t)==et}function Fs(t){return"symbol"==typeof t||Cs(t)&&Jn(t)==rt}var Ls=Ge?dr(Ge):function(t){return Cs(t)&&Ss(t.length)&&!!Ee[Jn(t)]};var Os=bo(hi),Ns=bo(function(t,e){return t<=e});function js(t){if(!t)return[];if(ys(t))return Ds(t)?Rr(t):ro(t);if(cr&&t[cr])return function(t){for(var e,r=[];!(e=t.next()).done;)r.push(e.value);return r}(t[cr]());var e=Go(t);return(e==K?kr:e==tt?Sr:fu)(t)}function Us(t){return t?(t=$s(t))===P||t===-P?(t<0?-1:1)*M:t==t?t:0:0===t?t:0}function zs(t){var e=Us(t),r=e%1;return e==e?r?e-r:e:0}function Gs(t){return t?Dn(zs(t),0,F):0}function $s(t){if("number"==typeof t)return t;if(Fs(t))return D;if(As(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=As(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(It,"");var r=$t.test(t);return r||Xt.test(t)?Ce(t.slice(2),r?2:8):Gt.test(t)?D:+t}function Vs(t){return no(t,ou(t))}function Xs(t){return null==t?"":Li(t)}var Ws=oo(function(t,e){if(Zo(e)||ys(e))no(e,iu(e),t);else for(var r in e)ce.call(e,r)&&Cn(t,r,e[r])}),qs=oo(function(t,e){no(e,ou(e),t)}),Ks=oo(function(t,e,r,n){no(e,ou(e),t,n)}),Hs=oo(function(t,e,r,n){no(e,iu(e),t,n)}),Ys=Bo(Mn);var Zs=ki(function(t,e){t=ee(t);var r=-1,i=e.length,o=i>2?e[2]:n;for(o&&qo(e[0],e[1],o)&&(i=1);++r<i;)for(var a=e[r],s=ou(a),u=-1,l=s.length;++u<l;){var c=s[u],h=t[c];(h===n||fs(h,se[c])&&!ce.call(t,c))&&(t[c]=a[c])}return t}),Js=ki(function(t){return t.push(n,Ao),$e(su,n,t)});function Qs(t,e,r){var i=null==t?n:Yn(t,e);return i===n?r:i}function tu(t,e){return null!=t&&$o(t,e,ei)}var eu=mo(function(t,e,r){null!=e&&"function"!=typeof e.toString&&(e=fe.call(e)),t[e]=r},Au(Bu)),ru=mo(function(t,e,r){null!=e&&"function"!=typeof e.toString&&(e=fe.call(e)),ce.call(t,e)?t[e].push(r):t[e]=[r]},Lo),nu=ki(ni);function iu(t){return ys(t)?kn(t):li(t)}function ou(t){return ys(t)?kn(t,!0):ci(t)}var au=oo(function(t,e,r){mi(t,e,r)}),su=oo(function(t,e,r,n){mi(t,e,r,n)}),uu=Bo(function(t,e){var r={};if(null==t)return r;var n=!1;e=Ze(e,function(e){return e=Wi(e,t),n||(n=e.length>1),e}),no(t,Io(t),r),n&&(r=Fn(r,c|h|p,Co));for(var i=e.length;i--;)Ni(r,e[i]);return r});var lu=Bo(function(t,e){return null==t?{}:function(t,e){return _i(t,e,function(e,r){return tu(t,r)})}(t,e)});function cu(t,e){if(null==t)return{};var r=Ze(Io(t),function(t){return[t]});return e=Lo(e),_i(t,r,function(t,r){return e(t,r[0])})}var hu=Eo(iu),pu=Eo(ou);function fu(t){return null==t?[]:mr(t,iu(t))}var du=lo(function(t,e,r){return e=e.toLowerCase(),t+(r?mu(e):e)});function mu(t){return ku(Xs(t).toLowerCase())}function gu(t){return(t=Xs(t))&&t.replace(qt,yr).replace(ve,"")}var vu=lo(function(t,e,r){return t+(r?"-":"")+e.toLowerCase()}),_u=lo(function(t,e,r){return t+(r?" ":"")+e.toLowerCase()}),yu=uo("toLowerCase");var bu=lo(function(t,e,r){return t+(r?"_":"")+e.toLowerCase()});var xu=lo(function(t,e,r){return t+(r?" ":"")+ku(e)});var wu=lo(function(t,e,r){return t+(r?" ":"")+e.toUpperCase()}),ku=uo("toUpperCase");function Eu(t,e,r){return t=Xs(t),(e=r?n:e)===n?function(t){return xe.test(t)}(t)?function(t){return t.match(ye)||[]}(t):function(t){return t.match(Nt)||[]}(t):t.match(e)||[]}var Tu=ki(function(t,e){try{return $e(t,n,e)}catch(t){return ks(t)?t:new Jt(t)}}),Su=Bo(function(t,e){return Xe(e,function(e){e=ca(e),In(t,e,rs(t[e],t))}),t});function Au(t){return function(){return t}}var Cu=po(),Ru=po(!0);function Bu(t){return t}function Pu(t){return ui("function"==typeof t?t:Fn(t,c))}var Iu=ki(function(t,e){return function(r){return ni(r,t,e)}}),Mu=ki(function(t,e){return function(r){return ni(t,r,e)}});function Du(t,e,r){var n=iu(e),i=Hn(e,n);null!=r||As(e)&&(i.length||!n.length)||(r=e,e=t,t=this,i=Hn(e,iu(e)));var o=!(As(r)&&"chain"in r&&!r.chain),a=Es(t);return Xe(i,function(r){var n=e[r];t[r]=n,a&&(t.prototype[r]=function(){var e=this.__chain__;if(o||e){var r=t(this.__wrapped__);return(r.__actions__=ro(this.__actions__)).push({func:n,args:arguments,thisArg:t}),r.__chain__=e,r}return n.apply(t,Je([this.value()],arguments))})}),t}function Fu(){}var Lu=vo(Ze),Ou=vo(qe),Nu=vo(er);function ju(t){return Ko(t)?lr(ca(t)):function(t){return function(e){return Yn(e,t)}}(t)}var Uu=yo(),zu=yo(!0);function Gu(){return[]}function $u(){return!1}var Vu=go(function(t,e){return t+e},0),Xu=wo("ceil"),Wu=go(function(t,e){return t/e},1),qu=wo("floor");var Ku,Hu=go(function(t,e){return t*e},1),Yu=wo("round"),Zu=go(function(t,e){return t-e},0);return fn.after=function(t,e){if("function"!=typeof e)throw new ie(a);return t=zs(t),function(){if(--t<1)return e.apply(this,arguments)}},fn.ary=ts,fn.assign=Ws,fn.assignIn=qs,fn.assignInWith=Ks,fn.assignWith=Hs,fn.at=Ys,fn.before=es,fn.bind=rs,fn.bindAll=Su,fn.bindKey=ns,fn.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return vs(t)?t:[t]},fn.chain=ja,fn.chunk=function(t,e,r){e=(r?qo(t,e,r):e===n)?1:Vr(zs(e),0);var i=null==t?0:t.length;if(!i||e<1)return[];for(var o=0,a=0,s=Yt(Or(i/e));o<i;)s[a++]=Bi(t,o,o+=e);return s},fn.compact=function(t){for(var e=-1,r=null==t?0:t.length,n=0,i=[];++e<r;){var o=t[e];o&&(i[n++]=o)}return i},fn.concat=function(){var t=arguments.length;if(!t)return[];for(var e=Yt(t-1),r=arguments[0],n=t;n--;)e[n-1]=arguments[n];return Je(vs(r)?ro(r):[r],Vn(e,1))},fn.cond=function(t){var e=null==t?0:t.length,r=Lo();return t=e?Ze(t,function(t){if("function"!=typeof t[1])throw new ie(a);return[r(t[0]),t[1]]}):[],ki(function(r){for(var n=-1;++n<e;){var i=t[n];if($e(i[0],this,r))return $e(i[1],this,r)}})},fn.conforms=function(t){return function(t){var e=iu(t);return function(r){return Ln(r,t,e)}}(Fn(t,c))},fn.constant=Au,fn.countBy=Ga,fn.create=function(t,e){var r=dn(t);return null==e?r:Pn(r,e)},fn.curry=function t(e,r,i){var o=To(e,_,n,n,n,n,n,r=i?n:r);return o.placeholder=t.placeholder,o},fn.curryRight=function t(e,r,i){var o=To(e,y,n,n,n,n,n,r=i?n:r);return o.placeholder=t.placeholder,o},fn.debounce=is,fn.defaults=Zs,fn.defaultsDeep=Js,fn.defer=os,fn.delay=as,fn.difference=fa,fn.differenceBy=da,fn.differenceWith=ma,fn.drop=function(t,e,r){var i=null==t?0:t.length;return i?Bi(t,(e=r||e===n?1:zs(e))<0?0:e,i):[]},fn.dropRight=function(t,e,r){var i=null==t?0:t.length;return i?Bi(t,0,(e=i-(e=r||e===n?1:zs(e)))<0?0:e):[]},fn.dropRightWhile=function(t,e){return t&&t.length?Ui(t,Lo(e,3),!0,!0):[]},fn.dropWhile=function(t,e){return t&&t.length?Ui(t,Lo(e,3),!0):[]},fn.fill=function(t,e,r,i){var o=null==t?0:t.length;return o?(r&&"number"!=typeof r&&qo(t,e,r)&&(r=0,i=o),function(t,e,r,i){var o=t.length;for((r=zs(r))<0&&(r=-r>o?0:o+r),(i=i===n||i>o?o:zs(i))<0&&(i+=o),i=r>i?0:Gs(i);r<i;)t[r++]=e;return t}(t,e,r,i)):[]},fn.filter=function(t,e){return(vs(t)?Ke:$n)(t,Lo(e,3))},fn.flatMap=function(t,e){return Vn(Ya(t,e),1)},fn.flatMapDeep=function(t,e){return Vn(Ya(t,e),P)},fn.flatMapDepth=function(t,e,r){return r=r===n?1:zs(r),Vn(Ya(t,e),r)},fn.flatten=_a,fn.flattenDeep=function(t){return null!=t&&t.length?Vn(t,P):[]},fn.flattenDepth=function(t,e){return null!=t&&t.length?Vn(t,e=e===n?1:zs(e)):[]},fn.flip=function(t){return To(t,E)},fn.flow=Cu,fn.flowRight=Ru,fn.fromPairs=function(t){for(var e=-1,r=null==t?0:t.length,n={};++e<r;){var i=t[e];n[i[0]]=i[1]}return n},fn.functions=function(t){return null==t?[]:Hn(t,iu(t))},fn.functionsIn=function(t){return null==t?[]:Hn(t,ou(t))},fn.groupBy=qa,fn.initial=function(t){return null!=t&&t.length?Bi(t,0,-1):[]},fn.intersection=ba,fn.intersectionBy=xa,fn.intersectionWith=wa,fn.invert=eu,fn.invertBy=ru,fn.invokeMap=Ka,fn.iteratee=Pu,fn.keyBy=Ha,fn.keys=iu,fn.keysIn=ou,fn.map=Ya,fn.mapKeys=function(t,e){var r={};return e=Lo(e,3),qn(t,function(t,n,i){In(r,e(t,n,i),t)}),r},fn.mapValues=function(t,e){var r={};return e=Lo(e,3),qn(t,function(t,n,i){In(r,n,e(t,n,i))}),r},fn.matches=function(t){return fi(Fn(t,c))},fn.matchesProperty=function(t,e){return di(t,Fn(e,c))},fn.memoize=ss,fn.merge=au,fn.mergeWith=su,fn.method=Iu,fn.methodOf=Mu,fn.mixin=Du,fn.negate=us,fn.nthArg=function(t){return t=zs(t),ki(function(e){return gi(e,t)})},fn.omit=uu,fn.omitBy=function(t,e){return cu(t,us(Lo(e)))},fn.once=function(t){return es(2,t)},fn.orderBy=function(t,e,r,i){return null==t?[]:(vs(e)||(e=null==e?[]:[e]),vs(r=i?n:r)||(r=null==r?[]:[r]),vi(t,e,r))},fn.over=Lu,fn.overArgs=ls,fn.overEvery=Ou,fn.overSome=Nu,fn.partial=cs,fn.partialRight=hs,fn.partition=Za,fn.pick=lu,fn.pickBy=cu,fn.property=ju,fn.propertyOf=function(t){return function(e){return null==t?n:Yn(t,e)}},fn.pull=Ea,fn.pullAll=Ta,fn.pullAllBy=function(t,e,r){return t&&t.length&&e&&e.length?yi(t,e,Lo(r,2)):t},fn.pullAllWith=function(t,e,r){return t&&t.length&&e&&e.length?yi(t,e,n,r):t},fn.pullAt=Sa,fn.range=Uu,fn.rangeRight=zu,fn.rearg=ps,fn.reject=function(t,e){return(vs(t)?Ke:$n)(t,us(Lo(e,3)))},fn.remove=function(t,e){var r=[];if(!t||!t.length)return r;var n=-1,i=[],o=t.length;for(e=Lo(e,3);++n<o;){var a=t[n];e(a,n,t)&&(r.push(a),i.push(n))}return bi(t,i),r},fn.rest=function(t,e){if("function"!=typeof t)throw new ie(a);return ki(t,e=e===n?e:zs(e))},fn.reverse=Aa,fn.sampleSize=function(t,e,r){return e=(r?qo(t,e,r):e===n)?1:zs(e),(vs(t)?Tn:Ti)(t,e)},fn.set=function(t,e,r){return null==t?t:Si(t,e,r)},fn.setWith=function(t,e,r,i){return i="function"==typeof i?i:n,null==t?t:Si(t,e,r,i)},fn.shuffle=function(t){return(vs(t)?Sn:Ri)(t)},fn.slice=function(t,e,r){var i=null==t?0:t.length;return i?(r&&"number"!=typeof r&&qo(t,e,r)?(e=0,r=i):(e=null==e?0:zs(e),r=r===n?i:zs(r)),Bi(t,e,r)):[]},fn.sortBy=Ja,fn.sortedUniq=function(t){return t&&t.length?Di(t):[]},fn.sortedUniqBy=function(t,e){return t&&t.length?Di(t,Lo(e,2)):[]},fn.split=function(t,e,r){return r&&"number"!=typeof r&&qo(t,e,r)&&(e=r=n),(r=r===n?F:r>>>0)?(t=Xs(t))&&("string"==typeof e||null!=e&&!Is(e))&&!(e=Li(e))&&wr(t)?Ki(Rr(t),0,r):t.split(e,r):[]},fn.spread=function(t,e){if("function"!=typeof t)throw new ie(a);return e=null==e?0:Vr(zs(e),0),ki(function(r){var n=r[e],i=Ki(r,0,e);return n&&Je(i,n),$e(t,this,i)})},fn.tail=function(t){var e=null==t?0:t.length;return e?Bi(t,1,e):[]},fn.take=function(t,e,r){return t&&t.length?Bi(t,0,(e=r||e===n?1:zs(e))<0?0:e):[]},fn.takeRight=function(t,e,r){var i=null==t?0:t.length;return i?Bi(t,(e=i-(e=r||e===n?1:zs(e)))<0?0:e,i):[]},fn.takeRightWhile=function(t,e){return t&&t.length?Ui(t,Lo(e,3),!1,!0):[]},fn.takeWhile=function(t,e){return t&&t.length?Ui(t,Lo(e,3)):[]},fn.tap=function(t,e){return e(t),t},fn.throttle=function(t,e,r){var n=!0,i=!0;if("function"!=typeof t)throw new ie(a);return As(r)&&(n="leading"in r?!!r.leading:n,i="trailing"in r?!!r.trailing:i),is(t,e,{leading:n,maxWait:e,trailing:i})},fn.thru=Ua,fn.toArray=js,fn.toPairs=hu,fn.toPairsIn=pu,fn.toPath=function(t){return vs(t)?Ze(t,ca):Fs(t)?[t]:ro(la(Xs(t)))},fn.toPlainObject=Vs,fn.transform=function(t,e,r){var n=vs(t),i=n||xs(t)||Ls(t);if(e=Lo(e,4),null==r){var o=t&&t.constructor;r=i?n?new o:[]:As(t)&&Es(o)?dn(Ie(t)):{}}return(i?Xe:qn)(t,function(t,n,i){return e(r,t,n,i)}),r},fn.unary=function(t){return ts(t,1)},fn.union=Ca,fn.unionBy=Ra,fn.unionWith=Ba,fn.uniq=function(t){return t&&t.length?Oi(t):[]},fn.uniqBy=function(t,e){return t&&t.length?Oi(t,Lo(e,2)):[]},fn.uniqWith=function(t,e){return e="function"==typeof e?e:n,t&&t.length?Oi(t,n,e):[]},fn.unset=function(t,e){return null==t||Ni(t,e)},fn.unzip=Pa,fn.unzipWith=Ia,fn.update=function(t,e,r){return null==t?t:ji(t,e,Xi(r))},fn.updateWith=function(t,e,r,i){return i="function"==typeof i?i:n,null==t?t:ji(t,e,Xi(r),i)},fn.values=fu,fn.valuesIn=function(t){return null==t?[]:mr(t,ou(t))},fn.without=Ma,fn.words=Eu,fn.wrap=function(t,e){return cs(Xi(e),t)},fn.xor=Da,fn.xorBy=Fa,fn.xorWith=La,fn.zip=Oa,fn.zipObject=function(t,e){return $i(t||[],e||[],Cn)},fn.zipObjectDeep=function(t,e){return $i(t||[],e||[],Si)},fn.zipWith=Na,fn.entries=hu,fn.entriesIn=pu,fn.extend=qs,fn.extendWith=Ks,Du(fn,fn),fn.add=Vu,fn.attempt=Tu,fn.camelCase=du,fn.capitalize=mu,fn.ceil=Xu,fn.clamp=function(t,e,r){return r===n&&(r=e,e=n),r!==n&&(r=(r=$s(r))==r?r:0),e!==n&&(e=(e=$s(e))==e?e:0),Dn($s(t),e,r)},fn.clone=function(t){return Fn(t,p)},fn.cloneDeep=function(t){return Fn(t,c|p)},fn.cloneDeepWith=function(t,e){return Fn(t,c|p,e="function"==typeof e?e:n)},fn.cloneWith=function(t,e){return Fn(t,p,e="function"==typeof e?e:n)},fn.conformsTo=function(t,e){return null==e||Ln(t,e,iu(e))},fn.deburr=gu,fn.defaultTo=function(t,e){return null==t||t!=t?e:t},fn.divide=Wu,fn.endsWith=function(t,e,r){t=Xs(t),e=Li(e);var i=t.length,o=r=r===n?i:Dn(zs(r),0,i);return(r-=e.length)>=0&&t.slice(r,o)==e},fn.eq=fs,fn.escape=function(t){return(t=Xs(t))&&kt.test(t)?t.replace(xt,br):t},fn.escapeRegExp=function(t){return(t=Xs(t))&&Pt.test(t)?t.replace(Bt,"\\$&"):t},fn.every=function(t,e,r){var i=vs(t)?qe:zn;return r&&qo(t,e,r)&&(e=n),i(t,Lo(e,3))},fn.find=$a,fn.findIndex=ga,fn.findKey=function(t,e){return nr(t,Lo(e,3),qn)},fn.findLast=Va,fn.findLastIndex=va,fn.findLastKey=function(t,e){return nr(t,Lo(e,3),Kn)},fn.floor=qu,fn.forEach=Xa,fn.forEachRight=Wa,fn.forIn=function(t,e){return null==t?t:Xn(t,Lo(e,3),ou)},fn.forInRight=function(t,e){return null==t?t:Wn(t,Lo(e,3),ou)},fn.forOwn=function(t,e){return t&&qn(t,Lo(e,3))},fn.forOwnRight=function(t,e){return t&&Kn(t,Lo(e,3))},fn.get=Qs,fn.gt=ds,fn.gte=ms,fn.has=function(t,e){return null!=t&&$o(t,e,ti)},fn.hasIn=tu,fn.head=ya,fn.identity=Bu,fn.includes=function(t,e,r,n){t=ys(t)?t:fu(t),r=r&&!n?zs(r):0;var i=t.length;return r<0&&(r=Vr(i+r,0)),Ds(t)?r<=i&&t.indexOf(e,r)>-1:!!i&&or(t,e,r)>-1},fn.indexOf=function(t,e,r){var n=null==t?0:t.length;if(!n)return-1;var i=null==r?0:zs(r);return i<0&&(i=Vr(n+i,0)),or(t,e,i)},fn.inRange=function(t,e,r){return e=Us(e),r===n?(r=e,e=0):r=Us(r),function(t,e,r){return t>=Xr(e,r)&&t<Vr(e,r)}(t=$s(t),e,r)},fn.invoke=nu,fn.isArguments=gs,fn.isArray=vs,fn.isArrayBuffer=_s,fn.isArrayLike=ys,fn.isArrayLikeObject=bs,fn.isBoolean=function(t){return!0===t||!1===t||Cs(t)&&Jn(t)==G},fn.isBuffer=xs,fn.isDate=ws,fn.isElement=function(t){return Cs(t)&&1===t.nodeType&&!Ps(t)},fn.isEmpty=function(t){if(null==t)return!0;if(ys(t)&&(vs(t)||"string"==typeof t||"function"==typeof t.splice||xs(t)||Ls(t)||gs(t)))return!t.length;var e=Go(t);if(e==K||e==tt)return!t.size;if(Zo(t))return!li(t).length;for(var r in t)if(ce.call(t,r))return!1;return!0},fn.isEqual=function(t,e){return oi(t,e)},fn.isEqualWith=function(t,e,r){var i=(r="function"==typeof r?r:n)?r(t,e):n;return i===n?oi(t,e,n,r):!!i},fn.isError=ks,fn.isFinite=function(t){return"number"==typeof t&&zr(t)},fn.isFunction=Es,fn.isInteger=Ts,fn.isLength=Ss,fn.isMap=Rs,fn.isMatch=function(t,e){return t===e||ai(t,e,No(e))},fn.isMatchWith=function(t,e,r){return r="function"==typeof r?r:n,ai(t,e,No(e),r)},fn.isNaN=function(t){return Bs(t)&&t!=+t},fn.isNative=function(t){if(Yo(t))throw new Jt(o);return si(t)},fn.isNil=function(t){return null==t},fn.isNull=function(t){return null===t},fn.isNumber=Bs,fn.isObject=As,fn.isObjectLike=Cs,fn.isPlainObject=Ps,fn.isRegExp=Is,fn.isSafeInteger=function(t){return Ts(t)&&t>=-I&&t<=I},fn.isSet=Ms,fn.isString=Ds,fn.isSymbol=Fs,fn.isTypedArray=Ls,fn.isUndefined=function(t){return t===n},fn.isWeakMap=function(t){return Cs(t)&&Go(t)==it},fn.isWeakSet=function(t){return Cs(t)&&Jn(t)==ot},fn.join=function(t,e){return null==t?"":Gr.call(t,e)},fn.kebabCase=vu,fn.last=ka,fn.lastIndexOf=function(t,e,r){var i=null==t?0:t.length;if(!i)return-1;var o=i;return r!==n&&(o=(o=zs(r))<0?Vr(i+o,0):Xr(o,i-1)),e==e?function(t,e,r){for(var n=r+1;n--;)if(t[n]===e)return n;return n}(t,e,o):ir(t,sr,o,!0)},fn.lowerCase=_u,fn.lowerFirst=yu,fn.lt=Os,fn.lte=Ns,fn.max=function(t){return t&&t.length?Gn(t,Bu,Qn):n},fn.maxBy=function(t,e){return t&&t.length?Gn(t,Lo(e,2),Qn):n},fn.mean=function(t){return ur(t,Bu)},fn.meanBy=function(t,e){return ur(t,Lo(e,2))},fn.min=function(t){return t&&t.length?Gn(t,Bu,hi):n},fn.minBy=function(t,e){return t&&t.length?Gn(t,Lo(e,2),hi):n},fn.stubArray=Gu,fn.stubFalse=$u,fn.stubObject=function(){return{}},fn.stubString=function(){return""},fn.stubTrue=function(){return!0},fn.multiply=Hu,fn.nth=function(t,e){return t&&t.length?gi(t,zs(e)):n},fn.noConflict=function(){return Pe._===this&&(Pe._=me),this},fn.noop=Fu,fn.now=Qa,fn.pad=function(t,e,r){t=Xs(t);var n=(e=zs(e))?Cr(t):0;if(!e||n>=e)return t;var i=(e-n)/2;return _o(Nr(i),r)+t+_o(Or(i),r)},fn.padEnd=function(t,e,r){t=Xs(t);var n=(e=zs(e))?Cr(t):0;return e&&n<e?t+_o(e-n,r):t},fn.padStart=function(t,e,r){t=Xs(t);var n=(e=zs(e))?Cr(t):0;return e&&n<e?_o(e-n,r)+t:t},fn.parseInt=function(t,e,r){return r||null==e?e=0:e&&(e=+e),qr(Xs(t).replace(Mt,""),e||0)},fn.random=function(t,e,r){if(r&&"boolean"!=typeof r&&qo(t,e,r)&&(e=r=n),r===n&&("boolean"==typeof e?(r=e,e=n):"boolean"==typeof t&&(r=t,t=n)),t===n&&e===n?(t=0,e=1):(t=Us(t),e===n?(e=t,t=0):e=Us(e)),t>e){var i=t;t=e,e=i}if(r||t%1||e%1){var o=Kr();return Xr(t+o*(e-t+Ae("1e-"+((o+"").length-1))),e)}return xi(t,e)},fn.reduce=function(t,e,r){var n=vs(t)?Qe:hr,i=arguments.length<3;return n(t,Lo(e,4),r,i,jn)},fn.reduceRight=function(t,e,r){var n=vs(t)?tr:hr,i=arguments.length<3;return n(t,Lo(e,4),r,i,Un)},fn.repeat=function(t,e,r){return e=(r?qo(t,e,r):e===n)?1:zs(e),wi(Xs(t),e)},fn.replace=function(){var t=arguments,e=Xs(t[0]);return t.length<3?e:e.replace(t[1],t[2])},fn.result=function(t,e,r){var i=-1,o=(e=Wi(e,t)).length;for(o||(o=1,t=n);++i<o;){var a=null==t?n:t[ca(e[i])];a===n&&(i=o,a=r),t=Es(a)?a.call(t):a}return t},fn.round=Yu,fn.runInContext=t,fn.sample=function(t){return(vs(t)?En:Ei)(t)},fn.size=function(t){if(null==t)return 0;if(ys(t))return Ds(t)?Cr(t):t.length;var e=Go(t);return e==K||e==tt?t.size:li(t).length},fn.snakeCase=bu,fn.some=function(t,e,r){var i=vs(t)?er:Pi;return r&&qo(t,e,r)&&(e=n),i(t,Lo(e,3))},fn.sortedIndex=function(t,e){return Ii(t,e)},fn.sortedIndexBy=function(t,e,r){return Mi(t,e,Lo(r,2))},fn.sortedIndexOf=function(t,e){var r=null==t?0:t.length;if(r){var n=Ii(t,e);if(n<r&&fs(t[n],e))return n}return-1},fn.sortedLastIndex=function(t,e){return Ii(t,e,!0)},fn.sortedLastIndexBy=function(t,e,r){return Mi(t,e,Lo(r,2),!0)},fn.sortedLastIndexOf=function(t,e){if(null!=t&&t.length){var r=Ii(t,e,!0)-1;if(fs(t[r],e))return r}return-1},fn.startCase=xu,fn.startsWith=function(t,e,r){return t=Xs(t),r=null==r?0:Dn(zs(r),0,t.length),e=Li(e),t.slice(r,r+e.length)==e},fn.subtract=Zu,fn.sum=function(t){return t&&t.length?pr(t,Bu):0},fn.sumBy=function(t,e){return t&&t.length?pr(t,Lo(e,2)):0},fn.template=function(t,e,r){var i=fn.templateSettings;r&&qo(t,e,r)&&(e=n),t=Xs(t),e=Ks({},e,i,So);var o,a,s=Ks({},e.imports,i.imports,So),u=iu(s),l=mr(s,u),c=0,h=e.interpolate||Kt,p="__p += '",f=re((e.escape||Kt).source+"|"+h.source+"|"+(h===St?Ut:Kt).source+"|"+(e.evaluate||Kt).source+"|$","g"),d="//# sourceURL="+("sourceURL"in e?e.sourceURL:"lodash.templateSources["+ ++ke+"]")+"\n";t.replace(f,function(e,r,n,i,s,u){return n||(n=i),p+=t.slice(c,u).replace(Ht,xr),r&&(o=!0,p+="' +\n__e("+r+") +\n'"),s&&(a=!0,p+="';\n"+s+";\n__p += '"),n&&(p+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),c=u+e.length,e}),p+="';\n";var m=e.variable;m||(p="with (obj) {\n"+p+"\n}\n"),p=(a?p.replace(vt,""):p).replace(_t,"$1").replace(yt,"$1;"),p="function("+(m||"obj")+") {\n"+(m?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(o?", __e = _.escape":"")+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+p+"return __p\n}";var g=Tu(function(){return Qt(u,d+"return "+p).apply(n,l)});if(g.source=p,ks(g))throw g;return g},fn.times=function(t,e){if((t=zs(t))<1||t>I)return[];var r=F,n=Xr(t,F);e=Lo(e),t-=F;for(var i=fr(n,e);++r<t;)e(r);return i},fn.toFinite=Us,fn.toInteger=zs,fn.toLength=Gs,fn.toLower=function(t){return Xs(t).toLowerCase()},fn.toNumber=$s,fn.toSafeInteger=function(t){return t?Dn(zs(t),-I,I):0===t?t:0},fn.toString=Xs,fn.toUpper=function(t){return Xs(t).toUpperCase()},fn.trim=function(t,e,r){if((t=Xs(t))&&(r||e===n))return t.replace(It,"");if(!t||!(e=Li(e)))return t;var i=Rr(t),o=Rr(e);return Ki(i,vr(i,o),_r(i,o)+1).join("")},fn.trimEnd=function(t,e,r){if((t=Xs(t))&&(r||e===n))return t.replace(Dt,"");if(!t||!(e=Li(e)))return t;var i=Rr(t);return Ki(i,0,_r(i,Rr(e))+1).join("")},fn.trimStart=function(t,e,r){if((t=Xs(t))&&(r||e===n))return t.replace(Mt,"");if(!t||!(e=Li(e)))return t;var i=Rr(t);return Ki(i,vr(i,Rr(e))).join("")},fn.truncate=function(t,e){var r=T,i=S;if(As(e)){var o="separator"in e?e.separator:o;r="length"in e?zs(e.length):r,i="omission"in e?Li(e.omission):i}var a=(t=Xs(t)).length;if(wr(t)){var s=Rr(t);a=s.length}if(r>=a)return t;var u=r-Cr(i);if(u<1)return i;var l=s?Ki(s,0,u).join(""):t.slice(0,u);if(o===n)return l+i;if(s&&(u+=l.length-u),Is(o)){if(t.slice(u).search(o)){var c,h=l;for(o.global||(o=re(o.source,Xs(zt.exec(o))+"g")),o.lastIndex=0;c=o.exec(h);)var p=c.index;l=l.slice(0,p===n?u:p)}}else if(t.indexOf(Li(o),u)!=u){var f=l.lastIndexOf(o);f>-1&&(l=l.slice(0,f))}return l+i},fn.unescape=function(t){return(t=Xs(t))&&wt.test(t)?t.replace(bt,Br):t},fn.uniqueId=function(t){var e=++he;return Xs(t)+e},fn.upperCase=wu,fn.upperFirst=ku,fn.each=Xa,fn.eachRight=Wa,fn.first=ya,Du(fn,(Ku={},qn(fn,function(t,e){ce.call(fn.prototype,e)||(Ku[e]=t)}),Ku),{chain:!1}),fn.VERSION="4.17.11",Xe(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){fn[t].placeholder=fn}),Xe(["drop","take"],function(t,e){vn.prototype[t]=function(r){r=r===n?1:Vr(zs(r),0);var i=this.__filtered__&&!e?new vn(this):this.clone();return i.__filtered__?i.__takeCount__=Xr(r,i.__takeCount__):i.__views__.push({size:Xr(r,F),type:t+(i.__dir__<0?"Right":"")}),i},vn.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),Xe(["filter","map","takeWhile"],function(t,e){var r=e+1,n=r==R||3==r;vn.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:Lo(t,3),type:r}),e.__filtered__=e.__filtered__||n,e}}),Xe(["head","last"],function(t,e){var r="take"+(e?"Right":"");vn.prototype[t]=function(){return this[r](1).value()[0]}}),Xe(["initial","tail"],function(t,e){var r="drop"+(e?"":"Right");vn.prototype[t]=function(){return this.__filtered__?new vn(this):this[r](1)}}),vn.prototype.compact=function(){return this.filter(Bu)},vn.prototype.find=function(t){return this.filter(t).head()},vn.prototype.findLast=function(t){return this.reverse().find(t)},vn.prototype.invokeMap=ki(function(t,e){return"function"==typeof t?new vn(this):this.map(function(r){return ni(r,t,e)})}),vn.prototype.reject=function(t){return this.filter(us(Lo(t)))},vn.prototype.slice=function(t,e){t=zs(t);var r=this;return r.__filtered__&&(t>0||e<0)?new vn(r):(t<0?r=r.takeRight(-t):t&&(r=r.drop(t)),e!==n&&(r=(e=zs(e))<0?r.dropRight(-e):r.take(e-t)),r)},vn.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},vn.prototype.toArray=function(){return this.take(F)},qn(vn.prototype,function(t,e){var r=/^(?:filter|find|map|reject)|While$/.test(e),i=/^(?:head|last)$/.test(e),o=fn[i?"take"+("last"==e?"Right":""):e],a=i||/^find/.test(e);o&&(fn.prototype[e]=function(){var e=this.__wrapped__,s=i?[1]:arguments,u=e instanceof vn,l=s[0],c=u||vs(e),h=function(t){var e=o.apply(fn,Je([t],s));return i&&p?e[0]:e};c&&r&&"function"==typeof l&&1!=l.length&&(u=c=!1);var p=this.__chain__,f=!!this.__actions__.length,d=a&&!p,m=u&&!f;if(!a&&c){e=m?e:new vn(this);var g=t.apply(e,s);return g.__actions__.push({func:Ua,args:[h],thisArg:n}),new gn(g,p)}return d&&m?t.apply(this,s):(g=this.thru(h),d?i?g.value()[0]:g.value():g)})}),Xe(["pop","push","shift","sort","splice","unshift"],function(t){var e=oe[t],r=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",n=/^(?:pop|shift)$/.test(t);fn.prototype[t]=function(){var t=arguments;if(n&&!this.__chain__){var i=this.value();return e.apply(vs(i)?i:[],t)}return this[r](function(r){return e.apply(vs(r)?r:[],t)})}}),qn(vn.prototype,function(t,e){var r=fn[e];if(r){var n=r.name+"";(nn[n]||(nn[n]=[])).push({name:e,func:r})}}),nn[fo(n,g).name]=[{name:"wrapper",func:n}],vn.prototype.clone=function(){var t=new vn(this.__wrapped__);return t.__actions__=ro(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=ro(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=ro(this.__views__),t},vn.prototype.reverse=function(){if(this.__filtered__){var t=new vn(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},vn.prototype.value=function(){var t=this.__wrapped__.value(),e=this.__dir__,r=vs(t),n=e<0,i=r?t.length:0,o=function(t,e,r){for(var n=-1,i=r.length;++n<i;){var o=r[n],a=o.size;switch(o.type){case"drop":t+=a;break;case"dropRight":e-=a;break;case"take":e=Xr(e,t+a);break;case"takeRight":t=Vr(t,e-a)}}return{start:t,end:e}}(0,i,this.__views__),a=o.start,s=o.end,u=s-a,l=n?s:a-1,c=this.__iteratees__,h=c.length,p=0,f=Xr(u,this.__takeCount__);if(!r||!n&&i==u&&f==u)return zi(t,this.__actions__);var d=[];t:for(;u--&&p<f;){for(var m=-1,g=t[l+=e];++m<h;){var v=c[m],_=v.iteratee,y=v.type,b=_(g);if(y==B)g=b;else if(!b){if(y==R)continue t;break t}}d[p++]=g}return d},fn.prototype.at=za,fn.prototype.chain=function(){return ja(this)},fn.prototype.commit=function(){return new gn(this.value(),this.__chain__)},fn.prototype.next=function(){this.__values__===n&&(this.__values__=js(this.value()));var t=this.__index__>=this.__values__.length;return{done:t,value:t?n:this.__values__[this.__index__++]}},fn.prototype.plant=function(t){for(var e,r=this;r instanceof mn;){var i=pa(r);i.__index__=0,i.__values__=n,e?o.__wrapped__=i:e=i;var o=i;r=r.__wrapped__}return o.__wrapped__=t,e},fn.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof vn){var e=t;return this.__actions__.length&&(e=new vn(this)),(e=e.reverse()).__actions__.push({func:Ua,args:[Aa],thisArg:n}),new gn(e,this.__chain__)}return this.thru(Aa)},fn.prototype.toJSON=fn.prototype.valueOf=fn.prototype.value=function(){return zi(this.__wrapped__,this.__actions__)},fn.prototype.first=fn.prototype.head,cr&&(fn.prototype[cr]=function(){return this}),fn}();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Pe._=Pr,define(function(){return Pr})):Me?((Me.exports=Pr)._=Pr,Ie._=Pr):Pe._=Pr}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],100:[function(t,e,r){(function(r){t("path");var n=t("fs");function i(){this.types=Object.create(null),this.extensions=Object.create(null)}i.prototype.define=function(t){for(var e in t){for(var n=t[e],i=0;i<n.length;i++)r.env.DEBUG_MIME&&this.types[n[i]]&&console.warn((this._loading||"define()").replace(/.*\//,""),'changes "'+n[i]+'" extension type from '+this.types[n[i]]+" to "+e),this.types[n[i]]=e;this.extensions[e]||(this.extensions[e]=n[0])}},i.prototype.load=function(t){this._loading=t;var e={};n.readFileSync(t,"ascii").split(/[\r\n]+/).forEach(function(t){var r=t.replace(/\s*#.*|^\s*|\s*$/g,"").split(/\s+/);e[r.shift()]=r}),this.define(e),this._loading=null},i.prototype.lookup=function(t,e){var r=t.replace(/^.*[\.\/\\]/,"").toLowerCase();return this.types[r]||e||this.default_type},i.prototype.extension=function(t){var e=t.match(/^\s*([^;\s]*)(?:;|\s|$)/)[1].toLowerCase();return this.extensions[e]};var o=new i;o.define(t("./types.json")),o.default_type=o.lookup("bin"),o.Mime=i,o.charsets={lookup:function(t,e){return/^text\/|^application\/(javascript|json)/.test(t)?"UTF-8":e}},e.exports=o}).call(this,t("_process"))},{"./types.json":101,_process:136,fs:70,path:114}],101:[function(t,e,r){e.exports={"application/andrew-inset":["ez"],"application/applixware":["aw"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomsvc+xml":["atomsvc"],"application/bdoc":["bdoc"],"application/ccxml+xml":["ccxml"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cu-seeme":["cu"],"application/dash+xml":["mpd"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/font-tdpfr":["pfr"],"application/font-woff":[],"application/font-woff2":[],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["js","mjs"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["mp4s","m4p"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-signature":["asc","sig"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/prs.cww":["cww"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["xfdf"],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.apple.pkpass":["pkpass"],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.cups-ppd":["ppd"],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.service":["svc"],"application/vnd.dynageo":["geo"],"application/vnd.ecowin.chart":["mag"],"application/vnd.enliven":["nml"],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.fdf":["fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.gmx":["gmx"],"application/vnd.google-apps.document":["gdoc"],"application/vnd.google-apps.presentation":["gslides"],"application/vnd.google-apps.spreadsheet":["gsheet"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.hydrostatix.sof-data":["sfd-hdstx"],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-outlook":["msg"],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["stl"],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-project":["mpp","mpt"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.n-gage.symbian.install":["n-gage"],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.previewsystems.box":["box"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.sailingtracker.track":["st"],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.teacher":["teacher"],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.sun.wadl+xml":["wadl"],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml"],"application/vnd.vcx":["vcx"],"application/vnd.visio":["vsd","vst","vss","vsw"],"application/vnd.visionary":["vis"],"application/vnd.vsf":["vsf"],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wt.stf":["stf"],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-apple-diskimage":[],"application/x-arj":["arj"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bdoc":[],"application/x-bittorrent":["torrent"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-chrome-extension":["crx"],"application/x-cocoa":["cco"],"application/x-conference":["nsc"],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-ghostscript":["gsf"],"application/x-font-linux-psf":["psf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-hdf":["hdf"],"application/x-httpd-php":["php"],"application/x-install-instructions":["install"],"application/x-iso9660-image":[],"application/x-java-archive-diff":["jardiff"],"application/x-java-jnlp-file":["jnlp"],"application/x-latex":["latex"],"application/x-lua-bytecode":["luac"],"application/x-lzh-compressed":["lzh","lha"],"application/x-makeself":["run"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdos-program":[],"application/x-msdownload":["com","bat"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["wmf","emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-ns-proxy-autoconfig":["pac"],"application/x-nzb":["nzb"],"application/x-perl":["pl","pm"],"application/x-pilot":[],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["rar"],"application/x-redhat-package-manager":["rpm"],"application/x-research-info-systems":["ris"],"application/x-sea":["sea"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl","tk"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["obj"],"application/x-ustar":["ustar"],"application/x-virtualbox-hdd":["hdd"],"application/x-virtualbox-ova":["ova"],"application/x-virtualbox-ovf":["ovf"],"application/x-virtualbox-vbox":["vbox"],"application/x-virtualbox-vbox-extpack":["vbox-extpack"],"application/x-virtualbox-vdi":["vdi"],"application/x-virtualbox-vhd":["vhd"],"application/x-virtualbox-vmdk":["vmdk"],"application/x-wais-source":["src"],"application/x-web-app-manifest+json":["webapp"],"application/x-x509-ca-cert":["der","crt","pem"],"application/x-xfig":["fig"],"application/x-xliff+xml":["xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"application/xaml+xml":["xaml"],"application/xcap-diff+xml":["xdf"],"application/xenc+xml":["xenc"],"application/xhtml+xml":["xhtml","xht"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":[],"audio/adpcm":["adp"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mp3":[],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.rip":["rip"],"audio/wav":["wav"],"audio/wave":[],"audio/webm":["weba"],"audio/x-aac":["aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-m4a":[],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-realaudio":[],"audio/x-wav":[],"audio/xm":["xm"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-xyz":["xyz"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/apng":["apng"],"image/bmp":["bmp"],"image/cgm":["cgm"],"image/g3fax":["g3"],"image/gif":["gif"],"image/ief":["ief"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpeg","jpg","jpe"],"image/jpm":["jpm"],"image/jpx":["jpx","jpf"],"image/ktx":["ktx"],"image/png":["png"],"image/prs.btif":["btif"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/tiff":["tiff","tif"],"image/vnd.adobe.photoshop":["psd"],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dvb.subtitle":[],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/webp":["webp"],"image/x-3ds":["3ds"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["ico"],"image/x-jng":["jng"],"image/x-mrsid-image":["sid"],"image/x-ms-bmp":[],"image/x-pcx":["pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/rfc822":["eml","mime"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/mesh":["msh","mesh","silo"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.gdl":["gdl"],"model/vnd.gtw":["gtw"],"model/vnd.mts":["mts"],"model/vnd.vtu":["vtu"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["x3db","x3dbz"],"model/x3d+vrml":["x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/hjson":["hjson"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["markdown","md"],"text/mathml":["mml"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/prs.lines.tag":["dsc"],"text/richtext":["rtx"],"text/rtf":[],"text/sgml":["sgml","sgm"],"text/slim":["slim","slm"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.dvb.subtitle":["sub"],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/vtt":["vtt"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-component":["htc"],"text/x-fortran":["f","for","f77","f90"],"text/x-handlebars-template":["hbs"],"text/x-java-source":["java"],"text/x-lua":["lua"],"text/x-markdown":["mkd"],"text/x-nfo":["nfo"],"text/x-opml":["opml"],"text/x-org":[],"text/x-pascal":["p","pas"],"text/x-processing":["pde"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-suse-ymp":["ymp"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"text/xml":[],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/jpeg":["jpgv"],"video/jpm":["jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/webm":["webm"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]}},{}],102:[function(t,e,r){"use strict";var n=t("cwise-compiler"),i={body:"",args:[],thisVars:[],localVars:[]};function o(t){if(!t)return i;for(var e=0;e<t.args.length;++e){var r=t.args[e];t.args[e]=0===e?{name:r,lvalue:!0,rvalue:!!t.rvalue,count:t.count||1}:{name:r,lvalue:!1,rvalue:!0,count:1}}return t.thisVars||(t.thisVars=[]),t.localVars||(t.localVars=[]),t}function a(t){for(var e=[],r=0;r<t.args.length;++r)e.push("a"+r);return new Function("P",["return function ",t.funcName,"_ndarrayops(",e.join(","),") {P(",e.join(","),");return a0}"].join(""))(function(t){return n({args:t.args,pre:o(t.pre),body:o(t.body),post:o(t.proc),funcName:t.funcName})}(t))}var s={add:"+",sub:"-",mul:"*",div:"/",mod:"%",band:"&",bor:"|",bxor:"^",lshift:"<<",rshift:">>",rrshift:">>>"};!function(){for(var t in s){var e=s[t];r[t]=a({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),r[t+"eq"]=a({args:["array","array"],body:{args:["a","b"],body:"a"+e+"=b"},rvalue:!0,funcName:t+"eq"}),r[t+"s"]=a({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),r[t+"seq"]=a({args:["array","scalar"],body:{args:["a","s"],body:"a"+e+"=s"},rvalue:!0,funcName:t+"seq"})}}();var u={not:"!",bnot:"~",neg:"-",recip:"1.0/"};!function(){for(var t in u){var e=u[t];r[t]=a({args:["array","array"],body:{args:["a","b"],body:"a="+e+"b"},funcName:t}),r[t+"eq"]=a({args:["array"],body:{args:["a"],body:"a="+e+"a"},rvalue:!0,count:2,funcName:t+"eq"})}}();var l={and:"&&",or:"||",eq:"===",neq:"!==",lt:"<",gt:">",leq:"<=",geq:">="};!function(){for(var t in l){var e=l[t];r[t]=a({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),r[t+"s"]=a({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),r[t+"eq"]=a({args:["array","array"],body:{args:["a","b"],body:"a=a"+e+"b"},rvalue:!0,count:2,funcName:t+"eq"}),r[t+"seq"]=a({args:["array","scalar"],body:{args:["a","s"],body:"a=a"+e+"s"},rvalue:!0,count:2,funcName:t+"seq"})}}();var c=["abs","acos","asin","atan","ceil","cos","exp","floor","log","round","sin","sqrt","tan"];!function(){for(var t=0;t<c.length;++t){var e=c[t];r[e]=a({args:["array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b)",thisVars:["this_f"]},funcName:e}),r[e+"eq"]=a({args:["array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a"],body:"a=this_f(a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"eq"})}}();var h=["max","min","atan2","pow"];!function(){for(var t=0;t<h.length;++t){var e=h[t];r[e]=a({args:["array","array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(b,c)",thisVars:["this_f"]},funcName:e}),r[e+"s"]=a({args:["array","array","scalar"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(b,c)",thisVars:["this_f"]},funcName:e+"s"}),r[e+"eq"]=a({args:["array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(a,b)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"eq"}),r[e+"seq"]=a({args:["array","scalar"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(a,b)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"seq"})}}();var p=["atan2","pow"];!function(){for(var t=0;t<p.length;++t){var e=p[t];r[e+"op"]=a({args:["array","array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(c,b)",thisVars:["this_f"]},funcName:e+"op"}),r[e+"ops"]=a({args:["array","array","scalar"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(c,b)",thisVars:["this_f"]},funcName:e+"ops"}),r[e+"opeq"]=a({args:["array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b,a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"opeq"}),r[e+"opseq"]=a({args:["array","scalar"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b,a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"opseq"})}}(),r.any=n({args:["array"],pre:i,body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"if(a){return true}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return false"},funcName:"any"}),r.all=n({args:["array"],pre:i,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1}],body:"if(!x){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"all"}),r.sum=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"this_s+=a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"sum"}),r.prod=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=1"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"this_s*=a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"prod"}),r.norm2squared=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:2}],body:"this_s+=a*a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm2squared"}),r.norm2=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:2}],body:"this_s+=a*a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return Math.sqrt(this_s)"},funcName:"norm2"}),r.norminf=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:4}],body:"if(-a>this_s){this_s=-a}else if(a>this_s){this_s=a}",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norminf"}),r.norm1=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:3}],body:"this_s+=a<0?-a:a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm1"}),r.sup=n({args:["array"],pre:{body:"this_h=-Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}}),r.inf=n({args:["array"],pre:{body:"this_h=Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_<this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}}),r.argmin=n({args:["index","array","shape"],pre:{body:"{this_v=Infinity;this_i=_inline_0_arg2_.slice(0)}",args:[{name:"_inline_0_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg2_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_i","this_v"],localVars:[]},body:{body:"{if(_inline_1_arg1_<this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}}),r.argmax=n({args:["index","array","shape"],pre:{body:"{this_v=-Infinity;this_i=_inline_0_arg2_.slice(0)}",args:[{name:"_inline_0_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg2_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_i","this_v"],localVars:[]},body:{body:"{if(_inline_1_arg1_>this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}}),r.random=a({args:["array"],pre:{args:[],body:"this_f=Math.random",thisVars:["this_f"]},body:{args:["a"],body:"a=this_f()",thisVars:["this_f"]},funcName:"random"}),r.assign=a({args:["array","array"],body:{args:["a","b"],body:"a=b"},funcName:"assign"}),r.assigns=a({args:["array","scalar"],body:{args:["a","b"],body:"a=b"},funcName:"assigns"}),r.equals=n({args:["array","array"],pre:i,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1},{name:"y",lvalue:!1,rvalue:!0,count:1}],body:"if(x!==y){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"equals"})},{"cwise-compiler":13}],103:[function(t,e,r){"use strict";var n=t("ndarray"),i=t("./doConvert.js");e.exports=function(t,e){for(var r=[],o=t,a=1;Array.isArray(o);)r.push(o.length),a*=o.length,o=o[0];return 0===r.length?n():(e||(e=n(new Float64Array(a),r)),i(e,t),e)}},{"./doConvert.js":104,ndarray:105}],104:[function(t,e,r){e.exports=t("cwise-compiler")({args:["array","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\nvar _inline_1_v=_inline_1_arg1_,_inline_1_i\nfor(_inline_1_i=0;_inline_1_i<_inline_1_arg2_.length-1;++_inline_1_i) {\n_inline_1_v=_inline_1_v[_inline_1_arg2_[_inline_1_i]]\n}\n_inline_1_arg0_=_inline_1_v[_inline_1_arg2_[_inline_1_arg2_.length-1]]\n}",args:[{name:"_inline_1_arg0_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:4}],thisVars:[],localVars:["_inline_1_i","_inline_1_v"]},post:{body:"{}",args:[],thisVars:[],localVars:[]},funcName:"convert",blockSize:64})},{"cwise-compiler":13}],105:[function(t,e,r){var n=t("iota-array"),i=t("is-buffer"),o="undefined"!=typeof Float64Array;function a(t,e){return t[0]-e[0]}function s(){var t,e=this.stride,r=new Array(e.length);for(t=0;t<r.length;++t)r[t]=[Math.abs(e[t]),t];r.sort(a);var n=new Array(r.length);for(t=0;t<n.length;++t)n[t]=r[t][1];return n}function u(t,e){var r=["View",e,"d",t].join("");e<0&&(r="View_Nil"+t);var i="generic"===t;if(-1===e){var o="function "+r+"(a){this.data=a;};var proto="+r+".prototype;proto.dtype='"+t+"';proto.index=function(){return -1};proto.size=0;proto.dimension=-1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function(){return new "+r+"(this.data);};proto.get=proto.set=function(){};proto.pick=function(){return null};return function construct_"+r+"(a){return new "+r+"(a);}";return new Function(o)()}if(0===e){o="function "+r+"(a,d) {this.data = a;this.offset = d};var proto="+r+".prototype;proto.dtype='"+t+"';proto.index=function(){return this.offset};proto.dimension=0;proto.size=1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function "+r+"_copy() {return new "+r+"(this.data,this.offset)};proto.pick=function "+r+"_pick(){return TrivialArray(this.data);};proto.valueOf=proto.get=function "+r+"_get(){return "+(i?"this.data.get(this.offset)":"this.data[this.offset]")+"};proto.set=function "+r+"_set(v){return "+(i?"this.data.set(this.offset,v)":"this.data[this.offset]=v")+"};return function construct_"+r+"(a,b,c,d){return new "+r+"(a,d)}";return new Function("TrivialArray",o)(l[t][0])}o=["'use strict'"];var a=n(e),u=a.map(function(t){return"i"+t}),c="this.offset+"+a.map(function(t){return"this.stride["+t+"]*i"+t}).join("+"),h=a.map(function(t){return"b"+t}).join(","),p=a.map(function(t){return"c"+t}).join(",");o.push("function "+r+"(a,"+h+","+p+",d){this.data=a","this.shape=["+h+"]","this.stride=["+p+"]","this.offset=d|0}","var proto="+r+".prototype","proto.dtype='"+t+"'","proto.dimension="+e),o.push("Object.defineProperty(proto,'size',{get:function "+r+"_size(){return "+a.map(function(t){return"this.shape["+t+"]"}).join("*"),"}})"),1===e?o.push("proto.order=[0]"):(o.push("Object.defineProperty(proto,'order',{get:"),e<4?(o.push("function "+r+"_order(){"),2===e?o.push("return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})"):3===e&&o.push("var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})")):o.push("ORDER})")),o.push("proto.set=function "+r+"_set("+u.join(",")+",v){"),i?o.push("return this.data.set("+c+",v)}"):o.push("return this.data["+c+"]=v}"),o.push("proto.get=function "+r+"_get("+u.join(",")+"){"),i?o.push("return this.data.get("+c+")}"):o.push("return this.data["+c+"]}"),o.push("proto.index=function "+r+"_index(",u.join(),"){return "+c+"}"),o.push("proto.hi=function "+r+"_hi("+u.join(",")+"){return new "+r+"(this.data,"+a.map(function(t){return["(typeof i",t,"!=='number'||i",t,"<0)?this.shape[",t,"]:i",t,"|0"].join("")}).join(",")+","+a.map(function(t){return"this.stride["+t+"]"}).join(",")+",this.offset)}");var f=a.map(function(t){return"a"+t+"=this.shape["+t+"]"}),d=a.map(function(t){return"c"+t+"=this.stride["+t+"]"});o.push("proto.lo=function "+r+"_lo("+u.join(",")+"){var b=this.offset,d=0,"+f.join(",")+","+d.join(","));for(var m=0;m<e;++m)o.push("if(typeof i"+m+"==='number'&&i"+m+">=0){d=i"+m+"|0;b+=c"+m+"*d;a"+m+"-=d}");o.push("return new "+r+"(this.data,"+a.map(function(t){return"a"+t}).join(",")+","+a.map(function(t){return"c"+t}).join(",")+",b)}"),o.push("proto.step=function "+r+"_step("+u.join(",")+"){var "+a.map(function(t){return"a"+t+"=this.shape["+t+"]"}).join(",")+","+a.map(function(t){return"b"+t+"=this.stride["+t+"]"}).join(",")+",c=this.offset,d=0,ceil=Math.ceil");for(m=0;m<e;++m)o.push("if(typeof i"+m+"==='number'){d=i"+m+"|0;if(d<0){c+=b"+m+"*(a"+m+"-1);a"+m+"=ceil(-a"+m+"/d)}else{a"+m+"=ceil(a"+m+"/d)}b"+m+"*=d}");o.push("return new "+r+"(this.data,"+a.map(function(t){return"a"+t}).join(",")+","+a.map(function(t){return"b"+t}).join(",")+",c)}");var g=new Array(e),v=new Array(e);for(m=0;m<e;++m)g[m]="a[i"+m+"]",v[m]="b[i"+m+"]";o.push("proto.transpose=function "+r+"_transpose("+u+"){"+u.map(function(t,e){return t+"=("+t+"===undefined?"+e+":"+t+"|0)"}).join(";"),"var a=this.shape,b=this.stride;return new "+r+"(this.data,"+g.join(",")+","+v.join(",")+",this.offset)}"),o.push("proto.pick=function "+r+"_pick("+u+"){var a=[],b=[],c=this.offset");for(m=0;m<e;++m)o.push("if(typeof i"+m+"==='number'&&i"+m+">=0){c=(c+this.stride["+m+"]*i"+m+")|0}else{a.push(this.shape["+m+"]);b.push(this.stride["+m+"])}");return o.push("var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}"),o.push("return function construct_"+r+"(data,shape,stride,offset){return new "+r+"(data,"+a.map(function(t){return"shape["+t+"]"}).join(",")+","+a.map(function(t){return"stride["+t+"]"}).join(",")+",offset)}"),new Function("CTOR_LIST","ORDER",o.join("\n"))(l[t],s)}var l={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],buffer:[],generic:[]};e.exports=function(t,e,r,n){if(void 0===t)return(0,l.array[0])([]);"number"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var a=e.length;if(void 0===r){r=new Array(a);for(var s=a-1,c=1;s>=0;--s)r[s]=c,c*=e[s]}if(void 0===n)for(n=0,s=0;s<a;++s)r[s]<0&&(n-=(e[s]-1)*r[s]);for(var h=function(t){if(i(t))return"buffer";if(o)switch(Object.prototype.toString.call(t)){case"[object Float64Array]":return"float64";case"[object Float32Array]":return"float32";case"[object Int8Array]":return"int8";case"[object Int16Array]":return"int16";case"[object Int32Array]":return"int32";case"[object Uint8Array]":return"uint8";case"[object Uint16Array]":return"uint16";case"[object Uint32Array]":return"uint32";case"[object Uint8ClampedArray]":return"uint8_clamped"}return Array.isArray(t)?"array":"generic"}(t),p=l[h];p.length<=a+1;)p.push(u(h,p.length-1));return(0,p[a+1])(t,e,r,n)}},{"iota-array":95,"is-buffer":96}],106:[function(t,e,r){(function(r,n){"use strict";var i=t("util"),o=t("stream"),a=e.exports=function(){o.call(this),this._buffers=[],this._buffered=0,this._reads=[],this._paused=!1,this._encoding="utf8",this.writable=!0};i.inherits(a,o),a.prototype.read=function(t,e){this._reads.push({length:Math.abs(t),allowLess:t<0,func:e}),r.nextTick(function(){this._process(),this._paused&&this._reads.length>0&&(this._paused=!1,this.emit("drain"))}.bind(this))},a.prototype.write=function(t,e){return this.writable?(n.isBuffer(t)||(t=new n(t,e||this._encoding)),this._buffers.push(t),this._buffered+=t.length,this._process(),this._reads&&0==this._reads.length&&(this._paused=!0),this.writable&&!this._paused):(this.emit("error",new Error("Stream not writable")),!1)},a.prototype.end=function(t,e){t&&this.write(t,e),this.writable=!1,this._buffers&&(0==this._buffers.length?this._end():(this._buffers.push(null),this._process()))},a.prototype.destroySoon=a.prototype.end,a.prototype._end=function(){this._reads.length>0&&this.emit("error",new Error("There are some read requests waitng on finished stream")),this.destroy()},a.prototype.destroy=function(){this._buffers&&(this.writable=!1,this._reads=null,this._buffers=null,this.emit("close"))},a.prototype._process=function(){for(;this._buffered>0&&this._reads&&this._reads.length>0;){var t=this._reads[0];if(t.allowLess){this._reads.shift(),(o=this._buffers[0]).length>t.length?(this._buffered-=t.length,this._buffers[0]=o.slice(t.length),t.func.call(this,o.slice(0,t.length))):(this._buffered-=o.length,this._buffers.shift(),t.func.call(this,o))}else{if(!(this._buffered>=t.length))break;this._reads.shift();for(var e=0,r=0,i=new n(t.length);e<t.length;){var o=this._buffers[r++],a=Math.min(o.length,t.length-e);o.copy(i,e,0,a),e+=a,a!=o.length&&(this._buffers[--r]=o.slice(a))}r>0&&this._buffers.splice(0,r),this._buffered-=t.length,t.func.call(this,i)}}this._buffers&&this._buffers.length>0&&null==this._buffers[0]&&this._end()}}).call(this,t("_process"),t("buffer").Buffer)},{_process:136,buffer:71,stream:187,util:196}],107:[function(t,e,r){"use strict";e.exports={PNG_SIGNATURE:[137,80,78,71,13,10,26,10],TYPE_IHDR:1229472850,TYPE_IEND:1229278788,TYPE_IDAT:1229209940,TYPE_PLTE:1347179589,TYPE_tRNS:1951551059,TYPE_gAMA:1732332865,COLOR_PALETTE:1,COLOR_COLOR:2,COLOR_ALPHA:4}},{}],108:[function(t,e,r){"use strict";var n=t("util"),i=t("stream"),o=e.exports=function(){i.call(this),this._crc=-1,this.writable=!0};n.inherits(o,i),o.prototype.write=function(t){for(var e=0;e<t.length;e++)this._crc=a[255&(this._crc^t[e])]^this._crc>>>8;return!0},o.prototype.end=function(t){t&&this.write(t),this.emit("crc",this.crc32())},o.prototype.crc32=function(){return-1^this._crc},o.crc32=function(t){for(var e=-1,r=0;r<t.length;r++)e=a[255&(e^t[r])]^e>>>8;return-1^e};for(var a=[],s=0;s<256;s++){for(var u=s,l=0;l<8;l++)1&u?u=3988292384^u>>>1:u>>>=1;a[s]=u}},{stream:187,util:196}],109:[function(t,e,r){(function(r){"use strict";var n=t("util"),i=(t("zlib"),t("./chunkstream")),o=e.exports=function(t,e,r,n,o){i.call(this),this._width=t,this._height=e,this._Bpp=r,this._data=n,this._options=o,this._line=0,"filterType"in o&&-1!=o.filterType?"number"==typeof o.filterType&&(o.filterType=[o.filterType]):o.filterType=[0,1,2,3,4],this._filters={0:this._filterNone.bind(this),1:this._filterSub.bind(this),2:this._filterUp.bind(this),3:this._filterAvg.bind(this),4:this._filterPaeth.bind(this)},this.read(this._width*r+1,this._reverseFilterLine.bind(this))};n.inherits(o,i);var a={1:{0:0,1:0,2:0,3:255},2:{0:0,1:0,2:0,3:1},3:{0:0,1:1,2:2,3:255},4:{0:0,1:1,2:2,3:3}};o.prototype._reverseFilterLine=function(t){var e=this._data,r=this._width<<2,n=this._line*r,i=t[0];if(0==i)for(var o=0;o<this._width;o++)for(var u=n+(o<<2),l=1+o*this._Bpp,c=0;c<4;c++){var h=a[this._Bpp][c];e[u+c]=255!=h?t[l+h]:255}else if(1==i)for(o=0;o<this._width;o++)for(u=n+(o<<2),l=1+o*this._Bpp,c=0;c<4;c++){h=a[this._Bpp][c];var p=o>0?e[u+c-4]:0;e[u+c]=255!=h?t[l+h]+p:255}else if(2==i)for(o=0;o<this._width;o++)for(u=n+(o<<2),l=1+o*this._Bpp,c=0;c<4;c++){h=a[this._Bpp][c];var f=this._line>0?e[u-r+c]:0;e[u+c]=255!=h?t[l+h]+f:255}else if(3==i)for(o=0;o<this._width;o++)for(u=n+(o<<2),l=1+o*this._Bpp,c=0;c<4;c++){h=a[this._Bpp][c],p=o>0?e[u+c-4]:0,f=this._line>0?e[u-r+c]:0;var d=Math.floor((p+f)/2);e[u+c]=255!=h?t[l+h]+d:255}else if(4==i)for(o=0;o<this._width;o++)for(u=n+(o<<2),l=1+o*this._Bpp,c=0;c<4;c++){h=a[this._Bpp][c],p=o>0?e[u+c-4]:0,f=this._line>0?e[u-r+c]:0;var m=o>0&&this._line>0?e[u-r+c-4]:0;d=s(p,f,m);e[u+c]=255!=h?t[l+h]+d:255}this._line++,this._line<this._height?this.read(this._width*this._Bpp+1,this._reverseFilterLine.bind(this)):this.emit("complete",this._data,this._width,this._height)},o.prototype.filter=function(){for(var t=this._data,e=new r((1+(this._width<<2))*this._height),n=0;n<this._height;n++){for(var i=this._options.filterType,o=1/0,a=0,s=0;s<i.length;s++){var u=this._filters[i[s]](t,n,null);u<o&&(a=i[s],o=u)}this._filters[a](t,n,e)}return e},o.prototype._filterNone=function(t,e,r){var n=this._width<<2,i=n+1,o=0;if(r)r[e*i]=0,t.copy(r,i*e+1,n*e,n*(e+1));else for(var a=0;a<n;a++)o+=Math.abs(t[e*n+a]);return o},o.prototype._filterSub=function(t,e,r){var n=this._width<<2,i=n+1,o=0;r&&(r[e*i]=1);for(var a=0;a<n;a++){var s=a>=4?t[e*n+a-4]:0,u=t[e*n+a]-s;r?r[e*i+1+a]=u:o+=Math.abs(u)}return o},o.prototype._filterUp=function(t,e,r){var n=this._width<<2,i=n+1,o=0;r&&(r[e*i]=2);for(var a=0;a<n;a++){var s=e>0?t[(e-1)*n+a]:0,u=t[e*n+a]-s;r?r[e*i+1+a]=u:o+=Math.abs(u)}return o},o.prototype._filterAvg=function(t,e,r){var n=this._width<<2,i=n+1,o=0;r&&(r[e*i]=3);for(var a=0;a<n;a++){var s=a>=4?t[e*n+a-4]:0,u=e>0?t[(e-1)*n+a]:0,l=t[e*n+a]-(s+u>>1);r?r[e*i+1+a]=l:o+=Math.abs(l)}return o},o.prototype._filterPaeth=function(t,e,r){var n=this._width<<2,i=n+1,o=0;r&&(r[e*i]=4);for(var a=0;a<n;a++){var u=a>=4?t[e*n+a-4]:0,l=e>0?t[(e-1)*n+a]:0,c=a>=4&&e>0?t[(e-1)*n+a-4]:0,h=t[e*n+a]-s(u,l,c);r?r[e*i+1+a]=h:o+=Math.abs(h)}return o};var s=function(t,e,r){var n=t+e-r,i=Math.abs(n-t),o=Math.abs(n-e),a=Math.abs(n-r);return i<=o&&i<=a?t:o<=a?e:r}}).call(this,t("buffer").Buffer)},{"./chunkstream":106,buffer:71,util:196,zlib:69}],110:[function(t,e,r){(function(r){"use strict";var n=t("util"),i=t("stream"),o=t("zlib"),a=t("./filter"),s=t("./crc"),u=t("./constants"),l=e.exports=function(t){i.call(this),this._options=t,t.deflateChunkSize=t.deflateChunkSize||32768,t.deflateLevel=t.deflateLevel||9,t.deflateStrategy=t.deflateStrategy||3,this.readable=!0};n.inherits(l,i),l.prototype.pack=function(t,e,n){this.emit("data",new r(u.PNG_SIGNATURE)),this.emit("data",this._packIHDR(e,n));t=new a(e,n,4,t,this._options).filter();var i=o.createDeflate({chunkSize:this._options.deflateChunkSize,level:this._options.deflateLevel,strategy:this._options.deflateStrategy});i.on("error",this.emit.bind(this,"error")),i.on("data",function(t){this.emit("data",this._packIDAT(t))}.bind(this)),i.on("end",function(){this.emit("data",this._packIEND()),this.emit("end")}.bind(this)),i.end(t)},l.prototype._packChunk=function(t,e){var n=e?e.length:0,i=new r(n+12);return i.writeUInt32BE(n,0),i.writeUInt32BE(t,4),e&&e.copy(i,8),i.writeInt32BE(s.crc32(i.slice(4,i.length-4)),i.length-4),i},l.prototype._packIHDR=function(t,e){var n=new r(13);return n.writeUInt32BE(t,0),n.writeUInt32BE(e,4),n[8]=8,n[9]=6,n[10]=0,n[11]=0,n[12]=0,this._packChunk(u.TYPE_IHDR,n)},l.prototype._packIDAT=function(t){return this._packChunk(u.TYPE_IDAT,t)},l.prototype._packIEND=function(){return this._packChunk(u.TYPE_IEND,null)}}).call(this,t("buffer").Buffer)},{"./constants":107,"./crc":108,"./filter":109,buffer:71,stream:187,util:196,zlib:69}],111:[function(t,e,r){(function(r){"use strict";var n=t("util"),i=t("zlib"),o=t("./crc"),a=t("./chunkstream"),s=t("./constants"),u=t("./filter"),l=e.exports=function(t){a.call(this),this._options=t,t.checkCRC=!1!==t.checkCRC,this._hasIHDR=!1,this._hasIEND=!1,this._inflate=null,this._filter=null,this._crc=null,this._palette=[],this._colorType=0,this._chunks={},this._chunks[s.TYPE_IHDR]=this._handleIHDR.bind(this),this._chunks[s.TYPE_IEND]=this._handleIEND.bind(this),this._chunks[s.TYPE_IDAT]=this._handleIDAT.bind(this),this._chunks[s.TYPE_PLTE]=this._handlePLTE.bind(this),this._chunks[s.TYPE_tRNS]=this._handleTRNS.bind(this),this._chunks[s.TYPE_gAMA]=this._handleGAMA.bind(this),this.writable=!0,this.on("error",this._handleError.bind(this)),this._handleSignature()};n.inherits(l,a),l.prototype._handleError=function(){this.writable=!1,this.destroy(),this._inflate&&this._inflate.destroy()},l.prototype._handleSignature=function(){this.read(s.PNG_SIGNATURE.length,this._parseSignature.bind(this))},l.prototype._parseSignature=function(t){for(var e=s.PNG_SIGNATURE,r=0;r<e.length;r++)if(t[r]!=e[r])return void this.emit("error",new Error("Invalid file signature"));this.read(8,this._parseChunkBegin.bind(this))},l.prototype._parseChunkBegin=function(t){for(var e=t.readUInt32BE(0),n=t.readUInt32BE(4),i="",a=4;a<8;a++)i+=String.fromCharCode(t[a]);var u=!!(32&t[4]);t[5],t[7];if(this._hasIHDR||n==s.TYPE_IHDR){if(this._crc=new o,this._crc.write(new r(i)),this._chunks[n])return this._chunks[n](e);u?this.read(e+4,this._skipChunk.bind(this)):this.emit("error",new Error("Unsupported critical chunk type "+i))}else this.emit("error",new Error("Expected IHDR on beggining"))},l.prototype._skipChunk=function(t){this.read(8,this._parseChunkBegin.bind(this))},l.prototype._handleChunkEnd=function(){this.read(4,this._parseChunkEnd.bind(this))},l.prototype._parseChunkEnd=function(t){var e=t.readInt32BE(0),r=this._crc.crc32();this._options.checkCRC&&r!=e?this.emit("error",new Error("Crc error")):this._hasIEND?this.destroySoon():this.read(8,this._parseChunkBegin.bind(this))},l.prototype._handleIHDR=function(t){this.read(t,this._parseIHDR.bind(this))},l.prototype._parseIHDR=function(t){this._crc.write(t);var e=t.readUInt32BE(0),n=t.readUInt32BE(4),i=t[8],o=t[9],a=t[10],l=t[11],h=t[12];8==i?o in c?0==a?0==l?0==h?(this._colorType=o,this._data=new r(e*n*4),this._filter=new u(e,n,c[this._colorType],this._data,this._options),this._hasIHDR=!0,this.emit("metadata",{width:e,height:n,palette:!!(o&s.COLOR_PALETTE),color:!!(o&s.COLOR_COLOR),alpha:!!(o&s.COLOR_ALPHA),data:this._data}),this._handleChunkEnd()):this.emit("error",new Error("Unsupported interlace method")):this.emit("error",new Error("Unsupported filter method")):this.emit("error",new Error("Unsupported compression method")):this.emit("error",new Error("Unsupported color type")):this.emit("error",new Error("Unsupported bit depth "+i))},l.prototype._handlePLTE=function(t){this.read(t,this._parsePLTE.bind(this))},l.prototype._parsePLTE=function(t){this._crc.write(t);for(var e=Math.floor(t.length/3),r=0;r<e;r++)this._palette.push([t.readUInt8(3*r),t.readUInt8(3*r+1),t.readUInt8(3*r+2),255]);this._handleChunkEnd()},l.prototype._handleTRNS=function(t){this.read(t,this._parseTRNS.bind(this))},l.prototype._parseTRNS=function(t){if(this._crc.write(t),3==this._colorType){if(0==this._palette.length)return void this.emit("error",new Error("Transparency chunk must be after palette"));if(t.length>this._palette.length)return void this.emit("error",new Error("More transparent colors than palette size"));for(var e=0;e<this._palette.length;e++)this._palette[e][3]=e<t.length?t.readUInt8(e):255}this._handleChunkEnd()},l.prototype._handleGAMA=function(t){this.read(t,this._parseGAMA.bind(this))},l.prototype._parseGAMA=function(t){this._crc.write(t),this.emit("gamma",t.readUInt32BE(0)/1e5),this._handleChunkEnd()},l.prototype._handleIDAT=function(t){this.read(-t,this._parseIDAT.bind(this,t))},l.prototype._parseIDAT=function(t,e){if(this._crc.write(e),3==this._colorType&&0==this._palette.length)throw new Error("Expected palette not found");this._inflate||(this._inflate=i.createInflate(),this._inflate.on("error",this.emit.bind(this,"error")),this._filter.on("complete",this._reverseFiltered.bind(this)),this._inflate.pipe(this._filter)),this._inflate.write(e),(t-=e.length)>0?this._handleIDAT(t):this._handleChunkEnd()},l.prototype._handleIEND=function(t){this.read(t,this._parseIEND.bind(this))},l.prototype._parseIEND=function(t){this._crc.write(t),this._inflate.end(),this._hasIEND=!0,this._handleChunkEnd()};var c={0:1,2:3,3:1,4:2,6:4};l.prototype._reverseFiltered=function(t,e,r){if(3==this._colorType)for(var n=e<<2,i=0;i<r;i++)for(var o=i*n,a=0;a<e;a++)for(var s=o+(a<<2),u=this._palette[t[s]],l=0;l<4;l++)t[s+l]=u[l];this.emit("parsed",t)}}).call(this,t("buffer").Buffer)},{"./chunkstream":106,"./constants":107,"./crc":108,"./filter":109,buffer:71,util:196,zlib:69}],112:[function(t,e,r){(function(e,n){"use strict";var i=t("util"),o=t("stream"),a=t("./parser"),s=t("./packer"),u=r.PNG=function(t){o.call(this),t=t||{},this.width=t.width||0,this.height=t.height||0,this.data=this.width>0&&this.height>0?new n(4*this.width*this.height):null,t.fill&&this.data&&this.data.fill(0),this.gamma=0,this.readable=this.writable=!0,this._parser=new a(t||{}),this._parser.on("error",this.emit.bind(this,"error")),this._parser.on("close",this._handleClose.bind(this)),this._parser.on("metadata",this._metadata.bind(this)),this._parser.on("gamma",this._gamma.bind(this)),this._parser.on("parsed",function(t){this.data=t,this.emit("parsed",t)}.bind(this)),this._packer=new s(t),this._packer.on("data",this.emit.bind(this,"data")),this._packer.on("end",this.emit.bind(this,"end")),this._parser.on("close",this._handleClose.bind(this)),this._packer.on("error",this.emit.bind(this,"error"))};i.inherits(u,o),u.prototype.pack=function(){return e.nextTick(function(){this._packer.pack(this.data,this.width,this.height)}.bind(this)),this},u.prototype.parse=function(t,e){if(e){var r,n=null;this.once("parsed",r=function(t){this.removeListener("error",n),this.data=t,e(null,this)}.bind(this)),this.once("error",n=function(t){this.removeListener("parsed",r),e(t,null)}.bind(this))}return this.end(t),this},u.prototype.write=function(t){return this._parser.write(t),!0},u.prototype.end=function(t){this._parser.end(t)},u.prototype._metadata=function(t){this.width=t.width,this.height=t.height,this.data=t.data,delete t.data,this.emit("metadata",t)},u.prototype._gamma=function(t){this.gamma=t},u.prototype._handleClose=function(){this._parser.writable||this._packer.readable||this.emit("close")},u.prototype.bitblt=function(t,e,r,n,i,o,a){if(e>this.width||r>this.height||e+n>this.width||r+i>this.height)throw new Error("bitblt reading outside image");if(o>t.width||a>t.height||o+n>t.width||a+i>t.height)throw new Error("bitblt writing outside image");for(var s=0;s<i;s++)this.data.copy(t.data,(a+s)*t.width+o<<2,(r+s)*this.width+e<<2,(r+s)*this.width+e+n<<2);return this}}).call(this,t("_process"),t("buffer").Buffer)},{"./packer":110,"./parser":111,_process:136,buffer:71,stream:187,util:196}],113:[function(t,e,r){"use strict";function n(t,e,r,n){for(var i=t[e++],o=1<<i,a=o+1,s=a+1,u=i+1,l=(1<<u)-1,c=0,h=0,p=0,f=t[e++],d=new Int32Array(4096),m=null;;){for(;c<16&&0!==f;)h|=t[e++]<<c,c+=8,1===f?f=t[e++]:--f;if(c<u)break;var g=h&l;if(h>>=u,c-=u,g!==o){if(g===a)break;for(var v=g<s?g:m,_=0,y=v;y>o;)y=d[y]>>8,++_;var b=y;if(p+_+(v!==g?1:0)>n)return void console.log("Warning, gif stream longer than expected.");r[p++]=b;var x=p+=_;for(v!==g&&(r[p++]=b),y=v;_--;)y=d[y],r[--x]=255&y,y>>=8;null!==m&&s<4096&&(d[s++]=m<<8|b,s>=l+1&&u<12&&(++u,l=l<<1|1)),m=g}else s=a+1,l=(1<<(u=i+1))-1,m=null}return p!==n&&console.log("Warning, gif stream shorter than expected."),r}try{r.GifWriter=function(t,e,r,n){var i=0,o=void 0===(n=void 0===n?{}:n).loop?null:n.loop,a=void 0===n.palette?null:n.palette;if(e<=0||r<=0||e>65535||r>65535)throw new Error("Width/Height invalid.");function s(t){var e=t.length;if(e<2||e>256||e&e-1)throw new Error("Invalid code/color length, must be power of 2 and 2 .. 256.");return e}t[i++]=71,t[i++]=73,t[i++]=70,t[i++]=56,t[i++]=57,t[i++]=97;var u=0,l=0;if(null!==a){for(var c=s(a);c>>=1;)++u;if(c=1<<u,--u,void 0!==n.background){if((l=n.background)>=c)throw new Error("Background index out of range.");if(0===l)throw new Error("Background index explicitly passed as 0.")}}if(t[i++]=255&e,t[i++]=e>>8&255,t[i++]=255&r,t[i++]=r>>8&255,t[i++]=(null!==a?128:0)|u,t[i++]=l,t[i++]=0,null!==a)for(var h=0,p=a.length;h<p;++h){var f=a[h];t[i++]=f>>16&255,t[i++]=f>>8&255,t[i++]=255&f}if(null!==o){if(o<0||o>65535)throw new Error("Loop count invalid.");t[i++]=33,t[i++]=255,t[i++]=11,t[i++]=78,t[i++]=69,t[i++]=84,t[i++]=83,t[i++]=67,t[i++]=65,t[i++]=80,t[i++]=69,t[i++]=50,t[i++]=46,t[i++]=48,t[i++]=3,t[i++]=1,t[i++]=255&o,t[i++]=o>>8&255,t[i++]=0}var d=!1;this.addFrame=function(e,r,n,o,u,l){if(!0===d&&(--i,d=!1),l=void 0===l?{}:l,e<0||r<0||e>65535||r>65535)throw new Error("x/y invalid.");if(n<=0||o<=0||n>65535||o>65535)throw new Error("Width/Height invalid.");if(u.length<n*o)throw new Error("Not enough pixels for the frame size.");var c=!0,h=l.palette;if(void 0!==h&&null!==h||(c=!1,h=a),void 0===h||null===h)throw new Error("Must supply either a local or global palette.");for(var p=s(h),f=0;p>>=1;)++f;p=1<<f;var m=void 0===l.delay?0:l.delay,g=void 0===l.disposal?0:l.disposal;if(g<0||g>3)throw new Error("Disposal out of range.");var v=!1,_=0;if(void 0!==l.transparent&&null!==l.transparent&&(v=!0,(_=l.transparent)<0||_>=p))throw new Error("Transparent color index.");if((0!==g||v||0!==m)&&(t[i++]=33,t[i++]=249,t[i++]=4,t[i++]=g<<2|(!0===v?1:0),t[i++]=255&m,t[i++]=m>>8&255,t[i++]=_,t[i++]=0),t[i++]=44,t[i++]=255&e,t[i++]=e>>8&255,t[i++]=255&r,t[i++]=r>>8&255,t[i++]=255&n,t[i++]=n>>8&255,t[i++]=255&o,t[i++]=o>>8&255,t[i++]=!0===c?128|f-1:0,!0===c)for(var y=0,b=h.length;y<b;++y){var x=h[y];t[i++]=x>>16&255,t[i++]=x>>8&255,t[i++]=255&x}return i=function(t,e,r,n){t[e++]=r;var i=e++,o=1<<r,a=o-1,s=o+1,u=s+1,l=r+1,c=0,h=0;function p(r){for(;c>=r;)t[e++]=255&h,h>>=8,c-=8,e===i+256&&(t[i]=255,i=e++)}function f(t){h|=t<<c,c+=l,p(8)}var d=n[0]&a,m={};f(o);for(var g=1,v=n.length;g<v;++g){var _=n[g]&a,y=d<<8|_,b=m[y];if(void 0===b){for(h|=d<<c,c+=l;c>=8;)t[e++]=255&h,h>>=8,c-=8,e===i+256&&(t[i]=255,i=e++);4096===u?(f(o),u=s+1,l=r+1,m={}):(u>=1<<l&&++l,m[y]=u++),d=_}else d=b}return f(d),f(s),p(1),i+1===e?t[i]=0:(t[i]=e-i-1,t[e++]=0),e}(t,i,f<2?2:f,u)},this.end=function(){return!1===d&&(t[i++]=59,d=!0),i},this.getOutputBuffer=function(){return t},this.setOutputBuffer=function(e){t=e},this.getOutputBufferPosition=function(){return i},this.setOutputBufferPosition=function(t){i=t}},r.GifReader=function(t){var e=0;if(71!==t[e++]||73!==t[e++]||70!==t[e++]||56!==t[e++]||56!=(t[e++]+1&253)||97!==t[e++])throw new Error("Invalid GIF 87a/89a header.");var r=t[e++]|t[e++]<<8,i=t[e++]|t[e++]<<8,o=t[e++],a=o>>7,s=1<<1+(7&o);t[e++],t[e++];var u=null,l=null;a&&(u=e,l=s,e+=3*s);var c=!0,h=[],p=0,f=null,d=0,m=null;for(this.width=r,this.height=i;c&&e<t.length;)switch(t[e++]){case 33:switch(t[e++]){case 255:if(11!==t[e]||78==t[e+1]&&69==t[e+2]&&84==t[e+3]&&83==t[e+4]&&67==t[e+5]&&65==t[e+6]&&80==t[e+7]&&69==t[e+8]&&50==t[e+9]&&46==t[e+10]&&48==t[e+11]&&3==t[e+12]&&1==t[e+13]&&0==t[e+16])e+=14,m=t[e++]|t[e++]<<8,e++;else for(e+=12;;){if(!((C=t[e++])>=0))throw Error("Invalid block size");if(0===C)break;e+=C}break;case 249:if(4!==t[e++]||0!==t[e+4])throw new Error("Invalid graphics extension block.");var g=t[e++];p=t[e++]|t[e++]<<8,f=t[e++],0==(1&g)&&(f=null),d=g>>2&7,e++;break;case 254:for(;;){if(!((C=t[e++])>=0))throw Error("Invalid block size");if(0===C)break;e+=C}break;default:throw new Error("Unknown graphic control label: 0x"+t[e-1].toString(16))}break;case 44:var v=t[e++]|t[e++]<<8,_=t[e++]|t[e++]<<8,y=t[e++]|t[e++]<<8,b=t[e++]|t[e++]<<8,x=t[e++],w=x>>6&1,k=1<<1+(7&x),E=u,T=l,S=!1;x>>7&&(S=!0,E=e,T=k,e+=3*k);var A=e;for(e++;;){var C;if(!((C=t[e++])>=0))throw Error("Invalid block size");if(0===C)break;e+=C}h.push({x:v,y:_,width:y,height:b,has_local_palette:S,palette_offset:E,palette_size:T,data_offset:A,data_length:e-A,transparent_index:f,interlaced:!!w,delay:p,disposal:d});break;case 59:c=!1;break;default:throw new Error("Unknown gif block: 0x"+t[e-1].toString(16))}this.numFrames=function(){return h.length},this.loopCount=function(){return m},this.frameInfo=function(t){if(t<0||t>=h.length)throw new Error("Frame index out of range.");return h[t]},this.decodeAndBlitFrameBGRA=function(e,i){var o=this.frameInfo(e),a=o.width*o.height,s=new Uint8Array(a);n(t,o.data_offset,s,a);var u=o.palette_offset,l=o.transparent_index;null===l&&(l=256);var c=o.width,h=r-c,p=c,f=4*(o.y*r+o.x),d=4*((o.y+o.height)*r+o.x),m=f,g=4*h;!0===o.interlaced&&(g+=4*r*7);for(var v=8,_=0,y=s.length;_<y;++_){var b=s[_];if(0===p&&(p=c,(m+=g)>=d&&(g=4*h+4*r*(v-1),m=f+(c+h)*(v<<1),v>>=1)),b===l)m+=4;else{var x=t[u+3*b],w=t[u+3*b+1],k=t[u+3*b+2];i[m++]=k,i[m++]=w,i[m++]=x,i[m++]=255}--p}},this.decodeAndBlitFrameRGBA=function(e,i){var o=this.frameInfo(e),a=o.width*o.height,s=new Uint8Array(a);n(t,o.data_offset,s,a);var u=o.palette_offset,l=o.transparent_index;null===l&&(l=256);var c=o.width,h=r-c,p=c,f=4*(o.y*r+o.x),d=4*((o.y+o.height)*r+o.x),m=f,g=4*h;!0===o.interlaced&&(g+=4*r*7);for(var v=8,_=0,y=s.length;_<y;++_){var b=s[_];if(0===p&&(p=c,(m+=g)>=d&&(g=4*h+4*r*(v-1),m=f+(c+h)*(v<<1),v>>=1)),b===l)m+=4;else{var x=t[u+3*b],w=t[u+3*b+1],k=t[u+3*b+2];i[m++]=x,i[m++]=w,i[m++]=k,i[m++]=255}--p}}}}catch(t){}},{}],114:[function(t,e,r){(function(t){function e(t,e){for(var r=0,n=t.length-1;n>=0;n--){var i=t[n];"."===i?t.splice(n,1):".."===i?(t.splice(n,1),r++):r&&(t.splice(n,1),r--)}if(e)for(;r--;r)t.unshift("..");return t}function n(t,e){if(t.filter)return t.filter(e);for(var r=[],n=0;n<t.length;n++)e(t[n],n,t)&&r.push(t[n]);return r}r.resolve=function(){for(var r="",i=!1,o=arguments.length-1;o>=-1&&!i;o--){var a=o>=0?arguments[o]:t.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(r=a+"/"+r,i="/"===a.charAt(0))}return r=e(n(r.split("/"),function(t){return!!t}),!i).join("/"),(i?"/":"")+r||"."},r.normalize=function(t){var o=r.isAbsolute(t),a="/"===i(t,-1);return(t=e(n(t.split("/"),function(t){return!!t}),!o).join("/"))||o||(t="."),t&&a&&(t+="/"),(o?"/":"")+t},r.isAbsolute=function(t){return"/"===t.charAt(0)},r.join=function(){var t=Array.prototype.slice.call(arguments,0);return r.normalize(n(t,function(t,e){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))},r.relative=function(t,e){function n(t){for(var e=0;e<t.length&&""===t[e];e++);for(var r=t.length-1;r>=0&&""===t[r];r--);return e>r?[]:t.slice(e,r-e+1)}t=r.resolve(t).substr(1),e=r.resolve(e).substr(1);for(var i=n(t.split("/")),o=n(e.split("/")),a=Math.min(i.length,o.length),s=a,u=0;u<a;u++)if(i[u]!==o[u]){s=u;break}var l=[];for(u=s;u<i.length;u++)l.push("..");return(l=l.concat(o.slice(s))).join("/")},r.sep="/",r.delimiter=":",r.dirname=function(t){if("string"!=typeof t&&(t+=""),0===t.length)return".";for(var e=t.charCodeAt(0),r=47===e,n=-1,i=!0,o=t.length-1;o>=1;--o)if(47===(e=t.charCodeAt(o))){if(!i){n=o;break}}else i=!1;return-1===n?r?"/":".":r&&1===n?"/":t.slice(0,n)},r.basename=function(t,e){var r=function(t){"string"!=typeof t&&(t+="");var e,r=0,n=-1,i=!0;for(e=t.length-1;e>=0;--e)if(47===t.charCodeAt(e)){if(!i){r=e+1;break}}else-1===n&&(i=!1,n=e+1);return-1===n?"":t.slice(r,n)}(t);return e&&r.substr(-1*e.length)===e&&(r=r.substr(0,r.length-e.length)),r},r.extname=function(t){"string"!=typeof t&&(t+="");for(var e=-1,r=0,n=-1,i=!0,o=0,a=t.length-1;a>=0;--a){var s=t.charCodeAt(a);if(47!==s)-1===n&&(i=!1,n=a+1),46===s?-1===e?e=a:1!==o&&(o=1):-1!==e&&(o=-1);else if(!i){r=a+1;break}}return-1===e||-1===n||0===o||1===o&&e===n-1&&e===r+1?"":t.slice(e,n)};var i="b"==="ab".substr(-1)?function(t,e,r){return t.substr(e,r)}:function(t,e,r){return e<0&&(e=t.length+e),t.substr(e,r)}}).call(this,t("_process"))},{_process:136}],115:[function(t,e,r){(function(e){"use strict";var n=t("./interlace"),i={1:{0:0,1:0,2:0,3:255},2:{0:0,1:0,2:0,3:1},3:{0:0,1:1,2:2,3:255},4:{0:0,1:1,2:2,3:3}};function o(t,e,r,n,o,a){for(var s=t.width,u=t.height,l=t.index,c=0;c<u;c++)for(var h=0;h<s;h++){for(var p=r(h,c,l),f=0;f<4;f++){var d=i[n][f];if(f===o.length)throw new Error("Ran out of data");e[p+f]=255!==d?o[d+a]:255}a+=n}return a}function a(t,e,r,n,o,a){for(var s=t.width,u=t.height,l=t.index,c=0;c<u;c++){for(var h=0;h<s;h++)for(var p=o.get(n),f=r(h,c,l),d=0;d<4;d++){var m=i[n][d];e[f+d]=255!==m?p[m]:a}o.resetAfterLine()}}r.dataToBitMap=function(t,r){var i,s=r.width,u=r.height,l=r.depth,c=r.bpp,h=r.interlace;if(8!==l)var p=function(t,e){var r=[],n=0;function i(){if(n===t.length)throw new Error("Ran out of data");var i,o,a,s,u,l,c,h,p=t[n];switch(n++,e){default:throw new Error("unrecognised depth");case 16:c=t[n],n++,r.push((p<<8)+c);break;case 4:c=15&p,h=p>>4,r.push(h,c);break;case 2:u=3&p,l=p>>2&3,c=p>>4&3,h=p>>6&3,r.push(h,c,l,u);break;case 1:i=1&p,o=p>>1&1,a=p>>2&1,s=p>>3&1,u=p>>4&1,l=p>>5&1,c=p>>6&1,h=p>>7&1,r.push(h,c,l,u,s,a,o,i)}}return{get:function(t){for(;r.length<t;)i();var e=r.slice(0,t);return r=r.slice(t),e},resetAfterLine:function(){r.length=0},end:function(){if(n!==t.length)throw new Error("extra data found")}}}(t,l);i=l<=8?new e(s*u*4):new Uint16Array(s*u*4);var f,d,m=Math.pow(2,l)-1,g=0;if(h)f=n.getImagePasses(s,u),d=n.getInterlaceIterator(s,u);else{var v=0;d=function(){var t=v;return v+=4,t},f=[{width:s,height:u}]}for(var _=0;_<f.length;_++)8===l?g=o(f[_],i,d,c,t,g):a(f[_],i,d,c,p,m);if(8===l){if(g!==t.length)throw new Error("extra data found")}else p.end();return i}}).call(this,t("buffer").Buffer)},{"./interlace":125,buffer:71}],116:[function(t,e,r){(function(r){"use strict";var n=t("./constants");e.exports=function(t,e,i,o){var a=o.colorType===n.COLORTYPE_COLOR_ALPHA;if(o.inputHasAlpha&&a)return t;if(!o.inputHasAlpha&&!a)return t;var s=a?4:3,u=new r(e*i*s),l=o.inputHasAlpha?4:3,c=0,h=0,p=o.bgColor||{};void 0===p.red&&(p.red=255),void 0===p.green&&(p.green=255),void 0===p.blue&&(p.blue=255);for(var f=0;f<i;f++)for(var d=0;d<e;d++){var m,g=t[c],v=t[c+1],_=t[c+2];o.inputHasAlpha?(m=t[c+3],a||(m/=255,g=Math.min(Math.max(Math.round((1-m)*p.red+m*g),0),255),v=Math.min(Math.max(Math.round((1-m)*p.green+m*v),0),255),_=Math.min(Math.max(Math.round((1-m)*p.blue+m*_),0),255))):m=255,u[h]=g,u[h+1]=v,u[h+2]=_,a&&(u[h+3]=m),c+=l,h+=s}return u}}).call(this,t("buffer").Buffer)},{"./constants":118,buffer:71}],117:[function(t,e,r){(function(r,n){"use strict";var i=t("util"),o=t("stream"),a=e.exports=function(){o.call(this),this._buffers=[],this._buffered=0,this._reads=[],this._paused=!1,this._encoding="utf8",this.writable=!0};i.inherits(a,o),a.prototype.read=function(t,e){this._reads.push({length:Math.abs(t),allowLess:t<0,func:e}),r.nextTick(function(){this._process(),this._paused&&this._reads.length>0&&(this._paused=!1,this.emit("drain"))}.bind(this))},a.prototype.write=function(t,e){return this.writable?(r=n.isBuffer(t)?t:new n(t,e||this._encoding),this._buffers.push(r),this._buffered+=r.length,this._process(),this._reads&&0===this._reads.length&&(this._paused=!0),this.writable&&!this._paused):(this.emit("error",new Error("Stream not writable")),!1);var r},a.prototype.end=function(t,e){t&&this.write(t,e),this.writable=!1,this._buffers&&(0===this._buffers.length?this._end():(this._buffers.push(null),this._process()))},a.prototype.destroySoon=a.prototype.end,a.prototype._end=function(){this._reads.length>0&&this.emit("error",new Error("There are some read requests waitng on finished stream")),this.destroy()},a.prototype.destroy=function(){this._buffers&&(this.writable=!1,this._reads=null,this._buffers=null,this.emit("close"))},a.prototype._processReadAllowingLess=function(t){this._reads.shift();var e=this._buffers[0];e.length>t.length?(this._buffered-=t.length,this._buffers[0]=e.slice(t.length),t.func.call(this,e.slice(0,t.length))):(this._buffered-=e.length,this._buffers.shift(),t.func.call(this,e))},a.prototype._processRead=function(t){this._reads.shift();for(var e=0,r=0,i=new n(t.length);e<t.length;){var o=this._buffers[r++],a=Math.min(o.length,t.length-e);o.copy(i,e,0,a),e+=a,a!==o.length&&(this._buffers[--r]=o.slice(a))}r>0&&this._buffers.splice(0,r),this._buffered-=t.length,t.func.call(this,i)},a.prototype._process=function(){try{for(;this._buffered>0&&this._reads&&this._reads.length>0;){var t=this._reads[0];if(t.allowLess)this._processReadAllowingLess(t);else{if(!(this._buffered>=t.length))break;this._processRead(t)}}this._buffers&&this._buffers.length>0&&null===this._buffers[0]&&this._end()}catch(t){this.emit("error",t)}}}).call(this,t("_process"),t("buffer").Buffer)},{_process:136,buffer:71,stream:187,util:196}],118:[function(t,e,r){"use strict";e.exports={PNG_SIGNATURE:[137,80,78,71,13,10,26,10],TYPE_IHDR:1229472850,TYPE_IEND:1229278788,TYPE_IDAT:1229209940,TYPE_PLTE:1347179589,TYPE_tRNS:1951551059,TYPE_gAMA:1732332865,COLORTYPE_GRAYSCALE:0,COLORTYPE_PALETTE:1,COLORTYPE_COLOR:2,COLORTYPE_ALPHA:4,COLORTYPE_PALETTE_COLOR:3,COLORTYPE_COLOR_ALPHA:6,COLORTYPE_TO_BPP_MAP:{0:1,2:3,3:1,4:2,6:4},GAMMA_DIVISION:1e5}},{}],119:[function(t,e,r){"use strict";var n=[];!function(){for(var t=0;t<256;t++){for(var e=t,r=0;r<8;r++)1&e?e=3988292384^e>>>1:e>>>=1;n[t]=e}}();var i=e.exports=function(){this._crc=-1};i.prototype.write=function(t){for(var e=0;e<t.length;e++)this._crc=n[255&(this._crc^t[e])]^this._crc>>>8;return!0},i.prototype.crc32=function(){return-1^this._crc},i.crc32=function(t){for(var e=-1,r=0;r<t.length;r++)e=n[255&(e^t[r])]^e>>>8;return-1^e}},{}],120:[function(t,e,r){(function(r){"use strict";var n=t("./paeth-predictor");var i={0:function(t,e,r,n,i){t.copy(n,i,e,e+r)},1:function(t,e,r,n,i,o){for(var a=0;a<r;a++){var s=a>=o?t[e+a-o]:0,u=t[e+a]-s;n[i+a]=u}},2:function(t,e,r,n,i){for(var o=0;o<r;o++){var a=e>0?t[e+o-r]:0,s=t[e+o]-a;n[i+o]=s}},3:function(t,e,r,n,i,o){for(var a=0;a<r;a++){var s=a>=o?t[e+a-o]:0,u=e>0?t[e+a-r]:0,l=t[e+a]-(s+u>>1);n[i+a]=l}},4:function(t,e,r,i,o,a){for(var s=0;s<r;s++){var u=s>=a?t[e+s-a]:0,l=e>0?t[e+s-r]:0,c=e>0&&s>=a?t[e+s-(r+a)]:0,h=t[e+s]-n(u,l,c);i[o+s]=h}}},o={0:function(t,e,r){for(var n=0,i=e+r,o=e;o<i;o++)n+=Math.abs(t[o]);return n},1:function(t,e,r,n){for(var i=0,o=0;o<r;o++){var a=o>=n?t[e+o-n]:0,s=t[e+o]-a;i+=Math.abs(s)}return i},2:function(t,e,r){for(var n=0,i=e+r,o=e;o<i;o++){var a=e>0?t[o-r]:0,s=t[o]-a;n+=Math.abs(s)}return n},3:function(t,e,r,n){for(var i=0,o=0;o<r;o++){var a=o>=n?t[e+o-n]:0,s=e>0?t[e+o-r]:0,u=t[e+o]-(a+s>>1);i+=Math.abs(u)}return i},4:function(t,e,r,i){for(var o=0,a=0;a<r;a++){var s=a>=i?t[e+a-i]:0,u=e>0?t[e+a-r]:0,l=e>0&&a>=i?t[e+a-(r+i)]:0,c=t[e+a]-n(s,u,l);o+=Math.abs(c)}return o}};e.exports=function(t,e,n,a,s){var u;if("filterType"in a&&-1!==a.filterType){if("number"!=typeof a.filterType)throw new Error("unrecognised filter types");u=[a.filterType]}else u=[0,1,2,3,4];for(var l=e*s,c=0,h=0,p=new r((l+1)*n),f=u[0],d=0;d<n;d++){if(u.length>1)for(var m=1/0,g=0;g<u.length;g++){var v=o[u[g]](t,h,l,s);v<m&&(f=u[g],m=v)}p[c]=f,c++,i[f](t,h,l,p,c,s),c+=l,h+=l}return p}}).call(this,t("buffer").Buffer)},{"./paeth-predictor":129,buffer:71}],121:[function(t,e,r){(function(r){"use strict";var n=t("util"),i=t("./chunkstream"),o=t("./filter-parse"),a=e.exports=function(t){i.call(this);var e=[],n=this;this._filter=new o(t,{read:this.read.bind(this),write:function(t){e.push(t)},complete:function(){n.emit("complete",r.concat(e))}}),this._filter.start()};n.inherits(a,i)}).call(this,t("buffer").Buffer)},{"./chunkstream":117,"./filter-parse":123,buffer:71,util:196}],122:[function(t,e,r){(function(e){"use strict";var n=t("./sync-reader"),i=t("./filter-parse");r.process=function(t,r){var o=[],a=new n(t);return new i(r,{read:a.read.bind(a),write:function(t){o.push(t)},complete:function(){}}).start(),a.process(),e.concat(o)}}).call(this,t("buffer").Buffer)},{"./filter-parse":123,"./sync-reader":135,buffer:71}],123:[function(t,e,r){(function(r){"use strict";var n=t("./interlace"),i=t("./paeth-predictor");function o(t,e,r){var n=t*e;return 8!==r&&(n=Math.ceil(n/(8/r))),n}var a=e.exports=function(t,e){var r=t.width,i=t.height,a=t.interlace,s=t.bpp,u=t.depth;if(this.read=e.read,this.write=e.write,this.complete=e.complete,this._imageIndex=0,this._images=[],a)for(var l=n.getImagePasses(r,i),c=0;c<l.length;c++)this._images.push({byteWidth:o(l[c].width,s,u),height:l[c].height,lineIndex:0});else this._images.push({byteWidth:o(r,s,u),height:i,lineIndex:0});this._xComparison=8===u?s:16===u?2*s:1};a.prototype.start=function(){this.read(this._images[this._imageIndex].byteWidth+1,this._reverseFilterLine.bind(this))},a.prototype._unFilterType1=function(t,e,r){for(var n=this._xComparison,i=n-1,o=0;o<r;o++){var a=t[1+o],s=o>i?e[o-n]:0;e[o]=a+s}},a.prototype._unFilterType2=function(t,e,r){for(var n=this._lastLine,i=0;i<r;i++){var o=t[1+i],a=n?n[i]:0;e[i]=o+a}},a.prototype._unFilterType3=function(t,e,r){for(var n=this._xComparison,i=n-1,o=this._lastLine,a=0;a<r;a++){var s=t[1+a],u=o?o[a]:0,l=a>i?e[a-n]:0,c=Math.floor((l+u)/2);e[a]=s+c}},a.prototype._unFilterType4=function(t,e,r){for(var n=this._xComparison,o=n-1,a=this._lastLine,s=0;s<r;s++){var u=t[1+s],l=a?a[s]:0,c=s>o?e[s-n]:0,h=s>o&&a?a[s-n]:0,p=i(c,l,h);e[s]=u+p}},a.prototype._reverseFilterLine=function(t){var e,n=t[0],i=this._images[this._imageIndex],o=i.byteWidth;if(0===n)e=t.slice(1,o+1);else switch(e=new r(o),n){case 1:this._unFilterType1(t,e,o);break;case 2:this._unFilterType2(t,e,o);break;case 3:this._unFilterType3(t,e,o);break;case 4:this._unFilterType4(t,e,o);break;default:throw new Error("Unrecognised filter type - "+n)}this.write(e),i.lineIndex++,i.lineIndex>=i.height?(this._lastLine=null,this._imageIndex++,i=this._images[this._imageIndex]):this._lastLine=e,i?this.read(i.byteWidth+1,this._reverseFilterLine.bind(this)):(this._lastLine=null,this.complete())}}).call(this,t("buffer").Buffer)},{"./interlace":125,"./paeth-predictor":129,buffer:71}],124:[function(t,e,r){(function(t){"use strict";e.exports=function(e,r){var n=r.depth,i=r.width,o=r.height,a=r.colorType,s=r.transColor,u=r.palette,l=e;return 3===a?function(t,e,r,n,i){for(var o=0,a=0;a<n;a++)for(var s=0;s<r;s++){var u=i[t[o]];if(!u)throw new Error("index "+t[o]+" not in palette");for(var l=0;l<4;l++)e[o+l]=u[l];o+=4}}(e,l,i,o,u):(s&&function(t,e,r,n,i){for(var o=0,a=0;a<n;a++)for(var s=0;s<r;s++){var u=!1;if(1===i.length?i[0]===t[o]&&(u=!0):i[0]===t[o]&&i[1]===t[o+1]&&i[2]===t[o+2]&&(u=!0),u)for(var l=0;l<4;l++)e[o+l]=0;o+=4}}(e,l,i,o,s),8!==n&&(16===n&&(l=new t(i*o*4)),function(t,e,r,n,i){for(var o=Math.pow(2,i)-1,a=0,s=0;s<n;s++)for(var u=0;u<r;u++){for(var l=0;l<4;l++)e[a+l]=Math.floor(255*t[a+l]/o+.5);a+=4}}(e,l,i,o,n))),l}}).call(this,t("buffer").Buffer)},{buffer:71}],125:[function(t,e,r){"use strict";var n=[{x:[0],y:[0]},{x:[4],y:[0]},{x:[0,4],y:[4]},{x:[2,6],y:[0,4]},{x:[0,2,4,6],y:[2,6]},{x:[1,3,5,7],y:[0,2,4,6]},{x:[0,1,2,3,4,5,6,7],y:[1,3,5,7]}];r.getImagePasses=function(t,e){for(var r=[],i=t%8,o=e%8,a=(t-i)/8,s=(e-o)/8,u=0;u<n.length;u++){for(var l=n[u],c=a*l.x.length,h=s*l.y.length,p=0;p<l.x.length&&l.x[p]<i;p++)c++;for(p=0;p<l.y.length&&l.y[p]<o;p++)h++;c>0&&h>0&&r.push({width:c,height:h,index:u})}return r},r.getInterlaceIterator=function(t){return function(e,r,i){var o=e%n[i].x.length,a=(e-o)/n[i].x.length*8+n[i].x[o],s=r%n[i].y.length;return 4*a+((r-s)/n[i].y.length*8+n[i].y[s])*t*4}}},{}],126:[function(t,e,r){(function(r){"use strict";var n=t("util"),i=t("stream"),o=t("./constants"),a=t("./packer"),s=e.exports=function(t){i.call(this);var e=t||{};this._packer=new a(e),this._deflate=this._packer.createDeflate(),this.readable=!0};n.inherits(s,i),s.prototype.pack=function(t,e,n,i){this.emit("data",new r(o.PNG_SIGNATURE)),this.emit("data",this._packer.packIHDR(e,n)),i&&this.emit("data",this._packer.packGAMA(i));var a=this._packer.filterData(t,e,n);this._deflate.on("error",this.emit.bind(this,"error")),this._deflate.on("data",function(t){this.emit("data",this._packer.packIDAT(t))}.bind(this)),this._deflate.on("end",function(){this.emit("data",this._packer.packIEND()),this.emit("end")}.bind(this)),this._deflate.end(a)}}).call(this,t("buffer").Buffer)},{"./constants":118,"./packer":128,buffer:71,stream:187,util:196}],127:[function(t,e,r){(function(r){"use strict";var n=!0,i=t("zlib");i.deflateSync||(n=!1);var o=t("./constants"),a=t("./packer");e.exports=function(t,e){if(!n)throw new Error("To use the sync capability of this library in old node versions, please also add a dependency on node-zlb-backport");var s=new a(e||{}),u=[];u.push(new r(o.PNG_SIGNATURE)),u.push(s.packIHDR(t.width,t.height)),t.gamma&&u.push(s.packGAMA(t.gamma));var l=s.filterData(t.data,t.width,t.height),c=i.deflateSync(l,s.getDeflateOptions());if(l=null,!c||!c.length)throw new Error("bad png - invalid compressed data response");return u.push(s.packIDAT(c)),u.push(s.packIEND()),r.concat(u)}}).call(this,t("buffer").Buffer)},{"./constants":118,"./packer":128,buffer:71,zlib:69}],128:[function(t,e,r){(function(r){"use strict";var n=t("./constants"),i=t("./crc"),o=t("./bitpacker"),a=t("./filter-pack"),s=t("zlib"),u=e.exports=function(t){if(this._options=t,t.deflateChunkSize=t.deflateChunkSize||32768,t.deflateLevel=null!=t.deflateLevel?t.deflateLevel:9,t.deflateStrategy=null!=t.deflateStrategy?t.deflateStrategy:3,t.inputHasAlpha=null==t.inputHasAlpha||t.inputHasAlpha,t.deflateFactory=t.deflateFactory||s.createDeflate,t.bitDepth=t.bitDepth||8,t.colorType="number"==typeof t.colorType?t.colorType:n.COLORTYPE_COLOR_ALPHA,t.colorType!==n.COLORTYPE_COLOR&&t.colorType!==n.COLORTYPE_COLOR_ALPHA)throw new Error("option color type:"+t.colorType+" is not supported at present");if(8!==t.bitDepth)throw new Error("option bit depth:"+t.bitDepth+" is not supported at present")};u.prototype.getDeflateOptions=function(){return{chunkSize:this._options.deflateChunkSize,level:this._options.deflateLevel,strategy:this._options.deflateStrategy}},u.prototype.createDeflate=function(){return this._options.deflateFactory(this.getDeflateOptions())},u.prototype.filterData=function(t,e,r){var i=o(t,e,r,this._options),s=n.COLORTYPE_TO_BPP_MAP[this._options.colorType];return a(i,e,r,this._options,s)},u.prototype._packChunk=function(t,e){var n=e?e.length:0,o=new r(n+12);return o.writeUInt32BE(n,0),o.writeUInt32BE(t,4),e&&e.copy(o,8),o.writeInt32BE(i.crc32(o.slice(4,o.length-4)),o.length-4),o},u.prototype.packGAMA=function(t){var e=new r(4);return e.writeUInt32BE(Math.floor(t*n.GAMMA_DIVISION),0),this._packChunk(n.TYPE_gAMA,e)},u.prototype.packIHDR=function(t,e){var i=new r(13);return i.writeUInt32BE(t,0),i.writeUInt32BE(e,4),i[8]=this._options.bitDepth,i[9]=this._options.colorType,i[10]=0,i[11]=0,i[12]=0,this._packChunk(n.TYPE_IHDR,i)},u.prototype.packIDAT=function(t){return this._packChunk(n.TYPE_IDAT,t)},u.prototype.packIEND=function(){return this._packChunk(n.TYPE_IEND,null)}}).call(this,t("buffer").Buffer)},{"./bitpacker":116,"./constants":118,"./crc":119,"./filter-pack":120,buffer:71,zlib:69}],129:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n=t+e-r,i=Math.abs(n-t),o=Math.abs(n-e),a=Math.abs(n-r);return i<=o&&i<=a?t:o<=a?e:r}},{}],130:[function(t,e,r){"use strict";var n=t("util"),i=t("zlib"),o=t("./chunkstream"),a=t("./filter-parse-async"),s=t("./parser"),u=t("./bitmapper"),l=t("./format-normaliser"),c=e.exports=function(t){o.call(this),this._parser=new s(t,{read:this.read.bind(this),error:this._handleError.bind(this),metadata:this._handleMetaData.bind(this),gamma:this.emit.bind(this,"gamma"),palette:this._handlePalette.bind(this),transColor:this._handleTransColor.bind(this),finished:this._finished.bind(this),inflateData:this._inflateData.bind(this)}),this._options=t,this.writable=!0,this._parser.start()};n.inherits(c,o),c.prototype._handleError=function(t){this.emit("error",t),this.writable=!1,this.destroy(),this._inflate&&this._inflate.destroy&&this._inflate.destroy(),this.errord=!0},c.prototype._inflateData=function(t){this._inflate||(this._inflate=i.createInflate(),this._inflate.on("error",this.emit.bind(this,"error")),this._filter.on("complete",this._complete.bind(this)),this._inflate.pipe(this._filter)),this._inflate.write(t)},c.prototype._handleMetaData=function(t){this.emit("metadata",t),this._bitmapInfo=Object.create(t),this._filter=new a(this._bitmapInfo)},c.prototype._handleTransColor=function(t){this._bitmapInfo.transColor=t},c.prototype._handlePalette=function(t){this._bitmapInfo.palette=t},c.prototype._finished=function(){this.errord||(this._inflate?this._inflate.end():this.emit("error","No Inflate block"),this.destroySoon())},c.prototype._complete=function(t){if(!this.errord){try{var e=u.dataToBitMap(t,this._bitmapInfo),r=l(e,this._bitmapInfo);e=null}catch(t){return void this._handleError(t)}this.emit("parsed",r)}}},{"./bitmapper":115,"./chunkstream":117,"./filter-parse-async":121,"./format-normaliser":124,"./parser":132,util:196,zlib:69}],131:[function(t,e,r){(function(r){"use strict";var n=!0,i=t("zlib");i.deflateSync||(n=!1);var o=t("./sync-reader"),a=t("./filter-parse-sync"),s=t("./parser"),u=t("./bitmapper"),l=t("./format-normaliser");e.exports=function(t,e){if(!n)throw new Error("To use the sync capability of this library in old node versions, please also add a dependency on node-zlb-backport");var c,h,p;var f=[];var d=new o(t);if(new s(e,{read:d.read.bind(d),error:function(t){c=t},metadata:function(t){h=t},gamma:function(t){p=t},palette:function(t){h.palette=t},transColor:function(t){h.transColor=t},inflateData:function(t){f.push(t)}}).start(),d.process(),c)throw c;var m=r.concat(f);f.length=0;var g=i.inflateSync(m);if(m=null,!g||!g.length)throw new Error("bad png - invalid inflate data response");var v=a.process(g,h);m=null;var _=u.dataToBitMap(v,h);v=null;var y=l(_,h);return h.data=y,h.gamma=p||0,h}}).call(this,t("buffer").Buffer)},{"./bitmapper":115,"./filter-parse-sync":122,"./format-normaliser":124,"./parser":132,"./sync-reader":135,buffer:71,zlib:69}],132:[function(t,e,r){(function(r){"use strict";var n=t("./constants"),i=t("./crc"),o=e.exports=function(t,e){this._options=t,t.checkCRC=!1!==t.checkCRC,this._hasIHDR=!1,this._hasIEND=!1,this._palette=[],this._colorType=0,this._chunks={},this._chunks[n.TYPE_IHDR]=this._handleIHDR.bind(this),this._chunks[n.TYPE_IEND]=this._handleIEND.bind(this),this._chunks[n.TYPE_IDAT]=this._handleIDAT.bind(this),this._chunks[n.TYPE_PLTE]=this._handlePLTE.bind(this),this._chunks[n.TYPE_tRNS]=this._handleTRNS.bind(this),this._chunks[n.TYPE_gAMA]=this._handleGAMA.bind(this),this.read=e.read,this.error=e.error,this.metadata=e.metadata,this.gamma=e.gamma,this.transColor=e.transColor,this.palette=e.palette,this.parsed=e.parsed,this.inflateData=e.inflateData,this.inflateData=e.inflateData,this.finished=e.finished};o.prototype.start=function(){this.read(n.PNG_SIGNATURE.length,this._parseSignature.bind(this))},o.prototype._parseSignature=function(t){for(var e=n.PNG_SIGNATURE,r=0;r<e.length;r++)if(t[r]!==e[r])return void this.error(new Error("Invalid file signature"));this.read(8,this._parseChunkBegin.bind(this))},o.prototype._parseChunkBegin=function(t){for(var e=t.readUInt32BE(0),o=t.readUInt32BE(4),a="",s=4;s<8;s++)a+=String.fromCharCode(t[s]);var u=Boolean(32&t[4]);if(this._hasIHDR||o===n.TYPE_IHDR){if(this._crc=new i,this._crc.write(new r(a)),this._chunks[o])return this._chunks[o](e);u?this.read(e+4,this._skipChunk.bind(this)):this.error(new Error("Unsupported critical chunk type "+a))}else this.error(new Error("Expected IHDR on beggining"))},o.prototype._skipChunk=function(){this.read(8,this._parseChunkBegin.bind(this))},o.prototype._handleChunkEnd=function(){this.read(4,this._parseChunkEnd.bind(this))},o.prototype._parseChunkEnd=function(t){var e=t.readInt32BE(0),r=this._crc.crc32();this._options.checkCRC&&r!==e?this.error(new Error("Crc error - "+e+" - "+r)):this._hasIEND||this.read(8,this._parseChunkBegin.bind(this))},o.prototype._handleIHDR=function(t){this.read(t,this._parseIHDR.bind(this))},o.prototype._parseIHDR=function(t){this._crc.write(t);var e=t.readUInt32BE(0),r=t.readUInt32BE(4),i=t[8],o=t[9],a=t[10],s=t[11],u=t[12];if(8===i||4===i||2===i||1===i||16===i)if(o in n.COLORTYPE_TO_BPP_MAP)if(0===a)if(0===s)if(0===u||1===u){this._colorType=o;var l=n.COLORTYPE_TO_BPP_MAP[this._colorType];this._hasIHDR=!0,this.metadata({width:e,height:r,depth:i,interlace:Boolean(u),palette:Boolean(o&n.COLORTYPE_PALETTE),color:Boolean(o&n.COLORTYPE_COLOR),alpha:Boolean(o&n.COLORTYPE_ALPHA),bpp:l,colorType:o}),this._handleChunkEnd()}else this.error(new Error("Unsupported interlace method"));else this.error(new Error("Unsupported filter method"));else this.error(new Error("Unsupported compression method"));else this.error(new Error("Unsupported color type"));else this.error(new Error("Unsupported bit depth "+i))},o.prototype._handlePLTE=function(t){this.read(t,this._parsePLTE.bind(this))},o.prototype._parsePLTE=function(t){this._crc.write(t);for(var e=Math.floor(t.length/3),r=0;r<e;r++)this._palette.push([t[3*r],t[3*r+1],t[3*r+2],255]);this.palette(this._palette),this._handleChunkEnd()},o.prototype._handleTRNS=function(t){this.read(t,this._parseTRNS.bind(this))},o.prototype._parseTRNS=function(t){if(this._crc.write(t),this._colorType===n.COLORTYPE_PALETTE_COLOR){if(0===this._palette.length)return void this.error(new Error("Transparency chunk must be after palette"));if(t.length>this._palette.length)return void this.error(new Error("More transparent colors than palette size"));for(var e=0;e<t.length;e++)this._palette[e][3]=t[e];this.palette(this._palette)}this._colorType===n.COLORTYPE_GRAYSCALE&&this.transColor([t.readUInt16BE(0)]),this._colorType===n.COLORTYPE_COLOR&&this.transColor([t.readUInt16BE(0),t.readUInt16BE(2),t.readUInt16BE(4)]),this._handleChunkEnd()},o.prototype._handleGAMA=function(t){this.read(t,this._parseGAMA.bind(this))},o.prototype._parseGAMA=function(t){this._crc.write(t),this.gamma(t.readUInt32BE(0)/n.GAMMA_DIVISION),this._handleChunkEnd()},o.prototype._handleIDAT=function(t){this.read(-t,this._parseIDAT.bind(this,t))},o.prototype._parseIDAT=function(t,e){if(this._crc.write(e),this._colorType===n.COLORTYPE_PALETTE_COLOR&&0===this._palette.length)throw new Error("Expected palette not found");this.inflateData(e);var r=t-e.length;r>0?this._handleIDAT(r):this._handleChunkEnd()},o.prototype._handleIEND=function(t){this.read(t,this._parseIEND.bind(this))},o.prototype._parseIEND=function(t){this._crc.write(t),this._hasIEND=!0,this._handleChunkEnd(),this.finished&&this.finished()}}).call(this,t("buffer").Buffer)},{"./constants":118,"./crc":119,buffer:71}],133:[function(t,e,r){"use strict";var n=t("./parser-sync"),i=t("./packer-sync");r.read=function(t,e){return n(t,e||{})},r.write=function(t){return i(t)}},{"./packer-sync":127,"./parser-sync":131}],134:[function(t,e,r){(function(e,n){"use strict";var i=t("util"),o=t("stream"),a=t("./parser-async"),s=t("./packer-async"),u=t("./png-sync"),l=r.PNG=function(t){o.call(this),t=t||{},this.width=t.width||0,this.height=t.height||0,this.data=this.width>0&&this.height>0?new n(4*this.width*this.height):null,t.fill&&this.data&&this.data.fill(0),this.gamma=0,this.readable=this.writable=!0,this._parser=new a(t),this._parser.on("error",this.emit.bind(this,"error")),this._parser.on("close",this._handleClose.bind(this)),this._parser.on("metadata",this._metadata.bind(this)),this._parser.on("gamma",this._gamma.bind(this)),this._parser.on("parsed",function(t){this.data=t,this.emit("parsed",t)}.bind(this)),this._packer=new s(t),this._packer.on("data",this.emit.bind(this,"data")),this._packer.on("end",this.emit.bind(this,"end")),this._parser.on("close",this._handleClose.bind(this)),this._packer.on("error",this.emit.bind(this,"error"))};i.inherits(l,o),l.sync=u,l.prototype.pack=function(){return this.data&&this.data.length?(e.nextTick(function(){this._packer.pack(this.data,this.width,this.height,this.gamma)}.bind(this)),this):(this.emit("error","No data provided"),this)},l.prototype.parse=function(t,e){var r,n;e&&(r=function(t){this.removeListener("error",n),this.data=t,e(null,this)}.bind(this),n=function(t){this.removeListener("parsed",r),e(t,null)}.bind(this),this.once("parsed",r),this.once("error",n));return this.end(t),this},l.prototype.write=function(t){return this._parser.write(t),!0},l.prototype.end=function(t){this._parser.end(t)},l.prototype._metadata=function(t){this.width=t.width,this.height=t.height,this.emit("metadata",t)},l.prototype._gamma=function(t){this.gamma=t},l.prototype._handleClose=function(){this._parser.writable||this._packer.readable||this.emit("close")},l.bitblt=function(t,e,r,n,i,o,a,s){if(r>t.width||n>t.height||r+i>t.width||n+o>t.height)throw new Error("bitblt reading outside image");if(a>e.width||s>e.height||a+i>e.width||s+o>e.height)throw new Error("bitblt writing outside image");for(var u=0;u<o;u++)t.data.copy(e.data,(s+u)*e.width+a<<2,(n+u)*t.width+r<<2,(n+u)*t.width+r+i<<2)},l.prototype.bitblt=function(t,e,r,n,i,o,a){return l.bitblt(this,t,e,r,n,i,o,a),this},l.adjustGamma=function(t){if(t.gamma){for(var e=0;e<t.height;e++)for(var r=0;r<t.width;r++)for(var n=t.width*e+r<<2,i=0;i<3;i++){var o=t.data[n+i]/255;o=Math.pow(o,1/2.2/t.gamma),t.data[n+i]=Math.round(255*o)}t.gamma=0}},l.prototype.adjustGamma=function(){l.adjustGamma(this)}}).call(this,t("_process"),t("buffer").Buffer)},{"./packer-async":126,"./parser-async":130,"./png-sync":133,_process:136,buffer:71,stream:187,util:196}],135:[function(t,e,r){"use strict";var n=e.exports=function(t){this._buffer=t,this._reads=[]};n.prototype.read=function(t,e){this._reads.push({length:Math.abs(t),allowLess:t<0,func:e})},n.prototype.process=function(){for(;this._reads.length>0&&this._buffer.length;){var t=this._reads[0];if(!this._buffer.length||!(this._buffer.length>=t.length||t.allowLess))break;this._reads.shift();var e=this._buffer;this._buffer=e.slice(t.length),t.func.call(this,e.slice(0,t.length))}return this._reads.length>0?new Error("There are some read requests waitng on finished stream"):this._buffer.length>0?new Error("unrecognised content at end of stream"):void 0}},{}],136:[function(t,e,r){var n,i,o=e.exports={};function a(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function u(t){if(n===setTimeout)return setTimeout(t,0);if((n===a||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:a}catch(t){n=a}try{i="function"==typeof clearTimeout?clearTimeout:s}catch(t){i=s}}();var l,c=[],h=!1,p=-1;function f(){h&&l&&(h=!1,l.length?c=l.concat(c):p=-1,c.length&&d())}function d(){if(!h){var t=u(f);h=!0;for(var e=c.length;e;){for(l=c,c=[];++p<e;)l&&l[p].run();p=-1,e=c.length}l=null,h=!1,function(t){if(i===clearTimeout)return clearTimeout(t);if((i===s||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(t);try{i(t)}catch(e){try{return i.call(null,t)}catch(e){return i.call(this,t)}}}(t)}}function m(t,e){this.fun=t,this.array=e}function g(){}o.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];c.push(new m(t,e)),1!==c.length||h||u(d)},m.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=g,o.addListener=g,o.once=g,o.off=g,o.removeListener=g,o.removeAllListeners=g,o.emit=g,o.prependListener=g,o.prependOnceListener=g,o.listeners=function(t){return[]},o.binding=function(t){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(t){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},{}],137:[function(t,e,r){var n=t("./can-promise"),i=t("./core/qrcode"),o=t("./renderer/canvas"),a=t("./renderer/svg-tag.js");function s(t,e,r,o,a){var s=[].slice.call(arguments,1),u=s.length,l="function"==typeof s[u-1];if(!l&&!n())throw new Error("Callback required as last argument");if(!l){if(u<1)throw new Error("Too few arguments provided");return 1===u?(r=e,e=o=void 0):2!==u||e.getContext||(o=r,r=e,e=void 0),new Promise(function(n,a){try{var s=i.create(r,o);n(t(s,e,o))}catch(t){a(t)}})}if(u<2)throw new Error("Too few arguments provided");2===u?(a=r,r=e,e=o=void 0):3===u&&(e.getContext&&void 0===a?(a=o,o=void 0):(a=o,o=r,r=e,e=void 0));try{var c=i.create(r,o);a(null,t(c,e,o))}catch(t){a(t)}}r.create=i.create,r.toCanvas=s.bind(null,o.render),r.toDataURL=s.bind(null,o.renderToDataURL),r.toString=s.bind(null,function(t,e,r){return a.render(t,r)})},{"./can-promise":138,"./core/qrcode":154,"./renderer/canvas":161,"./renderer/svg-tag.js":162}],138:[function(t,e,r){e.exports=function(){return"function"==typeof Promise&&Promise.prototype&&Promise.prototype.then}},{}],139:[function(t,e,r){var n=t("./utils").getSymbolSize;r.getRowColCoords=function(t){if(1===t)return[];for(var e=Math.floor(t/7)+2,r=n(t),i=145===r?26:2*Math.ceil((r-13)/(2*e-2)),o=[r-7],a=1;a<e-1;a++)o[a]=o[a-1]-i;return o.push(6),o.reverse()},r.getPositions=function(t){for(var e=[],n=r.getRowColCoords(t),i=n.length,o=0;o<i;o++)for(var a=0;a<i;a++)0===o&&0===a||0===o&&a===i-1||o===i-1&&0===a||e.push([n[o],n[a]]);return e}},{"./utils":158}],140:[function(t,e,r){var n=t("./mode"),i=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function o(t){this.mode=n.ALPHANUMERIC,this.data=t}o.getBitsLength=function(t){return 11*Math.floor(t/2)+t%2*6},o.prototype.getLength=function(){return this.data.length},o.prototype.getBitsLength=function(){return o.getBitsLength(this.data.length)},o.prototype.write=function(t){var e;for(e=0;e+2<=this.data.length;e+=2){var r=45*i.indexOf(this.data[e]);r+=i.indexOf(this.data[e+1]),t.put(r,11)}this.data.length%2&&t.put(i.indexOf(this.data[e]),6)},e.exports=o},{"./mode":151}],141:[function(t,e,r){function n(){this.buffer=[],this.length=0}n.prototype={get:function(t){var e=Math.floor(t/8);return 1==(this.buffer[e]>>>7-t%8&1)},put:function(t,e){for(var r=0;r<e;r++)this.putBit(1==(t>>>e-r-1&1))},getLengthInBits:function(){return this.length},putBit:function(t){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}},e.exports=n},{}],142:[function(t,e,r){var n=t("../utils/buffer");function i(t){if(!t||t<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=t,this.data=new n(t*t),this.data.fill(0),this.reservedBit=new n(t*t),this.reservedBit.fill(0)}i.prototype.set=function(t,e,r,n){var i=t*this.size+e;this.data[i]=r,n&&(this.reservedBit[i]=!0)},i.prototype.get=function(t,e){return this.data[t*this.size+e]},i.prototype.xor=function(t,e,r){this.data[t*this.size+e]^=r},i.prototype.isReserved=function(t,e){return this.reservedBit[t*this.size+e]},e.exports=i},{"../utils/buffer":164}],143:[function(t,e,r){var n=t("../utils/buffer"),i=t("./mode");function o(t){this.mode=i.BYTE,this.data=new n(t)}o.getBitsLength=function(t){return 8*t},o.prototype.getLength=function(){return this.data.length},o.prototype.getBitsLength=function(){return o.getBitsLength(this.data.length)},o.prototype.write=function(t){for(var e=0,r=this.data.length;e<r;e++)t.put(this.data[e],8)},e.exports=o},{"../utils/buffer":164,"./mode":151}],144:[function(t,e,r){var n=t("./error-correction-level"),i=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],o=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];r.getBlocksCount=function(t,e){switch(e){case n.L:return i[4*(t-1)+0];case n.M:return i[4*(t-1)+1];case n.Q:return i[4*(t-1)+2];case n.H:return i[4*(t-1)+3];default:return}},r.getTotalCodewordsCount=function(t,e){switch(e){case n.L:return o[4*(t-1)+0];case n.M:return o[4*(t-1)+1];case n.Q:return o[4*(t-1)+2];case n.H:return o[4*(t-1)+3];default:return}}},{"./error-correction-level":145}],145:[function(t,e,r){r.L={bit:1},r.M={bit:0},r.Q={bit:3},r.H={bit:2},r.isValid=function(t){return t&&void 0!==t.bit&&t.bit>=0&&t.bit<4},r.from=function(t,e){if(r.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"l":case"low":return r.L;case"m":case"medium":return r.M;case"q":case"quartile":return r.Q;case"h":case"high":return r.H;default:throw new Error("Unknown EC Level: "+t)}}(t)}catch(t){return e}}},{}],146:[function(t,e,r){var n=t("./utils").getSymbolSize;r.getPositions=function(t){var e=n(t);return[[0,0],[e-7,0],[0,e-7]]}},{"./utils":158}],147:[function(t,e,r){var n=t("./utils"),i=n.getBCHDigit(1335);r.getEncodedBits=function(t,e){for(var r=t.bit<<3|e,o=r<<10;n.getBCHDigit(o)-i>=0;)o^=1335<<n.getBCHDigit(o)-i;return 21522^(r<<10|o)}},{"./utils":158}],148:[function(t,e,r){var n=t("../utils/buffer");if(n.alloc)var i=n.alloc(512),o=n.alloc(256);else i=new n(512),o=new n(256);!function(){for(var t=1,e=0;e<255;e++)i[e]=t,o[t]=e,256&(t<<=1)&&(t^=285);for(e=255;e<512;e++)i[e]=i[e-255]}(),r.log=function(t){if(t<1)throw new Error("log("+t+")");return o[t]},r.exp=function(t){return i[t]},r.mul=function(t,e){return 0===t||0===e?0:i[o[t]+o[e]]}},{"../utils/buffer":164}],149:[function(t,e,r){var n=t("./mode"),i=t("./utils");function o(t){this.mode=n.KANJI,this.data=t}o.getBitsLength=function(t){return 13*t},o.prototype.getLength=function(){return this.data.length},o.prototype.getBitsLength=function(){return o.getBitsLength(this.data.length)},o.prototype.write=function(t){var e;for(e=0;e<this.data.length;e++){var r=i.toSJIS(this.data[e]);if(r>=33088&&r<=40956)r-=33088;else{if(!(r>=57408&&r<=60351))throw new Error("Invalid SJIS character: "+this.data[e]+"\nMake sure your charset is UTF-8");r-=49472}r=192*(r>>>8&255)+(255&r),t.put(r,13)}},e.exports=o},{"./mode":151,"./utils":158}],150:[function(t,e,r){r.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var n=3,i=3,o=40,a=10;function s(t,e,n){switch(t){case r.Patterns.PATTERN000:return(e+n)%2==0;case r.Patterns.PATTERN001:return e%2==0;case r.Patterns.PATTERN010:return n%3==0;case r.Patterns.PATTERN011:return(e+n)%3==0;case r.Patterns.PATTERN100:return(Math.floor(e/2)+Math.floor(n/3))%2==0;case r.Patterns.PATTERN101:return e*n%2+e*n%3==0;case r.Patterns.PATTERN110:return(e*n%2+e*n%3)%2==0;case r.Patterns.PATTERN111:return(e*n%3+(e+n)%2)%2==0;default:throw new Error("bad maskPattern:"+t)}}r.isValid=function(t){return null!=t&&""!==t&&!isNaN(t)&&t>=0&&t<=7},r.from=function(t){return r.isValid(t)?parseInt(t,10):void 0},r.getPenaltyN1=function(t){for(var e=t.size,r=0,i=0,o=0,a=null,s=null,u=0;u<e;u++){i=o=0,a=s=null;for(var l=0;l<e;l++){var c=t.get(u,l);c===a?i++:(i>=5&&(r+=n+(i-5)),a=c,i=1),(c=t.get(l,u))===s?o++:(o>=5&&(r+=n+(o-5)),s=c,o=1)}i>=5&&(r+=n+(i-5)),o>=5&&(r+=n+(o-5))}return r},r.getPenaltyN2=function(t){for(var e=t.size,r=0,n=0;n<e-1;n++)for(var o=0;o<e-1;o++){var a=t.get(n,o)+t.get(n,o+1)+t.get(n+1,o)+t.get(n+1,o+1);4!==a&&0!==a||r++}return r*i},r.getPenaltyN3=function(t){for(var e=t.size,r=0,n=0,i=0,a=0;a<e;a++){n=i=0;for(var s=0;s<e;s++)n=n<<1&2047|t.get(a,s),s>=10&&(1488===n||93===n)&&r++,i=i<<1&2047|t.get(s,a),s>=10&&(1488===i||93===i)&&r++}return r*o},r.getPenaltyN4=function(t){for(var e=0,r=t.data.length,n=0;n<r;n++)e+=t.data[n];return Math.abs(Math.ceil(100*e/r/5)-10)*a},r.applyMask=function(t,e){for(var r=e.size,n=0;n<r;n++)for(var i=0;i<r;i++)e.isReserved(i,n)||e.xor(i,n,s(t,i,n))},r.getBestMask=function(t,e){for(var n=Object.keys(r.Patterns).length,i=0,o=1/0,a=0;a<n;a++){e(a),r.applyMask(a,t);var s=r.getPenaltyN1(t)+r.getPenaltyN2(t)+r.getPenaltyN3(t)+r.getPenaltyN4(t);r.applyMask(a,t),s<o&&(o=s,i=a)}return i}},{}],151:[function(t,e,r){var n=t("./version-check"),i=t("./regex");r.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},r.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},r.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},r.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},r.MIXED={bit:-1},r.getCharCountIndicator=function(t,e){if(!t.ccBits)throw new Error("Invalid mode: "+t);if(!n.isValid(e))throw new Error("Invalid version: "+e);return e>=1&&e<10?t.ccBits[0]:e<27?t.ccBits[1]:t.ccBits[2]},r.getBestModeForData=function(t){return i.testNumeric(t)?r.NUMERIC:i.testAlphanumeric(t)?r.ALPHANUMERIC:i.testKanji(t)?r.KANJI:r.BYTE},r.toString=function(t){if(t&&t.id)return t.id;throw new Error("Invalid mode")},r.isValid=function(t){return t&&t.bit&&t.ccBits},r.from=function(t,e){if(r.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"numeric":return r.NUMERIC;case"alphanumeric":return r.ALPHANUMERIC;case"kanji":return r.KANJI;case"byte":return r.BYTE;default:throw new Error("Unknown mode: "+t)}}(t)}catch(t){return e}}},{"./regex":156,"./version-check":159}],152:[function(t,e,r){var n=t("./mode");function i(t){this.mode=n.NUMERIC,this.data=t.toString()}i.getBitsLength=function(t){return 10*Math.floor(t/3)+(t%3?t%3*3+1:0)},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(t){var e,r,n;for(e=0;e+3<=this.data.length;e+=3)r=this.data.substr(e,3),n=parseInt(r,10),t.put(n,10);var i=this.data.length-e;i>0&&(r=this.data.substr(e),n=parseInt(r,10),t.put(n,3*i+1))},e.exports=i},{"./mode":151}],153:[function(t,e,r){var n=t("../utils/buffer"),i=t("./galois-field");r.mul=function(t,e){var r=new n(t.length+e.length-1);r.fill(0);for(var o=0;o<t.length;o++)for(var a=0;a<e.length;a++)r[o+a]^=i.mul(t[o],e[a]);return r},r.mod=function(t,e){for(var r=new n(t);r.length-e.length>=0;){for(var o=r[0],a=0;a<e.length;a++)r[a]^=i.mul(e[a],o);for(var s=0;s<r.length&&0===r[s];)s++;r=r.slice(s)}return r},r.generateECPolynomial=function(t){for(var e=new n([1]),o=0;o<t;o++)e=r.mul(e,[1,i.exp(o)]);return e}},{"../utils/buffer":164,"./galois-field":148}],154:[function(t,e,r){var n=t("../utils/buffer"),i=t("./utils"),o=t("./error-correction-level"),a=t("./bit-buffer"),s=t("./bit-matrix"),u=t("./alignment-pattern"),l=t("./finder-pattern"),c=t("./mask-pattern"),h=t("./error-correction-code"),p=t("./reed-solomon-encoder"),f=t("./version"),d=t("./format-info"),m=t("./mode"),g=t("./segments"),v=t("isarray");function _(t,e,r){var n,i,o=t.size,a=d.getEncodedBits(e,r);for(n=0;n<15;n++)i=1==(a>>n&1),n<6?t.set(n,8,i,!0):n<8?t.set(n+1,8,i,!0):t.set(o-15+n,8,i,!0),n<8?t.set(8,o-n-1,i,!0):n<9?t.set(8,15-n-1+1,i,!0):t.set(8,15-n-1,i,!0);t.set(o-8,8,1,!0)}function y(t,e,r){var o=new a;r.forEach(function(e){o.put(e.mode.bit,4),o.put(e.getLength(),m.getCharCountIndicator(e.mode,t)),e.write(o)});var s=8*(i.getSymbolTotalCodewords(t)-h.getTotalCodewordsCount(t,e));for(o.getLengthInBits()+4<=s&&o.put(0,4);o.getLengthInBits()%8!=0;)o.putBit(0);for(var u=(s-o.getLengthInBits())/8,l=0;l<u;l++)o.put(l%2?17:236,8);return function(t,e,r){for(var o=i.getSymbolTotalCodewords(e),a=h.getTotalCodewordsCount(e,r),s=o-a,u=h.getBlocksCount(e,r),l=u-o%u,c=Math.floor(o/u),f=Math.floor(s/u),d=f+1,m=c-f,g=new p(m),v=0,_=new Array(u),y=new Array(u),b=0,x=new n(t.buffer),w=0;w<u;w++){var k=w<l?f:d;_[w]=x.slice(v,v+k),y[w]=g.encode(_[w]),v+=k,b=Math.max(b,k)}var E,T,S=new n(o),A=0;for(E=0;E<b;E++)for(T=0;T<u;T++)E<_[T].length&&(S[A++]=_[T][E]);for(E=0;E<m;E++)for(T=0;T<u;T++)S[A++]=y[T][E];return S}(o,t,e)}function b(t,e,r,n){var o;if(v(t))o=g.fromArray(t);else{if("string"!=typeof t)throw new Error("Invalid data");var a=e;if(!a){var h=g.rawSplit(t);a=f.getBestVersionForData(h,r)}o=g.fromString(t,a||40)}var p=f.getBestVersionForData(o,r);if(!p)throw new Error("The amount of data is too big to be stored in a QR Code");if(e){if(e<p)throw new Error("\nThe chosen QR Code version cannot contain this amount of data.\nMinimum version required to store current data is: "+p+".\n")}else e=p;var d=y(e,r,o),m=i.getSymbolSize(e),b=new s(m);return function(t,e){for(var r=t.size,n=l.getPositions(e),i=0;i<n.length;i++)for(var o=n[i][0],a=n[i][1],s=-1;s<=7;s++)if(!(o+s<=-1||r<=o+s))for(var u=-1;u<=7;u++)a+u<=-1||r<=a+u||(s>=0&&s<=6&&(0===u||6===u)||u>=0&&u<=6&&(0===s||6===s)||s>=2&&s<=4&&u>=2&&u<=4?t.set(o+s,a+u,!0,!0):t.set(o+s,a+u,!1,!0))}(b,e),function(t){for(var e=t.size,r=8;r<e-8;r++){var n=r%2==0;t.set(r,6,n,!0),t.set(6,r,n,!0)}}(b),function(t,e){for(var r=u.getPositions(e),n=0;n<r.length;n++)for(var i=r[n][0],o=r[n][1],a=-2;a<=2;a++)for(var s=-2;s<=2;s++)-2===a||2===a||-2===s||2===s||0===a&&0===s?t.set(i+a,o+s,!0,!0):t.set(i+a,o+s,!1,!0)}(b,e),_(b,r,0),e>=7&&function(t,e){for(var r,n,i,o=t.size,a=f.getEncodedBits(e),s=0;s<18;s++)r=Math.floor(s/3),n=s%3+o-8-3,i=1==(a>>s&1),t.set(r,n,i,!0),t.set(n,r,i,!0)}(b,e),function(t,e){for(var r=t.size,n=-1,i=r-1,o=7,a=0,s=r-1;s>0;s-=2)for(6===s&&s--;;){for(var u=0;u<2;u++)if(!t.isReserved(i,s-u)){var l=!1;a<e.length&&(l=1==(e[a]>>>o&1)),t.set(i,s-u,l),-1==--o&&(a++,o=7)}if((i+=n)<0||r<=i){i-=n,n=-n;break}}}(b,d),isNaN(n)&&(n=c.getBestMask(b,_.bind(null,b,r))),c.applyMask(n,b),_(b,r,n),{modules:b,version:e,errorCorrectionLevel:r,maskPattern:n,segments:o}}r.create=function(t,e){if(void 0===t||""===t)throw new Error("No input text");var r,n,a=o.M;return void 0!==e&&(a=o.from(e.errorCorrectionLevel,o.M),r=f.from(e.version),n=c.from(e.maskPattern),e.toSJISFunc&&i.setToSJISFunction(e.toSJISFunc)),b(t,r,a,n)}},{"../utils/buffer":164,"./alignment-pattern":139,"./bit-buffer":141,"./bit-matrix":142,"./error-correction-code":144,"./error-correction-level":145,"./finder-pattern":146,"./format-info":147,"./mask-pattern":150,"./mode":151,"./reed-solomon-encoder":155,"./segments":157,"./utils":158,"./version":160,isarray:165}],155:[function(t,e,r){var n=t("../utils/buffer"),i=t("./polynomial");function o(t){this.genPoly=void 0,this.degree=t,this.degree&&this.initialize(this.degree)}o.prototype.initialize=function(t){this.degree=t,this.genPoly=i.generateECPolynomial(this.degree)},o.prototype.encode=function(t){if(!this.genPoly)throw new Error("Encoder not initialized");var e=new n(this.degree);e.fill(0);var r=n.concat([t,e],t.length+this.degree),o=i.mod(r,this.genPoly),a=this.degree-o.length;if(a>0){var s=new n(this.degree);return s.fill(0),o.copy(s,a),s}return o},e.exports=o},{"../utils/buffer":164,"./polynomial":153}],156:[function(t,e,r){var n="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+",i="(?:(?![A-Z0-9 $%*+\\-./:]|"+(n=n.replace(/u/g,"\\u"))+")(?:.|[\r\n]))+";r.KANJI=new RegExp(n,"g"),r.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),r.BYTE=new RegExp(i,"g"),r.NUMERIC=new RegExp("[0-9]+","g"),r.ALPHANUMERIC=new RegExp("[A-Z $%*+\\-./:]+","g");var o=new RegExp("^"+n+"$"),a=new RegExp("^[0-9]+$"),s=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");r.testKanji=function(t){return o.test(t)},r.testNumeric=function(t){return a.test(t)},r.testAlphanumeric=function(t){return s.test(t)}},{}],157:[function(t,e,r){var n=t("./mode"),i=t("./numeric-data"),o=t("./alphanumeric-data"),a=t("./byte-data"),s=t("./kanji-data"),u=t("./regex"),l=t("./utils"),c=t("dijkstrajs");function h(t){return unescape(encodeURIComponent(t)).length}function p(t,e,r){for(var n,i=[];null!==(n=t.exec(r));)i.push({data:n[0],index:n.index,mode:e,length:n[0].length});return i}function f(t){var e,r,i=p(u.NUMERIC,n.NUMERIC,t),o=p(u.ALPHANUMERIC,n.ALPHANUMERIC,t);return l.isKanjiModeEnabled()?(e=p(u.BYTE,n.BYTE,t),r=p(u.KANJI,n.KANJI,t)):(e=p(u.BYTE_KANJI,n.BYTE,t),r=[]),i.concat(o,e,r).sort(function(t,e){return t.index-e.index}).map(function(t){return{data:t.data,mode:t.mode,length:t.length}})}function d(t,e){switch(e){case n.NUMERIC:return i.getBitsLength(t);case n.ALPHANUMERIC:return o.getBitsLength(t);case n.KANJI:return s.getBitsLength(t);case n.BYTE:return a.getBitsLength(t)}}function m(t,e){var r,u=n.getBestModeForData(t);if((r=n.from(e,u))!==n.BYTE&&r.bit<u.bit)throw new Error('"'+t+'" cannot be encoded with mode '+n.toString(r)+".\n Suggested mode is: "+n.toString(u));switch(r!==n.KANJI||l.isKanjiModeEnabled()||(r=n.BYTE),r){case n.NUMERIC:return new i(t);case n.ALPHANUMERIC:return new o(t);case n.KANJI:return new s(t);case n.BYTE:return new a(t)}}r.fromArray=function(t){return t.reduce(function(t,e){return"string"==typeof e?t.push(m(e,null)):e.data&&t.push(m(e.data,e.mode)),t},[])},r.fromString=function(t,e){for(var i=function(t,e){for(var r={},i={start:{}},o=["start"],a=0;a<t.length;a++){for(var s=t[a],u=[],l=0;l<s.length;l++){var c=s[l],h=""+a+l;u.push(h),r[h]={node:c,lastCount:0},i[h]={};for(var p=0;p<o.length;p++){var f=o[p];r[f]&&r[f].node.mode===c.mode?(i[f][h]=d(r[f].lastCount+c.length,c.mode)-d(r[f].lastCount,c.mode),r[f].lastCount+=c.length):(r[f]&&(r[f].lastCount=c.length),i[f][h]=d(c.length,c.mode)+4+n.getCharCountIndicator(c.mode,e))}}o=u}for(p=0;p<o.length;p++)i[o[p]].end=0;return{map:i,table:r}}(function(t){for(var e=[],r=0;r<t.length;r++){var i=t[r];switch(i.mode){case n.NUMERIC:e.push([i,{data:i.data,mode:n.ALPHANUMERIC,length:i.length},{data:i.data,mode:n.BYTE,length:i.length}]);break;case n.ALPHANUMERIC:e.push([i,{data:i.data,mode:n.BYTE,length:i.length}]);break;case n.KANJI:e.push([i,{data:i.data,mode:n.BYTE,length:h(i.data)}]);break;case n.BYTE:e.push([{data:i.data,mode:n.BYTE,length:h(i.data)}])}}return e}(f(t,l.isKanjiModeEnabled())),e),o=c.find_path(i.map,"start","end"),a=[],s=1;s<o.length-1;s++)a.push(i.table[o[s]].node);return r.fromArray(function(t){return t.reduce(function(t,e){var r=t.length-1>=0?t[t.length-1]:null;return r&&r.mode===e.mode?(t[t.length-1].data+=e.data,t):(t.push(e),t)},[])}(a))},r.rawSplit=function(t){return r.fromArray(f(t,l.isKanjiModeEnabled()))}},{"./alphanumeric-data":140,"./byte-data":143,"./kanji-data":149,"./mode":151,"./numeric-data":152,"./regex":156,"./utils":158,dijkstrajs:17}],158:[function(t,e,r){var n,i=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];r.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return 4*t+17},r.getSymbolTotalCodewords=function(t){return i[t]},r.getBCHDigit=function(t){for(var e=0;0!==t;)e++,t>>>=1;return e},r.setToSJISFunction=function(t){if("function"!=typeof t)throw new Error('"toSJISFunc" is not a valid function.');n=t},r.isKanjiModeEnabled=function(){return void 0!==n},r.toSJIS=function(t){return n(t)}},{}],159:[function(t,e,r){r.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}},{}],160:[function(t,e,r){var n=t("./utils"),i=t("./error-correction-code"),o=t("./error-correction-level"),a=t("./mode"),s=t("./version-check"),u=t("isarray"),l=n.getBCHDigit(7973);function c(t,e){return a.getCharCountIndicator(t,e)+4}function h(t,e){var r=0;return t.forEach(function(t){var n=c(t.mode,e);r+=n+t.getBitsLength()}),r}r.from=function(t,e){return s.isValid(t)?parseInt(t,10):e},r.getCapacity=function(t,e,r){if(!s.isValid(t))throw new Error("Invalid QR Code version");void 0===r&&(r=a.BYTE);var o=8*(n.getSymbolTotalCodewords(t)-i.getTotalCodewordsCount(t,e));if(r===a.MIXED)return o;var u=o-c(r,t);switch(r){case a.NUMERIC:return Math.floor(u/10*3);case a.ALPHANUMERIC:return Math.floor(u/11*2);case a.KANJI:return Math.floor(u/13);case a.BYTE:default:return Math.floor(u/8)}},r.getBestVersionForData=function(t,e){var n,i=o.from(e,o.M);if(u(t)){if(t.length>1)return function(t,e){for(var n=1;n<=40;n++)if(h(t,n)<=r.getCapacity(n,e,a.MIXED))return n}(t,i);if(0===t.length)return 1;n=t[0]}else n=t;return function(t,e,n){for(var i=1;i<=40;i++)if(e<=r.getCapacity(i,n,t))return i}(n.mode,n.getLength(),i)},r.getEncodedBits=function(t){if(!s.isValid(t)||t<7)throw new Error("Invalid QR Code version");for(var e=t<<12;n.getBCHDigit(e)-l>=0;)e^=7973<<n.getBCHDigit(e)-l;return t<<12|e}},{"./error-correction-code":144,"./error-correction-level":145,"./mode":151,"./utils":158,"./version-check":159,isarray:165}],161:[function(t,e,r){var n=t("./utils");r.render=function(t,e,r){var i=r,o=e;void 0!==i||e&&e.getContext||(i=e,e=void 0),e||(o=function(){try{return document.createElement("canvas")}catch(t){throw new Error("You need to specify a canvas element")}}()),i=n.getOptions(i);var a=n.getImageWidth(t.modules.size,i),s=o.getContext("2d"),u=s.createImageData(a,a);return n.qrToImageData(u.data,t,i),function(t,e,r){t.clearRect(0,0,e.width,e.height),e.style||(e.style={}),e.height=r,e.width=r,e.style.height=r+"px",e.style.width=r+"px"}(s,o,a),s.putImageData(u,0,0),o},r.renderToDataURL=function(t,e,n){var i=n;void 0!==i||e&&e.getContext||(i=e,e=void 0),i||(i={});var o=r.render(t,e,i),a=i.type||"image/png",s=i.rendererOpts||{};return o.toDataURL(a,s.quality)}},{"./utils":163}],162:[function(t,e,r){var n=t("./utils");function i(t,e){var r=t.a/255,n=e+'="'+t.hex+'"';return r<1?n+" "+e+'-opacity="'+r.toFixed(2).slice(1)+'"':n}function o(t,e,r){var n=t+e;return void 0!==r&&(n+=" "+r),n}r.render=function(t,e,r){var a=n.getOptions(e),s=t.modules.size,u=t.modules.data,l=s+2*a.margin,c=a.color.light.a?"<path "+i(a.color.light,"fill")+' d="M0 0h'+l+"v"+l+'H0z"/>':"",h="<path "+i(a.color.dark,"stroke")+' d="'+function(t,e,r){for(var n="",i=0,a=!1,s=0,u=0;u<t.length;u++){var l=Math.floor(u%e),c=Math.floor(u/e);l||a||(a=!0),t[u]?(s++,u>0&&l>0&&t[u-1]||(n+=a?o("M",l+r,.5+c+r):o("m",i,0),i=0,a=!1),l+1<e&&t[u+1]||(n+=o("h",s),s=0)):i++}return n}(u,s,a.margin)+'"/>',p='viewBox="0 0 '+l+" "+l+'"',f='<svg xmlns="http://www.w3.org/2000/svg" '+(a.width?'width="'+a.width+'" height="'+a.width+'" ':"")+p+' shape-rendering="crispEdges">'+c+h+"</svg>\n";return"function"==typeof r&&r(null,f),f}},{"./utils":163}],163:[function(t,e,r){function n(t){if("string"!=typeof t)throw new Error("Color should be defined as hex string");var e=t.slice().replace("#","").split("");if(e.length<3||5===e.length||e.length>8)throw new Error("Invalid hex color: "+t);3!==e.length&&4!==e.length||(e=Array.prototype.concat.apply([],e.map(function(t){return[t,t]}))),6===e.length&&e.push("F","F");var r=parseInt(e.join(""),16);return{r:r>>24&255,g:r>>16&255,b:r>>8&255,a:255&r,hex:"#"+e.slice(0,6).join("")}}r.getOptions=function(t){t||(t={}),t.color||(t.color={});var e=void 0===t.margin||null===t.margin||t.margin<0?4:t.margin,r=t.width&&t.width>=21?t.width:void 0,i=t.scale||4;return{width:r,scale:r?4:i,margin:e,color:{dark:n(t.color.dark||"#000000ff"),light:n(t.color.light||"#ffffffff")},type:t.type,rendererOpts:t.rendererOpts||{}}},r.getScale=function(t,e){return e.width&&e.width>=t+2*e.margin?e.width/(t+2*e.margin):e.scale},r.getImageWidth=function(t,e){var n=r.getScale(t,e);return Math.floor((t+2*e.margin)*n)},r.qrToImageData=function(t,e,n){for(var i=e.modules.size,o=e.modules.data,a=r.getScale(i,n),s=Math.floor((i+2*n.margin)*a),u=n.margin*a,l=[n.color.light,n.color.dark],c=0;c<s;c++)for(var h=0;h<s;h++){var p=4*(c*s+h),f=n.color.light;if(c>=u&&h>=u&&c<s-u&&h<s-u)f=l[o[Math.floor((c-u)/a)*i+Math.floor((h-u)/a)]?1:0];t[p++]=f.r,t[p++]=f.g,t[p++]=f.b,t[p]=f.a}}},{}],164:[function(t,e,r){"use strict";var n=t("isarray");o.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()}catch(t){return!1}}();var i=o.TYPED_ARRAY_SUPPORT?2147483647:1073741823;function o(t,e,r){return o.TYPED_ARRAY_SUPPORT||this instanceof o?"number"==typeof t?u(this,t):function(t,e,r,n){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer)return function(t,e,r,n){if(r<0||e.byteLength<r)throw new RangeError("'offset' is out of bounds");if(e.byteLength<r+(n||0))throw new RangeError("'length' is out of bounds");var i;i=void 0===r&&void 0===n?new Uint8Array(e):void 0===n?new Uint8Array(e,r):new Uint8Array(e,r,n);o.TYPED_ARRAY_SUPPORT?i.__proto__=o.prototype:i=l(t,i);return i}(t,e,r,n);if("string"==typeof e)return function(t,e){var r=0|h(e),n=s(t,r),i=n.write(e);i!==r&&(n=n.slice(0,i));return n}(t,e);return function(t,e){if(o.isBuffer(e)){var r=0|a(e.length),n=s(t,r);return 0===n.length?n:(e.copy(n,0,0,r),n)}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||(i=e.length)!=i?s(t,0):l(t,e);if("Buffer"===e.type&&Array.isArray(e.data))return l(t,e.data)}var i;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(t,e)}(this,t,e,r):new o(t,e,r)}function a(t){if(t>=i)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i.toString(16)+" bytes");return 0|t}function s(t,e){var r;return o.TYPED_ARRAY_SUPPORT?(r=new Uint8Array(e)).__proto__=o.prototype:(null===(r=t)&&(r=new o(e)),r.length=e),r}function u(t,e){var r=s(t,e<0?0:0|a(e));if(!o.TYPED_ARRAY_SUPPORT)for(var n=0;n<e;++n)r[n]=0;return r}function l(t,e){for(var r=e.length<0?0:0|a(e.length),n=s(t,r),i=0;i<r;i+=1)n[i]=255&e[i];return n}function c(t,e){var r;e=e||1/0;for(var n=t.length,i=null,o=[],a=0;a<n;++a){if((r=t.charCodeAt(a))>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function h(t){return o.isBuffer(t)?t.length:"undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer)?t.byteLength:("string"!=typeof t&&(t=""+t),0===t.length?0:c(t).length)}o.TYPED_ARRAY_SUPPORT&&(o.prototype.__proto__=Uint8Array.prototype,o.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&o[Symbol.species]===o&&Object.defineProperty(o,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1})),o.prototype.write=function(t,e,r){void 0===e?(r=this.length,e=0):void 0===r&&"string"==typeof e?(r=this.length,e=0):isFinite(e)&&(e|=0,isFinite(r)?r|=0:r=void 0);var n=this.length-e;if((void 0===r||r>n)&&(r=n),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");return function(t,e,r,n){return function(t,e,r,n){for(var i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}(c(e,t.length-r),t,r,n)}(this,t,e,r)},o.prototype.slice=function(t,e){var r,n=this.length;if(t=~~t,e=void 0===e?n:~~e,t<0?(t+=n)<0&&(t=0):t>n&&(t=n),e<0?(e+=n)<0&&(e=0):e>n&&(e=n),e<t&&(e=t),o.TYPED_ARRAY_SUPPORT)(r=this.subarray(t,e)).__proto__=o.prototype;else{var i=e-t;r=new o(i,void 0);for(var a=0;a<i;++a)r[a]=this[a+t]}return r},o.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);var i,a=n-r;if(this===t&&r<e&&e<n)for(i=a-1;i>=0;--i)t[i+e]=this[i+r];else if(a<1e3||!o.TYPED_ARRAY_SUPPORT)for(i=0;i<a;++i)t[i+e]=this[i+r];else Uint8Array.prototype.set.call(t,this.subarray(r,r+a),e);return a},o.prototype.fill=function(t,e,r){if("string"==typeof t){if("string"==typeof e?(e=0,r=this.length):"string"==typeof r&&(r=this.length),1===t.length){var n=t.charCodeAt(0);n<256&&(t=n)}}else"number"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<r)throw new RangeError("Out of range index");if(r<=e)return this;var i;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(i=e;i<r;++i)this[i]=t;else{var a=o.isBuffer(t)?t:new o(t),s=a.length;for(i=0;i<r-e;++i)this[i+e]=a[i%s]}return this},o.concat=function(t,e){if(!n(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return s(null,0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var i=u(null,e),a=0;for(r=0;r<t.length;++r){var l=t[r];if(!o.isBuffer(l))throw new TypeError('"list" argument must be an Array of Buffers');l.copy(i,a),a+=l.length}return i},o.byteLength=h,o.prototype._isBuffer=!0,o.isBuffer=function(t){return!(null==t||!t._isBuffer)},e.exports=o},{isarray:165}],165:[function(t,e,r){var n={}.toString;e.exports=Array.isArray||function(t){return"[object Array]"==n.call(t)}},{}],166:[function(t,e,r){e.exports=t("./lib/_stream_duplex.js")},{"./lib/_stream_duplex.js":167}],167:[function(t,e,r){"use strict";var n=t("process-nextick-args"),i=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};e.exports=h;var o=t("core-util-is");o.inherits=t("inherits");var a=t("./_stream_readable"),s=t("./_stream_writable");o.inherits(h,a);for(var u=i(s.prototype),l=0;l<u.length;l++){var c=u[l];h.prototype[c]||(h.prototype[c]=s.prototype[c])}function h(t){if(!(this instanceof h))return new h(t);a.call(this,t),s.call(this,t),t&&!1===t.readable&&(this.readable=!1),t&&!1===t.writable&&(this.writable=!1),this.allowHalfOpen=!0,t&&!1===t.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",p)}function p(){this.allowHalfOpen||this._writableState.ended||n.nextTick(f,this)}function f(t){t.end()}Object.defineProperty(h.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(h.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(t){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=t,this._writableState.destroyed=t)}}),h.prototype._destroy=function(t,e){this.push(null),this.end(),n.nextTick(e,t)}},{"./_stream_readable":169,"./_stream_writable":171,"core-util-is":12,inherits:94,"process-nextick-args":176}],168:[function(t,e,r){"use strict";e.exports=o;var n=t("./_stream_transform"),i=t("core-util-is");function o(t){if(!(this instanceof o))return new o(t);n.call(this,t)}i.inherits=t("inherits"),i.inherits(o,n),o.prototype._transform=function(t,e,r){r(null,t)}},{"./_stream_transform":170,"core-util-is":12,inherits:94}],169:[function(t,e,r){(function(r,n){"use strict";var i=t("process-nextick-args");e.exports=y;var o,a=t("isarray");y.ReadableState=_;t("events").EventEmitter;var s=function(t,e){return t.listeners(e).length},u=t("./internal/streams/stream"),l=t("safe-buffer").Buffer,c=n.Uint8Array||function(){};var h=t("core-util-is");h.inherits=t("inherits");var p=t("util"),f=void 0;f=p&&p.debuglog?p.debuglog("stream"):function(){};var d,m=t("./internal/streams/BufferList"),g=t("./internal/streams/destroy");h.inherits(y,u);var v=["error","close","destroy","pause","resume"];function _(e,r){o=o||t("./_stream_duplex"),e=e||{};var n=r instanceof o;this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var i=e.highWaterMark,a=e.readableHighWaterMark,s=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:n&&(a||0===a)?a:s,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new m,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(d||(d=t("string_decoder/").StringDecoder),this.decoder=new d(e.encoding),this.encoding=e.encoding)}function y(e){if(o=o||t("./_stream_duplex"),!(this instanceof y))return new y(e);this._readableState=new _(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),u.call(this)}function b(t,e,r,n,i){var o,a=t._readableState;null===e?(a.reading=!1,function(t,e){if(e.ended)return;if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,E(t)}(t,a)):(i||(o=function(t,e){var r;n=e,l.isBuffer(n)||n instanceof c||"string"==typeof e||void 0===e||t.objectMode||(r=new TypeError("Invalid non-string/buffer chunk"));var n;return r}(a,e)),o?t.emit("error",o):a.objectMode||e&&e.length>0?("string"==typeof e||a.objectMode||Object.getPrototypeOf(e)===l.prototype||(e=function(t){return l.from(t)}(e)),n?a.endEmitted?t.emit("error",new Error("stream.unshift() after end event")):x(t,a,e,!0):a.ended?t.emit("error",new Error("stream.push() after EOF")):(a.reading=!1,a.decoder&&!r?(e=a.decoder.write(e),a.objectMode||0!==e.length?x(t,a,e,!1):S(t,a)):x(t,a,e,!1))):n||(a.reading=!1));return function(t){return!t.ended&&(t.needReadable||t.length<t.highWaterMark||0===t.length)}(a)}function x(t,e,r,n){e.flowing&&0===e.length&&!e.sync?(t.emit("data",r),t.read(0)):(e.length+=e.objectMode?1:r.length,n?e.buffer.unshift(r):e.buffer.push(r),e.needReadable&&E(t)),S(t,e)}Object.defineProperty(y.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}}),y.prototype.destroy=g.destroy,y.prototype._undestroy=g.undestroy,y.prototype._destroy=function(t,e){this.push(null),e(t)},y.prototype.push=function(t,e){var r,n=this._readableState;return n.objectMode?r=!0:"string"==typeof t&&((e=e||n.defaultEncoding)!==n.encoding&&(t=l.from(t,e),e=""),r=!0),b(this,t,e,!1,r)},y.prototype.unshift=function(t){return b(this,t,null,!0,!1)},y.prototype.isPaused=function(){return!1===this._readableState.flowing},y.prototype.setEncoding=function(e){return d||(d=t("string_decoder/").StringDecoder),this._readableState.decoder=new d(e),this._readableState.encoding=e,this};var w=8388608;function k(t,e){return t<=0||0===e.length&&e.ended?0:e.objectMode?1:t!=t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=function(t){return t>=w?t=w:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function E(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(f("emitReadable",e.flowing),e.emittedReadable=!0,e.sync?i.nextTick(T,t):T(t))}function T(t){f("emit readable"),t.emit("readable"),B(t)}function S(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(A,t,e))}function A(t,e){for(var r=e.length;!e.reading&&!e.flowing&&!e.ended&&e.length<e.highWaterMark&&(f("maybeReadMore read 0"),t.read(0),r!==e.length);)r=e.length;e.readingMore=!1}function C(t){f("readable nexttick read 0"),t.read(0)}function R(t,e){e.reading||(f("resume read 0"),t.read(0)),e.resumeScheduled=!1,e.awaitDrain=0,t.emit("resume"),B(t),e.flowing&&!e.reading&&t.read(0)}function B(t){var e=t._readableState;for(f("flow",e.flowing);e.flowing&&null!==t.read(););}function P(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.head.data:e.buffer.concat(e.length),e.buffer.clear()):r=function(t,e,r){var n;t<e.head.data.length?(n=e.head.data.slice(0,t),e.head.data=e.head.data.slice(t)):n=t===e.head.data.length?e.shift():r?function(t,e){var r=e.head,n=1,i=r.data;t-=i.length;for(;r=r.next;){var o=r.data,a=t>o.length?o.length:t;if(a===o.length?i+=o:i+=o.slice(0,t),0===(t-=a)){a===o.length?(++n,r.next?e.head=r.next:e.head=e.tail=null):(e.head=r,r.data=o.slice(a));break}++n}return e.length-=n,i}(t,e):function(t,e){var r=l.allocUnsafe(t),n=e.head,i=1;n.data.copy(r),t-=n.data.length;for(;n=n.next;){var o=n.data,a=t>o.length?o.length:t;if(o.copy(r,r.length-t,0,a),0===(t-=a)){a===o.length?(++i,n.next?e.head=n.next:e.head=e.tail=null):(e.head=n,n.data=o.slice(a));break}++i}return e.length-=i,r}(t,e);return n}(t,e.buffer,e.decoder),r);var r}function I(t){var e=t._readableState;if(e.length>0)throw new Error('"endReadable()" called on non-empty stream');e.endEmitted||(e.ended=!0,i.nextTick(M,e,t))}function M(t,e){t.endEmitted||0!==t.length||(t.endEmitted=!0,e.readable=!1,e.emit("end"))}function D(t,e){for(var r=0,n=t.length;r<n;r++)if(t[r]===e)return r;return-1}y.prototype.read=function(t){f("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(0!==t&&(e.emittedReadable=!1),0===t&&e.needReadable&&(e.length>=e.highWaterMark||e.ended))return f("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?I(this):E(this),null;if(0===(t=k(t,e))&&e.ended)return 0===e.length&&I(this),null;var n,i=e.needReadable;return f("need readable",i),(0===e.length||e.length-t<e.highWaterMark)&&f("length less than watermark",i=!0),e.ended||e.reading?f("reading or ended",i=!1):i&&(f("do read"),e.reading=!0,e.sync=!0,0===e.length&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(t=k(r,e))),null===(n=t>0?P(t,e):null)?(e.needReadable=!0,t=0):e.length-=t,0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&I(this)),null!==n&&this.emit("data",n),n},y.prototype._read=function(t){this.emit("error",new Error("_read() is not implemented"))},y.prototype.pipe=function(t,e){var n=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=t;break;case 1:o.pipes=[o.pipes,t];break;default:o.pipes.push(t)}o.pipesCount+=1,f("pipe count=%d opts=%j",o.pipesCount,e);var u=(!e||!1!==e.end)&&t!==r.stdout&&t!==r.stderr?c:y;function l(e,r){f("onunpipe"),e===n&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,f("cleanup"),t.removeListener("close",v),t.removeListener("finish",_),t.removeListener("drain",h),t.removeListener("error",g),t.removeListener("unpipe",l),n.removeListener("end",c),n.removeListener("end",y),n.removeListener("data",m),p=!0,!o.awaitDrain||t._writableState&&!t._writableState.needDrain||h())}function c(){f("onend"),t.end()}o.endEmitted?i.nextTick(u):n.once("end",u),t.on("unpipe",l);var h=function(t){return function(){var e=t._readableState;f("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&s(t,"data")&&(e.flowing=!0,B(t))}}(n);t.on("drain",h);var p=!1;var d=!1;function m(e){f("ondata"),d=!1,!1!==t.write(e)||d||((1===o.pipesCount&&o.pipes===t||o.pipesCount>1&&-1!==D(o.pipes,t))&&!p&&(f("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,d=!0),n.pause())}function g(e){f("onerror",e),y(),t.removeListener("error",g),0===s(t,"error")&&t.emit("error",e)}function v(){t.removeListener("finish",_),y()}function _(){f("onfinish"),t.removeListener("close",v),y()}function y(){f("unpipe"),n.unpipe(t)}return n.on("data",m),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?a(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",g),t.once("close",v),t.once("finish",_),t.emit("pipe",n),o.flowing||(f("pipe resume"),n.resume()),t},y.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r),this);if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o<i;o++)n[o].emit("unpipe",this,r);return this}var a=D(e.pipes,t);return-1===a?this:(e.pipes.splice(a,1),e.pipesCount-=1,1===e.pipesCount&&(e.pipes=e.pipes[0]),t.emit("unpipe",this,r),this)},y.prototype.on=function(t,e){var r=u.prototype.on.call(this,t,e);if("data"===t)!1!==this._readableState.flowing&&this.resume();else if("readable"===t){var n=this._readableState;n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.emittedReadable=!1,n.reading?n.length&&E(this):i.nextTick(C,this))}return r},y.prototype.addListener=y.prototype.on,y.prototype.resume=function(){var t=this._readableState;return t.flowing||(f("resume"),t.flowing=!0,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(R,t,e))}(this,t)),this},y.prototype.pause=function(){return f("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(f("pause"),this._readableState.flowing=!1,this.emit("pause")),this},y.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;for(var i in t.on("end",function(){if(f("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)}),t.on("data",function(i){(f("wrapped data"),r.decoder&&(i=r.decoder.write(i)),!r.objectMode||null!==i&&void 0!==i)&&((r.objectMode||i&&i.length)&&(e.push(i)||(n=!0,t.pause())))}),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o<v.length;o++)t.on(v[o],this.emit.bind(this,v[o]));return this._read=function(e){f("wrapped _read",e),n&&(n=!1,t.resume())},this},Object.defineProperty(y.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),y._fromList=P}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./_stream_duplex":167,"./internal/streams/BufferList":172,"./internal/streams/destroy":173,"./internal/streams/stream":174,_process:136,"core-util-is":12,events:72,inherits:94,isarray:175,"process-nextick-args":176,"safe-buffer":182,"string_decoder/":177,util:4}],170:[function(t,e,r){"use strict";e.exports=o;var n=t("./_stream_duplex"),i=t("core-util-is");function o(t){if(!(this instanceof o))return new o(t);n.call(this,t),this._transformState={afterTransform:function(t,e){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(!n)return this.emit("error",new Error("write callback called multiple times"));r.writechunk=null,r.writecb=null,null!=e&&this.push(e),n(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&("function"==typeof t.transform&&(this._transform=t.transform),"function"==typeof t.flush&&(this._flush=t.flush)),this.on("prefinish",a)}function a(){var t=this;"function"==typeof this._flush?this._flush(function(e,r){s(t,e,r)}):s(this,null,null)}function s(t,e,r){if(e)return t.emit("error",e);if(null!=r&&t.push(r),t._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(t._transformState.transforming)throw new Error("Calling transform done when still transforming");return t.push(null)}i.inherits=t("inherits"),i.inherits(o,n),o.prototype.push=function(t,e){return this._transformState.needTransform=!1,n.prototype.push.call(this,t,e)},o.prototype._transform=function(t,e,r){throw new Error("_transform() is not implemented")},o.prototype._write=function(t,e,r){var n=this._transformState;if(n.writecb=r,n.writechunk=t,n.writeencoding=e,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},o.prototype._read=function(t){var e=this._transformState;null!==e.writechunk&&e.writecb&&!e.transforming?(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform)):e.needTransform=!0},o.prototype._destroy=function(t,e){var r=this;n.prototype._destroy.call(this,t,function(t){e(t),r.emit("close")})}},{"./_stream_duplex":167,"core-util-is":12,inherits:94}],171:[function(t,e,r){(function(r,n,i){"use strict";var o=t("process-nextick-args");function a(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e,r){var n=t.entry;t.entry=null;for(;n;){var i=n.callback;e.pendingcb--,i(r),n=n.next}e.corkedRequestsFree?e.corkedRequestsFree.next=t:e.corkedRequestsFree=t}(e,t)}}e.exports=_;var s,u=!r.browser&&["v0.10","v0.9."].indexOf(r.version.slice(0,5))>-1?i:o.nextTick;_.WritableState=v;var l=t("core-util-is");l.inherits=t("inherits");var c={deprecate:t("util-deprecate")},h=t("./internal/streams/stream"),p=t("safe-buffer").Buffer,f=n.Uint8Array||function(){};var d,m=t("./internal/streams/destroy");function g(){}function v(e,r){s=s||t("./_stream_duplex"),e=e||{};var n=r instanceof s;this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var i=e.highWaterMark,l=e.writableHighWaterMark,c=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:n&&(l||0===l)?l:c,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var h=!1===e.decodeStrings;this.decodeStrings=!h,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var r=t._writableState,n=r.sync,i=r.writecb;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(r),e)!function(t,e,r,n,i){--e.pendingcb,r?(o.nextTick(i,n),o.nextTick(E,t,e),t._writableState.errorEmitted=!0,t.emit("error",n)):(i(n),t._writableState.errorEmitted=!0,t.emit("error",n),E(t,e))}(t,r,n,e,i);else{var a=w(r);a||r.corked||r.bufferProcessing||!r.bufferedRequest||x(t,r),n?u(b,t,r,a,i):b(t,r,a,i)}}(r,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new a(this)}function _(e){if(s=s||t("./_stream_duplex"),!(d.call(_,this)||this instanceof s))return new _(e);this._writableState=new v(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),h.call(this)}function y(t,e,r,n,i,o,a){e.writelen=n,e.writecb=a,e.writing=!0,e.sync=!0,r?t._writev(i,e.onwrite):t._write(i,o,e.onwrite),e.sync=!1}function b(t,e,r,n){r||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,n(),E(t,e)}function x(t,e){e.bufferProcessing=!0;var r=e.bufferedRequest;if(t._writev&&r&&r.next){var n=e.bufferedRequestCount,i=new Array(n),o=e.corkedRequestsFree;o.entry=r;for(var s=0,u=!0;r;)i[s]=r,r.isBuf||(u=!1),r=r.next,s+=1;i.allBuffers=u,y(t,e,!0,e.length,i,"",o.finish),e.pendingcb++,e.lastBufferedRequest=null,o.next?(e.corkedRequestsFree=o.next,o.next=null):e.corkedRequestsFree=new a(e),e.bufferedRequestCount=0}else{for(;r;){var l=r.chunk,c=r.encoding,h=r.callback;if(y(t,e,!1,e.objectMode?1:l.length,l,c,h),r=r.next,e.bufferedRequestCount--,e.writing)break}null===r&&(e.lastBufferedRequest=null)}e.bufferedRequest=r,e.bufferProcessing=!1}function w(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function k(t,e){t._final(function(r){e.pendingcb--,r&&t.emit("error",r),e.prefinished=!0,t.emit("prefinish"),E(t,e)})}function E(t,e){var r=w(e);return r&&(!function(t,e){e.prefinished||e.finalCalled||("function"==typeof t._final?(e.pendingcb++,e.finalCalled=!0,o.nextTick(k,t,e)):(e.prefinished=!0,t.emit("prefinish")))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"))),r}l.inherits(_,h),v.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(v.prototype,"buffer",{get:c.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(d=Function.prototype[Symbol.hasInstance],Object.defineProperty(_,Symbol.hasInstance,{value:function(t){return!!d.call(this,t)||this===_&&(t&&t._writableState instanceof v)}})):d=function(t){return t instanceof this},_.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},_.prototype.write=function(t,e,r){var n,i=this._writableState,a=!1,s=!i.objectMode&&(n=t,p.isBuffer(n)||n instanceof f);return s&&!p.isBuffer(t)&&(t=function(t){return p.from(t)}(t)),"function"==typeof e&&(r=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),"function"!=typeof r&&(r=g),i.ended?function(t,e){var r=new Error("write after end");t.emit("error",r),o.nextTick(e,r)}(this,r):(s||function(t,e,r,n){var i=!0,a=!1;return null===r?a=new TypeError("May not write null values to stream"):"string"==typeof r||void 0===r||e.objectMode||(a=new TypeError("Invalid non-string/buffer chunk")),a&&(t.emit("error",a),o.nextTick(n,a),i=!1),i}(this,i,t,r))&&(i.pendingcb++,a=function(t,e,r,n,i,o){if(!r){var a=function(t,e,r){t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=p.from(e,r));return e}(e,n,i);n!==a&&(r=!0,i="buffer",n=a)}var s=e.objectMode?1:n.length;e.length+=s;var u=e.length<e.highWaterMark;u||(e.needDrain=!0);if(e.writing||e.corked){var l=e.lastBufferedRequest;e.lastBufferedRequest={chunk:n,encoding:i,isBuf:r,callback:o,next:null},l?l.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else y(t,e,!1,s,n,i,o);return u}(this,i,s,t,e,r)),a},_.prototype.cork=function(){this._writableState.corked++},_.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,t.writing||t.corked||t.finished||t.bufferProcessing||!t.bufferedRequest||x(this,t))},_.prototype.setDefaultEncoding=function(t){if("string"==typeof t&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(_.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),_.prototype._write=function(t,e,r){r(new Error("_write() is not implemented"))},_.prototype._writev=null,_.prototype.end=function(t,e,r){var n=this._writableState;"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!==t&&void 0!==t&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||n.finished||function(t,e,r){e.ending=!0,E(t,e),r&&(e.finished?o.nextTick(r):t.once("finish",r));e.ended=!0,t.writable=!1}(this,n,r)},Object.defineProperty(_.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),_.prototype.destroy=m.destroy,_.prototype._undestroy=m.undestroy,_.prototype._destroy=function(t,e){this.end(),e(t)}}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("timers").setImmediate)},{"./_stream_duplex":167,"./internal/streams/destroy":173,"./internal/streams/stream":174,_process:136,"core-util-is":12,inherits:94,"process-nextick-args":176,"safe-buffer":182,timers:190,"util-deprecate":194}],172:[function(t,e,r){"use strict";var n=t("safe-buffer").Buffer,i=t("util");e.exports=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.head=null,this.tail=null,this.length=0}return t.prototype.push=function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length},t.prototype.unshift=function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length},t.prototype.shift=function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}},t.prototype.clear=function(){this.head=this.tail=null,this.length=0},t.prototype.join=function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r},t.prototype.concat=function(t){if(0===this.length)return n.alloc(0);if(1===this.length)return this.head.data;for(var e,r,i,o=n.allocUnsafe(t>>>0),a=this.head,s=0;a;)e=a.data,r=o,i=s,e.copy(r,i),s+=a.data.length,a=a.next;return o},t}(),i&&i.inspect&&i.inspect.custom&&(e.exports.prototype[i.inspect.custom]=function(){var t=i.inspect({length:this.length});return this.constructor.name+" "+t})},{"safe-buffer":182,util:4}],173:[function(t,e,r){"use strict";var n=t("process-nextick-args");function i(t,e){t.emit("error",e)}e.exports={destroy:function(t,e){var r=this,o=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return o||a?(e?e(t):!t||this._writableState&&this._writableState.errorEmitted||n.nextTick(i,this,t),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(t){!e&&t?(n.nextTick(i,r,t),r._writableState&&(r._writableState.errorEmitted=!0)):e&&e(t)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},{"process-nextick-args":176}],174:[function(t,e,r){e.exports=t("events").EventEmitter},{events:72}],175:[function(t,e,r){arguments[4][165][0].apply(r,arguments)},{dup:165}],176:[function(t,e,r){(function(t){"use strict";!t.version||0===t.version.indexOf("v0.")||0===t.version.indexOf("v1.")&&0!==t.version.indexOf("v1.8.")?e.exports={nextTick:function(e,r,n,i){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var o,a,s=arguments.length;switch(s){case 0:case 1:return t.nextTick(e);case 2:return t.nextTick(function(){e.call(null,r)});case 3:return t.nextTick(function(){e.call(null,r,n)});case 4:return t.nextTick(function(){e.call(null,r,n,i)});default:for(o=new Array(s-1),a=0;a<o.length;)o[a++]=arguments[a];return t.nextTick(function(){e.apply(null,o)})}}}:e.exports=t}).call(this,t("_process"))},{_process:136}],177:[function(t,e,r){"use strict";var n=t("safe-buffer").Buffer,i=n.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(n.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=u,this.end=l,e=4;break;case"utf8":this.fillLast=s,e=4;break;case"base64":this.text=c,this.end=h,e=3;break;default:return this.write=p,void(this.end=f)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function a(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function s(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,"<22>";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"<22>";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"<22>"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function u(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function l(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function c(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function h(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function p(t){return t.toString(this.encoding)}function f(t){return t&&t.length?this.write(t):""}r.StringDecoder=o,o.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<t.length?e?e+this.text(t,r):this.text(t,r):e||""},o.prototype.end=function(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"<22>":e},o.prototype.text=function(t,e){var r=function(t,e,r){var n=e.length-1;if(n<r)return 0;var i=a(e[n]);if(i>=0)return i>0&&(t.lastNeed=i-1),i;if(--n<r||-2===i)return 0;if((i=a(e[n]))>=0)return i>0&&(t.lastNeed=i-2),i;if(--n<r||-2===i)return 0;if((i=a(e[n]))>=0)return i>0&&(2===i?i=0:t.lastNeed=i-3),i;return 0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},o.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},{"safe-buffer":182}],178:[function(t,e,r){e.exports=t("./readable").PassThrough},{"./readable":179}],179:[function(t,e,r){(r=e.exports=t("./lib/_stream_readable.js")).Stream=r,r.Readable=r,r.Writable=t("./lib/_stream_writable.js"),r.Duplex=t("./lib/_stream_duplex.js"),r.Transform=t("./lib/_stream_transform.js"),r.PassThrough=t("./lib/_stream_passthrough.js")},{"./lib/_stream_duplex.js":167,"./lib/_stream_passthrough.js":168,"./lib/_stream_readable.js":169,"./lib/_stream_transform.js":170,"./lib/_stream_writable.js":171}],180:[function(t,e,r){e.exports=t("./readable").Transform},{"./readable":179}],181:[function(t,e,r){e.exports=t("./lib/_stream_writable.js")},{"./lib/_stream_writable.js":171}],182:[function(t,e,r){var n=t("buffer"),i=n.Buffer;function o(t,e){for(var r in t)e[r]=t[r]}function a(t,e,r){return i(t,e,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=n:(o(n,r),r.Buffer=a),o(i,a),a.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,r)},a.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=i(t);return void 0!==e?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n},a.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},a.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},{buffer:71}],183:[function(t,e,r){arguments[4][91][0].apply(r,arguments)},{"./lib/decoder":184,"./lib/encoder":185,dup:91}],184:[function(t,e,r){(function(t){var r=function(){"use strict";var t=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),e=4017,r=799,n=3406,i=2276,o=1567,a=3784,s=5793,u=2896;function l(){}function c(t,e){for(var r,n,i=0,o=[],a=16;a>0&&!t[a-1];)a--;o.push({children:[],index:0});var s,u=o[0];for(r=0;r<a;r++){for(n=0;n<t[r];n++){for((u=o.pop()).children[u.index]=e[i];u.index>0;)u=o.pop();for(u.index++,o.push(u);o.length<=r;)o.push(s={children:[],index:0}),u.children[u.index]=s.children,u=s;i++}r+1<a&&(o.push(s={children:[],index:0}),u.children[u.index]=s.children,u=s)}return o[0].children}function h(e,r,n,i,o,a,s,u,l){n.precision,n.samplesPerLine,n.scanLines;var c=n.mcusPerLine,h=n.progressive,p=(n.maxH,n.maxV,r),f=0,d=0;function m(){if(d>0)return f>>--d&1;if(255==(f=e[r++])){var t=e[r++];if(t)throw"unexpected marker: "+(f<<8|t).toString(16)}return d=7,f>>>7}function g(t){for(var e,r=t;null!==(e=m());){if("number"==typeof(r=r[e]))return r;if("object"!=typeof r)throw"invalid huffman sequence"}return null}function v(t){for(var e=0;t>0;){var r=m();if(null===r)return;e=e<<1|r,t--}return e}function _(t){var e=v(t);return e>=1<<t-1?e:e+(-1<<t)+1}var y=0;var b,x=0;function w(t,e,r,n,i){var o=r%c,a=(r/c|0)*t.v+n,s=o*t.h+i;e(t,t.blocks[a][s])}function k(t,e,r){var n=r/t.blocksPerLine|0,i=r%t.blocksPerLine;e(t,t.blocks[n][i])}var E,T,S,A,C,R,B=i.length;R=h?0===a?0===u?function(t,e){var r=g(t.huffmanTableDC),n=0===r?0:_(r)<<l;e[0]=t.pred+=n}:function(t,e){e[0]|=m()<<l}:0===u?function(e,r){if(y>0)y--;else for(var n=a,i=s;n<=i;){var o=g(e.huffmanTableAC),u=15&o,c=o>>4;if(0!==u)r[t[n+=c]]=_(u)*(1<<l),n++;else{if(c<15){y=v(c)+(1<<c)-1;break}n+=16}}}:function(e,r){for(var n=a,i=s,o=0;n<=i;){var u=t[n];switch(x){case 0:var c=g(e.huffmanTableAC),h=15&c;if(o=c>>4,0===h)o<15?(y=v(o)+(1<<o),x=4):(o=16,x=1);else{if(1!==h)throw"invalid ACn encoding";b=_(h),x=o?2:3}continue;case 1:case 2:r[u]?r[u]+=m()<<l:0==--o&&(x=2==x?3:0);break;case 3:r[u]?r[u]+=m()<<l:(r[u]=b<<l,x=0);break;case 4:r[u]&&(r[u]+=m()<<l)}n++}4===x&&0==--y&&(x=0)}:function(e,r){var n=g(e.huffmanTableDC),i=0===n?0:_(n);r[0]=e.pred+=i;for(var o=1;o<64;){var a=g(e.huffmanTableAC),s=15&a,u=a>>4;if(0!==s)r[t[o+=u]]=_(s),o++;else{if(u<15)break;o+=16}}};var P,I,M,D,F=0;for(I=1==B?i[0].blocksPerLine*i[0].blocksPerColumn:c*n.mcusPerColumn,o||(o=I);F<I;){for(T=0;T<B;T++)i[T].pred=0;if(y=0,1==B)for(E=i[0],C=0;C<o;C++)k(E,R,F),F++;else for(C=0;C<o;C++){for(T=0;T<B;T++)for(M=(E=i[T]).h,D=E.v,S=0;S<D;S++)for(A=0;A<M;A++)w(E,R,F,S,A);if(++F===I)break}if(d=0,(P=e[r]<<8|e[r+1])<65280)throw"marker was not found";if(!(P>=65488&&P<=65495))break;r+=2}return r-p}function p(t,l){var c,h,p=[],f=l.blocksPerLine,d=l.blocksPerColumn,m=f<<3,g=new Int32Array(64),v=new Uint8Array(64);function _(t,c,h){var p,f,d,m,g,v,_,y,b,x,w=l.quantizationTable,k=h;for(x=0;x<64;x++)k[x]=t[x]*w[x];for(x=0;x<8;++x){var E=8*x;0!=k[1+E]||0!=k[2+E]||0!=k[3+E]||0!=k[4+E]||0!=k[5+E]||0!=k[6+E]||0!=k[7+E]?(p=s*k[0+E]+128>>8,f=s*k[4+E]+128>>8,d=k[2+E],m=k[6+E],g=u*(k[1+E]-k[7+E])+128>>8,y=u*(k[1+E]+k[7+E])+128>>8,v=k[3+E]<<4,_=k[5+E]<<4,b=p-f+1>>1,p=p+f+1>>1,f=b,b=d*a+m*o+128>>8,d=d*o-m*a+128>>8,m=b,b=g-_+1>>1,g=g+_+1>>1,_=b,b=y+v+1>>1,v=y-v+1>>1,y=b,b=p-m+1>>1,p=p+m+1>>1,m=b,b=f-d+1>>1,f=f+d+1>>1,d=b,b=g*i+y*n+2048>>12,g=g*n-y*i+2048>>12,y=b,b=v*r+_*e+2048>>12,v=v*e-_*r+2048>>12,_=b,k[0+E]=p+y,k[7+E]=p-y,k[1+E]=f+_,k[6+E]=f-_,k[2+E]=d+v,k[5+E]=d-v,k[3+E]=m+g,k[4+E]=m-g):(b=s*k[0+E]+512>>10,k[0+E]=b,k[1+E]=b,k[2+E]=b,k[3+E]=b,k[4+E]=b,k[5+E]=b,k[6+E]=b,k[7+E]=b)}for(x=0;x<8;++x){var T=x;0!=k[8+T]||0!=k[16+T]||0!=k[24+T]||0!=k[32+T]||0!=k[40+T]||0!=k[48+T]||0!=k[56+T]?(p=s*k[0+T]+2048>>12,f=s*k[32+T]+2048>>12,d=k[16+T],m=k[48+T],g=u*(k[8+T]-k[56+T])+2048>>12,y=u*(k[8+T]+k[56+T])+2048>>12,v=k[24+T],_=k[40+T],b=p-f+1>>1,p=p+f+1>>1,f=b,b=d*a+m*o+2048>>12,d=d*o-m*a+2048>>12,m=b,b=g-_+1>>1,g=g+_+1>>1,_=b,b=y+v+1>>1,v=y-v+1>>1,y=b,b=p-m+1>>1,p=p+m+1>>1,m=b,b=f-d+1>>1,f=f+d+1>>1,d=b,b=g*i+y*n+2048>>12,g=g*n-y*i+2048>>12,y=b,b=v*r+_*e+2048>>12,v=v*e-_*r+2048>>12,_=b,k[0+T]=p+y,k[56+T]=p-y,k[8+T]=f+_,k[48+T]=f-_,k[16+T]=d+v,k[40+T]=d-v,k[24+T]=m+g,k[32+T]=m-g):(b=s*h[x+0]+8192>>14,k[0+T]=b,k[8+T]=b,k[16+T]=b,k[24+T]=b,k[32+T]=b,k[40+T]=b,k[48+T]=b,k[56+T]=b)}for(x=0;x<64;++x){var S=128+(k[x]+8>>4);c[x]=S<0?0:S>255?255:S}}for(var y=0;y<d;y++){var b=y<<3;for(c=0;c<8;c++)p.push(new Uint8Array(m));for(var x=0;x<f;x++){_(l.blocks[y][x],v,g);var w=0,k=x<<3;for(h=0;h<8;h++){var E=p[b+h];for(c=0;c<8;c++)E[k+c]=v[w++]}}}return p}function f(t){return t<0?0:t>255?255:t}return l.prototype={load:function(t){var e=new XMLHttpRequest;e.open("GET",t,!0),e.responseType="arraybuffer",e.onload=function(){var t=new Uint8Array(e.response||e.mozResponseArrayBuffer);this.parse(t),this.onload&&this.onload()}.bind(this),e.send(null)},parse:function(e){var r=0;e.length;function n(){var t=e[r]<<8|e[r+1];return r+=2,t}function i(){var t=n(),i=e.subarray(r,r+t-2);return r+=i.length,i}function o(t){var e,r,n=0,i=0;for(r in t.components)t.components.hasOwnProperty(r)&&(n<(e=t.components[r]).h&&(n=e.h),i<e.v&&(i=e.v));var o=Math.ceil(t.samplesPerLine/8/n),a=Math.ceil(t.scanLines/8/i);for(r in t.components)if(t.components.hasOwnProperty(r)){e=t.components[r];for(var s=Math.ceil(Math.ceil(t.samplesPerLine/8)*e.h/n),u=Math.ceil(Math.ceil(t.scanLines/8)*e.v/i),l=o*e.h,c=a*e.v,h=[],p=0;p<c;p++){for(var f=[],d=0;d<l;d++)f.push(new Int32Array(64));h.push(f)}e.blocksPerLine=s,e.blocksPerColumn=u,e.blocks=h}t.maxH=n,t.maxV=i,t.mcusPerLine=o,t.mcusPerColumn=a}var a,s,u=null,l=null,f=[],d=[],m=[],g=[],v=n();if(65496!=v)throw"SOI not found";for(v=n();65497!=v;){var _;switch(v){case 65280:break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var y=i();65504===v&&74===y[0]&&70===y[1]&&73===y[2]&&70===y[3]&&0===y[4]&&(u={version:{major:y[5],minor:y[6]},densityUnits:y[7],xDensity:y[8]<<8|y[9],yDensity:y[10]<<8|y[11],thumbWidth:y[12],thumbHeight:y[13],thumbData:y.subarray(14,14+3*y[12]*y[13])}),65518===v&&65===y[0]&&100===y[1]&&111===y[2]&&98===y[3]&&101===y[4]&&0===y[5]&&(l={version:y[6],flags0:y[7]<<8|y[8],flags1:y[9]<<8|y[10],transformCode:y[11]});break;case 65499:for(var b=n()+r-2;r<b;){var x=e[r++],w=new Int32Array(64);if(x>>4==0)for(_=0;_<64;_++){w[t[_]]=e[r++]}else{if(x>>4!=1)throw"DQT: invalid table spec";for(_=0;_<64;_++){w[t[_]]=n()}}f[15&x]=w}break;case 65472:case 65473:case 65474:n(),(a={}).extended=65473===v,a.progressive=65474===v,a.precision=e[r++],a.scanLines=n(),a.samplesPerLine=n(),a.components={},a.componentsOrder=[];var k,E=e[r++];for(U=0;U<E;U++){k=e[r];var T=e[r+1]>>4,S=15&e[r+1],A=e[r+2];a.componentsOrder.push(k),a.components[k]={h:T,v:S,quantizationTable:f[A]},r+=3}o(a),d.push(a);break;case 65476:var C=n();for(U=2;U<C;){var R=e[r++],B=new Uint8Array(16),P=0;for(_=0;_<16;_++,r++)P+=B[_]=e[r];var I=new Uint8Array(P);for(_=0;_<P;_++,r++)I[_]=e[r];U+=17+P,(R>>4==0?g:m)[15&R]=c(B,I)}break;case 65501:n(),s=n();break;case 65498:n();var M=e[r++],D=[];for(U=0;U<M;U++){z=a.components[e[r++]];var F=e[r++];z.huffmanTableDC=g[F>>4],z.huffmanTableAC=m[15&F],D.push(z)}var L=e[r++],O=e[r++],N=e[r++],j=h(e,r,a,D,s,L,O,N>>4,15&N);r+=j;break;default:if(255==e[r-3]&&e[r-2]>=192&&e[r-2]<=254){r-=3;break}throw"unknown JPEG marker "+v.toString(16)}v=n()}if(1!=d.length)throw"only single frame JPEGs supported";this.width=a.samplesPerLine,this.height=a.scanLines,this.jfif=u,this.adobe=l,this.components=[];for(var U=0;U<a.componentsOrder.length;U++){var z=a.components[a.componentsOrder[U]];this.components.push({lines:p(0,z),scaleX:z.h/a.maxH,scaleY:z.v/a.maxV})}},getData:function(t,e){var r,n,i,o,a,s,u,l,c,h,p,d,m,g,v,_,y,b,x,w,k,E=this.width/t,T=this.height/e,S=0,A=t*e*this.components.length,C=new Uint8Array(A);switch(this.components.length){case 1:for(r=this.components[0],h=0;h<e;h++)for(a=r.lines[0|h*r.scaleY*T],c=0;c<t;c++)p=a[0|c*r.scaleX*E],C[S++]=p;break;case 2:for(r=this.components[0],n=this.components[1],h=0;h<e;h++)for(a=r.lines[0|h*r.scaleY*T],s=n.lines[0|h*n.scaleY*T],c=0;c<t;c++)p=a[0|c*r.scaleX*E],C[S++]=p,p=s[0|c*n.scaleX*E],C[S++]=p;break;case 3:for(k=!0,this.adobe&&this.adobe.transformCode?k=!0:void 0!==this.colorTransform&&(k=!!this.colorTransform),r=this.components[0],n=this.components[1],i=this.components[2],h=0;h<e;h++)for(a=r.lines[0|h*r.scaleY*T],s=n.lines[0|h*n.scaleY*T],u=i.lines[0|h*i.scaleY*T],c=0;c<t;c++)k?(p=a[0|c*r.scaleX*E],d=s[0|c*n.scaleX*E],b=f(p+1.402*((m=u[0|c*i.scaleX*E])-128)),x=f(p-.3441363*(d-128)-.71413636*(m-128)),w=f(p+1.772*(d-128))):(b=a[0|c*r.scaleX*E],x=s[0|c*n.scaleX*E],w=u[0|c*i.scaleX*E]),C[S++]=b,C[S++]=x,C[S++]=w;break;case 4:if(!this.adobe)throw"Unsupported color mode (4 components)";for(k=!1,this.adobe&&this.adobe.transformCode?k=!0:void 0!==this.colorTransform&&(k=!!this.colorTransform),r=this.components[0],n=this.components[1],i=this.components[2],o=this.components[3],h=0;h<e;h++)for(a=r.lines[0|h*r.scaleY*T],s=n.lines[0|h*n.scaleY*T],u=i.lines[0|h*i.scaleY*T],l=o.lines[0|h*o.scaleY*T],c=0;c<t;c++)k?(p=a[0|c*r.scaleX*E],d=s[0|c*n.scaleX*E],m=u[0|c*i.scaleX*E],g=l[0|c*o.scaleX*E],v=255-f(p+1.402*(m-128)),_=255-f(p-.3441363*(d-128)-.71413636*(m-128)),y=255-f(p+1.772*(d-128))):(v=a[0|c*r.scaleX*E],_=s[0|c*n.scaleX*E],y=u[0|c*i.scaleX*E],g=l[0|c*o.scaleX*E]),C[S++]=v,C[S++]=_,C[S++]=y,C[S++]=g;break;default:throw"Unsupported color mode"}return C},copyToImageData:function(t){var e,r,n,i,o,a,s,u,l,c=t.width,h=t.height,p=t.data,d=this.getData(c,h),m=0,g=0;switch(this.components.length){case 1:for(r=0;r<h;r++)for(e=0;e<c;e++)n=d[m++],p[g++]=n,p[g++]=n,p[g++]=n,p[g++]=255;break;case 3:for(r=0;r<h;r++)for(e=0;e<c;e++)s=d[m++],u=d[m++],l=d[m++],p[g++]=s,p[g++]=u,p[g++]=l,p[g++]=255;break;case 4:for(r=0;r<h;r++)for(e=0;e<c;e++)o=d[m++],a=d[m++],n=d[m++],s=255-f(o*(1-(i=d[m++])/255)+i),u=255-f(a*(1-i/255)+i),l=255-f(n*(1-i/255)+i),p[g++]=s,p[g++]=u,p[g++]=l,p[g++]=255;break;default:throw"Unsupported color mode"}}},l}();e.exports=function(e){var n=new Uint8Array(e),i=new r;i.parse(n);for(var o=i.getData(i.width,i.height),a=new t(i.width*i.height*4),s=0,u=0;u<a.length;u++)a[u+(u/3|0)]=o[s++],u%4==3&&(a[u]=255);return{data:a,width:i.width,height:i.height}}}).call(this,t("buffer").Buffer)},{buffer:71}],185:[function(t,e,r){arguments[4][93][0].apply(r,arguments)},{buffer:71,dup:93}],186:[function(t,e,r){(function(r){"use strict";var n=t("contentstream"),i=t("gif-encoder"),o=t("jpeg-js"),a=t("pngjs-nozlib").PNG,s=t("ndarray"),u=t("ndarray-ops"),l=t("through");function c(t,e,r){if(4===t.shape.length)return c(t.pick(r),e,0);if(3===t.shape.length)if(3===t.shape[2])u.assign(s(e,[t.shape[0],t.shape[1],3],[4,4*t.shape[0],1]),t),u.assigns(s(e,[t.shape[0]*t.shape[1]],[4],3),255);else if(4===t.shape[2])u.assign(s(e,[t.shape[0],t.shape[1],4],[4,4*t.shape[0],1]),t);else{if(1!==t.shape[2])return new Error("Incompatible array shape");u.assign(s(e,[t.shape[0],t.shape[1],3],[4,4*t.shape[0],1]),s(t.data,[t.shape[0],t.shape[1],3],[t.stride[0],t.stride[1],0],t.offset)),u.assigns(s(e,[t.shape[0]*t.shape[1]],[4],3),255)}else{if(2!==t.shape.length)return new Error("Incompatible array shape");u.assign(s(e,[t.shape[0],t.shape[1],3],[4,4*t.shape[0],1]),s(t.data,[t.shape[0],t.shape[1],3],[t.stride[0],t.stride[1],0],t.offset)),u.assigns(s(e,[t.shape[0]*t.shape[1]],[4],3),255)}return e}function h(t){var e=l();return e.emit("error",t),e}e.exports=function(t,e,s){switch(s=s||{},e.toUpperCase()){case"JPG":case".JPG":case"JPEG":case".JPEG":case"JPE":case".JPE":var u=t.shape[0],l=t.shape[1],p={data:m=c(t,m=new r(u*l*4)),width:u,height:l},f=o.encode(p,s.quality);return new n(f.data);case"GIF":case".GIF":var d=4===t.shape.length?t.shape[0]:1,m=(u=4===t.shape.length?t.shape[1]:t.shape[0],l=4===t.shape.length?t.shape[2]:t.shape[1],new r(u*l*4)),g=new i(u,l);g.writeHeader();for(var v=0;v<d;v++)m=c(t,m,v),g.addFrame(m);return g.finish(),g;case"PNG":case".PNG":var _=new a({width:t.shape[0],height:t.shape[1]});return"Error"==typeof(m=c(t,_.data))?h(m):(_.data=m,_.pack());case"CANVAS":var y=document.createElement("canvas"),b=y.getContext("2d");y.width=t.shape[0],y.height=t.shape[1];var x=b.getImageData(0,0,y.width,y.height);return"Error"==typeof(m=c(t,m=x.data))?h(m):(b.putImageData(x,0,0),y);default:return h(new Error("Unsupported file type: "+e))}}}).call(this,t("buffer").Buffer)},{buffer:71,contentstream:5,"gif-encoder":28,"jpeg-js":183,ndarray:105,"ndarray-ops":102,"pngjs-nozlib":134,through:189}],187:[function(t,e,r){e.exports=i;var n=t("events").EventEmitter;function i(){n.call(this)}t("inherits")(i,n),i.Readable=t("readable-stream/readable.js"),i.Writable=t("readable-stream/writable.js"),i.Duplex=t("readable-stream/duplex.js"),i.Transform=t("readable-stream/transform.js"),i.PassThrough=t("readable-stream/passthrough.js"),i.Stream=i,i.prototype.pipe=function(t,e){var r=this;function i(e){t.writable&&!1===t.write(e)&&r.pause&&r.pause()}function o(){r.readable&&r.resume&&r.resume()}r.on("data",i),t.on("drain",o),t._isStdio||e&&!1===e.end||(r.on("end",s),r.on("close",u));var a=!1;function s(){a||(a=!0,t.end())}function u(){a||(a=!0,"function"==typeof t.destroy&&t.destroy())}function l(t){if(c(),0===n.listenerCount(this,"error"))throw t}function c(){r.removeListener("data",i),t.removeListener("drain",o),r.removeListener("end",s),r.removeListener("close",u),r.removeListener("error",l),t.removeListener("error",l),r.removeListener("end",c),r.removeListener("close",c),t.removeListener("close",c)}return r.on("error",l),t.on("error",l),r.on("end",c),r.on("close",c),t.on("close",c),t.emit("pipe",r),t}},{events:72,inherits:94,"readable-stream/duplex.js":166,"readable-stream/passthrough.js":178,"readable-stream/readable.js":179,"readable-stream/transform.js":180,"readable-stream/writable.js":181}],188:[function(t,e,r){var n=t("buffer").Buffer,i=n.isEncoding||function(t){switch(t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};var o=r.StringDecoder=function(t){switch(this.encoding=(t||"utf8").toLowerCase().replace(/[-_]/,""),function(t){if(t&&!i(t))throw new Error("Unknown encoding: "+t)}(t),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=s;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=u;break;default:return void(this.write=a)}this.charBuffer=new n(6),this.charReceived=0,this.charLength=0};function a(t){return t.toString(this.encoding)}function s(t){this.charReceived=t.length%2,this.charLength=this.charReceived?2:0}function u(t){this.charReceived=t.length%3,this.charLength=this.charReceived?3:0}o.prototype.write=function(t){for(var e="";this.charLength;){var r=t.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:t.length;if(t.copy(this.charBuffer,this.charReceived,0,r),this.charReceived+=r,this.charReceived<this.charLength)return"";if(t=t.slice(r,t.length),!((i=(e=this.charBuffer.slice(0,this.charLength).toString(this.encoding)).charCodeAt(e.length-1))>=55296&&i<=56319)){if(this.charReceived=this.charLength=0,0===t.length)return e;break}this.charLength+=this.surrogateSize,e=""}this.detectIncompleteChar(t);var n=t.length;this.charLength&&(t.copy(this.charBuffer,0,t.length-this.charReceived,n),n-=this.charReceived);var i;n=(e+=t.toString(this.encoding,0,n)).length-1;if((i=e.charCodeAt(n))>=55296&&i<=56319){var o=this.surrogateSize;return this.charLength+=o,this.charReceived+=o,this.charBuffer.copy(this.charBuffer,o,0,o),t.copy(this.charBuffer,0,0,o),e.substring(0,n)}return e},o.prototype.detectIncompleteChar=function(t){for(var e=t.length>=3?3:t.length;e>0;e--){var r=t[t.length-e];if(1==e&&r>>5==6){this.charLength=2;break}if(e<=2&&r>>4==14){this.charLength=3;break}if(e<=3&&r>>3==30){this.charLength=4;break}}this.charReceived=e},o.prototype.end=function(t){var e="";if(t&&t.length&&(e=this.write(t)),this.charReceived){var r=this.charReceived,n=this.charBuffer,i=this.encoding;e+=n.slice(0,r).toString(i)}return e}},{buffer:71}],189:[function(t,e,r){(function(r){var n=t("stream");function i(t,e,i){t=t||function(t){this.queue(t)},e=e||function(){this.queue(null)};var o=!1,a=!1,s=[],u=!1,l=new n;function c(){for(;s.length&&!l.paused;){var t=s.shift();if(null===t)return l.emit("end");l.emit("data",t)}}return l.readable=l.writable=!0,l.paused=!1,l.autoDestroy=!(i&&!1===i.autoDestroy),l.write=function(e){return t.call(this,e),!l.paused},l.queue=l.push=function(t){return u?l:(null===t&&(u=!0),s.push(t),c(),l)},l.on("end",function(){l.readable=!1,!l.writable&&l.autoDestroy&&r.nextTick(function(){l.destroy()})}),l.end=function(t){if(!o)return o=!0,arguments.length&&l.write(t),l.writable=!1,e.call(l),!l.readable&&l.autoDestroy&&l.destroy(),l},l.destroy=function(){if(!a)return a=!0,o=!0,s.length=0,l.writable=l.readable=!1,l.emit("close"),l},l.pause=function(){if(!l.paused)return l.paused=!0,l},l.resume=function(){return l.paused&&(l.paused=!1,l.emit("resume")),c(),l.paused||l.emit("drain"),l},l}e.exports=i,i.through=i}).call(this,t("_process"))},{_process:136,stream:187}],190:[function(t,e,r){(function(e,n){var i=t("process/browser.js").nextTick,o=Function.prototype.apply,a=Array.prototype.slice,s={},u=0;function l(t,e){this._id=t,this._clearFn=e}r.setTimeout=function(){return new l(o.call(setTimeout,window,arguments),clearTimeout)},r.setInterval=function(){return new l(o.call(setInterval,window,arguments),clearInterval)},r.clearTimeout=r.clearInterval=function(t){t.close()},l.prototype.unref=l.prototype.ref=function(){},l.prototype.close=function(){this._clearFn.call(window,this._id)},r.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},r.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},r._unrefActive=r.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},r.setImmediate="function"==typeof e?e:function(t){var e=u++,n=!(arguments.length<2)&&a.call(arguments,1);return s[e]=!0,i(function(){s[e]&&(n?t.apply(null,n):t.call(null),r.clearImmediate(e))}),e},r.clearImmediate="function"==typeof n?n:function(t){delete s[t]}}).call(this,t("timers").setImmediate,t("timers").clearImmediate)},{"process/browser.js":136,timers:190}],191:[function(t,e,r){(function(){var t=this,n=t._,i={},o=Array.prototype,a=Object.prototype,s=Function.prototype,u=o.push,l=o.slice,c=o.concat,h=a.toString,p=a.hasOwnProperty,f=o.forEach,d=o.map,m=o.reduce,g=o.reduceRight,v=o.filter,_=o.every,y=o.some,b=o.indexOf,x=o.lastIndexOf,w=Array.isArray,k=Object.keys,E=s.bind,T=function(t){return t instanceof T?t:this instanceof T?void(this._wrapped=t):new T(t)};void 0!==r?(void 0!==e&&e.exports&&(r=e.exports=T),r._=T):t._=T,T.VERSION="1.4.4";var S=T.each=T.forEach=function(t,e,r){if(null!=t)if(f&&t.forEach===f)t.forEach(e,r);else if(t.length===+t.length){for(var n=0,o=t.length;n<o;n++)if(e.call(r,t[n],n,t)===i)return}else for(var a in t)if(T.has(t,a)&&e.call(r,t[a],a,t)===i)return};T.map=T.collect=function(t,e,r){var n=[];return null==t?n:d&&t.map===d?t.map(e,r):(S(t,function(t,i,o){n[n.length]=e.call(r,t,i,o)}),n)};var A="Reduce of empty array with no initial value";T.reduce=T.foldl=T.inject=function(t,e,r,n){var i=arguments.length>2;if(null==t&&(t=[]),m&&t.reduce===m)return n&&(e=T.bind(e,n)),i?t.reduce(e,r):t.reduce(e);if(S(t,function(t,o,a){i?r=e.call(n,r,t,o,a):(r=t,i=!0)}),!i)throw new TypeError(A);return r},T.reduceRight=T.foldr=function(t,e,r,n){var i=arguments.length>2;if(null==t&&(t=[]),g&&t.reduceRight===g)return n&&(e=T.bind(e,n)),i?t.reduceRight(e,r):t.reduceRight(e);var o=t.length;if(o!==+o){var a=T.keys(t);o=a.length}if(S(t,function(s,u,l){u=a?a[--o]:--o,i?r=e.call(n,r,t[u],u,l):(r=t[u],i=!0)}),!i)throw new TypeError(A);return r},T.find=T.detect=function(t,e,r){var n;return C(t,function(t,i,o){if(e.call(r,t,i,o))return n=t,!0}),n},T.filter=T.select=function(t,e,r){var n=[];return null==t?n:v&&t.filter===v?t.filter(e,r):(S(t,function(t,i,o){e.call(r,t,i,o)&&(n[n.length]=t)}),n)},T.reject=function(t,e,r){return T.filter(t,function(t,n,i){return!e.call(r,t,n,i)},r)},T.every=T.all=function(t,e,r){e||(e=T.identity);var n=!0;return null==t?n:_&&t.every===_?t.every(e,r):(S(t,function(t,o,a){if(!(n=n&&e.call(r,t,o,a)))return i}),!!n)};var C=T.some=T.any=function(t,e,r){e||(e=T.identity);var n=!1;return null==t?n:y&&t.some===y?t.some(e,r):(S(t,function(t,o,a){if(n||(n=e.call(r,t,o,a)))return i}),!!n)};T.contains=T.include=function(t,e){return null!=t&&(b&&t.indexOf===b?-1!=t.indexOf(e):C(t,function(t){return t===e}))},T.invoke=function(t,e){var r=l.call(arguments,2),n=T.isFunction(e);return T.map(t,function(t){return(n?e:t[e]).apply(t,r)})},T.pluck=function(t,e){return T.map(t,function(t){return t[e]})},T.where=function(t,e,r){return T.isEmpty(e)?r?null:[]:T[r?"find":"filter"](t,function(t){for(var r in e)if(e[r]!==t[r])return!1;return!0})},T.findWhere=function(t,e){return T.where(t,e,!0)},T.max=function(t,e,r){if(!e&&T.isArray(t)&&t[0]===+t[0]&&t.length<65535)return Math.max.apply(Math,t);if(!e&&T.isEmpty(t))return-1/0;var n={computed:-1/0,value:-1/0};return S(t,function(t,i,o){var a=e?e.call(r,t,i,o):t;a>=n.computed&&(n={value:t,computed:a})}),n.value},T.min=function(t,e,r){if(!e&&T.isArray(t)&&t[0]===+t[0]&&t.length<65535)return Math.min.apply(Math,t);if(!e&&T.isEmpty(t))return 1/0;var n={computed:1/0,value:1/0};return S(t,function(t,i,o){var a=e?e.call(r,t,i,o):t;a<n.computed&&(n={value:t,computed:a})}),n.value},T.shuffle=function(t){var e,r=0,n=[];return S(t,function(t){e=T.random(r++),n[r-1]=n[e],n[e]=t}),n};var R=function(t){return T.isFunction(t)?t:function(e){return e[t]}};T.sortBy=function(t,e,r){var n=R(e);return T.pluck(T.map(t,function(t,e,i){return{value:t,index:e,criteria:n.call(r,t,e,i)}}).sort(function(t,e){var r=t.criteria,n=e.criteria;if(r!==n){if(r>n||void 0===r)return 1;if(r<n||void 0===n)return-1}return t.index<e.index?-1:1}),"value")};var B=function(t,e,r,n){var i={},o=R(e||T.identity);return S(t,function(e,a){var s=o.call(r,e,a,t);n(i,s,e)}),i};T.groupBy=function(t,e,r){return B(t,e,r,function(t,e,r){(T.has(t,e)?t[e]:t[e]=[]).push(r)})},T.countBy=function(t,e,r){return B(t,e,r,function(t,e){T.has(t,e)||(t[e]=0),t[e]++})},T.sortedIndex=function(t,e,r,n){for(var i=(r=null==r?T.identity:R(r)).call(n,e),o=0,a=t.length;o<a;){var s=o+a>>>1;r.call(n,t[s])<i?o=s+1:a=s}return o},T.toArray=function(t){return t?T.isArray(t)?l.call(t):t.length===+t.length?T.map(t,T.identity):T.values(t):[]},T.size=function(t){return null==t?0:t.length===+t.length?t.length:T.keys(t).length},T.first=T.head=T.take=function(t,e,r){if(null!=t)return null==e||r?t[0]:l.call(t,0,e)},T.initial=function(t,e,r){return l.call(t,0,t.length-(null==e||r?1:e))},T.last=function(t,e,r){if(null!=t)return null==e||r?t[t.length-1]:l.call(t,Math.max(t.length-e,0))},T.rest=T.tail=T.drop=function(t,e,r){return l.call(t,null==e||r?1:e)},T.compact=function(t){return T.filter(t,T.identity)};var P=function(t,e,r){return S(t,function(t){T.isArray(t)?e?u.apply(r,t):P(t,e,r):r.push(t)}),r};T.flatten=function(t,e){return P(t,e,[])},T.without=function(t){return T.difference(t,l.call(arguments,1))},T.uniq=T.unique=function(t,e,r,n){T.isFunction(e)&&(n=r,r=e,e=!1);var i=r?T.map(t,r,n):t,o=[],a=[];return S(i,function(r,n){(e?n&&a[a.length-1]===r:T.contains(a,r))||(a.push(r),o.push(t[n]))}),o},T.union=function(){return T.uniq(c.apply(o,arguments))},T.intersection=function(t){var e=l.call(arguments,1);return T.filter(T.uniq(t),function(t){return T.every(e,function(e){return T.indexOf(e,t)>=0})})},T.difference=function(t){var e=c.apply(o,l.call(arguments,1));return T.filter(t,function(t){return!T.contains(e,t)})},T.zip=function(){for(var t=l.call(arguments),e=T.max(T.pluck(t,"length")),r=new Array(e),n=0;n<e;n++)r[n]=T.pluck(t,""+n);return r},T.object=function(t,e){if(null==t)return{};for(var r={},n=0,i=t.length;n<i;n++)e?r[t[n]]=e[n]:r[t[n][0]]=t[n][1];return r},T.indexOf=function(t,e,r){if(null==t)return-1;var n=0,i=t.length;if(r){if("number"!=typeof r)return t[n=T.sortedIndex(t,e)]===e?n:-1;n=r<0?Math.max(0,i+r):r}if(b&&t.indexOf===b)return t.indexOf(e,r);for(;n<i;n++)if(t[n]===e)return n;return-1},T.lastIndexOf=function(t,e,r){if(null==t)return-1;var n=null!=r;if(x&&t.lastIndexOf===x)return n?t.lastIndexOf(e,r):t.lastIndexOf(e);for(var i=n?r:t.length;i--;)if(t[i]===e)return i;return-1},T.range=function(t,e,r){arguments.length<=1&&(e=t||0,t=0),r=arguments[2]||1;for(var n=Math.max(Math.ceil((e-t)/r),0),i=0,o=new Array(n);i<n;)o[i++]=t,t+=r;return o},T.bind=function(t,e){if(t.bind===E&&E)return E.apply(t,l.call(arguments,1));var r=l.call(arguments,2);return function(){return t.apply(e,r.concat(l.call(arguments)))}},T.partial=function(t){var e=l.call(arguments,1);return function(){return t.apply(this,e.concat(l.call(arguments)))}},T.bindAll=function(t){var e=l.call(arguments,1);return 0===e.length&&(e=T.functions(t)),S(e,function(e){t[e]=T.bind(t[e],t)}),t},T.memoize=function(t,e){var r={};return e||(e=T.identity),function(){var n=e.apply(this,arguments);return T.has(r,n)?r[n]:r[n]=t.apply(this,arguments)}},T.delay=function(t,e){var r=l.call(arguments,2);return setTimeout(function(){return t.apply(null,r)},e)},T.defer=function(t){return T.delay.apply(T,[t,1].concat(l.call(arguments,1)))},T.throttle=function(t,e){var r,n,i,o,a=0,s=function(){a=new Date,i=null,o=t.apply(r,n)};return function(){var u=new Date,l=e-(u-a);return r=this,n=arguments,l<=0?(clearTimeout(i),i=null,a=u,o=t.apply(r,n)):i||(i=setTimeout(s,l)),o}},T.debounce=function(t,e,r){var n,i;return function(){var o=this,a=arguments,s=r&&!n;return clearTimeout(n),n=setTimeout(function(){n=null,r||(i=t.apply(o,a))},e),s&&(i=t.apply(o,a)),i}},T.once=function(t){var e,r=!1;return function(){return r?e:(r=!0,e=t.apply(this,arguments),t=null,e)}},T.wrap=function(t,e){return function(){var r=[t];return u.apply(r,arguments),e.apply(this,r)}},T.compose=function(){var t=arguments;return function(){for(var e=arguments,r=t.length-1;r>=0;r--)e=[t[r].apply(this,e)];return e[0]}},T.after=function(t,e){return t<=0?e():function(){if(--t<1)return e.apply(this,arguments)}},T.keys=k||function(t){if(t!==Object(t))throw new TypeError("Invalid object");var e=[];for(var r in t)T.has(t,r)&&(e[e.length]=r);return e},T.values=function(t){var e=[];for(var r in t)T.has(t,r)&&e.push(t[r]);return e},T.pairs=function(t){var e=[];for(var r in t)T.has(t,r)&&e.push([r,t[r]]);return e},T.invert=function(t){var e={};for(var r in t)T.has(t,r)&&(e[t[r]]=r);return e},T.functions=T.methods=function(t){var e=[];for(var r in t)T.isFunction(t[r])&&e.push(r);return e.sort()},T.extend=function(t){return S(l.call(arguments,1),function(e){if(e)for(var r in e)t[r]=e[r]}),t},T.pick=function(t){var e={},r=c.apply(o,l.call(arguments,1));return S(r,function(r){r in t&&(e[r]=t[r])}),e},T.omit=function(t){var e={},r=c.apply(o,l.call(arguments,1));for(var n in t)T.contains(r,n)||(e[n]=t[n]);return e},T.defaults=function(t){return S(l.call(arguments,1),function(e){if(e)for(var r in e)null==t[r]&&(t[r]=e[r])}),t},T.clone=function(t){return T.isObject(t)?T.isArray(t)?t.slice():T.extend({},t):t},T.tap=function(t,e){return e(t),t};var I=function(t,e,r,n){if(t===e)return 0!==t||1/t==1/e;if(null==t||null==e)return t===e;t instanceof T&&(t=t._wrapped),e instanceof T&&(e=e._wrapped);var i=h.call(t);if(i!=h.call(e))return!1;switch(i){case"[object String]":return t==String(e);case"[object Number]":return t!=+t?e!=+e:0==t?1/t==1/e:t==+e;case"[object Date]":case"[object Boolean]":return+t==+e;case"[object RegExp]":return t.source==e.source&&t.global==e.global&&t.multiline==e.multiline&&t.ignoreCase==e.ignoreCase}if("object"!=typeof t||"object"!=typeof e)return!1;for(var o=r.length;o--;)if(r[o]==t)return n[o]==e;r.push(t),n.push(e);var a=0,s=!0;if("[object Array]"==i){if(s=(a=t.length)==e.length)for(;a--&&(s=I(t[a],e[a],r,n)););}else{var u=t.constructor,l=e.constructor;if(u!==l&&!(T.isFunction(u)&&u instanceof u&&T.isFunction(l)&&l instanceof l))return!1;for(var c in t)if(T.has(t,c)&&(a++,!(s=T.has(e,c)&&I(t[c],e[c],r,n))))break;if(s){for(c in e)if(T.has(e,c)&&!a--)break;s=!a}}return r.pop(),n.pop(),s};T.isEqual=function(t,e){return I(t,e,[],[])},T.isEmpty=function(t){if(null==t)return!0;if(T.isArray(t)||T.isString(t))return 0===t.length;for(var e in t)if(T.has(t,e))return!1;return!0},T.isElement=function(t){return!(!t||1!==t.nodeType)},T.isArray=w||function(t){return"[object Array]"==h.call(t)},T.isObject=function(t){return t===Object(t)},S(["Arguments","Function","String","Number","Date","RegExp"],function(t){T["is"+t]=function(e){return h.call(e)=="[object "+t+"]"}}),T.isArguments(arguments)||(T.isArguments=function(t){return!(!t||!T.has(t,"callee"))}),"function"!=typeof/./&&(T.isFunction=function(t){return"function"==typeof t}),T.isFinite=function(t){return isFinite(t)&&!isNaN(parseFloat(t))},T.isNaN=function(t){return T.isNumber(t)&&t!=+t},T.isBoolean=function(t){return!0===t||!1===t||"[object Boolean]"==h.call(t)},T.isNull=function(t){return null===t},T.isUndefined=function(t){return void 0===t},T.has=function(t,e){return p.call(t,e)},T.noConflict=function(){return t._=n,this},T.identity=function(t){return t},T.times=function(t,e,r){for(var n=Array(t),i=0;i<t;i++)n[i]=e.call(r,i);return n},T.random=function(t,e){return null==e&&(e=t,t=0),t+Math.floor(Math.random()*(e-t+1))};var M={escape:{"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"}};M.unescape=T.invert(M.escape);var D={escape:new RegExp("["+T.keys(M.escape).join("")+"]","g"),unescape:new RegExp("("+T.keys(M.unescape).join("|")+")","g")};T.each(["escape","unescape"],function(t){T[t]=function(e){return null==e?"":(""+e).replace(D[t],function(e){return M[t][e]})}}),T.result=function(t,e){if(null==t)return null;var r=t[e];return T.isFunction(r)?r.call(t):r},T.mixin=function(t){S(T.functions(t),function(e){var r=T[e]=t[e];T.prototype[e]=function(){var t=[this._wrapped];return u.apply(t,arguments),j.call(this,r.apply(T,t))}})};var F=0;T.uniqueId=function(t){var e=++F+"";return t?t+e:e},T.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var L=/(.)^/,O={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"},N=/\\|'|\r|\n|\t|\u2028|\u2029/g;T.template=function(t,e,r){var n;r=T.defaults({},r,T.templateSettings);var i=new RegExp([(r.escape||L).source,(r.interpolate||L).source,(r.evaluate||L).source].join("|")+"|$","g"),o=0,a="__p+='";t.replace(i,function(e,r,n,i,s){return a+=t.slice(o,s).replace(N,function(t){return"\\"+O[t]}),r&&(a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'"),n&&(a+="'+\n((__t=("+n+"))==null?'':__t)+\n'"),i&&(a+="';\n"+i+"\n__p+='"),o=s+e.length,e}),a+="';\n",r.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{n=new Function(r.variable||"obj","_",a)}catch(t){throw t.source=a,t}if(e)return n(e,T);var s=function(t){return n.call(this,t,T)};return s.source="function("+(r.variable||"obj")+"){\n"+a+"}",s},T.chain=function(t){return T(t).chain()};var j=function(t){return this._chain?T(t).chain():t};T.mixin(T),S(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var e=o[t];T.prototype[t]=function(){var r=this._wrapped;return e.apply(r,arguments),"shift"!=t&&"splice"!=t||0!==r.length||delete r[0],j.call(this,r)}}),S(["concat","join","slice"],function(t){var e=o[t];T.prototype[t]=function(){return j.call(this,e.apply(this._wrapped,arguments))}}),T.extend(T.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}})}).call(this)},{}],192:[function(t,e,r){"use strict";e.exports=function(t,e,r){return 0===t.length?t:e?(r||t.sort(e),function(t,e){for(var r=1,n=t.length,i=t[0],o=t[0],a=1;a<n;++a)if(o=i,e(i=t[a],o)){if(a===r){r++;continue}t[r++]=i}return t.length=r,t}(t,e)):(r||t.sort(),function(t){for(var e=1,r=t.length,n=t[0],i=t[0],o=1;o<r;++o,i=n)if(i=n,(n=t[o])!==i){if(o===e){e++;continue}t[e++]=n}return t.length=e,t}(t))}},{}],193:[function(t,e,r){var n=t("mime"),i=t("fs");e.exports=function(t){return"data:"+n.lookup(t)+";base64,"+i.readFileSync(t,"base64")}},{fs:70,mime:100}],194:[function(t,e,r){(function(t){function r(e){try{if(!t.localStorage)return!1}catch(t){return!1}var r=t.localStorage[e];return null!=r&&"true"===String(r).toLowerCase()}e.exports=function(t,e){if(r("noDeprecation"))return t;var n=!1;return function(){if(!n){if(r("throwDeprecation"))throw new Error(e);r("traceDeprecation")?console.trace(e):console.warn(e),n=!0}return t.apply(this,arguments)}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],195:[function(t,e,r){arguments[4][66][0].apply(r,arguments)},{dup:66}],196:[function(t,e,r){arguments[4][67][0].apply(r,arguments)},{"./support/isBuffer":195,_process:136,dup:67,inherits:94}],197:[function(t,e,r){e.exports=function(e,r,n){return t("./InsertStep")(e,-1,r,n)}},{"./InsertStep":201}],198:[function(t,e,r){var n=t("fs");e.exports=function(e="./output/",r,i,o){if(e="/"==e[e.length-1]?e:e+"/",r.options.inBrowser)return!1;if(n.access(e,function(t){t&&console.error(t)}),o&&i){var a=r.steps,s=a.slice(-1)[0].output.src,u=(a.slice(-1)[0].output.format,t("data-uri-to-buffer")(s));n.writeFile(e+o,u,function(){})}else l=e,c=function(o){var a=1;for(var s in o)if(null!=o[s].match(/^sequencer(.*)$/)){var u=parseInt(o[s].match(/^sequencer(.*)$/)[1]);a=u>=a?u+1:a}n.mkdir(e+"sequencer"+a,function(){var o=e+"sequencer"+a+"/",s=r.steps;if(i){var u=s.slice(-1)[0].output.src,l=s.slice(-1)[0].output.format,c=t("data-uri-to-buffer")(u);n.writeFile(o+"image_"+(s.length-1)+"."+l,c,function(){})}else for(var h in s){u=s[h].output.src,l=s[h].output.format,c=t("data-uri-to-buffer")(u);n.writeFile(o+"image_"+h+"."+l,c,function(){})}})},n.readdir(l,function(t,e){var r=[];if(void 0===e||0==e.length)return c(r),[];for(var i=0;i<e.length;++i){var o=e[i];if("."!==o[0]){var a=l+"/"+o;n.stat(a,function(t,n){if(n.isDirectory()&&r.push(this.file),e.length===this.index+1)return c(r)}.bind({index:i,file:o}))}}});var l,c}},{"data-uri-to-buffer":16,fs:70}],199:[function(t,e,r){function n(t){return Object.prototype.toString.call(t).split(" ")[1].slice(0,-1)}function i(t){if("Array"==n(t))return t.slice();if("Object"==n(t)){var e={};for(var r in t)e[r]=i(t[r]);return e}return t}e.exports=function(t,e,r){var o,a={},s=e;if("+"==e?e=["string_a","o_object"]:"-"==e?e=["number_a"]:"^"==e?e=["number","string","o_object"]:"r"==e?e=["o_number"]:"l"==e&&(e=["string","o_function"]),"o_object"==e[e.length-1]?"Object"!=n(t[t.length-1])&&t.push({}):"o_number"==e[e.length-1]?"number"!=typeof t[t.length-1]&&"Object"!=n(t[0])&&t.push(1):"o_function"==e[e.length-1]&&"Function"!=n(t[t.length-1])&&"Object"!=n(t[0])&&t.push(function(){}),t.length==e.length)for(var u in e)"_a"==e[u].substr(e[u].length-2,2)&&(t[u]="Array"==n(o=t[u])?o:[o]);if(1==t.length)"r"==s?a={0:i(t[0])}:"-"==s&&(a=[],a=i(t[0]));else if("r"==s)for(var l in t[0])a={0:t[0]};else if("l"==s)a={image:t[0],callback:t[1]};else{if(a=[],"+"==s)for(var c in t[0])a.push({name:t[0][c],o:t[1]});if("^"==s){var h=this.steps.length,p=t[0];(p=p==h?p:p%h)<0&&(p+=h+1),a.push({index:p,name:t[1],o:t[2]})}}return a}},{}],200:[function(t,e,r){if("undefined"!=typeof window)n=!0;else var n=!1;t("./util/getStep.js"),ImageSequencer=function(e){var r="ImageSequencer"==this.name?this:this.sequencer;function i(t){return Object.prototype.toString.call(t).split(" ")[1].slice(0,-1)}function a(t){if("Array"==i(t))return t.slice();if("Object"==i(t)){var e={};for(var r in t)e[r]=a(t[r]);return e}return t}(e=e||{}).inBrowser=void 0===e.inBrowser?n:e.inBrowser,e.sequencerCounter=0;var s=t("./Modules"),u=t("./SavedSequences.json"),l=t("./FormatInput"),c=[],h=t("./ui/UserInterface")(),p=t("fs");if(e.inBrowser){for(o in r)s[o]=r[o];(u=JSON.parse(window.localStorage.getItem("sequences")))||(u={},window.localStorage.setItem("sequences",JSON.stringify(u)))}function f(){var e,r="ImageSequencer"==this.name?this:this.sequencer,n=[];for(var i in arguments)n.push(a(arguments[i]));for(var o in e=l.call(r,n,"+"),c.push({method:"addSteps",json_q:a(e)}),e)t("./AddStep")(r,e[o].name,e[o].o);return this}function d(){var e=[],r=this.getSteps().slice(1).map(t=>t.options.name),n=this;for(var i in n.image=arguments[0],arguments)e.push(a(arguments[i]));var o=l.call(this,e,"l");0!=this.getSteps().length&&(this.options.sequencerCounter=0,c=[],this.steps=[]),c.push({method:"loadImages",json_q:a(o)});var s={name:"ImageSequencer Wrapper",sequencer:this,addSteps:this.addSteps,removeSteps:this.removeSteps,insertSteps:this.insertSteps,run:this.run,UI:this.UI,setUI:this.setUI};t("./ui/LoadImage")(n,"image",o.image,function(){var t;t=n,0!=r.length&&(t.addSteps(r),r=[]),o.callback.call(s)})}function m(t){var e={};if("load-image"==t)return{};if(0==arguments.length){for(var r in this.modules)e[r]=s[r][1];for(var n in this.sequences)e[n]={name:n,steps:this.sequences[n]}}else e=s[t]?s[t][1]:{inputs:u[t].options};return e}var g=t("./Strings.js")(this.steps,m,f,a);return{name:"ImageSequencer",options:e,inputlog:c,modules:s,sequences:u,events:h,steps:[],image:void 0,loadImages:d,loadImage:d,addSteps:f,removeSteps:function(){var t,e="ImageSequencer"==this.name?this:this.sequencer,r=[];for(var n in arguments)r.push(a(arguments[n]));var i,o,s=l.call(e,r,"-");for(var u in c.push({method:"removeSteps",json_q:a(s)}),t=s.sort(function(t,e){return e-t}))i=e,(o=t[u])>0&&(thisStep=i.steps[o],thisStep.UI.onRemove(thisStep.options.step),i.steps.splice(o,1));return this},insertSteps:function(){var e="ImageSequencer"==this.name?this:this.sequencer,r=[];for(var n in arguments)r.push(arguments[n]);var i=l.call(e,r,"^");c.push({method:"insertSteps",json_q:a(i)});var o=i;for(var s in o=o.sort(function(t,e){return e.index-t.index}))t("./InsertStep")(e,o[s].index,o[s].name,o[s].o);return this},replaceImage:function(e,r,n){return(n=n||{}).callback=n.callback||function(){},t("./ReplaceImage")(this,e,r,n)},run:function(e){var r,n=0;(e=e||{mode:"no-arg"}).index&&(n=e.index),"no-arg"!=e.mode&&"function"!=typeof e&&(e.progressObj&&(r=e.progressObj),delete arguments[0]);var o="ImageSequencer"==this.name?this:this.sequencer,s=[];for(var u in arguments)s.push(a(arguments[u]));var c=function(){};for(var u in s)"Function"==i(s[u])&&(c=s.splice(u,1)[0]);var h=l.call(o,s,"r");return t("./Run")(o,h,c,n,r),!0},setUI:function(e){this.events=t("./ui/UserInterface")(e)},exportBin:function(e,r,n){return t("./ExportBin")(e,this,r,n)},modulesInfo:m,toCliString:g.toCliString,detectStringSyntax:g.detectStringSyntax,parseStringSyntax:g.parseStringSyntax,stringToSteps:g.stringToSteps,toString:g.toString,stepToString:g.stepToString,toJSON:g.toJSON,stringToJSON:g.stringToJSON,stringToJSONstep:g.stringToJSONstep,importString:g.importString,importJSON:g.importJSON,loadNewModule:function(e,r){if(!r)return this;if(Array.isArray(r))this.modules[e]=r;else if(r.func&&r.info)this.modules[e]=[r.func,r.info];else if(r.path&&!this.inBrowser){const n=[t(`${r.path}/Module.js`),t(`${r.path}/info.json`)];this.modules[e]=n}return this},saveNewModule:function(t,r){if(!e.inBrowser){var n=p.readFileSync("./src/Modules.js").toString();n=n.substr(0,n.length-1)+" '"+t+"': require('"+r+"'),\n}",p.writeFileSync("./src/Modules.js",n)}},createMetaModule:t("./util/createMetaModule"),saveSequence:function(r,n){const i=stringToJSON(n);var o;e.inBrowser?((o=JSON.parse(window.localStorage.getItem("sequences")))[r]=i,window.localStorage.setItem("sequences",JSON.stringify(o))):((o=t("./SavedSequences.json"))[r]=i,p.writeFileSync("./src/SavedSequences.json",JSON.stringify(o)))},loadModules:function(){this.modules=t("./Modules"),e.inBrowser?this.sequences=JSON.parse(window.localStorage.getItem("sequences")):this.sequences=t("./SavedSequences.json")},getSteps:function(){return this.steps},log:function(t,r){"none"!=e.ui&&(1==arguments.length?console.log(arguments[0]):2==arguments.length&&console.log(t,r))},objTypeOf:i,copy:a,setInputStep:t("./ui/SetInputStep")(r)}},e.exports=ImageSequencer},{"./AddStep":197,"./ExportBin":198,"./FormatInput":199,"./InsertStep":201,"./Modules":202,"./ReplaceImage":203,"./Run":204,"./SavedSequences.json":206,"./Strings.js":207,"./ui/LoadImage":351,"./ui/SetInputStep":352,"./ui/UserInterface":353,"./util/createMetaModule":355,"./util/getStep.js":357,fs:70}],201:[function(t,e,r){t("./util/getStep.js");e.exports=function(t,e,r,n){if(t.sequences[r])return t.importJSON(t.sequences[r]);if(t.detectStringSyntax(r))return t.stringToSteps(r);!function(e,r,n){if(t.modules[r])var i=t.modules[r][1];else console.log("Module "+r+" not found.");var o=t.copy(n);o.number=t.options.sequencerCounter++,o.name=n.name||r||i.name,o.description=n.description||i.description,o.moduleInfo=n.moduleInfo||i,o.selector=n.selector||"ismod-"+r,o.container=n.container||t.options.selector,o.inBrowser=t.options.inBrowser,o.useWasm=!1!==t.options.useWasm,-1==e&&(e=t.steps.length),o.step={name:o.name,description:o.description,moduleInfo:o.moduleInfo,ID:o.number,inBrowser:t.options.inBrowser,ui:t.options.ui,options:o};var a=t.events;t.modules[r].expandSteps=function(r){for(var n in r){let i=r[n];t.insertSteps(e+Number.parseInt(n),i.name,i.options)}},o=o||{},t.modules[r][1].length?t.modules[r][0](o,a):(a.onSetup(o.step,{index:e}),t.steps.splice(e,0,t.modules[r][0](o,a)))}(e,r,n),t.steps=t.steps}},{"./util/getStep.js":357}],202:[function(t,e,r){e.exports={"add-qr":t("./modules/AddQR"),average:t("./modules/Average"),blend:t("./modules/Blend"),blur:t("./modules/Blur"),brightness:t("./modules/Brightness"),"canvas-resize":t("./modules/CanvasResize"),channel:t("./modules/Channel"),colorbar:t("./modules/Colorbar"),"color-temperature":t("./modules/ColorTemperature"),colormap:t("./modules/Colormap"),contrast:t("./modules/Contrast"),convolution:t("./modules/Convolution"),crop:t("./modules/Crop"),"decode-qr":t("./modules/DecodeQr"),dither:t("./modules/Dither"),"draw-rectangle":t("./modules/DrawRectangle"),dynamic:t("./modules/Dynamic"),"edge-detect":t("./modules/EdgeDetect"),exposure:t("./modules/Exposure"),"flip-image":t("./modules/FlipImage"),"fisheye-gl":t("./modules/FisheyeGl"),histogram:t("./modules/Histogram"),"gamma-correction":t("./modules/GammaCorrection"),gradient:t("./modules/Gradient"),"grid-overlay":t("./modules/GridOverlay"),"import-image":t("./modules/ImportImage"),invert:t("image-sequencer-invert"),ndvi:t("./modules/Ndvi"),"ndvi-colormap":t("./modules/NdviColormap"),"noise-reduction":t("./modules/NoiseReduction"),overlay:t("./modules/Overlay"),"paint-bucket":t("./modules/PaintBucket"),"replace-color":t("./modules/ReplaceColor"),resize:t("./modules/Resize"),rotate:t("./modules/Rotate"),saturation:t("./modules/Saturation"),"text-overlay":t("./modules/TextOverlay"),threshold:t("./modules/Threshold"),tint:t("./modules/Tint"),"webgl-distort":t("./modules/WebglDistort"),"white-balance":t("./modules/WhiteBalance")}},{"./modules/AddQR":210,"./modules/Average":213,"./modules/Blend":216,"./modules/Blur":220,"./modules/Brightness":223,"./modules/CanvasResize":226,"./modules/Channel":229,"./modules/ColorTemperature":232,"./modules/Colorbar":235,"./modules/Colormap":239,"./modules/Contrast":243,"./modules/Convolution":247,"./modules/Crop":252,"./modules/DecodeQr":255,"./modules/Dither":259,"./modules/DrawRectangle":263,"./modules/Dynamic":266,"./modules/EdgeDetect":270,"./modules/Exposure":273,"./modules/FisheyeGl":276,"./modules/FlipImage":280,"./modules/GammaCorrection":283,"./modules/Gradient":286,"./modules/GridOverlay":290,"./modules/Histogram":293,"./modules/ImportImage":297,"./modules/Ndvi":301,"./modules/NdviColormap":304,"./modules/NoiseReduction":308,"./modules/Overlay":311,"./modules/PaintBucket":315,"./modules/ReplaceColor":319,"./modules/Resize":322,"./modules/Rotate":325,"./modules/Saturation":328,"./modules/TextOverlay":332,"./modules/Threshold":336,"./modules/Tint":339,"./modules/WebglDistort":343,"./modules/WhiteBalance":346,"image-sequencer-invert":85}],203:[function(t,e,r){e.exports=function(t,e,r,n){if(!t.options.inBrowser)return!1;var i=ImageSequencer({ui:!1});if(window.hasOwnProperty("$"))var o=$(e);else o=document.querySelectorAll(e);for(var a=[],s=0;s<o.length;s++)o[s]instanceof HTMLImageElement&&a.push(o[s]);function u(e,r){var n=e.src,o=n.split("?")[0].split(".").pop(),a=new XMLHttpRequest;function s(n){i.loadImage(n,function(){var n=this.addSteps(r);t.detectStringSyntax(r)&&(n=this.stringToSteps(r)),n.run({stop:function(){}},function(t){e.src=t})})}a.open("GET",n,!0),a.responseType="arraybuffer",a.onload=function(t){var e,r,n,i=new Uint8Array(this.response),a="";for(e=0,r=i.length;e<r;e+=5e3)n=i.subarray(e,e+5e3),a+=String.fromCharCode.apply(null,n);var u=btoa(a);s("data:image/"+o+";base64,"+u)},"data:image/"!=n.substr(0,11).toLowerCase()?a.send():s(n)}for(s=0;s<a.length;s++)u(a[s],r),s==a.length-1&&n.callback()}},{}],204:[function(t,e,r){const n=t("./util/getStep.js");e.exports=function(e,r,i,o,a){return a||(a={stop:function(){}}),function(r){for(var s=[],u=e.steps.length,l=r[0],c=0;c<u-l;c++)s.push({i:l+c});!function r(o,s){if(s==o.length&&void 0!==o[s-1]&&"Function"==e.objTypeOf(i)&&e.steps.slice(-1)[0].output){var u=e.steps,l=u[u.length-1].output.src;return i(l),!0}if(void 0!==o[s]){var c=o[s].i,h=e.steps[c-1].output,p=e.steps[c];for(var f in p.getStep=function(t){return c+t>=e.steps.length?{options:{name:void 0}}:e.steps.slice(c+t)[0]},p.getIndex=function(){return c},n)n.hasOwnProperty(f)&&(p[f]=n[f]);p.UI.onDraw(p.options.step);var d=t("./RunToolkit")(e.copy(h));p.draw(d,function(){e.steps[c].options.step.output=e.steps[c].output.src,e.steps[c].UI.onComplete(e.steps[c].options.step),r(o,++s)},a)}}(s,o)}(r=function(t){0==t[0]&&1==e.steps.length?delete t[0]:0==t[0]&&t[0]++;for(var r=e.steps[t[0]-1];void 0===r||void 0===r.output;)r=e.steps[--t[0]-1];return t}(r))}},{"./RunToolkit":205,"./util/getStep.js":357}],205:[function(t,e,r){const n=t("get-pixels"),i=t("./modules/_nomodule/PixelManipulation"),o=t("lodash"),a=t("data-uri-to-buffer"),s=t("save-pixels");e.exports=function(t){return t.getPixels=n,t.pixelManipulation=i,t.lodash=o,t.dataUriToBuffer=a,t.savePixels=s,t}},{"./modules/_nomodule/PixelManipulation":348,"data-uri-to-buffer":16,"get-pixels":26,lodash:99,"save-pixels":186}],206:[function(t,e,r){e.exports={sample:[{name:"invert",options:{}},{name:"channel",options:{channel:"red"}},{name:"blur",options:{blur:"5"}}]}},{}],207:[function(t,e,r){e.exports=function(t,e,r,n){function i(t){return!(!t.includes(",")&&!t.includes("{"))}function o(t){return t.replace(/\s/g,"").split(",")}function a(t){var r=t.name?t.name:t.options.name;let n=e(r).inputs||{},i={};for(let e in n)t.options[e]&&t.options[e]!=n[e].default&&(i[e]=t.options[e],i[e]=encodeURIComponent(i[e]));return`${r}{${Object.keys(i).map(t=>t+":"+i[t]).join("|")}}`}function s(t){let e;return(e=i(t)?o(t):[t]).map(u)}function u(t){var e;if(e=t.includes("{")?t.includes("(")&&t.indexOf("(")<t.indexOf("{")?["(",")"]:["{","}"]:["(",")"],-1===t.indexOf(e[0])){var r=t.substr(0);stepSettings=""}else{r=t.substr(0,t.indexOf(e[0]));stepSettings=t.slice(t.indexOf(e[0])+1,-1)}return stepSettings=stepSettings.split("|").reduce(function(t,e,r){var n=e.substr(0,e.indexOf(":")),i=e.substr(e.indexOf(":")+1);return i=(i=i.replace(/^\(/,"")).replace(/^\{/,"").replace(/\}$/,""),e=[n,i=decodeURIComponent(i)],n&&(t[n]=i),t},{}),{name:r,options:stepSettings}}return{toCliString:function(){var t='"',r={};for(var n in this.steps){var i=void 0!==this.steps[n].options?this.steps[n].options.name:this.steps[n].name;for(var o in"load-image"!==i&&(t+=`${i} `),e(i).inputs)r[o]=this.steps[n].options[o]}return`sequencer -i [PATH] -s ${t=t.substr(0,t.length-1)+'"'} -d '${JSON.stringify(r)}'`},detectStringSyntax:i,parseStringSyntax:o,stringToSteps:function(t){let e=this,r=[];"ImageSequencer"!=this.name&&(e=this.sequencer),i(t)&&(r=s(t)),r.forEach(function(t){e.addSteps(t.name,t.options)})},toString:function(t){return t?a(t):n(this.steps.map(a).slice(1).join(","))},stepToString:a,toJSON:function(){return this.stringToJSON(this.toString())},stringToJSON:s,stringToJSONstep:u,importString:function(t){let e=this;"ImageSequencer"!=this.name&&(e=this.sequencer),s(t).forEach(function(t){e.addSteps(t.name,t.options)})},importJSON:function(t){let e=this;"ImageSequencer"!=this.name&&(e=this.sequencer),t.forEach(function(t){e.addSteps(t.name,t.options)})}}}},{}],208:[function(t,e,r){e.exports=function(e,r){var n=t("./../../util/getDefaults.js")(t("./info.json"));return e.size=e.size||n.size,e.qrCodeString=e.qrCodeString||"https://github.com/publiclab/image-sequencer",getPixels=t("get-pixels"),{options:e,draw:function(r,n,i){i.stop(!0),i.overrideFlag=!0;var o=this;return getPixels(r.src,function(i,a){return t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){o.output={src:e,format:r}},ui:e.step.ui,changePixel:function(t,e,r,n){return[t,e,r,n]},extraManipulation:function(r,n){i?console.log(i):t("./QR")(e,r,a,n)},format:r.format,image:e.image,inBrowser:e.inBrowser,callback:n,useWasm:e.useWasm})})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348,"./../../util/getDefaults.js":356,"./QR":209,"./info.json":211,"get-pixels":26}],209:[function(t,e,r){e.exports=function(e,r,n,i){t("qrcode").toDataURL(e.qrCodeString,function(o,a){t("get-pixels")(a,function(o,a){o&&console.log("Bad image path",image);var s=new(t("imagejs").Bitmap)({width:a.shape[0],height:a.shape[1]});s._data.data=a.data;var u=s.resize({width:e.size,height:e.size,algorithm:"bicubicInterpolation"});a.data=u._data.data,a.shape=[e.size,e.size,4],a.stride[1]=4*e.size;for(var l=n.shape[0],c=n.shape[1],h=l-e.size,p=c-e.size,f=0;f<l;f++)for(var d=0;d<c;d++)f>=h&&d>=p?(r.set(f,d,0,a.get(f-h,d-p,0)),r.set(f,d,1,a.get(f-h,d-p,1)),r.set(f,d,2,a.get(f-h,d-p,2)),r.set(f,d,3,a.get(f-h,d-p,3))):(r.set(f,d,0,n.get(f,d,0)),r.set(f,d,1,n.get(f,d,1)),r.set(f,d,2,n.get(f,d,2)),r.set(f,d,3,n.get(f,d,3)));i()})})}},{"get-pixels":26,imagejs:86,qrcode:137}],210:[function(t,e,r){e.exports=[t("./Module"),t("./info.json")]},{"./Module":208,"./info.json":211}],211:[function(t,e,r){e.exports={name:"add-qr",description:"Adds QR corresponding to the given string",url:"https://github.com/publiclab/image-sequencer/tree/master/MODULES.md",inputs:{size:{type:"integer",desc:"size of QR code in pixels",default:200},qrCodeString:{type:"string",desc:"input string to generate QR code",default:"https://github.com/publiclab/image-sequencer"}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#add-qr-module"}},{}],212:[function(t,e,r){e.exports=function(e,r){return e.step.metadata=e.step.metadata||{},{options:e,draw:function(r,n,i){i.stop(!0),i.overrideFlag=!0;var o=this;return t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){o.output={src:e,format:r}},ui:e.step.ui,extraManipulation:function(t){for(var r=0,n=[0,0,0,0];r<t.data.length;)n[0]+=t.data[r++],n[1]+=t.data[r++],n[2]+=t.data[r++],n[3]+=t.data[r++];let i=t.data.length/4;for(n[0]=Math.floor(n[0]/i),n[1]=Math.floor(n[1]/i),n[2]=Math.floor(n[2]/i),n[3]=Math.floor(n[3]/i),r=0;r<t.data.length;)t.data[r++]=n[0],t.data[r++]=n[1],t.data[r++]=n[2],t.data[r++]=n[3];return e.step.metadata.averages=n,e.step.inBrowser&&e.step.ui&&$(e.step.ui).find(".details").append("<p><b>Averages</b> (r, g, b, a): "+n.join(", ")+"</p>"),t},format:r.format,image:e.image,callback:n,useWasm:e.useWasm})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348}],213:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":212,"./info.json":214,dup:210}],214:[function(t,e,r){e.exports={name:"average",description:"Average all pixel color",inputs:{},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#average-module"}},{}],215:[function(require,module,exports){module.exports=function Dynamic(options,UI,util){var defaults=require("./../../util/getDefaults.js")(require("./info.json")),output;function draw(input,callback,progressObj){progressObj.stop(!0),progressObj.overrideFlag=!0;var step=this;"string"==typeof options.func&&eval("options.func = "+options.func);var getPixels=require("get-pixels");"string"==typeof options.offset&&(options.offset=parseInt(options.offset));var priorStep=this.getStep(options.offset);void 0===priorStep.output&&(this.output=input,UI.notify("Offset Unavailable","offset-notification"),callback()),getPixels(priorStep.output.src,function(t,e){return options.firstImagePixels=e,require("../_nomodule/PixelManipulation.js")(input,{output:function(t,e,r){step.output={src:e,format:r}},ui:options.step.ui,changePixel:function(t,e,r,n,i,o){let a=options.firstImagePixels;return options.func(t,e,r,n,a.get(i,o,0),a.get(i,o,1),a.get(i,o,2),a.get(i,o,3))},format:input.format,image:options.image,inBrowser:options.inBrowser,callback:callback,useWasm:options.useWasm})})}return options.func=options.func||defaults.blend,options.offset=options.offset||defaults.offset,{options:options,draw:draw,output:output,UI:UI}}},{"../_nomodule/PixelManipulation.js":348,"./../../util/getDefaults.js":356,"./info.json":217,"get-pixels":26}],216:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":215,"./info.json":217,dup:210}],217:[function(t,e,r){e.exports={name:"blend",description:"Blend two chosen image steps with the given function. Defaults to using the red channel from image 1 and the green and blue and alpha channels of image 2. Easier to use interfaces coming soon!",inputs:{offset:{type:"integer",desc:"Choose which image to blend the current image with. Two steps back is -2, three steps back is -3 etc.",default:-2},blend:{type:"string",desc:"Function to use to blend the two images.",default:"function(r1, g1, b1, a1, r2, g2, b2, a2) { return [ r1, g2, b2, a2 ] }"}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#blend-module"}},{}],218:[function(t,e,r){e.exports=function(e,r){let n=function(t=1){let e=[],r=0;0==t&&(t+=.05);const n=2*Math.pow(t,2);for(let t=-2;t<=2;t++){e.push([]);for(let i=-2;i<=2;i++){let o=Math.sqrt(Math.pow(i,2)+Math.pow(t,2));e[t+2].push(Math.exp(-o/n)),r+=e[t+2][i+2]}}for(let t=0;t<5;t++)for(let n=0;n<5;n++)e[n][t]=e[n][t]/r;return e}(r),i={r:[],g:[],b:[]};for(let t=0;t<e.shape[1];t++){i.r.push([]),i.g.push([]),i.b.push([]);for(let r=0;r<e.shape[0];r++)i.r[t].push(e.get(r,t,0)),i.g[t].push(e.get(r,t,1)),i.b[t].push(e.get(r,t,2))}const o=(0,t("../_nomodule/gpuUtils").convolve)([i.r,i.g,i.b],n);for(let t=0;t<e.shape[1];t++)for(let r=0;r<e.shape[0];r++)e.set(r,t,0,Math.max(0,Math.min(o[0][t][r],255))),e.set(r,t,1,Math.max(0,Math.min(o[1][t][r],255))),e.set(r,t,2,Math.max(0,Math.min(o[2][t][r],255)));return e}},{"../_nomodule/gpuUtils":350}],219:[function(t,e,r){e.exports=function(e,r){var n=t("./../../util/getDefaults.js")(t("./info.json"));return e.blur=e.blur||n.blur,e.blur=parseFloat(e.blur),{options:e,draw:function(r,n,i){i.stop(!0),i.overrideFlag=!0;var o=this;return t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){o.output={src:e,format:r}},ui:e.step.ui,extraManipulation:function(r){return r=t("./Blur")(r,e.blur)},format:r.format,image:e.image,callback:n,useWasm:e.useWasm})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348,"./../../util/getDefaults.js":356,"./Blur":218,"./info.json":221}],220:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":219,"./info.json":221,dup:210}],221:[function(t,e,r){e.exports={name:"blur",description:"Applies a Gaussian blur given by the intensity value",inputs:{blur:{type:"float",desc:"Amount of gaussian blur(Less blur gives more detail, typically 0-5)",default:2,min:0,max:5,step:.05}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#blur-module"}},{}],222:[function(t,e,r){e.exports=function(e,r){var n=t("./../../util/getDefaults.js")(t("./info.json"));return{options:e,draw:function(r,i,o){e.brightness=e.brightness||n.brightness,o.stop(!0),o.overrideFlag=!0;var a=this,s=e.brightness/100;return t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){a.output={src:e,format:r}},ui:e.step.ui,changePixel:function(t,e,r,n){return[t=Math.min(s*t,255),e=Math.min(s*e,255),r=Math.min(s*r,255),n]},format:r.format,image:e.image,inBrowser:e.inBrowser,callback:i,useWasm:e.useWasm})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348,"./../../util/getDefaults.js":356,"./info.json":224}],223:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":222,"./info.json":224,dup:210}],224:[function(t,e,r){e.exports={name:"brightness",description:"Change the brightness of the image by given percent value",inputs:{brightness:{type:"integer",desc:"% brightness for the new image",default:"175",min:"0",max:"200"}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#brightness-module"}},{}],225:[function(t,e,r){e.exports=function(e,r){var n=t("./../../util/getDefaults.js")(t("./info.json"));return{options:e,draw:function(r,i,o){e.width=parseInt(e.width||n.width),e.height=parseInt(e.height||n.height),e.x=parseInt(e.x||n.x),e.y=parseInt(e.y||n.y),o.stop(!0),o.overrideFlag=!0;var a=this;return t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){a.output={src:e,format:r}},ui:e.step.ui,extraManipulation:function(r){let n=t("ndarray")(new Uint8Array(4*e.width*e.height).fill(0),[e.width,e.height,4]),i=e.width-e.x,o=e.height-e.y;for(let t=0;t<i&&t<r.shape[0];t++)for(let i=0;i<o&&i<r.shape[1];i++){let o=t+e.x,a=i+e.y;n.set(o,a,0,r.get(t,i,0)),n.set(o,a,1,r.get(t,i,1)),n.set(o,a,2,r.get(t,i,2)),n.set(o,a,3,r.get(t,i,3))}return n},format:r.format,image:e.image,inBrowser:e.inBrowser,callback:i,useWasm:e.useWasm})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348,"./../../util/getDefaults.js":356,"./info.json":227,ndarray:105}],226:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":225,"./info.json":227,dup:210}],227:[function(t,e,r){e.exports={name:"canvas-resize",description:"This module resizes the canvas and overlays the ouput of the previous step at given location",inputs:{width:{type:"integer",desc:"Final width of the canvas",default:1e3},height:{type:"integer",desc:"Final height of the canvas",default:1e3},x:{type:"integer",desc:"X-cord of the top left corner of the image on the canvas",default:500},y:{type:"float",desc:"Y-cord of the top left corner of the image on the canvas",default:500}}}},{}],228:[function(t,e,r){e.exports=function(e,r){var n=t("./../../util/getDefaults.js")(t("./info.json"));return e.channel=e.channel||n.channel,{options:e,draw:function(r,n,i){i.stop(!0),i.overrideFlag=!0;var o=this;return t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){o.output={src:e,format:r}},ui:e.step.ui,changePixel:function(t,r,n,i){return"red"===e.channel?[t,0,0,i]:"green"===e.channel?[0,r,0,i]:"blue"===e.channel?[0,0,n,i]:void 0},format:r.format,image:e.image,inBrowser:e.inBrowser,callback:n,useWasm:e.useWasm})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348,"./../../util/getDefaults.js":356,"./info.json":230}],229:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":228,"./info.json":230,dup:210}],230:[function(t,e,r){e.exports={name:"channel",description:"Displays only one color channel of an image -- default is green",inputs:{channel:{type:"select",desc:"Color channel",default:"green",values:["red","green","blue"]}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#channel-module"}},{}],231:[function(t,e,r){e.exports=function(e,r){return{options:e,draw:function(r,n,i){e.temperature=e.temperature>"40000"?"40000":e.temperature,i.stop(!0),i.overrideFlag=!0;var o=this;return t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){o.output={src:e,format:r}},ui:e.step.ui,extraManipulation:function(t){let r,n,i,o=parseInt(e.temperature);(o/=100)<=66?(r=255,n=Math.min(Math.max(99.4708025861*Math.log(o)-161.1195681661,0),255)):(r=Math.min(Math.max(329.698727446*Math.pow(o-60,-.1332047592),0),255),n=Math.min(Math.max(288.1221695283*Math.pow(o-60,-.0755148492),0),255)),o>=66?i=255:o<=19?i=0:(i=o-10,i=Math.min(Math.max(138.5177312231*Math.log(i)-305.0447927307,0),255));for(let e=0;e<t.shape[0];e++)for(let o=0;o<t.shape[1];o++)r_data=t.get(e,o,0),r_new_data=255/r*r_data,t.set(e,o,0,r_new_data),g_data=t.get(e,o,1),g_new_data=255/n*g_data,t.set(e,o,1,g_new_data),b_data=t.get(e,o,2),b_new_data=255/i*b_data,t.set(e,o,2,b_new_data);return t},format:r.format,image:e.image,inBrowser:e.inBrowser,callback:n,useWasm:e.useWasm})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348}],232:[function(t,e,r){e.exports=[t("./Module"),t("./info.json")]},{"./Module":231,"./info.json":233}],233:[function(t,e,r){e.exports={name:"color-temperature",description:"Changes the color temperature of the image.",inputs:{temperature:{type:"integer",desc:"Temperature between 0 - 40,000 Kelvin",default:6e3}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#color-temperature"}},{}],234:[function(t,e,r){e.exports=t("../../util/createMetaModule.js")(function(t){return[{name:"gradient",options:{}},{name:"colormap",options:{colormap:t.colormap}},{name:"crop",options:{y:0,h:t.h}},{name:"overlay",options:{x:t.x,y:t.y,offset:-4}}]},{infoJson:t("./info.json")})[0]},{"../../util/createMetaModule.js":355,"./info.json":236}],235:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":234,"./info.json":236,dup:210}],236:[function(t,e,r){e.exports={name:"colorbar",description:"Generates a colorbar to lay over the image",inputs:{colormap:{type:"select",desc:"Name of the Colormap",default:"default",values:["default","greyscale","stretched","fastie"]},x:{type:"integer",desc:"X-position of the image on which the new image is overlayed",default:0},y:{type:"integer",desc:"Y-position of the image on which the new image is overlayed",default:0},h:{type:"integer",desc:"height of the colorbar",default:10}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#colorbar-module"}},{}],237:[function(t,e,r){function n(t){return function(e){var r,n,i,o,a,s,u,l,c,h,p,f,d,m;if(s=(p=[0,0])[0],u=p[1],o=(f=[t[0][0],1])[1],e<(i=f[0]))return s;for(r=l=0,h=t.length;l<h;r=++l){if(a=(d=t[r])[0],s=d[1],u=d[2],i=a,r===t.length-1){o=1;break}if(o=t[r+1][0],a<=e&&e<o)break}for(n=[],r=c=0,m=s.length;0<=m?c<m:c>m;r=0<=m?++c:--c)n[r]=(e-i)/(o-i)*(u[r]-s[r])+s[r];return n}}e.exports=function(t,e){return e.colormap=e.colormap||i.default,"object"==typeof e.colormap?colormapFunction=n(e.colormap):i.hasOwnProperty(e.colormap)?colormapFunction=i[e.colormap]:colormapFunction=i.default,colormapFunction(t/255)};var i={greyscale:n([[0,[0,0,0],[255,255,255]],[1,[255,255,255],[255,255,255]]]),bluwhtgrngis:n([[0,[6,23,86],[6,25,84]],[.0625,[6,25,84],[6,25,84]],[.125,[6,25,84],[6,25,84]],[.1875,[6,25,84],[6,25,84]],[.25,[6,25,84],[6,25,84]],[.3125,[6,25,84],[9,24,84]],[.3438,[9,24,84],[119,120,162]],[.375,[119,129,162],[249,250,251]],[.406,[249,250,251],[255,255,255]],[.4375,[255,255,255],[255,255,255]],[.5,[255,255,255],[214,205,191]],[.52,[214,205,191],[178,175,96]],[.5625,[178,175,96],[151,176,53]],[.593,[151,176,53],[146,188,12]],[.625,[146,188,12],[96,161,1]],[.6875,[96,161,1],[30,127,3]],[.75,[30,127,3],[0,99,1]],[.8125,[0,99,1],[0,74,1]],[.875,[0,74,1],[0,52,0]],[.9375,[0,52,0],[0,34,0]],[.968,[0,34,0],[68,70,67]]]),brntogrn:n([[0,[110,12,3],[118,6,1]],[.0625,[118,6,1],[141,19,6]],[.125,[141,19,6],[165,35,13]],[.1875,[165,35,13],[177,59,25]],[.2188,[177,59,25],[192,91,36]],[.25,[192,91,36],[214,145,76]],[.3125,[214,145,76],[230,183,134]],[.375,[230,183,134],[243,224,194]],[.4375,[243,224,194],[250,252,229]],[.5,[250,252,229],[217,235,185]],[.5625,[217,235,185],[184,218,143]],[.625,[184,218,143],[141,202,89]],[.6875,[141,202,89],[80,176,61]],[.75,[80,176,61],[0,147,32]],[.8125,[0,147,32],[1,122,22]],[.875,[1,122,22],[0,114,19]],[.9,[0,114,19],[0,105,18]],[.9375,[0,105,18],[7,70,14]]]),blutoredjet:n([[0,[0,0,140],[1,1,186]],[.0625,[1,1,186],[0,1,248]],[.125,[0,1,248],[0,70,254]],[.1875,[0,70,254],[0,130,255]],[.25,[0,130,255],[2,160,255]],[.2813,[2,160,255],[0,187,255]],[.3125,[0,187,255],[6,250,255]],[.375,[8,252,251],[27,254,228]],[.406,[27,254,228],[70,255,187]],[.4375,[70,255,187],[104,254,151]],[.47,[104,254,151],[132,255,19]],[.5,[132,255,19],[195,255,60]],[.5625,[195,255,60],[231,254,25]],[.5976,[231,254,25],[253,246,1]],[.625,[253,246,1],[252,210,1]],[.657,[252,210,1],[255,183,0]],[.6875,[255,183,0],[255,125,2]],[.75,[255,125,2],[255,65,1]],[.8125,[255,65,1],[247,1,1]],[.875,[247,1,1],[200,1,3]],[.9375,[200,1,3],[122,3,2]]]),colors16:n([[0,[0,0,0],[0,0,0]],[.0625,[3,1,172],[3,1,172]],[.125,[3,1,222],[3,1,222]],[.1875,[0,111,255],[0,111,255]],[.25,[3,172,255],[3,172,255]],[.3125,[1,226,255],[1,226,255]],[.375,[2,255,0],[2,255,0]],[.4375,[198,254,0],[190,254,0]],[.5,[252,255,0],[252,255,0]],[.5625,[255,223,3],[255,223,3]],[.625,[255,143,3],[255,143,3]],[.6875,[255,95,3],[255,95,3]],[.75,[242,0,1],[242,0,1]],[.8125,[245,0,170],[245,0,170]],[.875,[223,180,225],[223,180,225]],[.9375,[255,255,255],[255,255,255]]]),default:n([[0,[45,1,121],[25,1,137]],[.125,[25,1,137],[0,6,156]],[.1875,[0,6,156],[7,41,172]],[.25,[7,41,172],[22,84,187]],[.3125,[22,84,187],[25,125,194]],[.375,[25,125,194],[26,177,197]],[.4375,[26,177,197],[23,199,193]],[.47,[23,199,193],[25,200,170]],[.5,[25,200,170],[21,209,27]],[.5625,[21,209,27],[108,215,18]],[.625,[108,215,18],[166,218,19]],[.6875,[166,218,19],[206,221,20]],[.75,[206,221,20],[222,213,19]],[.7813,[222,213,19],[222,191,19]],[.8125,[222,191,19],[227,133,17]],[.875,[227,133,17],[231,83,16]],[.9375,[231,83,16],[220,61,48]]]),fastie:n([[0,[255,255,255],[0,0,0]],[.167,[0,0,0],[255,255,255]],[.33,[255,255,255],[0,0,0]],[.5,[0,0,0],[140,140,255]],[.55,[140,140,255],[0,255,0]],[.63,[0,255,0],[255,255,0]],[.75,[255,255,0],[255,0,0]],[.95,[255,0,0],[255,0,255]]]),stretched:n([[0,[0,0,255],[0,0,255]],[.1,[0,0,255],[38,195,195]],[.5,[0,150,0],[255,255,0]],[.7,[255,255,0],[255,50,50]],[.9,[255,50,50],[255,50,50]]])}},{}],238:[function(t,e,r){e.exports=function(e,r){return{options:e,draw:function(r,n,i){i.stop(!0),i.overrideFlag=!0;var o=this;return t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){o.output={src:e,format:r}},ui:e.step.ui,changePixel:function(r,n,i,o){var a=(r+n+i)/3,s=t("./Colormap")(a,e);return[s[0],s[1],s[2],255]},format:r.format,image:e.image,inBrowser:e.inBrowser,callback:n,useWasm:e.useWasm})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348,"./Colormap":237}],239:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":238,"./info.json":240,dup:210}],240:[function(t,e,r){e.exports={name:"colormap",description:"Maps brightness values (average of red, green & blue) to a given color lookup table, made up of a set of one more color gradients.\n\nFor example, 'cooler' colors like blue could represent low values, while 'hot' colors like red could represent high values.",inputs:{colormap:{type:"select",desc:"Name of the Colormap",default:"default",values:["default","greyscale","bluwhtgrngis","stretched","fastie","brntogrn","blutoredjet","colors16"]}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#colormap-module"}},{}],241:[function(t,e,r){var n=t("lodash");e.exports=function(t,e){let r=n.cloneDeep(t);(e=Number(e))<-100&&(e=-100),e>100&&(e=100),e=(100+e)/100,e*=e;for(let n=0;n<t.shape[0];n++)for(let s=0;s<t.shape[1];s++){var i=r.get(n,s,0)/255;i-=.5,i*=e,i+=.5,(i*=255)<0&&(i=0),i>255&&(i=255);var o=r.get(n,s,1)/255;o-=.5,o*=e,o+=.5,(o*=255)<0&&(o=0),o>255&&(o=255);var a=r.get(n,s,2)/255;a-=.5,a*=e,a+=.5,(a*=255)<0&&(a=0),a>255&&(a=255),t.set(n,s,0,i),t.set(n,s,1,o),t.set(n,s,2,a)}return t}},{lodash:99}],242:[function(t,e,r){e.exports=function(e,r){var n=t("./../../util/getDefaults.js")(t("./info.json"));return e.contrast=e.contrast||n.contrast,{options:e,draw:function(r,n,i){i.stop(!0),i.overrideFlag=!0;var o=this;return t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){o.output={src:e,format:r}},ui:e.step.ui,extraManipulation:function(r){return r=t("./Contrast")(r,e.contrast)},format:r.format,image:e.image,callback:n,useWasm:e.useWasm})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348,"./../../util/getDefaults.js":356,"./Contrast":241,"./info.json":244}],243:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":242,"./info.json":244,dup:210}],244:[function(t,e,r){e.exports={name:"contrast",description:"Change the contrast of the image by given value",inputs:{contrast:{type:"integer",desc:"contrast for the new image, typically -100 to 100",default:70,min:-100,max:100}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#contrast-module"}},{}],245:[function(t,e,r){t("lodash");e.exports=function(e,r,n,o){let a=function(t,e){for(e=e.split(" "),i=0;i<9;i++)e[i]=Number(e[i])*t;let r=0,n=[];for(y=0;y<3;y++)for(n.push([]),x=0;x<3;x++)n[y].push(e[r]),r+=1;return n}(r,n),s={r:[],g:[],b:[]};for(let t=0;t<e.shape[1];t++){s.r.push([]),s.g.push([]),s.b.push([]);for(let r=0;r<e.shape[0];r++)s.r[t].push(e.get(r,t,0)),s.g[t].push(e.get(r,t,1)),s.b[t].push(e.get(r,t,2))}const u=(0,t("../_nomodule/gpuUtils").convolve)([s.r,s.g,s.b],a,e.shape[0]*e.shape[1]<4e5);for(let t=0;t<e.shape[1];t++)for(let r=0;r<e.shape[0];r++)e.set(r,t,0,Math.max(0,Math.min(u[0][t][r],255))),e.set(r,t,1,Math.max(0,Math.min(u[1][t][r],255))),e.set(r,t,2,Math.max(0,Math.min(u[2][t][r],255)));return e}},{"../_nomodule/gpuUtils":350,lodash:99}],246:[function(t,e,r){e.exports=function(e,r){var n=t("./../../util/getDefaults.js")(t("./info.json"));return e.kernelValues=e.kernelValues||n.kernelValues,e.constantFactor=e.constantFactor||n.constantFactor,e.texMode=e.texMode||n.texMode,{options:e,draw:function(r,n,i){i.stop(!0),i.overrideFlag=!0;var o=this;return t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){o.output={src:e,format:r}},ui:e.step.ui,extraManipulation:function(r){return r=t("./Convolution")(r,e.constantFactor,e.kernelValues,e.texMode)},format:r.format,image:e.image,callback:n,useWasm:e.useWasm})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348,"./../../util/getDefaults.js":356,"./Convolution":245,"./info.json":248}],247:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":246,"./info.json":248,dup:210}],248:[function(t,e,r){e.exports={name:"convolution",description:"Image Convolution using a given 3x3 kernel matrix <a href='https://en.wikipedia.org/wiki/Kernel_(image_processing)'>Read more</a>",inputs:{constantFactor:{type:"float",desc:"a constant factor, multiplies all the kernel values by that factor",default:.111,min:.001,max:2,step:.001},kernelValues:{type:"string",desc:"nine space separated numbers representing the kernel values in left to right and top to bottom format.",default:"1 1 1 1 1 1 1 1 1",placeholder:"1 1 1 1 1 1 1 1 1"}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#convolution-module"}},{}],249:[function(t,e,r){(function(r){e.exports=function(e,n,i){var o=t("./../../util/getDefaults.js")(t("./info.json")),a=t("get-pixels"),s=t("save-pixels");n.x=parseInt(n.x)||o.x,n.y=parseInt(n.y)||o.y,a(e.src,function(t,a){n.w=parseInt(n.w)||Math.floor(a.shape[0]),n.h=parseInt(n.h)||Math.floor(a.shape[1]),n.backgroundColor=n.backgroundColor||o.backgroundColor;var u=n.x,l=n.y,c=n.w,h=n.h,p=a.shape[0],f=a.shape[1],d=[];backgroundColor=n.backgroundColor.substring(n.backgroundColor.indexOf("(")+1,n.backgroundColor.length-1),backgroundColor=backgroundColor.split(",");for(var m=0;m<c;m++)d=d.concat([backgroundColor[0],backgroundColor[1],backgroundColor[2],backgroundColor[3]]);for(var g=[],v=l;v<l+h;v++){if(v<f){var _=4*v*p+4*u,y=4*v*p+4*u+4*c,b=Array.from(a.data.slice(_,y));g.push.apply(g,b)}else g.push.apply(g,d)}var x=Uint8Array.from(g);a.data=x,a.shape=[c,h,4],a.stride[1]=4*c,n.format=e.format;var w=[],k=0,E=s(a,n.format);E.on("data",function(t){k+=t.length,w.push(t)}),E.on("end",function(){var t=r.concat(w,k).toString("base64"),e="data:image/"+n.format+";base64,"+t;i(e,n.format)})})}}).call(this,t("buffer").Buffer)},{"./../../util/getDefaults.js":356,"./info.json":253,buffer:71,"get-pixels":26,"save-pixels":186}],250:[function(t,e,r){e.exports=function(e,r){if(e.step.inBrowser&&!e.noUI)var n=t("./Ui.js")(e.step,r);var i=!1;return{options:e,draw:function(o,a){var s=this;e.step.input=o.src,t("../../util/ParseInputCoordinates")(e,{src:o.src,x:{valInp:e.x,type:"horizontal"},y:{valInp:e.y,type:"vertical"},w:{valInp:e.w,type:"horizontal"},h:{valInp:e.h,type:"vertical"}},function(t,e){t.x=parseInt(e.x.valInp),t.y=parseInt(e.y.valInp),t.w=e.w.valInp,t.h=e.h.valInp}),t("./Crop")(o,e,function(t,o){s.output={src:t,format:o},e.step.output=t,r.onComplete(e.step),n&&n.hide&&n.hide(),!1===i&&e.step.inBrowser&&!e.noUI&&(i=!0,n.setup()),a()})},output:void 0,UI:r}}},{"../../util/ParseInputCoordinates":354,"./Crop":249,"./Ui.js":251}],251:[function(t,e,r){e.exports=function(t,e){let r=0,n=0;function i(){return t.imgElement}function o(t,e,r,n){let o=$($(i()).parents()[3]).find("input");o[0].value=t,o[1].value=e,o[2].value=r,o[3].value=n}return{setup:function(){t.imgElement.src=t.input,r=Math.floor(i().naturalWidth),n=Math.floor(i().naturalHeight),o(0,0,r,n),$(i()).imgAreaSelect({handles:!0,x1:0,y1:0,x2:0+r/2,y2:0+n/2,onSelectEnd:function(t,e){let a=function(t,e,o,a){let s=$(i()).width(),u=$(i()).height();return[Math.floor(t/s*r),Math.floor(e/u*n),Math.floor(o/s*r),Math.floor(a/u*n)]}(e.x1,e.y1,e.width,e.height);o(a[0],a[1],a[2],a[3]),$($(i()).parents()[3]).find("input").trigger("change")}})},remove:function(){$(i()).imgAreaSelect({remove:!0})},hide:function(){$(i()).imgAreaSelect({hide:!0})}}}},{}],252:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":250,"./info.json":253,dup:210}],253:[function(t,e,r){e.exports={name:"crop",description:"Crop image to given x, y, w, h in pixels or % , measured from top left",url:"https://github.com/publiclab/image-sequencer/tree/master/MODULES.md",inputs:{x:{type:"string",desc:"X-position (measured from left) from where cropping starts",default:0},y:{type:"string",desc:"Y-position (measured from top) from where cropping starts",default:0},w:{type:"string",desc:"Width of crop",default:"(50%)"},h:{type:"string",desc:"Height of crop",default:"(50%)"},backgroundColor:{type:"text",desc:"Background Color",default:"rgba(255,255,255,255)",id:"color-picker"}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#crop-module"}},{}],254:[function(t,e,r){e.exports=function(e,r){var n=t("jsqr"),i=t("get-pixels");return{options:e,draw:function(r,o,a){a.stop(!0),a.overrideFlag=!0;var s=this;return i(r.src,function(t,r){if(t)throw t;var i=r.shape[0],o=r.shape[1],a=n(r.data,i,o);e.step.qrval=a?a.data:"undefined"}),t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){s.output={src:e,format:r}},ui:e.step.ui,format:r.format,image:e.image,callback:o,useWasm:e.useWasm})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348,"get-pixels":26,jsqr:98}],255:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":254,"./info.json":256,dup:210}],256:[function(t,e,r){e.exports={name:"decode-qr",description:"Search for and decode a QR code in the image",inputs:{},outputs:{qrval:{type:"string"}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#decodeqr-module"}},{}],257:[function(t,e,r){e.exports=function(t,e){e=e;let r=[[15,135,45,165],[195,75,225,105],[60,180,30,150],[240,120,210,90]],n=[],i=[],o=[];for(let t=0;t<256;t++)n[t]=.299*t,i[t]=.587*t,o[t]=.114*t;let a=t.data.length;for(let e=0;e<=a;e++)t.data[e]=Math.floor(n[t.data[e++]]+i[t.data[e++]]+o[t.data[e++]]);let s,u,l=t.shape[0];for(let n=0;n<=a;n+=4){if("none"===e)t.data[n]=t.data[n]<129?0:255;else if("bayer"===e){let e=n/4%l,i=Math.floor(n/4/l),o=Math.floor((t.data[n]+r[e%4][i%4])/2);t.data[n]=o<129?0:255}else"floydsteinberg"===e?(s=t.data[n]<129?0:255,u=Math.floor((t.data[n]-s)/16),t.data[n]=s,t.data[n+4]+=7*u,t.data[n+4*l-4]+=3*u,t.data[n+4*l]+=5*u,t.data[n+4*l+4]+=1*u):(s=t.data[n]<129?0:255,u=Math.floor((t.data[n]-s)/8),t.data[n]=s,t.data[n+4]+=u,t.data[n+8]+=u,t.data[n+4*l-4]+=u,t.data[n+4*l]+=u,t.data[n+4*l+4]+=u,t.data[n+8*l]+=u);t.data[n+1]=t.data[n+2]=t.data[n]}return t}},{}],258:[function(t,e,r){e.exports=function(e,r){var n=t("./../../util/getDefaults.js")(t("./info.json"));return{options:e,draw:function(r,i,o){o.stop(!0),o.overrideFlag=!0;var a=this;return e.dither=e.dither||n.dither,t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){a.output={src:e,format:r}},ui:e.step.ui,extraManipulation:function(r){return r=t("./Dither")(r,e.dither)},format:r.format,image:e.image,callback:i,useWasm:e.useWasm})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348,"./../../util/getDefaults.js":356,"./Dither":257,"./info.json":260}],259:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":258,"./info.json":260,dup:210}],260:[function(t,e,r){e.exports={name:"dither",description:"Approximates a color from a mixture of other colors when the required color is not available, creating illusions of the color that is not present actually.<a href='https://en.wikipedia.org/wiki/Dither'>Read more</a>",inputs:{dither:{type:"select",desc:"Name of the Dithering Algorithm",default:"none",values:["none","floydsteinberg","bayer","Atkinson"]}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#dither-module"}},{}],261:[function(t,e,r){e.exports=function(e,r){var n=t("./../../util/getDefaults.js")(t("./info.json"));r.startingX=r.startingX||n.startingX,r.startingY=r.startingY||n.startingY;var i=Number(r.startingX),o=Number(r.startingY),a=e.shape[0],s=e.shape[1],u=Number(r.thickness)||n.thickness,l=r.endX=Number(r.endX)-u||a-1,c=r.endY=Number(r.endY)-u||s-1,h=r.color||n.color;h=(h=h.substring(h.indexOf("(")+1,h.length-1)).split(",");var p=function(t,r,n,i){for(var o=t;o<=n+u;o++)for(var a=r;a<=i+u;a++)e.set(o,a,0,h[0]),e.set(o,a,1,h[1]),e.set(o,a,2,h[2])};return p(i,o,i,c),p(l,o,l,c),p(i,o,l,o),p(i,c,l,c),e}},{"./../../util/getDefaults.js":356,"./info.json":264}],262:[function(t,e,r){e.exports=function(e,r){return{options:e,draw:function(r,n,i){i.stop(!0),i.overrideFlag=!0;var o=this;return t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){o.output={src:e,format:r}},ui:e.step.ui,changePixel:function(t,e,r,n){return[t,e,r,n]},extraManipulation:function(r){return r=t("./DrawRectangle")(r,e)},format:r.format,image:e.image,callback:n,useWasm:e.useWasm})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348,"./DrawRectangle":261}],263:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":262,"./info.json":264,dup:210}],264:[function(t,e,r){e.exports={name:"draw-rectangle",description:"It draws a rectangle on the image",inputs:{startingX:{type:"integer",desc:"starting x position of the rectangle",default:0},startingY:{type:"integer",desc:"starting y position of the rectangle",default:0},endX:{type:"integer",desc:"last x position of the rectangle",default:"width"},endY:{type:"integer",desc:"last y position of the rectangle",default:"height"},thickness:{type:"integer",desc:"thickness of border",default:1},color:{type:"text",desc:"Select color",default:"rgba(20,20,20,1)",id:"color-picker"}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#draw-rectangle-module"}},{}],265:[function(require,module,exports){module.exports=function Dynamic(options,UI){var output;function draw(input,callback,progressObj){progressObj.stop(!0),progressObj.overrideFlag=!0;var step=this;function generator(expression){var func="f = function (r, g, b, a) { var R = r, G = g, B = b, A = a;",f;return func+="return ",func=func+expression+"}",eval(func),f}options.monochrome=options.monochrome||"(R+G+B)/3";var channels=["red","green","blue","alpha"];function changePixel(t,e,r,n){return[options.red_function(t,e,r,n),options.green_function(t,e,r,n),options.blue_function(t,e,r,n),options.alpha_function(t,e,r,n)]}function getNeighbourPixel(t,e,r,n,i){return[t.get(e+n,r+i,0),t.get(e+n,r+i,1),t.get(e+n,r+i,2),t.get(e+n,r+i,3)]}function map(t,e,r,n,i,o){var a=(t-e)/(r-e)*(i-n)+n;if(!o)return a;function s(t,e,r){return Math.max(Math.min(t,r),e)}return n<i?s(a,n,i):s(a,i,n)}function output(t,e,r){step.output={src:e,format:r}}return channels.forEach(function(t){options.hasOwnProperty(t)?options[t+"_function"]=generator(options[t]):"alpha"===t?options.alpha_function=function(){return 255}:options[t+"_function"]=generator(options.monochrome)}),require("../_nomodule/PixelManipulation.js")(input,{output:output,ui:options.step.ui,changePixel:changePixel,getNeighbourPixel:getNeighbourPixel,getNeighborPixel:getNeighbourPixel,format:input.format,image:options.image,inBrowser:options.inBrowser,callback:callback,useWasm:options.useWasm})}return{options:options,draw:draw,output:output,UI:UI}}},{"../_nomodule/PixelManipulation.js":348}],266:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":265,"./info.json":267,dup:210}],267:[function(t,e,r){e.exports={name:"dynamic",description:"A module which accepts JavaScript math expressions to produce each color channel based on the original image's color. See <a href='https://publiclab.org/wiki/infragram-sandbox'>Infragrammar</a>.",inputs:{red:{type:"string",desc:"Expression to return for red channel with R, G, B, and A inputs",default:"r"},green:{type:"string",desc:"Expression to return for green channel with R, G, B, and A inputs",default:"g"},blue:{type:"string",desc:"Expression to return for blue channel with R, G, B, and A inputs",default:"b"},"monochrome (fallback)":{type:"string",desc:"Expression to return with R, G, B, and A inputs; fallback for other channels if none provided",default:"r + g + b"}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#dynamic-module"}},{}],268:[function(t,e,r){const n=[[-1,0,1],[-2,0,2],[-1,0,1]],i=[[-1,-2,-1],[0,0,0],[1,2,1]];let o=[];function a(t,e){t.set(e[0],e[1],0,0),t.set(e[0],e[1],1,0),t.set(e[0],e[1],2,0),t.set(e[0],e[1],3,255)}function s(t,e,r){let o=t.get(e,r,0),a=0,s=0;for(let o=0;o<3;o++)for(let u=0;u<3;u++){let c=e+o-1,h=r+u-1;l(t,c,h)?(a+=t.get(c+1,h+1,0)*n[o][u],s+=t.get(c+1,h+1,0)*i[o][u]):(a+=t.get(c,h,0)*n[o][u],s+=t.get(c,h,0)*i[o][u])}return{pixel:[o,o,o,Math.sqrt(Math.pow(a,2)+Math.pow(s,2))],angle:Math.atan2(s,a)}}function u(t){return t>=-22.5&&t<=22.5||t<-157.5&&t>=-180?1:t>=22.5&&t<=67.5||t<-112.5&&t>=-157.5?2:t>=67.5&&t<=112.5||t<-67.5&&t>=-112.5?3:t>=112.5&&t<=157.5||t<-22.5&&t>=-67.5?4:void 0}function l(t,e,r){return e<0||r<0||e>=t.shape[0]||r>=t.shape[1]}e.exports=function(t,e,r,n){let i=[],f=[],d=[],m=[];for(var g=0;g<t.shape[0];g++){f.push([]),i.push([]);for(var v=0;v<t.shape[1];v++){var _=s(t,g,v);let e=_.pixel;f.slice(-1)[0].push(e[3]),i.slice(-1)[0].push(_.angle)}}return function(t,e,r){r=r.map(t=>t.map(h));for(let n=0;n<t.shape[0];n++)for(let i=0;i<t.shape[1];i++){let a=u(r[n][i]);if(!l(t,n-1,i-1)&&!l(t,n+1,i+1))switch(a){case 1:e[n][i]>=e[n][i+1]&&e[n][i]>=e[n][i-1]||o.push([n,i]);break;case 2:e[n][i]>=e[n+1][i+1]&&e[n][i]>=e[n-1][i-1]||o.push([n,i]);break;case 3:e[n][i]>=e[n+1][i]&&e[n][i]>=e[n-1][i]||o.push([n,i]);break;case 4:e[n][i]>=e[n+1][i-1]&&e[n][i]>=e[n-1][i+1]||o.push([n,i])}}}(t,f,i),function(t,e,r,n,i,a){const s=p(n)*e,u=s*r;for(let e=0;e<t.shape[0];e++)for(let r=0;r<t.shape[1];r++){let t=[e,r];n[e][r]>u?n[e][r]>s?i.push(t):a.push(t):o.push(t)}}(t,e,r,f,d,m),"true"==n.toLowerCase()&&function(t,e){t.forEach(t=>{let r=t[0],n=t[1];e.includes([r+1,n])?c(e,[r+1,n]):e.includes([r-1,n])?c(e,[r-1,n]):e.includes([r,n+1])?c(e,[r,n+1]):e.includes([r,n-1])&&c(e,[r,n-1])})}(d,m),d.forEach(e=>(function(t,e){t.set(e[0],e[1],0,255),t.set(e[0],e[1],1,255),t.set(e[0],e[1],2,255),t.set(e[0],e[1],3,255)})(t,e)),m.forEach(e=>a(t,e)),o.forEach(e=>a(t,e)),t};const c=(t=[],e)=>t.filter(t=>t!==e);var h=t=>180*t/Math.PI,p=t=>Math.max(...t.map(t=>t.map(t=>t||0)).map(t=>Math.max(...t)))},{}],269:[function(t,e,r){e.exports=function(e,r){var n=t("./../../util/getDefaults.js")(t("./info.json"));return e.blur=e.blur||n.blur,e.highThresholdRatio=e.highThresholdRatio||n.highThresholdRatio,e.lowThresholdRatio=e.lowThresholdRatio||n.lowThresholdRatio,e.hysteresis=e.hysteresis||n.hysteresis,{options:e,draw:function(r,n,i){i.stop(!0),i.overrideFlag=!0;var o=this;const a=ImageSequencer({inBrowser:!1,ui:!1});return a.loadImage(r.src,function(){return a.importJSON([{name:"blur",options:{blur:e.blur}}]),a.run(function(i){t("get-pixels")(i,function(i,a){if(!i)return t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){o.output={src:e,format:r}},ui:e.step.ui,changePixel:function(t,e,r,n){return[(t+e+r)/3,(t+e+r)/3,(t+e+r)/3,n]},extraManipulation:function(){return t("./EdgeUtils")(a,e.highThresholdRatio,e.lowThresholdRatio,e.hysteresis)},format:r.format,image:e.image,inBrowser:e.inBrowser,callback:n,useWasm:e.useWasm})})})})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348,"./../../util/getDefaults.js":356,"./EdgeUtils":268,"./info.json":271,"get-pixels":26}],270:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":269,"./info.json":271,dup:210}],271:[function(t,e,r){e.exports={name:"edge-detect",description:"This module detects edges using the Canny method, which first Gaussian blurs the image to reduce noise (amount of blur configurable in settings as `options.blur`), then applies a number of steps to highlight edges, resulting in a greyscale image where the brighter the pixel, the stronger the detected edge.<a href='https://en.wikipedia.org/wiki/Canny_edge_detector'> Read more. </a>",inputs:{blur:{type:"float",desc:"Amount of gaussian blur(Less blur gives more detail, typically 0-5)",default:2,min:.05,max:5,step:.05},highThresholdRatio:{type:"float",desc:"The high threshold ratio for the image",default:.2,min:0,max:1,step:.01},lowThresholdRatio:{type:"float",desc:"The low threshold value for the image",default:.15,min:0,max:1,step:.01},hysteresis:{type:"select",desc:"Toggle Hysteresis",values:["false","true"],default:"false"}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#edge-detect-module"}},{}],272:[function(t,e,r){e.exports=function(e,r){var n=t("./../../util/getDefaults.js")(t("./info.json"));return{options:e,draw:function(r,i,o){e.exposure=e.exposure||n.exposure;var a=Math.pow(2,e.exposure);o.stop(!0),o.overrideFlag=!0;var s=this;return t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){s.output={src:e,format:r}},ui:e.step.ui,changePixel:function(t,e,r,n){return[t=Math.min(255,t*a),e=Math.min(255,e*a),r=Math.min(255,r*a),n]},format:r.format,image:e.image,inBrowser:e.inBrowser,callback:i,useWasm:e.useWasm})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348,"./../../util/getDefaults.js":356,"./info.json":274}],273:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":272,"./info.json":274,dup:210}],274:[function(t,e,r){e.exports={name:"exposure",description:"Change the exposure of the image by given exposure value",inputs:{exposure:{type:"float",desc:"exposure value for the new image",default:1,min:-3,max:4,step:.05}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md"}},{}],275:[function(t,e,r){e.exports=function(e,r){t("fisheyegl");return{options:e,draw:function(r,n){var i=this;if(e.inBrowser){if(document.querySelector("#image-sequencer-canvas"))var o=document.querySelector("#image-sequencer-canvas");else(o=document.createElement("canvas")).style.display="none",o.setAttribute("id","image-sequencer-canvas"),document.body.append(o);distorter=FisheyeGl({selector:"#image-sequencer-canvas"}),e.a=parseFloat(e.a)||distorter.lens.a,e.b=parseFloat(e.b)||distorter.lens.b,e.Fx=parseFloat(e.Fx)||distorter.lens.Fx,e.Fy=parseFloat(e.Fy)||distorter.lens.Fy,e.scale=parseFloat(e.scale)||distorter.lens.scale,e.x=parseFloat(e.x)||distorter.fov.x,e.y=parseFloat(e.y)||distorter.fov.y,distorter.lens.a=e.a,distorter.lens.b=e.b,distorter.lens.Fx=e.Fx,distorter.lens.Fy=e.Fy,distorter.lens.scale=e.scale,distorter.fov.x=e.x,distorter.fov.y=e.y,distorter.setImage(r.src,function(){i.output={src:o.toDataURL(),format:r.format},n()})}else t("../_nomodule/gl-context")(r,n,i,e)},output:void 0,UI:r}}},{"../_nomodule/gl-context":349,fisheyegl:18}],276:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":275,"./info.json":277,dup:210}],277:[function(t,e,r){e.exports={name:"fisheye-gl",description:"Correct fisheye, or barrel distortion, in images (with WebGL -- adapted from fisheye-correction-webgl by @bluemir).",requires:["webgl"],inputs:{a:{type:"float",desc:"a parameter",default:1,min:1,max:4},b:{type:"float",desc:"b parameter",default:1,min:1,max:4},Fx:{type:"float",desc:"Fx parameter",default:0,min:0,max:4},Fy:{type:"float",desc:"Fy parameter",default:0,min:0,max:4},scale:{type:"float",desc:"Image Scaling",default:1.5,min:0,max:20},x:{type:"float",desc:"FOV x parameter",default:1.5,min:0,max:20},y:{type:"float",desc:"FOV y parameter",default:1.5,min:0,max:20},fragmentSrc:{type:"PATH",desc:"Path to a WebGL fragment shader file",default:"(inbuilt)"},vertexSrc:{type:"PATH",desc:"Path to a WebGL vertex shader file",default:"(inbuilt)"}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#fisheyegl-module"}},{}],278:[function(t,e,r){e.exports=function(e,r){e.Axis=e.Axis||t("./info.json").inputs.Axis.default;var n=t("get-pixels");return{options:e,draw:function(r,i,o){o.stop(!0),o.overrideFlag=!0;var a=this;return n(r.src,function(n,o){return t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){a.output={src:e,format:r}},ui:e.step.ui,changePixel:function(t,e,r,n){return[t,e,r,n]},extraManipulation:function(r){if(!n)return t("./flipImage")(o,r,e.Axis);console.log(n)},format:r.format,image:e.image,inBrowser:e.inBrowser,callback:i,useWasm:e.useWasm})})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348,"./flipImage":279,"./info.json":281,"get-pixels":26}],279:[function(t,e,r){e.exports=function(t,e,r){var n=t.shape[0],i=t.shape[1];function o(r,n,i,o){e.set(r,n,0,t.get(i,o,0)),e.set(r,n,1,t.get(i,o,1)),e.set(r,n,2,t.get(i,o,2)),e.set(r,n,3,t.get(i,o,3))}return function(){if("vertical"==r.toLowerCase())for(var t=0;t<n;t++)for(var e=0;e<i;e++)o(t,e,t,i-e-1);else for(t=0;t<n;t++)for(e=0;e<i;e++)o(t,e,n-t-1,e)}(),e}},{}],280:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":278,"./info.json":281,dup:210}],281:[function(t,e,r){e.exports={name:"flip-image",description:"Flip The Image On The Specified Axis.",inputs:{Axis:{type:"select",desc:"Axis",default:"Vertical",values:["Horizontal","Vertical"]}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#flipimage-module"}},{}],282:[function(t,e,r){e.exports=function(e,r){return{options:e,draw:function(r,n,i){i.stop(!0),i.overrideFlag=!0;var o=this,a=t("./../../util/getDefaults.js")(t("./info.json")),s=(e.adjustment||a.adjustment)/a.adjustment;return t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){o.output={src:e,format:r}},ui:e.step.ui,changePixel:function(t,e,r,n){return[t=255*Math.pow(t/255,s),e=255*Math.pow(e/255,s),r=255*Math.pow(r/255,s),n]},format:r.format,image:e.image,inBrowser:e.inBrowser,callback:n,useWasm:e.useWasm})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348,"./../../util/getDefaults.js":356,"./info.json":284}],283:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":282,"./info.json":284,dup:210}],284:[function(t,e,r){e.exports={name:"gamma-correction",description:"Apply gamma correction on the image <a href='https://en.wikipedia.org/wiki/Gamma_correction'>Read more</a>",inputs:{adjustment:{type:"float",desc:"gamma correction (inverse of actual gamma factor) for the new image",default:.2,min:2,max:1}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#gamma-correction-module"}},{}],285:[function(t,e,r){(function(r){e.exports=function(e,n){return{options:e,draw:function(e,n,i){var o=t("get-pixels"),a=t("save-pixels"),s=this;o(e.src,function(t,i){if(t)console.log("Bad Image path");else{for(var o=i.shape[0],u=0;u<i.shape[0];u++)for(var l=0;l<i.shape[1];l++){let t=u/o*255;i.set(u,l,0,t),i.set(u,l,1,t),i.set(u,l,2,t),i.set(u,l,3,255)}var c=[],h=0,p=a(i,e.format,{quality:100});p.on("data",function(t){h+=t.length,c.push(t)}),p.on("end",function(){var t=r.concat(c,h).toString("base64"),i="data:image/"+e.format+";base64,"+t;!function(t,e,r){s.output={src:e,format:r}}(e.image,i,e.format),n()})}})},output:void 0,UI:n}}}).call(this,t("buffer").Buffer)},{buffer:71,"get-pixels":26,"save-pixels":186}],286:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":285,"./info.json":287,dup:210}],287:[function(t,e,r){e.exports={name:"gradient",description:"Gives a gradient of the image",inputs:{},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#gradient-module"}},{}],288:[function(t,e,r){e.exports=function(e,r){var n=t("./../../util/getDefaults.js")(t("./info.json"));r.x=Number(r.x)||n.x,r.y=Number(r.y)||n.y,color=r.color||n.color,color=color.substring(color.indexOf("(")+1,color.length-1),color=color.split(",");for(var i=0;i<e.shape[0];i+=r.x)for(var o=0;o<e.shape[1];o++)e.set(i,o,0,color[0]),e.set(i,o,1,color[1]),e.set(i,o,2,color[2]);for(o=0;o<e.shape[1];o+=r.y)for(i=0;i<e.shape[0];i++)e.set(i,o,0,color[0]),e.set(i,o,1,color[1]),e.set(i,o,2,color[2]);return e}},{"./../../util/getDefaults.js":356,"./info.json":291}],289:[function(t,e,r){e.exports=function(e,r){return{options:e,draw:function(r,n,i){i.stop(!0),i.overrideFlag=!0;var o=this;return t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){o.output={src:e,format:r}},ui:e.step.ui,extraManipulation:function(r){return r=t("./GridOverlay")(r,e)},format:r.format,image:e.image,inBrowser:e.inBrowser,callback:n,useWasm:e.useWasm})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348,"./GridOverlay":288}],290:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":289,"./info.json":291,dup:210}],291:[function(t,e,r){e.exports={name:"grid-overlay",description:"Overlays a grid over an Image",inputs:{x:{type:"integer",desc:"X-position (measured from left) from where grid starts",default:100},y:{type:"integer",desc:"Y-position (measured from top) from where grid starts",default:100},color:{type:"string",desc:"Pick color",default:"rgba(0,0,0,1)",id:"color-picker"}},only:"browser"}},{}],292:[function(t,e,r){e.exports=function(e,r){return{options:e,draw:function(r,n,i){var o=t("./../../util/getDefaults.js")(t("./info.json"));e.gradient=e.gradient||o.gradient,e.gradient=JSON.parse(e.gradient),i.stop(!0),i.overrideFlag=!0;var a=this,s=new Array(256).fill(0);return t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){a.output={src:e,format:r}},ui:e.step.ui,changePixel:function(t,e,r,n){let i=Math.round((t+e+r)/3);return s[i]++,[t,e,r,n]},extraManipulation:function(t){var r=new Uint8Array(262144);t.data=r,t.shape=[256,256,4],t.stride[1]=1024;for(let e=0;e<256;e++)for(let r=0;r<256;r++)t.set(e,r,0,255),t.set(e,r,1,255),t.set(e,r,2,255),t.set(e,r,3,255);let n=e.gradient?10:0;if(e.gradient)for(let e=0;e<256;e++)for(let r=0;r<10;r++)t.set(e,255-r,0,e),t.set(e,255-r,1,e),t.set(e,255-r,2,e);let i=(256-n)/Math.max(...s);for(let e=0;e<256;e++){let r=Math.round(i*s[e]);for(let i=n;i<r;i++)t.set(e,255-i,0,204),t.set(e,255-i,1,255),t.set(e,255-i,2,153)}return t},format:r.format,image:e.image,inBrowser:e.inBrowser,callback:n,useWasm:e.useWasm})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348,"./../../util/getDefaults.js":356,"./info.json":294}],293:[function(t,e,r){e.exports=[t("./Module.js"),t("./info.json")]},{"./Module.js":292,"./info.json":294}],294:[function(t,e,r){e.exports={name:"histogram",description:"Calculates the histogram for the image",inputs:{gradient:{type:"select",desc:"Toggle the gradient along x-axis",default:"true",values:["true","false"]}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#histogram-module"}},{}],295:[function(t,e,r){e.exports=function(e,r){var n=t("./../../util/getDefaults.js")(t("./info.json"));(e.imageUrl=e.inBrowser?e.url||n.url:e.url||"./examples/images/monarch.png",e.step.inBrowser)&&t("./Ui.js")(e.step,r).setup();return{options:e,draw:function(t,r){var n=this;n.metadata=n.metadata||{},n.metadata.input=t;var i=ImageSequencer({inBrowser:e.inBrowser,ui:!1,useWasm:e.useWasm});i.loadImages(e.imageUrl,()=>{n.output=i.steps[0].output,r()})},output:void 0,UI:r}}},{"./../../util/getDefaults.js":356,"./Ui.js":296,"./info.json":298}],296:[function(t,e,r){e.exports=function(t,e){return{setup:function(e,r){var n="dropzone-import-image-"+t.ID,i=' <div class="dropzone" style="padding: 30px;margin: 10px 20% 30px;border: 4px dashed #ccc;border-radius: 8px;text-align: center;color: #444;" id="'+n+'"> <p> <i>Select or drag in an image to overlay.</i> </p> <center> <input type="file" class="file-input" value=""> </center> </div>';$(t.ui).find(".details").prepend(i),sequencer.setInputStep({dropZoneSelector:"#"+n,fileInputSelector:"#"+n+" .file-input",onLoad:function(e){var r=e.target;t.options.imageUrl=r.result,t.options.url=r.result,sequencer.run(),setUrlHashParameter("steps",sequencer.toString())}}),$(t.ui).find(".btn-save").on("click",function(){var e=$(t.ui).find(".det input").val();t.options.imageUrl=e,sequencer.run()})}}}},{}],297:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":295,"./info.json":298,dup:210}],298:[function(t,e,r){e.exports={name:"import-image",description:"Import a new image and replace the original with it. Future versions may enable a blend mode. Specify an image by URL or by file selector.",url:"https://github.com/publiclab/image-sequencer/tree/master/MODULES.md",inputs:{url:{type:"string",desc:"URL of image to import",default:"./images/monarch.png"}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#import-image-module"}},{}],299:[function(t,e,r){e.exports=function(e,r){if(e.step.inBrowser)var n=t("./Ui.js")(e.step,r);var i=t("./../../util/getDefaults.js")(t("./info.json"));return e.filter=e.filter||i.filter,{options:e,draw:function(r,i,o){o.stop(!0),o.overrideFlag=!0;var a=this;return t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){a.output={src:e,format:r}},ui:e.step.ui,changePixel:function(t,r,n,i){if("red"==e.filter)var o=(n-t)/(1*n+t);"blue"==e.filter&&(o=(t-n)/(1*n+t));var a=255*(o+1)/2;return[a,a,a,i]},format:r.format,image:e.image,inBrowser:e.inBrowser,callback:function(){e.step.inBrowser&&n.setup(),i()},useWasm:e.useWasm})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348,"./../../util/getDefaults.js":356,"./Ui.js":300,"./info.json":302}],300:[function(t,e,r){e.exports=function(t,e){return{setup:function(){var e=$(t.imgElement);e.mousemove(function(t){var r=document.createElement("canvas");r.width=e.width(),r.height=e.height(),r.getContext("2d").drawImage(this,0,0);var n=$(this).offset(),i=t.pageX-n.left,o=t.pageY-n.top,a=r.getContext("2d").getImageData(i,o,1,1).data[0];a=(a=a/127.5-1).toFixed(2),e[0].title="NDVI: "+a})}}}},{}],301:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":299,"./info.json":302,dup:210}],302:[function(t,e,r){e.exports={name:"ndvi",description:"Normalized Difference Vegetation Index, or NDVI, is an image analysis technique used with aerial photography. It's a way to visualize the amounts of infrared and other wavelengths of light reflected from vegetation by comparing ratios of blue and red light absorbed versus green and IR light reflected. NDVI is used to evaluate the health of vegetation in satellite imagery, where it correlates with how much photosynthesis is happening. This is helpful in assessing vegetative health or stress. <a href='https://publiclab.org/ndvi'>Read more</a>.<br /><br/>This is designed for use with red-filtered single camera <a href='http://publiclab.org/infragram'>DIY Infragram cameras</a>; change to 'blue' for blue filters",inputs:{filter:{type:"select",desc:"Filter color",default:"red",values:["red","blue"]}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#ndvi-module"}},{}],303:[function(t,e,r){e.exports=t("../../util/createMetaModule.js")(function(t){return[{name:"ndvi",options:{}},{name:"colormap",options:{colormap:t.colormap}}]},{infoJson:t("./info.json")})[0]},{"../../util/createMetaModule.js":355,"./info.json":305}],304:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":303,"./info.json":305,dup:210}],305:[function(t,e,r){e.exports={name:"ndvi-colormap",description:"Sequentially Applies NDVI and Colormap steps",inputs:{},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#ndvi-colormap-module"}},{}],306:[function(t,e,r){e.exports=function(e,r){var n=t("./../../util/getDefaults.js")(t("./info.json"));return{options:e,draw:function(r,i,o){o.stop(!0),o.overrideFlag=!0;var a=this;return e.method=e.method||n.method,t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){a.output={src:e,format:r}},ui:e.step.ui,extraManipulation:function(r){return r=t("./NoiseReduction.js")(r,e.method)},format:r.format,image:e.image,callback:i,useWasm:e.useWasm})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348,"./../../util/getDefaults.js":356,"./NoiseReduction.js":307,"./info.json":309}],307:[function(t,e,r){e.exports=function(t,e){let r=[-1,-1,-1,0,0,0,1,1,1],n=[-1,0,1,-1,0,1,-1,0,1];if("Median Filtering"==e)for(let e=0;e<t.shape[1];e++)for(let i=0;i<t.shape[0];i++){let o=0,a=0,s=[],u=[],l=[];for(;a<=8;){let c=i+r[a],h=e+n[a];c>=0&&c<t.shape[0]&&h>=0&&h<t.shape[1]&&(s[o]=t.get(c,h,0),u[o]=t.get(c,h,1),l[o]=t.get(c,h,2),o++),a++}if(s.sort(),u.sort(),l.sort(),o%2==0){let r=s[o/2]+s[o/2-1];t.set(i,e,0,r),r=u[o/2]+u[o/2-1],t.set(i,e,1,r),r=l[o/2]+l[o/2-1],t.set(i,e,2,r)}else t.set(i,e,0,s[Math.floor(o/2)]),t.set(i,e,1,u[Math.floor(o/2)]),t.set(i,e,2,l[Math.floor(o/2)])}else if("Mean Filtering"==e)for(let e=0;e<t.shape[1];e++)for(let i=0;i<t.shape[0];i++){let o=0,a=0,s=0,u=0,l=0;for(;a<=8;){let c=i+r[a],h=e+n[a];c>=0&&c<t.shape[0]&&h>=0&&h<t.shape[1]&&(s+=t.get(c,h,0),u+=t.get(c,h,1),l+=t.get(c,h,2),o++),a++}t.set(i,e,0,s/o),t.set(i,e,1,u/o),t.set(i,e,2,l/o)}return t}},{}],308:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":306,"./info.json":309,dup:210}],309:[function(t,e,r){e.exports={name:"Noise Reduction",description:"Reduces noise from Image",inputs:{method:{type:"select",desc:"Select the noise filtering method",default:"Median Filtering",values:["Mean Filtering","Median Filtering"]}},"docs-link":""}},{}],310:[function(t,e,r){e.exports=function(e,r,n){var i=t("./../../util/getDefaults.js")(t("./info.json"));return e.x=e.x||i.x,e.y=e.y||i.y,{options:e,draw:function(r,n,i){e.offset=parseInt(e.offset)||-2,i.stop(!0),i.overrideFlag=!0;var o=this;t("../../util/ParseInputCoordinates")(e,{src:r.src,x:{valInp:e.x,type:"horizontal"},y:{valInp:e.y,type:"vertical"}},function(t,e){t.x=parseInt(e.x.valInp),t.y=parseInt(e.y.valInp)});var a=this.getStep(e.offset).image,s=this.getOutput(e.offset);t("get-pixels")(r.src,function(r,i){return e.secondImagePixels=i,t("../_nomodule/PixelManipulation.js")(s,{output:function(t,e,r){o.output={src:e,format:r}},ui:e.step.ui,changePixel:function(t,r,n,i,o,a){var s=e.secondImagePixels;return o>=e.x&&o-e.x<s.shape[0]&&a>=e.y&&a-e.y<s.shape[1]?[s.get(o-e.x,a-e.y,0),s.get(o-e.x,a-e.y,1),s.get(o-e.x,a-e.y,2),s.get(o-e.x,a-e.y,3)]:[t,r,n,i]},format:s.format,image:a,inBrowser:e.inBrowser,callback:n,useWasm:e.useWasm})})},output:void 0,UI:r}}},{"../../util/ParseInputCoordinates":354,"../_nomodule/PixelManipulation.js":348,"./../../util/getDefaults.js":356,"./info.json":312,"get-pixels":26}],311:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":310,"./info.json":312,dup:210}],312:[function(t,e,r){e.exports={name:"overlay",description:"Overlays an Image over another at a given position(x,y) in pixels or in %",inputs:{x:{type:"integer",desc:"X-position of the image on which the new image is overlayed",default:0},y:{type:"integer",desc:"Y-position of the image on which the new image is overlayed",default:0},offset:{type:"integer",desc:"offset to the output of the step on which the output of the last step is overlayed",default:-2}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#overlay-module"}},{}],313:[function(t,e,r){e.exports=function(e,r){return{options:e,draw:function(r,n,i){i.stop(!0),i.overrideFlag=!0;var o=this;return t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){o.output={src:e,format:r}},ui:e.step.ui,extraManipulation:function(r){return r=t("./PaintBucket")(r,e)},format:r.format,image:e.image,inBrowser:e.inBrowser,callback:n,useWasm:e.useWasm})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348,"./PaintBucket":314}],314:[function(t,e,r){e.exports=function(e,r){let n,i,o,a,s,u=t("./../../util/getDefaults.js")(t("./info.json")),l=r.fillColor||u.fillColor,c=parseInt(r.startingX)||u.startingX,h=parseInt(r.startingY)||u.startingY,p=e.shape[1],f=(e.shape[0],e.get(c,h,0)),d=e.get(c,h,1),m=e.get(c,h,2),g=e.get(c,h,3),v=[c],_=[h],y=r.tolerance||u.tolerance,b=1+y/100,x=1-y/100;function w(t,r){return e.get(t,r,0)>=f*x&&e.get(t,r,0)<=f*b&&e.get(t,r,1)>=d*x&&e.get(t,r,1)<=d*b&&e.get(t,r,2)>=m*x&&e.get(t,r,2)<=m*b&&e.get(t,r,3)>=g*x&&e.get(t,r,3)<=g*b}for(l=(l=l.substring(l.indexOf("(")+1,l.length-1)).split(",");_.length;)if(w(i=v.pop(),n=_.pop())){o=a=n;do{o-=1}while(w(i,o)&&o>=0);do{a+=1}while(w(i,a)&&a<p);for(s=o+1;s<a;s+=1)e.set(i,s,0,l[0]),e.set(i,s,1,l[1]),e.set(i,s,2,l[2]),e.set(i,s,3,l[3]),w(i-1,s)&&(v.push(i-1),_.push(s)),w(i+1,s)&&(v.push(i+1),_.push(s))}return e}},{"./../../util/getDefaults.js":356,"./info.json":316}],315:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":313,"./info.json":316,dup:210}],316:[function(t,e,r){e.exports={name:"paint-bucket",description:"Fill color in pixels",inputs:{startingX:{type:"integer",desc:"value of the starting x-coordinate",default:"10"},startingY:{type:"integer",desc:"value of the starting y-coordinate",default:"10"},fillColor:{type:"String",desc:"Pick color to fill",default:"rgba(100,100,100,1)",id:"color-picker"},tolerance:{type:"range",desc:"% tolerance",default:"10",min:"0",max:"100",step:"1"}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#paint-bucket-module"}},{}],317:[function(t,e,r){e.exports=function(e,r){return{options:e,draw:function(r,n,i){i.stop(!0),i.overrideFlag=!0;var o=this;return t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){o.output={src:e,format:r}},ui:e.step.ui,changePixel:function(t,e,r,n){return[t,e,r,n]},extraManipulation:function(r){return r=t("./ReplaceColor")(r,e)},format:r.format,image:e.image,callback:n,useWasm:e.useWasm})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348,"./ReplaceColor":318}],318:[function(t,e,r){e.exports=function(t,e){var r=e.color||"rgb(228,86,81)";r=r.substring(r.indexOf("(")+1,r.length-1);var n=e.replaceColor||"rgb(0,0,255)";n=n.substring(n.indexOf("(")+1,n.length-1);var i=e.replaceMethod||"greyscale";r=r.split(","),n=n.split(",");var o=r[0],a=r[1],s=r[2],u=e.tolerance||50,l=1+u/100,c=1-u/100;function h(t,e,r){return t>=o*c&&t<=o*l&&e>=a*c&&e<=a*l&&r>=s*c&&r<=s*l}for(var p=0;p<t.shape[0];p++)for(var f=0;f<t.shape[1];f++){var d=t.get(p,f,0),m=t.get(p,f,1),g=t.get(p,f,2);if(h(d,m,g))if("greyscale"==i){var v=(d+m+g)/3;t.set(p,f,0,v),t.set(p,f,1,v),t.set(p,f,2,v)}else t.set(p,f,0,n[0]),t.set(p,f,1,n[1]),t.set(p,f,2,n[2])}return t}},{}],319:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":317,"./info.json":320,dup:210}],320:[function(t,e,r){e.exports={name:"replace-color",description:"Replace color with grey or your desired color",inputs:{replaceMethod:{type:"select",desc:"Replace Method",default:"greyscale",values:["greyscale","replaceByColor"]},replaceColor:{type:"String",desc:"Pick color to be filled",default:"rgb(0,0,255)",id:"color-picker"},color:{type:"String",desc:"Pick color to be replaced",default:"rgb(228,86,81)",id:"color-picker"},tolerance:{type:"range",desc:"% tolerance",default:"50",min:"0",max:"100",step:"1"}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#replacecolor-module"}},{}],321:[function(t,e,r){e.exports=function(e,r){return{options:e,draw:function(r,n,i){var o=t("./../../util/getDefaults.js")(t("./info.json"));e.resize=e.resize||o.resize,i.stop(!0),i.overrideFlag=!0;var a=this,s=t("imagejs");return t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){a.output={src:e,format:r}},ui:e.step.ui,changePixel:function(t,e,r,n){return[t,e,r,n]},extraManipulation:function(t){var r,n,i=parseInt(e.resize.slice(0,-1));r=Math.round(t.shape[0]*(i/100)),n=Math.round(t.shape[1]*(i/100));var o=new s.Bitmap({width:t.shape[0],height:t.shape[1]});o._data.data=t.data;var a=o.resize({width:r,height:n,algorithm:"bicubicInterpolation"});return t.data=a._data.data,t.shape=[r,n,4],t.stride[1]=4*r,t},format:r.format,image:e.image,inBrowser:e.inBrowser,callback:n,useWasm:e.useWasm})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348,"./../../util/getDefaults.js":356,"./info.json":323,imagejs:86}],322:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":321,"./info.json":323,dup:210}],323:[function(t,e,r){e.exports={name:"resize",description:"Resize image by given percentage value",inputs:{resize:{type:"string",desc:"Percentage value of the resize",default:"125%"}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#resize-module"}},{}],324:[function(t,e,r){e.exports=function(e,r){return{options:e,draw:function(r,n,i){var o=t("./../../util/getDefaults.js")(t("./info.json"));e.rotate=e.rotate||o.rotate,i.stop(!0),i.overrideFlag=!0;var a=this,s=t("imagejs");return t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){a.output={src:e,format:r}},ui:e.step.ui,changePixel:function(t,e,r,n){return[t,e,r,n]},extraManipulation:function(t){var r=e.rotate%360;if(r%360==0)return t;var n=new s.Bitmap({width:t.shape[0],height:t.shape[1]});n._data.data=t.data;var i=n.rotate({degrees:r});return t.data=i._data.data,t},format:r.format,image:e.image,inBrowser:e.inBrowser,callback:n,useWasm:e.useWasm})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348,"./../../util/getDefaults.js":356,"./info.json":326,imagejs:86}],325:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":324,"./info.json":326,dup:210}],326:[function(t,e,r){e.exports={name:"rotate",description:"Rotates image by specified degrees",inputs:{rotate:{type:"integer",desc:"Angular value for rotation in degrees",default:"90",min:"0",max:"360",step:"1"}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#rotate-modul"}},{}],327:[function(t,e,r){e.exports=function(e,r){var n=t("./../../util/getDefaults.js")(t("./info.json"));return{options:e,draw:function(r,i,o){e.saturation=e.saturation||n.saturation,o.stop(!0),o.overrideFlag=!0;var a=this,s=.299,u=.587,l=.114;return t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){a.output={src:e,format:r}},ui:e.step.ui,changePixel:function(t,r,n,i){var o=Math.sqrt(s*(t*t)+u*(r*r)+l*(r*r));return t=o+(t-o)*e.saturation,r=o+(r-o)*e.saturation,n=o+(n-o)*e.saturation,[Math.round(t),Math.round(r),Math.round(n),i]},format:r.format,image:e.image,inBrowser:e.inBrowser,callback:i,useWasm:e.useWasm})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348,"./../../util/getDefaults.js":356,"./info.json":329}],328:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":327,"./info.json":329,dup:210}],329:[function(t,e,r){e.exports={name:"saturation",description:"Change the saturation of the image by given value, from 0-1, with 1 being 100% saturated.",inputs:{saturation:{type:"float",desc:"saturation for the new image between 0 and 2, 0 being black and white and 2 being highly saturated",default:.5,min:0,max:2,step:.1}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#saturation-module"}},{}],330:[function(t,e,r){e.exports=function(e,r){return{options:e,draw:function(r,n,i){i.stop(!0),i.overrideFlag=!0;var o=this;if(e.step.inBrowser){var a=this.getStep(-1);return t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){o.output={src:e,format:r}},ui:e.step.ui,extraManipulation:function(r){return r=t("./TextOverlay")(r,e,a)},format:r.format,image:e.image,inBrowser:e.inBrowser,callback:n,useWasm:e.useWasm})}this.output=r,n()},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348,"./TextOverlay":331}],331:[function(t,e,r){e.exports=function(e,r,n){var i=t("./../../util/getDefaults.js")(t("./info.json"));r.text=r.text||i.text,r.x=r.x||i.x,r.y=r.y||i.y,r.font=r.font||i.font,r.color=r.color||i.color,r.size=r.size||i.size;var o=$(n.imgElement);0===Object.keys(o).length&&(o=$(n.options.step.imgElement));var a=document.createElement("canvas");a.width=e.shape[0],a.height=e.shape[1];var s=a.getContext("2d");s.drawImage(o[0],0,0),s.fillStyle=r.color,s.font=r.size+"px "+r.font,s.fillText(r.text,r.x,r.y);var u=s.getImageData(0,0,a.width,a.height);return e.data=u.data,e}},{"./../../util/getDefaults.js":356,"./info.json":333}],332:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":330,"./info.json":333,dup:210}],333:[function(t,e,r){e.exports={name:"text-overlay",description:"Overlay text on image.",inputs:{text:{type:"string",desc:"Enter the text to overlay.",default:"Lorem ipsum"},x:{type:"integer",desc:"Starting text horizontal position.",default:"20"},y:{type:"integer",desc:"Starting text vertical position.",default:"20"},font:{type:"select",desc:"Select the font style.",default:"serif",values:["serif","arial","times","courier","Montserrat"]},color:{type:"text",desc:"Select the text color.",default:"rgba(20,120,90,1)",id:"color-picker"},size:{type:"integer",desc:"Enter the font size in pixels.",default:"12"}},only:"browser"}},{}],334:[function(t,e,r){e.exports=function(e,r){return{options:e,draw:function(r,n,i){i.stop(!0),i.overrideFlag=!0;var o=this,a=new Array(256).fill(0);return t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){o.output={src:e,format:r}},ui:e.step.ui,changePixel:function(t,e,r,n){let i=Math.round((t+e+r)/3);return a[i]++,[t,e,r,n]},extraManipulation:function(r){return r=t("./Threshold")(r,e,a)},format:r.format,image:e.image,callback:n,useWasm:e.useWasm})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348,"./Threshold":335}],335:[function(t,e,r){e.exports=function(e,r,n){var i=t("./../../util/getDefaults.js")(t("./info.json"));type=r.threshold,threshold=parseInt(r.input)||i.input;for(var o=[],a=[],s=[],u=0;u<256;u++)o[u]=.299*u,a[u]=.587*u,s[u]=.114*u;var l=e.data.length;for(u=0;u<=l;u++)e.data[u]=Math.floor(o[e.data[u++]]+a[e.data[u++]]+s[e.data[u++]]);"Automatic Thresholding"===type&&(threshold=function(t){let e=0;for(let r=0;r<256;r++)e+=t[r];let r=0;for(let e=0;e<256;e++)r+=e*t[e];let n=0,i=0,o=0,a=0,s=0;for(let u=0;u<256;u++){if(0==(i+=t[u]))continue;if(0==(o=e-i))break;let l=(n+=u*t[u])/i,c=(r-n)/o,h=i*o*(l-c)*(l-c);h>a&&(a=h,s=u)}return s}(n));for(var c=0;c<=l;c+=4)e.data[c]=e.data[c]<threshold?0:255,e.data[c+1]=e.data[c+2]=e.data[c];return e}},{"./../../util/getDefaults.js":356,"./info.json":337}],336:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":334,"./info.json":337,dup:210}],337:[function(t,e,r){e.exports={name:"threshold",description:"Thresholding is used to create binary images",inputs:{threshold:{type:"select",desc:"Type of Thresholding",default:"Manual Thresholding",values:["Manual Thresholding","Automatic Thresholding"]},input:{type:"range",desc:"Threshold Value",default:"120",min:"0",max:"255",step:"1"}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#threshold"}},{}],338:[function(t,e,r){e.exports=function(e,r){var n=t("./../../util/getDefaults.js")(t("./info.json"));return{options:e,draw:function(r,i,o){var a=e.color||n.color;a=(a=a.substring(a.indexOf("(")+1,a.length-1)).split(",");var s=e.factor||n.factor;o.stop(!0),o.overrideFlag=!0;var u=this;return t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){u.output={src:e,format:r}},ui:e.step.ui,changePixel:function(t,e,r,n){return[t-=(t-a[0])*s,e-=(e-a[1])*s,r-=(r-a[2])*s,n]},format:r.format,image:e.image,inBrowser:e.inBrowser,callback:i,useWasm:e.useWasm})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348,"./../../util/getDefaults.js":356,"./info.json":340}],339:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":338,"./info.json":340,dup:210}],340:[function(t,e,r){e.exports={name:"tint",description:"Add color tint to an image",inputs:{color:{type:"text",desc:"Select color",default:"rgb(0,0,255)",id:"color-picker"},factor:{type:"range",desc:"Amount of tint",default:"0.5",min:"0",max:"1",step:"0.01"}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#tint"}},{}],341:[function(t,e,r){e.exports=function(e,r){var n=t("./../../util/getDefaults.js")(t("./info.json")),i=t("./glfx"),o=function(t){var e=function(t){var e;e=t.split(",")[0].indexOf("base64")>=0?atob(t.split(",")[1]):unescape(t.split(",")[1]);for(var r=t.split(",")[0].split(":")[1].split(";")[0],n=new Uint8Array(e.length),i=0;i<e.length;i++)n[i]=e.charCodeAt(i);return new Blob([n],{type:r})}(t.toDataURL("image/png"));return window.URL.createObjectURL(e)},a=function(t,e,r,n){try{var a=i.canvas(1500,1500)}catch(t){return void alert(t)}var s=document.getElementById(t),u=new Image;u.onload=function(){var t=a.texture(u),i=[],l=[];for(let t=0;t<e.length;t+=2)i.push(e[t]);for(let t=1;t<e.length;t+=2)l.push(e[t]);var c=Math.min.apply(null,l);matrix1southmost=Math.max.apply(null,l),matrix1westmost=Math.min.apply(null,i),matrix1eastmost=Math.max.apply(null,i);var h=[],p=[];for(let t=0;t<r.length;t+=2)h.push(r[t]);for(let t=1;t<r.length;t+=2)p.push(r[t]);var f=Math.min.apply(null,p);matrix2southmost=Math.max.apply(null,p),matrix2westmost=Math.min.apply(null,h),matrix2eastmost=Math.max.apply(null,h);var d=matrix2westmost-matrix1westmost,m=f-c;a.draw(t,u.width,u.height);for(var g=(matrix2southmost-f)/(matrix1southmost-c),v=(matrix2eastmost-matrix2westmost)/(matrix1eastmost-matrix1westmost),_=Math.max(v,g),y=0;y<r.length;y+=2)r[y]-=d,r[y]/=_;for(let t=1;t<r.length;t+=2)r[t]-=m,r[t]/=_;a.perspective(e,r).update();var b=o(a);n?window.open(b):s.src=b},u.src=s.src};return{options:e,draw:function(r,i){var o=this;e.nw=e.nw||n.nw,e.ne=e.ne||n.ne,e.se=e.se||n.se,e.sw=e.sw||n.sw;var s=t("../../util/parseDistortCoordinates.js")(e);if(e.inBrowser){var u=document.createElement("img");u.onload=(()=>{a("img",[0,0,u.naturalWidth,0,u.naturalWidth,u.naturalHeight,0,u.naturalHeight],s),u.onload=(()=>{var t=document.createElement("canvas");t.width=u.naturalWidth,t.height=u.naturalHeight,t.getContext("2d").drawImage(u,0,0),o.output={src:t.toDataURL("image/png"),format:"png"},u.remove(),i()})}),u.src=r.src,u.id="img",document.body.appendChild(u)}else t("../_nomodule/gl-context")(r,i,o,e)},output:void 0,UI:r}}},{"../../util/parseDistortCoordinates.js":358,"../_nomodule/gl-context":349,"./../../util/getDefaults.js":356,"./glfx":342,"./info.json":344}],342:[function(t,e,r){e.exports=function(){function t(t,e,r){return Math.max(t,Math.min(e,r))}function e(t){return{_:t,loadContentsOf:function(t){N=this._.gl,this._.loadContentsOf(t)},destroy:function(){N=this._.gl,this._.destroy()}}}function r(t){return e(z.fromElement(t))}function n(t,e){var r=N.UNSIGNED_BYTE;if(N.getExtension("OES_texture_float")&&N.getExtension("OES_texture_float_linear")){var n=new z(100,100,N.RGBA,N.FLOAT);try{n.drawTo(function(){r=N.FLOAT})}catch(t){}n.destroy()}this._.texture&&this._.texture.destroy(),this._.spareTexture&&this._.spareTexture.destroy(),this.width=t,this.height=e,this._.texture=new z(t,e,N.RGBA,r),this._.spareTexture=new z(t,e,N.RGBA,r),this._.extraTexture=this._.extraTexture||new z(0,0,N.RGBA,r),this._.flippedShader=this._.flippedShader||new U(null,"uniform sampler2D texture;varying vec2 texCoord;void main(){gl_FragColor=texture2D(texture,vec2(texCoord.x,1.0-texCoord.y));}"),this._.isInitialized=!0}function i(t,e,r){return this._.isInitialized&&t._.width==this.width&&t._.height==this.height||n.call(this,e||t._.width,r||t._.height),t._.use(),this._.texture.drawTo(function(){U.getDefaultShader().drawRect()}),this}function o(){return this._.texture.use(),this._.flippedShader.drawRect(),this}function a(t,e,r,n){(r||this._.texture).use(),this._.spareTexture.drawTo(function(){t.uniforms(e).drawRect()}),this._.spareTexture.swapWith(n||this._.texture)}function s(t){return t.parentNode.insertBefore(this,t),t.parentNode.removeChild(t),this}function u(){var t=new z(this._.texture.width,this._.texture.height,N.RGBA,N.UNSIGNED_BYTE);return this._.texture.use(),t.drawTo(function(){U.getDefaultShader().drawRect()}),e(t)}function l(){var t=this._.texture.width,e=this._.texture.height,r=new Uint8Array(4*t*e);return this._.texture.drawTo(function(){N.readPixels(0,0,t,e,N.RGBA,N.UNSIGNED_BYTE,r)}),r}function c(t){return function(){return N=this._.gl,t.apply(this,arguments)}}function h(t,e,r,n,i,o,a,s){var u,l,c=n-o,h=s-o,p=(l=r-i)*h-(u=a-i)*c;return[r-t+(u=((i=t-r+i-a)*h-u*(o=e-n+o-s))/p)*r,n-e+u*n,u,a-t+(l=(l*o-i*c)/p)*a,s-e+l*s,l,t,e,1]}function p(t){var e=t[0],r=t[1],n=t[2],i=t[3],o=t[4],a=t[5],s=t[6],u=t[7],l=e*o*(t=t[8])-e*a*u-r*i*t+r*a*s+n*i*u-n*o*s;return[(o*t-a*u)/l,(n*u-r*t)/l,(r*a-n*o)/l,(a*s-i*t)/l,(e*t-n*s)/l,(n*i-e*a)/l,(i*u-o*s)/l,(r*s-e*u)/l,(e*o-r*i)/l]}function f(t){var e=t.length;this.xa=[],this.ya=[],this.u=[],this.y2=[],t.sort(function(t,e){return t[0]-e[0]});for(var r=0;r<e;r++)this.xa.push(t[r][0]),this.ya.push(t[r][1]);for(this.u[0]=0,this.y2[0]=0,r=1;r<e-1;++r){t=this.xa[r+1]-this.xa[r-1];var n=(this.xa[r]-this.xa[r-1])/t,i=n*this.y2[r-1]+2;this.y2[r]=(n-1)/i,this.u[r]=(6*((this.ya[r+1]-this.ya[r])/(this.xa[r+1]-this.xa[r])-(this.ya[r]-this.ya[r-1])/(this.xa[r]-this.xa[r-1]))/t-n*this.u[r-1])/i}for(this.y2[e-1]=0,r=e-2;0<=r;--r)this.y2[r]=this.y2[r]*this.y2[r+1]+this.u[r]}function d(t,e){return new U(null,t+"uniform sampler2D texture;uniform vec2 texSize;varying vec2 texCoord;void main(){vec2 coord=texCoord*texSize;"+e+"gl_FragColor=texture2D(texture,coord/texSize);vec2 clampedCoord=clamp(coord,vec2(0.0),texSize);if(coord!=clampedCoord){gl_FragColor.a*=max(0.0,1.0-length(coord-clampedCoord));}}")}function m(e,r){return N.brightnessContrast=N.brightnessContrast||new U(null,"uniform sampler2D texture;uniform float brightness;uniform float contrast;varying vec2 texCoord;void main(){vec4 color=texture2D(texture,texCoord);color.rgb+=brightness;if(contrast>0.0){color.rgb=(color.rgb-0.5)/(1.0-contrast)+0.5;}else{color.rgb=(color.rgb-0.5)*(1.0+contrast)+0.5;}gl_FragColor=color;}"),a.call(this,N.brightnessContrast,{brightness:t(-1,e,1),contrast:t(-1,r,1)}),this}function g(e){e=new f(e);for(var r=[],n=0;256>n;n++)r.push(t(0,Math.floor(256*e.interpolate(n/255)),255));return r}function v(t,e,r){t=g(t),1==arguments.length?e=r=t:(e=g(e),r=g(r));for(var n=[],i=0;256>i;i++)n.splice(n.length,0,t[i],e[i],r[i],255);return this._.extraTexture.initFromBytes(256,1,n),this._.extraTexture.use(1),N.curves=N.curves||new U(null,"uniform sampler2D texture;uniform sampler2D map;varying vec2 texCoord;void main(){vec4 color=texture2D(texture,texCoord);color.r=texture2D(map,vec2(color.r)).r;color.g=texture2D(map,vec2(color.g)).g;color.b=texture2D(map,vec2(color.b)).b;gl_FragColor=color;}"),N.curves.textures({map:1}),a.call(this,N.curves,{}),this}function _(t){N.denoise=N.denoise||new U(null,"uniform sampler2D texture;uniform float exponent;uniform float strength;uniform vec2 texSize;varying vec2 texCoord;void main(){vec4 center=texture2D(texture,texCoord);vec4 color=vec4(0.0);float total=0.0;for(float x=-4.0;x<=4.0;x+=1.0){for(float y=-4.0;y<=4.0;y+=1.0){vec4 sample=texture2D(texture,texCoord+vec2(x,y)/texSize);float weight=1.0-abs(dot(sample.rgb-center.rgb,vec3(0.25)));weight=pow(weight,exponent);color+=sample*weight;total+=weight;}}gl_FragColor=color/total;}");for(var e=0;2>e;e++)a.call(this,N.denoise,{exponent:Math.max(0,t),texSize:[this.width,this.height]});return this}function y(e,r){return N.hueSaturation=N.hueSaturation||new U(null,"uniform sampler2D texture;uniform float hue;uniform float saturation;varying vec2 texCoord;void main(){vec4 color=texture2D(texture,texCoord);float angle=hue*3.14159265;float s=sin(angle),c=cos(angle);vec3 weights=(vec3(2.0*c,-sqrt(3.0)*s-c,sqrt(3.0)*s-c)+1.0)/3.0;float len=length(color.rgb);color.rgb=vec3(dot(color.rgb,weights.xyz),dot(color.rgb,weights.zxy),dot(color.rgb,weights.yzx));float average=(color.r+color.g+color.b)/3.0;if(saturation>0.0){color.rgb+=(average-color.rgb)*(1.0-1.0/(1.001-saturation));}else{color.rgb+=(average-color.rgb)*(-saturation);}gl_FragColor=color;}"),a.call(this,N.hueSaturation,{hue:t(-1,e,1),saturation:t(-1,r,1)}),this}function b(e){return N.noise=N.noise||new U(null,"uniform sampler2D texture;uniform float amount;varying vec2 texCoord;float rand(vec2 co){return fract(sin(dot(co.xy,vec2(12.9898,78.233)))*43758.5453);}void main(){vec4 color=texture2D(texture,texCoord);float diff=(rand(texCoord)-0.5)*amount;color.r+=diff;color.g+=diff;color.b+=diff;gl_FragColor=color;}"),a.call(this,N.noise,{amount:t(0,e,1)}),this}function x(e){return N.sepia=N.sepia||new U(null,"uniform sampler2D texture;uniform float amount;varying vec2 texCoord;void main(){vec4 color=texture2D(texture,texCoord);float r=color.r;float g=color.g;float b=color.b;color.r=min(1.0,(r*(1.0-(0.607*amount)))+(g*(0.769*amount))+(b*(0.189*amount)));color.g=min(1.0,(r*0.349*amount)+(g*(1.0-(0.314*amount)))+(b*0.168*amount));color.b=min(1.0,(r*0.272*amount)+(g*0.534*amount)+(b*(1.0-(0.869*amount))));gl_FragColor=color;}"),a.call(this,N.sepia,{amount:t(0,e,1)}),this}function w(t,e){return N.unsharpMask=N.unsharpMask||new U(null,"uniform sampler2D blurredTexture;uniform sampler2D originalTexture;uniform float strength;uniform float threshold;varying vec2 texCoord;void main(){vec4 blurred=texture2D(blurredTexture,texCoord);vec4 original=texture2D(originalTexture,texCoord);gl_FragColor=mix(blurred,original,1.0+strength);}"),this._.extraTexture.ensureFormat(this._.texture),this._.texture.use(),this._.extraTexture.drawTo(function(){U.getDefaultShader().drawRect()}),this._.extraTexture.use(1),this.triangleBlur(t),N.unsharpMask.textures({originalTexture:1}),a.call(this,N.unsharpMask,{strength:e}),this._.extraTexture.unuse(1),this}function k(e){return N.vibrance=N.vibrance||new U(null,"uniform sampler2D texture;uniform float amount;varying vec2 texCoord;void main(){vec4 color=texture2D(texture,texCoord);float average=(color.r+color.g+color.b)/3.0;float mx=max(color.r,max(color.g,color.b));float amt=(mx-average)*(-amount*3.0);color.rgb=mix(color.rgb,vec3(mx),amt);gl_FragColor=color;}"),a.call(this,N.vibrance,{amount:t(-1,e,1)}),this}function E(e,r){return N.vignette=N.vignette||new U(null,"uniform sampler2D texture;uniform float size;uniform float amount;varying vec2 texCoord;void main(){vec4 color=texture2D(texture,texCoord);float dist=distance(texCoord,vec2(0.5,0.5));color.rgb*=smoothstep(0.8,size*0.799,dist*(amount+size));gl_FragColor=color;}"),a.call(this,N.vignette,{size:t(0,e,1),amount:t(0,r,1)}),this}function T(e,r,n){N.lensBlurPrePass=N.lensBlurPrePass||new U(null,"uniform sampler2D texture;uniform float power;varying vec2 texCoord;void main(){vec4 color=texture2D(texture,texCoord);color=pow(color,vec4(power));gl_FragColor=vec4(color);}");var i="uniform sampler2D texture0;uniform sampler2D texture1;uniform vec2 delta0;uniform vec2 delta1;uniform float power;varying vec2 texCoord;"+G+"vec4 sample(vec2 delta){float offset=random(vec3(delta,151.7182),0.0);vec4 color=vec4(0.0);float total=0.0;for(float t=0.0;t<=30.0;t++){float percent=(t+offset)/30.0;color+=texture2D(texture0,texCoord+delta*percent);total+=1.0;}return color/total;}";N.lensBlur0=N.lensBlur0||new U(null,i+"void main(){gl_FragColor=sample(delta0);}"),N.lensBlur1=N.lensBlur1||new U(null,i+"void main(){gl_FragColor=(sample(delta0)+sample(delta1))*0.5;}"),N.lensBlur2=N.lensBlur2||new U(null,i+"void main(){vec4 color=(sample(delta0)+2.0*texture2D(texture1,texCoord))/3.0;gl_FragColor=pow(color,vec4(power));}").textures({texture1:1});i=[];for(var o=0;3>o;o++){var s=n+2*o*Math.PI/3;i.push([e*Math.sin(s)/this.width,e*Math.cos(s)/this.height])}return e=Math.pow(10,t(-1,r,1)),a.call(this,N.lensBlurPrePass,{power:e}),this._.extraTexture.ensureFormat(this._.texture),a.call(this,N.lensBlur0,{delta0:i[0]},this._.texture,this._.extraTexture),a.call(this,N.lensBlur1,{delta0:i[1],delta1:i[2]},this._.extraTexture,this._.extraTexture),a.call(this,N.lensBlur0,{delta0:i[1]}),this._.extraTexture.use(1),a.call(this,N.lensBlur2,{power:1/e,delta0:i[2]}),this}function S(t,e,r,n,i,o){N.tiltShift=N.tiltShift||new U(null,"uniform sampler2D texture;uniform float blurRadius;uniform float gradientRadius;uniform vec2 start;uniform vec2 end;uniform vec2 delta;uniform vec2 texSize;varying vec2 texCoord;"+G+"void main(){vec4 color=vec4(0.0);float total=0.0;float offset=random(vec3(12.9898,78.233,151.7182),0.0);vec2 normal=normalize(vec2(start.y-end.y,end.x-start.x));float radius=smoothstep(0.0,1.0,abs(dot(texCoord*texSize-start,normal))/gradientRadius)*blurRadius;for(float t=-30.0;t<=30.0;t++){float percent=(t+offset-0.5)/30.0;float weight=1.0-abs(percent);vec4 sample=texture2D(texture,texCoord+delta/texSize*percent*radius);sample.rgb*=sample.a;color+=sample*weight;total+=weight;}gl_FragColor=color/total;gl_FragColor.rgb/=gl_FragColor.a+0.00001;}");var s=r-t,u=n-e,l=Math.sqrt(s*s+u*u);return a.call(this,N.tiltShift,{blurRadius:i,gradientRadius:o,start:[t,e],end:[r,n],delta:[s/l,u/l],texSize:[this.width,this.height]}),a.call(this,N.tiltShift,{blurRadius:i,gradientRadius:o,start:[t,e],end:[r,n],delta:[-u/l,s/l],texSize:[this.width,this.height]}),this}function A(t){return N.triangleBlur=N.triangleBlur||new U(null,"uniform sampler2D texture;uniform vec2 delta;varying vec2 texCoord;"+G+"void main(){vec4 color=vec4(0.0);float total=0.0;float offset=random(vec3(12.9898,78.233,151.7182),0.0);for(float t=-30.0;t<=30.0;t++){float percent=(t+offset-0.5)/30.0;float weight=1.0-abs(percent);vec4 sample=texture2D(texture,texCoord+delta*percent);sample.rgb*=sample.a;color+=sample*weight;total+=weight;}gl_FragColor=color/total;gl_FragColor.rgb/=gl_FragColor.a+0.00001;}"),a.call(this,N.triangleBlur,{delta:[t/this.width,0]}),a.call(this,N.triangleBlur,{delta:[0,t/this.height]}),this}function C(t,e,r){return N.zoomBlur=N.zoomBlur||new U(null,"uniform sampler2D texture;uniform vec2 center;uniform float strength;uniform vec2 texSize;varying vec2 texCoord;"+G+"void main(){vec4 color=vec4(0.0);float total=0.0;vec2 toCenter=center-texCoord*texSize;float offset=random(vec3(12.9898,78.233,151.7182),0.0);for(float t=0.0;t<=40.0;t++){float percent=(t+offset)/40.0;float weight=4.0*(percent-percent*percent);vec4 sample=texture2D(texture,texCoord+toCenter*percent*strength/texSize);sample.rgb*=sample.a;color+=sample*weight;total+=weight;}gl_FragColor=color/total;gl_FragColor.rgb/=gl_FragColor.a+0.00001;}"),a.call(this,N.zoomBlur,{center:[t,e],strength:r,texSize:[this.width,this.height]}),this}function R(t,e,r,n){return N.colorHalftone=N.colorHalftone||new U(null,"uniform sampler2D texture;uniform vec2 center;uniform float angle;uniform float scale;uniform vec2 texSize;varying vec2 texCoord;float pattern(float angle){float s=sin(angle),c=cos(angle);vec2 tex=texCoord*texSize-center;vec2 point=vec2(c*tex.x-s*tex.y,s*tex.x+c*tex.y)*scale;return(sin(point.x)*sin(point.y))*4.0;}void main(){vec4 color=texture2D(texture,texCoord);vec3 cmy=1.0-color.rgb;float k=min(cmy.x,min(cmy.y,cmy.z));cmy=(cmy-k)/(1.0-k);cmy=clamp(cmy*10.0-3.0+vec3(pattern(angle+0.26179),pattern(angle+1.30899),pattern(angle)),0.0,1.0);k=clamp(k*10.0-5.0+pattern(angle+0.78539),0.0,1.0);gl_FragColor=vec4(1.0-cmy-k,color.a);}"),a.call(this,N.colorHalftone,{center:[t,e],angle:r,scale:Math.PI/n,texSize:[this.width,this.height]}),this}function B(t,e,r,n){return N.dotScreen=N.dotScreen||new U(null,"uniform sampler2D texture;uniform vec2 center;uniform float angle;uniform float scale;uniform vec2 texSize;varying vec2 texCoord;float pattern(){float s=sin(angle),c=cos(angle);vec2 tex=texCoord*texSize-center;vec2 point=vec2(c*tex.x-s*tex.y,s*tex.x+c*tex.y)*scale;return(sin(point.x)*sin(point.y))*4.0;}void main(){vec4 color=texture2D(texture,texCoord);float average=(color.r+color.g+color.b)/3.0;gl_FragColor=vec4(vec3(average*10.0-5.0+pattern()),color.a);}"),a.call(this,N.dotScreen,{center:[t,e],angle:r,scale:Math.PI/n,texSize:[this.width,this.height]}),this}function P(t){return N.edgeWork1=N.edgeWork1||new U(null,"uniform sampler2D texture;uniform vec2 delta;varying vec2 texCoord;"+G+"void main(){vec2 color=vec2(0.0);vec2 total=vec2(0.0);float offset=random(vec3(12.9898,78.233,151.7182),0.0);for(float t=-30.0;t<=30.0;t++){float percent=(t+offset-0.5)/30.0;float weight=1.0-abs(percent);vec3 sample=texture2D(texture,texCoord+delta*percent).rgb;float average=(sample.r+sample.g+sample.b)/3.0;color.x+=average*weight;total.x+=weight;if(abs(t)<15.0){weight=weight*2.0-1.0;color.y+=average*weight;total.y+=weight;}}gl_FragColor=vec4(color/total,0.0,1.0);}"),N.edgeWork2=N.edgeWork2||new U(null,"uniform sampler2D texture;uniform vec2 delta;varying vec2 texCoord;"+G+"void main(){vec2 color=vec2(0.0);vec2 total=vec2(0.0);float offset=random(vec3(12.9898,78.233,151.7182),0.0);for(float t=-30.0;t<=30.0;t++){float percent=(t+offset-0.5)/30.0;float weight=1.0-abs(percent);vec2 sample=texture2D(texture,texCoord+delta*percent).xy;color.x+=sample.x*weight;total.x+=weight;if(abs(t)<15.0){weight=weight*2.0-1.0;color.y+=sample.y*weight;total.y+=weight;}}float c=clamp(10000.0*(color.y/total.y-color.x/total.x)+0.5,0.0,1.0);gl_FragColor=vec4(c,c,c,1.0);}"),a.call(this,N.edgeWork1,{delta:[t/this.width,0]}),a.call(this,N.edgeWork2,{delta:[0,t/this.height]}),this}function I(t,e,r){return N.hexagonalPixelate=N.hexagonalPixelate||new U(null,"uniform sampler2D texture;uniform vec2 center;uniform float scale;uniform vec2 texSize;varying vec2 texCoord;void main(){vec2 tex=(texCoord*texSize-center)/scale;tex.y/=0.866025404;tex.x-=tex.y*0.5;vec2 a;if(tex.x+tex.y-floor(tex.x)-floor(tex.y)<1.0)a=vec2(floor(tex.x),floor(tex.y));else a=vec2(ceil(tex.x),ceil(tex.y));vec2 b=vec2(ceil(tex.x),floor(tex.y));vec2 c=vec2(floor(tex.x),ceil(tex.y));vec3 TEX=vec3(tex.x,tex.y,1.0-tex.x-tex.y);vec3 A=vec3(a.x,a.y,1.0-a.x-a.y);vec3 B=vec3(b.x,b.y,1.0-b.x-b.y);vec3 C=vec3(c.x,c.y,1.0-c.x-c.y);float alen=length(TEX-A);float blen=length(TEX-B);float clen=length(TEX-C);vec2 choice;if(alen<blen){if(alen<clen)choice=a;else choice=c;}else{if(blen<clen)choice=b;else choice=c;}choice.x+=choice.y*0.5;choice.y*=0.866025404;choice*=scale/texSize;gl_FragColor=texture2D(texture,choice+center/texSize);}"),a.call(this,N.hexagonalPixelate,{center:[t,e],scale:r,texSize:[this.width,this.height]}),this}function M(t){return N.ink=N.ink||new U(null,"uniform sampler2D texture;uniform float strength;uniform vec2 texSize;varying vec2 texCoord;void main(){vec2 dx=vec2(1.0/texSize.x,0.0);vec2 dy=vec2(0.0,1.0/texSize.y);vec4 color=texture2D(texture,texCoord);float bigTotal=0.0;float smallTotal=0.0;vec3 bigAverage=vec3(0.0);vec3 smallAverage=vec3(0.0);for(float x=-2.0;x<=2.0;x+=1.0){for(float y=-2.0;y<=2.0;y+=1.0){vec3 sample=texture2D(texture,texCoord+dx*x+dy*y).rgb;bigAverage+=sample;bigTotal+=1.0;if(abs(x)+abs(y)<2.0){smallAverage+=sample;smallTotal+=1.0;}}}vec3 edge=max(vec3(0.0),bigAverage/bigTotal-smallAverage/smallTotal);gl_FragColor=vec4(color.rgb-dot(edge,edge)*strength*100000.0,color.a);}"),a.call(this,N.ink,{strength:t*t*t*t*t,texSize:[this.width,this.height]}),this}function D(e,r,n,i){return N.bulgePinch=N.bulgePinch||d("uniform float radius;uniform float strength;uniform vec2 center;","coord-=center;float distance=length(coord);if(distance<radius){float percent=distance/radius;if(strength>0.0){coord*=mix(1.0,smoothstep(0.0,radius/distance,percent),strength*0.75);}else{coord*=mix(1.0,pow(percent,1.0+strength*0.75)*radius/distance,1.0-percent);}}coord+=center;"),a.call(this,N.bulgePinch,{radius:n,strength:t(-1,i,1),center:[e,r],texSize:[this.width,this.height]}),this}function F(t,e,r){if(N.matrixWarp=N.matrixWarp||d("uniform mat3 matrix;uniform bool useTextureSpace;","if(useTextureSpace)coord=coord/texSize*2.0-1.0;vec3 warp=matrix*vec3(coord,1.0);coord=warp.xy/warp.z;if(useTextureSpace)coord=(coord*0.5+0.5)*texSize;"),4==(t=Array.prototype.concat.apply([],t)).length)t=[t[0],t[1],0,t[2],t[3],0,0,0,1];else if(9!=t.length)throw"can only warp with 2x2 or 3x3 matrix";return a.call(this,N.matrixWarp,{matrix:e?p(t):t,texSize:[this.width,this.height],useTextureSpace:0|r}),this}function L(t,e){var r=h.apply(null,e),n=h.apply(null,t);r=p(r);return this.matrixWarp([r[0]*n[0]+r[1]*n[3]+r[2]*n[6],r[0]*n[1]+r[1]*n[4]+r[2]*n[7],r[0]*n[2]+r[1]*n[5]+r[2]*n[8],r[3]*n[0]+r[4]*n[3]+r[5]*n[6],r[3]*n[1]+r[4]*n[4]+r[5]*n[7],r[3]*n[2]+r[4]*n[5]+r[5]*n[8],r[6]*n[0]+r[7]*n[3]+r[8]*n[6],r[6]*n[1]+r[7]*n[4]+r[8]*n[7],r[6]*n[2]+r[7]*n[5]+r[8]*n[8]])}function O(t,e,r,n){return N.swirl=N.swirl||d("uniform float radius;uniform float angle;uniform vec2 center;","coord-=center;float distance=length(coord);if(distance<radius){float percent=(radius-distance)/radius;float theta=percent*percent*angle;float s=sin(theta);float c=cos(theta);coord=vec2(coord.x*c-coord.y*s,coord.x*s+coord.y*c);}coord+=center;"),a.call(this,N.swirl,{radius:r,center:[t,e],angle:n,texSize:[this.width,this.height]}),this}var N,j={};!function(){try{var t=document.createElement("canvas").getContext("experimental-webgl")}catch(t){}if(t&&-1===t.getSupportedExtensions().indexOf("OES_texture_float_linear")&&function(t){if(!t.getExtension("OES_texture_float"))return!1;var e=t.createFramebuffer(),r=t.createTexture();t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,null),t.bindFramebuffer(t.FRAMEBUFFER,e),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,r,0),e=t.createTexture(),t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,2,2,0,t.RGBA,t.FLOAT,new Float32Array([2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])),r=t.createProgram();var n=t.createShader(t.VERTEX_SHADER),i=t.createShader(t.FRAGMENT_SHADER);return t.shaderSource(n,"attribute vec2 vertex;void main(){gl_Position=vec4(vertex,0.0,1.0);}"),t.shaderSource(i,"uniform sampler2D texture;void main(){gl_FragColor=texture2D(texture,vec2(0.5));}"),t.compileShader(n),t.compileShader(i),t.attachShader(r,n),t.attachShader(r,i),t.linkProgram(r),n=t.createBuffer(),t.bindBuffer(t.ARRAY_BUFFER,n),t.bufferData(t.ARRAY_BUFFER,new Float32Array([0,0]),t.STREAM_DRAW),t.enableVertexAttribArray(0),t.vertexAttribPointer(0,2,t.FLOAT,!1,0,0),n=new Uint8Array(4),t.useProgram(r),t.viewport(0,0,1,1),t.bindTexture(t.TEXTURE_2D,e),t.drawArrays(t.POINTS,0,1),t.readPixels(0,0,1,1,t.RGBA,t.UNSIGNED_BYTE,n),127===n[0]||128===n[0]}(t)){var e=WebGLRenderingContext.prototype.getExtension,r=WebGLRenderingContext.prototype.getSupportedExtensions;WebGLRenderingContext.prototype.getExtension=function(t){return"OES_texture_float_linear"===t?(void 0===this.$OES_texture_float_linear$&&Object.defineProperty(this,"$OES_texture_float_linear$",{enumerable:!1,configurable:!1,writable:!1,value:new function(){}}),t=this.$OES_texture_float_linear$):t=e.call(this,t),t},WebGLRenderingContext.prototype.getSupportedExtensions=function(){var t=r.call(this);return-1===t.indexOf("OES_texture_float_linear")&&t.push("OES_texture_float_linear"),t}}}(),j.canvas=function(){var t=document.createElement("canvas");try{N=t.getContext("experimental-webgl",{premultipliedAlpha:!1})}catch(t){N=null}if(!N)throw"This browser does not support WebGL";return t._={gl:N,isInitialized:!1,texture:null,spareTexture:null,flippedShader:null},t.texture=c(r),t.draw=c(i),t.update=c(o),t.replace=c(s),t.contents=c(u),t.getPixelArray=c(l),t.brightnessContrast=c(m),t.hexagonalPixelate=c(I),t.hueSaturation=c(y),t.colorHalftone=c(R),t.triangleBlur=c(A),t.unsharpMask=c(w),t.perspective=c(L),t.matrixWarp=c(F),t.bulgePinch=c(D),t.tiltShift=c(S),t.dotScreen=c(B),t.edgeWork=c(P),t.lensBlur=c(T),t.zoomBlur=c(C),t.noise=c(b),t.denoise=c(_),t.curves=c(v),t.swirl=c(O),t.ink=c(M),t.vignette=c(E),t.vibrance=c(k),t.sepia=c(x),t},j.splineInterpolate=g;var U=function(){function t(t,e){var r=N.createShader(t);if(N.shaderSource(r,e),N.compileShader(r),!N.getShaderParameter(r,N.COMPILE_STATUS))throw"compile error: "+N.getShaderInfoLog(r);return r}function e(e,i){if(this.texCoordAttribute=this.vertexAttribute=null,this.program=N.createProgram(),e=e||r,i="precision highp float;"+(i=i||n),N.attachShader(this.program,t(N.VERTEX_SHADER,e)),N.attachShader(this.program,t(N.FRAGMENT_SHADER,i)),N.linkProgram(this.program),!N.getProgramParameter(this.program,N.LINK_STATUS))throw"link error: "+N.getProgramInfoLog(this.program)}var r="attribute vec2 vertex;attribute vec2 _texCoord;varying vec2 texCoord;void main(){texCoord=_texCoord;gl_Position=vec4(vertex*2.0-1.0,0.0,1.0);}",n="uniform sampler2D texture;varying vec2 texCoord;void main(){gl_FragColor=texture2D(texture,texCoord);}";return e.prototype.destroy=function(){N.deleteProgram(this.program),this.program=null},e.prototype.uniforms=function(t){for(var e in N.useProgram(this.program),t)if(t.hasOwnProperty(e)){var r=N.getUniformLocation(this.program,e);if(null!==r){var n=t[e];if("[object Array]"==Object.prototype.toString.call(n))switch(n.length){case 1:N.uniform1fv(r,new Float32Array(n));break;case 2:N.uniform2fv(r,new Float32Array(n));break;case 3:N.uniform3fv(r,new Float32Array(n));break;case 4:N.uniform4fv(r,new Float32Array(n));break;case 9:N.uniformMatrix3fv(r,!1,new Float32Array(n));break;case 16:N.uniformMatrix4fv(r,!1,new Float32Array(n));break;default:throw"dont't know how to load uniform \""+e+'" of length '+n.length}else{if("[object Number]"!=Object.prototype.toString.call(n))throw'attempted to set uniform "'+e+'" to invalid value '+(n||"undefined").toString();N.uniform1f(r,n)}}}return this},e.prototype.textures=function(t){for(var e in N.useProgram(this.program),t)t.hasOwnProperty(e)&&N.uniform1i(N.getUniformLocation(this.program,e),t[e]);return this},e.prototype.drawRect=function(t,e,r,n){var i=N.getParameter(N.VIEWPORT);e=void 0!==e?(e-i[1])/i[3]:0,t=void 0!==t?(t-i[0])/i[2]:0,r=void 0!==r?(r-i[0])/i[2]:1,n=void 0!==n?(n-i[1])/i[3]:1,null==N.vertexBuffer&&(N.vertexBuffer=N.createBuffer()),N.bindBuffer(N.ARRAY_BUFFER,N.vertexBuffer),N.bufferData(N.ARRAY_BUFFER,new Float32Array([t,e,t,n,r,e,r,n]),N.STATIC_DRAW),null==N.texCoordBuffer&&(N.texCoordBuffer=N.createBuffer(),N.bindBuffer(N.ARRAY_BUFFER,N.texCoordBuffer),N.bufferData(N.ARRAY_BUFFER,new Float32Array([0,0,0,1,1,0,1,1]),N.STATIC_DRAW)),null==this.vertexAttribute&&(this.vertexAttribute=N.getAttribLocation(this.program,"vertex"),N.enableVertexAttribArray(this.vertexAttribute)),null==this.texCoordAttribute&&(this.texCoordAttribute=N.getAttribLocation(this.program,"_texCoord"),N.enableVertexAttribArray(this.texCoordAttribute)),N.useProgram(this.program),N.bindBuffer(N.ARRAY_BUFFER,N.vertexBuffer),N.vertexAttribPointer(this.vertexAttribute,2,N.FLOAT,!1,0,0),N.bindBuffer(N.ARRAY_BUFFER,N.texCoordBuffer),N.vertexAttribPointer(this.texCoordAttribute,2,N.FLOAT,!1,0,0),N.drawArrays(N.TRIANGLE_STRIP,0,4)},e.getDefaultShader=function(){return N.defaultShader=N.defaultShader||new e,N.defaultShader},e}();f.prototype.interpolate=function(t){for(var e=0,r=this.ya.length-1;1<r-e;){var n=r+e>>1;this.xa[n]>t?r=n:e=n}n=this.xa[r]-this.xa[e];var i=(this.xa[r]-t)/n;return t=(t-this.xa[e])/n,i*this.ya[e]+t*this.ya[r]+((i*i*i-i)*this.y2[e]+(t*t*t-t)*this.y2[r])*n*n/6};var z=function(){function t(t,e,r,n){this.gl=N,this.id=N.createTexture(),this.width=t,this.height=e,this.format=r,this.type=n,N.bindTexture(N.TEXTURE_2D,this.id),N.texParameteri(N.TEXTURE_2D,N.TEXTURE_MAG_FILTER,N.LINEAR),N.texParameteri(N.TEXTURE_2D,N.TEXTURE_MIN_FILTER,N.LINEAR),N.texParameteri(N.TEXTURE_2D,N.TEXTURE_WRAP_S,N.CLAMP_TO_EDGE),N.texParameteri(N.TEXTURE_2D,N.TEXTURE_WRAP_T,N.CLAMP_TO_EDGE),t&&e&&N.texImage2D(N.TEXTURE_2D,0,this.format,t,e,0,this.format,this.type,null)}function e(t){return null==r&&(r=document.createElement("canvas")),r.width=t.width,r.height=t.height,(t=r.getContext("2d")).clearRect(0,0,r.width,r.height),t}t.fromElement=function(e){var r=new t(0,0,N.RGBA,N.UNSIGNED_BYTE);return r.loadContentsOf(e),r},t.prototype.loadContentsOf=function(t){this.width=t.width||t.videoWidth,this.height=t.height||t.videoHeight,N.bindTexture(N.TEXTURE_2D,this.id),N.texImage2D(N.TEXTURE_2D,0,this.format,this.format,this.type,t)},t.prototype.initFromBytes=function(t,e,r){this.width=t,this.height=e,this.format=N.RGBA,this.type=N.UNSIGNED_BYTE,N.bindTexture(N.TEXTURE_2D,this.id),N.texImage2D(N.TEXTURE_2D,0,N.RGBA,t,e,0,N.RGBA,this.type,new Uint8Array(r))},t.prototype.destroy=function(){N.deleteTexture(this.id),this.id=null},t.prototype.use=function(t){N.activeTexture(N.TEXTURE0+(t||0)),N.bindTexture(N.TEXTURE_2D,this.id)},t.prototype.unuse=function(t){N.activeTexture(N.TEXTURE0+(t||0)),N.bindTexture(N.TEXTURE_2D,null)},t.prototype.ensureFormat=function(t,e,r,n){if(1==arguments.length){var i=arguments[0];t=i.width,e=i.height,r=i.format,n=i.type}t==this.width&&e==this.height&&r==this.format&&n==this.type||(this.width=t,this.height=e,this.format=r,this.type=n,N.bindTexture(N.TEXTURE_2D,this.id),N.texImage2D(N.TEXTURE_2D,0,this.format,t,e,0,this.format,this.type,null))},t.prototype.drawTo=function(t){if(N.framebuffer=N.framebuffer||N.createFramebuffer(),N.bindFramebuffer(N.FRAMEBUFFER,N.framebuffer),N.framebufferTexture2D(N.FRAMEBUFFER,N.COLOR_ATTACHMENT0,N.TEXTURE_2D,this.id,0),N.checkFramebufferStatus(N.FRAMEBUFFER)!==N.FRAMEBUFFER_COMPLETE)throw Error("incomplete framebuffer");N.viewport(0,0,this.width,this.height),t(),N.bindFramebuffer(N.FRAMEBUFFER,null)};var r=null;return t.prototype.fillUsingCanvas=function(t){return t(e(this)),this.format=N.RGBA,this.type=N.UNSIGNED_BYTE,N.bindTexture(N.TEXTURE_2D,this.id),N.texImage2D(N.TEXTURE_2D,0,N.RGBA,N.RGBA,N.UNSIGNED_BYTE,r),this},t.prototype.toImage=function(t){this.use(),U.getDefaultShader().drawRect();var n=4*this.width*this.height,i=new Uint8Array(n),o=e(this),a=o.createImageData(this.width,this.height);N.readPixels(0,0,this.width,this.height,N.RGBA,N.UNSIGNED_BYTE,i);for(var s=0;s<n;s++)a.data[s]=i[s];o.putImageData(a,0,0),t.src=r.toDataURL()},t.prototype.swapWith=function(t){var e;e=t.id,t.id=this.id,this.id=e,e=t.width,t.width=this.width,this.width=e,e=t.height,t.height=this.height,this.height=e,e=t.format,t.format=this.format,this.format=e},t}(),G="float random(vec3 scale,float seed){return fract(sin(dot(gl_FragCoord.xyz+seed,scale))*43758.5453+seed);}";return j}()},{}],343:[function(t,e,r){arguments[4][210][0].apply(r,arguments)},{"./Module":341,"./info.json":344,dup:210}],344:[function(t,e,r){e.exports={name:"webgl-distort",requires:["webgl"],description:"Transform perspective of an image based on corner coordinates",inputs:{nw:{type:"String",desc:"Comma separated X and Y coordinates of top-left corner",default:"0,100"},ne:{type:"String",desc:"Comma separated X and Y coordinates of top-right corner",default:"1023,-50"},se:{type:"String",desc:"Comma separated X and Y coordinates of bottom-right corner",default:"1223,867"},sw:{type:"String",desc:"Comma separated X and Y coordinates of bottom-left corner",default:"100,767"}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#webgl-distort"}},{}],345:[function(t,e,r){e.exports=function(e,r){var n=t("./../../util/getDefaults.js")(t("./info.json"));return e.red=e.red||n.red,e.green=e.green||n.green,e.blue=e.blue||n.blue,{options:e,draw:function(r,n,i){i.stop(!0),i.overrideFlag=!0;var o=this;return t("../_nomodule/PixelManipulation.js")(r,{output:function(t,e,r){o.output={src:e,format:r}},ui:e.step.ui,extraManipulation:function(t){for(var r=0,n=255/e.red,i=255/e.green,o=255/e.blue;r<t.data.length;)t.data[r]=Math.min(255,t.data[r]*n),t.data[r+1]=Math.min(255,t.data[r+1]*i),t.data[r+2]=Math.min(255,t.data[r+2]*o),r+=4;return t},format:r.format,image:e.image,inBrowser:e.inBrowser,callback:n,useWasm:e.useWasm})},output:void 0,UI:r}}},{"../_nomodule/PixelManipulation.js":348,"./../../util/getDefaults.js":356,"./info.json":347}],346:[function(t,e,r){arguments[4][232][0].apply(r,arguments)},{"./Module":345,"./info.json":347,dup:232}],347:[function(t,e,r){e.exports={name:"white-balance",description:"Render neutral colours correctly based on the whitest pixel in the image.",inputs:{red:{type:"integer",desc:"Red component of the whitest pixel ",default:255},green:{type:"integer",desc:"Green component of the whitest pixel ",default:255},blue:{type:"integer",desc:"Blue component of the whitest pixel ",default:255}},"docs-link":"https://github.com/publiclab/image-sequencer/blob/main/docs/MODULES.md#white-balance"}},{}],348:[function(t,e,r){(function(r,n,i){e.exports=function(e,o){arguments.length<=1&&(o=e,e=this),o=o||{};const a=t("get-pixels"),s=t("save-pixels");a(e.src,function(a,u){if(a)console.log("Bad image path",e);else if(o.getNeighbourPixel&&(o.getNeighbourPixel.fun=function(t,e){return o.getNeighbourPixel(u,x,y,t,e)}),o.preProcess&&(u=o.preProcess(u)),o.changePixel||c(),o.changePixel){const e={env:{consoleLog:console.log,perform:function(t,e){let r=o.changePixel(u.get(t,e,0),u.get(t,e,1),u.get(t,e,2),u.get(t,e,3),t,e);u.set(t,e,0,r[0]),u.set(t,e,1,r[1]),u.set(t,e,2,r[2]),u.set(t,e,3,r[3])}}};function l(){for(var t=0;t<u.shape[0];t++)for(var r=0;r<u.shape[1];r++)e.env.perform(t,r)}const n=o.inBrowser?1:0,s=r.env.TEST?1:0;if(o.useWasm)if(o.inBrowser)fetch("../../../dist/manipulation.wasm").then(t=>t.arrayBuffer()).then(t=>WebAssembly.instantiate(t,e)).then(t=>{t.instance.exports.manipulatePixel(u.shape[0],u.shape[1],n,s),c()}).catch(t=>{console.log(t),console.log("WebAssembly acceleration errored; falling back to JavaScript in PixelManipulation"),l(),c()});else try{const r=t("fs"),o=t("path").join(i,"../../../","dist","manipulation.wasm"),h=r.readFileSync(o);WebAssembly.instantiate(h,e).then(t=>{t.instance.exports.manipulatePixel(u.shape[0],u.shape[1],n,s),c()})}catch(a){console.log(a),console.log("WebAssembly acceleration errored; falling back to JavaScript in PixelManipulation"),l(),c()}else l(),c()}function c(){var t;function e(){var t=[],e=0,r=s(u,o.format,{quality:100});r.on("data",function(r){e+=r.length,t.push(r)}),r.on("end",function(){var r=n.concat(t,e).toString("base64"),i="data:image/"+o.format+";base64,"+r;o.output&&o.output(o.image,i,o.format),o.callback&&o.callback()})}o.extraManipulation&&(t=o.extraManipulation(u,e)),t?(u=t,e()):o.extraManipulation||e()}})}}).call(this,t("_process"),t("buffer").Buffer,"/src/modules/_nomodule")},{_process:136,buffer:71,fs:70,"get-pixels":26,path:114,"save-pixels":186}],349:[function(require,module,exports){(function(__dirname){module.exports=function runInBrowserContext(input,callback,step,options){const puppeteer=eval("require")("puppeteer");var minOptions=require("lodash").cloneDeep(options);minOptions.step=options.step.name;var obj={input:input,modOptions:minOptions};puppeteer.launch({headless:!0,args:["--no-sandbox","--disable-setuid-sandbox"]}).then(function(t){t.newPage().then(e=>{e.goto("https://google.com").then(()=>{e.addScriptTag({path:require("path").join(__dirname,"../../../dist/image-sequencer.js")}).then(()=>{e.evaluate(t=>new Promise((e,r)=>{var n=ImageSequencer();n.loadImage(t.input.src),n.addSteps(t.modOptions.step,t.modOptions),n.run(function(t){e(n.steps[1].output.src)})}),obj).then(e=>{t.close().then(()=>{step.output={src:e,format:input.format},callback()})})})})})})}}).call(this,"/src/modules/_nomodule")},{lodash:99,path:114}],350:[function(t,e,r){const n=t("gpu.js").GPU;e.exports={convolve:(t,e,r={})=>{const i=r.pipeMode||!1,o=r.mode||"gpu",a=new n("gpu"!=o?{mode:o}:{}),s=t[0][0].length,u=t[0].length,l=e[0].length,c=e.length,h=Math.floor(l/2),p=Math.floor(c/2),f=`function (array, kernel) {\n let sum = 0;\n for (let i = 0; i < ${l}; i++){\n for (let j = 0; j < ${c}; j++){\n sum += kernel[j][i] * array[this.thread.y + j][this.thread.x + i];\n }\n }\n return sum;\n }`,d=t=>{let e=[];for(var r=0;r<t.length+2*p;r++){e.push([]);for(var n=0;n<t[0].length+2*h;n++){const i=Math.min(Math.max(n-h,0),t[0].length-1),o=Math.min(Math.max(r-p,0),t.length-1);e[r].push(t[o][i])}}return e},m=a.createKernel(f,{output:[s,u],pipeline:i});let g=[];for(var v=0;v<t.length;v++){const r=m(d(t[v]),e);i?g.push(r.toArray()):g.push(r)}return g},compute:(t,e,r,n)=>{e=e.toString();const i=gpu.createKernel(e,{output:t,constants:r,pipeline:n});return i.build(),n?i().toArray():i()}}},{"gpu.js":58}],351:[function(t,e,r){e.exports=function(e,r,n,i){return function(r,n){!function(r,n,i){var o;if(r.match(/^data:/i))i(o=r,n);else if(!e.options.inBrowser&&r.match(/^https?:\/\//i))t(r.match(/^(https?):\/\//i)[1]).get(r,function(t){var e="",r=t.headers["content-type"];t.setEncoding("base64"),t.on("data",function(t){e+=t}),t.on("end",function(){i("data:"+r+";base64,"+e,n)})});else if(e.options.inBrowser){var a=r.split(".").pop(),s=document.createElement("img"),u=document.createElement("canvas"),l=u.getContext("2d");s.onload=function(){u.width=s.naturalWidth,u.height=s.naturalHeight,l.drawImage(s,0,0),o=u.toDataURL(a),i(o,n)},s.src=r}else o=t("urify")(r),i(o,n)}(n,{name:"load-image",description:"This initial step loads and displays the original image without any modifications.",ID:e.options.sequencerCounter++,inBrowser:e.options.inBrowser,ui:e.options.ui,UI:e.events,output:""},function(t,r){var n=function(t){return{src:t,format:t.split(":")[1].split(";")[0].split("/")[1]}}(t);return e.steps.push(r),e.steps[0].output=n,e.steps[0].UI.onSetup(e.steps[0]),e.steps[0].UI.onDraw(e.steps[0]),e.steps[0].UI.onComplete(e.steps[0]),i(),!0})}(0,n)}},{urify:193}],352:[function(t,e,r){e.exports=function(){return function(t){var e=$(t.dropZoneSelector),r=$(t.fileInputSelector),n=$(t.takePhotoSelector),i=t.onLoad;function o(t){if(t.preventDefault(),t.stopPropagation(),t.target&&t.target.files)var e=t.target.files[0];else e=t.dataTransfer.files[0];if(e){var r=new FileReader;r.onload=i,r.readAsDataURL(e)}}t.onTakePhoto,new FileReader,r.on("change",o),n.on("click",function(){document.getElementById("video").style.display="inline",document.getElementById("capture").style.display="inline",document.getElementById("close").style.display="inline";var e=document.getElementById("video");canvas=document.getElementById("canvas"),context=canvas.getContext("2d"),vendorUrl=window.URL||window.webkitURL,navigator.mediaDevices.getUserMedia({audio:!1,video:!0}).then(function(t){window.stream=t,e.srcObject=t,e.onloadedmetadata=function(t){e.play()},document.getElementById("close").addEventListener("click",function(){!function(t){t.getVideoTracks().forEach(function(t){t.stop()}),document.getElementById("video").style.display="none",document.getElementById("capture").style.display="none",document.getElementById("close").style.display="none"}(t)})}).catch(function(t){console.log("navigator.getUserMedia error: ",t)}),document.getElementById("capture").addEventListener("click",function(r){context.drawImage(e,0,0,400,300),t.onTakePhoto(canvas.toDataURL())})}),e[0].addEventListener("drop",o,!1),e.on("dragover",function(t){t.stopPropagation(),t.preventDefault(),t.dataTransfer.dropEffect="copy"},!1),e.on("dragenter",function(t){e.addClass("hover")}),e.on("dragleave",function(t){e.removeClass("hover")})}}},{}],353:[function(t,e,r){e.exports=function(t={}){return t.onSetup=t.onSetup||function(t){0==t.ui||(t.inBrowser?console.log('Added Step "'+t.name+'"'):console.log("[36m%s[0m",'Added Step "'+t.name+'"'))},t.onDraw=t.onDraw||function(t){0==t.ui||(t.inBrowser?console.log('Drawing Step "'+t.name+'"'):console.log("[33m%s[0m",'Drawing Step "'+t.name+'"'))},t.onComplete=t.onComplete||function(t){0==t.ui||(t.inBrowser?console.log('Drawn Step "'+t.name+'"'):console.log("[32m%s[0m",'Drawn Step "'+t.name+'"'))},t.onRemove=t.onRemove||function(t){0==t.ui||(t.inBrowser?console.log('Removing Step "'+t.name+'"'):console.log("[31m%s[0m",'Removing Step "'+t.name+'"'))},t.notify=t.notify||function(t){console.log(t)},t}},{}],354:[function(t,e,r){e.exports=function(e,r,n){t("get-pixels")(r.src,function(t,i){var o=i.shape[0],a=i.shape[1];if(r.x.valInp){Object.keys(r).forEach(function(t){var e=r[t];e.valInp&&"%"===e.valInp.slice(-1)&&(e.valInp=parseInt(e.valInp,10),"horizontal"===e.type?e.valInp=e.valInp*o/100:e.valInp=e.valInp*a/100)});n(e,r)}})}},{"get-pixels":26}],355:[function(t,e,r){e.exports=function(e,r){return(r=r||{}).infoJson=r.infoJson||{},[function(n,i){var o=t("./getDefaults.js")(r.infoJson);for(key in r.infoJson.inputs)r.infoJson.inputs.hasOwnProperty(key)&&(n[key]=n[key]||o[key]);var a=e(n),s=ImageSequencer({inBrowser:!1,ui:!1});return{options:n,draw:function(t,e){var r=this;s.loadImage(t.src,function(){s.importJSON(a),s.run(function(n){r.output={src:n,format:t.format},e()})})},output:void 0,UI:i}},r.infoJson]}},{"./getDefaults.js":356}],356:[function(t,e,r){e.exports=function(t){var e={};for(var r in t.inputs)t.inputs.hasOwnProperty(r)&&(e[r]=t.inputs[r].default);return e}},{}],357:[function(t,e,r){e.exports={getPreviousStep:function(){return this.getStep(-1)},getNextStep:function(){return this.getStep(1)},getInput:function(t){return t+this.getIndex()===0&&t++,this.getStep(t-1).output},getOutput:function(t){return this.getStep(t).output},getOptions:function(){return this.getStep(0).options},setOptions:function(t){let e=this.getStep(0).options;for(let r in t)e[r]&&(e[r]=t[r])},getFormat:function(){return this.getStep(-1).output.format},getHeight:function(t){let e=new Image;e.onload=function(){t(e.height)},e.src=this.getInput(0).src},getWidth:function(t){let e=new Image;e.onload=function(){t(e.width)},e.src=this.getInput(0).src}}},{}],358:[function(t,e,r){e.exports=function(t){let e=[];return e.push(t.nw.split(",")),e.push(t.ne.split(",")),e.push(t.se.split(",")),e.push(t.sw.split(",")),e.reduce((t,e)=>(t.push(parseInt(e[0])),t.push(parseInt(e[1])),t),[])}},{}]},{},[200]); |