UNPKG

vuc-ofd.js

Version:
219 lines 1.4 MB
'use strict';var _createClass2=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();var _typeof2=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};function _possibleConstructorReturn2(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits2(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}function _classCallCheck2(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++){arr2[i]=arr[i];}return arr2;}else{return Array.from(arr);}}(function webpackUniversalModuleDefinition(root,factory){if((typeof exports==='undefined'?'undefined':_typeof2(exports))==='object'&&(typeof module==='undefined'?'undefined':_typeof2(module))==='object')module.exports=factory();else if(typeof define==='function'&&define.amd)define([],factory);else if((typeof exports==='undefined'?'undefined':_typeof2(exports))==='object')exports["ofd"]=factory();else root["ofd"]=factory();})(typeof self!=='undefined'?self:undefined,function(){return(/******/function(modules){// webpackBootstrap /******/// The module cache /******/var installedModules={};/******//******/// The require function /******/function __webpack_require__(moduleId){/******//******/// Check if module is in cache /******/if(installedModules[moduleId]){/******/return installedModules[moduleId].exports;/******/}/******/// Create a new module (and put it into the cache) /******/var module=installedModules[moduleId]={/******/i:moduleId,/******/l:false,/******/exports:{}/******/};/******//******/// Execute the module function /******/modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);/******//******/// Flag the module as loaded /******/module.l=true;/******//******/// Return the exports of the module /******/return module.exports;/******/}/******//******//******/// expose the modules object (__webpack_modules__) /******/__webpack_require__.m=modules;/******//******/// expose the module cache /******/__webpack_require__.c=installedModules;/******//******/// define getter function for harmony exports /******/__webpack_require__.d=function(exports,name,getter){/******/if(!__webpack_require__.o(exports,name)){/******/Object.defineProperty(exports,name,{enumerable:true,get:getter});/******/}/******/};/******//******/// define __esModule on exports /******/__webpack_require__.r=function(exports){/******/if(typeof Symbol!=='undefined'&&Symbol.toStringTag){/******/Object.defineProperty(exports,Symbol.toStringTag,{value:'Module'});/******/}/******/Object.defineProperty(exports,'__esModule',{value:true});/******/};/******//******/// create a fake namespace object /******/// mode & 1: value is a module id, require it /******/// mode & 2: merge all properties of value into the ns /******/// mode & 4: return value when already ns object /******/// mode & 8|1: behave like require /******/__webpack_require__.t=function(value,mode){/******/if(mode&1)value=__webpack_require__(value);/******/if(mode&8)return value;/******/if(mode&4&&(typeof value==='undefined'?'undefined':_typeof2(value))==='object'&&value&&value.__esModule)return value;/******/var ns=Object.create(null);/******/__webpack_require__.r(ns);/******/Object.defineProperty(ns,'default',{enumerable:true,value:value});/******/if(mode&2&&typeof value!='string')for(var key in value){__webpack_require__.d(ns,key,function(key){return value[key];}.bind(null,key));}/******/return ns;/******/};/******//******/// getDefaultExport function for compatibility with non-harmony modules /******/__webpack_require__.n=function(module){/******/var getter=module&&module.__esModule?/******/function getDefault(){return module['default'];}:/******/function getModuleExports(){return module;};/******/__webpack_require__.d(getter,'a',getter);/******/return getter;/******/};/******//******/// Object.prototype.hasOwnProperty.call /******/__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property);};/******//******/// __webpack_public_path__ /******/__webpack_require__.p="";/******//******//******/// Load entry module and return exports /******/return __webpack_require__(__webpack_require__.s="fae3");/******/}(/************************************************************************//******/{/***/"0083":/***/function _(module,exports,__webpack_require__){"use strict";/*globals Promise */var JSZipUtils={};// just use the responseText with xhr1, response with xhr2. // The transformation doesn't throw away high-order byte (with responseText) // because JSZip handles that case. If not used with JSZip, you may need to // do it, see https://developer.mozilla.org/En/Using_XMLHttpRequest#Handling_binary_data JSZipUtils._getBinaryFromXHR=function(xhr){// for xhr.responseText, the 0xFF mask is applied by JSZip return xhr.response||xhr.responseText;};// taken from jQuery function createStandardXHR(){try{return new window.XMLHttpRequest();}catch(e){}}function createActiveXHR(){try{return new window.ActiveXObject("Microsoft.XMLHTTP");}catch(e){}}// Create the request object var createXHR=typeof window!=="undefined"&&window.ActiveXObject?/* Microsoft failed to properly * implement the XMLHttpRequest in IE7 (can't request local files), * so we use the ActiveXObject when it is available * Additionally XMLHttpRequest can be disabled in IE7/IE8 so * we need a fallback. */function(){return createStandardXHR()||createActiveXHR();}:// For all other browsers, use the standard XMLHttpRequest object createStandardXHR;/** * @param {string} path The path to the resource to GET. * @param {function|{callback: function, progress: function}} options * @return {Promise|undefined} If no callback is passed then a promise is returned */JSZipUtils.getBinaryContent=function(path,options){var promise,resolve,reject;var callback;if(!options){options={};}// backward compatible callback if(typeof options==="function"){callback=options;options={};}else if(typeof options.callback==='function'){// callback inside options object callback=options.callback;}if(!callback&&typeof Promise!=="undefined"){promise=new Promise(function(_resolve,_reject){resolve=_resolve;reject=_reject;});}else{resolve=function resolve(data){callback(null,data);};reject=function reject(err){callback(err,null);};}/* * Here is the tricky part : getting the data. * In firefox/chrome/opera/... setting the mimeType to 'text/plain; charset=x-user-defined' * is enough, the result is in the standard xhr.responseText. * cf https://developer.mozilla.org/En/XMLHttpRequest/Using_XMLHttpRequest#Receiving_binary_data_in_older_browsers * In IE <= 9, we must use (the IE only) attribute responseBody * (for binary data, its content is different from responseText). * In IE 10, the 'charset=x-user-defined' trick doesn't work, only the * responseType will work : * http://msdn.microsoft.com/en-us/library/ie/hh673569%28v=vs.85%29.aspx#Binary_Object_upload_and_download * * I'd like to use jQuery to avoid this XHR madness, but it doesn't support * the responseType attribute : http://bugs.jquery.com/ticket/11461 */try{var xhr=createXHR();xhr.open('GET',path,true);// recent browsers if("responseType"in xhr){xhr.responseType="arraybuffer";}// older browser if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined");}xhr.onreadystatechange=function(event){// use `xhr` and not `this`... thanks IE if(xhr.readyState===4){if(xhr.status===200||xhr.status===0){try{resolve(JSZipUtils._getBinaryFromXHR(xhr));}catch(err){reject(new Error(err));}}else{reject(new Error("Ajax error for "+path+" : "+this.status+" "+this.statusText));}}};if(options.progress){xhr.onprogress=function(e){options.progress({path:path,originalEvent:e,percent:e.loaded/e.total*100,loaded:e.loaded,total:e.total});};}xhr.send();}catch(e){reject(new Error(e),null);}// returns a promise or undefined depending on whether a callback was // provided return promise;};// export module.exports=JSZipUtils;// enforcing Stuk's coding style // vim: set shiftwidth=4 softtabstop=4: /***/},/***/"00ee":/***/function ee(module,exports,__webpack_require__){var wellKnownSymbol=__webpack_require__("b622");var TO_STRING_TAG=wellKnownSymbol('toStringTag');var test={};test[TO_STRING_TAG]='z';module.exports=String(test)==='[object z]';/***/},/***/"0366":/***/function _(module,exports,__webpack_require__){var aFunction=__webpack_require__("1c0b");// optional / simple context binding module.exports=function(fn,that,length){aFunction(fn);if(that===undefined)return fn;switch(length){case 0:return function(){return fn.call(that);};case 1:return function(a){return fn.call(that,a);};case 2:return function(a,b){return fn.call(that,a,b);};case 3:return function(a,b,c){return fn.call(that,a,b,c);};}return function()/* ...args */{return fn.apply(that,arguments);};};/***/},/***/"057f":/***/function f(module,exports,__webpack_require__){/* eslint-disable es/no-object-getownpropertynames -- safe */var toIndexedObject=__webpack_require__("fc6a");var $getOwnPropertyNames=__webpack_require__("241c").f;var toString={}.toString;var windowNames=(typeof window==='undefined'?'undefined':_typeof2(window))=='object'&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];var getWindowNames=function getWindowNames(it){try{return $getOwnPropertyNames(it);}catch(error){return windowNames.slice();}};// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window module.exports.f=function getOwnPropertyNames(it){return windowNames&&toString.call(it)=='[object Window]'?getWindowNames(it):$getOwnPropertyNames(toIndexedObject(it));};/***/},/***/"06cf":/***/function cf(module,exports,__webpack_require__){var DESCRIPTORS=__webpack_require__("83ab");var propertyIsEnumerableModule=__webpack_require__("d1e7");var createPropertyDescriptor=__webpack_require__("5c6c");var toIndexedObject=__webpack_require__("fc6a");var toPrimitive=__webpack_require__("c04e");var has=__webpack_require__("5135");var IE8_DOM_DEFINE=__webpack_require__("0cfb");// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var $getOwnPropertyDescriptor=Object.getOwnPropertyDescriptor;// `Object.getOwnPropertyDescriptor` method // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor exports.f=DESCRIPTORS?$getOwnPropertyDescriptor:function getOwnPropertyDescriptor(O,P){O=toIndexedObject(O);P=toPrimitive(P,true);if(IE8_DOM_DEFINE)try{return $getOwnPropertyDescriptor(O,P);}catch(error){/* empty */}if(has(O,P))return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O,P),O[P]);};/***/},/***/"07ac":/***/function ac(module,exports,__webpack_require__){var $=__webpack_require__("23e7");var $values=__webpack_require__("6f53").values;// `Object.values` method // https://tc39.es/ecma262/#sec-object.values $({target:'Object',stat:true},{values:function values(O){return $values(O);}});/***/},/***/"0c47":/***/function c47(module,exports,__webpack_require__){var global=__webpack_require__("da84");var setToStringTag=__webpack_require__("d44e");// JSON[@@toStringTag] property // https://tc39.es/ecma262/#sec-json-@@tostringtag setToStringTag(global.JSON,'JSON',true);/***/},/***/"0ccb":/***/function ccb(module,exports,__webpack_require__){// https://github.com/tc39/proposal-string-pad-start-end var toLength=__webpack_require__("50c4");var repeat=__webpack_require__("1148");var requireObjectCoercible=__webpack_require__("1d80");var ceil=Math.ceil;// `String.prototype.{ padStart, padEnd }` methods implementation var createMethod=function createMethod(IS_END){return function($this,maxLength,fillString){var S=String(requireObjectCoercible($this));var stringLength=S.length;var fillStr=fillString===undefined?' ':String(fillString);var intMaxLength=toLength(maxLength);var fillLen,stringFiller;if(intMaxLength<=stringLength||fillStr=='')return S;fillLen=intMaxLength-stringLength;stringFiller=repeat.call(fillStr,ceil(fillLen/fillStr.length));if(stringFiller.length>fillLen)stringFiller=stringFiller.slice(0,fillLen);return IS_END?S+stringFiller:stringFiller+S;};};module.exports={// `String.prototype.padStart` method // https://tc39.es/ecma262/#sec-string.prototype.padstart start:createMethod(false),// `String.prototype.padEnd` method // https://tc39.es/ecma262/#sec-string.prototype.padend end:createMethod(true)};/***/},/***/"0cfb":/***/function cfb(module,exports,__webpack_require__){var DESCRIPTORS=__webpack_require__("83ab");var fails=__webpack_require__("d039");var createElement=__webpack_require__("cc12");// Thank's IE8 for his funny defineProperty module.exports=!DESCRIPTORS&&!fails(function(){// eslint-disable-next-line es/no-object-defineproperty -- requied for testing return Object.defineProperty(createElement('div'),'a',{get:function get(){return 7;}}).a!=7;});/***/},/***/"0d3b":/***/function d3b(module,exports,__webpack_require__){var fails=__webpack_require__("d039");var wellKnownSymbol=__webpack_require__("b622");var IS_PURE=__webpack_require__("c430");var ITERATOR=wellKnownSymbol('iterator');module.exports=!fails(function(){var url=new URL('b?a=1&b=2&c=3','http://a');var searchParams=url.searchParams;var result='';url.pathname='c%20d';searchParams.forEach(function(value,key){searchParams['delete']('b');result+=key+value;});return IS_PURE&&!url.toJSON||!searchParams.sort||url.href!=='http://a/c%20d?a=1&c=3'||searchParams.get('c')!=='3'||String(new URLSearchParams('?a=1'))!=='a=1'||!searchParams[ITERATOR]// throws in Edge ||new URL('https://a@b').username!=='a'||new URLSearchParams(new URLSearchParams('a=b')).get('a')!=='b'// not punycoded in Edge ||new URL('http://тест').host!=='xn--e1aybc'// not escaped in Chrome 62- ||new URL('http://a#б').hash!=='#%D0%B1'// fails in Chrome 66- ||result!=='a1c3'// throws in Safari ||new URL('http://x',undefined).host!=='x';});/***/},/***/"10d1":/***/function d1(module,exports,__webpack_require__){"use strict";var global=__webpack_require__("da84");var redefineAll=__webpack_require__("e2cc");var InternalMetadataModule=__webpack_require__("f183");var collection=__webpack_require__("6d61");var collectionWeak=__webpack_require__("acac");var isObject=__webpack_require__("861d");var enforceIternalState=__webpack_require__("69f3").enforce;var NATIVE_WEAK_MAP=__webpack_require__("7f9a");var IS_IE11=!global.ActiveXObject&&'ActiveXObject'in global;// eslint-disable-next-line es/no-object-isextensible -- safe var isExtensible=Object.isExtensible;var InternalWeakMap;var wrapper=function wrapper(init){return function WeakMap(){return init(this,arguments.length?arguments[0]:undefined);};};// `WeakMap` constructor // https://tc39.es/ecma262/#sec-weakmap-constructor var $WeakMap=module.exports=collection('WeakMap',wrapper,collectionWeak);// IE11 WeakMap frozen keys fix // We can't use feature detection because it crash some old IE builds // https://github.com/zloirock/core-js/issues/485 if(NATIVE_WEAK_MAP&&IS_IE11){InternalWeakMap=collectionWeak.getConstructor(wrapper,'WeakMap',true);InternalMetadataModule.REQUIRED=true;var WeakMapPrototype=$WeakMap.prototype;var nativeDelete=WeakMapPrototype['delete'];var nativeHas=WeakMapPrototype.has;var nativeGet=WeakMapPrototype.get;var nativeSet=WeakMapPrototype.set;redefineAll(WeakMapPrototype,{'delete':function _delete(key){if(isObject(key)&&!isExtensible(key)){var state=enforceIternalState(this);if(!state.frozen)state.frozen=new InternalWeakMap();return nativeDelete.call(this,key)||state.frozen['delete'](key);}return nativeDelete.call(this,key);},has:function has(key){if(isObject(key)&&!isExtensible(key)){var state=enforceIternalState(this);if(!state.frozen)state.frozen=new InternalWeakMap();return nativeHas.call(this,key)||state.frozen.has(key);}return nativeHas.call(this,key);},get:function get(key){if(isObject(key)&&!isExtensible(key)){var state=enforceIternalState(this);if(!state.frozen)state.frozen=new InternalWeakMap();return nativeHas.call(this,key)?nativeGet.call(this,key):state.frozen.get(key);}return nativeGet.call(this,key);},set:function set(key,value){if(isObject(key)&&!isExtensible(key)){var state=enforceIternalState(this);if(!state.frozen)state.frozen=new InternalWeakMap();nativeHas.call(this,key)?nativeSet.call(this,key,value):state.frozen.set(key,value);}else nativeSet.call(this,key,value);return this;}});}/***/},/***/"10d11":/***/function d11(module,exports){/* eslint-disable no-bitwise, no-mixed-operators, complexity */var DECRYPT=0;var CBC=0;var ROUND=32;var BLOCK=16;var Sbox=[0xd6,0x90,0xe9,0xfe,0xcc,0xe1,0x3d,0xb7,0x16,0xb6,0x14,0xc2,0x28,0xfb,0x2c,0x05,0x2b,0x67,0x9a,0x76,0x2a,0xbe,0x04,0xc3,0xaa,0x44,0x13,0x26,0x49,0x86,0x06,0x99,0x9c,0x42,0x50,0xf4,0x91,0xef,0x98,0x7a,0x33,0x54,0x0b,0x43,0xed,0xcf,0xac,0x62,0xe4,0xb3,0x1c,0xa9,0xc9,0x08,0xe8,0x95,0x80,0xdf,0x94,0xfa,0x75,0x8f,0x3f,0xa6,0x47,0x07,0xa7,0xfc,0xf3,0x73,0x17,0xba,0x83,0x59,0x3c,0x19,0xe6,0x85,0x4f,0xa8,0x68,0x6b,0x81,0xb2,0x71,0x64,0xda,0x8b,0xf8,0xeb,0x0f,0x4b,0x70,0x56,0x9d,0x35,0x1e,0x24,0x0e,0x5e,0x63,0x58,0xd1,0xa2,0x25,0x22,0x7c,0x3b,0x01,0x21,0x78,0x87,0xd4,0x00,0x46,0x57,0x9f,0xd3,0x27,0x52,0x4c,0x36,0x02,0xe7,0xa0,0xc4,0xc8,0x9e,0xea,0xbf,0x8a,0xd2,0x40,0xc7,0x38,0xb5,0xa3,0xf7,0xf2,0xce,0xf9,0x61,0x15,0xa1,0xe0,0xae,0x5d,0xa4,0x9b,0x34,0x1a,0x55,0xad,0x93,0x32,0x30,0xf5,0x8c,0xb1,0xe3,0x1d,0xf6,0xe2,0x2e,0x82,0x66,0xca,0x60,0xc0,0x29,0x23,0xab,0x0d,0x53,0x4e,0x6f,0xd5,0xdb,0x37,0x45,0xde,0xfd,0x8e,0x2f,0x03,0xff,0x6a,0x72,0x6d,0x6c,0x5b,0x51,0x8d,0x1b,0xaf,0x92,0xbb,0xdd,0xbc,0x7f,0x11,0xd9,0x5c,0x41,0x1f,0x10,0x5a,0xd8,0x0a,0xc1,0x31,0x88,0xa5,0xcd,0x7b,0xbd,0x2d,0x74,0xd0,0x12,0xb8,0xe5,0xb4,0xb0,0x89,0x69,0x97,0x4a,0x0c,0x96,0x77,0x7e,0x65,0xb9,0xf1,0x09,0xc5,0x6e,0xc6,0x84,0x18,0xf0,0x7d,0xec,0x3a,0xdc,0x4d,0x20,0x79,0xee,0x5f,0x3e,0xd7,0xcb,0x39,0x48];var CK=[0x00070e15,0x1c232a31,0x383f464d,0x545b6269,0x70777e85,0x8c939aa1,0xa8afb6bd,0xc4cbd2d9,0xe0e7eef5,0xfc030a11,0x181f262d,0x343b4249,0x50575e65,0x6c737a81,0x888f969d,0xa4abb2b9,0xc0c7ced5,0xdce3eaf1,0xf8ff060d,0x141b2229,0x30373e45,0x4c535a61,0x686f767d,0x848b9299,0xa0a7aeb5,0xbcc3cad1,0xd8dfe6ed,0xf4fb0209,0x10171e25,0x2c333a41,0x484f565d,0x646b7279];/** * 16 进制串转字节数组 */function hexToArray(str){var arr=[];for(var i=0,len=str.length;i<len;i+=2){arr.push(parseInt(str.substr(i,2),16));}return arr;}/** * 字节数组转 16 进制串 */function ArrayToHex(arr){return arr.map(function(item){item=item.toString(16);return item.length===1?'0'+item:item;}).join('');}/** * utf8 串转字节数组 */function utf8ToArray(str){var arr=[];for(var i=0,len=str.length;i<len;i++){var point=str.codePointAt(i);if(point<=0x007f){// 单字节,标量值:00000000 00000000 0zzzzzzz arr.push(point);}else if(point<=0x07ff){// 双字节,标量值:00000000 00000yyy yyzzzzzz arr.push(0xc0|point>>>6);// 110yyyyy(0xc0-0xdf) arr.push(0x80|point&0x3f);// 10zzzzzz(0x80-0xbf) }else if(point<=0xD7FF||point>=0xE000&&point<=0xFFFF){// 三字节:标量值:00000000 xxxxyyyy yyzzzzzz arr.push(0xe0|point>>>12);// 1110xxxx(0xe0-0xef) arr.push(0x80|point>>>6&0x3f);// 10yyyyyy(0x80-0xbf) arr.push(0x80|point&0x3f);// 10zzzzzz(0x80-0xbf) }else if(point>=0x010000&&point<=0x10FFFF){// 四字节:标量值:000wwwxx xxxxyyyy yyzzzzzz i++;arr.push(0xf0|point>>>18&0x1c);// 11110www(0xf0-0xf7) arr.push(0x80|point>>>12&0x3f);// 10xxxxxx(0x80-0xbf) arr.push(0x80|point>>>6&0x3f);// 10yyyyyy(0x80-0xbf) arr.push(0x80|point&0x3f);// 10zzzzzz(0x80-0xbf) }else{// 五、六字节,暂时不支持 arr.push(point);throw new Error('input is not supported');}}return arr;}/** * 字节数组转 utf8 串 */function arrayToUtf8(arr){var str=[];for(var i=0,len=arr.length;i<len;i++){if(arr[i]>=0xf0&&arr[i]<=0xf7){// 四字节 str.push(String.fromCodePoint(((arr[i]&0x07)<<18)+((arr[i+1]&0x3f)<<12)+((arr[i+2]&0x3f)<<6)+(arr[i+3]&0x3f)));i+=3;}else if(arr[i]>=0xe0&&arr[i]<=0xef){// 三字节 str.push(String.fromCodePoint(((arr[i]&0x0f)<<12)+((arr[i+1]&0x3f)<<6)+(arr[i+2]&0x3f)));i+=2;}else if(arr[i]>=0xc0&&arr[i]<=0xdf){// 双字节 str.push(String.fromCodePoint(((arr[i]&0x1f)<<6)+(arr[i+1]&0x3f)));i++;}else{// 单字节 str.push(String.fromCodePoint(arr[i]));}}return str.join('');}/** * 32 比特循环左移 */function rotl(x,y){return x<<y|x>>>32-y;}/** * 非线性变换 */function byteSub(a){return(Sbox[a>>>24&0xFF]&0xFF)<<24|(Sbox[a>>>16&0xFF]&0xFF)<<16|(Sbox[a>>>8&0xFF]&0xFF)<<8|Sbox[a&0xFF]&0xFF;}/** * 线性变换,加密/解密用 */function l1(b){return b^rotl(b,2)^rotl(b,10)^rotl(b,18)^rotl(b,24);}/** * 线性变换,生成轮密钥用 */function l2(b){return b^rotl(b,13)^rotl(b,23);}/** * 以一组 128 比特进行加密/解密操作 */function sms4Crypt(input,output,roundKey){var x=new Array(4);// 字节数组转成字数组(此处 1 字 = 32 比特) var tmp=new Array(4);for(var i=0;i<4;i++){tmp[0]=input[0+4*i]&0xff;tmp[1]=input[1+4*i]&0xff;tmp[2]=input[2+4*i]&0xff;tmp[3]=input[3+4*i]&0xff;x[i]=tmp[0]<<24|tmp[1]<<16|tmp[2]<<8|tmp[3];}// x[i + 4] = x[i] ^ l1(byteSub(x[i + 1] ^ x[i + 2] ^ x[i + 3] ^ roundKey[i])) for(var r=0,mid;r<32;r+=4){mid=x[1]^x[2]^x[3]^roundKey[r+0];x[0]^=l1(byteSub(mid));// x[4] mid=x[2]^x[3]^x[0]^roundKey[r+1];x[1]^=l1(byteSub(mid));// x[5] mid=x[3]^x[0]^x[1]^roundKey[r+2];x[2]^=l1(byteSub(mid));// x[6] mid=x[0]^x[1]^x[2]^roundKey[r+3];x[3]^=l1(byteSub(mid));// x[7] }// 反序变换 for(var j=0;j<16;j+=4){output[j]=x[3-j/4]>>>24&0xff;output[j+1]=x[3-j/4]>>>16&0xff;output[j+2]=x[3-j/4]>>>8&0xff;output[j+3]=x[3-j/4]&0xff;}}/** * 密钥扩展算法 */function sms4KeyExt(key,roundKey,cryptFlag){var x=new Array(4);// 字节数组转成字数组(此处 1 字 = 32 比特) var tmp=new Array(4);for(var i=0;i<4;i++){tmp[0]=key[0+4*i]&0xff;tmp[1]=key[1+4*i]&0xff;tmp[2]=key[2+4*i]&0xff;tmp[3]=key[3+4*i]&0xff;x[i]=tmp[0]<<24|tmp[1]<<16|tmp[2]<<8|tmp[3];}// 与系统参数做异或 x[0]^=0xa3b1bac6;x[1]^=0x56aa3350;x[2]^=0x677d9197;x[3]^=0xb27022dc;// roundKey[i] = x[i + 4] = x[i] ^ l2(byteSub(x[i + 1] ^ x[i + 2] ^ x[i + 3] ^ CK[i])) for(var r=0,mid;r<32;r+=4){mid=x[1]^x[2]^x[3]^CK[r+0];roundKey[r+0]=x[0]^=l2(byteSub(mid));// x[4] mid=x[2]^x[3]^x[0]^CK[r+1];roundKey[r+1]=x[1]^=l2(byteSub(mid));// x[5] mid=x[3]^x[0]^x[1]^CK[r+2];roundKey[r+2]=x[2]^=l2(byteSub(mid));// x[6] mid=x[0]^x[1]^x[2]^CK[r+3];roundKey[r+3]=x[3]^=l2(byteSub(mid));// x[7] }// 解密时使用反序的轮密钥 if(cryptFlag===DECRYPT){for(var _r=0,_mid;_r<16;_r++){_mid=roundKey[_r];roundKey[_r]=roundKey[31-_r];roundKey[31-_r]=_mid;}}}function sm4(inArray,key,cryptFlag){var _ref30=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{},_ref30$padding=_ref30.padding,padding=_ref30$padding===undefined?'pkcs#5':_ref30$padding,mode=_ref30.mode,_ref30$output=_ref30.output,output=_ref30$output===undefined?'string':_ref30$output;if(mode===CBC){}// @TODO,CBC 模式,默认走 ECB 模式 // 检查 key if(typeof key==='string')key=hexToArray(key);if(key.length!==128/8){// key 不是 128 比特 throw new Error('key is invalid');}// 检查输入 if(typeof inArray==='string'){if(cryptFlag!==DECRYPT){// 加密,输入为 utf8 串 inArray=utf8ToArray(inArray);}else{// 解密,输入为 16 进制串 inArray=hexToArray(inArray);}}else{inArray=[].concat(_toConsumableArray(inArray));}// 新增填充 if(padding==='pkcs#5'&&cryptFlag!==DECRYPT){var paddingCount=BLOCK-inArray.length%BLOCK;for(var i=0;i<paddingCount;i++){inArray.push(paddingCount);}}// 生成轮密钥 var roundKey=new Array(ROUND);sms4KeyExt(key,roundKey,cryptFlag);var outArray=[];var restLen=inArray.length;var point=0;while(restLen>=BLOCK){var input=inArray.slice(point,point+16);var _output=new Array(16);sms4Crypt(input,_output,roundKey);for(var _i4=0;_i4<BLOCK;_i4++){outArray[point+_i4]=_output[_i4];}restLen-=BLOCK;point+=BLOCK;}// 去除填充 if(padding==='pkcs#5'&&cryptFlag===DECRYPT){var _paddingCount=outArray[outArray.length-1];outArray.splice(outArray.length-_paddingCount,_paddingCount);}// 调整输出 if(output!=='array'){if(cryptFlag!==DECRYPT){// 加密,输出转 16 进制串 return ArrayToHex(outArray);}else{// 解密,输出转 utf8 串 return arrayToUtf8(outArray);}}else{return outArray;}}module.exports={encrypt:function encrypt(inArray,key,options){return sm4(inArray,key,1,options);},decrypt:function decrypt(inArray,key,options){return sm4(inArray,key,0,options);}};/***/},/***/"1148":/***/function _(module,exports,__webpack_require__){"use strict";var toInteger=__webpack_require__("a691");var requireObjectCoercible=__webpack_require__("1d80");// `String.prototype.repeat` method implementation // https://tc39.es/ecma262/#sec-string.prototype.repeat module.exports=function repeat(count){var str=String(requireObjectCoercible(this));var result='';var n=toInteger(count);if(n<0||n==Infinity)throw RangeError('Wrong number of repetitions');for(;n>0;(n>>>=1)&&(str+=str)){if(n&1)result+=str;}return result;};/***/},/***/"14d8":/***/function d8(module,exports,__webpack_require__){__webpack_require__("2b3d");__webpack_require__("bf19");__webpack_require__("9861");var path=__webpack_require__("428f");module.exports=path.URL;/***/},/***/"1920":/***/function _(module,exports,__webpack_require__){__webpack_require__("4d90");var entryUnbind=__webpack_require__("b109");module.exports=entryUnbind('String','padStart');/***/},/***/"197b":/***/function b(module,exports,__webpack_require__){var defineWellKnownSymbol=__webpack_require__("746f");// `Symbol.species` well-known symbol // https://tc39.es/ecma262/#sec-symbol.species defineWellKnownSymbol('species');/***/},/***/"19aa":/***/function aa(module,exports){module.exports=function(it,Constructor,name){if(!(it instanceof Constructor)){throw TypeError('Incorrect '+(name?name+' ':'')+'invocation');}return it;};/***/},/***/"1be4":/***/function be4(module,exports,__webpack_require__){var getBuiltIn=__webpack_require__("d066");module.exports=getBuiltIn('document','documentElement');/***/},/***/"1c0b":/***/function c0b(module,exports){module.exports=function(it){if(typeof it!='function'){throw TypeError(String(it)+' is not a function');}return it;};/***/},/***/"1c7e":/***/function c7e(module,exports,__webpack_require__){var wellKnownSymbol=__webpack_require__("b622");var ITERATOR=wellKnownSymbol('iterator');var SAFE_CLOSING=false;try{var called=0;var iteratorWithReturn={next:function next(){return{done:!!called++};},'return':function _return(){SAFE_CLOSING=true;}};iteratorWithReturn[ITERATOR]=function(){return this;};// eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing Array.from(iteratorWithReturn,function(){throw 2;});}catch(error){/* empty */}module.exports=function(exec,SKIP_CLOSING){if(!SKIP_CLOSING&&!SAFE_CLOSING)return false;var ITERATION_SUPPORT=false;try{var object={};object[ITERATOR]=function(){return{next:function next(){return{done:ITERATION_SUPPORT=true};}};};exec(object);}catch(error){/* empty */}return ITERATION_SUPPORT;};/***/},/***/"1cd7":/***/function cd7(module,exports,__webpack_require__){__webpack_require__("f6d6");var path=__webpack_require__("428f");module.exports=path.String.fromCodePoint;/***/},/***/"1cdc":/***/function cdc(module,exports,__webpack_require__){var userAgent=__webpack_require__("342f");module.exports=/(?:iphone|ipod|ipad).*applewebkit/i.test(userAgent);/***/},/***/"1d80":/***/function d80(module,exports){// `RequireObjectCoercible` abstract operation // https://tc39.es/ecma262/#sec-requireobjectcoercible module.exports=function(it){if(it==undefined)throw TypeError("Can't call method on "+it);return it;};/***/},/***/"1dde":/***/function dde(module,exports,__webpack_require__){var fails=__webpack_require__("d039");var wellKnownSymbol=__webpack_require__("b622");var V8_VERSION=__webpack_require__("2d00");var SPECIES=wellKnownSymbol('species');module.exports=function(METHOD_NAME){// We can't use this feature detection in V8 since it causes // deoptimization and serious performance degradation // https://github.com/zloirock/core-js/issues/677 return V8_VERSION>=51||!fails(function(){var array=[];var constructor=array.constructor={};constructor[SPECIES]=function(){return{foo:1};};return array[METHOD_NAME](Boolean).foo!==1;});};/***/},/***/"1f4a":/***/function f4a(module,exports,__webpack_require__){__webpack_require__("99af");__webpack_require__("d3b7");__webpack_require__("a4d3");__webpack_require__("b636");__webpack_require__("e01a");__webpack_require__("dc8d");__webpack_require__("efe9");__webpack_require__("d28b");__webpack_require__("2a1b");__webpack_require__("8edd");__webpack_require__("80e0");__webpack_require__("6b9e");__webpack_require__("197b");__webpack_require__("2351");__webpack_require__("8172");__webpack_require__("944a");__webpack_require__("81b8");__webpack_require__("0c47");__webpack_require__("23dc");__webpack_require__("f8c9");var path=__webpack_require__("428f");module.exports=path.Symbol;/***/},/***/"1fb5":/***/function fb5(module,exports,__webpack_require__){"use strict";exports.byteLength=byteLength;exports.toByteArray=toByteArray;exports.fromByteArray=fromByteArray;var lookup=[];var revLookup=[];var Arr=typeof Uint8Array!=='undefined'?Uint8Array:Array;var code='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';for(var i=0,len=code.length;i<len;++i){lookup[i]=code[i];revLookup[code.charCodeAt(i)]=i;}// Support decoding URL-safe base64 strings, as Node.js does. // See: https://en.wikipedia.org/wiki/Base64#URL_applications revLookup['-'.charCodeAt(0)]=62;revLookup['_'.charCodeAt(0)]=63;function getLens(b64){var len=b64.length;if(len%4>0){throw new Error('Invalid string. Length must be a multiple of 4');}// Trim off extra bytes after placeholder bytes are found // See: https://github.com/beatgammit/base64-js/issues/42 var validLen=b64.indexOf('=');if(validLen===-1)validLen=len;var placeHoldersLen=validLen===len?0:4-validLen%4;return[validLen,placeHoldersLen];}// base64 is 4/3 + up to two characters of the original data function byteLength(b64){var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];return(validLen+placeHoldersLen)*3/4-placeHoldersLen;}function _byteLength(b64,validLen,placeHoldersLen){return(validLen+placeHoldersLen)*3/4-placeHoldersLen;}function toByteArray(b64){var tmp;var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];var arr=new Arr(_byteLength(b64,validLen,placeHoldersLen));var curByte=0;// if there are placeholders, only get up to the last complete 4 chars var len=placeHoldersLen>0?validLen-4:validLen;var i;for(i=0;i<len;i+=4){tmp=revLookup[b64.charCodeAt(i)]<<18|revLookup[b64.charCodeAt(i+1)]<<12|revLookup[b64.charCodeAt(i+2)]<<6|revLookup[b64.charCodeAt(i+3)];arr[curByte++]=tmp>>16&0xFF;arr[curByte++]=tmp>>8&0xFF;arr[curByte++]=tmp&0xFF;}if(placeHoldersLen===2){tmp=revLookup[b64.charCodeAt(i)]<<2|revLookup[b64.charCodeAt(i+1)]>>4;arr[curByte++]=tmp&0xFF;}if(placeHoldersLen===1){tmp=revLookup[b64.charCodeAt(i)]<<10|revLookup[b64.charCodeAt(i+1)]<<4|revLookup[b64.charCodeAt(i+2)]>>2;arr[curByte++]=tmp>>8&0xFF;arr[curByte++]=tmp&0xFF;}return arr;}function tripletToBase64(num){return lookup[num>>18&0x3F]+lookup[num>>12&0x3F]+lookup[num>>6&0x3F]+lookup[num&0x3F];}function encodeChunk(uint8,start,end){var tmp;var output=[];for(var i=start;i<end;i+=3){tmp=(uint8[i]<<16&0xFF0000)+(uint8[i+1]<<8&0xFF00)+(uint8[i+2]&0xFF);output.push(tripletToBase64(tmp));}return output.join('');}function fromByteArray(uint8){var tmp;var len=uint8.length;var extraBytes=len%3;// if we have 1 byte left, pad 2 bytes var parts=[];var maxChunkLength=16383;// must be multiple of 3 // go through the array every three bytes, we'll deal with trailing stuff later for(var i=0,len2=len-extraBytes;i<len2;i+=maxChunkLength){parts.push(encodeChunk(uint8,i,i+maxChunkLength>len2?len2:i+maxChunkLength));}// pad the end with zeros, but make sure to not forget the extra bytes if(extraBytes===1){tmp=uint8[len-1];parts.push(lookup[tmp>>2]+lookup[tmp<<4&0x3F]+'==');}else if(extraBytes===2){tmp=(uint8[len-2]<<8)+uint8[len-1];parts.push(lookup[tmp>>10]+lookup[tmp>>4&0x3F]+lookup[tmp<<2&0x3F]+'=');}return parts.join('');}/***/},/***/"1fe2":/***/function fe2(module,exports,__webpack_require__){"use strict";var collection=__webpack_require__("6d61");var collectionWeak=__webpack_require__("acac");// `WeakSet` constructor // https://tc39.es/ecma262/#sec-weakset-constructor collection('WeakSet',function(init){return function WeakSet(){return init(this,arguments.length?arguments[0]:undefined);};},collectionWeak);/***/},/***/"2266":/***/function _(module,exports,__webpack_require__){var anObject=__webpack_require__("825a");var isArrayIteratorMethod=__webpack_require__("e95a");var toLength=__webpack_require__("50c4");var bind=__webpack_require__("0366");var getIteratorMethod=__webpack_require__("35a1");var iteratorClose=__webpack_require__("2a62");var Result=function Result(stopped,result){this.stopped=stopped;this.result=result;};module.exports=function(iterable,unboundFunction,options){var that=options&&options.that;var AS_ENTRIES=!!(options&&options.AS_ENTRIES);var IS_ITERATOR=!!(options&&options.IS_ITERATOR);var INTERRUPTED=!!(options&&options.INTERRUPTED);var fn=bind(unboundFunction,that,1+AS_ENTRIES+INTERRUPTED);var iterator,iterFn,index,length,result,next,step;var stop=function stop(condition){if(iterator)iteratorClose(iterator);return new Result(true,condition);};var callFn=function callFn(value){if(AS_ENTRIES){anObject(value);return INTERRUPTED?fn(value[0],value[1],stop):fn(value[0],value[1]);}return INTERRUPTED?fn(value,stop):fn(value);};if(IS_ITERATOR){iterator=iterable;}else{iterFn=getIteratorMethod(iterable);if(typeof iterFn!='function')throw TypeError('Target is not iterable');// optimisation for array iterators if(isArrayIteratorMethod(iterFn)){for(index=0,length=toLength(iterable.length);length>index;index++){result=callFn(iterable[index]);if(result&&result instanceof Result)return result;}return new Result(false);}iterator=iterFn.call(iterable);}next=iterator.next;while(!(step=next.call(iterator)).done){try{result=callFn(step.value);}catch(error){iteratorClose(iterator);throw error;}if((typeof result==='undefined'?'undefined':_typeof2(result))=='object'&&result&&result instanceof Result)return result;}return new Result(false);};/***/},/***/"2351":/***/function _(module,exports,__webpack_require__){var defineWellKnownSymbol=__webpack_require__("746f");// `Symbol.split` well-known symbol // https://tc39.es/ecma262/#sec-symbol.split defineWellKnownSymbol('split');/***/},/***/"23cb":/***/function cb(module,exports,__webpack_require__){var toInteger=__webpack_require__("a691");var max=Math.max;var min=Math.min;// Helper for a popular repeating case of the spec: // Let integer be ? ToInteger(index). // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). module.exports=function(index,length){var integer=toInteger(index);return integer<0?max(integer+length,0):min(integer,length);};/***/},/***/"23dc":/***/function dc(module,exports,__webpack_require__){var setToStringTag=__webpack_require__("d44e");// Math[@@toStringTag] property // https://tc39.es/ecma262/#sec-math-@@tostringtag setToStringTag(Math,'Math',true);/***/},/***/"23e7":/***/function e7(module,exports,__webpack_require__){var global=__webpack_require__("da84");var getOwnPropertyDescriptor=__webpack_require__("06cf").f;var createNonEnumerableProperty=__webpack_require__("9112");var redefine=__webpack_require__("6eeb");var setGlobal=__webpack_require__("ce4e");var copyConstructorProperties=__webpack_require__("e893");var isForced=__webpack_require__("94ca");/* options.target - name of the target object options.global - target is the global object options.stat - export as static methods of target options.proto - export as prototype methods of target options.real - real prototype method for the `pure` version options.forced - export even if the native feature is available options.bind - bind methods to the target, required for the `pure` version options.wrap - wrap constructors to preventing global pollution, required for the `pure` version options.unsafe - use the simple assignment of property instead of delete + defineProperty options.sham - add a flag to not completely full polyfills options.enumerable - export as enumerable property options.noTargetGet - prevent calling a getter on target */module.exports=function(options,source){var TARGET=options.target;var GLOBAL=options.global;var STATIC=options.stat;var FORCED,target,key,targetProperty,sourceProperty,descriptor;if(GLOBAL){target=global;}else if(STATIC){target=global[TARGET]||setGlobal(TARGET,{});}else{target=(global[TARGET]||{}).prototype;}if(target)for(key in source){sourceProperty=source[key];if(options.noTargetGet){descriptor=getOwnPropertyDescriptor(target,key);targetProperty=descriptor&&descriptor.value;}else targetProperty=target[key];FORCED=isForced(GLOBAL?key:TARGET+(STATIC?'.':'#')+key,options.forced);// contained in target if(!FORCED&&targetProperty!==undefined){if((typeof sourceProperty==='undefined'?'undefined':_typeof2(sourceProperty))===(typeof targetProperty==='undefined'?'undefined':_typeof2(targetProperty)))continue;copyConstructorProperties(sourceProperty,targetProperty);}// add a flag to not completely full polyfills if(options.sham||targetProperty&&targetProperty.sham){createNonEnumerableProperty(sourceProperty,'sham',true);}// extend global redefine(target,key,sourceProperty,options);}};/***/},/***/"2418":/***/function _(module,exports,__webpack_require__){__webpack_require__("cca6");var path=__webpack_require__("428f");module.exports=path.Object.assign;/***/},/***/"241c":/***/function c(module,exports,__webpack_require__){var internalObjectKeys=__webpack_require__("ca84");var enumBugKeys=__webpack_require__("7839");var hiddenKeys=enumBugKeys.concat('length','prototype');// `Object.getOwnPropertyNames` method // https://tc39.es/ecma262/#sec-object.getownpropertynames // eslint-disable-next-line es/no-object-getownpropertynames -- safe exports.f=Object.getOwnPropertyNames||function getOwnPropertyNames(O){return internalObjectKeys(O,hiddenKeys);};/***/},/***/"2532":/***/function _(module,exports,__webpack_require__){"use strict";var $=__webpack_require__("23e7");var notARegExp=__webpack_require__("5a34");var requireObjectCoercible=__webpack_require__("1d80");var correctIsRegExpLogic=__webpack_require__("ab13");// `String.prototype.includes` method // https://tc39.es/ecma262/#sec-string.prototype.includes $({target:'String',proto:true,forced:!correctIsRegExpLogic('includes')},{includes:function includes(searchString/* , position = 0 */){return!!~String(requireObjectCoercible(this)).indexOf(notARegExp(searchString),arguments.length>1?arguments[1]:undefined);}});/***/},/***/"2626":/***/function _(module,exports,__webpack_require__){"use strict";var getBuiltIn=__webpack_require__("d066");var definePropertyModule=__webpack_require__("9bf2");var wellKnownSymbol=__webpack_require__("b622");var DESCRIPTORS=__webpack_require__("83ab");var SPECIES=wellKnownSymbol('species');module.exports=function(CONSTRUCTOR_NAME){var Constructor=getBuiltIn(CONSTRUCTOR_NAME);var defineProperty=definePropertyModule.f;if(DESCRIPTORS&&Constructor&&!Constructor[SPECIES]){defineProperty(Constructor,SPECIES,{configurable:true,get:function get(){return this;}});}};/***/},/***/"2954":/***/function _(module,exports,__webpack_require__){"use strict";var ArrayBufferViewCore=__webpack_require__("ebb5");var speciesConstructor=__webpack_require__("4840");var fails=__webpack_require__("d039");var aTypedArray=ArrayBufferViewCore.aTypedArray;var aTypedArrayConstructor=ArrayBufferViewCore.aTypedArrayConstructor;var exportTypedArrayMethod=ArrayBufferViewCore.exportTypedArrayMethod;var $slice=[].slice;var FORCED=fails(function(){// eslint-disable-next-line es/no-typed-arrays -- required for testing new Int8Array(1).slice();});// `%TypedArray%.prototype.slice` method // https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice exportTypedArrayMethod('slice',function slice(start,end){var list=$slice.call(aTypedArray(this),start,end);var C=speciesConstructor(this,this.constructor);var index=0;var length=list.length;var result=new(aTypedArrayConstructor(C))(length);while(length>index){result[index]=list[index++];}return result;},FORCED);/***/},/***/"2a1b":/***/function a1b(module,exports,__webpack_require__){var defineWellKnownSymbol=__webpack_require__("746f");// `Symbol.match` well-known symbol // https://tc39.es/ecma262/#sec-symbol.match defineWellKnownSymbol('match');/***/},/***/"2a62":/***/function a62(module,exports,__webpack_require__){var anObject=__webpack_require__("825a");module.exports=function(iterator){var returnMethod=iterator['return'];if(returnMethod!==undefined){return anObject(returnMethod.call(iterator)).value;}};/***/},/***/"2b3d":/***/function b3d(module,exports,__webpack_require__){"use strict";// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` __webpack_require__("3ca3");var $=__webpack_require__("23e7");var DESCRIPTORS=__webpack_require__("83ab");var USE_NATIVE_URL=__webpack_require__("0d3b");var global=__webpack_require__("da84");var defineProperties=__webpack_require__("37e8");var redefine=__webpack_require__("6eeb");var anInstance=__webpack_require__("19aa");var has=__webpack_require__("5135");var assign=__webpack_require__("60da");var arrayFrom=__webpack_require__("4df4");var codeAt=__webpack_require__("6547").codeAt;var toASCII=__webpack_require__("5fb2");var setToStringTag=__webpack_require__("d44e");var URLSearchParamsModule=__webpack_require__("9861");var InternalStateModule=__webpack_require__("69f3");var NativeURL=global.URL;var URLSearchParams=URLSearchParamsModule.URLSearchParams;var getInternalSearchParamsState=URLSearchParamsModule.getState;var setInternalState=InternalStateModule.set;var getInternalURLState=InternalStateModule.getterFor('URL');var floor=Math.floor;var pow=Math.pow;var INVALID_AUTHORITY='Invalid authority';var INVALID_SCHEME='Invalid scheme';var INVALID_HOST='Invalid host';var INVALID_PORT='Invalid port';var ALPHA=/[A-Za-z]/;// eslint-disable-next-line regexp/no-obscure-range -- safe var ALPHANUMERIC=/[\d+-.A-Za-z]/;var DIGIT=/\d/;var HEX_START=/^(0x|0X)/;var OCT=/^[0-7]+$/;var DEC=/^\d+$/;var HEX=/^[\dA-Fa-f]+$/;/* eslint-disable no-control-regex -- safe */var FORBIDDEN_HOST_CODE_POINT=/[\0\t\n\r #%/:?@[\\]]/;var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT=/[\0\t\n\r #/:?@[\\]]/;var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE=/^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g;var TAB_AND_NEW_LINE=/[\t\n\r]/g;/* eslint-enable no-control-regex -- safe */var EOF;var parseHost=function parseHost(url,input){var result,codePoints,index;if(input.charAt(0)=='['){if(input.charAt(input.length-1)!=']')return INVALID_HOST;result=parseIPv6(input.slice(1,-1));if(!result)return INVALID_HOST;url.host=result;// opaque host }else if(!isSpecial(url)){if(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input))return INVALID_HOST;result='';codePoints=arrayFrom(input);for(index=0;index<codePoints.length;index++){result+=percentEncode(codePoints[index],C0ControlPercentEncodeSet);}url.host=result;}else{input=toASCII(input);if(FORBIDDEN_HOST_CODE_POINT.test(input))return INVALID_HOST;result=parseIPv4(input);if(result===null)return INVALID_HOST;url.host=result;}};var parseIPv4=function parseIPv4(input){var parts=input.split('.');var partsLength,numbers,index,part,radix,number,ipv4;if(parts.length&&parts[parts.length-1]==''){parts.pop();}partsLength=parts.length;if(partsLength>4)return input;numbers=[];for(index=0;index<partsLength;index++){part=parts[index];if(part=='')return input;radix=10;if(part.length>1&&part.charAt(0)=='0'){radix=HEX_START.test(part)?16:8;part=part.slice(radix==8?1:2);}if(part===''){number=0;}else{if(!(radix==10?DEC:radix==8?OCT:HEX).test(part))return input;number=parseInt(part,radix);}numbers.push(number);}for(index=0;index<partsLength;index++){number=numbers[index];if(index==partsLength-1){if(number>=pow(256,5-partsLength))return null;}else if(number>255)return null;}ipv4=numbers.pop();for(index=0;index<numbers.length;index++){ipv4+=numbers[index]*pow(256,3-index);}return ipv4;};// eslint-disable-next-line max-statements -- TODO var parseIPv6=function parseIPv6(input){var address=[0,0,0,0,0,0,0,0];var pieceIndex=0;var compress=null;var pointer=0;var value,length,numbersSeen,ipv4Piece,number,swaps,swap;var char=function char(){return input.charAt(pointer);};if(char()==':'){if(input.charAt(1)!=':')return;pointer+=2;pieceIndex++;compress=pieceIndex;}while(char()){if(pieceIndex==8)return;if(char()==':'){if(compress!==null)return;pointer++;pieceIndex++;compress=pieceIndex;continue;}value=length=0;while(length<4&&HEX.test(char())){value=value*16+parseInt(char(),16);pointer++;length++;}if(char()=='.'){if(length==0)return;pointer-=length;if(pieceIndex>6)return;numbersSeen=0;while(char()){ipv4Piece=null;if(numbersSeen>0){if(char()=='.'&&numbersSeen<4)pointer++;else return;}if(!DIGIT.test(char()))return;while(DIGIT.test(char())){number=parseInt(char(),10);if(ipv4Piece===null)ipv4Piece=number;else if(ipv4Piece==0)return;else ipv4Piece=ipv4Piece*10+number;if(ipv4Piece>255)return;pointer++;}address[pieceIndex]=address[pieceIndex]*256+ipv4Piece;numbersSeen++;if(numbersSeen==2||numbersSeen==4)pieceIndex++;}if(numbersSeen!=4)return;break;}else if(char()==':'){pointer++;if(!char())return;}else if(char())return;address[pieceIndex++]=value;}if(compress!==null){swaps=pieceIndex-compress;pieceIndex=7;while(pieceIndex!=0&&swaps>0){swap=address[pieceIndex];address[pieceIndex--]=address[compress+swaps-1];address[compress+--swaps]=swap;}}else if(pieceIndex!=8)return;return address;};var findLongestZeroSequence=function findLongestZeroSequence(ipv6){var maxIndex=null;var maxLength=1;var currStart=null;var currLength=0;var index=0;for(;index<8;index++){if(ipv6[index]!==0){if(currLength>maxLength){maxIndex=currStart;maxLength=currLength;}currStart=null;currLength=0;}else{if(currStart===null)currStart=index;++currLength;}}if(currLength>maxLength){maxIndex=currStart;maxLength=currLength;}return maxIndex;};var serializeHost=function serializeHost(host){var result,index,compress,ignore0;// ipv4 if(typeof host=='number'){result=[];for(index=0;index<4;index++){result.unshift(host%256);host=floor(host/256);}return result.join('.');// ipv6 }else if((typeof host==='undefined'?'undefined':_typeof2(host))=='object'){result='';compress=findLongestZeroSequence(host);for(index=0;index<8;index++){if(ignore0&&host[index]===0)continue;if(ignore0)ignore0=false;if(compress===index){result+=index?':':'::';ignore0=true;}else{result+=host[index].toString(16);if(index<7)result+=':';}}return'['+result+']';}return host;};var C0ControlPercentEncodeSet={};var fragmentPercentEncodeSet=assign({},C0ControlPercentEncodeSet,{' ':1,'"':1,'<':1,'>':1,'`':1});var pathPercentEncodeSet=assign({},fragmentPercentEncodeSet,{'#':1,'?':1,'{':1,'}':1});var userinfoPercentEncodeSet=assign({},pathPercentEncodeSet,{'/':1,':':1,';':1,'=':1,'@':1,'[':1,'\\':1,']':1,'^':1,'|':1});var percentEncode=function percentEncode(char,set){var code=codeAt(char,0);return code>0x20&&code<0x7F&&!has(set,char)?char:encodeURIComponent(char);};var specialSchemes={ftp:21,file:null,http:80,https:443,ws:80,wss:443};var isSpecial=function isSpecial(url){return has(specialSchemes,url.scheme);};var includesCredentials=function includesCredentials(url){return url.username!=''||url.password!='';};var cannotHaveUsernamePasswordPort=function cannotHaveUsernamePasswordPort(url){return!url.host||url.cannotBeABaseURL||url.scheme=='file';};var isWindowsDriveLetter=function isWindowsDriveLetter(string,normalized){var second;return string.length==2&&ALPHA.test(string.charAt(0))&&((second=string.charAt(1))==':'||!normalized&&second=='|');};var startsWithWindowsDriveLetter=function startsWithWindowsDriveLetter(string){var third;return string.length>1&&isWindowsDriveLetter(string.slice(0,2))&&(string.length==2||(third=string.charAt(2))==='/'||third==='\\'||third==='?'||third==='#');};var shortenURLsPath=function shortenURLsPath(url){var path=url.path;var pathSize=path.length;if(pathSize&&(url.scheme!='file'||pathSize!=1||!isWindowsDriveLetter(path[0],true))){path.pop();}};var isSingleDot=function isSingleDot(segment){return segment==='.'||segment.toLowerCase()==='%2e';};var isDoubleDot=function isDoubleDot(segment){segment=segment.toLowerCase();return segment==='..'||segment==='%2e.'||segment==='.%2e'||segment==='%2e%2e';};// States: var SCHEME_START={};var SCHEME={};var NO_SCHEME={};var SPECIAL_RELATIVE_OR_AUTHORITY={};var PATH_OR_AUTHORITY={};var RELATIVE={};var RELATIVE_SLASH={};var SPECIAL_AUTHORITY_SLASHES={};var SPECIAL_AUTHORITY_IGNORE_SLASHES={};var AUTHORITY={};var HOST={};var HOSTNAME={};var PORT={};var FILE={};var FILE_SLASH={};var FILE_HOST={};var PATH_START={};var PATH={};var CANNOT_BE_A_BASE_URL_PATH={};var QUERY={};var FRAGMENT={};// eslint-disable-next-line max-statements -- TODO var parseURL=function parseURL(url,input,stateOverride,base){var state=stateOverride||SCHEME_START;var pointer=0;var buffer='';var seenAt=false;var seenBracket=false;