Skip to content

Instantly share code, notes, and snippets.

@imaya
Last active December 21, 2015 14:18
Show Gist options
  • Save imaya/6318124 to your computer and use it in GitHub Desktop.
Save imaya/6318124 to your computer and use it in GitHub Desktop.
zlib.jsx inflate test
var JSX={};(function(f){function a(b,e){var a=function(){};a.prototype=e.prototype;var c=new a;for(var d in b){b[d].prototype=c}}function at(c,b){for(var a in b.prototype)if(b.prototype.hasOwnProperty(a))c.prototype[a]=b.prototype[a]}function e(a,b,d){function c(a,b,c){delete a[b];a[b]=c;return c}Object.defineProperty(a,b,{get:function(){return c(a,b,d())},set:function(d){c(a,b,d)},enumerable:true,configurable:true})}function as(a,b,c){return a[b]=a[b]/c|0}var v=parseInt;var y=parseFloat;function ar(a){return a!==a}var a7=isFinite;var a8=encodeURIComponent;var a9=decodeURIComponent;var ad=encodeURI;var ag=decodeURI;var ah=Object.prototype.toString;var ak=Object.prototype.hasOwnProperty;function g(){}f.require=function(b){var a=n[b];return a!==undefined?a:null};f.profilerIsRunning=function(){return g.getResults!=null};f.getProfileResults=function(){return(g.getResults||function(){return{}})()};f.postProfileResults=function(a,b){if(g.postResults==null)throw new Error('profiler has not been turned on');return g.postResults(a,b)};f.resetProfileResults=function(){if(g.resetResults==null)throw new Error('profiler has not been turned on');return g.resetResults()};f.DEBUG=false;function am(){};a([am],Error);function k(){};a([k],Object);function aq(b){var a;a=i.global.data;i.global.result=aa(new o(a))};k.main=aq;function u(){};a([u],Object);function c(){};a([c],Object);function w(){};a([w],c);function x(){};a([x],Object);function r(){};a([r],c);function z(){};a([z],Object);function A(){};a([A],r);function B(){};a([B],Object);function C(){};a([C],Object);function D(){};a([D],Object);function E(){};a([E],c);function F(){};a([F],Object);function G(){};a([G],c);function H(){};a([H],c);function I(){};a([I],c);function J(){};a([J],c);function K(){};a([K],c);function L(){};a([L],c);function M(){};a([M],c);function N(){};a([N],c);function O(){};a([O],c);function P(){};a([P],Object);function al(){};a([al],Object);function R(){};a([R],Object);function S(){};a([S],c);function T(){};a([T],Object);function U(){};a([U],Object);function V(){};a([V],Object);function W(){};a([W],Object);function X(){};a([X],Object);function Y(){};a([Y],Object);function Z(){};a([Z],c);function _(){};a([_],c);function $(){};a([$],c);function a0(){};a([a0],Object);function a1(){};a([a1],Object);function a2(){};a([a2],Object);function a3(){};a([a3],Object);function a4(){};a([a4],c);function a5(){};a([a5],c);function a6(){};a([a6],c);var i=function(){var a=function(){return this}();return{global:a,eval:a.eval,invoke:function(a,b,c){return a[b].apply(a,c)}}}();function t(c,a){var f;var g;var d;var e;this.F=null;this.K=0;s(c);this.C=c;this._=(a.index!=null?+a.index:0)|0;this.M=a.verify!=null?!!a.verify:false;d=c[this._++];e=c[this._++];switch(d&15){case j._:this.K=j._|0;break;default:throw new Error('unsupported compression method')}if(((d<<8)+e)%31!==0){throw new Error('invalid fcheck flag:'+(((d<<8)+e)%31+''))}if(e&32){throw new Error('fdict flag is not supported')}this.F=new b(c,{'index':this._,'bufferSize':a.bufferSize,'bufferType':a.bufferType,'resize':a.resize})};function o(a){t.call(this,a,{})};a([t,o],Object);function aa(a){var b;var c;var d;b=a.C;c=ae(a.F);a._=a.F._|0;if(a.M){d=(b[a._++]<<24|b[a._++]<<16|b[a._++]<<8|b[a._++])>>>0;if(d!==(s(c),ac(1,c))){throw new Error('invalid adler-32 checksum')}}return c};function ab(){};a([ab],Object);function ac(e,f){var a;var c;var b;var d;var g;a=e&65535;c=e>>>16&65535;b=f.length;g=0;while(b>0){d=(b>1024?1024:b)|0;b-=d;do{a+=f[g++];c+=a}while(--d);a%=65521;c%=65521}return(c<<16|a)>>>0};function b(b,a){this.J=null;this.N=[];this.H=32768;this.O=0;this._=0;this.E=0;this.A=0;this.B=null;this.D=0;this.G=false;this.L=false;this.I=null;this.C=b;if(a.index!=null){this._=+a.index}if(a.bufferSize!=null){this.H=+a.bufferSize}if(a.resize!=null){this.L=!!a.resize}this.D=0;this.B=new Uint8Array(this.H)};a([b],Object);function ae(a){var d;var b;var c;var f;var g;var e;var i;var j;var k;var l;var m;var h;while(!a.G){af(a)}d=a.B;b=a.D;c=new Uint8Array(b);c.set(d.subarray(0,b));return a.J=c};function af(a){var c;c=d(a,3);if(c&1){a.G=true}c>>>=1;switch(c){case 0:ai(a);break;case 1:q(a,b.E,b.D);break;case 2:aj(a);break;default:throw new Error('unknown BTYPE: '+(c+''))}};function d(a,e){var c;var b;var g;var f;var d;c=a.E;b=a.A;g=a.C;f=a._;while(b<e){d=g[f++];if(d==null){throw new Error('input buffer is broken')}c|=d<<b;b+=8}d=c&(1<<e)-1;c>>>=e;b-=e;a.E=c;a.A=b;a._=f;return d};function l(a,k){var c;var b;var j;var d;var i;var h;var f;var e;var g;c=a.E;b=a.A;j=a.C;d=a._;i=k[0];h=k[1];while(b<h){f=j[d++];if(f==null){break}c|=f<<b;b+=8}e=i[c&(1<<h)-1];g=e>>>16;a.E=c>>g;a.A=b-g;a._=d;return e&65535};function ai(c){var e;var b;var f;var g;var a;var d;var h;var o;var i;var l;var n;var j;var k;e=c.C;b=c._;f=c.B;g=c.D;c.E=0;c.A=0;a=e[b++];if(a==null){throw new Error('invalid uncompressed block header: LEN (first byte)')}d=a;a=e[b++];if(a==null){throw new Error('invalid uncompressed block header: LEN (second byte)')}d|=a<<8;a=e[b++];if(a==null){throw new Error('invalid uncompressed block header: NLEN (first byte)')}h=a;a=e[b++];if(a==null){throw new Error('invalid uncompressed block header: NLEN (second byte)')}h|=a<<8;if(d===~h){throw new Error('invalid uncompressed block header: length verify')}if(b+d>e.length){throw new Error('input buffer is broken')}while(g+d>f.length){f=m(c,{'fixRatio':2})}j=b+d;i=e.subarray(b,j);f.set(i,g);g+=d;b+=d;c._=b;c.D=g;c.B=f};function aj(c){var g;var i;var f;var e;var j;var k;var l;var a;g=d(c,5)+257;i=d(c,5)+1;f=d(c,4)+4;e=new Uint8Array(b._.length);for(a=0;a<f;++a){e[b._[a]]=d(c,3)}if(e instanceof Array){for(a=f,f=e.length;a<f;++a){e[b._[a]]=0}}j=h(e);k=new Uint8Array(g);l=new Uint8Array(i);q(c,h(p(c,g,j,k)),h(p(c,i,j,l)))};function p(f,h,i,c){var g;var e;var a;var b;e=0;for(b=0;b<h;){g=l(f,i);switch(g){case 16:a=3+d(f,2);while(a--){c[b++]=e}break;case 17:a=3+d(f,3);while(a--){c[b++]=0}e=0;break;case 18:a=11+d(f,7);while(a--){c[b++]=0}e=0;break;default:c[b++]=g;e=g;break}}return c};function q(a,k,n){var c;var f;var g;var e;var i;var j;var h;c=a.B;f=a.D;a.I=k;g=c.length;while((e=l(a,k))!==256){if(e<256){if(f>=g){c=m(a,{});g=c.length}c[f++]=e;continue}i=e-257;h=b.F[i];if(b.B[i]>0){h+=d(a,b.B[i])}e=l(a,n);j=b.C[e];if(b.A[e]>0){j+=d(a,b.A[e])}if(f+h>g){c=m(a,{});g=c.length}while(h--){c[f]=c[f++-j]}}while(a.A>=8){a.A-=8;a._--}a.D=f};function m(a,e){var c;var j;var f;var d;var h;var b;var g;var l;var k;var i;c=(k=a.C).length/a._+1;d=0;h=k;b=a.B;if(e.fixRatio!=null){c=+e.fixRatio}if(e.addRatio!=null){c+=+e.addRatio}if(c<2){j=(h.length-a._)/+a.I[2];d=j/2*258|0;f=d<b.length?b.length+d:b.length<<1}else{f=b.length*c|0}g=new Uint8Array(f);g.set(b,0);i=a.B=g;return i};function an(){};a([an],Object);function s(a){if(!(a instanceof Array||!!i.global.Uint8Array&&a instanceof Uint8Array)){throw new Error('invalid arguments')}};function ap(){};a([ap],Object);function h(d){var k;var c;var g;var j;var i;var e;var h;var l;var f;var m;var a;var n;var b;var o;k=d.length;c=0;g=4294967295;for(a=0,n=k;a<n;++a){if(d[a]>c){c=d[a]}if(d[a]<g){g=d[a]}}j=1<<c;i=new Array(j);for(e=1,h=0,l=2;e<=c;){for(a=0;a<k;++a){if(d[a]===e){for(f=0,m=h,b=0;b<e;++b){f=f<<1|m&1;m>>=1}for(b=f;b<j;b+=l){i[b]=e<<16|a}++h}}++e;h<<=1;l<<=1}return[i,c,g]};function Q(){};a([Q],Object);function j(){};a([j],Object);function ao(){};a([ao],Object);e(b,'_',function(){return[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]});e(b,'F',function(){return[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,258,258]});e(b,'B',function(){return[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,0,0]});e(b,'C',function(){return[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]});e(b,'A',function(){return[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]});e(b,'E',function(){return function(){var b;var a;var c;b=new Uint8Array(288);for(a=0,c=b.length;a<c;++a){b[a]=a<=143?8:a<=255?9:a<=279?7:8}return h(b)}()});e(b,'D',function(){return function(){var a;var b;var c;a=new Uint8Array(30);for(b=0,c=a.length;b<c;++b){a[b]=5}return h(a)}()});j._=8;var n={'benchmark.jsx':{_Main:k}}}(JSX))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment