@antv/data-wizard
Version:
A js/ts library for data processing
1 lines • 256 kB
JavaScript
!function(n,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports):"function"==typeof define&&define.amd?define(["exports"],i):i((n="undefined"!=typeof globalThis?globalThis:n||self).DataWizard={})}(this,(function(n){"use strict";var i=function(n,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var e in i)Object.prototype.hasOwnProperty.call(i,e)&&(n[e]=i[e])},i(n,e)};function e(n,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function t(){this.constructor=n}i(n,e),n.prototype=null===e?Object.create(e):(t.prototype=e.prototype,new t)}var t=function(){return t=Object.assign||function(n){for(var i,e=1,t=arguments.length;e<t;e++)for(var r in i=arguments[e])Object.prototype.hasOwnProperty.call(i,r)&&(n[r]=i[r]);return n},t.apply(this,arguments)};function r(n,i){var e="function"==typeof Symbol&&n[Symbol.iterator];if(!e)return n;var t,r,a=e.call(n),o=[];try{for(;(void 0===i||i-- >0)&&!(t=a.next()).done;)o.push(t.value)}catch(n){r={error:n}}finally{try{t&&!t.done&&(e=a.return)&&e.call(a)}finally{if(r)throw r.error}}return o}function a(n,i,e){if(e||2===arguments.length)for(var t,r=0,a=i.length;r<a;r++)!t&&r in i||(t||(t=Array.prototype.slice.call(i,0,r)),t[r]=i[r]);return n.concat(t||Array.prototype.slice.call(i))}var o,s="([-_./\\s])",u="(18|19|20)\\d{2}",l="(0?[1-9]|1[012])",c="(0?[1-9]|[12]\\d|3[01])",d="(0?\\d|1\\d|2[0-4])",h="(0?\\d|[012345]\\d)",f=h,g="(Z|[+-]"+d+"(:"+h+")?)",v=(void 0===o&&(o=!0),[""+u,""+u+s+(o?"":"?")+"W([0-4]\\d|5[0-2])("+s+(o?"":"?")+"([1-7]))?",""+l+s+(o?"":"?")+c+s+(o?"":"?")+u,""+u+s+(o?"":"?")+l+s+(o?"":"?")+c,""+u+s+(o?"":"?")+l,""+u+s+(o?"":"?")+"((([0-2]\\d|3[0-5])\\d)|36[0-6])"]),p=function(n){return void 0===n&&(n=!0),[d+":"+(n?"":"?")+h+":"+(n?"":"?")+f+"([.,]\\d{1,4})?"+g+"?",d+":"+(n?"":"?")+h+"?"+g]}(),m=a(a([],r(v)),r(p));v.forEach((function(n){p.forEach((function(i){m.push(n+"[T\\s]"+i)}))}));var y=m.map((function(n){return new RegExp("^"+n+"$")}));function b(n){for(var i=0;i<y.length;i+=1){if(y[i].test(n.trim()))return!0}return!1}var w=function(n){return null==n||""===n||Number.isNaN(n)||"null"===n},x=function(n){return"string"==typeof n},k=function(n){return"number"==typeof n&&!Number.isNaN(n)},E=function(n){var i=!1,e=n;/^[+-]/.test(e)&&(e=e.slice(1));for(var t=0;t<e.length;t+=1){var r=e[t];if("."===r){if(!1!==i)return!1;i=!0}if("."!==r&&!/[0-9]/.test(r))return!1}return""!==e.trim()},M=function(n,i){return"number"==typeof n?Number.isInteger(n):!!(i&&x(n)&&E(n))&&!n.includes(".")},C=function(n,i){return"number"==typeof n?!Number.isNaN(n)&&!Number.isInteger(n):!!(i&&x(n)&&E(n))&&n.includes(".")},L=function(n,i){return!(!n||Object.getPrototypeOf(n)!==Date.prototype)||!(!i||!x(n))&&b(n)},N=function(n,i){return i?[[!0,!1],[0,1],["true","false"],["Yes","No"],["True","False"],["0","1"],["是","否"]].some((function(i){return n.every((function(n){return i.includes(n)}))})):"boolean"==typeof n},S=function(n){return n&&Object.getPrototypeOf(n)===Object.prototype},T=function(n){return Array.isArray(n)},D=function(n){return!T(n)&&!S(n)},O=function(n){return Array.from(new Set(n))},A=function(n){return a([],r(Array(n).keys()))},j=function(n,i){if(!n)throw new Error(i)};function I(n){for(var i=[],e=0;e<n.length;e+=1)T(n[e])?i=i.concat(I(n[e])):i.push(n[e]);return i}var R=Object.freeze({__proto__:null,isNull:w,isString:x,isNumber:k,isDigit:E,isInteger:M,isFloat:C,isDate:L,isBoolean:N,isObject:S,isArray:T,isBasicType:D,unique:O,range:A,assert:j,isParentChild:function(n,i){if(!T(n)||0===n.length||!T(i)||0===i.length||n.length!==i.length)return!1;for(var e={},t=0;t<i.length;t+=1){var r=i[t],a=n[t];if(e[r]){if(e[r]!==a)return!1}else e[r]=a}return!0},flatten:I}),P=new WeakMap;function H(n,i,e){return P.get(n)||P.set(n,new Map),P.get(n).set(i,e),e}function z(n,i){var e=P.get(n);if(e)return e.get(i)}function F(n){var i=z(n,"min");return void 0!==i?i:H(n,"min",Math.min.apply(Math,a([],r(n))))}function W(n){var i=z(n,"minIndex");return void 0!==i?i:H(n,"minIndex",function(n){for(var i=n[0],e=0,t=0;t<n.length;t+=1)n[t]<i&&(e=t,i=n[t]);return e}(n))}function B(n){var i=z(n,"max");return void 0!==i?i:H(n,"max",Math.max.apply(Math,a([],r(n))))}function G(n){var i=z(n,"maxIndex");return void 0!==i?i:H(n,"maxIndex",function(n){for(var i=n[0],e=0,t=0;t<n.length;t+=1)n[t]>i&&(e=t,i=n[t]);return e}(n))}function U(n){var i=z(n,"sum");return void 0!==i?i:H(n,"sum",n.reduce((function(n,i){return i+n}),0))}function q(n){return U(n)/n.length}function _(n){return n.sort((function(n,i){return n>i?1:-1}))}function J(n,i){void 0===i&&(i=!1);var e=n.length,t=i?n:_(n);return e%2==1?t[(e-1)/2]:(t[e/2-1]+t[e/2])/2}function Y(n,i,e){return void 0===e&&(e=!1),j(i>0&&i<100,"percent cannot be between (0, 100)"),(e?n:_(n))[Math.ceil(n.length*i/100)-1]}function K(n){var i=q(n),e=z(n,"variance");return void 0!==e?e:H(n,"variance",n.reduce((function(n,e){return n+Math.pow(e-i,2)}),0)/n.length)}function V(n){return Math.sqrt(K(n))}function X(n,i){return j(n.length===i.length,"x and y must has same length"),q(n.map((function(n,e){return n*i[e]})))-q(n)*q(i)}function Q(n){for(var i=0,e=0;e<n.length;e+=1)n[e]&&(i+=1);return i}function Z(n){var i={};return n.forEach((function(n){i[n]?i[n]+=1:i[n]=1})),i}function $(n,i){return n.map((function(n){return n[i]})).reduce((function(n,i){return n+i}),0)}function nn(n,i){return n.filter((function(n){return i in n})).length}function en(n,i){return Math.max.apply(Math,a([],r(n.map((function(n){return n[i]})))))}function tn(n,i){return Math.min.apply(Math,a([],r(n.map((function(n){return n[i]})))))}function rn(n,i){return n.map((function(n){return n[i]})).reduce((function(n,i){return n+i}),0)/n.length}function an(n,i){return(T(n)?n:Object.values(n)).reduce((function(n,e){var t,r=function(n){return n[i]}(e);return n[r]||Object.assign(n,((t={})[r]=[],t)),n[r].push(e),n}),{})}var on={SUM:$,COUNT:nn,MAX:en,MIN:tn,MEAN:rn};var sn=Object.freeze({__proto__:null,min:F,minIndex:W,max:B,maxIndex:G,sum:U,mean:q,geometricMean:function(n){j(n.some((function(n){return n>0})),"each item in array must greater than 0");var i=z(n,"geometricMean");return void 0!==i?i:H(n,"geometricMean",Math.pow(n.reduce((function(n,i){return n*i}),1),1/n.length))},harmonicMean:function(n){var i=Math.pow(2,16),e=z(n,"harmonicMean");return void 0!==e?e:H(n,"harmonicMean",i*n.length/n.reduce((function(n,e){return i/e+n}),0))},median:J,quartile:function(n,i){void 0===i&&(i=!1),j(n.length>=3,"array.length cannot be less than 3");var e,t,r=n.length,a=i?n:_(n),o=J(a,!0);return r%2==1?(e=J(a.slice(0,(r-1)/2),!0),t=J(a.slice((r+1)/2),!0)):(e=J(a.slice(0,r/2),!0),t=J(a.slice(r/2),!0)),[e,o,t]},quantile:Y,variance:K,standardDeviation:V,coefficientOfVariance:function(n){return V(n)/q(n)},covariance:X,pearson:function(n,i){return X(n,i)/(V(n)*V(i))},valid:Q,missing:function(n){return n.length-Q(n)},valueMap:Z,distinct:function(n){return Object.keys(Z(n)).length},sumBy:$,countBy:nn,maxBy:en,minBy:tn,meanBy:rn,groupBy:an,AggregatorMap:on,aggregate:function(n,i,e,a,o){void 0===a&&(a="SUM");var s=an(n,i),u=on[a];return o?I(Object.entries(s).map((function(n){var a=r(n,2),s=a[0],u=an(a[1],o),l=Object.entries(u).map((function(n){var i,t=r(n,2),a=t[0],s=t[1];return(i={})[o]=a,i[e]=$(s,e),i}));return l.map((function(n){var e;return t(t({},n),((e={})[i]=s,e))}))}))):Object.entries(s).map((function(n){var t,a=r(n,2),o=a[0],s=a[1];return(t={})[i]=o,t[e]=u(s,e),t}))}});function un(n){var i=n.map((function(n){return n.length}));return{maxLength:B(i),minLength:F(i),meanLength:q(i),containsChar:n.some((function(n){return/[A-z]/.test(n)})),containsDigit:n.some((function(n){return/[0-9]/.test(n)})),containsSpace:n.some((function(n){return/\s/.test(n)}))}}function ln(n){return{minimum:F(n),maximum:B(n),mean:q(n),percentile5:Y(n,5),percentile25:Y(n,25),percentile50:Y(n,50),percentile75:Y(n,75),percentile95:Y(n,95),sum:U(n),variance:K(n),standardDeviation:V(n),zeros:n.filter((function(n){return 0===n})).length}}function cn(n,i){void 0===i&&(i=!1);var e=n.map((function(n){if(i){var e=""+n;if(8===e.length)return new Date(e.substr(0,4)+"/"+e.substr(4,2)+"/"+e.substr(6,2)).getTime()}return new Date(n).getTime()}));return{minimum:n[W(e)],maximum:n[G(e)]}}function dn(n){return w(n)?"null":k(n)?M(n)?"integer":"float":x(n)&&E(n)?n.includes(".")?"float":"integer":L(n,!0)?"date":"string"}function hn(n){return 1===n.distinct}function fn(n){var i=n.rawData;if("string"!==n.recommendation)return!1;if(hn(n))return!1;var e=i.filter((function(n){return!w(n)&&D(n)}));if(0===e.length)return!1;for(var t=null,r=null,a=-1,o=-1,s=!0;s;){for(var u=!0,l=0;l<e.length;l+=1){var c=(h=e[l])[a+1];if(null!==t&&0!==l||(t=c),c!==t){u=!1;break}}if(!u)break;a+=1}for(s=!0;s;){var d=!0;for(l=0;l<e.length;l+=1){var h;c=(h=e[l])[h.length-1-(o+1)];if(null!==r&&0!==l||(r=c),c!==r){d=!1;break}}if(!d)break;o+=1}var f=[/\d+/,/(零|一|二|三|四|五|六|七|八|九|十)+/,/(一|二|三|四|五|六|日)/,/^[a-z]$/,/^[A-Z]$/];if(-1===a&&-1===o)return!1;var g=e.map((function(n){return n.slice(-1===a?0:a+1,-1===o?void 0:n.length-o-1)})),v=function(n){var i=f[n],e=g.some((function(n){return!i.test(n)}));if(!e)return{value:!0}};for(l=0;l<f.length;l+=1){var p=v(l);if("object"==typeof p)return p.value}return!1}function gn(n){return n.distinct===n.count}function vn(n){return"integer"===n.recommendation}function pn(n){return"float"===n.recommendation}function mn(n){return"integer"===n.recommendation||"float"===n.recommendation}function yn(n){return"boolean"===n.recommendation||"string"===n.recommendation&&!fn(n)}function bn(n){return"date"===n.recommendation}function wn(n){var i,e=n.map((function(n){return w(n)?null:n})),t=Z(e),r=t.null?e.filter((function(n){return null!==n})):e,a=e.map((function(n){return dn(n)})),o=Object.keys(Z(a)).filter((function(n){return"null"!==n}));switch(o.length){case 0:i="null";break;case 1:if("integer"===(i=o[0]))e.filter((function(n){return null!==n})).map((function(n){return""+n})).every((function(n){return b(n)}))&&(i="date");break;case 2:i=o.includes("integer")&&o.includes("float")?"float":"string";break;default:i="string"}var s=O(r),u={count:n.length,distinct:s.length,type:o.length<=1?o[0]||"null":"mixed",recommendation:i,missing:t.null||0,rawData:n,valueMap:t};if(o.length>1){var l={},c=r;o.forEach((function(n){"date"===n?(l.date=wn(c.filter((function(n){return L(n,!0)}))),c=c.filter((function(n){return!L(n,!0)}))):"integer"===n?(l.integer=wn(c.filter((function(n){return M(n,!0)}))),c=c.filter((function(n){return!M(n,!0)}))):"float"===n?(l.float=wn(c.filter((function(n){return C(n,!0)}))),c=c.filter((function(n){return!C(n,!0)}))):"string"===n&&(l.string=wn(c.filter((function(n){return"string"===dn(n)}))),c=c.filter((function(n){return"string"!==dn(n)})))})),u.meta=l}2===u.distinct&&"date"!==u.recommendation&&(e.length>=100||N(s,!0))&&(u.recommendation="boolean"),"string"===i&&Object.assign(u,un(r.map((function(n){return""+n})))),"integer"!==i&&"float"!==i||Object.assign(u,ln(r.map((function(n){return 1*n})))),"date"===i&&Object.assign(u,cn(r,"integer"===u.type));var d=[];return yn(u)&&d.push("Nominal"),fn(u)&&d.push("Ordinal"),mn(u)&&d.push("Interval"),vn(u)&&d.push("Discrete"),pn(u)&&d.push("Continuous"),bn(u)&&d.push("Time"),u.levelOfMeasurements=d,u}var xn=Object.freeze({__proto__:null,isStringFieldInfo:function(n){return"string"===n.recommendation},isNumberFieldInfo:function(n){return"integer"===n.recommendation||"float"===n.recommendation},isDateFieldInfo:function(n){return"date"===n.recommendation},analyzeString:un,analyzeNumber:ln,analyzeDate:cn,analyzeType:dn,isConst:hn,isOrdinal:fn,isUnique:gn,isDiscrete:vn,isContinuous:pn,isInterval:mn,isNominal:yn,isTime:bn,analyzeField:wn}),kn=function(n){null==n&&(n=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,n.constructor==Array?this.init_by_array(n,n.length):this.init_seed(n)};kn.prototype.init_seed=function(n){for(this.mt[0]=n>>>0,this.mti=1;this.mti<this.N;this.mti++){n=this.mt[this.mti-1]^this.mt[this.mti-1]>>>30;this.mt[this.mti]=(1812433253*((4294901760&n)>>>16)<<16)+1812433253*(65535&n)+this.mti,this.mt[this.mti]>>>=0}},kn.prototype.init_by_array=function(n,i){var e,t,r;for(this.init_seed(19650218),e=1,t=0,r=this.N>i?this.N:i;r;r--){var a=this.mt[e-1]^this.mt[e-1]>>>30;this.mt[e]=(this.mt[e]^(1664525*((4294901760&a)>>>16)<<16)+1664525*(65535&a))+n[t]+t,this.mt[e]>>>=0,t++,++e>=this.N&&(this.mt[0]=this.mt[this.N-1],e=1),t>=i&&(t=0)}for(r=this.N-1;r;r--){a=this.mt[e-1]^this.mt[e-1]>>>30;this.mt[e]=(this.mt[e]^(1566083941*((4294901760&a)>>>16)<<16)+1566083941*(65535&a))-e,this.mt[e]>>>=0,++e>=this.N&&(this.mt[0]=this.mt[this.N-1],e=1)}this.mt[0]=2147483648},kn.prototype.random_int=function(){var n,i=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var e;for(this.mti==this.N+1&&this.init_seed(5489),e=0;e<this.N-this.M;e++)n=this.mt[e]&this.UPPER_MASK|this.mt[e+1]&this.LOWER_MASK,this.mt[e]=this.mt[e+this.M]^n>>>1^i[1&n];for(;e<this.N-1;e++)n=this.mt[e]&this.UPPER_MASK|this.mt[e+1]&this.LOWER_MASK,this.mt[e]=this.mt[e+(this.M-this.N)]^n>>>1^i[1&n];n=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^n>>>1^i[1&n],this.mti=0}return n=this.mt[this.mti++],n^=n>>>11,n^=n<<7&2636928640,n^=n<<15&4022730752,(n^=n>>>18)>>>0},kn.prototype.random_int31=function(){return this.random_int()>>>1},kn.prototype.random_incl=function(){return this.random_int()*(1/4294967295)},kn.prototype.random=function(){return this.random_int()*(1/4294967296)},kn.prototype.random_excl=function(){return(this.random_int()+.5)*(1/4294967296)},kn.prototype.random_long=function(){return(67108864*(this.random_int()>>>5)+(this.random_int()>>>6))*(1/9007199254740992)};var En=kn,Mn={exports:{}},Cn={},Ln={ROOT:0,GROUP:1,POSITION:2,SET:3,RANGE:4,REPETITION:5,REFERENCE:6,CHAR:7},Nn={};const Sn=Ln,Tn=()=>[{type:Sn.RANGE,from:48,to:57}],Dn=()=>[{type:Sn.CHAR,value:95},{type:Sn.RANGE,from:97,to:122},{type:Sn.RANGE,from:65,to:90}].concat(Tn()),On=()=>[{type:Sn.CHAR,value:9},{type:Sn.CHAR,value:10},{type:Sn.CHAR,value:11},{type:Sn.CHAR,value:12},{type:Sn.CHAR,value:13},{type:Sn.CHAR,value:32},{type:Sn.CHAR,value:160},{type:Sn.CHAR,value:5760},{type:Sn.RANGE,from:8192,to:8202},{type:Sn.CHAR,value:8232},{type:Sn.CHAR,value:8233},{type:Sn.CHAR,value:8239},{type:Sn.CHAR,value:8287},{type:Sn.CHAR,value:12288},{type:Sn.CHAR,value:65279}];Nn.words=()=>({type:Sn.SET,set:Dn(),not:!1}),Nn.notWords=()=>({type:Sn.SET,set:Dn(),not:!0}),Nn.ints=()=>({type:Sn.SET,set:Tn(),not:!1}),Nn.notInts=()=>({type:Sn.SET,set:Tn(),not:!0}),Nn.whitespace=()=>({type:Sn.SET,set:On(),not:!1}),Nn.notWhitespace=()=>({type:Sn.SET,set:On(),not:!0}),Nn.anyChar=()=>({type:Sn.SET,set:[{type:Sn.CHAR,value:10},{type:Sn.CHAR,value:13},{type:Sn.CHAR,value:8232},{type:Sn.CHAR,value:8233}],not:!0}),function(n){const i=Ln,e=Nn,t={0:0,t:9,n:10,v:11,f:12,r:13};n.strToChars=function(n){return n=n.replace(/(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|(0?[0-7]{2})|c([@A-Z[\\\]^?])|([0tnvfr]))/g,(function(n,i,e,r,a,o,s,u){if(e)return n;var l=i?8:r?parseInt(r,16):a?parseInt(a,16):o?parseInt(o,8):s?"@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?".indexOf(s):t[u],c=String.fromCharCode(l);return/[[\]{}^$.|?*+()]/.test(c)&&(c="\\"+c),c}))},n.tokenizeClass=(t,r)=>{for(var a,o,s=[],u=/\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(?:\\)?([^\]]))|(\])|(?:\\)?([^])/g;null!=(a=u.exec(t));)if(a[1])s.push(e.words());else if(a[2])s.push(e.ints());else if(a[3])s.push(e.whitespace());else if(a[4])s.push(e.notWords());else if(a[5])s.push(e.notInts());else if(a[6])s.push(e.notWhitespace());else if(a[7])s.push({type:i.RANGE,from:(a[8]||a[9]).charCodeAt(0),to:a[10].charCodeAt(0)});else{if(!(o=a[12]))return[s,u.lastIndex];s.push({type:i.CHAR,value:o.charCodeAt(0)})}n.error(r,"Unterminated character class")},n.error=(n,i)=>{throw new SyntaxError("Invalid regular expression: /"+n+"/: "+i)}}(Cn);var An={};const jn=Ln;An.wordBoundary=()=>({type:jn.POSITION,value:"b"}),An.nonWordBoundary=()=>({type:jn.POSITION,value:"B"}),An.begin=()=>({type:jn.POSITION,value:"^"}),An.end=()=>({type:jn.POSITION,value:"$"});const In=Cn,Rn=Ln,Pn=Nn,Hn=An;Mn.exports=n=>{var i,e,t=0,r={type:Rn.ROOT,stack:[]},a=r,o=r.stack,s=[],u=i=>{In.error(n,"Nothing to repeat at column "+(i-1))},l=In.strToChars(n);for(i=l.length;t<i;)switch(e=l[t++]){case"\\":switch(e=l[t++]){case"b":o.push(Hn.wordBoundary());break;case"B":o.push(Hn.nonWordBoundary());break;case"w":o.push(Pn.words());break;case"W":o.push(Pn.notWords());break;case"d":o.push(Pn.ints());break;case"D":o.push(Pn.notInts());break;case"s":o.push(Pn.whitespace());break;case"S":o.push(Pn.notWhitespace());break;default:/\d/.test(e)?o.push({type:Rn.REFERENCE,value:parseInt(e,10)}):o.push({type:Rn.CHAR,value:e.charCodeAt(0)})}break;case"^":o.push(Hn.begin());break;case"$":o.push(Hn.end());break;case"[":var c;"^"===l[t]?(c=!0,t++):c=!1;var d=In.tokenizeClass(l.slice(t),n);t+=d[1],o.push({type:Rn.SET,set:d[0],not:c});break;case".":o.push(Pn.anyChar());break;case"(":var h={type:Rn.GROUP,stack:[],remember:!0};"?"===(e=l[t])&&(e=l[t+1],t+=2,"="===e?h.followedBy=!0:"!"===e?h.notFollowedBy=!0:":"!==e&&In.error(n,`Invalid group, character '${e}' after '?' at column `+(t-1)),h.remember=!1),o.push(h),s.push(a),a=h,o=h.stack;break;case")":0===s.length&&In.error(n,"Unmatched ) at column "+(t-1)),o=(a=s.pop()).options?a.options[a.options.length-1]:a.stack;break;case"|":a.options||(a.options=[a.stack],delete a.stack);var f=[];a.options.push(f),o=f;break;case"{":var g,v,p=/^(\d+)(,(\d+)?)?\}/.exec(l.slice(t));null!==p?(0===o.length&&u(t),g=parseInt(p[1],10),v=p[2]?p[3]?parseInt(p[3],10):1/0:g,t+=p[0].length,o.push({type:Rn.REPETITION,min:g,max:v,value:o.pop()})):o.push({type:Rn.CHAR,value:123});break;case"?":0===o.length&&u(t),o.push({type:Rn.REPETITION,min:0,max:1,value:o.pop()});break;case"+":0===o.length&&u(t),o.push({type:Rn.REPETITION,min:1,max:1/0,value:o.pop()});break;case"*":0===o.length&&u(t),o.push({type:Rn.REPETITION,min:0,max:1/0,value:o.pop()});break;default:o.push({type:Rn.CHAR,value:e.charCodeAt(0)})}return 0!==s.length&&In.error(n,"Unterminated group"),r},Mn.exports.types=Rn;class zn{constructor(n,i){this.low=n,this.high=i,this.length=1+i-n}overlaps(n){return!(this.high<n.low||this.low>n.high)}touches(n){return!(this.high+1<n.low||this.low-1>n.high)}add(n){return new zn(Math.min(this.low,n.low),Math.max(this.high,n.high))}subtract(n){return n.low<=this.low&&n.high>=this.high?[]:n.low>this.low&&n.high<this.high?[new zn(this.low,n.low-1),new zn(n.high+1,this.high)]:n.low<=this.low?[new zn(n.high+1,this.high)]:[new zn(this.low,n.low-1)]}toString(){return this.low==this.high?this.low.toString():this.low+"-"+this.high}}class Fn{constructor(n,i){this.ranges=[],this.length=0,null!=n&&this.add(n,i)}_update_length(){this.length=this.ranges.reduce(((n,i)=>n+i.length),0)}add(n,i){var e=n=>{for(var i=0;i<this.ranges.length&&!n.touches(this.ranges[i]);)i++;for(var e=this.ranges.slice(0,i);i<this.ranges.length&&n.touches(this.ranges[i]);)n=n.add(this.ranges[i]),i++;e.push(n),this.ranges=e.concat(this.ranges.slice(i)),this._update_length()};return n instanceof Fn?n.ranges.forEach(e):(null==i&&(i=n),e(new zn(n,i))),this}subtract(n,i){var e=n=>{for(var i=0;i<this.ranges.length&&!n.overlaps(this.ranges[i]);)i++;for(var e=this.ranges.slice(0,i);i<this.ranges.length&&n.overlaps(this.ranges[i]);)e=e.concat(this.ranges[i].subtract(n)),i++;this.ranges=e.concat(this.ranges.slice(i)),this._update_length()};return n instanceof Fn?n.ranges.forEach(e):(null==i&&(i=n),e(new zn(n,i))),this}intersect(n,i){var e=[],t=n=>{for(var i=0;i<this.ranges.length&&!n.overlaps(this.ranges[i]);)i++;for(;i<this.ranges.length&&n.overlaps(this.ranges[i]);){var t=Math.max(this.ranges[i].low,n.low),r=Math.min(this.ranges[i].high,n.high);e.push(new zn(t,r)),i++}};return n instanceof Fn?n.ranges.forEach(t):(null==i&&(i=n),t(new zn(n,i))),this.ranges=e,this._update_length(),this}index(n){for(var i=0;i<this.ranges.length&&this.ranges[i].length<=n;)n-=this.ranges[i].length,i++;return this.ranges[i].low+n}toString(){return"[ "+this.ranges.join(", ")+" ]"}clone(){return new Fn(this)}numbers(){return this.ranges.reduce(((n,i)=>{for(var e=i.low;e<=i.high;)n.push(e),e++;return n}),[])}subranges(){return this.ranges.map((n=>({low:n.low,high:n.high,length:1+n.high-n.low})))}}var Wn=Fn;const Bn=Mn.exports,Gn=Wn,Un=Bn.types;var qn=class n{constructor(n,i){if(this._setDefaults(n),n instanceof RegExp)this.ignoreCase=n.ignoreCase,this.multiline=n.multiline,n=n.source;else{if("string"!=typeof n)throw new Error("Expected a regexp or string");this.ignoreCase=i&&-1!==i.indexOf("i"),this.multiline=i&&-1!==i.indexOf("m")}this.tokens=Bn(n)}_setDefaults(i){this.max=null!=i.max?i.max:null!=n.prototype.max?n.prototype.max:100,this.defaultRange=i.defaultRange?i.defaultRange:this.defaultRange.clone(),i.randInt&&(this.randInt=i.randInt)}gen(){return this._gen(this.tokens,[])}_gen(n,i){var e,t,r,a,o;switch(n.type){case Un.ROOT:case Un.GROUP:if(n.followedBy||n.notFollowedBy)return"";for(n.remember&&void 0===n.groupNumber&&(n.groupNumber=i.push(null)-1),t="",a=0,o=(e=n.options?this._randSelect(n.options):n.stack).length;a<o;a++)t+=this._gen(e[a],i);return n.remember&&(i[n.groupNumber]=t),t;case Un.POSITION:return"";case Un.SET:var s=this._expand(n);return s.length?String.fromCharCode(this._randSelect(s)):"";case Un.REPETITION:for(r=this.randInt(n.min,n.max===1/0?n.min+this.max:n.max),t="",a=0;a<r;a++)t+=this._gen(n.value,i);return t;case Un.REFERENCE:return i[n.value-1]||"";case Un.CHAR:var u=this.ignoreCase&&this._randBool()?this._toOtherCase(n.value):n.value;return String.fromCharCode(u)}}_toOtherCase(n){return n+(97<=n&&n<=122?-32:65<=n&&n<=90?32:0)}_randBool(){return!this.randInt(0,1)}_randSelect(n){return n instanceof Gn?n.index(this.randInt(0,n.length-1)):n[this.randInt(0,n.length-1)]}_expand(n){if(n.type===Bn.types.CHAR)return new Gn(n.value);if(n.type===Bn.types.RANGE)return new Gn(n.from,n.to);{let i=new Gn;for(let e=0;e<n.set.length;e++){let t=this._expand(n.set[e]);if(i.add(t),this.ignoreCase)for(let n=0;n<t.length;n++){let e=t.index(n),r=this._toOtherCase(e);e!==r&&i.add(r)}}return n.not?this.defaultRange.clone().subtract(i):this.defaultRange.clone().intersect(i)}}randInt(n,i){return n+Math.floor(Math.random()*(1+i-n))}get defaultRange(){return this._range=this._range||new Gn(32,126)}set defaultRange(n){this._range=n}static randexp(i,e){var t;return"string"==typeof i&&(i=new RegExp(i,e)),void 0===i._randexp?(t=new n(i,e),i._randexp=t):(t=i._randexp)._setDefaults(i),t.gen()}static sugar(){RegExp.prototype.gen=function(){return n.randexp(this)}}};function _n(n,i){var e=t({},n);return Object.entries(i||{}).forEach((function(n){var i=r(n,2),t=i[0],a=i[1];void 0!==a&&(e[t]=a)})),e}function Jn(n){return n.charAt(0).toUpperCase()+n.substr(1)}var Yn=Math.pow(2,53)-1,Kn=-Yn;var Vn=function(){function n(n){"function"==typeof n?this.random=n:(this.seed=n||(new Date).getTime()+ +(""+Math.random()).slice(2),this.mt=new En(this.seed),this.random=this.mt.random.bind(this.mt))}return n.mixin=function(n){for(var i=0;i<Object.keys(n||{}).length;i+=1){var e=Object.keys(n)[i],t=n[e];this.prototype[e]=t}},n.prototype.boolean=function(n){var i=_n({likelihood:50},n).likelihood;return j(i>=0&&i<=100,"Likelihood accepts values from 0 to 100."),this.random()>i/100},n.prototype.integer=function(n){var i=_n({min:Kn,max:Yn},n),e=i.max,t=i.min;return j(t<=e,"Min cannot be greater than Max."),Math.floor(this.random()*(e-t+1)+t)},n.prototype.float=function(n){void 0===n&&(n={});var i=_n({fixed:4},n),e=Math.pow(10,i.fixed),t=Yn/e,r=-t;j(!i.min||!i.fixed||i.min>=r,"Min specified is out of range with fixed. Min should be, at least, "+r),j(!i.max||!i.fixed||i.max<=t,"Max specified is out of range with fixed. Max should be, at most, "+t);var a=_n({min:r,max:t},i),o=(this.integer({min:a.min*e,max:a.max*e})/e).toFixed(i.fixed);return Number.parseFloat(o)},n.prototype.natural=function(n){void 0===n&&(n={});var i=_n({min:0,max:Yn},n);return j(i.min>=0,"Min cannot be less than zero."),this.integer(i)},n.prototype.pickone=function(n){return j(0!==n.length,"Cannot pickone() from an empty array"),n[this.natural({max:n.length-1})]},n.prototype.pickset=function(n,i){if(void 0===i&&(i=1),0===i)return[];if(j(0!==n.length,"Cannot pickset() from an empty array"),j(i>=0,"Count must be a positive number"),1===i)return[this.pickone(n)];var e=n.slice(0),t=e.length;return this.n((function(){t-=1;var n=this.natural({max:t}),i=e[n];return e[n]=e[t],i}),Math.min(t,i))},n.prototype.shuffle=function(n){for(var i,e=[],t=0,r=n.length,a=A(r),o=r-1,s=0;s<r;s+=1)t=a[i=this.natural({max:o})],e[s]=n[t],a[i]=a[o],o-=1;return e},n.prototype.n=function(n,i){void 0===i&&(i=1);for(var e=[],t=2;t<arguments.length;t++)e[t-2]=arguments[t];j("function"==typeof n,"The first argument must be a function.");var r=i,a=[];for(r=Math.max(0,r);r>0;r-=1)a.push(n.apply(this,e));return a},n.prototype.randexp=function(n,i){return new qn(n,i).gen()},n}();function Xn(){var n="abcdefghijklmnopqrstuvwxyz",i=n.toUpperCase();return{character:{lower:n,upper:i,number:"0123456789",symbol:"!@#$%^&*()[],."},syllable:{vowels:"aeiou",consonants:"bcdfghjklmnprstvwz"},sentence:{punctuations:".?;!:"},cCharacter:{chars:"的一是在不了有和人这中大为上个国我以要他时来用们生到作地于出就分对成会可主发年动同工也能下过子说产种面而方后多定行学法所民得经十三之进着等部度家电力里如水化高自二理起小物现实加量都两体制机当使点从业本去把性好应开它合还因由其些然前外天政四日那社义事平形相全表间样与关各重新线内数正心反你明看原又么利比或但质气第向道命此变条只没结解问意建月公无系军很情者最立代想已通并提直题党程展五果料象员革位入常文总次品式活设及管特件长求老头基资边流路级少图山统接知较将组见计别她手角期根论运农指几九区强放决西被干做必战先回则任取据处队南给色光门即保治北造百规热领七海口东导器压志世金增争济阶油思术极交受联什认六共权收证改清己美再采转更单风切打白教速花带安场身车例真务具万每目至达走积示议声报斗完类八离华名确才科张信马节话米整空元况今集温传土许步群广石记需段研界拉林律叫且究观越织装影算低持音众书布复容儿须际商非验连断深难近矿千周委素技备半办青省列习响约支般史感劳便团往酸历市克何除消构府称太准精值号率族维划选标写存候毛亲快效斯院查江型眼王按格养易置派层片始却专状育厂京识适属圆包火住调满县局照参红细引听该铁价严龙飞"},hexs:"0123456789abcdef",cSurname:["王","李","张","刘","陈","杨","黄","赵","吴","周","徐","孙","马","朱","胡","郭","何","林","高","罗","郑","梁","谢","宋","唐","许","邓","韩","冯","曹","彭","曾","肖","田","董","潘","袁","蔡","蒋","余","于","杜","叶","程","魏","苏","吕","丁","任","卢","姚","沈","钟","姜","崔","谭","陆","汪","范","廖","石","金","韦","贾","夏","付","方","邹","熊","白","孟","秦","邱","侯","江","尹","薛","闫","雷","龙","黎","史","陶","贺","毛","段","郝","顾","龚","邵","覃","武","钱","戴","严","莫","孔","常","汤","赖","萧","傅","阎","包","康","伍","施","万","洪","庞","樊","季","庄","殷","温","倪","翟","申","向","齐","乔","文","安","易","颜","牛","岳","顔","简","骆","毕","章","鲁","关","葛","柳","俞","聂","蓝","祝","柴","纪","焦","祁","耿","邢","尚","芦","成","涂","左","麦","辛","管","苗","靳","柯","梅","兰","路","符","童","单","詹","甘","游","曲","翁","牟","尤","占","查","谷","霍","滕","裴","欧","舒","凌","盛","欧阳","冼","鲍","屈","房","饶","喻","艾","卫","解","时","冉","宫","项","闵","阮","宁","应","蒲","阳","吉","司","席","晏","华","强","穆","冷","姬","古","揭","连","岑","邬","景","柏","谈","郎","蒙","沙","费","车","卜","桂","窦","缪","郁","栾","隋","巩","褚","全","卓","戚","苟","党","米","娄","候","丛","边","瞿","农","迟","茅","封","池","商","巫","卞","虞","刁","佟","臧","伊","甄","鞠","仲","惠","班","匡","栗","练","植","仇","代","丘","师","楚","燕","原","干","巴","南","昌","桑","楼","寇","敖","宣","佘","禹","阿","盖","屠","国","官","邝","云","荆","储","朴","满","井","奚","麻","明","乐","苑","钮","诸","危","狄","权","宗","劳","祖","那","计","慕","阙","普","郜","丰","索","胥","仰","茹","杭","闻","西","芮","蔺","冀","阚","廉","伏","鄢","和","习","门","公","容","羊","浦","厉","花","支","富","薄","郗","乌","水","元","嵇","相","平","戈","衣","都","雍","晁","融","家","湛","松","山","贝","戎","初","凤","皮","邰","於","荀","漆","谌","訾","利","宾","东","裘","束","赫","贡","亓","濮","宦","逄","寿","昝","晋","弓","贲","况","帅","空","步","宿","隆","扈","区","荣","竺","能","仝","滑","战","锺","修","岩","弘","充","阴","幸","通","广","勾","逯","邴","养","子","蓬","玉","酆","糜","夔","鄂","暴","来","双","汲","别","终","卿","粟","经","韶","敬","从","羿","怀","郏","红","居","蔚","达","蓟","郦","宓","尉","隗","后","咸","璩","木","鹿","邸","才","牧","蒯","宰","巢","毋","沃","智","殳","益","堵","慎","厍","乜","莘","苍","凡","豆","越","由","扶","暨","鲜","法","腾","上官","伯","辜","位","须","衡","禄","桓","呼","哈","拉","银","母","扎","汝","青","信","亢","藩","长","冶","展","布","斯","盘","湖","刀","宇","庾","但","次","佴","矫","正","多","格","宝","加","待","海","檀","藏","保","庚","旦","赏","巨","尧","延","自","德","尼","渠","过","历","雒","铁","轩","年","泮","籍","仁","操","令狐","字","户","刑","旷","黑","良","靖","郈","上","虎","台","奉","鱼","泽","其","琚","綦","蹇","宛","税","畅","侍","招","谯","扬","赛","百","生","种","娜","玄","买","伦","萨","茆","小","续","里","纳","么","洛","未","庹","依","旺","菅","太","郄","司马","英","拓","大","永","要","茶","冒","郇","忻","果","化","粱","先","嘎"],cGivenName:{male:"伟刚勇毅俊峰强军平保东文辉力明永健世广志义兴良海山仁波宁贵福生龙元全国胜学祥才发武新利清飞彬富顺信子杰涛昌成康星光天达安岩中茂进林有坚和彪博诚先敬震振壮会思群豪心邦承乐绍功松善厚庆磊民友裕河哲江超浩亮政谦亨奇固之轮翰朗伯宏言若鸣朋斌梁栋维启克伦翔旭鹏泽晨辰士以建家致树炎德行时泰盛",female:"秀娟英华慧巧美娜静淑惠珠翠雅芝玉萍红娥玲芬芳燕彩春菊兰凤洁梅琳素云莲真环雪荣爱妹霞香月莺媛艳瑞凡佳嘉琼勤珍贞莉桂娣叶璧璐娅琦晶妍茜秋珊莎锦黛青倩婷姣婉娴瑾颖露瑶怡婵雁蓓纨仪荷丹蓉眉君琴蕊薇菁梦岚苑筠柔竹霭凝晓欢霄枫芸菲寒欣滢伊亚宜可姬舒影荔枝思丽秀飘育馥琦晶妍茜秋珊莎锦黛青倩婷宁蓓纨苑婕馨瑗琰韵融园艺咏卿聪澜纯毓悦昭冰爽琬茗羽希"},givenName:{female:["Mary","Emma","Elizabeth","Minnie","Margaret","Ida","Alice","Bertha","Sarah","Annie","Clara","Ella","Florence","Cora","Martha","Laura","Nellie","Grace","Carrie","Maude","Mabel","Bessie","Jennie","Gertrude","Julia","Hattie","Edith","Mattie","Rose","Catherine","Lillian","Ada","Lillie","Helen","Jessie","Louise","Ethel","Lula","Myrtle","Eva","Frances","Lena","Lucy","Edna","Maggie","Pearl","Daisy","Fannie","Josephine","Dora","Rosa","Katherine","Agnes","Marie","Nora","May","Mamie","Blanche","Stella","Ellen","Nancy","Effie","Sallie","Nettie","Della","Lizzie","Flora","Susie","Maud","Mae","Etta","Harriet","Sadie","Caroline","Katie","Lydia","Elsie","Kate","Susan","Mollie","Alma","Addie","Georgia","Eliza","Lulu","Nannie","Lottie","Amanda","Belle","Charlotte","Rebecca","Ruth","Viola","Olive","Amelia","Hannah","Jane","Virginia","Emily","Matilda","Irene","Kathryn","Esther","Willie","Henrietta","Ollie","Amy","Rachel","Sara","Estella","Theresa","Augusta","Ora","Pauline","Josie","Lola","Sophia","Leona","Anne","Mildred","Ann","Beulah","Callie","Lou","Delia","Eleanor","Barbara","Iva","Louisa","Maria","Mayme","Evelyn","Estelle","Nina","Betty","Marion","Bettie","Dorothy","Luella","Inez","Lela","Rosie","Allie","Millie","Janie","Cornelia","Victoria","Ruby","Winifred","Alta","Celia","Christine","Beatrice","Birdie","Harriett","Mable","Myra","Sophie","Tillie","Isabel","Sylvia","Carolyn","Isabelle","Leila","Sally","Ina","Essie","Bertie","Nell","Alberta","Katharine","Lora","Rena","Mina","Rhoda","Mathilda","Abbie","Eula","Dollie","Hettie","Eunice","Fanny","Ola","Lenora","Adelaide","Christina","Lelia","Nelle","Sue","Johanna","Lilly","Lucinda","Minerva","Lettie","Roxie","Cynthia","Helena","Hilda","Hulda","Bernice","Genevieve","Jean","Cordelia","Marian","Francis","Jeanette","Adeline","Gussie","Leah","Lois","Lura","Mittie","Hallie","Isabella","Olga","Phoebe","Teresa","Hester","Lida","Lina","Winnie","Claudia","Marguerite","Vera","Cecelia","Bess","Emilie","Rosetta","Verna","Myrtie","Cecilia","Elva","Olivia","Ophelia","Georgie","Elnora","Violet","Adele","Lily","Linnie","Loretta","Madge","Polly","Virgie","Eugenia","Lucile","Lucille","Mabelle","Rosalie"],male:["James","John","Robert","Michael","William","David","Richard","Joseph","Charles","Thomas","Christopher","Daniel","Matthew","George","Donald","Anthony","Paul","Mark","Edward","Steven","Kenneth","Andrew","Brian","Joshua","Kevin","Ronald","Timothy","Jason","Jeffrey","Frank","Gary","Ryan","Nicholas","Eric","Stephen","Jacob","Larry","Jonathan","Scott","Raymond","Justin","Brandon","Gregory","Samuel","Benjamin","Patrick","Jack","Henry","Walter","Dennis","Jerry","Alexander","Peter","Tyler","Douglas","Harold","Aaron","Jose","Adam","Arthur","Zachary","Carl","Nathan","Albert","Kyle","Lawrence","Joe","Willie","Gerald","Roger","Keith","Jeremy","Terry","Harry","Ralph","Sean","Jesse","Roy","Louis","Billy","Austin","Bruce","Eugene","Christian","Bryan","Wayne","Russell","Howard","Fred","Ethan","Jordan","Philip","Alan","Juan","Randy","Vincent","Bobby","Dylan","Johnny","Phillip","Victor","Clarence","Ernest","Martin","Craig","Stanley","Shawn","Travis","Bradley","Leonard","Earl","Gabriel","Jimmy","Francis","Todd","Noah","Danny","Dale","Cody","Carlos","Allen","Frederick","Logan","Curtis","Alex","Joel","Luis","Norman","Marvin","Glenn","Tony","Nathaniel","Rodney","Melvin","Alfred","Steve","Cameron","Chad","Edwin","Caleb","Evan","Antonio","Lee","Herbert","Jeffery","Isaac","Derek","Ricky","Marcus","Theodore","Elijah","Luke","Jesus","Eddie","Troy","Mike","Dustin","Ray","Adrian","Bernard","Leroy","Angel","Randall","Wesley","Ian","Jared","Mason","Hunter","Calvin","Oscar","Clifford","Jay","Shane","Ronnie","Barry","Lucas","Corey","Manuel","Leo","Tommy","Warren","Jackson","Isaiah","Connor","Don","Dean","Jon","Julian","Miguel","Bill","Lloyd","Charlie","Mitchell","Leon","Jerome","Darrell","Jeremiah","Alvin","Brett","Seth","Floyd","Jim","Blake","Micheal","Gordon","Trevor","Lewis","Erik","Edgar","Vernon","Devin","Gavin","Jayden","Chris","Clyde","Tom","Derrick","Mario","Brent","Marc","Herman","Chase","Dominic","Ricardo","Franklin","Maurice","Max","Aiden","Owen","Lester","Gilbert","Elmer","Gene","Francisco","Glen","Cory","Garrett","Clayton","Sam","Jorge","Chester","Alejandro","Jeff","Harvey","Milton","Cole","Ivan","Andre","Duane","Landon"]},surname:["Smith","Johnson","Williams","Jones","Brown","Davis","Miller","Wilson","Moore","Taylor","Anderson","Thomas","Jackson","White","Harris","Martin","Thompson","Garcia","Martinez","Robinson","Clark","Rodriguez","Lewis","Lee","Walker","Hall","Allen","Young","Hernandez","King","Wright","Lopez","Hill","Scott","Green","Adams","Baker","Gonzalez","Nelson","Carter","Mitchell","Perez","Roberts","Turner","Phillips","Campbell","Parker","Evans","Edwards","Collins","Stewart","Sanchez","Morris","Rogers","Reed","Cook","Morgan","Bell","Murphy","Bailey","Rivera","Cooper","Richardson","Cox","Howard","Ward","Torres","Peterson","Gray","Ramirez","James","Watson","Brooks","Kelly","Sanders","Price","Bennett","Wood","Barnes","Ross","Henderson","Coleman","Jenkins","Perry","Powell","Long","Patterson","Hughes","Flores","Washington","Butler","Simmons","Foster","Gonzales","Bryant","Alexander","Russell","Griffin","Diaz","Hayes","Myers","Ford","Hamilton","Graham","Sullivan","Wallace","Woods","Cole","West","Jordan","Owens","Reynolds","Fisher","Ellis","Harrison","Gibson","McDonald","Cruz","Marshall","Ortiz","Gomez","Murray","Freeman","Wells","Webb","Simpson","Stevens","Tucker","Porter","Hunter","Hicks","Crawford","Henry","Boyd","Mason","Morales","Kennedy","Warren","Dixon","Ramos","Reyes","Burns","Gordon","Shaw","Holmes","Rice","Robertson","Hunt","Black","Daniels","Palmer","Mills","Nichols","Grant","Knight","Ferguson","Rose","Stone","Hawkins","Dunn","Perkins","Hudson","Spencer","Gardner","Stephens","Payne","Pierce","Berry","Matthews","Arnold","Wagner","Willis","Ray","Watkins","Olson","Carroll","Duncan","Snyder","Hart","Cunningham","Bradley","Lane","Andrews","Ruiz","Harper","Fox","Riley","Armstrong","Carpenter","Weaver","Greene","Lawrence","Elliott","Chavez","Sims","Austin","Peters","Kelley","Franklin","Lawson","Fields","Gutierrez","Ryan","Schmidt","Carr","Vasquez","Castillo","Wheeler","Chapman","Oliver","Montgomery","Richards","Williamson","Johnston","Banks","Meyer","Bishop","McCoy","Howell","Alvarez","Morrison","Hansen","Fernandez","Garza","Harvey","Little","Burton","Stanley","Nguyen","George","Jacobs","Reid","Kim","Fuller","Lynch","Dean","Gilbert","Garrett","Romero","Welch","Larson","Frazier","Burke","Hanson","Day","Mendoza","Moreno","Bowman","Medina","Fowler","Brewer","Hoffman","Carlson","Silva","Pearson","Holland","Douglas","Fleming","Jensen","Vargas","Byrd","Davidson","Hopkins","May","Terry","Herrera","Wade","Soto","Walters","Curtis","Neal","Caldwell","Lowe","Jennings","Barnett","Graves","Jimenez","Horton","Shelton","Barrett","Obrien","Castro","Sutton","Gregory","McKinney","Lucas","Miles","Craig","Rodriquez","Chambers","Holt","Lambert","Fletcher","Watts","Bates","Hale","Rhodes","Pena","Beck","Newman","Haynes","McDaniel","Mendez","Bush","Vaughn","Parks","Dawson","Santiago","Norris","Hardy","Love","Steele","Curry","Powers","Schultz","Barker","Guzman","Page","Munoz","Ball","Keller","Chandler","Weber","Leonard","Walsh","Lyons","Ramsey","Wolfe","Schneider","Mullins","Benson","Sharp","Bowen","Daniel","Barber","Cummings","Hines","Baldwin","Griffith","Valdez","Hubbard","Salazar","Reeves","Warner","Stevenson","Burgess","Santos","Tate","Cross","Garner","Mann","Mack","Moss","Thornton","Dennis","McGee","Farmer","Delgado","Aguilar","Vega","Glover","Manning","Cohen","Harmon","Rodgers","Robbins","Newton","Todd","Blair","Higgins","Ingram","Reese","Cannon","Strickland","Townsend","Potter","Goodwin","Walton","Rowe","Hampton","Ortega","Patton","Swanson","Joseph","Francis","Goodman","Maldonado","Yates","Becker","Erickson","Hodges","Rios","Conner","Adkins","Webster","Norman","Malone","Hammond","Flowers","Cobb","Moody","Quinn","Blake","Maxwell","Pope","Floyd","Osborne","Paul","McCarthy","Guerrero","Lindsey","Estrada","Sandoval","Gibbs","Tyler","Gross","Fitzgerald","Stokes","Doyle","Sherman","Saunders","Wise","Colon","Gill","Alvarado","Greer","Padilla","Simon","Waters","Nunez","Ballard","Schwartz","McBride","Houston","Christensen","Klein","Pratt","Briggs","Parsons","McLaughlin","Zimmerman","French","Buchanan","Moran","Copeland","Roy","Pittman","Brady","McCormick","Holloway","Brock","Poole","Frank","Logan","Owen","Bass","Marsh","Drake","Wong","Jefferson","Park","Morton","Abbott","Sparks","Patrick","Norton","Huff","Clayton","Massey","Lloyd","Figueroa","Carson","Bowers","Roberson","Barton","Tran","Lamb","Harrington","Casey","Boone","Cortez","Clarke","Mathis","Singleton","Wilkins","Cain","Bryan","Underwood","Hogan","McKenzie","Collier","Luna","Phelps","McGuire","Allison","Bridges","Wilkerson","Nash","Summers","Atkins"],cZodiac:{"en-US":["Rat","OX","Tiger","Rabbit","Dragon","Snake","Horse","Sheep","Monkey","Rooster","Dog","Pig"],"zh-CN":["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"]}}}var Qn=function(n){function i(){var i=null!==n&&n.apply(this,arguments)||this;return i.database=Xn(),i}return e(i,n),i.prototype.character=function(n){var i=_n({lower:!0,upper:!0,symbols:!0,numeric:!0},n),e="";return i.pool?e=i.pool:(i.lower&&(e+=this.database.character.lower),i.upper&&(e+=this.database.character.upper),i.symbols&&(e+=this.database.character.symbol),i.numeric&&(e+=this.database.character.number)),e.charAt(this.natural({max:e.length-1}))},i.prototype.string=function(n){var i=_n({length:this.natural({min:5,max:20})},n);j(i.length>=0,"Length cannot be less than zero.");var e=i.length;return this.n(this.character,e,i).join("")},i.prototype.syllable=function(n){for(var i=_n({length:this.natural({min:2,max:3})},n).length,e=this.database.syllable,t=e.consonants,r=e.vowels,a=t+r,o="",s="",u=0;u<i;u+=1)o+=s=0===u?this.character({pool:a}):-1===t.indexOf(s)?this.character({pool:t}):this.character({pool:r});return n&&n.capitalize&&(o=Jn(o)),o},i.prototype.word=function(n){void 0===n&&(n={}),j(!n.syllables||!n.length,"Cannot specify both syllables AND length.");var i=n.syllables||this.natural({min:1,max:3}),e="";if(n.length){do{e+=this.syllable()}while(e.length<n.length);e=e.substring(0,n.length)}else for(var t=0;t<i;t+=1)e+=this.syllable();return n&&n.capitalize&&(e=Jn(e)),e},i.prototype.sentence=function(n){var i,e=_n({words:this.natural({min:12,max:18}),punctuation:!0},n),t=e.words,r=e.punctuation;return i=Jn(i=this.n(this.word,t).join(" ")),!0===r?i+=this.pickone(this.database.sentence.punctuations.split("")):"string"==typeof r&&(i+=r),i},i.prototype.paragraph=function(n){var i=_n({sentences:this.natural({min:3,max:7})},n).sentences;return this.n(this.sentence,i,{punctuation:"."}).join(" ")},i.prototype.name=function(n){return this.givenName(n)+" "+this.surname()},i.prototype.surname=function(){return this.pickone(this.database.surname)},i.prototype.givenName=function(n){var i=_n({},n).gender;j(!i||"female"===i||"male"===i,"Gender must be one of female or male");var e=this.database.givenName,t=e.male,r=e.female,a=i?this.database.givenName[i]:[].concat(t).concat(r);return this.pickone(a)},i.prototype.phone=function(n){var i,e=_n({mobile:!0,formatted:!1,asterisk:!1,startNum:""},n),t=e.mobile,r=e.formatted,a=e.asterisk,o=e.startNum;return i=t?a?3===o.length?r?new RegExp(o+"-\\*{4}-\\d{4}"):new RegExp(o+"\\*{4}\\d{4}"):r?/1[345789]\d-\*{4}-\d{4}/:/1[345789]\d\*{4}\d{4}/:3===o.length?r?new RegExp(o+"-\\d{4}-\\d{4}"):new RegExp(o+"\\d{8}"):r?/1[345789]\d-\d{4}-\d{4}/:/1[345789]\d{9}/:a?3===o.length?r?new RegExp(o+"-\\d{3}\\*{2,3}\\d{2}"):new RegExp(o+"\\d{3}\\*{2,3}\\d{2}"):r?/\d{3,4}-\d{3}\*{2,3}\d{2}/:/\d{3,4}\d{3}\*{2,3}\d{2}/:3===o.length?r?new RegExp(o+"-\\d{7,8}"):new RegExp(o+"\\d{7,8}"):r?/\d{3,4}-\d{7,8}/:/\d{10,12}/,this.randexp(i)},i.prototype.cCharacter=function(n){var i=_n({},n).pool;return this.pickone((i||this.database.cCharacter.chars).split(""))},i.prototype.cWord=function(n){var i=_n({length:this.natural({min:2,max:6})},n).length;return this.n(this.cCharacter,i,n).join("")},i.prototype.cSentence=function(n){var i=_n({min:10,max:18},n),e=this.natural(i);return this.n(this.cWord,e).join("")+"。"},i.prototype.cParagraph=function(n){var i=_n({min:3,max:18},n),e=this.natural(i);return this.n(this.cSentence,e).join("")},i.prototype.cName=function(n){return""+this.cSurname()+this.cGivenName(n)},i.prototype.cSurname=function(){return this.pickone(this.database.cSurname)},i.prototype.cGivenName=function(n){var i=_n({length:this.natural({min:1,max:2})},n),e=i.length,t=i.gender;j(!t||"female"===t||"male"===t,"Gender must be one of female or male");var r=this.database.cGivenName,a=r.male,o=r.female,s=t?this.database.cGivenName[t]:a+o;return this.pickset(s.split(""),e).join("")},i.prototype.cZodiac=function(n){var i=_n({locale:"zh-CN"},n).locale,e=this.database.cZodiac[i];return this.pickone(e)},i}(Vn);function Zn(n){if(null===n||!0===n||!1===n)return NaN;var i=Number(n);return isNaN(i)?i:i<0?Math.ceil(i):Math.floor(i)}function $n(n,i){if(i.length<n)throw new TypeError(n+" argument"+(n>1?"s":"")+" required, but only "+i.length+" present")}function ni(n){return ni="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},ni(n)}function ii(n){$n(1,arguments);var i=Object.prototype.toString.call(n);return n instanceof Date||"object"===ni(n)&&"[object Date]"===i?new Date(n.getTime()):"number"==typeof n||"[object Number]"===i?new Date(n):("string"!=typeof n&&"[object String]"!==i||"undefined"==typeof console||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn((new Error).stack)),new Date(NaN))}var ei={};function ti(){return ei}function ri(n){return ri="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},ri(n)}function ai(n){if($n(1,arguments),!function(n){return $n(1,arguments),n instanceof Date||"object"===ri(n)&&"[object Date]"===Object.prototype.toString.call(n)}(n)&&"number"!=typeof n)return!1;var i=ii(n);return!isNaN(Number(i))}function oi(n,i){return $n(2,arguments),function(n,i){$n(2,arguments);var e=ii(n).getTime(),t=Zn(i);return new Date(e+t)}(n,-Zn(i))}var si=864e5;function ui(n){$n(1,arguments);var i=ii(n),e=i.getUTCDay(),t=(e<1?7:0)+e-1;return i.setUTCDate(i.getUTCDate()-t),i.setUTCHours(0,0,0,0),i}function li(n){$n(1,arguments);var i=ii(n),e=i.getUTCFullYear(),t=new Date(0);t.setUTCFullYear(e+1,0,4),t.setUTCHours(0,0,0,0);var r=ui(t),a=new Date(0);a.setUTCFullYear(e,0,4),a.setUTCHours(0,0,0,0);var o=ui(a);return i.getTime()>=r.getTime()?e+1:i.getTime()>=o.getTime()?e:e-1}var ci=6048e5;function di(n){$n(1,arguments);var i=ii(n),e=ui(i).getTime()-function(n){$n(1,arguments);var i=li(n),e=new Date(0);return e.setUTCFullYear(i,0,4),e.setUTCHours(0,0,0,0),ui(e)}(i).getTime();return Math.round(e/ci)+1}function hi(n,i){var e,t,r,a,o,s,u,l;$n(1,arguments);var c=ti(),d=Zn(null!==(e=null!==(t=null!==(r=null!==(a=null==i?void 0:i.weekStartsOn)&&void 0!==a?a:null==i||null===(o=i.locale)||void 0===o||null===(s=o.options)||void 0===s?void 0:s.weekStartsOn)&&void 0!==r?r:c.weekStartsOn)&&void 0!==t?t:null===(u=c.locale)||void 0===u||null===(l=u.options)||void 0===l?void 0:l.weekStartsOn)&&void 0!==e?e:0);if(!(d>=0&&d<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var h=ii(n),f=h.getUTCDay(),g=(f<d?7:0)+f-d;return h.setUTCDate(h.getUTCDate()-g),h.setUTCHours(0,0,0,0),h}function fi(n,i){var e,t,r,a,o,s,u,l;$n(1,arguments);var c=ii(n),d=c.getUTCFullYear(),h=ti(),f=Zn(null!==(e=null!==(t=null!==(r=null!==(a=null==i?void 0:i.firstWeekContainsDate)&&void 0!==a?a:null==i||null===(o=i.locale)||void 0===o||null===(s=o.options)||void 0===s?void 0:s.firstWeekContainsDate)&&void 0!==r?r:h.firstWeekContainsDate)&&void 0!==t?t:null===(u=h.locale)||void 0===u||null===(l=u.options)||void 0===l?void 0:l.firstWeekContainsDate)&&void 0!==e?e:1);if(!(f>=1&&f<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var g=new Date(0);g.setUTCFullYear(d+1,0,f),g.setUTCHours(0,0,0,0);var v=hi(g,i),p=new Date(0);p.setUTCFullYear(d,0,f),p.setUTCHours(0,0,0,0);var m=hi(p,i);return c.getTime()>=v.getTime()?d+1:c.getTime()>=m.getTime()?d:d-1}var gi=6048e5;function vi(n,i){$n(1,arguments);var e=ii(n),t=hi(e,i).getTime()-function(n,i){var e,t,r,a,o,s,u,l;$n(1,arguments);var c=ti(),d=Zn(null!==(e=null!==(t=null!==(r=null!==(a=null==i?void 0:i.firstWeekContainsDate)&&void 0!==a?a:null==i||null===(o=i.locale)||void 0===o||null===(s=o.options)||void 0===s?void 0:s.firstWeekContainsDate)&&void 0!==r?r:c.firstWeekContainsDate)&&void 0!==t?t:null===(u=c.locale)||void 0===u||null===(l=u.options)||void 0===l?void 0:l.firstWeekContainsDate)&&void 0!==e?e:1),h=fi(n,i),f=new Date(0);return f.setUTCFullYear(h,0,d),f.setUTCHours(0,0,0,0),hi(f,i)}(e,i).getTime();return Math.round(t/gi)+1}function pi(n,i){for(var e=n<0?"-":"",t=Math.abs(n).toString();t.length<i;)t="0"+t;return e+t}var mi={y:function(n,i){var e=n.getUTCFullYear(),t=e>0?e:1-e;return pi("yy"===i?t%100:t,i.length)},M:function(n,i){var e=n.getUTCMonth();return"M"===i?String(e+1):pi(e+1,2)},d:function(n,i){return pi(n.getUTCDate(),i.length)},a:function(n,i){var e=n.getUTCHours()/12>=1?"pm":"am";switch(i){case"a":case"aa":return e.toUpperCase();case"aaa":return e;case"aaaaa":return e[0];default:return"am"===e?"a.m.":"p.m."}},h:function(n,i){return pi(n.getUTCHours()%12||12,i.length)},H:function(n,i){return pi(n.getUTCHours(),i.length)},m:function(n,i){return pi(n.getUTCMinutes(),i.length)},s:function(n,i){return pi(n.getUTCSeconds(),i.length)},S:function(n,i){var e=i.length,t=n.getUTCMilliseconds();return pi(Math.floor(t*Math.pow(10,e-3)),i.length)}},yi=mi,bi="midnight",wi="noon",xi="morning",ki="afternoon",Ei="evening",Mi="night",Ci={G:function(n,i,e){var t=n.getUTCFullYear()>0?1:0;switch(i){case"G":case"GG":case"GGG":return e.era(t,{width:"abbreviated"});case"GGGGG":return e.era(t,{width:"narrow"});default:return e.era(t,{width:"wide"})}},y:function(n,i,e){if("yo"===i){var t=n.getUTCFullYear(),r=t>0?t:1-t;return e.ordinalNumber(r,{unit:"year"})}return yi.y(n,i)},Y:function(n,i,e,t){var r=fi(n,t),a=r>0?r:1-r;return"YY"===i?pi(a%100,2):"Yo"===i?e.ordinalNumber(a,{unit:"year"}):pi(a,i.length)},R:function(n,i){return pi(li(n),i.length)},u:function(n,i){return pi(n.getUTCFullYear(),i.length)},Q:function(n,i,e){var t=Math.ceil((n.getUTCMonth()+1)/3);switch(i){case"Q":return String(t);case"QQ":return pi(t,2);case"Qo":return e.ordinalNumber(t,{unit:"quarter"});case"QQQ":return e.quarter(t,{width:"abbreviated",context:"formatting"});case"QQQQQ":return e.quarter(t,{width:"narrow",context:"formatting"});default:return e.quarter(t,{width:"wide",context:"formatting"})}},q:function(n,i,e){var t=Math.ceil((n.getUTCMonth()+1)/3);switch(i){case"q":return String(t);case"qq":return pi(t,2);case"qo":return e.ordinalNumber(t,{unit:"quarter"});case"qqq":return e.quarter(t,{width:"abbreviated",context:"standalone"});case"qqqqq":return e.quarter(t,{width:"narrow",context:"standalone"});default:return e.quarter(t,{width:"wide",context:"standalone"})}},M:function(n,i,e){var t=n.getUTCMonth();switch(i){case"M":case"MM":return yi.M(n,i);case"Mo":return e.ordinalNumber(t+1,{unit:"month"});case"MMM":return e.month(t,{width:"abbreviated",context:"formatting"});case"MMMMM":return e.month(t,{width:"narrow",context:"formatting"});default:return e.month(t,{width:"wide",context:"formatting"})}},L:function(n,i,e){var t=n.getUTCMonth();switch(i){case"L":return String(t+1);case"LL":return pi(t+1,2);case"Lo":return e.ordinalNumber(t+1,{unit:"month"});case"LLL":return e.month(t,{width:"abbreviated",context:"standalone"});case"LLLLL":return e.month(t,{width:"narrow",context:"standalone"});default:return e.month(t,{width:"wide",context:"standalone"})}},w:function(n,i,e,t){var r=vi(n,t);return"wo"===i?e.ordinalNumber(r,{unit:"week"}):pi(r,i.length)},I:function(n,i,e){var t=di(n);return"Io"===i?e.ordinalNumber(t,{unit:"week"}):pi(t,i.length)},d:function(n,i,e){return"do"===i?e.ordinalNumber(n.getUTCDate(),{unit:"date"}):yi.d(n,i)},D:function(n,i,e){var t=function(n){$n(1,arguments);var i=ii(n),e=i.getTime();i.setUTCMonth(0,1),i.setUTCHours(0,0,0,0);var t=e-i.getTime();return Math.floor(t/si)+1}(n);return"Do"===i?e.ordinalNumber(t,{unit:"dayOfYear"}):pi(t,i.length)},E:function(n,i,e){var t=n.getUTCDay();switch(i){case"E":case"EE":case"EEE":return e.day(t,{width:"abbreviated",context:"formatting"});case"EEEEE":return e.day(t,{width:"narrow",context:"formatting"});case"EEEEEE":return e.day(t,{width:"short",context:"formatting"});default:return e.day(t,{width:"wide",context:"formatting"})}},e:function(n,i,e,t){var r=n.getUTCDay(),a=(r-t.weekStartsOn+8)%7||7;switch(i){case"e":return String(a);case"ee":return pi(a,2);case"eo":return e.ordinalNumber(a,{unit:"day"});case"eee":return e.day(r,{width:"abbreviated",context:"formatting"});case"eeeee":