zip格式支持

js的zip格式支持,惰性加载,需要时才执行

当前为 2017-01-17 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         zip格式支持
// @version       1.0.1
// @description     js的zip格式支持,惰性加载,需要时才执行
// @author       opentdoor
// @match        http://bcy.net/*
// @grant        none
// @namespace https://greasyfork.org/users/92069
// ==/UserScript==
var workerjs = `(function main(global){if(global.zWorkerInitialized){throw new Error("z-worker.js should be run only once")}global.zWorkerInitialized=true;addEventListener("message",function(event){var message=event.data,type=message.type,sn=message.sn;var handler=handlers[type];if(handler){try{handler(message)}catch(e){onError(type,sn,e)}}});var handlers={importScripts:doImportScripts,newTask:newTask,append:processData,flush:processData,};var tasks={};function doImportScripts(msg){if(msg.scripts&&msg.scripts.length>0){importScripts.apply(undefined,msg.scripts)}postMessage({type:"importScripts"})}function newTask(msg){var CodecClass=global[msg.codecClass];var sn=msg.sn;if(tasks[sn]){throw Error("duplicated sn")}tasks[sn]={codec:new CodecClass(msg.options),crcInput:msg.crcType==="input",crcOutput:msg.crcType==="output",crc:new Crc32(),};postMessage({type:"newTask",sn:sn})}var now=global.performance?global.performance.now.bind(global.performance):Date.now;function processData(msg){var sn=msg.sn,type=msg.type,input=msg.data;var task=tasks[sn];if(!task&&msg.codecClass){newTask(msg);task=tasks[sn]}var isAppend=type==="append";var start=now();var output;if(isAppend){try{output=task.codec.append(input,function onprogress(loaded){postMessage({type:"progress",sn:sn,loaded:loaded})})}catch(e){delete tasks[sn];throw e}}else{delete tasks[sn];output=task.codec.flush()}var codecTime=now()-start;start=now();if(input&&task.crcInput){task.crc.append(input)}if(output&&task.crcOutput){task.crc.append(output)}var crcTime=now()-start;var rmsg={type:type,sn:sn,codecTime:codecTime,crcTime:crcTime};var transferables=[];if(output){rmsg.data=output;transferables.push(output.buffer)}if(!isAppend&&(task.crcInput||task.crcOutput)){rmsg.crc=task.crc.get()}try{postMessage(rmsg,transferables)}catch(ex){postMessage(rmsg)}}function onError(type,sn,e){var msg={type:type,sn:sn,error:formatError(e)};postMessage(msg)}function formatError(e){return{message:e.message,stack:e.stack}}function Crc32(){this.crc=-1}Crc32.prototype.append=function append(data){var crc=this.crc|0,table=this.table;for(var offset=0,len=data.length|0;offset<len;offset++){crc=(crc>>>8)^table[(crc^data[offset])&255]}this.crc=crc};Crc32.prototype.get=function get(){return ~this.crc};Crc32.prototype.table=(function(){var i,j,t,table=[];for(i=0;i<256;i++){t=i;for(j=0;j<8;j++){if(t&1){t=(t>>>1)^3988292384}else{t=t>>>1}}table[i]=t}return table})();function NOOP(){}global.NOOP=NOOP;NOOP.prototype.append=function append(bytes,onprogress){return bytes};NOOP.prototype.flush=function flush(){}})(this);`
var deflatejs = `(function(global){var MAX_BITS=15;var D_CODES=30;var BL_CODES=19;var LENGTH_CODES=29;var LITERALS=256;var L_CODES=(LITERALS+1+LENGTH_CODES);var HEAP_SIZE=(2*L_CODES+1);var END_BLOCK=256;var MAX_BL_BITS=7;var REP_3_6=16;var REPZ_3_10=17;var REPZ_11_138=18;var Buf_size=8*2;var Z_DEFAULT_COMPRESSION=-1;var Z_FILTERED=1;var Z_HUFFMAN_ONLY=2;var Z_DEFAULT_STRATEGY=0;var Z_NO_FLUSH=0;var Z_PARTIAL_FLUSH=1;var Z_FULL_FLUSH=3;var Z_FINISH=4;var Z_OK=0;var Z_STREAM_END=1;var Z_NEED_DICT=2;var Z_STREAM_ERROR=-2;var Z_DATA_ERROR=-3;var Z_BUF_ERROR=-5;var _dist_code=[0,1,2,3,4,4,5,5,6,6,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,16,17,18,18,19,19,20,20,20,20,21,21,21,21,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29];function Tree(){var that=this;function gen_bitlen(s){var tree=that.dyn_tree;var stree=that.stat_desc.static_tree;var extra=that.stat_desc.extra_bits;var base=that.stat_desc.extra_base;var max_length=that.stat_desc.max_length;var h;var n,m;var bits;var xbits;var f;var overflow=0;for(bits=0;bits<=MAX_BITS;bits++){s.bl_count[bits]=0}tree[s.heap[s.heap_max]*2+1]=0;for(h=s.heap_max+1;h<HEAP_SIZE;h++){n=s.heap[h];bits=tree[tree[n*2+1]*2+1]+1;if(bits>max_length){bits=max_length;overflow++}tree[n*2+1]=bits;if(n>that.max_code){continue}s.bl_count[bits]++;xbits=0;if(n>=base){xbits=extra[n-base]}f=tree[n*2];s.opt_len+=f*(bits+xbits);if(stree){s.static_len+=f*(stree[n*2+1]+xbits)}}if(overflow===0){return}do{bits=max_length-1;while(s.bl_count[bits]===0){bits--}s.bl_count[bits]--;s.bl_count[bits+1]+=2;s.bl_count[max_length]--;overflow-=2}while(overflow>0);for(bits=max_length;bits!==0;bits--){n=s.bl_count[bits];while(n!==0){m=s.heap[--h];if(m>that.max_code){continue}if(tree[m*2+1]!=bits){s.opt_len+=(bits-tree[m*2+1])*tree[m*2];tree[m*2+1]=bits}n--}}}function bi_reverse(code,len){var res=0;do{res|=code&1;code>>>=1;res<<=1}while(--len>0);return res>>>1}function gen_codes(tree,max_code,bl_count){var next_code=[];var code=0;var bits;var n;var len;for(bits=1;bits<=MAX_BITS;bits++){next_code[bits]=code=((code+bl_count[bits-1])<<1)}for(n=0;n<=max_code;n++){len=tree[n*2+1];if(len===0){continue}tree[n*2]=bi_reverse(next_code[len]++,len)}}that.build_tree=function(s){var tree=that.dyn_tree;var stree=that.stat_desc.static_tree;var elems=that.stat_desc.elems;var n,m;var max_code=-1;var node;s.heap_len=0;s.heap_max=HEAP_SIZE;for(n=0;n<elems;n++){if(tree[n*2]!==0){s.heap[++s.heap_len]=max_code=n;s.depth[n]=0}else{tree[n*2+1]=0}}while(s.heap_len<2){node=s.heap[++s.heap_len]=max_code<2?++max_code:0;tree[node*2]=1;s.depth[node]=0;s.opt_len--;if(stree){s.static_len-=stree[node*2+1]}}that.max_code=max_code;for(n=Math.floor(s.heap_len/2);n>=1;n--){s.pqdownheap(tree,n)}node=elems;do{n=s.heap[1];s.heap[1]=s.heap[s.heap_len--];s.pqdownheap(tree,1);m=s.heap[1];s.heap[--s.heap_max]=n;s.heap[--s.heap_max]=m;tree[node*2]=(tree[n*2]+tree[m*2]);s.depth[node]=Math.max(s.depth[n],s.depth[m])+1;tree[n*2+1]=tree[m*2+1]=node;s.heap[1]=node++;s.pqdownheap(tree,1)}while(s.heap_len>=2);s.heap[--s.heap_max]=s.heap[1];gen_bitlen(s);gen_codes(tree,that.max_code,s.bl_count)}}Tree._length_code=[0,1,2,3,4,5,6,7,8,8,9,9,10,10,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28];
Tree.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0];Tree.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576];Tree.d_code=function(dist){return((dist)<256?_dist_code[dist]:_dist_code[256+((dist)>>>7)])};Tree.extra_lbits=[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];Tree.extra_dbits=[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];Tree.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];Tree.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function StaticTree(static_tree,extra_bits,extra_base,elems,max_length){var that=this;that.static_tree=static_tree;that.extra_bits=extra_bits;that.extra_base=extra_base;that.elems=elems;that.max_length=max_length}StaticTree.static_ltree=[12,8,140,8,76,8,204,8,44,8,172,8,108,8,236,8,28,8,156,8,92,8,220,8,60,8,188,8,124,8,252,8,2,8,130,8,66,8,194,8,34,8,162,8,98,8,226,8,18,8,146,8,82,8,210,8,50,8,178,8,114,8,242,8,10,8,138,8,74,8,202,8,42,8,170,8,106,8,234,8,26,8,154,8,90,8,218,8,58,8,186,8,122,8,250,8,6,8,134,8,70,8,198,8,38,8,166,8,102,8,230,8,22,8,150,8,86,8,214,8,54,8,182,8,118,8,246,8,14,8,142,8,78,8,206,8,46,8,174,8,110,8,238,8,30,8,158,8,94,8,222,8,62,8,190,8,126,8,254,8,1,8,129,8,65,8,193,8,33,8,161,8,97,8,225,8,17,8,145,8,81,8,209,8,49,8,177,8,113,8,241,8,9,8,137,8,73,8,201,8,41,8,169,8,105,8,233,8,25,8,153,8,89,8,217,8,57,8,185,8,121,8,249,8,5,8,133,8,69,8,197,8,37,8,165,8,101,8,229,8,21,8,149,8,85,8,213,8,53,8,181,8,117,8,245,8,13,8,141,8,77,8,205,8,45,8,173,8,109,8,237,8,29,8,157,8,93,8,221,8,61,8,189,8,125,8,253,8,19,9,275,9,147,9,403,9,83,9,339,9,211,9,467,9,51,9,307,9,179,9,435,9,115,9,371,9,243,9,499,9,11,9,267,9,139,9,395,9,75,9,331,9,203,9,459,9,43,9,299,9,171,9,427,9,107,9,363,9,235,9,491,9,27,9,283,9,155,9,411,9,91,9,347,9,219,9,475,9,59,9,315,9,187,9,443,9,123,9,379,9,251,9,507,9,7,9,263,9,135,9,391,9,71,9,327,9,199,9,455,9,39,9,295,9,167,9,423,9,103,9,359,9,231,9,487,9,23,9,279,9,151,9,407,9,87,9,343,9,215,9,471,9,55,9,311,9,183,9,439,9,119,9,375,9,247,9,503,9,15,9,271,9,143,9,399,9,79,9,335,9,207,9,463,9,47,9,303,9,175,9,431,9,111,9,367,9,239,9,495,9,31,9,287,9,159,9,415,9,95,9,351,9,223,9,479,9,63,9,319,9,191,9,447,9,127,9,383,9,255,9,511,9,0,7,64,7,32,7,96,7,16,7,80,7,48,7,112,7,8,7,72,7,40,7,104,7,24,7,88,7,56,7,120,7,4,7,68,7,36,7,100,7,20,7,84,7,52,7,116,7,3,8,131,8,67,8,195,8,35,8,163,8,99,8,227,8];StaticTree.static_dtree=[0,5,16,5,8,5,24,5,4,5,20,5,12,5,28,5,2,5,18,5,10,5,26,5,6,5,22,5,14,5,30,5,1,5,17,5,9,5,25,5,5,5,21,5,13,5,29,5,3,5,19,5,11,5,27,5,7,5,23,5];StaticTree.static_l_desc=new StaticTree(StaticTree.static_ltree,Tree.extra_lbits,LITERALS+1,L_CODES,MAX_BITS);StaticTree.static_d_desc=new StaticTree(StaticTree.static_dtree,Tree.extra_dbits,0,D_CODES,MAX_BITS);StaticTree.static_bl_desc=new StaticTree(null,Tree.extra_blbits,0,BL_CODES,MAX_BL_BITS);var MAX_MEM_LEVEL=9;var DEF_MEM_LEVEL=8;function Config(good_length,max_lazy,nice_length,max_chain,func){var that=this;that.good_length=good_length;that.max_lazy=max_lazy;that.nice_length=nice_length;that.max_chain=max_chain;that.func=func}var STORED=0;var FAST=1;var SLOW=2;var config_table=[new Config(0,0,0,0,STORED),new Config(4,4,8,4,FAST),new Config(4,5,16,8,FAST),new Config(4,6,32,32,FAST),new Config(4,4,16,16,SLOW),new Config(8,16,32,32,SLOW),new Config(8,16,128,128,SLOW),new Config(8,32,128,256,SLOW),new Config(32,128,258,1024,SLOW),new Config(32,258,258,4096,SLOW)];var z_errmsg=["need dictionary","stream end","","","stream error","data error","","buffer error","",""];var NeedMore=0;var BlockDone=1;var FinishStarted=2;var FinishDone=3;var PRESET_DICT=32;var INIT_STATE=42;var BUSY_STATE=113;var FINISH_STATE=666;var Z_DEFLATED=8;var STORED_BLOCK=0;var STATIC_TREES=1;var DYN_TREES=2;var MIN_MATCH=3;var MAX_MATCH=258;var MIN_LOOKAHEAD=(MAX_MATCH+MIN_MATCH+1);function smaller(tree,n,m,depth){var tn2=tree[n*2];var tm2=tree[m*2];return(tn2<tm2||(tn2==tm2&&depth[n]<=depth[m]))}function Deflate(){var that=this;var strm;var status;var pending_buf_size;var method;var last_flush;var w_size;var w_bits;var w_mask;var window;var window_size;var prev;var head;var ins_h;var hash_size;var hash_bits;var hash_mask;var hash_shift;var block_start;var match_length;var prev_match;var match_available;var strstart;var match_start;var lookahead;var prev_length;var max_chain_length;var max_lazy_match;var level;var strategy;var good_match;var nice_match;var dyn_ltree;var dyn_dtree;var bl_tree;var l_desc=new Tree();var d_desc=new Tree();var bl_desc=new Tree();that.depth=[];var l_buf;var lit_bufsize;var last_lit;var d_buf;var matches;var last_eob_len;var bi_buf;var bi_valid;that.bl_count=[];that.heap=[];dyn_ltree=[];dyn_dtree=[];bl_tree=[];function lm_init(){var i;window_size=2*w_size;head[hash_size-1]=0;for(i=0;i<hash_size-1;i++){head[i]=0}max_lazy_match=config_table[level].max_lazy;good_match=config_table[level].good_length;nice_match=config_table[level].nice_length;
max_chain_length=config_table[level].max_chain;strstart=0;block_start=0;lookahead=0;match_length=prev_length=MIN_MATCH-1;match_available=0;ins_h=0}function init_block(){var i;for(i=0;i<L_CODES;i++){dyn_ltree[i*2]=0}for(i=0;i<D_CODES;i++){dyn_dtree[i*2]=0}for(i=0;i<BL_CODES;i++){bl_tree[i*2]=0}dyn_ltree[END_BLOCK*2]=1;that.opt_len=that.static_len=0;last_lit=matches=0}function tr_init(){l_desc.dyn_tree=dyn_ltree;l_desc.stat_desc=StaticTree.static_l_desc;d_desc.dyn_tree=dyn_dtree;d_desc.stat_desc=StaticTree.static_d_desc;bl_desc.dyn_tree=bl_tree;bl_desc.stat_desc=StaticTree.static_bl_desc;bi_buf=0;bi_valid=0;last_eob_len=8;init_block()}that.pqdownheap=function(tree,k){var heap=that.heap;var v=heap[k];var j=k<<1;while(j<=that.heap_len){if(j<that.heap_len&&smaller(tree,heap[j+1],heap[j],that.depth)){j++}if(smaller(tree,v,heap[j],that.depth)){break}heap[k]=heap[j];k=j;j<<=1}heap[k]=v};function scan_tree(tree,max_code){var n;var prevlen=-1;var curlen;var nextlen=tree[0*2+1];var count=0;var max_count=7;var min_count=4;if(nextlen===0){max_count=138;min_count=3}tree[(max_code+1)*2+1]=65535;for(n=0;n<=max_code;n++){curlen=nextlen;nextlen=tree[(n+1)*2+1];if(++count<max_count&&curlen==nextlen){continue}else{if(count<min_count){bl_tree[curlen*2]+=count}else{if(curlen!==0){if(curlen!=prevlen){bl_tree[curlen*2]++}bl_tree[REP_3_6*2]++}else{if(count<=10){bl_tree[REPZ_3_10*2]++}else{bl_tree[REPZ_11_138*2]++}}}}count=0;prevlen=curlen;if(nextlen===0){max_count=138;min_count=3}else{if(curlen==nextlen){max_count=6;min_count=3}else{max_count=7;min_count=4}}}}function build_bl_tree(){var max_blindex;scan_tree(dyn_ltree,l_desc.max_code);scan_tree(dyn_dtree,d_desc.max_code);bl_desc.build_tree(that);for(max_blindex=BL_CODES-1;max_blindex>=3;max_blindex--){if(bl_tree[Tree.bl_order[max_blindex]*2+1]!==0){break}}that.opt_len+=3*(max_blindex+1)+5+5+4;return max_blindex}function put_byte(p){that.pending_buf[that.pending++]=p}function put_short(w){put_byte(w&255);put_byte((w>>>8)&255)}function putShortMSB(b){put_byte((b>>8)&255);put_byte((b&255)&255)}function send_bits(value,length){var val,len=length;if(bi_valid>Buf_size-len){val=value;bi_buf|=((val<<bi_valid)&65535);put_short(bi_buf);bi_buf=val>>>(Buf_size-bi_valid);bi_valid+=len-Buf_size}else{bi_buf|=(((value)<<bi_valid)&65535);bi_valid+=len}}function send_code(c,tree){var c2=c*2;send_bits(tree[c2]&65535,tree[c2+1]&65535)}function send_tree(tree,max_code){var n;var prevlen=-1;var curlen;var nextlen=tree[0*2+1];var count=0;var max_count=7;var min_count=4;if(nextlen===0){max_count=138;min_count=3}for(n=0;n<=max_code;n++){curlen=nextlen;nextlen=tree[(n+1)*2+1];if(++count<max_count&&curlen==nextlen){continue}else{if(count<min_count){do{send_code(curlen,bl_tree)}while(--count!==0)}else{if(curlen!==0){if(curlen!=prevlen){send_code(curlen,bl_tree);count--}send_code(REP_3_6,bl_tree);send_bits(count-3,2)}else{if(count<=10){send_code(REPZ_3_10,bl_tree);send_bits(count-3,3)}else{send_code(REPZ_11_138,bl_tree);send_bits(count-11,7)}}}}count=0;prevlen=curlen;if(nextlen===0){max_count=138;min_count=3}else{if(curlen==nextlen){max_count=6;min_count=3}else{max_count=7;min_count=4}}}}function send_all_trees(lcodes,dcodes,blcodes){var rank;send_bits(lcodes-257,5);send_bits(dcodes-1,5);send_bits(blcodes-4,4);for(rank=0;rank<blcodes;rank++){send_bits(bl_tree[Tree.bl_order[rank]*2+1],3)}send_tree(dyn_ltree,lcodes-1);send_tree(dyn_dtree,dcodes-1)}function bi_flush(){if(bi_valid==16){put_short(bi_buf);bi_buf=0;bi_valid=0}else{if(bi_valid>=8){put_byte(bi_buf&255);bi_buf>>>=8;bi_valid-=8}}}function _tr_align(){send_bits(STATIC_TREES<<1,3);send_code(END_BLOCK,StaticTree.static_ltree);bi_flush();if(1+last_eob_len+10-bi_valid<9){send_bits(STATIC_TREES<<1,3);send_code(END_BLOCK,StaticTree.static_ltree);bi_flush()}last_eob_len=7}function _tr_tally(dist,lc){var out_length,in_length,dcode;that.pending_buf[d_buf+last_lit*2]=(dist>>>8)&255;that.pending_buf[d_buf+last_lit*2+1]=dist&255;that.pending_buf[l_buf+last_lit]=lc&255;last_lit++;if(dist===0){dyn_ltree[lc*2]++}else{matches++;dist--;dyn_ltree[(Tree._length_code[lc]+LITERALS+1)*2]++;dyn_dtree[Tree.d_code(dist)*2]++}if((last_lit&8191)===0&&level>2){out_length=last_lit*8;in_length=strstart-block_start;for(dcode=0;dcode<D_CODES;dcode++){out_length+=dyn_dtree[dcode*2]*(5+Tree.extra_dbits[dcode])}out_length>>>=3;if((matches<Math.floor(last_lit/2))&&out_length<Math.floor(in_length/2)){return true}}return(last_lit==lit_bufsize-1)}function compress_block(ltree,dtree){var dist;var lc;var lx=0;var code;var extra;if(last_lit!==0){do{dist=((that.pending_buf[d_buf+lx*2]<<8)&65280)|(that.pending_buf[d_buf+lx*2+1]&255);lc=(that.pending_buf[l_buf+lx])&255;lx++;if(dist===0){send_code(lc,ltree)}else{code=Tree._length_code[lc];send_code(code+LITERALS+1,ltree);extra=Tree.extra_lbits[code];if(extra!==0){lc-=Tree.base_length[code];send_bits(lc,extra)}dist--;code=Tree.d_code(dist);send_code(code,dtree);extra=Tree.extra_dbits[code];if(extra!==0){dist-=Tree.base_dist[code];send_bits(dist,extra)
}}}while(lx<last_lit)}send_code(END_BLOCK,ltree);last_eob_len=ltree[END_BLOCK*2+1]}function bi_windup(){if(bi_valid>8){put_short(bi_buf)}else{if(bi_valid>0){put_byte(bi_buf&255)}}bi_buf=0;bi_valid=0}function copy_block(buf,len,header){bi_windup();last_eob_len=8;if(header){put_short(len);put_short(~len)}that.pending_buf.set(window.subarray(buf,buf+len),that.pending);that.pending+=len}function _tr_stored_block(buf,stored_len,eof){send_bits((STORED_BLOCK<<1)+(eof?1:0),3);copy_block(buf,stored_len,true)}function _tr_flush_block(buf,stored_len,eof){var opt_lenb,static_lenb;var max_blindex=0;if(level>0){l_desc.build_tree(that);d_desc.build_tree(that);max_blindex=build_bl_tree();opt_lenb=(that.opt_len+3+7)>>>3;static_lenb=(that.static_len+3+7)>>>3;if(static_lenb<=opt_lenb){opt_lenb=static_lenb}}else{opt_lenb=static_lenb=stored_len+5}if((stored_len+4<=opt_lenb)&&buf!=-1){_tr_stored_block(buf,stored_len,eof)}else{if(static_lenb==opt_lenb){send_bits((STATIC_TREES<<1)+(eof?1:0),3);compress_block(StaticTree.static_ltree,StaticTree.static_dtree)}else{send_bits((DYN_TREES<<1)+(eof?1:0),3);send_all_trees(l_desc.max_code+1,d_desc.max_code+1,max_blindex+1);compress_block(dyn_ltree,dyn_dtree)}}init_block();if(eof){bi_windup()}}function flush_block_only(eof){_tr_flush_block(block_start>=0?block_start:-1,strstart-block_start,eof);block_start=strstart;strm.flush_pending()}function fill_window(){var n,m;var p;var more;do{more=(window_size-lookahead-strstart);if(more===0&&strstart===0&&lookahead===0){more=w_size}else{if(more==-1){more--}else{if(strstart>=w_size+w_size-MIN_LOOKAHEAD){window.set(window.subarray(w_size,w_size+w_size),0);match_start-=w_size;strstart-=w_size;block_start-=w_size;n=hash_size;p=n;do{m=(head[--p]&65535);head[p]=(m>=w_size?m-w_size:0)}while(--n!==0);n=w_size;p=n;do{m=(prev[--p]&65535);prev[p]=(m>=w_size?m-w_size:0)}while(--n!==0);more+=w_size}}}if(strm.avail_in===0){return}n=strm.read_buf(window,strstart+lookahead,more);lookahead+=n;if(lookahead>=MIN_MATCH){ins_h=window[strstart]&255;ins_h=(((ins_h)<<hash_shift)^(window[strstart+1]&255))&hash_mask}}while(lookahead<MIN_LOOKAHEAD&&strm.avail_in!==0)}function deflate_stored(flush){var max_block_size=65535;var max_start;if(max_block_size>pending_buf_size-5){max_block_size=pending_buf_size-5}while(true){if(lookahead<=1){fill_window();if(lookahead===0&&flush==Z_NO_FLUSH){return NeedMore}if(lookahead===0){break}}strstart+=lookahead;lookahead=0;max_start=block_start+max_block_size;if(strstart===0||strstart>=max_start){lookahead=(strstart-max_start);strstart=max_start;flush_block_only(false);if(strm.avail_out===0){return NeedMore}}if(strstart-block_start>=w_size-MIN_LOOKAHEAD){flush_block_only(false);if(strm.avail_out===0){return NeedMore}}}flush_block_only(flush==Z_FINISH);if(strm.avail_out===0){return(flush==Z_FINISH)?FinishStarted:NeedMore}return flush==Z_FINISH?FinishDone:BlockDone}function longest_match(cur_match){var chain_length=max_chain_length;var scan=strstart;var match;var len;var best_len=prev_length;var limit=strstart>(w_size-MIN_LOOKAHEAD)?strstart-(w_size-MIN_LOOKAHEAD):0;var _nice_match=nice_match;var wmask=w_mask;var strend=strstart+MAX_MATCH;var scan_end1=window[scan+best_len-1];var scan_end=window[scan+best_len];if(prev_length>=good_match){chain_length>>=2}if(_nice_match>lookahead){_nice_match=lookahead}do{match=cur_match;if(window[match+best_len]!=scan_end||window[match+best_len-1]!=scan_end1||window[match]!=window[scan]||window[++match]!=window[scan+1]){continue}scan+=2;match++;do{}while(window[++scan]==window[++match]&&window[++scan]==window[++match]&&window[++scan]==window[++match]&&window[++scan]==window[++match]&&window[++scan]==window[++match]&&window[++scan]==window[++match]&&window[++scan]==window[++match]&&window[++scan]==window[++match]&&scan<strend);len=MAX_MATCH-(strend-scan);scan=strend-MAX_MATCH;if(len>best_len){match_start=cur_match;best_len=len;if(len>=_nice_match){break}scan_end1=window[scan+best_len-1];scan_end=window[scan+best_len]}}while((cur_match=(prev[cur_match&wmask]&65535))>limit&&--chain_length!==0);if(best_len<=lookahead){return best_len}return lookahead}function deflate_fast(flush){var hash_head=0;var bflush;while(true){if(lookahead<MIN_LOOKAHEAD){fill_window();if(lookahead<MIN_LOOKAHEAD&&flush==Z_NO_FLUSH){return NeedMore}if(lookahead===0){break}}if(lookahead>=MIN_MATCH){ins_h=(((ins_h)<<hash_shift)^(window[(strstart)+(MIN_MATCH-1)]&255))&hash_mask;hash_head=(head[ins_h]&65535);prev[strstart&w_mask]=head[ins_h];head[ins_h]=strstart}if(hash_head!==0&&((strstart-hash_head)&65535)<=w_size-MIN_LOOKAHEAD){if(strategy!=Z_HUFFMAN_ONLY){match_length=longest_match(hash_head)}}if(match_length>=MIN_MATCH){bflush=_tr_tally(strstart-match_start,match_length-MIN_MATCH);lookahead-=match_length;if(match_length<=max_lazy_match&&lookahead>=MIN_MATCH){match_length--;do{strstart++;ins_h=((ins_h<<hash_shift)^(window[(strstart)+(MIN_MATCH-1)]&255))&hash_mask;hash_head=(head[ins_h]&65535);prev[strstart&w_mask]=head[ins_h];head[ins_h]=strstart
}while(--match_length!==0);strstart++}else{strstart+=match_length;match_length=0;ins_h=window[strstart]&255;ins_h=(((ins_h)<<hash_shift)^(window[strstart+1]&255))&hash_mask}}else{bflush=_tr_tally(0,window[strstart]&255);lookahead--;strstart++}if(bflush){flush_block_only(false);if(strm.avail_out===0){return NeedMore}}}flush_block_only(flush==Z_FINISH);if(strm.avail_out===0){if(flush==Z_FINISH){return FinishStarted}else{return NeedMore}}return flush==Z_FINISH?FinishDone:BlockDone}function deflate_slow(flush){var hash_head=0;var bflush;var max_insert;while(true){if(lookahead<MIN_LOOKAHEAD){fill_window();if(lookahead<MIN_LOOKAHEAD&&flush==Z_NO_FLUSH){return NeedMore}if(lookahead===0){break}}if(lookahead>=MIN_MATCH){ins_h=(((ins_h)<<hash_shift)^(window[(strstart)+(MIN_MATCH-1)]&255))&hash_mask;hash_head=(head[ins_h]&65535);prev[strstart&w_mask]=head[ins_h];head[ins_h]=strstart}prev_length=match_length;prev_match=match_start;match_length=MIN_MATCH-1;if(hash_head!==0&&prev_length<max_lazy_match&&((strstart-hash_head)&65535)<=w_size-MIN_LOOKAHEAD){if(strategy!=Z_HUFFMAN_ONLY){match_length=longest_match(hash_head)}if(match_length<=5&&(strategy==Z_FILTERED||(match_length==MIN_MATCH&&strstart-match_start>4096))){match_length=MIN_MATCH-1}}if(prev_length>=MIN_MATCH&&match_length<=prev_length){max_insert=strstart+lookahead-MIN_MATCH;bflush=_tr_tally(strstart-1-prev_match,prev_length-MIN_MATCH);lookahead-=prev_length-1;prev_length-=2;do{if(++strstart<=max_insert){ins_h=(((ins_h)<<hash_shift)^(window[(strstart)+(MIN_MATCH-1)]&255))&hash_mask;hash_head=(head[ins_h]&65535);prev[strstart&w_mask]=head[ins_h];head[ins_h]=strstart}}while(--prev_length!==0);match_available=0;match_length=MIN_MATCH-1;strstart++;if(bflush){flush_block_only(false);if(strm.avail_out===0){return NeedMore}}}else{if(match_available!==0){bflush=_tr_tally(0,window[strstart-1]&255);if(bflush){flush_block_only(false)}strstart++;lookahead--;if(strm.avail_out===0){return NeedMore}}else{match_available=1;strstart++;lookahead--}}}if(match_available!==0){bflush=_tr_tally(0,window[strstart-1]&255);match_available=0}flush_block_only(flush==Z_FINISH);if(strm.avail_out===0){if(flush==Z_FINISH){return FinishStarted}else{return NeedMore}}return flush==Z_FINISH?FinishDone:BlockDone}function deflateReset(strm){strm.total_in=strm.total_out=0;strm.msg=null;that.pending=0;that.pending_out=0;status=BUSY_STATE;last_flush=Z_NO_FLUSH;tr_init();lm_init();return Z_OK}that.deflateInit=function(strm,_level,bits,_method,memLevel,_strategy){if(!_method){_method=Z_DEFLATED}if(!memLevel){memLevel=DEF_MEM_LEVEL}if(!_strategy){_strategy=Z_DEFAULT_STRATEGY}strm.msg=null;if(_level==Z_DEFAULT_COMPRESSION){_level=6}if(memLevel<1||memLevel>MAX_MEM_LEVEL||_method!=Z_DEFLATED||bits<9||bits>15||_level<0||_level>9||_strategy<0||_strategy>Z_HUFFMAN_ONLY){return Z_STREAM_ERROR}strm.dstate=that;w_bits=bits;w_size=1<<w_bits;w_mask=w_size-1;hash_bits=memLevel+7;hash_size=1<<hash_bits;hash_mask=hash_size-1;hash_shift=Math.floor((hash_bits+MIN_MATCH-1)/MIN_MATCH);window=new Uint8Array(w_size*2);prev=[];head=[];lit_bufsize=1<<(memLevel+6);that.pending_buf=new Uint8Array(lit_bufsize*4);pending_buf_size=lit_bufsize*4;d_buf=Math.floor(lit_bufsize/2);l_buf=(1+2)*lit_bufsize;level=_level;strategy=_strategy;method=_method&255;return deflateReset(strm)};that.deflateEnd=function(){if(status!=INIT_STATE&&status!=BUSY_STATE&&status!=FINISH_STATE){return Z_STREAM_ERROR}that.pending_buf=null;head=null;prev=null;window=null;that.dstate=null;return status==BUSY_STATE?Z_DATA_ERROR:Z_OK};that.deflateParams=function(strm,_level,_strategy){var err=Z_OK;if(_level==Z_DEFAULT_COMPRESSION){_level=6}if(_level<0||_level>9||_strategy<0||_strategy>Z_HUFFMAN_ONLY){return Z_STREAM_ERROR}if(config_table[level].func!=config_table[_level].func&&strm.total_in!==0){err=strm.deflate(Z_PARTIAL_FLUSH)}if(level!=_level){level=_level;max_lazy_match=config_table[level].max_lazy;good_match=config_table[level].good_length;nice_match=config_table[level].nice_length;max_chain_length=config_table[level].max_chain}strategy=_strategy;return err};that.deflateSetDictionary=function(strm,dictionary,dictLength){var length=dictLength;var n,index=0;if(!dictionary||status!=INIT_STATE){return Z_STREAM_ERROR}if(length<MIN_MATCH){return Z_OK}if(length>w_size-MIN_LOOKAHEAD){length=w_size-MIN_LOOKAHEAD;index=dictLength-length}window.set(dictionary.subarray(index,index+length),0);strstart=length;block_start=length;ins_h=window[0]&255;ins_h=(((ins_h)<<hash_shift)^(window[1]&255))&hash_mask;for(n=0;n<=length-MIN_MATCH;n++){ins_h=(((ins_h)<<hash_shift)^(window[(n)+(MIN_MATCH-1)]&255))&hash_mask;prev[n&w_mask]=head[ins_h];head[ins_h]=n}return Z_OK};that.deflate=function(_strm,flush){var i,header,level_flags,old_flush,bstate;if(flush>Z_FINISH||flush<0){return Z_STREAM_ERROR}if(!_strm.next_out||(!_strm.next_in&&_strm.avail_in!==0)||(status==FINISH_STATE&&flush!=Z_FINISH)){_strm.msg=z_errmsg[Z_NEED_DICT-(Z_STREAM_ERROR)];return Z_STREAM_ERROR}if(_strm.avail_out===0){_strm.msg=z_errmsg[Z_NEED_DICT-(Z_BUF_ERROR)];
return Z_BUF_ERROR}strm=_strm;old_flush=last_flush;last_flush=flush;if(status==INIT_STATE){header=(Z_DEFLATED+((w_bits-8)<<4))<<8;level_flags=((level-1)&255)>>1;if(level_flags>3){level_flags=3}header|=(level_flags<<6);if(strstart!==0){header|=PRESET_DICT}header+=31-(header%31);status=BUSY_STATE;putShortMSB(header)}if(that.pending!==0){strm.flush_pending();if(strm.avail_out===0){last_flush=-1;return Z_OK}}else{if(strm.avail_in===0&&flush<=old_flush&&flush!=Z_FINISH){strm.msg=z_errmsg[Z_NEED_DICT-(Z_BUF_ERROR)];return Z_BUF_ERROR}}if(status==FINISH_STATE&&strm.avail_in!==0){_strm.msg=z_errmsg[Z_NEED_DICT-(Z_BUF_ERROR)];return Z_BUF_ERROR}if(strm.avail_in!==0||lookahead!==0||(flush!=Z_NO_FLUSH&&status!=FINISH_STATE)){bstate=-1;switch(config_table[level].func){case STORED:bstate=deflate_stored(flush);break;case FAST:bstate=deflate_fast(flush);break;case SLOW:bstate=deflate_slow(flush);break;default:}if(bstate==FinishStarted||bstate==FinishDone){status=FINISH_STATE}if(bstate==NeedMore||bstate==FinishStarted){if(strm.avail_out===0){last_flush=-1}return Z_OK}if(bstate==BlockDone){if(flush==Z_PARTIAL_FLUSH){_tr_align()}else{_tr_stored_block(0,0,false);if(flush==Z_FULL_FLUSH){for(i=0;i<hash_size;i++){head[i]=0}}}strm.flush_pending();if(strm.avail_out===0){last_flush=-1;return Z_OK}}}if(flush!=Z_FINISH){return Z_OK}return Z_STREAM_END}}function ZStream(){var that=this;that.next_in_index=0;that.next_out_index=0;that.avail_in=0;that.total_in=0;that.avail_out=0;that.total_out=0}ZStream.prototype={deflateInit:function(level,bits){var that=this;that.dstate=new Deflate();if(!bits){bits=MAX_BITS}return that.dstate.deflateInit(that,level,bits)},deflate:function(flush){var that=this;if(!that.dstate){return Z_STREAM_ERROR}return that.dstate.deflate(that,flush)},deflateEnd:function(){var that=this;if(!that.dstate){return Z_STREAM_ERROR}var ret=that.dstate.deflateEnd();that.dstate=null;return ret},deflateParams:function(level,strategy){var that=this;if(!that.dstate){return Z_STREAM_ERROR}return that.dstate.deflateParams(that,level,strategy)},deflateSetDictionary:function(dictionary,dictLength){var that=this;if(!that.dstate){return Z_STREAM_ERROR}return that.dstate.deflateSetDictionary(that,dictionary,dictLength)},read_buf:function(buf,start,size){var that=this;var len=that.avail_in;if(len>size){len=size}if(len===0){return 0}that.avail_in-=len;buf.set(that.next_in.subarray(that.next_in_index,that.next_in_index+len),start);that.next_in_index+=len;that.total_in+=len;return len},flush_pending:function(){var that=this;var len=that.dstate.pending;if(len>that.avail_out){len=that.avail_out}if(len===0){return}that.next_out.set(that.dstate.pending_buf.subarray(that.dstate.pending_out,that.dstate.pending_out+len),that.next_out_index);that.next_out_index+=len;that.dstate.pending_out+=len;that.total_out+=len;that.avail_out-=len;that.dstate.pending-=len;if(that.dstate.pending===0){that.dstate.pending_out=0}}};function Deflater(options){var that=this;var z=new ZStream();var bufsize=512;var flush=Z_NO_FLUSH;var buf=new Uint8Array(bufsize);var level=options?options.level:Z_DEFAULT_COMPRESSION;if(typeof level=="undefined"){level=Z_DEFAULT_COMPRESSION}z.deflateInit(level);z.next_out=buf;that.append=function(data,onprogress){var err,buffers=[],lastIndex=0,bufferIndex=0,bufferSize=0,array;if(!data.length){return}z.next_in_index=0;z.next_in=data;z.avail_in=data.length;do{z.next_out_index=0;z.avail_out=bufsize;err=z.deflate(flush);if(err!=Z_OK){throw new Error("deflating: "+z.msg)}if(z.next_out_index){if(z.next_out_index==bufsize){buffers.push(new Uint8Array(buf))}else{buffers.push(new Uint8Array(buf.subarray(0,z.next_out_index)))}}bufferSize+=z.next_out_index;if(onprogress&&z.next_in_index>0&&z.next_in_index!=lastIndex){onprogress(z.next_in_index);lastIndex=z.next_in_index}}while(z.avail_in>0||z.avail_out===0);array=new Uint8Array(bufferSize);buffers.forEach(function(chunk){array.set(chunk,bufferIndex);bufferIndex+=chunk.length});return array};that.flush=function(){var err,buffers=[],bufferIndex=0,bufferSize=0,array;do{z.next_out_index=0;z.avail_out=bufsize;err=z.deflate(Z_FINISH);if(err!=Z_STREAM_END&&err!=Z_OK){throw new Error("deflating: "+z.msg)}if(bufsize-z.avail_out>0){buffers.push(new Uint8Array(buf.subarray(0,z.next_out_index)))}bufferSize+=z.next_out_index}while(z.avail_in>0||z.avail_out===0);z.deflateEnd();array=new Uint8Array(bufferSize);buffers.forEach(function(chunk){array.set(chunk,bufferIndex);bufferIndex+=chunk.length});return array}}var env=global.zip||global;env.Deflater=env._jzlib_Deflater=Deflater})(this);`;
var zipjs = `(function(obj){var ERR_BAD_FORMAT="File format is not recognized.";var ERR_CRC="CRC failed.";var ERR_ENCRYPTED="File contains encrypted entry.";var ERR_ZIP64="File is using Zip64 (4gb+ file size).";var ERR_READ="Error while reading zip file.";var ERR_WRITE="Error while writing zip file.";var ERR_WRITE_DATA="Error while writing file data.";var ERR_READ_DATA="Error while reading file data.";var ERR_DUPLICATED_NAME="File already exists.";var CHUNK_SIZE=512*1024;var TEXT_PLAIN="text/plain";var appendABViewSupported;try{appendABViewSupported=new Blob([new DataView(new ArrayBuffer(0))]).size===0}catch(e){}function Crc32(){this.crc=-1}Crc32.prototype.append=function append(data){var crc=this.crc|0,table=this.table;for(var offset=0,len=data.length|0;offset<len;offset++){crc=(crc>>>8)^table[(crc^data[offset])&255]}this.crc=crc};Crc32.prototype.get=function get(){return ~this.crc};Crc32.prototype.table=(function(){var i,j,t,table=[];for(i=0;i<256;i++){t=i;for(j=0;j<8;j++){if(t&1){t=(t>>>1)^3988292384}else{t=t>>>1}}table[i]=t}return table})();function NOOP(){}NOOP.prototype.append=function append(bytes,onprogress){return bytes};NOOP.prototype.flush=function flush(){};function blobSlice(blob,index,length){if(index<0||length<0||index+length>blob.size){throw new RangeError("offset:"+index+", length:"+length+", size:"+blob.size)}if(blob.slice){return blob.slice(index,index+length)}else{if(blob.webkitSlice){return blob.webkitSlice(index,index+length)}else{if(blob.mozSlice){return blob.mozSlice(index,index+length)}else{if(blob.msSlice){return blob.msSlice(index,index+length)}}}}}function getDataHelper(byteLength,bytes){var dataBuffer,dataArray;dataBuffer=new ArrayBuffer(byteLength);dataArray=new Uint8Array(dataBuffer);if(bytes){dataArray.set(bytes,0)}return{buffer:dataBuffer,array:dataArray,view:new DataView(dataBuffer)}}function Reader(){}function TextReader(text){var that=this,blobReader;function init(callback,onerror){var blob=new Blob([text],{type:TEXT_PLAIN});blobReader=new BlobReader(blob);blobReader.init(function(){that.size=blobReader.size;callback()},onerror)}function readUint8Array(index,length,callback,onerror){blobReader.readUint8Array(index,length,callback,onerror)}that.size=0;that.init=init;that.readUint8Array=readUint8Array}TextReader.prototype=new Reader();TextReader.prototype.constructor=TextReader;function Data64URIReader(dataURI){var that=this,dataStart;function init(callback){var dataEnd=dataURI.length;while(dataURI.charAt(dataEnd-1)=="="){dataEnd--}dataStart=dataURI.indexOf(",")+1;that.size=Math.floor((dataEnd-dataStart)*0.75);callback()}function readUint8Array(index,length,callback){var i,data=getDataHelper(length);var start=Math.floor(index/3)*4;var end=Math.ceil((index+length)/3)*4;var bytes=obj.atob(dataURI.substring(start+dataStart,end+dataStart));var delta=index-Math.floor(start/4)*3;for(i=delta;i<delta+length;i++){data.array[i-delta]=bytes.charCodeAt(i)}callback(data.array)}that.size=0;that.init=init;that.readUint8Array=readUint8Array}Data64URIReader.prototype=new Reader();Data64URIReader.prototype.constructor=Data64URIReader;function BlobReader(blob){var that=this;function init(callback){that.size=blob.size;callback()}function readUint8Array(index,length,callback,onerror){var reader=new FileReader();reader.onload=function(e){callback(new Uint8Array(e.target.result))};reader.onerror=onerror;try{reader.readAsArrayBuffer(blobSlice(blob,index,length))}catch(e){onerror(e)}}that.size=0;that.init=init;that.readUint8Array=readUint8Array}BlobReader.prototype=new Reader();BlobReader.prototype.constructor=BlobReader;function Writer(){}Writer.prototype.getData=function(callback){callback(this.data)};function TextWriter(encoding){var that=this,blob;function init(callback){blob=new Blob([],{type:TEXT_PLAIN});callback()}function writeUint8Array(array,callback){blob=new Blob([blob,appendABViewSupported?array:array.buffer],{type:TEXT_PLAIN});callback()}function getData(callback,onerror){var reader=new FileReader();reader.onload=function(e){callback(e.target.result)};reader.onerror=onerror;reader.readAsText(blob,encoding)}that.init=init;that.writeUint8Array=writeUint8Array;that.getData=getData}TextWriter.prototype=new Writer();TextWriter.prototype.constructor=TextWriter;function Data64URIWriter(contentType){var that=this,data="",pending="";function init(callback){data+="data:"+(contentType||"")+";base64,";callback()}function writeUint8Array(array,callback){var i,delta=pending.length,dataString=pending;pending="";for(i=0;i<(Math.floor((delta+array.length)/3)*3)-delta;i++){dataString+=String.fromCharCode(array[i])}for(;i<array.length;i++){pending+=String.fromCharCode(array[i])}if(dataString.length>2){data+=obj.btoa(dataString)}else{pending=dataString}callback()}function getData(callback){callback(data+obj.btoa(pending))}that.init=init;that.writeUint8Array=writeUint8Array;that.getData=getData}Data64URIWriter.prototype=new Writer();Data64URIWriter.prototype.constructor=Data64URIWriter;function BlobWriter(contentType){var blob,that=this;
function init(callback){blob=new Blob([],{type:contentType});callback()}function writeUint8Array(array,callback){blob=new Blob([blob,appendABViewSupported?array:array.buffer],{type:contentType});callback()}function getData(callback){callback(blob)}that.init=init;that.writeUint8Array=writeUint8Array;that.getData=getData}BlobWriter.prototype=new Writer();BlobWriter.prototype.constructor=BlobWriter;function launchWorkerProcess(worker,initialMessage,reader,writer,offset,size,onprogress,onend,onreaderror,onwriteerror){var chunkIndex=0,index,outputSize,sn=initialMessage.sn,crc;function onflush(){worker.removeEventListener("message",onmessage,false);onend(outputSize,crc)}function onmessage(event){var message=event.data,data=message.data,err=message.error;if(err){err.toString=function(){return"Error: "+this.message};onreaderror(err);return}if(message.sn!==sn){return}if(typeof message.codecTime==="number"){worker.codecTime+=message.codecTime}if(typeof message.crcTime==="number"){worker.crcTime+=message.crcTime}switch(message.type){case"append":if(data){outputSize+=data.length;writer.writeUint8Array(data,function(){step()},onwriteerror)}else{step()}break;case"flush":crc=message.crc;if(data){outputSize+=data.length;writer.writeUint8Array(data,function(){onflush()},onwriteerror)}else{onflush()}break;case"progress":if(onprogress){onprogress(index+message.loaded,size)}break;case"importScripts":case"newTask":case"echo":break;default:console.warn("zip.js:launchWorkerProcess: unknown message: ",message)}}function step(){index=chunkIndex*CHUNK_SIZE;if(index<=size){reader.readUint8Array(offset+index,Math.min(CHUNK_SIZE,size-index),function(array){if(onprogress){onprogress(index,size)}var msg=index===0?initialMessage:{sn:sn};msg.type="append";msg.data=array;try{worker.postMessage(msg,[array.buffer])}catch(ex){worker.postMessage(msg)}chunkIndex++},onreaderror)}else{worker.postMessage({sn:sn,type:"flush"})}}outputSize=0;worker.addEventListener("message",onmessage,false);step()}function launchProcess(process,reader,writer,offset,size,crcType,onprogress,onend,onreaderror,onwriteerror){var chunkIndex=0,index,outputSize=0,crcInput=crcType==="input",crcOutput=crcType==="output",crc=new Crc32();function step(){var outputData;index=chunkIndex*CHUNK_SIZE;if(index<size){reader.readUint8Array(offset+index,Math.min(CHUNK_SIZE,size-index),function(inputData){var outputData;try{outputData=process.append(inputData,function(loaded){if(onprogress){onprogress(index+loaded,size)}})}catch(e){onreaderror(e);return}if(outputData){outputSize+=outputData.length;writer.writeUint8Array(outputData,function(){chunkIndex++;setTimeout(step,1)},onwriteerror);if(crcOutput){crc.append(outputData)}}else{chunkIndex++;setTimeout(step,1)}if(crcInput){crc.append(inputData)}if(onprogress){onprogress(index,size)}},onreaderror)}else{try{outputData=process.flush()}catch(e){onreaderror(e);return}if(outputData){if(crcOutput){crc.append(outputData)}outputSize+=outputData.length;writer.writeUint8Array(outputData,function(){onend(outputSize,crc.get())},onwriteerror)}else{onend(outputSize,crc.get())}}}step()}function inflate(worker,sn,reader,writer,offset,size,computeCrc32,onend,onprogress,onreaderror,onwriteerror){var crcType=computeCrc32?"output":"none";if(obj.zip.useWebWorkers){var initialMessage={sn:sn,codecClass:"Inflater",crcType:crcType,};launchWorkerProcess(worker,initialMessage,reader,writer,offset,size,onprogress,onend,onreaderror,onwriteerror)}else{launchProcess(new obj.zip.Inflater(),reader,writer,offset,size,crcType,onprogress,onend,onreaderror,onwriteerror)}}function deflate(worker,sn,reader,writer,level,onend,onprogress,onreaderror,onwriteerror){var crcType="input";if(obj.zip.useWebWorkers){var initialMessage={sn:sn,options:{level:level},codecClass:"Deflater",crcType:crcType,};launchWorkerProcess(worker,initialMessage,reader,writer,0,reader.size,onprogress,onend,onreaderror,onwriteerror)}else{launchProcess(new obj.zip.Deflater(),reader,writer,0,reader.size,crcType,onprogress,onend,onreaderror,onwriteerror)}}function copy(worker,sn,reader,writer,offset,size,computeCrc32,onend,onprogress,onreaderror,onwriteerror){var crcType="input";if(obj.zip.useWebWorkers&&computeCrc32){var initialMessage={sn:sn,codecClass:"NOOP",crcType:crcType,};launchWorkerProcess(worker,initialMessage,reader,writer,offset,size,onprogress,onend,onreaderror,onwriteerror)}else{launchProcess(new NOOP(),reader,writer,offset,size,crcType,onprogress,onend,onreaderror,onwriteerror)}}function decodeASCII(str){var i,out="",charCode,extendedASCII=["\u00C7","\u00FC","\u00E9","\u00E2","\u00E4","\u00E0","\u00E5","\u00E7","\u00EA","\u00EB","\u00E8","\u00EF","\u00EE","\u00EC","\u00C4","\u00C5","\u00C9","\u00E6","\u00C6","\u00F4","\u00F6","\u00F2","\u00FB","\u00F9","\u00FF","\u00D6","\u00DC","\u00F8","\u00A3","\u00D8","\u00D7","\u0192","\u00E1","\u00ED","\u00F3","\u00FA","\u00F1","\u00D1","\u00AA","\u00BA","\u00BF","\u00AE","\u00AC","\u00BD","\u00BC","\u00A1","\u00AB","\u00BB","_","_","_","\u00A6","\u00A6","\u00C1","\u00C2","\u00C0","\u00A9","\u00A6","\u00A6","+","+","\u00A2","\u00A5","+","+","-","-","+","-","+","\u00E3","\u00C3","+","+","-","-","\u00A6","-","+","\u00A4","\u00F0","\u00D0","\u00CA","\u00CB","\u00C8","i","\u00CD","\u00CE","\u00CF","+","+","_","_","\u00A6","\u00CC","_","\u00D3","\u00DF","\u00D4","\u00D2","\u00F5","\u00D5","\u00B5","\u00FE","\u00DE","\u00DA","\u00DB","\u00D9","\u00FD","\u00DD","\u00AF","\u00B4","\u00AD","\u00B1","_","\u00BE","\u00B6","\u00A7","\u00F7","\u00B8","\u00B0","\u00A8","\u00B7","\u00B9","\u00B3","\u00B2","_"," "];
for(i=0;i<str.length;i++){charCode=str.charCodeAt(i)&255;if(charCode>127){out+=extendedASCII[charCode-128]}else{out+=String.fromCharCode(charCode)}}return out}function decodeUTF8(string){return decodeURIComponent(escape(string))}function getString(bytes){var i,str="";for(i=0;i<bytes.length;i++){str+=String.fromCharCode(bytes[i])}return str}function getDate(timeRaw){var date=(timeRaw&4294901760)>>16,time=timeRaw&65535;try{return new Date(1980+((date&65024)>>9),((date&480)>>5)-1,date&31,(time&63488)>>11,(time&2016)>>5,(time&31)*2,0)}catch(e){}}function readCommonHeader(entry,data,index,centralDirectory,onerror){entry.version=data.view.getUint16(index,true);entry.bitFlag=data.view.getUint16(index+2,true);entry.compressionMethod=data.view.getUint16(index+4,true);entry.lastModDateRaw=data.view.getUint32(index+6,true);entry.lastModDate=getDate(entry.lastModDateRaw);if((entry.bitFlag&1)===1){onerror(ERR_ENCRYPTED);return}if(centralDirectory||(entry.bitFlag&8)!=8){entry.crc32=data.view.getUint32(index+10,true);entry.compressedSize=data.view.getUint32(index+14,true);entry.uncompressedSize=data.view.getUint32(index+18,true)}if(entry.compressedSize===4294967295||entry.uncompressedSize===4294967295){onerror(ERR_ZIP64);return}entry.filenameLength=data.view.getUint16(index+22,true);entry.extraFieldLength=data.view.getUint16(index+24,true)}function createZipReader(reader,callback,onerror){var inflateSN=0;function Entry(){}Entry.prototype.getData=function(writer,onend,onprogress,checkCrc32){var that=this;function testCrc32(crc32){var dataCrc32=getDataHelper(4);dataCrc32.view.setUint32(0,crc32);return that.crc32==dataCrc32.view.getUint32(0)}function getWriterData(uncompressedSize,crc32){if(checkCrc32&&!testCrc32(crc32)){onerror(ERR_CRC)}else{writer.getData(function(data){onend(data)})}}function onreaderror(err){onerror(err||ERR_READ_DATA)}function onwriteerror(err){onerror(err||ERR_WRITE_DATA)}reader.readUint8Array(that.offset,30,function(bytes){var data=getDataHelper(bytes.length,bytes),dataOffset;if(data.view.getUint32(0)!=1347093252){onerror(ERR_BAD_FORMAT);return}readCommonHeader(that,data,4,false,onerror);dataOffset=that.offset+30+that.filenameLength+that.extraFieldLength;writer.init(function(){if(that.compressionMethod===0){copy(that._worker,inflateSN++,reader,writer,dataOffset,that.compressedSize,checkCrc32,getWriterData,onprogress,onreaderror,onwriteerror)}else{inflate(that._worker,inflateSN++,reader,writer,dataOffset,that.compressedSize,checkCrc32,getWriterData,onprogress,onreaderror,onwriteerror)}},onwriteerror)},onreaderror)};function seekEOCDR(eocdrCallback){var EOCDR_MIN=22;if(reader.size<EOCDR_MIN){onerror(ERR_BAD_FORMAT);return}var ZIP_COMMENT_MAX=256*256,EOCDR_MAX=EOCDR_MIN+ZIP_COMMENT_MAX;doSeek(EOCDR_MIN,function(){doSeek(Math.min(EOCDR_MAX,reader.size),function(){onerror(ERR_BAD_FORMAT)})});function doSeek(length,eocdrNotFoundCallback){reader.readUint8Array(reader.size-length,length,function(bytes){for(var i=bytes.length-EOCDR_MIN;i>=0;i--){if(bytes[i]===80&&bytes[i+1]===75&&bytes[i+2]===5&&bytes[i+3]===6){eocdrCallback(new DataView(bytes.buffer,i,EOCDR_MIN));return}}eocdrNotFoundCallback()},function(){onerror(ERR_READ)})}}var zipReader={getEntries:function(callback){var worker=this._worker;seekEOCDR(function(dataView){var datalength,fileslength;datalength=dataView.getUint32(16,true);fileslength=dataView.getUint16(8,true);if(datalength<0||datalength>=reader.size){onerror(ERR_BAD_FORMAT);return}reader.readUint8Array(datalength,reader.size-datalength,function(bytes){var i,index=0,entries=[],entry,filename,comment,data=getDataHelper(bytes.length,bytes);for(i=0;i<fileslength;i++){entry=new Entry();entry._worker=worker;if(data.view.getUint32(index)!=1347092738){onerror(ERR_BAD_FORMAT);return}readCommonHeader(entry,data,index+6,true,onerror);entry.commentLength=data.view.getUint16(index+32,true);entry.directory=((data.view.getUint8(index+38)&16)==16);entry.offset=data.view.getUint32(index+42,true);filename=getString(data.array.subarray(index+46,index+46+entry.filenameLength));entry.filename=((entry.bitFlag&2048)===2048)?decodeUTF8(filename):decodeASCII(filename);if(!entry.directory&&entry.filename.charAt(entry.filename.length-1)=="/"){entry.directory=true}comment=getString(data.array.subarray(index+46+entry.filenameLength+entry.extraFieldLength,index+46+entry.filenameLength+entry.extraFieldLength+entry.commentLength));entry.comment=((entry.bitFlag&2048)===2048)?decodeUTF8(comment):decodeASCII(comment);entries.push(entry);index+=46+entry.filenameLength+entry.extraFieldLength+entry.commentLength}callback(entries)},function(){onerror(ERR_READ)})})},close:function(callback){if(this._worker){this._worker.terminate();this._worker=null}if(callback){callback()}},_worker:null};if(!obj.zip.useWebWorkers){callback(zipReader)}else{createWorker("inflater",function(worker){zipReader._worker=worker;callback(zipReader)},function(err){onerror(err)})}}function encodeUTF8(string){return unescape(encodeURIComponent(string))}function getBytes(str){var i,array=[];
for(i=0;i<str.length;i++){array.push(str.charCodeAt(i))}return array}function createZipWriter(writer,callback,onerror,dontDeflate){var files={},filenames=[],datalength=0;var deflateSN=0;function onwriteerror(err){onerror(err||ERR_WRITE)}function onreaderror(err){onerror(err||ERR_READ_DATA)}var zipWriter={add:function(name,reader,onend,onprogress,options){var header,filename,date;var worker=this._worker;function writeHeader(callback){var data;date=options.lastModDate||new Date();header=getDataHelper(26);files[name]={headerArray:header.array,directory:options.directory,filename:filename,offset:datalength,comment:getBytes(encodeUTF8(options.comment||""))};header.view.setUint32(0,335546376);if(options.version){header.view.setUint8(0,options.version)}if(!dontDeflate&&options.level!==0&&!options.directory){header.view.setUint16(4,2048)}header.view.setUint16(6,(((date.getHours()<<6)|date.getMinutes())<<5)|date.getSeconds()/2,true);header.view.setUint16(8,((((date.getFullYear()-1980)<<4)|(date.getMonth()+1))<<5)|date.getDate(),true);header.view.setUint16(22,filename.length,true);data=getDataHelper(30+filename.length);data.view.setUint32(0,1347093252);data.array.set(header.array,4);data.array.set(filename,30);datalength+=data.array.length;writer.writeUint8Array(data.array,callback,onwriteerror)}function writeFooter(compressedLength,crc32){var footer=getDataHelper(16);datalength+=compressedLength||0;footer.view.setUint32(0,1347094280);if(typeof crc32!="undefined"){header.view.setUint32(10,crc32,true);footer.view.setUint32(4,crc32,true)}if(reader){footer.view.setUint32(8,compressedLength,true);header.view.setUint32(14,compressedLength,true);footer.view.setUint32(12,reader.size,true);header.view.setUint32(18,reader.size,true)}writer.writeUint8Array(footer.array,function(){datalength+=16;onend()},onwriteerror)}function writeFile(){options=options||{};name=name.trim();if(options.directory&&name.charAt(name.length-1)!="/"){name+="/"}if(files.hasOwnProperty(name)){onerror(ERR_DUPLICATED_NAME);return}filename=getBytes(encodeUTF8(name));filenames.push(name);writeHeader(function(){if(reader){if(dontDeflate||options.level===0){copy(worker,deflateSN++,reader,writer,0,reader.size,true,writeFooter,onprogress,onreaderror,onwriteerror)}else{deflate(worker,deflateSN++,reader,writer,options.level,writeFooter,onprogress,onreaderror,onwriteerror)}}else{writeFooter()}},onwriteerror)}if(reader){reader.init(writeFile,onreaderror)}else{writeFile()}},close:function(callback){if(this._worker){this._worker.terminate();this._worker=null}var data,length=0,index=0,indexFilename,file;for(indexFilename=0;indexFilename<filenames.length;indexFilename++){file=files[filenames[indexFilename]];length+=46+file.filename.length+file.comment.length}data=getDataHelper(length+22);for(indexFilename=0;indexFilename<filenames.length;indexFilename++){file=files[filenames[indexFilename]];data.view.setUint32(index,1347092738);data.view.setUint16(index+4,5120);data.array.set(file.headerArray,index+6);data.view.setUint16(index+32,file.comment.length,true);if(file.directory){data.view.setUint8(index+38,16)}data.view.setUint32(index+42,file.offset,true);data.array.set(file.filename,index+46);data.array.set(file.comment,index+46+file.filename.length);index+=46+file.filename.length+file.comment.length}data.view.setUint32(index,1347093766);data.view.setUint16(index+8,filenames.length,true);data.view.setUint16(index+10,filenames.length,true);data.view.setUint32(index+12,length,true);data.view.setUint32(index+16,datalength,true);writer.writeUint8Array(data.array,function(){writer.getData(callback)},onwriteerror)},_worker:null};if(!obj.zip.useWebWorkers){callback(zipWriter)}else{createWorker("deflater",function(worker){zipWriter._worker=worker;callback(zipWriter)},function(err){onerror(err)})}}function resolveURLs(urls){var a=document.createElement("a");return urls.map(function(url){a.href=url;return a.href})}var DEFAULT_WORKER_SCRIPTS={deflater:["z-worker.js","deflate.js"],inflater:["z-worker.js","inflate.js"]};function createWorker(type,callback,onerror){if(obj.zip.workerScripts!==null&&obj.zip.workerScriptsPath!==null){onerror(new Error("Either zip.workerScripts or zip.workerScriptsPath may be set, not both."));return}var scripts;if(obj.zip.workerScripts){scripts=obj.zip.workerScripts[type];if(!Array.isArray(scripts)){onerror(new Error("zip.workerScripts."+type+" is not an array!"));return}scripts=resolveURLs(scripts)}else{scripts=DEFAULT_WORKER_SCRIPTS[type].slice(0);scripts[0]=(obj.zip.workerScriptsPath||"")+scripts[0]}var worker=new Worker(scripts[0]);worker.codecTime=worker.crcTime=0;worker.postMessage({type:"importScripts",scripts:scripts.slice(1)});worker.addEventListener("message",onmessage);function onmessage(ev){var msg=ev.data;if(msg.error){worker.terminate();onerror(msg.error);return}if(msg.type==="importScripts"){worker.removeEventListener("message",onmessage);worker.removeEventListener("error",errorHandler);callback(worker)}}worker.addEventListener("error",errorHandler);
function errorHandler(err){worker.terminate();onerror(err)}}function onerror_default(error){console.error(error)}obj._zip={Reader:Reader,Writer:Writer,BlobReader:BlobReader,Data64URIReader:Data64URIReader,TextReader:TextReader,BlobWriter:BlobWriter,Data64URIWriter:Data64URIWriter,TextWriter:TextWriter,createReader:function(reader,callback,onerror){onerror=onerror||onerror_default;reader.init(function(){createZipReader(reader,callback,onerror)},onerror)},createWriter:function(writer,callback,onerror,dontDeflate){onerror=onerror||onerror_default;dontDeflate=!!dontDeflate;writer.init(function(){createZipWriter(writer,callback,onerror,dontDeflate)},onerror)},useWebWorkers:true,workerScriptsPath:null,workerScripts:null,}})(this);`;
var inflatejs = `(function(global){var MAX_BITS=15;var Z_OK=0;var Z_STREAM_END=1;var Z_NEED_DICT=2;var Z_STREAM_ERROR=-2;var Z_DATA_ERROR=-3;var Z_MEM_ERROR=-4;var Z_BUF_ERROR=-5;var inflate_mask=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535];var MANY=1440;var Z_NO_FLUSH=0;var Z_FINISH=4;var fixed_bl=9;var fixed_bd=5;var fixed_tl=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255];var fixed_td=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577];var cplens=[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];var cplext=[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,112,112];var cpdist=[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];var cpdext=[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];var BMAX=15;function InfTree(){var that=this;var hn;var v;var c;var r;var u;var x;function huft_build(b,bindex,n,s,d,e,t,m,hp,hn,v){var a;
var f;var g;var h;var i;var j;var k;var l;var mask;var p;var q;var w;var xp;var y;var z;p=0;i=n;do{c[b[bindex+p]]++;p++;i--}while(i!==0);if(c[0]==n){t[0]=-1;m[0]=0;return Z_OK}l=m[0];for(j=1;j<=BMAX;j++){if(c[j]!==0){break}}k=j;if(l<j){l=j}for(i=BMAX;i!==0;i--){if(c[i]!==0){break}}g=i;if(l>i){l=i}m[0]=l;for(y=1<<j;j<i;j++,y<<=1){if((y-=c[j])<0){return Z_DATA_ERROR}}if((y-=c[i])<0){return Z_DATA_ERROR}c[i]+=y;x[1]=j=0;p=1;xp=2;while(--i!==0){x[xp]=(j+=c[p]);xp++;p++}i=0;p=0;do{if((j=b[bindex+p])!==0){v[x[j]++]=i}p++}while(++i<n);n=x[g];x[0]=i=0;p=0;h=-1;w=-l;u[0]=0;q=0;z=0;for(;k<=g;k++){a=c[k];while(a--!==0){while(k>w+l){h++;w+=l;z=g-w;z=(z>l)?l:z;if((f=1<<(j=k-w))>a+1){f-=a+1;xp=k;if(j<z){while(++j<z){if((f<<=1)<=c[++xp]){break}f-=c[xp]}}}z=1<<j;if(hn[0]+z>MANY){return Z_DATA_ERROR}u[h]=q=hn[0];hn[0]+=z;if(h!==0){x[h]=i;r[0]=j;r[1]=l;j=i>>>(w-l);r[2]=(q-u[h-1]-j);hp.set(r,(u[h-1]+j)*3)}else{t[0]=q}}r[1]=(k-w);if(p>=n){r[0]=128+64}else{if(v[p]<s){r[0]=(v[p]<256?0:32+64);r[2]=v[p++]}else{r[0]=(e[v[p]-s]+16+64);r[2]=d[v[p++]-s]}}f=1<<(k-w);for(j=i>>>w;j<z;j+=f){hp.set(r,(q+j)*3)}for(j=1<<(k-1);(i&j)!==0;j>>>=1){i^=j}i^=j;mask=(1<<w)-1;while((i&mask)!=x[h]){h--;w-=l;mask=(1<<w)-1}}}return y!==0&&g!=1?Z_BUF_ERROR:Z_OK}function initWorkArea(vsize){var i;if(!hn){hn=[];v=[];c=new Int32Array(BMAX+1);r=[];u=new Int32Array(BMAX);x=new Int32Array(BMAX+1)}if(v.length<vsize){v=[]}for(i=0;i<vsize;i++){v[i]=0}for(i=0;i<BMAX+1;i++){c[i]=0}for(i=0;i<3;i++){r[i]=0}u.set(c.subarray(0,BMAX),0);x.set(c.subarray(0,BMAX+1),0)}that.inflate_trees_bits=function(c,bb,tb,hp,z){var result;initWorkArea(19);hn[0]=0;result=huft_build(c,0,19,19,null,null,tb,bb,hp,hn,v);if(result==Z_DATA_ERROR){z.msg="oversubscribed dynamic bit lengths tree"}else{if(result==Z_BUF_ERROR||bb[0]===0){z.msg="incomplete dynamic bit lengths tree";result=Z_DATA_ERROR}}return result};that.inflate_trees_dynamic=function(nl,nd,c,bl,bd,tl,td,hp,z){var result;initWorkArea(288);hn[0]=0;result=huft_build(c,0,nl,257,cplens,cplext,tl,bl,hp,hn,v);if(result!=Z_OK||bl[0]===0){if(result==Z_DATA_ERROR){z.msg="oversubscribed literal/length tree"}else{if(result!=Z_MEM_ERROR){z.msg="incomplete literal/length tree";result=Z_DATA_ERROR}}return result}initWorkArea(288);result=huft_build(c,nl,nd,0,cpdist,cpdext,td,bd,hp,hn,v);if(result!=Z_OK||(bd[0]===0&&nl>257)){if(result==Z_DATA_ERROR){z.msg="oversubscribed distance tree"}else{if(result==Z_BUF_ERROR){z.msg="incomplete distance tree";result=Z_DATA_ERROR}else{if(result!=Z_MEM_ERROR){z.msg="empty distance tree with lengths";result=Z_DATA_ERROR}}}return result}return Z_OK}}InfTree.inflate_trees_fixed=function(bl,bd,tl,td){bl[0]=fixed_bl;bd[0]=fixed_bd;tl[0]=fixed_tl;td[0]=fixed_td;return Z_OK};var START=0;var LEN=1;var LENEXT=2;var DIST=3;var DISTEXT=4;var COPY=5;var LIT=6;var WASH=7;var END=8;var BADCODE=9;function InfCodes(){var that=this;var mode;var len=0;var tree;var tree_index=0;var need=0;var lit=0;var get=0;var dist=0;var lbits=0;var dbits=0;var ltree;var ltree_index=0;var dtree;var dtree_index=0;function inflate_fast(bl,bd,tl,tl_index,td,td_index,s,z){var t;var tp;var tp_index;var e;var b;var k;var p;var n;var q;var m;var ml;var md;var c;var d;var r;var tp_index_t_3;p=z.next_in_index;n=z.avail_in;b=s.bitb;k=s.bitk;q=s.write;m=q<s.read?s.read-q-1:s.end-q;ml=inflate_mask[bl];md=inflate_mask[bd];do{while(k<(20)){n--;b|=(z.read_byte(p++)&255)<<k;k+=8}t=b&ml;tp=tl;tp_index=tl_index;tp_index_t_3=(tp_index+t)*3;if((e=tp[tp_index_t_3])===0){b>>=(tp[tp_index_t_3+1]);k-=(tp[tp_index_t_3+1]);s.window[q++]=tp[tp_index_t_3+2];m--;continue}do{b>>=(tp[tp_index_t_3+1]);k-=(tp[tp_index_t_3+1]);if((e&16)!==0){e&=15;c=tp[tp_index_t_3+2]+(b&inflate_mask[e]);b>>=e;k-=e;while(k<(15)){n--;b|=(z.read_byte(p++)&255)<<k;k+=8}t=b&md;tp=td;tp_index=td_index;tp_index_t_3=(tp_index+t)*3;e=tp[tp_index_t_3];do{b>>=(tp[tp_index_t_3+1]);k-=(tp[tp_index_t_3+1]);if((e&16)!==0){e&=15;while(k<(e)){n--;b|=(z.read_byte(p++)&255)<<k;k+=8}d=tp[tp_index_t_3+2]+(b&inflate_mask[e]);b>>=(e);k-=(e);m-=c;if(q>=d){r=q-d;if(q-r>0&&2>(q-r)){s.window[q++]=s.window[r++];s.window[q++]=s.window[r++];c-=2}else{s.window.set(s.window.subarray(r,r+2),q);q+=2;r+=2;c-=2}}else{r=q-d;do{r+=s.end}while(r<0);e=s.end-r;if(c>e){c-=e;if(q-r>0&&e>(q-r)){do{s.window[q++]=s.window[r++]}while(--e!==0)}else{s.window.set(s.window.subarray(r,r+e),q);q+=e;r+=e;e=0}r=0}}if(q-r>0&&c>(q-r)){do{s.window[q++]=s.window[r++]}while(--c!==0)}else{s.window.set(s.window.subarray(r,r+c),q);q+=c;r+=c;c=0}break}else{if((e&64)===0){t+=tp[tp_index_t_3+2];t+=(b&inflate_mask[e]);tp_index_t_3=(tp_index+t)*3;e=tp[tp_index_t_3]}else{z.msg="invalid distance code";c=z.avail_in-n;c=(k>>3)<c?k>>3:c;n+=c;p-=c;k-=c<<3;s.bitb=b;s.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;s.write=q;return Z_DATA_ERROR}}}while(true);break}if((e&64)===0){t+=tp[tp_index_t_3+2];t+=(b&inflate_mask[e]);tp_index_t_3=(tp_index+t)*3;if((e=tp[tp_index_t_3])===0){b>>=(tp[tp_index_t_3+1]);k-=(tp[tp_index_t_3+1]);s.window[q++]=tp[tp_index_t_3+2];
m--;break}}else{if((e&32)!==0){c=z.avail_in-n;c=(k>>3)<c?k>>3:c;n+=c;p-=c;k-=c<<3;s.bitb=b;s.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;s.write=q;return Z_STREAM_END}else{z.msg="invalid literal/length code";c=z.avail_in-n;c=(k>>3)<c?k>>3:c;n+=c;p-=c;k-=c<<3;s.bitb=b;s.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;s.write=q;return Z_DATA_ERROR}}}while(true)}while(m>=258&&n>=10);c=z.avail_in-n;c=(k>>3)<c?k>>3:c;n+=c;p-=c;k-=c<<3;s.bitb=b;s.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;s.write=q;return Z_OK}that.init=function(bl,bd,tl,tl_index,td,td_index){mode=START;lbits=bl;dbits=bd;ltree=tl;ltree_index=tl_index;dtree=td;dtree_index=td_index;tree=null};that.proc=function(s,z,r){var j;var tindex;var e;var b=0;var k=0;var p=0;var n;var q;var m;var f;p=z.next_in_index;n=z.avail_in;b=s.bitb;k=s.bitk;q=s.write;m=q<s.read?s.read-q-1:s.end-q;while(true){switch(mode){case START:if(m>=258&&n>=10){s.bitb=b;s.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;s.write=q;r=inflate_fast(lbits,dbits,ltree,ltree_index,dtree,dtree_index,s,z);p=z.next_in_index;n=z.avail_in;b=s.bitb;k=s.bitk;q=s.write;m=q<s.read?s.read-q-1:s.end-q;if(r!=Z_OK){mode=r==Z_STREAM_END?WASH:BADCODE;break}}need=lbits;tree=ltree;tree_index=ltree_index;mode=LEN;case LEN:j=need;while(k<(j)){if(n!==0){r=Z_OK}else{s.bitb=b;s.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;s.write=q;return s.inflate_flush(z,r)}n--;b|=(z.read_byte(p++)&255)<<k;k+=8}tindex=(tree_index+(b&inflate_mask[j]))*3;b>>>=(tree[tindex+1]);k-=(tree[tindex+1]);e=tree[tindex];if(e===0){lit=tree[tindex+2];mode=LIT;break}if((e&16)!==0){get=e&15;len=tree[tindex+2];mode=LENEXT;break}if((e&64)===0){need=e;tree_index=tindex/3+tree[tindex+2];break}if((e&32)!==0){mode=WASH;break}mode=BADCODE;z.msg="invalid literal/length code";r=Z_DATA_ERROR;s.bitb=b;s.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;s.write=q;return s.inflate_flush(z,r);case LENEXT:j=get;while(k<(j)){if(n!==0){r=Z_OK}else{s.bitb=b;s.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;s.write=q;return s.inflate_flush(z,r)}n--;b|=(z.read_byte(p++)&255)<<k;k+=8}len+=(b&inflate_mask[j]);b>>=j;k-=j;need=dbits;tree=dtree;tree_index=dtree_index;mode=DIST;case DIST:j=need;while(k<(j)){if(n!==0){r=Z_OK}else{s.bitb=b;s.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;s.write=q;return s.inflate_flush(z,r)}n--;b|=(z.read_byte(p++)&255)<<k;k+=8}tindex=(tree_index+(b&inflate_mask[j]))*3;b>>=tree[tindex+1];k-=tree[tindex+1];e=(tree[tindex]);if((e&16)!==0){get=e&15;dist=tree[tindex+2];mode=DISTEXT;break}if((e&64)===0){need=e;tree_index=tindex/3+tree[tindex+2];break}mode=BADCODE;z.msg="invalid distance code";r=Z_DATA_ERROR;s.bitb=b;s.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;s.write=q;return s.inflate_flush(z,r);case DISTEXT:j=get;while(k<(j)){if(n!==0){r=Z_OK}else{s.bitb=b;s.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;s.write=q;return s.inflate_flush(z,r)}n--;b|=(z.read_byte(p++)&255)<<k;k+=8}dist+=(b&inflate_mask[j]);b>>=j;k-=j;mode=COPY;case COPY:f=q-dist;while(f<0){f+=s.end}while(len!==0){if(m===0){if(q==s.end&&s.read!==0){q=0;m=q<s.read?s.read-q-1:s.end-q}if(m===0){s.write=q;r=s.inflate_flush(z,r);q=s.write;m=q<s.read?s.read-q-1:s.end-q;if(q==s.end&&s.read!==0){q=0;m=q<s.read?s.read-q-1:s.end-q}if(m===0){s.bitb=b;s.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;s.write=q;return s.inflate_flush(z,r)}}}s.window[q++]=s.window[f++];m--;if(f==s.end){f=0}len--}mode=START;break;case LIT:if(m===0){if(q==s.end&&s.read!==0){q=0;m=q<s.read?s.read-q-1:s.end-q}if(m===0){s.write=q;r=s.inflate_flush(z,r);q=s.write;m=q<s.read?s.read-q-1:s.end-q;if(q==s.end&&s.read!==0){q=0;m=q<s.read?s.read-q-1:s.end-q}if(m===0){s.bitb=b;s.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;s.write=q;return s.inflate_flush(z,r)}}}r=Z_OK;s.window[q++]=lit;m--;mode=START;break;case WASH:if(k>7){k-=8;n++;p--}s.write=q;r=s.inflate_flush(z,r);q=s.write;m=q<s.read?s.read-q-1:s.end-q;if(s.read!=s.write){s.bitb=b;s.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;s.write=q;return s.inflate_flush(z,r)}mode=END;case END:r=Z_STREAM_END;s.bitb=b;s.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;s.write=q;return s.inflate_flush(z,r);case BADCODE:r=Z_DATA_ERROR;s.bitb=b;s.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;s.write=q;return s.inflate_flush(z,r);default:r=Z_STREAM_ERROR;s.bitb=b;s.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;s.write=q;return s.inflate_flush(z,r)}}};that.free=function(){}}var border=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];var TYPE=0;var LENS=1;var STORED=2;var TABLE=3;var BTREE=4;var DTREE=5;var CODES=6;var DRY=7;var DONELOCKS=8;var BADBLOCKS=9;function InfBlocks(z,w){var that=this;var mode=TYPE;var left=0;var table=0;var index=0;
var blens;var bb=[0];var tb=[0];var codes=new InfCodes();var last=0;var hufts=new Int32Array(MANY*3);var check=0;var inftree=new InfTree();that.bitk=0;that.bitb=0;that.window=new Uint8Array(w);that.end=w;that.read=0;that.write=0;that.reset=function(z,c){if(c){c[0]=check}if(mode==CODES){codes.free(z)}mode=TYPE;that.bitk=0;that.bitb=0;that.read=that.write=0};that.reset(z,null);that.inflate_flush=function(z,r){var n;var p;var q;p=z.next_out_index;q=that.read;n=((q<=that.write?that.write:that.end)-q);if(n>z.avail_out){n=z.avail_out}if(n!==0&&r==Z_BUF_ERROR){r=Z_OK}z.avail_out-=n;z.total_out+=n;z.next_out.set(that.window.subarray(q,q+n),p);p+=n;q+=n;if(q==that.end){q=0;if(that.write==that.end){that.write=0}n=that.write-q;if(n>z.avail_out){n=z.avail_out}if(n!==0&&r==Z_BUF_ERROR){r=Z_OK}z.avail_out-=n;z.total_out+=n;z.next_out.set(that.window.subarray(q,q+n),p);p+=n;q+=n}z.next_out_index=p;that.read=q;return r};that.proc=function(z,r){var t;var b;var k;var p;var n;var q;var m;var i;p=z.next_in_index;n=z.avail_in;b=that.bitb;k=that.bitk;q=that.write;m=(q<that.read?that.read-q-1:that.end-q);while(true){switch(mode){case TYPE:while(k<(3)){if(n!==0){r=Z_OK}else{that.bitb=b;that.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;that.write=q;return that.inflate_flush(z,r)}n--;b|=(z.read_byte(p++)&255)<<k;k+=8}t=(b&7);last=t&1;switch(t>>>1){case 0:b>>>=(3);k-=(3);t=k&7;b>>>=(t);k-=(t);mode=LENS;break;case 1:var bl=[];var bd=[];var tl=[[]];var td=[[]];InfTree.inflate_trees_fixed(bl,bd,tl,td);codes.init(bl[0],bd[0],tl[0],0,td[0],0);b>>>=(3);k-=(3);mode=CODES;break;case 2:b>>>=(3);k-=(3);mode=TABLE;break;case 3:b>>>=(3);k-=(3);mode=BADBLOCKS;z.msg="invalid block type";r=Z_DATA_ERROR;that.bitb=b;that.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;that.write=q;return that.inflate_flush(z,r)}break;case LENS:while(k<(32)){if(n!==0){r=Z_OK}else{that.bitb=b;that.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;that.write=q;return that.inflate_flush(z,r)}n--;b|=(z.read_byte(p++)&255)<<k;k+=8}if((((~b)>>>16)&65535)!=(b&65535)){mode=BADBLOCKS;z.msg="invalid stored block lengths";r=Z_DATA_ERROR;that.bitb=b;that.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;that.write=q;return that.inflate_flush(z,r)}left=(b&65535);b=k=0;mode=left!==0?STORED:(last!==0?DRY:TYPE);break;case STORED:if(n===0){that.bitb=b;that.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;that.write=q;return that.inflate_flush(z,r)}if(m===0){if(q==that.end&&that.read!==0){q=0;m=(q<that.read?that.read-q-1:that.end-q)}if(m===0){that.write=q;r=that.inflate_flush(z,r);q=that.write;m=(q<that.read?that.read-q-1:that.end-q);if(q==that.end&&that.read!==0){q=0;m=(q<that.read?that.read-q-1:that.end-q)}if(m===0){that.bitb=b;that.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;that.write=q;return that.inflate_flush(z,r)}}}r=Z_OK;t=left;if(t>n){t=n}if(t>m){t=m}that.window.set(z.read_buf(p,t),q);p+=t;n-=t;q+=t;m-=t;if((left-=t)!==0){break}mode=last!==0?DRY:TYPE;break;case TABLE:while(k<(14)){if(n!==0){r=Z_OK}else{that.bitb=b;that.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;that.write=q;return that.inflate_flush(z,r)}n--;b|=(z.read_byte(p++)&255)<<k;k+=8}table=t=(b&16383);if((t&31)>29||((t>>5)&31)>29){mode=BADBLOCKS;z.msg="too many length or distance symbols";r=Z_DATA_ERROR;that.bitb=b;that.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;that.write=q;return that.inflate_flush(z,r)}t=258+(t&31)+((t>>5)&31);if(!blens||blens.length<t){blens=[]}else{for(i=0;i<t;i++){blens[i]=0}}b>>>=(14);k-=(14);index=0;mode=BTREE;case BTREE:while(index<4+(table>>>10)){while(k<(3)){if(n!==0){r=Z_OK}else{that.bitb=b;that.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;that.write=q;return that.inflate_flush(z,r)}n--;b|=(z.read_byte(p++)&255)<<k;k+=8}blens[border[index++]]=b&7;b>>>=(3);k-=(3)}while(index<19){blens[border[index++]]=0}bb[0]=7;t=inftree.inflate_trees_bits(blens,bb,tb,hufts,z);if(t!=Z_OK){r=t;if(r==Z_DATA_ERROR){blens=null;mode=BADBLOCKS}that.bitb=b;that.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;that.write=q;return that.inflate_flush(z,r)}index=0;mode=DTREE;case DTREE:while(true){t=table;if(index>=258+(t&31)+((t>>5)&31)){break}var j,c;t=bb[0];while(k<(t)){if(n!==0){r=Z_OK}else{that.bitb=b;that.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;that.write=q;return that.inflate_flush(z,r)}n--;b|=(z.read_byte(p++)&255)<<k;k+=8}t=hufts[(tb[0]+(b&inflate_mask[t]))*3+1];c=hufts[(tb[0]+(b&inflate_mask[t]))*3+2];if(c<16){b>>>=(t);k-=(t);blens[index++]=c}else{i=c==18?7:c-14;j=c==18?11:3;while(k<(t+i)){if(n!==0){r=Z_OK}else{that.bitb=b;that.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;that.write=q;return that.inflate_flush(z,r)}n--;b|=(z.read_byte(p++)&255)<<k;k+=8}b>>>=(t);k-=(t);j+=(b&inflate_mask[i]);b>>>=(i);k-=(i);i=index;t=table;if(i+j>258+(t&31)+((t>>5)&31)||(c==16&&i<1)){blens=null;
mode=BADBLOCKS;z.msg="invalid bit length repeat";r=Z_DATA_ERROR;that.bitb=b;that.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;that.write=q;return that.inflate_flush(z,r)}c=c==16?blens[i-1]:0;do{blens[i++]=c}while(--j!==0);index=i}}tb[0]=-1;var bl_=[];var bd_=[];var tl_=[];var td_=[];bl_[0]=9;bd_[0]=6;t=table;t=inftree.inflate_trees_dynamic(257+(t&31),1+((t>>5)&31),blens,bl_,bd_,tl_,td_,hufts,z);if(t!=Z_OK){if(t==Z_DATA_ERROR){blens=null;mode=BADBLOCKS}r=t;that.bitb=b;that.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;that.write=q;return that.inflate_flush(z,r)}codes.init(bl_[0],bd_[0],hufts,tl_[0],hufts,td_[0]);mode=CODES;case CODES:that.bitb=b;that.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;that.write=q;if((r=codes.proc(that,z,r))!=Z_STREAM_END){return that.inflate_flush(z,r)}r=Z_OK;codes.free(z);p=z.next_in_index;n=z.avail_in;b=that.bitb;k=that.bitk;q=that.write;m=(q<that.read?that.read-q-1:that.end-q);if(last===0){mode=TYPE;break}mode=DRY;case DRY:that.write=q;r=that.inflate_flush(z,r);q=that.write;m=(q<that.read?that.read-q-1:that.end-q);if(that.read!=that.write){that.bitb=b;that.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;that.write=q;return that.inflate_flush(z,r)}mode=DONELOCKS;case DONELOCKS:r=Z_STREAM_END;that.bitb=b;that.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;that.write=q;return that.inflate_flush(z,r);case BADBLOCKS:r=Z_DATA_ERROR;that.bitb=b;that.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;that.write=q;return that.inflate_flush(z,r);default:r=Z_STREAM_ERROR;that.bitb=b;that.bitk=k;z.avail_in=n;z.total_in+=p-z.next_in_index;z.next_in_index=p;that.write=q;return that.inflate_flush(z,r)}}};that.free=function(z){that.reset(z,null);that.window=null;hufts=null};that.set_dictionary=function(d,start,n){that.window.set(d.subarray(start,start+n),0);that.read=that.write=n};that.sync_point=function(){return mode==LENS?1:0}}var PRESET_DICT=32;var Z_DEFLATED=8;var METHOD=0;var FLAG=1;var DICT4=2;var DICT3=3;var DICT2=4;var DICT1=5;var DICT0=6;var BLOCKS=7;var DONE=12;var BAD=13;var mark=[0,0,255,255];function Inflate(){var that=this;that.mode=0;that.method=0;that.was=[0];that.need=0;that.marker=0;that.wbits=0;function inflateReset(z){if(!z||!z.istate){return Z_STREAM_ERROR}z.total_in=z.total_out=0;z.msg=null;z.istate.mode=BLOCKS;z.istate.blocks.reset(z,null);return Z_OK}that.inflateEnd=function(z){if(that.blocks){that.blocks.free(z)}that.blocks=null;return Z_OK};that.inflateInit=function(z,w){z.msg=null;that.blocks=null;if(w<8||w>15){that.inflateEnd(z);return Z_STREAM_ERROR}that.wbits=w;z.istate.blocks=new InfBlocks(z,1<<w);inflateReset(z);return Z_OK};that.inflate=function(z,f){var r;var b;if(!z||!z.istate||!z.next_in){return Z_STREAM_ERROR}f=f==Z_FINISH?Z_BUF_ERROR:Z_OK;r=Z_BUF_ERROR;while(true){switch(z.istate.mode){case METHOD:if(z.avail_in===0){return r}r=f;z.avail_in--;z.total_in++;if(((z.istate.method=z.read_byte(z.next_in_index++))&15)!=Z_DEFLATED){z.istate.mode=BAD;z.msg="unknown compression method";z.istate.marker=5;break}if((z.istate.method>>4)+8>z.istate.wbits){z.istate.mode=BAD;z.msg="invalid window size";z.istate.marker=5;break}z.istate.mode=FLAG;case FLAG:if(z.avail_in===0){return r}r=f;z.avail_in--;z.total_in++;b=(z.read_byte(z.next_in_index++))&255;if((((z.istate.method<<8)+b)%31)!==0){z.istate.mode=BAD;z.msg="incorrect header check";z.istate.marker=5;break}if((b&PRESET_DICT)===0){z.istate.mode=BLOCKS;break}z.istate.mode=DICT4;case DICT4:if(z.avail_in===0){return r}r=f;z.avail_in--;z.total_in++;z.istate.need=((z.read_byte(z.next_in_index++)&255)<<24)&4278190080;z.istate.mode=DICT3;case DICT3:if(z.avail_in===0){return r}r=f;z.avail_in--;z.total_in++;z.istate.need+=((z.read_byte(z.next_in_index++)&255)<<16)&16711680;z.istate.mode=DICT2;case DICT2:if(z.avail_in===0){return r}r=f;z.avail_in--;z.total_in++;z.istate.need+=((z.read_byte(z.next_in_index++)&255)<<8)&65280;z.istate.mode=DICT1;case DICT1:if(z.avail_in===0){return r}r=f;z.avail_in--;z.total_in++;z.istate.need+=(z.read_byte(z.next_in_index++)&255);z.istate.mode=DICT0;return Z_NEED_DICT;case DICT0:z.istate.mode=BAD;z.msg="need dictionary";z.istate.marker=0;return Z_STREAM_ERROR;case BLOCKS:r=z.istate.blocks.proc(z,r);if(r==Z_DATA_ERROR){z.istate.mode=BAD;z.istate.marker=0;break}if(r==Z_OK){r=f}if(r!=Z_STREAM_END){return r}r=f;z.istate.blocks.reset(z,z.istate.was);z.istate.mode=DONE;case DONE:return Z_STREAM_END;case BAD:return Z_DATA_ERROR;default:return Z_STREAM_ERROR}}};that.inflateSetDictionary=function(z,dictionary,dictLength){var index=0;var length=dictLength;if(!z||!z.istate||z.istate.mode!=DICT0){return Z_STREAM_ERROR}if(length>=(1<<z.istate.wbits)){length=(1<<z.istate.wbits)-1;index=dictLength-length}z.istate.blocks.set_dictionary(dictionary,index,length);z.istate.mode=BLOCKS;return Z_OK};that.inflateSync=function(z){var n;var p;var m;var r,w;if(!z||!z.istate){return Z_STREAM_ERROR}if(z.istate.mode!=BAD){z.istate.mode=BAD;
z.istate.marker=0}if((n=z.avail_in)===0){return Z_BUF_ERROR}p=z.next_in_index;m=z.istate.marker;while(n!==0&&m<4){if(z.read_byte(p)==mark[m]){m++}else{if(z.read_byte(p)!==0){m=0}else{m=4-m}}p++;n--}z.total_in+=p-z.next_in_index;z.next_in_index=p;z.avail_in=n;z.istate.marker=m;if(m!=4){return Z_DATA_ERROR}r=z.total_in;w=z.total_out;inflateReset(z);z.total_in=r;z.total_out=w;z.istate.mode=BLOCKS;return Z_OK};that.inflateSyncPoint=function(z){if(!z||!z.istate||!z.istate.blocks){return Z_STREAM_ERROR}return z.istate.blocks.sync_point()}}function ZStream(){}ZStream.prototype={inflateInit:function(bits){var that=this;that.istate=new Inflate();if(!bits){bits=MAX_BITS}return that.istate.inflateInit(that,bits)},inflate:function(f){var that=this;if(!that.istate){return Z_STREAM_ERROR}return that.istate.inflate(that,f)},inflateEnd:function(){var that=this;if(!that.istate){return Z_STREAM_ERROR}var ret=that.istate.inflateEnd(that);that.istate=null;return ret},inflateSync:function(){var that=this;if(!that.istate){return Z_STREAM_ERROR}return that.istate.inflateSync(that)},inflateSetDictionary:function(dictionary,dictLength){var that=this;if(!that.istate){return Z_STREAM_ERROR}return that.istate.inflateSetDictionary(that,dictionary,dictLength)},read_byte:function(start){var that=this;return that.next_in.subarray(start,start+1)[0]},read_buf:function(start,size){var that=this;return that.next_in.subarray(start,start+size)}};function Inflater(){var that=this;var z=new ZStream();var bufsize=512;var flush=Z_NO_FLUSH;var buf=new Uint8Array(bufsize);var nomoreinput=false;z.inflateInit();z.next_out=buf;that.append=function(data,onprogress){var err,buffers=[],lastIndex=0,bufferIndex=0,bufferSize=0,array;if(data.length===0){return}z.next_in_index=0;z.next_in=data;z.avail_in=data.length;do{z.next_out_index=0;z.avail_out=bufsize;if((z.avail_in===0)&&(!nomoreinput)){z.next_in_index=0;nomoreinput=true}err=z.inflate(flush);if(nomoreinput&&(err===Z_BUF_ERROR)){if(z.avail_in!==0){throw new Error("inflating: bad input")}}else{if(err!==Z_OK&&err!==Z_STREAM_END){throw new Error("inflating: "+z.msg)}}if((nomoreinput||err===Z_STREAM_END)&&(z.avail_in===data.length)){throw new Error("inflating: bad input")}if(z.next_out_index){if(z.next_out_index===bufsize){buffers.push(new Uint8Array(buf))}else{buffers.push(new Uint8Array(buf.subarray(0,z.next_out_index)))}}bufferSize+=z.next_out_index;if(onprogress&&z.next_in_index>0&&z.next_in_index!=lastIndex){onprogress(z.next_in_index);lastIndex=z.next_in_index}}while(z.avail_in>0||z.avail_out===0);array=new Uint8Array(bufferSize);buffers.forEach(function(chunk){array.set(chunk,bufferIndex);bufferIndex+=chunk.length});return array};that.flush=function(){z.inflateEnd()}}var env=global.zip||global;env.Inflater=env._jzlib_Inflater=Inflater})(this);`;
var zzip = null;
var GMzip = (function () {
    return function () {
        var workerurl=sessionStorage.getItem("workerurl");
        if(!workerurl)
        {
         workerblob = new Blob([workerjs], { type: "text/javascript" });
         workerurl = URL.createObjectURL(workerblob);
         sessionStorage.setItem("workerurl",workerurl);
        }
        var deflateurl=sessionStorage.getItem("deflateurl");
        if(!deflateurl)
        {
         var deflateblob = new Blob([deflatejs], { type: "text/javascript" });
         deflateurl = URL.createObjectURL(deflateblob);
         sessionStorage.setItem("deflateurl",deflateurl);
        }
        var inflateurl=sessionStorage.getItem("inflateurl");
        if(!inflateurl)
        {
         var inflateblob = new Blob([inflatejs], { type: "text/javascript" });
         inflateurl = URL.createObjectURL(inflateblob);
         sessionStorage.setItem("inflateurl",inflateurl);
        }
        eval(zipjs);
        _zip.workerScripts = {
            deflater: [workerurl, deflateurl],
            inflater: [workerurl, inflateurl]
        };
        zzip = _zip;
    }
})();
Object.defineProperty(window, "zip", {
    get: function () {
        if (zzip == null) {
            GMzip();
        }
        return zzip;
    }, configurable: false
});