PageSourceSearch

https://www.cba.pl/scripts/punycode.min.js

js cba.pl collected 2026-09-24 08:26:15 UTC 4,496 bytes, 38 lines download raw bytes

1var punycode=new function Punycode(){this.utf16={decode:function(input){var output=[],i=0,len=input.length,value,extra;while(i<len){value=input.charCodeAt(i++);if((value&0xF800)===0xD800){extra=input.charCodeAt(i++);if(((value&0xFC00)!==0xD800)||((extra&0xFC00)!==0xDC00)){throw new RangeError("UTF-16(decode): Illegal UTF-16 sequence");}
2value=((value&0x3FF)<<10)+(extra&0x3FF)+0x10000;}
3output.push(value);}
4return output;},encode:function(input){var output=[],i=0,len=input.length,value;while(i<len){value=input[i++];if((value&0xF800)===0xD800){throw new RangeError("UTF-16(encode): Illegal UTF-16 value");}
5if(value>0xFFFF){value-=0x10000;output.push(String.fromCharCode(((value>>>10)&0x3FF)|0xD800));value=0xDC00|(value&0x3FF);}
6output.push(String.fromCharCode(value));}
7return output.join("");}}
8var initial_n=0x80;var initial_bias=72;var delimiter="\x2D";var base=36;var damp=700;var tmin=1;var tmax=26;var skew=38;var maxint=0x7FFFFFFF;function decode_digit(cp){return cp-48<10?cp-22:cp-65<26?cp-65:cp-97<26?cp-97:base;}
9function encode_digit(d,flag){return d+22+75*(d<26)-((flag!=0)<<5);}
10function adapt(delta,numpoints,firsttime){var k;delta=firsttime?Math.floor(delta / damp):(delta>>1);delta+=Math.floor(delta / numpoints);for(k=0;delta>(((base-tmin)*tmax)>>1);k+=base){delta=Math.floor(delta /(base-tmin));}
11return Math.floor(k+(base-tmin+1)*delta /(delta+skew));}
12function encode_basic(bcp,flag){bcp-=(bcp-97<26)<<5;return bcp+((!flag&&(bcp-65<26))<<5);}
13this.decode=function(input,preserveCase){var output=[];var case_flags=[];var input_length=input.length;var n,out,i,bias,basic,j,ic,oldi,w,k,digit,t,len;n=initial_n;i=0;bias=initial_bias;basic=input.lastIndexOf(delimiter);if(basic<0)basic=0;for(j=0;j<basic;++j){if(preserveCase)case_flags[output.length]=(input.charCodeAt(j)-65<26);if(input.charCodeAt(j)>=0x80){throw new RangeError("Illegal input >= 0x80");}
14output.push(input.charCodeAt(j));}
15for(ic=basic>0?basic+1:0;ic<input_length;){for(oldi=i,w=1,k=base;;k+=base){if(ic>=input_length){throw RangeError("punycode_bad_input(1)");}
16digit=decode_digit(input.charCodeAt(ic++));if(digit>=base){throw RangeError("punycode_bad_input(2)");}
17if(digit>Math.floor((maxint-i)/ w)){throw RangeError("punycode_overflow(1)");}
18i+=digit*w;t=k<=bias?tmin:k>=bias+tmax?tmax:k-bias;if(digit<t){break;}
19if(w>Math.floor(maxint /(base-t))){throw RangeError("punycode_overflow(2)");}
20w*=(base-t);}
21out=output.length+1;bias=adapt(i-oldi,out,oldi===0);if(Math.floor(i / out)>maxint-n){throw RangeError("punycode_overflow(3)");}
22n+=Math.floor(i / out);i%=out;if(preserveCase){case_flags.splice(i,0,input.charCodeAt(ic-1)-65<26);}
23output.splice(i,0,n);i++;}
24if(preserveCase){for(i=0,len=output.length;i<len;i++){if(case_flags[i]){output[i]=(String.fromCharCode(output[i]).toUpperCase()).charCodeAt(0);}}}
25return this.utf16.encode(output);};this.encode=function(input,preserveCase){var n,delta,h,b,bias,j,m,q,k,t,ijv,case_flags;if(preserveCase){case_flags=this.utf16.decode(input);}
26input=this.utf16.decode(input.toLowerCase());var input_length=input.length;if(preserveCase){for(j=0;j<input_length;j++){case_flags[j]=input[j]!=case_flags[j];}}
27var output=[];n=initial_n;delta=0;bias=initial_bias;for(j=0;j<input_length;++j){if(input[j]<0x80){output.push(String.fromCharCode(case_flags?encode_basic(input[j],case_flags[j]):input[j]));}}
28h=b=output.length;if(b>0)output.push(delimiter);while(h<input_length){for(m=maxint,j=0;j<input_length;++j){ijv=input[j];if(ijv>=n&&ijv<m)m=ijv;}
29if(m-n>Math.floor((maxint-delta)/(h+1))){throw RangeError("punycode_overflow (1)");}
30delta+=(m-n)*(h+1);n=m;for(j=0;j<input_length;++j){ijv=input[j];if(ijv<n){if(++delta>maxint)return Error("punycode_overflow(2)");}
31if(ijv==n){for(q=delta,k=base;;k+=base){t=k<=bias?tmin:k>=bias+tmax?tmax:k-bias;if(q<t)break;output.push(String.fromCharCode(encode_digit(t+(q-t)%(base-t),0)));q=Math.floor((q-t)/(base-t));}
32output.push(String.fromCharCode(encode_digit(q,preserveCase&&case_flags[j]?1:0)));bias=adapt(delta,h+1,h==b);delta=0;++h;}}
33++delta,++n;}
34return output.join("");}
35this.ToASCII=function(domain){var domain_array=domain.split(".");var out=[];for(var i=0;i<domain_array.length;++i){var s=domain_array[i];
35out.push(s.match(/[^A-Za-z0-9-]/)?"xn--"+punycode.encode(s):s);}
36return out.join(".");}
37this.ToUnicode=function(domain){var domain_array=domain.split(".");var out=[];for(var i=0;i<domain_array.length;++i){var s=domain_array[i];out.push(s.match(/^xn--/)?punycode.decode(s.slice(4)):s);}
38return out.join(".");}}();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.