(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports):typeof define==="function"&&define.amd?define(["exports"],factory):(global=global||self,factory(global.Formula={}))})(this,function(exports){"use strict";var funcs=Object.freeze({__proto__:null,get ERROR(){return _error},get ERRORTYPES(){return ERRORTYPES},get PARSE(){return parse},get parse(){return parse},get WALKER(){return walker},get WALKERCONFIGDEFAULT(){return defaultConfig},get WALKERCONFIGFP(){return fpConfig},get WALKERCONFIGJS(){return jsConfig},get COMPILE(){return compile},get compile(){return compile},get RUN(){return run},get run(){return run},get BRANCH(){return branch},get IF(){return branch},get IFS(){return branch},get branch(){return branch},get ifs(){return branch},get if(){return branch},get CHOOSE(){return choose},get choose(){return choose},get SWITCH(){return SWITCH},get switch(){return SWITCH},get AND(){return and},get and(){return and},get NAND(){return nand},get nand(){return nand},get OR(){return or},get or(){return or},get NOR(){return nor},get nor(){return nor},get XOR(){return xor},get xor(){return xor},get NOT(){return not},get not(){return not},get EQ(){return eq},get eq(){return eq},get NE(){return ne},get ne(){return ne},get GT(){return gt},get gt(){return gt},get GTE(){return gte},get gte(){return gte},get LT(){return lt},get lt(){return lt},get LTE(){return lte},get lte(){return lte},get IDENTITY(){return identity},get identity(){return identity},get IFBLANK(){return ifblank},get ifBlank(){return ifblank},get ifblank(){return ifblank},get IFEMPTY(){return ifempty},get ifEmpty(){return ifempty},get ifempty(){return ifempty},get IFERROR(){return iferror},get ifError(){return iferror},get iferror(){return iferror},get IFNA(){return ifna},get ifNA(){return ifna},get ifna(){return ifna},get ISARRAY(){return isarray},get isArray(){return isarray},get isarray(){return isarray},get ISASYNCFUNCTION(){return isasyncfunction},get isAsyncFunction(){return isasyncfunction},get isasyncfunction(){return isasyncfunction},get ISBLANK(){return isblank},get isBlank(){return isblank},get isblank(){return isblank},get ISBOOLEAN(){return isboolean},get isBoolean(){return isboolean},get isboolean(){return isboolean},get ISDATE(){return isdate},get isDate(){return isdate},get isdate(){return isdate},get ISEMAIL(){return isemail},get isEmail(){return isemail},get isemail(){return isemail},get ISEMPTY(){return isempty},get isEmpty(){return isempty},get isempty(){return isempty},get ISERROR(){return iserror},get isError(){return iserror},get iserror(){return iserror},get ISEVEN(){return iseven},get isEven(){return iseven},get iseven(){return iseven},get ISFALSY(){return isfalsy},get isFalsy(){return isfalsy},get isfalsy(){return isfalsy},get ISFUNCTION(){return isfunction},get isFunction(){return isfunction},get isfunction(){return isfunction},get ISLEAPYEAR(){return isleapyear},get isLeapYear(){return isleapyear},get isleapyear(){return isleapyear},get ISLOWERCASE(){return islowercase},get isLowerCase(){return islowercase},get islowercase(){return islowercase},get ISOBJECT(){return isobject},get isObject(){return isobject},get ISNA(){return isna},get isNA(){return isna},get isna(){return isna},get ISNAN(){return isnan},get isNaN(){return isnan},get isnan(){return isnan},get ISNUMBER(){return isnumber},get isNumber(){return isnumber},get isnumber(){return isnumber},get ISODD(){return isodd},get isOdd(){return isodd},get isodd(){return isodd},get ISOWEEKNUM(){return isoweeknum},get ISOWeekNum(){return isoweeknum},get isoweeknum(){return isoweeknum},get ISPROMISE(){return ispromise},get isPromise(){return ispromise},get ispromise(){return ispromise},get ISREF(){return isref},get isRef(){return isref},get isref(){return isref},get ISTEXT(){return istext},get isText(){return istext},get ISTRUTHY(){return istruthy},get isTruthy(){return istruthy},get istruthy(){return istruthy},get ISUPPERCASE(){return isuppercase},get isUpperCase(){return isuppercase},get isuppercase(){return isuppercase},get ISURL(){return isurl},get isURL(){return isurl},get isurl(){return isurl},get ISWHOLENUMBER(){return iswholenumber},get isWholeNumber(){return iswholenumber},get iswholenumber(){return iswholenumber},get MINUS(){return minus},get minus(){return minus},get PLUS(){return plus},get plus(){return plus},get ADD(){return add},get add(){return add},get SUBTRACT(){return subtract},get subtract(){return subtract},get MULTIPLY(){return multiply},get multiply(){return multiply},get DIVIDE(){return divide},get divide(){return divide},get ABS(){return abs},get abs(){return abs},get ACOS(){return acos},get acos(){return acos},get ACOSH(){return acosh},get acosh(){return acosh},get ACOT(){return acot},get acot(){return acot},get ACOTH(){return acoth},get acoth(){return acoth},get ASIN(){return asin},get asin(){return asin},get ASINH(){return asinh},get asinh(){return asinh},get ATAN(){return atan},get atan(){return atan},get ATAN2(){return atan2},get atan2(){return atan2},get ATANH(){return atan$1},get atanh(){return atan$1},get COS(){return cos},get cos(){return cos},get DEGREES(){return degrees},get degrees(){return degrees},get MOD(){return mod},get mod(){return mod},get PI(){return pi},get pi(){return pi},get POWER(){return power},get power(){return power},get ROUND(){return round},get round(){return round},get ROUNDUP(){return roundup},get roundUp(){return roundup},get roundup(){return roundup},get SIN(){return sin},get sin(){return sin},get TAN(){return tan},get tan(){return tan},get TAU(){return tau},get tau(){return tau},get TRUNC(){return trunc},get trunc(){return trunc},get WITHIN(){return within},get withIn(){return within},get within(){return within},get CHAR(){return char},get char(){return char},get CAMELCASE(){return camelcase},get camelCase(){return camelcase},get camelcase(){return camelcase},get CODE(){return code},get code(){return code},get CONCATENATE(){return concatenate},get concatenate(){return concatenate},get EXACT(){return exact},get exact(){return exact},get FIND(){return find},get find(){return find},get JOIN(){return join},get join(){return join},get LEFT(){return left},get left(){return left},get LEN(){return len},get len(){return len},get LOWER(){return lower},get lower(){return lower},get NUMBERVALUE(){return numbervalue},get numberValue(){return numbervalue},get numbervalue(){return numbervalue},get PARSEBOOL(){return parsebool},get parseBool(){return parsebool},get parsebool(){return parsebool},get PARSEDATE(){return parsedate},get parseDate(){return parsedate},get parsedate(){return parsedate},get PARSEQUERY(){return parsequery},get parseQuery(){return parsequery},get parsequery(){return parsequery},get PROPER(){return proper},get proper(){return proper},get REPLACE(){return replace},get replace(){return replace},get RIGHT(){return right},get right(){return right},get REPT(){return rept},get rept(){return rept},get SEARCH(){return search},get search(){return search},get SNAKECASE(){return snakecase},get snakeCase(){return snakecase},get snakecase(){return snakecase},get SUBSTITUTE(){return substitute},get substitute(){return substitute},get SUBSTITUTEALL(){return substituteAll},get substituteAll(){return substituteAll},get substituteall(){return substituteAll},get SURROUNDKEYS(){return surroundKeys},get surroundKeys(){return surroundKeys},get surroundkeys(){return surroundKeys},get SPLIT(){return split},get split(){return split},get TEXT(){return text},get text(){return text},get TRIM(){return trim},get trim(){return trim},get UPPER(){return upper},get upper(){return upper},get HLOOKUP(){return hlookup},get hlookup(){return hlookup},get INCLUDES(){return includes},get includes(){return includes},get NOTINCLUDES(){return notincludes},get notIncludes(){return notincludes},get notincludes(){return notincludes},get INDEX(){return index},get index(){return index},get LOOKUP(){return lookup},get lookup(){return lookup},get MATCH(){return match},get match(){return match},get VLOOKUP(){return vlookup},get vlookup(){return vlookup},get DATE(){return date},get date(){return date},get DATEVALUE(){return datevalue},get datevalue(){return datevalue},get DATEDIF(){return datedif},get datedif(){return datedif},get DAY(){return day},get day(){return day},get DAYS360(){return days360},get days360(){return days360},get EDATE(){return edate},get edate(){return edate},get EOMONTH(){return eomonth},get eomonth(){return eomonth},get HOUR(){return hour},get hour(){return hour},get MINUTE(){return minute},get minute(){return minute},get MONTH(){return month},get month(){return month},get NOW(){return now},get now(){return now},get SECOND(){return second},get second(){return second},get TODAY(){return today},get today(){return today},get TIME(){return time},get time(){return time},get TIMEVALUE(){return timevalue},get timevalue(){return timevalue},get YEAR(){return year},get year(){return year},get YEARFRAC(){return yearfrac},get yearfrac(){return yearfrac},get AVERAGE(){return average},get average(){return average},get MIN(){return min},get min(){return min},get MAX(){return max},get max(){return max},get QUERY(){return query},get query(){return query},get SUM(){return sum},get sum(){return sum},get ACCRINT(){return accrint},get accrint(){return accrint},get FV(){return fv},get fv(){return fv},get NPER(){return nper},get nper(){return nper},get NPV(){return npv},get npv(){return npv},get PMT(){return pmt},get pmt(){return pmt},get CUMIPMT(){return cumipmt},get cumipmt(){return cumipmt},get IPMT(){return ipmt},get ipmt(){return ipmt},get PV(){return pv},get pv(){return pv},get BIN2DEC(){return bin2dec},get bin2dec(){return bin2dec},get DEC2BIN(){return dec2bin},get dec2bin(){return dec2bin},get OCT2DEC(){return oct2dec},get oct2dec(){return oct2dec},get FILTER(){return filter},get filter(){return filter},get FLATTEN(){return flatten},get flatten(){return flatten},get MAP(){return map},get map(){return map},get PLUCK(){return pluck},get pluck(){return pluck},get REDUCE(){return reduce},get reduce(){return reduce},get SOME(){return some},get some(){return some},get SORT(){return sort},get sort(){return sort},get UNFLATTEN(){return unflatten},get unFlatten(){return unflatten},get unflatten(){return unflatten},get UNIQUE(){return unique},get unique(){return unique},get CHANGED(){return changed},get changed(){return changed},get DIFF(){return diff},get diff(){return diff},get CLEAN(){return clean},get clean(){return clean},get GET(){return get},get get(){return get},get SELECT(){return select},get select(){return select},get KEYS(){return keys},get keys(){return keys},get ADDRESS(){return address},get address(){return address},get ASSIGN(){return assign$1},get assign(){return assign$1},get BASE(){return base},get base(){return base},get CELLINDEX(){return cellindex},get cellIndex(){return cellindex},get cellindex(){return cellindex},get CEILING(){return ceiling},get ceiling(){return ceiling},get COLUMN(){return column},get column(){return column},get COLUMNLETTER(){return columnletter},get columnLetter(){return columnletter},get columnletter(){return columnletter},get COLUMNNUMBER(){return columnnumber},get columnNumber(){return columnnumber},get columnnumber(){return columnnumber},get DECODEBASE64(){return decodebase64},get decodeBase64(){return decodebase64},get decodebase64(){return decodebase64},get DECODEJWT(){return decodejwt},get decodeJWT(){return decodejwt},get decodejwt(){return decodejwt},get ENTRIES(){return entries},get entries(){return entries},get EVEN(){return even},get even(){return even},get FLOOR(){return floor},get floor(){return floor},get GROUP(){return group},get group(){return group},get GUID(){return guid},get guid(){return guid},get HASH(){return hash},get hash(){return hash},get INT(){return int},get int(){return int},get INDEX2COL(){return index2col},get index2Col(){return index2col},get index2col(){return index2col},get INDEX2ROW(){return index2row},get index2Row(){return index2row},get index2row(){return index2row},get INTERSECT(){return intersect},get intersect(){return intersect},get INTERPOLATE(){return interpolate},get interpolate(){return interpolate},get INTERPOLATOR(){return interpolator},get interpolator(){return interpolator},get N(){return n},get n(){return n},get NUMBERS(){return numbers},get numbers(){return numbers},get OVERLAP(){return overlap},get overlap(){return overlap},get REF(){return ref$1},get ref(){return ref$1},get SERIAL(){return serial},get serial(){return serial}});function FormulaError(name,message){this.name=name||"NotImplementedError";this.message=message||""}FormulaError.prototype=Error.prototype;FormulaError.prototype.toString=function(){return this.name};var nil=new FormulaError("#NULL!","Null reference"),div0=new FormulaError("#DIV/0!","Divide by zero"),value=new FormulaError("#VALUE!","Invalid value"),ref=new FormulaError("#REF!","Invalid reference"),name=new FormulaError("#NAME?","Invalid name"),num=new FormulaError("#NUM!","Invalid number"),na=new FormulaError("#N/A!","Not applicable"),error$1=new FormulaError("#ERROR!","Error"),data=new FormulaError("#GETTING_DATA!","Error getting data"),missing=new FormulaError("#MISSING!","Missing"),unknown=new FormulaError("#UNKNOWN!","Unknown error");var ERRORTYPES={nil:nil,"#NULL!":nil,div0:div0,"#DIV/0!":div0,value:value,"#VALUE!":value,ref:ref,"#REF!":ref,name:name,"#NAME?":name,num:num,"#NUM!":num,na:na,"#N/A!":na,error:error$1,"#ERROR!":error$1,data:data,"#GETTING_DATA!":data,missing:missing,"#MISSING!":missing,unknown:unknown,"#UNKNOWN!":unknown};function _error(type){return ERRORTYPES[type]||error$1}var parser=function(){var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v){}return o},$V0=[1,4],$V1=[1,5],$V2=[1,6],$V3=[1,7],$V4=[1,8],$V5=[1,11],$V6=[1,12],$V7=[1,13],$V8=[1,14],$V9=[1,15],$Va=[1,16],$Vb=[1,24],$Vc=[1,18],$Vd=[1,19],$Ve=[1,20],$Vf=[1,21],$Vg=[1,22],$Vh=[1,23],$Vi=[1,25],$Vj=[1,26],$Vk=[1,27],$Vl=[1,28],$Vm=[1,29],$Vn=[1,30],$Vo=[5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,32,33,36],$Vp=[5,6,7,8,12,13,14,15,16,17,19,32,33,36],$Vq=[1,58],$Vr=[1,59],$Vs=[19,32,33,36],$Vt=[5,6,7,8,9,10,12,13,14,15,16,17,19,32,33,36],$Vu=[5,6,12,13,14,15,16,19,32,33,36];var parser={trace:function trace(){},yy:{},symbols_:{error:2,expressions:3,e:4,EOF:5,"=":6,"+":7,"-":8,"*":9,"/":10,"^":11,"<>":12,">":13,"<":14,">=":15,"<=":16,"&":17,"(":18,")":19,":":20,IDENT:21,SCOPE:22,func:23,array_literal:24,TRUE:25,FALSE:26,STRING:27,NUMBER:28,"%":29,range:30,param_list:31,",":32,";":33,FUNC:34,"{":35,"}":36,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",6:"=",7:"+",8:"-",9:"*",10:"/",11:"^",12:"<>",13:">",14:"<",15:">=",16:"<=",17:"&",18:"(",19:")",20:":",21:"IDENT",22:"SCOPE",25:"TRUE",26:"FALSE",27:"STRING",28:"NUMBER",29:"%",32:",",33:";",34:"FUNC",35:"{",36:"}"},productions_:[0,[3,2],[3,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,2],[4,3],[4,2],[4,3],[4,3],[4,1],[4,2],[4,1],[4,1],[4,1],[4,1],[4,1],[4,2],[4,1],[30,3],[31,1],[31,3],[31,3],[23,4],[23,3],[24,3]],performAction:function anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$){var $0=$$.length-1;switch(yystate){case 1:case 2:return $$[$0-1];case 3:this.$={type:"operator",subtype:"infix-add",operands:[$$[$0-2],$$[$0]]};break;case 4:this.$={type:"operator",subtype:"infix-subtract",operands:[$$[$0-2],$$[$0]]};break;case 5:this.$={type:"operator",subtype:"infix-multiply",operands:[$$[$0-2],$$[$0]]};break;case 6:this.$={type:"operator",subtype:"infix-divide",operands:[$$[$0-2],$$[$0]]};break;case 7:this.$={type:"operator",subtype:"infix-power",operands:[$$[$0-2],$$[$0]]};break;case 8:this.$={type:"operator",subtype:"infix-ne",operands:[$$[$0-2],$$[$0]]};break;case 9:this.$={type:"operator",subtype:"infix-eq",operands:[$$[$0-2],$$[$0]]};break;case 10:this.$={type:"operator",subtype:"infix-gt",operands:[$$[$0-2],$$[$0]]};break;case 11:this.$={type:"operator",subtype:"infix-lt",operands:[$$[$0-2],$$[$0]]};break;case 12:this.$={type:"operator",subtype:"infix-gte",operands:[$$[$0-2],$$[$0]]};break;case 13:this.$={type:"operator",subtype:"infix-lte",operands:[$$[$0-2],$$[$0]]};break;case 14:this.$={type:"operator",subtype:"prefix-plus",operands:[$$[$0]]};break;case 15:this.$={type:"operator",subtype:"infix-concat",operands:[$$[$0-2],$$[$0]]};break;case 16:this.$={type:"operator",subtype:"prefix-minus",operands:[$$[$0]]};break;case 17:this.$={type:"group",exp:$$[$0-1]};break;case 18:this.$={type:"range",subtype:"local",topLeft:$$[$0-2],bottomRight:$$[$0]};break;case 19:this.$={type:"variable",name:$$[$0]};break;case 20:this.$={type:"variable",scope:$$[$0-1],name:$$[$0]};break;case 21:case 22:this.$=$$[$0];break;case 23:this.$={type:"value",subtype:"boolean",value:true};break;case 24:this.$={type:"value",subtype:"boolean",value:false};break;case 25:this.$={type:"value",subtype:"string",value:String(yytext)};break;case 26:this.$={type:"value",subtype:"number",value:$$[$0-1]/100};break;case 27:this.$={type:"value",subtype:"number",value:Number(yytext)};break;case 29:this.$=[$$[$0]];break;case 30:this.$=$$[$0-2].concat([$$[$0]]);break;case 31:this.$=$$[$0][0].subtype!=="array"?[{type:"value",subtype:"array",items:$$[$0-2]},{type:"value",subtype:"array",items:$$[$0]}]:[{type:"value",subtype:"array",items:$$[$0-2]}].concat($$[$0]);break;case 32:this.$={type:"function",name:$$[$0-3],args:$$[$0-1]};break;case 33:this.$={type:"function",name:$$[$0-2],args:[]};break;case 34:this.$={type:"value",subtype:"array",items:$$[$0-1]};break}},table:[{3:1,4:2,6:[1,3],7:$V0,8:$V1,18:$V2,21:$V3,22:$V4,23:9,24:10,25:$V5,26:$V6,27:$V7,28:$V8,34:$V9,35:$Va},{1:[3]},{5:[1,17],6:$Vb,7:$Vc,8:$Vd,9:$Ve,10:$Vf,11:$Vg,12:$Vh,13:$Vi,14:$Vj,15:$Vk,16:$Vl,17:$Vm,20:$Vn},{4:31,7:$V0,8:$V1,18:$V2,21:$V3,22:$V4,23:9,24:10,25:$V5,26:$V6,27:$V7,28:$V8,34:$V9,35:$Va},{4:32,7:$V0,8:$V1,18:$V2,21:$V3,22:$V4,23:9,24:10,25:$V5,26:$V6,27:$V7,28:$V8,34:$V9,35:$Va},{4:33,7:$V0,8:$V1,18:$V2,21:$V3,22:$V4,23:9,24:10,25:$V5,26:$V6,27:$V7,28:$V8,34:$V9,35:$Va},{4:34,7:$V0,8:$V1,18:$V2,21:$V3,22:$V4,23:9,24:10,25:$V5,26:$V6,27:$V7,28:$V8,34:$V9,35:$Va},o($Vo,[2,19]),{21:[1,35]},o($Vo,[2,21]),o($Vo,[2,22]),o($Vo,[2,23]),o($Vo,[2,24]),o($Vo,[2,25]),o($Vo,[2,27],{29:[1,36]}),{18:[1,37]},{4:39,7:$V0,8:$V1,18:$V2,21:$V3,22:$V4,23:9,24:10,25:$V5,26:$V6,27:$V7,28:$V8,31:38,34:$V9,35:$Va},{1:[2,1]},{4:40,7:$V0,8:$V1,18:$V2,21:$V3,22:$V4,23:9,24:10,25:$V5,26:$V6,27:$V7,28:$V8,34:$V9,35:$Va},{4:41,7:$V0,8:$V1,18:$V2,21:$V3,22:$V4,23:9,24:10,25:$V5,26:$V6,27:$V7,28:$V8,34:$V9,35:$Va},{4:42,7:$V0,8:$V1,18:$V2,21:$V3,22:$V4,23:9,24:10,25:$V5,26:$V6,27:$V7,28:$V8,34:$V9,35:$Va},{4:43,7:$V0,8:$V1,18:$V2,21:$V3,22:$V4,23:9,24:10,25:$V5,26:$V6,27:$V7,28:$V8,34:$V9,35:$Va},{4:44,7:$V0,8:$V1,18:$V2,21:$V3,22:$V4,23:9,24:10,25:$V5,26:$V6,27:$V7,28:$V8,34:$V9,35:$Va},{4:45,7:$V0,8:$V1,18:$V2,21:$V3,22:$V4,23:9,24:10,25:$V5,26:$V6,27:$V7,28:$V8,34:$V9,35:$Va},{4:46,7:$V0,8:$V1,18:$V2,21:$V3,22:$V4,23:9,24:10,25:$V5,26:$V6,27:$V7,28:$V8,34:$V9,35:$Va},{4:47,7:$V0,8:$V1,18:$V2,21:$V3,22:$V4,23:9,24:10,25:$V5,26:$V6,27:$V7,28:$V8,34:$V9,35:$Va},{4:48,7:$V0,8:$V1,18:$V2,21:$V3,22:$V4,23:9,24:10,25:$V5,26:$V6,27:$V7,28:$V8,34:$V9,35:$Va},{4:49,7:$V0,8:$V1,18:$V2,21:$V3,22:$V4,23:9,24:10,25:$V5,26:$V6,27:$V7,28:$V8,34:$V9,35:$Va},{4:50,7:$V0,8:$V1,18:$V2,21:$V3,22:$V4,23:9,24:10,25:$V5,26:$V6,27:$V7,28:$V8,34:$V9,35:$Va},{4:51,7:$V0,8:$V1,18:$V2,21:$V3,22:$V4,23:9,24:10,25:$V5,26:$V6,27:$V7,28:$V8,34:$V9,35:$Va},{4:52,7:$V0,8:$V1,18:$V2,21:$V3,22:$V4,23:9,24:10,25:$V5,26:$V6,27:$V7,28:$V8,34:$V9,35:$Va},{5:[1,53],6:$Vb,7:$Vc,8:$Vd,9:$Ve,10:$Vf,11:$Vg,12:$Vh,13:$Vi,14:$Vj,15:$Vk,16:$Vl,17:$Vm,20:$Vn},o($Vp,[2,14],{9:$Ve,10:$Vf,11:$Vg,20:$Vn}),o($Vp,[2,16],{9:$Ve,10:$Vf,11:$Vg,20:$Vn}),{6:$Vb,7:$Vc,8:$Vd,9:$Ve,10:$Vf,11:$Vg,12:$Vh,13:$Vi,14:$Vj,15:$Vk,16:$Vl,17:$Vm,19:[1,54],20:$Vn},o($Vo,[2,20]),o($Vo,[2,26]),{4:39,7:$V0,8:$V1,18:$V2,19:[1,56],21:$V3,22:$V4,23:9,24:10,25:$V5,26:$V6,27:$V7,28:$V8,31:55,34:$V9,35:$Va},{32:$Vq,33:$Vr,36:[1,57]},o($Vs,[2,29],{6:$Vb,7:$Vc,8:$Vd,9:$Ve,10:$Vf,11:$Vg,12:$Vh,13:$Vi,14:$Vj,15:$Vk,16:$Vl,17:$Vm,20:$Vn}),o($Vp,[2,3],{9:$Ve,10:$Vf,11:$Vg,20:$Vn}),o($Vp,[2,4],{9:$Ve,10:$Vf,11:$Vg,20:$Vn}),o($Vt,[2,5],{11:$Vg,20:$Vn}),o($Vt,[2,6],{11:$Vg,20:$Vn}),o([5,6,7,8,9,10,11,12,13,14,15,16,17,19,32,33,36],[2,7],{20:$Vn}),o($Vu,[2,8],{7:$Vc,8:$Vd,9:$Ve,10:$Vf,11:$Vg,17:$Vm,20:$Vn}),o($Vu,[2,9],{7:$Vc,8:$Vd,9:$Ve,10:$Vf,11:$Vg,17:$Vm,20:$Vn}),o($Vu,[2,10],{7:$Vc,8:$Vd,9:$Ve,10:$Vf,11:$Vg,17:$Vm,20:$Vn}),o($Vu,[2,11],{7:$Vc,8:$Vd,9:$Ve,10:$Vf,11:$Vg,17:$Vm,20:$Vn}),o($Vu,[2,12],{7:$Vc,8:$Vd,9:$Ve,10:$Vf,11:$Vg,17:$Vm,20:$Vn}),o($Vu,[2,13],{7:$Vc,8:$Vd,9:$Ve,10:$Vf,11:$Vg,17:$Vm,20:$Vn}),o([5,6,12,13,14,15,16,17,19,32,33,36],[2,15],{7:$Vc,8:$Vd,9:$Ve,10:$Vf,11:$Vg,20:$Vn}),o($Vo,[2,18]),{1:[2,2]},o($Vo,[2,17]),{19:[1,60],32:$Vq,33:$Vr},o($Vo,[2,33]),o($Vo,[2,34]),{4:61,7:$V0,8:$V1,18:$V2,21:$V3,22:$V4,23:9,24:10,25:$V5,26:$V6,27:$V7,28:$V8,34:$V9,35:$Va},{4:39,7:$V0,8:$V1,18:$V2,21:$V3,22:$V4,23:9,24:10,25:$V5,26:$V6,27:$V7,28:$V8,31:62,34:$V9,35:$Va},o($Vo,[2,32]),o($Vs,[2,30],{6:$Vb,7:$Vc,8:$Vd,9:$Ve,10:$Vf,11:$Vg,12:$Vh,13:$Vi,14:$Vj,15:$Vk,16:$Vl,17:$Vm,20:$Vn}),o([19,36],[2,31],{32:$Vq,33:$Vr})],defaultActions:{17:[2,1],53:[2,2]},parseError:function parseError(str,hash){if(hash.recoverable){this.trace(str)}else{var error=new Error(str);error.hash=hash;throw error}},parse:function parse(input){var self=this,stack=[0],vstack=[null],lstack=[],table=this.table,yytext="",yylineno=0,yyleng=0,TERROR=2,EOF=1;var args=lstack.slice.call(arguments,1);var lexer=Object.create(this.lexer);var sharedState={yy:{}};for(var k in this.yy){if(Object.prototype.hasOwnProperty.call(this.yy,k)){sharedState.yy[k]=this.yy[k]}}lexer.setInput(input,sharedState.yy);sharedState.yy.lexer=lexer;sharedState.yy.parser=this;if(typeof lexer.yylloc=="undefined"){lexer.yylloc={}}var yyloc=lexer.yylloc;lstack.push(yyloc);var ranges=lexer.options&&lexer.options.ranges;if(typeof sharedState.yy.parseError==="function"){this.parseError=sharedState.yy.parseError}else{this.parseError=Object.getPrototypeOf(this).parseError}var lex=function(){var token;token=lexer.lex()||EOF;if(typeof token!=="number"){token=self.symbols_[token]||token}return token};var symbol,state,action,r,yyval={},p,len,newState,expected;while(true){state=stack[stack.length-1];if(this.defaultActions[state]){action=this.defaultActions[state]}else{if(symbol===null||typeof symbol=="undefined"){symbol=lex()}action=table[state]&&table[state][symbol]}if(typeof action==="undefined"||!action.length||!action[0]){var errStr="";expected=[];for(p in table[state]){if(this.terminals_[p]&&p>TERROR){expected.push("'"+this.terminals_[p]+"'")}}if(lexer.showPosition){errStr="Parse error on line "+(yylineno+1)+":\n"+lexer.showPosition()+"\nExpecting "+expected.join(", ")+", got '"+(this.terminals_[symbol]||symbol)+"'"}else{errStr="Parse error on line "+(yylineno+1)+": Unexpected "+(symbol==EOF?"end of input":"'"+(this.terminals_[symbol]||symbol)+"'")}this.parseError(errStr,{text:lexer.match,token:this.terminals_[symbol]||symbol,line:lexer.yylineno,loc:yyloc,expected:expected})}if(action[0]instanceof Array&&action.length>1){throw new Error("Parse Error: multiple actions possible at state: "+state+", token: "+symbol)}switch(action[0]){case 1:stack.push(symbol);vstack.push(lexer.yytext);lstack.push(lexer.yylloc);stack.push(action[1]);symbol=null;{yyleng=lexer.yyleng;yytext=lexer.yytext;yylineno=lexer.yylineno;yyloc=lexer.yylloc}break;case 2:len=this.productions_[action[1]][1];yyval.$=vstack[vstack.length-len];yyval._$={first_line:lstack[lstack.length-(len||1)].first_line,last_line:lstack[lstack.length-1].last_line,first_column:lstack[lstack.length-(len||1)].first_column,last_column:lstack[lstack.length-1].last_column};if(ranges){yyval._$.range=[lstack[lstack.length-(len||1)].range[0],lstack[lstack.length-1].range[1]]}r=this.performAction.apply(yyval,[yytext,yyleng,yylineno,sharedState.yy,action[1],vstack,lstack].concat(args));if(typeof r!=="undefined"){return r}if(len){stack=stack.slice(0,-1*len*2);vstack=vstack.slice(0,-1*len);lstack=lstack.slice(0,-1*len)}stack.push(this.productions_[action[1]][0]);vstack.push(yyval.$);lstack.push(yyval._$);newState=table[stack[stack.length-2]][stack[stack.length-1]];stack.push(newState);break;case 3:return true}}return true}};var lexer=function(){var lexer={EOF:1,parseError:function parseError(str,hash){if(this.yy.parser){this.yy.parser.parseError(str,hash)}else{throw new Error(str)}},setInput:function(input,yy){this.yy=yy||this.yy||{};this._input=input;this._more=this._backtrack=this.done=false;this.yylineno=this.yyleng=0;this.yytext=this.matched=this.match="";this.conditionStack=["INITIAL"];this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0};if(this.options.ranges){this.yylloc.range=[0,0]}this.offset=0;return this},input:function(){var ch=this._input[0];this.yytext+=ch;this.yyleng++;this.offset++;this.match+=ch;this.matched+=ch;var lines=ch.match(/(?:\r\n?|\n).*/g);if(lines){this.yylineno++;this.yylloc.last_line++}else{this.yylloc.last_column++}if(this.options.ranges){this.yylloc.range[1]++}this._input=this._input.slice(1);return ch},unput:function(ch){var len=ch.length;var lines=ch.split(/(?:\r\n?|\n)/g);this._input=ch+this._input;this.yytext=this.yytext.substr(0,this.yytext.length-len);this.offset-=len;var oldLines=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1);this.matched=this.matched.substr(0,this.matched.length-1);if(lines.length-1){this.yylineno-=lines.length-1}var r=this.yylloc.range;this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:lines?(lines.length===oldLines.length?this.yylloc.first_column:0)+oldLines[oldLines.length-lines.length].length-lines[0].length:this.yylloc.first_column-len};if(this.options.ranges){this.yylloc.range=[r[0],r[0]+this.yyleng-len]}this.yyleng=this.yytext.length;return this},more:function(){this._more=true;return this},reject:function(){if(this.options.backtrack_lexer){this._backtrack=true}else{return this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}return this},less:function(n){this.unput(this.match.slice(n))},pastInput:function(){var past=this.matched.substr(0,this.matched.length-this.match.length);return(past.length>20?"...":"")+past.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var next=this.match;if(next.length<20){next+=this._input.substr(0,20-next.length)}return(next.substr(0,20)+(next.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var pre=this.pastInput();var c=new Array(pre.length+1).join("-");return pre+this.upcomingInput()+"\n"+c+"^"},test_match:function(match,indexed_rule){var token,lines,backup;if(this.options.backtrack_lexer){backup={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done};if(this.options.ranges){backup.yylloc.range=this.yylloc.range.slice(0)}}lines=match[0].match(/(?:\r\n?|\n).*/g);if(lines){this.yylineno+=lines.length}this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:lines?lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+match[0].length};this.yytext+=match[0];this.match+=match[0];this.matches=match;this.yyleng=this.yytext.length;if(this.options.ranges){this.yylloc.range=[this.offset,this.offset+=this.yyleng]}this._more=false;this._backtrack=false;this._input=this._input.slice(match[0].length);this.matched+=match[0];token=this.performAction.call(this,this.yy,this,indexed_rule,this.conditionStack[this.conditionStack.length-1]);if(this.done&&this._input){this.done=false}if(token){return token}else if(this._backtrack){for(var k in backup){this[k]=backup[k]}return false}return false},next:function(){if(this.done){return this.EOF}if(!this._input){this.done=true}var token,match,tempMatch,index;if(!this._more){this.yytext="";this.match=""}var rules=this._currentRules();for(var i=0;i<rules.length;i++){tempMatch=this._input.match(this.rules[rules[i]]);if(tempMatch&&(!match||tempMatch[0].length>match[0].length)){match=tempMatch;index=i;if(this.options.backtrack_lexer){token=this.test_match(tempMatch,rules[i]);if(token!==false){return token}else if(this._backtrack){match=false;continue}else{return false}}else if(!this.options.flex){break}}}if(match){token=this.test_match(match,rules[index]);if(token!==false){return token}return false}if(this._input===""){return this.EOF}else{return this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}},lex:function lex(){var r=this.next();if(r){return r}else{return this.lex()}},begin:function begin(condition){this.conditionStack.push(condition)},popState:function popState(){var n=this.conditionStack.length-1;if(n>0){return this.conditionStack.pop()}else{return this.conditionStack[0]}},_currentRules:function _currentRules(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules}else{return this.conditions["INITIAL"].rules}},topState:function topState(n){n=this.conditionStack.length-1-Math.abs(n||0);if(n>=0){return this.conditionStack[n]}else{return"INITIAL"}},pushState:function pushState(condition){this.begin(condition)},stateStackSize:function stateStackSize(){return this.conditionStack.length},options:{},performAction:function anonymous(yy,yy_,$avoiding_name_collisions,YY_START){switch($avoiding_name_collisions){case 0:break;case 1:return 28;case 2:return 25;case 3:return 26;case 4:return 25;case 5:return 26;case 6:return 25;case 7:return 26;case 8:return 9;case 9:return 10;case 10:return 8;case 11:return 7;case 12:return 17;case 13:return 11;case 14:return 18;case 15:return 19;case 16:return">=";case 17:return"<=";case 18:return"<>";case 19:return"=";case 20:return">";case 21:return"<";case 22:return"{";case 23:return"}";case 24:return"!";case 25:return",";case 26:return":";case 27:return";";case 28:return"%";case 29:return 34;case 30:return 34;case 31:yy_.yytext=yy_.yytext.substr(1,yy_.yyleng-2).replace(/\"\"/g,'"');return"STRING";case 32:yy_.yytext=yy_.yytext.substr(2,yy_.yyleng-3).replace(/\"\"/g,'"');return"SCOPE";case 33:yy_.yytext=yy_.yytext.substr(1,yy_.yyleng-3).replace(/\"\"/g,'"');return"SCOPE";case 34:yy_.yytext=yy_.yytext.slice(0,-1);return"SCOPE";case 35:yy_.yytext=yy_.yytext.slice(1,-1);return"SCOPE";case 36:return 21;case 37:return 5;case 38:return"INVALID"}},rules:[/^(?:\s+)/,/^(?:[0-9]+(\.[0-9]+)?\b)/,/^(?:TRUE\b)/,/^(?:FALSE\b)/,/^(?:true\b)/,/^(?:false\b)/,/^(?:True\b)/,/^(?:False\b)/,/^(?:\*)/,/^(?:\/)/,/^(?:-)/,/^(?:\+)/,/^(?:&)/,/^(?:\^)/,/^(?:\()/,/^(?:\))/,/^(?:>=)/,/^(?:<=)/,/^(?:<>)/,/^(?:=)/,/^(?:>)/,/^(?:<)/,/^(?:\{)/,/^(?:\})/,/^(?:!)/,/^(?:,)/,/^(?::)/,/^(?:;)/,/^(?:%)/,/^(?:[A-Za-z](?=[(]))/,/^(?:[A-Za-z][A-Za-z0-9\.]+(?=[(]))/,/^(?:"(?:""|[^"])*")/,/^(?:\$'(?:''|[^'])*'!)/,/^(?:'(?:''|[^'])*'!)/,/^(?:[a-zA-Z]([a-zA-Z0-9_.$]+)?!)/,/^(?:\$([a-zA-Z])([a-zA-Z0-9_.$]+)?!)/,/^(?:([\[\]a-zA-Z0-9_.$^@\(]+))/,/^(?:$)/,/^(?:.)/],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],inclusive:true}}};return lexer}();parser.lexer=lexer;function Parser(){this.yy={}}Parser.prototype=parser;parser.Parser=Parser;return new Parser}();function parse(){return parser.parse.apply(parser,arguments)}function reduce(arr,func){var rest=[],len=arguments.length-2;while(len-- >0)rest[len]=arguments[len+2];return arr.reduce.apply(arr,[func].concat(rest))}function iserror(){var values=[],len=arguments.length;while(len--)values[len]=arguments[len];return reduce(values,function(p,v){return p===true?true:v instanceof Error},false)}function isasyncfunction(value){return value&&Object.prototype.toString.call(value)=="[object AsyncFunction]"}function isfunction(value){return value&&Object.prototype.toString.call(value)=="[object Function]"||isasyncfunction(value)}function and(){var criteria=[],len=arguments.length;while(len--)criteria[len]=arguments[len];return reduce(criteria,function(acc,item){if(iserror(acc)){return acc}if(acc===0||acc===false){return false}var val=isfunction(item)?item():item;if(!(val===true||val===false||val===1||val===0)){return ERRORTYPES.value}return val===true||val===1},undefined)}function isnan(value){if(Number.isNaN){return Number.isNaN(value)}return typeof value==="number"&&isNaN(value)}function isfalsy(value){return value===false||value===0||value===""||typeof value==="undefined"||value===null||isnan(value)}function istruthy(value){return!isfalsy(value)}function branch(){var cases=[],len=arguments.length;while(len--)cases[len]=arguments[len];var resolved=false;return reduce(cases,function(acc,item,index){var val;if(resolved===true){return acc}if(index===cases.length-1){if(index%2===1){return}return isfunction(item)?item():item}if(index%2===0&&(isfunction(item)&&istruthy(item())||!isfunction(item)&&istruthy(item))){resolved=true;val=cases[index+1];return isfunction(val)?val():val}return acc},undefined)}function istext(value){return"string"===typeof value}function isblank(value){return typeof value==="undefined"||value===null}function isarray(value){return Object.prototype.toString.call(value)==="[object Array]"}function eq(a,b){if(typeof a==="string"&&typeof b==="string"){return a.toLowerCase()===b.toLowerCase()}else{return a===b}}function some(needle,list){if(isblank(needle)&&isblank(list)){return ERRORTYPES.na}if(!isarray(list)){return ERRORTYPES.na}return list.some(function(n){return eq(n,needle)})}function assign(target,varArgs){var arguments$1=arguments;if(target==null){return ERRORTYPES.nil}var to=Object(target);for(var index=1;index<arguments.length;index++){var nextSource=arguments$1[index];if(nextSource!=null){for(var nextKey in nextSource){if(Object.prototype.hasOwnProperty.call(nextSource,nextKey)){to[nextKey]=nextSource[nextKey]}}}}return to}function assign$1(initial){var list=[],len=arguments.length-1;while(len-- >0)list[len]=arguments[len+1];var func=Object.assign||assign;return func.apply(void 0,[{},initial].concat(list))}var defaultConfig={upCase:true,visit:function(){return undefined},labelEQ:"=",labelNE:"<>",labelGT:">",labelGTE:">=",labelLT:"<",labelLTE:"<=",renderMINUS:function(){return"-"},renderPLUS:function(){return"+"},renderEQ:function(){return" = "},renderNE:function(){return" <> "},renderGT:function(){return" > "},renderGTE:function(){return" >= "},renderLT:function(){return" < "},renderLTE:function(){return" <= "},renderADD:function(){return" + "},renderSUBTRACT:function(){return" - "},renderMULTIPLY:function(){return" * "},renderDIVIDE:function(){return" / "},renderPOWER:function(){return" ^ "},renderCONCAT:function(){return" & "},renderGroupBegin:function(){return"("},renderGroupEnd:function(){return")"},renderGroup:function(config,g,depth){return""+config.renderGroupBegin(config,g,depth)+walk(config,g.exp,depth+1)+config.renderGroupEnd(config,g,depth)},renderFunctionBegin:function(config,f,depth){return config.upCase?f.name.toUpperCase():f.name},renderFunctionEnd:function(config,f,depth){return")"},renderFunction:function(config,f,depth){return config.renderFunctionBegin(config,f,depth)+"("+f.args.map(function(d){return walk(config,d,depth+1)}).join(", ")+config.renderFunctionEnd(config,f,depth)},renderOperator:function(config,ref,depth){var subtype=ref.subtype;var operands=ref.operands;return branch(operands.length==1,function(){return""+branch(subtype=="prefix-minus",config.renderMINUS(config,depth),subtype=="prefix-plus",config.renderPLUS(config,depth))+walk(config,operands[0],depth+1)},operands.length===2,function(){return""+walk(config,operands[0],depth+1)+branch(subtype=="infix-eq",config.renderEQ(config,{operands:operands},depth),subtype=="infix-ne",config.renderNE(config,{operands:operands},depth),subtype=="infix-gt",config.renderGT(config,{operands:operands},depth),subtype=="infix-gte",config.renderGTE(config,{operands:operands},depth),subtype=="infix-lt",config.renderLT(config,{operands:operands},depth),subtype=="infix-lte",config.renderLTE(config,{operands:operands},depth),subtype=="infix-add",config.renderADD(config,{operands:operands},depth),subtype=="infix-subtract",config.renderSUBTRACT(config,{operands:operands},depth),subtype=="infix-multiply",config.renderMULTIPLY(config,{operands:operands},depth),subtype=="infix-divide",config.renderDIVIDE(config,{operands:operands},depth),subtype=="infix-power",config.renderPOWER(config,{operands:operands},depth),subtype=="infix-concat",config.renderCONCAT(config,{operands:operands},depth))+walk(config,operands[1],depth+1)})},renderRangeBetween:function(){return":"},renderRange:function(config,ref,depth){var topLeft=ref.topLeft;var bottomRight=ref.bottomRight;return""+walk(config,topLeft,depth)+config.renderRangeBetween(config,{topLeft:topLeft,bottomRight:bottomRight},depth)+walk(config,bottomRight,depth)},renderVariable:function(config,ref,depth){var scope=ref.scope;var name=ref.name;return""+(scope?scope+"!":"")+name},renderString:function(value){return'"'+value.replace(/\"/g,'""')+'"'},renderNumber:function(value){return value.toString()},renderBoolean:function(value){return value?"TRUE":"FALSE"},renderValue:function(config,ref,depth){var subtype=ref.subtype;var items=ref.items;var value=ref.value;return branch(subtype==="string",function(){return config.renderString(value)},subtype==="number",function(){return config.renderNumber(value)},subtype==="boolean",function(){return config.renderBoolean(value)},subtype==="array",function(){return""+config.renderArray(config,{items:items},depth)})},renderArray:function(config,ref,depth){var items=ref.items;return"{"+items.map(function(d){return config.renderValue(config,d,depth+1)}).join(",")+"}"},renderRule:function(config,ast,depth){if(depth===void 0)depth=0;var type=ast.type;var renderGroup=config.renderGroup;var renderFunction=config.renderFunction;var renderOperator=config.renderOperator;var renderVariable=config.renderVariable;var renderValue=config.renderValue;config.visit(config,ast,depth);config.walk=walk;return branch(type==="group",function(){return renderGroup(config,ast,depth)},type==="function",function(){return renderFunction(config,ast,depth)},type==="operator",function(){return renderOperator(config,ast,depth)},type==="variable",function(){return renderVariable(config,ast,depth)},type==="value",function(){return renderValue(config,ast,config,depth)},type==="range",function(){return renderRange(config,ast,config,depth)})}};function runFunc(name,config,ref,depth){var operands=ref.operands;var subtype=ref.subtype;return name+"("+walk(config,operands[0],depth+1)+", "+walk(config,operands[1],depth+1)+")"}var fpConfig=assign$1(defaultConfig,{renderOperator:function(config,ref,depth){var subtype=ref.subtype;var operands=ref.operands;return branch(subtype=="prefix-minus","MINUS("+walk(config,operands[0],depth+1)+")",subtype=="prefix-plus","PLUS("+walk(config,operands[0],depth+1)+")",subtype=="infix-eq",runFunc("EQ",config,{operands:operands,subtype:subtype},depth),subtype=="infix-ne",runFunc("NE",config,{operands:operands,subtype:subtype},depth),subtype=="infix-gt",runFunc("GT",config,{operands:operands,subtype:subtype},depth),subtype=="infix-gte",runFunc("GTE",config,{operands:operands,subtype:subtype},depth),subtype=="infix-lt",runFunc("LT",config,{operands:operands,subtype:subtype},depth),subtype=="infix-lte",runFunc("LTE",config,{operands:operands,subtype:subtype},depth),subtype=="infix-add",runFunc("ADD",config,{operands:operands,subtype:subtype},depth),subtype=="infix-subtract",runFunc("SUBTRACT",config,{operands:operands,subtype:subtype},depth),subtype=="infix-multiply",runFunc("MULTIPLY",config,{operands:operands,subtype:subtype},depth),subtype=="infix-divide",runFunc("DIVIDE",config,{operands:operands,subtype:subtype},depth),subtype=="infix-power",runFunc("POWER",config,{operands:operands,subtype:subtype},depth),subtype=="infix-concat",runFunc("CONCATENATE",config,{operands:operands,subtype:subtype},depth))}});var jsConfig=assign$1(fpConfig,{renderVariable:function(config,v,depth){return v.scope?'context.get("'+v.name+'", "'+v.scope+'")':'context.get("'+v.name+'")'},renderFunctionBegin:function(config,f){return"Formula."+fpConfig.renderFunctionBegin(config,f)},renderArray:function(config,items,depth){return"["+items.map(function(d){return config.walk(config,d,depth+1)})+"]"},renderValue:function(config,ref,depth){var subtype=ref.subtype;var items=ref.items;var value=ref.value;return branch(subtype==="string",function(){return'"'+value.replace(/\"/g,'\\"')+'"'},subtype==="number",function(){return""+value},subtype==="boolean",function(){return value?"true":"false"},subtype==="array",function(){return config.renderArray(config,items,depth)})}});function walk(config,astOrExp,depth){if(depth===void 0)depth=0;var ast=astOrExp;if(!ast){return}if(istext(astOrExp)){ast=parse(astOrExp)}return config.renderRule(config,ast,depth)}var walker=function(config){if(config===void 0)config=defaultConfig;return function(ast){return walk(config,ast)}};function map(array,func){return array.map(func)}function unique(array){return reduce(array,function(p,c){if(p.indexOf(c)<0){p.push(c)}return p},[])}var compiledNumber=0;function compile(exp){var ast=exp,f,precedents=[],requires=[];if(typeof ast==="string"){ast=parse(exp)}var walk1=walker(fpConfig);var walk2=walker(assign$1(jsConfig,{visit:function(config,node,depth){if(node.type==="variable"){precedents.push(node)}if(node.type==="function"){requires.push(node.name)}}}));var fpExp=walk1(ast);var code=walk2(fpExp);var id=compiledNumber++;precedents=unique(precedents.map(JSON.stringify)).map(JSON.parse);requires=unique(requires.map(JSON.stringify)).map(JSON.parse);f=new Function("context","Formula","/* formula: "+exp+" */\nreturn "+code+";\n//# sourceURL=formula_"+id+"\n");f.id=id;f.exp=exp;f.exp=fpExp;f.exp=exp;f.ast=ast;f.code=code;f.precedents=precedents;f.requires=requires;return f}function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function(obj){return typeof obj}}else{_typeof=function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass){_setPrototypeOf(subClass,superClass)}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct){return false}if(Reflect.construct.sham){return false}if(typeof Proxy==="function"){return true}try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _construct(Parent,args,Class){if(_isNativeReflectConstruct()){_construct=Reflect.construct}else{_construct=function _construct(Parent,args,Class){var a=[null];a.push.apply(a,args);var Constructor=Function.bind.apply(Parent,a);var instance=new Constructor;if(Class){_setPrototypeOf(instance,Class.prototype)}return instance}}return _construct.apply(null,arguments)}function _isNativeFunction(fn){return Function.toString.call(fn).indexOf("[native code]")!==-1}function _wrapNativeSuper(Class){var _cache=typeof Map==="function"?new Map:undefined;_wrapNativeSuper=function _wrapNativeSuper(Class){if(Class===null||!_isNativeFunction(Class)){return Class}if(typeof Class!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof _cache!=="undefined"){if(_cache.has(Class)){return _cache.get(Class)}_cache.set(Class,Wrapper)}function Wrapper(){return _construct(Class,arguments,_getPrototypeOf(this).constructor)}Wrapper.prototype=Object.create(Class.prototype,{constructor:{value:Wrapper,enumerable:false,writable:true,configurable:true}});return _setPrototypeOf(Wrapper,Class)};return _wrapNativeSuper(Class)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _possibleConstructorReturn(self,call){if(call&&(typeof call==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()}function _arrayWithoutHoles(arr){if(Array.isArray(arr)){return _arrayLikeToArray(arr)}}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null){return Array.from(iter)}}function _unsupportedIterableToArray(o,minLen){if(!o){return}if(typeof o==="string"){return _arrayLikeToArray(o,minLen)}var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor){n=o.constructor.name}if(n==="Map"||n==="Set"){return Array.from(o)}if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)){return _arrayLikeToArray(o,minLen)}}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length){len=arr.length}for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it){o=it}var i=0;var F=function(){};return{s:F,n:function(){if(i>=o.length){return{done:true}}return{done:false,value:o[i++]}},e:function(e){throw e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function(){it=it.call(o)},n:function(){var step=it.next();normalCompletion=step.done;return step},e:function(e){didErr=true;err=e},f:function(){try{if(!normalCompletion&&it.return!=null){it.return()}}finally{if(didErr){throw err}}}}}var hasOwnProp=Object.prototype.hasOwnProperty;function push(arr,item){arr=arr.slice();arr.push(item);return arr}function unshift(item,arr){arr=arr.slice();arr.unshift(item);return arr}var NewError=function(_Error){_inherits(NewError,_Error);var _super=_createSuper(NewError);function NewError(value){var _this;_classCallCheck(this,NewError);_this=_super.call(this,'JSONPath should not be called with "new" (it prevents return '+"of (unwrapped) scalar values)");_this.avoidNew=true;_this.value=value;_this.name="NewError";return _this}return NewError}(_wrapNativeSuper(Error));function JSONPath(opts,expr,obj,callback,otherTypeCallback){if(!(this instanceof JSONPath)){try{return new JSONPath(opts,expr,obj,callback,otherTypeCallback)}catch(e){if(!e.avoidNew){throw e}return e.value}}if(typeof opts==="string"){otherTypeCallback=callback;callback=obj;obj=expr;expr=opts;opts=null}var optObj=opts&&_typeof(opts)==="object";opts=opts||{};this.json=opts.json||obj;this.path=opts.path||expr;this.resultType=opts.resultType||"value";this.flatten=opts.flatten||false;this.wrap=hasOwnProp.call(opts,"wrap")?opts.wrap:true;this.sandbox=opts.sandbox||{};this.preventEval=opts.preventEval||false;this.parent=opts.parent||null;this.parentProperty=opts.parentProperty||null;this.callback=opts.callback||callback||null;this.otherTypeCallback=opts.otherTypeCallback||otherTypeCallback||function(){throw new TypeError("You must supply an otherTypeCallback callback option "+"with the @other() operator.")};if(opts.autostart!==false){var args={path:optObj?opts.path:expr};if(!optObj){args.json=obj}else if("json"in opts){args.json=opts.json}var ret=this.evaluate(args);if(!ret||_typeof(ret)!=="object"){throw new NewError(ret)}return ret}}JSONPath.prototype.evaluate=function(expr,json,callback,otherTypeCallback){var _this2=this;var currParent=this.parent,currParentProperty=this.parentProperty;var flatten=this.flatten,wrap=this.wrap;this.currResultType=this.resultType;this.currPreventEval=this.preventEval;this.currSandbox=this.sandbox;callback=callback||this.callback;this.currOtherTypeCallback=otherTypeCallback||this.otherTypeCallback;json=json||this.json;expr=expr||this.path;if(expr&&_typeof(expr)==="object"&&!Array.isArray(expr)){if(!expr.path&&expr.path!==""){throw new TypeError('You must supply a "path" property when providing an object '+"argument to JSONPath.evaluate().")}if(!hasOwnProp.call(expr,"json")){throw new TypeError('You must supply a "json" property when providing an object '+"argument to JSONPath.evaluate().")}var _expr=expr;json=_expr.json;flatten=hasOwnProp.call(expr,"flatten")?expr.flatten:flatten;this.currResultType=hasOwnProp.call(expr,"resultType")?expr.resultType:this.currResultType;this.currSandbox=hasOwnProp.call(expr,"sandbox")?expr.sandbox:this.currSandbox;wrap=hasOwnProp.call(expr,"wrap")?expr.wrap:wrap;this.currPreventEval=hasOwnProp.call(expr,"preventEval")?expr.preventEval:this.currPreventEval;callback=hasOwnProp.call(expr,"callback")?expr.callback:callback;this.currOtherTypeCallback=hasOwnProp.call(expr,"otherTypeCallback")?expr.otherTypeCallback:this.currOtherTypeCallback;currParent=hasOwnProp.call(expr,"parent")?expr.parent:currParent;currParentProperty=hasOwnProp.call(expr,"parentProperty")?expr.parentProperty:currParentProperty;expr=expr.path}currParent=currParent||null;currParentProperty=currParentProperty||null;if(Array.isArray(expr)){expr=JSONPath.toPathString(expr)}if(!expr&&expr!==""||!json){return undefined}var exprList=JSONPath.toPathArray(expr);if(exprList[0]==="$"&&exprList.length>1){exprList.shift()}this._hasParentSelector=null;var result=this._trace(exprList,json,["$"],currParent,currParentProperty,callback).filter(function(ea){return ea&&!ea.isParentSelector});if(!result.length){return wrap?[]:undefined}if(!wrap&&result.length===1&&!result[0].hasArrExpr){return this._getPreferredOutput(result[0])}return result.reduce(function(rslt,ea){var valOrPath=_this2._getPreferredOutput(ea);if(flatten&&Array.isArray(valOrPath)){rslt=rslt.concat(valOrPath)}else{rslt.push(valOrPath)}return rslt},[])};JSONPath.prototype._getPreferredOutput=function(ea){var resultType=this.currResultType;switch(resultType){case"all":{var path=Array.isArray(ea.path)?ea.path:JSONPath.toPathArray(ea.path);ea.pointer=JSONPath.toPointer(path);ea.path=typeof ea.path==="string"?ea.path:JSONPath.toPathString(ea.path);return ea}case"value":case"parent":case"parentProperty":return ea[resultType];case"path":return JSONPath.toPathString(ea[resultType]);case"pointer":return JSONPath.toPointer(ea.path);default:throw new TypeError("Unknown result type")}};JSONPath.prototype._handleCallback=function(fullRetObj,callback,type){if(callback){var preferredOutput=this._getPreferredOutput(fullRetObj);fullRetObj.path=typeof fullRetObj.path==="string"?fullRetObj.path:JSONPath.toPathString(fullRetObj.path);callback(preferredOutput,type,fullRetObj)}};JSONPath.prototype._trace=function(expr,val,path,parent,parentPropName,callback,hasArrExpr,literalPriority){var _this3=this;var retObj;if(!expr.length){retObj={path:path,value:val,parent:parent,parentProperty:parentPropName,hasArrExpr:hasArrExpr};this._handleCallback(retObj,callback,"value");return retObj}var loc=expr[0],x=expr.slice(1);var ret=[];function addRet(elems){if(Array.isArray(elems)){elems.forEach(function(t){ret.push(t)})}else{ret.push(elems)}}if((typeof loc!=="string"||literalPriority)&&val&&hasOwnProp.call(val,loc)){addRet(this._trace(x,val[loc],push(path,loc),val,loc,callback,hasArrExpr))}else if(loc==="*"){this._walk(loc,x,val,path,parent,parentPropName,callback,function(m,l,_x,v,p,par,pr,cb){addRet(_this3._trace(unshift(m,_x),v,p,par,pr,cb,true,true))})}else if(loc===".."){addRet(this._trace(x,val,path,parent,parentPropName,callback,hasArrExpr));this._walk(loc,x,val,path,parent,parentPropName,callback,function(m,l,_x,v,p,par,pr,cb){if(_typeof(v[m])==="object"){addRet(_this3._trace(unshift(l,_x),v[m],push(p,m),v,m,cb,true))}})}else if(loc==="^"){this._hasParentSelector=true;return{path:path.slice(0,-1),expr:x,isParentSelector:true}}else if(loc==="~"){retObj={path:push(path,loc),value:parentPropName,parent:parent,parentProperty:null};this._handleCallback(retObj,callback,"property");return retObj}else if(loc==="$"){addRet(this._trace(x,val,path,null,null,callback,hasArrExpr))}else if(/^(\x2D?[0-9]*):(\x2D?[0-9]*):?([0-9]*)$/.test(loc)){addRet(this._slice(loc,x,val,path,parent,parentPropName,callback))}else if(loc.indexOf("?(")===0){if(this.currPreventEval){throw new Error("Eval [?(expr)] prevented in JSONPath expression.")}this._walk(loc,x,val,path,parent,parentPropName,callback,function(m,l,_x,v,p,par,pr,cb){if(_this3._eval(l.replace(/^\?\(((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?)\)$/,"$1"),v[m],m,p,par,pr)){addRet(_this3._trace(unshift(m,_x),v,p,par,pr,cb,true))}})}else if(loc[0]==="("){if(this.currPreventEval){throw new Error("Eval [(expr)] prevented in JSONPath expression.")}addRet(this._trace(unshift(this._eval(loc,val,path[path.length-1],path.slice(0,-1),parent,parentPropName),x),val,path,parent,parentPropName,callback,hasArrExpr))}else if(loc[0]==="@"){var addType=false;var valueType=loc.slice(1,-2);switch(valueType){case"scalar":if(!val||!["object","function"].includes(_typeof(val))){addType=true}break;case"boolean":case"string":case"undefined":case"function":if(_typeof(val)===valueType){addType=true}break;case"integer":if(Number.isFinite(val)&&!(val%1)){addType=true}break;case"number":if(Number.isFinite(val)){addType=true}break;case"nonFinite":if(typeof val==="number"&&!Number.isFinite(val)){addType=true}break;case"object":if(val&&_typeof(val)===valueType){addType=true}break;case"array":if(Array.isArray(val)){addType=true}break;case"other":addType=this.currOtherTypeCallback(val,path,parent,parentPropName);break;case"null":if(val===null){addType=true}break;default:throw new TypeError("Unknown value type "+valueType)}if(addType){retObj={path:path,value:val,parent:parent,parentProperty:parentPropName};this._handleCallback(retObj,callback,"value");return retObj}}else if(loc[0]==="`"&&val&&hasOwnProp.call(val,loc.slice(1))){var locProp=loc.slice(1);addRet(this._trace(x,val[locProp],push(path,locProp),val,locProp,callback,hasArrExpr,true))}else if(loc.includes(",")){var parts=loc.split(",");var _iterator=_createForOfIteratorHelper(parts),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var part=_step.value;addRet(this._trace(unshift(part,x),val,path,parent,parentPropName,callback,true))}}catch(err){_iterator.e(err)}finally{_iterator.f()}}else if(!literalPriority&&val&&hasOwnProp.call(val,loc)){addRet(this._trace(x,val[loc],push(path,loc),val,loc,callback,hasArrExpr,true))}if(this._hasParentSelector){for(var t=0;t<ret.length;t++){var rett=ret[t];if(rett&&rett.isParentSelector){var tmp=this._trace(rett.expr,val,rett.path,parent,parentPropName,callback,hasArrExpr);if(Array.isArray(tmp)){ret[t]=tmp[0];var tl=tmp.length;for(var tt=1;tt<tl;tt++){t++;ret.splice(t,0,tmp[tt])}}else{ret[t]=tmp}}}}return ret};JSONPath.prototype._walk=function(loc,expr,val,path,parent,parentPropName,callback,f){if(Array.isArray(val)){var n=val.length;for(var i=0;i<n;i++){f(i,loc,expr,val,path,parent,parentPropName,callback)}}else if(val&&_typeof(val)==="object"){Object.keys(val).forEach(function(m){f(m,loc,expr,val,path,parent,parentPropName,callback)})}};JSONPath.prototype._slice=function(loc,expr,val,path,parent,parentPropName,callback){if(!Array.isArray(val)){return undefined}var len=val.length,parts=loc.split(":"),step=parts[2]&&Number.parseInt(parts[2])||1;var start=parts[0]&&Number.parseInt(parts[0])||0,end=parts[1]&&Number.parseInt(parts[1])||len;start=start<0?Math.max(0,start+len):Math.min(len,start);end=end<0?Math.max(0,end+len):Math.min(len,end);var ret=[];for(var i=start;i<end;i+=step){var tmp=this._trace(unshift(i,expr),val,path,parent,parentPropName,callback,true);tmp.forEach(function(t){ret.push(t)})}return ret};JSONPath.prototype._eval=function(code,_v,_vname,path,parent,parentPropName){if(code.includes("@parentProperty")){this.currSandbox._$_parentProperty=parentPropName;code=code.replace(/@parentProperty/g,"_$_parentProperty")}if(code.includes("@parent")){this.currSandbox._$_parent=parent;code=code.replace(/@parent/g,"_$_parent")}if(code.includes("@property")){this.currSandbox._$_property=_vname;code=code.replace(/@property/g,"_$_property")}if(code.includes("@path")){this.currSandbox._$_path=JSONPath.toPathString(path.concat([_vname]));code=code.replace(/@path/g,"_$_path")}if(code.includes("@root")){this.currSandbox._$_root=this.json;code=code.replace(/@root/g,"_$_root")}if(/@([\t-\r \)\.\[\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF])/.test(code)){this.currSandbox._$_v=_v;code=code.replace(/@([\t-\r \)\.\[\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF])/g,"_$_v$1")}try{return this.vm.runInNewContext(code,this.currSandbox)}catch(e){console.log(e);throw new Error("jsonPath: "+e.message+": "+code)}};JSONPath.cache={};JSONPath.toPathString=function(pathArr){var x=pathArr,n=x.length;var p="$";for(var i=1;i<n;i++){if(!/^(~|\^|@(?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?\(\))$/.test(x[i])){p+=/^[\*0-9]+$/.test(x[i])?"["+x[i]+"]":"['"+x[i]+"']"}}return p};JSONPath.toPointer=function(pointer){var x=pointer,n=x.length;var p="";for(var i=1;i<n;i++){if(!/^(~|\^|@(?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?\(\))$/.test(x[i])){p+="/"+x[i].toString().replace(/~/g,"~0").replace(/\//g,"~1")}}return p};JSONPath.toPathArray=function(expr){var cache=JSONPath.cache;if(cache[expr]){return cache[expr].concat()}var subx=[];var normalized=expr.replace(/@(?:null|boolean|number|string|integer|undefined|nonFinite|scalar|array|object|function|other)\(\)/g,";$&;").replace(/['\[](\??\((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?\))['\]]/g,function($0,$1){return"[#"+(subx.push($1)-1)+"]"}).replace(/\[["']((?:(?!['\]])[\s\S])*)["']\]/g,function($0,prop){return"['"+prop.replace(/\./g,"%@%").replace(/~/g,"%%@@%%")+"']"}).replace(/~/g,";~;").replace(/["']?\.["']?(?!(?:(?!\[)[\s\S])*\])|\[["']?/g,";").replace(/%@%/g,".").replace(/%%@@%%/g,"~").replace(/(?:;)?(\^+)(?:;)?/g,function($0,ups){return";"+ups.split("").join(";")+";"}).replace(/;;;|;;/g,";..;").replace(/;$|'?\]|'$/g,"");var exprList=normalized.split(";").map(function(exp){var match=exp.match(/#([0-9]+)/);return!match||!match[1]?exp:subx[match[1]]});cache[expr]=exprList;return cache[expr].concat()};var moveToAnotherArray=function moveToAnotherArray(source,target,conditionCb){var il=source.length;for(var i=0;i<il;i++){var item=source[i];if(conditionCb(item)){target.push(source.splice(i--,1)[0])}}};JSONPath.prototype.vm={runInNewContext:function runInNewContext(expr,context){var keys=Object.keys(context);var funcs=[];moveToAnotherArray(keys,funcs,function(key){return typeof context[key]==="function"});var values=keys.map(function(vr,i){return context[vr]});var funcString=funcs.reduce(function(s,func){var fString=context[func].toString();if(!/function/.test(fString)){fString="function "+fString}return"var "+func+"="+fString+";"+s},"");expr=funcString+expr;if(!/(["'])use strict\1/.test(expr)&&!keys.includes("arguments")){expr="var arguments = undefined;"+expr}expr=expr.replace(/;[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*$/,"");var lastStatementEnd=expr.lastIndexOf(";");var code=lastStatementEnd>-1?expr.slice(0,lastStatementEnd+1)+" return "+expr.slice(lastStatementEnd+1):" return "+expr;return _construct(Function,_toConsumableArray(keys).concat([code])).apply(void 0,_toConsumableArray(values))}};var m={};function run(exp,params){if(params===void 0)params={};var isJSON=false;if(istext(params)){isJSON=true;params=JSON.parse(params)}var locals=assign$1({},params);if(locals.get!=="function"){locals.get=function(name,scope){if(isJSON){var result=JSONPath({path:name,json:locals});return result[0]}else if(istext(scope)){return locals[scope]?locals[scope][name]:undefined}return locals[name]}}if(isfunction(exp)){return exp(locals,funcs)}else if(!istext(exp)){return ERRORTYPES.na}if(m.hasOwnProperty(exp)){compiled=m[exp]}else{var compiled=compile(exp);m[exp]=compiled}return compiled(locals,funcs)}function choose(index){var items=[],len=arguments.length-1;while(len-- >0)items[len]=arguments[len+1];if(!index||items.length===0){return ERRORTYPES.na}if(index<1||index>254){return ERRORTYPES.value}if(items.length<index){return ERRORTYPES.value}return items[index-1]}function SWITCH(targetValue){var args=[],len=arguments.length-1;while(len-- >0)args[len]=arguments[len+1];var result;var argc=args.length;var switchCount=Math.floor(argc/2);var defaultClause=argc%2===0?null:args[args.length-1];if(switchCount){for(var index=0;index<switchCount;index++){if(eq(targetValue,args[index*2])){result=args[index*2+1];return result}}}return defaultClause||ERRORTYPES.na}function not(value){return value!==true&&value!==false&&value!==1&&value!==0?ERRORTYPES.value:!value}function nand(){var args=[],len=arguments.length;while(len--)args[len]=arguments[len];return not(and.apply(void 0,args))}function or(){var criteria=[],len=arguments.length;while(len--)criteria[len]=arguments[len];return reduce(criteria,function(acc,item){if(acc===true){return true}var value=isfunction(item)?item():item;return value===true||value===1},false)}function nor(){var args=[],len=arguments.length;while(len--)args[len]=arguments[len];return not(or.apply(void 0,args))}function flatten(ref){if(!isarray(ref)){return ERRORTYPES.value}return reduce(ref,function(a,b){return a.concat(b)},[])}function xor(){var values=[],len=arguments.length;while(len--)values[len]=arguments[len];return!!(reduce(flatten(values),function(a,b){if(b){return a+1}return a},0)&1)}function ne(a,b){return!eq(a,b)}function isref(value){if(!value){return false}return value._isref===true}function gt(a,b){if(isref(a)&&isref(b)){return ERRORTYPES.na}else if(isarray(a)&&isarray(b)){return ERRORTYPES.na}else if(isref(a)||isarray(a)){return map(a,function(d){return d>b})}else if(isref(b)||isarray(b)){return map(a,function(d){return d>a})}else{return a>b}}function gte(a,b){if(isref(a)&&isref(b)){return error.na}else if(isarray(a)&&isarray(b)){return error.na}else if(isref(a)||isarray(a)){return map(a,function(d){return d>=b})}else if(isref(b)||isarray(b)){return map(a,function(d){return d>=a})}else{return a>=b}}function lt(a,b){if(isref(a)&&isref(b)){return error.na}else if(isarray(a)&&isarray(b)){return error.na}else if(isref(a)||isarray(a)){return map(a,function(d){return d<b})}else if(isref(b)||isarray(b)){return map(a,function(d){return d<a})}else{return a<b}}function lte(a,b){if(isref(a)&&isref(b)){return error.na}else if(isarray(a)&&isarray(b)){return error.na}else if(isref(a)||isarray(a)){return map(a,function(d){return d<=b})}else if(isref(b)||isarray(b)){return map(a,function(d){return d<=a})}else{return a<=b}}function identity(x){return x}function ifblank(value,value_if_blank){return isblank(value)?value_if_blank:value}function isempty(value){return isblank(value)||isarray(value)&&value.length===0||istext(value)&&value===""}function ifempty(value,value_if_empty){return isempty(value)?value_if_empty:value}function iferror(value,value_if_error){if(value_if_error===void 0)value_if_error=null;return iserror(value)?value_if_error:value}function ifna(value,value_if_na){return value===ERRORTYPES.na?value_if_na:value}function isboolean(val){return val===true||val===false}function isdate(value){return value&&Object.prototype.toString.call(value)=="[object Date]"}function isemail(value){var re=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return re.test(value)}function iseven(value){return!(Math.floor(Math.abs(value))&1)}var d1900=new Date(1900,0,1),JulianOffset=2415019,SecondsInMinute=60,SecondsInHour=3600,SecondsInDay=86400,MilliSecondsInDay=864e5,AllowedDates={H:"h]",M:"m]",MM:"mm]",S:"s]",SS:"ss]"},DayNames=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],DayNames3=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],MonthNames=["January","February","March","April","May","June","July","August","September","October","November","December"],MonthNames3=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],AM="AM",AM1="A",PM="PM",PM1="P",τ=6.28318530717958,MaxCols=16384,SeparatorChar=",",DecimalChar=".",DefaultCurrency="$",AllowedColors={BLACK:"#000000",BLUE:"#0000FF",CYAN:"#00FFFF",GREEN:"#00FF00",MAGENTA:"#FF00FF",RED:"#FF0000",WHITE:"#FFFFFF",YELLOW:"#FFFF00"};function parsedate(val){function convert_date_julian_to_gregorian(juliandate){var L,N,I,J,K;L=juliandate+68569;N=Math.floor(4*L/146097);L=L-Math.floor((146097*N+3)/4);I=Math.floor(4e3*(L+1)/1461001);L=L-Math.floor(1461*I/4)+31;J=Math.floor(80*L/2447);K=L-Math.floor(2447*J/80);L=Math.floor(J/11);J=J+2-12*L;I=100*(N-49)+I+L;return new Date(I,J-1,K)}if(val instanceof Error){return val}else if(isdate(val)){return val}else if(typeof val==="number"){return convert_date_julian_to_gregorian(Math.floor(val+JulianOffset))}else if(typeof val==="string"){var timestamp=Date.parse(val);if(isnan(timestamp)){return ERRORTYPES.value}return new Date(timestamp)}return ERRORTYPES.value}function isleapyear(val){var date=parsedate(val);var year=date.getFullYear();return year%4===0&&year%100!==0||year%400===0}var aCode=97;var zCode=122;function isLowerCaseChar(ch){var chCode=ch.charCodeAt();return chCode>=aCode&&chCode<=zCode}function islowercase(str){for(var i in str){if(!isLowerCaseChar(str[i])){return false}}return true}function isobject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}function isna(value){return value===ERRORTYPES.na}function isnumber(value){return typeof value==="number"&&!isNaN(value)&&isFinite(value)}function isodd(value){return!!(Math.floor(Math.abs(value))&1)}function isoweeknum(date){date=parsedate(date);if(date instanceof Error){return date}date.setHours(0,0,0);date.setDate(date.getDate()+4-(date.getDay()||7));var yearStart=new Date(date.getFullYear(),0,1);return Math.ceil(((date-yearStart)/MilliSecondsInDay+1)/7)}function ispromise(value){return value&&typeof value==="object"&&typeof value.then==="function"}var ACode=65;var ZCode=90;function isUpperCaseChar(ch){var chCode=ch.charCodeAt();return chCode>=ACode&&chCode<=ZCode}function isuppercase(str){for(var i in str){if(!isUpperCaseChar(str[i])){return false}}return true}function isurl(str){var pattern=new RegExp("^(https?:\\/\\/)?"+"((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.?)+[a-z]{2,}|"+"((\\d{1,3}\\.){3}\\d{1,3}))"+"(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*"+"(\\?[;&a-z\\d%_.~+=-]*)?"+"(\\#[-a-z\\d_]*)?$","i");return pattern.test(str)}function iswholenumber(value){return isnumber(value)&&value%1===0}function split(text,delimiter){return text.split(delimiter)}function code(text,index){if(text===void 0)text="";if(index===void 0)index=1;if(index<1){return ERRORTYPES.na}if(text.length<index){return ERRORTYPES.value}return text.charCodeAt(index-1)}function numbervalue(text,decimal_separator,group_separator){if(decimal_separator===void 0)decimal_separator=".";if(group_separator===void 0)group_separator=",";if(iserror(text)){return text}if(isempty(text)){return ERRORTYPES.value}if(isnumber(text)){return text}var foundDecimal=false,len=text.length-1;if(text.length===1){if(code(text,0)<48||code(text,0)>57){return ERRORTYPES.value}return+text}return reduce(split(text,""),function(acc,item,index){if(acc===ERRORTYPES.value){return ERRORTYPES.value}else if(len===index){if(item==="%"){return+acc/100}return+acc.concat(item)}else if(item===decimal_separator){if(foundDecimal){return ERRORTYPES.value}foundDecimal=true;return acc.concat(".")}else if(item===group_separator){return acc}else if(item.charCodeAt(0)<48||item.charCodeAt(0)>57){return ERRORTYPES.value}return acc.concat(item)})}function minus(value){var val=numbervalue(value);if(!isnumber(val)){return ERRORTYPES.value}return-val}function plus(value){var val=numbervalue(value);if(!isnumber(val)){return ERRORTYPES.value}return val}function add(a,b){if(arguments.length!==2){return ERRORTYPES.na}if(!isnumber(a)||!isnumber(b)){return ERRORTYPES.value}return a+b}function subtract(a,b){if(arguments.length!==2){return ERRORTYPES.na}if(!isnumber(a)||!isnumber(b)){return ERRORTYPES.value}return a-b}function multiply(a,b){if(arguments.length!==2){return ERRORTYPES.na}if(!isnumber(a)||!isnumber(b)){return ERRORTYPES.value}return a*b}function divide(a,b){if(arguments.length!==2){return ERRORTYPES.na}if(b===0){return ERRORTYPES.div0}if(!isnumber(a)||!isnumber(b)){return ERRORTYPES.value}return a/b}function abs(value){if(!isnumber(value)){return ERRORTYPES.value}return Math.abs(value)}function acos(value){if(!isnumber(value)){return ERRORTYPES.value}return Math.acos(value)}function acosh(value){if(!isnumber(value)){return ERRORTYPES.value}return Math.log(value+Math.sqrt(value*value-1))}function acot(number){if(!isnumber(number)){return ERRORTYPES.value}return Math.atan(1/number)}function acoth(number){if(!isnumber(number)){return ERRORTYPES.value}return.5*Math.log((number+1)/(number-1))}function asin(number){if(!isnumber(number)){return ERRORTYPES.value}return Math.asin(number)}function asinh(number){if(!isnumber(number)){return ERRORTYPES.value}return Math.log(number+Math.sqrt(number*number+1))}function atan(number){if(!isnumber(number)){return ERRORTYPES.value}return Math.atan(number)}function atan2(x,y){if(!isnumber(x)||!isnumber(y)){return ERRORTYPES.value}return Math.atan2(x,y)}function atan$1(x){if(!isnumber(x)){return ERRORTYPES.value}return Math.log((1+x)/(1-x))/2}function cos(value){if(!isnumber(value)){return ERRORTYPES.value}return Math.cos(value)}function degrees(radians){if(!isnumber(radians)){return ERRORTYPES.value}return radians*180/Math.PI}function mod(a,b){if(!isnumber(a)||!isnumber(b)){return ERRORTYPES.value}return a%b}function pi(){return τ/2}function power(val,nth){if(arguments.length!==2){return ERRORTYPES.na}if(!isnumber(val)||!isnumber(nth)){return ERRORTYPES.value}return Math.pow(val,nth)}function round(number,precision){return+number.toFixed(precision)}function roundup(number,precision){var factors=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9];var factor=factors[precision];if(number>0){return Math.ceil(number*factor)/factor}else{return Math.floor(number*factor)/factor}}function sin(value){if(!isnumber(value)){return ERRORTYPES.value}return Math.sin(value)}function tan(value){if(!isnumber(value)){return ERRORTYPES.value}return Math.tan(value)}function tau(){return τ}function trunc(val){return val|0}function within(value,lowerBound,upperBound){return lowerBound<=value&&value<=upperBound}function char(number){return String.fromCharCode(number)}function camelcase(value){if(!istext(value)){return ERRORTYPES.value}return value.replace(/-+(.)?/g,function(match,chr){return chr?chr.toUpperCase():""}).replace(/_+(.)?/g,function(match,chr){return chr?chr.toUpperCase():""})}function concatenate(){var values=[],len=arguments.length;while(len--)values[len]=arguments[len];return reduce(values,function(acc,item){return""+acc+item},"")}function exact(a,b){return a===b}function find(find_text,within_text,position){if(within_text===void 0)within_text="";if(position===void 0)position=1;position=within_text.indexOf(find_text,position-1);return position===-1?ERRORTYPES.value:position+1}function join(list,delim){if(delim===void 0)delim=", ";if(list.some(function(d){return typeof d!=="string"&&typeof d!=="number"})){return ERRORTYPES.value}return list.join(delim)}function serial(date){if(!isdate(date)){return ERRORTYPES.na}var diff=Math.ceil((date-d1900)/MilliSecondsInDay);return diff+(diff>59?2:1)}function n(value){if(isnumber(value)||iserror(value)){return value}if(value instanceof Date){return serial(value)}if(value===true){return 1}if(value===false){return 0}return 0}function left(text,number){if(isblank(text)){return""}if(!n(+number)){return text}return text.substring(0,number)}function len(value){if(arguments.length===0){return ERRORTYPES.error}if(typeof value==="string"){return value.length}if(value.length!==undefined){return value.length}return ERRORTYPES.value}function lower(value){if(!istext(value)){return ERRORTYPES.value}return value.toLowerCase()}function parsebool(val){if(val instanceof Error){return val}else if(typeof val==="boolean"){return val}else if(typeof val==="number"){return val!==0}else if(typeof val==="string"){var up=val.toUpperCase();if(up==="TRUE"||up==="FALSE"){return up==="TRUE"}}return ERRORTYPES.value}function parsequery(query){if(query===void 0)query="";if(typeof query!=="string"){return ERRORTYPES.na}if(query.length===0){return{}}return reduce((query[0]==="?"?query.substr(1):query).split("&"),function(acc,item){var n=item.split("=");var key=decodeURIComponent(n[0]);var value=decodeURIComponent(n[1]||"");acc[key]=value;return acc},{})}function proper(text){if(text===undefined||text.length===0){return ERRORTYPES.value}if(text===true){text="TRUE"}if(text===false){text="FALSE"}if(isnan(text)&&typeof text==="number"){return ERRORTYPES.value}if(typeof text==="number"){text=""+text}return text.replace(/\w\S*/g,function(txt){return txt.charAt(0).toUpperCase()+txt.substr(1).toLowerCase()})}function replace(text,position,length,new_text){if(iserror(position)||iserror(length)||typeof text!=="string"||typeof new_text!=="string"){return ERRORTYPES.value}return text.substr(0,position-1)+new_text+text.substr(position-1+length)}function right(text,number){if(isblank(text)){return""}if(!n(+number)){return text}return text.substring(text.length-number)}function rept(text,number){var r="";for(var i=0;i<number;i++){r+=text}return r}function search(find_text,within_text,position){if(!within_text){return null}position=typeof position==="undefined"?1:position;var find_exp=find_text.replace(/([^~])\?/g,"$1.").replace(/([^~])\*/g,"$1.*").replace(/([~])\?/g,"\\?").replace(/([~])\*/g,"\\*");position=new RegExp(find_exp,"i").exec(within_text);if(position){return position.index+1}return ERRORTYPES.value}function snakecase(value){if(!istext(value)){return ERRORTYPES.value}return value.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/-/g,"_").toLowerCase()}function substitute(text,old_text,new_text,occurrence){if(!text||!old_text||!new_text){return text}else if(occurrence===undefined){return text.replace(new RegExp(old_text,"g"),new_text)}else{var index=0;var i=0;while(text.indexOf(old_text,index)>0){index=text.indexOf(old_text,index+1);i++;if(i===occurrence){return text.substring(0,index)+new_text+text.substring(index+old_text.length)}}}}function keys(subject){return Object.keys(subject)}function substituteAll(content,locals,start,end){if(start===void 0)start="-";if(end===void 0)end=start;if(!locals){return content}return reduce(keys(locals),function(p,v){return substitute(p,""+start+v+end,locals[v])},content)}function surroundKeys(obj,start,end){if(start===void 0)start="-";end=end||start;return reduce(keys(obj),function(p,v){p[""+start+v+end]=obj[v];return p},{})}var FormatNumber={};FormatNumber.format_definitions={};FormatNumber.commands={copy:1,color:2,integer_placeholder:3,fraction_placeholder:4,decimal:5,currency:6,general:7,separator:8,date:9,comparison:10,section:11,style:12};FormatNumber.formatNumberWithFormat=function(rawvalue,format_string,currency_char){var scfn=FormatNumber;var op,operandstr,fromend,cval,operandstrlc;var startval,estartval;var hrs,mins,secs,ehrs,emins,esecs,ampmstr,ymd;var minOK,mspos;var result="";var format;var section,gotcomparison,compop,compval,cpos,oppos;var sectioninfo;var i,decimalscale,scaledvalue,strvalue,strparts,integervalue,fractionvalue;var integerdigits2,integerpos,fractionpos,textcolor,textstyle,separatorchar,decimalchar;var value;rawvalue=rawvalue-0;value=rawvalue;if(!isFinite(value)){return"NaN"}var negativevalue=value<0?1:0;if(negativevalue){value=-value}var zerovalue=value==0?1:0;FormatNumber.parse_format_string(scfn.format_definitions,format_string);format=scfn.format_definitions[format_string];if(!format){throw"Format not parsed error."}section=format.sectioninfo.length-1;if(format.hascomparison){section=0;gotcomparison=0;for(cpos=0;;cpos++){op=format.operators[cpos];operandstr=format.operands[cpos];if(!op){if(gotcomparison){format_string="General";scfn.parse_format_string(scfn.format_definitions,format_string);format=scfn.format_definitions[format_string];section=0}break}if(op==scfn.commands.section){if(!gotcomparison){break}gotcomparison=0;section++;continue}if(op==scfn.commands.comparison){i=operandstr.indexOf(":");compop=operandstr.substring(0,i);compval=operandstr.substring(i+1)-0;if(compop=="<"&&rawvalue<compval||compop=="<="&&rawvalue<=compval||compop=="="&&rawvalue==compval||compop=="<>"&&rawvalue!=compval||compop==">="&&rawvalue>=compval||compop==">"&&rawvalue>compval){break}gotcomparison=1}}}else if(section>0){if(section==1){if(negativevalue){negativevalue=0;section=1}else{section=0}}else if(section==2){if(negativevalue){negativevalue=0;section=1}else if(zerovalue){section=2}else{section=0}}}sectioninfo=format.sectioninfo[section];if(sectioninfo.commas>0){for(i=0;i<sectioninfo.commas;i++){value/=1e3}}if(sectioninfo.percent>0){for(i=0;i<sectioninfo.percent;i++){value*=100}}decimalscale=1;for(i=0;i<sectioninfo.fractiondigits;i++){decimalscale*=10}scaledvalue=Math.floor(value*decimalscale+.5);scaledvalue=scaledvalue/decimalscale;if(typeof scaledvalue!="number"){return"NaN"}if(!isFinite(scaledvalue)){return"NaN"}strvalue=scaledvalue+"";if(scaledvalue==0&&(sectioninfo.fractiondigits||sectioninfo.integerdigits)){negativevalue=0}if(strvalue.indexOf("e")>=0){return rawvalue+""}strparts=strvalue.match(/^\+{0,1}(\d*)(?:\.(\d*)){0,1}$/);if(!strparts){return"NaN"}integervalue=strparts[1];if(!integervalue||integervalue=="0"){integervalue=""}fractionvalue=strparts[2];if(!fractionvalue){fractionvalue=""}if(sectioninfo.hasdate){if(rawvalue<0){return"??-???-?? ??:??:??"}startval=(rawvalue-Math.floor(rawvalue))*SecondsInDay;estartval=rawvalue*SecondsInDay;hrs=Math.floor(startval/SecondsInHour);ehrs=Math.floor(estartval/SecondsInHour);startval=startval-hrs*SecondsInHour;mins=Math.floor(startval/60);emins=Math.floor(estartval/60);secs=startval-mins*60;decimalscale=1;for(i=0;i<sectioninfo.fractiondigits;i++){decimalscale*=10}secs=Math.floor(secs*decimalscale+.5);secs=secs/decimalscale;esecs=Math.floor(estartval*decimalscale+.5);esecs=esecs/decimalscale;if(secs>=60){secs=0;mins++;emins++;if(mins>=60){mins=0;hrs++;ehrs++;if(hrs>=24){hrs=0;rawvalue++}}}fractionvalue=secs-Math.floor(secs)+"";fractionvalue=fractionvalue.substring(2);ymd=parsedate(rawvalue);ymd={year:ymd.getFullYear(),month:ymd.getMonth()+1,day:ymd.getDate()};minOK=0;mspos=sectioninfo.sectionstart;for(;;mspos++){op=format.operators[mspos];operandstr=format.operands[mspos];if(!op){break}if(op==scfn.commands.section){break}if(op==scfn.commands.date){if((operandstr.toLowerCase()=="am/pm"||operandstr.toLowerCase()=="a/p")&&!ampmstr){if(hrs>=12){if(hrs>12){hrs-=12}ampmstr=operandstr.toLowerCase()=="a/p"?PM1:PM}else{if(hrs===0){hrs=12}ampmstr=operandstr.toLowerCase()=="a/p"?AM1:AM}if(operandstr.indexOf(ampmstr)<0){ampmstr=ampmstr.toLowerCase()}}if(minOK&&(operandstr=="m"||operandstr=="mm")){format.operands[mspos]+="in"}if(operandstr.charAt(0)=="h"){minOK=1}else{minOK=0}}else if(op!=scfn.commands.copy){minOK=0}}minOK=0;for(--mspos;;mspos--){op=format.operators[mspos];operandstr=format.operands[mspos];if(!op){break}if(op==scfn.commands.section){break}if(op==scfn.commands.date){if(minOK&&(operandstr=="m"||operandstr=="mm")){format.operands[mspos]+="in"}if(operandstr=="ss"){minOK=1}else{minOK=0}}else if(op!=scfn.commands.copy){minOK=0}}}integerdigits2=0;integerpos=0;fractionpos=0;textcolor="";textstyle="";separatorchar=SeparatorChar;if(separatorchar.indexOf(" ")>=0){separatorchar=separatorchar.replace(/ /g," ")}decimalchar=DecimalChar;if(decimalchar.indexOf(" ")>=0){decimalchar=decimalchar.replace(/ /g," ")}oppos=sectioninfo.sectionstart;while(op=format.operators[oppos]){operandstr=format.operands[oppos++];if(op==scfn.commands.copy){result+=operandstr}else if(op==scfn.commands.color){textcolor=operandstr}else if(op==scfn.commands.style){textstyle=operandstr}else if(op==scfn.commands.integer_placeholder){if(negativevalue){result+="-";negativevalue=0}integerdigits2++;if(integerdigits2==1){if(integervalue.length>sectioninfo.integerdigits){for(;integerpos<integervalue.length-sectioninfo.integerdigits;integerpos++){result+=integervalue.charAt(integerpos);if(sectioninfo.thousandssep){fromend=integervalue.length-integerpos-1;if(fromend>2&&fromend%3==0){result+=separatorchar}}}}}if(integervalue.length<sectioninfo.integerdigits&&integerdigits2<=sectioninfo.integerdigits-integervalue.length){if(operandstr=="0"||operandstr=="?"){result+=operandstr=="0"?"0":" ";if(sectioninfo.thousandssep){fromend=sectioninfo.integerdigits-integerdigits2;if(fromend>2&&fromend%3==0){result+=separatorchar}}}}else{result+=integervalue.charAt(integerpos);if(sectioninfo.thousandssep){fromend=integervalue.length-integerpos-1;if(fromend>2&&fromend%3==0){result+=separatorchar}}integerpos++}}else if(op==scfn.commands.fraction_placeholder){if(fractionpos>=fractionvalue.length){if(operandstr=="0"||operandstr=="?"){result+=operandstr=="0"?"0":" "}}else{result+=fractionvalue.charAt(fractionpos)}fractionpos++}else if(op==scfn.commands.decimal){if(negativevalue){result+="-";negativevalue=0}result+=decimalchar}else if(op==scfn.commands.currency){if(negativevalue){result+="-";negativevalue=0}result+=operandstr}else if(op==scfn.commands.general){if(value!=0){var factor=Math.floor(Math.LOG10E*Math.log(value));factor=Math.pow(10,13-factor);value=Math.floor(factor*value+.5)/factor;if(!isFinite(value)){return"NaN"}}if(negativevalue){result+="-"}strvalue=value+"";if(strvalue.indexOf("e")>=0){result+=strvalue;continue}strparts=strvalue.match(/^\+{0,1}(\d*)(?:\.(\d*)){0,1}$/);integervalue=strparts[1];if(!integervalue||integervalue=="0"){integervalue=""}fractionvalue=strparts[2];if(!fractionvalue){fractionvalue=""}integerpos=0;fractionpos=0;if(integervalue.length){for(;integerpos<integervalue.length;integerpos++){result+=integervalue.charAt(integerpos);if(sectioninfo.thousandssep){fromend=integervalue.length-integerpos-1;if(fromend>2&&fromend%3==0){result+=separatorchar}}}}else{result+="0"}if(fractionvalue.length){result+=decimalchar;for(;fractionpos<fractionvalue.length;fractionpos++){result+=fractionvalue.charAt(fractionpos)}}}else if(op==scfn.commands.date){operandstrlc=operandstr.toLowerCase();if(operandstrlc=="y"||operandstrlc=="yy"){result+=(ymd.year+"").substring(2)}else if(operandstrlc=="yyyy"){result+=ymd.year+""}else if(operandstrlc=="d"){result+=ymd.day+""}else if(operandstrlc=="dd"){cval=1e3+ymd.day;result+=(cval+"").substr(2)}else if(operandstrlc=="ddd"){cval=Math.floor(rawvalue+6)%7;result+=DayNames3[cval]}else if(operandstrlc=="dddd"){cval=Math.floor(rawvalue+6)%7;result+=DayNames[cval]}else if(operandstrlc=="m"){result+=ymd.month+""}else if(operandstrlc=="mm"){cval=1e3+ymd.month;result+=(cval+"").substr(2)}else if(operandstrlc=="mmm"){result+=MonthNames3[ymd.month-1]}else if(operandstrlc=="mmmm"){result+=MonthNames[ymd.month-1]}else if(operandstrlc=="mmmmm"){result+=MonthNames[ymd.month-1].charAt(0)}else if(operandstrlc=="h"){result+=hrs+""}else if(operandstrlc=="h]"){result+=ehrs+""}else if(operandstrlc=="mmin"){cval=1e3+mins+"";result+=cval.substr(2)}else if(operandstrlc=="mm]"){if(emins<100){cval=1e3+emins+"";result+=cval.substr(2)}else{result+=emins+""}}else if(operandstrlc=="min"){result+=mins+""}else if(operandstrlc=="m]"){result+=emins+""}else if(operandstrlc=="hh"){cval=1e3+hrs+"";result+=cval.substr(2)}else if(operandstrlc=="s"){cval=Math.floor(secs);result+=cval+""}else if(operandstrlc=="ss"){cval=1e3+Math.floor(secs)+"";result+=cval.substr(2)}else if(operandstrlc=="am/pm"||operandstrlc=="a/p"){result+=ampmstr}else if(operandstrlc=="ss]"){if(esecs<100){cval=1e3+Math.floor(esecs)+"";result+=cval.substr(2)}else{cval=Math.floor(esecs);result+=cval+""}}}else if(op==scfn.commands.section){break}else if(op==scfn.commands.comparison){continue}else{result+="!! Parse error.!!"}}if(textcolor){result='<span style="color:'+textcolor+';">'+result+"</span>"}if(textstyle){result='<span style="'+textstyle+';">'+result+"</span>"}return result};FormatNumber.parse_format_string=function(format_defs,format_string){var scfn=FormatNumber;var format,section,sectioninfo;var integerpart=1;var lastwasinteger;var lastwasslash;var lastwasasterisk;var lastwasunderscore;var inquote,quotestr;var inbracket,bracketstr,bracketdata;var ingeneral;var ampmstr,part;var indate;var chpos;var ch;if(format_defs[format_string]){return}format={operators:[],operands:[],sectioninfo:[{}]};format_defs[format_string]=format;section=0;sectioninfo=format.sectioninfo[section];sectioninfo.sectionstart=0;sectioninfo.integerdigits=0;sectioninfo.fractiondigits=0;sectioninfo.commas=0;sectioninfo.percent=0;for(chpos=0;chpos<format_string.length;chpos++){ch=format_string.charAt(chpos);if(inquote){if(ch=='"'){inquote=0;format.operators.push(scfn.commands.copy);format.operands.push(quotestr);continue}quotestr+=ch;continue}if(inbracket){if(ch=="]"){inbracket=0;bracketdata=FormatNumber.parse_format_bracket(bracketstr);if(bracketdata.operator==scfn.commands.separator){sectioninfo.thousandssep=1;continue}if(bracketdata.operator==scfn.commands.date){sectioninfo.hasdate=1}if(bracketdata.operator==scfn.commands.comparison){format.hascomparison=1}format.operators.push(bracketdata.operator);format.operands.push(bracketdata.operand);continue}bracketstr+=ch;continue}if(lastwasslash){format.operators.push(scfn.commands.copy);format.operands.push(ch);lastwasslash=false;continue}if(lastwasasterisk){format.operators.push(scfn.commands.copy);format.operands.push(ch+ch+ch+ch+ch);lastwasasterisk=false;continue}if(lastwasunderscore){format.operators.push(scfn.commands.copy);format.operands.push(" ");lastwasunderscore=false;continue}if(ingeneral){if("general".charAt(ingeneral)==ch.toLowerCase()){ingeneral++;if(ingeneral==7){format.operators.push(scfn.commands.general);format.operands.push(ch);ingeneral=0}continue}ingeneral=0}if(indate){if(indate.charAt(0)==ch){indate+=ch;continue}format.operators.push(scfn.commands.date);format.operands.push(indate);sectioninfo.hasdate=1;indate=""}if(ampmstr){ampmstr+=ch;part=ampmstr.toLowerCase();if(part!="am/pm".substring(0,part.length)&&part!="a/p".substring(0,part.length)){ampstr=""}else if(part=="am/pm"||part=="a/p"){format.operators.push(scfn.commands.date);format.operands.push(ampmstr);ampmstr=""}continue}if(ch=="#"||ch=="0"||ch=="?"){if(integerpart){sectioninfo.integerdigits++;if(sectioninfo.commas){sectioninfo.thousandssep=1;sectioninfo.commas=0}lastwasinteger=1;format.operators.push(scfn.commands.integer_placeholder);format.operands.push(ch)}else{sectioninfo.fractiondigits++;format.operators.push(scfn.commands.fraction_placeholder);format.operands.push(ch)}}else if(ch=="."){lastwasinteger=0;format.operators.push(scfn.commands.decimal);format.operands.push(ch);integerpart=0}else if(ch==="$"){lastwasinteger=0;format.operators.push(scfn.commands.currency);format.operands.push(ch)}else if(ch==","){if(lastwasinteger){sectioninfo.commas++}else{format.operators.push(scfn.commands.copy);format.operands.push(ch)}}else if(ch=="%"){lastwasinteger=0;sectioninfo.percent++;format.operators.push(scfn.commands.copy);format.operands.push(ch)}else if(ch=='"'){lastwasinteger=0;inquote=1;quotestr=""}else if(ch=="["){lastwasinteger=0;inbracket=1;bracketstr=""}else if(ch=="\\"){lastwasslash=1;lastwasinteger=0}else if(ch=="*"){lastwasasterisk=1;lastwasinteger=0}else if(ch=="_"){lastwasunderscore=1;lastwasinteger=0}else if(ch==";"){section++;format.sectioninfo[section]={};sectioninfo=format.sectioninfo[section];sectioninfo.sectionstart=1+format.operators.length;sectioninfo.integerdigits=0;sectioninfo.fractiondigits=0;sectioninfo.commas=0;sectioninfo.percent=0;integerpart=1;lastwasinteger=0;format.operators.push(scfn.commands.section);format.operands.push(ch)}else if(ch.toLowerCase()=="g"){ingeneral=1;lastwasinteger=0}else if(ch.toLowerCase()=="a"){ampmstr=ch;lastwasinteger=0}else if("dmyhHs".indexOf(ch)>=0){indate=ch}else{lastwasinteger=0;format.operators.push(scfn.commands.copy);format.operands.push(ch)}}if(indate){format.operators.push(scfn.commands.date);format.operands.push(indate);sectioninfo.hasdate=1}return};FormatNumber.parse_format_bracket=function(bracketstr){var scfn=FormatNumber;var bracketdata={};var parts;if(bracketstr.charAt(0)=="$"){bracketdata.operator=scfn.commands.currency;parts=bracketstr.match(/^\$(.+?)(\-.+?){0,1}$/);if(parts){bracketdata.operand=parts[1]||DefaultCurrency||"$"}else{bracketdata.operand=bracketstr.substring(1)||DefaultCurrency||"$"}}else if(bracketstr=="?$"){bracketdata.operator=scfn.commands.currency;bracketdata.operand="[?$]"}else if(AllowedColors[bracketstr.toUpperCase()]){bracketdata.operator=scfn.commands.color;bracketdata.operand=AllowedColors[bracketstr.toUpperCase()]}else if(parts=bracketstr.match(/^style=([^']*)$/)){bracketdata.operator=scfn.commands.style;bracketdata.operand=parts[1]}else if(bracketstr==","){bracketdata.operator=scfn.commands.separator;bracketdata.operand=bracketstr}else if(AllowedDates[bracketstr.toUpperCase()]){bracketdata.operator=scfn.commands.date;bracketdata.operand=AllowedDates[bracketstr.toUpperCase()]}else if(parts=bracketstr.match(/^[<>=]/)){parts=bracketstr.match(/^([<>=]+)(.+)$/);bracketdata.operator=scfn.commands.comparison;bracketdata.operand=parts[1]+":"+parts[2]}else{bracketdata.operator=scfn.commands.copy;bracketdata.operand="["+bracketstr+"]"}return bracketdata};function text(value,format,currency_char){return FormatNumber.formatNumberWithFormat(value,format,currency_char)}function trim(text){if(typeof text!=="string"){return ERRORTYPES.value}return text.trim()}function upper(string){return string.toUpperCase()}function hlookup(needle,table,index,exactmatch){if(index===void 0)index=1;if(exactmatch===void 0)exactmatch=false;if(typeof needle==="undefined"||isblank(needle)){return null}if(index>table.length){return ERRORTYPES.ref}var needleLower=(needle+"").toLowerCase(),row=table[0];for(var i=0;i<row.length;i++){if(exactmatch&&row[i]===needle||(row[i]==needle||typeof row[i]==="string"&&row[i].toLowerCase().indexOf(needleLower)!=-1)){return table[index-1][i]}}return ERRORTYPES.na}function includes(searchElement,searchList,fromIndex){if(searchList==null){throw new TypeError('"searchList" is null or not defined')}var o=Object(searchList);var len=o.length>>>0;if(len===0){return false}var n=fromIndex|0;var k=Math.max(n>=0?n:len-Math.abs(n),0);function sameValueZero(x,y){return x===y||typeof x==="number"&&typeof y==="number"&&isNaN(x)&&isNaN(y)}while(k<len){if(sameValueZero(o[k],searchElement)){return true}k++}return false}function notincludes(searchElement,searchList,fromIndex){return!includes(searchElement,searchList,fromIndex)}function index(reference,row_num,column_num){if(column_num===void 0)column_num=1;var row;if(!isarray(reference)||isblank(row_num)){return ERRORTYPES.value}if(reference.length<row_num){return ERRORTYPES.ref}row=reference[row_num-1];if(!isarray(row)){return ERRORTYPES.value}if(row.length<column_num){return ERRORTYPES.ref}return row[column_num-1]}function lookup(){var lookup_value,lookup_array,lookup_vector,results_vector;if(arguments.length===2){lookup_value=arguments[0].valueOf();lookup_array=arguments[1];for(var i=0;i<lookup_array.length;i++){if(typeof lookup_array[i]!=="undefined"&&lookup_value===lookup_array[i].valueOf()){return lookup_array[i]}}}else if(arguments.length===3){lookup_value=arguments[0].valueOf();lookup_vector=arguments[1];results_vector=arguments[2];for(var i=0;i<lookup_vector.length;i++){if(typeof lookup_vector[i]!=="undefined"&&lookup_value===lookup_vector[i].valueOf()){return results_vector[i]}}}return error.na}function match(lookup_value,lookup_array,matchType){var lookupArray,lookupValue,index,indexValue;if(arguments.length===2){matchType=1}lookupValue=lookup_value;if(isarray(lookup_array)){lookupArray=lookup_array}else{return ERRORTYPES.na}if(!lookupValue&&!lookupArray){return ERRORTYPES.na}if(matchType!==-1&&matchType!==0&&matchType!==1){return ERRORTYPES.na}for(var idx=0;idx<lookupArray.length;idx++){if(matchType===1){if(lookupArray[idx]===lookupValue){return idx+1}else if(lookupArray[idx]<lookupValue){if(!indexValue){index=idx+1;indexValue=lookupArray[idx]}else if(lookupArray[idx]>indexValue){index=idx+1;indexValue=lookupArray[idx]}}}else if(matchType===0){if(typeof lookupValue==="string"){if(idx===0){lookupValue="^"+lookupValue.replace(/\?/g,".").replace(/\*/g,".*").replace(/~/g,"\\?")+"$"}if(typeof lookupArray[idx]!=="undefined"){if(String(lookupArray[idx]).toLowerCase().match(String(lookupValue).toLowerCase())){return idx+1}}}else{if(typeof lookupArray[idx]!=="undefined"&&lookupArray[idx]!==null&&lookupArray[idx].valueOf()===lookupValue){return idx+1}}}else if(matchType===-1){if(lookupArray[idx]===lookupValue){return idx+1}else if(lookupArray[idx]>lookupValue){if(!indexValue){index=idx+1;indexValue=lookupArray[idx]}else if(lookupArray[idx]<indexValue){index=idx+1;indexValue=lookupArray[idx]}}}}return index?index:ERRORTYPES.na}function vlookup(needle,table,index,exactmatch){if(table===void 0)table=[];if(index===void 0)index=1;if(exactmatch===void 0)exactmatch=false;if(iserror(needle)||isblank(needle)){return needle}for(var i=0;i<table.length;i++){var row=table[i];if(index>row.length){return ERRORTYPES.ref}if(exactmatch&&row[0]===needle||(row[0]==needle||typeof row[0]==="string"&&row[0].toLowerCase().indexOf(needle.toLowerCase())!=-1)){return index<row.length+1?row[index-1]:row[0]}}return ERRORTYPES.na}function date(year,month,day){return serial(new Date(year,month-1,day))}function datevalue(d){return serial(parsedate(d))}function datedif(start_date,end_date,unit){var second=1e3,minute=second*60,hour=minute*60,day=hour*24,week=day*7;start_date=parsedate(start_date),end_date=parsedate(end_date);var timediff=end_date-start_date;if(isnan(timediff)){return NaN}switch(unit){case"Y":return end_date.getFullYear()-start_date.getFullYear();case"M":return end_date.getFullYear()*12+end_date.getMonth()-(start_date.getFullYear()*12+start_date.getMonth());case"W":return Math.floor(timediff/week);case"D":return Math.floor(timediff/day);case"MD":return end_date.getdate()-start_date.getdate();case"YM":return end_date.getMonth()-start_date.getMonth();case"YD":return new error("NOT IMPLEMENTED");default:return undefined}}function day(d){return parsedate(d).getDate()}function days360(start_date,end_date,method){method=parsebool(method);start_date=parsedate(start_date);end_date=parsedate(end_date);if(start_date instanceof Error){return start_date}if(end_date instanceof Error){return end_date}if(method instanceof Error){return method}var sm=start_date.getMonth();var em=end_date.getMonth();var sd,ed;if(method){sd=start_date.getDate()===31?30:start_date.getDate();ed=end_date.getDate()===31?30:end_date.getDate()}else{var smd=new Date(start_date.getFullYear(),sm+1,0).getDate();var emd=new Date(end_date.getFullYear(),em+1,0).getDate();sd=start_date.getDate()===smd?30:start_date.getDate();if(end_date.getDate()===emd){if(sd<30){em++;ed=1}else{ed=30}}else{ed=end_date.getDate()}}return 360*(end_date.getFullYear()-start_date.getFullYear())+30*(em-sm)+(ed-sd)}function edate(start_date,months){start_date=parsedate(start_date);if(start_date instanceof Error){return start_date}if(isNaN(months)){return error.value}months=parseInt(months,10);start_date.setMonth(start_date.getMonth()+months);return serial(start_date)}function eomonth(start_date,months){start_date=parsedate(start_date);if(start_date instanceof Error){return start_date}if(isNaN(months)){return ERRORTYPES.value}months=parseInt(months,10);return new Date(start_date.getFullYear(),start_date.getMonth()+months+1,0)}function hour(value){if(isdate(value)){return value.getHours()}return trunc((value-trunc(value))*24)}function minute(value){if(isdate(value)){return value.getMinutes()}var totalSeconds=(value-trunc(value))*SecondsInDay;var hourSeconds=trunc(totalSeconds/SecondsInHour)*SecondsInHour;return trunc((totalSeconds-hourSeconds)/SecondsInMinute)}function month(date){return parsedate(date).getMonth()+1}function timevalue(time_text){var date=new Date("1/1/1900 "+time_text);if(date instanceof Error){return date}return(SecondsInHour*date.getHours()+SecondsInMinute*date.getMinutes()+date.getSeconds())/SecondsInDay}function now(){var d=new Date;return datevalue(d.toLocaleDateString())+timevalue(d.toLocaleTimeString())}function second(value){if(isdate(value)){return value.getSeconds()}var totalSeconds=(value-trunc(value))*SecondsInDay;var hourSeconds=trunc(totalSeconds/SecondsInHour)*SecondsInHour;var minuteSeconds=trunc((totalSeconds-hourSeconds)/SecondsInMinute)*SecondsInMinute;return Math.round(totalSeconds-hourSeconds-minuteSeconds)}function today(){var d=new Date;return datevalue(d.toLocaleDateString())}function time(hour,minute,second){return+((hour*3600+minute*60+second)/SecondsInDay).toFixed(15)}function year(d){return parsedate(d).getFullYear()}function yearfrac(start_date,end_date,basis){start_date=parsedate(start_date);if(start_date instanceof Error){return start_date}end_date=parsedate(end_date);if(end_date instanceof Error){return end_date}basis=basis||0;var sd=start_date.getDate();var sm=start_date.getMonth()+1;var sy=start_date.getFullYear();var ed=end_date.getDate();var em=end_date.getMonth()+1;var ey=end_date.getFullYear();function isLeapYear(year){return year%4===0&&year%100!==0||year%400===0}function daysBetween(a,b){return serial(b)-serial(a)}switch(basis){case 0:if(sd===31&&ed===31){sd=30;ed=30}else if(sd===31){sd=30}else if(sd===30&&ed===31){ed=30}return(ed+em*30+ey*360-(sd+sm*30+sy*360))/360;case 1:var feb29Between=function(date1,date2){var year1=date1.getFullYear();var mar1year1=new Date(year1,2,1);if(isLeapYear(year1)&&date1<mar1year1&&date2>=mar1year1){return true}var year2=date2.getFullYear();var mar1year2=new Date(year2,2,1);return isLeapYear(year2)&&date2>=mar1year2&&date1<mar1year2};var ylength=365;if(sy===ey||sy+1===ey&&(sm>em||sm===em&&sd>=ed)){if(sy===ey&&isLeapYear(sy)||feb29Between(start_date,end_date)||em===1&&ed===29){ylength=366}return daysBetween(start_date,end_date)/ylength}var years=ey-sy+1;var days=(new Date(ey+1,0,1)-new Date(sy,0,1))/1e3/60/60/24;var average=days/years;return daysBetween(start_date,end_date)/average;case 2:return daysBetween(start_date,end_date)/360;case 3:return daysBetween(start_date,end_date)/365;case 4:return(ed+em*30+ey*360-(sd+sm*30+sy*360))/360}}function sum(){var numbers=[],len=arguments.length;while(len--)numbers[len]=arguments[len];return reduce(flatten(flatten(numbers)),function(a,b){if(typeof b!=="number"){return ERRORTYPES.value}return a+b})}function average(){var items=[],len=arguments.length;while(len--)items[len]=arguments[len];var v=sum.apply(void 0,items);if(iserror(v)){return v}return v/items.length}function min(){var list=[],len=arguments.length;while(len--)list[len]=arguments[len];var values=flatten(list);if(values.length===0){return}return reduce(values,function(min,next){if(isblank(min)){return next}else if(isnumber(next)){return Math.min(min,next)}else{return min}})}function max(){var list=[],len=arguments.length;while(len--)list[len]=arguments[len];var values=flatten(list);if(values.length===0){return}return reduce(values,function(max,next){if(isblank(max)){return next}else if(isnumber(next)){return Math.max(max,next)}else{return max}})}function filter(range){var filters=[],len=arguments.length-1;while(len-- >0)filters[len]=arguments[len+1];function makefilter(){return function(value,index){return reduce(filters,function(previousValue,currentValue){if(previousValue===false){return false}else{return branch(isarray(currentValue),function(){return currentValue[index]},isfunction(currentValue),function(){return currentValue(value,index)},istext(currentValue),function(){return run(currentValue,value)},ERRORTYPES.na)}},true)}}return range.filter(makefilter())}var filterTypes={$noop:function(){return function(){return false}},$eq:function(queryVal){return function(row,field){return eq(row[field],queryVal)}},$ne:function(queryVal){return function(row,field){return ne(row[field],queryVal)}},$gt:function(queryVal){return function(row,field){return gt(row[field],queryVal)}},$gte:function(queryVal){return function(row,field){return gte(row[field],queryVal)}},$lt:function(queryVal){return function(row,field){return lt(row[field],queryVal)}},$lte:function(queryVal){return function(row,field){return lte(row[field],queryVal)}},$in:function(queryVal){return function(row,field){return isarray(queryVal)&&includes(row[field],queryVal)}},$nin:function(queryVal){return function(row,field){return isarray(queryVal)&&!includes(row[field],queryVal)}},$text:function(queryVal){return function(row,field){return search(queryVal,row[field])>0}},$exists:function(queryVal){return function(row,field){return istruthy(queryVal)?row.hasOwnProperty(field):!row.hasOwnProperty(field)}},$and:function(queryVal){return function(row,field){return true}},$or:function(queryVal){return function(row,field){return true}}};function query(data,query){var comparison=function(field,op,value){return function(row){return(filterTypes[op]||filterTypes["$noop"])(value)(row,field)}};var comparator=function(list,key){return function(row){return branch(isobject(list[key]),function(){return and.apply(void 0,map(keys(list[key]),function(d){return comparison(key,d,list[key][d])(row)}))},function(){return comparison(key,"$eq",list[key])(row)})}};var comparisonGroup=function(row,list,key,op){if(op===void 0)op=and;if(!isarray(list[key])){throw new Error("$"+op.name+" expects array!")}return op.apply(void 0,map(list[key],function(d){return op.apply(void 0,map(keys(d),function(e){return comparator(d,e)(row)}))}))};var composeQuery=function(list){return reduce(keys(list),function(funcs,key){return funcs.concat(function(row){return branch(key==="$and",function(){return comparisonGroup(row,list,key,and)},key==="$or",function(){return comparisonGroup(row,list,key,or)},function(){return comparator(list,key)(row)})})},[])};var funcs=composeQuery(query);return filter.apply(void 0,[data].concat(map(funcs,function(filter){return map(data,function(row){return filter(row)})})))}function accrint(issue,first,settlement,rate,par,frequency,basis){if(basis===void 0)basis=0;var issueDate=parsedate(issue);var firstDate=parsedate(first);var settlementDate=parsedate(settlement);if(!isdate(issueDate)||!isdate(firstDate)||!isdate(settlementDate)||!isnumber(par)){return ERRORTYPES.value}if(rate<=0||par<=0){return ERRORTYPES.num}if([1,2,4].indexOf(frequency)===-1){return ERRORTYPES.num}if([0,1,2,3,4].indexOf(basis)===-1){return ERRORTYPES.num}if(settlementDate<=issueDate){return ERRORTYPES.num}return par*rate*yearfrac(issue,settlement,basis)}function fv(rate,periods,payment,value,type){if(value===void 0)value=0;if(type===void 0)type=0;if(isblank(rate)){return ERRORTYPES.na}if(isblank(periods)){return ERRORTYPES.na}if(isblank(payment)){return ERRORTYPES.na}var fv;if(rate===0){fv=value+payment*periods}else{var term=Math.pow(1+rate,periods);if(type===1){fv=value*term+payment*(1+rate)*(term-1)/rate}else{fv=value*term+payment*(term-1)/rate}}return-fv}function nper(rate,pmt,pv,fv,type){var log,result;rate=parseFloat(rate||0);pmt=parseFloat(pmt||0);pv=parseFloat(pv||0);fv=fv||0;type=type||0;log=function(prim){if(isnan(prim)){return Math.log(0)}var num=Math.log(prim);return num};if(rate==0){result=-(pv+fv)/pmt}else if(type>0){result=log(-(rate*fv-pmt*(1+rate))/(rate*pv+pmt*(1+rate)))/log(1+rate)}else{result=log(-(rate*fv-pmt)/(rate*pv+pmt))/log(1+rate)}if(isnan(result)){result=0}return result}function npv(rate){var values=[],len=arguments.length-1;while(len-- >0)values[len]=arguments[len+1];var result=reduce(values,function(p,v){var factor=p.factor*(1+rate);var sum=p.sum+ +v/factor;return{factor:factor,sum:sum}},{factor:1,sum:0});return result.sum}function pmt(rate,periods,present,future,type){if(future===void 0)future=0;if(type===void 0)type=0;if(!isnumber(rate)||!isnumber(periods)){return ERRORTYPES.value}if(rate===0){return-((present+future)/periods)}else{var term=Math.pow(1+rate,periods);if(type===1){return-((future*rate/(term-1)+present*rate/(1-1/term))/(1+rate))}else{return-(future*rate/(term-1)+present*rate/(1-1/term))}}}function cumipmt(rate,periods,value,start,end,type){rate=numbervalue(rate);periods=numbervalue(periods);value=numbervalue(value);if(iserror(rate)||iserror(periods)||iserror(value)){return _error.value}if(rate<=0||periods<=0||value<=0){return _error.num}if(start<1||end<1||start>end){return _error.num}if(type!==0&&type!==1){return _error.num}var payment=pmt(rate,periods,value,0,type);var interest=0;if(start===1){if(type===0){interest=-value;start++}}for(var i=start;i<=end;i++){if(type===1){interest+=fv(rate,i-2,payment,value,1)-payment}else{interest+=fv(rate,i-1,payment,value,0)}}interest*=rate;return interest}function ipmt(rate,period,periods,present,future,type){if(future===void 0)future=0;if(type===void 0)type=0;rate=numbervalue(rate);period=numbervalue(period);periods=numbervalue(periods);present=numbervalue(present);future=numbervalue(future);type=numbervalue(type);if(iserror(rate,period,periods,present,future,type)){return _error.value}var payment=pmt(rate,periods,present,future,type);var interest;if(period===1){if(type===1){interest=0}else{interest=-present}}else{if(type===1){interest=fv(rate,period-2,payment,present,1)-payment}else{interest=fv(rate,period-1,payment,present,0)}}return interest*rate}function pv(rate,periods,payment,future,type){if(future===void 0)future=0;if(type===void 0)type=0;if(isblank(rate)){return ERRORTYPES.na}if(isblank(periods)){return ERRORTYPES.na}if(isblank(payment)){return ERRORTYPES.na}if(rate===0){return-payment*periods-future}else{return((1-Math.pow(1+rate,periods))/rate*payment*(1+rate*type)-future)/Math.pow(1+rate,periods)}}function bin2dec(value){var valueAsString;if(typeof value==="string"){valueAsString=value}else if(typeof value!=="undefined"){valueAsString=value.toString()}else{return ERRORTYPES.NA}if(valueAsString.length>10){return ERRORTYPES.NUM}if(valueAsString.length===10&&valueAsString[0]==="1"){return parseInt(valueAsString.substring(1),2)-512}return parseInt(valueAsString,2)}function dec2bin(input,places){if(input instanceof Error){return number}var number=parseInt(input);if(!/^-?[0-9]{1,3}$/.test(number)||isnan(number)){return ERRORTYPES.value}if(number<-512||number>511){return ERRORTYPES.num}if(number<0){return"1"+rept("0",9-(512+number).toString(2).length)+(512+number).toString(2)}var result=parseInt(number,10).toString(2);if(typeof places==="undefined"){return result}else{if(!/^-?[0-9]{1,3}$/.test(places)||isnan(places)){return ERRORTYPES.value}if(places<0){return ERRORTYPES.num}places=Math.floor(places);return places>=result.length?rept("0",places-result.length)+result:ERRORTYPES.num}}function oct2dec(octalNumber){if(!/^[0-7]{1,10}$/.test(octalNumber)){return ERRORTYPES.num}var nonNegativeDecimalNumber=parseInt(octalNumber,8);return nonNegativeDecimalNumber>=536870912?nonNegativeDecimalNumber-1073741824:nonNegativeDecimalNumber}function pluck(prop,list){if(!isarray(list)){return ERRORTYPES.na}return map(list,function(d){return d[prop]})}function sort(ref){var criteria=[],len=arguments.length-1;while(len-- >0)criteria[len]=arguments[len+1];var makeComparer=function(){return function(a,b){var result=0;for(var i=0;i<criteria.length;i=i+2){if(result!==0){continue}var field=typeof criteria[i]==="string"?criteria[i]:criteria[i]-1,order=criteria[i+1];if(a[field]<b[field]){result=order?-1:1}if(a[field]>b[field]){result=order?1:-1}}return result}};if(!isarray(ref)){return ERRORTYPES.na}return ref.sort(makeComparer())}function unflatten(ref,len){if(len===void 0)len=2;if(!isarray(ref)){return ERRORTYPES.value}return reduce(ref,function(p,v,i){if(i===0||i%len===0){p=p.concat([[]])}var lastIndex=p.length-1;p[lastIndex]=p[lastIndex].concat(v);return p},[])}function changed(a,b){var keysA=keys(a),keysB=keys(b);return unique(keysA.filter(function(n){return a[n]!==b[n]}).concat(keysB.filter(function(n){return a[n]!==b[n]})))}function diff(a,b){var keysA=keys(a),keysB=keys(b),InA=keysB.filter(function(n){return keysA.indexOf(n)>-1}),NotInA=keysB.filter(function(n){return keysA.indexOf(n)===-1}),NotInB=keysA.filter(function(n){return keysB.indexOf(n)===-1}),Diff=InA.filter(function(n){return a[n]!==b[n]});return{unique_left:NotInA,unique_right:NotInB,diff:reduce(Diff,function(x,y){var diff={};diff[y]={left:a[y],right:b[y]};return assign$1({},x,diff)},{})}}function select(fields,o){if(!o||"object"!=typeof o){return}if(!fields){return}if("string"==typeof fields){fields=fields.split(/ *, */)}if(isarray(o)){return o.map(function(obj){return reduce(fields,function(ret,key){ret[key]=obj[key];return ret},{})})}return reduce(fields,function(ret,key){ret[key]=o[key];return ret},{})}function clean(obj){var keys$1=keys(obj).filter(function(n){return!isblank(obj[n])});return select(keys$1,obj)}function get(p,o){return o[p]}function columnletter(index){if(!isnumber(index)){return ERRORTYPES.value}var converted="",secondPass=false,remainder,value=Math.abs(index);do{remainder=value%26;if(secondPass){remainder--}converted=String.fromCharCode(remainder+"A".charCodeAt(0))+converted;value=Math.floor((value-remainder)/26);secondPass=true}while(value>0);return converted}function address(row,col,absolute_relative_mode,use_a1_notation,sheet){var colLetter=columnletter(col-1);switch(absolute_relative_mode){case 0:return colLetter+row.toString();case 2:return colLetter+"$"+row.toString();case 3:return"$"+colLetter+row.toString();default:return"$"+colLetter+"$"+row.toString()}}function base(number,radix,min_length){if(min_length===void 0)min_length=0;number=numbervalue(number);radix=numbervalue(radix);min_length=numbervalue(min_length);min_length=min_length===undefined?0:min_length;var result=number.toString(radix);return new Array(Math.max(min_length+1-result.length,0)).join("0")+result}function cellindex(row,col){return Math.floor(row*MaxCols+col)}function ceiling(number,significance,mode){significance=significance===undefined?1:Math.abs(significance);mode=mode||0;number=numbervalue(number);significance=numbervalue(significance);mode=numbervalue(mode);if(significance===0){return 0}var precision=-Math.floor(Math.log(significance)/Math.log(10));if(number>=0){return round(Math.ceil(number/significance)*significance,precision)}else{if(mode===0){return-round(Math.floor(Math.abs(number)/significance)*significance,precision)}else{return-round(Math.ceil(Math.abs(number)/significance)*significance,precision)}}}function columnnumber(column){if(!istext(column)){return ERRORTYPES.value}var s=0;if(column.length>0){s=column.charCodeAt(0)-"A".charCodeAt(0);for(var i=1;i<column.length;i++){s+=1;s*=26;s+=column.charCodeAt(i)-"A".charCodeAt(0)}return s}return ERRORTYPES.value}function column(value){if(!isref(value)){return ERRORTYPES.value}return columnnumber(value.column)+1}function decodebase64(str){function atob(input){var str=String(input).replace(/=+$/,"");if(str.length%4==1){return ERRORTYPES.value}for(var bc=0,bs,buffer,idx=0,output="";buffer=str.charAt(idx++);~buffer&&(bs=bc%4?bs*64+buffer:buffer,bc++%4)?output+=String.fromCharCode(255&bs>>(-2*bc&6)):0){buffer=chars.indexOf(buffer)}return output}if(typeof window!=="undefined"&&typeof atob!=="undefined"){return window.atob(str)}else if(typeof module!=="undefined"&&module.exports){return new Buffer(str,"base64").toString()}else{var chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return atob(str)}}function decodejwt(token){function b64DecodeUnicode(str){return decodeURIComponent(Array.prototype.map.call(decodebase64(str),function(c){return"%"+("00"+c.charCodeAt(0).toString(16)).slice(-2)}).join(""))}return JSON.parse(b64DecodeUnicode(token.split(".")[1]))}function entries(obj){if(Object.entries){return Object.entries(obj)}var ownProps=keys(obj),i=ownProps.length,resArray=new Array(i);while(i--){resArray[i]=[ownProps[i],obj[ownProps[i]]]}return resArray}function even(number){return ceiling(number,-2,-1)}function floor(value,significance){significance=significance||1;if(value>0&&significance<0){return ERRORTYPES.num}if(value>=0){return Math.floor(value/significance)*significance}else{return Math.ceil(value/significance)*significance}}function group(list){var fields=[],len=arguments.length-1;while(len-- >0)fields[len]=arguments[len+1];return reduce(list,function(acc,item){var parent=undefined,key;fields.forEach(function(currentField,index){key=item[currentField];if(index===fields.length-1){if(!parent){if(!acc[key]){acc[key]=[]}acc[key].push(item)}else{if(!parent[key]){parent[key]=[]}parent[key].push(item)}}else{if(!parent){acc[key]=acc[key]||{};parent=acc[key]}else{parent[key]=parent[key]||{};parent=parent[key]}}});return acc},{})}function guid(){var guid="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(c){var r=Math.random()*16|0,v=c=="x"?r:r&3|8;return v.toString(16)});return guid}function hash(str){var hash=5381,i=str.length;while(i){hash=hash*33^str.charCodeAt(--i)}return hash>>>0}function int(value){return Math.floor(value)}function index2row(index){return Math.floor(index/MaxCols)}function index2col(index){return index-index2row(index)*MaxCols}function intersect(a,b){if(!isobject(a)){return _error.na}if(!isobject(b)){return _error.na}return Math.max(a.left,b.left)<Math.min(a.right,b.right)&&Math.max(a.top,b.top)<Math.min(a.bottom,b.bottom)}function interpolator(a,b){if(a===b||a!==a){return function(){return a}}var type=typeof a;if(type!==typeof b||Array.isArray(a)!==Array.isArray(b)){throw new Error("Cannot interpolate values of different type")}if(Array.isArray(a)){var arr=b.map(function(bi,i){return interpolator(a[i],bi)});return function(t){return arr.map(function(fn){return fn(t)})}}if(type==="object"){if(!a||!b){throw new Error("Object cannot be null")}if(isdate(a)&&isdate(b)){a=a.getTime();b=b.getTime();var delta=b-a;return function(t){return new Date(a+t*delta)}}var keys=Object.keys(b);var interpolators={};keys.forEach(function(key){interpolators[key]=interpolator(a[key],b[key])});return function(t){var result={};keys.forEach(function(key){result[key]=interpolators[key](t)});return result}}if(type==="number"){var delta$1=b-a;return function(t){return a+t*delta$1}}throw new Error("Cannot interpolate "+type+" values")}function interpolate(a,b,percentage){return interpolator(a,b)(percentage)}function numbers(){var values=[],len=arguments.length;while(len--)values[len]=arguments[len];return values.filter(isnumber)}function overlap(a,b){if(!isobject(a)){return _error.na}if(!isobject(b)){return _error.na}return a.left>=b.left&&a.right<=b.right&&a.top>=b.top&&a.bottom<=b.bottom}function ref$1(top,bottom){if(!isnumber(top)&&!isfunction(top)){return ERRORTYPES.value}if(isblank(bottom)){bottom=top}var getTop=function(){return isfunction(top)?top():top};var getBottom=function(){return isfunction(bottom)?bottom():bottom};return{get _isref(){return true},get top(){return getTop()},get bottom(){return getBottom()},get row(){return index2row(getTop())+1},get rowIndex(){return index2row(getTop())},get column(){return columnletter(index2col(getTop()))},get columnIndex(){return index2col(getTop())},get bottomRow(){return index2row(getBottom())+1},get bottomRowIndex(){return index2row(getBottom())},get bottomColumn(){return columnletter(index2col(getBottom()))},get bottomColumnIndex(){return index2col(getBottom())},hit:function hit(index){if(index<0){return ERRORTYPES.na}return index>=getTop()&&index<=getBottom()},get size(){return 1+(getBottom()-getTop())},get cells(){return Array.apply(getTop(),Array(1+(getBottom()-getTop()))).map(function(x,y){return y+getTop()})},get rows(){return unique(Array.apply(getTop(),Array(1+(getBottom()-getTop()))).map(function(x,y){return index2row(y+getTop())}))}}}exports.ABS=abs;exports.ACCRINT=accrint;exports.ACOS=acos;exports.ACOSH=acosh;exports.ACOT=acot;exports.ACOTH=acoth;exports.ADD=add;exports.ADDRESS=address;exports.AND=and;exports.ASIN=asin;exports.ASINH=asinh;exports.ASSIGN=assign$1;exports.ATAN=atan;exports.ATAN2=atan2;exports.ATANH=atan$1;exports.AVERAGE=average;exports.BASE=base;exports.BIN2DEC=bin2dec;exports.BRANCH=branch;exports.CAMELCASE=camelcase;exports.CEILING=ceiling;exports.CELLINDEX=cellindex;exports.CHANGED=changed;exports.CHAR=char;exports.CHOOSE=choose;exports.CLEAN=clean;exports.CODE=code;exports.COLUMN=column;exports.COLUMNLETTER=columnletter;exports.COLUMNNUMBER=columnnumber;exports.COMPILE=compile;exports.CONCATENATE=concatenate;exports.COS=cos;exports.CUMIPMT=cumipmt;exports.DATE=date;exports.DATEDIF=datedif;exports.DATEVALUE=datevalue;exports.DAY=day;exports.DAYS360=days360;exports.DEC2BIN=dec2bin;exports.DECODEBASE64=decodebase64;exports.DECODEJWT=decodejwt;exports.DEGREES=degrees;exports.DIFF=diff;exports.DIVIDE=divide;exports.EDATE=edate;exports.ENTRIES=entries;exports.EOMONTH=eomonth;exports.EQ=eq;exports.ERROR=_error;exports.ERRORTYPES=ERRORTYPES;exports.EVEN=even;exports.EXACT=exact;exports.FILTER=filter;exports.FIND=find;exports.FLATTEN=flatten;exports.FLOOR=floor;exports.FV=fv;exports.GET=get;exports.GROUP=group;exports.GT=gt;exports.GTE=gte;exports.GUID=guid;exports.HASH=hash;exports.HLOOKUP=hlookup;exports.HOUR=hour;exports.IDENTITY=identity;exports.IF=branch;exports.IFBLANK=ifblank;exports.IFEMPTY=ifempty;exports.IFERROR=iferror;exports.IFNA=ifna;exports.IFS=branch;exports.INCLUDES=includes;exports.INDEX=index;exports.INDEX2COL=index2col;exports.INDEX2ROW=index2row;exports.INT=int;exports.INTERPOLATE=interpolate;exports.INTERPOLATOR=interpolator;exports.INTERSECT=intersect;exports.IPMT=ipmt;exports.ISARRAY=isarray;exports.ISASYNCFUNCTION=isasyncfunction;exports.ISBLANK=isblank;exports.ISBOOLEAN=isboolean;exports.ISDATE=isdate;exports.ISEMAIL=isemail;exports.ISEMPTY=isempty;exports.ISERROR=iserror;exports.ISEVEN=iseven;exports.ISFALSY=isfalsy;exports.ISFUNCTION=isfunction;exports.ISLEAPYEAR=isleapyear;exports.ISLOWERCASE=islowercase;exports.ISNA=isna;exports.ISNAN=isnan;exports.ISNUMBER=isnumber;exports.ISOBJECT=isobject;exports.ISODD=isodd;exports.ISOWEEKNUM=isoweeknum;exports.ISOWeekNum=isoweeknum;exports.ISPROMISE=ispromise;exports.ISREF=isref;exports.ISTEXT=istext;exports.ISTRUTHY=istruthy;exports.ISUPPERCASE=isuppercase;exports.ISURL=isurl;exports.ISWHOLENUMBER=iswholenumber;exports.JOIN=join;exports.KEYS=keys;exports.LEFT=left;exports.LEN=len;exports.LOOKUP=lookup;exports.LOWER=lower;exports.LT=lt;exports.LTE=lte;exports.MAP=map;exports.MATCH=match;exports.MAX=max;exports.MIN=min;exports.MINUS=minus;exports.MINUTE=minute;exports.MOD=mod;exports.MONTH=month;exports.MULTIPLY=multiply;exports.N=n;exports.NAND=nand;exports.NE=ne;exports.NOR=nor;exports.NOT=not;exports.NOTINCLUDES=notincludes;exports.NOW=now;exports.NPER=nper;exports.NPV=npv;exports.NUMBERS=numbers;exports.NUMBERVALUE=numbervalue;exports.OCT2DEC=oct2dec;exports.OR=or;exports.OVERLAP=overlap;exports.PARSE=parse;exports.PARSEBOOL=parsebool;exports.PARSEDATE=parsedate;exports.PARSEQUERY=parsequery;exports.PI=pi;exports.PLUCK=pluck;exports.PLUS=plus;exports.PMT=pmt;exports.POWER=power;exports.PROPER=proper;exports.PV=pv;exports.QUERY=query;exports.REDUCE=reduce;exports.REF=ref$1;exports.REPLACE=replace;exports.REPT=rept;exports.RIGHT=right;exports.ROUND=round;exports.ROUNDUP=roundup;exports.RUN=run;exports.SEARCH=search;exports.SECOND=second;exports.SELECT=select;exports.SERIAL=serial;exports.SIN=sin;exports.SNAKECASE=snakecase;exports.SOME=some;exports.SORT=sort;exports.SPLIT=split;exports.SUBSTITUTE=substitute;exports.SUBSTITUTEALL=substituteAll;exports.SUBTRACT=subtract;exports.SUM=sum;exports.SURROUNDKEYS=surroundKeys;exports.SWITCH=SWITCH;exports.TAN=tan;exports.TAU=tau;exports.TEXT=text;exports.TIME=time;exports.TIMEVALUE=timevalue;exports.TODAY=today;exports.TRIM=trim;exports.TRUNC=trunc;exports.UNFLATTEN=unflatten;exports.UNIQUE=unique;exports.UPPER=upper;exports.VLOOKUP=vlookup;exports.WALKER=walker;exports.WALKERCONFIGDEFAULT=defaultConfig;exports.WALKERCONFIGFP=fpConfig;exports.WALKERCONFIGJS=jsConfig;exports.WITHIN=within;exports.XOR=xor;exports.YEAR=year;exports.YEARFRAC=yearfrac;exports.abs=abs;exports.accrint=accrint;exports.acos=acos;exports.acosh=acosh;exports.acot=acot;exports.acoth=acoth;exports.add=add;exports.address=address;exports.and=and;exports.asin=asin;exports.asinh=asinh;exports.assign=assign$1;exports.atan=atan;exports.atan2=atan2;exports.atanh=atan$1;exports.average=average;exports.base=base;exports.bin2dec=bin2dec;exports.branch=branch;exports.camelCase=camelcase;exports.camelcase=camelcase;exports.ceiling=ceiling;exports.cellIndex=cellindex;exports.cellindex=cellindex;exports.changed=changed;exports.char=char;exports.choose=choose;exports.clean=clean;exports.code=code;exports.column=column;exports.columnLetter=columnletter;exports.columnNumber=columnnumber;exports.columnletter=columnletter;exports.columnnumber=columnnumber;exports.compile=compile;exports.concatenate=concatenate;exports.cos=cos;exports.cumipmt=cumipmt;exports.date=date;exports.datedif=datedif;exports.datevalue=datevalue;exports.day=day;exports.days360=days360;exports.dec2bin=dec2bin;exports.decodeBase64=decodebase64;exports.decodeJWT=decodejwt;exports.decodebase64=decodebase64;exports.decodejwt=decodejwt;exports.degrees=degrees;exports.diff=diff;exports.divide=divide;exports.edate=edate;exports.entries=entries;exports.eomonth=eomonth;exports.eq=eq;exports.even=even;exports.exact=exact;exports.filter=filter;exports.find=find;exports.flatten=flatten;exports.floor=floor;exports.fv=fv;exports.get=get;exports.group=group;exports.gt=gt;exports.gte=gte;exports.guid=guid;exports.hash=hash;exports.hlookup=hlookup;exports.hour=hour;exports.identity=identity;exports.if=branch;exports.ifBlank=ifblank;exports.ifEmpty=ifempty;exports.ifError=iferror;exports.ifNA=ifna;exports.ifblank=ifblank;exports.ifempty=ifempty;exports.iferror=iferror;exports.ifna=ifna;exports.ifs=branch;exports.includes=includes;exports.index=index;exports.index2Col=index2col;exports.index2Row=index2row;exports.index2col=index2col;exports.index2row=index2row;exports.int=int;exports.interpolate=interpolate;exports.interpolator=interpolator;exports.intersect=intersect;exports.ipmt=ipmt;exports.isArray=isarray;exports.isAsyncFunction=isasyncfunction;exports.isBlank=isblank;exports.isBoolean=isboolean;exports.isDate=isdate;exports.isEmail=isemail;exports.isEmpty=isempty;exports.isError=iserror;exports.isEven=iseven;exports.isFalsy=isfalsy;exports.isFunction=isfunction;exports.isLeapYear=isleapyear;exports.isLowerCase=islowercase;exports.isNA=isna;exports.isNaN=isnan;exports.isNumber=isnumber;exports.isObject=isobject;exports.isOdd=isodd;exports.isPromise=ispromise;exports.isRef=isref;exports.isText=istext;exports.isTruthy=istruthy;exports.isURL=isurl;exports.isUpperCase=isuppercase;exports.isWholeNumber=iswholenumber;exports.isarray=isarray;exports.isasyncfunction=isasyncfunction;exports.isblank=isblank;exports.isboolean=isboolean;exports.isdate=isdate;exports.isemail=isemail;exports.isempty=isempty;exports.iserror=iserror;exports.iseven=iseven;exports.isfalsy=isfalsy;exports.isfunction=isfunction;exports.isleapyear=isleapyear;exports.islowercase=islowercase;exports.isna=isna;exports.isnan=isnan;exports.isnumber=isnumber;exports.isodd=isodd;exports.isoweeknum=isoweeknum;exports.ispromise=ispromise;exports.isref=isref;exports.istruthy=istruthy;exports.isuppercase=isuppercase;exports.isurl=isurl;exports.iswholenumber=iswholenumber;exports.join=join;exports.keys=keys;exports.left=left;exports.len=len;exports.lookup=lookup;exports.lower=lower;exports.lt=lt;exports.lte=lte;exports.map=map;exports.match=match;exports.max=max;exports.min=min;exports.minus=minus;exports.minute=minute;exports.mod=mod;exports.month=month;exports.multiply=multiply;exports.n=n;exports.nand=nand;exports.ne=ne;exports.nor=nor;exports.not=not;exports.notIncludes=notincludes;exports.notincludes=notincludes;exports.now=now;exports.nper=nper;exports.npv=npv;exports.numberValue=numbervalue;exports.numbers=numbers;exports.numbervalue=numbervalue;exports.oct2dec=oct2dec;exports.or=or;exports.overlap=overlap;exports.parse=parse;exports.parseBool=parsebool;exports.parseDate=parsedate;exports.parseQuery=parsequery;exports.parsebool=parsebool;exports.parsedate=parsedate;exports.parsequery=parsequery;exports.pi=pi;exports.pluck=pluck;exports.plus=plus;exports.pmt=pmt;exports.power=power;exports.proper=proper;exports.pv=pv;exports.query=query;exports.reduce=reduce;exports.ref=ref$1;exports.replace=replace;exports.rept=rept;exports.right=right;exports.round=round;exports.roundUp=roundup;exports.roundup=roundup;exports.run=run;exports.search=search;exports.second=second;exports.select=select;exports.serial=serial;exports.sin=sin;exports.snakeCase=snakecase;exports.snakecase=snakecase;exports.some=some;exports.sort=sort;exports.split=split;exports.substitute=substitute;exports.substituteAll=substituteAll;exports.substituteall=substituteAll;exports.subtract=subtract;exports.sum=sum;exports.surroundKeys=surroundKeys;exports.surroundkeys=surroundKeys;exports.switch=SWITCH;exports.tan=tan;exports.tau=tau;exports.text=text;exports.time=time;exports.timevalue=timevalue;exports.today=today;exports.trim=trim;exports.trunc=trunc;exports.unFlatten=unflatten;exports.unflatten=unflatten;exports.unique=unique;exports.upper=upper;exports.vlookup=vlookup;exports.withIn=within;exports.within=within;exports.xor=xor;exports.year=year;exports.yearfrac=yearfrac;Object.defineProperty(exports,"__esModule",{value:true})});
