UNPKG

@nocobase/plugin-workflow

Version:

A powerful BPM tool that provides foundational support for business automation, with the capability to extend unlimited triggers and nodes.

1 lines • 182 kB
(()=>{"use strict";var e={5545:(e,t,r)=>{const s=r(2718);const n=r(5578);const i=r(445);const a=r(8891);const o={};e.exports=function(e,t,r={}){s(e&&typeof e==="object","Invalid defaults value: must be an object");s(!t||t===true||typeof t==="object","Invalid source value: must be true, falsy or an object");s(typeof r==="object","Invalid options: must be an object");if(!t){return null}if(r.shallow){return o.applyToDefaultsWithShallow(e,t,r)}const a=n(e);if(t===true){return a}const l=r.nullOverride!==undefined?r.nullOverride:false;return i(a,t,{nullOverride:l,mergeArrays:false})};o.applyToDefaultsWithShallow=function(e,t,r){const l=r.shallow;s(Array.isArray(l),"Invalid keys");const c=new Map;const u=t===true?null:new Set;for(let r of l){r=Array.isArray(r)?r:r.split(".");const s=a(e,r);if(s&&typeof s==="object"){c.set(s,u&&a(t,r)||s)}else if(u){u.add(r)}}const f=n(e,{},c);if(!u){return f}for(const e of u){o.reachCopy(f,t,e)}const d=r.nullOverride!==undefined?r.nullOverride:false;return i(f,t,{nullOverride:d,mergeArrays:false})};o.reachCopy=function(e,t,r){for(const e of r){if(!(e in t)){return}const r=t[e];if(typeof r!=="object"||r===null){return}t=r}const s=t;let n=e;for(let e=0;e<r.length-1;++e){const t=r[e];if(typeof n[t]!=="object"){n[t]={}}n=n[t]}n[r[r.length-1]]=s}},2718:(e,t,r)=>{const s=r(5563);const n={};e.exports=function(e,...t){if(e){return}if(t.length===1&&t[0]instanceof Error){throw t[0]}throw new s(t)}},5578:(e,t,r)=>{const s=r(8891);const n=r(6657);const i=r(417);const a={needsProtoHack:new Set([n.set,n.map,n.weakSet,n.weakMap])};e.exports=a.clone=function(e,t={},r=null){if(typeof e!=="object"||e===null){return e}let s=a.clone;let o=r;if(t.shallow){if(t.shallow!==true){return a.cloneWithShallow(e,t)}s=e=>e}else if(o){const t=o.get(e);if(t){return t}}else{o=new Map}const l=n.getInternalProto(e);if(l===n.buffer){return Buffer&&Buffer.from(e)}if(l===n.date){return new Date(e.getTime())}if(l===n.regex){return new RegExp(e)}const c=a.base(e,l,t);if(c===e){return e}if(o){o.set(e,c)}if(l===n.set){for(const r of e){c.add(s(r,t,o))}}else if(l===n.map){for(const[r,n]of e){c.set(r,s(n,t,o))}}const u=i.keys(e,t);for(const r of u){if(r==="__proto__"){continue}if(l===n.array&&r==="length"){c.length=e.length;continue}const i=Object.getOwnPropertyDescriptor(e,r);if(i){if(i.get||i.set){Object.defineProperty(c,r,i)}else if(i.enumerable){c[r]=s(e[r],t,o)}else{Object.defineProperty(c,r,{enumerable:false,writable:true,configurable:true,value:s(e[r],t,o)})}}else{Object.defineProperty(c,r,{enumerable:true,writable:true,configurable:true,value:s(e[r],t,o)})}}return c};a.cloneWithShallow=function(e,t){const r=t.shallow;t=Object.assign({},t);t.shallow=false;const n=new Map;for(const t of r){const r=s(e,t);if(typeof r==="object"||typeof r==="function"){n.set(r,r)}}return a.clone(e,t,n)};a.base=function(e,t,r){if(r.prototype===false){if(a.needsProtoHack.has(t)){return new t.constructor}return t===n.array?[]:{}}const s=Object.getPrototypeOf(e);if(s&&s.isImmutable){return e}if(t===n.array){const e=[];if(s!==t){Object.setPrototypeOf(e,s)}return e}if(a.needsProtoHack.has(t)){const e=new s.constructor;if(s!==t){Object.setPrototypeOf(e,s)}return e}return Object.create(s)}},5801:(e,t,r)=>{const s=r(6657);const n={mismatched:null};e.exports=function(e,t,r){r=Object.assign({prototype:true},r);return!!n.isDeepEqual(e,t,r,[])};n.isDeepEqual=function(e,t,r,i){if(e===t){return e!==0||1/e===1/t}const a=typeof e;if(a!==typeof t){return false}if(e===null||t===null){return false}if(a==="function"){if(!r.deepFunction||e.toString()!==t.toString()){return false}}else if(a!=="object"){return e!==e&&t!==t}const o=n.getSharedType(e,t,!!r.prototype);switch(o){case s.buffer:return Buffer&&Buffer.prototype.equals.call(e,t);case s.promise:return e===t;case s.regex:return e.toString()===t.toString();case n.mismatched:return false}for(let r=i.length-1;r>=0;--r){if(i[r].isSame(e,t)){return true}}i.push(new n.SeenEntry(e,t));try{return!!n.isDeepEqualObj(o,e,t,r,i)}finally{i.pop()}};n.getSharedType=function(e,t,r){if(r){if(Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)){return n.mismatched}return s.getInternalProto(e)}const i=s.getInternalProto(e);if(i!==s.getInternalProto(t)){return n.mismatched}return i};n.valueOf=function(e){const t=e.valueOf;if(t===undefined){return e}try{return t.call(e)}catch(e){return e}};n.hasOwnEnumerableProperty=function(e,t){return Object.prototype.propertyIsEnumerable.call(e,t)};n.isSetSimpleEqual=function(e,t){for(const r of Set.prototype.values.call(e)){if(!Set.prototype.has.call(t,r)){return false}}return true};n.isDeepEqualObj=function(e,t,r,i,a){const{isDeepEqual:o,valueOf:l,hasOwnEnumerableProperty:c}=n;const{keys:u,getOwnPropertySymbols:f}=Object;if(e===s.array){if(i.part){for(const e of t){for(const t of r){if(o(e,t,i,a)){return true}}}}else{if(t.length!==r.length){return false}for(let e=0;e<t.length;++e){if(!o(t[e],r[e],i,a)){return false}}return true}}else if(e===s.set){if(t.size!==r.size){return false}if(!n.isSetSimpleEqual(t,r)){const e=new Set(Set.prototype.values.call(r));for(const r of Set.prototype.values.call(t)){if(e.delete(r)){continue}let t=false;for(const s of e){if(o(r,s,i,a)){e.delete(s);t=true;break}}if(!t){return false}}}}else if(e===s.map){if(t.size!==r.size){return false}for(const[e,s]of Map.prototype.entries.call(t)){if(s===undefined&&!Map.prototype.has.call(r,e)){return false}if(!o(s,Map.prototype.get.call(r,e),i,a)){return false}}}else if(e===s.error){if(t.name!==r.name||t.message!==r.message){return false}}const d=l(t);const m=l(r);if((t!==d||r!==m)&&!o(d,m,i,a)){return false}const h=u(t);if(!i.part&&h.length!==u(r).length&&!i.skip){return false}let p=0;for(const e of h){if(i.skip&&i.skip.includes(e)){if(r[e]===undefined){++p}continue}if(!c(r,e)){return false}if(!o(t[e],r[e],i,a)){return false}}if(!i.part&&h.length-p!==u(r).length){return false}if(i.symbols!==false){const e=f(t);const s=new Set(f(r));for(const n of e){if(!i.skip||!i.skip.includes(n)){if(c(t,n)){if(!c(r,n)){return false}if(!o(t[n],r[n],i,a)){return false}}else if(c(r,n)){return false}}s.delete(n)}for(const e of s){if(c(r,e)){return false}}}return true};n.SeenEntry=class{constructor(e,t){this.obj=e;this.ref=t}isSame(e,t){return this.obj===e&&this.ref===t}}},5563:(e,t,r)=>{const s=r(7577);const n={};e.exports=class extends Error{constructor(e){const r=e.filter((e=>e!=="")).map((e=>typeof e==="string"?e:e instanceof Error?e.message:s(e)));super(r.join(" ")||"Unknown error");if(typeof Error.captureStackTrace==="function"){Error.captureStackTrace(this,t.assert)}}}},4752:e=>{const t={};e.exports=function(e){if(!e){return""}let r="";for(let s=0;s<e.length;++s){const n=e.charCodeAt(s);if(t.isSafe(n)){r+=e[s]}else{r+=t.escapeHtmlChar(n)}}return r};t.escapeHtmlChar=function(e){const r=t.namedHtml.get(e);if(r){return r}if(e>=256){return"&#"+e+";"}const s=e.toString(16).padStart(2,"0");return`&#x${s};`};t.isSafe=function(e){return t.safeCharCodes.has(e)};t.namedHtml=new Map([[38,"&amp;"],[60,"&lt;"],[62,"&gt;"],[34,"&quot;"],[160,"&nbsp;"],[162,"&cent;"],[163,"&pound;"],[164,"&curren;"],[169,"&copy;"],[174,"&reg;"]]);t.safeCharCodes=function(){const e=new Set;for(let t=32;t<123;++t){if(t>=97||t>=65&&t<=90||t>=48&&t<=57||t===32||t===46||t===44||t===45||t===58||t===95){e.add(t)}}return e}()},1965:e=>{const t={};e.exports=function(e){return e.replace(/[\^\$\.\*\+\-\?\=\!\:\|\\\/\(\)\[\]\{\}\,]/g,"\\$&")}},2887:e=>{const t={};e.exports=function(){}},445:(e,t,r)=>{const s=r(2718);const n=r(5578);const i=r(417);const a={};e.exports=a.merge=function(e,t,r){s(e&&typeof e==="object","Invalid target value: must be an object");s(t===null||t===undefined||typeof t==="object","Invalid source value: must be null, undefined, or an object");if(!t){return e}r=Object.assign({nullOverride:true,mergeArrays:true},r);if(Array.isArray(t)){s(Array.isArray(e),"Cannot merge array onto an object");if(!r.mergeArrays){e.length=0}for(let s=0;s<t.length;++s){e.push(n(t[s],{symbols:r.symbols}))}return e}const o=i.keys(t,r);for(let s=0;s<o.length;++s){const i=o[s];if(i==="__proto__"||!Object.prototype.propertyIsEnumerable.call(t,i)){continue}const l=t[i];if(l&&typeof l==="object"){if(e[i]===l){continue}if(!e[i]||typeof e[i]!=="object"||Array.isArray(e[i])!==Array.isArray(l)||l instanceof Date||Buffer&&Buffer.isBuffer(l)||l instanceof RegExp){e[i]=n(l,{symbols:r.symbols})}else{a.merge(e[i],l,r)}}else{if(l!==null&&l!==undefined){e[i]=l}else if(r.nullOverride){e[i]=l}}}return e}},8891:(e,t,r)=>{const s=r(2718);const n={};e.exports=function(e,t,r){if(t===false||t===null||t===undefined){return e}r=r||{};if(typeof r==="string"){r={separator:r}}const i=Array.isArray(t);s(!i||!r.separator,"Separator option is not valid for array-based chain");const a=i?t:t.split(r.separator||".");let o=e;for(let e=0;e<a.length;++e){let i=a[e];const l=r.iterables&&n.iterables(o);if(Array.isArray(o)||l==="set"){const e=Number(i);if(Number.isInteger(e)){i=e<0?o.length+e:e}}if(!o||typeof o==="function"&&r.functions===false||!l&&o[i]===undefined){s(!r.strict||e+1===a.length,"Missing segment",i,"in reach path ",t);s(typeof o==="object"||r.functions===true||typeof o!=="function","Invalid segment",i,"in reach path ",t);o=r.default;break}if(!l){o=o[i]}else if(l==="set"){o=[...o][i]}else{o=o.get(i)}}return o};n.iterables=function(e){if(e instanceof Set){return"set"}if(e instanceof Map){return"map"}}},7577:e=>{const t={};e.exports=function(...e){try{return JSON.stringify(...e)}catch(e){return"[Cannot display object: "+e.message+"]"}}},6657:(e,t)=>{const r={};t=e.exports={array:Array.prototype,buffer:Buffer&&Buffer.prototype,date:Date.prototype,error:Error.prototype,generic:Object.prototype,map:Map.prototype,promise:Promise.prototype,regex:RegExp.prototype,set:Set.prototype,weakMap:WeakMap.prototype,weakSet:WeakSet.prototype};r.typeMap=new Map([["[object Error]",t.error],["[object Map]",t.map],["[object Promise]",t.promise],["[object Set]",t.set],["[object WeakMap]",t.weakMap],["[object WeakSet]",t.weakSet]]);t.getInternalProto=function(e){if(Array.isArray(e)){return t.array}if(Buffer&&e instanceof Buffer){return t.buffer}if(e instanceof Date){return t.date}if(e instanceof RegExp){return t.regex}if(e instanceof Error){return t.error}const s=Object.prototype.toString.call(e);return r.typeMap.get(s)||t.generic}},417:(e,t)=>{const r={};t.keys=function(e,t={}){return t.symbols!==false?Reflect.ownKeys(e):Object.getOwnPropertyNames(e)}},7425:(e,t,r)=>{const s=r(7310);const n=r(1594);const i={minDomainSegments:2,nonAsciiRx:/[^\x00-\x7f]/,domainControlRx:/[\x00-\x20@\:\/\\#!\$&\'\(\)\*\+,;=\?]/,tldSegmentRx:/^[a-zA-Z](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?$/,domainSegmentRx:/^[a-zA-Z0-9](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?$/,URL:s.URL||URL};t.analyze=function(e,t={}){if(!e){return n.code("DOMAIN_NON_EMPTY_STRING")}if(typeof e!=="string"){throw new Error("Invalid input: domain must be a string")}if(e.length>256){return n.code("DOMAIN_TOO_LONG")}const r=!i.nonAsciiRx.test(e);if(!r){if(t.allowUnicode===false){return n.code("DOMAIN_INVALID_UNICODE_CHARS")}e=e.normalize("NFC")}if(i.domainControlRx.test(e)){return n.code("DOMAIN_INVALID_CHARS")}e=i.punycode(e);if(t.allowFullyQualified&&e[e.length-1]==="."){e=e.slice(0,-1)}const s=t.minDomainSegments||i.minDomainSegments;const a=e.split(".");if(a.length<s){return n.code("DOMAIN_SEGMENTS_COUNT")}if(t.maxDomainSegments){if(a.length>t.maxDomainSegments){return n.code("DOMAIN_SEGMENTS_COUNT_MAX")}}const o=t.tlds;if(o){const e=a[a.length-1].toLowerCase();if(o.deny&&o.deny.has(e)||o.allow&&!o.allow.has(e)){return n.code("DOMAIN_FORBIDDEN_TLDS")}}for(let e=0;e<a.length;++e){const t=a[e];if(!t.length){return n.code("DOMAIN_EMPTY_SEGMENT")}if(t.length>63){return n.code("DOMAIN_LONG_SEGMENT")}if(e<a.length-1){if(!i.domainSegmentRx.test(t)){return n.code("DOMAIN_INVALID_CHARS")}}else{if(!i.tldSegmentRx.test(t)){return n.code("DOMAIN_INVALID_TLDS_CHARS")}}}return null};t.isValid=function(e,r){return!t.analyze(e,r)};i.punycode=function(e){if(e.includes("%")){e=e.replace(/%/g,"%25")}try{return new i.URL(`http://${e}`).host}catch(t){return e}}},3283:(e,t,r)=>{const s=r(3837);const n=r(7425);const i=r(1594);const a={nonAsciiRx:/[^\x00-\x7f]/,encoder:new(s.TextEncoder||TextEncoder)};t.analyze=function(e,t){return a.email(e,t)};t.isValid=function(e,t){return!a.email(e,t)};a.email=function(e,t={}){if(typeof e!=="string"){throw new Error("Invalid input: email must be a string")}if(!e){return i.code("EMPTY_STRING")}const r=!a.nonAsciiRx.test(e);if(!r){if(t.allowUnicode===false){return i.code("FORBIDDEN_UNICODE")}e=e.normalize("NFC")}const s=e.split("@");if(s.length!==2){return s.length>2?i.code("MULTIPLE_AT_CHAR"):i.code("MISSING_AT_CHAR")}const[o,l]=s;if(!o){return i.code("EMPTY_LOCAL")}if(!t.ignoreLength){if(e.length>254){return i.code("ADDRESS_TOO_LONG")}if(a.encoder.encode(o).length>64){return i.code("LOCAL_TOO_LONG")}}return a.local(o,r)||n.analyze(l,t)};a.local=function(e,t){const r=e.split(".");for(const e of r){if(!e.length){return i.code("EMPTY_LOCAL_SEGMENT")}if(t){if(!a.atextRx.test(e)){return i.code("INVALID_LOCAL_CHARS")}continue}for(const t of e){if(a.atextRx.test(t)){continue}const e=a.binary(t);if(!a.atomRx.test(e)){return i.code("INVALID_LOCAL_CHARS")}}}};a.binary=function(e){return Array.from(a.encoder.encode(e)).map((e=>String.fromCharCode(e))).join("")};a.atextRx=/^[\w!#\$%&'\*\+\-/=\?\^`\{\|\}~]+$/;a.atomRx=new RegExp(["(?:[\\xc2-\\xdf][\\x80-\\xbf])","(?:\\xe0[\\xa0-\\xbf][\\x80-\\xbf])|(?:[\\xe1-\\xec][\\x80-\\xbf]{2})|(?:\\xed[\\x80-\\x9f][\\x80-\\xbf])|(?:[\\xee-\\xef][\\x80-\\xbf]{2})","(?:\\xf0[\\x90-\\xbf][\\x80-\\xbf]{2})|(?:[\\xf1-\\xf3][\\x80-\\xbf]{3})|(?:\\xf4[\\x80-\\x8f][\\x80-\\xbf]{2})"].join("|"))},1594:(e,t)=>{t.codes={EMPTY_STRING:"Address must be a non-empty string",FORBIDDEN_UNICODE:"Address contains forbidden Unicode characters",MULTIPLE_AT_CHAR:"Address cannot contain more than one @ character",MISSING_AT_CHAR:"Address must contain one @ character",EMPTY_LOCAL:"Address local part cannot be empty",ADDRESS_TOO_LONG:"Address too long",LOCAL_TOO_LONG:"Address local part too long",EMPTY_LOCAL_SEGMENT:"Address local part contains empty dot-separated segment",INVALID_LOCAL_CHARS:"Address local part contains invalid character",DOMAIN_NON_EMPTY_STRING:"Domain must be a non-empty string",DOMAIN_TOO_LONG:"Domain too long",DOMAIN_INVALID_UNICODE_CHARS:"Domain contains forbidden Unicode characters",DOMAIN_INVALID_CHARS:"Domain contains invalid character",DOMAIN_INVALID_TLDS_CHARS:"Domain contains invalid tld character",DOMAIN_SEGMENTS_COUNT:"Domain lacks the minimum required number of segments",DOMAIN_SEGMENTS_COUNT_MAX:"Domain contains too many segments",DOMAIN_FORBIDDEN_TLDS:"Domain uses forbidden TLD",DOMAIN_EMPTY_SEGMENT:"Domain contains empty dot-separated segment",DOMAIN_LONG_SEGMENT:"Domain contains dot-separated segment that is too long"};t.code=function(e){return{code:e,error:t.codes[e]}}},2337:(e,t,r)=>{const s=r(2718);const n=r(4983);const i={};t.regex=function(e={}){s(e.cidr===undefined||typeof e.cidr==="string","options.cidr must be a string");const t=e.cidr?e.cidr.toLowerCase():"optional";s(["required","optional","forbidden"].includes(t),"options.cidr must be one of required, optional, forbidden");s(e.version===undefined||typeof e.version==="string"||Array.isArray(e.version),"options.version must be a string or an array of string");let r=e.version||["ipv4","ipv6","ipvfuture"];if(!Array.isArray(r)){r=[r]}s(r.length>=1,"options.version must have at least 1 version specified");for(let e=0;e<r.length;++e){s(typeof r[e]==="string","options.version must only contain strings");r[e]=r[e].toLowerCase();s(["ipv4","ipv6","ipvfuture"].includes(r[e]),"options.version contains unknown version "+r[e]+" - must be one of ipv4, ipv6, ipvfuture")}r=Array.from(new Set(r));const i=r.map((e=>{if(t==="forbidden"){return n.ip[e]}const r=`\\/${e==="ipv4"?n.ip.v4Cidr:n.ip.v6Cidr}`;if(t==="required"){return`${n.ip[e]}${r}`}return`${n.ip[e]}(?:${r})?`}));const a=`(?:${i.join("|")})`;const o=new RegExp(`^${a}$`);return{cidr:t,versions:r,regex:o,raw:a}}},3092:e=>{const t={};t.tlds=["AAA","AARP","ABB","ABBOTT","ABBVIE","ABC","ABLE","ABOGADO","ABUDHABI","AC","ACADEMY","ACCENTURE","ACCOUNTANT","ACCOUNTANTS","ACO","ACTOR","AD","ADS","ADULT","AE","AEG","AERO","AETNA","AF","AFL","AFRICA","AG","AGAKHAN","AGENCY","AI","AIG","AIRBUS","AIRFORCE","AIRTEL","AKDN","AL","ALIBABA","ALIPAY","ALLFINANZ","ALLSTATE","ALLY","ALSACE","ALSTOM","AM","AMAZON","AMERICANEXPRESS","AMERICANFAMILY","AMEX","AMFAM","AMICA","AMSTERDAM","ANALYTICS","ANDROID","ANQUAN","ANZ","AO","AOL","APARTMENTS","APP","APPLE","AQ","AQUARELLE","AR","ARAB","ARAMCO","ARCHI","ARMY","ARPA","ART","ARTE","AS","ASDA","ASIA","ASSOCIATES","AT","ATHLETA","ATTORNEY","AU","AUCTION","AUDI","AUDIBLE","AUDIO","AUSPOST","AUTHOR","AUTO","AUTOS","AVIANCA","AW","AWS","AX","AXA","AZ","AZURE","BA","BABY","BAIDU","BANAMEX","BAND","BANK","BAR","BARCELONA","BARCLAYCARD","BARCLAYS","BAREFOOT","BARGAINS","BASEBALL","BASKETBALL","BAUHAUS","BAYERN","BB","BBC","BBT","BBVA","BCG","BCN","BD","BE","BEATS","BEAUTY","BEER","BENTLEY","BERLIN","BEST","BESTBUY","BET","BF","BG","BH","BHARTI","BI","BIBLE","BID","BIKE","BING","BINGO","BIO","BIZ","BJ","BLACK","BLACKFRIDAY","BLOCKBUSTER","BLOG","BLOOMBERG","BLUE","BM","BMS","BMW","BN","BNPPARIBAS","BO","BOATS","BOEHRINGER","BOFA","BOM","BOND","BOO","BOOK","BOOKING","BOSCH","BOSTIK","BOSTON","BOT","BOUTIQUE","BOX","BR","BRADESCO","BRIDGESTONE","BROADWAY","BROKER","BROTHER","BRUSSELS","BS","BT","BUILD","BUILDERS","BUSINESS","BUY","BUZZ","BV","BW","BY","BZ","BZH","CA","CAB","CAFE","CAL","CALL","CALVINKLEIN","CAM","CAMERA","CAMP","CANON","CAPETOWN","CAPITAL","CAPITALONE","CAR","CARAVAN","CARDS","CARE","CAREER","CAREERS","CARS","CASA","CASE","CASH","CASINO","CAT","CATERING","CATHOLIC","CBA","CBN","CBRE","CC","CD","CENTER","CEO","CERN","CF","CFA","CFD","CG","CH","CHANEL","CHANNEL","CHARITY","CHASE","CHAT","CHEAP","CHINTAI","CHRISTMAS","CHROME","CHURCH","CI","CIPRIANI","CIRCLE","CISCO","CITADEL","CITI","CITIC","CITY","CK","CL","CLAIMS","CLEANING","CLICK","CLINIC","CLINIQUE","CLOTHING","CLOUD","CLUB","CLUBMED","CM","CN","CO","COACH","CODES","COFFEE","COLLEGE","COLOGNE","COM","COMCAST","COMMBANK","COMMUNITY","COMPANY","COMPARE","COMPUTER","COMSEC","CONDOS","CONSTRUCTION","CONSULTING","CONTACT","CONTRACTORS","COOKING","COOL","COOP","CORSICA","COUNTRY","COUPON","COUPONS","COURSES","CPA","CR","CREDIT","CREDITCARD","CREDITUNION","CRICKET","CROWN","CRS","CRUISE","CRUISES","CU","CUISINELLA","CV","CW","CX","CY","CYMRU","CYOU","CZ","DABUR","DAD","DANCE","DATA","DATE","DATING","DATSUN","DAY","DCLK","DDS","DE","DEAL","DEALER","DEALS","DEGREE","DELIVERY","DELL","DELOITTE","DELTA","DEMOCRAT","DENTAL","DENTIST","DESI","DESIGN","DEV","DHL","DIAMONDS","DIET","DIGITAL","DIRECT","DIRECTORY","DISCOUNT","DISCOVER","DISH","DIY","DJ","DK","DM","DNP","DO","DOCS","DOCTOR","DOG","DOMAINS","DOT","DOWNLOAD","DRIVE","DTV","DUBAI","DUNLOP","DUPONT","DURBAN","DVAG","DVR","DZ","EARTH","EAT","EC","ECO","EDEKA","EDU","EDUCATION","EE","EG","EMAIL","EMERCK","ENERGY","ENGINEER","ENGINEERING","ENTERPRISES","EPSON","EQUIPMENT","ER","ERICSSON","ERNI","ES","ESQ","ESTATE","ET","EU","EUROVISION","EUS","EVENTS","EXCHANGE","EXPERT","EXPOSED","EXPRESS","EXTRASPACE","FAGE","FAIL","FAIRWINDS","FAITH","FAMILY","FAN","FANS","FARM","FARMERS","FASHION","FAST","FEDEX","FEEDBACK","FERRARI","FERRERO","FI","FIDELITY","FIDO","FILM","FINAL","FINANCE","FINANCIAL","FIRE","FIRESTONE","FIRMDALE","FISH","FISHING","FIT","FITNESS","FJ","FK","FLICKR","FLIGHTS","FLIR","FLORIST","FLOWERS","FLY","FM","FO","FOO","FOOD","FOOTBALL","FORD","FOREX","FORSALE","FORUM","FOUNDATION","FOX","FR","FREE","FRESENIUS","FRL","FROGANS","FRONTIER","FTR","FUJITSU","FUN","FUND","FURNITURE","FUTBOL","FYI","GA","GAL","GALLERY","GALLO","GALLUP","GAME","GAMES","GAP","GARDEN","GAY","GB","GBIZ","GD","GDN","GE","GEA","GENT","GENTING","GEORGE","GF","GG","GGEE","GH","GI","GIFT","GIFTS","GIVES","GIVING","GL","GLASS","GLE","GLOBAL","GLOBO","GM","GMAIL","GMBH","GMO","GMX","GN","GODADDY","GOLD","GOLDPOINT","GOLF","GOO","GOODYEAR","GOOG","GOOGLE","GOP","GOT","GOV","GP","GQ","GR","GRAINGER","GRAPHICS","GRATIS","GREEN","GRIPE","GROCERY","GROUP","GS","GT","GU","GUARDIAN","GUCCI","GUGE","GUIDE","GUITARS","GURU","GW","GY","HAIR","HAMBURG","HANGOUT","HAUS","HBO","HDFC","HDFCBANK","HEALTH","HEALTHCARE","HELP","HELSINKI","HERE","HERMES","HIPHOP","HISAMITSU","HITACHI","HIV","HK","HKT","HM","HN","HOCKEY","HOLDINGS","HOLIDAY","HOMEDEPOT","HOMEGOODS","HOMES","HOMESENSE","HONDA","HORSE","HOSPITAL","HOST","HOSTING","HOT","HOTELS","HOTMAIL","HOUSE","HOW","HR","HSBC","HT","HU","HUGHES","HYATT","HYUNDAI","IBM","ICBC","ICE","ICU","ID","IE","IEEE","IFM","IKANO","IL","IM","IMAMAT","IMDB","IMMO","IMMOBILIEN","IN","INC","INDUSTRIES","INFINITI","INFO","ING","INK","INSTITUTE","INSURANCE","INSURE","INT","INTERNATIONAL","INTUIT","INVESTMENTS","IO","IPIRANGA","IQ","IR","IRISH","IS","ISMAILI","IST","ISTANBUL","IT","ITAU","ITV","JAGUAR","JAVA","JCB","JE","JEEP","JETZT","JEWELRY","JIO","JLL","JM","JMP","JNJ","JO","JOBS","JOBURG","JOT","JOY","JP","JPMORGAN","JPRS","JUEGOS","JUNIPER","KAUFEN","KDDI","KE","KERRYHOTELS","KERRYLOGISTICS","KERRYPROPERTIES","KFH","KG","KH","KI","KIA","KIDS","KIM","KINDLE","KITCHEN","KIWI","KM","KN","KOELN","KOMATSU","KOSHER","KP","KPMG","KPN","KR","KRD","KRED","KUOKGROUP","KW","KY","KYOTO","KZ","LA","LACAIXA","LAMBORGHINI","LAMER","LANCASTER","LAND","LANDROVER","LANXESS","LASALLE","LAT","LATINO","LATROBE","LAW","LAWYER","LB","LC","LDS","LEASE","LECLERC","LEFRAK","LEGAL","LEGO","LEXUS","LGBT","LI","LIDL","LIFE","LIFEINSURANCE","LIFESTYLE","LIGHTING","LIKE","LILLY","LIMITED","LIMO","LINCOLN","LINK","LIPSY","LIVE","LIVING","LK","LLC","LLP","LOAN","LOANS","LOCKER","LOCUS","LOL","LONDON","LOTTE","LOTTO","LOVE","LPL","LPLFINANCIAL","LR","LS","LT","LTD","LTDA","LU","LUNDBECK","LUXE","LUXURY","LV","LY","MA","MADRID","MAIF","MAISON","MAKEUP","MAN","MANAGEMENT","MANGO","MAP","MARKET","MARKETING","MARKETS","MARRIOTT","MARSHALLS","MATTEL","MBA","MC","MCKINSEY","MD","ME","MED","MEDIA","MEET","MELBOURNE","MEME","MEMORIAL","MEN","MENU","MERCKMSD","MG","MH","MIAMI","MICROSOFT","MIL","MINI","MINT","MIT","MITSUBISHI","MK","ML","MLB","MLS","MM","MMA","MN","MO","MOBI","MOBILE","MODA","MOE","MOI","MOM","MONASH","MONEY","MONSTER","MORMON","MORTGAGE","MOSCOW","MOTO","MOTORCYCLES","MOV","MOVIE","MP","MQ","MR","MS","MSD","MT","MTN","MTR","MU","MUSEUM","MUSIC","MV","MW","MX","MY","MZ","NA","NAB","NAGOYA","NAME","NATURA","NAVY","NBA","NC","NE","NEC","NET","NETBANK","NETFLIX","NETWORK","NEUSTAR","NEW","NEWS","NEXT","NEXTDIRECT","NEXUS","NF","NFL","NG","NGO","NHK","NI","NICO","NIKE","NIKON","NINJA","NISSAN","NISSAY","NL","NO","NOKIA","NORTON","NOW","NOWRUZ","NOWTV","NP","NR","NRA","NRW","NTT","NU","NYC","NZ","OBI","OBSERVER","OFFICE","OKINAWA","OLAYAN","OLAYANGROUP","OLLO","OM","OMEGA","ONE","ONG","ONL","ONLINE","OOO","OPEN","ORACLE","ORANGE","ORG","ORGANIC","ORIGINS","OSAKA","OTSUKA","OTT","OVH","PA","PAGE","PANASONIC","PARIS","PARS","PARTNERS","PARTS","PARTY","PAY","PCCW","PE","PET","PF","PFIZER","PG","PH","PHARMACY","PHD","PHILIPS","PHONE","PHOTO","PHOTOGRAPHY","PHOTOS","PHYSIO","PICS","PICTET","PICTURES","PID","PIN","PING","PINK","PIONEER","PIZZA","PK","PL","PLACE","PLAY","PLAYSTATION","PLUMBING","PLUS","PM","PN","PNC","POHL","POKER","POLITIE","PORN","POST","PR","PRAMERICA","PRAXI","PRESS","PRIME","PRO","PROD","PRODUCTIONS","PROF","PROGRESSIVE","PROMO","PROPERTIES","PROPERTY","PROTECTION","PRU","PRUDENTIAL","PS","PT","PUB","PW","PWC","PY","QA","QPON","QUEBEC","QUEST","RACING","RADIO","RE","READ","REALESTATE","REALTOR","REALTY","RECIPES","RED","REDSTONE","REDUMBRELLA","REHAB","REISE","REISEN","REIT","RELIANCE","REN","RENT","RENTALS","REPAIR","REPORT","REPUBLICAN","REST","RESTAURANT","REVIEW","REVIEWS","REXROTH","RICH","RICHARDLI","RICOH","RIL","RIO","RIP","RO","ROCKS","RODEO","ROGERS","ROOM","RS","RSVP","RU","RUGBY","RUHR","RUN","RW","RWE","RYUKYU","SA","SAARLAND","SAFE","SAFETY","SAKURA","SALE","SALON","SAMSCLUB","SAMSUNG","SANDVIK","SANDVIKCOROMANT","SANOFI","SAP","SARL","SAS","SAVE","SAXO","SB","SBI","SBS","SC","SCB","SCHAEFFLER","SCHMIDT","SCHOLARSHIPS","SCHOOL","SCHULE","SCHWARZ","SCIENCE","SCOT","SD","SE","SEARCH","SEAT","SECURE","SECURITY","SEEK","SELECT","SENER","SERVICES","SEVEN","SEW","SEX","SEXY","SFR","SG","SH","SHANGRILA","SHARP","SHAW","SHELL","SHIA","SHIKSHA","SHOES","SHOP","SHOPPING","SHOUJI","SHOW","SI","SILK","SINA","SINGLES","SITE","SJ","SK","SKI","SKIN","SKY","SKYPE","SL","SLING","SM","SMART","SMILE","SN","SNCF","SO","SOCCER","SOCIAL","SOFTBANK","SOFTWARE","SOHU","SOLAR","SOLUTIONS","SONG","SONY","SOY","SPA","SPACE","SPORT","SPOT","SR","SRL","SS","ST","STADA","STAPLES","STAR","STATEBANK","STATEFARM","STC","STCGROUP","STOCKHOLM","STORAGE","STORE","STREAM","STUDIO","STUDY","STYLE","SU","SUCKS","SUPPLIES","SUPPLY","SUPPORT","SURF","SURGERY","SUZUKI","SV","SWATCH","SWISS","SX","SY","SYDNEY","SYSTEMS","SZ","TAB","TAIPEI","TALK","TAOBAO","TARGET","TATAMOTORS","TATAR","TATTOO","TAX","TAXI","TC","TCI","TD","TDK","TEAM","TECH","TECHNOLOGY","TEL","TEMASEK","TENNIS","TEVA","TF","TG","TH","THD","THEATER","THEATRE","TIAA","TICKETS","TIENDA","TIPS","TIRES","TIROL","TJ","TJMAXX","TJX","TK","TKMAXX","TL","TM","TMALL","TN","TO","TODAY","TOKYO","TOOLS","TOP","TORAY","TOSHIBA","TOTAL","TOURS","TOWN","TOYOTA","TOYS","TR","TRADE","TRADING","TRAINING","TRAVEL","TRAVELERS","TRAVELERSINSURANCE","TRUST","TRV","TT","TUBE","TUI","TUNES","TUSHU","TV","TVS","TW","TZ","UA","UBANK","UBS","UG","UK","UNICOM","UNIVERSITY","UNO","UOL","UPS","US","UY","UZ","VA","VACATIONS","VANA","VANGUARD","VC","VE","VEGAS","VENTURES","VERISIGN","VERSICHERUNG","VET","VG","VI","VIAJES","VIDEO","VIG","VIKING","VILLAS","VIN","VIP","VIRGIN","VISA","VISION","VIVA","VIVO","VLAANDEREN","VN","VODKA","VOLVO","VOTE","VOTING","VOTO","VOYAGE","VU","WALES","WALMART","WALTER","WANG","WANGGOU","WATCH","WATCHES","WEATHER","WEATHERCHANNEL","WEBCAM","WEBER","WEBSITE","WED","WEDDING","WEIBO","WEIR","WF","WHOSWHO","WIEN","WIKI","WILLIAMHILL","WIN","WINDOWS","WINE","WINNERS","WME","WOLTERSKLUWER","WOODSIDE","WORK","WORKS","WORLD","WOW","WS","WTC","WTF","XBOX","XEROX","XFINITY","XIHUAN","XIN","XN--11B4C3D","XN--1CK2E1B","XN--1QQW23A","XN--2SCRJ9C","XN--30RR7Y","XN--3BST00M","XN--3DS443G","XN--3E0B707E","XN--3HCRJ9C","XN--3PXU8K","XN--42C2D9A","XN--45BR5CYL","XN--45BRJ9C","XN--45Q11C","XN--4DBRK0CE","XN--4GBRIM","XN--54B7FTA0CC","XN--55QW42G","XN--55QX5D","XN--5SU34J936BGSG","XN--5TZM5G","XN--6FRZ82G","XN--6QQ986B3XL","XN--80ADXHKS","XN--80AO21A","XN--80AQECDR1A","XN--80ASEHDB","XN--80ASWG","XN--8Y0A063A","XN--90A3AC","XN--90AE","XN--90AIS","XN--9DBQ2A","XN--9ET52U","XN--9KRT00A","XN--B4W605FERD","XN--BCK1B9A5DRE4C","XN--C1AVG","XN--C2BR7G","XN--CCK2B3B","XN--CCKWCXETD","XN--CG4BKI","XN--CLCHC0EA0B2G2A9GCD","XN--CZR694B","XN--CZRS0T","XN--CZRU2D","XN--D1ACJ3B","XN--D1ALF","XN--E1A4C","XN--ECKVDTC9D","XN--EFVY88H","XN--FCT429K","XN--FHBEI","XN--FIQ228C5HS","XN--FIQ64B","XN--FIQS8S","XN--FIQZ9S","XN--FJQ720A","XN--FLW351E","XN--FPCRJ9C3D","XN--FZC2C9E2C","XN--FZYS8D69UVGM","XN--G2XX48C","XN--GCKR3F0F","XN--GECRJ9C","XN--GK3AT1E","XN--H2BREG3EVE","XN--H2BRJ9C","XN--H2BRJ9C8C","XN--HXT814E","XN--I1B6B1A6A2E","XN--IMR513N","XN--IO0A7I","XN--J1AEF","XN--J1AMH","XN--J6W193G","XN--JLQ480N2RG","XN--JVR189M","XN--KCRX77D1X4A","XN--KPRW13D","XN--KPRY57D","XN--KPUT3I","XN--L1ACC","XN--LGBBAT1AD8J","XN--MGB9AWBF","XN--MGBA3A3EJT","XN--MGBA3A4F16A","XN--MGBA7C0BBN0A","XN--MGBAAM7A8H","XN--MGBAB2BD","XN--MGBAH1A3HJKRD","XN--MGBAI9AZGQP6J","XN--MGBAYH7GPA","XN--MGBBH1A","XN--MGBBH1A71E","XN--MGBC0A9AZCG","XN--MGBCA7DZDO","XN--MGBCPQ6GPA1A","XN--MGBERP4A5D4AR","XN--MGBGU82A","XN--MGBI4ECEXP","XN--MGBPL2FH","XN--MGBT3DHD","XN--MGBTX2B","XN--MGBX4CD0AB","XN--MIX891F","XN--MK1BU44C","XN--MXTQ1M","XN--NGBC5AZD","XN--NGBE9E0A","XN--NGBRX","XN--NODE","XN--NQV7F","XN--NQV7FS00EMA","XN--NYQY26A","XN--O3CW4H","XN--OGBPF8FL","XN--OTU796D","XN--P1ACF","XN--P1AI","XN--PGBS0DH","XN--PSSY2U","XN--Q7CE6A","XN--Q9JYB4C","XN--QCKA1PMC","XN--QXA6A","XN--QXAM","XN--RHQV96G","XN--ROVU88B","XN--RVC1E0AM3E","XN--S9BRJ9C","XN--SES554G","XN--T60B56A","XN--TCKWE","XN--TIQ49XQYJ","XN--UNUP4Y","XN--VERMGENSBERATER-CTB","XN--VERMGENSBERATUNG-PWB","XN--VHQUV","XN--VUQ861B","XN--W4R85EL8FHU5DNRA","XN--W4RS40L","XN--WGBH1C","XN--WGBL6A","XN--XHQ521B","XN--XKC2AL3HYE2A","XN--XKC2DL3A5EE0H","XN--Y9A3AQ","XN--YFRO4I67O","XN--YGBI2AMMX","XN--ZFR164B","XXX","XYZ","YACHTS","YAHOO","YAMAXUN","YANDEX","YE","YODOBASHI","YOGA","YOKOHAMA","YOU","YOUTUBE","YT","YUN","ZA","ZAPPOS","ZARA","ZERO","ZIP","ZM","ZONE","ZUERICH","ZW"];e.exports=new Set(t.tlds.map((e=>e.toLowerCase())))},4983:(e,t,r)=>{const s=r(2718);const n=r(1965);const i={};i.generate=function(){const e={};const t="\\dA-Fa-f";const r="["+t+"]";const s="\\w-\\.~";const n="!\\$&'\\(\\)\\*\\+,;=";const i="%"+t;const a=s+i+n+":@";const o="["+a+"]";const l="(?:0{0,2}\\d|0?[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])";e.ipv4address="(?:"+l+"\\.){3}"+l;const c=r+"{1,4}";const u="(?:"+c+":"+c+"|"+e.ipv4address+")";const f="(?:"+c+":){6}"+u;const d="::(?:"+c+":){5}"+u;const m="(?:"+c+")?::(?:"+c+":){4}"+u;const h="(?:(?:"+c+":){0,1}"+c+")?::(?:"+c+":){3}"+u;const p="(?:(?:"+c+":){0,2}"+c+")?::(?:"+c+":){2}"+u;const g="(?:(?:"+c+":){0,3}"+c+")?::"+c+":"+u;const y="(?:(?:"+c+":){0,4}"+c+")?::"+u;const b="(?:(?:"+c+":){0,5}"+c+")?::"+c;const _="(?:(?:"+c+":){0,6}"+c+")?::";e.ipv4Cidr="(?:\\d|[1-2]\\d|3[0-2])";e.ipv6Cidr="(?:0{0,2}\\d|0?[1-9]\\d|1[01]\\d|12[0-8])";e.ipv6address="(?:"+f+"|"+d+"|"+m+"|"+h+"|"+p+"|"+g+"|"+y+"|"+b+"|"+_+")";e.ipvFuture="v"+r+"+\\.["+s+n+":]+";e.scheme="[a-zA-Z][a-zA-Z\\d+-\\.]*";e.schemeRegex=new RegExp(e.scheme);const v="["+s+i+n+":]*";const A="\\[(?:"+e.ipv6address+"|"+e.ipvFuture+")\\]";const E="["+s+i+n+"]{1,255}";const R="(?:"+A+"|"+e.ipv4address+"|"+E+")";const S="\\d*";const O="(?:"+v+"@)?"+R+"(?::"+S+")?";const N="(?:"+v+"@)?("+R+")(?::"+S+")?";const I=o+"*";const w=o+"+";const $="["+s+i+n+"@"+"]+";const T="";const C="(?:\\/"+I+")*";const x="\\/(?:"+w+C+")?";const L=w+C;const D=$+C;const M="(?:\\/\\/\\/"+I+C+")";e.hierPart="(?:"+"(?:\\/\\/"+O+C+")"+"|"+x+"|"+L+"|"+M+")";e.hierPartCapture="(?:"+"(?:\\/\\/"+N+C+")"+"|"+x+"|"+L+")";e.relativeRef="(?:"+"(?:\\/\\/"+O+C+")"+"|"+x+"|"+D+"|"+T+")";e.relativeRefCapture="(?:"+"(?:\\/\\/"+N+C+")"+"|"+x+"|"+D+"|"+T+")";e.query="["+a+"\\/\\?]*(?=#|$)";e.queryWithSquareBrackets="["+a+"\\[\\]\\/\\?]*(?=#|$)";e.fragment="["+a+"\\/\\?]*";return e};i.rfc3986=i.generate();t.ip={v4Cidr:i.rfc3986.ipv4Cidr,v6Cidr:i.rfc3986.ipv6Cidr,ipv4:i.rfc3986.ipv4address,ipv6:i.rfc3986.ipv6address,ipvfuture:i.rfc3986.ipvFuture};i.createRegex=function(e){const t=i.rfc3986;const r=e.allowQuerySquareBrackets?t.queryWithSquareBrackets:t.query;const a="(?:\\?"+r+")?"+"(?:#"+t.fragment+")?";const o=e.domain?t.relativeRefCapture:t.relativeRef;if(e.relativeOnly){return i.wrap(o+a)}let l="";if(e.scheme){s(e.scheme instanceof RegExp||typeof e.scheme==="string"||Array.isArray(e.scheme),"scheme must be a RegExp, String, or Array");const r=[].concat(e.scheme);s(r.length>=1,"scheme must have at least 1 scheme specified");const i=[];for(let e=0;e<r.length;++e){const a=r[e];s(a instanceof RegExp||typeof a==="string","scheme at position "+e+" must be a RegExp or String");if(a instanceof RegExp){i.push(a.source.toString())}else{s(t.schemeRegex.test(a),"scheme at position "+e+" must be a valid scheme");i.push(n(a))}}l=i.join("|")}const c=l?"(?:"+l+")":t.scheme;const u="(?:"+c+":"+(e.domain?t.hierPartCapture:t.hierPart)+")";const f=e.allowRelative?"(?:"+u+"|"+o+")":u;return i.wrap(f+a,l)};i.wrap=function(e,t){e=`(?=.)(?!https?:/(?:$|[^/]))(?!https?:///)(?!https?:[^/])${e}`;return{raw:e,regex:new RegExp(`^${e}$`),scheme:t}};i.uriRegex=i.createRegex({});t.regex=function(e={}){if(e.scheme||e.allowRelative||e.relativeOnly||e.allowQuerySquareBrackets||e.domain){return i.createRegex(e)}return i.uriRegex}},4379:(e,t)=>{const r={operators:["!","^","*","/","%","+","-","<","<=",">",">=","==","!=","&&","||","??"],operatorCharacters:["!","^","*","/","%","+","-","<","=",">","&","|","?"],operatorsOrder:[["^"],["*","/","%"],["+","-"],["<","<=",">",">="],["==","!="],["&&"],["||","??"]],operatorsPrefix:["!","n"],literals:{'"':'"',"`":"`","'":"'","[":"]"},numberRx:/^(?:[0-9]*(\.[0-9]*)?){1}$/,tokenRx:/^[\w\$\#\.\@\:\{\}]+$/,symbol:Symbol("formula"),settings:Symbol("settings")};t.Parser=class{constructor(e,t={}){if(!t[r.settings]&&t.constants){for(const e in t.constants){const r=t.constants[e];if(r!==null&&!["boolean","number","string"].includes(typeof r)){throw new Error(`Formula constant ${e} contains invalid ${typeof r} value type`)}}}this.settings=t[r.settings]?t:Object.assign({[r.settings]:true,constants:{},functions:{}},t);this.single=null;this._parts=null;this._parse(e)}_parse(e){let s=[];let n="";let i=0;let a=false;const flush=e=>{if(i){throw new Error("Formula missing closing parenthesis")}const o=s.length?s[s.length-1]:null;if(!a&&!n&&!e){return}if(o&&o.type==="reference"&&e===")"){o.type="function";o.value=this._subFormula(n,o.value);n="";return}if(e===")"){const e=new t.Parser(n,this.settings);s.push({type:"segment",value:e})}else if(a){if(a==="]"){s.push({type:"reference",value:n});n="";return}s.push({type:"literal",value:n})}else if(r.operatorCharacters.includes(n)){if(o&&o.type==="operator"&&r.operators.includes(o.value+n)){o.value+=n}else{s.push({type:"operator",value:n})}}else if(n.match(r.numberRx)){s.push({type:"constant",value:parseFloat(n)})}else if(this.settings.constants[n]!==undefined){s.push({type:"constant",value:this.settings.constants[n]})}else{if(!n.match(r.tokenRx)){throw new Error(`Formula contains invalid token: ${n}`)}s.push({type:"reference",value:n})}n=""};for(const t of e){if(a){if(t===a){flush();a=false}else{n+=t}}else if(i){if(t==="("){n+=t;++i}else if(t===")"){--i;if(!i){flush(t)}else{n+=t}}else{n+=t}}else if(t in r.literals){a=r.literals[t]}else if(t==="("){flush();++i}else if(r.operatorCharacters.includes(t)){flush();n=t;flush()}else if(t!==" "){n+=t}else{flush()}}flush();s=s.map(((e,t)=>{if(e.type!=="operator"||e.value!=="-"||t&&s[t-1].type!=="operator"){return e}return{type:"operator",value:"n"}}));let o=false;for(const e of s){if(e.type==="operator"){if(r.operatorsPrefix.includes(e.value)){continue}if(!o){throw new Error("Formula contains an operator in invalid position")}if(!r.operators.includes(e.value)){throw new Error(`Formula contains an unknown operator ${e.value}`)}}else if(o){throw new Error("Formula missing expected operator")}o=!o}if(!o){throw new Error("Formula contains invalid trailing operator")}if(s.length===1&&["reference","literal","constant"].includes(s[0].type)){this.single={type:s[0].type==="reference"?"reference":"value",value:s[0].value}}this._parts=s.map((e=>{if(e.type==="operator"){return r.operatorsPrefix.includes(e.value)?e:e.value}if(e.type!=="reference"){return e.value}if(this.settings.tokenRx&&!this.settings.tokenRx.test(e.value)){throw new Error(`Formula contains invalid reference ${e.value}`)}if(this.settings.reference){return this.settings.reference(e.value)}return r.reference(e.value)}))}_subFormula(e,s){const n=this.settings.functions[s];if(typeof n!=="function"){throw new Error(`Formula contains unknown function ${s}`)}let i=[];if(e){let t="";let n=0;let a=false;const flush=()=>{if(!t){throw new Error(`Formula contains function ${s} with invalid arguments ${e}`)}i.push(t);t=""};for(let s=0;s<e.length;++s){const i=e[s];if(a){t+=i;if(i===a){a=false}}else if(i in r.literals&&!n){t+=i;a=r.literals[i]}else if(i===","&&!n){flush()}else{t+=i;if(i==="("){++n}else if(i===")"){--n}}}flush()}i=i.map((e=>new t.Parser(e,this.settings)));return function(e){const t=[];for(const r of i){t.push(r.evaluate(e))}return n.call(e,...t)}}evaluate(e){const t=this._parts.slice();for(let s=t.length-2;s>=0;--s){const n=t[s];if(n&&n.type==="operator"){const i=t[s+1];t.splice(s+1,1);const a=r.evaluate(i,e);t[s]=r.single(n.value,a)}}r.operatorsOrder.forEach((s=>{for(let n=1;n<t.length-1;){if(s.includes(t[n])){const s=t[n];const i=r.evaluate(t[n-1],e);const a=r.evaluate(t[n+1],e);t.splice(n,2);const o=r.calculate(s,i,a);t[n-1]=o===0?0:o}else{n+=2}}}));return r.evaluate(t[0],e)}};t.Parser.prototype[r.symbol]=true;r.reference=function(e){return function(t){return t&&t[e]!==undefined?t[e]:null}};r.evaluate=function(e,t){if(e===null){return null}if(typeof e==="function"){return e(t)}if(e[r.symbol]){return e.evaluate(t)}return e};r.single=function(e,t){if(e==="!"){return t?false:true}const r=-t;if(r===0){return 0}return r};r.calculate=function(e,t,s){if(e==="??"){return r.exists(t)?t:s}if(typeof t==="string"||typeof s==="string"){if(e==="+"){t=r.exists(t)?t:"";s=r.exists(s)?s:"";return t+s}}else{switch(e){case"^":return Math.pow(t,s);case"*":return t*s;case"/":return t/s;case"%":return t%s;case"+":return t+s;case"-":return t-s}}switch(e){case"<":return t<s;case"<=":return t<=s;case">":return t>s;case">=":return t>=s;case"==":return t===s;case"!=":return t!==s;case"&&":return t&&s;case"||":return t||s}return null};r.exists=function(e){return e!==null&&e!==undefined}},5604:(e,t)=>{const r={};t.location=function(e=0){const t=Error.prepareStackTrace;Error.prepareStackTrace=(e,t)=>t;const r={};Error.captureStackTrace(r,this);const s=r.stack[e+1];Error.prepareStackTrace=t;return{filename:s.getFileName(),line:s.getLineNumber()}}},6014:(e,t,r)=>{const s=r(5578);const n=r(2448);const i={annotations:Symbol("annotations")};t.error=function(e){if(!this._original||typeof this._original!=="object"){return this.details[0].message}const t=e?"":"";const r=e?"":"";const a=e?"":"";const o=s(this._original);for(let e=this.details.length-1;e>=0;--e){const t=e+1;const r=this.details[e];const s=r.path;let a=o;for(let e=0;;++e){const o=s[e];if(n.isSchema(a)){a=a.clone()}if(e+1<s.length&&typeof a[o]!=="string"){a=a[o]}else{const e=a[i.annotations]||{errors:{},missing:{}};a[i.annotations]=e;const s=o||r.context.key;if(a[o]!==undefined){e.errors[s]=e.errors[s]||[];e.errors[s].push(t)}else{e.missing[s]=t}break}}}const l={key:/_\$key\$_([, \d]+)_\$end\$_"/g,missing:/"_\$miss\$_([^|]+)\|(\d+)_\$end\$_": "__missing__"/g,arrayIndex:/\s*"_\$idx\$_([, \d]+)_\$end\$_",?\n(.*)/g,specials:/"\[(NaN|Symbol.*|-?Infinity|function.*|\(.*)]"/g};let c=i.safeStringify(o,2).replace(l.key,((e,r)=>`" ${t}[${r}]${a}`)).replace(l.missing,((e,s,n)=>`${r}"${s}"${a}${t} [${n}]: -- missing --${a}`)).replace(l.arrayIndex,((e,r,s)=>`\n${s} ${t}[${r}]${a}`)).replace(l.specials,((e,t)=>t));c=`${c}\n${t}`;for(let e=0;e<this.details.length;++e){const t=e+1;c=`${c}\n[${t}] ${this.details[e].message}`}c=c+a;return c};i.safeStringify=function(e,t){return JSON.stringify(e,i.serializer(),t)};i.serializer=function(){const e=[];const t=[];const cycleReplacer=(r,s)=>{if(t[0]===s){return"[Circular ~]"}return"[Circular ~."+e.slice(0,t.indexOf(s)).join(".")+"]"};return function(r,s){if(t.length>0){const n=t.indexOf(this);if(~n){t.length=n+1;e.length=n+1;e[n]=r}else{t.push(this);e.push(r)}if(~t.indexOf(s)){s=cycleReplacer.call(this,r,s)}}else{t.push(s)}if(s){const e=s[i.annotations];if(e){if(Array.isArray(s)){const t=[];for(let r=0;r<s.length;++r){if(e.errors[r]){t.push(`_$idx$_${e.errors[r].sort().join(", ")}_$end$_`)}t.push(s[r])}s=t}else{for(const t in e.errors){s[`${t}_$key$_${e.errors[t].sort().join(", ")}_$end$_`]=s[t];s[t]=undefined}for(const t in e.missing){s[`_$miss$_${t}|${e.missing[t]}_$end$_`]="__missing__"}}return s}}if(s===Infinity||s===-Infinity||Number.isNaN(s)||typeof s==="function"||typeof s==="symbol"){return"["+s.toString()+"]"}return s}}},5184:(e,t,r)=>{const s=r(2718);const n=r(5578);const i=r(5801);const a=r(445);const o=r(3355);const l=r(2448);const c=r(3038);const u=r(9490);const f=r(6680);const d=r(7997);const m=r(6103);const h=r(1290);const p=r(3838);const g=r(3171);const y=r(1804);const b=r(1944);const _={};_.Base=class{constructor(e){this.type=e;this.$_root=null;this._definition={};this._reset()}_reset(){this._ids=new h.Ids;this._preferences=null;this._refs=new p.Manager;this._cache=null;this._valids=null;this._invalids=null;this._flags={};this._rules=[];this._singleRules=new Map;this.$_terms={};this.$_temp={ruleset:null,whens:{}}}describe(){s(typeof d.describe==="function","Manifest functionality disabled");return d.describe(this)}allow(...e){l.verifyFlat(e,"allow");return this._values(e,"_valids")}alter(e){s(e&&typeof e==="object"&&!Array.isArray(e),"Invalid targets argument");s(!this._inRuleset(),"Cannot set alterations inside a ruleset");const t=this.clone();t.$_terms.alterations=t.$_terms.alterations||[];for(const r in e){const n=e[r];s(typeof n==="function","Alteration adjuster for",r,"must be a function");t.$_terms.alterations.push({target:r,adjuster:n})}t.$_temp.ruleset=false;return t}artifact(e){s(e!==undefined,"Artifact cannot be undefined");s(!this._cache,"Cannot set an artifact with a rule cache");return this.$_setFlag("artifact",e)}cast(e){s(e===false||typeof e==="string","Invalid to value");s(e===false||this._definition.cast[e],"Type",this.type,"does not support casting to",e);return this.$_setFlag("cast",e===false?undefined:e)}default(e,t){return this._default("default",e,t)}description(e){s(e&&typeof e==="string","Description must be a non-empty string");return this.$_setFlag("description",e)}empty(e){const t=this.clone();if(e!==undefined){e=t.$_compile(e,{override:false})}return t.$_setFlag("empty",e,{clone:false})}error(e){s(e,"Missing error");s(e instanceof Error||typeof e==="function","Must provide a valid Error object or a function");return this.$_setFlag("error",e)}example(e,t={}){s(e!==undefined,"Missing example");l.assertOptions(t,["override"]);return this._inner("examples",e,{single:true,override:t.override})}external(e,t){if(typeof e==="object"){s(!t,"Cannot combine options with description");t=e.description;e=e.method}s(typeof e==="function","Method must be a function");s(t===undefined||t&&typeof t==="string","Description must be a non-empty string");return this._inner("externals",{method:e,description:t},{single:true})}failover(e,t){return this._default("failover",e,t)}forbidden(){return this.presence("forbidden")}id(e){if(!e){return this.$_setFlag("id",undefined)}s(typeof e==="string","id must be a non-empty string");s(/^[^\.]+$/.test(e),"id cannot contain period character");return this.$_setFlag("id",e)}invalid(...e){return this._values(e,"_invalids")}label(e){s(e&&typeof e==="string","Label name must be a non-empty string");return this.$_setFlag("label",e)}meta(e){s(e!==undefined,"Meta cannot be undefined");return this._inner("metas",e,{single:true})}note(...e){s(e.length,"Missing notes");for(const t of e){s(t&&typeof t==="string","Notes must be non-empty strings")}return this._inner("notes",e)}only(e=true){s(typeof e==="boolean","Invalid mode:",e);return this.$_setFlag("only",e)}optional(){return this.presence("optional")}prefs(e){s(e,"Missing preferences");s(e.context===undefined,"Cannot override context");s(e.externals===undefined,"Cannot override externals");s(e.warnings===undefined,"Cannot override warnings");s(e.debug===undefined,"Cannot override debug");l.checkPreferences(e);const t=this.clone();t._preferences=l.preferences(t._preferences,e);return t}presence(e){s(["optional","required","forbidden"].includes(e),"Unknown presence mode",e);return this.$_setFlag("presence",e)}raw(e=true){return this.$_setFlag("result",e?"raw":undefined)}result(e){s(["raw","strip"].includes(e),"Unknown result mode",e);return this.$_setFlag("result",e)}required(){return this.presence("required")}strict(e){const t=this.clone();const r=e===undefined?false:!e;t._preferences=l.preferences(t._preferences,{convert:r});return t}strip(e=true){return this.$_setFlag("result",e?"strip":undefined)}tag(...e){s(e.length,"Missing tags");for(const t of e){s(t&&typeof t==="string","Tags must be non-empty strings")}return this._inner("tags",e)}unit(e){s(e&&typeof e==="string","Unit name must be a non-empty string");return this.$_setFlag("unit",e)}valid(...e){l.verifyFlat(e,"valid");const t=this.allow(...e);t.$_setFlag("only",!!t._valids,{clone:false});return t}when(e,t){const r=this.clone();if(!r.$_terms.whens){r.$_terms.whens=[]}const n=c.when(r,e,t);if(!["any","link"].includes(r.type)){const e=n.is?[n]:n.switch;for(const t of e){s(!t.then||t.then.type==="any"||t.then.type===r.type,"Cannot combine",r.type,"with",t.then&&t.then.type);s(!t.otherwise||t.otherwise.type==="any"||t.otherwise.type===r.type,"Cannot combine",r.type,"with",t.otherwise&&t.otherwise.type)}}r.$_terms.whens.push(n);return r.$_mutateRebuild()}cache(e){s(!this._inRuleset(),"Cannot set caching inside a ruleset");s(!this._cache,"Cannot override schema cache");s(this._flags.artifact===undefined,"Cannot cache a rule with an artifact");const t=this.clone();t._cache=e||o.provider.provision();t.$_temp.ruleset=false;return t}clone(){const e=Object.create(Object.getPrototypeOf(this));return this._assign(e)}concat(e){s(l.isSchema(e),"Invalid schema object");s(this.type==="any"||e.type==="any"||e.type===this.type,"Cannot merge type",this.type,"with another type:",e.type);s(!this._inRuleset(),"Cannot concatenate onto a schema with open ruleset");s(!e._inRuleset(),"Cannot concatenate a schema with open ruleset");let t=this.clone();if(this.type==="any"&&e.type!=="any"){const r=e.clone();for(const e of Object.keys(t)){if(e!=="type"){r[e]=t[e]}}t=r}t._ids.concat(e._ids);t._refs.register(e,p.toSibling);t._preferences=t._preferences?l.preferences(t._preferences,e._preferences):e._preferences;t._valids=b.merge(t._valids,e._valids,e._invalids);t._invalids=b.merge(t._invalids,e._invalids,e._valids);for(const r of e._singleRules.keys()){if(t._singleRules.has(r)){t._rules=t._rules.filter((e=>e.keep||e.name!==r));t._singleRules.delete(r)}}for(const r of e._rules){if(!e._definition.rules[r.method].multi){t._singleRules.set(r.name,r)}t._rules.push(r)}if(t._flags.empty&&e._flags.empty){t._flags.empty=t._flags.empty.concat(e._flags.empty);const r=Object.assign({},e._flags);delete r.empty;a(t._flags,r)}else if(e._flags.empty){t._flags.empty=e._flags.empty;const r=Object.assign({},e._flags);delete r.empty;a(t._flags,r)}else{a(t._flags,e._flags)}for(const r in e.$_terms){const s=e.$_terms[r];if(!s){if(!t.$_terms[r]){t.$_terms[r]=s}continue}if(!t.$_terms[r]){t.$_terms[r]=s.slice();continue}t.$_terms[r]=t.$_terms[r].concat(s)}if(this.$_root._tracer){this.$_root._tracer._combine(t,[this,e])}return t.$_mutateRebuild()}extend(e){s(!e.base,"Cannot extend type with another base");return f.type(this,e)}extract(e){e=Array.isArray(e)?e:e.split(".");return this._ids.reach(e)}fork(e,t){s(!this._inRuleset(),"Cannot fork inside a ruleset");let r=this;for(let s of[].concat(e)){s=Array.isArray(s)?s:s.split(".");r=r._ids.fork(s,t,r)}r.$_temp.ruleset=false;return r}rule(e){const t=this._definition;l.assertOptions(e,Object.keys(t.modifiers));s(this.$_temp.ruleset!==false,"Cannot apply rules to empty ruleset or the last rule added does not support rule properties");const r=this.$_temp.ruleset===null?this._rules.length-1:this.$_temp.ruleset;s(r>=0&&r<this._rules.length,"Cannot apply rules to empty ruleset");const i=this.clone();for(let a=r;a<i._rules.length;++a){const r=i._rules[a];const o=n(r);for(const n in e){t.modifiers[n](o,e[n]);s(o.name===r.name,"Cannot change rule name")}i._rules[a]=o;if(i._singleRules.get(o.name)===r){i._singleRules.set(o.name,o)}}i.$_temp.ruleset=false;return i.$_mutateRebuild()}get ruleset(){s(!this._inRuleset(),"Cannot start a new ruleset without closing the previous one");const e=this.clone();e.$_temp.ruleset=e._rules.length;return e}get $(){return this.ruleset}tailor(e){e=[].concat(e);s(!this._inRuleset(),"Cannot tailor inside a ruleset");let t=this;if(this.$_terms.alterations){for(const{target:r,adjuster:n}of this.$_terms.alterations){if(e.includes(r)){t=n(t);s(l.isSchema(t),"Alteration adjuster for",r,"failed to return a schema object")}}}t=t.$_modify({each:t=>t.tailor(e),ref:false});t.$_temp.ruleset=false;return t.$_mutateRebuild()}tracer(){return g.location?g.location(this):this}validate(e,t){return y.entry(e,this,t)}validateAsync(e,t){return y.entryAsync(e,this,t)}$_addRule(e){if(typeof e==="string"){e={name:e}}s(e&&typeof e==="object","Invalid options");s(e.name&&typeof e.name==="string","Invalid rule name");for(const t in e){s(t[0]!=="_","Cannot set private rule properties")}const t=Object.assign({},e);t._resolve=[];t.method=t.method||t.name;const r=this._definition.rules[t.method];const n=t.args;s(r,"Unknown rule",t.method);const i=this.clone();if(n){s(Object.keys(n).length===1||Object.keys(n).length===this._definition.rules[t.name].args.length,"Invalid rule definition for",this.type,t.name);for(const e in n){let a=n[e];if(r.argsByName){const o=r.argsByName.get(e);if(o.ref&&l.isResolvable(a)){t._resolve.push(e);i.$_mutateRegister(a)}else{if(o.normalize){a=o.normalize(a);n[e]=a}if(o.assert){const t=l.validateArg(a,e,o);s(!t,t,"or reference")}}}if(a===undefined){delete n[e];continue}n[e]=a}}if(!r.multi){i._ruleRemove(t.name,{clone:false});i._singleRules.set(t.name,t)}if(i.$_temp.ruleset===false){i.$_temp.ruleset=null}if(r.priority){i._rules.unshift(t)}else{i._rules.push(t)}return i}$_compile(e,t){return c.schema(this.$_root,e,t)}$_createError(e,t,r,s,n,i={}){const a=i.flags!==false?this._flags:{};const o=i.messages?m.merge(this._definition.messages,i.messages):this._definition.messages;return new u.Report(e,t,r,a,o,s,n)}$_getFlag(e){return this._flags[e]}$_getRule(e){return this._singleRules.get(e)}$_mapLabels(e){e=Array.isArray(e)?e:e.split(".");return this._ids.labels(e)}$_match(e,t,r,s){r=Object.assign({},r);r.abortEarly=true;r._externals=false;t.snapshot();const n=!y.validate(e,this,t,r,s).errors;t.restore();return n}$_modify(e){l.assertOptions(e,["each","once","ref","schema"]);return h.schema(this,e)||this}$_mutateRebuild(){s(!this._inRuleset(),"Cannot add this rule inside a ruleset");this._refs.reset();this._ids.reset();const each=(e,{source:t,name:r,path:s,key:n})=>{con