webshap
Version:
Explain any ML models anywhere
9 lines (8 loc) • 1.78 MB
JavaScript
(function(_n,Xn){typeof exports=="object"&&typeof module<"u"?Xn(exports):typeof define=="function"&&define.amd?define(["exports"],Xn):(_n=typeof globalThis<"u"?globalThis:_n||self,Xn(_n.webshap={}))})(this,function(_n){"use strict";var VY=Object.defineProperty;var WY=(_n,Xn,vs)=>Xn in _n?VY(_n,Xn,{enumerable:!0,configurable:!0,writable:!0,value:vs}):_n[Xn]=vs;var Ye=(_n,Xn,vs)=>(WY(_n,typeof Xn!="symbol"?Xn+"":Xn,vs),vs);function Xn(n,e){for(var t=0;t<e.length;t++){const r=e[t];if(typeof r!="string"&&!Array.isArray(r)){for(const s in r)if(s!=="default"&&!(s in n)){const o=Object.getOwnPropertyDescriptor(r,s);o&&Object.defineProperty(n,s,o.get?o:{enumerable:!0,get:()=>r[s]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}const vs=Math.random,c$=function n(e){function t(r,s){return r=r==null?0:+r,s=s==null?1:+s,arguments.length===1?(s=r,r=0):s-=r,function(){return e()*s+r}}return t.source=n,t}(vs),h$=function n(e){function t(r,s){return arguments.length<2&&(s=r,r=0),r=Math.floor(r),s=Math.floor(s)-r,function(){return Math.floor(e()*s+r)}}return t.source=n,t}(vs),d$=1664525,f$=1013904223,og=1/4294967296;function ig(n=Math.random()){let e=(0<=n&&n<1?n/og:Math.abs(n))|0;return()=>(e=d$*e+f$|0,og*(e>>>0))}const ag=(n,e)=>{const t=Math.min(e,n-e);return Array.from(new Array(t),(r,s)=>s+1).reduce((r,s)=>r*(n+1-s)/s,1)},p$=(n,e)=>{const t=[];function r(s=0,o=[]){if(o.length===e){t.push(o);return}for(let i=s;i<n.length;i++)r(i+1,[...o,n[i]])}return r(),t};function Rh(){return Rh=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},Rh.apply(this,arguments)}var ug={epsilon:1e-12,matrix:"Matrix",number:"number",precision:64,predictable:!1,randomSeed:null};function Nt(n){return typeof n=="number"}function Ut(n){return!n||typeof n!="object"||typeof n.constructor!="function"?!1:n.isBigNumber===!0&&typeof n.constructor.prototype=="object"&&n.constructor.prototype.isBigNumber===!0||typeof n.constructor.isDecimal=="function"&&n.constructor.isDecimal(n)===!0}function lg(n){return n&&typeof n=="object"&&Object.getPrototypeOf(n).isComplex===!0||!1}function cg(n){return n&&typeof n=="object"&&Object.getPrototypeOf(n).isFraction===!0||!1}function hg(n){return n&&n.constructor.prototype.isUnit===!0||!1}function Dr(n){return typeof n=="string"}var mt=Array.isArray;function lt(n){return n&&n.constructor.prototype.isMatrix===!0||!1}function Oi(n){return Array.isArray(n)||lt(n)}function m$(n){return n&&n.isDenseMatrix&&n.constructor.prototype.isMatrix===!0||!1}function g$(n){return n&&n.isSparseMatrix&&n.constructor.prototype.isMatrix===!0||!1}function dg(n){return n&&n.constructor.prototype.isRange===!0||!1}function _h(n){return n&&n.constructor.prototype.isIndex===!0||!1}function x$(n){return typeof n=="boolean"}function v$(n){return n&&n.constructor.prototype.isResultSet===!0||!1}function b$(n){return n&&n.constructor.prototype.isHelp===!0||!1}function y$(n){return typeof n=="function"}function w$(n){return n instanceof Date}function C$(n){return n instanceof RegExp}function D$(n){return!!(n&&typeof n=="object"&&n.constructor===Object&&!lg(n)&&!cg(n))}function $$(n){return n===null}function I$(n){return n===void 0}function S$(n){return n&&n.isAccessorNode===!0&&n.constructor.prototype.isNode===!0||!1}function E$(n){return n&&n.isArrayNode===!0&&n.constructor.prototype.isNode===!0||!1}function N$(n){return n&&n.isAssignmentNode===!0&&n.constructor.prototype.isNode===!0||!1}function k$(n){return n&&n.isBlockNode===!0&&n.constructor.prototype.isNode===!0||!1}function A$(n){return n&&n.isConditionalNode===!0&&n.constructor.prototype.isNode===!0||!1}function T$(n){return n&&n.isConstantNode===!0&&n.constructor.prototype.isNode===!0||!1}function F$(n){return n&&n.isFunctionAssignmentNode===!0&&n.constructor.prototype.isNode===!0||!1}function R$(n){return n&&n.isFunctionNode===!0&&n.constructor.prototype.isNode===!0||!1}function _$(n){return n&&n.isIndexNode===!0&&n.constructor.prototype.isNode===!0||!1}function M$(n){return n&&n.isNode===!0&&n.constructor.prototype.isNode===!0||!1}function O$(n){return n&&n.isObjectNode===!0&&n.constructor.prototype.isNode===!0||!1}function B$(n){return n&&n.isOperatorNode===!0&&n.constructor.prototype.isNode===!0||!1}function L$(n){return n&&n.isParenthesisNode===!0&&n.constructor.prototype.isNode===!0||!1}function P$(n){return n&&n.isRangeNode===!0&&n.constructor.prototype.isNode===!0||!1}function z$(n){return n&&n.isRelationalNode===!0&&n.constructor.prototype.isNode===!0||!1}function V$(n){return n&&n.isSymbolNode===!0&&n.constructor.prototype.isNode===!0||!1}function W$(n){return n&&n.constructor.prototype.isChain===!0||!1}function rs(n){var e=typeof n;return e==="object"?n===null?"null":Ut(n)?"BigNumber":n.constructor&&n.constructor.name?n.constructor.name:"Object":e}function et(n){var e=typeof n;if(e==="number"||e==="string"||e==="boolean"||n===null||n===void 0)return n;if(typeof n.clone=="function")return n.clone();if(Array.isArray(n))return n.map(function(t){return et(t)});if(n instanceof Date)return new Date(n.valueOf());if(Ut(n))return n;if(n instanceof RegExp)throw new TypeError("Cannot clone "+n);return U$(n,et)}function U$(n,e){var t={};for(var r in n)Bi(n,r)&&(t[r]=e(n[r]));return t}function fg(n,e){for(var t in e)Bi(e,t)&&(n[t]=e[t]);return n}function Vu(n,e){var t,r,s;if(Array.isArray(n)){if(!Array.isArray(e)||n.length!==e.length)return!1;for(r=0,s=n.length;r<s;r++)if(!Vu(n[r],e[r]))return!1;return!0}else{if(typeof n=="function")return n===e;if(n instanceof Object){if(Array.isArray(e)||!(e instanceof Object))return!1;for(t in n)if(!(t in e)||!Vu(n[t],e[t]))return!1;for(t in e)if(!(t in n))return!1;return!0}else return n===e}}function Bi(n,e){return n&&Object.hasOwnProperty.call(n,e)}function G$(n,e){for(var t={},r=0;r<e.length;r++){var s=e[r],o=n[s];o!==void 0&&(t[s]=o)}return t}var H$=["Matrix","Array"],q$=["number","BigNumber","Fraction"],jn=function(e){if(e)throw new Error(`The global config is readonly.
Please create a mathjs instance if you want to change the default configuration.
Example:
import { create, all } from 'mathjs';
const mathjs = create(all);
mathjs.config({ number: 'BigNumber' });
`);return Object.freeze(ug)};Rh(jn,ug,{MATRIX_OPTIONS:H$,NUMBER_OPTIONS:q$});function $r(n,e){var t=typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(!t){if(Array.isArray(n)||(t=K$(n))||e&&n&&typeof n.length=="number"){t&&(n=t);var r=0,s=function(){};return{s,n:function(){return r>=n.length?{done:!0}:{done:!1,value:n[r++]}},e:function(l){throw l},f:s}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,i=!1,a;return{s:function(){t=t.call(n)},n:function(){var l=t.next();return o=l.done,l},e:function(l){i=!0,a=l},f:function(){try{!o&&t.return!=null&&t.return()}finally{if(i)throw a}}}}function K$(n,e){if(n){if(typeof n=="string")return pg(n,e);var t=Object.prototype.toString.call(n).slice(8,-1);if(t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set")return Array.from(n);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return pg(n,e)}}function pg(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=n[t];return r}function Vo(n){return Vo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Vo(n)}function mg(){return!0}function or(){return!1}function Wo(){}var gg="Argument is not a typed-function.";function xg(){function n(R){return Vo(R)==="object"&&R!==null&&R.constructor===Object}var e=[{name:"number",test:function(P){return typeof P=="number"}},{name:"string",test:function(P){return typeof P=="string"}},{name:"boolean",test:function(P){return typeof P=="boolean"}},{name:"Function",test:function(P){return typeof P=="function"}},{name:"Array",test:Array.isArray},{name:"Date",test:function(P){return P instanceof Date}},{name:"RegExp",test:function(P){return P instanceof RegExp}},{name:"Object",test:n},{name:"null",test:function(P){return P===null}},{name:"undefined",test:function(P){return P===void 0}}],t={name:"any",test:mg,isAny:!0},r,s,o=0,i={createCount:0};function a(R){var P=r.get(R);if(P)return P;var q='Unknown type "'+R+'"',Q=R.toLowerCase(),ie,ue=$r(s),he;try{for(ue.s();!(he=ue.n()).done;)if(ie=he.value,ie.toLowerCase()===Q){q+='. Did you mean "'+ie+'" ?';break}}catch(te){ue.e(te)}finally{ue.f()}throw new TypeError(q)}function u(R){for(var P=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"any",q=P?a(P).index:s.length,Q=[],ie=0;ie<R.length;++ie){if(!R[ie]||typeof R[ie].name!="string"||typeof R[ie].test!="function")throw new TypeError("Object with properties {name: string, test: function} expected");var ue=R[ie].name;if(r.has(ue))throw new TypeError('Duplicate type name "'+ue+'"');Q.push(ue),r.set(ue,{name:ue,test:R[ie].test,isAny:R[ie].isAny,index:q+ie,conversionsTo:[]})}var he=s.slice(q);s=s.slice(0,q).concat(Q).concat(he);for(var te=q+Q.length;te<s.length;++te)r.get(s[te]).index=te}function l(){r=new Map,s=[],o=0,u([t],!1)}l(),u(e);function c(){var R,P=$r(s),q;try{for(P.s();!(q=P.n()).done;)R=q.value,r.get(R).conversionsTo=[]}catch(Q){P.e(Q)}finally{P.f()}o=0}function h(R){var P=s.filter(function(q){var Q=r.get(q);return!Q.isAny&&Q.test(R)});return P.length?P:["any"]}function d(R){return R&&typeof R=="function"&&"_typedFunctionData"in R}function f(R,P,q){if(!d(R))throw new TypeError(gg);var Q=q&&q.exact,ie=Array.isArray(P)?P.join(","):P,ue=y(ie),he=g(ue);if(!Q||he in R.signatures){var te=R._typedFunctionData.signatureMap.get(he);if(te)return te}var le=ue.length,Te;if(Q){Te=[];var Ve;for(Ve in R.signatures)Te.push(R._typedFunctionData.signatureMap.get(Ve))}else Te=R._typedFunctionData.signatures;for(var ge=0;ge<le;++ge){var fn=ue[ge],pn=[],In=void 0,Jt=$r(Te),qn;try{for(Jt.s();!(qn=Jt.n()).done;){In=qn.value;var on=D(In.params,ge);if(!(!on||fn.restParam&&!on.restParam)){if(!on.hasAny){var Cr=function(){var Kn=b(on);if(fn.types.some(function(zo){return!Kn.has(zo.name)}))return"continue"}();if(Cr==="continue")continue}pn.push(In)}}}catch(Kn){Jt.e(Kn)}finally{Jt.f()}if(Te=pn,Te.length===0)break}var Fn,Rn=$r(Te),Po;try{for(Rn.s();!(Po=Rn.n()).done;)if(Fn=Po.value,Fn.params.length<=le)return Fn}catch(Kn){Rn.e(Kn)}finally{Rn.f()}throw new TypeError("Signature not found (signature: "+(R.name||"unnamed")+"("+g(ue,", ")+"))")}function p(R,P,q){return f(R,P,q).implementation}function m(R,P){var q=a(P);if(q.test(R))return R;var Q=q.conversionsTo;if(Q.length===0)throw new Error("There are no conversions to "+P+" defined.");for(var ie=0;ie<Q.length;ie++){var ue=a(Q[ie].from);if(ue.test(R))return Q[ie].convert(R)}throw new Error("Cannot convert "+R+" to "+P)}function g(R){var P=arguments.length>1&&arguments[1]!==void 0?arguments[1]:",";return R.map(function(q){return q.name}).join(P)}function x(R){var P=R.indexOf("...")===0,q=P?R.length>3?R.slice(3):"any":R,Q=q.split("|").map(function(te){return a(te.trim())}),ie=!1,ue=P?"...":"",he=Q.map(function(te){return ie=te.isAny||ie,ue+=te.name+"|",{name:te.name,typeIndex:te.index,test:te.test,isAny:te.isAny,conversion:null,conversionIndex:-1}});return{types:he,name:ue.slice(0,-1),hasAny:ie,hasConversion:!1,restParam:P}}function v(R){var P=R.types.map(function(he){return he.name}),q=U(P),Q=R.hasAny,ie=R.name,ue=q.map(function(he){var te=a(he.from);return Q=te.isAny||Q,ie+="|"+he.from,{name:he.from,typeIndex:te.index,test:te.test,isAny:te.isAny,conversion:he,conversionIndex:he.index}});return{types:R.types.concat(ue),name:ie,hasAny:Q,hasConversion:ue.length>0,restParam:R.restParam}}function b(R){return R.typeSet||(R.typeSet=new Set,R.types.forEach(function(P){return R.typeSet.add(P.name)})),R.typeSet}function y(R){var P=[];if(typeof R!="string")throw new TypeError("Signatures must be strings");var q=R.trim();if(q==="")return P;for(var Q=q.split(","),ie=0;ie<Q.length;++ie){var ue=x(Q[ie].trim());if(ue.restParam&&ie!==Q.length-1)throw new SyntaxError('Unexpected rest parameter "'+Q[ie]+'": only allowed for the last parameter');if(ue.types.length===0)return null;P.push(ue)}return P}function w(R){var P=fe(R);return P?P.restParam:!1}function C(R){if(!R||R.types.length===0)return mg;if(R.types.length===1)return a(R.types[0].name).test;if(R.types.length===2){var P=a(R.types[0].name).test,q=a(R.types[1].name).test;return function(ue){return P(ue)||q(ue)}}else{var Q=R.types.map(function(ie){return a(ie.name).test});return function(ue){for(var he=0;he<Q.length;he++)if(Q[he](ue))return!0;return!1}}}function $(R){var P,q,Q;if(w(R)){P=Ce(R).map(C);var ie=P.length,ue=C(fe(R)),he=function(le){for(var Te=ie;Te<le.length;Te++)if(!ue(le[Te]))return!1;return!0};return function(le){for(var Te=0;Te<P.length;Te++)if(!P[Te](le[Te]))return!1;return he(le)&&le.length>=ie+1}}else return R.length===0?function(le){return le.length===0}:R.length===1?(q=C(R[0]),function(le){return q(le[0])&&le.length===1}):R.length===2?(q=C(R[0]),Q=C(R[1]),function(le){return q(le[0])&&Q(le[1])&&le.length===2}):(P=R.map(C),function(le){for(var Te=0;Te<P.length;Te++)if(!P[Te](le[Te]))return!1;return le.length===P.length})}function D(R,P){return P<R.length?R[P]:w(R)?fe(R):null}function I(R,P){var q=D(R,P);return q?b(q):new Set}function S(R){return R.conversion===null||R.conversion===void 0}function N(R,P){var q=new Set;return R.forEach(function(Q){var ie=I(Q.params,P),ue,he=$r(ie),te;try{for(he.s();!(te=he.n()).done;)ue=te.value,q.add(ue)}catch(le){he.e(le)}finally{he.f()}}),q.has("any")?["any"]:Array.from(q)}function T(R,P,q){var Q,ie,ue=R||"unnamed",he=q,te,le=function(){var Jt=[];if(he.forEach(function(on){var Cr=D(on.params,te),Fn=C(Cr);(te<on.params.length||w(on.params))&&Fn(P[te])&&Jt.push(on)}),Jt.length===0){if(ie=N(he,te),ie.length>0){var qn=h(P[te]);return Q=new TypeError("Unexpected type of argument in function "+ue+" (expected: "+ie.join(" or ")+", actual: "+qn.join(" | ")+", index: "+te+")"),Q.data={category:"wrongType",fn:ue,index:te,actual:qn,expected:ie},{v:Q}}}else he=Jt};for(te=0;te<P.length;te++){var Te=le();if(Vo(Te)==="object")return Te.v}var Ve=he.map(function(In){return w(In.params)?1/0:In.params.length});if(P.length<Math.min.apply(null,Ve))return ie=N(he,te),Q=new TypeError("Too few arguments in function "+ue+" (expected: "+ie.join(" or ")+", index: "+P.length+")"),Q.data={category:"tooFewArgs",fn:ue,index:P.length,expected:ie},Q;var ge=Math.max.apply(null,Ve);if(P.length>ge)return Q=new TypeError("Too many arguments in function "+ue+" (expected: "+ge+", actual: "+P.length+")"),Q.data={category:"tooManyArgs",fn:ue,index:P.length,expectedLength:ge},Q;for(var fn=[],pn=0;pn<P.length;++pn)fn.push(h(P[pn]).join("|"));return Q=new TypeError('Arguments of type "'+fn.join(", ")+'" do not match any of the defined signatures of function '+ue+"."),Q.data={category:"mismatch",actual:fn},Q}function M(R){for(var P=s.length+1,q=0;q<R.types.length;q++)S(R.types[q])&&(P=Math.min(P,R.types[q].typeIndex));return P}function F(R){for(var P=o+1,q=0;q<R.types.length;q++)S(R.types[q])||(P=Math.min(P,R.types[q].conversionIndex));return P}function _(R,P){if(R.hasAny){if(!P.hasAny)return 1}else if(P.hasAny)return-1;if(R.restParam){if(!P.restParam)return 1}else if(P.restParam)return-1;if(R.hasConversion){if(!P.hasConversion)return 1}else if(P.hasConversion)return-1;var q=M(R)-M(P);if(q<0)return-1;if(q>0)return 1;var Q=F(R)-F(P);return Q<0?-1:Q>0?1:0}function A(R,P){var q=R.params,Q=P.params,ie=fe(q),ue=fe(Q),he=w(q),te=w(Q);if(he&&ie.hasAny){if(!te||!ue.hasAny)return 1}else if(te&&ue.hasAny)return-1;var le=0,Te=0,Ve,ge=$r(q),fn;try{for(ge.s();!(fn=ge.n()).done;)Ve=fn.value,Ve.hasAny&&++le,Ve.hasConversion&&++Te}catch(Lu){ge.e(Lu)}finally{ge.f()}var pn=0,In=0,Jt=$r(Q),qn;try{for(Jt.s();!(qn=Jt.n()).done;)Ve=qn.value,Ve.hasAny&&++pn,Ve.hasConversion&&++In}catch(Lu){Jt.e(Lu)}finally{Jt.f()}if(le!==pn)return le-pn;if(he&&ie.hasConversion){if(!te||!ue.hasConversion)return 1}else if(te&&ue.hasConversion)return-1;if(Te!==In)return Te-In;if(he){if(!te)return 1}else if(te)return-1;var on=(q.length-Q.length)*(he?-1:1);if(on!==0)return on;for(var Cr=[],Fn=0,Rn=0;Rn<q.length;++Rn){var Po=_(q[Rn],Q[Rn]);Cr.push(Po),Fn+=Po}if(Fn!==0)return Fn;for(var Kn,zo=0,Ah=Cr;zo<Ah.length;zo++)if(Kn=Ah[zo],Kn!==0)return Kn;return 0}function U(R){if(R.length===0)return[];var P=R.map(a);R.length>1&&P.sort(function(le,Te){return le.index-Te.index});var q=P[0].conversionsTo;if(R.length===1)return q;q=q.concat([]);for(var Q=new Set(R),ie=1;ie<P.length;++ie){var ue=void 0,he=$r(P[ie].conversionsTo),te;try{for(he.s();!(te=he.n()).done;)ue=te.value,Q.has(ue.from)||(q.push(ue),Q.add(ue.from))}catch(le){he.e(le)}finally{he.f()}}return q}function B(R,P){var q=P;if(R.some(function(te){return te.hasConversion})){var Q=w(R),ie=R.map(G);q=function(){for(var le=[],Te=Q?arguments.length-1:arguments.length,Ve=0;Ve<Te;Ve++)le[Ve]=ie[Ve](arguments[Ve]);return Q&&(le[Te]=arguments[Te].map(ie[Te])),P.apply(this,le)}}var ue=q;if(w(R)){var he=R.length-1;ue=function(){return q.apply(this,we(arguments,0,he).concat([we(arguments,he)]))}}return ue}function G(R){var P,q,Q,ie,ue=[],he=[];switch(R.types.forEach(function(te){te.conversion&&(ue.push(a(te.conversion.from).test),he.push(te.conversion.convert))}),he.length){case 0:return function(le){return le};case 1:return P=ue[0],Q=he[0],function(le){return P(le)?Q(le):le};case 2:return P=ue[0],q=ue[1],Q=he[0],ie=he[1],function(le){return P(le)?Q(le):q(le)?ie(le):le};default:return function(le){for(var Te=0;Te<he.length;Te++)if(ue[Te](le))return he[Te](le);return le}}}function X(R){function P(q,Q,ie){if(Q<q.length){var ue=q[Q],he=[];if(ue.restParam){var te=ue.types.filter(S);te.length<ue.types.length&&he.push({types:te,name:"..."+te.map(function(le){return le.name}).join("|"),hasAny:te.some(function(le){return le.isAny}),hasConversion:!1,restParam:!0}),he.push(ue)}else he=ue.types.map(function(le){return{types:[le],name:le.name,hasAny:le.isAny,hasConversion:le.conversion,restParam:!1}});return Oe(he,function(le){return P(q,Q+1,ie.concat([le]))})}else return[ie]}return P(R,0,[])}function Z(R,P){for(var q=Math.max(R.length,P.length),Q=0;Q<q;Q++){var ie=I(R,Q),ue=I(P,Q),he=!1,te=void 0,le=$r(ue),Te;try{for(le.s();!(Te=le.n()).done;)if(te=Te.value,ie.has(te)){he=!0;break}}catch(In){le.e(In)}finally{le.f()}if(!he)return!1}var Ve=R.length,ge=P.length,fn=w(R),pn=w(P);return fn?pn?Ve===ge:ge>=Ve:pn?Ve>=ge:Ve===ge}function ee(R){return R.map(function(P){return Qe(P)?He(P.referToSelf.callback):Xe(P)?We(P.referTo.references,P.referTo.callback):P})}function J(R,P,q){var Q=[],ie,ue=$r(R),he;try{for(ue.s();!(he=ue.n()).done;){ie=he.value;var te=q[ie];if(typeof te!="number")throw new TypeError('No definition for referenced signature "'+ie+'"');if(te=P[te],typeof te!="function")return!1;Q.push(te)}}catch(le){ue.e(le)}finally{ue.f()}return Q}function ae(R,P,q){for(var Q=ee(R),ie=new Array(Q.length).fill(!1),ue=!0;ue;){ue=!1;for(var he=!0,te=0;te<Q.length;++te)if(!ie[te]){var le=Q[te];if(Qe(le))Q[te]=le.referToSelf.callback(q),Q[te].referToSelf=le.referToSelf,ie[te]=!0,he=!1;else if(Xe(le)){var Te=J(le.referTo.references,Q,P);Te?(Q[te]=le.referTo.callback.apply(this,Te),Q[te].referTo=le.referTo,ie[te]=!0,he=!1):ue=!0}}if(he&&ue)throw new SyntaxError("Circular reference detected in resolving typed.referTo")}return Q}function ne(R){var P=/\bthis(\(|\.signatures\b)/;Object.keys(R).forEach(function(q){var Q=R[q];if(P.test(Q.toString()))throw new SyntaxError("Using `this` to self-reference a function is deprecated since typed-function@3. Use typed.referTo and typed.referToSelf instead.")})}function ce(R,P){if(i.createCount++,Object.keys(P).length===0)throw new SyntaxError("No signatures provided");i.warnAgainstDeprecatedThis&&ne(P);var q=[],Q=[],ie={},ue=[],he,te=function(){if(!Object.prototype.hasOwnProperty.call(P,he))return"continue";var mn=y(he);if(!mn)return"continue";q.forEach(function(Mi){if(Z(Mi,mn))throw new TypeError('Conflicting signatures "'+g(Mi)+'" and "'+g(mn)+'".')}),q.push(mn);var a$=Q.length;Q.push(P[he]);var zY=mn.map(v),Th=void 0,Fh=$r(X(zY)),u$;try{for(Fh.s();!(u$=Fh.n()).done;){Th=u$.value;var l$=g(Th);ue.push({params:Th,name:l$,fn:a$}),Th.every(function(Mi){return!Mi.hasConversion})&&(ie[l$]=a$)}}catch(Mi){Fh.e(Mi)}finally{Fh.f()}};for(he in P)var le=te();ue.sort(A);var Te=ae(Q,ie,zu),Ve;for(Ve in ie)Object.prototype.hasOwnProperty.call(ie,Ve)&&(ie[Ve]=Te[ie[Ve]]);for(var ge=[],fn=new Map,pn=0,In=ue;pn<In.length;pn++)Ve=In[pn],fn.has(Ve.name)||(Ve.fn=Te[Ve.fn],ge.push(Ve),fn.set(Ve.name,Ve));for(var Jt=ge[0]&&ge[0].params.length<=2&&!w(ge[0].params),qn=ge[1]&&ge[1].params.length<=2&&!w(ge[1].params),on=ge[2]&&ge[2].params.length<=2&&!w(ge[2].params),Cr=ge[3]&&ge[3].params.length<=2&&!w(ge[3].params),Fn=ge[4]&&ge[4].params.length<=2&&!w(ge[4].params),Rn=ge[5]&&ge[5].params.length<=2&&!w(ge[5].params),Po=Jt&&qn&&on&&Cr&&Fn&&Rn,Kn=0;Kn<ge.length;++Kn)ge[Kn].test=$(ge[Kn].params);for(var zo=Jt?C(ge[0].params[0]):or,Ah=qn?C(ge[1].params[0]):or,Lu=on?C(ge[2].params[0]):or,pY=Cr?C(ge[3].params[0]):or,mY=Fn?C(ge[4].params[0]):or,gY=Rn?C(ge[5].params[0]):or,xY=Jt?C(ge[0].params[1]):or,vY=qn?C(ge[1].params[1]):or,bY=on?C(ge[2].params[1]):or,yY=Cr?C(ge[3].params[1]):or,wY=Fn?C(ge[4].params[1]):or,CY=Rn?C(ge[5].params[1]):or,Pu=0;Pu<ge.length;++Pu)ge[Pu].implementation=B(ge[Pu].params,ge[Pu].fn);var DY=Jt?ge[0].implementation:Wo,$Y=qn?ge[1].implementation:Wo,IY=on?ge[2].implementation:Wo,SY=Cr?ge[3].implementation:Wo,EY=Fn?ge[4].implementation:Wo,NY=Rn?ge[5].implementation:Wo,kY=Jt?ge[0].params.length:-1,AY=qn?ge[1].params.length:-1,TY=on?ge[2].params.length:-1,FY=Cr?ge[3].params.length:-1,RY=Fn?ge[4].params.length:-1,_Y=Rn?ge[5].params.length:-1,MY=Po?6:0,OY=ge.length,BY=ge.map(function(sr){return sr.test}),LY=ge.map(function(sr){return sr.implementation}),PY=function(){for(var mn=MY;mn<OY;mn++)if(BY[mn](arguments))return LY[mn].apply(this,arguments);return i.onMismatch(R,arguments,ge)};function zu(sr,mn){return arguments.length===kY&&zo(sr)&&xY(mn)?DY.apply(this,arguments):arguments.length===AY&&Ah(sr)&&vY(mn)?$Y.apply(this,arguments):arguments.length===TY&&Lu(sr)&&bY(mn)?IY.apply(this,arguments):arguments.length===FY&&pY(sr)&&yY(mn)?SY.apply(this,arguments):arguments.length===RY&&mY(sr)&&wY(mn)?EY.apply(this,arguments):arguments.length===_Y&&gY(sr)&&CY(mn)?NY.apply(this,arguments):PY.apply(this,arguments)}try{Object.defineProperty(zu,"name",{value:R})}catch{}return zu.signatures=ie,zu._typedFunctionData={signatures:ge,signatureMap:fn},zu}function de(R,P,q){throw T(R,P,q)}function Ce(R){return we(R,0,R.length-1)}function fe(R){return R[R.length-1]}function we(R,P,q){return Array.prototype.slice.call(R,P,q)}function Fe(R,P){for(var q=0;q<R.length;q++)if(P(R[q]))return R[q]}function Oe(R,P){return Array.prototype.concat.apply([],R.map(P))}function Ae(){var R=Ce(arguments).map(function(q){return g(y(q))}),P=fe(arguments);if(typeof P!="function")throw new TypeError("Callback function expected as last argument");return We(R,P)}function We(R,P){return{referTo:{references:R,callback:P}}}function He(R){if(typeof R!="function")throw new TypeError("Callback function expected as first argument");return{referToSelf:{callback:R}}}function Xe(R){return R&&Vo(R.referTo)==="object"&&Array.isArray(R.referTo.references)&&typeof R.referTo.callback=="function"}function Qe(R){return R&&Vo(R.referToSelf)==="object"&&typeof R.referToSelf.callback=="function"}function st(R,P){if(!R)return P;if(P&&P!==R){var q=new Error("Function names do not match (expected: "+R+", actual: "+P+")");throw q.data={actual:P,expected:R},q}return R}function Dn(R){var P;for(var q in R)Object.prototype.hasOwnProperty.call(R,q)&&(d(R[q])||typeof R[q].signature=="string")&&(P=st(P,R[q].name));return P}function _t(R,P){var q;for(q in P)if(Object.prototype.hasOwnProperty.call(P,q)){if(q in R&&P[q]!==R[q]){var Q=new Error('Signature "'+q+'" is defined twice');throw Q.data={signature:q,sourceFunction:P[q],destFunction:R[q]},Q}R[q]=P[q]}}var ns=i;i=function(P){for(var q=typeof P=="string",Q=q?1:0,ie=q?P:"",ue={},he=Q;he<arguments.length;++he){var te=arguments[he],le={},Te=void 0;if(typeof te=="function"?(Te=te.name,typeof te.signature=="string"?le[te.signature]=te:d(te)&&(le=te.signatures)):n(te)&&(le=te,q||(Te=Dn(te))),Object.keys(le).length===0){var Ve=new TypeError("Argument to 'typed' at index "+he+" is not a (typed) function, nor an object with signatures as keys and functions as values.");throw Ve.data={index:he,argument:te},Ve}q||(ie=st(ie,Te)),_t(ue,le)}return ce(ie||"",ue)},i.create=xg,i.createCount=ns.createCount,i.onMismatch=de,i.throwMismatchError=de,i.createError=T,i.clear=l,i.clearConversions=c,i.addTypes=u,i._findType=a,i.referTo=Ae,i.referToSelf=He,i.convert=m,i.findSignature=f,i.find=p,i.isTypedFunction=d,i.warnAgainstDeprecatedThis=!0,i.addType=function(R,P){var q="any";P!==!1&&r.has("Object")&&(q="Object"),i.addTypes([R],q)};function $n(R){if(!R||typeof R.from!="string"||typeof R.to!="string"||typeof R.convert!="function")throw new TypeError("Object with properties {from: string, to: string, convert: function} expected");if(R.to===R.from)throw new SyntaxError('Illegal to define conversion from "'+R.from+'" to itself.')}return i.addConversion=function(R){$n(R);var P=a(R.to);if(P.conversionsTo.every(function(q){return q.from!==R.from}))P.conversionsTo.push({from:R.from,convert:R.convert,index:o++});else throw new Error('There is already a conversion from "'+R.from+'" to "'+P.name+'"')},i.addConversions=function(R){R.forEach(i.addConversion)},i.removeConversion=function(R){$n(R);var P=a(R.to),q=Fe(P.conversionsTo,function(ie){return ie.from===R.from});if(!q)throw new Error("Attempt to remove nonexistent conversion from "+R.from+" to "+R.to);if(q.convert!==R.convert)throw new Error("Conversion to remove does not match existing conversion");var Q=P.conversionsTo.indexOf(q);P.conversionsTo.splice(Q,1)},i.resolve=function(R,P){if(!d(R))throw new TypeError(gg);for(var q=R._typedFunctionData.signatures,Q=0;Q<q.length;++Q)if(q[Q].test(P))return q[Q];return null},i}const vg=xg();function Dt(n){return typeof n=="boolean"?!0:isFinite(n)?n===Math.round(n):!1}function Mh(n,e,t){var r={2:"0b",8:"0o",16:"0x"},s=r[e],o="";if(t){if(t<1)throw new Error("size must be in greater than 0");if(!Dt(t))throw new Error("size must be an integer");if(n>2**(t-1)-1||n<-(2**(t-1)))throw new Error("Value must be in range [-2^".concat(t-1,", 2^").concat(t-1,"-1]"));if(!Dt(n))throw new Error("Value must be an integer");n<0&&(n=n+2**t),o="i".concat(t)}var i="";return n<0&&(n=-n,i="-"),"".concat(i).concat(s).concat(n.toString(e)).concat(o)}function Oh(n,e){if(typeof e=="function")return e(n);if(n===1/0)return"Infinity";if(n===-1/0)return"-Infinity";if(isNaN(n))return"NaN";var t="auto",r,s;if(e&&(e.notation&&(t=e.notation),Nt(e)?r=e:Nt(e.precision)&&(r=e.precision),e.wordSize&&(s=e.wordSize,typeof s!="number")))throw new Error('Option "wordSize" must be a number');switch(t){case"fixed":return j$(n,r);case"exponential":return bg(n,r);case"engineering":return X$(n,r);case"bin":return Mh(n,2,s);case"oct":return Mh(n,8,s);case"hex":return Mh(n,16,s);case"auto":return Y$(n,r,e&&e).replace(/((\.\d*?)(0+))($|e)/,function(){var o=arguments[2],i=arguments[4];return o!=="."?o+i:i});default:throw new Error('Unknown notation "'+t+'". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.')}}function Wu(n){var e=String(n).toLowerCase().match(/^(-?)(\d+\.?\d*)(e([+-]?\d+))?$/);if(!e)throw new SyntaxError("Invalid number "+n);var t=e[1],r=e[2],s=parseFloat(e[4]||"0"),o=r.indexOf(".");s+=o!==-1?o-1:r.length-1;var i=r.replace(".","").replace(/^0*/,function(a){return s-=a.length,""}).replace(/0*$/,"").split("").map(function(a){return parseInt(a)});return i.length===0&&(i.push(0),s++),{sign:t,coefficients:i,exponent:s}}function X$(n,e){if(isNaN(n)||!isFinite(n))return String(n);var t=Wu(n),r=Uu(t,e),s=r.exponent,o=r.coefficients,i=s%3===0?s:s<0?s-3-s%3:s-s%3;if(Nt(e))for(;e>o.length||s-i+1>o.length;)o.push(0);else for(var a=Math.abs(s-i)-(o.length-1),u=0;u<a;u++)o.push(0);for(var l=Math.abs(s-i),c=1;l>0;)c++,l--;var h=o.slice(c).join(""),d=Nt(e)&&h.length||h.match(/[1-9]/)?"."+h:"",f=o.slice(0,c).join("")+d+"e"+(s>=0?"+":"")+i.toString();return r.sign+f}function j$(n,e){if(isNaN(n)||!isFinite(n))return String(n);var t=Wu(n),r=typeof e=="number"?Uu(t,t.exponent+1+e):t,s=r.coefficients,o=r.exponent+1,i=o+(e||0);return s.length<i&&(s=s.concat(Uo(i-s.length))),o<0&&(s=Uo(-o+1).concat(s),o=1),o<s.length&&s.splice(o,0,o===0?"0.":"."),r.sign+s.join("")}function bg(n,e){if(isNaN(n)||!isFinite(n))return String(n);var t=Wu(n),r=e?Uu(t,e):t,s=r.coefficients,o=r.exponent;s.length<e&&(s=s.concat(Uo(e-s.length)));var i=s.shift();return r.sign+i+(s.length>0?"."+s.join(""):"")+"e"+(o>=0?"+":"")+o}function Y$(n,e,t){if(isNaN(n)||!isFinite(n))return String(n);var r=t&&t.lowerExp!==void 0?t.lowerExp:-3,s=t&&t.upperExp!==void 0?t.upperExp:5,o=Wu(n),i=e?Uu(o,e):o;if(i.exponent<r||i.exponent>=s)return bg(n,e);var a=i.coefficients,u=i.exponent;a.length<e&&(a=a.concat(Uo(e-a.length))),a=a.concat(Uo(u-a.length+1+(a.length<e?e-a.length:0))),a=Uo(-u).concat(a);var l=u>0?u:0;return l<a.length-1&&a.splice(l+1,0,"."),i.sign+a.join("")}function Uu(n,e){for(var t={sign:n.sign,coefficients:n.coefficients,exponent:n.exponent},r=t.coefficients;e<=0;)r.unshift(0),t.exponent++,e++;if(r.length>e){var s=r.splice(e,r.length-e);if(s[0]>=5){var o=e-1;for(r[o]++;r[o]===10;)r.pop(),o===0&&(r.unshift(0),t.exponent++,o++),o--,r[o]++}}return t}function Uo(n){for(var e=[],t=0;t<n;t++)e.push(0);return e}function Z$(n){return n.toExponential().replace(/e.*$/,"").replace(/^0\.?0*|\./,"").length}var J$=Number.EPSILON||2220446049250313e-31;function bs(n,e,t){if(t==null)return n===e;if(n===e)return!0;if(isNaN(n)||isNaN(e))return!1;if(isFinite(n)&&isFinite(e)){var r=Math.abs(n-e);return r<J$?!0:r<=Math.max(Math.abs(n),Math.abs(e))*t}return!1}function Bh(n,e,t){var r=n.constructor,s=new r(2),o="";if(t){if(t<1)throw new Error("size must be in greater than 0");if(!Dt(t))throw new Error("size must be an integer");if(n.greaterThan(s.pow(t-1).sub(1))||n.lessThan(s.pow(t-1).mul(-1)))throw new Error("Value must be in range [-2^".concat(t-1,", 2^").concat(t-1,"-1]"));if(!n.isInteger())throw new Error("Value must be an integer");n.lessThan(0)&&(n=n.add(s.pow(t))),o="i".concat(t)}switch(e){case 2:return"".concat(n.toBinary()).concat(o);case 8:return"".concat(n.toOctal()).concat(o);case 16:return"".concat(n.toHexadecimal()).concat(o);default:throw new Error("Base ".concat(e," not supported "))}}function Q$(n,e){if(typeof e=="function")return e(n);if(!n.isFinite())return n.isNaN()?"NaN":n.gt(0)?"Infinity":"-Infinity";var t="auto",r,s;if(e!==void 0&&(e.notation&&(t=e.notation),typeof e=="number"?r=e:e.precision&&(r=e.precision),e.wordSize&&(s=e.wordSize,typeof s!="number")))throw new Error('Option "wordSize" must be a number');switch(t){case"fixed":return t2(n,r);case"exponential":return yg(n,r);case"engineering":return e2(n,r);case"bin":return Bh(n,2,s);case"oct":return Bh(n,8,s);case"hex":return Bh(n,16,s);case"auto":{var o=e&&e.lowerExp!==void 0?e.lowerExp:-3,i=e&&e.upperExp!==void 0?e.upperExp:5;if(n.isZero())return"0";var a,u=n.toSignificantDigits(r),l=u.e;return l>=o&&l<i?a=u.toFixed():a=yg(n,r),a.replace(/((\.\d*?)(0+))($|e)/,function(){var c=arguments[2],h=arguments[4];return c!=="."?c+h:h})}default:throw new Error('Unknown notation "'+t+'". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.')}}function e2(n,e){var t=n.e,r=t%3===0?t:t<0?t-3-t%3:t-t%3,s=n.mul(Math.pow(10,-r)),o=s.toPrecision(e);return o.indexOf("e")!==-1&&(o=s.toString()),o+"e"+(t>=0?"+":"")+r.toString()}function yg(n,e){return e!==void 0?n.toExponential(e-1):n.toExponential()}function t2(n,e){return n.toFixed(e)}function Et(n,e){var t=n2(n,e);return e&&typeof e=="object"&&"truncate"in e&&t.length>e.truncate?t.substring(0,e.truncate-3)+"...":t}function n2(n,e){if(typeof n=="number")return Oh(n,e);if(Ut(n))return Q$(n,e);if(r2(n))return!e||e.fraction!=="decimal"?n.s*n.n+"/"+n.d:n.toString();if(Array.isArray(n))return wg(n,e);if(Dr(n))return'"'+n+'"';if(typeof n=="function")return n.syntax?String(n.syntax):"function";if(n&&typeof n=="object"){if(typeof n.format=="function")return n.format(e);if(n&&n.toString(e)!=={}.toString())return n.toString(e);var t=Object.keys(n).map(r=>'"'+r+'": '+Et(n[r],e));return"{"+t.join(", ")+"}"}return String(n)}function wg(n,e){if(Array.isArray(n)){for(var t="[",r=n.length,s=0;s<r;s++)s!==0&&(t+=", "),t+=wg(n[s],e);return t+="]",t}else return Et(n,e)}function r2(n){return n&&typeof n=="object"&&typeof n.s=="number"&&typeof n.n=="number"&&typeof n.d=="number"||!1}function ot(n,e,t){if(!(this instanceof ot))throw new SyntaxError("Constructor must be called with the new operator");this.actual=n,this.expected=e,this.relation=t,this.message="Dimension mismatch ("+(Array.isArray(n)?"["+n.join(", ")+"]":n)+" "+(this.relation||"!=")+" "+(Array.isArray(e)?"["+e.join(", ")+"]":e)+")",this.stack=new Error().stack}ot.prototype=new RangeError,ot.prototype.constructor=RangeError,ot.prototype.name="DimensionError",ot.prototype.isDimensionError=!0;function Zs(n,e,t){if(!(this instanceof Zs))throw new SyntaxError("Constructor must be called with the new operator");this.index=n,arguments.length<3?(this.min=0,this.max=e):(this.min=e,this.max=t),this.min!==void 0&&this.index<this.min?this.message="Index out of range ("+this.index+" < "+this.min+")":this.max!==void 0&&this.index>=this.max?this.message="Index out of range ("+this.index+" > "+(this.max-1)+")":this.message="Index out of range ("+this.index+")",this.stack=new Error().stack}Zs.prototype=new RangeError,Zs.prototype.constructor=RangeError,Zs.prototype.name="IndexError",Zs.prototype.isIndexError=!0;function Qt(n){for(var e=[];Array.isArray(n);)e.push(n.length),n=n[0];return e}function Cg(n,e,t){var r,s=n.length;if(s!==e[t])throw new ot(s,e[t]);if(t<e.length-1){var o=t+1;for(r=0;r<s;r++){var i=n[r];if(!Array.isArray(i))throw new ot(e.length-1,e.length,"<");Cg(n[r],e,o)}}else for(r=0;r<s;r++)if(Array.isArray(n[r]))throw new ot(e.length+1,e.length,">")}function Dg(n,e){var t=e.length===0;if(t){if(Array.isArray(n))throw new ot(n.length,0)}else Cg(n,e,0)}function yt(n,e){if(!Nt(n)||!Dt(n))throw new TypeError("Index must be an integer (value: "+n+")");if(n<0||typeof e=="number"&&n>=e)throw new Zs(n,e)}function Li(n,e,t){if(!Array.isArray(n)||!Array.isArray(e))throw new TypeError("Array expected");if(e.length===0)throw new Error("Resizing to scalar is not supported");e.forEach(function(s){if(!Nt(s)||!Dt(s)||s<0)throw new TypeError("Invalid size, must contain positive integers (size: "+Et(e)+")")});var r=t!==void 0?t:0;return Lh(n,e,0,r),n}function Lh(n,e,t,r){var s,o,i=n.length,a=e[t],u=Math.min(i,a);if(n.length=a,t<e.length-1){var l=t+1;for(s=0;s<u;s++)o=n[s],Array.isArray(o)||(o=[o],n[s]=o),Lh(o,e,l,r);for(s=u;s<a;s++)o=[],n[s]=o,Lh(o,e,l,r)}else{for(s=0;s<u;s++)for(;Array.isArray(n[s]);)n[s]=n[s][0];for(s=u;s<a;s++)n[s]=r}}function $g(n,e){var t=zh(n),r=t.length;if(!Array.isArray(n)||!Array.isArray(e))throw new TypeError("Array expected");if(e.length===0)throw new ot(0,r,"!=");e=Ph(e,r);var s=Ig(e);if(r!==s)throw new ot(s,r,"!=");try{return s2(t,e)}catch(o){throw o instanceof ot?new ot(s,r,"!="):o}}function Ph(n,e){var t=Ig(n),r=n.slice(),s=-1,o=n.indexOf(s),i=n.indexOf(s,o+1)>=0;if(i)throw new Error("More than one wildcard in sizes");var a=o>=0,u=e%t===0;if(a)if(u)r[o]=-e/t;else throw new Error("Could not replace wildcard, since "+e+" is no multiple of "+-t);return r}function Ig(n){return n.reduce((e,t)=>e*t,1)}function s2(n,e){for(var t=n,r,s=e.length-1;s>0;s--){var o=e[s];r=[];for(var i=t.length/o,a=0;a<i;a++)r.push(t.slice(a*o,(a+1)*o));t=r}return t}function Sg(n,e){for(var t=e||Qt(n);Array.isArray(n)&&n.length===1;)n=n[0],t.shift();for(var r=t.length;t[r-1]===1;)r--;return r<t.length&&(n=Eg(n,r,0),t.length=r),n}function Eg(n,e,t){var r,s;if(t<e){var o=t+1;for(r=0,s=n.length;r<s;r++)n[r]=Eg(n[r],e,o)}else for(;Array.isArray(n);)n=n[0];return n}function Ng(n,e,t,r){var s=r||Qt(n);if(t)for(var o=0;o<t;o++)n=[n],s.unshift(1);for(n=kg(n,e,0);s.length<e;)s.push(1);return n}function kg(n,e,t){var r,s;if(Array.isArray(n)){var o=t+1;for(r=0,s=n.length;r<s;r++)n[r]=kg(n[r],e,o)}else for(var i=t;i<e;i++)n=[n];return n}function zh(n){if(!Array.isArray(n))return n;var e=[];return n.forEach(function t(r){Array.isArray(r)?r.forEach(t):e.push(r)}),e}function Gu(n,e){for(var t,r=0,s=0;s<n.length;s++){var o=n[s],i=Array.isArray(o);if(s===0&&i&&(r=o.length),i&&o.length!==r)return;var a=i?Gu(o,e):e(o);if(t===void 0)t=a;else if(t!==a)return"mixed"}return t}function be(n,e,t,r){function s(o){var i=G$(o,e.map(a2));return o2(n,e,o),t(i)}return s.isFactory=!0,s.fn=n,s.dependencies=e.slice().sort(),r&&(s.meta=r),s}function o2(n,e,t){var r=e.filter(o=>!i2(o)).every(o=>t[o]!==void 0);if(!r){var s=e.filter(o=>t[o]===void 0);throw new Error('Cannot create function "'.concat(n,'", ')+"some dependencies are missing: ".concat(s.map(o=>'"'.concat(o,'"')).join(", "),"."))}}function i2(n){return n&&n[0]==="?"}function a2(n){return n&&n[0]==="?"?n.slice(1):n}function u2(n,e){if(Tg(n)&&Ag(n,e))return n[e];throw typeof n[e]=="function"&&h2(n,e)?new Error('Cannot access method "'+e+'" as a property'):new Error('No access to property "'+e+'"')}function l2(n,e,t){if(Tg(n)&&Ag(n,e))return n[e]=t,t;throw new Error('No access to property "'+e+'"')}function c2(n,e){return e in n}function Ag(n,e){return!n||typeof n!="object"?!1:Bi(d2,e)?!0:!(e in Object.prototype||e in Function.prototype)}function h2(n,e){return n==null||typeof n[e]!="function"||Bi(n,e)&&Object.getPrototypeOf&&e in Object.getPrototypeOf(n)?!1:Bi(f2,e)?!0:!(e in Object.prototype||e in Function.prototype)}function Tg(n){return typeof n=="object"&&n&&n.constructor===Object}var d2={length:!0,name:!0},f2={toString:!0,valueOf:!0,toLocaleString:!0};class p2{constructor(e){this.wrappedObject=e}keys(){return Object.keys(this.wrappedObject)}get(e){return u2(this.wrappedObject,e)}set(e,t){return l2(this.wrappedObject,e,t),this}has(e){return c2(this.wrappedObject,e)}}function m2(n){return n?n instanceof Map||n instanceof p2||typeof n.set=="function"&&typeof n.get=="function"&&typeof n.keys=="function"&&typeof n.has=="function":!1}var Fg=function(){return Fg=vg.create,vg},g2=["?BigNumber","?Complex","?DenseMatrix","?Fraction"],x2=be("typed",g2,function(e){var{BigNumber:t,Complex:r,DenseMatrix:s,Fraction:o}=e,i=Fg();return i.clear(),i.addTypes([{name:"number",test:Nt},{name:"Complex",test:lg},{name:"BigNumber",test:Ut},{name:"Fraction",test:cg},{name:"Unit",test:hg},{name:"identifier",test:a=>Dr&&/^(?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])(?:[0-9A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u